@ticktockbent/charlotte 0.4.0 → 0.4.1

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/CHANGELOG.md CHANGED
@@ -2,6 +2,17 @@
2
2
 
3
3
  All notable changes to Charlotte will be documented in this file.
4
4
 
5
+ ## [0.4.1] - 2026-03-05
6
+
7
+ ### Added
8
+
9
+ - **`charlotte:click_at`** — Click at specific page coordinates (x, y). Enables interaction with non-semantic elements (custom widgets, canvas regions, SVG graphics) that don't appear in the accessibility tree. Supports left/right/double click and modifier keys.
10
+ - **CSS selector mode for `charlotte:find`** — New `selector` parameter queries the DOM directly via `DOM.querySelectorAll`, returning elements with Charlotte IDs usable by all interaction tools. Complements the existing accessibility tree search for elements that lack semantic roles.
11
+
12
+ ### Fixed
13
+
14
+ - **`charlotte:evaluate` silent null on multi-statement code** — Replaced `new Function('return ' + expr)` with CDP `Runtime.evaluate`, which evaluates JavaScript as a program and returns the completion value of the last expression-statement. The previous implementation suffered from ASI (Automatic Semicolon Insertion) silently converting `return\n...` into `return;`, causing multi-line scripts to return null without error.
15
+
5
16
  ## [0.4.0] - 2026-03-03
6
17
 
7
18
  ### Added
package/README.md CHANGED
@@ -12,7 +12,7 @@ Charlotte takes a different approach. It decomposes each page into a typed, stru
12
12
 
13
13
  ### Benchmarks
14
14
 
15
- Charlotte v0.4.0 vs Playwright MCP, measured by characters returned per tool call on real websites:
15
+ Charlotte v0.4.1 vs Playwright MCP, measured by characters returned per tool call on real websites:
16
16
 
17
17
  **Navigation** (first contact with a page):
18
18
 
@@ -29,11 +29,11 @@ Charlotte's `navigate` returns minimal detail by default — landmarks, headings
29
29
 
30
30
  | Profile | Tools | Def. tokens/call | Savings vs full |
31
31
  |:---|---:|---:|---:|
32
- | full | 40 | 7,187 | — |
33
- | browse (default) | 22 | 3,727 | **48%** |
34
- | core | 7 | 1,677 | **77%** |
32
+ | full | 41 | ~7,400 | — |
33
+ | browse (default) | 23 | ~3,900 | **~47%** |
34
+ | core | 7 | 1,677 | **~77%** |
35
35
 
36
- Tool definitions are sent on every API round-trip. With the default `browse` profile, Charlotte carries 48% less definition overhead than loading all 40 tools. Over a 20-call browsing session, that's **38.6% fewer total tokens**. See the [profile benchmark report](docs/charlotte-profile-benchmark-report.md) for full results.
36
+ Tool definitions are sent on every API round-trip. With the default `browse` profile, Charlotte carries ~47% less definition overhead than loading all 41 tools. Over a 20-call browsing session, that's **~38% fewer total tokens**. See the [profile benchmark report](docs/charlotte-profile-benchmark-report.md) for full results.
37
37
 
38
38
  **The workflow difference:** Playwright agents receive 61K+ characters every time they look at Hacker News, whether they're reading headlines or looking for a login button. Charlotte agents get 336 characters on arrival, call `find({ type: "link", text: "login" })` to get exactly what they need, and never pay for the rest.
39
39
 
@@ -63,9 +63,9 @@ Agents receive landmarks, headings, interactive elements with typed metadata, bo
63
63
 
64
64
  **Navigation** — `navigate`, `back`, `forward`, `reload`
65
65
 
66
- **Observation** — `observe` (3 detail levels), `find` (spatial + semantic search), `screenshot`, `diff` (structural comparison against snapshots)
66
+ **Observation** — `observe` (3 detail levels), `find` (spatial + semantic search, CSS selector mode), `screenshot`, `diff` (structural comparison against snapshots)
67
67
 
68
- **Interaction** — `click`, `type`, `select`, `toggle`, `submit`, `scroll`, `hover`, `drag`, `key`, `wait_for` (async condition polling), `dialog` (accept/dismiss JS dialogs)
68
+ **Interaction** — `click`, `click_at` (coordinate-based), `type`, `select`, `toggle`, `submit`, `scroll`, `hover`, `drag`, `key`, `wait_for` (async condition polling), `dialog` (accept/dismiss JS dialogs)
69
69
 
70
70
  **Monitoring** — `console` (all severity levels, filtering, timestamps), `requests` (full HTTP history, method/status/resource type filtering)
71
71
 
@@ -77,14 +77,14 @@ Agents receive landmarks, headings, interactive elements with typed metadata, bo
77
77
 
78
78
  ## Tool Profiles
79
79
 
80
- Charlotte ships 40 tools, but most workflows only need a subset. Startup profiles control which tools load into the agent's context, reducing definition overhead by up to 77%.
80
+ Charlotte ships 41 tools, but most workflows only need a subset. Startup profiles control which tools load into the agent's context, reducing definition overhead by up to 77%.
81
81
 
82
82
  ```bash
83
- charlotte --profile browse # 22 tools (default) — navigate, observe, interact, tabs
83
+ charlotte --profile browse # 23 tools (default) — navigate, observe, interact, tabs
84
84
  charlotte --profile core # 7 tools — navigate, observe, find, click, type, submit
85
- charlotte --profile full # 40 tools — everything
86
- charlotte --profile interact # 27 tools — full interaction + dialog + evaluate
87
- charlotte --profile develop # 30 tools — interact + dev_serve, dev_inject, dev_audit
85
+ charlotte --profile full # 41 tools — everything
86
+ charlotte --profile interact # 28 tools — full interaction + dialog + evaluate
87
+ charlotte --profile develop # 31 tools — interact + dev_serve, dev_inject, dev_audit
88
88
  charlotte --profile audit # 13 tools — navigation + observation + dev_audit + viewport
89
89
  ```
90
90
 
@@ -293,6 +293,7 @@ btn-a3f1 (button) inp-c7e2 (text input)
293
293
  lnk-d4b9 (link) sel-e8a3 (select)
294
294
  chk-f1a2 (checkbox) frm-b1d4 (form)
295
295
  rgn-e0d2 (landmark) hdg-0f40 (heading)
296
+ dom-b2c3 (DOM element, from CSS selector queries)
296
297
  ```
297
298
 
298
299
  IDs survive unrelated DOM changes and element reordering within the same container. When an agent navigates at minimal detail (no individual element IDs), it uses `find` to locate elements by text, type, or spatial proximity — the returned elements include IDs ready for interaction.
@@ -346,7 +347,7 @@ All tools go through `renderActivePage()` which handles snapshots, reload events
346
347
 
347
348
  ## Sandbox
348
349
 
349
- Charlotte includes a test website in `tests/sandbox/` that exercises all 40 tools without touching the public internet. Serve it locally with:
350
+ Charlotte includes a test website in `tests/sandbox/` that exercises all 41 tools without touching the public internet. Serve it locally with:
350
351
 
351
352
  ```
352
353
  dev_serve({ path: "tests/sandbox" })
package/dist/server.js CHANGED
@@ -35,7 +35,7 @@ export function createServer(deps, options = {}) {
35
35
  }
36
36
  const server = new McpServer({
37
37
  name: "charlotte",
38
- version: "0.3.0",
38
+ version: "0.4.1",
39
39
  }, {
40
40
  capabilities: {
41
41
  tools: {},
@@ -1 +1 @@
1
- {"version":3,"file":"evaluate.d.ts","sourceRoot":"","sources":["../../src/tools/evaluate.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,SAAS,EAAE,cAAc,EAAE,MAAM,yCAAyC,CAAC;AACzF,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,+BAA+B,CAAC;AACpE,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,4BAA4B,CAAC;AAI9D,MAAM,WAAW,YAAY;IAC3B,cAAc,EAAE,cAAc,CAAC;IAC/B,WAAW,CAAC,EAAE,WAAW,CAAC;IAC1B,aAAa,EAAE,MAAM,OAAO,WAAW,EAAE,IAAI,CAAC;CAC/C;AAED,wBAAgB,qBAAqB,CACnC,MAAM,EAAE,SAAS,EACjB,IAAI,EAAE,YAAY,GACjB,MAAM,CAAC,MAAM,EAAE,cAAc,CAAC,CA8HhC"}
1
+ {"version":3,"file":"evaluate.d.ts","sourceRoot":"","sources":["../../src/tools/evaluate.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,SAAS,EAAE,cAAc,EAAE,MAAM,yCAAyC,CAAC;AACzF,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,+BAA+B,CAAC;AACpE,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,4BAA4B,CAAC;AAI9D,MAAM,WAAW,YAAY;IAC3B,cAAc,EAAE,cAAc,CAAC;IAC/B,WAAW,CAAC,EAAE,WAAW,CAAC;IAC1B,aAAa,EAAE,MAAM,OAAO,WAAW,EAAE,IAAI,CAAC;CAC/C;AAED,wBAAgB,qBAAqB,CACnC,MAAM,EAAE,SAAS,EACjB,IAAI,EAAE,YAAY,GACjB,MAAM,CAAC,MAAM,EAAE,cAAc,CAAC,CAoHhC"}
@@ -4,9 +4,9 @@ import { logger } from "../utils/logger.js";
4
4
  export function registerEvaluateTools(server, deps) {
5
5
  const tools = {};
6
6
  tools["charlotte:evaluate"] = server.registerTool("charlotte:evaluate", {
7
- description: "Execute JavaScript in page context. Useful for reading computed values, triggering custom events, or accessing page-level APIs.",
7
+ description: "Execute JavaScript in page context. Supports single expressions and multi-statement code. Returns the completion value of the last expression-statement.",
8
8
  inputSchema: {
9
- expression: z.string().describe("JS expression to evaluate"),
9
+ expression: z.string().describe("JS expression or multi-statement code to evaluate"),
10
10
  timeout: z
11
11
  .number()
12
12
  .optional()
@@ -21,45 +21,27 @@ export function registerEvaluateTools(server, deps) {
21
21
  const page = deps.getActivePage();
22
22
  const evaluationTimeout = timeout ?? 5000;
23
23
  const shouldAwaitPromise = await_promise ?? true;
24
+ const cdpSession = await page.createCDPSession();
24
25
  try {
25
- const result = await Promise.race([
26
- page.evaluate(async (expr, awaitPromise) => {
27
- try {
28
- let result = new Function('return ' + expr)();
29
- if (awaitPromise && result && typeof result === "object" && typeof result.then === "function") {
30
- result = await result;
31
- }
32
- // Serialize the result
33
- if (result === undefined)
34
- return { value: null, type: "undefined" };
35
- if (result === null)
36
- return { value: null, type: "null" };
37
- if (typeof result === "function")
38
- return { value: result.toString(), type: "function" };
39
- if (result instanceof HTMLElement)
40
- return { value: result.outerHTML.substring(0, 200), type: "HTMLElement" };
41
- if (result instanceof Node)
42
- return { value: result.nodeName, type: "Node" };
43
- try {
44
- return { value: JSON.parse(JSON.stringify(result)), type: typeof result };
45
- }
46
- catch {
47
- return { value: String(result), type: typeof result };
48
- }
49
- }
50
- catch (error) {
51
- return {
52
- error: true,
53
- message: error.message,
54
- stack: error.stack,
55
- };
56
- }
57
- }, expression, shouldAwaitPromise),
58
- new Promise((_, reject) => setTimeout(() => reject(new Error("TIMEOUT")), evaluationTimeout)),
26
+ const evalResult = await Promise.race([
27
+ cdpSession.send("Runtime.evaluate", {
28
+ expression,
29
+ returnByValue: true,
30
+ awaitPromise: shouldAwaitPromise,
31
+ timeout: evaluationTimeout,
32
+ }),
33
+ new Promise((_, reject) => setTimeout(() => reject(new Error("TIMEOUT")), evaluationTimeout + 500)),
59
34
  ]);
60
- if (result && typeof result === "object" && "error" in result && result.error) {
61
- throw new CharlotteError(CharlotteErrorCode.EVALUATION_ERROR, `Evaluation error: ${result.message}`);
35
+ // Check for exceptions
36
+ if (evalResult.exceptionDetails) {
37
+ const exceptionMessage = evalResult.exceptionDetails.exception?.description ??
38
+ evalResult.exceptionDetails.text ??
39
+ "Unknown evaluation error";
40
+ throw new CharlotteError(CharlotteErrorCode.EVALUATION_ERROR, `Evaluation error: ${exceptionMessage}`);
62
41
  }
42
+ // Serialize the RemoteObject result
43
+ const remoteObject = evalResult.result;
44
+ const result = serializeRemoteObject(remoteObject);
63
45
  return {
64
46
  content: [
65
47
  {
@@ -105,7 +87,37 @@ export function registerEvaluateTools(server, deps) {
105
87
  isError: true,
106
88
  };
107
89
  }
90
+ finally {
91
+ await cdpSession.detach();
92
+ }
108
93
  });
109
94
  return tools;
110
95
  }
96
+ /**
97
+ * Convert a CDP RemoteObject to a { value, type } result.
98
+ */
99
+ function serializeRemoteObject(remoteObject) {
100
+ const { type, subtype, value, description, className } = remoteObject;
101
+ if (type === "undefined") {
102
+ return { value: null, type: "undefined" };
103
+ }
104
+ if (subtype === "null") {
105
+ return { value: null, type: "null" };
106
+ }
107
+ if (type === "function") {
108
+ return { value: description ?? "[function]", type: "function" };
109
+ }
110
+ if (type === "object" && subtype === "node") {
111
+ return { value: description ?? "[Node]", type: className ?? "Node" };
112
+ }
113
+ if (type === "object" && subtype === "error") {
114
+ return { value: description ?? "[Error]", type: "Error" };
115
+ }
116
+ // For primitives and serializable objects, returnByValue gives us the value directly
117
+ if (value !== undefined) {
118
+ return { value, type };
119
+ }
120
+ // Fallback for non-serializable objects
121
+ return { value: description ?? `[${className ?? type}]`, type: className ?? type };
122
+ }
111
123
  //# sourceMappingURL=evaluate.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"evaluate.js","sourceRoot":"","sources":["../../src/tools/evaluate.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"evaluate.js","sourceRoot":"","sources":["../../src/tools/evaluate.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"interaction.d.ts","sourceRoot":"","sources":["../../src/tools/interaction.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;AAIzE,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,yCAAyC,CAAC;AAC9E,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,mBAAmB,CAAC;AA6Y1D,wBAAgB,wBAAwB,CACtC,MAAM,EAAE,SAAS,EACjB,IAAI,EAAE,gBAAgB,GACrB,MAAM,CAAC,MAAM,EAAE,cAAc,CAAC,CAsiBhC"}
1
+ {"version":3,"file":"interaction.d.ts","sourceRoot":"","sources":["../../src/tools/interaction.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;AAIzE,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,yCAAyC,CAAC;AAC9E,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,mBAAmB,CAAC;AA6Y1D,wBAAgB,wBAAwB,CACtC,MAAM,EAAE,SAAS,EACjB,IAAI,EAAE,gBAAgB,GACrB,MAAM,CAAC,MAAM,EAAE,cAAc,CAAC,CAymBhC"}
@@ -335,6 +335,65 @@ export function registerInteractionTools(server, deps) {
335
335
  return handleToolError(error);
336
336
  }
337
337
  });
338
+ // ─── charlotte:click_at ───
339
+ tools["charlotte:click_at"] = server.registerTool("charlotte:click_at", {
340
+ description: "Click at specific page coordinates. Use when target elements are not in the accessibility tree (custom widgets, canvas, non-semantic interactive divs). Dispatches real CDP-level mouse events. Returns full page representation after the click.",
341
+ inputSchema: {
342
+ x: z.number().describe("X coordinate in page pixels"),
343
+ y: z.number().describe("Y coordinate in page pixels"),
344
+ click_type: z
345
+ .enum(["left", "right", "double"])
346
+ .optional()
347
+ .describe('Click type: "left" (default), "right", "double"'),
348
+ modifiers: z
349
+ .array(z.enum(["ctrl", "shift", "alt", "meta"]))
350
+ .optional()
351
+ .describe('Modifier keys to hold during click: ["ctrl"], ["shift"], ["alt"], ["meta"], or combinations'),
352
+ },
353
+ }, async ({ x, y, click_type, modifiers }) => {
354
+ try {
355
+ await deps.browserManager.ensureConnected();
356
+ const page = deps.pageManager.getActivePage();
357
+ const clickVariant = click_type ?? "left";
358
+ const activeModifiers = modifiers ?? [];
359
+ logger.info("Clicking at coordinates", {
360
+ x,
361
+ y,
362
+ clickType: clickVariant,
363
+ modifiers: activeModifiers,
364
+ });
365
+ await waitForPossibleNavigation(page, async () => {
366
+ // Hold down modifier keys
367
+ for (const modifier of activeModifiers) {
368
+ const modifierKey = MODIFIER_KEY_MAP[modifier];
369
+ await page.keyboard.down(modifierKey);
370
+ }
371
+ try {
372
+ if (clickVariant === "right") {
373
+ await page.mouse.click(x, y, { button: "right" });
374
+ }
375
+ else if (clickVariant === "double") {
376
+ await page.mouse.click(x, y, { clickCount: 2 });
377
+ }
378
+ else {
379
+ await page.mouse.click(x, y);
380
+ }
381
+ }
382
+ finally {
383
+ // Release modifier keys in reverse order
384
+ for (const modifier of [...activeModifiers].reverse()) {
385
+ const modifierKey = MODIFIER_KEY_MAP[modifier];
386
+ await page.keyboard.up(modifierKey);
387
+ }
388
+ }
389
+ });
390
+ const representation = await renderAfterAction(deps);
391
+ return formatPageResponse(representation);
392
+ }
393
+ catch (error) {
394
+ return handleToolError(error);
395
+ }
396
+ });
338
397
  // ─── charlotte:type ───
339
398
  tools["charlotte:type"] = server.registerTool("charlotte:type", {
340
399
  description: "Type text into an input element. Returns full page representation after typing.",
@@ -1 +1 @@
1
- {"version":3,"file":"interaction.js","sourceRoot":"","sources":["../../src/tools/interaction.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAGxB,OAAO,EAAE,cAAc,EAAE,kBAAkB,EAAE,MAAM,oBAAoB,CAAC;AACxE,OAAO,EAAE,MAAM,EAAE,MAAM,oBAAoB,CAAC;AAG5C,OAAO,EACL,gBAAgB,EAChB,iBAAiB,EACjB,cAAc,EACd,kBAAkB,EAClB,eAAe,GAChB,MAAM,mBAAmB,CAAC;AAE3B,8DAA8D;AAC9D,MAAM,gBAAgB,GAA6B;IACjD,IAAI,EAAE,SAAqB;IAC3B,KAAK,EAAE,OAAmB;IAC1B,GAAG,EAAE,KAAiB;IACtB,IAAI,EAAE,MAAkB;CACzB,CAAC;AAEF;;;;;GAKG;AACH,KAAK,UAAU,2BAA2B,CACxC,IAAU,EACV,aAAqB,EACrB,YAAyC,MAAM,EAC/C,YAAsD,EAAE;IAExD,4DAA4D;IAC5D,MAAM,UAAU,GAAG,MAAM,IAAI,CAAC,gBAAgB,EAAE,CAAC;IACjD,IAAI,CAAC;QACH,sCAAsC;QACtC,MAAM,UAAU,CAAC,IAAI,CAAC,4BAA4B,EAAE,EAAE,aAAa,EAAE,CAAC,CAAC;QAEvE,gCAAgC;QAChC,MAAM,EAAE,KAAK,EAAE,GAAG,MAAM,UAAU,CAAC,IAAI,CAAC,iBAAiB,EAAE;YACzD,aAAa;SACd,CAAC,CAAC;QAEH,IAAI,CAAC,KAAK,EAAE,CAAC;YACX,MAAM,IAAI,cAAc,CACtB,kBAAkB,CAAC,iBAAiB,EACpC,oEAAoE,EACpE,sDAAsD,CACvD,CAAC;QACJ,CAAC;QAED,6CAA6C;QAC7C,MAAM,WAAW,GAAG,KAAK,CAAC,OAAO,CAAC;QAClC,MAAM,OAAO,GACX,CAAC,WAAW,CAAC,CAAC,CAAC,GAAG,WAAW,CAAC,CAAC,CAAC,GAAG,WAAW,CAAC,CAAC,CAAC,GAAG,WAAW,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC;QAC1E,MAAM,OAAO,GACX,CAAC,WAAW,CAAC,CAAC,CAAC,GAAG,WAAW,CAAC,CAAC,CAAC,GAAG,WAAW,CAAC,CAAC,CAAC,GAAG,WAAW,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC;QAE1E,2CAA2C;QAC3C,KAAK,MAAM,QAAQ,IAAI,SAAS,EAAE,CAAC;YACjC,MAAM,WAAW,GAAG,gBAAgB,CAAC,QAAQ,CAAC,CAAC;YAC/C,MAAM,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;QACxC,CAAC;QAED,IAAI,CAAC;YACH,IAAI,SAAS,KAAK,OAAO,EAAE,CAAC;gBAC1B,MAAM,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,OAAO,EAAE,OAAO,EAAE,EAAE,MAAM,EAAE,OAAO,EAAE,CAAC,CAAC;YAChE,CAAC;iBAAM,IAAI,SAAS,KAAK,QAAQ,EAAE,CAAC;gBAClC,MAAM,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,OAAO,EAAE,OAAO,EAAE,EAAE,UAAU,EAAE,CAAC,EAAE,CAAC,CAAC;YAC9D,CAAC;iBAAM,CAAC;gBACN,MAAM,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;YAC3C,CAAC;QACH,CAAC;gBAAS,CAAC;YACT,8EAA8E;YAC9E,KAAK,MAAM,QAAQ,IAAI,CAAC,GAAG,SAAS,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC;gBAChD,MAAM,WAAW,GAAG,gBAAgB,CAAC,QAAQ,CAAC,CAAC;gBAC/C,MAAM,IAAI,CAAC,QAAQ,CAAC,EAAE,CAAC,WAAW,CAAC,CAAC;YACtC,CAAC;QACH,CAAC;IACH,CAAC;YAAS,CAAC;QACT,MAAM,UAAU,CAAC,MAAM,EAAE,CAAC;IAC5B,CAAC;AACH,CAAC;AAED;;;;;;;;;;GAUG;AACH,KAAK,UAAU,yBAAyB,CACtC,IAAU,EACV,MAA2B,EAC3B,EAAE,iBAAiB,GAAG,GAAG,EAAE,aAAa,GAAG,KAAK,EAAE,QAAQ,GAAG,EAAE,EAAE,GAAG,EAAE;IAEtE,IAAI,kBAAkB,GAAG,KAAK,CAAC;IAC/B,IAAI,cAAc,GAAG,KAAK,CAAC;IAE3B,uEAAuE;IACvE,MAAM,sBAAsB,GAAG,IAAI,OAAO,CAAO,CAAC,OAAO,EAAE,EAAE;QAC3D,MAAM,OAAO,GAAG,GAAG,EAAE;YACnB,kBAAkB,GAAG,IAAI,CAAC;YAC1B,IAAI,CAAC,GAAG,CAAC,gBAAgB,EAAE,OAAO,CAAC,CAAC;YACpC,OAAO,EAAE,CAAC;QACZ,CAAC,CAAC;QACF,IAAI,CAAC,EAAE,CAAC,gBAAgB,EAAE,OAAO,CAAC,CAAC;QAEnC,mEAAmE;QACnE,UAAU,CAAC,GAAG,EAAE;YACd,IAAI,CAAC,GAAG,CAAC,gBAAgB,EAAE,OAAO,CAAC,CAAC;YACpC,OAAO,EAAE,CAAC;QACZ,CAAC,EAAE,iBAAiB,CAAC,CAAC;IACxB,CAAC,CAAC,CAAC;IAEH,wDAAwD;IACxD,MAAM,aAAa,GAAG,IAAI,OAAO,CAAO,CAAC,OAAO,EAAE,EAAE;QAClD,MAAM,OAAO,GAAG,GAAG,EAAE;YACnB,cAAc,GAAG,IAAI,CAAC;YACtB,IAAI,CAAC,GAAG,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC;YAC5B,OAAO,EAAE,CAAC;QACZ,CAAC,CAAC;QACF,IAAI,CAAC,EAAE,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC;QAC3B,wEAAwE;QACxE,UAAU,CAAC,GAAG,EAAE,GAAG,IAAI,CAAC,GAAG,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC,EAAE,iBAAiB,CAAC,CAAC;IACnF,CAAC,CAAC,CAAC;IAEH,yBAAyB;IACzB,MAAM,aAAa,GAAG,MAAM,EAAE,CAAC;IAC/B,MAAM,OAAO,CAAC,IAAI,CAAC;QACjB,aAAa,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC,QAAiB,CAAC;QAC3C,aAAa,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC,QAAiB,CAAC;KAC5C,CAAC,CAAC;IAEH,IAAI,cAAc,EAAE,CAAC;QACnB,qEAAqE;QACrE,iEAAiE;QACjE,sEAAsE;QACtE,aAAa,CAAC,KAAK,CAAC,GAAG,EAAE;YACvB,MAAM,CAAC,KAAK,CAAC,gDAAgD,CAAC,CAAC;QACjE,CAAC,CAAC,CAAC;QACH,OAAO;IACT,CAAC;IAED,mDAAmD;IACnD,MAAM,sBAAsB,CAAC;IAE7B,IAAI,kBAAkB,EAAE,CAAC;QACvB,4DAA4D;QAC5D,IAAI,CAAC;YACH,MAAM,IAAI,CAAC,iBAAiB,CAAC,EAAE,SAAS,EAAE,MAAM,EAAE,OAAO,EAAE,aAAa,EAAE,CAAC,CAAC;QAC9E,CAAC;QAAC,MAAM,CAAC;YACP,6EAA6E;YAC7E,0DAA0D;YAC1D,MAAM,CAAC,KAAK,CAAC,8DAA8D,CAAC,CAAC;QAC/E,CAAC;IACH,CAAC;SAAM,CAAC;QACN,uDAAuD;QACvD,MAAM,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,UAAU,CAAC,OAAO,EAAE,QAAQ,CAAC,CAAC,CAAC;IAChE,CAAC;AACH,CAAC;AAED;;GAEG;AACH,KAAK,UAAU,2BAA2B,CACxC,IAAU,EACV,aAAqB;IAErB,MAAM,UAAU,GAAG,MAAM,IAAI,CAAC,gBAAgB,EAAE,CAAC;IACjD,IAAI,CAAC;QACH,MAAM,UAAU,CAAC,IAAI,CAAC,WAAW,EAAE,EAAE,aAAa,EAAE,CAAC,CAAC;IACxD,CAAC;YAAS,CAAC;QACT,MAAM,UAAU,CAAC,MAAM,EAAE,CAAC;IAC5B,CAAC;AACH,CAAC;AAED;;GAEG;AACH,KAAK,UAAU,6BAA6B,CAC1C,IAAU,EACV,aAAqB;IAErB,MAAM,UAAU,GAAG,MAAM,IAAI,CAAC,gBAAgB,EAAE,CAAC;IACjD,IAAI,CAAC;QACH,MAAM,UAAU,CAAC,IAAI,CAAC,4BAA4B,EAAE,EAAE,aAAa,EAAE,CAAC,CAAC;IACzE,CAAC;YAAS,CAAC;QACT,MAAM,UAAU,CAAC,MAAM,EAAE,CAAC;IAC5B,CAAC;AACH,CAAC;AAED;;GAEG;AACH,KAAK,UAAU,2BAA2B,CACxC,IAAU,EACV,aAAqB;IAErB,MAAM,UAAU,GAAG,MAAM,IAAI,CAAC,gBAAgB,EAAE,CAAC;IACjD,IAAI,CAAC;QACH,MAAM,UAAU,CAAC,IAAI,CAAC,4BAA4B,EAAE,EAAE,aAAa,EAAE,CAAC,CAAC;QACvE,MAAM,EAAE,KAAK,EAAE,GAAG,MAAM,UAAU,CAAC,IAAI,CAAC,iBAAiB,EAAE;YACzD,aAAa;SACd,CAAC,CAAC;QAEH,IAAI,CAAC,KAAK,EAAE,CAAC;YACX,MAAM,IAAI,cAAc,CACtB,kBAAkB,CAAC,iBAAiB,EACpC,6CAA6C,CAC9C,CAAC;QACJ,CAAC;QAED,MAAM,WAAW,GAAG,KAAK,CAAC,OAAO,CAAC;QAClC,MAAM,OAAO,GACX,CAAC,WAAW,CAAC,CAAC,CAAC,GAAG,WAAW,CAAC,CAAC,CAAC,GAAG,WAAW,CAAC,CAAC,CAAC,GAAG,WAAW,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC;QAC1E,MAAM,OAAO,GACX,CAAC,WAAW,CAAC,CAAC,CAAC,GAAG,WAAW,CAAC,CAAC,CAAC,GAAG,WAAW,CAAC,CAAC,CAAC,GAAG,WAAW,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC;QAE1E,MAAM,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;IAC1C,CAAC;YAAS,CAAC;QACT,MAAM,UAAU,CAAC,MAAM,EAAE,CAAC;IAC5B,CAAC;AACH,CAAC;AAED;;;GAGG;AACH,KAAK,UAAU,gBAAgB,CAC7B,IAAU,EACV,aAAqB;IAErB,MAAM,UAAU,GAAG,MAAM,IAAI,CAAC,gBAAgB,EAAE,CAAC;IACjD,IAAI,CAAC;QACH,MAAM,UAAU,CAAC,IAAI,CAAC,4BAA4B,EAAE,EAAE,aAAa,EAAE,CAAC,CAAC;QACvE,MAAM,EAAE,KAAK,EAAE,GAAG,MAAM,UAAU,CAAC,IAAI,CAAC,iBAAiB,EAAE;YACzD,aAAa;SACd,CAAC,CAAC;QAEH,IAAI,CAAC,KAAK,EAAE,CAAC;YACX,MAAM,IAAI,cAAc,CACtB,kBAAkB,CAAC,iBAAiB,EACpC,oEAAoE,EACpE,sDAAsD,CACvD,CAAC;QACJ,CAAC;QAED,MAAM,WAAW,GAAG,KAAK,CAAC,OAAO,CAAC;QAClC,OAAO;YACL,CAAC,EAAE,CAAC,WAAW,CAAC,CAAC,CAAC,GAAG,WAAW,CAAC,CAAC,CAAC,GAAG,WAAW,CAAC,CAAC,CAAC,GAAG,WAAW,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC;YAC1E,CAAC,EAAE,CAAC,WAAW,CAAC,CAAC,CAAC,GAAG,WAAW,CAAC,CAAC,CAAC,GAAG,WAAW,CAAC,CAAC,CAAC,GAAG,WAAW,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC;SAC3E,CAAC;IACJ,CAAC;YAAS,CAAC;QACT,MAAM,UAAU,CAAC,MAAM,EAAE,CAAC;IAC5B,CAAC;AACH,CAAC;AAED;;;;GAIG;AACH,KAAK,UAAU,oBAAoB,CACjC,IAAU,EACV,mBAA2B,EAC3B,mBAA2B;IAE3B,MAAM,YAAY,GAAG,MAAM,gBAAgB,CAAC,IAAI,EAAE,mBAAmB,CAAC,CAAC;IACvE,MAAM,YAAY,GAAG,MAAM,gBAAgB,CAAC,IAAI,EAAE,mBAAmB,CAAC,CAAC;IAEvE,gCAAgC;IAChC,MAAM,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC,EAAE,YAAY,CAAC,CAAC,CAAC,CAAC;IACtD,MAAM,IAAI,CAAC,KAAK,CAAC,IAAI,EAAE,CAAC;IAExB,uFAAuF;IACvF,MAAM,IAAI,CAAC,KAAK,CAAC,IAAI,CACnB,YAAY,CAAC,CAAC,GAAG,CAAC,YAAY,CAAC,CAAC,GAAG,YAAY,CAAC,CAAC,CAAC,GAAG,IAAI,EACzD,YAAY,CAAC,CAAC,GAAG,CAAC,YAAY,CAAC,CAAC,GAAG,YAAY,CAAC,CAAC,CAAC,GAAG,IAAI,EACzD,EAAE,KAAK,EAAE,CAAC,EAAE,CACb,CAAC;IACF,MAAM,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,UAAU,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC,CAAC;IAExD,iBAAiB;IACjB,MAAM,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC,EAAE,YAAY,CAAC,CAAC,EAAE,EAAE,KAAK,EAAE,EAAE,EAAE,CAAC,CAAC;IACrE,MAAM,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,UAAU,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC,CAAC;IAExD,UAAU;IACV,MAAM,IAAI,CAAC,KAAK,CAAC,EAAE,EAAE,CAAC;AACxB,CAAC;AAED;;GAEG;AACH,KAAK,UAAU,eAAe,CAC5B,IAAU,EACV,aAAqB,EACrB,IAAY,EACZ,UAAmB,EACnB,UAAmB;IAEnB,oBAAoB;IACpB,MAAM,2BAA2B,CAAC,IAAI,EAAE,aAAa,CAAC,CAAC;IAEvD,IAAI,UAAU,EAAE,CAAC;QACf,qDAAqD;QACrD,MAAM,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;QACpC,MAAM,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;QAC/B,MAAM,IAAI,CAAC,QAAQ,CAAC,EAAE,CAAC,SAAS,CAAC,CAAC;QAClC,MAAM,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,WAAW,CAAC,CAAC;IACzC,CAAC;IAED,uCAAuC;IACvC,MAAM,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAE/B,IAAI,UAAU,EAAE,CAAC;QACf,MAAM,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;IACrC,CAAC;AACH,CAAC;AAED;;GAEG;AACH,KAAK,UAAU,2BAA2B,CACxC,IAAU,EACV,aAAqB,EACrB,KAAa;IAEb,MAAM,UAAU,GAAG,MAAM,IAAI,CAAC,gBAAgB,EAAE,CAAC;IACjD,IAAI,CAAC;QACH,oDAAoD;QACpD,MAAM,EAAE,MAAM,EAAE,GAAG,MAAM,UAAU,CAAC,IAAI,CAAC,iBAAiB,EAAE;YAC1D,aAAa;SACd,CAAC,CAAC;QAEH,IAAI,CAAC,MAAM,EAAE,QAAQ,EAAE,CAAC;YACtB,MAAM,IAAI,cAAc,CACtB,kBAAkB,CAAC,iBAAiB,EACpC,mCAAmC,CACpC,CAAC;QACJ,CAAC;QAED,8DAA8D;QAC9D,MAAM,UAAU,CAAC,IAAI,CAAC,wBAAwB,EAAE;YAC9C,QAAQ,EAAE,MAAM,CAAC,QAAQ;YACzB,mBAAmB,EAAE;;;;;;;;;;;;QAYnB;YACF,SAAS,EAAE,CAAC,EAAE,KAAK,EAAE,CAAC;SACvB,CAAC,CAAC;IACL,CAAC;YAAS,CAAC;QACT,MAAM,UAAU,CAAC,MAAM,EAAE,CAAC;IAC5B,CAAC;AACH,CAAC;AAED;;GAEG;AACH,KAAK,UAAU,yBAAyB,CACtC,IAAU,EACV,aAAqB;IAErB,MAAM,UAAU,GAAG,MAAM,IAAI,CAAC,gBAAgB,EAAE,CAAC;IACjD,IAAI,CAAC;QACH,MAAM,EAAE,MAAM,EAAE,GAAG,MAAM,UAAU,CAAC,IAAI,CAAC,iBAAiB,EAAE;YAC1D,aAAa;SACd,CAAC,CAAC;QAEH,IAAI,CAAC,MAAM,EAAE,QAAQ,EAAE,CAAC;YACtB,MAAM,IAAI,cAAc,CACtB,kBAAkB,CAAC,iBAAiB,EACpC,iCAAiC,CAClC,CAAC;QACJ,CAAC;QAED,MAAM,UAAU,CAAC,IAAI,CAAC,wBAAwB,EAAE;YAC9C,QAAQ,EAAE,MAAM,CAAC,QAAQ;YACzB,mBAAmB,EAAE;;QAEnB;SACH,CAAC,CAAC;IACL,CAAC;YAAS,CAAC;QACT,MAAM,UAAU,CAAC,MAAM,EAAE,CAAC;IAC5B,CAAC;AACH,CAAC;AAED,MAAM,UAAU,wBAAwB,CACtC,MAAiB,EACjB,IAAsB;IAEtB,MAAM,KAAK,GAAmC,EAAE,CAAC;IAEjD,0BAA0B;IAC1B,KAAK,CAAC,iBAAiB,CAAC,GAAG,MAAM,CAAC,YAAY,CAC5C,iBAAiB,EACjB;QACE,WAAW,EACT,6FAA6F;QAC/F,WAAW,EAAE;YACX,UAAU,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,4CAA4C,CAAC;YAC7E,UAAU,EAAE,CAAC;iBACV,IAAI,CAAC,CAAC,MAAM,EAAE,OAAO,EAAE,QAAQ,CAAC,CAAC;iBACjC,QAAQ,EAAE;iBACV,QAAQ,CAAC,iDAAiD,CAAC;YAC9D,SAAS,EAAE,CAAC;iBACT,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,MAAM,EAAE,OAAO,EAAE,KAAK,EAAE,MAAM,CAAC,CAAC,CAAC;iBAC/C,QAAQ,EAAE;iBACV,QAAQ,CACP,oHAAoH,CACrH;SACJ;KACF,EACD,KAAK,EAAE,EAAE,UAAU,EAAE,UAAU,EAAE,SAAS,EAAE,EAAE,EAAE;QAC9C,IAAI,CAAC;YACH,MAAM,IAAI,CAAC,cAAc,CAAC,eAAe,EAAE,CAAC;YAC5C,MAAM,EAAE,IAAI,EAAE,aAAa,EAAE,GAAG,MAAM,cAAc,CAAC,IAAI,EAAE,UAAU,CAAC,CAAC;YACvE,MAAM,YAAY,GAAG,UAAU,IAAI,MAAM,CAAC;YAC1C,MAAM,eAAe,GAAG,SAAS,IAAI,EAAE,CAAC;YAExC,MAAM,CAAC,IAAI,CAAC,kBAAkB,EAAE;gBAC9B,UAAU;gBACV,SAAS,EAAE,YAAY;gBACvB,SAAS,EAAE,eAAe;aAC3B,CAAC,CAAC;YAEH,MAAM,yBAAyB,CAAC,IAAI,EAAE,GAAG,EAAE,CACzC,2BAA2B,CACzB,IAAI,EACJ,aAAa,EACb,YAAY,EACZ,eAAe,CAChB,CACF,CAAC;YAEF,MAAM,cAAc,GAAG,MAAM,iBAAiB,CAAC,IAAI,CAAC,CAAC;YACrD,OAAO,kBAAkB,CAAC,cAAc,CAAC,CAAC;QAC5C,CAAC;QAAC,OAAO,KAAc,EAAE,CAAC;YACxB,OAAO,eAAe,CAAC,KAAK,CAAC,CAAC;QAChC,CAAC;IACH,CAAC,CACF,CAAC;IAEF,yBAAyB;IACzB,KAAK,CAAC,gBAAgB,CAAC,GAAG,MAAM,CAAC,YAAY,CAC3C,gBAAgB,EAChB;QACE,WAAW,EACT,iFAAiF;QACnF,WAAW,EAAE;YACX,UAAU,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,yBAAyB,CAAC;YAC1D,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,eAAe,CAAC;YAC1C,WAAW,EAAE,CAAC;iBACX,OAAO,EAAE;iBACT,QAAQ,EAAE;iBACV,QAAQ,CAAC,oDAAoD,CAAC;YACjE,WAAW,EAAE,CAAC;iBACX,OAAO,EAAE;iBACT,QAAQ,EAAE;iBACV,QAAQ,CAAC,2CAA2C,CAAC;SACzD;KACF,EACD,KAAK,EAAE,EAAE,UAAU,EAAE,IAAI,EAAE,WAAW,EAAE,WAAW,EAAE,EAAE,EAAE;QACvD,IAAI,CAAC;YACH,MAAM,IAAI,CAAC,cAAc,CAAC,eAAe,EAAE,CAAC;YAC5C,MAAM,EAAE,IAAI,EAAE,aAAa,EAAE,GAAG,MAAM,cAAc,CAAC,IAAI,EAAE,UAAU,CAAC,CAAC;YACvE,MAAM,gBAAgB,GAAG,WAAW,IAAI,IAAI,CAAC;YAC7C,MAAM,gBAAgB,GAAG,WAAW,IAAI,KAAK,CAAC;YAE9C,MAAM,CAAC,IAAI,CAAC,qBAAqB,EAAE;gBACjC,UAAU;gBACV,UAAU,EAAE,IAAI,CAAC,MAAM;gBACvB,UAAU,EAAE,gBAAgB;gBAC5B,UAAU,EAAE,gBAAgB;aAC7B,CAAC,CAAC;YAEH,MAAM,eAAe,CACnB,IAAI,EACJ,aAAa,EACb,IAAI,EACJ,gBAAgB,EAChB,gBAAgB,CACjB,CAAC;YAEF,MAAM,cAAc,GAAG,MAAM,iBAAiB,CAAC,IAAI,CAAC,CAAC;YACrD,OAAO,kBAAkB,CAAC,cAAc,CAAC,CAAC;QAC5C,CAAC;QAAC,OAAO,KAAc,EAAE,CAAC;YACxB,OAAO,eAAe,CAAC,KAAK,CAAC,CAAC;QAChC,CAAC;IACH,CAAC,CACF,CAAC;IAEF,2BAA2B;IAC3B,KAAK,CAAC,kBAAkB,CAAC,GAAG,MAAM,CAAC,YAAY,CAC7C,kBAAkB,EAClB;QACE,WAAW,EACT,kGAAkG;QACpG,WAAW,EAAE;YACX,UAAU,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,0BAA0B,CAAC;YAC3D,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,uCAAuC,CAAC;SACpE;KACF,EACD,KAAK,EAAE,EAAE,UAAU,EAAE,KAAK,EAAE,EAAE,EAAE;QAC9B,IAAI,CAAC;YACH,MAAM,IAAI,CAAC,cAAc,CAAC,eAAe,EAAE,CAAC;YAC5C,MAAM,EAAE,IAAI,EAAE,aAAa,EAAE,GAAG,MAAM,cAAc,CAAC,IAAI,EAAE,UAAU,CAAC,CAAC;YAEvE,MAAM,CAAC,IAAI,CAAC,kBAAkB,EAAE,EAAE,UAAU,EAAE,KAAK,EAAE,CAAC,CAAC;YAEvD,MAAM,2BAA2B,CAAC,IAAI,EAAE,aAAa,EAAE,KAAK,CAAC,CAAC;YAE9D,MAAM,cAAc,GAAG,MAAM,iBAAiB,CAAC,IAAI,CAAC,CAAC;YACrD,OAAO,kBAAkB,CAAC,cAAc,CAAC,CAAC;QAC5C,CAAC;QAAC,OAAO,KAAc,EAAE,CAAC;YACxB,OAAO,eAAe,CAAC,KAAK,CAAC,CAAC;QAChC,CAAC;IACH,CAAC,CACF,CAAC;IAEF,2BAA2B;IAC3B,KAAK,CAAC,kBAAkB,CAAC,GAAG,MAAM,CAAC,YAAY,CAC7C,kBAAkB,EAClB;QACE,WAAW,EACT,qFAAqF;QACvF,WAAW,EAAE;YACX,UAAU,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,sCAAsC,CAAC;SACxE;KACF,EACD,KAAK,EAAE,EAAE,UAAU,EAAE,EAAE,EAAE;QACvB,IAAI,CAAC;YACH,MAAM,IAAI,CAAC,cAAc,CAAC,eAAe,EAAE,CAAC;YAC5C,MAAM,EAAE,IAAI,EAAE,aAAa,EAAE,GAAG,MAAM,cAAc,CAAC,IAAI,EAAE,UAAU,CAAC,CAAC;YAEvE,MAAM,CAAC,IAAI,CAAC,kBAAkB,EAAE,EAAE,UAAU,EAAE,CAAC,CAAC;YAEhD,iCAAiC;YACjC,MAAM,2BAA2B,CAAC,IAAI,EAAE,aAAa,EAAE,MAAM,CAAC,CAAC;YAE/D,MAAM,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,UAAU,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC,CAAC;YAExD,MAAM,cAAc,GAAG,MAAM,iBAAiB,CAAC,IAAI,CAAC,CAAC;YACrD,OAAO,kBAAkB,CAAC,cAAc,CAAC,CAAC;QAC5C,CAAC;QAAC,OAAO,KAAc,EAAE,CAAC;YACxB,OAAO,eAAe,CAAC,KAAK,CAAC,CAAC;QAChC,CAAC;IACH,CAAC,CACF,CAAC;IAEF,2BAA2B;IAC3B,KAAK,CAAC,kBAAkB,CAAC,GAAG,MAAM,CAAC,YAAY,CAC7C,kBAAkB,EAClB;QACE,WAAW,EACT,2HAA2H;QAC7H,WAAW,EAAE;YACX,OAAO,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,kCAAkC,CAAC;SACjE;KACF,EACD,KAAK,EAAE,EAAE,OAAO,EAAE,EAAE,EAAE;QACpB,IAAI,CAAC;YACH,MAAM,IAAI,CAAC,cAAc,CAAC,eAAe,EAAE,CAAC;YAE5C,8CAA8C;YAC9C,MAAM,cAAc,GAAG,MAAM,gBAAgB,CAAC,IAAI,EAAE,EAAE,MAAM,EAAE,SAAS,EAAE,CAAC,CAAC;YAC3E,MAAM,IAAI,GAAG,cAAc,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,KAAK,OAAO,CAAC,CAAC;YAEhE,IAAI,CAAC,IAAI,EAAE,CAAC;gBACV,MAAM,IAAI,cAAc,CACtB,kBAAkB,CAAC,iBAAiB,EACpC,SAAS,OAAO,sBAAsB,EACtC,uEAAuE,CACxE,CAAC;YACJ,CAAC;YAED,MAAM,IAAI,GAAG,IAAI,CAAC,WAAW,CAAC,aAAa,EAAE,CAAC;YAE9C,4CAA4C;YAC5C,IAAI,IAAI,CAAC,MAAM,EAAE,CAAC;gBAChB,MAAM,cAAc,GAAG,MAAM,cAAc,CAAC,IAAI,EAAE,IAAI,CAAC,MAAM,CAAC,CAAC;gBAC/D,MAAM,CAAC,IAAI,CAAC,mCAAmC,EAAE;oBAC/C,OAAO;oBACP,YAAY,EAAE,IAAI,CAAC,MAAM;iBAC1B,CAAC,CAAC;gBACH,MAAM,yBAAyB,CAAC,IAAI,EAAE,GAAG,EAAE,CACzC,2BAA2B,CACzB,IAAI,EACJ,cAAc,CAAC,aAAa,EAC5B,MAAM,CACP,CACF,CAAC;YACJ,CAAC;iBAAM,CAAC;gBACN,2DAA2D;gBAC3D,MAAM,iBAAiB,GAAG,IAAI,CAAC,kBAAkB,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC;gBACrE,IAAI,iBAAiB,KAAK,IAAI,EAAE,CAAC;oBAC/B,MAAM,IAAI,cAAc,CACtB,kBAAkB,CAAC,iBAAiB,EACpC,2BAA2B,OAAO,qBAAqB,CACxD,CAAC;gBACJ,CAAC;gBACD,MAAM,CAAC,IAAI,CAAC,kCAAkC,EAAE,EAAE,OAAO,EAAE,CAAC,CAAC;gBAC7D,MAAM,yBAAyB,CAAC,IAAI,EAAE,GAAG,EAAE,CACzC,yBAAyB,CAAC,IAAI,EAAE,iBAAiB,CAAC,CACnD,CAAC;YACJ,CAAC;YAED,MAAM,qBAAqB,GAAG,MAAM,iBAAiB,CAAC,IAAI,CAAC,CAAC;YAC5D,OAAO,kBAAkB,CAAC,qBAAqB,CAAC,CAAC;QACnD,CAAC;QAAC,OAAO,KAAc,EAAE,CAAC;YACxB,OAAO,eAAe,CAAC,KAAK,CAAC,CAAC;QAChC,CAAC;IACH,CAAC,CACF,CAAC;IAEF,2BAA2B;IAC3B,KAAK,CAAC,kBAAkB,CAAC,GAAG,MAAM,CAAC,YAAY,CAC7C,kBAAkB,EAClB;QACE,WAAW,EACT,4FAA4F;QAC9F,WAAW,EAAE;YACX,SAAS,EAAE,CAAC;iBACT,IAAI,CAAC,CAAC,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,OAAO,CAAC,CAAC;iBACrC,QAAQ,CAAC,kBAAkB,CAAC;YAC/B,MAAM,EAAE,CAAC;iBACN,MAAM,EAAE;iBACR,QAAQ,EAAE;iBACV,QAAQ,CACP,sEAAsE,CACvE;YACH,UAAU,EAAE,CAAC;iBACV,MAAM,EAAE;iBACR,QAAQ,EAAE;iBACV,QAAQ,CAAC,4CAA4C,CAAC;SAC1D;KACF,EACD,KAAK,EAAE,EAAE,SAAS,EAAE,MAAM,EAAE,UAAU,EAAE,EAAE,EAAE;QAC1C,IAAI,CAAC;YACH,MAAM,IAAI,CAAC,cAAc,CAAC,eAAe,EAAE,CAAC;YAC5C,MAAM,IAAI,GAAG,IAAI,CAAC,WAAW,CAAC,aAAa,EAAE,CAAC;YAE9C,MAAM,YAAY,GAAG,MAAM,IAAI,MAAM,CAAC;YACtC,MAAM,CAAC,IAAI,CAAC,WAAW,EAAE,EAAE,SAAS,EAAE,MAAM,EAAE,YAAY,EAAE,UAAU,EAAE,CAAC,CAAC;YAE1E,2BAA2B;YAC3B,MAAM,QAAQ,GAAG,IAAI,CAAC,QAAQ,EAAE,CAAC;YACjC,MAAM,aAAa,GAAG,QAAQ,EAAE,KAAK,IAAI,IAAI,CAAC;YAC9C,MAAM,cAAc,GAAG,QAAQ,EAAE,MAAM,IAAI,GAAG,CAAC;YAE/C,IAAI,aAAqB,CAAC;YAC1B,IAAI,YAAY,KAAK,MAAM,EAAE,CAAC;gBAC5B,aAAa;oBACX,SAAS,KAAK,MAAM,IAAI,SAAS,KAAK,OAAO;wBAC3C,CAAC,CAAC,aAAa;wBACf,CAAC,CAAC,cAAc,CAAC;YACvB,CAAC;iBAAM,IAAI,YAAY,KAAK,MAAM,EAAE,CAAC;gBACnC,aAAa;oBACX,SAAS,KAAK,MAAM,IAAI,SAAS,KAAK,OAAO;wBAC3C,CAAC,CAAC,aAAa,GAAG,CAAC;wBACnB,CAAC,CAAC,cAAc,GAAG,CAAC,CAAC;YAC3B,CAAC;iBAAM,CAAC;gBACN,aAAa,GAAG,QAAQ,CAAC,YAAY,EAAE,EAAE,CAAC,CAAC;gBAC3C,IAAI,KAAK,CAAC,aAAa,CAAC,EAAE,CAAC;oBACzB,MAAM,IAAI,cAAc,CACtB,kBAAkB,CAAC,aAAa,EAChC,2BAA2B,YAAY,0CAA0C,CAClF,CAAC;gBACJ,CAAC;YACH,CAAC;YAED,0BAA0B;YAC1B,IAAI,MAAM,GAAG,CAAC,CAAC;YACf,IAAI,MAAM,GAAG,CAAC,CAAC;YACf,QAAQ,SAAS,EAAE,CAAC;gBAClB,KAAK,IAAI;oBACP,MAAM,GAAG,CAAC,aAAa,CAAC;oBACxB,MAAM;gBACR,KAAK,MAAM;oBACT,MAAM,GAAG,aAAa,CAAC;oBACvB,MAAM;gBACR,KAAK,MAAM;oBACT,MAAM,GAAG,CAAC,aAAa,CAAC;oBACxB,MAAM;gBACR,KAAK,OAAO;oBACV,MAAM,GAAG,aAAa,CAAC;oBACvB,MAAM;YACV,CAAC;YAED,IAAI,UAAU,EAAE,CAAC;gBACf,qCAAqC;gBACrC,MAAM,EAAE,aAAa,EAAE,GAAG,MAAM,cAAc,CAAC,IAAI,EAAE,UAAU,CAAC,CAAC;gBACjE,MAAM,UAAU,GAAG,MAAM,IAAI,CAAC,gBAAgB,EAAE,CAAC;gBACjD,IAAI,CAAC;oBACH,MAAM,EAAE,MAAM,EAAE,GAAG,MAAM,UAAU,CAAC,IAAI,CAAC,iBAAiB,EAAE;wBAC1D,aAAa;qBACd,CAAC,CAAC;oBACH,IAAI,MAAM,EAAE,QAAQ,EAAE,CAAC;wBACrB,MAAM,UAAU,CAAC,IAAI,CAAC,wBAAwB,EAAE;4BAC9C,QAAQ,EAAE,MAAM,CAAC,QAAQ;4BACzB,mBAAmB,EAAE;;kBAEnB;4BACF,SAAS,EAAE,CAAC,EAAE,KAAK,EAAE,MAAM,EAAE,EAAE,EAAE,KAAK,EAAE,MAAM,EAAE,CAAC;yBAClD,CAAC,CAAC;oBACL,CAAC;gBACH,CAAC;wBAAS,CAAC;oBACT,MAAM,UAAU,CAAC,MAAM,EAAE,CAAC;gBAC5B,CAAC;YACH,CAAC;iBAAM,CAAC;gBACN,kBAAkB;gBAClB,MAAM,IAAI,CAAC,QAAQ,CACjB,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE;oBACT,MAAM,CAAC,QAAQ,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC;gBAC1B,CAAC,EACD,MAAM,EACN,MAAM,CACP,CAAC;YACJ,CAAC;YAED,MAAM,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,UAAU,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC,CAAC;YAExD,MAAM,cAAc,GAAG,MAAM,iBAAiB,CAAC,IAAI,CAAC,CAAC;YACrD,OAAO,kBAAkB,CAAC,cAAc,CAAC,CAAC;QAC5C,CAAC;QAAC,OAAO,KAAc,EAAE,CAAC;YACxB,OAAO,eAAe,CAAC,KAAK,CAAC,CAAC;QAChC,CAAC;IACH,CAAC,CACF,CAAC;IAEF,0BAA0B;IAC1B,KAAK,CAAC,iBAAiB,CAAC,GAAG,MAAM,CAAC,YAAY,CAC5C,iBAAiB,EACjB;QACE,WAAW,EACT,8FAA8F;QAChG,WAAW,EAAE;YACX,UAAU,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,mBAAmB,CAAC;SACrD;KACF,EACD,KAAK,EAAE,EAAE,UAAU,EAAE,EAAE,EAAE;QACvB,IAAI,CAAC;YACH,MAAM,IAAI,CAAC,cAAc,CAAC,eAAe,EAAE,CAAC;YAC5C,MAAM,EAAE,IAAI,EAAE,aAAa,EAAE,GAAG,MAAM,cAAc,CAAC,IAAI,EAAE,UAAU,CAAC,CAAC;YAEvE,MAAM,CAAC,IAAI,CAAC,kBAAkB,EAAE,EAAE,UAAU,EAAE,CAAC,CAAC;YAEhD,MAAM,2BAA2B,CAAC,IAAI,EAAE,aAAa,CAAC,CAAC;YAEvD,MAAM,cAAc,GAAG,MAAM,iBAAiB,CAAC,IAAI,CAAC,CAAC;YACrD,OAAO,kBAAkB,CAAC,cAAc,CAAC,CAAC;QAC5C,CAAC;QAAC,OAAO,KAAc,EAAE,CAAC;YACxB,OAAO,eAAe,CAAC,KAAK,CAAC,CAAC;QAChC,CAAC;IACH,CAAC,CACF,CAAC;IAEF,yBAAyB;IACzB,KAAK,CAAC,gBAAgB,CAAC,GAAG,MAAM,CAAC,YAAY,CAC3C,gBAAgB,EAChB;QACE,WAAW,EACT,uIAAuI;QACzI,WAAW,EAAE;YACX,SAAS,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,+BAA+B,CAAC;YAC/D,SAAS,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,+BAA+B,CAAC;SAChE;KACF,EACD,KAAK,EAAE,EAAE,SAAS,EAAE,SAAS,EAAE,EAAE,EAAE;QACjC,IAAI,CAAC;YACH,MAAM,IAAI,CAAC,cAAc,CAAC,eAAe,EAAE,CAAC;YAC5C,MAAM,EAAE,IAAI,EAAE,aAAa,EAAE,YAAY,EAAE,GAAG,MAAM,cAAc,CAChE,IAAI,EACJ,SAAS,CACV,CAAC;YACF,MAAM,EAAE,aAAa,EAAE,YAAY,EAAE,GAAG,MAAM,cAAc,CAC1D,IAAI,EACJ,SAAS,CACV,CAAC;YAEF,MAAM,CAAC,IAAI,CAAC,kBAAkB,EAAE,EAAE,SAAS,EAAE,SAAS,EAAE,CAAC,CAAC;YAE1D,MAAM,oBAAoB,CAAC,IAAI,EAAE,YAAY,EAAE,YAAY,CAAC,CAAC;YAE7D,0CAA0C;YAC1C,MAAM,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,UAAU,CAAC,OAAO,EAAE,GAAG,CAAC,CAAC,CAAC;YAEzD,MAAM,cAAc,GAAG,MAAM,iBAAiB,CAAC,IAAI,CAAC,CAAC;YACrD,OAAO,kBAAkB,CAAC,cAAc,CAAC,CAAC;QAC5C,CAAC;QAAC,OAAO,KAAc,EAAE,CAAC;YACxB,OAAO,eAAe,CAAC,KAAK,CAAC,CAAC;QAChC,CAAC;IACH,CAAC,CACF,CAAC;IAEF,wBAAwB;IACxB,KAAK,CAAC,eAAe,CAAC,GAAG,MAAM,CAAC,YAAY,CAC1C,eAAe,EACf;QACE,WAAW,EACT,mGAAmG;QACrG,WAAW,EAAE;YACX,GAAG,EAAE,CAAC;iBACH,MAAM,EAAE;iBACR,QAAQ,CACP,0KAA0K,CAC3K;YACH,SAAS,EAAE,CAAC;iBACT,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,MAAM,EAAE,OAAO,EAAE,KAAK,EAAE,MAAM,CAAC,CAAC,CAAC;iBAC/C,QAAQ,EAAE;iBACV,QAAQ,CAAC,+DAA+D,CAAC;SAC7E;KACF,EACD,KAAK,EAAE,EAAE,GAAG,EAAE,SAAS,EAAE,EAAE,EAAE;QAC3B,IAAI,CAAC;YACH,MAAM,IAAI,CAAC,cAAc,CAAC,eAAe,EAAE,CAAC;YAC5C,MAAM,IAAI,GAAG,IAAI,CAAC,WAAW,CAAC,aAAa,EAAE,CAAC;YAE9C,MAAM,CAAC,IAAI,CAAC,cAAc,EAAE,EAAE,GAAG,EAAE,SAAS,EAAE,CAAC,CAAC;YAEhD,sBAAsB;YACtB,MAAM,eAAe,GAAG,SAAS,IAAI,EAAE,CAAC;YACxC,KAAK,MAAM,QAAQ,IAAI,eAAe,EAAE,CAAC;gBACvC,MAAM,WAAW,GAAG,gBAAgB,CAAC,QAAQ,CAAC,CAAC;gBAC/C,MAAM,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,WAAuB,CAAC,CAAC;YACpD,CAAC;YAED,gBAAgB;YAChB,MAAM,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,GAAe,CAAC,CAAC;YAE3C,qCAAqC;YACrC,KAAK,MAAM,QAAQ,IAAI,CAAC,GAAG,eAAe,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC;gBACtD,MAAM,WAAW,GAAG,gBAAgB,CAAC,QAAQ,CAAC,CAAC;gBAC/C,MAAM,IAAI,CAAC,QAAQ,CAAC,EAAE,CAAC,WAAuB,CAAC,CAAC;YAClD,CAAC;YAED,MAAM,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,UAAU,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC,CAAC;YAExD,MAAM,cAAc,GAAG,MAAM,iBAAiB,CAAC,IAAI,CAAC,CAAC;YACrD,OAAO,kBAAkB,CAAC,cAAc,CAAC,CAAC;QAC5C,CAAC;QAAC,OAAO,KAAc,EAAE,CAAC;YACxB,OAAO,eAAe,CAAC,KAAK,CAAC,CAAC;QAChC,CAAC;IACH,CAAC,CACF,CAAC;IAEF,6BAA6B;IAC7B,KAAK,CAAC,oBAAoB,CAAC,GAAG,MAAM,CAAC,YAAY,CAC/C,oBAAoB,EACpB;QACE,WAAW,EACT,8HAA8H;QAChI,WAAW,EAAE;YACX,UAAU,EAAE,CAAC;iBACV,MAAM,EAAE;iBACR,QAAQ,EAAE;iBACV,QAAQ,CAAC,4CAA4C,CAAC;YACzD,KAAK,EAAE,CAAC;iBACL,IAAI,CAAC,CAAC,SAAS,EAAE,QAAQ,EAAE,SAAS,EAAE,UAAU,EAAE,QAAQ,EAAE,SAAS,CAAC,CAAC;iBACvE,QAAQ,EAAE;iBACV,QAAQ,CAAC,kCAAkC,CAAC;YAC/C,IAAI,EAAE,CAAC;iBACJ,MAAM,EAAE;iBACR,QAAQ,EAAE;iBACV,QAAQ,CAAC,qCAAqC,CAAC;YAClD,QAAQ,EAAE,CAAC;iBACR,MAAM,EAAE;iBACR,QAAQ,EAAE;iBACV,QAAQ,CAAC,gCAAgC,CAAC;YAC7C,EAAE,EAAE,CAAC;iBACF,MAAM,EAAE;iBACR,QAAQ,EAAE;iBACV,QAAQ,CAAC,yCAAyC,CAAC;YACtD,OAAO,EAAE,CAAC;iBACP,MAAM,EAAE;iBACR,QAAQ,EAAE;iBACV,QAAQ,CAAC,iCAAiC,CAAC;SAC/C;KACF,EACD,KAAK,EAAE,EAAE,UAAU,EAAE,KAAK,EAAE,IAAI,EAAE,QAAQ,EAAE,EAAE,EAAE,OAAO,EAAE,EAAE,EAAE;QAC3D,IAAI,CAAC;YACH,MAAM,IAAI,CAAC,cAAc,CAAC,eAAe,EAAE,CAAC;YAC5C,MAAM,IAAI,GAAG,IAAI,CAAC,WAAW,CAAC,aAAa,EAAE,CAAC;YAC9C,MAAM,WAAW,GAAG,OAAO,IAAI,KAAK,CAAC;YAErC,mDAAmD;YACnD,IAAI,CAAC,UAAU,IAAI,CAAC,IAAI,IAAI,CAAC,QAAQ,IAAI,CAAC,EAAE,EAAE,CAAC;gBAC7C,MAAM,IAAI,cAAc,CACtB,kBAAkB,CAAC,aAAa,EAChC,8EAA8E,CAC/E,CAAC;YACJ,CAAC;YAED,MAAM,CAAC,IAAI,CAAC,uBAAuB,EAAE;gBACnC,UAAU;gBACV,KAAK;gBACL,IAAI;gBACJ,QAAQ;gBACR,EAAE;gBACF,OAAO,EAAE,WAAW;aACrB,CAAC,CAAC;YAEH,mCAAmC;YACnC,MAAM,SAAS,GAAG,MAAM,oBAAoB,CAC1C,IAAI,EACJ,IAAI,EACJ,EAAE,UAAU,EAAE,KAAK,EAAE,IAAI,EAAE,QAAQ,EAAE,EAAE,EAAE,EACzC,WAAW,CACZ,CAAC;YAEF,IAAI,CAAC,SAAS,EAAE,CAAC;gBACf,MAAM,cAAc,GAAG,MAAM,iBAAiB,CAAC,IAAI,CAAC,CAAC;gBACrD,MAAM,YAAY,GAAG,IAAI,cAAc,CACrC,kBAAkB,CAAC,OAAO,EAC1B,iCAAiC,WAAW,KAAK,EACjD,8GAA8G,CAC/G,CAAC;gBACF,OAAO;oBACL,OAAO,EAAE;wBACP;4BACE,IAAI,EAAE,MAAe;4BACrB,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC;gCACnB,GAAG,YAAY,CAAC,UAAU,EAAE;gCAC5B,IAAI,EAAE,cAAc;6BACrB,CAAC;yBACH;qBACF;oBACD,OAAO,EAAE,IAAI;iBACd,CAAC;YACJ,CAAC;YAED,MAAM,cAAc,GAAG,MAAM,iBAAiB,CAAC,IAAI,CAAC,CAAC;YACrD,OAAO,kBAAkB,CAAC,cAAc,CAAC,CAAC;QAC5C,CAAC;QAAC,OAAO,KAAc,EAAE,CAAC;YACxB,OAAO,eAAe,CAAC,KAAK,CAAC,CAAC;QAChC,CAAC;IACH,CAAC,CACF,CAAC;IAEF,OAAO,KAAK,CAAC;AACf,CAAC;AAED;;GAEG;AACH,KAAK,UAAU,oBAAoB,CACjC,IAAsB,EACtB,IAAU,EACV,SAMC,EACD,SAAiB;IAEjB,MAAM,YAAY,GAAG,GAAG,CAAC;IACzB,MAAM,QAAQ,GAAG,IAAI,CAAC,GAAG,EAAE,GAAG,SAAS,CAAC;IAExC,OAAO,IAAI,CAAC,GAAG,EAAE,GAAG,QAAQ,EAAE,CAAC;QAC7B,IAAI,YAAY,GAAG,IAAI,CAAC;QAExB,qCAAqC;QACrC,IAAI,SAAS,CAAC,UAAU,EAAE,CAAC;YACzB,MAAM,WAAW,GAAG,SAAS,CAAC,KAAK,IAAI,QAAQ,CAAC;YAChD,MAAM,gBAAgB,GAAG,MAAM,qBAAqB,CAClD,IAAI,EACJ,SAAS,CAAC,UAAU,EACpB,WAAW,CACZ,CAAC;YACF,IAAI,CAAC,gBAAgB;gBAAE,YAAY,GAAG,KAAK,CAAC;QAC9C,CAAC;QAED,uBAAuB;QACvB,IAAI,YAAY,IAAI,SAAS,CAAC,IAAI,EAAE,CAAC;YACnC,MAAM,SAAS,GAAG,MAAM,IAAI,CAAC,QAAQ,CAAC,CAAC,UAAU,EAAE,EAAE;gBACnD,OAAO,QAAQ,CAAC,IAAI,EAAE,SAAS,EAAE,QAAQ,CAAC,UAAU,CAAC,IAAI,KAAK,CAAC;YACjE,CAAC,EAAE,SAAS,CAAC,IAAI,CAAC,CAAC;YACnB,IAAI,CAAC,SAAS;gBAAE,YAAY,GAAG,KAAK,CAAC;QACvC,CAAC;QAED,2BAA2B;QAC3B,IAAI,YAAY,IAAI,SAAS,CAAC,QAAQ,EAAE,CAAC;YACvC,MAAM,eAAe,GAAG,MAAM,IAAI,CAAC,CAAC,CAAC,SAAS,CAAC,QAAQ,CAAC,CAAC;YACzD,IAAI,CAAC,eAAe;gBAAE,YAAY,GAAG,KAAK,CAAC;QAC7C,CAAC;QAED,qBAAqB;QACrB,IAAI,YAAY,IAAI,SAAS,CAAC,EAAE,EAAE,CAAC;YACjC,IAAI,CAAC;gBACH,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,QAAQ,CAAC,CAAC,UAAU,EAAE,EAAE;oBAClD,OAAO,CAAC,CAAC,IAAI,QAAQ,CAAC,SAAS,GAAG,UAAU,CAAC,EAAE,CAAC;gBAClD,CAAC,EAAE,SAAS,CAAC,EAAE,CAAC,CAAC;gBACjB,IAAI,CAAC,QAAQ;oBAAE,YAAY,GAAG,KAAK,CAAC;YACtC,CAAC;YAAC,MAAM,CAAC;gBACP,YAAY,GAAG,KAAK,CAAC;YACvB,CAAC;QACH,CAAC;QAED,IAAI,YAAY;YAAE,OAAO,IAAI,CAAC;QAE9B,MAAM,aAAa,GAAG,QAAQ,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;QAC5C,IAAI,aAAa,IAAI,CAAC;YAAE,MAAM;QAE9B,MAAM,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,EAAE,CAC5B,UAAU,CAAC,OAAO,EAAE,IAAI,CAAC,GAAG,CAAC,YAAY,EAAE,aAAa,CAAC,CAAC,CAC3D,CAAC;IACJ,CAAC;IAED,OAAO,KAAK,CAAC;AACf,CAAC;AAED;;GAEG;AACH,KAAK,UAAU,qBAAqB,CAClC,IAAsB,EACtB,SAAiB,EACjB,WAAmB;IAEnB,QAAQ,WAAW,EAAE,CAAC;QACpB,KAAK,QAAQ,CAAC,CAAC,CAAC;YACd,MAAM,aAAa,GAAG,IAAI,CAAC,kBAAkB,CAAC,SAAS,CAAC,SAAS,CAAC,CAAC;YACnE,OAAO,aAAa,KAAK,IAAI,CAAC;QAChC,CAAC;QACD,KAAK,SAAS,CAAC,CAAC,CAAC;YACf,MAAM,aAAa,GAAG,IAAI,CAAC,kBAAkB,CAAC,SAAS,CAAC,SAAS,CAAC,CAAC;YACnE,IAAI,aAAa,KAAK,IAAI,EAAE,CAAC;gBAC3B,+CAA+C;gBAC/C,MAAM,gBAAgB,CAAC,IAAI,EAAE,EAAE,MAAM,EAAE,SAAS,EAAE,CAAC,CAAC;gBACpD,OAAO,IAAI,CAAC,kBAAkB,CAAC,SAAS,CAAC,SAAS,CAAC,KAAK,IAAI,CAAC;YAC/D,CAAC;YACD,OAAO,IAAI,CAAC;QACd,CAAC;QACD,KAAK,SAAS,CAAC;QACf,KAAK,QAAQ,CAAC;QACd,KAAK,SAAS,CAAC;QACf,KAAK,UAAU,CAAC,CAAC,CAAC;YAChB,+BAA+B;YAC/B,MAAM,cAAc,GAAG,MAAM,gBAAgB,CAAC,IAAI,EAAE,EAAE,MAAM,EAAE,SAAS,EAAE,CAAC,CAAC;YAC3E,MAAM,OAAO,GAAG,cAAc,CAAC,WAAW,CAAC,IAAI,CAC7C,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,KAAK,SAAS,CAC5B,CAAC;YACF,IAAI,CAAC,OAAO,EAAE,CAAC;gBACb,4EAA4E;gBAC5E,OAAO,WAAW,KAAK,QAAQ,IAAI,WAAW,KAAK,UAAU,CAAC;YAChE,CAAC;YAED,QAAQ,WAAW,EAAE,CAAC;gBACpB,KAAK,SAAS;oBACZ,OAAO,OAAO,CAAC,KAAK,CAAC,OAAO,KAAK,IAAI,CAAC;gBACxC,KAAK,QAAQ;oBACX,OAAO,OAAO,CAAC,KAAK,CAAC,OAAO,KAAK,KAAK,CAAC;gBACzC,KAAK,SAAS;oBACZ,OAAO,OAAO,CAAC,KAAK,CAAC,OAAO,KAAK,IAAI,CAAC;gBACxC,KAAK,UAAU;oBACb,OAAO,OAAO,CAAC,KAAK,CAAC,OAAO,KAAK,KAAK,CAAC;YAC3C,CAAC;YACD,OAAO,KAAK,CAAC;QACf,CAAC;QACD;YACE,OAAO,KAAK,CAAC;IACjB,CAAC;AACH,CAAC"}
1
+ {"version":3,"file":"interaction.js","sourceRoot":"","sources":["../../src/tools/interaction.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"observation.d.ts","sourceRoot":"","sources":["../../src/tools/observation.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;AAKzE,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,mBAAmB,CAAC;AAK1D,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,yCAAyC,CAAC;AAkC9E,wBAAgB,wBAAwB,CACtC,MAAM,EAAE,SAAS,EACjB,IAAI,EAAE,gBAAgB,GACrB,MAAM,CAAC,MAAM,EAAE,cAAc,CAAC,CA+gBhC"}
1
+ {"version":3,"file":"observation.d.ts","sourceRoot":"","sources":["../../src/tools/observation.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;AAMzE,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,mBAAmB,CAAC;AAK1D,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,yCAAyC,CAAC;AAmI9E,wBAAgB,wBAAwB,CACtC,MAAM,EAAE,SAAS,EACjB,IAAI,EAAE,gBAAgB,GACrB,MAAM,CAAC,MAAM,EAAE,cAAc,CAAC,CAmiBhC"}
@@ -3,6 +3,79 @@ import { logger } from "../utils/logger.js";
3
3
  import { CharlotteError, CharlotteErrorCode } from "../types/errors.js";
4
4
  import { diffRepresentations } from "../state/differ.js";
5
5
  import { renderActivePage, resolveElement, formatPageResponse, formatElementsResponse, handleToolError, } from "./tool-helpers.js";
6
+ /**
7
+ * Query the DOM by CSS selector and register matched elements with
8
+ * the ElementIdGenerator so their IDs work with interaction tools.
9
+ */
10
+ async function findBySelector(page, deps, selector) {
11
+ const cdpSession = await page.createCDPSession();
12
+ try {
13
+ // Get the document root
14
+ const { root } = await cdpSession.send("DOM.getDocument", { depth: 0 });
15
+ // Query all matching nodes
16
+ const { nodeIds } = await cdpSession.send("DOM.querySelectorAll", {
17
+ nodeId: root.nodeId,
18
+ selector,
19
+ });
20
+ const results = [];
21
+ for (const nodeId of nodeIds) {
22
+ try {
23
+ // Get node details including backendNodeId
24
+ const { node } = await cdpSession.send("DOM.describeNode", { nodeId });
25
+ const backendNodeId = node.backendNodeId;
26
+ const tag = node.nodeName.toLowerCase();
27
+ // Get text content via Runtime
28
+ const { object } = await cdpSession.send("DOM.resolveNode", { nodeId });
29
+ let textContent = "";
30
+ if (object?.objectId) {
31
+ const textResult = await cdpSession.send("Runtime.callFunctionOn", {
32
+ objectId: object.objectId,
33
+ functionDeclaration: `function() { return (this.textContent || '').trim().substring(0, 100); }`,
34
+ returnByValue: true,
35
+ });
36
+ textContent = textResult.result?.value ?? "";
37
+ }
38
+ // Get bounds via box model
39
+ let bounds = null;
40
+ try {
41
+ const { model } = await cdpSession.send("DOM.getBoxModel", { backendNodeId });
42
+ if (model) {
43
+ const contentQuad = model.content;
44
+ const minX = Math.min(contentQuad[0], contentQuad[2], contentQuad[4], contentQuad[6]);
45
+ const minY = Math.min(contentQuad[1], contentQuad[3], contentQuad[5], contentQuad[7]);
46
+ const maxX = Math.max(contentQuad[0], contentQuad[2], contentQuad[4], contentQuad[6]);
47
+ const maxY = Math.max(contentQuad[1], contentQuad[3], contentQuad[5], contentQuad[7]);
48
+ bounds = { x: minX, y: minY, w: maxX - minX, h: maxY - minY };
49
+ }
50
+ }
51
+ catch {
52
+ // Element may be hidden or zero-sized — leave bounds as null
53
+ }
54
+ // Register with ElementIdGenerator so the ID works with click, hover, drag, etc.
55
+ const elementId = deps.elementIdGenerator.generateId("dom_element", tag, textContent.substring(0, 50), {
56
+ nearestLandmarkRole: null,
57
+ nearestLandmarkLabel: null,
58
+ nearestLabelledContainer: null,
59
+ siblingIndex: results.length,
60
+ }, backendNodeId);
61
+ results.push({
62
+ id: elementId,
63
+ tag,
64
+ text: textContent,
65
+ bounds,
66
+ });
67
+ }
68
+ catch {
69
+ // Skip nodes that can't be described (e.g. pseudo-elements)
70
+ continue;
71
+ }
72
+ }
73
+ return results;
74
+ }
75
+ finally {
76
+ await cdpSession.detach();
77
+ }
78
+ }
6
79
  /**
7
80
  * Compute Euclidean distance between the centers of two bounding boxes.
8
81
  */
@@ -59,7 +132,7 @@ export function registerObservationTools(server, deps) {
59
132
  }
60
133
  });
61
134
  tools["charlotte:find"] = server.registerTool("charlotte:find", {
62
- description: "Search for elements matching criteria. Filters interactive elements by text, role, type, or spatial proximity.",
135
+ description: "Search for elements matching criteria. Filters interactive elements by text, role, type, or spatial proximity. Use the selector parameter to find DOM elements by CSS selector — this reaches elements not in the accessibility tree (custom widgets, non-semantic divs). Selector results return Charlotte element IDs usable with click, hover, drag, etc.",
63
136
  inputSchema: {
64
137
  text: z
65
138
  .string()
@@ -78,11 +151,28 @@ export function registerObservationTools(server, deps) {
78
151
  .string()
79
152
  .optional()
80
153
  .describe("Element ID — find elements geometrically contained within this one's bounds"),
154
+ selector: z
155
+ .string()
156
+ .optional()
157
+ .describe("CSS selector to query the DOM directly. Returns elements that may not be in the accessibility tree. Results include Charlotte element IDs for use with interaction tools."),
81
158
  },
82
- }, async ({ text, role, type, near, within }) => {
159
+ }, async ({ text, role, type, near, within, selector }) => {
83
160
  try {
84
161
  await deps.browserManager.ensureConnected();
85
- logger.info("Finding elements", { text, role, type, near, within });
162
+ logger.info("Finding elements", { text, role, type, near, within, selector });
163
+ // CSS selector mode: query DOM directly, bypass accessibility tree
164
+ if (selector) {
165
+ const page = deps.pageManager.getActivePage();
166
+ const domElements = await findBySelector(page, deps, selector);
167
+ return {
168
+ content: [
169
+ {
170
+ type: "text",
171
+ text: JSON.stringify(domElements),
172
+ },
173
+ ],
174
+ };
175
+ }
86
176
  // Render the page to get current elements
87
177
  const representation = await renderActivePage(deps, { detail: "minimal" });
88
178
  let matchingElements = [...representation.interactive];
@@ -1 +1 @@
1
- {"version":3,"file":"observation.js","sourceRoot":"","sources":["../../src/tools/observation.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"observation.js","sourceRoot":"","sources":["../../src/tools/observation.ts"],"names":[],"mappings":"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"}
@@ -7,7 +7,7 @@
7
7
  export declare const TOOL_GROUPS: {
8
8
  readonly navigation: readonly ["charlotte:navigate", "charlotte:back", "charlotte:forward", "charlotte:reload"];
9
9
  readonly observation: readonly ["charlotte:observe", "charlotte:find", "charlotte:screenshot", "charlotte:screenshots", "charlotte:screenshot_get", "charlotte:screenshot_delete", "charlotte:diff"];
10
- readonly interaction: readonly ["charlotte:click", "charlotte:type", "charlotte:select", "charlotte:toggle", "charlotte:submit", "charlotte:scroll", "charlotte:hover", "charlotte:drag", "charlotte:key", "charlotte:wait_for"];
10
+ readonly interaction: readonly ["charlotte:click", "charlotte:click_at", "charlotte:type", "charlotte:select", "charlotte:toggle", "charlotte:submit", "charlotte:scroll", "charlotte:hover", "charlotte:drag", "charlotte:key", "charlotte:wait_for"];
11
11
  readonly session: readonly ["charlotte:get_cookies", "charlotte:clear_cookies", "charlotte:set_cookies", "charlotte:set_headers", "charlotte:configure", "charlotte:tabs", "charlotte:tab_open", "charlotte:tab_switch", "charlotte:tab_close", "charlotte:viewport", "charlotte:network"];
12
12
  readonly dev_mode: readonly ["charlotte:dev_serve", "charlotte:dev_inject", "charlotte:dev_audit"];
13
13
  readonly dialog: readonly ["charlotte:dialog"];
@@ -1 +1 @@
1
- {"version":3,"file":"tool-groups.d.ts","sourceRoot":"","sources":["../../src/tools/tool-groups.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAIH,eAAO,MAAM,WAAW;;;;;;;;;CAwDd,CAAC;AAEX,MAAM,MAAM,aAAa,GAAG,MAAM,OAAO,WAAW,CAAC;AAErD,eAAO,MAAM,eAAe,EAA+B,aAAa,EAAE,CAAC;AAE3E,yCAAyC;AACzC,eAAO,MAAM,cAAc,EAAE,MAAM,EAAsC,CAAC;AAI1E,MAAM,MAAM,WAAW,GAAG,MAAM,GAAG,QAAQ,GAAG,UAAU,GAAG,SAAS,GAAG,OAAO,GAAG,MAAM,CAAC;AAExF;;;;GAIG;AACH,eAAO,MAAM,aAAa,EAAE,MAAM,CAAC,WAAW,EAAE,MAAM,EAAE,CAuIvD,CAAC;AAEF;;GAEG;AACH,wBAAgB,cAAc,CAAC,OAAO,EAAE,WAAW,GAAG,GAAG,CAAC,MAAM,CAAC,CAEhE;AAED;;GAEG;AACH,wBAAgB,aAAa,CAAC,UAAU,EAAE,aAAa,EAAE,GAAG,GAAG,CAAC,MAAM,CAAC,CAWtE;AAED;;GAEG;AACH,wBAAgB,YAAY,CAAC,QAAQ,EAAE,MAAM,GAAG,aAAa,GAAG,SAAS,CAOxE;AAED,uFAAuF;AACvF,eAAO,MAAM,kBAAkB,EAAE,MAAM,CAAC,aAAa,EAAE,MAAM,CAS5D,CAAC"}
1
+ {"version":3,"file":"tool-groups.d.ts","sourceRoot":"","sources":["../../src/tools/tool-groups.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAIH,eAAO,MAAM,WAAW;;;;;;;;;CAyDd,CAAC;AAEX,MAAM,MAAM,aAAa,GAAG,MAAM,OAAO,WAAW,CAAC;AAErD,eAAO,MAAM,eAAe,EAA+B,aAAa,EAAE,CAAC;AAE3E,yCAAyC;AACzC,eAAO,MAAM,cAAc,EAAE,MAAM,EAAsC,CAAC;AAI1E,MAAM,MAAM,WAAW,GAAG,MAAM,GAAG,QAAQ,GAAG,UAAU,GAAG,SAAS,GAAG,OAAO,GAAG,MAAM,CAAC;AAExF;;;;GAIG;AACH,eAAO,MAAM,aAAa,EAAE,MAAM,CAAC,WAAW,EAAE,MAAM,EAAE,CA0IvD,CAAC;AAEF;;GAEG;AACH,wBAAgB,cAAc,CAAC,OAAO,EAAE,WAAW,GAAG,GAAG,CAAC,MAAM,CAAC,CAEhE;AAED;;GAEG;AACH,wBAAgB,aAAa,CAAC,UAAU,EAAE,aAAa,EAAE,GAAG,GAAG,CAAC,MAAM,CAAC,CAWtE;AAED;;GAEG;AACH,wBAAgB,YAAY,CAAC,QAAQ,EAAE,MAAM,GAAG,aAAa,GAAG,SAAS,CAOxE;AAED,uFAAuF;AACvF,eAAO,MAAM,kBAAkB,EAAE,MAAM,CAAC,aAAa,EAAE,MAAM,CAS5D,CAAC"}
@@ -23,6 +23,7 @@ export const TOOL_GROUPS = {
23
23
  ],
24
24
  interaction: [
25
25
  "charlotte:click",
26
+ "charlotte:click_at",
26
27
  "charlotte:type",
27
28
  "charlotte:select",
28
29
  "charlotte:toggle",
@@ -93,8 +94,9 @@ export const PROFILE_TOOLS = {
93
94
  "charlotte:screenshot_get",
94
95
  "charlotte:screenshot_delete",
95
96
  "charlotte:diff",
96
- // interaction (partial — click, type, select, toggle, submit, scroll)
97
+ // interaction (partial — click, click_at, type, select, toggle, submit, scroll)
97
98
  "charlotte:click",
99
+ "charlotte:click_at",
98
100
  "charlotte:type",
99
101
  "charlotte:select",
100
102
  "charlotte:toggle",
@@ -122,6 +124,7 @@ export const PROFILE_TOOLS = {
122
124
  "charlotte:diff",
123
125
  // interaction (all)
124
126
  "charlotte:click",
127
+ "charlotte:click_at",
125
128
  "charlotte:type",
126
129
  "charlotte:select",
127
130
  "charlotte:toggle",
@@ -157,6 +160,7 @@ export const PROFILE_TOOLS = {
157
160
  "charlotte:diff",
158
161
  // interaction (all)
159
162
  "charlotte:click",
163
+ "charlotte:click_at",
160
164
  "charlotte:type",
161
165
  "charlotte:select",
162
166
  "charlotte:toggle",
@@ -237,7 +241,7 @@ export function getToolGroup(toolName) {
237
241
  export const GROUP_DESCRIPTIONS = {
238
242
  navigation: "Page navigation (navigate, back, forward, reload)",
239
243
  observation: "Page inspection (observe, find, screenshot, diff)",
240
- interaction: "DOM interaction (click, type, select, toggle, submit, scroll, hover, drag, key, wait_for)",
244
+ interaction: "DOM interaction (click, click_at, type, select, toggle, submit, scroll, hover, drag, key, wait_for)",
241
245
  session: "Session management (cookies, headers, configure, tabs, viewport, network)",
242
246
  dev_mode: "Development tools (dev_serve, dev_inject, dev_audit)",
243
247
  dialog: "JavaScript dialog handling",
@@ -1 +1 @@
1
- {"version":3,"file":"tool-groups.js","sourceRoot":"","sources":["../../src/tools/tool-groups.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"tool-groups.js","sourceRoot":"","sources":["../../src/tools/tool-groups.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"element-id.d.ts","sourceRoot":"","sources":["../../src/types/element-id.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,eAAe,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAiBlD,CAAC;AAEF,MAAM,WAAW,gBAAgB;IAC/B,mBAAmB,EAAE,MAAM,GAAG,IAAI,CAAC;IACnC,oBAAoB,EAAE,MAAM,GAAG,IAAI,CAAC;IACpC,wBAAwB,EAAE,MAAM,GAAG,IAAI,CAAC;IACxC,YAAY,EAAE,MAAM,CAAC;CACtB"}
1
+ {"version":3,"file":"element-id.d.ts","sourceRoot":"","sources":["../../src/types/element-id.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,eAAe,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAkBlD,CAAC;AAEF,MAAM,WAAW,gBAAgB;IAC/B,mBAAmB,EAAE,MAAM,GAAG,IAAI,CAAC;IACnC,oBAAoB,EAAE,MAAM,GAAG,IAAI,CAAC;IACpC,wBAAwB,EAAE,MAAM,GAAG,IAAI,CAAC;IACxC,YAAY,EAAE,MAAM,CAAC;CACtB"}
@@ -15,5 +15,6 @@ export const TYPE_PREFIX_MAP = {
15
15
  form: "frm",
16
16
  region: "rgn",
17
17
  heading: "hdg",
18
+ dom_element: "dom",
18
19
  };
19
20
  //# sourceMappingURL=element-id.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"element-id.js","sourceRoot":"","sources":["../../src/types/element-id.ts"],"names":[],"mappings":"AAAA,MAAM,CAAC,MAAM,eAAe,GAA2B;IACrD,MAAM,EAAE,KAAK;IACb,UAAU,EAAE,KAAK;IACjB,IAAI,EAAE,KAAK;IACX,MAAM,EAAE,KAAK;IACb,QAAQ,EAAE,KAAK;IACf,KAAK,EAAE,KAAK;IACZ,MAAM,EAAE,KAAK;IACb,QAAQ,EAAE,KAAK;IACf,UAAU,EAAE,KAAK;IACjB,KAAK,EAAE,KAAK;IACZ,UAAU,EAAE,KAAK;IACjB,WAAW,EAAE,KAAK;IAClB,WAAW,EAAE,KAAK;IAClB,IAAI,EAAE,KAAK;IACX,MAAM,EAAE,KAAK;IACb,OAAO,EAAE,KAAK;CACf,CAAC"}
1
+ {"version":3,"file":"element-id.js","sourceRoot":"","sources":["../../src/types/element-id.ts"],"names":[],"mappings":"AAAA,MAAM,CAAC,MAAM,eAAe,GAA2B;IACrD,MAAM,EAAE,KAAK;IACb,UAAU,EAAE,KAAK;IACjB,IAAI,EAAE,KAAK;IACX,MAAM,EAAE,KAAK;IACb,QAAQ,EAAE,KAAK;IACf,KAAK,EAAE,KAAK;IACZ,MAAM,EAAE,KAAK;IACb,QAAQ,EAAE,KAAK;IACf,UAAU,EAAE,KAAK;IACjB,KAAK,EAAE,KAAK;IACZ,UAAU,EAAE,KAAK;IACjB,WAAW,EAAE,KAAK;IAClB,WAAW,EAAE,KAAK;IAClB,IAAI,EAAE,KAAK;IACX,MAAM,EAAE,KAAK;IACb,OAAO,EAAE,KAAK;IACd,WAAW,EAAE,KAAK;CACnB,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@ticktockbent/charlotte",
3
- "version": "0.4.0",
3
+ "version": "0.4.1",
4
4
  "description": "MCP server that renders web pages into structured, agent-readable representations",
5
5
  "type": "module",
6
6
  "main": "dist/index.js",