@tamagui/cli 1.137.1 → 1.137.3

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.
@@ -27,67 +27,221 @@ __export(generate_prompt_exports, {
27
27
  module.exports = __toCommonJS(generate_prompt_exports);
28
28
  var import_node_path = require("node:path"), FS = __toESM(require("fs-extra")), import_static = require("@tamagui/static");
29
29
  async function generatePrompt(options) {
30
- const { paths, verbose, output } = options;
31
- console.info("Regenerating Tamagui configuration..."), process.env.TAMAGUI_KEEP_THEMES = "1", await (0, import_static.loadTamagui)({
30
+ const { paths, output } = options;
31
+ process.env.TAMAGUI_KEEP_THEMES = "1", await (0, import_static.loadTamagui)({
32
32
  ...options.tamaguiOptions,
33
33
  platform: "web"
34
34
  });
35
35
  const configPath = (0, import_node_path.join)(paths.dotDir, "tamagui.config.json");
36
36
  if (!FS.existsSync(configPath))
37
- throw new Error(`Config file not found at ${configPath}. Please run 'tamagui generate' first.`);
38
- const config = await FS.readJSON(configPath), markdown = generateMarkdown(config, verbose), outputPath = output || (0, import_node_path.join)(process.cwd(), "tamagui-prompt.md");
39
- await FS.writeFile(outputPath, markdown, "utf-8"), console.info(`\u2713 Generated prompt file at ${outputPath}`);
37
+ throw new Error(
38
+ `Config file not found at ${configPath}. Please run 'tamagui generate' first.`
39
+ );
40
+ const config = await FS.readJSON(configPath), markdown = generateMarkdown(config), outputPath = output || (0, import_node_path.join)(process.cwd(), "tamagui-prompt.md");
41
+ await FS.writeFile(outputPath, markdown, "utf-8"), console.info(`
42
+ \u2713 Generated prompt file at ${outputPath}
43
+ `);
40
44
  }
41
- function generateMarkdown(config, verbose = !1) {
45
+ function generateMarkdown(config) {
42
46
  const sections = [];
43
47
  sections.push(`# Tamagui Configuration
44
48
 
45
- `), sections.push(`This document provides an overview of the Tamagui configuration for this project.
49
+ `), sections.push(
50
+ `This document provides an overview of the Tamagui configuration for this project.
46
51
 
47
- `), sections.push(`## Components
52
+ `
53
+ );
54
+ const shorthands = config.tamaguiConfig?.shorthands || {}, reverseShorthands = {};
55
+ for (const [short, full] of Object.entries(shorthands))
56
+ reverseShorthands[full] = short;
57
+ const getPropName = (fullProp) => (config.tamaguiConfig?.settings || {}).onlyAllowShorthands && reverseShorthands[fullProp] ? reverseShorthands[fullProp] : fullProp, settings = config.tamaguiConfig?.settings || {};
58
+ if (Object.keys(settings).length > 0) {
59
+ sections.push(`## Configuration Settings
48
60
 
49
- `), sections.push(`The following components are available:
50
- `);
51
- const allComponents = [];
61
+ `), sections.push(
62
+ `**IMPORTANT:** These settings affect how you write Tamagui code in this project.
63
+
64
+ `
65
+ ), settings.defaultFont && (sections.push(`### Default Font: \`${settings.defaultFont}\`
66
+
67
+ `), sections.push(
68
+ `All text components will use the "${settings.defaultFont}" font family by default.
69
+
70
+ `
71
+ )), settings.onlyAllowShorthands !== void 0 && (sections.push(`### Only Allow Shorthands: \`${settings.onlyAllowShorthands}\`
72
+
73
+ `), settings.onlyAllowShorthands ? (sections.push(`**You MUST use shorthand properties in this project.**
74
+
75
+ `), sections.push(`Full property names are not allowed. For example:
76
+ `), sections.push('- \u2705 `<Stack w="$10" />` (correct)\n'), sections.push('- \u274C `<Stack width="$10" />` (will error)\n\n'), sections.push(
77
+ `See the Shorthand Properties section below for all available shorthands.
78
+
79
+ `
80
+ )) : sections.push(`You can use either shorthand or full property names.
81
+
82
+ `)), settings.themeClassNameOnRoot !== void 0 && (sections.push(
83
+ `### Theme Class Name on Root: \`${settings.themeClassNameOnRoot}\`
84
+
85
+ `
86
+ ), settings.themeClassNameOnRoot && sections.push(`Theme classes are applied to the root HTML element.
87
+
88
+ `)), settings.maxDarkLightNesting !== void 0 && (sections.push(`### Max Dark/Light Nesting: \`${settings.maxDarkLightNesting}\`
89
+
90
+ `), sections.push(
91
+ `Maximum nesting depth for light/dark theme switching: ${settings.maxDarkLightNesting} levels.
92
+
93
+ `
94
+ ));
95
+ const platform = settings.platform || settings.defaultProps?.platform;
96
+ platform && (sections.push(`### Platform Mode: \`${platform}\`
97
+
98
+ `), platform === "web" ? sections.push(`This project is configured for **web only**.
99
+
100
+ `) : platform === "native" && sections.push(`This project is configured for **React Native only**.
101
+
102
+ `)), settings.webContainerType && (sections.push(`### Web Container Type: \`${settings.webContainerType}\`
103
+
104
+ `), sections.push(`Enables web-specific container query optimizations.
105
+
106
+ `)), JSON.stringify(config.tamaguiConfig).includes("semi-strict-web") && (sections.push("### Mode: `semi-strict-web`\n\n"), sections.push(`This configuration uses semi-strict-web mode, which:
107
+ `), sections.push(`- Optimizes for web performance
108
+ `), sections.push(`- May have limited React Native API support
109
+ `), sections.push(`- Focuses on web-first development
110
+
111
+ `));
112
+ }
113
+ const componentsSection = [], allComponents = [];
52
114
  for (const componentModule of config.components) {
53
115
  const componentNames = Object.keys(componentModule.nameToInfo);
54
116
  allComponents.push(...componentNames);
55
117
  }
56
- const sortedComponents = allComponents.sort();
57
- sections.push(sortedComponents.map((name) => `- ${name}`).join(`
58
- `)), sections.push(`
118
+ const componentGroups = /* @__PURE__ */ new Map(), processed = /* @__PURE__ */ new Set(), sortedComponents = [...allComponents].sort((a, b) => a.length - b.length);
119
+ for (const name of sortedComponents) {
120
+ if (processed.has(name)) continue;
121
+ const children = allComponents.filter(
122
+ (other) => other !== name && other.startsWith(name) && other[name.length]?.match(/[A-Z]/)
123
+ );
124
+ children.length > 0 && (componentGroups.set(name, new Set(children)), processed.add(name), children.forEach((child) => processed.add(child)));
125
+ }
126
+ const standaloneComponents = allComponents.filter((name) => !processed.has(name));
127
+ componentsSection.push(`## Components
128
+
129
+ `), componentsSection.push(`The following components are available:
59
130
 
131
+ `);
132
+ const allBaseComponents = [
133
+ ...standaloneComponents,
134
+ ...Array.from(componentGroups.keys())
135
+ ].sort();
136
+ for (const name of allBaseComponents)
137
+ if (componentsSection.push(`- ${name}
138
+ `), componentGroups.has(name)) {
139
+ const children = Array.from(componentGroups.get(name)).sort();
140
+ for (const child of children) {
141
+ const suffix = child.slice(name.length);
142
+ componentsSection.push(` - ${name}.${suffix}
143
+ `);
144
+ }
145
+ }
146
+ componentsSection.push(`
60
147
  `), sections.push(`## Shorthand Properties
61
148
 
62
149
  `), sections.push(`These shorthand properties are available for styling:
63
150
 
64
151
  `);
65
- const shorthands = config.tamaguiConfig?.shorthands || {}, shorthandEntries = Object.entries(shorthands).sort(([a], [b]) => a.localeCompare(b));
66
- sections.push(shorthandEntries.map(([short, full]) => `- \`${short}\` \u2192 \`${full}\``).join(`
67
- `)), sections.push(`
152
+ const shorthandEntries = Object.entries(shorthands).sort(
153
+ ([a], [b]) => a.localeCompare(b)
154
+ );
155
+ sections.push(
156
+ shorthandEntries.map(([short, full]) => `- \`${short}\` \u2192 \`${full}\``).join(`
157
+ `)
158
+ ), sections.push(`
68
159
 
69
160
  `), sections.push(`## Themes
70
161
 
71
- `), sections.push(`Available theme names:
72
-
73
162
  `);
74
- const themes = config.tamaguiConfig?.themes || {}, themeNames = Object.keys(themes).sort(), baseThemes = themeNames.filter((name) => !name.includes("_")), componentThemes = themeNames.filter((name) => name.includes("_"));
75
- baseThemes.length > 0 && (sections.push(`### Base Themes
163
+ const themes = config.tamaguiConfig?.themes || {}, themeNames = Object.keys(themes).sort(), hierarchy = {
164
+ level1: /* @__PURE__ */ new Set(),
165
+ level2: /* @__PURE__ */ new Set(),
166
+ level3: /* @__PURE__ */ new Set(),
167
+ components: /* @__PURE__ */ new Set()
168
+ };
169
+ for (const themeName of themeNames) {
170
+ const parts = themeName.split("_");
171
+ if (parts[0] === "light" || parts[0] === "dark") {
172
+ hierarchy.level1.add(parts[0]), parts.length > 1 && parts[1] && !parts[1].startsWith("alt") && parts[1] !== "active" && parts[1][0] === parts[1][0].toLowerCase() && hierarchy.level2.add(parts[1]);
173
+ for (const part of parts)
174
+ (part.startsWith("alt") || part === "active") && hierarchy.level3.add(part);
175
+ for (const part of parts)
176
+ part[0] && part[0] === part[0].toUpperCase() && part[0] !== part[0].toLowerCase() && hierarchy.components.add(part);
177
+ } else
178
+ parts.length === 1 && hierarchy.level1.add(themeName);
179
+ }
180
+ sections.push(`Themes are organized hierarchically and can be combined:
76
181
 
77
- `), sections.push(baseThemes.map((name) => `- ${name}`).join(`
78
- `))), componentThemes.length > 0 && verbose ? (sections.push(`
182
+ `), hierarchy.level1.size > 0 && (sections.push(`**Level 1 (Base):**
79
183
 
80
- ### Component-Specific Themes
184
+ `), sections.push(
185
+ Array.from(hierarchy.level1).sort().map((name) => `- ${name}`).join(`
186
+ `)
187
+ ), sections.push(`
81
188
 
82
- `), sections.push(componentThemes.map((name) => `- ${name}`).join(`
83
- `))) : componentThemes.length > 0 && sections.push(`
189
+ `)), hierarchy.level2.size > 0 && (sections.push(`**Level 2 (Color Schemes):**
84
190
 
85
- *${componentThemes.length} component-specific theme variants available (use --verbose to see all)*
86
- `), sections.push(`
191
+ `), sections.push(
192
+ Array.from(hierarchy.level2).sort().map((name) => `- ${name}`).join(`
193
+ `)
194
+ ), sections.push(`
87
195
 
88
- `), sections.push(`## Tokens
196
+ `)), hierarchy.level3.size > 0 && (sections.push(`**Level 3 (Variants):**
89
197
 
90
- `);
198
+ `), sections.push(
199
+ Array.from(hierarchy.level3).sort().map((name) => `- ${name}`).join(`
200
+ `)
201
+ ), sections.push(`
202
+
203
+ `)), hierarchy.components.size > 0 && (sections.push(`**Component Themes:**
204
+
205
+ `), sections.push(
206
+ Array.from(hierarchy.components).sort().map((name) => `- ${name}`).join(`
207
+ `)
208
+ ), sections.push(`
209
+
210
+ `)), sections.push(`### Theme Usage
211
+
212
+ `), sections.push(
213
+ "Themes are combined hierarchically. For example, `light_blue_alt1_Button` combines:\n"
214
+ ), sections.push("- Base: `light`\n"), sections.push("- Color: `blue`\n"), sections.push("- Variant: `alt1`\n"), sections.push("- Component: `Button`\n\n"), sections.push(`**Basic usage:**
215
+
216
+ `), sections.push("```tsx\n"), sections.push(`import { Button, Theme } from 'tamagui'
217
+
218
+ `), sections.push(`// Apply a theme to components
219
+ `), sections.push(`export default () => (
220
+ `), sections.push(` <Theme name="dark">
221
+ `), sections.push(` <Button>I'm a dark button</Button>
222
+ `), sections.push(` </Theme>
223
+ `), sections.push(`)
224
+
225
+ `), sections.push(`// Themes nest and combine automatically
226
+ `), sections.push(`export default () => (
227
+ `), sections.push(` <Theme name="dark">
228
+ `), sections.push(` <Theme name="blue">
229
+ `), sections.push(` <Button>Uses dark_blue theme</Button>
230
+ `), sections.push(` </Theme>
231
+ `), sections.push(` </Theme>
232
+ `), sections.push(`)
233
+ `), sections.push("```\n\n"), sections.push(`**Accessing theme values:**
234
+
235
+ `), sections.push("Components can access theme values using `$` token syntax:\n\n"), sections.push("```tsx\n"), sections.push(
236
+ `<Stack ${getPropName("backgroundColor")}="$background" ${getPropName("color")}="$color" />
237
+ `
238
+ ), sections.push("```\n\n"), sections.push(`**Special props:**
239
+
240
+ `), sections.push("- `inverse`: Automatically swaps light \u2194 dark themes\n"), sections.push("- `reset`: Reverts to grandparent theme\n\n"), sections.push(`## Tokens
241
+
242
+ `), sections.push(
243
+ "Tokens are design system values that can be referenced using the `$` prefix.\n\n"
244
+ );
91
245
  const tokens = config.tamaguiConfig?.tokens || {};
92
246
  if (tokens.space) {
93
247
  sections.push(`### Space Tokens
@@ -97,8 +251,10 @@ function generateMarkdown(config, verbose = !1) {
97
251
  const numA = parseFloat(a), numB = parseFloat(b);
98
252
  return !isNaN(numA) && !isNaN(numB) ? numA - numB : a.localeCompare(b);
99
253
  });
100
- sections.push(spaceTokens.map(([key, value]) => `- \`${key}\`: ${formatTokenValue(value)}`).join(`
101
- `)), sections.push(`
254
+ sections.push(
255
+ spaceTokens.map(([key, value]) => `- \`${key}\`: ${formatTokenValue(value)}`).join(`
256
+ `)
257
+ ), sections.push(`
102
258
 
103
259
  `);
104
260
  }
@@ -110,8 +266,10 @@ function generateMarkdown(config, verbose = !1) {
110
266
  const numA = parseFloat(a), numB = parseFloat(b);
111
267
  return !isNaN(numA) && !isNaN(numB) ? numA - numB : a.localeCompare(b);
112
268
  });
113
- sections.push(sizeTokens.map(([key, value]) => `- \`${key}\`: ${formatTokenValue(value)}`).join(`
114
- `)), sections.push(`
269
+ sections.push(
270
+ sizeTokens.map(([key, value]) => `- \`${key}\`: ${formatTokenValue(value)}`).join(`
271
+ `)
272
+ ), sections.push(`
115
273
 
116
274
  `);
117
275
  }
@@ -123,8 +281,10 @@ function generateMarkdown(config, verbose = !1) {
123
281
  const numA = parseFloat(a), numB = parseFloat(b);
124
282
  return !isNaN(numA) && !isNaN(numB) ? numA - numB : a.localeCompare(b);
125
283
  });
126
- sections.push(radiusTokens.map(([key, value]) => `- \`${key}\`: ${formatTokenValue(value)}`).join(`
127
- `)), sections.push(`
284
+ sections.push(
285
+ radiusTokens.map(([key, value]) => `- \`${key}\`: ${formatTokenValue(value)}`).join(`
286
+ `)
287
+ ), sections.push(`
128
288
 
129
289
  `);
130
290
  }
@@ -136,38 +296,76 @@ function generateMarkdown(config, verbose = !1) {
136
296
  const numA = parseFloat(a), numB = parseFloat(b);
137
297
  return !isNaN(numA) && !isNaN(numB) ? numA - numB : a.localeCompare(b);
138
298
  });
139
- sections.push(zIndexTokens.map(([key, value]) => `- \`${key}\`: ${formatTokenValue(value)}`).join(`
140
- `)), sections.push(`
299
+ sections.push(
300
+ zIndexTokens.map(([key, value]) => `- \`${key}\`: ${formatTokenValue(value)}`).join(`
301
+ `)
302
+ ), sections.push(`
141
303
 
142
304
  `);
143
305
  }
144
- if (verbose && tokens.color) {
306
+ if (tokens.color) {
145
307
  sections.push(`### Color Tokens
146
308
 
147
309
  `);
148
- const colorTokens = Object.entries(tokens.color).sort(([a], [b]) => a.localeCompare(b));
149
- sections.push(colorTokens.map(([key, value]) => `- \`${key}\`: ${formatTokenValue(value)}`).join(`
150
- `)), sections.push(`
151
-
152
- `);
153
- } else if (tokens.color) {
154
- const colorCount = Object.keys(tokens.color).length;
155
- sections.push(`*${colorCount} color tokens available (use --verbose to see all)*
310
+ const colorTokens = Object.entries(tokens.color).sort(
311
+ ([a], [b]) => a.localeCompare(b)
312
+ );
313
+ sections.push(
314
+ colorTokens.map(([key, value]) => `- \`${key}\`: ${formatTokenValue(value)}`).join(`
315
+ `)
316
+ ), sections.push(`
156
317
 
157
318
  `);
158
319
  }
159
- if (config.tamaguiConfig?.media) {
320
+ if (sections.push(`### Token Usage
321
+
322
+ `), sections.push("Tokens can be used in component props with the `$` prefix:\n\n"), sections.push("```tsx\n"), sections.push(`// Space tokens - for margin, padding, gap
323
+ `), sections.push(
324
+ `<Stack ${getPropName("padding")}="$4" ${getPropName("gap")}="$2" ${getPropName("margin")}="$3" />
325
+
326
+ `
327
+ ), sections.push(`// Size tokens - for width, height, dimensions
328
+ `), sections.push(
329
+ `<Stack ${getPropName("width")}="$10" ${getPropName("height")}="$6" />
330
+
331
+ `
332
+ ), sections.push(`// Color tokens - for colors and backgrounds
333
+ `), sections.push(
334
+ `<Stack ${getPropName("backgroundColor")}="$blue5" ${getPropName("color")}="$gray12" />
335
+
336
+ `
337
+ ), sections.push(`// Radius tokens - for border-radius
338
+ `), sections.push(`<Stack ${getPropName("borderRadius")}="$4" />
339
+ `), sections.push("```\n\n"), config.tamaguiConfig?.media) {
160
340
  sections.push(`## Media Queries
161
341
 
162
- `), sections.push(`Responsive breakpoints and media query configurations:
342
+ `), sections.push(`Available responsive breakpoints:
163
343
 
164
344
  `);
165
345
  const media = config.tamaguiConfig.media, mediaEntries = Object.entries(media).sort(([a], [b]) => a.localeCompare(b));
166
- sections.push("```typescript\n");
167
346
  for (const [name, query] of mediaEntries)
168
- sections.push(`${name}: ${JSON.stringify(query)}
347
+ sections.push(`- **${name}**: ${JSON.stringify(query)}
169
348
  `);
170
- sections.push("```\n\n");
349
+ sections.push(`
350
+ `), sections.push(`### Media Query Usage
351
+
352
+ `), sections.push(
353
+ "Media queries can be used as style props or with the `useMedia` hook:\n\n"
354
+ ), sections.push("```tsx\n"), sections.push(`// As style props (prefix with $)
355
+ `);
356
+ const firstMediaName = mediaEntries[0]?.[0];
357
+ firstMediaName && sections.push(
358
+ `<Stack ${getPropName("width")}="100%" $${firstMediaName}={{ ${getPropName("width")}: "50%" }} />
359
+
360
+ `
361
+ ), sections.push(`// Using the useMedia hook
362
+ `), sections.push(`import { useMedia } from 'tamagui'
363
+
364
+ `), sections.push(`const media = useMedia()
365
+ `), firstMediaName && (sections.push(`if (media.${firstMediaName}) {
366
+ `), sections.push(` // Render for this breakpoint
367
+ `), sections.push(`}
368
+ `)), sections.push("```\n\n");
171
369
  }
172
370
  if (config.tamaguiConfig?.fonts) {
173
371
  sections.push(`## Fonts
@@ -196,18 +394,7 @@ function generateMarkdown(config, verbose = !1) {
196
394
  `);
197
395
  }
198
396
  }
199
- if (config.tamaguiConfig?.settings) {
200
- sections.push(`## Settings
201
-
202
- `);
203
- const settings = config.tamaguiConfig.settings;
204
- settings.defaultFont && sections.push(`- **Default Font**: ${settings.defaultFont}
205
- `), settings.onlyAllowShorthands !== void 0 && sections.push(`- **Only Allow Shorthands**: ${settings.onlyAllowShorthands}
206
- `), settings.themeClassNameOnRoot !== void 0 && sections.push(`- **Theme Class Name on Root**: ${settings.themeClassNameOnRoot}
207
- `), sections.push(`
208
- `);
209
- }
210
- return sections.join("");
397
+ return sections.push(...componentsSection), sections.join("");
211
398
  }
212
399
  function formatTokenValue(value) {
213
400
  return typeof value == "object" && value !== null && "val" in value ? String(value.val) : String(value);
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../src/generate-prompt.ts"],
4
- "mappings": "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",
4
+ "mappings": ";;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,uBAAqB,sBACrB,KAAoB,8BACpB,gBAA4B;AAO5B,eAAsB,eAAe,SAAgC;AACnE,QAAM,EAAE,OAAO,OAAO,IAAI;AAG1B,UAAQ,IAAI,sBAAsB,KAClC,UAAM,2BAAY;AAAA,IAChB,GAAG,QAAQ;AAAA,IACX,UAAU;AAAA,EACZ,CAAC;AAGD,QAAM,iBAAa,uBAAK,MAAM,QAAQ,qBAAqB;AAE3D,MAAI,CAAC,GAAG,WAAW,UAAU;AAC3B,UAAM,IAAI;AAAA,MACR,4BAA4B,UAAU;AAAA,IACxC;AAGF,QAAM,SAAS,MAAM,GAAG,SAAS,UAAU,GAGrC,WAAW,iBAAiB,MAAM,GAGlC,aAAa,cAAU,uBAAK,QAAQ,IAAI,GAAG,mBAAmB;AACpE,QAAM,GAAG,UAAU,YAAY,UAAU,OAAO,GAEhD,QAAQ,KAAK;AAAA,oCAAkC,UAAU;AAAA,CAAI;AAC/D;AAEA,SAAS,iBAAiB,QAAqB;AAC7C,QAAM,WAAqB,CAAC;AAG5B,WAAS,KAAK;AAAA;AAAA,CAA6B,GAC3C,SAAS;AAAA,IACP;AAAA;AAAA;AAAA,EACF;AAGA,QAAM,aAAa,OAAO,eAAe,cAAc,CAAC,GAClD,oBAA4C,CAAC;AACnD,aAAW,CAAC,OAAO,IAAI,KAAK,OAAO,QAAQ,UAAU;AACnD,sBAAkB,IAAc,IAAI;AAItC,QAAM,cAAc,CAAC,cACF,OAAO,eAAe,YAAY,CAAC,GACvC,uBAAuB,kBAAkB,QAAQ,IACrD,kBAAkB,QAAQ,IAE5B,UAIH,WAAW,OAAO,eAAe,YAAY,CAAC;AACpD,MAAI,OAAO,KAAK,QAAQ,EAAE,SAAS,GAAG;AACpC,aAAS,KAAK;AAAA;AAAA,CAA+B,GAC7C,SAAS;AAAA,MACP;AAAA;AAAA;AAAA,IACF,GAEI,SAAS,gBACX,SAAS,KAAK,uBAAuB,SAAS,WAAW;AAAA;AAAA,CAAQ,GACjE,SAAS;AAAA,MACP,qCAAqC,SAAS,WAAW;AAAA;AAAA;AAAA,IAC3D,IAGE,SAAS,wBAAwB,WACnC,SAAS,KAAK,gCAAgC,SAAS,mBAAmB;AAAA;AAAA,CAAQ,GAC9E,SAAS,uBACX,SAAS,KAAK;AAAA;AAAA,CAA4D,GAC1E,SAAS,KAAK;AAAA,CAAqD,GACnE,SAAS,KAAK,0CAAqC,GACnD,SAAS,KAAK,mDAA8C,GAC5D,SAAS;AAAA,MACP;AAAA;AAAA;AAAA,IACF,KAEA,SAAS,KAAK;AAAA;AAAA,CAA0D,IAIxE,SAAS,yBAAyB,WACpC,SAAS;AAAA,MACP,mCAAmC,SAAS,oBAAoB;AAAA;AAAA;AAAA,IAClE,GACI,SAAS,wBACX,SAAS,KAAK;AAAA;AAAA,CAAyD,IAIvE,SAAS,wBAAwB,WACnC,SAAS,KAAK,iCAAiC,SAAS,mBAAmB;AAAA;AAAA,CAAQ,GACnF,SAAS;AAAA,MACP,yDAAyD,SAAS,mBAAmB;AAAA;AAAA;AAAA,IACvF;AAIF,UAAM,WAAW,SAAS,YAAY,SAAS,cAAc;AAC7D,IAAI,aACF,SAAS,KAAK,wBAAwB,QAAQ;AAAA;AAAA,CAAQ,GAElD,aAAa,QACf,SAAS,KAAK;AAAA;AAAA,CAAkD,IACvD,aAAa,YACtB,SAAS,KAAK;AAAA;AAAA,CAA2D,IAKzE,SAAS,qBACX,SAAS,KAAK,6BAA6B,SAAS,gBAAgB;AAAA;AAAA,CAAQ,GAC5E,SAAS,KAAK;AAAA;AAAA,CAAyD,IAIpD,KAAK,UAAU,OAAO,aAAa,EACvC,SAAS,iBAAiB,MACzC,SAAS,KAAK,iCAAiC,GAC/C,SAAS,KAAK;AAAA,CAAwD,GACtE,SAAS,KAAK;AAAA,CAAmC,GACjD,SAAS,KAAK;AAAA,CAA+C,GAC7D,SAAS,KAAK;AAAA;AAAA,CAAwC;AAAA,EAE1D;AAGA,QAAM,oBAA8B,CAAC,GAE/B,gBAA0B,CAAC;AACjC,aAAW,mBAAmB,OAAO,YAAY;AAC/C,UAAM,iBAAiB,OAAO,KAAK,gBAAgB,UAAU;AAC7D,kBAAc,KAAK,GAAG,cAAc;AAAA,EACtC;AAIA,QAAM,kBAAkB,oBAAI,IAAyB,GAC/C,YAAY,oBAAI,IAAY,GAG5B,mBAAmB,CAAC,GAAG,aAAa,EAAE,KAAK,CAAC,GAAG,MAAM,EAAE,SAAS,EAAE,MAAM;AAE9E,aAAW,QAAQ,kBAAkB;AACnC,QAAI,UAAU,IAAI,IAAI,EAAG;AAGzB,UAAM,WAAW,cAAc;AAAA,MAC7B,CAAC,UACC,UAAU,QAAQ,MAAM,WAAW,IAAI,KAAK,MAAM,KAAK,MAAM,GAAG,MAAM,OAAO;AAAA,IACjF;AAEA,IAAI,SAAS,SAAS,MAEpB,gBAAgB,IAAI,MAAM,IAAI,IAAI,QAAQ,CAAC,GAC3C,UAAU,IAAI,IAAI,GAClB,SAAS,QAAQ,CAAC,UAAU,UAAU,IAAI,KAAK,CAAC;AAAA,EAEpD;AAGA,QAAM,uBAAuB,cAAc,OAAO,CAAC,SAAS,CAAC,UAAU,IAAI,IAAI,CAAC;AAEhF,oBAAkB,KAAK;AAAA;AAAA,CAAmB,GAC1C,kBAAkB,KAAK;AAAA;AAAA,CAA6C;AAGpE,QAAM,oBAAoB;AAAA,IACxB,GAAG;AAAA,IACH,GAAG,MAAM,KAAK,gBAAgB,KAAK,CAAC;AAAA,EACtC,EAAE,KAAK;AAGP,aAAW,QAAQ;AAIjB,QAHA,kBAAkB,KAAK,KAAK,IAAI;AAAA,CAAI,GAGhC,gBAAgB,IAAI,IAAI,GAAG;AAC7B,YAAM,WAAW,MAAM,KAAK,gBAAgB,IAAI,IAAI,CAAE,EAAE,KAAK;AAC7D,iBAAW,SAAS,UAAU;AAC5B,cAAM,SAAS,MAAM,MAAM,KAAK,MAAM;AACtC,0BAAkB,KAAK,OAAO,IAAI,IAAI,MAAM;AAAA,CAAI;AAAA,MAClD;AAAA,IACF;AAGF,oBAAkB,KAAK;AAAA,CAAI,GAG3B,SAAS,KAAK;AAAA;AAAA,CAA6B,GAC3C,SAAS,KAAK;AAAA;AAAA,CAA2D;AAEzE,QAAM,mBAAmB,OAAO,QAAQ,UAAU,EAAE;AAAA,IAAK,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,MAC/D,EAAE,cAAc,CAAC;AAAA,EACnB;AAEA,WAAS;AAAA,IACP,iBAAiB,IAAI,CAAC,CAAC,OAAO,IAAI,MAAM,OAAO,KAAK,eAAU,IAAI,IAAI,EAAE,KAAK;AAAA,CAAI;AAAA,EACnF,GACA,SAAS,KAAK;AAAA;AAAA,CAAM,GAGpB,SAAS,KAAK;AAAA;AAAA,CAAe;AAE7B,QAAM,SAAS,OAAO,eAAe,UAAU,CAAC,GAC1C,aAAa,OAAO,KAAK,MAAM,EAAE,KAAK,GAUtC,YAA4B;AAAA,IAChC,QAAQ,oBAAI,IAAI;AAAA,IAChB,QAAQ,oBAAI,IAAI;AAAA,IAChB,QAAQ,oBAAI,IAAI;AAAA,IAChB,YAAY,oBAAI,IAAI;AAAA,EACtB;AAEA,aAAW,aAAa,YAAY;AAClC,UAAM,QAAQ,UAAU,MAAM,GAAG;AAGjC,QAAI,MAAM,CAAC,MAAM,WAAW,MAAM,CAAC,MAAM,QAAQ;AAC/C,gBAAU,OAAO,IAAI,MAAM,CAAC,CAAC,GAI3B,MAAM,SAAS,KACf,MAAM,CAAC,KACP,CAAC,MAAM,CAAC,EAAE,WAAW,KAAK,KAC1B,MAAM,CAAC,MAAM,YAGT,MAAM,CAAC,EAAE,CAAC,MAAM,MAAM,CAAC,EAAE,CAAC,EAAE,YAAY,KAC1C,UAAU,OAAO,IAAI,MAAM,CAAC,CAAC;AAKjC,iBAAW,QAAQ;AACjB,SAAI,KAAK,WAAW,KAAK,KAAK,SAAS,aACrC,UAAU,OAAO,IAAI,IAAI;AAK7B,iBAAW,QAAQ;AACjB,QACE,KAAK,CAAC,KACN,KAAK,CAAC,MAAM,KAAK,CAAC,EAAE,YAAY,KAChC,KAAK,CAAC,MAAM,KAAK,CAAC,EAAE,YAAY,KAEhC,UAAU,WAAW,IAAI,IAAI;AAAA,IAGnC;AAEE,MAAI,MAAM,WAAW,KACnB,UAAU,OAAO,IAAI,SAAS;AAAA,EAGpC;AAEA,WAAS,KAAK;AAAA;AAAA,CAA8D,GAExE,UAAU,OAAO,OAAO,MAC1B,SAAS,KAAK;AAAA;AAAA,CAAyB,GACvC,SAAS;AAAA,IACP,MAAM,KAAK,UAAU,MAAM,EACxB,KAAK,EACL,IAAI,CAAC,SAAS,KAAK,IAAI,EAAE,EACzB,KAAK;AAAA,CAAI;AAAA,EACd,GACA,SAAS,KAAK;AAAA;AAAA,CAAM,IAGlB,UAAU,OAAO,OAAO,MAC1B,SAAS,KAAK;AAAA;AAAA,CAAkC,GAChD,SAAS;AAAA,IACP,MAAM,KAAK,UAAU,MAAM,EACxB,KAAK,EACL,IAAI,CAAC,SAAS,KAAK,IAAI,EAAE,EACzB,KAAK;AAAA,CAAI;AAAA,EACd,GACA,SAAS,KAAK;AAAA;AAAA,CAAM,IAGlB,UAAU,OAAO,OAAO,MAC1B,SAAS,KAAK;AAAA;AAAA,CAA6B,GAC3C,SAAS;AAAA,IACP,MAAM,KAAK,UAAU,MAAM,EACxB,KAAK,EACL,IAAI,CAAC,SAAS,KAAK,IAAI,EAAE,EACzB,KAAK;AAAA,CAAI;AAAA,EACd,GACA,SAAS,KAAK;AAAA;AAAA,CAAM,IAGlB,UAAU,WAAW,OAAO,MAC9B,SAAS,KAAK;AAAA;AAAA,CAA2B,GACzC,SAAS;AAAA,IACP,MAAM,KAAK,UAAU,UAAU,EAC5B,KAAK,EACL,IAAI,CAAC,SAAS,KAAK,IAAI,EAAE,EACzB,KAAK;AAAA,CAAI;AAAA,EACd,GACA,SAAS,KAAK;AAAA;AAAA,CAAM,IAItB,SAAS,KAAK;AAAA;AAAA,CAAqB,GACnC,SAAS;AAAA,IACP;AAAA,EACF,GACA,SAAS,KAAK,mBAAmB,GACjC,SAAS,KAAK,mBAAmB,GACjC,SAAS,KAAK,qBAAqB,GACnC,SAAS,KAAK,2BAA2B,GAEzC,SAAS,KAAK;AAAA;AAAA,CAAsB,GACpC,SAAS,KAAK,UAAU,GACxB,SAAS,KAAK;AAAA;AAAA,CAA6C,GAC3D,SAAS,KAAK;AAAA,CAAkC,GAChD,SAAS,KAAK;AAAA,CAA0B,GACxC,SAAS,KAAK;AAAA,CAAyB,GACvC,SAAS,KAAK;AAAA,CAA0C,GACxD,SAAS,KAAK;AAAA,CAAc,GAC5B,SAAS,KAAK;AAAA;AAAA,CAAO,GACrB,SAAS,KAAK;AAAA,CAA4C,GAC1D,SAAS,KAAK;AAAA,CAA0B,GACxC,SAAS,KAAK;AAAA,CAAyB,GACvC,SAAS,KAAK;AAAA,CAA2B,GACzC,SAAS,KAAK;AAAA,CAA+C,GAC7D,SAAS,KAAK;AAAA,CAAgB,GAC9B,SAAS,KAAK;AAAA,CAAc,GAC5B,SAAS,KAAK;AAAA,CAAK,GACnB,SAAS,KAAK,SAAS,GAEvB,SAAS,KAAK;AAAA;AAAA,CAAiC,GAC/C,SAAS,KAAK,gEAAgE,GAC9E,SAAS,KAAK,UAAU,GACxB,SAAS;AAAA,IACP,UAAU,YAAY,iBAAiB,CAAC,kBAAkB,YAAY,OAAO,CAAC;AAAA;AAAA,EAChF,GACA,SAAS,KAAK,SAAS,GAEvB,SAAS,KAAK;AAAA;AAAA,CAAwB,GACtC,SAAS,KAAK,6DAAwD,GACtE,SAAS,KAAK,6CAA6C,GAG3D,SAAS,KAAK;AAAA;AAAA,CAAe,GAC7B,SAAS;AAAA,IACP;AAAA,EACF;AAEA,QAAM,SAAS,OAAO,eAAe,UAAU,CAAC;AAGhD,MAAI,OAAO,OAAO;AAChB,aAAS,KAAK;AAAA;AAAA,CAAsB;AACpC,UAAM,cAAc,OAAO,QAAQ,OAAO,KAAK,EAAE,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,MAAM;AAElE,YAAM,OAAO,WAAW,CAAC,GACnB,OAAO,WAAW,CAAC;AACzB,aAAI,CAAC,MAAM,IAAI,KAAK,CAAC,MAAM,IAAI,IACtB,OAAO,OAET,EAAE,cAAc,CAAC;AAAA,IAC1B,CAAC;AACD,aAAS;AAAA,MACP,YACG,IAAI,CAAC,CAAC,KAAK,KAAK,MAAM,OAAO,GAAG,OAAO,iBAAiB,KAAK,CAAC,EAAE,EAChE,KAAK;AAAA,CAAI;AAAA,IACd,GACA,SAAS,KAAK;AAAA;AAAA,CAAM;AAAA,EACtB;AAGA,MAAI,OAAO,MAAM;AACf,aAAS,KAAK;AAAA;AAAA,CAAqB;AACnC,UAAM,aAAa,OAAO,QAAQ,OAAO,IAAI,EAAE,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,MAAM;AAChE,YAAM,OAAO,WAAW,CAAC,GACnB,OAAO,WAAW,CAAC;AACzB,aAAI,CAAC,MAAM,IAAI,KAAK,CAAC,MAAM,IAAI,IACtB,OAAO,OAET,EAAE,cAAc,CAAC;AAAA,IAC1B,CAAC;AACD,aAAS;AAAA,MACP,WACG,IAAI,CAAC,CAAC,KAAK,KAAK,MAAM,OAAO,GAAG,OAAO,iBAAiB,KAAK,CAAC,EAAE,EAChE,KAAK;AAAA,CAAI;AAAA,IACd,GACA,SAAS,KAAK;AAAA;AAAA,CAAM;AAAA,EACtB;AAGA,MAAI,OAAO,QAAQ;AACjB,aAAS,KAAK;AAAA;AAAA,CAAuB;AACrC,UAAM,eAAe,OAAO,QAAQ,OAAO,MAAM,EAAE,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,MAAM;AACpE,YAAM,OAAO,WAAW,CAAC,GACnB,OAAO,WAAW,CAAC;AACzB,aAAI,CAAC,MAAM,IAAI,KAAK,CAAC,MAAM,IAAI,IACtB,OAAO,OAET,EAAE,cAAc,CAAC;AAAA,IAC1B,CAAC;AACD,aAAS;AAAA,MACP,aACG,IAAI,CAAC,CAAC,KAAK,KAAK,MAAM,OAAO,GAAG,OAAO,iBAAiB,KAAK,CAAC,EAAE,EAChE,KAAK;AAAA,CAAI;AAAA,IACd,GACA,SAAS,KAAK;AAAA;AAAA,CAAM;AAAA,EACtB;AAGA,MAAI,OAAO,QAAQ;AACjB,aAAS,KAAK;AAAA;AAAA,CAAwB;AACtC,UAAM,eAAe,OAAO,QAAQ,OAAO,MAAM,EAAE,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,MAAM;AACpE,YAAM,OAAO,WAAW,CAAC,GACnB,OAAO,WAAW,CAAC;AACzB,aAAI,CAAC,MAAM,IAAI,KAAK,CAAC,MAAM,IAAI,IACtB,OAAO,OAET,EAAE,cAAc,CAAC;AAAA,IAC1B,CAAC;AACD,aAAS;AAAA,MACP,aACG,IAAI,CAAC,CAAC,KAAK,KAAK,MAAM,OAAO,GAAG,OAAO,iBAAiB,KAAK,CAAC,EAAE,EAChE,KAAK;AAAA,CAAI;AAAA,IACd,GACA,SAAS,KAAK;AAAA;AAAA,CAAM;AAAA,EACtB;AAGA,MAAI,OAAO,OAAO;AAChB,aAAS,KAAK;AAAA;AAAA,CAAsB;AACpC,UAAM,cAAc,OAAO,QAAQ,OAAO,KAAK,EAAE;AAAA,MAAK,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,MAC5D,EAAE,cAAc,CAAC;AAAA,IACnB;AACA,aAAS;AAAA,MACP,YACG,IAAI,CAAC,CAAC,KAAK,KAAK,MAAM,OAAO,GAAG,OAAO,iBAAiB,KAAK,CAAC,EAAE,EAChE,KAAK;AAAA,CAAI;AAAA,IACd,GACA,SAAS,KAAK;AAAA;AAAA,CAAM;AAAA,EACtB;AAuBA,MApBA,SAAS,KAAK;AAAA;AAAA,CAAqB,GACnC,SAAS,KAAK,gEAAgE,GAC9E,SAAS,KAAK,UAAU,GACxB,SAAS,KAAK;AAAA,CAA8C,GAC5D,SAAS;AAAA,IACP,UAAU,YAAY,SAAS,CAAC,SAAS,YAAY,KAAK,CAAC,SAAS,YAAY,QAAQ,CAAC;AAAA;AAAA;AAAA,EAC3F,GACA,SAAS,KAAK;AAAA,CAAkD,GAChE,SAAS;AAAA,IACP,UAAU,YAAY,OAAO,CAAC,UAAU,YAAY,QAAQ,CAAC;AAAA;AAAA;AAAA,EAC/D,GACA,SAAS,KAAK;AAAA,CAAgD,GAC9D,SAAS;AAAA,IACP,UAAU,YAAY,iBAAiB,CAAC,aAAa,YAAY,OAAO,CAAC;AAAA;AAAA;AAAA,EAC3E,GACA,SAAS,KAAK;AAAA,CAAwC,GACtD,SAAS,KAAK,UAAU,YAAY,cAAc,CAAC;AAAA,CAAY,GAC/D,SAAS,KAAK,SAAS,GAGnB,OAAO,eAAe,OAAO;AAC/B,aAAS,KAAK;AAAA;AAAA,CAAsB,GACpC,SAAS,KAAK;AAAA;AAAA,CAAuC;AAErD,UAAM,QAAQ,OAAO,cAAc,OAC7B,eAAe,OAAO,QAAQ,KAAK,EAAE,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,cAAc,CAAC,CAAC;AAEhF,eAAW,CAAC,MAAM,KAAK,KAAK;AAC1B,eAAS,KAAK,OAAO,IAAI,OAAO,KAAK,UAAU,KAAK,CAAC;AAAA,CAAI;AAE3D,aAAS,KAAK;AAAA,CAAI,GAElB,SAAS,KAAK;AAAA;AAAA,CAA2B,GACzC,SAAS;AAAA,MACP;AAAA,IACF,GACA,SAAS,KAAK,UAAU,GACxB,SAAS,KAAK;AAAA,CAAqC;AAGnD,UAAM,iBAAiB,aAAa,CAAC,IAAI,CAAC;AAC1C,IAAI,kBACF,SAAS;AAAA,MACP,UAAU,YAAY,OAAO,CAAC,YAAY,cAAc,OAAO,YAAY,OAAO,CAAC;AAAA;AAAA;AAAA,IACrF,GAGF,SAAS,KAAK;AAAA,CAA8B,GAC5C,SAAS,KAAK;AAAA;AAAA,CAAwC,GACtD,SAAS,KAAK;AAAA,CAA4B,GACtC,mBACF,SAAS,KAAK,aAAa,cAAc;AAAA,CAAO,GAChD,SAAS,KAAK;AAAA,CAAmC,GACjD,SAAS,KAAK;AAAA,CAAK,IAErB,SAAS,KAAK,SAAS;AAAA,EACzB;AAGA,MAAI,OAAO,eAAe,OAAO;AAC/B,aAAS,KAAK;AAAA;AAAA,CAAc,GAC5B,SAAS,KAAK;AAAA;AAAA,CAA8B;AAE5C,UAAM,QAAQ,OAAO,cAAc,OAC7B,YAAY,OAAO,KAAK,KAAK,EAAE,KAAK;AAC1C,aAAS,KAAK,UAAU,IAAI,CAAC,SAAS,KAAK,IAAI,EAAE,EAAE,KAAK;AAAA,CAAI,CAAC,GAC7D,SAAS,KAAK;AAAA;AAAA,CAAM;AAAA,EACtB;AAGA,MAAI,OAAO,eAAe,YAAY;AACpC,aAAS,KAAK;AAAA;AAAA,CAAmB,GACjC,SAAS,KAAK;AAAA;AAAA,CAAkC;AAEhD,UAAM,aAAa,OAAO,cAAc;AACxC,QAAI,WAAW,YAAY;AACzB,YAAM,iBAAiB,OAAO,KAAK,WAAW,UAAU,EAAE,KAAK;AAC/D,eAAS,KAAK,eAAe,IAAI,CAAC,SAAS,KAAK,IAAI,EAAE,EAAE,KAAK;AAAA,CAAI,CAAC,GAClE,SAAS,KAAK;AAAA;AAAA,CAAM;AAAA,IACtB;AAAA,EACF;AAGA,kBAAS,KAAK,GAAG,iBAAiB,GAE3B,SAAS,KAAK,EAAE;AACzB;AAEA,SAAS,iBAAiB,OAAoB;AAE5C,SAAI,OAAO,SAAU,YAAY,UAAU,QAAQ,SAAS,QACnD,OAAO,MAAM,GAAG,IAGlB,OAAO,KAAK;AACrB;",
5
5
  "names": []
6
6
  }