stack-scribe-mcp 0.1.0 → 0.1.2

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.
@@ -0,0 +1 @@
1
+ {"version":3,"file":"node-types.js","sourceRoot":"","sources":["../src/node-types.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,9 @@
1
+ import type { PositionedDiagram } from "./layout.js";
2
+ export declare function renderDiagram(diagram: PositionedDiagram): string;
3
+ export declare function renderDiagramDocument(diagram: PositionedDiagram): {
4
+ svg: string;
5
+ width: number;
6
+ height: number;
7
+ };
8
+ export declare const render: typeof renderDiagram;
9
+ //# sourceMappingURL=renderer.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"renderer.d.ts","sourceRoot":"","sources":["../src/renderer.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,aAAa,CAAC;AAgZrD,wBAAgB,aAAa,CAAC,OAAO,EAAE,iBAAiB,GAAG,MAAM,CAEhE;AAED,wBAAgB,qBAAqB,CAAC,OAAO,EAAE,iBAAiB,GAAG;IAAE,GAAG,EAAE,MAAM,CAAC;IAAC,KAAK,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,MAAM,CAAA;CAAE,CA8ChH;AAED,eAAO,MAAM,MAAM,sBAAgB,CAAC"}
@@ -0,0 +1,360 @@
1
+ import { getIcon } from "./icons.js";
2
+ const ICON_SIZE = 64;
3
+ const LABEL_GAP = 16;
4
+ const LABEL_HEIGHT = 18;
5
+ const TITLE_HEIGHT = 30;
6
+ const TITLE_MARGIN = 16;
7
+ const GROUP_PADDING_X = 24;
8
+ const GROUP_PADDING_Y = 20;
9
+ const GROUP_TITLE_BAND = 32;
10
+ const EDGE_LABEL_FONT_SIZE = 11;
11
+ const EDGE_LABEL_OFFSET = 12;
12
+ const MARKER_WIDTH = 7;
13
+ const MARKER_HEIGHT = 5;
14
+ const MARKER_REF_END = 6.2;
15
+ const MARKER_REF_START = 0.8;
16
+ const defaultGroupStyle = {
17
+ fill: "#f8fafc",
18
+ stroke: "#94a3b8",
19
+ text: "#0f172a",
20
+ };
21
+ const groupStyleMap = {
22
+ account: { fill: "#f8fafc", stroke: "#64748b", text: "#0f172a" },
23
+ "auto-scaling-group": { fill: "#eef2ff", stroke: "#6366f1", text: "#312e81" },
24
+ cloud: { fill: "#eff6ff", stroke: "#3b82f6", text: "#1d4ed8" },
25
+ "cloud-logo": { fill: "#eff6ff", stroke: "#2563eb", text: "#1d4ed8" },
26
+ "corporate-data-center": { fill: "#f1f5f9", stroke: "#475569", text: "#1e293b" },
27
+ "ec2-instance-contents": { fill: "#f8fafc", stroke: "#7c3aed", text: "#4c1d95" },
28
+ "iot-greengrass-deployment": { fill: "#ecfdf5", stroke: "#059669", text: "#065f46" },
29
+ "private-subnet": { fill: "#ecfdf5", stroke: "#16a34a", text: "#166534" },
30
+ "public-subnet": { fill: "#fff7ed", stroke: "#ea580c", text: "#9a3412" },
31
+ region: { fill: "#eff6ff", stroke: "#0284c7", text: "#075985" },
32
+ "server-contents": { fill: "#f8fafc", stroke: "#334155", text: "#0f172a" },
33
+ "spot-fleet": { fill: "#fefce8", stroke: "#ca8a04", text: "#854d0e" },
34
+ vpc: { fill: "#eff6ff", stroke: "#2563eb", text: "#1d4ed8" },
35
+ custom: defaultGroupStyle,
36
+ };
37
+ function escapeXml(value) {
38
+ return value
39
+ .replaceAll("&", "&")
40
+ .replaceAll("<", "&lt;")
41
+ .replaceAll(">", "&gt;")
42
+ .replaceAll('"', "&quot;")
43
+ .replaceAll("'", "&#39;");
44
+ }
45
+ function nodeLabelBounds(x, y) {
46
+ return {
47
+ x,
48
+ y,
49
+ width: ICON_SIZE,
50
+ height: ICON_SIZE + LABEL_GAP + LABEL_HEIGHT,
51
+ };
52
+ }
53
+ function nodeIconBounds(x, y) {
54
+ return {
55
+ x,
56
+ y,
57
+ width: ICON_SIZE,
58
+ height: ICON_SIZE,
59
+ };
60
+ }
61
+ function mergeBounds(boundsList) {
62
+ const minX = Math.min(...boundsList.map((bounds) => bounds.x));
63
+ const minY = Math.min(...boundsList.map((bounds) => bounds.y));
64
+ const maxX = Math.max(...boundsList.map((bounds) => bounds.x + bounds.width));
65
+ const maxY = Math.max(...boundsList.map((bounds) => bounds.y + bounds.height));
66
+ return {
67
+ x: minX,
68
+ y: minY,
69
+ width: maxX - minX,
70
+ height: maxY - minY,
71
+ };
72
+ }
73
+ function expandBounds(bounds, left, top, right, bottom) {
74
+ return {
75
+ x: bounds.x - left,
76
+ y: bounds.y - top,
77
+ width: bounds.width + left + right,
78
+ height: bounds.height + top + bottom,
79
+ };
80
+ }
81
+ function extractIconSvg(markup) {
82
+ const cleaned = markup.replace(/<\?xml[\s\S]*?\?>/gi, "").replace(/<!DOCTYPE[\s\S]*?>/gi, "").trim();
83
+ const match = cleaned.match(/<svg\b([^>]*)>([\s\S]*?)<\/svg>/i);
84
+ if (!match) {
85
+ return { viewBox: "0 0 64 64", body: cleaned };
86
+ }
87
+ const attrs = match[1] ?? "";
88
+ const body = match[2] ?? "";
89
+ const viewBox = attrs.match(/viewBox\s*=\s*['\"]([^'\"]+)['\"]/i)?.[1];
90
+ const width = attrs.match(/width\s*=\s*['\"]([^'\"]+)['\"]/i)?.[1];
91
+ const height = attrs.match(/height\s*=\s*['\"]([^'\"]+)['\"]/i)?.[1];
92
+ if (viewBox) {
93
+ return { viewBox, body };
94
+ }
95
+ const numericWidth = width ? Number.parseFloat(width) : Number.NaN;
96
+ const numericHeight = height ? Number.parseFloat(height) : Number.NaN;
97
+ if (Number.isFinite(numericWidth) && Number.isFinite(numericHeight)) {
98
+ return { viewBox: `0 0 ${numericWidth} ${numericHeight}`, body };
99
+ }
100
+ return { viewBox: "0 0 64 64", body };
101
+ }
102
+ function groupVisualStyle(group) {
103
+ if (group.style === "custom") {
104
+ return {
105
+ fill: group.color ?? defaultGroupStyle.fill,
106
+ stroke: group.borderColor ?? defaultGroupStyle.stroke,
107
+ text: defaultGroupStyle.text,
108
+ };
109
+ }
110
+ return groupStyleMap[group.style ?? "custom"] ?? defaultGroupStyle;
111
+ }
112
+ function getNodeCenter(bounds) {
113
+ return {
114
+ x: bounds.x + bounds.width / 2,
115
+ y: bounds.y + ICON_SIZE / 2,
116
+ };
117
+ }
118
+ function dedupePoints(points) {
119
+ const deduped = [];
120
+ for (const point of points) {
121
+ const previous = deduped[deduped.length - 1];
122
+ if (!previous || previous.x !== point.x || previous.y !== point.y) {
123
+ deduped.push(point);
124
+ }
125
+ }
126
+ return deduped;
127
+ }
128
+ function pathData(points) {
129
+ return points.map((point, index) => `${index === 0 ? "M" : "L"} ${point.x} ${point.y}`).join(" ");
130
+ }
131
+ function routeLabelPoint(points) {
132
+ let selectedMidpoint = points[0] ?? { x: 0, y: 0 };
133
+ let longestSegment = -1;
134
+ for (let index = 0; index < points.length - 1; index += 1) {
135
+ const current = points[index];
136
+ const next = points[index + 1];
137
+ if (!current || !next) {
138
+ continue;
139
+ }
140
+ const segmentLength = Math.abs(next.x - current.x) + Math.abs(next.y - current.y);
141
+ if (segmentLength > longestSegment) {
142
+ longestSegment = segmentLength;
143
+ selectedMidpoint = {
144
+ x: (current.x + next.x) / 2,
145
+ y: (current.y + next.y) / 2,
146
+ };
147
+ }
148
+ }
149
+ return {
150
+ x: selectedMidpoint.x,
151
+ y: selectedMidpoint.y - EDGE_LABEL_OFFSET,
152
+ };
153
+ }
154
+ function routeOrthogonalEdge(source, target, edgeIndex) {
155
+ const sourceCenter = getNodeCenter(source);
156
+ const targetCenter = getNodeCenter(target);
157
+ const dx = targetCenter.x - sourceCenter.x;
158
+ const dy = targetCenter.y - sourceCenter.y;
159
+ const laneOffset = ((edgeIndex % 3) - 1) * 12;
160
+ const preferHorizontal = Math.abs(dx) >= Math.abs(dy);
161
+ if (preferHorizontal) {
162
+ const start = {
163
+ x: dx >= 0 ? source.x + source.width : source.x,
164
+ y: sourceCenter.y,
165
+ };
166
+ const end = {
167
+ x: dx >= 0 ? target.x : target.x + target.width,
168
+ y: targetCenter.y,
169
+ };
170
+ const midX = Math.round((start.x + end.x) / 2 + laneOffset);
171
+ const points = dedupePoints([
172
+ start,
173
+ { x: midX, y: start.y },
174
+ { x: midX, y: end.y },
175
+ end,
176
+ ]);
177
+ return {
178
+ labelPoint: routeLabelPoint(points),
179
+ points,
180
+ };
181
+ }
182
+ const start = {
183
+ x: sourceCenter.x,
184
+ y: dy >= 0 ? source.y + source.height : source.y,
185
+ };
186
+ const end = {
187
+ x: targetCenter.x,
188
+ y: dy >= 0 ? target.y : target.y + target.height,
189
+ };
190
+ const midY = Math.round((start.y + end.y) / 2 + laneOffset);
191
+ const points = dedupePoints([
192
+ start,
193
+ { x: start.x, y: midY },
194
+ { x: end.x, y: midY },
195
+ end,
196
+ ]);
197
+ return {
198
+ labelPoint: routeLabelPoint(points),
199
+ points,
200
+ };
201
+ }
202
+ function buildGroupBounds(diagram) {
203
+ const groups = diagram.groups ?? [];
204
+ const groupById = new Map(groups.map((group) => [group.id, group]));
205
+ const nodeBounds = new Map(diagram.nodes.map((node) => [node.id, nodeLabelBounds(node.position.x, node.position.y)]));
206
+ const cache = new Map();
207
+ function compute(groupId, depth) {
208
+ const existing = cache.get(groupId);
209
+ if (existing) {
210
+ return existing;
211
+ }
212
+ const group = groupById.get(groupId);
213
+ if (!group) {
214
+ throw new Error(`Unknown group \"${groupId}\"`);
215
+ }
216
+ const childBounds = [];
217
+ for (const childId of group.children) {
218
+ const node = nodeBounds.get(childId);
219
+ if (node) {
220
+ childBounds.push(node);
221
+ continue;
222
+ }
223
+ if (groupById.has(childId)) {
224
+ childBounds.push(compute(childId, depth + 1));
225
+ }
226
+ }
227
+ const merged = childBounds.length > 0
228
+ ? mergeBounds(childBounds)
229
+ : { x: 0, y: 0, width: ICON_SIZE + GROUP_PADDING_X * 2, height: ICON_SIZE + GROUP_PADDING_Y * 2 };
230
+ const expanded = expandBounds(merged, GROUP_PADDING_X, GROUP_TITLE_BAND, GROUP_PADDING_X, GROUP_PADDING_Y);
231
+ const result = { ...expanded, id: groupId, depth };
232
+ cache.set(groupId, result);
233
+ return result;
234
+ }
235
+ const roots = new Set(groups.map((group) => group.id));
236
+ for (const group of groups) {
237
+ for (const childId of group.children) {
238
+ if (groupById.has(childId)) {
239
+ roots.delete(childId);
240
+ }
241
+ }
242
+ }
243
+ for (const rootId of [...roots].sort()) {
244
+ compute(rootId, 0);
245
+ }
246
+ return [...cache.values()].sort((left, right) => left.depth - right.depth || left.id.localeCompare(right.id));
247
+ }
248
+ function diagramBounds(diagram, groups) {
249
+ const nodeBounds = diagram.nodes.map((node) => nodeLabelBounds(node.position.x, node.position.y));
250
+ const allBounds = [...nodeBounds, ...groups];
251
+ if (allBounds.length === 0) {
252
+ return { x: 0, y: 0, width: 320, height: 180 };
253
+ }
254
+ return mergeBounds(allBounds);
255
+ }
256
+ function renderGroup(group, bounds, offset) {
257
+ const style = groupVisualStyle(group);
258
+ const x = bounds.x + offset.x;
259
+ const y = bounds.y + offset.y;
260
+ return [
261
+ `<g class="group" data-group-id="${escapeXml(group.id)}">`,
262
+ `<rect x="${x}" y="${y}" width="${bounds.width}" height="${bounds.height}" rx="18" fill="${style.fill}" fill-opacity="0.42" stroke="${style.stroke}" stroke-width="2" stroke-dasharray="${group.style === "custom" ? "6 4" : "none"}"/>`,
263
+ `<text x="${x + GROUP_PADDING_X}" y="${y + 22}" font-family="ui-sans-serif, system-ui, sans-serif" font-size="14" font-weight="700" fill="${style.text}">${escapeXml(group.label)}</text>`,
264
+ `</g>`,
265
+ ].join("");
266
+ }
267
+ function renderEdge(diagram, edgeIndex, offset) {
268
+ const edge = diagram.edges[edgeIndex];
269
+ if (!edge) {
270
+ return "";
271
+ }
272
+ const source = diagram.nodes.find((node) => node.id === edge.from);
273
+ const target = diagram.nodes.find((node) => node.id === edge.to);
274
+ if (!source || !target) {
275
+ return "";
276
+ }
277
+ const sourceBounds = nodeIconBounds(source.position.x, source.position.y);
278
+ const targetBounds = nodeIconBounds(target.position.x, target.position.y);
279
+ const route = routeOrthogonalEdge(sourceBounds, targetBounds, edgeIndex);
280
+ const shiftedPoints = route.points.map((point) => ({
281
+ x: point.x + offset.x,
282
+ y: point.y + offset.y,
283
+ }));
284
+ const shiftedLabelPoint = {
285
+ x: route.labelPoint.x + offset.x,
286
+ y: route.labelPoint.y + offset.y,
287
+ };
288
+ const markerEnd = edge.direction !== "two-way" ? ' marker-end="url(#arrowhead)"' : ' marker-end="url(#arrowhead)" marker-start="url(#arrowhead-reverse)"';
289
+ const label = edge.label ? `<text class="edge-label" x="${shiftedLabelPoint.x}" y="${shiftedLabelPoint.y}" text-anchor="middle" font-family="ui-sans-serif, system-ui, sans-serif" font-size="${EDGE_LABEL_FONT_SIZE}" fill="#334155">${escapeXml(edge.label)}</text>` : "";
290
+ return [
291
+ `<g class="edge" data-edge-index="${edgeIndex}">`,
292
+ `<path d="${pathData(shiftedPoints)}" fill="none" stroke="#475569" stroke-width="2.5" stroke-linecap="round" stroke-linejoin="round"${markerEnd}/>`,
293
+ label,
294
+ `</g>`,
295
+ ].join("");
296
+ }
297
+ function renderNode(nodeId, diagram, offset) {
298
+ const node = diagram.nodes.find((candidate) => candidate.id === nodeId);
299
+ if (!node) {
300
+ return "";
301
+ }
302
+ const icon = extractIconSvg(getIcon(node.type));
303
+ const x = node.position.x + offset.x;
304
+ const y = node.position.y + offset.y;
305
+ const label = node.label ?? node.id;
306
+ return [
307
+ `<g class="node" data-node-id="${escapeXml(node.id)}">`,
308
+ `<svg x="${x}" y="${y}" width="${ICON_SIZE}" height="${ICON_SIZE}" viewBox="${escapeXml(icon.viewBox)}" overflow="visible" preserveAspectRatio="xMidYMid meet">${icon.body}</svg>`,
309
+ `<text x="${x + ICON_SIZE / 2}" y="${y + ICON_SIZE + LABEL_GAP}" text-anchor="middle" font-family="ui-sans-serif, system-ui, sans-serif" font-size="12" font-weight="600" fill="#0f172a">${escapeXml(label)}</text>`,
310
+ `</g>`,
311
+ ].join("");
312
+ }
313
+ export function renderDiagram(diagram) {
314
+ return renderDiagramDocument(diagram).svg;
315
+ }
316
+ export function renderDiagramDocument(diagram) {
317
+ const groups = buildGroupBounds(diagram);
318
+ const contentBounds = diagramBounds(diagram, groups);
319
+ const horizontalPadding = 32;
320
+ const verticalPadding = 28;
321
+ const titleOffset = diagram.title ? TITLE_HEIGHT + TITLE_MARGIN : 0;
322
+ const offset = {
323
+ x: horizontalPadding - contentBounds.x,
324
+ y: verticalPadding - contentBounds.y + titleOffset,
325
+ };
326
+ const width = Math.max(320, Math.ceil(contentBounds.width + horizontalPadding * 2));
327
+ const height = Math.max(200, Math.ceil(contentBounds.height + verticalPadding * 2 + titleOffset));
328
+ const titleMarkup = diagram.title
329
+ ? `<text x="${horizontalPadding}" y="32" font-family="ui-sans-serif, system-ui, sans-serif" font-size="22" font-weight="700" fill="#0f172a">${escapeXml(diagram.title)}</text>`
330
+ : "";
331
+ const groupById = new Map((diagram.groups ?? []).map((group) => [group.id, group]));
332
+ const groupMarkup = groups
333
+ .map((bounds) => {
334
+ const group = groupById.get(bounds.id);
335
+ return group ? renderGroup(group, bounds, offset) : "";
336
+ })
337
+ .join("");
338
+ const edgeMarkup = diagram.edges.map((_, index) => renderEdge(diagram, index, offset)).join("");
339
+ const nodeMarkup = diagram.nodes.map((node) => renderNode(node.id, diagram, offset)).join("");
340
+ const svg = [
341
+ `<svg xmlns="http://www.w3.org/2000/svg" width="${width}" height="${height}" viewBox="0 0 ${width} ${height}" role="img">`,
342
+ `<defs>`,
343
+ `<marker id="arrowhead" markerWidth="${MARKER_WIDTH}" markerHeight="${MARKER_HEIGHT}" refX="${MARKER_REF_END}" refY="${MARKER_HEIGHT / 2}" orient="auto" markerUnits="strokeWidth">`,
344
+ `<polygon points="0 0, ${MARKER_WIDTH} ${MARKER_HEIGHT / 2}, 0 ${MARKER_HEIGHT}" fill="#475569"/>`,
345
+ `</marker>`,
346
+ `<marker id="arrowhead-reverse" markerWidth="${MARKER_WIDTH}" markerHeight="${MARKER_HEIGHT}" refX="${MARKER_REF_START}" refY="${MARKER_HEIGHT / 2}" orient="auto-start-reverse" markerUnits="strokeWidth">`,
347
+ `<polygon points="${MARKER_WIDTH} 0, 0 ${MARKER_HEIGHT / 2}, ${MARKER_WIDTH} ${MARKER_HEIGHT}" fill="#475569"/>`,
348
+ `</marker>`,
349
+ `</defs>`,
350
+ `<rect width="100%" height="100%" fill="#ffffff"/>`,
351
+ titleMarkup,
352
+ groupMarkup,
353
+ edgeMarkup,
354
+ nodeMarkup,
355
+ `</svg>`,
356
+ ].join("");
357
+ return { svg, width, height };
358
+ }
359
+ export const render = renderDiagram;
360
+ //# sourceMappingURL=renderer.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"renderer.js","sourceRoot":"","sources":["../src/renderer.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,YAAY,CAAC;AAIrC,MAAM,SAAS,GAAG,EAAE,CAAC;AACrB,MAAM,SAAS,GAAG,EAAE,CAAC;AACrB,MAAM,YAAY,GAAG,EAAE,CAAC;AACxB,MAAM,YAAY,GAAG,EAAE,CAAC;AACxB,MAAM,YAAY,GAAG,EAAE,CAAC;AACxB,MAAM,eAAe,GAAG,EAAE,CAAC;AAC3B,MAAM,eAAe,GAAG,EAAE,CAAC;AAC3B,MAAM,gBAAgB,GAAG,EAAE,CAAC;AAC5B,MAAM,oBAAoB,GAAG,EAAE,CAAC;AAChC,MAAM,iBAAiB,GAAG,EAAE,CAAC;AAC7B,MAAM,YAAY,GAAG,CAAC,CAAC;AACvB,MAAM,aAAa,GAAG,CAAC,CAAC;AACxB,MAAM,cAAc,GAAG,GAAG,CAAC;AAC3B,MAAM,gBAAgB,GAAG,GAAG,CAAC;AAmC7B,MAAM,iBAAiB,GAAoB;IACzC,IAAI,EAAE,SAAS;IACf,MAAM,EAAE,SAAS;IACjB,IAAI,EAAE,SAAS;CAChB,CAAC;AAEF,MAAM,aAAa,GAAiD;IAClE,OAAO,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE,MAAM,EAAE,SAAS,EAAE,IAAI,EAAE,SAAS,EAAE;IAChE,oBAAoB,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE,MAAM,EAAE,SAAS,EAAE,IAAI,EAAE,SAAS,EAAE;IAC7E,KAAK,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE,MAAM,EAAE,SAAS,EAAE,IAAI,EAAE,SAAS,EAAE;IAC9D,YAAY,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE,MAAM,EAAE,SAAS,EAAE,IAAI,EAAE,SAAS,EAAE;IACrE,uBAAuB,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE,MAAM,EAAE,SAAS,EAAE,IAAI,EAAE,SAAS,EAAE;IAChF,uBAAuB,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE,MAAM,EAAE,SAAS,EAAE,IAAI,EAAE,SAAS,EAAE;IAChF,2BAA2B,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE,MAAM,EAAE,SAAS,EAAE,IAAI,EAAE,SAAS,EAAE;IACpF,gBAAgB,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE,MAAM,EAAE,SAAS,EAAE,IAAI,EAAE,SAAS,EAAE;IACzE,eAAe,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE,MAAM,EAAE,SAAS,EAAE,IAAI,EAAE,SAAS,EAAE;IACxE,MAAM,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE,MAAM,EAAE,SAAS,EAAE,IAAI,EAAE,SAAS,EAAE;IAC/D,iBAAiB,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE,MAAM,EAAE,SAAS,EAAE,IAAI,EAAE,SAAS,EAAE;IAC1E,YAAY,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE,MAAM,EAAE,SAAS,EAAE,IAAI,EAAE,SAAS,EAAE;IACrE,GAAG,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE,MAAM,EAAE,SAAS,EAAE,IAAI,EAAE,SAAS,EAAE;IAC5D,MAAM,EAAE,iBAAiB;CAC1B,CAAC;AAEF,SAAS,SAAS,CAAC,KAAa;IAC9B,OAAO,KAAK;SACT,UAAU,CAAC,GAAG,EAAE,OAAO,CAAC;SACxB,UAAU,CAAC,GAAG,EAAE,MAAM,CAAC;SACvB,UAAU,CAAC,GAAG,EAAE,MAAM,CAAC;SACvB,UAAU,CAAC,GAAG,EAAE,QAAQ,CAAC;SACzB,UAAU,CAAC,GAAG,EAAE,OAAO,CAAC,CAAC;AAC9B,CAAC;AAED,SAAS,eAAe,CAAC,CAAS,EAAE,CAAS;IAC3C,OAAO;QACL,CAAC;QACD,CAAC;QACD,KAAK,EAAE,SAAS;QAChB,MAAM,EAAE,SAAS,GAAG,SAAS,GAAG,YAAY;KAC7C,CAAC;AACJ,CAAC;AAED,SAAS,cAAc,CAAC,CAAS,EAAE,CAAS;IAC1C,OAAO;QACL,CAAC;QACD,CAAC;QACD,KAAK,EAAE,SAAS;QAChB,MAAM,EAAE,SAAS;KAClB,CAAC;AACJ,CAAC;AAED,SAAS,WAAW,CAAC,UAAoB;IACvC,MAAM,IAAI,GAAG,IAAI,CAAC,GAAG,CAAC,GAAG,UAAU,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC;IAC/D,MAAM,IAAI,GAAG,IAAI,CAAC,GAAG,CAAC,GAAG,UAAU,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC;IAC/D,MAAM,IAAI,GAAG,IAAI,CAAC,GAAG,CAAC,GAAG,UAAU,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,CAAC,CAAC,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC;IAC9E,MAAM,IAAI,GAAG,IAAI,CAAC,GAAG,CAAC,GAAG,UAAU,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,CAAC,CAAC,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC;IAE/E,OAAO;QACL,CAAC,EAAE,IAAI;QACP,CAAC,EAAE,IAAI;QACP,KAAK,EAAE,IAAI,GAAG,IAAI;QAClB,MAAM,EAAE,IAAI,GAAG,IAAI;KACpB,CAAC;AACJ,CAAC;AAED,SAAS,YAAY,CAAC,MAAc,EAAE,IAAY,EAAE,GAAW,EAAE,KAAa,EAAE,MAAc;IAC5F,OAAO;QACL,CAAC,EAAE,MAAM,CAAC,CAAC,GAAG,IAAI;QAClB,CAAC,EAAE,MAAM,CAAC,CAAC,GAAG,GAAG;QACjB,KAAK,EAAE,MAAM,CAAC,KAAK,GAAG,IAAI,GAAG,KAAK;QAClC,MAAM,EAAE,MAAM,CAAC,MAAM,GAAG,GAAG,GAAG,MAAM;KACrC,CAAC;AACJ,CAAC;AAED,SAAS,cAAc,CAAC,MAAc;IACpC,MAAM,OAAO,GAAG,MAAM,CAAC,OAAO,CAAC,qBAAqB,EAAE,EAAE,CAAC,CAAC,OAAO,CAAC,sBAAsB,EAAE,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC;IACrG,MAAM,KAAK,GAAG,OAAO,CAAC,KAAK,CAAC,kCAAkC,CAAC,CAAC;IAEhE,IAAI,CAAC,KAAK,EAAE,CAAC;QACX,OAAO,EAAE,OAAO,EAAE,WAAW,EAAE,IAAI,EAAE,OAAO,EAAE,CAAC;IACjD,CAAC;IAED,MAAM,KAAK,GAAG,KAAK,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;IAC7B,MAAM,IAAI,GAAG,KAAK,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;IAC5B,MAAM,OAAO,GAAG,KAAK,CAAC,KAAK,CAAC,oCAAoC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;IACvE,MAAM,KAAK,GAAG,KAAK,CAAC,KAAK,CAAC,kCAAkC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;IACnE,MAAM,MAAM,GAAG,KAAK,CAAC,KAAK,CAAC,mCAAmC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;IAErE,IAAI,OAAO,EAAE,CAAC;QACZ,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;IAC3B,CAAC;IAED,MAAM,YAAY,GAAG,KAAK,CAAC,CAAC,CAAC,MAAM,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC;IACnE,MAAM,aAAa,GAAG,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC;IACtE,IAAI,MAAM,CAAC,QAAQ,CAAC,YAAY,CAAC,IAAI,MAAM,CAAC,QAAQ,CAAC,aAAa,CAAC,EAAE,CAAC;QACpE,OAAO,EAAE,OAAO,EAAE,OAAO,YAAY,IAAI,aAAa,EAAE,EAAE,IAAI,EAAE,CAAC;IACnE,CAAC;IAED,OAAO,EAAE,OAAO,EAAE,WAAW,EAAE,IAAI,EAAE,CAAC;AACxC,CAAC;AAED,SAAS,gBAAgB,CAAC,KAAY;IACpC,IAAI,KAAK,CAAC,KAAK,KAAK,QAAQ,EAAE,CAAC;QAC7B,OAAO;YACL,IAAI,EAAE,KAAK,CAAC,KAAK,IAAI,iBAAiB,CAAC,IAAI;YAC3C,MAAM,EAAE,KAAK,CAAC,WAAW,IAAI,iBAAiB,CAAC,MAAM;YACrD,IAAI,EAAE,iBAAiB,CAAC,IAAI;SAC7B,CAAC;IACJ,CAAC;IAED,OAAO,aAAa,CAAC,KAAK,CAAC,KAAK,IAAI,QAAQ,CAAC,IAAI,iBAAiB,CAAC;AACrE,CAAC;AAED,SAAS,aAAa,CAAC,MAAc;IACnC,OAAO;QACL,CAAC,EAAE,MAAM,CAAC,CAAC,GAAG,MAAM,CAAC,KAAK,GAAG,CAAC;QAC9B,CAAC,EAAE,MAAM,CAAC,CAAC,GAAG,SAAS,GAAG,CAAC;KAC5B,CAAC;AACJ,CAAC;AAED,SAAS,YAAY,CAAC,MAAe;IACnC,MAAM,OAAO,GAAY,EAAE,CAAC;IAE5B,KAAK,MAAM,KAAK,IAAI,MAAM,EAAE,CAAC;QAC3B,MAAM,QAAQ,GAAG,OAAO,CAAC,OAAO,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;QAC7C,IAAI,CAAC,QAAQ,IAAI,QAAQ,CAAC,CAAC,KAAK,KAAK,CAAC,CAAC,IAAI,QAAQ,CAAC,CAAC,KAAK,KAAK,CAAC,CAAC,EAAE,CAAC;YAClE,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QACtB,CAAC;IACH,CAAC;IAED,OAAO,OAAO,CAAC;AACjB,CAAC;AAED,SAAS,QAAQ,CAAC,MAAe;IAC/B,OAAO,MAAM,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,KAAK,EAAE,EAAE,CAAC,GAAG,KAAK,KAAK,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,IAAI,KAAK,CAAC,CAAC,IAAI,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;AACpG,CAAC;AAED,SAAS,eAAe,CAAC,MAAe;IACtC,IAAI,gBAAgB,GAAU,MAAM,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC;IAC1D,IAAI,cAAc,GAAG,CAAC,CAAC,CAAC;IAExB,KAAK,IAAI,KAAK,GAAG,CAAC,EAAE,KAAK,GAAG,MAAM,CAAC,MAAM,GAAG,CAAC,EAAE,KAAK,IAAI,CAAC,EAAE,CAAC;QAC1D,MAAM,OAAO,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC;QAC9B,MAAM,IAAI,GAAG,MAAM,CAAC,KAAK,GAAG,CAAC,CAAC,CAAC;QAC/B,IAAI,CAAC,OAAO,IAAI,CAAC,IAAI,EAAE,CAAC;YACtB,SAAS;QACX,CAAC;QAED,MAAM,aAAa,GAAG,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,GAAG,OAAO,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC;QAClF,IAAI,aAAa,GAAG,cAAc,EAAE,CAAC;YACnC,cAAc,GAAG,aAAa,CAAC;YAC/B,gBAAgB,GAAG;gBACjB,CAAC,EAAE,CAAC,OAAO,CAAC,CAAC,GAAG,IAAI,CAAC,CAAC,CAAC,GAAG,CAAC;gBAC3B,CAAC,EAAE,CAAC,OAAO,CAAC,CAAC,GAAG,IAAI,CAAC,CAAC,CAAC,GAAG,CAAC;aAC5B,CAAC;QACJ,CAAC;IACH,CAAC;IAED,OAAO;QACL,CAAC,EAAE,gBAAgB,CAAC,CAAC;QACrB,CAAC,EAAE,gBAAgB,CAAC,CAAC,GAAG,iBAAiB;KAC1C,CAAC;AACJ,CAAC;AAED,SAAS,mBAAmB,CAAC,MAAc,EAAE,MAAc,EAAE,SAAiB;IAC5E,MAAM,YAAY,GAAG,aAAa,CAAC,MAAM,CAAC,CAAC;IAC3C,MAAM,YAAY,GAAG,aAAa,CAAC,MAAM,CAAC,CAAC;IAC3C,MAAM,EAAE,GAAG,YAAY,CAAC,CAAC,GAAG,YAAY,CAAC,CAAC,CAAC;IAC3C,MAAM,EAAE,GAAG,YAAY,CAAC,CAAC,GAAG,YAAY,CAAC,CAAC,CAAC;IAC3C,MAAM,UAAU,GAAG,CAAC,CAAC,SAAS,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,CAAC;IAC9C,MAAM,gBAAgB,GAAG,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,IAAI,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;IAEtD,IAAI,gBAAgB,EAAE,CAAC;QACrB,MAAM,KAAK,GAAG;YACZ,CAAC,EAAE,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC;YAC/C,CAAC,EAAE,YAAY,CAAC,CAAC;SAClB,CAAC;QACF,MAAM,GAAG,GAAG;YACV,CAAC,EAAE,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,GAAG,MAAM,CAAC,KAAK;YAC/C,CAAC,EAAE,YAAY,CAAC,CAAC;SAClB,CAAC;QAEF,MAAM,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,KAAK,CAAC,CAAC,GAAG,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,UAAU,CAAC,CAAC;QAC5D,MAAM,MAAM,GAAG,YAAY,CAAC;YAC1B,KAAK;YACL,EAAE,CAAC,EAAE,IAAI,EAAE,CAAC,EAAE,KAAK,CAAC,CAAC,EAAE;YACvB,EAAE,CAAC,EAAE,IAAI,EAAE,CAAC,EAAE,GAAG,CAAC,CAAC,EAAE;YACrB,GAAG;SACJ,CAAC,CAAC;QAEH,OAAO;YACL,UAAU,EAAE,eAAe,CAAC,MAAM,CAAC;YACnC,MAAM;SACP,CAAC;IACJ,CAAC;IAED,MAAM,KAAK,GAAG;QACZ,CAAC,EAAE,YAAY,CAAC,CAAC;QACjB,CAAC,EAAE,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC;KACjD,CAAC;IACF,MAAM,GAAG,GAAG;QACV,CAAC,EAAE,YAAY,CAAC,CAAC;QACjB,CAAC,EAAE,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,GAAG,MAAM,CAAC,MAAM;KACjD,CAAC;IACF,MAAM,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,KAAK,CAAC,CAAC,GAAG,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,UAAU,CAAC,CAAC;IAC5D,MAAM,MAAM,GAAG,YAAY,CAAC;QAC1B,KAAK;QACL,EAAE,CAAC,EAAE,KAAK,CAAC,CAAC,EAAE,CAAC,EAAE,IAAI,EAAE;QACvB,EAAE,CAAC,EAAE,GAAG,CAAC,CAAC,EAAE,CAAC,EAAE,IAAI,EAAE;QACrB,GAAG;KACJ,CAAC,CAAC;IAEH,OAAO;QACL,UAAU,EAAE,eAAe,CAAC,MAAM,CAAC;QACnC,MAAM;KACP,CAAC;AACJ,CAAC;AAED,SAAS,gBAAgB,CAAC,OAA0B;IAClD,MAAM,MAAM,GAAG,OAAO,CAAC,MAAM,IAAI,EAAE,CAAC;IACpC,MAAM,SAAS,GAAG,IAAI,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC,KAAK,CAAC,EAAE,EAAE,KAAK,CAAC,CAAC,CAAC,CAAC;IACpE,MAAM,UAAU,GAAG,IAAI,GAAG,CAAC,OAAO,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,IAAI,CAAC,EAAE,EAAE,eAAe,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,EAAE,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;IACtH,MAAM,KAAK,GAAG,IAAI,GAAG,EAAuB,CAAC;IAE7C,SAAS,OAAO,CAAC,OAAe,EAAE,KAAa;QAC7C,MAAM,QAAQ,GAAG,KAAK,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;QACpC,IAAI,QAAQ,EAAE,CAAC;YACb,OAAO,QAAQ,CAAC;QAClB,CAAC;QAED,MAAM,KAAK,GAAG,SAAS,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;QACrC,IAAI,CAAC,KAAK,EAAE,CAAC;YACX,MAAM,IAAI,KAAK,CAAC,mBAAmB,OAAO,IAAI,CAAC,CAAC;QAClD,CAAC;QAED,MAAM,WAAW,GAAa,EAAE,CAAC;QACjC,KAAK,MAAM,OAAO,IAAI,KAAK,CAAC,QAAQ,EAAE,CAAC;YACrC,MAAM,IAAI,GAAG,UAAU,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;YACrC,IAAI,IAAI,EAAE,CAAC;gBACT,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;gBACvB,SAAS;YACX,CAAC;YAED,IAAI,SAAS,CAAC,GAAG,CAAC,OAAO,CAAC,EAAE,CAAC;gBAC3B,WAAW,CAAC,IAAI,CAAC,OAAO,CAAC,OAAO,EAAE,KAAK,GAAG,CAAC,CAAC,CAAC,CAAC;YAChD,CAAC;QACH,CAAC;QAED,MAAM,MAAM,GAAG,WAAW,CAAC,MAAM,GAAG,CAAC;YACnC,CAAC,CAAC,WAAW,CAAC,WAAW,CAAC;YAC1B,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,KAAK,EAAE,SAAS,GAAG,eAAe,GAAG,CAAC,EAAE,MAAM,EAAE,SAAS,GAAG,eAAe,GAAG,CAAC,EAAE,CAAC;QACpG,MAAM,QAAQ,GAAG,YAAY,CAAC,MAAM,EAAE,eAAe,EAAE,gBAAgB,EAAE,eAAe,EAAE,eAAe,CAAC,CAAC;QAC3G,MAAM,MAAM,GAAgB,EAAE,GAAG,QAAQ,EAAE,EAAE,EAAE,OAAO,EAAE,KAAK,EAAE,CAAC;QAChE,KAAK,CAAC,GAAG,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC;QAC3B,OAAO,MAAM,CAAC;IAChB,CAAC;IAED,MAAM,KAAK,GAAG,IAAI,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,CAAC;IACvD,KAAK,MAAM,KAAK,IAAI,MAAM,EAAE,CAAC;QAC3B,KAAK,MAAM,OAAO,IAAI,KAAK,CAAC,QAAQ,EAAE,CAAC;YACrC,IAAI,SAAS,CAAC,GAAG,CAAC,OAAO,CAAC,EAAE,CAAC;gBAC3B,KAAK,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;YACxB,CAAC;QACH,CAAC;IACH,CAAC;IAED,KAAK,MAAM,MAAM,IAAI,CAAC,GAAG,KAAK,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC;QACvC,OAAO,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC;IACrB,CAAC;IAED,OAAO,CAAC,GAAG,KAAK,CAAC,MAAM,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,KAAK,EAAE,EAAE,CAAC,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC,KAAK,IAAI,IAAI,CAAC,EAAE,CAAC,aAAa,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,CAAC;AAChH,CAAC;AAED,SAAS,aAAa,CAAC,OAA0B,EAAE,MAAqB;IACtE,MAAM,UAAU,GAAG,OAAO,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,eAAe,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,EAAE,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC;IAClG,MAAM,SAAS,GAAG,CAAC,GAAG,UAAU,EAAE,GAAG,MAAM,CAAC,CAAC;IAE7C,IAAI,SAAS,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QAC3B,OAAO,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,KAAK,EAAE,GAAG,EAAE,MAAM,EAAE,GAAG,EAAE,CAAC;IACjD,CAAC;IAED,OAAO,WAAW,CAAC,SAAS,CAAC,CAAC;AAChC,CAAC;AAED,SAAS,WAAW,CAAC,KAAY,EAAE,MAAmB,EAAE,MAAa;IACnE,MAAM,KAAK,GAAG,gBAAgB,CAAC,KAAK,CAAC,CAAC;IACtC,MAAM,CAAC,GAAG,MAAM,CAAC,CAAC,GAAG,MAAM,CAAC,CAAC,CAAC;IAC9B,MAAM,CAAC,GAAG,MAAM,CAAC,CAAC,GAAG,MAAM,CAAC,CAAC,CAAC;IAE9B,OAAO;QACL,mCAAmC,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,IAAI;QAC1D,YAAY,CAAC,QAAQ,CAAC,YAAY,MAAM,CAAC,KAAK,aAAa,MAAM,CAAC,MAAM,mBAAmB,KAAK,CAAC,IAAI,iCAAiC,KAAK,CAAC,MAAM,wCAAwC,KAAK,CAAC,KAAK,KAAK,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,KAAK;QACxO,YAAY,CAAC,GAAG,eAAe,QAAQ,CAAC,GAAG,EAAE,+FAA+F,KAAK,CAAC,IAAI,KAAK,SAAS,CAAC,KAAK,CAAC,KAAK,CAAC,SAAS;QAC1L,MAAM;KACP,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;AACb,CAAC;AAED,SAAS,UAAU,CAAC,OAA0B,EAAE,SAAiB,EAAE,MAAa;IAC9E,MAAM,IAAI,GAAG,OAAO,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC;IACtC,IAAI,CAAC,IAAI,EAAE,CAAC;QACV,OAAO,EAAE,CAAC;IACZ,CAAC;IAED,MAAM,MAAM,GAAG,OAAO,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,EAAE,KAAK,IAAI,CAAC,IAAI,CAAC,CAAC;IACnE,MAAM,MAAM,GAAG,OAAO,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,EAAE,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC;IACjE,IAAI,CAAC,MAAM,IAAI,CAAC,MAAM,EAAE,CAAC;QACvB,OAAO,EAAE,CAAC;IACZ,CAAC;IAED,MAAM,YAAY,GAAG,cAAc,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,EAAE,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC;IAC1E,MAAM,YAAY,GAAG,cAAc,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,EAAE,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC;IAC1E,MAAM,KAAK,GAAG,mBAAmB,CAAC,YAAY,EAAE,YAAY,EAAE,SAAS,CAAC,CAAC;IACzE,MAAM,aAAa,GAAG,KAAK,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC;QACjD,CAAC,EAAE,KAAK,CAAC,CAAC,GAAG,MAAM,CAAC,CAAC;QACrB,CAAC,EAAE,KAAK,CAAC,CAAC,GAAG,MAAM,CAAC,CAAC;KACtB,CAAC,CAAC,CAAC;IACJ,MAAM,iBAAiB,GAAG;QACxB,CAAC,EAAE,KAAK,CAAC,UAAU,CAAC,CAAC,GAAG,MAAM,CAAC,CAAC;QAChC,CAAC,EAAE,KAAK,CAAC,UAAU,CAAC,CAAC,GAAG,MAAM,CAAC,CAAC;KACjC,CAAC;IACF,MAAM,SAAS,GAAG,IAAI,CAAC,SAAS,KAAK,SAAS,CAAC,CAAC,CAAC,+BAA+B,CAAC,CAAC,CAAC,sEAAsE,CAAC;IAC1J,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,+BAA+B,iBAAiB,CAAC,CAAC,QAAQ,iBAAiB,CAAC,CAAC,wFAAwF,oBAAoB,oBAAoB,SAAS,CAAC,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC;IAE5Q,OAAO;QACL,oCAAoC,SAAS,IAAI;QACjD,YAAY,QAAQ,CAAC,aAAa,CAAC,mGAAmG,SAAS,IAAI;QACnJ,KAAK;QACL,MAAM;KACP,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;AACb,CAAC;AAED,SAAS,UAAU,CAAC,MAAc,EAAE,OAA0B,EAAE,MAAa;IAC3E,MAAM,IAAI,GAAG,OAAO,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,SAAS,EAAE,EAAE,CAAC,SAAS,CAAC,EAAE,KAAK,MAAM,CAAC,CAAC;IACxE,IAAI,CAAC,IAAI,EAAE,CAAC;QACV,OAAO,EAAE,CAAC;IACZ,CAAC;IAED,MAAM,IAAI,GAAG,cAAc,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;IAChD,MAAM,CAAC,GAAG,IAAI,CAAC,QAAQ,CAAC,CAAC,GAAG,MAAM,CAAC,CAAC,CAAC;IACrC,MAAM,CAAC,GAAG,IAAI,CAAC,QAAQ,CAAC,CAAC,GAAG,MAAM,CAAC,CAAC,CAAC;IACrC,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,IAAI,IAAI,CAAC,EAAE,CAAC;IAEpC,OAAO;QACL,iCAAiC,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI;QACvD,WAAW,CAAC,QAAQ,CAAC,YAAY,SAAS,aAAa,SAAS,cAAc,SAAS,CAAC,IAAI,CAAC,OAAO,CAAC,4DAA4D,IAAI,CAAC,IAAI,QAAQ;QAClL,YAAY,CAAC,GAAG,SAAS,GAAG,CAAC,QAAQ,CAAC,GAAG,SAAS,GAAG,SAAS,6HAA6H,SAAS,CAAC,KAAK,CAAC,SAAS;QACpN,MAAM;KACP,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;AACb,CAAC;AAED,MAAM,UAAU,aAAa,CAAC,OAA0B;IACtD,OAAO,qBAAqB,CAAC,OAAO,CAAC,CAAC,GAAG,CAAC;AAC5C,CAAC;AAED,MAAM,UAAU,qBAAqB,CAAC,OAA0B;IAC9D,MAAM,MAAM,GAAG,gBAAgB,CAAC,OAAO,CAAC,CAAC;IACzC,MAAM,aAAa,GAAG,aAAa,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC;IACrD,MAAM,iBAAiB,GAAG,EAAE,CAAC;IAC7B,MAAM,eAAe,GAAG,EAAE,CAAC;IAC3B,MAAM,WAAW,GAAG,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,YAAY,GAAG,YAAY,CAAC,CAAC,CAAC,CAAC,CAAC;IACpE,MAAM,MAAM,GAAG;QACb,CAAC,EAAE,iBAAiB,GAAG,aAAa,CAAC,CAAC;QACtC,CAAC,EAAE,eAAe,GAAG,aAAa,CAAC,CAAC,GAAG,WAAW;KACnD,CAAC;IACF,MAAM,KAAK,GAAG,IAAI,CAAC,GAAG,CAAC,GAAG,EAAE,IAAI,CAAC,IAAI,CAAC,aAAa,CAAC,KAAK,GAAG,iBAAiB,GAAG,CAAC,CAAC,CAAC,CAAC;IACpF,MAAM,MAAM,GAAG,IAAI,CAAC,GAAG,CAAC,GAAG,EAAE,IAAI,CAAC,IAAI,CAAC,aAAa,CAAC,MAAM,GAAG,eAAe,GAAG,CAAC,GAAG,WAAW,CAAC,CAAC,CAAC;IAClG,MAAM,WAAW,GAAG,OAAO,CAAC,KAAK;QAC/B,CAAC,CAAC,YAAY,iBAAiB,+GAA+G,SAAS,CAAC,OAAO,CAAC,KAAK,CAAC,SAAS;QAC/K,CAAC,CAAC,EAAE,CAAC;IACP,MAAM,SAAS,GAAG,IAAI,GAAG,CAAC,CAAC,OAAO,CAAC,MAAM,IAAI,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC,KAAK,CAAC,EAAE,EAAE,KAAK,CAAC,CAAC,CAAC,CAAC;IAEpF,MAAM,WAAW,GAAG,MAAM;SACvB,GAAG,CAAC,CAAC,MAAM,EAAE,EAAE;QACd,MAAM,KAAK,GAAG,SAAS,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;QACvC,OAAO,KAAK,CAAC,CAAC,CAAC,WAAW,CAAC,KAAK,EAAE,MAAM,EAAE,MAAM,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;IACzD,CAAC,CAAC;SACD,IAAI,CAAC,EAAE,CAAC,CAAC;IAEZ,MAAM,UAAU,GAAG,OAAO,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,EAAE,CAAC,UAAU,CAAC,OAAO,EAAE,KAAK,EAAE,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IAChG,MAAM,UAAU,GAAG,OAAO,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,UAAU,CAAC,IAAI,CAAC,EAAE,EAAE,OAAO,EAAE,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IAE9F,MAAM,GAAG,GAAG;QACV,kDAAkD,KAAK,aAAa,MAAM,kBAAkB,KAAK,IAAI,MAAM,eAAe;QAC1H,QAAQ;QACR,uCAAuC,YAAY,mBAAmB,aAAa,WAAW,cAAc,WAAW,aAAa,GAAG,CAAC,4CAA4C;QACpL,yBAAyB,YAAY,IAAI,aAAa,GAAG,CAAC,OAAO,aAAa,oBAAoB;QAClG,WAAW;QACX,+CAA+C,YAAY,mBAAmB,aAAa,WAAW,gBAAgB,WAAW,aAAa,GAAG,CAAC,0DAA0D;QAC5M,oBAAoB,YAAY,SAAS,aAAa,GAAG,CAAC,KAAK,YAAY,IAAI,aAAa,oBAAoB;QAChH,WAAW;QACX,SAAS;QACT,mDAAmD;QACnD,WAAW;QACX,WAAW;QACX,UAAU;QACV,UAAU;QACV,QAAQ;KACT,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IAEX,OAAO,EAAE,GAAG,EAAE,KAAK,EAAE,MAAM,EAAE,CAAC;AAChC,CAAC;AAED,MAAM,CAAC,MAAM,MAAM,GAAG,aAAa,CAAC"}