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.
- package/README.md +113 -0
- package/dist/cli/index.d.ts +2 -0
- package/dist/cli/index.js +351 -0
- package/dist/cli/index.js.map +1 -0
- package/dist/cli/install.d.ts +4 -0
- package/dist/cli/install.js +89 -0
- package/dist/cli/install.js.map +1 -0
- package/dist/cli/setup.d.ts +11 -0
- package/dist/cli/setup.js +203 -0
- package/dist/cli/setup.js.map +1 -0
- package/dist/core/dna.d.ts +14 -0
- package/dist/core/dna.js +95 -0
- package/dist/core/dna.js.map +1 -0
- package/dist/core/evolution.d.ts +16 -0
- package/dist/core/evolution.js +252 -0
- package/dist/core/evolution.js.map +1 -0
- package/dist/core/pet.d.ts +25 -0
- package/dist/core/pet.js +224 -0
- package/dist/core/pet.js.map +1 -0
- package/dist/core/rarity.d.ts +17 -0
- package/dist/core/rarity.js +55 -0
- package/dist/core/rarity.js.map +1 -0
- package/dist/core/sync.d.ts +37 -0
- package/dist/core/sync.js +94 -0
- package/dist/core/sync.js.map +1 -0
- package/dist/core/types.d.ts +92 -0
- package/dist/core/types.js +22 -0
- package/dist/core/types.js.map +1 -0
- package/dist/daemon/server.d.ts +8 -0
- package/dist/daemon/server.js +137 -0
- package/dist/daemon/server.js.map +1 -0
- package/dist/hooks/handler.d.ts +2 -0
- package/dist/hooks/handler.js +99 -0
- package/dist/hooks/handler.js.map +1 -0
- package/dist/render/anim-state.d.ts +5 -0
- package/dist/render/anim-state.js +24 -0
- package/dist/render/anim-state.js.map +1 -0
- package/dist/render/animation.d.ts +15 -0
- package/dist/render/animation.js +94 -0
- package/dist/render/animation.js.map +1 -0
- package/dist/render/frames.d.ts +51 -0
- package/dist/render/frames.js +151 -0
- package/dist/render/frames.js.map +1 -0
- package/dist/render/pixel.d.ts +44 -0
- package/dist/render/pixel.js +169 -0
- package/dist/render/pixel.js.map +1 -0
- package/dist/render/sprites.d.ts +8 -0
- package/dist/render/sprites.js +300 -0
- package/dist/render/sprites.js.map +1 -0
- package/dist/render/statusline.d.ts +3 -0
- package/dist/render/statusline.js +117 -0
- package/dist/render/statusline.js.map +1 -0
- 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"}
|