flins 0.1.12 → 0.1.13
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/index.js +2 -2
- package/package.json +1 -1
package/dist/index.js
CHANGED
|
@@ -24,7 +24,7 @@ Expecting one of '${F.join("', '")}'`);if(this._lifeCycleHooks[D])this._lifeCycl
|
|
|
24
24
|
`),this.outputHelp({error:!0});let F=u||{},E=F.exitCode||1,C=F.code||"commander.error";this._exit(E,C,D)}_parseOptionsEnv(){this.options.forEach((D)=>{if(D.envVar&&D.envVar in a.env){let u=D.attributeName();if(this.getOptionValue(u)===void 0||["default","config","env"].includes(this.getOptionValueSource(u)))if(D.required||D.optional)this.emit(`optionEnv:${D.name()}`,a.env[D.envVar]);else this.emit(`optionEnv:${D.name()}`)}})}_parseOptionsImplied(){let D=new Q5(this.options),u=(F)=>{return this.getOptionValue(F)!==void 0&&!["default","implied"].includes(this.getOptionValueSource(F))};this.options.filter((F)=>F.implied!==void 0&&u(F.attributeName())&&D.valueFromOption(this.getOptionValue(F.attributeName()),F)).forEach((F)=>{Object.keys(F.implied).filter((E)=>!u(E)).forEach((E)=>{this.setOptionValueWithSource(E,F.implied[E],"implied")})})}missingArgument(D){let u=`error: missing required argument '${D}'`;this.error(u,{code:"commander.missingArgument"})}optionMissingArgument(D){let u=`error: option '${D.flags}' argument missing`;this.error(u,{code:"commander.optionMissingArgument"})}missingMandatoryOptionValue(D){let u=`error: required option '${D.flags}' not specified`;this.error(u,{code:"commander.missingMandatoryOptionValue"})}_conflictingOption(D,u){let F=(B)=>{let A=B.attributeName(),I=this.getOptionValue(A),Y=this.options.find((J)=>J.negate&&A===J.attributeName()),Z=this.options.find((J)=>!J.negate&&A===J.attributeName());if(Y&&(Y.presetArg===void 0&&I===!1||Y.presetArg!==void 0&&I===Y.presetArg))return Y;return Z||B},E=(B)=>{let A=F(B),I=A.attributeName();if(this.getOptionValueSource(I)==="env")return`environment variable '${A.envVar}'`;return`option '${A.flags}'`},C=`error: ${E(D)} cannot be used with ${E(u)}`;this.error(C,{code:"commander.conflictingOption"})}unknownOption(D){if(this._allowUnknownOption)return;let u="";if(D.startsWith("--")&&this._showSuggestionAfterError){let E=[],C=this;do{let B=C.createHelp().visibleOptions(C).filter((A)=>A.long).map((A)=>A.long);E=E.concat(B),C=C.parent}while(C&&!C._enablePositionalOptions);u=N8(D,E)}let F=`error: unknown option '${D}'${u}`;this.error(F,{code:"commander.unknownOption"})}_excessArguments(D){if(this._allowExcessArguments)return;let u=this.registeredArguments.length,F=u===1?"":"s",C=`error: too many arguments${this.parent?` for '${this.name()}'`:""}. Expected ${u} argument${F} but got ${D.length}.`;this.error(C,{code:"commander.excessArguments"})}unknownCommand(){let D=this.args[0],u="";if(this._showSuggestionAfterError){let E=[];this.createHelp().visibleCommands(this).forEach((C)=>{if(E.push(C.name()),C.alias())E.push(C.alias())}),u=N8(D,E)}let F=`error: unknown command '${D}'${u}`;this.error(F,{code:"commander.unknownCommand"})}version(D,u,F){if(D===void 0)return this._version;this._version=D,u=u||"-V, --version",F=F||"output the version number";let E=this.createOption(u,F);return this._versionOptionName=E.attributeName(),this._registerOption(E),this.on("option:"+E.name(),()=>{this._outputConfiguration.writeOut(`${D}
|
|
25
25
|
`),this._exit(0,"commander.version",D)}),this}description(D,u){if(D===void 0&&u===void 0)return this._description;if(this._description=D,u)this._argsDescription=u;return this}summary(D){if(D===void 0)return this._summary;return this._summary=D,this}alias(D){if(D===void 0)return this._aliases[0];let u=this;if(this.commands.length!==0&&this.commands[this.commands.length-1]._executableHandler)u=this.commands[this.commands.length-1];if(D===u._name)throw Error("Command alias can't be the same as its name");let F=this.parent?._findCommand(D);if(F){let E=[F.name()].concat(F.aliases()).join("|");throw Error(`cannot add alias '${D}' to command '${this.name()}' as already have command '${E}'`)}return u._aliases.push(D),this}aliases(D){if(D===void 0)return this._aliases;return D.forEach((u)=>this.alias(u)),this}usage(D){if(D===void 0){if(this._usage)return this._usage;let u=this.registeredArguments.map((F)=>{return U5(F)});return[].concat(this.options.length||this._helpOption!==null?"[options]":[],this.commands.length?"[command]":[],this.registeredArguments.length?u:[]).join(" ")}return this._usage=D,this}name(D){if(D===void 0)return this._name;return this._name=D,this}helpGroup(D){if(D===void 0)return this._helpGroupHeading??"";return this._helpGroupHeading=D,this}commandsGroup(D){if(D===void 0)return this._defaultCommandGroup??"";return this._defaultCommandGroup=D,this}optionsGroup(D){if(D===void 0)return this._defaultOptionGroup??"";return this._defaultOptionGroup=D,this}_initOptionGroup(D){if(this._defaultOptionGroup&&!D.helpGroupHeading)D.helpGroup(this._defaultOptionGroup)}_initCommandGroup(D){if(this._defaultCommandGroup&&!D.helpGroup())D.helpGroup(this._defaultCommandGroup)}nameFromFilename(D){return this._name=iD.basename(D,iD.extname(D)),this}executableDir(D){if(D===void 0)return this._executableDir;return this._executableDir=D,this}helpInformation(D){let u=this.createHelp(),F=this._getOutputContext(D);u.prepareContext({error:F.error,helpWidth:F.helpWidth,outputHasColors:F.hasColors});let E=u.formatHelp(this,u);if(F.hasColors)return E;return this._outputConfiguration.stripColor(E)}_getOutputContext(D){D=D||{};let u=!!D.error,F,E,C;if(u)F=(A)=>this._outputConfiguration.writeErr(A),E=this._outputConfiguration.getErrHasColors(),C=this._outputConfiguration.getErrHelpWidth();else F=(A)=>this._outputConfiguration.writeOut(A),E=this._outputConfiguration.getOutHasColors(),C=this._outputConfiguration.getOutHelpWidth();return{error:u,write:(A)=>{if(!E)A=this._outputConfiguration.stripColor(A);return F(A)},hasColors:E,helpWidth:C}}outputHelp(D){let u;if(typeof D==="function")u=D,D=void 0;let F=this._getOutputContext(D),E={error:F.error,write:F.write,command:this};this._getCommandAndAncestors().reverse().forEach((B)=>B.emit("beforeAllHelp",E)),this.emit("beforeHelp",E);let C=this.helpInformation({error:F.error});if(u){if(C=u(C),typeof C!=="string"&&!Buffer.isBuffer(C))throw Error("outputHelp callback must return a string or a Buffer")}if(F.write(C),this._getHelpOption()?.long)this.emit(this._getHelpOption().long);this.emit("afterHelp",E),this._getCommandAndAncestors().forEach((B)=>B.emit("afterAllHelp",E))}helpOption(D,u){if(typeof D==="boolean"){if(D){if(this._helpOption===null)this._helpOption=void 0;if(this._defaultOptionGroup)this._initOptionGroup(this._getHelpOption())}else this._helpOption=null;return this}if(this._helpOption=this.createOption(D??"-h, --help",u??"display help for command"),D||u)this._initOptionGroup(this._helpOption);return this}_getHelpOption(){if(this._helpOption===void 0)this.helpOption(void 0,void 0);return this._helpOption}addHelpOption(D){return this._helpOption=D,this._initOptionGroup(D),this}help(D){this.outputHelp(D);let u=Number(a.exitCode??0);if(u===0&&D&&typeof D!=="function"&&D.error)u=1;this._exit(u,"commander.help","(outputHelp)")}addHelpText(D,u){let F=["beforeAll","before","after","afterAll"];if(!F.includes(D))throw Error(`Unexpected value for position to addHelpText.
|
|
26
26
|
Expecting one of '${F.join("', '")}'`);let E=`${D}Help`;return this.on(E,(C)=>{let B;if(typeof u==="function")B=u({error:C.error,command:C.command});else B=u;if(B)C.write(`${B}
|
|
27
|
-
`)}),this}_outputHelpIfRequested(D){let u=this._getHelpOption();if(u&&D.find((E)=>u.is(E)))this.outputHelp(),this._exit(0,"commander.helpDisplayed","(outputHelp)")}}function R8(D){return D.map((u)=>{if(!u.startsWith("--inspect"))return u;let F,E="127.0.0.1",C="9229",B;if((B=u.match(/^(--inspect(-brk)?)$/))!==null)F=B[1];else if((B=u.match(/^(--inspect(-brk|-port)?)=([^:]+)$/))!==null)if(F=B[1],/^\d+$/.test(B[3]))C=B[3];else E=B[3];else if((B=u.match(/^(--inspect(-brk|-port)?)=([^:]+):(\d+)$/))!==null)F=B[1],E=B[3],C=B[4];if(F&&C!=="0")return`${F}=${E}:${parseInt(C)+1}`;return u})}function c2(){if(a.env.NO_COLOR||a.env.FORCE_COLOR==="0"||a.env.FORCE_COLOR==="false")return!1;if(a.env.FORCE_COLOR||a.env.CLICOLOR_FORCE!==void 0)return!0;return}z5.Command=m2;z5.useColor=c2});var P8=N((w5)=>{var{Argument:W8}=r0(),{Command:l2}=w8(),{CommanderError:N5,InvalidArgumentError:V8}=F0(),{Help:R5}=k2(),{Option:M8}=v2();w5.program=new l2;w5.createCommand=(D)=>new l2(D);w5.createOption=(D,u)=>new M8(D,u);w5.createArgument=(D,u)=>new W8(D,u);w5.Command=l2;w5.Option=M8;w5.Argument=W8;w5.Help=R5;w5.CommanderError=N5;w5.InvalidArgumentError=V8;w5.InvalidOptionArgumentError=V8});var xu;var s0=e(()=>{xu={name:"flins",version:"0.1.
|
|
27
|
+
`)}),this}_outputHelpIfRequested(D){let u=this._getHelpOption();if(u&&D.find((E)=>u.is(E)))this.outputHelp(),this._exit(0,"commander.helpDisplayed","(outputHelp)")}}function R8(D){return D.map((u)=>{if(!u.startsWith("--inspect"))return u;let F,E="127.0.0.1",C="9229",B;if((B=u.match(/^(--inspect(-brk)?)$/))!==null)F=B[1];else if((B=u.match(/^(--inspect(-brk|-port)?)=([^:]+)$/))!==null)if(F=B[1],/^\d+$/.test(B[3]))C=B[3];else E=B[3];else if((B=u.match(/^(--inspect(-brk|-port)?)=([^:]+):(\d+)$/))!==null)F=B[1],E=B[3],C=B[4];if(F&&C!=="0")return`${F}=${E}:${parseInt(C)+1}`;return u})}function c2(){if(a.env.NO_COLOR||a.env.FORCE_COLOR==="0"||a.env.FORCE_COLOR==="false")return!1;if(a.env.FORCE_COLOR||a.env.CLICOLOR_FORCE!==void 0)return!0;return}z5.Command=m2;z5.useColor=c2});var P8=N((w5)=>{var{Argument:W8}=r0(),{Command:l2}=w8(),{CommanderError:N5,InvalidArgumentError:V8}=F0(),{Help:R5}=k2(),{Option:M8}=v2();w5.program=new l2;w5.createCommand=(D)=>new l2(D);w5.createOption=(D,u)=>new M8(D,u);w5.createArgument=(D,u)=>new W8(D,u);w5.Command=l2;w5.Option=M8;w5.Argument=W8;w5.Help=R5;w5.CommanderError=N5;w5.InvalidArgumentError=V8;w5.InvalidOptionArgumentError=V8});var xu;var s0=e(()=>{xu={name:"flins",version:"0.1.13",description:"Universal skill installer for AI coding agents - Claude, Cursor, Copilot, and more",keywords:["agent-skills","ai-agents","claude","cli","coding-assistant","copilot","cursor","github-copilot","skills"],homepage:"https://github.com/flinstech/flins#readme",bugs:{url:"https://github.com/flinstech/flins/issues"},license:"MIT",author:"flins",repository:{type:"git",url:"git+https://github.com/flinstech/flins.git"},bin:{flins:"./dist/index.js"},files:["dist","README.md"],type:"module",module:"src/index.ts",scripts:{build:"bun build src/index.ts --outdir dist --target node --minify",dev:"bun src/index.ts",typecheck:"tsgo --noEmit",prepublishOnly:"bun run build",lint:"oxlint","lint:fix":"oxlint --fix",fmt:"oxfmt","fmt:check":"oxfmt --check"},dependencies:{"@clack/prompts":"^1.0.0-alpha.9",commander:"^14.0.2",picocolors:"^1.1.1","update-notifier":"^7.3.1"},devDependencies:{"@types/bun":"latest","@types/update-notifier":"^6.0.8","@typescript/native-preview":"catalog:","bun-types":"^1.3.6",oxfmt:"^0.24.0",oxlint:"^1.39.0"}}});var LD=N((KX,d2)=>{var t0=process||{},y8=t0.argv||[],o0=t0.env||{},g5=!(!!o0.NO_COLOR||y8.includes("--no-color"))&&(!!o0.FORCE_COLOR||y8.includes("--color")||t0.platform==="win32"||(t0.stdout||{}).isTTY&&o0.TERM!=="dumb"||!!o0.CI),c5=(D,u,F=D)=>(E)=>{let C=""+E,B=C.indexOf(u,D.length);return~B?D+m5(C,u,F,B)+u:D+C+u},m5=(D,u,F,E)=>{let C="",B=0;do C+=D.substring(B,E)+F,B=E+u.length,E=D.indexOf(u,B);while(~E);return C+D.substring(B)},x8=(D=g5)=>{let u=D?c5:()=>String;return{isColorSupported:D,reset:u("\x1B[0m","\x1B[0m"),bold:u("\x1B[1m","\x1B[22m","\x1B[22m\x1B[1m"),dim:u("\x1B[2m","\x1B[22m","\x1B[22m\x1B[2m"),italic:u("\x1B[3m","\x1B[23m"),underline:u("\x1B[4m","\x1B[24m"),inverse:u("\x1B[7m","\x1B[27m"),hidden:u("\x1B[8m","\x1B[28m"),strikethrough:u("\x1B[9m","\x1B[29m"),black:u("\x1B[30m","\x1B[39m"),red:u("\x1B[31m","\x1B[39m"),green:u("\x1B[32m","\x1B[39m"),yellow:u("\x1B[33m","\x1B[39m"),blue:u("\x1B[34m","\x1B[39m"),magenta:u("\x1B[35m","\x1B[39m"),cyan:u("\x1B[36m","\x1B[39m"),white:u("\x1B[37m","\x1B[39m"),gray:u("\x1B[90m","\x1B[39m"),bgBlack:u("\x1B[40m","\x1B[49m"),bgRed:u("\x1B[41m","\x1B[49m"),bgGreen:u("\x1B[42m","\x1B[49m"),bgYellow:u("\x1B[43m","\x1B[49m"),bgBlue:u("\x1B[44m","\x1B[49m"),bgMagenta:u("\x1B[45m","\x1B[49m"),bgCyan:u("\x1B[46m","\x1B[49m"),bgWhite:u("\x1B[47m","\x1B[49m"),blackBright:u("\x1B[90m","\x1B[39m"),redBright:u("\x1B[91m","\x1B[39m"),greenBright:u("\x1B[92m","\x1B[39m"),yellowBright:u("\x1B[93m","\x1B[39m"),blueBright:u("\x1B[94m","\x1B[39m"),magentaBright:u("\x1B[95m","\x1B[39m"),cyanBright:u("\x1B[96m","\x1B[39m"),whiteBright:u("\x1B[97m","\x1B[39m"),bgBlackBright:u("\x1B[100m","\x1B[49m"),bgRedBright:u("\x1B[101m","\x1B[49m"),bgGreenBright:u("\x1B[102m","\x1B[49m"),bgYellowBright:u("\x1B[103m","\x1B[49m"),bgBlueBright:u("\x1B[104m","\x1B[49m"),bgMagentaBright:u("\x1B[105m","\x1B[49m"),bgCyanBright:u("\x1B[106m","\x1B[49m"),bgWhiteBright:u("\x1B[107m","\x1B[49m")}};d2.exports=x8();d2.exports.createColors=x8});var i2=N((QX,f8)=>{var n2={to(D,u){if(!u)return`\x1B[${D+1}G`;return`\x1B[${u+1};${D+1}H`},move(D,u){let F="";if(D<0)F+=`\x1B[${-D}D`;else if(D>0)F+=`\x1B[${D}C`;if(u<0)F+=`\x1B[${-u}A`;else if(u>0)F+=`\x1B[${u}B`;return F},up:(D=1)=>`\x1B[${D}A`,down:(D=1)=>`\x1B[${D}B`,forward:(D=1)=>`\x1B[${D}C`,backward:(D=1)=>`\x1B[${D}D`,nextLine:(D=1)=>"\x1B[E".repeat(D),prevLine:(D=1)=>"\x1B[F".repeat(D),left:"\x1B[G",hide:"\x1B[?25l",show:"\x1B[?25h",save:"\x1B7",restore:"\x1B8"},l5={up:(D=1)=>"\x1B[S".repeat(D),down:(D=1)=>"\x1B[T".repeat(D)},d5={screen:"\x1B[2J",up:(D=1)=>"\x1B[1J".repeat(D),down:(D=1)=>"\x1B[J".repeat(D),line:"\x1B[2K",lineEnd:"\x1B[K",lineStart:"\x1B[1K",lines(D){let u="";for(let F=0;F<D;F++)u+=this.line+(F<D-1?n2.up():"");if(D)u+=n2.left;return u}};f8.exports={cursor:n2,scroll:l5,erase:d5,beep:"\x07"}});import{stdout as t2,stdin as g8}from"node:process";import*as tD from"node:readline";import n5 from"node:readline";import{ReadStream as b8}from"node:tty";function s2(D,u,F){return String(D).normalize().replaceAll(`\r
|
|
28
28
|
`,`
|
|
29
29
|
`).split(`
|
|
30
30
|
`).map((E)=>EA(E,u,F)).join(`
|
|
@@ -140,7 +140,7 @@ GFS4: `),console.error(D)};if(!BD[SD]){if(wE=global[SD]||[],QB(BD,wE),BD.close=f
|
|
|
140
140
|
`,E=u.whitespace?" = ":"=",C=[],B=u.sort?Object.keys(D).sort():Object.keys(D),A=0;if(u.align)A=oD(B.filter((Z)=>D[Z]===null||Array.isArray(D[Z])||typeof D[Z]!=="object").map((Z)=>Array.isArray(D[Z])?`${Z}[]`:Z).concat([""]).reduce((Z,J)=>oD(Z).length>=oD(J).length?Z:J)).length;let I="",Y=u.bracketedArray?"[]":"";for(let Z of B){let J=D[Z];if(J&&Array.isArray(J))for(let S of J)I+=oD(`${Z}${Y}`).padEnd(A," ")+E+oD(S)+F;else if(J&&typeof J==="object")C.push(Z);else I+=oD(Z).padEnd(A," ")+E+oD(J)+F}if(u.section&&I.length)I="["+oD(u.section)+"]"+(u.newline?F+F:F)+I;for(let Z of C){let J=v9(Z,".").join("\\."),S=(u.section?u.section+".":"")+J,H=tE(D[Z],{...u,section:S});if(I.length&&H.length)I+=F;I+=H}return I};function v9(D,u){var F=0,E=0,C=0,B=[];do if(C=D.indexOf(u,F),C!==-1){if(F=C+u.length,C>0&&D[C-1]==="\\")continue;B.push(D.slice(E,C)),E=C+u.length}while(C!==-1);return B.push(D.slice(E)),B}var k9=(D,u={})=>{u.bracketedArray=u.bracketedArray!==!1;let F=Object.create(null),E=F,C=null,B=/^\[([^\]]*)\]\s*$|^([^=]+)(=(.*))?$/i,A=D.split(/[\r\n]+/g),I={};for(let Z of A){if(!Z||Z.match(/^\s*[;#]/)||Z.match(/^\s*$/))continue;let J=Z.match(B);if(!J)continue;if(J[1]!==void 0){if(C=N2(J[1]),C==="__proto__"){E=Object.create(null);continue}E=F[C]=F[C]||Object.create(null);continue}let S=N2(J[2]),H;if(u.bracketedArray)H=S.length>2&&S.slice(-2)==="[]";else I[S]=(I?.[S]||0)+1,H=I[S]>1;let $=H?S.slice(0,-2):S;if($==="__proto__")continue;let X=J[3]?N2(J[4]):!0,G=X==="true"||X==="false"||X==="null"?JSON.parse(X):X;if(H){if(!oE.call(E,$))E[$]=[];else if(!Array.isArray(E[$]))E[$]=[E[$]]}if(Array.isArray(E[$]))E[$].push(G);else E[$]=G}let Y=[];for(let Z of Object.keys(F)){if(!oE.call(F,Z)||typeof F[Z]!=="object"||Array.isArray(F[Z]))continue;let J=v9(Z,".");E=F;let S=J.pop(),H=S.replace(/\\\./g,".");for(let $ of J){if($==="__proto__")continue;if(!oE.call(E,$)||typeof E[$]!=="object")E[$]=Object.create(null);E=E[$]}if(E===F&&H===S)continue;E[H]=F[Z],Y.push(Z)}for(let Z of Y)delete F[Z];return F},h9=(D)=>{return D.startsWith('"')&&D.endsWith('"')||D.startsWith("'")&&D.endsWith("'")},oD=(D)=>{if(typeof D!=="string"||D.match(/[=\r\n]/)||D.match(/^\[/)||D.length>1&&h9(D)||D!==D.trim())return JSON.stringify(D);return D.split(";").join("\\;").split("#").join("\\#")},N2=(D,u)=>{if(D=(D||"").trim(),h9(D)){if(D.charAt(0)==="'")D=D.slice(1,-1);try{D=JSON.parse(D)}catch{}}else{let F=!1,E="";for(let C=0,B=D.length;C<B;C++){let A=D.charAt(C);if(F){if("\\;#".indexOf(A)!==-1)E+=A;else E+="\\"+A;F=!1}else if(";#".indexOf(A)!==-1)break;else if(A==="\\")F=!0;else E+=A}if(F)E+="\\";return E.trim()}return D};g9.exports={parse:k9,decode:k9,stringify:tE,encode:tE,safe:oD,unsafe:N2}});var e9=N((yQ,t9)=>{t9.exports=()=>{return/[#*0-9]\uFE0F?\u20E3|[\xA9\xAE\u203C\u2049\u2122\u2139\u2194-\u2199\u21A9\u21AA\u231A\u231B\u2328\u23CF\u23ED-\u23EF\u23F1\u23F2\u23F8-\u23FA\u24C2\u25AA\u25AB\u25B6\u25C0\u25FB\u25FC\u25FE\u2600-\u2604\u260E\u2611\u2614\u2615\u2618\u2620\u2622\u2623\u2626\u262A\u262E\u262F\u2638-\u263A\u2640\u2642\u2648-\u2653\u265F\u2660\u2663\u2665\u2666\u2668\u267B\u267E\u267F\u2692\u2694-\u2697\u2699\u269B\u269C\u26A0\u26A7\u26AA\u26B0\u26B1\u26BD\u26BE\u26C4\u26C8\u26CF\u26D1\u26E9\u26F0-\u26F5\u26F7\u26F8\u26FA\u2702\u2708\u2709\u270F\u2712\u2714\u2716\u271D\u2721\u2733\u2734\u2744\u2747\u2757\u2763\u27A1\u2934\u2935\u2B05-\u2B07\u2B1B\u2B1C\u2B55\u3030\u303D\u3297\u3299]\uFE0F?|[\u261D\u270C\u270D](?:\uD83C[\uDFFB-\uDFFF]|\uFE0F)?|[\u270A\u270B](?:\uD83C[\uDFFB-\uDFFF])?|[\u23E9-\u23EC\u23F0\u23F3\u25FD\u2693\u26A1\u26AB\u26C5\u26CE\u26D4\u26EA\u26FD\u2705\u2728\u274C\u274E\u2753-\u2755\u2795-\u2797\u27B0\u27BF\u2B50]|\u26D3\uFE0F?(?:\u200D\uD83D\uDCA5)?|\u26F9(?:\uD83C[\uDFFB-\uDFFF]|\uFE0F)?(?:\u200D[\u2640\u2642]\uFE0F?)?|\u2764\uFE0F?(?:\u200D(?:\uD83D\uDD25|\uD83E\uDE79))?|\uD83C(?:[\uDC04\uDD70\uDD71\uDD7E\uDD7F\uDE02\uDE37\uDF21\uDF24-\uDF2C\uDF36\uDF7D\uDF96\uDF97\uDF99-\uDF9B\uDF9E\uDF9F\uDFCD\uDFCE\uDFD4-\uDFDF\uDFF5\uDFF7]\uFE0F?|[\uDF85\uDFC2\uDFC7](?:\uD83C[\uDFFB-\uDFFF])?|[\uDFC4\uDFCA](?:\uD83C[\uDFFB-\uDFFF])?(?:\u200D[\u2640\u2642]\uFE0F?)?|[\uDFCB\uDFCC](?:\uD83C[\uDFFB-\uDFFF]|\uFE0F)?(?:\u200D[\u2640\u2642]\uFE0F?)?|[\uDCCF\uDD8E\uDD91-\uDD9A\uDE01\uDE1A\uDE2F\uDE32-\uDE36\uDE38-\uDE3A\uDE50\uDE51\uDF00-\uDF20\uDF2D-\uDF35\uDF37-\uDF43\uDF45-\uDF4A\uDF4C-\uDF7C\uDF7E-\uDF84\uDF86-\uDF93\uDFA0-\uDFC1\uDFC5\uDFC6\uDFC8\uDFC9\uDFCF-\uDFD3\uDFE0-\uDFF0\uDFF8-\uDFFF]|\uDDE6\uD83C[\uDDE8-\uDDEC\uDDEE\uDDF1\uDDF2\uDDF4\uDDF6-\uDDFA\uDDFC\uDDFD\uDDFF]|\uDDE7\uD83C[\uDDE6\uDDE7\uDDE9-\uDDEF\uDDF1-\uDDF4\uDDF6-\uDDF9\uDDFB\uDDFC\uDDFE\uDDFF]|\uDDE8\uD83C[\uDDE6\uDDE8\uDDE9\uDDEB-\uDDEE\uDDF0-\uDDF7\uDDFA-\uDDFF]|\uDDE9\uD83C[\uDDEA\uDDEC\uDDEF\uDDF0\uDDF2\uDDF4\uDDFF]|\uDDEA\uD83C[\uDDE6\uDDE8\uDDEA\uDDEC\uDDED\uDDF7-\uDDFA]|\uDDEB\uD83C[\uDDEE-\uDDF0\uDDF2\uDDF4\uDDF7]|\uDDEC\uD83C[\uDDE6\uDDE7\uDDE9-\uDDEE\uDDF1-\uDDF3\uDDF5-\uDDFA\uDDFC\uDDFE]|\uDDED\uD83C[\uDDF0\uDDF2\uDDF3\uDDF7\uDDF9\uDDFA]|\uDDEE\uD83C[\uDDE8-\uDDEA\uDDF1-\uDDF4\uDDF6-\uDDF9]|\uDDEF\uD83C[\uDDEA\uDDF2\uDDF4\uDDF5]|\uDDF0\uD83C[\uDDEA\uDDEC-\uDDEE\uDDF2\uDDF3\uDDF5\uDDF7\uDDFC\uDDFE\uDDFF]|\uDDF1\uD83C[\uDDE6-\uDDE8\uDDEE\uDDF0\uDDF7-\uDDFB\uDDFE]|\uDDF2\uD83C[\uDDE6\uDDE8-\uDDED\uDDF0-\uDDFF]|\uDDF3\uD83C[\uDDE6\uDDE8\uDDEA-\uDDEC\uDDEE\uDDF1\uDDF4\uDDF5\uDDF7\uDDFA\uDDFF]|\uDDF4\uD83C\uDDF2|\uDDF5\uD83C[\uDDE6\uDDEA-\uDDED\uDDF0-\uDDF3\uDDF7-\uDDF9\uDDFC\uDDFE]|\uDDF6\uD83C\uDDE6|\uDDF7\uD83C[\uDDEA\uDDF4\uDDF8\uDDFA\uDDFC]|\uDDF8\uD83C[\uDDE6-\uDDEA\uDDEC-\uDDF4\uDDF7-\uDDF9\uDDFB\uDDFD-\uDDFF]|\uDDF9\uD83C[\uDDE6\uDDE8\uDDE9\uDDEB-\uDDED\uDDEF-\uDDF4\uDDF7\uDDF9\uDDFB\uDDFC\uDDFF]|\uDDFA\uD83C[\uDDE6\uDDEC\uDDF2\uDDF3\uDDF8\uDDFE\uDDFF]|\uDDFB\uD83C[\uDDE6\uDDE8\uDDEA\uDDEC\uDDEE\uDDF3\uDDFA]|\uDDFC\uD83C[\uDDEB\uDDF8]|\uDDFD\uD83C\uDDF0|\uDDFE\uD83C[\uDDEA\uDDF9]|\uDDFF\uD83C[\uDDE6\uDDF2\uDDFC]|\uDF44(?:\u200D\uD83D\uDFEB)?|\uDF4B(?:\u200D\uD83D\uDFE9)?|\uDFC3(?:\uD83C[\uDFFB-\uDFFF])?(?:\u200D(?:[\u2640\u2642]\uFE0F?(?:\u200D\u27A1\uFE0F?)?|\u27A1\uFE0F?))?|\uDFF3\uFE0F?(?:\u200D(?:\u26A7\uFE0F?|\uD83C\uDF08))?|\uDFF4(?:\u200D\u2620\uFE0F?|\uDB40\uDC67\uDB40\uDC62\uDB40(?:\uDC65\uDB40\uDC6E\uDB40\uDC67|\uDC73\uDB40\uDC63\uDB40\uDC74|\uDC77\uDB40\uDC6C\uDB40\uDC73)\uDB40\uDC7F)?)|\uD83D(?:[\uDC3F\uDCFD\uDD49\uDD4A\uDD6F\uDD70\uDD73\uDD76-\uDD79\uDD87\uDD8A-\uDD8D\uDDA5\uDDA8\uDDB1\uDDB2\uDDBC\uDDC2-\uDDC4\uDDD1-\uDDD3\uDDDC-\uDDDE\uDDE1\uDDE3\uDDE8\uDDEF\uDDF3\uDDFA\uDECB\uDECD-\uDECF\uDEE0-\uDEE5\uDEE9\uDEF0\uDEF3]\uFE0F?|[\uDC42\uDC43\uDC46-\uDC50\uDC66\uDC67\uDC6B-\uDC6D\uDC72\uDC74-\uDC76\uDC78\uDC7C\uDC83\uDC85\uDC8F\uDC91\uDCAA\uDD7A\uDD95\uDD96\uDE4C\uDE4F\uDEC0\uDECC](?:\uD83C[\uDFFB-\uDFFF])?|[\uDC6E-\uDC71\uDC73\uDC77\uDC81\uDC82\uDC86\uDC87\uDE45-\uDE47\uDE4B\uDE4D\uDE4E\uDEA3\uDEB4\uDEB5](?:\uD83C[\uDFFB-\uDFFF])?(?:\u200D[\u2640\u2642]\uFE0F?)?|[\uDD74\uDD90](?:\uD83C[\uDFFB-\uDFFF]|\uFE0F)?|[\uDC00-\uDC07\uDC09-\uDC14\uDC16-\uDC25\uDC27-\uDC3A\uDC3C-\uDC3E\uDC40\uDC44\uDC45\uDC51-\uDC65\uDC6A\uDC79-\uDC7B\uDC7D-\uDC80\uDC84\uDC88-\uDC8E\uDC90\uDC92-\uDCA9\uDCAB-\uDCFC\uDCFF-\uDD3D\uDD4B-\uDD4E\uDD50-\uDD67\uDDA4\uDDFB-\uDE2D\uDE2F-\uDE34\uDE37-\uDE41\uDE43\uDE44\uDE48-\uDE4A\uDE80-\uDEA2\uDEA4-\uDEB3\uDEB7-\uDEBF\uDEC1-\uDEC5\uDED0-\uDED2\uDED5-\uDED8\uDEDC-\uDEDF\uDEEB\uDEEC\uDEF4-\uDEFC\uDFE0-\uDFEB\uDFF0]|\uDC08(?:\u200D\u2B1B)?|\uDC15(?:\u200D\uD83E\uDDBA)?|\uDC26(?:\u200D(?:\u2B1B|\uD83D\uDD25))?|\uDC3B(?:\u200D\u2744\uFE0F?)?|\uDC41\uFE0F?(?:\u200D\uD83D\uDDE8\uFE0F?)?|\uDC68(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\u2764\uFE0F?\u200D\uD83D(?:\uDC8B\u200D\uD83D)?\uDC68|\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D(?:[\uDC68\uDC69]\u200D\uD83D(?:\uDC66(?:\u200D\uD83D\uDC66)?|\uDC67(?:\u200D\uD83D[\uDC66\uDC67])?)|[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uDC66(?:\u200D\uD83D\uDC66)?|\uDC67(?:\u200D\uD83D[\uDC66\uDC67])?)|\uD83E(?:[\uDDAF\uDDBC\uDDBD](?:\u200D\u27A1\uFE0F?)?|[\uDDB0-\uDDB3]))|\uD83C(?:\uDFFB(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\u2764\uFE0F?\u200D\uD83D(?:\uDC8B\u200D\uD83D)?\uDC68\uD83C[\uDFFB-\uDFFF]|\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D(?:[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uDC30\u200D\uD83D\uDC68\uD83C[\uDFFC-\uDFFF])|\uD83E(?:[\uDD1D\uDEEF]\u200D\uD83D\uDC68\uD83C[\uDFFC-\uDFFF]|[\uDDAF\uDDBC\uDDBD](?:\u200D\u27A1\uFE0F?)?|[\uDDB0-\uDDB3])))?|\uDFFC(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\u2764\uFE0F?\u200D\uD83D(?:\uDC8B\u200D\uD83D)?\uDC68\uD83C[\uDFFB-\uDFFF]|\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D(?:[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uDC30\u200D\uD83D\uDC68\uD83C[\uDFFB\uDFFD-\uDFFF])|\uD83E(?:[\uDD1D\uDEEF]\u200D\uD83D\uDC68\uD83C[\uDFFB\uDFFD-\uDFFF]|[\uDDAF\uDDBC\uDDBD](?:\u200D\u27A1\uFE0F?)?|[\uDDB0-\uDDB3])))?|\uDFFD(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\u2764\uFE0F?\u200D\uD83D(?:\uDC8B\u200D\uD83D)?\uDC68\uD83C[\uDFFB-\uDFFF]|\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D(?:[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uDC30\u200D\uD83D\uDC68\uD83C[\uDFFB\uDFFC\uDFFE\uDFFF])|\uD83E(?:[\uDD1D\uDEEF]\u200D\uD83D\uDC68\uD83C[\uDFFB\uDFFC\uDFFE\uDFFF]|[\uDDAF\uDDBC\uDDBD](?:\u200D\u27A1\uFE0F?)?|[\uDDB0-\uDDB3])))?|\uDFFE(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\u2764\uFE0F?\u200D\uD83D(?:\uDC8B\u200D\uD83D)?\uDC68\uD83C[\uDFFB-\uDFFF]|\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D(?:[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uDC30\u200D\uD83D\uDC68\uD83C[\uDFFB-\uDFFD\uDFFF])|\uD83E(?:[\uDD1D\uDEEF]\u200D\uD83D\uDC68\uD83C[\uDFFB-\uDFFD\uDFFF]|[\uDDAF\uDDBC\uDDBD](?:\u200D\u27A1\uFE0F?)?|[\uDDB0-\uDDB3])))?|\uDFFF(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\u2764\uFE0F?\u200D\uD83D(?:\uDC8B\u200D\uD83D)?\uDC68\uD83C[\uDFFB-\uDFFF]|\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D(?:[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uDC30\u200D\uD83D\uDC68\uD83C[\uDFFB-\uDFFE])|\uD83E(?:[\uDD1D\uDEEF]\u200D\uD83D\uDC68\uD83C[\uDFFB-\uDFFE]|[\uDDAF\uDDBC\uDDBD](?:\u200D\u27A1\uFE0F?)?|[\uDDB0-\uDDB3])))?))?|\uDC69(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\u2764\uFE0F?\u200D\uD83D(?:\uDC8B\u200D\uD83D)?[\uDC68\uDC69]|\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D(?:[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uDC66(?:\u200D\uD83D\uDC66)?|\uDC67(?:\u200D\uD83D[\uDC66\uDC67])?|\uDC69\u200D\uD83D(?:\uDC66(?:\u200D\uD83D\uDC66)?|\uDC67(?:\u200D\uD83D[\uDC66\uDC67])?))|\uD83E(?:[\uDDAF\uDDBC\uDDBD](?:\u200D\u27A1\uFE0F?)?|[\uDDB0-\uDDB3]))|\uD83C(?:\uDFFB(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\u2764\uFE0F?\u200D\uD83D(?:[\uDC68\uDC69]|\uDC8B\u200D\uD83D[\uDC68\uDC69])\uD83C[\uDFFB-\uDFFF]|\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D(?:[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uDC30\u200D\uD83D\uDC69\uD83C[\uDFFC-\uDFFF])|\uD83E(?:[\uDDAF\uDDBC\uDDBD](?:\u200D\u27A1\uFE0F?)?|[\uDDB0-\uDDB3]|\uDD1D\u200D\uD83D[\uDC68\uDC69]\uD83C[\uDFFC-\uDFFF]|\uDEEF\u200D\uD83D\uDC69\uD83C[\uDFFC-\uDFFF])))?|\uDFFC(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\u2764\uFE0F?\u200D\uD83D(?:[\uDC68\uDC69]|\uDC8B\u200D\uD83D[\uDC68\uDC69])\uD83C[\uDFFB-\uDFFF]|\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D(?:[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uDC30\u200D\uD83D\uDC69\uD83C[\uDFFB\uDFFD-\uDFFF])|\uD83E(?:[\uDDAF\uDDBC\uDDBD](?:\u200D\u27A1\uFE0F?)?|[\uDDB0-\uDDB3]|\uDD1D\u200D\uD83D[\uDC68\uDC69]\uD83C[\uDFFB\uDFFD-\uDFFF]|\uDEEF\u200D\uD83D\uDC69\uD83C[\uDFFB\uDFFD-\uDFFF])))?|\uDFFD(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\u2764\uFE0F?\u200D\uD83D(?:[\uDC68\uDC69]|\uDC8B\u200D\uD83D[\uDC68\uDC69])\uD83C[\uDFFB-\uDFFF]|\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D(?:[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uDC30\u200D\uD83D\uDC69\uD83C[\uDFFB\uDFFC\uDFFE\uDFFF])|\uD83E(?:[\uDDAF\uDDBC\uDDBD](?:\u200D\u27A1\uFE0F?)?|[\uDDB0-\uDDB3]|\uDD1D\u200D\uD83D[\uDC68\uDC69]\uD83C[\uDFFB\uDFFC\uDFFE\uDFFF]|\uDEEF\u200D\uD83D\uDC69\uD83C[\uDFFB\uDFFC\uDFFE\uDFFF])))?|\uDFFE(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\u2764\uFE0F?\u200D\uD83D(?:[\uDC68\uDC69]|\uDC8B\u200D\uD83D[\uDC68\uDC69])\uD83C[\uDFFB-\uDFFF]|\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D(?:[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uDC30\u200D\uD83D\uDC69\uD83C[\uDFFB-\uDFFD\uDFFF])|\uD83E(?:[\uDDAF\uDDBC\uDDBD](?:\u200D\u27A1\uFE0F?)?|[\uDDB0-\uDDB3]|\uDD1D\u200D\uD83D[\uDC68\uDC69]\uD83C[\uDFFB-\uDFFD\uDFFF]|\uDEEF\u200D\uD83D\uDC69\uD83C[\uDFFB-\uDFFD\uDFFF])))?|\uDFFF(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\u2764\uFE0F?\u200D\uD83D(?:[\uDC68\uDC69]|\uDC8B\u200D\uD83D[\uDC68\uDC69])\uD83C[\uDFFB-\uDFFF]|\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D(?:[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uDC30\u200D\uD83D\uDC69\uD83C[\uDFFB-\uDFFE])|\uD83E(?:[\uDDAF\uDDBC\uDDBD](?:\u200D\u27A1\uFE0F?)?|[\uDDB0-\uDDB3]|\uDD1D\u200D\uD83D[\uDC68\uDC69]\uD83C[\uDFFB-\uDFFE]|\uDEEF\u200D\uD83D\uDC69\uD83C[\uDFFB-\uDFFE])))?))?|\uDD75(?:\uD83C[\uDFFB-\uDFFF]|\uFE0F)?(?:\u200D[\u2640\u2642]\uFE0F?)?|\uDE2E(?:\u200D\uD83D\uDCA8)?|\uDE35(?:\u200D\uD83D\uDCAB)?|\uDE36(?:\u200D\uD83C\uDF2B\uFE0F?)?|\uDE42(?:\u200D[\u2194\u2195]\uFE0F?)?|\uDEB6(?:\uD83C[\uDFFB-\uDFFF])?(?:\u200D(?:[\u2640\u2642]\uFE0F?(?:\u200D\u27A1\uFE0F?)?|\u27A1\uFE0F?))?)|\uD83E(?:[\uDD0C\uDD0F\uDD18-\uDD1F\uDD30-\uDD34\uDD36\uDD77\uDDB5\uDDB6\uDDBB\uDDD2\uDDD3\uDDD5\uDEC3-\uDEC5\uDEF0\uDEF2-\uDEF8](?:\uD83C[\uDFFB-\uDFFF])?|[\uDD26\uDD35\uDD37-\uDD39\uDD3C-\uDD3E\uDDB8\uDDB9\uDDCD\uDDCF\uDDD4\uDDD6-\uDDDD](?:\uD83C[\uDFFB-\uDFFF])?(?:\u200D[\u2640\u2642]\uFE0F?)?|[\uDDDE\uDDDF](?:\u200D[\u2640\u2642]\uFE0F?)?|[\uDD0D\uDD0E\uDD10-\uDD17\uDD20-\uDD25\uDD27-\uDD2F\uDD3A\uDD3F-\uDD45\uDD47-\uDD76\uDD78-\uDDB4\uDDB7\uDDBA\uDDBC-\uDDCC\uDDD0\uDDE0-\uDDFF\uDE70-\uDE7C\uDE80-\uDE8A\uDE8E-\uDEC2\uDEC6\uDEC8\uDECD-\uDEDC\uDEDF-\uDEEA\uDEEF]|\uDDCE(?:\uD83C[\uDFFB-\uDFFF])?(?:\u200D(?:[\u2640\u2642]\uFE0F?(?:\u200D\u27A1\uFE0F?)?|\u27A1\uFE0F?))?|\uDDD1(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\uD83C[\uDF3E\uDF73\uDF7C\uDF84\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E(?:[\uDDAF\uDDBC\uDDBD](?:\u200D\u27A1\uFE0F?)?|[\uDDB0-\uDDB3\uDE70]|\uDD1D\u200D\uD83E\uDDD1|\uDDD1\u200D\uD83E\uDDD2(?:\u200D\uD83E\uDDD2)?|\uDDD2(?:\u200D\uD83E\uDDD2)?))|\uD83C(?:\uDFFB(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\u2764\uFE0F?\u200D(?:\uD83D\uDC8B\u200D)?\uD83E\uDDD1\uD83C[\uDFFC-\uDFFF]|\uD83C[\uDF3E\uDF73\uDF7C\uDF84\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D(?:[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uDC30\u200D\uD83E\uDDD1\uD83C[\uDFFC-\uDFFF])|\uD83E(?:[\uDDAF\uDDBC\uDDBD](?:\u200D\u27A1\uFE0F?)?|[\uDDB0-\uDDB3\uDE70]|\uDD1D\u200D\uD83E\uDDD1\uD83C[\uDFFB-\uDFFF]|\uDEEF\u200D\uD83E\uDDD1\uD83C[\uDFFC-\uDFFF])))?|\uDFFC(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\u2764\uFE0F?\u200D(?:\uD83D\uDC8B\u200D)?\uD83E\uDDD1\uD83C[\uDFFB\uDFFD-\uDFFF]|\uD83C[\uDF3E\uDF73\uDF7C\uDF84\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D(?:[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uDC30\u200D\uD83E\uDDD1\uD83C[\uDFFB\uDFFD-\uDFFF])|\uD83E(?:[\uDDAF\uDDBC\uDDBD](?:\u200D\u27A1\uFE0F?)?|[\uDDB0-\uDDB3\uDE70]|\uDD1D\u200D\uD83E\uDDD1\uD83C[\uDFFB-\uDFFF]|\uDEEF\u200D\uD83E\uDDD1\uD83C[\uDFFB\uDFFD-\uDFFF])))?|\uDFFD(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\u2764\uFE0F?\u200D(?:\uD83D\uDC8B\u200D)?\uD83E\uDDD1\uD83C[\uDFFB\uDFFC\uDFFE\uDFFF]|\uD83C[\uDF3E\uDF73\uDF7C\uDF84\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D(?:[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uDC30\u200D\uD83E\uDDD1\uD83C[\uDFFB\uDFFC\uDFFE\uDFFF])|\uD83E(?:[\uDDAF\uDDBC\uDDBD](?:\u200D\u27A1\uFE0F?)?|[\uDDB0-\uDDB3\uDE70]|\uDD1D\u200D\uD83E\uDDD1\uD83C[\uDFFB-\uDFFF]|\uDEEF\u200D\uD83E\uDDD1\uD83C[\uDFFB\uDFFC\uDFFE\uDFFF])))?|\uDFFE(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\u2764\uFE0F?\u200D(?:\uD83D\uDC8B\u200D)?\uD83E\uDDD1\uD83C[\uDFFB-\uDFFD\uDFFF]|\uD83C[\uDF3E\uDF73\uDF7C\uDF84\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D(?:[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uDC30\u200D\uD83E\uDDD1\uD83C[\uDFFB-\uDFFD\uDFFF])|\uD83E(?:[\uDDAF\uDDBC\uDDBD](?:\u200D\u27A1\uFE0F?)?|[\uDDB0-\uDDB3\uDE70]|\uDD1D\u200D\uD83E\uDDD1\uD83C[\uDFFB-\uDFFF]|\uDEEF\u200D\uD83E\uDDD1\uD83C[\uDFFB-\uDFFD\uDFFF])))?|\uDFFF(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\u2764\uFE0F?\u200D(?:\uD83D\uDC8B\u200D)?\uD83E\uDDD1\uD83C[\uDFFB-\uDFFE]|\uD83C[\uDF3E\uDF73\uDF7C\uDF84\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D(?:[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uDC30\u200D\uD83E\uDDD1\uD83C[\uDFFB-\uDFFE])|\uD83E(?:[\uDDAF\uDDBC\uDDBD](?:\u200D\u27A1\uFE0F?)?|[\uDDB0-\uDDB3\uDE70]|\uDD1D\u200D\uD83E\uDDD1\uD83C[\uDFFB-\uDFFF]|\uDEEF\u200D\uD83E\uDDD1\uD83C[\uDFFB-\uDFFE])))?))?|\uDEF1(?:\uD83C(?:\uDFFB(?:\u200D\uD83E\uDEF2\uD83C[\uDFFC-\uDFFF])?|\uDFFC(?:\u200D\uD83E\uDEF2\uD83C[\uDFFB\uDFFD-\uDFFF])?|\uDFFD(?:\u200D\uD83E\uDEF2\uD83C[\uDFFB\uDFFC\uDFFE\uDFFF])?|\uDFFE(?:\u200D\uD83E\uDEF2\uD83C[\uDFFB-\uDFFD\uDFFF])?|\uDFFF(?:\u200D\uD83E\uDEF2\uD83C[\uDFFB-\uDFFE])?))?)/g}});var u4=N((hQ,GS)=>{GS.exports={single:{topLeft:"┌",top:"─",topRight:"┐",right:"│",bottomRight:"┘",bottom:"─",bottomLeft:"└",left:"│"},double:{topLeft:"╔",top:"═",topRight:"╗",right:"║",bottomRight:"╝",bottom:"═",bottomLeft:"╚",left:"║"},round:{topLeft:"╭",top:"─",topRight:"╮",right:"│",bottomRight:"╯",bottom:"─",bottomLeft:"╰",left:"│"},bold:{topLeft:"┏",top:"━",topRight:"┓",right:"┃",bottomRight:"┛",bottom:"━",bottomLeft:"┗",left:"┃"},singleDouble:{topLeft:"╓",top:"─",topRight:"╖",right:"║",bottomRight:"╜",bottom:"─",bottomLeft:"╙",left:"║"},doubleSingle:{topLeft:"╒",top:"═",topRight:"╕",right:"│",bottomRight:"╛",bottom:"═",bottomLeft:"╘",left:"│"},classic:{topLeft:"+",top:"-",topRight:"+",right:"|",bottomRight:"+",bottom:"-",bottomLeft:"+",left:"|"},arrow:{topLeft:"↘",top:"↓",topRight:"↙",right:"←",bottomRight:"↖",bottom:"↑",bottomLeft:"↗",left:"→"}}});var C8=N((gQ,E8)=>{var F4=u4();E8.exports=F4;E8.exports.default=F4});var J4=N((mQ,I4)=>{I4.exports=({onlyFirst:D=!1}={})=>{let u=["[\\u001B\\u009B][[\\]()#;?]*(?:(?:(?:(?:;[-a-zA-Z\\d\\/#&.:=?%@~_]+)*|[a-zA-Z\\d]+(?:;[-a-zA-Z\\d\\/#&.:=?%@~_]*)*)?\\u0007)","(?:(?:\\d{1,4}(?:;\\d{0,4})*)?[\\dA-PR-TZcf-ntqry=><~]))"].join("|");return new RegExp(u,D?void 0:"g")}});var Y4=N((lQ,Z4)=>{var zS=J4();Z4.exports=(D)=>typeof D==="string"?D.replace(zS(),""):D});var H4=N((dQ,I8)=>{var $4=(D)=>{if(Number.isNaN(D))return!1;if(D>=4352&&(D<=4447||D===9001||D===9002||11904<=D&&D<=12871&&D!==12351||12880<=D&&D<=19903||19968<=D&&D<=42182||43360<=D&&D<=43388||44032<=D&&D<=55203||63744<=D&&D<=64255||65040<=D&&D<=65049||65072<=D&&D<=65131||65281<=D&&D<=65376||65504<=D&&D<=65510||110592<=D&&D<=110593||127488<=D&&D<=127569||131072<=D&&D<=262141))return!0;return!1};I8.exports=$4;I8.exports.default=$4});var X4=N((nQ,S4)=>{S4.exports=function(){return/\uD83C\uDFF4\uDB40\uDC67\uDB40\uDC62(?:\uDB40\uDC65\uDB40\uDC6E\uDB40\uDC67|\uDB40\uDC73\uDB40\uDC63\uDB40\uDC74|\uDB40\uDC77\uDB40\uDC6C\uDB40\uDC73)\uDB40\uDC7F|\uD83D\uDC68(?:\uD83C\uDFFC\u200D(?:\uD83E\uDD1D\u200D\uD83D\uDC68\uD83C\uDFFB|\uD83C[\uDF3E\uDF73\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\uD83C\uDFFF\u200D(?:\uD83E\uDD1D\u200D\uD83D\uDC68(?:\uD83C[\uDFFB-\uDFFE])|\uD83C[\uDF3E\uDF73\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\uD83C\uDFFE\u200D(?:\uD83E\uDD1D\u200D\uD83D\uDC68(?:\uD83C[\uDFFB-\uDFFD])|\uD83C[\uDF3E\uDF73\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\uD83C\uDFFD\u200D(?:\uD83E\uDD1D\u200D\uD83D\uDC68(?:\uD83C[\uDFFB\uDFFC])|\uD83C[\uDF3E\uDF73\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\u200D(?:\u2764\uFE0F\u200D(?:\uD83D\uDC8B\u200D)?\uD83D\uDC68|(?:\uD83D[\uDC68\uDC69])\u200D(?:\uD83D\uDC66\u200D\uD83D\uDC66|\uD83D\uDC67\u200D(?:\uD83D[\uDC66\uDC67]))|\uD83D\uDC66\u200D\uD83D\uDC66|\uD83D\uDC67\u200D(?:\uD83D[\uDC66\uDC67])|(?:\uD83D[\uDC68\uDC69])\u200D(?:\uD83D[\uDC66\uDC67])|[\u2695\u2696\u2708]\uFE0F|\uD83D[\uDC66\uDC67]|\uD83C[\uDF3E\uDF73\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|(?:\uD83C\uDFFB\u200D[\u2695\u2696\u2708]|\uD83C\uDFFF\u200D[\u2695\u2696\u2708]|\uD83C\uDFFE\u200D[\u2695\u2696\u2708]|\uD83C\uDFFD\u200D[\u2695\u2696\u2708]|\uD83C\uDFFC\u200D[\u2695\u2696\u2708])\uFE0F|\uD83C\uDFFB\u200D(?:\uD83C[\uDF3E\uDF73\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\uD83C[\uDFFB-\uDFFF])|(?:\uD83E\uDDD1\uD83C\uDFFB\u200D\uD83E\uDD1D\u200D\uD83E\uDDD1|\uD83D\uDC69\uD83C\uDFFC\u200D\uD83E\uDD1D\u200D\uD83D\uDC69)\uD83C\uDFFB|\uD83E\uDDD1(?:\uD83C\uDFFF\u200D\uD83E\uDD1D\u200D\uD83E\uDDD1(?:\uD83C[\uDFFB-\uDFFF])|\u200D\uD83E\uDD1D\u200D\uD83E\uDDD1)|(?:\uD83E\uDDD1\uD83C\uDFFE\u200D\uD83E\uDD1D\u200D\uD83E\uDDD1|\uD83D\uDC69\uD83C\uDFFF\u200D\uD83E\uDD1D\u200D(?:\uD83D[\uDC68\uDC69]))(?:\uD83C[\uDFFB-\uDFFE])|(?:\uD83E\uDDD1\uD83C\uDFFC\u200D\uD83E\uDD1D\u200D\uD83E\uDDD1|\uD83D\uDC69\uD83C\uDFFD\u200D\uD83E\uDD1D\u200D\uD83D\uDC69)(?:\uD83C[\uDFFB\uDFFC])|\uD83D\uDC69(?:\uD83C\uDFFE\u200D(?:\uD83E\uDD1D\u200D\uD83D\uDC68(?:\uD83C[\uDFFB-\uDFFD\uDFFF])|\uD83C[\uDF3E\uDF73\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\uD83C\uDFFC\u200D(?:\uD83E\uDD1D\u200D\uD83D\uDC68(?:\uD83C[\uDFFB\uDFFD-\uDFFF])|\uD83C[\uDF3E\uDF73\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\uD83C\uDFFB\u200D(?:\uD83E\uDD1D\u200D\uD83D\uDC68(?:\uD83C[\uDFFC-\uDFFF])|\uD83C[\uDF3E\uDF73\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\uD83C\uDFFD\u200D(?:\uD83E\uDD1D\u200D\uD83D\uDC68(?:\uD83C[\uDFFB\uDFFC\uDFFE\uDFFF])|\uD83C[\uDF3E\uDF73\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\u200D(?:\u2764\uFE0F\u200D(?:\uD83D\uDC8B\u200D(?:\uD83D[\uDC68\uDC69])|\uD83D[\uDC68\uDC69])|\uD83C[\uDF3E\uDF73\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\uD83C\uDFFF\u200D(?:\uD83C[\uDF3E\uDF73\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD]))|\uD83D\uDC69\u200D\uD83D\uDC69\u200D(?:\uD83D\uDC66\u200D\uD83D\uDC66|\uD83D\uDC67\u200D(?:\uD83D[\uDC66\uDC67]))|(?:\uD83E\uDDD1\uD83C\uDFFD\u200D\uD83E\uDD1D\u200D\uD83E\uDDD1|\uD83D\uDC69\uD83C\uDFFE\u200D\uD83E\uDD1D\u200D\uD83D\uDC69)(?:\uD83C[\uDFFB-\uDFFD])|\uD83D\uDC69\u200D\uD83D\uDC66\u200D\uD83D\uDC66|\uD83D\uDC69\u200D\uD83D\uDC69\u200D(?:\uD83D[\uDC66\uDC67])|(?:\uD83D\uDC41\uFE0F\u200D\uD83D\uDDE8|\uD83D\uDC69(?:\uD83C\uDFFF\u200D[\u2695\u2696\u2708]|\uD83C\uDFFE\u200D[\u2695\u2696\u2708]|\uD83C\uDFFC\u200D[\u2695\u2696\u2708]|\uD83C\uDFFB\u200D[\u2695\u2696\u2708]|\uD83C\uDFFD\u200D[\u2695\u2696\u2708]|\u200D[\u2695\u2696\u2708])|(?:(?:\u26F9|\uD83C[\uDFCB\uDFCC]|\uD83D\uDD75)\uFE0F|\uD83D\uDC6F|\uD83E[\uDD3C\uDDDE\uDDDF])\u200D[\u2640\u2642]|(?:\u26F9|\uD83C[\uDFCB\uDFCC]|\uD83D\uDD75)(?:\uD83C[\uDFFB-\uDFFF])\u200D[\u2640\u2642]|(?:\uD83C[\uDFC3\uDFC4\uDFCA]|\uD83D[\uDC6E\uDC71\uDC73\uDC77\uDC81\uDC82\uDC86\uDC87\uDE45-\uDE47\uDE4B\uDE4D\uDE4E\uDEA3\uDEB4-\uDEB6]|\uD83E[\uDD26\uDD37-\uDD39\uDD3D\uDD3E\uDDB8\uDDB9\uDDCD-\uDDCF\uDDD6-\uDDDD])(?:(?:\uD83C[\uDFFB-\uDFFF])\u200D[\u2640\u2642]|\u200D[\u2640\u2642])|\uD83C\uDFF4\u200D\u2620)\uFE0F|\uD83D\uDC69\u200D\uD83D\uDC67\u200D(?:\uD83D[\uDC66\uDC67])|\uD83C\uDFF3\uFE0F\u200D\uD83C\uDF08|\uD83D\uDC15\u200D\uD83E\uDDBA|\uD83D\uDC69\u200D\uD83D\uDC66|\uD83D\uDC69\u200D\uD83D\uDC67|\uD83C\uDDFD\uD83C\uDDF0|\uD83C\uDDF4\uD83C\uDDF2|\uD83C\uDDF6\uD83C\uDDE6|[#\*0-9]\uFE0F\u20E3|\uD83C\uDDE7(?:\uD83C[\uDDE6\uDDE7\uDDE9-\uDDEF\uDDF1-\uDDF4\uDDF6-\uDDF9\uDDFB\uDDFC\uDDFE\uDDFF])|\uD83C\uDDF9(?:\uD83C[\uDDE6\uDDE8\uDDE9\uDDEB-\uDDED\uDDEF-\uDDF4\uDDF7\uDDF9\uDDFB\uDDFC\uDDFF])|\uD83C\uDDEA(?:\uD83C[\uDDE6\uDDE8\uDDEA\uDDEC\uDDED\uDDF7-\uDDFA])|\uD83E\uDDD1(?:\uD83C[\uDFFB-\uDFFF])|\uD83C\uDDF7(?:\uD83C[\uDDEA\uDDF4\uDDF8\uDDFA\uDDFC])|\uD83D\uDC69(?:\uD83C[\uDFFB-\uDFFF])|\uD83C\uDDF2(?:\uD83C[\uDDE6\uDDE8-\uDDED\uDDF0-\uDDFF])|\uD83C\uDDE6(?:\uD83C[\uDDE8-\uDDEC\uDDEE\uDDF1\uDDF2\uDDF4\uDDF6-\uDDFA\uDDFC\uDDFD\uDDFF])|\uD83C\uDDF0(?:\uD83C[\uDDEA\uDDEC-\uDDEE\uDDF2\uDDF3\uDDF5\uDDF7\uDDFC\uDDFE\uDDFF])|\uD83C\uDDED(?:\uD83C[\uDDF0\uDDF2\uDDF3\uDDF7\uDDF9\uDDFA])|\uD83C\uDDE9(?:\uD83C[\uDDEA\uDDEC\uDDEF\uDDF0\uDDF2\uDDF4\uDDFF])|\uD83C\uDDFE(?:\uD83C[\uDDEA\uDDF9])|\uD83C\uDDEC(?:\uD83C[\uDDE6\uDDE7\uDDE9-\uDDEE\uDDF1-\uDDF3\uDDF5-\uDDFA\uDDFC\uDDFE])|\uD83C\uDDF8(?:\uD83C[\uDDE6-\uDDEA\uDDEC-\uDDF4\uDDF7-\uDDF9\uDDFB\uDDFD-\uDDFF])|\uD83C\uDDEB(?:\uD83C[\uDDEE-\uDDF0\uDDF2\uDDF4\uDDF7])|\uD83C\uDDF5(?:\uD83C[\uDDE6\uDDEA-\uDDED\uDDF0-\uDDF3\uDDF7-\uDDF9\uDDFC\uDDFE])|\uD83C\uDDFB(?:\uD83C[\uDDE6\uDDE8\uDDEA\uDDEC\uDDEE\uDDF3\uDDFA])|\uD83C\uDDF3(?:\uD83C[\uDDE6\uDDE8\uDDEA-\uDDEC\uDDEE\uDDF1\uDDF4\uDDF5\uDDF7\uDDFA\uDDFF])|\uD83C\uDDE8(?:\uD83C[\uDDE6\uDDE8\uDDE9\uDDEB-\uDDEE\uDDF0-\uDDF5\uDDF7\uDDFA-\uDDFF])|\uD83C\uDDF1(?:\uD83C[\uDDE6-\uDDE8\uDDEE\uDDF0\uDDF7-\uDDFB\uDDFE])|\uD83C\uDDFF(?:\uD83C[\uDDE6\uDDF2\uDDFC])|\uD83C\uDDFC(?:\uD83C[\uDDEB\uDDF8])|\uD83C\uDDFA(?:\uD83C[\uDDE6\uDDEC\uDDF2\uDDF3\uDDF8\uDDFE\uDDFF])|\uD83C\uDDEE(?:\uD83C[\uDDE8-\uDDEA\uDDF1-\uDDF4\uDDF6-\uDDF9])|\uD83C\uDDEF(?:\uD83C[\uDDEA\uDDF2\uDDF4\uDDF5])|(?:\uD83C[\uDFC3\uDFC4\uDFCA]|\uD83D[\uDC6E\uDC71\uDC73\uDC77\uDC81\uDC82\uDC86\uDC87\uDE45-\uDE47\uDE4B\uDE4D\uDE4E\uDEA3\uDEB4-\uDEB6]|\uD83E[\uDD26\uDD37-\uDD39\uDD3D\uDD3E\uDDB8\uDDB9\uDDCD-\uDDCF\uDDD6-\uDDDD])(?:\uD83C[\uDFFB-\uDFFF])|(?:\u26F9|\uD83C[\uDFCB\uDFCC]|\uD83D\uDD75)(?:\uD83C[\uDFFB-\uDFFF])|(?:[\u261D\u270A-\u270D]|\uD83C[\uDF85\uDFC2\uDFC7]|\uD83D[\uDC42\uDC43\uDC46-\uDC50\uDC66\uDC67\uDC6B-\uDC6D\uDC70\uDC72\uDC74-\uDC76\uDC78\uDC7C\uDC83\uDC85\uDCAA\uDD74\uDD7A\uDD90\uDD95\uDD96\uDE4C\uDE4F\uDEC0\uDECC]|\uD83E[\uDD0F\uDD18-\uDD1C\uDD1E\uDD1F\uDD30-\uDD36\uDDB5\uDDB6\uDDBB\uDDD2-\uDDD5])(?:\uD83C[\uDFFB-\uDFFF])|(?:[\u231A\u231B\u23E9-\u23EC\u23F0\u23F3\u25FD\u25FE\u2614\u2615\u2648-\u2653\u267F\u2693\u26A1\u26AA\u26AB\u26BD\u26BE\u26C4\u26C5\u26CE\u26D4\u26EA\u26F2\u26F3\u26F5\u26FA\u26FD\u2705\u270A\u270B\u2728\u274C\u274E\u2753-\u2755\u2757\u2795-\u2797\u27B0\u27BF\u2B1B\u2B1C\u2B50\u2B55]|\uD83C[\uDC04\uDCCF\uDD8E\uDD91-\uDD9A\uDDE6-\uDDFF\uDE01\uDE1A\uDE2F\uDE32-\uDE36\uDE38-\uDE3A\uDE50\uDE51\uDF00-\uDF20\uDF2D-\uDF35\uDF37-\uDF7C\uDF7E-\uDF93\uDFA0-\uDFCA\uDFCF-\uDFD3\uDFE0-\uDFF0\uDFF4\uDFF8-\uDFFF]|\uD83D[\uDC00-\uDC3E\uDC40\uDC42-\uDCFC\uDCFF-\uDD3D\uDD4B-\uDD4E\uDD50-\uDD67\uDD7A\uDD95\uDD96\uDDA4\uDDFB-\uDE4F\uDE80-\uDEC5\uDECC\uDED0-\uDED2\uDED5\uDEEB\uDEEC\uDEF4-\uDEFA\uDFE0-\uDFEB]|\uD83E[\uDD0D-\uDD3A\uDD3C-\uDD45\uDD47-\uDD71\uDD73-\uDD76\uDD7A-\uDDA2\uDDA5-\uDDAA\uDDAE-\uDDCA\uDDCD-\uDDFF\uDE70-\uDE73\uDE78-\uDE7A\uDE80-\uDE82\uDE90-\uDE95])|(?:[#\*0-9\xA9\xAE\u203C\u2049\u2122\u2139\u2194-\u2199\u21A9\u21AA\u231A\u231B\u2328\u23CF\u23E9-\u23F3\u23F8-\u23FA\u24C2\u25AA\u25AB\u25B6\u25C0\u25FB-\u25FE\u2600-\u2604\u260E\u2611\u2614\u2615\u2618\u261D\u2620\u2622\u2623\u2626\u262A\u262E\u262F\u2638-\u263A\u2640\u2642\u2648-\u2653\u265F\u2660\u2663\u2665\u2666\u2668\u267B\u267E\u267F\u2692-\u2697\u2699\u269B\u269C\u26A0\u26A1\u26AA\u26AB\u26B0\u26B1\u26BD\u26BE\u26C4\u26C5\u26C8\u26CE\u26CF\u26D1\u26D3\u26D4\u26E9\u26EA\u26F0-\u26F5\u26F7-\u26FA\u26FD\u2702\u2705\u2708-\u270D\u270F\u2712\u2714\u2716\u271D\u2721\u2728\u2733\u2734\u2744\u2747\u274C\u274E\u2753-\u2755\u2757\u2763\u2764\u2795-\u2797\u27A1\u27B0\u27BF\u2934\u2935\u2B05-\u2B07\u2B1B\u2B1C\u2B50\u2B55\u3030\u303D\u3297\u3299]|\uD83C[\uDC04\uDCCF\uDD70\uDD71\uDD7E\uDD7F\uDD8E\uDD91-\uDD9A\uDDE6-\uDDFF\uDE01\uDE02\uDE1A\uDE2F\uDE32-\uDE3A\uDE50\uDE51\uDF00-\uDF21\uDF24-\uDF93\uDF96\uDF97\uDF99-\uDF9B\uDF9E-\uDFF0\uDFF3-\uDFF5\uDFF7-\uDFFF]|\uD83D[\uDC00-\uDCFD\uDCFF-\uDD3D\uDD49-\uDD4E\uDD50-\uDD67\uDD6F\uDD70\uDD73-\uDD7A\uDD87\uDD8A-\uDD8D\uDD90\uDD95\uDD96\uDDA4\uDDA5\uDDA8\uDDB1\uDDB2\uDDBC\uDDC2-\uDDC4\uDDD1-\uDDD3\uDDDC-\uDDDE\uDDE1\uDDE3\uDDE8\uDDEF\uDDF3\uDDFA-\uDE4F\uDE80-\uDEC5\uDECB-\uDED2\uDED5\uDEE0-\uDEE5\uDEE9\uDEEB\uDEEC\uDEF0\uDEF3-\uDEFA\uDFE0-\uDFEB]|\uD83E[\uDD0D-\uDD3A\uDD3C-\uDD45\uDD47-\uDD71\uDD73-\uDD76\uDD7A-\uDDA2\uDDA5-\uDDAA\uDDAE-\uDDCA\uDDCD-\uDDFF\uDE70-\uDE73\uDE78-\uDE7A\uDE80-\uDE82\uDE90-\uDE95])\uFE0F|(?:[\u261D\u26F9\u270A-\u270D]|\uD83C[\uDF85\uDFC2-\uDFC4\uDFC7\uDFCA-\uDFCC]|\uD83D[\uDC42\uDC43\uDC46-\uDC50\uDC66-\uDC78\uDC7C\uDC81-\uDC83\uDC85-\uDC87\uDC8F\uDC91\uDCAA\uDD74\uDD75\uDD7A\uDD90\uDD95\uDD96\uDE45-\uDE47\uDE4B-\uDE4F\uDEA3\uDEB4-\uDEB6\uDEC0\uDECC]|\uD83E[\uDD0F\uDD18-\uDD1F\uDD26\uDD30-\uDD39\uDD3C-\uDD3E\uDDB5\uDDB6\uDDB8\uDDB9\uDDBB\uDDCD-\uDDCF\uDDD1-\uDDDD])/g}});var _4=N((iQ,J8)=>{var TS=Y4(),OS=H4(),NS=X4(),G4=(D)=>{if(typeof D!=="string"||D.length===0)return 0;if(D=TS(D),D.length===0)return 0;D=D.replace(NS()," ");let u=0;for(let F=0;F<D.length;F++){let E=D.codePointAt(F);if(E<=31||E>=127&&E<=159)continue;if(E>=768&&E<=879)continue;if(E>65535)F++;u+=OS(E)?2:1}return u};J8.exports=G4;J8.exports.default=G4});var U4=N((pQ,q4)=>{var RS=_4();function ju(D,u){if(!D)return D;u=u||{};let F=u.align||"center";if(F==="left")return D;let E=u.split||`
|
|
141
141
|
`,C=u.pad||" ",B=F!=="right"?wS:WS,A=!1;if(!Array.isArray(D))A=!0,D=String(D).split(E);let I,Y=0;return D=D.map(function(Z){return Z=String(Z),I=RS(Z),Y=Math.max(I,Y),{str:Z,width:I}}).map(function(Z){return Array(B(Y,Z.width)+1).join(C)+Z.str}),A?D.join(E):D}ju.left=function(u){return ju(u,{align:"left"})};ju.center=function(u){return ju(u,{align:"center"})};ju.right=function(u){return ju(u,{align:"right"})};q4.exports=ju;function wS(D,u){return Math.floor((D-u)/2)}function WS(D,u){return D-u}});var j8=o(P8(),1),{program:WD,createCommand:JX,createArgument:ZX,createOption:YX,CommanderError:$X,InvalidArgumentError:HX,InvalidOptionArgumentError:SX,Command:XX,Argument:GX,Option:_X,Help:qX}=j8.default;s0();i3();VD();var xF=o(LD(),1);VD();U3();T3();R3();P3();y3();Y0();H0();var v=o(LD(),1);import{join as nI}from"path";Y0();H0();b3();uu();import{existsSync as E6,readdirSync as mI,lstatSync as C6}from"fs";function lI(D){if(!E6(D))return!1;try{let u=C6(D),F=u.isSymbolicLink(),E=u.isDirectory();if(!F&&!E)return!1;let C=mI(D);if(C.length===0)return!1;return C.includes("SKILL.md")}catch{return!1}}function dI(D){if(!E6(D))return!1;try{let u=C6(D);if(u.isSymbolicLink())return D.endsWith(".md");if(!u.isFile())return!1;return D.endsWith(".md")}catch{return!1}}function X0(D,u){return u==="skill"?lI(D):dI(D)}function hu(D){let u=[],F=new Set,E=pC(D);if(E)for(let[B,A]of Object.entries(E.skills)){let I=x3(B);if(!I)continue;u.push({name:I.name,url:A.url,subpath:A.subpath,branch:A.branch,commit:A.commit,isLocal:!0,installableType:I.installableType}),F.add(B)}let C=lC();for(let[B,A]of Object.entries(C.skills)){if(F.has(B))continue;let I=x3(B);if(!I)continue;u.push({name:I.name,url:A.url,subpath:A.subpath,branch:A.branch,commit:A.commit,isLocal:!1,installableType:I.installableType})}return u}function G0(D,u,F){return(F.isLocal?$0(D,u,F.cwd):Z0(D,u)).map((C)=>({installation:C,resolvedPath:I0(C)})).filter(({resolvedPath:C})=>X0(C,u))}gD();uu();VD();var gu=o(LD(),1);function _0(){L.warn("No skills yet. Install your first skill:"),L.message(` ${gu.default.cyan("npx flins@latest add <repo>")} # Install in current project`),L.message(` ${gu.default.cyan("npx flins@latest add <repo> --global")} # Install globally for all projects`),L.message(` ${gu.default.dim("Examples:")}`),L.message(` ${gu.default.cyan("npx flins@latest add expo")} # Install from flins directory (https://flins.tech)`),L.message(` ${gu.default.cyan("npx flins@latest search")} # Browse available skills`)}var Lu=(D,u,F)=>{return D===1?u:F??`${u}s`};async function B6(D,u,F,E,C,B){let I=(C?$0(D,B):Z0(D,B)).map((Z)=>{let J=I0(Z);return{agent:n[Z.agent].displayName,path:J,exists:X0(J,Z.installableType)}});if(I.filter((Z)=>Z.exists).length===0)return{skillName:D,currentCommit:E,latestCommit:E,status:"orphaned",installableType:B,installations:I};try{let Z=await ZC(u,F);return{skillName:D,currentCommit:E,latestCommit:Z,status:Z===E?"latest":"update-available",installableType:B,installations:I}}catch(Z){return{skillName:D,currentCommit:E,latestCommit:E,status:"error",installableType:B,installations:I,error:Z instanceof Error?Z.message:"Unknown error"}}}async function p3(D){let u=hu(),F=[],E;if(D&&D.length>0){let B=new Set(D.map((A)=>A.toLowerCase()));E=u.filter(({name:A})=>B.has(A.toLowerCase()))}else E=u;if(E.length===0)return[];let C=hD();if(E.length===1){let{name:B,url:A,branch:I,commit:Y,isLocal:Z,installableType:J}=E[0];C.start(`Checking ${v.default.cyan(B)}...`);let S=await B6(B,A,I,Y,Z,J);C.stop(S.status==="latest"?v.default.green("Up to date"):v.default.yellow("Update available")),F.push(S)}else{C.start("Checking for updates...");for(let{name:B,url:A,branch:I,commit:Y,isLocal:Z,installableType:J}of E){let S=await B6(B,A,I,Y,Z,J);F.push(S)}C.stop("Check complete")}return F}async function A6(D,u={}){let F=hu(),E=[],C;if(D&&D.length>0){let $=new Set(D.map((X)=>X.toLowerCase()));C=F.filter(({name:X})=>$.has(X.toLowerCase()))}else C=F;if(C.length===0)return L.warn("No skills found to update"),r(v.default.yellow("Nothing to update")),[];let B=await p3(D),A=B.filter(($)=>$.status==="update-available");if(A.length===0){let $=B.filter((X)=>X.status==="orphaned");if($.length>0){L.warn(`${$.length} skill${$.length>1?"s":""} ${$.length>1?"have":"has"} no valid installations`);for(let X of $)L.message(` ${v.default.yellow("○")} ${v.default.cyan(X.skillName)} - files were removed`)}return L.success(v.default.green("All skills are up to date")),r(v.default.green("Everything is current")),[]}L.step(v.default.bold("Updates Available"));let I=A.map(($)=>({value:$.skillName,label:$.skillName,hint:`${$.currentCommit.slice(0,7)} → ${$.latestCommit.slice(0,7)}`})),Y,Z=u.yes||u.force;if(Z)Y=A.map(($)=>$.skillName);else{let $=await xD({message:"Choose skills to update",options:I,required:!0,initialValues:A.map((X)=>X.skillName)});if(AD($))return ZD("Update cancelled"),[];Y=$}L.step(v.default.bold("Will Update"));for(let $ of Y){let X=A.find((G)=>G.skillName===$);if(X)L.message(` ${v.default.cyan(X.skillName)}`),L.message(` ${v.default.dim("Current:")} ${v.default.yellow(X.currentCommit.slice(0,7))} ${v.default.dim("→")} ${v.default.green(X.latestCommit.slice(0,7))}`)}if(!Z){let $=await eD({message:"Ready to update?"});if(AD($)||!$)return ZD("Update cancelled"),[]}let J=hD();J.start("Updating...");for(let{name:$,url:X,subpath:G,isLocal:_,installableType:q}of C){let U=B.find((y)=>y.skillName===$);if(!U||U.status!=="update-available"){if(U?.status==="latest")E.push({skillName:$,success:!0,updated:0,failed:0});else E.push({skillName:$,success:!1,updated:0,failed:0});continue}if(!Y.includes($))continue;let z=null,T=0,W=0;try{z=await GF(X);let y=await _F(z),O=G?nI(z,G):z,M=await zF(O),Q=await TF(O),R=M.find((V)=>V.name.toLowerCase()===$.toLowerCase()),w=Q.find((V)=>V.name.toLowerCase()===$.toLowerCase());if(!R&&!w)throw Error("Skill or command not found in repository");let g=_?$0($,q):Z0($,q);for(let V of g){let k=I0(V);if(!X0(k,V.installableType)){if(!_)PF($,q);continue}let x;if(V.installableType==="command"&&w)x=await VF(w,V.agent,{global:V.type==="global"});else if(R)x=await wF(R,V.agent,{global:V.type==="global"});else{W++;continue}if(x.success)T++;else W++}if(_)iC($,q,y);else mC($,q,y);E.push({skillName:$,success:W===0,updated:T,failed:W})}catch(y){E.push({skillName:$,success:!1,updated:T,failed:W+1,error:y instanceof Error?y.message:"Unknown error"})}finally{if(z)await qF(z)}}J.stop("Update complete");let S=E.filter(($)=>$.success&&$.updated>0),H=E.filter(($)=>!$.success||$.failed>0);if(S.length>0){L.success(v.default.green("Updated successfully"));for(let $ of S)L.message(` ${v.default.green("✓")} ${v.default.cyan($.skillName)}`)}if(H.length>0){L.error(v.default.red(`Failed to update ${H.length} ${Lu(H.length,"skill")}`));for(let $ of H)if(L.message(` ${v.default.red("✗")} ${v.default.cyan($.skillName)}`),$.error)L.message(` ${v.default.dim($.error)}`)}if(S.length>0)r(v.default.green("Done! Skills updated."));else r(v.default.yellow("Nothing to update"));return E}async function I6(D,u=!1){if(D.length===0){_0();return}L.step(v.default.bold("Skills Status"));for(let F of D){let E={latest:v.default.green("✓"),"update-available":v.default.yellow("↓"),error:v.default.red("✗"),orphaned:v.default.dim("○")}[F.status],C={latest:v.default.green("Up to date"),"update-available":v.default.yellow("Update available"),error:v.default.red("Failed to check"),orphaned:v.default.dim("Missing files")}[F.status],B=F.installations.filter((I)=>I.exists),A=F.installations.filter((I)=>!I.exists);if(!u){let I=B.length,Y=I>0?` (${I} ${Lu(I,"installation")})`:"";L.message(`${E} ${v.default.cyan(F.installableType+":"+F.skillName)}${v.default.dim(Y)} - ${C}`)}else{if(L.message(`${E} ${v.default.cyan(F.installableType+":"+F.skillName)}`),L.message(` Status: ${C}`),F.status==="update-available")L.message(` ${v.default.dim("Commit:")} ${v.default.yellow(F.currentCommit.slice(0,7))} ${v.default.dim("→")} ${v.default.green(F.latestCommit.slice(0,7))}`);else if(F.status==="latest")L.message(` ${v.default.dim("Commit:")} ${F.currentCommit.slice(0,7)}`);if(F.error)L.message(` ${v.default.red(F.error)}`);if(B.length>0){L.message(` ${v.default.dim("Installed in:")}`);for(let I of B)L.message(` ${v.default.dim("•")} ${I.agent}: ${v.default.dim(I.path)}`)}if(A.length>0){L.message(` ${v.default.yellow("Missing installations:")}`);for(let I of A)L.message(` ${v.default.dim("•")} ${I.agent}: ${v.default.dim(I.path)}`)}}}if(!u)L.info(`Use ${v.default.cyan("--verbose")} or ${v.default.cyan("-v")} for detailed information`)}async function J6(D={}){let u=hD();u.start("Cleaning up..."),await Promise.all([dC(),rC()]),u.stop(v.default.green("State cleaned up"))}async function Z6(D,u){if(!u.silent)OD(xF.default.bgCyan(xF.default.black(" flins ")));try{await A6(D.length>0?D:void 0,u)}catch(F){if(L.error(F instanceof Error?F.message:"Something went wrong. Try again or check your connection."),!u.silent)r(xF.default.red("Update failed"));process.exit(1)}}VD();var q0=o(LD(),1);async function Y6(D,u={}){if(!u.silent)OD(q0.default.bgCyan(q0.default.black(" flins ")));try{let F=await p3(D.length>0?D:void 0),E=u.verbose||D.length>0;if(await I6(F,E),!u.silent)r(q0.default.green("Done"))}catch(F){if(L.error(F instanceof Error?F.message:"Something went wrong. Try again or check your connection."),!u.silent)r(q0.default.red("Failed to check for updates"));process.exit(1)}}VD();var fF=o(LD(),1);VD();Y0();H0();var s=o(LD(),1);import{rmSync as iI}from"fs";gD();RF();async function pI(D){try{return iI(D,{recursive:!0,force:!0}),{success:!0}}catch(u){if(u?.code==="ENOENT")return{success:!0};return{success:!1,error:u instanceof Error?u.message:"Unknown error"}}}async function $6(D=[],u={}){let F=hu(),E=[];if(F.length===0)return _0(),[];let C;if(D.length>0){let H=new Set(D.map(($)=>$.toLowerCase()));C=F.filter(({name:$})=>H.has($.toLowerCase()))}else{let $=F.map(({name:G,isLocal:_,installableType:q})=>{let U=G0(G,q,{isLocal:_});return{value:G,label:G,hint:U.length>0?`${U.length} ${Lu(U.length,"installation")}`:"no valid installations"}}).filter((G)=>G.hint!=="no valid installations");if($.length===0)return L.warn("No valid installations found"),[];if(u.yes||u.force)C=F.filter(({name:G})=>$.some((_)=>_.value===G));else{let G=await xD({message:"Choose skills to remove",options:$,required:!0,initialValues:$.map((q)=>q.value)});if(AD(G))return ZD("Remove cancelled"),[];let _=G;C=F.filter(({name:q})=>_.includes(q))}}if(C.length===0){if(D.length>0){L.error(`No matching skills found for: ${D.join(", ")}`),L.info("Tracked skills:");for(let H of F)L.message(` - ${s.default.cyan(H.name)}`)}return[]}L.step(s.default.bold("Skills to Remove"));let B=[];for(let{name:H,isLocal:$,installableType:X}of C){let G=G0(H,X,{isLocal:$});if(G.length>0){B.push({name:H,isLocal:$,installableType:X,installations:G});let _=G.map(({installation:q})=>n[q.agent].displayName);L.message(` ${s.default.cyan(H)} ${s.default.dim(`(${_.join(", ")})`)}`)}}if(B.length===0)return L.warn("No installations match the specified criteria"),[];let A=D.length===0,I,Y=u.yes||u.force;if(Y||A)I=B.map(({name:H})=>H);else{let H=B.map(({name:X,installations:G})=>({value:X,label:X,hint:`${G.length} ${Lu(G.length,"installation")}`})),$=await xD({message:"Choose skills to remove",options:H,required:!0,initialValues:B.map(({name:X})=>X)});if(AD($))return ZD("Remove cancelled"),[];I=$}L.step(s.default.bold("Will Remove"));for(let H of I){let $=B.find((X)=>X.name===H);if($)L.message(` ${s.default.cyan($.name)}`)}if(!Y){let H=await eD({message:"Remove selected skills?"});if(AD(H)||!H)return ZD("Remove cancelled"),[]}let Z=hD();Z.start("Removing...");for(let{name:H,isLocal:$,installableType:X,installations:G}of B){if(!I.includes(H))continue;let _={skillName:H,success:!0,removed:0,failed:0,installations:[]};for(let{installation:q,resolvedPath:U}of G){let z=await MC(U),T=await pI(U);if(_.installations.push({agent:n[q.agent].displayName,path:U,removed:T.success&&z.success,error:T.error||z.error}),T.success&&z.success)_.removed++;else _.failed++,_.success=!1}if(_.removed>0)if($)nC(H,X);else PF(H,X);E.push(_)}Z.stop("Remove complete");let J=E.filter((H)=>H.success&&H.removed>0),S=E.filter((H)=>!H.success||H.failed>0);if(J.length>0){L.success(s.default.green("Removed successfully"));for(let H of J)L.message(` ${s.default.green("✓")} ${s.default.cyan(H.skillName)}`)}if(S.length>0){L.error(s.default.red(`Failed to remove ${S.length} ${Lu(S.length,"skill")}`));for(let H of S){L.message(` ${s.default.red("✗")} ${s.default.cyan(H.skillName)}`);for(let $ of H.installations.filter((X)=>!X.removed))if($.error)L.message(` ${s.default.dim($.error)}`)}}if(J.length>0)r(s.default.green("Done! Skills removed."));else r(s.default.yellow("Nothing removed"));return E}async function H6(){let D=hu();if(D.length===0){_0();return}L.step(s.default.bold("Installed Skills and Commands"));let u=[],F=[];for(let{name:E,isLocal:C,installableType:B}of D)if(C)u.push({name:E,installableType:B});else F.push({name:E,installableType:B});if(u.length>0){if(F.length>0)L.message(s.default.bold(s.default.cyan("Local (from ./skills.lock)")));for(let{name:E,installableType:C}of u){let A=G0(E,C,{isLocal:!0}).map(({installation:Y})=>n[Y.agent].displayName),I=C==="command"?s.default.yellow("⚡"):s.default.green("✓");L.message(`${I} ${s.default.cyan(E)} ${A.length>0?s.default.dim(`(${A.join(", ")})`):""}`)}}if(F.length>0){if(u.length>0)L.message(s.default.bold(s.default.cyan("Global (from ~/.flins/skills.lock)")));for(let{name:E,installableType:C}of F){let A=G0(E,C,{isLocal:!1}).map(({installation:Y})=>n[Y.agent].displayName),I=C==="command"?s.default.yellow("⚡"):s.default.green("✓");L.message(`${I} ${s.default.cyan(E)} ${A.length>0?s.default.dim(`(${A.join(", ")})`):""}`)}}}async function S6(D,u){if(!u.silent)OD(fF.default.bgCyan(fF.default.black(" flins ")));try{await $6(D,u)}catch(F){if(L.error(F instanceof Error?F.message:"Something went wrong. Try again or check your connection."),!u.silent)r(fF.default.red("Failed to remove skills"));process.exit(1)}}VD();var U0=o(LD(),1);async function X6(){OD(U0.default.bgCyan(U0.default.black(" flins ")));try{await H6(),r(U0.default.green("Showing all installed skills"))}catch(D){L.error(D instanceof Error?D.message:"Something went wrong. Try again or check your connection."),r(U0.default.red("Failed to load skills")),process.exit(1)}}VD();m3();var Bu=o(LD(),1);async function G6(){OD(Bu.default.bgCyan(Bu.default.black(" flins ")));try{let D=hD();D.start("Browsing skills...");let u=await jF();if(D.stop("Directory loaded"),u.length===0){L.warn("Directory is empty"),r("New skills coming soon");return}let F=await CC({message:"Find a skill:",options:u.map((I)=>({value:I.name,label:I.name,hint:`${I.author} - ${I.description.slice(0,50)}${I.description.length>50?"...":""}`})),placeholder:"Type to search..."});if(AD(F)){ZD("Search cancelled");return}let E=Array.isArray(F)?F:[F];if(E.length===0){ZD("No selection made");return}let C=u.filter((I)=>E.includes(I.name));if(C.length===0)return;L.step(Bu.default.bold("Selected Skills"));for(let I of C)L.message(` ${Bu.default.cyan(I.name)} ${Bu.default.dim(`- ${I.author}`)}`);let B=await eD({message:`Add ${C.length} skill${C.length>1?"s":""}?`});if(AD(B)||!B){r(`Install anytime with:
|
|
142
142
|
`+C.map((I)=>` ${Bu.default.green(`flins add ${I.name}`)}`).join(`
|
|
143
|
-
`));return}let{installCommand:A}=await Promise.resolve().then(() => (i3(),F6));for(let I of C)await A(I.name,{
|
|
143
|
+
`));return}let{installCommand:A}=await Promise.resolve().then(() => (i3(),F6));for(let I of C)await A(I.name,{})}catch(D){L.error(D instanceof Error?D.message:"Something went wrong. Try again or check your connection."),r(Bu.default.red("Couldn't load skill directory")),process.exit(1)}}VD();var L0=o(LD(),1);async function _6(D={}){if(!D.silent)OD(L0.default.bgCyan(L0.default.black(" flins ")));try{if(await J6(D),!D.silent)r(L0.default.green("State cleaned up"))}catch(u){if(L.error(u instanceof Error?u.message:"Something went wrong. Try again or check your connection."),!D.silent)r(L0.default.red("Failed to clean up"));process.exit(1)}}import yu from"node:process";import{spawn as rS}from"node:child_process";import{fileURLToPath as aS}from"node:url";import k4 from"node:path";import{format as X8}from"node:util";var O0=o(R6(),1);import T0 from"node:path";import _J from"node:os";import CJ from"os";import cF from"path";var Iu=CJ.homedir(),{env:Qu}=process,w6=Qu.XDG_DATA_HOME||(Iu?cF.join(Iu,".local","share"):void 0),mu=Qu.XDG_CONFIG_HOME||(Iu?cF.join(Iu,".config"):void 0),Tq=Qu.XDG_STATE_HOME||(Iu?cF.join(Iu,".local","state"):void 0),Oq=Qu.XDG_CACHE_HOME||(Iu?cF.join(Iu,".cache"):void 0),Nq=Qu.XDG_RUNTIME_DIR||void 0,BJ=(Qu.XDG_DATA_DIRS||"/usr/local/share/:/usr/share/").split(":");if(w6)BJ.unshift(w6);var AJ=(Qu.XDG_CONFIG_DIRS||"/etc/xdg").split(":");if(mu)AJ.unshift(mu);import XJ from"node:path";import p from"node:fs";import{promisify as GD}from"node:util";var IJ=(D,u)=>{let{onError:F}=u;return function(...C){return D.apply(void 0,C).catch(F)}},cD=IJ;var JJ=(D,u)=>{let{onError:F}=u;return function(...C){try{return D.apply(void 0,C)}catch(B){return F(B)}}},bD=JJ;var W6=250;var ZJ=(D,u)=>{let{isRetriable:F}=u;return function(C){let{timeout:B}=C,A=C.interval??W6,I=Date.now()+B;return function Y(...Z){return D.apply(void 0,Z).catch((J)=>{if(!F(J))throw J;if(Date.now()>=I)throw J;let S=Math.round(A*Math.random());if(S>0)return new Promise(($)=>setTimeout($,S)).then(()=>Y.apply(void 0,Z));else return Y.apply(void 0,Z)})}}},mD=ZJ;var YJ=(D,u)=>{let{isRetriable:F}=u;return function(C){let{timeout:B}=C,A=Date.now()+B;return function(...Y){while(!0)try{return D.apply(void 0,Y)}catch(Z){if(!F(Z))throw Z;if(Date.now()>=A)throw Z;continue}}}},lD=YJ;import M6 from"node:process";var K0={isChangeErrorOk:(D)=>{if(!K0.isNodeError(D))return!1;let{code:u}=D;if(u==="ENOSYS")return!0;if(!V6&&(u==="EINVAL"||u==="EPERM"))return!0;return!1},isNodeError:(D)=>{return D instanceof Error},isRetriableError:(D)=>{if(!K0.isNodeError(D))return!1;let{code:u}=D;if(u==="EMFILE"||u==="ENFILE"||u==="EAGAIN"||u==="EBUSY"||u==="EACCESS"||u==="EACCES"||u==="EACCS"||u==="EPERM")return!0;return!1},onChangeError:(D)=>{if(!K0.isNodeError(D))throw D;if(K0.isChangeErrorOk(D))return;throw D}},t3=K0;var Q0={onError:t3.onChangeError},ND={onError:()=>{return}},V6=M6.getuid?!M6.getuid():!1,HD={isRetriable:t3.isRetriableError};var $J={attempt:{chmod:cD(GD(p.chmod),Q0),chown:cD(GD(p.chown),Q0),close:cD(GD(p.close),ND),fsync:cD(GD(p.fsync),ND),mkdir:cD(GD(p.mkdir),ND),realpath:cD(GD(p.realpath),ND),stat:cD(GD(p.stat),ND),unlink:cD(GD(p.unlink),ND),chmodSync:bD(p.chmodSync,Q0),chownSync:bD(p.chownSync,Q0),closeSync:bD(p.closeSync,ND),existsSync:bD(p.existsSync,ND),fsyncSync:bD(p.fsync,ND),mkdirSync:bD(p.mkdirSync,ND),realpathSync:bD(p.realpathSync,ND),statSync:bD(p.statSync,ND),unlinkSync:bD(p.unlinkSync,ND)},retry:{close:mD(GD(p.close),HD),fsync:mD(GD(p.fsync),HD),open:mD(GD(p.open),HD),readFile:mD(GD(p.readFile),HD),rename:mD(GD(p.rename),HD),stat:mD(GD(p.stat),HD),write:mD(GD(p.write),HD),writeFile:mD(GD(p.writeFile),HD),closeSync:lD(p.closeSync,HD),fsyncSync:lD(p.fsyncSync,HD),openSync:lD(p.openSync,HD),readFileSync:lD(p.readFileSync,HD),renameSync:lD(p.renameSync,HD),statSync:lD(p.statSync,HD),writeSync:lD(p.writeSync,HD),writeFileSync:lD(p.writeFileSync,HD)}},YD=$J;import zu from"node:process";var P6="utf8",e3=438,j6=511;var y6={},x6=zu.geteuid?zu.geteuid():-1,f6=zu.getegid?zu.getegid():-1;var b6=1000,k6=!!zu.getuid,sq=zu.getuid?!zu.getuid():!1,DE=128;var v6=(D)=>{return D instanceof Error&&"code"in D};var uE=(D)=>{return typeof D==="string"},mF=(D)=>{return D===void 0};import SJ from"node:path";import lu from"node:process";import h6 from"node:process";var g6=h6.platform==="linux",lF=h6.platform==="win32";var FE=["SIGHUP","SIGINT","SIGTERM"];if(!lF)FE.push("SIGALRM","SIGABRT","SIGVTALRM","SIGXCPU","SIGXFSZ","SIGUSR2","SIGTRAP","SIGSYS","SIGQUIT","SIGIOT");if(g6)FE.push("SIGIO","SIGPOLL","SIGPWR","SIGSTKFLT");var c6=FE;class m6{constructor(){this.callbacks=new Set,this.exited=!1,this.exit=(D)=>{if(this.exited)return;this.exited=!0;for(let u of this.callbacks)u();if(D)if(lF&&(D!=="SIGINT"&&D!=="SIGTERM"&&D!=="SIGKILL"))lu.kill(lu.pid,"SIGTERM");else lu.kill(lu.pid,D)},this.hook=()=>{lu.once("exit",()=>this.exit());for(let D of c6)try{lu.once(D,()=>this.exit(D))}catch{}},this.register=(D)=>{return this.callbacks.add(D),()=>{this.callbacks.delete(D)}},this.hook()}}var l6=new m6;var HJ=l6.register,d6=HJ;var RD={store:{},create:(D)=>{let u=`000000${Math.floor(Math.random()*16777215).toString(16)}`.slice(-6),F=Date.now().toString().slice(-10),E="tmp-",C=`.tmp-${F}${u}`;return`${D}${C}`},get:(D,u,F=!0)=>{let E=RD.truncate(u(D));if(E in RD.store)return RD.get(D,u,F);return RD.store[E]=F,[E,()=>delete RD.store[E]]},purge:(D)=>{if(!RD.store[D])return;delete RD.store[D],YD.attempt.unlink(D)},purgeSync:(D)=>{if(!RD.store[D])return;delete RD.store[D],YD.attempt.unlinkSync(D)},purgeSyncAll:()=>{for(let D in RD.store)RD.purgeSync(D)},truncate:(D)=>{let u=SJ.basename(D);if(u.length<=DE)return D;let F=/^(\.?)(.*?)((?:\.[^.]+)?(?:\.tmp-\d{10}[a-f0-9]{6})?)$/.exec(u);if(!F)return D;let E=u.length-DE;return`${D.slice(0,-u.length)}${F[1]}${F[2].slice(0,-E)}${F[3]}`}};d6(RD.purgeSyncAll);var z0=RD;function dF(D,u,F=y6){if(uE(F))return dF(D,u,{encoding:F});let C={timeout:F.timeout??b6},B=null,A=null,I=null;try{let Y=YD.attempt.realpathSync(D),Z=!!Y;D=Y||D,[A,B]=z0.get(D,F.tmpCreate||z0.create,F.tmpPurge!==!1);let J=k6&&mF(F.chown),S=mF(F.mode);if(Z&&(J||S)){let H=YD.attempt.statSync(D);if(H){if(F={...F},J)F.chown={uid:H.uid,gid:H.gid};if(S)F.mode=H.mode}}if(!Z){let H=XJ.dirname(D);YD.attempt.mkdirSync(H,{mode:j6,recursive:!0})}if(I=YD.retry.openSync(C)(A,"w",F.mode||e3),F.tmpCreated)F.tmpCreated(A);if(uE(u))YD.retry.writeSync(C)(I,u,0,F.encoding||P6);else if(!mF(u))YD.retry.writeSync(C)(I,u,0,u.length,0);if(F.fsync!==!1)if(F.fsyncWait!==!1)YD.retry.fsyncSync(C)(I);else YD.attempt.fsync(I);if(YD.retry.closeSync(C)(I),I=null,F.chown&&(F.chown.uid!==x6||F.chown.gid!==f6))YD.attempt.chownSync(A,F.chown.uid,F.chown.gid);if(F.mode&&F.mode!==e3)YD.attempt.chmodSync(A,F.mode);try{YD.retry.renameSync(C)(A,D)}catch(H){if(!v6(H))throw H;if(H.code!=="ENAMETOOLONG")throw H;YD.retry.renameSync(C)(A,z0.truncate(D))}B(),A=null}finally{if(I)YD.attempt.closeSync(I);if(A)z0.purge(A)}}var Tu=(D)=>{let u=typeof D;return D!==null&&(u==="object"||u==="function")};var EE=new Set(["__proto__","prototype","constructor"]),GJ=new Set("0123456789");function nF(D){let u=[],F="",E="start",C=!1;for(let B of D)switch(B){case"\\":{if(E==="index")throw Error("Invalid character in an index");if(E==="indexEnd")throw Error("Invalid character after an index");if(C)F+=B;E="property",C=!C;break}case".":{if(E==="index")throw Error("Invalid character in an index");if(E==="indexEnd"){E="property";break}if(C){C=!1,F+=B;break}if(EE.has(F))return[];u.push(F),F="",E="property";break}case"[":{if(E==="index")throw Error("Invalid character in an index");if(E==="indexEnd"){E="index";break}if(C){C=!1,F+=B;break}if(E==="property"){if(EE.has(F))return[];u.push(F),F=""}E="index";break}case"]":{if(E==="index"){u.push(Number.parseInt(F,10)),F="",E="indexEnd";break}if(E==="indexEnd")throw Error("Invalid character after an index")}default:{if(E==="index"&&!GJ.has(B))throw Error("Invalid character in an index");if(E==="indexEnd")throw Error("Invalid character after an index");if(E==="start")E="property";if(C)C=!1,F+="\\";F+=B}}if(C)F+="\\";switch(E){case"property":{if(EE.has(F))return[];u.push(F);break}case"index":throw Error("Index was not closed");case"start":{u.push("");break}}return u}function CE(D,u){if(typeof u!=="number"&&Array.isArray(D)){let F=Number.parseInt(u,10);return Number.isInteger(F)&&D[F]===D[u]}return!1}function n6(D,u){if(CE(D,u))throw Error("Cannot use string index")}function i6(D,u,F){if(!Tu(D)||typeof u!=="string")return F===void 0?D:F;let E=nF(u);if(E.length===0)return F;for(let C=0;C<E.length;C++){let B=E[C];if(CE(D,B))D=C===E.length-1?void 0:null;else D=D[B];if(D===void 0||D===null){if(C!==E.length-1)return F;break}}return D===void 0?F:D}function BE(D,u,F){if(!Tu(D)||typeof u!=="string")return D;let E=D,C=nF(u);for(let B=0;B<C.length;B++){let A=C[B];if(n6(D,A),B===C.length-1)D[A]=F;else if(!Tu(D[A]))D[A]=typeof C[B+1]==="number"?[]:{};D=D[A]}return E}function p6(D,u){if(!Tu(D)||typeof u!=="string")return!1;let F=nF(u);for(let E=0;E<F.length;E++){let C=F[E];if(n6(D,C),E===F.length-1)return delete D[C],!0;if(D=D[C],!Tu(D))return!1}}function r6(D,u){if(!Tu(D)||typeof u!=="string")return!1;let F=nF(u);if(F.length===0)return!1;for(let E of F){if(!Tu(D)||!(E in D)||CE(D,E))return!1;D=D[E]}return!0}function qJ(D,u){let F=u?T0.join(D,"config.json"):T0.join("configstore",`${D}.json`),E=mu??O0.default.mkdtempSync(O0.default.realpathSync(_J.tmpdir())+T0.sep);return T0.join(E,F)}var UJ="You don't have access to this file.",LJ={mode:448,recursive:!0},a6={mode:384};function s6(D){if(D.code==="EACCES")D.message=`${D.message}
|
|
144
144
|
${UJ}
|
|
145
145
|
`;throw D}class iF{constructor(D,u,F={}){if(this._path=F.configPath??qJ(D,F.globalConfigPath),this._clearInvalidConfig=F.clearInvalidConfig??!0,u)this.all={...u,...this.all}}get all(){try{return JSON.parse(O0.default.readFileSync(this._path,"utf8"))}catch(D){if(D.code==="ENOENT")return{};if(D.name==="SyntaxError"){if(this._clearInvalidConfig)return dF(this._path,"",a6),{};throw D}return s6(D),{}}}set all(D){try{O0.default.mkdirSync(T0.dirname(this._path),LJ),dF(this._path,JSON.stringify(D,void 0,"\t"),a6)}catch(u){s6(u)}}get size(){return Object.keys(this.all||{}).length}get(D){return i6(this.all,D)}set(D,u){let F=this.all;if(typeof D==="object"&&arguments.length===1)for(let E of Object.keys(D))BE(F,E,D[E]);else BE(F,D,u);this.all=F}has(D){return r6(this.all,D)}delete(D){let u=this.all;p6(u,D),this.all=u}clear(){this.all={}}get path(){return this._path}}var o6=(D=0)=>(u)=>`\x1B[${u+D}m`,t6=(D=0)=>(u)=>`\x1B[${38+D};5;${u}m`,e6=(D=0)=>(u,F,E)=>`\x1B[${38+D};2;${u};${F};${E}m`,uD={modifier:{reset:[0,0],bold:[1,22],dim:[2,22],italic:[3,23],underline:[4,24],overline:[53,55],inverse:[7,27],hidden:[8,28],strikethrough:[9,29]},color:{black:[30,39],red:[31,39],green:[32,39],yellow:[33,39],blue:[34,39],magenta:[35,39],cyan:[36,39],white:[37,39],blackBright:[90,39],gray:[90,39],grey:[90,39],redBright:[91,39],greenBright:[92,39],yellowBright:[93,39],blueBright:[94,39],magentaBright:[95,39],cyanBright:[96,39],whiteBright:[97,39]},bgColor:{bgBlack:[40,49],bgRed:[41,49],bgGreen:[42,49],bgYellow:[43,49],bgBlue:[44,49],bgMagenta:[45,49],bgCyan:[46,49],bgWhite:[47,49],bgBlackBright:[100,49],bgGray:[100,49],bgGrey:[100,49],bgRedBright:[101,49],bgGreenBright:[102,49],bgYellowBright:[103,49],bgBlueBright:[104,49],bgMagentaBright:[105,49],bgCyanBright:[106,49],bgWhiteBright:[107,49]}},xU=Object.keys(uD.modifier),KJ=Object.keys(uD.color),QJ=Object.keys(uD.bgColor),fU=[...KJ,...QJ];function zJ(){let D=new Map;for(let[u,F]of Object.entries(uD)){for(let[E,C]of Object.entries(F))uD[E]={open:`\x1B[${C[0]}m`,close:`\x1B[${C[1]}m`},F[E]=uD[E],D.set(C[0],C[1]);Object.defineProperty(uD,u,{value:F,enumerable:!1})}return Object.defineProperty(uD,"codes",{value:D,enumerable:!1}),uD.color.close="\x1B[39m",uD.bgColor.close="\x1B[49m",uD.color.ansi=o6(),uD.color.ansi256=t6(),uD.color.ansi16m=e6(),uD.bgColor.ansi=o6(10),uD.bgColor.ansi256=t6(10),uD.bgColor.ansi16m=e6(10),Object.defineProperties(uD,{rgbToAnsi256:{value(u,F,E){if(u===F&&F===E){if(u<8)return 16;if(u>248)return 231;return Math.round((u-8)/247*24)+232}return 16+36*Math.round(u/255*5)+6*Math.round(F/255*5)+Math.round(E/255*5)},enumerable:!1},hexToRgb:{value(u){let F=/[a-f\d]{6}|[a-f\d]{3}/i.exec(u.toString(16));if(!F)return[0,0,0];let[E]=F;if(E.length===3)E=[...E].map((B)=>B+B).join("");let C=Number.parseInt(E,16);return[C>>16&255,C>>8&255,C&255]},enumerable:!1},hexToAnsi256:{value:(u)=>uD.rgbToAnsi256(...uD.hexToRgb(u)),enumerable:!1},ansi256ToAnsi:{value(u){if(u<8)return 30+u;if(u<16)return 90+(u-8);let F,E,C;if(u>=232)F=((u-232)*10+8)/255,E=F,C=F;else{u-=16;let I=u%36;F=Math.floor(u/36)/5,E=Math.floor(I/6)/5,C=I%6/5}let B=Math.max(F,E,C)*2;if(B===0)return 30;let A=30+(Math.round(C)<<2|Math.round(E)<<1|Math.round(F));if(B===2)A+=60;return A},enumerable:!1},rgbToAnsi:{value:(u,F,E)=>uD.ansi256ToAnsi(uD.rgbToAnsi256(u,F,E)),enumerable:!1},hexToAnsi:{value:(u)=>uD.ansi256ToAnsi(uD.hexToAnsi256(u)),enumerable:!1}}),uD}var TJ=zJ(),kD=TJ;import AE from"node:process";import OJ from"node:os";import D1 from"node:tty";function MD(D,u=globalThis.Deno?globalThis.Deno.args:AE.argv){let F=D.startsWith("-")?"":D.length===1?"-":"--",E=u.indexOf(F+D),C=u.indexOf("--");return E!==-1&&(C===-1||E<C)}var{env:FD}=AE,pF;if(MD("no-color")||MD("no-colors")||MD("color=false")||MD("color=never"))pF=0;else if(MD("color")||MD("colors")||MD("color=true")||MD("color=always"))pF=1;function NJ(){if("FORCE_COLOR"in FD){if(FD.FORCE_COLOR==="true")return 1;if(FD.FORCE_COLOR==="false")return 0;return FD.FORCE_COLOR.length===0?1:Math.min(Number.parseInt(FD.FORCE_COLOR,10),3)}}function RJ(D){if(D===0)return!1;return{level:D,hasBasic:!0,has256:D>=2,has16m:D>=3}}function wJ(D,{streamIsTTY:u,sniffFlags:F=!0}={}){let E=NJ();if(E!==void 0)pF=E;let C=F?pF:E;if(C===0)return 0;if(F){if(MD("color=16m")||MD("color=full")||MD("color=truecolor"))return 3;if(MD("color=256"))return 2}if("TF_BUILD"in FD&&"AGENT_NAME"in FD)return 1;if(D&&!u&&C===void 0)return 0;let B=C||0;if(FD.TERM==="dumb")return B;if(AE.platform==="win32"){let A=OJ.release().split(".");if(Number(A[0])>=10&&Number(A[2])>=10586)return Number(A[2])>=14931?3:2;return 1}if("CI"in FD){if(["GITHUB_ACTIONS","GITEA_ACTIONS","CIRCLECI"].some((A)=>(A in FD)))return 3;if(["TRAVIS","APPVEYOR","GITLAB_CI","BUILDKITE","DRONE"].some((A)=>(A in FD))||FD.CI_NAME==="codeship")return 1;return B}if("TEAMCITY_VERSION"in FD)return/^(9\.(0*[1-9]\d*)\.|\d{2,}\.)/.test(FD.TEAMCITY_VERSION)?1:0;if(FD.COLORTERM==="truecolor")return 3;if(FD.TERM==="xterm-kitty")return 3;if(FD.TERM==="xterm-ghostty")return 3;if(FD.TERM==="wezterm")return 3;if("TERM_PROGRAM"in FD){let A=Number.parseInt((FD.TERM_PROGRAM_VERSION||"").split(".")[0],10);switch(FD.TERM_PROGRAM){case"iTerm.app":return A>=3?3:2;case"Apple_Terminal":return 2}}if(/-256(color)?$/i.test(FD.TERM))return 2;if(/^screen|^xterm|^vt100|^vt220|^rxvt|color|ansi|cygwin|linux/i.test(FD.TERM))return 1;if("COLORTERM"in FD)return 1;return B}function u1(D,u={}){let F=wJ(D,{streamIsTTY:D&&D.isTTY,...u});return RJ(F)}var WJ={stdout:u1({isTTY:D1.isatty(1)}),stderr:u1({isTTY:D1.isatty(2)})},F1=WJ;function E1(D,u,F){let E=D.indexOf(u);if(E===-1)return D;let C=u.length,B=0,A="";do A+=D.slice(B,E)+u+F,B=E+C,E=D.indexOf(u,B);while(E!==-1);return A+=D.slice(B),A}function C1(D,u,F,E){let C=0,B="";do{let A=D[E-1]==="\r";B+=D.slice(C,A?E-1:E)+u+(A?`\r
|
|
146
146
|
`:`
|