@gethopp/figma-mcp-bridge 0.0.23 → 0.0.25

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 CHANGED
@@ -102,6 +102,7 @@ If you want to know more about how it works, read the [How it works](#how-it-wor
102
102
  | `create_shape` | Create a rectangle, ellipse, or line |
103
103
  | `create_shape_with_text` | Create a FigJam shape with its own text label (SHAPE_WITH_TEXT), incl. text fill |
104
104
  | `create_image` | Create an image-backed rectangle from a local path, URL, or data URI |
105
+ | `create_svg` | Import raw SVG markup or a workspace-local SVG file as editable vector layers |
105
106
  | `create_sticky` | Create a sticky note in FigJam |
106
107
  | `create_connector` | Create a connector between two nodes in FigJam, with attachment anchors |
107
108
  | `import_html_layers` | Bulk-import an html-figma layer tree (JSON) as frames, text, rectangles, and vectors |
@@ -119,6 +120,7 @@ If you want to know more about how it works, read the [How it works](#how-it-wor
119
120
  | `set_selection` | Set the page selection to a list of node IDs (works in Dev Mode) |
120
121
  | `scroll_and_zoom_into_view` | Frame the viewport around the given nodes (works in Dev Mode) |
121
122
  | `delete_nodes` | Delete nodes with explicit confirmation |
123
+ | `run_script` | Run Plugin API JavaScript in the plugin sandbox (opt-in, see Editing Notes) |
122
124
 
123
125
  All tools accept an optional `fileKey` parameter when multiple Figma files are connected. Use `list_files` to discover connected files and their keys.
124
126
 
@@ -139,12 +141,32 @@ All tools accept an optional `fileKey` parameter when multiple Figma files are c
139
141
  - `fit_to_content` works on SECTION nodes only (Figma's API exposes no equivalent for other containers): it shifts children so their bounding box starts at `padding` and resizes the section to bbox + 2×padding.
140
142
  - The current user must have permission to edit the target file.
141
143
  - `delete_nodes` is intentionally gated behind `confirm: true`.
144
+ - `run_script` executes arbitrary JavaScript in the open file, so it is off unless the MCP server runs with `FIGMA_BRIDGE_ENABLE_RUN_SCRIPT=1` (see [Enabling `run_script`](#enabling-run_script)). The code is the body of an async function with `figma` in scope, and its `return` value must be JSON-serializable. Code that calls `.remove()` is rejected unless `allowRemove: true` is passed; this guards against accidental deletions and is not a security boundary. The server stops waiting after 3 minutes, but a script stuck in a loop keeps the plugin busy until it is closed. Works in Figma and FigJam.
142
145
  - Text edits automatically load the fonts currently used by the target text node before applying the new content.
143
146
  - New text nodes default to `Inter Regular` unless a font is provided.
144
147
  - `create_image` reads local paths relative to the MCP server working directory unless you pass an absolute path.
148
+ - `create_svg` accepts raw `<svg>` markup or a local SVG path inside the MCP server working directory. SVG payloads are limited to 2 MiB.
145
149
  - `import_html_layers` takes a JSON file produced by [html-figma](https://github.com/sergcen/html-to-figma)'s browser `htmlToFigma()`. The path resolves relative to the MCP server working directory and must stay inside it, even when absolute. Everything lands inside one wrapper frame, and the response reports `layerCount` against `expectedLayerCount` so partial imports are visible.
146
150
  - `create_page` returns the new page's ID — pass it as `parentId` to `create_frame` / `create_text` / `create_shape` / `create_image` to author content on that page without switching the editor.
147
151
 
152
+ ### Enabling `run_script`
153
+
154
+ `run_script` is off by default. To turn it on, add `FIGMA_BRIDGE_ENABLE_RUN_SCRIPT` to the server's `env` in your MCP configuration and restart your AI tool:
155
+
156
+ ```json
157
+ {
158
+ "figma-bridge": {
159
+ "command": "npx",
160
+ "args": ["-y", "@gethopp/figma-mcp-bridge"],
161
+ "env": {
162
+ "FIGMA_BRIDGE_ENABLE_RUN_SCRIPT": "1"
163
+ }
164
+ }
165
+ }
166
+ ```
167
+
168
+ If several AI tools run the bridge at the same time, set the variable in each of their configurations. Only one bridge process talks to Figma at a time, and it rejects `run_script` unless it was started with the variable.
169
+
148
170
  ### What You Can Build
149
171
 
150
172
  With the current write surface, an agent can build a basic slide deck in a new empty Figma file: create slide frames, style titles and body copy, lay out rectangles/ellipses/lines for cards and dividers, duplicate slide templates, reparent content into the right frame, and adjust common geometry/visual properties — including solid/gradient paints, shadows and blurs, stroke geometry, and auto-layout configuration.
@@ -237,6 +259,8 @@ The MCP server is the core of the Figma MCP Bridge. It maintains a registry of W
237
259
  - Forwarding responses back to the AI client
238
260
  - Handling leader election (as we can have only one WS connection to an MCP server at a time)
239
261
 
262
+ The leader listens on `127.0.0.1` only. Its endpoints have no authentication, so other machines on the network must not reach them. If the plugin runs on another host (for example, the MCP server runs in a VM or a container), set `FIGMA_BRIDGE_HOST=0.0.0.0` (or `::`) in the MCP server environment. Use this only on a network that you trust.
263
+
240
264
  ```
241
265
  ┌─────────────────────────────────────────────────────────────────────────────┐
242
266
  │ FIGMA (Desktop app) │
@@ -2,7 +2,8 @@ import type { Node } from "./node.js";
2
2
  /**
3
3
  * Election handles leader detection and role transitions.
4
4
  *
5
- * On start it attempts to become leader (by binding the port).
5
+ * On start it becomes a follower if a healthy leader already answers.
6
+ * Otherwise it attempts to become leader (by binding the port).
6
7
  * If the port is taken and a healthy leader is found, it becomes a follower.
7
8
  * A periodic ticker monitors the leader and triggers takeover if it dies.
8
9
  */
package/dist/election.js CHANGED
@@ -2,7 +2,8 @@ import { Role } from "./types.js";
2
2
  /**
3
3
  * Election handles leader detection and role transitions.
4
4
  *
5
- * On start it attempts to become leader (by binding the port).
5
+ * On start it becomes a follower if a healthy leader already answers.
6
+ * Otherwise it attempts to become leader (by binding the port).
6
7
  * If the port is taken and a healthy leader is found, it becomes a follower.
7
8
  * A periodic ticker monitors the leader and triggers takeover if it dies.
8
9
  */
@@ -57,7 +58,12 @@ export class Election {
57
58
  }
58
59
  }
59
60
  async determineRole() {
60
- // Try to become leader first
61
+ // Ping before binding: on macOS a leader bound to a different address
62
+ // (e.g. an older version on all interfaces) does not make our bind fail.
63
+ if (await this.pingLeader()) {
64
+ this.node.becomeFollower();
65
+ return;
66
+ }
61
67
  try {
62
68
  await this.node.becomeLeader();
63
69
  return;
@@ -1 +1 @@
1
- {"version":3,"file":"election.js","sourceRoot":"","sources":["../src/election.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,IAAI,EAAE,MAAM,YAAY,CAAC;AAElC;;;;;;GAMG;AACH,MAAM,OAAO,QAAQ;IAKT;IACA;IALF,QAAQ,GAA0C,IAAI,CAAC;IACvD,SAAS,CAAS;IAE1B,YACU,IAAY,EACZ,IAAU;QADV,SAAI,GAAJ,IAAI,CAAQ;QACZ,SAAI,GAAJ,IAAI,CAAM;QAElB,IAAI,CAAC,SAAS,GAAG,oBAAoB,IAAI,EAAE,CAAC;IAC9C,CAAC;IAED,KAAK,CAAC,KAAK;QACT,yBAAyB;QACzB,MAAM,IAAI,CAAC,aAAa,EAAE,CAAC;QAE3B,mDAAmD;QACnD,MAAM,MAAM,GAAG,KAAK,GAAG,IAAI,CAAC,MAAM,EAAE,GAAG,KAAK,CAAC;QAC7C,IAAI,CAAC,QAAQ,GAAG,WAAW,CAAC,GAAG,EAAE;YAC/B,IAAI,CAAC,kBAAkB,EAAE,CAAC,KAAK,CAAC,CAAC,GAAG,EAAE,EAAE;gBACtC,OAAO,CAAC,KAAK,CAAC,uBAAuB,EAAE,GAAG,CAAC,CAAC;YAC9C,CAAC,CAAC,CAAC;QACL,CAAC,EAAE,MAAM,CAAC,CAAC;IACb,CAAC;IAED,IAAI;QACF,IAAI,IAAI,CAAC,QAAQ,EAAE,CAAC;YAClB,aAAa,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;YAC7B,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC;QACvB,CAAC;IACH,CAAC;IAEO,KAAK,CAAC,kBAAkB;QAC9B,QAAQ,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC;YACvB,KAAK,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC;gBACnB,MAAM,KAAK,GAAG,MAAM,IAAI,CAAC,UAAU,EAAE,CAAC;gBACtC,IAAI,CAAC,KAAK,EAAE,CAAC;oBACX,OAAO,CAAC,KAAK,CAAC,+CAA+C,CAAC,CAAC;oBAC/D,IAAI,CAAC;wBACH,MAAM,IAAI,CAAC,IAAI,CAAC,YAAY,EAAE,CAAC;oBACjC,CAAC;oBAAC,OAAO,GAAG,EAAE,CAAC;wBACb,OAAO,CAAC,KAAK,CAAC,0BAA0B,EAAE,GAAG,CAAC,CAAC;oBACjD,CAAC;gBACH,CAAC;gBACD,MAAM;YACR,CAAC;YACD,KAAK,IAAI,CAAC,MAAM;gBACd,oCAAoC;gBACpC,MAAM;YACR,KAAK,IAAI,CAAC,OAAO;gBACf,MAAM,IAAI,CAAC,aAAa,EAAE,CAAC;gBAC3B,MAAM;QACV,CAAC;IACH,CAAC;IAEO,KAAK,CAAC,aAAa;QACzB,6BAA6B;QAC7B,IAAI,CAAC;YACH,MAAM,IAAI,CAAC,IAAI,CAAC,YAAY,EAAE,CAAC;YAC/B,OAAO;QACT,CAAC;QAAC,MAAM,CAAC;YACP,uDAAuD;QACzD,CAAC;QAED,IAAI,MAAM,IAAI,CAAC,UAAU,EAAE,EAAE,CAAC;YAC5B,IAAI,CAAC,IAAI,CAAC,cAAc,EAAE,CAAC;QAC7B,CAAC;QACD,0CAA0C;IAC5C,CAAC;IAEO,KAAK,CAAC,UAAU;QACtB,IAAI,CAAC;YACH,MAAM,QAAQ,GAAG,MAAM,KAAK,CAAC,GAAG,IAAI,CAAC,SAAS,OAAO,EAAE;gBACrD,MAAM,EAAE,WAAW,CAAC,OAAO,CAAC,KAAK,CAAC;aACnC,CAAC,CAAC;YACH,OAAO,QAAQ,CAAC,EAAE,CAAC;QACrB,CAAC;QAAC,MAAM,CAAC;YACP,OAAO,KAAK,CAAC;QACf,CAAC;IACH,CAAC;CACF"}
1
+ {"version":3,"file":"election.js","sourceRoot":"","sources":["../src/election.ts"],"names":[],"mappings":"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"}
package/dist/index.js CHANGED
@@ -23,8 +23,27 @@ function resolvePort() {
23
23
  return port;
24
24
  }
25
25
  const PORT = resolvePort();
26
+ // The leader endpoints have no authentication and serve the open Figma
27
+ // documents, so by default only processes on this machine can reach them.
28
+ // Set an all-interfaces address (0.0.0.0 or ::) only when the plugin runs on
29
+ // another host, such as a VM or container setup. Followers reach the leader
30
+ // through localhost, so any address that localhost does not resolve to (a
31
+ // LAN IP, or another 127.x address) would leave them unable to find it.
32
+ const ALLOWED_HOSTS = ["127.0.0.1", "::1", "0.0.0.0", "::"];
33
+ function resolveHost() {
34
+ const raw = process.env.FIGMA_BRIDGE_HOST;
35
+ if (raw === undefined)
36
+ return "127.0.0.1";
37
+ const host = raw.trim();
38
+ if (!ALLOWED_HOSTS.includes(host)) {
39
+ console.error(`Invalid FIGMA_BRIDGE_HOST "${raw}" — expected one of ${ALLOWED_HOSTS.join(", ")}`);
40
+ process.exit(1);
41
+ }
42
+ return host;
43
+ }
44
+ const HOST = resolveHost();
26
45
  async function main() {
27
- const node = new Node(PORT);
46
+ const node = new Node(PORT, HOST);
28
47
  const election = new Election(PORT, node);
29
48
  await election.start();
30
49
  let transport = null;
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
package/dist/leader.d.ts CHANGED
@@ -8,9 +8,10 @@ import { Bridge } from "./bridge.js";
8
8
  */
9
9
  export declare class Leader {
10
10
  private port;
11
+ private host;
11
12
  private bridge;
12
13
  private server;
13
- constructor(port: number);
14
+ constructor(port: number, host: string);
14
15
  getBridge(): Bridge;
15
16
  start(): Promise<void>;
16
17
  private handleRPC;
package/dist/leader.js CHANGED
@@ -1,8 +1,17 @@
1
1
  import http from "node:http";
2
+ import { BlockList } from "node:net";
2
3
  import { Bridge } from "./bridge.js";
3
4
  import { validateRpc } from "./schema.js";
4
- import { executeSaveScreenshots } from "./tools.js";
5
+ import { executeSaveScreenshots, isRunScriptEnabled } from "./tools.js";
5
6
  import { VERSION } from "./version.js";
7
+ const loopback = new BlockList();
8
+ loopback.addSubnet("127.0.0.0", 8, "ipv4");
9
+ loopback.addAddress("::1", "ipv6");
10
+ const isLoopbackRequest = (req) => {
11
+ const { remoteAddress, remoteFamily } = req.socket;
12
+ return (remoteAddress !== undefined &&
13
+ loopback.check(remoteAddress, remoteFamily === "IPv6" ? "ipv6" : "ipv4"));
14
+ };
6
15
  /**
7
16
  * Leader owns the WebSocket bridge to Figma and exposes HTTP endpoints for followers.
8
17
  * Endpoints:
@@ -12,10 +21,12 @@ import { VERSION } from "./version.js";
12
21
  */
13
22
  export class Leader {
14
23
  port;
24
+ host;
15
25
  bridge;
16
26
  server = null;
17
- constructor(port) {
27
+ constructor(port, host) {
18
28
  this.port = port;
29
+ this.host = host;
19
30
  this.bridge = new Bridge();
20
31
  }
21
32
  getBridge() {
@@ -30,6 +41,13 @@ export class Leader {
30
41
  return;
31
42
  }
32
43
  if (req.url === "/rpc" && req.method === "POST") {
44
+ // Only follower processes on this machine may call /rpc: followers always reach
45
+ // the leader through localhost, even when FIGMA_BRIDGE_HOST exposes the port for
46
+ // the plugin. Browsers attach an Origin header to every POST; Node's fetch sends none.
47
+ if (req.headers.origin !== undefined || !isLoopbackRequest(req)) {
48
+ this.sendJSON(res, 403, { error: "Forbidden" });
49
+ return;
50
+ }
33
51
  this.handleRPC(req, res);
34
52
  return;
35
53
  }
@@ -56,9 +74,9 @@ export class Leader {
56
74
  reject(err); // reject if during startup
57
75
  }
58
76
  });
59
- server.listen(this.port, () => {
77
+ server.listen(this.port, this.host, () => {
60
78
  this.server = server;
61
- console.error(`Leader listening on :${this.port}`);
79
+ console.error(`Leader listening on ${this.host}:${this.port}`);
62
80
  resolve();
63
81
  });
64
82
  });
@@ -78,6 +96,14 @@ export class Leader {
78
96
  });
79
97
  return;
80
98
  }
99
+ // Followers register run_script from their own env, so the leader, which owns
100
+ // the plugin connection, must enforce the opt-in as well.
101
+ if (rpcReq.tool === "run_script" && !isRunScriptEnabled()) {
102
+ this.sendJSON(res, 403, {
103
+ error: "run_script is disabled: the bridge process connected to Figma was started without FIGMA_BRIDGE_ENABLE_RUN_SCRIPT=1. Set it in every MCP client config that runs the bridge, then restart them.",
104
+ });
105
+ return;
106
+ }
81
107
  const validation = validateRpc(rpcReq.tool, rpcReq.nodeIds, rpcReq.params);
82
108
  if (validation.error) {
83
109
  this.sendJSON(res, 400, { error: validation.error });
@@ -1 +1 @@
1
- {"version":3,"file":"leader.js","sourceRoot":"","sources":["../src/leader.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"leader.js","sourceRoot":"","sources":["../src/leader.ts"],"names":[],"mappings":"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"}
package/dist/node.d.ts CHANGED
@@ -6,10 +6,11 @@ import type { BridgeResponse, ConnectedFile } from "./types.js";
6
6
  */
7
7
  export declare class Node {
8
8
  private port;
9
+ private host;
9
10
  private _role;
10
11
  private leader;
11
12
  private follower;
12
- constructor(port: number);
13
+ constructor(port: number, host: string);
13
14
  get role(): Role;
14
15
  get roleName(): string;
15
16
  send(requestType: string, nodeIds?: string[], fileKey?: string): Promise<BridgeResponse>;
package/dist/node.js CHANGED
@@ -7,11 +7,13 @@ import { Role } from "./types.js";
7
7
  */
8
8
  export class Node {
9
9
  port;
10
+ host;
10
11
  _role = Role.Unknown;
11
12
  leader = null;
12
13
  follower;
13
- constructor(port) {
14
+ constructor(port, host) {
14
15
  this.port = port;
16
+ this.host = host;
15
17
  this.follower = new Follower(`http://localhost:${port}`);
16
18
  }
17
19
  get role() {
@@ -46,7 +48,7 @@ export class Node {
46
48
  async becomeLeader() {
47
49
  if (this._role === Role.Leader)
48
50
  return;
49
- const leader = new Leader(this.port);
51
+ const leader = new Leader(this.port, this.host);
50
52
  await leader.start();
51
53
  this.leader = leader;
52
54
  this._role = Role.Leader;
package/dist/node.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"node.js","sourceRoot":"","sources":["../src/node.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"node.js","sourceRoot":"","sources":["../src/node.ts"],"names":[],"mappings":"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"}
package/dist/schema.d.ts CHANGED
@@ -1,4 +1,5 @@
1
1
  import { z } from "zod";
2
+ export declare const MAX_SVG_BYTES: number;
2
3
  export declare const setGradientFillInput: z.ZodObject<{
3
4
  nodeId: z.ZodString;
4
5
  gradientType: z.ZodOptional<z.ZodEnum<["LINEAR", "RADIAL", "ANGULAR", "DIAMOND"]>>;
@@ -1755,6 +1756,34 @@ export declare const createImageInput: z.ZodObject<{
1755
1756
  parentId?: string | undefined;
1756
1757
  scaleMode?: "FILL" | "FIT" | undefined;
1757
1758
  }>;
1759
+ export declare const createSvgInput: z.ZodObject<{
1760
+ source: z.ZodString;
1761
+ name: z.ZodOptional<z.ZodString>;
1762
+ parentId: z.ZodOptional<z.ZodString>;
1763
+ x: z.ZodOptional<z.ZodNumber>;
1764
+ y: z.ZodOptional<z.ZodNumber>;
1765
+ width: z.ZodOptional<z.ZodNumber>;
1766
+ height: z.ZodOptional<z.ZodNumber>;
1767
+ fileKey: z.ZodOptional<z.ZodString>;
1768
+ }, "strip", z.ZodTypeAny, {
1769
+ source: string;
1770
+ fileKey?: string | undefined;
1771
+ name?: string | undefined;
1772
+ x?: number | undefined;
1773
+ y?: number | undefined;
1774
+ width?: number | undefined;
1775
+ height?: number | undefined;
1776
+ parentId?: string | undefined;
1777
+ }, {
1778
+ source: string;
1779
+ fileKey?: string | undefined;
1780
+ name?: string | undefined;
1781
+ x?: number | undefined;
1782
+ y?: number | undefined;
1783
+ width?: number | undefined;
1784
+ height?: number | undefined;
1785
+ parentId?: string | undefined;
1786
+ }>;
1758
1787
  export declare const importHtmlLayersInput: z.ZodObject<{
1759
1788
  source: z.ZodString;
1760
1789
  name: z.ZodOptional<z.ZodString>;
@@ -3166,6 +3195,34 @@ export declare const toolInputSchemas: {
3166
3195
  parentId?: string | undefined;
3167
3196
  scaleMode?: "FILL" | "FIT" | undefined;
3168
3197
  }>;
3198
+ readonly create_svg: z.ZodObject<{
3199
+ source: z.ZodString;
3200
+ name: z.ZodOptional<z.ZodString>;
3201
+ parentId: z.ZodOptional<z.ZodString>;
3202
+ x: z.ZodOptional<z.ZodNumber>;
3203
+ y: z.ZodOptional<z.ZodNumber>;
3204
+ width: z.ZodOptional<z.ZodNumber>;
3205
+ height: z.ZodOptional<z.ZodNumber>;
3206
+ fileKey: z.ZodOptional<z.ZodString>;
3207
+ }, "strip", z.ZodTypeAny, {
3208
+ source: string;
3209
+ fileKey?: string | undefined;
3210
+ name?: string | undefined;
3211
+ x?: number | undefined;
3212
+ y?: number | undefined;
3213
+ width?: number | undefined;
3214
+ height?: number | undefined;
3215
+ parentId?: string | undefined;
3216
+ }, {
3217
+ source: string;
3218
+ fileKey?: string | undefined;
3219
+ name?: string | undefined;
3220
+ x?: number | undefined;
3221
+ y?: number | undefined;
3222
+ width?: number | undefined;
3223
+ height?: number | undefined;
3224
+ parentId?: string | undefined;
3225
+ }>;
3169
3226
  readonly import_html_layers: z.ZodObject<{
3170
3227
  source: z.ZodString;
3171
3228
  name: z.ZodOptional<z.ZodString>;
@@ -3550,6 +3607,19 @@ export declare const toolInputSchemas: {
3550
3607
  confirm: boolean;
3551
3608
  fileKey?: string | undefined;
3552
3609
  }>;
3610
+ readonly run_script: z.ZodObject<{
3611
+ code: z.ZodString;
3612
+ allowRemove: z.ZodOptional<z.ZodBoolean>;
3613
+ fileKey: z.ZodOptional<z.ZodString>;
3614
+ }, "strip", z.ZodTypeAny, {
3615
+ code: string;
3616
+ fileKey?: string | undefined;
3617
+ allowRemove?: boolean | undefined;
3618
+ }, {
3619
+ code: string;
3620
+ fileKey?: string | undefined;
3621
+ allowRemove?: boolean | undefined;
3622
+ }>;
3553
3623
  readonly save_screenshots: z.ZodObject<{
3554
3624
  items: z.ZodArray<z.ZodObject<{
3555
3625
  nodeId: z.ZodString;
package/dist/schema.js CHANGED
@@ -1,4 +1,5 @@
1
1
  import { z } from "zod";
2
+ export const MAX_SVG_BYTES = 2 * 1024 * 1024;
2
3
  /**
3
4
  * Figma node IDs:
4
5
  * - top-level node: "4029:12345"
@@ -622,6 +623,21 @@ export const createImageInput = z.object({
622
623
  .describe("How the image should fit its bounds: FILL (default) or FIT"),
623
624
  fileKey: fileKeyField,
624
625
  });
626
+ export const createSvgInput = z.object({
627
+ source: z
628
+ .string()
629
+ .min(1)
630
+ .describe("SVG source. Accepts raw <svg> markup or a local SVG file path inside the MCP server working directory."),
631
+ name: z.string().optional().describe("Optional SVG node name"),
632
+ parentId: createFigmaNodeIdSchema()
633
+ .optional()
634
+ .describe("Optional parent node ID to append the editable SVG into"),
635
+ x: z.number().optional().describe("Optional x position"),
636
+ y: z.number().optional().describe("Optional y position"),
637
+ width: z.number().positive().optional().describe("Optional width"),
638
+ height: z.number().positive().optional().describe("Optional height"),
639
+ fileKey: fileKeyField,
640
+ });
625
641
  /**
626
642
  * A serialized layer tree produced by html-figma's browser `htmlToFigma()`.
627
643
  * The tree is validated loosely here (root must at least carry a node type);
@@ -812,6 +828,7 @@ export const toolInputSchemas = {
812
828
  create_shape: createShapeInput,
813
829
  create_shape_with_text: createShapeWithTextInput,
814
830
  create_image: createImageInput,
831
+ create_svg: createSvgInput,
815
832
  import_html_layers: importHtmlLayersInput,
816
833
  create_sticky: z.object({
817
834
  name: z.string().optional().describe("Optional sticky note name"),
@@ -853,6 +870,17 @@ export const toolInputSchemas = {
853
870
  confirm: z.boolean().describe("Must be true to confirm deletion"),
854
871
  fileKey: fileKeyField,
855
872
  }),
873
+ run_script: z.object({
874
+ code: z
875
+ .string()
876
+ .min(1)
877
+ .describe("Body of an async function run in the plugin sandbox with `figma` in scope. Use `return` to send a JSON-serializable result back."),
878
+ allowRemove: z
879
+ .boolean()
880
+ .optional()
881
+ .describe("Must be true when the code calls .remove(); otherwise the script is rejected"),
882
+ fileKey: fileKeyField,
883
+ }),
856
884
  save_screenshots: z.object({
857
885
  items: z
858
886
  .array(z.object({
@@ -952,6 +980,13 @@ const createImageRpcInput = createImageInput.omit({ source: true, fileKey: true
952
980
  .min(1)
953
981
  .describe("Base64-encoded image bytes, resolved from `source` by the tool handler"),
954
982
  });
983
+ const createSvgRpcInput = createSvgInput.omit({ source: true, fileKey: true }).extend({
984
+ svgText: z
985
+ .string()
986
+ .min(1)
987
+ .refine((value) => Buffer.byteLength(value, "utf8") <= MAX_SVG_BYTES, `SVG source exceeds the ${MAX_SVG_BYTES} byte bridge limit`)
988
+ .describe("SVG markup resolved from source by the tool handler"),
989
+ });
955
990
  /**
956
991
  * Schemas the RPC path validates against. Tools whose handlers rewrite the
957
992
  * payload before forwarding validate their wire shape here; every other tool
@@ -970,6 +1005,7 @@ const importHtmlLayersRpcInput = importHtmlLayersInput
970
1005
  const rpcInputSchemas = {
971
1006
  ...toolInputSchemas,
972
1007
  create_image: createImageRpcInput,
1008
+ create_svg: createSvgRpcInput,
973
1009
  import_html_layers: importHtmlLayersRpcInput,
974
1010
  };
975
1011
  /**
@@ -1011,6 +1047,7 @@ const rpcToArgs = {
1011
1047
  create_shape: (_nodeIds, params) => ({ ...params }),
1012
1048
  create_shape_with_text: (_nodeIds, params) => ({ ...params }),
1013
1049
  create_image: (_nodeIds, params) => ({ ...params }),
1050
+ create_svg: (_nodeIds, params) => ({ ...params }),
1014
1051
  import_html_layers: (_nodeIds, params) => ({ ...params }),
1015
1052
  create_sticky: (_nodeIds, params) => ({ ...params }),
1016
1053
  create_connector: (_nodeIds, params) => ({ ...params }),
@@ -1028,6 +1065,7 @@ const rpcToArgs = {
1028
1065
  set_selection: (nodeIds, params) => ({ nodeIds, ...params }),
1029
1066
  scroll_and_zoom_into_view: (nodeIds, params) => ({ nodeIds, ...params }),
1030
1067
  delete_nodes: (nodeIds, params) => ({ nodeIds, ...params }),
1068
+ run_script: (_nodeIds, params) => ({ ...params }),
1031
1069
  save_screenshots: (_nodeIds, params) => ({ ...params }),
1032
1070
  get_motion_styles: (_nodeIds, params) => ({ ...params }),
1033
1071
  get_node_motion: (nodeIds, params) => ({ ...params, nodeId: nodeIds?.[0] }),
@@ -1 +1 @@
1
- {"version":3,"file":"schema.js","sourceRoot":"","sources":["../src/schema.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAGxB;;;;;;;GAOG;AAEH;;;GAGG;AACH,MAAM,uBAAuB,GAAG,GAAG,EAAE,CACnC,CAAC;KACE,MAAM,EAAE;KACR,KAAK,CACJ,iCAAiC,EACjC,uGAAuG,CACxG,CAAC;AAEN;;;GAGG;AACH,MAAM,wBAAwB,GAAG,GAAG,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,CAAC,CAAC,CAAC;AAE5E;;;GAGG;AACH,MAAM,oBAAoB,GAAG,GAAG,EAAE,CAChC,CAAC;KACE,MAAM,EAAE;KACR,KAAK,CAAC,sCAAsC,EAAE,0CAA0C,CAAC,CAAC;AAC/F,MAAM,mBAAmB,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC,MAAM,EAAE,QAAQ,EAAE,OAAO,EAAE,WAAW,CAAC,CAAC,CAAC;AAC7E,MAAM,iBAAiB,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC,KAAK,EAAE,QAAQ,EAAE,QAAQ,CAAC,CAAC,CAAC;AAC9D,MAAM,cAAc,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC,MAAM,EAAE,kBAAkB,EAAE,QAAQ,EAAE,UAAU,CAAC,CAAC,CAAC;AAClF,MAAM,SAAS,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC,WAAW,EAAE,SAAS,EAAE,MAAM,CAAC,CAAC,CAAC;AAI3D,MAAM,kBAAkB,GAAG;IACzB,QAAQ;IACR,SAAS;IACT,mBAAmB;IACnB,SAAS;IACT,aAAa;IACb,eAAe;IACf,qBAAqB;IACrB,oBAAoB;IACpB,cAAc;IACd,WAAW;IACX,UAAU;IACV,YAAY;IACZ,WAAW;IACX,oBAAoB;IACpB,QAAQ;IACR,iBAAiB;IACjB,mBAAmB;IACnB,cAAc;IACd,SAAS;IACT,SAAS;IACT,UAAU;IACV,SAAS;IACT,MAAM;IACN,MAAM;IACN,YAAY;IACZ,aAAa;IACb,kBAAkB;IAClB,IAAI;IACJ,eAAe;IACf,kBAAkB;CAC2B,CAAC;AAIhD,MAAM,mBAAmB,GAAmE,IAAI,CAAC;AAEjG,MAAM,eAAe,GAAG,CAAC,CAAC,IAAI,CAAC,kBAAkB,CAAC,CAAC;AACnD,MAAM,cAAc,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC,CAAC;AAE/C,MAAM,YAAY,GAAG,CAAC;KACnB,MAAM,EAAE;KACR,QAAQ,EAAE;KACV,QAAQ,CACP,4HAA4H,CAC7H,CAAC;AAEJ,MAAM,YAAY,GAAG,CAAC,CAAC,MAAM,CAAC;IAC5B,QAAQ,EAAE,CAAC;SACR,MAAM,EAAE;SACR,GAAG,CAAC,CAAC,CAAC;SACN,GAAG,CAAC,CAAC,CAAC;SACN,QAAQ,CAAC,qDAAqD,CAAC;IAClE,GAAG,EAAE,oBAAoB,EAAE,CAAC,QAAQ,CAAC,mBAAmB,CAAC;IACzD,OAAO,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,qCAAqC,CAAC;CAC7F,CAAC,CAAC;AAEH,MAAM,iBAAiB,GAAG,CAAC;KACxB,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;KACpC,MAAM,CAAC,CAAC,CAAC;KACT,QAAQ,CACP,2JAA2J,CAC5J,CAAC;AAEJ,MAAM,CAAC,MAAM,oBAAoB,GAAG,CAAC,CAAC,MAAM,CAAC;IAC3C,MAAM,EAAE,uBAAuB,EAAE,CAAC,QAAQ,CAAC,uBAAuB,CAAC;IACnE,YAAY,EAAE,CAAC;SACZ,IAAI,CAAC,CAAC,QAAQ,EAAE,QAAQ,EAAE,SAAS,EAAE,SAAS,CAAC,CAAC;SAChD,QAAQ,EAAE;SACV,QAAQ,CAAC,kCAAkC,CAAC;IAC/C,aAAa,EAAE,CAAC;SACb,KAAK,CAAC,YAAY,CAAC;SACnB,GAAG,CAAC,CAAC,CAAC;SACN,QAAQ,CAAC,mDAAmD,CAAC;IAChE,iBAAiB,EAAE,iBAAiB,CAAC,QAAQ,EAAE;IAC/C,OAAO,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,mCAAmC,CAAC;IAC1F,MAAM,EAAE,CAAC;SACN,IAAI,CAAC,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAC;SACxB,QAAQ,EAAE;SACV,QAAQ,CAAC,0CAA0C,CAAC;IACvD,OAAO,EAAE,YAAY;CACtB,CAAC,CAAC;AAEH,MAAM,CAAC,MAAM,sBAAsB,GAAG,CAAC,CAAC,MAAM,CAAC;IAC7C,MAAM,EAAE,uBAAuB,EAAE;SAC9B,QAAQ,EAAE;SACV,QAAQ,CAAC,0DAA0D,CAAC;IACvE,OAAO,EAAE,CAAC;SACP,KAAK,CAAC,uBAAuB,EAAE,CAAC;SAChC,GAAG,CAAC,CAAC,CAAC;SACN,QAAQ,EAAE;SACV,QAAQ,CACP,4FAA4F,CAC7F;IACH,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,wBAAwB,CAAC;IAC9D,CAAC,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,qBAAqB,CAAC;IACxD,CAAC,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,qBAAqB,CAAC;IACxD,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,gBAAgB,CAAC;IAClE,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,iBAAiB,CAAC;IACpE,QAAQ,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,8BAA8B,CAAC;IACxE,OAAO,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,8BAA8B,CAAC;IACrF,OAAO,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,qBAAqB,CAAC;IAC/D,YAAY,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,wBAAwB,CAAC;IAC7E,OAAO,EAAE,YAAY;CACtB,CAAC,CAAC;AAEH,MAAM,CAAC,MAAM,sBAAsB,GAAG,sBAAsB;KACzD,MAAM,CACL,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,MAAM,KAAK,SAAS,IAAI,KAAK,CAAC,OAAO,KAAK,SAAS,EACpE,sCAAsC,CACvC;KACA,MAAM,CACL,CAAC,KAAK,EAAE,EAAE,CACR,KAAK,CAAC,IAAI,KAAK,SAAS;IACxB,KAAK,CAAC,CAAC,KAAK,SAAS;IACrB,KAAK,CAAC,CAAC,KAAK,SAAS;IACrB,KAAK,CAAC,KAAK,KAAK,SAAS;IACzB,KAAK,CAAC,MAAM,KAAK,SAAS;IAC1B,KAAK,CAAC,QAAQ,KAAK,SAAS;IAC5B,KAAK,CAAC,OAAO,KAAK,SAAS;IAC3B,KAAK,CAAC,OAAO,KAAK,SAAS;IAC3B,KAAK,CAAC,YAAY,KAAK,SAAS,EAClC,wCAAwC,CACzC,CAAC;AAEJ,MAAM,eAAe,GAAG,CAAC;KACtB,IAAI,CAAC,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAC;KACxB,QAAQ,EAAE;KACV,QAAQ,CAAC,0CAA0C,CAAC,CAAC;AAExD;;;;GAIG;AACH,MAAM,CAAC,MAAM,iBAAiB,GAAG,CAAC,CAAC,MAAM,CAAC;IACxC,MAAM,EAAE,uBAAuB,EAAE,CAAC,QAAQ,CAAC,uBAAuB,CAAC;IACnE,GAAG,EAAE,oBAAoB,EAAE;SACxB,QAAQ,EAAE;SACV,QAAQ,CAAC,wEAAwE,CAAC;IACrF,OAAO,EAAE,oBAAoB,EAAE;SAC5B,QAAQ,EAAE;SACV,QAAQ,CAAC,oEAAoE,CAAC;IACjF,OAAO,EAAE,CAAC;SACP,MAAM,EAAE;SACR,GAAG,CAAC,CAAC,CAAC;SACN,GAAG,CAAC,CAAC,CAAC;SACN,QAAQ,EAAE;SACV,QAAQ,CAAC,gDAAgD,CAAC;IAC7D,WAAW,EAAE,CAAC;SACX,MAAM,EAAE;SACR,GAAG,CAAC,CAAC,CAAC;SACN,GAAG,CAAC,CAAC,CAAC;SACN,QAAQ,EAAE;SACV,QAAQ,CAAC,gDAAgD,CAAC;IAC7D,MAAM,EAAE,eAAe;IACvB,OAAO,EAAE,YAAY;CACtB,CAAC,CAAC;AAEH;;;;GAIG;AACH,MAAM,CAAC,MAAM,iBAAiB,GAAG,iBAAiB,CAAC,SAAS,CAC1D,CAAC,EAAE,OAAO,EAAE,WAAW,EAAE,GAAG,IAAI,EAAE,EAAE,GAAG,EAAE,EAAE;IACzC,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,IAAI,OAAO,CAAC;IAChC,IAAI,GAAG,KAAK,SAAS,EAAE,CAAC;QACtB,GAAG,CAAC,QAAQ,CAAC;YACX,IAAI,EAAE,CAAC,CAAC,YAAY,CAAC,MAAM;YAC3B,IAAI,EAAE,CAAC,KAAK,CAAC;YACb,OAAO,EAAE,mDAAmD;SAC7D,CAAC,CAAC;QACH,OAAO,CAAC,CAAC,KAAK,CAAC;IACjB,CAAC;IACD,OAAO,EAAE,GAAG,IAAI,EAAE,GAAG,EAAE,OAAO,EAAE,IAAI,CAAC,OAAO,IAAI,WAAW,EAAE,CAAC;AAChE,CAAC,CACF,CAAC;AAEF,MAAM,SAAS,GAAG,CAAC,CAAC,IAAI,CAAC;IACvB,cAAc;IACd,QAAQ;IACR,QAAQ;IACR,UAAU;IACV,aAAa;IACb,YAAY;IACZ,SAAS;IACT,QAAQ;IACR,cAAc;IACd,aAAa;IACb,SAAS;IACT,YAAY;IACZ,YAAY;IACZ,YAAY;IACZ,WAAW;IACX,KAAK;IACL,YAAY;IACZ,OAAO;IACP,YAAY;CACb,CAAC,CAAC;AAEH,MAAM,YAAY,GAAG,CAAC,CAAC,MAAM,CAAC;IAC5B,IAAI,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,aAAa,EAAE,cAAc,CAAC,CAAC;IAC7C,KAAK,EAAE,oBAAoB,EAAE,CAAC,QAAQ,CAAC,qBAAqB,CAAC;IAC7D,OAAO,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,+BAA+B,CAAC;IACtF,MAAM,EAAE,CAAC;SACN,MAAM,CAAC;QACN,CAAC,EAAE,CAAC,CAAC,MAAM,EAAE;QACb,CAAC,EAAE,CAAC,CAAC,MAAM,EAAE;KACd,CAAC;SACD,QAAQ,CAAC,yBAAyB,CAAC;IACtC,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,oBAAoB,CAAC;IACxD,MAAM,EAAE,CAAC;SACN,MAAM,EAAE;SACR,QAAQ,EAAE;SACV,QAAQ,CACP,8IAA8I,CAC/I;IACH,SAAS,EAAE,SAAS,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,gBAAgB,CAAC;IAC1D,OAAO,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,cAAc,CAAC;CACzD,CAAC,CAAC;AAEH,MAAM,UAAU,GAAG,CAAC,CAAC,MAAM,CAAC;IAC1B,IAAI,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,YAAY,EAAE,iBAAiB,CAAC,CAAC;IAC/C,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,oBAAoB,CAAC;IACxD,OAAO,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,cAAc,CAAC;CACzD,CAAC,CAAC;AAEH,MAAM,WAAW,GAAG,CAAC,CAAC,MAAM,CAAC;IAC3B,IAAI,EAAE,CAAC;SACJ,IAAI,CAAC,CAAC,aAAa,EAAE,cAAc,EAAE,YAAY,EAAE,iBAAiB,CAAC,CAAC;SACtE,QAAQ,CAAC,aAAa,CAAC;IAC1B,KAAK,EAAE,oBAAoB,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,6BAA6B,CAAC;IAChF,OAAO,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,+BAA+B,CAAC;IACtF,MAAM,EAAE,CAAC;SACN,MAAM,CAAC;QACN,CAAC,EAAE,CAAC,CAAC,MAAM,EAAE;QACb,CAAC,EAAE,CAAC,CAAC,MAAM,EAAE;KACd,CAAC;SACD,QAAQ,EAAE;SACV,QAAQ,CAAC,6BAA6B,CAAC;IAC1C,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,sBAAsB,CAAC;IACrE,MAAM,EAAE,CAAC;SACN,MAAM,EAAE;SACR,QAAQ,EAAE;SACV,QAAQ,CACP,8IAA8I,CAC/I;IACH,SAAS,EAAE,SAAS,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,gBAAgB,CAAC;IAC1D,OAAO,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,cAAc,CAAC;CACzD,CAAC,CAAC;AAEH,MAAM,mBAAmB,GAAG,CAAC,CAAC,kBAAkB,CAAC,MAAM,EAAE,CAAC,YAAY,EAAE,UAAU,CAAC,CAAC,CAAC;AAErF,MAAM,CAAC,MAAM,iBAAiB,GAAG,CAAC,CAAC,MAAM,CAAC;IACxC,OAAO,EAAE,CAAC;SACP,KAAK,CAAC,uBAAuB,EAAE,CAAC;SAChC,QAAQ,CAAC,qDAAqD,CAAC;IAClE,OAAO,EAAE,YAAY;CACtB,CAAC,CAAC;AAEH,MAAM,CAAC,MAAM,0BAA0B,GAAG,CAAC,CAAC,MAAM,CAAC;IACjD,OAAO,EAAE,CAAC,CAAC,KAAK,CAAC,uBAAuB,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,mCAAmC,CAAC;IAChG,OAAO,EAAE,YAAY;CACtB,CAAC,CAAC;AAEH,MAAM,CAAC,MAAM,eAAe,GAAG,CAAC,CAAC,MAAM,CAAC;IACtC,OAAO,EAAE,CAAC;SACP,KAAK,CAAC,uBAAuB,EAAE,CAAC;SAChC,GAAG,CAAC,CAAC,CAAC;SACN,QAAQ,CAAC,gDAAgD,CAAC;IAC7D,QAAQ,EAAE,uBAAuB,EAAE;SAChC,QAAQ,EAAE;SACV,QAAQ,CACP,+FAA+F,CAChG;IACH,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,iCAAiC,CAAC;IACvE,OAAO,EAAE,YAAY;CACtB,CAAC,CAAC;AAEH,MAAM,CAAC,MAAM,gBAAgB,GAAG,CAAC,CAAC,MAAM,CAAC;IACvC,MAAM,EAAE,uBAAuB,EAAE,CAAC,QAAQ,CACxC,uFAAuF,CACxF;IACD,OAAO,EAAE,YAAY;CACtB,CAAC,CAAC;AAEH,MAAM,CAAC,MAAM,eAAe,GAAG,CAAC,CAAC,MAAM,CAAC;IACtC,MAAM,EAAE,uBAAuB,EAAE,CAAC,QAAQ,CAAC,uBAAuB,CAAC;IACnE,OAAO,EAAE,CAAC;SACP,KAAK,CAAC,WAAW,CAAC;SAClB,QAAQ,CACP,+HAA+H,CAChI;IACH,OAAO,EAAE,YAAY;CACtB,CAAC,CAAC;AAEH,MAAM,CAAC,MAAM,eAAe,GAAG,eAAe,CAAC,WAAW,CAAC,CAAC,KAAK,EAAE,GAAG,EAAE,EAAE;IACxE,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,MAAM,EAAE,KAAK,EAAE,EAAE;QACtC,MAAM,MAAM,GAAG,mBAAmB,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC;QACrD,IAAI,MAAM,CAAC,OAAO;YAAE,OAAO;QAE3B,KAAK,MAAM,KAAK,IAAI,MAAM,CAAC,KAAK,CAAC,MAAM,EAAE,CAAC;YACxC,GAAG,CAAC,QAAQ,CAAC;gBACX,GAAG,KAAK;gBACR,IAAI,EAAE,CAAC,SAAS,EAAE,KAAK,EAAE,GAAG,KAAK,CAAC,IAAI,CAAC;aACxC,CAAC,CAAC;QACL,CAAC;IACH,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC;AAEH,MAAM,CAAC,MAAM,wBAAwB,GAAG,CAAC,CAAC,MAAM,CAAC;IAC/C,MAAM,EAAE,uBAAuB,EAAE,CAAC,QAAQ,CAAC,uBAAuB,CAAC;IACnE,YAAY,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,4BAA4B,CAAC;IACjF,WAAW,EAAE,CAAC;SACX,IAAI,CAAC,CAAC,QAAQ,EAAE,SAAS,EAAE,QAAQ,CAAC,CAAC;SACrC,QAAQ,EAAE;SACV,QAAQ,CAAC,4DAA4D,CAAC;IACzE,WAAW,EAAE,CAAC;SACX,KAAK,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;SACxB,QAAQ,EAAE;SACV,QAAQ,CAAC,oFAAoF,CAAC;IACjG,SAAS,EAAE,CAAC;SACT,IAAI,CAAC,CAAC,MAAM,EAAE,OAAO,EAAE,QAAQ,EAAE,aAAa,EAAE,mBAAmB,CAAC,CAAC;SACrE,QAAQ,EAAE;SACV,QAAQ,CAAC,qDAAqD,CAAC;IAClE,UAAU,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,OAAO,EAAE,OAAO,EAAE,OAAO,CAAC,CAAC,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,mBAAmB,CAAC;IACxF,OAAO,EAAE,YAAY;CACtB,CAAC,CAAC;AAEH,MAAM,CAAC,MAAM,kBAAkB,GAAG,CAAC,CAAC,MAAM,CAAC;IACzC,MAAM,EAAE,uBAAuB,EAAE,CAAC,QAAQ,CAAC,yCAAyC,CAAC;IACrF,UAAU,EAAE,CAAC;SACV,IAAI,CAAC,CAAC,MAAM,EAAE,YAAY,EAAE,UAAU,CAAC,CAAC;SACxC,QAAQ,EAAE;SACV,QAAQ,CAAC,qDAAqD,CAAC;IAClE,WAAW,EAAE,CAAC;SACX,MAAM,EAAE;SACR,QAAQ,EAAE;SACV,QAAQ,CAAC,sDAAsD,CAAC;IACnE,kBAAkB,EAAE,CAAC;SAClB,MAAM,EAAE;SACR,QAAQ,EAAE;SACV,QAAQ,CAAC,8DAA8D,CAAC;IAC3E,UAAU,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,QAAQ,EAAE;IACxC,YAAY,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,QAAQ,EAAE;IAC1C,aAAa,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,QAAQ,EAAE;IAC3C,WAAW,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,QAAQ,EAAE;IACzC,qBAAqB,EAAE,CAAC;SACrB,IAAI,CAAC,CAAC,KAAK,EAAE,KAAK,EAAE,QAAQ,EAAE,eAAe,CAAC,CAAC;SAC/C,QAAQ,EAAE;SACV,QAAQ,CAAC,kCAAkC,CAAC;IAC/C,qBAAqB,EAAE,CAAC;SACrB,IAAI,CAAC,CAAC,KAAK,EAAE,KAAK,EAAE,QAAQ,EAAE,UAAU,CAAC,CAAC;SAC1C,QAAQ,EAAE;SACV,QAAQ,CAAC,kCAAkC,CAAC;IAC/C,qBAAqB,EAAE,CAAC;SACrB,IAAI,CAAC,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC;SACvB,QAAQ,EAAE;SACV,QAAQ,CAAC,wCAAwC,CAAC;IACrD,qBAAqB,EAAE,CAAC;SACrB,IAAI,CAAC,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC;SACvB,QAAQ,EAAE;SACV,QAAQ,CAAC,wCAAwC,CAAC;IACrD,UAAU,EAAE,CAAC;SACV,IAAI,CAAC,CAAC,SAAS,EAAE,MAAM,CAAC,CAAC;SACzB,QAAQ,EAAE;SACV,QAAQ,CAAC,mDAAmD,CAAC;IAChE,OAAO,EAAE,YAAY;CACtB,CAAC,CAAC;AAEH,MAAM,CAAC,MAAM,eAAe,GAAG,CAAC,CAAC,MAAM,CAAC;IACtC,IAAI,EAAE,CAAC;SACJ,MAAM,EAAE;SACR,IAAI,EAAE;SACN,GAAG,CAAC,CAAC,CAAC;SACN,QAAQ,EAAE;SACV,QAAQ,CAAC,mDAAmD,CAAC;IAChE,YAAY,EAAE,CAAC;SACZ,OAAO,EAAE;SACT,QAAQ,EAAE;SACV,QAAQ,CAAC,gFAAgF,CAAC;IAC7F,OAAO,EAAE,YAAY;CACtB,CAAC,CAAC;AAEH,MAAM,CAAC,MAAM,gBAAgB,GAAG,CAAC,CAAC,MAAM,CAAC;IACvC,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,qBAAqB,CAAC;IAC3D,QAAQ,EAAE,uBAAuB,EAAE;SAChC,QAAQ,EAAE;SACV,QAAQ,CAAC,kDAAkD,CAAC;IAC/D,CAAC,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,qBAAqB,CAAC;IACxD,CAAC,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,qBAAqB,CAAC;IACxD,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,aAAa,CAAC;IAC/D,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,cAAc,CAAC;IACjE,OAAO,EAAE,oBAAoB,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,kCAAkC,CAAC;IACvF,WAAW,EAAE,CAAC;SACX,MAAM,EAAE;SACR,GAAG,CAAC,CAAC,CAAC;SACN,GAAG,CAAC,CAAC,CAAC;SACN,QAAQ,EAAE;SACV,QAAQ,CAAC,yCAAyC,CAAC;IACtD,OAAO,EAAE,YAAY;CACtB,CAAC,CAAC;AAEH,MAAM,CAAC,MAAM,kBAAkB,GAAG,CAAC,CAAC,MAAM,CAAC;IACzC,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,uBAAuB,CAAC;IAC7D,QAAQ,EAAE,uBAAuB,EAAE;SAChC,QAAQ,EAAE;SACV,QAAQ,CAAC,oDAAoD,CAAC;IACjE,CAAC,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,qBAAqB,CAAC;IACxD,CAAC,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,qBAAqB,CAAC;IACxD,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,6BAA6B,CAAC;IAC/E,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,8BAA8B,CAAC;IACjF,OAAO,EAAE,oBAAoB,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,kCAAkC,CAAC;IACvF,WAAW,EAAE,CAAC;SACX,MAAM,EAAE;SACR,GAAG,CAAC,CAAC,CAAC;SACN,GAAG,CAAC,CAAC,CAAC;SACN,QAAQ,EAAE;SACV,QAAQ,CAAC,yCAAyC,CAAC;IACtD,qBAAqB,EAAE,CAAC;SACrB,OAAO,EAAE;SACT,QAAQ,EAAE;SACV,QAAQ,CAAC,qDAAqD,CAAC;IAClE,OAAO,EAAE,YAAY;CACtB,CAAC,CAAC;AAEH,MAAM,CAAC,MAAM,kBAAkB,GAAG,kBAAkB,CAAC,MAAM,CACzD,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,WAAW,KAAK,SAAS,IAAI,KAAK,CAAC,OAAO,KAAK,SAAS,EACzE,kDAAkD,CACnD,CAAC;AAEF,MAAM,eAAe,GAAG,CAAC;KACtB,IAAI,CAAC,CAAC,KAAK,EAAE,QAAQ,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,CAAC,CAAC;KAChD,QAAQ,CAAC,qDAAqD,CAAC,CAAC;AAEnE,MAAM,CAAC,MAAM,mBAAmB,GAAG,CAAC,CAAC,MAAM,CAAC;IAC1C,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,yBAAyB,CAAC;IAC/D,QAAQ,EAAE,uBAAuB,EAAE;SAChC,QAAQ,EAAE;SACV,QAAQ,CAAC,sDAAsD,CAAC;IACnE,WAAW,EAAE,uBAAuB,EAAE;SACnC,QAAQ,EAAE;SACV,QAAQ,CAAC,uCAAuC,CAAC;IACpD,SAAS,EAAE,uBAAuB,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,mCAAmC,CAAC;IAC7F,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,qDAAqD,CAAC;IAC7F,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,qDAAqD,CAAC;IAC7F,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,iDAAiD,CAAC;IACvF,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,iDAAiD,CAAC;IACvF,WAAW,EAAE,eAAe;SACzB,QAAQ,EAAE;SACV,QAAQ,CAAC,wEAAwE,CAAC;IACrF,SAAS,EAAE,eAAe;SACvB,QAAQ,EAAE;SACV,QAAQ,CAAC,oEAAoE,CAAC;IACjF,YAAY,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,kCAAkC,CAAC;IAC3F,SAAS,EAAE,oBAAoB,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,wCAAwC,CAAC;IAC/F,OAAO,EAAE,YAAY;CACtB,CAAC,CAAC;AAEH,MAAM,CAAC,MAAM,oBAAoB,GAAG,mBAAmB;KACpD,MAAM,CACL,CAAC,CAAC,EAAE,EAAE,CACJ,OAAO,CAAC,CAAC,WAAW,KAAK,QAAQ;IACjC,CAAC,OAAO,CAAC,CAAC,MAAM,KAAK,QAAQ,IAAI,OAAO,CAAC,CAAC,MAAM,KAAK,QAAQ,CAAC,EAChE,2DAA2D,CAC5D;KACA,MAAM,CACL,CAAC,CAAC,EAAE,EAAE,CACJ,OAAO,CAAC,CAAC,SAAS,KAAK,QAAQ,IAAI,CAAC,OAAO,CAAC,CAAC,IAAI,KAAK,QAAQ,IAAI,OAAO,CAAC,CAAC,IAAI,KAAK,QAAQ,CAAC,EAC/F,qDAAqD,CACtD;KACA,MAAM,CACL,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,WAAW,KAAK,SAAS,IAAI,OAAO,CAAC,CAAC,WAAW,KAAK,QAAQ,EACvE,kCAAkC,CACnC;KACA,MAAM,CACL,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,SAAS,KAAK,SAAS,IAAI,OAAO,CAAC,CAAC,SAAS,KAAK,QAAQ,EACnE,8BAA8B,CAC/B,CAAC;AAEJ;;;;GAIG;AACH,MAAM,CAAC,MAAM,mBAAmB,GAAG,CAAC,CAAC,MAAM,CAAC;IAC1C,MAAM,EAAE,uBAAuB,EAAE,CAAC,QAAQ,CAAC,4BAA4B,CAAC;IACxE,IAAI,EAAE,CAAC;SACJ,MAAM,EAAE;SACR,QAAQ,EAAE;SACV,QAAQ,CAAC,4DAA4D,CAAC;IACzE,UAAU,EAAE,CAAC;SACV,MAAM,EAAE;SACR,QAAQ,EAAE;SACV,QAAQ,CAAC,8DAA8D,CAAC;IAC3E,OAAO,EAAE,YAAY;CACtB,CAAC,CAAC;AAEH;;;GAGG;AACH,MAAM,CAAC,MAAM,mBAAmB,GAAG,mBAAmB,CAAC,SAAS,CAAC,CAAC,EAAE,UAAU,EAAE,GAAG,IAAI,EAAE,EAAE,GAAG,EAAE,EAAE;IAChG,MAAM,IAAI,GAAG,IAAI,CAAC,IAAI,IAAI,UAAU,CAAC;IACrC,IAAI,IAAI,KAAK,SAAS,EAAE,CAAC;QACvB,GAAG,CAAC,QAAQ,CAAC;YACX,IAAI,EAAE,CAAC,CAAC,YAAY,CAAC,MAAM;YAC3B,IAAI,EAAE,CAAC,MAAM,CAAC;YACd,OAAO,EAAE,uDAAuD;SACjE,CAAC,CAAC;QACH,OAAO,CAAC,CAAC,KAAK,CAAC;IACjB,CAAC;IACD,OAAO,EAAE,GAAG,IAAI,EAAE,IAAI,EAAE,CAAC;AAC3B,CAAC,CAAC,CAAC;AAEH,MAAM,CAAC,MAAM,sBAAsB,GAAG,CAAC,CAAC,MAAM,CAAC;IAC7C,MAAM,EAAE,uBAAuB,EAAE,CAAC,QAAQ,CAAC,4BAA4B,CAAC;IACxE,UAAU,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,sBAAsB,CAAC;IAClE,SAAS,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,qBAAqB,CAAC;IAChE,QAAQ,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,oBAAoB,CAAC;IACzE,mBAAmB,EAAE,mBAAmB,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,+BAA+B,CAAC;IAC7F,iBAAiB,EAAE,iBAAiB,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,6BAA6B,CAAC;IACvF,cAAc,EAAE,cAAc,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,gCAAgC,CAAC;IACpF,YAAY,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,gCAAgC,CAAC;IACzF,eAAe,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,mCAAmC,CAAC;IACpF,OAAO,EAAE,oBAAoB,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,iCAAiC,CAAC;IACtF,WAAW,EAAE,CAAC;SACX,MAAM,EAAE;SACR,GAAG,CAAC,CAAC,CAAC;SACN,GAAG,CAAC,CAAC,CAAC;SACN,QAAQ,EAAE;SACV,QAAQ,CAAC,wCAAwC,CAAC;IACrD,CAAC,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,qBAAqB,CAAC;IACxD,CAAC,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,qBAAqB,CAAC;IACxD,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,gBAAgB,CAAC;IAClE,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,iBAAiB,CAAC;IACpE,OAAO,EAAE,YAAY;CACtB,CAAC,CAAC;AAEH,MAAM,CAAC,MAAM,sBAAsB,GAAG,sBAAsB;KACzD,MAAM,CACL,CAAC,KAAK,EAAE,EAAE,CACR,KAAK,CAAC,UAAU,KAAK,SAAS;IAC9B,KAAK,CAAC,SAAS,KAAK,SAAS;IAC7B,KAAK,CAAC,QAAQ,KAAK,SAAS;IAC5B,KAAK,CAAC,mBAAmB,KAAK,SAAS;IACvC,KAAK,CAAC,iBAAiB,KAAK,SAAS;IACrC,KAAK,CAAC,cAAc,KAAK,SAAS;IAClC,KAAK,CAAC,YAAY,KAAK,SAAS;IAChC,KAAK,CAAC,eAAe,KAAK,SAAS;IACnC,KAAK,CAAC,OAAO,KAAK,SAAS;IAC3B,KAAK,CAAC,WAAW,KAAK,SAAS;IAC/B,KAAK,CAAC,CAAC,KAAK,SAAS;IACrB,KAAK,CAAC,CAAC,KAAK,SAAS;IACrB,KAAK,CAAC,KAAK,KAAK,SAAS;IACzB,KAAK,CAAC,MAAM,KAAK,SAAS,EAC5B,6CAA6C,CAC9C;KACA,MAAM,CACL,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,WAAW,KAAK,SAAS,IAAI,KAAK,CAAC,OAAO,KAAK,SAAS,EACzE,kDAAkD,CACnD,CAAC;AAEJ,MAAM,CAAC,MAAM,eAAe,GAAG,CAAC,CAAC,MAAM,CAAC;IACtC,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,yBAAyB,CAAC;IAC/D,QAAQ,EAAE,uBAAuB,EAAE;SAChC,QAAQ,EAAE;SACV,QAAQ,CAAC,iDAAiD,CAAC;IAC9D,UAAU,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,sBAAsB,CAAC;IAClE,UAAU,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,gCAAgC,CAAC;IAC5E,SAAS,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,iCAAiC,CAAC;IAC5E,QAAQ,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,oBAAoB,CAAC;IACzE,mBAAmB,EAAE,mBAAmB,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,+BAA+B,CAAC;IAC7F,cAAc,EAAE,cAAc,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,gCAAgC,CAAC;IACpF,OAAO,EAAE,oBAAoB,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,iCAAiC,CAAC;IACtF,WAAW,EAAE,CAAC;SACX,MAAM,EAAE;SACR,GAAG,CAAC,CAAC,CAAC;SACN,GAAG,CAAC,CAAC,CAAC;SACN,QAAQ,EAAE;SACV,QAAQ,CAAC,wCAAwC,CAAC;IACrD,CAAC,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,qBAAqB,CAAC;IACxD,CAAC,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,qBAAqB,CAAC;IACxD,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,gBAAgB,CAAC;IAClE,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,iBAAiB,CAAC;IACpE,OAAO,EAAE,YAAY;CACtB,CAAC,CAAC;AAEH,MAAM,CAAC,MAAM,eAAe,GAAG,eAAe,CAAC,MAAM,CACnD,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,WAAW,KAAK,SAAS,IAAI,KAAK,CAAC,OAAO,KAAK,SAAS,EACzE,kDAAkD,CACnD,CAAC;AAEF,MAAM,CAAC,MAAM,gBAAgB,GAAG,CAAC,CAAC,MAAM,CAAC;IACvC,SAAS,EAAE,SAAS,CAAC,QAAQ,CAAC,sBAAsB,CAAC;IACrD,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,qBAAqB,CAAC;IAC3D,QAAQ,EAAE,uBAAuB,EAAE;SAChC,QAAQ,EAAE;SACV,QAAQ,CAAC,kDAAkD,CAAC;IAC/D,CAAC,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,qBAAqB,CAAC;IACxD,CAAC,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,qBAAqB,CAAC;IACxD,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,gBAAgB,CAAC;IAClE,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,iBAAiB,CAAC;IACpE,QAAQ,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,8BAA8B,CAAC;IACxE,YAAY,EAAE,CAAC;SACZ,MAAM,EAAE;SACR,GAAG,CAAC,CAAC,CAAC;SACN,QAAQ,EAAE;SACV,QAAQ,CAAC,6CAA6C,CAAC;IAC1D,OAAO,EAAE,oBAAoB,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,4BAA4B,CAAC;IACjF,WAAW,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,mCAAmC,CAAC;IAC9F,SAAS,EAAE,oBAAoB,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,8BAA8B,CAAC;IACrF,aAAa,EAAE,CAAC;SACb,MAAM,EAAE;SACR,GAAG,CAAC,CAAC,CAAC;SACN,GAAG,CAAC,CAAC,CAAC;SACN,QAAQ,EAAE;SACV,QAAQ,CAAC,qCAAqC,CAAC;IAClD,YAAY,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,wBAAwB,CAAC;IACjF,OAAO,EAAE,YAAY;CACtB,CAAC,CAAC;AAEH,MAAM,CAAC,MAAM,gBAAgB,GAAG,gBAAgB;KAC7C,MAAM,CACL,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,WAAW,KAAK,SAAS,IAAI,KAAK,CAAC,OAAO,KAAK,SAAS,EACzE,kDAAkD,CACnD;KACA,MAAM,CACL,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,aAAa,KAAK,SAAS,IAAI,KAAK,CAAC,SAAS,KAAK,SAAS,EAC7E,sDAAsD,CACvD;KACA,MAAM,CACL,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,SAAS,KAAK,MAAM,IAAI,KAAK,CAAC,OAAO,KAAK,SAAS,EACpE,4DAA4D,CAC7D;KACA,MAAM,CACL,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,SAAS,KAAK,MAAM,IAAI,KAAK,CAAC,SAAS,KAAK,SAAS,EACtE,qFAAqF,CACtF,CAAC;AAEJ,MAAM,CAAC,MAAM,wBAAwB,GAAG,CAAC,CAAC,MAAM,CAAC;IAC/C,SAAS,EAAE,eAAe,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,+CAA+C,CAAC;IAC/F,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,qBAAqB,CAAC;IAC3D,QAAQ,EAAE,uBAAuB,EAAE;SAChC,QAAQ,EAAE;SACV,QAAQ,CAAC,kDAAkD,CAAC;IAC/D,UAAU,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,wCAAwC,CAAC;IACpF,UAAU,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,gCAAgC,CAAC;IAC5E,SAAS,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,iCAAiC,CAAC;IAC5E,QAAQ,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,oBAAoB,CAAC;IACzE,CAAC,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,qBAAqB,CAAC;IACxD,CAAC,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,qBAAqB,CAAC;IACxD,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,gBAAgB,CAAC;IAClE,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,iBAAiB,CAAC;IACpE,QAAQ,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,8BAA8B,CAAC;IACxE,OAAO,EAAE,oBAAoB,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,4BAA4B,CAAC;IACjF,WAAW,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,mCAAmC,CAAC;IAC9F,SAAS,EAAE,oBAAoB,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,8BAA8B,CAAC;IACrF,aAAa,EAAE,CAAC;SACb,MAAM,EAAE;SACR,GAAG,CAAC,CAAC,CAAC;SACN,GAAG,CAAC,CAAC,CAAC;SACN,QAAQ,EAAE;SACV,QAAQ,CAAC,qCAAqC,CAAC;IAClD,YAAY,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,wBAAwB,CAAC;IACjF,WAAW,EAAE,oBAAoB,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,uCAAuC,CAAC;IAChG,eAAe,EAAE,CAAC;SACf,MAAM,EAAE;SACR,GAAG,CAAC,CAAC,CAAC;SACN,GAAG,CAAC,CAAC,CAAC;SACN,QAAQ,EAAE;SACV,QAAQ,CAAC,8CAA8C,CAAC;IAC3D,OAAO,EAAE,YAAY;CACtB,CAAC,CAAC;AAEH,MAAM,CAAC,MAAM,wBAAwB,GAAG,wBAAwB;KAC7D,MAAM,CACL,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,WAAW,KAAK,SAAS,IAAI,KAAK,CAAC,OAAO,KAAK,SAAS,EACzE,kDAAkD,CACnD;KACA,MAAM,CACL,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,aAAa,KAAK,SAAS,IAAI,KAAK,CAAC,SAAS,KAAK,SAAS,EAC7E,sDAAsD,CACvD;KACA,MAAM,CACL,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,eAAe,KAAK,SAAS,IAAI,KAAK,CAAC,WAAW,KAAK,SAAS,EACjF,0DAA0D,CAC3D,CAAC;AAEJ,MAAM,CAAC,MAAM,gBAAgB,GAAG,CAAC,CAAC,MAAM,CAAC;IACvC,MAAM,EAAE,CAAC;SACN,MAAM,EAAE;SACR,GAAG,CAAC,CAAC,CAAC;SACN,QAAQ,CACP,yHAAyH,CAC1H;IACH,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,0BAA0B,CAAC;IAChE,QAAQ,EAAE,uBAAuB,EAAE;SAChC,QAAQ,EAAE;SACV,QAAQ,CAAC,kDAAkD,CAAC;IAC/D,CAAC,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,qBAAqB,CAAC;IACxD,CAAC,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,qBAAqB,CAAC;IACxD,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,gBAAgB,CAAC;IAClE,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,iBAAiB,CAAC;IACpE,YAAY,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,wBAAwB,CAAC;IAC7E,SAAS,EAAE,cAAc;SACtB,QAAQ,EAAE;SACV,QAAQ,CAAC,4DAA4D,CAAC;IACzE,OAAO,EAAE,YAAY;CACtB,CAAC,CAAC;AAEH;;;;GAIG;AACH,MAAM,aAAa,GAAG,CAAC;KACpB,MAAM,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC;KACnC,WAAW,EAAE;KACb,QAAQ,CAAC,+CAA+C,CAAC,CAAC;AAE7D,MAAM,CAAC,MAAM,qBAAqB,GAAG,CAAC,CAAC,MAAM,CAAC;IAC5C,MAAM,EAAE,CAAC;SACN,MAAM,EAAE;SACR,GAAG,CAAC,CAAC,CAAC;SACN,QAAQ,CACP,6IAA6I,CAC9I;IACH,IAAI,EAAE,CAAC;SACJ,MAAM,EAAE;SACR,QAAQ,EAAE;SACV,QAAQ,CAAC,kEAAkE,CAAC;IAC/E,QAAQ,EAAE,uBAAuB,EAAE;SAChC,QAAQ,EAAE;SACV,QAAQ,CACP,+GAA+G,CAChH;IACH,CAAC,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,0CAA0C,CAAC;IAC7E,CAAC,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,0CAA0C,CAAC;IAC7E,OAAO,EAAE,YAAY;CACtB,CAAC,CAAC;AAEH,MAAM,CAAC,MAAM,iBAAiB,GAAG,CAAC,CAAC,MAAM,CAAC;IACxC,MAAM,EAAE,uBAAuB,EAAE,CAAC,QAAQ,CACxC,oEAAoE,CACrE;IACD,OAAO,EAAE,CAAC;SACP,MAAM,EAAE;SACR,GAAG,CAAC,CAAC,CAAC;SACN,QAAQ,EAAE;SACV,QAAQ,CAAC,iEAAiE,CAAC;IAC9E,OAAO,EAAE,YAAY;CACtB,CAAC,CAAC;AAEH,MAAM,CAAC,MAAM,eAAe,GAAG,CAAC,CAAC,MAAM,CAAC;IACtC,OAAO,EAAE,CAAC;SACP,KAAK,CAAC,uBAAuB,EAAE,CAAC;SAChC,GAAG,CAAC,CAAC,CAAC;SACN,QAAQ,CAAC,6CAA6C,CAAC;IAC1D,OAAO,EAAE,YAAY;CACtB,CAAC,CAAC;AAEH,MAAM,CAAC,MAAM,gBAAgB,GAAG,CAAC,CAAC,MAAM,CAAC;IACvC,OAAO,EAAE,CAAC,CAAC,KAAK,CAAC,uBAAuB,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,2BAA2B,CAAC;IACxF,QAAQ,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,mCAAmC,CAAC;IAC7E,OAAO,EAAE,YAAY;CACtB,CAAC,CAAC;AAEH,MAAM,kBAAkB,GAAG,CAAC,CAAC,MAAM,CAAC;IAClC,MAAM,EAAE,uBAAuB,EAAE,CAAC,QAAQ,CAAC,cAAc,CAAC;IAC1D,YAAY,EAAE,uBAAuB,EAAE,CAAC,QAAQ,CAAC,iCAAiC,CAAC;IACnF,GAAG,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,8CAA8C,CAAC;IAC1F,KAAK,EAAE,CAAC;SACL,IAAI,CAAC,CAAC,OAAO,EAAE,QAAQ,CAAC,CAAC;SACzB,QAAQ,EAAE;SACV,QAAQ,CAAC,wEAAwE,CAAC;IACrF,OAAO,EAAE,YAAY;CACtB,CAAC,CAAC;AAEH,MAAM,CAAC,MAAM,eAAe,GAAG,kBAAkB,CAAC;AAElD,MAAM,CAAC,MAAM,iBAAiB,GAAG,kBAAkB,CAAC;AAEpD,MAAM,CAAC,MAAM,wBAAwB,GAAG,CAAC,CAAC,MAAM,CAAC;IAC/C,OAAO,EAAE,CAAC,CAAC,KAAK,CAAC,uBAAuB,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,+BAA+B,CAAC;IAC5F,OAAO,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,6CAA6C,CAAC;IAC3E,OAAO,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,2CAA2C,CAAC;IACzE,OAAO,EAAE,YAAY;CACtB,CAAC,CAAC;AAEH,MAAM,CAAC,MAAM,gBAAgB,GAAG;IAC9B,YAAY,EAAE,CAAC,CAAC,MAAM,CAAC;QACrB,OAAO,EAAE,YAAY;KACtB,CAAC;IAEF,aAAa,EAAE,CAAC,CAAC,MAAM,CAAC;QACtB,OAAO,EAAE,YAAY;KACtB,CAAC;IAEF,eAAe,EAAE,CAAC,CAAC,MAAM,CAAC;QACxB,MAAM,EAAE,uBAAuB,EAAE;QACjC,QAAQ,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,QAAQ,EAAE;QACvD,OAAO,EAAE,YAAY;KACtB,CAAC;IAEF,QAAQ,EAAE,CAAC,CAAC,MAAM,CAAC;QACjB,MAAM,EAAE,uBAAuB,EAAE,CAAC,QAAQ,CACxC,uHAAuH,CACxH;QACD,gBAAgB,EAAE,CAAC;aAChB,OAAO,EAAE;aACT,QAAQ,EAAE;aACV,QAAQ,CACP,gKAAgK,CACjK;QACH,OAAO,EAAE,YAAY;KACtB,CAAC;IAEF,yBAAyB,EAAE,CAAC,CAAC,MAAM,CAAC;QAClC,MAAM,EAAE,uBAAuB,EAAE;aAC9B,QAAQ,EAAE;aACV,QAAQ,CACP,+JAA+J,CAChK;QACH,QAAQ,EAAE,CAAC;aACR,MAAM,EAAE;aACR,GAAG,EAAE;aACL,GAAG,CAAC,CAAC,CAAC;aACN,GAAG,CAAC,KAAK,CAAC;aACV,QAAQ,EAAE;aACV,QAAQ,CAAC,+EAA+E,CAAC;QAC5F,YAAY,EAAE,CAAC;aACZ,OAAO,EAAE;aACT,QAAQ,EAAE;aACV,QAAQ,CAAC,uEAAuE,CAAC;QACpF,OAAO,EAAE,YAAY;KACtB,CAAC;IAEF,oBAAoB,EAAE,CAAC,CAAC,MAAM,CAAC;QAC7B,MAAM,EAAE,uBAAuB,EAAE,CAAC,QAAQ,CACxC,uGAAuG,CACxG;QACD,UAAU,EAAE,CAAC;aACV,MAAM,EAAE;aACR,GAAG,EAAE;aACL,GAAG,CAAC,CAAC,CAAC;aACN,GAAG,CAAC,GAAG,CAAC;aACR,QAAQ,EAAE;aACV,QAAQ,CAAC,2EAA2E,CAAC;QACxF,iBAAiB,EAAE,CAAC;aACjB,MAAM,EAAE;aACR,GAAG,EAAE;aACL,GAAG,CAAC,CAAC,CAAC;aACN,GAAG,CAAC,KAAK,CAAC;aACV,QAAQ,EAAE;aACV,QAAQ,CAAC,yDAAyD,CAAC;QACtE,OAAO,EAAE,YAAY;KACtB,CAAC;IAEF,UAAU,EAAE,CAAC,CAAC,MAAM,CAAC;QACnB,OAAO,EAAE,YAAY;KACtB,CAAC;IAEF,YAAY,EAAE,CAAC,CAAC,MAAM,CAAC;QACrB,OAAO,EAAE,YAAY;KACtB,CAAC;IAEF,kBAAkB,EAAE,CAAC,CAAC,MAAM,CAAC;QAC3B,KAAK,EAAE,CAAC;aACL,MAAM,EAAE;aACR,QAAQ,EAAE;aACV,QAAQ,CAAC,4DAA4D,CAAC;QACzE,OAAO,EAAE,YAAY;KACtB,CAAC;IAEF,iBAAiB,EAAE,CAAC,CAAC,MAAM,CAAC;QAC1B,OAAO,EAAE,YAAY;KACtB,CAAC;IAEF,cAAc,EAAE,CAAC,CAAC,MAAM,CAAC;QACvB,OAAO,EAAE,CAAC;aACP,KAAK,CAAC,uBAAuB,EAAE,CAAC;aAChC,QAAQ,EAAE;aACV,QAAQ,CACP,kMAAkM,CACnM;QACH,MAAM,EAAE,wBAAwB,EAAE;aAC/B,QAAQ,EAAE;aACV,QAAQ,CAAC,mDAAmD,CAAC;QAChE,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,6CAA6C,CAAC;QACpF,IAAI,EAAE,CAAC;aACJ,OAAO,EAAE;aACT,QAAQ,EAAE;aACV,QAAQ,CACP,6JAA6J,CAC9J;QACH,OAAO,EAAE,YAAY;KACtB,CAAC;IAEF,mBAAmB,EAAE,CAAC,CAAC,MAAM,CAAC;QAC5B,KAAK,EAAE,CAAC;aACL,KAAK,CACJ,CAAC,CAAC,MAAM,CAAC;YACP,MAAM,EAAE,uBAAuB,EAAE,CAAC,QAAQ,CAAC,uBAAuB,CAAC;YACnE,OAAO,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,QAAQ,CAAC,6BAA6B,CAAC;SAC7D,CAAC,CACH;aACA,GAAG,CAAC,CAAC,CAAC;aACN,QAAQ,CAAC,4CAA4C,CAAC;QACzD,OAAO,EAAE,YAAY;KACtB,CAAC;IAEF,gBAAgB,EAAE,mBAAmB;IAErC,mBAAmB,EAAE,sBAAsB;IAE3C,iBAAiB,EAAE,oBAAoB;IAEvC,cAAc,EAAE,iBAAiB;IAEjC,WAAW,EAAE,eAAe;IAE5B,qBAAqB,EAAE,wBAAwB,CAAC,MAAM,CACpD,CAAC,KAAK,EAAE,EAAE,CACR,KAAK,CAAC,YAAY,KAAK,SAAS;QAChC,KAAK,CAAC,WAAW,KAAK,SAAS;QAC/B,KAAK,CAAC,WAAW,KAAK,SAAS;QAC/B,KAAK,CAAC,SAAS,KAAK,SAAS;QAC7B,KAAK,CAAC,UAAU,KAAK,SAAS,EAChC,+CAA+C,CAChD;IAED,eAAe,EAAE,kBAAkB,CAAC,MAAM,CACxC,CAAC,KAAK,EAAE,EAAE,CACR,KAAK,CAAC,UAAU,KAAK,SAAS;QAC9B,KAAK,CAAC,WAAW,KAAK,SAAS;QAC/B,KAAK,CAAC,kBAAkB,KAAK,SAAS;QACtC,KAAK,CAAC,UAAU,KAAK,SAAS;QAC9B,KAAK,CAAC,YAAY,KAAK,SAAS;QAChC,KAAK,CAAC,aAAa,KAAK,SAAS;QACjC,KAAK,CAAC,WAAW,KAAK,SAAS;QAC/B,KAAK,CAAC,qBAAqB,KAAK,SAAS;QACzC,KAAK,CAAC,qBAAqB,KAAK,SAAS;QACzC,KAAK,CAAC,qBAAqB,KAAK,SAAS;QACzC,KAAK,CAAC,qBAAqB,KAAK,SAAS;QACzC,KAAK,CAAC,UAAU,KAAK,SAAS,EAChC,oDAAoD,CACrD;IAED,mBAAmB,EAAE,sBAAsB;IAE3C,WAAW,EAAE,eAAe;IAE5B,YAAY,EAAE,gBAAgB,CAAC,MAAM,CACnC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,WAAW,KAAK,SAAS,IAAI,KAAK,CAAC,OAAO,KAAK,SAAS,EACzE,kDAAkD,CACnD;IAED,cAAc,EAAE,kBAAkB;IAElC,WAAW,EAAE,eAAe;IAE5B,YAAY,EAAE,gBAAgB;IAE9B,sBAAsB,EAAE,wBAAwB;IAEhD,YAAY,EAAE,gBAAgB;IAE9B,kBAAkB,EAAE,qBAAqB;IAEzC,aAAa,EAAE,CAAC,CAAC,MAAM,CAAC;QACtB,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,2BAA2B,CAAC;QACjE,QAAQ,EAAE,uBAAuB,EAAE;aAChC,QAAQ,EAAE;aACV,QAAQ,CAAC,mDAAmD,CAAC;QAChE,UAAU,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,0CAA0C,CAAC;QACtF,CAAC,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,qBAAqB,CAAC;QACxD,CAAC,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,qBAAqB,CAAC;QACxD,WAAW,EAAE,CAAC;aACX,OAAO,EAAE;aACT,QAAQ,EAAE;aACV,QAAQ,CAAC,uDAAuD,CAAC;QACpE,OAAO,EAAE,YAAY;KACtB,CAAC;IAEF,gBAAgB,EAAE,oBAAoB;IAEtC,eAAe,EAAE,CAAC,CAAC,MAAM,CAAC;QACxB,OAAO,EAAE,CAAC,CAAC,KAAK,CAAC,uBAAuB,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,+BAA+B,CAAC;QAC5F,OAAO,EAAE,YAAY;KACtB,CAAC;IAEF,cAAc,EAAE,iBAAiB;IAEjC,uBAAuB,EAAE,eAAe;IAExC,qBAAqB,EAAE,eAAe;IAEtC,aAAa,EAAE,gBAAgB;IAE/B,WAAW,EAAE,eAAe;IAE5B,cAAc,EAAE,iBAAiB;IAEjC,qBAAqB,EAAE,wBAAwB;IAE/C,cAAc,EAAE,CAAC,CAAC,MAAM,CAAC;QACvB,OAAO,EAAE,CAAC,CAAC,KAAK,CAAC,uBAAuB,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,0BAA0B,CAAC;QACvF,QAAQ,EAAE,uBAAuB,EAAE,CAAC,QAAQ,CAAC,4BAA4B,CAAC;QAC1E,OAAO,EAAE,YAAY;KACtB,CAAC;IAEF,WAAW,EAAE,eAAe;IAE5B,YAAY,EAAE,gBAAgB;IAE9B,aAAa,EAAE,iBAAiB;IAEhC,yBAAyB,EAAE,0BAA0B;IAErD,YAAY,EAAE,CAAC,CAAC,MAAM,CAAC;QACrB,OAAO,EAAE,CAAC,CAAC,KAAK,CAAC,uBAAuB,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,4BAA4B,CAAC;QACzF,OAAO,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,QAAQ,CAAC,kCAAkC,CAAC;QACjE,OAAO,EAAE,YAAY;KACtB,CAAC;IAEF,gBAAgB,EAAE,CAAC,CAAC,MAAM,CAAC;QACzB,KAAK,EAAE,CAAC;aACL,KAAK,CACJ,CAAC,CAAC,MAAM,CAAC;YACP,MAAM,EAAE,uBAAuB,EAAE,CAAC,QAAQ,CACxC,wHAAwH,CACzH;YACD,UAAU,EAAE,CAAC;iBACV,MAAM,EAAE;iBACR,GAAG,CAAC,CAAC,CAAC;iBACN,QAAQ,CACP,yFAAyF,CAC1F;YACH,MAAM,EAAE,wBAAwB,EAAE;iBAC/B,QAAQ,EAAE;iBACV,QAAQ,CAAC,wDAAwD,CAAC;YACrE,KAAK,EAAE,CAAC;iBACL,MAAM,EAAE;iBACR,QAAQ,EAAE;iBACV,QAAQ,CAAC,mDAAmD,CAAC;YAChE,IAAI,EAAE,CAAC;iBACJ,OAAO,EAAE;iBACT,QAAQ,EAAE;iBACV,QAAQ,CACP,0HAA0H,CAC3H;SACJ,CAAC,CACH;aACA,GAAG,CAAC,CAAC,CAAC;aACN,QAAQ,CAAC,wDAAwD,CAAC;QACrE,MAAM,EAAE,wBAAwB,EAAE;aAC/B,QAAQ,EAAE;aACV,QAAQ,CAAC,2DAA2D,CAAC;QACxE,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,qDAAqD,CAAC;QAC5F,IAAI,EAAE,CAAC;aACJ,OAAO,EAAE;aACT,QAAQ,EAAE;aACV,QAAQ,CACP,+IAA+I,CAChJ;QACH,OAAO,EAAE,YAAY;KACtB,CAAC;IAEF,iBAAiB,EAAE,CAAC,CAAC,MAAM,CAAC;QAC1B,OAAO,EAAE,YAAY;KACtB,CAAC;IAEF,eAAe,EAAE,CAAC,CAAC,MAAM,CAAC;QACxB,MAAM,EAAE,uBAAuB,EAAE,CAAC,QAAQ,CAAC,4CAA4C,CAAC;QACxF,OAAO,EAAE,YAAY;KACtB,CAAC;IAEF,qBAAqB,EAAE,CAAC,CAAC,MAAM,CAAC;QAC9B,MAAM,EAAE,uBAAuB,EAAE,CAAC,QAAQ,CAAC,mCAAmC,CAAC;QAC/E,OAAO,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,wCAAwC,CAAC;QACtE,kBAAkB,EAAE,CAAC;aAClB,MAAM,CAAC,CAAC,CAAC,OAAO,EAAE,CAAC;aACnB,QAAQ,EAAE;aACV,QAAQ,CACP,gHAAgH,CACjH;QACH,OAAO,EAAE,YAAY;KACtB,CAAC;IAEF,sBAAsB,EAAE,CAAC,CAAC,MAAM,CAAC;QAC/B,MAAM,EAAE,uBAAuB,EAAE,CAAC,QAAQ,CAAC,sCAAsC,CAAC;QAClF,gBAAgB,EAAE,CAAC;aAChB,MAAM,EAAE;aACR,QAAQ,EAAE;aACV,QAAQ,CACP,wFAAwF,CACzF;QACH,OAAO,EAAE,YAAY;KACtB,CAAC;IAEF,2BAA2B,EAAE,CAAC,CAAC,MAAM,CAAC;QACpC,MAAM,EAAE,uBAAuB,EAAE,CAAC,QAAQ,CAAC,mCAAmC,CAAC;QAC/E,KAAK,EAAE,CAAC;aACL,MAAM,CAAC,CAAC,CAAC,OAAO,EAAE,CAAC;aACnB,QAAQ,CACP,uGAAuG,CACxG;QACH,KAAK,EAAE,CAAC;aACL,MAAM,CAAC,CAAC,CAAC,OAAO,EAAE,CAAC;aACnB,QAAQ,CAAC,yEAAyE,CAAC;QACtF,OAAO,EAAE,YAAY;KACtB,CAAC;IAEF,4BAA4B,EAAE,CAAC,CAAC,MAAM,CAAC;QACrC,MAAM,EAAE,uBAAuB,EAAE,CAAC,QAAQ,CAAC,sCAAsC,CAAC;QAClF,KAAK,EAAE,CAAC;aACL,MAAM,CAAC,CAAC,CAAC,OAAO,EAAE,CAAC;aACnB,QAAQ,CACP,sGAAsG,CACvG;QACH,OAAO,EAAE,YAAY;KACtB,CAAC;IAEF,qBAAqB,EAAE,CAAC,CAAC,MAAM,CAAC;QAC9B,MAAM,EAAE,uBAAuB,EAAE,CAAC,QAAQ,CACxC,qDAAqD,CACtD;QACD,UAAU,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,oDAAoD,CAAC;QACrF,QAAQ,EAAE,CAAC;aACR,MAAM,EAAE;aACR,QAAQ,EAAE;aACV,QAAQ,CAAC,kEAAkE,CAAC;QAC/E,OAAO,EAAE,YAAY;KACtB,CAAC;CACM,CAAC;AAIX;;;;;;;;;GASG;AACH,MAAM,mBAAmB,GAAG,gBAAgB,CAAC,IAAI,CAAC,EAAE,MAAM,EAAE,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC,CAAC,MAAM,CAAC;IACxF,WAAW,EAAE,CAAC;SACX,MAAM,EAAE;SACR,GAAG,CAAC,CAAC,CAAC;SACN,QAAQ,CAAC,wEAAwE,CAAC;CACtF,CAAC,CAAC;AAEH;;;;GAIG;AACH;;;;GAIG;AACH,MAAM,wBAAwB,GAAG,qBAAqB;KACnD,IAAI,CAAC,EAAE,MAAM,EAAE,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;KACrC,MAAM,CAAC;IACN,MAAM,EAAE,aAAa;CACtB,CAAC,CAAC;AAEL,MAAM,eAAe,GAAG;IACtB,GAAG,gBAAgB;IACnB,YAAY,EAAE,mBAAmB;IACjC,kBAAkB,EAAE,wBAAwB;CACpC,CAAC;AAEX;;;;GAIG;AACH,MAAM,SAAS,GAGX;IACF,YAAY,EAAE,CAAC,QAAQ,EAAE,MAAM,EAAE,EAAE,CAAC,CAAC,EAAE,GAAG,MAAM,EAAE,CAAC;IACnD,aAAa,EAAE,CAAC,QAAQ,EAAE,MAAM,EAAE,EAAE,CAAC,CAAC,EAAE,GAAG,MAAM,EAAE,CAAC;IACpD,eAAe,EAAE,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE,CAAC,CAAC,EAAE,GAAG,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;IAC3E,QAAQ,EAAE,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE,CAAC,CAAC,EAAE,GAAG,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;IACpE,yBAAyB,EAAE,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE,CAAC,CAAC,EAAE,GAAG,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;IACrF,oBAAoB,EAAE,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE,CAAC,CAAC,EAAE,GAAG,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;IAChF,UAAU,EAAE,CAAC,QAAQ,EAAE,MAAM,EAAE,EAAE,CAAC,CAAC,EAAE,GAAG,MAAM,EAAE,CAAC;IACjD,YAAY,EAAE,CAAC,QAAQ,EAAE,MAAM,EAAE,EAAE,CAAC,CAAC,EAAE,GAAG,MAAM,EAAE,CAAC;IACnD,kBAAkB,EAAE,CAAC,QAAQ,EAAE,MAAM,EAAE,EAAE,CAAC,CAAC,EAAE,GAAG,MAAM,EAAE,CAAC;IACzD,iBAAiB,EAAE,CAAC,QAAQ,EAAE,MAAM,EAAE,EAAE,CAAC,CAAC,EAAE,GAAG,MAAM,EAAE,CAAC;IACxD,cAAc,EAAE,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE,CAAC,CAAC,EAAE,OAAO,EAAE,GAAG,MAAM,EAAE,CAAC;IAC7D,mBAAmB,EAAE,CAAC,QAAQ,EAAE,MAAM,EAAE,EAAE,CAAC,CAAC,EAAE,GAAG,MAAM,EAAE,CAAC;IAC1D,gBAAgB,EAAE,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE,CAAC,CAAC,EAAE,GAAG,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;IAC5E,mBAAmB,EAAE,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE,CAAC,CAAC;QACzC,GAAG,MAAM;QACT,MAAM,EAAE,OAAO,EAAE,CAAC,CAAC,CAAC;KACrB,CAAC;IACF,mBAAmB,EAAE,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE,CAAC,CAAC,EAAE,OAAO,EAAE,GAAG,MAAM,EAAE,CAAC;IAClE,iBAAiB,EAAE,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE,CAAC,CAAC,EAAE,GAAG,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;IAC7E,cAAc,EAAE,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE,CAAC,CAAC,EAAE,GAAG,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;IAC1E,WAAW,EAAE,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE,CAAC,CAAC,EAAE,GAAG,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;IACvE,qBAAqB,EAAE,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE,CAAC,CAAC;QAC3C,GAAG,MAAM;QACT,MAAM,EAAE,OAAO,EAAE,CAAC,CAAC,CAAC;KACrB,CAAC;IACF,eAAe,EAAE,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE,CAAC,CAAC,EAAE,GAAG,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;IAC3E,WAAW,EAAE,CAAC,QAAQ,EAAE,MAAM,EAAE,EAAE,CAAC,CAAC,EAAE,GAAG,MAAM,EAAE,CAAC;IAClD,YAAY,EAAE,CAAC,QAAQ,EAAE,MAAM,EAAE,EAAE,CAAC,CAAC,EAAE,GAAG,MAAM,EAAE,CAAC;IACnD,cAAc,EAAE,CAAC,QAAQ,EAAE,MAAM,EAAE,EAAE,CAAC,CAAC,EAAE,GAAG,MAAM,EAAE,CAAC;IACrD,WAAW,EAAE,CAAC,QAAQ,EAAE,MAAM,EAAE,EAAE,CAAC,CAAC,EAAE,GAAG,MAAM,EAAE,CAAC;IAClD,YAAY,EAAE,CAAC,QAAQ,EAAE,MAAM,EAAE,EAAE,CAAC,CAAC,EAAE,GAAG,MAAM,EAAE,CAAC;IACnD,sBAAsB,EAAE,CAAC,QAAQ,EAAE,MAAM,EAAE,EAAE,CAAC,CAAC,EAAE,GAAG,MAAM,EAAE,CAAC;IAC7D,YAAY,EAAE,CAAC,QAAQ,EAAE,MAAM,EAAE,EAAE,CAAC,CAAC,EAAE,GAAG,MAAM,EAAE,CAAC;IACnD,kBAAkB,EAAE,CAAC,QAAQ,EAAE,MAAM,EAAE,EAAE,CAAC,CAAC,EAAE,GAAG,MAAM,EAAE,CAAC;IACzD,aAAa,EAAE,CAAC,QAAQ,EAAE,MAAM,EAAE,EAAE,CAAC,CAAC,EAAE,GAAG,MAAM,EAAE,CAAC;IACpD,gBAAgB,EAAE,CAAC,QAAQ,EAAE,MAAM,EAAE,EAAE,CAAC,CAAC,EAAE,GAAG,MAAM,EAAE,CAAC;IACvD,eAAe,EAAE,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE,CAAC,CAAC,EAAE,OAAO,EAAE,GAAG,MAAM,EAAE,CAAC;IAC9D,cAAc,EAAE,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE,CAAC,CAAC,EAAE,GAAG,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;IAC1E,uBAAuB,EAAE,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE,CAAC,CAAC,EAAE,OAAO,EAAE,GAAG,MAAM,EAAE,CAAC;IACtE,qBAAqB,EAAE,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE,CAAC,CAAC,EAAE,OAAO,EAAE,GAAG,MAAM,EAAE,CAAC;IACpE,aAAa,EAAE,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE,CAAC,CAAC,EAAE,OAAO,EAAE,GAAG,MAAM,EAAE,CAAC;IAC5D,WAAW,EAAE,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE,CAAC,CAAC,EAAE,GAAG,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;IACvE,cAAc,EAAE,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE,CAAC,CAAC,EAAE,GAAG,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;IAC1E,qBAAqB,EAAE,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE,CAAC,CAAC,EAAE,OAAO,EAAE,GAAG,MAAM,EAAE,CAAC;IACpE,cAAc,EAAE,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE,CAAC,CAAC,EAAE,OAAO,EAAE,GAAG,MAAM,EAAE,CAAC;IAC7D,WAAW,EAAE,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE,CAAC,CAAC,EAAE,OAAO,EAAE,GAAG,MAAM,EAAE,CAAC;IAC1D,YAAY,EAAE,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE,CAAC,CAAC,EAAE,MAAM,EAAE,OAAO,EAAE,CAAC,CAAC,CAAC,EAAE,GAAG,MAAM,EAAE,CAAC;IACxE,aAAa,EAAE,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE,CAAC,CAAC,EAAE,OAAO,EAAE,GAAG,MAAM,EAAE,CAAC;IAC5D,yBAAyB,EAAE,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE,CAAC,CAAC,EAAE,OAAO,EAAE,GAAG,MAAM,EAAE,CAAC;IACxE,YAAY,EAAE,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE,CAAC,CAAC,EAAE,OAAO,EAAE,GAAG,MAAM,EAAE,CAAC;IAC3D,gBAAgB,EAAE,CAAC,QAAQ,EAAE,MAAM,EAAE,EAAE,CAAC,CAAC,EAAE,GAAG,MAAM,EAAE,CAAC;IACvD,iBAAiB,EAAE,CAAC,QAAQ,EAAE,MAAM,EAAE,EAAE,CAAC,CAAC,EAAE,GAAG,MAAM,EAAE,CAAC;IACxD,eAAe,EAAE,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE,CAAC,CAAC,EAAE,GAAG,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;IAC3E,qBAAqB,EAAE,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE,CAAC,CAAC,EAAE,GAAG,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;IACjF,sBAAsB,EAAE,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE,CAAC,CAAC,EAAE,GAAG,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;IAClF,2BAA2B,EAAE,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE,CAAC,CAAC,EAAE,GAAG,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;IACvF,4BAA4B,EAAE,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE,CAAC,CAAC,EAAE,GAAG,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;IACxF,qBAAqB,EAAE,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE,CAAC,CAAC,EAAE,GAAG,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;CAClF,CAAC;AAsBF;;;;;GAKG;AACH,MAAM,UAAU,WAAW,CACzB,IAAY,EACZ,OAAkB,EAClB,MAAgC;IAEhC,IAAI,CAAC,CAAC,IAAI,IAAI,eAAe,CAAC;QAAE,OAAO,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC;IAEvD,MAAM,IAAI,GAAG,IAAgB,CAAC;IAC9B,MAAM,MAAM,GAAG,eAAe,CAAC,IAAI,CAAC,CAAC,SAAS,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC,CAAC;IACjF,IAAI,CAAC,MAAM,CAAC,OAAO,EAAE,CAAC;QACpB,OAAO,EAAE,KAAK,EAAE,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,OAAO,EAAE,CAAC;IACnD,CAAC;IAED,6EAA6E;IAC7E,sEAAsE;IACtE,8EAA8E;IAC9E,yEAAyE;IACzE,2EAA2E;IAC3E,2EAA2E;IAC3E,MAAM,EACJ,MAAM,EAAE,OAAO,EACf,OAAO,EAAE,QAAQ,EACjB,OAAO,EAAE,QAAQ,EACjB,GAAG,IAAI,EACR,GAAG,MAAM,CAAC,IAA+B,CAAC;IAC3C,OAAO,EAAE,KAAK,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC;AACvC,CAAC"}
1
+ {"version":3,"file":"schema.js","sourceRoot":"","sources":["../src/schema.ts"],"names":[],"mappings":"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"}
package/dist/tools.d.ts CHANGED
@@ -2,6 +2,8 @@ import { McpServer } from "@modelcontextprotocol/sdk/server/mcp.js";
2
2
  import type { Node } from "./node.js";
3
3
  import type { BridgeResponse } from "./types.js";
4
4
  export type ExportFormat = "PNG" | "SVG" | "JPG" | "PDF";
5
+ /** `run_script` executes arbitrary code in the user's file, so it stays off unless explicitly enabled. */
6
+ export declare function isRunScriptEnabled(): boolean;
5
7
  export interface ScreenshotSender {
6
8
  sendWithParams(requestType: string, nodeIds?: string[], params?: Record<string, unknown>): Promise<BridgeResponse>;
7
9
  }
package/dist/tools.js CHANGED
@@ -1,12 +1,16 @@
1
1
  import { lookup } from "node:dns/promises";
2
- import { mkdir, readFile, realpath, stat, writeFile } from "node:fs/promises";
2
+ import { mkdir, open, readFile, realpath, stat, writeFile } from "node:fs/promises";
3
3
  import { isIP } from "node:net";
4
4
  import path from "node:path";
5
- import { createFrameInput, createImageInput, createPageInput, importHtmlLayersInput, createShapeShape, createTextShape, createShapeInput, createShapeWithTextInput, createShapeWithTextShape, createSectionShape, createTextInput, setNodePropertiesShape, setGradientFillInput, setSolidFillInput, setSolidFillShape, setTextContentShape, setEffectsShape, setEffectsInput, setStrokePropertiesInput, setAutoLayoutInput, setSelectionInput, scrollAndZoomIntoViewInput, groupNodesInput, ungroupNodeInput, setTextPropertiesShape, setTextPropertiesInput, createConnectorBase, fitToContentInput, distributeInput, alignToGridInput, placeBelowInput, placeRightOfInput, duplicateWithOffsetInput, toolInputSchemas, } from "./schema.js";
5
+ import { createFrameInput, createImageInput, createSvgInput, createPageInput, importHtmlLayersInput, createShapeShape, createTextShape, createShapeInput, createShapeWithTextInput, createShapeWithTextShape, createSectionShape, createTextInput, setNodePropertiesShape, setGradientFillInput, setSolidFillInput, setSolidFillShape, setTextContentShape, setEffectsShape, setEffectsInput, setStrokePropertiesInput, setAutoLayoutInput, setSelectionInput, scrollAndZoomIntoViewInput, groupNodesInput, ungroupNodeInput, setTextPropertiesShape, setTextPropertiesInput, createConnectorBase, fitToContentInput, distributeInput, alignToGridInput, placeBelowInput, placeRightOfInput, duplicateWithOffsetInput, MAX_SVG_BYTES, toolInputSchemas, } from "./schema.js";
6
6
  import { Follower } from "./follower.js";
7
7
  const MAX_IMAGE_BYTES = 32 * 1024 * 1024;
8
8
  const IMAGE_FETCH_TIMEOUT_MS = 15_000;
9
9
  const MAX_IMAGE_REDIRECTS = 5;
10
+ /** `run_script` executes arbitrary code in the user's file, so it stays off unless explicitly enabled. */
11
+ export function isRunScriptEnabled() {
12
+ return process.env.FIGMA_BRIDGE_ENABLE_RUN_SCRIPT === "1";
13
+ }
10
14
  /**
11
15
  * Registers all Figma bridge tools on the given MCP server.
12
16
  * @param server - The MCP server instance.
@@ -195,6 +199,23 @@ export function registerTools(server, node, port) {
195
199
  };
196
200
  }
197
201
  });
202
+ server.tool("create_svg", "Insert raw SVG markup or a workspace-local SVG file as editable Figma vector layers using figma.createNodeFromSvg. You can set its parent, position, size, and semantic name. When multiple files are connected, specify fileKey.", createSvgInput.shape, async ({ source, fileKey, ...params }) => {
203
+ try {
204
+ const svgText = await loadSvgSource(source, process.cwd());
205
+ return await renderResponse(() => node.sendWithParams("create_svg", undefined, { ...params, svgText }, fileKey));
206
+ }
207
+ catch (err) {
208
+ return {
209
+ content: [
210
+ {
211
+ type: "text",
212
+ text: err instanceof Error ? err.message : String(err),
213
+ },
214
+ ],
215
+ isError: true,
216
+ };
217
+ }
218
+ });
198
219
  server.tool("import_html_layers", "Import a DOM serialization (JSON produced by html-figma's browser htmlToFigma()) as editable Figma layers inside a new wrapper frame — frames, text, rectangles, and SVG vectors in one call. Source must be a JSON file path inside the MCP server working directory. Optionally append the wrapper into an existing frame/section via parentId. Requires the plugin to be open in the design editor. When multiple files are connected, specify fileKey.", importHtmlLayersInput.shape, async ({ source, fileKey, ...params }) => {
199
220
  try {
200
221
  const layers = await loadLayersJson(source, process.cwd());
@@ -268,6 +289,11 @@ export function registerTools(server, node, port) {
268
289
  server.tool("delete_nodes", "Delete one or more nodes. This is destructive and requires confirm: true. Page and document nodes cannot be deleted through this tool. Works in both Figma and FigJam. When multiple files are connected, specify fileKey.", toolInputSchemas.delete_nodes.shape, async ({ nodeIds, confirm, fileKey }) => {
269
290
  return renderResponse(() => node.sendWithParams("delete_nodes", nodeIds, { confirm }, fileKey));
270
291
  });
292
+ if (isRunScriptEnabled()) {
293
+ server.tool("run_script", "Run Plugin API JavaScript in the Figma plugin sandbox. The code is the body of an async function with `figma` in scope; `return` a JSON-serializable value. Calls to .remove() are rejected unless allowRemove is true. Prefer batching related edits into one script. When multiple files are connected, specify fileKey.", toolInputSchemas.run_script.shape, async ({ code, allowRemove, fileKey }) => {
294
+ return renderResponse(() => node.sendWithParams("run_script", undefined, { code, allowRemove }, fileKey));
295
+ });
296
+ }
271
297
  server.tool("get_motion_styles", "List all available animation presets in Figma (Motion API beta). When multiple files are connected, specify fileKey.", toolInputSchemas.get_motion_styles.shape, async ({ fileKey }) => {
272
298
  return renderResponse(() => node.send("get_motion_styles", undefined, fileKey));
273
299
  });
@@ -426,6 +452,115 @@ function resolveAndValidateOutputPath(outputPath, workspaceRoot) {
426
452
  }
427
453
  return resolvedPath;
428
454
  }
455
+ const SVG_PROLOG_TOKENS = [
456
+ ["<?xml", "?>"],
457
+ ["<!--", "-->"],
458
+ ["<!DOCTYPE", ">"],
459
+ ];
460
+ function stripLeadingBomAndWhitespace(source) {
461
+ return source.replace(/^\uFEFF/, "").trimStart();
462
+ }
463
+ /** File paths never start with `<`, so anything that does is treated as inline markup. */
464
+ function isInlineMarkup(source) {
465
+ return stripLeadingBomAndWhitespace(source).startsWith("<");
466
+ }
467
+ /**
468
+ * Checks whether text has an `<svg>` root after the XML prolog vector editors
469
+ * emit: an optional BOM, XML declaration, comments, and DOCTYPE. This is a
470
+ * cheap pre-check for a clear error; Figma performs the full parse.
471
+ */
472
+ function hasSvgRoot(source) {
473
+ let rest = stripLeadingBomAndWhitespace(source);
474
+ for (;;) {
475
+ const token = SVG_PROLOG_TOKENS.find(([open]) => rest.startsWith(open));
476
+ if (!token)
477
+ break;
478
+ const [open, close] = token;
479
+ const end = rest.indexOf(close, open.length);
480
+ if (end === -1)
481
+ return false;
482
+ rest = rest.slice(end + close.length).trimStart();
483
+ }
484
+ return /^<svg[\s/>]/.test(rest);
485
+ }
486
+ /** Returns true when candidate is the root itself or a descendant of it. */
487
+ function isPathInside(candidate, root) {
488
+ const relativePath = path.relative(root, candidate);
489
+ return relativePath === "" || (!relativePath.startsWith("..") && !path.isAbsolute(relativePath));
490
+ }
491
+ /**
492
+ * Compares filesystem identities rather than path strings. Node exposes the
493
+ * device and inode/file-index values through Stats on both POSIX and Windows.
494
+ */
495
+ function isSameFile(opened, current) {
496
+ return opened.dev === current.dev && opened.ino === current.ino;
497
+ }
498
+ /**
499
+ * Resolves inline SVG markup or reads a workspace-contained SVG file and
500
+ * validates its size and document root before forwarding it to Figma.
501
+ */
502
+ async function loadSvgSource(source, workspaceRoot) {
503
+ let svgText;
504
+ if (isInlineMarkup(source)) {
505
+ svgText = source;
506
+ }
507
+ else {
508
+ const resolvedRoot = await realpath(path.resolve(workspaceRoot));
509
+ const lexicalPath = path.resolve(resolvedRoot, source);
510
+ if (!isPathInside(lexicalPath, resolvedRoot)) {
511
+ throw new Error("SVG source must be inside the MCP server working directory: " + resolvedRoot);
512
+ }
513
+ let resolvedPath;
514
+ try {
515
+ resolvedPath = await realpath(lexicalPath);
516
+ }
517
+ catch {
518
+ throw new Error("SVG source not found: " + source);
519
+ }
520
+ if (!isPathInside(resolvedPath, resolvedRoot)) {
521
+ throw new Error("SVG source must be inside the MCP server working directory: " + resolvedRoot);
522
+ }
523
+ // Read and validate through one descriptor. Re-resolving the caller's path
524
+ // after open and comparing file identities detects a symlink or directory
525
+ // swap between the containment check and open without relying on
526
+ // platform-specific openat/openat2 bindings that Node does not expose.
527
+ const file = await open(resolvedPath, "r");
528
+ try {
529
+ const openedInfo = await file.stat();
530
+ if (!openedInfo.isFile()) {
531
+ throw new Error("SVG source is not a regular file: " + source);
532
+ }
533
+ if (openedInfo.size > MAX_SVG_BYTES) {
534
+ throw new Error("SVG source exceeds the " + MAX_SVG_BYTES + " byte bridge limit");
535
+ }
536
+ let currentPath;
537
+ try {
538
+ currentPath = await realpath(lexicalPath);
539
+ }
540
+ catch {
541
+ throw new Error("SVG source changed while it was being opened: " + source);
542
+ }
543
+ if (!isPathInside(currentPath, resolvedRoot)) {
544
+ throw new Error("SVG source must be inside the MCP server working directory: " + resolvedRoot);
545
+ }
546
+ const currentInfo = await stat(currentPath);
547
+ if (!isSameFile(openedInfo, currentInfo)) {
548
+ throw new Error("SVG source changed while it was being opened: " + source);
549
+ }
550
+ svgText = await file.readFile({ encoding: "utf8" });
551
+ }
552
+ finally {
553
+ await file.close();
554
+ }
555
+ }
556
+ if (Buffer.byteLength(svgText, "utf8") > MAX_SVG_BYTES) {
557
+ throw new Error("SVG source exceeds the " + MAX_SVG_BYTES + " byte bridge limit");
558
+ }
559
+ if (!hasSvgRoot(svgText)) {
560
+ throw new Error("SVG source must begin with an <svg> element");
561
+ }
562
+ return svgText;
563
+ }
429
564
  /**
430
565
  * Loads an image source as a base64 string from a URL, data URI, or local file.
431
566
  * @param source - Image source: URL, data URI, or local file path.
package/dist/tools.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"tools.js","sourceRoot":"","sources":["../src/tools.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,MAAM,EAAE,MAAM,mBAAmB,CAAC;AAC3C,OAAO,EAAE,KAAK,EAAE,QAAQ,EAAE,QAAQ,EAAE,IAAI,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAC;AAC9E,OAAO,EAAE,IAAI,EAAE,MAAM,UAAU,CAAC;AAChC,OAAO,IAAI,MAAM,WAAW,CAAC;AAG7B,OAAO,EACL,gBAAgB,EAChB,gBAAgB,EAChB,eAAe,EACf,qBAAqB,EACrB,gBAAgB,EAChB,eAAe,EACf,gBAAgB,EAChB,wBAAwB,EACxB,wBAAwB,EACxB,kBAAkB,EAClB,eAAe,EACf,sBAAsB,EACtB,oBAAoB,EACpB,iBAAiB,EACjB,iBAAiB,EACjB,mBAAmB,EACnB,eAAe,EACf,eAAe,EACf,wBAAwB,EACxB,kBAAkB,EAClB,iBAAiB,EACjB,0BAA0B,EAC1B,eAAe,EACf,gBAAgB,EAChB,sBAAsB,EACtB,sBAAsB,EACtB,mBAAmB,EACnB,iBAAiB,EACjB,eAAe,EACf,gBAAgB,EAChB,eAAe,EACf,iBAAiB,EACjB,wBAAwB,EACxB,gBAAgB,GACjB,MAAM,aAAa,CAAC;AAErB,OAAO,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC;AAEzC,MAAM,eAAe,GAAG,EAAE,GAAG,IAAI,GAAG,IAAI,CAAC;AACzC,MAAM,sBAAsB,GAAG,MAAM,CAAC;AACtC,MAAM,mBAAmB,GAAG,CAAC,CAAC;AA+C9B;;;;;GAKG;AACH,MAAM,UAAU,aAAa,CAAC,MAAiB,EAAE,IAAU,EAAE,IAAY;IACvE,MAAM,CAAC,IAAI,CACT,YAAY,EACZ,mJAAmJ,EACnJ,KAAK,IAAyB,EAAE;QAC9B,IAAI,CAAC;YACH,IAAI,KAAK,GAAG,IAAI,CAAC,kBAAkB,EAAE,CAAC;YACtC,IAAI,KAAK,KAAK,SAAS,EAAE,CAAC;gBACxB,sCAAsC;gBACtC,MAAM,QAAQ,GAAG,IAAI,QAAQ,CAAC,oBAAoB,IAAI,EAAE,CAAC,CAAC;gBAC1D,KAAK,GAAG,MAAM,QAAQ,CAAC,kBAAkB,EAAE,CAAC;YAC9C,CAAC;YACD,OAAO;gBACL,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC;aACzD,CAAC;QACJ,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,OAAO;gBACL,OAAO,EAAE;oBACP;wBACE,IAAI,EAAE,MAAM;wBACZ,IAAI,EAAE,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC;qBACvD;iBACF;gBACD,OAAO,EAAE,IAAI;aACd,CAAC;QACJ,CAAC;IACH,CAAC,CACF,CAAC;IAEF,MAAM,CAAC,IAAI,CACT,cAAc,EACd,sGAAsG,EACtG,gBAAgB,CAAC,YAAY,CAAC,KAAK,EACnC,KAAK,EAAE,EAAE,OAAO,EAAE,EAAuB,EAAE;QACzC,OAAO,cAAc,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,cAAc,EAAE,SAAS,EAAE,OAAO,CAAC,CAAC,CAAC;IAC7E,CAAC,CACF,CAAC;IAEF,MAAM,CAAC,IAAI,CACT,eAAe,EACf,uGAAuG,EACvG,gBAAgB,CAAC,aAAa,CAAC,KAAK,EACpC,KAAK,EAAE,EAAE,OAAO,EAAE,EAAuB,EAAE;QACzC,OAAO,cAAc,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,eAAe,EAAE,SAAS,EAAE,OAAO,CAAC,CAAC,CAAC;IAC9E,CAAC,CACF,CAAC;IAEF,MAAM,CAAC,IAAI,CACT,iBAAiB,EACjB,+GAA+G,EAC/G,gBAAgB,CAAC,eAAe,CAAC,KAAK,EACtC,KAAK,EAAE,EAAE,MAAM,EAAE,QAAQ,EAAE,OAAO,EAAE,EAAuB,EAAE,CAC3D,cAAc,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,cAAc,CAAC,iBAAiB,EAAE,CAAC,MAAM,CAAC,EAAE,EAAE,QAAQ,EAAE,EAAE,OAAO,CAAC,CAAC,CAChG,CAAC;IAEF,MAAM,CAAC,IAAI,CACT,UAAU,EACV,oTAAoT,EACpT,gBAAgB,CAAC,QAAQ,CAAC,KAAK,EAC/B,KAAK,EAAE,EAAE,MAAM,EAAE,OAAO,EAAE,GAAG,MAAM,EAAE,EAAuB,EAAE;QAC5D,OAAO,cAAc,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,cAAc,CAAC,UAAU,EAAE,CAAC,MAAM,CAAC,EAAE,MAAM,EAAE,OAAO,CAAC,CAAC,CAAC;IAC1F,CAAC,CACF,CAAC;IAEF,MAAM,CAAC,IAAI,CACT,2BAA2B,EAC3B,+eAA+e,EAC/e,gBAAgB,CAAC,yBAAyB,CAAC,KAAK,EAChD,KAAK,EAAE,EAAE,MAAM,EAAE,OAAO,EAAE,GAAG,MAAM,EAAE,EAAuB,EAAE;QAC5D,OAAO,cAAc,CAAC,GAAG,EAAE,CACzB,IAAI,CAAC,cAAc,CACjB,2BAA2B,EAC3B,MAAM,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,SAAS,EAC7B,MAAM,EACN,OAAO,CACR,CACF,CAAC;IACJ,CAAC,CACF,CAAC;IAEF,MAAM,CAAC,IAAI,CACT,sBAAsB,EACtB,waAAwa,EACxa,gBAAgB,CAAC,oBAAoB,CAAC,KAAK,EAC3C,KAAK,EAAE,EAAE,MAAM,EAAE,OAAO,EAAE,GAAG,MAAM,EAAE,EAAuB,EAAE;QAC5D,OAAO,cAAc,CAAC,GAAG,EAAE,CACzB,IAAI,CAAC,cAAc,CAAC,sBAAsB,EAAE,CAAC,MAAM,CAAC,EAAE,MAAM,EAAE,OAAO,CAAC,CACvE,CAAC;IACJ,CAAC,CACF,CAAC;IAEF,MAAM,CAAC,IAAI,CACT,YAAY,EACZ,2FAA2F,EAC3F,gBAAgB,CAAC,UAAU,CAAC,KAAK,EACjC,KAAK,EAAE,EAAE,OAAO,EAAE,EAAuB,EAAE;QACzC,OAAO,cAAc,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,YAAY,EAAE,SAAS,EAAE,OAAO,CAAC,CAAC,CAAC;IAC3E,CAAC,CACF,CAAC;IAEF,MAAM,CAAC,IAAI,CACT,cAAc,EACd,6JAA6J,EAC7J,gBAAgB,CAAC,YAAY,CAAC,KAAK,EACnC,KAAK,EAAE,EAAE,OAAO,EAAE,EAAuB,EAAE;QACzC,OAAO,cAAc,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,cAAc,EAAE,SAAS,EAAE,OAAO,CAAC,CAAC,CAAC;IAC7E,CAAC,CACF,CAAC;IAEF,MAAM,CAAC,IAAI,CACT,oBAAoB,EACpB,2OAA2O,EAC3O,gBAAgB,CAAC,kBAAkB,CAAC,KAAK,EACzC,KAAK,EAAE,EAAE,KAAK,EAAE,OAAO,EAAE,EAAuB,EAAE;QAChD,MAAM,MAAM,GAA4B,EAAE,CAAC;QAC3C,IAAI,KAAK,KAAK,SAAS,IAAI,KAAK,GAAG,CAAC,EAAE,CAAC;YACrC,MAAM,CAAC,KAAK,GAAG,KAAK,CAAC;QACvB,CAAC;QACD,OAAO,cAAc,CAAC,GAAG,EAAE,CACzB,IAAI,CAAC,cAAc,CAAC,oBAAoB,EAAE,SAAS,EAAE,MAAM,EAAE,OAAO,CAAC,CACtE,CAAC;IACJ,CAAC,CACF,CAAC;IAEF,MAAM,CAAC,IAAI,CACT,mBAAmB,EACnB,yOAAyO,EACzO,gBAAgB,CAAC,iBAAiB,CAAC,KAAK,EACxC,KAAK,EAAE,EAAE,OAAO,EAAE,EAAuB,EAAE;QACzC,OAAO,cAAc,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,mBAAmB,EAAE,SAAS,EAAE,OAAO,CAAC,CAAC,CAAC;IAClF,CAAC,CACF,CAAC;IAEF,MAAM,CAAC,IAAI,CACT,gBAAgB,EAChB,2LAA2L,EAC3L,gBAAgB,CAAC,cAAc,CAAC,KAAK,EACrC,KAAK,EAAE,EAAE,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,IAAI,EAAE,OAAO,EAAE,EAAuB,EAAE;QACvE,MAAM,MAAM,GAA4B,EAAE,CAAC;QAC3C,IAAI,MAAM;YAAE,MAAM,CAAC,MAAM,GAAG,MAAM,CAAC;QACnC,IAAI,KAAK,KAAK,SAAS,IAAI,KAAK,GAAG,CAAC;YAAE,MAAM,CAAC,KAAK,GAAG,KAAK,CAAC;QAC3D,IAAI,IAAI,KAAK,SAAS;YAAE,MAAM,CAAC,IAAI,GAAG,IAAI,CAAC;QAC3C,OAAO,cAAc,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,cAAc,CAAC,gBAAgB,EAAE,OAAO,EAAE,MAAM,EAAE,OAAO,CAAC,CAAC,CAAC;IAC/F,CAAC,CACF,CAAC;IAEF,MAAM,CAAC,IAAI,CACT,qBAAqB,EACrB,iOAAiO,EACjO,gBAAgB,CAAC,mBAAmB,CAAC,KAAK,EAC1C,KAAK,EAAE,EAAE,KAAK,EAAE,OAAO,EAAE,EAAuB,EAAE;QAChD,OAAO,cAAc,CAAC,GAAG,EAAE,CACzB,IAAI,CAAC,cAAc,CAAC,qBAAqB,EAAE,SAAS,EAAE,EAAE,KAAK,EAAE,EAAE,OAAO,CAAC,CAC1E,CAAC;IACJ,CAAC,CACF,CAAC;IAEF,MAAM,CAAC,IAAI,CACT,kBAAkB,EAClB,oRAAoR,EACpR,mBAAmB,CAAC,KAAK,EACzB,KAAK,EAAE,IAAI,EAAuB,EAAE;QAClC,MAAM,MAAM,GAAG,cAAc,CAAC,gBAAgB,CAAC,gBAAgB,EAAE,IAAI,CAAC,CAAC;QACvE,IAAI,CAAC,MAAM,CAAC,OAAO;YAAE,OAAO,MAAM,CAAC,KAAK,CAAC;QACzC,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,OAAO,EAAE,GAAG,MAAM,CAAC,IAAI,CAAC;QAC9C,OAAO,cAAc,CAAC,GAAG,EAAE,CACzB,IAAI,CAAC,cAAc,CAAC,kBAAkB,EAAE,CAAC,MAAM,CAAC,EAAE,EAAE,IAAI,EAAE,EAAE,OAAO,CAAC,CACrE,CAAC;IACJ,CAAC,CACF,CAAC;IAEF,MAAM,CAAC,IAAI,CACT,qBAAqB,EACrB,4TAA4T,EAC5T,sBAAsB,CAAC,KAAK,EAC5B,KAAK,EAAE,IAAI,EAAuB,EAAE;QAClC,MAAM,MAAM,GAAG,cAAc,CAAC,sBAAsB,EAAE,IAAI,CAAC,CAAC;QAC5D,IAAI,CAAC,MAAM,CAAC,OAAO;YAAE,OAAO,MAAM,CAAC,KAAK,CAAC;QACzC,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,GAAG,UAAU,EAAE,GAAG,MAAM,CAAC,IAAI,CAAC;QACvD,OAAO,cAAc,CAAC,GAAG,EAAE,CACzB,IAAI,CAAC,cAAc,CAAC,qBAAqB,EAAE,CAAC,MAAM,CAAC,EAAE,UAAU,EAAE,OAAO,CAAC,CAC1E,CAAC;IACJ,CAAC,CACF,CAAC;IAEF,MAAM,CAAC,IAAI,CACT,qBAAqB,EACrB,gaAAga,EACha,sBAAsB,CAAC,KAAK,EAC5B,KAAK,EAAE,IAAI,EAAuB,EAAE;QAClC,MAAM,MAAM,GAAG,cAAc,CAAC,gBAAgB,CAAC,mBAAmB,EAAE,IAAI,CAAC,CAAC;QAC1E,IAAI,CAAC,MAAM,CAAC,OAAO;YAAE,OAAO,MAAM,CAAC,KAAK,CAAC;QACzC,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,OAAO,EAAE,GAAG,UAAU,EAAE,GAAG,MAAM,CAAC,IAAI,CAAC;QAChE,MAAM,GAAG,GAAG,OAAO,IAAI,CAAC,MAAM,KAAK,SAAS,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;QAC9D,OAAO,cAAc,CAAC,GAAG,EAAE,CACzB,IAAI,CAAC,cAAc,CAAC,qBAAqB,EAAE,GAAG,EAAE,UAAU,EAAE,OAAO,CAAC,CACrE,CAAC;IACJ,CAAC,CACF,CAAC;IAEF,MAAM,CAAC,IAAI,CACT,gBAAgB,EAChB,uMAAuM,EACvM,iBAAiB,CAAC,KAAK,EACvB,KAAK,EAAE,IAAI,EAAuB,EAAE;QAClC,MAAM,MAAM,GAAG,cAAc,CAAC,iBAAiB,EAAE,IAAI,CAAC,CAAC;QACvD,IAAI,CAAC,MAAM,CAAC,OAAO;YAAE,OAAO,MAAM,CAAC,KAAK,CAAC;QACzC,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,GAAG,MAAM,EAAE,GAAG,MAAM,CAAC,IAAI,CAAC;QACnD,OAAO,cAAc,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,cAAc,CAAC,gBAAgB,EAAE,CAAC,MAAM,CAAC,EAAE,MAAM,EAAE,OAAO,CAAC,CAAC,CAAC;IAChG,CAAC,CACF,CAAC;IAEF,MAAM,CAAC,IAAI,CACT,mBAAmB,EACnB,yRAAyR,EACzR,oBAAoB,CAAC,KAAK,EAC1B,KAAK,EAAE,EAAE,MAAM,EAAE,OAAO,EAAE,GAAG,MAAM,EAAE,EAAuB,EAAE;QAC5D,OAAO,cAAc,CAAC,GAAG,EAAE,CACzB,IAAI,CAAC,cAAc,CAAC,mBAAmB,EAAE,CAAC,MAAM,CAAC,EAAE,MAAM,EAAE,OAAO,CAAC,CACpE,CAAC;IACJ,CAAC,CACF,CAAC;IAEF,MAAM,CAAC,IAAI,CACT,aAAa,EACb,4LAA4L,EAC5L,eAAe,CAAC,KAAK,EACrB,KAAK,EAAE,IAAI,EAAuB,EAAE;QAClC,MAAM,MAAM,GAAG,cAAc,CAAC,eAAe,EAAE,IAAI,CAAC,CAAC;QACrD,IAAI,CAAC,MAAM,CAAC,OAAO;YAAE,OAAO,MAAM,CAAC,KAAK,CAAC;QACzC,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,GAAG,MAAM,EAAE,GAAG,MAAM,CAAC,IAAI,CAAC;QACnD,OAAO,cAAc,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,cAAc,CAAC,aAAa,EAAE,CAAC,MAAM,CAAC,EAAE,MAAM,EAAE,OAAO,CAAC,CAAC,CAAC;IAC7F,CAAC,CACF,CAAC;IAEF,MAAM,CAAC,IAAI,CACT,uBAAuB,EACvB,8JAA8J,EAC9J,wBAAwB,CAAC,KAAK,EAC9B,KAAK,EAAE,IAAI,EAAuB,EAAE;QAClC,MAAM,MAAM,GAAG,cAAc,CAAC,gBAAgB,CAAC,qBAAqB,EAAE,IAAI,CAAC,CAAC;QAC5E,IAAI,CAAC,MAAM,CAAC,OAAO;YAAE,OAAO,MAAM,CAAC,KAAK,CAAC;QACzC,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,GAAG,MAAM,EAAE,GAAG,MAAM,CAAC,IAAI,CAAC;QACnD,OAAO,cAAc,CAAC,GAAG,EAAE,CACzB,IAAI,CAAC,cAAc,CAAC,uBAAuB,EAAE,CAAC,MAAM,CAAC,EAAE,MAAM,EAAE,OAAO,CAAC,CACxE,CAAC;IACJ,CAAC,CACF,CAAC;IAEF,MAAM,CAAC,IAAI,CACT,iBAAiB,EACjB,+NAA+N,EAC/N,kBAAkB,CAAC,KAAK,EACxB,KAAK,EAAE,IAAI,EAAuB,EAAE;QAClC,MAAM,MAAM,GAAG,cAAc,CAAC,gBAAgB,CAAC,eAAe,EAAE,IAAI,CAAC,CAAC;QACtE,IAAI,CAAC,MAAM,CAAC,OAAO;YAAE,OAAO,MAAM,CAAC,KAAK,CAAC;QACzC,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,GAAG,MAAM,EAAE,GAAG,MAAM,CAAC,IAAI,CAAC;QACnD,OAAO,cAAc,CAAC,GAAG,EAAE,CACzB,IAAI,CAAC,cAAc,CAAC,iBAAiB,EAAE,CAAC,MAAM,CAAC,EAAE,MAAM,EAAE,OAAO,CAAC,CAClE,CAAC;IACJ,CAAC,CACF,CAAC;IAEF,MAAM,CAAC,IAAI,CACT,aAAa,EACb,0SAA0S,EAC1S,eAAe,CAAC,KAAK,EACrB,KAAK,EAAE,IAAI,EAAuB,EAAE;QAClC,MAAM,MAAM,GAAG,cAAc,CAAC,gBAAgB,CAAC,WAAW,EAAE,IAAI,CAAC,CAAC;QAClE,IAAI,CAAC,MAAM,CAAC,OAAO;YAAE,OAAO,MAAM,CAAC,KAAK,CAAC;QACzC,MAAM,EAAE,OAAO,EAAE,GAAG,MAAM,EAAE,GAAG,MAAM,CAAC,IAAI,CAAC;QAC3C,OAAO,cAAc,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,cAAc,CAAC,aAAa,EAAE,SAAS,EAAE,MAAM,EAAE,OAAO,CAAC,CAAC,CAAC;IAC9F,CAAC,CACF,CAAC;IAEF,MAAM,CAAC,IAAI,CACT,cAAc,EACd,mKAAmK,EACnK,gBAAgB,CAAC,KAAK,EACtB,KAAK,EAAE,IAAI,EAAuB,EAAE;QAClC,MAAM,MAAM,GAAG,cAAc,CAAC,gBAAgB,CAAC,YAAY,EAAE,IAAI,CAAC,CAAC;QACnE,IAAI,CAAC,MAAM,CAAC,OAAO;YAAE,OAAO,MAAM,CAAC,KAAK,CAAC;QACzC,MAAM,EAAE,OAAO,EAAE,GAAG,MAAM,EAAE,GAAG,MAAM,CAAC,IAAI,CAAC;QAC3C,OAAO,cAAc,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,cAAc,CAAC,cAAc,EAAE,SAAS,EAAE,MAAM,EAAE,OAAO,CAAC,CAAC,CAAC;IAC/F,CAAC,CACF,CAAC;IAEF,MAAM,CAAC,IAAI,CACT,gBAAgB,EAChB,2LAA2L,EAC3L,kBAAkB,CAAC,KAAK,EACxB,KAAK,EAAE,IAAI,EAAuB,EAAE;QAClC,MAAM,MAAM,GAAG,cAAc,CAAC,gBAAgB,CAAC,cAAc,EAAE,IAAI,CAAC,CAAC;QACrE,IAAI,CAAC,MAAM,CAAC,OAAO;YAAE,OAAO,MAAM,CAAC,KAAK,CAAC;QACzC,MAAM,EAAE,OAAO,EAAE,GAAG,MAAM,EAAE,GAAG,MAAM,CAAC,IAAI,CAAC;QAC3C,OAAO,cAAc,CAAC,GAAG,EAAE,CACzB,IAAI,CAAC,cAAc,CAAC,gBAAgB,EAAE,SAAS,EAAE,MAAM,EAAE,OAAO,CAAC,CAClE,CAAC;IACJ,CAAC,CACF,CAAC;IAEF,MAAM,CAAC,IAAI,CACT,aAAa,EACb,gOAAgO,EAChO,eAAe,CAAC,KAAK,EACrB,KAAK,EAAE,IAAI,EAAuB,EAAE;QAClC,MAAM,MAAM,GAAG,cAAc,CAAC,eAAe,EAAE,IAAI,CAAC,CAAC;QACrD,IAAI,CAAC,MAAM,CAAC,OAAO;YAAE,OAAO,MAAM,CAAC,KAAK,CAAC;QACzC,MAAM,EAAE,OAAO,EAAE,GAAG,MAAM,EAAE,GAAG,MAAM,CAAC,IAAI,CAAC;QAC3C,OAAO,cAAc,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,cAAc,CAAC,aAAa,EAAE,SAAS,EAAE,MAAM,EAAE,OAAO,CAAC,CAAC,CAAC;IAC9F,CAAC,CACF,CAAC;IAEF,MAAM,CAAC,IAAI,CACT,cAAc,EACd,6NAA6N,EAC7N,gBAAgB,CAAC,KAAK,EACtB,KAAK,EAAE,IAAI,EAAuB,EAAE;QAClC,MAAM,MAAM,GAAG,cAAc,CAAC,gBAAgB,EAAE,IAAI,CAAC,CAAC;QACtD,IAAI,CAAC,MAAM,CAAC,OAAO;YAAE,OAAO,MAAM,CAAC,KAAK,CAAC;QACzC,MAAM,EAAE,OAAO,EAAE,GAAG,MAAM,EAAE,GAAG,MAAM,CAAC,IAAI,CAAC;QAC3C,OAAO,cAAc,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,cAAc,CAAC,cAAc,EAAE,SAAS,EAAE,MAAM,EAAE,OAAO,CAAC,CAAC,CAAC;IAC/F,CAAC,CACF,CAAC;IAEF,MAAM,CAAC,IAAI,CACT,wBAAwB,EACxB,8SAA8S,EAC9S,wBAAwB,CAAC,KAAK,EAC9B,KAAK,EAAE,IAAI,EAAuB,EAAE;QAClC,MAAM,MAAM,GAAG,cAAc,CAAC,wBAAwB,EAAE,IAAI,CAAC,CAAC;QAC9D,IAAI,CAAC,MAAM,CAAC,OAAO;YAAE,OAAO,MAAM,CAAC,KAAK,CAAC;QACzC,MAAM,EAAE,OAAO,EAAE,GAAG,MAAM,EAAE,GAAG,MAAM,CAAC,IAAI,CAAC;QAC3C,OAAO,cAAc,CAAC,GAAG,EAAE,CACzB,IAAI,CAAC,cAAc,CAAC,wBAAwB,EAAE,SAAS,EAAE,MAAM,EAAE,OAAO,CAAC,CAC1E,CAAC;IACJ,CAAC,CACF,CAAC;IAEF,MAAM,CAAC,IAAI,CACT,cAAc,EACd,4OAA4O,EAC5O,gBAAgB,CAAC,KAAK,EACtB,KAAK,EAAE,EAAE,MAAM,EAAE,OAAO,EAAE,GAAG,MAAM,EAAE,EAAuB,EAAE;QAC5D,IAAI,CAAC;YACH,MAAM,WAAW,GAAG,MAAM,uBAAuB,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,EAAE,CAAC,CAAC;YACzE,OAAO,MAAM,cAAc,CAAC,GAAG,EAAE,CAC/B,IAAI,CAAC,cAAc,CAAC,cAAc,EAAE,SAAS,EAAE,EAAE,GAAG,MAAM,EAAE,WAAW,EAAE,EAAE,OAAO,CAAC,CACpF,CAAC;QACJ,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,OAAO;gBACL,OAAO,EAAE;oBACP;wBACE,IAAI,EAAE,MAAM;wBACZ,IAAI,EAAE,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC;qBACvD;iBACF;gBACD,OAAO,EAAE,IAAI;aACd,CAAC;QACJ,CAAC;IACH,CAAC,CACF,CAAC;IAEF,MAAM,CAAC,IAAI,CACT,oBAAoB,EACpB,4bAA4b,EAC5b,qBAAqB,CAAC,KAAK,EAC3B,KAAK,EAAE,EAAE,MAAM,EAAE,OAAO,EAAE,GAAG,MAAM,EAAE,EAAuB,EAAE;QAC5D,IAAI,CAAC;YACH,MAAM,MAAM,GAAG,MAAM,cAAc,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,EAAE,CAAC,CAAC;YAC3D,OAAO,MAAM,cAAc,CAAC,GAAG,EAAE,CAC/B,IAAI,CAAC,cAAc,CAAC,oBAAoB,EAAE,SAAS,EAAE,EAAE,GAAG,MAAM,EAAE,MAAM,EAAE,EAAE,OAAO,CAAC,CACrF,CAAC;QACJ,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,OAAO;gBACL,OAAO,EAAE;oBACP;wBACE,IAAI,EAAE,MAAM;wBACZ,IAAI,EAAE,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC;qBACvD;iBACF;gBACD,OAAO,EAAE,IAAI;aACd,CAAC;QACJ,CAAC;IACH,CAAC,CACF,CAAC;IAEF,MAAM,CAAC,IAAI,CACT,eAAe,EACf,6MAA6M,EAC7M,gBAAgB,CAAC,aAAa,CAAC,KAAK,EACpC,KAAK,EAAE,IAAI,EAAuB,EAAE;QAClC,MAAM,MAAM,GAAG,cAAc,CAAC,gBAAgB,CAAC,aAAa,EAAE,IAAI,CAAC,CAAC;QACpE,IAAI,CAAC,MAAM,CAAC,OAAO;YAAE,OAAO,MAAM,CAAC,KAAK,CAAC;QACzC,MAAM,EAAE,OAAO,EAAE,GAAG,MAAM,EAAE,GAAG,MAAM,CAAC,IAAI,CAAC;QAC3C,OAAO,cAAc,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,cAAc,CAAC,eAAe,EAAE,SAAS,EAAE,MAAM,EAAE,OAAO,CAAC,CAAC,CAAC;IAChG,CAAC,CACF,CAAC;IAEF,MAAM,CAAC,IAAI,CACT,kBAAkB,EAClB,wRAAwR,EACxR,mBAAmB,CAAC,KAAK,EACzB,KAAK,EAAE,IAAI,EAAuB,EAAE;QAClC,MAAM,MAAM,GAAG,cAAc,CAAC,gBAAgB,CAAC,gBAAgB,EAAE,IAAI,CAAC,CAAC;QACvE,IAAI,CAAC,MAAM,CAAC,OAAO;YAAE,OAAO,MAAM,CAAC,KAAK,CAAC;QACzC,MAAM,EAAE,OAAO,EAAE,GAAG,MAAM,EAAE,GAAG,MAAM,CAAC,IAAI,CAAC;QAC3C,OAAO,cAAc,CAAC,GAAG,EAAE,CACzB,IAAI,CAAC,cAAc,CAAC,kBAAkB,EAAE,SAAS,EAAE,MAAM,EAAE,OAAO,CAAC,CACpE,CAAC;IACJ,CAAC,CACF,CAAC;IAEF,MAAM,CAAC,IAAI,CACT,iBAAiB,EACjB,yLAAyL,EACzL,gBAAgB,CAAC,eAAe,CAAC,KAAK,EACtC,KAAK,EAAE,EAAE,OAAO,EAAE,OAAO,EAAE,EAAuB,EAAE;QAClD,OAAO,cAAc,CAAC,GAAG,EAAE,CACzB,IAAI,CAAC,cAAc,CAAC,iBAAiB,EAAE,OAAO,EAAE,SAAS,EAAE,OAAO,CAAC,CACpE,CAAC;IACJ,CAAC,CACF,CAAC;IAEF,MAAM,CAAC,IAAI,CACT,uBAAuB,EACvB,4NAA4N,EAC5N,wBAAwB,CAAC,KAAK,EAC9B,KAAK,EAAE,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,EAAuB,EAAE;QACpE,OAAO,cAAc,CAAC,GAAG,EAAE,CACzB,IAAI,CAAC,cAAc,CAAC,uBAAuB,EAAE,OAAO,EAAE,EAAE,OAAO,EAAE,OAAO,EAAE,EAAE,OAAO,CAAC,CACrF,CAAC;IACJ,CAAC,CACF,CAAC;IAEF,MAAM,CAAC,IAAI,CACT,gBAAgB,EAChB,qVAAqV,EACrV,iBAAiB,CAAC,KAAK,EACvB,KAAK,EAAE,EAAE,MAAM,EAAE,OAAO,EAAE,OAAO,EAAE,EAAuB,EAAE;QAC1D,OAAO,cAAc,CAAC,GAAG,EAAE,CACzB,IAAI,CAAC,cAAc,CAAC,gBAAgB,EAAE,CAAC,MAAM,CAAC,EAAE,EAAE,OAAO,EAAE,EAAE,OAAO,CAAC,CACtE,CAAC;IACJ,CAAC,CACF,CAAC;IAEF,MAAM,CAAC,IAAI,CACT,yBAAyB,EACzB,2LAA2L,EAC3L,eAAe,CAAC,KAAK,EACrB,KAAK,EAAE,EAAE,OAAO,EAAE,OAAO,EAAE,EAAuB,EAAE;QAClD,OAAO,cAAc,CAAC,GAAG,EAAE,CACzB,IAAI,CAAC,cAAc,CAAC,yBAAyB,EAAE,OAAO,EAAE,SAAS,EAAE,OAAO,CAAC,CAC5E,CAAC;IACJ,CAAC,CACF,CAAC;IAEF,MAAM,CAAC,IAAI,CACT,uBAAuB,EACvB,yLAAyL,EACzL,eAAe,CAAC,KAAK,EACrB,KAAK,EAAE,EAAE,OAAO,EAAE,OAAO,EAAE,EAAuB,EAAE;QAClD,OAAO,cAAc,CAAC,GAAG,EAAE,CACzB,IAAI,CAAC,cAAc,CAAC,uBAAuB,EAAE,OAAO,EAAE,SAAS,EAAE,OAAO,CAAC,CAC1E,CAAC;IACJ,CAAC,CACF,CAAC;IAEF,MAAM,CAAC,IAAI,CACT,eAAe,EACf,gJAAgJ,EAChJ,gBAAgB,CAAC,KAAK,EACtB,KAAK,EAAE,EAAE,OAAO,EAAE,QAAQ,EAAE,OAAO,EAAE,EAAuB,EAAE;QAC5D,OAAO,cAAc,CAAC,GAAG,EAAE,CACzB,IAAI,CAAC,cAAc,CAAC,eAAe,EAAE,OAAO,EAAE,EAAE,QAAQ,EAAE,EAAE,OAAO,CAAC,CACrE,CAAC;IACJ,CAAC,CACF,CAAC;IAEF,MAAM,CAAC,IAAI,CACT,aAAa,EACb,+MAA+M,EAC/M,eAAe,CAAC,KAAK,EACrB,KAAK,EAAE,EAAE,MAAM,EAAE,YAAY,EAAE,GAAG,EAAE,KAAK,EAAE,OAAO,EAAE,EAAuB,EAAE;QAC3E,OAAO,cAAc,CAAC,GAAG,EAAE,CACzB,IAAI,CAAC,cAAc,CAAC,aAAa,EAAE,CAAC,MAAM,CAAC,EAAE,EAAE,YAAY,EAAE,GAAG,EAAE,KAAK,EAAE,EAAE,OAAO,CAAC,CACpF,CAAC;IACJ,CAAC,CACF,CAAC;IAEF,MAAM,CAAC,IAAI,CACT,gBAAgB,EAChB,0NAA0N,EAC1N,iBAAiB,CAAC,KAAK,EACvB,KAAK,EAAE,EAAE,MAAM,EAAE,YAAY,EAAE,GAAG,EAAE,KAAK,EAAE,OAAO,EAAE,EAAuB,EAAE;QAC3E,OAAO,cAAc,CAAC,GAAG,EAAE,CACzB,IAAI,CAAC,cAAc,CAAC,gBAAgB,EAAE,CAAC,MAAM,CAAC,EAAE,EAAE,YAAY,EAAE,GAAG,EAAE,KAAK,EAAE,EAAE,OAAO,CAAC,CACvF,CAAC;IACJ,CAAC,CACF,CAAC;IAEF,MAAM,CAAC,IAAI,CACT,gBAAgB,EAChB,+IAA+I,EAC/I,gBAAgB,CAAC,cAAc,CAAC,KAAK,EACrC,KAAK,EAAE,EAAE,OAAO,EAAE,QAAQ,EAAE,OAAO,EAAE,EAAuB,EAAE;QAC5D,OAAO,cAAc,CAAC,GAAG,EAAE,CACzB,IAAI,CAAC,cAAc,CAAC,gBAAgB,EAAE,OAAO,EAAE,EAAE,QAAQ,EAAE,EAAE,OAAO,CAAC,CACtE,CAAC;IACJ,CAAC,CACF,CAAC;IAEF,MAAM,CAAC,IAAI,CACT,aAAa,EACb,yIAAyI,EACzI,eAAe,CAAC,KAAK,EACrB,KAAK,EAAE,EAAE,OAAO,EAAE,OAAO,EAAE,GAAG,MAAM,EAAE,EAAuB,EAAE;QAC7D,OAAO,cAAc,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,cAAc,CAAC,aAAa,EAAE,OAAO,EAAE,MAAM,EAAE,OAAO,CAAC,CAAC,CAAC;IAC5F,CAAC,CACF,CAAC;IAEF,MAAM,CAAC,IAAI,CACT,cAAc,EACd,yJAAyJ,EACzJ,gBAAgB,CAAC,KAAK,EACtB,KAAK,EAAE,EAAE,MAAM,EAAE,OAAO,EAAE,EAAuB,EAAE;QACjD,OAAO,cAAc,CAAC,GAAG,EAAE,CACzB,IAAI,CAAC,cAAc,CAAC,cAAc,EAAE,CAAC,MAAM,CAAC,EAAE,SAAS,EAAE,OAAO,CAAC,CAClE,CAAC;IACJ,CAAC,CACF,CAAC;IAEF,MAAM,CAAC,IAAI,CACT,eAAe,EACf,uJAAuJ,EACvJ,iBAAiB,CAAC,KAAK,EACvB,KAAK,EAAE,EAAE,OAAO,EAAE,OAAO,EAAE,EAAuB,EAAE;QAClD,OAAO,cAAc,CAAC,GAAG,EAAE,CACzB,IAAI,CAAC,cAAc,CAAC,eAAe,EAAE,OAAO,EAAE,SAAS,EAAE,OAAO,CAAC,CAClE,CAAC;IACJ,CAAC,CACF,CAAC;IAEF,MAAM,CAAC,IAAI,CACT,2BAA2B,EAC3B,sIAAsI,EACtI,0BAA0B,CAAC,KAAK,EAChC,KAAK,EAAE,EAAE,OAAO,EAAE,OAAO,EAAE,EAAuB,EAAE;QAClD,OAAO,cAAc,CAAC,GAAG,EAAE,CACzB,IAAI,CAAC,cAAc,CAAC,2BAA2B,EAAE,OAAO,EAAE,SAAS,EAAE,OAAO,CAAC,CAC9E,CAAC;IACJ,CAAC,CACF,CAAC;IAEF,MAAM,CAAC,IAAI,CACT,cAAc,EACd,4NAA4N,EAC5N,gBAAgB,CAAC,YAAY,CAAC,KAAK,EACnC,KAAK,EAAE,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,EAAuB,EAAE;QAC3D,OAAO,cAAc,CAAC,GAAG,EAAE,CACzB,IAAI,CAAC,cAAc,CAAC,cAAc,EAAE,OAAO,EAAE,EAAE,OAAO,EAAE,EAAE,OAAO,CAAC,CACnE,CAAC;IACJ,CAAC,CACF,CAAC;IAEF,MAAM,CAAC,IAAI,CACT,mBAAmB,EACnB,sHAAsH,EACtH,gBAAgB,CAAC,iBAAiB,CAAC,KAAK,EACxC,KAAK,EAAE,EAAE,OAAO,EAAE,EAAuB,EAAE;QACzC,OAAO,cAAc,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,mBAAmB,EAAE,SAAS,EAAE,OAAO,CAAC,CAAC,CAAC;IAClF,CAAC,CACF,CAAC;IAEF,MAAM,CAAC,IAAI,CACT,iBAAiB,EACjB,+JAA+J,EAC/J,gBAAgB,CAAC,eAAe,CAAC,KAAK,EACtC,KAAK,EAAE,EAAE,MAAM,EAAE,OAAO,EAAE,EAAuB,EAAE;QACjD,OAAO,cAAc,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,iBAAiB,EAAE,CAAC,MAAM,CAAC,EAAE,OAAO,CAAC,CAAC,CAAC;IAC/E,CAAC,CACF,CAAC;IAEF,MAAM,CAAC,IAAI,CACT,uBAAuB,EACvB,iHAAiH,EACjH,gBAAgB,CAAC,qBAAqB,CAAC,KAAK,EAC5C,KAAK,EAAE,IAAI,EAAuB,EAAE;QAClC,MAAM,MAAM,GAAG,cAAc,CAAC,gBAAgB,CAAC,qBAAqB,EAAE,IAAI,CAAC,CAAC;QAC5E,IAAI,CAAC,MAAM,CAAC,OAAO;YAAE,OAAO,MAAM,CAAC,KAAK,CAAC;QACzC,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,GAAG,UAAU,EAAE,GAAG,MAAM,CAAC,IAAI,CAAC;QACvD,OAAO,cAAc,CAAC,GAAG,EAAE,CACzB,IAAI,CAAC,cAAc,CAAC,uBAAuB,EAAE,CAAC,MAAM,CAAC,EAAE,UAAU,EAAE,OAAO,CAAC,CAC5E,CAAC;IACJ,CAAC,CACF,CAAC;IAEF,MAAM,CAAC,IAAI,CACT,wBAAwB,EACxB,8KAA8K,EAC9K,gBAAgB,CAAC,sBAAsB,CAAC,KAAK,EAC7C,KAAK,EAAE,IAAI,EAAuB,EAAE;QAClC,MAAM,MAAM,GAAG,cAAc,CAAC,gBAAgB,CAAC,sBAAsB,EAAE,IAAI,CAAC,CAAC;QAC7E,IAAI,CAAC,MAAM,CAAC,OAAO;YAAE,OAAO,MAAM,CAAC,KAAK,CAAC;QACzC,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,GAAG,UAAU,EAAE,GAAG,MAAM,CAAC,IAAI,CAAC;QACvD,OAAO,cAAc,CAAC,GAAG,EAAE,CACzB,IAAI,CAAC,cAAc,CAAC,wBAAwB,EAAE,CAAC,MAAM,CAAC,EAAE,UAAU,EAAE,OAAO,CAAC,CAC7E,CAAC;IACJ,CAAC,CACF,CAAC;IAEF,MAAM,CAAC,IAAI,CACT,6BAA6B,EAC7B,4JAA4J,EAC5J,gBAAgB,CAAC,2BAA2B,CAAC,KAAK,EAClD,KAAK,EAAE,IAAI,EAAuB,EAAE;QAClC,MAAM,MAAM,GAAG,cAAc,CAAC,gBAAgB,CAAC,2BAA2B,EAAE,IAAI,CAAC,CAAC;QAClF,IAAI,CAAC,MAAM,CAAC,OAAO;YAAE,OAAO,MAAM,CAAC,KAAK,CAAC;QACzC,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,GAAG,UAAU,EAAE,GAAG,MAAM,CAAC,IAAI,CAAC;QACvD,OAAO,cAAc,CAAC,GAAG,EAAE,CACzB,IAAI,CAAC,cAAc,CAAC,6BAA6B,EAAE,CAAC,MAAM,CAAC,EAAE,UAAU,EAAE,OAAO,CAAC,CAClF,CAAC;IACJ,CAAC,CACF,CAAC;IAEF,MAAM,CAAC,IAAI,CACT,8BAA8B,EAC9B,gJAAgJ,EAChJ,gBAAgB,CAAC,4BAA4B,CAAC,KAAK,EACnD,KAAK,EAAE,IAAI,EAAuB,EAAE;QAClC,MAAM,MAAM,GAAG,cAAc,CAAC,gBAAgB,CAAC,4BAA4B,EAAE,IAAI,CAAC,CAAC;QACnF,IAAI,CAAC,MAAM,CAAC,OAAO;YAAE,OAAO,MAAM,CAAC,KAAK,CAAC;QACzC,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,GAAG,UAAU,EAAE,GAAG,MAAM,CAAC,IAAI,CAAC;QACvD,OAAO,cAAc,CAAC,GAAG,EAAE,CACzB,IAAI,CAAC,cAAc,CAAC,8BAA8B,EAAE,CAAC,MAAM,CAAC,EAAE,UAAU,EAAE,OAAO,CAAC,CACnF,CAAC;IACJ,CAAC,CACF,CAAC;IAEF,MAAM,CAAC,IAAI,CACT,uBAAuB,EACvB,oGAAoG,EACpG,gBAAgB,CAAC,qBAAqB,CAAC,KAAK,EAC5C,KAAK,EAAE,IAAI,EAAuB,EAAE;QAClC,MAAM,MAAM,GAAG,cAAc,CAAC,gBAAgB,CAAC,qBAAqB,EAAE,IAAI,CAAC,CAAC;QAC5E,IAAI,CAAC,MAAM,CAAC,OAAO;YAAE,OAAO,MAAM,CAAC,KAAK,CAAC;QACzC,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,GAAG,UAAU,EAAE,GAAG,MAAM,CAAC,IAAI,CAAC;QACvD,OAAO,cAAc,CAAC,GAAG,EAAE,CACzB,IAAI,CAAC,cAAc,CAAC,uBAAuB,EAAE,CAAC,MAAM,CAAC,EAAE,UAAU,EAAE,OAAO,CAAC,CAC5E,CAAC;IACJ,CAAC,CACF,CAAC;IAEF,MAAM,CAAC,IAAI,CACT,kBAAkB,EAClB,8KAA8K,EAC9K,gBAAgB,CAAC,gBAAgB,CAAC,KAAK,EACvC,KAAK,EAAE,EAAE,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,IAAI,EAAE,OAAO,EAAE,EAAuB,EAAE;QACrE,IAAI,CAAC;YACH,gDAAgD;YAChD,MAAM,MAAM,GAAqB;gBAC/B,cAAc,EAAE,CAAC,WAAW,EAAE,OAAO,EAAE,MAAM,EAAE,EAAE,CAC/C,IAAI,CAAC,cAAc,CAAC,WAAW,EAAE,OAAO,EAAE,MAAM,EAAE,OAAO,CAAC;aAC7D,CAAC;YACF,MAAM,MAAM,GAAG,MAAM,sBAAsB,CAAC,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,IAAI,CAAC,CAAC;YAChF,OAAO;gBACL,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,EAAE,CAAC;aAC1D,CAAC;QACJ,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,OAAO;gBACL,OAAO,EAAE;oBACP;wBACE,IAAI,EAAE,MAAM;wBACZ,IAAI,EAAE,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC;qBACvD;iBACF;gBACD,OAAO,EAAE,IAAI;aACd,CAAC;QACJ,CAAC;IACH,CAAC,CACF,CAAC;AACJ,CAAC;AAED;;;;;;;;GAQG;AACH,MAAM,CAAC,KAAK,UAAU,sBAAsB,CAC1C,MAAwB,EACxB,KAAgC,EAChC,MAAqB,EACrB,KAAc,EACd,IAAc;IAQd,MAAM,OAAO,GAA+B,EAAE,CAAC;IAE/C,KAAK,MAAM,CAAC,KAAK,EAAE,IAAI,CAAC,IAAI,KAAK,CAAC,OAAO,EAAE,EAAE,CAAC;QAC5C,MAAM,MAAM,GAAG,MAAM,wBAAwB,CAC3C,MAAM,EACN,IAAI,EACJ,KAAK,EACL,OAAO,CAAC,GAAG,EAAE,EACb,MAAM,EACN,KAAK,EACL,IAAI,CACL,CAAC;QACF,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;IACvB,CAAC;IAED,MAAM,SAAS,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,MAAM,CAAC;IAC1D,MAAM,MAAM,GAAG,OAAO,CAAC,MAAM,GAAG,SAAS,CAAC;IAE1C,OAAO;QACL,KAAK,EAAE,OAAO,CAAC,MAAM;QACrB,SAAS;QACT,MAAM;QACN,SAAS,EAAE,MAAM,GAAG,CAAC;QACrB,OAAO;KACR,CAAC;AACJ,CAAC;AAED;;;;GAIG;AACH,KAAK,UAAU,cAAc,CAAC,EAAiC;IAC7D,IAAI,CAAC;QACH,MAAM,IAAI,GAAG,MAAM,EAAE,EAAE,CAAC;QACxB,IAAI,IAAI,CAAC,KAAK,EAAE,CAAC;YACf,OAAO;gBACL,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,IAAI,CAAC,KAAK,EAAE,CAAC;gBAC7C,OAAO,EAAE,IAAI;aACd,CAAC;QACJ,CAAC;QACD,OAAO;YACL,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC;SAC7D,CAAC;IACJ,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,OAAO;YACL,OAAO,EAAE;gBACP;oBACE,IAAI,EAAE,MAAM;oBACZ,IAAI,EAAE,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC;iBACvD;aACF;YACD,OAAO,EAAE,IAAI;SACd,CAAC;IACJ,CAAC;AACH,CAAC;AAED;;;;;GAKG;AACH,SAAS,cAAc;AACrB,6EAA6E;AAC7E,0EAA0E;AAC1E,MAA2C,EAC3C,IAAa;IAEb,MAAM,MAAM,GAAG,MAAM,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC;IACtC,IAAI,MAAM,CAAC,OAAO,EAAE,CAAC;QACnB,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE,MAAM,CAAC,IAAI,EAAE,CAAC;IAC9C,CAAC;IAED,OAAO;QACL,OAAO,EAAE,KAAK;QACd,KAAK,EAAE;YACL,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,OAAO,EAAE,CAAC;YACjE,OAAO,EAAE,IAAI;SACd;KACF,CAAC;AACJ,CAAC;AAED;;;;;GAKG;AACH,SAAS,4BAA4B,CAAC,UAAkB,EAAE,aAAqB;IAC7E,MAAM,YAAY,GAAG,IAAI,CAAC,OAAO,CAAC,aAAa,CAAC,CAAC;IACjD,MAAM,YAAY,GAAG,IAAI,CAAC,OAAO,CAAC,YAAY,EAAE,UAAU,CAAC,CAAC;IAC5D,MAAM,YAAY,GAAG,IAAI,CAAC,QAAQ,CAAC,YAAY,EAAE,YAAY,CAAC,CAAC;IAC/D,MAAM,WAAW,GAAG,YAAY,CAAC,UAAU,CAAC,IAAI,CAAC,IAAI,IAAI,CAAC,UAAU,CAAC,YAAY,CAAC,CAAC;IACnF,IAAI,WAAW,EAAE,CAAC;QAChB,MAAM,IAAI,KAAK,CAAC,+DAA+D,YAAY,EAAE,CAAC,CAAC;IACjG,CAAC;IACD,OAAO,YAAY,CAAC;AACtB,CAAC;AAED;;;;;GAKG;AACH,MAAM,qBAAqB,GAAG,EAAE,GAAG,IAAI,GAAG,IAAI,CAAC;AAE/C;;;;;;GAMG;AACH,KAAK,UAAU,cAAc,CAC3B,MAAc,EACd,aAAqB;IAErB,MAAM,YAAY,GAAG,MAAM,QAAQ,CAAC,IAAI,CAAC,OAAO,CAAC,aAAa,CAAC,CAAC,CAAC;IACjE,MAAM,WAAW,GAAG,IAAI,CAAC,OAAO,CAAC,YAAY,EAAE,MAAM,CAAC,CAAC;IACvD,4EAA4E;IAC5E,oEAAoE;IACpE,IAAI,YAAoB,CAAC;IACzB,IAAI,CAAC;QACH,YAAY,GAAG,MAAM,QAAQ,CAAC,WAAW,CAAC,CAAC;IAC7C,CAAC;IAAC,MAAM,CAAC;QACP,MAAM,IAAI,KAAK,CAAC,4BAA4B,MAAM,EAAE,CAAC,CAAC;IACxD,CAAC;IACD,MAAM,YAAY,GAAG,IAAI,CAAC,QAAQ,CAAC,YAAY,EAAE,YAAY,CAAC,CAAC;IAC/D,MAAM,WAAW,GAAG,YAAY,CAAC,UAAU,CAAC,IAAI,CAAC,IAAI,IAAI,CAAC,UAAU,CAAC,YAAY,CAAC,CAAC;IACnF,IAAI,WAAW,EAAE,CAAC;QAChB,MAAM,IAAI,KAAK,CACb,kEAAkE,YAAY,EAAE,CACjF,CAAC;IACJ,CAAC;IACD,yEAAyE;IACzE,2BAA2B;IAC3B,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,YAAY,CAAC,CAAC;IACtC,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,EAAE,CAAC;QACnB,MAAM,IAAI,KAAK,CAAC,wCAAwC,MAAM,EAAE,CAAC,CAAC;IACpE,CAAC;IACD,IAAI,IAAI,CAAC,IAAI,GAAG,qBAAqB,EAAE,CAAC;QACtC,MAAM,IAAI,KAAK,CAAC,uBAAuB,qBAAqB,QAAQ,CAAC,CAAC;IACxE,CAAC;IACD,MAAM,KAAK,GAAG,MAAM,QAAQ,CAAC,YAAY,CAAC,CAAC;IAC3C,IAAI,MAAe,CAAC;IACpB,IAAI,CAAC;QACH,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC;IAC9C,CAAC;IAAC,MAAM,CAAC;QACP,MAAM,IAAI,KAAK,CAAC,oCAAoC,MAAM,EAAE,CAAC,CAAC;IAChE,CAAC;IACD,+EAA+E;IAC/E,MAAM,IAAI,GAAG,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC;IACxD,IAAI,CAAC,IAAI,IAAI,OAAO,IAAI,KAAK,QAAQ,IAAI,OAAQ,IAA2B,CAAC,IAAI,KAAK,QAAQ,EAAE,CAAC;QAC/F,MAAM,IAAI,KAAK,CACb,+EAA+E,CAChF,CAAC;IACJ,CAAC;IACD,OAAO,IAA+B,CAAC;AACzC,CAAC;AAED,KAAK,UAAU,uBAAuB,CAAC,MAAc,EAAE,aAAqB;IAC1E,IAAI,eAAe,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC;QACjC,MAAM,KAAK,GAAG,MAAM,eAAe,CAAC,MAAM,CAAC,CAAC;QAC5C,OAAO,KAAK,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC;IAClC,CAAC;IAED,MAAM,YAAY,GAAG,MAAM,CAAC,KAAK,CAAC,wBAAwB,CAAC,CAAC;IAC5D,IAAI,YAAY,EAAE,CAAC;QACjB,OAAO,YAAY,CAAC,CAAC,CAAC,CAAC;IACzB,CAAC;IAED,MAAM,YAAY,GAAG,IAAI,CAAC,OAAO,CAAC,aAAa,CAAC,CAAC;IACjD,MAAM,YAAY,GAAG,IAAI,CAAC,OAAO,CAAC,YAAY,EAAE,MAAM,CAAC,CAAC;IACxD,MAAM,YAAY,GAAG,IAAI,CAAC,QAAQ,CAAC,YAAY,EAAE,YAAY,CAAC,CAAC;IAC/D,MAAM,WAAW,GAAG,YAAY,CAAC,UAAU,CAAC,IAAI,CAAC,IAAI,IAAI,CAAC,UAAU,CAAC,YAAY,CAAC,CAAC;IACnF,IAAI,WAAW,EAAE,CAAC;QAChB,MAAM,IAAI,KAAK,CACb,iEAAiE,YAAY,EAAE,CAChF,CAAC;IACJ,CAAC;IACD,MAAM,KAAK,GAAG,MAAM,QAAQ,CAAC,YAAY,CAAC,CAAC;IAC3C,IAAI,KAAK,CAAC,MAAM,GAAG,eAAe,EAAE,CAAC;QACnC,MAAM,IAAI,KAAK,CAAC,iBAAiB,eAAe,QAAQ,CAAC,CAAC;IAC5D,CAAC;IACD,OAAO,KAAK,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC;AAClC,CAAC;AAED;;;;GAIG;AACH,KAAK,UAAU,eAAe,CAAC,MAAc;IAC3C,IAAI,GAAG,GAAG,IAAI,GAAG,CAAC,MAAM,CAAC,CAAC;IAC1B,IAAI,SAAS,GAAG,CAAC,CAAC;IAElB,OAAO,IAAI,EAAE,CAAC;QACZ,MAAM,iBAAiB,CAAC,GAAG,CAAC,CAAC;QAE7B,MAAM,UAAU,GAAG,IAAI,eAAe,EAAE,CAAC;QACzC,MAAM,OAAO,GAAG,UAAU,CAAC,GAAG,EAAE,CAAC,UAAU,CAAC,KAAK,EAAE,EAAE,sBAAsB,CAAC,CAAC;QAC7E,IAAI,IAAc,CAAC;QACnB,IAAI,CAAC;YACH,IAAI,GAAG,MAAM,KAAK,CAAC,GAAG,EAAE;gBACtB,MAAM,EAAE,UAAU,CAAC,MAAM;gBACzB,QAAQ,EAAE,QAAQ;aACnB,CAAC,CAAC;QACL,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,IAAI,GAAG,YAAY,KAAK,IAAI,GAAG,CAAC,IAAI,KAAK,YAAY,EAAE,CAAC;gBACtD,MAAM,IAAI,KAAK,CAAC,kCAAkC,sBAAsB,IAAI,CAAC,CAAC;YAChF,CAAC;YACD,MAAM,GAAG,CAAC;QACZ,CAAC;gBAAS,CAAC;YACT,YAAY,CAAC,OAAO,CAAC,CAAC;QACxB,CAAC;QAED,IAAI,IAAI,CAAC,MAAM,IAAI,GAAG,IAAI,IAAI,CAAC,MAAM,GAAG,GAAG,EAAE,CAAC;YAC5C,MAAM,QAAQ,GAAG,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC;YAC9C,IAAI,CAAC,QAAQ,EAAE,CAAC;gBACd,MAAM,IAAI,KAAK,CAAC,2CAA2C,IAAI,CAAC,MAAM,EAAE,CAAC,CAAC;YAC5E,CAAC;YACD,SAAS,IAAI,CAAC,CAAC;YACf,IAAI,SAAS,GAAG,mBAAmB,EAAE,CAAC;gBACpC,MAAM,IAAI,KAAK,CAAC,wBAAwB,mBAAmB,YAAY,CAAC,CAAC;YAC3E,CAAC;YACD,GAAG,GAAG,IAAI,GAAG,CAAC,QAAQ,EAAE,GAAG,CAAC,CAAC;YAC7B,SAAS;QACX,CAAC;QAED,IAAI,CAAC,IAAI,CAAC,EAAE,EAAE,CAAC;YACb,MAAM,IAAI,KAAK,CAAC,0BAA0B,IAAI,CAAC,MAAM,IAAI,IAAI,CAAC,UAAU,EAAE,CAAC,CAAC;QAC9E,CAAC;QAED,MAAM,aAAa,GAAG,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,gBAAgB,CAAC,CAAC;QACzD,IAAI,aAAa,KAAK,IAAI,EAAE,CAAC;YAC3B,MAAM,IAAI,GAAG,MAAM,CAAC,aAAa,CAAC,CAAC;YACnC,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,IAAI,GAAG,CAAC,EAAE,CAAC;gBACvC,MAAM,IAAI,KAAK,CAAC,qCAAqC,CAAC,CAAC;YACzD,CAAC;YACD,IAAI,IAAI,GAAG,eAAe,EAAE,CAAC;gBAC3B,MAAM,IAAI,KAAK,CAAC,iBAAiB,eAAe,QAAQ,CAAC,CAAC;YAC5D,CAAC;QACH,CAAC;QAED,OAAO,mBAAmB,CAAC,IAAI,EAAE,eAAe,CAAC,CAAC;IACpD,CAAC;AACH,CAAC;AAED;;;GAGG;AACH,KAAK,UAAU,iBAAiB,CAAC,GAAQ;IACvC,IAAI,GAAG,CAAC,QAAQ,KAAK,OAAO,IAAI,GAAG,CAAC,QAAQ,KAAK,QAAQ,EAAE,CAAC;QAC1D,MAAM,IAAI,KAAK,CAAC,kCAAkC,CAAC,CAAC;IACtD,CAAC;IACD,IAAI,CAAC,GAAG,CAAC,QAAQ,EAAE,CAAC;QAClB,MAAM,IAAI,KAAK,CAAC,mCAAmC,CAAC,CAAC;IACvD,CAAC;IAED,MAAM,QAAQ,GAAG,iBAAiB,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;IACjD,MAAM,SAAS,GAAG,IAAI,CAAC,QAAQ,CAAC,CAAC;IACjC,IAAI,SAAS,KAAK,CAAC,EAAE,CAAC;QACpB,IAAI,WAAW,CAAC,QAAQ,CAAC,EAAE,CAAC;YAC1B,MAAM,IAAI,KAAK,CAAC,kDAAkD,CAAC,CAAC;QACtE,CAAC;QACD,OAAO;IACT,CAAC;IAED,MAAM,SAAS,GAAG,MAAM,MAAM,CAAC,QAAQ,EAAE,EAAE,GAAG,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC,CAAC;IACxE,IAAI,SAAS,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QAC3B,MAAM,IAAI,KAAK,CAAC,oCAAoC,CAAC,CAAC;IACxD,CAAC;IACD,IAAI,SAAS,CAAC,IAAI,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,WAAW,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,EAAE,CAAC;QAC9D,MAAM,IAAI,KAAK,CAAC,kDAAkD,CAAC,CAAC;IACtE,CAAC;AACH,CAAC;AAED;;;;GAIG;AACH,SAAS,WAAW,CAAC,OAAe;IAClC,IAAI,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC;QACxB,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,GAAG,OAAO,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;QAC9C,OAAO,CACL,CAAC,KAAK,CAAC;YACP,CAAC,KAAK,EAAE;YACR,CAAC,KAAK,GAAG;YACT,CAAC,CAAC,KAAK,GAAG,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,IAAI,GAAG,CAAC;YAClC,CAAC,CAAC,KAAK,GAAG,IAAI,CAAC,KAAK,GAAG,CAAC;YACxB,CAAC,CAAC,KAAK,GAAG,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,IAAI,EAAE,CAAC;YACjC,CAAC,CAAC,KAAK,GAAG,IAAI,CAAC,KAAK,GAAG,CAAC;YACxB,CAAC,IAAI,GAAG,CACT,CAAC;IACJ,CAAC;IAED,MAAM,UAAU,GAAG,OAAO,CAAC,WAAW,EAAE,CAAC;IACzC,IAAI,UAAU,CAAC,UAAU,CAAC,SAAS,CAAC,EAAE,CAAC;QACrC,OAAO,WAAW,CAAC,UAAU,CAAC,KAAK,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC,CAAC;IACzD,CAAC;IAED,OAAO,CACL,UAAU,KAAK,IAAI;QACnB,UAAU,KAAK,KAAK;QACpB,UAAU,CAAC,UAAU,CAAC,IAAI,CAAC;QAC3B,UAAU,CAAC,UAAU,CAAC,IAAI,CAAC;QAC3B,YAAY,CAAC,IAAI,CAAC,UAAU,CAAC;QAC7B,UAAU,CAAC,UAAU,CAAC,IAAI,CAAC,CAC5B,CAAC;AACJ,CAAC;AAED;;;;GAIG;AACH,SAAS,iBAAiB,CAAC,QAAgB;IACzC,IAAI,QAAQ,CAAC,UAAU,CAAC,GAAG,CAAC,IAAI,QAAQ,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE,CAAC;QACvD,OAAO,QAAQ,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;IAC/B,CAAC;IACD,OAAO,QAAQ,CAAC;AAClB,CAAC;AAED;;;;;GAKG;AACH,KAAK,UAAU,mBAAmB,CAAC,IAAc,EAAE,QAAgB;IACjE,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC;QACf,OAAO,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;IACzB,CAAC;IAED,MAAM,MAAM,GAAa,EAAE,CAAC;IAC5B,IAAI,KAAK,GAAG,CAAC,CAAC;IACd,IAAI,KAAK,EAAE,MAAM,KAAK,IAAI,IAAI,CAAC,IAAI,EAAE,CAAC;QACpC,MAAM,KAAK,GAAG,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QACjC,KAAK,IAAI,KAAK,CAAC,MAAM,CAAC;QACtB,IAAI,KAAK,GAAG,QAAQ,EAAE,CAAC;YACrB,MAAM,IAAI,KAAK,CAAC,iBAAiB,QAAQ,QAAQ,CAAC,CAAC;QACrD,CAAC;QACD,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;IACrB,CAAC;IACD,OAAO,MAAM,CAAC,MAAM,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC;AACtC,CAAC;AAED;;;;GAIG;AACH,SAAS,mBAAmB,CAAC,UAAkB;IAC7C,MAAM,GAAG,GAAG,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC,WAAW,EAAE,CAAC;IACnD,QAAQ,GAAG,EAAE,CAAC;QACZ,KAAK,MAAM;YACT,OAAO,KAAK,CAAC;QACf,KAAK,MAAM;YACT,OAAO,KAAK,CAAC;QACf,KAAK,MAAM,CAAC;QACZ,KAAK,OAAO;YACV,OAAO,KAAK,CAAC;QACf,KAAK,MAAM;YACT,OAAO,KAAK,CAAC;QACf;YACE,OAAO,IAAI,CAAC;IAChB,CAAC;AACH,CAAC;AAED;;;;;GAKG;AACH,SAAS,mBAAmB,CAC1B,MAAgC,EAChC,cAAmC;IAEnC,IAAI,MAAM,IAAI,cAAc,IAAI,MAAM,KAAK,cAAc,EAAE,CAAC;QAC1D,MAAM,IAAI,KAAK,CAAC,UAAU,MAAM,yCAAyC,cAAc,GAAG,CAAC,CAAC;IAC9F,CAAC;IACD,OAAO,MAAM,IAAI,cAAc,IAAI,KAAK,CAAC;AAC3C,CAAC;AAED;;;;GAIG;AACH,SAAS,yBAAyB,CAAC,IAAa;IAC9C,IAAI,CAAC,IAAI,IAAI,OAAO,IAAI,KAAK,QAAQ,EAAE,CAAC;QACtC,MAAM,IAAI,KAAK,CAAC,yCAAyC,CAAC,CAAC;IAC7D,CAAC;IAED,MAAM,OAAO,GAAI,IAA8B,CAAC,OAAO,CAAC;IACxD,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,IAAI,OAAO,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACpD,MAAM,IAAI,KAAK,CAAC,yCAAyC,CAAC,CAAC;IAC7D,CAAC;IAED,MAAM,KAAK,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC;IACzB,IACE,CAAC,KAAK;QACN,OAAO,KAAK,KAAK,QAAQ;QACzB,OAAQ,KAA8B,CAAC,MAAM,KAAK,QAAQ;QAC1D,OAAQ,KAAgC,CAAC,QAAQ,KAAK,QAAQ;QAC9D,OAAQ,KAA8B,CAAC,MAAM,KAAK,QAAQ;QAC1D,OAAQ,KAA6B,CAAC,KAAK,KAAK,QAAQ;QACxD,OAAQ,KAA8B,CAAC,MAAM,KAAK,QAAQ,EAC1D,CAAC;QACD,MAAM,IAAI,KAAK,CAAC,qCAAqC,CAAC,CAAC;IACzD,CAAC;IAED,MAAM,UAAU,GAAG,KAAyB,CAAC;IAC7C,OAAO,UAAU,CAAC;AACpB,CAAC;AAED;;;;;;;;;;GAUG;AACH,KAAK,UAAU,wBAAwB,CACrC,MAAwB,EACxB,IAA6B,EAC7B,KAAa,EACb,aAAqB,EACrB,aAA4B,EAC5B,YAAqB,EACrB,WAAqB;IAErB,IAAI,kBAAkB,GAAG,IAAI,CAAC,UAAU,CAAC;IAEzC,IAAI,CAAC;QACH,kBAAkB,GAAG,4BAA4B,CAAC,IAAI,CAAC,UAAU,EAAE,aAAa,CAAC,CAAC;QAClF,MAAM,cAAc,GAAG,mBAAmB,CAAC,kBAAkB,CAAC,CAAC;QAC/D,MAAM,cAAc,GAAG,mBAAmB,CAAC,IAAI,CAAC,MAAM,IAAI,aAAa,EAAE,cAAc,CAAC,CAAC;QACzF,MAAM,aAAa,GAAG,YAAY,CAAC,IAAI,CAAC,KAAK,EAAE,YAAY,CAAC,CAAC;QAC7D,MAAM,YAAY,GAAG,IAAI,CAAC,IAAI,IAAI,WAAW,CAAC;QAE9C,MAAM,MAAM,GAA4B,EAAE,MAAM,EAAE,cAAc,EAAE,CAAC;QACnE,IAAI,aAAa,KAAK,SAAS,EAAE,CAAC;YAChC,MAAM,CAAC,KAAK,GAAG,aAAa,CAAC;QAC/B,CAAC;QACD,IAAI,YAAY,KAAK,SAAS,EAAE,CAAC;YAC/B,MAAM,CAAC,IAAI,GAAG,YAAY,CAAC;QAC7B,CAAC;QAED,MAAM,IAAI,GAAG,MAAM,MAAM,CAAC,cAAc,CAAC,gBAAgB,EAAE,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,MAAM,CAAC,CAAC;QAClF,IAAI,IAAI,CAAC,KAAK,EAAE,CAAC;YACf,MAAM,IAAI,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QAC9B,CAAC;QAED,MAAM,gBAAgB,GAAG,yBAAyB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAC9D,MAAM,YAAY,GAAG,MAAM,iBAAiB,CAAC,gBAAgB,CAAC,MAAM,EAAE,kBAAkB,CAAC,CAAC;QAE1F,OAAO;YACL,KAAK;YACL,MAAM,EAAE,gBAAgB,CAAC,MAAM;YAC/B,QAAQ,EAAE,gBAAgB,CAAC,QAAQ;YACnC,UAAU,EAAE,kBAAkB;YAC9B,MAAM,EAAE,cAAc;YACtB,KAAK,EAAE,gBAAgB,CAAC,KAAK;YAC7B,MAAM,EAAE,gBAAgB,CAAC,MAAM;YAC/B,YAAY;YACZ,OAAO,EAAE,IAAI;SACd,CAAC;IACJ,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,OAAO;YACL,KAAK;YACL,MAAM,EAAE,IAAI,CAAC,MAAM;YACnB,UAAU,EAAE,kBAAkB;YAC9B,OAAO,EAAE,KAAK;YACd,KAAK,EAAE,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC;SACxD,CAAC;IACJ,CAAC;AACH,CAAC;AAED;;;;;GAKG;AACH,KAAK,UAAU,iBAAiB,CAAC,MAAc,EAAE,UAAkB;IACjE,MAAM,KAAK,GAAG,MAAM,CAAC,IAAI,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAC;IAC5C,MAAM,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;IAC3D,IAAI,CAAC;QACH,MAAM,SAAS,CAAC,UAAU,EAAE,KAAK,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC;IACrD,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,IAAI,WAAW,CAAC,GAAG,CAAC,IAAI,GAAG,CAAC,IAAI,KAAK,QAAQ,EAAE,CAAC;YAC9C,MAAM,IAAI,KAAK,CAAC,sCAAsC,UAAU,EAAE,CAAC,CAAC;QACtE,CAAC;QACD,MAAM,GAAG,CAAC;IACZ,CAAC;IACD,OAAO,KAAK,CAAC,MAAM,CAAC;AACtB,CAAC;AAED;;;;;GAKG;AACH,SAAS,YAAY,CAAC,SAAkB,EAAE,YAAqB;IAC7D,MAAM,aAAa,GAAG,SAAS,IAAI,YAAY,CAAC;IAChD,IAAI,aAAa,KAAK,SAAS,IAAI,aAAa,IAAI,CAAC,EAAE,CAAC;QACtD,OAAO,SAAS,CAAC;IACnB,CAAC;IACD,OAAO,aAAa,CAAC;AACvB,CAAC;AAED;;;;GAIG;AACH,SAAS,WAAW,CAAC,GAAY;IAC/B,OAAO,GAAG,YAAY,KAAK,CAAC;AAC9B,CAAC"}
1
+ {"version":3,"file":"tools.js","sourceRoot":"","sources":["../src/tools.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@gethopp/figma-mcp-bridge",
3
- "version": "0.0.23",
3
+ "version": "0.0.25",
4
4
  "description": "MCP server that bridges Figma plugin data to AI tools without hitting API rate limits",
5
5
  "type": "module",
6
6
  "bin": {