create-zudoku 0.0.0-e0ffac16 → 0.0.0-e2ebdf10

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 (31) hide show
  1. package/dist/index.js +1 -1
  2. package/package.json +1 -1
  3. package/dist/templates/default/js/README-template.md +0 -25
  4. package/dist/templates/default/js/apis/openapi.yaml +0 -806
  5. package/dist/templates/default/js/eslintrc.json +0 -4
  6. package/dist/templates/default/js/gitignore +0 -32
  7. package/dist/templates/default/js/pages/example.mdx +0 -9
  8. package/dist/templates/default/js/pages/introduction.mdx +0 -17
  9. package/dist/templates/default/js/public/logo-dark.svg +0 -1
  10. package/dist/templates/default/js/public/logo-light.svg +0 -1
  11. package/dist/templates/default/js/zudoku.config.jsx +0 -65
  12. package/dist/templates/default/ts/README-template.md +0 -25
  13. package/dist/templates/default/ts/apis/openapi.yaml +0 -806
  14. package/dist/templates/default/ts/eslintrc.json +0 -6
  15. package/dist/templates/default/ts/gitignore +0 -32
  16. package/dist/templates/default/ts/pages/example.mdx +0 -9
  17. package/dist/templates/default/ts/pages/introduction.mdx +0 -17
  18. package/dist/templates/default/ts/public/banner-dark.svg +0 -100
  19. package/dist/templates/default/ts/public/banner.svg +0 -100
  20. package/dist/templates/default/ts/public/logo-dark.svg +0 -1
  21. package/dist/templates/default/ts/public/logo-light.svg +0 -1
  22. package/dist/templates/default/ts/tsconfig.json +0 -16
  23. package/dist/templates/default/ts/zudoku.config.tsx +0 -66
  24. package/dist/templates/zuplo/README-template.md +0 -7
  25. package/dist/templates/zuplo/gitignore +0 -32
  26. package/dist/templates/zuplo/pages/introduction.mdx +0 -157
  27. package/dist/templates/zuplo/pages/markdown.mdx +0 -109
  28. package/dist/templates/zuplo/public/banner-dark.svg +0 -100
  29. package/dist/templates/zuplo/public/banner.svg +0 -100
  30. package/dist/templates/zuplo/tsconfig.json +0 -16
  31. package/dist/templates/zuplo/zudoku.config.tsx +0 -93
package/dist/index.js CHANGED
@@ -69,4 +69,4 @@ var o=i(181);var a=o.Buffer;function copyProps(t,r){for(var i in t){r[i]=t[i]}}i
69
69
  *
70
70
  * Copyright (c) 2015-present, Jon Schlinkert.
71
71
  * Released under the MIT License.
72
- */const o=i(9933);const toRegexRange=(t,r,i)=>{if(o(t)===false){throw new TypeError("toRegexRange: expected the first argument to be a number")}if(r===void 0||t===r){return String(t)}if(o(r)===false){throw new TypeError("toRegexRange: expected the second argument to be a number.")}let a={relaxZeros:true,...i};if(typeof a.strictZeros==="boolean"){a.relaxZeros=a.strictZeros===false}let c=String(a.relaxZeros);let l=String(a.shorthand);let u=String(a.capture);let h=String(a.wrap);let d=t+":"+r+"="+c+l+u+h;if(toRegexRange.cache.hasOwnProperty(d)){return toRegexRange.cache[d].result}let p=Math.min(t,r);let m=Math.max(t,r);if(Math.abs(p-m)===1){let i=t+"|"+r;if(a.capture){return`(${i})`}if(a.wrap===false){return i}return`(?:${i})`}let g=hasPadding(t)||hasPadding(r);let y={min:t,max:r,a:p,b:m};let v=[];let b=[];if(g){y.isPadded=g;y.maxLen=String(y.max).length}if(p<0){let t=m<0?Math.abs(m):1;b=splitToPatterns(t,Math.abs(p),y,a);p=y.a=0}if(m>=0){v=splitToPatterns(p,m,y,a)}y.negatives=b;y.positives=v;y.result=collatePatterns(b,v,a);if(a.capture===true){y.result=`(${y.result})`}else if(a.wrap!==false&&v.length+b.length>1){y.result=`(?:${y.result})`}toRegexRange.cache[d]=y;return y.result};function collatePatterns(t,r,i){let o=filterPatterns(t,r,"-",false,i)||[];let a=filterPatterns(r,t,"",false,i)||[];let c=filterPatterns(t,r,"-?",true,i)||[];let l=o.concat(c).concat(a);return l.join("|")}function splitToRanges(t,r){let i=1;let o=1;let a=countNines(t,i);let c=new Set([r]);while(t<=a&&a<=r){c.add(a);i+=1;a=countNines(t,i)}a=countZeros(r+1,o)-1;while(t<a&&a<=r){c.add(a);o+=1;a=countZeros(r+1,o)-1}c=[...c];c.sort(compare);return c}function rangeToPattern(t,r,i){if(t===r){return{pattern:t,count:[],digits:0}}let o=zip(t,r);let a=o.length;let c="";let l=0;for(let t=0;t<a;t++){let[r,a]=o[t];if(r===a){c+=r}else if(r!=="0"||a!=="9"){c+=toCharacterClass(r,a,i)}else{l++}}if(l){c+=i.shorthand===true?"\\d":"[0-9]"}return{pattern:c,count:[l],digits:a}}function splitToPatterns(t,r,i,o){let a=splitToRanges(t,r);let c=[];let l=t;let u;for(let t=0;t<a.length;t++){let r=a[t];let h=rangeToPattern(String(l),String(r),o);let d="";if(!i.isPadded&&u&&u.pattern===h.pattern){if(u.count.length>1){u.count.pop()}u.count.push(h.count[0]);u.string=u.pattern+toQuantifier(u.count);l=r+1;continue}if(i.isPadded){d=padZeros(r,i,o)}h.string=d+h.pattern+toQuantifier(h.count);c.push(h);l=r+1;u=h}return c}function filterPatterns(t,r,i,o,a){let c=[];for(let a of t){let{string:t}=a;if(!o&&!contains(r,"string",t)){c.push(i+t)}if(o&&contains(r,"string",t)){c.push(i+t)}}return c}function zip(t,r){let i=[];for(let o=0;o<t.length;o++)i.push([t[o],r[o]]);return i}function compare(t,r){return t>r?1:r>t?-1:0}function contains(t,r,i){return t.some((t=>t[r]===i))}function countNines(t,r){return Number(String(t).slice(0,-r)+"9".repeat(r))}function countZeros(t,r){return t-t%Math.pow(10,r)}function toQuantifier(t){let[r=0,i=""]=t;if(i||r>1){return`{${r+(i?","+i:"")}}`}return""}function toCharacterClass(t,r,i){return`[${t}${r-t===1?"":"-"}${r}]`}function hasPadding(t){return/^-?(0+)\d/.test(t)}function padZeros(t,r,i){if(!r.isPadded){return t}let o=Math.abs(r.maxLen-String(t).length);let a=i.relaxZeros!==false;switch(o){case 0:return"";case 1:return a?"0?":"0";case 2:return a?"0{0,2}":"00";default:{return a?`0{0,${o}}`:`0{${o}}`}}}toRegexRange.cache={};toRegexRange.clearCache=()=>toRegexRange.cache={};t.exports=toRegexRange},8226:(t,r,i)=>{const{URL:o}=i(7016);const{join:a}=i(6928);const c=i(9896);const{promisify:l}=i(9023);const{tmpdir:u}=i(857);const h=i(5984);const d=l(c.writeFile);const p=l(c.mkdir);const m=l(c.readFile);const compareVersions=(t,r)=>t.localeCompare(r,"en-US",{numeric:true});const encode=t=>encodeURIComponent(t).replace(/^%40/,"@");const getFile=async(t,r)=>{const i=u();const o=a(i,"update-check");if(!c.existsSync(o)){await p(o)}let l=`${t.name}-${r}.json`;if(t.scope){l=`${t.scope}-${l}`}return a(o,l)};const evaluateCache=async(t,r,i)=>{if(c.existsSync(t)){const o=await m(t,"utf8");const{lastUpdate:a,latest:c}=JSON.parse(o);const l=a+i;if(l>r){return{shouldCheck:false,latest:c}}}return{shouldCheck:true,latest:null}};const updateCache=async(t,r,i)=>{const o=JSON.stringify({latest:r,lastUpdate:i});await d(t,o,"utf8")};const loadPackage=(t,r)=>new Promise(((o,a)=>{const c={host:t.hostname,path:t.pathname,port:t.port,headers:{accept:"application/vnd.npm.install-v1+json; q=1.0, application/json; q=0.8, */*"},timeout:2e3};if(r){c.headers.authorization=`${r.type} ${r.token}`}const{get:l}=i(t.protocol==="https:"?5692:8611);l(c,(t=>{const{statusCode:r}=t;if(r!==200){const i=new Error(`Request failed with code ${r}`);i.code=r;a(i);t.resume();return}let i="";t.setEncoding("utf8");t.on("data",(t=>{i+=t}));t.on("end",(()=>{try{const t=JSON.parse(i);o(t)}catch(t){a(t)}}))})).on("error",a).on("timeout",a)}));const getMostRecent=async({full:t,scope:r},a)=>{const c=h(r);const l=new o(t,c);let u=null;try{u=await loadPackage(l)}catch(t){if(t.code&&String(t.code).startsWith(4)){const t=i(780);const r=t(c,{recursive:true});u=await loadPackage(l,r)}else{throw t}}const d=u["dist-tags"][a];if(!d){throw new Error(`Distribution tag ${a} is not available`)}return d};const g={interval:36e5,distTag:"latest"};const getDetails=t=>{const r={full:encode(t)};if(t.includes("/")){const i=t.split("/");r.scope=i[0];r.name=i[1]}else{r.scope=null;r.name=t}return r};t.exports=async(t,r)=>{if(typeof t!=="object"){throw new Error("The first parameter should be your package.json file content")}const i=getDetails(t.name);const o=Date.now();const{distTag:a,interval:c}=Object.assign({},g,r);const l=await getFile(i,a);let u=null;let h=true;({shouldCheck:h,latest:u}=await evaluateCache(l,o,c));if(h){u=await getMostRecent(i,a);await updateCache(l,u,o)}const d=compareVersions(t.version,u);if(d===-1){return{latest:u,fromCache:!h}}return null}},6831:(t,r,i)=>{"use strict";const{builtinModules:o}=i(3339);var a=new RegExp("^(?:@([^/]+?)[/])?([^/]+?)$");var c=["node_modules","favicon.ico"];function validate(t){var r=[];var i=[];if(t===null){i.push("name cannot be null");return done(r,i)}if(t===undefined){i.push("name cannot be undefined");return done(r,i)}if(typeof t!=="string"){i.push("name must be a string");return done(r,i)}if(!t.length){i.push("name length must be greater than zero")}if(t.startsWith(".")){i.push("name cannot start with a period")}if(t.match(/^_/)){i.push("name cannot start with an underscore")}if(t.trim()!==t){i.push("name cannot contain leading or trailing spaces")}c.forEach((function(r){if(t.toLowerCase()===r){i.push(r+" is a blacklisted name")}}));if(o.includes(t.toLowerCase())){r.push(t+" is a core module name")}if(t.length>214){r.push("name can no longer contain more than 214 characters")}if(t.toLowerCase()!==t){r.push("name can no longer contain capital letters")}if(/[~'!()*]/.test(t.split("/").slice(-1)[0])){r.push('name can no longer contain special characters ("~\'!()*")')}if(encodeURIComponent(t)!==t){var l=t.match(a);if(l){var u=l[1];var h=l[2];if(h.startsWith(".")){i.push("name cannot start with a period")}if(encodeURIComponent(u)===u&&encodeURIComponent(h)===h){return done(r,i)}}i.push("name can only contain URL-friendly characters")}return done(r,i)}var done=function(t,r){var i={validForNewPackages:r.length===0&&t.length===0,validForOldPackages:r.length===0,warnings:t,errors:r};if(!i.warnings.length){delete i.warnings}if(!i.errors.length){delete i.errors}return i};t.exports=validate},3393:(t,r,i)=>{const o=process.platform==="win32"||process.env.OSTYPE==="cygwin"||process.env.OSTYPE==="msys";const a=i(6928);const c=o?";":":";const l=i(3280);const getNotFoundError=t=>Object.assign(new Error(`not found: ${t}`),{code:"ENOENT"});const getPathInfo=(t,r)=>{const i=r.colon||c;const a=t.match(/\//)||o&&t.match(/\\/)?[""]:[...o?[process.cwd()]:[],...(r.path||process.env.PATH||"").split(i)];const l=o?r.pathExt||process.env.PATHEXT||".EXE;.CMD;.BAT;.COM":"";const u=o?l.split(i):[""];if(o){if(t.indexOf(".")!==-1&&u[0]!=="")u.unshift("")}return{pathEnv:a,pathExt:u,pathExtExe:l}};const which=(t,r,i)=>{if(typeof r==="function"){i=r;r={}}if(!r)r={};const{pathEnv:o,pathExt:c,pathExtExe:u}=getPathInfo(t,r);const h=[];const step=i=>new Promise(((c,l)=>{if(i===o.length)return r.all&&h.length?c(h):l(getNotFoundError(t));const u=o[i];const d=/^".*"$/.test(u)?u.slice(1,-1):u;const p=a.join(d,t);const m=!d&&/^\.[\\\/]/.test(t)?t.slice(0,2)+p:p;c(subStep(m,i,0))}));const subStep=(t,i,o)=>new Promise(((a,d)=>{if(o===c.length)return a(step(i+1));const p=c[o];l(t+p,{pathExt:u},((c,l)=>{if(!c&&l){if(r.all)h.push(t+p);else return a(t+p)}return a(subStep(t,i,o+1))}))}));return i?step(0).then((t=>i(null,t)),i):step(0)};const whichSync=(t,r)=>{r=r||{};const{pathEnv:i,pathExt:o,pathExtExe:c}=getPathInfo(t,r);const u=[];for(let h=0;h<i.length;h++){const d=i[h];const p=/^".*"$/.test(d)?d.slice(1,-1):d;const m=a.join(p,t);const g=!p&&/^\.[\\\/]/.test(t)?t.slice(0,2)+m:m;for(let t=0;t<o.length;t++){const i=g+o[t];try{const t=l.sync(i,{pathExt:c});if(t){if(r.all)u.push(i);else return i}}catch(t){}}}if(r.all&&u.length)return u;if(r.nothrow)return null;throw getNotFoundError(t)};t.exports=which;which.sync=whichSync},181:t=>{"use strict";t.exports=require("buffer")},5317:t=>{"use strict";t.exports=require("child_process")},4434:t=>{"use strict";t.exports=require("events")},9896:t=>{"use strict";t.exports=require("fs")},8611:t=>{"use strict";t.exports=require("http")},5692:t=>{"use strict";t.exports=require("https")},3339:t=>{"use strict";t.exports=require("module")},1421:t=>{"use strict";t.exports=require("node:child_process")},8474:t=>{"use strict";t.exports=require("node:events")},3024:t=>{"use strict";t.exports=require("node:fs")},6760:t=>{"use strict";t.exports=require("node:path")},1708:t=>{"use strict";t.exports=require("node:process")},857:t=>{"use strict";t.exports=require("os")},6928:t=>{"use strict";t.exports=require("path")},3785:t=>{"use strict";t.exports=require("readline")},2203:t=>{"use strict";t.exports=require("stream")},7016:t=>{"use strict";t.exports=require("url")},9023:t=>{"use strict";t.exports=require("util")},4610:(t,r,i)=>{"use strict";const o=i(4839);const a=process.env;Object.defineProperty(r,"_vendors",{value:o.map((function(t){return t.constant}))});r.name=null;r.isPR=null;r.id=null;o.forEach((function(t){const i=Array.isArray(t.env)?t.env:[t.env];const o=i.every((function(t){return checkEnv(t)}));r[t.constant]=o;if(!o){return}r.name=t.name;r.isPR=checkPR(t);r.id=t.constant}));r.isCI=!!(a.CI!=="false"&&(a.BUILD_ID||a.BUILD_NUMBER||a.CI||a.CI_APP_ID||a.CI_BUILD_ID||a.CI_BUILD_NUMBER||a.CI_NAME||a.CONTINUOUS_INTEGRATION||a.RUN_ID||r.name||false));function checkEnv(t){if(typeof t==="string")return!!a[t];if("env"in t){return a[t.env]&&a[t.env].includes(t.includes)}if("any"in t){return t.any.some((function(t){return!!a[t]}))}return Object.keys(t).every((function(r){return a[r]===t[r]}))}function checkPR(t){switch(typeof t.pr){case"string":return!!a[t.pr];case"object":if("env"in t.pr){if("any"in t.pr){return t.pr.any.some((function(r){return a[t.pr.env]===r}))}else{return t.pr.env in a&&a[t.pr.env]!==t.pr.ne}}else if("any"in t.pr){return t.pr.any.some((function(t){return!!a[t]}))}else{return checkEnv(t.pr)}default:return null}}},7542:(t,r,i)=>{const{Argument:o}=i(4455);const{Command:a}=i(4199);const{CommanderError:c,InvalidArgumentError:l}=i(1552);const{Help:u}=i(4615);const{Option:h}=i(513);r.DM=new a;r.gu=t=>new a(t);r.Ww=(t,r)=>new h(t,r);r.er=(t,r)=>new o(t,r);r.uB=a;r.c$=h;r.ef=o;r._V=u;r.b7=c;r.Di=l;r.a2=l},4455:(t,r,i)=>{const{InvalidArgumentError:o}=i(1552);class Argument{constructor(t,r){this.description=r||"";this.variadic=false;this.parseArg=undefined;this.defaultValue=undefined;this.defaultValueDescription=undefined;this.argChoices=undefined;switch(t[0]){case"<":this.required=true;this._name=t.slice(1,-1);break;case"[":this.required=false;this._name=t.slice(1,-1);break;default:this.required=true;this._name=t;break}if(this._name.length>3&&this._name.slice(-3)==="..."){this.variadic=true;this._name=this._name.slice(0,-3)}}name(){return this._name}_concatValue(t,r){if(r===this.defaultValue||!Array.isArray(r)){return[t]}return r.concat(t)}default(t,r){this.defaultValue=t;this.defaultValueDescription=r;return this}argParser(t){this.parseArg=t;return this}choices(t){this.argChoices=t.slice();this.parseArg=(t,r)=>{if(!this.argChoices.includes(t)){throw new o(`Allowed choices are ${this.argChoices.join(", ")}.`)}if(this.variadic){return this._concatValue(t,r)}return t};return this}argRequired(){this.required=true;return this}argOptional(){this.required=false;return this}}function humanReadableArgName(t){const r=t.name()+(t.variadic===true?"...":"");return t.required?"<"+r+">":"["+r+"]"}r.Argument=Argument;r.humanReadableArgName=humanReadableArgName},4199:(t,r,i)=>{const o=i(8474).EventEmitter;const a=i(1421);const c=i(6760);const l=i(3024);const u=i(1708);const{Argument:h,humanReadableArgName:d}=i(4455);const{CommanderError:p}=i(1552);const{Help:m,stripColor:g}=i(4615);const{Option:y,DualOptions:v}=i(513);const{suggestSimilar:b}=i(4155);class Command extends o{constructor(t){super();this.commands=[];this.options=[];this.parent=null;this._allowUnknownOption=false;this._allowExcessArguments=false;this.registeredArguments=[];this._args=this.registeredArguments;this.args=[];this.rawArgs=[];this.processedArgs=[];this._scriptPath=null;this._name=t||"";this._optionValues={};this._optionValueSources={};this._storeOptionsAsProperties=false;this._actionHandler=null;this._executableHandler=false;this._executableFile=null;this._executableDir=null;this._defaultCommandName=null;this._exitCallback=null;this._aliases=[];this._combineFlagAndOptionalValue=true;this._description="";this._summary="";this._argsDescription=undefined;this._enablePositionalOptions=false;this._passThroughOptions=false;this._lifeCycleHooks={};this._showHelpAfterError=false;this._showSuggestionAfterError=true;this._savedState=null;this._outputConfiguration={writeOut:t=>u.stdout.write(t),writeErr:t=>u.stderr.write(t),outputError:(t,r)=>r(t),getOutHelpWidth:()=>u.stdout.isTTY?u.stdout.columns:undefined,getErrHelpWidth:()=>u.stderr.isTTY?u.stderr.columns:undefined,getOutHasColors:()=>useColor()??(u.stdout.isTTY&&u.stdout.hasColors?.()),getErrHasColors:()=>useColor()??(u.stderr.isTTY&&u.stderr.hasColors?.()),stripColor:t=>g(t)};this._hidden=false;this._helpOption=undefined;this._addImplicitHelpCommand=undefined;this._helpCommand=undefined;this._helpConfiguration={};this._helpGroupHeading=undefined;this._defaultCommandGroup=undefined;this._defaultOptionGroup=undefined}copyInheritedSettings(t){this._outputConfiguration=t._outputConfiguration;this._helpOption=t._helpOption;this._helpCommand=t._helpCommand;this._helpConfiguration=t._helpConfiguration;this._exitCallback=t._exitCallback;this._storeOptionsAsProperties=t._storeOptionsAsProperties;this._combineFlagAndOptionalValue=t._combineFlagAndOptionalValue;this._allowExcessArguments=t._allowExcessArguments;this._enablePositionalOptions=t._enablePositionalOptions;this._showHelpAfterError=t._showHelpAfterError;this._showSuggestionAfterError=t._showSuggestionAfterError;return this}_getCommandAndAncestors(){const t=[];for(let r=this;r;r=r.parent){t.push(r)}return t}command(t,r,i){let o=r;let a=i;if(typeof o==="object"&&o!==null){a=o;o=null}a=a||{};const[,c,l]=t.match(/([^ ]+) *(.*)/);const u=this.createCommand(c);if(o){u.description(o);u._executableHandler=true}if(a.isDefault)this._defaultCommandName=u._name;u._hidden=!!(a.noHelp||a.hidden);u._executableFile=a.executableFile||null;if(l)u.arguments(l);this._registerCommand(u);u.parent=this;u.copyInheritedSettings(this);if(o)return this;return u}createCommand(t){return new Command(t)}createHelp(){return Object.assign(new m,this.configureHelp())}configureHelp(t){if(t===undefined)return this._helpConfiguration;this._helpConfiguration=t;return this}configureOutput(t){if(t===undefined)return this._outputConfiguration;this._outputConfiguration=Object.assign({},this._outputConfiguration,t);return this}showHelpAfterError(t=true){if(typeof t!=="string")t=!!t;this._showHelpAfterError=t;return this}showSuggestionAfterError(t=true){this._showSuggestionAfterError=!!t;return this}addCommand(t,r){if(!t._name){throw new Error(`Command passed to .addCommand() must have a name\n- specify the name in Command constructor or using .name()`)}r=r||{};if(r.isDefault)this._defaultCommandName=t._name;if(r.noHelp||r.hidden)t._hidden=true;this._registerCommand(t);t.parent=this;t._checkForBrokenPassThrough();return this}createArgument(t,r){return new h(t,r)}argument(t,r,i,o){const a=this.createArgument(t,r);if(typeof i==="function"){a.default(o).argParser(i)}else{a.default(i)}this.addArgument(a);return this}arguments(t){t.trim().split(/ +/).forEach((t=>{this.argument(t)}));return this}addArgument(t){const r=this.registeredArguments.slice(-1)[0];if(r&&r.variadic){throw new Error(`only the last argument can be variadic '${r.name()}'`)}if(t.required&&t.defaultValue!==undefined&&t.parseArg===undefined){throw new Error(`a default value for a required argument is never used: '${t.name()}'`)}this.registeredArguments.push(t);return this}helpCommand(t,r){if(typeof t==="boolean"){this._addImplicitHelpCommand=t;if(t&&this._defaultCommandGroup){this._initCommandGroup(this._getHelpCommand())}return this}const i=t??"help [command]";const[,o,a]=i.match(/([^ ]+) *(.*)/);const c=r??"display help for command";const l=this.createCommand(o);l.helpOption(false);if(a)l.arguments(a);if(c)l.description(c);this._addImplicitHelpCommand=true;this._helpCommand=l;if(t||r)this._initCommandGroup(l);return this}addHelpCommand(t,r){if(typeof t!=="object"){this.helpCommand(t,r);return this}this._addImplicitHelpCommand=true;this._helpCommand=t;this._initCommandGroup(t);return this}_getHelpCommand(){const t=this._addImplicitHelpCommand??(this.commands.length&&!this._actionHandler&&!this._findCommand("help"));if(t){if(this._helpCommand===undefined){this.helpCommand(undefined,undefined)}return this._helpCommand}return null}hook(t,r){const i=["preSubcommand","preAction","postAction"];if(!i.includes(t)){throw new Error(`Unexpected value for event passed to hook : '${t}'.\nExpecting one of '${i.join("', '")}'`)}if(this._lifeCycleHooks[t]){this._lifeCycleHooks[t].push(r)}else{this._lifeCycleHooks[t]=[r]}return this}exitOverride(t){if(t){this._exitCallback=t}else{this._exitCallback=t=>{if(t.code!=="commander.executeSubCommandAsync"){throw t}else{}}}return this}_exit(t,r,i){if(this._exitCallback){this._exitCallback(new p(t,r,i))}u.exit(t)}action(t){const listener=r=>{const i=this.registeredArguments.length;const o=r.slice(0,i);if(this._storeOptionsAsProperties){o[i]=this}else{o[i]=this.opts()}o.push(this);return t.apply(this,o)};this._actionHandler=listener;return this}createOption(t,r){return new y(t,r)}_callParseArg(t,r,i,o){try{return t.parseArg(r,i)}catch(t){if(t.code==="commander.invalidArgument"){const r=`${o} ${t.message}`;this.error(r,{exitCode:t.exitCode,code:t.code})}throw t}}_registerOption(t){const r=t.short&&this._findOption(t.short)||t.long&&this._findOption(t.long);if(r){const i=t.long&&this._findOption(t.long)?t.long:t.short;throw new Error(`Cannot add option '${t.flags}'${this._name&&` to command '${this._name}'`} due to conflicting flag '${i}'\n- already used by option '${r.flags}'`)}this._initOptionGroup(t);this.options.push(t)}_registerCommand(t){const knownBy=t=>[t.name()].concat(t.aliases());const r=knownBy(t).find((t=>this._findCommand(t)));if(r){const i=knownBy(this._findCommand(r)).join("|");const o=knownBy(t).join("|");throw new Error(`cannot add command '${o}' as already have command '${i}'`)}this._initCommandGroup(t);this.commands.push(t)}addOption(t){this._registerOption(t);const r=t.name();const i=t.attributeName();if(t.negate){const r=t.long.replace(/^--no-/,"--");if(!this._findOption(r)){this.setOptionValueWithSource(i,t.defaultValue===undefined?true:t.defaultValue,"default")}}else if(t.defaultValue!==undefined){this.setOptionValueWithSource(i,t.defaultValue,"default")}const handleOptionValue=(r,o,a)=>{if(r==null&&t.presetArg!==undefined){r=t.presetArg}const c=this.getOptionValue(i);if(r!==null&&t.parseArg){r=this._callParseArg(t,r,c,o)}else if(r!==null&&t.variadic){r=t._concatValue(r,c)}if(r==null){if(t.negate){r=false}else if(t.isBoolean()||t.optional){r=true}else{r=""}}this.setOptionValueWithSource(i,r,a)};this.on("option:"+r,(r=>{const i=`error: option '${t.flags}' argument '${r}' is invalid.`;handleOptionValue(r,i,"cli")}));if(t.envVar){this.on("optionEnv:"+r,(r=>{const i=`error: option '${t.flags}' value '${r}' from env '${t.envVar}' is invalid.`;handleOptionValue(r,i,"env")}))}return this}_optionEx(t,r,i,o,a){if(typeof r==="object"&&r instanceof y){throw new Error("To add an Option object use addOption() instead of option() or requiredOption()")}const c=this.createOption(r,i);c.makeOptionMandatory(!!t.mandatory);if(typeof o==="function"){c.default(a).argParser(o)}else if(o instanceof RegExp){const t=o;o=(r,i)=>{const o=t.exec(r);return o?o[0]:i};c.default(a).argParser(o)}else{c.default(o)}return this.addOption(c)}option(t,r,i,o){return this._optionEx({},t,r,i,o)}requiredOption(t,r,i,o){return this._optionEx({mandatory:true},t,r,i,o)}combineFlagAndOptionalValue(t=true){this._combineFlagAndOptionalValue=!!t;return this}allowUnknownOption(t=true){this._allowUnknownOption=!!t;return this}allowExcessArguments(t=true){this._allowExcessArguments=!!t;return this}enablePositionalOptions(t=true){this._enablePositionalOptions=!!t;return this}passThroughOptions(t=true){this._passThroughOptions=!!t;this._checkForBrokenPassThrough();return this}_checkForBrokenPassThrough(){if(this.parent&&this._passThroughOptions&&!this.parent._enablePositionalOptions){throw new Error(`passThroughOptions cannot be used for '${this._name}' without turning on enablePositionalOptions for parent command(s)`)}}storeOptionsAsProperties(t=true){if(this.options.length){throw new Error("call .storeOptionsAsProperties() before adding options")}if(Object.keys(this._optionValues).length){throw new Error("call .storeOptionsAsProperties() before setting option values")}this._storeOptionsAsProperties=!!t;return this}getOptionValue(t){if(this._storeOptionsAsProperties){return this[t]}return this._optionValues[t]}setOptionValue(t,r){return this.setOptionValueWithSource(t,r,undefined)}setOptionValueWithSource(t,r,i){if(this._storeOptionsAsProperties){this[t]=r}else{this._optionValues[t]=r}this._optionValueSources[t]=i;return this}getOptionValueSource(t){return this._optionValueSources[t]}getOptionValueSourceWithGlobals(t){let r;this._getCommandAndAncestors().forEach((i=>{if(i.getOptionValueSource(t)!==undefined){r=i.getOptionValueSource(t)}}));return r}_prepareUserArgs(t,r){if(t!==undefined&&!Array.isArray(t)){throw new Error("first parameter to parse must be array or undefined")}r=r||{};if(t===undefined&&r.from===undefined){if(u.versions?.electron){r.from="electron"}const t=u.execArgv??[];if(t.includes("-e")||t.includes("--eval")||t.includes("-p")||t.includes("--print")){r.from="eval"}}if(t===undefined){t=u.argv}this.rawArgs=t.slice();let i;switch(r.from){case undefined:case"node":this._scriptPath=t[1];i=t.slice(2);break;case"electron":if(u.defaultApp){this._scriptPath=t[1];i=t.slice(2)}else{i=t.slice(1)}break;case"user":i=t.slice(0);break;case"eval":i=t.slice(1);break;default:throw new Error(`unexpected parse option { from: '${r.from}' }`)}if(!this._name&&this._scriptPath)this.nameFromFilename(this._scriptPath);this._name=this._name||"program";return i}parse(t,r){this._prepareForParse();const i=this._prepareUserArgs(t,r);this._parseCommand([],i);return this}async parseAsync(t,r){this._prepareForParse();const i=this._prepareUserArgs(t,r);await this._parseCommand([],i);return this}_prepareForParse(){if(this._savedState===null){this.saveStateBeforeParse()}else{this.restoreStateBeforeParse()}}saveStateBeforeParse(){this._savedState={_name:this._name,_optionValues:{...this._optionValues},_optionValueSources:{...this._optionValueSources}}}restoreStateBeforeParse(){if(this._storeOptionsAsProperties)throw new Error(`Can not call parse again when storeOptionsAsProperties is true.\n- either make a new Command for each call to parse, or stop storing options as properties`);this._name=this._savedState._name;this._scriptPath=null;this.rawArgs=[];this._optionValues={...this._savedState._optionValues};this._optionValueSources={...this._savedState._optionValueSources};this.args=[];this.processedArgs=[]}_checkForMissingExecutable(t,r,i){if(l.existsSync(t))return;const o=r?`searched for local subcommand relative to directory '${r}'`:"no directory for search for local subcommand, use .executableDir() to supply a custom directory";const a=`'${t}' does not exist\n - if '${i}' is not meant to be an executable command, remove description parameter from '.command()' and use '.description()' instead\n - if the default executable name is not suitable, use the executableFile option to supply a custom name or path\n - ${o}`;throw new Error(a)}_executeSubCommand(t,r){r=r.slice();let i=false;const o=[".js",".ts",".tsx",".mjs",".cjs"];function findFile(t,r){const i=c.resolve(t,r);if(l.existsSync(i))return i;if(o.includes(c.extname(r)))return undefined;const a=o.find((t=>l.existsSync(`${i}${t}`)));if(a)return`${i}${a}`;return undefined}this._checkForMissingMandatoryOptions();this._checkForConflictingOptions();let h=t._executableFile||`${this._name}-${t._name}`;let d=this._executableDir||"";if(this._scriptPath){let t;try{t=l.realpathSync(this._scriptPath)}catch{t=this._scriptPath}d=c.resolve(c.dirname(t),d)}if(d){let r=findFile(d,h);if(!r&&!t._executableFile&&this._scriptPath){const i=c.basename(this._scriptPath,c.extname(this._scriptPath));if(i!==this._name){r=findFile(d,`${i}-${t._name}`)}}h=r||h}i=o.includes(c.extname(h));let m;if(u.platform!=="win32"){if(i){r.unshift(h);r=incrementNodeInspectorPort(u.execArgv).concat(r);m=a.spawn(u.argv[0],r,{stdio:"inherit"})}else{m=a.spawn(h,r,{stdio:"inherit"})}}else{this._checkForMissingExecutable(h,d,t._name);r.unshift(h);r=incrementNodeInspectorPort(u.execArgv).concat(r);m=a.spawn(u.execPath,r,{stdio:"inherit"})}if(!m.killed){const t=["SIGUSR1","SIGUSR2","SIGTERM","SIGINT","SIGHUP"];t.forEach((t=>{u.on(t,(()=>{if(m.killed===false&&m.exitCode===null){m.kill(t)}}))}))}const g=this._exitCallback;m.on("close",(t=>{t=t??1;if(!g){u.exit(t)}else{g(new p(t,"commander.executeSubCommandAsync","(close)"))}}));m.on("error",(r=>{if(r.code==="ENOENT"){this._checkForMissingExecutable(h,d,t._name)}else if(r.code==="EACCES"){throw new Error(`'${h}' not executable`)}if(!g){u.exit(1)}else{const t=new p(1,"commander.executeSubCommandAsync","(error)");t.nestedError=r;g(t)}}));this.runningCommand=m}_dispatchSubcommand(t,r,i){const o=this._findCommand(t);if(!o)this.help({error:true});o._prepareForParse();let a;a=this._chainOrCallSubCommandHook(a,o,"preSubcommand");a=this._chainOrCall(a,(()=>{if(o._executableHandler){this._executeSubCommand(o,r.concat(i))}else{return o._parseCommand(r,i)}}));return a}_dispatchHelpCommand(t){if(!t){this.help()}const r=this._findCommand(t);if(r&&!r._executableHandler){r.help()}return this._dispatchSubcommand(t,[],[this._getHelpOption()?.long??this._getHelpOption()?.short??"--help"])}_checkNumberOfArguments(){this.registeredArguments.forEach(((t,r)=>{if(t.required&&this.args[r]==null){this.missingArgument(t.name())}}));if(this.registeredArguments.length>0&&this.registeredArguments[this.registeredArguments.length-1].variadic){return}if(this.args.length>this.registeredArguments.length){this._excessArguments(this.args)}}_processArguments(){const myParseArg=(t,r,i)=>{let o=r;if(r!==null&&t.parseArg){const a=`error: command-argument value '${r}' is invalid for argument '${t.name()}'.`;o=this._callParseArg(t,r,i,a)}return o};this._checkNumberOfArguments();const t=[];this.registeredArguments.forEach(((r,i)=>{let o=r.defaultValue;if(r.variadic){if(i<this.args.length){o=this.args.slice(i);if(r.parseArg){o=o.reduce(((t,i)=>myParseArg(r,i,t)),r.defaultValue)}}else if(o===undefined){o=[]}}else if(i<this.args.length){o=this.args[i];if(r.parseArg){o=myParseArg(r,o,r.defaultValue)}}t[i]=o}));this.processedArgs=t}_chainOrCall(t,r){if(t&&t.then&&typeof t.then==="function"){return t.then((()=>r()))}return r()}_chainOrCallHooks(t,r){let i=t;const o=[];this._getCommandAndAncestors().reverse().filter((t=>t._lifeCycleHooks[r]!==undefined)).forEach((t=>{t._lifeCycleHooks[r].forEach((r=>{o.push({hookedCommand:t,callback:r})}))}));if(r==="postAction"){o.reverse()}o.forEach((t=>{i=this._chainOrCall(i,(()=>t.callback(t.hookedCommand,this)))}));return i}_chainOrCallSubCommandHook(t,r,i){let o=t;if(this._lifeCycleHooks[i]!==undefined){this._lifeCycleHooks[i].forEach((t=>{o=this._chainOrCall(o,(()=>t(this,r)))}))}return o}_parseCommand(t,r){const i=this.parseOptions(r);this._parseOptionsEnv();this._parseOptionsImplied();t=t.concat(i.operands);r=i.unknown;this.args=t.concat(r);if(t&&this._findCommand(t[0])){return this._dispatchSubcommand(t[0],t.slice(1),r)}if(this._getHelpCommand()&&t[0]===this._getHelpCommand().name()){return this._dispatchHelpCommand(t[1])}if(this._defaultCommandName){this._outputHelpIfRequested(r);return this._dispatchSubcommand(this._defaultCommandName,t,r)}if(this.commands.length&&this.args.length===0&&!this._actionHandler&&!this._defaultCommandName){this.help({error:true})}this._outputHelpIfRequested(i.unknown);this._checkForMissingMandatoryOptions();this._checkForConflictingOptions();const checkForUnknownOptions=()=>{if(i.unknown.length>0){this.unknownOption(i.unknown[0])}};const o=`command:${this.name()}`;if(this._actionHandler){checkForUnknownOptions();this._processArguments();let i;i=this._chainOrCallHooks(i,"preAction");i=this._chainOrCall(i,(()=>this._actionHandler(this.processedArgs)));if(this.parent){i=this._chainOrCall(i,(()=>{this.parent.emit(o,t,r)}))}i=this._chainOrCallHooks(i,"postAction");return i}if(this.parent&&this.parent.listenerCount(o)){checkForUnknownOptions();this._processArguments();this.parent.emit(o,t,r)}else if(t.length){if(this._findCommand("*")){return this._dispatchSubcommand("*",t,r)}if(this.listenerCount("command:*")){this.emit("command:*",t,r)}else if(this.commands.length){this.unknownCommand()}else{checkForUnknownOptions();this._processArguments()}}else if(this.commands.length){checkForUnknownOptions();this.help({error:true})}else{checkForUnknownOptions();this._processArguments()}}_findCommand(t){if(!t)return undefined;return this.commands.find((r=>r._name===t||r._aliases.includes(t)))}_findOption(t){return this.options.find((r=>r.is(t)))}_checkForMissingMandatoryOptions(){this._getCommandAndAncestors().forEach((t=>{t.options.forEach((r=>{if(r.mandatory&&t.getOptionValue(r.attributeName())===undefined){t.missingMandatoryOptionValue(r)}}))}))}_checkForConflictingLocalOptions(){const t=this.options.filter((t=>{const r=t.attributeName();if(this.getOptionValue(r)===undefined){return false}return this.getOptionValueSource(r)!=="default"}));const r=t.filter((t=>t.conflictsWith.length>0));r.forEach((r=>{const i=t.find((t=>r.conflictsWith.includes(t.attributeName())));if(i){this._conflictingOption(r,i)}}))}_checkForConflictingOptions(){this._getCommandAndAncestors().forEach((t=>{t._checkForConflictingLocalOptions()}))}parseOptions(t){const r=[];const i=[];let o=r;const a=t.slice();function maybeOption(t){return t.length>1&&t[0]==="-"}const negativeNumberArg=t=>{if(!/^-\d*\.?\d+(e[+-]?\d+)?$/.test(t))return false;return!this._getCommandAndAncestors().some((t=>t.options.map((t=>t.short)).some((t=>/^-\d$/.test(t)))))};let c=null;while(a.length){const t=a.shift();if(t==="--"){if(o===i)o.push(t);o.push(...a);break}if(c&&(!maybeOption(t)||negativeNumberArg(t))){this.emit(`option:${c.name()}`,t);continue}c=null;if(maybeOption(t)){const r=this._findOption(t);if(r){if(r.required){const t=a.shift();if(t===undefined)this.optionMissingArgument(r);this.emit(`option:${r.name()}`,t)}else if(r.optional){let t=null;if(a.length>0&&(!maybeOption(a[0])||negativeNumberArg(a[0]))){t=a.shift()}this.emit(`option:${r.name()}`,t)}else{this.emit(`option:${r.name()}`)}c=r.variadic?r:null;continue}}if(t.length>2&&t[0]==="-"&&t[1]!=="-"){const r=this._findOption(`-${t[1]}`);if(r){if(r.required||r.optional&&this._combineFlagAndOptionalValue){this.emit(`option:${r.name()}`,t.slice(2))}else{this.emit(`option:${r.name()}`);a.unshift(`-${t.slice(2)}`)}continue}}if(/^--[^=]+=/.test(t)){const r=t.indexOf("=");const i=this._findOption(t.slice(0,r));if(i&&(i.required||i.optional)){this.emit(`option:${i.name()}`,t.slice(r+1));continue}}if(o===r&&maybeOption(t)&&!(this.commands.length===0&&negativeNumberArg(t))){o=i}if((this._enablePositionalOptions||this._passThroughOptions)&&r.length===0&&i.length===0){if(this._findCommand(t)){r.push(t);if(a.length>0)i.push(...a);break}else if(this._getHelpCommand()&&t===this._getHelpCommand().name()){r.push(t);if(a.length>0)r.push(...a);break}else if(this._defaultCommandName){i.push(t);if(a.length>0)i.push(...a);break}}if(this._passThroughOptions){o.push(t);if(a.length>0)o.push(...a);break}o.push(t)}return{operands:r,unknown:i}}opts(){if(this._storeOptionsAsProperties){const t={};const r=this.options.length;for(let i=0;i<r;i++){const r=this.options[i].attributeName();t[r]=r===this._versionOptionName?this._version:this[r]}return t}return this._optionValues}optsWithGlobals(){return this._getCommandAndAncestors().reduce(((t,r)=>Object.assign(t,r.opts())),{})}error(t,r){this._outputConfiguration.outputError(`${t}\n`,this._outputConfiguration.writeErr);if(typeof this._showHelpAfterError==="string"){this._outputConfiguration.writeErr(`${this._showHelpAfterError}\n`)}else if(this._showHelpAfterError){this._outputConfiguration.writeErr("\n");this.outputHelp({error:true})}const i=r||{};const o=i.exitCode||1;const a=i.code||"commander.error";this._exit(o,a,t)}_parseOptionsEnv(){this.options.forEach((t=>{if(t.envVar&&t.envVar in u.env){const r=t.attributeName();if(this.getOptionValue(r)===undefined||["default","config","env"].includes(this.getOptionValueSource(r))){if(t.required||t.optional){this.emit(`optionEnv:${t.name()}`,u.env[t.envVar])}else{this.emit(`optionEnv:${t.name()}`)}}}}))}_parseOptionsImplied(){const t=new v(this.options);const hasCustomOptionValue=t=>this.getOptionValue(t)!==undefined&&!["default","implied"].includes(this.getOptionValueSource(t));this.options.filter((r=>r.implied!==undefined&&hasCustomOptionValue(r.attributeName())&&t.valueFromOption(this.getOptionValue(r.attributeName()),r))).forEach((t=>{Object.keys(t.implied).filter((t=>!hasCustomOptionValue(t))).forEach((r=>{this.setOptionValueWithSource(r,t.implied[r],"implied")}))}))}missingArgument(t){const r=`error: missing required argument '${t}'`;this.error(r,{code:"commander.missingArgument"})}optionMissingArgument(t){const r=`error: option '${t.flags}' argument missing`;this.error(r,{code:"commander.optionMissingArgument"})}missingMandatoryOptionValue(t){const r=`error: required option '${t.flags}' not specified`;this.error(r,{code:"commander.missingMandatoryOptionValue"})}_conflictingOption(t,r){const findBestOptionFromValue=t=>{const r=t.attributeName();const i=this.getOptionValue(r);const o=this.options.find((t=>t.negate&&r===t.attributeName()));const a=this.options.find((t=>!t.negate&&r===t.attributeName()));if(o&&(o.presetArg===undefined&&i===false||o.presetArg!==undefined&&i===o.presetArg)){return o}return a||t};const getErrorMessage=t=>{const r=findBestOptionFromValue(t);const i=r.attributeName();const o=this.getOptionValueSource(i);if(o==="env"){return`environment variable '${r.envVar}'`}return`option '${r.flags}'`};const i=`error: ${getErrorMessage(t)} cannot be used with ${getErrorMessage(r)}`;this.error(i,{code:"commander.conflictingOption"})}unknownOption(t){if(this._allowUnknownOption)return;let r="";if(t.startsWith("--")&&this._showSuggestionAfterError){let i=[];let o=this;do{const t=o.createHelp().visibleOptions(o).filter((t=>t.long)).map((t=>t.long));i=i.concat(t);o=o.parent}while(o&&!o._enablePositionalOptions);r=b(t,i)}const i=`error: unknown option '${t}'${r}`;this.error(i,{code:"commander.unknownOption"})}_excessArguments(t){if(this._allowExcessArguments)return;const r=this.registeredArguments.length;const i=r===1?"":"s";const o=this.parent?` for '${this.name()}'`:"";const a=`error: too many arguments${o}. Expected ${r} argument${i} but got ${t.length}.`;this.error(a,{code:"commander.excessArguments"})}unknownCommand(){const t=this.args[0];let r="";if(this._showSuggestionAfterError){const i=[];this.createHelp().visibleCommands(this).forEach((t=>{i.push(t.name());if(t.alias())i.push(t.alias())}));r=b(t,i)}const i=`error: unknown command '${t}'${r}`;this.error(i,{code:"commander.unknownCommand"})}version(t,r,i){if(t===undefined)return this._version;this._version=t;r=r||"-V, --version";i=i||"output the version number";const o=this.createOption(r,i);this._versionOptionName=o.attributeName();this._registerOption(o);this.on("option:"+o.name(),(()=>{this._outputConfiguration.writeOut(`${t}\n`);this._exit(0,"commander.version",t)}));return this}description(t,r){if(t===undefined&&r===undefined)return this._description;this._description=t;if(r){this._argsDescription=r}return this}summary(t){if(t===undefined)return this._summary;this._summary=t;return this}alias(t){if(t===undefined)return this._aliases[0];let r=this;if(this.commands.length!==0&&this.commands[this.commands.length-1]._executableHandler){r=this.commands[this.commands.length-1]}if(t===r._name)throw new Error("Command alias can't be the same as its name");const i=this.parent?._findCommand(t);if(i){const r=[i.name()].concat(i.aliases()).join("|");throw new Error(`cannot add alias '${t}' to command '${this.name()}' as already have command '${r}'`)}r._aliases.push(t);return this}aliases(t){if(t===undefined)return this._aliases;t.forEach((t=>this.alias(t)));return this}usage(t){if(t===undefined){if(this._usage)return this._usage;const t=this.registeredArguments.map((t=>d(t)));return[].concat(this.options.length||this._helpOption!==null?"[options]":[],this.commands.length?"[command]":[],this.registeredArguments.length?t:[]).join(" ")}this._usage=t;return this}name(t){if(t===undefined)return this._name;this._name=t;return this}helpGroup(t){if(t===undefined)return this._helpGroupHeading??"";this._helpGroupHeading=t;return this}commandsGroup(t){if(t===undefined)return this._defaultCommandGroup??"";this._defaultCommandGroup=t;return this}optionsGroup(t){if(t===undefined)return this._defaultOptionGroup??"";this._defaultOptionGroup=t;return this}_initOptionGroup(t){if(this._defaultOptionGroup&&!t.helpGroupHeading)t.helpGroup(this._defaultOptionGroup)}_initCommandGroup(t){if(this._defaultCommandGroup&&!t.helpGroup())t.helpGroup(this._defaultCommandGroup)}nameFromFilename(t){this._name=c.basename(t,c.extname(t));return this}executableDir(t){if(t===undefined)return this._executableDir;this._executableDir=t;return this}helpInformation(t){const r=this.createHelp();const i=this._getOutputContext(t);r.prepareContext({error:i.error,helpWidth:i.helpWidth,outputHasColors:i.hasColors});const o=r.formatHelp(this,r);if(i.hasColors)return o;return this._outputConfiguration.stripColor(o)}_getOutputContext(t){t=t||{};const r=!!t.error;let i;let o;let a;if(r){i=t=>this._outputConfiguration.writeErr(t);o=this._outputConfiguration.getErrHasColors();a=this._outputConfiguration.getErrHelpWidth()}else{i=t=>this._outputConfiguration.writeOut(t);o=this._outputConfiguration.getOutHasColors();a=this._outputConfiguration.getOutHelpWidth()}const write=t=>{if(!o)t=this._outputConfiguration.stripColor(t);return i(t)};return{error:r,write:write,hasColors:o,helpWidth:a}}outputHelp(t){let r;if(typeof t==="function"){r=t;t=undefined}const i=this._getOutputContext(t);const o={error:i.error,write:i.write,command:this};this._getCommandAndAncestors().reverse().forEach((t=>t.emit("beforeAllHelp",o)));this.emit("beforeHelp",o);let a=this.helpInformation({error:i.error});if(r){a=r(a);if(typeof a!=="string"&&!Buffer.isBuffer(a)){throw new Error("outputHelp callback must return a string or a Buffer")}}i.write(a);if(this._getHelpOption()?.long){this.emit(this._getHelpOption().long)}this.emit("afterHelp",o);this._getCommandAndAncestors().forEach((t=>t.emit("afterAllHelp",o)))}helpOption(t,r){if(typeof t==="boolean"){if(t){if(this._helpOption===null)this._helpOption=undefined;if(this._defaultOptionGroup){this._initOptionGroup(this._getHelpOption())}}else{this._helpOption=null}return this}this._helpOption=this.createOption(t??"-h, --help",r??"display help for command");if(t||r)this._initOptionGroup(this._helpOption);return this}_getHelpOption(){if(this._helpOption===undefined){this.helpOption(undefined,undefined)}return this._helpOption}addHelpOption(t){this._helpOption=t;this._initOptionGroup(t);return this}help(t){this.outputHelp(t);let r=Number(u.exitCode??0);if(r===0&&t&&typeof t!=="function"&&t.error){r=1}this._exit(r,"commander.help","(outputHelp)")}addHelpText(t,r){const i=["beforeAll","before","after","afterAll"];if(!i.includes(t)){throw new Error(`Unexpected value for position to addHelpText.\nExpecting one of '${i.join("', '")}'`)}const o=`${t}Help`;this.on(o,(t=>{let i;if(typeof r==="function"){i=r({error:t.error,command:t.command})}else{i=r}if(i){t.write(`${i}\n`)}}));return this}_outputHelpIfRequested(t){const r=this._getHelpOption();const i=r&&t.find((t=>r.is(t)));if(i){this.outputHelp();this._exit(0,"commander.helpDisplayed","(outputHelp)")}}}function incrementNodeInspectorPort(t){return t.map((t=>{if(!t.startsWith("--inspect")){return t}let r;let i="127.0.0.1";let o="9229";let a;if((a=t.match(/^(--inspect(-brk)?)$/))!==null){r=a[1]}else if((a=t.match(/^(--inspect(-brk|-port)?)=([^:]+)$/))!==null){r=a[1];if(/^\d+$/.test(a[3])){o=a[3]}else{i=a[3]}}else if((a=t.match(/^(--inspect(-brk|-port)?)=([^:]+):(\d+)$/))!==null){r=a[1];i=a[3];o=a[4]}if(r&&o!=="0"){return`${r}=${i}:${parseInt(o)+1}`}return t}))}function useColor(){if(u.env.NO_COLOR||u.env.FORCE_COLOR==="0"||u.env.FORCE_COLOR==="false")return false;if(u.env.FORCE_COLOR||u.env.CLICOLOR_FORCE!==undefined)return true;return undefined}r.Command=Command;r.useColor=useColor},1552:(t,r)=>{class CommanderError extends Error{constructor(t,r,i){super(i);Error.captureStackTrace(this,this.constructor);this.name=this.constructor.name;this.code=r;this.exitCode=t;this.nestedError=undefined}}class InvalidArgumentError extends CommanderError{constructor(t){super(1,"commander.invalidArgument",t);Error.captureStackTrace(this,this.constructor);this.name=this.constructor.name}}r.CommanderError=CommanderError;r.InvalidArgumentError=InvalidArgumentError},4615:(t,r,i)=>{const{humanReadableArgName:o}=i(4455);class Help{constructor(){this.helpWidth=undefined;this.minWidthToWrap=40;this.sortSubcommands=false;this.sortOptions=false;this.showGlobalOptions=false}prepareContext(t){this.helpWidth=this.helpWidth??t.helpWidth??80}visibleCommands(t){const r=t.commands.filter((t=>!t._hidden));const i=t._getHelpCommand();if(i&&!i._hidden){r.push(i)}if(this.sortSubcommands){r.sort(((t,r)=>t.name().localeCompare(r.name())))}return r}compareOptions(t,r){const getSortKey=t=>t.short?t.short.replace(/^-/,""):t.long.replace(/^--/,"");return getSortKey(t).localeCompare(getSortKey(r))}visibleOptions(t){const r=t.options.filter((t=>!t.hidden));const i=t._getHelpOption();if(i&&!i.hidden){const o=i.short&&t._findOption(i.short);const a=i.long&&t._findOption(i.long);if(!o&&!a){r.push(i)}else if(i.long&&!a){r.push(t.createOption(i.long,i.description))}else if(i.short&&!o){r.push(t.createOption(i.short,i.description))}}if(this.sortOptions){r.sort(this.compareOptions)}return r}visibleGlobalOptions(t){if(!this.showGlobalOptions)return[];const r=[];for(let i=t.parent;i;i=i.parent){const t=i.options.filter((t=>!t.hidden));r.push(...t)}if(this.sortOptions){r.sort(this.compareOptions)}return r}visibleArguments(t){if(t._argsDescription){t.registeredArguments.forEach((r=>{r.description=r.description||t._argsDescription[r.name()]||""}))}if(t.registeredArguments.find((t=>t.description))){return t.registeredArguments}return[]}subcommandTerm(t){const r=t.registeredArguments.map((t=>o(t))).join(" ");return t._name+(t._aliases[0]?"|"+t._aliases[0]:"")+(t.options.length?" [options]":"")+(r?" "+r:"")}optionTerm(t){return t.flags}argumentTerm(t){return t.name()}longestSubcommandTermLength(t,r){return r.visibleCommands(t).reduce(((t,i)=>Math.max(t,this.displayWidth(r.styleSubcommandTerm(r.subcommandTerm(i))))),0)}longestOptionTermLength(t,r){return r.visibleOptions(t).reduce(((t,i)=>Math.max(t,this.displayWidth(r.styleOptionTerm(r.optionTerm(i))))),0)}longestGlobalOptionTermLength(t,r){return r.visibleGlobalOptions(t).reduce(((t,i)=>Math.max(t,this.displayWidth(r.styleOptionTerm(r.optionTerm(i))))),0)}longestArgumentTermLength(t,r){return r.visibleArguments(t).reduce(((t,i)=>Math.max(t,this.displayWidth(r.styleArgumentTerm(r.argumentTerm(i))))),0)}commandUsage(t){let r=t._name;if(t._aliases[0]){r=r+"|"+t._aliases[0]}let i="";for(let r=t.parent;r;r=r.parent){i=r.name()+" "+i}return i+r+" "+t.usage()}commandDescription(t){return t.description()}subcommandDescription(t){return t.summary()||t.description()}optionDescription(t){const r=[];if(t.argChoices){r.push(`choices: ${t.argChoices.map((t=>JSON.stringify(t))).join(", ")}`)}if(t.defaultValue!==undefined){const i=t.required||t.optional||t.isBoolean()&&typeof t.defaultValue==="boolean";if(i){r.push(`default: ${t.defaultValueDescription||JSON.stringify(t.defaultValue)}`)}}if(t.presetArg!==undefined&&t.optional){r.push(`preset: ${JSON.stringify(t.presetArg)}`)}if(t.envVar!==undefined){r.push(`env: ${t.envVar}`)}if(r.length>0){const i=`(${r.join(", ")})`;if(t.description){return`${t.description} ${i}`}return i}return t.description}argumentDescription(t){const r=[];if(t.argChoices){r.push(`choices: ${t.argChoices.map((t=>JSON.stringify(t))).join(", ")}`)}if(t.defaultValue!==undefined){r.push(`default: ${t.defaultValueDescription||JSON.stringify(t.defaultValue)}`)}if(r.length>0){const i=`(${r.join(", ")})`;if(t.description){return`${t.description} ${i}`}return i}return t.description}formatItemList(t,r,i){if(r.length===0)return[];return[i.styleTitle(t),...r,""]}groupItems(t,r,i){const o=new Map;t.forEach((t=>{const r=i(t);if(!o.has(r))o.set(r,[])}));r.forEach((t=>{const r=i(t);if(!o.has(r)){o.set(r,[])}o.get(r).push(t)}));return o}formatHelp(t,r){const i=r.padWidth(t,r);const o=r.helpWidth??80;function callFormatItem(t,o){return r.formatItem(t,i,o,r)}let a=[`${r.styleTitle("Usage:")} ${r.styleUsage(r.commandUsage(t))}`,""];const c=r.commandDescription(t);if(c.length>0){a=a.concat([r.boxWrap(r.styleCommandDescription(c),o),""])}const l=r.visibleArguments(t).map((t=>callFormatItem(r.styleArgumentTerm(r.argumentTerm(t)),r.styleArgumentDescription(r.argumentDescription(t)))));a=a.concat(this.formatItemList("Arguments:",l,r));const u=this.groupItems(t.options,r.visibleOptions(t),(t=>t.helpGroupHeading??"Options:"));u.forEach(((t,i)=>{const o=t.map((t=>callFormatItem(r.styleOptionTerm(r.optionTerm(t)),r.styleOptionDescription(r.optionDescription(t)))));a=a.concat(this.formatItemList(i,o,r))}));if(r.showGlobalOptions){const i=r.visibleGlobalOptions(t).map((t=>callFormatItem(r.styleOptionTerm(r.optionTerm(t)),r.styleOptionDescription(r.optionDescription(t)))));a=a.concat(this.formatItemList("Global Options:",i,r))}const h=this.groupItems(t.commands,r.visibleCommands(t),(t=>t.helpGroup()||"Commands:"));h.forEach(((t,i)=>{const o=t.map((t=>callFormatItem(r.styleSubcommandTerm(r.subcommandTerm(t)),r.styleSubcommandDescription(r.subcommandDescription(t)))));a=a.concat(this.formatItemList(i,o,r))}));return a.join("\n")}displayWidth(t){return stripColor(t).length}styleTitle(t){return t}styleUsage(t){return t.split(" ").map((t=>{if(t==="[options]")return this.styleOptionText(t);if(t==="[command]")return this.styleSubcommandText(t);if(t[0]==="["||t[0]==="<")return this.styleArgumentText(t);return this.styleCommandText(t)})).join(" ")}styleCommandDescription(t){return this.styleDescriptionText(t)}styleOptionDescription(t){return this.styleDescriptionText(t)}styleSubcommandDescription(t){return this.styleDescriptionText(t)}styleArgumentDescription(t){return this.styleDescriptionText(t)}styleDescriptionText(t){return t}styleOptionTerm(t){return this.styleOptionText(t)}styleSubcommandTerm(t){return t.split(" ").map((t=>{if(t==="[options]")return this.styleOptionText(t);if(t[0]==="["||t[0]==="<")return this.styleArgumentText(t);return this.styleSubcommandText(t)})).join(" ")}styleArgumentTerm(t){return this.styleArgumentText(t)}styleOptionText(t){return t}styleArgumentText(t){return t}styleSubcommandText(t){return t}styleCommandText(t){return t}padWidth(t,r){return Math.max(r.longestOptionTermLength(t,r),r.longestGlobalOptionTermLength(t,r),r.longestSubcommandTermLength(t,r),r.longestArgumentTermLength(t,r))}preformatted(t){return/\n[^\S\r\n]/.test(t)}formatItem(t,r,i,o){const a=2;const c=" ".repeat(a);if(!i)return c+t;const l=t.padEnd(r+t.length-o.displayWidth(t));const u=2;const h=this.helpWidth??80;const d=h-r-u-a;let p;if(d<this.minWidthToWrap||o.preformatted(i)){p=i}else{const t=o.boxWrap(i,d);p=t.replace(/\n/g,"\n"+" ".repeat(r+u))}return c+l+" ".repeat(u)+p.replace(/\n/g,`\n${c}`)}boxWrap(t,r){if(r<this.minWidthToWrap)return t;const i=t.split(/\r\n|\n/);const o=/[\s]*[^\s]+/g;const a=[];i.forEach((t=>{const i=t.match(o);if(i===null){a.push("");return}let c=[i.shift()];let l=this.displayWidth(c[0]);i.forEach((t=>{const i=this.displayWidth(t);if(l+i<=r){c.push(t);l+=i;return}a.push(c.join(""));const o=t.trimStart();c=[o];l=this.displayWidth(o)}));a.push(c.join(""))}));return a.join("\n")}}function stripColor(t){const r=/\x1b\[\d*(;\d*)*m/g;return t.replace(r,"")}r.Help=Help;r.stripColor=stripColor},513:(t,r,i)=>{const{InvalidArgumentError:o}=i(1552);class Option{constructor(t,r){this.flags=t;this.description=r||"";this.required=t.includes("<");this.optional=t.includes("[");this.variadic=/\w\.\.\.[>\]]$/.test(t);this.mandatory=false;const i=splitOptionFlags(t);this.short=i.shortFlag;this.long=i.longFlag;this.negate=false;if(this.long){this.negate=this.long.startsWith("--no-")}this.defaultValue=undefined;this.defaultValueDescription=undefined;this.presetArg=undefined;this.envVar=undefined;this.parseArg=undefined;this.hidden=false;this.argChoices=undefined;this.conflictsWith=[];this.implied=undefined;this.helpGroupHeading=undefined}default(t,r){this.defaultValue=t;this.defaultValueDescription=r;return this}preset(t){this.presetArg=t;return this}conflicts(t){this.conflictsWith=this.conflictsWith.concat(t);return this}implies(t){let r=t;if(typeof t==="string"){r={[t]:true}}this.implied=Object.assign(this.implied||{},r);return this}env(t){this.envVar=t;return this}argParser(t){this.parseArg=t;return this}makeOptionMandatory(t=true){this.mandatory=!!t;return this}hideHelp(t=true){this.hidden=!!t;return this}_concatValue(t,r){if(r===this.defaultValue||!Array.isArray(r)){return[t]}return r.concat(t)}choices(t){this.argChoices=t.slice();this.parseArg=(t,r)=>{if(!this.argChoices.includes(t)){throw new o(`Allowed choices are ${this.argChoices.join(", ")}.`)}if(this.variadic){return this._concatValue(t,r)}return t};return this}name(){if(this.long){return this.long.replace(/^--/,"")}return this.short.replace(/^-/,"")}attributeName(){if(this.negate){return camelcase(this.name().replace(/^no-/,""))}return camelcase(this.name())}helpGroup(t){this.helpGroupHeading=t;return this}is(t){return this.short===t||this.long===t}isBoolean(){return!this.required&&!this.optional&&!this.negate}}class DualOptions{constructor(t){this.positiveOptions=new Map;this.negativeOptions=new Map;this.dualOptions=new Set;t.forEach((t=>{if(t.negate){this.negativeOptions.set(t.attributeName(),t)}else{this.positiveOptions.set(t.attributeName(),t)}}));this.negativeOptions.forEach(((t,r)=>{if(this.positiveOptions.has(r)){this.dualOptions.add(r)}}))}valueFromOption(t,r){const i=r.attributeName();if(!this.dualOptions.has(i))return true;const o=this.negativeOptions.get(i).presetArg;const a=o!==undefined?o:false;return r.negate===(a===t)}}function camelcase(t){return t.split("-").reduce(((t,r)=>t+r[0].toUpperCase()+r.slice(1)))}function splitOptionFlags(t){let r;let i;const o=/^-[^-]$/;const a=/^--[^-]/;const c=t.split(/[ |,]+/).concat("guard");if(o.test(c[0]))r=c.shift();if(a.test(c[0]))i=c.shift();if(!r&&o.test(c[0]))r=c.shift();if(!r&&a.test(c[0])){r=i;i=c.shift()}if(c[0].startsWith("-")){const r=c[0];const i=`option creation failed due to '${r}' in option flags '${t}'`;if(/^-[^-][^-]/.test(r))throw new Error(`${i}\n- a short flag is a single dash and a single character\n - either use a single dash and a single character (for a short flag)\n - or use a double dash for a long option (and can have two, like '--ws, --workspace')`);if(o.test(r))throw new Error(`${i}\n- too many short flags`);if(a.test(r))throw new Error(`${i}\n- too many long flags`);throw new Error(`${i}\n- unrecognised flag format`)}if(r===undefined&&i===undefined)throw new Error(`option creation failed due to no flags found in '${t}'.`);return{shortFlag:r,longFlag:i}}r.Option=Option;r.DualOptions=DualOptions},4155:(t,r)=>{const i=3;function editDistance(t,r){if(Math.abs(t.length-r.length)>i)return Math.max(t.length,r.length);const o=[];for(let r=0;r<=t.length;r++){o[r]=[r]}for(let t=0;t<=r.length;t++){o[0][t]=t}for(let i=1;i<=r.length;i++){for(let a=1;a<=t.length;a++){let c=1;if(t[a-1]===r[i-1]){c=0}else{c=1}o[a][i]=Math.min(o[a-1][i]+1,o[a][i-1]+1,o[a-1][i-1]+c);if(a>1&&i>1&&t[a-1]===r[i-2]&&t[a-2]===r[i-1]){o[a][i]=Math.min(o[a][i],o[a-2][i-2]+1)}}}return o[t.length][r.length]}function suggestSimilar(t,r){if(!r||r.length===0)return"";r=Array.from(new Set(r));const o=t.startsWith("--");if(o){t=t.slice(2);r=r.map((t=>t.slice(2)))}let a=[];let c=i;const l=.4;r.forEach((r=>{if(r.length<=1)return;const i=editDistance(t,r);const o=Math.max(t.length,r.length);const u=(o-i)/o;if(u>l){if(i<c){c=i;a=[r]}else if(i===c){a.push(r)}}}));a.sort(((t,r)=>t.localeCompare(r)));if(o){a=a.map((t=>`--${t}`))}if(a.length>1){return`\n(Did you mean one of ${a.join(", ")}?)`}if(a.length===1){return`\n(Did you mean ${a[0]}?)`}return""}r.suggestSimilar=suggestSimilar},9296:(t,r,i)=>{"use strict";const{normalizeIPv6:o,normalizeIPv4:a,removeDotSegments:c,recomposeAuthority:l,normalizeComponentEncoding:u}=i(8885);const h=i(2708);function normalize(t,r){if(typeof t==="string"){t=serialize(parse(t,r),r)}else if(typeof t==="object"){t=parse(serialize(t,r),r)}return t}function resolve(t,r,i){const o=Object.assign({scheme:"null"},i);const a=resolveComponents(parse(t,o),parse(r,o),o,true);return serialize(a,{...o,skipEscape:true})}function resolveComponents(t,r,i,o){const a={};if(!o){t=parse(serialize(t,i),i);r=parse(serialize(r,i),i)}i=i||{};if(!i.tolerant&&r.scheme){a.scheme=r.scheme;a.userinfo=r.userinfo;a.host=r.host;a.port=r.port;a.path=c(r.path||"");a.query=r.query}else{if(r.userinfo!==undefined||r.host!==undefined||r.port!==undefined){a.userinfo=r.userinfo;a.host=r.host;a.port=r.port;a.path=c(r.path||"");a.query=r.query}else{if(!r.path){a.path=t.path;if(r.query!==undefined){a.query=r.query}else{a.query=t.query}}else{if(r.path.charAt(0)==="/"){a.path=c(r.path)}else{if((t.userinfo!==undefined||t.host!==undefined||t.port!==undefined)&&!t.path){a.path="/"+r.path}else if(!t.path){a.path=r.path}else{a.path=t.path.slice(0,t.path.lastIndexOf("/")+1)+r.path}a.path=c(a.path)}a.query=r.query}a.userinfo=t.userinfo;a.host=t.host;a.port=t.port}a.scheme=t.scheme}a.fragment=r.fragment;return a}function equal(t,r,i){if(typeof t==="string"){t=unescape(t);t=serialize(u(parse(t,i),true),{...i,skipEscape:true})}else if(typeof t==="object"){t=serialize(u(t,true),{...i,skipEscape:true})}if(typeof r==="string"){r=unescape(r);r=serialize(u(parse(r,i),true),{...i,skipEscape:true})}else if(typeof r==="object"){r=serialize(u(r,true),{...i,skipEscape:true})}return t.toLowerCase()===r.toLowerCase()}function serialize(t,r){const i={host:t.host,scheme:t.scheme,userinfo:t.userinfo,port:t.port,path:t.path,query:t.query,nid:t.nid,nss:t.nss,uuid:t.uuid,fragment:t.fragment,reference:t.reference,resourceName:t.resourceName,secure:t.secure,error:""};const o=Object.assign({},r);const a=[];const u=h[(o.scheme||i.scheme||"").toLowerCase()];if(u&&u.serialize)u.serialize(i,o);if(i.path!==undefined){if(!o.skipEscape){i.path=escape(i.path);if(i.scheme!==undefined){i.path=i.path.split("%3A").join(":")}}else{i.path=unescape(i.path)}}if(o.reference!=="suffix"&&i.scheme){a.push(i.scheme,":")}const d=l(i);if(d!==undefined){if(o.reference!=="suffix"){a.push("//")}a.push(d);if(i.path&&i.path.charAt(0)!=="/"){a.push("/")}}if(i.path!==undefined){let t=i.path;if(!o.absolutePath&&(!u||!u.absolutePath)){t=c(t)}if(d===undefined){t=t.replace(/^\/\//u,"/%2F")}a.push(t)}if(i.query!==undefined){a.push("?",i.query)}if(i.fragment!==undefined){a.push("#",i.fragment)}return a.join("")}const d=Array.from({length:127},((t,r)=>/[^!"$&'()*+,\-.;=_`a-z{}~]/u.test(String.fromCharCode(r))));function nonSimpleDomain(t){let r=0;for(let i=0,o=t.length;i<o;++i){r=t.charCodeAt(i);if(r>126||d[r]){return true}}return false}const p=/^(?:([^#/:?]+):)?(?:\/\/((?:([^#/?@]*)@)?(\[[^#/?\]]+\]|[^#/:?]*)(?::(\d*))?))?([^#?]*)(?:\?([^#]*))?(?:#((?:.|[\n\r])*))?/u;function parse(t,r){const i=Object.assign({},r);const c={scheme:undefined,userinfo:undefined,host:"",port:undefined,path:"",query:undefined,fragment:undefined};const l=t.indexOf("%")!==-1;let u=false;if(i.reference==="suffix")t=(i.scheme?i.scheme+":":"")+"//"+t;const d=t.match(p);if(d){c.scheme=d[1];c.userinfo=d[3];c.host=d[4];c.port=parseInt(d[5],10);c.path=d[6]||"";c.query=d[7];c.fragment=d[8];if(isNaN(c.port)){c.port=d[5]}if(c.host){const t=a(c.host);if(t.isIPV4===false){const r=o(t.host);c.host=r.host.toLowerCase();u=r.isIPV6}else{c.host=t.host;u=true}}if(c.scheme===undefined&&c.userinfo===undefined&&c.host===undefined&&c.port===undefined&&c.query===undefined&&!c.path){c.reference="same-document"}else if(c.scheme===undefined){c.reference="relative"}else if(c.fragment===undefined){c.reference="absolute"}else{c.reference="uri"}if(i.reference&&i.reference!=="suffix"&&i.reference!==c.reference){c.error=c.error||"URI is not a "+i.reference+" reference."}const t=h[(i.scheme||c.scheme||"").toLowerCase()];if(!i.unicodeSupport&&(!t||!t.unicodeSupport)){if(c.host&&(i.domainHost||t&&t.domainHost)&&u===false&&nonSimpleDomain(c.host)){try{c.host=URL.domainToASCII(c.host.toLowerCase())}catch(t){c.error=c.error||"Host's domain name can not be converted to ASCII: "+t}}}if(!t||t&&!t.skipNormalize){if(l&&c.scheme!==undefined){c.scheme=unescape(c.scheme)}if(l&&c.host!==undefined){c.host=unescape(c.host)}if(c.path){c.path=escape(unescape(c.path))}if(c.fragment){c.fragment=encodeURI(decodeURIComponent(c.fragment))}}if(t&&t.parse){t.parse(c,i)}}else{c.error=c.error||"URI can not be parsed."}return c}const m={SCHEMES:h,normalize:normalize,resolve:resolve,resolveComponents:resolveComponents,equal:equal,serialize:serialize,parse:parse};t.exports=m;t.exports["default"]=m;t.exports.fastUri=m},2708:t=>{"use strict";const r=/^[\da-f]{8}-[\da-f]{4}-[\da-f]{4}-[\da-f]{4}-[\da-f]{12}$/iu;const i=/([\da-z][\d\-a-z]{0,31}):((?:[\w!$'()*+,\-.:;=@]|%[\da-f]{2})+)/iu;function isSecure(t){return typeof t.secure==="boolean"?t.secure:String(t.scheme).toLowerCase()==="wss"}function httpParse(t){if(!t.host){t.error=t.error||"HTTP URIs must have a host."}return t}function httpSerialize(t){const r=String(t.scheme).toLowerCase()==="https";if(t.port===(r?443:80)||t.port===""){t.port=undefined}if(!t.path){t.path="/"}return t}function wsParse(t){t.secure=isSecure(t);t.resourceName=(t.path||"/")+(t.query?"?"+t.query:"");t.path=undefined;t.query=undefined;return t}function wsSerialize(t){if(t.port===(isSecure(t)?443:80)||t.port===""){t.port=undefined}if(typeof t.secure==="boolean"){t.scheme=t.secure?"wss":"ws";t.secure=undefined}if(t.resourceName){const[r,i]=t.resourceName.split("?");t.path=r&&r!=="/"?r:undefined;t.query=i;t.resourceName=undefined}t.fragment=undefined;return t}function urnParse(t,r){if(!t.path){t.error="URN can not be parsed";return t}const o=t.path.match(i);if(o){const i=r.scheme||t.scheme||"urn";t.nid=o[1].toLowerCase();t.nss=o[2];const a=`${i}:${r.nid||t.nid}`;const c=d[a];t.path=undefined;if(c){t=c.parse(t,r)}}else{t.error=t.error||"URN can not be parsed."}return t}function urnSerialize(t,r){const i=r.scheme||t.scheme||"urn";const o=t.nid.toLowerCase();const a=`${i}:${r.nid||o}`;const c=d[a];if(c){t=c.serialize(t,r)}const l=t;const u=t.nss;l.path=`${o||r.nid}:${u}`;r.skipEscape=true;return l}function urnuuidParse(t,i){const o=t;o.uuid=o.nss;o.nss=undefined;if(!i.tolerant&&(!o.uuid||!r.test(o.uuid))){o.error=o.error||"UUID is not valid."}return o}function urnuuidSerialize(t){const r=t;r.nss=(t.uuid||"").toLowerCase();return r}const o={scheme:"http",domainHost:true,parse:httpParse,serialize:httpSerialize};const a={scheme:"https",domainHost:o.domainHost,parse:httpParse,serialize:httpSerialize};const c={scheme:"ws",domainHost:true,parse:wsParse,serialize:wsSerialize};const l={scheme:"wss",domainHost:c.domainHost,parse:c.parse,serialize:c.serialize};const u={scheme:"urn",parse:urnParse,serialize:urnSerialize,skipNormalize:true};const h={scheme:"urn:uuid",parse:urnuuidParse,serialize:urnuuidSerialize,skipNormalize:true};const d={http:o,https:a,ws:c,wss:l,urn:u,"urn:uuid":h};t.exports=d},1137:t=>{"use strict";const r={0:0,1:1,2:2,3:3,4:4,5:5,6:6,7:7,8:8,9:9,a:10,A:10,b:11,B:11,c:12,C:12,d:13,D:13,e:14,E:14,f:15,F:15};t.exports={HEX:r}},8885:(t,r,i)=>{"use strict";const{HEX:o}=i(1137);const a=/^(?:(?:25[0-5]|2[0-4]\d|1\d{2}|[1-9]\d|\d)\.){3}(?:25[0-5]|2[0-4]\d|1\d{2}|[1-9]\d|\d)$/u;function normalizeIPv4(t){if(findToken(t,".")<3){return{host:t,isIPV4:false}}const r=t.match(a)||[];const[i]=r;if(i){return{host:stripLeadingZeros(i,"."),isIPV4:true}}else{return{host:t,isIPV4:false}}}function stringArrayToHexStripped(t,r=false){let i="";let a=true;for(const r of t){if(o[r]===undefined)return undefined;if(r!=="0"&&a===true)a=false;if(!a)i+=r}if(r&&i.length===0)i="0";return i}function getIPV6(t){let r=0;const i={error:false,address:"",zone:""};const o=[];const a=[];let c=false;let l=false;let u=false;function consume(){if(a.length){if(c===false){const t=stringArrayToHexStripped(a);if(t!==undefined){o.push(t)}else{i.error=true;return false}}a.length=0}return true}for(let h=0;h<t.length;h++){const d=t[h];if(d==="["||d==="]"){continue}if(d===":"){if(l===true){u=true}if(!consume()){break}r++;o.push(":");if(r>7){i.error=true;break}if(h-1>=0&&t[h-1]===":"){l=true}continue}else if(d==="%"){if(!consume()){break}c=true}else{a.push(d);continue}}if(a.length){if(c){i.zone=a.join("")}else if(u){o.push(a.join(""))}else{o.push(stringArrayToHexStripped(a))}}i.address=o.join("");return i}function normalizeIPv6(t){if(findToken(t,":")<2){return{host:t,isIPV6:false}}const r=getIPV6(t);if(!r.error){let t=r.address;let i=r.address;if(r.zone){t+="%"+r.zone;i+="%25"+r.zone}return{host:t,escapedHost:i,isIPV6:true}}else{return{host:t,isIPV6:false}}}function stripLeadingZeros(t,r){let i="";let o=true;const a=t.length;for(let c=0;c<a;c++){const l=t[c];if(l==="0"&&o){if(c+1<=a&&t[c+1]===r||c+1===a){i+=l;o=false}}else{if(l===r){o=true}else{o=false}i+=l}}return i}function findToken(t,r){let i=0;for(let o=0;o<t.length;o++){if(t[o]===r)i++}return i}const c=/^\.\.?\//u;const l=/^\/\.(?:\/|$)/u;const u=/^\/\.\.(?:\/|$)/u;const h=/^\/?(?:.|\n)*?(?=\/|$)/u;function removeDotSegments(t){const r=[];while(t.length){if(t.match(c)){t=t.replace(c,"")}else if(t.match(l)){t=t.replace(l,"/")}else if(t.match(u)){t=t.replace(u,"/");r.pop()}else if(t==="."||t===".."){t=""}else{const i=t.match(h);if(i){const o=i[0];t=t.slice(o.length);r.push(o)}else{throw new Error("Unexpected dot segment condition")}}}return r.join("")}function normalizeComponentEncoding(t,r){const i=r!==true?escape:unescape;if(t.scheme!==undefined){t.scheme=i(t.scheme)}if(t.userinfo!==undefined){t.userinfo=i(t.userinfo)}if(t.host!==undefined){t.host=i(t.host)}if(t.path!==undefined){t.path=i(t.path)}if(t.query!==undefined){t.query=i(t.query)}if(t.fragment!==undefined){t.fragment=i(t.fragment)}return t}function recomposeAuthority(t){const r=[];if(t.userinfo!==undefined){r.push(t.userinfo);r.push("@")}if(t.host!==undefined){let i=unescape(t.host);const o=normalizeIPv4(i);if(o.isIPV4){i=o.host}else{const r=normalizeIPv6(o.host);if(r.isIPV6===true){i=`[${r.escapedHost}]`}else{i=t.host}}r.push(i)}if(typeof t.port==="number"||typeof t.port==="string"){r.push(":");r.push(String(t.port))}return r.length?r.join(""):undefined}t.exports={recomposeAuthority:recomposeAuthority,normalizeComponentEncoding:normalizeComponentEncoding,removeDotSegments:removeDotSegments,normalizeIPv4:normalizeIPv4,normalizeIPv6:normalizeIPv6,stringArrayToHexStripped:stringArrayToHexStripped}},2200:t=>{"use strict";t.exports=JSON.parse('{"$id":"https://raw.githubusercontent.com/ajv-validator/ajv/master/lib/refs/data.json#","description":"Meta-schema for $data reference (JSON AnySchema extension proposal)","type":"object","required":["$data"],"properties":{"$data":{"type":"string","anyOf":[{"format":"relative-json-pointer"},{"format":"json-pointer"}]}},"additionalProperties":false}')},5727:t=>{"use strict";t.exports=JSON.parse('{"$schema":"https://json-schema.org/draft/2020-12/schema","$id":"https://json-schema.org/draft/2020-12/meta/applicator","$vocabulary":{"https://json-schema.org/draft/2020-12/vocab/applicator":true},"$dynamicAnchor":"meta","title":"Applicator vocabulary meta-schema","type":["object","boolean"],"properties":{"prefixItems":{"$ref":"#/$defs/schemaArray"},"items":{"$dynamicRef":"#meta"},"contains":{"$dynamicRef":"#meta"},"additionalProperties":{"$dynamicRef":"#meta"},"properties":{"type":"object","additionalProperties":{"$dynamicRef":"#meta"},"default":{}},"patternProperties":{"type":"object","additionalProperties":{"$dynamicRef":"#meta"},"propertyNames":{"format":"regex"},"default":{}},"dependentSchemas":{"type":"object","additionalProperties":{"$dynamicRef":"#meta"},"default":{}},"propertyNames":{"$dynamicRef":"#meta"},"if":{"$dynamicRef":"#meta"},"then":{"$dynamicRef":"#meta"},"else":{"$dynamicRef":"#meta"},"allOf":{"$ref":"#/$defs/schemaArray"},"anyOf":{"$ref":"#/$defs/schemaArray"},"oneOf":{"$ref":"#/$defs/schemaArray"},"not":{"$dynamicRef":"#meta"}},"$defs":{"schemaArray":{"type":"array","minItems":1,"items":{"$dynamicRef":"#meta"}}}}')},1447:t=>{"use strict";t.exports=JSON.parse('{"$schema":"https://json-schema.org/draft/2020-12/schema","$id":"https://json-schema.org/draft/2020-12/meta/content","$vocabulary":{"https://json-schema.org/draft/2020-12/vocab/content":true},"$dynamicAnchor":"meta","title":"Content vocabulary meta-schema","type":["object","boolean"],"properties":{"contentEncoding":{"type":"string"},"contentMediaType":{"type":"string"},"contentSchema":{"$dynamicRef":"#meta"}}}')},4877:t=>{"use strict";t.exports=JSON.parse('{"$schema":"https://json-schema.org/draft/2020-12/schema","$id":"https://json-schema.org/draft/2020-12/meta/core","$vocabulary":{"https://json-schema.org/draft/2020-12/vocab/core":true},"$dynamicAnchor":"meta","title":"Core vocabulary meta-schema","type":["object","boolean"],"properties":{"$id":{"$ref":"#/$defs/uriReferenceString","$comment":"Non-empty fragments not allowed.","pattern":"^[^#]*#?$"},"$schema":{"$ref":"#/$defs/uriString"},"$ref":{"$ref":"#/$defs/uriReferenceString"},"$anchor":{"$ref":"#/$defs/anchorString"},"$dynamicRef":{"$ref":"#/$defs/uriReferenceString"},"$dynamicAnchor":{"$ref":"#/$defs/anchorString"},"$vocabulary":{"type":"object","propertyNames":{"$ref":"#/$defs/uriString"},"additionalProperties":{"type":"boolean"}},"$comment":{"type":"string"},"$defs":{"type":"object","additionalProperties":{"$dynamicRef":"#meta"}}},"$defs":{"anchorString":{"type":"string","pattern":"^[A-Za-z_][-A-Za-z0-9._]*$"},"uriString":{"type":"string","format":"uri"},"uriReferenceString":{"type":"string","format":"uri-reference"}}}')},9041:t=>{"use strict";t.exports=JSON.parse('{"$schema":"https://json-schema.org/draft/2020-12/schema","$id":"https://json-schema.org/draft/2020-12/meta/format-annotation","$vocabulary":{"https://json-schema.org/draft/2020-12/vocab/format-annotation":true},"$dynamicAnchor":"meta","title":"Format vocabulary meta-schema for annotation results","type":["object","boolean"],"properties":{"format":{"type":"string"}}}')},5118:t=>{"use strict";t.exports=JSON.parse('{"$schema":"https://json-schema.org/draft/2020-12/schema","$id":"https://json-schema.org/draft/2020-12/meta/meta-data","$vocabulary":{"https://json-schema.org/draft/2020-12/vocab/meta-data":true},"$dynamicAnchor":"meta","title":"Meta-data vocabulary meta-schema","type":["object","boolean"],"properties":{"title":{"type":"string"},"description":{"type":"string"},"default":true,"deprecated":{"type":"boolean","default":false},"readOnly":{"type":"boolean","default":false},"writeOnly":{"type":"boolean","default":false},"examples":{"type":"array","items":true}}}')},8606:t=>{"use strict";t.exports=JSON.parse('{"$schema":"https://json-schema.org/draft/2020-12/schema","$id":"https://json-schema.org/draft/2020-12/meta/unevaluated","$vocabulary":{"https://json-schema.org/draft/2020-12/vocab/unevaluated":true},"$dynamicAnchor":"meta","title":"Unevaluated applicator vocabulary meta-schema","type":["object","boolean"],"properties":{"unevaluatedItems":{"$dynamicRef":"#meta"},"unevaluatedProperties":{"$dynamicRef":"#meta"}}}')},3073:t=>{"use strict";t.exports=JSON.parse('{"$schema":"https://json-schema.org/draft/2020-12/schema","$id":"https://json-schema.org/draft/2020-12/meta/validation","$vocabulary":{"https://json-schema.org/draft/2020-12/vocab/validation":true},"$dynamicAnchor":"meta","title":"Validation vocabulary meta-schema","type":["object","boolean"],"properties":{"type":{"anyOf":[{"$ref":"#/$defs/simpleTypes"},{"type":"array","items":{"$ref":"#/$defs/simpleTypes"},"minItems":1,"uniqueItems":true}]},"const":true,"enum":{"type":"array","items":true},"multipleOf":{"type":"number","exclusiveMinimum":0},"maximum":{"type":"number"},"exclusiveMaximum":{"type":"number"},"minimum":{"type":"number"},"exclusiveMinimum":{"type":"number"},"maxLength":{"$ref":"#/$defs/nonNegativeInteger"},"minLength":{"$ref":"#/$defs/nonNegativeIntegerDefault0"},"pattern":{"type":"string","format":"regex"},"maxItems":{"$ref":"#/$defs/nonNegativeInteger"},"minItems":{"$ref":"#/$defs/nonNegativeIntegerDefault0"},"uniqueItems":{"type":"boolean","default":false},"maxContains":{"$ref":"#/$defs/nonNegativeInteger"},"minContains":{"$ref":"#/$defs/nonNegativeInteger","default":1},"maxProperties":{"$ref":"#/$defs/nonNegativeInteger"},"minProperties":{"$ref":"#/$defs/nonNegativeIntegerDefault0"},"required":{"$ref":"#/$defs/stringArray"},"dependentRequired":{"type":"object","additionalProperties":{"$ref":"#/$defs/stringArray"}}},"$defs":{"nonNegativeInteger":{"type":"integer","minimum":0},"nonNegativeIntegerDefault0":{"$ref":"#/$defs/nonNegativeInteger","default":0},"simpleTypes":{"enum":["array","boolean","integer","null","number","object","string"]},"stringArray":{"type":"array","items":{"type":"string"},"uniqueItems":true,"default":[]}}}')},1115:t=>{"use strict";t.exports=JSON.parse('{"$schema":"https://json-schema.org/draft/2020-12/schema","$id":"https://json-schema.org/draft/2020-12/schema","$vocabulary":{"https://json-schema.org/draft/2020-12/vocab/core":true,"https://json-schema.org/draft/2020-12/vocab/applicator":true,"https://json-schema.org/draft/2020-12/vocab/unevaluated":true,"https://json-schema.org/draft/2020-12/vocab/validation":true,"https://json-schema.org/draft/2020-12/vocab/meta-data":true,"https://json-schema.org/draft/2020-12/vocab/format-annotation":true,"https://json-schema.org/draft/2020-12/vocab/content":true},"$dynamicAnchor":"meta","title":"Core and Validation specifications meta-schema","allOf":[{"$ref":"meta/core"},{"$ref":"meta/applicator"},{"$ref":"meta/unevaluated"},{"$ref":"meta/validation"},{"$ref":"meta/meta-data"},{"$ref":"meta/format-annotation"},{"$ref":"meta/content"}],"type":["object","boolean"],"$comment":"This meta-schema also defines keywords that have appeared in previous drafts in order to prevent incompatible extensions as they remain in common use.","properties":{"definitions":{"$comment":"\\"definitions\\" has been replaced by \\"$defs\\".","type":"object","additionalProperties":{"$dynamicRef":"#meta"},"deprecated":true,"default":{}},"dependencies":{"$comment":"\\"dependencies\\" has been split and replaced by \\"dependentSchemas\\" and \\"dependentRequired\\" in order to serve their differing semantics.","type":"object","additionalProperties":{"anyOf":[{"$dynamicRef":"#meta"},{"$ref":"meta/validation#/$defs/stringArray"}]},"deprecated":true,"default":{}},"$recursiveAnchor":{"$comment":"\\"$recursiveAnchor\\" has been replaced by \\"$dynamicAnchor\\".","$ref":"meta/core#/$defs/anchorString","deprecated":true},"$recursiveRef":{"$comment":"\\"$recursiveRef\\" has been replaced by \\"$dynamicRef\\".","$ref":"meta/core#/$defs/uriReferenceString","deprecated":true}}}')},7578:t=>{"use strict";t.exports=JSON.parse('{"$schema":"http://json-schema.org/draft-07/schema#","$id":"http://json-schema.org/draft-07/schema#","title":"Core schema meta-schema","definitions":{"schemaArray":{"type":"array","minItems":1,"items":{"$ref":"#"}},"nonNegativeInteger":{"type":"integer","minimum":0},"nonNegativeIntegerDefault0":{"allOf":[{"$ref":"#/definitions/nonNegativeInteger"},{"default":0}]},"simpleTypes":{"enum":["array","boolean","integer","null","number","object","string"]},"stringArray":{"type":"array","items":{"type":"string"},"uniqueItems":true,"default":[]}},"type":["object","boolean"],"properties":{"$id":{"type":"string","format":"uri-reference"},"$schema":{"type":"string","format":"uri"},"$ref":{"type":"string","format":"uri-reference"},"$comment":{"type":"string"},"title":{"type":"string"},"description":{"type":"string"},"default":true,"readOnly":{"type":"boolean","default":false},"examples":{"type":"array","items":true},"multipleOf":{"type":"number","exclusiveMinimum":0},"maximum":{"type":"number"},"exclusiveMaximum":{"type":"number"},"minimum":{"type":"number"},"exclusiveMinimum":{"type":"number"},"maxLength":{"$ref":"#/definitions/nonNegativeInteger"},"minLength":{"$ref":"#/definitions/nonNegativeIntegerDefault0"},"pattern":{"type":"string","format":"regex"},"additionalItems":{"$ref":"#"},"items":{"anyOf":[{"$ref":"#"},{"$ref":"#/definitions/schemaArray"}],"default":true},"maxItems":{"$ref":"#/definitions/nonNegativeInteger"},"minItems":{"$ref":"#/definitions/nonNegativeIntegerDefault0"},"uniqueItems":{"type":"boolean","default":false},"contains":{"$ref":"#"},"maxProperties":{"$ref":"#/definitions/nonNegativeInteger"},"minProperties":{"$ref":"#/definitions/nonNegativeIntegerDefault0"},"required":{"$ref":"#/definitions/stringArray"},"additionalProperties":{"$ref":"#"},"definitions":{"type":"object","additionalProperties":{"$ref":"#"},"default":{}},"properties":{"type":"object","additionalProperties":{"$ref":"#"},"default":{}},"patternProperties":{"type":"object","additionalProperties":{"$ref":"#"},"propertyNames":{"format":"regex"},"default":{}},"dependencies":{"type":"object","additionalProperties":{"anyOf":[{"$ref":"#"},{"$ref":"#/definitions/stringArray"}]}},"propertyNames":{"$ref":"#"},"const":true,"enum":{"type":"array","items":true,"minItems":1,"uniqueItems":true},"type":{"anyOf":[{"$ref":"#/definitions/simpleTypes"},{"type":"array","items":{"$ref":"#/definitions/simpleTypes"},"minItems":1,"uniqueItems":true}]},"format":{"type":"string"},"contentMediaType":{"type":"string"},"contentEncoding":{"type":"string"},"if":{"$ref":"#"},"then":{"$ref":"#"},"else":{"$ref":"#"},"allOf":{"$ref":"#/definitions/schemaArray"},"anyOf":{"$ref":"#/definitions/schemaArray"},"oneOf":{"$ref":"#/definitions/schemaArray"},"not":{"$ref":"#"}},"default":true}')},4839:t=>{"use strict";t.exports=JSON.parse('[{"name":"Agola CI","constant":"AGOLA","env":"AGOLA_GIT_REF","pr":"AGOLA_PULL_REQUEST_ID"},{"name":"Appcircle","constant":"APPCIRCLE","env":"AC_APPCIRCLE","pr":{"env":"AC_GIT_PR","ne":"false"}},{"name":"AppVeyor","constant":"APPVEYOR","env":"APPVEYOR","pr":"APPVEYOR_PULL_REQUEST_NUMBER"},{"name":"AWS CodeBuild","constant":"CODEBUILD","env":"CODEBUILD_BUILD_ARN","pr":{"env":"CODEBUILD_WEBHOOK_EVENT","any":["PULL_REQUEST_CREATED","PULL_REQUEST_UPDATED","PULL_REQUEST_REOPENED"]}},{"name":"Azure Pipelines","constant":"AZURE_PIPELINES","env":"TF_BUILD","pr":{"BUILD_REASON":"PullRequest"}},{"name":"Bamboo","constant":"BAMBOO","env":"bamboo_planKey"},{"name":"Bitbucket Pipelines","constant":"BITBUCKET","env":"BITBUCKET_COMMIT","pr":"BITBUCKET_PR_ID"},{"name":"Bitrise","constant":"BITRISE","env":"BITRISE_IO","pr":"BITRISE_PULL_REQUEST"},{"name":"Buddy","constant":"BUDDY","env":"BUDDY_WORKSPACE_ID","pr":"BUDDY_EXECUTION_PULL_REQUEST_ID"},{"name":"Buildkite","constant":"BUILDKITE","env":"BUILDKITE","pr":{"env":"BUILDKITE_PULL_REQUEST","ne":"false"}},{"name":"CircleCI","constant":"CIRCLE","env":"CIRCLECI","pr":"CIRCLE_PULL_REQUEST"},{"name":"Cirrus CI","constant":"CIRRUS","env":"CIRRUS_CI","pr":"CIRRUS_PR"},{"name":"Cloudflare Pages","constant":"CLOUDFLARE_PAGES","env":"CF_PAGES"},{"name":"Cloudflare Workers","constant":"CLOUDFLARE_WORKERS","env":"WORKERS_CI"},{"name":"Codefresh","constant":"CODEFRESH","env":"CF_BUILD_ID","pr":{"any":["CF_PULL_REQUEST_NUMBER","CF_PULL_REQUEST_ID"]}},{"name":"Codemagic","constant":"CODEMAGIC","env":"CM_BUILD_ID","pr":"CM_PULL_REQUEST"},{"name":"Codeship","constant":"CODESHIP","env":{"CI_NAME":"codeship"}},{"name":"Drone","constant":"DRONE","env":"DRONE","pr":{"DRONE_BUILD_EVENT":"pull_request"}},{"name":"dsari","constant":"DSARI","env":"DSARI"},{"name":"Earthly","constant":"EARTHLY","env":"EARTHLY_CI"},{"name":"Expo Application Services","constant":"EAS","env":"EAS_BUILD"},{"name":"Gerrit","constant":"GERRIT","env":"GERRIT_PROJECT"},{"name":"Gitea Actions","constant":"GITEA_ACTIONS","env":"GITEA_ACTIONS"},{"name":"GitHub Actions","constant":"GITHUB_ACTIONS","env":"GITHUB_ACTIONS","pr":{"GITHUB_EVENT_NAME":"pull_request"}},{"name":"GitLab CI","constant":"GITLAB","env":"GITLAB_CI","pr":"CI_MERGE_REQUEST_ID"},{"name":"GoCD","constant":"GOCD","env":"GO_PIPELINE_LABEL"},{"name":"Google Cloud Build","constant":"GOOGLE_CLOUD_BUILD","env":"BUILDER_OUTPUT"},{"name":"Harness CI","constant":"HARNESS","env":"HARNESS_BUILD_ID"},{"name":"Heroku","constant":"HEROKU","env":{"env":"NODE","includes":"/app/.heroku/node/bin/node"}},{"name":"Hudson","constant":"HUDSON","env":"HUDSON_URL"},{"name":"Jenkins","constant":"JENKINS","env":["JENKINS_URL","BUILD_ID"],"pr":{"any":["ghprbPullId","CHANGE_ID"]}},{"name":"LayerCI","constant":"LAYERCI","env":"LAYERCI","pr":"LAYERCI_PULL_REQUEST"},{"name":"Magnum CI","constant":"MAGNUM","env":"MAGNUM"},{"name":"Netlify CI","constant":"NETLIFY","env":"NETLIFY","pr":{"env":"PULL_REQUEST","ne":"false"}},{"name":"Nevercode","constant":"NEVERCODE","env":"NEVERCODE","pr":{"env":"NEVERCODE_PULL_REQUEST","ne":"false"}},{"name":"Prow","constant":"PROW","env":"PROW_JOB_ID"},{"name":"ReleaseHub","constant":"RELEASEHUB","env":"RELEASE_BUILD_ID"},{"name":"Render","constant":"RENDER","env":"RENDER","pr":{"IS_PULL_REQUEST":"true"}},{"name":"Sail CI","constant":"SAIL","env":"SAILCI","pr":"SAIL_PULL_REQUEST_NUMBER"},{"name":"Screwdriver","constant":"SCREWDRIVER","env":"SCREWDRIVER","pr":{"env":"SD_PULL_REQUEST","ne":"false"}},{"name":"Semaphore","constant":"SEMAPHORE","env":"SEMAPHORE","pr":"PULL_REQUEST_NUMBER"},{"name":"Sourcehut","constant":"SOURCEHUT","env":{"CI_NAME":"sourcehut"}},{"name":"Strider CD","constant":"STRIDER","env":"STRIDER"},{"name":"TaskCluster","constant":"TASKCLUSTER","env":["TASK_ID","RUN_ID"]},{"name":"TeamCity","constant":"TEAMCITY","env":"TEAMCITY_VERSION"},{"name":"Travis CI","constant":"TRAVIS","env":"TRAVIS","pr":{"env":"TRAVIS_PULL_REQUEST","ne":"false"}},{"name":"Vela","constant":"VELA","env":"VELA","pr":{"VELA_PULL_REQUEST":"1"}},{"name":"Vercel","constant":"VERCEL","env":{"any":["NOW_BUILDER","VERCEL"]},"pr":"VERCEL_GIT_PULL_REQUEST_ID"},{"name":"Visual Studio App Center","constant":"APPCENTER","env":"APPCENTER_BUILD_ID"},{"name":"Woodpecker","constant":"WOODPECKER","env":{"CI":"woodpecker"},"pr":{"CI_BUILD_EVENT":"pull_request"}},{"name":"Xcode Cloud","constant":"XCODE_CLOUD","env":"CI_XCODE_PROJECT","pr":"CI_PULL_REQUEST_NUMBER"},{"name":"Xcode Server","constant":"XCODE_SERVER","env":"XCS"}]')}};var r={};function __nccwpck_require__(i){var o=r[i];if(o!==undefined){return o.exports}var a=r[i]={exports:{}};var c=true;try{t[i](a,a.exports,__nccwpck_require__);c=false}finally{if(c)delete r[i]}return a.exports}(()=>{__nccwpck_require__.n=t=>{var r=t&&t.__esModule?()=>t["default"]:()=>t;__nccwpck_require__.d(r,{a:r});return r}})();(()=>{__nccwpck_require__.d=(t,r)=>{for(var i in r){if(__nccwpck_require__.o(r,i)&&!__nccwpck_require__.o(t,i)){Object.defineProperty(t,i,{enumerable:true,get:r[i]})}}}})();(()=>{__nccwpck_require__.o=(t,r)=>Object.prototype.hasOwnProperty.call(t,r)})();if(typeof __nccwpck_require__!=="undefined")__nccwpck_require__.ab=__dirname+"/";var i={};(()=>{"use strict";var t=__nccwpck_require__(4610);var r=__nccwpck_require__.n(t);var i=__nccwpck_require__(7542);const{DM:o,gu:a,er:c,Ww:l,b7:u,Di:h,a2:d,uB:p,ef:m,c$:g,_V:y}=i;const v=require("node:util");var b=__nccwpck_require__(1708);var w=__nccwpck_require__(3024);var E=__nccwpck_require__(6760);var S=__nccwpck_require__.n(E);const $=require("node:crypto");const R=require("node:assert");const isObject=t=>{const r=typeof t;return t!==null&&(r==="object"||r==="function")};const isEmptyObject=t=>isObject(t)&&Object.keys(t).length===0;const O=new Set(["__proto__","prototype","constructor"]);const P=new Set("0123456789");function getPathSegments(t){const r=[];let i="";let o="start";let a=false;for(const c of t){switch(c){case"\\":{if(o==="index"){throw new Error("Invalid character in an index")}if(o==="indexEnd"){throw new Error("Invalid character after an index")}if(a){i+=c}o="property";a=!a;break}case".":{if(o==="index"){throw new Error("Invalid character in an index")}if(o==="indexEnd"){o="property";break}if(a){a=false;i+=c;break}if(O.has(i)){return[]}r.push(i);i="";o="property";break}case"[":{if(o==="index"){throw new Error("Invalid character in an index")}if(o==="indexEnd"){o="index";break}if(a){a=false;i+=c;break}if(o==="property"){if(O.has(i)){return[]}r.push(i);i=""}o="index";break}case"]":{if(o==="index"){r.push(Number.parseInt(i,10));i="";o="indexEnd";break}if(o==="indexEnd"){throw new Error("Invalid character after an index")}}default:{if(o==="index"&&!P.has(c)){throw new Error("Invalid character in an index")}if(o==="indexEnd"){throw new Error("Invalid character after an index")}if(o==="start"){o="property"}if(a){a=false;i+="\\"}i+=c}}}if(a){i+="\\"}switch(o){case"property":{if(O.has(i)){return[]}r.push(i);break}case"index":{throw new Error("Index was not closed")}case"start":{r.push("");break}}return r}function isStringIndex(t,r){if(typeof r!=="number"&&Array.isArray(t)){const i=Number.parseInt(r,10);return Number.isInteger(i)&&t[i]===t[r]}return false}function assertNotStringIndex(t,r){if(isStringIndex(t,r)){throw new Error("Cannot use string index")}}function getProperty(t,r,i){if(!isObject(t)||typeof r!=="string"){return i===undefined?t:i}const o=getPathSegments(r);if(o.length===0){return i}for(let r=0;r<o.length;r++){const a=o[r];if(isStringIndex(t,a)){t=r===o.length-1?undefined:null}else{t=t[a]}if(t===undefined||t===null){if(r!==o.length-1){return i}break}}return t===undefined?i:t}function setProperty(t,r,i){if(!isObject(t)||typeof r!=="string"){return t}const o=t;const a=getPathSegments(r);for(let r=0;r<a.length;r++){const o=a[r];assertNotStringIndex(t,o);if(r===a.length-1){t[o]=i}else if(!isObject(t[o])){t[o]=typeof a[r+1]==="number"?[]:{}}t=t[o]}return o}function deleteProperty(t,r){if(!isObject(t)||typeof r!=="string"){return false}const i=getPathSegments(r);for(let r=0;r<i.length;r++){const o=i[r];assertNotStringIndex(t,o);if(r===i.length-1){delete t[o];return true}t=t[o];if(!isObject(t)){return false}}}function hasProperty(t,r){if(!isObject(t)||typeof r!=="string"){return false}const i=getPathSegments(r);if(i.length===0){return false}for(const r of i){if(!isObject(t)||!(r in t)||isStringIndex(t,r)){return false}t=t[r]}return true}function escapePath(t){if(typeof t!=="string"){throw new TypeError("Expected a string")}return t.replaceAll(/[\\.[]/g,"\\$&")}function entries(t){const r=Object.entries(t);if(Array.isArray(t)){return r.map((([t,r])=>[Number(t),r]))}return r}function stringifyPath(t){let r="";for(let[i,o]of entries(t)){if(typeof o==="number"){r+=`[${o}]`}else{o=escapePath(o);r+=i===0?o:`.${o}`}}return r}function*deepKeysIterator(t,r=[]){if(!isObject(t)||isEmptyObject(t)){if(r.length>0){yield stringifyPath(r)}return}for(const[i,o]of entries(t)){yield*deepKeysIterator(o,[...r,i])}}function deepKeys(t){return[...deepKeysIterator(t)]}const A=require("node:os");const x=A.homedir();const T=A.tmpdir();const{env:k}=b;const macos=t=>{const r=E.join(x,"Library");return{data:E.join(r,"Application Support",t),config:E.join(r,"Preferences",t),cache:E.join(r,"Caches",t),log:E.join(r,"Logs",t),temp:E.join(T,t)}};const windows=t=>{const r=k.APPDATA||E.join(x,"AppData","Roaming");const i=k.LOCALAPPDATA||E.join(x,"AppData","Local");return{data:E.join(i,t,"Data"),config:E.join(r,t,"Config"),cache:E.join(i,t,"Cache"),log:E.join(i,t,"Log"),temp:E.join(T,t)}};const linux=t=>{const r=E.basename(x);return{data:E.join(k.XDG_DATA_HOME||E.join(x,".local","share"),t),config:E.join(k.XDG_CONFIG_HOME||E.join(x,".config"),t),cache:E.join(k.XDG_CACHE_HOME||E.join(x,".cache"),t),log:E.join(k.XDG_STATE_HOME||E.join(x,".local","state"),t),temp:E.join(T,r,t)}};function envPaths(t,{suffix:r="nodejs"}={}){if(typeof t!=="string"){throw new TypeError(`Expected a string, got ${typeof t}`)}if(r){t+=`-${r}`}if(b.platform==="darwin"){return macos(t)}if(b.platform==="win32"){return windows(t)}return linux(t)}const attemptifyAsync=(t,r)=>function attemptified(...i){return t.apply(undefined,i).catch(r)};const attemptifySync=(t,r)=>function attemptified(...i){try{return t.apply(undefined,i)}catch(t){return r(t)}};const C=b.getuid?!b.getuid():false;const I=1e4;const NOOP=()=>undefined;const N={isChangeErrorOk:t=>{if(!N.isNodeError(t))return false;const{code:r}=t;if(r==="ENOSYS")return true;if(!C&&(r==="EINVAL"||r==="EPERM"))return true;return false},isNodeError:t=>t instanceof Error,isRetriableError:t=>{if(!N.isNodeError(t))return false;const{code:r}=t;if(r==="EMFILE"||r==="ENFILE"||r==="EAGAIN"||r==="EBUSY"||r==="EACCESS"||r==="EACCES"||r==="EACCS"||r==="EPERM")return true;return false},onChangeError:t=>{if(!N.isNodeError(t))throw t;if(N.isChangeErrorOk(t))return;throw t}};const D=N;class RetryfyQueue{constructor(){this.interval=25;this.intervalId=undefined;this.limit=I;this.queueActive=new Set;this.queueWaiting=new Set;this.init=()=>{if(this.intervalId)return;this.intervalId=setInterval(this.tick,this.interval)};this.reset=()=>{if(!this.intervalId)return;clearInterval(this.intervalId);delete this.intervalId};this.add=t=>{this.queueWaiting.add(t);if(this.queueActive.size<this.limit/2){this.tick()}else{this.init()}};this.remove=t=>{this.queueWaiting.delete(t);this.queueActive.delete(t)};this.schedule=()=>new Promise((t=>{const cleanup=()=>this.remove(resolver);const resolver=()=>t(cleanup);this.add(resolver)}));this.tick=()=>{if(this.queueActive.size>=this.limit)return;if(!this.queueWaiting.size)return this.reset();for(const t of this.queueWaiting){if(this.queueActive.size>=this.limit)break;this.queueWaiting.delete(t);this.queueActive.add(t);t()}}}}const L=new RetryfyQueue;const retryifyAsync=(t,r)=>function retrified(i){return function attempt(...o){return L.schedule().then((a=>{const onResolve=t=>{a();return t};const onReject=t=>{a();if(Date.now()>=i)throw t;if(r(t)){const t=Math.round(100*Math.random());const r=new Promise((r=>setTimeout(r,t)));return r.then((()=>attempt.apply(undefined,o)))}throw t};return t.apply(undefined,o).then(onResolve,onReject)}))}};const retryifySync=(t,r)=>function retrified(i){return function attempt(...o){try{return t.apply(undefined,o)}catch(t){if(Date.now()>i)throw t;if(r(t))return attempt.apply(undefined,o);throw t}}};const M={attempt:{chmod:attemptifyAsync((0,v.promisify)(w.chmod),D.onChangeError),chown:attemptifyAsync((0,v.promisify)(w.chown),D.onChangeError),close:attemptifyAsync((0,v.promisify)(w.close),NOOP),fsync:attemptifyAsync((0,v.promisify)(w.fsync),NOOP),mkdir:attemptifyAsync((0,v.promisify)(w.mkdir),NOOP),realpath:attemptifyAsync((0,v.promisify)(w.realpath),NOOP),stat:attemptifyAsync((0,v.promisify)(w.stat),NOOP),unlink:attemptifyAsync((0,v.promisify)(w.unlink),NOOP),chmodSync:attemptifySync(w.chmodSync,D.onChangeError),chownSync:attemptifySync(w.chownSync,D.onChangeError),closeSync:attemptifySync(w.closeSync,NOOP),existsSync:attemptifySync(w.existsSync,NOOP),fsyncSync:attemptifySync(w.fsync,NOOP),mkdirSync:attemptifySync(w.mkdirSync,NOOP),realpathSync:attemptifySync(w.realpathSync,NOOP),statSync:attemptifySync(w.statSync,NOOP),unlinkSync:attemptifySync(w.unlinkSync,NOOP)},retry:{close:retryifyAsync((0,v.promisify)(w.close),D.isRetriableError),fsync:retryifyAsync((0,v.promisify)(w.fsync),D.isRetriableError),open:retryifyAsync((0,v.promisify)(w.open),D.isRetriableError),readFile:retryifyAsync((0,v.promisify)(w.readFile),D.isRetriableError),rename:retryifyAsync((0,v.promisify)(w.rename),D.isRetriableError),stat:retryifyAsync((0,v.promisify)(w.stat),D.isRetriableError),write:retryifyAsync((0,v.promisify)(w.write),D.isRetriableError),writeFile:retryifyAsync((0,v.promisify)(w.writeFile),D.isRetriableError),closeSync:retryifySync(w.closeSync,D.isRetriableError),fsyncSync:retryifySync(w.fsyncSync,D.isRetriableError),openSync:retryifySync(w.openSync,D.isRetriableError),readFileSync:retryifySync(w.readFileSync,D.isRetriableError),renameSync:retryifySync(w.renameSync,D.isRetriableError),statSync:retryifySync(w.statSync,D.isRetriableError),writeSync:retryifySync(w.writeSync,D.isRetriableError),writeFileSync:retryifySync(w.writeFileSync,D.isRetriableError)}};const j=M;const U="utf8";const B=438;const H=511;const V={};const G={};const z=A.userInfo().uid;const q=A.userInfo().gid;const W=7500;const K=1e3;const Y=!!b.getuid;const Z=b.getuid?!b.getuid():false;const X=128;const J=1e4;const constants_NOOP=()=>{};const lang_isException=t=>t instanceof Error&&"code"in t;const lang_isFunction=t=>typeof t==="function";const lang_isString=t=>typeof t==="string";const lang_isUndefined=t=>t===undefined;const Q={};const ee={next:t=>{const r=Q[t];if(!r)return;r.shift();const i=r[0];if(i){i((()=>ee.next(t)))}else{delete Q[t]}},schedule:t=>new Promise((r=>{let i=Q[t];if(!i)i=Q[t]=[];i.push(r);if(i.length>1)return;r((()=>ee.next(t)))}))};const te=null&&ee;const re=b.platform==="linux";const se=b.platform==="win32";const ne=["SIGABRT","SIGALRM","SIGHUP","SIGINT","SIGTERM"];if(!se){ne.push("SIGVTALRM","SIGXCPU","SIGXFSZ","SIGUSR2","SIGTRAP","SIGSYS","SIGQUIT","SIGIOT")}if(re){ne.push("SIGIO","SIGPOLL","SIGPWR","SIGSTKFLT","SIGUNUSED")}const ie=ne;class Interceptor{constructor(){this.callbacks=new Set;this.exited=false;this.exit=t=>{if(this.exited)return;this.exited=true;for(const t of this.callbacks){t()}if(t){if(se&&(t!=="SIGINT"&&t!=="SIGTERM"&&t!=="SIGKILL")){b.kill(b.pid,"SIGTERM")}else{b.kill(b.pid,t)}}};this.hook=()=>{b.once("exit",(()=>this.exit()));for(const t of ie){try{b.once(t,(()=>this.exit(t)))}catch{}}};this.register=t=>{this.callbacks.add(t);return()=>{this.callbacks.delete(t)}};this.hook()}}const oe=new Interceptor;const ae=oe.register;const ce=ae;const le={store:{},create:t=>{const r=`000000${Math.floor(Math.random()*16777215).toString(16)}`.slice(-6);const i=Date.now().toString().slice(-10);const o="tmp-";const a=`.${o}${i}${r}`;const c=`${t}${a}`;return c},get:(t,r,i=true)=>{const o=le.truncate(r(t));if(o in le.store)return le.get(t,r,i);le.store[o]=i;const disposer=()=>delete le.store[o];return[o,disposer]},purge:t=>{if(!le.store[t])return;delete le.store[t];j.attempt.unlink(t)},purgeSync:t=>{if(!le.store[t])return;delete le.store[t];j.attempt.unlinkSync(t)},purgeSyncAll:()=>{for(const t in le.store){le.purgeSync(t)}},truncate:t=>{const r=E.basename(t);if(r.length<=X)return t;const i=/^(\.?)(.*?)((?:\.[^.]+)?(?:\.tmp-\d{10}[a-f0-9]{6})?)$/.exec(r);if(!i)return t;const o=r.length-X;return`${t.slice(0,-r.length)}${i[1]}${i[2].slice(0,-o)}${i[3]}`}};ce(le.purgeSyncAll);const ue=le;function readFile(t,r=DEFAULT_READ_OPTIONS){if(isString(r))return readFile(t,{encoding:r});const i=Date.now()+((r.timeout??DEFAULT_TIMEOUT_ASYNC)||-1);return fs.retry.readFile(i)(t,r)}function readFileSync(t,r=DEFAULT_READ_OPTIONS){if(isString(r))return readFileSync(t,{encoding:r});const i=Date.now()+((r.timeout??DEFAULT_TIMEOUT_SYNC)||-1);return fs.retry.readFileSync(i)(t,r)}function writeFile(t,r,i,o){if(isFunction(i))return writeFile(t,r,DEFAULT_WRITE_OPTIONS,i);const a=writeFileAsync(t,r,i);if(o)a.then(o,o);return a}async function writeFileAsync(t,r,i=DEFAULT_WRITE_OPTIONS){if(isString(i))return writeFileAsync(t,r,{encoding:i});const o=Date.now()+((i.timeout??DEFAULT_TIMEOUT_ASYNC)||-1);let a=null;let c=null;let l=null;let u=null;let h=null;try{if(i.schedule)a=await i.schedule(t);c=await Scheduler.schedule(t);const d=await fs.attempt.realpath(t);const p=!!d;t=d||t;[u,l]=Temp.get(t,i.tmpCreate||Temp.create,!(i.tmpPurge===false));const m=IS_POSIX&&isUndefined(i.chown);const g=isUndefined(i.mode);if(p&&(m||g)){const r=await fs.attempt.stat(t);if(r){i={...i};if(m){i.chown={uid:r.uid,gid:r.gid}}if(g){i.mode=r.mode}}}if(!p){const r=path.dirname(t);await fs.attempt.mkdir(r,{mode:DEFAULT_FOLDER_MODE,recursive:true})}h=await fs.retry.open(o)(u,"w",i.mode||DEFAULT_FILE_MODE);if(i.tmpCreated){i.tmpCreated(u)}if(isString(r)){await fs.retry.write(o)(h,r,0,i.encoding||DEFAULT_ENCODING)}else if(!isUndefined(r)){await fs.retry.write(o)(h,r,0,r.length,0)}if(i.fsync!==false){if(i.fsyncWait!==false){await fs.retry.fsync(o)(h)}else{fs.attempt.fsync(h)}}await fs.retry.close(o)(h);h=null;if(i.chown&&(i.chown.uid!==DEFAULT_USER_UID||i.chown.gid!==DEFAULT_USER_GID)){await fs.attempt.chown(u,i.chown.uid,i.chown.gid)}if(i.mode&&i.mode!==DEFAULT_FILE_MODE){await fs.attempt.chmod(u,i.mode)}try{await fs.retry.rename(o)(u,t)}catch(r){if(!isException(r))throw r;if(r.code!=="ENAMETOOLONG")throw r;await fs.retry.rename(o)(u,Temp.truncate(t))}l();u=null}finally{if(h)await fs.attempt.close(h);if(u)Temp.purge(u);if(a)a();if(c)c()}}function writeFileSync(t,r,i=G){if(lang_isString(i))return writeFileSync(t,r,{encoding:i});const o=Date.now()+((i.timeout??K)||-1);let a=null;let c=null;let l=null;try{const u=j.attempt.realpathSync(t);const h=!!u;t=u||t;[c,a]=ue.get(t,i.tmpCreate||ue.create,!(i.tmpPurge===false));const d=Y&&lang_isUndefined(i.chown);const p=lang_isUndefined(i.mode);if(h&&(d||p)){const r=j.attempt.statSync(t);if(r){i={...i};if(d){i.chown={uid:r.uid,gid:r.gid}}if(p){i.mode=r.mode}}}if(!h){const r=E.dirname(t);j.attempt.mkdirSync(r,{mode:H,recursive:true})}l=j.retry.openSync(o)(c,"w",i.mode||B);if(i.tmpCreated){i.tmpCreated(c)}if(lang_isString(r)){j.retry.writeSync(o)(l,r,0,i.encoding||U)}else if(!lang_isUndefined(r)){j.retry.writeSync(o)(l,r,0,r.length,0)}if(i.fsync!==false){if(i.fsyncWait!==false){j.retry.fsyncSync(o)(l)}else{j.attempt.fsync(l)}}j.retry.closeSync(o)(l);l=null;if(i.chown&&(i.chown.uid!==z||i.chown.gid!==q)){j.attempt.chownSync(c,i.chown.uid,i.chown.gid)}if(i.mode&&i.mode!==B){j.attempt.chmodSync(c,i.mode)}try{j.retry.renameSync(o)(c,t)}catch(r){if(!lang_isException(r))throw r;if(r.code!=="ENAMETOOLONG")throw r;j.retry.renameSync(o)(c,ue.truncate(t))}a();c=null}finally{if(l)j.attempt.closeSync(l);if(c)ue.purge(c)}}var he=__nccwpck_require__(9410);var de=__nccwpck_require__(1998);const copyProperty=(t,r,i,o)=>{if(i==="length"||i==="prototype"){return}if(i==="arguments"||i==="caller"){return}const a=Object.getOwnPropertyDescriptor(t,i);const c=Object.getOwnPropertyDescriptor(r,i);if(!canCopyProperty(a,c)&&o){return}Object.defineProperty(t,i,c)};const canCopyProperty=function(t,r){return t===undefined||t.configurable||t.writable===r.writable&&t.enumerable===r.enumerable&&t.configurable===r.configurable&&(t.writable||t.value===r.value)};const changePrototype=(t,r)=>{const i=Object.getPrototypeOf(r);if(i===Object.getPrototypeOf(t)){return}Object.setPrototypeOf(t,i)};const wrappedToString=(t,r)=>`/* Wrapped ${t}*/\n${r}`;const fe=Object.getOwnPropertyDescriptor(Function.prototype,"toString");const pe=Object.getOwnPropertyDescriptor(Function.prototype.toString,"name");const changeToString=(t,r,i)=>{const o=i===""?"":`with ${i.trim()}() `;const a=wrappedToString.bind(null,o,r.toString());Object.defineProperty(a,"name",pe);const{writable:c,enumerable:l,configurable:u}=fe;Object.defineProperty(t,"toString",{value:a,writable:c,enumerable:l,configurable:u})};function mimicFunction(t,r,{ignoreNonConfigurable:i=false}={}){const{name:o}=t;for(const o of Reflect.ownKeys(r)){copyProperty(t,r,o,i)}changePrototype(t,r);changeToString(t,r,o);return t}const debounceFunction=(t,r={})=>{if(typeof t!=="function"){throw new TypeError(`Expected the first argument to be a function, got \`${typeof t}\``)}const{wait:i=0,maxWait:o=Number.POSITIVE_INFINITY,before:a=false,after:c=true}=r;if(i<0||o<0){throw new RangeError("`wait` and `maxWait` must not be negative.")}if(!a&&!c){throw new Error("Both `before` and `after` are false, function wouldn't be called.")}let l;let u;let h;const debouncedFunction=function(...r){const d=this;const later=()=>{l=undefined;if(u){clearTimeout(u);u=undefined}if(c){h=t.apply(d,r)}};const maxLater=()=>{u=undefined;if(l){clearTimeout(l);l=undefined}if(c){h=t.apply(d,r)}};const p=a&&!l;clearTimeout(l);l=setTimeout(later,i);if(o>0&&o!==Number.POSITIVE_INFINITY&&!u){u=setTimeout(maxLater,o)}if(p){h=t.apply(d,r)}return h};mimicFunction(debouncedFunction,t);debouncedFunction.cancel=()=>{if(l){clearTimeout(l);l=undefined}if(u){clearTimeout(u);u=undefined}};return debouncedFunction};const me=debounceFunction;var ge=__nccwpck_require__(4545);const ye=Object.prototype.toString;const _e="[object Uint8Array]";const ve="[object ArrayBuffer]";function isType(t,r,i){if(!t){return false}if(t.constructor===r){return true}return ye.call(t)===i}function isUint8Array(t){return isType(t,Uint8Array,_e)}function isArrayBuffer(t){return isType(t,ArrayBuffer,ve)}function isUint8ArrayOrArrayBuffer(t){return isUint8Array(t)||isArrayBuffer(t)}function assertUint8Array(t){if(!isUint8Array(t)){throw new TypeError(`Expected \`Uint8Array\`, got \`${typeof t}\``)}}function assertUint8ArrayOrArrayBuffer(t){if(!isUint8ArrayOrArrayBuffer(t)){throw new TypeError(`Expected \`Uint8Array\` or \`ArrayBuffer\`, got \`${typeof t}\``)}}function toUint8Array(t){if(t instanceof ArrayBuffer){return new Uint8Array(t)}if(ArrayBuffer.isView(t)){return new Uint8Array(t.buffer,t.byteOffset,t.byteLength)}throw new TypeError(`Unsupported value, got \`${typeof t}\`.`)}function concatUint8Arrays(t,r){if(t.length===0){return new Uint8Array(0)}r??=t.reduce(((t,r)=>t+r.length),0);const i=new Uint8Array(r);let o=0;for(const r of t){assertUint8Array(r);i.set(r,o);o+=r.length}return i}function areUint8ArraysEqual(t,r){assertUint8Array(t);assertUint8Array(r);if(t===r){return true}if(t.length!==r.length){return false}for(let i=0;i<t.length;i++){if(t[i]!==r[i]){return false}}return true}function compareUint8Arrays(t,r){assertUint8Array(t);assertUint8Array(r);const i=Math.min(t.length,r.length);for(let o=0;o<i;o++){const i=t[o]-r[o];if(i!==0){return Math.sign(i)}}return Math.sign(t.length-r.length)}const be={utf8:new globalThis.TextDecoder("utf8")};function uint8ArrayToString(t,r="utf8"){assertUint8ArrayOrArrayBuffer(t);be[r]??=new globalThis.TextDecoder(r);return be[r].decode(t)}function assertString(t){if(typeof t!=="string"){throw new TypeError(`Expected \`string\`, got \`${typeof t}\``)}}const we=new globalThis.TextEncoder;function stringToUint8Array(t){assertString(t);return we.encode(t)}function base64ToBase64Url(t){return t.replaceAll("+","-").replaceAll("/","_").replace(/=+$/,"")}function base64UrlToBase64(t){return t.replaceAll("-","+").replaceAll("_","/")}const Ee=65535;function uint8ArrayToBase64(t,{urlSafe:r=false}={}){assertUint8Array(t);let i;if(t.length<Ee){i=globalThis.btoa(String.fromCodePoint.apply(this,t))}else{i="";for(const r of t){i+=String.fromCodePoint(r)}i=globalThis.btoa(i)}return r?base64ToBase64Url(i):i}function base64ToUint8Array(t){assertString(t);return Uint8Array.from(globalThis.atob(base64UrlToBase64(t)),(t=>t.codePointAt(0)))}function stringToBase64(t,{urlSafe:r=false}={}){assertString(t);return uint8ArrayToBase64(stringToUint8Array(t),{urlSafe:r})}function base64ToString(t){assertString(t);return uint8ArrayToString(base64ToUint8Array(t))}const Se=Array.from({length:256},((t,r)=>r.toString(16).padStart(2,"0")));function uint8ArrayToHex(t){assertUint8Array(t);let r="";for(let i=0;i<t.length;i++){r+=Se[t[i]]}return r}const $e={0:0,1:1,2:2,3:3,4:4,5:5,6:6,7:7,8:8,9:9,a:10,b:11,c:12,d:13,e:14,f:15,A:10,B:11,C:12,D:13,E:14,F:15};function hexToUint8Array(t){assertString(t);if(t.length%2!==0){throw new Error("Invalid Hex string length.")}const r=t.length/2;const i=new Uint8Array(r);for(let o=0;o<r;o++){const r=$e[t[o*2]];const a=$e[t[o*2+1]];if(r===undefined||a===undefined){throw new Error(`Invalid Hex character encountered at position ${o*2}`)}i[o]=r<<4|a}return i}function getUintBE(t){const{byteLength:r}=t;if(r===6){return t.getUint16(0)*2**32+t.getUint32(2)}if(r===5){return t.getUint8(0)*2**32+t.getUint32(1)}if(r===4){return t.getUint32(0)}if(r===3){return t.getUint8(0)*2**16+t.getUint16(1)}if(r===2){return t.getUint16(0)}if(r===1){return t.getUint8(0)}}function indexOf(t,r){const i=t.length;const o=r.length;if(o===0){return-1}if(o>i){return-1}const a=i-o;for(let i=0;i<=a;i++){let a=true;for(let c=0;c<o;c++){if(t[i+c]!==r[c]){a=false;break}}if(a){return i}}return-1}function includes(t,r){return indexOf(t,r)!==-1}const Re=de["default"];const Oe="aes-256-cbc";const createPlainObject=()=>Object.create(null);const isExist=t=>t!==undefined&&t!==null;const checkValueType=(t,r)=>{const i=new Set(["undefined","symbol","function"]);const o=typeof r;if(i.has(o)){throw new TypeError(`Setting a value of type \`${o}\` for key \`${t}\` is not allowed as it's not supported by JSON`)}};const Pe="__internal__";const Ae=`${Pe}.migrations.version`;class Conf{path;events;#e;#t;#r;#s={};constructor(t={}){const r={configName:"config",fileExtension:"json",projectSuffix:"nodejs",clearInvalidConfig:false,accessPropertiesByDotNotation:true,configFileMode:438,...t};if(!r.cwd){if(!r.projectName){throw new Error("Please specify the `projectName` option.")}r.cwd=envPaths(r.projectName,{suffix:r.projectSuffix}).config}this.#r=r;if(r.schema??r.ajvOptions??r.rootSchema){if(r.schema&&typeof r.schema!=="object"){throw new TypeError("The `schema` option must be an object.")}const t=new he.Ajv2020({allErrors:true,useDefaults:true,...r.ajvOptions});Re(t);const i={...r.rootSchema,type:"object",properties:r.schema};this.#e=t.compile(i);for(const[t,i]of Object.entries(r.schema??{})){if(i?.default){this.#s[t]=i.default}}}if(r.defaults){this.#s={...this.#s,...r.defaults}}if(r.serialize){this._serialize=r.serialize}if(r.deserialize){this._deserialize=r.deserialize}this.events=new EventTarget;this.#t=r.encryptionKey;const i=r.fileExtension?`.${r.fileExtension}`:"";this.path=E.resolve(r.cwd,`${r.configName??"config"}${i}`);const o=this.store;const a=Object.assign(createPlainObject(),r.defaults,o);if(r.migrations){if(!r.projectVersion){throw new Error("Please specify the `projectVersion` option.")}this._migrate(r.migrations,r.projectVersion,r.beforeEachMigration)}this._validate(a);try{R.deepEqual(o,a)}catch{this.store=a}if(r.watch){this._watch()}}get(t,r){if(this.#r.accessPropertiesByDotNotation){return this._get(t,r)}const{store:i}=this;return t in i?i[t]:r}set(t,r){if(typeof t!=="string"&&typeof t!=="object"){throw new TypeError(`Expected \`key\` to be of type \`string\` or \`object\`, got ${typeof t}`)}if(typeof t!=="object"&&r===undefined){throw new TypeError("Use `delete()` to clear values")}if(this._containsReservedKey(t)){throw new TypeError(`Please don't use the ${Pe} key, as it's used to manage this module internal operations.`)}const{store:i}=this;const set=(t,r)=>{checkValueType(t,r);if(this.#r.accessPropertiesByDotNotation){setProperty(i,t,r)}else{i[t]=r}};if(typeof t==="object"){const r=t;for(const[t,i]of Object.entries(r)){set(t,i)}}else{set(t,r)}this.store=i}has(t){if(this.#r.accessPropertiesByDotNotation){return hasProperty(this.store,t)}return t in this.store}reset(...t){for(const r of t){if(isExist(this.#s[r])){this.set(r,this.#s[r])}}}delete(t){const{store:r}=this;if(this.#r.accessPropertiesByDotNotation){deleteProperty(r,t)}else{delete r[t]}this.store=r}clear(){this.store=createPlainObject();for(const t of Object.keys(this.#s)){this.reset(t)}}onDidChange(t,r){if(typeof t!=="string"){throw new TypeError(`Expected \`key\` to be of type \`string\`, got ${typeof t}`)}if(typeof r!=="function"){throw new TypeError(`Expected \`callback\` to be of type \`function\`, got ${typeof r}`)}return this._handleChange((()=>this.get(t)),r)}onDidAnyChange(t){if(typeof t!=="function"){throw new TypeError(`Expected \`callback\` to be of type \`function\`, got ${typeof t}`)}return this._handleChange((()=>this.store),t)}get size(){return Object.keys(this.store).length}get store(){try{const t=w.readFileSync(this.path,this.#t?null:"utf8");const r=this._encryptData(t);const i=this._deserialize(r);this._validate(i);return Object.assign(createPlainObject(),i)}catch(t){if(t?.code==="ENOENT"){this._ensureDirectory();return createPlainObject()}if(this.#r.clearInvalidConfig&&t.name==="SyntaxError"){return createPlainObject()}throw t}}set store(t){this._ensureDirectory();this._validate(t);this._write(t);this.events.dispatchEvent(new Event("change"))}*[Symbol.iterator](){for(const[t,r]of Object.entries(this.store)){yield[t,r]}}_encryptData(t){if(!this.#t){return typeof t==="string"?t:uint8ArrayToString(t)}try{const r=t.slice(0,16);const i=$.pbkdf2Sync(this.#t,r.toString(),1e4,32,"sha512");const o=$.createDecipheriv(Oe,i,r);const a=t.slice(17);const c=typeof a==="string"?stringToUint8Array(a):a;return uint8ArrayToString(concatUint8Arrays([o.update(c),o.final()]))}catch{}return t.toString()}_handleChange(t,r){let i=t();const onChange=()=>{const o=i;const a=t();if((0,v.isDeepStrictEqual)(a,o)){return}i=a;r.call(this,a,o)};this.events.addEventListener("change",onChange);return()=>{this.events.removeEventListener("change",onChange)}}_deserialize=t=>JSON.parse(t);_serialize=t=>JSON.stringify(t,undefined,"\t");_validate(t){if(!this.#e){return}const r=this.#e(t);if(r||!this.#e.errors){return}const i=this.#e.errors.map((({instancePath:t,message:r=""})=>`\`${t.slice(1)}\` ${r}`));throw new Error("Config schema violation: "+i.join("; "))}_ensureDirectory(){w.mkdirSync(E.dirname(this.path),{recursive:true})}_write(t){let r=this._serialize(t);if(this.#t){const t=$.randomBytes(16);const i=$.pbkdf2Sync(this.#t,t.toString(),1e4,32,"sha512");const o=$.createCipheriv(Oe,i,t);r=concatUint8Arrays([t,stringToUint8Array(":"),o.update(stringToUint8Array(r)),o.final()])}if(b.env.SNAP){w.writeFileSync(this.path,r,{mode:this.#r.configFileMode})}else{try{writeFileSync(this.path,r,{mode:this.#r.configFileMode})}catch(t){if(t?.code==="EXDEV"){w.writeFileSync(this.path,r,{mode:this.#r.configFileMode});return}throw t}}}_watch(){this._ensureDirectory();if(!w.existsSync(this.path)){this._write(createPlainObject())}if(b.platform==="win32"){w.watch(this.path,{persistent:false},me((()=>{this.events.dispatchEvent(new Event("change"))}),{wait:100}))}else{w.watchFile(this.path,{persistent:false},me((()=>{this.events.dispatchEvent(new Event("change"))}),{wait:5e3}))}}_migrate(t,r,i){let o=this._get(Ae,"0.0.0");const a=Object.keys(t).filter((t=>this._shouldPerformMigration(t,o,r)));let c={...this.store};for(const l of a){try{if(i){i(this,{fromVersion:o,toVersion:l,finalVersion:r,versions:a})}const u=t[l];u?.(this);this._set(Ae,l);o=l;c={...this.store}}catch(t){this.store=c;throw new Error(`Something went wrong during the migration! Changes applied to the store until this failed migration will be restored. ${t}`)}}if(this._isVersionInRangeFormat(o)||!ge.eq(o,r)){this._set(Ae,r)}}_containsReservedKey(t){if(typeof t==="object"){const r=Object.keys(t)[0];if(r===Pe){return true}}if(typeof t!=="string"){return false}if(this.#r.accessPropertiesByDotNotation){if(t.startsWith(`${Pe}.`)){return true}return false}return false}_isVersionInRangeFormat(t){return ge.clean(t)===null}_shouldPerformMigration(t,r,i){if(this._isVersionInRangeFormat(t)){if(r!=="0.0.0"&&ge.satisfies(r,t)){return false}return ge.satisfies(i,t)}if(ge.lte(t,r)){return false}if(ge.gt(t,i)){return false}return true}_get(t,r){return getProperty(this.store,t,r)}_set(t,r){const{store:i}=this;setProperty(i,t,r);this.store=i}}var xe=__nccwpck_require__(9456);var Te=__nccwpck_require__(3792);var ke=__nccwpck_require__.n(Te);var Ce=__nccwpck_require__(8226);var Ie=__nccwpck_require__.n(Ce);var Ne=__nccwpck_require__(699);var De=__nccwpck_require__.n(Ne);const Le=require("node:stream");const Me=require("node:stream/promises");var je=__nccwpck_require__(4434);var Fe=__nccwpck_require__(9896);var Ue=__nccwpck_require__(8474);const Be=require("node:string_decoder");const He=typeof process==="object"&&process?process:{stdout:null,stderr:null};const isStream=t=>!!t&&typeof t==="object"&&(t instanceof Minipass||t instanceof Le||isReadable(t)||isWritable(t));const isReadable=t=>!!t&&typeof t==="object"&&t instanceof Ue.EventEmitter&&typeof t.pipe==="function"&&t.pipe!==Le.Writable.prototype.pipe;const isWritable=t=>!!t&&typeof t==="object"&&t instanceof Ue.EventEmitter&&typeof t.write==="function"&&typeof t.end==="function";const Ve=Symbol("EOF");const Ge=Symbol("maybeEmitEnd");const ze=Symbol("emittedEnd");const qe=Symbol("emittingEnd");const We=Symbol("emittedError");const Ke=Symbol("closed");const Ye=Symbol("read");const Ze=Symbol("flush");const Xe=Symbol("flushChunk");const Je=Symbol("encoding");const Qe=Symbol("decoder");const et=Symbol("flowing");const tt=Symbol("paused");const rt=Symbol("resume");const st=Symbol("buffer");const nt=Symbol("pipes");const it=Symbol("bufferLength");const ot=Symbol("bufferPush");const at=Symbol("bufferShift");const ct=Symbol("objectMode");const ut=Symbol("destroyed");const ht=Symbol("error");const dt=Symbol("emitData");const ft=Symbol("emitEnd");const pt=Symbol("emitEnd2");const mt=Symbol("async");const yt=Symbol("abort");const _t=Symbol("aborted");const vt=Symbol("signal");const bt=Symbol("dataListeners");const wt=Symbol("discarded");const defer=t=>Promise.resolve().then(t);const nodefer=t=>t();const isEndish=t=>t==="end"||t==="finish"||t==="prefinish";const isArrayBufferLike=t=>t instanceof ArrayBuffer||!!t&&typeof t==="object"&&t.constructor&&t.constructor.name==="ArrayBuffer"&&t.byteLength>=0;const isArrayBufferView=t=>!Buffer.isBuffer(t)&&ArrayBuffer.isView(t);class Pipe{src;dest;opts;ondrain;constructor(t,r,i){this.src=t;this.dest=r;this.opts=i;this.ondrain=()=>t[rt]();this.dest.on("drain",this.ondrain)}unpipe(){this.dest.removeListener("drain",this.ondrain)}proxyErrors(t){}end(){this.unpipe();if(this.opts.end)this.dest.end()}}class PipeProxyErrors extends Pipe{unpipe(){this.src.removeListener("error",this.proxyErrors);super.unpipe()}constructor(t,r,i){super(t,r,i);this.proxyErrors=t=>r.emit("error",t);t.on("error",this.proxyErrors)}}const isObjectModeOptions=t=>!!t.objectMode;const isEncodingOptions=t=>!t.objectMode&&!!t.encoding&&t.encoding!=="buffer";class Minipass extends Ue.EventEmitter{[et]=false;[tt]=false;[nt]=[];[st]=[];[ct];[Je];[mt];[Qe];[Ve]=false;[ze]=false;[qe]=false;[Ke]=false;[We]=null;[it]=0;[ut]=false;[vt];[_t]=false;[bt]=0;[wt]=false;writable=true;readable=true;constructor(...t){const r=t[0]||{};super();if(r.objectMode&&typeof r.encoding==="string"){throw new TypeError("Encoding and objectMode may not be used together")}if(isObjectModeOptions(r)){this[ct]=true;this[Je]=null}else if(isEncodingOptions(r)){this[Je]=r.encoding;this[ct]=false}else{this[ct]=false;this[Je]=null}this[mt]=!!r.async;this[Qe]=this[Je]?new Be.StringDecoder(this[Je]):null;if(r&&r.debugExposeBuffer===true){Object.defineProperty(this,"buffer",{get:()=>this[st]})}if(r&&r.debugExposePipes===true){Object.defineProperty(this,"pipes",{get:()=>this[nt]})}const{signal:i}=r;if(i){this[vt]=i;if(i.aborted){this[yt]()}else{i.addEventListener("abort",(()=>this[yt]()))}}}get bufferLength(){return this[it]}get encoding(){return this[Je]}set encoding(t){throw new Error("Encoding must be set at instantiation time")}setEncoding(t){throw new Error("Encoding must be set at instantiation time")}get objectMode(){return this[ct]}set objectMode(t){throw new Error("objectMode must be set at instantiation time")}get["async"](){return this[mt]}set["async"](t){this[mt]=this[mt]||!!t}[yt](){this[_t]=true;this.emit("abort",this[vt]?.reason);this.destroy(this[vt]?.reason)}get aborted(){return this[_t]}set aborted(t){}write(t,r,i){if(this[_t])return false;if(this[Ve])throw new Error("write after end");if(this[ut]){this.emit("error",Object.assign(new Error("Cannot call write after a stream was destroyed"),{code:"ERR_STREAM_DESTROYED"}));return true}if(typeof r==="function"){i=r;r="utf8"}if(!r)r="utf8";const o=this[mt]?defer:nodefer;if(!this[ct]&&!Buffer.isBuffer(t)){if(isArrayBufferView(t)){t=Buffer.from(t.buffer,t.byteOffset,t.byteLength)}else if(isArrayBufferLike(t)){t=Buffer.from(t)}else if(typeof t!=="string"){throw new Error("Non-contiguous data written to non-objectMode stream")}}if(this[ct]){if(this[et]&&this[it]!==0)this[Ze](true);if(this[et])this.emit("data",t);else this[ot](t);if(this[it]!==0)this.emit("readable");if(i)o(i);return this[et]}if(!t.length){if(this[it]!==0)this.emit("readable");if(i)o(i);return this[et]}if(typeof t==="string"&&!(r===this[Je]&&!this[Qe]?.lastNeed)){t=Buffer.from(t,r)}if(Buffer.isBuffer(t)&&this[Je]){t=this[Qe].write(t)}if(this[et]&&this[it]!==0)this[Ze](true);if(this[et])this.emit("data",t);else this[ot](t);if(this[it]!==0)this.emit("readable");if(i)o(i);return this[et]}read(t){if(this[ut])return null;this[wt]=false;if(this[it]===0||t===0||t&&t>this[it]){this[Ge]();return null}if(this[ct])t=null;if(this[st].length>1&&!this[ct]){this[st]=[this[Je]?this[st].join(""):Buffer.concat(this[st],this[it])]}const r=this[Ye](t||null,this[st][0]);this[Ge]();return r}[Ye](t,r){if(this[ct])this[at]();else{const i=r;if(t===i.length||t===null)this[at]();else if(typeof i==="string"){this[st][0]=i.slice(t);r=i.slice(0,t);this[it]-=t}else{this[st][0]=i.subarray(t);r=i.subarray(0,t);this[it]-=t}}this.emit("data",r);if(!this[st].length&&!this[Ve])this.emit("drain");return r}end(t,r,i){if(typeof t==="function"){i=t;t=undefined}if(typeof r==="function"){i=r;r="utf8"}if(t!==undefined)this.write(t,r);if(i)this.once("end",i);this[Ve]=true;this.writable=false;if(this[et]||!this[tt])this[Ge]();return this}[rt](){if(this[ut])return;if(!this[bt]&&!this[nt].length){this[wt]=true}this[tt]=false;this[et]=true;this.emit("resume");if(this[st].length)this[Ze]();else if(this[Ve])this[Ge]();else this.emit("drain")}resume(){return this[rt]()}pause(){this[et]=false;this[tt]=true;this[wt]=false}get destroyed(){return this[ut]}get flowing(){return this[et]}get paused(){return this[tt]}[ot](t){if(this[ct])this[it]+=1;else this[it]+=t.length;this[st].push(t)}[at](){if(this[ct])this[it]-=1;else this[it]-=this[st][0].length;return this[st].shift()}[Ze](t=false){do{}while(this[Xe](this[at]())&&this[st].length);if(!t&&!this[st].length&&!this[Ve])this.emit("drain")}[Xe](t){this.emit("data",t);return this[et]}pipe(t,r){if(this[ut])return t;this[wt]=false;const i=this[ze];r=r||{};if(t===He.stdout||t===He.stderr)r.end=false;else r.end=r.end!==false;r.proxyErrors=!!r.proxyErrors;if(i){if(r.end)t.end()}else{this[nt].push(!r.proxyErrors?new Pipe(this,t,r):new PipeProxyErrors(this,t,r));if(this[mt])defer((()=>this[rt]()));else this[rt]()}return t}unpipe(t){const r=this[nt].find((r=>r.dest===t));if(r){if(this[nt].length===1){if(this[et]&&this[bt]===0){this[et]=false}this[nt]=[]}else this[nt].splice(this[nt].indexOf(r),1);r.unpipe()}}addListener(t,r){return this.on(t,r)}on(t,r){const i=super.on(t,r);if(t==="data"){this[wt]=false;this[bt]++;if(!this[nt].length&&!this[et]){this[rt]()}}else if(t==="readable"&&this[it]!==0){super.emit("readable")}else if(isEndish(t)&&this[ze]){super.emit(t);this.removeAllListeners(t)}else if(t==="error"&&this[We]){const t=r;if(this[mt])defer((()=>t.call(this,this[We])));else t.call(this,this[We])}return i}removeListener(t,r){return this.off(t,r)}off(t,r){const i=super.off(t,r);if(t==="data"){this[bt]=this.listeners("data").length;if(this[bt]===0&&!this[wt]&&!this[nt].length){this[et]=false}}return i}removeAllListeners(t){const r=super.removeAllListeners(t);if(t==="data"||t===undefined){this[bt]=0;if(!this[wt]&&!this[nt].length){this[et]=false}}return r}get emittedEnd(){return this[ze]}[Ge](){if(!this[qe]&&!this[ze]&&!this[ut]&&this[st].length===0&&this[Ve]){this[qe]=true;this.emit("end");this.emit("prefinish");this.emit("finish");if(this[Ke])this.emit("close");this[qe]=false}}emit(t,...r){const i=r[0];if(t!=="error"&&t!=="close"&&t!==ut&&this[ut]){return false}else if(t==="data"){return!this[ct]&&!i?false:this[mt]?(defer((()=>this[dt](i))),true):this[dt](i)}else if(t==="end"){return this[ft]()}else if(t==="close"){this[Ke]=true;if(!this[ze]&&!this[ut])return false;const t=super.emit("close");this.removeAllListeners("close");return t}else if(t==="error"){this[We]=i;super.emit(ht,i);const t=!this[vt]||this.listeners("error").length?super.emit("error",i):false;this[Ge]();return t}else if(t==="resume"){const t=super.emit("resume");this[Ge]();return t}else if(t==="finish"||t==="prefinish"){const r=super.emit(t);this.removeAllListeners(t);return r}const o=super.emit(t,...r);this[Ge]();return o}[dt](t){for(const r of this[nt]){if(r.dest.write(t)===false)this.pause()}const r=this[wt]?false:super.emit("data",t);this[Ge]();return r}[ft](){if(this[ze])return false;this[ze]=true;this.readable=false;return this[mt]?(defer((()=>this[pt]())),true):this[pt]()}[pt](){if(this[Qe]){const t=this[Qe].end();if(t){for(const r of this[nt]){r.dest.write(t)}if(!this[wt])super.emit("data",t)}}for(const t of this[nt]){t.end()}const t=super.emit("end");this.removeAllListeners("end");return t}async collect(){const t=Object.assign([],{dataLength:0});if(!this[ct])t.dataLength=0;const r=this.promise();this.on("data",(r=>{t.push(r);if(!this[ct])t.dataLength+=r.length}));await r;return t}async concat(){if(this[ct]){throw new Error("cannot concat in objectMode")}const t=await this.collect();return this[Je]?t.join(""):Buffer.concat(t,t.dataLength)}async promise(){return new Promise(((t,r)=>{this.on(ut,(()=>r(new Error("stream destroyed"))));this.on("error",(t=>r(t)));this.on("end",(()=>t()))}))}[Symbol.asyncIterator](){this[wt]=false;let t=false;const stop=async()=>{this.pause();t=true;return{value:undefined,done:true}};const next=()=>{if(t)return stop();const r=this.read();if(r!==null)return Promise.resolve({done:false,value:r});if(this[Ve])return stop();let i;let o;const onerr=t=>{this.off("data",ondata);this.off("end",onend);this.off(ut,ondestroy);stop();o(t)};const ondata=t=>{this.off("error",onerr);this.off("end",onend);this.off(ut,ondestroy);this.pause();i({value:t,done:!!this[Ve]})};const onend=()=>{this.off("error",onerr);this.off("data",ondata);this.off(ut,ondestroy);stop();i({done:true,value:undefined})};const ondestroy=()=>onerr(new Error("stream destroyed"));return new Promise(((t,r)=>{o=r;i=t;this.once(ut,ondestroy);this.once("error",onerr);this.once("end",onend);this.once("data",ondata)}))};return{next:next,throw:stop,return:stop,[Symbol.asyncIterator](){return this}}}[Symbol.iterator](){this[wt]=false;let t=false;const stop=()=>{this.pause();this.off(ht,stop);this.off(ut,stop);this.off("end",stop);t=true;return{done:true,value:undefined}};const next=()=>{if(t)return stop();const r=this.read();return r===null?stop():{done:false,value:r}};this.once("end",stop);this.once(ht,stop);this.once(ut,stop);return{next:next,throw:stop,return:stop,[Symbol.iterator](){return this}}}destroy(t){if(this[ut]){if(t)this.emit("error",t);else this.emit(ut);return this}this[ut]=true;this[wt]=true;this[st].length=0;this[it]=0;const r=this;if(typeof r.close==="function"&&!this[Ke])r.close();if(t)this.emit("error",t);else this.emit(ut);return this}static get isStream(){return isStream}}const Et=Fe.writev;const St=Symbol("_autoClose");const $t=Symbol("_close");const Rt=Symbol("_ended");const Ot=Symbol("_fd");const Pt=Symbol("_finished");const At=Symbol("_flags");const xt=Symbol("_flush");const Tt=Symbol("_handleChunk");const kt=Symbol("_makeBuf");const Ct=Symbol("_mode");const It=Symbol("_needDrain");const Nt=Symbol("_onerror");const Dt=Symbol("_onopen");const Lt=Symbol("_onread");const Mt=Symbol("_onwrite");const jt=Symbol("_open");const Ft=Symbol("_path");const Ut=Symbol("_pos");const Bt=Symbol("_queue");const Ht=Symbol("_read");const Vt=Symbol("_readSize");const Gt=Symbol("_reading");const zt=Symbol("_remain");const qt=Symbol("_size");const Wt=Symbol("_write");const Kt=Symbol("_writing");const Yt=Symbol("_defaultFlag");const Zt=Symbol("_errored");class ReadStream extends Minipass{[Zt]=false;[Ot];[Ft];[Vt];[Gt]=false;[qt];[zt];[St];constructor(t,r){r=r||{};super(r);this.readable=true;this.writable=false;if(typeof t!=="string"){throw new TypeError("path must be a string")}this[Zt]=false;this[Ot]=typeof r.fd==="number"?r.fd:undefined;this[Ft]=t;this[Vt]=r.readSize||16*1024*1024;this[Gt]=false;this[qt]=typeof r.size==="number"?r.size:Infinity;this[zt]=this[qt];this[St]=typeof r.autoClose==="boolean"?r.autoClose:true;if(typeof this[Ot]==="number"){this[Ht]()}else{this[jt]()}}get fd(){return this[Ot]}get path(){return this[Ft]}write(){throw new TypeError("this is a readable stream")}end(){throw new TypeError("this is a readable stream")}[jt](){Fe.open(this[Ft],"r",((t,r)=>this[Dt](t,r)))}[Dt](t,r){if(t){this[Nt](t)}else{this[Ot]=r;this.emit("open",r);this[Ht]()}}[kt](){return Buffer.allocUnsafe(Math.min(this[Vt],this[zt]))}[Ht](){if(!this[Gt]){this[Gt]=true;const t=this[kt]();if(t.length===0){return process.nextTick((()=>this[Lt](null,0,t)))}Fe.read(this[Ot],t,0,t.length,null,((t,r,i)=>this[Lt](t,r,i)))}}[Lt](t,r,i){this[Gt]=false;if(t){this[Nt](t)}else if(this[Tt](r,i)){this[Ht]()}}[$t](){if(this[St]&&typeof this[Ot]==="number"){const t=this[Ot];this[Ot]=undefined;Fe.close(t,(t=>t?this.emit("error",t):this.emit("close")))}}[Nt](t){this[Gt]=true;this[$t]();this.emit("error",t)}[Tt](t,r){let i=false;this[zt]-=t;if(t>0){i=super.write(t<r.length?r.subarray(0,t):r)}if(t===0||this[zt]<=0){i=false;this[$t]();super.end()}return i}emit(t,...r){switch(t){case"prefinish":case"finish":return false;case"drain":if(typeof this[Ot]==="number"){this[Ht]()}return false;case"error":if(this[Zt]){return false}this[Zt]=true;return super.emit(t,...r);default:return super.emit(t,...r)}}}class ReadStreamSync extends ReadStream{[jt](){let t=true;try{this[Dt](null,Fe.openSync(this[Ft],"r"));t=false}finally{if(t){this[$t]()}}}[Ht](){let t=true;try{if(!this[Gt]){this[Gt]=true;do{const t=this[kt]();const r=t.length===0?0:Fe.readSync(this[Ot],t,0,t.length,null);if(!this[Tt](r,t)){break}}while(true);this[Gt]=false}t=false}finally{if(t){this[$t]()}}}[$t](){if(this[St]&&typeof this[Ot]==="number"){const t=this[Ot];this[Ot]=undefined;Fe.closeSync(t);this.emit("close")}}}class WriteStream extends je{readable=false;writable=true;[Zt]=false;[Kt]=false;[Rt]=false;[Bt]=[];[It]=false;[Ft];[Ct];[St];[Ot];[Yt];[At];[Pt]=false;[Ut];constructor(t,r){r=r||{};super(r);this[Ft]=t;this[Ot]=typeof r.fd==="number"?r.fd:undefined;this[Ct]=r.mode===undefined?438:r.mode;this[Ut]=typeof r.start==="number"?r.start:undefined;this[St]=typeof r.autoClose==="boolean"?r.autoClose:true;const i=this[Ut]!==undefined?"r+":"w";this[Yt]=r.flags===undefined;this[At]=r.flags===undefined?i:r.flags;if(this[Ot]===undefined){this[jt]()}}emit(t,...r){if(t==="error"){if(this[Zt]){return false}this[Zt]=true}return super.emit(t,...r)}get fd(){return this[Ot]}get path(){return this[Ft]}[Nt](t){this[$t]();this[Kt]=true;this.emit("error",t)}[jt](){Fe.open(this[Ft],this[At],this[Ct],((t,r)=>this[Dt](t,r)))}[Dt](t,r){if(this[Yt]&&this[At]==="r+"&&t&&t.code==="ENOENT"){this[At]="w";this[jt]()}else if(t){this[Nt](t)}else{this[Ot]=r;this.emit("open",r);if(!this[Kt]){this[xt]()}}}end(t,r){if(t){this.write(t,r)}this[Rt]=true;if(!this[Kt]&&!this[Bt].length&&typeof this[Ot]==="number"){this[Mt](null,0)}return this}write(t,r){if(typeof t==="string"){t=Buffer.from(t,r)}if(this[Rt]){this.emit("error",new Error("write() after end()"));return false}if(this[Ot]===undefined||this[Kt]||this[Bt].length){this[Bt].push(t);this[It]=true;return false}this[Kt]=true;this[Wt](t);return true}[Wt](t){Fe.write(this[Ot],t,0,t.length,this[Ut],((t,r)=>this[Mt](t,r)))}[Mt](t,r){if(t){this[Nt](t)}else{if(this[Ut]!==undefined&&typeof r==="number"){this[Ut]+=r}if(this[Bt].length){this[xt]()}else{this[Kt]=false;if(this[Rt]&&!this[Pt]){this[Pt]=true;this[$t]();this.emit("finish")}else if(this[It]){this[It]=false;this.emit("drain")}}}}[xt](){if(this[Bt].length===0){if(this[Rt]){this[Mt](null,0)}}else if(this[Bt].length===1){this[Wt](this[Bt].pop())}else{const t=this[Bt];this[Bt]=[];Et(this[Ot],t,this[Ut],((t,r)=>this[Mt](t,r)))}}[$t](){if(this[St]&&typeof this[Ot]==="number"){const t=this[Ot];this[Ot]=undefined;Fe.close(t,(t=>t?this.emit("error",t):this.emit("close")))}}}class WriteStreamSync extends WriteStream{[jt](){let t;if(this[Yt]&&this[At]==="r+"){try{t=Fe.openSync(this[Ft],this[At],this[Ct])}catch(t){if(t?.code==="ENOENT"){this[At]="w";return this[jt]()}else{throw t}}}else{t=Fe.openSync(this[Ft],this[At],this[Ct])}this[Dt](null,t)}[$t](){if(this[St]&&typeof this[Ot]==="number"){const t=this[Ot];this[Ot]=undefined;Fe.closeSync(t);this.emit("close")}}[Wt](t){let r=true;try{this[Mt](null,Fe.writeSync(this[Ot],t,0,t.length,this[Ut]));r=false}finally{if(r){try{this[$t]()}catch{}}}}}var Xt=__nccwpck_require__(6928);var Jt=__nccwpck_require__.n(Xt);const Qt=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"],["onentry","onReadEntry"]]);const isSyncFile=t=>!!t.sync&&!!t.file;const isAsyncFile=t=>!t.sync&&!!t.file;const isSyncNoFile=t=>!!t.sync&&!t.file;const isAsyncNoFile=t=>!t.sync&&!t.file;const isSync=t=>!!t.sync;const isAsync=t=>!t.sync;const isFile=t=>!!t.file;const isNoFile=t=>!t.file;const dealiasKey=t=>{const r=Qt.get(t);if(r)return r;return t};const dealias=(t={})=>{if(!t)return{};const r={};for(const[i,o]of Object.entries(t)){const t=dealiasKey(i);r[t]=o}if(r.chmod===undefined&&r.noChmod===false){r.chmod=true}delete r.noChmod;return r};const makeCommand=(t,r,i,o,a)=>Object.assign(((c=[],l,u)=>{if(Array.isArray(c)){l=c;c={}}if(typeof l==="function"){u=l;l=undefined}if(!l){l=[]}else{l=Array.from(l)}const h=dealias(c);a?.(h,l);if(isSyncFile(h)){if(typeof u==="function"){throw new TypeError("callback not supported for sync tar functions")}return t(h,l)}else if(isAsyncFile(h)){const t=r(h,l);const i=u?u:undefined;return i?t.then((()=>i()),i):t}else if(isSyncNoFile(h)){if(typeof u==="function"){throw new TypeError("callback not supported for sync tar functions")}return i(h,l)}else if(isAsyncNoFile(h)){if(typeof u==="function"){throw new TypeError("callback only supported with file option")}return o(h,l)}else{throw new Error("impossible options??")}}),{syncFile:t,asyncFile:r,syncNoFile:i,asyncNoFile:o,validate:a});const er=require("assert");var tr=__nccwpck_require__(181);const rr=require("zlib");const sr=rr.constants||{ZLIB_VERNUM:4736};const nr=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:Infinity,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},sr));const ir=tr.Buffer.concat;const ar=Symbol("_superWrite");class ZlibError extends Error{code;errno;constructor(t){super("zlib: "+t.message);this.code=t.code;this.errno=t.errno;if(!this.code)this.code="ZLIB_ERROR";this.message="zlib: "+t.message;Error.captureStackTrace(this,this.constructor)}get name(){return"ZlibError"}}const cr=Symbol("flushFlag");class ZlibBase extends Minipass{#n=false;#i=false;#o;#a;#c;#l;#u;get sawError(){return this.#n}get handle(){return this.#l}get flushFlag(){return this.#o}constructor(t,r){if(!t||typeof t!=="object")throw new TypeError("invalid options for ZlibBase constructor");super(t);this.#o=t.flush??0;this.#a=t.finishFlush??0;this.#c=t.fullFlushFlag??0;try{this.#l=new rr[r](t)}catch(t){throw new ZlibError(t)}this.#u=t=>{if(this.#n)return;this.#n=true;this.close();this.emit("error",t)};this.#l?.on("error",(t=>this.#u(new ZlibError(t))));this.once("end",(()=>this.close))}close(){if(this.#l){this.#l.close();this.#l=undefined;this.emit("close")}}reset(){if(!this.#n){er(this.#l,"zlib binding closed");return this.#l.reset?.()}}flush(t){if(this.ended)return;if(typeof t!=="number")t=this.#c;this.write(Object.assign(tr.Buffer.alloc(0),{[cr]:t}))}end(t,r,i){if(typeof t==="function"){i=t;r=undefined;t=undefined}if(typeof r==="function"){i=r;r=undefined}if(t){if(r)this.write(t,r);else this.write(t)}this.flush(this.#a);this.#i=true;return super.end(i)}get ended(){return this.#i}[ar](t){return super.write(t)}write(t,r,i){if(typeof r==="function")i=r,r="utf8";if(typeof t==="string")t=tr.Buffer.from(t,r);if(this.#n)return;er(this.#l,"zlib binding closed");const o=this.#l._handle;const a=o.close;o.close=()=>{};const c=this.#l.close;this.#l.close=()=>{};tr.Buffer.concat=t=>t;let l=undefined;try{const r=typeof t[cr]==="number"?t[cr]:this.#o;l=this.#l._processChunk(t,r);tr.Buffer.concat=ir}catch(t){tr.Buffer.concat=ir;this.#u(new ZlibError(t))}finally{if(this.#l){this.#l._handle=o;o.close=a;this.#l.close=c;this.#l.removeAllListeners("error")}}if(this.#l)this.#l.on("error",(t=>this.#u(new ZlibError(t))));let u;if(l){if(Array.isArray(l)&&l.length>0){const t=l[0];u=this[ar](tr.Buffer.from(t));for(let t=1;t<l.length;t++){u=this[ar](l[t])}}else{u=this[ar](tr.Buffer.from(l))}}if(i)i();return u}}class Zlib extends ZlibBase{#h;#d;constructor(t,r){t=t||{};t.flush=t.flush||nr.Z_NO_FLUSH;t.finishFlush=t.finishFlush||nr.Z_FINISH;t.fullFlushFlag=nr.Z_FULL_FLUSH;super(t,r);this.#h=t.level;this.#d=t.strategy}params(t,r){if(this.sawError)return;if(!this.handle)throw new Error("cannot switch params when binding is closed");if(!this.handle.params)throw new Error("not supported in this implementation");if(this.#h!==t||this.#d!==r){this.flush(nr.Z_SYNC_FLUSH);er(this.handle,"zlib binding closed");const i=this.handle.flush;this.handle.flush=(t,r)=>{if(typeof t==="function"){r=t;t=this.flushFlag}this.flush(t);r?.()};try{this.handle.params(t,r)}finally{this.handle.flush=i}if(this.handle){this.#h=t;this.#d=r}}}}class Deflate extends Zlib{constructor(t){super(t,"Deflate")}}class Inflate extends Zlib{constructor(t){super(t,"Inflate")}}class Gzip extends Zlib{#f;constructor(t){super(t,"Gzip");this.#f=t&&!!t.portable}[ar](t){if(!this.#f)return super[ar](t);this.#f=false;t[9]=255;return super[ar](t)}}class Gunzip extends Zlib{constructor(t){super(t,"Gunzip")}}class DeflateRaw extends Zlib{constructor(t){super(t,"DeflateRaw")}}class InflateRaw extends Zlib{constructor(t){super(t,"InflateRaw")}}class Unzip extends Zlib{constructor(t){super(t,"Unzip")}}class Brotli extends ZlibBase{constructor(t,r){t=t||{};t.flush=t.flush||nr.BROTLI_OPERATION_PROCESS;t.finishFlush=t.finishFlush||nr.BROTLI_OPERATION_FINISH;t.fullFlushFlag=nr.BROTLI_OPERATION_FLUSH;super(t,r)}}class BrotliCompress extends Brotli{constructor(t){super(t,"BrotliCompress")}}class BrotliDecompress extends Brotli{constructor(t){super(t,"BrotliDecompress")}}class Yallist{tail;head;length=0;static create(t=[]){return new Yallist(t)}constructor(t=[]){for(const r of t){this.push(r)}}*[Symbol.iterator](){for(let t=this.head;t;t=t.next){yield t.value}}removeNode(t){if(t.list!==this){throw new Error("removing node which does not belong to this list")}const r=t.next;const i=t.prev;if(r){r.prev=i}if(i){i.next=r}if(t===this.head){this.head=r}if(t===this.tail){this.tail=i}this.length--;t.next=undefined;t.prev=undefined;t.list=undefined;return r}unshiftNode(t){if(t===this.head){return}if(t.list){t.list.removeNode(t)}const r=this.head;t.list=this;t.next=r;if(r){r.prev=t}this.head=t;if(!this.tail){this.tail=t}this.length++}pushNode(t){if(t===this.tail){return}if(t.list){t.list.removeNode(t)}const r=this.tail;t.list=this;t.prev=r;if(r){r.next=t}this.tail=t;if(!this.head){this.head=t}this.length++}push(...t){for(let r=0,i=t.length;r<i;r++){push(this,t[r])}return this.length}unshift(...t){for(var r=0,i=t.length;r<i;r++){unshift(this,t[r])}return this.length}pop(){if(!this.tail){return undefined}const t=this.tail.value;const r=this.tail;this.tail=this.tail.prev;if(this.tail){this.tail.next=undefined}else{this.head=undefined}r.list=undefined;this.length--;return t}shift(){if(!this.head){return undefined}const t=this.head.value;const r=this.head;this.head=this.head.next;if(this.head){this.head.prev=undefined}else{this.tail=undefined}r.list=undefined;this.length--;return t}forEach(t,r){r=r||this;for(let i=this.head,o=0;!!i;o++){t.call(r,i.value,o,this);i=i.next}}forEachReverse(t,r){r=r||this;for(let i=this.tail,o=this.length-1;!!i;o--){t.call(r,i.value,o,this);i=i.prev}}get(t){let r=0;let i=this.head;for(;!!i&&r<t;r++){i=i.next}if(r===t&&!!i){return i.value}}getReverse(t){let r=0;let i=this.tail;for(;!!i&&r<t;r++){i=i.prev}if(r===t&&!!i){return i.value}}map(t,r){r=r||this;const i=new Yallist;for(let o=this.head;!!o;){i.push(t.call(r,o.value,this));o=o.next}return i}mapReverse(t,r){r=r||this;var i=new Yallist;for(let o=this.tail;!!o;){i.push(t.call(r,o.value,this));o=o.prev}return i}reduce(t,r){let i;let o=this.head;if(arguments.length>1){i=r}else if(this.head){o=this.head.next;i=this.head.value}else{throw new TypeError("Reduce of empty list with no initial value")}for(var a=0;!!o;a++){i=t(i,o.value,a);o=o.next}return i}reduceReverse(t,r){let i;let o=this.tail;if(arguments.length>1){i=r}else if(this.tail){o=this.tail.prev;i=this.tail.value}else{throw new TypeError("Reduce of empty list with no initial value")}for(let r=this.length-1;!!o;r--){i=t(i,o.value,r);o=o.prev}return i}toArray(){const t=new Array(this.length);for(let r=0,i=this.head;!!i;r++){t[r]=i.value;i=i.next}return t}toArrayReverse(){const t=new Array(this.length);for(let r=0,i=this.tail;!!i;r++){t[r]=i.value;i=i.prev}return t}slice(t=0,r=this.length){if(r<0){r+=this.length}if(t<0){t+=this.length}const i=new Yallist;if(r<t||r<0){return i}if(t<0){t=0}if(r>this.length){r=this.length}let o=this.head;let a=0;for(a=0;!!o&&a<t;a++){o=o.next}for(;!!o&&a<r;a++,o=o.next){i.push(o.value)}return i}sliceReverse(t=0,r=this.length){if(r<0){r+=this.length}if(t<0){t+=this.length}const i=new Yallist;if(r<t||r<0){return i}if(t<0){t=0}if(r>this.length){r=this.length}let o=this.length;let a=this.tail;for(;!!a&&o>r;o--){a=a.prev}for(;!!a&&o>t;o--,a=a.prev){i.push(a.value)}return i}splice(t,r=0,...i){if(t>this.length){t=this.length-1}if(t<0){t=this.length+t}let o=this.head;for(let r=0;!!o&&r<t;r++){o=o.next}const a=[];for(let t=0;!!o&&t<r;t++){a.push(o.value);o=this.removeNode(o)}if(!o){o=this.tail}else if(o!==this.tail){o=o.prev}for(const t of i){o=insertAfter(this,o,t)}return a}reverse(){const t=this.head;const r=this.tail;for(let r=t;!!r;r=r.prev){const t=r.prev;r.prev=r.next;r.next=t}this.head=r;this.tail=t;return this}}function insertAfter(t,r,i){const o=r;const a=r?r.next:t.head;const c=new Node(i,o,a,t);if(c.next===undefined){t.tail=c}if(c.prev===undefined){t.head=c}t.length++;return c}function push(t,r){t.tail=new Node(r,t.tail,undefined,t);if(!t.head){t.head=t.tail}t.length++}function unshift(t,r){t.head=new Node(r,undefined,t.head,t);if(!t.tail){t.tail=t.head}t.length++}class Node{list;next;prev;value;constructor(t,r,i,o){this.list=o;this.value=t;if(r){r.next=this;this.prev=r}else{this.prev=undefined}if(i){i.prev=this;this.next=i}else{this.next=undefined}}}const encode=(t,r)=>{if(!Number.isSafeInteger(t)){throw Error("cannot encode number outside of javascript safe integer range")}else if(t<0){encodeNegative(t,r)}else{encodePositive(t,r)}return r};const encodePositive=(t,r)=>{r[0]=128;for(var i=r.length;i>1;i--){r[i-1]=t&255;t=Math.floor(t/256)}};const encodeNegative=(t,r)=>{r[0]=255;var i=false;t=t*-1;for(var o=r.length;o>1;o--){var a=t&255;t=Math.floor(t/256);if(i){r[o-1]=onesComp(a)}else if(a===0){r[o-1]=0}else{i=true;r[o-1]=twosComp(a)}}};const parse=t=>{const r=t[0];const i=r===128?pos(t.subarray(1,t.length)):r===255?twos(t):null;if(i===null){throw Error("invalid base256 encoding")}if(!Number.isSafeInteger(i)){throw Error("parsed number outside of javascript safe integer range")}return i};const twos=t=>{var r=t.length;var i=0;var o=false;for(var a=r-1;a>-1;a--){var c=Number(t[a]);var l;if(o){l=onesComp(c)}else if(c===0){l=c}else{o=true;l=twosComp(c)}if(l!==0){i-=l*Math.pow(256,r-a-1)}}return i};const pos=t=>{var r=t.length;var i=0;for(var o=r-1;o>-1;o--){var a=Number(t[o]);if(a!==0){i+=a*Math.pow(256,r-o-1)}}return i};const onesComp=t=>(255^t)&255;const twosComp=t=>(255^t)+1&255;const isCode=t=>lr.has(t);const isName=t=>ur.has(t);const lr=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"]]);const ur=new Map(Array.from(lr).map((t=>[t[1],t[0]])));class Header{cksumValid=false;needPax=false;nullBlock=false;block;path;mode;uid;gid;size;cksum;#p="Unsupported";linkpath;uname;gname;devmaj=0;devmin=0;atime;ctime;mtime;charset;comment;constructor(t,r=0,i,o){if(Buffer.isBuffer(t)){this.decode(t,r||0,i,o)}else if(t){this.#m(t)}}decode(t,r,i,o){if(!r){r=0}if(!t||!(t.length>=r+512)){throw new Error("need 512 bytes for header")}this.path=decString(t,r,100);this.mode=decNumber(t,r+100,8);this.uid=decNumber(t,r+108,8);this.gid=decNumber(t,r+116,8);this.size=decNumber(t,r+124,12);this.mtime=decDate(t,r+136,12);this.cksum=decNumber(t,r+148,12);if(o)this.#m(o,true);if(i)this.#m(i);const a=decString(t,r+156,1);if(isCode(a)){this.#p=a||"0"}if(this.#p==="0"&&this.path.slice(-1)==="/"){this.#p="5"}if(this.#p==="5"){this.size=0}this.linkpath=decString(t,r+157,100);if(t.subarray(r+257,r+265).toString()==="ustar\x0000"){this.uname=decString(t,r+265,32);this.gname=decString(t,r+297,32);this.devmaj=decNumber(t,r+329,8)??0;this.devmin=decNumber(t,r+337,8)??0;if(t[r+475]!==0){const i=decString(t,r+345,155);this.path=i+"/"+this.path}else{const i=decString(t,r+345,130);if(i){this.path=i+"/"+this.path}this.atime=decDate(t,r+476,12);this.ctime=decDate(t,r+488,12)}}let c=8*32;for(let i=r;i<r+148;i++){c+=t[i]}for(let i=r+156;i<r+512;i++){c+=t[i]}this.cksumValid=c===this.cksum;if(this.cksum===undefined&&c===8*32){this.nullBlock=true}}#m(t,r=false){Object.assign(this,Object.fromEntries(Object.entries(t).filter((([t,i])=>!(i===null||i===undefined||t==="path"&&r||t==="linkpath"&&r||t==="global")))))}encode(t,r=0){if(!t){t=this.block=Buffer.alloc(512)}if(this.#p==="Unsupported"){this.#p="0"}if(!(t.length>=r+512)){throw new Error("need 512 bytes for header")}const i=this.ctime||this.atime?130:155;const o=splitPrefix(this.path||"",i);const a=o[0];const c=o[1];this.needPax=!!o[2];this.needPax=encString(t,r,100,a)||this.needPax;this.needPax=encNumber(t,r+100,8,this.mode)||this.needPax;this.needPax=encNumber(t,r+108,8,this.uid)||this.needPax;this.needPax=encNumber(t,r+116,8,this.gid)||this.needPax;this.needPax=encNumber(t,r+124,12,this.size)||this.needPax;this.needPax=encDate(t,r+136,12,this.mtime)||this.needPax;t[r+156]=this.#p.charCodeAt(0);this.needPax=encString(t,r+157,100,this.linkpath)||this.needPax;t.write("ustar\x0000",r+257,8);this.needPax=encString(t,r+265,32,this.uname)||this.needPax;this.needPax=encString(t,r+297,32,this.gname)||this.needPax;this.needPax=encNumber(t,r+329,8,this.devmaj)||this.needPax;this.needPax=encNumber(t,r+337,8,this.devmin)||this.needPax;this.needPax=encString(t,r+345,i,c)||this.needPax;if(t[r+475]!==0){this.needPax=encString(t,r+345,155,c)||this.needPax}else{this.needPax=encString(t,r+345,130,c)||this.needPax;this.needPax=encDate(t,r+476,12,this.atime)||this.needPax;this.needPax=encDate(t,r+488,12,this.ctime)||this.needPax}let l=8*32;for(let i=r;i<r+148;i++){l+=t[i]}for(let i=r+156;i<r+512;i++){l+=t[i]}this.cksum=l;encNumber(t,r+148,8,this.cksum);this.cksumValid=true;return this.needPax}get type(){return this.#p==="Unsupported"?this.#p:lr.get(this.#p)}get typeKey(){return this.#p}set type(t){const r=String(ur.get(t));if(isCode(r)||r==="Unsupported"){this.#p=r}else if(isCode(t)){this.#p=t}else{throw new TypeError("invalid entry type: "+t)}}}const splitPrefix=(t,r)=>{const i=100;let o=t;let a="";let c=undefined;const l=E.posix.parse(t).root||".";if(Buffer.byteLength(o)<i){c=[o,a,false]}else{a=E.posix.dirname(o);o=E.posix.basename(o);do{if(Buffer.byteLength(o)<=i&&Buffer.byteLength(a)<=r){c=[o,a,false]}else if(Buffer.byteLength(o)>i&&Buffer.byteLength(a)<=r){c=[o.slice(0,i-1),a,true]}else{o=E.posix.join(E.posix.basename(a),o);a=E.posix.dirname(a)}}while(a!==l&&c===undefined);if(!c){c=[t.slice(0,i-1),"",true]}}return c};const decString=(t,r,i)=>t.subarray(r,r+i).toString("utf8").replace(/\0.*/,"");const decDate=(t,r,i)=>numToDate(decNumber(t,r,i));const numToDate=t=>t===undefined?undefined:new Date(t*1e3);const decNumber=(t,r,i)=>Number(t[r])&128?parse(t.subarray(r,r+i)):decSmallNumber(t,r,i);const nanUndef=t=>isNaN(t)?undefined:t;const decSmallNumber=(t,r,i)=>nanUndef(parseInt(t.subarray(r,r+i).toString("utf8").replace(/\0.*$/,"").trim(),8));const hr={12:8589934591,8:2097151};const encNumber=(t,r,i,o)=>o===undefined?false:o>hr[i]||o<0?(encode(o,t.subarray(r,r+i)),true):(encSmallNumber(t,r,i,o),false);const encSmallNumber=(t,r,i,o)=>t.write(octalString(o,i),r,i,"ascii");const octalString=(t,r)=>padOctal(Math.floor(t).toString(8),r);const padOctal=(t,r)=>(t.length===r-1?t:new Array(r-t.length-1).join("0")+t+" ")+"\0";const encDate=(t,r,i,o)=>o===undefined?false:encNumber(t,r,i,o.getTime()/1e3);const dr=new Array(156).join("\0");const encString=(t,r,i,o)=>o===undefined?false:(t.write(o+dr,r,i,"utf8"),o.length!==Buffer.byteLength(o)||o.length>i);class Pax{atime;mtime;ctime;charset;comment;gid;uid;gname;uname;linkpath;dev;ino;nlink;path;size;mode;global;constructor(t,r=false){this.atime=t.atime;this.charset=t.charset;this.comment=t.comment;this.ctime=t.ctime;this.dev=t.dev;this.gid=t.gid;this.global=r;this.gname=t.gname;this.ino=t.ino;this.linkpath=t.linkpath;this.mtime=t.mtime;this.nlink=t.nlink;this.path=t.path;this.size=t.size;this.uid=t.uid;this.uname=t.uname}encode(){const t=this.encodeBody();if(t===""){return Buffer.allocUnsafe(0)}const r=Buffer.byteLength(t);const i=512*Math.ceil(1+r/512);const o=Buffer.allocUnsafe(i);for(let t=0;t<512;t++){o[t]=0}new Header({path:("PaxHeader/"+(0,E.basename)(this.path??"")).slice(0,99),mode:this.mode||420,uid:this.uid,gid:this.gid,size:r,mtime:this.mtime,type:this.global?"GlobalExtendedHeader":"ExtendedHeader",linkpath:"",uname:this.uname||"",gname:this.gname||"",devmaj:0,devmin:0,atime:this.atime,ctime:this.ctime}).encode(o);o.write(t,512,r,"utf8");for(let t=r+512;t<o.length;t++){o[t]=0}return o}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(t){if(this[t]===undefined){return""}const r=this[t];const i=r instanceof Date?r.getTime()/1e3:r;const o=" "+(t==="dev"||t==="ino"||t==="nlink"?"SCHILY.":"")+t+"="+i+"\n";const a=Buffer.byteLength(o);let c=Math.floor(Math.log(a)/Math.log(10))+1;if(a+c>=Math.pow(10,c)){c+=1}const l=c+a;return l+o}static parse(t,r,i=false){return new Pax(merge(parseKV(t),r),i)}}const merge=(t,r)=>r?Object.assign({},r,t):t;const parseKV=t=>t.replace(/\n$/,"").split("\n").reduce(parseKVLine,Object.create(null));const parseKVLine=(t,r)=>{const i=parseInt(r,10);if(i!==Buffer.byteLength(r)+1){return t}r=r.slice((i+" ").length);const o=r.split("=");const a=o.shift();if(!a){return t}const c=a.replace(/^SCHILY\.(dev|ino|nlink)/,"$1");const l=o.join("=");t[c]=/^([A-Z]+\.)?([mac]|birth|creation)time$/.test(c)?new Date(Number(l)*1e3):/^[0-9]+$/.test(l)?+l:l;return t};const fr=process.env.TESTING_TAR_FAKE_PLATFORM||process.platform;const pr=fr!=="win32"?t=>t:t=>t&&t.replace(/\\/g,"/");class ReadEntry extends Minipass{extended;globalExtended;header;startBlockSize;blockRemain;remain;type;meta=false;ignore=false;path;mode;uid;gid;uname;gname;size=0;mtime;atime;ctime;linkpath;dev;ino;nlink;invalid=false;absolute;unsupported=false;constructor(t,r,i){super({});this.pause();this.extended=r;this.globalExtended=i;this.header=t;this.remain=t.size??0;this.startBlockSize=512*Math.ceil(this.remain/512);this.blockRemain=this.startBlockSize;this.type=t.type;switch(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=true;break;default:this.ignore=true}if(!t.path){throw new Error("no path provided for tar.ReadEntry")}this.path=pr(t.path);this.mode=t.mode;if(this.mode){this.mode=this.mode&4095}this.uid=t.uid;this.gid=t.gid;this.uname=t.uname;this.gname=t.gname;this.size=this.remain;this.mtime=t.mtime;this.atime=t.atime;this.ctime=t.ctime;this.linkpath=t.linkpath?pr(t.linkpath):undefined;this.uname=t.uname;this.gname=t.gname;if(r){this.#m(r)}if(i){this.#m(i,true)}}write(t){const r=t.length;if(r>this.blockRemain){throw new Error("writing more to entry than is appropriate")}const i=this.remain;const o=this.blockRemain;this.remain=Math.max(0,i-r);this.blockRemain=Math.max(0,o-r);if(this.ignore){return true}if(i>=r){return super.write(t)}return super.write(t.subarray(0,i))}#m(t,r=false){if(t.path)t.path=pr(t.path);if(t.linkpath)t.linkpath=pr(t.linkpath);Object.assign(this,Object.fromEntries(Object.entries(t).filter((([t,i])=>!(i===null||i===undefined||t==="path"&&r)))))}}const warnMethod=(t,r,i,o={})=>{if(t.file){o.file=t.file}if(t.cwd){o.cwd=t.cwd}o.code=i instanceof Error&&i.code||r;o.tarCode=r;if(!t.strict&&o.recoverable!==false){if(i instanceof Error){o=Object.assign(i,o);i=i.message}t.emit("warn",r,i,o)}else if(i instanceof Error){t.emit("error",Object.assign(i,o))}else{t.emit("error",Object.assign(new Error(`${r}: ${i}`),o))}};const mr=1024*1024;const gr=Buffer.from([31,139]);const yr=Symbol("state");const _r=Symbol("writeEntry");const vr=Symbol("readEntry");const br=Symbol("nextEntry");const wr=Symbol("processEntry");const Er=Symbol("extendedHeader");const Sr=Symbol("globalExtendedHeader");const $r=Symbol("meta");const Rr=Symbol("emitMeta");const Or=Symbol("buffer");const Pr=Symbol("queue");const Ar=Symbol("ended");const xr=Symbol("emittedEnd");const Tr=Symbol("emit");const kr=Symbol("unzip");const Cr=Symbol("consumeChunk");const Ir=Symbol("consumeChunkSub");const Nr=Symbol("consumeBody");const Dr=Symbol("consumeMeta");const Lr=Symbol("consumeHeader");const Mr=Symbol("consuming");const jr=Symbol("bufferConcat");const Fr=Symbol("maybeEnd");const Ur=Symbol("writing");const Br=Symbol("aborted");const Hr=Symbol("onDone");const Vr=Symbol("sawValidEntry");const Gr=Symbol("sawNullBlock");const zr=Symbol("sawEOF");const qr=Symbol("closeStream");const noop=()=>true;class Parser extends je.EventEmitter{file;strict;maxMetaEntrySize;filter;brotli;writable=true;readable=false;[Pr]=new Yallist;[Or];[vr];[_r];[yr]="begin";[$r]="";[Er];[Sr];[Ar]=false;[kr];[Br]=false;[Vr];[Gr]=false;[zr]=false;[Ur]=false;[Mr]=false;[xr]=false;constructor(t={}){super();this.file=t.file||"";this.on(Hr,(()=>{if(this[yr]==="begin"||this[Vr]===false){this.warn("TAR_BAD_ARCHIVE","Unrecognized archive format")}}));if(t.ondone){this.on(Hr,t.ondone)}else{this.on(Hr,(()=>{this.emit("prefinish");this.emit("finish");this.emit("end")}))}this.strict=!!t.strict;this.maxMetaEntrySize=t.maxMetaEntrySize||mr;this.filter=typeof t.filter==="function"?t.filter:noop;const r=t.file&&(t.file.endsWith(".tar.br")||t.file.endsWith(".tbr"));this.brotli=!t.gzip&&t.brotli!==undefined?t.brotli:r?undefined:false;this.on("end",(()=>this[qr]()));if(typeof t.onwarn==="function"){this.on("warn",t.onwarn)}if(typeof t.onReadEntry==="function"){this.on("entry",t.onReadEntry)}}warn(t,r,i={}){warnMethod(this,t,r,i)}[Lr](t,r){if(this[Vr]===undefined){this[Vr]=false}let i;try{i=new Header(t,r,this[Er],this[Sr])}catch(t){return this.warn("TAR_ENTRY_INVALID",t)}if(i.nullBlock){if(this[Gr]){this[zr]=true;if(this[yr]==="begin"){this[yr]="header"}this[Tr]("eof")}else{this[Gr]=true;this[Tr]("nullBlock")}}else{this[Gr]=false;if(!i.cksumValid){this.warn("TAR_ENTRY_INVALID","checksum failure",{header:i})}else if(!i.path){this.warn("TAR_ENTRY_INVALID","path is required",{header:i})}else{const t=i.type;if(/^(Symbolic)?Link$/.test(t)&&!i.linkpath){this.warn("TAR_ENTRY_INVALID","linkpath required",{header:i})}else if(!/^(Symbolic)?Link$/.test(t)&&!/^(Global)?ExtendedHeader$/.test(t)&&i.linkpath){this.warn("TAR_ENTRY_INVALID","linkpath forbidden",{header:i})}else{const t=this[_r]=new ReadEntry(i,this[Er],this[Sr]);if(!this[Vr]){if(t.remain){const onend=()=>{if(!t.invalid){this[Vr]=true}};t.on("end",onend)}else{this[Vr]=true}}if(t.meta){if(t.size>this.maxMetaEntrySize){t.ignore=true;this[Tr]("ignoredEntry",t);this[yr]="ignore";t.resume()}else if(t.size>0){this[$r]="";t.on("data",(t=>this[$r]+=t));this[yr]="meta"}}else{this[Er]=undefined;t.ignore=t.ignore||!this.filter(t.path,t);if(t.ignore){this[Tr]("ignoredEntry",t);this[yr]=t.remain?"ignore":"header";t.resume()}else{if(t.remain){this[yr]="body"}else{this[yr]="header";t.end()}if(!this[vr]){this[Pr].push(t);this[br]()}else{this[Pr].push(t)}}}}}}}[qr](){queueMicrotask((()=>this.emit("close")))}[wr](t){let r=true;if(!t){this[vr]=undefined;r=false}else if(Array.isArray(t)){const[r,...i]=t;this.emit(r,...i)}else{this[vr]=t;this.emit("entry",t);if(!t.emittedEnd){t.on("end",(()=>this[br]()));r=false}}return r}[br](){do{}while(this[wr](this[Pr].shift()));if(!this[Pr].length){const t=this[vr];const r=!t||t.flowing||t.size===t.remain;if(r){if(!this[Ur]){this.emit("drain")}}else{t.once("drain",(()=>this.emit("drain")))}}}[Nr](t,r){const i=this[_r];if(!i){throw new Error("attempt to consume body without entry??")}const o=i.blockRemain??0;const a=o>=t.length&&r===0?t:t.subarray(r,r+o);i.write(a);if(!i.blockRemain){this[yr]="header";this[_r]=undefined;i.end()}return a.length}[Dr](t,r){const i=this[_r];const o=this[Nr](t,r);if(!this[_r]&&i){this[Rr](i)}return o}[Tr](t,r,i){if(!this[Pr].length&&!this[vr]){this.emit(t,r,i)}else{this[Pr].push([t,r,i])}}[Rr](t){this[Tr]("meta",this[$r]);switch(t.type){case"ExtendedHeader":case"OldExtendedHeader":this[Er]=Pax.parse(this[$r],this[Er],false);break;case"GlobalExtendedHeader":this[Sr]=Pax.parse(this[$r],this[Sr],true);break;case"NextFileHasLongPath":case"OldGnuLongPath":{const t=this[Er]??Object.create(null);this[Er]=t;t.path=this[$r].replace(/\0.*/,"");break}case"NextFileHasLongLinkpath":{const t=this[Er]||Object.create(null);this[Er]=t;t.linkpath=this[$r].replace(/\0.*/,"");break}default:throw new Error("unknown meta: "+t.type)}}abort(t){this[Br]=true;this.emit("abort",t);this.warn("TAR_ABORT",t,{recoverable:false})}write(t,r,i){if(typeof r==="function"){i=r;r=undefined}if(typeof t==="string"){t=Buffer.from(t,typeof r==="string"?r:"utf8")}if(this[Br]){i?.();return false}const o=this[kr]===undefined||this.brotli===undefined&&this[kr]===false;if(o&&t){if(this[Or]){t=Buffer.concat([this[Or],t]);this[Or]=undefined}if(t.length<gr.length){this[Or]=t;i?.();return true}for(let r=0;this[kr]===undefined&&r<gr.length;r++){if(t[r]!==gr[r]){this[kr]=false}}const r=this.brotli===undefined;if(this[kr]===false&&r){if(t.length<512){if(this[Ar]){this.brotli=true}else{this[Or]=t;i?.();return true}}else{try{new Header(t.subarray(0,512));this.brotli=false}catch(t){this.brotli=true}}}if(this[kr]===undefined||this[kr]===false&&this.brotli){const r=this[Ar];this[Ar]=false;this[kr]=this[kr]===undefined?new Unzip({}):new BrotliDecompress({});this[kr].on("data",(t=>this[Cr](t)));this[kr].on("error",(t=>this.abort(t)));this[kr].on("end",(()=>{this[Ar]=true;this[Cr]()}));this[Ur]=true;const o=!!this[kr][r?"end":"write"](t);this[Ur]=false;i?.();return o}}this[Ur]=true;if(this[kr]){this[kr].write(t)}else{this[Cr](t)}this[Ur]=false;const a=this[Pr].length?false:this[vr]?this[vr].flowing:true;if(!a&&!this[Pr].length){this[vr]?.once("drain",(()=>this.emit("drain")))}i?.();return a}[jr](t){if(t&&!this[Br]){this[Or]=this[Or]?Buffer.concat([this[Or],t]):t}}[Fr](){if(this[Ar]&&!this[xr]&&!this[Br]&&!this[Mr]){this[xr]=true;const t=this[_r];if(t&&t.blockRemain){const r=this[Or]?this[Or].length:0;this.warn("TAR_BAD_ARCHIVE",`Truncated input (needed ${t.blockRemain} more bytes, only ${r} available)`,{entry:t});if(this[Or]){t.write(this[Or])}t.end()}this[Tr](Hr)}}[Cr](t){if(this[Mr]&&t){this[jr](t)}else if(!t&&!this[Or]){this[Fr]()}else if(t){this[Mr]=true;if(this[Or]){this[jr](t);const r=this[Or];this[Or]=undefined;this[Ir](r)}else{this[Ir](t)}while(this[Or]&&this[Or]?.length>=512&&!this[Br]&&!this[zr]){const t=this[Or];this[Or]=undefined;this[Ir](t)}this[Mr]=false}if(!this[Or]||this[Ar]){this[Fr]()}}[Ir](t){let r=0;const i=t.length;while(r+512<=i&&!this[Br]&&!this[zr]){switch(this[yr]){case"begin":case"header":this[Lr](t,r);r+=512;break;case"ignore":case"body":r+=this[Nr](t,r);break;case"meta":r+=this[Dr](t,r);break;default:throw new Error("invalid state: "+this[yr])}}if(r<i){if(this[Or]){this[Or]=Buffer.concat([t.subarray(r),this[Or]])}else{this[Or]=t.subarray(r)}}}end(t,r,i){if(typeof t==="function"){i=t;r=undefined;t=undefined}if(typeof r==="function"){i=r;r=undefined}if(typeof t==="string"){t=Buffer.from(t,r)}if(i)this.once("finish",i);if(!this[Br]){if(this[kr]){if(t)this[kr].write(t);this[kr].end()}else{this[Ar]=true;if(this.brotli===undefined)t=t||Buffer.alloc(0);if(t)this.write(t);this[Fr]()}}return this}}const stripTrailingSlashes=t=>{let r=t.length-1;let i=-1;while(r>-1&&t.charAt(r)==="/"){i=r;r--}return i===-1?t:t.slice(0,i)};const onReadEntryFunction=t=>{const r=t.onReadEntry;t.onReadEntry=r?t=>{r(t);t.resume()}:t=>t.resume()};const filesFilter=(t,r)=>{const i=new Map(r.map((t=>[stripTrailingSlashes(t),true])));const o=t.filter;const mapHas=(t,r="")=>{const o=r||(0,Xt.parse)(t).root||".";let a;if(t===o)a=false;else{const r=i.get(t);if(r!==undefined){a=r}else{a=mapHas((0,Xt.dirname)(t),o)}}i.set(t,a);return a};t.filter=o?(t,r)=>o(t,r)&&mapHas(stripTrailingSlashes(t)):t=>mapHas(stripTrailingSlashes(t))};const listFileSync=t=>{const r=new Parser(t);const i=t.file;let o;try{const a=w.statSync(i);const c=t.maxReadSize||16*1024*1024;if(a.size<c){r.end(w.readFileSync(i))}else{let t=0;const l=Buffer.allocUnsafe(c);o=w.openSync(i,"r");while(t<a.size){const i=w.readSync(o,l,0,c,t);t+=i;r.write(l.subarray(0,i))}r.end()}}finally{if(typeof o==="number"){try{w.closeSync(o)}catch(t){}}}};const listFile=(t,r)=>{const i=new Parser(t);const o=t.maxReadSize||16*1024*1024;const a=t.file;const c=new Promise(((t,r)=>{i.on("error",r);i.on("end",t);w.stat(a,((t,c)=>{if(t){r(t)}else{const t=new ReadStream(a,{readSize:o,size:c.size});t.on("error",r);t.pipe(i)}}))}));return c};const Wr=makeCommand(listFileSync,listFile,(t=>new Parser(t)),(t=>new Parser(t)),((t,r)=>{if(r?.length)filesFilter(t,r);if(!t.noResume)onReadEntryFunction(t)}));const modeFix=(t,r,i)=>{t&=4095;if(i){t=(t|384)&~18}if(r){if(t&256){t|=64}if(t&32){t|=8}if(t&4){t|=1}}return t};const{isAbsolute:Kr,parse:Yr}=E.win32;const stripAbsolutePath=t=>{let r="";let i=Yr(t);while(Kr(t)||i.root){const o=t.charAt(0)==="/"&&t.slice(0,4)!=="//?/"?"/":i.root;t=t.slice(o.length);r+=o;i=Yr(t)}return[r,t]};const Zr=["|","<",">","?",":"];const Xr=Zr.map((t=>String.fromCharCode(61440+t.charCodeAt(0))));const Jr=new Map(Zr.map(((t,r)=>[t,Xr[r]])));const Qr=new Map(Xr.map(((t,r)=>[t,Zr[r]])));const winchars_encode=t=>Zr.reduce(((t,r)=>t.split(r).join(Jr.get(r))),t);const decode=t=>Xr.reduce(((t,r)=>t.split(r).join(Qr.get(r))),t);const prefixPath=(t,r)=>{if(!r){return pr(t)}t=pr(t).replace(/^\.(\/|$)/,"");return stripTrailingSlashes(r)+"/"+t};const es=16*1024*1024;const ts=Symbol("process");const rs=Symbol("file");const ss=Symbol("directory");const ns=Symbol("symlink");const is=Symbol("hardlink");const os=Symbol("header");const as=Symbol("read");const cs=Symbol("lstat");const ls=Symbol("onlstat");const us=Symbol("onread");const hs=Symbol("onreadlink");const ds=Symbol("openfile");const ps=Symbol("onopenfile");const ms=Symbol("close");const gs=Symbol("mode");const ys=Symbol("awaitDrain");const _s=Symbol("ondrain");const vs=Symbol("prefix");class WriteEntry extends Minipass{path;portable;myuid=process.getuid&&process.getuid()||0;myuser=process.env.USER||"";maxReadSize;linkCache;statCache;preservePaths;cwd;strict;mtime;noPax;noMtime;prefix;fd;blockLen=0;blockRemain=0;buf;pos=0;remain=0;length=0;offset=0;win32;absolute;header;type;linkpath;stat;onWriteEntry;#g=false;constructor(t,r={}){const i=dealias(r);super();this.path=pr(t);this.portable=!!i.portable;this.maxReadSize=i.maxReadSize||es;this.linkCache=i.linkCache||new Map;this.statCache=i.statCache||new Map;this.preservePaths=!!i.preservePaths;this.cwd=pr(i.cwd||process.cwd());this.strict=!!i.strict;this.noPax=!!i.noPax;this.noMtime=!!i.noMtime;this.mtime=i.mtime;this.prefix=i.prefix?pr(i.prefix):undefined;this.onWriteEntry=i.onWriteEntry;if(typeof i.onwarn==="function"){this.on("warn",i.onwarn)}let o=false;if(!this.preservePaths){const[t,r]=stripAbsolutePath(this.path);if(t&&typeof r==="string"){this.path=r;o=t}}this.win32=!!i.win32||process.platform==="win32";if(this.win32){this.path=decode(this.path.replace(/\\/g,"/"));t=t.replace(/\\/g,"/")}this.absolute=pr(i.absolute||Xt.resolve(this.cwd,t));if(this.path===""){this.path="./"}if(o){this.warn("TAR_ENTRY_INFO",`stripping ${o} from absolute path`,{entry:this,path:o+this.path})}const a=this.statCache.get(this.absolute);if(a){this[ls](a)}else{this[cs]()}}warn(t,r,i={}){return warnMethod(this,t,r,i)}emit(t,...r){if(t==="error"){this.#g=true}return super.emit(t,...r)}[cs](){Fe.lstat(this.absolute,((t,r)=>{if(t){return this.emit("error",t)}this[ls](r)}))}[ls](t){this.statCache.set(this.absolute,t);this.stat=t;if(!t.isFile()){t.size=0}this.type=getType(t);this.emit("stat",t);this[ts]()}[ts](){switch(this.type){case"File":return this[rs]();case"Directory":return this[ss]();case"SymbolicLink":return this[ns]();default:return this.end()}}[gs](t){return modeFix(t,this.type==="Directory",this.portable)}[vs](t){return prefixPath(t,this.prefix)}[os](){if(!this.stat){throw new Error("cannot write header before stat")}if(this.type==="Directory"&&this.portable){this.noMtime=true}this.onWriteEntry?.(this);this.header=new Header({path:this[vs](this.path),linkpath:this.type==="Link"&&this.linkpath!==undefined?this[vs](this.linkpath):this.linkpath,mode:this[gs](this.stat.mode),uid:this.portable?undefined:this.stat.uid,gid:this.portable?undefined:this.stat.gid,size:this.stat.size,mtime:this.noMtime?undefined:this.mtime||this.stat.mtime,type:this.type==="Unsupported"?undefined:this.type,uname:this.portable?undefined:this.stat.uid===this.myuid?this.myuser:"",atime:this.portable?undefined:this.stat.atime,ctime:this.portable?undefined:this.stat.ctime});if(this.header.encode()&&!this.noPax){super.write(new Pax({atime:this.portable?undefined:this.header.atime,ctime:this.portable?undefined:this.header.ctime,gid:this.portable?undefined:this.header.gid,mtime:this.noMtime?undefined:this.mtime||this.header.mtime,path:this[vs](this.path),linkpath:this.type==="Link"&&this.linkpath!==undefined?this[vs](this.linkpath):this.linkpath,size:this.header.size,uid:this.portable?undefined:this.header.uid,uname:this.portable?undefined:this.header.uname,dev:this.portable?undefined:this.stat.dev,ino:this.portable?undefined:this.stat.ino,nlink:this.portable?undefined:this.stat.nlink}).encode())}const t=this.header?.block;if(!t){throw new Error("failed to encode header")}super.write(t)}[ss](){if(!this.stat){throw new Error("cannot create directory entry without stat")}if(this.path.slice(-1)!=="/"){this.path+="/"}this.stat.size=0;this[os]();this.end()}[ns](){Fe.readlink(this.absolute,((t,r)=>{if(t){return this.emit("error",t)}this[hs](r)}))}[hs](t){this.linkpath=pr(t);this[os]();this.end()}[is](t){if(!this.stat){throw new Error("cannot create link entry without stat")}this.type="Link";this.linkpath=pr(Xt.relative(this.cwd,t));this.stat.size=0;this[os]();this.end()}[rs](){if(!this.stat){throw new Error("cannot create file entry without stat")}if(this.stat.nlink>1){const t=`${this.stat.dev}:${this.stat.ino}`;const r=this.linkCache.get(t);if(r?.indexOf(this.cwd)===0){return this[is](r)}this.linkCache.set(t,this.absolute)}this[os]();if(this.stat.size===0){return this.end()}this[ds]()}[ds](){Fe.open(this.absolute,"r",((t,r)=>{if(t){return this.emit("error",t)}this[ps](r)}))}[ps](t){this.fd=t;if(this.#g){return this[ms]()}if(!this.stat){throw new Error("should stat before calling onopenfile")}this.blockLen=512*Math.ceil(this.stat.size/512);this.blockRemain=this.blockLen;const r=Math.min(this.blockLen,this.maxReadSize);this.buf=Buffer.allocUnsafe(r);this.offset=0;this.pos=0;this.remain=this.stat.size;this.length=this.buf.length;this[as]()}[as](){const{fd:t,buf:r,offset:i,length:o,pos:a}=this;if(t===undefined||r===undefined){throw new Error("cannot read file without first opening")}Fe.read(t,r,i,o,a,((t,r)=>{if(t){return this[ms]((()=>this.emit("error",t)))}this[us](r)}))}[ms](t=()=>{}){if(this.fd!==undefined)Fe.close(this.fd,t)}[us](t){if(t<=0&&this.remain>0){const t=Object.assign(new Error("encountered unexpected EOF"),{path:this.absolute,syscall:"read",code:"EOF"});return this[ms]((()=>this.emit("error",t)))}if(t>this.remain){const t=Object.assign(new Error("did not encounter expected EOF"),{path:this.absolute,syscall:"read",code:"EOF"});return this[ms]((()=>this.emit("error",t)))}if(!this.buf){throw new Error("should have created buffer prior to reading")}if(t===this.remain){for(let r=t;r<this.length&&t<this.blockRemain;r++){this.buf[r+this.offset]=0;t++;this.remain++}}const r=this.offset===0&&t===this.buf.length?this.buf:this.buf.subarray(this.offset,this.offset+t);const i=this.write(r);if(!i){this[ys]((()=>this[_s]()))}else{this[_s]()}}[ys](t){this.once("drain",t)}write(t,r,i){if(typeof r==="function"){i=r;r=undefined}if(typeof t==="string"){t=Buffer.from(t,typeof r==="string"?r:"utf8")}if(this.blockRemain<t.length){const t=Object.assign(new Error("writing more data than expected"),{path:this.absolute});return this.emit("error",t)}this.remain-=t.length;this.blockRemain-=t.length;this.pos+=t.length;this.offset+=t.length;return super.write(t,null,i)}[_s](){if(!this.remain){if(this.blockRemain){super.write(Buffer.alloc(this.blockRemain))}return this[ms]((t=>t?this.emit("error",t):this.end()))}if(!this.buf){throw new Error("buffer lost somehow in ONDRAIN")}if(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[as]()}}class WriteEntrySync extends WriteEntry{sync=true;[cs](){this[ls](Fe.lstatSync(this.absolute))}[ns](){this[hs](Fe.readlinkSync(this.absolute))}[ds](){this[ps](Fe.openSync(this.absolute,"r"))}[as](){let t=true;try{const{fd:r,buf:i,offset:o,length:a,pos:c}=this;if(r===undefined||i===undefined){throw new Error("fd and buf must be set in READ method")}const l=Fe.readSync(r,i,o,a,c);this[us](l);t=false}finally{if(t){try{this[ms]((()=>{}))}catch(t){}}}}[ys](t){t()}[ms](t=()=>{}){if(this.fd!==undefined)Fe.closeSync(this.fd);t()}}class WriteEntryTar extends Minipass{blockLen=0;blockRemain=0;buf=0;pos=0;remain=0;length=0;preservePaths;portable;strict;noPax;noMtime;readEntry;type;prefix;path;mode;uid;gid;uname;gname;header;mtime;atime;ctime;linkpath;size;onWriteEntry;warn(t,r,i={}){return warnMethod(this,t,r,i)}constructor(t,r={}){const i=dealias(r);super();this.preservePaths=!!i.preservePaths;this.portable=!!i.portable;this.strict=!!i.strict;this.noPax=!!i.noPax;this.noMtime=!!i.noMtime;this.onWriteEntry=i.onWriteEntry;this.readEntry=t;const{type:o}=t;if(o==="Unsupported"){throw new Error("writing entry that should be ignored")}this.type=o;if(this.type==="Directory"&&this.portable){this.noMtime=true}this.prefix=i.prefix;this.path=pr(t.path);this.mode=t.mode!==undefined?this[gs](t.mode):undefined;this.uid=this.portable?undefined:t.uid;this.gid=this.portable?undefined:t.gid;this.uname=this.portable?undefined:t.uname;this.gname=this.portable?undefined:t.gname;this.size=t.size;this.mtime=this.noMtime?undefined:i.mtime||t.mtime;this.atime=this.portable?undefined:t.atime;this.ctime=this.portable?undefined:t.ctime;this.linkpath=t.linkpath!==undefined?pr(t.linkpath):undefined;if(typeof i.onwarn==="function"){this.on("warn",i.onwarn)}let a=false;if(!this.preservePaths){const[t,r]=stripAbsolutePath(this.path);if(t&&typeof r==="string"){this.path=r;a=t}}this.remain=t.size;this.blockRemain=t.startBlockSize;this.onWriteEntry?.(this);this.header=new Header({path:this[vs](this.path),linkpath:this.type==="Link"&&this.linkpath!==undefined?this[vs](this.linkpath):this.linkpath,mode:this.mode,uid:this.portable?undefined:this.uid,gid:this.portable?undefined:this.gid,size:this.size,mtime:this.noMtime?undefined:this.mtime,type:this.type,uname:this.portable?undefined:this.uname,atime:this.portable?undefined:this.atime,ctime:this.portable?undefined:this.ctime});if(a){this.warn("TAR_ENTRY_INFO",`stripping ${a} from absolute path`,{entry:this,path:a+this.path})}if(this.header.encode()&&!this.noPax){super.write(new Pax({atime:this.portable?undefined:this.atime,ctime:this.portable?undefined:this.ctime,gid:this.portable?undefined:this.gid,mtime:this.noMtime?undefined:this.mtime,path:this[vs](this.path),linkpath:this.type==="Link"&&this.linkpath!==undefined?this[vs](this.linkpath):this.linkpath,size:this.size,uid:this.portable?undefined:this.uid,uname:this.portable?undefined:this.uname,dev:this.portable?undefined:this.readEntry.dev,ino:this.portable?undefined:this.readEntry.ino,nlink:this.portable?undefined:this.readEntry.nlink}).encode())}const c=this.header?.block;if(!c)throw new Error("failed to encode header");super.write(c);t.pipe(this)}[vs](t){return prefixPath(t,this.prefix)}[gs](t){return modeFix(t,this.type==="Directory",this.portable)}write(t,r,i){if(typeof r==="function"){i=r;r=undefined}if(typeof t==="string"){t=Buffer.from(t,typeof r==="string"?r:"utf8")}const o=t.length;if(o>this.blockRemain){throw new Error("writing more to entry than is appropriate")}this.blockRemain-=o;return super.write(t,i)}end(t,r,i){if(this.blockRemain){super.write(Buffer.alloc(this.blockRemain))}if(typeof t==="function"){i=t;r=undefined;t=undefined}if(typeof r==="function"){i=r;r=undefined}if(typeof t==="string"){t=Buffer.from(t,r??"utf8")}if(i)this.once("finish",i);t?super.end(t,i):super.end(i);return this}}const getType=t=>t.isFile()?"File":t.isDirectory()?"Directory":t.isSymbolicLink()?"SymbolicLink":"Unsupported";class PackJob{path;absolute;entry;stat;readdir;pending=false;ignore=false;piped=false;constructor(t,r){this.path=t||"./";this.absolute=r}}const bs=Buffer.alloc(1024);const ws=Symbol("onStat");const Es=Symbol("ended");const Ss=Symbol("queue");const $s=Symbol("current");const Rs=Symbol("process");const Os=Symbol("processing");const Ps=Symbol("processJob");const As=Symbol("jobs");const xs=Symbol("jobDone");const Ts=Symbol("addFSEntry");const ks=Symbol("addTarEntry");const Cs=Symbol("stat");const Is=Symbol("readdir");const Ns=Symbol("onreaddir");const Ds=Symbol("pipe");const Ls=Symbol("entry");const Ms=Symbol("entryOpt");const js=Symbol("writeEntryClass");const Fs=Symbol("write");const Us=Symbol("ondrain");class Pack extends Minipass{opt;cwd;maxReadSize;preservePaths;strict;noPax;prefix;linkCache;statCache;file;portable;zip;readdirCache;noDirRecurse;follow;noMtime;mtime;filter;jobs;[js];onWriteEntry;[Ss];[As]=0;[Os]=false;[Es]=false;constructor(t={}){super();this.opt=t;this.file=t.file||"";this.cwd=t.cwd||process.cwd();this.maxReadSize=t.maxReadSize;this.preservePaths=!!t.preservePaths;this.strict=!!t.strict;this.noPax=!!t.noPax;this.prefix=pr(t.prefix||"");this.linkCache=t.linkCache||new Map;this.statCache=t.statCache||new Map;this.readdirCache=t.readdirCache||new Map;this.onWriteEntry=t.onWriteEntry;this[js]=WriteEntry;if(typeof t.onwarn==="function"){this.on("warn",t.onwarn)}this.portable=!!t.portable;if(t.gzip||t.brotli){if(t.gzip&&t.brotli){throw new TypeError("gzip and brotli are mutually exclusive")}if(t.gzip){if(typeof t.gzip!=="object"){t.gzip={}}if(this.portable){t.gzip.portable=true}this.zip=new Gzip(t.gzip)}if(t.brotli){if(typeof t.brotli!=="object"){t.brotli={}}this.zip=new BrotliCompress(t.brotli)}if(!this.zip)throw new Error("impossible");const r=this.zip;r.on("data",(t=>super.write(t)));r.on("end",(()=>super.end()));r.on("drain",(()=>this[Us]()));this.on("resume",(()=>r.resume()))}else{this.on("drain",this[Us])}this.noDirRecurse=!!t.noDirRecurse;this.follow=!!t.follow;this.noMtime=!!t.noMtime;if(t.mtime)this.mtime=t.mtime;this.filter=typeof t.filter==="function"?t.filter:()=>true;this[Ss]=new Yallist;this[As]=0;this.jobs=Number(t.jobs)||4;this[Os]=false;this[Es]=false}[Fs](t){return super.write(t)}add(t){this.write(t);return this}end(t,r,i){if(typeof t==="function"){i=t;t=undefined}if(typeof r==="function"){i=r;r=undefined}if(t){this.add(t)}this[Es]=true;this[Rs]();if(i)i();return this}write(t){if(this[Es]){throw new Error("write after end")}if(t instanceof ReadEntry){this[ks](t)}else{this[Ts](t)}return this.flowing}[ks](t){const r=pr(Xt.resolve(this.cwd,t.path));if(!this.filter(t.path,t)){t.resume()}else{const i=new PackJob(t.path,r);i.entry=new WriteEntryTar(t,this[Ms](i));i.entry.on("end",(()=>this[xs](i)));this[As]+=1;this[Ss].push(i)}this[Rs]()}[Ts](t){const r=pr(Xt.resolve(this.cwd,t));this[Ss].push(new PackJob(t,r));this[Rs]()}[Cs](t){t.pending=true;this[As]+=1;const r=this.follow?"stat":"lstat";Fe[r](t.absolute,((r,i)=>{t.pending=false;this[As]-=1;if(r){this.emit("error",r)}else{this[ws](t,i)}}))}[ws](t,r){this.statCache.set(t.absolute,r);t.stat=r;if(!this.filter(t.path,r)){t.ignore=true}this[Rs]()}[Is](t){t.pending=true;this[As]+=1;Fe.readdir(t.absolute,((r,i)=>{t.pending=false;this[As]-=1;if(r){return this.emit("error",r)}this[Ns](t,i)}))}[Ns](t,r){this.readdirCache.set(t.absolute,r);t.readdir=r;this[Rs]()}[Rs](){if(this[Os]){return}this[Os]=true;for(let t=this[Ss].head;!!t&&this[As]<this.jobs;t=t.next){this[Ps](t.value);if(t.value.ignore){const r=t.next;this[Ss].removeNode(t);t.next=r}}this[Os]=false;if(this[Es]&&!this[Ss].length&&this[As]===0){if(this.zip){this.zip.end(bs)}else{super.write(bs);super.end()}}}get[$s](){return this[Ss]&&this[Ss].head&&this[Ss].head.value}[xs](t){this[Ss].shift();this[As]-=1;this[Rs]()}[Ps](t){if(t.pending){return}if(t.entry){if(t===this[$s]&&!t.piped){this[Ds](t)}return}if(!t.stat){const r=this.statCache.get(t.absolute);if(r){this[ws](t,r)}else{this[Cs](t)}}if(!t.stat){return}if(t.ignore){return}if(!this.noDirRecurse&&t.stat.isDirectory()&&!t.readdir){const r=this.readdirCache.get(t.absolute);if(r){this[Ns](t,r)}else{this[Is](t)}if(!t.readdir){return}}t.entry=this[Ls](t);if(!t.entry){t.ignore=true;return}if(t===this[$s]&&!t.piped){this[Ds](t)}}[Ms](t){return{onwarn:(t,r,i)=>this.warn(t,r,i),noPax:this.noPax,cwd:this.cwd,absolute:t.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,onWriteEntry:this.onWriteEntry}}[Ls](t){this[As]+=1;try{const r=new this[js](t.path,this[Ms](t));return r.on("end",(()=>this[xs](t))).on("error",(t=>this.emit("error",t)))}catch(t){this.emit("error",t)}}[Us](){if(this[$s]&&this[$s].entry){this[$s].entry.resume()}}[Ds](t){t.piped=true;if(t.readdir){t.readdir.forEach((r=>{const i=t.path;const o=i==="./"?"":i.replace(/\/*$/,"/");this[Ts](o+r)}))}const r=t.entry;const i=this.zip;if(!r)throw new Error("cannot pipe without source");if(i){r.on("data",(t=>{if(!i.write(t)){r.pause()}}))}else{r.on("data",(t=>{if(!super.write(t)){r.pause()}}))}}pause(){if(this.zip){this.zip.pause()}return super.pause()}warn(t,r,i={}){warnMethod(this,t,r,i)}}class PackSync extends Pack{sync=true;constructor(t){super(t);this[js]=WriteEntrySync}pause(){}resume(){}[Cs](t){const r=this.follow?"statSync":"lstatSync";this[ws](t,Fe[r](t.absolute))}[Is](t){this[Ns](t,Fe.readdirSync(t.absolute))}[Ds](t){const r=t.entry;const i=this.zip;if(t.readdir){t.readdir.forEach((r=>{const i=t.path;const o=i==="./"?"":i.replace(/\/*$/,"/");this[Ts](o+r)}))}if(!r)throw new Error("Cannot pipe without source");if(i){r.on("data",(t=>{i.write(t)}))}else{r.on("data",(t=>{super[Fs](t)}))}}}const createFileSync=(t,r)=>{const i=new PackSync(t);const o=new WriteStreamSync(t.file,{mode:t.mode||438});i.pipe(o);addFilesSync(i,r)};const createFile=(t,r)=>{const i=new Pack(t);const o=new WriteStream(t.file,{mode:t.mode||438});i.pipe(o);const a=new Promise(((t,r)=>{o.on("error",r);o.on("close",t);i.on("error",r)}));addFilesAsync(i,r);return a};const addFilesSync=(t,r)=>{r.forEach((r=>{if(r.charAt(0)==="@"){Wr({file:E.resolve(t.cwd,r.slice(1)),sync:true,noResume:true,onReadEntry:r=>t.add(r)})}else{t.add(r)}}));t.end()};const addFilesAsync=async(t,r)=>{for(let i=0;i<r.length;i++){const o=String(r[i]);if(o.charAt(0)==="@"){await Wr({file:E.resolve(String(t.cwd),o.slice(1)),noResume:true,onReadEntry:r=>{t.add(r)}})}else{t.add(o)}}t.end()};const createSync=(t,r)=>{const i=new PackSync(t);addFilesSync(i,r);return i};const createAsync=(t,r)=>{const i=new Pack(t);addFilesAsync(i,r);return i};const Bs=makeCommand(createFileSync,createFile,createSync,createAsync,((t,r)=>{if(!r?.length){throw new TypeError("no paths specified to add to archive")}}));const Hs=process.env.__FAKE_PLATFORM__||process.platform;const Vs=Hs==="win32";const{O_CREAT:Gs,O_TRUNC:zs,O_WRONLY:qs}=Fe.constants;const Ws=Number(process.env.__FAKE_FS_O_FILENAME__)||Fe.constants.UV_FS_O_FILEMAP||0;const Ks=Vs&&!!Ws;const Ys=512*1024;const Zs=Ws|zs|Gs|qs;const Xs=!Ks?()=>"w":t=>t<Ys?Zs:"w";const lchownSync=(t,r,i)=>{try{return w.lchownSync(t,r,i)}catch(t){if(t?.code!=="ENOENT")throw t}};const chown=(t,r,i,o)=>{w.lchown(t,r,i,(t=>{o(t&&t?.code!=="ENOENT"?t:null)}))};const chownrKid=(t,r,i,o,a)=>{if(r.isDirectory()){chownr(E.resolve(t,r.name),i,o,(c=>{if(c)return a(c);const l=E.resolve(t,r.name);chown(l,i,o,a)}))}else{const c=E.resolve(t,r.name);chown(c,i,o,a)}};const chownr=(t,r,i,o)=>{w.readdir(t,{withFileTypes:true},((a,c)=>{if(a){if(a.code==="ENOENT")return o();else if(a.code!=="ENOTDIR"&&a.code!=="ENOTSUP")return o(a)}if(a||!c.length)return chown(t,r,i,o);let l=c.length;let u=null;const then=a=>{if(u)return;if(a)return o(u=a);if(--l===0)return chown(t,r,i,o)};for(const o of c){chownrKid(t,o,r,i,then)}}))};const chownrKidSync=(t,r,i,o)=>{if(r.isDirectory())chownrSync(E.resolve(t,r.name),i,o);lchownSync(E.resolve(t,r.name),i,o)};const chownrSync=(t,r,i)=>{let o;try{o=w.readdirSync(t,{withFileTypes:true})}catch(o){const a=o;if(a?.code==="ENOENT")return;else if(a?.code==="ENOTDIR"||a?.code==="ENOTSUP")return lchownSync(t,r,i);else throw a}for(const a of o){chownrKidSync(t,a,r,i)}return lchownSync(t,r,i)};const optsArg=t=>{if(!t){t={mode:511}}else if(typeof t==="object"){t={mode:511,...t}}else if(typeof t==="number"){t={mode:t}}else if(typeof t==="string"){t={mode:parseInt(t,8)}}else{throw new TypeError("invalid options argument")}const r=t;const i=t.fs||{};t.mkdir=t.mkdir||i.mkdir||Fe.mkdir;t.mkdirAsync=t.mkdirAsync?t.mkdirAsync:async(t,i)=>new Promise(((o,a)=>r.mkdir(t,i,((t,r)=>t?a(t):o(r)))));t.stat=t.stat||i.stat||Fe.stat;t.statAsync=t.statAsync?t.statAsync:async t=>new Promise(((i,o)=>r.stat(t,((t,r)=>t?o(t):i(r)))));t.statSync=t.statSync||i.statSync||Fe.statSync;t.mkdirSync=t.mkdirSync||i.mkdirSync||Fe.mkdirSync;return r};const mkdirp_manual_mkdirpManualSync=(t,r,i)=>{const o=(0,Xt.dirname)(t);const a={...optsArg(r),recursive:false};if(o===t){try{return a.mkdirSync(t,a)}catch(t){const r=t;if(r&&r.code!=="EISDIR"){throw t}return}}try{a.mkdirSync(t,a);return i||t}catch(r){const c=r;if(c&&c.code==="ENOENT"){return mkdirp_manual_mkdirpManualSync(t,a,mkdirp_manual_mkdirpManualSync(o,a,i))}if(c&&c.code!=="EEXIST"&&c&&c.code!=="EROFS"){throw r}try{if(!a.statSync(t).isDirectory())throw r}catch(t){throw r}}};const Js=Object.assign((async(t,r,i)=>{const o=optsArg(r);o.recursive=false;const a=(0,Xt.dirname)(t);if(a===t){return o.mkdirAsync(t,o).catch((t=>{const r=t;if(r&&r.code!=="EISDIR"){throw t}}))}return o.mkdirAsync(t,o).then((()=>i||t),(async r=>{const c=r;if(c&&c.code==="ENOENT"){return Js(a,o).then((r=>Js(t,o,r)))}if(c&&c.code!=="EEXIST"&&c.code!=="EROFS"){throw r}return o.statAsync(t).then((t=>{if(t.isDirectory()){return i}else{throw r}}),(()=>{throw r}))}))}),{sync:mkdirp_manual_mkdirpManualSync});const findMade=async(t,r,i)=>{if(i===r){return}return t.statAsync(r).then((t=>t.isDirectory()?i:undefined),(i=>{const o=i;return o&&o.code==="ENOENT"?findMade(t,(0,Xt.dirname)(r),r):undefined}))};const findMadeSync=(t,r,i)=>{if(i===r){return undefined}try{return t.statSync(r).isDirectory()?i:undefined}catch(i){const o=i;return o&&o.code==="ENOENT"?findMadeSync(t,(0,Xt.dirname)(r),r):undefined}};const mkdirp_native_mkdirpNativeSync=(t,r)=>{const i=optsArg(r);i.recursive=true;const o=(0,Xt.dirname)(t);if(o===t){return i.mkdirSync(t,i)}const a=findMadeSync(i,t);try{i.mkdirSync(t,i);return a}catch(r){const o=r;if(o&&o.code==="ENOENT"){return mkdirp_manual_mkdirpManualSync(t,i)}else{throw r}}};const Qs=Object.assign((async(t,r)=>{const i={...optsArg(r),recursive:true};const o=(0,Xt.dirname)(t);if(o===t){return await i.mkdirAsync(t,i)}return findMade(i,t).then((r=>i.mkdirAsync(t,i).then((t=>r||t)).catch((r=>{const o=r;if(o&&o.code==="ENOENT"){return Js(t,i)}else{throw r}}))))}),{sync:mkdirp_native_mkdirpNativeSync});const en=process.env.__TESTING_MKDIRP_PLATFORM__||process.platform;const pathArg=t=>{if(/\0/.test(t)){throw Object.assign(new TypeError("path must be a string without null bytes"),{path:t,code:"ERR_INVALID_ARG_VALUE"})}t=(0,Xt.resolve)(t);if(en==="win32"){const r=/[*|"<>?:]/;const{root:i}=(0,Xt.parse)(t);if(r.test(t.substring(i.length))){throw Object.assign(new Error("Illegal characters in path."),{path:t,code:"EINVAL"})}}return t};const tn=process.env.__TESTING_MKDIRP_NODE_VERSION__||process.version;const rn=tn.replace(/^v/,"").split(".");const sn=+rn[0]>10||+rn[0]===10&&+rn[1]>=12;const nn=!sn?()=>false:t=>optsArg(t).mkdirSync===Fe.mkdirSync;const on=Object.assign(!sn?()=>false:t=>optsArg(t).mkdir===Fe.mkdir,{sync:nn});const mkdirpSync=(t,r)=>{t=pathArg(t);const i=optsArg(r);return nn(i)?mkdirp_native_mkdirpNativeSync(t,i):mkdirp_manual_mkdirpManualSync(t,i)};const an=null&&mkdirpSync;const cn=null&&mkdirpManual;const ln=null&&mkdirpManualSync;const un=null&&mkdirpNative;const hn=null&&mkdirpNativeSync;const dn=Object.assign((async(t,r)=>{t=pathArg(t);const i=optsArg(r);return on(i)?Qs(t,i):Js(t,i)}),{mkdirpSync:mkdirpSync,mkdirpNative:Qs,mkdirpNativeSync:mkdirp_native_mkdirpNativeSync,mkdirpManual:Js,mkdirpManualSync:mkdirp_manual_mkdirpManualSync,sync:mkdirpSync,native:Qs,nativeSync:mkdirp_native_mkdirpNativeSync,manual:Js,manualSync:mkdirp_manual_mkdirpManualSync,useNative:on,useNativeSync:nn});class CwdError extends Error{path;code;syscall="chdir";constructor(t,r){super(`${r}: Cannot cd into '${t}'`);this.path=t;this.code=r}get name(){return"CwdError"}}class SymlinkError extends Error{path;symlink;syscall="symlink";code="TAR_SYMLINK_ERROR";constructor(t,r){super("TAR_SYMLINK_ERROR: Cannot extract through symbolic link");this.symlink=t;this.path=r}get name(){return"SymlinkError"}}const cGet=(t,r)=>t.get(pr(r));const cSet=(t,r,i)=>t.set(pr(r),i);const checkCwd=(t,r)=>{Fe.stat(t,((i,o)=>{if(i||!o.isDirectory()){i=new CwdError(t,i?.code||"ENOTDIR")}r(i)}))};const mkdir=(t,r,i)=>{t=pr(t);const o=r.umask??18;const a=r.mode|448;const c=(a&o)!==0;const l=r.uid;const u=r.gid;const h=typeof l==="number"&&typeof u==="number"&&(l!==r.processUid||u!==r.processGid);const d=r.preserve;const p=r.unlink;const m=r.cache;const g=pr(r.cwd);const done=(r,o)=>{if(r){i(r)}else{cSet(m,t,true);if(o&&h){chownr(o,l,u,(t=>done(t)))}else if(c){Fe.chmod(t,a,i)}else{i()}}};if(m&&cGet(m,t)===true){return done()}if(t===g){return checkCwd(t,done)}if(d){return dn(t,{mode:a}).then((t=>done(null,t??undefined)),done)}const y=pr(E.relative(g,t));const v=y.split("/");mkdir_(g,v,a,m,p,g,undefined,done)};const mkdir_=(t,r,i,o,a,c,l,u)=>{if(!r.length){return u(null,l)}const h=r.shift();const d=pr(E.resolve(t+"/"+h));if(cGet(o,d)){return mkdir_(d,r,i,o,a,c,l,u)}Fe.mkdir(d,i,onmkdir(d,r,i,o,a,c,l,u))};const onmkdir=(t,r,i,o,a,c,l,u)=>h=>{if(h){Fe.lstat(t,((d,p)=>{if(d){d.path=d.path&&pr(d.path);u(d)}else if(p.isDirectory()){mkdir_(t,r,i,o,a,c,l,u)}else if(a){Fe.unlink(t,(h=>{if(h){return u(h)}Fe.mkdir(t,i,onmkdir(t,r,i,o,a,c,l,u))}))}else if(p.isSymbolicLink()){return u(new SymlinkError(t,t+"/"+r.join("/")))}else{u(h)}}))}else{l=l||t;mkdir_(t,r,i,o,a,c,l,u)}};const checkCwdSync=t=>{let r=false;let i=undefined;try{r=Fe.statSync(t).isDirectory()}catch(t){i=t?.code}finally{if(!r){throw new CwdError(t,i??"ENOTDIR")}}};const mkdirSync=(t,r)=>{t=pr(t);const i=r.umask??18;const o=r.mode|448;const a=(o&i)!==0;const c=r.uid;const l=r.gid;const u=typeof c==="number"&&typeof l==="number"&&(c!==r.processUid||l!==r.processGid);const h=r.preserve;const d=r.unlink;const p=r.cache;const m=pr(r.cwd);const done=r=>{cSet(p,t,true);if(r&&u){chownrSync(r,c,l)}if(a){Fe.chmodSync(t,o)}};if(p&&cGet(p,t)===true){return done()}if(t===m){checkCwdSync(m);return done()}if(h){return done(mkdirpSync(t,o)??undefined)}const g=pr(E.relative(m,t));const y=g.split("/");let v=undefined;for(let t=y.shift(),r=m;t&&(r+="/"+t);t=y.shift()){r=pr(E.resolve(r));if(cGet(p,r)){continue}try{Fe.mkdirSync(r,o);v=v||r;cSet(p,r,true)}catch(t){const i=Fe.lstatSync(r);if(i.isDirectory()){cSet(p,r,true);continue}else if(d){Fe.unlinkSync(r);Fe.mkdirSync(r,o);v=v||r;cSet(p,r,true);continue}else if(i.isSymbolicLink()){return new SymlinkError(r,r+"/"+y.join("/"))}}}return done(v)};const fn=Object.create(null);const{hasOwnProperty:pn}=Object.prototype;const normalizeUnicode=t=>{if(!pn.call(fn,t)){fn[t]=t.normalize("NFD")}return fn[t]};const mn=process.env.TESTING_TAR_FAKE_PLATFORM||process.platform;const gn=mn==="win32";const getDirs=t=>{const r=t.split("/").slice(0,-1).reduce(((t,r)=>{const i=t[t.length-1];if(i!==undefined){r=(0,E.join)(i,r)}t.push(r||"/");return t}),[]);return r};class PathReservations{#y=new Map;#_=new Map;#v=new Set;reserve(t,r){t=gn?["win32 parallelization disabled"]:t.map((t=>stripTrailingSlashes((0,E.join)(normalizeUnicode(t))).toLowerCase()));const i=new Set(t.map((t=>getDirs(t))).reduce(((t,r)=>t.concat(r))));this.#_.set(r,{dirs:i,paths:t});for(const i of t){const t=this.#y.get(i);if(!t){this.#y.set(i,[r])}else{t.push(r)}}for(const t of i){const i=this.#y.get(t);if(!i){this.#y.set(t,[new Set([r])])}else{const t=i[i.length-1];if(t instanceof Set){t.add(r)}else{i.push(new Set([r]))}}}return this.#b(r)}#w(t){const r=this.#_.get(t);if(!r){throw new Error("function does not have any path reservations")}return{paths:r.paths.map((t=>this.#y.get(t))),dirs:[...r.dirs].map((t=>this.#y.get(t)))}}check(t){const{paths:r,dirs:i}=this.#w(t);return r.every((r=>r&&r[0]===t))&&i.every((r=>r&&r[0]instanceof Set&&r[0].has(t)))}#b(t){if(this.#v.has(t)||!this.check(t)){return false}this.#v.add(t);t((()=>this.#E(t)));return true}#E(t){if(!this.#v.has(t)){return false}const r=this.#_.get(t);if(!r){throw new Error("invalid reservation")}const{paths:i,dirs:o}=r;const a=new Set;for(const r of i){const i=this.#y.get(r);if(!i||i?.[0]!==t){continue}const o=i[1];if(!o){this.#y.delete(r);continue}i.shift();if(typeof o==="function"){a.add(o)}else{for(const t of o){a.add(t)}}}for(const r of o){const i=this.#y.get(r);const o=i?.[0];if(!i||!(o instanceof Set))continue;if(o.size===1&&i.length===1){this.#y.delete(r);continue}else if(o.size===1){i.shift();const t=i[0];if(typeof t==="function"){a.add(t)}}else{o.delete(t)}}this.#v.delete(t);a.forEach((t=>this.#b(t)));return true}}const yn=Symbol("onEntry");const _n=Symbol("checkFs");const vn=Symbol("checkFs2");const bn=Symbol("pruneCache");const wn=Symbol("isReusable");const En=Symbol("makeFs");const Sn=Symbol("file");const $n=Symbol("directory");const Rn=Symbol("link");const On=Symbol("symlink");const Pn=Symbol("hardlink");const An=Symbol("unsupported");const xn=Symbol("checkPath");const Tn=Symbol("mkdir");const kn=Symbol("onError");const Cn=Symbol("pending");const In=Symbol("pend");const Nn=Symbol("unpend");const Dn=Symbol("ended");const Ln=Symbol("maybeClose");const Mn=Symbol("skip");const jn=Symbol("doChown");const Fn=Symbol("uid");const Un=Symbol("gid");const Bn=Symbol("checkedCwd");const Hn=process.env.TESTING_TAR_FAKE_PLATFORM||process.platform;const Vn=Hn==="win32";const Gn=1024;const unlinkFile=(t,r)=>{if(!Vn){return w.unlink(t,r)}const i=t+".DELETE."+(0,$.randomBytes)(16).toString("hex");w.rename(t,i,(t=>{if(t){return r(t)}w.unlink(i,r)}))};const unlinkFileSync=t=>{if(!Vn){return w.unlinkSync(t)}const r=t+".DELETE."+(0,$.randomBytes)(16).toString("hex");w.renameSync(t,r);w.unlinkSync(r)};const uint32=(t,r,i)=>t!==undefined&&t===t>>>0?t:r!==undefined&&r===r>>>0?r:i;const cacheKeyNormalize=t=>stripTrailingSlashes(pr(normalizeUnicode(t))).toLowerCase();const pruneCache=(t,r)=>{r=cacheKeyNormalize(r);for(const i of t.keys()){const o=cacheKeyNormalize(i);if(o===r||o.indexOf(r+"/")===0){t.delete(i)}}};const dropCache=t=>{for(const r of t.keys()){t.delete(r)}};class Unpack extends Parser{[Dn]=false;[Bn]=false;[Cn]=0;reservations=new PathReservations;transform;writable=true;readable=false;dirCache;uid;gid;setOwner;preserveOwner;processGid;processUid;maxDepth;forceChown;win32;newer;keep;noMtime;preservePaths;unlink;cwd;strip;processUmask;umask;dmode;fmode;chmod;constructor(t={}){t.ondone=()=>{this[Dn]=true;this[Ln]()};super(t);this.transform=t.transform;this.dirCache=t.dirCache||new Map;this.chmod=!!t.chmod;if(typeof t.uid==="number"||typeof t.gid==="number"){if(typeof t.uid!=="number"||typeof t.gid!=="number"){throw new TypeError("cannot set owner without number uid and gid")}if(t.preserveOwner){throw new TypeError("cannot preserve owner in archive and also set owner explicitly")}this.uid=t.uid;this.gid=t.gid;this.setOwner=true}else{this.uid=undefined;this.gid=undefined;this.setOwner=false}if(t.preserveOwner===undefined&&typeof t.uid!=="number"){this.preserveOwner=!!(process.getuid&&process.getuid()===0)}else{this.preserveOwner=!!t.preserveOwner}this.processUid=(this.preserveOwner||this.setOwner)&&process.getuid?process.getuid():undefined;this.processGid=(this.preserveOwner||this.setOwner)&&process.getgid?process.getgid():undefined;this.maxDepth=typeof t.maxDepth==="number"?t.maxDepth:Gn;this.forceChown=t.forceChown===true;this.win32=!!t.win32||Vn;this.newer=!!t.newer;this.keep=!!t.keep;this.noMtime=!!t.noMtime;this.preservePaths=!!t.preservePaths;this.unlink=!!t.unlink;this.cwd=pr(E.resolve(t.cwd||process.cwd()));this.strip=Number(t.strip)||0;this.processUmask=!this.chmod?0:typeof t.processUmask==="number"?t.processUmask:process.umask();this.umask=typeof t.umask==="number"?t.umask:this.processUmask;this.dmode=t.dmode||511&~this.umask;this.fmode=t.fmode||438&~this.umask;this.on("entry",(t=>this[yn](t)))}warn(t,r,i={}){if(t==="TAR_BAD_ARCHIVE"||t==="TAR_ABORT"){i.recoverable=false}return super.warn(t,r,i)}[Ln](){if(this[Dn]&&this[Cn]===0){this.emit("prefinish");this.emit("finish");this.emit("end")}}[xn](t){const r=pr(t.path);const i=r.split("/");if(this.strip){if(i.length<this.strip){return false}if(t.type==="Link"){const r=pr(String(t.linkpath)).split("/");if(r.length>=this.strip){t.linkpath=r.slice(this.strip).join("/")}else{return false}}i.splice(0,this.strip);t.path=i.join("/")}if(isFinite(this.maxDepth)&&i.length>this.maxDepth){this.warn("TAR_ENTRY_ERROR","path excessively deep",{entry:t,path:r,depth:i.length,maxDepth:this.maxDepth});return false}if(!this.preservePaths){if(i.includes("..")||Vn&&/^[a-z]:\.\.$/i.test(i[0]??"")){this.warn("TAR_ENTRY_ERROR",`path contains '..'`,{entry:t,path:r});return false}const[o,a]=stripAbsolutePath(r);if(o){t.path=String(a);this.warn("TAR_ENTRY_INFO",`stripping ${o} from absolute path`,{entry:t,path:r})}}if(E.isAbsolute(t.path)){t.absolute=pr(E.resolve(t.path))}else{t.absolute=pr(E.resolve(this.cwd,t.path))}if(!this.preservePaths&&typeof t.absolute==="string"&&t.absolute.indexOf(this.cwd+"/")!==0&&t.absolute!==this.cwd){this.warn("TAR_ENTRY_ERROR","path escaped extraction target",{entry:t,path:pr(t.path),resolvedPath:t.absolute,cwd:this.cwd});return false}if(t.absolute===this.cwd&&t.type!=="Directory"&&t.type!=="GNUDumpDir"){return false}if(this.win32){const{root:r}=E.win32.parse(String(t.absolute));t.absolute=r+winchars_encode(String(t.absolute).slice(r.length));const{root:i}=E.win32.parse(t.path);t.path=i+winchars_encode(t.path.slice(i.length))}return true}[yn](t){if(!this[xn](t)){return t.resume()}R.equal(typeof t.absolute,"string");switch(t.type){case"Directory":case"GNUDumpDir":if(t.mode){t.mode=t.mode|448}case"File":case"OldFile":case"ContiguousFile":case"Link":case"SymbolicLink":return this[_n](t);case"CharacterDevice":case"BlockDevice":case"FIFO":default:return this[An](t)}}[kn](t,r){if(t.name==="CwdError"){this.emit("error",t)}else{this.warn("TAR_ENTRY_ERROR",t,{entry:r});this[Nn]();r.resume()}}[Tn](t,r,i){mkdir(pr(t),{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:r},i)}[jn](t){return this.forceChown||this.preserveOwner&&(typeof t.uid==="number"&&t.uid!==this.processUid||typeof t.gid==="number"&&t.gid!==this.processGid)||typeof this.uid==="number"&&this.uid!==this.processUid||typeof this.gid==="number"&&this.gid!==this.processGid}[Fn](t){return uint32(this.uid,t.uid,this.processUid)}[Un](t){return uint32(this.gid,t.gid,this.processGid)}[Sn](t,r){const i=typeof t.mode==="number"?t.mode&4095:this.fmode;const o=new WriteStream(String(t.absolute),{flags:Xs(t.size),mode:i,autoClose:false});o.on("error",(i=>{if(o.fd){w.close(o.fd,(()=>{}))}o.write=()=>true;this[kn](i,t);r()}));let a=1;const done=i=>{if(i){if(o.fd){w.close(o.fd,(()=>{}))}this[kn](i,t);r();return}if(--a===0){if(o.fd!==undefined){w.close(o.fd,(i=>{if(i){this[kn](i,t)}else{this[Nn]()}r()}))}}};o.on("finish",(()=>{const r=String(t.absolute);const i=o.fd;if(typeof i==="number"&&t.mtime&&!this.noMtime){a++;const o=t.atime||new Date;const c=t.mtime;w.futimes(i,o,c,(t=>t?w.utimes(r,o,c,(r=>done(r&&t))):done()))}if(typeof i==="number"&&this[jn](t)){a++;const o=this[Fn](t);const c=this[Un](t);if(typeof o==="number"&&typeof c==="number"){w.fchown(i,o,c,(t=>t?w.chown(r,o,c,(r=>done(r&&t))):done()))}}done()}));const c=this.transform?this.transform(t)||t:t;if(c!==t){c.on("error",(i=>{this[kn](i,t);r()}));t.pipe(c)}c.pipe(o)}[$n](t,r){const i=typeof t.mode==="number"?t.mode&4095:this.dmode;this[Tn](String(t.absolute),i,(i=>{if(i){this[kn](i,t);r();return}let o=1;const done=()=>{if(--o===0){r();this[Nn]();t.resume()}};if(t.mtime&&!this.noMtime){o++;w.utimes(String(t.absolute),t.atime||new Date,t.mtime,done)}if(this[jn](t)){o++;w.chown(String(t.absolute),Number(this[Fn](t)),Number(this[Un](t)),done)}done()}))}[An](t){t.unsupported=true;this.warn("TAR_ENTRY_UNSUPPORTED",`unsupported entry type: ${t.type}`,{entry:t});t.resume()}[On](t,r){this[Rn](t,String(t.linkpath),"symlink",r)}[Pn](t,r){const i=pr(E.resolve(this.cwd,String(t.linkpath)));this[Rn](t,i,"link",r)}[In](){this[Cn]++}[Nn](){this[Cn]--;this[Ln]()}[Mn](t){this[Nn]();t.resume()}[wn](t,r){return t.type==="File"&&!this.unlink&&r.isFile()&&r.nlink<=1&&!Vn}[_n](t){this[In]();const r=[t.path];if(t.linkpath){r.push(t.linkpath)}this.reservations.reserve(r,(r=>this[vn](t,r)))}[bn](t){if(t.type==="SymbolicLink"){dropCache(this.dirCache)}else if(t.type!=="Directory"){pruneCache(this.dirCache,String(t.absolute))}}[vn](t,r){this[bn](t);const done=i=>{this[bn](t);r(i)};const checkCwd=()=>{this[Tn](this.cwd,this.dmode,(r=>{if(r){this[kn](r,t);done();return}this[Bn]=true;start()}))};const start=()=>{if(t.absolute!==this.cwd){const r=pr(E.dirname(String(t.absolute)));if(r!==this.cwd){return this[Tn](r,this.dmode,(r=>{if(r){this[kn](r,t);done();return}afterMakeParent()}))}}afterMakeParent()};const afterMakeParent=()=>{w.lstat(String(t.absolute),((r,i)=>{if(i&&(this.keep||this.newer&&i.mtime>(t.mtime??i.mtime))){this[Mn](t);done();return}if(r||this[wn](t,i)){return this[En](null,t,done)}if(i.isDirectory()){if(t.type==="Directory"){const r=this.chmod&&t.mode&&(i.mode&4095)!==t.mode;const afterChmod=r=>this[En](r??null,t,done);if(!r){return afterChmod()}return w.chmod(String(t.absolute),Number(t.mode),afterChmod)}if(t.absolute!==this.cwd){return w.rmdir(String(t.absolute),(r=>this[En](r??null,t,done)))}}if(t.absolute===this.cwd){return this[En](null,t,done)}unlinkFile(String(t.absolute),(r=>this[En](r??null,t,done)))}))};if(this[Bn]){start()}else{checkCwd()}}[En](t,r,i){if(t){this[kn](t,r);i();return}switch(r.type){case"File":case"OldFile":case"ContiguousFile":return this[Sn](r,i);case"Link":return this[Pn](r,i);case"SymbolicLink":return this[On](r,i);case"Directory":case"GNUDumpDir":return this[$n](r,i)}}[Rn](t,r,i,o){w[i](r,String(t.absolute),(r=>{if(r){this[kn](r,t)}else{this[Nn]();t.resume()}o()}))}}const callSync=t=>{try{return[null,t()]}catch(t){return[t,null]}};class UnpackSync extends Unpack{sync=true;[En](t,r){return super[En](t,r,(()=>{}))}[_n](t){this[bn](t);if(!this[Bn]){const r=this[Tn](this.cwd,this.dmode);if(r){return this[kn](r,t)}this[Bn]=true}if(t.absolute!==this.cwd){const r=pr(E.dirname(String(t.absolute)));if(r!==this.cwd){const i=this[Tn](r,this.dmode);if(i){return this[kn](i,t)}}}const[r,i]=callSync((()=>w.lstatSync(String(t.absolute))));if(i&&(this.keep||this.newer&&i.mtime>(t.mtime??i.mtime))){return this[Mn](t)}if(r||this[wn](t,i)){return this[En](null,t)}if(i.isDirectory()){if(t.type==="Directory"){const r=this.chmod&&t.mode&&(i.mode&4095)!==t.mode;const[o]=r?callSync((()=>{w.chmodSync(String(t.absolute),Number(t.mode))})):[];return this[En](o,t)}const[r]=callSync((()=>w.rmdirSync(String(t.absolute))));this[En](r,t)}const[o]=t.absolute===this.cwd?[]:callSync((()=>unlinkFileSync(String(t.absolute))));this[En](o,t)}[Sn](t,r){const i=typeof t.mode==="number"?t.mode&4095:this.fmode;const oner=i=>{let a;try{w.closeSync(o)}catch(t){a=t}if(i||a){this[kn](i||a,t)}r()};let o;try{o=w.openSync(String(t.absolute),Xs(t.size),i)}catch(t){return oner(t)}const a=this.transform?this.transform(t)||t:t;if(a!==t){a.on("error",(r=>this[kn](r,t)));t.pipe(a)}a.on("data",(t=>{try{w.writeSync(o,t,0,t.length)}catch(t){oner(t)}}));a.on("end",(()=>{let r=null;if(t.mtime&&!this.noMtime){const i=t.atime||new Date;const a=t.mtime;try{w.futimesSync(o,i,a)}catch(o){try{w.utimesSync(String(t.absolute),i,a)}catch(t){r=o}}}if(this[jn](t)){const i=this[Fn](t);const a=this[Un](t);try{w.fchownSync(o,Number(i),Number(a))}catch(o){try{w.chownSync(String(t.absolute),Number(i),Number(a))}catch(t){r=r||o}}}oner(r)}))}[$n](t,r){const i=typeof t.mode==="number"?t.mode&4095:this.dmode;const o=this[Tn](String(t.absolute),i);if(o){this[kn](o,t);r();return}if(t.mtime&&!this.noMtime){try{w.utimesSync(String(t.absolute),t.atime||new Date,t.mtime)}catch(o){}}if(this[jn](t)){try{w.chownSync(String(t.absolute),Number(this[Fn](t)),Number(this[Un](t)))}catch(o){}}r();t.resume()}[Tn](t,r){try{return mkdirSync(pr(t),{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:r})}catch(t){return t}}[Rn](t,r,i,o){const a=`${i}Sync`;try{w[a](r,String(t.absolute));o();t.resume()}catch(r){return this[kn](r,t)}}}const extractFileSync=t=>{const r=new UnpackSync(t);const i=t.file;const o=w.statSync(i);const a=t.maxReadSize||16*1024*1024;const c=new ReadStreamSync(i,{readSize:a,size:o.size});c.pipe(r)};const extractFile=(t,r)=>{const i=new Unpack(t);const o=t.maxReadSize||16*1024*1024;const a=t.file;const c=new Promise(((t,r)=>{i.on("error",r);i.on("close",t);w.stat(a,((t,c)=>{if(t){r(t)}else{const t=new ReadStream(a,{readSize:o,size:c.size});t.on("error",r);t.pipe(i)}}))}));return c};const zn=makeCommand(extractFileSync,extractFile,(t=>new UnpackSync(t)),(t=>new Unpack(t)),((t,r)=>{if(r?.length)filesFilter(t,r)}));const replaceSync=(t,r)=>{const i=new PackSync(t);let o=true;let a;let c;try{try{a=w.openSync(t.file,"r+")}catch(r){if(r?.code==="ENOENT"){a=w.openSync(t.file,"w+")}else{throw r}}const l=w.fstatSync(a);const u=Buffer.alloc(512);e:for(c=0;c<l.size;c+=512){for(let t=0,r=0;t<512;t+=r){r=w.readSync(a,u,t,u.length-t,c+t);if(c===0&&u[0]===31&&u[1]===139){throw new Error("cannot append to compressed archives")}if(!r){break e}}const r=new Header(u);if(!r.cksumValid){break}const i=512*Math.ceil((r.size||0)/512);if(c+i+512>l.size){break}c+=i;if(t.mtimeCache&&r.mtime){t.mtimeCache.set(String(r.path),r.mtime)}}o=false;streamSync(t,i,c,a,r)}finally{if(o){try{w.closeSync(a)}catch(t){}}}};const streamSync=(t,r,i,o,a)=>{const c=new WriteStreamSync(t.file,{fd:o,start:i});r.pipe(c);replace_addFilesSync(r,a)};const replaceAsync=(t,r)=>{r=Array.from(r);const i=new Pack(t);const getPos=(r,i,o)=>{const cb=(t,i)=>{if(t){w.close(r,(r=>o(t)))}else{o(null,i)}};let a=0;if(i===0){return cb(null,0)}let c=0;const l=Buffer.alloc(512);const onread=(o,u)=>{if(o||typeof u==="undefined"){return cb(o)}c+=u;if(c<512&&u){return w.read(r,l,c,l.length-c,a+c,onread)}if(a===0&&l[0]===31&&l[1]===139){return cb(new Error("cannot append to compressed archives"))}if(c<512){return cb(null,a)}const h=new Header(l);if(!h.cksumValid){return cb(null,a)}const d=512*Math.ceil((h.size??0)/512);if(a+d+512>i){return cb(null,a)}a+=d+512;if(a>=i){return cb(null,a)}if(t.mtimeCache&&h.mtime){t.mtimeCache.set(String(h.path),h.mtime)}c=0;w.read(r,l,0,512,a,onread)};w.read(r,l,0,512,a,onread)};const o=new Promise(((o,a)=>{i.on("error",a);let c="r+";const onopen=(l,u)=>{if(l&&l.code==="ENOENT"&&c==="r+"){c="w+";return w.open(t.file,c,onopen)}if(l||!u){return a(l)}w.fstat(u,((c,l)=>{if(c){return w.close(u,(()=>a(c)))}getPos(u,l.size,((c,l)=>{if(c){return a(c)}const h=new WriteStream(t.file,{fd:u,start:l});i.pipe(h);h.on("error",a);h.on("close",o);replace_addFilesAsync(i,r)}))}))};w.open(t.file,c,onopen)}));return o};const replace_addFilesSync=(t,r)=>{r.forEach((r=>{if(r.charAt(0)==="@"){Wr({file:E.resolve(t.cwd,r.slice(1)),sync:true,noResume:true,onReadEntry:r=>t.add(r)})}else{t.add(r)}}));t.end()};const replace_addFilesAsync=async(t,r)=>{for(let i=0;i<r.length;i++){const o=String(r[i]);if(o.charAt(0)==="@"){await Wr({file:E.resolve(String(t.cwd),o.slice(1)),noResume:true,onReadEntry:r=>t.add(r)})}else{t.add(o)}}t.end()};const qn=makeCommand(replaceSync,replaceAsync,(()=>{throw new TypeError("file is required")}),(()=>{throw new TypeError("file is required")}),((t,r)=>{if(!isFile(t)){throw new TypeError("file is required")}if(t.gzip||t.brotli||t.file.endsWith(".br")||t.file.endsWith(".tbr")){throw new TypeError("cannot append to compressed archives")}if(!r?.length){throw new TypeError("no paths specified to add/replace")}}));const Wn=makeCommand(qn.syncFile,qn.asyncFile,qn.syncNoFile,qn.asyncNoFile,((t,r=[])=>{qn.validate?.(t,r);mtimeFilter(t)}));const mtimeFilter=t=>{const r=t.filter;if(!t.mtimeCache){t.mtimeCache=new Map}t.filter=r?(i,o)=>r(i,o)&&!((t.mtimeCache?.get(i)??o.mtime??0)>(o.mtime??0)):(r,i)=>!((t.mtimeCache?.get(r)??i.mtime??0)>(i.mtime??0))};async function isUrlOk(t){try{const r=await fetch(t,{method:"HEAD"});return r.status===200}catch{return false}}async function getRepoInfo(t,r){const[,i,o,a,c,...l]=t.pathname.split("/");const u=r?r.replace(/^\//,""):l.join("/");if(a===undefined||a===""&&c===undefined){try{const t=await fetch(`https://api.github.com/repos/${i}/${o}`);if(t.status!==200){return}const r=await t.json();return{username:i,name:o,branch:r["default_branch"],filePath:u}}catch{return}}const h=r?`${c}/${l.join("/")}`.replace(new RegExp(`/${u}|/$`),""):c;if(i&&o&&h&&a==="tree"){return{username:i,name:o,branch:h,filePath:u}}}function hasRepo({username:t,name:r,branch:i,filePath:o}){const a=`https://api.github.com/repos/${t}/${r}/contents`;const c=`${o?`/${o}`:""}/package.json`;return isUrlOk(a+c+`?ref=${i}`)}function existsInRepo(t){try{const r=new URL(t);return isUrlOk(r.href)}catch{return isUrlOk(`https://api.github.com/repos/zuplo/zudoku/contents/examples/${encodeURIComponent(t)}`)}}async function downloadTarStream(t){const r=await fetch(t);if(!r.body){throw new Error(`Failed to download: ${t}`)}return Le.Readable.fromWeb(r.body)}async function downloadAndExtractRepo(t,{username:r,name:i,branch:o,filePath:a}){let c=null;await(0,Me.pipeline)(await downloadTarStream(`https://codeload.github.com/${r}/${i}/tar.gz/${o}`),zn({cwd:t,strip:a?a.split("/").length+1:1,filter:t=>{if(c===null){const r=t.split(E.sep);c=r.length?r[0]:null}return t.startsWith(`${c}${a?`/${a}/`:"/"}`)}}))}async function downloadAndExtractExample(t,r){if(r==="__internal-testing-retry"){throw new Error("This is an internal example for testing the CLI.")}await(0,Me.pipeline)(await downloadTarStream("https://codeload.github.com/zuplo/zudoku/tar.gz/canary"),zn({cwd:t,strip:2+r.split("/").length,filter:t=>t.includes(`zudoku-canary/examples/${r}/`)}))}var Kn=__nccwpck_require__(1421);function isInGitRepository(){try{(0,Kn.execSync)("git rev-parse --is-inside-work-tree",{stdio:"ignore"});return true}catch(t){}return false}function isInMercurialRepository(){try{(0,Kn.execSync)("hg --cwd . root",{stdio:"ignore"});return true}catch(t){}return false}function isDefaultBranchSet(){try{(0,Kn.execSync)("git config init.defaultBranch",{stdio:"ignore"});return true}catch(t){}return false}function tryGitInit(t){let r=false;try{(0,Kn.execSync)("git --version",{stdio:"ignore"});if(isInGitRepository()||isInMercurialRepository()){return false}(0,Kn.execSync)("git init",{stdio:"ignore"});r=true;if(!isDefaultBranchSet()){(0,Kn.execSync)("git checkout -b main",{stdio:"ignore"})}(0,Kn.execSync)("git add -A",{stdio:"ignore"});(0,Kn.execSync)('git commit -m "Initial commit from Create Next App"',{stdio:"ignore"});return true}catch(i){if(r){try{(0,w.rmSync)((0,E.join)(t,".git"),{recursive:true,force:true})}catch(t){}}return false}}var Yn=__nccwpck_require__(6523);var Zn=__nccwpck_require__.n(Yn);async function install(t,r){const i=["install"];if(!r){console.log((0,xe.yellow)("You appear to be offline.\nFalling back to the local cache."));i.push("--offline")}return new Promise(((r,o)=>{const a=Zn()(t,i,{stdio:"inherit",env:{...process.env,ADBLOCK:"1",NODE_ENV:"development",DISABLE_OPENCOLLECTIVE:"1"}});a.on("close",(a=>{if(a!==0){o({command:`${t} ${i.join(" ")}`});return}r()}))}))}function isFolderEmpty(t,r){const i=[".DS_Store",".git",".gitattributes",".gitignore",".gitlab-ci.yml",".hg",".hgcheck",".hgignore",".idea",".npmignore",".travis.yml","LICENSE","Thumbs.db","docs","mkdocs.yml","npm-debug.log","yarn-debug.log","yarn-error.log","yarnrc.yml",".yarn"];const o=(0,w.readdirSync)(t).filter((t=>!i.includes(t)&&!/\.iml$/.test(t)));if(o.length>0){console.log(`The directory ${(0,xe.green)(r)} contains files that could conflict:`);console.log();for(const r of o){try{const i=(0,w.lstatSync)((0,E.join)(t,r));if(i.isDirectory()){console.log(` ${(0,xe.blue)(r)}/`)}else{console.log(` ${r}`)}}catch{console.log(` ${r}`)}}console.log();console.log("Either try using a new directory name, or remove the files listed above.");console.log();return false}return true}const Xn=require("node:dns/promises");const Jn=require("node:url");var Qn=__nccwpck_require__.n(Jn);function getProxy(){if(process.env.https_proxy){return process.env.https_proxy}try{const t=(0,Kn.execSync)("npm config get https-proxy").toString().trim();return t!=="null"?t:undefined}catch(t){return}}async function getOnline(){try{await(0,Xn.lookup)("registry.yarnpkg.com");return true}catch{const t=getProxy();if(!t){return false}const{hostname:r}=Qn().parse(t);if(!r){return false}try{await(0,Xn.lookup)(r);return true}catch{return false}}}const ei=require("node:constants");const ti=require("node:fs/promises");async function isWriteable(t){try{await(0,ti.access)(t,ei.W_OK);return true}catch(t){return false}}var ri=__nccwpck_require__(8588);const identity=t=>t;const copy=async(t,r,{cwd:i,rename:o=identity,parents:a=true}={})=>{const c=typeof t==="string"?[t]:t;if(c.length===0||!r){throw new TypeError("`src` and `dest` are required")}const l=await(0,ri.async)(c,{cwd:i,dot:true,absolute:false,stats:false});const u=i?(0,E.resolve)(i,r):r;return Promise.all(l.map((async t=>{const r=(0,E.dirname)(t);const c=o((0,E.basename)(t));const l=i?(0,E.resolve)(i,t):t;const h=a?(0,E.join)(u,r,c):(0,E.join)(u,c);await(0,ti.mkdir)((0,E.dirname)(h),{recursive:true});return(0,ti.copyFile)(l,h)})))};const si=require("fs/promises");var ni=__nccwpck_require__.n(si);var ii=__nccwpck_require__(857);var oi=__nccwpck_require__.n(ii);const getTemplateFile=({template:t,mode:r,file:i})=>__nccwpck_require__.ab+"templates/"+t+"/"+r+"/"+i;const installTemplate=async({appName:t,root:r,packageManager:i,isOnline:o,template:a,mode:c,eslint:l,skipInstall:u,zudokuVersion:h})=>{var d;console.log((0,xe.bold)(`Using ${i}.`));console.log("\nInitializing project with template:",a,"\n");const p=__nccwpck_require__.ab+"templates/"+a+"/"+c;const m=["**"];if(!l)m.push("!eslintrc.json");await copy(m,r,{parents:true,cwd:p,rename(t){switch(t){case"gitignore":case"eslintrc.json":{return`.${t}`}case"README-template.md":{return"README.md"}default:{return t}}}});const g=(d=process.env.ZUDOKU_PRIVATE_TEST_VERSION)!==null&&d!==void 0?d:h;const y={name:t,version:"0.1.0",type:"module",private:true,scripts:{dev:"zudoku dev",build:"zudoku build",preview:"zudoku preview",lint:"eslint"},dependencies:{react:">=19.0.0","react-dom":">=19.0.0",zudoku:g},devDependencies:{}};if(c==="ts"){y.devDependencies={...y.devDependencies,"@types/node":"^22","@types/react":"^19","@types/react-dom":"^19",typescript:"^5"}}if(l){y.devDependencies={...y.devDependencies,eslint:"^8"}}if(l&&c==="ts"){y.devDependencies={...y.devDependencies,"@typescript-eslint/eslint-plugin":"^8","@typescript-eslint/parser":"^8"}}const v=Object.keys(y.devDependencies).length;if(!v)delete y.devDependencies;await ni().writeFile(Jt().join(r,"package.json"),JSON.stringify(y,null,2)+oi().EOL);if(u)return;console.log("\nInstalling dependencies:");for(const t in y.dependencies)console.log(`- ${(0,xe.cyan)(t)}`);if(v){console.log("\nInstalling devDependencies:");for(const t in y.devDependencies)console.log(`- ${(0,xe.cyan)(t)}`)}console.log();await install(i,o)};class DownloadError extends Error{}async function createApp({appPath:t,packageManager:r,example:i,examplePath:o,typescript:a,eslint:c,skipInstall:l,zudokuVersion:u}){let h;const d=a?"ts":"js";const p=`default`;if(i){let O;try{O=new URL(i)}catch(P){const A=P;if(A.code!=="ERR_INVALID_URL"){console.error(P);process.exit(1)}}if(O){if(O.origin!=="https://github.com"){console.error(`Invalid URL: ${(0,xe.red)(`"${i}"`)}. Only GitHub repositories are supported. Please use a GitHub URL and try again.`);process.exit(1)}h=await getRepoInfo(O,o);if(!h){console.error(`Found invalid GitHub URL: ${(0,xe.red)(`"${i}"`)}. Please fix the URL and try again.`);process.exit(1)}const x=await hasRepo(h);if(!x){console.error(`Could not locate the repository for ${(0,xe.red)(`"${i}"`)}. Please check that the repository exists and try again.`);process.exit(1)}}else if(i!=="__internal-testing-retry"){const T=await existsInRepo(i);if(!T){console.error(`Could not locate an example named ${(0,xe.red)(`"${i}"`)}. It could be due to the following:\n`,`1. Your spelling of example ${(0,xe.red)(`"${i}"`)} might be incorrect.\n`,`2. You might not be connected to the internet or you are behind a proxy.`);process.exit(1)}}}const m=(0,E.resolve)(t);if(!await isWriteable((0,E.dirname)(m))){console.error("The application path is not writable, please check folder permissions and try again.");console.error("It is likely you do not have write permissions for this folder.");process.exit(1)}const g=(0,E.basename)(m);(0,w.mkdirSync)(m,{recursive:true});if(!isFolderEmpty(m,g)){process.exit(1)}const y=r==="yarn";const v=!y||await getOnline();const b=process.cwd();console.log(`Creating a new Zudoku app in ${(0,xe.green)(m)}.`);console.log();process.chdir(m);const S=(0,E.join)(m,"package.json");let $=false;if(i){try{if(h){const C=h;console.log(`Downloading files from repo ${(0,xe.cyan)(i)}. This might take a moment.`);console.log();await De()((()=>downloadAndExtractRepo(m,C)),{retries:3})}else{console.log(`Downloading files for example ${(0,xe.cyan)(i)}. This might take a moment.`);console.log();await De()((()=>downloadAndExtractExample(m,i)),{retries:3})}}catch(I){function isErrorLike(t){return typeof t==="object"&&t!==null&&typeof t.message==="string"}throw new DownloadError(isErrorLike(I)?I.message:I+"")}const k=(0,E.join)(m,".gitignore");if(!(0,w.existsSync)(k)){(0,w.copyFileSync)(getTemplateFile({template:p,mode:d,file:"gitignore"}),k)}$=(0,w.existsSync)(S);if(!l&&$){console.log("Installing packages. This might take a couple of minutes.");console.log();await install(r,v);console.log()}}else{await installTemplate({appName:g,root:m,template:p,mode:d,packageManager:r,isOnline:v,eslint:c,skipInstall:l,zudokuVersion:u})}if(tryGitInit(m)){console.log("Initialized a git repository.");console.log()}let R;if((0,E.join)(b,g)===t){R=g}else{R=t}console.log(`${(0,xe.green)("Success!")} Created ${g} at ${t}`);if($){console.log("Inside that directory, you can run several commands:");console.log();console.log((0,xe.cyan)(` ${r} ${y?"":"run "}dev`));console.log(" Starts the development server.");console.log();console.log((0,xe.cyan)(` ${r} ${y?"":"run "}build`));console.log(" Builds the app for production.");console.log();console.log((0,xe.cyan)(` ${r} start`));console.log(" Runs the built app in production mode.");console.log();console.log("We suggest that you begin by typing:");console.log();console.log((0,xe.cyan)(" cd"),R);console.log(` ${(0,xe.cyan)(`${r} ${y?"":"run "}dev`)}`)}console.log()}function getPkgManager(){var t;const r=(t=process.env.npm_config_user_agent)!==null&&t!==void 0?t:"";if(r.startsWith("yarn")){return"yarn"}if(r.startsWith("pnpm")){return"pnpm"}if(r.startsWith("bun")){return"bun"}return"npm"}var ai=__nccwpck_require__(6831);var ci=__nccwpck_require__.n(ai);function validateNpmName(t){const r=ci()(t);if(r.validForNewPackages){return{valid:true}}return{valid:false,problems:[...r.errors||[],...r.warnings||[]]}}let li="";const handleSigTerm=()=>process.exit(0);process.on("SIGINT",handleSigTerm);process.on("SIGTERM",handleSigTerm);const onPromptState=t=>{if(t.aborted){process.stdout.write("[?25h");process.stdout.write("\n");process.exit(1)}};const ui=JSON.parse((0,w.readFileSync)(S().resolve(__dirname,"../package.json"),"utf-8"));const hi=new p(ui.name).version(ui.version,"-v, --version","Output the current version of create-zudoku.").argument("[directory]").usage("[directory] [options]").helpOption("-h, --help","Display this help message.").option("--ts, --typescript","Initialize as a TypeScript project. (default)").option("--js, --javascript","Initialize as a JavaScript project.").option("--eslint","Initialize with ESLint config.").option("--import-alias <prefix/*>",'Specify import alias to use (default "@/*").').option("--use-npm","Explicitly tell the CLI to bootstrap the application using npm.").option("--use-pnpm","Explicitly tell the CLI to bootstrap the application using pnpm.").option("--use-yarn","Explicitly tell the CLI to bootstrap the application using Yarn.").option("--use-bun","Explicitly tell the CLI to bootstrap the application using Bun.").option("--reset, --reset-preferences","Reset the preferences saved for create-zudoku.").option("--skip-install","Explicitly tell the CLI to skip installing packages.").option("--yes","Use saved preferences or defaults for unprovided options.").option("-e, --example <example-name|github-url>",`\n\n An example to bootstrap the app with. You can use an example name\n from the official Zudoku repo or a public GitHub URL. The URL can use\n any branch and/or subdirectory.\n`).option("--example-path <path-to-example>",`\n\n In a rare case, your GitHub URL might contain a branch name with\n a slash (e.g. bug/fix-1) and the path to the example (e.g. foo/bar).\n In this case, you must specify the path to the example separately:\n --example-path foo/bar\n`).action((t=>{if(t&&!t.startsWith("--no-")){li=t}})).allowUnknownOption().parse(process.argv);const di=hi.opts();const{args:fi}=hi;const pi=di.useNpm?"npm":di.usePnpm?"pnpm":di.useYarn?"yarn":di.useBun?"bun":getPkgManager();async function run(){const t=new Conf({projectName:"create-zudoku"});if(di.resetPreferences){const{resetPreferences:r}=await ke()({onState:onPromptState,type:"toggle",name:"resetPreferences",message:"Would you like to reset the saved preferences?",initial:false,active:"Yes",inactive:"No"});if(r){t.clear();console.log("The preferences have been reset successfully!")}process.exit(0)}if(typeof li==="string"){li=li.trim()}if(!li){const t=await ke()({onState:onPromptState,type:"text",name:"path",message:"What is your project named?",initial:"my-app",validate:t=>{const r=validateNpmName((0,E.basename)((0,E.resolve)(t)));if(r.valid){return true}return"Invalid project name: "+r.problems[0]}});if(typeof t.path==="string"){li=t.path.trim()}}if(!li){console.log("\nPlease specify the project directory:\n"+` ${(0,xe.cyan)(di.name())} ${(0,xe.green)("<project-directory>")}\n`+"For example:\n"+` ${(0,xe.cyan)(di.name())} ${(0,xe.green)("my-zudoku-app")}\n\n`+`Run ${(0,xe.cyan)(`${di.name()} --help`)} to see all options.`);process.exit(1)}const i=(0,E.resolve)(li);const o=(0,E.basename)(i);const a=validateNpmName(o);if(!a.valid){console.error(`Could not create a project called ${(0,xe.red)(`"${o}"`)} because of npm naming restrictions:`);a.problems.forEach((t=>console.error(` ${(0,xe.red)((0,xe.bold)("*"))} ${t}`)));process.exit(1)}if(di.example===true){console.error("Please provide an example name or url, otherwise remove the example option.");process.exit(1)}if((0,w.existsSync)(i)&&!isFolderEmpty(i,o)){process.exit(1)}const c=typeof di.example==="string"&&di.example.trim();const l=t.get("preferences")||{};const u=r().isCI||di.yes;if(!c){const t={typescript:true,eslint:true,empty:false};const getPrefOrDefault=r=>{var i;return(i=l[r])!==null&&i!==void 0?i:t[r]};if(!di.typescript&&!di.javascript){if(u){di.typescript=getPrefOrDefault("typescript")}else{const t=(0,xe.blue)("TypeScript");const{typescript:r}=await ke()({type:"toggle",name:"typescript",message:`Would you like to use ${t}?`,initial:getPrefOrDefault("typescript"),active:"Yes",inactive:"No"},{onCancel:()=>{console.error("Exiting.");process.exit(1)}});di.typescript=Boolean(r);di.javascript=!r;l.typescript=Boolean(r)}}if(!di.eslint&&!fi.includes("--no-eslint")){if(u){di.eslint=getPrefOrDefault("eslint")}else{const t=(0,xe.blue)("ESLint");const{eslint:r}=await ke()({onState:onPromptState,type:"toggle",name:"eslint",message:`Would you like to use ${t}?`,initial:getPrefOrDefault("eslint"),active:"Yes",inactive:"No"});di.eslint=Boolean(r);l.eslint=Boolean(r)}}}try{await createApp({appPath:i,packageManager:pi,example:c&&c!=="default"?c:undefined,examplePath:di.examplePath,typescript:di.typescript,eslint:di.eslint,skipInstall:di.skipInstall,zudokuVersion:ui.version})}catch(t){if(!(t instanceof DownloadError)){throw t}const r=await ke()({onState:onPromptState,type:"confirm",name:"builtin",message:`Could not download "${c}" because of a connectivity issue between your machine and GitHub.\n`+`Do you want to use the default template instead?`,initial:true});if(!r.builtin){throw t}await createApp({appPath:i,packageManager:pi,typescript:di.typescript,eslint:di.eslint,skipInstall:di.skipInstall,zudokuVersion:ui.version})}t.set("preferences",l)}const mi=Ie()(ui).catch((()=>null));async function notifyUpdate(){var t;try{if((t=await mi)===null||t===void 0?void 0:t.latest){const t={npm:"npm i -g",yarn:"yarn global add",pnpm:"pnpm add -g",bun:"bun add -g"};const r=`${t[pi]} create-zudoku`;console.log((0,xe.yellow)((0,xe.bold)("A new version of `create-zudoku` is available!"))+"\n"+"You can update by running: "+(0,xe.cyan)(r)+"\n")}process.exit(0)}catch{}}async function exit(t){console.log();console.log("Aborting installation.");if(t.command){console.log(` ${(0,xe.cyan)(t.command)} has failed.`)}else{console.log((0,xe.red)("Unexpected error. Please report it as a bug:")+"\n",t)}console.log();await notifyUpdate();process.exit(1)}run().then(notifyUpdate).catch(exit)})();module.exports=i})();
72
+ */const o=i(9933);const toRegexRange=(t,r,i)=>{if(o(t)===false){throw new TypeError("toRegexRange: expected the first argument to be a number")}if(r===void 0||t===r){return String(t)}if(o(r)===false){throw new TypeError("toRegexRange: expected the second argument to be a number.")}let a={relaxZeros:true,...i};if(typeof a.strictZeros==="boolean"){a.relaxZeros=a.strictZeros===false}let c=String(a.relaxZeros);let l=String(a.shorthand);let u=String(a.capture);let h=String(a.wrap);let d=t+":"+r+"="+c+l+u+h;if(toRegexRange.cache.hasOwnProperty(d)){return toRegexRange.cache[d].result}let p=Math.min(t,r);let m=Math.max(t,r);if(Math.abs(p-m)===1){let i=t+"|"+r;if(a.capture){return`(${i})`}if(a.wrap===false){return i}return`(?:${i})`}let g=hasPadding(t)||hasPadding(r);let y={min:t,max:r,a:p,b:m};let v=[];let b=[];if(g){y.isPadded=g;y.maxLen=String(y.max).length}if(p<0){let t=m<0?Math.abs(m):1;b=splitToPatterns(t,Math.abs(p),y,a);p=y.a=0}if(m>=0){v=splitToPatterns(p,m,y,a)}y.negatives=b;y.positives=v;y.result=collatePatterns(b,v,a);if(a.capture===true){y.result=`(${y.result})`}else if(a.wrap!==false&&v.length+b.length>1){y.result=`(?:${y.result})`}toRegexRange.cache[d]=y;return y.result};function collatePatterns(t,r,i){let o=filterPatterns(t,r,"-",false,i)||[];let a=filterPatterns(r,t,"",false,i)||[];let c=filterPatterns(t,r,"-?",true,i)||[];let l=o.concat(c).concat(a);return l.join("|")}function splitToRanges(t,r){let i=1;let o=1;let a=countNines(t,i);let c=new Set([r]);while(t<=a&&a<=r){c.add(a);i+=1;a=countNines(t,i)}a=countZeros(r+1,o)-1;while(t<a&&a<=r){c.add(a);o+=1;a=countZeros(r+1,o)-1}c=[...c];c.sort(compare);return c}function rangeToPattern(t,r,i){if(t===r){return{pattern:t,count:[],digits:0}}let o=zip(t,r);let a=o.length;let c="";let l=0;for(let t=0;t<a;t++){let[r,a]=o[t];if(r===a){c+=r}else if(r!=="0"||a!=="9"){c+=toCharacterClass(r,a,i)}else{l++}}if(l){c+=i.shorthand===true?"\\d":"[0-9]"}return{pattern:c,count:[l],digits:a}}function splitToPatterns(t,r,i,o){let a=splitToRanges(t,r);let c=[];let l=t;let u;for(let t=0;t<a.length;t++){let r=a[t];let h=rangeToPattern(String(l),String(r),o);let d="";if(!i.isPadded&&u&&u.pattern===h.pattern){if(u.count.length>1){u.count.pop()}u.count.push(h.count[0]);u.string=u.pattern+toQuantifier(u.count);l=r+1;continue}if(i.isPadded){d=padZeros(r,i,o)}h.string=d+h.pattern+toQuantifier(h.count);c.push(h);l=r+1;u=h}return c}function filterPatterns(t,r,i,o,a){let c=[];for(let a of t){let{string:t}=a;if(!o&&!contains(r,"string",t)){c.push(i+t)}if(o&&contains(r,"string",t)){c.push(i+t)}}return c}function zip(t,r){let i=[];for(let o=0;o<t.length;o++)i.push([t[o],r[o]]);return i}function compare(t,r){return t>r?1:r>t?-1:0}function contains(t,r,i){return t.some((t=>t[r]===i))}function countNines(t,r){return Number(String(t).slice(0,-r)+"9".repeat(r))}function countZeros(t,r){return t-t%Math.pow(10,r)}function toQuantifier(t){let[r=0,i=""]=t;if(i||r>1){return`{${r+(i?","+i:"")}}`}return""}function toCharacterClass(t,r,i){return`[${t}${r-t===1?"":"-"}${r}]`}function hasPadding(t){return/^-?(0+)\d/.test(t)}function padZeros(t,r,i){if(!r.isPadded){return t}let o=Math.abs(r.maxLen-String(t).length);let a=i.relaxZeros!==false;switch(o){case 0:return"";case 1:return a?"0?":"0";case 2:return a?"0{0,2}":"00";default:{return a?`0{0,${o}}`:`0{${o}}`}}}toRegexRange.cache={};toRegexRange.clearCache=()=>toRegexRange.cache={};t.exports=toRegexRange},8226:(t,r,i)=>{const{URL:o}=i(7016);const{join:a}=i(6928);const c=i(9896);const{promisify:l}=i(9023);const{tmpdir:u}=i(857);const h=i(5984);const d=l(c.writeFile);const p=l(c.mkdir);const m=l(c.readFile);const compareVersions=(t,r)=>t.localeCompare(r,"en-US",{numeric:true});const encode=t=>encodeURIComponent(t).replace(/^%40/,"@");const getFile=async(t,r)=>{const i=u();const o=a(i,"update-check");if(!c.existsSync(o)){await p(o)}let l=`${t.name}-${r}.json`;if(t.scope){l=`${t.scope}-${l}`}return a(o,l)};const evaluateCache=async(t,r,i)=>{if(c.existsSync(t)){const o=await m(t,"utf8");const{lastUpdate:a,latest:c}=JSON.parse(o);const l=a+i;if(l>r){return{shouldCheck:false,latest:c}}}return{shouldCheck:true,latest:null}};const updateCache=async(t,r,i)=>{const o=JSON.stringify({latest:r,lastUpdate:i});await d(t,o,"utf8")};const loadPackage=(t,r)=>new Promise(((o,a)=>{const c={host:t.hostname,path:t.pathname,port:t.port,headers:{accept:"application/vnd.npm.install-v1+json; q=1.0, application/json; q=0.8, */*"},timeout:2e3};if(r){c.headers.authorization=`${r.type} ${r.token}`}const{get:l}=i(t.protocol==="https:"?5692:8611);l(c,(t=>{const{statusCode:r}=t;if(r!==200){const i=new Error(`Request failed with code ${r}`);i.code=r;a(i);t.resume();return}let i="";t.setEncoding("utf8");t.on("data",(t=>{i+=t}));t.on("end",(()=>{try{const t=JSON.parse(i);o(t)}catch(t){a(t)}}))})).on("error",a).on("timeout",a)}));const getMostRecent=async({full:t,scope:r},a)=>{const c=h(r);const l=new o(t,c);let u=null;try{u=await loadPackage(l)}catch(t){if(t.code&&String(t.code).startsWith(4)){const t=i(780);const r=t(c,{recursive:true});u=await loadPackage(l,r)}else{throw t}}const d=u["dist-tags"][a];if(!d){throw new Error(`Distribution tag ${a} is not available`)}return d};const g={interval:36e5,distTag:"latest"};const getDetails=t=>{const r={full:encode(t)};if(t.includes("/")){const i=t.split("/");r.scope=i[0];r.name=i[1]}else{r.scope=null;r.name=t}return r};t.exports=async(t,r)=>{if(typeof t!=="object"){throw new Error("The first parameter should be your package.json file content")}const i=getDetails(t.name);const o=Date.now();const{distTag:a,interval:c}=Object.assign({},g,r);const l=await getFile(i,a);let u=null;let h=true;({shouldCheck:h,latest:u}=await evaluateCache(l,o,c));if(h){u=await getMostRecent(i,a);await updateCache(l,u,o)}const d=compareVersions(t.version,u);if(d===-1){return{latest:u,fromCache:!h}}return null}},6831:(t,r,i)=>{"use strict";const{builtinModules:o}=i(3339);var a=new RegExp("^(?:@([^/]+?)[/])?([^/]+?)$");var c=["node_modules","favicon.ico"];function validate(t){var r=[];var i=[];if(t===null){i.push("name cannot be null");return done(r,i)}if(t===undefined){i.push("name cannot be undefined");return done(r,i)}if(typeof t!=="string"){i.push("name must be a string");return done(r,i)}if(!t.length){i.push("name length must be greater than zero")}if(t.startsWith(".")){i.push("name cannot start with a period")}if(t.match(/^_/)){i.push("name cannot start with an underscore")}if(t.trim()!==t){i.push("name cannot contain leading or trailing spaces")}c.forEach((function(r){if(t.toLowerCase()===r){i.push(r+" is a blacklisted name")}}));if(o.includes(t.toLowerCase())){r.push(t+" is a core module name")}if(t.length>214){r.push("name can no longer contain more than 214 characters")}if(t.toLowerCase()!==t){r.push("name can no longer contain capital letters")}if(/[~'!()*]/.test(t.split("/").slice(-1)[0])){r.push('name can no longer contain special characters ("~\'!()*")')}if(encodeURIComponent(t)!==t){var l=t.match(a);if(l){var u=l[1];var h=l[2];if(h.startsWith(".")){i.push("name cannot start with a period")}if(encodeURIComponent(u)===u&&encodeURIComponent(h)===h){return done(r,i)}}i.push("name can only contain URL-friendly characters")}return done(r,i)}var done=function(t,r){var i={validForNewPackages:r.length===0&&t.length===0,validForOldPackages:r.length===0,warnings:t,errors:r};if(!i.warnings.length){delete i.warnings}if(!i.errors.length){delete i.errors}return i};t.exports=validate},3393:(t,r,i)=>{const o=process.platform==="win32"||process.env.OSTYPE==="cygwin"||process.env.OSTYPE==="msys";const a=i(6928);const c=o?";":":";const l=i(3280);const getNotFoundError=t=>Object.assign(new Error(`not found: ${t}`),{code:"ENOENT"});const getPathInfo=(t,r)=>{const i=r.colon||c;const a=t.match(/\//)||o&&t.match(/\\/)?[""]:[...o?[process.cwd()]:[],...(r.path||process.env.PATH||"").split(i)];const l=o?r.pathExt||process.env.PATHEXT||".EXE;.CMD;.BAT;.COM":"";const u=o?l.split(i):[""];if(o){if(t.indexOf(".")!==-1&&u[0]!=="")u.unshift("")}return{pathEnv:a,pathExt:u,pathExtExe:l}};const which=(t,r,i)=>{if(typeof r==="function"){i=r;r={}}if(!r)r={};const{pathEnv:o,pathExt:c,pathExtExe:u}=getPathInfo(t,r);const h=[];const step=i=>new Promise(((c,l)=>{if(i===o.length)return r.all&&h.length?c(h):l(getNotFoundError(t));const u=o[i];const d=/^".*"$/.test(u)?u.slice(1,-1):u;const p=a.join(d,t);const m=!d&&/^\.[\\\/]/.test(t)?t.slice(0,2)+p:p;c(subStep(m,i,0))}));const subStep=(t,i,o)=>new Promise(((a,d)=>{if(o===c.length)return a(step(i+1));const p=c[o];l(t+p,{pathExt:u},((c,l)=>{if(!c&&l){if(r.all)h.push(t+p);else return a(t+p)}return a(subStep(t,i,o+1))}))}));return i?step(0).then((t=>i(null,t)),i):step(0)};const whichSync=(t,r)=>{r=r||{};const{pathEnv:i,pathExt:o,pathExtExe:c}=getPathInfo(t,r);const u=[];for(let h=0;h<i.length;h++){const d=i[h];const p=/^".*"$/.test(d)?d.slice(1,-1):d;const m=a.join(p,t);const g=!p&&/^\.[\\\/]/.test(t)?t.slice(0,2)+m:m;for(let t=0;t<o.length;t++){const i=g+o[t];try{const t=l.sync(i,{pathExt:c});if(t){if(r.all)u.push(i);else return i}}catch(t){}}}if(r.all&&u.length)return u;if(r.nothrow)return null;throw getNotFoundError(t)};t.exports=which;which.sync=whichSync},181:t=>{"use strict";t.exports=require("buffer")},5317:t=>{"use strict";t.exports=require("child_process")},4434:t=>{"use strict";t.exports=require("events")},9896:t=>{"use strict";t.exports=require("fs")},8611:t=>{"use strict";t.exports=require("http")},5692:t=>{"use strict";t.exports=require("https")},3339:t=>{"use strict";t.exports=require("module")},1421:t=>{"use strict";t.exports=require("node:child_process")},8474:t=>{"use strict";t.exports=require("node:events")},3024:t=>{"use strict";t.exports=require("node:fs")},6760:t=>{"use strict";t.exports=require("node:path")},1708:t=>{"use strict";t.exports=require("node:process")},857:t=>{"use strict";t.exports=require("os")},6928:t=>{"use strict";t.exports=require("path")},3785:t=>{"use strict";t.exports=require("readline")},2203:t=>{"use strict";t.exports=require("stream")},7016:t=>{"use strict";t.exports=require("url")},9023:t=>{"use strict";t.exports=require("util")},4610:(t,r,i)=>{"use strict";const o=i(4839);const a=process.env;Object.defineProperty(r,"_vendors",{value:o.map((function(t){return t.constant}))});r.name=null;r.isPR=null;r.id=null;o.forEach((function(t){const i=Array.isArray(t.env)?t.env:[t.env];const o=i.every((function(t){return checkEnv(t)}));r[t.constant]=o;if(!o){return}r.name=t.name;r.isPR=checkPR(t);r.id=t.constant}));r.isCI=!!(a.CI!=="false"&&(a.BUILD_ID||a.BUILD_NUMBER||a.CI||a.CI_APP_ID||a.CI_BUILD_ID||a.CI_BUILD_NUMBER||a.CI_NAME||a.CONTINUOUS_INTEGRATION||a.RUN_ID||r.name||false));function checkEnv(t){if(typeof t==="string")return!!a[t];if("env"in t){return a[t.env]&&a[t.env].includes(t.includes)}if("any"in t){return t.any.some((function(t){return!!a[t]}))}return Object.keys(t).every((function(r){return a[r]===t[r]}))}function checkPR(t){switch(typeof t.pr){case"string":return!!a[t.pr];case"object":if("env"in t.pr){if("any"in t.pr){return t.pr.any.some((function(r){return a[t.pr.env]===r}))}else{return t.pr.env in a&&a[t.pr.env]!==t.pr.ne}}else if("any"in t.pr){return t.pr.any.some((function(t){return!!a[t]}))}else{return checkEnv(t.pr)}default:return null}}},7542:(t,r,i)=>{const{Argument:o}=i(4455);const{Command:a}=i(4199);const{CommanderError:c,InvalidArgumentError:l}=i(1552);const{Help:u}=i(4615);const{Option:h}=i(513);r.DM=new a;r.gu=t=>new a(t);r.Ww=(t,r)=>new h(t,r);r.er=(t,r)=>new o(t,r);r.uB=a;r.c$=h;r.ef=o;r._V=u;r.b7=c;r.Di=l;r.a2=l},4455:(t,r,i)=>{const{InvalidArgumentError:o}=i(1552);class Argument{constructor(t,r){this.description=r||"";this.variadic=false;this.parseArg=undefined;this.defaultValue=undefined;this.defaultValueDescription=undefined;this.argChoices=undefined;switch(t[0]){case"<":this.required=true;this._name=t.slice(1,-1);break;case"[":this.required=false;this._name=t.slice(1,-1);break;default:this.required=true;this._name=t;break}if(this._name.length>3&&this._name.slice(-3)==="..."){this.variadic=true;this._name=this._name.slice(0,-3)}}name(){return this._name}_concatValue(t,r){if(r===this.defaultValue||!Array.isArray(r)){return[t]}return r.concat(t)}default(t,r){this.defaultValue=t;this.defaultValueDescription=r;return this}argParser(t){this.parseArg=t;return this}choices(t){this.argChoices=t.slice();this.parseArg=(t,r)=>{if(!this.argChoices.includes(t)){throw new o(`Allowed choices are ${this.argChoices.join(", ")}.`)}if(this.variadic){return this._concatValue(t,r)}return t};return this}argRequired(){this.required=true;return this}argOptional(){this.required=false;return this}}function humanReadableArgName(t){const r=t.name()+(t.variadic===true?"...":"");return t.required?"<"+r+">":"["+r+"]"}r.Argument=Argument;r.humanReadableArgName=humanReadableArgName},4199:(t,r,i)=>{const o=i(8474).EventEmitter;const a=i(1421);const c=i(6760);const l=i(3024);const u=i(1708);const{Argument:h,humanReadableArgName:d}=i(4455);const{CommanderError:p}=i(1552);const{Help:m,stripColor:g}=i(4615);const{Option:y,DualOptions:v}=i(513);const{suggestSimilar:b}=i(4155);class Command extends o{constructor(t){super();this.commands=[];this.options=[];this.parent=null;this._allowUnknownOption=false;this._allowExcessArguments=false;this.registeredArguments=[];this._args=this.registeredArguments;this.args=[];this.rawArgs=[];this.processedArgs=[];this._scriptPath=null;this._name=t||"";this._optionValues={};this._optionValueSources={};this._storeOptionsAsProperties=false;this._actionHandler=null;this._executableHandler=false;this._executableFile=null;this._executableDir=null;this._defaultCommandName=null;this._exitCallback=null;this._aliases=[];this._combineFlagAndOptionalValue=true;this._description="";this._summary="";this._argsDescription=undefined;this._enablePositionalOptions=false;this._passThroughOptions=false;this._lifeCycleHooks={};this._showHelpAfterError=false;this._showSuggestionAfterError=true;this._savedState=null;this._outputConfiguration={writeOut:t=>u.stdout.write(t),writeErr:t=>u.stderr.write(t),outputError:(t,r)=>r(t),getOutHelpWidth:()=>u.stdout.isTTY?u.stdout.columns:undefined,getErrHelpWidth:()=>u.stderr.isTTY?u.stderr.columns:undefined,getOutHasColors:()=>useColor()??(u.stdout.isTTY&&u.stdout.hasColors?.()),getErrHasColors:()=>useColor()??(u.stderr.isTTY&&u.stderr.hasColors?.()),stripColor:t=>g(t)};this._hidden=false;this._helpOption=undefined;this._addImplicitHelpCommand=undefined;this._helpCommand=undefined;this._helpConfiguration={};this._helpGroupHeading=undefined;this._defaultCommandGroup=undefined;this._defaultOptionGroup=undefined}copyInheritedSettings(t){this._outputConfiguration=t._outputConfiguration;this._helpOption=t._helpOption;this._helpCommand=t._helpCommand;this._helpConfiguration=t._helpConfiguration;this._exitCallback=t._exitCallback;this._storeOptionsAsProperties=t._storeOptionsAsProperties;this._combineFlagAndOptionalValue=t._combineFlagAndOptionalValue;this._allowExcessArguments=t._allowExcessArguments;this._enablePositionalOptions=t._enablePositionalOptions;this._showHelpAfterError=t._showHelpAfterError;this._showSuggestionAfterError=t._showSuggestionAfterError;return this}_getCommandAndAncestors(){const t=[];for(let r=this;r;r=r.parent){t.push(r)}return t}command(t,r,i){let o=r;let a=i;if(typeof o==="object"&&o!==null){a=o;o=null}a=a||{};const[,c,l]=t.match(/([^ ]+) *(.*)/);const u=this.createCommand(c);if(o){u.description(o);u._executableHandler=true}if(a.isDefault)this._defaultCommandName=u._name;u._hidden=!!(a.noHelp||a.hidden);u._executableFile=a.executableFile||null;if(l)u.arguments(l);this._registerCommand(u);u.parent=this;u.copyInheritedSettings(this);if(o)return this;return u}createCommand(t){return new Command(t)}createHelp(){return Object.assign(new m,this.configureHelp())}configureHelp(t){if(t===undefined)return this._helpConfiguration;this._helpConfiguration=t;return this}configureOutput(t){if(t===undefined)return this._outputConfiguration;this._outputConfiguration=Object.assign({},this._outputConfiguration,t);return this}showHelpAfterError(t=true){if(typeof t!=="string")t=!!t;this._showHelpAfterError=t;return this}showSuggestionAfterError(t=true){this._showSuggestionAfterError=!!t;return this}addCommand(t,r){if(!t._name){throw new Error(`Command passed to .addCommand() must have a name\n- specify the name in Command constructor or using .name()`)}r=r||{};if(r.isDefault)this._defaultCommandName=t._name;if(r.noHelp||r.hidden)t._hidden=true;this._registerCommand(t);t.parent=this;t._checkForBrokenPassThrough();return this}createArgument(t,r){return new h(t,r)}argument(t,r,i,o){const a=this.createArgument(t,r);if(typeof i==="function"){a.default(o).argParser(i)}else{a.default(i)}this.addArgument(a);return this}arguments(t){t.trim().split(/ +/).forEach((t=>{this.argument(t)}));return this}addArgument(t){const r=this.registeredArguments.slice(-1)[0];if(r&&r.variadic){throw new Error(`only the last argument can be variadic '${r.name()}'`)}if(t.required&&t.defaultValue!==undefined&&t.parseArg===undefined){throw new Error(`a default value for a required argument is never used: '${t.name()}'`)}this.registeredArguments.push(t);return this}helpCommand(t,r){if(typeof t==="boolean"){this._addImplicitHelpCommand=t;if(t&&this._defaultCommandGroup){this._initCommandGroup(this._getHelpCommand())}return this}const i=t??"help [command]";const[,o,a]=i.match(/([^ ]+) *(.*)/);const c=r??"display help for command";const l=this.createCommand(o);l.helpOption(false);if(a)l.arguments(a);if(c)l.description(c);this._addImplicitHelpCommand=true;this._helpCommand=l;if(t||r)this._initCommandGroup(l);return this}addHelpCommand(t,r){if(typeof t!=="object"){this.helpCommand(t,r);return this}this._addImplicitHelpCommand=true;this._helpCommand=t;this._initCommandGroup(t);return this}_getHelpCommand(){const t=this._addImplicitHelpCommand??(this.commands.length&&!this._actionHandler&&!this._findCommand("help"));if(t){if(this._helpCommand===undefined){this.helpCommand(undefined,undefined)}return this._helpCommand}return null}hook(t,r){const i=["preSubcommand","preAction","postAction"];if(!i.includes(t)){throw new Error(`Unexpected value for event passed to hook : '${t}'.\nExpecting one of '${i.join("', '")}'`)}if(this._lifeCycleHooks[t]){this._lifeCycleHooks[t].push(r)}else{this._lifeCycleHooks[t]=[r]}return this}exitOverride(t){if(t){this._exitCallback=t}else{this._exitCallback=t=>{if(t.code!=="commander.executeSubCommandAsync"){throw t}else{}}}return this}_exit(t,r,i){if(this._exitCallback){this._exitCallback(new p(t,r,i))}u.exit(t)}action(t){const listener=r=>{const i=this.registeredArguments.length;const o=r.slice(0,i);if(this._storeOptionsAsProperties){o[i]=this}else{o[i]=this.opts()}o.push(this);return t.apply(this,o)};this._actionHandler=listener;return this}createOption(t,r){return new y(t,r)}_callParseArg(t,r,i,o){try{return t.parseArg(r,i)}catch(t){if(t.code==="commander.invalidArgument"){const r=`${o} ${t.message}`;this.error(r,{exitCode:t.exitCode,code:t.code})}throw t}}_registerOption(t){const r=t.short&&this._findOption(t.short)||t.long&&this._findOption(t.long);if(r){const i=t.long&&this._findOption(t.long)?t.long:t.short;throw new Error(`Cannot add option '${t.flags}'${this._name&&` to command '${this._name}'`} due to conflicting flag '${i}'\n- already used by option '${r.flags}'`)}this._initOptionGroup(t);this.options.push(t)}_registerCommand(t){const knownBy=t=>[t.name()].concat(t.aliases());const r=knownBy(t).find((t=>this._findCommand(t)));if(r){const i=knownBy(this._findCommand(r)).join("|");const o=knownBy(t).join("|");throw new Error(`cannot add command '${o}' as already have command '${i}'`)}this._initCommandGroup(t);this.commands.push(t)}addOption(t){this._registerOption(t);const r=t.name();const i=t.attributeName();if(t.negate){const r=t.long.replace(/^--no-/,"--");if(!this._findOption(r)){this.setOptionValueWithSource(i,t.defaultValue===undefined?true:t.defaultValue,"default")}}else if(t.defaultValue!==undefined){this.setOptionValueWithSource(i,t.defaultValue,"default")}const handleOptionValue=(r,o,a)=>{if(r==null&&t.presetArg!==undefined){r=t.presetArg}const c=this.getOptionValue(i);if(r!==null&&t.parseArg){r=this._callParseArg(t,r,c,o)}else if(r!==null&&t.variadic){r=t._concatValue(r,c)}if(r==null){if(t.negate){r=false}else if(t.isBoolean()||t.optional){r=true}else{r=""}}this.setOptionValueWithSource(i,r,a)};this.on("option:"+r,(r=>{const i=`error: option '${t.flags}' argument '${r}' is invalid.`;handleOptionValue(r,i,"cli")}));if(t.envVar){this.on("optionEnv:"+r,(r=>{const i=`error: option '${t.flags}' value '${r}' from env '${t.envVar}' is invalid.`;handleOptionValue(r,i,"env")}))}return this}_optionEx(t,r,i,o,a){if(typeof r==="object"&&r instanceof y){throw new Error("To add an Option object use addOption() instead of option() or requiredOption()")}const c=this.createOption(r,i);c.makeOptionMandatory(!!t.mandatory);if(typeof o==="function"){c.default(a).argParser(o)}else if(o instanceof RegExp){const t=o;o=(r,i)=>{const o=t.exec(r);return o?o[0]:i};c.default(a).argParser(o)}else{c.default(o)}return this.addOption(c)}option(t,r,i,o){return this._optionEx({},t,r,i,o)}requiredOption(t,r,i,o){return this._optionEx({mandatory:true},t,r,i,o)}combineFlagAndOptionalValue(t=true){this._combineFlagAndOptionalValue=!!t;return this}allowUnknownOption(t=true){this._allowUnknownOption=!!t;return this}allowExcessArguments(t=true){this._allowExcessArguments=!!t;return this}enablePositionalOptions(t=true){this._enablePositionalOptions=!!t;return this}passThroughOptions(t=true){this._passThroughOptions=!!t;this._checkForBrokenPassThrough();return this}_checkForBrokenPassThrough(){if(this.parent&&this._passThroughOptions&&!this.parent._enablePositionalOptions){throw new Error(`passThroughOptions cannot be used for '${this._name}' without turning on enablePositionalOptions for parent command(s)`)}}storeOptionsAsProperties(t=true){if(this.options.length){throw new Error("call .storeOptionsAsProperties() before adding options")}if(Object.keys(this._optionValues).length){throw new Error("call .storeOptionsAsProperties() before setting option values")}this._storeOptionsAsProperties=!!t;return this}getOptionValue(t){if(this._storeOptionsAsProperties){return this[t]}return this._optionValues[t]}setOptionValue(t,r){return this.setOptionValueWithSource(t,r,undefined)}setOptionValueWithSource(t,r,i){if(this._storeOptionsAsProperties){this[t]=r}else{this._optionValues[t]=r}this._optionValueSources[t]=i;return this}getOptionValueSource(t){return this._optionValueSources[t]}getOptionValueSourceWithGlobals(t){let r;this._getCommandAndAncestors().forEach((i=>{if(i.getOptionValueSource(t)!==undefined){r=i.getOptionValueSource(t)}}));return r}_prepareUserArgs(t,r){if(t!==undefined&&!Array.isArray(t)){throw new Error("first parameter to parse must be array or undefined")}r=r||{};if(t===undefined&&r.from===undefined){if(u.versions?.electron){r.from="electron"}const t=u.execArgv??[];if(t.includes("-e")||t.includes("--eval")||t.includes("-p")||t.includes("--print")){r.from="eval"}}if(t===undefined){t=u.argv}this.rawArgs=t.slice();let i;switch(r.from){case undefined:case"node":this._scriptPath=t[1];i=t.slice(2);break;case"electron":if(u.defaultApp){this._scriptPath=t[1];i=t.slice(2)}else{i=t.slice(1)}break;case"user":i=t.slice(0);break;case"eval":i=t.slice(1);break;default:throw new Error(`unexpected parse option { from: '${r.from}' }`)}if(!this._name&&this._scriptPath)this.nameFromFilename(this._scriptPath);this._name=this._name||"program";return i}parse(t,r){this._prepareForParse();const i=this._prepareUserArgs(t,r);this._parseCommand([],i);return this}async parseAsync(t,r){this._prepareForParse();const i=this._prepareUserArgs(t,r);await this._parseCommand([],i);return this}_prepareForParse(){if(this._savedState===null){this.saveStateBeforeParse()}else{this.restoreStateBeforeParse()}}saveStateBeforeParse(){this._savedState={_name:this._name,_optionValues:{...this._optionValues},_optionValueSources:{...this._optionValueSources}}}restoreStateBeforeParse(){if(this._storeOptionsAsProperties)throw new Error(`Can not call parse again when storeOptionsAsProperties is true.\n- either make a new Command for each call to parse, or stop storing options as properties`);this._name=this._savedState._name;this._scriptPath=null;this.rawArgs=[];this._optionValues={...this._savedState._optionValues};this._optionValueSources={...this._savedState._optionValueSources};this.args=[];this.processedArgs=[]}_checkForMissingExecutable(t,r,i){if(l.existsSync(t))return;const o=r?`searched for local subcommand relative to directory '${r}'`:"no directory for search for local subcommand, use .executableDir() to supply a custom directory";const a=`'${t}' does not exist\n - if '${i}' is not meant to be an executable command, remove description parameter from '.command()' and use '.description()' instead\n - if the default executable name is not suitable, use the executableFile option to supply a custom name or path\n - ${o}`;throw new Error(a)}_executeSubCommand(t,r){r=r.slice();let i=false;const o=[".js",".ts",".tsx",".mjs",".cjs"];function findFile(t,r){const i=c.resolve(t,r);if(l.existsSync(i))return i;if(o.includes(c.extname(r)))return undefined;const a=o.find((t=>l.existsSync(`${i}${t}`)));if(a)return`${i}${a}`;return undefined}this._checkForMissingMandatoryOptions();this._checkForConflictingOptions();let h=t._executableFile||`${this._name}-${t._name}`;let d=this._executableDir||"";if(this._scriptPath){let t;try{t=l.realpathSync(this._scriptPath)}catch{t=this._scriptPath}d=c.resolve(c.dirname(t),d)}if(d){let r=findFile(d,h);if(!r&&!t._executableFile&&this._scriptPath){const i=c.basename(this._scriptPath,c.extname(this._scriptPath));if(i!==this._name){r=findFile(d,`${i}-${t._name}`)}}h=r||h}i=o.includes(c.extname(h));let m;if(u.platform!=="win32"){if(i){r.unshift(h);r=incrementNodeInspectorPort(u.execArgv).concat(r);m=a.spawn(u.argv[0],r,{stdio:"inherit"})}else{m=a.spawn(h,r,{stdio:"inherit"})}}else{this._checkForMissingExecutable(h,d,t._name);r.unshift(h);r=incrementNodeInspectorPort(u.execArgv).concat(r);m=a.spawn(u.execPath,r,{stdio:"inherit"})}if(!m.killed){const t=["SIGUSR1","SIGUSR2","SIGTERM","SIGINT","SIGHUP"];t.forEach((t=>{u.on(t,(()=>{if(m.killed===false&&m.exitCode===null){m.kill(t)}}))}))}const g=this._exitCallback;m.on("close",(t=>{t=t??1;if(!g){u.exit(t)}else{g(new p(t,"commander.executeSubCommandAsync","(close)"))}}));m.on("error",(r=>{if(r.code==="ENOENT"){this._checkForMissingExecutable(h,d,t._name)}else if(r.code==="EACCES"){throw new Error(`'${h}' not executable`)}if(!g){u.exit(1)}else{const t=new p(1,"commander.executeSubCommandAsync","(error)");t.nestedError=r;g(t)}}));this.runningCommand=m}_dispatchSubcommand(t,r,i){const o=this._findCommand(t);if(!o)this.help({error:true});o._prepareForParse();let a;a=this._chainOrCallSubCommandHook(a,o,"preSubcommand");a=this._chainOrCall(a,(()=>{if(o._executableHandler){this._executeSubCommand(o,r.concat(i))}else{return o._parseCommand(r,i)}}));return a}_dispatchHelpCommand(t){if(!t){this.help()}const r=this._findCommand(t);if(r&&!r._executableHandler){r.help()}return this._dispatchSubcommand(t,[],[this._getHelpOption()?.long??this._getHelpOption()?.short??"--help"])}_checkNumberOfArguments(){this.registeredArguments.forEach(((t,r)=>{if(t.required&&this.args[r]==null){this.missingArgument(t.name())}}));if(this.registeredArguments.length>0&&this.registeredArguments[this.registeredArguments.length-1].variadic){return}if(this.args.length>this.registeredArguments.length){this._excessArguments(this.args)}}_processArguments(){const myParseArg=(t,r,i)=>{let o=r;if(r!==null&&t.parseArg){const a=`error: command-argument value '${r}' is invalid for argument '${t.name()}'.`;o=this._callParseArg(t,r,i,a)}return o};this._checkNumberOfArguments();const t=[];this.registeredArguments.forEach(((r,i)=>{let o=r.defaultValue;if(r.variadic){if(i<this.args.length){o=this.args.slice(i);if(r.parseArg){o=o.reduce(((t,i)=>myParseArg(r,i,t)),r.defaultValue)}}else if(o===undefined){o=[]}}else if(i<this.args.length){o=this.args[i];if(r.parseArg){o=myParseArg(r,o,r.defaultValue)}}t[i]=o}));this.processedArgs=t}_chainOrCall(t,r){if(t&&t.then&&typeof t.then==="function"){return t.then((()=>r()))}return r()}_chainOrCallHooks(t,r){let i=t;const o=[];this._getCommandAndAncestors().reverse().filter((t=>t._lifeCycleHooks[r]!==undefined)).forEach((t=>{t._lifeCycleHooks[r].forEach((r=>{o.push({hookedCommand:t,callback:r})}))}));if(r==="postAction"){o.reverse()}o.forEach((t=>{i=this._chainOrCall(i,(()=>t.callback(t.hookedCommand,this)))}));return i}_chainOrCallSubCommandHook(t,r,i){let o=t;if(this._lifeCycleHooks[i]!==undefined){this._lifeCycleHooks[i].forEach((t=>{o=this._chainOrCall(o,(()=>t(this,r)))}))}return o}_parseCommand(t,r){const i=this.parseOptions(r);this._parseOptionsEnv();this._parseOptionsImplied();t=t.concat(i.operands);r=i.unknown;this.args=t.concat(r);if(t&&this._findCommand(t[0])){return this._dispatchSubcommand(t[0],t.slice(1),r)}if(this._getHelpCommand()&&t[0]===this._getHelpCommand().name()){return this._dispatchHelpCommand(t[1])}if(this._defaultCommandName){this._outputHelpIfRequested(r);return this._dispatchSubcommand(this._defaultCommandName,t,r)}if(this.commands.length&&this.args.length===0&&!this._actionHandler&&!this._defaultCommandName){this.help({error:true})}this._outputHelpIfRequested(i.unknown);this._checkForMissingMandatoryOptions();this._checkForConflictingOptions();const checkForUnknownOptions=()=>{if(i.unknown.length>0){this.unknownOption(i.unknown[0])}};const o=`command:${this.name()}`;if(this._actionHandler){checkForUnknownOptions();this._processArguments();let i;i=this._chainOrCallHooks(i,"preAction");i=this._chainOrCall(i,(()=>this._actionHandler(this.processedArgs)));if(this.parent){i=this._chainOrCall(i,(()=>{this.parent.emit(o,t,r)}))}i=this._chainOrCallHooks(i,"postAction");return i}if(this.parent&&this.parent.listenerCount(o)){checkForUnknownOptions();this._processArguments();this.parent.emit(o,t,r)}else if(t.length){if(this._findCommand("*")){return this._dispatchSubcommand("*",t,r)}if(this.listenerCount("command:*")){this.emit("command:*",t,r)}else if(this.commands.length){this.unknownCommand()}else{checkForUnknownOptions();this._processArguments()}}else if(this.commands.length){checkForUnknownOptions();this.help({error:true})}else{checkForUnknownOptions();this._processArguments()}}_findCommand(t){if(!t)return undefined;return this.commands.find((r=>r._name===t||r._aliases.includes(t)))}_findOption(t){return this.options.find((r=>r.is(t)))}_checkForMissingMandatoryOptions(){this._getCommandAndAncestors().forEach((t=>{t.options.forEach((r=>{if(r.mandatory&&t.getOptionValue(r.attributeName())===undefined){t.missingMandatoryOptionValue(r)}}))}))}_checkForConflictingLocalOptions(){const t=this.options.filter((t=>{const r=t.attributeName();if(this.getOptionValue(r)===undefined){return false}return this.getOptionValueSource(r)!=="default"}));const r=t.filter((t=>t.conflictsWith.length>0));r.forEach((r=>{const i=t.find((t=>r.conflictsWith.includes(t.attributeName())));if(i){this._conflictingOption(r,i)}}))}_checkForConflictingOptions(){this._getCommandAndAncestors().forEach((t=>{t._checkForConflictingLocalOptions()}))}parseOptions(t){const r=[];const i=[];let o=r;const a=t.slice();function maybeOption(t){return t.length>1&&t[0]==="-"}const negativeNumberArg=t=>{if(!/^-\d*\.?\d+(e[+-]?\d+)?$/.test(t))return false;return!this._getCommandAndAncestors().some((t=>t.options.map((t=>t.short)).some((t=>/^-\d$/.test(t)))))};let c=null;while(a.length){const t=a.shift();if(t==="--"){if(o===i)o.push(t);o.push(...a);break}if(c&&(!maybeOption(t)||negativeNumberArg(t))){this.emit(`option:${c.name()}`,t);continue}c=null;if(maybeOption(t)){const r=this._findOption(t);if(r){if(r.required){const t=a.shift();if(t===undefined)this.optionMissingArgument(r);this.emit(`option:${r.name()}`,t)}else if(r.optional){let t=null;if(a.length>0&&(!maybeOption(a[0])||negativeNumberArg(a[0]))){t=a.shift()}this.emit(`option:${r.name()}`,t)}else{this.emit(`option:${r.name()}`)}c=r.variadic?r:null;continue}}if(t.length>2&&t[0]==="-"&&t[1]!=="-"){const r=this._findOption(`-${t[1]}`);if(r){if(r.required||r.optional&&this._combineFlagAndOptionalValue){this.emit(`option:${r.name()}`,t.slice(2))}else{this.emit(`option:${r.name()}`);a.unshift(`-${t.slice(2)}`)}continue}}if(/^--[^=]+=/.test(t)){const r=t.indexOf("=");const i=this._findOption(t.slice(0,r));if(i&&(i.required||i.optional)){this.emit(`option:${i.name()}`,t.slice(r+1));continue}}if(o===r&&maybeOption(t)&&!(this.commands.length===0&&negativeNumberArg(t))){o=i}if((this._enablePositionalOptions||this._passThroughOptions)&&r.length===0&&i.length===0){if(this._findCommand(t)){r.push(t);if(a.length>0)i.push(...a);break}else if(this._getHelpCommand()&&t===this._getHelpCommand().name()){r.push(t);if(a.length>0)r.push(...a);break}else if(this._defaultCommandName){i.push(t);if(a.length>0)i.push(...a);break}}if(this._passThroughOptions){o.push(t);if(a.length>0)o.push(...a);break}o.push(t)}return{operands:r,unknown:i}}opts(){if(this._storeOptionsAsProperties){const t={};const r=this.options.length;for(let i=0;i<r;i++){const r=this.options[i].attributeName();t[r]=r===this._versionOptionName?this._version:this[r]}return t}return this._optionValues}optsWithGlobals(){return this._getCommandAndAncestors().reduce(((t,r)=>Object.assign(t,r.opts())),{})}error(t,r){this._outputConfiguration.outputError(`${t}\n`,this._outputConfiguration.writeErr);if(typeof this._showHelpAfterError==="string"){this._outputConfiguration.writeErr(`${this._showHelpAfterError}\n`)}else if(this._showHelpAfterError){this._outputConfiguration.writeErr("\n");this.outputHelp({error:true})}const i=r||{};const o=i.exitCode||1;const a=i.code||"commander.error";this._exit(o,a,t)}_parseOptionsEnv(){this.options.forEach((t=>{if(t.envVar&&t.envVar in u.env){const r=t.attributeName();if(this.getOptionValue(r)===undefined||["default","config","env"].includes(this.getOptionValueSource(r))){if(t.required||t.optional){this.emit(`optionEnv:${t.name()}`,u.env[t.envVar])}else{this.emit(`optionEnv:${t.name()}`)}}}}))}_parseOptionsImplied(){const t=new v(this.options);const hasCustomOptionValue=t=>this.getOptionValue(t)!==undefined&&!["default","implied"].includes(this.getOptionValueSource(t));this.options.filter((r=>r.implied!==undefined&&hasCustomOptionValue(r.attributeName())&&t.valueFromOption(this.getOptionValue(r.attributeName()),r))).forEach((t=>{Object.keys(t.implied).filter((t=>!hasCustomOptionValue(t))).forEach((r=>{this.setOptionValueWithSource(r,t.implied[r],"implied")}))}))}missingArgument(t){const r=`error: missing required argument '${t}'`;this.error(r,{code:"commander.missingArgument"})}optionMissingArgument(t){const r=`error: option '${t.flags}' argument missing`;this.error(r,{code:"commander.optionMissingArgument"})}missingMandatoryOptionValue(t){const r=`error: required option '${t.flags}' not specified`;this.error(r,{code:"commander.missingMandatoryOptionValue"})}_conflictingOption(t,r){const findBestOptionFromValue=t=>{const r=t.attributeName();const i=this.getOptionValue(r);const o=this.options.find((t=>t.negate&&r===t.attributeName()));const a=this.options.find((t=>!t.negate&&r===t.attributeName()));if(o&&(o.presetArg===undefined&&i===false||o.presetArg!==undefined&&i===o.presetArg)){return o}return a||t};const getErrorMessage=t=>{const r=findBestOptionFromValue(t);const i=r.attributeName();const o=this.getOptionValueSource(i);if(o==="env"){return`environment variable '${r.envVar}'`}return`option '${r.flags}'`};const i=`error: ${getErrorMessage(t)} cannot be used with ${getErrorMessage(r)}`;this.error(i,{code:"commander.conflictingOption"})}unknownOption(t){if(this._allowUnknownOption)return;let r="";if(t.startsWith("--")&&this._showSuggestionAfterError){let i=[];let o=this;do{const t=o.createHelp().visibleOptions(o).filter((t=>t.long)).map((t=>t.long));i=i.concat(t);o=o.parent}while(o&&!o._enablePositionalOptions);r=b(t,i)}const i=`error: unknown option '${t}'${r}`;this.error(i,{code:"commander.unknownOption"})}_excessArguments(t){if(this._allowExcessArguments)return;const r=this.registeredArguments.length;const i=r===1?"":"s";const o=this.parent?` for '${this.name()}'`:"";const a=`error: too many arguments${o}. Expected ${r} argument${i} but got ${t.length}.`;this.error(a,{code:"commander.excessArguments"})}unknownCommand(){const t=this.args[0];let r="";if(this._showSuggestionAfterError){const i=[];this.createHelp().visibleCommands(this).forEach((t=>{i.push(t.name());if(t.alias())i.push(t.alias())}));r=b(t,i)}const i=`error: unknown command '${t}'${r}`;this.error(i,{code:"commander.unknownCommand"})}version(t,r,i){if(t===undefined)return this._version;this._version=t;r=r||"-V, --version";i=i||"output the version number";const o=this.createOption(r,i);this._versionOptionName=o.attributeName();this._registerOption(o);this.on("option:"+o.name(),(()=>{this._outputConfiguration.writeOut(`${t}\n`);this._exit(0,"commander.version",t)}));return this}description(t,r){if(t===undefined&&r===undefined)return this._description;this._description=t;if(r){this._argsDescription=r}return this}summary(t){if(t===undefined)return this._summary;this._summary=t;return this}alias(t){if(t===undefined)return this._aliases[0];let r=this;if(this.commands.length!==0&&this.commands[this.commands.length-1]._executableHandler){r=this.commands[this.commands.length-1]}if(t===r._name)throw new Error("Command alias can't be the same as its name");const i=this.parent?._findCommand(t);if(i){const r=[i.name()].concat(i.aliases()).join("|");throw new Error(`cannot add alias '${t}' to command '${this.name()}' as already have command '${r}'`)}r._aliases.push(t);return this}aliases(t){if(t===undefined)return this._aliases;t.forEach((t=>this.alias(t)));return this}usage(t){if(t===undefined){if(this._usage)return this._usage;const t=this.registeredArguments.map((t=>d(t)));return[].concat(this.options.length||this._helpOption!==null?"[options]":[],this.commands.length?"[command]":[],this.registeredArguments.length?t:[]).join(" ")}this._usage=t;return this}name(t){if(t===undefined)return this._name;this._name=t;return this}helpGroup(t){if(t===undefined)return this._helpGroupHeading??"";this._helpGroupHeading=t;return this}commandsGroup(t){if(t===undefined)return this._defaultCommandGroup??"";this._defaultCommandGroup=t;return this}optionsGroup(t){if(t===undefined)return this._defaultOptionGroup??"";this._defaultOptionGroup=t;return this}_initOptionGroup(t){if(this._defaultOptionGroup&&!t.helpGroupHeading)t.helpGroup(this._defaultOptionGroup)}_initCommandGroup(t){if(this._defaultCommandGroup&&!t.helpGroup())t.helpGroup(this._defaultCommandGroup)}nameFromFilename(t){this._name=c.basename(t,c.extname(t));return this}executableDir(t){if(t===undefined)return this._executableDir;this._executableDir=t;return this}helpInformation(t){const r=this.createHelp();const i=this._getOutputContext(t);r.prepareContext({error:i.error,helpWidth:i.helpWidth,outputHasColors:i.hasColors});const o=r.formatHelp(this,r);if(i.hasColors)return o;return this._outputConfiguration.stripColor(o)}_getOutputContext(t){t=t||{};const r=!!t.error;let i;let o;let a;if(r){i=t=>this._outputConfiguration.writeErr(t);o=this._outputConfiguration.getErrHasColors();a=this._outputConfiguration.getErrHelpWidth()}else{i=t=>this._outputConfiguration.writeOut(t);o=this._outputConfiguration.getOutHasColors();a=this._outputConfiguration.getOutHelpWidth()}const write=t=>{if(!o)t=this._outputConfiguration.stripColor(t);return i(t)};return{error:r,write:write,hasColors:o,helpWidth:a}}outputHelp(t){let r;if(typeof t==="function"){r=t;t=undefined}const i=this._getOutputContext(t);const o={error:i.error,write:i.write,command:this};this._getCommandAndAncestors().reverse().forEach((t=>t.emit("beforeAllHelp",o)));this.emit("beforeHelp",o);let a=this.helpInformation({error:i.error});if(r){a=r(a);if(typeof a!=="string"&&!Buffer.isBuffer(a)){throw new Error("outputHelp callback must return a string or a Buffer")}}i.write(a);if(this._getHelpOption()?.long){this.emit(this._getHelpOption().long)}this.emit("afterHelp",o);this._getCommandAndAncestors().forEach((t=>t.emit("afterAllHelp",o)))}helpOption(t,r){if(typeof t==="boolean"){if(t){if(this._helpOption===null)this._helpOption=undefined;if(this._defaultOptionGroup){this._initOptionGroup(this._getHelpOption())}}else{this._helpOption=null}return this}this._helpOption=this.createOption(t??"-h, --help",r??"display help for command");if(t||r)this._initOptionGroup(this._helpOption);return this}_getHelpOption(){if(this._helpOption===undefined){this.helpOption(undefined,undefined)}return this._helpOption}addHelpOption(t){this._helpOption=t;this._initOptionGroup(t);return this}help(t){this.outputHelp(t);let r=Number(u.exitCode??0);if(r===0&&t&&typeof t!=="function"&&t.error){r=1}this._exit(r,"commander.help","(outputHelp)")}addHelpText(t,r){const i=["beforeAll","before","after","afterAll"];if(!i.includes(t)){throw new Error(`Unexpected value for position to addHelpText.\nExpecting one of '${i.join("', '")}'`)}const o=`${t}Help`;this.on(o,(t=>{let i;if(typeof r==="function"){i=r({error:t.error,command:t.command})}else{i=r}if(i){t.write(`${i}\n`)}}));return this}_outputHelpIfRequested(t){const r=this._getHelpOption();const i=r&&t.find((t=>r.is(t)));if(i){this.outputHelp();this._exit(0,"commander.helpDisplayed","(outputHelp)")}}}function incrementNodeInspectorPort(t){return t.map((t=>{if(!t.startsWith("--inspect")){return t}let r;let i="127.0.0.1";let o="9229";let a;if((a=t.match(/^(--inspect(-brk)?)$/))!==null){r=a[1]}else if((a=t.match(/^(--inspect(-brk|-port)?)=([^:]+)$/))!==null){r=a[1];if(/^\d+$/.test(a[3])){o=a[3]}else{i=a[3]}}else if((a=t.match(/^(--inspect(-brk|-port)?)=([^:]+):(\d+)$/))!==null){r=a[1];i=a[3];o=a[4]}if(r&&o!=="0"){return`${r}=${i}:${parseInt(o)+1}`}return t}))}function useColor(){if(u.env.NO_COLOR||u.env.FORCE_COLOR==="0"||u.env.FORCE_COLOR==="false")return false;if(u.env.FORCE_COLOR||u.env.CLICOLOR_FORCE!==undefined)return true;return undefined}r.Command=Command;r.useColor=useColor},1552:(t,r)=>{class CommanderError extends Error{constructor(t,r,i){super(i);Error.captureStackTrace(this,this.constructor);this.name=this.constructor.name;this.code=r;this.exitCode=t;this.nestedError=undefined}}class InvalidArgumentError extends CommanderError{constructor(t){super(1,"commander.invalidArgument",t);Error.captureStackTrace(this,this.constructor);this.name=this.constructor.name}}r.CommanderError=CommanderError;r.InvalidArgumentError=InvalidArgumentError},4615:(t,r,i)=>{const{humanReadableArgName:o}=i(4455);class Help{constructor(){this.helpWidth=undefined;this.minWidthToWrap=40;this.sortSubcommands=false;this.sortOptions=false;this.showGlobalOptions=false}prepareContext(t){this.helpWidth=this.helpWidth??t.helpWidth??80}visibleCommands(t){const r=t.commands.filter((t=>!t._hidden));const i=t._getHelpCommand();if(i&&!i._hidden){r.push(i)}if(this.sortSubcommands){r.sort(((t,r)=>t.name().localeCompare(r.name())))}return r}compareOptions(t,r){const getSortKey=t=>t.short?t.short.replace(/^-/,""):t.long.replace(/^--/,"");return getSortKey(t).localeCompare(getSortKey(r))}visibleOptions(t){const r=t.options.filter((t=>!t.hidden));const i=t._getHelpOption();if(i&&!i.hidden){const o=i.short&&t._findOption(i.short);const a=i.long&&t._findOption(i.long);if(!o&&!a){r.push(i)}else if(i.long&&!a){r.push(t.createOption(i.long,i.description))}else if(i.short&&!o){r.push(t.createOption(i.short,i.description))}}if(this.sortOptions){r.sort(this.compareOptions)}return r}visibleGlobalOptions(t){if(!this.showGlobalOptions)return[];const r=[];for(let i=t.parent;i;i=i.parent){const t=i.options.filter((t=>!t.hidden));r.push(...t)}if(this.sortOptions){r.sort(this.compareOptions)}return r}visibleArguments(t){if(t._argsDescription){t.registeredArguments.forEach((r=>{r.description=r.description||t._argsDescription[r.name()]||""}))}if(t.registeredArguments.find((t=>t.description))){return t.registeredArguments}return[]}subcommandTerm(t){const r=t.registeredArguments.map((t=>o(t))).join(" ");return t._name+(t._aliases[0]?"|"+t._aliases[0]:"")+(t.options.length?" [options]":"")+(r?" "+r:"")}optionTerm(t){return t.flags}argumentTerm(t){return t.name()}longestSubcommandTermLength(t,r){return r.visibleCommands(t).reduce(((t,i)=>Math.max(t,this.displayWidth(r.styleSubcommandTerm(r.subcommandTerm(i))))),0)}longestOptionTermLength(t,r){return r.visibleOptions(t).reduce(((t,i)=>Math.max(t,this.displayWidth(r.styleOptionTerm(r.optionTerm(i))))),0)}longestGlobalOptionTermLength(t,r){return r.visibleGlobalOptions(t).reduce(((t,i)=>Math.max(t,this.displayWidth(r.styleOptionTerm(r.optionTerm(i))))),0)}longestArgumentTermLength(t,r){return r.visibleArguments(t).reduce(((t,i)=>Math.max(t,this.displayWidth(r.styleArgumentTerm(r.argumentTerm(i))))),0)}commandUsage(t){let r=t._name;if(t._aliases[0]){r=r+"|"+t._aliases[0]}let i="";for(let r=t.parent;r;r=r.parent){i=r.name()+" "+i}return i+r+" "+t.usage()}commandDescription(t){return t.description()}subcommandDescription(t){return t.summary()||t.description()}optionDescription(t){const r=[];if(t.argChoices){r.push(`choices: ${t.argChoices.map((t=>JSON.stringify(t))).join(", ")}`)}if(t.defaultValue!==undefined){const i=t.required||t.optional||t.isBoolean()&&typeof t.defaultValue==="boolean";if(i){r.push(`default: ${t.defaultValueDescription||JSON.stringify(t.defaultValue)}`)}}if(t.presetArg!==undefined&&t.optional){r.push(`preset: ${JSON.stringify(t.presetArg)}`)}if(t.envVar!==undefined){r.push(`env: ${t.envVar}`)}if(r.length>0){const i=`(${r.join(", ")})`;if(t.description){return`${t.description} ${i}`}return i}return t.description}argumentDescription(t){const r=[];if(t.argChoices){r.push(`choices: ${t.argChoices.map((t=>JSON.stringify(t))).join(", ")}`)}if(t.defaultValue!==undefined){r.push(`default: ${t.defaultValueDescription||JSON.stringify(t.defaultValue)}`)}if(r.length>0){const i=`(${r.join(", ")})`;if(t.description){return`${t.description} ${i}`}return i}return t.description}formatItemList(t,r,i){if(r.length===0)return[];return[i.styleTitle(t),...r,""]}groupItems(t,r,i){const o=new Map;t.forEach((t=>{const r=i(t);if(!o.has(r))o.set(r,[])}));r.forEach((t=>{const r=i(t);if(!o.has(r)){o.set(r,[])}o.get(r).push(t)}));return o}formatHelp(t,r){const i=r.padWidth(t,r);const o=r.helpWidth??80;function callFormatItem(t,o){return r.formatItem(t,i,o,r)}let a=[`${r.styleTitle("Usage:")} ${r.styleUsage(r.commandUsage(t))}`,""];const c=r.commandDescription(t);if(c.length>0){a=a.concat([r.boxWrap(r.styleCommandDescription(c),o),""])}const l=r.visibleArguments(t).map((t=>callFormatItem(r.styleArgumentTerm(r.argumentTerm(t)),r.styleArgumentDescription(r.argumentDescription(t)))));a=a.concat(this.formatItemList("Arguments:",l,r));const u=this.groupItems(t.options,r.visibleOptions(t),(t=>t.helpGroupHeading??"Options:"));u.forEach(((t,i)=>{const o=t.map((t=>callFormatItem(r.styleOptionTerm(r.optionTerm(t)),r.styleOptionDescription(r.optionDescription(t)))));a=a.concat(this.formatItemList(i,o,r))}));if(r.showGlobalOptions){const i=r.visibleGlobalOptions(t).map((t=>callFormatItem(r.styleOptionTerm(r.optionTerm(t)),r.styleOptionDescription(r.optionDescription(t)))));a=a.concat(this.formatItemList("Global Options:",i,r))}const h=this.groupItems(t.commands,r.visibleCommands(t),(t=>t.helpGroup()||"Commands:"));h.forEach(((t,i)=>{const o=t.map((t=>callFormatItem(r.styleSubcommandTerm(r.subcommandTerm(t)),r.styleSubcommandDescription(r.subcommandDescription(t)))));a=a.concat(this.formatItemList(i,o,r))}));return a.join("\n")}displayWidth(t){return stripColor(t).length}styleTitle(t){return t}styleUsage(t){return t.split(" ").map((t=>{if(t==="[options]")return this.styleOptionText(t);if(t==="[command]")return this.styleSubcommandText(t);if(t[0]==="["||t[0]==="<")return this.styleArgumentText(t);return this.styleCommandText(t)})).join(" ")}styleCommandDescription(t){return this.styleDescriptionText(t)}styleOptionDescription(t){return this.styleDescriptionText(t)}styleSubcommandDescription(t){return this.styleDescriptionText(t)}styleArgumentDescription(t){return this.styleDescriptionText(t)}styleDescriptionText(t){return t}styleOptionTerm(t){return this.styleOptionText(t)}styleSubcommandTerm(t){return t.split(" ").map((t=>{if(t==="[options]")return this.styleOptionText(t);if(t[0]==="["||t[0]==="<")return this.styleArgumentText(t);return this.styleSubcommandText(t)})).join(" ")}styleArgumentTerm(t){return this.styleArgumentText(t)}styleOptionText(t){return t}styleArgumentText(t){return t}styleSubcommandText(t){return t}styleCommandText(t){return t}padWidth(t,r){return Math.max(r.longestOptionTermLength(t,r),r.longestGlobalOptionTermLength(t,r),r.longestSubcommandTermLength(t,r),r.longestArgumentTermLength(t,r))}preformatted(t){return/\n[^\S\r\n]/.test(t)}formatItem(t,r,i,o){const a=2;const c=" ".repeat(a);if(!i)return c+t;const l=t.padEnd(r+t.length-o.displayWidth(t));const u=2;const h=this.helpWidth??80;const d=h-r-u-a;let p;if(d<this.minWidthToWrap||o.preformatted(i)){p=i}else{const t=o.boxWrap(i,d);p=t.replace(/\n/g,"\n"+" ".repeat(r+u))}return c+l+" ".repeat(u)+p.replace(/\n/g,`\n${c}`)}boxWrap(t,r){if(r<this.minWidthToWrap)return t;const i=t.split(/\r\n|\n/);const o=/[\s]*[^\s]+/g;const a=[];i.forEach((t=>{const i=t.match(o);if(i===null){a.push("");return}let c=[i.shift()];let l=this.displayWidth(c[0]);i.forEach((t=>{const i=this.displayWidth(t);if(l+i<=r){c.push(t);l+=i;return}a.push(c.join(""));const o=t.trimStart();c=[o];l=this.displayWidth(o)}));a.push(c.join(""))}));return a.join("\n")}}function stripColor(t){const r=/\x1b\[\d*(;\d*)*m/g;return t.replace(r,"")}r.Help=Help;r.stripColor=stripColor},513:(t,r,i)=>{const{InvalidArgumentError:o}=i(1552);class Option{constructor(t,r){this.flags=t;this.description=r||"";this.required=t.includes("<");this.optional=t.includes("[");this.variadic=/\w\.\.\.[>\]]$/.test(t);this.mandatory=false;const i=splitOptionFlags(t);this.short=i.shortFlag;this.long=i.longFlag;this.negate=false;if(this.long){this.negate=this.long.startsWith("--no-")}this.defaultValue=undefined;this.defaultValueDescription=undefined;this.presetArg=undefined;this.envVar=undefined;this.parseArg=undefined;this.hidden=false;this.argChoices=undefined;this.conflictsWith=[];this.implied=undefined;this.helpGroupHeading=undefined}default(t,r){this.defaultValue=t;this.defaultValueDescription=r;return this}preset(t){this.presetArg=t;return this}conflicts(t){this.conflictsWith=this.conflictsWith.concat(t);return this}implies(t){let r=t;if(typeof t==="string"){r={[t]:true}}this.implied=Object.assign(this.implied||{},r);return this}env(t){this.envVar=t;return this}argParser(t){this.parseArg=t;return this}makeOptionMandatory(t=true){this.mandatory=!!t;return this}hideHelp(t=true){this.hidden=!!t;return this}_concatValue(t,r){if(r===this.defaultValue||!Array.isArray(r)){return[t]}return r.concat(t)}choices(t){this.argChoices=t.slice();this.parseArg=(t,r)=>{if(!this.argChoices.includes(t)){throw new o(`Allowed choices are ${this.argChoices.join(", ")}.`)}if(this.variadic){return this._concatValue(t,r)}return t};return this}name(){if(this.long){return this.long.replace(/^--/,"")}return this.short.replace(/^-/,"")}attributeName(){if(this.negate){return camelcase(this.name().replace(/^no-/,""))}return camelcase(this.name())}helpGroup(t){this.helpGroupHeading=t;return this}is(t){return this.short===t||this.long===t}isBoolean(){return!this.required&&!this.optional&&!this.negate}}class DualOptions{constructor(t){this.positiveOptions=new Map;this.negativeOptions=new Map;this.dualOptions=new Set;t.forEach((t=>{if(t.negate){this.negativeOptions.set(t.attributeName(),t)}else{this.positiveOptions.set(t.attributeName(),t)}}));this.negativeOptions.forEach(((t,r)=>{if(this.positiveOptions.has(r)){this.dualOptions.add(r)}}))}valueFromOption(t,r){const i=r.attributeName();if(!this.dualOptions.has(i))return true;const o=this.negativeOptions.get(i).presetArg;const a=o!==undefined?o:false;return r.negate===(a===t)}}function camelcase(t){return t.split("-").reduce(((t,r)=>t+r[0].toUpperCase()+r.slice(1)))}function splitOptionFlags(t){let r;let i;const o=/^-[^-]$/;const a=/^--[^-]/;const c=t.split(/[ |,]+/).concat("guard");if(o.test(c[0]))r=c.shift();if(a.test(c[0]))i=c.shift();if(!r&&o.test(c[0]))r=c.shift();if(!r&&a.test(c[0])){r=i;i=c.shift()}if(c[0].startsWith("-")){const r=c[0];const i=`option creation failed due to '${r}' in option flags '${t}'`;if(/^-[^-][^-]/.test(r))throw new Error(`${i}\n- a short flag is a single dash and a single character\n - either use a single dash and a single character (for a short flag)\n - or use a double dash for a long option (and can have two, like '--ws, --workspace')`);if(o.test(r))throw new Error(`${i}\n- too many short flags`);if(a.test(r))throw new Error(`${i}\n- too many long flags`);throw new Error(`${i}\n- unrecognised flag format`)}if(r===undefined&&i===undefined)throw new Error(`option creation failed due to no flags found in '${t}'.`);return{shortFlag:r,longFlag:i}}r.Option=Option;r.DualOptions=DualOptions},4155:(t,r)=>{const i=3;function editDistance(t,r){if(Math.abs(t.length-r.length)>i)return Math.max(t.length,r.length);const o=[];for(let r=0;r<=t.length;r++){o[r]=[r]}for(let t=0;t<=r.length;t++){o[0][t]=t}for(let i=1;i<=r.length;i++){for(let a=1;a<=t.length;a++){let c=1;if(t[a-1]===r[i-1]){c=0}else{c=1}o[a][i]=Math.min(o[a-1][i]+1,o[a][i-1]+1,o[a-1][i-1]+c);if(a>1&&i>1&&t[a-1]===r[i-2]&&t[a-2]===r[i-1]){o[a][i]=Math.min(o[a][i],o[a-2][i-2]+1)}}}return o[t.length][r.length]}function suggestSimilar(t,r){if(!r||r.length===0)return"";r=Array.from(new Set(r));const o=t.startsWith("--");if(o){t=t.slice(2);r=r.map((t=>t.slice(2)))}let a=[];let c=i;const l=.4;r.forEach((r=>{if(r.length<=1)return;const i=editDistance(t,r);const o=Math.max(t.length,r.length);const u=(o-i)/o;if(u>l){if(i<c){c=i;a=[r]}else if(i===c){a.push(r)}}}));a.sort(((t,r)=>t.localeCompare(r)));if(o){a=a.map((t=>`--${t}`))}if(a.length>1){return`\n(Did you mean one of ${a.join(", ")}?)`}if(a.length===1){return`\n(Did you mean ${a[0]}?)`}return""}r.suggestSimilar=suggestSimilar},9296:(t,r,i)=>{"use strict";const{normalizeIPv6:o,normalizeIPv4:a,removeDotSegments:c,recomposeAuthority:l,normalizeComponentEncoding:u}=i(8885);const h=i(2708);function normalize(t,r){if(typeof t==="string"){t=serialize(parse(t,r),r)}else if(typeof t==="object"){t=parse(serialize(t,r),r)}return t}function resolve(t,r,i){const o=Object.assign({scheme:"null"},i);const a=resolveComponents(parse(t,o),parse(r,o),o,true);return serialize(a,{...o,skipEscape:true})}function resolveComponents(t,r,i,o){const a={};if(!o){t=parse(serialize(t,i),i);r=parse(serialize(r,i),i)}i=i||{};if(!i.tolerant&&r.scheme){a.scheme=r.scheme;a.userinfo=r.userinfo;a.host=r.host;a.port=r.port;a.path=c(r.path||"");a.query=r.query}else{if(r.userinfo!==undefined||r.host!==undefined||r.port!==undefined){a.userinfo=r.userinfo;a.host=r.host;a.port=r.port;a.path=c(r.path||"");a.query=r.query}else{if(!r.path){a.path=t.path;if(r.query!==undefined){a.query=r.query}else{a.query=t.query}}else{if(r.path.charAt(0)==="/"){a.path=c(r.path)}else{if((t.userinfo!==undefined||t.host!==undefined||t.port!==undefined)&&!t.path){a.path="/"+r.path}else if(!t.path){a.path=r.path}else{a.path=t.path.slice(0,t.path.lastIndexOf("/")+1)+r.path}a.path=c(a.path)}a.query=r.query}a.userinfo=t.userinfo;a.host=t.host;a.port=t.port}a.scheme=t.scheme}a.fragment=r.fragment;return a}function equal(t,r,i){if(typeof t==="string"){t=unescape(t);t=serialize(u(parse(t,i),true),{...i,skipEscape:true})}else if(typeof t==="object"){t=serialize(u(t,true),{...i,skipEscape:true})}if(typeof r==="string"){r=unescape(r);r=serialize(u(parse(r,i),true),{...i,skipEscape:true})}else if(typeof r==="object"){r=serialize(u(r,true),{...i,skipEscape:true})}return t.toLowerCase()===r.toLowerCase()}function serialize(t,r){const i={host:t.host,scheme:t.scheme,userinfo:t.userinfo,port:t.port,path:t.path,query:t.query,nid:t.nid,nss:t.nss,uuid:t.uuid,fragment:t.fragment,reference:t.reference,resourceName:t.resourceName,secure:t.secure,error:""};const o=Object.assign({},r);const a=[];const u=h[(o.scheme||i.scheme||"").toLowerCase()];if(u&&u.serialize)u.serialize(i,o);if(i.path!==undefined){if(!o.skipEscape){i.path=escape(i.path);if(i.scheme!==undefined){i.path=i.path.split("%3A").join(":")}}else{i.path=unescape(i.path)}}if(o.reference!=="suffix"&&i.scheme){a.push(i.scheme,":")}const d=l(i);if(d!==undefined){if(o.reference!=="suffix"){a.push("//")}a.push(d);if(i.path&&i.path.charAt(0)!=="/"){a.push("/")}}if(i.path!==undefined){let t=i.path;if(!o.absolutePath&&(!u||!u.absolutePath)){t=c(t)}if(d===undefined){t=t.replace(/^\/\//u,"/%2F")}a.push(t)}if(i.query!==undefined){a.push("?",i.query)}if(i.fragment!==undefined){a.push("#",i.fragment)}return a.join("")}const d=Array.from({length:127},((t,r)=>/[^!"$&'()*+,\-.;=_`a-z{}~]/u.test(String.fromCharCode(r))));function nonSimpleDomain(t){let r=0;for(let i=0,o=t.length;i<o;++i){r=t.charCodeAt(i);if(r>126||d[r]){return true}}return false}const p=/^(?:([^#/:?]+):)?(?:\/\/((?:([^#/?@]*)@)?(\[[^#/?\]]+\]|[^#/:?]*)(?::(\d*))?))?([^#?]*)(?:\?([^#]*))?(?:#((?:.|[\n\r])*))?/u;function parse(t,r){const i=Object.assign({},r);const c={scheme:undefined,userinfo:undefined,host:"",port:undefined,path:"",query:undefined,fragment:undefined};const l=t.indexOf("%")!==-1;let u=false;if(i.reference==="suffix")t=(i.scheme?i.scheme+":":"")+"//"+t;const d=t.match(p);if(d){c.scheme=d[1];c.userinfo=d[3];c.host=d[4];c.port=parseInt(d[5],10);c.path=d[6]||"";c.query=d[7];c.fragment=d[8];if(isNaN(c.port)){c.port=d[5]}if(c.host){const t=a(c.host);if(t.isIPV4===false){const r=o(t.host);c.host=r.host.toLowerCase();u=r.isIPV6}else{c.host=t.host;u=true}}if(c.scheme===undefined&&c.userinfo===undefined&&c.host===undefined&&c.port===undefined&&c.query===undefined&&!c.path){c.reference="same-document"}else if(c.scheme===undefined){c.reference="relative"}else if(c.fragment===undefined){c.reference="absolute"}else{c.reference="uri"}if(i.reference&&i.reference!=="suffix"&&i.reference!==c.reference){c.error=c.error||"URI is not a "+i.reference+" reference."}const t=h[(i.scheme||c.scheme||"").toLowerCase()];if(!i.unicodeSupport&&(!t||!t.unicodeSupport)){if(c.host&&(i.domainHost||t&&t.domainHost)&&u===false&&nonSimpleDomain(c.host)){try{c.host=URL.domainToASCII(c.host.toLowerCase())}catch(t){c.error=c.error||"Host's domain name can not be converted to ASCII: "+t}}}if(!t||t&&!t.skipNormalize){if(l&&c.scheme!==undefined){c.scheme=unescape(c.scheme)}if(l&&c.host!==undefined){c.host=unescape(c.host)}if(c.path){c.path=escape(unescape(c.path))}if(c.fragment){c.fragment=encodeURI(decodeURIComponent(c.fragment))}}if(t&&t.parse){t.parse(c,i)}}else{c.error=c.error||"URI can not be parsed."}return c}const m={SCHEMES:h,normalize:normalize,resolve:resolve,resolveComponents:resolveComponents,equal:equal,serialize:serialize,parse:parse};t.exports=m;t.exports["default"]=m;t.exports.fastUri=m},2708:t=>{"use strict";const r=/^[\da-f]{8}-[\da-f]{4}-[\da-f]{4}-[\da-f]{4}-[\da-f]{12}$/iu;const i=/([\da-z][\d\-a-z]{0,31}):((?:[\w!$'()*+,\-.:;=@]|%[\da-f]{2})+)/iu;function isSecure(t){return typeof t.secure==="boolean"?t.secure:String(t.scheme).toLowerCase()==="wss"}function httpParse(t){if(!t.host){t.error=t.error||"HTTP URIs must have a host."}return t}function httpSerialize(t){const r=String(t.scheme).toLowerCase()==="https";if(t.port===(r?443:80)||t.port===""){t.port=undefined}if(!t.path){t.path="/"}return t}function wsParse(t){t.secure=isSecure(t);t.resourceName=(t.path||"/")+(t.query?"?"+t.query:"");t.path=undefined;t.query=undefined;return t}function wsSerialize(t){if(t.port===(isSecure(t)?443:80)||t.port===""){t.port=undefined}if(typeof t.secure==="boolean"){t.scheme=t.secure?"wss":"ws";t.secure=undefined}if(t.resourceName){const[r,i]=t.resourceName.split("?");t.path=r&&r!=="/"?r:undefined;t.query=i;t.resourceName=undefined}t.fragment=undefined;return t}function urnParse(t,r){if(!t.path){t.error="URN can not be parsed";return t}const o=t.path.match(i);if(o){const i=r.scheme||t.scheme||"urn";t.nid=o[1].toLowerCase();t.nss=o[2];const a=`${i}:${r.nid||t.nid}`;const c=d[a];t.path=undefined;if(c){t=c.parse(t,r)}}else{t.error=t.error||"URN can not be parsed."}return t}function urnSerialize(t,r){const i=r.scheme||t.scheme||"urn";const o=t.nid.toLowerCase();const a=`${i}:${r.nid||o}`;const c=d[a];if(c){t=c.serialize(t,r)}const l=t;const u=t.nss;l.path=`${o||r.nid}:${u}`;r.skipEscape=true;return l}function urnuuidParse(t,i){const o=t;o.uuid=o.nss;o.nss=undefined;if(!i.tolerant&&(!o.uuid||!r.test(o.uuid))){o.error=o.error||"UUID is not valid."}return o}function urnuuidSerialize(t){const r=t;r.nss=(t.uuid||"").toLowerCase();return r}const o={scheme:"http",domainHost:true,parse:httpParse,serialize:httpSerialize};const a={scheme:"https",domainHost:o.domainHost,parse:httpParse,serialize:httpSerialize};const c={scheme:"ws",domainHost:true,parse:wsParse,serialize:wsSerialize};const l={scheme:"wss",domainHost:c.domainHost,parse:c.parse,serialize:c.serialize};const u={scheme:"urn",parse:urnParse,serialize:urnSerialize,skipNormalize:true};const h={scheme:"urn:uuid",parse:urnuuidParse,serialize:urnuuidSerialize,skipNormalize:true};const d={http:o,https:a,ws:c,wss:l,urn:u,"urn:uuid":h};t.exports=d},1137:t=>{"use strict";const r={0:0,1:1,2:2,3:3,4:4,5:5,6:6,7:7,8:8,9:9,a:10,A:10,b:11,B:11,c:12,C:12,d:13,D:13,e:14,E:14,f:15,F:15};t.exports={HEX:r}},8885:(t,r,i)=>{"use strict";const{HEX:o}=i(1137);const a=/^(?:(?:25[0-5]|2[0-4]\d|1\d{2}|[1-9]\d|\d)\.){3}(?:25[0-5]|2[0-4]\d|1\d{2}|[1-9]\d|\d)$/u;function normalizeIPv4(t){if(findToken(t,".")<3){return{host:t,isIPV4:false}}const r=t.match(a)||[];const[i]=r;if(i){return{host:stripLeadingZeros(i,"."),isIPV4:true}}else{return{host:t,isIPV4:false}}}function stringArrayToHexStripped(t,r=false){let i="";let a=true;for(const r of t){if(o[r]===undefined)return undefined;if(r!=="0"&&a===true)a=false;if(!a)i+=r}if(r&&i.length===0)i="0";return i}function getIPV6(t){let r=0;const i={error:false,address:"",zone:""};const o=[];const a=[];let c=false;let l=false;let u=false;function consume(){if(a.length){if(c===false){const t=stringArrayToHexStripped(a);if(t!==undefined){o.push(t)}else{i.error=true;return false}}a.length=0}return true}for(let h=0;h<t.length;h++){const d=t[h];if(d==="["||d==="]"){continue}if(d===":"){if(l===true){u=true}if(!consume()){break}r++;o.push(":");if(r>7){i.error=true;break}if(h-1>=0&&t[h-1]===":"){l=true}continue}else if(d==="%"){if(!consume()){break}c=true}else{a.push(d);continue}}if(a.length){if(c){i.zone=a.join("")}else if(u){o.push(a.join(""))}else{o.push(stringArrayToHexStripped(a))}}i.address=o.join("");return i}function normalizeIPv6(t){if(findToken(t,":")<2){return{host:t,isIPV6:false}}const r=getIPV6(t);if(!r.error){let t=r.address;let i=r.address;if(r.zone){t+="%"+r.zone;i+="%25"+r.zone}return{host:t,escapedHost:i,isIPV6:true}}else{return{host:t,isIPV6:false}}}function stripLeadingZeros(t,r){let i="";let o=true;const a=t.length;for(let c=0;c<a;c++){const l=t[c];if(l==="0"&&o){if(c+1<=a&&t[c+1]===r||c+1===a){i+=l;o=false}}else{if(l===r){o=true}else{o=false}i+=l}}return i}function findToken(t,r){let i=0;for(let o=0;o<t.length;o++){if(t[o]===r)i++}return i}const c=/^\.\.?\//u;const l=/^\/\.(?:\/|$)/u;const u=/^\/\.\.(?:\/|$)/u;const h=/^\/?(?:.|\n)*?(?=\/|$)/u;function removeDotSegments(t){const r=[];while(t.length){if(t.match(c)){t=t.replace(c,"")}else if(t.match(l)){t=t.replace(l,"/")}else if(t.match(u)){t=t.replace(u,"/");r.pop()}else if(t==="."||t===".."){t=""}else{const i=t.match(h);if(i){const o=i[0];t=t.slice(o.length);r.push(o)}else{throw new Error("Unexpected dot segment condition")}}}return r.join("")}function normalizeComponentEncoding(t,r){const i=r!==true?escape:unescape;if(t.scheme!==undefined){t.scheme=i(t.scheme)}if(t.userinfo!==undefined){t.userinfo=i(t.userinfo)}if(t.host!==undefined){t.host=i(t.host)}if(t.path!==undefined){t.path=i(t.path)}if(t.query!==undefined){t.query=i(t.query)}if(t.fragment!==undefined){t.fragment=i(t.fragment)}return t}function recomposeAuthority(t){const r=[];if(t.userinfo!==undefined){r.push(t.userinfo);r.push("@")}if(t.host!==undefined){let i=unescape(t.host);const o=normalizeIPv4(i);if(o.isIPV4){i=o.host}else{const r=normalizeIPv6(o.host);if(r.isIPV6===true){i=`[${r.escapedHost}]`}else{i=t.host}}r.push(i)}if(typeof t.port==="number"||typeof t.port==="string"){r.push(":");r.push(String(t.port))}return r.length?r.join(""):undefined}t.exports={recomposeAuthority:recomposeAuthority,normalizeComponentEncoding:normalizeComponentEncoding,removeDotSegments:removeDotSegments,normalizeIPv4:normalizeIPv4,normalizeIPv6:normalizeIPv6,stringArrayToHexStripped:stringArrayToHexStripped}},2200:t=>{"use strict";t.exports=JSON.parse('{"$id":"https://raw.githubusercontent.com/ajv-validator/ajv/master/lib/refs/data.json#","description":"Meta-schema for $data reference (JSON AnySchema extension proposal)","type":"object","required":["$data"],"properties":{"$data":{"type":"string","anyOf":[{"format":"relative-json-pointer"},{"format":"json-pointer"}]}},"additionalProperties":false}')},5727:t=>{"use strict";t.exports=JSON.parse('{"$schema":"https://json-schema.org/draft/2020-12/schema","$id":"https://json-schema.org/draft/2020-12/meta/applicator","$vocabulary":{"https://json-schema.org/draft/2020-12/vocab/applicator":true},"$dynamicAnchor":"meta","title":"Applicator vocabulary meta-schema","type":["object","boolean"],"properties":{"prefixItems":{"$ref":"#/$defs/schemaArray"},"items":{"$dynamicRef":"#meta"},"contains":{"$dynamicRef":"#meta"},"additionalProperties":{"$dynamicRef":"#meta"},"properties":{"type":"object","additionalProperties":{"$dynamicRef":"#meta"},"default":{}},"patternProperties":{"type":"object","additionalProperties":{"$dynamicRef":"#meta"},"propertyNames":{"format":"regex"},"default":{}},"dependentSchemas":{"type":"object","additionalProperties":{"$dynamicRef":"#meta"},"default":{}},"propertyNames":{"$dynamicRef":"#meta"},"if":{"$dynamicRef":"#meta"},"then":{"$dynamicRef":"#meta"},"else":{"$dynamicRef":"#meta"},"allOf":{"$ref":"#/$defs/schemaArray"},"anyOf":{"$ref":"#/$defs/schemaArray"},"oneOf":{"$ref":"#/$defs/schemaArray"},"not":{"$dynamicRef":"#meta"}},"$defs":{"schemaArray":{"type":"array","minItems":1,"items":{"$dynamicRef":"#meta"}}}}')},1447:t=>{"use strict";t.exports=JSON.parse('{"$schema":"https://json-schema.org/draft/2020-12/schema","$id":"https://json-schema.org/draft/2020-12/meta/content","$vocabulary":{"https://json-schema.org/draft/2020-12/vocab/content":true},"$dynamicAnchor":"meta","title":"Content vocabulary meta-schema","type":["object","boolean"],"properties":{"contentEncoding":{"type":"string"},"contentMediaType":{"type":"string"},"contentSchema":{"$dynamicRef":"#meta"}}}')},4877:t=>{"use strict";t.exports=JSON.parse('{"$schema":"https://json-schema.org/draft/2020-12/schema","$id":"https://json-schema.org/draft/2020-12/meta/core","$vocabulary":{"https://json-schema.org/draft/2020-12/vocab/core":true},"$dynamicAnchor":"meta","title":"Core vocabulary meta-schema","type":["object","boolean"],"properties":{"$id":{"$ref":"#/$defs/uriReferenceString","$comment":"Non-empty fragments not allowed.","pattern":"^[^#]*#?$"},"$schema":{"$ref":"#/$defs/uriString"},"$ref":{"$ref":"#/$defs/uriReferenceString"},"$anchor":{"$ref":"#/$defs/anchorString"},"$dynamicRef":{"$ref":"#/$defs/uriReferenceString"},"$dynamicAnchor":{"$ref":"#/$defs/anchorString"},"$vocabulary":{"type":"object","propertyNames":{"$ref":"#/$defs/uriString"},"additionalProperties":{"type":"boolean"}},"$comment":{"type":"string"},"$defs":{"type":"object","additionalProperties":{"$dynamicRef":"#meta"}}},"$defs":{"anchorString":{"type":"string","pattern":"^[A-Za-z_][-A-Za-z0-9._]*$"},"uriString":{"type":"string","format":"uri"},"uriReferenceString":{"type":"string","format":"uri-reference"}}}')},9041:t=>{"use strict";t.exports=JSON.parse('{"$schema":"https://json-schema.org/draft/2020-12/schema","$id":"https://json-schema.org/draft/2020-12/meta/format-annotation","$vocabulary":{"https://json-schema.org/draft/2020-12/vocab/format-annotation":true},"$dynamicAnchor":"meta","title":"Format vocabulary meta-schema for annotation results","type":["object","boolean"],"properties":{"format":{"type":"string"}}}')},5118:t=>{"use strict";t.exports=JSON.parse('{"$schema":"https://json-schema.org/draft/2020-12/schema","$id":"https://json-schema.org/draft/2020-12/meta/meta-data","$vocabulary":{"https://json-schema.org/draft/2020-12/vocab/meta-data":true},"$dynamicAnchor":"meta","title":"Meta-data vocabulary meta-schema","type":["object","boolean"],"properties":{"title":{"type":"string"},"description":{"type":"string"},"default":true,"deprecated":{"type":"boolean","default":false},"readOnly":{"type":"boolean","default":false},"writeOnly":{"type":"boolean","default":false},"examples":{"type":"array","items":true}}}')},8606:t=>{"use strict";t.exports=JSON.parse('{"$schema":"https://json-schema.org/draft/2020-12/schema","$id":"https://json-schema.org/draft/2020-12/meta/unevaluated","$vocabulary":{"https://json-schema.org/draft/2020-12/vocab/unevaluated":true},"$dynamicAnchor":"meta","title":"Unevaluated applicator vocabulary meta-schema","type":["object","boolean"],"properties":{"unevaluatedItems":{"$dynamicRef":"#meta"},"unevaluatedProperties":{"$dynamicRef":"#meta"}}}')},3073:t=>{"use strict";t.exports=JSON.parse('{"$schema":"https://json-schema.org/draft/2020-12/schema","$id":"https://json-schema.org/draft/2020-12/meta/validation","$vocabulary":{"https://json-schema.org/draft/2020-12/vocab/validation":true},"$dynamicAnchor":"meta","title":"Validation vocabulary meta-schema","type":["object","boolean"],"properties":{"type":{"anyOf":[{"$ref":"#/$defs/simpleTypes"},{"type":"array","items":{"$ref":"#/$defs/simpleTypes"},"minItems":1,"uniqueItems":true}]},"const":true,"enum":{"type":"array","items":true},"multipleOf":{"type":"number","exclusiveMinimum":0},"maximum":{"type":"number"},"exclusiveMaximum":{"type":"number"},"minimum":{"type":"number"},"exclusiveMinimum":{"type":"number"},"maxLength":{"$ref":"#/$defs/nonNegativeInteger"},"minLength":{"$ref":"#/$defs/nonNegativeIntegerDefault0"},"pattern":{"type":"string","format":"regex"},"maxItems":{"$ref":"#/$defs/nonNegativeInteger"},"minItems":{"$ref":"#/$defs/nonNegativeIntegerDefault0"},"uniqueItems":{"type":"boolean","default":false},"maxContains":{"$ref":"#/$defs/nonNegativeInteger"},"minContains":{"$ref":"#/$defs/nonNegativeInteger","default":1},"maxProperties":{"$ref":"#/$defs/nonNegativeInteger"},"minProperties":{"$ref":"#/$defs/nonNegativeIntegerDefault0"},"required":{"$ref":"#/$defs/stringArray"},"dependentRequired":{"type":"object","additionalProperties":{"$ref":"#/$defs/stringArray"}}},"$defs":{"nonNegativeInteger":{"type":"integer","minimum":0},"nonNegativeIntegerDefault0":{"$ref":"#/$defs/nonNegativeInteger","default":0},"simpleTypes":{"enum":["array","boolean","integer","null","number","object","string"]},"stringArray":{"type":"array","items":{"type":"string"},"uniqueItems":true,"default":[]}}}')},1115:t=>{"use strict";t.exports=JSON.parse('{"$schema":"https://json-schema.org/draft/2020-12/schema","$id":"https://json-schema.org/draft/2020-12/schema","$vocabulary":{"https://json-schema.org/draft/2020-12/vocab/core":true,"https://json-schema.org/draft/2020-12/vocab/applicator":true,"https://json-schema.org/draft/2020-12/vocab/unevaluated":true,"https://json-schema.org/draft/2020-12/vocab/validation":true,"https://json-schema.org/draft/2020-12/vocab/meta-data":true,"https://json-schema.org/draft/2020-12/vocab/format-annotation":true,"https://json-schema.org/draft/2020-12/vocab/content":true},"$dynamicAnchor":"meta","title":"Core and Validation specifications meta-schema","allOf":[{"$ref":"meta/core"},{"$ref":"meta/applicator"},{"$ref":"meta/unevaluated"},{"$ref":"meta/validation"},{"$ref":"meta/meta-data"},{"$ref":"meta/format-annotation"},{"$ref":"meta/content"}],"type":["object","boolean"],"$comment":"This meta-schema also defines keywords that have appeared in previous drafts in order to prevent incompatible extensions as they remain in common use.","properties":{"definitions":{"$comment":"\\"definitions\\" has been replaced by \\"$defs\\".","type":"object","additionalProperties":{"$dynamicRef":"#meta"},"deprecated":true,"default":{}},"dependencies":{"$comment":"\\"dependencies\\" has been split and replaced by \\"dependentSchemas\\" and \\"dependentRequired\\" in order to serve their differing semantics.","type":"object","additionalProperties":{"anyOf":[{"$dynamicRef":"#meta"},{"$ref":"meta/validation#/$defs/stringArray"}]},"deprecated":true,"default":{}},"$recursiveAnchor":{"$comment":"\\"$recursiveAnchor\\" has been replaced by \\"$dynamicAnchor\\".","$ref":"meta/core#/$defs/anchorString","deprecated":true},"$recursiveRef":{"$comment":"\\"$recursiveRef\\" has been replaced by \\"$dynamicRef\\".","$ref":"meta/core#/$defs/uriReferenceString","deprecated":true}}}')},7578:t=>{"use strict";t.exports=JSON.parse('{"$schema":"http://json-schema.org/draft-07/schema#","$id":"http://json-schema.org/draft-07/schema#","title":"Core schema meta-schema","definitions":{"schemaArray":{"type":"array","minItems":1,"items":{"$ref":"#"}},"nonNegativeInteger":{"type":"integer","minimum":0},"nonNegativeIntegerDefault0":{"allOf":[{"$ref":"#/definitions/nonNegativeInteger"},{"default":0}]},"simpleTypes":{"enum":["array","boolean","integer","null","number","object","string"]},"stringArray":{"type":"array","items":{"type":"string"},"uniqueItems":true,"default":[]}},"type":["object","boolean"],"properties":{"$id":{"type":"string","format":"uri-reference"},"$schema":{"type":"string","format":"uri"},"$ref":{"type":"string","format":"uri-reference"},"$comment":{"type":"string"},"title":{"type":"string"},"description":{"type":"string"},"default":true,"readOnly":{"type":"boolean","default":false},"examples":{"type":"array","items":true},"multipleOf":{"type":"number","exclusiveMinimum":0},"maximum":{"type":"number"},"exclusiveMaximum":{"type":"number"},"minimum":{"type":"number"},"exclusiveMinimum":{"type":"number"},"maxLength":{"$ref":"#/definitions/nonNegativeInteger"},"minLength":{"$ref":"#/definitions/nonNegativeIntegerDefault0"},"pattern":{"type":"string","format":"regex"},"additionalItems":{"$ref":"#"},"items":{"anyOf":[{"$ref":"#"},{"$ref":"#/definitions/schemaArray"}],"default":true},"maxItems":{"$ref":"#/definitions/nonNegativeInteger"},"minItems":{"$ref":"#/definitions/nonNegativeIntegerDefault0"},"uniqueItems":{"type":"boolean","default":false},"contains":{"$ref":"#"},"maxProperties":{"$ref":"#/definitions/nonNegativeInteger"},"minProperties":{"$ref":"#/definitions/nonNegativeIntegerDefault0"},"required":{"$ref":"#/definitions/stringArray"},"additionalProperties":{"$ref":"#"},"definitions":{"type":"object","additionalProperties":{"$ref":"#"},"default":{}},"properties":{"type":"object","additionalProperties":{"$ref":"#"},"default":{}},"patternProperties":{"type":"object","additionalProperties":{"$ref":"#"},"propertyNames":{"format":"regex"},"default":{}},"dependencies":{"type":"object","additionalProperties":{"anyOf":[{"$ref":"#"},{"$ref":"#/definitions/stringArray"}]}},"propertyNames":{"$ref":"#"},"const":true,"enum":{"type":"array","items":true,"minItems":1,"uniqueItems":true},"type":{"anyOf":[{"$ref":"#/definitions/simpleTypes"},{"type":"array","items":{"$ref":"#/definitions/simpleTypes"},"minItems":1,"uniqueItems":true}]},"format":{"type":"string"},"contentMediaType":{"type":"string"},"contentEncoding":{"type":"string"},"if":{"$ref":"#"},"then":{"$ref":"#"},"else":{"$ref":"#"},"allOf":{"$ref":"#/definitions/schemaArray"},"anyOf":{"$ref":"#/definitions/schemaArray"},"oneOf":{"$ref":"#/definitions/schemaArray"},"not":{"$ref":"#"}},"default":true}')},4839:t=>{"use strict";t.exports=JSON.parse('[{"name":"Agola CI","constant":"AGOLA","env":"AGOLA_GIT_REF","pr":"AGOLA_PULL_REQUEST_ID"},{"name":"Appcircle","constant":"APPCIRCLE","env":"AC_APPCIRCLE","pr":{"env":"AC_GIT_PR","ne":"false"}},{"name":"AppVeyor","constant":"APPVEYOR","env":"APPVEYOR","pr":"APPVEYOR_PULL_REQUEST_NUMBER"},{"name":"AWS CodeBuild","constant":"CODEBUILD","env":"CODEBUILD_BUILD_ARN","pr":{"env":"CODEBUILD_WEBHOOK_EVENT","any":["PULL_REQUEST_CREATED","PULL_REQUEST_UPDATED","PULL_REQUEST_REOPENED"]}},{"name":"Azure Pipelines","constant":"AZURE_PIPELINES","env":"TF_BUILD","pr":{"BUILD_REASON":"PullRequest"}},{"name":"Bamboo","constant":"BAMBOO","env":"bamboo_planKey"},{"name":"Bitbucket Pipelines","constant":"BITBUCKET","env":"BITBUCKET_COMMIT","pr":"BITBUCKET_PR_ID"},{"name":"Bitrise","constant":"BITRISE","env":"BITRISE_IO","pr":"BITRISE_PULL_REQUEST"},{"name":"Buddy","constant":"BUDDY","env":"BUDDY_WORKSPACE_ID","pr":"BUDDY_EXECUTION_PULL_REQUEST_ID"},{"name":"Buildkite","constant":"BUILDKITE","env":"BUILDKITE","pr":{"env":"BUILDKITE_PULL_REQUEST","ne":"false"}},{"name":"CircleCI","constant":"CIRCLE","env":"CIRCLECI","pr":"CIRCLE_PULL_REQUEST"},{"name":"Cirrus CI","constant":"CIRRUS","env":"CIRRUS_CI","pr":"CIRRUS_PR"},{"name":"Cloudflare Pages","constant":"CLOUDFLARE_PAGES","env":"CF_PAGES"},{"name":"Cloudflare Workers","constant":"CLOUDFLARE_WORKERS","env":"WORKERS_CI"},{"name":"Codefresh","constant":"CODEFRESH","env":"CF_BUILD_ID","pr":{"any":["CF_PULL_REQUEST_NUMBER","CF_PULL_REQUEST_ID"]}},{"name":"Codemagic","constant":"CODEMAGIC","env":"CM_BUILD_ID","pr":"CM_PULL_REQUEST"},{"name":"Codeship","constant":"CODESHIP","env":{"CI_NAME":"codeship"}},{"name":"Drone","constant":"DRONE","env":"DRONE","pr":{"DRONE_BUILD_EVENT":"pull_request"}},{"name":"dsari","constant":"DSARI","env":"DSARI"},{"name":"Earthly","constant":"EARTHLY","env":"EARTHLY_CI"},{"name":"Expo Application Services","constant":"EAS","env":"EAS_BUILD"},{"name":"Gerrit","constant":"GERRIT","env":"GERRIT_PROJECT"},{"name":"Gitea Actions","constant":"GITEA_ACTIONS","env":"GITEA_ACTIONS"},{"name":"GitHub Actions","constant":"GITHUB_ACTIONS","env":"GITHUB_ACTIONS","pr":{"GITHUB_EVENT_NAME":"pull_request"}},{"name":"GitLab CI","constant":"GITLAB","env":"GITLAB_CI","pr":"CI_MERGE_REQUEST_ID"},{"name":"GoCD","constant":"GOCD","env":"GO_PIPELINE_LABEL"},{"name":"Google Cloud Build","constant":"GOOGLE_CLOUD_BUILD","env":"BUILDER_OUTPUT"},{"name":"Harness CI","constant":"HARNESS","env":"HARNESS_BUILD_ID"},{"name":"Heroku","constant":"HEROKU","env":{"env":"NODE","includes":"/app/.heroku/node/bin/node"}},{"name":"Hudson","constant":"HUDSON","env":"HUDSON_URL"},{"name":"Jenkins","constant":"JENKINS","env":["JENKINS_URL","BUILD_ID"],"pr":{"any":["ghprbPullId","CHANGE_ID"]}},{"name":"LayerCI","constant":"LAYERCI","env":"LAYERCI","pr":"LAYERCI_PULL_REQUEST"},{"name":"Magnum CI","constant":"MAGNUM","env":"MAGNUM"},{"name":"Netlify CI","constant":"NETLIFY","env":"NETLIFY","pr":{"env":"PULL_REQUEST","ne":"false"}},{"name":"Nevercode","constant":"NEVERCODE","env":"NEVERCODE","pr":{"env":"NEVERCODE_PULL_REQUEST","ne":"false"}},{"name":"Prow","constant":"PROW","env":"PROW_JOB_ID"},{"name":"ReleaseHub","constant":"RELEASEHUB","env":"RELEASE_BUILD_ID"},{"name":"Render","constant":"RENDER","env":"RENDER","pr":{"IS_PULL_REQUEST":"true"}},{"name":"Sail CI","constant":"SAIL","env":"SAILCI","pr":"SAIL_PULL_REQUEST_NUMBER"},{"name":"Screwdriver","constant":"SCREWDRIVER","env":"SCREWDRIVER","pr":{"env":"SD_PULL_REQUEST","ne":"false"}},{"name":"Semaphore","constant":"SEMAPHORE","env":"SEMAPHORE","pr":"PULL_REQUEST_NUMBER"},{"name":"Sourcehut","constant":"SOURCEHUT","env":{"CI_NAME":"sourcehut"}},{"name":"Strider CD","constant":"STRIDER","env":"STRIDER"},{"name":"TaskCluster","constant":"TASKCLUSTER","env":["TASK_ID","RUN_ID"]},{"name":"TeamCity","constant":"TEAMCITY","env":"TEAMCITY_VERSION"},{"name":"Travis CI","constant":"TRAVIS","env":"TRAVIS","pr":{"env":"TRAVIS_PULL_REQUEST","ne":"false"}},{"name":"Vela","constant":"VELA","env":"VELA","pr":{"VELA_PULL_REQUEST":"1"}},{"name":"Vercel","constant":"VERCEL","env":{"any":["NOW_BUILDER","VERCEL"]},"pr":"VERCEL_GIT_PULL_REQUEST_ID"},{"name":"Visual Studio App Center","constant":"APPCENTER","env":"APPCENTER_BUILD_ID"},{"name":"Woodpecker","constant":"WOODPECKER","env":{"CI":"woodpecker"},"pr":{"CI_BUILD_EVENT":"pull_request"}},{"name":"Xcode Cloud","constant":"XCODE_CLOUD","env":"CI_XCODE_PROJECT","pr":"CI_PULL_REQUEST_NUMBER"},{"name":"Xcode Server","constant":"XCODE_SERVER","env":"XCS"}]')}};var r={};function __nccwpck_require__(i){var o=r[i];if(o!==undefined){return o.exports}var a=r[i]={exports:{}};var c=true;try{t[i](a,a.exports,__nccwpck_require__);c=false}finally{if(c)delete r[i]}return a.exports}(()=>{__nccwpck_require__.n=t=>{var r=t&&t.__esModule?()=>t["default"]:()=>t;__nccwpck_require__.d(r,{a:r});return r}})();(()=>{__nccwpck_require__.d=(t,r)=>{for(var i in r){if(__nccwpck_require__.o(r,i)&&!__nccwpck_require__.o(t,i)){Object.defineProperty(t,i,{enumerable:true,get:r[i]})}}}})();(()=>{__nccwpck_require__.o=(t,r)=>Object.prototype.hasOwnProperty.call(t,r)})();if(typeof __nccwpck_require__!=="undefined")__nccwpck_require__.ab=__dirname+"/";var i={};(()=>{"use strict";var t=__nccwpck_require__(3024);var r=__nccwpck_require__(6760);var i=__nccwpck_require__.n(r);var o=__nccwpck_require__(4610);var a=__nccwpck_require__.n(o);var c=__nccwpck_require__(7542);const{DM:l,gu:u,er:h,Ww:d,b7:p,Di:m,a2:g,uB:y,ef:v,c$:b,_V:w}=c;const E=require("node:util");var S=__nccwpck_require__(1708);const $=require("node:crypto");const R=require("node:assert");const isObject=t=>{const r=typeof t;return t!==null&&(r==="object"||r==="function")};const isEmptyObject=t=>isObject(t)&&Object.keys(t).length===0;const O=new Set(["__proto__","prototype","constructor"]);const P=new Set("0123456789");function getPathSegments(t){const r=[];let i="";let o="start";let a=false;for(const c of t){switch(c){case"\\":{if(o==="index"){throw new Error("Invalid character in an index")}if(o==="indexEnd"){throw new Error("Invalid character after an index")}if(a){i+=c}o="property";a=!a;break}case".":{if(o==="index"){throw new Error("Invalid character in an index")}if(o==="indexEnd"){o="property";break}if(a){a=false;i+=c;break}if(O.has(i)){return[]}r.push(i);i="";o="property";break}case"[":{if(o==="index"){throw new Error("Invalid character in an index")}if(o==="indexEnd"){o="index";break}if(a){a=false;i+=c;break}if(o==="property"){if(O.has(i)){return[]}r.push(i);i=""}o="index";break}case"]":{if(o==="index"){r.push(Number.parseInt(i,10));i="";o="indexEnd";break}if(o==="indexEnd"){throw new Error("Invalid character after an index")}}default:{if(o==="index"&&!P.has(c)){throw new Error("Invalid character in an index")}if(o==="indexEnd"){throw new Error("Invalid character after an index")}if(o==="start"){o="property"}if(a){a=false;i+="\\"}i+=c}}}if(a){i+="\\"}switch(o){case"property":{if(O.has(i)){return[]}r.push(i);break}case"index":{throw new Error("Index was not closed")}case"start":{r.push("");break}}return r}function isStringIndex(t,r){if(typeof r!=="number"&&Array.isArray(t)){const i=Number.parseInt(r,10);return Number.isInteger(i)&&t[i]===t[r]}return false}function assertNotStringIndex(t,r){if(isStringIndex(t,r)){throw new Error("Cannot use string index")}}function getProperty(t,r,i){if(!isObject(t)||typeof r!=="string"){return i===undefined?t:i}const o=getPathSegments(r);if(o.length===0){return i}for(let r=0;r<o.length;r++){const a=o[r];if(isStringIndex(t,a)){t=r===o.length-1?undefined:null}else{t=t[a]}if(t===undefined||t===null){if(r!==o.length-1){return i}break}}return t===undefined?i:t}function setProperty(t,r,i){if(!isObject(t)||typeof r!=="string"){return t}const o=t;const a=getPathSegments(r);for(let r=0;r<a.length;r++){const o=a[r];assertNotStringIndex(t,o);if(r===a.length-1){t[o]=i}else if(!isObject(t[o])){t[o]=typeof a[r+1]==="number"?[]:{}}t=t[o]}return o}function deleteProperty(t,r){if(!isObject(t)||typeof r!=="string"){return false}const i=getPathSegments(r);for(let r=0;r<i.length;r++){const o=i[r];assertNotStringIndex(t,o);if(r===i.length-1){delete t[o];return true}t=t[o];if(!isObject(t)){return false}}}function hasProperty(t,r){if(!isObject(t)||typeof r!=="string"){return false}const i=getPathSegments(r);if(i.length===0){return false}for(const r of i){if(!isObject(t)||!(r in t)||isStringIndex(t,r)){return false}t=t[r]}return true}function escapePath(t){if(typeof t!=="string"){throw new TypeError("Expected a string")}return t.replaceAll(/[\\.[]/g,"\\$&")}function entries(t){const r=Object.entries(t);if(Array.isArray(t)){return r.map((([t,r])=>[Number(t),r]))}return r}function stringifyPath(t){let r="";for(let[i,o]of entries(t)){if(typeof o==="number"){r+=`[${o}]`}else{o=escapePath(o);r+=i===0?o:`.${o}`}}return r}function*deepKeysIterator(t,r=[]){if(!isObject(t)||isEmptyObject(t)){if(r.length>0){yield stringifyPath(r)}return}for(const[i,o]of entries(t)){yield*deepKeysIterator(o,[...r,i])}}function deepKeys(t){return[...deepKeysIterator(t)]}const A=require("node:os");var x=__nccwpck_require__.n(A);const T=A.homedir();const k=A.tmpdir();const{env:C}=S;const macos=t=>{const i=r.join(T,"Library");return{data:r.join(i,"Application Support",t),config:r.join(i,"Preferences",t),cache:r.join(i,"Caches",t),log:r.join(i,"Logs",t),temp:r.join(k,t)}};const windows=t=>{const i=C.APPDATA||r.join(T,"AppData","Roaming");const o=C.LOCALAPPDATA||r.join(T,"AppData","Local");return{data:r.join(o,t,"Data"),config:r.join(i,t,"Config"),cache:r.join(o,t,"Cache"),log:r.join(o,t,"Log"),temp:r.join(k,t)}};const linux=t=>{const i=r.basename(T);return{data:r.join(C.XDG_DATA_HOME||r.join(T,".local","share"),t),config:r.join(C.XDG_CONFIG_HOME||r.join(T,".config"),t),cache:r.join(C.XDG_CACHE_HOME||r.join(T,".cache"),t),log:r.join(C.XDG_STATE_HOME||r.join(T,".local","state"),t),temp:r.join(k,i,t)}};function envPaths(t,{suffix:r="nodejs"}={}){if(typeof t!=="string"){throw new TypeError(`Expected a string, got ${typeof t}`)}if(r){t+=`-${r}`}if(S.platform==="darwin"){return macos(t)}if(S.platform==="win32"){return windows(t)}return linux(t)}const attemptifyAsync=(t,r)=>function attemptified(...i){return t.apply(undefined,i).catch(r)};const attemptifySync=(t,r)=>function attemptified(...i){try{return t.apply(undefined,i)}catch(t){return r(t)}};const I=S.getuid?!S.getuid():false;const N=1e4;const NOOP=()=>undefined;const D={isChangeErrorOk:t=>{if(!D.isNodeError(t))return false;const{code:r}=t;if(r==="ENOSYS")return true;if(!I&&(r==="EINVAL"||r==="EPERM"))return true;return false},isNodeError:t=>t instanceof Error,isRetriableError:t=>{if(!D.isNodeError(t))return false;const{code:r}=t;if(r==="EMFILE"||r==="ENFILE"||r==="EAGAIN"||r==="EBUSY"||r==="EACCESS"||r==="EACCES"||r==="EACCS"||r==="EPERM")return true;return false},onChangeError:t=>{if(!D.isNodeError(t))throw t;if(D.isChangeErrorOk(t))return;throw t}};const L=D;class RetryfyQueue{constructor(){this.interval=25;this.intervalId=undefined;this.limit=N;this.queueActive=new Set;this.queueWaiting=new Set;this.init=()=>{if(this.intervalId)return;this.intervalId=setInterval(this.tick,this.interval)};this.reset=()=>{if(!this.intervalId)return;clearInterval(this.intervalId);delete this.intervalId};this.add=t=>{this.queueWaiting.add(t);if(this.queueActive.size<this.limit/2){this.tick()}else{this.init()}};this.remove=t=>{this.queueWaiting.delete(t);this.queueActive.delete(t)};this.schedule=()=>new Promise((t=>{const cleanup=()=>this.remove(resolver);const resolver=()=>t(cleanup);this.add(resolver)}));this.tick=()=>{if(this.queueActive.size>=this.limit)return;if(!this.queueWaiting.size)return this.reset();for(const t of this.queueWaiting){if(this.queueActive.size>=this.limit)break;this.queueWaiting.delete(t);this.queueActive.add(t);t()}}}}const M=new RetryfyQueue;const retryifyAsync=(t,r)=>function retrified(i){return function attempt(...o){return M.schedule().then((a=>{const onResolve=t=>{a();return t};const onReject=t=>{a();if(Date.now()>=i)throw t;if(r(t)){const t=Math.round(100*Math.random());const r=new Promise((r=>setTimeout(r,t)));return r.then((()=>attempt.apply(undefined,o)))}throw t};return t.apply(undefined,o).then(onResolve,onReject)}))}};const retryifySync=(t,r)=>function retrified(i){return function attempt(...o){try{return t.apply(undefined,o)}catch(t){if(Date.now()>i)throw t;if(r(t))return attempt.apply(undefined,o);throw t}}};const j={attempt:{chmod:attemptifyAsync((0,E.promisify)(t.chmod),L.onChangeError),chown:attemptifyAsync((0,E.promisify)(t.chown),L.onChangeError),close:attemptifyAsync((0,E.promisify)(t.close),NOOP),fsync:attemptifyAsync((0,E.promisify)(t.fsync),NOOP),mkdir:attemptifyAsync((0,E.promisify)(t.mkdir),NOOP),realpath:attemptifyAsync((0,E.promisify)(t.realpath),NOOP),stat:attemptifyAsync((0,E.promisify)(t.stat),NOOP),unlink:attemptifyAsync((0,E.promisify)(t.unlink),NOOP),chmodSync:attemptifySync(t.chmodSync,L.onChangeError),chownSync:attemptifySync(t.chownSync,L.onChangeError),closeSync:attemptifySync(t.closeSync,NOOP),existsSync:attemptifySync(t.existsSync,NOOP),fsyncSync:attemptifySync(t.fsync,NOOP),mkdirSync:attemptifySync(t.mkdirSync,NOOP),realpathSync:attemptifySync(t.realpathSync,NOOP),statSync:attemptifySync(t.statSync,NOOP),unlinkSync:attemptifySync(t.unlinkSync,NOOP)},retry:{close:retryifyAsync((0,E.promisify)(t.close),L.isRetriableError),fsync:retryifyAsync((0,E.promisify)(t.fsync),L.isRetriableError),open:retryifyAsync((0,E.promisify)(t.open),L.isRetriableError),readFile:retryifyAsync((0,E.promisify)(t.readFile),L.isRetriableError),rename:retryifyAsync((0,E.promisify)(t.rename),L.isRetriableError),stat:retryifyAsync((0,E.promisify)(t.stat),L.isRetriableError),write:retryifyAsync((0,E.promisify)(t.write),L.isRetriableError),writeFile:retryifyAsync((0,E.promisify)(t.writeFile),L.isRetriableError),closeSync:retryifySync(t.closeSync,L.isRetriableError),fsyncSync:retryifySync(t.fsyncSync,L.isRetriableError),openSync:retryifySync(t.openSync,L.isRetriableError),readFileSync:retryifySync(t.readFileSync,L.isRetriableError),renameSync:retryifySync(t.renameSync,L.isRetriableError),statSync:retryifySync(t.statSync,L.isRetriableError),writeSync:retryifySync(t.writeSync,L.isRetriableError),writeFileSync:retryifySync(t.writeFileSync,L.isRetriableError)}};const U=j;const B="utf8";const H=438;const V=511;const G={};const z={};const q=A.userInfo().uid;const W=A.userInfo().gid;const K=7500;const Y=1e3;const Z=!!S.getuid;const X=S.getuid?!S.getuid():false;const J=128;const Q=1e4;const constants_NOOP=()=>{};const lang_isException=t=>t instanceof Error&&"code"in t;const lang_isFunction=t=>typeof t==="function";const lang_isString=t=>typeof t==="string";const lang_isUndefined=t=>t===undefined;const ee={};const te={next:t=>{const r=ee[t];if(!r)return;r.shift();const i=r[0];if(i){i((()=>te.next(t)))}else{delete ee[t]}},schedule:t=>new Promise((r=>{let i=ee[t];if(!i)i=ee[t]=[];i.push(r);if(i.length>1)return;r((()=>te.next(t)))}))};const re=null&&te;const se=S.platform==="linux";const ne=S.platform==="win32";const ie=["SIGABRT","SIGALRM","SIGHUP","SIGINT","SIGTERM"];if(!ne){ie.push("SIGVTALRM","SIGXCPU","SIGXFSZ","SIGUSR2","SIGTRAP","SIGSYS","SIGQUIT","SIGIOT")}if(se){ie.push("SIGIO","SIGPOLL","SIGPWR","SIGSTKFLT","SIGUNUSED")}const oe=ie;class Interceptor{constructor(){this.callbacks=new Set;this.exited=false;this.exit=t=>{if(this.exited)return;this.exited=true;for(const t of this.callbacks){t()}if(t){if(ne&&(t!=="SIGINT"&&t!=="SIGTERM"&&t!=="SIGKILL")){S.kill(S.pid,"SIGTERM")}else{S.kill(S.pid,t)}}};this.hook=()=>{S.once("exit",(()=>this.exit()));for(const t of oe){try{S.once(t,(()=>this.exit(t)))}catch{}}};this.register=t=>{this.callbacks.add(t);return()=>{this.callbacks.delete(t)}};this.hook()}}const ae=new Interceptor;const ce=ae.register;const le=ce;const ue={store:{},create:t=>{const r=`000000${Math.floor(Math.random()*16777215).toString(16)}`.slice(-6);const i=Date.now().toString().slice(-10);const o="tmp-";const a=`.${o}${i}${r}`;const c=`${t}${a}`;return c},get:(t,r,i=true)=>{const o=ue.truncate(r(t));if(o in ue.store)return ue.get(t,r,i);ue.store[o]=i;const disposer=()=>delete ue.store[o];return[o,disposer]},purge:t=>{if(!ue.store[t])return;delete ue.store[t];U.attempt.unlink(t)},purgeSync:t=>{if(!ue.store[t])return;delete ue.store[t];U.attempt.unlinkSync(t)},purgeSyncAll:()=>{for(const t in ue.store){ue.purgeSync(t)}},truncate:t=>{const i=r.basename(t);if(i.length<=J)return t;const o=/^(\.?)(.*?)((?:\.[^.]+)?(?:\.tmp-\d{10}[a-f0-9]{6})?)$/.exec(i);if(!o)return t;const a=i.length-J;return`${t.slice(0,-i.length)}${o[1]}${o[2].slice(0,-a)}${o[3]}`}};le(ue.purgeSyncAll);const he=ue;function readFile(t,r=DEFAULT_READ_OPTIONS){if(isString(r))return readFile(t,{encoding:r});const i=Date.now()+((r.timeout??DEFAULT_TIMEOUT_ASYNC)||-1);return fs.retry.readFile(i)(t,r)}function readFileSync(t,r=DEFAULT_READ_OPTIONS){if(isString(r))return readFileSync(t,{encoding:r});const i=Date.now()+((r.timeout??DEFAULT_TIMEOUT_SYNC)||-1);return fs.retry.readFileSync(i)(t,r)}function writeFile(t,r,i,o){if(isFunction(i))return writeFile(t,r,DEFAULT_WRITE_OPTIONS,i);const a=writeFileAsync(t,r,i);if(o)a.then(o,o);return a}async function writeFileAsync(t,r,i=DEFAULT_WRITE_OPTIONS){if(isString(i))return writeFileAsync(t,r,{encoding:i});const o=Date.now()+((i.timeout??DEFAULT_TIMEOUT_ASYNC)||-1);let a=null;let c=null;let l=null;let u=null;let h=null;try{if(i.schedule)a=await i.schedule(t);c=await Scheduler.schedule(t);const d=await fs.attempt.realpath(t);const p=!!d;t=d||t;[u,l]=Temp.get(t,i.tmpCreate||Temp.create,!(i.tmpPurge===false));const m=IS_POSIX&&isUndefined(i.chown);const g=isUndefined(i.mode);if(p&&(m||g)){const r=await fs.attempt.stat(t);if(r){i={...i};if(m){i.chown={uid:r.uid,gid:r.gid}}if(g){i.mode=r.mode}}}if(!p){const r=path.dirname(t);await fs.attempt.mkdir(r,{mode:DEFAULT_FOLDER_MODE,recursive:true})}h=await fs.retry.open(o)(u,"w",i.mode||DEFAULT_FILE_MODE);if(i.tmpCreated){i.tmpCreated(u)}if(isString(r)){await fs.retry.write(o)(h,r,0,i.encoding||DEFAULT_ENCODING)}else if(!isUndefined(r)){await fs.retry.write(o)(h,r,0,r.length,0)}if(i.fsync!==false){if(i.fsyncWait!==false){await fs.retry.fsync(o)(h)}else{fs.attempt.fsync(h)}}await fs.retry.close(o)(h);h=null;if(i.chown&&(i.chown.uid!==DEFAULT_USER_UID||i.chown.gid!==DEFAULT_USER_GID)){await fs.attempt.chown(u,i.chown.uid,i.chown.gid)}if(i.mode&&i.mode!==DEFAULT_FILE_MODE){await fs.attempt.chmod(u,i.mode)}try{await fs.retry.rename(o)(u,t)}catch(r){if(!isException(r))throw r;if(r.code!=="ENAMETOOLONG")throw r;await fs.retry.rename(o)(u,Temp.truncate(t))}l();u=null}finally{if(h)await fs.attempt.close(h);if(u)Temp.purge(u);if(a)a();if(c)c()}}function writeFileSync(t,i,o=z){if(lang_isString(o))return writeFileSync(t,i,{encoding:o});const a=Date.now()+((o.timeout??Y)||-1);let c=null;let l=null;let u=null;try{const h=U.attempt.realpathSync(t);const d=!!h;t=h||t;[l,c]=he.get(t,o.tmpCreate||he.create,!(o.tmpPurge===false));const p=Z&&lang_isUndefined(o.chown);const m=lang_isUndefined(o.mode);if(d&&(p||m)){const r=U.attempt.statSync(t);if(r){o={...o};if(p){o.chown={uid:r.uid,gid:r.gid}}if(m){o.mode=r.mode}}}if(!d){const i=r.dirname(t);U.attempt.mkdirSync(i,{mode:V,recursive:true})}u=U.retry.openSync(a)(l,"w",o.mode||H);if(o.tmpCreated){o.tmpCreated(l)}if(lang_isString(i)){U.retry.writeSync(a)(u,i,0,o.encoding||B)}else if(!lang_isUndefined(i)){U.retry.writeSync(a)(u,i,0,i.length,0)}if(o.fsync!==false){if(o.fsyncWait!==false){U.retry.fsyncSync(a)(u)}else{U.attempt.fsync(u)}}U.retry.closeSync(a)(u);u=null;if(o.chown&&(o.chown.uid!==q||o.chown.gid!==W)){U.attempt.chownSync(l,o.chown.uid,o.chown.gid)}if(o.mode&&o.mode!==H){U.attempt.chmodSync(l,o.mode)}try{U.retry.renameSync(a)(l,t)}catch(r){if(!lang_isException(r))throw r;if(r.code!=="ENAMETOOLONG")throw r;U.retry.renameSync(a)(l,he.truncate(t))}c();l=null}finally{if(u)U.attempt.closeSync(u);if(l)he.purge(l)}}var de=__nccwpck_require__(9410);var fe=__nccwpck_require__(1998);const copyProperty=(t,r,i,o)=>{if(i==="length"||i==="prototype"){return}if(i==="arguments"||i==="caller"){return}const a=Object.getOwnPropertyDescriptor(t,i);const c=Object.getOwnPropertyDescriptor(r,i);if(!canCopyProperty(a,c)&&o){return}Object.defineProperty(t,i,c)};const canCopyProperty=function(t,r){return t===undefined||t.configurable||t.writable===r.writable&&t.enumerable===r.enumerable&&t.configurable===r.configurable&&(t.writable||t.value===r.value)};const changePrototype=(t,r)=>{const i=Object.getPrototypeOf(r);if(i===Object.getPrototypeOf(t)){return}Object.setPrototypeOf(t,i)};const wrappedToString=(t,r)=>`/* Wrapped ${t}*/\n${r}`;const pe=Object.getOwnPropertyDescriptor(Function.prototype,"toString");const me=Object.getOwnPropertyDescriptor(Function.prototype.toString,"name");const changeToString=(t,r,i)=>{const o=i===""?"":`with ${i.trim()}() `;const a=wrappedToString.bind(null,o,r.toString());Object.defineProperty(a,"name",me);const{writable:c,enumerable:l,configurable:u}=pe;Object.defineProperty(t,"toString",{value:a,writable:c,enumerable:l,configurable:u})};function mimicFunction(t,r,{ignoreNonConfigurable:i=false}={}){const{name:o}=t;for(const o of Reflect.ownKeys(r)){copyProperty(t,r,o,i)}changePrototype(t,r);changeToString(t,r,o);return t}const debounceFunction=(t,r={})=>{if(typeof t!=="function"){throw new TypeError(`Expected the first argument to be a function, got \`${typeof t}\``)}const{wait:i=0,maxWait:o=Number.POSITIVE_INFINITY,before:a=false,after:c=true}=r;if(i<0||o<0){throw new RangeError("`wait` and `maxWait` must not be negative.")}if(!a&&!c){throw new Error("Both `before` and `after` are false, function wouldn't be called.")}let l;let u;let h;const debouncedFunction=function(...r){const d=this;const later=()=>{l=undefined;if(u){clearTimeout(u);u=undefined}if(c){h=t.apply(d,r)}};const maxLater=()=>{u=undefined;if(l){clearTimeout(l);l=undefined}if(c){h=t.apply(d,r)}};const p=a&&!l;clearTimeout(l);l=setTimeout(later,i);if(o>0&&o!==Number.POSITIVE_INFINITY&&!u){u=setTimeout(maxLater,o)}if(p){h=t.apply(d,r)}return h};mimicFunction(debouncedFunction,t);debouncedFunction.cancel=()=>{if(l){clearTimeout(l);l=undefined}if(u){clearTimeout(u);u=undefined}};return debouncedFunction};const ge=debounceFunction;var ye=__nccwpck_require__(4545);const _e=Object.prototype.toString;const ve="[object Uint8Array]";const be="[object ArrayBuffer]";function isType(t,r,i){if(!t){return false}if(t.constructor===r){return true}return _e.call(t)===i}function isUint8Array(t){return isType(t,Uint8Array,ve)}function isArrayBuffer(t){return isType(t,ArrayBuffer,be)}function isUint8ArrayOrArrayBuffer(t){return isUint8Array(t)||isArrayBuffer(t)}function assertUint8Array(t){if(!isUint8Array(t)){throw new TypeError(`Expected \`Uint8Array\`, got \`${typeof t}\``)}}function assertUint8ArrayOrArrayBuffer(t){if(!isUint8ArrayOrArrayBuffer(t)){throw new TypeError(`Expected \`Uint8Array\` or \`ArrayBuffer\`, got \`${typeof t}\``)}}function toUint8Array(t){if(t instanceof ArrayBuffer){return new Uint8Array(t)}if(ArrayBuffer.isView(t)){return new Uint8Array(t.buffer,t.byteOffset,t.byteLength)}throw new TypeError(`Unsupported value, got \`${typeof t}\`.`)}function concatUint8Arrays(t,r){if(t.length===0){return new Uint8Array(0)}r??=t.reduce(((t,r)=>t+r.length),0);const i=new Uint8Array(r);let o=0;for(const r of t){assertUint8Array(r);i.set(r,o);o+=r.length}return i}function areUint8ArraysEqual(t,r){assertUint8Array(t);assertUint8Array(r);if(t===r){return true}if(t.length!==r.length){return false}for(let i=0;i<t.length;i++){if(t[i]!==r[i]){return false}}return true}function compareUint8Arrays(t,r){assertUint8Array(t);assertUint8Array(r);const i=Math.min(t.length,r.length);for(let o=0;o<i;o++){const i=t[o]-r[o];if(i!==0){return Math.sign(i)}}return Math.sign(t.length-r.length)}const we={utf8:new globalThis.TextDecoder("utf8")};function uint8ArrayToString(t,r="utf8"){assertUint8ArrayOrArrayBuffer(t);we[r]??=new globalThis.TextDecoder(r);return we[r].decode(t)}function assertString(t){if(typeof t!=="string"){throw new TypeError(`Expected \`string\`, got \`${typeof t}\``)}}const Ee=new globalThis.TextEncoder;function stringToUint8Array(t){assertString(t);return Ee.encode(t)}function base64ToBase64Url(t){return t.replaceAll("+","-").replaceAll("/","_").replace(/=+$/,"")}function base64UrlToBase64(t){return t.replaceAll("-","+").replaceAll("_","/")}const Se=65535;function uint8ArrayToBase64(t,{urlSafe:r=false}={}){assertUint8Array(t);let i;if(t.length<Se){i=globalThis.btoa(String.fromCodePoint.apply(this,t))}else{i="";for(const r of t){i+=String.fromCodePoint(r)}i=globalThis.btoa(i)}return r?base64ToBase64Url(i):i}function base64ToUint8Array(t){assertString(t);return Uint8Array.from(globalThis.atob(base64UrlToBase64(t)),(t=>t.codePointAt(0)))}function stringToBase64(t,{urlSafe:r=false}={}){assertString(t);return uint8ArrayToBase64(stringToUint8Array(t),{urlSafe:r})}function base64ToString(t){assertString(t);return uint8ArrayToString(base64ToUint8Array(t))}const $e=Array.from({length:256},((t,r)=>r.toString(16).padStart(2,"0")));function uint8ArrayToHex(t){assertUint8Array(t);let r="";for(let i=0;i<t.length;i++){r+=$e[t[i]]}return r}const Re={0:0,1:1,2:2,3:3,4:4,5:5,6:6,7:7,8:8,9:9,a:10,b:11,c:12,d:13,e:14,f:15,A:10,B:11,C:12,D:13,E:14,F:15};function hexToUint8Array(t){assertString(t);if(t.length%2!==0){throw new Error("Invalid Hex string length.")}const r=t.length/2;const i=new Uint8Array(r);for(let o=0;o<r;o++){const r=Re[t[o*2]];const a=Re[t[o*2+1]];if(r===undefined||a===undefined){throw new Error(`Invalid Hex character encountered at position ${o*2}`)}i[o]=r<<4|a}return i}function getUintBE(t){const{byteLength:r}=t;if(r===6){return t.getUint16(0)*2**32+t.getUint32(2)}if(r===5){return t.getUint8(0)*2**32+t.getUint32(1)}if(r===4){return t.getUint32(0)}if(r===3){return t.getUint8(0)*2**16+t.getUint16(1)}if(r===2){return t.getUint16(0)}if(r===1){return t.getUint8(0)}}function indexOf(t,r){const i=t.length;const o=r.length;if(o===0){return-1}if(o>i){return-1}const a=i-o;for(let i=0;i<=a;i++){let a=true;for(let c=0;c<o;c++){if(t[i+c]!==r[c]){a=false;break}}if(a){return i}}return-1}function includes(t,r){return indexOf(t,r)!==-1}const Oe=fe["default"];const Pe="aes-256-cbc";const createPlainObject=()=>Object.create(null);const isExist=t=>t!==undefined&&t!==null;const checkValueType=(t,r)=>{const i=new Set(["undefined","symbol","function"]);const o=typeof r;if(i.has(o)){throw new TypeError(`Setting a value of type \`${o}\` for key \`${t}\` is not allowed as it's not supported by JSON`)}};const Ae="__internal__";const xe=`${Ae}.migrations.version`;class Conf{path;events;#e;#t;#r;#s={};constructor(t={}){const i={configName:"config",fileExtension:"json",projectSuffix:"nodejs",clearInvalidConfig:false,accessPropertiesByDotNotation:true,configFileMode:438,...t};if(!i.cwd){if(!i.projectName){throw new Error("Please specify the `projectName` option.")}i.cwd=envPaths(i.projectName,{suffix:i.projectSuffix}).config}this.#r=i;if(i.schema??i.ajvOptions??i.rootSchema){if(i.schema&&typeof i.schema!=="object"){throw new TypeError("The `schema` option must be an object.")}const t=new de.Ajv2020({allErrors:true,useDefaults:true,...i.ajvOptions});Oe(t);const r={...i.rootSchema,type:"object",properties:i.schema};this.#e=t.compile(r);for(const[t,r]of Object.entries(i.schema??{})){if(r?.default){this.#s[t]=r.default}}}if(i.defaults){this.#s={...this.#s,...i.defaults}}if(i.serialize){this._serialize=i.serialize}if(i.deserialize){this._deserialize=i.deserialize}this.events=new EventTarget;this.#t=i.encryptionKey;const o=i.fileExtension?`.${i.fileExtension}`:"";this.path=r.resolve(i.cwd,`${i.configName??"config"}${o}`);const a=this.store;const c=Object.assign(createPlainObject(),i.defaults,a);if(i.migrations){if(!i.projectVersion){throw new Error("Please specify the `projectVersion` option.")}this._migrate(i.migrations,i.projectVersion,i.beforeEachMigration)}this._validate(c);try{R.deepEqual(a,c)}catch{this.store=c}if(i.watch){this._watch()}}get(t,r){if(this.#r.accessPropertiesByDotNotation){return this._get(t,r)}const{store:i}=this;return t in i?i[t]:r}set(t,r){if(typeof t!=="string"&&typeof t!=="object"){throw new TypeError(`Expected \`key\` to be of type \`string\` or \`object\`, got ${typeof t}`)}if(typeof t!=="object"&&r===undefined){throw new TypeError("Use `delete()` to clear values")}if(this._containsReservedKey(t)){throw new TypeError(`Please don't use the ${Ae} key, as it's used to manage this module internal operations.`)}const{store:i}=this;const set=(t,r)=>{checkValueType(t,r);if(this.#r.accessPropertiesByDotNotation){setProperty(i,t,r)}else{i[t]=r}};if(typeof t==="object"){const r=t;for(const[t,i]of Object.entries(r)){set(t,i)}}else{set(t,r)}this.store=i}has(t){if(this.#r.accessPropertiesByDotNotation){return hasProperty(this.store,t)}return t in this.store}reset(...t){for(const r of t){if(isExist(this.#s[r])){this.set(r,this.#s[r])}}}delete(t){const{store:r}=this;if(this.#r.accessPropertiesByDotNotation){deleteProperty(r,t)}else{delete r[t]}this.store=r}clear(){this.store=createPlainObject();for(const t of Object.keys(this.#s)){this.reset(t)}}onDidChange(t,r){if(typeof t!=="string"){throw new TypeError(`Expected \`key\` to be of type \`string\`, got ${typeof t}`)}if(typeof r!=="function"){throw new TypeError(`Expected \`callback\` to be of type \`function\`, got ${typeof r}`)}return this._handleChange((()=>this.get(t)),r)}onDidAnyChange(t){if(typeof t!=="function"){throw new TypeError(`Expected \`callback\` to be of type \`function\`, got ${typeof t}`)}return this._handleChange((()=>this.store),t)}get size(){return Object.keys(this.store).length}get store(){try{const r=t.readFileSync(this.path,this.#t?null:"utf8");const i=this._encryptData(r);const o=this._deserialize(i);this._validate(o);return Object.assign(createPlainObject(),o)}catch(t){if(t?.code==="ENOENT"){this._ensureDirectory();return createPlainObject()}if(this.#r.clearInvalidConfig&&t.name==="SyntaxError"){return createPlainObject()}throw t}}set store(t){this._ensureDirectory();this._validate(t);this._write(t);this.events.dispatchEvent(new Event("change"))}*[Symbol.iterator](){for(const[t,r]of Object.entries(this.store)){yield[t,r]}}_encryptData(t){if(!this.#t){return typeof t==="string"?t:uint8ArrayToString(t)}try{const r=t.slice(0,16);const i=$.pbkdf2Sync(this.#t,r.toString(),1e4,32,"sha512");const o=$.createDecipheriv(Pe,i,r);const a=t.slice(17);const c=typeof a==="string"?stringToUint8Array(a):a;return uint8ArrayToString(concatUint8Arrays([o.update(c),o.final()]))}catch{}return t.toString()}_handleChange(t,r){let i=t();const onChange=()=>{const o=i;const a=t();if((0,E.isDeepStrictEqual)(a,o)){return}i=a;r.call(this,a,o)};this.events.addEventListener("change",onChange);return()=>{this.events.removeEventListener("change",onChange)}}_deserialize=t=>JSON.parse(t);_serialize=t=>JSON.stringify(t,undefined,"\t");_validate(t){if(!this.#e){return}const r=this.#e(t);if(r||!this.#e.errors){return}const i=this.#e.errors.map((({instancePath:t,message:r=""})=>`\`${t.slice(1)}\` ${r}`));throw new Error("Config schema violation: "+i.join("; "))}_ensureDirectory(){t.mkdirSync(r.dirname(this.path),{recursive:true})}_write(r){let i=this._serialize(r);if(this.#t){const t=$.randomBytes(16);const r=$.pbkdf2Sync(this.#t,t.toString(),1e4,32,"sha512");const o=$.createCipheriv(Pe,r,t);i=concatUint8Arrays([t,stringToUint8Array(":"),o.update(stringToUint8Array(i)),o.final()])}if(S.env.SNAP){t.writeFileSync(this.path,i,{mode:this.#r.configFileMode})}else{try{writeFileSync(this.path,i,{mode:this.#r.configFileMode})}catch(r){if(r?.code==="EXDEV"){t.writeFileSync(this.path,i,{mode:this.#r.configFileMode});return}throw r}}}_watch(){this._ensureDirectory();if(!t.existsSync(this.path)){this._write(createPlainObject())}if(S.platform==="win32"){t.watch(this.path,{persistent:false},ge((()=>{this.events.dispatchEvent(new Event("change"))}),{wait:100}))}else{t.watchFile(this.path,{persistent:false},ge((()=>{this.events.dispatchEvent(new Event("change"))}),{wait:5e3}))}}_migrate(t,r,i){let o=this._get(xe,"0.0.0");const a=Object.keys(t).filter((t=>this._shouldPerformMigration(t,o,r)));let c={...this.store};for(const l of a){try{if(i){i(this,{fromVersion:o,toVersion:l,finalVersion:r,versions:a})}const u=t[l];u?.(this);this._set(xe,l);o=l;c={...this.store}}catch(t){this.store=c;throw new Error(`Something went wrong during the migration! Changes applied to the store until this failed migration will be restored. ${t}`)}}if(this._isVersionInRangeFormat(o)||!ye.eq(o,r)){this._set(xe,r)}}_containsReservedKey(t){if(typeof t==="object"){const r=Object.keys(t)[0];if(r===Ae){return true}}if(typeof t!=="string"){return false}if(this.#r.accessPropertiesByDotNotation){if(t.startsWith(`${Ae}.`)){return true}return false}return false}_isVersionInRangeFormat(t){return ye.clean(t)===null}_shouldPerformMigration(t,r,i){if(this._isVersionInRangeFormat(t)){if(r!=="0.0.0"&&ye.satisfies(r,t)){return false}return ye.satisfies(i,t)}if(ye.lte(t,r)){return false}if(ye.gt(t,i)){return false}return true}_get(t,r){return getProperty(this.store,t,r)}_set(t,r){const{store:i}=this;setProperty(i,t,r);this.store=i}}var Te=__nccwpck_require__(9456);var ke=__nccwpck_require__(3792);var Ce=__nccwpck_require__.n(ke);var Ie=__nccwpck_require__(8226);var Ne=__nccwpck_require__.n(Ie);var De=__nccwpck_require__(699);var Le=__nccwpck_require__.n(De);const Me=require("node:stream");const je=require("node:stream/promises");var Fe=__nccwpck_require__(4434);var Ue=__nccwpck_require__(9896);var Be=__nccwpck_require__(8474);const He=require("node:string_decoder");const Ve=typeof process==="object"&&process?process:{stdout:null,stderr:null};const isStream=t=>!!t&&typeof t==="object"&&(t instanceof Minipass||t instanceof Me||isReadable(t)||isWritable(t));const isReadable=t=>!!t&&typeof t==="object"&&t instanceof Be.EventEmitter&&typeof t.pipe==="function"&&t.pipe!==Me.Writable.prototype.pipe;const isWritable=t=>!!t&&typeof t==="object"&&t instanceof Be.EventEmitter&&typeof t.write==="function"&&typeof t.end==="function";const Ge=Symbol("EOF");const ze=Symbol("maybeEmitEnd");const qe=Symbol("emittedEnd");const We=Symbol("emittingEnd");const Ke=Symbol("emittedError");const Ye=Symbol("closed");const Ze=Symbol("read");const Xe=Symbol("flush");const Je=Symbol("flushChunk");const Qe=Symbol("encoding");const et=Symbol("decoder");const tt=Symbol("flowing");const rt=Symbol("paused");const st=Symbol("resume");const nt=Symbol("buffer");const it=Symbol("pipes");const ot=Symbol("bufferLength");const at=Symbol("bufferPush");const ct=Symbol("bufferShift");const ut=Symbol("objectMode");const ht=Symbol("destroyed");const dt=Symbol("error");const ft=Symbol("emitData");const pt=Symbol("emitEnd");const mt=Symbol("emitEnd2");const yt=Symbol("async");const _t=Symbol("abort");const vt=Symbol("aborted");const bt=Symbol("signal");const wt=Symbol("dataListeners");const Et=Symbol("discarded");const defer=t=>Promise.resolve().then(t);const nodefer=t=>t();const isEndish=t=>t==="end"||t==="finish"||t==="prefinish";const isArrayBufferLike=t=>t instanceof ArrayBuffer||!!t&&typeof t==="object"&&t.constructor&&t.constructor.name==="ArrayBuffer"&&t.byteLength>=0;const isArrayBufferView=t=>!Buffer.isBuffer(t)&&ArrayBuffer.isView(t);class Pipe{src;dest;opts;ondrain;constructor(t,r,i){this.src=t;this.dest=r;this.opts=i;this.ondrain=()=>t[st]();this.dest.on("drain",this.ondrain)}unpipe(){this.dest.removeListener("drain",this.ondrain)}proxyErrors(t){}end(){this.unpipe();if(this.opts.end)this.dest.end()}}class PipeProxyErrors extends Pipe{unpipe(){this.src.removeListener("error",this.proxyErrors);super.unpipe()}constructor(t,r,i){super(t,r,i);this.proxyErrors=t=>r.emit("error",t);t.on("error",this.proxyErrors)}}const isObjectModeOptions=t=>!!t.objectMode;const isEncodingOptions=t=>!t.objectMode&&!!t.encoding&&t.encoding!=="buffer";class Minipass extends Be.EventEmitter{[tt]=false;[rt]=false;[it]=[];[nt]=[];[ut];[Qe];[yt];[et];[Ge]=false;[qe]=false;[We]=false;[Ye]=false;[Ke]=null;[ot]=0;[ht]=false;[bt];[vt]=false;[wt]=0;[Et]=false;writable=true;readable=true;constructor(...t){const r=t[0]||{};super();if(r.objectMode&&typeof r.encoding==="string"){throw new TypeError("Encoding and objectMode may not be used together")}if(isObjectModeOptions(r)){this[ut]=true;this[Qe]=null}else if(isEncodingOptions(r)){this[Qe]=r.encoding;this[ut]=false}else{this[ut]=false;this[Qe]=null}this[yt]=!!r.async;this[et]=this[Qe]?new He.StringDecoder(this[Qe]):null;if(r&&r.debugExposeBuffer===true){Object.defineProperty(this,"buffer",{get:()=>this[nt]})}if(r&&r.debugExposePipes===true){Object.defineProperty(this,"pipes",{get:()=>this[it]})}const{signal:i}=r;if(i){this[bt]=i;if(i.aborted){this[_t]()}else{i.addEventListener("abort",(()=>this[_t]()))}}}get bufferLength(){return this[ot]}get encoding(){return this[Qe]}set encoding(t){throw new Error("Encoding must be set at instantiation time")}setEncoding(t){throw new Error("Encoding must be set at instantiation time")}get objectMode(){return this[ut]}set objectMode(t){throw new Error("objectMode must be set at instantiation time")}get["async"](){return this[yt]}set["async"](t){this[yt]=this[yt]||!!t}[_t](){this[vt]=true;this.emit("abort",this[bt]?.reason);this.destroy(this[bt]?.reason)}get aborted(){return this[vt]}set aborted(t){}write(t,r,i){if(this[vt])return false;if(this[Ge])throw new Error("write after end");if(this[ht]){this.emit("error",Object.assign(new Error("Cannot call write after a stream was destroyed"),{code:"ERR_STREAM_DESTROYED"}));return true}if(typeof r==="function"){i=r;r="utf8"}if(!r)r="utf8";const o=this[yt]?defer:nodefer;if(!this[ut]&&!Buffer.isBuffer(t)){if(isArrayBufferView(t)){t=Buffer.from(t.buffer,t.byteOffset,t.byteLength)}else if(isArrayBufferLike(t)){t=Buffer.from(t)}else if(typeof t!=="string"){throw new Error("Non-contiguous data written to non-objectMode stream")}}if(this[ut]){if(this[tt]&&this[ot]!==0)this[Xe](true);if(this[tt])this.emit("data",t);else this[at](t);if(this[ot]!==0)this.emit("readable");if(i)o(i);return this[tt]}if(!t.length){if(this[ot]!==0)this.emit("readable");if(i)o(i);return this[tt]}if(typeof t==="string"&&!(r===this[Qe]&&!this[et]?.lastNeed)){t=Buffer.from(t,r)}if(Buffer.isBuffer(t)&&this[Qe]){t=this[et].write(t)}if(this[tt]&&this[ot]!==0)this[Xe](true);if(this[tt])this.emit("data",t);else this[at](t);if(this[ot]!==0)this.emit("readable");if(i)o(i);return this[tt]}read(t){if(this[ht])return null;this[Et]=false;if(this[ot]===0||t===0||t&&t>this[ot]){this[ze]();return null}if(this[ut])t=null;if(this[nt].length>1&&!this[ut]){this[nt]=[this[Qe]?this[nt].join(""):Buffer.concat(this[nt],this[ot])]}const r=this[Ze](t||null,this[nt][0]);this[ze]();return r}[Ze](t,r){if(this[ut])this[ct]();else{const i=r;if(t===i.length||t===null)this[ct]();else if(typeof i==="string"){this[nt][0]=i.slice(t);r=i.slice(0,t);this[ot]-=t}else{this[nt][0]=i.subarray(t);r=i.subarray(0,t);this[ot]-=t}}this.emit("data",r);if(!this[nt].length&&!this[Ge])this.emit("drain");return r}end(t,r,i){if(typeof t==="function"){i=t;t=undefined}if(typeof r==="function"){i=r;r="utf8"}if(t!==undefined)this.write(t,r);if(i)this.once("end",i);this[Ge]=true;this.writable=false;if(this[tt]||!this[rt])this[ze]();return this}[st](){if(this[ht])return;if(!this[wt]&&!this[it].length){this[Et]=true}this[rt]=false;this[tt]=true;this.emit("resume");if(this[nt].length)this[Xe]();else if(this[Ge])this[ze]();else this.emit("drain")}resume(){return this[st]()}pause(){this[tt]=false;this[rt]=true;this[Et]=false}get destroyed(){return this[ht]}get flowing(){return this[tt]}get paused(){return this[rt]}[at](t){if(this[ut])this[ot]+=1;else this[ot]+=t.length;this[nt].push(t)}[ct](){if(this[ut])this[ot]-=1;else this[ot]-=this[nt][0].length;return this[nt].shift()}[Xe](t=false){do{}while(this[Je](this[ct]())&&this[nt].length);if(!t&&!this[nt].length&&!this[Ge])this.emit("drain")}[Je](t){this.emit("data",t);return this[tt]}pipe(t,r){if(this[ht])return t;this[Et]=false;const i=this[qe];r=r||{};if(t===Ve.stdout||t===Ve.stderr)r.end=false;else r.end=r.end!==false;r.proxyErrors=!!r.proxyErrors;if(i){if(r.end)t.end()}else{this[it].push(!r.proxyErrors?new Pipe(this,t,r):new PipeProxyErrors(this,t,r));if(this[yt])defer((()=>this[st]()));else this[st]()}return t}unpipe(t){const r=this[it].find((r=>r.dest===t));if(r){if(this[it].length===1){if(this[tt]&&this[wt]===0){this[tt]=false}this[it]=[]}else this[it].splice(this[it].indexOf(r),1);r.unpipe()}}addListener(t,r){return this.on(t,r)}on(t,r){const i=super.on(t,r);if(t==="data"){this[Et]=false;this[wt]++;if(!this[it].length&&!this[tt]){this[st]()}}else if(t==="readable"&&this[ot]!==0){super.emit("readable")}else if(isEndish(t)&&this[qe]){super.emit(t);this.removeAllListeners(t)}else if(t==="error"&&this[Ke]){const t=r;if(this[yt])defer((()=>t.call(this,this[Ke])));else t.call(this,this[Ke])}return i}removeListener(t,r){return this.off(t,r)}off(t,r){const i=super.off(t,r);if(t==="data"){this[wt]=this.listeners("data").length;if(this[wt]===0&&!this[Et]&&!this[it].length){this[tt]=false}}return i}removeAllListeners(t){const r=super.removeAllListeners(t);if(t==="data"||t===undefined){this[wt]=0;if(!this[Et]&&!this[it].length){this[tt]=false}}return r}get emittedEnd(){return this[qe]}[ze](){if(!this[We]&&!this[qe]&&!this[ht]&&this[nt].length===0&&this[Ge]){this[We]=true;this.emit("end");this.emit("prefinish");this.emit("finish");if(this[Ye])this.emit("close");this[We]=false}}emit(t,...r){const i=r[0];if(t!=="error"&&t!=="close"&&t!==ht&&this[ht]){return false}else if(t==="data"){return!this[ut]&&!i?false:this[yt]?(defer((()=>this[ft](i))),true):this[ft](i)}else if(t==="end"){return this[pt]()}else if(t==="close"){this[Ye]=true;if(!this[qe]&&!this[ht])return false;const t=super.emit("close");this.removeAllListeners("close");return t}else if(t==="error"){this[Ke]=i;super.emit(dt,i);const t=!this[bt]||this.listeners("error").length?super.emit("error",i):false;this[ze]();return t}else if(t==="resume"){const t=super.emit("resume");this[ze]();return t}else if(t==="finish"||t==="prefinish"){const r=super.emit(t);this.removeAllListeners(t);return r}const o=super.emit(t,...r);this[ze]();return o}[ft](t){for(const r of this[it]){if(r.dest.write(t)===false)this.pause()}const r=this[Et]?false:super.emit("data",t);this[ze]();return r}[pt](){if(this[qe])return false;this[qe]=true;this.readable=false;return this[yt]?(defer((()=>this[mt]())),true):this[mt]()}[mt](){if(this[et]){const t=this[et].end();if(t){for(const r of this[it]){r.dest.write(t)}if(!this[Et])super.emit("data",t)}}for(const t of this[it]){t.end()}const t=super.emit("end");this.removeAllListeners("end");return t}async collect(){const t=Object.assign([],{dataLength:0});if(!this[ut])t.dataLength=0;const r=this.promise();this.on("data",(r=>{t.push(r);if(!this[ut])t.dataLength+=r.length}));await r;return t}async concat(){if(this[ut]){throw new Error("cannot concat in objectMode")}const t=await this.collect();return this[Qe]?t.join(""):Buffer.concat(t,t.dataLength)}async promise(){return new Promise(((t,r)=>{this.on(ht,(()=>r(new Error("stream destroyed"))));this.on("error",(t=>r(t)));this.on("end",(()=>t()))}))}[Symbol.asyncIterator](){this[Et]=false;let t=false;const stop=async()=>{this.pause();t=true;return{value:undefined,done:true}};const next=()=>{if(t)return stop();const r=this.read();if(r!==null)return Promise.resolve({done:false,value:r});if(this[Ge])return stop();let i;let o;const onerr=t=>{this.off("data",ondata);this.off("end",onend);this.off(ht,ondestroy);stop();o(t)};const ondata=t=>{this.off("error",onerr);this.off("end",onend);this.off(ht,ondestroy);this.pause();i({value:t,done:!!this[Ge]})};const onend=()=>{this.off("error",onerr);this.off("data",ondata);this.off(ht,ondestroy);stop();i({done:true,value:undefined})};const ondestroy=()=>onerr(new Error("stream destroyed"));return new Promise(((t,r)=>{o=r;i=t;this.once(ht,ondestroy);this.once("error",onerr);this.once("end",onend);this.once("data",ondata)}))};return{next:next,throw:stop,return:stop,[Symbol.asyncIterator](){return this}}}[Symbol.iterator](){this[Et]=false;let t=false;const stop=()=>{this.pause();this.off(dt,stop);this.off(ht,stop);this.off("end",stop);t=true;return{done:true,value:undefined}};const next=()=>{if(t)return stop();const r=this.read();return r===null?stop():{done:false,value:r}};this.once("end",stop);this.once(dt,stop);this.once(ht,stop);return{next:next,throw:stop,return:stop,[Symbol.iterator](){return this}}}destroy(t){if(this[ht]){if(t)this.emit("error",t);else this.emit(ht);return this}this[ht]=true;this[Et]=true;this[nt].length=0;this[ot]=0;const r=this;if(typeof r.close==="function"&&!this[Ye])r.close();if(t)this.emit("error",t);else this.emit(ht);return this}static get isStream(){return isStream}}const St=Ue.writev;const $t=Symbol("_autoClose");const Rt=Symbol("_close");const Ot=Symbol("_ended");const Pt=Symbol("_fd");const At=Symbol("_finished");const xt=Symbol("_flags");const Tt=Symbol("_flush");const kt=Symbol("_handleChunk");const Ct=Symbol("_makeBuf");const It=Symbol("_mode");const Nt=Symbol("_needDrain");const Dt=Symbol("_onerror");const Lt=Symbol("_onopen");const Mt=Symbol("_onread");const jt=Symbol("_onwrite");const Ft=Symbol("_open");const Ut=Symbol("_path");const Bt=Symbol("_pos");const Ht=Symbol("_queue");const Vt=Symbol("_read");const Gt=Symbol("_readSize");const zt=Symbol("_reading");const qt=Symbol("_remain");const Wt=Symbol("_size");const Kt=Symbol("_write");const Yt=Symbol("_writing");const Zt=Symbol("_defaultFlag");const Xt=Symbol("_errored");class ReadStream extends Minipass{[Xt]=false;[Pt];[Ut];[Gt];[zt]=false;[Wt];[qt];[$t];constructor(t,r){r=r||{};super(r);this.readable=true;this.writable=false;if(typeof t!=="string"){throw new TypeError("path must be a string")}this[Xt]=false;this[Pt]=typeof r.fd==="number"?r.fd:undefined;this[Ut]=t;this[Gt]=r.readSize||16*1024*1024;this[zt]=false;this[Wt]=typeof r.size==="number"?r.size:Infinity;this[qt]=this[Wt];this[$t]=typeof r.autoClose==="boolean"?r.autoClose:true;if(typeof this[Pt]==="number"){this[Vt]()}else{this[Ft]()}}get fd(){return this[Pt]}get path(){return this[Ut]}write(){throw new TypeError("this is a readable stream")}end(){throw new TypeError("this is a readable stream")}[Ft](){Ue.open(this[Ut],"r",((t,r)=>this[Lt](t,r)))}[Lt](t,r){if(t){this[Dt](t)}else{this[Pt]=r;this.emit("open",r);this[Vt]()}}[Ct](){return Buffer.allocUnsafe(Math.min(this[Gt],this[qt]))}[Vt](){if(!this[zt]){this[zt]=true;const t=this[Ct]();if(t.length===0){return process.nextTick((()=>this[Mt](null,0,t)))}Ue.read(this[Pt],t,0,t.length,null,((t,r,i)=>this[Mt](t,r,i)))}}[Mt](t,r,i){this[zt]=false;if(t){this[Dt](t)}else if(this[kt](r,i)){this[Vt]()}}[Rt](){if(this[$t]&&typeof this[Pt]==="number"){const t=this[Pt];this[Pt]=undefined;Ue.close(t,(t=>t?this.emit("error",t):this.emit("close")))}}[Dt](t){this[zt]=true;this[Rt]();this.emit("error",t)}[kt](t,r){let i=false;this[qt]-=t;if(t>0){i=super.write(t<r.length?r.subarray(0,t):r)}if(t===0||this[qt]<=0){i=false;this[Rt]();super.end()}return i}emit(t,...r){switch(t){case"prefinish":case"finish":return false;case"drain":if(typeof this[Pt]==="number"){this[Vt]()}return false;case"error":if(this[Xt]){return false}this[Xt]=true;return super.emit(t,...r);default:return super.emit(t,...r)}}}class ReadStreamSync extends ReadStream{[Ft](){let t=true;try{this[Lt](null,Ue.openSync(this[Ut],"r"));t=false}finally{if(t){this[Rt]()}}}[Vt](){let t=true;try{if(!this[zt]){this[zt]=true;do{const t=this[Ct]();const r=t.length===0?0:Ue.readSync(this[Pt],t,0,t.length,null);if(!this[kt](r,t)){break}}while(true);this[zt]=false}t=false}finally{if(t){this[Rt]()}}}[Rt](){if(this[$t]&&typeof this[Pt]==="number"){const t=this[Pt];this[Pt]=undefined;Ue.closeSync(t);this.emit("close")}}}class WriteStream extends Fe{readable=false;writable=true;[Xt]=false;[Yt]=false;[Ot]=false;[Ht]=[];[Nt]=false;[Ut];[It];[$t];[Pt];[Zt];[xt];[At]=false;[Bt];constructor(t,r){r=r||{};super(r);this[Ut]=t;this[Pt]=typeof r.fd==="number"?r.fd:undefined;this[It]=r.mode===undefined?438:r.mode;this[Bt]=typeof r.start==="number"?r.start:undefined;this[$t]=typeof r.autoClose==="boolean"?r.autoClose:true;const i=this[Bt]!==undefined?"r+":"w";this[Zt]=r.flags===undefined;this[xt]=r.flags===undefined?i:r.flags;if(this[Pt]===undefined){this[Ft]()}}emit(t,...r){if(t==="error"){if(this[Xt]){return false}this[Xt]=true}return super.emit(t,...r)}get fd(){return this[Pt]}get path(){return this[Ut]}[Dt](t){this[Rt]();this[Yt]=true;this.emit("error",t)}[Ft](){Ue.open(this[Ut],this[xt],this[It],((t,r)=>this[Lt](t,r)))}[Lt](t,r){if(this[Zt]&&this[xt]==="r+"&&t&&t.code==="ENOENT"){this[xt]="w";this[Ft]()}else if(t){this[Dt](t)}else{this[Pt]=r;this.emit("open",r);if(!this[Yt]){this[Tt]()}}}end(t,r){if(t){this.write(t,r)}this[Ot]=true;if(!this[Yt]&&!this[Ht].length&&typeof this[Pt]==="number"){this[jt](null,0)}return this}write(t,r){if(typeof t==="string"){t=Buffer.from(t,r)}if(this[Ot]){this.emit("error",new Error("write() after end()"));return false}if(this[Pt]===undefined||this[Yt]||this[Ht].length){this[Ht].push(t);this[Nt]=true;return false}this[Yt]=true;this[Kt](t);return true}[Kt](t){Ue.write(this[Pt],t,0,t.length,this[Bt],((t,r)=>this[jt](t,r)))}[jt](t,r){if(t){this[Dt](t)}else{if(this[Bt]!==undefined&&typeof r==="number"){this[Bt]+=r}if(this[Ht].length){this[Tt]()}else{this[Yt]=false;if(this[Ot]&&!this[At]){this[At]=true;this[Rt]();this.emit("finish")}else if(this[Nt]){this[Nt]=false;this.emit("drain")}}}}[Tt](){if(this[Ht].length===0){if(this[Ot]){this[jt](null,0)}}else if(this[Ht].length===1){this[Kt](this[Ht].pop())}else{const t=this[Ht];this[Ht]=[];St(this[Pt],t,this[Bt],((t,r)=>this[jt](t,r)))}}[Rt](){if(this[$t]&&typeof this[Pt]==="number"){const t=this[Pt];this[Pt]=undefined;Ue.close(t,(t=>t?this.emit("error",t):this.emit("close")))}}}class WriteStreamSync extends WriteStream{[Ft](){let t;if(this[Zt]&&this[xt]==="r+"){try{t=Ue.openSync(this[Ut],this[xt],this[It])}catch(t){if(t?.code==="ENOENT"){this[xt]="w";return this[Ft]()}else{throw t}}}else{t=Ue.openSync(this[Ut],this[xt],this[It])}this[Lt](null,t)}[Rt](){if(this[$t]&&typeof this[Pt]==="number"){const t=this[Pt];this[Pt]=undefined;Ue.closeSync(t);this.emit("close")}}[Kt](t){let r=true;try{this[jt](null,Ue.writeSync(this[Pt],t,0,t.length,this[Bt]));r=false}finally{if(r){try{this[Rt]()}catch{}}}}}var Jt=__nccwpck_require__(6928);const Qt=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"],["onentry","onReadEntry"]]);const isSyncFile=t=>!!t.sync&&!!t.file;const isAsyncFile=t=>!t.sync&&!!t.file;const isSyncNoFile=t=>!!t.sync&&!t.file;const isAsyncNoFile=t=>!t.sync&&!t.file;const isSync=t=>!!t.sync;const isAsync=t=>!t.sync;const isFile=t=>!!t.file;const isNoFile=t=>!t.file;const dealiasKey=t=>{const r=Qt.get(t);if(r)return r;return t};const dealias=(t={})=>{if(!t)return{};const r={};for(const[i,o]of Object.entries(t)){const t=dealiasKey(i);r[t]=o}if(r.chmod===undefined&&r.noChmod===false){r.chmod=true}delete r.noChmod;return r};const makeCommand=(t,r,i,o,a)=>Object.assign(((c=[],l,u)=>{if(Array.isArray(c)){l=c;c={}}if(typeof l==="function"){u=l;l=undefined}if(!l){l=[]}else{l=Array.from(l)}const h=dealias(c);a?.(h,l);if(isSyncFile(h)){if(typeof u==="function"){throw new TypeError("callback not supported for sync tar functions")}return t(h,l)}else if(isAsyncFile(h)){const t=r(h,l);const i=u?u:undefined;return i?t.then((()=>i()),i):t}else if(isSyncNoFile(h)){if(typeof u==="function"){throw new TypeError("callback not supported for sync tar functions")}return i(h,l)}else if(isAsyncNoFile(h)){if(typeof u==="function"){throw new TypeError("callback only supported with file option")}return o(h,l)}else{throw new Error("impossible options??")}}),{syncFile:t,asyncFile:r,syncNoFile:i,asyncNoFile:o,validate:a});const er=require("assert");var tr=__nccwpck_require__(181);const rr=require("zlib");const sr=rr.constants||{ZLIB_VERNUM:4736};const nr=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:Infinity,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},sr));const ir=tr.Buffer.concat;const ar=Symbol("_superWrite");class ZlibError extends Error{code;errno;constructor(t){super("zlib: "+t.message);this.code=t.code;this.errno=t.errno;if(!this.code)this.code="ZLIB_ERROR";this.message="zlib: "+t.message;Error.captureStackTrace(this,this.constructor)}get name(){return"ZlibError"}}const cr=Symbol("flushFlag");class ZlibBase extends Minipass{#n=false;#i=false;#o;#a;#c;#l;#u;get sawError(){return this.#n}get handle(){return this.#l}get flushFlag(){return this.#o}constructor(t,r){if(!t||typeof t!=="object")throw new TypeError("invalid options for ZlibBase constructor");super(t);this.#o=t.flush??0;this.#a=t.finishFlush??0;this.#c=t.fullFlushFlag??0;try{this.#l=new rr[r](t)}catch(t){throw new ZlibError(t)}this.#u=t=>{if(this.#n)return;this.#n=true;this.close();this.emit("error",t)};this.#l?.on("error",(t=>this.#u(new ZlibError(t))));this.once("end",(()=>this.close))}close(){if(this.#l){this.#l.close();this.#l=undefined;this.emit("close")}}reset(){if(!this.#n){er(this.#l,"zlib binding closed");return this.#l.reset?.()}}flush(t){if(this.ended)return;if(typeof t!=="number")t=this.#c;this.write(Object.assign(tr.Buffer.alloc(0),{[cr]:t}))}end(t,r,i){if(typeof t==="function"){i=t;r=undefined;t=undefined}if(typeof r==="function"){i=r;r=undefined}if(t){if(r)this.write(t,r);else this.write(t)}this.flush(this.#a);this.#i=true;return super.end(i)}get ended(){return this.#i}[ar](t){return super.write(t)}write(t,r,i){if(typeof r==="function")i=r,r="utf8";if(typeof t==="string")t=tr.Buffer.from(t,r);if(this.#n)return;er(this.#l,"zlib binding closed");const o=this.#l._handle;const a=o.close;o.close=()=>{};const c=this.#l.close;this.#l.close=()=>{};tr.Buffer.concat=t=>t;let l=undefined;try{const r=typeof t[cr]==="number"?t[cr]:this.#o;l=this.#l._processChunk(t,r);tr.Buffer.concat=ir}catch(t){tr.Buffer.concat=ir;this.#u(new ZlibError(t))}finally{if(this.#l){this.#l._handle=o;o.close=a;this.#l.close=c;this.#l.removeAllListeners("error")}}if(this.#l)this.#l.on("error",(t=>this.#u(new ZlibError(t))));let u;if(l){if(Array.isArray(l)&&l.length>0){const t=l[0];u=this[ar](tr.Buffer.from(t));for(let t=1;t<l.length;t++){u=this[ar](l[t])}}else{u=this[ar](tr.Buffer.from(l))}}if(i)i();return u}}class Zlib extends ZlibBase{#h;#d;constructor(t,r){t=t||{};t.flush=t.flush||nr.Z_NO_FLUSH;t.finishFlush=t.finishFlush||nr.Z_FINISH;t.fullFlushFlag=nr.Z_FULL_FLUSH;super(t,r);this.#h=t.level;this.#d=t.strategy}params(t,r){if(this.sawError)return;if(!this.handle)throw new Error("cannot switch params when binding is closed");if(!this.handle.params)throw new Error("not supported in this implementation");if(this.#h!==t||this.#d!==r){this.flush(nr.Z_SYNC_FLUSH);er(this.handle,"zlib binding closed");const i=this.handle.flush;this.handle.flush=(t,r)=>{if(typeof t==="function"){r=t;t=this.flushFlag}this.flush(t);r?.()};try{this.handle.params(t,r)}finally{this.handle.flush=i}if(this.handle){this.#h=t;this.#d=r}}}}class Deflate extends Zlib{constructor(t){super(t,"Deflate")}}class Inflate extends Zlib{constructor(t){super(t,"Inflate")}}class Gzip extends Zlib{#f;constructor(t){super(t,"Gzip");this.#f=t&&!!t.portable}[ar](t){if(!this.#f)return super[ar](t);this.#f=false;t[9]=255;return super[ar](t)}}class Gunzip extends Zlib{constructor(t){super(t,"Gunzip")}}class DeflateRaw extends Zlib{constructor(t){super(t,"DeflateRaw")}}class InflateRaw extends Zlib{constructor(t){super(t,"InflateRaw")}}class Unzip extends Zlib{constructor(t){super(t,"Unzip")}}class Brotli extends ZlibBase{constructor(t,r){t=t||{};t.flush=t.flush||nr.BROTLI_OPERATION_PROCESS;t.finishFlush=t.finishFlush||nr.BROTLI_OPERATION_FINISH;t.fullFlushFlag=nr.BROTLI_OPERATION_FLUSH;super(t,r)}}class BrotliCompress extends Brotli{constructor(t){super(t,"BrotliCompress")}}class BrotliDecompress extends Brotli{constructor(t){super(t,"BrotliDecompress")}}class Yallist{tail;head;length=0;static create(t=[]){return new Yallist(t)}constructor(t=[]){for(const r of t){this.push(r)}}*[Symbol.iterator](){for(let t=this.head;t;t=t.next){yield t.value}}removeNode(t){if(t.list!==this){throw new Error("removing node which does not belong to this list")}const r=t.next;const i=t.prev;if(r){r.prev=i}if(i){i.next=r}if(t===this.head){this.head=r}if(t===this.tail){this.tail=i}this.length--;t.next=undefined;t.prev=undefined;t.list=undefined;return r}unshiftNode(t){if(t===this.head){return}if(t.list){t.list.removeNode(t)}const r=this.head;t.list=this;t.next=r;if(r){r.prev=t}this.head=t;if(!this.tail){this.tail=t}this.length++}pushNode(t){if(t===this.tail){return}if(t.list){t.list.removeNode(t)}const r=this.tail;t.list=this;t.prev=r;if(r){r.next=t}this.tail=t;if(!this.head){this.head=t}this.length++}push(...t){for(let r=0,i=t.length;r<i;r++){push(this,t[r])}return this.length}unshift(...t){for(var r=0,i=t.length;r<i;r++){unshift(this,t[r])}return this.length}pop(){if(!this.tail){return undefined}const t=this.tail.value;const r=this.tail;this.tail=this.tail.prev;if(this.tail){this.tail.next=undefined}else{this.head=undefined}r.list=undefined;this.length--;return t}shift(){if(!this.head){return undefined}const t=this.head.value;const r=this.head;this.head=this.head.next;if(this.head){this.head.prev=undefined}else{this.tail=undefined}r.list=undefined;this.length--;return t}forEach(t,r){r=r||this;for(let i=this.head,o=0;!!i;o++){t.call(r,i.value,o,this);i=i.next}}forEachReverse(t,r){r=r||this;for(let i=this.tail,o=this.length-1;!!i;o--){t.call(r,i.value,o,this);i=i.prev}}get(t){let r=0;let i=this.head;for(;!!i&&r<t;r++){i=i.next}if(r===t&&!!i){return i.value}}getReverse(t){let r=0;let i=this.tail;for(;!!i&&r<t;r++){i=i.prev}if(r===t&&!!i){return i.value}}map(t,r){r=r||this;const i=new Yallist;for(let o=this.head;!!o;){i.push(t.call(r,o.value,this));o=o.next}return i}mapReverse(t,r){r=r||this;var i=new Yallist;for(let o=this.tail;!!o;){i.push(t.call(r,o.value,this));o=o.prev}return i}reduce(t,r){let i;let o=this.head;if(arguments.length>1){i=r}else if(this.head){o=this.head.next;i=this.head.value}else{throw new TypeError("Reduce of empty list with no initial value")}for(var a=0;!!o;a++){i=t(i,o.value,a);o=o.next}return i}reduceReverse(t,r){let i;let o=this.tail;if(arguments.length>1){i=r}else if(this.tail){o=this.tail.prev;i=this.tail.value}else{throw new TypeError("Reduce of empty list with no initial value")}for(let r=this.length-1;!!o;r--){i=t(i,o.value,r);o=o.prev}return i}toArray(){const t=new Array(this.length);for(let r=0,i=this.head;!!i;r++){t[r]=i.value;i=i.next}return t}toArrayReverse(){const t=new Array(this.length);for(let r=0,i=this.tail;!!i;r++){t[r]=i.value;i=i.prev}return t}slice(t=0,r=this.length){if(r<0){r+=this.length}if(t<0){t+=this.length}const i=new Yallist;if(r<t||r<0){return i}if(t<0){t=0}if(r>this.length){r=this.length}let o=this.head;let a=0;for(a=0;!!o&&a<t;a++){o=o.next}for(;!!o&&a<r;a++,o=o.next){i.push(o.value)}return i}sliceReverse(t=0,r=this.length){if(r<0){r+=this.length}if(t<0){t+=this.length}const i=new Yallist;if(r<t||r<0){return i}if(t<0){t=0}if(r>this.length){r=this.length}let o=this.length;let a=this.tail;for(;!!a&&o>r;o--){a=a.prev}for(;!!a&&o>t;o--,a=a.prev){i.push(a.value)}return i}splice(t,r=0,...i){if(t>this.length){t=this.length-1}if(t<0){t=this.length+t}let o=this.head;for(let r=0;!!o&&r<t;r++){o=o.next}const a=[];for(let t=0;!!o&&t<r;t++){a.push(o.value);o=this.removeNode(o)}if(!o){o=this.tail}else if(o!==this.tail){o=o.prev}for(const t of i){o=insertAfter(this,o,t)}return a}reverse(){const t=this.head;const r=this.tail;for(let r=t;!!r;r=r.prev){const t=r.prev;r.prev=r.next;r.next=t}this.head=r;this.tail=t;return this}}function insertAfter(t,r,i){const o=r;const a=r?r.next:t.head;const c=new Node(i,o,a,t);if(c.next===undefined){t.tail=c}if(c.prev===undefined){t.head=c}t.length++;return c}function push(t,r){t.tail=new Node(r,t.tail,undefined,t);if(!t.head){t.head=t.tail}t.length++}function unshift(t,r){t.head=new Node(r,undefined,t.head,t);if(!t.tail){t.tail=t.head}t.length++}class Node{list;next;prev;value;constructor(t,r,i,o){this.list=o;this.value=t;if(r){r.next=this;this.prev=r}else{this.prev=undefined}if(i){i.prev=this;this.next=i}else{this.next=undefined}}}const encode=(t,r)=>{if(!Number.isSafeInteger(t)){throw Error("cannot encode number outside of javascript safe integer range")}else if(t<0){encodeNegative(t,r)}else{encodePositive(t,r)}return r};const encodePositive=(t,r)=>{r[0]=128;for(var i=r.length;i>1;i--){r[i-1]=t&255;t=Math.floor(t/256)}};const encodeNegative=(t,r)=>{r[0]=255;var i=false;t=t*-1;for(var o=r.length;o>1;o--){var a=t&255;t=Math.floor(t/256);if(i){r[o-1]=onesComp(a)}else if(a===0){r[o-1]=0}else{i=true;r[o-1]=twosComp(a)}}};const parse=t=>{const r=t[0];const i=r===128?pos(t.subarray(1,t.length)):r===255?twos(t):null;if(i===null){throw Error("invalid base256 encoding")}if(!Number.isSafeInteger(i)){throw Error("parsed number outside of javascript safe integer range")}return i};const twos=t=>{var r=t.length;var i=0;var o=false;for(var a=r-1;a>-1;a--){var c=Number(t[a]);var l;if(o){l=onesComp(c)}else if(c===0){l=c}else{o=true;l=twosComp(c)}if(l!==0){i-=l*Math.pow(256,r-a-1)}}return i};const pos=t=>{var r=t.length;var i=0;for(var o=r-1;o>-1;o--){var a=Number(t[o]);if(a!==0){i+=a*Math.pow(256,r-o-1)}}return i};const onesComp=t=>(255^t)&255;const twosComp=t=>(255^t)+1&255;const isCode=t=>lr.has(t);const isName=t=>ur.has(t);const lr=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"]]);const ur=new Map(Array.from(lr).map((t=>[t[1],t[0]])));class Header{cksumValid=false;needPax=false;nullBlock=false;block;path;mode;uid;gid;size;cksum;#p="Unsupported";linkpath;uname;gname;devmaj=0;devmin=0;atime;ctime;mtime;charset;comment;constructor(t,r=0,i,o){if(Buffer.isBuffer(t)){this.decode(t,r||0,i,o)}else if(t){this.#m(t)}}decode(t,r,i,o){if(!r){r=0}if(!t||!(t.length>=r+512)){throw new Error("need 512 bytes for header")}this.path=decString(t,r,100);this.mode=decNumber(t,r+100,8);this.uid=decNumber(t,r+108,8);this.gid=decNumber(t,r+116,8);this.size=decNumber(t,r+124,12);this.mtime=decDate(t,r+136,12);this.cksum=decNumber(t,r+148,12);if(o)this.#m(o,true);if(i)this.#m(i);const a=decString(t,r+156,1);if(isCode(a)){this.#p=a||"0"}if(this.#p==="0"&&this.path.slice(-1)==="/"){this.#p="5"}if(this.#p==="5"){this.size=0}this.linkpath=decString(t,r+157,100);if(t.subarray(r+257,r+265).toString()==="ustar\x0000"){this.uname=decString(t,r+265,32);this.gname=decString(t,r+297,32);this.devmaj=decNumber(t,r+329,8)??0;this.devmin=decNumber(t,r+337,8)??0;if(t[r+475]!==0){const i=decString(t,r+345,155);this.path=i+"/"+this.path}else{const i=decString(t,r+345,130);if(i){this.path=i+"/"+this.path}this.atime=decDate(t,r+476,12);this.ctime=decDate(t,r+488,12)}}let c=8*32;for(let i=r;i<r+148;i++){c+=t[i]}for(let i=r+156;i<r+512;i++){c+=t[i]}this.cksumValid=c===this.cksum;if(this.cksum===undefined&&c===8*32){this.nullBlock=true}}#m(t,r=false){Object.assign(this,Object.fromEntries(Object.entries(t).filter((([t,i])=>!(i===null||i===undefined||t==="path"&&r||t==="linkpath"&&r||t==="global")))))}encode(t,r=0){if(!t){t=this.block=Buffer.alloc(512)}if(this.#p==="Unsupported"){this.#p="0"}if(!(t.length>=r+512)){throw new Error("need 512 bytes for header")}const i=this.ctime||this.atime?130:155;const o=splitPrefix(this.path||"",i);const a=o[0];const c=o[1];this.needPax=!!o[2];this.needPax=encString(t,r,100,a)||this.needPax;this.needPax=encNumber(t,r+100,8,this.mode)||this.needPax;this.needPax=encNumber(t,r+108,8,this.uid)||this.needPax;this.needPax=encNumber(t,r+116,8,this.gid)||this.needPax;this.needPax=encNumber(t,r+124,12,this.size)||this.needPax;this.needPax=encDate(t,r+136,12,this.mtime)||this.needPax;t[r+156]=this.#p.charCodeAt(0);this.needPax=encString(t,r+157,100,this.linkpath)||this.needPax;t.write("ustar\x0000",r+257,8);this.needPax=encString(t,r+265,32,this.uname)||this.needPax;this.needPax=encString(t,r+297,32,this.gname)||this.needPax;this.needPax=encNumber(t,r+329,8,this.devmaj)||this.needPax;this.needPax=encNumber(t,r+337,8,this.devmin)||this.needPax;this.needPax=encString(t,r+345,i,c)||this.needPax;if(t[r+475]!==0){this.needPax=encString(t,r+345,155,c)||this.needPax}else{this.needPax=encString(t,r+345,130,c)||this.needPax;this.needPax=encDate(t,r+476,12,this.atime)||this.needPax;this.needPax=encDate(t,r+488,12,this.ctime)||this.needPax}let l=8*32;for(let i=r;i<r+148;i++){l+=t[i]}for(let i=r+156;i<r+512;i++){l+=t[i]}this.cksum=l;encNumber(t,r+148,8,this.cksum);this.cksumValid=true;return this.needPax}get type(){return this.#p==="Unsupported"?this.#p:lr.get(this.#p)}get typeKey(){return this.#p}set type(t){const r=String(ur.get(t));if(isCode(r)||r==="Unsupported"){this.#p=r}else if(isCode(t)){this.#p=t}else{throw new TypeError("invalid entry type: "+t)}}}const splitPrefix=(t,i)=>{const o=100;let a=t;let c="";let l=undefined;const u=r.posix.parse(t).root||".";if(Buffer.byteLength(a)<o){l=[a,c,false]}else{c=r.posix.dirname(a);a=r.posix.basename(a);do{if(Buffer.byteLength(a)<=o&&Buffer.byteLength(c)<=i){l=[a,c,false]}else if(Buffer.byteLength(a)>o&&Buffer.byteLength(c)<=i){l=[a.slice(0,o-1),c,true]}else{a=r.posix.join(r.posix.basename(c),a);c=r.posix.dirname(c)}}while(c!==u&&l===undefined);if(!l){l=[t.slice(0,o-1),"",true]}}return l};const decString=(t,r,i)=>t.subarray(r,r+i).toString("utf8").replace(/\0.*/,"");const decDate=(t,r,i)=>numToDate(decNumber(t,r,i));const numToDate=t=>t===undefined?undefined:new Date(t*1e3);const decNumber=(t,r,i)=>Number(t[r])&128?parse(t.subarray(r,r+i)):decSmallNumber(t,r,i);const nanUndef=t=>isNaN(t)?undefined:t;const decSmallNumber=(t,r,i)=>nanUndef(parseInt(t.subarray(r,r+i).toString("utf8").replace(/\0.*$/,"").trim(),8));const hr={12:8589934591,8:2097151};const encNumber=(t,r,i,o)=>o===undefined?false:o>hr[i]||o<0?(encode(o,t.subarray(r,r+i)),true):(encSmallNumber(t,r,i,o),false);const encSmallNumber=(t,r,i,o)=>t.write(octalString(o,i),r,i,"ascii");const octalString=(t,r)=>padOctal(Math.floor(t).toString(8),r);const padOctal=(t,r)=>(t.length===r-1?t:new Array(r-t.length-1).join("0")+t+" ")+"\0";const encDate=(t,r,i,o)=>o===undefined?false:encNumber(t,r,i,o.getTime()/1e3);const dr=new Array(156).join("\0");const encString=(t,r,i,o)=>o===undefined?false:(t.write(o+dr,r,i,"utf8"),o.length!==Buffer.byteLength(o)||o.length>i);class Pax{atime;mtime;ctime;charset;comment;gid;uid;gname;uname;linkpath;dev;ino;nlink;path;size;mode;global;constructor(t,r=false){this.atime=t.atime;this.charset=t.charset;this.comment=t.comment;this.ctime=t.ctime;this.dev=t.dev;this.gid=t.gid;this.global=r;this.gname=t.gname;this.ino=t.ino;this.linkpath=t.linkpath;this.mtime=t.mtime;this.nlink=t.nlink;this.path=t.path;this.size=t.size;this.uid=t.uid;this.uname=t.uname}encode(){const t=this.encodeBody();if(t===""){return Buffer.allocUnsafe(0)}const i=Buffer.byteLength(t);const o=512*Math.ceil(1+i/512);const a=Buffer.allocUnsafe(o);for(let t=0;t<512;t++){a[t]=0}new Header({path:("PaxHeader/"+(0,r.basename)(this.path??"")).slice(0,99),mode:this.mode||420,uid:this.uid,gid:this.gid,size:i,mtime:this.mtime,type:this.global?"GlobalExtendedHeader":"ExtendedHeader",linkpath:"",uname:this.uname||"",gname:this.gname||"",devmaj:0,devmin:0,atime:this.atime,ctime:this.ctime}).encode(a);a.write(t,512,i,"utf8");for(let t=i+512;t<a.length;t++){a[t]=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(t){if(this[t]===undefined){return""}const r=this[t];const i=r instanceof Date?r.getTime()/1e3:r;const o=" "+(t==="dev"||t==="ino"||t==="nlink"?"SCHILY.":"")+t+"="+i+"\n";const a=Buffer.byteLength(o);let c=Math.floor(Math.log(a)/Math.log(10))+1;if(a+c>=Math.pow(10,c)){c+=1}const l=c+a;return l+o}static parse(t,r,i=false){return new Pax(merge(parseKV(t),r),i)}}const merge=(t,r)=>r?Object.assign({},r,t):t;const parseKV=t=>t.replace(/\n$/,"").split("\n").reduce(parseKVLine,Object.create(null));const parseKVLine=(t,r)=>{const i=parseInt(r,10);if(i!==Buffer.byteLength(r)+1){return t}r=r.slice((i+" ").length);const o=r.split("=");const a=o.shift();if(!a){return t}const c=a.replace(/^SCHILY\.(dev|ino|nlink)/,"$1");const l=o.join("=");t[c]=/^([A-Z]+\.)?([mac]|birth|creation)time$/.test(c)?new Date(Number(l)*1e3):/^[0-9]+$/.test(l)?+l:l;return t};const fr=process.env.TESTING_TAR_FAKE_PLATFORM||process.platform;const pr=fr!=="win32"?t=>t:t=>t&&t.replace(/\\/g,"/");class ReadEntry extends Minipass{extended;globalExtended;header;startBlockSize;blockRemain;remain;type;meta=false;ignore=false;path;mode;uid;gid;uname;gname;size=0;mtime;atime;ctime;linkpath;dev;ino;nlink;invalid=false;absolute;unsupported=false;constructor(t,r,i){super({});this.pause();this.extended=r;this.globalExtended=i;this.header=t;this.remain=t.size??0;this.startBlockSize=512*Math.ceil(this.remain/512);this.blockRemain=this.startBlockSize;this.type=t.type;switch(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=true;break;default:this.ignore=true}if(!t.path){throw new Error("no path provided for tar.ReadEntry")}this.path=pr(t.path);this.mode=t.mode;if(this.mode){this.mode=this.mode&4095}this.uid=t.uid;this.gid=t.gid;this.uname=t.uname;this.gname=t.gname;this.size=this.remain;this.mtime=t.mtime;this.atime=t.atime;this.ctime=t.ctime;this.linkpath=t.linkpath?pr(t.linkpath):undefined;this.uname=t.uname;this.gname=t.gname;if(r){this.#m(r)}if(i){this.#m(i,true)}}write(t){const r=t.length;if(r>this.blockRemain){throw new Error("writing more to entry than is appropriate")}const i=this.remain;const o=this.blockRemain;this.remain=Math.max(0,i-r);this.blockRemain=Math.max(0,o-r);if(this.ignore){return true}if(i>=r){return super.write(t)}return super.write(t.subarray(0,i))}#m(t,r=false){if(t.path)t.path=pr(t.path);if(t.linkpath)t.linkpath=pr(t.linkpath);Object.assign(this,Object.fromEntries(Object.entries(t).filter((([t,i])=>!(i===null||i===undefined||t==="path"&&r)))))}}const warnMethod=(t,r,i,o={})=>{if(t.file){o.file=t.file}if(t.cwd){o.cwd=t.cwd}o.code=i instanceof Error&&i.code||r;o.tarCode=r;if(!t.strict&&o.recoverable!==false){if(i instanceof Error){o=Object.assign(i,o);i=i.message}t.emit("warn",r,i,o)}else if(i instanceof Error){t.emit("error",Object.assign(i,o))}else{t.emit("error",Object.assign(new Error(`${r}: ${i}`),o))}};const mr=1024*1024;const gr=Buffer.from([31,139]);const yr=Symbol("state");const _r=Symbol("writeEntry");const vr=Symbol("readEntry");const br=Symbol("nextEntry");const wr=Symbol("processEntry");const Er=Symbol("extendedHeader");const Sr=Symbol("globalExtendedHeader");const $r=Symbol("meta");const Rr=Symbol("emitMeta");const Or=Symbol("buffer");const Pr=Symbol("queue");const Ar=Symbol("ended");const xr=Symbol("emittedEnd");const Tr=Symbol("emit");const kr=Symbol("unzip");const Cr=Symbol("consumeChunk");const Ir=Symbol("consumeChunkSub");const Nr=Symbol("consumeBody");const Dr=Symbol("consumeMeta");const Lr=Symbol("consumeHeader");const Mr=Symbol("consuming");const jr=Symbol("bufferConcat");const Fr=Symbol("maybeEnd");const Ur=Symbol("writing");const Br=Symbol("aborted");const Hr=Symbol("onDone");const Vr=Symbol("sawValidEntry");const Gr=Symbol("sawNullBlock");const zr=Symbol("sawEOF");const qr=Symbol("closeStream");const noop=()=>true;class Parser extends Fe.EventEmitter{file;strict;maxMetaEntrySize;filter;brotli;writable=true;readable=false;[Pr]=new Yallist;[Or];[vr];[_r];[yr]="begin";[$r]="";[Er];[Sr];[Ar]=false;[kr];[Br]=false;[Vr];[Gr]=false;[zr]=false;[Ur]=false;[Mr]=false;[xr]=false;constructor(t={}){super();this.file=t.file||"";this.on(Hr,(()=>{if(this[yr]==="begin"||this[Vr]===false){this.warn("TAR_BAD_ARCHIVE","Unrecognized archive format")}}));if(t.ondone){this.on(Hr,t.ondone)}else{this.on(Hr,(()=>{this.emit("prefinish");this.emit("finish");this.emit("end")}))}this.strict=!!t.strict;this.maxMetaEntrySize=t.maxMetaEntrySize||mr;this.filter=typeof t.filter==="function"?t.filter:noop;const r=t.file&&(t.file.endsWith(".tar.br")||t.file.endsWith(".tbr"));this.brotli=!t.gzip&&t.brotli!==undefined?t.brotli:r?undefined:false;this.on("end",(()=>this[qr]()));if(typeof t.onwarn==="function"){this.on("warn",t.onwarn)}if(typeof t.onReadEntry==="function"){this.on("entry",t.onReadEntry)}}warn(t,r,i={}){warnMethod(this,t,r,i)}[Lr](t,r){if(this[Vr]===undefined){this[Vr]=false}let i;try{i=new Header(t,r,this[Er],this[Sr])}catch(t){return this.warn("TAR_ENTRY_INVALID",t)}if(i.nullBlock){if(this[Gr]){this[zr]=true;if(this[yr]==="begin"){this[yr]="header"}this[Tr]("eof")}else{this[Gr]=true;this[Tr]("nullBlock")}}else{this[Gr]=false;if(!i.cksumValid){this.warn("TAR_ENTRY_INVALID","checksum failure",{header:i})}else if(!i.path){this.warn("TAR_ENTRY_INVALID","path is required",{header:i})}else{const t=i.type;if(/^(Symbolic)?Link$/.test(t)&&!i.linkpath){this.warn("TAR_ENTRY_INVALID","linkpath required",{header:i})}else if(!/^(Symbolic)?Link$/.test(t)&&!/^(Global)?ExtendedHeader$/.test(t)&&i.linkpath){this.warn("TAR_ENTRY_INVALID","linkpath forbidden",{header:i})}else{const t=this[_r]=new ReadEntry(i,this[Er],this[Sr]);if(!this[Vr]){if(t.remain){const onend=()=>{if(!t.invalid){this[Vr]=true}};t.on("end",onend)}else{this[Vr]=true}}if(t.meta){if(t.size>this.maxMetaEntrySize){t.ignore=true;this[Tr]("ignoredEntry",t);this[yr]="ignore";t.resume()}else if(t.size>0){this[$r]="";t.on("data",(t=>this[$r]+=t));this[yr]="meta"}}else{this[Er]=undefined;t.ignore=t.ignore||!this.filter(t.path,t);if(t.ignore){this[Tr]("ignoredEntry",t);this[yr]=t.remain?"ignore":"header";t.resume()}else{if(t.remain){this[yr]="body"}else{this[yr]="header";t.end()}if(!this[vr]){this[Pr].push(t);this[br]()}else{this[Pr].push(t)}}}}}}}[qr](){queueMicrotask((()=>this.emit("close")))}[wr](t){let r=true;if(!t){this[vr]=undefined;r=false}else if(Array.isArray(t)){const[r,...i]=t;this.emit(r,...i)}else{this[vr]=t;this.emit("entry",t);if(!t.emittedEnd){t.on("end",(()=>this[br]()));r=false}}return r}[br](){do{}while(this[wr](this[Pr].shift()));if(!this[Pr].length){const t=this[vr];const r=!t||t.flowing||t.size===t.remain;if(r){if(!this[Ur]){this.emit("drain")}}else{t.once("drain",(()=>this.emit("drain")))}}}[Nr](t,r){const i=this[_r];if(!i){throw new Error("attempt to consume body without entry??")}const o=i.blockRemain??0;const a=o>=t.length&&r===0?t:t.subarray(r,r+o);i.write(a);if(!i.blockRemain){this[yr]="header";this[_r]=undefined;i.end()}return a.length}[Dr](t,r){const i=this[_r];const o=this[Nr](t,r);if(!this[_r]&&i){this[Rr](i)}return o}[Tr](t,r,i){if(!this[Pr].length&&!this[vr]){this.emit(t,r,i)}else{this[Pr].push([t,r,i])}}[Rr](t){this[Tr]("meta",this[$r]);switch(t.type){case"ExtendedHeader":case"OldExtendedHeader":this[Er]=Pax.parse(this[$r],this[Er],false);break;case"GlobalExtendedHeader":this[Sr]=Pax.parse(this[$r],this[Sr],true);break;case"NextFileHasLongPath":case"OldGnuLongPath":{const t=this[Er]??Object.create(null);this[Er]=t;t.path=this[$r].replace(/\0.*/,"");break}case"NextFileHasLongLinkpath":{const t=this[Er]||Object.create(null);this[Er]=t;t.linkpath=this[$r].replace(/\0.*/,"");break}default:throw new Error("unknown meta: "+t.type)}}abort(t){this[Br]=true;this.emit("abort",t);this.warn("TAR_ABORT",t,{recoverable:false})}write(t,r,i){if(typeof r==="function"){i=r;r=undefined}if(typeof t==="string"){t=Buffer.from(t,typeof r==="string"?r:"utf8")}if(this[Br]){i?.();return false}const o=this[kr]===undefined||this.brotli===undefined&&this[kr]===false;if(o&&t){if(this[Or]){t=Buffer.concat([this[Or],t]);this[Or]=undefined}if(t.length<gr.length){this[Or]=t;i?.();return true}for(let r=0;this[kr]===undefined&&r<gr.length;r++){if(t[r]!==gr[r]){this[kr]=false}}const r=this.brotli===undefined;if(this[kr]===false&&r){if(t.length<512){if(this[Ar]){this.brotli=true}else{this[Or]=t;i?.();return true}}else{try{new Header(t.subarray(0,512));this.brotli=false}catch(t){this.brotli=true}}}if(this[kr]===undefined||this[kr]===false&&this.brotli){const r=this[Ar];this[Ar]=false;this[kr]=this[kr]===undefined?new Unzip({}):new BrotliDecompress({});this[kr].on("data",(t=>this[Cr](t)));this[kr].on("error",(t=>this.abort(t)));this[kr].on("end",(()=>{this[Ar]=true;this[Cr]()}));this[Ur]=true;const o=!!this[kr][r?"end":"write"](t);this[Ur]=false;i?.();return o}}this[Ur]=true;if(this[kr]){this[kr].write(t)}else{this[Cr](t)}this[Ur]=false;const a=this[Pr].length?false:this[vr]?this[vr].flowing:true;if(!a&&!this[Pr].length){this[vr]?.once("drain",(()=>this.emit("drain")))}i?.();return a}[jr](t){if(t&&!this[Br]){this[Or]=this[Or]?Buffer.concat([this[Or],t]):t}}[Fr](){if(this[Ar]&&!this[xr]&&!this[Br]&&!this[Mr]){this[xr]=true;const t=this[_r];if(t&&t.blockRemain){const r=this[Or]?this[Or].length:0;this.warn("TAR_BAD_ARCHIVE",`Truncated input (needed ${t.blockRemain} more bytes, only ${r} available)`,{entry:t});if(this[Or]){t.write(this[Or])}t.end()}this[Tr](Hr)}}[Cr](t){if(this[Mr]&&t){this[jr](t)}else if(!t&&!this[Or]){this[Fr]()}else if(t){this[Mr]=true;if(this[Or]){this[jr](t);const r=this[Or];this[Or]=undefined;this[Ir](r)}else{this[Ir](t)}while(this[Or]&&this[Or]?.length>=512&&!this[Br]&&!this[zr]){const t=this[Or];this[Or]=undefined;this[Ir](t)}this[Mr]=false}if(!this[Or]||this[Ar]){this[Fr]()}}[Ir](t){let r=0;const i=t.length;while(r+512<=i&&!this[Br]&&!this[zr]){switch(this[yr]){case"begin":case"header":this[Lr](t,r);r+=512;break;case"ignore":case"body":r+=this[Nr](t,r);break;case"meta":r+=this[Dr](t,r);break;default:throw new Error("invalid state: "+this[yr])}}if(r<i){if(this[Or]){this[Or]=Buffer.concat([t.subarray(r),this[Or]])}else{this[Or]=t.subarray(r)}}}end(t,r,i){if(typeof t==="function"){i=t;r=undefined;t=undefined}if(typeof r==="function"){i=r;r=undefined}if(typeof t==="string"){t=Buffer.from(t,r)}if(i)this.once("finish",i);if(!this[Br]){if(this[kr]){if(t)this[kr].write(t);this[kr].end()}else{this[Ar]=true;if(this.brotli===undefined)t=t||Buffer.alloc(0);if(t)this.write(t);this[Fr]()}}return this}}const stripTrailingSlashes=t=>{let r=t.length-1;let i=-1;while(r>-1&&t.charAt(r)==="/"){i=r;r--}return i===-1?t:t.slice(0,i)};const onReadEntryFunction=t=>{const r=t.onReadEntry;t.onReadEntry=r?t=>{r(t);t.resume()}:t=>t.resume()};const filesFilter=(t,r)=>{const i=new Map(r.map((t=>[stripTrailingSlashes(t),true])));const o=t.filter;const mapHas=(t,r="")=>{const o=r||(0,Jt.parse)(t).root||".";let a;if(t===o)a=false;else{const r=i.get(t);if(r!==undefined){a=r}else{a=mapHas((0,Jt.dirname)(t),o)}}i.set(t,a);return a};t.filter=o?(t,r)=>o(t,r)&&mapHas(stripTrailingSlashes(t)):t=>mapHas(stripTrailingSlashes(t))};const listFileSync=r=>{const i=new Parser(r);const o=r.file;let a;try{const c=t.statSync(o);const l=r.maxReadSize||16*1024*1024;if(c.size<l){i.end(t.readFileSync(o))}else{let r=0;const u=Buffer.allocUnsafe(l);a=t.openSync(o,"r");while(r<c.size){const o=t.readSync(a,u,0,l,r);r+=o;i.write(u.subarray(0,o))}i.end()}}finally{if(typeof a==="number"){try{t.closeSync(a)}catch(t){}}}};const listFile=(r,i)=>{const o=new Parser(r);const a=r.maxReadSize||16*1024*1024;const c=r.file;const l=new Promise(((r,i)=>{o.on("error",i);o.on("end",r);t.stat(c,((t,r)=>{if(t){i(t)}else{const t=new ReadStream(c,{readSize:a,size:r.size});t.on("error",i);t.pipe(o)}}))}));return l};const Wr=makeCommand(listFileSync,listFile,(t=>new Parser(t)),(t=>new Parser(t)),((t,r)=>{if(r?.length)filesFilter(t,r);if(!t.noResume)onReadEntryFunction(t)}));const modeFix=(t,r,i)=>{t&=4095;if(i){t=(t|384)&~18}if(r){if(t&256){t|=64}if(t&32){t|=8}if(t&4){t|=1}}return t};const{isAbsolute:Kr,parse:Yr}=r.win32;const stripAbsolutePath=t=>{let r="";let i=Yr(t);while(Kr(t)||i.root){const o=t.charAt(0)==="/"&&t.slice(0,4)!=="//?/"?"/":i.root;t=t.slice(o.length);r+=o;i=Yr(t)}return[r,t]};const Zr=["|","<",">","?",":"];const Xr=Zr.map((t=>String.fromCharCode(61440+t.charCodeAt(0))));const Jr=new Map(Zr.map(((t,r)=>[t,Xr[r]])));const Qr=new Map(Xr.map(((t,r)=>[t,Zr[r]])));const winchars_encode=t=>Zr.reduce(((t,r)=>t.split(r).join(Jr.get(r))),t);const decode=t=>Xr.reduce(((t,r)=>t.split(r).join(Qr.get(r))),t);const prefixPath=(t,r)=>{if(!r){return pr(t)}t=pr(t).replace(/^\.(\/|$)/,"");return stripTrailingSlashes(r)+"/"+t};const es=16*1024*1024;const ts=Symbol("process");const rs=Symbol("file");const ss=Symbol("directory");const ns=Symbol("symlink");const is=Symbol("hardlink");const os=Symbol("header");const as=Symbol("read");const cs=Symbol("lstat");const ls=Symbol("onlstat");const us=Symbol("onread");const hs=Symbol("onreadlink");const ds=Symbol("openfile");const ps=Symbol("onopenfile");const ms=Symbol("close");const gs=Symbol("mode");const ys=Symbol("awaitDrain");const _s=Symbol("ondrain");const vs=Symbol("prefix");class WriteEntry extends Minipass{path;portable;myuid=process.getuid&&process.getuid()||0;myuser=process.env.USER||"";maxReadSize;linkCache;statCache;preservePaths;cwd;strict;mtime;noPax;noMtime;prefix;fd;blockLen=0;blockRemain=0;buf;pos=0;remain=0;length=0;offset=0;win32;absolute;header;type;linkpath;stat;onWriteEntry;#g=false;constructor(t,r={}){const i=dealias(r);super();this.path=pr(t);this.portable=!!i.portable;this.maxReadSize=i.maxReadSize||es;this.linkCache=i.linkCache||new Map;this.statCache=i.statCache||new Map;this.preservePaths=!!i.preservePaths;this.cwd=pr(i.cwd||process.cwd());this.strict=!!i.strict;this.noPax=!!i.noPax;this.noMtime=!!i.noMtime;this.mtime=i.mtime;this.prefix=i.prefix?pr(i.prefix):undefined;this.onWriteEntry=i.onWriteEntry;if(typeof i.onwarn==="function"){this.on("warn",i.onwarn)}let o=false;if(!this.preservePaths){const[t,r]=stripAbsolutePath(this.path);if(t&&typeof r==="string"){this.path=r;o=t}}this.win32=!!i.win32||process.platform==="win32";if(this.win32){this.path=decode(this.path.replace(/\\/g,"/"));t=t.replace(/\\/g,"/")}this.absolute=pr(i.absolute||Jt.resolve(this.cwd,t));if(this.path===""){this.path="./"}if(o){this.warn("TAR_ENTRY_INFO",`stripping ${o} from absolute path`,{entry:this,path:o+this.path})}const a=this.statCache.get(this.absolute);if(a){this[ls](a)}else{this[cs]()}}warn(t,r,i={}){return warnMethod(this,t,r,i)}emit(t,...r){if(t==="error"){this.#g=true}return super.emit(t,...r)}[cs](){Ue.lstat(this.absolute,((t,r)=>{if(t){return this.emit("error",t)}this[ls](r)}))}[ls](t){this.statCache.set(this.absolute,t);this.stat=t;if(!t.isFile()){t.size=0}this.type=getType(t);this.emit("stat",t);this[ts]()}[ts](){switch(this.type){case"File":return this[rs]();case"Directory":return this[ss]();case"SymbolicLink":return this[ns]();default:return this.end()}}[gs](t){return modeFix(t,this.type==="Directory",this.portable)}[vs](t){return prefixPath(t,this.prefix)}[os](){if(!this.stat){throw new Error("cannot write header before stat")}if(this.type==="Directory"&&this.portable){this.noMtime=true}this.onWriteEntry?.(this);this.header=new Header({path:this[vs](this.path),linkpath:this.type==="Link"&&this.linkpath!==undefined?this[vs](this.linkpath):this.linkpath,mode:this[gs](this.stat.mode),uid:this.portable?undefined:this.stat.uid,gid:this.portable?undefined:this.stat.gid,size:this.stat.size,mtime:this.noMtime?undefined:this.mtime||this.stat.mtime,type:this.type==="Unsupported"?undefined:this.type,uname:this.portable?undefined:this.stat.uid===this.myuid?this.myuser:"",atime:this.portable?undefined:this.stat.atime,ctime:this.portable?undefined:this.stat.ctime});if(this.header.encode()&&!this.noPax){super.write(new Pax({atime:this.portable?undefined:this.header.atime,ctime:this.portable?undefined:this.header.ctime,gid:this.portable?undefined:this.header.gid,mtime:this.noMtime?undefined:this.mtime||this.header.mtime,path:this[vs](this.path),linkpath:this.type==="Link"&&this.linkpath!==undefined?this[vs](this.linkpath):this.linkpath,size:this.header.size,uid:this.portable?undefined:this.header.uid,uname:this.portable?undefined:this.header.uname,dev:this.portable?undefined:this.stat.dev,ino:this.portable?undefined:this.stat.ino,nlink:this.portable?undefined:this.stat.nlink}).encode())}const t=this.header?.block;if(!t){throw new Error("failed to encode header")}super.write(t)}[ss](){if(!this.stat){throw new Error("cannot create directory entry without stat")}if(this.path.slice(-1)!=="/"){this.path+="/"}this.stat.size=0;this[os]();this.end()}[ns](){Ue.readlink(this.absolute,((t,r)=>{if(t){return this.emit("error",t)}this[hs](r)}))}[hs](t){this.linkpath=pr(t);this[os]();this.end()}[is](t){if(!this.stat){throw new Error("cannot create link entry without stat")}this.type="Link";this.linkpath=pr(Jt.relative(this.cwd,t));this.stat.size=0;this[os]();this.end()}[rs](){if(!this.stat){throw new Error("cannot create file entry without stat")}if(this.stat.nlink>1){const t=`${this.stat.dev}:${this.stat.ino}`;const r=this.linkCache.get(t);if(r?.indexOf(this.cwd)===0){return this[is](r)}this.linkCache.set(t,this.absolute)}this[os]();if(this.stat.size===0){return this.end()}this[ds]()}[ds](){Ue.open(this.absolute,"r",((t,r)=>{if(t){return this.emit("error",t)}this[ps](r)}))}[ps](t){this.fd=t;if(this.#g){return this[ms]()}if(!this.stat){throw new Error("should stat before calling onopenfile")}this.blockLen=512*Math.ceil(this.stat.size/512);this.blockRemain=this.blockLen;const r=Math.min(this.blockLen,this.maxReadSize);this.buf=Buffer.allocUnsafe(r);this.offset=0;this.pos=0;this.remain=this.stat.size;this.length=this.buf.length;this[as]()}[as](){const{fd:t,buf:r,offset:i,length:o,pos:a}=this;if(t===undefined||r===undefined){throw new Error("cannot read file without first opening")}Ue.read(t,r,i,o,a,((t,r)=>{if(t){return this[ms]((()=>this.emit("error",t)))}this[us](r)}))}[ms](t=()=>{}){if(this.fd!==undefined)Ue.close(this.fd,t)}[us](t){if(t<=0&&this.remain>0){const t=Object.assign(new Error("encountered unexpected EOF"),{path:this.absolute,syscall:"read",code:"EOF"});return this[ms]((()=>this.emit("error",t)))}if(t>this.remain){const t=Object.assign(new Error("did not encounter expected EOF"),{path:this.absolute,syscall:"read",code:"EOF"});return this[ms]((()=>this.emit("error",t)))}if(!this.buf){throw new Error("should have created buffer prior to reading")}if(t===this.remain){for(let r=t;r<this.length&&t<this.blockRemain;r++){this.buf[r+this.offset]=0;t++;this.remain++}}const r=this.offset===0&&t===this.buf.length?this.buf:this.buf.subarray(this.offset,this.offset+t);const i=this.write(r);if(!i){this[ys]((()=>this[_s]()))}else{this[_s]()}}[ys](t){this.once("drain",t)}write(t,r,i){if(typeof r==="function"){i=r;r=undefined}if(typeof t==="string"){t=Buffer.from(t,typeof r==="string"?r:"utf8")}if(this.blockRemain<t.length){const t=Object.assign(new Error("writing more data than expected"),{path:this.absolute});return this.emit("error",t)}this.remain-=t.length;this.blockRemain-=t.length;this.pos+=t.length;this.offset+=t.length;return super.write(t,null,i)}[_s](){if(!this.remain){if(this.blockRemain){super.write(Buffer.alloc(this.blockRemain))}return this[ms]((t=>t?this.emit("error",t):this.end()))}if(!this.buf){throw new Error("buffer lost somehow in ONDRAIN")}if(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[as]()}}class WriteEntrySync extends WriteEntry{sync=true;[cs](){this[ls](Ue.lstatSync(this.absolute))}[ns](){this[hs](Ue.readlinkSync(this.absolute))}[ds](){this[ps](Ue.openSync(this.absolute,"r"))}[as](){let t=true;try{const{fd:r,buf:i,offset:o,length:a,pos:c}=this;if(r===undefined||i===undefined){throw new Error("fd and buf must be set in READ method")}const l=Ue.readSync(r,i,o,a,c);this[us](l);t=false}finally{if(t){try{this[ms]((()=>{}))}catch(t){}}}}[ys](t){t()}[ms](t=()=>{}){if(this.fd!==undefined)Ue.closeSync(this.fd);t()}}class WriteEntryTar extends Minipass{blockLen=0;blockRemain=0;buf=0;pos=0;remain=0;length=0;preservePaths;portable;strict;noPax;noMtime;readEntry;type;prefix;path;mode;uid;gid;uname;gname;header;mtime;atime;ctime;linkpath;size;onWriteEntry;warn(t,r,i={}){return warnMethod(this,t,r,i)}constructor(t,r={}){const i=dealias(r);super();this.preservePaths=!!i.preservePaths;this.portable=!!i.portable;this.strict=!!i.strict;this.noPax=!!i.noPax;this.noMtime=!!i.noMtime;this.onWriteEntry=i.onWriteEntry;this.readEntry=t;const{type:o}=t;if(o==="Unsupported"){throw new Error("writing entry that should be ignored")}this.type=o;if(this.type==="Directory"&&this.portable){this.noMtime=true}this.prefix=i.prefix;this.path=pr(t.path);this.mode=t.mode!==undefined?this[gs](t.mode):undefined;this.uid=this.portable?undefined:t.uid;this.gid=this.portable?undefined:t.gid;this.uname=this.portable?undefined:t.uname;this.gname=this.portable?undefined:t.gname;this.size=t.size;this.mtime=this.noMtime?undefined:i.mtime||t.mtime;this.atime=this.portable?undefined:t.atime;this.ctime=this.portable?undefined:t.ctime;this.linkpath=t.linkpath!==undefined?pr(t.linkpath):undefined;if(typeof i.onwarn==="function"){this.on("warn",i.onwarn)}let a=false;if(!this.preservePaths){const[t,r]=stripAbsolutePath(this.path);if(t&&typeof r==="string"){this.path=r;a=t}}this.remain=t.size;this.blockRemain=t.startBlockSize;this.onWriteEntry?.(this);this.header=new Header({path:this[vs](this.path),linkpath:this.type==="Link"&&this.linkpath!==undefined?this[vs](this.linkpath):this.linkpath,mode:this.mode,uid:this.portable?undefined:this.uid,gid:this.portable?undefined:this.gid,size:this.size,mtime:this.noMtime?undefined:this.mtime,type:this.type,uname:this.portable?undefined:this.uname,atime:this.portable?undefined:this.atime,ctime:this.portable?undefined:this.ctime});if(a){this.warn("TAR_ENTRY_INFO",`stripping ${a} from absolute path`,{entry:this,path:a+this.path})}if(this.header.encode()&&!this.noPax){super.write(new Pax({atime:this.portable?undefined:this.atime,ctime:this.portable?undefined:this.ctime,gid:this.portable?undefined:this.gid,mtime:this.noMtime?undefined:this.mtime,path:this[vs](this.path),linkpath:this.type==="Link"&&this.linkpath!==undefined?this[vs](this.linkpath):this.linkpath,size:this.size,uid:this.portable?undefined:this.uid,uname:this.portable?undefined:this.uname,dev:this.portable?undefined:this.readEntry.dev,ino:this.portable?undefined:this.readEntry.ino,nlink:this.portable?undefined:this.readEntry.nlink}).encode())}const c=this.header?.block;if(!c)throw new Error("failed to encode header");super.write(c);t.pipe(this)}[vs](t){return prefixPath(t,this.prefix)}[gs](t){return modeFix(t,this.type==="Directory",this.portable)}write(t,r,i){if(typeof r==="function"){i=r;r=undefined}if(typeof t==="string"){t=Buffer.from(t,typeof r==="string"?r:"utf8")}const o=t.length;if(o>this.blockRemain){throw new Error("writing more to entry than is appropriate")}this.blockRemain-=o;return super.write(t,i)}end(t,r,i){if(this.blockRemain){super.write(Buffer.alloc(this.blockRemain))}if(typeof t==="function"){i=t;r=undefined;t=undefined}if(typeof r==="function"){i=r;r=undefined}if(typeof t==="string"){t=Buffer.from(t,r??"utf8")}if(i)this.once("finish",i);t?super.end(t,i):super.end(i);return this}}const getType=t=>t.isFile()?"File":t.isDirectory()?"Directory":t.isSymbolicLink()?"SymbolicLink":"Unsupported";class PackJob{path;absolute;entry;stat;readdir;pending=false;ignore=false;piped=false;constructor(t,r){this.path=t||"./";this.absolute=r}}const bs=Buffer.alloc(1024);const ws=Symbol("onStat");const Es=Symbol("ended");const Ss=Symbol("queue");const $s=Symbol("current");const Rs=Symbol("process");const Os=Symbol("processing");const Ps=Symbol("processJob");const As=Symbol("jobs");const xs=Symbol("jobDone");const Ts=Symbol("addFSEntry");const ks=Symbol("addTarEntry");const Cs=Symbol("stat");const Is=Symbol("readdir");const Ns=Symbol("onreaddir");const Ds=Symbol("pipe");const Ls=Symbol("entry");const Ms=Symbol("entryOpt");const js=Symbol("writeEntryClass");const Fs=Symbol("write");const Us=Symbol("ondrain");class Pack extends Minipass{opt;cwd;maxReadSize;preservePaths;strict;noPax;prefix;linkCache;statCache;file;portable;zip;readdirCache;noDirRecurse;follow;noMtime;mtime;filter;jobs;[js];onWriteEntry;[Ss];[As]=0;[Os]=false;[Es]=false;constructor(t={}){super();this.opt=t;this.file=t.file||"";this.cwd=t.cwd||process.cwd();this.maxReadSize=t.maxReadSize;this.preservePaths=!!t.preservePaths;this.strict=!!t.strict;this.noPax=!!t.noPax;this.prefix=pr(t.prefix||"");this.linkCache=t.linkCache||new Map;this.statCache=t.statCache||new Map;this.readdirCache=t.readdirCache||new Map;this.onWriteEntry=t.onWriteEntry;this[js]=WriteEntry;if(typeof t.onwarn==="function"){this.on("warn",t.onwarn)}this.portable=!!t.portable;if(t.gzip||t.brotli){if(t.gzip&&t.brotli){throw new TypeError("gzip and brotli are mutually exclusive")}if(t.gzip){if(typeof t.gzip!=="object"){t.gzip={}}if(this.portable){t.gzip.portable=true}this.zip=new Gzip(t.gzip)}if(t.brotli){if(typeof t.brotli!=="object"){t.brotli={}}this.zip=new BrotliCompress(t.brotli)}if(!this.zip)throw new Error("impossible");const r=this.zip;r.on("data",(t=>super.write(t)));r.on("end",(()=>super.end()));r.on("drain",(()=>this[Us]()));this.on("resume",(()=>r.resume()))}else{this.on("drain",this[Us])}this.noDirRecurse=!!t.noDirRecurse;this.follow=!!t.follow;this.noMtime=!!t.noMtime;if(t.mtime)this.mtime=t.mtime;this.filter=typeof t.filter==="function"?t.filter:()=>true;this[Ss]=new Yallist;this[As]=0;this.jobs=Number(t.jobs)||4;this[Os]=false;this[Es]=false}[Fs](t){return super.write(t)}add(t){this.write(t);return this}end(t,r,i){if(typeof t==="function"){i=t;t=undefined}if(typeof r==="function"){i=r;r=undefined}if(t){this.add(t)}this[Es]=true;this[Rs]();if(i)i();return this}write(t){if(this[Es]){throw new Error("write after end")}if(t instanceof ReadEntry){this[ks](t)}else{this[Ts](t)}return this.flowing}[ks](t){const r=pr(Jt.resolve(this.cwd,t.path));if(!this.filter(t.path,t)){t.resume()}else{const i=new PackJob(t.path,r);i.entry=new WriteEntryTar(t,this[Ms](i));i.entry.on("end",(()=>this[xs](i)));this[As]+=1;this[Ss].push(i)}this[Rs]()}[Ts](t){const r=pr(Jt.resolve(this.cwd,t));this[Ss].push(new PackJob(t,r));this[Rs]()}[Cs](t){t.pending=true;this[As]+=1;const r=this.follow?"stat":"lstat";Ue[r](t.absolute,((r,i)=>{t.pending=false;this[As]-=1;if(r){this.emit("error",r)}else{this[ws](t,i)}}))}[ws](t,r){this.statCache.set(t.absolute,r);t.stat=r;if(!this.filter(t.path,r)){t.ignore=true}this[Rs]()}[Is](t){t.pending=true;this[As]+=1;Ue.readdir(t.absolute,((r,i)=>{t.pending=false;this[As]-=1;if(r){return this.emit("error",r)}this[Ns](t,i)}))}[Ns](t,r){this.readdirCache.set(t.absolute,r);t.readdir=r;this[Rs]()}[Rs](){if(this[Os]){return}this[Os]=true;for(let t=this[Ss].head;!!t&&this[As]<this.jobs;t=t.next){this[Ps](t.value);if(t.value.ignore){const r=t.next;this[Ss].removeNode(t);t.next=r}}this[Os]=false;if(this[Es]&&!this[Ss].length&&this[As]===0){if(this.zip){this.zip.end(bs)}else{super.write(bs);super.end()}}}get[$s](){return this[Ss]&&this[Ss].head&&this[Ss].head.value}[xs](t){this[Ss].shift();this[As]-=1;this[Rs]()}[Ps](t){if(t.pending){return}if(t.entry){if(t===this[$s]&&!t.piped){this[Ds](t)}return}if(!t.stat){const r=this.statCache.get(t.absolute);if(r){this[ws](t,r)}else{this[Cs](t)}}if(!t.stat){return}if(t.ignore){return}if(!this.noDirRecurse&&t.stat.isDirectory()&&!t.readdir){const r=this.readdirCache.get(t.absolute);if(r){this[Ns](t,r)}else{this[Is](t)}if(!t.readdir){return}}t.entry=this[Ls](t);if(!t.entry){t.ignore=true;return}if(t===this[$s]&&!t.piped){this[Ds](t)}}[Ms](t){return{onwarn:(t,r,i)=>this.warn(t,r,i),noPax:this.noPax,cwd:this.cwd,absolute:t.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,onWriteEntry:this.onWriteEntry}}[Ls](t){this[As]+=1;try{const r=new this[js](t.path,this[Ms](t));return r.on("end",(()=>this[xs](t))).on("error",(t=>this.emit("error",t)))}catch(t){this.emit("error",t)}}[Us](){if(this[$s]&&this[$s].entry){this[$s].entry.resume()}}[Ds](t){t.piped=true;if(t.readdir){t.readdir.forEach((r=>{const i=t.path;const o=i==="./"?"":i.replace(/\/*$/,"/");this[Ts](o+r)}))}const r=t.entry;const i=this.zip;if(!r)throw new Error("cannot pipe without source");if(i){r.on("data",(t=>{if(!i.write(t)){r.pause()}}))}else{r.on("data",(t=>{if(!super.write(t)){r.pause()}}))}}pause(){if(this.zip){this.zip.pause()}return super.pause()}warn(t,r,i={}){warnMethod(this,t,r,i)}}class PackSync extends Pack{sync=true;constructor(t){super(t);this[js]=WriteEntrySync}pause(){}resume(){}[Cs](t){const r=this.follow?"statSync":"lstatSync";this[ws](t,Ue[r](t.absolute))}[Is](t){this[Ns](t,Ue.readdirSync(t.absolute))}[Ds](t){const r=t.entry;const i=this.zip;if(t.readdir){t.readdir.forEach((r=>{const i=t.path;const o=i==="./"?"":i.replace(/\/*$/,"/");this[Ts](o+r)}))}if(!r)throw new Error("Cannot pipe without source");if(i){r.on("data",(t=>{i.write(t)}))}else{r.on("data",(t=>{super[Fs](t)}))}}}const createFileSync=(t,r)=>{const i=new PackSync(t);const o=new WriteStreamSync(t.file,{mode:t.mode||438});i.pipe(o);addFilesSync(i,r)};const createFile=(t,r)=>{const i=new Pack(t);const o=new WriteStream(t.file,{mode:t.mode||438});i.pipe(o);const a=new Promise(((t,r)=>{o.on("error",r);o.on("close",t);i.on("error",r)}));addFilesAsync(i,r);return a};const addFilesSync=(t,i)=>{i.forEach((i=>{if(i.charAt(0)==="@"){Wr({file:r.resolve(t.cwd,i.slice(1)),sync:true,noResume:true,onReadEntry:r=>t.add(r)})}else{t.add(i)}}));t.end()};const addFilesAsync=async(t,i)=>{for(let o=0;o<i.length;o++){const a=String(i[o]);if(a.charAt(0)==="@"){await Wr({file:r.resolve(String(t.cwd),a.slice(1)),noResume:true,onReadEntry:r=>{t.add(r)}})}else{t.add(a)}}t.end()};const createSync=(t,r)=>{const i=new PackSync(t);addFilesSync(i,r);return i};const createAsync=(t,r)=>{const i=new Pack(t);addFilesAsync(i,r);return i};const Bs=makeCommand(createFileSync,createFile,createSync,createAsync,((t,r)=>{if(!r?.length){throw new TypeError("no paths specified to add to archive")}}));const Hs=process.env.__FAKE_PLATFORM__||process.platform;const Vs=Hs==="win32";const{O_CREAT:Gs,O_TRUNC:zs,O_WRONLY:qs}=Ue.constants;const Ws=Number(process.env.__FAKE_FS_O_FILENAME__)||Ue.constants.UV_FS_O_FILEMAP||0;const Ks=Vs&&!!Ws;const Ys=512*1024;const Zs=Ws|zs|Gs|qs;const Xs=!Ks?()=>"w":t=>t<Ys?Zs:"w";const lchownSync=(r,i,o)=>{try{return t.lchownSync(r,i,o)}catch(t){if(t?.code!=="ENOENT")throw t}};const chown=(r,i,o,a)=>{t.lchown(r,i,o,(t=>{a(t&&t?.code!=="ENOENT"?t:null)}))};const chownrKid=(t,i,o,a,c)=>{if(i.isDirectory()){chownr(r.resolve(t,i.name),o,a,(l=>{if(l)return c(l);const u=r.resolve(t,i.name);chown(u,o,a,c)}))}else{const l=r.resolve(t,i.name);chown(l,o,a,c)}};const chownr=(r,i,o,a)=>{t.readdir(r,{withFileTypes:true},((t,c)=>{if(t){if(t.code==="ENOENT")return a();else if(t.code!=="ENOTDIR"&&t.code!=="ENOTSUP")return a(t)}if(t||!c.length)return chown(r,i,o,a);let l=c.length;let u=null;const then=t=>{if(u)return;if(t)return a(u=t);if(--l===0)return chown(r,i,o,a)};for(const t of c){chownrKid(r,t,i,o,then)}}))};const chownrKidSync=(t,i,o,a)=>{if(i.isDirectory())chownrSync(r.resolve(t,i.name),o,a);lchownSync(r.resolve(t,i.name),o,a)};const chownrSync=(r,i,o)=>{let a;try{a=t.readdirSync(r,{withFileTypes:true})}catch(t){const a=t;if(a?.code==="ENOENT")return;else if(a?.code==="ENOTDIR"||a?.code==="ENOTSUP")return lchownSync(r,i,o);else throw a}for(const t of a){chownrKidSync(r,t,i,o)}return lchownSync(r,i,o)};const optsArg=t=>{if(!t){t={mode:511}}else if(typeof t==="object"){t={mode:511,...t}}else if(typeof t==="number"){t={mode:t}}else if(typeof t==="string"){t={mode:parseInt(t,8)}}else{throw new TypeError("invalid options argument")}const r=t;const i=t.fs||{};t.mkdir=t.mkdir||i.mkdir||Ue.mkdir;t.mkdirAsync=t.mkdirAsync?t.mkdirAsync:async(t,i)=>new Promise(((o,a)=>r.mkdir(t,i,((t,r)=>t?a(t):o(r)))));t.stat=t.stat||i.stat||Ue.stat;t.statAsync=t.statAsync?t.statAsync:async t=>new Promise(((i,o)=>r.stat(t,((t,r)=>t?o(t):i(r)))));t.statSync=t.statSync||i.statSync||Ue.statSync;t.mkdirSync=t.mkdirSync||i.mkdirSync||Ue.mkdirSync;return r};const mkdirp_manual_mkdirpManualSync=(t,r,i)=>{const o=(0,Jt.dirname)(t);const a={...optsArg(r),recursive:false};if(o===t){try{return a.mkdirSync(t,a)}catch(t){const r=t;if(r&&r.code!=="EISDIR"){throw t}return}}try{a.mkdirSync(t,a);return i||t}catch(r){const c=r;if(c&&c.code==="ENOENT"){return mkdirp_manual_mkdirpManualSync(t,a,mkdirp_manual_mkdirpManualSync(o,a,i))}if(c&&c.code!=="EEXIST"&&c&&c.code!=="EROFS"){throw r}try{if(!a.statSync(t).isDirectory())throw r}catch(t){throw r}}};const Js=Object.assign((async(t,r,i)=>{const o=optsArg(r);o.recursive=false;const a=(0,Jt.dirname)(t);if(a===t){return o.mkdirAsync(t,o).catch((t=>{const r=t;if(r&&r.code!=="EISDIR"){throw t}}))}return o.mkdirAsync(t,o).then((()=>i||t),(async r=>{const c=r;if(c&&c.code==="ENOENT"){return Js(a,o).then((r=>Js(t,o,r)))}if(c&&c.code!=="EEXIST"&&c.code!=="EROFS"){throw r}return o.statAsync(t).then((t=>{if(t.isDirectory()){return i}else{throw r}}),(()=>{throw r}))}))}),{sync:mkdirp_manual_mkdirpManualSync});const findMade=async(t,r,i)=>{if(i===r){return}return t.statAsync(r).then((t=>t.isDirectory()?i:undefined),(i=>{const o=i;return o&&o.code==="ENOENT"?findMade(t,(0,Jt.dirname)(r),r):undefined}))};const findMadeSync=(t,r,i)=>{if(i===r){return undefined}try{return t.statSync(r).isDirectory()?i:undefined}catch(i){const o=i;return o&&o.code==="ENOENT"?findMadeSync(t,(0,Jt.dirname)(r),r):undefined}};const mkdirp_native_mkdirpNativeSync=(t,r)=>{const i=optsArg(r);i.recursive=true;const o=(0,Jt.dirname)(t);if(o===t){return i.mkdirSync(t,i)}const a=findMadeSync(i,t);try{i.mkdirSync(t,i);return a}catch(r){const o=r;if(o&&o.code==="ENOENT"){return mkdirp_manual_mkdirpManualSync(t,i)}else{throw r}}};const Qs=Object.assign((async(t,r)=>{const i={...optsArg(r),recursive:true};const o=(0,Jt.dirname)(t);if(o===t){return await i.mkdirAsync(t,i)}return findMade(i,t).then((r=>i.mkdirAsync(t,i).then((t=>r||t)).catch((r=>{const o=r;if(o&&o.code==="ENOENT"){return Js(t,i)}else{throw r}}))))}),{sync:mkdirp_native_mkdirpNativeSync});const en=process.env.__TESTING_MKDIRP_PLATFORM__||process.platform;const pathArg=t=>{if(/\0/.test(t)){throw Object.assign(new TypeError("path must be a string without null bytes"),{path:t,code:"ERR_INVALID_ARG_VALUE"})}t=(0,Jt.resolve)(t);if(en==="win32"){const r=/[*|"<>?:]/;const{root:i}=(0,Jt.parse)(t);if(r.test(t.substring(i.length))){throw Object.assign(new Error("Illegal characters in path."),{path:t,code:"EINVAL"})}}return t};const tn=process.env.__TESTING_MKDIRP_NODE_VERSION__||process.version;const rn=tn.replace(/^v/,"").split(".");const sn=+rn[0]>10||+rn[0]===10&&+rn[1]>=12;const nn=!sn?()=>false:t=>optsArg(t).mkdirSync===Ue.mkdirSync;const on=Object.assign(!sn?()=>false:t=>optsArg(t).mkdir===Ue.mkdir,{sync:nn});const mkdirpSync=(t,r)=>{t=pathArg(t);const i=optsArg(r);return nn(i)?mkdirp_native_mkdirpNativeSync(t,i):mkdirp_manual_mkdirpManualSync(t,i)};const an=null&&mkdirpSync;const cn=null&&mkdirpManual;const ln=null&&mkdirpManualSync;const un=null&&mkdirpNative;const hn=null&&mkdirpNativeSync;const dn=Object.assign((async(t,r)=>{t=pathArg(t);const i=optsArg(r);return on(i)?Qs(t,i):Js(t,i)}),{mkdirpSync:mkdirpSync,mkdirpNative:Qs,mkdirpNativeSync:mkdirp_native_mkdirpNativeSync,mkdirpManual:Js,mkdirpManualSync:mkdirp_manual_mkdirpManualSync,sync:mkdirpSync,native:Qs,nativeSync:mkdirp_native_mkdirpNativeSync,manual:Js,manualSync:mkdirp_manual_mkdirpManualSync,useNative:on,useNativeSync:nn});class CwdError extends Error{path;code;syscall="chdir";constructor(t,r){super(`${r}: Cannot cd into '${t}'`);this.path=t;this.code=r}get name(){return"CwdError"}}class SymlinkError extends Error{path;symlink;syscall="symlink";code="TAR_SYMLINK_ERROR";constructor(t,r){super("TAR_SYMLINK_ERROR: Cannot extract through symbolic link");this.symlink=t;this.path=r}get name(){return"SymlinkError"}}const cGet=(t,r)=>t.get(pr(r));const cSet=(t,r,i)=>t.set(pr(r),i);const checkCwd=(t,r)=>{Ue.stat(t,((i,o)=>{if(i||!o.isDirectory()){i=new CwdError(t,i?.code||"ENOTDIR")}r(i)}))};const mkdir=(t,i,o)=>{t=pr(t);const a=i.umask??18;const c=i.mode|448;const l=(c&a)!==0;const u=i.uid;const h=i.gid;const d=typeof u==="number"&&typeof h==="number"&&(u!==i.processUid||h!==i.processGid);const p=i.preserve;const m=i.unlink;const g=i.cache;const y=pr(i.cwd);const done=(r,i)=>{if(r){o(r)}else{cSet(g,t,true);if(i&&d){chownr(i,u,h,(t=>done(t)))}else if(l){Ue.chmod(t,c,o)}else{o()}}};if(g&&cGet(g,t)===true){return done()}if(t===y){return checkCwd(t,done)}if(p){return dn(t,{mode:c}).then((t=>done(null,t??undefined)),done)}const v=pr(r.relative(y,t));const b=v.split("/");mkdir_(y,b,c,g,m,y,undefined,done)};const mkdir_=(t,i,o,a,c,l,u,h)=>{if(!i.length){return h(null,u)}const d=i.shift();const p=pr(r.resolve(t+"/"+d));if(cGet(a,p)){return mkdir_(p,i,o,a,c,l,u,h)}Ue.mkdir(p,o,onmkdir(p,i,o,a,c,l,u,h))};const onmkdir=(t,r,i,o,a,c,l,u)=>h=>{if(h){Ue.lstat(t,((d,p)=>{if(d){d.path=d.path&&pr(d.path);u(d)}else if(p.isDirectory()){mkdir_(t,r,i,o,a,c,l,u)}else if(a){Ue.unlink(t,(h=>{if(h){return u(h)}Ue.mkdir(t,i,onmkdir(t,r,i,o,a,c,l,u))}))}else if(p.isSymbolicLink()){return u(new SymlinkError(t,t+"/"+r.join("/")))}else{u(h)}}))}else{l=l||t;mkdir_(t,r,i,o,a,c,l,u)}};const checkCwdSync=t=>{let r=false;let i=undefined;try{r=Ue.statSync(t).isDirectory()}catch(t){i=t?.code}finally{if(!r){throw new CwdError(t,i??"ENOTDIR")}}};const mkdirSync=(t,i)=>{t=pr(t);const o=i.umask??18;const a=i.mode|448;const c=(a&o)!==0;const l=i.uid;const u=i.gid;const h=typeof l==="number"&&typeof u==="number"&&(l!==i.processUid||u!==i.processGid);const d=i.preserve;const p=i.unlink;const m=i.cache;const g=pr(i.cwd);const done=r=>{cSet(m,t,true);if(r&&h){chownrSync(r,l,u)}if(c){Ue.chmodSync(t,a)}};if(m&&cGet(m,t)===true){return done()}if(t===g){checkCwdSync(g);return done()}if(d){return done(mkdirpSync(t,a)??undefined)}const y=pr(r.relative(g,t));const v=y.split("/");let b=undefined;for(let t=v.shift(),i=g;t&&(i+="/"+t);t=v.shift()){i=pr(r.resolve(i));if(cGet(m,i)){continue}try{Ue.mkdirSync(i,a);b=b||i;cSet(m,i,true)}catch(t){const r=Ue.lstatSync(i);if(r.isDirectory()){cSet(m,i,true);continue}else if(p){Ue.unlinkSync(i);Ue.mkdirSync(i,a);b=b||i;cSet(m,i,true);continue}else if(r.isSymbolicLink()){return new SymlinkError(i,i+"/"+v.join("/"))}}}return done(b)};const fn=Object.create(null);const{hasOwnProperty:pn}=Object.prototype;const normalizeUnicode=t=>{if(!pn.call(fn,t)){fn[t]=t.normalize("NFD")}return fn[t]};const mn=process.env.TESTING_TAR_FAKE_PLATFORM||process.platform;const gn=mn==="win32";const getDirs=t=>{const i=t.split("/").slice(0,-1).reduce(((t,i)=>{const o=t[t.length-1];if(o!==undefined){i=(0,r.join)(o,i)}t.push(i||"/");return t}),[]);return i};class PathReservations{#y=new Map;#_=new Map;#v=new Set;reserve(t,i){t=gn?["win32 parallelization disabled"]:t.map((t=>stripTrailingSlashes((0,r.join)(normalizeUnicode(t))).toLowerCase()));const o=new Set(t.map((t=>getDirs(t))).reduce(((t,r)=>t.concat(r))));this.#_.set(i,{dirs:o,paths:t});for(const r of t){const t=this.#y.get(r);if(!t){this.#y.set(r,[i])}else{t.push(i)}}for(const t of o){const r=this.#y.get(t);if(!r){this.#y.set(t,[new Set([i])])}else{const t=r[r.length-1];if(t instanceof Set){t.add(i)}else{r.push(new Set([i]))}}}return this.#b(i)}#w(t){const r=this.#_.get(t);if(!r){throw new Error("function does not have any path reservations")}return{paths:r.paths.map((t=>this.#y.get(t))),dirs:[...r.dirs].map((t=>this.#y.get(t)))}}check(t){const{paths:r,dirs:i}=this.#w(t);return r.every((r=>r&&r[0]===t))&&i.every((r=>r&&r[0]instanceof Set&&r[0].has(t)))}#b(t){if(this.#v.has(t)||!this.check(t)){return false}this.#v.add(t);t((()=>this.#E(t)));return true}#E(t){if(!this.#v.has(t)){return false}const r=this.#_.get(t);if(!r){throw new Error("invalid reservation")}const{paths:i,dirs:o}=r;const a=new Set;for(const r of i){const i=this.#y.get(r);if(!i||i?.[0]!==t){continue}const o=i[1];if(!o){this.#y.delete(r);continue}i.shift();if(typeof o==="function"){a.add(o)}else{for(const t of o){a.add(t)}}}for(const r of o){const i=this.#y.get(r);const o=i?.[0];if(!i||!(o instanceof Set))continue;if(o.size===1&&i.length===1){this.#y.delete(r);continue}else if(o.size===1){i.shift();const t=i[0];if(typeof t==="function"){a.add(t)}}else{o.delete(t)}}this.#v.delete(t);a.forEach((t=>this.#b(t)));return true}}const yn=Symbol("onEntry");const _n=Symbol("checkFs");const vn=Symbol("checkFs2");const bn=Symbol("pruneCache");const wn=Symbol("isReusable");const En=Symbol("makeFs");const Sn=Symbol("file");const $n=Symbol("directory");const Rn=Symbol("link");const On=Symbol("symlink");const Pn=Symbol("hardlink");const An=Symbol("unsupported");const xn=Symbol("checkPath");const Tn=Symbol("mkdir");const kn=Symbol("onError");const Cn=Symbol("pending");const In=Symbol("pend");const Nn=Symbol("unpend");const Dn=Symbol("ended");const Ln=Symbol("maybeClose");const Mn=Symbol("skip");const jn=Symbol("doChown");const Fn=Symbol("uid");const Un=Symbol("gid");const Bn=Symbol("checkedCwd");const Hn=process.env.TESTING_TAR_FAKE_PLATFORM||process.platform;const Vn=Hn==="win32";const Gn=1024;const unlinkFile=(r,i)=>{if(!Vn){return t.unlink(r,i)}const o=r+".DELETE."+(0,$.randomBytes)(16).toString("hex");t.rename(r,o,(r=>{if(r){return i(r)}t.unlink(o,i)}))};const unlinkFileSync=r=>{if(!Vn){return t.unlinkSync(r)}const i=r+".DELETE."+(0,$.randomBytes)(16).toString("hex");t.renameSync(r,i);t.unlinkSync(i)};const uint32=(t,r,i)=>t!==undefined&&t===t>>>0?t:r!==undefined&&r===r>>>0?r:i;const cacheKeyNormalize=t=>stripTrailingSlashes(pr(normalizeUnicode(t))).toLowerCase();const pruneCache=(t,r)=>{r=cacheKeyNormalize(r);for(const i of t.keys()){const o=cacheKeyNormalize(i);if(o===r||o.indexOf(r+"/")===0){t.delete(i)}}};const dropCache=t=>{for(const r of t.keys()){t.delete(r)}};class Unpack extends Parser{[Dn]=false;[Bn]=false;[Cn]=0;reservations=new PathReservations;transform;writable=true;readable=false;dirCache;uid;gid;setOwner;preserveOwner;processGid;processUid;maxDepth;forceChown;win32;newer;keep;noMtime;preservePaths;unlink;cwd;strip;processUmask;umask;dmode;fmode;chmod;constructor(t={}){t.ondone=()=>{this[Dn]=true;this[Ln]()};super(t);this.transform=t.transform;this.dirCache=t.dirCache||new Map;this.chmod=!!t.chmod;if(typeof t.uid==="number"||typeof t.gid==="number"){if(typeof t.uid!=="number"||typeof t.gid!=="number"){throw new TypeError("cannot set owner without number uid and gid")}if(t.preserveOwner){throw new TypeError("cannot preserve owner in archive and also set owner explicitly")}this.uid=t.uid;this.gid=t.gid;this.setOwner=true}else{this.uid=undefined;this.gid=undefined;this.setOwner=false}if(t.preserveOwner===undefined&&typeof t.uid!=="number"){this.preserveOwner=!!(process.getuid&&process.getuid()===0)}else{this.preserveOwner=!!t.preserveOwner}this.processUid=(this.preserveOwner||this.setOwner)&&process.getuid?process.getuid():undefined;this.processGid=(this.preserveOwner||this.setOwner)&&process.getgid?process.getgid():undefined;this.maxDepth=typeof t.maxDepth==="number"?t.maxDepth:Gn;this.forceChown=t.forceChown===true;this.win32=!!t.win32||Vn;this.newer=!!t.newer;this.keep=!!t.keep;this.noMtime=!!t.noMtime;this.preservePaths=!!t.preservePaths;this.unlink=!!t.unlink;this.cwd=pr(r.resolve(t.cwd||process.cwd()));this.strip=Number(t.strip)||0;this.processUmask=!this.chmod?0:typeof t.processUmask==="number"?t.processUmask:process.umask();this.umask=typeof t.umask==="number"?t.umask:this.processUmask;this.dmode=t.dmode||511&~this.umask;this.fmode=t.fmode||438&~this.umask;this.on("entry",(t=>this[yn](t)))}warn(t,r,i={}){if(t==="TAR_BAD_ARCHIVE"||t==="TAR_ABORT"){i.recoverable=false}return super.warn(t,r,i)}[Ln](){if(this[Dn]&&this[Cn]===0){this.emit("prefinish");this.emit("finish");this.emit("end")}}[xn](t){const i=pr(t.path);const o=i.split("/");if(this.strip){if(o.length<this.strip){return false}if(t.type==="Link"){const r=pr(String(t.linkpath)).split("/");if(r.length>=this.strip){t.linkpath=r.slice(this.strip).join("/")}else{return false}}o.splice(0,this.strip);t.path=o.join("/")}if(isFinite(this.maxDepth)&&o.length>this.maxDepth){this.warn("TAR_ENTRY_ERROR","path excessively deep",{entry:t,path:i,depth:o.length,maxDepth:this.maxDepth});return false}if(!this.preservePaths){if(o.includes("..")||Vn&&/^[a-z]:\.\.$/i.test(o[0]??"")){this.warn("TAR_ENTRY_ERROR",`path contains '..'`,{entry:t,path:i});return false}const[r,a]=stripAbsolutePath(i);if(r){t.path=String(a);this.warn("TAR_ENTRY_INFO",`stripping ${r} from absolute path`,{entry:t,path:i})}}if(r.isAbsolute(t.path)){t.absolute=pr(r.resolve(t.path))}else{t.absolute=pr(r.resolve(this.cwd,t.path))}if(!this.preservePaths&&typeof t.absolute==="string"&&t.absolute.indexOf(this.cwd+"/")!==0&&t.absolute!==this.cwd){this.warn("TAR_ENTRY_ERROR","path escaped extraction target",{entry:t,path:pr(t.path),resolvedPath:t.absolute,cwd:this.cwd});return false}if(t.absolute===this.cwd&&t.type!=="Directory"&&t.type!=="GNUDumpDir"){return false}if(this.win32){const{root:i}=r.win32.parse(String(t.absolute));t.absolute=i+winchars_encode(String(t.absolute).slice(i.length));const{root:o}=r.win32.parse(t.path);t.path=o+winchars_encode(t.path.slice(o.length))}return true}[yn](t){if(!this[xn](t)){return t.resume()}R.equal(typeof t.absolute,"string");switch(t.type){case"Directory":case"GNUDumpDir":if(t.mode){t.mode=t.mode|448}case"File":case"OldFile":case"ContiguousFile":case"Link":case"SymbolicLink":return this[_n](t);case"CharacterDevice":case"BlockDevice":case"FIFO":default:return this[An](t)}}[kn](t,r){if(t.name==="CwdError"){this.emit("error",t)}else{this.warn("TAR_ENTRY_ERROR",t,{entry:r});this[Nn]();r.resume()}}[Tn](t,r,i){mkdir(pr(t),{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:r},i)}[jn](t){return this.forceChown||this.preserveOwner&&(typeof t.uid==="number"&&t.uid!==this.processUid||typeof t.gid==="number"&&t.gid!==this.processGid)||typeof this.uid==="number"&&this.uid!==this.processUid||typeof this.gid==="number"&&this.gid!==this.processGid}[Fn](t){return uint32(this.uid,t.uid,this.processUid)}[Un](t){return uint32(this.gid,t.gid,this.processGid)}[Sn](r,i){const o=typeof r.mode==="number"?r.mode&4095:this.fmode;const a=new WriteStream(String(r.absolute),{flags:Xs(r.size),mode:o,autoClose:false});a.on("error",(o=>{if(a.fd){t.close(a.fd,(()=>{}))}a.write=()=>true;this[kn](o,r);i()}));let c=1;const done=o=>{if(o){if(a.fd){t.close(a.fd,(()=>{}))}this[kn](o,r);i();return}if(--c===0){if(a.fd!==undefined){t.close(a.fd,(t=>{if(t){this[kn](t,r)}else{this[Nn]()}i()}))}}};a.on("finish",(()=>{const i=String(r.absolute);const o=a.fd;if(typeof o==="number"&&r.mtime&&!this.noMtime){c++;const a=r.atime||new Date;const l=r.mtime;t.futimes(o,a,l,(r=>r?t.utimes(i,a,l,(t=>done(t&&r))):done()))}if(typeof o==="number"&&this[jn](r)){c++;const a=this[Fn](r);const l=this[Un](r);if(typeof a==="number"&&typeof l==="number"){t.fchown(o,a,l,(r=>r?t.chown(i,a,l,(t=>done(t&&r))):done()))}}done()}));const l=this.transform?this.transform(r)||r:r;if(l!==r){l.on("error",(t=>{this[kn](t,r);i()}));r.pipe(l)}l.pipe(a)}[$n](r,i){const o=typeof r.mode==="number"?r.mode&4095:this.dmode;this[Tn](String(r.absolute),o,(o=>{if(o){this[kn](o,r);i();return}let a=1;const done=()=>{if(--a===0){i();this[Nn]();r.resume()}};if(r.mtime&&!this.noMtime){a++;t.utimes(String(r.absolute),r.atime||new Date,r.mtime,done)}if(this[jn](r)){a++;t.chown(String(r.absolute),Number(this[Fn](r)),Number(this[Un](r)),done)}done()}))}[An](t){t.unsupported=true;this.warn("TAR_ENTRY_UNSUPPORTED",`unsupported entry type: ${t.type}`,{entry:t});t.resume()}[On](t,r){this[Rn](t,String(t.linkpath),"symlink",r)}[Pn](t,i){const o=pr(r.resolve(this.cwd,String(t.linkpath)));this[Rn](t,o,"link",i)}[In](){this[Cn]++}[Nn](){this[Cn]--;this[Ln]()}[Mn](t){this[Nn]();t.resume()}[wn](t,r){return t.type==="File"&&!this.unlink&&r.isFile()&&r.nlink<=1&&!Vn}[_n](t){this[In]();const r=[t.path];if(t.linkpath){r.push(t.linkpath)}this.reservations.reserve(r,(r=>this[vn](t,r)))}[bn](t){if(t.type==="SymbolicLink"){dropCache(this.dirCache)}else if(t.type!=="Directory"){pruneCache(this.dirCache,String(t.absolute))}}[vn](i,o){this[bn](i);const done=t=>{this[bn](i);o(t)};const checkCwd=()=>{this[Tn](this.cwd,this.dmode,(t=>{if(t){this[kn](t,i);done();return}this[Bn]=true;start()}))};const start=()=>{if(i.absolute!==this.cwd){const t=pr(r.dirname(String(i.absolute)));if(t!==this.cwd){return this[Tn](t,this.dmode,(t=>{if(t){this[kn](t,i);done();return}afterMakeParent()}))}}afterMakeParent()};const afterMakeParent=()=>{t.lstat(String(i.absolute),((r,o)=>{if(o&&(this.keep||this.newer&&o.mtime>(i.mtime??o.mtime))){this[Mn](i);done();return}if(r||this[wn](i,o)){return this[En](null,i,done)}if(o.isDirectory()){if(i.type==="Directory"){const r=this.chmod&&i.mode&&(o.mode&4095)!==i.mode;const afterChmod=t=>this[En](t??null,i,done);if(!r){return afterChmod()}return t.chmod(String(i.absolute),Number(i.mode),afterChmod)}if(i.absolute!==this.cwd){return t.rmdir(String(i.absolute),(t=>this[En](t??null,i,done)))}}if(i.absolute===this.cwd){return this[En](null,i,done)}unlinkFile(String(i.absolute),(t=>this[En](t??null,i,done)))}))};if(this[Bn]){start()}else{checkCwd()}}[En](t,r,i){if(t){this[kn](t,r);i();return}switch(r.type){case"File":case"OldFile":case"ContiguousFile":return this[Sn](r,i);case"Link":return this[Pn](r,i);case"SymbolicLink":return this[On](r,i);case"Directory":case"GNUDumpDir":return this[$n](r,i)}}[Rn](r,i,o,a){t[o](i,String(r.absolute),(t=>{if(t){this[kn](t,r)}else{this[Nn]();r.resume()}a()}))}}const callSync=t=>{try{return[null,t()]}catch(t){return[t,null]}};class UnpackSync extends Unpack{sync=true;[En](t,r){return super[En](t,r,(()=>{}))}[_n](i){this[bn](i);if(!this[Bn]){const t=this[Tn](this.cwd,this.dmode);if(t){return this[kn](t,i)}this[Bn]=true}if(i.absolute!==this.cwd){const t=pr(r.dirname(String(i.absolute)));if(t!==this.cwd){const r=this[Tn](t,this.dmode);if(r){return this[kn](r,i)}}}const[o,a]=callSync((()=>t.lstatSync(String(i.absolute))));if(a&&(this.keep||this.newer&&a.mtime>(i.mtime??a.mtime))){return this[Mn](i)}if(o||this[wn](i,a)){return this[En](null,i)}if(a.isDirectory()){if(i.type==="Directory"){const r=this.chmod&&i.mode&&(a.mode&4095)!==i.mode;const[o]=r?callSync((()=>{t.chmodSync(String(i.absolute),Number(i.mode))})):[];return this[En](o,i)}const[r]=callSync((()=>t.rmdirSync(String(i.absolute))));this[En](r,i)}const[c]=i.absolute===this.cwd?[]:callSync((()=>unlinkFileSync(String(i.absolute))));this[En](c,i)}[Sn](r,i){const o=typeof r.mode==="number"?r.mode&4095:this.fmode;const oner=o=>{let c;try{t.closeSync(a)}catch(t){c=t}if(o||c){this[kn](o||c,r)}i()};let a;try{a=t.openSync(String(r.absolute),Xs(r.size),o)}catch(t){return oner(t)}const c=this.transform?this.transform(r)||r:r;if(c!==r){c.on("error",(t=>this[kn](t,r)));r.pipe(c)}c.on("data",(r=>{try{t.writeSync(a,r,0,r.length)}catch(t){oner(t)}}));c.on("end",(()=>{let i=null;if(r.mtime&&!this.noMtime){const o=r.atime||new Date;const c=r.mtime;try{t.futimesSync(a,o,c)}catch(a){try{t.utimesSync(String(r.absolute),o,c)}catch(t){i=a}}}if(this[jn](r)){const o=this[Fn](r);const c=this[Un](r);try{t.fchownSync(a,Number(o),Number(c))}catch(a){try{t.chownSync(String(r.absolute),Number(o),Number(c))}catch(t){i=i||a}}}oner(i)}))}[$n](r,i){const o=typeof r.mode==="number"?r.mode&4095:this.dmode;const a=this[Tn](String(r.absolute),o);if(a){this[kn](a,r);i();return}if(r.mtime&&!this.noMtime){try{t.utimesSync(String(r.absolute),r.atime||new Date,r.mtime)}catch(a){}}if(this[jn](r)){try{t.chownSync(String(r.absolute),Number(this[Fn](r)),Number(this[Un](r)))}catch(a){}}i();r.resume()}[Tn](t,r){try{return mkdirSync(pr(t),{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:r})}catch(t){return t}}[Rn](r,i,o,a){const c=`${o}Sync`;try{t[c](i,String(r.absolute));a();r.resume()}catch(t){return this[kn](t,r)}}}const extractFileSync=r=>{const i=new UnpackSync(r);const o=r.file;const a=t.statSync(o);const c=r.maxReadSize||16*1024*1024;const l=new ReadStreamSync(o,{readSize:c,size:a.size});l.pipe(i)};const extractFile=(r,i)=>{const o=new Unpack(r);const a=r.maxReadSize||16*1024*1024;const c=r.file;const l=new Promise(((r,i)=>{o.on("error",i);o.on("close",r);t.stat(c,((t,r)=>{if(t){i(t)}else{const t=new ReadStream(c,{readSize:a,size:r.size});t.on("error",i);t.pipe(o)}}))}));return l};const zn=makeCommand(extractFileSync,extractFile,(t=>new UnpackSync(t)),(t=>new Unpack(t)),((t,r)=>{if(r?.length)filesFilter(t,r)}));const replaceSync=(r,i)=>{const o=new PackSync(r);let a=true;let c;let l;try{try{c=t.openSync(r.file,"r+")}catch(i){if(i?.code==="ENOENT"){c=t.openSync(r.file,"w+")}else{throw i}}const u=t.fstatSync(c);const h=Buffer.alloc(512);e:for(l=0;l<u.size;l+=512){for(let r=0,i=0;r<512;r+=i){i=t.readSync(c,h,r,h.length-r,l+r);if(l===0&&h[0]===31&&h[1]===139){throw new Error("cannot append to compressed archives")}if(!i){break e}}const i=new Header(h);if(!i.cksumValid){break}const o=512*Math.ceil((i.size||0)/512);if(l+o+512>u.size){break}l+=o;if(r.mtimeCache&&i.mtime){r.mtimeCache.set(String(i.path),i.mtime)}}a=false;streamSync(r,o,l,c,i)}finally{if(a){try{t.closeSync(c)}catch(t){}}}};const streamSync=(t,r,i,o,a)=>{const c=new WriteStreamSync(t.file,{fd:o,start:i});r.pipe(c);replace_addFilesSync(r,a)};const replaceAsync=(r,i)=>{i=Array.from(i);const o=new Pack(r);const getPos=(i,o,a)=>{const cb=(r,o)=>{if(r){t.close(i,(t=>a(r)))}else{a(null,o)}};let c=0;if(o===0){return cb(null,0)}let l=0;const u=Buffer.alloc(512);const onread=(a,h)=>{if(a||typeof h==="undefined"){return cb(a)}l+=h;if(l<512&&h){return t.read(i,u,l,u.length-l,c+l,onread)}if(c===0&&u[0]===31&&u[1]===139){return cb(new Error("cannot append to compressed archives"))}if(l<512){return cb(null,c)}const d=new Header(u);if(!d.cksumValid){return cb(null,c)}const p=512*Math.ceil((d.size??0)/512);if(c+p+512>o){return cb(null,c)}c+=p+512;if(c>=o){return cb(null,c)}if(r.mtimeCache&&d.mtime){r.mtimeCache.set(String(d.path),d.mtime)}l=0;t.read(i,u,0,512,c,onread)};t.read(i,u,0,512,c,onread)};const a=new Promise(((a,c)=>{o.on("error",c);let l="r+";const onopen=(u,h)=>{if(u&&u.code==="ENOENT"&&l==="r+"){l="w+";return t.open(r.file,l,onopen)}if(u||!h){return c(u)}t.fstat(h,((l,u)=>{if(l){return t.close(h,(()=>c(l)))}getPos(h,u.size,((t,l)=>{if(t){return c(t)}const u=new WriteStream(r.file,{fd:h,start:l});o.pipe(u);u.on("error",c);u.on("close",a);replace_addFilesAsync(o,i)}))}))};t.open(r.file,l,onopen)}));return a};const replace_addFilesSync=(t,i)=>{i.forEach((i=>{if(i.charAt(0)==="@"){Wr({file:r.resolve(t.cwd,i.slice(1)),sync:true,noResume:true,onReadEntry:r=>t.add(r)})}else{t.add(i)}}));t.end()};const replace_addFilesAsync=async(t,i)=>{for(let o=0;o<i.length;o++){const a=String(i[o]);if(a.charAt(0)==="@"){await Wr({file:r.resolve(String(t.cwd),a.slice(1)),noResume:true,onReadEntry:r=>t.add(r)})}else{t.add(a)}}t.end()};const qn=makeCommand(replaceSync,replaceAsync,(()=>{throw new TypeError("file is required")}),(()=>{throw new TypeError("file is required")}),((t,r)=>{if(!isFile(t)){throw new TypeError("file is required")}if(t.gzip||t.brotli||t.file.endsWith(".br")||t.file.endsWith(".tbr")){throw new TypeError("cannot append to compressed archives")}if(!r?.length){throw new TypeError("no paths specified to add/replace")}}));const Wn=makeCommand(qn.syncFile,qn.asyncFile,qn.syncNoFile,qn.asyncNoFile,((t,r=[])=>{qn.validate?.(t,r);mtimeFilter(t)}));const mtimeFilter=t=>{const r=t.filter;if(!t.mtimeCache){t.mtimeCache=new Map}t.filter=r?(i,o)=>r(i,o)&&!((t.mtimeCache?.get(i)??o.mtime??0)>(o.mtime??0)):(r,i)=>!((t.mtimeCache?.get(r)??i.mtime??0)>(i.mtime??0))};async function isUrlOk(t){try{const r=await fetch(t,{method:"HEAD"});return r.status===200}catch{return false}}async function getRepoInfo(t,r){const[,i,o,a,c,...l]=t.pathname.split("/");const u=r?r.replace(/^\//,""):l.join("/");if(a===undefined||a===""&&c===undefined){try{const t=await fetch(`https://api.github.com/repos/${i}/${o}`);if(t.status!==200){return}const r=await t.json();return{username:i,name:o,branch:r.default_branch,filePath:u}}catch{return}}const h=r?`${c}/${l.join("/")}`.replace(new RegExp(`/${u}|/$`),""):c;if(i&&o&&h&&a==="tree"){return{username:i,name:o,branch:h,filePath:u}}}function hasRepo({username:t,name:r,branch:i,filePath:o}){const a=`https://api.github.com/repos/${t}/${r}/contents`;const c=`${o?`/${o}`:""}/package.json`;return isUrlOk(`${a}${c}?ref=${i}`)}function existsInRepo(t){try{const r=new URL(t);return isUrlOk(r.href)}catch{return isUrlOk(`https://api.github.com/repos/zuplo/zudoku/contents/examples/${encodeURIComponent(t)}`)}}async function downloadTarStream(t){const r=await fetch(t);if(!r.body){throw new Error(`Failed to download: ${t}`)}return Me.Readable.fromWeb(r.body)}async function downloadAndExtractRepo(t,{username:i,name:o,branch:a,filePath:c}){let l=null;await(0,je.pipeline)(await downloadTarStream(`https://codeload.github.com/${i}/${o}/tar.gz/${a}`),zn({cwd:t,strip:c?c.split("/").length+1:1,filter:t=>{if(l===null){const i=t.split(r.sep);l=i.length?i[0]:null}return t.startsWith(`${l}${c?`/${c}/`:"/"}`)}}))}async function downloadAndExtractExample(t,r){if(r==="__internal-testing-retry"){throw new Error("This is an internal example for testing the CLI.")}await(0,je.pipeline)(await downloadTarStream("https://codeload.github.com/zuplo/zudoku/tar.gz/canary"),zn({cwd:t,strip:2+r.split("/").length,filter:t=>t.includes(`zudoku-canary/examples/${r}/`)}))}var Kn=__nccwpck_require__(1421);function isInGitRepository(){try{(0,Kn.execSync)("git rev-parse --is-inside-work-tree",{stdio:"ignore"});return true}catch{}return false}function isInMercurialRepository(){try{(0,Kn.execSync)("hg --cwd . root",{stdio:"ignore"});return true}catch{}return false}function isDefaultBranchSet(){try{(0,Kn.execSync)("git config init.defaultBranch",{stdio:"ignore"});return true}catch{}return false}function tryGitInit(i){let o=false;try{(0,Kn.execSync)("git --version",{stdio:"ignore"});if(isInGitRepository()||isInMercurialRepository()){return false}(0,Kn.execSync)("git init",{stdio:"ignore"});o=true;if(!isDefaultBranchSet()){(0,Kn.execSync)("git checkout -b main",{stdio:"ignore"})}(0,Kn.execSync)("git add -A",{stdio:"ignore"});(0,Kn.execSync)('git commit -m "Initial commit from Create Next App"',{stdio:"ignore"});return true}catch{if(o){try{(0,t.rmSync)((0,r.join)(i,".git"),{recursive:true,force:true})}catch{}}return false}}var Yn=__nccwpck_require__(6523);var Zn=__nccwpck_require__.n(Yn);async function install(t,r){const i=["install"];if(!r){console.log((0,Te.yellow)("You appear to be offline.\nFalling back to the local cache."));i.push("--offline")}return new Promise(((r,o)=>{const a=Zn()(t,i,{stdio:"inherit",env:{...process.env,ADBLOCK:"1",NODE_ENV:"development",DISABLE_OPENCOLLECTIVE:"1"}});a.on("close",(a=>{if(a!==0){o({command:`${t} ${i.join(" ")}`});return}r()}))}))}function isFolderEmpty(i,o){const a=[".DS_Store",".git",".gitattributes",".gitignore",".gitlab-ci.yml",".hg",".hgcheck",".hgignore",".idea",".npmignore",".travis.yml","LICENSE","Thumbs.db","docs","mkdocs.yml","npm-debug.log","yarn-debug.log","yarn-error.log","yarnrc.yml",".yarn"];const c=(0,t.readdirSync)(i).filter((t=>!a.includes(t)&&!/\.iml$/.test(t)));if(c.length>0){console.log(`The directory ${(0,Te.green)(o)} contains files that could conflict:`);console.log();for(const o of c){try{const a=(0,t.lstatSync)((0,r.join)(i,o));if(a.isDirectory()){console.log(` ${(0,Te.blue)(o)}/`)}else{console.log(` ${o}`)}}catch{console.log(` ${o}`)}}console.log();console.log("Either try using a new directory name, or remove the files listed above.");console.log();return false}return true}const Xn=require("node:dns/promises");const Jn=require("node:url");var Qn=__nccwpck_require__.n(Jn);function getProxy(){if(process.env.https_proxy){return process.env.https_proxy}try{const t=(0,Kn.execSync)("npm config get https-proxy").toString().trim();return t!=="null"?t:undefined}catch{return}}async function getOnline(){try{await(0,Xn.lookup)("registry.yarnpkg.com");return true}catch{const t=getProxy();if(!t){return false}const{hostname:r}=Qn().parse(t);if(!r){return false}try{await(0,Xn.lookup)(r);return true}catch{return false}}}const ei=require("node:constants");const ti=require("node:fs/promises");var ri=__nccwpck_require__.n(ti);async function isWriteable(t){try{await(0,ti.access)(t,ei.W_OK);return true}catch{return false}}var si=__nccwpck_require__(8588);const identity=t=>t;const copy=async(t,i,{cwd:o,rename:a=identity,parents:c=true}={})=>{const l=typeof t==="string"?[t]:t;if(l.length===0||!i){throw new TypeError("`src` and `dest` are required")}const u=await(0,si.async)(l,{cwd:o,dot:true,absolute:false,stats:false});const h=o?(0,r.resolve)(o,i):i;return Promise.all(u.map((async t=>{const i=(0,r.dirname)(t);const l=a((0,r.basename)(t));const u=o?(0,r.resolve)(o,t):t;const d=c?(0,r.join)(h,i,l):(0,r.join)(h,l);await(0,ti.mkdir)((0,r.dirname)(d),{recursive:true});return(0,ti.copyFile)(u,d)})))};const getTemplateFile=({template:t,mode:r,file:o})=>i().join(__dirname,t,r,o);const installTemplate=async({appName:t,root:r,packageManager:o,isOnline:a,template:c,mode:l,eslint:u,skipInstall:h,zudokuVersion:d})=>{var p;console.log((0,Te.bold)(`Using ${o}.`));console.log("\nInitializing project with template:",c,"\n");const m=i().join(__dirname,c,l);const g=["**"];if(!u)g.push("!eslintrc.json");await copy(g,r,{parents:true,cwd:m,rename(t){switch(t){case"gitignore":case"eslintrc.json":{return`.${t}`}case"README-template.md":{return"README.md"}default:{return t}}}});const y=(p=process.env.ZUDOKU_PRIVATE_TEST_VERSION)!==null&&p!==void 0?p:d;const v={name:t,version:"0.1.0",type:"module",private:true,scripts:{dev:"zudoku dev",build:"zudoku build",preview:"zudoku preview",lint:"eslint"},dependencies:{react:">=19.0.0","react-dom":">=19.0.0",zudoku:y},devDependencies:{}};if(l==="ts"){v.devDependencies={...v.devDependencies,"@types/node":"^22","@types/react":"^19","@types/react-dom":"^19",typescript:"^5"}}if(u){v.devDependencies={...v.devDependencies,eslint:"^8"}}if(u&&l==="ts"){v.devDependencies={...v.devDependencies,"@typescript-eslint/eslint-plugin":"^8","@typescript-eslint/parser":"^8"}}const b=Object.keys(v.devDependencies).length;if(!b)delete v.devDependencies;await ri().writeFile(i().join(r,"package.json"),JSON.stringify(v,null,2)+x().EOL);if(h)return;console.log("\nInstalling dependencies:");for(const t in v.dependencies)console.log(`- ${(0,Te.cyan)(t)}`);if(b){console.log("\nInstalling devDependencies:");for(const t in v.devDependencies)console.log(`- ${(0,Te.cyan)(t)}`)}console.log();await install(o,a)};class DownloadError extends Error{}async function createApp({appPath:i,packageManager:o,example:a,examplePath:c,typescript:l,eslint:u,skipInstall:h,zudokuVersion:d}){let p;const m=l?"ts":"js";const g=`default`;if(a){let O;try{O=new URL(a)}catch(P){const A=P;if(A.code!=="ERR_INVALID_URL"){console.error(P);process.exit(1)}}if(O){if(O.origin!=="https://github.com"){console.error(`Invalid URL: ${(0,Te.red)(`"${a}"`)}. Only GitHub repositories are supported. Please use a GitHub URL and try again.`);process.exit(1)}p=await getRepoInfo(O,c);if(!p){console.error(`Found invalid GitHub URL: ${(0,Te.red)(`"${a}"`)}. Please fix the URL and try again.`);process.exit(1)}const x=await hasRepo(p);if(!x){console.error(`Could not locate the repository for ${(0,Te.red)(`"${a}"`)}. Please check that the repository exists and try again.`);process.exit(1)}}else if(a!=="__internal-testing-retry"){const T=await existsInRepo(a);if(!T){console.error(`Could not locate an example named ${(0,Te.red)(`"${a}"`)}. It could be due to the following:\n`,`1. Your spelling of example ${(0,Te.red)(`"${a}"`)} might be incorrect.\n`,`2. You might not be connected to the internet or you are behind a proxy.`);process.exit(1)}}}const y=(0,r.resolve)(i);if(!await isWriteable((0,r.dirname)(y))){console.error("The application path is not writable, please check folder permissions and try again.");console.error("It is likely you do not have write permissions for this folder.");process.exit(1)}const v=(0,r.basename)(y);(0,t.mkdirSync)(y,{recursive:true});if(!isFolderEmpty(y,v)){process.exit(1)}const b=o==="yarn";const w=!b||await getOnline();const E=process.cwd();console.log(`Creating a new Zudoku app in ${(0,Te.green)(y)}.`);console.log();process.chdir(y);const S=(0,r.join)(y,"package.json");let $=false;if(a){try{if(p){const C=p;console.log(`Downloading files from repo ${(0,Te.cyan)(a)}. This might take a moment.`);console.log();await Le()((()=>downloadAndExtractRepo(y,C)),{retries:3})}else{console.log(`Downloading files for example ${(0,Te.cyan)(a)}. This might take a moment.`);console.log();await Le()((()=>downloadAndExtractExample(y,a)),{retries:3})}}catch(I){function isErrorLike(t){return typeof t==="object"&&t!==null&&typeof t.message==="string"}throw new DownloadError(isErrorLike(I)?I.message:String(I))}const k=(0,r.join)(y,".gitignore");if(!(0,t.existsSync)(k)){(0,t.copyFileSync)(getTemplateFile({template:g,mode:m,file:"gitignore"}),k)}$=(0,t.existsSync)(S);if(!h&&$){console.log("Installing packages. This might take a couple of minutes.");console.log();await install(o,w);console.log()}}else{await installTemplate({appName:v,root:y,template:g,mode:m,packageManager:o,isOnline:w,eslint:u,skipInstall:h,zudokuVersion:d})}if(tryGitInit(y)){console.log("Initialized a git repository.");console.log()}let R;if((0,r.join)(E,v)===i){R=v}else{R=i}console.log(`${(0,Te.green)("Success!")} Created ${v} at ${i}`);if($){console.log("Inside that directory, you can run several commands:");console.log();console.log((0,Te.cyan)(` ${o} ${b?"":"run "}dev`));console.log(" Starts the development server.");console.log();console.log((0,Te.cyan)(` ${o} ${b?"":"run "}build`));console.log(" Builds the app for production.");console.log();console.log((0,Te.cyan)(` ${o} start`));console.log(" Runs the built app in production mode.");console.log();console.log("We suggest that you begin by typing:");console.log();console.log((0,Te.cyan)(" cd"),R);console.log(` ${(0,Te.cyan)(`${o} ${b?"":"run "}dev`)}`)}console.log()}function getPkgManager(){var t;const r=(t=process.env.npm_config_user_agent)!==null&&t!==void 0?t:"";if(r.startsWith("yarn")){return"yarn"}if(r.startsWith("pnpm")){return"pnpm"}if(r.startsWith("bun")){return"bun"}return"npm"}var ni=__nccwpck_require__(6831);var ii=__nccwpck_require__.n(ni);function validateNpmName(t){const r=ii()(t);if(r.validForNewPackages){return{valid:true}}return{valid:false,problems:[...r.errors||[],...r.warnings||[]]}}let oi="";const handleSigTerm=()=>process.exit(0);process.on("SIGINT",handleSigTerm);process.on("SIGTERM",handleSigTerm);const onPromptState=t=>{if(t.aborted){process.stdout.write("[?25h");process.stdout.write("\n");process.exit(1)}};const ai=JSON.parse((0,t.readFileSync)(i().resolve(__dirname,"../package.json"),"utf-8"));const ci=new y(ai.name).version(ai.version,"-v, --version","Output the current version of create-zudoku.").argument("[directory]").usage("[directory] [options]").helpOption("-h, --help","Display this help message.").option("--ts, --typescript","Initialize as a TypeScript project. (default)").option("--js, --javascript","Initialize as a JavaScript project.").option("--eslint","Initialize with ESLint config.").option("--import-alias <prefix/*>",'Specify import alias to use (default "@/*").').option("--use-npm","Explicitly tell the CLI to bootstrap the application using npm.").option("--use-pnpm","Explicitly tell the CLI to bootstrap the application using pnpm.").option("--use-yarn","Explicitly tell the CLI to bootstrap the application using Yarn.").option("--use-bun","Explicitly tell the CLI to bootstrap the application using Bun.").option("--reset, --reset-preferences","Reset the preferences saved for create-zudoku.").option("--skip-install","Explicitly tell the CLI to skip installing packages.").option("--yes","Use saved preferences or defaults for unprovided options.").option("-e, --example <example-name|github-url>",`\n\n An example to bootstrap the app with. You can use an example name\n from the official Zudoku repo or a public GitHub URL. The URL can use\n any branch and/or subdirectory.\n`).option("--example-path <path-to-example>",`\n\n In a rare case, your GitHub URL might contain a branch name with\n a slash (e.g. bug/fix-1) and the path to the example (e.g. foo/bar).\n In this case, you must specify the path to the example separately:\n --example-path foo/bar\n`).action((t=>{if(t&&!t.startsWith("--no-")){oi=t}})).allowUnknownOption().parse(process.argv);const li=ci.opts();const{args:ui}=ci;const hi=li.useNpm?"npm":li.usePnpm?"pnpm":li.useYarn?"yarn":li.useBun?"bun":getPkgManager();async function run(){const i=new Conf({projectName:"create-zudoku"});if(li.resetPreferences){const{resetPreferences:t}=await Ce()({onState:onPromptState,type:"toggle",name:"resetPreferences",message:"Would you like to reset the saved preferences?",initial:false,active:"Yes",inactive:"No"});if(t){i.clear();console.log("The preferences have been reset successfully!")}process.exit(0)}if(typeof oi==="string"){oi=oi.trim()}if(!oi){const t=await Ce()({onState:onPromptState,type:"text",name:"path",message:"What is your project named?",initial:"my-app",validate:t=>{const i=validateNpmName((0,r.basename)((0,r.resolve)(t)));if(i.valid){return true}return`Invalid project name: ${i.problems[0]}`}});if(typeof t.path==="string"){oi=t.path.trim()}}if(!oi){console.log("\nPlease specify the project directory:\n"+` ${(0,Te.cyan)(li.name())} ${(0,Te.green)("<project-directory>")}\n`+"For example:\n"+` ${(0,Te.cyan)(li.name())} ${(0,Te.green)("my-zudoku-app")}\n\n`+`Run ${(0,Te.cyan)(`${li.name()} --help`)} to see all options.`);process.exit(1)}const o=(0,r.resolve)(oi);const c=(0,r.basename)(o);const l=validateNpmName(c);if(!l.valid){console.error(`Could not create a project called ${(0,Te.red)(`"${c}"`)} because of npm naming restrictions:`);l.problems.forEach((t=>console.error(` ${(0,Te.red)((0,Te.bold)("*"))} ${t}`)));process.exit(1)}if(li.example===true){console.error("Please provide an example name or url, otherwise remove the example option.");process.exit(1)}if((0,t.existsSync)(o)&&!isFolderEmpty(o,c)){process.exit(1)}const u=typeof li.example==="string"&&li.example.trim();const h=i.get("preferences")||{};const d=a().isCI||li.yes;if(!u){const t={typescript:true,eslint:true,empty:false};const getPrefOrDefault=r=>{var i;return(i=h[r])!==null&&i!==void 0?i:t[r]};if(!li.typescript&&!li.javascript){if(d){li.typescript=getPrefOrDefault("typescript")}else{const t=(0,Te.blue)("TypeScript");const{typescript:r}=await Ce()({type:"toggle",name:"typescript",message:`Would you like to use ${t}?`,initial:getPrefOrDefault("typescript"),active:"Yes",inactive:"No"},{onCancel:()=>{console.error("Exiting.");process.exit(1)}});li.typescript=Boolean(r);li.javascript=!r;h.typescript=Boolean(r)}}if(!li.eslint&&!ui.includes("--no-eslint")){if(d){li.eslint=getPrefOrDefault("eslint")}else{const t=(0,Te.blue)("ESLint");const{eslint:r}=await Ce()({onState:onPromptState,type:"toggle",name:"eslint",message:`Would you like to use ${t}?`,initial:getPrefOrDefault("eslint"),active:"Yes",inactive:"No"});li.eslint=Boolean(r);h.eslint=Boolean(r)}}}try{await createApp({appPath:o,packageManager:hi,example:u&&u!=="default"?u:undefined,examplePath:li.examplePath,typescript:li.typescript,eslint:li.eslint,skipInstall:li.skipInstall,zudokuVersion:ai.version})}catch(t){if(!(t instanceof DownloadError)){throw t}const r=await Ce()({onState:onPromptState,type:"confirm",name:"builtin",message:`Could not download "${u}" because of a connectivity issue between your machine and GitHub.\n`+`Do you want to use the default template instead?`,initial:true});if(!r.builtin){throw t}await createApp({appPath:o,packageManager:hi,typescript:li.typescript,eslint:li.eslint,skipInstall:li.skipInstall,zudokuVersion:ai.version})}i.set("preferences",h)}const di=Ne()(ai).catch((()=>null));async function notifyUpdate(){var t;try{if((t=await di)===null||t===void 0?void 0:t.latest){const t={npm:"npm i -g",yarn:"yarn global add",pnpm:"pnpm add -g",bun:"bun add -g"};const r=`${t[hi]} create-zudoku`;console.log((0,Te.yellow)((0,Te.bold)("A new version of `create-zudoku` is available!"))+"\n"+"You can update by running: "+(0,Te.cyan)(r)+"\n")}process.exit(0)}catch{}}async function exit(t){console.log();console.log("Aborting installation.");if(t.command){console.log(` ${(0,Te.cyan)(t.command)} has failed.`)}else{console.log(`${(0,Te.red)("Unexpected error. Please report it as a bug:")}\n`,t)}console.log();await notifyUpdate();process.exit(1)}run().then(notifyUpdate).catch(exit)})();module.exports=i})();