@jsse/eslint-config 0.9.2 → 0.9.4

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/cli.js CHANGED
@@ -1,5 +1,5 @@
1
1
  #!/usr/bin/env node
2
- import e from"node:fs";import t from"node:fs/promises";import n from"node:process";import r from"node:path";const i=Symbol.for(`@optique/core/parser/annotation`),a=Symbol.for(`@optique/core/parser/annotationStateValue`),o=Symbol.for(`@optique/core/parser/annotationWrapper`),s=new Set([i,a,o]),c=new WeakSet;function l(e){let t=e;if(t[o]!==!0)return!1;let n=Reflect.ownKeys(t);if(n.length!==3||!n.every(e=>s.has(e)))return!1;let r=Object.getOwnPropertyDescriptor(e,i),c=Object.getOwnPropertyDescriptor(e,a),l=Object.getOwnPropertyDescriptor(e,o);return r?.enumerable===!0&&r.writable===!0&&r.configurable===!0&&r.value!=null&&typeof r.value==`object`&&c?.enumerable===!1&&c.writable===!0&&c.configurable===!0&&l?.enumerable===!1&&l.writable===!0&&l.configurable===!0&&l.value===!0}function u(e){if(typeof e!=`object`||!e)return;let t=e[i];if(typeof t==`object`&&t)return t}function d(e,t){let n=u(e);if(n===void 0)return t;let r=t;return r[i]=n,r}function f(e,t){let n=u(e);if(n===void 0)return t;if(typeof t!=`object`||!t||g(t))return m(t,n);if(Array.isArray(t)){let e=[...t];return e[i]=n,e}if(t instanceof Date){let e=new Date(t.getTime());return e[i]=n,e}if(t instanceof Map){let e=new Map(t);return e[i]=n,e}if(t instanceof Set){let e=new Set(t);return e[i]=n,e}if(t instanceof RegExp){let e=new RegExp(t);return e.lastIndex=t.lastIndex,e[i]=n,e}if(Object.getPrototypeOf(t)!==Object.prototype&&Object.getPrototypeOf(t)!==null)return t;let r=Object.create(Object.getPrototypeOf(t),Object.getOwnPropertyDescriptors(t));return r[i]=n,r}function p(e){return e!=null&&Object.getOwnPropertySymbols(e).length>0}function m(e,t){if(!p(t))return e;if(typeof e!=`object`||!e){let n={};return Object.defineProperties(n,{[i]:{value:t,enumerable:!0,writable:!0,configurable:!0},[a]:{value:e,enumerable:!1,writable:!0,configurable:!0},[o]:{value:!0,enumerable:!1,writable:!0,configurable:!0}}),c.add(n),n}if(Array.isArray(e)){let n=[...e];return n[i]=t,n}if(g(e)){let n=h(e);if(n!==e)return m(n,t);let r=Object.create(Object.getPrototypeOf(e),Object.getOwnPropertyDescriptors(e));return r[i]=t,c.add(r),r}if(e instanceof Date){let n=new Date(e.getTime());return n[i]=t,n}if(e instanceof Map){let n=new Map(e);return n[i]=t,n}if(e instanceof Set){let n=new Set(e);return n[i]=t,n}if(e instanceof RegExp){let n=new RegExp(e);return n.lastIndex=e.lastIndex,n[i]=t,n}let n=Object.getPrototypeOf(e);if(n===Object.prototype||n===null){let r=Object.create(n,Object.getOwnPropertyDescriptors(e));return r[i]=t,r}let r=Object.create(n,Object.getOwnPropertyDescriptors(e));return r[i]=t,r}function h(e){return typeof e!=`object`||!e||!l(e)?e:e[a]}function g(e){return typeof e==`object`&&!!e&&(c.has(e)||l(e))}const _=/\x1B(?:\[[0-9;:]*[@-~]|\][^\x1B\x07]*(?:\x1B\\|\x07))/g,v=new Intl.Segmenter(void 0,{granularity:`grapheme`});function y(e){let t=e.replace(_,``),n=0;for(let{segment:e}of v.segment(t))n+=S(e);return n}const b=/^[\p{Cf}\p{Mn}\p{Me}]+$/u,ee=/\p{Emoji_Presentation}/u,te=/\p{Emoji}\uFE0F/u,ne=/^[#*0-9]\uFE0F?\u20E3$/u,re=/\uFE0E/u,x=/[\u{1F1E6}-\u{1F1FF}]/u;function S(e){let t=e.codePointAt(0);if(t==null)return 0;if(t===9)return 1;if(t<32||t>=127&&t<160||b.test(e))return 0;if(ne.test(e)||!re.test(e)&&(ee.test(e)||te.test(e)||x.test(e)))return 2;let n=ie(t)?2:1;for(let r=t>65535?2:1;r<e.length;r++){let t=e.charCodeAt(r);(t===65438||t===65439)&&(n+=1)}return n}function ie(e){return e>=4352&&e<=4447||e>=9001&&e<=9002||e>=9776&&e<=9783||e>=9866&&e<=9871||e>=11904&&e<=12255||e>=12272&&e<=12350||e>=12353&&e<=40959||e>=40960&&e<=42191||e>=43360&&e<=43391||e>=44032&&e<=55215||e>=63744&&e<=64255||e>=65040&&e<=65049||e>=65072&&e<=65135||e>=65281&&e<=65376||e>=65504&&e<=65510||e>=94176&&e<=101759||e>=110576&&e<=111359||e>=127488&&e<=127490||e>=127504&&e<=127547||e>=127552&&e<=127560||e>=127568&&e<=127569||e>=127584&&e<=127589||e>=131072&&e<=196605||e>=196608&&e<=262141}function ae(e){switch(e.type){case`optionNames`:return{...e,optionNames:[...e.optionNames]};case`values`:return{...e,values:[...e.values]};case`url`:return{type:`url`,url:new URL(e.url.href)};default:return{...e}}}function C(e){return e.map(ae)}function w(e,...t){let n=[];for(let r=0;r<e.length;r++){if(e[r]!==``&&n.push({type:`text`,text:e[r]}),r>=t.length)continue;let i=t[r];if(typeof i==`string`)n.push({type:`value`,value:i});else if(Array.isArray(i))n.push(...C(i));else if(typeof i==`object`&&i&&`type`in i)n.push(ae(i));else throw TypeError(`Invalid value type in message: ${typeof i}.`)}return n}function T(e){return{type:`text`,text:e}}function E(e){return{type:`optionName`,optionName:e}}function oe(e){return{type:`optionNames`,optionNames:[...e]}}function D(e){return{type:`metavar`,metavar:e}}function O(e){return{type:`value`,value:e}}function se(e){if(e.length===0)throw TypeError(`values must not be empty.`);return{type:`values`,values:[...e]}}function ce(e){return{type:`commandLine`,commandLine:e}}function le(){return{type:`lineBreak`}}function ue(e,t){if(t==null||typeof t!=`string`&&typeof t.fallback!=`string`)throw TypeError(`valueSet() requires a fallback string or an options object with a fallback field.`);let n=typeof t==`string`?{fallback:t}:t;if(e.length===0)return n.fallback===``?[]:[{type:`text`,text:n.fallback}];let r=new Intl.ListFormat(n?.locale,{type:n?.type,style:n?.style}).formatToParts(e),i=[];for(let e of r)e.type===`element`?i.push({type:`value`,value:e.value}):i.push({type:`text`,text:e.value});return i}function k(e,t={}){let n=t.colors??!1,r=typeof n==`boolean`?n:!0,i=typeof n==`object`?n.resetSuffix??``:``,a=t.quotes??!0,o=`\x1b[0m${i}`;function*s(){let t=/\s*\S+\s*/g,n=!1;for(let s of e){let e=n;if(n=!1,s.type===`text`){let n=e?s.text.replace(/^\n(?!\n)/,``):s.text;if(n.includes(`
2
+ import e from"node:fs";import t from"node:fs/promises";import n from"node:process";import r from"node:path";const i=Symbol.for(`@optique/core/parser/annotation`),a=Symbol.for(`@optique/core/parser/annotationStateValue`),o=Symbol.for(`@optique/core/parser/annotationWrapper`),s=new Set([i,a,o]),c=new WeakSet;function l(e){let t=e;if(t[o]!==!0)return!1;let n=Reflect.ownKeys(t);if(n.length!==3||!n.every(e=>s.has(e)))return!1;let r=Object.getOwnPropertyDescriptor(e,i),c=Object.getOwnPropertyDescriptor(e,a),l=Object.getOwnPropertyDescriptor(e,o);return r?.enumerable===!0&&r.writable===!0&&r.configurable===!0&&r.value!=null&&typeof r.value==`object`&&c?.enumerable===!1&&c.writable===!0&&c.configurable===!0&&l?.enumerable===!1&&l.writable===!0&&l.configurable===!0&&l.value===!0}function u(e){if(typeof e!=`object`||!e)return;let t=e[i];if(typeof t==`object`&&t)return t}function d(e,t){let n=u(e);if(n===void 0)return t;let r=t;return r[i]=n,r}function f(e,t){let n=u(e);if(n===void 0)return t;if(typeof t!=`object`||!t||g(t))return m(t,n);if(Array.isArray(t)){let e=[...t];return e[i]=n,e}if(t instanceof Date){let e=new Date(t.getTime());return e[i]=n,e}if(t instanceof Map){let e=new Map(t);return e[i]=n,e}if(t instanceof Set){let e=new Set(t);return e[i]=n,e}if(t instanceof RegExp){let e=new RegExp(t);return e.lastIndex=t.lastIndex,e[i]=n,e}if(Object.getPrototypeOf(t)!==Object.prototype&&Object.getPrototypeOf(t)!==null)return t;let r=Object.create(Object.getPrototypeOf(t),Object.getOwnPropertyDescriptors(t));return r[i]=n,r}function p(e){return e!=null&&Object.getOwnPropertySymbols(e).length>0}function m(e,t){if(!p(t))return e;if(typeof e!=`object`||!e){let n={};return Object.defineProperties(n,{[i]:{value:t,enumerable:!0,writable:!0,configurable:!0},[a]:{value:e,enumerable:!1,writable:!0,configurable:!0},[o]:{value:!0,enumerable:!1,writable:!0,configurable:!0}}),c.add(n),n}if(Array.isArray(e)){let n=[...e];return n[i]=t,n}if(g(e)){let n=h(e);if(n!==e)return m(n,t);let r=Object.create(Object.getPrototypeOf(e),Object.getOwnPropertyDescriptors(e));return r[i]=t,c.add(r),r}if(e instanceof Date){let n=new Date(e.getTime());return n[i]=t,n}if(e instanceof Map){let n=new Map(e);return n[i]=t,n}if(e instanceof Set){let n=new Set(e);return n[i]=t,n}if(e instanceof RegExp){let n=new RegExp(e);return n.lastIndex=e.lastIndex,n[i]=t,n}let n=Object.getPrototypeOf(e);if(n===Object.prototype||n===null){let r=Object.create(n,Object.getOwnPropertyDescriptors(e));return r[i]=t,r}let r=Object.create(n,Object.getOwnPropertyDescriptors(e));return r[i]=t,r}function h(e){return typeof e!=`object`||!e||!l(e)?e:e[a]}function g(e){return typeof e==`object`&&!!e&&(c.has(e)||l(e))}const _=/\x1B(?:\[[0-9;:]*[@-~]|\][^\x1B\x07]*(?:\x1B\\|\x07))/g,v=new Intl.Segmenter(void 0,{granularity:`grapheme`});function y(e){let t=e.replace(_,``),n=0;for(let{segment:e}of v.segment(t))n+=S(e);return n}const b=/^[\p{Cf}\p{Mn}\p{Me}]+$/u,ee=/\p{Emoji_Presentation}/u,te=/\p{Emoji}\uFE0F/u,ne=/^[#*0-9]\uFE0F?\u20E3$/u,re=/\uFE0E/u,x=/[\u{1F1E6}-\u{1F1FF}]/u;function S(e){let t=e.codePointAt(0);if(t==null)return 0;if(t===9)return 1;if(t<32||t>=127&&t<160||b.test(e))return 0;if(ne.test(e)||!re.test(e)&&(ee.test(e)||te.test(e)||x.test(e)))return 2;let n=ie(t)?2:1;for(let r=t>65535?2:1;r<e.length;r++){let t=e.charCodeAt(r);(t===65438||t===65439)&&(n+=1)}return n}function ie(e){return e>=4352&&e<=4447||e>=9001&&e<=9002||e>=9776&&e<=9783||e>=9866&&e<=9871||e>=11904&&e<=12255||e>=12272&&e<=12350||e>=12353&&e<=40959||e>=40960&&e<=42191||e>=43360&&e<=43391||e>=44032&&e<=55215||e>=63744&&e<=64255||e>=65040&&e<=65049||e>=65072&&e<=65135||e>=65281&&e<=65376||e>=65504&&e<=65510||e>=94176&&e<=101759||e>=110576&&e<=111359||e>=127488&&e<=127490||e>=127504&&e<=127547||e>=127552&&e<=127560||e>=127568&&e<=127569||e>=127584&&e<=127589||e>=131072&&e<=196605||e>=196608&&e<=262141}function ae(e){switch(e.type){case`optionNames`:return{...e,optionNames:[...e.optionNames]};case`values`:return{...e,values:[...e.values]};case`url`:return{type:`url`,url:new URL(e.url.href)};default:return{...e}}}function C(e){return e.map(ae)}function w(e,...t){let n=[];for(let r=0;r<e.length;r++){if(e[r]!==``&&n.push({type:`text`,text:e[r]}),r>=t.length)continue;let i=t[r];if(typeof i==`string`)n.push({type:`value`,value:i});else if(Array.isArray(i))n.push(...C(i));else if(typeof i==`object`&&i&&`type`in i)n.push(ae(i));else throw TypeError(`Invalid value type in message: ${typeof i}.`)}return n}function T(e){return{type:`text`,text:e}}function E(e){return{type:`optionName`,optionName:e}}function oe(e){return{type:`optionNames`,optionNames:[...e]}}function D(e){return{type:`metavar`,metavar:e}}function O(e){return{type:`value`,value:e}}function se(e){if(e.length===0)throw TypeError(`values must not be empty.`);return{type:`values`,values:[...e]}}function ce(e){return{type:`commandLine`,commandLine:e}}function le(){return{type:`lineBreak`}}function ue(e,t){if(t==null||typeof t!=`string`&&typeof t.fallback!=`string`)throw TypeError(`valueSet() requires a fallback string or an options object with a fallback field.`);let n=typeof t==`string`?{fallback:t}:t;if(e.length===0)return n.fallback===``?[]:[{type:`text`,text:n.fallback}];let r=new Intl.ListFormat(n?.locale,{type:n?.type,style:n?.style}).formatToParts(e),i=[];for(let e of r)e.type===`element`?i.push({type:`value`,value:e.value}):i.push({type:`text`,text:e.value});return i}function k(e,t={}){let n=t.colors??!1,r=typeof n!=`boolean`||n,i=typeof n==`object`?n.resetSuffix??``:``,a=t.quotes??!0,o=`\x1b[0m${i}`;function*s(){let t=/\s*\S+\s*/g,n=!1;for(let s of e){let e=n;if(n=!1,s.type===`text`){let n=e?s.text.replace(/^\n(?!\n)/,``):s.text;if(n.includes(`
3
3
 
4
4
  `)){let r=n.split(/\n\n+/);for(let n=0;n<r.length;n++){n>0&&(yield{text:e&&n===1?`
5
5
  `:`
@@ -34,12 +34,12 @@ import e from"node:fs";import t from"node:fs/promises";import n from"node:proces
34
34
  `,c+=k(t.footer,{colors:n.colors,maxWidth:n.maxWidth,quotes:!n.colors})),c}function We(e,t){return e.split(`
35
35
  `).join(`
36
36
  `+` `.repeat(t))}function Ge(e){let t=0;for(let n of e)switch(n.type){case`argument`:j(n.hidden)||(t=Math.max(t,y(n.metavar)));break;case`option`:if(!j(n.hidden)&&n.names.length>0){for(let e of n.names)t=Math.max(t,y(e));n.metavar!=null&&(t=Math.max(t,y(n.metavar)))}break;case`command`:j(n.hidden)||(t=Math.max(t,y(n.name)));break;case`passthrough`:j(n.hidden)||(t=Math.max(t,5));break;case`optional`:t=Math.max(t,Ge(n.terms));break;case`multiple`:{let e=Ge(n.terms);e>0&&(t=Math.max(t,3,e));break}case`exclusive`:for(let e of n.terms){let n=e[0];n?.type===`command`&&j(n.hidden)||(t=Math.max(t,Ge(e)))}break;case`sequence`:t=Math.max(t,Ge(n.terms));break;case`literal`:n.value!==``&&(t=Math.max(t,y(n.value)));break;case`ellipsis`:t=Math.max(t,3);break}return t}function Ke(e,t,n=` `){let r=qe(e);return r>=t?e:e+n.repeat(t-r)}function qe(e){let t=e.lastIndexOf(`
37
- `);return y(t===-1?e:e.slice(t+1))}function P(e,t,n){return e===`async`?n():t()}function F(e,t){if(e===`async`)return Promise.resolve(t);if(t instanceof Promise)throw TypeError(`Synchronous mode cannot wrap Promise value.`);return t}function Je(e,t,n){if(e===`async`)return Promise.resolve(t).then(n);if(t instanceof Promise)throw TypeError(`Synchronous mode cannot map Promise value.`);return n(t)}function Ye(e,t,n){return e===`async`?n():t()}const Xe=Symbol.for(`@optique/core/dependency/dependencySourceMarker`),Ze=Symbol.for(`@optique/core/dependency/derivedValueParserMarker`),Qe=Symbol.for(`@optique/core/dependency/dependencyId`),$e=Symbol.for(`@optique/core/dependency/dependencyIds`),et=Symbol.for(`@optique/core/dependency/defaultValues`),tt=Symbol.for(`@optique/core/dependency/singleDefaultValue`),nt=Symbol.for(`@optique/core/dependency/defaultDependencyValueSnapshot`),rt=Symbol.for(`@optique/core/dependency/parseWithDependency`),it=Symbol.for(`@optique/core/dependency/suggestWithDependency`);function at(e){return Xe in e&&e[Xe]===!0}function ot(e){return Ze in e&&e[Ze]===!0}function st(e){return e[nt]}const ct=Symbol.for(`@optique/core/dependency/deferredParseMarker`);function lt(e){return typeof e==`object`&&!!e&&ct in e&&e[ct]===!0}function ut(e){return $e in e?e[$e]:[e[Qe]]}function dt(e){if(Object.hasOwn(e,et))return e[et]}const ft=Symbol.for(`@optique/core/dependency/dependencySourceStateMarker`);function I(e){return typeof e==`object`&&!!e&&ft in e&&e[ft]===!0}function pt(e,t){return{[ft]:!0,[Qe]:t,result:e}}const mt=Symbol.for(`@optique/core/dependency/pendingDependencySourceStateMarker`);function L(e){return typeof e==`object`&&!!e&&mt in e&&e[mt]===!0}const ht=Symbol.for(`@optique/core/dependency/wrappedDependencySourceMarker`);function gt(e){return typeof e==`object`&&!!e&&ht in e}const _t=new WeakMap;let vt=0;function yt(e){return`${e.length}:${e}`}function bt(e){if(typeof e==`string`)return yt(`s${e}`);if(typeof e==`number`)return yt(`n${e}`);let t=Symbol.keyFor(e);if(t!==void 0)return yt(`r${t}`);let n=_t.get(e);return n===void 0&&(n=`y${vt++}`,_t.set(e,n)),yt(n)}function xt(e){return e.length===0?``:e.map(bt).join(``)}var St=class e{#e;constructor(e){this.#e=e??new Map}get(e){return this.#e.get(xt(e))}set(t,n){let r=new Map(this.#e);return r.set(xt(t),n),new e(r)}delete(t){let n=new Map(this.#e);return n.delete(xt(t)),new e(n)}};function Ct(){return new St}const wt=Symbol.for(`@optique/core/parser/unmatchedNonCliDependencySourceStateMarker`),Tt=Symbol.for(`@optique/core/inheritParentAnnotations`),Et=Symbol.for(`@optique/core/annotationWrapperRequiresSourceBinding`);function Dt(e,t){return{exec:t,trace:t.trace,buffer:e.buffer,state:e.state,optionsTerminated:e.optionsTerminated,usage:t.usage,dependencyRegistry:t.dependencyRegistry}}function Ot(e,t){return m(e,t?.annotations)}function kt(e,t){return t.length>0&&t.length===e.length&&t.every((t,n)=>t===e[n])}function At(e,t,n){return typeof e.getSuggestRuntimeNodes==`function`?e.getSuggestRuntimeNodes(t,n):e.dependencyMetadata?.source==null?[]:[{path:n,parser:e,state:t}]}function jt(e){Object.defineProperty(e,Tt,{value:!0,configurable:!0,enumerable:!1})}function Mt(e){Object.defineProperty(e,Et,{value:!0,configurable:!0,enumerable:!1})}function Nt(e,t){if(e.type!==`exclusive`)return null;for(let n of e.terms){let e=n[0];if(e==null)continue;let r=Ft(e,t,n.slice(1));if(r)return r}return null}function Pt(e,t){for(let n=0;n<e.length;n++){let r=Ft(e[n],t,e.slice(n+1));if(r)return r}return null}function Ft(e,t,n){if(e.type===`command`&&It(e,t))return[e,...n];if(e.type===`exclusive`){let r=Nt(e,t);if(r)return[...r,...n]}else if(e.type===`sequence`){let r=Pt(e.terms,t);if(r)return[...r,...n]}return null}function It(e,t){return e?.type===`command`&&(e.name===t||e.aliases?.includes(t)===!0||e.hiddenAliases?.includes(t)===!0)}function Lt(e,t,n){for(let r of e)if(r.type===`command`){if(It(r,t)){n.add(r.name);for(let e of r.aliases??[])n.add(e);for(let e of r.hiddenAliases??[])n.add(e)}}else if(r.type===`exclusive`)for(let e of r.terms)Lt(e,t,n);else(r.type===`sequence`||r.type===`optional`||r.type===`multiple`)&&Lt(r.terms,t,n)}function Rt(e,t,n,r){let i=new Set([t]);Lt(n,t,i);for(let t=r-1;t>=0;t--)if(i.has(e[t]))return t;return-1}function zt(e,t,n,r,i,a){let o=n?.length??0,s=r??[];if(s.length<=o||t.length<1)return;let c=t.length;for(let n=s.length-1;n>=o&&!(c<=0);n--){let r=s[n],o=Rt(t,r,e,c);o<0||(a.add(i+o),c=o)}}function Bt(e,t,n){let r=Array.isArray(t)?t:[],i=Array.isArray(t)?n:t??n;return e.mode===`sync`?Vt(e,r,i):Ht(e,r,i)}function Vt(e,t,n){let r=Ot(e.initialState,n),i={usage:e.usage,phase:`parse`,path:[],trace:Ct()},a=Dt({buffer:t,state:r,optionsTerminated:!1},i),o=new Set;for(;a.buffer.length>0;){let n=e.parse(a);if(!n.success)break;let r=a.exec?.commandPath,i=a.buffer;a=n.next;let s=i.length-a.buffer.length;if(zt(e.usage,i.slice(0,s),r,a.exec?.commandPath,t.length-i.length,o),kt(i,a.buffer))break}return Ut(e,a,t,o)}async function Ht(e,t,n){let r=Ot(e.initialState,n),i={usage:e.usage,phase:`parse`,path:[],trace:Ct()},a=Dt({buffer:t,state:r,optionsTerminated:!1},i),o=new Set;for(;a.buffer.length>0;){let n=await e.parse(a);if(!n.success)break;let r=a.exec?.commandPath,i=a.buffer;a=n.next;let s=i.length-a.buffer.length;if(zt(e.usage,i.slice(0,s),r,a.exec?.commandPath,t.length-i.length,o),kt(i,a.buffer))break}return Ut(e,a,t,o)}function Ut(e,t,n,r){let i=n,{brief:a,description:o,fragments:s,footer:c}=e.getDocFragments({kind:`available`,state:t.state},void 0);if(n.length===0&&Reflect.get(e,Symbol.for(`@optique/core/commandParser`))===!0&&s.length===1&&s[0].type===`entry`&&s[0].term.type===`command`){let n=s[0].term.name,r=f(t.state,[`matched`,n]),l=e.getDocFragments({kind:`available`,state:r},void 0);({brief:a,description:o,fragments:s,footer:c}=l),i=[n]}let l=[],u=null,d=new Map;for(let e of s)if(e.type===`entry`){if(Fe(e))continue;u??(u={entries:[]},l.push(u)),u.entries.push(ze(e))}else if(e.type===`section`){let t=e.entries.filter(e=>!Fe(e));if(t.length===0)continue;if(e.title==null)u??(u={entries:[]},l.push(u)),u.entries.push(...t.map(ze));else{let n=d.get(e.title);n??(n={title:e.title,entries:[]},d.set(e.title,n),l.push(n)),n.entries.push(...t.map(ze))}}let p=l,m=[...Te(e.usage)],h=(e,t,n,r)=>{if(e?.type!==`command`||!It(e,t)||!n||e.usageLine==null)return;let i=Ae(m.slice(r+1)),a=Te(typeof e.usageLine==`function`?e.usageLine(i):e.usageLine);m.splice(r+1,m.length-(r+1),...a)},g=0,_=Math.max(0,i.length-t.buffer.length),v=n.length>0?r:null;for(let e=0;e<i.length;e++){let t=i[e];if(g>=m.length)break;let n=m[g];if(!(v==null||v.has(e)))continue;let r=null;for(let e=g;e<m.length&&(r=Ft(m[e],t,m.slice(e+1)),r==null);e++);r&&(m.splice(g,m.length-g,...r),n=m[g]),h(n,t,e===i.length-1,g),(r!=null||n.type!==`sequence`||e>=_)&&g++}if(i.length===0&&m.length>0){let e=m[0];if(e.type===`command`&&e.usageLine!=null){let t=Ae(m.slice(1)),n=Te(typeof e.usageLine==`function`?e.usageLine(t):e.usageLine);m.splice(1,m.length-1,...n)}}return{usage:m,sections:p,...a!=null&&{brief:C(a)},...o!=null&&{description:C(o)},...c!=null&&{footer:C(c)}}}const Wt=new WeakMap;let Gt=0;function Kt(e){let t=Symbol.keyFor(e);if(t!==void 0)return`reg:${t}`;let n=Wt.get(e);return n===void 0&&(n=`sym:${Gt++}`,Wt.set(e,n)),n}var qt=class{registry;#e=new Map;#t=new Set;constructor(e){if(e instanceof Jt){this.registry=e.rebindFailedSources(this.#t);return}this.registry=new Jt(e,this.#t)}registerSource(e,t,n){this.registry.set(e,t)}hasSource(e){return this.registry.has(e)}getSource(e){return this.registry.get(e)}resolveDependencies(e){return Yt(this,e)}getReplayResult(e){return this.#e.get(Qt(e))}setReplayResult(e,t){this.#e.set(Qt(e),t)}markSourceFailed(e){this.#t.add(e)}isSourceFailed(e){return this.#t.has(e)}getSuggestionDependencies(e){return Yt(this,e)}},Jt=class e{#e;#t;constructor(e,t){this.#e=e,this.#t=t}set(e,t){this.#e.set(e,t),this.#t.delete(e)}get(e){if(!this.#t.has(e))return this.#e.get(e)}has(e){return this.#t.has(e)?!1:this.#e.has(e)}copyFailedSources(e){for(let t of this.#t)e.add(t)}rebindFailedSources(t){return this.copyFailedSources(t),new e(this.#e,t)}clone(){let t=new Set(this.#t),n=this.#e.clone();return n instanceof e?n.rebindFailedSources(t):new e(n,t)}};function Yt(e,t){let n=[],r=[],i=0,a=0;for(let o=0;o<t.dependencyIds.length;o++){let s=t.dependencyIds[o];e.isSourceFailed(s)?(n.push(void 0),r.push(!1)):e.hasSource(s)?(n.push(e.getSource(s)),r.push(!1),i++):t.defaultValues!=null&&o<t.defaultValues.length?(n.push(t.defaultValues[o]),r.push(!0),a++):(n.push(void 0),r.push(!1))}let o=t.dependencyIds.length,s=i+a,c;return c=s===o?`resolved`:i===0&&a===0?`missing`:`partial`,{kind:c,values:n,usedDefaults:r}}function Xt(e){return`${e.length}:${e}`}function Zt(e){return Xt(typeof e==`string`?`s${e}`:typeof e==`number`?`n${e}`:`y${Kt(e)}`)}function Qt(e){return`${e.path.map(Zt).join(``)}\x01${Xt(e.rawInput)}\x01${e.dependencyFingerprint}\x01${e.parserFingerprint}`}var $t=class e{#e=new Map;set(e,t){this.#e.set(e,t)}get(e){return this.#e.get(e)}has(e){return this.#e.has(e)}clone(){let t=new e;for(let[e,n]of this.#e)t.set(e,n);return t}};function R(e){return new qt(e??new $t)}function en(e){return e.map(e=>{let t=rn(e);return`${t.length}:${t}`}).join(``)}const tn=new WeakMap;let nn=0;function rn(e){if(e===void 0)return`u:`;if(e===null)return`n:`;if(typeof e==`string`)return`s:${e}`;if(typeof e==`number`)return Object.is(e,-0)?`d:-0`:`d:${e}`;if(typeof e==`boolean`)return`b:${e}`;if(typeof e==`symbol`)return`y:${Kt(e)}`;if(typeof e==`object`||typeof e==`function`){let t=tn.get(e);return t===void 0&&(t=nn++,tn.set(e,t)),`o:${t}`}return`?:${String(e)}`}const an=new WeakMap;let on=0;function sn(e){let t=an.get(e);return t===void 0&&(t=on++,an.set(e,t)),`p:${t}`}function cn(e,t,n,r){return{path:e,rawInput:t,dependencyFingerprint:en(n),parserFingerprint:r==null?``:sn(r)}}function ln(e,t){for(let n of e){let e=n.parser.dependencyMetadata;if(e?.source==null||e.source.extractSourceValue==null)continue;let r=e.source.extractSourceValue(n.state);if(dn(r))throw TypeError(`collectExplicitSourceValues() received an async extractSourceValue() result for ${String(e.source.sourceId)}. Use collectExplicitSourceValuesAsync() instead.`);un(e.source.sourceId,r,t)}}function un(e,t,n){t!=null&&(t.success?n.registerSource(e,t.value,`cli`):n.markSourceFailed(e))}function dn(e){return e!=null&&(typeof e==`object`||typeof e==`function`)&&`then`in e&&typeof e.then==`function`}async function fn(e,t){for(let n of e){let e=n.parser.dependencyMetadata;if(e?.source==null||e.source.extractSourceValue==null)continue;let r=await e.source.extractSourceValue(n.state);un(e.source.sourceId,r,t)}}function pn(e,t,n){let r=e.parser.dependencyMetadata;if(r?.derived==null)return;let i=e.defaultDependencyValues;if(i==null&&r.derived.getDefaultDependencyValues!=null)try{i=r.derived.getDefaultDependencyValues()}catch{return}let a=n.resolveDependencies({dependencyIds:r.derived.dependencyIds,defaultValues:i});if(a.kind===`missing`||a.kind===`partial`)return;let o=cn(e.path,t,a.values,r.derived.replayParse),s=n.getReplayResult(o);if(s!=null)return s;let c=r.derived.replayParse(t,a.values);if(dn(c))throw TypeError(`replayDerivedParser() received an async replayParse() result. Use replayDerivedParserAsync() instead.`);return n.setReplayResult(o,c),c}async function mn(e,t,n){let r=e.parser.dependencyMetadata;if(r?.derived==null)return;let i=e.defaultDependencyValues;if(i==null&&r.derived.getDefaultDependencyValues!=null)try{i=r.derived.getDefaultDependencyValues()}catch{return}let a=n.resolveDependencies({dependencyIds:r.derived.dependencyIds,defaultValues:i});if(a.kind===`missing`||a.kind===`partial`)return;let o=cn(e.path,t,a.values,r.derived.replayParse),s=n.getReplayResult(o);if(s!=null)return s;let c=await r.derived.replayParse(t,a.values);return n.setReplayResult(o,c),c}function hn(e){if(typeof e!=`object`||!e)return!1;let t=Object.getPrototypeOf(e);return t===Object.prototype||t===null}function gn(e,t){let n=e.dependencyIds!=null&&e.dependencyIds.length>0,r=n?e.dependencyIds:[e.dependencyId],i=t.resolveDependencies({dependencyIds:r,defaultValues:e.defaultValues});if(i.kind!==`resolved`||i.usedDefaults.every(e=>e))return e.preliminaryResult;let a=n?i.values:i.values[0],o=e.parser[rt](e.rawInput,a);if(dn(o))throw TypeError(`resolveStateWithRuntime() received an async parseWithDependency() result. Use resolveStateWithRuntimeAsync() instead.`);return o}function _n(e,t){let n=e.dependencyIds!=null&&e.dependencyIds.length>0,r=n?e.dependencyIds:[e.dependencyId],i=t.resolveDependencies({dependencyIds:r,defaultValues:e.defaultValues});if(i.kind!==`resolved`||i.usedDefaults.every(e=>e))return Promise.resolve(e.preliminaryResult);let a=n?i.values:i.values[0];return Promise.resolve(e.parser[rt](e.rawInput,a))}function vn(e,t,n=new WeakSet,r){if(!(typeof e!=`object`||!e)&&!n.has(e)){if(n.add(e),I(e)){let n=e[Qe],r=e.result;n!=null&&r.success?t.registerSource(n,r.value,`cli`):n!=null&&t.markSourceFailed(n);return}if(!lt(e)){if(Array.isArray(e)){for(let r of e)vn(r,t,n);return}if(typeof e==`object`)for(let i of Reflect.ownKeys(e))r?.has(i)||vn(e[i],t,n)}}}function yn(e,t){return vn(e,t),bn(e,t)}function bn(e,t,n=new WeakSet,r=new WeakMap){if(e==null)return e;if(lt(e)){let n=r.get(e);if(n!==void 0)return n;let i=gn(e,t);return r.set(e,i),i}if(I(e))return e;if(typeof e==`object`){if(n.has(e))return e;n.add(e)}if(Array.isArray(e)){let i=e.map(e=>bn(e,t,n,r));return i.every((t,n)=>t===e[n])?e:i}if(hn(e)){let i=Reflect.ownKeys(e).map(i=>[i,bn(e[i],t,n,r)]);if(i.every(([t,n])=>n===e[t]))return e;let a=Object.create(Object.getPrototypeOf(e));for(let[e,t]of i)a[e]=t;return a}return e}function xn(e,t){return vn(e,t),Sn(e,t)}async function Sn(e,t,n=new WeakSet,r=new WeakMap){if(e==null)return e;if(lt(e)){let n=r.get(e);if(n!==void 0)return n;let i=_n(e,t);return r.set(e,i),i}if(I(e))return e;if(typeof e==`object`){if(n.has(e))return e;n.add(e)}if(Array.isArray(e)){let i=await Promise.all(e.map(e=>Sn(e,t,n,r)));return i.every((t,n)=>t===e[n])?e:i}if(hn(e)){let i=Reflect.ownKeys(e),a=await Promise.all(i.map(async i=>[i,await Sn(e[i],t,n,r)]));if(a.every(([t,n])=>n===e[t]))return e;let o=Object.create(Object.getPrototypeOf(e));for(let[e,t]of a)o[e]=t;return o}return e}function Cn(e,t){if(e===void 0)return!1;let n=Array.isArray(e)&&e.length===1?e[0]:e;return!(L(n)||t[wt]===!0&&typeof n==`object`&&n&&Object.hasOwn(n,`hasCliValue`)&&n.hasCliValue===!1||e===t.initialState)}function z(e,t,n){let r=n??[],i=[];for(let[n,a]of e){let e=Object.hasOwn(t,n)?t[n]:void 0;i.push({path:[...r,n],parser:a,state:e,matched:Cn(e,a)})}return i}const wn=new WeakMap,Tn=new WeakMap;function En(e){return typeof e!=`object`||!e?e:wn.get(e)??e}function Dn(e){return typeof e!=`object`||!e?e:Tn.get(e)??e}function On(e,t){let n=En(e),r=new Proxy(n,{get(e,n){if(n===i)return t;let r=Reflect.get(e,n,e);return typeof r==`function`?r.bind(e):r},has(e,t){return t===i||Reflect.has(e,t)}});return wn.set(r,n),r}function kn(e){return h(e)}function An(e){let t=Object.getPrototypeOf(e);return t===Array.prototype||t===Date.prototype||t===Map.prototype||t===Set.prototype||t===RegExp.prototype?!1:t!==Object.prototype&&t!==null}function jn(e,t){let n=B(t),r=f(e,n);return r!==n&&Tn.set(r,n),r}function B(e){return kn(Dn(En(e)))}function Mn(e){return typeof e==`object`&&!!e&&(g(e)||Tn.has(e)||wn.has(e))}function Nn(e){return e.clone??=e.createClone(),e.clone}function Pn(e,t,n){if(typeof e!=`object`||!e)return;let r=n.get(e);return r!=null&&r.clone!=null&&r.clone===t&&(!r.finalized||r.preferCloneOnRead)?r:void 0}function Fn(e){if(!Array.isArray(e))return Object.create(Object.getPrototypeOf(e));if(Object.getPrototypeOf(e)===Array.prototype)return[];try{return e.slice(0,0)}catch{return[]}}function In(e){let t=Object.getPrototypeOf(e);if(e instanceof Map&&t===Map.prototype)return new Map;if(e instanceof Set&&t===Set.prototype)return new Set;let n=e.constructor;if(typeof n==`function`)try{return new n}catch{}return e instanceof Map?new Map:new Set}function Ln(e,t,n){let r={clone:void 0,createClone:()=>Fn(e),finalized:!1,result:e,preferCloneOnRead:!1};t.set(e,r);let i=new Map,a=!1,o=!1;for(let n of Reflect.ownKeys(e)){let r=Object.getOwnPropertyDescriptor(e,n);if(r==null||!(`value`in r))continue;let s=Bn(r.value,t,!0);s!==r.value&&(i.set(n,s),Pn(r.value,s,t)==null?a=!0:o=!0)}if(!a&&!o)return r.finalized=!0,r.result=e,e;let s=Object.getOwnPropertyDescriptors(e);for(let[e,t]of i){let n=s[e];n==null||!(`value`in n)||(s[e]={...n,value:t})}let c=Nn(r);return Object.defineProperties(c,s),r.finalized=!0,r.preferCloneOnRead=!a&&o,r.result=a?c:e,a||n?c:e}function Rn(e,t,n){let r={clone:void 0,createClone:()=>In(e),finalized:!1,result:e,preferCloneOnRead:!1};t.set(e,r);let i=[],a=new Map,o=!1,s=!1;for(let[n,r]of e){let e=Bn(n,t,!0),a=Bn(r,t,!0);i.push([e,a]),e!==n&&(Pn(n,e,t)==null?o=!0:s=!0),a!==r&&(Pn(r,a,t)==null?o=!0:s=!0)}for(let n of Reflect.ownKeys(e)){let r=Object.getOwnPropertyDescriptor(e,n);if(r==null||!(`value`in r))continue;let i=Bn(r.value,t,!0);i!==r.value&&(a.set(n,i),Pn(r.value,i,t)==null?o=!0:s=!0)}if(!o&&!s)return r.finalized=!0,r.result=e,e;let c=Nn(r);for(let[e,t]of i)c.set(e,t);let l=Object.getOwnPropertyDescriptors(e);for(let[e,t]of a){let n=l[e];n==null||!(`value`in n)||(l[e]={...n,value:t})}return Object.defineProperties(c,l),r.finalized=!0,r.preferCloneOnRead=!o&&s,r.result=o?c:e,o||n?c:e}function zn(e,t,n){let r={clone:void 0,createClone:()=>In(e),finalized:!1,result:e,preferCloneOnRead:!1};t.set(e,r);let i=[],a=new Map,o=!1,s=!1;for(let n of e){let e=Bn(n,t,!0);i.push(e),e!==n&&(Pn(n,e,t)==null?o=!0:s=!0)}for(let n of Reflect.ownKeys(e)){let r=Object.getOwnPropertyDescriptor(e,n);if(r==null||!(`value`in r))continue;let i=Bn(r.value,t,!0);i!==r.value&&(a.set(n,i),Pn(r.value,i,t)==null?o=!0:s=!0)}if(!o&&!s)return r.finalized=!0,r.result=e,e;let c=Nn(r);for(let e of i)c.add(e);let l=Object.getOwnPropertyDescriptors(e);for(let[e,t]of a){let n=l[e];n==null||!(`value`in n)||(l[e]={...n,value:t})}return Object.defineProperties(c,l),r.finalized=!0,r.preferCloneOnRead=!o&&s,r.result=o?c:e,o||n?c:e}function Bn(e,t=new WeakMap,n=!1){let r=B(e);if(typeof r!=`object`||!r)return r;let i=r,a=t.get(i);if(a!=null)return a.finalized?n&&a.preferCloneOnRead?Nn(a):a.result:Nn(a);if(Array.isArray(i))return Ln(i,t,n);if(i instanceof Map)return Rn(i,t,n);if(i instanceof Set)return zn(i,t,n);let o=Object.getPrototypeOf(i);return o!==Object.prototype&&o!==null?r:Ln(i,t,n)}function Vn(e,t){let n=u(e);return n===void 0?t:g(t)?m(kn(t),n):typeof t!=`object`||!t?m(t,n):u(t)===n&&(Tn.has(t)||wn.has(t))?t:An(t)?On(t,n):jn(e,t)}function Hn(e){return kn(e)===void 0}function Un(e,t,n){let r=u(e),i=Reflect.get(n,Tt)===!0;if(t==null)return r!==void 0&&i?m(t,r):t;if(r===void 0||typeof t!=`object`||u(t)===r||!i)return t;let a=m(t,r);return u(a)===r?a:t}function V(e,t,n){let r=u(e),i=Reflect.get(n,Tt)===!0;if(t==null)return r!==void 0&&i?m(t,r):t;if(r===void 0||typeof t!=`object`||u(t)===r)return t;if(i){let e=m(t,r);if(u(e)===r)return e}return On(t,r)}function Wn(e,t){let n=u(e);return n===void 0||typeof t!=`object`||!t||u(t)===n?t:f(e,t)}const Gn=Symbol(`allowDuplicateLeadingCommandNames`),Kn=Symbol(`hiddenCommandAliases`);function H(e,t){if(e!=null)return{...e,path:[...e.path??[],t]}}function U(e,t){return e==null?t:t==null?e:{...e,trace:t.trace??e.trace,dependencyRuntime:t.dependencyRuntime??e.dependencyRuntime,dependencyRegistry:t.dependencyRegistry??e.dependencyRegistry,commandPath:t.commandPath??e.commandPath,preCompletedByParser:t.preCompletedByParser??e.preCompletedByParser,excludedSourceFields:t.excludedSourceFields??e.excludedSourceFields}}function W(e,t,n,r){let i=H(e.exec,t),a=e.dependencyRegistry??i?.dependencyRegistry;return{...e,state:n,...r==null?{}:{usage:r},...i==null?{}:{exec:a===i.dependencyRegistry?i:{...i,dependencyRegistry:a},dependencyRegistry:a}}}const qn=Symbol(`@optique/core/extractPhase2Seed`);function Jn(e){return{value:h(e.value),...e.deferred?{deferred:!0}:{},...e.deferredKeys==null?{}:{deferredKeys:e.deferredKeys}}}function G(e,t,n){return P(e.mode,()=>{let r=e[qn];return r==null?null:r(t,n)},async()=>{let r=e[qn];return r==null?null:await r(t,n)})}function K(e,t,n){return P(e.mode,()=>{let r=e.complete(t,n);return r.success?Jn(r):G(e,t,n)},async()=>{let r=await e.complete(t,n);return r.success?Jn(r):await G(e,t,n)})}function Yn(e,t){if(e.length===0)return t.length;if(t.length===0)return e.length;e.length>t.length&&([e,t]=[t,e]);let n=Array(e.length+1),r=Array(e.length+1);for(let t=0;t<=e.length;t++)n[t]=t;for(let i=1;i<=t.length;i++){r[0]=i;for(let a=1;a<=e.length;a++){let o=e[a-1]===t[i-1]?0:1;r[a]=Math.min(r[a-1]+1,n[a]+1,n[a-1]+o)}[n,r]=[r,n]}return n[e.length]}const Xn={maxDistance:3,maxDistanceRatio:.5,maxSuggestions:3,caseSensitive:!1};function Zn(e,t,n={}){let r=n.maxDistance??Xn.maxDistance,i=n.maxDistanceRatio??Xn.maxDistanceRatio,a=n.maxSuggestions??Xn.maxSuggestions,o=n.caseSensitive??Xn.caseSensitive;if(e.length===0)return[];let s=o?e:e.toLowerCase(),c=[],l=new Set;for(let n of t){let t=o?n:n.toLowerCase();if(l.has(n))continue;l.add(n);let a=Yn(s,t);if(a===0)return[n];let u=a/e.length;a<=r&&u<=i&&c.push({candidate:n,distance:a})}return c.sort((t,n)=>{if(t.distance!==n.distance)return t.distance-n.distance;let r=Math.abs(t.candidate.length-e.length),i=Math.abs(n.candidate.length-e.length);return r===i?t.candidate.localeCompare(n.candidate):r-i}),c.slice(0,a).map(e=>e.candidate)}function Qn(e){if(e.length===0)return[];if(e.length===1)return w`Did you mean ${E(e[0])}?`;let t=[T(`Did you mean one of these?`)];for(let n of e)t.push(T(`
37
+ `);return y(t===-1?e:e.slice(t+1))}function P(e,t,n){return e===`async`?n():t()}function F(e,t){if(e===`async`)return Promise.resolve(t);if(t instanceof Promise)throw TypeError(`Synchronous mode cannot wrap Promise value.`);return t}function Je(e,t,n){if(e===`async`)return Promise.resolve(t).then(n);if(t instanceof Promise)throw TypeError(`Synchronous mode cannot map Promise value.`);return n(t)}function Ye(e,t,n){return e===`async`?n():t()}const Xe=Symbol.for(`@optique/core/dependency/dependencySourceMarker`),Ze=Symbol.for(`@optique/core/dependency/derivedValueParserMarker`),Qe=Symbol.for(`@optique/core/dependency/dependencyId`),$e=Symbol.for(`@optique/core/dependency/dependencyIds`),et=Symbol.for(`@optique/core/dependency/defaultValues`),tt=Symbol.for(`@optique/core/dependency/singleDefaultValue`),nt=Symbol.for(`@optique/core/dependency/defaultDependencyValueSnapshot`),rt=Symbol.for(`@optique/core/dependency/parseWithDependency`),it=Symbol.for(`@optique/core/dependency/suggestWithDependency`);function at(e){return Xe in e&&e[Xe]===!0}function ot(e){return Ze in e&&e[Ze]===!0}function st(e){return e[nt]}const ct=Symbol.for(`@optique/core/dependency/deferredParseMarker`);function lt(e){return typeof e==`object`&&!!e&&ct in e&&e[ct]===!0}function ut(e){return $e in e?e[$e]:[e[Qe]]}function dt(e){if(Object.hasOwn(e,et))return e[et]}const ft=Symbol.for(`@optique/core/dependency/dependencySourceStateMarker`);function I(e){return typeof e==`object`&&!!e&&ft in e&&e[ft]===!0}function pt(e,t){return{[ft]:!0,[Qe]:t,result:e}}const mt=Symbol.for(`@optique/core/dependency/pendingDependencySourceStateMarker`);function L(e){return typeof e==`object`&&!!e&&mt in e&&e[mt]===!0}const ht=Symbol.for(`@optique/core/dependency/wrappedDependencySourceMarker`);function gt(e){return typeof e==`object`&&!!e&&ht in e}const _t=new WeakMap;let vt=0;function yt(e){return`${e.length}:${e}`}function bt(e){if(typeof e==`string`)return yt(`s${e}`);if(typeof e==`number`)return yt(`n${e}`);let t=Symbol.keyFor(e);if(t!==void 0)return yt(`r${t}`);let n=_t.get(e);return n===void 0&&(n=`y${vt++}`,_t.set(e,n)),yt(n)}function xt(e){return e.length===0?``:e.map(bt).join(``)}var St=class e{#e;constructor(e){this.#e=e??new Map}get(e){return this.#e.get(xt(e))}set(t,n){let r=new Map(this.#e);return r.set(xt(t),n),new e(r)}delete(t){let n=new Map(this.#e);return n.delete(xt(t)),new e(n)}};function Ct(){return new St}const wt=Symbol.for(`@optique/core/parser/unmatchedNonCliDependencySourceStateMarker`),Tt=Symbol.for(`@optique/core/inheritParentAnnotations`),Et=Symbol.for(`@optique/core/annotationWrapperRequiresSourceBinding`);function Dt(e,t){return{exec:t,trace:t.trace,buffer:e.buffer,state:e.state,optionsTerminated:e.optionsTerminated,usage:t.usage,dependencyRegistry:t.dependencyRegistry}}function Ot(e,t){return m(e,t?.annotations)}function kt(e,t){return t.length>0&&t.length===e.length&&t.every((t,n)=>t===e[n])}function At(e,t,n){return typeof e.getSuggestRuntimeNodes==`function`?e.getSuggestRuntimeNodes(t,n):e.dependencyMetadata?.source==null?[]:[{path:n,parser:e,state:t}]}function jt(e){Object.defineProperty(e,Tt,{value:!0,configurable:!0,enumerable:!1})}function Mt(e){Object.defineProperty(e,Et,{value:!0,configurable:!0,enumerable:!1})}function Nt(e,t){if(e.type!==`exclusive`)return null;for(let n of e.terms){let e=n[0];if(e==null)continue;let r=Ft(e,t,n.slice(1));if(r)return r}return null}function Pt(e,t){for(let n=0;n<e.length;n++){let r=Ft(e[n],t,e.slice(n+1));if(r)return r}return null}function Ft(e,t,n){if(e.type===`command`&&It(e,t))return[e,...n];if(e.type===`exclusive`){let r=Nt(e,t);if(r)return[...r,...n]}else if(e.type===`sequence`){let r=Pt(e.terms,t);if(r)return[...r,...n]}return null}function It(e,t){return e?.type===`command`&&(e.name===t||e.aliases?.includes(t)===!0||e.hiddenAliases?.includes(t)===!0)}function Lt(e,t,n){for(let r of e)if(r.type===`command`){if(It(r,t)){n.add(r.name);for(let e of r.aliases??[])n.add(e);for(let e of r.hiddenAliases??[])n.add(e)}}else if(r.type===`exclusive`)for(let e of r.terms)Lt(e,t,n);else(r.type===`sequence`||r.type===`optional`||r.type===`multiple`)&&Lt(r.terms,t,n)}function Rt(e,t,n,r){let i=new Set([t]);Lt(n,t,i);for(let t=r-1;t>=0;t--)if(i.has(e[t]))return t;return-1}function zt(e,t,n,r,i,a){let o=n?.length??0,s=r??[];if(s.length<=o||t.length<1)return;let c=t.length;for(let n=s.length-1;n>=o&&!(c<=0);n--){let r=s[n],o=Rt(t,r,e,c);o<0||(a.add(i+o),c=o)}}function Bt(e,t,n){let r=Array.isArray(t)?t:[],i=Array.isArray(t)?n:t??n;return e.mode===`sync`?Vt(e,r,i):Ht(e,r,i)}function Vt(e,t,n){let r=Ot(e.initialState,n),i={usage:e.usage,phase:`parse`,path:[],trace:Ct()},a=Dt({buffer:t,state:r,optionsTerminated:!1},i),o=new Set;for(;a.buffer.length>0;){let n=e.parse(a);if(!n.success)break;let r=a.exec?.commandPath,i=a.buffer;a=n.next;let s=i.length-a.buffer.length;if(zt(e.usage,i.slice(0,s),r,a.exec?.commandPath,t.length-i.length,o),kt(i,a.buffer))break}return Ut(e,a,t,o)}async function Ht(e,t,n){let r=Ot(e.initialState,n),i={usage:e.usage,phase:`parse`,path:[],trace:Ct()},a=Dt({buffer:t,state:r,optionsTerminated:!1},i),o=new Set;for(;a.buffer.length>0;){let n=await e.parse(a);if(!n.success)break;let r=a.exec?.commandPath,i=a.buffer;a=n.next;let s=i.length-a.buffer.length;if(zt(e.usage,i.slice(0,s),r,a.exec?.commandPath,t.length-i.length,o),kt(i,a.buffer))break}return Ut(e,a,t,o)}function Ut(e,t,n,r){let i=n,{brief:a,description:o,fragments:s,footer:c}=e.getDocFragments({kind:`available`,state:t.state},void 0);if(n.length===0&&Reflect.get(e,Symbol.for(`@optique/core/commandParser`))===!0&&s.length===1&&s[0].type===`entry`&&s[0].term.type===`command`){let n=s[0].term.name,r=f(t.state,[`matched`,n]),l=e.getDocFragments({kind:`available`,state:r},void 0);({brief:a,description:o,fragments:s,footer:c}=l),i=[n]}let l=[],u=null,d=new Map;for(let e of s)if(e.type===`entry`){if(Fe(e))continue;u??(u={entries:[]},l.push(u)),u.entries.push(ze(e))}else if(e.type===`section`){let t=e.entries.filter(e=>!Fe(e));if(t.length===0)continue;if(e.title==null)u??(u={entries:[]},l.push(u)),u.entries.push(...t.map(ze));else{let n=d.get(e.title);n??(n={title:e.title,entries:[]},d.set(e.title,n),l.push(n)),n.entries.push(...t.map(ze))}}let p=l,m=[...Te(e.usage)],h=(e,t,n,r)=>{if(e?.type!==`command`||!It(e,t)||!n||e.usageLine==null)return;let i=Ae(m.slice(r+1)),a=Te(typeof e.usageLine==`function`?e.usageLine(i):e.usageLine);m.splice(r+1,m.length-(r+1),...a)},g=0,_=Math.max(0,i.length-t.buffer.length),v=n.length>0?r:null;for(let e=0;e<i.length;e++){let t=i[e];if(g>=m.length)break;let n=m[g];if(!(v==null||v.has(e)))continue;let r=null;for(let e=g;e<m.length&&(r=Ft(m[e],t,m.slice(e+1)),r==null);e++);r&&(m.splice(g,m.length-g,...r),n=m[g]),h(n,t,e===i.length-1,g),(r!=null||n.type!==`sequence`||e>=_)&&g++}if(i.length===0&&m.length>0){let e=m[0];if(e.type===`command`&&e.usageLine!=null){let t=Ae(m.slice(1)),n=Te(typeof e.usageLine==`function`?e.usageLine(t):e.usageLine);m.splice(1,m.length-1,...n)}}return{usage:m,sections:p,...a!=null&&{brief:C(a)},...o!=null&&{description:C(o)},...c!=null&&{footer:C(c)}}}const Wt=new WeakMap;let Gt=0;function Kt(e){let t=Symbol.keyFor(e);if(t!==void 0)return`reg:${t}`;let n=Wt.get(e);return n===void 0&&(n=`sym:${Gt++}`,Wt.set(e,n)),n}var qt=class{registry;#e=new Map;#t=new Set;constructor(e){if(e instanceof Jt){this.registry=e.rebindFailedSources(this.#t);return}this.registry=new Jt(e,this.#t)}registerSource(e,t,n){this.registry.set(e,t)}hasSource(e){return this.registry.has(e)}getSource(e){return this.registry.get(e)}resolveDependencies(e){return Yt(this,e)}getReplayResult(e){return this.#e.get(Qt(e))}setReplayResult(e,t){this.#e.set(Qt(e),t)}markSourceFailed(e){this.#t.add(e)}isSourceFailed(e){return this.#t.has(e)}getSuggestionDependencies(e){return Yt(this,e)}},Jt=class e{#e;#t;constructor(e,t){this.#e=e,this.#t=t}set(e,t){this.#e.set(e,t),this.#t.delete(e)}get(e){if(!this.#t.has(e))return this.#e.get(e)}has(e){return!this.#t.has(e)&&this.#e.has(e)}copyFailedSources(e){for(let t of this.#t)e.add(t)}rebindFailedSources(t){return this.copyFailedSources(t),new e(this.#e,t)}clone(){let t=new Set(this.#t),n=this.#e.clone();return n instanceof e?n.rebindFailedSources(t):new e(n,t)}};function Yt(e,t){let n=[],r=[],i=0,a=0;for(let o=0;o<t.dependencyIds.length;o++){let s=t.dependencyIds[o];e.isSourceFailed(s)?(n.push(void 0),r.push(!1)):e.hasSource(s)?(n.push(e.getSource(s)),r.push(!1),i++):t.defaultValues!=null&&o<t.defaultValues.length?(n.push(t.defaultValues[o]),r.push(!0),a++):(n.push(void 0),r.push(!1))}let o=t.dependencyIds.length,s=i+a,c;return c=s===o?`resolved`:i===0&&a===0?`missing`:`partial`,{kind:c,values:n,usedDefaults:r}}function Xt(e){return`${e.length}:${e}`}function Zt(e){return Xt(typeof e==`string`?`s${e}`:typeof e==`number`?`n${e}`:`y${Kt(e)}`)}function Qt(e){return`${e.path.map(Zt).join(``)}\x01${Xt(e.rawInput)}\x01${e.dependencyFingerprint}\x01${e.parserFingerprint}`}var $t=class e{#e=new Map;set(e,t){this.#e.set(e,t)}get(e){return this.#e.get(e)}has(e){return this.#e.has(e)}clone(){let t=new e;for(let[e,n]of this.#e)t.set(e,n);return t}};function R(e){return new qt(e??new $t)}function en(e){return e.map(e=>{let t=rn(e);return`${t.length}:${t}`}).join(``)}const tn=new WeakMap;let nn=0;function rn(e){if(e===void 0)return`u:`;if(e===null)return`n:`;if(typeof e==`string`)return`s:${e}`;if(typeof e==`number`)return Object.is(e,-0)?`d:-0`:`d:${e}`;if(typeof e==`boolean`)return`b:${e}`;if(typeof e==`symbol`)return`y:${Kt(e)}`;if(typeof e==`object`||typeof e==`function`){let t=tn.get(e);return t===void 0&&(t=nn++,tn.set(e,t)),`o:${t}`}return`?:${String(e)}`}const an=new WeakMap;let on=0;function sn(e){let t=an.get(e);return t===void 0&&(t=on++,an.set(e,t)),`p:${t}`}function cn(e,t,n,r){return{path:e,rawInput:t,dependencyFingerprint:en(n),parserFingerprint:r==null?``:sn(r)}}function ln(e,t){for(let n of e){let e=n.parser.dependencyMetadata;if(e?.source==null||e.source.extractSourceValue==null)continue;let r=e.source.extractSourceValue(n.state);if(dn(r))throw TypeError(`collectExplicitSourceValues() received an async extractSourceValue() result for ${String(e.source.sourceId)}. Use collectExplicitSourceValuesAsync() instead.`);un(e.source.sourceId,r,t)}}function un(e,t,n){t!=null&&(t.success?n.registerSource(e,t.value,`cli`):n.markSourceFailed(e))}function dn(e){return e!=null&&(typeof e==`object`||typeof e==`function`)&&`then`in e&&typeof e.then==`function`}async function fn(e,t){for(let n of e){let e=n.parser.dependencyMetadata;if(e?.source==null||e.source.extractSourceValue==null)continue;let r=await e.source.extractSourceValue(n.state);un(e.source.sourceId,r,t)}}function pn(e,t,n){let r=e.parser.dependencyMetadata;if(r?.derived==null)return;let i=e.defaultDependencyValues;if(i==null&&r.derived.getDefaultDependencyValues!=null)try{i=r.derived.getDefaultDependencyValues()}catch{return}let a=n.resolveDependencies({dependencyIds:r.derived.dependencyIds,defaultValues:i});if(a.kind===`missing`||a.kind===`partial`)return;let o=cn(e.path,t,a.values,r.derived.replayParse),s=n.getReplayResult(o);if(s!=null)return s;let c=r.derived.replayParse(t,a.values);if(dn(c))throw TypeError(`replayDerivedParser() received an async replayParse() result. Use replayDerivedParserAsync() instead.`);return n.setReplayResult(o,c),c}async function mn(e,t,n){let r=e.parser.dependencyMetadata;if(r?.derived==null)return;let i=e.defaultDependencyValues;if(i==null&&r.derived.getDefaultDependencyValues!=null)try{i=r.derived.getDefaultDependencyValues()}catch{return}let a=n.resolveDependencies({dependencyIds:r.derived.dependencyIds,defaultValues:i});if(a.kind===`missing`||a.kind===`partial`)return;let o=cn(e.path,t,a.values,r.derived.replayParse),s=n.getReplayResult(o);if(s!=null)return s;let c=await r.derived.replayParse(t,a.values);return n.setReplayResult(o,c),c}function hn(e){if(typeof e!=`object`||!e)return!1;let t=Object.getPrototypeOf(e);return t===Object.prototype||t===null}function gn(e,t){let n=e.dependencyIds!=null&&e.dependencyIds.length>0,r=n?e.dependencyIds:[e.dependencyId],i=t.resolveDependencies({dependencyIds:r,defaultValues:e.defaultValues});if(i.kind!==`resolved`||i.usedDefaults.every(e=>e))return e.preliminaryResult;let a=n?i.values:i.values[0],o=e.parser[rt](e.rawInput,a);if(dn(o))throw TypeError(`resolveStateWithRuntime() received an async parseWithDependency() result. Use resolveStateWithRuntimeAsync() instead.`);return o}function _n(e,t){let n=e.dependencyIds!=null&&e.dependencyIds.length>0,r=n?e.dependencyIds:[e.dependencyId],i=t.resolveDependencies({dependencyIds:r,defaultValues:e.defaultValues});if(i.kind!==`resolved`||i.usedDefaults.every(e=>e))return Promise.resolve(e.preliminaryResult);let a=n?i.values:i.values[0];return Promise.resolve(e.parser[rt](e.rawInput,a))}function vn(e,t,n=new WeakSet,r){if(!(typeof e!=`object`||!e)&&!n.has(e)){if(n.add(e),I(e)){let n=e[Qe],r=e.result;n!=null&&r.success?t.registerSource(n,r.value,`cli`):n!=null&&t.markSourceFailed(n);return}if(!lt(e)){if(Array.isArray(e)){for(let r of e)vn(r,t,n);return}if(typeof e==`object`)for(let i of Reflect.ownKeys(e))r?.has(i)||vn(e[i],t,n)}}}function yn(e,t){return vn(e,t),bn(e,t)}function bn(e,t,n=new WeakSet,r=new WeakMap){if(e==null)return e;if(lt(e)){let n=r.get(e);if(n!==void 0)return n;let i=gn(e,t);return r.set(e,i),i}if(I(e))return e;if(typeof e==`object`){if(n.has(e))return e;n.add(e)}if(Array.isArray(e)){let i=e.map(e=>bn(e,t,n,r));return i.every((t,n)=>t===e[n])?e:i}if(hn(e)){let i=Reflect.ownKeys(e).map(i=>[i,bn(e[i],t,n,r)]);if(i.every(([t,n])=>n===e[t]))return e;let a=Object.create(Object.getPrototypeOf(e));for(let[e,t]of i)a[e]=t;return a}return e}function xn(e,t){return vn(e,t),Sn(e,t)}async function Sn(e,t,n=new WeakSet,r=new WeakMap){if(e==null)return e;if(lt(e)){let n=r.get(e);if(n!==void 0)return n;let i=_n(e,t);return r.set(e,i),i}if(I(e))return e;if(typeof e==`object`){if(n.has(e))return e;n.add(e)}if(Array.isArray(e)){let i=await Promise.all(e.map(e=>Sn(e,t,n,r)));return i.every((t,n)=>t===e[n])?e:i}if(hn(e)){let i=Reflect.ownKeys(e),a=await Promise.all(i.map(async i=>[i,await Sn(e[i],t,n,r)]));if(a.every(([t,n])=>n===e[t]))return e;let o=Object.create(Object.getPrototypeOf(e));for(let[e,t]of a)o[e]=t;return o}return e}function Cn(e,t){if(e===void 0)return!1;let n=Array.isArray(e)&&e.length===1?e[0]:e;return!(L(n)||t[wt]===!0&&typeof n==`object`&&n&&Object.hasOwn(n,`hasCliValue`)&&n.hasCliValue===!1||e===t.initialState)}function z(e,t,n){let r=n??[],i=[];for(let[n,a]of e){let e=Object.hasOwn(t,n)?t[n]:void 0;i.push({path:[...r,n],parser:a,state:e,matched:Cn(e,a)})}return i}const wn=new WeakMap,Tn=new WeakMap;function En(e){return typeof e!=`object`||!e?e:wn.get(e)??e}function Dn(e){return typeof e!=`object`||!e?e:Tn.get(e)??e}function On(e,t){let n=En(e),r=new Proxy(n,{get(e,n){if(n===i)return t;let r=Reflect.get(e,n,e);return typeof r==`function`?r.bind(e):r},has(e,t){return t===i||Reflect.has(e,t)}});return wn.set(r,n),r}function kn(e){return h(e)}function An(e){let t=Object.getPrototypeOf(e);return t===Array.prototype||t===Date.prototype||t===Map.prototype||t===Set.prototype||t===RegExp.prototype?!1:t!==Object.prototype&&t!==null}function jn(e,t){let n=B(t),r=f(e,n);return r!==n&&Tn.set(r,n),r}function B(e){return kn(Dn(En(e)))}function Mn(e){return typeof e==`object`&&!!e&&(g(e)||Tn.has(e)||wn.has(e))}function Nn(e){return e.clone??=e.createClone(),e.clone}function Pn(e,t,n){if(typeof e!=`object`||!e)return;let r=n.get(e);return r!=null&&r.clone!=null&&r.clone===t&&(!r.finalized||r.preferCloneOnRead)?r:void 0}function Fn(e){if(!Array.isArray(e))return Object.create(Object.getPrototypeOf(e));if(Object.getPrototypeOf(e)===Array.prototype)return[];try{return e.slice(0,0)}catch{return[]}}function In(e){let t=Object.getPrototypeOf(e);if(e instanceof Map&&t===Map.prototype)return new Map;if(e instanceof Set&&t===Set.prototype)return new Set;let n=e.constructor;if(typeof n==`function`)try{return new n}catch{}return e instanceof Map?new Map:new Set}function Ln(e,t,n){let r={clone:void 0,createClone:()=>Fn(e),finalized:!1,result:e,preferCloneOnRead:!1};t.set(e,r);let i=new Map,a=!1,o=!1;for(let n of Reflect.ownKeys(e)){let r=Object.getOwnPropertyDescriptor(e,n);if(r==null||!(`value`in r))continue;let s=Bn(r.value,t,!0);s!==r.value&&(i.set(n,s),Pn(r.value,s,t)==null?a=!0:o=!0)}if(!a&&!o)return r.finalized=!0,r.result=e,e;let s=Object.getOwnPropertyDescriptors(e);for(let[e,t]of i){let n=s[e];n==null||!(`value`in n)||(s[e]={...n,value:t})}let c=Nn(r);return Object.defineProperties(c,s),r.finalized=!0,r.preferCloneOnRead=!a&&o,r.result=a?c:e,a||n?c:e}function Rn(e,t,n){let r={clone:void 0,createClone:()=>In(e),finalized:!1,result:e,preferCloneOnRead:!1};t.set(e,r);let i=[],a=new Map,o=!1,s=!1;for(let[n,r]of e){let e=Bn(n,t,!0),a=Bn(r,t,!0);i.push([e,a]),e!==n&&(Pn(n,e,t)==null?o=!0:s=!0),a!==r&&(Pn(r,a,t)==null?o=!0:s=!0)}for(let n of Reflect.ownKeys(e)){let r=Object.getOwnPropertyDescriptor(e,n);if(r==null||!(`value`in r))continue;let i=Bn(r.value,t,!0);i!==r.value&&(a.set(n,i),Pn(r.value,i,t)==null?o=!0:s=!0)}if(!o&&!s)return r.finalized=!0,r.result=e,e;let c=Nn(r);for(let[e,t]of i)c.set(e,t);let l=Object.getOwnPropertyDescriptors(e);for(let[e,t]of a){let n=l[e];n==null||!(`value`in n)||(l[e]={...n,value:t})}return Object.defineProperties(c,l),r.finalized=!0,r.preferCloneOnRead=!o&&s,r.result=o?c:e,o||n?c:e}function zn(e,t,n){let r={clone:void 0,createClone:()=>In(e),finalized:!1,result:e,preferCloneOnRead:!1};t.set(e,r);let i=[],a=new Map,o=!1,s=!1;for(let n of e){let e=Bn(n,t,!0);i.push(e),e!==n&&(Pn(n,e,t)==null?o=!0:s=!0)}for(let n of Reflect.ownKeys(e)){let r=Object.getOwnPropertyDescriptor(e,n);if(r==null||!(`value`in r))continue;let i=Bn(r.value,t,!0);i!==r.value&&(a.set(n,i),Pn(r.value,i,t)==null?o=!0:s=!0)}if(!o&&!s)return r.finalized=!0,r.result=e,e;let c=Nn(r);for(let e of i)c.add(e);let l=Object.getOwnPropertyDescriptors(e);for(let[e,t]of a){let n=l[e];n==null||!(`value`in n)||(l[e]={...n,value:t})}return Object.defineProperties(c,l),r.finalized=!0,r.preferCloneOnRead=!o&&s,r.result=o?c:e,o||n?c:e}function Bn(e,t=new WeakMap,n=!1){let r=B(e);if(typeof r!=`object`||!r)return r;let i=r,a=t.get(i);if(a!=null)return a.finalized?n&&a.preferCloneOnRead?Nn(a):a.result:Nn(a);if(Array.isArray(i))return Ln(i,t,n);if(i instanceof Map)return Rn(i,t,n);if(i instanceof Set)return zn(i,t,n);let o=Object.getPrototypeOf(i);return o!==Object.prototype&&o!==null?r:Ln(i,t,n)}function Vn(e,t){let n=u(e);return n===void 0?t:g(t)?m(kn(t),n):typeof t!=`object`||!t?m(t,n):u(t)===n&&(Tn.has(t)||wn.has(t))?t:An(t)?On(t,n):jn(e,t)}function Hn(e){return kn(e)===void 0}function Un(e,t,n){let r=u(e),i=Reflect.get(n,Tt)===!0;if(t==null)return r!==void 0&&i?m(t,r):t;if(r===void 0||typeof t!=`object`||u(t)===r||!i)return t;let a=m(t,r);return u(a)===r?a:t}function V(e,t,n){let r=u(e),i=Reflect.get(n,Tt)===!0;if(t==null)return r!==void 0&&i?m(t,r):t;if(r===void 0||typeof t!=`object`||u(t)===r)return t;if(i){let e=m(t,r);if(u(e)===r)return e}return On(t,r)}function Wn(e,t){let n=u(e);return n===void 0||typeof t!=`object`||!t||u(t)===n?t:f(e,t)}const Gn=Symbol(`allowDuplicateLeadingCommandNames`),Kn=Symbol(`hiddenCommandAliases`);function H(e,t){if(e!=null)return{...e,path:[...e.path??[],t]}}function U(e,t){return e==null?t:t==null?e:{...e,trace:t.trace??e.trace,dependencyRuntime:t.dependencyRuntime??e.dependencyRuntime,dependencyRegistry:t.dependencyRegistry??e.dependencyRegistry,commandPath:t.commandPath??e.commandPath,preCompletedByParser:t.preCompletedByParser??e.preCompletedByParser,excludedSourceFields:t.excludedSourceFields??e.excludedSourceFields}}function W(e,t,n,r){let i=H(e.exec,t),a=e.dependencyRegistry??i?.dependencyRegistry;return{...e,state:n,...r==null?{}:{usage:r},...i==null?{}:{exec:a===i.dependencyRegistry?i:{...i,dependencyRegistry:a},dependencyRegistry:a}}}const qn=Symbol(`@optique/core/extractPhase2Seed`);function Jn(e){return{value:h(e.value),...e.deferred?{deferred:!0}:{},...e.deferredKeys==null?{}:{deferredKeys:e.deferredKeys}}}function G(e,t,n){return P(e.mode,()=>{let r=e[qn];return r==null?null:r(t,n)},async()=>{let r=e[qn];return r==null?null:await r(t,n)})}function K(e,t,n){return P(e.mode,()=>{let r=e.complete(t,n);return r.success?Jn(r):G(e,t,n)},async()=>{let r=await e.complete(t,n);return r.success?Jn(r):await G(e,t,n)})}function Yn(e,t){if(e.length===0)return t.length;if(t.length===0)return e.length;e.length>t.length&&([e,t]=[t,e]);let n=Array(e.length+1),r=Array(e.length+1);for(let t=0;t<=e.length;t++)n[t]=t;for(let i=1;i<=t.length;i++){r[0]=i;for(let a=1;a<=e.length;a++){let o=e[a-1]===t[i-1]?0:1;r[a]=Math.min(r[a-1]+1,n[a]+1,n[a-1]+o)}[n,r]=[r,n]}return n[e.length]}const Xn={maxDistance:3,maxDistanceRatio:.5,maxSuggestions:3,caseSensitive:!1};function Zn(e,t,n={}){let r=n.maxDistance??Xn.maxDistance,i=n.maxDistanceRatio??Xn.maxDistanceRatio,a=n.maxSuggestions??Xn.maxSuggestions,o=n.caseSensitive??Xn.caseSensitive;if(e.length===0)return[];let s=o?e:e.toLowerCase(),c=[],l=new Set;for(let n of t){let t=o?n:n.toLowerCase();if(l.has(n))continue;l.add(n);let a=Yn(s,t);if(a===0)return[n];let u=a/e.length;a<=r&&u<=i&&c.push({candidate:n,distance:a})}return c.sort((t,n)=>{if(t.distance!==n.distance)return t.distance-n.distance;let r=Math.abs(t.candidate.length-e.length),i=Math.abs(n.candidate.length-e.length);return r===i?t.candidate.localeCompare(n.candidate):r-i}),c.slice(0,a).map(e=>e.candidate)}function Qn(e){if(e.length===0)return[];if(e.length===1)return w`Did you mean ${E(e[0])}?`;let t=[T(`Did you mean one of these?`)];for(let n of e)t.push(T(`
38
38
  `)),t.push(E(n));return t}function $n(e,t){if(t.length===0)return t;let n=er(e),r=[],i=new Set;for(let e of t){let t=n.get(e)??[e];for(let e of t)i.has(e)||(i.add(e),r.push(e))}return r}function er(e){let t=new Map;function n(e){if(!e||!Array.isArray(e))return!0;for(let r of e)if(r.type!==`option`){if(r.type===`argument`)return!1;if(r.type===`command`){if(M(r.hidden))return!1;t.has(r.name)||t.set(r.name,[r.name]);for(let e of r.aliases??[])t.has(e)||t.set(e,[r.name,e]);for(let e of r.hiddenAliases??[])t.has(e)||t.set(e,[r.name]);return!1}if(r.type===`optional`){n(r.terms);continue}if(r.type===`multiple`){let e=n(r.terms);if(r.min===0||e)continue;return!1}if(r.type===`sequence`){if(n(r.terms))continue;return!1}if(r.type===`exclusive`){let e=!1;for(let t of r.terms){let r=n(t);e||=r}if(e)continue;return!1}return!1}return!0}return n(e),t}function tr(e,t,n,r=`both`,i){let a=new Set;if(r===`option`||r===`both`)for(let e of Se(n))a.add(e);if(r===`command`||r===`both`)for(let e of N(n))a.add(e);let o=Zn(t,a,Xn),s=r===`option`?o:$n(n,o),c=i?i(s):Qn(s);return c.length>0?[...e,T(`
39
39
 
40
- `),...c]:e}function nr(e){return e.kind===`literal`?e.text:`__FILE__:${e.type}:${e.extensions?.toSorted().join(`,`)??``}:${e.pattern??``}`}function rr(e){let t=new Map,n=[];for(let r of e){let e=nr(r),i=t.get(e);i==null?(t.set(e,r),n.push(e)):r.kind===`file`&&i.kind===`file`&&r.includeHidden===!0&&i.includeHidden!==!0&&t.set(e,{...i,includeHidden:!0})}return n.map(e=>t.get(e))}function ir(e,t,n,r=!1){if(!e||!Array.isArray(e))return!0;for(let i of e){if(i.type===`option`){if(r||!M(i.hidden))for(let e of i.names)t.add(e);return!1}if(i.type===`command`){if(r||!M(i.hidden)){n.add(i.name);for(let e of i.aliases??[])n.add(e);for(let e of i.hiddenAliases??[])n.add(e)}return!1}if(i.type===`argument`)return!1;if(i.type===`optional`){ir(i.terms,t,n,r);continue}if(i.type===`multiple`){if(ir(i.terms,t,n,r),i.min===0)continue;return!1}if(i.type===`sequence`){if(ir(i.terms,t,n,r))continue;return!1}if(i.type===`exclusive`){let e=!0;for(let a of i.terms){let i=ir(a,t,n,r);e&&=i}if(e)continue;return!1}}return!0}function ar(e){let t=new Set,n=new Set;return ir(e,t,n),n}const or=new Set;function sr(e,t){return t[wt]===!0&&typeof e==`object`&&!!e&&Object.hasOwn(e,`hasCliValue`)&&e.hasCliValue===!1}function cr(e,t,n){return t==null?{usage:e,phase:`complete`,path:[],trace:void 0,dependencyRuntime:n,dependencyRegistry:n.registry}:{...t,dependencyRuntime:n,dependencyRegistry:n.registry}}function q(e,t,n,r,i){return W(e,t,r==null?n:Un(e.state,n,r),i)}function lr(e,t){return e===void 0||Array.isArray(e)&&e.length===1&&L(e[0])||L(e)||sr(e,t)?!0:e===t.initialState}function ur(e,t){return t.size<1?e:e.filter(e=>{let n=e.path.at(-1);return typeof n==`number`?!t.has(String(n)):n==null||!t.has(n)})}function dr(e){let t=new Set;for(let n of e)for(let e of n.leadingNames)t.add(e);return t.size===0?or:t}function fr(e){let t=e.toSorted((e,t)=>t.priority-e.priority),n=new Set,r=!1;for(let e of t){if(e.leadingNames)for(let t of e.leadingNames)r&&!t.startsWith(`-`)||n.add(t);e.acceptingAnyToken&&(r=!0)}return n.size===0?or:n}const J=Symbol(`fieldParsers`);function pr(e,t=new WeakSet){if(typeof e!=`object`||!e)return!1;let n=e;if(wn.has(n))return!0;let r=En(n);if(t.has(r))return!1;if(t.add(r),Array.isArray(r))return r.some(e=>pr(e,t));let i=Object.getPrototypeOf(r);if(i!==Object.prototype&&i!==null)return!1;let a=Object.getOwnPropertyDescriptors(r);return Reflect.ownKeys(a).some(e=>{let n=a[e];return n!=null&&`value`in n?pr(n.value,t):!1})}function mr(e,t=new WeakMap){if(typeof e!=`object`||!e)return e;let n=En(e);if(t.has(n))return t.get(n);if(Array.isArray(n)){let e=!1,r=[...n];t.set(n,r);for(let i=0;i<n.length;i++){let a=mr(n[i],t);a!==n[i]&&(r[i]=a,e=!0)}return e?r:(t.set(n,n),n)}let r=Object.getPrototypeOf(n);if(r!==Object.prototype&&r!==null)return n;let i=Object.getOwnPropertyDescriptors(n),a=!1,o=Object.create(r);t.set(n,o);for(let e of Reflect.ownKeys(i)){let n=i[e];if(n!=null&&`value`in n){let r=mr(n.value,t);r!==n.value&&(i[e]={...n,value:r},a=!0)}}return a?(Object.defineProperties(o,i),o):(t.set(n,n),n)}function hr(e){let t=I(e)?e.result:e;if(!t.success||!pr(t.value))return t;let n=mr(t.value);return n===t.value?t:{...t,value:n}}function gr(e,t,n,r){let i=hr(n);return i.success?Jn(i):G(e,t,r)}async function _r(e,t,n,r){let i=hr(n);return i.success?Jn(i):await G(e,t,r)}function vr(e,t,n){let r=G(e,t,n);if(r!=null)return r;let i=e.complete(t,n);return i.success?Jn(i):null}async function yr(e,t,n){let r=await G(e,t,n);if(r!=null)return r;let i=await e.complete(t,n);return i.success?Jn(i):null}function br(e,t,n){return V(e,typeof e==`object`&&e&&t in e?e[t]:n.initialState,n)}function xr(e,t,n){return Wn(e,t)}function Sr(e,t,n){let r=n??[],i=[];for(let[n,a]of e){let e=Object.hasOwn(t,n)?t[n]:a.initialState;i.push(...At(a,V(t,e,a),[...r,n]))}return i}function Cr(e,t,n,r){let i=new Set,a=new Set;for(let e of n)ir(e.usage,i,a);let o=Zn(t,new Set([...i,...a]),Xn),s=$n([{type:`exclusive`,terms:n.map(e=>e.usage)}],o),c=r?r(s):Qn(s);return c.length>0?[...e,T(`
40
+ `),...c]:e}function nr(e){return e.kind===`literal`?e.text:`__FILE__:${e.type}:${e.extensions?.toSorted().join(`,`)??``}:${e.pattern??``}`}function rr(e){let t=new Map,n=[];for(let r of e){let e=nr(r),i=t.get(e);i==null?(t.set(e,r),n.push(e)):r.kind===`file`&&i.kind===`file`&&r.includeHidden===!0&&i.includeHidden!==!0&&t.set(e,{...i,includeHidden:!0})}return n.map(e=>t.get(e))}function ir(e,t,n,r=!1){if(!e||!Array.isArray(e))return!0;for(let i of e){if(i.type===`option`){if(r||!M(i.hidden))for(let e of i.names)t.add(e);return!1}if(i.type===`command`){if(r||!M(i.hidden)){n.add(i.name);for(let e of i.aliases??[])n.add(e);for(let e of i.hiddenAliases??[])n.add(e)}return!1}if(i.type===`argument`)return!1;if(i.type===`optional`){ir(i.terms,t,n,r);continue}if(i.type===`multiple`){if(ir(i.terms,t,n,r),i.min===0)continue;return!1}if(i.type===`sequence`){if(ir(i.terms,t,n,r))continue;return!1}if(i.type===`exclusive`){let e=!0;for(let a of i.terms){let i=ir(a,t,n,r);e&&=i}if(e)continue;return!1}}return!0}function ar(e){let t=new Set,n=new Set;return ir(e,t,n),n}const or=new Set;function sr(e,t){return t[wt]===!0&&typeof e==`object`&&!!e&&Object.hasOwn(e,`hasCliValue`)&&e.hasCliValue===!1}function cr(e,t,n){return t==null?{usage:e,phase:`complete`,path:[],trace:void 0,dependencyRuntime:n,dependencyRegistry:n.registry}:{...t,dependencyRuntime:n,dependencyRegistry:n.registry}}function q(e,t,n,r,i){return W(e,t,r==null?n:Un(e.state,n,r),i)}function lr(e,t){return e===void 0||Array.isArray(e)&&e.length===1&&L(e[0])||L(e)||sr(e,t)?!0:e===t.initialState}function ur(e,t){return t.size<1?e:e.filter(e=>{let n=e.path.at(-1);return typeof n==`number`?!t.has(String(n)):n==null||!t.has(n)})}function dr(e){let t=new Set;for(let n of e)for(let e of n.leadingNames)t.add(e);return t.size===0?or:t}function fr(e){let t=e.toSorted((e,t)=>t.priority-e.priority),n=new Set,r=!1;for(let e of t){if(e.leadingNames)for(let t of e.leadingNames)r&&!t.startsWith(`-`)||n.add(t);e.acceptingAnyToken&&(r=!0)}return n.size===0?or:n}const J=Symbol(`fieldParsers`);function pr(e,t=new WeakSet){if(typeof e!=`object`||!e)return!1;let n=e;if(wn.has(n))return!0;let r=En(n);if(t.has(r))return!1;if(t.add(r),Array.isArray(r))return r.some(e=>pr(e,t));let i=Object.getPrototypeOf(r);if(i!==Object.prototype&&i!==null)return!1;let a=Object.getOwnPropertyDescriptors(r);return Reflect.ownKeys(a).some(e=>{let n=a[e];return n!=null&&`value`in n&&pr(n.value,t)})}function mr(e,t=new WeakMap){if(typeof e!=`object`||!e)return e;let n=En(e);if(t.has(n))return t.get(n);if(Array.isArray(n)){let e=!1,r=[...n];t.set(n,r);for(let i=0;i<n.length;i++){let a=mr(n[i],t);a!==n[i]&&(r[i]=a,e=!0)}return e?r:(t.set(n,n),n)}let r=Object.getPrototypeOf(n);if(r!==Object.prototype&&r!==null)return n;let i=Object.getOwnPropertyDescriptors(n),a=!1,o=Object.create(r);t.set(n,o);for(let e of Reflect.ownKeys(i)){let n=i[e];if(n!=null&&`value`in n){let r=mr(n.value,t);r!==n.value&&(i[e]={...n,value:r},a=!0)}}return a?(Object.defineProperties(o,i),o):(t.set(n,n),n)}function hr(e){let t=I(e)?e.result:e;if(!t.success||!pr(t.value))return t;let n=mr(t.value);return n===t.value?t:{...t,value:n}}function gr(e,t,n,r){let i=hr(n);return i.success?Jn(i):G(e,t,r)}async function _r(e,t,n,r){let i=hr(n);return i.success?Jn(i):await G(e,t,r)}function vr(e,t,n){let r=G(e,t,n);if(r!=null)return r;let i=e.complete(t,n);return i.success?Jn(i):null}async function yr(e,t,n){let r=await G(e,t,n);if(r!=null)return r;let i=await e.complete(t,n);return i.success?Jn(i):null}function br(e,t,n){return V(e,typeof e==`object`&&e&&t in e?e[t]:n.initialState,n)}function xr(e,t,n){return Wn(e,t)}function Sr(e,t,n){let r=n??[],i=[];for(let[n,a]of e){let e=Object.hasOwn(t,n)?t[n]:a.initialState;i.push(...At(a,V(t,e,a),[...r,n]))}return i}function Cr(e,t,n,r){let i=new Set,a=new Set;for(let e of n)ir(e.usage,i,a);let o=Zn(t,new Set([...i,...a]),Xn),s=$n([{type:`exclusive`,terms:n.map(e=>e.usage)}],o),c=r?r(s):Qn(s);return c.length>0?[...e,T(`
41
41
 
42
- `),...c]:e}function wr(e,t){return t==null?e:e.type===`optional`?{type:`optional`,terms:Tr(e.terms,t)}:e.type===`multiple`?{type:`multiple`,terms:Tr(e.terms,t),min:e.min}:e.type===`sequence`?{type:`sequence`,terms:Tr(e.terms,t)}:e.type===`exclusive`?{type:`exclusive`,terms:e.terms.map(e=>Tr(e,t))}:e.type===`argument`||e.type===`option`||e.type===`command`||e.type===`passthrough`?{...e,hidden:xe(e.hidden,t)}:e}function Tr(e,t){return t==null?e:e.map(e=>wr(e,t))}function Er(e,t){let n=wr(e.term,t);if(!((n.type===`argument`||n.type===`option`||n.type===`command`||n.type===`passthrough`)&&be(n.hidden)))return{...e,term:n}}function Dr(e,t){if(t==null)return e;let n=[];for(let r of e){if(r.type===`entry`){let e=Er(r,t);e!=null&&n.push({...e,type:`entry`});continue}let e=r.entries.map(e=>Er(e,t)).filter(e=>e!=null);n.push({type:`section`,title:r.title,entries:e})}return n}function Or(e,t){function n(e){if(!e||!Array.isArray(e))return!1;for(let r of e)if(r.type===`option`){if(r.metavar&&r.names.includes(t))return!0}else if(r.type===`optional`||r.type===`multiple`||r.type===`sequence`){if(n(r.terms))return!0}else if(r.type===`exclusive`){for(let e of r.terms)if(n(e))return!0}return!1}return n(e)}function kr(e){let t=[];for(let n of e)if(n.type===`optional`)continue;else if(n.type===`exclusive`){let e=n.terms.map(e=>kr(e)).filter(e=>e.length>0);e.length>0&&t.push({type:`exclusive`,terms:e})}else if(n.type===`multiple`){if(n.min>0){let e=kr(n.terms);e.length>0&&t.push({type:`multiple`,terms:e,min:n.min})}}else t.push(n);return t}function Ar(e,t){for(let n=0;n<e.length;n++){let r=e[n],i=r;if(r==null||typeof r!=`object`&&typeof r!=`function`||!(i.mode===`sync`||i.mode===`async`)||!Array.isArray(i.usage)||typeof i.priority!=`number`||Number.isNaN(i.priority)||!(`initialState`in r)||typeof i.parse!=`function`||typeof i.complete!=`function`||typeof i.suggest!=`function`||typeof i.getDocFragments!=`function`)throw TypeError(`${t} argument at index ${n} is not a valid Parser.`)}}function jr(e){let t=kr([{type:`exclusive`,terms:e.map(e=>e.usage)}]);return{hasOptions:Se(t).size>0,hasCommands:N(t).size>0,hasArguments:Ce(t).size>0}}var Mr=class extends Error{constructor(e,t){let n=t.map(e=>typeof e==`symbol`?e.description??e.toString():e);super(`Duplicate option name "${e}" found in fields: ${n.join(`, `)}. Each option name must be unique within a parser combinator.`),this.optionName=e,this.sources=t,this.name=`DuplicateOptionError`}},Nr=class extends TypeError{constructor(e,t){let n=t.map(e=>typeof e==`symbol`?e.description??e.toString():e);super(`Duplicate command name "${e}" found in parsers: ${n.join(`, `)}. Each command name or alias must be unique within active parser alternatives.`),this.commandName=e,this.sources=t}};function Pr(e){let t=new Map;for(let[n,r]of e){let e=Lr(r);for(let r of e)t.has(r)||t.set(r,[]),t.get(r).push(n)}for(let[e,n]of t)if(n.length>1)throw new Mr(e,n)}function Fr(e){let t=new Map;for(let[n,r]of e){let e=N(r.usage,!0);for(let i of r.leadingNames){if(!e.has(i))continue;let r=t.get(i);t.set(i,r==null?[n]:[...r,n])}}for(let[e,n]of t)if(n.length>1)throw new Nr(e,n)}function Ir(e){let t=new Map,n=[...e].sort(([,e],[,t])=>t.priority-e.priority),r=new Set,i=!1;for(let e=0;e<n.length;){let a=n[e][1].priority,o=[];for(;e<n.length&&n[e][1].priority===a;)o.push(n[e]),e++;let s=new Set,c=!1;for(let[e,n]of o){n.acceptingAnyToken&&(c=!0);let a=N(n.usage,!0);for(let o of n.leadingNames){if(!a.has(o)||i||r.has(o))continue;s.add(o);let n=t.get(o);t.set(o,n==null?[e]:[...n,e])}}for(let e of s)r.add(e);c&&(i=!0)}for(let[e,n]of t)if(n.length>1)throw new Nr(e,n)}function Lr(e){return Se(e,!0)}function Rr(e){let{hasOptions:t,hasCommands:n,hasArguments:r}=e;return r&&!t&&!n?w`Missing required argument.`:n&&!t&&!r?w`No matching command found.`:t&&!n&&!r?w`No matching option found.`:n&&t&&!r?w`No matching option or command found.`:r&&t&&!n?w`No matching option or argument found.`:r&&n&&!t?w`No matching command or argument found.`:t&&n&&r?w`No matching option, command, or argument found.`:w`No value provided.`}function zr(e){if(!(!Array.isArray(e)||e.length!==2||typeof e[0]!=`number`))return e}function Br(e,t,n){if(!n.success)return n;let r=V(e,n.next.state,t);return r===n.next.state?n:{...n,next:{...n.next,state:r}}}function Y(e,t,n,r){return d(e,[t,Br(e,n,r)])}function Vr(e,t,n,r){let i=e;return(a,o)=>{let s=zr(a);if(s==null)return P(r,()=>{let e=Wr(i,a,o);if(e!=null){let t=i[e.index],n=V(a,e.parseResult.next.state,t);return t.complete(n,H(o,e.index))}return{success:!1,error:qr(t,n)}},async()=>{let r=await Gr(e,a,o);if(r!=null&&(e[r.index].mode===`sync`||o?.phase!==`parse`&&o?.phase!==`suggest`)){let t=e[r.index],n=V(a,r.parseResult.next.state,t);return await t.complete(n,H(o,r.index))}return{success:!1,error:qr(t,n)}});let[c,l]=s;return l.success?P(r,()=>i[c].complete(l.next.state,H(o,c)),async()=>await e[c].complete(l.next.state,H(o,c))):{success:!1,error:l.error}}}function Hr(e,t){let n=e;return(r,i)=>Ye(t,function*(){let e=[],t=zr(r.state);if(t==null||t[1].success&&t[1].consumed.length===0)for(let t=0;t<n.length;t++){let a=n[t],o=a.suggest(q(r,t,a.initialState,a),i);e.push(...o)}else{let[a,o]=t;if(o.success){let t=n[a],s=t.suggest(q(r,a,o.next.state,t),i);e.push(...s)}}yield*rr(e)},async function*(){let t=[],n=zr(r.state);if(n==null||n[1].success&&n[1].consumed.length===0)for(let n=0;n<e.length;n++){let a=e[n],o=a.suggest(q(r,n,a.initialState,a),i);if(a.mode===`async`)for await(let e of o)t.push(e);else t.push(...o)}else{let[a,o]=n;if(o.success){let n=e[a],s=n.suggest(q(r,a,o.next.state,n),i);if(n.mode===`async`)for await(let e of s)t.push(e);else t.push(...s)}}yield*rr(t)})}function Ur(e,t,n){let r=zr(t);if(r==null)return[];let[i,a]=r;if(!a?.success||i<0||i>=e.length)return[];let o=e[i];return At(o,a.next.state,[...n,i])}function Wr(e,t,n){let r={buffer:[],optionsTerminated:!1,usage:[],exec:n,dependencyRegistry:n?.dependencyRegistry},i=-1,a=0,o;for(let n=0;n<e.length;n++){let s=e[n];if(s.leadingNames.size>0||s.acceptingAnyToken)continue;let c=s.parse({...r,state:V(t,s.initialState,s)});if(!(!c.success||c.provisional)&&(a++,i<0&&(i=n,o=c),a>1))break}return a===1&&i>=0&&o!=null?{index:i,parseResult:o}:null}async function Gr(e,t,n){let r={buffer:[],optionsTerminated:!1,usage:[],exec:n,dependencyRegistry:n?.dependencyRegistry},i=-1,a=0,o;for(let n=0;n<e.length;n++){let s=e[n];if(s.leadingNames.size>0||s.acceptingAnyToken)continue;let c=await s.parse({...r,state:V(t,s.initialState,s)});if(!(!c.success||c.provisional)&&(a++,i<0&&(i=n,o=c),a>1))break}return a===1&&i>=0&&o!=null?{index:i,parseResult:o}:null}function Kr(e,t,n,r){let i=zr(t);if(i==null)return P(r,()=>{let r=Wr(e,t,n);return r==null?null:vr(e[r.index],r.parseResult.next.state,H(n,r.index))},async()=>{let r=await Gr(e,t,n);return r==null?null:await yr(e[r.index],r.parseResult.next.state,H(n,r.index))});if(!i[1].success)return P(r,()=>null,()=>Promise.resolve(null));let[a,o]=i;return K(e[a],o.next.state,H(n,a))}function qr(e,t){let n=e?.errors?.noMatch;return n?typeof n==`function`?n(t):n:Rr(t)}function Jr(e){let t=e.filter(e=>e.dependencyMetadata?.source!=null);if(!(t.length<1)&&new Set(t.map(e=>e.dependencyMetadata.source.sourceId)).size===1)return{source:{...t[0].dependencyMetadata.source,getMissingSourceValue:void 0,preservesSourceValue:t.every(e=>e.dependencyMetadata?.source?.preservesSourceValue!==!1),extractSourceValue(t){if(!Array.isArray(t)||t.length!==2||typeof t[0]!=`number`)return;let[n,r]=t;if(!r?.success)return;let i=e[n].dependencyMetadata?.source;if(i?.extractSourceValue!=null)return i.extractSourceValue(r.next.state)}}}}function Yr(...e){let t,n;if(e.length>0&&e[e.length-1]&&typeof e[e.length-1]==`object`&&!(`$valueType`in e[e.length-1])?(n=e[e.length-1],t=e.slice(0,-1)):(t=e,n=void 0),t.length<1)throw TypeError(`or() requires at least one parser argument.`);Ar(t,`or()`),Fr(t.map((e,t)=>[String(t),e]));let r=jr(t),i=t.some(e=>e.mode===`async`)?`async`:`sync`,a=t,o=e=>({consumed:0,error:e.buffer.length<1?qr(n,r):(()=>{let r=e.buffer[0],i=w`Unexpected option or subcommand: ${E(r)}.`;return n?.errors?.unexpectedInput==null?Cr(i,r,t,n?.errors?.suggestions):typeof n.errors.unexpectedInput==`function`?n.errors.unexpectedInput(r):n.errors.unexpectedInput})()}),s=e=>{let t=o(e),n=zr(e.state),r=a.map((e,t)=>[e,t]);r.sort(([e,t],[r,i])=>n?.[0]===t?-1:n?.[0]===i?1:t-i);let i=null,s=0,c=null,l=!1;for(let[a,o]of r){let r=a.parse(q(e,o,n==null||n[0]!==o||!n[1].success?a.initialState:n[1].next.state,a));if(r.success&&r.consumed.length>0){if(r.provisional){let e=n!=null&&n[1].success&&n[1].consumed.length>0;if(e&&n[0]===o){c={index:o,parser:a,result:r};continue}if(e&&c!=null&&c.index===n[0])continue;c==null&&!l?c={index:o,parser:a,result:r}:(c=null,l=!0);continue}if(n?.[0]!==o&&n?.[1].success){if(n[1].consumed.length===0){let t=U(e.exec,r.next.exec);return{success:!0,next:{...e,buffer:r.next.buffer,optionsTerminated:r.next.optionsTerminated,state:Y(e.state,o,a,r),...t==null?{}:{exec:t,dependencyRegistry:t.dependencyRegistry}},consumed:r.consumed}}let t=n[1].consumed,i=a.parse({...q(e,o,a.initialState,a),buffer:t});if(!(i.success&&i.consumed.length===t.length&&i.consumed.every((e,n)=>e===t[n])))return{success:!1,consumed:e.buffer.length-r.next.buffer.length,error:w`${se(n[1].consumed)} and ${se(r.consumed)} cannot be used together.`};let s=U(e.exec,i.next.exec),c=a.parse(q({...e,...s==null?{}:{exec:s,dependencyRegistry:s.dependencyRegistry}},o,i.next.state,a));if(!c.success)return c;let l=U(s,c.next.exec);return{success:!0,next:{...e,buffer:c.next.buffer,optionsTerminated:c.next.optionsTerminated,state:Y(e.state,o,a,{...c,consumed:[...t,...c.consumed]}),...l==null?{}:{exec:l,dependencyRegistry:l.dependencyRegistry}},consumed:c.consumed}}let t=U(e.exec,r.next.exec);return{success:!0,next:{...e,buffer:r.next.buffer,optionsTerminated:r.next.optionsTerminated,state:Y(e.state,o,a,r),...t==null?{}:{exec:t,dependencyRegistry:t.dependencyRegistry}},consumed:r.consumed}}else r.success&&r.consumed.length===0&&!r.provisional&&a.leadingNames.size===0&&!a.acceptingAnyToken?(i===null&&(i={index:o,parser:a,result:r}),s++):!r.success&&t.consumed<r.consumed&&(t=r)}if(i!==null&&s===1&&t.consumed===0&&e.buffer.length===0){let t=U(e.exec,i.result.next.exec);return{success:!0,...i.result.provisional?{provisional:!0}:{},next:{...e,state:Y(e.state,i.index,i.parser,i.result),...t==null?{}:{exec:t,dependencyRegistry:t.dependencyRegistry}},consumed:[]}}if(c!==null){if(!(n!=null&&n[1].success&&n[1].consumed.length>0&&n[0]!==c.index)){let t=U(e.exec,c.result.next.exec);return{success:!0,provisional:!0,next:{...e,buffer:c.result.next.buffer,optionsTerminated:c.result.next.optionsTerminated,state:Y(e.state,c.index,c.parser,c.result),...t==null?{}:{exec:t,dependencyRegistry:t.dependencyRegistry}},consumed:c.result.consumed}}if(n!=null&&n[1].success){let t=n[1].consumed,r=c.parser.parse({...q(e,c.index,c.parser.initialState,c.parser),buffer:t});if(r.success&&r.consumed.length===t.length&&r.consumed.every((e,n)=>e===t[n])&&r.success){let n=U(e.exec,r.next.exec),i=c.parser.parse(q({...e,...n==null?{}:{exec:n,dependencyRegistry:n.dependencyRegistry}},c.index,r.next.state,c.parser));if(!i.success)return i;let a=U(n,i.next.exec);return{success:!0,provisional:!0,next:{...e,buffer:i.next.buffer,optionsTerminated:i.next.optionsTerminated,state:Y(e.state,c.index,c.parser,{...i,provisional:!0,consumed:[...t,...i.consumed]}),...a==null?{}:{exec:a,dependencyRegistry:a.dependencyRegistry}},consumed:i.consumed}}}}return{...t,success:!1}},c=async e=>{let n=o(e),r=zr(e.state),i=t.map((e,t)=>[e,t]);i.sort(([e,t],[n,i])=>r?.[0]===t?-1:r?.[0]===i?1:t-i);let a=null,s=0,c=null,l=!1;for(let[t,o]of i){let i=await t.parse(q(e,o,r==null||r[0]!==o||!r[1].success?t.initialState:r[1].next.state,t));if(i.success&&i.consumed.length>0){if(i.provisional){let e=r!=null&&r[1].success&&r[1].consumed.length>0;if(e&&r[0]===o){c={index:o,parser:t,result:i};continue}if(e&&c!=null&&c.index===r[0])continue;c==null&&!l?c={index:o,parser:t,result:i}:(c=null,l=!0);continue}if(r?.[0]!==o&&r?.[1].success){if(r[1].consumed.length===0){let n=U(e.exec,i.next.exec);return{success:!0,next:{...e,buffer:i.next.buffer,optionsTerminated:i.next.optionsTerminated,state:Y(e.state,o,t,i),...n==null?{}:{exec:n,dependencyRegistry:n.dependencyRegistry}},consumed:i.consumed}}let n=r[1].consumed,a=await t.parse({...q(e,o,t.initialState,t),buffer:n});if(!(a.success&&a.consumed.length===n.length&&a.consumed.every((e,t)=>e===n[t])))return{success:!1,consumed:e.buffer.length-i.next.buffer.length,error:w`${se(r[1].consumed)} and ${se(i.consumed)} cannot be used together.`};let s=U(e.exec,a.next.exec),c=await t.parse(q({...e,...s==null?{}:{exec:s,dependencyRegistry:s.dependencyRegistry}},o,a.next.state,t));if(!c.success)return c;let l=U(s,c.next.exec);return{success:!0,next:{...e,buffer:c.next.buffer,optionsTerminated:c.next.optionsTerminated,state:Y(e.state,o,t,{...c,consumed:[...n,...c.consumed]}),...l==null?{}:{exec:l,dependencyRegistry:l.dependencyRegistry}},consumed:c.consumed}}let n=U(e.exec,i.next.exec);return{success:!0,next:{...e,buffer:i.next.buffer,optionsTerminated:i.next.optionsTerminated,state:Y(e.state,o,t,i),...n==null?{}:{exec:n,dependencyRegistry:n.dependencyRegistry}},consumed:i.consumed}}else i.success&&i.consumed.length===0&&!i.provisional&&t.leadingNames.size===0&&!t.acceptingAnyToken?(a===null&&(a={index:o,parser:t,result:i}),s++):!i.success&&n.consumed<i.consumed&&(n=i)}if(a!==null&&s===1&&n.consumed===0&&e.buffer.length===0){let t=U(e.exec,a.result.next.exec);return{success:!0,...a.result.provisional?{provisional:!0}:{},next:{...e,state:Y(e.state,a.index,a.parser,a.result),...t==null?{}:{exec:t,dependencyRegistry:t.dependencyRegistry}},consumed:[]}}if(c!==null){if(!(r!=null&&r[1].success&&r[1].consumed.length>0&&r[0]!==c.index)){let t=U(e.exec,c.result.next.exec);return{success:!0,provisional:!0,next:{...e,buffer:c.result.next.buffer,optionsTerminated:c.result.next.optionsTerminated,state:Y(e.state,c.index,c.parser,c.result),...t==null?{}:{exec:t,dependencyRegistry:t.dependencyRegistry}},consumed:c.result.consumed}}if(r!=null&&r[1].success){let t=r[1].consumed,n=await c.parser.parse({...q(e,c.index,c.parser.initialState,c.parser),buffer:t});if(n.success&&n.consumed.length===t.length&&n.consumed.every((e,n)=>e===t[n])&&n.success){let r=U(e.exec,n.next.exec),i=await c.parser.parse(q({...e,...r==null?{}:{exec:r,dependencyRegistry:r.dependencyRegistry}},c.index,n.next.state,c.parser));if(!i.success)return i;let a=U(r,i.next.exec);return{success:!0,provisional:!0,next:{...e,buffer:i.next.buffer,optionsTerminated:i.next.optionsTerminated,state:Y(e.state,c.index,c.parser,{...i,provisional:!0,consumed:[...t,...i.consumed]}),...a==null?{}:{exec:a,dependencyRegistry:a.dependencyRegistry}},consumed:i.consumed}}}}return{...n,success:!1}},l={mode:i,$valueType:[],$stateType:[],priority:Math.max(...t.map(e=>e.priority)),usage:[{type:`exclusive`,terms:t.map(e=>e.usage)}],leadingNames:dr(t),acceptingAnyToken:t.some(e=>e.acceptingAnyToken),initialState:void 0,canSkip(e,n){let r=zr(e);if(r!=null){let[e,i]=r,a=t[e];return i.success&&a?.canSkip?.(i.next.state,n)===!0}return t.some(e=>e.canSkip?.(e.initialState,n)===!0)},complete:Vr(t,n,r,i),[qn](e,n){return Kr(t,e,n,i)},parse(e){return P(i,()=>s(e),()=>c(e))},getSuggestRuntimeNodes(e,n){return Ur(t,e,n)},suggest:Hr(t,i),getDocFragments(e,n){let r,i,a,o;if(e.kind===`unavailable`||e.state==null)o=t.flatMap(e=>e.getDocFragments({kind:`unavailable`},void 0).fragments);else{let[n,s]=e.state,c=s.success?{kind:`available`,state:s.next.state}:{kind:`unavailable`},l=t[n].getDocFragments(c,void 0);r=l.brief,i=l.description,a=l.footer,o=l.fragments}return(e.kind===`unavailable`||e.state==null)&&(o=Re(o)),{brief:r,description:i,footer:a,fragments:o}}},u=Jr(t);return u!=null&&(l.dependencyMetadata=u),jt(l),l}function Xr(...e){return Zr(...e)}function Zr(...e){let t,n;if(e.length>0&&e[e.length-1]&&typeof e[e.length-1]==`object`&&!(`$valueType`in e[e.length-1])?(n=e[e.length-1],t=e.slice(0,-1)):(t=e,n=void 0),t.length<1)throw TypeError(`longestMatch() requires at least one parser argument.`);Ar(t,`longestMatch()`),n?.[Gn]!==!0&&Fr(t.map((e,t)=>[String(t),e]));let r=jr(t),i=t.some(e=>e.mode===`async`)?`async`:`sync`,a=t,o=e=>({consumed:0,error:e.buffer.length<1?qr(n,r):(()=>{let r=e.buffer[0],i=w`Unexpected option or subcommand: ${E(r)}.`;return n?.errors?.unexpectedInput==null?Cr(i,r,t,n?.errors?.suggestions):typeof n.errors.unexpectedInput==`function`?n.errors.unexpectedInput(r):n.errors.unexpectedInput})()}),s=e=>{let t=null,n=o(e),r=zr(e.state);for(let i=0;i<a.length;i++){let o=a[i],s=o.parse(q(e,i,r==null||r[0]!==i||!r[1].success?o.initialState:r[1].next.state,o));if(s.success){let n=e.buffer.length-s.next.buffer.length,r=t!=null&&t.result.success&&!!t.result.provisional;(t===null||n>t.consumed||n===t.consumed&&r&&!s.provisional)&&(t={index:i,parser:o,result:s,consumed:n})}else n.consumed<s.consumed&&(n=s)}if(t&&t.result.success){let n=U(e.exec,t.result.next.exec);return{success:!0,next:{...e,buffer:t.result.next.buffer,optionsTerminated:t.result.next.optionsTerminated,state:Y(e.state,t.index,t.parser,t.result),...n==null?{}:{exec:n,dependencyRegistry:n.dependencyRegistry}},consumed:t.result.consumed}}return{...n,success:!1}},c=async e=>{let n=null,r=o(e),i=zr(e.state);for(let a=0;a<t.length;a++){let o=t[a],s=await o.parse(q(e,a,i==null||i[0]!==a||!i[1].success?o.initialState:i[1].next.state,o));if(s.success){let t=e.buffer.length-s.next.buffer.length,r=n!=null&&n.result.success&&!!n.result.provisional;(n===null||t>n.consumed||t===n.consumed&&r&&!s.provisional)&&(n={index:a,parser:o,result:s,consumed:t})}else r.consumed<s.consumed&&(r=s)}if(n&&n.result.success){let t=U(e.exec,n.result.next.exec);return{success:!0,next:{...e,buffer:n.result.next.buffer,optionsTerminated:n.result.next.optionsTerminated,state:Y(e.state,n.index,n.parser,n.result),...t==null?{}:{exec:t,dependencyRegistry:t.dependencyRegistry}},consumed:n.result.consumed}}return{...r,success:!1}},l={mode:i,$valueType:[],$stateType:[],priority:Math.max(...t.map(e=>e.priority)),usage:[{type:`exclusive`,terms:t.map(e=>e.usage)}],leadingNames:dr(t),acceptingAnyToken:t.some(e=>e.acceptingAnyToken),initialState:void 0,complete:Vr(t,n,r,i),[qn](e,n){return Kr(t,e,n,i)},parse(e){return P(i,()=>s(e),()=>c(e))},getSuggestRuntimeNodes(e,n){return Ur(t,e,n)},suggest:Hr(t,i),getDocFragments(e,n){let r,i,a,o,s;if(e.kind===`unavailable`||e.state==null)o=t.flatMap(e=>e.getDocFragments({kind:`unavailable`}).fragments),s=!0;else{let[n,c]=e.state;if(c.success){let e=t[n].getDocFragments({kind:`available`,state:c.next.state});r=e.brief,i=e.description,a=e.footer,o=e.fragments,s=!1}else o=t.flatMap(e=>e.getDocFragments({kind:`unavailable`}).fragments),s=!0}return{brief:r,description:i,fragments:s?Re(o):o,footer:a}}},u=Jr(t);return u!=null&&(l.dependencyMetadata=u),jt(l),l}function*Qr(e,t,n){let r=R(e.dependencyRegistry?.clone()),i=ci(n,e.exec?.excludedSourceFields);ln(z(i,e.state&&typeof e.state==`object`?e.state:{},e.exec?.path),r),e.state&&typeof e.state==`object`&&vn(e.state,r,new WeakSet,e.exec?.excludedSourceFields),ti(e,i,r.registry,e.exec);let a={...e,dependencyRegistry:r.registry,...e.exec==null?{}:{exec:{...e.exec,dependencyRuntime:r,dependencyRegistry:r.registry}}};if(e.buffer.length>0){let r=e.buffer[e.buffer.length-1];for(let[i,o]of n)if(Or(o.usage,r)){let n=br(e.state,i,o);yield*o.suggest(q(a,i,n,o),t);return}}let o=[];for(let[r,i]of n){let n=br(e.state,r,i),s=i.suggest(q(a,r,n,i),t);o.push(...s)}yield*rr(o)}async function*$r(e,t,n){let r=R(e.dependencyRegistry?.clone()),i=ci(n,e.exec?.excludedSourceFields);await fn(z(i,e.state&&typeof e.state==`object`?e.state:{},e.exec?.path),r),e.state&&typeof e.state==`object`&&vn(e.state,r,new WeakSet,e.exec?.excludedSourceFields),await ri(e,i,r.registry,e.exec);let a={...e,dependencyRegistry:r.registry,...e.exec==null?{}:{exec:{...e.exec,dependencyRuntime:r,dependencyRegistry:r.registry}}};if(e.buffer.length>0){let r=e.buffer[e.buffer.length-1];for(let[i,o]of n)if(Or(o.usage,r)){let n=br(e.state,i,o),r=o.suggest(q(a,i,n,o),t);for await(let e of r)yield e;return}}let o=[];for(let[r,i]of n){let n=br(e.state,r,i),s=i.suggest(q(a,r,n,i),t);for await(let e of s)o.push(e)}yield*rr(o)}function X(e,t){I(e)&&e.result.success&&!t.has(e[Qe])&&t.set(e[Qe],e.result.value)}function*ei(e,t,n){for(let[r,i]of t){let t=i.dependencyMetadata?.source?.sourceId??(gt(i)?i[ht][Qe]:L(i.initialState)?i.initialState[Qe]:void 0);if(t!=null&&n?.has(t))continue;let a=e.state!=null&&typeof e.state==`object`&&r in e.state?e.state[r]:void 0,o=br(e.state,r,i);if(i.dependencyMetadata?.source?.getMissingSourceValue!=null&&lr(a,i)){yield{parser:i,state:o};continue}if(i.dependencyMetadata?.source!=null&&lr(a,i)&&(o!==a||sr(a,i))){yield{parser:i,state:o};continue}if(a!=null){!Array.isArray(a)&&!I(a)&&(gt(i)||L(i.initialState))&&(yield{parser:i,state:br(e.state,r,i)});continue}L(i.initialState)?yield{parser:i,state:i.initialState}:gt(i)&&(yield{parser:i,state:[i[ht]]})}}function ti(e,t,n,r){for(let{parser:i,state:a}of ei(e,t,n)){let e=ni(i.complete(a,r),i);e&&X(e,n)}}function ni(e,t){if(I(e))return e;let n=t.dependencyMetadata?.source;if(n?.preservesSourceValue!==!1&&(n!=null||gt(t)||L(t.initialState))&&typeof e==`object`&&e&&`success`in e&&e.success&&`value`in e&&e.value!==void 0)return pt(e,n?.sourceId??(gt(t)?t[ht][Qe]:t.initialState[Qe]))}async function ri(e,t,n,r){for(let{parser:i,state:a}of ei(e,t,n)){let e=ni(await i.complete(a,r),i);e&&X(e,n)}}function ii(e,t){let n=new Map;for(let[e]of t)n.set(e,(n.get(e)??0)+1);let r=!1;for(let e of n.values())if(e>1){r=!0;break}if(!r)return e;let i=new Map;for(let[t,r]of e)(n.get(t)??0)<=1&&i.set(t,r);return i.size>0?i:void 0}function ai(e){let t=[];for(let n of e)J in n&&t.push(...n[J]);return t}function oi(e){let t=new Map;for(let[n]of e)t.set(n,(t.get(n)??0)+1);return e.filter(([e])=>(t.get(e)??0)<=1)}function si(e){let t=new Map;for(let[n]of e)t.set(n,(t.get(n)??0)+1);return new Set([...t.entries()].filter(([,e])=>e>1).map(([e])=>e))}function ci(e,t){return t==null||t.size<1?e:e.filter(([e])=>!t.has(e))}function li(e,t,n,r){let i=new Map,a=r?.preCompletedByParser;for(let[o,s]of t){let t=a?.get(o);if(t!==void 0){i.set(o,t),X(t,n);continue}let c=e[o],l=br(e,o,s);if(s.dependencyMetadata?.source?.getMissingSourceValue!=null&&lr(c,s)){let e=s.complete(l,H(r,o));i.set(o,e);let t=ni(e,s);t&&X(t,n);continue}if(s.dependencyMetadata?.source!=null&&lr(c,s)&&(l!==c||sr(c,s))){let e=s.complete(l,H(r,o));i.set(o,e);let t=ni(e,s);t&&X(t,n);continue}if(Array.isArray(c)&&c.length===1&&L(c[0])){let e=s.complete(c,H(r,o));i.set(o,e),I(e)&&X(e,n)}else if(c===void 0&&L(s.initialState)){let e=s.complete([s.initialState],H(r,o));i.set(o,e),I(e)&&X(e,n)}else if(c===void 0&&gt(s)){let e=s[ht],t=s.complete([e],H(r,o));i.set(o,t),I(t)&&X(t,n)}else if(c!=null&&!Array.isArray(c)&&!I(c)&&(gt(s)||L(s.initialState))){let t=br(e,o,s),a=s.complete(t,H(r,o));i.set(o,a);let c=ni(a,s);c&&X(c,n)}}return i}async function ui(e,t,n,r){let i=new Map,a=r?.preCompletedByParser;for(let[o,s]of t){let t=a?.get(o);if(t!==void 0){i.set(o,t),X(t,n);continue}let c=e[o],l=br(e,o,s);if(s.dependencyMetadata?.source?.getMissingSourceValue!=null&&lr(c,s)){let e=await s.complete(l,H(r,o));i.set(o,e);let t=ni(e,s);t&&X(t,n);continue}if(s.dependencyMetadata?.source!=null&&lr(c,s)&&(l!==c||sr(c,s))){let e=await s.complete(l,H(r,o));i.set(o,e);let t=ni(e,s);t&&X(t,n);continue}if(Array.isArray(c)&&c.length===1&&L(c[0])){let e=await s.complete(c,H(r,o));i.set(o,e),I(e)&&X(e,n)}else if(c===void 0&&L(s.initialState)){let e=await s.complete([s.initialState],H(r,o));i.set(o,e),I(e)&&X(e,n)}else if(c===void 0&&gt(s)){let e=s[ht],t=await s.complete([e],H(r,o));i.set(o,t),I(t)&&X(t,n)}else if(c!=null&&!Array.isArray(c)&&!I(c)&&(gt(s)||L(s.initialState))){let t=br(e,o,s),a=await s.complete(t,H(r,o));i.set(o,a);let c=ni(a,s);c&&X(c,n)}}return i}function di(e,t,n){let r=typeof e==`string`?e:void 0;r!=null&&ve(r);let i,a={};typeof e==`string`?(i=t,a=n??{}):(i=e,a=t??{});let o=Reflect.ownKeys(i),s=o.map(e=>[e,i[e]]);s.sort(([e,t],[n,r])=>r.priority-t.priority);let c=()=>{let e={};for(let t of o)e[t]=i[t].initialState;return e},l=new WeakMap,u=(e,t=V)=>(n,r)=>{let i=n,a=typeof e==`object`&&e?(()=>{let n=l.get(e)??(()=>{let t=new WeakMap;return l.set(e,t),t})();return n.get(t)??(()=>{let e=new Map;return n.set(t,e),e})()})():void 0;if(a?.has(i))return a.get(i);let o=t(e,typeof e==`object`&&e&&i in e?e[i]:r.initialState,r);return a?.set(i,o),o};a.allowDuplicates||Pr(s.map(([e,t])=>[e,t.usage])),Ir(s.map(([e,t])=>[e,t]));let d=jr(o.map(e=>i[e])),f=o.some(e=>i[e].mode===`async`)?`async`:`sync`,p=e=>({consumed:0,error:e.buffer.length>0?(()=>{let t=e.buffer[0],n=a.errors?.unexpectedInput;return n?typeof n==`function`?n(t):n:tr(w`Unexpected option or argument: ${t}.`,t,e.usage,`both`,a.errors?.suggestions)})():(()=>{let e=a.errors?.endOfInput;return e?typeof e==`function`?e(d):e:Rr(d)})()}),m=e=>{let t=p(e),n=e,r=!1,i=[],o=new Set,c=!0;for(;c&&n.buffer.length>0;){c=!1;let e=u(n.state,xr);for(let[a,l]of s){let s=l.parse(q(n,a,e(a,l),l));if(s.success&&s.consumed.length>0){let e=U(n.exec,s.next.exec);n={...n,buffer:s.next.buffer,optionsTerminated:s.next.optionsTerminated,state:{...n.state,[a]:V(n.state,s.next.state,l)},...e==null?{}:{trace:e.trace,exec:e,dependencyRegistry:e.dependencyRegistry}},i.push(...s.consumed),r=!0,c=!0,o.add(a);break}else!s.success&&t.consumed<s.consumed&&(t=s)}}{let e=u(n.state,xr);for(let[t,r]of s){if(o.has(t))continue;let i=r;if(r.leadingNames.size>0||i.acceptingAnyToken)continue;let a=e(t,r),s=i.parse(q(n,t,a,r));if(s.success&&s.consumed.length===0&&s.next.state!==a){let e=U(n.exec,s.next.exec);n={...n,state:{...n.state,[t]:V(n.state,s.next.state,r)},...e==null?{}:{trace:e.trace,exec:e,dependencyRegistry:e.dependencyRegistry}}}}}if(r)return{success:!0,next:n,consumed:i};if(n.buffer.length===0){let e=!0,t=u(n.state),r=n.exec?{...n.exec,phase:`parse`}:{usage:[],path:[],trace:void 0,phase:`parse`},i;for(let[n,a]of s){let o=t(n,a),s=a.complete(o,H(r,n));if(!s.success){e=!1,i={consumed:0,error:s.error};break}}if(e)return{success:!0,next:n,consumed:[]};if(i!==void 0&&a.errors?.endOfInput===void 0&&!d.hasOptions&&!d.hasCommands&&!d.hasArguments)return{...i,success:!1}}return{...t,success:!1}},h=async e=>{let t=p(e),n=e,r=!1,i=[],o=new Set,c=!0;for(;c&&n.buffer.length>0;){c=!1;let e=u(n.state,xr);for(let[a,l]of s){let s=await l.parse(q(n,a,e(a,l),l));if(s.success&&s.consumed.length>0){let e=U(n.exec,s.next.exec);n={...n,buffer:s.next.buffer,optionsTerminated:s.next.optionsTerminated,state:{...n.state,[a]:V(n.state,s.next.state,l)},...e==null?{}:{trace:e.trace,exec:e,dependencyRegistry:e.dependencyRegistry}},i.push(...s.consumed),r=!0,c=!0,o.add(a);break}else!s.success&&t.consumed<s.consumed&&(t=s)}}{let e=u(n.state,xr);for(let[t,r]of s){if(o.has(t)||r.leadingNames.size>0||r.acceptingAnyToken)continue;let i=e(t,r),a=await r.parse(q(n,t,i,r));if(a.success&&a.consumed.length===0&&a.next.state!==i){let e=U(n.exec,a.next.exec);n={...n,state:{...n.state,[t]:V(n.state,a.next.state,r)},...e==null?{}:{trace:e.trace,exec:e,dependencyRegistry:e.dependencyRegistry}}}}}if(r)return{success:!0,next:n,consumed:i};if(n.buffer.length===0){let e=!0,t=u(n.state),r=n.exec?{...n.exec,phase:`parse`}:{usage:[],path:[],trace:void 0,phase:`parse`},i;for(let[n,a]of s){let o=t(n,a),s=await a.complete(o,H(r,n));if(!s.success){e=!1,i={consumed:0,error:s.error};break}}if(e)return{success:!0,next:n,consumed:[]};if(i!==void 0&&a.errors?.endOfInput===void 0&&!d.hasOptions&&!d.hasCommands&&!d.hasArguments)return{...i,success:!1}}return{...t,success:!1}},g={mode:f,$valueType:[],$stateType:[],[J]:s,priority:Math.max(...o.map(e=>i[e].priority)),usage:Tr(s.flatMap(([e,t])=>t.usage),a.hidden),leadingNames:fr(s.map(([e,t])=>t)),acceptingAnyToken:s.some(([e,t])=>t.acceptingAnyToken),canSkip(e,t){let n=u(e);return o.every(e=>{let r=i[e];return r.canSkip?.(n(e,r),H(t,e))===!0})},get initialState(){return c()},parse(e){return P(f,()=>m(e),()=>h(e))},getSuggestRuntimeNodes(e,t){let n=typeof e==`object`&&e?e:g.initialState;return Sr(s,n,t)},complete(e,t){return P(f,()=>{let n=t?.dependencyRuntime??R(t?.dependencyRegistry),r={...t,dependencyRuntime:n},a=ci(s,t?.excludedSourceFields),c=li(e,a,n.registry,r),l={...r,preCompletedByParser:void 0},d=u(e),f={};for(let e of o){let t=e,n=i[e];f[t]=d(e,n)}ln(ur(z(a,f,t?.path),new Set(c.keys())),n);let p=yn(f,n),m={},h=new Map,g=!1;for(let e of o){let t=e,n=i[e],r,a=c.get(t);if(a!==void 0)r=hr(a);else{let e=p[t];r=hr(n.complete(e,H(l,t)))}if(r.success)m[t]=r.value,r.deferred&&(r.deferredKeys?h.set(t,r.deferredKeys):r.value==null||typeof r.value!=`object`?h.set(t,null):g=!0);else return{success:!1,error:r.error}}return{success:!0,value:m,...h.size>0||g?{deferred:!0,...h.size>0?{deferredKeys:h}:{}}:{}}},async()=>{let n=t?.dependencyRuntime??R(t?.dependencyRegistry),r={...t,dependencyRuntime:n},a=ci(s,t?.excludedSourceFields),c=await ui(e,a,n.registry,r),l={...r,preCompletedByParser:void 0},d=u(e),f={};for(let e of o){let t=e,n=i[e];f[t]=d(e,n)}await fn(ur(z(a,f,t?.path),new Set(c.keys())),n);let p=await xn(f,n),m={},h=new Map,g=!1,_=(e,t)=>{if(t.success)m[e]=t.value,t.deferred&&(t.deferredKeys?h.set(e,t.deferredKeys):t.value==null||typeof t.value!=`object`?h.set(e,null):g=!0);else return{success:!1,error:t.error}},v=[],y=[];for(let e of o){let t=e,n=i[e],r=c.get(t);if(r!==void 0){let e=_(t,hr(r));if(e!=null)return e;continue}typeof n.shouldDeferCompletion==`function`&&n.shouldDeferCompletion(p[t],H(l,t))===!0?y.push(e):v.push(e)}let b=await Promise.all(v.map(async e=>{let t=e,n=i[e];return{fieldKey:t,valueResult:hr(await n.complete(p[t],H(l,t)))}}));for(let{fieldKey:e,valueResult:t}of b){let n=_(e,t);if(n!=null)return n}for(let e of y){let t=e,n=i[e],r=_(t,hr(await n.complete(p[t],H(l,t))));if(r!=null)return r}return{success:!0,value:m,...h.size>0||g?{deferred:!0,...h.size>0?{deferredKeys:h}:{}}:{}}})},[qn](e,t){return P(f,()=>{let n=t?.dependencyRuntime??R(t?.dependencyRegistry),r=cr(g.usage,t,n),a=ci(s,t?.excludedSourceFields),c=li(e,a,n.registry,r),l={...r,preCompletedByParser:void 0},d=u(e),f={};for(let e of o){let t=e,n=i[e];f[t]=d(e,n)}ln(ur(z(a,f,t?.path),new Set(c.keys())),n);let p=yn(f,n),m={},h=new Map,_=!1,v=!1;for(let e of o){let t=e,n=i[e],r=H(l,t),a=c.get(t),o=a===void 0?K(n,p[t],r):gr(n,p[t],a,r);o!=null&&(v=!0,m[t]=o.value,o.deferred&&(o.deferredKeys?h.set(t,o.deferredKeys):o.value==null||typeof o.value!=`object`?h.set(t,null):_=!0))}return v?{value:m,...h.size>0||_?{deferred:!0,...h.size>0?{deferredKeys:h}:{}}:{}}:null},async()=>{let n=t?.dependencyRuntime??R(t?.dependencyRegistry),r=cr(g.usage,t,n),a=ci(s,t?.excludedSourceFields),c=await ui(e,a,n.registry,r),l={...r,preCompletedByParser:void 0},d=u(e),f={};for(let e of o){let t=e,n=i[e];f[t]=d(e,n)}await fn(ur(z(a,f,t?.path),new Set(c.keys())),n);let p=await xn(f,n),m={},h=new Map,_=!1,v=!1;for(let e of o){let t=e,n=i[e],r=H(l,t),a=c.get(t),o=a===void 0?await K(n,p[t],r):await _r(n,p[t],a,r);o!=null&&(v=!0,m[t]=o.value,o.deferred&&(o.deferredKeys?h.set(t,o.deferredKeys):o.value==null||typeof o.value!=`object`?h.set(t,null):_=!0))}return v?{value:m,...h.size>0||_?{deferred:!0,...h.size>0?{deferredKeys:h}:{}}:{}}:null})},suggest(e,t){return a.hidden===!0?Ye(f,function*(){},async function*(){}):Ye(f,()=>Qr(e,t,s),()=>$r(e,t,s))},getDocFragments(e,t){let n=Dr(s.flatMap(([n,r])=>{let i=e.kind===`unavailable`?{kind:`unavailable`}:{kind:`available`,state:e.state[n]};return r.getDocFragments(i,t?.[n]).fragments}),a.hidden),i=n.filter(e=>e.type===`entry`),o=[];for(let e of n)e.type===`section`&&(e.title==null?i.push(...e.entries):o.push(e));let c={title:r,entries:i};return o.push(c),{fragments:o.map(e=>({...e,type:`section`}))}}},_=[];for(let[e,t]of s)typeof t.normalizeValue==`function`&&_.push([e,t.normalizeValue.bind(t)]);return _.length>0&&Object.defineProperty(g,"normalizeValue",{value(e){if(typeof e!=`object`||!e)return e;let t=!1,n;for(let[r,i]of _)if(Object.hasOwn(e,r))try{let a=e[r],o=i(a);o!==a&&(n||={...e},n[r]=o,t=!0)}catch{}return t?n:e},configurable:!0,enumerable:!1}),jt(g),g}function fi(...e){let t=typeof e[0]==`string`?e[0]:void 0;t!=null&&ve(t);let n=e[e.length-1],r=typeof n==`object`&&!!n&&!(`$valueType`in n),i=r?n:{},a=+(typeof e[0]==`string`),o=r?e.length-1:e.length,s=e.slice(a,o);if(s.length<1)throw TypeError(`merge() requires at least one parser argument.`);Ar(s,`merge()`);let c=s.some(e=>e.mode===`async`)?`async`:`sync`,l=c===`async`,d=s,p=s.map((e,t)=>[e,t]).toSorted(([e],[t])=>t.priority-e.priority),m=p.map(([e])=>e),h=d.map((e,t)=>[e,t]).toSorted(([e],[t])=>t.priority-e.priority).map(([e])=>e);i.allowDuplicates||Pr(p.map(([e,t])=>[String(t),e.usage])),Ir(p.map(([e,t])=>[String(t),e]));let g=ai(m),_=si(g),v=e=>`__parser_${e}`,y=e=>`__merge_local_${e}`,b=e=>e.initialState!=null&&typeof e.initialState==`object`&&Object.keys(e.initialState).some(e=>_.has(e)),ee={};for(let e=0;e<m.length;e++){let t=m[e];if(t.initialState===void 0)ee[v(e)]=void 0;else if(t.initialState&&typeof t.initialState==`object`)for(let e in t.initialState)ee[e]=t.initialState[e]}let te=(e,t,n)=>{if(e.initialState===void 0){let e=v(n);return t&&typeof t==`object`&&e in t?t[e]:void 0}else if(e.initialState&&typeof e.initialState==`object`){let r=y(n);if(b(e)&&t&&typeof t==`object`&&r in t)return t[r];if(t&&typeof t==`object`){let n={};for(let r in e.initialState)n[r]=r in t?t[r]:e.initialState[r];return n}return e.initialState}return e.initialState},ne=(e,t,n)=>te(e,t.state,n),re=(e,t,n,r,i)=>{if(e.initialState===void 0){let e=v(i);return r.success&&(r.consumed.length>0||r.next.state!==void 0)?{...t.state,[e]:r.next.state}:{...t.state}}if(!r.success)return{...t.state};let a={...t.state,...r.next.state};return!b(e)||r.consumed.length===0&&r.next.state===n?a:{...a,[y(i)]:r.next.state}},x=e=>{let t=e,n=null;for(let e=0;e<h.length;e++){let r=h[e],i=ne(r,t,e),a=r.parse(q(t,e,i,r));if(a.success){let o=U(t.exec,a.next.exec),s=re(r,t,i,a,e),c={...t,buffer:a.next.buffer,optionsTerminated:a.next.optionsTerminated,state:s,...o==null?{}:{exec:o,dependencyRegistry:o.dependencyRegistry}};if(a.consumed.length>0)return{success:!0,next:c,consumed:a.consumed};t=c,n===null?n={context:c,consumed:[]}:n.context=c}else if(a.consumed<1)continue;else return a}return n===null?{success:!1,consumed:0,error:w`No matching option or argument found.`}:{success:!0,next:n.context,consumed:n.consumed}},S=async e=>{let t=e,n=null;for(let e=0;e<m.length;e++){let r=m[e],i=ne(r,t,e),a=await r.parse(q(t,e,i,r));if(a.success){let o=U(t.exec,a.next.exec),s=re(r,t,i,a,e),c={...t,buffer:a.next.buffer,optionsTerminated:a.next.optionsTerminated,state:s,...o==null?{}:{exec:o,dependencyRegistry:o.dependencyRegistry}};if(a.consumed.length>0)return{success:!0,next:c,consumed:a.consumed};t=c,n===null?n={context:c,consumed:[]}:n.context=c}else if(a.consumed<1)continue;else return a}return n===null?{success:!1,consumed:0,error:w`No matching option or argument found.`}:{success:!0,next:n.context,consumed:n.consumed}},ie={mode:c,$valueType:[],$stateType:[],[J]:g,priority:Math.max(...m.map(e=>e.priority)),usage:Tr(m.flatMap(e=>e.usage),i.hidden),leadingNames:fr(m),acceptingAnyToken:m.some(e=>e.acceptingAnyToken),initialState:ee,canSkip(e,t){return m.every((n,r)=>{let i=te(n,e,r);return n.canSkip?.(V(e,i,n),H(t,r))===!0})},parse(e){return l?S(e):x(e)},complete(e,t){let n=(e,t,n)=>{if(e.initialState===void 0){let e=v(n);return t&&typeof t==`object`&&e in t?t[e]:void 0}else if(e.initialState&&typeof e.initialState==`object`){let r=y(n);if(b(e)&&t&&typeof t==`object`&&r in t)return t[r];if(t&&typeof t==`object`){let n={};for(let r in e.initialState)n[r]=r in t?t[r]:e.initialState[r];return u(t)===void 0?n:f(t,n)}return e.initialState}return e.initialState};if(!l){let r=t?.dependencyRuntime??R(t?.dependencyRegistry),i={...t,dependencyRuntime:r},a=si(g),o=oi(g),s=h.map((t,n)=>{if(J in t){let o=t[J],s=new Set(o.map(([e])=>e).filter(e=>a.has(e))),c=ci(o,s);return{cache:ii(li(e,c,r.registry,H(i,n)),c),excludedSourceFields:s.size>0?s:void 0}}return{cache:void 0,excludedSourceFields:void 0}});ln(z(o,e,t?.path),r);let c=yn(e,r),l={},u=new Map,d=!1;for(let e=0;e<h.length;e++){let t=h[e],a=n(t,c,e),{cache:o,excludedSourceFields:f}=s[e],p=H(i,e),m=f==null?{...p,preCompletedByParser:o}:(()=>{let e=R(r.registry.clone());return{...p,dependencyRuntime:e,dependencyRegistry:e.registry,preCompletedByParser:o}})(),g=hr(t.complete(a,m));if(!g.success)return g;let _=g.value;for(let e in _)l[e]=_[e],u.has(e)&&!(g.deferred&&g.deferredKeys?.has(e))&&u.delete(e);if(g.deferred&&g.deferredKeys)for(let[e,t]of g.deferredKeys)u.set(e,t);else g.deferred&&(d=!0)}return{success:!0,value:l,...u.size>0||d?{deferred:!0,...u.size>0?{deferredKeys:u}:{}}:{}}}return(async()=>{let r=t?.dependencyRuntime??R(t?.dependencyRegistry),i={...t,dependencyRuntime:r},a=si(g),o=oi(g),s=[];for(let t=0;t<m.length;t++){let n=m[t];if(J in n){let o=n[J],c=new Set(o.map(([e])=>e).filter(e=>a.has(e))),l=ci(o,c),u=await ui(e,l,r.registry,H(i,t));s.push({cache:ii(u,l),excludedSourceFields:c.size>0?c:void 0})}else s.push({cache:void 0,excludedSourceFields:void 0})}await fn(z(o,e,t?.path),r);let c=await xn(e,r),l={},u=new Map,d=!1;for(let e=0;e<m.length;e++){let t=m[e],a=n(t,c,e),{cache:o,excludedSourceFields:f}=s[e],p=H(i,e),h=f==null?{...p,preCompletedByParser:o}:(()=>{let e=R(r.registry.clone());return{...p,dependencyRuntime:e,dependencyRegistry:e.registry,preCompletedByParser:o}})(),g=hr(await t.complete(a,h));if(!g.success)return g;let _=g.value;for(let e in _)l[e]=_[e],u.has(e)&&!(g.deferred&&g.deferredKeys?.has(e))&&u.delete(e);if(g.deferred&&g.deferredKeys)for(let[e,t]of g.deferredKeys)u.set(e,t);else g.deferred&&(d=!0)}return{success:!0,value:l,...u.size>0||d?{deferred:!0,...u.size>0?{deferredKeys:u}:{}}:{}}})()},[qn](e,t){let n=(e,t,n)=>{if(e.initialState===void 0){let e=v(n);return t&&typeof t==`object`&&e in t?t[e]:void 0}else if(e.initialState&&typeof e.initialState==`object`){let r=y(n);if(b(e)&&t&&typeof t==`object`&&r in t)return t[r];if(t&&typeof t==`object`){let n={};for(let r in e.initialState)n[r]=r in t?t[r]:e.initialState[r];return f(t,n)}return e.initialState}return e.initialState};return P(c,()=>{let r=t?.dependencyRuntime??R(t?.dependencyRegistry),i=cr(ie.usage,t,r),a=si(g),o=oi(g),s=h.map((t,n)=>{if(J in t){let o=t[J],s=new Set(o.map(([e])=>e).filter(e=>a.has(e))),c=ci(o,s);return{cache:ii(li(e,c,r.registry,H(i,n)),c),excludedSourceFields:s.size>0?s:void 0}}return{cache:void 0,excludedSourceFields:void 0}});ln(z(o,e,t?.path),r);let c=yn(e,r),l={},u=new Map,d=!1,f=!1;for(let e=0;e<h.length;e++){let t=h[e],a=n(t,c,e),{cache:o,excludedSourceFields:p}=s[e],m=H(i,e),g=K(t,a,p==null?{...m,preCompletedByParser:o}:(()=>{let e=R(r.registry.clone());return{...m,dependencyRuntime:e,dependencyRegistry:e.registry,preCompletedByParser:o}})());if(g==null)continue;f=!0;let _=g.value;for(let e in _)l[e]=_[e],u.has(e)&&!(g.deferred&&g.deferredKeys?.has(e))&&u.delete(e);if(g.deferred&&g.deferredKeys)for(let[e,t]of g.deferredKeys)u.set(e,t);else g.deferred&&(d=!0)}return f?{value:l,...u.size>0||d?{deferred:!0,...u.size>0?{deferredKeys:u}:{}}:{}}:null},async()=>{let r=t?.dependencyRuntime??R(t?.dependencyRegistry),i=cr(ie.usage,t,r),a=si(g),o=oi(g),s=[];for(let t=0;t<m.length;t++){let n=m[t];if(J in n){let o=n[J],c=new Set(o.map(([e])=>e).filter(e=>a.has(e))),l=ci(o,c),u=await ui(e,l,r.registry,H(i,t));s.push({cache:ii(u,l),excludedSourceFields:c.size>0?c:void 0})}else s.push({cache:void 0,excludedSourceFields:void 0})}await fn(z(o,e,t?.path),r);let c=await xn(e,r),l={},u=new Map,d=!1,f=!1;for(let e=0;e<m.length;e++){let t=m[e],a=n(t,c,e),{cache:o,excludedSourceFields:p}=s[e],h=H(i,e),g=await K(t,a,p==null?{...h,preCompletedByParser:o}:(()=>{let e=R(r.registry.clone());return{...h,dependencyRuntime:e,dependencyRegistry:e.registry,preCompletedByParser:o}})());if(g==null)continue;f=!0;let _=g.value;for(let e in _)l[e]=_[e],u.has(e)&&!(g.deferred&&g.deferredKeys?.has(e))&&u.delete(e);if(g.deferred&&g.deferredKeys)for(let[e,t]of g.deferredKeys)u.set(e,t);else g.deferred&&(d=!0)}return f?{value:l,...u.size>0||d?{deferred:!0,...u.size>0?{deferredKeys:u}:{}}:{}}:null})},suggest(e,t){if(i.hidden===!0)return Ye(c,function*(){},async function*(){});let n=(t,n)=>{if(t.initialState===void 0){let t=v(n);return e.state&&typeof e.state==`object`&&t in e.state?e.state[t]:void 0}else if(t.initialState&&typeof t.initialState==`object`){let r=y(n);if(b(t)&&e.state&&typeof e.state==`object`&&r in e.state)return e.state[r];if(e.state&&typeof e.state==`object`){let n={};for(let r in t.initialState)n[r]=r in e.state?e.state[r]:t.initialState[r];return n}return t.initialState}return t.initialState};if(l)return async function*(){let r=R(e.dependencyRegistry?.clone()),i=ai(m),a=si(i),o=oi(i),s=m.map(e=>{if(!(J in e))return;let t=e[J],n=new Set(t.map(([e])=>e).filter(e=>a.has(e)));return n.size>0?n:void 0});e.state&&typeof e.state==`object`&&await fn(z(o,e.state,e.exec?.path),r),e.state&&typeof e.state==`object`&&vn(e.state,r,new WeakSet,a),await ri(e,o,r.registry,e.exec);let c={...e,dependencyRegistry:r.registry},l=[];for(let e=0;e<m.length;e++){let i=m[e],a=n(i,e),o=q(c,e,a,i),u=s[e]==null?o:(()=>{let e=R(r.registry.clone());return{...o,dependencyRegistry:e.registry,exec:o.exec==null?o.exec:{...o.exec,dependencyRegistry:e.registry}}})(),d=i.suggest(u,t);if(i.mode===`async`)for await(let e of d)l.push(e);else l.push(...d)}yield*rr(l)}();let r=R(e.dependencyRegistry?.clone()),a=ai(h),o=si(a),s=oi(a),u=h.map(e=>{if(!(J in e))return;let t=e[J],n=new Set(t.map(([e])=>e).filter(e=>o.has(e)));return n.size>0?n:void 0});e.state&&typeof e.state==`object`&&ln(z(s,e.state,e.exec?.path),r),e.state&&typeof e.state==`object`&&vn(e.state,r,new WeakSet,o),ti(e,s,r.registry,e.exec);let d={...e,dependencyRegistry:r.registry};return function*(){let e=[];for(let i=0;i<h.length;i++){let a=h[i],o=n(a,i),s=q(d,i,o,a),c=u[i]==null?s:(()=>{let e=R(r.registry.clone());return{...s,dependencyRegistry:e.registry,exec:s.exec==null?s.exec:{...s.exec,dependencyRegistry:e.registry}}})(),l=a.suggest(c,t);e.push(...l)}yield*rr(e)}()},getDocFragments(e,n){let r,a,o,s=Dr(m.flatMap((t,n)=>{let i;if(t.initialState===void 0){let t=`__parser_${n}`;i=e.kind===`available`&&e.state&&typeof e.state==`object`&&t in e.state?{kind:`available`,state:e.state[t]}:{kind:`unavailable`}}else i=e.kind===`unavailable`?{kind:`unavailable`}:{kind:`available`,state:e.state};let s=t.getDocFragments(i,void 0);return r??=s.brief,a??=s.description,o??=s.footer,s.fragments}),i.hidden),c=s.filter(e=>e.type===`entry`),l=[];for(let e of s)e.type===`section`&&(e.title==null?c.push(...e.entries):l.push(e));if(t){let e={title:t,entries:c};return l.push(e),{brief:r,description:a,footer:o,fragments:l.map(e=>({...e,type:`section`}))}}return{brief:r,description:a,footer:o,fragments:[...l.map(e=>({...e,type:`section`})),{type:`section`,entries:c}]}}};return jt(ie),ie}function pi(e,t,n={}){ve(e);let r={mode:t.mode,$valueType:t.$valueType,$stateType:t.$stateType,priority:t.priority,usage:Tr(t.usage,n.hidden),leadingNames:t.leadingNames,acceptingAnyToken:t.acceptingAnyToken,initialState:t.initialState,...J in t?{[J]:t[J]}:{},...typeof t.shouldDeferCompletion==`function`?{shouldDeferCompletion:t.shouldDeferCompletion.bind(t)}:{},...typeof t.canSkip==`function`?{canSkip:t.canSkip.bind(t)}:{},getSuggestRuntimeNodes(e,n){return t.getSuggestRuntimeNodes?.(e,n)??(t.dependencyMetadata?.source==null?[]:[{path:n,parser:t,state:e}])},parse:e=>t.parse(e),complete:(e,n)=>t.complete(e,n),suggest:(e,r)=>n.hidden===!0?Ye(t.mode,function*(){},async function*(){}):t.suggest(e,r),getDocFragments:(r,i)=>{let{brief:a,description:o,footer:s,fragments:c}=t.getDocFragments(r,i),l=Dr(c,n.hidden),u=[],d=[];for(let e of l)e.type===`entry`?u.push(e):e.type===`section`&&(e.title?d.push(e):u.push(...e.entries));let f=t.getDocFragments({kind:`available`,state:t.initialState},void 0),p=new Set;for(let e of f.fragments)if(e.type===`entry`&&e.term.type===`command`)p.add(e.term.name);else if(e.type===`section`)for(let t of e.entries)t.term.type===`command`&&p.add(t.term.name);let m=p.size>0,h=u.some(e=>e.term.type===`command`&&p.has(e.term.name)),g=!m||h?{title:e,entries:u}:{entries:u};return{brief:a,description:o,footer:s,fragments:[...d.map(e=>({...e,type:`section`})),{type:`section`,...g}]}}};return Object.defineProperty(r,qn,{value(e,n){return G(t,e,n)},configurable:!0,enumerable:!1}),`placeholder`in t&&Object.defineProperty(r,"placeholder",{get(){return t.placeholder},configurable:!0,enumerable:!1}),typeof t.normalizeValue==`function`&&Object.defineProperty(r,"normalizeValue",{value:t.normalizeValue.bind(t),configurable:!0,enumerable:!1}),typeof t.validateValue==`function`&&Object.defineProperty(r,"validateValue",{value:t.validateValue.bind(t),configurable:!0,enumerable:!1}),r}function mi(e){if(at(e))return{source:{kind:`source`,sourceId:e[Qe],extractSourceValue:hi,preservesSourceValue:!0}};if(ot(e)){let t=$e in e&&e[$e]!=null,n=t?e[$e]:[e[Qe]],r;if(et in e&&e[et]!=null)r=e[et];else if(tt in e&&e[tt]!=null){let t=e[tt];r=()=>[t()]}let i=e,a=(e,n)=>{let r=t?n:n[0];return i[rt](e,r)},o=it in i?i[it]:void 0;return{derived:{kind:`derived`,dependencyIds:n,getDefaultDependencyValues:r,replayParse:a,replaySuggest:o==null?void 0:(e,n)=>{let r=t?n:n[0];return o(e,r)}}}}}function hi(e){if(I(e))return e.result;if(typeof e==`object`&&e&&Object.hasOwn(e,`success`)&&typeof e.success==`boolean`&&(e.success&&Object.hasOwn(e,`value`)||!e.success&&Object.hasOwn(e,`error`)))return e}function gi(e){return t=>Array.isArray(t)&&t.length===1?e(t[0]):e(t)}function _i(e,t,n){if(e!==void 0)switch(t){case`optional`:return e.source!=null&&e.source.extractSourceValue!=null?{...e,source:{...e.source,extractSourceValue:gi(e.source.extractSourceValue)}}:e;case`withDefault`:{let t=e.source?.extractSourceValue==null?void 0:gi(e.source.extractSourceValue),r=e.source?.preservesSourceValue!==!1;return e.source==null?e:{...e,source:{...e.source,...t!=null&&{extractSourceValue:t},...r&&n?.defaultValue!=null&&{getMissingSourceValue:n.defaultValue}}}}case`map`:{let t={...e,transform:{transformsSourceValue:!0}};return e.source==null?t:{...t,source:{...e.source,preservesSourceValue:!1}}}}}function vi(e){let t=Si(e).value;return typeof t==`object`&&!!t&&Object.hasOwn(t,`success`)&&typeof t.success==`boolean`}function yi(e,t){if(Reflect.get(e,Symbol.for(`@optique/core/commandParser`))!==!0)return!1;let n=Si(t).value;return Array.isArray(n)&&n.length===2&&n[0]===`matched`&&typeof n[1]==`string`}function bi(e,t){let n=Si(e);if(n.value==null)return!0;if(t===void 0)return!1;let r=Si(t);return n.value===r.value&&(n.viaBoundCliWrapper||r.viaBoundCliWrapper||r.value!=null&&typeof r.value==`object`)}function xi(e){return typeof e==`object`&&!!e&&Object.hasOwn(e,`hasCliValue`)&&typeof e.hasCliValue==`boolean`&&(Object.hasOwn(e,`cliState`)||e.hasCliValue===!1)}function Si(e){let t=e,n=!1;for(;;){if(g(t)){t=h(t);continue}if(Array.isArray(t)&&t.length===1){t=t[0];continue}if(xi(t)){n=!0,t=t.cliState;continue}return{value:t,viaBoundCliWrapper:n}}}function Ci(e){return e!=null&&(typeof e==`object`||typeof e==`function`)&&`then`in e&&typeof e.then==`function`}function wi(e,t){return e.success&&t?{...e,value:Bn(e.value)}:e}function Ti(e,t){return e instanceof TypeError&&typeof t==`object`&&!!t&&g(t)}function Ei(e,t,n){let r=Mn(t),i=r&&Hn(t),a=(t,r)=>wi(e.complete(t,n),r);try{let e=a(t,r);return!e.success&&i?a(B(t),!1):e}catch(e){if(!Ti(e,t))throw e;return a(B(t),!1)}}async function Di(e,t,n){let r=Mn(t),i=r&&Hn(t),a=async(t,r)=>wi(await e.complete(t,n),r);try{let e=await a(t,r);return!e.success&&i?await a(B(t),!1):e}catch(e){if(!Ti(e,t))throw e;return await a(B(t),!1)}}function Oi(e,t){return e==null?null:t?{...e,value:Bn(e.value)}:e}function ki(e,t,n){if(!Array.isArray(t)&&!(typeof t==`object`&&t))return F(e.mode,null);let r=Li(t,e.initialState,e),i=Mn(r),a=i&&Hn(r);return P(e.mode,()=>{try{let t=e.complete(r,n);if(t.success)return Oi(Jn(t),i);if(a){let t=B(r),i=e.complete(t,n);if(i.success)return Oi(Jn(i),!1)}let o=G(e,r,n);return o==null&&i?Oi(G(e,B(r),n),!1):Oi(o,i)}catch(t){if(!Ti(t,r))throw t;let i=B(r),a=e.complete(i,n);return a.success?Oi(Jn(a),!1):Oi(G(e,i,n),!1)}},async()=>{try{let t=await e.complete(r,n);if(t.success)return Oi(Jn(t),i);if(a){let t=B(r),i=await e.complete(t,n);if(i.success)return Oi(Jn(i),!1)}let o=await G(e,r,n);return o==null&&i?Oi(await G(e,B(r),n),!1):Oi(o,i)}catch(t){if(!Ti(t,r))throw t;let i=B(r),a=await e.complete(i,n);return a.success?Oi(Jn(a),!1):Oi(await G(e,i,n),!1)}})}function Ai(e,t){if(Array.isArray(e)){let t=e[0];return u(e)!=null&&typeof t==`object`&&t?Vn(e,t):t}let n=t.initialState;return n!=null&&typeof n!=`object`?n:typeof n==`object`&&n?Vn(e,n):f(e,n)}function ji(e,t){let n=Ai(e.state,t);return Pi(t.parse({...e,state:n}),n,e)}async function Mi(e,t){let n=Ai(e.state,t);return Pi(await t.parse({...e,state:n}),n,e)}function Ni(e,t){return e!==t&&B(e)!==B(t)}function Pi(e,t,n){return e.success?Ni(t,e.next.state)||e.consumed.length===0?{success:!0,...e.provisional?{provisional:!0}:{},next:{...e.next,state:[e.next.state]},consumed:e.consumed}:{success:!0,...e.provisional?{provisional:!0}:{},next:{...e.next,state:n.state},consumed:e.consumed}:e.consumed===0?{success:!0,next:n,consumed:[]}:e}function Fi(e,t){return(n,r)=>{if(Array.isArray(n)||typeof n==`object`&&n){let i=Li(n,t.initialState,t),a=Mn(i)&&Hn(i);try{let t=e(i,r);return!t&&a?e(B(i),r):t}catch(t){if(!Ti(t,i))throw t;return e(B(i),r)}}return!1}}function Ii(e){if(typeof e!=`object`||!e||Array.isArray(e)||g(e))return!1;let t=Reflect.ownKeys(e);return u(e)!=null&&t.length===1&&t[0]===i}function Li(e,t,n){return Array.isArray(e)?Vn(e,e[0]):Ii(e)?n!=null&&(n.dependencyMetadata?.source!=null||typeof n.shouldDeferCompletion==`function`)?Vn(e,t):t:typeof e==`object`&&e?e:t}function Ri(e,t,n){if(Array.isArray(e)){let t=e[0];return typeof t==`object`&&t?Vn(e,t):t}return Li(e,t,n)}function zi(e){let t=e;function*n(n,r){let i=Ri(n.state,t.initialState,e);yield*t.suggest({...n,state:i},r)}async function*r(n,r){let i=Ri(n.state,t.initialState,e),a=e.suggest({...n,state:i},r);for await(let e of a)yield e}let i={mode:e.mode,$valueType:[],$stateType:[],...e[wt]===!0?{[wt]:!0}:{},placeholder:void 0,priority:e.priority,usage:[{type:`optional`,terms:e.usage}],leadingNames:e.leadingNames,acceptingAnyToken:!1,initialState:void 0,canSkip(t,n){if(!Array.isArray(t))return!0;let r=Li(t,e.initialState,e);return e.canSkip?.(r,n)===!0},...typeof e.shouldDeferCompletion==`function`?{shouldDeferCompletion:Fi(e.shouldDeferCompletion.bind(e),e)}:{},getSuggestRuntimeNodes(t,n){if(i.dependencyMetadata?.source!=null)return[{path:n,parser:i,state:t}];let r=Ri(t,e.initialState,e);return e.getSuggestRuntimeNodes?.(r,n)??(e.dependencyMetadata?.source==null?[]:[{path:n,parser:e,state:r}])},[qn](t,n){return ki(e,t,n)},parse(n){return P(e.mode,()=>ji(n,t),()=>Mi(n,e))},complete(n,r){if(!Array.isArray(n)){let i=n=>{let i=P(e.mode,()=>Ei(t,n,r),async()=>await Di(e,n,r));return Je(e.mode,i,e=>e.success?e:{success:!0,value:void 0})};if(typeof e.shouldDeferCompletion==`function`&&typeof n==`object`&&n)return i(Li(n,e.initialState,e));let a=e.dependencyMetadata?.source;if(a?.preservesSourceValue!==!1&&a?.getMissingSourceValue!=null){let i=Li(n,e.initialState,e);return P(e.mode,()=>Ei(t,i,r),async()=>await Di(e,i,r))}return e[wt]===!0&&typeof n==`object`&&n?i(Li(n,e.initialState,e)):{success:!0,value:void 0}}let i=Li(n,e.initialState,e);return P(e.mode,()=>Ei(t,i,r),async()=>await Di(e,i,r))},suggest(t,i){return Ye(e.mode,()=>n(t,i),()=>r(t,i))},getDocFragments(e,n){let r=e.kind===`unavailable`||e.state===void 0?{kind:`unavailable`}:{kind:`available`,state:e.state[0]};return t.getDocFragments(r,n)}};if(typeof e.normalizeValue==`function`){let t=e.normalizeValue.bind(e);Object.defineProperty(i,"normalizeValue",{value(e){return e==null?e:t(e)},configurable:!0,enumerable:!1})}if(typeof e.validateValue==`function`){let t=e.validateValue.bind(e);Object.defineProperty(i,"validateValue",{value(n){return n===void 0?F(e.mode,{success:!0,value:n}):t(n)},configurable:!0,enumerable:!1})}if(e.dependencyMetadata!=null){let t=_i(e.dependencyMetadata,`optional`);t!=null&&(i.dependencyMetadata=t)}return jt(i),Mt(i),i}var Bi=class extends Error{errorMessage;constructor(e){super(k(e)),this.errorMessage=e,this.name=`WithDefaultError`}};function Vi(e,t,n){let r=e,i=e=>{if(e!=null)return e;if(!n?.message){if(typeof t!=`function`)return t;try{return t()}catch{return}}};function*a(t,n){let i=Ri(t.state,r.initialState,e);yield*r.suggest({...t,state:i},n)}async function*o(t,n){let i=Ri(t.state,r.initialState,e),a=e.suggest({...t,state:i},n);for await(let e of a)yield e}let s={mode:e.mode,$valueType:[],$stateType:[],...e[wt]===!0?{[wt]:!0}:{},priority:e.priority,usage:[{type:`optional`,terms:e.usage}],leadingNames:e.leadingNames,acceptingAnyToken:!1,initialState:void 0,canSkip(t,n){if(!Array.isArray(t))return!0;let r=Li(t,e.initialState,e);return e.canSkip?.(r,n)===!0},...typeof e.shouldDeferCompletion==`function`?{shouldDeferCompletion:Fi(e.shouldDeferCompletion.bind(e),e)}:{},getSuggestRuntimeNodes(t,n){if(s.dependencyMetadata?.source!=null)return[{path:n,parser:s,state:t}];let r=Ri(t,e.initialState,e);return e.getSuggestRuntimeNodes?.(r,n)??(e.dependencyMetadata?.source==null?[]:[{path:n,parser:e,state:r}])},[qn](t,n){return ki(e,t,n)},parse(t){return P(e.mode,()=>ji(t,r),()=>Mi(t,e))},complete(n,i){function a(){let n=typeof t==`function`?t():t;if(typeof e.normalizeValue==`function`)try{return e.normalizeValue(n)}catch{}return n}if(!Array.isArray(n)){if(typeof e.shouldDeferCompletion==`function`&&typeof n==`object`&&n){let t=Li(n,e.initialState,e);return P(e.mode,()=>Ei(r,t,i),async()=>await Di(e,t,i))}if(e[wt]===!0&&typeof n==`object`&&n){let t=Li(n,e.initialState,e),o=P(e.mode,()=>Ei(r,t,i),async()=>await Di(e,t,i));return Je(e.mode,o,e=>{if(e.success&&e.value!==void 0)return e;try{return{success:!0,value:a()}}catch(e){return{success:!1,error:e instanceof Bi?e.errorMessage:w`${T(String(e))}`}}})}try{return{success:!0,value:a()}}catch(e){return{success:!1,error:e instanceof Bi?e.errorMessage:w`${T(String(e))}`}}}let o=Li(n,e.initialState,e);return P(e.mode,()=>Ei(r,o,i),async()=>await Di(e,o,i))},suggest(t,n){return Ye(e.mode,()=>a(t,n),()=>o(t,n))},getDocFragments(t,a){let o=t.kind===`unavailable`||t.state===void 0?{kind:`unavailable`}:{kind:`available`,state:t.state[0]},s=i(a);if(s!=null&&typeof e.normalizeValue==`function`)try{s=e.normalizeValue(s)}catch{}let c=r.getDocFragments(o,s);if(n?.message){let e=c.fragments.map(e=>e.type===`entry`?{...e,default:n.message}:e);return{...c,fragments:e}}return c}};if(`placeholder`in e&&Object.defineProperty(s,"placeholder",{get(){return e.placeholder},configurable:!0,enumerable:!1}),typeof e.normalizeValue==`function`){let t=e.normalizeValue.bind(e);Object.defineProperty(s,"normalizeValue",{value(e){try{return t(e)}catch{return e}},configurable:!0,enumerable:!1})}if(typeof e.validateValue==`function`){let t=e.validateValue.bind(e);Object.defineProperty(s,"validateValue",{value(e){return t(e)},configurable:!0,enumerable:!1})}if(e.dependencyMetadata!=null){let n=_i(e.dependencyMetadata,`withDefault`,{defaultValue:()=>{let n;try{n=typeof t==`function`?t():t}catch(e){return{success:!1,error:e instanceof Bi?e.errorMessage:w`${e instanceof Error?e.message:String(e)}`}}if(typeof e.normalizeValue==`function`)try{n=e.normalizeValue(n)}catch{}return{success:!0,value:n}}});n!=null&&(s.dependencyMetadata=n)}return jt(s),Mt(s),s}function Hi(e,t={}){let n=e,{min:r=0,max:i=1/0}=t,a=h,o=(e,t)=>{try{let r=n.complete(e,t);return!r.success&&g(e)?n.complete(a(e),t):r}catch(r){if(!g(e))throw r;return n.complete(a(e),t)}},s=e=>{try{let t=n.parse(e);return t.success||t.consumed!==0||!g(e.state)?t:n.parse({...e,state:a(e.state)})}catch(t){if(!g(e.state))throw t;return n.parse({...e,state:a(e.state)})}},c=async(t,n)=>{try{let r=await e.complete(t,n);return!r.success&&g(t)?await e.complete(a(t),n):r}catch(r){if(!g(t))throw r;return await e.complete(a(t),n)}},l=async t=>{try{let n=await e.parse(t);return n.success||n.consumed!==0||!g(t.state)?n:await e.parse({...t,state:a(t.state)})}catch(n){if(!g(t.state))throw n;return await e.parse({...t,state:a(t.state)})}},u=(e,t)=>{try{let r=K(n,e,t);return r==null&&g(e)?K(n,a(e),t):r}catch(r){if(!g(e))throw r;return K(n,a(e),t)}},p=async(t,n)=>{try{let r=await K(e,t,n);return r==null&&g(t)?await K(e,a(t),n):r}catch(r){if(!g(t))throw r;return await K(e,a(t),n)}},m=(t,n)=>e.getSuggestRuntimeNodes?.(t,n)??(e.dependencyMetadata?.source==null?[]:[{path:n,parser:e,state:t}]),_=(t,n,r)=>t!=null&&!vi(t)&&(yi(e,t)||e.canSkip?.(t,H(r,n))!==!0),v=e=>{let t=e.state.at(-1),a=e.state.length-1,o=_(t,a,e.exec),c=e.state.length<i;if(!o&&!c)return{success:!0,next:e,consumed:[]};let l=!o,u=o?e.state.length-1:e.state.length,p=o?t:f(e.state,n.initialState),m=s(W(e,u,p));if(!m.success){if(m.consumed!==0)return m;if(!l&&c){let t=f(e.state,n.initialState);if(u=e.state.length,m=s(W(e,u,t)),!m.success)return r===0&&e.buffer.length===0&&m.consumed===0?{success:!0,next:e,consumed:[]}:m;l=!0}else if(r===0&&e.buffer.length===0)return{success:!0,next:e,consumed:[]};else return m}let h=U(e.exec,m.next.exec);if(l&&m.consumed.length===0&&m.next.optionsTerminated===e.optionsTerminated&&bi(m.next.state,p))return{success:!0,next:{...m.next,state:e.state,...h==null?{}:{trace:h.trace,exec:h,dependencyRegistry:h.dependencyRegistry}},consumed:m.consumed};let g=l?e.state:p;if(m.next.state===p&&m.consumed.length>0&&(!l||m.next.optionsTerminated!==e.optionsTerminated))return{success:!0,...m.provisional?{provisional:!0}:{},next:{...m.next,state:e.state,...h==null?{}:{trace:h.trace,exec:h,dependencyRegistry:h.dependencyRegistry}},consumed:m.consumed};let v=f(g,m.next.state);return{success:!0,...m.provisional?{provisional:!0}:{},next:{...m.next,state:d(e.state,[...l?e.state:e.state.slice(0,-1),v]),...h==null?{}:{trace:h.trace,exec:h,dependencyRegistry:h.dependencyRegistry}},consumed:m.consumed}},y=async t=>{let n=t.state.at(-1),a=t.state.length-1,o=_(n,a,t.exec),s=t.state.length<i;if(!o&&!s)return{success:!0,next:t,consumed:[]};let c=!o,u=o?t.state.length-1:t.state.length,p=o?n:f(t.state,e.initialState),m=await l(W(t,u,p));if(!m.success){if(m.consumed!==0)return m;if(!c&&s){let n=f(t.state,e.initialState);if(u=t.state.length,m=await l(W(t,u,n)),!m.success)return r===0&&t.buffer.length===0&&m.consumed===0?{success:!0,next:t,consumed:[]}:m;c=!0}else if(r===0&&t.buffer.length===0)return{success:!0,next:t,consumed:[]};else return m}let h=U(t.exec,m.next.exec);if(c&&m.consumed.length===0&&m.next.optionsTerminated===t.optionsTerminated&&bi(m.next.state,p))return{success:!0,next:{...m.next,state:t.state,...h==null?{}:{trace:h.trace,exec:h,dependencyRegistry:h.dependencyRegistry}},consumed:m.consumed};let g=c?t.state:p;if(m.next.state===p&&m.consumed.length>0&&(!c||m.next.optionsTerminated!==t.optionsTerminated))return{success:!0,...m.provisional?{provisional:!0}:{},next:{...m.next,state:t.state,...h==null?{}:{trace:h.trace,exec:h,dependencyRegistry:h.dependencyRegistry}},consumed:m.consumed};let v=f(g,m.next.state);return{success:!0,...m.provisional?{provisional:!0}:{},next:{...m.next,state:d(t.state,[...c?t.state:t.state.slice(0,-1),v]),...h==null?{}:{trace:h.trace,exec:h,dependencyRegistry:h.dependencyRegistry}},consumed:m.consumed}},b={mode:e.mode,$valueType:[],$stateType:[],priority:e.priority,usage:[{type:`multiple`,terms:e.usage,min:r}],leadingNames:e.leadingNames,acceptingAnyToken:r>0&&(e.acceptingAnyToken??!1),initialState:[],canSkip(e,t){if(e.length<r)return!1;let n=e.at(-1);return!_(n,e.length-1,t)},getSuggestRuntimeNodes(e,t){let n=e.flatMap((e,n)=>[...m(e,[...t,n])]);return b.dependencyMetadata?.source==null?n:[{path:t,parser:b,state:e},...n]},parse(t){return P(e.mode,()=>v(t),()=>y(t))},complete(t,n){return P(e.mode,()=>{let e=[],r=new Map,i=!1;for(let s=0;s<t.length;s++){let c=o(t[s],H(n,s));if(c.success){let t=a(c.value);e.push(t),c.deferred&&(c.deferredKeys?r.set(s,c.deferredKeys):typeof t!=`object`||!t?r.set(s,null):i=!0)}else return{success:!1,error:c.error}}return ee(e,r,i)},async()=>{let e=[],r=new Map,i=!1;for(let o=0;o<t.length;o++){let s=await c(t[o],H(n,o));if(s.success){let t=a(s.value);e.push(t),s.deferred&&(s.deferredKeys?r.set(o,s.deferredKeys):typeof t!=`object`||!t?r.set(o,null):i=!0)}else return{success:!1,error:s.error}}return ee(e,r,i)})},[qn](t,n){return P(e.mode,()=>{let e=[],r=new Map,i=!1,a=!1;for(let o=0;o<t.length;o++){let s=u(t[o],H(n,o));s!=null&&(a=!0,e[o]=s.value,s.deferred&&(s.deferredKeys?r.set(o,s.deferredKeys):s.value==null||typeof s.value!=`object`?r.set(o,null):i=!0))}return a?{value:e,...r.size>0||i?{deferred:!0,...r.size>0?{deferredKeys:r}:{}}:{}}:null},async()=>{let e=[],r=new Map,i=!1,a=!1;for(let o=0;o<t.length;o++){let s=await p(t[o],H(n,o));s!=null&&(a=!0,e[o]=s.value,s.deferred&&(s.deferredKeys?r.set(o,s.deferredKeys):s.value==null||typeof s.value!=`object`?r.set(o,null):i=!0))}return a?{value:e,...r.size>0||i?{deferred:!0,...r.size>0?{deferredKeys:r}:{}}:{}}:null})},suggest(t,r){let s=t.state.at(-1),l=t.state.length-1,u=_(s,l,t.exec),d=t.state.length<i;if(!u&&!d)return Ye(e.mode,function*(){},async function*(){});let p=u?t.state.length-1:t.state.length,m=u?s:f(t.state,e.initialState),h=a(m),g=h!==m,v=()=>{let e=new Set;for(let n=0;n<t.state.length;n++){let r=W(t,n,t.state[n]),i=o(r.state,r.exec);i.success&&e.add(String(a(i.value)))}return e},y=async()=>{let e=new Set;for(let n=0;n<t.state.length;n++){let r=W(t,n,t.state[n]),i=await c(r.state,r.exec);i.success&&e.add(String(a(i.value)))}return e},b=(e,t)=>t.kind===`literal`?!e.has(t.text):!0,ee=e=>{let t=e.description==null?``:k(e.description);return e.kind===`literal`?JSON.stringify([`literal`,e.text,t]):JSON.stringify([`file`,e.type,e.pattern??``,e.includeHidden===!0,e.extensions==null?``:e.extensions.toSorted().join(`\0`),t])};return Ye(e.mode,function*(){let e=v(),i=new Set,a=function*(t){for(let n of t){let t=ee(n);b(e,n)&&!i.has(t)&&(i.add(t),yield n)}},o=!1;try{yield*a(n.suggest(W(t,p,m),r))}catch(e){if(!g)throw e;o=!0}o&&(yield*a(n.suggest(W(t,p,h),r)))},async function*(){let n=await y(),i=new Set,a=async function*(e){for await(let t of e){let e=ee(t);b(n,t)&&!i.has(e)&&(i.add(e),yield t)}},o=!1;try{yield*a(e.suggest(W(t,p,m),r))}catch(e){if(!g)throw e;o=!0}o&&(yield*a(e.suggest(W(t,p,h),r)))})},getDocFragments(e,t){let r=e.kind===`available`&&e.state.length>0?e.state.at(-1):void 0,i=r!=null&&g(r)?a(r):r,o=e.kind===`unavailable`||i===void 0?{kind:`unavailable`}:{kind:`available`,state:i};return n.getDocFragments(o,t!=null&&t.length>0?t[0]:void 0)}};function ee(e,n,a=!1){if(e.length<r){let n=t.errors?.tooFew;return{success:!1,error:n?typeof n==`function`?n(r,e.length):n:w`Expected at least ${T(r.toLocaleString(`en`))} values, but got only ${T(e.length.toLocaleString(`en`))}.`}}else if(e.length>i){let n=t.errors?.tooMany;return{success:!1,error:n?typeof n==`function`?n(i,e.length):n:w`Expected at most ${T(i.toLocaleString(`en`))} values, but got ${T(e.length.toLocaleString(`en`))}.`}}return{success:!0,value:e,...n.size>0||a?{deferred:!0,...n.size>0?{deferredKeys:n}:{}}:{}}}if(Object.defineProperty(b,"placeholder",{get(){try{if(r>0&&`placeholder`in e)return Array.from({length:r},()=>e.placeholder)}catch{}return[]},configurable:!0,enumerable:!1}),typeof e.normalizeValue==`function`){let t=e.normalizeValue.bind(e);Object.defineProperty(b,"normalizeValue",{value(e){if(!Array.isArray(e))return e;let n=!1,r=e.map(e=>{try{let r=t(e);return r!==e&&(n=!0),r}catch{return e}});return n?r:e},configurable:!0,enumerable:!1})}{let n=typeof e.validateValue==`function`?e.validateValue.bind(e):void 0,a=e=>{if(e.length<r){let n=t.errors?.tooFew;return{success:!1,error:n?typeof n==`function`?n(r,e.length):n:w`Expected at least ${T(r.toLocaleString(`en`))} values, but got only ${T(e.length.toLocaleString(`en`))}.`}}if(e.length>i){let n=t.errors?.tooMany;return{success:!1,error:n?typeof n==`function`?n(i,e.length):n:w`Expected at most ${T(i.toLocaleString(`en`))} values, but got ${T(e.length.toLocaleString(`en`))}.`}}return{success:!0,value:e}};Object.defineProperty(b,"validateValue",{value(t){if(!Array.isArray(t)){let n=t===null?`null`:typeof t;return F(e.mode,{success:!1,error:w`Expected an array of values, but received ${n}.`})}let r=a(t);return!r.success||n==null?F(e.mode,r):P(e.mode,()=>{let e=!1,r=[];for(let i of t){let t=n(i);if(!t.success)return t;r.push(t.value),t.value!==i&&(e=!0)}return{success:!0,value:e?r:t}},async()=>{let e=!1,r=[];for(let i of t){let t=await n(i);if(!t.success)return t;r.push(t.value),t.value!==i&&(e=!0)}return{success:!0,value:e?r:t}})},configurable:!0,enumerable:!1})}if(e.dependencyMetadata?.source!=null){let t=e.dependencyMetadata.source;Object.defineProperty(b,"dependencyMetadata",{value:{...e.dependencyMetadata,source:{...t,preservesSourceValue:!1,extractSourceValue:e=>{if(!Array.isArray(e))return t.extractSourceValue(e);let n=r=>{for(let i=r;i>=0;i--){let r=t.extractSourceValue(e[i]);if(r!=null)return Ci(r)?Promise.resolve(r).then(e=>e??n(i-1)):r}};return n(e.length-1)}}},configurable:!0,enumerable:!1})}return b}function Ui(e){if(e===``)throw TypeError(`Expected a non-empty string.`)}function Wi(e){if(typeof e!=`object`||!e||!(`mode`in e)||e.mode!==`sync`&&e.mode!==`async`)return!1;let t=`metavar`in e&&typeof e.metavar==`string`,n=`parse`in e&&typeof e.parse==`function`,r=`format`in e&&typeof e.format==`function`,i=`placeholder`in e;if(t&&n&&r&&!i)throw TypeError(`Value parser is missing the required placeholder property. All value parsers must define a placeholder value.`);return t&&n&&r&&i}function Gi(e={}){if(e.pattern!=null&&!(e.pattern instanceof RegExp))throw TypeError(`Expected pattern to be a RegExp, but got: ${Object.prototype.toString.call(e.pattern)}`);let t=e.metavar??`STRING`;Ui(t);let n=e.pattern?.source??null,r=e.pattern?.flags??null,i=e.errors?.patternMismatch;return{mode:`sync`,metavar:t,placeholder:e.placeholder??``,parse(e){if(n!=null&&r!=null){let t=new RegExp(n,r);return t.test(e)?{success:!0,value:e}:{success:!1,error:i?typeof i==`function`?i(e,t):i:w`Expected a string matching pattern ${T(n)}, but got ${e}.`}}return{success:!0,value:e}},format(e){return e}}}const Ki=`(?:\\d+(?:\\.\\d*)?|\\d*\\.\\d+)`,qi=`(?:-?${Ki})`;RegExp(`^rgba?\\(\\s*(\\d{1,3})\\s*,\\s*(\\d{1,3})\\s*,\\s*(\\d{1,3})\\s*(?:,\\s*(${Ki}))?\\s*\\)$`,`i`),RegExp(`^hsla?\\(\\s*(${qi})\\s*,\\s*(${Ki})%\\s*,\\s*(${Ki})%\\s*(?:,\\s*(${Ki}))?\\s*\\)$`,`i`);const Ji=Object.freeze([`0.0.0`,`1.0.0`,`1.0.0-alpha`,`1.0.0-alpha.1`,`1.0.0+build.1`,`1.0.0-alpha.1+build.1`]);Object.freeze([...Ji,...Ji.map(e=>`v${e}`)]);const Yi=new Set;function Xi(e,t){return t==null?e!=null&&`success`in e&&e.success&&e.value===!0:typeof e==`object`&&!!e&&`success`in e&&typeof e.success==`boolean`}function Zi(e){return typeof e==`object`&&!!e&&`success`in e&&typeof e.success==`boolean`}function Qi(e){return e}function $i(e,t,n,r,i,a){let o={kind:e,rawInput:t,consumed:n,preliminaryResult:i,...a==null?{}:{optionNames:a},metavar:r.metavar};if(ot(r)){let e=st(i);if(e!=null)return{...o,defaultDependencyValues:e}}return o}function ea(e,t){if(e.exec?.trace==null)return e;let n=e.exec.trace.set(e.exec.path,t);return{...e,trace:n,exec:{...e.exec,trace:n}}}function ta(e,t,n){if(e?.derived==null||n?.dependencyRuntime==null)return t;let r=n.trace?.get(n.path);if(r?.rawInput==null)return r?.preliminaryResult??t;if(r.preliminaryResult!=null){let t=n.dependencyRuntime.resolveDependencies({dependencyIds:e.derived.dependencyIds,defaultValues:r.defaultDependencyValues});if(t.kind===`resolved`&&t.usedDefaults.length>0&&t.usedDefaults.every(e=>e))return r.preliminaryResult}return pn({path:n.path,parser:{dependencyMetadata:{derived:e.derived}},state:t,defaultDependencyValues:r.defaultDependencyValues},r.rawInput,n.dependencyRuntime)??r.preliminaryResult??t}async function na(e,t,n){if(e?.derived==null||n?.dependencyRuntime==null)return t;let r=n.trace?.get(n.path);if(r?.rawInput==null)return r?.preliminaryResult??t;if(r.preliminaryResult!=null){let t=n.dependencyRuntime.resolveDependencies({dependencyIds:e.derived.dependencyIds,defaultValues:r.defaultDependencyValues});if(t.kind===`resolved`&&t.usedDefaults.length>0&&t.usedDefaults.every(e=>e))return r.preliminaryResult}return await mn({path:n.path,parser:{dependencyMetadata:{derived:e.derived}},state:t,defaultDependencyValues:r.defaultDependencyValues},r.rawInput,n.dependencyRuntime)??r.preliminaryResult??t}function Z(e){let t={$valueType:[],$stateType:[],mode:`sync`,priority:0,usage:[],leadingNames:Yi,acceptingAnyToken:!1,initialState:e,canSkip(){return!0},parse(e){return{success:!0,next:e,consumed:[]}},complete(e,t){return{success:!0,value:e}},suggest(e,t){return[]},getDocFragments(e,t){return{fragments:[]}}};return Object.defineProperty(t,"placeholder",{value:e,configurable:!0,enumerable:!1,writable:!1}),t}function*ra(e,t,n,r){if(e.suggest){if(ot(e)&&it in e){let i=e,a=i[it];if(a&&n){let o=r?.dependencyRuntime,s=ut(i),c=dt(i)?.(),l=[],u=!1;for(let r=0;r<s.length;r++){let i=s[r];if(n.has(i))l.push(n.get(i)),u=!0;else if(o?.isSourceFailed(i))return;else if(c&&r<c.length)l.push(c[r]);else{yield*e.suggest(t);return}}if(u){yield*a(t,s.length===1?l[0]:l);return}}}yield*e.suggest(t)}}function*ia(e,t,n,r,i){if(n)return;let a=i.indexOf(`=`);if(a>=0){let n=i.slice(0,a),o=i.slice(a+1);if(e.includes(n)&&t&&t.suggest){let e=ra(t,o,r.dependencyRegistry,r.exec);for(let t of e)t.kind===`literal`?yield{kind:`literal`,text:`${n}=${t.text}`,description:t.description}:yield{kind:`literal`,text:`${n}=${t.pattern||``}`,description:t.description}}}else{if(!(r.buffer.length>0&&e.includes(r.buffer[r.buffer.length-1]))&&(i.startsWith(`--`)||i.startsWith(`-`)||i.startsWith(`/`)||i.startsWith(`+`))){for(let t of e)if(t.startsWith(i)){if(i===`-`&&t.length!==2)continue;yield{kind:`literal`,text:t}}}if(t&&t.suggest){let n=!1;if(r.buffer.length>0){let t=r.buffer[r.buffer.length-1];e.includes(t)&&(n=!0)}else Hn(r.state)&&r.buffer.length===0&&(r.exec?.path?.length??0)===0&&!(i.startsWith(`--`)||i.startsWith(`-`)||i.startsWith(`/`)||i.startsWith(`+`))&&(n=!0);n&&(yield*ra(t,i,r.dependencyRegistry,r.exec))}}}async function*aa(e,t,n,r){if(e.suggest){if(ot(e)&&it in e){let i=e,a=i[it];if(a&&n){let o=r?.dependencyRuntime,s=ut(i),c=dt(i)?.(),l=[],u=!1;for(let r=0;r<s.length;r++){let i=s[r];if(n.has(i))l.push(n.get(i)),u=!0;else if(o?.isSourceFailed(i))return;else if(c&&r<c.length)l.push(c[r]);else{for await(let n of e.suggest(t))yield n;return}}if(u){let e=s.length===1?l[0]:l;for await(let n of a(t,e))yield n;return}}}for await(let n of e.suggest(t))yield n}}async function*oa(e,t,n,r,i){if(n)return;let a=i.indexOf(`=`);if(a>=0){let n=i.slice(0,a),o=i.slice(a+1);if(e.includes(n)&&t&&t.suggest){let e=aa(t,o,r.dependencyRegistry,r.exec);for await(let t of e)t.kind===`literal`?yield{kind:`literal`,text:`${n}=${t.text}`,description:t.description}:yield{kind:`literal`,text:`${n}=${t.pattern||``}`,description:t.description}}}else{if(!(r.buffer.length>0&&e.includes(r.buffer[r.buffer.length-1]))&&(i.startsWith(`--`)||i.startsWith(`-`)||i.startsWith(`/`)||i.startsWith(`+`))){for(let t of e)if(t.startsWith(i)){if(i===`-`&&t.length!==2)continue;yield{kind:`literal`,text:t}}}if(t&&t.suggest){let n=!1;if(r.buffer.length>0){let t=r.buffer[r.buffer.length-1];e.includes(t)&&(n=!0)}else Hn(r.state)&&r.buffer.length===0&&(r.exec?.path?.length??0)===0&&!(i.startsWith(`--`)||i.startsWith(`-`)||i.startsWith(`/`)||i.startsWith(`+`))&&(n=!0);if(n)for await(let e of aa(t,i,r.dependencyRegistry,r.exec))yield e}}}function*sa(e,t,n,r,i){t||e.suggest&&(yield*ra(e,n,r,i))}async function*ca(e,t,n,r,i){t||e.suggest&&(yield*aa(e,n,r,i))}function la(...e){let t=e.at(-1),n=e.at(-2),r,i,a={};Wi(t)?(r=t,i=e.slice(0,-1)):typeof t==`object`&&t?(a=t,Wi(n)?(r=n,i=e.slice(0,-2)):(r=void 0,i=e.slice(0,-1))):(i=e,r=void 0),pe(i,`Option`);let o=r?.mode??`sync`,s=o===`async`,c=r,l=r==null?void 0:mi(r),u=e=>a.errors?.invalidValue?typeof a.errors.invalidValue==`function`?a.errors.invalidValue(e):a.errors.invalidValue:w`${oe(i)}: ${e}`,d={mode:o,$valueType:[],$stateType:[],priority:10,usage:[r==null?{type:`optional`,terms:[{type:`option`,names:i,...a.hidden!=null&&{hidden:a.hidden}}]}:{type:`option`,names:i,metavar:r.metavar,...a.hidden!=null&&{hidden:a.hidden}}],leadingNames:new Set(i),acceptingAnyToken:!1,initialState:r==null?{success:!0,value:!1}:void 0,canSkip(e){return r==null||Zi(e)},parse(e){if(e.optionsTerminated)return{success:!1,consumed:0,error:a.errors?.optionsTerminated??w`No more options can be parsed.`};if(e.buffer.length<1)return{success:!1,consumed:0,error:a.errors?.endOfInput??w`Expected an option, but got end of input.`};if(e.buffer[0]===`--`)return{success:!0,next:{...e,buffer:e.buffer.slice(1),state:e.state,optionsTerminated:!0},consumed:e.buffer.slice(0,1)};if(i.includes(e.buffer[0])){if(Xi(e.state,r))return{success:!1,consumed:1,error:a.errors?.duplicate?typeof a.errors.duplicate==`function`?a.errors.duplicate(e.buffer[0]):a.errors.duplicate:w`${E(e.buffer[0])} cannot be used multiple times.`};if(r==null)return{success:!0,next:{...e,state:{success:!0,value:!0},buffer:e.buffer.slice(1)},consumed:e.buffer.slice(0,1)};if(e.buffer.length<2)return{success:!1,consumed:1,error:a.errors?.endOfInput??w`${E(e.buffer[0])} requires ${D(r.metavar)}.`};let t=e.buffer[1];return P(o,()=>{let n=c.parse(t);return{success:!0,next:{...ea(e,$i(`option-value`,t,e.buffer.slice(0,2),c,n,i)),state:Qi(n),buffer:e.buffer.slice(2)},consumed:e.buffer.slice(0,2)}},async()=>{let n=await r.parse(t);return{success:!0,next:{...ea(e,$i(`option-value`,t,e.buffer.slice(0,2),r,n,i)),state:Qi(n),buffer:e.buffer.slice(2)},consumed:e.buffer.slice(0,2)}})}let t=i.filter(e=>e.startsWith(`--`)||e.startsWith(`/`)||e.startsWith(`-`)&&e.length>2).map(e=>e.startsWith(`/`)?`${e}:`:`${e}=`);for(let n of t){if(!e.buffer[0].startsWith(n))continue;if(Xi(e.state,r)){let e=n.slice(0,-1);return{success:!1,consumed:1,error:a.errors?.duplicate?typeof a.errors.duplicate==`function`?a.errors.duplicate(n):a.errors.duplicate:w`${E(e)} cannot be used multiple times.`}}let t=e.buffer[0].slice(n.length);return r==null?{success:!1,consumed:1,error:a.errors?.unexpectedValue?typeof a.errors.unexpectedValue==`function`?a.errors.unexpectedValue(t):a.errors.unexpectedValue:w`Option ${E(n)} is a Boolean flag, but got a value: ${t}.`}:P(o,()=>{let n=c.parse(t);return{success:!0,next:{...ea(e,$i(`option-value`,t,e.buffer.slice(0,1),c,n,i)),state:Qi(n),buffer:e.buffer.slice(1)},consumed:e.buffer.slice(0,1)}},async()=>{let n=await r.parse(t);return{success:!0,next:{...ea(e,$i(`option-value`,t,e.buffer.slice(0,1),r,n,i)),state:Qi(n),buffer:e.buffer.slice(1)},consumed:e.buffer.slice(0,1)}})}if(r==null){let t=i.filter(e=>e.match(/^-[^-]$/));for(let n of t)if(e.buffer[0].startsWith(n))return Xi(e.state,r)?{success:!1,consumed:1,error:a.errors?.duplicate?typeof a.errors.duplicate==`function`?a.errors.duplicate(n):a.errors.duplicate:w`${E(n)} cannot be used multiple times.`}:{success:!0,next:{...e,state:{success:!0,value:!0},buffer:[`-${e.buffer[0].slice(2)}`,...e.buffer.slice(1)]},consumed:[e.buffer[0].slice(0,2)]}}let n=e.buffer[0];if(a.errors?.noMatch){let t=new Set;for(let n of Se(e.usage))t.add(n);let r=Zn(n,t,Xn);return{success:!1,consumed:0,error:typeof a.errors.noMatch==`function`?a.errors.noMatch(n,r):a.errors.noMatch}}return{success:!1,consumed:0,error:tr(w`No matched option for ${E(n)}.`,n,e.usage,`option`)}},complete(e,t){let n=r==null?{success:!0,value:!1}:{success:!1,error:a.errors?.missing?typeof a.errors.missing==`function`?a.errors.missing(i):a.errors.missing:w`Missing option ${oe(i)}.`},s=()=>{if(e==null)return n;let i=r!=null&&l?.derived!=null?ta(l,e,t):e;return i.success?i:{success:!1,error:u(i.error)}};return P(o,s,async()=>{if(e==null)return n;if(r==null||l?.derived==null)return s();let i=await na(l,e,t);return i.success?i:{success:!1,error:u(i.error)}})},suggest(e,t){return s?oa(i,r,M(a.hidden),e,t):ia(i,r,M(a.hidden),e,t)},getDocFragments(e,t){if(be(a.hidden))return{fragments:[],description:a.description};let n=r?.choices!=null&&r.choices.length>0?ue(r.choices.map(e=>r.format(e)),{fallback:``,type:`unit`}):void 0;return{fragments:[{type:`entry`,term:{type:`option`,names:i,metavar:r?.metavar},description:a.description,default:t!=null&&r!=null?w`${r.format(t)}`:void 0,choices:n}],description:a.description}},[Symbol.for(`Deno.customInspect`)](){return`option(${i.map(e=>JSON.stringify(e)).join(`, `)})`}};if(r!=null&&typeof r.normalize==`function`){let e=r.normalize.bind(r);Object.defineProperty(d,"normalizeValue",{value(t){try{return e(t)}catch{return t}},configurable:!0,enumerable:!1})}if(r==null)Object.defineProperty(d,"validateValue",{value(e){return typeof e==`boolean`?F(o,{success:!0,value:e}):F(o,{success:!1,error:u(w`Expected a boolean value, but received ${e===null?`null`:typeof e}.`)})},configurable:!0,enumerable:!1});else if(!ot(r)){let e=r,t=e=>e.success?e:{success:!1,error:u(e.error)};Object.defineProperty(d,"validateValue",{value(n){if(typeof e.validate==`function`)return F(o,t(e.validate(n)));let r;try{r=e.format(n)}catch{return F(o,{success:!0,value:n})}return typeof r==`string`?P(o,()=>t(e.parse(r)),async()=>t(await e.parse(r))):F(o,{success:!0,value:n})},configurable:!0,enumerable:!1})}return r==null?Object.defineProperty(d,"placeholder",{value:!1,configurable:!0,enumerable:!1,writable:!1}):Object.defineProperty(d,"placeholder",{get(){try{return r.placeholder}catch{return}},configurable:!0,enumerable:!1}),l!=null&&Object.defineProperty(d,"dependencyMetadata",{value:l,configurable:!0,enumerable:!1}),d}function ua(...e){let t=e.at(-1),n,r={};typeof t==`object`&&t&&!Array.isArray(t)?(r=t,n=e.slice(0,-1)):n=e,pe(n,`Flag`);let i={$valueType:[],$stateType:[],mode:`sync`,priority:10,usage:[{type:`option`,names:n,...r.hidden!=null&&{hidden:r.hidden}}],leadingNames:new Set(n),acceptingAnyToken:!1,initialState:void 0,canSkip(e){return Zi(e)},parse(e){if(e.optionsTerminated)return{success:!1,consumed:0,error:r.errors?.optionsTerminated??w`No more options can be parsed.`};if(e.buffer.length<1)return{success:!1,consumed:0,error:r.errors?.endOfInput??w`Expected an option, but got end of input.`};if(e.buffer[0]===`--`)return{success:!0,next:{...e,buffer:e.buffer.slice(1),state:e.state,optionsTerminated:!0},consumed:e.buffer.slice(0,1)};if(n.includes(e.buffer[0]))return e.state?.success?{success:!1,consumed:1,error:r.errors?.duplicate?typeof r.errors.duplicate==`function`?r.errors.duplicate(e.buffer[0]):r.errors.duplicate:w`${E(e.buffer[0])} cannot be used multiple times.`}:{success:!0,next:{...e,state:{success:!0,value:!0},buffer:e.buffer.slice(1)},consumed:e.buffer.slice(0,1)};let t=n.filter(e=>e.startsWith(`--`)||e.startsWith(`/`)||e.startsWith(`-`)&&e.length>2).map(e=>e.startsWith(`/`)?`${e}:`:`${e}=`);for(let n of t)if(e.buffer[0].startsWith(n)){let t=e.buffer[0].slice(n.length);return{success:!1,consumed:1,error:w`Flag ${E(n.slice(0,-1))} does not accept a value, but got: ${t}.`}}let i=n.filter(e=>e.match(/^-[^-]$/));for(let t of i)if(e.buffer[0].startsWith(t))return e.state?.success?{success:!1,consumed:1,error:r.errors?.duplicate?typeof r.errors.duplicate==`function`?r.errors.duplicate(t):r.errors.duplicate:w`${E(t)} cannot be used multiple times.`}:{success:!0,next:{...e,state:{success:!0,value:!0},buffer:[`-${e.buffer[0].slice(2)}`,...e.buffer.slice(1)]},consumed:[e.buffer[0].slice(0,2)]};let a=e.buffer[0];if(r.errors?.noMatch){let t=new Set;for(let n of Se(e.usage))t.add(n);let n=Zn(a,t,Xn);return{success:!1,consumed:0,error:typeof r.errors.noMatch==`function`?r.errors.noMatch(a,n):r.errors.noMatch}}return{success:!1,consumed:0,error:tr(w`No matched option for ${E(a)}.`,a,e.usage,`option`)}},complete(e,t){return e==null?{success:!1,error:r.errors?.missing?typeof r.errors.missing==`function`?r.errors.missing(n):r.errors.missing:w`Required flag ${oe(n)} is missing.`}:e.success?{success:!0,value:!0}:{success:!1,error:w`${oe(n)}: ${e.error}`}},suggest(e,t){if(M(r.hidden))return[];let i=[];if(t.startsWith(`--`)||t.startsWith(`-`)||t.startsWith(`/`)||t.startsWith(`+`)){for(let e of n)if(e.startsWith(t)){if(t===`-`&&e.length!==2)continue;i.push({kind:`literal`,text:e})}}return i},getDocFragments(e,t){return be(r.hidden)?{fragments:[],description:r.description}:{fragments:[{type:`entry`,term:{type:`option`,names:n},description:r.description}],description:r.description}},[Symbol.for(`Deno.customInspect`)](){return`flag(${n.map(e=>JSON.stringify(e)).join(`, `)})`}};return Object.defineProperty(i,"placeholder",{value:!0,configurable:!0,enumerable:!1,writable:!1}),i}function da(e,t={}){let n=e.mode===`async`,r=e,i=mi(e),a=n=>t.errors?.invalidValue?typeof t.errors.invalidValue==`function`?t.errors.invalidValue(n):t.errors.invalidValue:w`${D(e.metavar)}: ${n}`,o=/^--?[a-z0-9-]+$/i,s={type:`argument`,metavar:e.metavar,...t.hidden!=null&&{hidden:t.hidden}},c={mode:e.mode,$valueType:[],$stateType:[],priority:5,usage:[s],leadingNames:Yi,acceptingAnyToken:!0,initialState:void 0,canSkip(e){return Zi(e)},parse(n){let i=kn(n.state);if(n.buffer.length<1)return{success:!1,consumed:0,error:t.errors?.endOfInput??w`Expected an argument, but got end of input.`};let a=0,s=n.optionsTerminated;if(!s){if(n.buffer[a]===`--`)s=!0,a++;else if(n.buffer[a].match(o))return{success:!1,consumed:a,error:w`Expected an argument, but got an option: ${E(n.buffer[a])}.`}}if(n.buffer.length<a+1)return{success:!1,consumed:a,error:w`Expected an argument, but got end of input.`};if(i!=null)return{success:!1,consumed:a,error:t.errors?.multiple?typeof t.errors.multiple==`function`?t.errors.multiple(e.metavar):t.errors.multiple:w`The argument ${D(e.metavar)} cannot be used multiple times.`};let c=n.buffer[a];return P(e.mode,()=>{let e=r.parse(c);return{success:!0,next:{...ea(n,$i(`argument-value`,c,n.buffer.slice(0,a+1),r,e)),buffer:n.buffer.slice(a+1),state:Qi(e),optionsTerminated:s},consumed:n.buffer.slice(0,a+1)}},async()=>{let t=await e.parse(c);return{success:!0,next:{...ea(n,$i(`argument-value`,c,n.buffer.slice(0,a+1),e,t)),buffer:n.buffer.slice(a+1),state:Qi(t),optionsTerminated:s},consumed:n.buffer.slice(0,a+1)}})},complete(n,r){let o={success:!1,error:t.errors?.endOfInput??w`Expected a ${D(e.metavar)}, but too few arguments.`},s=()=>{if(n==null)return o;let e=i?.derived==null?n:ta(i,n,r);return e.success?e:{success:!1,error:a(e.error)}};return P(e.mode,s,async()=>{if(n==null)return o;if(i?.derived==null)return s();let e=await na(i,n,r);return e.success?e:{success:!1,error:a(e.error)}})},suggest(r,i){return kn(r.state)==null?n?ca(e,M(t.hidden),i,r.dependencyRegistry,r.exec):sa(e,M(t.hidden),i,r.dependencyRegistry,r.exec):Ye(e.mode,function*(){},async function*(){})},getDocFragments(n,r){if(be(t.hidden))return{fragments:[],description:t.description};let i=e.choices!=null&&e.choices.length>0?ue(e.choices.map(t=>e.format(t)),{fallback:``,type:`unit`}):void 0;return{fragments:[{type:`entry`,term:s,description:t.description,default:r==null?void 0:w`${e.format(r)}`,choices:i}],description:t.description}},[Symbol.for(`Deno.customInspect`)](){return`argument()`}};if(typeof e.normalize==`function`){let t=e.normalize.bind(e);Object.defineProperty(c,"normalizeValue",{value(e){try{return t(e)}catch{return e}},configurable:!0,enumerable:!1})}if(!ot(e)){let t=e,n=e.mode,i=e=>e.success?e:{success:!1,error:a(e.error)};Object.defineProperty(c,"validateValue",{value(e){if(typeof t.validate==`function`)return F(n,i(t.validate(e)));let a;try{a=t.format(e)}catch{return F(n,{success:!0,value:e})}return typeof a==`string`?P(n,()=>i(r.parse(a)),async()=>i(await t.parse(a))):F(n,{success:!0,value:e})},configurable:!0,enumerable:!1})}return Object.defineProperty(c,"placeholder",{get(){try{return e.placeholder}catch{return}},configurable:!0,enumerable:!1}),i!=null&&Object.defineProperty(c,"dependencyMetadata",{value:i,configurable:!0,enumerable:!1}),c}function fa(e){return kn(e)}function pa(e,t,n){return Un(e,t,n)}function Q(e,t,n){return V(e,t,n)}function ma(e,t){return d(e,t)}function ha(e,t){if(e!=null)return{...e,commandPath:[...e.commandPath??[],t]}}function ga(e,t){return[e,..._a(t),...va(t)]}function _a(e){let t=e.aliases;if(t==null)return[];if(!ya(t))throw TypeError(`Command aliases must be a non-empty array of strings.`);return t}function va(e){let t=e[Kn];if(t==null)return[];if(!ya(t))throw TypeError(`Hidden command aliases must be a non-empty array of strings.`);return t}function ya(e){if(!Array.isArray(e)||e.length===0)return!1;for(let t=0;t<e.length;t++)if(typeof e[t]!=`string`)return!1;return!0}function ba(e){let t=new Set;for(let n of e){if(t.has(n))throw TypeError(`Command has a duplicate name: "${n}".`);t.add(n)}}function*xa(e,t,n,r,i,a){if(M(a.hidden))return;let o=fa(e.state);if(o===void 0)for(let e of[n,...r])e.startsWith(t)&&(yield{kind:`literal`,text:e,...a.description&&{description:a.description}});else o[0]===`matched`?yield*i.suggest(W(e,n,Q(e.state,i.initialState,i),i.usage),t):o[0]===`parsing`&&(yield*i.suggest(W(e,n,Q(e.state,o[1],i),i.usage),t))}async function*Sa(e,t,n,r,i,a){if(M(a.hidden))return;let o=fa(e.state);if(o===void 0)for(let e of[n,...r])e.startsWith(t)&&(yield{kind:`literal`,text:e,...a.description&&{description:a.description}});else if(o[0]===`matched`){let r=i.suggest(W(e,n,Q(e.state,i.initialState,i),i.usage),t);for await(let e of r)yield e}else if(o[0]===`parsing`){let r=i.suggest(W(e,n,Q(e.state,o[1],i),i.usage),t);for await(let e of r)yield e}}function Ca(e,t,n={}){let r=ga(e,n),i=_a(n),a=va(n);me(r,`Command`),ba(r);let o=t.mode===`async`,s=t,c=t,l={[Symbol.for(`@optique/core/commandParser`)]:!0,mode:t.mode,$valueType:[],$stateType:[],priority:15,usage:[{type:`command`,name:e,...i.length>0&&{aliases:i},...a.length>0&&{hiddenAliases:a},...n.usageLine!=null&&{usageLine:n.usageLine},...n.hidden!=null&&{hidden:n.hidden}},...t.usage],leadingNames:new Set(r),acceptingAnyToken:!1,initialState:void 0,canSkip(n,r){let i=fa(n);return i===void 0?!1:i[0]===`matched`?t.canSkip?.(Q(n,t.initialState,t),H(r,e))===!0:t.canSkip?.(Q(n,i[1],t),H(r,e))===!0},getSuggestRuntimeNodes(n,r){let i=fa(n);if(i===void 0)return[];let a=i[0]===`matched`?Q(n,t.initialState,t):Q(n,i[1],t),o=[...r,e];return t.getSuggestRuntimeNodes?.(a,o)??(t.dependencyMetadata?.source==null?[]:[{path:o,parser:t,state:a}])},parse(i){let a=fa(i.state);if(a===void 0){if(i.buffer.length<1||!r.includes(i.buffer[0])){let t=i.buffer.length>0?i.buffer[0]:null,r=ar(i.usage),a=t?Zn(t,r,Xn):[],o=$n(i.usage,a);if(n.errors?.notMatched){let r=n.errors.notMatched;return{success:!1,consumed:0,error:typeof r==`function`?r(e,t,o):r}}if(t==null)return{success:!1,consumed:0,error:w`Expected command ${E(e)}, but got end of input.`};let s=w`Expected command ${E(e)}, but got ${t}.`,c=Qn(o);return{success:!1,consumed:0,error:c.length>0?[...s,T(`
42
+ `),...c]:e}function wr(e,t){return t==null?e:e.type===`optional`?{type:`optional`,terms:Tr(e.terms,t)}:e.type===`multiple`?{type:`multiple`,terms:Tr(e.terms,t),min:e.min}:e.type===`sequence`?{type:`sequence`,terms:Tr(e.terms,t)}:e.type===`exclusive`?{type:`exclusive`,terms:e.terms.map(e=>Tr(e,t))}:e.type===`argument`||e.type===`option`||e.type===`command`||e.type===`passthrough`?{...e,hidden:xe(e.hidden,t)}:e}function Tr(e,t){return t==null?e:e.map(e=>wr(e,t))}function Er(e,t){let n=wr(e.term,t);if(!((n.type===`argument`||n.type===`option`||n.type===`command`||n.type===`passthrough`)&&be(n.hidden)))return{...e,term:n}}function Dr(e,t){if(t==null)return e;let n=[];for(let r of e){if(r.type===`entry`){let e=Er(r,t);e!=null&&n.push({...e,type:`entry`});continue}let e=r.entries.map(e=>Er(e,t)).filter(e=>e!=null);n.push({type:`section`,title:r.title,entries:e})}return n}function Or(e,t){function n(e){if(!e||!Array.isArray(e))return!1;for(let r of e)if(r.type===`option`){if(r.metavar&&r.names.includes(t))return!0}else if(r.type===`optional`||r.type===`multiple`||r.type===`sequence`){if(n(r.terms))return!0}else if(r.type===`exclusive`){for(let e of r.terms)if(n(e))return!0}return!1}return n(e)}function kr(e){let t=[];for(let n of e)if(n.type===`optional`)continue;else if(n.type===`exclusive`){let e=n.terms.map(e=>kr(e)).filter(e=>e.length>0);e.length>0&&t.push({type:`exclusive`,terms:e})}else if(n.type===`multiple`){if(n.min>0){let e=kr(n.terms);e.length>0&&t.push({type:`multiple`,terms:e,min:n.min})}}else t.push(n);return t}function Ar(e,t){for(let n=0;n<e.length;n++){let r=e[n],i=r;if(r==null||typeof r!=`object`&&typeof r!=`function`||!(i.mode===`sync`||i.mode===`async`)||!Array.isArray(i.usage)||typeof i.priority!=`number`||Number.isNaN(i.priority)||!(`initialState`in r)||typeof i.parse!=`function`||typeof i.complete!=`function`||typeof i.suggest!=`function`||typeof i.getDocFragments!=`function`)throw TypeError(`${t} argument at index ${n} is not a valid Parser.`)}}function jr(e){let t=kr([{type:`exclusive`,terms:e.map(e=>e.usage)}]);return{hasOptions:Se(t).size>0,hasCommands:N(t).size>0,hasArguments:Ce(t).size>0}}var Mr=class extends Error{constructor(e,t){let n=t.map(e=>typeof e==`symbol`?e.description??e.toString():e);super(`Duplicate option name "${e}" found in fields: ${n.join(`, `)}. Each option name must be unique within a parser combinator.`),this.optionName=e,this.sources=t,this.name=`DuplicateOptionError`}},Nr=class extends TypeError{constructor(e,t){let n=t.map(e=>typeof e==`symbol`?e.description??e.toString():e);super(`Duplicate command name "${e}" found in parsers: ${n.join(`, `)}. Each command name or alias must be unique within active parser alternatives.`),this.commandName=e,this.sources=t}};function Pr(e){let t=new Map;for(let[n,r]of e){let e=Lr(r);for(let r of e)t.has(r)||t.set(r,[]),t.get(r).push(n)}for(let[e,n]of t)if(n.length>1)throw new Mr(e,n)}function Fr(e){let t=new Map;for(let[n,r]of e){let e=N(r.usage,!0);for(let i of r.leadingNames){if(!e.has(i))continue;let r=t.get(i);t.set(i,r==null?[n]:[...r,n])}}for(let[e,n]of t)if(n.length>1)throw new Nr(e,n)}function Ir(e){let t=new Map,n=[...e].sort(([,e],[,t])=>t.priority-e.priority),r=new Set,i=!1;for(let e=0;e<n.length;){let a=n[e][1].priority,o=[];for(;e<n.length&&n[e][1].priority===a;)o.push(n[e]),e++;let s=new Set,c=!1;for(let[e,n]of o){n.acceptingAnyToken&&(c=!0);let a=N(n.usage,!0);for(let o of n.leadingNames){if(!a.has(o)||i||r.has(o))continue;s.add(o);let n=t.get(o);t.set(o,n==null?[e]:[...n,e])}}for(let e of s)r.add(e);c&&(i=!0)}for(let[e,n]of t)if(n.length>1)throw new Nr(e,n)}function Lr(e){return Se(e,!0)}function Rr(e){let{hasOptions:t,hasCommands:n,hasArguments:r}=e;return r&&!t&&!n?w`Missing required argument.`:n&&!t&&!r?w`No matching command found.`:t&&!n&&!r?w`No matching option found.`:n&&t&&!r?w`No matching option or command found.`:r&&t&&!n?w`No matching option or argument found.`:r&&n&&!t?w`No matching command or argument found.`:t&&n&&r?w`No matching option, command, or argument found.`:w`No value provided.`}function zr(e){if(!(!Array.isArray(e)||e.length!==2||typeof e[0]!=`number`))return e}function Br(e,t,n){if(!n.success)return n;let r=V(e,n.next.state,t);return r===n.next.state?n:{...n,next:{...n.next,state:r}}}function Y(e,t,n,r){return d(e,[t,Br(e,n,r)])}function Vr(e,t,n,r){let i=e;return(a,o)=>{let s=zr(a);if(s==null)return P(r,()=>{let e=Wr(i,a,o);if(e!=null){let t=i[e.index],n=V(a,e.parseResult.next.state,t);return t.complete(n,H(o,e.index))}return{success:!1,error:qr(t,n)}},async()=>{let r=await Gr(e,a,o);if(r!=null&&(e[r.index].mode===`sync`||o?.phase!==`parse`&&o?.phase!==`suggest`)){let t=e[r.index],n=V(a,r.parseResult.next.state,t);return await t.complete(n,H(o,r.index))}return{success:!1,error:qr(t,n)}});let[c,l]=s;return l.success?P(r,()=>i[c].complete(l.next.state,H(o,c)),async()=>await e[c].complete(l.next.state,H(o,c))):{success:!1,error:l.error}}}function Hr(e,t){let n=e;return(r,i)=>Ye(t,function*(){let e=[],t=zr(r.state);if(t==null||t[1].success&&t[1].consumed.length===0)for(let t=0;t<n.length;t++){let a=n[t],o=a.suggest(q(r,t,a.initialState,a),i);e.push(...o)}else{let[a,o]=t;if(o.success){let t=n[a],s=t.suggest(q(r,a,o.next.state,t),i);e.push(...s)}}yield*rr(e)},async function*(){let t=[],n=zr(r.state);if(n==null||n[1].success&&n[1].consumed.length===0)for(let n=0;n<e.length;n++){let a=e[n],o=a.suggest(q(r,n,a.initialState,a),i);if(a.mode===`async`)for await(let e of o)t.push(e);else t.push(...o)}else{let[a,o]=n;if(o.success){let n=e[a],s=n.suggest(q(r,a,o.next.state,n),i);if(n.mode===`async`)for await(let e of s)t.push(e);else t.push(...s)}}yield*rr(t)})}function Ur(e,t,n){let r=zr(t);if(r==null)return[];let[i,a]=r;if(!a?.success||i<0||i>=e.length)return[];let o=e[i];return At(o,a.next.state,[...n,i])}function Wr(e,t,n){let r={buffer:[],optionsTerminated:!1,usage:[],exec:n,dependencyRegistry:n?.dependencyRegistry},i=-1,a=0,o;for(let n=0;n<e.length;n++){let s=e[n];if(s.leadingNames.size>0||s.acceptingAnyToken)continue;let c=s.parse({...r,state:V(t,s.initialState,s)});if(!(!c.success||c.provisional)&&(a++,i<0&&(i=n,o=c),a>1))break}return a===1&&i>=0&&o!=null?{index:i,parseResult:o}:null}async function Gr(e,t,n){let r={buffer:[],optionsTerminated:!1,usage:[],exec:n,dependencyRegistry:n?.dependencyRegistry},i=-1,a=0,o;for(let n=0;n<e.length;n++){let s=e[n];if(s.leadingNames.size>0||s.acceptingAnyToken)continue;let c=await s.parse({...r,state:V(t,s.initialState,s)});if(!(!c.success||c.provisional)&&(a++,i<0&&(i=n,o=c),a>1))break}return a===1&&i>=0&&o!=null?{index:i,parseResult:o}:null}function Kr(e,t,n,r){let i=zr(t);if(i==null)return P(r,()=>{let r=Wr(e,t,n);return r==null?null:vr(e[r.index],r.parseResult.next.state,H(n,r.index))},async()=>{let r=await Gr(e,t,n);return r==null?null:await yr(e[r.index],r.parseResult.next.state,H(n,r.index))});if(!i[1].success)return P(r,()=>null,()=>Promise.resolve(null));let[a,o]=i;return K(e[a],o.next.state,H(n,a))}function qr(e,t){let n=e?.errors?.noMatch;return n?typeof n==`function`?n(t):n:Rr(t)}function Jr(e){let t=e.filter(e=>e.dependencyMetadata?.source!=null);if(!(t.length<1)&&new Set(t.map(e=>e.dependencyMetadata.source.sourceId)).size===1)return{source:{...t[0].dependencyMetadata.source,getMissingSourceValue:void 0,preservesSourceValue:t.every(e=>e.dependencyMetadata?.source?.preservesSourceValue!==!1),extractSourceValue(t){if(!Array.isArray(t)||t.length!==2||typeof t[0]!=`number`)return;let[n,r]=t;if(!r?.success)return;let i=e[n].dependencyMetadata?.source;if(i?.extractSourceValue!=null)return i.extractSourceValue(r.next.state)}}}}function Yr(...e){let t,n;if(e.length>0&&e[e.length-1]&&typeof e[e.length-1]==`object`&&!(`$valueType`in e[e.length-1])?(n=e[e.length-1],t=e.slice(0,-1)):(t=e,n=void 0),t.length<1)throw TypeError(`or() requires at least one parser argument.`);Ar(t,`or()`),Fr(t.map((e,t)=>[String(t),e]));let r=jr(t),i=t.some(e=>e.mode===`async`)?`async`:`sync`,a=t,o=e=>({consumed:0,error:e.buffer.length<1?qr(n,r):(()=>{let r=e.buffer[0],i=w`Unexpected option or subcommand: ${E(r)}.`;return n?.errors?.unexpectedInput==null?Cr(i,r,t,n?.errors?.suggestions):typeof n.errors.unexpectedInput==`function`?n.errors.unexpectedInput(r):n.errors.unexpectedInput})()}),s=e=>{let t=o(e),n=zr(e.state),r=a.map((e,t)=>[e,t]);r.sort(([e,t],[r,i])=>n?.[0]===t?-1:n?.[0]===i?1:t-i);let i=null,s=0,c=null,l=!1;for(let[a,o]of r){let r=a.parse(q(e,o,n==null||n[0]!==o||!n[1].success?a.initialState:n[1].next.state,a));if(r.success&&r.consumed.length>0){if(r.provisional){let e=n!=null&&n[1].success&&n[1].consumed.length>0;if(e&&n[0]===o){c={index:o,parser:a,result:r};continue}if(e&&c!=null&&c.index===n[0])continue;c==null&&!l?c={index:o,parser:a,result:r}:(c=null,l=!0);continue}if(n?.[0]!==o&&n?.[1].success){if(n[1].consumed.length===0){let t=U(e.exec,r.next.exec);return{success:!0,next:{...e,buffer:r.next.buffer,optionsTerminated:r.next.optionsTerminated,state:Y(e.state,o,a,r),...t==null?{}:{exec:t,dependencyRegistry:t.dependencyRegistry}},consumed:r.consumed}}let t=n[1].consumed,i=a.parse({...q(e,o,a.initialState,a),buffer:t});if(!(i.success&&i.consumed.length===t.length&&i.consumed.every((e,n)=>e===t[n])))return{success:!1,consumed:e.buffer.length-r.next.buffer.length,error:w`${se(n[1].consumed)} and ${se(r.consumed)} cannot be used together.`};let s=U(e.exec,i.next.exec),c=a.parse(q({...e,...s==null?{}:{exec:s,dependencyRegistry:s.dependencyRegistry}},o,i.next.state,a));if(!c.success)return c;let l=U(s,c.next.exec);return{success:!0,next:{...e,buffer:c.next.buffer,optionsTerminated:c.next.optionsTerminated,state:Y(e.state,o,a,{...c,consumed:[...t,...c.consumed]}),...l==null?{}:{exec:l,dependencyRegistry:l.dependencyRegistry}},consumed:c.consumed}}let t=U(e.exec,r.next.exec);return{success:!0,next:{...e,buffer:r.next.buffer,optionsTerminated:r.next.optionsTerminated,state:Y(e.state,o,a,r),...t==null?{}:{exec:t,dependencyRegistry:t.dependencyRegistry}},consumed:r.consumed}}else r.success&&r.consumed.length===0&&!r.provisional&&a.leadingNames.size===0&&!a.acceptingAnyToken?(i===null&&(i={index:o,parser:a,result:r}),s++):!r.success&&t.consumed<r.consumed&&(t=r)}if(i!==null&&s===1&&t.consumed===0&&e.buffer.length===0){let t=U(e.exec,i.result.next.exec);return{success:!0,...i.result.provisional?{provisional:!0}:{},next:{...e,state:Y(e.state,i.index,i.parser,i.result),...t==null?{}:{exec:t,dependencyRegistry:t.dependencyRegistry}},consumed:[]}}if(c!==null){if(!(n!=null&&n[1].success&&n[1].consumed.length>0&&n[0]!==c.index)){let t=U(e.exec,c.result.next.exec);return{success:!0,provisional:!0,next:{...e,buffer:c.result.next.buffer,optionsTerminated:c.result.next.optionsTerminated,state:Y(e.state,c.index,c.parser,c.result),...t==null?{}:{exec:t,dependencyRegistry:t.dependencyRegistry}},consumed:c.result.consumed}}if(n!=null&&n[1].success){let t=n[1].consumed,r=c.parser.parse({...q(e,c.index,c.parser.initialState,c.parser),buffer:t});if(r.success&&r.consumed.length===t.length&&r.consumed.every((e,n)=>e===t[n])&&r.success){let n=U(e.exec,r.next.exec),i=c.parser.parse(q({...e,...n==null?{}:{exec:n,dependencyRegistry:n.dependencyRegistry}},c.index,r.next.state,c.parser));if(!i.success)return i;let a=U(n,i.next.exec);return{success:!0,provisional:!0,next:{...e,buffer:i.next.buffer,optionsTerminated:i.next.optionsTerminated,state:Y(e.state,c.index,c.parser,{...i,provisional:!0,consumed:[...t,...i.consumed]}),...a==null?{}:{exec:a,dependencyRegistry:a.dependencyRegistry}},consumed:i.consumed}}}}return{...t,success:!1}},c=async e=>{let n=o(e),r=zr(e.state),i=t.map((e,t)=>[e,t]);i.sort(([e,t],[n,i])=>r?.[0]===t?-1:r?.[0]===i?1:t-i);let a=null,s=0,c=null,l=!1;for(let[t,o]of i){let i=await t.parse(q(e,o,r==null||r[0]!==o||!r[1].success?t.initialState:r[1].next.state,t));if(i.success&&i.consumed.length>0){if(i.provisional){let e=r!=null&&r[1].success&&r[1].consumed.length>0;if(e&&r[0]===o){c={index:o,parser:t,result:i};continue}if(e&&c!=null&&c.index===r[0])continue;c==null&&!l?c={index:o,parser:t,result:i}:(c=null,l=!0);continue}if(r?.[0]!==o&&r?.[1].success){if(r[1].consumed.length===0){let n=U(e.exec,i.next.exec);return{success:!0,next:{...e,buffer:i.next.buffer,optionsTerminated:i.next.optionsTerminated,state:Y(e.state,o,t,i),...n==null?{}:{exec:n,dependencyRegistry:n.dependencyRegistry}},consumed:i.consumed}}let n=r[1].consumed,a=await t.parse({...q(e,o,t.initialState,t),buffer:n});if(!(a.success&&a.consumed.length===n.length&&a.consumed.every((e,t)=>e===n[t])))return{success:!1,consumed:e.buffer.length-i.next.buffer.length,error:w`${se(r[1].consumed)} and ${se(i.consumed)} cannot be used together.`};let s=U(e.exec,a.next.exec),c=await t.parse(q({...e,...s==null?{}:{exec:s,dependencyRegistry:s.dependencyRegistry}},o,a.next.state,t));if(!c.success)return c;let l=U(s,c.next.exec);return{success:!0,next:{...e,buffer:c.next.buffer,optionsTerminated:c.next.optionsTerminated,state:Y(e.state,o,t,{...c,consumed:[...n,...c.consumed]}),...l==null?{}:{exec:l,dependencyRegistry:l.dependencyRegistry}},consumed:c.consumed}}let n=U(e.exec,i.next.exec);return{success:!0,next:{...e,buffer:i.next.buffer,optionsTerminated:i.next.optionsTerminated,state:Y(e.state,o,t,i),...n==null?{}:{exec:n,dependencyRegistry:n.dependencyRegistry}},consumed:i.consumed}}else i.success&&i.consumed.length===0&&!i.provisional&&t.leadingNames.size===0&&!t.acceptingAnyToken?(a===null&&(a={index:o,parser:t,result:i}),s++):!i.success&&n.consumed<i.consumed&&(n=i)}if(a!==null&&s===1&&n.consumed===0&&e.buffer.length===0){let t=U(e.exec,a.result.next.exec);return{success:!0,...a.result.provisional?{provisional:!0}:{},next:{...e,state:Y(e.state,a.index,a.parser,a.result),...t==null?{}:{exec:t,dependencyRegistry:t.dependencyRegistry}},consumed:[]}}if(c!==null){if(!(r!=null&&r[1].success&&r[1].consumed.length>0&&r[0]!==c.index)){let t=U(e.exec,c.result.next.exec);return{success:!0,provisional:!0,next:{...e,buffer:c.result.next.buffer,optionsTerminated:c.result.next.optionsTerminated,state:Y(e.state,c.index,c.parser,c.result),...t==null?{}:{exec:t,dependencyRegistry:t.dependencyRegistry}},consumed:c.result.consumed}}if(r!=null&&r[1].success){let t=r[1].consumed,n=await c.parser.parse({...q(e,c.index,c.parser.initialState,c.parser),buffer:t});if(n.success&&n.consumed.length===t.length&&n.consumed.every((e,n)=>e===t[n])&&n.success){let r=U(e.exec,n.next.exec),i=await c.parser.parse(q({...e,...r==null?{}:{exec:r,dependencyRegistry:r.dependencyRegistry}},c.index,n.next.state,c.parser));if(!i.success)return i;let a=U(r,i.next.exec);return{success:!0,provisional:!0,next:{...e,buffer:i.next.buffer,optionsTerminated:i.next.optionsTerminated,state:Y(e.state,c.index,c.parser,{...i,provisional:!0,consumed:[...t,...i.consumed]}),...a==null?{}:{exec:a,dependencyRegistry:a.dependencyRegistry}},consumed:i.consumed}}}}return{...n,success:!1}},l={mode:i,$valueType:[],$stateType:[],priority:Math.max(...t.map(e=>e.priority)),usage:[{type:`exclusive`,terms:t.map(e=>e.usage)}],leadingNames:dr(t),acceptingAnyToken:t.some(e=>e.acceptingAnyToken),initialState:void 0,canSkip(e,n){let r=zr(e);if(r!=null){let[e,i]=r,a=t[e];return i.success&&a?.canSkip?.(i.next.state,n)===!0}return t.some(e=>e.canSkip?.(e.initialState,n)===!0)},complete:Vr(t,n,r,i),[qn](e,n){return Kr(t,e,n,i)},parse(e){return P(i,()=>s(e),()=>c(e))},getSuggestRuntimeNodes(e,n){return Ur(t,e,n)},suggest:Hr(t,i),getDocFragments(e,n){let r,i,a,o;if(e.kind===`unavailable`||e.state==null)o=t.flatMap(e=>e.getDocFragments({kind:`unavailable`},void 0).fragments);else{let[n,s]=e.state,c=s.success?{kind:`available`,state:s.next.state}:{kind:`unavailable`},l=t[n].getDocFragments(c,void 0);r=l.brief,i=l.description,a=l.footer,o=l.fragments}return(e.kind===`unavailable`||e.state==null)&&(o=Re(o)),{brief:r,description:i,footer:a,fragments:o}}},u=Jr(t);return u!=null&&(l.dependencyMetadata=u),jt(l),l}function Xr(...e){return Zr(...e)}function Zr(...e){let t,n;if(e.length>0&&e[e.length-1]&&typeof e[e.length-1]==`object`&&!(`$valueType`in e[e.length-1])?(n=e[e.length-1],t=e.slice(0,-1)):(t=e,n=void 0),t.length<1)throw TypeError(`longestMatch() requires at least one parser argument.`);Ar(t,`longestMatch()`),n?.[Gn]!==!0&&Fr(t.map((e,t)=>[String(t),e]));let r=jr(t),i=t.some(e=>e.mode===`async`)?`async`:`sync`,a=t,o=e=>({consumed:0,error:e.buffer.length<1?qr(n,r):(()=>{let r=e.buffer[0],i=w`Unexpected option or subcommand: ${E(r)}.`;return n?.errors?.unexpectedInput==null?Cr(i,r,t,n?.errors?.suggestions):typeof n.errors.unexpectedInput==`function`?n.errors.unexpectedInput(r):n.errors.unexpectedInput})()}),s=e=>{let t=null,n=o(e),r=zr(e.state);for(let i=0;i<a.length;i++){let o=a[i],s=o.parse(q(e,i,r==null||r[0]!==i||!r[1].success?o.initialState:r[1].next.state,o));if(s.success){let n=e.buffer.length-s.next.buffer.length,r=t!=null&&t.result.success&&!!t.result.provisional;(t===null||n>t.consumed||n===t.consumed&&r&&!s.provisional)&&(t={index:i,parser:o,result:s,consumed:n})}else n.consumed<s.consumed&&(n=s)}if(t&&t.result.success){let n=U(e.exec,t.result.next.exec);return{success:!0,next:{...e,buffer:t.result.next.buffer,optionsTerminated:t.result.next.optionsTerminated,state:Y(e.state,t.index,t.parser,t.result),...n==null?{}:{exec:n,dependencyRegistry:n.dependencyRegistry}},consumed:t.result.consumed}}return{...n,success:!1}},c=async e=>{let n=null,r=o(e),i=zr(e.state);for(let a=0;a<t.length;a++){let o=t[a],s=await o.parse(q(e,a,i==null||i[0]!==a||!i[1].success?o.initialState:i[1].next.state,o));if(s.success){let t=e.buffer.length-s.next.buffer.length,r=n!=null&&n.result.success&&!!n.result.provisional;(n===null||t>n.consumed||t===n.consumed&&r&&!s.provisional)&&(n={index:a,parser:o,result:s,consumed:t})}else r.consumed<s.consumed&&(r=s)}if(n&&n.result.success){let t=U(e.exec,n.result.next.exec);return{success:!0,next:{...e,buffer:n.result.next.buffer,optionsTerminated:n.result.next.optionsTerminated,state:Y(e.state,n.index,n.parser,n.result),...t==null?{}:{exec:t,dependencyRegistry:t.dependencyRegistry}},consumed:n.result.consumed}}return{...r,success:!1}},l={mode:i,$valueType:[],$stateType:[],priority:Math.max(...t.map(e=>e.priority)),usage:[{type:`exclusive`,terms:t.map(e=>e.usage)}],leadingNames:dr(t),acceptingAnyToken:t.some(e=>e.acceptingAnyToken),initialState:void 0,complete:Vr(t,n,r,i),[qn](e,n){return Kr(t,e,n,i)},parse(e){return P(i,()=>s(e),()=>c(e))},getSuggestRuntimeNodes(e,n){return Ur(t,e,n)},suggest:Hr(t,i),getDocFragments(e,n){let r,i,a,o,s;if(e.kind===`unavailable`||e.state==null)o=t.flatMap(e=>e.getDocFragments({kind:`unavailable`}).fragments),s=!0;else{let[n,c]=e.state;if(c.success){let e=t[n].getDocFragments({kind:`available`,state:c.next.state});r=e.brief,i=e.description,a=e.footer,o=e.fragments,s=!1}else o=t.flatMap(e=>e.getDocFragments({kind:`unavailable`}).fragments),s=!0}return{brief:r,description:i,fragments:s?Re(o):o,footer:a}}},u=Jr(t);return u!=null&&(l.dependencyMetadata=u),jt(l),l}function*Qr(e,t,n){let r=R(e.dependencyRegistry?.clone()),i=ci(n,e.exec?.excludedSourceFields);ln(z(i,e.state&&typeof e.state==`object`?e.state:{},e.exec?.path),r),e.state&&typeof e.state==`object`&&vn(e.state,r,new WeakSet,e.exec?.excludedSourceFields),ti(e,i,r.registry,e.exec);let a={...e,dependencyRegistry:r.registry,...e.exec==null?{}:{exec:{...e.exec,dependencyRuntime:r,dependencyRegistry:r.registry}}};if(e.buffer.length>0){let r=e.buffer[e.buffer.length-1];for(let[i,o]of n)if(Or(o.usage,r)){let n=br(e.state,i,o);yield*o.suggest(q(a,i,n,o),t);return}}let o=[];for(let[r,i]of n){let n=br(e.state,r,i),s=i.suggest(q(a,r,n,i),t);o.push(...s)}yield*rr(o)}async function*$r(e,t,n){let r=R(e.dependencyRegistry?.clone()),i=ci(n,e.exec?.excludedSourceFields);await fn(z(i,e.state&&typeof e.state==`object`?e.state:{},e.exec?.path),r),e.state&&typeof e.state==`object`&&vn(e.state,r,new WeakSet,e.exec?.excludedSourceFields),await ri(e,i,r.registry,e.exec);let a={...e,dependencyRegistry:r.registry,...e.exec==null?{}:{exec:{...e.exec,dependencyRuntime:r,dependencyRegistry:r.registry}}};if(e.buffer.length>0){let r=e.buffer[e.buffer.length-1];for(let[i,o]of n)if(Or(o.usage,r)){let n=br(e.state,i,o),r=o.suggest(q(a,i,n,o),t);for await(let e of r)yield e;return}}let o=[];for(let[r,i]of n){let n=br(e.state,r,i),s=i.suggest(q(a,r,n,i),t);for await(let e of s)o.push(e)}yield*rr(o)}function X(e,t){I(e)&&e.result.success&&!t.has(e[Qe])&&t.set(e[Qe],e.result.value)}function*ei(e,t,n){for(let[r,i]of t){let t=i.dependencyMetadata?.source?.sourceId??(gt(i)?i[ht][Qe]:L(i.initialState)?i.initialState[Qe]:void 0);if(t!=null&&n?.has(t))continue;let a=e.state!=null&&typeof e.state==`object`&&r in e.state?e.state[r]:void 0,o=br(e.state,r,i);if(i.dependencyMetadata?.source?.getMissingSourceValue!=null&&lr(a,i)){yield{parser:i,state:o};continue}if(i.dependencyMetadata?.source!=null&&lr(a,i)&&(o!==a||sr(a,i))){yield{parser:i,state:o};continue}if(a!=null){!Array.isArray(a)&&!I(a)&&(gt(i)||L(i.initialState))&&(yield{parser:i,state:br(e.state,r,i)});continue}L(i.initialState)?yield{parser:i,state:i.initialState}:gt(i)&&(yield{parser:i,state:[i[ht]]})}}function ti(e,t,n,r){for(let{parser:i,state:a}of ei(e,t,n)){let e=ni(i.complete(a,r),i);e&&X(e,n)}}function ni(e,t){if(I(e))return e;let n=t.dependencyMetadata?.source;if(n?.preservesSourceValue!==!1&&(n!=null||gt(t)||L(t.initialState))&&typeof e==`object`&&e&&`success`in e&&e.success&&`value`in e&&e.value!==void 0)return pt(e,n?.sourceId??(gt(t)?t[ht][Qe]:t.initialState[Qe]))}async function ri(e,t,n,r){for(let{parser:i,state:a}of ei(e,t,n)){let e=ni(await i.complete(a,r),i);e&&X(e,n)}}function ii(e,t){let n=new Map;for(let[e]of t)n.set(e,(n.get(e)??0)+1);let r=!1;for(let e of n.values())if(e>1){r=!0;break}if(!r)return e;let i=new Map;for(let[t,r]of e)(n.get(t)??0)<=1&&i.set(t,r);return i.size>0?i:void 0}function ai(e){let t=[];for(let n of e)J in n&&t.push(...n[J]);return t}function oi(e){let t=new Map;for(let[n]of e)t.set(n,(t.get(n)??0)+1);return e.filter(([e])=>(t.get(e)??0)<=1)}function si(e){let t=new Map;for(let[n]of e)t.set(n,(t.get(n)??0)+1);return new Set([...t.entries()].filter(([,e])=>e>1).map(([e])=>e))}function ci(e,t){return t==null||t.size<1?e:e.filter(([e])=>!t.has(e))}function li(e,t,n,r){let i=new Map,a=r?.preCompletedByParser;for(let[o,s]of t){let t=a?.get(o);if(t!==void 0){i.set(o,t),X(t,n);continue}let c=e[o],l=br(e,o,s);if(s.dependencyMetadata?.source?.getMissingSourceValue!=null&&lr(c,s)){let e=s.complete(l,H(r,o));i.set(o,e);let t=ni(e,s);t&&X(t,n);continue}if(s.dependencyMetadata?.source!=null&&lr(c,s)&&(l!==c||sr(c,s))){let e=s.complete(l,H(r,o));i.set(o,e);let t=ni(e,s);t&&X(t,n);continue}if(Array.isArray(c)&&c.length===1&&L(c[0])){let e=s.complete(c,H(r,o));i.set(o,e),I(e)&&X(e,n)}else if(c===void 0&&L(s.initialState)){let e=s.complete([s.initialState],H(r,o));i.set(o,e),I(e)&&X(e,n)}else if(c===void 0&&gt(s)){let e=s[ht],t=s.complete([e],H(r,o));i.set(o,t),I(t)&&X(t,n)}else if(c!=null&&!Array.isArray(c)&&!I(c)&&(gt(s)||L(s.initialState))){let t=br(e,o,s),a=s.complete(t,H(r,o));i.set(o,a);let c=ni(a,s);c&&X(c,n)}}return i}async function ui(e,t,n,r){let i=new Map,a=r?.preCompletedByParser;for(let[o,s]of t){let t=a?.get(o);if(t!==void 0){i.set(o,t),X(t,n);continue}let c=e[o],l=br(e,o,s);if(s.dependencyMetadata?.source?.getMissingSourceValue!=null&&lr(c,s)){let e=await s.complete(l,H(r,o));i.set(o,e);let t=ni(e,s);t&&X(t,n);continue}if(s.dependencyMetadata?.source!=null&&lr(c,s)&&(l!==c||sr(c,s))){let e=await s.complete(l,H(r,o));i.set(o,e);let t=ni(e,s);t&&X(t,n);continue}if(Array.isArray(c)&&c.length===1&&L(c[0])){let e=await s.complete(c,H(r,o));i.set(o,e),I(e)&&X(e,n)}else if(c===void 0&&L(s.initialState)){let e=await s.complete([s.initialState],H(r,o));i.set(o,e),I(e)&&X(e,n)}else if(c===void 0&&gt(s)){let e=s[ht],t=await s.complete([e],H(r,o));i.set(o,t),I(t)&&X(t,n)}else if(c!=null&&!Array.isArray(c)&&!I(c)&&(gt(s)||L(s.initialState))){let t=br(e,o,s),a=await s.complete(t,H(r,o));i.set(o,a);let c=ni(a,s);c&&X(c,n)}}return i}function di(e,t,n){let r=typeof e==`string`?e:void 0;r!=null&&ve(r);let i,a={};typeof e==`string`?(i=t,a=n??{}):(i=e,a=t??{});let o=Reflect.ownKeys(i),s=o.map(e=>[e,i[e]]);s.sort(([e,t],[n,r])=>r.priority-t.priority);let c=()=>{let e={};for(let t of o)e[t]=i[t].initialState;return e},l=new WeakMap,u=(e,t=V)=>(n,r)=>{let i=n,a=typeof e==`object`&&e?(()=>{let n=l.get(e)??(()=>{let t=new WeakMap;return l.set(e,t),t})();return n.get(t)??(()=>{let e=new Map;return n.set(t,e),e})()})():void 0;if(a?.has(i))return a.get(i);let o=t(e,typeof e==`object`&&e&&i in e?e[i]:r.initialState,r);return a?.set(i,o),o};a.allowDuplicates||Pr(s.map(([e,t])=>[e,t.usage])),Ir(s.map(([e,t])=>[e,t]));let d=jr(o.map(e=>i[e])),f=o.some(e=>i[e].mode===`async`)?`async`:`sync`,p=e=>({consumed:0,error:e.buffer.length>0?(()=>{let t=e.buffer[0],n=a.errors?.unexpectedInput;return n?typeof n==`function`?n(t):n:tr(w`Unexpected option or argument: ${t}.`,t,e.usage,`both`,a.errors?.suggestions)})():(()=>{let e=a.errors?.endOfInput;return e?typeof e==`function`?e(d):e:Rr(d)})()}),m=e=>{let t=p(e),n=e,r=!1,i=[],o=new Set,c=!0;for(;c&&n.buffer.length>0;){c=!1;let e=u(n.state,xr);for(let[a,l]of s){let s=l.parse(q(n,a,e(a,l),l));if(s.success&&s.consumed.length>0){let e=U(n.exec,s.next.exec);n={...n,buffer:s.next.buffer,optionsTerminated:s.next.optionsTerminated,state:{...n.state,[a]:V(n.state,s.next.state,l)},...e==null?{}:{trace:e.trace,exec:e,dependencyRegistry:e.dependencyRegistry}},i.push(...s.consumed),r=!0,c=!0,o.add(a);break}else!s.success&&t.consumed<s.consumed&&(t=s)}}{let e=u(n.state,xr);for(let[t,r]of s){if(o.has(t))continue;let i=r;if(r.leadingNames.size>0||i.acceptingAnyToken)continue;let a=e(t,r),s=i.parse(q(n,t,a,r));if(s.success&&s.consumed.length===0&&s.next.state!==a){let e=U(n.exec,s.next.exec);n={...n,state:{...n.state,[t]:V(n.state,s.next.state,r)},...e==null?{}:{trace:e.trace,exec:e,dependencyRegistry:e.dependencyRegistry}}}}}if(r)return{success:!0,next:n,consumed:i};if(n.buffer.length===0){let e=!0,t=u(n.state),r=n.exec?{...n.exec,phase:`parse`}:{usage:[],path:[],trace:void 0,phase:`parse`},i;for(let[n,a]of s){let o=t(n,a),s=a.complete(o,H(r,n));if(!s.success){e=!1,i={consumed:0,error:s.error};break}}if(e)return{success:!0,next:n,consumed:[]};if(i!==void 0&&a.errors?.endOfInput===void 0&&!d.hasOptions&&!d.hasCommands&&!d.hasArguments)return{...i,success:!1}}return{...t,success:!1}},h=async e=>{let t=p(e),n=e,r=!1,i=[],o=new Set,c=!0;for(;c&&n.buffer.length>0;){c=!1;let e=u(n.state,xr);for(let[a,l]of s){let s=await l.parse(q(n,a,e(a,l),l));if(s.success&&s.consumed.length>0){let e=U(n.exec,s.next.exec);n={...n,buffer:s.next.buffer,optionsTerminated:s.next.optionsTerminated,state:{...n.state,[a]:V(n.state,s.next.state,l)},...e==null?{}:{trace:e.trace,exec:e,dependencyRegistry:e.dependencyRegistry}},i.push(...s.consumed),r=!0,c=!0,o.add(a);break}else!s.success&&t.consumed<s.consumed&&(t=s)}}{let e=u(n.state,xr);for(let[t,r]of s){if(o.has(t)||r.leadingNames.size>0||r.acceptingAnyToken)continue;let i=e(t,r),a=await r.parse(q(n,t,i,r));if(a.success&&a.consumed.length===0&&a.next.state!==i){let e=U(n.exec,a.next.exec);n={...n,state:{...n.state,[t]:V(n.state,a.next.state,r)},...e==null?{}:{trace:e.trace,exec:e,dependencyRegistry:e.dependencyRegistry}}}}}if(r)return{success:!0,next:n,consumed:i};if(n.buffer.length===0){let e=!0,t=u(n.state),r=n.exec?{...n.exec,phase:`parse`}:{usage:[],path:[],trace:void 0,phase:`parse`},i;for(let[n,a]of s){let o=t(n,a),s=await a.complete(o,H(r,n));if(!s.success){e=!1,i={consumed:0,error:s.error};break}}if(e)return{success:!0,next:n,consumed:[]};if(i!==void 0&&a.errors?.endOfInput===void 0&&!d.hasOptions&&!d.hasCommands&&!d.hasArguments)return{...i,success:!1}}return{...t,success:!1}},g={mode:f,$valueType:[],$stateType:[],[J]:s,priority:Math.max(...o.map(e=>i[e].priority)),usage:Tr(s.flatMap(([e,t])=>t.usage),a.hidden),leadingNames:fr(s.map(([e,t])=>t)),acceptingAnyToken:s.some(([e,t])=>t.acceptingAnyToken),canSkip(e,t){let n=u(e);return o.every(e=>{let r=i[e];return r.canSkip?.(n(e,r),H(t,e))===!0})},get initialState(){return c()},parse(e){return P(f,()=>m(e),()=>h(e))},getSuggestRuntimeNodes(e,t){let n=typeof e==`object`&&e?e:g.initialState;return Sr(s,n,t)},complete(e,t){return P(f,()=>{let n=t?.dependencyRuntime??R(t?.dependencyRegistry),r={...t,dependencyRuntime:n},a=ci(s,t?.excludedSourceFields),c=li(e,a,n.registry,r),l={...r,preCompletedByParser:void 0},d=u(e),f={};for(let e of o){let t=e,n=i[e];f[t]=d(e,n)}ln(ur(z(a,f,t?.path),new Set(c.keys())),n);let p=yn(f,n),m={},h=new Map,g=!1;for(let e of o){let t=e,n=i[e],r,a=c.get(t);if(a!==void 0)r=hr(a);else{let e=p[t];r=hr(n.complete(e,H(l,t)))}if(r.success)m[t]=r.value,r.deferred&&(r.deferredKeys?h.set(t,r.deferredKeys):r.value==null||typeof r.value!=`object`?h.set(t,null):g=!0);else return{success:!1,error:r.error}}return{success:!0,value:m,...h.size>0||g?{deferred:!0,...h.size>0?{deferredKeys:h}:{}}:{}}},async()=>{let n=t?.dependencyRuntime??R(t?.dependencyRegistry),r={...t,dependencyRuntime:n},a=ci(s,t?.excludedSourceFields),c=await ui(e,a,n.registry,r),l={...r,preCompletedByParser:void 0},d=u(e),f={};for(let e of o){let t=e,n=i[e];f[t]=d(e,n)}await fn(ur(z(a,f,t?.path),new Set(c.keys())),n);let p=await xn(f,n),m={},h=new Map,g=!1,_=(e,t)=>{if(t.success)m[e]=t.value,t.deferred&&(t.deferredKeys?h.set(e,t.deferredKeys):t.value==null||typeof t.value!=`object`?h.set(e,null):g=!0);else return{success:!1,error:t.error}},v=[],y=[];for(let e of o){let t=e,n=i[e],r=c.get(t);if(r!==void 0){let e=_(t,hr(r));if(e!=null)return e;continue}typeof n.shouldDeferCompletion==`function`&&n.shouldDeferCompletion(p[t],H(l,t))===!0?y.push(e):v.push(e)}let b=await Promise.all(v.map(async e=>{let t=e,n=i[e];return{fieldKey:t,valueResult:hr(await n.complete(p[t],H(l,t)))}}));for(let{fieldKey:e,valueResult:t}of b){let n=_(e,t);if(n!=null)return n}for(let e of y){let t=e,n=i[e],r=_(t,hr(await n.complete(p[t],H(l,t))));if(r!=null)return r}return{success:!0,value:m,...h.size>0||g?{deferred:!0,...h.size>0?{deferredKeys:h}:{}}:{}}})},[qn](e,t){return P(f,()=>{let n=t?.dependencyRuntime??R(t?.dependencyRegistry),r=cr(g.usage,t,n),a=ci(s,t?.excludedSourceFields),c=li(e,a,n.registry,r),l={...r,preCompletedByParser:void 0},d=u(e),f={};for(let e of o){let t=e,n=i[e];f[t]=d(e,n)}ln(ur(z(a,f,t?.path),new Set(c.keys())),n);let p=yn(f,n),m={},h=new Map,_=!1,v=!1;for(let e of o){let t=e,n=i[e],r=H(l,t),a=c.get(t),o=a===void 0?K(n,p[t],r):gr(n,p[t],a,r);o!=null&&(v=!0,m[t]=o.value,o.deferred&&(o.deferredKeys?h.set(t,o.deferredKeys):o.value==null||typeof o.value!=`object`?h.set(t,null):_=!0))}return v?{value:m,...h.size>0||_?{deferred:!0,...h.size>0?{deferredKeys:h}:{}}:{}}:null},async()=>{let n=t?.dependencyRuntime??R(t?.dependencyRegistry),r=cr(g.usage,t,n),a=ci(s,t?.excludedSourceFields),c=await ui(e,a,n.registry,r),l={...r,preCompletedByParser:void 0},d=u(e),f={};for(let e of o){let t=e,n=i[e];f[t]=d(e,n)}await fn(ur(z(a,f,t?.path),new Set(c.keys())),n);let p=await xn(f,n),m={},h=new Map,_=!1,v=!1;for(let e of o){let t=e,n=i[e],r=H(l,t),a=c.get(t),o=a===void 0?await K(n,p[t],r):await _r(n,p[t],a,r);o!=null&&(v=!0,m[t]=o.value,o.deferred&&(o.deferredKeys?h.set(t,o.deferredKeys):o.value==null||typeof o.value!=`object`?h.set(t,null):_=!0))}return v?{value:m,...h.size>0||_?{deferred:!0,...h.size>0?{deferredKeys:h}:{}}:{}}:null})},suggest(e,t){return a.hidden===!0?Ye(f,function*(){},async function*(){}):Ye(f,()=>Qr(e,t,s),()=>$r(e,t,s))},getDocFragments(e,t){let n=Dr(s.flatMap(([n,r])=>{let i=e.kind===`unavailable`?{kind:`unavailable`}:{kind:`available`,state:e.state[n]};return r.getDocFragments(i,t?.[n]).fragments}),a.hidden),i=n.filter(e=>e.type===`entry`),o=[];for(let e of n)e.type===`section`&&(e.title==null?i.push(...e.entries):o.push(e));let c={title:r,entries:i};return o.push(c),{fragments:o.map(e=>({...e,type:`section`}))}}},_=[];for(let[e,t]of s)typeof t.normalizeValue==`function`&&_.push([e,t.normalizeValue.bind(t)]);return _.length>0&&Object.defineProperty(g,"normalizeValue",{value(e){if(typeof e!=`object`||!e)return e;let t=!1,n;for(let[r,i]of _)if(Object.hasOwn(e,r))try{let a=e[r],o=i(a);o!==a&&(n||={...e},n[r]=o,t=!0)}catch{}return t?n:e},configurable:!0,enumerable:!1}),jt(g),g}function fi(...e){let t=typeof e[0]==`string`?e[0]:void 0;t!=null&&ve(t);let n=e[e.length-1],r=typeof n==`object`&&!!n&&!(`$valueType`in n),i=r?n:{},a=+(typeof e[0]==`string`),o=r?e.length-1:e.length,s=e.slice(a,o);if(s.length<1)throw TypeError(`merge() requires at least one parser argument.`);Ar(s,`merge()`);let c=s.some(e=>e.mode===`async`)?`async`:`sync`,l=c===`async`,d=s,p=s.map((e,t)=>[e,t]).toSorted(([e],[t])=>t.priority-e.priority),m=p.map(([e])=>e),h=d.map((e,t)=>[e,t]).toSorted(([e],[t])=>t.priority-e.priority).map(([e])=>e);i.allowDuplicates||Pr(p.map(([e,t])=>[String(t),e.usage])),Ir(p.map(([e,t])=>[String(t),e]));let g=ai(m),_=si(g),v=e=>`__parser_${e}`,y=e=>`__merge_local_${e}`,b=e=>e.initialState!=null&&typeof e.initialState==`object`&&Object.keys(e.initialState).some(e=>_.has(e)),ee={};for(let e=0;e<m.length;e++){let t=m[e];if(t.initialState===void 0)ee[v(e)]=void 0;else if(t.initialState&&typeof t.initialState==`object`)for(let e in t.initialState)ee[e]=t.initialState[e]}let te=(e,t,n)=>{if(e.initialState===void 0){let e=v(n);return t&&typeof t==`object`&&e in t?t[e]:void 0}else if(e.initialState&&typeof e.initialState==`object`){let r=y(n);if(b(e)&&t&&typeof t==`object`&&r in t)return t[r];if(t&&typeof t==`object`){let n={};for(let r in e.initialState)n[r]=r in t?t[r]:e.initialState[r];return n}return e.initialState}return e.initialState},ne=(e,t,n)=>te(e,t.state,n),re=(e,t,n,r,i)=>{if(e.initialState===void 0){let e=v(i);return r.success&&(r.consumed.length>0||r.next.state!==void 0)?{...t.state,[e]:r.next.state}:{...t.state}}if(!r.success)return{...t.state};let a={...t.state,...r.next.state};return!b(e)||r.consumed.length===0&&r.next.state===n?a:{...a,[y(i)]:r.next.state}},x=e=>{let t=e,n=null;for(let e=0;e<h.length;e++){let r=h[e],i=ne(r,t,e),a=r.parse(q(t,e,i,r));if(a.success){let o=U(t.exec,a.next.exec),s=re(r,t,i,a,e),c={...t,buffer:a.next.buffer,optionsTerminated:a.next.optionsTerminated,state:s,...o==null?{}:{exec:o,dependencyRegistry:o.dependencyRegistry}};if(a.consumed.length>0)return{success:!0,next:c,consumed:a.consumed};t=c,n===null?n={context:c,consumed:[]}:n.context=c}else if(a.consumed<1)continue;else return a}return n===null?{success:!1,consumed:0,error:w`No matching option or argument found.`}:{success:!0,next:n.context,consumed:n.consumed}},S=async e=>{let t=e,n=null;for(let e=0;e<m.length;e++){let r=m[e],i=ne(r,t,e),a=await r.parse(q(t,e,i,r));if(a.success){let o=U(t.exec,a.next.exec),s=re(r,t,i,a,e),c={...t,buffer:a.next.buffer,optionsTerminated:a.next.optionsTerminated,state:s,...o==null?{}:{exec:o,dependencyRegistry:o.dependencyRegistry}};if(a.consumed.length>0)return{success:!0,next:c,consumed:a.consumed};t=c,n===null?n={context:c,consumed:[]}:n.context=c}else if(a.consumed<1)continue;else return a}return n===null?{success:!1,consumed:0,error:w`No matching option or argument found.`}:{success:!0,next:n.context,consumed:n.consumed}},ie={mode:c,$valueType:[],$stateType:[],[J]:g,priority:Math.max(...m.map(e=>e.priority)),usage:Tr(m.flatMap(e=>e.usage),i.hidden),leadingNames:fr(m),acceptingAnyToken:m.some(e=>e.acceptingAnyToken),initialState:ee,canSkip(e,t){return m.every((n,r)=>{let i=te(n,e,r);return n.canSkip?.(V(e,i,n),H(t,r))===!0})},parse(e){return l?S(e):x(e)},complete(e,t){let n=(e,t,n)=>{if(e.initialState===void 0){let e=v(n);return t&&typeof t==`object`&&e in t?t[e]:void 0}else if(e.initialState&&typeof e.initialState==`object`){let r=y(n);if(b(e)&&t&&typeof t==`object`&&r in t)return t[r];if(t&&typeof t==`object`){let n={};for(let r in e.initialState)n[r]=r in t?t[r]:e.initialState[r];return u(t)===void 0?n:f(t,n)}return e.initialState}return e.initialState};if(!l){let r=t?.dependencyRuntime??R(t?.dependencyRegistry),i={...t,dependencyRuntime:r},a=si(g),o=oi(g),s=h.map((t,n)=>{if(J in t){let o=t[J],s=new Set(o.map(([e])=>e).filter(e=>a.has(e))),c=ci(o,s);return{cache:ii(li(e,c,r.registry,H(i,n)),c),excludedSourceFields:s.size>0?s:void 0}}return{cache:void 0,excludedSourceFields:void 0}});ln(z(o,e,t?.path),r);let c=yn(e,r),l={},u=new Map,d=!1;for(let e=0;e<h.length;e++){let t=h[e],a=n(t,c,e),{cache:o,excludedSourceFields:f}=s[e],p=H(i,e),m=f==null?{...p,preCompletedByParser:o}:(()=>{let e=R(r.registry.clone());return{...p,dependencyRuntime:e,dependencyRegistry:e.registry,preCompletedByParser:o}})(),g=hr(t.complete(a,m));if(!g.success)return g;let _=g.value;for(let e in _)l[e]=_[e],u.has(e)&&!(g.deferred&&g.deferredKeys?.has(e))&&u.delete(e);if(g.deferred&&g.deferredKeys)for(let[e,t]of g.deferredKeys)u.set(e,t);else g.deferred&&(d=!0)}return{success:!0,value:l,...u.size>0||d?{deferred:!0,...u.size>0?{deferredKeys:u}:{}}:{}}}return(async()=>{let r=t?.dependencyRuntime??R(t?.dependencyRegistry),i={...t,dependencyRuntime:r},a=si(g),o=oi(g),s=[];for(let t=0;t<m.length;t++){let n=m[t];if(J in n){let o=n[J],c=new Set(o.map(([e])=>e).filter(e=>a.has(e))),l=ci(o,c),u=await ui(e,l,r.registry,H(i,t));s.push({cache:ii(u,l),excludedSourceFields:c.size>0?c:void 0})}else s.push({cache:void 0,excludedSourceFields:void 0})}await fn(z(o,e,t?.path),r);let c=await xn(e,r),l={},u=new Map,d=!1;for(let e=0;e<m.length;e++){let t=m[e],a=n(t,c,e),{cache:o,excludedSourceFields:f}=s[e],p=H(i,e),h=f==null?{...p,preCompletedByParser:o}:(()=>{let e=R(r.registry.clone());return{...p,dependencyRuntime:e,dependencyRegistry:e.registry,preCompletedByParser:o}})(),g=hr(await t.complete(a,h));if(!g.success)return g;let _=g.value;for(let e in _)l[e]=_[e],u.has(e)&&!(g.deferred&&g.deferredKeys?.has(e))&&u.delete(e);if(g.deferred&&g.deferredKeys)for(let[e,t]of g.deferredKeys)u.set(e,t);else g.deferred&&(d=!0)}return{success:!0,value:l,...u.size>0||d?{deferred:!0,...u.size>0?{deferredKeys:u}:{}}:{}}})()},[qn](e,t){let n=(e,t,n)=>{if(e.initialState===void 0){let e=v(n);return t&&typeof t==`object`&&e in t?t[e]:void 0}else if(e.initialState&&typeof e.initialState==`object`){let r=y(n);if(b(e)&&t&&typeof t==`object`&&r in t)return t[r];if(t&&typeof t==`object`){let n={};for(let r in e.initialState)n[r]=r in t?t[r]:e.initialState[r];return f(t,n)}return e.initialState}return e.initialState};return P(c,()=>{let r=t?.dependencyRuntime??R(t?.dependencyRegistry),i=cr(ie.usage,t,r),a=si(g),o=oi(g),s=h.map((t,n)=>{if(J in t){let o=t[J],s=new Set(o.map(([e])=>e).filter(e=>a.has(e))),c=ci(o,s);return{cache:ii(li(e,c,r.registry,H(i,n)),c),excludedSourceFields:s.size>0?s:void 0}}return{cache:void 0,excludedSourceFields:void 0}});ln(z(o,e,t?.path),r);let c=yn(e,r),l={},u=new Map,d=!1,f=!1;for(let e=0;e<h.length;e++){let t=h[e],a=n(t,c,e),{cache:o,excludedSourceFields:p}=s[e],m=H(i,e),g=K(t,a,p==null?{...m,preCompletedByParser:o}:(()=>{let e=R(r.registry.clone());return{...m,dependencyRuntime:e,dependencyRegistry:e.registry,preCompletedByParser:o}})());if(g==null)continue;f=!0;let _=g.value;for(let e in _)l[e]=_[e],u.has(e)&&!(g.deferred&&g.deferredKeys?.has(e))&&u.delete(e);if(g.deferred&&g.deferredKeys)for(let[e,t]of g.deferredKeys)u.set(e,t);else g.deferred&&(d=!0)}return f?{value:l,...u.size>0||d?{deferred:!0,...u.size>0?{deferredKeys:u}:{}}:{}}:null},async()=>{let r=t?.dependencyRuntime??R(t?.dependencyRegistry),i=cr(ie.usage,t,r),a=si(g),o=oi(g),s=[];for(let t=0;t<m.length;t++){let n=m[t];if(J in n){let o=n[J],c=new Set(o.map(([e])=>e).filter(e=>a.has(e))),l=ci(o,c),u=await ui(e,l,r.registry,H(i,t));s.push({cache:ii(u,l),excludedSourceFields:c.size>0?c:void 0})}else s.push({cache:void 0,excludedSourceFields:void 0})}await fn(z(o,e,t?.path),r);let c=await xn(e,r),l={},u=new Map,d=!1,f=!1;for(let e=0;e<m.length;e++){let t=m[e],a=n(t,c,e),{cache:o,excludedSourceFields:p}=s[e],h=H(i,e),g=await K(t,a,p==null?{...h,preCompletedByParser:o}:(()=>{let e=R(r.registry.clone());return{...h,dependencyRuntime:e,dependencyRegistry:e.registry,preCompletedByParser:o}})());if(g==null)continue;f=!0;let _=g.value;for(let e in _)l[e]=_[e],u.has(e)&&!(g.deferred&&g.deferredKeys?.has(e))&&u.delete(e);if(g.deferred&&g.deferredKeys)for(let[e,t]of g.deferredKeys)u.set(e,t);else g.deferred&&(d=!0)}return f?{value:l,...u.size>0||d?{deferred:!0,...u.size>0?{deferredKeys:u}:{}}:{}}:null})},suggest(e,t){if(i.hidden===!0)return Ye(c,function*(){},async function*(){});let n=(t,n)=>{if(t.initialState===void 0){let t=v(n);return e.state&&typeof e.state==`object`&&t in e.state?e.state[t]:void 0}else if(t.initialState&&typeof t.initialState==`object`){let r=y(n);if(b(t)&&e.state&&typeof e.state==`object`&&r in e.state)return e.state[r];if(e.state&&typeof e.state==`object`){let n={};for(let r in t.initialState)n[r]=r in e.state?e.state[r]:t.initialState[r];return n}return t.initialState}return t.initialState};if(l)return async function*(){let r=R(e.dependencyRegistry?.clone()),i=ai(m),a=si(i),o=oi(i),s=m.map(e=>{if(!(J in e))return;let t=e[J],n=new Set(t.map(([e])=>e).filter(e=>a.has(e)));return n.size>0?n:void 0});e.state&&typeof e.state==`object`&&await fn(z(o,e.state,e.exec?.path),r),e.state&&typeof e.state==`object`&&vn(e.state,r,new WeakSet,a),await ri(e,o,r.registry,e.exec);let c={...e,dependencyRegistry:r.registry},l=[];for(let e=0;e<m.length;e++){let i=m[e],a=n(i,e),o=q(c,e,a,i),u=s[e]==null?o:(()=>{let e=R(r.registry.clone());return{...o,dependencyRegistry:e.registry,exec:o.exec==null?o.exec:{...o.exec,dependencyRegistry:e.registry}}})(),d=i.suggest(u,t);if(i.mode===`async`)for await(let e of d)l.push(e);else l.push(...d)}yield*rr(l)}();let r=R(e.dependencyRegistry?.clone()),a=ai(h),o=si(a),s=oi(a),u=h.map(e=>{if(!(J in e))return;let t=e[J],n=new Set(t.map(([e])=>e).filter(e=>o.has(e)));return n.size>0?n:void 0});e.state&&typeof e.state==`object`&&ln(z(s,e.state,e.exec?.path),r),e.state&&typeof e.state==`object`&&vn(e.state,r,new WeakSet,o),ti(e,s,r.registry,e.exec);let d={...e,dependencyRegistry:r.registry};return function*(){let e=[];for(let i=0;i<h.length;i++){let a=h[i],o=n(a,i),s=q(d,i,o,a),c=u[i]==null?s:(()=>{let e=R(r.registry.clone());return{...s,dependencyRegistry:e.registry,exec:s.exec==null?s.exec:{...s.exec,dependencyRegistry:e.registry}}})(),l=a.suggest(c,t);e.push(...l)}yield*rr(e)}()},getDocFragments(e,n){let r,a,o,s=Dr(m.flatMap((t,n)=>{let i;if(t.initialState===void 0){let t=`__parser_${n}`;i=e.kind===`available`&&e.state&&typeof e.state==`object`&&t in e.state?{kind:`available`,state:e.state[t]}:{kind:`unavailable`}}else i=e.kind===`unavailable`?{kind:`unavailable`}:{kind:`available`,state:e.state};let s=t.getDocFragments(i,void 0);return r??=s.brief,a??=s.description,o??=s.footer,s.fragments}),i.hidden),c=s.filter(e=>e.type===`entry`),l=[];for(let e of s)e.type===`section`&&(e.title==null?c.push(...e.entries):l.push(e));if(t){let e={title:t,entries:c};return l.push(e),{brief:r,description:a,footer:o,fragments:l.map(e=>({...e,type:`section`}))}}return{brief:r,description:a,footer:o,fragments:[...l.map(e=>({...e,type:`section`})),{type:`section`,entries:c}]}}};return jt(ie),ie}function pi(e,t,n={}){ve(e);let r={mode:t.mode,$valueType:t.$valueType,$stateType:t.$stateType,priority:t.priority,usage:Tr(t.usage,n.hidden),leadingNames:t.leadingNames,acceptingAnyToken:t.acceptingAnyToken,initialState:t.initialState,...J in t?{[J]:t[J]}:{},...typeof t.shouldDeferCompletion==`function`?{shouldDeferCompletion:t.shouldDeferCompletion.bind(t)}:{},...typeof t.canSkip==`function`?{canSkip:t.canSkip.bind(t)}:{},getSuggestRuntimeNodes(e,n){return t.getSuggestRuntimeNodes?.(e,n)??(t.dependencyMetadata?.source==null?[]:[{path:n,parser:t,state:e}])},parse:e=>t.parse(e),complete:(e,n)=>t.complete(e,n),suggest:(e,r)=>n.hidden===!0?Ye(t.mode,function*(){},async function*(){}):t.suggest(e,r),getDocFragments:(r,i)=>{let{brief:a,description:o,footer:s,fragments:c}=t.getDocFragments(r,i),l=Dr(c,n.hidden),u=[],d=[];for(let e of l)e.type===`entry`?u.push(e):e.type===`section`&&(e.title?d.push(e):u.push(...e.entries));let f=t.getDocFragments({kind:`available`,state:t.initialState},void 0),p=new Set;for(let e of f.fragments)if(e.type===`entry`&&e.term.type===`command`)p.add(e.term.name);else if(e.type===`section`)for(let t of e.entries)t.term.type===`command`&&p.add(t.term.name);let m=p.size>0,h=u.some(e=>e.term.type===`command`&&p.has(e.term.name)),g=!m||h?{title:e,entries:u}:{entries:u};return{brief:a,description:o,footer:s,fragments:[...d.map(e=>({...e,type:`section`})),{type:`section`,...g}]}}};return Object.defineProperty(r,qn,{value(e,n){return G(t,e,n)},configurable:!0,enumerable:!1}),`placeholder`in t&&Object.defineProperty(r,"placeholder",{get(){return t.placeholder},configurable:!0,enumerable:!1}),typeof t.normalizeValue==`function`&&Object.defineProperty(r,"normalizeValue",{value:t.normalizeValue.bind(t),configurable:!0,enumerable:!1}),typeof t.validateValue==`function`&&Object.defineProperty(r,"validateValue",{value:t.validateValue.bind(t),configurable:!0,enumerable:!1}),r}function mi(e){if(at(e))return{source:{kind:`source`,sourceId:e[Qe],extractSourceValue:hi,preservesSourceValue:!0}};if(ot(e)){let t=$e in e&&e[$e]!=null,n=t?e[$e]:[e[Qe]],r;if(et in e&&e[et]!=null)r=e[et];else if(tt in e&&e[tt]!=null){let t=e[tt];r=()=>[t()]}let i=e,a=(e,n)=>{let r=t?n:n[0];return i[rt](e,r)},o=it in i?i[it]:void 0;return{derived:{kind:`derived`,dependencyIds:n,getDefaultDependencyValues:r,replayParse:a,replaySuggest:o==null?void 0:(e,n)=>{let r=t?n:n[0];return o(e,r)}}}}}function hi(e){if(I(e))return e.result;if(typeof e==`object`&&e&&Object.hasOwn(e,`success`)&&typeof e.success==`boolean`&&(e.success&&Object.hasOwn(e,`value`)||!e.success&&Object.hasOwn(e,`error`)))return e}function gi(e){return t=>Array.isArray(t)&&t.length===1?e(t[0]):e(t)}function _i(e,t,n){if(e!==void 0)switch(t){case`optional`:return e.source!=null&&e.source.extractSourceValue!=null?{...e,source:{...e.source,extractSourceValue:gi(e.source.extractSourceValue)}}:e;case`withDefault`:{let t=e.source?.extractSourceValue==null?void 0:gi(e.source.extractSourceValue),r=e.source?.preservesSourceValue!==!1;return e.source==null?e:{...e,source:{...e.source,...t!=null&&{extractSourceValue:t},...r&&n?.defaultValue!=null&&{getMissingSourceValue:n.defaultValue}}}}case`map`:{let t={...e,transform:{transformsSourceValue:!0}};return e.source==null?t:{...t,source:{...e.source,preservesSourceValue:!1}}}}}function vi(e){let t=Si(e).value;return typeof t==`object`&&!!t&&Object.hasOwn(t,`success`)&&typeof t.success==`boolean`}function yi(e,t){if(Reflect.get(e,Symbol.for(`@optique/core/commandParser`))!==!0)return!1;let n=Si(t).value;return Array.isArray(n)&&n.length===2&&n[0]===`matched`&&typeof n[1]==`string`}function bi(e,t){let n=Si(e);if(n.value==null)return!0;if(t===void 0)return!1;let r=Si(t);return n.value===r.value&&(n.viaBoundCliWrapper||r.viaBoundCliWrapper||r.value!=null&&typeof r.value==`object`)}function xi(e){return typeof e==`object`&&!!e&&Object.hasOwn(e,`hasCliValue`)&&typeof e.hasCliValue==`boolean`&&(Object.hasOwn(e,`cliState`)||e.hasCliValue===!1)}function Si(e){let t=e,n=!1;for(;;){if(g(t)){t=h(t);continue}if(Array.isArray(t)&&t.length===1){t=t[0];continue}if(xi(t)){n=!0,t=t.cliState;continue}return{value:t,viaBoundCliWrapper:n}}}function Ci(e){return e!=null&&(typeof e==`object`||typeof e==`function`)&&`then`in e&&typeof e.then==`function`}function wi(e,t){return e.success&&t?{...e,value:Bn(e.value)}:e}function Ti(e,t){return e instanceof TypeError&&typeof t==`object`&&!!t&&g(t)}function Ei(e,t,n){let r=Mn(t),i=r&&Hn(t),a=(t,r)=>wi(e.complete(t,n),r);try{let e=a(t,r);return!e.success&&i?a(B(t),!1):e}catch(e){if(!Ti(e,t))throw e;return a(B(t),!1)}}async function Di(e,t,n){let r=Mn(t),i=r&&Hn(t),a=async(t,r)=>wi(await e.complete(t,n),r);try{let e=await a(t,r);return!e.success&&i?await a(B(t),!1):e}catch(e){if(!Ti(e,t))throw e;return await a(B(t),!1)}}function Oi(e,t){return e==null?null:t?{...e,value:Bn(e.value)}:e}function ki(e,t,n){if(!Array.isArray(t)&&!(typeof t==`object`&&t))return F(e.mode,null);let r=Li(t,e.initialState,e),i=Mn(r),a=i&&Hn(r);return P(e.mode,()=>{try{let t=e.complete(r,n);if(t.success)return Oi(Jn(t),i);if(a){let t=B(r),i=e.complete(t,n);if(i.success)return Oi(Jn(i),!1)}let o=G(e,r,n);return o==null&&i?Oi(G(e,B(r),n),!1):Oi(o,i)}catch(t){if(!Ti(t,r))throw t;let i=B(r),a=e.complete(i,n);return a.success?Oi(Jn(a),!1):Oi(G(e,i,n),!1)}},async()=>{try{let t=await e.complete(r,n);if(t.success)return Oi(Jn(t),i);if(a){let t=B(r),i=await e.complete(t,n);if(i.success)return Oi(Jn(i),!1)}let o=await G(e,r,n);return o==null&&i?Oi(await G(e,B(r),n),!1):Oi(o,i)}catch(t){if(!Ti(t,r))throw t;let i=B(r),a=await e.complete(i,n);return a.success?Oi(Jn(a),!1):Oi(await G(e,i,n),!1)}})}function Ai(e,t){if(Array.isArray(e)){let t=e[0];return u(e)!=null&&typeof t==`object`&&t?Vn(e,t):t}let n=t.initialState;return n!=null&&typeof n!=`object`?n:typeof n==`object`&&n?Vn(e,n):f(e,n)}function ji(e,t){let n=Ai(e.state,t);return Pi(t.parse({...e,state:n}),n,e)}async function Mi(e,t){let n=Ai(e.state,t);return Pi(await t.parse({...e,state:n}),n,e)}function Ni(e,t){return e!==t&&B(e)!==B(t)}function Pi(e,t,n){return e.success?Ni(t,e.next.state)||e.consumed.length===0?{success:!0,...e.provisional?{provisional:!0}:{},next:{...e.next,state:[e.next.state]},consumed:e.consumed}:{success:!0,...e.provisional?{provisional:!0}:{},next:{...e.next,state:n.state},consumed:e.consumed}:e.consumed===0?{success:!0,next:n,consumed:[]}:e}function Fi(e,t){return(n,r)=>{if(Array.isArray(n)||typeof n==`object`&&n){let i=Li(n,t.initialState,t),a=Mn(i)&&Hn(i);try{let t=e(i,r);return!t&&a?e(B(i),r):t}catch(t){if(!Ti(t,i))throw t;return e(B(i),r)}}return!1}}function Ii(e){if(typeof e!=`object`||!e||Array.isArray(e)||g(e))return!1;let t=Reflect.ownKeys(e);return u(e)!=null&&t.length===1&&t[0]===i}function Li(e,t,n){return Array.isArray(e)?Vn(e,e[0]):Ii(e)?n!=null&&(n.dependencyMetadata?.source!=null||typeof n.shouldDeferCompletion==`function`)?Vn(e,t):t:typeof e==`object`&&e?e:t}function Ri(e,t,n){if(Array.isArray(e)){let t=e[0];return typeof t==`object`&&t?Vn(e,t):t}return Li(e,t,n)}function zi(e){let t=e;function*n(n,r){let i=Ri(n.state,t.initialState,e);yield*t.suggest({...n,state:i},r)}async function*r(n,r){let i=Ri(n.state,t.initialState,e),a=e.suggest({...n,state:i},r);for await(let e of a)yield e}let i={mode:e.mode,$valueType:[],$stateType:[],...e[wt]===!0?{[wt]:!0}:{},placeholder:void 0,priority:e.priority,usage:[{type:`optional`,terms:e.usage}],leadingNames:e.leadingNames,acceptingAnyToken:!1,initialState:void 0,canSkip(t,n){if(!Array.isArray(t))return!0;let r=Li(t,e.initialState,e);return e.canSkip?.(r,n)===!0},...typeof e.shouldDeferCompletion==`function`?{shouldDeferCompletion:Fi(e.shouldDeferCompletion.bind(e),e)}:{},getSuggestRuntimeNodes(t,n){if(i.dependencyMetadata?.source!=null)return[{path:n,parser:i,state:t}];let r=Ri(t,e.initialState,e);return e.getSuggestRuntimeNodes?.(r,n)??(e.dependencyMetadata?.source==null?[]:[{path:n,parser:e,state:r}])},[qn](t,n){return ki(e,t,n)},parse(n){return P(e.mode,()=>ji(n,t),()=>Mi(n,e))},complete(n,r){if(!Array.isArray(n)){let i=n=>{let i=P(e.mode,()=>Ei(t,n,r),async()=>await Di(e,n,r));return Je(e.mode,i,e=>e.success?e:{success:!0,value:void 0})};if(typeof e.shouldDeferCompletion==`function`&&typeof n==`object`&&n)return i(Li(n,e.initialState,e));let a=e.dependencyMetadata?.source;if(a?.preservesSourceValue!==!1&&a?.getMissingSourceValue!=null){let i=Li(n,e.initialState,e);return P(e.mode,()=>Ei(t,i,r),async()=>await Di(e,i,r))}return e[wt]===!0&&typeof n==`object`&&n?i(Li(n,e.initialState,e)):{success:!0,value:void 0}}let i=Li(n,e.initialState,e);return P(e.mode,()=>Ei(t,i,r),async()=>await Di(e,i,r))},suggest(t,i){return Ye(e.mode,()=>n(t,i),()=>r(t,i))},getDocFragments(e,n){let r=e.kind===`unavailable`||e.state===void 0?{kind:`unavailable`}:{kind:`available`,state:e.state[0]};return t.getDocFragments(r,n)}};if(typeof e.normalizeValue==`function`){let t=e.normalizeValue.bind(e);Object.defineProperty(i,"normalizeValue",{value(e){return e==null?e:t(e)},configurable:!0,enumerable:!1})}if(typeof e.validateValue==`function`){let t=e.validateValue.bind(e);Object.defineProperty(i,"validateValue",{value(n){return n===void 0?F(e.mode,{success:!0,value:n}):t(n)},configurable:!0,enumerable:!1})}if(e.dependencyMetadata!=null){let t=_i(e.dependencyMetadata,`optional`);t!=null&&(i.dependencyMetadata=t)}return jt(i),Mt(i),i}var Bi=class extends Error{errorMessage;constructor(e){super(k(e)),this.errorMessage=e,this.name=`WithDefaultError`}};function Vi(e,t,n){let r=e,i=e=>{if(e!=null)return e;if(!n?.message){if(typeof t!=`function`)return t;try{return t()}catch{return}}};function*a(t,n){let i=Ri(t.state,r.initialState,e);yield*r.suggest({...t,state:i},n)}async function*o(t,n){let i=Ri(t.state,r.initialState,e),a=e.suggest({...t,state:i},n);for await(let e of a)yield e}let s={mode:e.mode,$valueType:[],$stateType:[],...e[wt]===!0?{[wt]:!0}:{},priority:e.priority,usage:[{type:`optional`,terms:e.usage}],leadingNames:e.leadingNames,acceptingAnyToken:!1,initialState:void 0,canSkip(t,n){if(!Array.isArray(t))return!0;let r=Li(t,e.initialState,e);return e.canSkip?.(r,n)===!0},...typeof e.shouldDeferCompletion==`function`?{shouldDeferCompletion:Fi(e.shouldDeferCompletion.bind(e),e)}:{},getSuggestRuntimeNodes(t,n){if(s.dependencyMetadata?.source!=null)return[{path:n,parser:s,state:t}];let r=Ri(t,e.initialState,e);return e.getSuggestRuntimeNodes?.(r,n)??(e.dependencyMetadata?.source==null?[]:[{path:n,parser:e,state:r}])},[qn](t,n){return ki(e,t,n)},parse(t){return P(e.mode,()=>ji(t,r),()=>Mi(t,e))},complete(n,i){function a(){let n=typeof t==`function`?t():t;if(typeof e.normalizeValue==`function`)try{return e.normalizeValue(n)}catch{}return n}if(!Array.isArray(n)){if(typeof e.shouldDeferCompletion==`function`&&typeof n==`object`&&n){let t=Li(n,e.initialState,e);return P(e.mode,()=>Ei(r,t,i),async()=>await Di(e,t,i))}if(e[wt]===!0&&typeof n==`object`&&n){let t=Li(n,e.initialState,e),o=P(e.mode,()=>Ei(r,t,i),async()=>await Di(e,t,i));return Je(e.mode,o,e=>{if(e.success&&e.value!==void 0)return e;try{return{success:!0,value:a()}}catch(e){return{success:!1,error:e instanceof Bi?e.errorMessage:w`${T(String(e))}`}}})}try{return{success:!0,value:a()}}catch(e){return{success:!1,error:e instanceof Bi?e.errorMessage:w`${T(String(e))}`}}}let o=Li(n,e.initialState,e);return P(e.mode,()=>Ei(r,o,i),async()=>await Di(e,o,i))},suggest(t,n){return Ye(e.mode,()=>a(t,n),()=>o(t,n))},getDocFragments(t,a){let o=t.kind===`unavailable`||t.state===void 0?{kind:`unavailable`}:{kind:`available`,state:t.state[0]},s=i(a);if(s!=null&&typeof e.normalizeValue==`function`)try{s=e.normalizeValue(s)}catch{}let c=r.getDocFragments(o,s);if(n?.message){let e=c.fragments.map(e=>e.type===`entry`?{...e,default:n.message}:e);return{...c,fragments:e}}return c}};if(`placeholder`in e&&Object.defineProperty(s,"placeholder",{get(){return e.placeholder},configurable:!0,enumerable:!1}),typeof e.normalizeValue==`function`){let t=e.normalizeValue.bind(e);Object.defineProperty(s,"normalizeValue",{value(e){try{return t(e)}catch{return e}},configurable:!0,enumerable:!1})}if(typeof e.validateValue==`function`){let t=e.validateValue.bind(e);Object.defineProperty(s,"validateValue",{value(e){return t(e)},configurable:!0,enumerable:!1})}if(e.dependencyMetadata!=null){let n=_i(e.dependencyMetadata,`withDefault`,{defaultValue:()=>{let n;try{n=typeof t==`function`?t():t}catch(e){return{success:!1,error:e instanceof Bi?e.errorMessage:w`${e instanceof Error?e.message:String(e)}`}}if(typeof e.normalizeValue==`function`)try{n=e.normalizeValue(n)}catch{}return{success:!0,value:n}}});n!=null&&(s.dependencyMetadata=n)}return jt(s),Mt(s),s}function Hi(e,t={}){let n=e,{min:r=0,max:i=1/0}=t,a=h,o=(e,t)=>{try{let r=n.complete(e,t);return!r.success&&g(e)?n.complete(a(e),t):r}catch(r){if(!g(e))throw r;return n.complete(a(e),t)}},s=e=>{try{let t=n.parse(e);return t.success||t.consumed!==0||!g(e.state)?t:n.parse({...e,state:a(e.state)})}catch(t){if(!g(e.state))throw t;return n.parse({...e,state:a(e.state)})}},c=async(t,n)=>{try{let r=await e.complete(t,n);return!r.success&&g(t)?await e.complete(a(t),n):r}catch(r){if(!g(t))throw r;return await e.complete(a(t),n)}},l=async t=>{try{let n=await e.parse(t);return n.success||n.consumed!==0||!g(t.state)?n:await e.parse({...t,state:a(t.state)})}catch(n){if(!g(t.state))throw n;return await e.parse({...t,state:a(t.state)})}},u=(e,t)=>{try{let r=K(n,e,t);return r==null&&g(e)?K(n,a(e),t):r}catch(r){if(!g(e))throw r;return K(n,a(e),t)}},p=async(t,n)=>{try{let r=await K(e,t,n);return r==null&&g(t)?await K(e,a(t),n):r}catch(r){if(!g(t))throw r;return await K(e,a(t),n)}},m=(t,n)=>e.getSuggestRuntimeNodes?.(t,n)??(e.dependencyMetadata?.source==null?[]:[{path:n,parser:e,state:t}]),_=(t,n,r)=>t!=null&&!vi(t)&&(yi(e,t)||e.canSkip?.(t,H(r,n))!==!0),v=e=>{let t=e.state.at(-1),a=e.state.length-1,o=_(t,a,e.exec),c=e.state.length<i;if(!o&&!c)return{success:!0,next:e,consumed:[]};let l=!o,u=o?e.state.length-1:e.state.length,p=o?t:f(e.state,n.initialState),m=s(W(e,u,p));if(!m.success){if(m.consumed!==0)return m;if(!l&&c){let t=f(e.state,n.initialState);if(u=e.state.length,m=s(W(e,u,t)),!m.success)return r===0&&e.buffer.length===0&&m.consumed===0?{success:!0,next:e,consumed:[]}:m;l=!0}else if(r===0&&e.buffer.length===0)return{success:!0,next:e,consumed:[]};else return m}let h=U(e.exec,m.next.exec);if(l&&m.consumed.length===0&&m.next.optionsTerminated===e.optionsTerminated&&bi(m.next.state,p))return{success:!0,next:{...m.next,state:e.state,...h==null?{}:{trace:h.trace,exec:h,dependencyRegistry:h.dependencyRegistry}},consumed:m.consumed};let g=l?e.state:p;if(m.next.state===p&&m.consumed.length>0&&(!l||m.next.optionsTerminated!==e.optionsTerminated))return{success:!0,...m.provisional?{provisional:!0}:{},next:{...m.next,state:e.state,...h==null?{}:{trace:h.trace,exec:h,dependencyRegistry:h.dependencyRegistry}},consumed:m.consumed};let v=f(g,m.next.state);return{success:!0,...m.provisional?{provisional:!0}:{},next:{...m.next,state:d(e.state,[...l?e.state:e.state.slice(0,-1),v]),...h==null?{}:{trace:h.trace,exec:h,dependencyRegistry:h.dependencyRegistry}},consumed:m.consumed}},y=async t=>{let n=t.state.at(-1),a=t.state.length-1,o=_(n,a,t.exec),s=t.state.length<i;if(!o&&!s)return{success:!0,next:t,consumed:[]};let c=!o,u=o?t.state.length-1:t.state.length,p=o?n:f(t.state,e.initialState),m=await l(W(t,u,p));if(!m.success){if(m.consumed!==0)return m;if(!c&&s){let n=f(t.state,e.initialState);if(u=t.state.length,m=await l(W(t,u,n)),!m.success)return r===0&&t.buffer.length===0&&m.consumed===0?{success:!0,next:t,consumed:[]}:m;c=!0}else if(r===0&&t.buffer.length===0)return{success:!0,next:t,consumed:[]};else return m}let h=U(t.exec,m.next.exec);if(c&&m.consumed.length===0&&m.next.optionsTerminated===t.optionsTerminated&&bi(m.next.state,p))return{success:!0,next:{...m.next,state:t.state,...h==null?{}:{trace:h.trace,exec:h,dependencyRegistry:h.dependencyRegistry}},consumed:m.consumed};let g=c?t.state:p;if(m.next.state===p&&m.consumed.length>0&&(!c||m.next.optionsTerminated!==t.optionsTerminated))return{success:!0,...m.provisional?{provisional:!0}:{},next:{...m.next,state:t.state,...h==null?{}:{trace:h.trace,exec:h,dependencyRegistry:h.dependencyRegistry}},consumed:m.consumed};let v=f(g,m.next.state);return{success:!0,...m.provisional?{provisional:!0}:{},next:{...m.next,state:d(t.state,[...c?t.state:t.state.slice(0,-1),v]),...h==null?{}:{trace:h.trace,exec:h,dependencyRegistry:h.dependencyRegistry}},consumed:m.consumed}},b={mode:e.mode,$valueType:[],$stateType:[],priority:e.priority,usage:[{type:`multiple`,terms:e.usage,min:r}],leadingNames:e.leadingNames,acceptingAnyToken:r>0&&(e.acceptingAnyToken??!1),initialState:[],canSkip(e,t){if(e.length<r)return!1;let n=e.at(-1);return!_(n,e.length-1,t)},getSuggestRuntimeNodes(e,t){let n=e.flatMap((e,n)=>[...m(e,[...t,n])]);return b.dependencyMetadata?.source==null?n:[{path:t,parser:b,state:e},...n]},parse(t){return P(e.mode,()=>v(t),()=>y(t))},complete(t,n){return P(e.mode,()=>{let e=[],r=new Map,i=!1;for(let s=0;s<t.length;s++){let c=o(t[s],H(n,s));if(c.success){let t=a(c.value);e.push(t),c.deferred&&(c.deferredKeys?r.set(s,c.deferredKeys):typeof t!=`object`||!t?r.set(s,null):i=!0)}else return{success:!1,error:c.error}}return ee(e,r,i)},async()=>{let e=[],r=new Map,i=!1;for(let o=0;o<t.length;o++){let s=await c(t[o],H(n,o));if(s.success){let t=a(s.value);e.push(t),s.deferred&&(s.deferredKeys?r.set(o,s.deferredKeys):typeof t!=`object`||!t?r.set(o,null):i=!0)}else return{success:!1,error:s.error}}return ee(e,r,i)})},[qn](t,n){return P(e.mode,()=>{let e=[],r=new Map,i=!1,a=!1;for(let o=0;o<t.length;o++){let s=u(t[o],H(n,o));s!=null&&(a=!0,e[o]=s.value,s.deferred&&(s.deferredKeys?r.set(o,s.deferredKeys):s.value==null||typeof s.value!=`object`?r.set(o,null):i=!0))}return a?{value:e,...r.size>0||i?{deferred:!0,...r.size>0?{deferredKeys:r}:{}}:{}}:null},async()=>{let e=[],r=new Map,i=!1,a=!1;for(let o=0;o<t.length;o++){let s=await p(t[o],H(n,o));s!=null&&(a=!0,e[o]=s.value,s.deferred&&(s.deferredKeys?r.set(o,s.deferredKeys):s.value==null||typeof s.value!=`object`?r.set(o,null):i=!0))}return a?{value:e,...r.size>0||i?{deferred:!0,...r.size>0?{deferredKeys:r}:{}}:{}}:null})},suggest(t,r){let s=t.state.at(-1),l=t.state.length-1,u=_(s,l,t.exec),d=t.state.length<i;if(!u&&!d)return Ye(e.mode,function*(){},async function*(){});let p=u?t.state.length-1:t.state.length,m=u?s:f(t.state,e.initialState),h=a(m),g=h!==m,v=()=>{let e=new Set;for(let n=0;n<t.state.length;n++){let r=W(t,n,t.state[n]),i=o(r.state,r.exec);i.success&&e.add(String(a(i.value)))}return e},y=async()=>{let e=new Set;for(let n=0;n<t.state.length;n++){let r=W(t,n,t.state[n]),i=await c(r.state,r.exec);i.success&&e.add(String(a(i.value)))}return e},b=(e,t)=>t.kind!==`literal`||!e.has(t.text),ee=e=>{let t=e.description==null?``:k(e.description);return e.kind===`literal`?JSON.stringify([`literal`,e.text,t]):JSON.stringify([`file`,e.type,e.pattern??``,e.includeHidden===!0,e.extensions==null?``:e.extensions.toSorted().join(`\0`),t])};return Ye(e.mode,function*(){let e=v(),i=new Set,a=function*(t){for(let n of t){let t=ee(n);b(e,n)&&!i.has(t)&&(i.add(t),yield n)}},o=!1;try{yield*a(n.suggest(W(t,p,m),r))}catch(e){if(!g)throw e;o=!0}o&&(yield*a(n.suggest(W(t,p,h),r)))},async function*(){let n=await y(),i=new Set,a=async function*(e){for await(let t of e){let e=ee(t);b(n,t)&&!i.has(e)&&(i.add(e),yield t)}},o=!1;try{yield*a(e.suggest(W(t,p,m),r))}catch(e){if(!g)throw e;o=!0}o&&(yield*a(e.suggest(W(t,p,h),r)))})},getDocFragments(e,t){let r=e.kind===`available`&&e.state.length>0?e.state.at(-1):void 0,i=r!=null&&g(r)?a(r):r,o=e.kind===`unavailable`||i===void 0?{kind:`unavailable`}:{kind:`available`,state:i};return n.getDocFragments(o,t!=null&&t.length>0?t[0]:void 0)}};function ee(e,n,a=!1){if(e.length<r){let n=t.errors?.tooFew;return{success:!1,error:n?typeof n==`function`?n(r,e.length):n:w`Expected at least ${T(r.toLocaleString(`en`))} values, but got only ${T(e.length.toLocaleString(`en`))}.`}}else if(e.length>i){let n=t.errors?.tooMany;return{success:!1,error:n?typeof n==`function`?n(i,e.length):n:w`Expected at most ${T(i.toLocaleString(`en`))} values, but got ${T(e.length.toLocaleString(`en`))}.`}}return{success:!0,value:e,...n.size>0||a?{deferred:!0,...n.size>0?{deferredKeys:n}:{}}:{}}}if(Object.defineProperty(b,"placeholder",{get(){try{if(r>0&&`placeholder`in e)return Array.from({length:r},()=>e.placeholder)}catch{}return[]},configurable:!0,enumerable:!1}),typeof e.normalizeValue==`function`){let t=e.normalizeValue.bind(e);Object.defineProperty(b,"normalizeValue",{value(e){if(!Array.isArray(e))return e;let n=!1,r=e.map(e=>{try{let r=t(e);return r!==e&&(n=!0),r}catch{return e}});return n?r:e},configurable:!0,enumerable:!1})}{let n=typeof e.validateValue==`function`?e.validateValue.bind(e):void 0,a=e=>{if(e.length<r){let n=t.errors?.tooFew;return{success:!1,error:n?typeof n==`function`?n(r,e.length):n:w`Expected at least ${T(r.toLocaleString(`en`))} values, but got only ${T(e.length.toLocaleString(`en`))}.`}}if(e.length>i){let n=t.errors?.tooMany;return{success:!1,error:n?typeof n==`function`?n(i,e.length):n:w`Expected at most ${T(i.toLocaleString(`en`))} values, but got ${T(e.length.toLocaleString(`en`))}.`}}return{success:!0,value:e}};Object.defineProperty(b,"validateValue",{value(t){if(!Array.isArray(t)){let n=t===null?`null`:typeof t;return F(e.mode,{success:!1,error:w`Expected an array of values, but received ${n}.`})}let r=a(t);return!r.success||n==null?F(e.mode,r):P(e.mode,()=>{let e=!1,r=[];for(let i of t){let t=n(i);if(!t.success)return t;r.push(t.value),t.value!==i&&(e=!0)}return{success:!0,value:e?r:t}},async()=>{let e=!1,r=[];for(let i of t){let t=await n(i);if(!t.success)return t;r.push(t.value),t.value!==i&&(e=!0)}return{success:!0,value:e?r:t}})},configurable:!0,enumerable:!1})}if(e.dependencyMetadata?.source!=null){let t=e.dependencyMetadata.source;Object.defineProperty(b,"dependencyMetadata",{value:{...e.dependencyMetadata,source:{...t,preservesSourceValue:!1,extractSourceValue:e=>{if(!Array.isArray(e))return t.extractSourceValue(e);let n=r=>{for(let i=r;i>=0;i--){let r=t.extractSourceValue(e[i]);if(r!=null)return Ci(r)?Promise.resolve(r).then(e=>e??n(i-1)):r}};return n(e.length-1)}}},configurable:!0,enumerable:!1})}return b}function Ui(e){if(e===``)throw TypeError(`Expected a non-empty string.`)}function Wi(e){if(typeof e!=`object`||!e||!(`mode`in e)||e.mode!==`sync`&&e.mode!==`async`)return!1;let t=`metavar`in e&&typeof e.metavar==`string`,n=`parse`in e&&typeof e.parse==`function`,r=`format`in e&&typeof e.format==`function`,i=`placeholder`in e;if(t&&n&&r&&!i)throw TypeError(`Value parser is missing the required placeholder property. All value parsers must define a placeholder value.`);return t&&n&&r&&i}function Gi(e={}){if(e.pattern!=null&&!(e.pattern instanceof RegExp))throw TypeError(`Expected pattern to be a RegExp, but got: ${Object.prototype.toString.call(e.pattern)}`);let t=e.metavar??`STRING`;Ui(t);let n=e.pattern?.source??null,r=e.pattern?.flags??null,i=e.errors?.patternMismatch;return{mode:`sync`,metavar:t,placeholder:e.placeholder??``,parse(e){if(n!=null&&r!=null){let t=new RegExp(n,r);return t.test(e)?{success:!0,value:e}:{success:!1,error:i?typeof i==`function`?i(e,t):i:w`Expected a string matching pattern ${T(n)}, but got ${e}.`}}return{success:!0,value:e}},format(e){return e}}}const Ki=`(?:\\d+(?:\\.\\d*)?|\\d*\\.\\d+)`,qi=`(?:-?${Ki})`;RegExp(`^rgba?\\(\\s*(\\d{1,3})\\s*,\\s*(\\d{1,3})\\s*,\\s*(\\d{1,3})\\s*(?:,\\s*(${Ki}))?\\s*\\)$`,`i`),RegExp(`^hsla?\\(\\s*(${qi})\\s*,\\s*(${Ki})%\\s*,\\s*(${Ki})%\\s*(?:,\\s*(${Ki}))?\\s*\\)$`,`i`);const Ji=Object.freeze([`0.0.0`,`1.0.0`,`1.0.0-alpha`,`1.0.0-alpha.1`,`1.0.0+build.1`,`1.0.0-alpha.1+build.1`]);Object.freeze([...Ji,...Ji.map(e=>`v${e}`)]);const Yi=new Set;function Xi(e,t){return t==null?e!=null&&`success`in e&&e.success&&e.value===!0:typeof e==`object`&&!!e&&`success`in e&&typeof e.success==`boolean`}function Zi(e){return typeof e==`object`&&!!e&&`success`in e&&typeof e.success==`boolean`}function Qi(e){return e}function $i(e,t,n,r,i,a){let o={kind:e,rawInput:t,consumed:n,preliminaryResult:i,...a==null?{}:{optionNames:a},metavar:r.metavar};if(ot(r)){let e=st(i);if(e!=null)return{...o,defaultDependencyValues:e}}return o}function ea(e,t){if(e.exec?.trace==null)return e;let n=e.exec.trace.set(e.exec.path,t);return{...e,trace:n,exec:{...e.exec,trace:n}}}function ta(e,t,n){if(e?.derived==null||n?.dependencyRuntime==null)return t;let r=n.trace?.get(n.path);if(r?.rawInput==null)return r?.preliminaryResult??t;if(r.preliminaryResult!=null){let t=n.dependencyRuntime.resolveDependencies({dependencyIds:e.derived.dependencyIds,defaultValues:r.defaultDependencyValues});if(t.kind===`resolved`&&t.usedDefaults.length>0&&t.usedDefaults.every(e=>e))return r.preliminaryResult}return pn({path:n.path,parser:{dependencyMetadata:{derived:e.derived}},state:t,defaultDependencyValues:r.defaultDependencyValues},r.rawInput,n.dependencyRuntime)??r.preliminaryResult??t}async function na(e,t,n){if(e?.derived==null||n?.dependencyRuntime==null)return t;let r=n.trace?.get(n.path);if(r?.rawInput==null)return r?.preliminaryResult??t;if(r.preliminaryResult!=null){let t=n.dependencyRuntime.resolveDependencies({dependencyIds:e.derived.dependencyIds,defaultValues:r.defaultDependencyValues});if(t.kind===`resolved`&&t.usedDefaults.length>0&&t.usedDefaults.every(e=>e))return r.preliminaryResult}return await mn({path:n.path,parser:{dependencyMetadata:{derived:e.derived}},state:t,defaultDependencyValues:r.defaultDependencyValues},r.rawInput,n.dependencyRuntime)??r.preliminaryResult??t}function Z(e){let t={$valueType:[],$stateType:[],mode:`sync`,priority:0,usage:[],leadingNames:Yi,acceptingAnyToken:!1,initialState:e,canSkip(){return!0},parse(e){return{success:!0,next:e,consumed:[]}},complete(e,t){return{success:!0,value:e}},suggest(e,t){return[]},getDocFragments(e,t){return{fragments:[]}}};return Object.defineProperty(t,"placeholder",{value:e,configurable:!0,enumerable:!1,writable:!1}),t}function*ra(e,t,n,r){if(e.suggest){if(ot(e)&&it in e){let i=e,a=i[it];if(a&&n){let o=r?.dependencyRuntime,s=ut(i),c=dt(i)?.(),l=[],u=!1;for(let r=0;r<s.length;r++){let i=s[r];if(n.has(i))l.push(n.get(i)),u=!0;else if(o?.isSourceFailed(i))return;else if(c&&r<c.length)l.push(c[r]);else{yield*e.suggest(t);return}}if(u){yield*a(t,s.length===1?l[0]:l);return}}}yield*e.suggest(t)}}function*ia(e,t,n,r,i){if(n)return;let a=i.indexOf(`=`);if(a>=0){let n=i.slice(0,a),o=i.slice(a+1);if(e.includes(n)&&t&&t.suggest){let e=ra(t,o,r.dependencyRegistry,r.exec);for(let t of e)t.kind===`literal`?yield{kind:`literal`,text:`${n}=${t.text}`,description:t.description}:yield{kind:`literal`,text:`${n}=${t.pattern||``}`,description:t.description}}}else{if(!(r.buffer.length>0&&e.includes(r.buffer[r.buffer.length-1]))&&(i.startsWith(`--`)||i.startsWith(`-`)||i.startsWith(`/`)||i.startsWith(`+`))){for(let t of e)if(t.startsWith(i)){if(i===`-`&&t.length!==2)continue;yield{kind:`literal`,text:t}}}if(t&&t.suggest){let n=!1;if(r.buffer.length>0){let t=r.buffer[r.buffer.length-1];e.includes(t)&&(n=!0)}else Hn(r.state)&&r.buffer.length===0&&(r.exec?.path?.length??0)===0&&!(i.startsWith(`--`)||i.startsWith(`-`)||i.startsWith(`/`)||i.startsWith(`+`))&&(n=!0);n&&(yield*ra(t,i,r.dependencyRegistry,r.exec))}}}async function*aa(e,t,n,r){if(e.suggest){if(ot(e)&&it in e){let i=e,a=i[it];if(a&&n){let o=r?.dependencyRuntime,s=ut(i),c=dt(i)?.(),l=[],u=!1;for(let r=0;r<s.length;r++){let i=s[r];if(n.has(i))l.push(n.get(i)),u=!0;else if(o?.isSourceFailed(i))return;else if(c&&r<c.length)l.push(c[r]);else{for await(let n of e.suggest(t))yield n;return}}if(u){let e=s.length===1?l[0]:l;for await(let n of a(t,e))yield n;return}}}for await(let n of e.suggest(t))yield n}}async function*oa(e,t,n,r,i){if(n)return;let a=i.indexOf(`=`);if(a>=0){let n=i.slice(0,a),o=i.slice(a+1);if(e.includes(n)&&t&&t.suggest){let e=aa(t,o,r.dependencyRegistry,r.exec);for await(let t of e)t.kind===`literal`?yield{kind:`literal`,text:`${n}=${t.text}`,description:t.description}:yield{kind:`literal`,text:`${n}=${t.pattern||``}`,description:t.description}}}else{if(!(r.buffer.length>0&&e.includes(r.buffer[r.buffer.length-1]))&&(i.startsWith(`--`)||i.startsWith(`-`)||i.startsWith(`/`)||i.startsWith(`+`))){for(let t of e)if(t.startsWith(i)){if(i===`-`&&t.length!==2)continue;yield{kind:`literal`,text:t}}}if(t&&t.suggest){let n=!1;if(r.buffer.length>0){let t=r.buffer[r.buffer.length-1];e.includes(t)&&(n=!0)}else Hn(r.state)&&r.buffer.length===0&&(r.exec?.path?.length??0)===0&&!(i.startsWith(`--`)||i.startsWith(`-`)||i.startsWith(`/`)||i.startsWith(`+`))&&(n=!0);if(n)for await(let e of aa(t,i,r.dependencyRegistry,r.exec))yield e}}}function*sa(e,t,n,r,i){t||e.suggest&&(yield*ra(e,n,r,i))}async function*ca(e,t,n,r,i){t||e.suggest&&(yield*aa(e,n,r,i))}function la(...e){let t=e.at(-1),n=e.at(-2),r,i,a={};Wi(t)?(r=t,i=e.slice(0,-1)):typeof t==`object`&&t?(a=t,Wi(n)?(r=n,i=e.slice(0,-2)):(r=void 0,i=e.slice(0,-1))):(i=e,r=void 0),pe(i,`Option`);let o=r?.mode??`sync`,s=o===`async`,c=r,l=r==null?void 0:mi(r),u=e=>a.errors?.invalidValue?typeof a.errors.invalidValue==`function`?a.errors.invalidValue(e):a.errors.invalidValue:w`${oe(i)}: ${e}`,d={mode:o,$valueType:[],$stateType:[],priority:10,usage:[r==null?{type:`optional`,terms:[{type:`option`,names:i,...a.hidden!=null&&{hidden:a.hidden}}]}:{type:`option`,names:i,metavar:r.metavar,...a.hidden!=null&&{hidden:a.hidden}}],leadingNames:new Set(i),acceptingAnyToken:!1,initialState:r==null?{success:!0,value:!1}:void 0,canSkip(e){return r==null||Zi(e)},parse(e){if(e.optionsTerminated)return{success:!1,consumed:0,error:a.errors?.optionsTerminated??w`No more options can be parsed.`};if(e.buffer.length<1)return{success:!1,consumed:0,error:a.errors?.endOfInput??w`Expected an option, but got end of input.`};if(e.buffer[0]===`--`)return{success:!0,next:{...e,buffer:e.buffer.slice(1),state:e.state,optionsTerminated:!0},consumed:e.buffer.slice(0,1)};if(i.includes(e.buffer[0])){if(Xi(e.state,r))return{success:!1,consumed:1,error:a.errors?.duplicate?typeof a.errors.duplicate==`function`?a.errors.duplicate(e.buffer[0]):a.errors.duplicate:w`${E(e.buffer[0])} cannot be used multiple times.`};if(r==null)return{success:!0,next:{...e,state:{success:!0,value:!0},buffer:e.buffer.slice(1)},consumed:e.buffer.slice(0,1)};if(e.buffer.length<2)return{success:!1,consumed:1,error:a.errors?.endOfInput??w`${E(e.buffer[0])} requires ${D(r.metavar)}.`};let t=e.buffer[1];return P(o,()=>{let n=c.parse(t);return{success:!0,next:{...ea(e,$i(`option-value`,t,e.buffer.slice(0,2),c,n,i)),state:Qi(n),buffer:e.buffer.slice(2)},consumed:e.buffer.slice(0,2)}},async()=>{let n=await r.parse(t);return{success:!0,next:{...ea(e,$i(`option-value`,t,e.buffer.slice(0,2),r,n,i)),state:Qi(n),buffer:e.buffer.slice(2)},consumed:e.buffer.slice(0,2)}})}let t=i.filter(e=>e.startsWith(`--`)||e.startsWith(`/`)||e.startsWith(`-`)&&e.length>2).map(e=>e.startsWith(`/`)?`${e}:`:`${e}=`);for(let n of t){if(!e.buffer[0].startsWith(n))continue;if(Xi(e.state,r)){let e=n.slice(0,-1);return{success:!1,consumed:1,error:a.errors?.duplicate?typeof a.errors.duplicate==`function`?a.errors.duplicate(n):a.errors.duplicate:w`${E(e)} cannot be used multiple times.`}}let t=e.buffer[0].slice(n.length);return r==null?{success:!1,consumed:1,error:a.errors?.unexpectedValue?typeof a.errors.unexpectedValue==`function`?a.errors.unexpectedValue(t):a.errors.unexpectedValue:w`Option ${E(n)} is a Boolean flag, but got a value: ${t}.`}:P(o,()=>{let n=c.parse(t);return{success:!0,next:{...ea(e,$i(`option-value`,t,e.buffer.slice(0,1),c,n,i)),state:Qi(n),buffer:e.buffer.slice(1)},consumed:e.buffer.slice(0,1)}},async()=>{let n=await r.parse(t);return{success:!0,next:{...ea(e,$i(`option-value`,t,e.buffer.slice(0,1),r,n,i)),state:Qi(n),buffer:e.buffer.slice(1)},consumed:e.buffer.slice(0,1)}})}if(r==null){let t=i.filter(e=>e.match(/^-[^-]$/));for(let n of t)if(e.buffer[0].startsWith(n))return Xi(e.state,r)?{success:!1,consumed:1,error:a.errors?.duplicate?typeof a.errors.duplicate==`function`?a.errors.duplicate(n):a.errors.duplicate:w`${E(n)} cannot be used multiple times.`}:{success:!0,next:{...e,state:{success:!0,value:!0},buffer:[`-${e.buffer[0].slice(2)}`,...e.buffer.slice(1)]},consumed:[e.buffer[0].slice(0,2)]}}let n=e.buffer[0];if(a.errors?.noMatch){let t=new Set;for(let n of Se(e.usage))t.add(n);let r=Zn(n,t,Xn);return{success:!1,consumed:0,error:typeof a.errors.noMatch==`function`?a.errors.noMatch(n,r):a.errors.noMatch}}return{success:!1,consumed:0,error:tr(w`No matched option for ${E(n)}.`,n,e.usage,`option`)}},complete(e,t){let n=r==null?{success:!0,value:!1}:{success:!1,error:a.errors?.missing?typeof a.errors.missing==`function`?a.errors.missing(i):a.errors.missing:w`Missing option ${oe(i)}.`},s=()=>{if(e==null)return n;let i=r!=null&&l?.derived!=null?ta(l,e,t):e;return i.success?i:{success:!1,error:u(i.error)}};return P(o,s,async()=>{if(e==null)return n;if(r==null||l?.derived==null)return s();let i=await na(l,e,t);return i.success?i:{success:!1,error:u(i.error)}})},suggest(e,t){return s?oa(i,r,M(a.hidden),e,t):ia(i,r,M(a.hidden),e,t)},getDocFragments(e,t){if(be(a.hidden))return{fragments:[],description:a.description};let n=r?.choices!=null&&r.choices.length>0?ue(r.choices.map(e=>r.format(e)),{fallback:``,type:`unit`}):void 0;return{fragments:[{type:`entry`,term:{type:`option`,names:i,metavar:r?.metavar},description:a.description,default:t!=null&&r!=null?w`${r.format(t)}`:void 0,choices:n}],description:a.description}},[Symbol.for(`Deno.customInspect`)](){return`option(${i.map(e=>JSON.stringify(e)).join(`, `)})`}};if(r!=null&&typeof r.normalize==`function`){let e=r.normalize.bind(r);Object.defineProperty(d,"normalizeValue",{value(t){try{return e(t)}catch{return t}},configurable:!0,enumerable:!1})}if(r==null)Object.defineProperty(d,"validateValue",{value(e){return typeof e==`boolean`?F(o,{success:!0,value:e}):F(o,{success:!1,error:u(w`Expected a boolean value, but received ${e===null?`null`:typeof e}.`)})},configurable:!0,enumerable:!1});else if(!ot(r)){let e=r,t=e=>e.success?e:{success:!1,error:u(e.error)};Object.defineProperty(d,"validateValue",{value(n){if(typeof e.validate==`function`)return F(o,t(e.validate(n)));let r;try{r=e.format(n)}catch{return F(o,{success:!0,value:n})}return typeof r==`string`?P(o,()=>t(e.parse(r)),async()=>t(await e.parse(r))):F(o,{success:!0,value:n})},configurable:!0,enumerable:!1})}return r==null?Object.defineProperty(d,"placeholder",{value:!1,configurable:!0,enumerable:!1,writable:!1}):Object.defineProperty(d,"placeholder",{get(){try{return r.placeholder}catch{return}},configurable:!0,enumerable:!1}),l!=null&&Object.defineProperty(d,"dependencyMetadata",{value:l,configurable:!0,enumerable:!1}),d}function ua(...e){let t=e.at(-1),n,r={};typeof t==`object`&&t&&!Array.isArray(t)?(r=t,n=e.slice(0,-1)):n=e,pe(n,`Flag`);let i={$valueType:[],$stateType:[],mode:`sync`,priority:10,usage:[{type:`option`,names:n,...r.hidden!=null&&{hidden:r.hidden}}],leadingNames:new Set(n),acceptingAnyToken:!1,initialState:void 0,canSkip(e){return Zi(e)},parse(e){if(e.optionsTerminated)return{success:!1,consumed:0,error:r.errors?.optionsTerminated??w`No more options can be parsed.`};if(e.buffer.length<1)return{success:!1,consumed:0,error:r.errors?.endOfInput??w`Expected an option, but got end of input.`};if(e.buffer[0]===`--`)return{success:!0,next:{...e,buffer:e.buffer.slice(1),state:e.state,optionsTerminated:!0},consumed:e.buffer.slice(0,1)};if(n.includes(e.buffer[0]))return e.state?.success?{success:!1,consumed:1,error:r.errors?.duplicate?typeof r.errors.duplicate==`function`?r.errors.duplicate(e.buffer[0]):r.errors.duplicate:w`${E(e.buffer[0])} cannot be used multiple times.`}:{success:!0,next:{...e,state:{success:!0,value:!0},buffer:e.buffer.slice(1)},consumed:e.buffer.slice(0,1)};let t=n.filter(e=>e.startsWith(`--`)||e.startsWith(`/`)||e.startsWith(`-`)&&e.length>2).map(e=>e.startsWith(`/`)?`${e}:`:`${e}=`);for(let n of t)if(e.buffer[0].startsWith(n)){let t=e.buffer[0].slice(n.length);return{success:!1,consumed:1,error:w`Flag ${E(n.slice(0,-1))} does not accept a value, but got: ${t}.`}}let i=n.filter(e=>e.match(/^-[^-]$/));for(let t of i)if(e.buffer[0].startsWith(t))return e.state?.success?{success:!1,consumed:1,error:r.errors?.duplicate?typeof r.errors.duplicate==`function`?r.errors.duplicate(t):r.errors.duplicate:w`${E(t)} cannot be used multiple times.`}:{success:!0,next:{...e,state:{success:!0,value:!0},buffer:[`-${e.buffer[0].slice(2)}`,...e.buffer.slice(1)]},consumed:[e.buffer[0].slice(0,2)]};let a=e.buffer[0];if(r.errors?.noMatch){let t=new Set;for(let n of Se(e.usage))t.add(n);let n=Zn(a,t,Xn);return{success:!1,consumed:0,error:typeof r.errors.noMatch==`function`?r.errors.noMatch(a,n):r.errors.noMatch}}return{success:!1,consumed:0,error:tr(w`No matched option for ${E(a)}.`,a,e.usage,`option`)}},complete(e,t){return e==null?{success:!1,error:r.errors?.missing?typeof r.errors.missing==`function`?r.errors.missing(n):r.errors.missing:w`Required flag ${oe(n)} is missing.`}:e.success?{success:!0,value:!0}:{success:!1,error:w`${oe(n)}: ${e.error}`}},suggest(e,t){if(M(r.hidden))return[];let i=[];if(t.startsWith(`--`)||t.startsWith(`-`)||t.startsWith(`/`)||t.startsWith(`+`)){for(let e of n)if(e.startsWith(t)){if(t===`-`&&e.length!==2)continue;i.push({kind:`literal`,text:e})}}return i},getDocFragments(e,t){return be(r.hidden)?{fragments:[],description:r.description}:{fragments:[{type:`entry`,term:{type:`option`,names:n},description:r.description}],description:r.description}},[Symbol.for(`Deno.customInspect`)](){return`flag(${n.map(e=>JSON.stringify(e)).join(`, `)})`}};return Object.defineProperty(i,"placeholder",{value:!0,configurable:!0,enumerable:!1,writable:!1}),i}function da(e,t={}){let n=e.mode===`async`,r=e,i=mi(e),a=n=>t.errors?.invalidValue?typeof t.errors.invalidValue==`function`?t.errors.invalidValue(n):t.errors.invalidValue:w`${D(e.metavar)}: ${n}`,o=/^--?[a-z0-9-]+$/i,s={type:`argument`,metavar:e.metavar,...t.hidden!=null&&{hidden:t.hidden}},c={mode:e.mode,$valueType:[],$stateType:[],priority:5,usage:[s],leadingNames:Yi,acceptingAnyToken:!0,initialState:void 0,canSkip(e){return Zi(e)},parse(n){let i=kn(n.state);if(n.buffer.length<1)return{success:!1,consumed:0,error:t.errors?.endOfInput??w`Expected an argument, but got end of input.`};let a=0,s=n.optionsTerminated;if(!s){if(n.buffer[a]===`--`)s=!0,a++;else if(n.buffer[a].match(o))return{success:!1,consumed:a,error:w`Expected an argument, but got an option: ${E(n.buffer[a])}.`}}if(n.buffer.length<a+1)return{success:!1,consumed:a,error:w`Expected an argument, but got end of input.`};if(i!=null)return{success:!1,consumed:a,error:t.errors?.multiple?typeof t.errors.multiple==`function`?t.errors.multiple(e.metavar):t.errors.multiple:w`The argument ${D(e.metavar)} cannot be used multiple times.`};let c=n.buffer[a];return P(e.mode,()=>{let e=r.parse(c);return{success:!0,next:{...ea(n,$i(`argument-value`,c,n.buffer.slice(0,a+1),r,e)),buffer:n.buffer.slice(a+1),state:Qi(e),optionsTerminated:s},consumed:n.buffer.slice(0,a+1)}},async()=>{let t=await e.parse(c);return{success:!0,next:{...ea(n,$i(`argument-value`,c,n.buffer.slice(0,a+1),e,t)),buffer:n.buffer.slice(a+1),state:Qi(t),optionsTerminated:s},consumed:n.buffer.slice(0,a+1)}})},complete(n,r){let o={success:!1,error:t.errors?.endOfInput??w`Expected a ${D(e.metavar)}, but too few arguments.`},s=()=>{if(n==null)return o;let e=i?.derived==null?n:ta(i,n,r);return e.success?e:{success:!1,error:a(e.error)}};return P(e.mode,s,async()=>{if(n==null)return o;if(i?.derived==null)return s();let e=await na(i,n,r);return e.success?e:{success:!1,error:a(e.error)}})},suggest(r,i){return kn(r.state)==null?n?ca(e,M(t.hidden),i,r.dependencyRegistry,r.exec):sa(e,M(t.hidden),i,r.dependencyRegistry,r.exec):Ye(e.mode,function*(){},async function*(){})},getDocFragments(n,r){if(be(t.hidden))return{fragments:[],description:t.description};let i=e.choices!=null&&e.choices.length>0?ue(e.choices.map(t=>e.format(t)),{fallback:``,type:`unit`}):void 0;return{fragments:[{type:`entry`,term:s,description:t.description,default:r==null?void 0:w`${e.format(r)}`,choices:i}],description:t.description}},[Symbol.for(`Deno.customInspect`)](){return`argument()`}};if(typeof e.normalize==`function`){let t=e.normalize.bind(e);Object.defineProperty(c,"normalizeValue",{value(e){try{return t(e)}catch{return e}},configurable:!0,enumerable:!1})}if(!ot(e)){let t=e,n=e.mode,i=e=>e.success?e:{success:!1,error:a(e.error)};Object.defineProperty(c,"validateValue",{value(e){if(typeof t.validate==`function`)return F(n,i(t.validate(e)));let a;try{a=t.format(e)}catch{return F(n,{success:!0,value:e})}return typeof a==`string`?P(n,()=>i(r.parse(a)),async()=>i(await t.parse(a))):F(n,{success:!0,value:e})},configurable:!0,enumerable:!1})}return Object.defineProperty(c,"placeholder",{get(){try{return e.placeholder}catch{return}},configurable:!0,enumerable:!1}),i!=null&&Object.defineProperty(c,"dependencyMetadata",{value:i,configurable:!0,enumerable:!1}),c}function fa(e){return kn(e)}function pa(e,t,n){return Un(e,t,n)}function Q(e,t,n){return V(e,t,n)}function ma(e,t){return d(e,t)}function ha(e,t){if(e!=null)return{...e,commandPath:[...e.commandPath??[],t]}}function ga(e,t){return[e,..._a(t),...va(t)]}function _a(e){let t=e.aliases;if(t==null)return[];if(!ya(t))throw TypeError(`Command aliases must be a non-empty array of strings.`);return t}function va(e){let t=e[Kn];if(t==null)return[];if(!ya(t))throw TypeError(`Hidden command aliases must be a non-empty array of strings.`);return t}function ya(e){if(!Array.isArray(e)||e.length===0)return!1;for(let t=0;t<e.length;t++)if(typeof e[t]!=`string`)return!1;return!0}function ba(e){let t=new Set;for(let n of e){if(t.has(n))throw TypeError(`Command has a duplicate name: "${n}".`);t.add(n)}}function*xa(e,t,n,r,i,a){if(M(a.hidden))return;let o=fa(e.state);if(o===void 0)for(let e of[n,...r])e.startsWith(t)&&(yield{kind:`literal`,text:e,...a.description&&{description:a.description}});else o[0]===`matched`?yield*i.suggest(W(e,n,Q(e.state,i.initialState,i),i.usage),t):o[0]===`parsing`&&(yield*i.suggest(W(e,n,Q(e.state,o[1],i),i.usage),t))}async function*Sa(e,t,n,r,i,a){if(M(a.hidden))return;let o=fa(e.state);if(o===void 0)for(let e of[n,...r])e.startsWith(t)&&(yield{kind:`literal`,text:e,...a.description&&{description:a.description}});else if(o[0]===`matched`){let r=i.suggest(W(e,n,Q(e.state,i.initialState,i),i.usage),t);for await(let e of r)yield e}else if(o[0]===`parsing`){let r=i.suggest(W(e,n,Q(e.state,o[1],i),i.usage),t);for await(let e of r)yield e}}function Ca(e,t,n={}){let r=ga(e,n),i=_a(n),a=va(n);me(r,`Command`),ba(r);let o=t.mode===`async`,s=t,c=t,l={[Symbol.for(`@optique/core/commandParser`)]:!0,mode:t.mode,$valueType:[],$stateType:[],priority:15,usage:[{type:`command`,name:e,...i.length>0&&{aliases:i},...a.length>0&&{hiddenAliases:a},...n.usageLine!=null&&{usageLine:n.usageLine},...n.hidden!=null&&{hidden:n.hidden}},...t.usage],leadingNames:new Set(r),acceptingAnyToken:!1,initialState:void 0,canSkip(n,r){let i=fa(n);return i===void 0?!1:i[0]===`matched`?t.canSkip?.(Q(n,t.initialState,t),H(r,e))===!0:t.canSkip?.(Q(n,i[1],t),H(r,e))===!0},getSuggestRuntimeNodes(n,r){let i=fa(n);if(i===void 0)return[];let a=i[0]===`matched`?Q(n,t.initialState,t):Q(n,i[1],t),o=[...r,e];return t.getSuggestRuntimeNodes?.(a,o)??(t.dependencyMetadata?.source==null?[]:[{path:o,parser:t,state:a}])},parse(i){let a=fa(i.state);if(a===void 0){if(i.buffer.length<1||!r.includes(i.buffer[0])){let t=i.buffer.length>0?i.buffer[0]:null,r=ar(i.usage),a=t?Zn(t,r,Xn):[],o=$n(i.usage,a);if(n.errors?.notMatched){let r=n.errors.notMatched;return{success:!1,consumed:0,error:typeof r==`function`?r(e,t,o):r}}if(t==null)return{success:!1,consumed:0,error:w`Expected command ${E(e)}, but got end of input.`};let s=w`Expected command ${E(e)}, but got ${t}.`,c=Qn(o);return{success:!1,consumed:0,error:c.length>0?[...s,T(`
43
43
 
44
44
  `),...c]:s}}return{success:!0,next:{...i,buffer:i.buffer.slice(1),state:ma(i.state,[`matched`,e]),...i.exec==null?{}:{exec:ha(i.exec,e)}},consumed:i.buffer.slice(0,1)}}else if(a[0]===`matched`||a[0]===`parsing`){let n=a[0]===`matched`?pa(i.state,t.initialState,t):pa(i.state,a[1],t),r=e=>{if(e.success){let t=U(i.exec,e.next.exec);return{success:!0,next:{...e.next,state:ma(i.state,[`parsing`,e.next.state]),...t==null?{}:{exec:t,dependencyRegistry:t.dependencyRegistry}},consumed:e.consumed}}return e};return P(t.mode,()=>r(s.parse(W(i,e,n,t.usage))),async()=>r(await t.parse(W(i,e,n,t.usage))))}return{success:!1,consumed:0,error:n.errors?.invalidState??w`Invalid command state.`}},complete(r,i){let a=fa(r);if(a===void 0)return{success:!1,error:n.errors?.notFound??w`Command ${E(e)} was not matched.`};if(a[0]===`matched`){let n=H(i,e),a={buffer:[],optionsTerminated:!1,usage:t.usage,state:pa(r,t.initialState,t),...n==null?{}:{exec:n,trace:n.trace,dependencyRegistry:n.dependencyRegistry}};return P(t.mode,()=>{let e=s.parse(a),i=e.success?U(n,e.next.exec):n;return s.complete(e.success?Q(r,e.next.state,t):Q(r,s.initialState,t),i)},async()=>{let e=await c.parse(a),i=e.success?U(n,e.next.exec):n;return c.complete(e.success?Q(r,e.next.state,t):Q(r,t.initialState,t),i)})}else if(a[0]===`parsing`){let n=H(i,e);return P(t.mode,()=>s.complete(Q(r,a[1],t),n),async()=>await c.complete(Q(r,a[1],t),n))}return{success:!1,error:n.errors?.invalidState??w`Invalid command state during completion.`}},[qn](n,r){let i=fa(n);if(i===void 0)return F(t.mode,null);if(i[0]===`matched`){let i=H(r,e),a={buffer:[],optionsTerminated:!1,usage:t.usage,state:pa(n,t.initialState,t),...i==null?{}:{exec:i,trace:i.trace,dependencyRegistry:i.dependencyRegistry}};return P(t.mode,()=>{let e=s.parse(a),r=e.success?U(i,e.next.exec):i;return K(s,e.success?Q(n,e.next.state,t):Q(n,s.initialState,t),r)},async()=>{let e=await c.parse(a),r=e.success?U(i,e.next.exec):i;return await K(c,e.success?Q(n,e.next.state,t):Q(n,t.initialState,t),r)})}return i[0]===`parsing`?K(t,Q(n,i[1],t),H(r,e)):F(t.mode,null)},suggest(r,a){return o?Sa(r,a,e,i,t,n):xa(r,a,e,i,t,n)},getDocFragments(r,i){let a=r.kind===`available`?fa(r.state):void 0;if(r.kind===`unavailable`||a===void 0)return be(n.hidden)?{fragments:[],description:n.description}:{description:n.description,fragments:[{type:`entry`,term:{type:`command`,name:e},description:n.brief??n.description}]};let o=a[0]===`parsing`?{kind:`available`,state:Q(r.state,a[1],t)}:{kind:`available`,state:Q(r.state,t.initialState,t)},s=t.getDocFragments(o,i);return{...s,brief:s.brief??n.brief,description:s.description??n.description,footer:s.footer??n.footer}},[Symbol.for(`Deno.customInspect`)](){return`command(${JSON.stringify(e)})`}};return typeof t.normalizeValue==`function`&&Object.defineProperty(l,"normalizeValue",{value:t.normalizeValue.bind(t),configurable:!0,enumerable:!1}),typeof t.validateValue==`function`&&Object.defineProperty(l,"validateValue",{value:t.validateValue.bind(t),configurable:!0,enumerable:!1}),l}const wa=/^[a-zA-Z0-9_][a-zA-Z0-9_.-]*$/;function Ta(e){if(!wa.test(e))throw Error(`Invalid program name for shell completion: "${e}". Program names must start with an alphanumeric character or underscore, and contain only alphanumeric characters, underscores, hyphens, and dots.`)}function Ea(e){return e.replace(/%/g,`%25`).replace(/:/g,`%3A`)}function Da(e){return e?.map(e=>e.replace(/^\./,``)).join(`,`)??``}function $(e){return e.replace(/[\t\n\r\0]/g,` `)}const Oa={name:`bash`,generateScript(e,t=[]){return Ta(e),`
45
45
  function _${e} () {
@@ -1145,7 +1145,7 @@ ${n?` \$completionArgs += @(${n})
1145
1145
  `),n.kind===`literal`){let e=n.description==null?``:$(k(n.description,{colors:!1})),t=$(n.text);yield`${t}\t${t}\t${e}`}else{let e=Da(n.extensions),t=n.includeHidden?`1`:`0`,r=n.description==null?``:$(k(n.description,{colors:!1})),i=Ea(n.pattern??``);yield`__FILE__:${n.type}:${e}:${i}:${t}\t[file]\t${r}`}t++}}};function Na(...e){let t={[Gn]:!0};return Xr(...e,t)}const Pa=typeof SuppressedError==`function`?SuppressedError:(()=>{class e extends Error{error;suppressed;constructor(e,t,n){super(n),this.name=`SuppressedError`,this.error=e,this.suppressed=t}}return e})();function Fa(e){let t=Object.getPrototypeOf(e);return t===Object.prototype||t===null}function Ia(e,t,n){if(!t)return e;if(!(n!=null&&n.size===0&&typeof e==`object`&&e)&&!(n!=null&&n.size>0&&typeof e==`object`&&e&&!Fa(e)&&!Array.isArray(e))){if(n!=null&&n.size>0&&typeof e==`object`&&e&&(Fa(e)||Array.isArray(e))){let t=e=>{let t=n.get(e);if(t!==void 0)return t;if(typeof e==`string`){let t=Number(e);if(Number.isInteger(t))return n.get(t)}else if(typeof e==`number`)return n.get(String(e))},r=Reflect.ownKeys(e),i=!1;for(let e of r)if(t(e)!==void 0){i=!0;break}if(i){let n=Array.isArray(e),i=!0;for(let a of r){if(n&&a===`length`)continue;let r=Object.getOwnPropertyDescriptor(e,a);if(r!=null&&`value`in r&&t(a)===void 0){i=!1;break}}if(i)return;let a=n?Array(e.length):Object.create(Object.getPrototypeOf(e));for(let n of r){let r=Object.getOwnPropertyDescriptor(e,n);if(r==null)continue;let i=t(n);`value`in r&&i!==void 0?i===null?Object.defineProperty(a,n,{...r,value:void 0}):Object.defineProperty(a,n,{...r,value:Ia(r.value,!0,i)}):Object.defineProperty(a,n,r)}return a}return}if(!(typeof e!=`object`||!e))return e}}function La(e,t){return t.length>0&&t.length===e.length&&t.every((t,n)=>t===e[n])}function Ra(e,t,n){return{remainingArgs:t.slice(n),consumedCount:e.length-t.length+n}}function za(e){return{usage:e.usage,phase:`parse`,path:[],commandPath:[],trace:Ct()}}function Ba(e){return e?.commandPath??[]}function Va(e,t){let n=R();return{...e,phase:`complete`,dependencyRuntime:n,dependencyRegistry:n.registry,commandPath:Ba(t.exec)??e.commandPath,trace:t.exec?.trace??t.trace??e.trace}}function Ha(e,t,n=`complete`){let r=g(e.initialState),i=za(e),a=Dt({buffer:t,state:e.initialState,optionsTerminated:!1},i);do{let n=e.parse(a);if(!n.success){let e=Ra(t,a.buffer,n.consumed);return{kind:`failure`,error:n.error,remainingArgs:e.remainingArgs,consumedCount:e.consumedCount,optionsTerminated:a.optionsTerminated,commandPath:Ba(a.exec)}}let r=a.buffer;if(a=n.next,La(r,a.buffer)){let e=Ra(t,r,n.consumed.length);return{kind:`failure`,error:w`Unexpected option or argument: ${a.buffer[0]}.`,remainingArgs:e.remainingArgs,consumedCount:e.consumedCount,optionsTerminated:a.optionsTerminated,commandPath:Ba(a.exec)}}}while(a.buffer.length>0);if(n===`parse-only`)return{kind:`success`,value:void 0};let o=e.complete(a.state,Va(i,a));return o.success?{kind:`success`,value:r?h(o.value):o.value}:{kind:`failure`,error:o.error,remainingArgs:[],consumedCount:t.length,optionsTerminated:a.optionsTerminated,commandPath:Ba(a.exec)}}async function Ua(e,t,n=`complete`){let r=g(e.initialState),i=za(e),a=Dt({buffer:t,state:e.initialState,optionsTerminated:!1},i);do{let n=await e.parse(a);if(!n.success){let e=Ra(t,a.buffer,n.consumed);return{kind:`failure`,error:n.error,remainingArgs:e.remainingArgs,consumedCount:e.consumedCount,optionsTerminated:a.optionsTerminated,commandPath:Ba(a.exec)}}let r=a.buffer;if(a=n.next,La(r,a.buffer)){let e=Ra(t,r,n.consumed.length);return{kind:`failure`,error:w`Unexpected option or argument: ${a.buffer[0]}.`,remainingArgs:e.remainingArgs,consumedCount:e.consumedCount,optionsTerminated:a.optionsTerminated,commandPath:Ba(a.exec)}}}while(a.buffer.length>0);if(n===`parse-only`)return{kind:`success`,value:void 0};let o=await e.complete(a.state,Va(i,a));return o.success?{kind:`success`,value:r?h(o.value):o.value}:{kind:`failure`,error:o.error,remainingArgs:[],consumedCount:t.length,optionsTerminated:a.optionsTerminated,commandPath:Ba(a.exec)}}function Wa(e,t){let n={usage:e.usage,phase:`parse`,path:[],commandPath:[],trace:Ct()},r=R();return{...n,phase:`complete`,dependencyRuntime:r,dependencyRegistry:r.registry,commandPath:Ba(t.exec),trace:t.exec?.trace??t.trace??n.trace}}function Ga(e,t){let n={usage:e.usage,phase:`parse`,path:[],commandPath:[],trace:Ct()};return Dt({buffer:t,state:e.initialState,optionsTerminated:!1},n)}function Ka(e,t){let n=Ga(e,t);do{let t=e.parse(n);if(!t.success)return K(e,n.state,Wa(e,n));let r=n.buffer;if(n=t.next,La(r,n.buffer))return K(e,n.state,Wa(e,n))}while(n.buffer.length>0);return K(e,n.state,Wa(e,n))}async function qa(e,t){let n=Ga(e,t);do{let t=await e.parse(n);if(!t.success)return await K(e,n.state,Wa(e,n));let r=n.buffer;if(n=t.next,La(r,n.buffer))return await K(e,n.state,Wa(e,n))}while(n.buffer.length>0);return await K(e,n.state,Wa(e,n))}function Ja(e){let[,t,...n]=e;return t==null?void 0:[t,...n]}function Ya(e,t){let n=null,r=null;if(e){let t=e.names??[`help`],r=Hi(da(Gi({metavar:`COMMAND`}),{description:w`Command name to show help for.`})),i=Ja(t);n=Ca(t[0],r,{description:w`Show help information.`,...i==null?{}:{[Kn]:i},hidden:e.hidden})}return t&&(r=ua(...t.names??[`--help`],{description:w`Show help information.`,hidden:t.hidden})),{helpCommand:n,helpOption:r}}function Xa(e,t){let n=null,r=null;if(e){let t=e.names??[`version`],r=di({}),i=Ja(t);n=Ca(t[0],r,{description:w`Show version information.`,...i==null?{}:{[Kn]:i},hidden:e.hidden})}return t&&(r=ua(...t.names??[`--version`],{description:w`Show version information.`,hidden:t.hidden})),{versionCommand:n,versionOption:r}}const Za=Symbol(`@optique/core/facade/meta`);function Qa(e,t,n,r){let i=null,a=null,o=[];for(let e in t)o.length>0&&o.push(T(`, `)),o.push(O(e));let s=di({shell:zi(da(Gi({metavar:`SHELL`}),{description:w`Shell type (${o}). Generate completion script when used alone, or provide completions when followed by arguments.`})),args:Hi(da(Gi({metavar:`ARG`}),{description:w`Command line arguments for completion suggestions (used by shell integration; you usually don't need to provide this).`}))});if(n){let t=n.names??[`completion`],r=t[0],a={brief:w`Generate shell completion script or provide completions.`,description:w`Generate shell completion script or provide completions.`,footer:w`Examples:${le()} Bash: ${ce(`eval "$(${e} ${r} bash)"`)}${le()} zsh: ${ce(`eval "$(${e} ${r} zsh)"`)}${le()} fish: ${ce(`eval "$(${e} ${r} fish)"`)}${le()} PowerShell: ${ce(`${e} ${r} pwsh > ${e}-completion.ps1; . ./${e}-completion.ps1`)}${le()} Nushell: ${ce(`${e} ${r} nu | save ${e}-completion.nu; source ./${e}-completion.nu`)}`},o=Ja(t);i=Ca(t[0],s,{...a,...o==null?{}:{[Kn]:o},hidden:n.hidden})}if(r){let e=r.names??[`--completion`],t=[];for(let n of e)t.push(la(n,Gi({metavar:`SHELL`}),{description:w`Generate shell completion script.`,hidden:r.hidden}));a=di({shell:t.length===1?t[0]:Xr(...t),args:Vi(Hi(da(Gi({metavar:`ARG`}),{description:w`Command line arguments for completion suggestions (used by shell integration; you usually don't need to provide this).`})),[])})}return{completionCommand:i,completionOption:a}}function $a(e){return{mode:`sync`,$valueType:[],$stateType:[],priority:200,usage:e.usage,leadingNames:e.leadingNames,acceptingAnyToken:!1,initialState:null,parse:()=>({success:!1,error:w`Documentation-only meta option.`,consumed:0}),complete:e=>({success:!0,value:e}),suggest:function*(){},getDocFragments:(t,n)=>e.getDocFragments({kind:`available`,state:e.initialState},n)}}function eo(e,t,n,r,i){let a=[];if(t.helpOption){let e=$a(t.helpOption),n=i?.helpOptionGroup?pi(i.helpOptionGroup,e):e;a.push(n)}if(n.versionOption){let e=$a(n.versionOption),t=i?.versionOptionGroup?pi(i.versionOptionGroup,e):e;a.push(t)}if(n.versionCommand){let e=di({[Za]:Z(!0),help:Z(!1),version:Z(!0),completion:Z(!1),result:n.versionCommand,helpFlag:t.helpOption?zi(t.helpOption):Z(!1)});a.push(i?.versionCommandGroup?pi(i.versionCommandGroup,e):e)}if(r.completionCommand){let e=di({[Za]:Z(!0),help:Z(!1),version:Z(!1),completion:Z(!0),completionData:r.completionCommand,helpFlag:t.helpOption?zi(t.helpOption):Z(!1)});a.push(i?.completionCommandGroup?pi(i.completionCommandGroup,e):e)}if(t.helpCommand){let e=di({[Za]:Z(!0),help:Z(!0),version:Z(!1),completion:Z(!1),commands:t.helpCommand});a.push(i?.helpCommandGroup?pi(i.helpCommandGroup,e):e)}a.push(di({[Za]:Z(!0),help:Z(!1),version:Z(!1),completion:Z(!1),result:e}));let o=a.length-1;if(a.length===1)return a[0];let s=Na(...a),c=s.usage[0];if(c?.type===`exclusive`&&o>0){let e=[...c.terms],[r]=e.splice(o,1),i=+!!t.helpOption+ +!!n.versionOption;e.splice(i,0,r),s={...s,usage:[{...c,terms:e}]}}return s}function to(e,t,n,r,i){let a;for(let o=0;o<e.length;o++){let s=e[o];n.includes(s)?a={index:o,kind:`help`}:r.includes(s)&&(a={index:o,kind:`version`});let c=i.find(e=>s.startsWith(e+`=`));if(c!=null)return{lastHelpVersion:a,completion:{index:o,shell:s.slice(c.length+1),args:t.slice(o+1)}};if(i.includes(s)){let n=e[o+1]??``;return{lastHelpVersion:a,completion:{index:o,shell:n,args:n===``?[]:t.slice(o+2)}}}}return{lastHelpVersion:a}}function no(e,t,n){let r=[...e];for(let e=0;e<n;e++){let n=t[e];n.startsWith(`-`)||r.push(n)}return r}function ro(e,t,n,r,i,a,o){if(e.remainingArgs.length<1)return{type:`error`,error:e.error};let s=e.consumedCount>0,c=e.remainingArgs[0];if(!s&&o.includes(c)){let n=e.remainingArgs[1];return t.includes(n)?{type:`help`,commands:[c]}:{type:`completion`,source:`command`,shell:n??``,args:e.remainingArgs.slice(2)}}let{lastHelpVersion:l,completion:u}=to(e.optionsTerminated?[]:(()=>{let t=e.remainingArgs.indexOf(`--`);return t>=0?e.remainingArgs.slice(0,t):e.remainingArgs})(),e.remainingArgs,t,r,a);if(!s&&i.includes(c)){let n=e.remainingArgs[1];if(t.includes(n))return{type:`help`,commands:[c]};let r=u?.index===1;return n==null||r||l?.index===1&&l.kind===`version`?{type:`version`}:{type:`error`,error:e.error}}let d;!s&&n.includes(c)&&(d={index:0,kind:`help`});let f=l==null?d:d==null||l.index>=d.index?l:d;return f?.kind===`help`?f===d?{type:`help`,commands:e.remainingArgs.slice(1)}:{type:`help`,commands:no(e.commandPath,e.remainingArgs,f.index),preferUserCommandDocs:e.commandPath.length>0}:f?.kind===`version`?{type:`version`}:u==null?{type:`error`,error:e.error}:{type:`completion`,source:`option`,shell:u.shell,commandPath:e.commandPath,args:u.args}}function io(e,t,n,r,i,a,o,s,c,l,u,d,f,p,m,h=[]){let g=e[0]||``,_=e.slice(1),v=e=>s(e),y=e=>o(e);if(!g){if(a(`Error: Missing shell name for completion.
1146
1146
  `),r){let e=Bt(r,[p?f??`--completion`:d??`completion`]);e&&a(Ue(t,e,{colors:l,maxWidth:u,sectionOrder:m}))}return P(n.mode,()=>{let e=v(1);if(e instanceof Promise)throw new Do(`Synchronous parser returned async result.`);return e},async()=>v(1))}let b=c[g];if(!b){let e=[];for(let t in c)e.length>0&&e.push(T(`, `)),e.push(O(t));return a(k(w`Error: Unsupported shell ${g}. Available shells: ${e}.`,{colors:l,quotes:!l})),P(n.mode,()=>{let e=v(1);if(e instanceof Promise)throw new Do(`Synchronous parser returned async result.`);return e},async()=>v(1))}if(_.length===0){let e=p?f??`--completion`:d??`completion`;return i(b.generateScript(t,[e,g])),P(n.mode,()=>{let e=y(0);if(e instanceof Promise)throw new Do(`Synchronous parser returned async result.`);return e},async()=>y(0))}return P(n.mode,()=>{let e=oo(n,_,h),t=ao(e.suggestions,_,h,e.argumentContext);for(let e of b.encodeSuggestions(t))i(e);let r=y(0);if(r instanceof Promise)throw new Do(`Synchronous parser returned async result.`);return r},async()=>{let e=await so(n,_,h);for(let t of b.encodeSuggestions(ao(e.suggestions,_,h,e.argumentContext)))i(t);return y(0)})}function ao(e,t,n,r){if(n.length===0)return e;let i=t.at(-1)??``;if(r.optionsTerminated||r.completingOptionValue||r.completedRootOption||!(i===``||i.startsWith(`--`)||i.startsWith(`-`)||i.startsWith(`/`)||i.startsWith(`+`)))return e;let a=new Set(e.flatMap(e=>e.kind===`literal`?[e.text]:[])),o=[...e];for(let e of n)i===`-`&&e.text.startsWith(`--`)||i!==``&&!e.text.startsWith(i)||a.has(e.text)||(o.push(e),a.add(e.text));return o}function oo(e,t,n){let r=t.at(-1)??``,i=mo(e,t.slice(0,-1));for(;i.buffer.length>0;){let t=e.parse(i);if(t instanceof Promise)throw new Do(`Synchronous parser returned async result.`);if(!t.success){let a=ho(t,i,e,n);return{suggestions:Array.from(e.suggest(lo(e,i),r)),argumentContext:a}}let a=i.buffer;if(i=t.next,go(a,i.buffer))return{suggestions:[],argumentContext:co(i)}}return{suggestions:Array.from(e.suggest(lo(e,i),r)),argumentContext:co(i)}}async function so(e,t,n){let r=t.at(-1)??``,i=mo(e,t.slice(0,-1));for(;i.buffer.length>0;){let t=await e.parse(i);if(!t.success){let a=ho(t,i,e,n),o=[],s=await uo(e,i);for await(let t of e.suggest(s,r))o.push(t);return{suggestions:o,argumentContext:a}}let a=i.buffer;if(i=t.next,go(a,i.buffer))return{suggestions:[],argumentContext:co(i)}}let a=[],o=await uo(e,i);for await(let t of e.suggest(o,r))a.push(t);return{suggestions:a,argumentContext:co(i)}}function co(e){return{completingOptionValue:!1,completedRootOption:!1,optionsTerminated:e.optionsTerminated}}function lo(e,t){let n=R(),r=po(e,t.state,t.exec?.path??[]);return r.length>0&&ln(r,n),fo(t,n)}async function uo(e,t){let n=R(),r=po(e,t.state,t.exec?.path??[]);return r.length>0&&await fn(r,n),fo(t,n)}function fo(e,t){return{...e,dependencyRegistry:t.registry,exec:e.exec?{...e.exec,dependencyRuntime:t,dependencyRegistry:t.registry}:void 0}}function po(e,t,n){return typeof e.getSuggestRuntimeNodes==`function`?e.getSuggestRuntimeNodes(t,n):e.dependencyMetadata?.source==null?[]:[{path:n,parser:e,state:t}]}function mo(e,t){return Dt({buffer:t,state:e.initialState,optionsTerminated:!1},{usage:e.usage,phase:`suggest`,path:[],trace:Ct()})}function ho(e,t,n,r){let i=_o(n.usage,t.exec?.commandPath??[],e.consumed>0,n.leadingNames),a=t.buffer[0];return{completingOptionValue:(e.consumed===0||e.consumed===1)&&i.has(a),completedRootOption:e.consumed===0&&xo(a,r),optionsTerminated:t.optionsTerminated}}function go(e,t){return e.length===t.length&&e.every((e,n)=>e===t[n])}function _o(e,t,n,r){let i={value:new Set,flag:new Set};if(t.length===0)return vo(e,i,r),i.value;bo(e,t,i,!1,n);let a=new Set(i.value);for(let e of i.flag)a.delete(e);return a}function vo(e,t,n){for(let r of e)yo(r,t,n)}function yo(e,t,n){switch(e.type){case`option`:for(let r of e.names)n.has(r)&&(e.metavar==null?t.flag.add(r):t.value.add(r));return;case`optional`:case`multiple`:case`sequence`:vo(e.terms,t,n);return;case`exclusive`:for(let r of e.terms)vo(r,t,n);return;case`argument`:case`command`:case`literal`:case`passthrough`:case`ellipsis`:return}}function bo(e,t,n,r,i){if(t.length===0){So(e,n,!1);return}let[a,...o]=t;for(let s=0;s<e.length;s++){let c=e[s];if(c.type===`command`&&c.name===a){let t=e.slice(s+1);o.length===0?So(t,n,!r&&i):bo(t,o,n,r,i)}else if(c.type===`exclusive`)for(let e of c.terms)bo(e,t,n,!0,i);else(c.type===`optional`||c.type===`multiple`||c.type===`sequence`)&&bo(c.terms,t,n,r,i)}}function xo(e,t){return e!=null&&t.some(t=>e===t.text||e.startsWith(`${t.text}=`))}function So(e,t,n){for(let r of e)if(Co(r,t,n))return}function Co(e,t,n){switch(e.type){case`command`:return!n;case`option`:if(e.metavar!=null)for(let n of e.names)t.value.add(n);else for(let n of e.names)t.flag.add(n);return!1;case`optional`:case`multiple`:case`sequence`:return So(e.terms,t,n),!1;case`exclusive`:for(let n of e.terms)So(n,t,!1);return!1;case`argument`:case`literal`:case`passthrough`:case`ellipsis`:return!1}}function wo(e,t,n,r){let i=[];return e!=null&&!M(e.hidden)&&i.push(...t.map(e=>({kind:`literal`,text:e}))),n!=null&&!M(n.hidden)&&i.push(...r.map(e=>({kind:`literal`,text:e}))),i}function To(e){if(typeof e!=`string`)throw TypeError(`Expected version value to be a string, but got ${Array.isArray(e)?`array`:typeof e}.`);if(e===``)throw TypeError(`Version value must not be empty.`);if(/[\x00-\x1f\x7f]/.test(e))throw TypeError(`Version value must not contain control characters.`);return e}function Eo(e,t,n,r){let i=typeof t!=`string`,a,o,s,c;if(i){let r=e;a=r.parser,o=r.metadata.name,s=t,c=n??{},c={...c,brief:c.brief??r.metadata.brief,description:c.description??r.metadata.description,examples:c.examples??r.metadata.examples,author:c.author??r.metadata.author,bugs:c.bugs??r.metadata.bugs,footer:c.footer??r.metadata.footer}}else a=e,o=t,s=n,c=r??{};_e(o);let{colors:l,maxWidth:u,showDefault:d,showChoices:f,sectionOrder:p,aboveError:m=`usage`,onError:h=()=>{throw new Do(`Failed to parse command line arguments.`)},stderr:g=console.error,stdout:_=console.log,brief:v,description:y,examples:b,author:ee,bugs:te,footer:ne}=c,re=e=>e===!0?{}:e,x=re(c.help?.command),S=re(c.help?.option),ie=c.help?.onShow??(()=>({})),ae=re(c.version?.command),C=re(c.version?.option),T=c.version?To(c.version.value):void 0,oe=c.version?.onShow??(()=>({})),D=re(c.completion?.command),O=re(c.completion?.option),se=c.completion?.onShow??(()=>({})),ce=e=>se(e),le=e=>h(e);S?.names&&pe(S.names,`Help option`),x?.names&&me(x.names,`Help command`),C?.names&&pe(C.names,`Version option`),ae?.names&&me(ae.names,`Version command`),O?.names&&pe(O.names,`Completion option`),D?.names&&me(D.names,`Completion command`);let ue=S?.names??[`--help`],de=x?.names??[`help`],fe=C?.names??[`--version`],A=ae?.names??[`version`],ge=D?.names??[`completion`],ve=O?.names??[`--completion`],ye=wo(S,ue,C,fe),j=[];c.help&&S&&j.push([`option`,`help option`,ue]),c.help&&x&&j.push([`command`,`help command`,de]),c.version&&C&&j.push([`option`,`version option`,fe]),c.version&&ae&&j.push([`command`,`version command`,A]),c.completion&&O&&j.push([`option`,`completion option`,ve,!0]),c.completion&&D&&j.push([`command`,`completion command`,ge]),he(j);let be={bash:Oa,fish:Aa,nu:ja,pwsh:Ma,zsh:ka},M=c.completion?.shells?{...be,...c.completion.shells}:be,xe=c.help?Ya(x,S):{helpCommand:null,helpOption:null},Se=c.version?Xa(ae,C):{versionCommand:null,versionOption:null},N=c.completion?Qa(o,M,D,O):{completionCommand:null,completionOption:null},Ce=!c.help&&!c.version&&!c.completion?a:eo(a,xe,Se,N,{helpCommandGroup:x?.group,helpOptionGroup:S?.group,versionCommandGroup:ae?.group,versionOptionGroup:C?.group,completionCommandGroup:D?.group,completionOptionGroup:O?.group}),Te=e=>{switch(e.type){case`success`:return e.value;case`version`:return _(T),oe(0);case`completion`:return io([e.shell,...e.commandPath??[],...e.args],o,a,e.source===`command`?N.completionCommand:N.completionOption,_,g,ce,le,M,l,u,ge[0],ve[0],e.source===`option`,p,ye);case`help`:{let t,n,r=x!=null,i=ae!=null,s=D!=null,c=S!=null,m=C!=null,re=O!=null,T=e.commands[0];if(T!=null&&!e.preferUserCommandDocs&&ge.includes(T)&&s&&N.completionCommand)t=N.completionCommand,n=t;else if(T!=null&&!e.preferUserCommandDocs&&de.includes(T)&&r&&xe.helpCommand)t=xe.helpCommand,n=t;else if(T!=null&&!e.preferUserCommandDocs&&A.includes(T)&&i&&Se.versionCommand)t=Se.versionCommand,n=t;else{let o=[a],l={},u=[],d=(e,t)=>{t?(l[t]??=[]).push(e):u.push(e)};r&&xe.helpCommand&&d(xe.helpCommand,x?.group),i&&Se.versionCommand&&d(Se.versionCommand,ae?.group),s&&N.completionCommand&&d(N.completionCommand,D?.group),o.push(...u);for(let[e,t]of Object.entries(l))t.length===1?o.push(pi(e,t[0])):o.push(pi(e,Xr(...t)));let f={},p=[],h=(e,t)=>{t?(f[t]??=[]).push(e):p.push(e)};c&&xe.helpOption&&h(xe.helpOption,S?.group),m&&Se.versionOption&&h(Se.versionOption,C?.group),re&&N.completionOption&&h(N.completionOption,O?.group),o.push(...p);for(let[e,t]of Object.entries(f))t.length===1?o.push(pi(e,t[0])):o.push(pi(e,Xr(...t)));t=o.length===1?o[0]:Na(...o),n=e.commands.length>0?a:t}let oe=e=>{g(`Usage: ${Oo(we(o,Ce.usage,{colors:l,maxWidth:u==null?void 0:u-7,expandCommands:!0}),7)}`);let t=k(e,{colors:l,quotes:!l});return g(`Error: ${t}`),h(1)},se=t=>{if(t!=null){let n=T!=null&&ge.includes(T)||T!=null&&de.includes(T)||T!=null&&A.includes(T),r=e.commands.length>0,i=!r,a=!n&&!r,s={...t,brief:a?v??t.brief:t.brief,description:a?y??t.description:t.description,examples:i&&!n?b??t.examples:void 0,author:i&&!n?ee??t.author:void 0,bugs:i&&!n?te??t.bugs:void 0,footer:a?ne??t.footer:t.footer??ne};_(Ue(o,s,{colors:l,maxWidth:u,showDefault:d,showChoices:f,sectionOrder:p}))}return ie(0)};if(e.commands.length>0){let r={buffer:[...e.commands],optionsTerminated:!1,state:t.initialState,usage:t.usage},i=e=>e.success?e.consumed.length<1?w`Unexpected option or subcommand: ${E(r.buffer[0])}.`:(r={...r,buffer:e.next.buffer,optionsTerminated:e.next.optionsTerminated,state:e.next.state,usage:e.next.usage??r.usage},r.buffer.length>0?`continue`:null):e.error,a=`continue`;for(;a===`continue`;){let o=t.parse(r);if(o instanceof Promise)return o.then(async a=>{let o=i(a);for(;o===`continue`;){let e=t.parse(r),n=e instanceof Promise?await e:e;o=i(n)}if(o!=null)return oe(o);let s=Bt(n,e.commands);return s instanceof Promise?s.then(se):se(s)});a=i(o)}if(a!=null)return oe(a)}let ce=Bt(n,e.commands);return ce instanceof Promise?ce.then(se):se(ce)}case`error`:{let t=(t,n)=>{let r=n;if(r===`help`)if(t==null)r=`usage`;else{let e={...t,brief:v??t.brief,description:y??t.description,examples:b??t.examples,author:ee??t.author,bugs:te??t.bugs,footer:ne??t.footer};g(Ue(o,e,{colors:l,maxWidth:u,showDefault:d,showChoices:f}))}r===`usage`&&g(`Usage: ${Oo(we(o,Ce.usage,{colors:l,maxWidth:u==null?void 0:u-7,expandCommands:!0}),7)}`);let i=k(e.error,{colors:l,quotes:!l});return g(`Error: ${i}`),h(1)};if(m===`help`){let e=Bt(s.length<1?Ce:a,s);return e instanceof Promise?e.then(e=>t(e,m)):t(e,m)}return t(void 0,m)}default:throw new Do(`Unexpected parse result type`)}},Ee=a.mode;return P(Ee,()=>{let e=Ha(a,s),t=e.kind===`success`?{type:`success`,value:e.value}:ro(e,S?[...ue]:[],x?[...de]:[],C?[...fe]:[],ae?[...A]:[],O?[...ve]:[],D?[...ge]:[]),n=Te(t);if(n instanceof Promise)throw new Do(`Synchronous parser returned async result.`);return n},async()=>{let e=await Ua(a,s),t=e.kind===`success`?{type:`success`,value:e.value}:ro(e,S?[...ue]:[],x?[...de]:[],C?[...fe]:[],ae?[...A]:[],O?[...ve]:[],D?[...ge]:[]),n=Te(t);return n instanceof Promise?await n:n})}var Do=class extends Error{constructor(e){super(e),this.name=`RunParserError`}};function Oo(e,t){return e.split(`
1147
1147
  `).join(`
1148
- `+` `.repeat(t))}function ko(e){return e.type===`help`||e.type===`version`||e.type===`completion`}function Ao(e,t){let n=e=>e===!0?{}:e,r=n(t.help?.option),i=n(t.help?.command),a=n(t.version?.option),o=n(t.version?.command),s=n(t.completion?.option),c=n(t.completion?.command);return ro(e,r?[...r.names??[`--help`]]:[],i?[...i.names??[`help`]]:[],a?[...a.names??[`--version`]]:[],o?[...o.names??[`version`]]:[],s?[...s.names??[`--completion`]]:[],c?[...c.names??[`completion`]]:[])}function jo(e,t){return t&&(e.help!=null||e.version!=null||e.completion!=null)}async function Mo(e,t,n){let r=await Ua(e,t,`parse-only`);return r.kind===`success`?!1:ko(Ao(r,n))}function No(e){let t={};for(let n=e.length-1;n>=0;n--){let r=e[n];for(let e of Object.getOwnPropertySymbols(r))t[e]=r[e]}return t}function Po(e){for(let t of e){let e=t.phase;if(e!==`single-pass`&&e!==`two-pass`)throw TypeError(`Context ${String(t.id)} must declare phase as "single-pass" or "two-pass".`)}}async function Fo(e,t){let n=[],r;for(let i of e){let e={phase:`phase1`},a=i.getAnnotations(e,t),o=a instanceof Promise?await a:a,s=i.getInternalAnnotations?.(e,o),c=s==null?o:No([o,s]);n.push(c),r==null?i.phase===`two-pass`&&(r=[...n]):r.push(c)}return{annotations:No(n),needsTwoPhase:r!=null,snapshots:r??[]}}async function Io(e,t,n,r,i,a){let o=[],s=Ia(n,i,a);for(let n=0;n<e.length;n++){let i=e[n];if(i.phase===`single-pass`){o.push(t[n]);continue}let a={phase:`phase2`,parsed:s},c=i.getAnnotations(a,r),l=c instanceof Promise?await c:c,u=i.getInternalAnnotations?.(a,l),d=u==null?l:No([l,u]);o.push(d)}return{annotations:No(o)}}async function Lo(e){let t=[];for(let n of e)try{Symbol.asyncDispose in n&&typeof n[Symbol.asyncDispose]==`function`?await n[Symbol.asyncDispose]():Symbol.dispose in n&&typeof n[Symbol.dispose]==`function`&&n[Symbol.dispose]()}catch(e){t.push(e)}if(t.length===1)throw t[0];if(t.length>1)throw AggregateError(t,`Failed to dispose one or more source contexts.`)}async function Ro(e,t,n,r,i){ye(n),Po(n);let a=i.contextOptions,{annotations:o,needsTwoPhase:s,snapshots:c}=await Fo(n,a);if(jo(i,s)){let n=Bo(e,o);if(await Mo(n,r,i))return e.mode===`async`?Eo(n,t,r,i):Promise.resolve(Eo(n,t,r,i))}let l=Bo(e,o);if(!s)return e.mode===`async`?Eo(l,t,r,i):Promise.resolve(Eo(l,t,r,i));let u=await P(e.mode,()=>Ka(l,r),()=>qa(l,r));if(u==null){let n=Bo(e,o);return e.mode===`async`?Eo(n,t,r,i):Promise.resolve(Eo(n,t,r,i))}let{annotations:d}=await Io(n,c,u.value,a,u.deferred,u.deferredKeys),f=Bo(e,d);return e.mode===`async`?Eo(f,t,r,i):Promise.resolve(Eo(f,t,r,i))}async function zo(e,t,n,r){let i=r?.args??[];if(n.length===0)return e.mode===`async`?Eo(e,t,i,r):Promise.resolve(Eo(e,t,i,r));let a,o,s=!1;try{a=await Ro(e,t,n,i,r)}catch(e){s=!0,o=e}try{await Lo(n)}catch(e){throw s?new Pa(e,o,`An error was suppressed during context disposal.`):e}if(s)throw o;return a}function Bo(e,t){let n=m(e.initialState,t),r={...Object.getOwnPropertyDescriptors(e)},i=r.initialState;return r.initialState=i==null?{value:n,writable:!0,enumerable:!0,configurable:!0}:`get`in i||`set`in i?{value:n,writable:!0,enumerable:i.enumerable??!0,configurable:i.configurable??!0}:{value:n,writable:i.writable??!0,enumerable:i.enumerable??!0,configurable:i.configurable??!0},Object.create(Object.getPrototypeOf(e),r)}function Vo(e){return{brief:e.brief,description:e.description,examples:e.examples,author:e.author,bugs:e.bugs,footer:e.footer}}function Ho(e,t){return`parser`in e&&`metadata`in e?{parser:e.parser,options:t.programName==null?{...t,programName:e.metadata.name}:t,programMetadata:Vo(e.metadata)}:{parser:e,options:t}}function Uo(e,t={}){return Go(e,t)}function Wo(e,t){let i=e.programName??r.basename(n.argv[1]??`cli`),a=e.args??n.argv.slice(2),o=e.stdout??(e=>{n.stdout.write(`${e}\n`)}),s=e.stderr??(e=>{n.stderr.write(`${e}\n`)}),c=e.onExit??(e=>n.exit(e)),l=e.colors??n.stdout.isTTY,u=e.maxWidth??n.stdout.columns,d=e.showDefault,f=e.showChoices,p=e.sectionOrder,m=e.help,h=e.version,g=e.completion,_=e.aboveError??`usage`,v=e.errorExitCode??1,y=e.brief??t?.brief,b=e.description??t?.description,ee=e.examples??t?.examples,te=e.author??t?.author,ne=e.bugs??t?.bugs,re=e.footer??t?.footer,x=()=>c(0);return{programName:i,args:a,coreOptions:{stderr:s,stdout:o,colors:l,maxWidth:u,showDefault:d,showChoices:f,sectionOrder:p,help:(()=>{if(m){if(typeof m==`string`)switch(m){case`command`:return{command:!0,onShow:x};case`option`:return{option:!0,onShow:x};case`both`:return{command:!0,option:!0,onShow:x}}return{...m,onShow:x}}})(),version:(()=>{if(h)return typeof h==`string`?{value:h,option:!0,onShow:x}:{...h,onShow:x}})(),completion:(()=>{if(g){if(typeof g==`string`)switch(g){case`command`:return{command:!0,onShow:x};case`option`:return{option:!0,onShow:x};case`both`:return{command:!0,option:!0,onShow:x}}return{...g,onShow:x}}})(),aboveError:_,brief:y,description:b,examples:ee,author:te,bugs:ne,footer:re,onError(){return c(v)}}}}function Go(e,t={}){let n=Ho(e,t),{parser:r,programMetadata:i}=n;t=n.options;let a=t.contexts;if(a&&a.length>0){let{programName:e,args:n,coreOptions:o}=Wo(t,i);return zo(r,e,a,{...o,contextOptions:t.contextOptions,args:n})}let{programName:o,args:s,coreOptions:c}=Wo(t,i);return Eo(r,o,s,c)}const Ko=`0.9.2`,qo=[`DEBUG`,`JSSE_DEBUG`,`JSSEDEBUG`].some(e=>{let t=n.env[e];return[`1`,`true`,`t`,`on`,`yes`,`y`].includes(t??``)}),Jo=di({debug:la(`-d`,`--debug`,{description:w`Print parsed command options.`})}),Yo=Ca(`init`,di({action:Z(`init`),filepath:zi(la(`-p`,`--filepath`,Gi({metavar:`FILEPATH`}),{description:w`Path to the ESLint config file to create.`})),force:la(`-f`,`--force`,{description:w`Overwrite an existing ESLint config file.`})}),{brief:w`Create an ESLint config file.`}),Xo=Ca(`dev`,di({action:Z(`dev`)}),{brief:w`cli-dev`});function Zo(){console.log(`cli-dev`)}const Qo=fi(Jo,Yr(Yo,Xo));async function $o(n){if(console.log(`init`),!e.existsSync(`package.json`)){let e=`package.json not found`;throw console.warn(e),Error(e)}let r=await t.readFile(`package.json`,`utf8`),i=JSON.parse(r).type===`module`,a=n.filepath??(i?`eslint.config.js`:`eslint.config.mjs`);if(e.existsSync(a)){let e=`${a} already exists`;if(console.warn(e),!n.force)throw Error(e)}await t.writeFile(a,`// @ts-check
1148
+ `+` `.repeat(t))}function ko(e){return e.type===`help`||e.type===`version`||e.type===`completion`}function Ao(e,t){let n=e=>e===!0?{}:e,r=n(t.help?.option),i=n(t.help?.command),a=n(t.version?.option),o=n(t.version?.command),s=n(t.completion?.option),c=n(t.completion?.command);return ro(e,r?[...r.names??[`--help`]]:[],i?[...i.names??[`help`]]:[],a?[...a.names??[`--version`]]:[],o?[...o.names??[`version`]]:[],s?[...s.names??[`--completion`]]:[],c?[...c.names??[`completion`]]:[])}function jo(e,t){return t&&(e.help!=null||e.version!=null||e.completion!=null)}async function Mo(e,t,n){let r=await Ua(e,t,`parse-only`);return r.kind!==`success`&&ko(Ao(r,n))}function No(e){let t={};for(let n=e.length-1;n>=0;n--){let r=e[n];for(let e of Object.getOwnPropertySymbols(r))t[e]=r[e]}return t}function Po(e){for(let t of e){let e=t.phase;if(e!==`single-pass`&&e!==`two-pass`)throw TypeError(`Context ${String(t.id)} must declare phase as "single-pass" or "two-pass".`)}}async function Fo(e,t){let n=[],r;for(let i of e){let e={phase:`phase1`},a=i.getAnnotations(e,t),o=a instanceof Promise?await a:a,s=i.getInternalAnnotations?.(e,o),c=s==null?o:No([o,s]);n.push(c),r==null?i.phase===`two-pass`&&(r=[...n]):r.push(c)}return{annotations:No(n),needsTwoPhase:r!=null,snapshots:r??[]}}async function Io(e,t,n,r,i,a){let o=[],s=Ia(n,i,a);for(let n=0;n<e.length;n++){let i=e[n];if(i.phase===`single-pass`){o.push(t[n]);continue}let a={phase:`phase2`,parsed:s},c=i.getAnnotations(a,r),l=c instanceof Promise?await c:c,u=i.getInternalAnnotations?.(a,l),d=u==null?l:No([l,u]);o.push(d)}return{annotations:No(o)}}async function Lo(e){let t=[];for(let n of e)try{Symbol.asyncDispose in n&&typeof n[Symbol.asyncDispose]==`function`?await n[Symbol.asyncDispose]():Symbol.dispose in n&&typeof n[Symbol.dispose]==`function`&&n[Symbol.dispose]()}catch(e){t.push(e)}if(t.length===1)throw t[0];if(t.length>1)throw AggregateError(t,`Failed to dispose one or more source contexts.`)}async function Ro(e,t,n,r,i){ye(n),Po(n);let a=i.contextOptions,{annotations:o,needsTwoPhase:s,snapshots:c}=await Fo(n,a);if(jo(i,s)){let n=Bo(e,o);if(await Mo(n,r,i))return e.mode===`async`?Eo(n,t,r,i):Promise.resolve(Eo(n,t,r,i))}let l=Bo(e,o);if(!s)return e.mode===`async`?Eo(l,t,r,i):Promise.resolve(Eo(l,t,r,i));let u=await P(e.mode,()=>Ka(l,r),()=>qa(l,r));if(u==null){let n=Bo(e,o);return e.mode===`async`?Eo(n,t,r,i):Promise.resolve(Eo(n,t,r,i))}let{annotations:d}=await Io(n,c,u.value,a,u.deferred,u.deferredKeys),f=Bo(e,d);return e.mode===`async`?Eo(f,t,r,i):Promise.resolve(Eo(f,t,r,i))}async function zo(e,t,n,r){let i=r?.args??[];if(n.length===0)return e.mode===`async`?Eo(e,t,i,r):Promise.resolve(Eo(e,t,i,r));let a,o,s=!1;try{a=await Ro(e,t,n,i,r)}catch(e){s=!0,o=e}try{await Lo(n)}catch(e){throw s?new Pa(e,o,`An error was suppressed during context disposal.`):e}if(s)throw o;return a}function Bo(e,t){let n=m(e.initialState,t),r={...Object.getOwnPropertyDescriptors(e)},i=r.initialState;return r.initialState=i==null?{value:n,writable:!0,enumerable:!0,configurable:!0}:`get`in i||`set`in i?{value:n,writable:!0,enumerable:i.enumerable??!0,configurable:i.configurable??!0}:{value:n,writable:i.writable??!0,enumerable:i.enumerable??!0,configurable:i.configurable??!0},Object.create(Object.getPrototypeOf(e),r)}function Vo(e){return{brief:e.brief,description:e.description,examples:e.examples,author:e.author,bugs:e.bugs,footer:e.footer}}function Ho(e,t){return`parser`in e&&`metadata`in e?{parser:e.parser,options:t.programName==null?{...t,programName:e.metadata.name}:t,programMetadata:Vo(e.metadata)}:{parser:e,options:t}}function Uo(e,t={}){return Go(e,t)}function Wo(e,t){let i=e.programName??r.basename(n.argv[1]??`cli`),a=e.args??n.argv.slice(2),o=e.stdout??(e=>{n.stdout.write(`${e}\n`)}),s=e.stderr??(e=>{n.stderr.write(`${e}\n`)}),c=e.onExit??(e=>n.exit(e)),l=e.colors??n.stdout.isTTY,u=e.maxWidth??n.stdout.columns,d=e.showDefault,f=e.showChoices,p=e.sectionOrder,m=e.help,h=e.version,g=e.completion,_=e.aboveError??`usage`,v=e.errorExitCode??1,y=e.brief??t?.brief,b=e.description??t?.description,ee=e.examples??t?.examples,te=e.author??t?.author,ne=e.bugs??t?.bugs,re=e.footer??t?.footer,x=()=>c(0);return{programName:i,args:a,coreOptions:{stderr:s,stdout:o,colors:l,maxWidth:u,showDefault:d,showChoices:f,sectionOrder:p,help:(()=>{if(m){if(typeof m==`string`)switch(m){case`command`:return{command:!0,onShow:x};case`option`:return{option:!0,onShow:x};case`both`:return{command:!0,option:!0,onShow:x}}return{...m,onShow:x}}})(),version:(()=>{if(h)return typeof h==`string`?{value:h,option:!0,onShow:x}:{...h,onShow:x}})(),completion:(()=>{if(g){if(typeof g==`string`)switch(g){case`command`:return{command:!0,onShow:x};case`option`:return{option:!0,onShow:x};case`both`:return{command:!0,option:!0,onShow:x}}return{...g,onShow:x}}})(),aboveError:_,brief:y,description:b,examples:ee,author:te,bugs:ne,footer:re,onError(){return c(v)}}}}function Go(e,t={}){let n=Ho(e,t),{parser:r,programMetadata:i}=n;t=n.options;let a=t.contexts;if(a&&a.length>0){let{programName:e,args:n,coreOptions:o}=Wo(t,i);return zo(r,e,a,{...o,contextOptions:t.contextOptions,args:n})}let{programName:o,args:s,coreOptions:c}=Wo(t,i);return Eo(r,o,s,c)}const Ko=`0.9.4`,qo=[`DEBUG`,`JSSE_DEBUG`,`JSSEDEBUG`].some(e=>{let t=n.env[e];return[`1`,`true`,`t`,`on`,`yes`,`y`].includes(t??``)}),Jo=di({debug:la(`-d`,`--debug`,{description:w`Print parsed command options.`})}),Yo=Ca(`init`,di({action:Z(`init`),filepath:zi(la(`-p`,`--filepath`,Gi({metavar:`FILEPATH`}),{description:w`Path to the ESLint config file to create.`})),force:la(`-f`,`--force`,{description:w`Overwrite an existing ESLint config file.`})}),{brief:w`Create an ESLint config file.`}),Xo=Ca(`dev`,di({action:Z(`dev`)}),{brief:w`cli-dev`});function Zo(){console.log(`cli-dev`)}const Qo=fi(Jo,Yr(Yo,Xo));async function $o(n){if(console.log(`init`),!e.existsSync(`package.json`)){let e=`package.json not found`;throw console.warn(e),Error(e)}let r=await t.readFile(`package.json`,`utf8`),i=JSON.parse(r).type===`module`,a=n.filepath??(i?`eslint.config.js`:`eslint.config.mjs`);if(e.existsSync(a)){let e=`${a} already exists`;if(console.warn(e),!n.force)throw Error(e)}await t.writeFile(a,`// @ts-check
1149
1149
  import jsse from "@jsse/eslint-config";
1150
1150
 
1151
1151
  export default jsse(