dwkim 0.0.21 → 0.1.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/index.js CHANGED
@@ -1,12 +1,12 @@
1
- #!/usr/bin/env node
2
1
  "use strict";
2
+ var __create = Object.create;
3
3
  var __defProp = Object.defineProperty;
4
4
  var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
5
5
  var __getOwnPropNames = Object.getOwnPropertyNames;
6
+ var __getProtoOf = Object.getPrototypeOf;
6
7
  var __hasOwnProp = Object.prototype.hasOwnProperty;
7
- var __export = (target, all) => {
8
- for (var name in all)
9
- __defProp(target, name, { get: all[name], enumerable: true });
8
+ var __commonJS = (cb, mod) => function __require() {
9
+ return mod || (0, cb[__getOwnPropNames(cb)[0]])((mod = { exports: {} }).exports, mod), mod.exports;
10
10
  };
11
11
  var __copyProps = (to, from, except, desc) => {
12
12
  if (from && typeof from === "object" || typeof from === "function") {
@@ -16,28 +16,1598 @@ var __copyProps = (to, from, except, desc) => {
16
16
  }
17
17
  return to;
18
18
  };
19
- var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
19
+ var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps(
20
+ // If the importer is in node compatibility mode or this is not an ESM
21
+ // file that has been converted to a CommonJS file using a Babel-
22
+ // compatible transform (i.e. "__esModule" has not been set), then set
23
+ // "default" to the CommonJS "module.exports" for node compatibility.
24
+ isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", { value: mod, enumerable: true }) : target,
25
+ mod
26
+ ));
20
27
 
21
- // src/index.ts
22
- var index_exports = {};
23
- __export(index_exports, {
24
- identitiy: () => identitiy,
25
- multiply: () => multiply
28
+ // node_modules/.pnpm/cli-boxes@3.0.0/node_modules/cli-boxes/boxes.json
29
+ var require_boxes = __commonJS({
30
+ "node_modules/.pnpm/cli-boxes@3.0.0/node_modules/cli-boxes/boxes.json"(exports2, module2) {
31
+ module2.exports = {
32
+ single: {
33
+ topLeft: "\u250C",
34
+ top: "\u2500",
35
+ topRight: "\u2510",
36
+ right: "\u2502",
37
+ bottomRight: "\u2518",
38
+ bottom: "\u2500",
39
+ bottomLeft: "\u2514",
40
+ left: "\u2502"
41
+ },
42
+ double: {
43
+ topLeft: "\u2554",
44
+ top: "\u2550",
45
+ topRight: "\u2557",
46
+ right: "\u2551",
47
+ bottomRight: "\u255D",
48
+ bottom: "\u2550",
49
+ bottomLeft: "\u255A",
50
+ left: "\u2551"
51
+ },
52
+ round: {
53
+ topLeft: "\u256D",
54
+ top: "\u2500",
55
+ topRight: "\u256E",
56
+ right: "\u2502",
57
+ bottomRight: "\u256F",
58
+ bottom: "\u2500",
59
+ bottomLeft: "\u2570",
60
+ left: "\u2502"
61
+ },
62
+ bold: {
63
+ topLeft: "\u250F",
64
+ top: "\u2501",
65
+ topRight: "\u2513",
66
+ right: "\u2503",
67
+ bottomRight: "\u251B",
68
+ bottom: "\u2501",
69
+ bottomLeft: "\u2517",
70
+ left: "\u2503"
71
+ },
72
+ singleDouble: {
73
+ topLeft: "\u2553",
74
+ top: "\u2500",
75
+ topRight: "\u2556",
76
+ right: "\u2551",
77
+ bottomRight: "\u255C",
78
+ bottom: "\u2500",
79
+ bottomLeft: "\u2559",
80
+ left: "\u2551"
81
+ },
82
+ doubleSingle: {
83
+ topLeft: "\u2552",
84
+ top: "\u2550",
85
+ topRight: "\u2555",
86
+ right: "\u2502",
87
+ bottomRight: "\u255B",
88
+ bottom: "\u2550",
89
+ bottomLeft: "\u2558",
90
+ left: "\u2502"
91
+ },
92
+ classic: {
93
+ topLeft: "+",
94
+ top: "-",
95
+ topRight: "+",
96
+ right: "|",
97
+ bottomRight: "+",
98
+ bottom: "-",
99
+ bottomLeft: "+",
100
+ left: "|"
101
+ },
102
+ arrow: {
103
+ topLeft: "\u2198",
104
+ top: "\u2193",
105
+ topRight: "\u2199",
106
+ right: "\u2190",
107
+ bottomRight: "\u2196",
108
+ bottom: "\u2191",
109
+ bottomLeft: "\u2197",
110
+ left: "\u2192"
111
+ }
112
+ };
113
+ }
114
+ });
115
+
116
+ // node_modules/.pnpm/cli-boxes@3.0.0/node_modules/cli-boxes/index.js
117
+ var require_cli_boxes = __commonJS({
118
+ "node_modules/.pnpm/cli-boxes@3.0.0/node_modules/cli-boxes/index.js"(exports2, module2) {
119
+ "use strict";
120
+ var cliBoxes2 = require_boxes();
121
+ module2.exports = cliBoxes2;
122
+ module2.exports.default = cliBoxes2;
123
+ }
124
+ });
125
+
126
+ // node_modules/.pnpm/ansi-regex@5.0.1/node_modules/ansi-regex/index.js
127
+ var require_ansi_regex = __commonJS({
128
+ "node_modules/.pnpm/ansi-regex@5.0.1/node_modules/ansi-regex/index.js"(exports2, module2) {
129
+ "use strict";
130
+ module2.exports = ({ onlyFirst = false } = {}) => {
131
+ const pattern = [
132
+ "[\\u001B\\u009B][[\\]()#;?]*(?:(?:(?:(?:;[-a-zA-Z\\d\\/#&.:=?%@~_]+)*|[a-zA-Z\\d]+(?:;[-a-zA-Z\\d\\/#&.:=?%@~_]*)*)?\\u0007)",
133
+ "(?:(?:\\d{1,4}(?:;\\d{0,4})*)?[\\dA-PR-TZcf-ntqry=><~]))"
134
+ ].join("|");
135
+ return new RegExp(pattern, onlyFirst ? void 0 : "g");
136
+ };
137
+ }
138
+ });
139
+
140
+ // node_modules/.pnpm/strip-ansi@6.0.1/node_modules/strip-ansi/index.js
141
+ var require_strip_ansi = __commonJS({
142
+ "node_modules/.pnpm/strip-ansi@6.0.1/node_modules/strip-ansi/index.js"(exports2, module2) {
143
+ "use strict";
144
+ var ansiRegex2 = require_ansi_regex();
145
+ module2.exports = (string) => typeof string === "string" ? string.replace(ansiRegex2(), "") : string;
146
+ }
147
+ });
148
+
149
+ // node_modules/.pnpm/is-fullwidth-code-point@3.0.0/node_modules/is-fullwidth-code-point/index.js
150
+ var require_is_fullwidth_code_point = __commonJS({
151
+ "node_modules/.pnpm/is-fullwidth-code-point@3.0.0/node_modules/is-fullwidth-code-point/index.js"(exports2, module2) {
152
+ "use strict";
153
+ var isFullwidthCodePoint = (codePoint) => {
154
+ if (Number.isNaN(codePoint)) {
155
+ return false;
156
+ }
157
+ if (codePoint >= 4352 && (codePoint <= 4447 || // Hangul Jamo
158
+ codePoint === 9001 || // LEFT-POINTING ANGLE BRACKET
159
+ codePoint === 9002 || // RIGHT-POINTING ANGLE BRACKET
160
+ // CJK Radicals Supplement .. Enclosed CJK Letters and Months
161
+ 11904 <= codePoint && codePoint <= 12871 && codePoint !== 12351 || // Enclosed CJK Letters and Months .. CJK Unified Ideographs Extension A
162
+ 12880 <= codePoint && codePoint <= 19903 || // CJK Unified Ideographs .. Yi Radicals
163
+ 19968 <= codePoint && codePoint <= 42182 || // Hangul Jamo Extended-A
164
+ 43360 <= codePoint && codePoint <= 43388 || // Hangul Syllables
165
+ 44032 <= codePoint && codePoint <= 55203 || // CJK Compatibility Ideographs
166
+ 63744 <= codePoint && codePoint <= 64255 || // Vertical Forms
167
+ 65040 <= codePoint && codePoint <= 65049 || // CJK Compatibility Forms .. Small Form Variants
168
+ 65072 <= codePoint && codePoint <= 65131 || // Halfwidth and Fullwidth Forms
169
+ 65281 <= codePoint && codePoint <= 65376 || 65504 <= codePoint && codePoint <= 65510 || // Kana Supplement
170
+ 110592 <= codePoint && codePoint <= 110593 || // Enclosed Ideographic Supplement
171
+ 127488 <= codePoint && codePoint <= 127569 || // CJK Unified Ideographs Extension B .. Tertiary Ideographic Plane
172
+ 131072 <= codePoint && codePoint <= 262141)) {
173
+ return true;
174
+ }
175
+ return false;
176
+ };
177
+ module2.exports = isFullwidthCodePoint;
178
+ module2.exports.default = isFullwidthCodePoint;
179
+ }
180
+ });
181
+
182
+ // node_modules/.pnpm/emoji-regex@8.0.0/node_modules/emoji-regex/index.js
183
+ var require_emoji_regex = __commonJS({
184
+ "node_modules/.pnpm/emoji-regex@8.0.0/node_modules/emoji-regex/index.js"(exports2, module2) {
185
+ "use strict";
186
+ module2.exports = function() {
187
+ 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;
188
+ };
189
+ }
190
+ });
191
+
192
+ // node_modules/.pnpm/string-width@4.2.3/node_modules/string-width/index.js
193
+ var require_string_width = __commonJS({
194
+ "node_modules/.pnpm/string-width@4.2.3/node_modules/string-width/index.js"(exports2, module2) {
195
+ "use strict";
196
+ var stripAnsi2 = require_strip_ansi();
197
+ var isFullwidthCodePoint = require_is_fullwidth_code_point();
198
+ var emojiRegex = require_emoji_regex();
199
+ var stringWidth2 = (string) => {
200
+ if (typeof string !== "string" || string.length === 0) {
201
+ return 0;
202
+ }
203
+ string = stripAnsi2(string);
204
+ if (string.length === 0) {
205
+ return 0;
206
+ }
207
+ string = string.replace(emojiRegex(), " ");
208
+ let width = 0;
209
+ for (let i = 0; i < string.length; i++) {
210
+ const code = string.codePointAt(i);
211
+ if (code <= 31 || code >= 127 && code <= 159) {
212
+ continue;
213
+ }
214
+ if (code >= 768 && code <= 879) {
215
+ continue;
216
+ }
217
+ if (code > 65535) {
218
+ i++;
219
+ }
220
+ width += isFullwidthCodePoint(code) ? 2 : 1;
221
+ }
222
+ return width;
223
+ };
224
+ module2.exports = stringWidth2;
225
+ module2.exports.default = stringWidth2;
226
+ }
227
+ });
228
+
229
+ // node_modules/.pnpm/ansi-align@3.0.1/node_modules/ansi-align/index.js
230
+ var require_ansi_align = __commonJS({
231
+ "node_modules/.pnpm/ansi-align@3.0.1/node_modules/ansi-align/index.js"(exports2, module2) {
232
+ "use strict";
233
+ var stringWidth2 = require_string_width();
234
+ function ansiAlign2(text, opts) {
235
+ if (!text) return text;
236
+ opts = opts || {};
237
+ const align = opts.align || "center";
238
+ if (align === "left") return text;
239
+ const split = opts.split || "\n";
240
+ const pad = opts.pad || " ";
241
+ const widthDiffFn = align !== "right" ? halfDiff : fullDiff;
242
+ let returnString = false;
243
+ if (!Array.isArray(text)) {
244
+ returnString = true;
245
+ text = String(text).split(split);
246
+ }
247
+ let width;
248
+ let maxWidth = 0;
249
+ text = text.map(function(str) {
250
+ str = String(str);
251
+ width = stringWidth2(str);
252
+ maxWidth = Math.max(width, maxWidth);
253
+ return {
254
+ str,
255
+ width
256
+ };
257
+ }).map(function(obj) {
258
+ return new Array(widthDiffFn(maxWidth, obj.width) + 1).join(pad) + obj.str;
259
+ });
260
+ return returnString ? text.join(split) : text;
261
+ }
262
+ ansiAlign2.left = function left(text) {
263
+ return ansiAlign2(text, { align: "left" });
264
+ };
265
+ ansiAlign2.center = function center(text) {
266
+ return ansiAlign2(text, { align: "center" });
267
+ };
268
+ ansiAlign2.right = function right(text) {
269
+ return ansiAlign2(text, { align: "right" });
270
+ };
271
+ module2.exports = ansiAlign2;
272
+ function halfDiff(maxWidth, curWidth) {
273
+ return Math.floor((maxWidth - curWidth) / 2);
274
+ }
275
+ function fullDiff(maxWidth, curWidth) {
276
+ return maxWidth - curWidth;
277
+ }
278
+ }
26
279
  });
27
- module.exports = __toCommonJS(index_exports);
28
- function multiply(a, b) {
29
- return a * b;
280
+
281
+ // node_modules/.pnpm/boxen@8.0.1/node_modules/boxen/index.js
282
+ var import_node_process2 = __toESM(require("process"), 1);
283
+
284
+ // node_modules/.pnpm/ansi-regex@6.1.0/node_modules/ansi-regex/index.js
285
+ function ansiRegex({ onlyFirst = false } = {}) {
286
+ const ST = "(?:\\u0007|\\u001B\\u005C|\\u009C)";
287
+ const pattern = [
288
+ `[\\u001B\\u009B][[\\]()#;?]*(?:(?:(?:(?:;[-a-zA-Z\\d\\/#&.:=?%@~_]+)*|[a-zA-Z\\d]+(?:;[-a-zA-Z\\d\\/#&.:=?%@~_]*)*)?${ST})`,
289
+ "(?:(?:\\d{1,4}(?:;\\d{0,4})*)?[\\dA-PR-TZcf-nq-uy=><~]))"
290
+ ].join("|");
291
+ return new RegExp(pattern, onlyFirst ? void 0 : "g");
292
+ }
293
+
294
+ // node_modules/.pnpm/strip-ansi@7.1.0/node_modules/strip-ansi/index.js
295
+ var regex = ansiRegex();
296
+ function stripAnsi(string) {
297
+ if (typeof string !== "string") {
298
+ throw new TypeError(`Expected a \`string\`, got \`${typeof string}\``);
299
+ }
300
+ return string.replace(regex, "");
301
+ }
302
+
303
+ // node_modules/.pnpm/get-east-asian-width@1.3.0/node_modules/get-east-asian-width/lookup.js
304
+ function isAmbiguous(x) {
305
+ return x === 161 || x === 164 || x === 167 || x === 168 || x === 170 || x === 173 || x === 174 || x >= 176 && x <= 180 || x >= 182 && x <= 186 || x >= 188 && x <= 191 || x === 198 || x === 208 || x === 215 || x === 216 || x >= 222 && x <= 225 || x === 230 || x >= 232 && x <= 234 || x === 236 || x === 237 || x === 240 || x === 242 || x === 243 || x >= 247 && x <= 250 || x === 252 || x === 254 || x === 257 || x === 273 || x === 275 || x === 283 || x === 294 || x === 295 || x === 299 || x >= 305 && x <= 307 || x === 312 || x >= 319 && x <= 322 || x === 324 || x >= 328 && x <= 331 || x === 333 || x === 338 || x === 339 || x === 358 || x === 359 || x === 363 || x === 462 || x === 464 || x === 466 || x === 468 || x === 470 || x === 472 || x === 474 || x === 476 || x === 593 || x === 609 || x === 708 || x === 711 || x >= 713 && x <= 715 || x === 717 || x === 720 || x >= 728 && x <= 731 || x === 733 || x === 735 || x >= 768 && x <= 879 || x >= 913 && x <= 929 || x >= 931 && x <= 937 || x >= 945 && x <= 961 || x >= 963 && x <= 969 || x === 1025 || x >= 1040 && x <= 1103 || x === 1105 || x === 8208 || x >= 8211 && x <= 8214 || x === 8216 || x === 8217 || x === 8220 || x === 8221 || x >= 8224 && x <= 8226 || x >= 8228 && x <= 8231 || x === 8240 || x === 8242 || x === 8243 || x === 8245 || x === 8251 || x === 8254 || x === 8308 || x === 8319 || x >= 8321 && x <= 8324 || x === 8364 || x === 8451 || x === 8453 || x === 8457 || x === 8467 || x === 8470 || x === 8481 || x === 8482 || x === 8486 || x === 8491 || x === 8531 || x === 8532 || x >= 8539 && x <= 8542 || x >= 8544 && x <= 8555 || x >= 8560 && x <= 8569 || x === 8585 || x >= 8592 && x <= 8601 || x === 8632 || x === 8633 || x === 8658 || x === 8660 || x === 8679 || x === 8704 || x === 8706 || x === 8707 || x === 8711 || x === 8712 || x === 8715 || x === 8719 || x === 8721 || x === 8725 || x === 8730 || x >= 8733 && x <= 8736 || x === 8739 || x === 8741 || x >= 8743 && x <= 8748 || x === 8750 || x >= 8756 && x <= 8759 || x === 8764 || x === 8765 || x === 8776 || x === 8780 || x === 8786 || x === 8800 || x === 8801 || x >= 8804 && x <= 8807 || x === 8810 || x === 8811 || x === 8814 || x === 8815 || x === 8834 || x === 8835 || x === 8838 || x === 8839 || x === 8853 || x === 8857 || x === 8869 || x === 8895 || x === 8978 || x >= 9312 && x <= 9449 || x >= 9451 && x <= 9547 || x >= 9552 && x <= 9587 || x >= 9600 && x <= 9615 || x >= 9618 && x <= 9621 || x === 9632 || x === 9633 || x >= 9635 && x <= 9641 || x === 9650 || x === 9651 || x === 9654 || x === 9655 || x === 9660 || x === 9661 || x === 9664 || x === 9665 || x >= 9670 && x <= 9672 || x === 9675 || x >= 9678 && x <= 9681 || x >= 9698 && x <= 9701 || x === 9711 || x === 9733 || x === 9734 || x === 9737 || x === 9742 || x === 9743 || x === 9756 || x === 9758 || x === 9792 || x === 9794 || x === 9824 || x === 9825 || x >= 9827 && x <= 9829 || x >= 9831 && x <= 9834 || x === 9836 || x === 9837 || x === 9839 || x === 9886 || x === 9887 || x === 9919 || x >= 9926 && x <= 9933 || x >= 9935 && x <= 9939 || x >= 9941 && x <= 9953 || x === 9955 || x === 9960 || x === 9961 || x >= 9963 && x <= 9969 || x === 9972 || x >= 9974 && x <= 9977 || x === 9979 || x === 9980 || x === 9982 || x === 9983 || x === 10045 || x >= 10102 && x <= 10111 || x >= 11094 && x <= 11097 || x >= 12872 && x <= 12879 || x >= 57344 && x <= 63743 || x >= 65024 && x <= 65039 || x === 65533 || x >= 127232 && x <= 127242 || x >= 127248 && x <= 127277 || x >= 127280 && x <= 127337 || x >= 127344 && x <= 127373 || x === 127375 || x === 127376 || x >= 127387 && x <= 127404 || x >= 917760 && x <= 917999 || x >= 983040 && x <= 1048573 || x >= 1048576 && x <= 1114109;
306
+ }
307
+ function isFullWidth(x) {
308
+ return x === 12288 || x >= 65281 && x <= 65376 || x >= 65504 && x <= 65510;
309
+ }
310
+ function isWide(x) {
311
+ return x >= 4352 && x <= 4447 || x === 8986 || x === 8987 || x === 9001 || x === 9002 || x >= 9193 && x <= 9196 || x === 9200 || x === 9203 || x === 9725 || x === 9726 || x === 9748 || x === 9749 || x >= 9776 && x <= 9783 || x >= 9800 && x <= 9811 || x === 9855 || x >= 9866 && x <= 9871 || x === 9875 || x === 9889 || x === 9898 || x === 9899 || x === 9917 || x === 9918 || x === 9924 || x === 9925 || x === 9934 || x === 9940 || x === 9962 || x === 9970 || x === 9971 || x === 9973 || x === 9978 || x === 9981 || x === 9989 || x === 9994 || x === 9995 || x === 10024 || x === 10060 || x === 10062 || x >= 10067 && x <= 10069 || x === 10071 || x >= 10133 && x <= 10135 || x === 10160 || x === 10175 || x === 11035 || x === 11036 || x === 11088 || x === 11093 || x >= 11904 && x <= 11929 || x >= 11931 && x <= 12019 || x >= 12032 && x <= 12245 || x >= 12272 && x <= 12287 || x >= 12289 && x <= 12350 || x >= 12353 && x <= 12438 || x >= 12441 && x <= 12543 || x >= 12549 && x <= 12591 || x >= 12593 && x <= 12686 || x >= 12688 && x <= 12773 || x >= 12783 && x <= 12830 || x >= 12832 && x <= 12871 || x >= 12880 && x <= 42124 || x >= 42128 && x <= 42182 || x >= 43360 && x <= 43388 || x >= 44032 && x <= 55203 || x >= 63744 && x <= 64255 || x >= 65040 && x <= 65049 || x >= 65072 && x <= 65106 || x >= 65108 && x <= 65126 || x >= 65128 && x <= 65131 || x >= 94176 && x <= 94180 || x === 94192 || x === 94193 || x >= 94208 && x <= 100343 || x >= 100352 && x <= 101589 || x >= 101631 && x <= 101640 || x >= 110576 && x <= 110579 || x >= 110581 && x <= 110587 || x === 110589 || x === 110590 || x >= 110592 && x <= 110882 || x === 110898 || x >= 110928 && x <= 110930 || x === 110933 || x >= 110948 && x <= 110951 || x >= 110960 && x <= 111355 || x >= 119552 && x <= 119638 || x >= 119648 && x <= 119670 || x === 126980 || x === 127183 || x === 127374 || x >= 127377 && x <= 127386 || x >= 127488 && x <= 127490 || x >= 127504 && x <= 127547 || x >= 127552 && x <= 127560 || x === 127568 || x === 127569 || x >= 127584 && x <= 127589 || x >= 127744 && x <= 127776 || x >= 127789 && x <= 127797 || x >= 127799 && x <= 127868 || x >= 127870 && x <= 127891 || x >= 127904 && x <= 127946 || x >= 127951 && x <= 127955 || x >= 127968 && x <= 127984 || x === 127988 || x >= 127992 && x <= 128062 || x === 128064 || x >= 128066 && x <= 128252 || x >= 128255 && x <= 128317 || x >= 128331 && x <= 128334 || x >= 128336 && x <= 128359 || x === 128378 || x === 128405 || x === 128406 || x === 128420 || x >= 128507 && x <= 128591 || x >= 128640 && x <= 128709 || x === 128716 || x >= 128720 && x <= 128722 || x >= 128725 && x <= 128727 || x >= 128732 && x <= 128735 || x === 128747 || x === 128748 || x >= 128756 && x <= 128764 || x >= 128992 && x <= 129003 || x === 129008 || x >= 129292 && x <= 129338 || x >= 129340 && x <= 129349 || x >= 129351 && x <= 129535 || x >= 129648 && x <= 129660 || x >= 129664 && x <= 129673 || x >= 129679 && x <= 129734 || x >= 129742 && x <= 129756 || x >= 129759 && x <= 129769 || x >= 129776 && x <= 129784 || x >= 131072 && x <= 196605 || x >= 196608 && x <= 262141;
312
+ }
313
+
314
+ // node_modules/.pnpm/get-east-asian-width@1.3.0/node_modules/get-east-asian-width/index.js
315
+ function validate(codePoint) {
316
+ if (!Number.isSafeInteger(codePoint)) {
317
+ throw new TypeError(`Expected a code point, got \`${typeof codePoint}\`.`);
318
+ }
30
319
  }
31
- function identitiy(arg) {
32
- return arg;
320
+ function eastAsianWidth(codePoint, { ambiguousAsWide = false } = {}) {
321
+ validate(codePoint);
322
+ if (isFullWidth(codePoint) || isWide(codePoint) || ambiguousAsWide && isAmbiguous(codePoint)) {
323
+ return 2;
324
+ }
325
+ return 1;
33
326
  }
34
- function main() {
35
- console.log("multiply 1 2", multiply(1, 2));
36
- console.log("identitiy 1", identitiy("1"));
327
+
328
+ // node_modules/.pnpm/emoji-regex@10.4.0/node_modules/emoji-regex/index.mjs
329
+ var emoji_regex_default = () => {
330
+ 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\uDC70\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-\uDED7\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]|\uD83E(?:[\uDDAF\uDDBC\uDDBD](?:\u200D\u27A1\uFE0F?)?|[\uDDB0-\uDDB3]|\uDD1D\u200D\uD83D\uDC68\uD83C[\uDFFC-\uDFFF])))?|\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]|\uD83E(?:[\uDDAF\uDDBC\uDDBD](?:\u200D\u27A1\uFE0F?)?|[\uDDB0-\uDDB3]|\uDD1D\u200D\uD83D\uDC68\uD83C[\uDFFB\uDFFD-\uDFFF])))?|\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]|\uD83E(?:[\uDDAF\uDDBC\uDDBD](?:\u200D\u27A1\uFE0F?)?|[\uDDB0-\uDDB3]|\uDD1D\u200D\uD83D\uDC68\uD83C[\uDFFB\uDFFC\uDFFE\uDFFF])))?|\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]|\uD83E(?:[\uDDAF\uDDBC\uDDBD](?:\u200D\u27A1\uFE0F?)?|[\uDDB0-\uDDB3]|\uDD1D\u200D\uD83D\uDC68\uD83C[\uDFFB-\uDFFD\uDFFF])))?|\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]|\uD83E(?:[\uDDAF\uDDBC\uDDBD](?:\u200D\u27A1\uFE0F?)?|[\uDDB0-\uDDB3]|\uDD1D\u200D\uD83D\uDC68\uD83C[\uDFFB-\uDFFE])))?))?|\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]|\uD83E(?:[\uDDAF\uDDBC\uDDBD](?:\u200D\u27A1\uFE0F?)?|[\uDDB0-\uDDB3]|\uDD1D\u200D\uD83D[\uDC68\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]|\uD83E(?:[\uDDAF\uDDBC\uDDBD](?:\u200D\u27A1\uFE0F?)?|[\uDDB0-\uDDB3]|\uDD1D\u200D\uD83D[\uDC68\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]|\uD83E(?:[\uDDAF\uDDBC\uDDBD](?:\u200D\u27A1\uFE0F?)?|[\uDDB0-\uDDB3]|\uDD1D\u200D\uD83D[\uDC68\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]|\uD83E(?:[\uDDAF\uDDBC\uDDBD](?:\u200D\u27A1\uFE0F?)?|[\uDDB0-\uDDB3]|\uDD1D\u200D\uD83D[\uDC68\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]|\uD83E(?:[\uDDAF\uDDBC\uDDBD](?:\u200D\u27A1\uFE0F?)?|[\uDDB0-\uDDB3]|\uDD1D\u200D\uD83D[\uDC68\uDC69]\uD83C[\uDFFB-\uDFFE])))?))?|\uDC6F(?:\u200D[\u2640\u2642]\uFE0F?)?|\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\uDD3D\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-\uDE89\uDE8F-\uDEC2\uDEC6\uDECE-\uDEDC\uDEDF-\uDEE9]|\uDD3C(?:\u200D[\u2640\u2642]\uFE0F?|\uD83C[\uDFFB-\uDFFF])?|\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]|\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]|\uD83E(?:[\uDDAF\uDDBC\uDDBD](?:\u200D\u27A1\uFE0F?)?|[\uDDB0-\uDDB3]|\uDD1D\u200D\uD83E\uDDD1\uD83C[\uDFFB-\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]|\uD83E(?:[\uDDAF\uDDBC\uDDBD](?:\u200D\u27A1\uFE0F?)?|[\uDDB0-\uDDB3]|\uDD1D\u200D\uD83E\uDDD1\uD83C[\uDFFB-\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]|\uD83E(?:[\uDDAF\uDDBC\uDDBD](?:\u200D\u27A1\uFE0F?)?|[\uDDB0-\uDDB3]|\uDD1D\u200D\uD83E\uDDD1\uD83C[\uDFFB-\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]|\uD83E(?:[\uDDAF\uDDBC\uDDBD](?:\u200D\u27A1\uFE0F?)?|[\uDDB0-\uDDB3]|\uDD1D\u200D\uD83E\uDDD1\uD83C[\uDFFB-\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]|\uD83E(?:[\uDDAF\uDDBC\uDDBD](?:\u200D\u27A1\uFE0F?)?|[\uDDB0-\uDDB3]|\uDD1D\u200D\uD83E\uDDD1\uD83C[\uDFFB-\uDFFF])))?))?|\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;
331
+ };
332
+
333
+ // node_modules/.pnpm/string-width@7.2.0/node_modules/string-width/index.js
334
+ var segmenter = new Intl.Segmenter();
335
+ var defaultIgnorableCodePointRegex = /^\p{Default_Ignorable_Code_Point}$/u;
336
+ function stringWidth(string, options = {}) {
337
+ if (typeof string !== "string" || string.length === 0) {
338
+ return 0;
339
+ }
340
+ const {
341
+ ambiguousIsNarrow = true,
342
+ countAnsiEscapeCodes = false
343
+ } = options;
344
+ if (!countAnsiEscapeCodes) {
345
+ string = stripAnsi(string);
346
+ }
347
+ if (string.length === 0) {
348
+ return 0;
349
+ }
350
+ let width = 0;
351
+ const eastAsianWidthOptions = { ambiguousAsWide: !ambiguousIsNarrow };
352
+ for (const { segment: character } of segmenter.segment(string)) {
353
+ const codePoint = character.codePointAt(0);
354
+ if (codePoint <= 31 || codePoint >= 127 && codePoint <= 159) {
355
+ continue;
356
+ }
357
+ if (codePoint >= 8203 && codePoint <= 8207 || codePoint === 65279) {
358
+ continue;
359
+ }
360
+ if (codePoint >= 768 && codePoint <= 879 || codePoint >= 6832 && codePoint <= 6911 || codePoint >= 7616 && codePoint <= 7679 || codePoint >= 8400 && codePoint <= 8447 || codePoint >= 65056 && codePoint <= 65071) {
361
+ continue;
362
+ }
363
+ if (codePoint >= 55296 && codePoint <= 57343) {
364
+ continue;
365
+ }
366
+ if (codePoint >= 65024 && codePoint <= 65039) {
367
+ continue;
368
+ }
369
+ if (defaultIgnorableCodePointRegex.test(character)) {
370
+ continue;
371
+ }
372
+ if (emoji_regex_default().test(character)) {
373
+ width += 2;
374
+ continue;
375
+ }
376
+ width += eastAsianWidth(codePoint, eastAsianWidthOptions);
377
+ }
378
+ return width;
37
379
  }
38
- main();
39
- // Annotate the CommonJS export names for ESM import in node:
40
- 0 && (module.exports = {
41
- identitiy,
42
- multiply
380
+
381
+ // node_modules/.pnpm/chalk@5.4.1/node_modules/chalk/source/vendor/ansi-styles/index.js
382
+ var ANSI_BACKGROUND_OFFSET = 10;
383
+ var wrapAnsi16 = (offset = 0) => (code) => `\x1B[${code + offset}m`;
384
+ var wrapAnsi256 = (offset = 0) => (code) => `\x1B[${38 + offset};5;${code}m`;
385
+ var wrapAnsi16m = (offset = 0) => (red, green, blue) => `\x1B[${38 + offset};2;${red};${green};${blue}m`;
386
+ var styles = {
387
+ modifier: {
388
+ reset: [0, 0],
389
+ // 21 isn't widely supported and 22 does the same thing
390
+ bold: [1, 22],
391
+ dim: [2, 22],
392
+ italic: [3, 23],
393
+ underline: [4, 24],
394
+ overline: [53, 55],
395
+ inverse: [7, 27],
396
+ hidden: [8, 28],
397
+ strikethrough: [9, 29]
398
+ },
399
+ color: {
400
+ black: [30, 39],
401
+ red: [31, 39],
402
+ green: [32, 39],
403
+ yellow: [33, 39],
404
+ blue: [34, 39],
405
+ magenta: [35, 39],
406
+ cyan: [36, 39],
407
+ white: [37, 39],
408
+ // Bright color
409
+ blackBright: [90, 39],
410
+ gray: [90, 39],
411
+ // Alias of `blackBright`
412
+ grey: [90, 39],
413
+ // Alias of `blackBright`
414
+ redBright: [91, 39],
415
+ greenBright: [92, 39],
416
+ yellowBright: [93, 39],
417
+ blueBright: [94, 39],
418
+ magentaBright: [95, 39],
419
+ cyanBright: [96, 39],
420
+ whiteBright: [97, 39]
421
+ },
422
+ bgColor: {
423
+ bgBlack: [40, 49],
424
+ bgRed: [41, 49],
425
+ bgGreen: [42, 49],
426
+ bgYellow: [43, 49],
427
+ bgBlue: [44, 49],
428
+ bgMagenta: [45, 49],
429
+ bgCyan: [46, 49],
430
+ bgWhite: [47, 49],
431
+ // Bright color
432
+ bgBlackBright: [100, 49],
433
+ bgGray: [100, 49],
434
+ // Alias of `bgBlackBright`
435
+ bgGrey: [100, 49],
436
+ // Alias of `bgBlackBright`
437
+ bgRedBright: [101, 49],
438
+ bgGreenBright: [102, 49],
439
+ bgYellowBright: [103, 49],
440
+ bgBlueBright: [104, 49],
441
+ bgMagentaBright: [105, 49],
442
+ bgCyanBright: [106, 49],
443
+ bgWhiteBright: [107, 49]
444
+ }
445
+ };
446
+ var modifierNames = Object.keys(styles.modifier);
447
+ var foregroundColorNames = Object.keys(styles.color);
448
+ var backgroundColorNames = Object.keys(styles.bgColor);
449
+ var colorNames = [...foregroundColorNames, ...backgroundColorNames];
450
+ function assembleStyles() {
451
+ const codes = /* @__PURE__ */ new Map();
452
+ for (const [groupName, group] of Object.entries(styles)) {
453
+ for (const [styleName, style] of Object.entries(group)) {
454
+ styles[styleName] = {
455
+ open: `\x1B[${style[0]}m`,
456
+ close: `\x1B[${style[1]}m`
457
+ };
458
+ group[styleName] = styles[styleName];
459
+ codes.set(style[0], style[1]);
460
+ }
461
+ Object.defineProperty(styles, groupName, {
462
+ value: group,
463
+ enumerable: false
464
+ });
465
+ }
466
+ Object.defineProperty(styles, "codes", {
467
+ value: codes,
468
+ enumerable: false
469
+ });
470
+ styles.color.close = "\x1B[39m";
471
+ styles.bgColor.close = "\x1B[49m";
472
+ styles.color.ansi = wrapAnsi16();
473
+ styles.color.ansi256 = wrapAnsi256();
474
+ styles.color.ansi16m = wrapAnsi16m();
475
+ styles.bgColor.ansi = wrapAnsi16(ANSI_BACKGROUND_OFFSET);
476
+ styles.bgColor.ansi256 = wrapAnsi256(ANSI_BACKGROUND_OFFSET);
477
+ styles.bgColor.ansi16m = wrapAnsi16m(ANSI_BACKGROUND_OFFSET);
478
+ Object.defineProperties(styles, {
479
+ rgbToAnsi256: {
480
+ value(red, green, blue) {
481
+ if (red === green && green === blue) {
482
+ if (red < 8) {
483
+ return 16;
484
+ }
485
+ if (red > 248) {
486
+ return 231;
487
+ }
488
+ return Math.round((red - 8) / 247 * 24) + 232;
489
+ }
490
+ return 16 + 36 * Math.round(red / 255 * 5) + 6 * Math.round(green / 255 * 5) + Math.round(blue / 255 * 5);
491
+ },
492
+ enumerable: false
493
+ },
494
+ hexToRgb: {
495
+ value(hex) {
496
+ const matches = /[a-f\d]{6}|[a-f\d]{3}/i.exec(hex.toString(16));
497
+ if (!matches) {
498
+ return [0, 0, 0];
499
+ }
500
+ let [colorString] = matches;
501
+ if (colorString.length === 3) {
502
+ colorString = [...colorString].map((character) => character + character).join("");
503
+ }
504
+ const integer = Number.parseInt(colorString, 16);
505
+ return [
506
+ /* eslint-disable no-bitwise */
507
+ integer >> 16 & 255,
508
+ integer >> 8 & 255,
509
+ integer & 255
510
+ /* eslint-enable no-bitwise */
511
+ ];
512
+ },
513
+ enumerable: false
514
+ },
515
+ hexToAnsi256: {
516
+ value: (hex) => styles.rgbToAnsi256(...styles.hexToRgb(hex)),
517
+ enumerable: false
518
+ },
519
+ ansi256ToAnsi: {
520
+ value(code) {
521
+ if (code < 8) {
522
+ return 30 + code;
523
+ }
524
+ if (code < 16) {
525
+ return 90 + (code - 8);
526
+ }
527
+ let red;
528
+ let green;
529
+ let blue;
530
+ if (code >= 232) {
531
+ red = ((code - 232) * 10 + 8) / 255;
532
+ green = red;
533
+ blue = red;
534
+ } else {
535
+ code -= 16;
536
+ const remainder = code % 36;
537
+ red = Math.floor(code / 36) / 5;
538
+ green = Math.floor(remainder / 6) / 5;
539
+ blue = remainder % 6 / 5;
540
+ }
541
+ const value = Math.max(red, green, blue) * 2;
542
+ if (value === 0) {
543
+ return 30;
544
+ }
545
+ let result = 30 + (Math.round(blue) << 2 | Math.round(green) << 1 | Math.round(red));
546
+ if (value === 2) {
547
+ result += 60;
548
+ }
549
+ return result;
550
+ },
551
+ enumerable: false
552
+ },
553
+ rgbToAnsi: {
554
+ value: (red, green, blue) => styles.ansi256ToAnsi(styles.rgbToAnsi256(red, green, blue)),
555
+ enumerable: false
556
+ },
557
+ hexToAnsi: {
558
+ value: (hex) => styles.ansi256ToAnsi(styles.hexToAnsi256(hex)),
559
+ enumerable: false
560
+ }
561
+ });
562
+ return styles;
563
+ }
564
+ var ansiStyles = assembleStyles();
565
+ var ansi_styles_default = ansiStyles;
566
+
567
+ // node_modules/.pnpm/chalk@5.4.1/node_modules/chalk/source/vendor/supports-color/index.js
568
+ var import_node_process = __toESM(require("process"), 1);
569
+ var import_node_os = __toESM(require("os"), 1);
570
+ var import_node_tty = __toESM(require("tty"), 1);
571
+ function hasFlag(flag, argv = globalThis.Deno ? globalThis.Deno.args : import_node_process.default.argv) {
572
+ const prefix = flag.startsWith("-") ? "" : flag.length === 1 ? "-" : "--";
573
+ const position = argv.indexOf(prefix + flag);
574
+ const terminatorPosition = argv.indexOf("--");
575
+ return position !== -1 && (terminatorPosition === -1 || position < terminatorPosition);
576
+ }
577
+ var { env } = import_node_process.default;
578
+ var flagForceColor;
579
+ if (hasFlag("no-color") || hasFlag("no-colors") || hasFlag("color=false") || hasFlag("color=never")) {
580
+ flagForceColor = 0;
581
+ } else if (hasFlag("color") || hasFlag("colors") || hasFlag("color=true") || hasFlag("color=always")) {
582
+ flagForceColor = 1;
583
+ }
584
+ function envForceColor() {
585
+ if ("FORCE_COLOR" in env) {
586
+ if (env.FORCE_COLOR === "true") {
587
+ return 1;
588
+ }
589
+ if (env.FORCE_COLOR === "false") {
590
+ return 0;
591
+ }
592
+ return env.FORCE_COLOR.length === 0 ? 1 : Math.min(Number.parseInt(env.FORCE_COLOR, 10), 3);
593
+ }
594
+ }
595
+ function translateLevel(level) {
596
+ if (level === 0) {
597
+ return false;
598
+ }
599
+ return {
600
+ level,
601
+ hasBasic: true,
602
+ has256: level >= 2,
603
+ has16m: level >= 3
604
+ };
605
+ }
606
+ function _supportsColor(haveStream, { streamIsTTY, sniffFlags = true } = {}) {
607
+ const noFlagForceColor = envForceColor();
608
+ if (noFlagForceColor !== void 0) {
609
+ flagForceColor = noFlagForceColor;
610
+ }
611
+ const forceColor = sniffFlags ? flagForceColor : noFlagForceColor;
612
+ if (forceColor === 0) {
613
+ return 0;
614
+ }
615
+ if (sniffFlags) {
616
+ if (hasFlag("color=16m") || hasFlag("color=full") || hasFlag("color=truecolor")) {
617
+ return 3;
618
+ }
619
+ if (hasFlag("color=256")) {
620
+ return 2;
621
+ }
622
+ }
623
+ if ("TF_BUILD" in env && "AGENT_NAME" in env) {
624
+ return 1;
625
+ }
626
+ if (haveStream && !streamIsTTY && forceColor === void 0) {
627
+ return 0;
628
+ }
629
+ const min = forceColor || 0;
630
+ if (env.TERM === "dumb") {
631
+ return min;
632
+ }
633
+ if (import_node_process.default.platform === "win32") {
634
+ const osRelease = import_node_os.default.release().split(".");
635
+ if (Number(osRelease[0]) >= 10 && Number(osRelease[2]) >= 10586) {
636
+ return Number(osRelease[2]) >= 14931 ? 3 : 2;
637
+ }
638
+ return 1;
639
+ }
640
+ if ("CI" in env) {
641
+ if (["GITHUB_ACTIONS", "GITEA_ACTIONS", "CIRCLECI"].some((key) => key in env)) {
642
+ return 3;
643
+ }
644
+ if (["TRAVIS", "APPVEYOR", "GITLAB_CI", "BUILDKITE", "DRONE"].some((sign) => sign in env) || env.CI_NAME === "codeship") {
645
+ return 1;
646
+ }
647
+ return min;
648
+ }
649
+ if ("TEAMCITY_VERSION" in env) {
650
+ return /^(9\.(0*[1-9]\d*)\.|\d{2,}\.)/.test(env.TEAMCITY_VERSION) ? 1 : 0;
651
+ }
652
+ if (env.COLORTERM === "truecolor") {
653
+ return 3;
654
+ }
655
+ if (env.TERM === "xterm-kitty") {
656
+ return 3;
657
+ }
658
+ if ("TERM_PROGRAM" in env) {
659
+ const version = Number.parseInt((env.TERM_PROGRAM_VERSION || "").split(".")[0], 10);
660
+ switch (env.TERM_PROGRAM) {
661
+ case "iTerm.app": {
662
+ return version >= 3 ? 3 : 2;
663
+ }
664
+ case "Apple_Terminal": {
665
+ return 2;
666
+ }
667
+ }
668
+ }
669
+ if (/-256(color)?$/i.test(env.TERM)) {
670
+ return 2;
671
+ }
672
+ if (/^screen|^xterm|^vt100|^vt220|^rxvt|color|ansi|cygwin|linux/i.test(env.TERM)) {
673
+ return 1;
674
+ }
675
+ if ("COLORTERM" in env) {
676
+ return 1;
677
+ }
678
+ return min;
679
+ }
680
+ function createSupportsColor(stream, options = {}) {
681
+ const level = _supportsColor(stream, {
682
+ streamIsTTY: stream && stream.isTTY,
683
+ ...options
684
+ });
685
+ return translateLevel(level);
686
+ }
687
+ var supportsColor = {
688
+ stdout: createSupportsColor({ isTTY: import_node_tty.default.isatty(1) }),
689
+ stderr: createSupportsColor({ isTTY: import_node_tty.default.isatty(2) })
690
+ };
691
+ var supports_color_default = supportsColor;
692
+
693
+ // node_modules/.pnpm/chalk@5.4.1/node_modules/chalk/source/utilities.js
694
+ function stringReplaceAll(string, substring, replacer) {
695
+ let index = string.indexOf(substring);
696
+ if (index === -1) {
697
+ return string;
698
+ }
699
+ const substringLength = substring.length;
700
+ let endIndex = 0;
701
+ let returnValue = "";
702
+ do {
703
+ returnValue += string.slice(endIndex, index) + substring + replacer;
704
+ endIndex = index + substringLength;
705
+ index = string.indexOf(substring, endIndex);
706
+ } while (index !== -1);
707
+ returnValue += string.slice(endIndex);
708
+ return returnValue;
709
+ }
710
+ function stringEncaseCRLFWithFirstIndex(string, prefix, postfix, index) {
711
+ let endIndex = 0;
712
+ let returnValue = "";
713
+ do {
714
+ const gotCR = string[index - 1] === "\r";
715
+ returnValue += string.slice(endIndex, gotCR ? index - 1 : index) + prefix + (gotCR ? "\r\n" : "\n") + postfix;
716
+ endIndex = index + 1;
717
+ index = string.indexOf("\n", endIndex);
718
+ } while (index !== -1);
719
+ returnValue += string.slice(endIndex);
720
+ return returnValue;
721
+ }
722
+
723
+ // node_modules/.pnpm/chalk@5.4.1/node_modules/chalk/source/index.js
724
+ var { stdout: stdoutColor, stderr: stderrColor } = supports_color_default;
725
+ var GENERATOR = Symbol("GENERATOR");
726
+ var STYLER = Symbol("STYLER");
727
+ var IS_EMPTY = Symbol("IS_EMPTY");
728
+ var levelMapping = [
729
+ "ansi",
730
+ "ansi",
731
+ "ansi256",
732
+ "ansi16m"
733
+ ];
734
+ var styles2 = /* @__PURE__ */ Object.create(null);
735
+ var applyOptions = (object, options = {}) => {
736
+ if (options.level && !(Number.isInteger(options.level) && options.level >= 0 && options.level <= 3)) {
737
+ throw new Error("The `level` option should be an integer from 0 to 3");
738
+ }
739
+ const colorLevel = stdoutColor ? stdoutColor.level : 0;
740
+ object.level = options.level === void 0 ? colorLevel : options.level;
741
+ };
742
+ var chalkFactory = (options) => {
743
+ const chalk2 = (...strings) => strings.join(" ");
744
+ applyOptions(chalk2, options);
745
+ Object.setPrototypeOf(chalk2, createChalk.prototype);
746
+ return chalk2;
747
+ };
748
+ function createChalk(options) {
749
+ return chalkFactory(options);
750
+ }
751
+ Object.setPrototypeOf(createChalk.prototype, Function.prototype);
752
+ for (const [styleName, style] of Object.entries(ansi_styles_default)) {
753
+ styles2[styleName] = {
754
+ get() {
755
+ const builder = createBuilder(this, createStyler(style.open, style.close, this[STYLER]), this[IS_EMPTY]);
756
+ Object.defineProperty(this, styleName, { value: builder });
757
+ return builder;
758
+ }
759
+ };
760
+ }
761
+ styles2.visible = {
762
+ get() {
763
+ const builder = createBuilder(this, this[STYLER], true);
764
+ Object.defineProperty(this, "visible", { value: builder });
765
+ return builder;
766
+ }
767
+ };
768
+ var getModelAnsi = (model, level, type, ...arguments_) => {
769
+ if (model === "rgb") {
770
+ if (level === "ansi16m") {
771
+ return ansi_styles_default[type].ansi16m(...arguments_);
772
+ }
773
+ if (level === "ansi256") {
774
+ return ansi_styles_default[type].ansi256(ansi_styles_default.rgbToAnsi256(...arguments_));
775
+ }
776
+ return ansi_styles_default[type].ansi(ansi_styles_default.rgbToAnsi(...arguments_));
777
+ }
778
+ if (model === "hex") {
779
+ return getModelAnsi("rgb", level, type, ...ansi_styles_default.hexToRgb(...arguments_));
780
+ }
781
+ return ansi_styles_default[type][model](...arguments_);
782
+ };
783
+ var usedModels = ["rgb", "hex", "ansi256"];
784
+ for (const model of usedModels) {
785
+ styles2[model] = {
786
+ get() {
787
+ const { level } = this;
788
+ return function(...arguments_) {
789
+ const styler = createStyler(getModelAnsi(model, levelMapping[level], "color", ...arguments_), ansi_styles_default.color.close, this[STYLER]);
790
+ return createBuilder(this, styler, this[IS_EMPTY]);
791
+ };
792
+ }
793
+ };
794
+ const bgModel = "bg" + model[0].toUpperCase() + model.slice(1);
795
+ styles2[bgModel] = {
796
+ get() {
797
+ const { level } = this;
798
+ return function(...arguments_) {
799
+ const styler = createStyler(getModelAnsi(model, levelMapping[level], "bgColor", ...arguments_), ansi_styles_default.bgColor.close, this[STYLER]);
800
+ return createBuilder(this, styler, this[IS_EMPTY]);
801
+ };
802
+ }
803
+ };
804
+ }
805
+ var proto = Object.defineProperties(() => {
806
+ }, {
807
+ ...styles2,
808
+ level: {
809
+ enumerable: true,
810
+ get() {
811
+ return this[GENERATOR].level;
812
+ },
813
+ set(level) {
814
+ this[GENERATOR].level = level;
815
+ }
816
+ }
43
817
  });
818
+ var createStyler = (open, close, parent) => {
819
+ let openAll;
820
+ let closeAll;
821
+ if (parent === void 0) {
822
+ openAll = open;
823
+ closeAll = close;
824
+ } else {
825
+ openAll = parent.openAll + open;
826
+ closeAll = close + parent.closeAll;
827
+ }
828
+ return {
829
+ open,
830
+ close,
831
+ openAll,
832
+ closeAll,
833
+ parent
834
+ };
835
+ };
836
+ var createBuilder = (self, _styler, _isEmpty) => {
837
+ const builder = (...arguments_) => applyStyle(builder, arguments_.length === 1 ? "" + arguments_[0] : arguments_.join(" "));
838
+ Object.setPrototypeOf(builder, proto);
839
+ builder[GENERATOR] = self;
840
+ builder[STYLER] = _styler;
841
+ builder[IS_EMPTY] = _isEmpty;
842
+ return builder;
843
+ };
844
+ var applyStyle = (self, string) => {
845
+ if (self.level <= 0 || !string) {
846
+ return self[IS_EMPTY] ? "" : string;
847
+ }
848
+ let styler = self[STYLER];
849
+ if (styler === void 0) {
850
+ return string;
851
+ }
852
+ const { openAll, closeAll } = styler;
853
+ if (string.includes("\x1B")) {
854
+ while (styler !== void 0) {
855
+ string = stringReplaceAll(string, styler.close, styler.open);
856
+ styler = styler.parent;
857
+ }
858
+ }
859
+ const lfIndex = string.indexOf("\n");
860
+ if (lfIndex !== -1) {
861
+ string = stringEncaseCRLFWithFirstIndex(string, closeAll, openAll, lfIndex);
862
+ }
863
+ return openAll + string + closeAll;
864
+ };
865
+ Object.defineProperties(createChalk.prototype, styles2);
866
+ var chalk = createChalk();
867
+ var chalkStderr = createChalk({ level: stderrColor ? stderrColor.level : 0 });
868
+ var source_default = chalk;
869
+
870
+ // node_modules/.pnpm/widest-line@5.0.0/node_modules/widest-line/index.js
871
+ function widestLine(string) {
872
+ let lineWidth = 0;
873
+ for (const line of string.split("\n")) {
874
+ lineWidth = Math.max(lineWidth, stringWidth(line));
875
+ }
876
+ return lineWidth;
877
+ }
878
+
879
+ // node_modules/.pnpm/boxen@8.0.1/node_modules/boxen/index.js
880
+ var import_cli_boxes = __toESM(require_cli_boxes(), 1);
881
+
882
+ // node_modules/.pnpm/camelcase@8.0.0/node_modules/camelcase/index.js
883
+ var UPPERCASE = /[\p{Lu}]/u;
884
+ var LOWERCASE = /[\p{Ll}]/u;
885
+ var LEADING_CAPITAL = /^[\p{Lu}](?![\p{Lu}])/gu;
886
+ var IDENTIFIER = /([\p{Alpha}\p{N}_]|$)/u;
887
+ var SEPARATORS = /[_.\- ]+/;
888
+ var LEADING_SEPARATORS = new RegExp("^" + SEPARATORS.source);
889
+ var SEPARATORS_AND_IDENTIFIER = new RegExp(SEPARATORS.source + IDENTIFIER.source, "gu");
890
+ var NUMBERS_AND_IDENTIFIER = new RegExp("\\d+" + IDENTIFIER.source, "gu");
891
+ var preserveCamelCase = (string, toLowerCase, toUpperCase, preserveConsecutiveUppercase2) => {
892
+ let isLastCharLower = false;
893
+ let isLastCharUpper = false;
894
+ let isLastLastCharUpper = false;
895
+ let isLastLastCharPreserved = false;
896
+ for (let index = 0; index < string.length; index++) {
897
+ const character = string[index];
898
+ isLastLastCharPreserved = index > 2 ? string[index - 3] === "-" : true;
899
+ if (isLastCharLower && UPPERCASE.test(character)) {
900
+ string = string.slice(0, index) + "-" + string.slice(index);
901
+ isLastCharLower = false;
902
+ isLastLastCharUpper = isLastCharUpper;
903
+ isLastCharUpper = true;
904
+ index++;
905
+ } else if (isLastCharUpper && isLastLastCharUpper && LOWERCASE.test(character) && (!isLastLastCharPreserved || preserveConsecutiveUppercase2)) {
906
+ string = string.slice(0, index - 1) + "-" + string.slice(index - 1);
907
+ isLastLastCharUpper = isLastCharUpper;
908
+ isLastCharUpper = false;
909
+ isLastCharLower = true;
910
+ } else {
911
+ isLastCharLower = toLowerCase(character) === character && toUpperCase(character) !== character;
912
+ isLastLastCharUpper = isLastCharUpper;
913
+ isLastCharUpper = toUpperCase(character) === character && toLowerCase(character) !== character;
914
+ }
915
+ }
916
+ return string;
917
+ };
918
+ var preserveConsecutiveUppercase = (input, toLowerCase) => {
919
+ LEADING_CAPITAL.lastIndex = 0;
920
+ return input.replaceAll(LEADING_CAPITAL, (match) => toLowerCase(match));
921
+ };
922
+ var postProcess = (input, toUpperCase) => {
923
+ SEPARATORS_AND_IDENTIFIER.lastIndex = 0;
924
+ NUMBERS_AND_IDENTIFIER.lastIndex = 0;
925
+ return input.replaceAll(NUMBERS_AND_IDENTIFIER, (match, pattern, offset) => ["_", "-"].includes(input.charAt(offset + match.length)) ? match : toUpperCase(match)).replaceAll(SEPARATORS_AND_IDENTIFIER, (_, identifier) => toUpperCase(identifier));
926
+ };
927
+ function camelCase(input, options) {
928
+ if (!(typeof input === "string" || Array.isArray(input))) {
929
+ throw new TypeError("Expected the input to be `string | string[]`");
930
+ }
931
+ options = {
932
+ pascalCase: false,
933
+ preserveConsecutiveUppercase: false,
934
+ ...options
935
+ };
936
+ if (Array.isArray(input)) {
937
+ input = input.map((x) => x.trim()).filter((x) => x.length).join("-");
938
+ } else {
939
+ input = input.trim();
940
+ }
941
+ if (input.length === 0) {
942
+ return "";
943
+ }
944
+ const toLowerCase = options.locale === false ? (string) => string.toLowerCase() : (string) => string.toLocaleLowerCase(options.locale);
945
+ const toUpperCase = options.locale === false ? (string) => string.toUpperCase() : (string) => string.toLocaleUpperCase(options.locale);
946
+ if (input.length === 1) {
947
+ if (SEPARATORS.test(input)) {
948
+ return "";
949
+ }
950
+ return options.pascalCase ? toUpperCase(input) : toLowerCase(input);
951
+ }
952
+ const hasUpperCase = input !== toLowerCase(input);
953
+ if (hasUpperCase) {
954
+ input = preserveCamelCase(input, toLowerCase, toUpperCase, options.preserveConsecutiveUppercase);
955
+ }
956
+ input = input.replace(LEADING_SEPARATORS, "");
957
+ input = options.preserveConsecutiveUppercase ? preserveConsecutiveUppercase(input, toLowerCase) : toLowerCase(input);
958
+ if (options.pascalCase) {
959
+ input = toUpperCase(input.charAt(0)) + input.slice(1);
960
+ }
961
+ return postProcess(input, toUpperCase);
962
+ }
963
+
964
+ // node_modules/.pnpm/boxen@8.0.1/node_modules/boxen/index.js
965
+ var import_ansi_align = __toESM(require_ansi_align(), 1);
966
+
967
+ // node_modules/.pnpm/ansi-styles@6.2.1/node_modules/ansi-styles/index.js
968
+ var ANSI_BACKGROUND_OFFSET2 = 10;
969
+ var wrapAnsi162 = (offset = 0) => (code) => `\x1B[${code + offset}m`;
970
+ var wrapAnsi2562 = (offset = 0) => (code) => `\x1B[${38 + offset};5;${code}m`;
971
+ var wrapAnsi16m2 = (offset = 0) => (red, green, blue) => `\x1B[${38 + offset};2;${red};${green};${blue}m`;
972
+ var styles3 = {
973
+ modifier: {
974
+ reset: [0, 0],
975
+ // 21 isn't widely supported and 22 does the same thing
976
+ bold: [1, 22],
977
+ dim: [2, 22],
978
+ italic: [3, 23],
979
+ underline: [4, 24],
980
+ overline: [53, 55],
981
+ inverse: [7, 27],
982
+ hidden: [8, 28],
983
+ strikethrough: [9, 29]
984
+ },
985
+ color: {
986
+ black: [30, 39],
987
+ red: [31, 39],
988
+ green: [32, 39],
989
+ yellow: [33, 39],
990
+ blue: [34, 39],
991
+ magenta: [35, 39],
992
+ cyan: [36, 39],
993
+ white: [37, 39],
994
+ // Bright color
995
+ blackBright: [90, 39],
996
+ gray: [90, 39],
997
+ // Alias of `blackBright`
998
+ grey: [90, 39],
999
+ // Alias of `blackBright`
1000
+ redBright: [91, 39],
1001
+ greenBright: [92, 39],
1002
+ yellowBright: [93, 39],
1003
+ blueBright: [94, 39],
1004
+ magentaBright: [95, 39],
1005
+ cyanBright: [96, 39],
1006
+ whiteBright: [97, 39]
1007
+ },
1008
+ bgColor: {
1009
+ bgBlack: [40, 49],
1010
+ bgRed: [41, 49],
1011
+ bgGreen: [42, 49],
1012
+ bgYellow: [43, 49],
1013
+ bgBlue: [44, 49],
1014
+ bgMagenta: [45, 49],
1015
+ bgCyan: [46, 49],
1016
+ bgWhite: [47, 49],
1017
+ // Bright color
1018
+ bgBlackBright: [100, 49],
1019
+ bgGray: [100, 49],
1020
+ // Alias of `bgBlackBright`
1021
+ bgGrey: [100, 49],
1022
+ // Alias of `bgBlackBright`
1023
+ bgRedBright: [101, 49],
1024
+ bgGreenBright: [102, 49],
1025
+ bgYellowBright: [103, 49],
1026
+ bgBlueBright: [104, 49],
1027
+ bgMagentaBright: [105, 49],
1028
+ bgCyanBright: [106, 49],
1029
+ bgWhiteBright: [107, 49]
1030
+ }
1031
+ };
1032
+ var modifierNames2 = Object.keys(styles3.modifier);
1033
+ var foregroundColorNames2 = Object.keys(styles3.color);
1034
+ var backgroundColorNames2 = Object.keys(styles3.bgColor);
1035
+ var colorNames2 = [...foregroundColorNames2, ...backgroundColorNames2];
1036
+ function assembleStyles2() {
1037
+ const codes = /* @__PURE__ */ new Map();
1038
+ for (const [groupName, group] of Object.entries(styles3)) {
1039
+ for (const [styleName, style] of Object.entries(group)) {
1040
+ styles3[styleName] = {
1041
+ open: `\x1B[${style[0]}m`,
1042
+ close: `\x1B[${style[1]}m`
1043
+ };
1044
+ group[styleName] = styles3[styleName];
1045
+ codes.set(style[0], style[1]);
1046
+ }
1047
+ Object.defineProperty(styles3, groupName, {
1048
+ value: group,
1049
+ enumerable: false
1050
+ });
1051
+ }
1052
+ Object.defineProperty(styles3, "codes", {
1053
+ value: codes,
1054
+ enumerable: false
1055
+ });
1056
+ styles3.color.close = "\x1B[39m";
1057
+ styles3.bgColor.close = "\x1B[49m";
1058
+ styles3.color.ansi = wrapAnsi162();
1059
+ styles3.color.ansi256 = wrapAnsi2562();
1060
+ styles3.color.ansi16m = wrapAnsi16m2();
1061
+ styles3.bgColor.ansi = wrapAnsi162(ANSI_BACKGROUND_OFFSET2);
1062
+ styles3.bgColor.ansi256 = wrapAnsi2562(ANSI_BACKGROUND_OFFSET2);
1063
+ styles3.bgColor.ansi16m = wrapAnsi16m2(ANSI_BACKGROUND_OFFSET2);
1064
+ Object.defineProperties(styles3, {
1065
+ rgbToAnsi256: {
1066
+ value: (red, green, blue) => {
1067
+ if (red === green && green === blue) {
1068
+ if (red < 8) {
1069
+ return 16;
1070
+ }
1071
+ if (red > 248) {
1072
+ return 231;
1073
+ }
1074
+ return Math.round((red - 8) / 247 * 24) + 232;
1075
+ }
1076
+ return 16 + 36 * Math.round(red / 255 * 5) + 6 * Math.round(green / 255 * 5) + Math.round(blue / 255 * 5);
1077
+ },
1078
+ enumerable: false
1079
+ },
1080
+ hexToRgb: {
1081
+ value: (hex) => {
1082
+ const matches = /[a-f\d]{6}|[a-f\d]{3}/i.exec(hex.toString(16));
1083
+ if (!matches) {
1084
+ return [0, 0, 0];
1085
+ }
1086
+ let [colorString] = matches;
1087
+ if (colorString.length === 3) {
1088
+ colorString = [...colorString].map((character) => character + character).join("");
1089
+ }
1090
+ const integer = Number.parseInt(colorString, 16);
1091
+ return [
1092
+ /* eslint-disable no-bitwise */
1093
+ integer >> 16 & 255,
1094
+ integer >> 8 & 255,
1095
+ integer & 255
1096
+ /* eslint-enable no-bitwise */
1097
+ ];
1098
+ },
1099
+ enumerable: false
1100
+ },
1101
+ hexToAnsi256: {
1102
+ value: (hex) => styles3.rgbToAnsi256(...styles3.hexToRgb(hex)),
1103
+ enumerable: false
1104
+ },
1105
+ ansi256ToAnsi: {
1106
+ value: (code) => {
1107
+ if (code < 8) {
1108
+ return 30 + code;
1109
+ }
1110
+ if (code < 16) {
1111
+ return 90 + (code - 8);
1112
+ }
1113
+ let red;
1114
+ let green;
1115
+ let blue;
1116
+ if (code >= 232) {
1117
+ red = ((code - 232) * 10 + 8) / 255;
1118
+ green = red;
1119
+ blue = red;
1120
+ } else {
1121
+ code -= 16;
1122
+ const remainder = code % 36;
1123
+ red = Math.floor(code / 36) / 5;
1124
+ green = Math.floor(remainder / 6) / 5;
1125
+ blue = remainder % 6 / 5;
1126
+ }
1127
+ const value = Math.max(red, green, blue) * 2;
1128
+ if (value === 0) {
1129
+ return 30;
1130
+ }
1131
+ let result = 30 + (Math.round(blue) << 2 | Math.round(green) << 1 | Math.round(red));
1132
+ if (value === 2) {
1133
+ result += 60;
1134
+ }
1135
+ return result;
1136
+ },
1137
+ enumerable: false
1138
+ },
1139
+ rgbToAnsi: {
1140
+ value: (red, green, blue) => styles3.ansi256ToAnsi(styles3.rgbToAnsi256(red, green, blue)),
1141
+ enumerable: false
1142
+ },
1143
+ hexToAnsi: {
1144
+ value: (hex) => styles3.ansi256ToAnsi(styles3.hexToAnsi256(hex)),
1145
+ enumerable: false
1146
+ }
1147
+ });
1148
+ return styles3;
1149
+ }
1150
+ var ansiStyles2 = assembleStyles2();
1151
+ var ansi_styles_default2 = ansiStyles2;
1152
+
1153
+ // node_modules/.pnpm/wrap-ansi@9.0.0/node_modules/wrap-ansi/index.js
1154
+ var ESCAPES = /* @__PURE__ */ new Set([
1155
+ "\x1B",
1156
+ "\x9B"
1157
+ ]);
1158
+ var END_CODE = 39;
1159
+ var ANSI_ESCAPE_BELL = "\x07";
1160
+ var ANSI_CSI = "[";
1161
+ var ANSI_OSC = "]";
1162
+ var ANSI_SGR_TERMINATOR = "m";
1163
+ var ANSI_ESCAPE_LINK = `${ANSI_OSC}8;;`;
1164
+ var wrapAnsiCode = (code) => `${ESCAPES.values().next().value}${ANSI_CSI}${code}${ANSI_SGR_TERMINATOR}`;
1165
+ var wrapAnsiHyperlink = (url) => `${ESCAPES.values().next().value}${ANSI_ESCAPE_LINK}${url}${ANSI_ESCAPE_BELL}`;
1166
+ var wordLengths = (string) => string.split(" ").map((character) => stringWidth(character));
1167
+ var wrapWord = (rows, word, columns) => {
1168
+ const characters = [...word];
1169
+ let isInsideEscape = false;
1170
+ let isInsideLinkEscape = false;
1171
+ let visible = stringWidth(stripAnsi(rows.at(-1)));
1172
+ for (const [index, character] of characters.entries()) {
1173
+ const characterLength = stringWidth(character);
1174
+ if (visible + characterLength <= columns) {
1175
+ rows[rows.length - 1] += character;
1176
+ } else {
1177
+ rows.push(character);
1178
+ visible = 0;
1179
+ }
1180
+ if (ESCAPES.has(character)) {
1181
+ isInsideEscape = true;
1182
+ const ansiEscapeLinkCandidate = characters.slice(index + 1, index + 1 + ANSI_ESCAPE_LINK.length).join("");
1183
+ isInsideLinkEscape = ansiEscapeLinkCandidate === ANSI_ESCAPE_LINK;
1184
+ }
1185
+ if (isInsideEscape) {
1186
+ if (isInsideLinkEscape) {
1187
+ if (character === ANSI_ESCAPE_BELL) {
1188
+ isInsideEscape = false;
1189
+ isInsideLinkEscape = false;
1190
+ }
1191
+ } else if (character === ANSI_SGR_TERMINATOR) {
1192
+ isInsideEscape = false;
1193
+ }
1194
+ continue;
1195
+ }
1196
+ visible += characterLength;
1197
+ if (visible === columns && index < characters.length - 1) {
1198
+ rows.push("");
1199
+ visible = 0;
1200
+ }
1201
+ }
1202
+ if (!visible && rows.at(-1).length > 0 && rows.length > 1) {
1203
+ rows[rows.length - 2] += rows.pop();
1204
+ }
1205
+ };
1206
+ var stringVisibleTrimSpacesRight = (string) => {
1207
+ const words = string.split(" ");
1208
+ let last = words.length;
1209
+ while (last > 0) {
1210
+ if (stringWidth(words[last - 1]) > 0) {
1211
+ break;
1212
+ }
1213
+ last--;
1214
+ }
1215
+ if (last === words.length) {
1216
+ return string;
1217
+ }
1218
+ return words.slice(0, last).join(" ") + words.slice(last).join("");
1219
+ };
1220
+ var exec = (string, columns, options = {}) => {
1221
+ if (options.trim !== false && string.trim() === "") {
1222
+ return "";
1223
+ }
1224
+ let returnValue = "";
1225
+ let escapeCode;
1226
+ let escapeUrl;
1227
+ const lengths = wordLengths(string);
1228
+ let rows = [""];
1229
+ for (const [index, word] of string.split(" ").entries()) {
1230
+ if (options.trim !== false) {
1231
+ rows[rows.length - 1] = rows.at(-1).trimStart();
1232
+ }
1233
+ let rowLength = stringWidth(rows.at(-1));
1234
+ if (index !== 0) {
1235
+ if (rowLength >= columns && (options.wordWrap === false || options.trim === false)) {
1236
+ rows.push("");
1237
+ rowLength = 0;
1238
+ }
1239
+ if (rowLength > 0 || options.trim === false) {
1240
+ rows[rows.length - 1] += " ";
1241
+ rowLength++;
1242
+ }
1243
+ }
1244
+ if (options.hard && lengths[index] > columns) {
1245
+ const remainingColumns = columns - rowLength;
1246
+ const breaksStartingThisLine = 1 + Math.floor((lengths[index] - remainingColumns - 1) / columns);
1247
+ const breaksStartingNextLine = Math.floor((lengths[index] - 1) / columns);
1248
+ if (breaksStartingNextLine < breaksStartingThisLine) {
1249
+ rows.push("");
1250
+ }
1251
+ wrapWord(rows, word, columns);
1252
+ continue;
1253
+ }
1254
+ if (rowLength + lengths[index] > columns && rowLength > 0 && lengths[index] > 0) {
1255
+ if (options.wordWrap === false && rowLength < columns) {
1256
+ wrapWord(rows, word, columns);
1257
+ continue;
1258
+ }
1259
+ rows.push("");
1260
+ }
1261
+ if (rowLength + lengths[index] > columns && options.wordWrap === false) {
1262
+ wrapWord(rows, word, columns);
1263
+ continue;
1264
+ }
1265
+ rows[rows.length - 1] += word;
1266
+ }
1267
+ if (options.trim !== false) {
1268
+ rows = rows.map((row) => stringVisibleTrimSpacesRight(row));
1269
+ }
1270
+ const preString = rows.join("\n");
1271
+ const pre = [...preString];
1272
+ let preStringIndex = 0;
1273
+ for (const [index, character] of pre.entries()) {
1274
+ returnValue += character;
1275
+ if (ESCAPES.has(character)) {
1276
+ const { groups } = new RegExp(`(?:\\${ANSI_CSI}(?<code>\\d+)m|\\${ANSI_ESCAPE_LINK}(?<uri>.*)${ANSI_ESCAPE_BELL})`).exec(preString.slice(preStringIndex)) || { groups: {} };
1277
+ if (groups.code !== void 0) {
1278
+ const code2 = Number.parseFloat(groups.code);
1279
+ escapeCode = code2 === END_CODE ? void 0 : code2;
1280
+ } else if (groups.uri !== void 0) {
1281
+ escapeUrl = groups.uri.length === 0 ? void 0 : groups.uri;
1282
+ }
1283
+ }
1284
+ const code = ansi_styles_default2.codes.get(Number(escapeCode));
1285
+ if (pre[index + 1] === "\n") {
1286
+ if (escapeUrl) {
1287
+ returnValue += wrapAnsiHyperlink("");
1288
+ }
1289
+ if (escapeCode && code) {
1290
+ returnValue += wrapAnsiCode(code);
1291
+ }
1292
+ } else if (character === "\n") {
1293
+ if (escapeCode && code) {
1294
+ returnValue += wrapAnsiCode(escapeCode);
1295
+ }
1296
+ if (escapeUrl) {
1297
+ returnValue += wrapAnsiHyperlink(escapeUrl);
1298
+ }
1299
+ }
1300
+ preStringIndex += character.length;
1301
+ }
1302
+ return returnValue;
1303
+ };
1304
+ function wrapAnsi(string, columns, options) {
1305
+ return String(string).normalize().replaceAll("\r\n", "\n").split("\n").map((line) => exec(line, columns, options)).join("\n");
1306
+ }
1307
+
1308
+ // node_modules/.pnpm/boxen@8.0.1/node_modules/boxen/index.js
1309
+ var import_cli_boxes2 = __toESM(require_cli_boxes(), 1);
1310
+ var NEWLINE = "\n";
1311
+ var PAD = " ";
1312
+ var NONE = "none";
1313
+ var terminalColumns = () => {
1314
+ const { env: env2, stdout, stderr } = import_node_process2.default;
1315
+ if (stdout?.columns) {
1316
+ return stdout.columns;
1317
+ }
1318
+ if (stderr?.columns) {
1319
+ return stderr.columns;
1320
+ }
1321
+ if (env2.COLUMNS) {
1322
+ return Number.parseInt(env2.COLUMNS, 10);
1323
+ }
1324
+ return 80;
1325
+ };
1326
+ var getObject = (detail) => typeof detail === "number" ? {
1327
+ top: detail,
1328
+ right: detail * 3,
1329
+ bottom: detail,
1330
+ left: detail * 3
1331
+ } : {
1332
+ top: 0,
1333
+ right: 0,
1334
+ bottom: 0,
1335
+ left: 0,
1336
+ ...detail
1337
+ };
1338
+ var getBorderWidth = (borderStyle) => borderStyle === NONE ? 0 : 2;
1339
+ var getBorderChars = (borderStyle) => {
1340
+ const sides = [
1341
+ "topLeft",
1342
+ "topRight",
1343
+ "bottomRight",
1344
+ "bottomLeft",
1345
+ "left",
1346
+ "right",
1347
+ "top",
1348
+ "bottom"
1349
+ ];
1350
+ let characters;
1351
+ if (borderStyle === NONE) {
1352
+ borderStyle = {};
1353
+ for (const side of sides) {
1354
+ borderStyle[side] = "";
1355
+ }
1356
+ }
1357
+ if (typeof borderStyle === "string") {
1358
+ characters = import_cli_boxes.default[borderStyle];
1359
+ if (!characters) {
1360
+ throw new TypeError(`Invalid border style: ${borderStyle}`);
1361
+ }
1362
+ } else {
1363
+ if (typeof borderStyle?.vertical === "string") {
1364
+ borderStyle.left = borderStyle.vertical;
1365
+ borderStyle.right = borderStyle.vertical;
1366
+ }
1367
+ if (typeof borderStyle?.horizontal === "string") {
1368
+ borderStyle.top = borderStyle.horizontal;
1369
+ borderStyle.bottom = borderStyle.horizontal;
1370
+ }
1371
+ for (const side of sides) {
1372
+ if (borderStyle[side] === null || typeof borderStyle[side] !== "string") {
1373
+ throw new TypeError(`Invalid border style: ${side}`);
1374
+ }
1375
+ }
1376
+ characters = borderStyle;
1377
+ }
1378
+ return characters;
1379
+ };
1380
+ var makeTitle = (text, horizontal, alignment) => {
1381
+ let title = "";
1382
+ const textWidth = stringWidth(text);
1383
+ switch (alignment) {
1384
+ case "left": {
1385
+ title = text + horizontal.slice(textWidth);
1386
+ break;
1387
+ }
1388
+ case "right": {
1389
+ title = horizontal.slice(textWidth) + text;
1390
+ break;
1391
+ }
1392
+ default: {
1393
+ horizontal = horizontal.slice(textWidth);
1394
+ if (horizontal.length % 2 === 1) {
1395
+ horizontal = horizontal.slice(Math.floor(horizontal.length / 2));
1396
+ title = horizontal.slice(1) + text + horizontal;
1397
+ } else {
1398
+ horizontal = horizontal.slice(horizontal.length / 2);
1399
+ title = horizontal + text + horizontal;
1400
+ }
1401
+ break;
1402
+ }
1403
+ }
1404
+ return title;
1405
+ };
1406
+ var makeContentText = (text, { padding, width, textAlignment, height }) => {
1407
+ text = (0, import_ansi_align.default)(text, { align: textAlignment });
1408
+ let lines = text.split(NEWLINE);
1409
+ const textWidth = widestLine(text);
1410
+ const max = width - padding.left - padding.right;
1411
+ if (textWidth > max) {
1412
+ const newLines = [];
1413
+ for (const line of lines) {
1414
+ const createdLines = wrapAnsi(line, max, { hard: true });
1415
+ const alignedLines = (0, import_ansi_align.default)(createdLines, { align: textAlignment });
1416
+ const alignedLinesArray = alignedLines.split("\n");
1417
+ const longestLength = Math.max(...alignedLinesArray.map((s) => stringWidth(s)));
1418
+ for (const alignedLine of alignedLinesArray) {
1419
+ let paddedLine;
1420
+ switch (textAlignment) {
1421
+ case "center": {
1422
+ paddedLine = PAD.repeat((max - longestLength) / 2) + alignedLine;
1423
+ break;
1424
+ }
1425
+ case "right": {
1426
+ paddedLine = PAD.repeat(max - longestLength) + alignedLine;
1427
+ break;
1428
+ }
1429
+ default: {
1430
+ paddedLine = alignedLine;
1431
+ break;
1432
+ }
1433
+ }
1434
+ newLines.push(paddedLine);
1435
+ }
1436
+ }
1437
+ lines = newLines;
1438
+ }
1439
+ if (textAlignment === "center" && textWidth < max) {
1440
+ lines = lines.map((line) => PAD.repeat((max - textWidth) / 2) + line);
1441
+ } else if (textAlignment === "right" && textWidth < max) {
1442
+ lines = lines.map((line) => PAD.repeat(max - textWidth) + line);
1443
+ }
1444
+ const paddingLeft = PAD.repeat(padding.left);
1445
+ const paddingRight = PAD.repeat(padding.right);
1446
+ lines = lines.map((line) => {
1447
+ const newLine = paddingLeft + line + paddingRight;
1448
+ return newLine + PAD.repeat(width - stringWidth(newLine));
1449
+ });
1450
+ if (padding.top > 0) {
1451
+ lines = [...Array.from({ length: padding.top }).fill(PAD.repeat(width)), ...lines];
1452
+ }
1453
+ if (padding.bottom > 0) {
1454
+ lines = [...lines, ...Array.from({ length: padding.bottom }).fill(PAD.repeat(width))];
1455
+ }
1456
+ if (height && lines.length > height) {
1457
+ lines = lines.slice(0, height);
1458
+ } else if (height && lines.length < height) {
1459
+ lines = [...lines, ...Array.from({ length: height - lines.length }).fill(PAD.repeat(width))];
1460
+ }
1461
+ return lines.join(NEWLINE);
1462
+ };
1463
+ var boxContent = (content, contentWidth, options) => {
1464
+ const colorizeBorder = (border) => {
1465
+ const newBorder = options.borderColor ? getColorFunction(options.borderColor)(border) : border;
1466
+ return options.dimBorder ? source_default.dim(newBorder) : newBorder;
1467
+ };
1468
+ const colorizeContent = (content2) => options.backgroundColor ? getBGColorFunction(options.backgroundColor)(content2) : content2;
1469
+ const chars = getBorderChars(options.borderStyle);
1470
+ const columns = terminalColumns();
1471
+ let marginLeft = PAD.repeat(options.margin.left);
1472
+ if (options.float === "center") {
1473
+ const marginWidth = Math.max((columns - contentWidth - getBorderWidth(options.borderStyle)) / 2, 0);
1474
+ marginLeft = PAD.repeat(marginWidth);
1475
+ } else if (options.float === "right") {
1476
+ const marginWidth = Math.max(columns - contentWidth - options.margin.right - getBorderWidth(options.borderStyle), 0);
1477
+ marginLeft = PAD.repeat(marginWidth);
1478
+ }
1479
+ let result = "";
1480
+ if (options.margin.top) {
1481
+ result += NEWLINE.repeat(options.margin.top);
1482
+ }
1483
+ if (options.borderStyle !== NONE || options.title) {
1484
+ result += colorizeBorder(marginLeft + chars.topLeft + (options.title ? makeTitle(options.title, chars.top.repeat(contentWidth), options.titleAlignment) : chars.top.repeat(contentWidth)) + chars.topRight) + NEWLINE;
1485
+ }
1486
+ const lines = content.split(NEWLINE);
1487
+ result += lines.map((line) => marginLeft + colorizeBorder(chars.left) + colorizeContent(line) + colorizeBorder(chars.right)).join(NEWLINE);
1488
+ if (options.borderStyle !== NONE) {
1489
+ result += NEWLINE + colorizeBorder(marginLeft + chars.bottomLeft + chars.bottom.repeat(contentWidth) + chars.bottomRight);
1490
+ }
1491
+ if (options.margin.bottom) {
1492
+ result += NEWLINE.repeat(options.margin.bottom);
1493
+ }
1494
+ return result;
1495
+ };
1496
+ var sanitizeOptions = (options) => {
1497
+ if (options.fullscreen && import_node_process2.default?.stdout) {
1498
+ let newDimensions = [import_node_process2.default.stdout.columns, import_node_process2.default.stdout.rows];
1499
+ if (typeof options.fullscreen === "function") {
1500
+ newDimensions = options.fullscreen(...newDimensions);
1501
+ }
1502
+ options.width ||= newDimensions[0];
1503
+ options.height ||= newDimensions[1];
1504
+ }
1505
+ options.width &&= Math.max(1, options.width - getBorderWidth(options.borderStyle));
1506
+ options.height &&= Math.max(1, options.height - getBorderWidth(options.borderStyle));
1507
+ return options;
1508
+ };
1509
+ var formatTitle = (title, borderStyle) => borderStyle === NONE ? title : ` ${title} `;
1510
+ var determineDimensions = (text, options) => {
1511
+ options = sanitizeOptions(options);
1512
+ const widthOverride = options.width !== void 0;
1513
+ const columns = terminalColumns();
1514
+ const borderWidth = getBorderWidth(options.borderStyle);
1515
+ const maxWidth = columns - options.margin.left - options.margin.right - borderWidth;
1516
+ const widest = widestLine(wrapAnsi(text, columns - borderWidth, { hard: true, trim: false })) + options.padding.left + options.padding.right;
1517
+ if (options.title && widthOverride) {
1518
+ options.title = options.title.slice(0, Math.max(0, options.width - 2));
1519
+ options.title &&= formatTitle(options.title, options.borderStyle);
1520
+ } else if (options.title) {
1521
+ options.title = options.title.slice(0, Math.max(0, maxWidth - 2));
1522
+ if (options.title) {
1523
+ options.title = formatTitle(options.title, options.borderStyle);
1524
+ if (stringWidth(options.title) > widest) {
1525
+ options.width = stringWidth(options.title);
1526
+ }
1527
+ }
1528
+ }
1529
+ options.width ||= widest;
1530
+ if (!widthOverride) {
1531
+ if (options.margin.left && options.margin.right && options.width > maxWidth) {
1532
+ const spaceForMargins = columns - options.width - borderWidth;
1533
+ const multiplier = spaceForMargins / (options.margin.left + options.margin.right);
1534
+ options.margin.left = Math.max(0, Math.floor(options.margin.left * multiplier));
1535
+ options.margin.right = Math.max(0, Math.floor(options.margin.right * multiplier));
1536
+ }
1537
+ options.width = Math.min(options.width, columns - borderWidth - options.margin.left - options.margin.right);
1538
+ }
1539
+ if (options.width - (options.padding.left + options.padding.right) <= 0) {
1540
+ options.padding.left = 0;
1541
+ options.padding.right = 0;
1542
+ }
1543
+ if (options.height && options.height - (options.padding.top + options.padding.bottom) <= 0) {
1544
+ options.padding.top = 0;
1545
+ options.padding.bottom = 0;
1546
+ }
1547
+ return options;
1548
+ };
1549
+ var isHex = (color) => color.match(/^#(?:[0-f]{3}){1,2}$/i);
1550
+ var isColorValid = (color) => typeof color === "string" && (source_default[color] ?? isHex(color));
1551
+ var getColorFunction = (color) => isHex(color) ? source_default.hex(color) : source_default[color];
1552
+ var getBGColorFunction = (color) => isHex(color) ? source_default.bgHex(color) : source_default[camelCase(["bg", color])];
1553
+ function boxen(text, options) {
1554
+ options = {
1555
+ padding: 0,
1556
+ borderStyle: "single",
1557
+ dimBorder: false,
1558
+ textAlignment: "left",
1559
+ float: "left",
1560
+ titleAlignment: "left",
1561
+ ...options
1562
+ };
1563
+ if (options.align) {
1564
+ options.textAlignment = options.align;
1565
+ }
1566
+ if (options.borderColor && !isColorValid(options.borderColor)) {
1567
+ throw new Error(`${options.borderColor} is not a valid borderColor`);
1568
+ }
1569
+ if (options.backgroundColor && !isColorValid(options.backgroundColor)) {
1570
+ throw new Error(`${options.backgroundColor} is not a valid backgroundColor`);
1571
+ }
1572
+ options.padding = getObject(options.padding);
1573
+ options.margin = getObject(options.margin);
1574
+ options = determineDimensions(text, options);
1575
+ text = makeContentText(text, options);
1576
+ return boxContent(text, options.width, options);
1577
+ }
1578
+
1579
+ // src/printBio.ts
1580
+ function printBio(profile) {
1581
+ const boxenOptions = {
1582
+ padding: 1,
1583
+ margin: 0,
1584
+ borderStyle: "round",
1585
+ borderColor: "green"
1586
+ };
1587
+ const cardContent = [
1588
+ `${source_default.white.bold(profile.name)} ${source_default.gray(profile.title)}`,
1589
+ source_default.white(profile.bio),
1590
+ "",
1591
+ `${source_default.gray.greenBright("Email")} ${profile.email}`,
1592
+ `${source_default.gray.greenBright("GitHub")} ${profile.github}`,
1593
+ `${source_default.gray.greenBright("Website")} ${profile.website}`,
1594
+ "",
1595
+ source_default.white(profile.quote)
1596
+ ].join("\n");
1597
+ console.log(boxen(cardContent, boxenOptions));
1598
+ }
1599
+
1600
+ // src/profile.json
1601
+ var profile_default = {
1602
+ id: "1",
1603
+ name: "\uAE40\uB3D9\uC6B1",
1604
+ email: "dannyworks102@gmail.com",
1605
+ title: "Frontend Engineer, BHSN.ai",
1606
+ github: "https://github.com/domuk-k",
1607
+ website: "https://domuk-k.vercel.app",
1608
+ bio: "Marathon Runner \u{1F3C3}, Opensource committer \u{1F4BB}, casual Yogi \u{1F9D8}",
1609
+ quote: "Customer Centric, Focus on what you can control"
1610
+ };
1611
+
1612
+ // src/index.ts
1613
+ printBio(profile_default);