jinrai 1.0.3 → 1.0.4

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/lib/bin.js CHANGED
@@ -1,3351 +1,12 @@
1
1
  #!/usr/bin/env node
2
- var __defProp = Object.defineProperty;
3
- var __export = (target, all) => {
4
- for (var name in all)
5
- __defProp(target, name, { get: all[name], enumerable: true });
6
- };
7
-
8
- // src/bin.ts
9
- import { writeFile } from "node:fs/promises";
10
-
11
- // src/config/userConfig.ts
12
- import { createJiti } from "jiti";
13
- import { pathToFileURL } from "url";
14
- import { resolve } from "path";
15
- var getUserConfig = async (configName2) => {
16
- const jiti = createJiti(import.meta.url, {
17
- debug: false
18
- });
19
- const configPath = pathToFileURL(resolve(process.cwd(), configName2)).href;
20
- const configModule = await jiti.import(configPath);
21
- return configModule.default;
22
- };
23
-
24
- // src/routes/splitByTag.ts
25
- var splitByTag = (tag, content) => {
26
- const htmls = content.replace(new RegExp(`(</?${tag}.*?>)`, "gm"), (_, find) => {
27
- return `<**${tag}**>` + (find.startsWith("</") ? "CLS" : "OPN");
28
- }).split(`<**${tag}**>`);
29
- if (htmls.length == 1)
30
- return htmls;
31
- let count = 0;
32
- const result = [];
33
- for (let itm of htmls) {
34
- let step = 0;
35
- if (itm.startsWith("OPN")) step = 1;
36
- if (itm.startsWith("CLS")) step = -1;
37
- if (step != 0)
38
- itm = itm.substring(3);
39
- if (step > 0) {
40
- count += step;
41
- step = 0;
42
- }
43
- if (count <= 1)
44
- result.push([itm]);
45
- else
46
- result[result.length - 1].push(itm);
47
- count += step;
48
- }
49
- return result.map((itms) => itms.join(`<**${tag}**>`));
50
- };
51
-
52
- // src/routes/parser.ts
53
- var toBinary = (content) => {
54
- return btoa(unescape(encodeURIComponent(content)));
55
- };
56
- var Parser = class {
57
- templates = [];
58
- ctemplates = [];
59
- convertor;
60
- constructor(convertor) {
61
- this.convertor = convertor;
62
- }
63
- parse(html) {
64
- const parts = splitByTag("loopwrapper", html);
65
- return parts.map((content) => {
66
- const isArray = content.startsWith("ArrayDataKey=");
67
- let contentKey = void 0;
68
- if (isArray) {
69
- ;
70
- [contentKey, content] = this.firstPypeSplit(content);
71
- }
72
- return {
73
- type: isArray ? "array" : "html",
74
- template: isArray ? this.parse(content) : this.getTemplateId(content),
75
- contentKey
76
- };
77
- });
78
- }
79
- getTemplateId(template) {
80
- const index = this.templates.indexOf(template);
81
- if (index != -1) {
82
- return index;
83
- }
84
- this.templates.push(template);
85
- this.ctemplates.push(this.convertor ? this.convertor(template) : toBinary(template));
86
- return this.templates.length - 1;
87
- }
88
- firstPypeSplit(content) {
89
- const index = content.indexOf("|");
90
- return [content.slice(13, index), content.slice(index + 1)];
91
- }
92
- };
93
-
94
- // src/routes/getRoutes.ts
95
- var getRoutesAndTemplates = (templates2) => {
96
- const routes2 = [];
97
- const parser = new Parser();
98
- for (const template of templates2) {
99
- const content = parser.parse(template.root);
100
- const mask = template.mask.replaceAll("/", "\\/").replace(/{(.*?)}/, ".+?");
101
- routes2.push({
102
- content,
103
- mask,
104
- requests: template.input
105
- });
106
- }
107
- return {
108
- routes: routes2,
109
- templates: parser.templates
110
- };
111
- };
112
-
113
- // src/templates.ts
114
- import { chromium } from "playwright";
115
-
116
- // node_modules/ora/index.js
117
- import process8 from "node:process";
118
-
119
- // node_modules/chalk/source/vendor/ansi-styles/index.js
120
- var ANSI_BACKGROUND_OFFSET = 10;
121
- var wrapAnsi16 = (offset = 0) => (code) => `\x1B[${code + offset}m`;
122
- var wrapAnsi256 = (offset = 0) => (code) => `\x1B[${38 + offset};5;${code}m`;
123
- var wrapAnsi16m = (offset = 0) => (red2, green2, blue2) => `\x1B[${38 + offset};2;${red2};${green2};${blue2}m`;
124
- var styles = {
125
- modifier: {
126
- reset: [0, 0],
127
- // 21 isn't widely supported and 22 does the same thing
128
- bold: [1, 22],
129
- dim: [2, 22],
130
- italic: [3, 23],
131
- underline: [4, 24],
132
- overline: [53, 55],
133
- inverse: [7, 27],
134
- hidden: [8, 28],
135
- strikethrough: [9, 29]
136
- },
137
- color: {
138
- black: [30, 39],
139
- red: [31, 39],
140
- green: [32, 39],
141
- yellow: [33, 39],
142
- blue: [34, 39],
143
- magenta: [35, 39],
144
- cyan: [36, 39],
145
- white: [37, 39],
146
- // Bright color
147
- blackBright: [90, 39],
148
- gray: [90, 39],
149
- // Alias of `blackBright`
150
- grey: [90, 39],
151
- // Alias of `blackBright`
152
- redBright: [91, 39],
153
- greenBright: [92, 39],
154
- yellowBright: [93, 39],
155
- blueBright: [94, 39],
156
- magentaBright: [95, 39],
157
- cyanBright: [96, 39],
158
- whiteBright: [97, 39]
159
- },
160
- bgColor: {
161
- bgBlack: [40, 49],
162
- bgRed: [41, 49],
163
- bgGreen: [42, 49],
164
- bgYellow: [43, 49],
165
- bgBlue: [44, 49],
166
- bgMagenta: [45, 49],
167
- bgCyan: [46, 49],
168
- bgWhite: [47, 49],
169
- // Bright color
170
- bgBlackBright: [100, 49],
171
- bgGray: [100, 49],
172
- // Alias of `bgBlackBright`
173
- bgGrey: [100, 49],
174
- // Alias of `bgBlackBright`
175
- bgRedBright: [101, 49],
176
- bgGreenBright: [102, 49],
177
- bgYellowBright: [103, 49],
178
- bgBlueBright: [104, 49],
179
- bgMagentaBright: [105, 49],
180
- bgCyanBright: [106, 49],
181
- bgWhiteBright: [107, 49]
182
- }
183
- };
184
- var modifierNames = Object.keys(styles.modifier);
185
- var foregroundColorNames = Object.keys(styles.color);
186
- var backgroundColorNames = Object.keys(styles.bgColor);
187
- var colorNames = [...foregroundColorNames, ...backgroundColorNames];
188
- function assembleStyles() {
189
- const codes = /* @__PURE__ */ new Map();
190
- for (const [groupName, group] of Object.entries(styles)) {
191
- for (const [styleName, style] of Object.entries(group)) {
192
- styles[styleName] = {
193
- open: `\x1B[${style[0]}m`,
194
- close: `\x1B[${style[1]}m`
195
- };
196
- group[styleName] = styles[styleName];
197
- codes.set(style[0], style[1]);
198
- }
199
- Object.defineProperty(styles, groupName, {
200
- value: group,
201
- enumerable: false
202
- });
203
- }
204
- Object.defineProperty(styles, "codes", {
205
- value: codes,
206
- enumerable: false
207
- });
208
- styles.color.close = "\x1B[39m";
209
- styles.bgColor.close = "\x1B[49m";
210
- styles.color.ansi = wrapAnsi16();
211
- styles.color.ansi256 = wrapAnsi256();
212
- styles.color.ansi16m = wrapAnsi16m();
213
- styles.bgColor.ansi = wrapAnsi16(ANSI_BACKGROUND_OFFSET);
214
- styles.bgColor.ansi256 = wrapAnsi256(ANSI_BACKGROUND_OFFSET);
215
- styles.bgColor.ansi16m = wrapAnsi16m(ANSI_BACKGROUND_OFFSET);
216
- Object.defineProperties(styles, {
217
- rgbToAnsi256: {
218
- value(red2, green2, blue2) {
219
- if (red2 === green2 && green2 === blue2) {
220
- if (red2 < 8) {
221
- return 16;
222
- }
223
- if (red2 > 248) {
224
- return 231;
225
- }
226
- return Math.round((red2 - 8) / 247 * 24) + 232;
227
- }
228
- return 16 + 36 * Math.round(red2 / 255 * 5) + 6 * Math.round(green2 / 255 * 5) + Math.round(blue2 / 255 * 5);
229
- },
230
- enumerable: false
231
- },
232
- hexToRgb: {
233
- value(hex) {
234
- const matches = /[a-f\d]{6}|[a-f\d]{3}/i.exec(hex.toString(16));
235
- if (!matches) {
236
- return [0, 0, 0];
237
- }
238
- let [colorString] = matches;
239
- if (colorString.length === 3) {
240
- colorString = [...colorString].map((character) => character + character).join("");
241
- }
242
- const integer = Number.parseInt(colorString, 16);
243
- return [
244
- /* eslint-disable no-bitwise */
245
- integer >> 16 & 255,
246
- integer >> 8 & 255,
247
- integer & 255
248
- /* eslint-enable no-bitwise */
249
- ];
250
- },
251
- enumerable: false
252
- },
253
- hexToAnsi256: {
254
- value: (hex) => styles.rgbToAnsi256(...styles.hexToRgb(hex)),
255
- enumerable: false
256
- },
257
- ansi256ToAnsi: {
258
- value(code) {
259
- if (code < 8) {
260
- return 30 + code;
261
- }
262
- if (code < 16) {
263
- return 90 + (code - 8);
264
- }
265
- let red2;
266
- let green2;
267
- let blue2;
268
- if (code >= 232) {
269
- red2 = ((code - 232) * 10 + 8) / 255;
270
- green2 = red2;
271
- blue2 = red2;
272
- } else {
273
- code -= 16;
274
- const remainder = code % 36;
275
- red2 = Math.floor(code / 36) / 5;
276
- green2 = Math.floor(remainder / 6) / 5;
277
- blue2 = remainder % 6 / 5;
278
- }
279
- const value = Math.max(red2, green2, blue2) * 2;
280
- if (value === 0) {
281
- return 30;
282
- }
283
- let result = 30 + (Math.round(blue2) << 2 | Math.round(green2) << 1 | Math.round(red2));
284
- if (value === 2) {
285
- result += 60;
286
- }
287
- return result;
288
- },
289
- enumerable: false
290
- },
291
- rgbToAnsi: {
292
- value: (red2, green2, blue2) => styles.ansi256ToAnsi(styles.rgbToAnsi256(red2, green2, blue2)),
293
- enumerable: false
294
- },
295
- hexToAnsi: {
296
- value: (hex) => styles.ansi256ToAnsi(styles.hexToAnsi256(hex)),
297
- enumerable: false
298
- }
299
- });
300
- return styles;
301
- }
302
- var ansiStyles = assembleStyles();
303
- var ansi_styles_default = ansiStyles;
304
-
305
- // node_modules/chalk/source/vendor/supports-color/index.js
306
- import process2 from "node:process";
307
- import os from "node:os";
308
- import tty from "node:tty";
309
- function hasFlag(flag, argv = globalThis.Deno ? globalThis.Deno.args : process2.argv) {
310
- const prefix = flag.startsWith("-") ? "" : flag.length === 1 ? "-" : "--";
311
- const position = argv.indexOf(prefix + flag);
312
- const terminatorPosition = argv.indexOf("--");
313
- return position !== -1 && (terminatorPosition === -1 || position < terminatorPosition);
314
- }
315
- var { env } = process2;
316
- var flagForceColor;
317
- if (hasFlag("no-color") || hasFlag("no-colors") || hasFlag("color=false") || hasFlag("color=never")) {
318
- flagForceColor = 0;
319
- } else if (hasFlag("color") || hasFlag("colors") || hasFlag("color=true") || hasFlag("color=always")) {
320
- flagForceColor = 1;
321
- }
322
- function envForceColor() {
323
- if ("FORCE_COLOR" in env) {
324
- if (env.FORCE_COLOR === "true") {
325
- return 1;
326
- }
327
- if (env.FORCE_COLOR === "false") {
328
- return 0;
329
- }
330
- return env.FORCE_COLOR.length === 0 ? 1 : Math.min(Number.parseInt(env.FORCE_COLOR, 10), 3);
331
- }
332
- }
333
- function translateLevel(level) {
334
- if (level === 0) {
335
- return false;
336
- }
337
- return {
338
- level,
339
- hasBasic: true,
340
- has256: level >= 2,
341
- has16m: level >= 3
342
- };
343
- }
344
- function _supportsColor(haveStream, { streamIsTTY, sniffFlags = true } = {}) {
345
- const noFlagForceColor = envForceColor();
346
- if (noFlagForceColor !== void 0) {
347
- flagForceColor = noFlagForceColor;
348
- }
349
- const forceColor = sniffFlags ? flagForceColor : noFlagForceColor;
350
- if (forceColor === 0) {
351
- return 0;
352
- }
353
- if (sniffFlags) {
354
- if (hasFlag("color=16m") || hasFlag("color=full") || hasFlag("color=truecolor")) {
355
- return 3;
356
- }
357
- if (hasFlag("color=256")) {
358
- return 2;
359
- }
360
- }
361
- if ("TF_BUILD" in env && "AGENT_NAME" in env) {
362
- return 1;
363
- }
364
- if (haveStream && !streamIsTTY && forceColor === void 0) {
365
- return 0;
366
- }
367
- const min = forceColor || 0;
368
- if (env.TERM === "dumb") {
369
- return min;
370
- }
371
- if (process2.platform === "win32") {
372
- const osRelease = os.release().split(".");
373
- if (Number(osRelease[0]) >= 10 && Number(osRelease[2]) >= 10586) {
374
- return Number(osRelease[2]) >= 14931 ? 3 : 2;
375
- }
376
- return 1;
377
- }
378
- if ("CI" in env) {
379
- if (["GITHUB_ACTIONS", "GITEA_ACTIONS", "CIRCLECI"].some((key) => key in env)) {
380
- return 3;
381
- }
382
- if (["TRAVIS", "APPVEYOR", "GITLAB_CI", "BUILDKITE", "DRONE"].some((sign) => sign in env) || env.CI_NAME === "codeship") {
383
- return 1;
384
- }
385
- return min;
386
- }
387
- if ("TEAMCITY_VERSION" in env) {
388
- return /^(9\.(0*[1-9]\d*)\.|\d{2,}\.)/.test(env.TEAMCITY_VERSION) ? 1 : 0;
389
- }
390
- if (env.COLORTERM === "truecolor") {
391
- return 3;
392
- }
393
- if (env.TERM === "xterm-kitty") {
394
- return 3;
395
- }
396
- if (env.TERM === "xterm-ghostty") {
397
- return 3;
398
- }
399
- if (env.TERM === "wezterm") {
400
- return 3;
401
- }
402
- if ("TERM_PROGRAM" in env) {
403
- const version = Number.parseInt((env.TERM_PROGRAM_VERSION || "").split(".")[0], 10);
404
- switch (env.TERM_PROGRAM) {
405
- case "iTerm.app": {
406
- return version >= 3 ? 3 : 2;
407
- }
408
- case "Apple_Terminal": {
409
- return 2;
410
- }
411
- }
412
- }
413
- if (/-256(color)?$/i.test(env.TERM)) {
414
- return 2;
415
- }
416
- if (/^screen|^xterm|^vt100|^vt220|^rxvt|color|ansi|cygwin|linux/i.test(env.TERM)) {
417
- return 1;
418
- }
419
- if ("COLORTERM" in env) {
420
- return 1;
421
- }
422
- return min;
423
- }
424
- function createSupportsColor(stream, options = {}) {
425
- const level = _supportsColor(stream, {
426
- streamIsTTY: stream && stream.isTTY,
427
- ...options
428
- });
429
- return translateLevel(level);
430
- }
431
- var supportsColor = {
432
- stdout: createSupportsColor({ isTTY: tty.isatty(1) }),
433
- stderr: createSupportsColor({ isTTY: tty.isatty(2) })
434
- };
435
- var supports_color_default = supportsColor;
436
-
437
- // node_modules/chalk/source/utilities.js
438
- function stringReplaceAll(string, substring, replacer) {
439
- let index = string.indexOf(substring);
440
- if (index === -1) {
441
- return string;
442
- }
443
- const substringLength = substring.length;
444
- let endIndex = 0;
445
- let returnValue = "";
446
- do {
447
- returnValue += string.slice(endIndex, index) + substring + replacer;
448
- endIndex = index + substringLength;
449
- index = string.indexOf(substring, endIndex);
450
- } while (index !== -1);
451
- returnValue += string.slice(endIndex);
452
- return returnValue;
453
- }
454
- function stringEncaseCRLFWithFirstIndex(string, prefix, postfix, index) {
455
- let endIndex = 0;
456
- let returnValue = "";
457
- do {
458
- const gotCR = string[index - 1] === "\r";
459
- returnValue += string.slice(endIndex, gotCR ? index - 1 : index) + prefix + (gotCR ? "\r\n" : "\n") + postfix;
460
- endIndex = index + 1;
461
- index = string.indexOf("\n", endIndex);
462
- } while (index !== -1);
463
- returnValue += string.slice(endIndex);
464
- return returnValue;
465
- }
466
-
467
- // node_modules/chalk/source/index.js
468
- var { stdout: stdoutColor, stderr: stderrColor } = supports_color_default;
469
- var GENERATOR = Symbol("GENERATOR");
470
- var STYLER = Symbol("STYLER");
471
- var IS_EMPTY = Symbol("IS_EMPTY");
472
- var levelMapping = [
473
- "ansi",
474
- "ansi",
475
- "ansi256",
476
- "ansi16m"
477
- ];
478
- var styles2 = /* @__PURE__ */ Object.create(null);
479
- var applyOptions = (object, options = {}) => {
480
- if (options.level && !(Number.isInteger(options.level) && options.level >= 0 && options.level <= 3)) {
481
- throw new Error("The `level` option should be an integer from 0 to 3");
482
- }
483
- const colorLevel = stdoutColor ? stdoutColor.level : 0;
484
- object.level = options.level === void 0 ? colorLevel : options.level;
485
- };
486
- var chalkFactory = (options) => {
487
- const chalk2 = (...strings) => strings.join(" ");
488
- applyOptions(chalk2, options);
489
- Object.setPrototypeOf(chalk2, createChalk.prototype);
490
- return chalk2;
491
- };
492
- function createChalk(options) {
493
- return chalkFactory(options);
494
- }
495
- Object.setPrototypeOf(createChalk.prototype, Function.prototype);
496
- for (const [styleName, style] of Object.entries(ansi_styles_default)) {
497
- styles2[styleName] = {
498
- get() {
499
- const builder = createBuilder(this, createStyler(style.open, style.close, this[STYLER]), this[IS_EMPTY]);
500
- Object.defineProperty(this, styleName, { value: builder });
501
- return builder;
502
- }
503
- };
504
- }
505
- styles2.visible = {
506
- get() {
507
- const builder = createBuilder(this, this[STYLER], true);
508
- Object.defineProperty(this, "visible", { value: builder });
509
- return builder;
510
- }
511
- };
512
- var getModelAnsi = (model, level, type, ...arguments_) => {
513
- if (model === "rgb") {
514
- if (level === "ansi16m") {
515
- return ansi_styles_default[type].ansi16m(...arguments_);
516
- }
517
- if (level === "ansi256") {
518
- return ansi_styles_default[type].ansi256(ansi_styles_default.rgbToAnsi256(...arguments_));
519
- }
520
- return ansi_styles_default[type].ansi(ansi_styles_default.rgbToAnsi(...arguments_));
521
- }
522
- if (model === "hex") {
523
- return getModelAnsi("rgb", level, type, ...ansi_styles_default.hexToRgb(...arguments_));
524
- }
525
- return ansi_styles_default[type][model](...arguments_);
526
- };
527
- var usedModels = ["rgb", "hex", "ansi256"];
528
- for (const model of usedModels) {
529
- styles2[model] = {
530
- get() {
531
- const { level } = this;
532
- return function(...arguments_) {
533
- const styler = createStyler(getModelAnsi(model, levelMapping[level], "color", ...arguments_), ansi_styles_default.color.close, this[STYLER]);
534
- return createBuilder(this, styler, this[IS_EMPTY]);
535
- };
536
- }
537
- };
538
- const bgModel = "bg" + model[0].toUpperCase() + model.slice(1);
539
- styles2[bgModel] = {
540
- get() {
541
- const { level } = this;
542
- return function(...arguments_) {
543
- const styler = createStyler(getModelAnsi(model, levelMapping[level], "bgColor", ...arguments_), ansi_styles_default.bgColor.close, this[STYLER]);
544
- return createBuilder(this, styler, this[IS_EMPTY]);
545
- };
546
- }
547
- };
548
- }
549
- var proto = Object.defineProperties(() => {
550
- }, {
551
- ...styles2,
552
- level: {
553
- enumerable: true,
554
- get() {
555
- return this[GENERATOR].level;
556
- },
557
- set(level) {
558
- this[GENERATOR].level = level;
559
- }
560
- }
561
- });
562
- var createStyler = (open, close, parent) => {
563
- let openAll;
564
- let closeAll;
565
- if (parent === void 0) {
566
- openAll = open;
567
- closeAll = close;
568
- } else {
569
- openAll = parent.openAll + open;
570
- closeAll = close + parent.closeAll;
571
- }
572
- return {
573
- open,
574
- close,
575
- openAll,
576
- closeAll,
577
- parent
578
- };
579
- };
580
- var createBuilder = (self, _styler, _isEmpty) => {
581
- const builder = (...arguments_) => applyStyle(builder, arguments_.length === 1 ? "" + arguments_[0] : arguments_.join(" "));
582
- Object.setPrototypeOf(builder, proto);
583
- builder[GENERATOR] = self;
584
- builder[STYLER] = _styler;
585
- builder[IS_EMPTY] = _isEmpty;
586
- return builder;
587
- };
588
- var applyStyle = (self, string) => {
589
- if (self.level <= 0 || !string) {
590
- return self[IS_EMPTY] ? "" : string;
591
- }
592
- let styler = self[STYLER];
593
- if (styler === void 0) {
594
- return string;
595
- }
596
- const { openAll, closeAll } = styler;
597
- if (string.includes("\x1B")) {
598
- while (styler !== void 0) {
599
- string = stringReplaceAll(string, styler.close, styler.open);
600
- styler = styler.parent;
601
- }
602
- }
603
- const lfIndex = string.indexOf("\n");
604
- if (lfIndex !== -1) {
605
- string = stringEncaseCRLFWithFirstIndex(string, closeAll, openAll, lfIndex);
606
- }
607
- return openAll + string + closeAll;
608
- };
609
- Object.defineProperties(createChalk.prototype, styles2);
610
- var chalk = createChalk();
611
- var chalkStderr = createChalk({ level: stderrColor ? stderrColor.level : 0 });
612
- var source_default = chalk;
613
-
614
- // node_modules/cli-cursor/index.js
615
- import process5 from "node:process";
616
-
617
- // node_modules/restore-cursor/index.js
618
- import process4 from "node:process";
619
-
620
- // node_modules/mimic-function/index.js
621
- var copyProperty = (to, from, property, ignoreNonConfigurable) => {
622
- if (property === "length" || property === "prototype") {
623
- return;
624
- }
625
- if (property === "arguments" || property === "caller") {
626
- return;
627
- }
628
- const toDescriptor = Object.getOwnPropertyDescriptor(to, property);
629
- const fromDescriptor = Object.getOwnPropertyDescriptor(from, property);
630
- if (!canCopyProperty(toDescriptor, fromDescriptor) && ignoreNonConfigurable) {
631
- return;
632
- }
633
- Object.defineProperty(to, property, fromDescriptor);
634
- };
635
- var canCopyProperty = function(toDescriptor, fromDescriptor) {
636
- return toDescriptor === void 0 || toDescriptor.configurable || toDescriptor.writable === fromDescriptor.writable && toDescriptor.enumerable === fromDescriptor.enumerable && toDescriptor.configurable === fromDescriptor.configurable && (toDescriptor.writable || toDescriptor.value === fromDescriptor.value);
637
- };
638
- var changePrototype = (to, from) => {
639
- const fromPrototype = Object.getPrototypeOf(from);
640
- if (fromPrototype === Object.getPrototypeOf(to)) {
641
- return;
642
- }
643
- Object.setPrototypeOf(to, fromPrototype);
644
- };
645
- var wrappedToString = (withName, fromBody) => `/* Wrapped ${withName}*/
646
- ${fromBody}`;
647
- var toStringDescriptor = Object.getOwnPropertyDescriptor(Function.prototype, "toString");
648
- var toStringName = Object.getOwnPropertyDescriptor(Function.prototype.toString, "name");
649
- var changeToString = (to, from, name) => {
650
- const withName = name === "" ? "" : `with ${name.trim()}() `;
651
- const newToString = wrappedToString.bind(null, withName, from.toString());
652
- Object.defineProperty(newToString, "name", toStringName);
653
- const { writable, enumerable, configurable } = toStringDescriptor;
654
- Object.defineProperty(to, "toString", { value: newToString, writable, enumerable, configurable });
655
- };
656
- function mimicFunction(to, from, { ignoreNonConfigurable = false } = {}) {
657
- const { name } = to;
658
- for (const property of Reflect.ownKeys(from)) {
659
- copyProperty(to, from, property, ignoreNonConfigurable);
660
- }
661
- changePrototype(to, from);
662
- changeToString(to, from, name);
663
- return to;
664
- }
665
-
666
- // node_modules/onetime/index.js
667
- var calledFunctions = /* @__PURE__ */ new WeakMap();
668
- var onetime = (function_, options = {}) => {
669
- if (typeof function_ !== "function") {
670
- throw new TypeError("Expected a function");
671
- }
672
- let returnValue;
673
- let callCount = 0;
674
- const functionName = function_.displayName || function_.name || "<anonymous>";
675
- const onetime2 = function(...arguments_) {
676
- calledFunctions.set(onetime2, ++callCount);
677
- if (callCount === 1) {
678
- returnValue = function_.apply(this, arguments_);
679
- function_ = void 0;
680
- } else if (options.throw === true) {
681
- throw new Error(`Function \`${functionName}\` can only be called once`);
682
- }
683
- return returnValue;
684
- };
685
- mimicFunction(onetime2, function_);
686
- calledFunctions.set(onetime2, callCount);
687
- return onetime2;
688
- };
689
- onetime.callCount = (function_) => {
690
- if (!calledFunctions.has(function_)) {
691
- throw new Error(`The given function \`${function_.name}\` is not wrapped by the \`onetime\` package`);
692
- }
693
- return calledFunctions.get(function_);
694
- };
695
- var onetime_default = onetime;
696
-
697
- // node_modules/signal-exit/dist/mjs/signals.js
698
- var signals = [];
699
- signals.push("SIGHUP", "SIGINT", "SIGTERM");
700
- if (process.platform !== "win32") {
701
- signals.push(
702
- "SIGALRM",
703
- "SIGABRT",
704
- "SIGVTALRM",
705
- "SIGXCPU",
706
- "SIGXFSZ",
707
- "SIGUSR2",
708
- "SIGTRAP",
709
- "SIGSYS",
710
- "SIGQUIT",
711
- "SIGIOT"
712
- // should detect profiler and enable/disable accordingly.
713
- // see #21
714
- // 'SIGPROF'
715
- );
716
- }
717
- if (process.platform === "linux") {
718
- signals.push("SIGIO", "SIGPOLL", "SIGPWR", "SIGSTKFLT");
719
- }
720
-
721
- // node_modules/signal-exit/dist/mjs/index.js
722
- var processOk = (process9) => !!process9 && typeof process9 === "object" && typeof process9.removeListener === "function" && typeof process9.emit === "function" && typeof process9.reallyExit === "function" && typeof process9.listeners === "function" && typeof process9.kill === "function" && typeof process9.pid === "number" && typeof process9.on === "function";
723
- var kExitEmitter = Symbol.for("signal-exit emitter");
724
- var global = globalThis;
725
- var ObjectDefineProperty = Object.defineProperty.bind(Object);
726
- var Emitter = class {
727
- emitted = {
728
- afterExit: false,
729
- exit: false
730
- };
731
- listeners = {
732
- afterExit: [],
733
- exit: []
734
- };
735
- count = 0;
736
- id = Math.random();
737
- constructor() {
738
- if (global[kExitEmitter]) {
739
- return global[kExitEmitter];
740
- }
741
- ObjectDefineProperty(global, kExitEmitter, {
742
- value: this,
743
- writable: false,
744
- enumerable: false,
745
- configurable: false
746
- });
747
- }
748
- on(ev, fn) {
749
- this.listeners[ev].push(fn);
750
- }
751
- removeListener(ev, fn) {
752
- const list = this.listeners[ev];
753
- const i = list.indexOf(fn);
754
- if (i === -1) {
755
- return;
756
- }
757
- if (i === 0 && list.length === 1) {
758
- list.length = 0;
759
- } else {
760
- list.splice(i, 1);
761
- }
762
- }
763
- emit(ev, code, signal) {
764
- if (this.emitted[ev]) {
765
- return false;
766
- }
767
- this.emitted[ev] = true;
768
- let ret = false;
769
- for (const fn of this.listeners[ev]) {
770
- ret = fn(code, signal) === true || ret;
771
- }
772
- if (ev === "exit") {
773
- ret = this.emit("afterExit", code, signal) || ret;
774
- }
775
- return ret;
776
- }
777
- };
778
- var SignalExitBase = class {
779
- };
780
- var signalExitWrap = (handler) => {
781
- return {
782
- onExit(cb, opts) {
783
- return handler.onExit(cb, opts);
784
- },
785
- load() {
786
- return handler.load();
787
- },
788
- unload() {
789
- return handler.unload();
790
- }
791
- };
792
- };
793
- var SignalExitFallback = class extends SignalExitBase {
794
- onExit() {
795
- return () => {
796
- };
797
- }
798
- load() {
799
- }
800
- unload() {
801
- }
802
- };
803
- var SignalExit = class extends SignalExitBase {
804
- // "SIGHUP" throws an `ENOSYS` error on Windows,
805
- // so use a supported signal instead
806
- /* c8 ignore start */
807
- #hupSig = process3.platform === "win32" ? "SIGINT" : "SIGHUP";
808
- /* c8 ignore stop */
809
- #emitter = new Emitter();
810
- #process;
811
- #originalProcessEmit;
812
- #originalProcessReallyExit;
813
- #sigListeners = {};
814
- #loaded = false;
815
- constructor(process9) {
816
- super();
817
- this.#process = process9;
818
- this.#sigListeners = {};
819
- for (const sig of signals) {
820
- this.#sigListeners[sig] = () => {
821
- const listeners = this.#process.listeners(sig);
822
- let { count } = this.#emitter;
823
- const p = process9;
824
- if (typeof p.__signal_exit_emitter__ === "object" && typeof p.__signal_exit_emitter__.count === "number") {
825
- count += p.__signal_exit_emitter__.count;
826
- }
827
- if (listeners.length === count) {
828
- this.unload();
829
- const ret = this.#emitter.emit("exit", null, sig);
830
- const s = sig === "SIGHUP" ? this.#hupSig : sig;
831
- if (!ret)
832
- process9.kill(process9.pid, s);
833
- }
834
- };
835
- }
836
- this.#originalProcessReallyExit = process9.reallyExit;
837
- this.#originalProcessEmit = process9.emit;
838
- }
839
- onExit(cb, opts) {
840
- if (!processOk(this.#process)) {
841
- return () => {
842
- };
843
- }
844
- if (this.#loaded === false) {
845
- this.load();
846
- }
847
- const ev = opts?.alwaysLast ? "afterExit" : "exit";
848
- this.#emitter.on(ev, cb);
849
- return () => {
850
- this.#emitter.removeListener(ev, cb);
851
- if (this.#emitter.listeners["exit"].length === 0 && this.#emitter.listeners["afterExit"].length === 0) {
852
- this.unload();
853
- }
854
- };
855
- }
856
- load() {
857
- if (this.#loaded) {
858
- return;
859
- }
860
- this.#loaded = true;
861
- this.#emitter.count += 1;
862
- for (const sig of signals) {
863
- try {
864
- const fn = this.#sigListeners[sig];
865
- if (fn)
866
- this.#process.on(sig, fn);
867
- } catch (_) {
868
- }
869
- }
870
- this.#process.emit = (ev, ...a) => {
871
- return this.#processEmit(ev, ...a);
872
- };
873
- this.#process.reallyExit = (code) => {
874
- return this.#processReallyExit(code);
875
- };
876
- }
877
- unload() {
878
- if (!this.#loaded) {
879
- return;
880
- }
881
- this.#loaded = false;
882
- signals.forEach((sig) => {
883
- const listener = this.#sigListeners[sig];
884
- if (!listener) {
885
- throw new Error("Listener not defined for signal: " + sig);
886
- }
887
- try {
888
- this.#process.removeListener(sig, listener);
889
- } catch (_) {
890
- }
891
- });
892
- this.#process.emit = this.#originalProcessEmit;
893
- this.#process.reallyExit = this.#originalProcessReallyExit;
894
- this.#emitter.count -= 1;
895
- }
896
- #processReallyExit(code) {
897
- if (!processOk(this.#process)) {
898
- return 0;
899
- }
900
- this.#process.exitCode = code || 0;
901
- this.#emitter.emit("exit", this.#process.exitCode, null);
902
- return this.#originalProcessReallyExit.call(this.#process, this.#process.exitCode);
903
- }
904
- #processEmit(ev, ...args) {
905
- const og = this.#originalProcessEmit;
906
- if (ev === "exit" && processOk(this.#process)) {
907
- if (typeof args[0] === "number") {
908
- this.#process.exitCode = args[0];
909
- }
910
- const ret = og.call(this.#process, ev, ...args);
911
- this.#emitter.emit("exit", this.#process.exitCode, null);
912
- return ret;
913
- } else {
914
- return og.call(this.#process, ev, ...args);
915
- }
916
- }
917
- };
918
- var process3 = globalThis.process;
919
- var {
920
- /**
921
- * Called when the process is exiting, whether via signal, explicit
922
- * exit, or running out of stuff to do.
923
- *
924
- * If the global process object is not suitable for instrumentation,
925
- * then this will be a no-op.
926
- *
927
- * Returns a function that may be used to unload signal-exit.
928
- */
929
- onExit,
930
- /**
931
- * Load the listeners. Likely you never need to call this, unless
932
- * doing a rather deep integration with signal-exit functionality.
933
- * Mostly exposed for the benefit of testing.
934
- *
935
- * @internal
936
- */
937
- load,
938
- /**
939
- * Unload the listeners. Likely you never need to call this, unless
940
- * doing a rather deep integration with signal-exit functionality.
941
- * Mostly exposed for the benefit of testing.
942
- *
943
- * @internal
944
- */
945
- unload
946
- } = signalExitWrap(processOk(process3) ? new SignalExit(process3) : new SignalExitFallback());
947
-
948
- // node_modules/restore-cursor/index.js
949
- var terminal = process4.stderr.isTTY ? process4.stderr : process4.stdout.isTTY ? process4.stdout : void 0;
950
- var restoreCursor = terminal ? onetime_default(() => {
951
- onExit(() => {
952
- terminal.write("\x1B[?25h");
953
- }, { alwaysLast: true });
954
- }) : () => {
955
- };
956
- var restore_cursor_default = restoreCursor;
957
-
958
- // node_modules/cli-cursor/index.js
959
- var isHidden = false;
960
- var cliCursor = {};
961
- cliCursor.show = (writableStream = process5.stderr) => {
962
- if (!writableStream.isTTY) {
963
- return;
964
- }
965
- isHidden = false;
966
- writableStream.write("\x1B[?25h");
967
- };
968
- cliCursor.hide = (writableStream = process5.stderr) => {
969
- if (!writableStream.isTTY) {
970
- return;
971
- }
972
- restore_cursor_default();
973
- isHidden = true;
974
- writableStream.write("\x1B[?25l");
975
- };
976
- cliCursor.toggle = (force, writableStream) => {
977
- if (force !== void 0) {
978
- isHidden = force;
979
- }
980
- if (isHidden) {
981
- cliCursor.show(writableStream);
982
- } else {
983
- cliCursor.hide(writableStream);
984
- }
985
- };
986
- var cli_cursor_default = cliCursor;
987
-
988
- // node_modules/cli-spinners/spinners.json
989
- var spinners_default = {
990
- dots: {
991
- interval: 80,
992
- frames: [
993
- "\u280B",
994
- "\u2819",
995
- "\u2839",
996
- "\u2838",
997
- "\u283C",
998
- "\u2834",
999
- "\u2826",
1000
- "\u2827",
1001
- "\u2807",
1002
- "\u280F"
1003
- ]
1004
- },
1005
- dots2: {
1006
- interval: 80,
1007
- frames: [
1008
- "\u28FE",
1009
- "\u28FD",
1010
- "\u28FB",
1011
- "\u28BF",
1012
- "\u287F",
1013
- "\u28DF",
1014
- "\u28EF",
1015
- "\u28F7"
1016
- ]
1017
- },
1018
- dots3: {
1019
- interval: 80,
1020
- frames: [
1021
- "\u280B",
1022
- "\u2819",
1023
- "\u281A",
1024
- "\u281E",
1025
- "\u2816",
1026
- "\u2826",
1027
- "\u2834",
1028
- "\u2832",
1029
- "\u2833",
1030
- "\u2813"
1031
- ]
1032
- },
1033
- dots4: {
1034
- interval: 80,
1035
- frames: [
1036
- "\u2804",
1037
- "\u2806",
1038
- "\u2807",
1039
- "\u280B",
1040
- "\u2819",
1041
- "\u2838",
1042
- "\u2830",
1043
- "\u2820",
1044
- "\u2830",
1045
- "\u2838",
1046
- "\u2819",
1047
- "\u280B",
1048
- "\u2807",
1049
- "\u2806"
1050
- ]
1051
- },
1052
- dots5: {
1053
- interval: 80,
1054
- frames: [
1055
- "\u280B",
1056
- "\u2819",
1057
- "\u281A",
1058
- "\u2812",
1059
- "\u2802",
1060
- "\u2802",
1061
- "\u2812",
1062
- "\u2832",
1063
- "\u2834",
1064
- "\u2826",
1065
- "\u2816",
1066
- "\u2812",
1067
- "\u2810",
1068
- "\u2810",
1069
- "\u2812",
1070
- "\u2813",
1071
- "\u280B"
1072
- ]
1073
- },
1074
- dots6: {
1075
- interval: 80,
1076
- frames: [
1077
- "\u2801",
1078
- "\u2809",
1079
- "\u2819",
1080
- "\u281A",
1081
- "\u2812",
1082
- "\u2802",
1083
- "\u2802",
1084
- "\u2812",
1085
- "\u2832",
1086
- "\u2834",
1087
- "\u2824",
1088
- "\u2804",
1089
- "\u2804",
1090
- "\u2824",
1091
- "\u2834",
1092
- "\u2832",
1093
- "\u2812",
1094
- "\u2802",
1095
- "\u2802",
1096
- "\u2812",
1097
- "\u281A",
1098
- "\u2819",
1099
- "\u2809",
1100
- "\u2801"
1101
- ]
1102
- },
1103
- dots7: {
1104
- interval: 80,
1105
- frames: [
1106
- "\u2808",
1107
- "\u2809",
1108
- "\u280B",
1109
- "\u2813",
1110
- "\u2812",
1111
- "\u2810",
1112
- "\u2810",
1113
- "\u2812",
1114
- "\u2816",
1115
- "\u2826",
1116
- "\u2824",
1117
- "\u2820",
1118
- "\u2820",
1119
- "\u2824",
1120
- "\u2826",
1121
- "\u2816",
1122
- "\u2812",
1123
- "\u2810",
1124
- "\u2810",
1125
- "\u2812",
1126
- "\u2813",
1127
- "\u280B",
1128
- "\u2809",
1129
- "\u2808"
1130
- ]
1131
- },
1132
- dots8: {
1133
- interval: 80,
1134
- frames: [
1135
- "\u2801",
1136
- "\u2801",
1137
- "\u2809",
1138
- "\u2819",
1139
- "\u281A",
1140
- "\u2812",
1141
- "\u2802",
1142
- "\u2802",
1143
- "\u2812",
1144
- "\u2832",
1145
- "\u2834",
1146
- "\u2824",
1147
- "\u2804",
1148
- "\u2804",
1149
- "\u2824",
1150
- "\u2820",
1151
- "\u2820",
1152
- "\u2824",
1153
- "\u2826",
1154
- "\u2816",
1155
- "\u2812",
1156
- "\u2810",
1157
- "\u2810",
1158
- "\u2812",
1159
- "\u2813",
1160
- "\u280B",
1161
- "\u2809",
1162
- "\u2808",
1163
- "\u2808"
1164
- ]
1165
- },
1166
- dots9: {
1167
- interval: 80,
1168
- frames: [
1169
- "\u28B9",
1170
- "\u28BA",
1171
- "\u28BC",
1172
- "\u28F8",
1173
- "\u28C7",
1174
- "\u2867",
1175
- "\u2857",
1176
- "\u284F"
1177
- ]
1178
- },
1179
- dots10: {
1180
- interval: 80,
1181
- frames: [
1182
- "\u2884",
1183
- "\u2882",
1184
- "\u2881",
1185
- "\u2841",
1186
- "\u2848",
1187
- "\u2850",
1188
- "\u2860"
1189
- ]
1190
- },
1191
- dots11: {
1192
- interval: 100,
1193
- frames: [
1194
- "\u2801",
1195
- "\u2802",
1196
- "\u2804",
1197
- "\u2840",
1198
- "\u2880",
1199
- "\u2820",
1200
- "\u2810",
1201
- "\u2808"
1202
- ]
1203
- },
1204
- dots12: {
1205
- interval: 80,
1206
- frames: [
1207
- "\u2880\u2800",
1208
- "\u2840\u2800",
1209
- "\u2804\u2800",
1210
- "\u2882\u2800",
1211
- "\u2842\u2800",
1212
- "\u2805\u2800",
1213
- "\u2883\u2800",
1214
- "\u2843\u2800",
1215
- "\u280D\u2800",
1216
- "\u288B\u2800",
1217
- "\u284B\u2800",
1218
- "\u280D\u2801",
1219
- "\u288B\u2801",
1220
- "\u284B\u2801",
1221
- "\u280D\u2809",
1222
- "\u280B\u2809",
1223
- "\u280B\u2809",
1224
- "\u2809\u2819",
1225
- "\u2809\u2819",
1226
- "\u2809\u2829",
1227
- "\u2808\u2899",
1228
- "\u2808\u2859",
1229
- "\u2888\u2829",
1230
- "\u2840\u2899",
1231
- "\u2804\u2859",
1232
- "\u2882\u2829",
1233
- "\u2842\u2898",
1234
- "\u2805\u2858",
1235
- "\u2883\u2828",
1236
- "\u2843\u2890",
1237
- "\u280D\u2850",
1238
- "\u288B\u2820",
1239
- "\u284B\u2880",
1240
- "\u280D\u2841",
1241
- "\u288B\u2801",
1242
- "\u284B\u2801",
1243
- "\u280D\u2809",
1244
- "\u280B\u2809",
1245
- "\u280B\u2809",
1246
- "\u2809\u2819",
1247
- "\u2809\u2819",
1248
- "\u2809\u2829",
1249
- "\u2808\u2899",
1250
- "\u2808\u2859",
1251
- "\u2808\u2829",
1252
- "\u2800\u2899",
1253
- "\u2800\u2859",
1254
- "\u2800\u2829",
1255
- "\u2800\u2898",
1256
- "\u2800\u2858",
1257
- "\u2800\u2828",
1258
- "\u2800\u2890",
1259
- "\u2800\u2850",
1260
- "\u2800\u2820",
1261
- "\u2800\u2880",
1262
- "\u2800\u2840"
1263
- ]
1264
- },
1265
- dots13: {
1266
- interval: 80,
1267
- frames: [
1268
- "\u28FC",
1269
- "\u28F9",
1270
- "\u28BB",
1271
- "\u283F",
1272
- "\u285F",
1273
- "\u28CF",
1274
- "\u28E7",
1275
- "\u28F6"
1276
- ]
1277
- },
1278
- dots14: {
1279
- interval: 80,
1280
- frames: [
1281
- "\u2809\u2809",
1282
- "\u2808\u2819",
1283
- "\u2800\u2839",
1284
- "\u2800\u28B8",
1285
- "\u2800\u28F0",
1286
- "\u2880\u28E0",
1287
- "\u28C0\u28C0",
1288
- "\u28C4\u2840",
1289
- "\u28C6\u2800",
1290
- "\u2847\u2800",
1291
- "\u280F\u2800",
1292
- "\u280B\u2801"
1293
- ]
1294
- },
1295
- dots8Bit: {
1296
- interval: 80,
1297
- frames: [
1298
- "\u2800",
1299
- "\u2801",
1300
- "\u2802",
1301
- "\u2803",
1302
- "\u2804",
1303
- "\u2805",
1304
- "\u2806",
1305
- "\u2807",
1306
- "\u2840",
1307
- "\u2841",
1308
- "\u2842",
1309
- "\u2843",
1310
- "\u2844",
1311
- "\u2845",
1312
- "\u2846",
1313
- "\u2847",
1314
- "\u2808",
1315
- "\u2809",
1316
- "\u280A",
1317
- "\u280B",
1318
- "\u280C",
1319
- "\u280D",
1320
- "\u280E",
1321
- "\u280F",
1322
- "\u2848",
1323
- "\u2849",
1324
- "\u284A",
1325
- "\u284B",
1326
- "\u284C",
1327
- "\u284D",
1328
- "\u284E",
1329
- "\u284F",
1330
- "\u2810",
1331
- "\u2811",
1332
- "\u2812",
1333
- "\u2813",
1334
- "\u2814",
1335
- "\u2815",
1336
- "\u2816",
1337
- "\u2817",
1338
- "\u2850",
1339
- "\u2851",
1340
- "\u2852",
1341
- "\u2853",
1342
- "\u2854",
1343
- "\u2855",
1344
- "\u2856",
1345
- "\u2857",
1346
- "\u2818",
1347
- "\u2819",
1348
- "\u281A",
1349
- "\u281B",
1350
- "\u281C",
1351
- "\u281D",
1352
- "\u281E",
1353
- "\u281F",
1354
- "\u2858",
1355
- "\u2859",
1356
- "\u285A",
1357
- "\u285B",
1358
- "\u285C",
1359
- "\u285D",
1360
- "\u285E",
1361
- "\u285F",
1362
- "\u2820",
1363
- "\u2821",
1364
- "\u2822",
1365
- "\u2823",
1366
- "\u2824",
1367
- "\u2825",
1368
- "\u2826",
1369
- "\u2827",
1370
- "\u2860",
1371
- "\u2861",
1372
- "\u2862",
1373
- "\u2863",
1374
- "\u2864",
1375
- "\u2865",
1376
- "\u2866",
1377
- "\u2867",
1378
- "\u2828",
1379
- "\u2829",
1380
- "\u282A",
1381
- "\u282B",
1382
- "\u282C",
1383
- "\u282D",
1384
- "\u282E",
1385
- "\u282F",
1386
- "\u2868",
1387
- "\u2869",
1388
- "\u286A",
1389
- "\u286B",
1390
- "\u286C",
1391
- "\u286D",
1392
- "\u286E",
1393
- "\u286F",
1394
- "\u2830",
1395
- "\u2831",
1396
- "\u2832",
1397
- "\u2833",
1398
- "\u2834",
1399
- "\u2835",
1400
- "\u2836",
1401
- "\u2837",
1402
- "\u2870",
1403
- "\u2871",
1404
- "\u2872",
1405
- "\u2873",
1406
- "\u2874",
1407
- "\u2875",
1408
- "\u2876",
1409
- "\u2877",
1410
- "\u2838",
1411
- "\u2839",
1412
- "\u283A",
1413
- "\u283B",
1414
- "\u283C",
1415
- "\u283D",
1416
- "\u283E",
1417
- "\u283F",
1418
- "\u2878",
1419
- "\u2879",
1420
- "\u287A",
1421
- "\u287B",
1422
- "\u287C",
1423
- "\u287D",
1424
- "\u287E",
1425
- "\u287F",
1426
- "\u2880",
1427
- "\u2881",
1428
- "\u2882",
1429
- "\u2883",
1430
- "\u2884",
1431
- "\u2885",
1432
- "\u2886",
1433
- "\u2887",
1434
- "\u28C0",
1435
- "\u28C1",
1436
- "\u28C2",
1437
- "\u28C3",
1438
- "\u28C4",
1439
- "\u28C5",
1440
- "\u28C6",
1441
- "\u28C7",
1442
- "\u2888",
1443
- "\u2889",
1444
- "\u288A",
1445
- "\u288B",
1446
- "\u288C",
1447
- "\u288D",
1448
- "\u288E",
1449
- "\u288F",
1450
- "\u28C8",
1451
- "\u28C9",
1452
- "\u28CA",
1453
- "\u28CB",
1454
- "\u28CC",
1455
- "\u28CD",
1456
- "\u28CE",
1457
- "\u28CF",
1458
- "\u2890",
1459
- "\u2891",
1460
- "\u2892",
1461
- "\u2893",
1462
- "\u2894",
1463
- "\u2895",
1464
- "\u2896",
1465
- "\u2897",
1466
- "\u28D0",
1467
- "\u28D1",
1468
- "\u28D2",
1469
- "\u28D3",
1470
- "\u28D4",
1471
- "\u28D5",
1472
- "\u28D6",
1473
- "\u28D7",
1474
- "\u2898",
1475
- "\u2899",
1476
- "\u289A",
1477
- "\u289B",
1478
- "\u289C",
1479
- "\u289D",
1480
- "\u289E",
1481
- "\u289F",
1482
- "\u28D8",
1483
- "\u28D9",
1484
- "\u28DA",
1485
- "\u28DB",
1486
- "\u28DC",
1487
- "\u28DD",
1488
- "\u28DE",
1489
- "\u28DF",
1490
- "\u28A0",
1491
- "\u28A1",
1492
- "\u28A2",
1493
- "\u28A3",
1494
- "\u28A4",
1495
- "\u28A5",
1496
- "\u28A6",
1497
- "\u28A7",
1498
- "\u28E0",
1499
- "\u28E1",
1500
- "\u28E2",
1501
- "\u28E3",
1502
- "\u28E4",
1503
- "\u28E5",
1504
- "\u28E6",
1505
- "\u28E7",
1506
- "\u28A8",
1507
- "\u28A9",
1508
- "\u28AA",
1509
- "\u28AB",
1510
- "\u28AC",
1511
- "\u28AD",
1512
- "\u28AE",
1513
- "\u28AF",
1514
- "\u28E8",
1515
- "\u28E9",
1516
- "\u28EA",
1517
- "\u28EB",
1518
- "\u28EC",
1519
- "\u28ED",
1520
- "\u28EE",
1521
- "\u28EF",
1522
- "\u28B0",
1523
- "\u28B1",
1524
- "\u28B2",
1525
- "\u28B3",
1526
- "\u28B4",
1527
- "\u28B5",
1528
- "\u28B6",
1529
- "\u28B7",
1530
- "\u28F0",
1531
- "\u28F1",
1532
- "\u28F2",
1533
- "\u28F3",
1534
- "\u28F4",
1535
- "\u28F5",
1536
- "\u28F6",
1537
- "\u28F7",
1538
- "\u28B8",
1539
- "\u28B9",
1540
- "\u28BA",
1541
- "\u28BB",
1542
- "\u28BC",
1543
- "\u28BD",
1544
- "\u28BE",
1545
- "\u28BF",
1546
- "\u28F8",
1547
- "\u28F9",
1548
- "\u28FA",
1549
- "\u28FB",
1550
- "\u28FC",
1551
- "\u28FD",
1552
- "\u28FE",
1553
- "\u28FF"
1554
- ]
1555
- },
1556
- dotsCircle: {
1557
- interval: 80,
1558
- frames: [
1559
- "\u288E ",
1560
- "\u280E\u2801",
1561
- "\u280A\u2811",
1562
- "\u2808\u2831",
1563
- " \u2871",
1564
- "\u2880\u2870",
1565
- "\u2884\u2860",
1566
- "\u2886\u2840"
1567
- ]
1568
- },
1569
- sand: {
1570
- interval: 80,
1571
- frames: [
1572
- "\u2801",
1573
- "\u2802",
1574
- "\u2804",
1575
- "\u2840",
1576
- "\u2848",
1577
- "\u2850",
1578
- "\u2860",
1579
- "\u28C0",
1580
- "\u28C1",
1581
- "\u28C2",
1582
- "\u28C4",
1583
- "\u28CC",
1584
- "\u28D4",
1585
- "\u28E4",
1586
- "\u28E5",
1587
- "\u28E6",
1588
- "\u28EE",
1589
- "\u28F6",
1590
- "\u28F7",
1591
- "\u28FF",
1592
- "\u287F",
1593
- "\u283F",
1594
- "\u289F",
1595
- "\u281F",
1596
- "\u285B",
1597
- "\u281B",
1598
- "\u282B",
1599
- "\u288B",
1600
- "\u280B",
1601
- "\u280D",
1602
- "\u2849",
1603
- "\u2809",
1604
- "\u2811",
1605
- "\u2821",
1606
- "\u2881"
1607
- ]
1608
- },
1609
- line: {
1610
- interval: 130,
1611
- frames: [
1612
- "-",
1613
- "\\",
1614
- "|",
1615
- "/"
1616
- ]
1617
- },
1618
- line2: {
1619
- interval: 100,
1620
- frames: [
1621
- "\u2802",
1622
- "-",
1623
- "\u2013",
1624
- "\u2014",
1625
- "\u2013",
1626
- "-"
1627
- ]
1628
- },
1629
- rollingLine: {
1630
- interval: 80,
1631
- frames: [
1632
- "/ ",
1633
- " - ",
1634
- " \\ ",
1635
- " |",
1636
- " |",
1637
- " \\ ",
1638
- " - ",
1639
- "/ "
1640
- ]
1641
- },
1642
- pipe: {
1643
- interval: 100,
1644
- frames: [
1645
- "\u2524",
1646
- "\u2518",
1647
- "\u2534",
1648
- "\u2514",
1649
- "\u251C",
1650
- "\u250C",
1651
- "\u252C",
1652
- "\u2510"
1653
- ]
1654
- },
1655
- simpleDots: {
1656
- interval: 400,
1657
- frames: [
1658
- ". ",
1659
- ".. ",
1660
- "...",
1661
- " "
1662
- ]
1663
- },
1664
- simpleDotsScrolling: {
1665
- interval: 200,
1666
- frames: [
1667
- ". ",
1668
- ".. ",
1669
- "...",
1670
- " ..",
1671
- " .",
1672
- " "
1673
- ]
1674
- },
1675
- star: {
1676
- interval: 70,
1677
- frames: [
1678
- "\u2736",
1679
- "\u2738",
1680
- "\u2739",
1681
- "\u273A",
1682
- "\u2739",
1683
- "\u2737"
1684
- ]
1685
- },
1686
- star2: {
1687
- interval: 80,
1688
- frames: [
1689
- "+",
1690
- "x",
1691
- "*"
1692
- ]
1693
- },
1694
- flip: {
1695
- interval: 70,
1696
- frames: [
1697
- "_",
1698
- "_",
1699
- "_",
1700
- "-",
1701
- "`",
1702
- "`",
1703
- "'",
1704
- "\xB4",
1705
- "-",
1706
- "_",
1707
- "_",
1708
- "_"
1709
- ]
1710
- },
1711
- hamburger: {
1712
- interval: 100,
1713
- frames: [
1714
- "\u2631",
1715
- "\u2632",
1716
- "\u2634"
1717
- ]
1718
- },
1719
- growVertical: {
1720
- interval: 120,
1721
- frames: [
1722
- "\u2581",
1723
- "\u2583",
1724
- "\u2584",
1725
- "\u2585",
1726
- "\u2586",
1727
- "\u2587",
1728
- "\u2586",
1729
- "\u2585",
1730
- "\u2584",
1731
- "\u2583"
1732
- ]
1733
- },
1734
- growHorizontal: {
1735
- interval: 120,
1736
- frames: [
1737
- "\u258F",
1738
- "\u258E",
1739
- "\u258D",
1740
- "\u258C",
1741
- "\u258B",
1742
- "\u258A",
1743
- "\u2589",
1744
- "\u258A",
1745
- "\u258B",
1746
- "\u258C",
1747
- "\u258D",
1748
- "\u258E"
1749
- ]
1750
- },
1751
- balloon: {
1752
- interval: 140,
1753
- frames: [
1754
- " ",
1755
- ".",
1756
- "o",
1757
- "O",
1758
- "@",
1759
- "*",
1760
- " "
1761
- ]
1762
- },
1763
- balloon2: {
1764
- interval: 120,
1765
- frames: [
1766
- ".",
1767
- "o",
1768
- "O",
1769
- "\xB0",
1770
- "O",
1771
- "o",
1772
- "."
1773
- ]
1774
- },
1775
- noise: {
1776
- interval: 100,
1777
- frames: [
1778
- "\u2593",
1779
- "\u2592",
1780
- "\u2591"
1781
- ]
1782
- },
1783
- bounce: {
1784
- interval: 120,
1785
- frames: [
1786
- "\u2801",
1787
- "\u2802",
1788
- "\u2804",
1789
- "\u2802"
1790
- ]
1791
- },
1792
- boxBounce: {
1793
- interval: 120,
1794
- frames: [
1795
- "\u2596",
1796
- "\u2598",
1797
- "\u259D",
1798
- "\u2597"
1799
- ]
1800
- },
1801
- boxBounce2: {
1802
- interval: 100,
1803
- frames: [
1804
- "\u258C",
1805
- "\u2580",
1806
- "\u2590",
1807
- "\u2584"
1808
- ]
1809
- },
1810
- triangle: {
1811
- interval: 50,
1812
- frames: [
1813
- "\u25E2",
1814
- "\u25E3",
1815
- "\u25E4",
1816
- "\u25E5"
1817
- ]
1818
- },
1819
- binary: {
1820
- interval: 80,
1821
- frames: [
1822
- "010010",
1823
- "001100",
1824
- "100101",
1825
- "111010",
1826
- "111101",
1827
- "010111",
1828
- "101011",
1829
- "111000",
1830
- "110011",
1831
- "110101"
1832
- ]
1833
- },
1834
- arc: {
1835
- interval: 100,
1836
- frames: [
1837
- "\u25DC",
1838
- "\u25E0",
1839
- "\u25DD",
1840
- "\u25DE",
1841
- "\u25E1",
1842
- "\u25DF"
1843
- ]
1844
- },
1845
- circle: {
1846
- interval: 120,
1847
- frames: [
1848
- "\u25E1",
1849
- "\u2299",
1850
- "\u25E0"
1851
- ]
1852
- },
1853
- squareCorners: {
1854
- interval: 180,
1855
- frames: [
1856
- "\u25F0",
1857
- "\u25F3",
1858
- "\u25F2",
1859
- "\u25F1"
1860
- ]
1861
- },
1862
- circleQuarters: {
1863
- interval: 120,
1864
- frames: [
1865
- "\u25F4",
1866
- "\u25F7",
1867
- "\u25F6",
1868
- "\u25F5"
1869
- ]
1870
- },
1871
- circleHalves: {
1872
- interval: 50,
1873
- frames: [
1874
- "\u25D0",
1875
- "\u25D3",
1876
- "\u25D1",
1877
- "\u25D2"
1878
- ]
1879
- },
1880
- squish: {
1881
- interval: 100,
1882
- frames: [
1883
- "\u256B",
1884
- "\u256A"
1885
- ]
1886
- },
1887
- toggle: {
1888
- interval: 250,
1889
- frames: [
1890
- "\u22B6",
1891
- "\u22B7"
1892
- ]
1893
- },
1894
- toggle2: {
1895
- interval: 80,
1896
- frames: [
1897
- "\u25AB",
1898
- "\u25AA"
1899
- ]
1900
- },
1901
- toggle3: {
1902
- interval: 120,
1903
- frames: [
1904
- "\u25A1",
1905
- "\u25A0"
1906
- ]
1907
- },
1908
- toggle4: {
1909
- interval: 100,
1910
- frames: [
1911
- "\u25A0",
1912
- "\u25A1",
1913
- "\u25AA",
1914
- "\u25AB"
1915
- ]
1916
- },
1917
- toggle5: {
1918
- interval: 100,
1919
- frames: [
1920
- "\u25AE",
1921
- "\u25AF"
1922
- ]
1923
- },
1924
- toggle6: {
1925
- interval: 300,
1926
- frames: [
1927
- "\u101D",
1928
- "\u1040"
1929
- ]
1930
- },
1931
- toggle7: {
1932
- interval: 80,
1933
- frames: [
1934
- "\u29BE",
1935
- "\u29BF"
1936
- ]
1937
- },
1938
- toggle8: {
1939
- interval: 100,
1940
- frames: [
1941
- "\u25CD",
1942
- "\u25CC"
1943
- ]
1944
- },
1945
- toggle9: {
1946
- interval: 100,
1947
- frames: [
1948
- "\u25C9",
1949
- "\u25CE"
1950
- ]
1951
- },
1952
- toggle10: {
1953
- interval: 100,
1954
- frames: [
1955
- "\u3282",
1956
- "\u3280",
1957
- "\u3281"
1958
- ]
1959
- },
1960
- toggle11: {
1961
- interval: 50,
1962
- frames: [
1963
- "\u29C7",
1964
- "\u29C6"
1965
- ]
1966
- },
1967
- toggle12: {
1968
- interval: 120,
1969
- frames: [
1970
- "\u2617",
1971
- "\u2616"
1972
- ]
1973
- },
1974
- toggle13: {
1975
- interval: 80,
1976
- frames: [
1977
- "=",
1978
- "*",
1979
- "-"
1980
- ]
1981
- },
1982
- arrow: {
1983
- interval: 100,
1984
- frames: [
1985
- "\u2190",
1986
- "\u2196",
1987
- "\u2191",
1988
- "\u2197",
1989
- "\u2192",
1990
- "\u2198",
1991
- "\u2193",
1992
- "\u2199"
1993
- ]
1994
- },
1995
- arrow2: {
1996
- interval: 80,
1997
- frames: [
1998
- "\u2B06\uFE0F ",
1999
- "\u2197\uFE0F ",
2000
- "\u27A1\uFE0F ",
2001
- "\u2198\uFE0F ",
2002
- "\u2B07\uFE0F ",
2003
- "\u2199\uFE0F ",
2004
- "\u2B05\uFE0F ",
2005
- "\u2196\uFE0F "
2006
- ]
2007
- },
2008
- arrow3: {
2009
- interval: 120,
2010
- frames: [
2011
- "\u25B9\u25B9\u25B9\u25B9\u25B9",
2012
- "\u25B8\u25B9\u25B9\u25B9\u25B9",
2013
- "\u25B9\u25B8\u25B9\u25B9\u25B9",
2014
- "\u25B9\u25B9\u25B8\u25B9\u25B9",
2015
- "\u25B9\u25B9\u25B9\u25B8\u25B9",
2016
- "\u25B9\u25B9\u25B9\u25B9\u25B8"
2017
- ]
2018
- },
2019
- bouncingBar: {
2020
- interval: 80,
2021
- frames: [
2022
- "[ ]",
2023
- "[= ]",
2024
- "[== ]",
2025
- "[=== ]",
2026
- "[====]",
2027
- "[ ===]",
2028
- "[ ==]",
2029
- "[ =]",
2030
- "[ ]",
2031
- "[ =]",
2032
- "[ ==]",
2033
- "[ ===]",
2034
- "[====]",
2035
- "[=== ]",
2036
- "[== ]",
2037
- "[= ]"
2038
- ]
2039
- },
2040
- bouncingBall: {
2041
- interval: 80,
2042
- frames: [
2043
- "( \u25CF )",
2044
- "( \u25CF )",
2045
- "( \u25CF )",
2046
- "( \u25CF )",
2047
- "( \u25CF)",
2048
- "( \u25CF )",
2049
- "( \u25CF )",
2050
- "( \u25CF )",
2051
- "( \u25CF )",
2052
- "(\u25CF )"
2053
- ]
2054
- },
2055
- smiley: {
2056
- interval: 200,
2057
- frames: [
2058
- "\u{1F604} ",
2059
- "\u{1F61D} "
2060
- ]
2061
- },
2062
- monkey: {
2063
- interval: 300,
2064
- frames: [
2065
- "\u{1F648} ",
2066
- "\u{1F648} ",
2067
- "\u{1F649} ",
2068
- "\u{1F64A} "
2069
- ]
2070
- },
2071
- hearts: {
2072
- interval: 100,
2073
- frames: [
2074
- "\u{1F49B} ",
2075
- "\u{1F499} ",
2076
- "\u{1F49C} ",
2077
- "\u{1F49A} ",
2078
- "\u{1F497} "
2079
- ]
2080
- },
2081
- clock: {
2082
- interval: 100,
2083
- frames: [
2084
- "\u{1F55B} ",
2085
- "\u{1F550} ",
2086
- "\u{1F551} ",
2087
- "\u{1F552} ",
2088
- "\u{1F553} ",
2089
- "\u{1F554} ",
2090
- "\u{1F555} ",
2091
- "\u{1F556} ",
2092
- "\u{1F557} ",
2093
- "\u{1F558} ",
2094
- "\u{1F559} ",
2095
- "\u{1F55A} "
2096
- ]
2097
- },
2098
- earth: {
2099
- interval: 180,
2100
- frames: [
2101
- "\u{1F30D} ",
2102
- "\u{1F30E} ",
2103
- "\u{1F30F} "
2104
- ]
2105
- },
2106
- material: {
2107
- interval: 17,
2108
- frames: [
2109
- "\u2588\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581",
2110
- "\u2588\u2588\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581",
2111
- "\u2588\u2588\u2588\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581",
2112
- "\u2588\u2588\u2588\u2588\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581",
2113
- "\u2588\u2588\u2588\u2588\u2588\u2588\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581",
2114
- "\u2588\u2588\u2588\u2588\u2588\u2588\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581",
2115
- "\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581",
2116
- "\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581",
2117
- "\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581",
2118
- "\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581",
2119
- "\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581",
2120
- "\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581",
2121
- "\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2581\u2581\u2581\u2581\u2581\u2581\u2581",
2122
- "\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2581\u2581\u2581\u2581\u2581\u2581",
2123
- "\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2581\u2581\u2581\u2581\u2581\u2581",
2124
- "\u2581\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2581\u2581\u2581\u2581\u2581",
2125
- "\u2581\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2581\u2581\u2581\u2581\u2581",
2126
- "\u2581\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2581\u2581\u2581\u2581\u2581",
2127
- "\u2581\u2581\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2581\u2581\u2581\u2581",
2128
- "\u2581\u2581\u2581\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2581\u2581\u2581",
2129
- "\u2581\u2581\u2581\u2581\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2581\u2581\u2581",
2130
- "\u2581\u2581\u2581\u2581\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2581\u2581",
2131
- "\u2581\u2581\u2581\u2581\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2581\u2581",
2132
- "\u2581\u2581\u2581\u2581\u2581\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2581",
2133
- "\u2581\u2581\u2581\u2581\u2581\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2581",
2134
- "\u2581\u2581\u2581\u2581\u2581\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2581",
2135
- "\u2581\u2581\u2581\u2581\u2581\u2581\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588",
2136
- "\u2581\u2581\u2581\u2581\u2581\u2581\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588",
2137
- "\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588",
2138
- "\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588",
2139
- "\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588",
2140
- "\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588",
2141
- "\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588",
2142
- "\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588",
2143
- "\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588",
2144
- "\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588",
2145
- "\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588",
2146
- "\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2588\u2588\u2588\u2588\u2588\u2588\u2588",
2147
- "\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2588\u2588\u2588\u2588\u2588\u2588",
2148
- "\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2588\u2588\u2588\u2588\u2588",
2149
- "\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2588\u2588\u2588\u2588\u2588",
2150
- "\u2588\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2588\u2588\u2588\u2588",
2151
- "\u2588\u2588\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2588\u2588\u2588",
2152
- "\u2588\u2588\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2588\u2588\u2588",
2153
- "\u2588\u2588\u2588\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2588\u2588\u2588",
2154
- "\u2588\u2588\u2588\u2588\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2588\u2588",
2155
- "\u2588\u2588\u2588\u2588\u2588\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2588",
2156
- "\u2588\u2588\u2588\u2588\u2588\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2588",
2157
- "\u2588\u2588\u2588\u2588\u2588\u2588\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2588",
2158
- "\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581",
2159
- "\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581",
2160
- "\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581",
2161
- "\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581",
2162
- "\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581",
2163
- "\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581",
2164
- "\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581",
2165
- "\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581",
2166
- "\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2581\u2581\u2581\u2581\u2581\u2581",
2167
- "\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2581\u2581\u2581\u2581\u2581\u2581",
2168
- "\u2581\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2581\u2581\u2581\u2581\u2581",
2169
- "\u2581\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2581\u2581\u2581\u2581\u2581",
2170
- "\u2581\u2581\u2581\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2581\u2581\u2581\u2581",
2171
- "\u2581\u2581\u2581\u2581\u2581\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2581\u2581\u2581",
2172
- "\u2581\u2581\u2581\u2581\u2581\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2581\u2581\u2581",
2173
- "\u2581\u2581\u2581\u2581\u2581\u2581\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2581\u2581\u2581",
2174
- "\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2581\u2581\u2581",
2175
- "\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2581\u2581\u2581",
2176
- "\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2581\u2581",
2177
- "\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2581\u2581",
2178
- "\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2581",
2179
- "\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2581",
2180
- "\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2581",
2181
- "\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2581",
2182
- "\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2581",
2183
- "\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2588\u2588\u2588\u2588\u2588\u2588\u2588",
2184
- "\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2588\u2588\u2588\u2588\u2588\u2588\u2588",
2185
- "\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2588\u2588\u2588\u2588\u2588",
2186
- "\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2588\u2588\u2588\u2588",
2187
- "\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2588\u2588\u2588\u2588",
2188
- "\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2588\u2588\u2588\u2588",
2189
- "\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2588\u2588\u2588",
2190
- "\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2588\u2588\u2588",
2191
- "\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2588\u2588",
2192
- "\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2588\u2588",
2193
- "\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2588\u2588",
2194
- "\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2588",
2195
- "\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2588",
2196
- "\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2588",
2197
- "\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581",
2198
- "\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581",
2199
- "\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581",
2200
- "\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581"
2201
- ]
2202
- },
2203
- moon: {
2204
- interval: 80,
2205
- frames: [
2206
- "\u{1F311} ",
2207
- "\u{1F312} ",
2208
- "\u{1F313} ",
2209
- "\u{1F314} ",
2210
- "\u{1F315} ",
2211
- "\u{1F316} ",
2212
- "\u{1F317} ",
2213
- "\u{1F318} "
2214
- ]
2215
- },
2216
- runner: {
2217
- interval: 140,
2218
- frames: [
2219
- "\u{1F6B6} ",
2220
- "\u{1F3C3} "
2221
- ]
2222
- },
2223
- pong: {
2224
- interval: 80,
2225
- frames: [
2226
- "\u2590\u2802 \u258C",
2227
- "\u2590\u2808 \u258C",
2228
- "\u2590 \u2802 \u258C",
2229
- "\u2590 \u2820 \u258C",
2230
- "\u2590 \u2840 \u258C",
2231
- "\u2590 \u2820 \u258C",
2232
- "\u2590 \u2802 \u258C",
2233
- "\u2590 \u2808 \u258C",
2234
- "\u2590 \u2802 \u258C",
2235
- "\u2590 \u2820 \u258C",
2236
- "\u2590 \u2840 \u258C",
2237
- "\u2590 \u2820 \u258C",
2238
- "\u2590 \u2802 \u258C",
2239
- "\u2590 \u2808 \u258C",
2240
- "\u2590 \u2802\u258C",
2241
- "\u2590 \u2820\u258C",
2242
- "\u2590 \u2840\u258C",
2243
- "\u2590 \u2820 \u258C",
2244
- "\u2590 \u2802 \u258C",
2245
- "\u2590 \u2808 \u258C",
2246
- "\u2590 \u2802 \u258C",
2247
- "\u2590 \u2820 \u258C",
2248
- "\u2590 \u2840 \u258C",
2249
- "\u2590 \u2820 \u258C",
2250
- "\u2590 \u2802 \u258C",
2251
- "\u2590 \u2808 \u258C",
2252
- "\u2590 \u2802 \u258C",
2253
- "\u2590 \u2820 \u258C",
2254
- "\u2590 \u2840 \u258C",
2255
- "\u2590\u2820 \u258C"
2256
- ]
2257
- },
2258
- shark: {
2259
- interval: 120,
2260
- frames: [
2261
- "\u2590|\\____________\u258C",
2262
- "\u2590_|\\___________\u258C",
2263
- "\u2590__|\\__________\u258C",
2264
- "\u2590___|\\_________\u258C",
2265
- "\u2590____|\\________\u258C",
2266
- "\u2590_____|\\_______\u258C",
2267
- "\u2590______|\\______\u258C",
2268
- "\u2590_______|\\_____\u258C",
2269
- "\u2590________|\\____\u258C",
2270
- "\u2590_________|\\___\u258C",
2271
- "\u2590__________|\\__\u258C",
2272
- "\u2590___________|\\_\u258C",
2273
- "\u2590____________|\\\u258C",
2274
- "\u2590____________/|\u258C",
2275
- "\u2590___________/|_\u258C",
2276
- "\u2590__________/|__\u258C",
2277
- "\u2590_________/|___\u258C",
2278
- "\u2590________/|____\u258C",
2279
- "\u2590_______/|_____\u258C",
2280
- "\u2590______/|______\u258C",
2281
- "\u2590_____/|_______\u258C",
2282
- "\u2590____/|________\u258C",
2283
- "\u2590___/|_________\u258C",
2284
- "\u2590__/|__________\u258C",
2285
- "\u2590_/|___________\u258C",
2286
- "\u2590/|____________\u258C"
2287
- ]
2288
- },
2289
- dqpb: {
2290
- interval: 100,
2291
- frames: [
2292
- "d",
2293
- "q",
2294
- "p",
2295
- "b"
2296
- ]
2297
- },
2298
- weather: {
2299
- interval: 100,
2300
- frames: [
2301
- "\u2600\uFE0F ",
2302
- "\u2600\uFE0F ",
2303
- "\u2600\uFE0F ",
2304
- "\u{1F324} ",
2305
- "\u26C5\uFE0F ",
2306
- "\u{1F325} ",
2307
- "\u2601\uFE0F ",
2308
- "\u{1F327} ",
2309
- "\u{1F328} ",
2310
- "\u{1F327} ",
2311
- "\u{1F328} ",
2312
- "\u{1F327} ",
2313
- "\u{1F328} ",
2314
- "\u26C8 ",
2315
- "\u{1F328} ",
2316
- "\u{1F327} ",
2317
- "\u{1F328} ",
2318
- "\u2601\uFE0F ",
2319
- "\u{1F325} ",
2320
- "\u26C5\uFE0F ",
2321
- "\u{1F324} ",
2322
- "\u2600\uFE0F ",
2323
- "\u2600\uFE0F "
2324
- ]
2325
- },
2326
- christmas: {
2327
- interval: 400,
2328
- frames: [
2329
- "\u{1F332}",
2330
- "\u{1F384}"
2331
- ]
2332
- },
2333
- grenade: {
2334
- interval: 80,
2335
- frames: [
2336
- "\u060C ",
2337
- "\u2032 ",
2338
- " \xB4 ",
2339
- " \u203E ",
2340
- " \u2E0C",
2341
- " \u2E0A",
2342
- " |",
2343
- " \u204E",
2344
- " \u2055",
2345
- " \u0DF4 ",
2346
- " \u2053",
2347
- " ",
2348
- " ",
2349
- " "
2350
- ]
2351
- },
2352
- point: {
2353
- interval: 125,
2354
- frames: [
2355
- "\u2219\u2219\u2219",
2356
- "\u25CF\u2219\u2219",
2357
- "\u2219\u25CF\u2219",
2358
- "\u2219\u2219\u25CF",
2359
- "\u2219\u2219\u2219"
2360
- ]
2361
- },
2362
- layer: {
2363
- interval: 150,
2364
- frames: [
2365
- "-",
2366
- "=",
2367
- "\u2261"
2368
- ]
2369
- },
2370
- betaWave: {
2371
- interval: 80,
2372
- frames: [
2373
- "\u03C1\u03B2\u03B2\u03B2\u03B2\u03B2\u03B2",
2374
- "\u03B2\u03C1\u03B2\u03B2\u03B2\u03B2\u03B2",
2375
- "\u03B2\u03B2\u03C1\u03B2\u03B2\u03B2\u03B2",
2376
- "\u03B2\u03B2\u03B2\u03C1\u03B2\u03B2\u03B2",
2377
- "\u03B2\u03B2\u03B2\u03B2\u03C1\u03B2\u03B2",
2378
- "\u03B2\u03B2\u03B2\u03B2\u03B2\u03C1\u03B2",
2379
- "\u03B2\u03B2\u03B2\u03B2\u03B2\u03B2\u03C1"
2380
- ]
2381
- },
2382
- fingerDance: {
2383
- interval: 160,
2384
- frames: [
2385
- "\u{1F918} ",
2386
- "\u{1F91F} ",
2387
- "\u{1F596} ",
2388
- "\u270B ",
2389
- "\u{1F91A} ",
2390
- "\u{1F446} "
2391
- ]
2392
- },
2393
- fistBump: {
2394
- interval: 80,
2395
- frames: [
2396
- "\u{1F91C}\u3000\u3000\u3000\u3000\u{1F91B} ",
2397
- "\u{1F91C}\u3000\u3000\u3000\u3000\u{1F91B} ",
2398
- "\u{1F91C}\u3000\u3000\u3000\u3000\u{1F91B} ",
2399
- "\u3000\u{1F91C}\u3000\u3000\u{1F91B}\u3000 ",
2400
- "\u3000\u3000\u{1F91C}\u{1F91B}\u3000\u3000 ",
2401
- "\u3000\u{1F91C}\u2728\u{1F91B}\u3000\u3000 ",
2402
- "\u{1F91C}\u3000\u2728\u3000\u{1F91B}\u3000 "
2403
- ]
2404
- },
2405
- soccerHeader: {
2406
- interval: 80,
2407
- frames: [
2408
- " \u{1F9D1}\u26BD\uFE0F \u{1F9D1} ",
2409
- "\u{1F9D1} \u26BD\uFE0F \u{1F9D1} ",
2410
- "\u{1F9D1} \u26BD\uFE0F \u{1F9D1} ",
2411
- "\u{1F9D1} \u26BD\uFE0F \u{1F9D1} ",
2412
- "\u{1F9D1} \u26BD\uFE0F \u{1F9D1} ",
2413
- "\u{1F9D1} \u26BD\uFE0F \u{1F9D1} ",
2414
- "\u{1F9D1} \u26BD\uFE0F\u{1F9D1} ",
2415
- "\u{1F9D1} \u26BD\uFE0F \u{1F9D1} ",
2416
- "\u{1F9D1} \u26BD\uFE0F \u{1F9D1} ",
2417
- "\u{1F9D1} \u26BD\uFE0F \u{1F9D1} ",
2418
- "\u{1F9D1} \u26BD\uFE0F \u{1F9D1} ",
2419
- "\u{1F9D1} \u26BD\uFE0F \u{1F9D1} "
2420
- ]
2421
- },
2422
- mindblown: {
2423
- interval: 160,
2424
- frames: [
2425
- "\u{1F610} ",
2426
- "\u{1F610} ",
2427
- "\u{1F62E} ",
2428
- "\u{1F62E} ",
2429
- "\u{1F626} ",
2430
- "\u{1F626} ",
2431
- "\u{1F627} ",
2432
- "\u{1F627} ",
2433
- "\u{1F92F} ",
2434
- "\u{1F4A5} ",
2435
- "\u2728 ",
2436
- "\u3000 ",
2437
- "\u3000 ",
2438
- "\u3000 "
2439
- ]
2440
- },
2441
- speaker: {
2442
- interval: 160,
2443
- frames: [
2444
- "\u{1F508} ",
2445
- "\u{1F509} ",
2446
- "\u{1F50A} ",
2447
- "\u{1F509} "
2448
- ]
2449
- },
2450
- orangePulse: {
2451
- interval: 100,
2452
- frames: [
2453
- "\u{1F538} ",
2454
- "\u{1F536} ",
2455
- "\u{1F7E0} ",
2456
- "\u{1F7E0} ",
2457
- "\u{1F536} "
2458
- ]
2459
- },
2460
- bluePulse: {
2461
- interval: 100,
2462
- frames: [
2463
- "\u{1F539} ",
2464
- "\u{1F537} ",
2465
- "\u{1F535} ",
2466
- "\u{1F535} ",
2467
- "\u{1F537} "
2468
- ]
2469
- },
2470
- orangeBluePulse: {
2471
- interval: 100,
2472
- frames: [
2473
- "\u{1F538} ",
2474
- "\u{1F536} ",
2475
- "\u{1F7E0} ",
2476
- "\u{1F7E0} ",
2477
- "\u{1F536} ",
2478
- "\u{1F539} ",
2479
- "\u{1F537} ",
2480
- "\u{1F535} ",
2481
- "\u{1F535} ",
2482
- "\u{1F537} "
2483
- ]
2484
- },
2485
- timeTravel: {
2486
- interval: 100,
2487
- frames: [
2488
- "\u{1F55B} ",
2489
- "\u{1F55A} ",
2490
- "\u{1F559} ",
2491
- "\u{1F558} ",
2492
- "\u{1F557} ",
2493
- "\u{1F556} ",
2494
- "\u{1F555} ",
2495
- "\u{1F554} ",
2496
- "\u{1F553} ",
2497
- "\u{1F552} ",
2498
- "\u{1F551} ",
2499
- "\u{1F550} "
2500
- ]
2501
- },
2502
- aesthetic: {
2503
- interval: 80,
2504
- frames: [
2505
- "\u25B0\u25B1\u25B1\u25B1\u25B1\u25B1\u25B1",
2506
- "\u25B0\u25B0\u25B1\u25B1\u25B1\u25B1\u25B1",
2507
- "\u25B0\u25B0\u25B0\u25B1\u25B1\u25B1\u25B1",
2508
- "\u25B0\u25B0\u25B0\u25B0\u25B1\u25B1\u25B1",
2509
- "\u25B0\u25B0\u25B0\u25B0\u25B0\u25B1\u25B1",
2510
- "\u25B0\u25B0\u25B0\u25B0\u25B0\u25B0\u25B1",
2511
- "\u25B0\u25B0\u25B0\u25B0\u25B0\u25B0\u25B0",
2512
- "\u25B0\u25B1\u25B1\u25B1\u25B1\u25B1\u25B1"
2513
- ]
2514
- },
2515
- dwarfFortress: {
2516
- interval: 80,
2517
- frames: [
2518
- " \u2588\u2588\u2588\u2588\u2588\u2588\xA3\xA3\xA3 ",
2519
- "\u263A\u2588\u2588\u2588\u2588\u2588\u2588\xA3\xA3\xA3 ",
2520
- "\u263A\u2588\u2588\u2588\u2588\u2588\u2588\xA3\xA3\xA3 ",
2521
- "\u263A\u2593\u2588\u2588\u2588\u2588\u2588\xA3\xA3\xA3 ",
2522
- "\u263A\u2593\u2588\u2588\u2588\u2588\u2588\xA3\xA3\xA3 ",
2523
- "\u263A\u2592\u2588\u2588\u2588\u2588\u2588\xA3\xA3\xA3 ",
2524
- "\u263A\u2592\u2588\u2588\u2588\u2588\u2588\xA3\xA3\xA3 ",
2525
- "\u263A\u2591\u2588\u2588\u2588\u2588\u2588\xA3\xA3\xA3 ",
2526
- "\u263A\u2591\u2588\u2588\u2588\u2588\u2588\xA3\xA3\xA3 ",
2527
- "\u263A \u2588\u2588\u2588\u2588\u2588\xA3\xA3\xA3 ",
2528
- " \u263A\u2588\u2588\u2588\u2588\u2588\xA3\xA3\xA3 ",
2529
- " \u263A\u2588\u2588\u2588\u2588\u2588\xA3\xA3\xA3 ",
2530
- " \u263A\u2593\u2588\u2588\u2588\u2588\xA3\xA3\xA3 ",
2531
- " \u263A\u2593\u2588\u2588\u2588\u2588\xA3\xA3\xA3 ",
2532
- " \u263A\u2592\u2588\u2588\u2588\u2588\xA3\xA3\xA3 ",
2533
- " \u263A\u2592\u2588\u2588\u2588\u2588\xA3\xA3\xA3 ",
2534
- " \u263A\u2591\u2588\u2588\u2588\u2588\xA3\xA3\xA3 ",
2535
- " \u263A\u2591\u2588\u2588\u2588\u2588\xA3\xA3\xA3 ",
2536
- " \u263A \u2588\u2588\u2588\u2588\xA3\xA3\xA3 ",
2537
- " \u263A\u2588\u2588\u2588\u2588\xA3\xA3\xA3 ",
2538
- " \u263A\u2588\u2588\u2588\u2588\xA3\xA3\xA3 ",
2539
- " \u263A\u2593\u2588\u2588\u2588\xA3\xA3\xA3 ",
2540
- " \u263A\u2593\u2588\u2588\u2588\xA3\xA3\xA3 ",
2541
- " \u263A\u2592\u2588\u2588\u2588\xA3\xA3\xA3 ",
2542
- " \u263A\u2592\u2588\u2588\u2588\xA3\xA3\xA3 ",
2543
- " \u263A\u2591\u2588\u2588\u2588\xA3\xA3\xA3 ",
2544
- " \u263A\u2591\u2588\u2588\u2588\xA3\xA3\xA3 ",
2545
- " \u263A \u2588\u2588\u2588\xA3\xA3\xA3 ",
2546
- " \u263A\u2588\u2588\u2588\xA3\xA3\xA3 ",
2547
- " \u263A\u2588\u2588\u2588\xA3\xA3\xA3 ",
2548
- " \u263A\u2593\u2588\u2588\xA3\xA3\xA3 ",
2549
- " \u263A\u2593\u2588\u2588\xA3\xA3\xA3 ",
2550
- " \u263A\u2592\u2588\u2588\xA3\xA3\xA3 ",
2551
- " \u263A\u2592\u2588\u2588\xA3\xA3\xA3 ",
2552
- " \u263A\u2591\u2588\u2588\xA3\xA3\xA3 ",
2553
- " \u263A\u2591\u2588\u2588\xA3\xA3\xA3 ",
2554
- " \u263A \u2588\u2588\xA3\xA3\xA3 ",
2555
- " \u263A\u2588\u2588\xA3\xA3\xA3 ",
2556
- " \u263A\u2588\u2588\xA3\xA3\xA3 ",
2557
- " \u263A\u2593\u2588\xA3\xA3\xA3 ",
2558
- " \u263A\u2593\u2588\xA3\xA3\xA3 ",
2559
- " \u263A\u2592\u2588\xA3\xA3\xA3 ",
2560
- " \u263A\u2592\u2588\xA3\xA3\xA3 ",
2561
- " \u263A\u2591\u2588\xA3\xA3\xA3 ",
2562
- " \u263A\u2591\u2588\xA3\xA3\xA3 ",
2563
- " \u263A \u2588\xA3\xA3\xA3 ",
2564
- " \u263A\u2588\xA3\xA3\xA3 ",
2565
- " \u263A\u2588\xA3\xA3\xA3 ",
2566
- " \u263A\u2593\xA3\xA3\xA3 ",
2567
- " \u263A\u2593\xA3\xA3\xA3 ",
2568
- " \u263A\u2592\xA3\xA3\xA3 ",
2569
- " \u263A\u2592\xA3\xA3\xA3 ",
2570
- " \u263A\u2591\xA3\xA3\xA3 ",
2571
- " \u263A\u2591\xA3\xA3\xA3 ",
2572
- " \u263A \xA3\xA3\xA3 ",
2573
- " \u263A\xA3\xA3\xA3 ",
2574
- " \u263A\xA3\xA3\xA3 ",
2575
- " \u263A\u2593\xA3\xA3 ",
2576
- " \u263A\u2593\xA3\xA3 ",
2577
- " \u263A\u2592\xA3\xA3 ",
2578
- " \u263A\u2592\xA3\xA3 ",
2579
- " \u263A\u2591\xA3\xA3 ",
2580
- " \u263A\u2591\xA3\xA3 ",
2581
- " \u263A \xA3\xA3 ",
2582
- " \u263A\xA3\xA3 ",
2583
- " \u263A\xA3\xA3 ",
2584
- " \u263A\u2593\xA3 ",
2585
- " \u263A\u2593\xA3 ",
2586
- " \u263A\u2592\xA3 ",
2587
- " \u263A\u2592\xA3 ",
2588
- " \u263A\u2591\xA3 ",
2589
- " \u263A\u2591\xA3 ",
2590
- " \u263A \xA3 ",
2591
- " \u263A\xA3 ",
2592
- " \u263A\xA3 ",
2593
- " \u263A\u2593 ",
2594
- " \u263A\u2593 ",
2595
- " \u263A\u2592 ",
2596
- " \u263A\u2592 ",
2597
- " \u263A\u2591 ",
2598
- " \u263A\u2591 ",
2599
- " \u263A ",
2600
- " \u263A &",
2601
- " \u263A \u263C&",
2602
- " \u263A \u263C &",
2603
- " \u263A\u263C &",
2604
- " \u263A\u263C & ",
2605
- " \u203C & ",
2606
- " \u263A & ",
2607
- " \u203C & ",
2608
- " \u263A & ",
2609
- " \u203C & ",
2610
- " \u263A & ",
2611
- "\u203C & ",
2612
- " & ",
2613
- " & ",
2614
- " & \u2591 ",
2615
- " & \u2592 ",
2616
- " & \u2593 ",
2617
- " & \xA3 ",
2618
- " & \u2591\xA3 ",
2619
- " & \u2592\xA3 ",
2620
- " & \u2593\xA3 ",
2621
- " & \xA3\xA3 ",
2622
- " & \u2591\xA3\xA3 ",
2623
- " & \u2592\xA3\xA3 ",
2624
- "& \u2593\xA3\xA3 ",
2625
- "& \xA3\xA3\xA3 ",
2626
- " \u2591\xA3\xA3\xA3 ",
2627
- " \u2592\xA3\xA3\xA3 ",
2628
- " \u2593\xA3\xA3\xA3 ",
2629
- " \u2588\xA3\xA3\xA3 ",
2630
- " \u2591\u2588\xA3\xA3\xA3 ",
2631
- " \u2592\u2588\xA3\xA3\xA3 ",
2632
- " \u2593\u2588\xA3\xA3\xA3 ",
2633
- " \u2588\u2588\xA3\xA3\xA3 ",
2634
- " \u2591\u2588\u2588\xA3\xA3\xA3 ",
2635
- " \u2592\u2588\u2588\xA3\xA3\xA3 ",
2636
- " \u2593\u2588\u2588\xA3\xA3\xA3 ",
2637
- " \u2588\u2588\u2588\xA3\xA3\xA3 ",
2638
- " \u2591\u2588\u2588\u2588\xA3\xA3\xA3 ",
2639
- " \u2592\u2588\u2588\u2588\xA3\xA3\xA3 ",
2640
- " \u2593\u2588\u2588\u2588\xA3\xA3\xA3 ",
2641
- " \u2588\u2588\u2588\u2588\xA3\xA3\xA3 ",
2642
- " \u2591\u2588\u2588\u2588\u2588\xA3\xA3\xA3 ",
2643
- " \u2592\u2588\u2588\u2588\u2588\xA3\xA3\xA3 ",
2644
- " \u2593\u2588\u2588\u2588\u2588\xA3\xA3\xA3 ",
2645
- " \u2588\u2588\u2588\u2588\u2588\xA3\xA3\xA3 ",
2646
- " \u2591\u2588\u2588\u2588\u2588\u2588\xA3\xA3\xA3 ",
2647
- " \u2592\u2588\u2588\u2588\u2588\u2588\xA3\xA3\xA3 ",
2648
- " \u2593\u2588\u2588\u2588\u2588\u2588\xA3\xA3\xA3 ",
2649
- " \u2588\u2588\u2588\u2588\u2588\u2588\xA3\xA3\xA3 ",
2650
- " \u2588\u2588\u2588\u2588\u2588\u2588\xA3\xA3\xA3 "
2651
- ]
2652
- }
2653
- };
2654
-
2655
- // node_modules/cli-spinners/index.js
2656
- var cli_spinners_default = spinners_default;
2657
- var spinnersList = Object.keys(spinners_default);
2658
-
2659
- // node_modules/log-symbols/symbols.js
2660
- var symbols_exports = {};
2661
- __export(symbols_exports, {
2662
- error: () => error,
2663
- info: () => info,
2664
- success: () => success,
2665
- warning: () => warning
2666
- });
2667
-
2668
- // node_modules/yoctocolors/base.js
2669
- import tty2 from "node:tty";
2670
- var hasColors = tty2?.WriteStream?.prototype?.hasColors?.() ?? false;
2671
- var format = (open, close) => {
2672
- if (!hasColors) {
2673
- return (input2) => input2;
2674
- }
2675
- const openCode = `\x1B[${open}m`;
2676
- const closeCode = `\x1B[${close}m`;
2677
- return (input2) => {
2678
- const string = input2 + "";
2679
- let index = string.indexOf(closeCode);
2680
- if (index === -1) {
2681
- return openCode + string + closeCode;
2682
- }
2683
- let result = openCode;
2684
- let lastIndex = 0;
2685
- const reopenOnNestedClose = close === 22;
2686
- const replaceCode = (reopenOnNestedClose ? closeCode : "") + openCode;
2687
- while (index !== -1) {
2688
- result += string.slice(lastIndex, index) + replaceCode;
2689
- lastIndex = index + closeCode.length;
2690
- index = string.indexOf(closeCode, lastIndex);
2691
- }
2692
- result += string.slice(lastIndex) + closeCode;
2693
- return result;
2694
- };
2695
- };
2696
- var reset = format(0, 0);
2697
- var bold = format(1, 22);
2698
- var dim = format(2, 22);
2699
- var italic = format(3, 23);
2700
- var underline = format(4, 24);
2701
- var overline = format(53, 55);
2702
- var inverse = format(7, 27);
2703
- var hidden = format(8, 28);
2704
- var strikethrough = format(9, 29);
2705
- var black = format(30, 39);
2706
- var red = format(31, 39);
2707
- var green = format(32, 39);
2708
- var yellow = format(33, 39);
2709
- var blue = format(34, 39);
2710
- var magenta = format(35, 39);
2711
- var cyan = format(36, 39);
2712
- var white = format(37, 39);
2713
- var gray = format(90, 39);
2714
- var bgBlack = format(40, 49);
2715
- var bgRed = format(41, 49);
2716
- var bgGreen = format(42, 49);
2717
- var bgYellow = format(43, 49);
2718
- var bgBlue = format(44, 49);
2719
- var bgMagenta = format(45, 49);
2720
- var bgCyan = format(46, 49);
2721
- var bgWhite = format(47, 49);
2722
- var bgGray = format(100, 49);
2723
- var redBright = format(91, 39);
2724
- var greenBright = format(92, 39);
2725
- var yellowBright = format(93, 39);
2726
- var blueBright = format(94, 39);
2727
- var magentaBright = format(95, 39);
2728
- var cyanBright = format(96, 39);
2729
- var whiteBright = format(97, 39);
2730
- var bgRedBright = format(101, 49);
2731
- var bgGreenBright = format(102, 49);
2732
- var bgYellowBright = format(103, 49);
2733
- var bgBlueBright = format(104, 49);
2734
- var bgMagentaBright = format(105, 49);
2735
- var bgCyanBright = format(106, 49);
2736
- var bgWhiteBright = format(107, 49);
2737
-
2738
- // node_modules/is-unicode-supported/index.js
2739
- import process6 from "node:process";
2740
- function isUnicodeSupported() {
2741
- const { env: env2 } = process6;
2742
- const { TERM, TERM_PROGRAM } = env2;
2743
- if (process6.platform !== "win32") {
2744
- return TERM !== "linux";
2745
- }
2746
- return Boolean(env2.WT_SESSION) || Boolean(env2.TERMINUS_SUBLIME) || env2.ConEmuTask === "{cmd::Cmder}" || TERM_PROGRAM === "Terminus-Sublime" || TERM_PROGRAM === "vscode" || TERM === "xterm-256color" || TERM === "alacritty" || TERM === "rxvt-unicode" || TERM === "rxvt-unicode-256color" || env2.TERMINAL_EMULATOR === "JetBrains-JediTerm";
2747
- }
2748
-
2749
- // node_modules/log-symbols/symbols.js
2750
- var _isUnicodeSupported = isUnicodeSupported();
2751
- var info = blue(_isUnicodeSupported ? "\u2139" : "i");
2752
- var success = green(_isUnicodeSupported ? "\u2714" : "\u221A");
2753
- var warning = yellow(_isUnicodeSupported ? "\u26A0" : "\u203C");
2754
- var error = red(_isUnicodeSupported ? "\u2716" : "\xD7");
2755
-
2756
- // node_modules/ansi-regex/index.js
2757
- function ansiRegex({ onlyFirst = false } = {}) {
2758
- const ST = "(?:\\u0007|\\u001B\\u005C|\\u009C)";
2759
- const osc = `(?:\\u001B\\][\\s\\S]*?${ST})`;
2760
- const csi = "[\\u001B\\u009B][[\\]()#;?]*(?:\\d{1,4}(?:[;:]\\d{0,4})*)?[\\dA-PR-TZcf-nq-uy=><~]";
2761
- const pattern = `${osc}|${csi}`;
2762
- return new RegExp(pattern, onlyFirst ? void 0 : "g");
2763
- }
2764
-
2765
- // node_modules/strip-ansi/index.js
2766
- var regex = ansiRegex();
2767
- function stripAnsi(string) {
2768
- if (typeof string !== "string") {
2769
- throw new TypeError(`Expected a \`string\`, got \`${typeof string}\``);
2770
- }
2771
- return string.replace(regex, "");
2772
- }
2773
-
2774
- // node_modules/get-east-asian-width/lookup.js
2775
- function isAmbiguous(x) {
2776
- 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;
2777
- }
2778
- function isFullWidth(x) {
2779
- return x === 12288 || x >= 65281 && x <= 65376 || x >= 65504 && x <= 65510;
2780
- }
2781
- function isWide(x) {
2782
- 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 <= 94198 || x >= 94208 && x <= 101589 || x >= 101631 && x <= 101662 || x >= 101760 && x <= 101874 || 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 <= 128728 || 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 <= 129674 || x >= 129678 && x <= 129734 || x === 129736 || x >= 129741 && x <= 129756 || x >= 129759 && x <= 129770 || x >= 129775 && x <= 129784 || x >= 131072 && x <= 196605 || x >= 196608 && x <= 262141;
2783
- }
2784
-
2785
- // node_modules/get-east-asian-width/index.js
2786
- function validate(codePoint) {
2787
- if (!Number.isSafeInteger(codePoint)) {
2788
- throw new TypeError(`Expected a code point, got \`${typeof codePoint}\`.`);
2789
- }
2790
- }
2791
- function eastAsianWidth(codePoint, { ambiguousAsWide = false } = {}) {
2792
- validate(codePoint);
2793
- if (isFullWidth(codePoint) || isWide(codePoint) || ambiguousAsWide && isAmbiguous(codePoint)) {
2794
- return 2;
2795
- }
2796
- return 1;
2797
- }
2798
-
2799
- // node_modules/string-width/index.js
2800
- var segmenter = new Intl.Segmenter();
2801
- var zeroWidthClusterRegex = /^(?:\p{Default_Ignorable_Code_Point}|\p{Control}|\p{Mark}|\p{Surrogate})+$/v;
2802
- var leadingNonPrintingRegex = /^[\p{Default_Ignorable_Code_Point}\p{Control}\p{Format}\p{Mark}\p{Surrogate}]+/v;
2803
- var rgiEmojiRegex = /^\p{RGI_Emoji}$/v;
2804
- function baseVisible(segment) {
2805
- return segment.replace(leadingNonPrintingRegex, "");
2806
- }
2807
- function isZeroWidthCluster(segment) {
2808
- return zeroWidthClusterRegex.test(segment);
2809
- }
2810
- function trailingHalfwidthWidth(segment, eastAsianWidthOptions) {
2811
- let extra = 0;
2812
- if (segment.length > 1) {
2813
- for (const char of segment.slice(1)) {
2814
- if (char >= "\uFF00" && char <= "\uFFEF") {
2815
- extra += eastAsianWidth(char.codePointAt(0), eastAsianWidthOptions);
2816
- }
2817
- }
2818
- }
2819
- return extra;
2820
- }
2821
- function stringWidth(input2, options = {}) {
2822
- if (typeof input2 !== "string" || input2.length === 0) {
2823
- return 0;
2824
- }
2825
- const {
2826
- ambiguousIsNarrow = true,
2827
- countAnsiEscapeCodes = false
2828
- } = options;
2829
- let string = input2;
2830
- if (!countAnsiEscapeCodes) {
2831
- string = stripAnsi(string);
2832
- }
2833
- if (string.length === 0) {
2834
- return 0;
2835
- }
2836
- let width = 0;
2837
- const eastAsianWidthOptions = { ambiguousAsWide: !ambiguousIsNarrow };
2838
- for (const { segment } of segmenter.segment(string)) {
2839
- if (isZeroWidthCluster(segment)) {
2840
- continue;
2841
- }
2842
- if (rgiEmojiRegex.test(segment)) {
2843
- width += 2;
2844
- continue;
2845
- }
2846
- const codePoint = baseVisible(segment).codePointAt(0);
2847
- width += eastAsianWidth(codePoint, eastAsianWidthOptions);
2848
- width += trailingHalfwidthWidth(segment, eastAsianWidthOptions);
2849
- }
2850
- return width;
2851
- }
2852
-
2853
- // node_modules/is-interactive/index.js
2854
- function isInteractive({ stream = process.stdout } = {}) {
2855
- return Boolean(
2856
- stream && stream.isTTY && process.env.TERM !== "dumb" && !("CI" in process.env)
2857
- );
2858
- }
2859
-
2860
- // node_modules/stdin-discarder/index.js
2861
- import process7 from "node:process";
2862
- var ASCII_ETX_CODE = 3;
2863
- var StdinDiscarder = class {
2864
- #activeCount = 0;
2865
- start() {
2866
- this.#activeCount++;
2867
- if (this.#activeCount === 1) {
2868
- this.#realStart();
2869
- }
2870
- }
2871
- stop() {
2872
- if (this.#activeCount <= 0) {
2873
- throw new Error("`stop` called more times than `start`");
2874
- }
2875
- this.#activeCount--;
2876
- if (this.#activeCount === 0) {
2877
- this.#realStop();
2878
- }
2879
- }
2880
- #realStart() {
2881
- if (process7.platform === "win32" || !process7.stdin.isTTY) {
2882
- return;
2883
- }
2884
- process7.stdin.setRawMode(true);
2885
- process7.stdin.on("data", this.#handleInput);
2886
- process7.stdin.resume();
2887
- }
2888
- #realStop() {
2889
- if (!process7.stdin.isTTY) {
2890
- return;
2891
- }
2892
- process7.stdin.off("data", this.#handleInput);
2893
- process7.stdin.pause();
2894
- process7.stdin.setRawMode(false);
2895
- }
2896
- #handleInput(chunk) {
2897
- if (chunk[0] === ASCII_ETX_CODE) {
2898
- process7.emit("SIGINT");
2899
- }
2900
- }
2901
- };
2902
- var stdinDiscarder = new StdinDiscarder();
2903
- var stdin_discarder_default = stdinDiscarder;
2904
-
2905
- // node_modules/ora/index.js
2906
- var Ora = class {
2907
- #linesToClear = 0;
2908
- #isDiscardingStdin = false;
2909
- #lineCount = 0;
2910
- #frameIndex = -1;
2911
- #lastSpinnerFrameTime = 0;
2912
- #lastIndent = 0;
2913
- #options;
2914
- #spinner;
2915
- #stream;
2916
- #id;
2917
- #initialInterval;
2918
- #isEnabled;
2919
- #isSilent;
2920
- #indent;
2921
- #text;
2922
- #prefixText;
2923
- #suffixText;
2924
- color;
2925
- constructor(options) {
2926
- if (typeof options === "string") {
2927
- options = {
2928
- text: options
2929
- };
2930
- }
2931
- this.#options = {
2932
- color: "cyan",
2933
- stream: process8.stderr,
2934
- discardStdin: true,
2935
- hideCursor: true,
2936
- ...options
2937
- };
2938
- this.color = this.#options.color;
2939
- this.spinner = this.#options.spinner;
2940
- this.#initialInterval = this.#options.interval;
2941
- this.#stream = this.#options.stream;
2942
- this.#isEnabled = typeof this.#options.isEnabled === "boolean" ? this.#options.isEnabled : isInteractive({ stream: this.#stream });
2943
- this.#isSilent = typeof this.#options.isSilent === "boolean" ? this.#options.isSilent : false;
2944
- this.text = this.#options.text;
2945
- this.prefixText = this.#options.prefixText;
2946
- this.suffixText = this.#options.suffixText;
2947
- this.indent = this.#options.indent;
2948
- if (process8.env.NODE_ENV === "test") {
2949
- this._stream = this.#stream;
2950
- this._isEnabled = this.#isEnabled;
2951
- Object.defineProperty(this, "_linesToClear", {
2952
- get() {
2953
- return this.#linesToClear;
2954
- },
2955
- set(newValue) {
2956
- this.#linesToClear = newValue;
2957
- }
2958
- });
2959
- Object.defineProperty(this, "_frameIndex", {
2960
- get() {
2961
- return this.#frameIndex;
2962
- }
2963
- });
2964
- Object.defineProperty(this, "_lineCount", {
2965
- get() {
2966
- return this.#lineCount;
2967
- }
2968
- });
2969
- }
2970
- }
2971
- get indent() {
2972
- return this.#indent;
2973
- }
2974
- set indent(indent = 0) {
2975
- if (!(indent >= 0 && Number.isInteger(indent))) {
2976
- throw new Error("The `indent` option must be an integer from 0 and up");
2977
- }
2978
- this.#indent = indent;
2979
- this.#updateLineCount();
2980
- }
2981
- get interval() {
2982
- return this.#initialInterval ?? this.#spinner.interval ?? 100;
2983
- }
2984
- get spinner() {
2985
- return this.#spinner;
2986
- }
2987
- set spinner(spinner) {
2988
- this.#frameIndex = -1;
2989
- this.#initialInterval = void 0;
2990
- if (typeof spinner === "object") {
2991
- if (!Array.isArray(spinner.frames) || spinner.frames.length === 0 || spinner.frames.some((frame) => typeof frame !== "string")) {
2992
- throw new Error("The given spinner must have a non-empty `frames` array of strings");
2993
- }
2994
- if (spinner.interval !== void 0 && !(Number.isInteger(spinner.interval) && spinner.interval > 0)) {
2995
- throw new Error("`spinner.interval` must be a positive integer if provided");
2996
- }
2997
- this.#spinner = spinner;
2998
- } else if (!isUnicodeSupported()) {
2999
- this.#spinner = cli_spinners_default.line;
3000
- } else if (spinner === void 0) {
3001
- this.#spinner = cli_spinners_default.dots;
3002
- } else if (spinner !== "default" && cli_spinners_default[spinner]) {
3003
- this.#spinner = cli_spinners_default[spinner];
3004
- } else {
3005
- throw new Error(`There is no built-in spinner named '${spinner}'. See https://github.com/sindresorhus/cli-spinners/blob/main/spinners.json for a full list.`);
3006
- }
3007
- }
3008
- get text() {
3009
- return this.#text;
3010
- }
3011
- set text(value = "") {
3012
- this.#text = value;
3013
- this.#updateLineCount();
3014
- }
3015
- get prefixText() {
3016
- return this.#prefixText;
3017
- }
3018
- set prefixText(value = "") {
3019
- this.#prefixText = value;
3020
- this.#updateLineCount();
3021
- }
3022
- get suffixText() {
3023
- return this.#suffixText;
3024
- }
3025
- set suffixText(value = "") {
3026
- this.#suffixText = value;
3027
- this.#updateLineCount();
3028
- }
3029
- get isSpinning() {
3030
- return this.#id !== void 0;
3031
- }
3032
- #formatAffix(value, separator, placeBefore = false) {
3033
- const resolved = typeof value === "function" ? value() : value;
3034
- if (typeof resolved === "string" && resolved !== "") {
3035
- return placeBefore ? separator + resolved : resolved + separator;
3036
- }
3037
- return "";
3038
- }
3039
- #getFullPrefixText(prefixText = this.#prefixText, postfix = " ") {
3040
- return this.#formatAffix(prefixText, postfix, false);
3041
- }
3042
- #getFullSuffixText(suffixText = this.#suffixText, prefix = " ") {
3043
- return this.#formatAffix(suffixText, prefix, true);
3044
- }
3045
- #computeLineCountFrom(text, columns) {
3046
- let count = 0;
3047
- for (const line of stripAnsi(text).split("\n")) {
3048
- count += Math.max(1, Math.ceil(stringWidth(line) / columns));
3049
- }
3050
- return count;
3051
- }
3052
- #updateLineCount() {
3053
- const columns = this.#stream.columns ?? 80;
3054
- const prefixText = typeof this.#prefixText === "function" ? "" : this.#prefixText;
3055
- const suffixText = typeof this.#suffixText === "function" ? "" : this.#suffixText;
3056
- const fullPrefixText = typeof prefixText === "string" && prefixText !== "" ? prefixText + " " : "";
3057
- const fullSuffixText = typeof suffixText === "string" && suffixText !== "" ? " " + suffixText : "";
3058
- const spinnerChar = "-";
3059
- const fullText = " ".repeat(this.#indent) + fullPrefixText + spinnerChar + (typeof this.#text === "string" ? " " + this.#text : "") + fullSuffixText;
3060
- this.#lineCount = this.#computeLineCountFrom(fullText, columns);
3061
- }
3062
- get isEnabled() {
3063
- return this.#isEnabled && !this.#isSilent;
3064
- }
3065
- set isEnabled(value) {
3066
- if (typeof value !== "boolean") {
3067
- throw new TypeError("The `isEnabled` option must be a boolean");
3068
- }
3069
- this.#isEnabled = value;
3070
- }
3071
- get isSilent() {
3072
- return this.#isSilent;
3073
- }
3074
- set isSilent(value) {
3075
- if (typeof value !== "boolean") {
3076
- throw new TypeError("The `isSilent` option must be a boolean");
3077
- }
3078
- this.#isSilent = value;
3079
- }
3080
- frame() {
3081
- const now = Date.now();
3082
- if (this.#frameIndex === -1 || now - this.#lastSpinnerFrameTime >= this.interval) {
3083
- this.#frameIndex = ++this.#frameIndex % this.#spinner.frames.length;
3084
- this.#lastSpinnerFrameTime = now;
3085
- }
3086
- const { frames } = this.#spinner;
3087
- let frame = frames[this.#frameIndex];
3088
- if (this.color) {
3089
- frame = source_default[this.color](frame);
3090
- }
3091
- const fullPrefixText = this.#getFullPrefixText(this.#prefixText, " ");
3092
- const fullText = typeof this.text === "string" ? " " + this.text : "";
3093
- const fullSuffixText = this.#getFullSuffixText(this.#suffixText, " ");
3094
- return fullPrefixText + frame + fullText + fullSuffixText;
3095
- }
3096
- clear() {
3097
- if (!this.#isEnabled || !this.#stream.isTTY) {
3098
- return this;
3099
- }
3100
- this.#stream.cursorTo(0);
3101
- for (let index = 0; index < this.#linesToClear; index++) {
3102
- if (index > 0) {
3103
- this.#stream.moveCursor(0, -1);
3104
- }
3105
- this.#stream.clearLine(1);
3106
- }
3107
- if (this.#indent || this.#lastIndent !== this.#indent) {
3108
- this.#stream.cursorTo(this.#indent);
3109
- }
3110
- this.#lastIndent = this.#indent;
3111
- this.#linesToClear = 0;
3112
- return this;
3113
- }
3114
- render() {
3115
- if (!this.#isEnabled || this.#isSilent) {
3116
- return this;
3117
- }
3118
- this.clear();
3119
- let frameContent = this.frame();
3120
- const columns = this.#stream.columns ?? 80;
3121
- const actualLineCount = this.#computeLineCountFrom(frameContent, columns);
3122
- const consoleHeight = this.#stream.rows;
3123
- if (consoleHeight && consoleHeight > 1 && actualLineCount > consoleHeight) {
3124
- const lines = frameContent.split("\n");
3125
- const maxLines = consoleHeight - 1;
3126
- frameContent = [...lines.slice(0, maxLines), "... (content truncated to fit terminal)"].join("\n");
3127
- }
3128
- this.#stream.write(frameContent);
3129
- this.#linesToClear = this.#computeLineCountFrom(frameContent, columns);
3130
- return this;
3131
- }
3132
- start(text) {
3133
- if (text) {
3134
- this.text = text;
3135
- }
3136
- if (this.#isSilent) {
3137
- return this;
3138
- }
3139
- if (!this.#isEnabled) {
3140
- const line = " ".repeat(this.#indent) + this.#getFullPrefixText(this.#prefixText, " ") + (this.text ? `- ${this.text}` : "") + this.#getFullSuffixText(this.#suffixText, " ");
3141
- if (line.trim() !== "") {
3142
- this.#stream.write(line + "\n");
3143
- }
3144
- return this;
3145
- }
3146
- if (this.isSpinning) {
3147
- return this;
3148
- }
3149
- if (this.#options.hideCursor) {
3150
- cli_cursor_default.hide(this.#stream);
3151
- }
3152
- if (this.#options.discardStdin && process8.stdin.isTTY) {
3153
- this.#isDiscardingStdin = true;
3154
- stdin_discarder_default.start();
3155
- }
3156
- this.render();
3157
- this.#id = setInterval(this.render.bind(this), this.interval);
3158
- return this;
3159
- }
3160
- stop() {
3161
- clearInterval(this.#id);
3162
- this.#id = void 0;
3163
- this.#frameIndex = 0;
3164
- if (this.#isEnabled) {
3165
- this.clear();
3166
- if (this.#options.hideCursor) {
3167
- cli_cursor_default.show(this.#stream);
3168
- }
3169
- }
3170
- if (this.#options.discardStdin && process8.stdin.isTTY && this.#isDiscardingStdin) {
3171
- stdin_discarder_default.stop();
3172
- this.#isDiscardingStdin = false;
3173
- }
3174
- return this;
3175
- }
3176
- succeed(text) {
3177
- return this.stopAndPersist({ symbol: symbols_exports.success, text });
3178
- }
3179
- fail(text) {
3180
- return this.stopAndPersist({ symbol: symbols_exports.error, text });
3181
- }
3182
- warn(text) {
3183
- return this.stopAndPersist({ symbol: symbols_exports.warning, text });
3184
- }
3185
- info(text) {
3186
- return this.stopAndPersist({ symbol: symbols_exports.info, text });
3187
- }
3188
- stopAndPersist(options = {}) {
3189
- if (this.#isSilent) {
3190
- return this;
3191
- }
3192
- const prefixText = options.prefixText ?? this.#prefixText;
3193
- const fullPrefixText = this.#getFullPrefixText(prefixText, " ");
3194
- const symbolText = options.symbol ?? " ";
3195
- const text = options.text ?? this.text;
3196
- const separatorText = symbolText ? " " : "";
3197
- const fullText = typeof text === "string" ? separatorText + text : "";
3198
- const suffixText = options.suffixText ?? this.#suffixText;
3199
- const fullSuffixText = this.#getFullSuffixText(suffixText, " ");
3200
- const textToWrite = fullPrefixText + symbolText + fullText + fullSuffixText + "\n";
3201
- this.stop();
3202
- this.#stream.write(textToWrite);
3203
- return this;
3204
- }
3205
- };
3206
- function ora(options) {
3207
- return new Ora(options);
3208
- }
3209
-
3210
- // src/ui/task.tsx
3211
- import { stdin as input, stdout as output } from "node:process";
3212
- import readline from "node:readline/promises";
3213
- var Task = class {
3214
- spiner = void 0;
3215
- do(task2, color, spinner, prefix) {
3216
- this.spiner = ora({
3217
- text: task2,
3218
- color,
3219
- spinner,
3220
- prefixText: prefix
3221
- }).start();
3222
- }
3223
- next(task2, color, spinner, level = 0) {
3224
- this.success();
3225
- this.do(
3226
- task2,
3227
- color,
3228
- spinner,
3229
- level ? " ".repeat(level) + "\u2514\u2500" : void 0
3230
- );
3231
- }
3232
- success() {
3233
- if (this.spiner) this.spiner.succeed();
3234
- }
3235
- fail() {
3236
- if (this.spiner) this.spiner.fail();
3237
- }
3238
- async ask(question, defaultAnswer = "") {
3239
- if (this.spiner) {
3240
- this.spiner.spinner = {
3241
- interval: 100,
3242
- frames: [
3243
- "?",
3244
- ".",
3245
- " ",
3246
- "."
3247
- ]
3248
- };
3249
- }
3250
- const rl = readline.createInterface({ input, output });
3251
- const answer = (await rl.question("")).trim();
3252
- rl.close();
3253
- return answer ? answer : defaultAnswer;
3254
- }
3255
- };
3256
-
3257
- // src/templates.ts
3258
- var getRawPageData = async (url, pages, debug = false) => {
3259
- const task2 = new Task();
3260
- task2.next("Parsing pages", "yellow", cli_spinners_default.dotsCircle);
3261
- const result = [];
3262
- const browser = await chromium.launch({ headless: !debug, devtools: true });
3263
- const context = await browser.newContext({
3264
- userAgent: "____fast-ssr-tool___"
3265
- });
3266
- let indexHtml = void 0;
3267
- for await (const mask of pages) {
3268
- task2.next(mask, "yellow", cli_spinners_default.dotsCircle, 1);
3269
- const page = await context.newPage();
3270
- const path2 = mask.replaceAll("{", "").replaceAll("}", "");
3271
- if (!indexHtml) {
3272
- page.on("response", async (responce) => {
3273
- if (responce.status() == 200 && responce.url() == url + path2) {
3274
- indexHtml = await responce.text();
3275
- }
3276
- });
3277
- }
3278
- await page.goto(url + path2);
3279
- await page.waitForLoadState("networkidle");
3280
- await page.waitForTimeout(1e3);
3281
- const input2 = await page.evaluate(() => {
3282
- return window.__page_requests;
3283
- });
3284
- if (debug) console.log({ input: input2 });
3285
- const root = await page.locator("#root").innerHTML();
3286
- if (debug) {
3287
- await task2.ask("continue?");
3288
- }
3289
- page.close();
3290
- result.push({
3291
- input: input2,
3292
- mask,
3293
- root
3294
- });
3295
- }
3296
- await browser.close();
3297
- task2.success();
3298
- return { pages: result, indexHtml };
3299
- };
3300
-
3301
- // src/bin.ts
3302
- import path from "node:path";
3303
- import { mkdir } from "node:fs/promises";
3304
- import prettier from "prettier";
3305
-
3306
- // src/config/defaultIndexHtml.ts
3307
- var defaultIndexHtml = `
3308
- <!doctype html>
3309
- <html lang="eng">
3310
- <head>
3311
- <meta charset="UTF-8" />
3312
- <link rel="icon" type="image/svg+xml" href="/images/favicon.svg" />
3313
- <meta name="viewport" content="width=device-width, initial-scale=1.0" />
3314
- <title>Jinrai app</title>
3315
- <!--app-head-->
3316
- </head>
3317
- <body>
3318
- <div id="root"><!--app-html--></div>
3319
- </body>
3320
- </html>
3321
-
3322
- `;
3323
-
3324
- // src/bin.ts
3325
- var task = new Task();
3326
- var configName = process.argv[2] ? process.argv[2] : "jinrai.config";
3327
- task.do("Init: " + configName);
3328
- var config = await getUserConfig(configName);
3329
- task.success();
3330
- var data = await getRawPageData(config.url, config.pages, config.debug);
3331
- task.do("Format");
3332
- var { routes, templates } = getRoutesAndTemplates(data.pages);
3333
- task.next(`Export: ${config.outDir} (${templates.length})`);
3334
- await mkdir(config.outDir, { recursive: true });
3335
- await writeFile(path.join(config.outDir, "config.json"), JSON.stringify(routes, null, 2));
3336
- await writeFile(path.join(config.outDir, "index.html"), data.indexHtml ?? defaultIndexHtml);
3337
- for await (let [index, template] of templates.entries()) {
3338
- try {
3339
- template = await prettier.format(template, {
3340
- parser: "html",
3341
- printWidth: 500,
3342
- tabWidth: 2,
3343
- useTabs: false,
3344
- semi: true,
3345
- singleQuote: true
3346
- });
3347
- } catch (error2) {
3348
- }
3349
- await writeFile(path.join(config.outDir, `${index}.html`), template);
3350
- }
3351
- task.success();
2
+ var Xt=Object.defineProperty;var Zt=(t,e)=>{for(var r in e)Xt(t,r,{get:e[r],enumerable:!0})};import{writeFile as ht}from"node:fs/promises";import{createJiti as Qt}from"jiti";import{pathToFileURL as te}from"url";import{resolve as ee}from"path";var _t=async t=>{let e=Qt(import.meta.url,{debug:!1}),r=te(ee(process.cwd(),t)).href;return(await e.import(r)).default};var R=t=>t.replace(/\r?\n|\r/g," ").replace(/\s+/g," ").replace(/>\s+</g,"><").trim();import{createHash as re}from"node:crypto";var I=class{options;openVar="{{";createVar="}}";createArray="</loopwrapper";createCustom="</custom";deepUp="<loopwrapper";deepUp2="<custom";templates={};constructor(e){this.options=e}parse(e){let r=[];return this.handle(this.options?.normolize?R(e):e,r),r}handle(e,r){let i,s=0,n=0,o=new RegExp("(<loopwrapper(\\s+[^>]*)?>|</loopwrapper>|{{|}}|<custom(\\s+[^>]*)?>|</custom>)","gi");for(;(i=o.exec(e))!==null;){let l=i[0],u=e.substring(n,i.index);if(l.startsWith(this.createArray)){if(s--,s>0)continue;this.createElement(r,u)}else if(l.startsWith(this.deepUp)){if(s++,s>1)continue;this.createElement(r,u)}else if(l.startsWith(this.createCustom)){if(s--,s!=0)continue;this.createCustomElement(r,u)}else if(l.startsWith(this.deepUp2)){if(s++,s>1)continue;this.createElement(r,u)}else if(l==this.createVar){if(s!=0)continue;this.createElement(r,u,!0)}else{if(s!=0)continue;this.createElement(r,u)}n=i.index+l.length}if(n<e.length){let l=e.substring(n);this.createElement(r,l)}}createCustomElement(e,r){let[i,...s]=r.trimStart().split("|");r=s.join("|"),e.push({type:"custom",name:i,props:r})}createElement(e,r,i){if(i)return e.push({type:"value",key:r});if(r.trimStart().startsWith("ArrayDataKey=")){let[s,...n]=r.trimStart().substring(13).split("|");r=n.join("|");let o=[];return this.handle(r,o),e.push({type:"array",data:o,key:s})}r&&e.push({type:"html",content:this.options?.templates?this.createTemplate(r):r})}createTemplate(e){return e in this.templates||(this.templates[e]=re("md5").update(Object.keys(this.templates).length.toString()).digest("hex")),this.templates[e]}};var Ft=t=>{let e=[],r=new I({normolize:!0,templates:!0});for(let[i,s]of t.entries()){let n=r.parse(s.root),o=s.mask.replaceAll("/","\\/").replace(/{(.*?)}/,".+?");e.push({id:i,content:n,mask:o,requests:s.input})}return{routes:e,templates:r.templates}};import{chromium as Ht}from"playwright";import U from"node:process";var xt=(t=0)=>e=>`\x1B[${e+t}m`,bt=(t=0)=>e=>`\x1B[${38+t};5;${e}m`,Et=(t=0)=>(e,r,i)=>`\x1B[${38+t};2;${e};${r};${i}m`,c={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]}},hr=Object.keys(c.modifier),ie=Object.keys(c.color),se=Object.keys(c.bgColor),dr=[...ie,...se];function ne(){let t=new Map;for(let[e,r]of Object.entries(c)){for(let[i,s]of Object.entries(r))c[i]={open:`\x1B[${s[0]}m`,close:`\x1B[${s[1]}m`},r[i]=c[i],t.set(s[0],s[1]);Object.defineProperty(c,e,{value:r,enumerable:!1})}return Object.defineProperty(c,"codes",{value:t,enumerable:!1}),c.color.close="\x1B[39m",c.bgColor.close="\x1B[49m",c.color.ansi=xt(),c.color.ansi256=bt(),c.color.ansi16m=Et(),c.bgColor.ansi=xt(10),c.bgColor.ansi256=bt(10),c.bgColor.ansi16m=Et(10),Object.defineProperties(c,{rgbToAnsi256:{value(e,r,i){return e===r&&r===i?e<8?16:e>248?231:Math.round((e-8)/247*24)+232:16+36*Math.round(e/255*5)+6*Math.round(r/255*5)+Math.round(i/255*5)},enumerable:!1},hexToRgb:{value(e){let r=/[a-f\d]{6}|[a-f\d]{3}/i.exec(e.toString(16));if(!r)return[0,0,0];let[i]=r;i.length===3&&(i=[...i].map(n=>n+n).join(""));let s=Number.parseInt(i,16);return[s>>16&255,s>>8&255,s&255]},enumerable:!1},hexToAnsi256:{value:e=>c.rgbToAnsi256(...c.hexToRgb(e)),enumerable:!1},ansi256ToAnsi:{value(e){if(e<8)return 30+e;if(e<16)return 90+(e-8);let r,i,s;if(e>=232)r=((e-232)*10+8)/255,i=r,s=r;else{e-=16;let l=e%36;r=Math.floor(e/36)/5,i=Math.floor(l/6)/5,s=l%6/5}let n=Math.max(r,i,s)*2;if(n===0)return 30;let o=30+(Math.round(s)<<2|Math.round(i)<<1|Math.round(r));return n===2&&(o+=60),o},enumerable:!1},rgbToAnsi:{value:(e,r,i)=>c.ansi256ToAnsi(c.rgbToAnsi256(e,r,i)),enumerable:!1},hexToAnsi:{value:e=>c.ansi256ToAnsi(c.hexToAnsi256(e)),enumerable:!1}}),c}var oe=ne(),p=oe;import q from"node:process";import ae from"node:os";import Ct from"node:tty";function m(t,e=globalThis.Deno?globalThis.Deno.args:q.argv){let r=t.startsWith("-")?"":t.length===1?"-":"--",i=e.indexOf(r+t),s=e.indexOf("--");return i!==-1&&(s===-1||i<s)}var{env:f}=q,P;m("no-color")||m("no-colors")||m("color=false")||m("color=never")?P=0:(m("color")||m("colors")||m("color=true")||m("color=always"))&&(P=1);function le(){if("FORCE_COLOR"in f)return f.FORCE_COLOR==="true"?1:f.FORCE_COLOR==="false"?0:f.FORCE_COLOR.length===0?1:Math.min(Number.parseInt(f.FORCE_COLOR,10),3)}function ce(t){return t===0?!1:{level:t,hasBasic:!0,has256:t>=2,has16m:t>=3}}function fe(t,{streamIsTTY:e,sniffFlags:r=!0}={}){let i=le();i!==void 0&&(P=i);let s=r?P:i;if(s===0)return 0;if(r){if(m("color=16m")||m("color=full")||m("color=truecolor"))return 3;if(m("color=256"))return 2}if("TF_BUILD"in f&&"AGENT_NAME"in f)return 1;if(t&&!e&&s===void 0)return 0;let n=s||0;if(f.TERM==="dumb")return n;if(q.platform==="win32"){let o=ae.release().split(".");return Number(o[0])>=10&&Number(o[2])>=10586?Number(o[2])>=14931?3:2:1}if("CI"in f)return["GITHUB_ACTIONS","GITEA_ACTIONS","CIRCLECI"].some(o=>o in f)?3:["TRAVIS","APPVEYOR","GITLAB_CI","BUILDKITE","DRONE"].some(o=>o in f)||f.CI_NAME==="codeship"?1:n;if("TEAMCITY_VERSION"in f)return/^(9\.(0*[1-9]\d*)\.|\d{2,}\.)/.test(f.TEAMCITY_VERSION)?1:0;if(f.COLORTERM==="truecolor"||f.TERM==="xterm-kitty"||f.TERM==="xterm-ghostty"||f.TERM==="wezterm")return 3;if("TERM_PROGRAM"in f){let o=Number.parseInt((f.TERM_PROGRAM_VERSION||"").split(".")[0],10);switch(f.TERM_PROGRAM){case"iTerm.app":return o>=3?3:2;case"Apple_Terminal":return 2}}return/-256(color)?$/i.test(f.TERM)?2:/^screen|^xterm|^vt100|^vt220|^rxvt|color|ansi|cygwin|linux/i.test(f.TERM)||"COLORTERM"in f?1:n}function yt(t,e={}){let r=fe(t,{streamIsTTY:t&&t.isTTY,...e});return ce(r)}var ue={stdout:yt({isTTY:Ct.isatty(1)}),stderr:yt({isTTY:Ct.isatty(2)})},wt=ue;function vt(t,e,r){let i=t.indexOf(e);if(i===-1)return t;let s=e.length,n=0,o="";do o+=t.slice(n,i)+e+r,n=i+s,i=t.indexOf(e,n);while(i!==-1);return o+=t.slice(n),o}function Tt(t,e,r,i){let s=0,n="";do{let o=t[i-1]==="\r";n+=t.slice(s,o?i-1:i)+e+(o?`\r
3
+ `:`
4
+ `)+r,s=i+1,i=t.indexOf(`
5
+ `,s)}while(i!==-1);return n+=t.slice(s),n}var{stdout:At,stderr:Bt}=wt,z=Symbol("GENERATOR"),y=Symbol("STYLER"),B=Symbol("IS_EMPTY"),St=["ansi","ansi","ansi256","ansi16m"],w=Object.create(null),me=(t,e={})=>{if(e.level&&!(Number.isInteger(e.level)&&e.level>=0&&e.level<=3))throw new Error("The `level` option should be an integer from 0 to 3");let r=At?At.level:0;t.level=e.level===void 0?r:e.level};var pe=t=>{let e=(...r)=>r.join(" ");return me(e,t),Object.setPrototypeOf(e,S.prototype),e};function S(t){return pe(t)}Object.setPrototypeOf(S.prototype,Function.prototype);for(let[t,e]of Object.entries(p))w[t]={get(){let r=M(this,J(e.open,e.close,this[y]),this[B]);return Object.defineProperty(this,t,{value:r}),r}};w.visible={get(){let t=M(this,this[y],!0);return Object.defineProperty(this,"visible",{value:t}),t}};var K=(t,e,r,...i)=>t==="rgb"?e==="ansi16m"?p[r].ansi16m(...i):e==="ansi256"?p[r].ansi256(p.rgbToAnsi256(...i)):p[r].ansi(p.rgbToAnsi(...i)):t==="hex"?K("rgb",e,r,...p.hexToRgb(...i)):p[r][t](...i),he=["rgb","hex","ansi256"];for(let t of he){w[t]={get(){let{level:r}=this;return function(...i){let s=J(K(t,St[r],"color",...i),p.color.close,this[y]);return M(this,s,this[B])}}};let e="bg"+t[0].toUpperCase()+t.slice(1);w[e]={get(){let{level:r}=this;return function(...i){let s=J(K(t,St[r],"bgColor",...i),p.bgColor.close,this[y]);return M(this,s,this[B])}}}}var de=Object.defineProperties(()=>{},{...w,level:{enumerable:!0,get(){return this[z].level},set(t){this[z].level=t}}}),J=(t,e,r)=>{let i,s;return r===void 0?(i=t,s=e):(i=r.openAll+t,s=e+r.closeAll),{open:t,close:e,openAll:i,closeAll:s,parent:r}},M=(t,e,r)=>{let i=(...s)=>ge(i,s.length===1?""+s[0]:s.join(" "));return Object.setPrototypeOf(i,de),i[z]=t,i[y]=e,i[B]=r,i},ge=(t,e)=>{if(t.level<=0||!e)return t[B]?"":e;let r=t[y];if(r===void 0)return e;let{openAll:i,closeAll:s}=r;if(e.includes("\x1B"))for(;r!==void 0;)e=vt(e,r.close,r.open),r=r.parent;let n=e.indexOf(`
6
+ `);return n!==-1&&(e=Tt(e,s,i,n)),i+e+s};Object.defineProperties(S.prototype,w);var _e=S(),vr=S({level:Bt?Bt.level:0});var Ot=_e;import Nt from"node:process";import L from"node:process";var Fe=(t,e,r,i)=>{if(r==="length"||r==="prototype"||r==="arguments"||r==="caller")return;let s=Object.getOwnPropertyDescriptor(t,r),n=Object.getOwnPropertyDescriptor(e,r);!xe(s,n)&&i||Object.defineProperty(t,r,n)},xe=function(t,e){return t===void 0||t.configurable||t.writable===e.writable&&t.enumerable===e.enumerable&&t.configurable===e.configurable&&(t.writable||t.value===e.value)},be=(t,e)=>{let r=Object.getPrototypeOf(e);r!==Object.getPrototypeOf(t)&&Object.setPrototypeOf(t,r)},Ee=(t,e)=>`/* Wrapped ${t}*/
7
+ ${e}`,Ce=Object.getOwnPropertyDescriptor(Function.prototype,"toString"),ye=Object.getOwnPropertyDescriptor(Function.prototype.toString,"name"),we=(t,e,r)=>{let i=r===""?"":`with ${r.trim()}() `,s=Ee.bind(null,i,e.toString());Object.defineProperty(s,"name",ye);let{writable:n,enumerable:o,configurable:l}=Ce;Object.defineProperty(t,"toString",{value:s,writable:n,enumerable:o,configurable:l})};function X(t,e,{ignoreNonConfigurable:r=!1}={}){let{name:i}=t;for(let s of Reflect.ownKeys(e))Fe(t,e,s,r);return be(t,e),we(t,e,i),t}var N=new WeakMap,Dt=(t,e={})=>{if(typeof t!="function")throw new TypeError("Expected a function");let r,i=0,s=t.displayName||t.name||"<anonymous>",n=function(...o){if(N.set(n,++i),i===1)r=t.apply(this,o),t=void 0;else if(e.throw===!0)throw new Error(`Function \`${s}\` can only be called once`);return r};return X(n,t),N.set(n,i),n};Dt.callCount=t=>{if(!N.has(t))throw new Error(`The given function \`${t.name}\` is not wrapped by the \`onetime\` package`);return N.get(t)};var Rt=Dt;var F=[];F.push("SIGHUP","SIGINT","SIGTERM");process.platform!=="win32"&&F.push("SIGALRM","SIGABRT","SIGVTALRM","SIGXCPU","SIGXFSZ","SIGUSR2","SIGTRAP","SIGSYS","SIGQUIT","SIGIOT");process.platform==="linux"&&F.push("SIGIO","SIGPOLL","SIGPWR","SIGSTKFLT");var j=t=>!!t&&typeof t=="object"&&typeof t.removeListener=="function"&&typeof t.emit=="function"&&typeof t.reallyExit=="function"&&typeof t.listeners=="function"&&typeof t.kill=="function"&&typeof t.pid=="number"&&typeof t.on=="function",Z=Symbol.for("signal-exit emitter"),Q=globalThis,ve=Object.defineProperty.bind(Object),tt=class{emitted={afterExit:!1,exit:!1};listeners={afterExit:[],exit:[]};count=0;id=Math.random();constructor(){if(Q[Z])return Q[Z];ve(Q,Z,{value:this,writable:!1,enumerable:!1,configurable:!1})}on(e,r){this.listeners[e].push(r)}removeListener(e,r){let i=this.listeners[e],s=i.indexOf(r);s!==-1&&(s===0&&i.length===1?i.length=0:i.splice(s,1))}emit(e,r,i){if(this.emitted[e])return!1;this.emitted[e]=!0;let s=!1;for(let n of this.listeners[e])s=n(r,i)===!0||s;return e==="exit"&&(s=this.emit("afterExit",r,i)||s),s}},k=class{},Te=t=>({onExit(e,r){return t.onExit(e,r)},load(){return t.load()},unload(){return t.unload()}}),et=class extends k{onExit(){return()=>{}}load(){}unload(){}},rt=class extends k{#n=it.platform==="win32"?"SIGINT":"SIGHUP";#i=new tt;#t;#s;#p;#u={};#e=!1;constructor(e){super(),this.#t=e,this.#u={};for(let r of F)this.#u[r]=()=>{let i=this.#t.listeners(r),{count:s}=this.#i,n=e;if(typeof n.__signal_exit_emitter__=="object"&&typeof n.__signal_exit_emitter__.count=="number"&&(s+=n.__signal_exit_emitter__.count),i.length===s){this.unload();let o=this.#i.emit("exit",null,r),l=r==="SIGHUP"?this.#n:r;o||e.kill(e.pid,l)}};this.#p=e.reallyExit,this.#s=e.emit}onExit(e,r){if(!j(this.#t))return()=>{};this.#e===!1&&this.load();let i=r?.alwaysLast?"afterExit":"exit";return this.#i.on(i,e),()=>{this.#i.removeListener(i,e),this.#i.listeners.exit.length===0&&this.#i.listeners.afterExit.length===0&&this.unload()}}load(){if(!this.#e){this.#e=!0,this.#i.count+=1;for(let e of F)try{let r=this.#u[e];r&&this.#t.on(e,r)}catch{}this.#t.emit=(e,...r)=>this.#r(e,...r),this.#t.reallyExit=e=>this.#o(e)}}unload(){this.#e&&(this.#e=!1,F.forEach(e=>{let r=this.#u[e];if(!r)throw new Error("Listener not defined for signal: "+e);try{this.#t.removeListener(e,r)}catch{}}),this.#t.emit=this.#s,this.#t.reallyExit=this.#p,this.#i.count-=1)}#o(e){return j(this.#t)?(this.#t.exitCode=e||0,this.#i.emit("exit",this.#t.exitCode,null),this.#p.call(this.#t,this.#t.exitCode)):0}#r(e,...r){let i=this.#s;if(e==="exit"&&j(this.#t)){typeof r[0]=="number"&&(this.#t.exitCode=r[0]);let s=i.call(this.#t,e,...r);return this.#i.emit("exit",this.#t.exitCode,null),s}else return i.call(this.#t,e,...r)}},it=globalThis.process,{onExit:It,load:Rr,unload:Ir}=Te(j(it)?new rt(it):new et);var Pt=L.stderr.isTTY?L.stderr:L.stdout.isTTY?L.stdout:void 0,Ae=Pt?Rt(()=>{It(()=>{Pt.write("\x1B[?25h")},{alwaysLast:!0})}):()=>{},Mt=Ae;var G=!1,v={};v.show=(t=Nt.stderr)=>{t.isTTY&&(G=!1,t.write("\x1B[?25h"))};v.hide=(t=Nt.stderr)=>{t.isTTY&&(Mt(),G=!0,t.write("\x1B[?25l"))};v.toggle=(t,e)=>{t!==void 0&&(G=t),G?v.show(e):v.hide(e)};var st=v;var nt={dots:{interval:80,frames:["\u280B","\u2819","\u2839","\u2838","\u283C","\u2834","\u2826","\u2827","\u2807","\u280F"]},dots2:{interval:80,frames:["\u28FE","\u28FD","\u28FB","\u28BF","\u287F","\u28DF","\u28EF","\u28F7"]},dots3:{interval:80,frames:["\u280B","\u2819","\u281A","\u281E","\u2816","\u2826","\u2834","\u2832","\u2833","\u2813"]},dots4:{interval:80,frames:["\u2804","\u2806","\u2807","\u280B","\u2819","\u2838","\u2830","\u2820","\u2830","\u2838","\u2819","\u280B","\u2807","\u2806"]},dots5:{interval:80,frames:["\u280B","\u2819","\u281A","\u2812","\u2802","\u2802","\u2812","\u2832","\u2834","\u2826","\u2816","\u2812","\u2810","\u2810","\u2812","\u2813","\u280B"]},dots6:{interval:80,frames:["\u2801","\u2809","\u2819","\u281A","\u2812","\u2802","\u2802","\u2812","\u2832","\u2834","\u2824","\u2804","\u2804","\u2824","\u2834","\u2832","\u2812","\u2802","\u2802","\u2812","\u281A","\u2819","\u2809","\u2801"]},dots7:{interval:80,frames:["\u2808","\u2809","\u280B","\u2813","\u2812","\u2810","\u2810","\u2812","\u2816","\u2826","\u2824","\u2820","\u2820","\u2824","\u2826","\u2816","\u2812","\u2810","\u2810","\u2812","\u2813","\u280B","\u2809","\u2808"]},dots8:{interval:80,frames:["\u2801","\u2801","\u2809","\u2819","\u281A","\u2812","\u2802","\u2802","\u2812","\u2832","\u2834","\u2824","\u2804","\u2804","\u2824","\u2820","\u2820","\u2824","\u2826","\u2816","\u2812","\u2810","\u2810","\u2812","\u2813","\u280B","\u2809","\u2808","\u2808"]},dots9:{interval:80,frames:["\u28B9","\u28BA","\u28BC","\u28F8","\u28C7","\u2867","\u2857","\u284F"]},dots10:{interval:80,frames:["\u2884","\u2882","\u2881","\u2841","\u2848","\u2850","\u2860"]},dots11:{interval:100,frames:["\u2801","\u2802","\u2804","\u2840","\u2880","\u2820","\u2810","\u2808"]},dots12:{interval:80,frames:["\u2880\u2800","\u2840\u2800","\u2804\u2800","\u2882\u2800","\u2842\u2800","\u2805\u2800","\u2883\u2800","\u2843\u2800","\u280D\u2800","\u288B\u2800","\u284B\u2800","\u280D\u2801","\u288B\u2801","\u284B\u2801","\u280D\u2809","\u280B\u2809","\u280B\u2809","\u2809\u2819","\u2809\u2819","\u2809\u2829","\u2808\u2899","\u2808\u2859","\u2888\u2829","\u2840\u2899","\u2804\u2859","\u2882\u2829","\u2842\u2898","\u2805\u2858","\u2883\u2828","\u2843\u2890","\u280D\u2850","\u288B\u2820","\u284B\u2880","\u280D\u2841","\u288B\u2801","\u284B\u2801","\u280D\u2809","\u280B\u2809","\u280B\u2809","\u2809\u2819","\u2809\u2819","\u2809\u2829","\u2808\u2899","\u2808\u2859","\u2808\u2829","\u2800\u2899","\u2800\u2859","\u2800\u2829","\u2800\u2898","\u2800\u2858","\u2800\u2828","\u2800\u2890","\u2800\u2850","\u2800\u2820","\u2800\u2880","\u2800\u2840"]},dots13:{interval:80,frames:["\u28FC","\u28F9","\u28BB","\u283F","\u285F","\u28CF","\u28E7","\u28F6"]},dots14:{interval:80,frames:["\u2809\u2809","\u2808\u2819","\u2800\u2839","\u2800\u28B8","\u2800\u28F0","\u2880\u28E0","\u28C0\u28C0","\u28C4\u2840","\u28C6\u2800","\u2847\u2800","\u280F\u2800","\u280B\u2801"]},dots8Bit:{interval:80,frames:["\u2800","\u2801","\u2802","\u2803","\u2804","\u2805","\u2806","\u2807","\u2840","\u2841","\u2842","\u2843","\u2844","\u2845","\u2846","\u2847","\u2808","\u2809","\u280A","\u280B","\u280C","\u280D","\u280E","\u280F","\u2848","\u2849","\u284A","\u284B","\u284C","\u284D","\u284E","\u284F","\u2810","\u2811","\u2812","\u2813","\u2814","\u2815","\u2816","\u2817","\u2850","\u2851","\u2852","\u2853","\u2854","\u2855","\u2856","\u2857","\u2818","\u2819","\u281A","\u281B","\u281C","\u281D","\u281E","\u281F","\u2858","\u2859","\u285A","\u285B","\u285C","\u285D","\u285E","\u285F","\u2820","\u2821","\u2822","\u2823","\u2824","\u2825","\u2826","\u2827","\u2860","\u2861","\u2862","\u2863","\u2864","\u2865","\u2866","\u2867","\u2828","\u2829","\u282A","\u282B","\u282C","\u282D","\u282E","\u282F","\u2868","\u2869","\u286A","\u286B","\u286C","\u286D","\u286E","\u286F","\u2830","\u2831","\u2832","\u2833","\u2834","\u2835","\u2836","\u2837","\u2870","\u2871","\u2872","\u2873","\u2874","\u2875","\u2876","\u2877","\u2838","\u2839","\u283A","\u283B","\u283C","\u283D","\u283E","\u283F","\u2878","\u2879","\u287A","\u287B","\u287C","\u287D","\u287E","\u287F","\u2880","\u2881","\u2882","\u2883","\u2884","\u2885","\u2886","\u2887","\u28C0","\u28C1","\u28C2","\u28C3","\u28C4","\u28C5","\u28C6","\u28C7","\u2888","\u2889","\u288A","\u288B","\u288C","\u288D","\u288E","\u288F","\u28C8","\u28C9","\u28CA","\u28CB","\u28CC","\u28CD","\u28CE","\u28CF","\u2890","\u2891","\u2892","\u2893","\u2894","\u2895","\u2896","\u2897","\u28D0","\u28D1","\u28D2","\u28D3","\u28D4","\u28D5","\u28D6","\u28D7","\u2898","\u2899","\u289A","\u289B","\u289C","\u289D","\u289E","\u289F","\u28D8","\u28D9","\u28DA","\u28DB","\u28DC","\u28DD","\u28DE","\u28DF","\u28A0","\u28A1","\u28A2","\u28A3","\u28A4","\u28A5","\u28A6","\u28A7","\u28E0","\u28E1","\u28E2","\u28E3","\u28E4","\u28E5","\u28E6","\u28E7","\u28A8","\u28A9","\u28AA","\u28AB","\u28AC","\u28AD","\u28AE","\u28AF","\u28E8","\u28E9","\u28EA","\u28EB","\u28EC","\u28ED","\u28EE","\u28EF","\u28B0","\u28B1","\u28B2","\u28B3","\u28B4","\u28B5","\u28B6","\u28B7","\u28F0","\u28F1","\u28F2","\u28F3","\u28F4","\u28F5","\u28F6","\u28F7","\u28B8","\u28B9","\u28BA","\u28BB","\u28BC","\u28BD","\u28BE","\u28BF","\u28F8","\u28F9","\u28FA","\u28FB","\u28FC","\u28FD","\u28FE","\u28FF"]},dotsCircle:{interval:80,frames:["\u288E ","\u280E\u2801","\u280A\u2811","\u2808\u2831"," \u2871","\u2880\u2870","\u2884\u2860","\u2886\u2840"]},sand:{interval:80,frames:["\u2801","\u2802","\u2804","\u2840","\u2848","\u2850","\u2860","\u28C0","\u28C1","\u28C2","\u28C4","\u28CC","\u28D4","\u28E4","\u28E5","\u28E6","\u28EE","\u28F6","\u28F7","\u28FF","\u287F","\u283F","\u289F","\u281F","\u285B","\u281B","\u282B","\u288B","\u280B","\u280D","\u2849","\u2809","\u2811","\u2821","\u2881"]},line:{interval:130,frames:["-","\\","|","/"]},line2:{interval:100,frames:["\u2802","-","\u2013","\u2014","\u2013","-"]},rollingLine:{interval:80,frames:["/ "," - "," \\ "," |"," |"," \\ "," - ","/ "]},pipe:{interval:100,frames:["\u2524","\u2518","\u2534","\u2514","\u251C","\u250C","\u252C","\u2510"]},simpleDots:{interval:400,frames:[". ",".. ","..."," "]},simpleDotsScrolling:{interval:200,frames:[". ",".. ","..."," .."," ."," "]},star:{interval:70,frames:["\u2736","\u2738","\u2739","\u273A","\u2739","\u2737"]},star2:{interval:80,frames:["+","x","*"]},flip:{interval:70,frames:["_","_","_","-","`","`","'","\xB4","-","_","_","_"]},hamburger:{interval:100,frames:["\u2631","\u2632","\u2634"]},growVertical:{interval:120,frames:["\u2581","\u2583","\u2584","\u2585","\u2586","\u2587","\u2586","\u2585","\u2584","\u2583"]},growHorizontal:{interval:120,frames:["\u258F","\u258E","\u258D","\u258C","\u258B","\u258A","\u2589","\u258A","\u258B","\u258C","\u258D","\u258E"]},balloon:{interval:140,frames:[" ",".","o","O","@","*"," "]},balloon2:{interval:120,frames:[".","o","O","\xB0","O","o","."]},noise:{interval:100,frames:["\u2593","\u2592","\u2591"]},bounce:{interval:120,frames:["\u2801","\u2802","\u2804","\u2802"]},boxBounce:{interval:120,frames:["\u2596","\u2598","\u259D","\u2597"]},boxBounce2:{interval:100,frames:["\u258C","\u2580","\u2590","\u2584"]},triangle:{interval:50,frames:["\u25E2","\u25E3","\u25E4","\u25E5"]},binary:{interval:80,frames:["010010","001100","100101","111010","111101","010111","101011","111000","110011","110101"]},arc:{interval:100,frames:["\u25DC","\u25E0","\u25DD","\u25DE","\u25E1","\u25DF"]},circle:{interval:120,frames:["\u25E1","\u2299","\u25E0"]},squareCorners:{interval:180,frames:["\u25F0","\u25F3","\u25F2","\u25F1"]},circleQuarters:{interval:120,frames:["\u25F4","\u25F7","\u25F6","\u25F5"]},circleHalves:{interval:50,frames:["\u25D0","\u25D3","\u25D1","\u25D2"]},squish:{interval:100,frames:["\u256B","\u256A"]},toggle:{interval:250,frames:["\u22B6","\u22B7"]},toggle2:{interval:80,frames:["\u25AB","\u25AA"]},toggle3:{interval:120,frames:["\u25A1","\u25A0"]},toggle4:{interval:100,frames:["\u25A0","\u25A1","\u25AA","\u25AB"]},toggle5:{interval:100,frames:["\u25AE","\u25AF"]},toggle6:{interval:300,frames:["\u101D","\u1040"]},toggle7:{interval:80,frames:["\u29BE","\u29BF"]},toggle8:{interval:100,frames:["\u25CD","\u25CC"]},toggle9:{interval:100,frames:["\u25C9","\u25CE"]},toggle10:{interval:100,frames:["\u3282","\u3280","\u3281"]},toggle11:{interval:50,frames:["\u29C7","\u29C6"]},toggle12:{interval:120,frames:["\u2617","\u2616"]},toggle13:{interval:80,frames:["=","*","-"]},arrow:{interval:100,frames:["\u2190","\u2196","\u2191","\u2197","\u2192","\u2198","\u2193","\u2199"]},arrow2:{interval:80,frames:["\u2B06\uFE0F ","\u2197\uFE0F ","\u27A1\uFE0F ","\u2198\uFE0F ","\u2B07\uFE0F ","\u2199\uFE0F ","\u2B05\uFE0F ","\u2196\uFE0F "]},arrow3:{interval:120,frames:["\u25B9\u25B9\u25B9\u25B9\u25B9","\u25B8\u25B9\u25B9\u25B9\u25B9","\u25B9\u25B8\u25B9\u25B9\u25B9","\u25B9\u25B9\u25B8\u25B9\u25B9","\u25B9\u25B9\u25B9\u25B8\u25B9","\u25B9\u25B9\u25B9\u25B9\u25B8"]},bouncingBar:{interval:80,frames:["[ ]","[= ]","[== ]","[=== ]","[====]","[ ===]","[ ==]","[ =]","[ ]","[ =]","[ ==]","[ ===]","[====]","[=== ]","[== ]","[= ]"]},bouncingBall:{interval:80,frames:["( \u25CF )","( \u25CF )","( \u25CF )","( \u25CF )","( \u25CF)","( \u25CF )","( \u25CF )","( \u25CF )","( \u25CF )","(\u25CF )"]},smiley:{interval:200,frames:["\u{1F604} ","\u{1F61D} "]},monkey:{interval:300,frames:["\u{1F648} ","\u{1F648} ","\u{1F649} ","\u{1F64A} "]},hearts:{interval:100,frames:["\u{1F49B} ","\u{1F499} ","\u{1F49C} ","\u{1F49A} ","\u{1F497} "]},clock:{interval:100,frames:["\u{1F55B} ","\u{1F550} ","\u{1F551} ","\u{1F552} ","\u{1F553} ","\u{1F554} ","\u{1F555} ","\u{1F556} ","\u{1F557} ","\u{1F558} ","\u{1F559} ","\u{1F55A} "]},earth:{interval:180,frames:["\u{1F30D} ","\u{1F30E} ","\u{1F30F} "]},material:{interval:17,frames:["\u2588\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581","\u2588\u2588\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581","\u2588\u2588\u2588\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581","\u2588\u2588\u2588\u2588\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581","\u2588\u2588\u2588\u2588\u2588\u2588\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581","\u2588\u2588\u2588\u2588\u2588\u2588\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581","\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581","\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581","\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581","\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581","\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581","\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581","\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2581\u2581\u2581\u2581\u2581\u2581\u2581","\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2581\u2581\u2581\u2581\u2581\u2581","\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2581\u2581\u2581\u2581\u2581\u2581","\u2581\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2581\u2581\u2581\u2581\u2581","\u2581\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2581\u2581\u2581\u2581\u2581","\u2581\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2581\u2581\u2581\u2581\u2581","\u2581\u2581\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2581\u2581\u2581\u2581","\u2581\u2581\u2581\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2581\u2581\u2581","\u2581\u2581\u2581\u2581\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2581\u2581\u2581","\u2581\u2581\u2581\u2581\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2581\u2581","\u2581\u2581\u2581\u2581\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2581\u2581","\u2581\u2581\u2581\u2581\u2581\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2581","\u2581\u2581\u2581\u2581\u2581\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2581","\u2581\u2581\u2581\u2581\u2581\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2581","\u2581\u2581\u2581\u2581\u2581\u2581\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588","\u2581\u2581\u2581\u2581\u2581\u2581\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588","\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588","\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588","\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588","\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588","\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588","\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588","\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588","\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588","\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588","\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2588\u2588\u2588\u2588\u2588\u2588\u2588","\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2588\u2588\u2588\u2588\u2588\u2588","\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2588\u2588\u2588\u2588\u2588","\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2588\u2588\u2588\u2588\u2588","\u2588\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2588\u2588\u2588\u2588","\u2588\u2588\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2588\u2588\u2588","\u2588\u2588\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2588\u2588\u2588","\u2588\u2588\u2588\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2588\u2588\u2588","\u2588\u2588\u2588\u2588\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2588\u2588","\u2588\u2588\u2588\u2588\u2588\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2588","\u2588\u2588\u2588\u2588\u2588\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2588","\u2588\u2588\u2588\u2588\u2588\u2588\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2588","\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581","\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581","\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581","\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581","\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581","\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581","\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581","\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581","\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2581\u2581\u2581\u2581\u2581\u2581","\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2581\u2581\u2581\u2581\u2581\u2581","\u2581\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2581\u2581\u2581\u2581\u2581","\u2581\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2581\u2581\u2581\u2581\u2581","\u2581\u2581\u2581\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2581\u2581\u2581\u2581","\u2581\u2581\u2581\u2581\u2581\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2581\u2581\u2581","\u2581\u2581\u2581\u2581\u2581\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2581\u2581\u2581","\u2581\u2581\u2581\u2581\u2581\u2581\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2581\u2581\u2581","\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2581\u2581\u2581","\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2581\u2581\u2581","\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2581\u2581","\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2581\u2581","\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2581","\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2581","\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2581","\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2581","\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2581","\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2588\u2588\u2588\u2588\u2588\u2588\u2588","\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2588\u2588\u2588\u2588\u2588\u2588\u2588","\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2588\u2588\u2588\u2588\u2588","\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2588\u2588\u2588\u2588","\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2588\u2588\u2588\u2588","\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2588\u2588\u2588\u2588","\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2588\u2588\u2588","\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2588\u2588\u2588","\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2588\u2588","\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2588\u2588","\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2588\u2588","\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2588","\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2588","\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2588","\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581","\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581","\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581","\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581"]},moon:{interval:80,frames:["\u{1F311} ","\u{1F312} ","\u{1F313} ","\u{1F314} ","\u{1F315} ","\u{1F316} ","\u{1F317} ","\u{1F318} "]},runner:{interval:140,frames:["\u{1F6B6} ","\u{1F3C3} "]},pong:{interval:80,frames:["\u2590\u2802 \u258C","\u2590\u2808 \u258C","\u2590 \u2802 \u258C","\u2590 \u2820 \u258C","\u2590 \u2840 \u258C","\u2590 \u2820 \u258C","\u2590 \u2802 \u258C","\u2590 \u2808 \u258C","\u2590 \u2802 \u258C","\u2590 \u2820 \u258C","\u2590 \u2840 \u258C","\u2590 \u2820 \u258C","\u2590 \u2802 \u258C","\u2590 \u2808 \u258C","\u2590 \u2802\u258C","\u2590 \u2820\u258C","\u2590 \u2840\u258C","\u2590 \u2820 \u258C","\u2590 \u2802 \u258C","\u2590 \u2808 \u258C","\u2590 \u2802 \u258C","\u2590 \u2820 \u258C","\u2590 \u2840 \u258C","\u2590 \u2820 \u258C","\u2590 \u2802 \u258C","\u2590 \u2808 \u258C","\u2590 \u2802 \u258C","\u2590 \u2820 \u258C","\u2590 \u2840 \u258C","\u2590\u2820 \u258C"]},shark:{interval:120,frames:["\u2590|\\____________\u258C","\u2590_|\\___________\u258C","\u2590__|\\__________\u258C","\u2590___|\\_________\u258C","\u2590____|\\________\u258C","\u2590_____|\\_______\u258C","\u2590______|\\______\u258C","\u2590_______|\\_____\u258C","\u2590________|\\____\u258C","\u2590_________|\\___\u258C","\u2590__________|\\__\u258C","\u2590___________|\\_\u258C","\u2590____________|\\\u258C","\u2590____________/|\u258C","\u2590___________/|_\u258C","\u2590__________/|__\u258C","\u2590_________/|___\u258C","\u2590________/|____\u258C","\u2590_______/|_____\u258C","\u2590______/|______\u258C","\u2590_____/|_______\u258C","\u2590____/|________\u258C","\u2590___/|_________\u258C","\u2590__/|__________\u258C","\u2590_/|___________\u258C","\u2590/|____________\u258C"]},dqpb:{interval:100,frames:["d","q","p","b"]},weather:{interval:100,frames:["\u2600\uFE0F ","\u2600\uFE0F ","\u2600\uFE0F ","\u{1F324} ","\u26C5\uFE0F ","\u{1F325} ","\u2601\uFE0F ","\u{1F327} ","\u{1F328} ","\u{1F327} ","\u{1F328} ","\u{1F327} ","\u{1F328} ","\u26C8 ","\u{1F328} ","\u{1F327} ","\u{1F328} ","\u2601\uFE0F ","\u{1F325} ","\u26C5\uFE0F ","\u{1F324} ","\u2600\uFE0F ","\u2600\uFE0F "]},christmas:{interval:400,frames:["\u{1F332}","\u{1F384}"]},grenade:{interval:80,frames:["\u060C ","\u2032 "," \xB4 "," \u203E "," \u2E0C"," \u2E0A"," |"," \u204E"," \u2055"," \u0DF4 "," \u2053"," "," "," "]},point:{interval:125,frames:["\u2219\u2219\u2219","\u25CF\u2219\u2219","\u2219\u25CF\u2219","\u2219\u2219\u25CF","\u2219\u2219\u2219"]},layer:{interval:150,frames:["-","=","\u2261"]},betaWave:{interval:80,frames:["\u03C1\u03B2\u03B2\u03B2\u03B2\u03B2\u03B2","\u03B2\u03C1\u03B2\u03B2\u03B2\u03B2\u03B2","\u03B2\u03B2\u03C1\u03B2\u03B2\u03B2\u03B2","\u03B2\u03B2\u03B2\u03C1\u03B2\u03B2\u03B2","\u03B2\u03B2\u03B2\u03B2\u03C1\u03B2\u03B2","\u03B2\u03B2\u03B2\u03B2\u03B2\u03C1\u03B2","\u03B2\u03B2\u03B2\u03B2\u03B2\u03B2\u03C1"]},fingerDance:{interval:160,frames:["\u{1F918} ","\u{1F91F} ","\u{1F596} ","\u270B ","\u{1F91A} ","\u{1F446} "]},fistBump:{interval:80,frames:["\u{1F91C}\u3000\u3000\u3000\u3000\u{1F91B} ","\u{1F91C}\u3000\u3000\u3000\u3000\u{1F91B} ","\u{1F91C}\u3000\u3000\u3000\u3000\u{1F91B} ","\u3000\u{1F91C}\u3000\u3000\u{1F91B}\u3000 ","\u3000\u3000\u{1F91C}\u{1F91B}\u3000\u3000 ","\u3000\u{1F91C}\u2728\u{1F91B}\u3000\u3000 ","\u{1F91C}\u3000\u2728\u3000\u{1F91B}\u3000 "]},soccerHeader:{interval:80,frames:[" \u{1F9D1}\u26BD\uFE0F \u{1F9D1} ","\u{1F9D1} \u26BD\uFE0F \u{1F9D1} ","\u{1F9D1} \u26BD\uFE0F \u{1F9D1} ","\u{1F9D1} \u26BD\uFE0F \u{1F9D1} ","\u{1F9D1} \u26BD\uFE0F \u{1F9D1} ","\u{1F9D1} \u26BD\uFE0F \u{1F9D1} ","\u{1F9D1} \u26BD\uFE0F\u{1F9D1} ","\u{1F9D1} \u26BD\uFE0F \u{1F9D1} ","\u{1F9D1} \u26BD\uFE0F \u{1F9D1} ","\u{1F9D1} \u26BD\uFE0F \u{1F9D1} ","\u{1F9D1} \u26BD\uFE0F \u{1F9D1} ","\u{1F9D1} \u26BD\uFE0F \u{1F9D1} "]},mindblown:{interval:160,frames:["\u{1F610} ","\u{1F610} ","\u{1F62E} ","\u{1F62E} ","\u{1F626} ","\u{1F626} ","\u{1F627} ","\u{1F627} ","\u{1F92F} ","\u{1F4A5} ","\u2728 ","\u3000 ","\u3000 ","\u3000 "]},speaker:{interval:160,frames:["\u{1F508} ","\u{1F509} ","\u{1F50A} ","\u{1F509} "]},orangePulse:{interval:100,frames:["\u{1F538} ","\u{1F536} ","\u{1F7E0} ","\u{1F7E0} ","\u{1F536} "]},bluePulse:{interval:100,frames:["\u{1F539} ","\u{1F537} ","\u{1F535} ","\u{1F535} ","\u{1F537} "]},orangeBluePulse:{interval:100,frames:["\u{1F538} ","\u{1F536} ","\u{1F7E0} ","\u{1F7E0} ","\u{1F536} ","\u{1F539} ","\u{1F537} ","\u{1F535} ","\u{1F535} ","\u{1F537} "]},timeTravel:{interval:100,frames:["\u{1F55B} ","\u{1F55A} ","\u{1F559} ","\u{1F558} ","\u{1F557} ","\u{1F556} ","\u{1F555} ","\u{1F554} ","\u{1F553} ","\u{1F552} ","\u{1F551} ","\u{1F550} "]},aesthetic:{interval:80,frames:["\u25B0\u25B1\u25B1\u25B1\u25B1\u25B1\u25B1","\u25B0\u25B0\u25B1\u25B1\u25B1\u25B1\u25B1","\u25B0\u25B0\u25B0\u25B1\u25B1\u25B1\u25B1","\u25B0\u25B0\u25B0\u25B0\u25B1\u25B1\u25B1","\u25B0\u25B0\u25B0\u25B0\u25B0\u25B1\u25B1","\u25B0\u25B0\u25B0\u25B0\u25B0\u25B0\u25B1","\u25B0\u25B0\u25B0\u25B0\u25B0\u25B0\u25B0","\u25B0\u25B1\u25B1\u25B1\u25B1\u25B1\u25B1"]},dwarfFortress:{interval:80,frames:[" \u2588\u2588\u2588\u2588\u2588\u2588\xA3\xA3\xA3 ","\u263A\u2588\u2588\u2588\u2588\u2588\u2588\xA3\xA3\xA3 ","\u263A\u2588\u2588\u2588\u2588\u2588\u2588\xA3\xA3\xA3 ","\u263A\u2593\u2588\u2588\u2588\u2588\u2588\xA3\xA3\xA3 ","\u263A\u2593\u2588\u2588\u2588\u2588\u2588\xA3\xA3\xA3 ","\u263A\u2592\u2588\u2588\u2588\u2588\u2588\xA3\xA3\xA3 ","\u263A\u2592\u2588\u2588\u2588\u2588\u2588\xA3\xA3\xA3 ","\u263A\u2591\u2588\u2588\u2588\u2588\u2588\xA3\xA3\xA3 ","\u263A\u2591\u2588\u2588\u2588\u2588\u2588\xA3\xA3\xA3 ","\u263A \u2588\u2588\u2588\u2588\u2588\xA3\xA3\xA3 "," \u263A\u2588\u2588\u2588\u2588\u2588\xA3\xA3\xA3 "," \u263A\u2588\u2588\u2588\u2588\u2588\xA3\xA3\xA3 "," \u263A\u2593\u2588\u2588\u2588\u2588\xA3\xA3\xA3 "," \u263A\u2593\u2588\u2588\u2588\u2588\xA3\xA3\xA3 "," \u263A\u2592\u2588\u2588\u2588\u2588\xA3\xA3\xA3 "," \u263A\u2592\u2588\u2588\u2588\u2588\xA3\xA3\xA3 "," \u263A\u2591\u2588\u2588\u2588\u2588\xA3\xA3\xA3 "," \u263A\u2591\u2588\u2588\u2588\u2588\xA3\xA3\xA3 "," \u263A \u2588\u2588\u2588\u2588\xA3\xA3\xA3 "," \u263A\u2588\u2588\u2588\u2588\xA3\xA3\xA3 "," \u263A\u2588\u2588\u2588\u2588\xA3\xA3\xA3 "," \u263A\u2593\u2588\u2588\u2588\xA3\xA3\xA3 "," \u263A\u2593\u2588\u2588\u2588\xA3\xA3\xA3 "," \u263A\u2592\u2588\u2588\u2588\xA3\xA3\xA3 "," \u263A\u2592\u2588\u2588\u2588\xA3\xA3\xA3 "," \u263A\u2591\u2588\u2588\u2588\xA3\xA3\xA3 "," \u263A\u2591\u2588\u2588\u2588\xA3\xA3\xA3 "," \u263A \u2588\u2588\u2588\xA3\xA3\xA3 "," \u263A\u2588\u2588\u2588\xA3\xA3\xA3 "," \u263A\u2588\u2588\u2588\xA3\xA3\xA3 "," \u263A\u2593\u2588\u2588\xA3\xA3\xA3 "," \u263A\u2593\u2588\u2588\xA3\xA3\xA3 "," \u263A\u2592\u2588\u2588\xA3\xA3\xA3 "," \u263A\u2592\u2588\u2588\xA3\xA3\xA3 "," \u263A\u2591\u2588\u2588\xA3\xA3\xA3 "," \u263A\u2591\u2588\u2588\xA3\xA3\xA3 "," \u263A \u2588\u2588\xA3\xA3\xA3 "," \u263A\u2588\u2588\xA3\xA3\xA3 "," \u263A\u2588\u2588\xA3\xA3\xA3 "," \u263A\u2593\u2588\xA3\xA3\xA3 "," \u263A\u2593\u2588\xA3\xA3\xA3 "," \u263A\u2592\u2588\xA3\xA3\xA3 "," \u263A\u2592\u2588\xA3\xA3\xA3 "," \u263A\u2591\u2588\xA3\xA3\xA3 "," \u263A\u2591\u2588\xA3\xA3\xA3 "," \u263A \u2588\xA3\xA3\xA3 "," \u263A\u2588\xA3\xA3\xA3 "," \u263A\u2588\xA3\xA3\xA3 "," \u263A\u2593\xA3\xA3\xA3 "," \u263A\u2593\xA3\xA3\xA3 "," \u263A\u2592\xA3\xA3\xA3 "," \u263A\u2592\xA3\xA3\xA3 "," \u263A\u2591\xA3\xA3\xA3 "," \u263A\u2591\xA3\xA3\xA3 "," \u263A \xA3\xA3\xA3 "," \u263A\xA3\xA3\xA3 "," \u263A\xA3\xA3\xA3 "," \u263A\u2593\xA3\xA3 "," \u263A\u2593\xA3\xA3 "," \u263A\u2592\xA3\xA3 "," \u263A\u2592\xA3\xA3 "," \u263A\u2591\xA3\xA3 "," \u263A\u2591\xA3\xA3 "," \u263A \xA3\xA3 "," \u263A\xA3\xA3 "," \u263A\xA3\xA3 "," \u263A\u2593\xA3 "," \u263A\u2593\xA3 "," \u263A\u2592\xA3 "," \u263A\u2592\xA3 "," \u263A\u2591\xA3 "," \u263A\u2591\xA3 "," \u263A \xA3 "," \u263A\xA3 "," \u263A\xA3 "," \u263A\u2593 "," \u263A\u2593 "," \u263A\u2592 "," \u263A\u2592 "," \u263A\u2591 "," \u263A\u2591 "," \u263A "," \u263A &"," \u263A \u263C&"," \u263A \u263C &"," \u263A\u263C &"," \u263A\u263C & "," \u203C & "," \u263A & "," \u203C & "," \u263A & "," \u203C & "," \u263A & ","\u203C & "," & "," & "," & \u2591 "," & \u2592 "," & \u2593 "," & \xA3 "," & \u2591\xA3 "," & \u2592\xA3 "," & \u2593\xA3 "," & \xA3\xA3 "," & \u2591\xA3\xA3 "," & \u2592\xA3\xA3 ","& \u2593\xA3\xA3 ","& \xA3\xA3\xA3 "," \u2591\xA3\xA3\xA3 "," \u2592\xA3\xA3\xA3 "," \u2593\xA3\xA3\xA3 "," \u2588\xA3\xA3\xA3 "," \u2591\u2588\xA3\xA3\xA3 "," \u2592\u2588\xA3\xA3\xA3 "," \u2593\u2588\xA3\xA3\xA3 "," \u2588\u2588\xA3\xA3\xA3 "," \u2591\u2588\u2588\xA3\xA3\xA3 "," \u2592\u2588\u2588\xA3\xA3\xA3 "," \u2593\u2588\u2588\xA3\xA3\xA3 "," \u2588\u2588\u2588\xA3\xA3\xA3 "," \u2591\u2588\u2588\u2588\xA3\xA3\xA3 "," \u2592\u2588\u2588\u2588\xA3\xA3\xA3 "," \u2593\u2588\u2588\u2588\xA3\xA3\xA3 "," \u2588\u2588\u2588\u2588\xA3\xA3\xA3 "," \u2591\u2588\u2588\u2588\u2588\xA3\xA3\xA3 "," \u2592\u2588\u2588\u2588\u2588\xA3\xA3\xA3 "," \u2593\u2588\u2588\u2588\u2588\xA3\xA3\xA3 "," \u2588\u2588\u2588\u2588\u2588\xA3\xA3\xA3 "," \u2591\u2588\u2588\u2588\u2588\u2588\xA3\xA3\xA3 "," \u2592\u2588\u2588\u2588\u2588\u2588\xA3\xA3\xA3 "," \u2593\u2588\u2588\u2588\u2588\u2588\xA3\xA3\xA3 "," \u2588\u2588\u2588\u2588\u2588\u2588\xA3\xA3\xA3 "," \u2588\u2588\u2588\u2588\u2588\u2588\xA3\xA3\xA3 "]}};var d=nt,Yr=Object.keys(nt);var x={};Zt(x,{error:()=>Pe,info:()=>De,success:()=>Re,warning:()=>Ie});import Se from"node:tty";var Oe=Se?.WriteStream?.prototype?.hasColors?.()??!1,a=(t,e)=>{if(!Oe)return s=>s;let r=`\x1B[${t}m`,i=`\x1B[${e}m`;return s=>{let n=s+"",o=n.indexOf(i);if(o===-1)return r+n+i;let l=r,u=0,A=(e===22?i:"")+r;for(;o!==-1;)l+=n.slice(u,o)+A,u=o+i.length,o=n.indexOf(i,u);return l+=n.slice(u)+i,l}},qr=a(0,0),zr=a(1,22),Kr=a(2,22),Jr=a(3,23),Xr=a(4,24),Zr=a(53,55),Qr=a(7,27),ti=a(8,28),ei=a(9,29),ri=a(30,39),jt=a(31,39),kt=a(32,39),Lt=a(33,39),Gt=a(34,39),ii=a(35,39),si=a(36,39),ni=a(37,39),oi=a(90,39),ai=a(40,49),li=a(41,49),ci=a(42,49),fi=a(43,49),ui=a(44,49),mi=a(45,49),pi=a(46,49),hi=a(47,49),di=a(100,49),gi=a(91,39),_i=a(92,39),Fi=a(93,39),xi=a(94,39),bi=a(95,39),Ei=a(96,39),Ci=a(97,39),yi=a(101,49),wi=a(102,49),vi=a(103,49),Ti=a(104,49),Ai=a(105,49),Bi=a(106,49),Si=a(107,49);import Wt from"node:process";function O(){let{env:t}=Wt,{TERM:e,TERM_PROGRAM:r}=t;return Wt.platform!=="win32"?e!=="linux":!!t.WT_SESSION||!!t.TERMINUS_SUBLIME||t.ConEmuTask==="{cmd::Cmder}"||r==="Terminus-Sublime"||r==="vscode"||e==="xterm-256color"||e==="alacritty"||e==="rxvt-unicode"||e==="rxvt-unicode-256color"||t.TERMINAL_EMULATOR==="JetBrains-JediTerm"}var W=O(),De=Gt(W?"\u2139":"i"),Re=kt(W?"\u2714":"\u221A"),Ie=Lt(W?"\u26A0":"\u203C"),Pe=jt(W?"\u2716":"\xD7");function ot({onlyFirst:t=!1}={}){let s="(?:\\u001B\\][\\s\\S]*?(?:\\u0007|\\u001B\\u005C|\\u009C))|[\\u001B\\u009B][[\\]()#;?]*(?:\\d{1,4}(?:[;:]\\d{0,4})*)?[\\dA-PR-TZcf-nq-uy=><~]";return new RegExp(s,t?void 0:"g")}var Me=ot();function D(t){if(typeof t!="string")throw new TypeError(`Expected a \`string\`, got \`${typeof t}\``);return t.replace(Me,"")}function Ut(t){return t===161||t===164||t===167||t===168||t===170||t===173||t===174||t>=176&&t<=180||t>=182&&t<=186||t>=188&&t<=191||t===198||t===208||t===215||t===216||t>=222&&t<=225||t===230||t>=232&&t<=234||t===236||t===237||t===240||t===242||t===243||t>=247&&t<=250||t===252||t===254||t===257||t===273||t===275||t===283||t===294||t===295||t===299||t>=305&&t<=307||t===312||t>=319&&t<=322||t===324||t>=328&&t<=331||t===333||t===338||t===339||t===358||t===359||t===363||t===462||t===464||t===466||t===468||t===470||t===472||t===474||t===476||t===593||t===609||t===708||t===711||t>=713&&t<=715||t===717||t===720||t>=728&&t<=731||t===733||t===735||t>=768&&t<=879||t>=913&&t<=929||t>=931&&t<=937||t>=945&&t<=961||t>=963&&t<=969||t===1025||t>=1040&&t<=1103||t===1105||t===8208||t>=8211&&t<=8214||t===8216||t===8217||t===8220||t===8221||t>=8224&&t<=8226||t>=8228&&t<=8231||t===8240||t===8242||t===8243||t===8245||t===8251||t===8254||t===8308||t===8319||t>=8321&&t<=8324||t===8364||t===8451||t===8453||t===8457||t===8467||t===8470||t===8481||t===8482||t===8486||t===8491||t===8531||t===8532||t>=8539&&t<=8542||t>=8544&&t<=8555||t>=8560&&t<=8569||t===8585||t>=8592&&t<=8601||t===8632||t===8633||t===8658||t===8660||t===8679||t===8704||t===8706||t===8707||t===8711||t===8712||t===8715||t===8719||t===8721||t===8725||t===8730||t>=8733&&t<=8736||t===8739||t===8741||t>=8743&&t<=8748||t===8750||t>=8756&&t<=8759||t===8764||t===8765||t===8776||t===8780||t===8786||t===8800||t===8801||t>=8804&&t<=8807||t===8810||t===8811||t===8814||t===8815||t===8834||t===8835||t===8838||t===8839||t===8853||t===8857||t===8869||t===8895||t===8978||t>=9312&&t<=9449||t>=9451&&t<=9547||t>=9552&&t<=9587||t>=9600&&t<=9615||t>=9618&&t<=9621||t===9632||t===9633||t>=9635&&t<=9641||t===9650||t===9651||t===9654||t===9655||t===9660||t===9661||t===9664||t===9665||t>=9670&&t<=9672||t===9675||t>=9678&&t<=9681||t>=9698&&t<=9701||t===9711||t===9733||t===9734||t===9737||t===9742||t===9743||t===9756||t===9758||t===9792||t===9794||t===9824||t===9825||t>=9827&&t<=9829||t>=9831&&t<=9834||t===9836||t===9837||t===9839||t===9886||t===9887||t===9919||t>=9926&&t<=9933||t>=9935&&t<=9939||t>=9941&&t<=9953||t===9955||t===9960||t===9961||t>=9963&&t<=9969||t===9972||t>=9974&&t<=9977||t===9979||t===9980||t===9982||t===9983||t===10045||t>=10102&&t<=10111||t>=11094&&t<=11097||t>=12872&&t<=12879||t>=57344&&t<=63743||t>=65024&&t<=65039||t===65533||t>=127232&&t<=127242||t>=127248&&t<=127277||t>=127280&&t<=127337||t>=127344&&t<=127373||t===127375||t===127376||t>=127387&&t<=127404||t>=917760&&t<=917999||t>=983040&&t<=1048573||t>=1048576&&t<=1114109}function $t(t){return t===12288||t>=65281&&t<=65376||t>=65504&&t<=65510}function Yt(t){return t>=4352&&t<=4447||t===8986||t===8987||t===9001||t===9002||t>=9193&&t<=9196||t===9200||t===9203||t===9725||t===9726||t===9748||t===9749||t>=9776&&t<=9783||t>=9800&&t<=9811||t===9855||t>=9866&&t<=9871||t===9875||t===9889||t===9898||t===9899||t===9917||t===9918||t===9924||t===9925||t===9934||t===9940||t===9962||t===9970||t===9971||t===9973||t===9978||t===9981||t===9989||t===9994||t===9995||t===10024||t===10060||t===10062||t>=10067&&t<=10069||t===10071||t>=10133&&t<=10135||t===10160||t===10175||t===11035||t===11036||t===11088||t===11093||t>=11904&&t<=11929||t>=11931&&t<=12019||t>=12032&&t<=12245||t>=12272&&t<=12287||t>=12289&&t<=12350||t>=12353&&t<=12438||t>=12441&&t<=12543||t>=12549&&t<=12591||t>=12593&&t<=12686||t>=12688&&t<=12773||t>=12783&&t<=12830||t>=12832&&t<=12871||t>=12880&&t<=42124||t>=42128&&t<=42182||t>=43360&&t<=43388||t>=44032&&t<=55203||t>=63744&&t<=64255||t>=65040&&t<=65049||t>=65072&&t<=65106||t>=65108&&t<=65126||t>=65128&&t<=65131||t>=94176&&t<=94180||t>=94192&&t<=94198||t>=94208&&t<=101589||t>=101631&&t<=101662||t>=101760&&t<=101874||t>=110576&&t<=110579||t>=110581&&t<=110587||t===110589||t===110590||t>=110592&&t<=110882||t===110898||t>=110928&&t<=110930||t===110933||t>=110948&&t<=110951||t>=110960&&t<=111355||t>=119552&&t<=119638||t>=119648&&t<=119670||t===126980||t===127183||t===127374||t>=127377&&t<=127386||t>=127488&&t<=127490||t>=127504&&t<=127547||t>=127552&&t<=127560||t===127568||t===127569||t>=127584&&t<=127589||t>=127744&&t<=127776||t>=127789&&t<=127797||t>=127799&&t<=127868||t>=127870&&t<=127891||t>=127904&&t<=127946||t>=127951&&t<=127955||t>=127968&&t<=127984||t===127988||t>=127992&&t<=128062||t===128064||t>=128066&&t<=128252||t>=128255&&t<=128317||t>=128331&&t<=128334||t>=128336&&t<=128359||t===128378||t===128405||t===128406||t===128420||t>=128507&&t<=128591||t>=128640&&t<=128709||t===128716||t>=128720&&t<=128722||t>=128725&&t<=128728||t>=128732&&t<=128735||t===128747||t===128748||t>=128756&&t<=128764||t>=128992&&t<=129003||t===129008||t>=129292&&t<=129338||t>=129340&&t<=129349||t>=129351&&t<=129535||t>=129648&&t<=129660||t>=129664&&t<=129674||t>=129678&&t<=129734||t===129736||t>=129741&&t<=129756||t>=129759&&t<=129770||t>=129775&&t<=129784||t>=131072&&t<=196605||t>=196608&&t<=262141}function Ne(t){if(!Number.isSafeInteger(t))throw new TypeError(`Expected a code point, got \`${typeof t}\`.`)}function at(t,{ambiguousAsWide:e=!1}={}){return Ne(t),$t(t)||Yt(t)||e&&Ut(t)?2:1}var je=new Intl.Segmenter,ke=/^(?:\p{Default_Ignorable_Code_Point}|\p{Control}|\p{Mark}|\p{Surrogate})+$/v,Le=/^[\p{Default_Ignorable_Code_Point}\p{Control}\p{Format}\p{Mark}\p{Surrogate}]+/v,Ge=/^\p{RGI_Emoji}$/v;function We(t){return t.replace(Le,"")}function Ue(t){return ke.test(t)}function $e(t,e){let r=0;if(t.length>1)for(let i of t.slice(1))i>="\uFF00"&&i<="\uFFEF"&&(r+=at(i.codePointAt(0),e));return r}function lt(t,e={}){if(typeof t!="string"||t.length===0)return 0;let{ambiguousIsNarrow:r=!0,countAnsiEscapeCodes:i=!1}=e,s=t;if(i||(s=D(s)),s.length===0)return 0;let n=0,o={ambiguousAsWide:!r};for(let{segment:l}of je.segment(s)){if(Ue(l))continue;if(Ge.test(l)){n+=2;continue}let u=We(l).codePointAt(0);n+=at(u,o),n+=$e(l,o)}return n}function ct({stream:t=process.stdout}={}){return!!(t&&t.isTTY&&process.env.TERM!=="dumb"&&!("CI"in process.env))}import h from"node:process";var Ye=3,ft=class{#n=0;start(){this.#n++,this.#n===1&&this.#i()}stop(){if(this.#n<=0)throw new Error("`stop` called more times than `start`");this.#n--,this.#n===0&&this.#t()}#i(){h.platform==="win32"||!h.stdin.isTTY||(h.stdin.setRawMode(!0),h.stdin.on("data",this.#s),h.stdin.resume())}#t(){h.stdin.isTTY&&(h.stdin.off("data",this.#s),h.stdin.pause(),h.stdin.setRawMode(!1))}#s(e){e[0]===Ye&&h.emit("SIGINT")}},He=new ft,ut=He;var mt=class{#n=0;#i=!1;#t=0;#s=-1;#p=0;#u=0;#e;#o;#r;#h;#_;#a;#m;#l;#d;#c;#f;color;constructor(e){typeof e=="string"&&(e={text:e}),this.#e={color:"cyan",stream:U.stderr,discardStdin:!0,hideCursor:!0,...e},this.color=this.#e.color,this.spinner=this.#e.spinner,this.#_=this.#e.interval,this.#r=this.#e.stream,this.#a=typeof this.#e.isEnabled=="boolean"?this.#e.isEnabled:ct({stream:this.#r}),this.#m=typeof this.#e.isSilent=="boolean"?this.#e.isSilent:!1,this.text=this.#e.text,this.prefixText=this.#e.prefixText,this.suffixText=this.#e.suffixText,this.indent=this.#e.indent,U.env.NODE_ENV==="test"&&(this._stream=this.#r,this._isEnabled=this.#a,Object.defineProperty(this,"_linesToClear",{get(){return this.#n},set(r){this.#n=r}}),Object.defineProperty(this,"_frameIndex",{get(){return this.#s}}),Object.defineProperty(this,"_lineCount",{get(){return this.#t}}))}get indent(){return this.#l}set indent(e=0){if(!(e>=0&&Number.isInteger(e)))throw new Error("The `indent` option must be an integer from 0 and up");this.#l=e,this.#g()}get interval(){return this.#_??this.#o.interval??100}get spinner(){return this.#o}set spinner(e){if(this.#s=-1,this.#_=void 0,typeof e=="object"){if(!Array.isArray(e.frames)||e.frames.length===0||e.frames.some(r=>typeof r!="string"))throw new Error("The given spinner must have a non-empty `frames` array of strings");if(e.interval!==void 0&&!(Number.isInteger(e.interval)&&e.interval>0))throw new Error("`spinner.interval` must be a positive integer if provided");this.#o=e}else if(!O())this.#o=d.line;else if(e===void 0)this.#o=d.dots;else if(e!=="default"&&d[e])this.#o=d[e];else throw new Error(`There is no built-in spinner named '${e}'. See https://github.com/sindresorhus/cli-spinners/blob/main/spinners.json for a full list.`)}get text(){return this.#d}set text(e=""){this.#d=e,this.#g()}get prefixText(){return this.#c}set prefixText(e=""){this.#c=e,this.#g()}get suffixText(){return this.#f}set suffixText(e=""){this.#f=e,this.#g()}get isSpinning(){return this.#h!==void 0}#E(e,r,i=!1){let s=typeof e=="function"?e():e;return typeof s=="string"&&s!==""?i?r+s:s+r:""}#F(e=this.#c,r=" "){return this.#E(e,r,!1)}#x(e=this.#f,r=" "){return this.#E(e,r,!0)}#b(e,r){let i=0;for(let s of D(e).split(`
8
+ `))i+=Math.max(1,Math.ceil(lt(s)/r));return i}#g(){let e=this.#r.columns??80,r=typeof this.#c=="function"?"":this.#c,i=typeof this.#f=="function"?"":this.#f,s=typeof r=="string"&&r!==""?r+" ":"",n=typeof i=="string"&&i!==""?" "+i:"",l=" ".repeat(this.#l)+s+"-"+(typeof this.#d=="string"?" "+this.#d:"")+n;this.#t=this.#b(l,e)}get isEnabled(){return this.#a&&!this.#m}set isEnabled(e){if(typeof e!="boolean")throw new TypeError("The `isEnabled` option must be a boolean");this.#a=e}get isSilent(){return this.#m}set isSilent(e){if(typeof e!="boolean")throw new TypeError("The `isSilent` option must be a boolean");this.#m=e}frame(){let e=Date.now();(this.#s===-1||e-this.#p>=this.interval)&&(this.#s=++this.#s%this.#o.frames.length,this.#p=e);let{frames:r}=this.#o,i=r[this.#s];this.color&&(i=Ot[this.color](i));let s=this.#F(this.#c," "),n=typeof this.text=="string"?" "+this.text:"",o=this.#x(this.#f," ");return s+i+n+o}clear(){if(!this.#a||!this.#r.isTTY)return this;this.#r.cursorTo(0);for(let e=0;e<this.#n;e++)e>0&&this.#r.moveCursor(0,-1),this.#r.clearLine(1);return(this.#l||this.#u!==this.#l)&&this.#r.cursorTo(this.#l),this.#u=this.#l,this.#n=0,this}render(){if(!this.#a||this.#m)return this;this.clear();let e=this.frame(),r=this.#r.columns??80,i=this.#b(e,r),s=this.#r.rows;if(s&&s>1&&i>s){let n=e.split(`
9
+ `),o=s-1;e=[...n.slice(0,o),"... (content truncated to fit terminal)"].join(`
10
+ `)}return this.#r.write(e),this.#n=this.#b(e,r),this}start(e){if(e&&(this.text=e),this.#m)return this;if(!this.#a){let r=" ".repeat(this.#l)+this.#F(this.#c," ")+(this.text?`- ${this.text}`:"")+this.#x(this.#f," ");return r.trim()!==""&&this.#r.write(r+`
11
+ `),this}return this.isSpinning?this:(this.#e.hideCursor&&st.hide(this.#r),this.#e.discardStdin&&U.stdin.isTTY&&(this.#i=!0,ut.start()),this.render(),this.#h=setInterval(this.render.bind(this),this.interval),this)}stop(){return clearInterval(this.#h),this.#h=void 0,this.#s=0,this.#a&&(this.clear(),this.#e.hideCursor&&st.show(this.#r)),this.#e.discardStdin&&U.stdin.isTTY&&this.#i&&(ut.stop(),this.#i=!1),this}succeed(e){return this.stopAndPersist({symbol:x.success,text:e})}fail(e){return this.stopAndPersist({symbol:x.error,text:e})}warn(e){return this.stopAndPersist({symbol:x.warning,text:e})}info(e){return this.stopAndPersist({symbol:x.info,text:e})}stopAndPersist(e={}){if(this.#m)return this;let r=e.prefixText??this.#c,i=this.#F(r," "),s=e.symbol??" ",n=e.text??this.text,l=typeof n=="string"?(s?" ":"")+n:"",u=e.suffixText??this.#f,C=this.#x(u," "),A=i+s+l+C+`
12
+ `;return this.stop(),this.#r.write(A),this}};function pt(t){return new mt(t)}import{stdin as Ve,stdout as qe}from"node:process";import ze from"node:readline/promises";var b=class{spiner=void 0;do(e,r,i,s){this.spiner=pt({text:e,color:r,spinner:i,prefixText:s}).start()}next(e,r,i,s=0){this.success(),this.do(e,r,i,s?" ".repeat(s)+"\u2514\u2500":void 0)}success(){this.spiner&&this.spiner.succeed()}fail(){this.spiner&&this.spiner.fail()}async ask(e,r=""){this.spiner&&(this.spiner.spinner={interval:100,frames:["?","."," ","."]});let i=ze.createInterface({input:Ve,output:qe}),s=(await i.question("")).trim();return i.close(),s||r}};var Vt=async(t,e,r=!1,i=!1)=>{let s=new b;s.next("Router analysis","yellow",d.dotsCircle);let n=[],o=await Ht.launch({headless:!i,devtools:!0}),l=await Ht.launch({headless:!0}),u=await o.newContext({userAgent:"____fast-ssr-tool___"}),C;for await(let[A,H]of e.entries()){s.next(H,"yellow",d.dotsCircle,1);let g=await u.newPage(),V=H.replaceAll("{","").replaceAll("}","");C||g.on("response",async _=>{_.status()==200&&_.url()==t+V&&(C=await _.text())}),await g.goto(t+V),await g.waitForLoadState("networkidle"),await g.waitForTimeout(1e3);let dt=await g.evaluate(()=>window.__page_requests);i&&console.log({input:dt});let Jt=await g.locator("#root").innerHTML(),gt;if(r){let _=await l.newPage();await _.goto(t+V),await _.waitForLoadState("networkidle"),await _.waitForTimeout(1e3),gt=await g.locator("#root").innerHTML()}i&&await s.ask("continue?"),g.close(),n.push({id:A,input:dt,mask:H,root:Jt,test:gt})}return await o.close(),await l.close(),s.success(),{pages:n,indexHtml:C}};import $ from"node:path";import{mkdir as Je}from"node:fs/promises";import{preview as Ke}from"vite";var qt=async()=>{let t=await Ke({preview:{port:8084}});if(!t.resolvedUrls?.local?.length)throw new Error("vite is not defined");return[t.resolvedUrls?.local[0].slice(0,-1),()=>t.close()]};var T=new b,Xe=process.argv[2]?process.argv[2]:"jinrai.config";T.do("Init");var E=await _t(Xe);T.success();var[Ze,Qe]=await qt(),zt=await Vt(Ze,E.pages,E.test,E.debug);Qe();var Y=$.join(E.dist??"dist",".cached");T.do("Format");var{routes:tr,templates:Kt}=Ft(zt.pages);T.next(`Export: (${Kt.length})`);await Je(Y,{recursive:!0});console.log("dev");var er={routes:tr,proxy:E.proxy,meta:E.meta};await ht($.join(Y,"config.json"),JSON.stringify(er,null,2));for await(let[t,e]of Object.entries(Kt))await ht($.join(Y,`${e}.html`),t);if(E.test){T.next("Tests");for await(let t of zt.pages)t.test&&await ht($.join(Y,`test_${t.id}.html`),R(t.test))}T.success();