likec4 1.17.0 → 1.18.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/{dist/__app__ → __app__}/react/likec4.tsx +9 -26
- package/{dist/__app__/src/chunks/-index-overview-DNT3FQkn.js → __app__/src/chunks/-index-overview-CBnvpD1d.js} +12 -12
- package/{dist/__app__/src/chunks/likec4-CLNXvKhh.js → __app__/src/chunks/likec4-DslTxitT.js} +50 -41
- package/{dist/__app__/src/chunks/main-Beyl8kQ7.js → __app__/src/chunks/main-ByUdz_Be.js} +14236 -13301
- package/{dist/__app__/src/chunks/mantine-CdYQpHSU.js → __app__/src/chunks/mantine-oFa3ZrEq.js} +1731 -713
- package/{dist/__app__/src/chunks/tanstack-router-DJI32bwX.js → __app__/src/chunks/tanstack-router-BWjXKr0n.js} +1 -1
- package/{dist/__app__ → __app__}/src/main.js +1 -1
- package/{dist/__app__ → __app__}/src/style.css +1 -1
- package/{dist/__app__ → __app__}/webcomponent/webcomponent.js +30987 -28447
- package/dist/chunks/prompt.mjs +3 -3
- package/dist/cli/index.mjs +210 -179
- package/dist/index.d.mts +1785 -722
- package/dist/index.d.ts +1785 -722
- package/dist/index.mjs +1 -1
- package/dist/shared/likec4.lgHXhASw.mjs +1832 -0
- package/package.json +37 -37
- package/react/index.d.ts +896 -423
- package/react/index.mjs +32935 -29389
- package/react/style.css +1 -1
- package/dist/shared/likec4.D5WUQlNc.mjs +0 -1824
- /package/{dist/__app__ → __app__}/favicon.ico +0 -0
- /package/{dist/__app__ → __app__}/favicon.svg +0 -0
- /package/{dist/__app__ → __app__}/index.html +0 -0
- /package/{dist/__app__ → __app__}/robots.txt +0 -0
- /package/{dist/__app__ → __app__}/src/chunks/-view-lazy-data-WZmbIsHq.js +0 -0
- /package/{dist/__app__ → __app__}/src/chunks/index-CIsxIzOH.js +0 -0
- /package/{dist/__app__ → __app__}/src/const.js +0 -0
- /package/{dist/__app__ → __app__}/src/icons.js +0 -0
package/dist/cli/index.mjs
CHANGED
|
@@ -1,14 +1,14 @@
|
|
|
1
1
|
#!/usr/bin/env node
|
|
2
|
-
import{
|
|
2
|
+
import{k as Qt,m as Di,n as Hr,T as Gr,N as Ci,o as Yr,p as wi,q as Ai,V as qr,x as Jr,r as Kr,s as Ei,u as bi,w as Qr,A,C as Xr,W as me,I as Zr,J as es,K as Le,M as ts,Q as ns,S as is,X as Fi,a0 as yi,L as ze,z as rs,a1 as ss,a2 as St,h as vi,E as Bn,a3 as On,a4 as Bi,a5 as Oi,a6 as _i,a7 as us}from"../shared/likec4.lgHXhASw.mjs";import"node:util";import{resolve as Q,dirname as bt,join as It,extname as $t,relative as ut,isAbsolute as _n,basename as Xt}from"node:path";import{hrtime as os,cwd as Sn,stdout as as,exit as cs,argv as ls}from"node:process";import"node:tty";import{notStrictEqual as fs,strictEqual as ds}from"assert";import{resolve as ve,dirname as In,normalize as hs,basename as ps,extname as ms,relative as gs}from"path";import{statSync as Si,readdirSync as Ds,readFileSync as $n,writeFile as Cs}from"fs";import{format as Ii,inspect as ws}from"util";import{fileURLToPath as As}from"url";import{existsSync as Ke,copyFileSync as $i,rmSync as xi}from"node:fs";import{mkdtemp as Zt,writeFile as ot,mkdir as He,stat as xn,copyFile as Es,rm as bs}from"node:fs/promises";import Fs,{tmpdir as en}from"node:os";import{fileURLToPath as ys}from"node:url";import{build as xt,createServer as vs,preview as Bs}from"vite";import{chromium as ji}from"playwright";import Os from"node:net";import{setTimeout as _s}from"node:timers/promises";import Ss from"@vitejs/plugin-react-swc";import"tty";import"os";import"crypto";import"net";import"child_process";import"@hpcc-js/wasm-graphviz";import"node:child_process";import"node:string_decoder";import"node:events";import"node:v8";import"node:stream";import"node:buffer";import"node:stream/promises";import"buffer";const Is={right:Ns,center:Ms},$s=0,tn=1,xs=2,nn=3;class js{constructor(e){var t;this.width=e.width,this.wrap=(t=e.wrap)!==null&&t!==void 0?t:!0,this.rows=[]}span(...e){const t=this.div(...e);t.span=!0}resetOutput(){this.rows=[]}div(...e){if(e.length===0&&this.div(""),this.wrap&&this.shouldApplyLayoutDSL(...e)&&typeof e[0]=="string")return this.applyLayoutDSL(e[0]);const t=e.map(n=>typeof n=="string"?this.colFromString(n):n);return this.rows.push(t),t}shouldApplyLayoutDSL(...e){return e.length===1&&typeof e[0]=="string"&&/[\t\n]/.test(e[0])}applyLayoutDSL(e){const t=e.split(`
|
|
3
3
|
`).map(r=>r.split(" "));let n=0;return t.forEach(r=>{r.length>1&&Ee.stringWidth(r[0])>n&&(n=Math.min(Math.floor(this.width*.5),Ee.stringWidth(r[0])))}),t.forEach(r=>{this.div(...r.map((s,u)=>({text:s.trim(),padding:this.measurePadding(s),width:u===0&&r.length>1?n:void 0})))}),this.rows[this.rows.length-1]}colFromString(e){return{text:e,padding:this.measurePadding(e)}}measurePadding(e){const t=Ee.stripAnsi(e);return[0,t.match(/\s*$/)[0].length,0,t.match(/^\s*/)[0].length]}toString(){const e=[];return this.rows.forEach(t=>{this.rowToString(t,e)}),e.filter(t=>!t.hidden).map(t=>t.text).join(`
|
|
4
|
-
`)}rowToString(e,t){return this.rasterize(e).forEach((n,r)=>{let s="";n.forEach((u,a)=>{const{width:c}=e[a],h=this.negatePadding(e[a]);let l=u;if(h>Ee.stringWidth(u)&&(l+=" ".repeat(h-Ee.stringWidth(u))),e[a].align&&e[a].align!=="left"&&this.wrap){const
|
|
4
|
+
`)}rowToString(e,t){return this.rasterize(e).forEach((n,r)=>{let s="";n.forEach((u,a)=>{const{width:c}=e[a],h=this.negatePadding(e[a]);let l=u;if(h>Ee.stringWidth(u)&&(l+=" ".repeat(h-Ee.stringWidth(u))),e[a].align&&e[a].align!=="left"&&this.wrap){const p=Is[e[a].align];l=p(l,h),Ee.stringWidth(l)<h&&(l+=" ".repeat((c||0)-Ee.stringWidth(l)-1))}const f=e[a].padding||[0,0,0,0];f[nn]&&(s+=" ".repeat(f[nn])),s+=Li(e[a],l,"| "),s+=l,s+=Li(e[a],l," |"),f[tn]&&(s+=" ".repeat(f[tn])),r===0&&t.length>0&&(s=this.renderInline(s,t[t.length-1]))}),t.push({text:s.replace(/ +$/,""),span:e.span})}),t}renderInline(e,t){const n=e.match(/^ */),r=n?n[0].length:0,s=t.text,u=Ee.stringWidth(s.trimRight());return t.span?this.wrap?r<u?e:(t.hidden=!0,s.trimRight()+" ".repeat(r-u)+e.trimLeft()):(t.hidden=!0,s+e):e}rasterize(e){const t=[],n=this.columnWidths(e);let r;return e.forEach((s,u)=>{s.width=n[u],this.wrap?r=Ee.wrap(s.text,this.negatePadding(s),{hard:!0}).split(`
|
|
5
5
|
`):r=s.text.split(`
|
|
6
|
-
`),s.border&&(r.unshift("."+"-".repeat(this.negatePadding(s)+2)+"."),r.push("'"+"-".repeat(this.negatePadding(s)+2)+"'")),s.padding&&(r.unshift(...new Array(s.padding[
|
|
7
|
-
`),r+=i.charAt(s);return t&&n&&(r=`${t}${r}${n}`),r}function Ts(i){return Ms(i,{stringWidth:e=>[...e].length,stripAnsi:Ni,wrap:ks})}function Rs(i,e){let t=je(".",i),n;for(Bi(t).isDirectory()||(t=vn(t));;){if(n=e(t,gs(t)),n)return je(t,n);if(t=vn(n=t),n===t)break}}function xt(i){if(i!==i.toLowerCase()&&i!==i.toUpperCase()||(i=i.toLowerCase()),i.indexOf("-")===-1&&i.indexOf("_")===-1)return i;{let t="",n=!1;const r=i.match(/^-+/);for(let s=r?r[0].length:0;s<i.length;s++){let u=i.charAt(s);n&&(n=!1,u=u.toUpperCase()),s!==0&&(u==="-"||u==="_")?n=!0:u!=="-"&&u!=="_"&&(t+=u)}return t}}function Li(i,e){const t=i.toLowerCase();e=e||"-";let n="";for(let r=0;r<i.length;r++){const s=t.charAt(r),u=i.charAt(r);s!==u&&r>0?n+=`${e}${t.charAt(r)}`:n+=u}return n}function Mi(i){return i==null?!1:typeof i=="number"||/^0x[0-9a-f]+$/i.test(i)?!0:/^0[^.]/.test(i)?!1:/^[-]?(?:\d+(?:\.\d*)?|\.\d+)(e[-+]?\d+)?$/.test(i)}function Ws(i){if(Array.isArray(i))return i.map(u=>typeof u!="string"?u+"":u);i=i.trim();let e=0,t=null,n=null,r=null;const s=[];for(let u=0;u<i.length;u++){if(t=n,n=i.charAt(u),n===" "&&!r){t!==" "&&e++;continue}n===r?r=null:(n==="'"||n==='"')&&!r&&(r=n),s[e]||(s[e]=""),s[e]+=n}return s}var Pe;(function(i){i.BOOLEAN="boolean",i.STRING="string",i.NUMBER="number",i.ARRAY="array"})(Pe||(Pe={}));let ze;class Us{constructor(e){ze=e}parse(e,t){const n=Object.assign({alias:void 0,array:void 0,boolean:void 0,config:void 0,configObjects:void 0,configuration:void 0,coerce:void 0,count:void 0,default:void 0,envPrefix:void 0,narg:void 0,normalize:void 0,string:void 0,number:void 0,__:void 0,key:void 0},t),r=Ws(e),s=typeof e=="string",u=Vs(Object.assign(Object.create(null),n.alias)),a=Object.assign({"boolean-negation":!0,"camel-case-expansion":!0,"combine-arrays":!1,"dot-notation":!0,"duplicate-arguments-array":!0,"flatten-duplicate-arrays":!0,"greedy-arrays":!0,"halt-at-non-option":!1,"nargs-eats-options":!1,"negation-prefix":"no-","parse-numbers":!0,"parse-positional-numbers":!0,"populate--":!1,"set-placeholder-key":!1,"short-option-groups":!0,"strip-aliased":!1,"strip-dashed":!1,"unknown-options-as-args":!1},n.configuration),c=Object.assign(Object.create(null),n.default),h=n.configObjects||[],l=n.envPrefix,f=a["populate--"],m=f?"--":"_",C=Object.create(null),F=Object.create(null),w=n.__||ze.format,p={aliases:Object.create(null),arrays:Object.create(null),bools:Object.create(null),strings:Object.create(null),numbers:Object.create(null),counts:Object.create(null),normalize:Object.create(null),configs:Object.create(null),nargs:Object.create(null),coercions:Object.create(null),keys:[]},y=/^-([0-9]+(\.[0-9]+)?|\.[0-9]+)$/,B=new RegExp("^--"+a["negation-prefix"]+"(.+)");[].concat(n.array||[]).filter(Boolean).forEach(function(d){const D=typeof d=="object"?d.key:d,v=Object.keys(d).map(function(A){return{boolean:"bools",string:"strings",number:"numbers"}[A]}).filter(Boolean).pop();v&&(p[v][D]=!0),p.arrays[D]=!0,p.keys.push(D)}),[].concat(n.boolean||[]).filter(Boolean).forEach(function(d){p.bools[d]=!0,p.keys.push(d)}),[].concat(n.string||[]).filter(Boolean).forEach(function(d){p.strings[d]=!0,p.keys.push(d)}),[].concat(n.number||[]).filter(Boolean).forEach(function(d){p.numbers[d]=!0,p.keys.push(d)}),[].concat(n.count||[]).filter(Boolean).forEach(function(d){p.counts[d]=!0,p.keys.push(d)}),[].concat(n.normalize||[]).filter(Boolean).forEach(function(d){p.normalize[d]=!0,p.keys.push(d)}),typeof n.narg=="object"&&Object.entries(n.narg).forEach(([d,D])=>{typeof D=="number"&&(p.nargs[d]=D,p.keys.push(d))}),typeof n.coerce=="object"&&Object.entries(n.coerce).forEach(([d,D])=>{typeof D=="function"&&(p.coercions[d]=D,p.keys.push(d))}),typeof n.config<"u"&&(Array.isArray(n.config)||typeof n.config=="string"?[].concat(n.config).filter(Boolean).forEach(function(d){p.configs[d]=!0}):typeof n.config=="object"&&Object.entries(n.config).forEach(([d,D])=>{(typeof D=="boolean"||typeof D=="function")&&(p.configs[d]=D)})),it(n.key,u,n.default,p.arrays),Object.keys(c).forEach(function(d){(p.aliases[d]||[]).forEach(function(D){c[D]=c[d]})});let M=null;Yt();let L=[];const U=Object.assign(Object.create(null),{_:[]}),Ce={};for(let d=0;d<r.length;d++){const D=r[d],v=D.replace(/^-{3,}/,"---");let A,g,$,_,N,pe;if(D!=="--"&&/^-/.test(D)&&ie(D))Ie(D);else if(v.match(/^---+(=|$)/)){Ie(D);continue}else if(D.match(/^--.+=/)||!a["short-option-groups"]&&D.match(/^-.+=/))_=D.match(/^--?([^=]+)=([\s\S]*)$/),_!==null&&Array.isArray(_)&&_.length>=3&&(T(_[1],p.arrays)?d=tt(d,_[1],r,_[2]):T(_[1],p.nargs)!==!1?d=Ct(d,_[1],r,_[2]):X(_[1],_[2],!0));else if(D.match(B)&&a["boolean-negation"])_=D.match(B),_!==null&&Array.isArray(_)&&_.length>=2&&(g=_[1],X(g,T(g,p.arrays)?[!1]:!1));else if(D.match(/^--.+/)||!a["short-option-groups"]&&D.match(/^-[^-]+/))_=D.match(/^--?(.+)/),_!==null&&Array.isArray(_)&&_.length>=2&&(g=_[1],T(g,p.arrays)?d=tt(d,g,r):T(g,p.nargs)!==!1?d=Ct(d,g,r):(N=r[d+1],N!==void 0&&(!N.match(/^-/)||N.match(y))&&!T(g,p.bools)&&!T(g,p.counts)||/^(true|false)$/.test(N)?(X(g,N),d++):X(g,re(g))));else if(D.match(/^-.\..+=/))_=D.match(/^-([^=]+)=([\s\S]*)$/),_!==null&&Array.isArray(_)&&_.length>=3&&X(_[1],_[2]);else if(D.match(/^-.\..+/)&&!D.match(y))N=r[d+1],_=D.match(/^-(.\..+)/),_!==null&&Array.isArray(_)&&_.length>=2&&(g=_[1],N!==void 0&&!N.match(/^-/)&&!T(g,p.bools)&&!T(g,p.counts)?(X(g,N),d++):X(g,re(g)));else if(D.match(/^-[^-]+/)&&!D.match(y)){$=D.slice(1,-1).split(""),A=!1;for(let we=0;we<$.length;we++){if(N=D.slice(we+2),$[we+1]&&$[we+1]==="="){pe=D.slice(we+3),g=$[we],T(g,p.arrays)?d=tt(d,g,r,pe):T(g,p.nargs)!==!1?d=Ct(d,g,r,pe):X(g,pe),A=!0;break}if(N==="-"){X($[we],N);continue}if(/[A-Za-z]/.test($[we])&&/^-?\d+(\.\d*)?(e-?\d+)?$/.test(N)&&T(N,p.bools)===!1){X($[we],N),A=!0;break}if($[we+1]&&$[we+1].match(/\W/)){X($[we],N),A=!0;break}else X($[we],re($[we]))}g=D.slice(-1)[0],!A&&g!=="-"&&(T(g,p.arrays)?d=tt(d,g,r):T(g,p.nargs)!==!1?d=Ct(d,g,r):(N=r[d+1],N!==void 0&&(!/^(-|--)[^-]/.test(N)||N.match(y))&&!T(g,p.bools)&&!T(g,p.counts)||/^(true|false)$/.test(N)?(X(g,N),d++):X(g,re(g))))}else if(D.match(/^-[0-9]$/)&&D.match(y)&&T(D.slice(1),p.bools))g=D.slice(1),X(g,re(g));else if(D==="--"){L=r.slice(d+1);break}else if(a["halt-at-non-option"]){L=r.slice(d);break}else Ie(D)}J(U,!0),J(U,!1),V(U),de(),ne(U,p.aliases,c,!0),he(U),a["set-placeholder-key"]&&nt(U),Object.keys(p.counts).forEach(function(d){Ue(U,d.split("."))||X(d,0)}),f&&L.length&&(U[m]=[]),L.forEach(function(d){U[m].push(d)}),a["camel-case-expansion"]&&a["strip-dashed"]&&Object.keys(U).filter(d=>d!=="--"&&d.includes("-")).forEach(d=>{delete U[d]}),a["strip-aliased"]&&[].concat(...Object.keys(u).map(d=>u[d])).forEach(d=>{a["camel-case-expansion"]&&d.includes("-")&&delete U[d.split(".").map(D=>xt(D)).join(".")],delete U[d]});function Ie(d){const D=I("_",d);(typeof D=="string"||typeof D=="number")&&U._.push(D)}function Ct(d,D,v,A){let g,$=T(D,p.nargs);if($=typeof $!="number"||isNaN($)?1:$,$===0)return $e(A)||(M=Error(w("Argument unexpected for: %s",D))),X(D,re(D)),d;let _=$e(A)?0:1;if(a["nargs-eats-options"])v.length-(d+1)+_<$&&(M=Error(w("Not enough arguments following: %s",D))),_=$;else{for(g=d+1;g<v.length&&(!v[g].match(/^-[^0-9]/)||v[g].match(y)||ie(v[g]));g++)_++;_<$&&(M=Error(w("Not enough arguments following: %s",D)))}let N=Math.min(_,$);for(!$e(A)&&N>0&&(X(D,A),N--),g=d+1;g<N+d+1;g++)X(D,v[g]);return d+N}function tt(d,D,v,A){let g=[],$=A||v[d+1];const _=T(D,p.nargs);if(T(D,p.bools)&&!/^(true|false)$/.test($))g.push(!0);else if($e($)||$e(A)&&/^-/.test($)&&!y.test($)&&!ie($)){if(c[D]!==void 0){const N=c[D];g=Array.isArray(N)?N:[N]}}else{$e(A)||g.push(O(D,A,!0));for(let N=d+1;N<v.length&&!(!a["greedy-arrays"]&&g.length>0||_&&typeof _=="number"&&g.length>=_||($=v[N],/^-/.test($)&&!y.test($)&&!ie($)));N++)d=N,g.push(O(D,$,s))}return typeof _=="number"&&(_&&g.length<_||isNaN(_)&&g.length===0)&&(M=Error(w("Not enough arguments following: %s",D))),X(D,g),d}function X(d,D,v=s){if(/-/.test(d)&&a["camel-case-expansion"]){const $=d.split(".").map(function(_){return xt(_)}).join(".");j(d,$)}const A=O(d,D,v),g=d.split(".");Ve(U,g,A),p.aliases[d]&&p.aliases[d].forEach(function($){const _=$.split(".");Ve(U,_,A)}),g.length>1&&a["dot-notation"]&&(p.aliases[g[0]]||[]).forEach(function($){let _=$.split(".");const N=[].concat(g);N.shift(),_=_.concat(N),(p.aliases[d]||[]).includes(_.join("."))||Ve(U,_,A)}),T(d,p.normalize)&&!T(d,p.arrays)&&[d].concat(p.aliases[d]||[]).forEach(function(_){Object.defineProperty(Ce,_,{enumerable:!0,get(){return D},set(N){D=typeof N=="string"?ze.normalize(N):N}})})}function j(d,D){p.aliases[d]&&p.aliases[d].length||(p.aliases[d]=[D],C[D]=!0),p.aliases[D]&&p.aliases[D].length||j(D,d)}function O(d,D,v){v&&(D=zs(D)),(T(d,p.bools)||T(d,p.counts))&&typeof D=="string"&&(D=D==="true");let A=Array.isArray(D)?D.map(function(g){return I(d,g)}):I(d,D);return T(d,p.counts)&&($e(A)||typeof A=="boolean")&&(A=_n()),T(d,p.normalize)&&T(d,p.arrays)&&(Array.isArray(D)?A=D.map(g=>ze.normalize(g)):A=ze.normalize(D)),A}function I(d,D){return!a["parse-positional-numbers"]&&d==="_"||!T(d,p.strings)&&!T(d,p.bools)&&!Array.isArray(D)&&(Mi(D)&&a["parse-numbers"]&&Number.isSafeInteger(Math.floor(parseFloat(`${D}`)))||!$e(D)&&T(d,p.numbers))&&(D=Number(D)),D}function V(d){const D=Object.create(null);ne(D,p.aliases,c),Object.keys(p.configs).forEach(function(v){const A=d[v]||D[v];if(A)try{let g=null;const $=ze.resolve(ze.cwd(),A),_=p.configs[v];if(typeof _=="function"){try{g=_($)}catch(N){g=N}if(g instanceof Error){M=g;return}}else g=ze.require($);K(g)}catch(g){g.name==="PermissionDenied"?M=g:d[v]&&(M=Error(w("Invalid JSON config file: %s",A)))}})}function K(d,D){Object.keys(d).forEach(function(v){const A=d[v],g=D?D+"."+v:v;typeof A=="object"&&A!==null&&!Array.isArray(A)&&a["dot-notation"]?K(A,g):(!Ue(U,g.split("."))||T(g,p.arrays)&&a["combine-arrays"])&&X(g,A)})}function de(){typeof h<"u"&&h.forEach(function(d){K(d)})}function J(d,D){if(typeof l>"u")return;const v=typeof l=="string"?l:"",A=ze.env();Object.keys(A).forEach(function(g){if(v===""||g.lastIndexOf(v,0)===0){const $=g.split("__").map(function(_,N){return N===0&&(_=_.substring(v.length)),xt(_)});(D&&p.configs[$.join(".")]||!D)&&!Ue(d,$)&&X($.join("."),A[g])}})}function he(d){let D;const v=new Set;Object.keys(d).forEach(function(A){if(!v.has(A)&&(D=T(A,p.coercions),typeof D=="function"))try{const g=I(A,D(d[A]));[].concat(p.aliases[A]||[],A).forEach($=>{v.add($),d[$]=g})}catch(g){M=g}})}function nt(d){return p.keys.forEach(D=>{~D.indexOf(".")||typeof d[D]>"u"&&(d[D]=void 0)}),d}function ne(d,D,v,A=!1){Object.keys(v).forEach(function(g){Ue(d,g.split("."))||(Ve(d,g.split("."),v[g]),A&&(F[g]=!0),(D[g]||[]).forEach(function($){Ue(d,$.split("."))||Ve(d,$.split("."),v[g])}))})}function Ue(d,D){let v=d;a["dot-notation"]||(D=[D.join(".")]),D.slice(0,-1).forEach(function(g){v=v[g]||{}});const A=D[D.length-1];return typeof v!="object"?!1:A in v}function Ve(d,D,v){let A=d;a["dot-notation"]||(D=[D.join(".")]),D.slice(0,-1).forEach(function(pe){pe=ki(pe),typeof A=="object"&&A[pe]===void 0&&(A[pe]={}),typeof A[pe]!="object"||Array.isArray(A[pe])?(Array.isArray(A[pe])?A[pe].push({}):A[pe]=[A[pe],{}],A=A[pe][A[pe].length-1]):A=A[pe]});const g=ki(D[D.length-1]),$=T(D.join("."),p.arrays),_=Array.isArray(v);let N=a["duplicate-arguments-array"];!N&&T(g,p.nargs)&&(N=!0,(!$e(A[g])&&p.nargs[g]===1||Array.isArray(A[g])&&A[g].length===p.nargs[g])&&(A[g]=void 0)),v===_n()?A[g]=_n(A[g]):Array.isArray(A[g])?N&&$&&_?A[g]=a["flatten-duplicate-arrays"]?A[g].concat(v):(Array.isArray(A[g][0])?A[g]:[A[g]]).concat([v]):!N&&!!$==!!_?A[g]=v:A[g]=A[g].concat([v]):A[g]===void 0&&$?A[g]=_?v:[v]:N&&!(A[g]===void 0||T(g,p.counts)||T(g,p.bools))?A[g]=[A[g],v]:A[g]=v}function it(...d){d.forEach(function(D){Object.keys(D||{}).forEach(function(v){p.aliases[v]||(p.aliases[v]=[].concat(u[v]||[]),p.aliases[v].concat(v).forEach(function(A){if(/-/.test(A)&&a["camel-case-expansion"]){const g=xt(A);g!==v&&p.aliases[v].indexOf(g)===-1&&(p.aliases[v].push(g),C[g]=!0)}}),p.aliases[v].concat(v).forEach(function(A){if(A.length>1&&/[A-Z]/.test(A)&&a["camel-case-expansion"]){const g=Li(A,"-");g!==v&&p.aliases[v].indexOf(g)===-1&&(p.aliases[v].push(g),C[g]=!0)}}),p.aliases[v].forEach(function(A){p.aliases[A]=[v].concat(p.aliases[v].filter(function(g){return A!==g}))}))})})}function T(d,D){const v=[].concat(p.aliases[d]||[],d),A=Object.keys(D),g=v.find($=>A.includes($));return g?D[g]:!1}function Fn(d){const D=Object.keys(p);return[].concat(D.map(A=>p[A])).some(function(A){return Array.isArray(A)?A.includes(d):A[d]})}function k(d,...D){return[].concat(...D).some(function(A){const g=d.match(A);return g&&Fn(g[1])})}function te(d){if(d.match(y)||!d.match(/^-[^-]+/))return!1;let D=!0,v;const A=d.slice(1).split("");for(let g=0;g<A.length;g++){if(v=d.slice(g+2),!Fn(A[g])){D=!1;break}if(A[g+1]&&A[g+1]==="="||v==="-"||/[A-Za-z]/.test(A[g])&&/^-?\d+(\.\d*)?(e-?\d+)?$/.test(v)||A[g+1]&&A[g+1].match(/\W/))break}return D}function ie(d){return a["unknown-options-as-args"]&&q(d)}function q(d){return d=d.replace(/^-{3,}/,"--"),d.match(y)||te(d)?!1:!k(d,/^-+([^=]+?)=[\s\S]*$/,B,/^-+([^=]+?)$/,/^-+([^=]+?)-$/,/^-+([^=]+?\d+)$/,/^-+([^=]+?)\W+.*$/)}function re(d){return!T(d,p.bools)&&!T(d,p.counts)&&`${d}`in c?c[d]:ue(xe(d))}function ue(d){return{[Pe.BOOLEAN]:!0,[Pe.STRING]:"",[Pe.NUMBER]:void 0,[Pe.ARRAY]:[]}[d]}function xe(d){let D=Pe.BOOLEAN;return T(d,p.strings)?D=Pe.STRING:T(d,p.numbers)?D=Pe.NUMBER:T(d,p.bools)?D=Pe.BOOLEAN:T(d,p.arrays)&&(D=Pe.ARRAY),D}function $e(d){return d===void 0}function Yt(){Object.keys(p.counts).find(d=>T(d,p.arrays)?(M=Error(w("Invalid configuration: %s, opts.count excludes opts.array.",d)),!0):T(d,p.nargs)?(M=Error(w("Invalid configuration: %s, opts.count excludes opts.narg.",d)),!0):!1)}return{aliases:Object.assign({},p.aliases),argv:Object.assign(Ce,U),configuration:a,defaulted:Object.assign({},F),error:M,newAliases:Object.assign({},C)}}}function Vs(i){const e=[],t=Object.create(null);let n=!0;for(Object.keys(i).forEach(function(r){e.push([].concat(i[r],r))});n;){n=!1;for(let r=0;r<e.length;r++)for(let s=r+1;s<e.length;s++)if(e[r].filter(function(a){return e[s].indexOf(a)!==-1}).length){e[r]=e[r].concat(e[s]),e.splice(s,1),n=!0;break}}return e.forEach(function(r){r=r.filter(function(u,a,c){return c.indexOf(u)===a});const s=r.pop();s!==void 0&&typeof s=="string"&&(t[s]=r)}),t}function _n(i){return i!==void 0?i+1:1}function ki(i){return i==="__proto__"?"___proto___":i}function zs(i){return typeof i=="string"&&(i[0]==="'"||i[0]==='"')&&i[i.length-1]===i[0]?i.substring(1,i.length-1):i}var Sn,In,xn;const Ti=process&&process.env&&process.env.YARGS_MIN_NODE_VERSION?Number(process.env.YARGS_MIN_NODE_VERSION):12,Ri=(In=(Sn=process==null?void 0:process.versions)===null||Sn===void 0?void 0:Sn.node)!==null&&In!==void 0?In:(xn=process==null?void 0:process.version)===null||xn===void 0?void 0:xn.slice(1);if(Ri&&Number(Ri.match(/^([^.]+)/)[1])<Ti)throw Error(`yargs parser supports a minimum Node.js version of ${Ti}. Read our version support policy: https://github.com/yargs/yargs-parser#supported-nodejs-versions`);const Hs=process?process.env:{},Wi=new Us({cwd:process.cwd,env:()=>Hs,format:Oi,normalize:ds,resolve:je,require:i=>{if(typeof qt<"u")return qt(i);if(i.match(/\.json$/))return JSON.parse(Bn(i,"utf8"));throw Error("only .json config files are supported in ESM")}}),$t=function(e,t){return Wi.parse(e.slice(),t).argv};$t.detailed=function(i,e){return Wi.parse(i.slice(),e)},$t.camelCase=xt,$t.decamelize=Li,$t.looksLikeNumber=Mi;function Ui(){return Gs()?0:1}function Gs(){return Ys()&&!process.defaultApp}function Ys(){return!!process.versions.electron}function qs(i){return i.slice(Ui()+1)}function Js(){return process.argv[Ui()]}class le extends Error{constructor(e){super(e||"yargs error"),this.name="YError",Error.captureStackTrace&&Error.captureStackTrace(this,le)}}const Ks={fs:{readFileSync:Bn,writeFile:Ds},format:Oi,resolve:je,exists:i=>{try{return Bi(i).isFile()}catch{return!1}}};let Ne;class Qs{constructor(e){e=e||{},this.directory=e.directory||"./locales",this.updateFiles=typeof e.updateFiles=="boolean"?e.updateFiles:!0,this.locale=e.locale||"en",this.fallbackToLanguage=typeof e.fallbackToLanguage=="boolean"?e.fallbackToLanguage:!0,this.cache=Object.create(null),this.writeQueue=[]}__(...e){if(typeof arguments[0]!="string")return this._taggedLiteral(arguments[0],...arguments);const t=e.shift();let n=function(){};return typeof e[e.length-1]=="function"&&(n=e.pop()),n=n||function(){},this.cache[this.locale]||this._readLocaleFile(),!this.cache[this.locale][t]&&this.updateFiles?(this.cache[this.locale][t]=t,this._enqueueWrite({directory:this.directory,locale:this.locale,cb:n})):n(),Ne.format.apply(Ne.format,[this.cache[this.locale][t]||t].concat(e))}__n(){const e=Array.prototype.slice.call(arguments),t=e.shift(),n=e.shift(),r=e.shift();let s=function(){};typeof e[e.length-1]=="function"&&(s=e.pop()),this.cache[this.locale]||this._readLocaleFile();let u=r===1?t:n;this.cache[this.locale][t]&&(u=this.cache[this.locale][t][r===1?"one":"other"]),!this.cache[this.locale][t]&&this.updateFiles?(this.cache[this.locale][t]={one:t,other:n},this._enqueueWrite({directory:this.directory,locale:this.locale,cb:s})):s();const a=[u];return~u.indexOf("%d")&&a.push(r),Ne.format.apply(Ne.format,a.concat(e))}setLocale(e){this.locale=e}getLocale(){return this.locale}updateLocale(e){this.cache[this.locale]||this._readLocaleFile();for(const t in e)Object.prototype.hasOwnProperty.call(e,t)&&(this.cache[this.locale][t]=e[t])}_taggedLiteral(e,...t){let n="";return e.forEach(function(r,s){const u=t[s+1];n+=r,typeof u<"u"&&(n+="%s")}),this.__.apply(this,[n].concat([].slice.call(t,1)))}_enqueueWrite(e){this.writeQueue.push(e),this.writeQueue.length===1&&this._processWriteQueue()}_processWriteQueue(){const e=this,t=this.writeQueue[0],n=t.directory,r=t.locale,s=t.cb,u=this._resolveLocaleFile(n,r),a=JSON.stringify(this.cache[r],null,2);Ne.fs.writeFile(u,a,"utf-8",function(c){e.writeQueue.shift(),e.writeQueue.length>0&&e._processWriteQueue(),s(c)})}_readLocaleFile(){let e={};const t=this._resolveLocaleFile(this.directory,this.locale);try{Ne.fs.readFileSync&&(e=JSON.parse(Ne.fs.readFileSync(t,"utf-8")))}catch(n){if(n instanceof SyntaxError&&(n.message="syntax error in "+t),n.code==="ENOENT")e={};else throw n}this.cache[this.locale]=e}_resolveLocaleFile(e,t){let n=Ne.resolve(e,"./",t+".json");if(this.fallbackToLanguage&&!this._fileExistsSync(n)&&~t.lastIndexOf("_")){const r=Ne.resolve(e,"./",t.split("_")[0]+".json");this._fileExistsSync(r)&&(n=r)}return n}_fileExistsSync(e){return Ne.exists(e)}}function Xs(i,e){Ne=e;const t=new Qs(i);return{__:t.__.bind(t),__n:t.__n.bind(t),setLocale:t.setLocale.bind(t),getLocale:t.getLocale.bind(t),updateLocale:t.updateLocale.bind(t),locale:t.locale}}const Zs=i=>Xs(i,Ks),eu="require is not supported by ESM",Vi="loading a directory of commands is not supported yet for ESM";let jt;try{jt=ws(import.meta.url)}catch{jt=process.cwd()}const tu=jt.substring(0,jt.lastIndexOf("node_modules")),nu={assert:{notStrictEqual:ls,strictEqual:fs},cliui:Ts,findUp:Rs,getEnv:i=>process.env[i],inspect:Cs,getCallerFile:()=>{throw new le(Vi)},getProcessArgvBin:Js,mainFilename:tu||process.cwd(),Parser:$t,path:{basename:hs,dirname:vn,extname:ps,relative:ms,resolve:je},process:{argv:()=>process.argv,cwd:process.cwd,emitWarning:(i,e)=>process.emitWarning(i,e),execPath:()=>process.execPath,exit:process.exit,nextTick:process.nextTick,stdColumns:typeof process.stdout.columns<"u"?process.stdout.columns:null},readFileSync:Bn,require:()=>{throw new le(eu)},requireDirectory:()=>{throw new le(Vi)},stringWidth:i=>[...i].length,y18n:Zs({directory:je(jt,"../../../locales"),updateFiles:!1})};function Le(i,e,t,n){t.assert.notStrictEqual(i,e,n)}function zi(i,e){e.assert.strictEqual(typeof i,"string")}function tn(i){return Object.keys(i)}function ce(i){return!!i&&!!i.then&&typeof i.then=="function"}function Pt(i){const t=i.replace(/\s{2,}/g," ").split(/\s+(?![^[]*]|[^<]*>)/),n=/\.*[\][<>]/g,r=t.shift();if(!r)throw new Error(`No command found in: ${i}`);const s={cmd:r.replace(n,""),demanded:[],optional:[]};return t.forEach((u,a)=>{let c=!1;u=u.replace(/\s/g,""),/\.+[\]>]/.test(u)&&a===t.length-1&&(c=!0),/^\[/.test(u)?s.optional.push({cmd:u.replace(n,"").split("|"),variadic:c}):s.demanded.push({cmd:u.replace(n,"").split("|"),variadic:c})}),s}const iu=["first","second","third","fourth","fifth","sixth"];function x(i,e,t){function n(){return typeof i=="object"?[{demanded:[],optional:[]},i,e]:[Pt(`cmd ${i}`),e,t]}try{let r=0;const[s,u,a]=n(),c=[].slice.call(u);for(;c.length&&c[c.length-1]===void 0;)c.pop();const h=a||c.length;if(h<s.demanded.length)throw new le(`Not enough arguments provided. Expected ${s.demanded.length} but received ${c.length}.`);const l=s.demanded.length+s.optional.length;if(h>l)throw new le(`Too many arguments provided. Expected max ${l} but received ${h}.`);s.demanded.forEach(f=>{const m=c.shift(),C=Hi(m);f.cmd.filter(w=>w===C||w==="*").length===0&&Gi(C,f.cmd,r),r+=1}),s.optional.forEach(f=>{if(c.length===0)return;const m=c.shift(),C=Hi(m);f.cmd.filter(w=>w===C||w==="*").length===0&&Gi(C,f.cmd,r),r+=1})}catch(r){console.warn(r.stack)}}function Hi(i){return Array.isArray(i)?"array":i===null?"null":typeof i}function Gi(i,e,t){throw new le(`Invalid ${iu[t]||"manyith"} argument. Expected ${e.join(" or ")} but received ${i}.`)}class ru{constructor(e){this.globalMiddleware=[],this.frozens=[],this.yargs=e}addMiddleware(e,t,n=!0,r=!1){if(x("<array|function> [boolean] [boolean] [boolean]",[e,t,n],arguments.length),Array.isArray(e)){for(let s=0;s<e.length;s++){if(typeof e[s]!="function")throw Error("middleware must be a function");const u=e[s];u.applyBeforeValidation=t,u.global=n}Array.prototype.push.apply(this.globalMiddleware,e)}else if(typeof e=="function"){const s=e;s.applyBeforeValidation=t,s.global=n,s.mutates=r,this.globalMiddleware.push(e)}return this.yargs}addCoerceMiddleware(e,t){const n=this.yargs.getAliases();return this.globalMiddleware=this.globalMiddleware.filter(r=>{const s=[...n[t]||[],t];return r.option?!s.includes(r.option):!0}),e.option=t,this.addMiddleware(e,!0,!0,!0)}getMiddleware(){return this.globalMiddleware}freeze(){this.frozens.push([...this.globalMiddleware])}unfreeze(){const e=this.frozens.pop();e!==void 0&&(this.globalMiddleware=e)}reset(){this.globalMiddleware=this.globalMiddleware.filter(e=>e.global)}}function su(i){return i?i.map(e=>(e.applyBeforeValidation=!1,e)):[]}function Nt(i,e,t,n){return t.reduce((r,s)=>{if(s.applyBeforeValidation!==n)return r;if(s.mutates){if(s.applied)return r;s.applied=!0}if(ce(r))return r.then(u=>Promise.all([u,s(u,e)])).then(([u,a])=>Object.assign(u,a));{const u=s(r,e);return ce(u)?u.then(a=>Object.assign(r,a)):Object.assign(r,u)}},i)}function Lt(i,e,t=n=>{throw n}){try{const n=uu(i)?i():i;return ce(n)?n.then(r=>e(r)):e(n)}catch(n){return t(n)}}function uu(i){return typeof i=="function"}function ou(i){if(typeof qt>"u")return null;for(let e=0,t=Object.keys(require.cache),n;e<t.length;e++)if(n=require.cache[t[e]],n.exports===i)return n;return null}const Et=/(^\*)|(^\$0)/;class au{constructor(e,t,n,r){this.requireCache=new Set,this.handlers={},this.aliasMap={},this.frozens=[],this.shim=r,this.usage=e,this.globalMiddleware=n,this.validation=t}addDirectory(e,t,n,r){r=r||{},typeof r.recurse!="boolean"&&(r.recurse=!1),Array.isArray(r.extensions)||(r.extensions=["js"]);const s=typeof r.visit=="function"?r.visit:u=>u;r.visit=(u,a,c)=>{const h=s(u,a,c);if(h){if(this.requireCache.has(a))return h;this.requireCache.add(a),this.addHandler(h)}return h},this.shim.requireDirectory({require:t,filename:n},e,r)}addHandler(e,t,n,r,s,u){let a=[];const c=su(s);if(r=r||(()=>{}),Array.isArray(e))if(lu(e))[e,...a]=e;else for(const h of e)this.addHandler(h);else if(du(e)){let h=Array.isArray(e.command)||typeof e.command=="string"?e.command:this.moduleName(e);e.aliases&&(h=[].concat(h).concat(e.aliases)),this.addHandler(h,this.extractDesc(e),e.builder,e.handler,e.middlewares,e.deprecated);return}else if(Yi(n)){this.addHandler([e].concat(a),t,n.builder,n.handler,n.middlewares,n.deprecated);return}if(typeof e=="string"){const h=Pt(e);a=a.map(m=>Pt(m).cmd);let l=!1;const f=[h.cmd].concat(a).filter(m=>Et.test(m)?(l=!0,!1):!0);f.length===0&&l&&f.push("$0"),l&&(h.cmd=f[0],a=f.slice(1),e=e.replace(Et,h.cmd)),a.forEach(m=>{this.aliasMap[m]=h.cmd}),t!==!1&&this.usage.command(e,t,l,a,u),this.handlers[h.cmd]={original:e,description:t,handler:r,builder:n||{},middlewares:c,deprecated:u,demanded:h.demanded,optional:h.optional},l&&(this.defaultCommand=this.handlers[h.cmd])}}getCommandHandlers(){return this.handlers}getCommands(){return Object.keys(this.handlers).concat(Object.keys(this.aliasMap))}hasDefaultCommand(){return!!this.defaultCommand}runCommand(e,t,n,r,s,u){const a=this.handlers[e]||this.handlers[this.aliasMap[e]]||this.defaultCommand,c=t.getInternalMethods().getContext(),h=c.commands.slice(),l=!e;e&&(c.commands.push(e),c.fullCommands.push(a.original));const f=this.applyBuilderUpdateUsageAndParse(l,a,t,n.aliases,h,r,s,u);return ce(f)?f.then(m=>this.applyMiddlewareAndGetResult(l,a,m.innerArgv,c,s,m.aliases,t)):this.applyMiddlewareAndGetResult(l,a,f.innerArgv,c,s,f.aliases,t)}applyBuilderUpdateUsageAndParse(e,t,n,r,s,u,a,c){const h=t.builder;let l=n;if($n(h)){n.getInternalMethods().getUsageInstance().freeze();const f=h(n.getInternalMethods().reset(r),c);if(ce(f))return f.then(m=>(l=_u(m)?m:n,this.parseAndUpdateUsage(e,t,l,s,u,a)))}else fu(h)&&(n.getInternalMethods().getUsageInstance().freeze(),l=n.getInternalMethods().reset(r),Object.keys(t.builder).forEach(f=>{l.option(f,h[f])}));return this.parseAndUpdateUsage(e,t,l,s,u,a)}parseAndUpdateUsage(e,t,n,r,s,u){e&&n.getInternalMethods().getUsageInstance().unfreeze(!0),this.shouldUpdateUsage(n)&&n.getInternalMethods().getUsageInstance().usage(this.usageFromParentCommandsCommandHandler(r,t),t.description);const a=n.getInternalMethods().runYargsParserAndExecuteCommands(null,void 0,!0,s,u);return ce(a)?a.then(c=>({aliases:n.parsed.aliases,innerArgv:c})):{aliases:n.parsed.aliases,innerArgv:a}}shouldUpdateUsage(e){return!e.getInternalMethods().getUsageInstance().getUsageDisabled()&&e.getInternalMethods().getUsageInstance().getUsage().length===0}usageFromParentCommandsCommandHandler(e,t){const n=Et.test(t.original)?t.original.replace(Et,"").trim():t.original,r=e.filter(s=>!Et.test(s));return r.push(n),`$0 ${r.join(" ")}`}handleValidationAndGetResult(e,t,n,r,s,u,a,c){if(!u.getInternalMethods().getHasOutput()){const h=u.getInternalMethods().runValidation(s,c,u.parsed.error,e);n=Lt(n,l=>(h(l),l))}if(t.handler&&!u.getInternalMethods().getHasOutput()){u.getInternalMethods().setHasOutput();const h=!!u.getOptions().configuration["populate--"];u.getInternalMethods().postProcess(n,h,!1,!1),n=Nt(n,u,a,!1),n=Lt(n,l=>{const f=t.handler(l);return ce(f)?f.then(()=>l):l}),e||u.getInternalMethods().getUsageInstance().cacheHelpMessage(),ce(n)&&!u.getInternalMethods().hasParseCallback()&&n.catch(l=>{try{u.getInternalMethods().getUsageInstance().fail(null,l)}catch{}})}return e||(r.commands.pop(),r.fullCommands.pop()),n}applyMiddlewareAndGetResult(e,t,n,r,s,u,a){let c={};if(s)return n;a.getInternalMethods().getHasOutput()||(c=this.populatePositionals(t,n,r,a));const h=this.globalMiddleware.getMiddleware().slice(0).concat(t.middlewares),l=Nt(n,a,h,!0);return ce(l)?l.then(f=>this.handleValidationAndGetResult(e,t,f,r,u,a,h,c)):this.handleValidationAndGetResult(e,t,l,r,u,a,h,c)}populatePositionals(e,t,n,r){t._=t._.slice(n.commands.length);const s=e.demanded.slice(0),u=e.optional.slice(0),a={};for(this.validation.positionalCount(s.length,t._.length);s.length;){const c=s.shift();this.populatePositional(c,t,a)}for(;u.length;){const c=u.shift();this.populatePositional(c,t,a)}return t._=n.commands.concat(t._.map(c=>""+c)),this.postProcessPositionals(t,a,this.cmdToParseOptions(e.original),r),a}populatePositional(e,t,n){const r=e.cmd[0];e.variadic?n[r]=t._.splice(0).map(String):t._.length&&(n[r]=[String(t._.shift())])}cmdToParseOptions(e){const t={array:[],default:{},alias:{},demand:{}},n=Pt(e);return n.demanded.forEach(r=>{const[s,...u]=r.cmd;r.variadic&&(t.array.push(s),t.default[s]=[]),t.alias[s]=u,t.demand[s]=!0}),n.optional.forEach(r=>{const[s,...u]=r.cmd;r.variadic&&(t.array.push(s),t.default[s]=[]),t.alias[s]=u}),t}postProcessPositionals(e,t,n,r){const s=Object.assign({},r.getOptions());s.default=Object.assign(n.default,s.default);for(const h of Object.keys(n.alias))s.alias[h]=(s.alias[h]||[]).concat(n.alias[h]);s.array=s.array.concat(n.array),s.config={};const u=[];if(Object.keys(t).forEach(h=>{t[h].map(l=>{s.configuration["unknown-options-as-args"]&&(s.key[h]=!0),u.push(`--${h}`),u.push(l)})}),!u.length)return;const a=Object.assign({},s.configuration,{"populate--":!1}),c=this.shim.Parser.detailed(u,Object.assign({},s,{configuration:a}));if(c.error)r.getInternalMethods().getUsageInstance().fail(c.error.message,c.error);else{const h=Object.keys(t);Object.keys(t).forEach(l=>{h.push(...c.aliases[l])}),Object.keys(c.argv).forEach(l=>{h.includes(l)&&(t[l]||(t[l]=c.argv[l]),!this.isInConfigs(r,l)&&!this.isDefaulted(r,l)&&Object.prototype.hasOwnProperty.call(e,l)&&Object.prototype.hasOwnProperty.call(c.argv,l)&&(Array.isArray(e[l])||Array.isArray(c.argv[l]))?e[l]=[].concat(e[l],c.argv[l]):e[l]=c.argv[l])})}}isDefaulted(e,t){const{default:n}=e.getOptions();return Object.prototype.hasOwnProperty.call(n,t)||Object.prototype.hasOwnProperty.call(n,this.shim.Parser.camelCase(t))}isInConfigs(e,t){const{configObjects:n}=e.getOptions();return n.some(r=>Object.prototype.hasOwnProperty.call(r,t))||n.some(r=>Object.prototype.hasOwnProperty.call(r,this.shim.Parser.camelCase(t)))}runDefaultBuilderOn(e){if(!this.defaultCommand)return;if(this.shouldUpdateUsage(e)){const n=Et.test(this.defaultCommand.original)?this.defaultCommand.original:this.defaultCommand.original.replace(/^[^[\]<>]*/,"$0 ");e.getInternalMethods().getUsageInstance().usage(n,this.defaultCommand.description)}const t=this.defaultCommand.builder;if($n(t))return t(e,!0);Yi(t)||Object.keys(t).forEach(n=>{e.option(n,t[n])})}moduleName(e){const t=ou(e);if(!t)throw new Error(`No command name given for module: ${this.shim.inspect(e)}`);return this.commandFromFilename(t.filename)}commandFromFilename(e){return this.shim.path.basename(e,this.shim.path.extname(e))}extractDesc({describe:e,description:t,desc:n}){for(const r of[e,t,n]){if(typeof r=="string"||r===!1)return r;Le(r,!0,this.shim)}return!1}freeze(){this.frozens.push({handlers:this.handlers,aliasMap:this.aliasMap,defaultCommand:this.defaultCommand})}unfreeze(){const e=this.frozens.pop();Le(e,void 0,this.shim),{handlers:this.handlers,aliasMap:this.aliasMap,defaultCommand:this.defaultCommand}=e}reset(){return this.handlers={},this.aliasMap={},this.defaultCommand=void 0,this.requireCache=new Set,this}}function cu(i,e,t,n){return new au(i,e,t,n)}function Yi(i){return typeof i=="object"&&!!i.builder&&typeof i.handler=="function"}function lu(i){return i.every(e=>typeof e=="string")}function $n(i){return typeof i=="function"}function fu(i){return typeof i=="object"}function du(i){return typeof i=="object"&&!Array.isArray(i)}function Mt(i={},e=()=>!0){const t={};return tn(i).forEach(n=>{e(n,i[n])&&(t[n]=i[n])}),t}function kt(i){typeof process>"u"||[process.stdout,process.stderr].forEach(e=>{const t=e;t._handle&&t.isTTY&&typeof t._handle.setBlocking=="function"&&t._handle.setBlocking(i)})}function hu(i){return typeof i=="boolean"}function pu(i,e){const t=e.y18n.__,n={},r=[];n.failFn=function(O){r.push(O)};let s=null,u=null,a=!0;n.showHelpOnFail=function(O=!0,I){const[V,K]=typeof O=="string"?[!0,O]:[O,I];return i.getInternalMethods().isGlobalContext()&&(u=K),s=K,a=V,n};let c=!1;n.fail=function(O,I){const V=i.getInternalMethods().getLoggerInstance();if(r.length)for(let K=r.length-1;K>=0;--K){const de=r[K];if(hu(de)){if(I)throw I;if(O)throw Error(O)}else de(O,I,n)}else{if(i.getExitProcess()&&kt(!0),!c){c=!0,a&&(i.showHelp("error"),V.error()),(O||I)&&V.error(O||I);const K=s||u;K&&((O||I)&&V.error(""),V.error(K))}if(I=I||new le(O),i.getExitProcess())return i.exit(1);if(i.getInternalMethods().hasParseCallback())return i.exit(1,I);throw I}};let h=[],l=!1;n.usage=(j,O)=>j===null?(l=!0,h=[],n):(l=!1,h.push([j,O||""]),n),n.getUsage=()=>h,n.getUsageDisabled=()=>l,n.getPositionalGroupName=()=>t("Positionals:");let f=[];n.example=(j,O)=>{f.push([j,O||""])};let m=[];n.command=function(O,I,V,K,de=!1){V&&(m=m.map(J=>(J[2]=!1,J))),m.push([O,I||"",V,K,de])},n.getCommands=()=>m;let C={};n.describe=function(O,I){Array.isArray(O)?O.forEach(V=>{n.describe(V,I)}):typeof O=="object"?Object.keys(O).forEach(V=>{n.describe(V,O[V])}):C[O]=I},n.getDescriptions=()=>C;let F=[];n.epilog=j=>{F.push(j)};let w=!1,p;n.wrap=j=>{w=!0,p=j},n.getWrap=()=>e.getEnv("YARGS_DISABLE_WRAP")?null:(w||(p=Ct(),w=!0),p);const y="__yargsString__:";n.deferY18nLookup=j=>y+j,n.help=function(){if(L)return L;M();const O=i.customScriptName?i.$0:e.path.basename(i.$0),I=i.getDemandedOptions(),V=i.getDemandedCommands(),K=i.getDeprecatedOptions(),de=i.getGroups(),J=i.getOptions();let he=[];he=he.concat(Object.keys(C)),he=he.concat(Object.keys(I)),he=he.concat(Object.keys(V)),he=he.concat(Object.keys(J.default)),he=he.filter(Ce),he=Object.keys(he.reduce((k,te)=>(te!=="_"&&(k[te]=!0),k),{}));const nt=n.getWrap(),ne=e.cliui({width:nt,wrap:!!nt});if(!l){if(h.length)h.forEach(k=>{ne.div({text:`${k[0].replace(/\$0/g,O)}`}),k[1]&&ne.div({text:`${k[1]}`,padding:[1,0,0,0]})}),ne.div();else if(m.length){let k=null;V._?k=`${O} <${t("command")}>
|
|
8
|
-
`:
|
|
9
|
-
`,ne.div(`${
|
|
10
|
-
`);ne.div(`${
|
|
11
|
-
`)}return ne.toString().replace(/\s*$/,"")};function
|
|
6
|
+
`),s.border&&(r.unshift("."+"-".repeat(this.negatePadding(s)+2)+"."),r.push("'"+"-".repeat(this.negatePadding(s)+2)+"'")),s.padding&&(r.unshift(...new Array(s.padding[$s]||0).fill("")),r.push(...new Array(s.padding[xs]||0).fill(""))),r.forEach((a,c)=>{t[c]||t.push([]);const h=t[c];for(let l=0;l<u;l++)h[l]===void 0&&h.push("");h.push(a)})}),t}negatePadding(e){let t=e.width||0;return e.padding&&(t-=(e.padding[nn]||0)+(e.padding[tn]||0)),e.border&&(t-=4),t}columnWidths(e){if(!this.wrap)return e.map(u=>u.width||Ee.stringWidth(u.text));let t=e.length,n=this.width;const r=e.map(u=>{if(u.width)return t--,n-=u.width,u.width}),s=t?Math.floor(n/t):0;return r.map((u,a)=>u===void 0?Math.max(s,Ls(e[a])):u)}}function Li(i,e,t){return i.border?/[.']-+[.']/.test(e)?"":e.trim().length!==0?t:" ":""}function Ls(i){const e=i.padding||[],t=1+(e[nn]||0)+(e[tn]||0);return i.border?t+4:t}function Ps(){return typeof process=="object"&&process.stdout&&process.stdout.columns?process.stdout.columns:80}function Ns(i,e){i=i.trim();const t=Ee.stringWidth(i);return t<e?" ".repeat(e-t)+i:i}function Ms(i,e){i=i.trim();const t=Ee.stringWidth(i);return t>=e?i:" ".repeat(e-t>>1)+i}let Ee;function ks(i,e){return Ee=e,new js({width:i?.width||Ps(),wrap:i?.wrap})}const Pi=new RegExp("\x1B(?:\\[(?:\\d+[ABCDEFGJKSTm]|\\d+;\\d+[Hfm]|\\d+;\\d+;\\d+m|6n|s|u|\\?25[lh])|\\w)","g");function Ni(i){return i.replace(Pi,"")}function Ts(i,e){const[t,n]=i.match(Pi)||["",""];i=Ni(i);let r="";for(let s=0;s<i.length;s++)s!==0&&s%e===0&&(r+=`
|
|
7
|
+
`),r+=i.charAt(s);return t&&n&&(r=`${t}${r}${n}`),r}function Rs(i){return ks(i,{stringWidth:e=>[...e].length,stripAnsi:Ni,wrap:Ts})}function Ws(i,e){let t=ve(".",i),n;for(Si(t).isDirectory()||(t=In(t));;){if(n=e(t,Ds(t)),n)return ve(t,n);if(t=In(n=t),n===t)break}}function jt(i){if(i!==i.toLowerCase()&&i!==i.toUpperCase()||(i=i.toLowerCase()),i.indexOf("-")===-1&&i.indexOf("_")===-1)return i;{let t="",n=!1;const r=i.match(/^-+/);for(let s=r?r[0].length:0;s<i.length;s++){let u=i.charAt(s);n&&(n=!1,u=u.toUpperCase()),s!==0&&(u==="-"||u==="_")?n=!0:u!=="-"&&u!=="_"&&(t+=u)}return t}}function Mi(i,e){const t=i.toLowerCase();e=e||"-";let n="";for(let r=0;r<i.length;r++){const s=t.charAt(r),u=i.charAt(r);s!==u&&r>0?n+=`${e}${t.charAt(r)}`:n+=u}return n}function ki(i){return i==null?!1:typeof i=="number"||/^0x[0-9a-f]+$/i.test(i)?!0:/^0[^.]/.test(i)?!1:/^[-]?(?:\d+(?:\.\d*)?|\.\d+)(e[-+]?\d+)?$/.test(i)}function Us(i){if(Array.isArray(i))return i.map(u=>typeof u!="string"?u+"":u);i=i.trim();let e=0,t=null,n=null,r=null;const s=[];for(let u=0;u<i.length;u++){if(t=n,n=i.charAt(u),n===" "&&!r){t!==" "&&e++;continue}n===r?r=null:(n==="'"||n==='"')&&!r&&(r=n),s[e]||(s[e]=""),s[e]+=n}return s}var Pe;(function(i){i.BOOLEAN="boolean",i.STRING="string",i.NUMBER="number",i.ARRAY="array"})(Pe||(Pe={}));let Ge;class Vs{constructor(e){Ge=e}parse(e,t){const n=Object.assign({alias:void 0,array:void 0,boolean:void 0,config:void 0,configObjects:void 0,configuration:void 0,coerce:void 0,count:void 0,default:void 0,envPrefix:void 0,narg:void 0,normalize:void 0,string:void 0,number:void 0,__:void 0,key:void 0},t),r=Us(e),s=typeof e=="string",u=zs(Object.assign(Object.create(null),n.alias)),a=Object.assign({"boolean-negation":!0,"camel-case-expansion":!0,"combine-arrays":!1,"dot-notation":!0,"duplicate-arguments-array":!0,"flatten-duplicate-arrays":!0,"greedy-arrays":!0,"halt-at-non-option":!1,"nargs-eats-options":!1,"negation-prefix":"no-","parse-numbers":!0,"parse-positional-numbers":!0,"populate--":!1,"set-placeholder-key":!1,"short-option-groups":!0,"strip-aliased":!1,"strip-dashed":!1,"unknown-options-as-args":!1},n.configuration),c=Object.assign(Object.create(null),n.default),h=n.configObjects||[],l=n.envPrefix,f=a["populate--"],p=f?"--":"_",C=Object.create(null),F=Object.create(null),w=n.__||Ge.format,m={aliases:Object.create(null),arrays:Object.create(null),bools:Object.create(null),strings:Object.create(null),numbers:Object.create(null),counts:Object.create(null),normalize:Object.create(null),configs:Object.create(null),nargs:Object.create(null),coercions:Object.create(null),keys:[]},y=/^-([0-9]+(\.[0-9]+)?|\.[0-9]+)$/,S=new RegExp("^--"+a["negation-prefix"]+"(.+)");[].concat(n.array||[]).filter(Boolean).forEach(function(d){const D=typeof d=="object"?d.key:d,v=Object.keys(d).map(function(E){return{boolean:"bools",string:"strings",number:"numbers"}[E]}).filter(Boolean).pop();v&&(m[v][D]=!0),m.arrays[D]=!0,m.keys.push(D)}),[].concat(n.boolean||[]).filter(Boolean).forEach(function(d){m.bools[d]=!0,m.keys.push(d)}),[].concat(n.string||[]).filter(Boolean).forEach(function(d){m.strings[d]=!0,m.keys.push(d)}),[].concat(n.number||[]).filter(Boolean).forEach(function(d){m.numbers[d]=!0,m.keys.push(d)}),[].concat(n.count||[]).filter(Boolean).forEach(function(d){m.counts[d]=!0,m.keys.push(d)}),[].concat(n.normalize||[]).filter(Boolean).forEach(function(d){m.normalize[d]=!0,m.keys.push(d)}),typeof n.narg=="object"&&Object.entries(n.narg).forEach(([d,D])=>{typeof D=="number"&&(m.nargs[d]=D,m.keys.push(d))}),typeof n.coerce=="object"&&Object.entries(n.coerce).forEach(([d,D])=>{typeof D=="function"&&(m.coercions[d]=D,m.keys.push(d))}),typeof n.config<"u"&&(Array.isArray(n.config)||typeof n.config=="string"?[].concat(n.config).filter(Boolean).forEach(function(d){m.configs[d]=!0}):typeof n.config=="object"&&Object.entries(n.config).forEach(([d,D])=>{(typeof D=="boolean"||typeof D=="function")&&(m.configs[d]=D)})),st(n.key,u,n.default,m.arrays),Object.keys(c).forEach(function(d){(m.aliases[d]||[]).forEach(function(D){c[D]=c[d]})});let R=null;Kt();let N=[];const U=Object.assign(Object.create(null),{_:[]}),Ce={};for(let d=0;d<r.length;d++){const D=r[d],v=D.replace(/^-{3,}/,"---");let E,g,x,O,P,pe;if(D!=="--"&&/^-/.test(D)&&ie(D))$e(D);else if(v.match(/^---+(=|$)/)){$e(D);continue}else if(D.match(/^--.+=/)||!a["short-option-groups"]&&D.match(/^-.+=/))O=D.match(/^--?([^=]+)=([\s\S]*)$/),O!==null&&Array.isArray(O)&&O.length>=3&&(k(O[1],m.arrays)?d=it(d,O[1],r,O[2]):k(O[1],m.nargs)!==!1?d=Et(d,O[1],r,O[2]):X(O[1],O[2],!0));else if(D.match(S)&&a["boolean-negation"])O=D.match(S),O!==null&&Array.isArray(O)&&O.length>=2&&(g=O[1],X(g,k(g,m.arrays)?[!1]:!1));else if(D.match(/^--.+/)||!a["short-option-groups"]&&D.match(/^-[^-]+/))O=D.match(/^--?(.+)/),O!==null&&Array.isArray(O)&&O.length>=2&&(g=O[1],k(g,m.arrays)?d=it(d,g,r):k(g,m.nargs)!==!1?d=Et(d,g,r):(P=r[d+1],P!==void 0&&(!P.match(/^-/)||P.match(y))&&!k(g,m.bools)&&!k(g,m.counts)||/^(true|false)$/.test(P)?(X(g,P),d++):X(g,re(g))));else if(D.match(/^-.\..+=/))O=D.match(/^-([^=]+)=([\s\S]*)$/),O!==null&&Array.isArray(O)&&O.length>=3&&X(O[1],O[2]);else if(D.match(/^-.\..+/)&&!D.match(y))P=r[d+1],O=D.match(/^-(.\..+)/),O!==null&&Array.isArray(O)&&O.length>=2&&(g=O[1],P!==void 0&&!P.match(/^-/)&&!k(g,m.bools)&&!k(g,m.counts)?(X(g,P),d++):X(g,re(g)));else if(D.match(/^-[^-]+/)&&!D.match(y)){x=D.slice(1,-1).split(""),E=!1;for(let we=0;we<x.length;we++){if(P=D.slice(we+2),x[we+1]&&x[we+1]==="="){pe=D.slice(we+3),g=x[we],k(g,m.arrays)?d=it(d,g,r,pe):k(g,m.nargs)!==!1?d=Et(d,g,r,pe):X(g,pe),E=!0;break}if(P==="-"){X(x[we],P);continue}if(/[A-Za-z]/.test(x[we])&&/^-?\d+(\.\d*)?(e-?\d+)?$/.test(P)&&k(P,m.bools)===!1){X(x[we],P),E=!0;break}if(x[we+1]&&x[we+1].match(/\W/)){X(x[we],P),E=!0;break}else X(x[we],re(x[we]))}g=D.slice(-1)[0],!E&&g!=="-"&&(k(g,m.arrays)?d=it(d,g,r):k(g,m.nargs)!==!1?d=Et(d,g,r):(P=r[d+1],P!==void 0&&(!/^(-|--)[^-]/.test(P)||P.match(y))&&!k(g,m.bools)&&!k(g,m.counts)||/^(true|false)$/.test(P)?(X(g,P),d++):X(g,re(g))))}else if(D.match(/^-[0-9]$/)&&D.match(y)&&k(D.slice(1),m.bools))g=D.slice(1),X(g,re(g));else if(D==="--"){N=r.slice(d+1);break}else if(a["halt-at-non-option"]){N=r.slice(d);break}else $e(D)}J(U,!0),J(U,!1),V(U),de(),ne(U,m.aliases,c,!0),he(U),a["set-placeholder-key"]&&rt(U),Object.keys(m.counts).forEach(function(d){Ue(U,d.split("."))||X(d,0)}),f&&N.length&&(U[p]=[]),N.forEach(function(d){U[p].push(d)}),a["camel-case-expansion"]&&a["strip-dashed"]&&Object.keys(U).filter(d=>d!=="--"&&d.includes("-")).forEach(d=>{delete U[d]}),a["strip-aliased"]&&[].concat(...Object.keys(u).map(d=>u[d])).forEach(d=>{a["camel-case-expansion"]&&d.includes("-")&&delete U[d.split(".").map(D=>jt(D)).join(".")],delete U[d]});function $e(d){const D=I("_",d);(typeof D=="string"||typeof D=="number")&&U._.push(D)}function Et(d,D,v,E){let g,x=k(D,m.nargs);if(x=typeof x!="number"||isNaN(x)?1:x,x===0)return je(E)||(R=Error(w("Argument unexpected for: %s",D))),X(D,re(D)),d;let O=je(E)?0:1;if(a["nargs-eats-options"])v.length-(d+1)+O<x&&(R=Error(w("Not enough arguments following: %s",D))),O=x;else{for(g=d+1;g<v.length&&(!v[g].match(/^-[^0-9]/)||v[g].match(y)||ie(v[g]));g++)O++;O<x&&(R=Error(w("Not enough arguments following: %s",D)))}let P=Math.min(O,x);for(!je(E)&&P>0&&(X(D,E),P--),g=d+1;g<P+d+1;g++)X(D,v[g]);return d+P}function it(d,D,v,E){let g=[],x=E||v[d+1];const O=k(D,m.nargs);if(k(D,m.bools)&&!/^(true|false)$/.test(x))g.push(!0);else if(je(x)||je(E)&&/^-/.test(x)&&!y.test(x)&&!ie(x)){if(c[D]!==void 0){const P=c[D];g=Array.isArray(P)?P:[P]}}else{je(E)||g.push(B(D,E,!0));for(let P=d+1;P<v.length&&!(!a["greedy-arrays"]&&g.length>0||O&&typeof O=="number"&&g.length>=O||(x=v[P],/^-/.test(x)&&!y.test(x)&&!ie(x)));P++)d=P,g.push(B(D,x,s))}return typeof O=="number"&&(O&&g.length<O||isNaN(O)&&g.length===0)&&(R=Error(w("Not enough arguments following: %s",D))),X(D,g),d}function X(d,D,v=s){if(/-/.test(d)&&a["camel-case-expansion"]){const x=d.split(".").map(function(O){return jt(O)}).join(".");j(d,x)}const E=B(d,D,v),g=d.split(".");Ve(U,g,E),m.aliases[d]&&m.aliases[d].forEach(function(x){const O=x.split(".");Ve(U,O,E)}),g.length>1&&a["dot-notation"]&&(m.aliases[g[0]]||[]).forEach(function(x){let O=x.split(".");const P=[].concat(g);P.shift(),O=O.concat(P),(m.aliases[d]||[]).includes(O.join("."))||Ve(U,O,E)}),k(d,m.normalize)&&!k(d,m.arrays)&&[d].concat(m.aliases[d]||[]).forEach(function(O){Object.defineProperty(Ce,O,{enumerable:!0,get(){return D},set(P){D=typeof P=="string"?Ge.normalize(P):P}})})}function j(d,D){m.aliases[d]&&m.aliases[d].length||(m.aliases[d]=[D],C[D]=!0),m.aliases[D]&&m.aliases[D].length||j(D,d)}function B(d,D,v){v&&(D=Hs(D)),(k(d,m.bools)||k(d,m.counts))&&typeof D=="string"&&(D=D==="true");let E=Array.isArray(D)?D.map(function(g){return I(d,g)}):I(d,D);return k(d,m.counts)&&(je(E)||typeof E=="boolean")&&(E=jn()),k(d,m.normalize)&&k(d,m.arrays)&&(Array.isArray(D)?E=D.map(g=>Ge.normalize(g)):E=Ge.normalize(D)),E}function I(d,D){return!a["parse-positional-numbers"]&&d==="_"||!k(d,m.strings)&&!k(d,m.bools)&&!Array.isArray(D)&&(ki(D)&&a["parse-numbers"]&&Number.isSafeInteger(Math.floor(parseFloat(`${D}`)))||!je(D)&&k(d,m.numbers))&&(D=Number(D)),D}function V(d){const D=Object.create(null);ne(D,m.aliases,c),Object.keys(m.configs).forEach(function(v){const E=d[v]||D[v];if(E)try{let g=null;const x=Ge.resolve(Ge.cwd(),E),O=m.configs[v];if(typeof O=="function"){try{g=O(x)}catch(P){g=P}if(g instanceof Error){R=g;return}}else g=Ge.require(x);K(g)}catch(g){g.name==="PermissionDenied"?R=g:d[v]&&(R=Error(w("Invalid JSON config file: %s",E)))}})}function K(d,D){Object.keys(d).forEach(function(v){const E=d[v],g=D?D+"."+v:v;typeof E=="object"&&E!==null&&!Array.isArray(E)&&a["dot-notation"]?K(E,g):(!Ue(U,g.split("."))||k(g,m.arrays)&&a["combine-arrays"])&&X(g,E)})}function de(){typeof h<"u"&&h.forEach(function(d){K(d)})}function J(d,D){if(typeof l>"u")return;const v=typeof l=="string"?l:"",E=Ge.env();Object.keys(E).forEach(function(g){if(v===""||g.lastIndexOf(v,0)===0){const x=g.split("__").map(function(O,P){return P===0&&(O=O.substring(v.length)),jt(O)});(D&&m.configs[x.join(".")]||!D)&&!Ue(d,x)&&X(x.join("."),E[g])}})}function he(d){let D;const v=new Set;Object.keys(d).forEach(function(E){if(!v.has(E)&&(D=k(E,m.coercions),typeof D=="function"))try{const g=I(E,D(d[E]));[].concat(m.aliases[E]||[],E).forEach(x=>{v.add(x),d[x]=g})}catch(g){R=g}})}function rt(d){return m.keys.forEach(D=>{~D.indexOf(".")||typeof d[D]>"u"&&(d[D]=void 0)}),d}function ne(d,D,v,E=!1){Object.keys(v).forEach(function(g){Ue(d,g.split("."))||(Ve(d,g.split("."),v[g]),E&&(F[g]=!0),(D[g]||[]).forEach(function(x){Ue(d,x.split("."))||Ve(d,x.split("."),v[g])}))})}function Ue(d,D){let v=d;a["dot-notation"]||(D=[D.join(".")]),D.slice(0,-1).forEach(function(g){v=v[g]||{}});const E=D[D.length-1];return typeof v!="object"?!1:E in v}function Ve(d,D,v){let E=d;a["dot-notation"]||(D=[D.join(".")]),D.slice(0,-1).forEach(function(pe){pe=Ti(pe),typeof E=="object"&&E[pe]===void 0&&(E[pe]={}),typeof E[pe]!="object"||Array.isArray(E[pe])?(Array.isArray(E[pe])?E[pe].push({}):E[pe]=[E[pe],{}],E=E[pe][E[pe].length-1]):E=E[pe]});const g=Ti(D[D.length-1]),x=k(D.join("."),m.arrays),O=Array.isArray(v);let P=a["duplicate-arguments-array"];!P&&k(g,m.nargs)&&(P=!0,(!je(E[g])&&m.nargs[g]===1||Array.isArray(E[g])&&E[g].length===m.nargs[g])&&(E[g]=void 0)),v===jn()?E[g]=jn(E[g]):Array.isArray(E[g])?P&&x&&O?E[g]=a["flatten-duplicate-arrays"]?E[g].concat(v):(Array.isArray(E[g][0])?E[g]:[E[g]]).concat([v]):!P&&!!x==!!O?E[g]=v:E[g]=E[g].concat([v]):E[g]===void 0&&x?E[g]=O?v:[v]:P&&!(E[g]===void 0||k(g,m.counts)||k(g,m.bools))?E[g]=[E[g],v]:E[g]=v}function st(...d){d.forEach(function(D){Object.keys(D||{}).forEach(function(v){m.aliases[v]||(m.aliases[v]=[].concat(u[v]||[]),m.aliases[v].concat(v).forEach(function(E){if(/-/.test(E)&&a["camel-case-expansion"]){const g=jt(E);g!==v&&m.aliases[v].indexOf(g)===-1&&(m.aliases[v].push(g),C[g]=!0)}}),m.aliases[v].concat(v).forEach(function(E){if(E.length>1&&/[A-Z]/.test(E)&&a["camel-case-expansion"]){const g=Mi(E,"-");g!==v&&m.aliases[v].indexOf(g)===-1&&(m.aliases[v].push(g),C[g]=!0)}}),m.aliases[v].forEach(function(E){m.aliases[E]=[v].concat(m.aliases[v].filter(function(g){return E!==g}))}))})})}function k(d,D){const v=[].concat(m.aliases[d]||[],d),E=Object.keys(D),g=v.find(x=>E.includes(x));return g?D[g]:!1}function vn(d){const D=Object.keys(m);return[].concat(D.map(E=>m[E])).some(function(E){return Array.isArray(E)?E.includes(d):E[d]})}function M(d,...D){return[].concat(...D).some(function(E){const g=d.match(E);return g&&vn(g[1])})}function te(d){if(d.match(y)||!d.match(/^-[^-]+/))return!1;let D=!0,v;const E=d.slice(1).split("");for(let g=0;g<E.length;g++){if(v=d.slice(g+2),!vn(E[g])){D=!1;break}if(E[g+1]&&E[g+1]==="="||v==="-"||/[A-Za-z]/.test(E[g])&&/^-?\d+(\.\d*)?(e-?\d+)?$/.test(v)||E[g+1]&&E[g+1].match(/\W/))break}return D}function ie(d){return a["unknown-options-as-args"]&&q(d)}function q(d){return d=d.replace(/^-{3,}/,"--"),d.match(y)||te(d)?!1:!M(d,/^-+([^=]+?)=[\s\S]*$/,S,/^-+([^=]+?)$/,/^-+([^=]+?)-$/,/^-+([^=]+?\d+)$/,/^-+([^=]+?)\W+.*$/)}function re(d){return!k(d,m.bools)&&!k(d,m.counts)&&`${d}`in c?c[d]:ue(xe(d))}function ue(d){return{[Pe.BOOLEAN]:!0,[Pe.STRING]:"",[Pe.NUMBER]:void 0,[Pe.ARRAY]:[]}[d]}function xe(d){let D=Pe.BOOLEAN;return k(d,m.strings)?D=Pe.STRING:k(d,m.numbers)?D=Pe.NUMBER:k(d,m.bools)?D=Pe.BOOLEAN:k(d,m.arrays)&&(D=Pe.ARRAY),D}function je(d){return d===void 0}function Kt(){Object.keys(m.counts).find(d=>k(d,m.arrays)?(R=Error(w("Invalid configuration: %s, opts.count excludes opts.array.",d)),!0):k(d,m.nargs)?(R=Error(w("Invalid configuration: %s, opts.count excludes opts.narg.",d)),!0):!1)}return{aliases:Object.assign({},m.aliases),argv:Object.assign(Ce,U),configuration:a,defaulted:Object.assign({},F),error:R,newAliases:Object.assign({},C)}}}function zs(i){const e=[],t=Object.create(null);let n=!0;for(Object.keys(i).forEach(function(r){e.push([].concat(i[r],r))});n;){n=!1;for(let r=0;r<e.length;r++)for(let s=r+1;s<e.length;s++)if(e[r].filter(function(a){return e[s].indexOf(a)!==-1}).length){e[r]=e[r].concat(e[s]),e.splice(s,1),n=!0;break}}return e.forEach(function(r){r=r.filter(function(u,a,c){return c.indexOf(u)===a});const s=r.pop();s!==void 0&&typeof s=="string"&&(t[s]=r)}),t}function jn(i){return i!==void 0?i+1:1}function Ti(i){return i==="__proto__"?"___proto___":i}function Hs(i){return typeof i=="string"&&(i[0]==="'"||i[0]==='"')&&i[i.length-1]===i[0]?i.substring(1,i.length-1):i}var Ln,Pn,Nn;const Ri=process&&process.env&&process.env.YARGS_MIN_NODE_VERSION?Number(process.env.YARGS_MIN_NODE_VERSION):12,Wi=(Pn=(Ln=process==null?void 0:process.versions)===null||Ln===void 0?void 0:Ln.node)!==null&&Pn!==void 0?Pn:(Nn=process==null?void 0:process.version)===null||Nn===void 0?void 0:Nn.slice(1);if(Wi&&Number(Wi.match(/^([^.]+)/)[1])<Ri)throw Error(`yargs parser supports a minimum Node.js version of ${Ri}. Read our version support policy: https://github.com/yargs/yargs-parser#supported-nodejs-versions`);const Gs=process?process.env:{},Ui=new Vs({cwd:process.cwd,env:()=>Gs,format:Ii,normalize:hs,resolve:ve,require:i=>{if(typeof Qt<"u")return Qt(i);if(i.match(/\.json$/))return JSON.parse($n(i,"utf8"));throw Error("only .json config files are supported in ESM")}}),Lt=function(e,t){return Ui.parse(e.slice(),t).argv};Lt.detailed=function(i,e){return Ui.parse(i.slice(),e)},Lt.camelCase=jt,Lt.decamelize=Mi,Lt.looksLikeNumber=ki;function Vi(){return Ys()?0:1}function Ys(){return qs()&&!process.defaultApp}function qs(){return!!process.versions.electron}function Js(i){return i.slice(Vi()+1)}function Ks(){return process.argv[Vi()]}class fe extends Error{constructor(e){super(e||"yargs error"),this.name="YError",Error.captureStackTrace&&Error.captureStackTrace(this,fe)}}const Qs={fs:{readFileSync:$n,writeFile:Cs},format:Ii,resolve:ve,exists:i=>{try{return Si(i).isFile()}catch{return!1}}};let Ne;class Xs{constructor(e){e=e||{},this.directory=e.directory||"./locales",this.updateFiles=typeof e.updateFiles=="boolean"?e.updateFiles:!0,this.locale=e.locale||"en",this.fallbackToLanguage=typeof e.fallbackToLanguage=="boolean"?e.fallbackToLanguage:!0,this.cache=Object.create(null),this.writeQueue=[]}__(...e){if(typeof arguments[0]!="string")return this._taggedLiteral(arguments[0],...arguments);const t=e.shift();let n=function(){};return typeof e[e.length-1]=="function"&&(n=e.pop()),n=n||function(){},this.cache[this.locale]||this._readLocaleFile(),!this.cache[this.locale][t]&&this.updateFiles?(this.cache[this.locale][t]=t,this._enqueueWrite({directory:this.directory,locale:this.locale,cb:n})):n(),Ne.format.apply(Ne.format,[this.cache[this.locale][t]||t].concat(e))}__n(){const e=Array.prototype.slice.call(arguments),t=e.shift(),n=e.shift(),r=e.shift();let s=function(){};typeof e[e.length-1]=="function"&&(s=e.pop()),this.cache[this.locale]||this._readLocaleFile();let u=r===1?t:n;this.cache[this.locale][t]&&(u=this.cache[this.locale][t][r===1?"one":"other"]),!this.cache[this.locale][t]&&this.updateFiles?(this.cache[this.locale][t]={one:t,other:n},this._enqueueWrite({directory:this.directory,locale:this.locale,cb:s})):s();const a=[u];return~u.indexOf("%d")&&a.push(r),Ne.format.apply(Ne.format,a.concat(e))}setLocale(e){this.locale=e}getLocale(){return this.locale}updateLocale(e){this.cache[this.locale]||this._readLocaleFile();for(const t in e)Object.prototype.hasOwnProperty.call(e,t)&&(this.cache[this.locale][t]=e[t])}_taggedLiteral(e,...t){let n="";return e.forEach(function(r,s){const u=t[s+1];n+=r,typeof u<"u"&&(n+="%s")}),this.__.apply(this,[n].concat([].slice.call(t,1)))}_enqueueWrite(e){this.writeQueue.push(e),this.writeQueue.length===1&&this._processWriteQueue()}_processWriteQueue(){const e=this,t=this.writeQueue[0],n=t.directory,r=t.locale,s=t.cb,u=this._resolveLocaleFile(n,r),a=JSON.stringify(this.cache[r],null,2);Ne.fs.writeFile(u,a,"utf-8",function(c){e.writeQueue.shift(),e.writeQueue.length>0&&e._processWriteQueue(),s(c)})}_readLocaleFile(){let e={};const t=this._resolveLocaleFile(this.directory,this.locale);try{Ne.fs.readFileSync&&(e=JSON.parse(Ne.fs.readFileSync(t,"utf-8")))}catch(n){if(n instanceof SyntaxError&&(n.message="syntax error in "+t),n.code==="ENOENT")e={};else throw n}this.cache[this.locale]=e}_resolveLocaleFile(e,t){let n=Ne.resolve(e,"./",t+".json");if(this.fallbackToLanguage&&!this._fileExistsSync(n)&&~t.lastIndexOf("_")){const r=Ne.resolve(e,"./",t.split("_")[0]+".json");this._fileExistsSync(r)&&(n=r)}return n}_fileExistsSync(e){return Ne.exists(e)}}function Zs(i,e){Ne=e;const t=new Xs(i);return{__:t.__.bind(t),__n:t.__n.bind(t),setLocale:t.setLocale.bind(t),getLocale:t.getLocale.bind(t),updateLocale:t.updateLocale.bind(t),locale:t.locale}}const eu=i=>Zs(i,Qs),tu="require is not supported by ESM",zi="loading a directory of commands is not supported yet for ESM";let Pt;try{Pt=As(import.meta.url)}catch{Pt=process.cwd()}const nu=Pt.substring(0,Pt.lastIndexOf("node_modules")),iu={assert:{notStrictEqual:fs,strictEqual:ds},cliui:Rs,findUp:Ws,getEnv:i=>process.env[i],inspect:ws,getCallerFile:()=>{throw new fe(zi)},getProcessArgvBin:Ks,mainFilename:nu||process.cwd(),Parser:Lt,path:{basename:ps,dirname:In,extname:ms,relative:gs,resolve:ve},process:{argv:()=>process.argv,cwd:process.cwd,emitWarning:(i,e)=>process.emitWarning(i,e),execPath:()=>process.execPath,exit:process.exit,nextTick:process.nextTick,stdColumns:typeof process.stdout.columns<"u"?process.stdout.columns:null},readFileSync:$n,require:()=>{throw new fe(tu)},requireDirectory:()=>{throw new fe(zi)},stringWidth:i=>[...i].length,y18n:eu({directory:ve(Pt,"../../../locales"),updateFiles:!1})};function Me(i,e,t,n){t.assert.notStrictEqual(i,e,n)}function Hi(i,e){e.assert.strictEqual(typeof i,"string")}function rn(i){return Object.keys(i)}function le(i){return!!i&&!!i.then&&typeof i.then=="function"}function Nt(i){const t=i.replace(/\s{2,}/g," ").split(/\s+(?![^[]*]|[^<]*>)/),n=/\.*[\][<>]/g,r=t.shift();if(!r)throw new Error(`No command found in: ${i}`);const s={cmd:r.replace(n,""),demanded:[],optional:[]};return t.forEach((u,a)=>{let c=!1;u=u.replace(/\s/g,""),/\.+[\]>]/.test(u)&&a===t.length-1&&(c=!0),/^\[/.test(u)?s.optional.push({cmd:u.replace(n,"").split("|"),variadic:c}):s.demanded.push({cmd:u.replace(n,"").split("|"),variadic:c})}),s}const ru=["first","second","third","fourth","fifth","sixth"];function $(i,e,t){function n(){return typeof i=="object"?[{demanded:[],optional:[]},i,e]:[Nt(`cmd ${i}`),e,t]}try{let r=0;const[s,u,a]=n(),c=[].slice.call(u);for(;c.length&&c[c.length-1]===void 0;)c.pop();const h=a||c.length;if(h<s.demanded.length)throw new fe(`Not enough arguments provided. Expected ${s.demanded.length} but received ${c.length}.`);const l=s.demanded.length+s.optional.length;if(h>l)throw new fe(`Too many arguments provided. Expected max ${l} but received ${h}.`);s.demanded.forEach(f=>{const p=c.shift(),C=Gi(p);f.cmd.filter(w=>w===C||w==="*").length===0&&Yi(C,f.cmd,r),r+=1}),s.optional.forEach(f=>{if(c.length===0)return;const p=c.shift(),C=Gi(p);f.cmd.filter(w=>w===C||w==="*").length===0&&Yi(C,f.cmd,r),r+=1})}catch(r){console.warn(r.stack)}}function Gi(i){return Array.isArray(i)?"array":i===null?"null":typeof i}function Yi(i,e,t){throw new fe(`Invalid ${ru[t]||"manyith"} argument. Expected ${e.join(" or ")} but received ${i}.`)}class su{constructor(e){this.globalMiddleware=[],this.frozens=[],this.yargs=e}addMiddleware(e,t,n=!0,r=!1){if($("<array|function> [boolean] [boolean] [boolean]",[e,t,n],arguments.length),Array.isArray(e)){for(let s=0;s<e.length;s++){if(typeof e[s]!="function")throw Error("middleware must be a function");const u=e[s];u.applyBeforeValidation=t,u.global=n}Array.prototype.push.apply(this.globalMiddleware,e)}else if(typeof e=="function"){const s=e;s.applyBeforeValidation=t,s.global=n,s.mutates=r,this.globalMiddleware.push(e)}return this.yargs}addCoerceMiddleware(e,t){const n=this.yargs.getAliases();return this.globalMiddleware=this.globalMiddleware.filter(r=>{const s=[...n[t]||[],t];return r.option?!s.includes(r.option):!0}),e.option=t,this.addMiddleware(e,!0,!0,!0)}getMiddleware(){return this.globalMiddleware}freeze(){this.frozens.push([...this.globalMiddleware])}unfreeze(){const e=this.frozens.pop();e!==void 0&&(this.globalMiddleware=e)}reset(){this.globalMiddleware=this.globalMiddleware.filter(e=>e.global)}}function uu(i){return i?i.map(e=>(e.applyBeforeValidation=!1,e)):[]}function Mt(i,e,t,n){return t.reduce((r,s)=>{if(s.applyBeforeValidation!==n)return r;if(s.mutates){if(s.applied)return r;s.applied=!0}if(le(r))return r.then(u=>Promise.all([u,s(u,e)])).then(([u,a])=>Object.assign(u,a));{const u=s(r,e);return le(u)?u.then(a=>Object.assign(r,a)):Object.assign(r,u)}},i)}function kt(i,e,t=n=>{throw n}){try{const n=ou(i)?i():i;return le(n)?n.then(r=>e(r)):e(n)}catch(n){return t(n)}}function ou(i){return typeof i=="function"}function au(i){if(typeof Qt>"u")return null;for(let e=0,t=Object.keys(require.cache),n;e<t.length;e++)if(n=require.cache[t[e]],n.exports===i)return n;return null}const Ft=/(^\*)|(^\$0)/;class cu{constructor(e,t,n,r){this.requireCache=new Set,this.handlers={},this.aliasMap={},this.frozens=[],this.shim=r,this.usage=e,this.globalMiddleware=n,this.validation=t}addDirectory(e,t,n,r){r=r||{},typeof r.recurse!="boolean"&&(r.recurse=!1),Array.isArray(r.extensions)||(r.extensions=["js"]);const s=typeof r.visit=="function"?r.visit:u=>u;r.visit=(u,a,c)=>{const h=s(u,a,c);if(h){if(this.requireCache.has(a))return h;this.requireCache.add(a),this.addHandler(h)}return h},this.shim.requireDirectory({require:t,filename:n},e,r)}addHandler(e,t,n,r,s,u){let a=[];const c=uu(s);if(r=r||(()=>{}),Array.isArray(e))if(fu(e))[e,...a]=e;else for(const h of e)this.addHandler(h);else if(hu(e)){let h=Array.isArray(e.command)||typeof e.command=="string"?e.command:this.moduleName(e);e.aliases&&(h=[].concat(h).concat(e.aliases)),this.addHandler(h,this.extractDesc(e),e.builder,e.handler,e.middlewares,e.deprecated);return}else if(qi(n)){this.addHandler([e].concat(a),t,n.builder,n.handler,n.middlewares,n.deprecated);return}if(typeof e=="string"){const h=Nt(e);a=a.map(p=>Nt(p).cmd);let l=!1;const f=[h.cmd].concat(a).filter(p=>Ft.test(p)?(l=!0,!1):!0);f.length===0&&l&&f.push("$0"),l&&(h.cmd=f[0],a=f.slice(1),e=e.replace(Ft,h.cmd)),a.forEach(p=>{this.aliasMap[p]=h.cmd}),t!==!1&&this.usage.command(e,t,l,a,u),this.handlers[h.cmd]={original:e,description:t,handler:r,builder:n||{},middlewares:c,deprecated:u,demanded:h.demanded,optional:h.optional},l&&(this.defaultCommand=this.handlers[h.cmd])}}getCommandHandlers(){return this.handlers}getCommands(){return Object.keys(this.handlers).concat(Object.keys(this.aliasMap))}hasDefaultCommand(){return!!this.defaultCommand}runCommand(e,t,n,r,s,u){const a=this.handlers[e]||this.handlers[this.aliasMap[e]]||this.defaultCommand,c=t.getInternalMethods().getContext(),h=c.commands.slice(),l=!e;e&&(c.commands.push(e),c.fullCommands.push(a.original));const f=this.applyBuilderUpdateUsageAndParse(l,a,t,n.aliases,h,r,s,u);return le(f)?f.then(p=>this.applyMiddlewareAndGetResult(l,a,p.innerArgv,c,s,p.aliases,t)):this.applyMiddlewareAndGetResult(l,a,f.innerArgv,c,s,f.aliases,t)}applyBuilderUpdateUsageAndParse(e,t,n,r,s,u,a,c){const h=t.builder;let l=n;if(Mn(h)){n.getInternalMethods().getUsageInstance().freeze();const f=h(n.getInternalMethods().reset(r),c);if(le(f))return f.then(p=>(l=Su(p)?p:n,this.parseAndUpdateUsage(e,t,l,s,u,a)))}else du(h)&&(n.getInternalMethods().getUsageInstance().freeze(),l=n.getInternalMethods().reset(r),Object.keys(t.builder).forEach(f=>{l.option(f,h[f])}));return this.parseAndUpdateUsage(e,t,l,s,u,a)}parseAndUpdateUsage(e,t,n,r,s,u){e&&n.getInternalMethods().getUsageInstance().unfreeze(!0),this.shouldUpdateUsage(n)&&n.getInternalMethods().getUsageInstance().usage(this.usageFromParentCommandsCommandHandler(r,t),t.description);const a=n.getInternalMethods().runYargsParserAndExecuteCommands(null,void 0,!0,s,u);return le(a)?a.then(c=>({aliases:n.parsed.aliases,innerArgv:c})):{aliases:n.parsed.aliases,innerArgv:a}}shouldUpdateUsage(e){return!e.getInternalMethods().getUsageInstance().getUsageDisabled()&&e.getInternalMethods().getUsageInstance().getUsage().length===0}usageFromParentCommandsCommandHandler(e,t){const n=Ft.test(t.original)?t.original.replace(Ft,"").trim():t.original,r=e.filter(s=>!Ft.test(s));return r.push(n),`$0 ${r.join(" ")}`}handleValidationAndGetResult(e,t,n,r,s,u,a,c){if(!u.getInternalMethods().getHasOutput()){const h=u.getInternalMethods().runValidation(s,c,u.parsed.error,e);n=kt(n,l=>(h(l),l))}if(t.handler&&!u.getInternalMethods().getHasOutput()){u.getInternalMethods().setHasOutput();const h=!!u.getOptions().configuration["populate--"];u.getInternalMethods().postProcess(n,h,!1,!1),n=Mt(n,u,a,!1),n=kt(n,l=>{const f=t.handler(l);return le(f)?f.then(()=>l):l}),e||u.getInternalMethods().getUsageInstance().cacheHelpMessage(),le(n)&&!u.getInternalMethods().hasParseCallback()&&n.catch(l=>{try{u.getInternalMethods().getUsageInstance().fail(null,l)}catch{}})}return e||(r.commands.pop(),r.fullCommands.pop()),n}applyMiddlewareAndGetResult(e,t,n,r,s,u,a){let c={};if(s)return n;a.getInternalMethods().getHasOutput()||(c=this.populatePositionals(t,n,r,a));const h=this.globalMiddleware.getMiddleware().slice(0).concat(t.middlewares),l=Mt(n,a,h,!0);return le(l)?l.then(f=>this.handleValidationAndGetResult(e,t,f,r,u,a,h,c)):this.handleValidationAndGetResult(e,t,l,r,u,a,h,c)}populatePositionals(e,t,n,r){t._=t._.slice(n.commands.length);const s=e.demanded.slice(0),u=e.optional.slice(0),a={};for(this.validation.positionalCount(s.length,t._.length);s.length;){const c=s.shift();this.populatePositional(c,t,a)}for(;u.length;){const c=u.shift();this.populatePositional(c,t,a)}return t._=n.commands.concat(t._.map(c=>""+c)),this.postProcessPositionals(t,a,this.cmdToParseOptions(e.original),r),a}populatePositional(e,t,n){const r=e.cmd[0];e.variadic?n[r]=t._.splice(0).map(String):t._.length&&(n[r]=[String(t._.shift())])}cmdToParseOptions(e){const t={array:[],default:{},alias:{},demand:{}},n=Nt(e);return n.demanded.forEach(r=>{const[s,...u]=r.cmd;r.variadic&&(t.array.push(s),t.default[s]=[]),t.alias[s]=u,t.demand[s]=!0}),n.optional.forEach(r=>{const[s,...u]=r.cmd;r.variadic&&(t.array.push(s),t.default[s]=[]),t.alias[s]=u}),t}postProcessPositionals(e,t,n,r){const s=Object.assign({},r.getOptions());s.default=Object.assign(n.default,s.default);for(const h of Object.keys(n.alias))s.alias[h]=(s.alias[h]||[]).concat(n.alias[h]);s.array=s.array.concat(n.array),s.config={};const u=[];if(Object.keys(t).forEach(h=>{t[h].map(l=>{s.configuration["unknown-options-as-args"]&&(s.key[h]=!0),u.push(`--${h}`),u.push(l)})}),!u.length)return;const a=Object.assign({},s.configuration,{"populate--":!1}),c=this.shim.Parser.detailed(u,Object.assign({},s,{configuration:a}));if(c.error)r.getInternalMethods().getUsageInstance().fail(c.error.message,c.error);else{const h=Object.keys(t);Object.keys(t).forEach(l=>{h.push(...c.aliases[l])}),Object.keys(c.argv).forEach(l=>{h.includes(l)&&(t[l]||(t[l]=c.argv[l]),!this.isInConfigs(r,l)&&!this.isDefaulted(r,l)&&Object.prototype.hasOwnProperty.call(e,l)&&Object.prototype.hasOwnProperty.call(c.argv,l)&&(Array.isArray(e[l])||Array.isArray(c.argv[l]))?e[l]=[].concat(e[l],c.argv[l]):e[l]=c.argv[l])})}}isDefaulted(e,t){const{default:n}=e.getOptions();return Object.prototype.hasOwnProperty.call(n,t)||Object.prototype.hasOwnProperty.call(n,this.shim.Parser.camelCase(t))}isInConfigs(e,t){const{configObjects:n}=e.getOptions();return n.some(r=>Object.prototype.hasOwnProperty.call(r,t))||n.some(r=>Object.prototype.hasOwnProperty.call(r,this.shim.Parser.camelCase(t)))}runDefaultBuilderOn(e){if(!this.defaultCommand)return;if(this.shouldUpdateUsage(e)){const n=Ft.test(this.defaultCommand.original)?this.defaultCommand.original:this.defaultCommand.original.replace(/^[^[\]<>]*/,"$0 ");e.getInternalMethods().getUsageInstance().usage(n,this.defaultCommand.description)}const t=this.defaultCommand.builder;if(Mn(t))return t(e,!0);qi(t)||Object.keys(t).forEach(n=>{e.option(n,t[n])})}moduleName(e){const t=au(e);if(!t)throw new Error(`No command name given for module: ${this.shim.inspect(e)}`);return this.commandFromFilename(t.filename)}commandFromFilename(e){return this.shim.path.basename(e,this.shim.path.extname(e))}extractDesc({describe:e,description:t,desc:n}){for(const r of[e,t,n]){if(typeof r=="string"||r===!1)return r;Me(r,!0,this.shim)}return!1}freeze(){this.frozens.push({handlers:this.handlers,aliasMap:this.aliasMap,defaultCommand:this.defaultCommand})}unfreeze(){const e=this.frozens.pop();Me(e,void 0,this.shim),{handlers:this.handlers,aliasMap:this.aliasMap,defaultCommand:this.defaultCommand}=e}reset(){return this.handlers={},this.aliasMap={},this.defaultCommand=void 0,this.requireCache=new Set,this}}function lu(i,e,t,n){return new cu(i,e,t,n)}function qi(i){return typeof i=="object"&&!!i.builder&&typeof i.handler=="function"}function fu(i){return i.every(e=>typeof e=="string")}function Mn(i){return typeof i=="function"}function du(i){return typeof i=="object"}function hu(i){return typeof i=="object"&&!Array.isArray(i)}function Tt(i={},e=()=>!0){const t={};return rn(i).forEach(n=>{e(n,i[n])&&(t[n]=i[n])}),t}function Rt(i){typeof process>"u"||[process.stdout,process.stderr].forEach(e=>{const t=e;t._handle&&t.isTTY&&typeof t._handle.setBlocking=="function"&&t._handle.setBlocking(i)})}function pu(i){return typeof i=="boolean"}function mu(i,e){const t=e.y18n.__,n={},r=[];n.failFn=function(B){r.push(B)};let s=null,u=null,a=!0;n.showHelpOnFail=function(B=!0,I){const[V,K]=typeof B=="string"?[!0,B]:[B,I];return i.getInternalMethods().isGlobalContext()&&(u=K),s=K,a=V,n};let c=!1;n.fail=function(B,I){const V=i.getInternalMethods().getLoggerInstance();if(r.length)for(let K=r.length-1;K>=0;--K){const de=r[K];if(pu(de)){if(I)throw I;if(B)throw Error(B)}else de(B,I,n)}else{if(i.getExitProcess()&&Rt(!0),!c){c=!0,a&&(i.showHelp("error"),V.error()),(B||I)&&V.error(B||I);const K=s||u;K&&((B||I)&&V.error(""),V.error(K))}if(I=I||new fe(B),i.getExitProcess())return i.exit(1);if(i.getInternalMethods().hasParseCallback())return i.exit(1,I);throw I}};let h=[],l=!1;n.usage=(j,B)=>j===null?(l=!0,h=[],n):(l=!1,h.push([j,B||""]),n),n.getUsage=()=>h,n.getUsageDisabled=()=>l,n.getPositionalGroupName=()=>t("Positionals:");let f=[];n.example=(j,B)=>{f.push([j,B||""])};let p=[];n.command=function(B,I,V,K,de=!1){V&&(p=p.map(J=>(J[2]=!1,J))),p.push([B,I||"",V,K,de])},n.getCommands=()=>p;let C={};n.describe=function(B,I){Array.isArray(B)?B.forEach(V=>{n.describe(V,I)}):typeof B=="object"?Object.keys(B).forEach(V=>{n.describe(V,B[V])}):C[B]=I},n.getDescriptions=()=>C;let F=[];n.epilog=j=>{F.push(j)};let w=!1,m;n.wrap=j=>{w=!0,m=j},n.getWrap=()=>e.getEnv("YARGS_DISABLE_WRAP")?null:(w||(m=Et(),w=!0),m);const y="__yargsString__:";n.deferY18nLookup=j=>y+j,n.help=function(){if(N)return N;R();const B=i.customScriptName?i.$0:e.path.basename(i.$0),I=i.getDemandedOptions(),V=i.getDemandedCommands(),K=i.getDeprecatedOptions(),de=i.getGroups(),J=i.getOptions();let he=[];he=he.concat(Object.keys(C)),he=he.concat(Object.keys(I)),he=he.concat(Object.keys(V)),he=he.concat(Object.keys(J.default)),he=he.filter(Ce),he=Object.keys(he.reduce((M,te)=>(te!=="_"&&(M[te]=!0),M),{}));const rt=n.getWrap(),ne=e.cliui({width:rt,wrap:!!rt});if(!l){if(h.length)h.forEach(M=>{ne.div({text:`${M[0].replace(/\$0/g,B)}`}),M[1]&&ne.div({text:`${M[1]}`,padding:[1,0,0,0]})}),ne.div();else if(p.length){let M=null;V._?M=`${B} <${t("command")}>
|
|
8
|
+
`:M=`${B} [${t("command")}]
|
|
9
|
+
`,ne.div(`${M}`)}}if(p.length>1||p.length===1&&!p[0][2]){ne.div(t("Commands:"));const M=i.getInternalMethods().getContext(),te=M.commands.length?`${M.commands.join(" ")} `:"";i.getInternalMethods().getParserConfiguration()["sort-commands"]===!0&&(p=p.sort((q,re)=>q[0].localeCompare(re[0])));const ie=B?`${B} `:"";p.forEach(q=>{const re=`${ie}${te}${q[0].replace(/^\$0 ?/,"")}`;ne.span({text:re,padding:[0,2,0,2],width:S(p,rt,`${B}${te}`)+4},{text:q[1]});const ue=[];q[2]&&ue.push(`[${t("default")}]`),q[3]&&q[3].length&&ue.push(`[${t("aliases:")} ${q[3].join(", ")}]`),q[4]&&(typeof q[4]=="string"?ue.push(`[${t("deprecated: %s",q[4])}]`):ue.push(`[${t("deprecated")}]`)),ue.length?ne.div({text:ue.join(" "),padding:[0,0,0,2],align:"right"}):ne.div()}),ne.div()}const Ue=(Object.keys(J.alias)||[]).concat(Object.keys(i.parsed.newAliases)||[]);he=he.filter(M=>!i.parsed.newAliases[M]&&Ue.every(te=>(J.alias[te]||[]).indexOf(M)===-1));const Ve=t("Options:");de[Ve]||(de[Ve]=[]),U(he,J.alias,de,Ve);const st=M=>/^--/.test(sn(M)),k=Object.keys(de).filter(M=>de[M].length>0).map(M=>{const te=de[M].filter(Ce).map(ie=>{if(Ue.includes(ie))return ie;for(let q=0,re;(re=Ue[q])!==void 0;q++)if((J.alias[re]||[]).includes(ie))return re;return ie});return{groupName:M,normalizedKeys:te}}).filter(({normalizedKeys:M})=>M.length>0).map(({groupName:M,normalizedKeys:te})=>{const ie=te.reduce((q,re)=>(q[re]=[re].concat(J.alias[re]||[]).map(ue=>M===n.getPositionalGroupName()?ue:(/^[0-9]$/.test(ue)?J.boolean.includes(re)?"-":"--":ue.length>1?"--":"-")+ue).sort((ue,xe)=>st(ue)===st(xe)?0:st(ue)?1:-1).join(", "),q),{});return{groupName:M,normalizedKeys:te,switches:ie}});if(k.filter(({groupName:M})=>M!==n.getPositionalGroupName()).some(({normalizedKeys:M,switches:te})=>!M.every(ie=>st(te[ie])))&&k.filter(({groupName:M})=>M!==n.getPositionalGroupName()).forEach(({normalizedKeys:M,switches:te})=>{M.forEach(ie=>{st(te[ie])&&(te[ie]=gu(te[ie],4))})}),k.forEach(({groupName:M,normalizedKeys:te,switches:ie})=>{ne.div(M),te.forEach(q=>{const re=ie[q];let ue=C[q]||"",xe=null;ue.includes(y)&&(ue=t(ue.substring(y.length))),J.boolean.includes(q)&&(xe=`[${t("boolean")}]`),J.count.includes(q)&&(xe=`[${t("count")}]`),J.string.includes(q)&&(xe=`[${t("string")}]`),J.normalize.includes(q)&&(xe=`[${t("string")}]`),J.array.includes(q)&&(xe=`[${t("array")}]`),J.number.includes(q)&&(xe=`[${t("number")}]`);const je=D=>typeof D=="string"?`[${t("deprecated: %s",D)}]`:`[${t("deprecated")}]`,Kt=[q in K?je(K[q]):null,xe,q in I?`[${t("required")}]`:null,J.choices&&J.choices[q]?`[${t("choices:")} ${n.stringifiedValues(J.choices[q])}]`:null,$e(J.default[q],J.defaultDescription[q])].filter(Boolean).join(" ");ne.span({text:sn(re),padding:[0,2,0,2+Ji(re)],width:S(ie,rt)+4},ue);const d=i.getInternalMethods().getUsageConfiguration()["hide-types"]===!0;Kt&&!d?ne.div({text:Kt,padding:[0,0,0,2],align:"right"}):ne.div()}),ne.div()}),f.length&&(ne.div(t("Examples:")),f.forEach(M=>{M[0]=M[0].replace(/\$0/g,B)}),f.forEach(M=>{M[1]===""?ne.div({text:M[0],padding:[0,2,0,2]}):ne.div({text:M[0],padding:[0,2,0,2],width:S(f,rt)+4},{text:M[1]})}),ne.div()),F.length>0){const M=F.map(te=>te.replace(/\$0/g,B)).join(`
|
|
10
|
+
`);ne.div(`${M}
|
|
11
|
+
`)}return ne.toString().replace(/\s*$/,"")};function S(j,B,I){let V=0;return Array.isArray(j)||(j=Object.values(j).map(K=>[K])),j.forEach(K=>{V=Math.max(e.stringWidth(I?`${I} ${sn(K[0])}`:sn(K[0]))+Ji(K[0]),V)}),B&&(V=Math.min(V,parseInt((B*.5).toString(),10))),V}function R(){const j=i.getDemandedOptions(),B=i.getOptions();(Object.keys(B.alias)||[]).forEach(I=>{B.alias[I].forEach(V=>{C[V]&&n.describe(I,C[V]),V in j&&i.demandOption(I,j[V]),B.boolean.includes(V)&&i.boolean(I),B.count.includes(V)&&i.count(I),B.string.includes(V)&&i.string(I),B.normalize.includes(V)&&i.normalize(I),B.array.includes(V)&&i.array(I),B.number.includes(V)&&i.number(I)})})}let N;n.cacheHelpMessage=function(){N=this.help()},n.clearCachedHelpMessage=function(){N=void 0},n.hasCachedHelpMessage=function(){return!!N};function U(j,B,I,V){let K=[],de=null;return Object.keys(I).forEach(J=>{K=K.concat(I[J])}),j.forEach(J=>{de=[J].concat(B[J]),de.some(he=>K.indexOf(he)!==-1)||I[V].push(J)}),K}function Ce(j){return i.getOptions().hiddenOptions.indexOf(j)<0||i.parsed.argv[i.getOptions().showHiddenOpt]}n.showHelp=j=>{const B=i.getInternalMethods().getLoggerInstance();j||(j="error"),(typeof j=="function"?j:B[j])(n.help())},n.functionDescription=j=>["(",j.name?e.Parser.decamelize(j.name,"-"):t("generated-value"),")"].join(""),n.stringifiedValues=function(B,I){let V="";const K=I||", ",de=[].concat(B);return!B||!de.length||de.forEach(J=>{V.length&&(V+=K),V+=JSON.stringify(J)}),V};function $e(j,B){let I=`[${t("default:")} `;if(j===void 0&&!B)return null;if(B)I+=B;else switch(typeof j){case"string":I+=`"${j}"`;break;case"object":I+=JSON.stringify(j);break;default:I+=j}return`${I}]`}function Et(){return e.process.stdColumns?Math.min(80,e.process.stdColumns):80}let it=null;n.version=j=>{it=j},n.showVersion=j=>{const B=i.getInternalMethods().getLoggerInstance();j||(j="error"),(typeof j=="function"?j:B[j])(it)},n.reset=function(B){return s=null,c=!1,h=[],l=!1,F=[],f=[],p=[],C=Tt(C,I=>!B[I]),n};const X=[];return n.freeze=function(){X.push({failMessage:s,failureOutput:c,usages:h,usageDisabled:l,epilogs:F,examples:f,commands:p,descriptions:C})},n.unfreeze=function(B=!1){const I=X.pop();I&&(B?(C={...I.descriptions,...C},p=[...I.commands,...p],h=[...I.usages,...h],f=[...I.examples,...f],F=[...I.epilogs,...F]):{failMessage:s,failureOutput:c,usages:h,usageDisabled:l,epilogs:F,examples:f,commands:p,descriptions:C}=I)},n}function kn(i){return typeof i=="object"}function gu(i,e){return kn(i)?{text:i.text,indentation:i.indentation+e}:{text:i,indentation:e}}function Ji(i){return kn(i)?i.indentation:0}function sn(i){return kn(i)?i.text:i}const Du=`###-begin-{{app_name}}-completions-###
|
|
12
12
|
#
|
|
13
13
|
# yargs command completion script
|
|
14
14
|
#
|
|
@@ -36,7 +36,7 @@ _{{app_name}}_yargs_completions()
|
|
|
36
36
|
}
|
|
37
37
|
complete -o bashdefault -o default -F _{{app_name}}_yargs_completions {{app_name}}
|
|
38
38
|
###-end-{{app_name}}-completions-###
|
|
39
|
-
`,
|
|
39
|
+
`,Cu=`#compdef {{app_name}}
|
|
40
40
|
###-begin-{{app_name}}-completions-###
|
|
41
41
|
#
|
|
42
42
|
# yargs command completion script
|
|
@@ -55,32 +55,51 @@ _{{app_name}}_yargs_completions()
|
|
|
55
55
|
}
|
|
56
56
|
compdef _{{app_name}}_yargs_completions {{app_name}}
|
|
57
57
|
###-end-{{app_name}}-completions-###
|
|
58
|
-
`;class
|
|
58
|
+
`;class wu{constructor(e,t,n,r){var s,u,a;this.yargs=e,this.usage=t,this.command=n,this.shim=r,this.completionKey="get-yargs-completions",this.aliases=null,this.customCompletionFunction=null,this.indexAfterLastReset=0,this.zshShell=(a=((s=this.shim.getEnv("SHELL"))===null||s===void 0?void 0:s.includes("zsh"))||((u=this.shim.getEnv("ZSH_NAME"))===null||u===void 0?void 0:u.includes("zsh")))!==null&&a!==void 0?a:!1}defaultCompletion(e,t,n,r){const s=this.command.getCommandHandlers();for(let a=0,c=e.length;a<c;++a)if(s[e[a]]&&s[e[a]].builder){const h=s[e[a]].builder;if(Mn(h)){this.indexAfterLastReset=a+1;const l=this.yargs.getInternalMethods().reset();return h(l,!0),l.argv}}const u=[];this.commandCompletions(u,e,n),this.optionCompletions(u,e,t,n),this.choicesFromOptionsCompletions(u,e,t,n),this.choicesFromPositionalsCompletions(u,e,t,n),r(null,u)}commandCompletions(e,t,n){const r=this.yargs.getInternalMethods().getContext().commands;!n.match(/^-/)&&r[r.length-1]!==n&&!this.previousArgHasChoices(t)&&this.usage.getCommands().forEach(s=>{const u=Nt(s[0]).cmd;if(t.indexOf(u)===-1)if(!this.zshShell)e.push(u);else{const a=s[1]||"";e.push(u.replace(/:/g,"\\:")+":"+a)}})}optionCompletions(e,t,n,r){if((r.match(/^-/)||r===""&&e.length===0)&&!this.previousArgHasChoices(t)){const s=this.yargs.getOptions(),u=this.yargs.getGroups()[this.usage.getPositionalGroupName()]||[];Object.keys(s.key).forEach(a=>{const c=!!s.configuration["boolean-negation"]&&s.boolean.includes(a);!u.includes(a)&&!s.hiddenOptions.includes(a)&&!this.argsContainKey(t,a,c)&&this.completeOptionKey(a,e,r,c&&!!s.default[a])})}}choicesFromOptionsCompletions(e,t,n,r){if(this.previousArgHasChoices(t)){const s=this.getPreviousArgChoices(t);s&&s.length>0&&e.push(...s.map(u=>u.replace(/:/g,"\\:")))}}choicesFromPositionalsCompletions(e,t,n,r){if(r===""&&e.length>0&&this.previousArgHasChoices(t))return;const s=this.yargs.getGroups()[this.usage.getPositionalGroupName()]||[],u=Math.max(this.indexAfterLastReset,this.yargs.getInternalMethods().getContext().commands.length+1),a=s[n._.length-u-1];if(!a)return;const c=this.yargs.getOptions().choices[a]||[];for(const h of c)h.startsWith(r)&&e.push(h.replace(/:/g,"\\:"))}getPreviousArgChoices(e){if(e.length<1)return;let t=e[e.length-1],n="";if(!t.startsWith("-")&&e.length>1&&(n=t,t=e[e.length-2]),!t.startsWith("-"))return;const r=t.replace(/^-+/,""),s=this.yargs.getOptions(),u=[r,...this.yargs.getAliases()[r]||[]];let a;for(const c of u)if(Object.prototype.hasOwnProperty.call(s.key,c)&&Array.isArray(s.choices[c])){a=s.choices[c];break}if(a)return a.filter(c=>!n||c.startsWith(n))}previousArgHasChoices(e){const t=this.getPreviousArgChoices(e);return t!==void 0&&t.length>0}argsContainKey(e,t,n){const r=s=>e.indexOf((/^[^0-9]$/.test(s)?"-":"--")+s)!==-1;if(r(t)||n&&r(`no-${t}`))return!0;if(this.aliases){for(const s of this.aliases[t])if(r(s))return!0}return!1}completeOptionKey(e,t,n,r){var s,u,a,c;let h=e;if(this.zshShell){const C=this.usage.getDescriptions(),F=(u=(s=this===null||this===void 0?void 0:this.aliases)===null||s===void 0?void 0:s[e])===null||u===void 0?void 0:u.find(y=>{const S=C[y];return typeof S=="string"&&S.length>0}),w=F?C[F]:void 0,m=(c=(a=C[e])!==null&&a!==void 0?a:w)!==null&&c!==void 0?c:"";h=`${e.replace(/:/g,"\\:")}:${m.replace("__yargsString__:","").replace(/(\r\n|\n|\r)/gm," ")}`}const l=C=>/^--/.test(C),f=C=>/^[^0-9]$/.test(C),p=!l(n)&&f(e)?"-":"--";t.push(p+h),r&&t.push(p+"no-"+h)}customCompletion(e,t,n,r){if(Me(this.customCompletionFunction,null,this.shim),Eu(this.customCompletionFunction)){const s=this.customCompletionFunction(n,t);return le(s)?s.then(u=>{this.shim.process.nextTick(()=>{r(null,u)})}).catch(u=>{this.shim.process.nextTick(()=>{r(u,void 0)})}):r(null,s)}else return bu(this.customCompletionFunction)?this.customCompletionFunction(n,t,(s=r)=>this.defaultCompletion(e,t,n,s),s=>{r(null,s)}):this.customCompletionFunction(n,t,s=>{r(null,s)})}getCompletion(e,t){const n=e.length?e[e.length-1]:"",r=this.yargs.parse(e,!0),s=this.customCompletionFunction?u=>this.customCompletion(e,u,n,t):u=>this.defaultCompletion(e,u,n,t);return le(r)?r.then(s):s(r)}generateCompletionScript(e,t){let n=this.zshShell?Cu:Du;const r=this.shim.path.basename(e);return e.match(/\.js$/)&&(e=`./${e}`),n=n.replace(/{{app_name}}/g,r),n=n.replace(/{{completion_command}}/g,t),n.replace(/{{app_path}}/g,e)}registerFunction(e){this.customCompletionFunction=e}setParsed(e){this.aliases=e.aliases}}function Au(i,e,t,n){return new wu(i,e,t,n)}function Eu(i){return i.length<3}function bu(i){return i.length>3}function Fu(i,e){if(i.length===0)return e.length;if(e.length===0)return i.length;const t=[];let n;for(n=0;n<=e.length;n++)t[n]=[n];let r;for(r=0;r<=i.length;r++)t[0][r]=r;for(n=1;n<=e.length;n++)for(r=1;r<=i.length;r++)e.charAt(n-1)===i.charAt(r-1)?t[n][r]=t[n-1][r-1]:n>1&&r>1&&e.charAt(n-2)===i.charAt(r-1)&&e.charAt(n-1)===i.charAt(r-2)?t[n][r]=t[n-2][r-2]+1:t[n][r]=Math.min(t[n-1][r-1]+1,Math.min(t[n][r-1]+1,t[n-1][r]+1));return t[e.length][i.length]}const Ki=["$0","--","_"];function yu(i,e,t){const n=t.y18n.__,r=t.y18n.__n,s={};s.nonOptionCount=function(f){const p=i.getDemandedCommands(),F=f._.length+(f["--"]?f["--"].length:0)-i.getInternalMethods().getContext().commands.length;p._&&(F<p._.min||F>p._.max)&&(F<p._.min?p._.minMsg!==void 0?e.fail(p._.minMsg?p._.minMsg.replace(/\$0/g,F.toString()).replace(/\$1/,p._.min.toString()):null):e.fail(r("Not enough non-option arguments: got %s, need at least %s","Not enough non-option arguments: got %s, need at least %s",F,F.toString(),p._.min.toString())):F>p._.max&&(p._.maxMsg!==void 0?e.fail(p._.maxMsg?p._.maxMsg.replace(/\$0/g,F.toString()).replace(/\$1/,p._.max.toString()):null):e.fail(r("Too many non-option arguments: got %s, maximum of %s","Too many non-option arguments: got %s, maximum of %s",F,F.toString(),p._.max.toString()))))},s.positionalCount=function(f,p){p<f&&e.fail(r("Not enough non-option arguments: got %s, need at least %s","Not enough non-option arguments: got %s, need at least %s",p,p+"",f+""))},s.requiredArguments=function(f,p){let C=null;for(const F of Object.keys(p))(!Object.prototype.hasOwnProperty.call(f,F)||typeof f[F]>"u")&&(C=C||{},C[F]=p[F]);if(C){const F=[];for(const m of Object.keys(C)){const y=C[m];y&&F.indexOf(y)<0&&F.push(y)}const w=F.length?`
|
|
59
59
|
${F.join(`
|
|
60
|
-
`)}`:"";e.fail(r("Missing required argument: %s","Missing required arguments: %s",Object.keys(C).length,Object.keys(C).join(", ")+w))}},s.unknownArguments=function(f,
|
|
61
|
-
${n("Argument: %s, Given: %s, Choices: %s",
|
|
62
|
-
`;m.forEach(F=>{C+=F}),e.fail(C)}};let c={};s.conflicts=function(f,m){x("<string|object> [array|string]",[f,m],arguments.length),typeof f=="object"?Object.keys(f).forEach(C=>{s.conflicts(C,f[C])}):(i.global(f),c[f]||(c[f]=[]),Array.isArray(m)?m.forEach(C=>s.conflicts(f,C)):c[f].push(m))},s.getConflicting=()=>c,s.conflicting=function(f){Object.keys(f).forEach(m=>{c[m]&&c[m].forEach(C=>{C&&f[m]!==void 0&&f[C]!==void 0&&e.fail(n("Arguments %s and %s are mutually exclusive",m,C))})}),i.getInternalMethods().getParserConfiguration()["strip-dashed"]&&Object.keys(c).forEach(m=>{c[m].forEach(C=>{C&&f[t.Parser.camelCase(m)]!==void 0&&f[t.Parser.camelCase(C)]!==void 0&&e.fail(n("Arguments %s and %s are mutually exclusive",m,C))})})},s.recommendCommands=function(f,m){m=m.sort((p,y)=>y.length-p.length);let F=null,w=1/0;for(let p=0,y;(y=m[p])!==void 0;p++){const B=bu(f,y);B<=3&&B<w&&(w=B,F=y)}F&&e.fail(n("Did you mean %s?",F))},s.reset=function(f){return u=Mt(u,m=>!f[m]),c=Mt(c,m=>!f[m]),s};const h=[];return s.freeze=function(){h.push({implied:u,conflicting:c})},s.unfreeze=function(){const f=h.pop();Le(f,void 0,t),{implied:u,conflicting:c}=f},s}let Pn=[],Tt;function Nn(i,e,t,n){Tt=n;let r={};if(Object.prototype.hasOwnProperty.call(i,"extends")){if(typeof i.extends!="string")return r;const s=/\.json|\..*rc$/.test(i.extends);let u=null;if(s)u=vu(e,i.extends);else try{u=require.resolve(i.extends)}catch{return i}yu(u),Pn.push(u),r=s?JSON.parse(Tt.readFileSync(u,"utf8")):qt(i.extends),delete i.extends,r=Nn(r,Tt.path.dirname(u),t,Tt)}return Pn=[],t?Ki(r,i):Object.assign({},r,i)}function yu(i){if(Pn.indexOf(i)>-1)throw new le(`Circular extended configurations: '${i}'.`)}function vu(i,e){return Tt.path.resolve(i,e)}function Ki(i,e){const t={};function n(r){return r&&typeof r=="object"&&!Array.isArray(r)}Object.assign(t,i);for(const r of Object.keys(e))n(e[r])&&n(t[r])?t[r]=Ki(i[r],e[r]):t[r]=e[r];return t}var S=function(i,e,t,n,r){if(n==="m")throw new TypeError("Private method is not writable");if(n==="a"&&!r)throw new TypeError("Private accessor was defined without a setter");if(typeof e=="function"?i!==e||!r:!e.has(i))throw new TypeError("Cannot write private member to an object whose class did not declare it");return n==="a"?r.call(i,t):r?r.value=t:e.set(i,t),t},o=function(i,e,t,n){if(t==="a"&&!n)throw new TypeError("Private accessor was defined without a getter");if(typeof e=="function"?i!==e||!n:!e.has(i))throw new TypeError("Cannot read private member from an object whose class did not declare it");return t==="m"?n:t==="a"?n.call(i):n?n.value:e.get(i)},oe,st,Rt,ve,be,rn,Ke,ut,sn,Be,un,Oe,Te,Fe,_e,on,bt,me,P,an,cn,ye,ot,Ft,at,Qe,ln,R,ct,lt,ft,W,fn,Re,se;function Bu(i){return(e=[],t=i.process.cwd(),n)=>{const r=new Ou(e,t,n,i);return Object.defineProperty(r,"argv",{get:()=>r.parse(),enumerable:!0}),r.help(),r.version(),r}}const Qi=Symbol("copyDoubleDash"),Xi=Symbol("copyDoubleDash"),Ln=Symbol("deleteFromParserHintObject"),Zi=Symbol("emitWarning"),er=Symbol("freeze"),tr=Symbol("getDollarZero"),dt=Symbol("getParserConfiguration"),nr=Symbol("getUsageConfiguration"),Mn=Symbol("guessLocale"),ir=Symbol("guessVersion"),rr=Symbol("parsePositionalNumbers"),kn=Symbol("pkgUp"),Xe=Symbol("populateParserHintArray"),yt=Symbol("populateParserHintSingleValueDictionary"),Tn=Symbol("populateParserHintArrayDictionary"),Rn=Symbol("populateParserHintDictionary"),Wn=Symbol("sanitizeKey"),Un=Symbol("setKey"),Vn=Symbol("unfreeze"),sr=Symbol("validateAsync"),ur=Symbol("getCommandInstance"),or=Symbol("getContext"),ar=Symbol("getHasOutput"),cr=Symbol("getLoggerInstance"),lr=Symbol("getParseContext"),fr=Symbol("getUsageInstance"),dr=Symbol("getValidationInstance"),dn=Symbol("hasParseCallback"),hr=Symbol("isGlobalContext"),ht=Symbol("postProcess"),pr=Symbol("rebase"),zn=Symbol("reset"),Wt=Symbol("runYargsParserAndExecuteCommands"),Hn=Symbol("runValidation"),mr=Symbol("setHasOutput"),pt=Symbol("kTrackManuallySetKeys");class Ou{constructor(e=[],t,n,r){this.customScriptName=!1,this.parsed=!1,oe.set(this,void 0),st.set(this,void 0),Rt.set(this,{commands:[],fullCommands:[]}),ve.set(this,null),be.set(this,null),rn.set(this,"show-hidden"),Ke.set(this,null),ut.set(this,!0),sn.set(this,{}),Be.set(this,!0),un.set(this,[]),Oe.set(this,void 0),Te.set(this,{}),Fe.set(this,!1),_e.set(this,null),on.set(this,!0),bt.set(this,void 0),me.set(this,""),P.set(this,void 0),an.set(this,void 0),cn.set(this,{}),ye.set(this,null),ot.set(this,null),Ft.set(this,{}),at.set(this,{}),Qe.set(this,void 0),ln.set(this,!1),R.set(this,void 0),ct.set(this,!1),lt.set(this,!1),ft.set(this,!1),W.set(this,void 0),fn.set(this,{}),Re.set(this,null),se.set(this,void 0),S(this,R,r,"f"),S(this,Qe,e,"f"),S(this,st,t,"f"),S(this,an,n,"f"),S(this,Oe,new ru(this),"f"),this.$0=this[tr](),this[zn](),S(this,oe,o(this,oe,"f"),"f"),S(this,W,o(this,W,"f"),"f"),S(this,se,o(this,se,"f"),"f"),S(this,P,o(this,P,"f"),"f"),o(this,P,"f").showHiddenOpt=o(this,rn,"f"),S(this,bt,this[Xi](),"f")}addHelpOpt(e,t){const n="help";return x("[string|boolean] [string]",[e,t],arguments.length),o(this,_e,"f")&&(this[Ln](o(this,_e,"f")),S(this,_e,null,"f")),e===!1&&t===void 0?this:(S(this,_e,typeof e=="string"?e:n,"f"),this.boolean(o(this,_e,"f")),this.describe(o(this,_e,"f"),t||o(this,W,"f").deferY18nLookup("Show help")),this)}help(e,t){return this.addHelpOpt(e,t)}addShowHiddenOpt(e,t){if(x("[string|boolean] [string]",[e,t],arguments.length),e===!1&&t===void 0)return this;const n=typeof e=="string"?e:o(this,rn,"f");return this.boolean(n),this.describe(n,t||o(this,W,"f").deferY18nLookup("Show hidden options")),o(this,P,"f").showHiddenOpt=n,this}showHidden(e,t){return this.addShowHiddenOpt(e,t)}alias(e,t){return x("<object|string|array> [string|array]",[e,t],arguments.length),this[Tn](this.alias.bind(this),"alias",e,t),this}array(e){return x("<array|string>",[e],arguments.length),this[Xe]("array",e),this[pt](e),this}boolean(e){return x("<array|string>",[e],arguments.length),this[Xe]("boolean",e),this[pt](e),this}check(e,t){return x("<function> [boolean]",[e,t],arguments.length),this.middleware((n,r)=>Lt(()=>e(n,r.getOptions()),s=>(s?(typeof s=="string"||s instanceof Error)&&o(this,W,"f").fail(s.toString(),s):o(this,W,"f").fail(o(this,R,"f").y18n.__("Argument check failed: %s",e.toString())),n),s=>(o(this,W,"f").fail(s.message?s.message:s.toString(),s),n)),!1,t),this}choices(e,t){return x("<object|string|array> [string|array]",[e,t],arguments.length),this[Tn](this.choices.bind(this),"choices",e,t),this}coerce(e,t){if(x("<object|string|array> [function]",[e,t],arguments.length),Array.isArray(e)){if(!t)throw new le("coerce callback must be provided");for(const n of e)this.coerce(n,t);return this}else if(typeof e=="object"){for(const n of Object.keys(e))this.coerce(n,e[n]);return this}if(!t)throw new le("coerce callback must be provided");return o(this,P,"f").key[e]=!0,o(this,Oe,"f").addCoerceMiddleware((n,r)=>{let s;return Object.prototype.hasOwnProperty.call(n,e)?Lt(()=>(s=r.getAliases(),t(n[e])),a=>{n[e]=a;const c=r.getInternalMethods().getParserConfiguration()["strip-aliased"];if(s[e]&&c!==!0)for(const h of s[e])n[h]=a;return n},a=>{throw new le(a.message)}):n},e),this}conflicts(e,t){return x("<string|object> [string|array]",[e,t],arguments.length),o(this,se,"f").conflicts(e,t),this}config(e="config",t,n){return x("[object|string] [string|function] [function]",[e,t,n],arguments.length),typeof e=="object"&&!Array.isArray(e)?(e=Nn(e,o(this,st,"f"),this[dt]()["deep-merge-config"]||!1,o(this,R,"f")),o(this,P,"f").configObjects=(o(this,P,"f").configObjects||[]).concat(e),this):(typeof t=="function"&&(n=t,t=void 0),this.describe(e,t||o(this,W,"f").deferY18nLookup("Path to JSON config file")),(Array.isArray(e)?e:[e]).forEach(r=>{o(this,P,"f").config[r]=n||!0}),this)}completion(e,t,n){return x("[string] [string|boolean|function] [function]",[e,t,n],arguments.length),typeof t=="function"&&(n=t,t=void 0),S(this,be,e||o(this,be,"f")||"completion","f"),!t&&t!==!1&&(t="generate completion script"),this.command(o(this,be,"f"),t),n&&o(this,ve,"f").registerFunction(n),this}command(e,t,n,r,s,u){return x("<string|array|object> [string|boolean] [function|object] [function] [array] [boolean|string]",[e,t,n,r,s,u],arguments.length),o(this,oe,"f").addHandler(e,t,n,r,s,u),this}commands(e,t,n,r,s,u){return this.command(e,t,n,r,s,u)}commandDir(e,t){x("<string> [object]",[e,t],arguments.length);const n=o(this,an,"f")||o(this,R,"f").require;return o(this,oe,"f").addDirectory(e,n,o(this,R,"f").getCallerFile(),t),this}count(e){return x("<array|string>",[e],arguments.length),this[Xe]("count",e),this[pt](e),this}default(e,t,n){return x("<object|string|array> [*] [string]",[e,t,n],arguments.length),n&&(zi(e,o(this,R,"f")),o(this,P,"f").defaultDescription[e]=n),typeof t=="function"&&(zi(e,o(this,R,"f")),o(this,P,"f").defaultDescription[e]||(o(this,P,"f").defaultDescription[e]=o(this,W,"f").functionDescription(t)),t=t.call()),this[yt](this.default.bind(this),"default",e,t),this}defaults(e,t,n){return this.default(e,t,n)}demandCommand(e=1,t,n,r){return x("[number] [number|string] [string|null|undefined] [string|null|undefined]",[e,t,n,r],arguments.length),typeof t!="number"&&(n=t,t=1/0),this.global("_",!1),o(this,P,"f").demandedCommands._={min:e,max:t,minMsg:n,maxMsg:r},this}demand(e,t,n){return Array.isArray(t)?(t.forEach(r=>{Le(n,!0,o(this,R,"f")),this.demandOption(r,n)}),t=1/0):typeof t!="number"&&(n=t,t=1/0),typeof e=="number"?(Le(n,!0,o(this,R,"f")),this.demandCommand(e,t,n,n)):Array.isArray(e)?e.forEach(r=>{Le(n,!0,o(this,R,"f")),this.demandOption(r,n)}):typeof n=="string"?this.demandOption(e,n):(n===!0||typeof n>"u")&&this.demandOption(e),this}demandOption(e,t){return x("<object|string|array> [string]",[e,t],arguments.length),this[yt](this.demandOption.bind(this),"demandedOptions",e,t),this}deprecateOption(e,t){return x("<string> [string|boolean]",[e,t],arguments.length),o(this,P,"f").deprecatedOptions[e]=t,this}describe(e,t){return x("<object|string|array> [string]",[e,t],arguments.length),this[Un](e,!0),o(this,W,"f").describe(e,t),this}detectLocale(e){return x("<boolean>",[e],arguments.length),S(this,ut,e,"f"),this}env(e){return x("[string|boolean]",[e],arguments.length),e===!1?delete o(this,P,"f").envPrefix:o(this,P,"f").envPrefix=e||"",this}epilogue(e){return x("<string>",[e],arguments.length),o(this,W,"f").epilog(e),this}epilog(e){return this.epilogue(e)}example(e,t){return x("<string|array> [string]",[e,t],arguments.length),Array.isArray(e)?e.forEach(n=>this.example(...n)):o(this,W,"f").example(e,t),this}exit(e,t){S(this,Fe,!0,"f"),S(this,Ke,t,"f"),o(this,Be,"f")&&o(this,R,"f").process.exit(e)}exitProcess(e=!0){return x("[boolean]",[e],arguments.length),S(this,Be,e,"f"),this}fail(e){if(x("<function|boolean>",[e],arguments.length),typeof e=="boolean"&&e!==!1)throw new le("Invalid first argument. Expected function or boolean 'false'");return o(this,W,"f").failFn(e),this}getAliases(){return this.parsed?this.parsed.aliases:{}}async getCompletion(e,t){return x("<array> [function]",[e,t],arguments.length),t?o(this,ve,"f").getCompletion(e,t):new Promise((n,r)=>{o(this,ve,"f").getCompletion(e,(s,u)=>{s?r(s):n(u)})})}getDemandedOptions(){return x([],0),o(this,P,"f").demandedOptions}getDemandedCommands(){return x([],0),o(this,P,"f").demandedCommands}getDeprecatedOptions(){return x([],0),o(this,P,"f").deprecatedOptions}getDetectLocale(){return o(this,ut,"f")}getExitProcess(){return o(this,Be,"f")}getGroups(){return Object.assign({},o(this,Te,"f"),o(this,at,"f"))}getHelp(){if(S(this,Fe,!0,"f"),!o(this,W,"f").hasCachedHelpMessage()){if(!this.parsed){const t=this[Wt](o(this,Qe,"f"),void 0,void 0,0,!0);if(ce(t))return t.then(()=>o(this,W,"f").help())}const e=o(this,oe,"f").runDefaultBuilderOn(this);if(ce(e))return e.then(()=>o(this,W,"f").help())}return Promise.resolve(o(this,W,"f").help())}getOptions(){return o(this,P,"f")}getStrict(){return o(this,ct,"f")}getStrictCommands(){return o(this,lt,"f")}getStrictOptions(){return o(this,ft,"f")}global(e,t){return x("<string|array> [boolean]",[e,t],arguments.length),e=[].concat(e),t!==!1?o(this,P,"f").local=o(this,P,"f").local.filter(n=>e.indexOf(n)===-1):e.forEach(n=>{o(this,P,"f").local.includes(n)||o(this,P,"f").local.push(n)}),this}group(e,t){x("<string|array> <string>",[e,t],arguments.length);const n=o(this,at,"f")[t]||o(this,Te,"f")[t];o(this,at,"f")[t]&&delete o(this,at,"f")[t];const r={};return o(this,Te,"f")[t]=(n||[]).concat(e).filter(s=>r[s]?!1:r[s]=!0),this}hide(e){return x("<string>",[e],arguments.length),o(this,P,"f").hiddenOptions.push(e),this}implies(e,t){return x("<string|object> [number|string|array]",[e,t],arguments.length),o(this,se,"f").implies(e,t),this}locale(e){return x("[string]",[e],arguments.length),e===void 0?(this[Mn](),o(this,R,"f").y18n.getLocale()):(S(this,ut,!1,"f"),o(this,R,"f").y18n.setLocale(e),this)}middleware(e,t,n){return o(this,Oe,"f").addMiddleware(e,!!t,n)}nargs(e,t){return x("<string|object|array> [number]",[e,t],arguments.length),this[yt](this.nargs.bind(this),"narg",e,t),this}normalize(e){return x("<array|string>",[e],arguments.length),this[Xe]("normalize",e),this}number(e){return x("<array|string>",[e],arguments.length),this[Xe]("number",e),this[pt](e),this}option(e,t){if(x("<string|object> [object]",[e,t],arguments.length),typeof e=="object")Object.keys(e).forEach(n=>{this.options(n,e[n])});else{typeof t!="object"&&(t={}),this[pt](e),o(this,Re,"f")&&(e==="version"||t?.alias==="version")&&this[Zi](['"version" is a reserved word.',"Please do one of the following:",'- Disable version with `yargs.version(false)` if using "version" as an option',"- Use the built-in `yargs.version` method instead (if applicable)","- Use a different option key","https://yargs.js.org/docs/#api-reference-version"].join(`
|
|
63
|
-
`),void 0,"versionWarning"),o(this,
|
|
64
|
-
`,"f"),
|
|
65
|
-
`,"f"),S(this,me,o(this,me,"f")+e.join(" "),"f")}}}[Ln](e){tn(o(this,P,"f")).forEach(t=>{if((r=>r==="configObjects")(t))return;const n=o(this,P,"f")[t];Array.isArray(n)?n.includes(e)&&n.splice(n.indexOf(e),1):typeof n=="object"&&delete n[e]}),delete o(this,W,"f").getDescriptions()[e]}[Zi](e,t,n){o(this,sn,"f")[n]||(o(this,R,"f").process.emitWarning(e,t),o(this,sn,"f")[n]=!0)}[er](){o(this,un,"f").push({options:o(this,P,"f"),configObjects:o(this,P,"f").configObjects.slice(0),exitProcess:o(this,Be,"f"),groups:o(this,Te,"f"),strict:o(this,ct,"f"),strictCommands:o(this,lt,"f"),strictOptions:o(this,ft,"f"),completionCommand:o(this,be,"f"),output:o(this,me,"f"),exitError:o(this,Ke,"f"),hasOutput:o(this,Fe,"f"),parsed:this.parsed,parseFn:o(this,ye,"f"),parseContext:o(this,ot,"f")}),o(this,W,"f").freeze(),o(this,se,"f").freeze(),o(this,oe,"f").freeze(),o(this,Oe,"f").freeze()}[tr](){let e="",t;return/\b(node|iojs|electron)(\.exe)?$/.test(o(this,R,"f").process.argv()[0])?t=o(this,R,"f").process.argv().slice(1,2):t=o(this,R,"f").process.argv().slice(0,1),e=t.map(n=>{const r=this[pr](o(this,st,"f"),n);return n.match(/^(\/|([a-zA-Z]:)?\\)/)&&r.length<n.length?r:n}).join(" ").trim(),o(this,R,"f").getEnv("_")&&o(this,R,"f").getProcessArgvBin()===o(this,R,"f").getEnv("_")&&(e=o(this,R,"f").getEnv("_").replace(`${o(this,R,"f").path.dirname(o(this,R,"f").process.execPath())}/`,"")),e}[dt](){return o(this,cn,"f")}[nr](){return o(this,fn,"f")}[Mn](){if(!o(this,ut,"f"))return;const e=o(this,R,"f").getEnv("LC_ALL")||o(this,R,"f").getEnv("LC_MESSAGES")||o(this,R,"f").getEnv("LANG")||o(this,R,"f").getEnv("LANGUAGE")||"en_US";this.locale(e.replace(/[.:].*/,""))}[ir](){return this[kn]().version||"unknown"}[rr](e){const t=e["--"]?e["--"]:e._;for(let n=0,r;(r=t[n])!==void 0;n++)o(this,R,"f").Parser.looksLikeNumber(r)&&Number.isSafeInteger(Math.floor(parseFloat(`${r}`)))&&(t[n]=Number(r));return e}[kn](e){const t=e||"*";if(o(this,Ft,"f")[t])return o(this,Ft,"f")[t];let n={};try{let r=e||o(this,R,"f").mainFilename;!e&&o(this,R,"f").path.extname(r)&&(r=o(this,R,"f").path.dirname(r));const s=o(this,R,"f").findUp(r,(u,a)=>{if(a.includes("package.json"))return"package.json"});Le(s,void 0,o(this,R,"f")),n=JSON.parse(o(this,R,"f").readFileSync(s,"utf8"))}catch{}return o(this,Ft,"f")[t]=n||{},o(this,Ft,"f")[t]}[Xe](e,t){t=[].concat(t),t.forEach(n=>{n=this[Wn](n),o(this,P,"f")[e].push(n)})}[yt](e,t,n,r){this[Rn](e,t,n,r,(s,u,a)=>{o(this,P,"f")[s][u]=a})}[Tn](e,t,n,r){this[Rn](e,t,n,r,(s,u,a)=>{o(this,P,"f")[s][u]=(o(this,P,"f")[s][u]||[]).concat(a)})}[Rn](e,t,n,r,s){if(Array.isArray(n))n.forEach(u=>{e(u,r)});else if((u=>typeof u=="object")(n))for(const u of tn(n))e(u,n[u]);else s(t,this[Wn](n),r)}[Wn](e){return e==="__proto__"?"___proto___":e}[Un](e,t){return this[yt](this[Un].bind(this),"key",e,t),this}[Vn](){var e,t,n,r,s,u,a,c,h,l,f,m;const C=o(this,un,"f").pop();Le(C,void 0,o(this,R,"f"));let F;e=this,t=this,n=this,r=this,s=this,u=this,a=this,c=this,h=this,l=this,f=this,m=this,{options:{set value(w){S(e,P,w,"f")}}.value,configObjects:F,exitProcess:{set value(w){S(t,Be,w,"f")}}.value,groups:{set value(w){S(n,Te,w,"f")}}.value,output:{set value(w){S(r,me,w,"f")}}.value,exitError:{set value(w){S(s,Ke,w,"f")}}.value,hasOutput:{set value(w){S(u,Fe,w,"f")}}.value,parsed:this.parsed,strict:{set value(w){S(a,ct,w,"f")}}.value,strictCommands:{set value(w){S(c,lt,w,"f")}}.value,strictOptions:{set value(w){S(h,ft,w,"f")}}.value,completionCommand:{set value(w){S(l,be,w,"f")}}.value,parseFn:{set value(w){S(f,ye,w,"f")}}.value,parseContext:{set value(w){S(m,ot,w,"f")}}.value}=C,o(this,P,"f").configObjects=F,o(this,W,"f").unfreeze(),o(this,se,"f").unfreeze(),o(this,oe,"f").unfreeze(),o(this,Oe,"f").unfreeze()}[sr](e,t){return Lt(t,n=>(e(n),n))}getInternalMethods(){return{getCommandInstance:this[ur].bind(this),getContext:this[or].bind(this),getHasOutput:this[ar].bind(this),getLoggerInstance:this[cr].bind(this),getParseContext:this[lr].bind(this),getParserConfiguration:this[dt].bind(this),getUsageConfiguration:this[nr].bind(this),getUsageInstance:this[fr].bind(this),getValidationInstance:this[dr].bind(this),hasParseCallback:this[dn].bind(this),isGlobalContext:this[hr].bind(this),postProcess:this[ht].bind(this),reset:this[zn].bind(this),runValidation:this[Hn].bind(this),runYargsParserAndExecuteCommands:this[Wt].bind(this),setHasOutput:this[mr].bind(this)}}[ur](){return o(this,oe,"f")}[or](){return o(this,Rt,"f")}[ar](){return o(this,Fe,"f")}[cr](){return o(this,bt,"f")}[lr](){return o(this,ot,"f")||{}}[fr](){return o(this,W,"f")}[dr](){return o(this,se,"f")}[dn](){return!!o(this,ye,"f")}[hr](){return o(this,on,"f")}[ht](e,t,n,r){return n||ce(e)||(t||(e=this[Qi](e)),(this[dt]()["parse-positional-numbers"]||this[dt]()["parse-positional-numbers"]===void 0)&&(e=this[rr](e)),r&&(e=Nt(e,this,o(this,Oe,"f").getMiddleware(),!1))),e}[zn](e={}){S(this,P,o(this,P,"f")||{},"f");const t={};t.local=o(this,P,"f").local||[],t.configObjects=o(this,P,"f").configObjects||[];const n={};t.local.forEach(u=>{n[u]=!0,(e[u]||[]).forEach(a=>{n[a]=!0})}),Object.assign(o(this,at,"f"),Object.keys(o(this,Te,"f")).reduce((u,a)=>{const c=o(this,Te,"f")[a].filter(h=>!(h in n));return c.length>0&&(u[a]=c),u},{})),S(this,Te,{},"f");const r=["array","boolean","string","skipValidation","count","normalize","number","hiddenOptions"],s=["narg","key","alias","default","defaultDescription","config","choices","demandedOptions","demandedCommands","deprecatedOptions"];return r.forEach(u=>{t[u]=(o(this,P,"f")[u]||[]).filter(a=>!n[a])}),s.forEach(u=>{t[u]=Mt(o(this,P,"f")[u],a=>!n[a])}),t.envPrefix=o(this,P,"f").envPrefix,S(this,P,t,"f"),S(this,W,o(this,W,"f")?o(this,W,"f").reset(n):pu(this,o(this,R,"f")),"f"),S(this,se,o(this,se,"f")?o(this,se,"f").reset(n):Fu(this,o(this,W,"f"),o(this,R,"f")),"f"),S(this,oe,o(this,oe,"f")?o(this,oe,"f").reset():cu(o(this,W,"f"),o(this,se,"f"),o(this,Oe,"f"),o(this,R,"f")),"f"),o(this,ve,"f")||S(this,ve,wu(this,o(this,W,"f"),o(this,oe,"f"),o(this,R,"f")),"f"),o(this,Oe,"f").reset(),S(this,be,null,"f"),S(this,me,"","f"),S(this,Ke,null,"f"),S(this,Fe,!1,"f"),this.parsed=!1,this}[pr](e,t){return o(this,R,"f").path.relative(e,t)}[Wt](e,t,n,r=0,s=!1){let u=!!n||s;e=e||o(this,Qe,"f"),o(this,P,"f").__=o(this,R,"f").y18n.__,o(this,P,"f").configuration=this[dt]();const a=!!o(this,P,"f").configuration["populate--"],c=Object.assign({},o(this,P,"f").configuration,{"populate--":!0}),h=o(this,R,"f").Parser.detailed(e,Object.assign({},o(this,P,"f"),{configuration:{"parse-positional-numbers":!1,...c}})),l=Object.assign(h.argv,o(this,ot,"f"));let f;const m=h.aliases;let C=!1,F=!1;Object.keys(l).forEach(w=>{w===o(this,_e,"f")&&l[w]?C=!0:w===o(this,Re,"f")&&l[w]&&(F=!0)}),l.$0=this.$0,this.parsed=h,r===0&&o(this,W,"f").clearCachedHelpMessage();try{if(this[Mn](),t)return this[ht](l,a,!!n,!1);o(this,_e,"f")&&[o(this,_e,"f")].concat(m[o(this,_e,"f")]||[]).filter(M=>M.length>1).includes(""+l._[l._.length-1])&&(l._.pop(),C=!0),S(this,on,!1,"f");const w=o(this,oe,"f").getCommands(),p=o(this,ve,"f").completionKey in l,y=C||p||s;if(l._.length){if(w.length){let B;for(let M=r||0,L;l._[M]!==void 0;M++)if(L=String(l._[M]),w.includes(L)&&L!==o(this,be,"f")){const U=o(this,oe,"f").runCommand(L,this,h,M+1,s,C||F||s);return this[ht](U,a,!!n,!1)}else if(!B&&L!==o(this,be,"f")){B=L;break}!o(this,oe,"f").hasDefaultCommand()&&o(this,ln,"f")&&B&&!y&&o(this,se,"f").recommendCommands(B,w)}o(this,be,"f")&&l._.includes(o(this,be,"f"))&&!p&&(o(this,Be,"f")&&kt(!0),this.showCompletionScript(),this.exit(0))}if(o(this,oe,"f").hasDefaultCommand()&&!y){const B=o(this,oe,"f").runCommand(null,this,h,0,s,C||F||s);return this[ht](B,a,!!n,!1)}if(p){o(this,Be,"f")&&kt(!0),e=[].concat(e);const B=e.slice(e.indexOf(`--${o(this,ve,"f").completionKey}`)+1);return o(this,ve,"f").getCompletion(B,(M,L)=>{if(M)throw new le(M.message);(L||[]).forEach(U=>{o(this,bt,"f").log(U)}),this.exit(0)}),this[ht](l,!a,!!n,!1)}if(o(this,Fe,"f")||(C?(o(this,Be,"f")&&kt(!0),u=!0,this.showHelp("log"),this.exit(0)):F&&(o(this,Be,"f")&&kt(!0),u=!0,o(this,W,"f").showVersion("log"),this.exit(0))),!u&&o(this,P,"f").skipValidation.length>0&&(u=Object.keys(l).some(B=>o(this,P,"f").skipValidation.indexOf(B)>=0&&l[B]===!0)),!u){if(h.error)throw new le(h.error.message);if(!p){const B=this[Hn](m,{},h.error);n||(f=Nt(l,this,o(this,Oe,"f").getMiddleware(),!0)),f=this[sr](B,f??l),ce(f)&&!n&&(f=f.then(()=>Nt(l,this,o(this,Oe,"f").getMiddleware(),!1)))}}}catch(w){if(w instanceof le)o(this,W,"f").fail(w.message,w);else throw w}return this[ht](f??l,a,!!n,!0)}[Hn](e,t,n,r){const s={...this.getDemandedOptions()};return u=>{if(n)throw new le(n.message);o(this,se,"f").nonOptionCount(u),o(this,se,"f").requiredArguments(u,s);let a=!1;o(this,lt,"f")&&(a=o(this,se,"f").unknownCommands(u)),o(this,ct,"f")&&!a?o(this,se,"f").unknownArguments(u,e,t,!!r):o(this,ft,"f")&&o(this,se,"f").unknownArguments(u,e,{},!1,!1),o(this,se,"f").limitedChoices(u),o(this,se,"f").implications(u),o(this,se,"f").conflicting(u)}}[mr](){S(this,Fe,!0,"f")}[pt](e){if(typeof e=="string")o(this,P,"f").key[e]=!0;else for(const t of e)o(this,P,"f").key[t]=!0}}function _u(i){return!!i&&typeof i.getInternalMethods=="function"}const Su=Bu(nu),hn={type:"string",desc:"<directory> with LikeC4 sources (default is current directory)",normalize:!0,default:".",coerce:Q},We={alias:"use-dot-bin",boolean:!0,type:"boolean",desc:'use graphviz binaries ("dot" should be on PATH)',default:!1},gr={boolean:!0,type:"boolean",desc:'use hash history for navigation, e.g. "/#/view" instead of "/view"'},pn={alias:"o",type:"string",desc:"<directory> output directory",normalize:!0,coerce:Q},Gn={alias:"w",type:"string",desc:'prefix for Webcomponents, e.g "c4" generates <c4-view ../>',default:"likec4"},Dr={alias:["base-url"],type:"string",desc:'base url the app is being served from, e.g. "/" or "/pages/"'},Cr={boolean:!0,type:"boolean",desc:"overview all diagrams as graph [experimental]",default:!1};function Iu(i){var e,t;if(i){if("astNode"in i)return ju(i);if(Array.isArray(i))return i.reduce(wr,void 0);{const n=i,r=xu(n)?$u((t=(e=n?.root)===null||e===void 0?void 0:e.astNode)!==null&&t!==void 0?t:n?.astNode):void 0;return vt(n,r)}}else return}function xu(i){return typeof i<"u"&&"element"in i&&"text"in i}function $u(i){try{return pi(i).uri.toString()}catch{return}}function ju(i){var e,t;const{astNode:n,property:r,index:s}=i??{},u=(e=n?.$cstNode)!==null&&e!==void 0?e:n?.$textRegion;if(!(n===void 0||u===void 0)){if(r===void 0)return vt(u,Yn(n));{const a=c=>s!==void 0&&s>-1&&Array.isArray(n[r])?s<c.length?c[s]:void 0:c.reduce(wr,void 0);if(!((t=u.assignments)===null||t===void 0)&&t[r]){const c=a(u.assignments[r]);return c&&vt(c,Yn(n))}else if(n.$cstNode){const c=a(qr(n.$cstNode,r));return c&&vt(c,Yn(n))}else return}}}function Yn(i){var e,t,n,r;return i.$cstNode?(t=(e=pi(i))===null||e===void 0?void 0:e.uri)===null||t===void 0?void 0:t.toString():i.$textRegion?i.$textRegion.documentURI||((r=(n=new Jr(i,s=>s.$container?[s.$container]:[]).find(s=>{var u;return(u=s.$textRegion)===null||u===void 0?void 0:u.documentURI}))===null||n===void 0?void 0:n.$textRegion)===null||r===void 0?void 0:r.documentURI):void 0}function vt(i,e){var t,n;const r={offset:i.offset,end:(t=i.end)!==null&&t!==void 0?t:i.offset+i.length,length:(n=i.length)!==null&&n!==void 0?n:i.end-i.offset};return i.range&&(r.range=i.range),e??(e=i.fileURI),e&&(r.fileURI=e),r}function wr(i,e){var t,n;if(i){if(!e)return i&&vt(i)}else return e&&vt(e);const r=(t=i.end)!==null&&t!==void 0?t:i.offset+i.length,s=(n=e.end)!==null&&n!==void 0?n:e.offset+e.length,u=Math.min(i.offset,e.offset),a=Math.max(r,s),c=a-u,h={offset:u,end:a,length:c};if(i.range&&e.range&&(h.range={start:e.range.start.line<i.range.start.line||e.range.start.line===i.range.start.line&&e.range.start.character<i.range.start.character?e.range.start:i.range.start,end:e.range.end.line>i.range.end.line||e.range.end.line===i.range.end.line&&e.range.end.character>i.range.end.character?e.range.end:i.range.end}),i.fileURI||e.fileURI){const l=i.fileURI,f=e.fileURI,m=l&&f&&l!==f?`<unmergable text regions of ${l}, ${f}>`:l??f;h.fileURI=m}return h}class Pu{constructor(e){this.defaultIndentation=" ",this.pendingIndent=!0,this.currentIndents=[],this.recentNonImmediateIndents=[],this.traceData=[],this.lines=[[]],this.length=0,typeof e=="string"?this.defaultIndentation=e:typeof e=="number"&&(this.defaultIndentation="".padStart(e))}get content(){return this.lines.map(e=>e.join("")).join("")}get contentLength(){return this.length}get currentLineNumber(){return this.lines.length-1}get currentLineContent(){return this.lines[this.currentLineNumber].join("")}get currentPosition(){return{offset:this.contentLength,line:this.currentLineNumber,character:this.currentLineContent.length}}append(e,t){if(e.length>0){const n=t&&this.currentPosition;this.lines[this.currentLineNumber].push(e),this.length+=e.length,n&&this.indentPendingTraceRegions(n)}}indentPendingTraceRegions(e){for(let t=this.traceData.length-1;t>=0;t--){const n=this.traceData[t];n.targetStart&&n.targetStart.offset===e.offset&&(n.targetStart=this.currentPosition)}}increaseIndent(e){this.currentIndents.push(e),e.indentImmediately||this.recentNonImmediateIndents.push(e)}decreaseIndent(){this.currentIndents.pop()}get relevantIndents(){return this.currentIndents.filter(e=>!this.recentNonImmediateIndents.includes(e))}resetCurrentLine(){this.length-=this.lines[this.currentLineNumber].join("").length,this.lines[this.currentLineNumber]=[],this.pendingIndent=!0}addNewLine(){this.pendingIndent=!0,this.lines.push([]),this.recentNonImmediateIndents.length=0}pushTraceRegion(e){const t=Nu(e,this.currentPosition,n=>{var r,s;return(s=(r=this.traceData[this.traceData.length-1])===null||r===void 0?void 0:r.children)===null||s===void 0?void 0:s.push(n)});return this.traceData.push(t),t}popTraceRegion(e){const t=this.traceData.pop();return this.assertTrue(t===e,"Trace region mismatch!"),t}getParentTraceSourceFileURI(){var e;for(let t=this.traceData.length-1;t>-1;t--){const n=(e=this.traceData[t].sourceRegion)===null||e===void 0?void 0:e.fileURI;if(n)return n}}assertTrue(e,t){if(!e)throw new Error(t)}}function Nu(i,e,t){const n={sourceRegion:i,targetRegion:void 0,children:[],targetStart:e,complete:r=>{var s,u;return n.targetRegion={offset:n.targetStart.offset,end:r.offset,length:r.offset-n.targetStart.offset,range:{start:{line:n.targetStart.line,character:n.targetStart.character},end:{line:r.line,character:r.character}}},delete n.targetStart,((s=n.children)===null||s===void 0?void 0:s.length)===0&&delete n.children,!((u=n.targetRegion)===null||u===void 0)&&u.length&&t(n),delete n.complete,n}};return n}function Lu(i,e){const t=new Pu(e),n=t.pushTraceRegion(void 0);Ar(i,t),t.popTraceRegion(n),n.complete&&n.complete(t.currentPosition);const r=n.children&&n.children.length===1?n.children[0]:void 0,s=r?.targetRegion,u=n.targetRegion;return s&&r.sourceRegion&&s.offset===u.offset&&s.length===u.length?{text:t.content,trace:r}:{text:t.content,trace:n}}function Ar(i,e){typeof i=="string"?Mu(i,e):i instanceof Jn?ku(i,e):i instanceof fe?Fr(i,e):i instanceof Vt&&Tu(i,e)}function Er(i,e){return typeof i=="string"?i.length!==0:i instanceof fe?i.contents.some(t=>Er(t,e)):i instanceof Vt?!(i.ifNotEmpty&&e.currentLineContent.length===0):!1}function Mu(i,e){i&&(e.pendingIndent&&br(e,!1),e.append(i))}function br(i,e){var t;let n="";for(const r of i.relevantIndents.filter(s=>s.indentEmptyLines||!e))n+=(t=r.indentation)!==null&&t!==void 0?t:i.defaultIndentation;i.append(n,!0),i.pendingIndent=!1}function Fr(i,e){let t;const n=Iu(i.tracedSource);n&&(t=e.pushTraceRegion(n));for(const r of i.contents)Ar(r,e);if(t){e.popTraceRegion(t);const r=e.getParentTraceSourceFileURI();r&&n?.fileURI===r&&delete n.fileURI,t.complete&&t.complete(e.currentPosition)}}function ku(i,e){var t;if(Er(i,e)){i.indentImmediately&&!e.pendingIndent&&e.append((t=i.indentation)!==null&&t!==void 0?t:e.defaultIndentation,!0);try{e.increaseIndent(i),Fr(i,e)}finally{e.decreaseIndent()}}}function Tu(i,e){i.ifNotEmpty&&!Ru(e.currentLineContent)?e.resetCurrentLine():(e.pendingIndent&&br(e,!0),e.append(i.lineDelimiter),e.addNewLine())}function Ru(i){return i.trimStart()!==""}Object.freeze("__\xABSKIP^NEW^LINE^IF^EMPTY\xBB__");const Wu=/\S|$/;function Uu(i){const e=i.filter(n=>n.length>0).map(n=>n.search(Wu)),t=e.length===0?0:Math.min(...e);return Math.max(0,t)}function Ze(i,...e){const t=zu(i),n=Hu(i,e,t);return Yu(n)}function Vu(i,e,t){return(n,...r)=>Ju(i,e,t)(Ze(n,...r))}function zu(i){const e=i.join("_").split(mi),t=e.length>1&&e[0].trim().length===0,n=t&&e.length>1&&e[e.length-1].trim().length===0;if(e.length===1||e.length!==0&&e[0].trim().length!==0||e.length===2&&e[1].trim().length===0)return{indentation:0,omitFirstLine:t,omitLastLine:n,trimLastLine:e.length!==1&&e[e.length-1].trim().length===0};{let r=t?e.slice(1):e;r=n?r.slice(0,r.length-1):r,r=r.filter(u=>u.length!==0);const s=Uu(r);return{indentation:s,omitFirstLine:t,omitLastLine:n&&(e[e.length-1].length<s||!e[e.length-1].startsWith(r[0].substring(0,s)))}}}function Hu(i,e,{indentation:t,omitFirstLine:n,omitLastLine:r,trimLastLine:s}){const u=[];i.forEach((h,l)=>{u.push(...h.split(mi).map((f,m)=>m===0||f.length<t?f:f.substring(t)).reduce(l===0?(f,m,C)=>C===0?n?[]:[m]:C===1&&f.length===0?[m]:f.concat(mn,m):(f,m,C)=>C===0?[m]:f.concat(mn,m),[]).filter(f=>!(typeof f=="string"&&f.length===0)).concat(Ut(e[l])?e[l]:e[l]!==void 0?{content:String(e[l])}:l<e.length?yr:[]))});const a=u.length,c=a!==0?u[a-1]:void 0;return(r||s)&&typeof c=="string"&&c.trim().length===0?n&&a!==1&&u[a-2]===mn?u.slice(0,a-2):u.slice(0,a-1):u}const mn={isNewLine:!0},yr={isUndefinedSegment:!0},vr=i=>i===mn,qn=i=>i===yr,Gu=i=>i.content!==void 0;function Yu(i){return i.reduce((t,n,r)=>qn(n)?t:vr(n)?{node:r!==0&&(qn(i[r-1])||Ut(i[r-1]))||r>1&&typeof i[r-1]=="string"&&(qn(i[r-2])||Ut(i[r-2]))?t.node.appendNewLineIfNotEmpty():t.node.appendNewLine()}:(()=>{var s;const u=(r===0||vr(i[r-1]))&&typeof n=="string"&&n.length!==0?"".padStart(n.length-n.trimStart().length):"",a=Gu(n)?n.content:n;let c;return{node:t.indented?t.node:u.length!==0?t.node.indent({indentation:u,indentImmediately:!1,indentedChildren:h=>c=h.append(a)}):t.node.append(a),indented:c??((s=t.indented)===null||s===void 0?void 0:s.append(a))}})(),{node:new fe}).node}const qu=typeof process>"u"?`
|
|
60
|
+
`)}`:"";e.fail(r("Missing required argument: %s","Missing required arguments: %s",Object.keys(C).length,Object.keys(C).join(", ")+w))}},s.unknownArguments=function(f,p,C,F,w=!0){var m;const y=i.getInternalMethods().getCommandInstance().getCommands(),S=[],R=i.getInternalMethods().getContext();if(Object.keys(f).forEach(N=>{!Ki.includes(N)&&!Object.prototype.hasOwnProperty.call(C,N)&&!Object.prototype.hasOwnProperty.call(i.getInternalMethods().getParseContext(),N)&&!s.isValidAndSomeAliasIsNotNew(N,p)&&S.push(N)}),w&&(R.commands.length>0||y.length>0||F)&&f._.slice(R.commands.length).forEach(N=>{y.includes(""+N)||S.push(""+N)}),w){const U=((m=i.getDemandedCommands()._)===null||m===void 0?void 0:m.max)||0,Ce=R.commands.length+U;Ce<f._.length&&f._.slice(Ce).forEach($e=>{$e=String($e),!R.commands.includes($e)&&!S.includes($e)&&S.push($e)})}S.length&&e.fail(r("Unknown argument: %s","Unknown arguments: %s",S.length,S.map(N=>N.trim()?N:`"${N}"`).join(", ")))},s.unknownCommands=function(f){const p=i.getInternalMethods().getCommandInstance().getCommands(),C=[],F=i.getInternalMethods().getContext();return(F.commands.length>0||p.length>0)&&f._.slice(F.commands.length).forEach(w=>{p.includes(""+w)||C.push(""+w)}),C.length>0?(e.fail(r("Unknown command: %s","Unknown commands: %s",C.length,C.join(", "))),!0):!1},s.isValidAndSomeAliasIsNotNew=function(f,p){if(!Object.prototype.hasOwnProperty.call(p,f))return!1;const C=i.parsed.newAliases;return[f,...p[f]].some(F=>!Object.prototype.hasOwnProperty.call(C,F)||!C[f])},s.limitedChoices=function(f){const p=i.getOptions(),C={};if(!Object.keys(p.choices).length)return;Object.keys(f).forEach(m=>{Ki.indexOf(m)===-1&&Object.prototype.hasOwnProperty.call(p.choices,m)&&[].concat(f[m]).forEach(y=>{p.choices[m].indexOf(y)===-1&&y!==void 0&&(C[m]=(C[m]||[]).concat(y))})});const F=Object.keys(C);if(!F.length)return;let w=n("Invalid values:");F.forEach(m=>{w+=`
|
|
61
|
+
${n("Argument: %s, Given: %s, Choices: %s",m,e.stringifiedValues(C[m]),e.stringifiedValues(p.choices[m]))}`}),e.fail(w)};let u={};s.implies=function(f,p){$("<string|object> [array|number|string]",[f,p],arguments.length),typeof f=="object"?Object.keys(f).forEach(C=>{s.implies(C,f[C])}):(i.global(f),u[f]||(u[f]=[]),Array.isArray(p)?p.forEach(C=>s.implies(f,C)):(Me(p,void 0,t),u[f].push(p)))},s.getImplied=function(){return u};function a(l,f){const p=Number(f);return f=isNaN(p)?f:p,typeof f=="number"?f=l._.length>=f:f.match(/^--no-.+/)?(f=f.match(/^--no-(.+)/)[1],f=!Object.prototype.hasOwnProperty.call(l,f)):f=Object.prototype.hasOwnProperty.call(l,f),f}s.implications=function(f){const p=[];if(Object.keys(u).forEach(C=>{const F=C;(u[C]||[]).forEach(w=>{let m=F;const y=w;m=a(f,m),w=a(f,w),m&&!w&&p.push(` ${F} -> ${y}`)})}),p.length){let C=`${n("Implications failed:")}
|
|
62
|
+
`;p.forEach(F=>{C+=F}),e.fail(C)}};let c={};s.conflicts=function(f,p){$("<string|object> [array|string]",[f,p],arguments.length),typeof f=="object"?Object.keys(f).forEach(C=>{s.conflicts(C,f[C])}):(i.global(f),c[f]||(c[f]=[]),Array.isArray(p)?p.forEach(C=>s.conflicts(f,C)):c[f].push(p))},s.getConflicting=()=>c,s.conflicting=function(f){Object.keys(f).forEach(p=>{c[p]&&c[p].forEach(C=>{C&&f[p]!==void 0&&f[C]!==void 0&&e.fail(n("Arguments %s and %s are mutually exclusive",p,C))})}),i.getInternalMethods().getParserConfiguration()["strip-dashed"]&&Object.keys(c).forEach(p=>{c[p].forEach(C=>{C&&f[t.Parser.camelCase(p)]!==void 0&&f[t.Parser.camelCase(C)]!==void 0&&e.fail(n("Arguments %s and %s are mutually exclusive",p,C))})})},s.recommendCommands=function(f,p){p=p.sort((m,y)=>y.length-m.length);let F=null,w=1/0;for(let m=0,y;(y=p[m])!==void 0;m++){const S=Fu(f,y);S<=3&&S<w&&(w=S,F=y)}F&&e.fail(n("Did you mean %s?",F))},s.reset=function(f){return u=Tt(u,p=>!f[p]),c=Tt(c,p=>!f[p]),s};const h=[];return s.freeze=function(){h.push({implied:u,conflicting:c})},s.unfreeze=function(){const f=h.pop();Me(f,void 0,t),{implied:u,conflicting:c}=f},s}let Tn=[],Wt;function Rn(i,e,t,n){Wt=n;let r={};if(Object.prototype.hasOwnProperty.call(i,"extends")){if(typeof i.extends!="string")return r;const s=/\.json|\..*rc$/.test(i.extends);let u=null;if(s)u=Bu(e,i.extends);else try{u=require.resolve(i.extends)}catch{return i}vu(u),Tn.push(u),r=s?JSON.parse(Wt.readFileSync(u,"utf8")):Qt(i.extends),delete i.extends,r=Rn(r,Wt.path.dirname(u),t,Wt)}return Tn=[],t?Qi(r,i):Object.assign({},r,i)}function vu(i){if(Tn.indexOf(i)>-1)throw new fe(`Circular extended configurations: '${i}'.`)}function Bu(i,e){return Wt.path.resolve(i,e)}function Qi(i,e){const t={};function n(r){return r&&typeof r=="object"&&!Array.isArray(r)}Object.assign(t,i);for(const r of Object.keys(e))n(e[r])&&n(t[r])?t[r]=Qi(i[r],e[r]):t[r]=e[r];return t}var _=function(i,e,t,n,r){if(n==="m")throw new TypeError("Private method is not writable");if(n==="a"&&!r)throw new TypeError("Private accessor was defined without a setter");if(typeof e=="function"?i!==e||!r:!e.has(i))throw new TypeError("Cannot write private member to an object whose class did not declare it");return n==="a"?r.call(i,t):r?r.value=t:e.set(i,t),t},o=function(i,e,t,n){if(t==="a"&&!n)throw new TypeError("Private accessor was defined without a getter");if(typeof e=="function"?i!==e||!n:!e.has(i))throw new TypeError("Cannot read private member from an object whose class did not declare it");return t==="m"?n:t==="a"?n.call(i):n?n.value:e.get(i)},oe,at,Ut,Be,be,un,Qe,ct,on,Oe,an,_e,Re,Fe,Se,cn,yt,ge,L,ln,fn,ye,lt,vt,ft,Xe,dn,T,dt,ht,pt,W,hn,We,se;function Ou(i){return(e=[],t=i.process.cwd(),n)=>{const r=new _u(e,t,n,i);return Object.defineProperty(r,"argv",{get:()=>r.parse(),enumerable:!0}),r.help(),r.version(),r}}const Xi=Symbol("copyDoubleDash"),Zi=Symbol("copyDoubleDash"),Wn=Symbol("deleteFromParserHintObject"),er=Symbol("emitWarning"),tr=Symbol("freeze"),nr=Symbol("getDollarZero"),mt=Symbol("getParserConfiguration"),ir=Symbol("getUsageConfiguration"),Un=Symbol("guessLocale"),rr=Symbol("guessVersion"),sr=Symbol("parsePositionalNumbers"),Vn=Symbol("pkgUp"),Ze=Symbol("populateParserHintArray"),Bt=Symbol("populateParserHintSingleValueDictionary"),zn=Symbol("populateParserHintArrayDictionary"),Hn=Symbol("populateParserHintDictionary"),Gn=Symbol("sanitizeKey"),Yn=Symbol("setKey"),qn=Symbol("unfreeze"),ur=Symbol("validateAsync"),or=Symbol("getCommandInstance"),ar=Symbol("getContext"),cr=Symbol("getHasOutput"),lr=Symbol("getLoggerInstance"),fr=Symbol("getParseContext"),dr=Symbol("getUsageInstance"),hr=Symbol("getValidationInstance"),pn=Symbol("hasParseCallback"),pr=Symbol("isGlobalContext"),gt=Symbol("postProcess"),mr=Symbol("rebase"),Jn=Symbol("reset"),Vt=Symbol("runYargsParserAndExecuteCommands"),Kn=Symbol("runValidation"),gr=Symbol("setHasOutput"),Dt=Symbol("kTrackManuallySetKeys");class _u{constructor(e=[],t,n,r){this.customScriptName=!1,this.parsed=!1,oe.set(this,void 0),at.set(this,void 0),Ut.set(this,{commands:[],fullCommands:[]}),Be.set(this,null),be.set(this,null),un.set(this,"show-hidden"),Qe.set(this,null),ct.set(this,!0),on.set(this,{}),Oe.set(this,!0),an.set(this,[]),_e.set(this,void 0),Re.set(this,{}),Fe.set(this,!1),Se.set(this,null),cn.set(this,!0),yt.set(this,void 0),ge.set(this,""),L.set(this,void 0),ln.set(this,void 0),fn.set(this,{}),ye.set(this,null),lt.set(this,null),vt.set(this,{}),ft.set(this,{}),Xe.set(this,void 0),dn.set(this,!1),T.set(this,void 0),dt.set(this,!1),ht.set(this,!1),pt.set(this,!1),W.set(this,void 0),hn.set(this,{}),We.set(this,null),se.set(this,void 0),_(this,T,r,"f"),_(this,Xe,e,"f"),_(this,at,t,"f"),_(this,ln,n,"f"),_(this,_e,new su(this),"f"),this.$0=this[nr](),this[Jn](),_(this,oe,o(this,oe,"f"),"f"),_(this,W,o(this,W,"f"),"f"),_(this,se,o(this,se,"f"),"f"),_(this,L,o(this,L,"f"),"f"),o(this,L,"f").showHiddenOpt=o(this,un,"f"),_(this,yt,this[Zi](),"f")}addHelpOpt(e,t){const n="help";return $("[string|boolean] [string]",[e,t],arguments.length),o(this,Se,"f")&&(this[Wn](o(this,Se,"f")),_(this,Se,null,"f")),e===!1&&t===void 0?this:(_(this,Se,typeof e=="string"?e:n,"f"),this.boolean(o(this,Se,"f")),this.describe(o(this,Se,"f"),t||o(this,W,"f").deferY18nLookup("Show help")),this)}help(e,t){return this.addHelpOpt(e,t)}addShowHiddenOpt(e,t){if($("[string|boolean] [string]",[e,t],arguments.length),e===!1&&t===void 0)return this;const n=typeof e=="string"?e:o(this,un,"f");return this.boolean(n),this.describe(n,t||o(this,W,"f").deferY18nLookup("Show hidden options")),o(this,L,"f").showHiddenOpt=n,this}showHidden(e,t){return this.addShowHiddenOpt(e,t)}alias(e,t){return $("<object|string|array> [string|array]",[e,t],arguments.length),this[zn](this.alias.bind(this),"alias",e,t),this}array(e){return $("<array|string>",[e],arguments.length),this[Ze]("array",e),this[Dt](e),this}boolean(e){return $("<array|string>",[e],arguments.length),this[Ze]("boolean",e),this[Dt](e),this}check(e,t){return $("<function> [boolean]",[e,t],arguments.length),this.middleware((n,r)=>kt(()=>e(n,r.getOptions()),s=>(s?(typeof s=="string"||s instanceof Error)&&o(this,W,"f").fail(s.toString(),s):o(this,W,"f").fail(o(this,T,"f").y18n.__("Argument check failed: %s",e.toString())),n),s=>(o(this,W,"f").fail(s.message?s.message:s.toString(),s),n)),!1,t),this}choices(e,t){return $("<object|string|array> [string|array]",[e,t],arguments.length),this[zn](this.choices.bind(this),"choices",e,t),this}coerce(e,t){if($("<object|string|array> [function]",[e,t],arguments.length),Array.isArray(e)){if(!t)throw new fe("coerce callback must be provided");for(const n of e)this.coerce(n,t);return this}else if(typeof e=="object"){for(const n of Object.keys(e))this.coerce(n,e[n]);return this}if(!t)throw new fe("coerce callback must be provided");return o(this,L,"f").key[e]=!0,o(this,_e,"f").addCoerceMiddleware((n,r)=>{let s;return Object.prototype.hasOwnProperty.call(n,e)?kt(()=>(s=r.getAliases(),t(n[e])),a=>{n[e]=a;const c=r.getInternalMethods().getParserConfiguration()["strip-aliased"];if(s[e]&&c!==!0)for(const h of s[e])n[h]=a;return n},a=>{throw new fe(a.message)}):n},e),this}conflicts(e,t){return $("<string|object> [string|array]",[e,t],arguments.length),o(this,se,"f").conflicts(e,t),this}config(e="config",t,n){return $("[object|string] [string|function] [function]",[e,t,n],arguments.length),typeof e=="object"&&!Array.isArray(e)?(e=Rn(e,o(this,at,"f"),this[mt]()["deep-merge-config"]||!1,o(this,T,"f")),o(this,L,"f").configObjects=(o(this,L,"f").configObjects||[]).concat(e),this):(typeof t=="function"&&(n=t,t=void 0),this.describe(e,t||o(this,W,"f").deferY18nLookup("Path to JSON config file")),(Array.isArray(e)?e:[e]).forEach(r=>{o(this,L,"f").config[r]=n||!0}),this)}completion(e,t,n){return $("[string] [string|boolean|function] [function]",[e,t,n],arguments.length),typeof t=="function"&&(n=t,t=void 0),_(this,be,e||o(this,be,"f")||"completion","f"),!t&&t!==!1&&(t="generate completion script"),this.command(o(this,be,"f"),t),n&&o(this,Be,"f").registerFunction(n),this}command(e,t,n,r,s,u){return $("<string|array|object> [string|boolean] [function|object] [function] [array] [boolean|string]",[e,t,n,r,s,u],arguments.length),o(this,oe,"f").addHandler(e,t,n,r,s,u),this}commands(e,t,n,r,s,u){return this.command(e,t,n,r,s,u)}commandDir(e,t){$("<string> [object]",[e,t],arguments.length);const n=o(this,ln,"f")||o(this,T,"f").require;return o(this,oe,"f").addDirectory(e,n,o(this,T,"f").getCallerFile(),t),this}count(e){return $("<array|string>",[e],arguments.length),this[Ze]("count",e),this[Dt](e),this}default(e,t,n){return $("<object|string|array> [*] [string]",[e,t,n],arguments.length),n&&(Hi(e,o(this,T,"f")),o(this,L,"f").defaultDescription[e]=n),typeof t=="function"&&(Hi(e,o(this,T,"f")),o(this,L,"f").defaultDescription[e]||(o(this,L,"f").defaultDescription[e]=o(this,W,"f").functionDescription(t)),t=t.call()),this[Bt](this.default.bind(this),"default",e,t),this}defaults(e,t,n){return this.default(e,t,n)}demandCommand(e=1,t,n,r){return $("[number] [number|string] [string|null|undefined] [string|null|undefined]",[e,t,n,r],arguments.length),typeof t!="number"&&(n=t,t=1/0),this.global("_",!1),o(this,L,"f").demandedCommands._={min:e,max:t,minMsg:n,maxMsg:r},this}demand(e,t,n){return Array.isArray(t)?(t.forEach(r=>{Me(n,!0,o(this,T,"f")),this.demandOption(r,n)}),t=1/0):typeof t!="number"&&(n=t,t=1/0),typeof e=="number"?(Me(n,!0,o(this,T,"f")),this.demandCommand(e,t,n,n)):Array.isArray(e)?e.forEach(r=>{Me(n,!0,o(this,T,"f")),this.demandOption(r,n)}):typeof n=="string"?this.demandOption(e,n):(n===!0||typeof n>"u")&&this.demandOption(e),this}demandOption(e,t){return $("<object|string|array> [string]",[e,t],arguments.length),this[Bt](this.demandOption.bind(this),"demandedOptions",e,t),this}deprecateOption(e,t){return $("<string> [string|boolean]",[e,t],arguments.length),o(this,L,"f").deprecatedOptions[e]=t,this}describe(e,t){return $("<object|string|array> [string]",[e,t],arguments.length),this[Yn](e,!0),o(this,W,"f").describe(e,t),this}detectLocale(e){return $("<boolean>",[e],arguments.length),_(this,ct,e,"f"),this}env(e){return $("[string|boolean]",[e],arguments.length),e===!1?delete o(this,L,"f").envPrefix:o(this,L,"f").envPrefix=e||"",this}epilogue(e){return $("<string>",[e],arguments.length),o(this,W,"f").epilog(e),this}epilog(e){return this.epilogue(e)}example(e,t){return $("<string|array> [string]",[e,t],arguments.length),Array.isArray(e)?e.forEach(n=>this.example(...n)):o(this,W,"f").example(e,t),this}exit(e,t){_(this,Fe,!0,"f"),_(this,Qe,t,"f"),o(this,Oe,"f")&&o(this,T,"f").process.exit(e)}exitProcess(e=!0){return $("[boolean]",[e],arguments.length),_(this,Oe,e,"f"),this}fail(e){if($("<function|boolean>",[e],arguments.length),typeof e=="boolean"&&e!==!1)throw new fe("Invalid first argument. Expected function or boolean 'false'");return o(this,W,"f").failFn(e),this}getAliases(){return this.parsed?this.parsed.aliases:{}}async getCompletion(e,t){return $("<array> [function]",[e,t],arguments.length),t?o(this,Be,"f").getCompletion(e,t):new Promise((n,r)=>{o(this,Be,"f").getCompletion(e,(s,u)=>{s?r(s):n(u)})})}getDemandedOptions(){return $([],0),o(this,L,"f").demandedOptions}getDemandedCommands(){return $([],0),o(this,L,"f").demandedCommands}getDeprecatedOptions(){return $([],0),o(this,L,"f").deprecatedOptions}getDetectLocale(){return o(this,ct,"f")}getExitProcess(){return o(this,Oe,"f")}getGroups(){return Object.assign({},o(this,Re,"f"),o(this,ft,"f"))}getHelp(){if(_(this,Fe,!0,"f"),!o(this,W,"f").hasCachedHelpMessage()){if(!this.parsed){const t=this[Vt](o(this,Xe,"f"),void 0,void 0,0,!0);if(le(t))return t.then(()=>o(this,W,"f").help())}const e=o(this,oe,"f").runDefaultBuilderOn(this);if(le(e))return e.then(()=>o(this,W,"f").help())}return Promise.resolve(o(this,W,"f").help())}getOptions(){return o(this,L,"f")}getStrict(){return o(this,dt,"f")}getStrictCommands(){return o(this,ht,"f")}getStrictOptions(){return o(this,pt,"f")}global(e,t){return $("<string|array> [boolean]",[e,t],arguments.length),e=[].concat(e),t!==!1?o(this,L,"f").local=o(this,L,"f").local.filter(n=>e.indexOf(n)===-1):e.forEach(n=>{o(this,L,"f").local.includes(n)||o(this,L,"f").local.push(n)}),this}group(e,t){$("<string|array> <string>",[e,t],arguments.length);const n=o(this,ft,"f")[t]||o(this,Re,"f")[t];o(this,ft,"f")[t]&&delete o(this,ft,"f")[t];const r={};return o(this,Re,"f")[t]=(n||[]).concat(e).filter(s=>r[s]?!1:r[s]=!0),this}hide(e){return $("<string>",[e],arguments.length),o(this,L,"f").hiddenOptions.push(e),this}implies(e,t){return $("<string|object> [number|string|array]",[e,t],arguments.length),o(this,se,"f").implies(e,t),this}locale(e){return $("[string]",[e],arguments.length),e===void 0?(this[Un](),o(this,T,"f").y18n.getLocale()):(_(this,ct,!1,"f"),o(this,T,"f").y18n.setLocale(e),this)}middleware(e,t,n){return o(this,_e,"f").addMiddleware(e,!!t,n)}nargs(e,t){return $("<string|object|array> [number]",[e,t],arguments.length),this[Bt](this.nargs.bind(this),"narg",e,t),this}normalize(e){return $("<array|string>",[e],arguments.length),this[Ze]("normalize",e),this}number(e){return $("<array|string>",[e],arguments.length),this[Ze]("number",e),this[Dt](e),this}option(e,t){if($("<string|object> [object]",[e,t],arguments.length),typeof e=="object")Object.keys(e).forEach(n=>{this.options(n,e[n])});else{typeof t!="object"&&(t={}),this[Dt](e),o(this,We,"f")&&(e==="version"||t?.alias==="version")&&this[er](['"version" is a reserved word.',"Please do one of the following:",'- Disable version with `yargs.version(false)` if using "version" as an option',"- Use the built-in `yargs.version` method instead (if applicable)","- Use a different option key","https://yargs.js.org/docs/#api-reference-version"].join(`
|
|
63
|
+
`),void 0,"versionWarning"),o(this,L,"f").key[e]=!0,t.alias&&this.alias(e,t.alias);const n=t.deprecate||t.deprecated;n&&this.deprecateOption(e,n);const r=t.demand||t.required||t.require;r&&this.demand(e,r),t.demandOption&&this.demandOption(e,typeof t.demandOption=="string"?t.demandOption:void 0),t.conflicts&&this.conflicts(e,t.conflicts),"default"in t&&this.default(e,t.default),t.implies!==void 0&&this.implies(e,t.implies),t.nargs!==void 0&&this.nargs(e,t.nargs),t.config&&this.config(e,t.configParser),t.normalize&&this.normalize(e),t.choices&&this.choices(e,t.choices),t.coerce&&this.coerce(e,t.coerce),t.group&&this.group(e,t.group),(t.boolean||t.type==="boolean")&&(this.boolean(e),t.alias&&this.boolean(t.alias)),(t.array||t.type==="array")&&(this.array(e),t.alias&&this.array(t.alias)),(t.number||t.type==="number")&&(this.number(e),t.alias&&this.number(t.alias)),(t.string||t.type==="string")&&(this.string(e),t.alias&&this.string(t.alias)),(t.count||t.type==="count")&&this.count(e),typeof t.global=="boolean"&&this.global(e,t.global),t.defaultDescription&&(o(this,L,"f").defaultDescription[e]=t.defaultDescription),t.skipValidation&&this.skipValidation(e);const s=t.describe||t.description||t.desc,u=o(this,W,"f").getDescriptions();(!Object.prototype.hasOwnProperty.call(u,e)||typeof s=="string")&&this.describe(e,s),t.hidden&&this.hide(e),t.requiresArg&&this.requiresArg(e)}return this}options(e,t){return this.option(e,t)}parse(e,t,n){$("[string|array] [function|boolean|object] [function]",[e,t,n],arguments.length),this[tr](),typeof e>"u"&&(e=o(this,Xe,"f")),typeof t=="object"&&(_(this,lt,t,"f"),t=n),typeof t=="function"&&(_(this,ye,t,"f"),t=!1),t||_(this,Xe,e,"f"),o(this,ye,"f")&&_(this,Oe,!1,"f");const r=this[Vt](e,!!t),s=this.parsed;return o(this,Be,"f").setParsed(this.parsed),le(r)?r.then(u=>(o(this,ye,"f")&&o(this,ye,"f").call(this,o(this,Qe,"f"),u,o(this,ge,"f")),u)).catch(u=>{throw o(this,ye,"f")&&o(this,ye,"f")(u,this.parsed.argv,o(this,ge,"f")),u}).finally(()=>{this[qn](),this.parsed=s}):(o(this,ye,"f")&&o(this,ye,"f").call(this,o(this,Qe,"f"),r,o(this,ge,"f")),this[qn](),this.parsed=s,r)}parseAsync(e,t,n){const r=this.parse(e,t,n);return le(r)?r:Promise.resolve(r)}parseSync(e,t,n){const r=this.parse(e,t,n);if(le(r))throw new fe(".parseSync() must not be used with asynchronous builders, handlers, or middleware");return r}parserConfiguration(e){return $("<object>",[e],arguments.length),_(this,fn,e,"f"),this}pkgConf(e,t){$("<string> [string]",[e,t],arguments.length);let n=null;const r=this[Vn](t||o(this,at,"f"));return r[e]&&typeof r[e]=="object"&&(n=Rn(r[e],t||o(this,at,"f"),this[mt]()["deep-merge-config"]||!1,o(this,T,"f")),o(this,L,"f").configObjects=(o(this,L,"f").configObjects||[]).concat(n)),this}positional(e,t){$("<string> <object>",[e,t],arguments.length);const n=["default","defaultDescription","implies","normalize","choices","conflicts","coerce","type","describe","desc","description","alias"];t=Tt(t,(u,a)=>u==="type"&&!["string","number","boolean"].includes(a)?!1:n.includes(u));const r=o(this,Ut,"f").fullCommands[o(this,Ut,"f").fullCommands.length-1],s=r?o(this,oe,"f").cmdToParseOptions(r):{array:[],alias:{},default:{},demand:{}};return rn(s).forEach(u=>{const a=s[u];Array.isArray(a)?a.indexOf(e)!==-1&&(t[u]=!0):a[e]&&!(u in t)&&(t[u]=a[e])}),this.group(e,o(this,W,"f").getPositionalGroupName()),this.option(e,t)}recommendCommands(e=!0){return $("[boolean]",[e],arguments.length),_(this,dn,e,"f"),this}required(e,t,n){return this.demand(e,t,n)}require(e,t,n){return this.demand(e,t,n)}requiresArg(e){return $("<array|string|object> [number]",[e],arguments.length),typeof e=="string"&&o(this,L,"f").narg[e]?this:(this[Bt](this.requiresArg.bind(this),"narg",e,NaN),this)}showCompletionScript(e,t){return $("[string] [string]",[e,t],arguments.length),e=e||this.$0,o(this,yt,"f").log(o(this,Be,"f").generateCompletionScript(e,t||o(this,be,"f")||"completion")),this}showHelp(e){if($("[string|function]",[e],arguments.length),_(this,Fe,!0,"f"),!o(this,W,"f").hasCachedHelpMessage()){if(!this.parsed){const n=this[Vt](o(this,Xe,"f"),void 0,void 0,0,!0);if(le(n))return n.then(()=>{o(this,W,"f").showHelp(e)}),this}const t=o(this,oe,"f").runDefaultBuilderOn(this);if(le(t))return t.then(()=>{o(this,W,"f").showHelp(e)}),this}return o(this,W,"f").showHelp(e),this}scriptName(e){return this.customScriptName=!0,this.$0=e,this}showHelpOnFail(e,t){return $("[boolean|string] [string]",[e,t],arguments.length),o(this,W,"f").showHelpOnFail(e,t),this}showVersion(e){return $("[string|function]",[e],arguments.length),o(this,W,"f").showVersion(e),this}skipValidation(e){return $("<array|string>",[e],arguments.length),this[Ze]("skipValidation",e),this}strict(e){return $("[boolean]",[e],arguments.length),_(this,dt,e!==!1,"f"),this}strictCommands(e){return $("[boolean]",[e],arguments.length),_(this,ht,e!==!1,"f"),this}strictOptions(e){return $("[boolean]",[e],arguments.length),_(this,pt,e!==!1,"f"),this}string(e){return $("<array|string>",[e],arguments.length),this[Ze]("string",e),this[Dt](e),this}terminalWidth(){return $([],0),o(this,T,"f").process.stdColumns}updateLocale(e){return this.updateStrings(e)}updateStrings(e){return $("<object>",[e],arguments.length),_(this,ct,!1,"f"),o(this,T,"f").y18n.updateLocale(e),this}usage(e,t,n,r){if($("<string|null|undefined> [string|boolean] [function|object] [function]",[e,t,n,r],arguments.length),t!==void 0){if(Me(e,null,o(this,T,"f")),(e||"").match(/^\$0( |$)/))return this.command(e,t,n,r);throw new fe(".usage() description must start with $0 if being used as alias for .command()")}else return o(this,W,"f").usage(e),this}usageConfiguration(e){return $("<object>",[e],arguments.length),_(this,hn,e,"f"),this}version(e,t,n){const r="version";if($("[boolean|string] [string] [string]",[e,t,n],arguments.length),o(this,We,"f")&&(this[Wn](o(this,We,"f")),o(this,W,"f").version(void 0),_(this,We,null,"f")),arguments.length===0)n=this[rr](),e=r;else if(arguments.length===1){if(e===!1)return this;n=e,e=r}else arguments.length===2&&(n=t,t=void 0);return _(this,We,typeof e=="string"?e:r,"f"),t=t||o(this,W,"f").deferY18nLookup("Show version number"),o(this,W,"f").version(n||void 0),this.boolean(o(this,We,"f")),this.describe(o(this,We,"f"),t),this}wrap(e){return $("<number|null|undefined>",[e],arguments.length),o(this,W,"f").wrap(e),this}[(oe=new WeakMap,at=new WeakMap,Ut=new WeakMap,Be=new WeakMap,be=new WeakMap,un=new WeakMap,Qe=new WeakMap,ct=new WeakMap,on=new WeakMap,Oe=new WeakMap,an=new WeakMap,_e=new WeakMap,Re=new WeakMap,Fe=new WeakMap,Se=new WeakMap,cn=new WeakMap,yt=new WeakMap,ge=new WeakMap,L=new WeakMap,ln=new WeakMap,fn=new WeakMap,ye=new WeakMap,lt=new WeakMap,vt=new WeakMap,ft=new WeakMap,Xe=new WeakMap,dn=new WeakMap,T=new WeakMap,dt=new WeakMap,ht=new WeakMap,pt=new WeakMap,W=new WeakMap,hn=new WeakMap,We=new WeakMap,se=new WeakMap,Xi)](e){if(!e._||!e["--"])return e;e._.push.apply(e._,e["--"]);try{delete e["--"]}catch{}return e}[Zi](){return{log:(...e)=>{this[pn]()||console.log(...e),_(this,Fe,!0,"f"),o(this,ge,"f").length&&_(this,ge,o(this,ge,"f")+`
|
|
64
|
+
`,"f"),_(this,ge,o(this,ge,"f")+e.join(" "),"f")},error:(...e)=>{this[pn]()||console.error(...e),_(this,Fe,!0,"f"),o(this,ge,"f").length&&_(this,ge,o(this,ge,"f")+`
|
|
65
|
+
`,"f"),_(this,ge,o(this,ge,"f")+e.join(" "),"f")}}}[Wn](e){rn(o(this,L,"f")).forEach(t=>{if((r=>r==="configObjects")(t))return;const n=o(this,L,"f")[t];Array.isArray(n)?n.includes(e)&&n.splice(n.indexOf(e),1):typeof n=="object"&&delete n[e]}),delete o(this,W,"f").getDescriptions()[e]}[er](e,t,n){o(this,on,"f")[n]||(o(this,T,"f").process.emitWarning(e,t),o(this,on,"f")[n]=!0)}[tr](){o(this,an,"f").push({options:o(this,L,"f"),configObjects:o(this,L,"f").configObjects.slice(0),exitProcess:o(this,Oe,"f"),groups:o(this,Re,"f"),strict:o(this,dt,"f"),strictCommands:o(this,ht,"f"),strictOptions:o(this,pt,"f"),completionCommand:o(this,be,"f"),output:o(this,ge,"f"),exitError:o(this,Qe,"f"),hasOutput:o(this,Fe,"f"),parsed:this.parsed,parseFn:o(this,ye,"f"),parseContext:o(this,lt,"f")}),o(this,W,"f").freeze(),o(this,se,"f").freeze(),o(this,oe,"f").freeze(),o(this,_e,"f").freeze()}[nr](){let e="",t;return/\b(node|iojs|electron)(\.exe)?$/.test(o(this,T,"f").process.argv()[0])?t=o(this,T,"f").process.argv().slice(1,2):t=o(this,T,"f").process.argv().slice(0,1),e=t.map(n=>{const r=this[mr](o(this,at,"f"),n);return n.match(/^(\/|([a-zA-Z]:)?\\)/)&&r.length<n.length?r:n}).join(" ").trim(),o(this,T,"f").getEnv("_")&&o(this,T,"f").getProcessArgvBin()===o(this,T,"f").getEnv("_")&&(e=o(this,T,"f").getEnv("_").replace(`${o(this,T,"f").path.dirname(o(this,T,"f").process.execPath())}/`,"")),e}[mt](){return o(this,fn,"f")}[ir](){return o(this,hn,"f")}[Un](){if(!o(this,ct,"f"))return;const e=o(this,T,"f").getEnv("LC_ALL")||o(this,T,"f").getEnv("LC_MESSAGES")||o(this,T,"f").getEnv("LANG")||o(this,T,"f").getEnv("LANGUAGE")||"en_US";this.locale(e.replace(/[.:].*/,""))}[rr](){return this[Vn]().version||"unknown"}[sr](e){const t=e["--"]?e["--"]:e._;for(let n=0,r;(r=t[n])!==void 0;n++)o(this,T,"f").Parser.looksLikeNumber(r)&&Number.isSafeInteger(Math.floor(parseFloat(`${r}`)))&&(t[n]=Number(r));return e}[Vn](e){const t=e||"*";if(o(this,vt,"f")[t])return o(this,vt,"f")[t];let n={};try{let r=e||o(this,T,"f").mainFilename;!e&&o(this,T,"f").path.extname(r)&&(r=o(this,T,"f").path.dirname(r));const s=o(this,T,"f").findUp(r,(u,a)=>{if(a.includes("package.json"))return"package.json"});Me(s,void 0,o(this,T,"f")),n=JSON.parse(o(this,T,"f").readFileSync(s,"utf8"))}catch{}return o(this,vt,"f")[t]=n||{},o(this,vt,"f")[t]}[Ze](e,t){t=[].concat(t),t.forEach(n=>{n=this[Gn](n),o(this,L,"f")[e].push(n)})}[Bt](e,t,n,r){this[Hn](e,t,n,r,(s,u,a)=>{o(this,L,"f")[s][u]=a})}[zn](e,t,n,r){this[Hn](e,t,n,r,(s,u,a)=>{o(this,L,"f")[s][u]=(o(this,L,"f")[s][u]||[]).concat(a)})}[Hn](e,t,n,r,s){if(Array.isArray(n))n.forEach(u=>{e(u,r)});else if((u=>typeof u=="object")(n))for(const u of rn(n))e(u,n[u]);else s(t,this[Gn](n),r)}[Gn](e){return e==="__proto__"?"___proto___":e}[Yn](e,t){return this[Bt](this[Yn].bind(this),"key",e,t),this}[qn](){var e,t,n,r,s,u,a,c,h,l,f,p;const C=o(this,an,"f").pop();Me(C,void 0,o(this,T,"f"));let F;e=this,t=this,n=this,r=this,s=this,u=this,a=this,c=this,h=this,l=this,f=this,p=this,{options:{set value(w){_(e,L,w,"f")}}.value,configObjects:F,exitProcess:{set value(w){_(t,Oe,w,"f")}}.value,groups:{set value(w){_(n,Re,w,"f")}}.value,output:{set value(w){_(r,ge,w,"f")}}.value,exitError:{set value(w){_(s,Qe,w,"f")}}.value,hasOutput:{set value(w){_(u,Fe,w,"f")}}.value,parsed:this.parsed,strict:{set value(w){_(a,dt,w,"f")}}.value,strictCommands:{set value(w){_(c,ht,w,"f")}}.value,strictOptions:{set value(w){_(h,pt,w,"f")}}.value,completionCommand:{set value(w){_(l,be,w,"f")}}.value,parseFn:{set value(w){_(f,ye,w,"f")}}.value,parseContext:{set value(w){_(p,lt,w,"f")}}.value}=C,o(this,L,"f").configObjects=F,o(this,W,"f").unfreeze(),o(this,se,"f").unfreeze(),o(this,oe,"f").unfreeze(),o(this,_e,"f").unfreeze()}[ur](e,t){return kt(t,n=>(e(n),n))}getInternalMethods(){return{getCommandInstance:this[or].bind(this),getContext:this[ar].bind(this),getHasOutput:this[cr].bind(this),getLoggerInstance:this[lr].bind(this),getParseContext:this[fr].bind(this),getParserConfiguration:this[mt].bind(this),getUsageConfiguration:this[ir].bind(this),getUsageInstance:this[dr].bind(this),getValidationInstance:this[hr].bind(this),hasParseCallback:this[pn].bind(this),isGlobalContext:this[pr].bind(this),postProcess:this[gt].bind(this),reset:this[Jn].bind(this),runValidation:this[Kn].bind(this),runYargsParserAndExecuteCommands:this[Vt].bind(this),setHasOutput:this[gr].bind(this)}}[or](){return o(this,oe,"f")}[ar](){return o(this,Ut,"f")}[cr](){return o(this,Fe,"f")}[lr](){return o(this,yt,"f")}[fr](){return o(this,lt,"f")||{}}[dr](){return o(this,W,"f")}[hr](){return o(this,se,"f")}[pn](){return!!o(this,ye,"f")}[pr](){return o(this,cn,"f")}[gt](e,t,n,r){return n||le(e)||(t||(e=this[Xi](e)),(this[mt]()["parse-positional-numbers"]||this[mt]()["parse-positional-numbers"]===void 0)&&(e=this[sr](e)),r&&(e=Mt(e,this,o(this,_e,"f").getMiddleware(),!1))),e}[Jn](e={}){_(this,L,o(this,L,"f")||{},"f");const t={};t.local=o(this,L,"f").local||[],t.configObjects=o(this,L,"f").configObjects||[];const n={};t.local.forEach(u=>{n[u]=!0,(e[u]||[]).forEach(a=>{n[a]=!0})}),Object.assign(o(this,ft,"f"),Object.keys(o(this,Re,"f")).reduce((u,a)=>{const c=o(this,Re,"f")[a].filter(h=>!(h in n));return c.length>0&&(u[a]=c),u},{})),_(this,Re,{},"f");const r=["array","boolean","string","skipValidation","count","normalize","number","hiddenOptions"],s=["narg","key","alias","default","defaultDescription","config","choices","demandedOptions","demandedCommands","deprecatedOptions"];return r.forEach(u=>{t[u]=(o(this,L,"f")[u]||[]).filter(a=>!n[a])}),s.forEach(u=>{t[u]=Tt(o(this,L,"f")[u],a=>!n[a])}),t.envPrefix=o(this,L,"f").envPrefix,_(this,L,t,"f"),_(this,W,o(this,W,"f")?o(this,W,"f").reset(n):mu(this,o(this,T,"f")),"f"),_(this,se,o(this,se,"f")?o(this,se,"f").reset(n):yu(this,o(this,W,"f"),o(this,T,"f")),"f"),_(this,oe,o(this,oe,"f")?o(this,oe,"f").reset():lu(o(this,W,"f"),o(this,se,"f"),o(this,_e,"f"),o(this,T,"f")),"f"),o(this,Be,"f")||_(this,Be,Au(this,o(this,W,"f"),o(this,oe,"f"),o(this,T,"f")),"f"),o(this,_e,"f").reset(),_(this,be,null,"f"),_(this,ge,"","f"),_(this,Qe,null,"f"),_(this,Fe,!1,"f"),this.parsed=!1,this}[mr](e,t){return o(this,T,"f").path.relative(e,t)}[Vt](e,t,n,r=0,s=!1){let u=!!n||s;e=e||o(this,Xe,"f"),o(this,L,"f").__=o(this,T,"f").y18n.__,o(this,L,"f").configuration=this[mt]();const a=!!o(this,L,"f").configuration["populate--"],c=Object.assign({},o(this,L,"f").configuration,{"populate--":!0}),h=o(this,T,"f").Parser.detailed(e,Object.assign({},o(this,L,"f"),{configuration:{"parse-positional-numbers":!1,...c}})),l=Object.assign(h.argv,o(this,lt,"f"));let f;const p=h.aliases;let C=!1,F=!1;Object.keys(l).forEach(w=>{w===o(this,Se,"f")&&l[w]?C=!0:w===o(this,We,"f")&&l[w]&&(F=!0)}),l.$0=this.$0,this.parsed=h,r===0&&o(this,W,"f").clearCachedHelpMessage();try{if(this[Un](),t)return this[gt](l,a,!!n,!1);o(this,Se,"f")&&[o(this,Se,"f")].concat(p[o(this,Se,"f")]||[]).filter(R=>R.length>1).includes(""+l._[l._.length-1])&&(l._.pop(),C=!0),_(this,cn,!1,"f");const w=o(this,oe,"f").getCommands(),m=o(this,Be,"f").completionKey in l,y=C||m||s;if(l._.length){if(w.length){let S;for(let R=r||0,N;l._[R]!==void 0;R++)if(N=String(l._[R]),w.includes(N)&&N!==o(this,be,"f")){const U=o(this,oe,"f").runCommand(N,this,h,R+1,s,C||F||s);return this[gt](U,a,!!n,!1)}else if(!S&&N!==o(this,be,"f")){S=N;break}!o(this,oe,"f").hasDefaultCommand()&&o(this,dn,"f")&&S&&!y&&o(this,se,"f").recommendCommands(S,w)}o(this,be,"f")&&l._.includes(o(this,be,"f"))&&!m&&(o(this,Oe,"f")&&Rt(!0),this.showCompletionScript(),this.exit(0))}if(o(this,oe,"f").hasDefaultCommand()&&!y){const S=o(this,oe,"f").runCommand(null,this,h,0,s,C||F||s);return this[gt](S,a,!!n,!1)}if(m){o(this,Oe,"f")&&Rt(!0),e=[].concat(e);const S=e.slice(e.indexOf(`--${o(this,Be,"f").completionKey}`)+1);return o(this,Be,"f").getCompletion(S,(R,N)=>{if(R)throw new fe(R.message);(N||[]).forEach(U=>{o(this,yt,"f").log(U)}),this.exit(0)}),this[gt](l,!a,!!n,!1)}if(o(this,Fe,"f")||(C?(o(this,Oe,"f")&&Rt(!0),u=!0,this.showHelp("log"),this.exit(0)):F&&(o(this,Oe,"f")&&Rt(!0),u=!0,o(this,W,"f").showVersion("log"),this.exit(0))),!u&&o(this,L,"f").skipValidation.length>0&&(u=Object.keys(l).some(S=>o(this,L,"f").skipValidation.indexOf(S)>=0&&l[S]===!0)),!u){if(h.error)throw new fe(h.error.message);if(!m){const S=this[Kn](p,{},h.error);n||(f=Mt(l,this,o(this,_e,"f").getMiddleware(),!0)),f=this[ur](S,f??l),le(f)&&!n&&(f=f.then(()=>Mt(l,this,o(this,_e,"f").getMiddleware(),!1)))}}}catch(w){if(w instanceof fe)o(this,W,"f").fail(w.message,w);else throw w}return this[gt](f??l,a,!!n,!0)}[Kn](e,t,n,r){const s={...this.getDemandedOptions()};return u=>{if(n)throw new fe(n.message);o(this,se,"f").nonOptionCount(u),o(this,se,"f").requiredArguments(u,s);let a=!1;o(this,ht,"f")&&(a=o(this,se,"f").unknownCommands(u)),o(this,dt,"f")&&!a?o(this,se,"f").unknownArguments(u,e,t,!!r):o(this,pt,"f")&&o(this,se,"f").unknownArguments(u,e,{},!1,!1),o(this,se,"f").limitedChoices(u),o(this,se,"f").implications(u),o(this,se,"f").conflicting(u)}}[gr](){_(this,Fe,!0,"f")}[Dt](e){if(typeof e=="string")o(this,L,"f").key[e]=!0;else for(const t of e)o(this,L,"f").key[t]=!0}}function Su(i){return!!i&&typeof i.getInternalMethods=="function"}const Iu=Ou(iu),mn={type:"string",desc:"<directory> with LikeC4 sources (default is current directory)",normalize:!0,default:".",coerce:Q},ke={alias:"use-dot-bin",boolean:!0,type:"boolean",desc:'use graphviz binaries ("dot" should be on PATH)',default:!1},Dr={boolean:!0,type:"boolean",desc:'use hash history for navigation, e.g. "/#/view" instead of "/view"'},gn={alias:"o",type:"string",desc:"<directory> output directory",normalize:!0,coerce:Q},Qn={alias:"w",type:"string",desc:'prefix for Webcomponents, e.g "c4" generates <c4-view ../>',default:"likec4"},Cr={alias:["base-url"],type:"string",desc:'base url the app is being served from, e.g. "/" or "/pages/"'},wr={boolean:!0,type:"boolean",desc:"overview all diagrams as graph [experimental]",default:!1};function $u(i){var e,t;if(i){if("astNode"in i)return Lu(i);if(Array.isArray(i))return i.reduce(Ar,void 0);{const n=i,r=xu(n)?ju((t=(e=n?.root)===null||e===void 0?void 0:e.astNode)!==null&&t!==void 0?t:n?.astNode):void 0;return Ot(n,r)}}else return}function xu(i){return typeof i<"u"&&"element"in i&&"text"in i}function ju(i){try{return Di(i).uri.toString()}catch{return}}function Lu(i){var e,t;const{astNode:n,property:r,index:s}=i??{},u=(e=n?.$cstNode)!==null&&e!==void 0?e:n?.$textRegion;if(!(n===void 0||u===void 0)){if(r===void 0)return Ot(u,Xn(n));{const a=c=>s!==void 0&&s>-1&&Array.isArray(n[r])?s<c.length?c[s]:void 0:c.reduce(Ar,void 0);if(!((t=u.assignments)===null||t===void 0)&&t[r]){const c=a(u.assignments[r]);return c&&Ot(c,Xn(n))}else if(n.$cstNode){const c=a(Hr(n.$cstNode,r));return c&&Ot(c,Xn(n))}else return}}}function Xn(i){var e,t,n,r;return i.$cstNode?(t=(e=Di(i))===null||e===void 0?void 0:e.uri)===null||t===void 0?void 0:t.toString():i.$textRegion?i.$textRegion.documentURI||((r=(n=new Gr(i,s=>s.$container?[s.$container]:[]).find(s=>{var u;return(u=s.$textRegion)===null||u===void 0?void 0:u.documentURI}))===null||n===void 0?void 0:n.$textRegion)===null||r===void 0?void 0:r.documentURI):void 0}function Ot(i,e){var t,n;const r={offset:i.offset,end:(t=i.end)!==null&&t!==void 0?t:i.offset+i.length,length:(n=i.length)!==null&&n!==void 0?n:i.end-i.offset};return i.range&&(r.range=i.range),e??(e=i.fileURI),e&&(r.fileURI=e),r}function Ar(i,e){var t,n;if(i){if(!e)return i&&Ot(i)}else return e&&Ot(e);const r=(t=i.end)!==null&&t!==void 0?t:i.offset+i.length,s=(n=e.end)!==null&&n!==void 0?n:e.offset+e.length,u=Math.min(i.offset,e.offset),a=Math.max(r,s),c=a-u,h={offset:u,end:a,length:c};if(i.range&&e.range&&(h.range={start:e.range.start.line<i.range.start.line||e.range.start.line===i.range.start.line&&e.range.start.character<i.range.start.character?e.range.start:i.range.start,end:e.range.end.line>i.range.end.line||e.range.end.line===i.range.end.line&&e.range.end.character>i.range.end.character?e.range.end:i.range.end}),i.fileURI||e.fileURI){const l=i.fileURI,f=e.fileURI,p=l&&f&&l!==f?`<unmergable text regions of ${l}, ${f}>`:l??f;h.fileURI=p}return h}class Pu{constructor(e){this.defaultIndentation=" ",this.pendingIndent=!0,this.currentIndents=[],this.recentNonImmediateIndents=[],this.traceData=[],this.lines=[[]],this.length=0,typeof e=="string"?this.defaultIndentation=e:typeof e=="number"&&(this.defaultIndentation="".padStart(e))}get content(){return this.lines.map(e=>e.join("")).join("")}get contentLength(){return this.length}get currentLineNumber(){return this.lines.length-1}get currentLineContent(){return this.lines[this.currentLineNumber].join("")}get currentPosition(){return{offset:this.contentLength,line:this.currentLineNumber,character:this.currentLineContent.length}}append(e,t){if(e.length>0){const n=t&&this.currentPosition;this.lines[this.currentLineNumber].push(e),this.length+=e.length,n&&this.indentPendingTraceRegions(n)}}indentPendingTraceRegions(e){for(let t=this.traceData.length-1;t>=0;t--){const n=this.traceData[t];n.targetStart&&n.targetStart.offset===e.offset&&(n.targetStart=this.currentPosition)}}increaseIndent(e){this.currentIndents.push(e),e.indentImmediately||this.recentNonImmediateIndents.push(e)}decreaseIndent(){this.currentIndents.pop()}get relevantIndents(){return this.currentIndents.filter(e=>!this.recentNonImmediateIndents.includes(e))}resetCurrentLine(){this.length-=this.lines[this.currentLineNumber].join("").length,this.lines[this.currentLineNumber]=[],this.pendingIndent=!0}addNewLine(){this.pendingIndent=!0,this.lines.push([]),this.recentNonImmediateIndents.length=0}pushTraceRegion(e){const t=Nu(e,this.currentPosition,n=>{var r,s;return(s=(r=this.traceData[this.traceData.length-1])===null||r===void 0?void 0:r.children)===null||s===void 0?void 0:s.push(n)});return this.traceData.push(t),t}popTraceRegion(e){const t=this.traceData.pop();return this.assertTrue(t===e,"Trace region mismatch!"),t}getParentTraceSourceFileURI(){var e;for(let t=this.traceData.length-1;t>-1;t--){const n=(e=this.traceData[t].sourceRegion)===null||e===void 0?void 0:e.fileURI;if(n)return n}}assertTrue(e,t){if(!e)throw new Error(t)}}function Nu(i,e,t){const n={sourceRegion:i,targetRegion:void 0,children:[],targetStart:e,complete:r=>{var s,u;return n.targetRegion={offset:n.targetStart.offset,end:r.offset,length:r.offset-n.targetStart.offset,range:{start:{line:n.targetStart.line,character:n.targetStart.character},end:{line:r.line,character:r.character}}},delete n.targetStart,((s=n.children)===null||s===void 0?void 0:s.length)===0&&delete n.children,!((u=n.targetRegion)===null||u===void 0)&&u.length&&t(n),delete n.complete,n}};return n}function Mu(i,e){const t=new Pu(e),n=t.pushTraceRegion(void 0);Er(i,t),t.popTraceRegion(n),n.complete&&n.complete(t.currentPosition);const r=n.children&&n.children.length===1?n.children[0]:void 0,s=r?.targetRegion,u=n.targetRegion;return s&&r.sourceRegion&&s.offset===u.offset&&s.length===u.length?{text:t.content,trace:r}:{text:t.content,trace:n}}function Er(i,e){typeof i=="string"?ku(i,e):i instanceof ei?Tu(i,e):i instanceof ce?yr(i,e):i instanceof Ht&&Ru(i,e)}function br(i,e){return typeof i=="string"?i.length!==0:i instanceof ce?i.contents.some(t=>br(t,e)):i instanceof Ht?!(i.ifNotEmpty&&e.currentLineContent.length===0):!1}function ku(i,e){i&&(e.pendingIndent&&Fr(e,!1),e.append(i))}function Fr(i,e){var t;let n="";for(const r of i.relevantIndents.filter(s=>s.indentEmptyLines||!e))n+=(t=r.indentation)!==null&&t!==void 0?t:i.defaultIndentation;i.append(n,!0),i.pendingIndent=!1}function yr(i,e){let t;const n=$u(i.tracedSource);n&&(t=e.pushTraceRegion(n));for(const r of i.contents)Er(r,e);if(t){e.popTraceRegion(t);const r=e.getParentTraceSourceFileURI();r&&n?.fileURI===r&&delete n.fileURI,t.complete&&t.complete(e.currentPosition)}}function Tu(i,e){var t;if(br(i,e)){i.indentImmediately&&!e.pendingIndent&&e.append((t=i.indentation)!==null&&t!==void 0?t:e.defaultIndentation,!0);try{e.increaseIndent(i),yr(i,e)}finally{e.decreaseIndent()}}}function Ru(i,e){i.ifNotEmpty&&!Wu(e.currentLineContent)?e.resetCurrentLine():(e.pendingIndent&&Fr(e,!0),e.append(i.lineDelimiter),e.addNewLine())}function Wu(i){return i.trimStart()!==""}Object.freeze("__\xABSKIP^NEW^LINE^IF^EMPTY\xBB__");const Uu=/\S|$/;function Vu(i){const e=i.filter(n=>n.length>0).map(n=>n.search(Uu)),t=e.length===0?0:Math.min(...e);return Math.max(0,t)}function et(i,...e){const t=Hu(i),n=Gu(i,e,t);return qu(n)}function zu(i,e,t){return(n,...r)=>Ku(i,e,t)(et(n,...r))}function Hu(i){const e=i.join("_").split(Ci),t=e.length>1&&e[0].trim().length===0,n=t&&e.length>1&&e[e.length-1].trim().length===0;if(e.length===1||e.length!==0&&e[0].trim().length!==0||e.length===2&&e[1].trim().length===0)return{indentation:0,omitFirstLine:t,omitLastLine:n,trimLastLine:e.length!==1&&e[e.length-1].trim().length===0};{let r=t?e.slice(1):e;r=n?r.slice(0,r.length-1):r,r=r.filter(u=>u.length!==0);const s=Vu(r);return{indentation:s,omitFirstLine:t,omitLastLine:n&&(e[e.length-1].length<s||!e[e.length-1].startsWith(r[0].substring(0,s)))}}}function Gu(i,e,{indentation:t,omitFirstLine:n,omitLastLine:r,trimLastLine:s}){const u=[];i.forEach((h,l)=>{u.push(...h.split(Ci).map((f,p)=>p===0||f.length<t?f:f.substring(t)).reduce(l===0?(f,p,C)=>C===0?n?[]:[p]:C===1&&f.length===0?[p]:f.concat(Dn,p):(f,p,C)=>C===0?[p]:f.concat(Dn,p),[]).filter(f=>!(typeof f=="string"&&f.length===0)).concat(zt(e[l])?e[l]:e[l]!==void 0?{content:String(e[l])}:l<e.length?vr:[]))});const a=u.length,c=a!==0?u[a-1]:void 0;return(r||s)&&typeof c=="string"&&c.trim().length===0?n&&a!==1&&u[a-2]===Dn?u.slice(0,a-2):u.slice(0,a-1):u}const Dn={isNewLine:!0},vr={isUndefinedSegment:!0},Br=i=>i===Dn,Zn=i=>i===vr,Yu=i=>i.content!==void 0;function qu(i){return i.reduce((t,n,r)=>Zn(n)?t:Br(n)?{node:r!==0&&(Zn(i[r-1])||zt(i[r-1]))||r>1&&typeof i[r-1]=="string"&&(Zn(i[r-2])||zt(i[r-2]))?t.node.appendNewLineIfNotEmpty():t.node.appendNewLine()}:(()=>{var s;const u=(r===0||Br(i[r-1]))&&typeof n=="string"&&n.length!==0?"".padStart(n.length-n.trimStart().length):"",a=Yu(n)?n.content:n;let c;return{node:t.indented?t.node:u.length!==0?t.node.indent({indentation:u,indentImmediately:!1,indentedChildren:h=>c=h.append(a)}):t.node.append(a),indented:c??((s=t.indented)===null||s===void 0?void 0:s.append(a))}})(),{node:new ce}).node}const Ju=typeof process>"u"?`
|
|
66
66
|
`:process.platform==="win32"?`\r
|
|
67
67
|
`:`
|
|
68
|
-
`;function
|
|
69
|
-
`,"\\n"),f=
|
|
70
|
-
`,"\\n")+'" .-':"-","> ",n.get(u.target));return mt(new fe().appendIf(i.title!==null&&i.title.length>0,"---",G,`title: ${JSON.stringify(i.title)}`,G,"---",G).append("graph ",i.autoLayout.direction,G).indent({indentedChildren:u=>{u.append(Se(e.filter(a=>gi(a.parent)),a=>r(a),{appendNewLineIfNotEmpty:!0})).appendIf(t.length>0,Se(t,a=>s(a),{appendNewLineIfNotEmpty:!0}))},indentation:2}))}var oo=/[\u1680\u2000-\u200A\u202F\u205F\u3000]/,ao=/[\xAA\xB5\xBA\xC0-\xD6\xD8-\xF6\xF8-\u02C1\u02C6-\u02D1\u02E0-\u02E4\u02EC\u02EE\u0370-\u0374\u0376\u0377\u037A-\u037D\u037F\u0386\u0388-\u038A\u038C\u038E-\u03A1\u03A3-\u03F5\u03F7-\u0481\u048A-\u052F\u0531-\u0556\u0559\u0561-\u0587\u05D0-\u05EA\u05F0-\u05F2\u0620-\u064A\u066E\u066F\u0671-\u06D3\u06D5\u06E5\u06E6\u06EE\u06EF\u06FA-\u06FC\u06FF\u0710\u0712-\u072F\u074D-\u07A5\u07B1\u07CA-\u07EA\u07F4\u07F5\u07FA\u0800-\u0815\u081A\u0824\u0828\u0840-\u0858\u0860-\u086A\u08A0-\u08B4\u08B6-\u08BD\u0904-\u0939\u093D\u0950\u0958-\u0961\u0971-\u0980\u0985-\u098C\u098F\u0990\u0993-\u09A8\u09AA-\u09B0\u09B2\u09B6-\u09B9\u09BD\u09CE\u09DC\u09DD\u09DF-\u09E1\u09F0\u09F1\u09FC\u0A05-\u0A0A\u0A0F\u0A10\u0A13-\u0A28\u0A2A-\u0A30\u0A32\u0A33\u0A35\u0A36\u0A38\u0A39\u0A59-\u0A5C\u0A5E\u0A72-\u0A74\u0A85-\u0A8D\u0A8F-\u0A91\u0A93-\u0AA8\u0AAA-\u0AB0\u0AB2\u0AB3\u0AB5-\u0AB9\u0ABD\u0AD0\u0AE0\u0AE1\u0AF9\u0B05-\u0B0C\u0B0F\u0B10\u0B13-\u0B28\u0B2A-\u0B30\u0B32\u0B33\u0B35-\u0B39\u0B3D\u0B5C\u0B5D\u0B5F-\u0B61\u0B71\u0B83\u0B85-\u0B8A\u0B8E-\u0B90\u0B92-\u0B95\u0B99\u0B9A\u0B9C\u0B9E\u0B9F\u0BA3\u0BA4\u0BA8-\u0BAA\u0BAE-\u0BB9\u0BD0\u0C05-\u0C0C\u0C0E-\u0C10\u0C12-\u0C28\u0C2A-\u0C39\u0C3D\u0C58-\u0C5A\u0C60\u0C61\u0C80\u0C85-\u0C8C\u0C8E-\u0C90\u0C92-\u0CA8\u0CAA-\u0CB3\u0CB5-\u0CB9\u0CBD\u0CDE\u0CE0\u0CE1\u0CF1\u0CF2\u0D05-\u0D0C\u0D0E-\u0D10\u0D12-\u0D3A\u0D3D\u0D4E\u0D54-\u0D56\u0D5F-\u0D61\u0D7A-\u0D7F\u0D85-\u0D96\u0D9A-\u0DB1\u0DB3-\u0DBB\u0DBD\u0DC0-\u0DC6\u0E01-\u0E30\u0E32\u0E33\u0E40-\u0E46\u0E81\u0E82\u0E84\u0E87\u0E88\u0E8A\u0E8D\u0E94-\u0E97\u0E99-\u0E9F\u0EA1-\u0EA3\u0EA5\u0EA7\u0EAA\u0EAB\u0EAD-\u0EB0\u0EB2\u0EB3\u0EBD\u0EC0-\u0EC4\u0EC6\u0EDC-\u0EDF\u0F00\u0F40-\u0F47\u0F49-\u0F6C\u0F88-\u0F8C\u1000-\u102A\u103F\u1050-\u1055\u105A-\u105D\u1061\u1065\u1066\u106E-\u1070\u1075-\u1081\u108E\u10A0-\u10C5\u10C7\u10CD\u10D0-\u10FA\u10FC-\u1248\u124A-\u124D\u1250-\u1256\u1258\u125A-\u125D\u1260-\u1288\u128A-\u128D\u1290-\u12B0\u12B2-\u12B5\u12B8-\u12BE\u12C0\u12C2-\u12C5\u12C8-\u12D6\u12D8-\u1310\u1312-\u1315\u1318-\u135A\u1380-\u138F\u13A0-\u13F5\u13F8-\u13FD\u1401-\u166C\u166F-\u167F\u1681-\u169A\u16A0-\u16EA\u16EE-\u16F8\u1700-\u170C\u170E-\u1711\u1720-\u1731\u1740-\u1751\u1760-\u176C\u176E-\u1770\u1780-\u17B3\u17D7\u17DC\u1820-\u1877\u1880-\u1884\u1887-\u18A8\u18AA\u18B0-\u18F5\u1900-\u191E\u1950-\u196D\u1970-\u1974\u1980-\u19AB\u19B0-\u19C9\u1A00-\u1A16\u1A20-\u1A54\u1AA7\u1B05-\u1B33\u1B45-\u1B4B\u1B83-\u1BA0\u1BAE\u1BAF\u1BBA-\u1BE5\u1C00-\u1C23\u1C4D-\u1C4F\u1C5A-\u1C7D\u1C80-\u1C88\u1CE9-\u1CEC\u1CEE-\u1CF1\u1CF5\u1CF6\u1D00-\u1DBF\u1E00-\u1F15\u1F18-\u1F1D\u1F20-\u1F45\u1F48-\u1F4D\u1F50-\u1F57\u1F59\u1F5B\u1F5D\u1F5F-\u1F7D\u1F80-\u1FB4\u1FB6-\u1FBC\u1FBE\u1FC2-\u1FC4\u1FC6-\u1FCC\u1FD0-\u1FD3\u1FD6-\u1FDB\u1FE0-\u1FEC\u1FF2-\u1FF4\u1FF6-\u1FFC\u2071\u207F\u2090-\u209C\u2102\u2107\u210A-\u2113\u2115\u2119-\u211D\u2124\u2126\u2128\u212A-\u212D\u212F-\u2139\u213C-\u213F\u2145-\u2149\u214E\u2160-\u2188\u2C00-\u2C2E\u2C30-\u2C5E\u2C60-\u2CE4\u2CEB-\u2CEE\u2CF2\u2CF3\u2D00-\u2D25\u2D27\u2D2D\u2D30-\u2D67\u2D6F\u2D80-\u2D96\u2DA0-\u2DA6\u2DA8-\u2DAE\u2DB0-\u2DB6\u2DB8-\u2DBE\u2DC0-\u2DC6\u2DC8-\u2DCE\u2DD0-\u2DD6\u2DD8-\u2DDE\u2E2F\u3005-\u3007\u3021-\u3029\u3031-\u3035\u3038-\u303C\u3041-\u3096\u309D-\u309F\u30A1-\u30FA\u30FC-\u30FF\u3105-\u312E\u3131-\u318E\u31A0-\u31BA\u31F0-\u31FF\u3400-\u4DB5\u4E00-\u9FEA\uA000-\uA48C\uA4D0-\uA4FD\uA500-\uA60C\uA610-\uA61F\uA62A\uA62B\uA640-\uA66E\uA67F-\uA69D\uA6A0-\uA6EF\uA717-\uA71F\uA722-\uA788\uA78B-\uA7AE\uA7B0-\uA7B7\uA7F7-\uA801\uA803-\uA805\uA807-\uA80A\uA80C-\uA822\uA840-\uA873\uA882-\uA8B3\uA8F2-\uA8F7\uA8FB\uA8FD\uA90A-\uA925\uA930-\uA946\uA960-\uA97C\uA984-\uA9B2\uA9CF\uA9E0-\uA9E4\uA9E6-\uA9EF\uA9FA-\uA9FE\uAA00-\uAA28\uAA40-\uAA42\uAA44-\uAA4B\uAA60-\uAA76\uAA7A\uAA7E-\uAAAF\uAAB1\uAAB5\uAAB6\uAAB9-\uAABD\uAAC0\uAAC2\uAADB-\uAADD\uAAE0-\uAAEA\uAAF2-\uAAF4\uAB01-\uAB06\uAB09-\uAB0E\uAB11-\uAB16\uAB20-\uAB26\uAB28-\uAB2E\uAB30-\uAB5A\uAB5C-\uAB65\uAB70-\uABE2\uAC00-\uD7A3\uD7B0-\uD7C6\uD7CB-\uD7FB\uF900-\uFA6D\uFA70-\uFAD9\uFB00-\uFB06\uFB13-\uFB17\uFB1D\uFB1F-\uFB28\uFB2A-\uFB36\uFB38-\uFB3C\uFB3E\uFB40\uFB41\uFB43\uFB44\uFB46-\uFBB1\uFBD3-\uFD3D\uFD50-\uFD8F\uFD92-\uFDC7\uFDF0-\uFDFB\uFE70-\uFE74\uFE76-\uFEFC\uFF21-\uFF3A\uFF41-\uFF5A\uFF66-\uFFBE\uFFC2-\uFFC7\uFFCA-\uFFCF\uFFD2-\uFFD7\uFFDA-\uFFDC]|\uD800[\uDC00-\uDC0B\uDC0D-\uDC26\uDC28-\uDC3A\uDC3C\uDC3D\uDC3F-\uDC4D\uDC50-\uDC5D\uDC80-\uDCFA\uDD40-\uDD74\uDE80-\uDE9C\uDEA0-\uDED0\uDF00-\uDF1F\uDF2D-\uDF4A\uDF50-\uDF75\uDF80-\uDF9D\uDFA0-\uDFC3\uDFC8-\uDFCF\uDFD1-\uDFD5]|\uD801[\uDC00-\uDC9D\uDCB0-\uDCD3\uDCD8-\uDCFB\uDD00-\uDD27\uDD30-\uDD63\uDE00-\uDF36\uDF40-\uDF55\uDF60-\uDF67]|\uD802[\uDC00-\uDC05\uDC08\uDC0A-\uDC35\uDC37\uDC38\uDC3C\uDC3F-\uDC55\uDC60-\uDC76\uDC80-\uDC9E\uDCE0-\uDCF2\uDCF4\uDCF5\uDD00-\uDD15\uDD20-\uDD39\uDD80-\uDDB7\uDDBE\uDDBF\uDE00\uDE10-\uDE13\uDE15-\uDE17\uDE19-\uDE33\uDE60-\uDE7C\uDE80-\uDE9C\uDEC0-\uDEC7\uDEC9-\uDEE4\uDF00-\uDF35\uDF40-\uDF55\uDF60-\uDF72\uDF80-\uDF91]|\uD803[\uDC00-\uDC48\uDC80-\uDCB2\uDCC0-\uDCF2]|\uD804[\uDC03-\uDC37\uDC83-\uDCAF\uDCD0-\uDCE8\uDD03-\uDD26\uDD50-\uDD72\uDD76\uDD83-\uDDB2\uDDC1-\uDDC4\uDDDA\uDDDC\uDE00-\uDE11\uDE13-\uDE2B\uDE80-\uDE86\uDE88\uDE8A-\uDE8D\uDE8F-\uDE9D\uDE9F-\uDEA8\uDEB0-\uDEDE\uDF05-\uDF0C\uDF0F\uDF10\uDF13-\uDF28\uDF2A-\uDF30\uDF32\uDF33\uDF35-\uDF39\uDF3D\uDF50\uDF5D-\uDF61]|\uD805[\uDC00-\uDC34\uDC47-\uDC4A\uDC80-\uDCAF\uDCC4\uDCC5\uDCC7\uDD80-\uDDAE\uDDD8-\uDDDB\uDE00-\uDE2F\uDE44\uDE80-\uDEAA\uDF00-\uDF19]|\uD806[\uDCA0-\uDCDF\uDCFF\uDE00\uDE0B-\uDE32\uDE3A\uDE50\uDE5C-\uDE83\uDE86-\uDE89\uDEC0-\uDEF8]|\uD807[\uDC00-\uDC08\uDC0A-\uDC2E\uDC40\uDC72-\uDC8F\uDD00-\uDD06\uDD08\uDD09\uDD0B-\uDD30\uDD46]|\uD808[\uDC00-\uDF99]|\uD809[\uDC00-\uDC6E\uDC80-\uDD43]|[\uD80C\uD81C-\uD820\uD840-\uD868\uD86A-\uD86C\uD86F-\uD872\uD874-\uD879][\uDC00-\uDFFF]|\uD80D[\uDC00-\uDC2E]|\uD811[\uDC00-\uDE46]|\uD81A[\uDC00-\uDE38\uDE40-\uDE5E\uDED0-\uDEED\uDF00-\uDF2F\uDF40-\uDF43\uDF63-\uDF77\uDF7D-\uDF8F]|\uD81B[\uDF00-\uDF44\uDF50\uDF93-\uDF9F\uDFE0\uDFE1]|\uD821[\uDC00-\uDFEC]|\uD822[\uDC00-\uDEF2]|\uD82C[\uDC00-\uDD1E\uDD70-\uDEFB]|\uD82F[\uDC00-\uDC6A\uDC70-\uDC7C\uDC80-\uDC88\uDC90-\uDC99]|\uD835[\uDC00-\uDC54\uDC56-\uDC9C\uDC9E\uDC9F\uDCA2\uDCA5\uDCA6\uDCA9-\uDCAC\uDCAE-\uDCB9\uDCBB\uDCBD-\uDCC3\uDCC5-\uDD05\uDD07-\uDD0A\uDD0D-\uDD14\uDD16-\uDD1C\uDD1E-\uDD39\uDD3B-\uDD3E\uDD40-\uDD44\uDD46\uDD4A-\uDD50\uDD52-\uDEA5\uDEA8-\uDEC0\uDEC2-\uDEDA\uDEDC-\uDEFA\uDEFC-\uDF14\uDF16-\uDF34\uDF36-\uDF4E\uDF50-\uDF6E\uDF70-\uDF88\uDF8A-\uDFA8\uDFAA-\uDFC2\uDFC4-\uDFCB]|\uD83A[\uDC00-\uDCC4\uDD00-\uDD43]|\uD83B[\uDE00-\uDE03\uDE05-\uDE1F\uDE21\uDE22\uDE24\uDE27\uDE29-\uDE32\uDE34-\uDE37\uDE39\uDE3B\uDE42\uDE47\uDE49\uDE4B\uDE4D-\uDE4F\uDE51\uDE52\uDE54\uDE57\uDE59\uDE5B\uDE5D\uDE5F\uDE61\uDE62\uDE64\uDE67-\uDE6A\uDE6C-\uDE72\uDE74-\uDE77\uDE79-\uDE7C\uDE7E\uDE80-\uDE89\uDE8B-\uDE9B\uDEA1-\uDEA3\uDEA5-\uDEA9\uDEAB-\uDEBB]|\uD869[\uDC00-\uDED6\uDF00-\uDFFF]|\uD86D[\uDC00-\uDF34\uDF40-\uDFFF]|\uD86E[\uDC00-\uDC1D\uDC20-\uDFFF]|\uD873[\uDC00-\uDEA1\uDEB0-\uDFFF]|\uD87A[\uDC00-\uDFE0]|\uD87E[\uDC00-\uDE1D]/,co=/[\xAA\xB5\xBA\xC0-\xD6\xD8-\xF6\xF8-\u02C1\u02C6-\u02D1\u02E0-\u02E4\u02EC\u02EE\u0300-\u0374\u0376\u0377\u037A-\u037D\u037F\u0386\u0388-\u038A\u038C\u038E-\u03A1\u03A3-\u03F5\u03F7-\u0481\u0483-\u0487\u048A-\u052F\u0531-\u0556\u0559\u0561-\u0587\u0591-\u05BD\u05BF\u05C1\u05C2\u05C4\u05C5\u05C7\u05D0-\u05EA\u05F0-\u05F2\u0610-\u061A\u0620-\u0669\u066E-\u06D3\u06D5-\u06DC\u06DF-\u06E8\u06EA-\u06FC\u06FF\u0710-\u074A\u074D-\u07B1\u07C0-\u07F5\u07FA\u0800-\u082D\u0840-\u085B\u0860-\u086A\u08A0-\u08B4\u08B6-\u08BD\u08D4-\u08E1\u08E3-\u0963\u0966-\u096F\u0971-\u0983\u0985-\u098C\u098F\u0990\u0993-\u09A8\u09AA-\u09B0\u09B2\u09B6-\u09B9\u09BC-\u09C4\u09C7\u09C8\u09CB-\u09CE\u09D7\u09DC\u09DD\u09DF-\u09E3\u09E6-\u09F1\u09FC\u0A01-\u0A03\u0A05-\u0A0A\u0A0F\u0A10\u0A13-\u0A28\u0A2A-\u0A30\u0A32\u0A33\u0A35\u0A36\u0A38\u0A39\u0A3C\u0A3E-\u0A42\u0A47\u0A48\u0A4B-\u0A4D\u0A51\u0A59-\u0A5C\u0A5E\u0A66-\u0A75\u0A81-\u0A83\u0A85-\u0A8D\u0A8F-\u0A91\u0A93-\u0AA8\u0AAA-\u0AB0\u0AB2\u0AB3\u0AB5-\u0AB9\u0ABC-\u0AC5\u0AC7-\u0AC9\u0ACB-\u0ACD\u0AD0\u0AE0-\u0AE3\u0AE6-\u0AEF\u0AF9-\u0AFF\u0B01-\u0B03\u0B05-\u0B0C\u0B0F\u0B10\u0B13-\u0B28\u0B2A-\u0B30\u0B32\u0B33\u0B35-\u0B39\u0B3C-\u0B44\u0B47\u0B48\u0B4B-\u0B4D\u0B56\u0B57\u0B5C\u0B5D\u0B5F-\u0B63\u0B66-\u0B6F\u0B71\u0B82\u0B83\u0B85-\u0B8A\u0B8E-\u0B90\u0B92-\u0B95\u0B99\u0B9A\u0B9C\u0B9E\u0B9F\u0BA3\u0BA4\u0BA8-\u0BAA\u0BAE-\u0BB9\u0BBE-\u0BC2\u0BC6-\u0BC8\u0BCA-\u0BCD\u0BD0\u0BD7\u0BE6-\u0BEF\u0C00-\u0C03\u0C05-\u0C0C\u0C0E-\u0C10\u0C12-\u0C28\u0C2A-\u0C39\u0C3D-\u0C44\u0C46-\u0C48\u0C4A-\u0C4D\u0C55\u0C56\u0C58-\u0C5A\u0C60-\u0C63\u0C66-\u0C6F\u0C80-\u0C83\u0C85-\u0C8C\u0C8E-\u0C90\u0C92-\u0CA8\u0CAA-\u0CB3\u0CB5-\u0CB9\u0CBC-\u0CC4\u0CC6-\u0CC8\u0CCA-\u0CCD\u0CD5\u0CD6\u0CDE\u0CE0-\u0CE3\u0CE6-\u0CEF\u0CF1\u0CF2\u0D00-\u0D03\u0D05-\u0D0C\u0D0E-\u0D10\u0D12-\u0D44\u0D46-\u0D48\u0D4A-\u0D4E\u0D54-\u0D57\u0D5F-\u0D63\u0D66-\u0D6F\u0D7A-\u0D7F\u0D82\u0D83\u0D85-\u0D96\u0D9A-\u0DB1\u0DB3-\u0DBB\u0DBD\u0DC0-\u0DC6\u0DCA\u0DCF-\u0DD4\u0DD6\u0DD8-\u0DDF\u0DE6-\u0DEF\u0DF2\u0DF3\u0E01-\u0E3A\u0E40-\u0E4E\u0E50-\u0E59\u0E81\u0E82\u0E84\u0E87\u0E88\u0E8A\u0E8D\u0E94-\u0E97\u0E99-\u0E9F\u0EA1-\u0EA3\u0EA5\u0EA7\u0EAA\u0EAB\u0EAD-\u0EB9\u0EBB-\u0EBD\u0EC0-\u0EC4\u0EC6\u0EC8-\u0ECD\u0ED0-\u0ED9\u0EDC-\u0EDF\u0F00\u0F18\u0F19\u0F20-\u0F29\u0F35\u0F37\u0F39\u0F3E-\u0F47\u0F49-\u0F6C\u0F71-\u0F84\u0F86-\u0F97\u0F99-\u0FBC\u0FC6\u1000-\u1049\u1050-\u109D\u10A0-\u10C5\u10C7\u10CD\u10D0-\u10FA\u10FC-\u1248\u124A-\u124D\u1250-\u1256\u1258\u125A-\u125D\u1260-\u1288\u128A-\u128D\u1290-\u12B0\u12B2-\u12B5\u12B8-\u12BE\u12C0\u12C2-\u12C5\u12C8-\u12D6\u12D8-\u1310\u1312-\u1315\u1318-\u135A\u135D-\u135F\u1380-\u138F\u13A0-\u13F5\u13F8-\u13FD\u1401-\u166C\u166F-\u167F\u1681-\u169A\u16A0-\u16EA\u16EE-\u16F8\u1700-\u170C\u170E-\u1714\u1720-\u1734\u1740-\u1753\u1760-\u176C\u176E-\u1770\u1772\u1773\u1780-\u17D3\u17D7\u17DC\u17DD\u17E0-\u17E9\u180B-\u180D\u1810-\u1819\u1820-\u1877\u1880-\u18AA\u18B0-\u18F5\u1900-\u191E\u1920-\u192B\u1930-\u193B\u1946-\u196D\u1970-\u1974\u1980-\u19AB\u19B0-\u19C9\u19D0-\u19D9\u1A00-\u1A1B\u1A20-\u1A5E\u1A60-\u1A7C\u1A7F-\u1A89\u1A90-\u1A99\u1AA7\u1AB0-\u1ABD\u1B00-\u1B4B\u1B50-\u1B59\u1B6B-\u1B73\u1B80-\u1BF3\u1C00-\u1C37\u1C40-\u1C49\u1C4D-\u1C7D\u1C80-\u1C88\u1CD0-\u1CD2\u1CD4-\u1CF9\u1D00-\u1DF9\u1DFB-\u1F15\u1F18-\u1F1D\u1F20-\u1F45\u1F48-\u1F4D\u1F50-\u1F57\u1F59\u1F5B\u1F5D\u1F5F-\u1F7D\u1F80-\u1FB4\u1FB6-\u1FBC\u1FBE\u1FC2-\u1FC4\u1FC6-\u1FCC\u1FD0-\u1FD3\u1FD6-\u1FDB\u1FE0-\u1FEC\u1FF2-\u1FF4\u1FF6-\u1FFC\u203F\u2040\u2054\u2071\u207F\u2090-\u209C\u20D0-\u20DC\u20E1\u20E5-\u20F0\u2102\u2107\u210A-\u2113\u2115\u2119-\u211D\u2124\u2126\u2128\u212A-\u212D\u212F-\u2139\u213C-\u213F\u2145-\u2149\u214E\u2160-\u2188\u2C00-\u2C2E\u2C30-\u2C5E\u2C60-\u2CE4\u2CEB-\u2CF3\u2D00-\u2D25\u2D27\u2D2D\u2D30-\u2D67\u2D6F\u2D7F-\u2D96\u2DA0-\u2DA6\u2DA8-\u2DAE\u2DB0-\u2DB6\u2DB8-\u2DBE\u2DC0-\u2DC6\u2DC8-\u2DCE\u2DD0-\u2DD6\u2DD8-\u2DDE\u2DE0-\u2DFF\u2E2F\u3005-\u3007\u3021-\u302F\u3031-\u3035\u3038-\u303C\u3041-\u3096\u3099\u309A\u309D-\u309F\u30A1-\u30FA\u30FC-\u30FF\u3105-\u312E\u3131-\u318E\u31A0-\u31BA\u31F0-\u31FF\u3400-\u4DB5\u4E00-\u9FEA\uA000-\uA48C\uA4D0-\uA4FD\uA500-\uA60C\uA610-\uA62B\uA640-\uA66F\uA674-\uA67D\uA67F-\uA6F1\uA717-\uA71F\uA722-\uA788\uA78B-\uA7AE\uA7B0-\uA7B7\uA7F7-\uA827\uA840-\uA873\uA880-\uA8C5\uA8D0-\uA8D9\uA8E0-\uA8F7\uA8FB\uA8FD\uA900-\uA92D\uA930-\uA953\uA960-\uA97C\uA980-\uA9C0\uA9CF-\uA9D9\uA9E0-\uA9FE\uAA00-\uAA36\uAA40-\uAA4D\uAA50-\uAA59\uAA60-\uAA76\uAA7A-\uAAC2\uAADB-\uAADD\uAAE0-\uAAEF\uAAF2-\uAAF6\uAB01-\uAB06\uAB09-\uAB0E\uAB11-\uAB16\uAB20-\uAB26\uAB28-\uAB2E\uAB30-\uAB5A\uAB5C-\uAB65\uAB70-\uABEA\uABEC\uABED\uABF0-\uABF9\uAC00-\uD7A3\uD7B0-\uD7C6\uD7CB-\uD7FB\uF900-\uFA6D\uFA70-\uFAD9\uFB00-\uFB06\uFB13-\uFB17\uFB1D-\uFB28\uFB2A-\uFB36\uFB38-\uFB3C\uFB3E\uFB40\uFB41\uFB43\uFB44\uFB46-\uFBB1\uFBD3-\uFD3D\uFD50-\uFD8F\uFD92-\uFDC7\uFDF0-\uFDFB\uFE00-\uFE0F\uFE20-\uFE2F\uFE33\uFE34\uFE4D-\uFE4F\uFE70-\uFE74\uFE76-\uFEFC\uFF10-\uFF19\uFF21-\uFF3A\uFF3F\uFF41-\uFF5A\uFF66-\uFFBE\uFFC2-\uFFC7\uFFCA-\uFFCF\uFFD2-\uFFD7\uFFDA-\uFFDC]|\uD800[\uDC00-\uDC0B\uDC0D-\uDC26\uDC28-\uDC3A\uDC3C\uDC3D\uDC3F-\uDC4D\uDC50-\uDC5D\uDC80-\uDCFA\uDD40-\uDD74\uDDFD\uDE80-\uDE9C\uDEA0-\uDED0\uDEE0\uDF00-\uDF1F\uDF2D-\uDF4A\uDF50-\uDF7A\uDF80-\uDF9D\uDFA0-\uDFC3\uDFC8-\uDFCF\uDFD1-\uDFD5]|\uD801[\uDC00-\uDC9D\uDCA0-\uDCA9\uDCB0-\uDCD3\uDCD8-\uDCFB\uDD00-\uDD27\uDD30-\uDD63\uDE00-\uDF36\uDF40-\uDF55\uDF60-\uDF67]|\uD802[\uDC00-\uDC05\uDC08\uDC0A-\uDC35\uDC37\uDC38\uDC3C\uDC3F-\uDC55\uDC60-\uDC76\uDC80-\uDC9E\uDCE0-\uDCF2\uDCF4\uDCF5\uDD00-\uDD15\uDD20-\uDD39\uDD80-\uDDB7\uDDBE\uDDBF\uDE00-\uDE03\uDE05\uDE06\uDE0C-\uDE13\uDE15-\uDE17\uDE19-\uDE33\uDE38-\uDE3A\uDE3F\uDE60-\uDE7C\uDE80-\uDE9C\uDEC0-\uDEC7\uDEC9-\uDEE6\uDF00-\uDF35\uDF40-\uDF55\uDF60-\uDF72\uDF80-\uDF91]|\uD803[\uDC00-\uDC48\uDC80-\uDCB2\uDCC0-\uDCF2]|\uD804[\uDC00-\uDC46\uDC66-\uDC6F\uDC7F-\uDCBA\uDCD0-\uDCE8\uDCF0-\uDCF9\uDD00-\uDD34\uDD36-\uDD3F\uDD50-\uDD73\uDD76\uDD80-\uDDC4\uDDCA-\uDDCC\uDDD0-\uDDDA\uDDDC\uDE00-\uDE11\uDE13-\uDE37\uDE3E\uDE80-\uDE86\uDE88\uDE8A-\uDE8D\uDE8F-\uDE9D\uDE9F-\uDEA8\uDEB0-\uDEEA\uDEF0-\uDEF9\uDF00-\uDF03\uDF05-\uDF0C\uDF0F\uDF10\uDF13-\uDF28\uDF2A-\uDF30\uDF32\uDF33\uDF35-\uDF39\uDF3C-\uDF44\uDF47\uDF48\uDF4B-\uDF4D\uDF50\uDF57\uDF5D-\uDF63\uDF66-\uDF6C\uDF70-\uDF74]|\uD805[\uDC00-\uDC4A\uDC50-\uDC59\uDC80-\uDCC5\uDCC7\uDCD0-\uDCD9\uDD80-\uDDB5\uDDB8-\uDDC0\uDDD8-\uDDDD\uDE00-\uDE40\uDE44\uDE50-\uDE59\uDE80-\uDEB7\uDEC0-\uDEC9\uDF00-\uDF19\uDF1D-\uDF2B\uDF30-\uDF39]|\uD806[\uDCA0-\uDCE9\uDCFF\uDE00-\uDE3E\uDE47\uDE50-\uDE83\uDE86-\uDE99\uDEC0-\uDEF8]|\uD807[\uDC00-\uDC08\uDC0A-\uDC36\uDC38-\uDC40\uDC50-\uDC59\uDC72-\uDC8F\uDC92-\uDCA7\uDCA9-\uDCB6\uDD00-\uDD06\uDD08\uDD09\uDD0B-\uDD36\uDD3A\uDD3C\uDD3D\uDD3F-\uDD47\uDD50-\uDD59]|\uD808[\uDC00-\uDF99]|\uD809[\uDC00-\uDC6E\uDC80-\uDD43]|[\uD80C\uD81C-\uD820\uD840-\uD868\uD86A-\uD86C\uD86F-\uD872\uD874-\uD879][\uDC00-\uDFFF]|\uD80D[\uDC00-\uDC2E]|\uD811[\uDC00-\uDE46]|\uD81A[\uDC00-\uDE38\uDE40-\uDE5E\uDE60-\uDE69\uDED0-\uDEED\uDEF0-\uDEF4\uDF00-\uDF36\uDF40-\uDF43\uDF50-\uDF59\uDF63-\uDF77\uDF7D-\uDF8F]|\uD81B[\uDF00-\uDF44\uDF50-\uDF7E\uDF8F-\uDF9F\uDFE0\uDFE1]|\uD821[\uDC00-\uDFEC]|\uD822[\uDC00-\uDEF2]|\uD82C[\uDC00-\uDD1E\uDD70-\uDEFB]|\uD82F[\uDC00-\uDC6A\uDC70-\uDC7C\uDC80-\uDC88\uDC90-\uDC99\uDC9D\uDC9E]|\uD834[\uDD65-\uDD69\uDD6D-\uDD72\uDD7B-\uDD82\uDD85-\uDD8B\uDDAA-\uDDAD\uDE42-\uDE44]|\uD835[\uDC00-\uDC54\uDC56-\uDC9C\uDC9E\uDC9F\uDCA2\uDCA5\uDCA6\uDCA9-\uDCAC\uDCAE-\uDCB9\uDCBB\uDCBD-\uDCC3\uDCC5-\uDD05\uDD07-\uDD0A\uDD0D-\uDD14\uDD16-\uDD1C\uDD1E-\uDD39\uDD3B-\uDD3E\uDD40-\uDD44\uDD46\uDD4A-\uDD50\uDD52-\uDEA5\uDEA8-\uDEC0\uDEC2-\uDEDA\uDEDC-\uDEFA\uDEFC-\uDF14\uDF16-\uDF34\uDF36-\uDF4E\uDF50-\uDF6E\uDF70-\uDF88\uDF8A-\uDFA8\uDFAA-\uDFC2\uDFC4-\uDFCB\uDFCE-\uDFFF]|\uD836[\uDE00-\uDE36\uDE3B-\uDE6C\uDE75\uDE84\uDE9B-\uDE9F\uDEA1-\uDEAF]|\uD838[\uDC00-\uDC06\uDC08-\uDC18\uDC1B-\uDC21\uDC23\uDC24\uDC26-\uDC2A]|\uD83A[\uDC00-\uDCC4\uDCD0-\uDCD6\uDD00-\uDD4A\uDD50-\uDD59]|\uD83B[\uDE00-\uDE03\uDE05-\uDE1F\uDE21\uDE22\uDE24\uDE27\uDE29-\uDE32\uDE34-\uDE37\uDE39\uDE3B\uDE42\uDE47\uDE49\uDE4B\uDE4D-\uDE4F\uDE51\uDE52\uDE54\uDE57\uDE59\uDE5B\uDE5D\uDE5F\uDE61\uDE62\uDE64\uDE67-\uDE6A\uDE6C-\uDE72\uDE74-\uDE77\uDE79-\uDE7C\uDE7E\uDE80-\uDE89\uDE8B-\uDE9B\uDEA1-\uDEA3\uDEA5-\uDEA9\uDEAB-\uDEBB]|\uD869[\uDC00-\uDED6\uDF00-\uDFFF]|\uD86D[\uDC00-\uDF34\uDF40-\uDFFF]|\uD86E[\uDC00-\uDC1D\uDC20-\uDFFF]|\uD873[\uDC00-\uDEA1\uDEB0-\uDFFF]|\uD87A[\uDC00-\uDFE0]|\uD87E[\uDC00-\uDE1D]|\uDB40[\uDD00-\uDDEF]/,Kn={Space_Separator:oo,ID_Start:ao,ID_Continue:co},ae={isSpaceSeparator(i){return typeof i=="string"&&Kn.Space_Separator.test(i)},isIdStartChar(i){return typeof i=="string"&&(i>="a"&&i<="z"||i>="A"&&i<="Z"||i==="$"||i==="_"||Kn.ID_Start.test(i))},isIdContinueChar(i){return typeof i=="string"&&(i>="a"&&i<="z"||i>="A"&&i<="Z"||i>="0"&&i<="9"||i==="$"||i==="_"||i==="\u200C"||i==="\u200D"||Kn.ID_Continue.test(i))},isDigit(i){return typeof i=="string"&&/[0-9]/.test(i)},isHexDigit(i){return typeof i=="string"&&/[0-9A-Fa-f]/.test(i)}};let Qn,Ae,He,gn,et,Me,ge,Xn,zt;var lo=function(e,t){Qn=String(e),Ae="start",He=[],gn=0,et=1,Me=0,ge=void 0,Xn=void 0,zt=void 0;do ge=fo(),mo[Ae]();while(ge.type!=="eof");return typeof t=="function"?Zn({"":zt},"",t):zt};function Zn(i,e,t){const n=i[e];if(n!=null&&typeof n=="object")if(Array.isArray(n))for(let r=0;r<n.length;r++){const s=String(r),u=Zn(n,s,t);u===void 0?delete n[s]:Object.defineProperty(n,s,{value:u,writable:!0,enumerable:!0,configurable:!0})}else for(const r in n){const s=Zn(n,r,t);s===void 0?delete n[r]:Object.defineProperty(n,r,{value:s,writable:!0,enumerable:!0,configurable:!0})}return t.call(i,e,n)}let H,z,Ht,Ge,Y;function fo(){for(H="default",z="",Ht=!1,Ge=1;;){Y=Ye();const i=Sr[H]();if(i)return i}}function Ye(){if(Qn[gn])return String.fromCodePoint(Qn.codePointAt(gn))}function E(){const i=Ye();return i===`
|
|
71
|
-
`?(
|
|
72
|
-
`:case"\r":case"\u2028":case"\u2029":
|
|
73
|
-
`:case"\r":case"\u2028":case"\u2029":
|
|
74
|
-
`:case"\r":throw ee(
|
|
75
|
-
`;case"r":return
|
|
76
|
-
`:case"\u2028":case"\u2029":return
|
|
77
|
-
`&&
|
|
78
|
-
`+s;
|
|
79
|
-
`+s+
|
|
80
|
-
`+
|
|
81
|
-
`+s,
|
|
82
|
-
`+s+
|
|
83
|
-
`+
|
|
68
|
+
`;function zt(i){return i instanceof ce||i instanceof ei||i instanceof Ht}function tt(i,e){return zt(i)?Mu(i,e).text:String(i)}class ce{constructor(...e){this.contents=[],this.append(...e)}isEmpty(){return this.contents.length===0}trace(e,t,n){if(Yr(e)){if(this.tracedSource={astNode:e,property:t,index:n},this.tracedSource.property===void 0&&this.tracedSource.index!==void 0&&this.tracedSource.index>-1)throw new Error("Generation support: 'property' argument must not be 'undefined' if a non-negative value is assigned to 'index' in 'CompositeGeneratorNode.trace(...)'.")}else this.tracedSource=e;return this}append(...e){for(const t of e)typeof t=="function"?t(this):t&&this.contents.push(t);return this}appendIf(e,...t){return e?this.append(...t):this}appendNewLine(){return this.append(G)}appendNewLineIf(e){return e?this.append(G):this}appendNewLineIfNotEmpty(){return this.append(Qu)}appendNewLineIfNotEmptyIf(e){return e?this.appendNewLineIfNotEmpty():this}appendTemplate(e,...t){return this.append(et(e,...t))}appendTemplateIf(e){return e?(t,...n)=>this.appendTemplate(t,...n):()=>this}indent(e){const{indentedChildren:t,indentation:n,indentEmptyLines:r,indentImmediately:s}=Array.isArray(e)||typeof e=="function"?{indentedChildren:e}:typeof e=="object"?e:{},u=new ei(n,s,r);return this.contents.push(u),Array.isArray(t)?u.append(...t):t&&u.append(t),this}appendTraced(e,t,n){return r=>this.append(new ce().trace(e,t,n).append(r))}appendTracedIf(e,t,n,r){return e?this.appendTraced(typeof t=="function"?t():t,n,r):()=>this}appendTracedTemplate(e,t,n){return(r,...s)=>this.append(zu(e,t,n)(r,...s))}appendTracedTemplateIf(e,t,n,r){return e?this.appendTracedTemplate(typeof t=="function"?t():t,n,r):()=>this}}function Ku(i,e,t){return n=>n instanceof ce&&n.tracedSource===void 0?n.trace(i,e,t):new ce().trace(i,e,t).append(n)}class ei extends ce{constructor(e,t=!0,n=!1){super(),this.indentImmediately=!0,this.indentEmptyLines=!1,typeof e=="string"?this.indentation=e:typeof e=="number"&&(this.indentation="".padStart(e)),this.indentImmediately=t,this.indentEmptyLines=n}}class Ht{constructor(e,t=!1){this.ifNotEmpty=!1,this.lineDelimiter=e??Ju,this.ifNotEmpty=t}}const G=new Ht,Qu=new Ht(void 0,!0),Or=i=>i===void 0||typeof i=="string"||zt(i)?i:String(i);function Ie(i,e=Or,t={}){const n=typeof e=="function"?e:Or,{filter:r,prefix:s,suffix:u,separator:a,appendNewLineIfNotEmpty:c,skipNewLineAfterLastItem:h}=typeof e=="object"?e:t,l=typeof s=="function"?s:()=>s,f=typeof u=="function"?u:()=>u;return Xu(i,(p,C,F,w)=>{if(r&&!r(C,F,w))return p;const m=n(C,F,w);return m===void 0?p:(p??(p=new ce)).append(l(C,F,w)).append(m).append(f(C,F,w)).appendIf(!w,a).appendNewLineIfNotEmptyIf(!p.isEmpty()&&!!c&&(!w||!h))})}function Xu(i,e,t){const n=i[Symbol.iterator]();let r=n.next(),s=0,u=t;for(;!r.done;){const a=n.next();u=e(u,r.value,s,!!a.done),r=a,s++}return u}const Zu=i=>i.charAt(0).toLocaleUpperCase()+i.slice(1),eo=i=>i.split(".").map(Zu).join(""),to=i=>eo(i.parent?i.id.slice(i.parent.length+1):i.id),no=({autoLayout:i})=>{switch(i.direction){case"TB":return"down";case"BT":return"up";case"LR":return"right";case"RL":return"left"}},io=({shape:i})=>{switch(i){case"queue":case"cylinder":case"rectangle":case"person":return i;case"storage":return"stored_data";case"mobile":case"browser":return"rectangle"}};function _r(i){const{nodes:e,edges:t}=i,n=new Map,r=(u,a)=>{const c=to(u),h=(a?a+".":"")+c;n.set(u.id,h);const l=JSON.stringify(u.title),f=io(u);return new ce().append(c,": {",G).indent({indentedChildren:p=>p.append("label: ",l,G).appendIf(f!=="rectangle","shape: ",f,G).appendIf(u.children.length>0,G,Ie(e.filter(C=>C.parent===u.id),C=>r(C,h))),indentation:2}).append("}",G)},s=u=>new ce().append(n.get(u.source)," -> ",n.get(u.target)).append(a=>u.label&&a.append(": ",JSON.stringify(u.label)));return tt(new ce().append("direction: ",no(i),G,G).append(Ie(e.filter(u=>wi(u.parent)),u=>r(u),{appendNewLineIfNotEmpty:!0})).appendIf(t.length>0,G,Ie(t,u=>s(u),{appendNewLineIfNotEmpty:!0})))}const ro=i=>i.charAt(0).toLocaleUpperCase()+i.slice(1),so=i=>i.split(".").map(ro).join(""),uo=i=>so(i.parent?i.id.slice(i.parent.length+1):i.id),oo=({shape:i})=>{switch(i){case"queue":case"cylinder":return["[(",")]"];case"person":return["[fa:fa-user ","]"];case"storage":return["([","])"];case"mobile":case"browser":case"rectangle":return["[","]"]}};function Sr(i){const{nodes:e,edges:t}=i,n=new Map,r=(u,a)=>{const c=uo(u),h=(a?a+".":"")+c;n.set(u.id,h);const l=u.title.replaceAll(`
|
|
69
|
+
`,"\\n"),f=oo(u),p=new ce;return u.children.length>0?p.append("subgraph ",h,"[",JSON.stringify(u.title),"]",G).indent({indentedChildren:[Ie(e.filter(C=>C.parent===u.id),C=>r(C,h),{appendNewLineIfNotEmpty:!0})],indentation:2}).append("end",G):p.append(h,f[0],l,f[1]),p},s=u=>new ce().append(n.get(u.source)," -.",u.label?' "'+u.label.replaceAll(`
|
|
70
|
+
`,"\\n")+'" .-':"-","> ",n.get(u.target));return tt(new ce().appendIf(i.title!==null&&i.title.length>0,"---",G,`title: ${JSON.stringify(i.title)}`,G,"---",G).append("graph ",i.autoLayout.direction,G).indent({indentedChildren:u=>{u.append(Ie(e.filter(a=>wi(a.parent)),a=>r(a),{appendNewLineIfNotEmpty:!0})).appendIf(t.length>0,Ie(t,a=>s(a),{appendNewLineIfNotEmpty:!0}))},indentation:2}))}var ao=/[\u1680\u2000-\u200A\u202F\u205F\u3000]/,co=/[\xAA\xB5\xBA\xC0-\xD6\xD8-\xF6\xF8-\u02C1\u02C6-\u02D1\u02E0-\u02E4\u02EC\u02EE\u0370-\u0374\u0376\u0377\u037A-\u037D\u037F\u0386\u0388-\u038A\u038C\u038E-\u03A1\u03A3-\u03F5\u03F7-\u0481\u048A-\u052F\u0531-\u0556\u0559\u0561-\u0587\u05D0-\u05EA\u05F0-\u05F2\u0620-\u064A\u066E\u066F\u0671-\u06D3\u06D5\u06E5\u06E6\u06EE\u06EF\u06FA-\u06FC\u06FF\u0710\u0712-\u072F\u074D-\u07A5\u07B1\u07CA-\u07EA\u07F4\u07F5\u07FA\u0800-\u0815\u081A\u0824\u0828\u0840-\u0858\u0860-\u086A\u08A0-\u08B4\u08B6-\u08BD\u0904-\u0939\u093D\u0950\u0958-\u0961\u0971-\u0980\u0985-\u098C\u098F\u0990\u0993-\u09A8\u09AA-\u09B0\u09B2\u09B6-\u09B9\u09BD\u09CE\u09DC\u09DD\u09DF-\u09E1\u09F0\u09F1\u09FC\u0A05-\u0A0A\u0A0F\u0A10\u0A13-\u0A28\u0A2A-\u0A30\u0A32\u0A33\u0A35\u0A36\u0A38\u0A39\u0A59-\u0A5C\u0A5E\u0A72-\u0A74\u0A85-\u0A8D\u0A8F-\u0A91\u0A93-\u0AA8\u0AAA-\u0AB0\u0AB2\u0AB3\u0AB5-\u0AB9\u0ABD\u0AD0\u0AE0\u0AE1\u0AF9\u0B05-\u0B0C\u0B0F\u0B10\u0B13-\u0B28\u0B2A-\u0B30\u0B32\u0B33\u0B35-\u0B39\u0B3D\u0B5C\u0B5D\u0B5F-\u0B61\u0B71\u0B83\u0B85-\u0B8A\u0B8E-\u0B90\u0B92-\u0B95\u0B99\u0B9A\u0B9C\u0B9E\u0B9F\u0BA3\u0BA4\u0BA8-\u0BAA\u0BAE-\u0BB9\u0BD0\u0C05-\u0C0C\u0C0E-\u0C10\u0C12-\u0C28\u0C2A-\u0C39\u0C3D\u0C58-\u0C5A\u0C60\u0C61\u0C80\u0C85-\u0C8C\u0C8E-\u0C90\u0C92-\u0CA8\u0CAA-\u0CB3\u0CB5-\u0CB9\u0CBD\u0CDE\u0CE0\u0CE1\u0CF1\u0CF2\u0D05-\u0D0C\u0D0E-\u0D10\u0D12-\u0D3A\u0D3D\u0D4E\u0D54-\u0D56\u0D5F-\u0D61\u0D7A-\u0D7F\u0D85-\u0D96\u0D9A-\u0DB1\u0DB3-\u0DBB\u0DBD\u0DC0-\u0DC6\u0E01-\u0E30\u0E32\u0E33\u0E40-\u0E46\u0E81\u0E82\u0E84\u0E87\u0E88\u0E8A\u0E8D\u0E94-\u0E97\u0E99-\u0E9F\u0EA1-\u0EA3\u0EA5\u0EA7\u0EAA\u0EAB\u0EAD-\u0EB0\u0EB2\u0EB3\u0EBD\u0EC0-\u0EC4\u0EC6\u0EDC-\u0EDF\u0F00\u0F40-\u0F47\u0F49-\u0F6C\u0F88-\u0F8C\u1000-\u102A\u103F\u1050-\u1055\u105A-\u105D\u1061\u1065\u1066\u106E-\u1070\u1075-\u1081\u108E\u10A0-\u10C5\u10C7\u10CD\u10D0-\u10FA\u10FC-\u1248\u124A-\u124D\u1250-\u1256\u1258\u125A-\u125D\u1260-\u1288\u128A-\u128D\u1290-\u12B0\u12B2-\u12B5\u12B8-\u12BE\u12C0\u12C2-\u12C5\u12C8-\u12D6\u12D8-\u1310\u1312-\u1315\u1318-\u135A\u1380-\u138F\u13A0-\u13F5\u13F8-\u13FD\u1401-\u166C\u166F-\u167F\u1681-\u169A\u16A0-\u16EA\u16EE-\u16F8\u1700-\u170C\u170E-\u1711\u1720-\u1731\u1740-\u1751\u1760-\u176C\u176E-\u1770\u1780-\u17B3\u17D7\u17DC\u1820-\u1877\u1880-\u1884\u1887-\u18A8\u18AA\u18B0-\u18F5\u1900-\u191E\u1950-\u196D\u1970-\u1974\u1980-\u19AB\u19B0-\u19C9\u1A00-\u1A16\u1A20-\u1A54\u1AA7\u1B05-\u1B33\u1B45-\u1B4B\u1B83-\u1BA0\u1BAE\u1BAF\u1BBA-\u1BE5\u1C00-\u1C23\u1C4D-\u1C4F\u1C5A-\u1C7D\u1C80-\u1C88\u1CE9-\u1CEC\u1CEE-\u1CF1\u1CF5\u1CF6\u1D00-\u1DBF\u1E00-\u1F15\u1F18-\u1F1D\u1F20-\u1F45\u1F48-\u1F4D\u1F50-\u1F57\u1F59\u1F5B\u1F5D\u1F5F-\u1F7D\u1F80-\u1FB4\u1FB6-\u1FBC\u1FBE\u1FC2-\u1FC4\u1FC6-\u1FCC\u1FD0-\u1FD3\u1FD6-\u1FDB\u1FE0-\u1FEC\u1FF2-\u1FF4\u1FF6-\u1FFC\u2071\u207F\u2090-\u209C\u2102\u2107\u210A-\u2113\u2115\u2119-\u211D\u2124\u2126\u2128\u212A-\u212D\u212F-\u2139\u213C-\u213F\u2145-\u2149\u214E\u2160-\u2188\u2C00-\u2C2E\u2C30-\u2C5E\u2C60-\u2CE4\u2CEB-\u2CEE\u2CF2\u2CF3\u2D00-\u2D25\u2D27\u2D2D\u2D30-\u2D67\u2D6F\u2D80-\u2D96\u2DA0-\u2DA6\u2DA8-\u2DAE\u2DB0-\u2DB6\u2DB8-\u2DBE\u2DC0-\u2DC6\u2DC8-\u2DCE\u2DD0-\u2DD6\u2DD8-\u2DDE\u2E2F\u3005-\u3007\u3021-\u3029\u3031-\u3035\u3038-\u303C\u3041-\u3096\u309D-\u309F\u30A1-\u30FA\u30FC-\u30FF\u3105-\u312E\u3131-\u318E\u31A0-\u31BA\u31F0-\u31FF\u3400-\u4DB5\u4E00-\u9FEA\uA000-\uA48C\uA4D0-\uA4FD\uA500-\uA60C\uA610-\uA61F\uA62A\uA62B\uA640-\uA66E\uA67F-\uA69D\uA6A0-\uA6EF\uA717-\uA71F\uA722-\uA788\uA78B-\uA7AE\uA7B0-\uA7B7\uA7F7-\uA801\uA803-\uA805\uA807-\uA80A\uA80C-\uA822\uA840-\uA873\uA882-\uA8B3\uA8F2-\uA8F7\uA8FB\uA8FD\uA90A-\uA925\uA930-\uA946\uA960-\uA97C\uA984-\uA9B2\uA9CF\uA9E0-\uA9E4\uA9E6-\uA9EF\uA9FA-\uA9FE\uAA00-\uAA28\uAA40-\uAA42\uAA44-\uAA4B\uAA60-\uAA76\uAA7A\uAA7E-\uAAAF\uAAB1\uAAB5\uAAB6\uAAB9-\uAABD\uAAC0\uAAC2\uAADB-\uAADD\uAAE0-\uAAEA\uAAF2-\uAAF4\uAB01-\uAB06\uAB09-\uAB0E\uAB11-\uAB16\uAB20-\uAB26\uAB28-\uAB2E\uAB30-\uAB5A\uAB5C-\uAB65\uAB70-\uABE2\uAC00-\uD7A3\uD7B0-\uD7C6\uD7CB-\uD7FB\uF900-\uFA6D\uFA70-\uFAD9\uFB00-\uFB06\uFB13-\uFB17\uFB1D\uFB1F-\uFB28\uFB2A-\uFB36\uFB38-\uFB3C\uFB3E\uFB40\uFB41\uFB43\uFB44\uFB46-\uFBB1\uFBD3-\uFD3D\uFD50-\uFD8F\uFD92-\uFDC7\uFDF0-\uFDFB\uFE70-\uFE74\uFE76-\uFEFC\uFF21-\uFF3A\uFF41-\uFF5A\uFF66-\uFFBE\uFFC2-\uFFC7\uFFCA-\uFFCF\uFFD2-\uFFD7\uFFDA-\uFFDC]|\uD800[\uDC00-\uDC0B\uDC0D-\uDC26\uDC28-\uDC3A\uDC3C\uDC3D\uDC3F-\uDC4D\uDC50-\uDC5D\uDC80-\uDCFA\uDD40-\uDD74\uDE80-\uDE9C\uDEA0-\uDED0\uDF00-\uDF1F\uDF2D-\uDF4A\uDF50-\uDF75\uDF80-\uDF9D\uDFA0-\uDFC3\uDFC8-\uDFCF\uDFD1-\uDFD5]|\uD801[\uDC00-\uDC9D\uDCB0-\uDCD3\uDCD8-\uDCFB\uDD00-\uDD27\uDD30-\uDD63\uDE00-\uDF36\uDF40-\uDF55\uDF60-\uDF67]|\uD802[\uDC00-\uDC05\uDC08\uDC0A-\uDC35\uDC37\uDC38\uDC3C\uDC3F-\uDC55\uDC60-\uDC76\uDC80-\uDC9E\uDCE0-\uDCF2\uDCF4\uDCF5\uDD00-\uDD15\uDD20-\uDD39\uDD80-\uDDB7\uDDBE\uDDBF\uDE00\uDE10-\uDE13\uDE15-\uDE17\uDE19-\uDE33\uDE60-\uDE7C\uDE80-\uDE9C\uDEC0-\uDEC7\uDEC9-\uDEE4\uDF00-\uDF35\uDF40-\uDF55\uDF60-\uDF72\uDF80-\uDF91]|\uD803[\uDC00-\uDC48\uDC80-\uDCB2\uDCC0-\uDCF2]|\uD804[\uDC03-\uDC37\uDC83-\uDCAF\uDCD0-\uDCE8\uDD03-\uDD26\uDD50-\uDD72\uDD76\uDD83-\uDDB2\uDDC1-\uDDC4\uDDDA\uDDDC\uDE00-\uDE11\uDE13-\uDE2B\uDE80-\uDE86\uDE88\uDE8A-\uDE8D\uDE8F-\uDE9D\uDE9F-\uDEA8\uDEB0-\uDEDE\uDF05-\uDF0C\uDF0F\uDF10\uDF13-\uDF28\uDF2A-\uDF30\uDF32\uDF33\uDF35-\uDF39\uDF3D\uDF50\uDF5D-\uDF61]|\uD805[\uDC00-\uDC34\uDC47-\uDC4A\uDC80-\uDCAF\uDCC4\uDCC5\uDCC7\uDD80-\uDDAE\uDDD8-\uDDDB\uDE00-\uDE2F\uDE44\uDE80-\uDEAA\uDF00-\uDF19]|\uD806[\uDCA0-\uDCDF\uDCFF\uDE00\uDE0B-\uDE32\uDE3A\uDE50\uDE5C-\uDE83\uDE86-\uDE89\uDEC0-\uDEF8]|\uD807[\uDC00-\uDC08\uDC0A-\uDC2E\uDC40\uDC72-\uDC8F\uDD00-\uDD06\uDD08\uDD09\uDD0B-\uDD30\uDD46]|\uD808[\uDC00-\uDF99]|\uD809[\uDC00-\uDC6E\uDC80-\uDD43]|[\uD80C\uD81C-\uD820\uD840-\uD868\uD86A-\uD86C\uD86F-\uD872\uD874-\uD879][\uDC00-\uDFFF]|\uD80D[\uDC00-\uDC2E]|\uD811[\uDC00-\uDE46]|\uD81A[\uDC00-\uDE38\uDE40-\uDE5E\uDED0-\uDEED\uDF00-\uDF2F\uDF40-\uDF43\uDF63-\uDF77\uDF7D-\uDF8F]|\uD81B[\uDF00-\uDF44\uDF50\uDF93-\uDF9F\uDFE0\uDFE1]|\uD821[\uDC00-\uDFEC]|\uD822[\uDC00-\uDEF2]|\uD82C[\uDC00-\uDD1E\uDD70-\uDEFB]|\uD82F[\uDC00-\uDC6A\uDC70-\uDC7C\uDC80-\uDC88\uDC90-\uDC99]|\uD835[\uDC00-\uDC54\uDC56-\uDC9C\uDC9E\uDC9F\uDCA2\uDCA5\uDCA6\uDCA9-\uDCAC\uDCAE-\uDCB9\uDCBB\uDCBD-\uDCC3\uDCC5-\uDD05\uDD07-\uDD0A\uDD0D-\uDD14\uDD16-\uDD1C\uDD1E-\uDD39\uDD3B-\uDD3E\uDD40-\uDD44\uDD46\uDD4A-\uDD50\uDD52-\uDEA5\uDEA8-\uDEC0\uDEC2-\uDEDA\uDEDC-\uDEFA\uDEFC-\uDF14\uDF16-\uDF34\uDF36-\uDF4E\uDF50-\uDF6E\uDF70-\uDF88\uDF8A-\uDFA8\uDFAA-\uDFC2\uDFC4-\uDFCB]|\uD83A[\uDC00-\uDCC4\uDD00-\uDD43]|\uD83B[\uDE00-\uDE03\uDE05-\uDE1F\uDE21\uDE22\uDE24\uDE27\uDE29-\uDE32\uDE34-\uDE37\uDE39\uDE3B\uDE42\uDE47\uDE49\uDE4B\uDE4D-\uDE4F\uDE51\uDE52\uDE54\uDE57\uDE59\uDE5B\uDE5D\uDE5F\uDE61\uDE62\uDE64\uDE67-\uDE6A\uDE6C-\uDE72\uDE74-\uDE77\uDE79-\uDE7C\uDE7E\uDE80-\uDE89\uDE8B-\uDE9B\uDEA1-\uDEA3\uDEA5-\uDEA9\uDEAB-\uDEBB]|\uD869[\uDC00-\uDED6\uDF00-\uDFFF]|\uD86D[\uDC00-\uDF34\uDF40-\uDFFF]|\uD86E[\uDC00-\uDC1D\uDC20-\uDFFF]|\uD873[\uDC00-\uDEA1\uDEB0-\uDFFF]|\uD87A[\uDC00-\uDFE0]|\uD87E[\uDC00-\uDE1D]/,lo=/[\xAA\xB5\xBA\xC0-\xD6\xD8-\xF6\xF8-\u02C1\u02C6-\u02D1\u02E0-\u02E4\u02EC\u02EE\u0300-\u0374\u0376\u0377\u037A-\u037D\u037F\u0386\u0388-\u038A\u038C\u038E-\u03A1\u03A3-\u03F5\u03F7-\u0481\u0483-\u0487\u048A-\u052F\u0531-\u0556\u0559\u0561-\u0587\u0591-\u05BD\u05BF\u05C1\u05C2\u05C4\u05C5\u05C7\u05D0-\u05EA\u05F0-\u05F2\u0610-\u061A\u0620-\u0669\u066E-\u06D3\u06D5-\u06DC\u06DF-\u06E8\u06EA-\u06FC\u06FF\u0710-\u074A\u074D-\u07B1\u07C0-\u07F5\u07FA\u0800-\u082D\u0840-\u085B\u0860-\u086A\u08A0-\u08B4\u08B6-\u08BD\u08D4-\u08E1\u08E3-\u0963\u0966-\u096F\u0971-\u0983\u0985-\u098C\u098F\u0990\u0993-\u09A8\u09AA-\u09B0\u09B2\u09B6-\u09B9\u09BC-\u09C4\u09C7\u09C8\u09CB-\u09CE\u09D7\u09DC\u09DD\u09DF-\u09E3\u09E6-\u09F1\u09FC\u0A01-\u0A03\u0A05-\u0A0A\u0A0F\u0A10\u0A13-\u0A28\u0A2A-\u0A30\u0A32\u0A33\u0A35\u0A36\u0A38\u0A39\u0A3C\u0A3E-\u0A42\u0A47\u0A48\u0A4B-\u0A4D\u0A51\u0A59-\u0A5C\u0A5E\u0A66-\u0A75\u0A81-\u0A83\u0A85-\u0A8D\u0A8F-\u0A91\u0A93-\u0AA8\u0AAA-\u0AB0\u0AB2\u0AB3\u0AB5-\u0AB9\u0ABC-\u0AC5\u0AC7-\u0AC9\u0ACB-\u0ACD\u0AD0\u0AE0-\u0AE3\u0AE6-\u0AEF\u0AF9-\u0AFF\u0B01-\u0B03\u0B05-\u0B0C\u0B0F\u0B10\u0B13-\u0B28\u0B2A-\u0B30\u0B32\u0B33\u0B35-\u0B39\u0B3C-\u0B44\u0B47\u0B48\u0B4B-\u0B4D\u0B56\u0B57\u0B5C\u0B5D\u0B5F-\u0B63\u0B66-\u0B6F\u0B71\u0B82\u0B83\u0B85-\u0B8A\u0B8E-\u0B90\u0B92-\u0B95\u0B99\u0B9A\u0B9C\u0B9E\u0B9F\u0BA3\u0BA4\u0BA8-\u0BAA\u0BAE-\u0BB9\u0BBE-\u0BC2\u0BC6-\u0BC8\u0BCA-\u0BCD\u0BD0\u0BD7\u0BE6-\u0BEF\u0C00-\u0C03\u0C05-\u0C0C\u0C0E-\u0C10\u0C12-\u0C28\u0C2A-\u0C39\u0C3D-\u0C44\u0C46-\u0C48\u0C4A-\u0C4D\u0C55\u0C56\u0C58-\u0C5A\u0C60-\u0C63\u0C66-\u0C6F\u0C80-\u0C83\u0C85-\u0C8C\u0C8E-\u0C90\u0C92-\u0CA8\u0CAA-\u0CB3\u0CB5-\u0CB9\u0CBC-\u0CC4\u0CC6-\u0CC8\u0CCA-\u0CCD\u0CD5\u0CD6\u0CDE\u0CE0-\u0CE3\u0CE6-\u0CEF\u0CF1\u0CF2\u0D00-\u0D03\u0D05-\u0D0C\u0D0E-\u0D10\u0D12-\u0D44\u0D46-\u0D48\u0D4A-\u0D4E\u0D54-\u0D57\u0D5F-\u0D63\u0D66-\u0D6F\u0D7A-\u0D7F\u0D82\u0D83\u0D85-\u0D96\u0D9A-\u0DB1\u0DB3-\u0DBB\u0DBD\u0DC0-\u0DC6\u0DCA\u0DCF-\u0DD4\u0DD6\u0DD8-\u0DDF\u0DE6-\u0DEF\u0DF2\u0DF3\u0E01-\u0E3A\u0E40-\u0E4E\u0E50-\u0E59\u0E81\u0E82\u0E84\u0E87\u0E88\u0E8A\u0E8D\u0E94-\u0E97\u0E99-\u0E9F\u0EA1-\u0EA3\u0EA5\u0EA7\u0EAA\u0EAB\u0EAD-\u0EB9\u0EBB-\u0EBD\u0EC0-\u0EC4\u0EC6\u0EC8-\u0ECD\u0ED0-\u0ED9\u0EDC-\u0EDF\u0F00\u0F18\u0F19\u0F20-\u0F29\u0F35\u0F37\u0F39\u0F3E-\u0F47\u0F49-\u0F6C\u0F71-\u0F84\u0F86-\u0F97\u0F99-\u0FBC\u0FC6\u1000-\u1049\u1050-\u109D\u10A0-\u10C5\u10C7\u10CD\u10D0-\u10FA\u10FC-\u1248\u124A-\u124D\u1250-\u1256\u1258\u125A-\u125D\u1260-\u1288\u128A-\u128D\u1290-\u12B0\u12B2-\u12B5\u12B8-\u12BE\u12C0\u12C2-\u12C5\u12C8-\u12D6\u12D8-\u1310\u1312-\u1315\u1318-\u135A\u135D-\u135F\u1380-\u138F\u13A0-\u13F5\u13F8-\u13FD\u1401-\u166C\u166F-\u167F\u1681-\u169A\u16A0-\u16EA\u16EE-\u16F8\u1700-\u170C\u170E-\u1714\u1720-\u1734\u1740-\u1753\u1760-\u176C\u176E-\u1770\u1772\u1773\u1780-\u17D3\u17D7\u17DC\u17DD\u17E0-\u17E9\u180B-\u180D\u1810-\u1819\u1820-\u1877\u1880-\u18AA\u18B0-\u18F5\u1900-\u191E\u1920-\u192B\u1930-\u193B\u1946-\u196D\u1970-\u1974\u1980-\u19AB\u19B0-\u19C9\u19D0-\u19D9\u1A00-\u1A1B\u1A20-\u1A5E\u1A60-\u1A7C\u1A7F-\u1A89\u1A90-\u1A99\u1AA7\u1AB0-\u1ABD\u1B00-\u1B4B\u1B50-\u1B59\u1B6B-\u1B73\u1B80-\u1BF3\u1C00-\u1C37\u1C40-\u1C49\u1C4D-\u1C7D\u1C80-\u1C88\u1CD0-\u1CD2\u1CD4-\u1CF9\u1D00-\u1DF9\u1DFB-\u1F15\u1F18-\u1F1D\u1F20-\u1F45\u1F48-\u1F4D\u1F50-\u1F57\u1F59\u1F5B\u1F5D\u1F5F-\u1F7D\u1F80-\u1FB4\u1FB6-\u1FBC\u1FBE\u1FC2-\u1FC4\u1FC6-\u1FCC\u1FD0-\u1FD3\u1FD6-\u1FDB\u1FE0-\u1FEC\u1FF2-\u1FF4\u1FF6-\u1FFC\u203F\u2040\u2054\u2071\u207F\u2090-\u209C\u20D0-\u20DC\u20E1\u20E5-\u20F0\u2102\u2107\u210A-\u2113\u2115\u2119-\u211D\u2124\u2126\u2128\u212A-\u212D\u212F-\u2139\u213C-\u213F\u2145-\u2149\u214E\u2160-\u2188\u2C00-\u2C2E\u2C30-\u2C5E\u2C60-\u2CE4\u2CEB-\u2CF3\u2D00-\u2D25\u2D27\u2D2D\u2D30-\u2D67\u2D6F\u2D7F-\u2D96\u2DA0-\u2DA6\u2DA8-\u2DAE\u2DB0-\u2DB6\u2DB8-\u2DBE\u2DC0-\u2DC6\u2DC8-\u2DCE\u2DD0-\u2DD6\u2DD8-\u2DDE\u2DE0-\u2DFF\u2E2F\u3005-\u3007\u3021-\u302F\u3031-\u3035\u3038-\u303C\u3041-\u3096\u3099\u309A\u309D-\u309F\u30A1-\u30FA\u30FC-\u30FF\u3105-\u312E\u3131-\u318E\u31A0-\u31BA\u31F0-\u31FF\u3400-\u4DB5\u4E00-\u9FEA\uA000-\uA48C\uA4D0-\uA4FD\uA500-\uA60C\uA610-\uA62B\uA640-\uA66F\uA674-\uA67D\uA67F-\uA6F1\uA717-\uA71F\uA722-\uA788\uA78B-\uA7AE\uA7B0-\uA7B7\uA7F7-\uA827\uA840-\uA873\uA880-\uA8C5\uA8D0-\uA8D9\uA8E0-\uA8F7\uA8FB\uA8FD\uA900-\uA92D\uA930-\uA953\uA960-\uA97C\uA980-\uA9C0\uA9CF-\uA9D9\uA9E0-\uA9FE\uAA00-\uAA36\uAA40-\uAA4D\uAA50-\uAA59\uAA60-\uAA76\uAA7A-\uAAC2\uAADB-\uAADD\uAAE0-\uAAEF\uAAF2-\uAAF6\uAB01-\uAB06\uAB09-\uAB0E\uAB11-\uAB16\uAB20-\uAB26\uAB28-\uAB2E\uAB30-\uAB5A\uAB5C-\uAB65\uAB70-\uABEA\uABEC\uABED\uABF0-\uABF9\uAC00-\uD7A3\uD7B0-\uD7C6\uD7CB-\uD7FB\uF900-\uFA6D\uFA70-\uFAD9\uFB00-\uFB06\uFB13-\uFB17\uFB1D-\uFB28\uFB2A-\uFB36\uFB38-\uFB3C\uFB3E\uFB40\uFB41\uFB43\uFB44\uFB46-\uFBB1\uFBD3-\uFD3D\uFD50-\uFD8F\uFD92-\uFDC7\uFDF0-\uFDFB\uFE00-\uFE0F\uFE20-\uFE2F\uFE33\uFE34\uFE4D-\uFE4F\uFE70-\uFE74\uFE76-\uFEFC\uFF10-\uFF19\uFF21-\uFF3A\uFF3F\uFF41-\uFF5A\uFF66-\uFFBE\uFFC2-\uFFC7\uFFCA-\uFFCF\uFFD2-\uFFD7\uFFDA-\uFFDC]|\uD800[\uDC00-\uDC0B\uDC0D-\uDC26\uDC28-\uDC3A\uDC3C\uDC3D\uDC3F-\uDC4D\uDC50-\uDC5D\uDC80-\uDCFA\uDD40-\uDD74\uDDFD\uDE80-\uDE9C\uDEA0-\uDED0\uDEE0\uDF00-\uDF1F\uDF2D-\uDF4A\uDF50-\uDF7A\uDF80-\uDF9D\uDFA0-\uDFC3\uDFC8-\uDFCF\uDFD1-\uDFD5]|\uD801[\uDC00-\uDC9D\uDCA0-\uDCA9\uDCB0-\uDCD3\uDCD8-\uDCFB\uDD00-\uDD27\uDD30-\uDD63\uDE00-\uDF36\uDF40-\uDF55\uDF60-\uDF67]|\uD802[\uDC00-\uDC05\uDC08\uDC0A-\uDC35\uDC37\uDC38\uDC3C\uDC3F-\uDC55\uDC60-\uDC76\uDC80-\uDC9E\uDCE0-\uDCF2\uDCF4\uDCF5\uDD00-\uDD15\uDD20-\uDD39\uDD80-\uDDB7\uDDBE\uDDBF\uDE00-\uDE03\uDE05\uDE06\uDE0C-\uDE13\uDE15-\uDE17\uDE19-\uDE33\uDE38-\uDE3A\uDE3F\uDE60-\uDE7C\uDE80-\uDE9C\uDEC0-\uDEC7\uDEC9-\uDEE6\uDF00-\uDF35\uDF40-\uDF55\uDF60-\uDF72\uDF80-\uDF91]|\uD803[\uDC00-\uDC48\uDC80-\uDCB2\uDCC0-\uDCF2]|\uD804[\uDC00-\uDC46\uDC66-\uDC6F\uDC7F-\uDCBA\uDCD0-\uDCE8\uDCF0-\uDCF9\uDD00-\uDD34\uDD36-\uDD3F\uDD50-\uDD73\uDD76\uDD80-\uDDC4\uDDCA-\uDDCC\uDDD0-\uDDDA\uDDDC\uDE00-\uDE11\uDE13-\uDE37\uDE3E\uDE80-\uDE86\uDE88\uDE8A-\uDE8D\uDE8F-\uDE9D\uDE9F-\uDEA8\uDEB0-\uDEEA\uDEF0-\uDEF9\uDF00-\uDF03\uDF05-\uDF0C\uDF0F\uDF10\uDF13-\uDF28\uDF2A-\uDF30\uDF32\uDF33\uDF35-\uDF39\uDF3C-\uDF44\uDF47\uDF48\uDF4B-\uDF4D\uDF50\uDF57\uDF5D-\uDF63\uDF66-\uDF6C\uDF70-\uDF74]|\uD805[\uDC00-\uDC4A\uDC50-\uDC59\uDC80-\uDCC5\uDCC7\uDCD0-\uDCD9\uDD80-\uDDB5\uDDB8-\uDDC0\uDDD8-\uDDDD\uDE00-\uDE40\uDE44\uDE50-\uDE59\uDE80-\uDEB7\uDEC0-\uDEC9\uDF00-\uDF19\uDF1D-\uDF2B\uDF30-\uDF39]|\uD806[\uDCA0-\uDCE9\uDCFF\uDE00-\uDE3E\uDE47\uDE50-\uDE83\uDE86-\uDE99\uDEC0-\uDEF8]|\uD807[\uDC00-\uDC08\uDC0A-\uDC36\uDC38-\uDC40\uDC50-\uDC59\uDC72-\uDC8F\uDC92-\uDCA7\uDCA9-\uDCB6\uDD00-\uDD06\uDD08\uDD09\uDD0B-\uDD36\uDD3A\uDD3C\uDD3D\uDD3F-\uDD47\uDD50-\uDD59]|\uD808[\uDC00-\uDF99]|\uD809[\uDC00-\uDC6E\uDC80-\uDD43]|[\uD80C\uD81C-\uD820\uD840-\uD868\uD86A-\uD86C\uD86F-\uD872\uD874-\uD879][\uDC00-\uDFFF]|\uD80D[\uDC00-\uDC2E]|\uD811[\uDC00-\uDE46]|\uD81A[\uDC00-\uDE38\uDE40-\uDE5E\uDE60-\uDE69\uDED0-\uDEED\uDEF0-\uDEF4\uDF00-\uDF36\uDF40-\uDF43\uDF50-\uDF59\uDF63-\uDF77\uDF7D-\uDF8F]|\uD81B[\uDF00-\uDF44\uDF50-\uDF7E\uDF8F-\uDF9F\uDFE0\uDFE1]|\uD821[\uDC00-\uDFEC]|\uD822[\uDC00-\uDEF2]|\uD82C[\uDC00-\uDD1E\uDD70-\uDEFB]|\uD82F[\uDC00-\uDC6A\uDC70-\uDC7C\uDC80-\uDC88\uDC90-\uDC99\uDC9D\uDC9E]|\uD834[\uDD65-\uDD69\uDD6D-\uDD72\uDD7B-\uDD82\uDD85-\uDD8B\uDDAA-\uDDAD\uDE42-\uDE44]|\uD835[\uDC00-\uDC54\uDC56-\uDC9C\uDC9E\uDC9F\uDCA2\uDCA5\uDCA6\uDCA9-\uDCAC\uDCAE-\uDCB9\uDCBB\uDCBD-\uDCC3\uDCC5-\uDD05\uDD07-\uDD0A\uDD0D-\uDD14\uDD16-\uDD1C\uDD1E-\uDD39\uDD3B-\uDD3E\uDD40-\uDD44\uDD46\uDD4A-\uDD50\uDD52-\uDEA5\uDEA8-\uDEC0\uDEC2-\uDEDA\uDEDC-\uDEFA\uDEFC-\uDF14\uDF16-\uDF34\uDF36-\uDF4E\uDF50-\uDF6E\uDF70-\uDF88\uDF8A-\uDFA8\uDFAA-\uDFC2\uDFC4-\uDFCB\uDFCE-\uDFFF]|\uD836[\uDE00-\uDE36\uDE3B-\uDE6C\uDE75\uDE84\uDE9B-\uDE9F\uDEA1-\uDEAF]|\uD838[\uDC00-\uDC06\uDC08-\uDC18\uDC1B-\uDC21\uDC23\uDC24\uDC26-\uDC2A]|\uD83A[\uDC00-\uDCC4\uDCD0-\uDCD6\uDD00-\uDD4A\uDD50-\uDD59]|\uD83B[\uDE00-\uDE03\uDE05-\uDE1F\uDE21\uDE22\uDE24\uDE27\uDE29-\uDE32\uDE34-\uDE37\uDE39\uDE3B\uDE42\uDE47\uDE49\uDE4B\uDE4D-\uDE4F\uDE51\uDE52\uDE54\uDE57\uDE59\uDE5B\uDE5D\uDE5F\uDE61\uDE62\uDE64\uDE67-\uDE6A\uDE6C-\uDE72\uDE74-\uDE77\uDE79-\uDE7C\uDE7E\uDE80-\uDE89\uDE8B-\uDE9B\uDEA1-\uDEA3\uDEA5-\uDEA9\uDEAB-\uDEBB]|\uD869[\uDC00-\uDED6\uDF00-\uDFFF]|\uD86D[\uDC00-\uDF34\uDF40-\uDFFF]|\uD86E[\uDC00-\uDC1D\uDC20-\uDFFF]|\uD873[\uDC00-\uDEA1\uDEB0-\uDFFF]|\uD87A[\uDC00-\uDFE0]|\uD87E[\uDC00-\uDE1D]|\uDB40[\uDD00-\uDDEF]/,ti={Space_Separator:ao,ID_Start:co,ID_Continue:lo},ae={isSpaceSeparator(i){return typeof i=="string"&&ti.Space_Separator.test(i)},isIdStartChar(i){return typeof i=="string"&&(i>="a"&&i<="z"||i>="A"&&i<="Z"||i==="$"||i==="_"||ti.ID_Start.test(i))},isIdContinueChar(i){return typeof i=="string"&&(i>="a"&&i<="z"||i>="A"&&i<="Z"||i>="0"&&i<="9"||i==="$"||i==="_"||i==="\u200C"||i==="\u200D"||ti.ID_Continue.test(i))},isDigit(i){return typeof i=="string"&&/[0-9]/.test(i)},isHexDigit(i){return typeof i=="string"&&/[0-9A-Fa-f]/.test(i)}};let ni,Ae,Ye,Cn,nt,Te,De,ii,Gt;var fo=function(e,t){ni=String(e),Ae="start",Ye=[],Cn=0,nt=1,Te=0,De=void 0,ii=void 0,Gt=void 0;do De=ho(),go[Ae]();while(De.type!=="eof");return typeof t=="function"?ri({"":Gt},"",t):Gt};function ri(i,e,t){const n=i[e];if(n!=null&&typeof n=="object")if(Array.isArray(n))for(let r=0;r<n.length;r++){const s=String(r),u=ri(n,s,t);u===void 0?delete n[s]:Object.defineProperty(n,s,{value:u,writable:!0,enumerable:!0,configurable:!0})}else for(const r in n){const s=ri(n,r,t);s===void 0?delete n[r]:Object.defineProperty(n,r,{value:s,writable:!0,enumerable:!0,configurable:!0})}return t.call(i,e,n)}let H,z,Yt,qe,Y;function ho(){for(H="default",z="",Yt=!1,qe=1;;){Y=Je();const i=Ir[H]();if(i)return i}}function Je(){if(ni[Cn])return String.fromCodePoint(ni.codePointAt(Cn))}function b(){const i=Je();return i===`
|
|
71
|
+
`?(nt++,Te=0):i?Te+=i.length:Te++,i&&(Cn+=i.length),i}const Ir={default(){switch(Y){case" ":case"\v":case"\f":case" ":case"\xA0":case"\uFEFF":case`
|
|
72
|
+
`:case"\r":case"\u2028":case"\u2029":b();return;case"/":b(),H="comment";return;case void 0:return b(),Z("eof")}if(ae.isSpaceSeparator(Y)){b();return}return Ir[Ae]()},comment(){switch(Y){case"*":b(),H="multiLineComment";return;case"/":b(),H="singleLineComment";return}throw ee(b())},multiLineComment(){switch(Y){case"*":b(),H="multiLineCommentAsterisk";return;case void 0:throw ee(b())}b()},multiLineCommentAsterisk(){switch(Y){case"*":b();return;case"/":b(),H="default";return;case void 0:throw ee(b())}b(),H="multiLineComment"},singleLineComment(){switch(Y){case`
|
|
73
|
+
`:case"\r":case"\u2028":case"\u2029":b(),H="default";return;case void 0:return b(),Z("eof")}b()},value(){switch(Y){case"{":case"[":return Z("punctuator",b());case"n":return b(),Ct("ull"),Z("null",null);case"t":return b(),Ct("rue"),Z("boolean",!0);case"f":return b(),Ct("alse"),Z("boolean",!1);case"-":case"+":b()==="-"&&(qe=-1),H="sign";return;case".":z=b(),H="decimalPointLeading";return;case"0":z=b(),H="zero";return;case"1":case"2":case"3":case"4":case"5":case"6":case"7":case"8":case"9":z=b(),H="decimalInteger";return;case"I":return b(),Ct("nfinity"),Z("numeric",1/0);case"N":return b(),Ct("aN"),Z("numeric",NaN);case'"':case"'":Yt=b()==='"',z="",H="string";return}throw ee(b())},identifierNameStartEscape(){if(Y!=="u")throw ee(b());b();const i=si();switch(i){case"$":case"_":break;default:if(!ae.isIdStartChar(i))throw $r();break}z+=i,H="identifierName"},identifierName(){switch(Y){case"$":case"_":case"\u200C":case"\u200D":z+=b();return;case"\\":b(),H="identifierNameEscape";return}if(ae.isIdContinueChar(Y)){z+=b();return}return Z("identifier",z)},identifierNameEscape(){if(Y!=="u")throw ee(b());b();const i=si();switch(i){case"$":case"_":case"\u200C":case"\u200D":break;default:if(!ae.isIdContinueChar(i))throw $r();break}z+=i,H="identifierName"},sign(){switch(Y){case".":z=b(),H="decimalPointLeading";return;case"0":z=b(),H="zero";return;case"1":case"2":case"3":case"4":case"5":case"6":case"7":case"8":case"9":z=b(),H="decimalInteger";return;case"I":return b(),Ct("nfinity"),Z("numeric",qe*(1/0));case"N":return b(),Ct("aN"),Z("numeric",NaN)}throw ee(b())},zero(){switch(Y){case".":z+=b(),H="decimalPoint";return;case"e":case"E":z+=b(),H="decimalExponent";return;case"x":case"X":z+=b(),H="hexadecimal";return}return Z("numeric",qe*0)},decimalInteger(){switch(Y){case".":z+=b(),H="decimalPoint";return;case"e":case"E":z+=b(),H="decimalExponent";return}if(ae.isDigit(Y)){z+=b();return}return Z("numeric",qe*Number(z))},decimalPointLeading(){if(ae.isDigit(Y)){z+=b(),H="decimalFraction";return}throw ee(b())},decimalPoint(){switch(Y){case"e":case"E":z+=b(),H="decimalExponent";return}if(ae.isDigit(Y)){z+=b(),H="decimalFraction";return}return Z("numeric",qe*Number(z))},decimalFraction(){switch(Y){case"e":case"E":z+=b(),H="decimalExponent";return}if(ae.isDigit(Y)){z+=b();return}return Z("numeric",qe*Number(z))},decimalExponent(){switch(Y){case"+":case"-":z+=b(),H="decimalExponentSign";return}if(ae.isDigit(Y)){z+=b(),H="decimalExponentInteger";return}throw ee(b())},decimalExponentSign(){if(ae.isDigit(Y)){z+=b(),H="decimalExponentInteger";return}throw ee(b())},decimalExponentInteger(){if(ae.isDigit(Y)){z+=b();return}return Z("numeric",qe*Number(z))},hexadecimal(){if(ae.isHexDigit(Y)){z+=b(),H="hexadecimalInteger";return}throw ee(b())},hexadecimalInteger(){if(ae.isHexDigit(Y)){z+=b();return}return Z("numeric",qe*Number(z))},string(){switch(Y){case"\\":b(),z+=po();return;case'"':if(Yt)return b(),Z("string",z);z+=b();return;case"'":if(!Yt)return b(),Z("string",z);z+=b();return;case`
|
|
74
|
+
`:case"\r":throw ee(b());case"\u2028":case"\u2029":Do(Y);break;case void 0:throw ee(b())}z+=b()},start(){switch(Y){case"{":case"[":return Z("punctuator",b())}H="value"},beforePropertyName(){switch(Y){case"$":case"_":z=b(),H="identifierName";return;case"\\":b(),H="identifierNameStartEscape";return;case"}":return Z("punctuator",b());case'"':case"'":Yt=b()==='"',H="string";return}if(ae.isIdStartChar(Y)){z+=b(),H="identifierName";return}throw ee(b())},afterPropertyName(){if(Y===":")return Z("punctuator",b());throw ee(b())},beforePropertyValue(){H="value"},afterPropertyValue(){switch(Y){case",":case"}":return Z("punctuator",b())}throw ee(b())},beforeArrayValue(){if(Y==="]")return Z("punctuator",b());H="value"},afterArrayValue(){switch(Y){case",":case"]":return Z("punctuator",b())}throw ee(b())},end(){throw ee(b())}};function Z(i,e){return{type:i,value:e,line:nt,column:Te}}function Ct(i){for(const e of i){if(Je()!==e)throw ee(b());b()}}function po(){switch(Je()){case"b":return b(),"\b";case"f":return b(),"\f";case"n":return b(),`
|
|
75
|
+
`;case"r":return b(),"\r";case"t":return b()," ";case"v":return b(),"\v";case"0":if(b(),ae.isDigit(Je()))throw ee(b());return"\0";case"x":return b(),mo();case"u":return b(),si();case`
|
|
76
|
+
`:case"\u2028":case"\u2029":return b(),"";case"\r":return b(),Je()===`
|
|
77
|
+
`&&b(),"";case"1":case"2":case"3":case"4":case"5":case"6":case"7":case"8":case"9":throw ee(b());case void 0:throw ee(b())}return b()}function mo(){let i="",e=Je();if(!ae.isHexDigit(e)||(i+=b(),e=Je(),!ae.isHexDigit(e)))throw ee(b());return i+=b(),String.fromCodePoint(parseInt(i,16))}function si(){let i="",e=4;for(;e-- >0;){const t=Je();if(!ae.isHexDigit(t))throw ee(b());i+=b()}return String.fromCodePoint(parseInt(i,16))}const go={start(){if(De.type==="eof")throw wt();ui()},beforePropertyName(){switch(De.type){case"identifier":case"string":ii=De.value,Ae="afterPropertyName";return;case"punctuator":wn();return;case"eof":throw wt()}},afterPropertyName(){if(De.type==="eof")throw wt();Ae="beforePropertyValue"},beforePropertyValue(){if(De.type==="eof")throw wt();ui()},beforeArrayValue(){if(De.type==="eof")throw wt();if(De.type==="punctuator"&&De.value==="]"){wn();return}ui()},afterPropertyValue(){if(De.type==="eof")throw wt();switch(De.value){case",":Ae="beforePropertyName";return;case"}":wn()}},afterArrayValue(){if(De.type==="eof")throw wt();switch(De.value){case",":Ae="beforeArrayValue";return;case"]":wn()}},end(){}};function ui(){let i;switch(De.type){case"punctuator":switch(De.value){case"{":i={};break;case"[":i=[];break}break;case"null":case"boolean":case"numeric":case"string":i=De.value;break}if(Gt===void 0)Gt=i;else{const e=Ye[Ye.length-1];Array.isArray(e)?e.push(i):Object.defineProperty(e,ii,{value:i,writable:!0,enumerable:!0,configurable:!0})}if(i!==null&&typeof i=="object")Ye.push(i),Array.isArray(i)?Ae="beforeArrayValue":Ae="beforePropertyName";else{const e=Ye[Ye.length-1];e==null?Ae="end":Array.isArray(e)?Ae="afterArrayValue":Ae="afterPropertyValue"}}function wn(){Ye.pop();const i=Ye[Ye.length-1];i==null?Ae="end":Array.isArray(i)?Ae="afterArrayValue":Ae="afterPropertyValue"}function ee(i){return An(i===void 0?`JSON5: invalid end of input at ${nt}:${Te}`:`JSON5: invalid character '${xr(i)}' at ${nt}:${Te}`)}function wt(){return An(`JSON5: invalid end of input at ${nt}:${Te}`)}function $r(){return Te-=5,An(`JSON5: invalid identifier character at ${nt}:${Te}`)}function Do(i){console.warn(`JSON5: '${xr(i)}' in strings is not valid ECMAScript; consider escaping`)}function xr(i){const e={"'":"\\'",'"':'\\"',"\\":"\\\\","\b":"\\b","\f":"\\f","\n":"\\n","\r":"\\r"," ":"\\t","\v":"\\v","\0":"\\0","\u2028":"\\u2028","\u2029":"\\u2029"};if(e[i])return e[i];if(i<" "){const t=i.charCodeAt(0).toString(16);return"\\x"+("00"+t).substring(t.length)}return i}function An(i){const e=new SyntaxError(i);return e.lineNumber=nt,e.columnNumber=Te,e}var Co=function(e,t,n){const r=[];let s="",u,a,c="",h;if(t!=null&&typeof t=="object"&&!Array.isArray(t)&&(n=t.space,h=t.quote,t=t.replacer),typeof t=="function")a=t;else if(Array.isArray(t)){u=[];for(const w of t){let m;typeof w=="string"?m=w:(typeof w=="number"||w instanceof String||w instanceof Number)&&(m=String(w)),m!==void 0&&u.indexOf(m)<0&&u.push(m)}}return n instanceof Number?n=Number(n):n instanceof String&&(n=String(n)),typeof n=="number"?n>0&&(n=Math.min(10,Math.floor(n)),c=" ".substr(0,n)):typeof n=="string"&&(c=n.substr(0,10)),l("",{"":e});function l(w,m){let y=m[w];switch(y!=null&&(typeof y.toJSON5=="function"?y=y.toJSON5(w):typeof y.toJSON=="function"&&(y=y.toJSON(w))),a&&(y=a.call(m,w,y)),y instanceof Number?y=Number(y):y instanceof String?y=String(y):y instanceof Boolean&&(y=y.valueOf()),y){case null:return"null";case!0:return"true";case!1:return"false"}if(typeof y=="string")return f(y);if(typeof y=="number")return String(y);if(typeof y=="object")return Array.isArray(y)?F(y):p(y)}function f(w){const m={"'":.1,'"':.2},y={"'":"\\'",'"':'\\"',"\\":"\\\\","\b":"\\b","\f":"\\f","\n":"\\n","\r":"\\r"," ":"\\t","\v":"\\v","\0":"\\0","\u2028":"\\u2028","\u2029":"\\u2029"};let S="";for(let N=0;N<w.length;N++){const U=w[N];switch(U){case"'":case'"':m[U]++,S+=U;continue;case"\0":if(ae.isDigit(w[N+1])){S+="\\x00";continue}}if(y[U]){S+=y[U];continue}if(U<" "){let Ce=U.charCodeAt(0).toString(16);S+="\\x"+("00"+Ce).substring(Ce.length);continue}S+=U}const R=h||Object.keys(m).reduce((N,U)=>m[N]<m[U]?N:U);return S=S.replace(new RegExp(R,"g"),y[R]),R+S+R}function p(w){if(r.indexOf(w)>=0)throw TypeError("Converting circular structure to JSON5");r.push(w);let m=s;s=s+c;let y=u||Object.keys(w),S=[];for(const N of y){const U=l(N,w);if(U!==void 0){let Ce=C(N)+":";c!==""&&(Ce+=" "),Ce+=U,S.push(Ce)}}let R;if(S.length===0)R="{}";else{let N;if(c==="")N=S.join(","),R="{"+N+"}";else{let U=`,
|
|
78
|
+
`+s;N=S.join(U),R=`{
|
|
79
|
+
`+s+N+`,
|
|
80
|
+
`+m+"}"}}return r.pop(),s=m,R}function C(w){if(w.length===0)return f(w);const m=String.fromCodePoint(w.codePointAt(0));if(!ae.isIdStartChar(m))return f(w);for(let y=m.length;y<w.length;y++)if(!ae.isIdContinueChar(String.fromCodePoint(w.codePointAt(y))))return f(w);return w}function F(w){if(r.indexOf(w)>=0)throw TypeError("Converting circular structure to JSON5");r.push(w);let m=s;s=s+c;let y=[];for(let R=0;R<w.length;R++){const N=l(String(R),w);y.push(N!==void 0?N:"null")}let S;if(y.length===0)S="[]";else if(c==="")S="["+y.join(",")+"]";else{let R=`,
|
|
81
|
+
`+s,N=y.join(R);S=`[
|
|
82
|
+
`+s+N+`,
|
|
83
|
+
`+m+"]"}return r.pop(),s=m,S}};const wo={parse:fo,stringify:Co};var At=wo;function Ao(i){const e=new ce;return e.appendTemplate`
|
|
84
|
+
/* prettier-ignore-start */
|
|
85
|
+
/* eslint-disable */
|
|
86
|
+
|
|
87
|
+
/******************************************************************************
|
|
88
|
+
* This file was generated
|
|
89
|
+
* DO NOT EDIT MANUALLY!
|
|
90
|
+
******************************************************************************/
|
|
91
|
+
|
|
92
|
+
import { LikeC4Model } from 'likec4'
|
|
93
|
+
|
|
94
|
+
export const likeC4Model = LikeC4Model.fromDump(${At.stringify(i.$model,{space:2,quote:"'"})})
|
|
95
|
+
|
|
96
|
+
export type LikeC4ModelTypes = typeof likeC4Model.Aux
|
|
97
|
+
export type LikeC4ElementId = LikeC4ModelTypes['Fqn']
|
|
98
|
+
export type LikeC4DeploymentId = LikeC4ModelTypes['Deployment']
|
|
99
|
+
export type LikeC4ViewId = LikeC4ModelTypes['ViewId']
|
|
100
|
+
|
|
101
|
+
/* prettier-ignore-end */
|
|
102
|
+
`,tt(e)}function Eo(i){return Ie(i,e=>et`${At.stringify(e.id)}`,{separator:" | "})}function bo(i){const e=Array.from(i),t=new ce;return t.appendTemplate`
|
|
84
103
|
/******************************************************************************
|
|
85
104
|
* This file was generated
|
|
86
105
|
* DO NOT EDIT MANUALLY!
|
|
@@ -91,10 +110,10 @@ ${F.join(`
|
|
|
91
110
|
// @ts-nocheck
|
|
92
111
|
|
|
93
112
|
import type { DiagramView } from 'likec4'
|
|
94
|
-
`.append(G,G),e.length===0?(t.append("export {}",G),
|
|
95
|
-
export type LikeC4ViewId = ${
|
|
113
|
+
`.append(G,G),e.length===0?(t.append("export {}",G),tt(t)):(t.appendTemplate`
|
|
114
|
+
export type LikeC4ViewId = ${Eo(e)};
|
|
96
115
|
export const LikeC4Views = {
|
|
97
|
-
`.indent({indentation:2,indentedChildren(n){n.appendNewLineIf(e.length>1).append(
|
|
116
|
+
`.indent({indentation:2,indentedChildren(n){n.appendNewLineIf(e.length>1).append(Ie(e,r=>et`${At.stringify(r.id)}: (${At.stringify(r)} as unknown) as DiagramView`,{separator:",",appendNewLineIfNotEmpty:!0}))}}).append("} as const satisfies Record<LikeC4ViewId, DiagramView>",G,G).appendTemplate`
|
|
98
117
|
export type LikeC4Views = typeof LikeC4Views
|
|
99
118
|
|
|
100
119
|
export function isLikeC4ViewId(value: unknown): value is LikeC4ViewId {
|
|
@@ -106,7 +125,100 @@ ${F.join(`
|
|
|
106
125
|
}
|
|
107
126
|
|
|
108
127
|
/* prettier-ignore-end */
|
|
109
|
-
`.append(G),
|
|
128
|
+
`.append(G),tt(t))}function qt(i){i instanceof Set&&(i=[...i].sort(qr));const e=i.map(t=>` | ${JSON.stringify(t)}`);return e.length===0&&e.push(" never"),e.join(`
|
|
129
|
+
`)+";"}function Fo(i){const{fqns:e,tags:t,kinds:n}=Ai([...i.elements()]).reduce((u,a)=>(u.fqns.push(a.id),u.kinds.add(a.kind),u.tags.push(...a.tags),u),{fqns:[],kinds:new Set,tags:[]}),r=Ai([...i.deployment.elements()]).map(u=>u.id),{viewIds:s}=[...i.views()].reduce((u,a)=>(u.viewIds.add(a.id),u.tags.push(...a.tags),u.tags.push(...a.includedTags),u),{viewIds:new Set,tags:t});return`
|
|
130
|
+
/* prettier-ignore-start */
|
|
131
|
+
/* eslint-disable */
|
|
132
|
+
|
|
133
|
+
/******************************************************************************
|
|
134
|
+
* This file was generated
|
|
135
|
+
* DO NOT EDIT MANUALLY!
|
|
136
|
+
******************************************************************************/
|
|
137
|
+
|
|
138
|
+
import type { PropsWithChildren } from 'react'
|
|
139
|
+
import type { JSX } from 'react/jsx-runtime'
|
|
140
|
+
import type {
|
|
141
|
+
LikeC4ViewProps as GenericLikeC4ViewProps,
|
|
142
|
+
ViewData,
|
|
143
|
+
LikeC4Model as GenericLikeC4Model,
|
|
144
|
+
ReactLikeC4Props as GenericReactLikeC4Props
|
|
145
|
+
} from 'likec4/react'
|
|
146
|
+
|
|
147
|
+
type LikeC4ElementId =
|
|
148
|
+
${qt(e)}
|
|
149
|
+
|
|
150
|
+
type LikeC4DeploymentId =
|
|
151
|
+
${qt(r)}
|
|
152
|
+
|
|
153
|
+
type LikeC4ViewId =
|
|
154
|
+
${qt(s)}
|
|
155
|
+
|
|
156
|
+
type LikeC4ElementKind =
|
|
157
|
+
${qt(n)}
|
|
158
|
+
|
|
159
|
+
type LikeC4Tag =
|
|
160
|
+
${qt(new Set(t))}
|
|
161
|
+
|
|
162
|
+
type LikeC4ViewData = ViewData<LikeC4ViewId>
|
|
163
|
+
|
|
164
|
+
declare const LikeC4Views: {
|
|
165
|
+
readonly [K in LikeC4ViewId]: LikeC4ViewData
|
|
166
|
+
};
|
|
167
|
+
declare function isLikeC4ViewId(value: unknown): value is LikeC4ViewId;
|
|
168
|
+
|
|
169
|
+
type Aux = GenericLikeC4Model.Typed<LikeC4ElementId, LikeC4DeploymentId, LikeC4ViewId, LikeC4ViewData>;
|
|
170
|
+
type LikeC4Model = GenericLikeC4Model<Aux>;
|
|
171
|
+
type LikeC4ViewModel = GenericLikeC4Model.View<Aux>;
|
|
172
|
+
|
|
173
|
+
declare const likeC4Model: LikeC4Model;
|
|
174
|
+
declare function useLikeC4Model(): LikeC4Model;
|
|
175
|
+
declare function useLikeC4View(viewId: LikeC4ViewId): LikeC4ViewData;
|
|
176
|
+
declare function useLikeC4ViewModel(viewId: LikeC4ViewId): LikeC4ViewModel;
|
|
177
|
+
|
|
178
|
+
declare function LikeC4ModelProvider(props: PropsWithChildren): JSX.Element;
|
|
179
|
+
|
|
180
|
+
type IconRendererProps = {
|
|
181
|
+
node: {
|
|
182
|
+
id: string
|
|
183
|
+
title: string
|
|
184
|
+
icon?: string | undefined
|
|
185
|
+
}
|
|
186
|
+
}
|
|
187
|
+
declare function RenderIcon(props: IconRendererProps): JSX.Element;
|
|
188
|
+
|
|
189
|
+
type LikeC4ViewProps = GenericLikeC4ViewProps<LikeC4ViewId, LikeC4Tag, LikeC4ElementKind>;
|
|
190
|
+
declare function LikeC4View({viewId, ...props}: LikeC4ViewProps): JSX.Element;
|
|
191
|
+
|
|
192
|
+
type ReactLikeC4Props =
|
|
193
|
+
& Omit<GenericReactLikeC4Props<LikeC4ViewId, LikeC4Tag, LikeC4ElementKind>, 'view' | 'renderIcon'>
|
|
194
|
+
& {
|
|
195
|
+
viewId: LikeC4ViewId
|
|
196
|
+
};
|
|
197
|
+
declare function ReactLikeC4({viewId, ...props}: ReactLikeC4Props): JSX.Element;
|
|
198
|
+
|
|
199
|
+
export {
|
|
200
|
+
type LikeC4ElementId,
|
|
201
|
+
type LikeC4DeploymentId,
|
|
202
|
+
type LikeC4ViewId,
|
|
203
|
+
type LikeC4Tag,
|
|
204
|
+
type LikeC4ElementKind,
|
|
205
|
+
type LikeC4ViewData,
|
|
206
|
+
type LikeC4ViewProps,
|
|
207
|
+
type ReactLikeC4Props,
|
|
208
|
+
type LikeC4Model,
|
|
209
|
+
isLikeC4ViewId,
|
|
210
|
+
useLikeC4Model,
|
|
211
|
+
useLikeC4View,
|
|
212
|
+
useLikeC4ViewModel,
|
|
213
|
+
likeC4Model,
|
|
214
|
+
LikeC4Views,
|
|
215
|
+
LikeC4ModelProvider,
|
|
216
|
+
LikeC4View,
|
|
217
|
+
RenderIcon,
|
|
218
|
+
ReactLikeC4
|
|
219
|
+
}
|
|
220
|
+
/* prettier-ignore-end */
|
|
221
|
+
`.trimStart()}function yo(i){const e=new ce;return e.appendTemplate`
|
|
110
222
|
/******************************************************************************
|
|
111
223
|
* This file was generated
|
|
112
224
|
* DO NOT EDIT MANUALLY!
|
|
@@ -115,9 +227,9 @@ ${F.join(`
|
|
|
115
227
|
|
|
116
228
|
export function d2Source(viewId) {
|
|
117
229
|
switch (viewId) {
|
|
118
|
-
`.appendNewLine().indent({indentation:4,indentedChildren(t){t.append(
|
|
230
|
+
`.appendNewLine().indent({indentation:4,indentedChildren(t){t.append(Ie(i,n=>et`
|
|
119
231
|
case ${JSON.stringify(n.id)}: {
|
|
120
|
-
return ${JSON.stringify(
|
|
232
|
+
return ${JSON.stringify(_r(n))}
|
|
121
233
|
}
|
|
122
234
|
`,{appendNewLineIfNotEmpty:!0})).appendTemplate`
|
|
123
235
|
default: {
|
|
@@ -125,7 +237,7 @@ ${F.join(`
|
|
|
125
237
|
}
|
|
126
238
|
`}}).append(G," }",G).appendTemplate`
|
|
127
239
|
}
|
|
128
|
-
`.append(G,G),
|
|
240
|
+
`.append(G,G),tt(e)}function vo(i){const e=new ce;return e.appendTemplate`
|
|
129
241
|
/******************************************************************************
|
|
130
242
|
* This file was generated
|
|
131
243
|
* DO NOT EDIT MANUALLY!
|
|
@@ -134,7 +246,7 @@ ${F.join(`
|
|
|
134
246
|
|
|
135
247
|
export function dotSource(viewId) {
|
|
136
248
|
switch (viewId) {
|
|
137
|
-
`.appendNewLine().indent({indentation:4,indentedChildren(t){t.append(
|
|
249
|
+
`.appendNewLine().indent({indentation:4,indentedChildren(t){t.append(Ie(Object.keys(i),n=>et`
|
|
138
250
|
case ${JSON.stringify(n)}: {
|
|
139
251
|
return ${JSON.stringify(i[n].dot)}
|
|
140
252
|
}
|
|
@@ -147,7 +259,7 @@ ${F.join(`
|
|
|
147
259
|
|
|
148
260
|
export function svgSource(viewId) {
|
|
149
261
|
switch (viewId) {
|
|
150
|
-
`.appendNewLine().indent({indentation:4,indentedChildren(t){t.append(
|
|
262
|
+
`.appendNewLine().indent({indentation:4,indentedChildren(t){t.append(Ie(Object.keys(i),n=>et`
|
|
151
263
|
case ${JSON.stringify(n)}: {
|
|
152
264
|
return ${JSON.stringify(i[n].svg)}
|
|
153
265
|
}
|
|
@@ -155,7 +267,7 @@ ${F.join(`
|
|
|
155
267
|
default: {
|
|
156
268
|
throw new Error('Unknown viewId: ' + viewId)
|
|
157
269
|
}
|
|
158
|
-
`}}).append(G," }",G,"}",G,G),
|
|
270
|
+
`}}).append(G," }",G,"}",G,G),tt(e)}function Bo(i){const e=Jr(i.flatMap(r=>r.nodes.map(s=>s.icon)),Ei(Qr),Ei(r=>bi(r)&&!r.toLowerCase().startsWith("http")),Kr()).sort(),{imports:t,cases:n}=e.reduce((r,s,u)=>{const[a,c]=s.split(":"),h="Icon"+u.toString().padStart(2,"0");return r.imports.push(`import ${h} from 'likec4/icons/${a}/${c}'`),r.cases.push(` '${a}:${c}': ${h}`),r},{imports:[],cases:[]});return`
|
|
159
271
|
${t.join(`
|
|
160
272
|
`)}
|
|
161
273
|
|
|
@@ -177,20 +289,20 @@ if (import.meta.hot) {
|
|
|
177
289
|
}
|
|
178
290
|
})
|
|
179
291
|
}
|
|
180
|
-
`}function
|
|
292
|
+
`}function Oo(i){const{views:e,...t}=i.$model;return`
|
|
181
293
|
import { nano, createLikeC4Model } from 'likec4/react'
|
|
182
294
|
|
|
183
|
-
// This is needed for
|
|
184
|
-
export let LikeC4Views = ${
|
|
295
|
+
// This is needed for better tree shaking
|
|
296
|
+
export let LikeC4Views = ${At.stringify(e)}
|
|
185
297
|
|
|
186
|
-
export let
|
|
187
|
-
${
|
|
298
|
+
export let likeC4Model = /* @__PURE__ */ createLikeC4Model(Object.assign(
|
|
299
|
+
${At.stringify(t)},
|
|
188
300
|
{views: LikeC4Views}
|
|
189
301
|
))
|
|
190
302
|
|
|
191
|
-
export let $likec4model = /* @__PURE__ */ nano.atom(
|
|
303
|
+
export let $likec4model = /* @__PURE__ */ nano.atom(likeC4Model)
|
|
192
304
|
|
|
193
|
-
export function
|
|
305
|
+
export function useLikeC4Model() {
|
|
194
306
|
return nano.useStore($likec4model)
|
|
195
307
|
}
|
|
196
308
|
|
|
@@ -207,7 +319,7 @@ if (import.meta.hot) {
|
|
|
207
319
|
}
|
|
208
320
|
})
|
|
209
321
|
}
|
|
210
|
-
`}function
|
|
322
|
+
`}function _o(i){const e=new ce;return e.appendTemplate`
|
|
211
323
|
/******************************************************************************
|
|
212
324
|
* This file was generated
|
|
213
325
|
* DO NOT EDIT MANUALLY!
|
|
@@ -216,9 +328,9 @@ if (import.meta.hot) {
|
|
|
216
328
|
|
|
217
329
|
export function mmdSource(viewId) {
|
|
218
330
|
switch (viewId) {
|
|
219
|
-
`.appendNewLine().indent({indentation:4,indentedChildren(t){t.append(
|
|
331
|
+
`.appendNewLine().indent({indentation:4,indentedChildren(t){t.append(Ie(i,n=>et`
|
|
220
332
|
case ${JSON.stringify(n.id)}: {
|
|
221
|
-
return ${JSON.stringify(
|
|
333
|
+
return ${JSON.stringify(Sr(n))}
|
|
222
334
|
}
|
|
223
335
|
`,{appendNewLineIfNotEmpty:!0})).appendTemplate`
|
|
224
336
|
default: {
|
|
@@ -227,10 +339,10 @@ if (import.meta.hot) {
|
|
|
227
339
|
`}}).append(G," }",G).appendTemplate`
|
|
228
340
|
}
|
|
229
341
|
|
|
230
|
-
`.append(G,G),
|
|
342
|
+
`.append(G,G),tt(e)}function jr(i){return`
|
|
231
343
|
import { nano } from 'likec4/react'
|
|
232
344
|
|
|
233
|
-
export const $graph = nano.atom(${
|
|
345
|
+
export const $graph = nano.atom(${At.stringify(i,null,2)})
|
|
234
346
|
|
|
235
347
|
export const useOverviewGraph = () => {
|
|
236
348
|
return nano.useStore($graph)
|
|
@@ -249,7 +361,7 @@ if (import.meta.hot) {
|
|
|
249
361
|
}
|
|
250
362
|
})
|
|
251
363
|
}
|
|
252
|
-
`}function
|
|
364
|
+
`}function So(i,e){const{imports:t,cases:n}=i.reduce((r,{id:s},u)=>{const a=Q(e,`${s}.png`);if(!Ke(a))return r;const c="Png"+u.toString().padStart(2,"0");return r.imports.push(`import ${c} from 'likec4/previews/${s}.png'`),r.cases.push(` ${JSON.stringify(s)}: ${c}`),r},{imports:[],cases:[]});return`
|
|
253
365
|
import { nano } from 'likec4/react'
|
|
254
366
|
// assets dir: ${e}
|
|
255
367
|
|
|
@@ -291,7 +403,7 @@ if (import.meta.hot) {
|
|
|
291
403
|
}
|
|
292
404
|
})
|
|
293
405
|
}
|
|
294
|
-
`}const
|
|
406
|
+
`}const Io={id:"virtual:likec4/dot-sources",virtualId:"\0likec4-plugin/dot-sources.js",async load({likec4:i,logger:e}){e.info(A.dim("generating virtual:likec4/dot-sources"));const t=await i.viewsService.viewsAsGraphvizOut(),n=Zr(t,({id:r,svg:s,dot:u})=>[r,{dot:u,svg:s}]);return vo(n)}},$o={id:"virtual:likec4/d2-sources",virtualId:"\0likec4-plugin/d2-sources.js",async load({likec4:i,logger:e}){e.info(A.dim("generating virtual:likec4/d2-sources"));const t=await i.viewsService.computedViews();return yo(t)}},xo={id:"virtual:likec4/mmd-sources",virtualId:"\0likec4-plugin/mmd-sources.js",async load({likec4:i,logger:e}){e.info(A.dim("generating virtual:likec4/mmd-sources"));const t=await i.viewsService.computedViews();return _o(t)}},jo={id:"virtual:likec4/icons",virtualId:"\0likec4-plugin/icons.js",async load({likec4:i,logger:e}){e.info(A.dim("generating virtual:likec4/icons"));const t=await i.viewsService.computedViews();return Bo(t)}},Lo={id:"virtual:likec4/overview-graph",virtualId:"\0likec4-plugin/overview-graph.js",async load({likec4:i,logger:e,useOverviewGraph:t}){if(t===!0)try{e.info(A.dim("generating virtual:likec4/overview-graph"));const n=await i.viewsService.overviewGraph();return jr(n)}catch(n){e.error(n)}return e.info(A.dim("generating empty virtual:likec4/overview-graph")),jr({nodes:[],edges:[],bounds:{x:0,y:0,width:10,height:10}})}},Lr={id:"virtual:likec4/previews",virtualId:"\0likec4-plugin/previews.js",async load({likec4:i,logger:e,assetsDir:t}){e.info(A.dim("generating virtual:likec4/previews"));const n=await i.viewsService.computedViews();return So(n,t)}},Po={id:"virtual:likec4/model",virtualId:"\0likec4-plugin/model.js",async load({likec4:i,logger:e,assetsDir:t}){e.info(A.dim("generating virtual:likec4/model"));const n=await i.layoutedModel();return Oo(n)}},oi=[jo,Io,$o,xo,Lo,Lr,Po],No=i=>{const e=i.toLowerCase();return e.endsWith(".c4")||e.endsWith(".likec4")||e.endsWith(".like-c4")};function ai({useOverviewGraph:i=!1,languageServices:e}){let t,n=e.workspace;return{name:"vite-plugin-likec4",configResolved(r){if(t=r.logger,i){const s=r.resolve.alias.find(u=>u.find==="likec4/previews")?.replacement;s?(n=s,t.info(A.dim("likec4/previews alias")+" "+A.dim(n))):t.warn("likec4/previews alias not found")}},resolveId(r){const s=oi.find(u=>u.id===r);return s?s.virtualId:null},async load(r){const s=oi.find(u=>u.virtualId===r);return s?await s.load({logger:t,likec4:e,assetsDir:n,useOverviewGraph:i}):null},configureServer(r){const s=Xr(1),u=()=>{s.clearQueue(),s(async()=>{const[h]=e.getErrors();if(h){r.ws.send({type:"error",err:{name:"LikeC4ValidationError",message:"Validation error: "+h.message.slice(0,500),stack:"",plugin:"vite-plugin-likec4",loc:{file:h.sourceFsPath,line:h.range.start.line+1,column:h.range.start.character+1}}});return}for(const l of oi){const f=r.moduleGraph.getModuleById(l.virtualId);if(f&&f.importers.size>0){t.info(`${A.green("trigger hmr")} ${A.dim(f.url)}`);try{await r.reloadModule(f)}catch(p){t.error(p)}}}})},a=e.workspace;t.info(`${A.dim("watch")} ${a}`);const c=h=>l=>{No(l)&&e.notifyUpdate({[h]:l})};if(r.watcher.add(a).on("add",c("changed")).on("change",c("changed")).on("unlink",c("removed")),i&&!n.startsWith(e.workspace)){t.info(`${A.dim("watch")} ${n}`);const h=()=>{const l=r.moduleGraph.getModuleById(Lr.virtualId);l&&l.importers.size>0&&r.reloadModule(l)};r.watcher.add(n).on("add",h).on("change",h).on("unlink",h)}e.onModelUpdate(()=>{me.debug("likec4 model update"),u()})}}}const ci=bt(ys(import.meta.url)),Mo=`
|
|
295
407
|
/* prettier-ignore-start */
|
|
296
408
|
/* eslint-disable */
|
|
297
409
|
|
|
@@ -300,136 +412,55 @@ if (import.meta.hot) {
|
|
|
300
412
|
* DO NOT EDIT MANUALLY!
|
|
301
413
|
******************************************************************************/
|
|
302
414
|
|
|
303
|
-
`.trimStart(),
|
|
415
|
+
`.trimStart(),ko=`
|
|
304
416
|
|
|
305
417
|
/* prettier-ignore-end */
|
|
306
|
-
`,
|
|
418
|
+
`,li={banner:Mo,footer:ko};function fi(){const i=[Q(ci,"../__app__"),Q(ci,"../../__app__"),Q(ci,"../../dist/__app__")],e=es(i,Ke);if(!e)throw me.error(`likec4 app root does not exist, tried:
|
|
307
419
|
${i.join(`
|
|
308
|
-
`)}`),new Error("likec4 app root does not exist");return e}async function
|
|
309
|
-
`),i}const
|
|
310
|
-
`+"".padEnd(9," ")),
|
|
420
|
+
`)}`),new Error("likec4 app root does not exist");return e}async function di(){const i=await Zt(It(en(),".likec4-public-"));return await ot(It(i,"likec4-views.js"),`// generated by likec4
|
|
421
|
+
`),i}const hi=1e4,pi=async({languageServices:i,likec4AssetsDir:e,...t})=>{const n=t.customLogger??Le("c4:vite"),r=fi(),s=t?.useOverviewGraph===!0;n.info(`${A.cyan("likec4 app root")} ${A.dim(r)}`);const u=t.outputDir??Q(i.workspace,"dist");n.info(A.cyan("output")+" "+A.dim(u));let a="/";t.base&&(a=ts(t.base),!ns(a)&&a!=="./"&&(a=is(a))),a!=="/"&&n.info(`${A.green("app base url")} ${A.dim(a)}`);const c=t.webcomponentPrefix??"likec4";return{isDev:!1,likec4AssetsDir:e,webcomponentPrefix:c,root:r,languageServices:i,clearScreen:!1,base:a,resolve:{alias:{"likec4/previews":e}},configFile:!1,mode:"production",optimizeDeps:{include:["likec4/react","react","react-dom","react/jsx-runtime","react/jsx-dev-runtime","react-dom/client"],force:!0},define:{WEBCOMPONENT_PREFIX:JSON.stringify(c),__USE_STYLE_BUNDLE__:"false",__USE_OVERVIEW_GRAPH__:s?"true":"false",__USE_HASH_HISTORY__:t?.useHashHistory===!0?"true":"false","process.env.NODE_ENV":'"production"'},build:{outDir:u,modulePreload:!1,emptyOutDir:!1,cssCodeSplit:!1,sourcemap:!1,cssMinify:!0,minify:!0,copyPublicDir:!0,chunkSizeWarningLimit:hi,commonjsOptions:{defaultIsModuleExports:h=>h.includes("react")?!0:"auto"},rollupOptions:{treeshake:{preset:"recommended"},output:{hoistTransitiveImports:!1,compact:!0}}},customLogger:n,plugins:[ai({languageServices:i,useOverviewGraph:s})]}};async function mi({languageServices:i,outDir:e,base:t,webcomponentPrefix:n="likec4",filename:r="likec4-views.js"}){const s=Le("c4:lib"),u=fi();return s.info(A.cyan("outDir")+" "+A.dim(e)),{root:u,clearScreen:!1,base:t,configFile:!1,publicDir:!1,mode:"production",define:{WEBCOMPONENT_PREFIX:JSON.stringify(n),"process.env.NODE_ENV":'"production"'},esbuild:{...li},build:{outDir:e,emptyOutDir:!1,sourcemap:!1,minify:!0,assetsInlineLimit:100*1024,chunkSizeWarningLimit:hi,lib:{entry:"webcomponent/webcomponent.js",fileName(a,c){return r},formats:["iife"],name:"LikeC4Views"},commonjsOptions:{defaultIsModuleExports:a=>a.includes("react")?!0:"auto",requireReturnsDefault:"auto"},rollupOptions:{treeshake:{preset:"recommended"},output:{format:"iife",hoistTransitiveImports:!1,compact:!0}}},customLogger:s,plugins:[ai({languageServices:i,useOverviewGraph:!1})]}}const To=["favicon.ico","robots.txt"],Ro=async({buildWebcomponent:i=!0,webcomponentPrefix:e="likec4",languageServices:t,likec4AssetsDir:n,...r})=>{n??=await Zt(It(en(),".likec4-assets-"));const{isDev:s,...u}=await pi({...r,languageServices:t,likec4AssetsDir:n,webcomponentPrefix:e}),a=await di();for(const l of To){const f=Q(u.root,l);Ke(f)&&$i(f,Q(a,l))}const c=await t.diagrams();if(c.length===0)throw process.exitCode=1,new Error("no views found");if(c.forEach(l=>{l.hasLayoutDrift&&u.customLogger.warn(A.yellow("drift detected, manual layout can not be applied, view:")+" "+A.red(l.id))}),i){const l=await mi({webcomponentPrefix:e,languageServices:t,outDir:a,base:u.base});await xt(l)}await xt({...u,publicDir:a,mode:"production"});const h=Q(u.build.outDir,"index.html");Ke(h)&&$i(h,Q(u.build.outDir,"404.html"))};function Pr(i){if(i.resolvedUrls)return Fi(i.resolvedUrls.network)??Fi(i.resolvedUrls.local)}function Nr(i){if(!i.resolvedUrls)throw new Error("Vite server is not ready, no resolvedUrls");me.box([A.green("LikeC4 served at:"),"",A.dim("Local: ")+i.resolvedUrls.local.join(`
|
|
422
|
+
`+"".padEnd(9," ")),A.dim("Network: ")+i.resolvedUrls.network.join(`
|
|
311
423
|
`+"".padEnd(9," "))].join(`
|
|
312
|
-
`))}class
|
|
313
|
-
`+w)),C<s&&(h.push({view:
|
|
314
|
-
`),await
|
|
315
|
-
|
|
316
|
-
|
|
317
|
-
|
|
318
|
-
|
|
319
|
-
|
|
320
|
-
|
|
321
|
-
|
|
322
|
-
|
|
323
|
-
|
|
324
|
-
|
|
325
|
-
|
|
326
|
-
|
|
327
|
-
|
|
328
|
-
|
|
329
|
-
|
|
330
|
-
|
|
331
|
-
|
|
332
|
-
|
|
333
|
-
|
|
334
|
-
type LikeC4ViewId =
|
|
335
|
-
${C}
|
|
336
|
-
|
|
337
|
-
type LikeC4ElementKind =
|
|
338
|
-
${w}
|
|
339
|
-
|
|
340
|
-
type LikeC4Tag =
|
|
341
|
-
${F}
|
|
342
|
-
|
|
343
|
-
type LikeC4ViewData = ViewData<LikeC4ViewId>
|
|
344
|
-
|
|
345
|
-
/**
|
|
346
|
-
* @deprecated alias, use LikeC4ViewData instead
|
|
347
|
-
*/
|
|
348
|
-
type LikeC4DiagramView = LikeC4ViewData
|
|
349
|
-
|
|
350
|
-
declare const LikeC4Views: {
|
|
351
|
-
readonly [K in LikeC4ViewId]: LikeC4ViewData
|
|
352
|
-
};
|
|
353
|
-
type LikeC4ViewsData = typeof LikeC4Views;
|
|
354
|
-
declare function isLikeC4ViewId(value: unknown): value is LikeC4ViewId;
|
|
355
|
-
|
|
356
|
-
declare const likeC4Model: LikeC4Model.Layouted;
|
|
357
|
-
declare function useLikeC4Model(): LikeC4Model.Layouted;
|
|
358
|
-
declare function useLikeC4View(viewId: LikeC4ViewId): LikeC4ViewData;
|
|
359
|
-
declare function useLikeC4ViewModel(viewId: LikeC4ViewId): LikeC4Model.Layouted.ViewModel;
|
|
360
|
-
|
|
361
|
-
declare function LikeC4ModelProvider(props: PropsWithChildren): JSX.Element;
|
|
362
|
-
|
|
363
|
-
type IconRendererProps = {
|
|
364
|
-
node: {
|
|
365
|
-
id: string
|
|
366
|
-
title: string
|
|
367
|
-
icon?: string | undefined
|
|
368
|
-
}
|
|
369
|
-
}
|
|
370
|
-
declare function RenderIcon(props: IconRendererProps): JSX.Element;
|
|
371
|
-
|
|
372
|
-
type LikeC4ViewProps = GenericLikeC4ViewProps<LikeC4ViewId, LikeC4Tag, LikeC4ElementKind>;
|
|
373
|
-
declare function LikeC4View({viewId, ...props}: LikeC4ViewProps): JSX.Element;
|
|
374
|
-
|
|
375
|
-
type ReactLikeC4Props =
|
|
376
|
-
& Omit<GenericReactLikeC4Props<LikeC4ViewId, LikeC4Tag, LikeC4ElementKind>, 'view' | 'renderIcon'>
|
|
377
|
-
& {
|
|
378
|
-
viewId: LikeC4ViewId
|
|
379
|
-
};
|
|
380
|
-
declare function ReactLikeC4({viewId, ...props}: ReactLikeC4Props): JSX.Element;
|
|
381
|
-
|
|
382
|
-
export {
|
|
383
|
-
type LikeC4ViewId,
|
|
384
|
-
type LikeC4Tag,
|
|
385
|
-
type LikeC4ElementKind,
|
|
386
|
-
type LikeC4ViewData,
|
|
387
|
-
type LikeC4ViewsData,
|
|
388
|
-
type LikeC4DiagramView,
|
|
389
|
-
type LikeC4ViewProps,
|
|
390
|
-
type ReactLikeC4Props,
|
|
391
|
-
isLikeC4ViewId,
|
|
392
|
-
useLikeC4Model,
|
|
393
|
-
useLikeC4View,
|
|
394
|
-
useLikeC4ViewModel,
|
|
395
|
-
likeC4Model,
|
|
396
|
-
LikeC4Views,
|
|
397
|
-
LikeC4ModelProvider,
|
|
398
|
-
LikeC4View,
|
|
399
|
-
RenderIcon,
|
|
400
|
-
ReactLikeC4
|
|
401
|
-
}
|
|
402
|
-
/* prettier-ignore-end */
|
|
403
|
-
`.trimStart()),De.box({message:bi(`
|
|
404
|
-
${b.dim("Source generated:")}
|
|
405
|
-
${wt(hi(),a)}
|
|
406
|
-
|
|
407
|
-
${b.dim("How to use:")}
|
|
408
|
-
${b.underline("https://likec4.dev/tooling/codegen/#react")}
|
|
409
|
-
`).trim(),style:{padding:2,borderColor:"green",borderStyle:"rounded"}}),r.stopAndLog()}async function Ko({path:i,useDotBin:e,webcomponentPrefix:t="likec4",outfile:n}){const r=ke("c4:codegen"),s=Jt(r),u=await qe.fromWorkspace(i,{logger:"vite",graphviz:e?"binary":"wasm"});r.info(`${b.dim("format")} ${b.green("webcomponent")}`);const a=await u.diagrams();if(!Fi(a,1))throw r.warn("no views found"),process.exitCode=1,new Error("no views found");a.forEach(F=>{F.hasLayoutDrift&&r.warn(b.yellow("drift detected, manual layout can not be applied, view:")+" "+b.red(F.id))});let c=Q(u.workspace,"likec4-views.js");if(n&&(c=_i(n)?n:Q(n),rt(n)&&(await xi(n)).isDirectory()))throw new Error(`output file is a directory: ${n}`);De.debug(`${b.dim("outfilepath")} ${c}`);const h=On(c);De.debug(`${b.dim("filename")} ${h}`);const l=Kt(h).toLocaleLowerCase();if(l!==".js"&&l!==".mjs")throw De.warn(`output file ${n} has extension "${l}"`),new Error(`output file ${n} must be a .js or .mjs`);const f=await oi();De.debug(`${b.dim("created temp public")} ${f}`);const m=await li({languageServices:u,outDir:f,filename:h,webcomponentPrefix:t,base:"/"});De.debug(`${b.dim("vite build webcomponent")}`),await It({...m,logLevel:"warn"});const C=Q(f,h);if(!rt(C))throw new Error(`output file not found: ${C}`);await Je(_t(c),{recursive:!0}),await As(C,c),r.info(`${b.dim("generated")} ${c}`),De.debug(`${b.dim("remove temp public")}`),await Es(f,{recursive:!0,force:!0}),De.box(bi(`
|
|
410
|
-
${b.dim("Webcomponents generated to:")}
|
|
411
|
-
${wt(hi(),c)}
|
|
412
|
-
|
|
413
|
-
${b.dim("Setup and usage instructions:")}
|
|
414
|
-
${b.blue("https://likec4.dev/tooling/codegen/#webcomponent")}
|
|
415
|
-
`)),s.stopAndLog()}const Qo={command:"codegen <command> [path]",aliases:["generate","gen"],describe:"Generate various artifacts from LikeC4 sources",builder:i=>i.positional("path",hn).command("react [path]","generate react component to render likec4 view",e=>e.option("outfile",{alias:"o",type:"string",desc:"<file> path to output file (.jsx, .mjs or .js)",normalize:!0,coerce:je}).option("use-dot",We),async e=>{await Jo({useDotBin:e.useDotBin,path:e.path,outfile:e.outfile})}).command({command:"webcomponent [path]",aliases:["wc","webcomp"],describe:"generate js with webcomponents",builder:e=>e.option("outfile",{alias:"o",type:"string",desc:"<file> path to output file (.mjs or .js)",normalize:!0,coerce:je}).option("webcomponent-prefix",Gn).option("use-dot",We),handler:async e=>{await Ko({useDotBin:e.useDotBin,path:e.path,outfile:e.outfile,webcomponentPrefix:e.webcomponentPrefix})}}).command({command:"views-data [path]",aliases:["ts","views"],describe:"generate likec4 views data (.ts)",builder:e=>e.option("outfile",{alias:"o",type:"string",desc:"<file> output .ts file",normalize:!0,coerce:je}).option("use-dot",We),handler:async e=>{await bn({format:"views",path:e.path,useDotBin:e.useDotBin,outfile:e.outfile})}}).command({command:"dot [path]",describe:"generate graphviz files (.dot)",builder:e=>e.option("outdir",pn).option("use-dot",We),handler:async e=>{await bn({format:"dot",path:e.path,useDotBin:e.useDotBin,outdir:e.outdir})}}).command({command:"d2 [path]",describe:"generate D2 files (.d2)",builder:e=>e.option("outdir",pn).option("use-dot",We),handler:async e=>{await bn({format:"d2",path:e.path,useDotBin:e.useDotBin,outdir:e.outdir})}}).command({command:"mermaid [path]",aliases:["mmd"],describe:"generate Mermaid files (.mmd)",builder:e=>e.option("outdir",pn).option("use-dot",We),handler:async e=>{await bn({format:"mermaid",useDotBin:e.useDotBin,path:e.path,outdir:e.outdir})}}).epilog(`${b.bold("Examples:")}
|
|
424
|
+
`))}class Mr extends Error{constructor(e){super(`${e} is locked`)}}const _t={old:new Set,young:new Set},Wo=1e3*15,En=1024,bn=65535;let Jt;const Uo=()=>{const i=Fs.networkInterfaces(),e=new Set([void 0,"0.0.0.0"]);for(const t of Object.values(i))for(const n of t)e.add(n.address);return e},kr=i=>new Promise((e,t)=>{const n=Os.createServer();n.unref(),n.on("error",t),n.listen(i,()=>{const{port:r}=n.address();n.close(()=>{e(r)})})}),Tr=async(i,e)=>{if(i.host||i.port===0)return kr(i);for(const t of e)try{await kr({port:i.port,host:t})}catch(n){if(!["EADDRNOTAVAIL","EINVAL"].includes(n.code))throw n}return i.port},Vo=function*(i){i&&(yield*i),yield 0};async function gi(i){let e,t=new Set;if(i&&(i.port&&(e=typeof i.port=="number"?[i.port]:i.port),i.exclude)){const r=i.exclude;if(typeof r[Symbol.iterator]!="function")throw new TypeError("The `exclude` option must be an iterable.");for(const s of r){if(typeof s!="number")throw new TypeError("Each item in the `exclude` option must be a number corresponding to the port you want excluded.");if(!Number.isSafeInteger(s))throw new TypeError(`Number ${s} in the exclude option is not a safe integer and can't be used`)}t=new Set(r)}Jt===void 0&&(Jt=setTimeout(()=>{Jt=void 0,_t.old=_t.young,_t.young=new Set},Wo),Jt.unref&&Jt.unref());const n=Uo();for(const r of Vo(e))try{if(t.has(r))continue;let s=await Tr({...i,port:r},n);for(;_t.old.has(s)||_t.young.has(s);){if(r!==0)throw new Mr(r);s=await Tr({...i,port:r},n)}return _t.young.add(s),s}catch(s){if(!["EADDRINUSE","EACCES"].includes(s.code)&&!(s instanceof Mr))throw s}throw new Error("No available ports found")}function Fn(i,e){if(!Number.isInteger(i)||!Number.isInteger(e))throw new TypeError("`from` and `to` must be integer numbers");if(i<En||i>bn)throw new RangeError(`'from' must be between ${En} and ${bn}`);if(e<En||e>bn)throw new RangeError(`'to' must be between ${En} and ${bn}`);if(i>e)throw new RangeError("`to` must be greater than or equal to `from`");return function*(n,r){for(let s=n;s<=r;s++)yield s}(i,e)}async function Rr({buildWebcomponent:i=!0,hmr:e=!0,webcomponentPrefix:t="likec4",languageServices:n,likec4AssetsDir:r,openBrowser:s,...u}){r??=await Zt(It(en(),".likec4-assets-"));const{isDev:a,...c}=await pi({...u,languageServices:n,likec4AssetsDir:r,webcomponentPrefix:t}),h=await gi({port:[5173,...Fn(61e3,61010),...Fn(62002,62010)]}),l=await gi({port:Fn(24678,24690)}),f=await di();let p;if(i){const F=await mi({webcomponentPrefix:t,languageServices:n,outDir:f,base:c.base});p=xt({...F,logLevel:"warn"}).catch(w=>(me.warn("webcomponent build failed",w),me.warn("Ignoring error and continuing"),Promise.resolve()))}const C=await vs({...c,define:Object.assign({},c.define,e&&{"process.env.NODE_ENV":'"development"'}),mode:e?"development":c.mode,publicDir:f,server:{host:"0.0.0.0",port:h,hmr:e&&{overlay:!0,port:l},fs:{strict:!1},open:s??!a}});return await C.listen(),p&&await p,C}async function zo({browserContext:i,views:e,output:t,logger:n,timeout:r,maxAttempts:s,outputType:u,theme:a}){let c;const h=e.map(p=>({view:p,attempt:1})),l=[];let f;for(;f=h.shift();){const{view:p,attempt:C}=f,F=`/export/${encodeURIComponent(p.id)}`;try{if(C>1){c&&(c.close({runBeforeUnload:!0}).catch(R=>n.error(`failed to close page: ${R}`)),c=void 0);const S=yi(C*200,{min:200,max:1e3});n.info(A.cyan(F)+A.dim(` attempt ${C} of ${s} after ${S}ms`)),await _s(S)}else p.hasLayoutDrift&&n.warn(A.yellow("Drift detected, manual layout can not be applied, view may be invalid: ")+A.red(p.id)),n.info(A.cyan(F));c??=await i.newPage(),await c.setViewportSize({width:p.bounds.width+20*2,height:p.bounds.height+20*2}),await c.goto(F+`?padding=20&theme=${a}`);const w=c.getByRole("presentation");await w.waitFor(),p.nodes.some(S=>bi(S.icon)&&S.icon.toLowerCase().startsWith("http"))&&await Ho(c,r);let m=".";u==="relative"&&(m=p.relativePath??".",m.includes("/")?m=m.slice(0,m.lastIndexOf("/")):m=".");const y=Q(t,m,`${p.id}.png`);await w.screenshot({path:y,omitBackground:!0}),l.push({view:p,path:y})}catch(w){c?.close({runBeforeUnload:!0}).catch(m=>n.error(`failed to close page: ${m}`)),n.error(A.red("failed "+F+`
|
|
425
|
+
`+w)),C<s&&(h.push({view:p,attempt:C+1}),n.info(A.dim(`retry ${F}`))),c=void 0}}return l}async function Ho(i,e){let t=await i.locator("//img").all();if(!t.length)return;const n=t.map(r=>r.evaluate(s=>s.complete||new Promise((u,a)=>{s.onload=u,s.onerror=a}),{timeout:Math.max(3e4,e)}));await Promise.allSettled(n)}async function Wr({logger:i,serverUrl:e,theme:t="light",timeoutMs:n=15e3,views:r,output:s,outputType:u="relative",maxAttempts:a=3}){i.info(`${A.cyan("export output")} ${A.dim(s)}`),i.info(`${A.cyan("from server")} ${A.dim(e)}`);const c=ji.executablePath();i.info(A.cyan("Start chromium")),i.info(A.dim(c));const h=await ji.launch();i.info(A.cyan("Color scheme: ")+t);const l=await h.newContext({deviceScaleFactor:2,colorScheme:t,baseURL:e,ignoreHTTPSErrors:!0,reducedMotion:"reduce",isMobile:!1});l.setDefaultNavigationTimeout(n),l.setDefaultTimeout(n);try{return await zo({browserContext:l,views:r,output:s,outputType:u,logger:i,maxAttempts:a,timeout:n,theme:t})}finally{i.info(A.cyan("close chromium")),await l.close(),await h.close()}}async function Ur({path:i,useDotBin:e,theme:t="light",output:n,outputType:r,serverUrl:s,ignore:u=!1,timeoutMs:a=1e4,maxAttempts:c=3}){const h=Le("c4:export"),l=os(),f=await ze.fromWorkspace(i,{logger:"vite",graphviz:e?"binary":"wasm"});n??=f.workspace;const p=await f.diagrams();if(!rs(p,1))throw h.warn("no views found"),new Error("no views found");let C;if(!s&&(h.info(A.cyan("start preview server")),C=await Rr({languageServices:f,buildWebcomponent:!1,openBrowser:!1,useOverviewGraph:!1,hmr:!1}),s=Pr(C),!s))throw h.error("Vite server is not ready, no resolvedUrls"),new Error("Vite server is not ready, no resolvedUrls");try{const F=await Wr({logger:h,serverUrl:s,theme:t,timeoutMs:a,views:p,output:n,outputType:r,maxAttempts:c}),{pretty:w}=ss(l);if(F.length>0&&h.info(A.green(`exported ${F.length} views in ${w}`)),F.length!==p.length&&(u&&F.length>0?h.info(A.dim("ignore")+" "+A.red(`failed ${p.length-F.length} out of ${p.length} views`)):h.error(A.red(`failed ${p.length-F.length} out of ${p.length} views`))),F.length!==p.length&&(F.length===0||!u))throw new Error(`Failed ${p.length-F.length} out of ${p.length} views`)}finally{C&&(h.info(A.cyan("stop server")),await C.close().catch(F=>{h.error(F)}))}}const{cyan:Vr,dim:zr}=A;async function Go({path:i,useDotBin:e,useHashHistory:t,webcomponentPrefix:n,useOverview:r=!1,output:s,base:u}){const a=Le("c4:build"),c=await ze.fromWorkspace(i,{graphviz:e?"binary":"wasm",logger:"vite"}),h=s??Q(c.workspace,"dist");let l=Q(h,"assets");if(r)try{l=Q(h,"assets","previews"),await He(l,{recursive:!0}),a.info(`${Vr("Generate previews")} ${zr(l)}
|
|
426
|
+
`),await Ur({path:i,useDotBin:e,output:l,outputType:"flat",ignore:!0})}catch(f){a.error(A.red("Failed to generate previews")),a.error(f),a.warn(A.yellow("Ignore previews and continue build")),xi(l,{recursive:!0,force:!0}),r=!1}await Ro({base:u,useHashHistory:t,customLogger:a,useOverviewGraph:r,webcomponentPrefix:n,languageServices:c,likec4AssetsDir:l,outputDir:s}),r&&(a.info(`${Vr("clean previews")} ${zr(l)}`),xi(l,{recursive:!0,force:!0}))}const Yo={command:"build [path]",aliases:["bundle"],describe:"Build a static website",builder:i=>i.positional("path",mn).option("output",{alias:"o",type:"string",desc:"output directory for production build",normalize:!0,coerce:Q}).option("base",Cr).option("use-hash-history",Dr).option("use-dot",ke).option("webcomponent-prefix",Qn).option("use-overview",wr).example(`${A.green("$0 build -o ./build ./src")}`,A.gray("Search for likec4 files in 'src' and output static site to 'build'")),handler:async i=>{await Go({path:i.path,output:i.output,base:i.base,useHashHistory:i["use-hash-history"],useDotBin:i["use-dot"],useOverview:i["use-overview"]??!1,webcomponentPrefix:i["webcomponent-prefix"]})}};async function qo(i,e,t){const n=".ts";e=e??Q(i.workspace,"likec4.generated"+n),$t(e)!==n&&(e=e+n),await He(bt(e),{recursive:!0});const r=await i.diagrams(),s=bo([...r]);await ot(e,s),t.info(`${A.dim("generated")} ${ut(process.cwd(),e)}`)}async function Jo(i,e,t){await He(e,{recursive:!0}),t.info(`${A.dim("format")} ${A.green("dot")}`),t.info(`${A.dim("outdir")} ${e}`);const n=new Set,r=await i.viewsService.layoutViews();let s=0;for(const{diagram:u,dot:a}of r)try{const c=u.relativePath??"";c!==""&&!n.has(c)&&(await He(Q(e,c),{recursive:!0}),n.add(c));const h=Q(e,c,u.id+".dot");Bn(a,`dot for ${u.id} not found`),await ot(h,a),t.info(`${A.dim("generated")} ${ut(process.cwd(),h)}`),s++}catch(c){t.error(`error while generating ${u.id}`,{error:c})}s>0&&t.info(`${A.dim("total")} ${s} files`)}async function Ko(i,e,t,n){await He(t,{recursive:!0}),n.info(`${A.dim("format")} ${A.green(e)}`),n.info(`${A.dim("outdir")} ${t}`);let r,s;switch(e){case"d2":r=".d2",s=_r;break;case"mermaid":r=".mmd",s=Sr;break;default:vi(e)}const u=new Set,a=await i.diagrams();let c=0;for(const h of a)try{let l=h.relativePath??".";l.includes("/")?l=l.slice(0,l.lastIndexOf("/")):l=".",l!==""&&!u.has(l)&&(await He(Q(t,l),{recursive:!0}),u.add(l));const f=Q(t,l,h.id+r),p=s(h);await ot(f,p),n.info(`${A.dim("generated")} ${ut(process.cwd(),f)}`),c++}catch(l){n.error(`error while generating ${h.id}`,{error:l})}c>0&&n.info(`${A.dim("total")} ${c} files`)}async function yn({path:i,useDotBin:e,...t}){const n=Le("c4:codegen"),r=St(n),s=await ze.fromWorkspace(i,{logger:"vite",graphviz:e?"binary":"wasm"});if((await s.viewsService.computedViews()).length===0)throw n.warn("no views found"),process.exitCode=1,new Error("no views found");switch(t.format){case"views":{await qo(s,t.outfile,n);break}case"dot":{await Jo(s,t.outdir??i,n);break}case"d2":case"mermaid":{await Ko(s,t.format,t.outdir??i,n);break}default:vi(t)}r.stopAndLog()}async function Qo({path:i,useDotBin:e,outfile:t}){const n=Le("c4:codegen"),r=St(n),s=await ze.fromWorkspace(i,{logger:"vite",graphviz:e?"binary":"wasm"});n.info(`${A.dim("format")} ${A.green("model")}`);const u=await s.layoutedModel();for(const f of u.views())f.$view.hasLayoutDrift&&n.warn(A.yellow("drift detected, manual layout can not be applied, view:")+" "+A.red(f.id));let a=Q(s.workspace,"likec4-model.ts");if(t&&(a=_n(t)?t:Q(t),Ke(t)&&(await xn(t)).isDirectory()))throw new Error(`output file is a directory: ${t}`);const c=Xt(a);n.info(`${A.dim("filename")} ${c}`);const h=$t(c).toLocaleLowerCase();if(![".ts",".mts",".cts"].includes(h))throw n.error(`output file ${t} has extension "${h}"`),new Error(`output file ${t} must be a .ts, .mts or .cts file`);const l=bt(a);n.info(`${A.dim("outdir")} ${l}`),await He(l,{recursive:!0}),await ot(a,Ao(u),{encoding:"utf-8"}),me.box({message:On(`
|
|
427
|
+
${A.dim("Source with LikeC4Model generated:")}
|
|
428
|
+
${ut(Sn(),a)}
|
|
429
|
+
|
|
430
|
+
${A.dim("How to use:")}
|
|
431
|
+
${A.underline("https://likec4.dev/tooling/code-generation/model/")}
|
|
432
|
+
`).trim(),style:{padding:2,borderColor:"green",borderStyle:"rounded"}}),r.stopAndLog()}async function Xo({languageServices:i,outDir:e,filename:t="likec4-react.mjs"}){const n=Le("c4:react"),r=fi();return n.info(`${A.cyan("likec4 app root")} ${A.dim(r)}`),n.info(A.cyan("outDir")+" "+A.dim(e)),{customLogger:n,root:r,configFile:!1,clearScreen:!1,publicDir:!1,mode:"production",esbuild:{banner:`'use client'
|
|
433
|
+
`+li.banner,footer:li.footer,jsx:"transform",jsxDev:!1,jsxSideEffects:!1,minifyIdentifiers:!1,minifySyntax:!1,minifyWhitespace:!1,tsconfigRaw:{compilerOptions:{target:"ES2022",useDefineForClassFields:!0,verbatimModuleSyntax:!0,jsx:"react-jsx"}}},build:{outDir:e,emptyOutDir:!1,sourcemap:!1,minify:!1,target:"es2022",copyPublicDir:!1,chunkSizeWarningLimit:hi,lib:{entry:"react/likec4.tsx",fileName(s,u){return t},formats:["es"]},rollupOptions:{output:{compact:!1,exports:"named"},external:["likec4/react","react","react-dom","react/jsx-runtime","react/jsx-dev-runtime","react-dom/client",/likec4\/icons\/.*/],onwarn(s,u){s.code!=="SOURCEMAP_ERROR"&&u(s)}}},plugins:[Ss({}),ai({languageServices:i,useOverviewGraph:!1})]}}async function Zo({path:i,useDotBin:e,outfile:t}){const n=Le("c4:codegen"),r=St(n),s=await ze.fromWorkspace(i,{logger:"vite",graphviz:e?"binary":"wasm"});n.info(`${A.dim("format")} ${A.green("react")}`);const u=await s.diagrams();if(u.length===0)throw process.exitCode=1,new Error("no views found");u.forEach(C=>{C.hasLayoutDrift&&n.warn(A.yellow("drift detected, manual layout can not be applied, view:")+" "+A.red(C.id))});let a=Q(s.workspace,"likec4-views.js");if(t&&(a=_n(t)?t:Q(t),Ke(t)&&(await xn(t)).isDirectory()))throw new Error(`output file is a directory: ${t}`);const c=bt(a);n.info(`${A.dim("outdir")} ${c}`);const h=Xt(a);n.info(`${A.dim("filename")} ${h}`);const l=$t(h).toLocaleLowerCase();if(![".js",".mjs",".jsx"].includes(l))throw n.error(`output file ${t} has extension "${l}"`),new Error(`output file ${t} must be a .js, .jsx or .mjs`);const f=await Xo({languageServices:s,outDir:c,filename:h});await xt({...f,logLevel:"warn"});const p=await s.layoutedModel();await ot(Q(c,Xt(a,l)+(l===".mjs"?".d.mts":".d.ts")),Fo(p)),me.box({message:On(`
|
|
434
|
+
${A.dim("Source generated:")}
|
|
435
|
+
${ut(Sn(),a)}
|
|
436
|
+
|
|
437
|
+
${A.dim("How to use:")}
|
|
438
|
+
${A.underline("https://likec4.dev/tooling/code-generation/react/")}
|
|
439
|
+
`).trim(),style:{padding:2,borderColor:"green",borderStyle:"rounded"}}),r.stopAndLog()}async function ea({path:i,useDotBin:e,webcomponentPrefix:t="likec4",outfile:n}){const r=Le("c4:codegen"),s=St(r),u=await ze.fromWorkspace(i,{logger:"vite",graphviz:e?"binary":"wasm"});r.info(`${A.dim("format")} ${A.green("webcomponent")}`);const a=await u.diagrams();if(!Bi(a,1))throw r.warn("no views found"),process.exitCode=1,new Error("no views found");a.forEach(F=>{F.hasLayoutDrift&&r.warn(A.yellow("drift detected, manual layout can not be applied, view:")+" "+A.red(F.id))});let c=Q(u.workspace,"likec4-views.js");if(n&&(c=_n(n)?n:Q(n),Ke(n)&&(await xn(n)).isDirectory()))throw new Error(`output file is a directory: ${n}`);me.debug(`${A.dim("outfilepath")} ${c}`);const h=Xt(c);me.debug(`${A.dim("filename")} ${h}`);const l=$t(h).toLocaleLowerCase();if(l!==".js"&&l!==".mjs")throw me.warn(`output file ${n} has extension "${l}"`),new Error(`output file ${n} must be a .js or .mjs`);const f=await di();me.debug(`${A.dim("created temp public")} ${f}`);const p=await mi({languageServices:u,outDir:f,filename:h,webcomponentPrefix:t,base:"/"});me.debug(`${A.dim("vite build webcomponent")}`),await xt({...p,logLevel:"warn"});const C=Q(f,h);if(!Ke(C))throw new Error(`output file not found: ${C}`);await He(bt(c),{recursive:!0}),await Es(C,c),r.info(`${A.dim("generated")} ${c}`),me.debug(`${A.dim("remove temp public")}`),await bs(f,{recursive:!0,force:!0}),me.box(On(`
|
|
440
|
+
${A.dim("Webcomponents generated to:")}
|
|
441
|
+
${ut(Sn(),c)}
|
|
442
|
+
|
|
443
|
+
${A.dim("Setup and usage instructions:")}
|
|
444
|
+
${A.blue("https://likec4.dev/tooling/code-generation/webcomponent/")}
|
|
445
|
+
`)),s.stopAndLog()}const ta={command:"codegen <command> [path]",aliases:["generate","gen"],describe:"Generate various artifacts from LikeC4 sources",builder:i=>i.positional("path",mn).command("react [path]","generate react component to render likec4 view",e=>e.option("outfile",{alias:"o",type:"string",desc:"<file> path to output file (.jsx, .mjs or .js)",normalize:!0,coerce:ve}).option("use-dot",ke),async e=>{await Zo({useDotBin:e.useDotBin,path:e.path,outfile:e.outfile})}).command({command:"webcomponent [path]",aliases:["wc","webcomp"],describe:"generate js with webcomponents",builder:e=>e.option("outfile",{alias:"o",type:"string",desc:"<file> path to output file (.mjs or .js)",normalize:!0,coerce:ve}).option("webcomponent-prefix",Qn).option("use-dot",ke),handler:async e=>{await ea({useDotBin:e.useDotBin,path:e.path,outfile:e.outfile,webcomponentPrefix:e.webcomponentPrefix})}}).command({command:"model [path]",aliases:["ts"],describe:"generate LikeC4Model (.ts)",builder:e=>e.option("outfile",{alias:"o",type:"string",desc:"<file> path to output file (.ts)",normalize:!0,coerce:ve}).option("use-dot",ke),handler:async e=>{await Qo({path:e.path,useDotBin:e.useDotBin,outfile:e.outfile})}}).command({command:"views-data [path]",aliases:["views"],describe:"generate likec4 views data (.ts)",builder:e=>e.option("outfile",{alias:"o",type:"string",desc:"<file> output .ts file",normalize:!0,coerce:ve}).option("use-dot",ke),handler:async e=>{await yn({format:"views",path:e.path,useDotBin:e.useDotBin,outfile:e.outfile})}}).command({command:"dot [path]",describe:"generate graphviz files (.dot)",builder:e=>e.option("outdir",gn).option("use-dot",ke),handler:async e=>{await yn({format:"dot",path:e.path,useDotBin:e.useDotBin,outdir:e.outdir})}}).command({command:"d2 [path]",describe:"generate D2 files (.d2)",builder:e=>e.option("outdir",gn).option("use-dot",ke),handler:async e=>{await yn({format:"d2",path:e.path,useDotBin:e.useDotBin,outdir:e.outdir})}}).command({command:"mermaid [path]",aliases:["mmd"],describe:"generate Mermaid files (.mmd)",builder:e=>e.option("outdir",gn).option("use-dot",ke),handler:async e=>{await yn({format:"mermaid",useDotBin:e.useDotBin,path:e.path,outdir:e.outdir})}}).epilog(`${A.bold("Examples:")}
|
|
416
446
|
likec4 gen react -o dist/likec4-views.mjs ./src/likec4
|
|
447
|
+
likec4 gen model -o likec4-model.ts
|
|
417
448
|
likec4 gen webcomponent -o likec4.js --webcomponent-prefix c4 --use-dot-bin ./src
|
|
418
449
|
likec4 gen views-data -o ./src/likec4-data.ts
|
|
419
450
|
likec4 gen ts --outfile ../likec4.ts
|
|
420
451
|
likec4 gen mmd --outdir assets/
|
|
421
452
|
likec4 gen dot -o out .
|
|
422
|
-
`),handler:()=>{}};async function
|
|
423
|
-
${
|
|
424
|
-
${
|
|
425
|
-
|
|
426
|
-
${
|
|
427
|
-
${
|
|
428
|
-
`),handler:async e=>{
|
|
429
|
-
${
|
|
430
|
-
${
|
|
431
|
-
|
|
432
|
-
${
|
|
433
|
-
${
|
|
434
|
-
`),handler:async e=>{await
|
|
435
|
-
if not specified search in current directory`,normalize:!0}).options({output:{alias:"o",type:"string",desc:"output directory from production build",normalize:!0},base:{type:"string",desc:"base url the app is being served from"}}).coerce(["path","output"],
|
|
453
|
+
`),handler:()=>{}};async function na({path:i,useDotBin:e,outfile:t}){const n=Le("c4:export"),r=St(n),s=await(await ze.fromWorkspace(i,{logger:"vite",graphviz:e?"binary":"wasm"})).layoutedModel();$t(t)!==".json"&&(t=t+".json"),await He(bt(t),{recursive:!0});const u=JSON.stringify(s.$model,null,2);await ot(t,u),n.info(`${A.dim("generated")} ${ut(process.cwd(),t)}`),r.stopAndLog("\u2713 export in ")}const ia={command:"export <format> [path]",describe:"Export to images or JSON",builder:i=>i.usage(`${A.bold("Usage:")} $0 export <format> [path]`).positional("path",mn).command({command:"png [path]",describe:"export views to PNG",builder:e=>e.option("output",gn).option("theme",{choices:["light","dark"],desc:"color-scheme to use, default is light"}).option("flat",{boolean:!0,type:"boolean",desc:"ignore sources structure and export all PNGs in output directory"}).option("use-dot",ke).options({ignore:{boolean:!0,alias:"i",desc:"continue if some views failed to export"},timeout:{type:"number",alias:"t",desc:"(sec) timeout for playwright ",default:10},"max-attempts":{type:"number",describe:"",desc:"(number) max attempts to export failing view",default:3},"server-url":{type:"string",desc:"use this url instead of starting new likec4 server"}}).epilog(`${A.bold("Examples:")}
|
|
454
|
+
${A.green("$0 export png")}
|
|
455
|
+
${A.gray("Search for likec4 files in current directory and output PNG next to sources")}
|
|
456
|
+
|
|
457
|
+
${A.green("$0 export png --theme dark -o ./png src/likec4 ")}
|
|
458
|
+
${A.gray("Search for likec4 files in src/likec4 and output PNG with dark theme to png folder")}
|
|
459
|
+
`),handler:async e=>{Bn(e.timeout>=1,"timeout must be >= 1"),Bn(e["max-attempts"]>=1,"max-attempts must be >= 1"),await Ur({path:e.path,useDotBin:e.useDotBin,output:e.output,timeoutMs:e.timeout*1e3,maxAttempts:e.maxAttempts,ignore:e.ignore===!0,outputType:e.flat?"flat":"relative",serverUrl:e.serverUrl,theme:e.theme??"light"})}}).command({command:"json [path]",describe:"export model to JSON",builder:e=>e.option("outfile",{alias:"o",type:"string",desc:"<file> output .json file",default:"likec4.json",normalize:!0,coerce:Q}).option("use-dot",ke).epilog(`${A.bold("Examples:")}
|
|
460
|
+
${A.green("$0 export json")}
|
|
461
|
+
${A.gray("Search for likec4 files in current directory and output JSON to likec4.json")}
|
|
462
|
+
|
|
463
|
+
${A.green("$0 export json -o ./generated/likec4.json src/likec4 ")}
|
|
464
|
+
${A.gray("Search for likec4 files in src/likec4 and output JSON to generated/likec4.json")}
|
|
465
|
+
`),handler:async e=>{await na({path:e.path,useDotBin:e.useDotBin,outfile:e.outfile})}}).updateStrings({"Commands:":A.bold("Formats:")}),handler:()=>{}};async function ra(i){const{isDev:e,...t}=await pi({...i,likec4AssetsDir:"",webcomponentPrefix:void 0}),n=await gi({port:Fn(62001,62010)}),r=i?.open??!1;return await Bs({...t,mode:"production",preview:{host:"0.0.0.0",port:n,open:r}})}async function sa({path:i,output:e,base:t}){const n=await ze.fromWorkspace(i,{logger:"vite"}),r=await ra({base:t,languageServices:n,outputDir:e,open:!0});Nr(r)}const ua={command:"preview [path]",describe:"Start local server to preview production build",builder:i=>i.positional("path",{type:"string",desc:`Directory with LikeC4 source files
|
|
466
|
+
if not specified search in current directory`,normalize:!0}).options({output:{alias:"o",type:"string",desc:"output directory from production build",normalize:!0},base:{type:"string",desc:"base url the app is being served from"}}).coerce(["path","output"],ve).default("path",ve("."),"."),async handler(i){await sa(i)}};async function oa({path:i,useDotBin:e,webcomponentPrefix:t,useHashHistory:n,useOverview:r=!1,base:s}){const u=await ze.fromWorkspace(i,{logger:"vite",graphviz:e?"binary":"wasm"}),a=await Zt(It(en(),".likec4-assets-")),c=await Rr({buildWebcomponent:!1,hmr:!0,base:s,webcomponentPrefix:t,languageServices:u,useHashHistory:n,useOverviewGraph:r,likec4AssetsDir:a});if(c.config.logger.clearScreen("info"),Nr(c),!r)return;const h=await u.diagrams();if(Bi(h,1)){const l=Le("c4:export"),f=Pr(c);if(!f){l.error("no preview server url");return}l.info(A.cyan("wait 5sec before generating previews")),await Oi(5e3);try{await Wr({serverUrl:f,logger:l,views:h,theme:"light",output:a,outputType:"flat"}),await Oi(1e3),l.info(A.yellow("Note: changes in sources do not trigger preview updates, restart is required"))}catch(p){l.error(A.red("Failed to generate previews")),l.error(p)}}else c.config.logger.warn("no views found, no previews generated")}const aa={command:"start [path]",aliases:["serve","dev"],describe:"Start local dev server to preview LikeC4 views",builder:i=>i.positional("path",mn).option("base",Cr).option("webcomponent-prefix",Qn).option("use-hash-history",Dr).option("use-overview",wr).option("use-dot",ke),handler:async i=>{await oa({path:i.path,useDotBin:i["use-dot"],base:i.base,useOverview:i["use-overview"]??!1,webcomponentPrefix:i["webcomponent-prefix"],useHashHistory:i["use-hash-history"]})}};me.level=_i.debug,process.env.NODE_ENV==="development"&&(me.level=_i.trace,me.warn("running cli in dev mode"));const ca=Iu(Js(ls)).scriptName("likec4").usage("Usage: $0 <command>").command(aa).command(Yo).command(ta).command(ia).command(ua).help("help").version(us.version).alias("v","version").alias("h","help").demandCommand(1,"Please run with valid command").strict().recommendCommands().showHelpOnFail(!0,"Something is wrong, run with --help").updateStrings({"Options:":A.bold("Options:"),"Positionals:":A.bold("Arguments:"),"Commands:":A.bold("Commands:"),"Examples:":A.bold("Examples:")}).wrap(yi(as.columns-20,{min:80,max:120})).parseAsync();ca.catch(()=>cs(1)),process.on("unhandledRejection",i=>{me.error(i)});
|