claude-minipet 0.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (53) hide show
  1. package/README.md +113 -0
  2. package/dist/cli/index.d.ts +2 -0
  3. package/dist/cli/index.js +351 -0
  4. package/dist/cli/index.js.map +1 -0
  5. package/dist/cli/install.d.ts +4 -0
  6. package/dist/cli/install.js +89 -0
  7. package/dist/cli/install.js.map +1 -0
  8. package/dist/cli/setup.d.ts +11 -0
  9. package/dist/cli/setup.js +203 -0
  10. package/dist/cli/setup.js.map +1 -0
  11. package/dist/core/dna.d.ts +14 -0
  12. package/dist/core/dna.js +95 -0
  13. package/dist/core/dna.js.map +1 -0
  14. package/dist/core/evolution.d.ts +16 -0
  15. package/dist/core/evolution.js +252 -0
  16. package/dist/core/evolution.js.map +1 -0
  17. package/dist/core/pet.d.ts +25 -0
  18. package/dist/core/pet.js +224 -0
  19. package/dist/core/pet.js.map +1 -0
  20. package/dist/core/rarity.d.ts +17 -0
  21. package/dist/core/rarity.js +55 -0
  22. package/dist/core/rarity.js.map +1 -0
  23. package/dist/core/sync.d.ts +37 -0
  24. package/dist/core/sync.js +94 -0
  25. package/dist/core/sync.js.map +1 -0
  26. package/dist/core/types.d.ts +92 -0
  27. package/dist/core/types.js +22 -0
  28. package/dist/core/types.js.map +1 -0
  29. package/dist/daemon/server.d.ts +8 -0
  30. package/dist/daemon/server.js +137 -0
  31. package/dist/daemon/server.js.map +1 -0
  32. package/dist/hooks/handler.d.ts +2 -0
  33. package/dist/hooks/handler.js +99 -0
  34. package/dist/hooks/handler.js.map +1 -0
  35. package/dist/render/anim-state.d.ts +5 -0
  36. package/dist/render/anim-state.js +24 -0
  37. package/dist/render/anim-state.js.map +1 -0
  38. package/dist/render/animation.d.ts +15 -0
  39. package/dist/render/animation.js +94 -0
  40. package/dist/render/animation.js.map +1 -0
  41. package/dist/render/frames.d.ts +51 -0
  42. package/dist/render/frames.js +151 -0
  43. package/dist/render/frames.js.map +1 -0
  44. package/dist/render/pixel.d.ts +44 -0
  45. package/dist/render/pixel.js +169 -0
  46. package/dist/render/pixel.js.map +1 -0
  47. package/dist/render/sprites.d.ts +8 -0
  48. package/dist/render/sprites.js +300 -0
  49. package/dist/render/sprites.js.map +1 -0
  50. package/dist/render/statusline.d.ts +3 -0
  51. package/dist/render/statusline.js +117 -0
  52. package/dist/render/statusline.js.map +1 -0
  53. package/package.json +44 -0
@@ -0,0 +1,44 @@
1
+ import type { Color } from '../core/types.js';
2
+ /** Special pixel values */
3
+ export declare const TRANSPARENT = -1;
4
+ export declare const PRIMARY = 1;
5
+ export declare const SECONDARY = 2;
6
+ export declare const EYE = 3;
7
+ export declare const MOUTH = 4;
8
+ export declare const ACCENT = 5;
9
+ /** Set foreground color using 24-bit ANSI */
10
+ export declare function fg(c: Color): string;
11
+ /** Set background color using 24-bit ANSI */
12
+ export declare function bg(c: Color): string;
13
+ /** Reset all ANSI formatting */
14
+ export declare const RESET = "\u001B[0m";
15
+ /** Bold text */
16
+ export declare const BOLD = "\u001B[1m";
17
+ /** Blink text (for legendary/shiny glow) */
18
+ export declare const BLINK = "\u001B[5m";
19
+ /**
20
+ * Render a sprite grid to terminal string using half-block characters.
21
+ * Each cell in the grid represents one pixel.
22
+ * We pair rows (top + bottom) and use ▀ with fg=top, bg=bottom.
23
+ * This gives 2x vertical resolution.
24
+ *
25
+ * Returns lines with consistent visible width (= grid width characters).
26
+ */
27
+ export declare function renderSprite(grid: number[][], palette: Map<number, Color>, transparent?: Color): string[];
28
+ /**
29
+ * Calculate the visible (display) width of a string.
30
+ * Strips ANSI escapes and accounts for double-width characters:
31
+ * - CJK characters (Chinese, Japanese, Korean)
32
+ * - Most emoji (including skin-tone modifiers, ZWJ sequences)
33
+ */
34
+ export declare function visibleLength(str: string): number;
35
+ /** Pad a string with ANSI codes to a target visible width */
36
+ export declare function padEnd(str: string, targetWidth: number): string;
37
+ /** Build a color palette from DNA colors + mood-based eye/mouth colors */
38
+ export declare function buildPalette(primary: Color, secondary: Color, eyeColor: Color, mouthColor: Color, accentColor?: Color): Map<number, Color>;
39
+ /** Create a progress bar string */
40
+ export declare function progressBar(value: number, max: number, width: number, filledColor: Color, emptyColor: Color): string;
41
+ /** Sparkle animation frame characters for shiny pets */
42
+ export declare const SPARKLE_FRAMES: string[];
43
+ /** Get sparkle character based on time */
44
+ export declare function getSparkle(): string;
@@ -0,0 +1,169 @@
1
+ /** Special pixel values */
2
+ export const TRANSPARENT = -1;
3
+ export const PRIMARY = 1;
4
+ export const SECONDARY = 2;
5
+ export const EYE = 3;
6
+ export const MOUTH = 4;
7
+ export const ACCENT = 5;
8
+ /** Set foreground color using 24-bit ANSI */
9
+ export function fg(c) {
10
+ return `\x1b[38;2;${c.r};${c.g};${c.b}m`;
11
+ }
12
+ /** Set background color using 24-bit ANSI */
13
+ export function bg(c) {
14
+ return `\x1b[48;2;${c.r};${c.g};${c.b}m`;
15
+ }
16
+ /** Reset all ANSI formatting */
17
+ export const RESET = '\x1b[0m';
18
+ /** Bold text */
19
+ export const BOLD = '\x1b[1m';
20
+ /** Blink text (for legendary/shiny glow) */
21
+ export const BLINK = '\x1b[5m';
22
+ /**
23
+ * Render a sprite grid to terminal string using half-block characters.
24
+ * Each cell in the grid represents one pixel.
25
+ * We pair rows (top + bottom) and use ▀ with fg=top, bg=bottom.
26
+ * This gives 2x vertical resolution.
27
+ *
28
+ * Returns lines with consistent visible width (= grid width characters).
29
+ */
30
+ export function renderSprite(grid, palette, transparent) {
31
+ const height = grid.length;
32
+ const width = grid[0]?.length ?? 0;
33
+ const lines = [];
34
+ // Terminal background color — used for "transparent" pixels so every cell
35
+ // renders the same block character (▀), avoiding width mismatches between
36
+ // plain spaces and Unicode blocks in some terminal fonts.
37
+ const BG = transparent ?? { r: 30, g: 30, b: 46 }; // Claude Code dark theme bg
38
+ // Process two rows at a time
39
+ for (let y = 0; y < height; y += 2) {
40
+ let line = '';
41
+ for (let x = 0; x < width; x++) {
42
+ const topPixel = grid[y]?.[x] ?? TRANSPARENT;
43
+ const bottomPixel = grid[y + 1]?.[x] ?? TRANSPARENT;
44
+ const topColor = topPixel === TRANSPARENT ? BG : (palette.get(topPixel) ?? BG);
45
+ const bottomColor = bottomPixel === TRANSPARENT ? BG : (palette.get(bottomPixel) ?? BG);
46
+ // Always use ▀ with explicit fg+bg — uniform character width
47
+ line += `${fg(topColor)}${bg(bottomColor)}▀${RESET}`;
48
+ }
49
+ lines.push(line);
50
+ }
51
+ return lines;
52
+ }
53
+ /**
54
+ * Calculate the visible (display) width of a string.
55
+ * Strips ANSI escapes and accounts for double-width characters:
56
+ * - CJK characters (Chinese, Japanese, Korean)
57
+ * - Most emoji (including skin-tone modifiers, ZWJ sequences)
58
+ */
59
+ export function visibleLength(str) {
60
+ // Strip ANSI escape sequences
61
+ const clean = str.replace(/\x1b\[[0-9;]*m/g, '');
62
+ let width = 0;
63
+ for (const ch of clean) {
64
+ const cp = ch.codePointAt(0) ?? 0;
65
+ if (isDoubleWidth(cp)) {
66
+ width += 2;
67
+ }
68
+ else if (cp >= 0xFE00 && cp <= 0xFE0F) {
69
+ // Variation selectors (VS1-VS16) — zero width
70
+ }
71
+ else if (cp === 0x200D) {
72
+ // Zero-Width Joiner — zero width
73
+ }
74
+ else {
75
+ width += 1;
76
+ }
77
+ }
78
+ return width;
79
+ }
80
+ /** Check if a Unicode code point occupies 2 terminal columns */
81
+ function isDoubleWidth(cp) {
82
+ // CJK Unified Ideographs
83
+ if (cp >= 0x4E00 && cp <= 0x9FFF)
84
+ return true;
85
+ // CJK Extension A
86
+ if (cp >= 0x3400 && cp <= 0x4DBF)
87
+ return true;
88
+ // CJK Compatibility Ideographs
89
+ if (cp >= 0xF900 && cp <= 0xFAFF)
90
+ return true;
91
+ // Fullwidth forms
92
+ if (cp >= 0xFF01 && cp <= 0xFF60)
93
+ return true;
94
+ if (cp >= 0xFFE0 && cp <= 0xFFE6)
95
+ return true;
96
+ // CJK Radicals / Kangxi
97
+ if (cp >= 0x2E80 && cp <= 0x2FDF)
98
+ return true;
99
+ // CJK Symbols and Punctuation, Hiragana, Katakana, Bopomofo, etc.
100
+ if (cp >= 0x3000 && cp <= 0x33FF)
101
+ return true;
102
+ // Hangul Syllables
103
+ if (cp >= 0xAC00 && cp <= 0xD7AF)
104
+ return true;
105
+ // Hangul Jamo Extended / Compatibility
106
+ if (cp >= 0x1100 && cp <= 0x11FF)
107
+ return true;
108
+ // Emoji: Miscellaneous Symbols and Pictographs
109
+ if (cp >= 0x1F300 && cp <= 0x1F5FF)
110
+ return true;
111
+ // Emoji: Emoticons
112
+ if (cp >= 0x1F600 && cp <= 0x1F64F)
113
+ return true;
114
+ // Emoji: Transport and Map Symbols
115
+ if (cp >= 0x1F680 && cp <= 0x1F6FF)
116
+ return true;
117
+ // Emoji: Supplemental Symbols and Pictographs
118
+ if (cp >= 0x1F900 && cp <= 0x1F9FF)
119
+ return true;
120
+ // Emoji: Symbols and Pictographs Extended-A
121
+ if (cp >= 0x1FA00 && cp <= 0x1FA6F)
122
+ return true;
123
+ if (cp >= 0x1FA70 && cp <= 0x1FAFF)
124
+ return true;
125
+ // Enclosed Alphanumeric Supplement (circled numbers, etc.)
126
+ if (cp >= 0x1F100 && cp <= 0x1F1FF)
127
+ return true;
128
+ return false;
129
+ }
130
+ /** Pad a string with ANSI codes to a target visible width */
131
+ export function padEnd(str, targetWidth) {
132
+ const visible = visibleLength(str);
133
+ if (visible >= targetWidth)
134
+ return str;
135
+ return str + ' '.repeat(targetWidth - visible);
136
+ }
137
+ /** Build a color palette from DNA colors + mood-based eye/mouth colors */
138
+ export function buildPalette(primary, secondary, eyeColor, mouthColor, accentColor) {
139
+ const map = new Map();
140
+ map.set(PRIMARY, primary);
141
+ map.set(SECONDARY, secondary);
142
+ map.set(EYE, eyeColor);
143
+ map.set(MOUTH, mouthColor);
144
+ if (accentColor)
145
+ map.set(ACCENT, accentColor);
146
+ return map;
147
+ }
148
+ /** Create a progress bar string */
149
+ export function progressBar(value, max, width, filledColor, emptyColor) {
150
+ const filled = Math.round((value / max) * width);
151
+ let bar = '';
152
+ for (let i = 0; i < width; i++) {
153
+ if (i < filled) {
154
+ bar += `${fg(filledColor)}▓${RESET}`;
155
+ }
156
+ else {
157
+ bar += `${fg(emptyColor)}░${RESET}`;
158
+ }
159
+ }
160
+ return bar;
161
+ }
162
+ /** Sparkle animation frame characters for shiny pets */
163
+ export const SPARKLE_FRAMES = ['✦', '✧', '⋆', '✦'];
164
+ /** Get sparkle character based on time */
165
+ export function getSparkle() {
166
+ const idx = Math.floor(Date.now() / 500) % SPARKLE_FRAMES.length;
167
+ return SPARKLE_FRAMES[idx];
168
+ }
169
+ //# sourceMappingURL=pixel.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"pixel.js","sourceRoot":"","sources":["../../src/render/pixel.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,8 @@
1
+ import type { Species, Stage } from '../core/types.js';
2
+ /** Get sprite grid for a species and stage */
3
+ export declare function getSprite(species: Species, stage: Stage): number[][];
4
+ /** Species display names */
5
+ export declare const SPECIES_NAMES: Record<Species, {
6
+ en: string;
7
+ zh: string;
8
+ }>;
@@ -0,0 +1,300 @@
1
+ import { TRANSPARENT as T, PRIMARY as P, SECONDARY as S, EYE as E, MOUTH as M, ACCENT as A } from './pixel.js';
2
+ /**
3
+ * Sprite data: 2D arrays where each number maps to a palette entry.
4
+ * T = transparent, P = primary color, S = secondary, E = eye, M = mouth, A = accent
5
+ */
6
+ // ============================================================
7
+ // BITCAT (位猫) - Cat
8
+ // ============================================================
9
+ const BITCAT_BABY = [
10
+ [T, P, P, T, T, P, P, T],
11
+ [P, P, P, P, P, P, P, P],
12
+ [P, E, T, P, P, T, E, P],
13
+ [P, P, P, S, S, P, P, P],
14
+ [P, P, M, M, M, M, P, P],
15
+ [T, P, P, P, P, P, P, T],
16
+ [T, T, P, T, T, P, T, T],
17
+ [T, T, P, T, T, P, T, T],
18
+ ];
19
+ const BITCAT_GROWTH = [
20
+ [T, T, P, P, T, T, T, T, P, P, T, T],
21
+ [T, P, P, P, P, T, T, P, P, P, P, T],
22
+ [P, P, P, P, P, P, P, P, P, P, P, P],
23
+ [P, P, E, T, P, P, P, P, T, E, P, P],
24
+ [P, P, P, P, S, S, S, S, P, P, P, P],
25
+ [P, S, P, M, M, M, M, M, M, P, S, P],
26
+ [T, P, P, P, P, P, P, P, P, P, P, T],
27
+ [T, P, S, S, P, P, P, P, S, S, P, T],
28
+ [T, T, P, P, P, P, P, P, P, P, T, T],
29
+ [T, T, P, T, T, T, T, T, T, P, T, T],
30
+ [T, T, P, T, T, T, T, T, T, P, T, T],
31
+ [T, T, P, P, T, T, T, T, P, P, T, T],
32
+ ];
33
+ const BITCAT_FINAL = [
34
+ [T, T, T, P, P, T, T, T, T, T, T, P, P, T, T, T],
35
+ [T, T, P, P, P, P, T, T, T, T, P, P, P, P, T, T],
36
+ [T, P, P, A, P, P, P, T, T, P, P, A, P, P, P, T],
37
+ [P, P, P, P, P, P, P, P, P, P, P, P, P, P, P, P],
38
+ [P, P, P, P, P, P, P, P, P, P, P, P, P, P, P, P],
39
+ [P, P, E, E, T, P, P, P, P, P, P, T, E, E, P, P],
40
+ [P, P, P, P, P, S, S, S, S, S, S, P, P, P, P, P],
41
+ [P, S, P, P, M, M, M, M, M, M, M, M, P, P, S, P],
42
+ [T, P, P, P, P, P, P, P, P, P, P, P, P, P, P, T],
43
+ [T, P, S, S, S, P, P, P, P, P, P, S, S, S, P, T],
44
+ [T, T, P, P, P, P, P, P, P, P, P, P, P, P, T, T],
45
+ [T, T, P, P, P, P, P, T, T, P, P, P, P, P, T, T],
46
+ [T, T, T, P, P, T, T, T, T, T, T, P, P, T, T, T],
47
+ [T, T, T, P, T, T, T, T, T, T, T, T, P, T, T, T],
48
+ [T, T, T, P, P, T, T, T, T, T, T, P, P, T, T, T],
49
+ [T, T, T, T, T, T, T, T, T, T, T, T, T, T, T, T],
50
+ ];
51
+ // ============================================================
52
+ // SHELLDRAGON (壳龙) - Small Dragon
53
+ // ============================================================
54
+ const SHELLDRAGON_BABY = [
55
+ [T, T, P, P, P, T, T, T],
56
+ [T, P, P, P, P, P, T, T],
57
+ [T, P, E, T, E, P, T, T],
58
+ [T, P, P, M, P, P, T, T],
59
+ [P, P, P, P, P, P, P, T],
60
+ [T, S, P, P, P, S, T, T],
61
+ [T, T, P, T, P, T, T, T],
62
+ [T, T, P, T, P, T, T, T],
63
+ ];
64
+ const SHELLDRAGON_GROWTH = [
65
+ [T, T, A, T, T, T, T, T, T, T, T, T],
66
+ [T, T, A, P, P, P, P, T, T, T, T, T],
67
+ [T, P, P, P, P, P, P, P, T, T, T, T],
68
+ [T, P, P, E, T, E, P, P, T, T, T, T],
69
+ [T, P, P, P, M, P, P, P, T, T, T, T],
70
+ [P, P, P, P, P, P, P, P, P, T, T, T],
71
+ [T, S, S, P, P, P, S, S, T, T, T, T],
72
+ [T, T, P, P, P, P, P, T, T, T, T, T],
73
+ [T, T, P, P, T, P, P, T, T, T, T, T],
74
+ [T, T, P, T, T, T, P, P, P, P, T, T],
75
+ [T, T, P, T, T, T, T, T, P, P, A, T],
76
+ [T, T, P, P, T, T, T, T, T, P, A, T],
77
+ ];
78
+ const SHELLDRAGON_FINAL = [
79
+ [T, T, T, A, A, T, T, T, T, T, T, T, T, T, T, T],
80
+ [T, T, A, A, P, P, P, T, T, T, T, T, T, T, T, T],
81
+ [T, T, T, P, P, P, P, P, P, T, T, T, T, T, T, T],
82
+ [T, T, P, P, P, P, P, P, P, P, T, T, T, T, T, T],
83
+ [T, P, P, P, E, E, T, E, E, P, P, T, T, T, T, T],
84
+ [T, P, P, P, P, P, M, P, P, P, P, T, T, T, T, T],
85
+ [A, P, P, P, P, P, P, P, P, P, P, A, T, T, T, T],
86
+ [T, S, S, S, P, P, P, P, S, S, S, T, T, T, T, T],
87
+ [T, T, P, P, P, P, P, P, P, P, T, T, T, T, T, T],
88
+ [T, T, P, P, P, P, P, P, P, P, T, T, T, T, T, T],
89
+ [T, T, P, P, T, T, T, T, P, P, T, T, T, T, T, T],
90
+ [T, T, P, T, T, T, T, T, T, P, P, P, P, T, T, T],
91
+ [T, T, P, T, T, T, T, T, T, T, P, P, P, A, T, T],
92
+ [T, T, P, P, T, T, T, T, T, T, T, P, P, A, A, T],
93
+ [T, T, T, T, T, T, T, T, T, T, T, T, P, A, T, T],
94
+ [T, T, T, T, T, T, T, T, T, T, T, T, T, T, T, T],
95
+ ];
96
+ // ============================================================
97
+ // CODESLIME (码史莱姆) - Jelly Blob
98
+ // ============================================================
99
+ const CODESLIME_BABY = [
100
+ [T, T, T, T, T, T, T, T],
101
+ [T, T, P, P, P, P, T, T],
102
+ [T, P, P, P, P, P, P, T],
103
+ [T, P, E, P, P, E, P, T],
104
+ [T, P, P, M, M, P, P, T],
105
+ [T, P, P, P, P, P, P, T],
106
+ [P, P, P, P, P, P, P, P],
107
+ [T, S, S, S, S, S, S, T],
108
+ ];
109
+ const CODESLIME_GROWTH = [
110
+ [T, T, T, T, T, T, T, T, T, T, T, T],
111
+ [T, T, T, P, P, P, P, P, P, T, T, T],
112
+ [T, T, P, P, P, P, P, P, P, P, T, T],
113
+ [T, P, P, P, P, P, P, P, P, P, P, T],
114
+ [T, P, P, E, T, P, P, T, E, P, P, T],
115
+ [T, P, P, P, P, P, P, P, P, P, P, T],
116
+ [T, P, P, P, M, M, M, M, P, P, P, T],
117
+ [T, P, P, P, P, P, P, P, P, P, P, T],
118
+ [P, P, P, P, P, P, P, P, P, P, P, P],
119
+ [P, P, P, P, P, P, P, P, P, P, P, P],
120
+ [T, S, S, S, S, S, S, S, S, S, S, T],
121
+ [T, T, S, S, S, S, S, S, S, S, T, T],
122
+ ];
123
+ const CODESLIME_FINAL = [
124
+ [T, T, T, T, T, T, T, T, T, T, T, T, T, T, T, T],
125
+ [T, T, T, T, T, A, A, A, A, A, A, T, T, T, T, T],
126
+ [T, T, T, T, P, P, P, P, P, P, P, P, T, T, T, T],
127
+ [T, T, T, P, P, P, P, P, P, P, P, P, P, T, T, T],
128
+ [T, T, P, P, P, P, P, P, P, P, P, P, P, P, T, T],
129
+ [T, P, P, P, E, E, T, P, P, T, E, E, P, P, P, T],
130
+ [T, P, P, P, P, P, P, P, P, P, P, P, P, P, P, T],
131
+ [T, P, P, P, P, M, M, M, M, M, M, P, P, P, P, T],
132
+ [T, P, P, P, P, P, P, P, P, P, P, P, P, P, P, T],
133
+ [P, P, P, P, P, P, P, P, P, P, P, P, P, P, P, P],
134
+ [P, P, P, P, P, P, P, P, P, P, P, P, P, P, P, P],
135
+ [P, P, P, P, P, P, P, P, P, P, P, P, P, P, P, P],
136
+ [T, S, S, S, S, S, S, S, S, S, S, S, S, S, S, T],
137
+ [T, T, S, S, S, S, S, S, S, S, S, S, S, S, T, T],
138
+ [T, T, T, S, S, S, S, S, S, S, S, S, S, T, T, T],
139
+ [T, T, T, T, T, T, T, T, T, T, T, T, T, T, T, T],
140
+ ];
141
+ // ============================================================
142
+ // GITFOX (吉狐) - Fox
143
+ // ============================================================
144
+ const GITFOX_BABY = [
145
+ [P, P, T, T, T, T, P, P],
146
+ [P, P, P, T, T, P, P, P],
147
+ [P, P, P, P, P, P, P, P],
148
+ [P, E, T, S, S, T, E, P],
149
+ [P, P, S, M, M, S, P, P],
150
+ [T, P, S, S, S, S, P, T],
151
+ [T, T, P, T, T, P, T, T],
152
+ [T, T, P, T, T, P, T, T],
153
+ ];
154
+ const GITFOX_GROWTH = [
155
+ [T, P, P, T, T, T, T, T, T, P, P, T],
156
+ [P, P, P, P, T, T, T, T, P, P, P, P],
157
+ [P, P, P, P, P, T, T, P, P, P, P, P],
158
+ [T, P, P, P, P, P, P, P, P, P, P, T],
159
+ [T, P, P, E, T, S, S, T, E, P, P, T],
160
+ [T, P, P, P, S, S, S, S, P, P, P, T],
161
+ [T, T, P, S, S, M, M, S, S, P, T, T],
162
+ [T, T, P, P, S, S, S, S, P, P, T, T],
163
+ [T, T, T, P, P, P, P, P, P, T, T, T],
164
+ [T, T, T, P, T, T, T, T, P, T, T, T],
165
+ [T, T, T, P, T, T, T, T, P, T, T, T],
166
+ [T, T, P, P, T, T, T, T, P, P, T, T],
167
+ ];
168
+ const GITFOX_FINAL = [
169
+ [T, T, P, P, T, T, T, T, T, T, T, T, T, P, P, T],
170
+ [T, P, P, P, P, T, T, T, T, T, T, T, P, P, P, T],
171
+ [P, P, A, P, P, P, T, T, T, T, T, P, P, A, P, P],
172
+ [T, P, P, P, P, P, P, T, T, P, P, P, P, P, P, T],
173
+ [T, T, P, P, P, P, P, P, P, P, P, P, P, P, T, T],
174
+ [T, T, P, P, E, E, T, S, S, T, E, E, P, P, T, T],
175
+ [T, T, P, P, P, P, S, S, S, S, P, P, P, P, T, T],
176
+ [T, T, T, P, P, S, S, M, M, S, S, P, P, T, T, T],
177
+ [T, T, T, P, P, P, S, S, S, S, P, P, P, T, T, T],
178
+ [T, T, T, T, P, P, P, P, P, P, P, P, T, T, T, T],
179
+ [T, T, T, T, P, P, T, T, T, T, P, P, T, T, T, T],
180
+ [T, T, T, T, P, T, T, T, T, T, T, P, T, T, T, T],
181
+ [T, T, T, P, P, T, T, T, T, T, T, P, P, T, T, T],
182
+ [T, T, T, T, T, T, T, T, T, T, T, T, T, T, T, T],
183
+ [T, T, T, T, T, T, T, T, T, T, T, T, T, T, T, T],
184
+ [T, T, T, T, T, T, T, T, T, T, T, T, T, T, T, T],
185
+ ];
186
+ // ============================================================
187
+ // BUGOWL (虫枭) - Owl
188
+ // ============================================================
189
+ const BUGOWL_BABY = [
190
+ [T, P, P, P, P, P, P, T],
191
+ [P, P, S, P, P, S, P, P],
192
+ [P, S, E, S, S, E, S, P],
193
+ [P, P, S, P, P, S, P, P],
194
+ [T, P, P, M, M, P, P, T],
195
+ [T, P, P, P, P, P, P, T],
196
+ [T, T, P, P, P, P, T, T],
197
+ [T, T, P, T, T, P, T, T],
198
+ ];
199
+ const BUGOWL_GROWTH = [
200
+ [T, T, T, A, A, A, A, A, A, T, T, T],
201
+ [T, T, P, P, P, P, P, P, P, P, T, T],
202
+ [T, P, P, P, P, P, P, P, P, P, P, T],
203
+ [P, P, P, S, S, P, P, S, S, P, P, P],
204
+ [P, P, S, S, E, S, S, E, S, S, P, P],
205
+ [P, P, P, S, S, P, P, S, S, P, P, P],
206
+ [T, P, P, P, P, M, M, P, P, P, P, T],
207
+ [T, P, P, P, P, P, P, P, P, P, P, T],
208
+ [T, T, P, P, P, P, P, P, P, P, T, T],
209
+ [T, P, T, P, P, P, P, P, P, T, P, T],
210
+ [T, T, T, T, P, T, T, P, T, T, T, T],
211
+ [T, T, T, T, P, T, T, P, T, T, T, T],
212
+ ];
213
+ const BUGOWL_FINAL = [
214
+ [T, T, T, T, T, A, A, A, A, A, A, T, T, T, T, T],
215
+ [T, T, T, T, A, A, A, A, A, A, A, A, T, T, T, T],
216
+ [T, T, T, P, P, P, P, P, P, P, P, P, P, T, T, T],
217
+ [T, T, P, P, P, P, P, P, P, P, P, P, P, P, T, T],
218
+ [T, P, P, P, P, P, P, P, P, P, P, P, P, P, P, T],
219
+ [P, P, P, S, S, S, P, P, P, P, S, S, S, P, P, P],
220
+ [P, P, S, S, E, E, S, P, P, S, E, E, S, S, P, P],
221
+ [P, P, P, S, S, S, P, P, P, P, S, S, S, P, P, P],
222
+ [T, P, P, P, P, P, M, M, M, M, P, P, P, P, P, T],
223
+ [T, P, P, P, P, P, P, P, P, P, P, P, P, P, P, T],
224
+ [T, T, P, P, P, P, P, P, P, P, P, P, P, P, T, T],
225
+ [T, P, P, T, P, P, P, P, P, P, P, P, T, P, P, T],
226
+ [P, P, T, T, T, P, P, P, P, P, P, T, T, T, P, P],
227
+ [T, T, T, T, T, T, P, T, T, P, T, T, T, T, T, T],
228
+ [T, T, T, T, T, T, P, T, T, P, T, T, T, T, T, T],
229
+ [T, T, T, T, T, P, P, T, T, P, P, T, T, T, T, T],
230
+ ];
231
+ // ============================================================
232
+ // PIXIEBOT (像素精灵) - Robot
233
+ // ============================================================
234
+ const PIXIEBOT_BABY = [
235
+ [T, T, A, A, A, A, T, T],
236
+ [T, P, P, P, P, P, P, T],
237
+ [T, P, E, S, S, E, P, T],
238
+ [T, P, S, S, S, S, P, T],
239
+ [T, P, P, M, M, P, P, T],
240
+ [T, S, P, P, P, P, S, T],
241
+ [T, T, P, P, P, P, T, T],
242
+ [T, T, P, T, T, P, T, T],
243
+ ];
244
+ const PIXIEBOT_GROWTH = [
245
+ [T, T, T, T, A, A, A, A, T, T, T, T],
246
+ [T, T, T, A, A, A, A, A, A, T, T, T],
247
+ [T, T, P, P, P, P, P, P, P, P, T, T],
248
+ [T, P, P, P, P, P, P, P, P, P, P, T],
249
+ [T, P, P, E, S, S, S, S, E, P, P, T],
250
+ [T, P, P, S, S, S, S, S, S, P, P, T],
251
+ [T, P, P, P, M, M, M, M, P, P, P, T],
252
+ [T, S, S, P, P, P, P, P, P, S, S, T],
253
+ [T, T, P, P, P, P, P, P, P, P, T, T],
254
+ [T, T, P, P, P, P, P, P, P, P, T, T],
255
+ [T, T, T, P, P, T, T, P, P, T, T, T],
256
+ [T, T, T, P, P, T, T, P, P, T, T, T],
257
+ ];
258
+ const PIXIEBOT_FINAL = [
259
+ [T, T, T, T, T, A, A, A, A, A, A, T, T, T, T, T],
260
+ [T, T, T, T, A, A, A, A, A, A, A, A, T, T, T, T],
261
+ [T, T, T, P, P, P, P, P, P, P, P, P, P, T, T, T],
262
+ [T, T, P, P, P, P, P, P, P, P, P, P, P, P, T, T],
263
+ [T, P, P, P, P, P, P, P, P, P, P, P, P, P, P, T],
264
+ [T, P, P, E, E, S, S, S, S, S, S, E, E, P, P, T],
265
+ [T, P, P, P, S, S, S, S, S, S, S, S, P, P, P, T],
266
+ [T, P, P, P, P, M, M, M, M, M, M, P, P, P, P, T],
267
+ [T, S, S, S, P, P, P, P, P, P, P, P, S, S, S, T],
268
+ [T, T, P, P, P, P, P, P, P, P, P, P, P, P, T, T],
269
+ [T, T, P, P, P, P, P, P, P, P, P, P, P, P, T, T],
270
+ [T, T, T, P, P, P, P, P, P, P, P, P, P, T, T, T],
271
+ [T, T, T, T, P, P, T, T, T, T, P, P, T, T, T, T],
272
+ [T, T, T, T, P, P, T, T, T, T, P, P, T, T, T, T],
273
+ [T, T, T, P, P, P, T, T, T, T, P, P, P, T, T, T],
274
+ [T, T, T, T, T, T, T, T, T, T, T, T, T, T, T, T],
275
+ ];
276
+ // ============================================================
277
+ // SPRITE REGISTRY
278
+ // ============================================================
279
+ const SPRITES = {
280
+ bitcat: { baby: BITCAT_BABY, growth: BITCAT_GROWTH, final: BITCAT_FINAL },
281
+ shelldragon: { baby: SHELLDRAGON_BABY, growth: SHELLDRAGON_GROWTH, final: SHELLDRAGON_FINAL },
282
+ codeslime: { baby: CODESLIME_BABY, growth: CODESLIME_GROWTH, final: CODESLIME_FINAL },
283
+ gitfox: { baby: GITFOX_BABY, growth: GITFOX_GROWTH, final: GITFOX_FINAL },
284
+ bugowl: { baby: BUGOWL_BABY, growth: BUGOWL_GROWTH, final: BUGOWL_FINAL },
285
+ pixiebot: { baby: PIXIEBOT_BABY, growth: PIXIEBOT_GROWTH, final: PIXIEBOT_FINAL },
286
+ };
287
+ /** Get sprite grid for a species and stage */
288
+ export function getSprite(species, stage) {
289
+ return SPRITES[species][stage];
290
+ }
291
+ /** Species display names */
292
+ export const SPECIES_NAMES = {
293
+ bitcat: { en: 'Bitcat', zh: '位猫' },
294
+ shelldragon: { en: 'Shelldragon', zh: '壳龙' },
295
+ codeslime: { en: 'Codeslime', zh: '码史莱姆' },
296
+ gitfox: { en: 'Gitfox', zh: '吉狐' },
297
+ bugowl: { en: 'Bugowl', zh: '虫枭' },
298
+ pixiebot: { en: 'Pixiebot', zh: '像素精灵' },
299
+ };
300
+ //# sourceMappingURL=sprites.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"sprites.js","sourceRoot":"","sources":["../../src/render/sprites.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,IAAI,CAAC,EAAE,OAAO,IAAI,CAAC,EAAE,SAAS,IAAI,CAAC,EAAE,GAAG,IAAI,CAAC,EAAE,KAAK,IAAI,CAAC,EAAE,MAAM,IAAI,CAAC,EAAE,MAAM,YAAY,CAAC;AAG/G;;;GAGG;AAEH,+DAA+D;AAC/D,oBAAoB;AACpB,+DAA+D;AAE/D,MAAM,WAAW,GAAe;IAC9B,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC;IACxB,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC;IACxB,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC;IACxB,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC;IACxB,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC;IACxB,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC;IACxB,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC;IACxB,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC;CACzB,CAAC;AAEF,MAAM,aAAa,GAAe;IAChC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC;IACpC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC;IACpC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC;IACpC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC;IACpC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC;IACpC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC;IACpC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC;IACpC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC;IACpC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC;IACpC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC;IACpC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC;IACpC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC;CACrC,CAAC;AAEF,MAAM,YAAY,GAAe;IAC/B,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC;IAChD,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC;IAChD,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC;IAChD,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC;IAChD,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC;IAChD,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC;IAChD,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC;IAChD,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC;IAChD,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC;IAChD,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC;IAChD,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC;IAChD,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC;IAChD,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAA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;IACpC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC;IACpC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC;IACpC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC;IACpC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC;CACrC,CAAC;AAEF,MAAM,iBAAiB,GAAe;IACpC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC;IAChD,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC;IAChD,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC;IAChD,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC;IAChD,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC;IAChD,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC;IAChD,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC;IAChD,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC;IAChD,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC;IAChD,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC;IAChD,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,C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CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC;IAChD,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC;IAChD,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC;IAChD,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC;IAChD,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC;IAChD,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC;IAChD,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC;IAChD,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC;IAChD,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC;IAChD,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC;IAChD,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC;IAChD,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC;IAChD,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC;IAChD,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC;IAChD,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC;CACjD,CAAC;AAEF,+DAA+D;AAC/D,oBAAoB;AACpB,+DAA+D;AAE/D,MAAM,WAAW,GAAe;IAC9B,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC;IACxB,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC;IACxB,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC;IACxB,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC;IACxB,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC;IACxB,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC;IACxB,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC;IACxB,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC;CACzB,CAAC;AAEF,MAAM,aAAa,GAAe;IAChC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC;IACpC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC;IACpC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC;IACpC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC;IACpC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC;IACpC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC;IACpC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC;IACpC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC;IACpC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC;IACpC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC;IACpC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC;IACpC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC;CACrC,CAAC;AAEF,MAAM,YAAY,GAAe;IAC/B,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC;IAChD,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC;IAChD,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC;IAChD,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC;IAChD,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC;IAChD,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC;IAChD,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC;IAChD,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC;IAChD,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC;IAChD,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC;IAChD,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC;IAChD,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC;IAChD,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC;IAChD,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC;IAChD,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC;IAChD,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC;CACjD,CAAC;AAEF,+DAA+D;AAC/D,oBAAoB;AACpB,+DAA+D;AAE/D,MAAM,WAAW,GAAe;IAC9B,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC;IACxB,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC;IACxB,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC;IACxB,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC;IACxB,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC;IACxB,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC;IACxB,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC;IACxB,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC;CACzB,CAAC;AAEF,MAAM,aAAa,GAAe;IAChC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC;IACpC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC;IACpC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC;IACpC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC;IACpC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC;IACpC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC;IACpC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC;IACpC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC;IACpC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC;IACpC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC;IACpC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC;IACpC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC;CACrC,CAAC;AAEF,MAAM,YAAY,GAAe;IAC/B,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC;IAChD,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC;IAChD,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC;IAChD,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC;IAChD,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC;IAChD,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC;IAChD,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC;IAChD,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC;IAChD,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC;IAChD,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC;IAChD,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC;IAChD,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC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EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC;IAChD,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC;IAChD,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC;IAChD,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC;IAChD,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC;IAChD,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC;IAChD,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC;IAChD,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC;IAChD,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC;IAChD,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC;IAChD,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC;IAChD,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC;IAChD,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC;IAChD,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC;CACjD,CAAC;AAEF,+DAA+D;AAC/D,kBAAkB;AAClB,+DAA+D;AAE/D,MAAM,OAAO,GAA+C;IAC1D,MAAM,EAAO,EAAE,IAAI,EAAE,WAAW,EAAO,MAAM,EAAE,aAAa,EAAO,KAAK,EAAE,YAAY,EAAE;IACxF,WAAW,EAAE,EAAE,IAAI,EAAE,gBAAgB,EAAE,MAAM,EAAE,kBAAkB,EAAE,KAAK,EAAE,iBAAiB,EAAE;IAC7F,SAAS,EAAI,EAAE,IAAI,EAAE,cAAc,EAAI,MAAM,EAAE,gBAAgB,EAAI,KAAK,EAAE,eAAe,EAAE;IAC3F,MAAM,EAAO,EAAE,IAAI,EAAE,WAAW,EAAO,MAAM,EAAE,aAAa,EAAO,KAAK,EAAE,YAAY,EAAE;IACxF,MAAM,EAAO,EAAE,IAAI,EAAE,WAAW,EAAO,MAAM,EAAE,aAAa,EAAO,KAAK,EAAE,YAAY,EAAE;IACxF,QAAQ,EAAK,EAAE,IAAI,EAAE,aAAa,EAAK,MAAM,EAAE,eAAe,EAAK,KAAK,EAAE,cAAc,EAAE;CAC3F,CAAC;AAEF,8CAA8C;AAC9C,MAAM,UAAU,SAAS,CAAC,OAAgB,EAAE,KAAY;IACtD,OAAO,OAAO,CAAC,OAAO,CAAC,CAAC,KAAK,CAAC,CAAC;AACjC,CAAC;AAED,4BAA4B;AAC5B,MAAM,CAAC,MAAM,aAAa,GAAgD;IACxE,MAAM,EAAO,EAAE,EAAE,EAAE,QAAQ,EAAO,EAAE,EAAE,IAAI,EAAE;IAC5C,WAAW,EAAE,EAAE,EAAE,EAAE,aAAa,EAAE,EAAE,EAAE,IAAI,EAAE;IAC5C,SAAS,EAAI,EAAE,EAAE,EAAE,WAAW,EAAI,EAAE,EAAE,MAAM,EAAE;IAC9C,MAAM,EAAO,EAAE,EAAE,EAAE,QAAQ,EAAO,EAAE,EAAE,IAAI,EAAE;IAC5C,MAAM,EAAO,EAAE,EAAE,EAAE,QAAQ,EAAO,EAAE,EAAE,IAAI,EAAE;IAC5C,QAAQ,EAAK,EAAE,EAAE,EAAE,UAAU,EAAK,EAAE,EAAE,MAAM,EAAE;CAC/C,CAAC"}
@@ -0,0 +1,3 @@
1
+ import type { PetState } from '../core/types.js';
2
+ /** Render the full status line output */
3
+ export declare function renderStatusLine(state: PetState): string;