wezard 1.2.12 → 1.2.18

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.
Files changed (54) hide show
  1. package/README.md +2 -3
  2. package/config.example.jsonc +32 -0
  3. package/dist/cli/init.js +53 -2
  4. package/dist/cli/init.js.map +1 -1
  5. package/dist/daemon/approval.js +479 -106
  6. package/dist/daemon/approval.js.map +1 -1
  7. package/dist/daemon/danger.js +23 -0
  8. package/dist/daemon/danger.js.map +1 -1
  9. package/dist/daemon/graph.js +22 -4
  10. package/dist/daemon/graph.js.map +1 -1
  11. package/dist/daemon/inbound.js +112 -71
  12. package/dist/daemon/inbound.js.map +1 -1
  13. package/dist/daemon/index.js +67 -17
  14. package/dist/daemon/index.js.map +1 -1
  15. package/dist/daemon/mirror-bridge.js +564 -133
  16. package/dist/daemon/mirror-bridge.js.map +1 -1
  17. package/dist/daemon/peers.js +69 -7
  18. package/dist/daemon/peers.js.map +1 -1
  19. package/dist/daemon/pending.js +4 -3
  20. package/dist/daemon/pending.js.map +1 -1
  21. package/dist/daemon/session-name.js +133 -0
  22. package/dist/daemon/session-name.js.map +1 -0
  23. package/dist/daemon/session-scan.js +18 -2
  24. package/dist/daemon/session-scan.js.map +1 -1
  25. package/dist/daemon/spawn-tmux.js +103 -16
  26. package/dist/daemon/spawn-tmux.js.map +1 -1
  27. package/dist/daemon/ws.js +19 -1
  28. package/dist/daemon/ws.js.map +1 -1
  29. package/dist/mcp/server.js +4 -4
  30. package/dist/mcp/server.js.map +1 -1
  31. package/dist/shared/allow-rules.js +391 -0
  32. package/dist/shared/allow-rules.js.map +1 -0
  33. package/dist/shared/chat-render.js +2 -0
  34. package/dist/shared/chat-render.js.map +1 -1
  35. package/dist/shared/chat-view.js +37 -2
  36. package/dist/shared/chat-view.js.map +1 -1
  37. package/dist/shared/claude-config-path.js +132 -0
  38. package/dist/shared/claude-config-path.js.map +1 -0
  39. package/dist/shared/claude-permissions.js +63 -0
  40. package/dist/shared/claude-permissions.js.map +1 -0
  41. package/dist/shared/cli-backends.js +15 -2
  42. package/dist/shared/cli-backends.js.map +1 -1
  43. package/dist/shared/config.js +42 -2
  44. package/dist/shared/config.js.map +1 -1
  45. package/dist/shared/detail-render.js +22 -1
  46. package/dist/shared/detail-render.js.map +1 -1
  47. package/dist/shared/detail-store.js.map +1 -1
  48. package/dist/shared/modal-pane.js +101 -0
  49. package/dist/shared/modal-pane.js.map +1 -0
  50. package/dist/shared/session-label.js +26 -3
  51. package/dist/shared/session-label.js.map +1 -1
  52. package/package.json +1 -1
  53. package/web/chat.css +30 -0
  54. package/web/chat.js +60 -6
@@ -2,6 +2,7 @@
2
2
  // (mode=headless) or the mirror bridge (mode=mirror).
3
3
  import { mkdirSync, writeFileSync, statSync } from "node:fs";
4
4
  import { join } from "node:path";
5
+ import { tailTurns } from "./peers.js";
5
6
  import { expandHome, sanitizeId } from "../shared/paths.js";
6
7
  import { tryConsumeClaim, persistClaim, ackClaim, shouldAutoClaim, ackAutoClaim } from "./claim.js";
7
8
  import { getLastResponse } from "./last-response.js";
@@ -10,7 +11,10 @@ import { computeUsage, renderUsageReport } from "./usage.js";
10
11
  import { computeAuditReport } from "./audit.js";
11
12
  import { syncProjectConfig, renderSyncReport } from "./cfg-sync.js";
12
13
  import { captureQuota, renderQuotaReport } from "./quota.js";
13
- import { tagOfKey, withTagHeader } from "../shared/session-label.js";
14
+ import { tagOfKey, baseOfKey, withTagHeader, parseTagHeader } from "../shared/session-label.js";
15
+ /** 判定"引用内容是否已在目标会话上下文里"时回看的轮数 —— 引用的通常是最近几轮
16
+ * 里的某条气泡,再往前用户多半是真想把老内容重新拎出来说事。 */
17
+ const QUOTE_TAIL_TURNS = 12;
14
18
  // Chat-binding key: stable id for "this conversation thread". Used as
15
19
  // session-map key, mirror target, defaultChat. NOT used for auth.
16
20
  const chatPrincipal = (msg) => msg.chattype === "group" && msg.chatid ? `chat:${msg.chatid}` : `user:${msg.from.userid}`;
@@ -112,6 +116,7 @@ const parseCfgSyncCommand = (text) => {
112
116
  };
113
117
  const isUsageCommand = (text) => text.trim() === "/usage";
114
118
  const isStopCommand = (text) => text.trim() === "/stop";
119
+ const isKillCommand = (text) => text.trim() === "/kill";
115
120
  const isEnterCommand = (text) => text.trim() === "/n";
116
121
  const isRevealCommand = (text) => text.trim() === "/reveal";
117
122
  const isHelpCommand = (text) => /^\/(?:help|\?|h)$/i.test(text.trim());
@@ -126,6 +131,7 @@ const renderHelp = () => [
126
131
  "`/clear` 清空当前会话上下文 (有待切项目时自动升级为 /new)",
127
132
  "`/sessions` 列出 live 会话 · `/sessions <emoji|id>` 切换",
128
133
  "`/stop` 打断当前生成 (Esc)",
134
+ "`/kill` 结束本会话并移除 tmux pane (下条消息自动新开)",
129
135
  "`/n` 向 CLI 输入回车 (Enter)",
130
136
  "`/reveal` 把终端的 tmux 窗口切到本会话",
131
137
  "",
@@ -188,7 +194,7 @@ const renderSessionsList = (sessions, currentSid) => {
188
194
  const here = s.sessionId === currentSid ? " ⬅️ 当前" : "";
189
195
  const dir = s.cwd.replace(/^.*\//, "") || s.cwd || "?";
190
196
  const cli = mixed ? ` _(${s.cli})_` : "";
191
- return `${s.label || "▫️"} \`${s.sessionId.slice(0, 8)}\` ${dir}${cli}${here}`;
197
+ return `${s.label || "🧙"} \`${s.sessionId.slice(0, 8)}\` ${dir}${cli}${here}`;
192
198
  });
193
199
  return [
194
200
  "[wezard] 正在运行的会话:",
@@ -286,10 +292,7 @@ const quoteToText = (q) => {
286
292
  return "[文件]";
287
293
  return "";
288
294
  };
289
- const renderQuotePrefix = (q) => {
290
- if (!q)
291
- return "";
292
- const body = quoteToText(q).trim();
295
+ const renderQuotePrefix = (body) => {
293
296
  if (!body)
294
297
  return "";
295
298
  // Quote each line so multi-line引用渲染整洁; trailing blank line separates
@@ -303,12 +306,10 @@ const renderQuotePrefix = (q) => {
303
306
  // just letters + digits (Unicode + CJK) and compare on that — robust against
304
307
  // any punctuation/whitespace/markup churn while keeping content fidelity.
305
308
  const canonForCompare = (s) => s.replace(/[^\p{L}\p{N}]/gu, "");
306
- const isLastResponseQuote = (target, quoted) => {
307
- const last = getLastResponse(target);
308
- if (!last || !quoted)
309
- return false;
310
- const a = canonForCompare(last);
311
- const b = canonForCompare(quoted);
309
+ /** `haystack` 里是否已包含 `needle`(两边都归一化后的子串匹配)。 */
310
+ const canonContains = (haystack, needle) => {
311
+ const a = canonForCompare(haystack);
312
+ const b = canonForCompare(needle);
312
313
  if (a.length < 4 || b.length < 6)
313
314
  return false; // too short — false-positive risk
314
315
  // Substring match (prefix subsumes; suffix covers tool-heavy turns where the
@@ -317,42 +318,45 @@ const isLastResponseQuote = (target, quoted) => {
317
318
  // can't break the match.
318
319
  return a.includes(b);
319
320
  };
320
- const withQuote = (msg, text) => {
321
- if (!msg.quote)
322
- return text;
323
- // Drop the quote when the user is replying to wezard's most recent message
324
- // in this chat — claude already has that turn in its context, surfacing it
325
- // again is redundant noise. Older self-quotes still flow through (the user
326
- // is genuinely pointing back to something earlier).
327
- const quoted = quoteToText(msg.quote).trim();
328
- if (isLastResponseQuote(chatPrincipal(msg), quoted))
329
- return text;
330
- const prefix = renderQuotePrefix(msg.quote);
331
- return prefix ? `${prefix}${text}` : text;
321
+ const isLastResponseQuote = (target, quoted) => canonContains(getLastResponse(target) ?? "", quoted);
322
+ // ── 引用即路由 ─────────────────────────────────────────────────────────
323
+ // 群里要跟 `#fix` 说话,手打 tag 太慢 —— 直接引用它的气泡即可。每条出站气泡都
324
+ // 带 `emoji #tag` 头 (withTagHeader),所以引用文本自带路由信息;用户自己发的
325
+ // 行首 `#fix 干活` 同样算数(限行首,否则正文里随手写的 #123 会误判)。
326
+ // `body` 是剥掉头/tag 后的净引用内容,用于跟目标 context 比对。
327
+ const parseQuote = (q) => {
328
+ const raw = q ? quoteToText(q).trim() : "";
329
+ if (!raw)
330
+ return null;
331
+ const head = parseTagHeader(raw);
332
+ if (head.fromBot)
333
+ return { tag: head.tag, body: head.body };
334
+ const m = TAG_RE.exec(raw);
335
+ return m && m.index === 0 ? { tag: m[2] ?? "", body: parseTag(raw).cleaned } : { tag: "", body: raw };
332
336
  };
333
- // Effective body for a text message.
334
- // - Normal: strip the bot @mention, attach any quote as a markdown context prefix.
335
- // - Pure-quote re-trigger: when the user adds NO new text and just quotes a
336
- // message, promote the quoted message to the body (strip its @mention so
337
- // "@wezard /usage" → "/usage" hits the command path). WeCom silently dedups
338
- // identical text sends, so re-quoting the same command is the only way to
339
- // re-fire it — this makes that work. Self-quotes of wezard's own last reply
340
- // are excluded (would echo wezard's text back as a command).
341
- // Also extracts the leading `#tag` (if any) from the effective body; the
342
- // returned `text` has the tag stripped so command matchers see clean
343
- // "/new"/"/pwd"/etc.
344
- const resolveTextBody = (msg) => {
345
- const body = maybeStripMentions(msg, msg.text?.content ?? "");
346
- if (body.trim()) {
347
- const { tag, cleaned } = parseTag(body);
348
- return { text: withQuote(msg, cleaned), tag, promoted: false };
337
+ // 一条入站消息的最终「投递目标 tag + 给 claude 的正文」。text / image / mixed
338
+ // 三条路径共用,两条规则:
339
+ // 1. 引用自带的 tag 决定投递目标;引用之外自己打的 `#tag` 优先级更高。
340
+ // 2. 引用内容若已经在目标会话的 context 尾部,就只保留上面那层路由绑定、正文
341
+ // 丢弃(重复贴回去纯属污染);不在则说明它是真载荷(跨会话转发 / 引同事的
342
+ // 消息 / 目标已 `/clear`),照旧渲染成 markdown 引用块。
343
+ // 纯引用不打字时,沿用旧的"把引用内容提成正文"重触发路径 —— 但同样只在内容不
344
+ // 在目标上下文里时才有意义,否则那只是一次对该会话的空 nudge。
345
+ const composeInbound = (msg, rawBody, inContext) => {
346
+ const { tag: typed, cleaned } = parseTag(rawBody);
347
+ const q = parseQuote(msg.quote);
348
+ const tag = typed || q?.tag || "";
349
+ // 剥完头什么都不剩(折叠气泡这类纯 chrome 的引用)⇒ 没有可搬运的内容,只留路由。
350
+ const consumed = !q || !q.body.trim() || inContext(sessionKey(chatPrincipal(msg), tag), q.body);
351
+ if (cleaned.trim()) {
352
+ return { text: consumed ? cleaned : `${renderQuotePrefix(q.body)}${cleaned}`, tag, promoted: false };
349
353
  }
350
- const quoted = msg.quote ? quoteToText(msg.quote).trim() : "";
351
- if (quoted && !isLastResponseQuote(chatPrincipal(msg), quoted)) {
352
- const { tag, cleaned } = parseTag(maybeStripMentions(msg, quoted).trim());
353
- return { text: cleaned, tag, promoted: true };
354
+ if (q && !consumed) {
355
+ // 提成正文时也剥一次 @mention,让 "@wezard /usage" → "/usage" 命中命令路径。
356
+ const p = parseTag(maybeStripMentions(msg, q.body).trim());
357
+ return { text: p.cleaned, tag: p.tag || tag, promoted: true };
354
358
  }
355
- return { text: withQuote(msg, body), tag: "", promoted: false };
359
+ return { text: cleaned, tag, promoted: false };
356
360
  };
357
361
  const isAllowed = (cfg, principals) => {
358
362
  if (cfg.wrc.allowFrom.length === 0)
@@ -422,14 +426,14 @@ export const installInboundRouter = (client, cfg, log, bridge, sourcePath) => {
422
426
  // the user-facing one-line ack. When `who` carries a `#tag` suffix, use
423
427
  // the raw tag as the tmux window name so the pane shows readably in the
424
428
  // status bar (e.g. `#docs` → window `docs`, not the principal slug).
429
+ // On success there is NO reply: newSession already pushed the single
430
+ // "created + cwd" bubble. Only failures produce user-facing text.
425
431
  const spawnSession = async (who, cli, silent) => {
426
432
  if (!("newSession" in bridge))
427
- return "[wezard] /new only available in mirror mode";
433
+ return { err: "[wezard] /new only available in mirror mode" };
428
434
  const tag = tagOf(who);
429
435
  const r = await bridge.newSession(who, tag || who, cli, { silent });
430
- if (!r.ok)
431
- return `[wezard] /new failed: ${r.reason ?? "unknown"}`;
432
- return `✅ 新会话已建立 \`${r.sessionId}\``;
436
+ return r.ok ? {} : { err: `[wezard] /new failed: ${r.reason ?? "unknown"}` };
433
437
  };
434
438
  // 同一 `#tag` 的两条消息会并发落进 gate,双双判定「未附着」→ 双 spawn,后者
435
439
  // newSession 会 kill 掉前者的 pane,前者的 dispatch 再 `--resume` 重生出孤儿
@@ -447,7 +451,7 @@ export const installInboundRouter = (client, cfg, log, bridge, sourcePath) => {
447
451
  const autoSpawnAndAttach = (who, cli) => serializeSpawn(who, () => spawnSession(who, cli));
448
452
  // 隐式建会话(裸 `#tag` 第一条消息):轮到自己时若前一条已经把会话建好,直接
449
453
  // 复用,不再 respawn —— 否则先到的消息会被注入进一个刚被杀掉的 pane。
450
- const ensureSession = (who) => serializeSpawn(who, async () => "hasMirrorTarget" in bridge && bridge.hasMirrorTarget(who) ? "✅ 复用已建立的会话" : await spawnSession(who, undefined, true));
454
+ const ensureSession = (who) => serializeSpawn(who, async () => "hasMirrorTarget" in bridge && bridge.hasMirrorTarget(who) ? {} : await spawnSession(who, undefined, true));
451
455
  // Prefix user-visible daemon replies with `<emoji> #tag` when the routed
452
456
  // session is tagged, so a chat hosting multiple concurrent tagged sessions
453
457
  // stays visually disambiguated. Untagged (default) session passes through
@@ -601,8 +605,9 @@ export const installInboundRouter = (client, cfg, log, bridge, sourcePath) => {
601
605
  // very first message from a fresh user. When routed with a `#tag`, the
602
606
  // tag becomes both the mirror-store key and the tmux window name.
603
607
  if (isNewCommand(text)) {
604
- const reply = await autoSpawnAndAttach(who, cliOfNewCommand(text));
605
- await replyText(frame, msg, who, reply);
608
+ const { err } = await autoSpawnAndAttach(who, cliOfNewCommand(text));
609
+ if (err)
610
+ await replyText(frame, msg, who, err);
606
611
  return { stop: true };
607
612
  }
608
613
  // 事件订阅 / 广播 / 定时已全部迁移到 MCP 工具(subscribe_topic /
@@ -610,12 +615,33 @@ export const installInboundRouter = (client, cfg, log, bridge, sourcePath) => {
610
615
  // Authorized `/stop` — Esc the live pane to interrupt whatever Claude is
611
616
  // currently doing. Mirror-mode only; bails cleanly when no attachment.
612
617
  if (isStopCommand(text)) {
613
- if (!("interruptPane" in bridge)) {
614
- await replyText(frame, msg, who, "[wezard] /stop only available in mirror mode");
618
+ if ("interruptPane" in bridge) {
619
+ // teardown: /stop is the user's "shut this up" button, so it must also
620
+ // close hanging bubbles and free the inject queue — not just press Esc.
621
+ // Stay silent on a clean stop (the pane going quiet IS the receipt);
622
+ // only speak up when a half actually failed — a live pane that refuses
623
+ // Esc is a very different situation from a chat merely stuck on a bubble.
624
+ const r = await bridge.interruptPane(who, { teardown: true });
625
+ if (!r.ok) {
626
+ await replyText(frame, msg, who, `[wezard] /stop failed: ${r.reason ?? "unknown"}`);
627
+ }
628
+ else if (!r.escOk) {
629
+ const torndown = r.torndown ? ` · 已收口 ${r.torndown} 个挂起气泡` : "";
630
+ await replyText(frame, msg, who, `⚠️ Esc 未送达(${r.escReason ?? "unknown"})${torndown} · 保活已暂停`);
631
+ }
632
+ }
633
+ return { stop: true };
634
+ }
635
+ // Authorized `/kill` — end this session for good: Esc the pane, kill it,
636
+ // and drop the binding (no `--resume` resurrection). Routed by `#tag` like
637
+ // /stop, so `/kill #docs` only takes down that sibling.
638
+ if (isKillCommand(text)) {
639
+ if (!("killPane" in bridge)) {
640
+ await replyText(frame, msg, who, "[wezard] /kill only available in mirror mode");
615
641
  }
616
642
  else {
617
- const r = await bridge.interruptPane(who);
618
- await replyText(frame, msg, who, r.ok ? "✅ Esc sent · 保活已暂停(下次对话自动恢复)" : `[wezard] /stop failed: ${r.reason ?? "unknown"}`);
643
+ const r = await bridge.killPane(who);
644
+ await replyText(frame, msg, who, r.ok ? "🗑️ 会话已结束,pane 已移除" : `[wezard] /kill failed: ${r.reason ?? "unknown"}`);
619
645
  }
620
646
  return { stop: true };
621
647
  }
@@ -628,7 +654,7 @@ export const installInboundRouter = (client, cfg, log, bridge, sourcePath) => {
628
654
  }
629
655
  else {
630
656
  const r = await bridge.submitPane(who);
631
- await replyText(frame, msg, who, r.ok ? "✅ Enter sent" : `[wezard] /n failed: ${r.reason ?? "unknown"}`);
657
+ await replyText(frame, msg, who, r.ok ? "Enter sent" : `[wezard] /n failed: ${r.reason ?? "unknown"}`);
632
658
  }
633
659
  return { stop: true };
634
660
  }
@@ -704,7 +730,7 @@ export const installInboundRouter = (client, cfg, log, bridge, sourcePath) => {
704
730
  }
705
731
  const hit = matchSession(sessions, sc.arg);
706
732
  if (!hit) {
707
- const avail = sessions.map((s) => `${s.label || "▫️"} ${s.sessionId.slice(0, 8)}`).join("、") || "无";
733
+ const avail = sessions.map((s) => `${s.label || "🧙"} ${s.sessionId.slice(0, 8)}`).join("、") || "无";
708
734
  await replyText(frame, msg, who, `[wezard] 未找到会话 \`${sc.arg}\`。可用:${avail}`);
709
735
  return { stop: true };
710
736
  }
@@ -723,15 +749,29 @@ export const installInboundRouter = (client, cfg, log, bridge, sourcePath) => {
723
749
  // to auto-spawn: this inbound becomes both the binding signal and the
724
750
  // first prompt — attach, then fall through to dispatch.
725
751
  if ("hasMirrorTarget" in bridge && !bridge.hasMirrorTarget(who)) {
726
- const reply = await ensureSession(who);
727
- if (!reply.startsWith("✅")) {
728
- await replyText(frame, msg, who, reply);
752
+ const { err } = await ensureSession(who);
753
+ if (err) {
754
+ await replyText(frame, msg, who, err);
729
755
  return { stop: true };
730
756
  }
731
757
  // attached — fall through to dispatch
732
758
  }
733
759
  return { stop: false };
734
760
  };
761
+ // 「引用内容是否已经在目标会话的 context 里」。两级:先查刚发出去的最后一条
762
+ // 气泡(内存,headless 模式也有);miss 再读目标会话 transcript 的尾部若干轮
763
+ // —— 引用的往往是几轮之前的气泡,只比对最后一条会漏。目标未挂载(尚未 attach /
764
+ // headless)时读不到 transcript,退化成"保留引用",宁可多给上下文。
765
+ const quoteInContext = (target, quoted) => {
766
+ if (isLastResponseQuote(baseOfKey(target), quoted))
767
+ return true;
768
+ const mirrors = bridge
769
+ .status?.().mirrors ?? [];
770
+ const jsonl = mirrors.find((m) => m.target === target)?.jsonlPath;
771
+ if (!jsonl)
772
+ return false;
773
+ return canonContains(tailTurns(jsonl, QUOTE_TAIL_TURNS).map((t) => t.text).join("\n"), quoted);
774
+ };
735
775
  const send = async (frame, msg, who, text, images = []) => {
736
776
  try {
737
777
  await bridge.dispatch({ principal: who, text, images, frame, streamId: msg.msgid });
@@ -748,7 +788,7 @@ export const installInboundRouter = (client, cfg, log, bridge, sourcePath) => {
748
788
  const msg = frame.body;
749
789
  if (!msg)
750
790
  return;
751
- const { text, tag, promoted } = resolveTextBody(msg);
791
+ const { text, tag, promoted } = composeInbound(msg, maybeStripMentions(msg, msg.text?.content ?? ""), quoteInContext);
752
792
  const who = sessionKey(chatPrincipal(msg), tag);
753
793
  log.info({ msgid: msg.msgid, len: text.length, tag, hasQuote: !!msg.quote, promoted }, "rx text");
754
794
  const { stop } = await gate(frame, msg, text, who);
@@ -761,8 +801,10 @@ export const installInboundRouter = (client, cfg, log, bridge, sourcePath) => {
761
801
  if (!msg)
762
802
  return;
763
803
  log.info({ msgid: msg.msgid, hasQuote: !!msg.quote }, "rx image");
764
- // Images carry no text — always route to the chat's default session.
765
- const who = chatPrincipal(msg);
804
+ // Images carry no text of their own — the quote (if any) is the only
805
+ // routing signal; without it they land on the chat's default session.
806
+ const { text, tag } = composeInbound(msg, "", quoteInContext);
807
+ const who = sessionKey(chatPrincipal(msg), tag);
766
808
  const { stop } = await gate(frame, msg, "", who);
767
809
  if (stop)
768
810
  return;
@@ -778,7 +820,7 @@ export const installInboundRouter = (client, cfg, log, bridge, sourcePath) => {
778
820
  // each via macOS clipboard + Ctrl+V into the live TTY (matches Claude
779
821
  // Code's documented image paste flow → image content block, no Read tool
780
822
  // turn). Spawn-mode falls back to `@<path>` automatically.
781
- await send(frame, msg, who, withQuote(msg, ""), [path]);
823
+ await send(frame, msg, who, text, [path]);
782
824
  });
783
825
  client.on("message.mixed", async (frame) => {
784
826
  const msg = frame.body;
@@ -791,7 +833,7 @@ export const installInboundRouter = (client, cfg, log, bridge, sourcePath) => {
791
833
  .filter((it) => it.msgtype === "text")
792
834
  .map((it) => it.text?.content ?? "")
793
835
  .join("\n");
794
- const { tag } = parseTag(maybeStripMentions(msg, rawText));
836
+ const { tag } = composeInbound(msg, maybeStripMentions(msg, rawText), quoteInContext);
795
837
  const who = sessionKey(chatPrincipal(msg), tag);
796
838
  const { stop } = await gate(frame, msg, "", who);
797
839
  if (stop)
@@ -813,11 +855,10 @@ export const installInboundRouter = (client, cfg, log, bridge, sourcePath) => {
813
855
  }
814
856
  if (texts.length === 0 && images.length === 0 && !msg.quote)
815
857
  return;
816
- // Strip the routing `#tag` from the concatenated body before forwarding —
817
- // it was consumed by parseTag above; leaving it in would leak into Claude.
818
- const joined = texts.join("\n");
819
- const bodyForClaude = tag ? parseTag(joined).cleaned : joined;
820
- await send(frame, msg, who, withQuote(msg, bodyForClaude), images);
858
+ // Re-compose on the per-item stripped text: drops the routing `#tag` (it was
859
+ // consumed above; leaving it in would leak into Claude) and attaches the
860
+ // quote only when it isn't already in the target's context.
861
+ await send(frame, msg, who, composeInbound(msg, texts.join("\n"), quoteInContext).text, images);
821
862
  });
822
863
  // template_card_event is handled in approval module; no listener here.
823
864
  };
@@ -1 +1 @@
1
- {"version":3,"file":"inbound.js","sourceRoot":"","sources":["../../daemon/inbound.ts"],"names":[],"mappings":"AAAA,8EAA8E;AAC9E,sDAAsD;AACtD,OAAO,EAAE,SAAS,EAAE,aAAa,EAAE,QAAQ,EAAE,MAAM,SAAS,CAAC;AAC7D,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AAOjC,OAAO,EAAE,UAAU,EAAE,UAAU,EAAE,MAAM,oBAAoB,CAAC;AAE5D,OAAO,EAAE,eAAe,EAAE,YAAY,EAAE,QAAQ,EAAE,eAAe,EAAE,YAAY,EAAE,MAAM,YAAY,CAAC;AACpG,OAAO,EAAE,eAAe,EAAE,MAAM,oBAAoB,CAAC;AACrD,OAAO,EAAE,kBAAkB,EAAoB,MAAM,mBAAmB,CAAC;AACzE,OAAO,EAAE,YAAY,EAAE,iBAAiB,EAAE,MAAM,YAAY,CAAC;AAC7D,OAAO,EAAE,kBAAkB,EAAE,MAAM,YAAY,CAAC;AAChD,OAAO,EAAE,iBAAiB,EAAE,gBAAgB,EAAE,MAAM,eAAe,CAAC;AACpE,OAAO,EAAE,YAAY,EAAE,iBAAiB,EAAE,MAAM,YAAY,CAAC;AAC7D,OAAO,EAAE,QAAQ,EAAE,aAAa,EAAE,MAAM,4BAA4B,CAAC;AAErE,sEAAsE;AACtE,kEAAkE;AAClE,MAAM,aAAa,GAAG,CAAC,GAAgB,EAAU,EAAE,CACjD,GAAG,CAAC,QAAQ,KAAK,OAAO,IAAI,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,QAAQ,GAAG,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC,QAAQ,GAAG,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC;AAE5F,6EAA6E;AAC7E,4EAA4E;AAC5E,qEAAqE;AACrE,iEAAiE;AACjE,4EAA4E;AAC5E,2EAA2E;AAC3E,oEAAoE;AACpE,oDAAoD;AACpD,wDAAwD;AACxD,MAAM,MAAM,GAAG,mEAAmE,CAAC;AACnF,MAAM,QAAQ,GAAG,CAAC,IAAY,EAAoC,EAAE;IAClE,MAAM,CAAC,GAAG,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAC5B,IAAI,CAAC,CAAC;QAAE,OAAO,EAAE,GAAG,EAAE,EAAE,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;IAC1C,MAAM,GAAG,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;IACvB,MAAM,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC;IACtC,MAAM,GAAG,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;IACvB,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,KAAK,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC;IAChD,MAAM,OAAO,GAAG,CAAC,MAAM,GAAG,GAAG,GAAG,KAAK,CAAC,CAAC,OAAO,CAAC,SAAS,EAAE,GAAG,CAAC,CAAC,IAAI,EAAE,CAAC;IACtE,OAAO,EAAE,GAAG,EAAE,OAAO,EAAE,CAAC;AAC1B,CAAC,CAAC;AAEF,MAAM,UAAU,GAAG,CAAC,IAAY,EAAE,GAAW,EAAU,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,IAAI,IAAI,GAAG,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;AAC1F,MAAM,KAAK,GAAG,QAAQ,CAAC;AAEvB,2EAA2E;AAC3E,0EAA0E;AAC1E,sDAAsD;AACtD,MAAM,cAAc,GAAG,CAAC,GAAgB,EAAY,EAAE;IACpD,MAAM,IAAI,GAAG,QAAQ,GAAG,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC;IACvC,IAAI,GAAG,CAAC,QAAQ,KAAK,OAAO,IAAI,GAAG,CAAC,MAAM;QAAE,OAAO,CAAC,QAAQ,GAAG,CAAC,MAAM,EAAE,EAAE,IAAI,CAAC,CAAC;IAChF,OAAO,CAAC,IAAI,CAAC,CAAC;AAChB,CAAC,CAAC;AAEF,wEAAwE;AACxE,sEAAsE;AACtE,wEAAwE;AACxE,6EAA6E;AAC7E,MAAM,SAAS,GAAG,CAAC,GAAgB,EAAE,GAAW,EAAU,EAAE;IAC1D,MAAM,OAAO,GAAG,IAAI,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;IACrE,MAAM,IAAI,GAAG,CAAC,EAAU,EAAU,EAAE,CAAC,CAAC,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC;IAC3E,MAAM,MAAM,GAAG,QAAQ,GAAG,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC;IACzC,IAAI,GAAG,CAAC,QAAQ,KAAK,OAAO,IAAI,GAAG,CAAC,MAAM,EAAE,CAAC;QAC3C,MAAM,IAAI,GAAG,QAAQ,GAAG,CAAC,MAAM,EAAE,CAAC;QAClC,OAAO;YACL,QAAQ,IAAI,MAAM,IAAI,CAAC,IAAI,CAAC,EAAE;YAC9B,UAAU,MAAM,MAAM,IAAI,CAAC,MAAM,CAAC,EAAE;YACpC,oBAAoB;YACpB,yCAAyC,GAAG,CAAC,MAAM,IAAI;SACxD,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IACf,CAAC;IACD,OAAO;QACL,WAAW,MAAM,MAAM,IAAI,CAAC,MAAM,CAAC,EAAE;QACrC,yCAAyC,GAAG,CAAC,IAAI,CAAC,MAAM,IAAI;KAC7D,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AACf,CAAC,CAAC;AAEF,MAAM,WAAW,GAAG,CAAC,IAAY,EAAW,EAAE,CAAC,IAAI,CAAC,IAAI,EAAE,KAAK,KAAK,CAAC;AACrE,MAAM,YAAY,GAAG,CAAC,IAAY,EAAW,EAAE,CAAC,IAAI,CAAC,IAAI,EAAE,KAAK,MAAM,CAAC;AACvE,MAAM,aAAa,GAAG,CAAC,IAAY,EAAW,EAAE,CAAC,IAAI,CAAC,IAAI,EAAE,KAAK,OAAO,CAAC;AACzE,uEAAuE;AACvE,iFAAiF;AACjF,gEAAgE;AAChE,MAAM,iBAAiB,GAAG,CAAC,IAAY,EAA+B,EAAE;IACtE,MAAM,CAAC,GAAG,wBAAwB,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC,CAAC;IACrD,OAAO,CAAC,CAAC,CAAC,CAAC,EAAE,GAAG,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC,OAAO,CAAC,IAAI,EAAE,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,SAAS,CAAC;AACxE,CAAC,CAAC;AAMF,MAAM,kBAAkB,GAAG,CACzB,OAAoB,EACpB,GAAW,EACX,GAAW,EACX,OAAe,EACQ,EAAE;IACzB,IAAI,GAAG,EAAE,CAAC;QACR,MAAM,MAAM,GAAG,GAAG,CAAC,OAAO,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC;QACrC,MAAM,OAAO,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,KAAK,MAAM,CAAC,CAAC;QACjF,IAAI,OAAO,CAAC,MAAM,IAAI,CAAC;YAAE,OAAO,OAAO,CAAC,CAAC,CAAC,CAAC;QAC3C,OAAO,OAAO;aACX,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE;YACT,IAAI,EAAE,GAAG,CAAC,CAAC;YACX,IAAI,CAAC;gBAAC,EAAE,GAAG,QAAQ,CAAC,UAAU,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,OAAO,CAAC;YAAC,CAAC;YAAC,MAAM,CAAC,CAAC,YAAY,CAAC,CAAC;YAC9E,OAAO,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC;QACnB,CAAC,CAAC;aACD,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;IACvC,CAAC;IACD,OAAO,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,KAAK,GAAG,IAAI,CAAC,CAAC,MAAM,KAAK,OAAO,CAAC,CAAC;AACvE,CAAC,CAAC;AACF,8EAA8E;AAC9E,gFAAgF;AAChF,4DAA4D;AAC5D,MAAM,MAAM,GAAG,oDAAoD,CAAC;AACpE,MAAM,YAAY,GAAG,CAAC,IAAY,EAAW,EAAE,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC,CAAC;AACzE,MAAM,eAAe,GAAG,CAAC,IAAY,EAA8B,EAAE,CACnE,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,WAAW,EAAgC,CAAC;AAC7E,6EAA6E;AAC7E,gEAAgE;AAChE,MAAM,UAAU,GAAG,sCAAsC,CAAC;AAC1D,MAAM,mBAAmB,GAAG,CAAC,IAAY,EAAkC,EAAE;IAC3E,MAAM,CAAC,GAAG,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC,CAAC;IACvC,OAAO,CAAC,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,SAAS,CAAC;AAClD,CAAC,CAAC;AACF,MAAM,cAAc,GAAG,CAAC,IAAY,EAAW,EAAE,CAAC,IAAI,CAAC,IAAI,EAAE,KAAK,QAAQ,CAAC;AAC3E,MAAM,aAAa,GAAG,CAAC,IAAY,EAAW,EAAE,CAAC,IAAI,CAAC,IAAI,EAAE,KAAK,OAAO,CAAC;AACzE,MAAM,cAAc,GAAG,CAAC,IAAY,EAAW,EAAE,CAAC,IAAI,CAAC,IAAI,EAAE,KAAK,IAAI,CAAC;AACvE,MAAM,eAAe,GAAG,CAAC,IAAY,EAAW,EAAE,CAAC,IAAI,CAAC,IAAI,EAAE,KAAK,SAAS,CAAC;AAC7E,MAAM,aAAa,GAAG,CAAC,IAAY,EAAW,EAAE,CAAC,oBAAoB,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC,CAAC;AAExF,wEAAwE;AACxE,4EAA4E;AAC5E,gDAAgD;AAChD,MAAM,UAAU,GAAG,GAAW,EAAE,CAC9B;IACE,aAAa;IACb,EAAE;IACF,KAAK;IACL,iCAAiC;IACjC,uCAAuC;IACvC,oDAAoD;IACpD,sBAAsB;IACtB,yBAAyB;IACzB,6BAA6B;IAC7B,EAAE;IACF,YAAY;IACZ,oEAAoE;IACpE,0CAA0C;IAC1C,gDAAgD;IAChD,EAAE;IACF,QAAQ;IACR,0DAA0D;IAC1D,0DAA0D;IAC1D,uDAAuD;IACvD,oEAAoE;IACpE,EAAE;IACF,QAAQ;IACR,0BAA0B;IAC1B,oCAAoC;IACpC,+CAA+C;IAC/C,iEAAiE;IACjE,yCAAyC;IACzC,EAAE;IACF,WAAW;IACX,kBAAkB;IAClB,eAAe;IACf,mBAAmB;IACnB,oBAAoB;IACpB,8DAA8D;IAC9D,uDAAuD;IACvD,aAAa;IACb,EAAE;IACF,YAAY;IACZ,qDAAqD;IACrD,yEAAyE;IACzE,EAAE;IACF,aAAa;IACb,gCAAgC;IAChC,kCAAkC;IAClC,iCAAiC;IACjC,EAAE;IACF,0BAA0B;CAC3B,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AAEf,8EAA8E;AAC9E,8EAA8E;AAC9E,kFAAkF;AAClF,MAAM,oBAAoB,GAAG,CAAC,IAAY,EAA+B,EAAE;IACzE,MAAM,CAAC,GAAG,4BAA4B,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC,CAAC;IACzD,IAAI,CAAC,CAAC;QAAE,OAAO,SAAS,CAAC;IACzB,OAAO,EAAE,GAAG,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC;AACtC,CAAC,CAAC;AAEF,4EAA4E;AAC5E,wEAAwE;AACxE,MAAM,kBAAkB,GAAG,CAAC,QAAuB,EAAE,UAAkB,EAAU,EAAE;IACjF,IAAI,QAAQ,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,6BAA6B,CAAC;IAChE,4EAA4E;IAC5E,qDAAqD;IACrD,MAAM,KAAK,GAAG,IAAI,GAAG,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,GAAG,CAAC,CAAC;IAC3D,MAAM,KAAK,GAAG,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE;QAC/B,MAAM,IAAI,GAAG,CAAC,CAAC,SAAS,KAAK,UAAU,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE,CAAC;QACxD,MAAM,GAAG,GAAG,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,OAAO,EAAE,EAAE,CAAC,IAAI,CAAC,CAAC,GAAG,IAAI,GAAG,CAAC;QACvD,MAAM,GAAG,GAAG,KAAK,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,GAAG,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC;QACzC,OAAO,GAAG,CAAC,CAAC,KAAK,IAAI,IAAI,MAAM,CAAC,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,MAAM,GAAG,GAAG,GAAG,GAAG,IAAI,EAAE,CAAC;IACjF,CAAC,CAAC,CAAC;IACH,OAAO;QACL,mBAAmB;QACnB,GAAG,KAAK;QACR,gDAAgD;KACjD,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AACf,CAAC,CAAC;AAEF,gFAAgF;AAChF,8EAA8E;AAC9E,iFAAiF;AACjF,MAAM,cAAc,GAAG,CAAC,IAAY,EAAW,EAAE,CAAC,0BAA0B,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC,CAAC;AAE/F,MAAM,IAAI,GAAG,CAAC,EAAY,EAAY,EAAE,CAAC,CAAC,GAAG,IAAI,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC;AAC1D,MAAM,KAAK,GAAG,CAAC,CAAW,EAAU,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,OAAO,EAAE,EAAE,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC;AAC3E,MAAM,IAAI,GAAG,CAAC,CAAS,EAAE,CAAS,EAAU,EAAE,CAAC,CAAC,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AAExF,+EAA+E;AAC/E,8EAA8E;AAC9E,iFAAiF;AACjF,qCAAqC;AACrC,MAAM,WAAW,GAAG,CAAC,KAAiB,EAAU,EAAE;IAChD,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,oCAAoC,CAAC;IACpE,MAAM,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC;IACpC,MAAM,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;IAC3C,MAAM,MAAM,GAAG,CAAC,IAAI,CAAC,MAAM,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,EAAE,IAAI,CAAC,MAAM,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;IACpG,MAAM,IAAI,GAAG,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,EAAE;QAC/B,MAAM,IAAI,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC;QACxC,MAAM,KAAK,GAAG,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,OAAO,CAAC;QAClE,MAAM,MAAM,GAAG,CAAC,IAAI,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,EAAE,IAAI,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;QAC/F,MAAM,EAAE,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC;QACnC,OAAO;YACL,KAAK,CAAC,CAAC,KAAK,IAAI,IAAI,MAAM,KAAK,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,GAAG,EAAE,EAAE;YACxF,IAAI,IAAI,CAAC,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,EAAE;YACzB,EAAE;SACH,CAAC;IACJ,CAAC,CAAC,CAAC;IACH,OAAO;QACL,qBAAqB,KAAK,CAAC,MAAM,KAAK,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,EAAE;QACvF,EAAE;QACF,GAAG,IAAI;QACP,0CAA0C;KAC3C,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AACf,CAAC,CAAC;AAEF,yEAAyE;AACzE,8EAA8E;AAC9E,MAAM,YAAY,GAAG,CAAC,QAAuB,EAAE,GAAW,EAA2B,EAAE,CACrF,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,KAAK,KAAK,GAAG,CAAC;IACrC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,SAAS,KAAK,GAAG,CAAC;IACzC,CAAC,GAAG,CAAC,MAAM,IAAI,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,SAAS,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC;AAEpF,gFAAgF;AAChF,+EAA+E;AAC/E,2BAA2B;AAC3B,8EAA8E;AAC9E,8EAA8E;AAC9E,wBAAwB;AACxB,MAAM,aAAa,GAAG,CAAC,IAAY,EAAU,EAAE;IAC7C,MAAM,OAAO,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,IAAI,EAAE,CAAC,CAAC,MAAM,CAAC;IACjD,IAAI,OAAO,KAAK,CAAC;QAAE,OAAO,IAAI,CAAC;IAC/B,OAAO,IAAI,CAAC,OAAO,CAAC,aAAa,EAAE,GAAG,CAAC,CAAC,OAAO,CAAC,OAAO,EAAE,GAAG,CAAC,CAAC,IAAI,EAAE,CAAC;AACvE,CAAC,CAAC;AAEF,8EAA8E;AAC9E,4CAA4C;AAC5C,MAAM,OAAO,GAAG,CAAC,GAAgB,EAAW,EAAE,CAAC,GAAG,CAAC,QAAQ,KAAK,OAAO,IAAI,CAAC,CAAC,GAAG,CAAC,MAAM,CAAC;AACxF,4EAA4E;AAC5E,2EAA2E;AAC3E,6EAA6E;AAC7E,uEAAuE;AACvE,gDAAgD;AAChD,8EAA8E;AAC9E,8EAA8E;AAC9E,MAAM,YAAY,GAAG,CAAC,IAAY,EAAU,EAAE,CAC5C,IAAI,CAAC,OAAO,CAAC,qDAAqD,EAAE,GAAG,CAAC,CAAC,OAAO,CAAC,YAAY,EAAE,GAAG,CAAC,CAAC,IAAI,EAAE,CAAC;AAC7G,MAAM,kBAAkB,GAAG,CAAC,GAAgB,EAAE,IAAY,EAAU,EAAE;IACpE,MAAM,OAAO,GAAG,YAAY,CAAC,IAAI,CAAC,CAAC;IACnC,OAAO,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,aAAa,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC;AACzD,CAAC,CAAC;AAEF,4EAA4E;AAC5E,0EAA0E;AAC1E,+EAA+E;AAC/E,4EAA4E;AAC5E,2EAA2E;AAC3E,yEAAyE;AACzE,MAAM,WAAW,GAAG,CAAC,CAAe,EAAU,EAAE;IAC9C,IAAI,CAAC,CAAC,OAAO,KAAK,MAAM;QAAE,OAAO,CAAC,CAAC,IAAI,EAAE,OAAO,IAAI,EAAE,CAAC;IACvD,IAAI,CAAC,CAAC,OAAO,KAAK,OAAO;QAAE,OAAO,CAAC,CAAC,KAAK,EAAE,OAAO,IAAI,EAAE,CAAC;IACzD,IAAI,CAAC,CAAC,OAAO,KAAK,OAAO,EAAE,CAAC;QAC1B,OAAO,CAAC,CAAC,CAAC,KAAK,EAAE,QAAQ,IAAI,EAAE,CAAC;aAC7B,GAAG,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC,EAAE,CAAC,OAAO,KAAK,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,IAAI,EAAE,OAAO,IAAI,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC;aACtE,MAAM,CAAC,OAAO,CAAC;aACf,IAAI,CAAC,GAAG,CAAC,CAAC;IACf,CAAC;IACD,IAAI,CAAC,CAAC,OAAO,KAAK,OAAO;QAAE,OAAO,MAAM,CAAC;IACzC,IAAI,CAAC,CAAC,OAAO,KAAK,MAAM;QAAE,OAAO,MAAM,CAAC;IACxC,OAAO,EAAE,CAAC;AACZ,CAAC,CAAC;AACF,MAAM,iBAAiB,GAAG,CAAC,CAA2B,EAAU,EAAE;IAChE,IAAI,CAAC,CAAC;QAAE,OAAO,EAAE,CAAC;IAClB,MAAM,IAAI,GAAG,WAAW,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;IACnC,IAAI,CAAC,IAAI;QAAE,OAAO,EAAE,CAAC;IACrB,qEAAqE;IACrE,kCAAkC;IAClC,MAAM,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAChE,OAAO,WAAW,MAAM,MAAM,CAAC;AACjC,CAAC,CAAC;AACF,8EAA8E;AAC9E,8EAA8E;AAC9E,6EAA6E;AAC7E,6EAA6E;AAC7E,0EAA0E;AAC1E,MAAM,eAAe,GAAG,CAAC,CAAS,EAAU,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,iBAAiB,EAAE,EAAE,CAAC,CAAC;AAEhF,MAAM,mBAAmB,GAAG,CAAC,MAAc,EAAE,MAAc,EAAW,EAAE;IACtE,MAAM,IAAI,GAAG,eAAe,CAAC,MAAM,CAAC,CAAC;IACrC,IAAI,CAAC,IAAI,IAAI,CAAC,MAAM;QAAE,OAAO,KAAK,CAAC;IACnC,MAAM,CAAC,GAAG,eAAe,CAAC,IAAI,CAAC,CAAC;IAChC,MAAM,CAAC,GAAG,eAAe,CAAC,MAAM,CAAC,CAAC;IAClC,IAAI,CAAC,CAAC,MAAM,GAAG,CAAC,IAAI,CAAC,CAAC,MAAM,GAAG,CAAC;QAAE,OAAO,KAAK,CAAC,CAAC,kCAAkC;IAClF,6EAA6E;IAC7E,wEAAwE;IACxE,4EAA4E;IAC5E,yBAAyB;IACzB,OAAO,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC;AACvB,CAAC,CAAC;AAEF,MAAM,SAAS,GAAG,CAAC,GAAgB,EAAE,IAAY,EAAU,EAAE;IAC3D,IAAI,CAAC,GAAG,CAAC,KAAK;QAAE,OAAO,IAAI,CAAC;IAC5B,2EAA2E;IAC3E,2EAA2E;IAC3E,2EAA2E;IAC3E,oDAAoD;IACpD,MAAM,MAAM,GAAG,WAAW,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,IAAI,EAAE,CAAC;IAC7C,IAAI,mBAAmB,CAAC,aAAa,CAAC,GAAG,CAAC,EAAE,MAAM,CAAC;QAAE,OAAO,IAAI,CAAC;IACjE,MAAM,MAAM,GAAG,iBAAiB,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;IAC5C,OAAO,MAAM,CAAC,CAAC,CAAC,GAAG,MAAM,GAAG,IAAI,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC;AAC5C,CAAC,CAAC;AAEF,qCAAqC;AACrC,mFAAmF;AACnF,4EAA4E;AAC5E,2EAA2E;AAC3E,8EAA8E;AAC9E,4EAA4E;AAC5E,8EAA8E;AAC9E,+DAA+D;AAC/D,yEAAyE;AACzE,qEAAqE;AACrE,qBAAqB;AACrB,MAAM,eAAe,GAAG,CAAC,GAAgB,EAAoD,EAAE;IAC7F,MAAM,IAAI,GAAG,kBAAkB,CAAC,GAAG,EAAE,GAAG,CAAC,IAAI,EAAE,OAAO,IAAI,EAAE,CAAC,CAAC;IAC9D,IAAI,IAAI,CAAC,IAAI,EAAE,EAAE,CAAC;QAChB,MAAM,EAAE,GAAG,EAAE,OAAO,EAAE,GAAG,QAAQ,CAAC,IAAI,CAAC,CAAC;QACxC,OAAO,EAAE,IAAI,EAAE,SAAS,CAAC,GAAG,EAAE,OAAO,CAAC,EAAE,GAAG,EAAE,QAAQ,EAAE,KAAK,EAAE,CAAC;IACjE,CAAC;IACD,MAAM,MAAM,GAAG,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,WAAW,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;IAC9D,IAAI,MAAM,IAAI,CAAC,mBAAmB,CAAC,aAAa,CAAC,GAAG,CAAC,EAAE,MAAM,CAAC,EAAE,CAAC;QAC/D,MAAM,EAAE,GAAG,EAAE,OAAO,EAAE,GAAG,QAAQ,CAAC,kBAAkB,CAAC,GAAG,EAAE,MAAM,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC;QAC1E,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,GAAG,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;IAChD,CAAC;IACD,OAAO,EAAE,IAAI,EAAE,SAAS,CAAC,GAAG,EAAE,IAAI,CAAC,EAAE,GAAG,EAAE,EAAE,EAAE,QAAQ,EAAE,KAAK,EAAE,CAAC;AAClE,CAAC,CAAC;AAEF,MAAM,SAAS,GAAG,CAAC,GAAW,EAAE,UAAoB,EAAW,EAAE;IAC/D,IAAI,GAAG,CAAC,GAAG,CAAC,SAAS,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,KAAK,CAAC;IACjD,+EAA+E;IAC/E,MAAM,OAAO,GAAG,IAAI,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;IACrE,OAAO,UAAU,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;AAChD,CAAC,CAAC;AAEF,2EAA2E;AAC3E,8EAA8E;AAC9E,yCAAyC;AACzC,MAAM,cAAc,GAAG,CAAC,MAA6B,EAAE,GAAW,EAAW,EAAE,CAC7E,iBAAiB,IAAI,MAAM,IAAI,MAAM,CAAC,eAAe,CAAC,GAAG,CAAC,CAAC;AAE7D,6EAA6E;AAC7E,6EAA6E;AAC7E,yCAAyC;AACzC,MAAM,QAAQ,GAAG,CAAC,GAAW,EAAU,EAAE;IACvC,IAAI,GAAG,CAAC,MAAM,IAAI,CAAC,IAAI,GAAG,CAAC,CAAC,CAAC,KAAK,IAAI,IAAI,GAAG,CAAC,CAAC,CAAC,KAAK,IAAI,IAAI,GAAG,CAAC,CAAC,CAAC,KAAK,IAAI,IAAI,GAAG,CAAC,CAAC,CAAC,KAAK,IAAI;QAAE,OAAO,MAAM,CAAC;IAC/G,IAAI,GAAG,CAAC,MAAM,IAAI,CAAC,IAAI,GAAG,CAAC,CAAC,CAAC,KAAK,IAAI,IAAI,GAAG,CAAC,CAAC,CAAC,KAAK,IAAI,IAAI,GAAG,CAAC,CAAC,CAAC,KAAK,IAAI;QAAE,OAAO,MAAM,CAAC;IAC5F,IAAI,GAAG,CAAC,MAAM,IAAI,CAAC,IAAI,GAAG,CAAC,QAAQ,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC,UAAU,CAAC,MAAM,CAAC;QAAE,OAAO,MAAM,CAAC;IAC9F,IAAI,GAAG,CAAC,MAAM,IAAI,EAAE,IAAI,GAAG,CAAC,QAAQ,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,QAAQ,CAAC,OAAO,CAAC,KAAK,MAAM,IAAI,GAAG,CAAC,QAAQ,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,QAAQ,CAAC,OAAO,CAAC,KAAK,MAAM;QAAE,OAAO,OAAO,CAAC;IAC5I,IAAI,GAAG,CAAC,MAAM,IAAI,EAAE,IAAI,GAAG,CAAC,QAAQ,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,QAAQ,CAAC,OAAO,CAAC,KAAK,UAAU;QAAE,OAAO,OAAO,CAAC;IAC7F,OAAO,MAAM,CAAC;AAChB,CAAC,CAAC;AAQF,MAAM,eAAe,GAAG,KAAK,EAC3B,IAAkB,EAClB,GAAW,EACX,MAA0B,EAC1B,KAAa,EACb,KAAa,EACgB,EAAE;IAC/B,IAAI,CAAC;QACH,MAAM,EAAE,MAAM,EAAE,QAAQ,EAAE,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,YAAY,CAAC,GAAG,EAAE,MAAM,CAAC,CAAC;QACzE,MAAM,GAAG,GAAG,QAAQ,CAAC,CAAC,CAAC,IAAI,QAAQ,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,GAAG,EAAG,EAAE,CAAC,CAAC,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC;QAC3E,MAAM,QAAQ,GAAG,GAAG,KAAK,CAAC,OAAO,CAAC,iBAAiB,EAAE,GAAG,CAAC,IAAI,KAAK,GAAG,GAAG,EAAE,CAAC;QAC3E,SAAS,CAAC,IAAI,CAAC,QAAQ,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;QAC9C,MAAM,GAAG,GAAG,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,QAAQ,CAAC,CAAC;QAC1C,aAAa,CAAC,GAAG,EAAE,MAAM,CAAC,CAAC;QAC3B,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,GAAG,EAAE,GAAG,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,EAAE,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,EAAE,EAAE,aAAa,CAAC,CAAC;QACnF,OAAO,GAAG,CAAC;IACb,CAAC;IAAC,OAAO,CAAC,EAAE,CAAC;QACX,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,GAAG,EAAG,CAAW,CAAC,OAAO,EAAE,EAAE,uBAAuB,CAAC,CAAC;QACvE,OAAO,SAAS,CAAC;IACnB,CAAC;AACH,CAAC,CAAC;AAEF,MAAM,CAAC,MAAM,oBAAoB,GAAG,CAClC,MAAgB,EAChB,GAAW,EACX,GAAW,EACX,MAA6B,EAC7B,UAAkB,EACZ,EAAE;IACR,MAAM,QAAQ,GAAG,UAAU,CAAC,GAAG,CAAC,GAAG,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;IAErD,wEAAwE;IACxE,yEAAyE;IACzE,2CAA2C;IAC3C,MAAM,SAAS,GAAG,CAAC,GAAW,EAAU,EAAE;QACxC,IAAI,QAAQ,IAAI,MAAM,EAAE,CAAC;YACvB,MAAM,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,GAAG,MAAM,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;YAClE,MAAM,KAAK,GAAG,CAAC,uBAAuB,UAAU,IAAI,CAAC,CAAC;YACtD,IAAI,UAAU,IAAI,UAAU,KAAK,UAAU,EAAE,CAAC;gBAC5C,KAAK,CAAC,IAAI,CAAC,WAAW,UAAU,0BAA0B,CAAC,CAAC;YAC9D,CAAC;YACD,IAAI,UAAU,KAAK,UAAU;gBAAE,KAAK,CAAC,IAAI,CAAC,UAAU,UAAU,KAAK,CAAC,CAAC;YACrE,KAAK,CAAC,IAAI,CAAC,+BAA+B,CAAC,CAAC;YAC5C,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAC1B,CAAC;QACD,OAAO,uBAAuB,UAAU,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,0BAA0B,CAAC;IAClF,CAAC,CAAC;IAEF,yEAAyE;IACzE,wEAAwE;IACxE,oEAAoE;IACpE,wEAAwE;IACxE,wEAAwE;IACxE,qEAAqE;IACrE,MAAM,YAAY,GAAG,KAAK,EAAE,GAAW,EAAE,GAAoB,EAAE,MAAgB,EAAmB,EAAE;QAClG,IAAI,CAAC,CAAC,YAAY,IAAI,MAAM,CAAC;YAAE,OAAO,6CAA6C,CAAC;QACpF,MAAM,GAAG,GAAG,KAAK,CAAC,GAAG,CAAC,CAAC;QACvB,MAAM,CAAC,GAAG,MAAM,MAAM,CAAC,UAAU,CAAC,GAAG,EAAE,GAAG,IAAI,GAAG,EAAE,GAAG,EAAE,EAAE,MAAM,EAAE,CAAC,CAAC;QACpE,IAAI,CAAC,CAAC,CAAC,EAAE;YAAE,OAAO,yBAAyB,CAAC,CAAC,MAAM,IAAI,SAAS,EAAE,CAAC;QACnE,OAAO,cAAc,CAAC,CAAC,SAAS,IAAI,CAAC;IACvC,CAAC,CAAC;IAEF,kDAAkD;IAClD,8DAA8D;IAC9D,oDAAoD;IACpD,MAAM,MAAM,GAAG,IAAI,GAAG,EAA4B,CAAC;IACnD,MAAM,cAAc,GAAG,CAAI,GAAW,EAAE,GAAqB,EAAc,EAAE;QAC3E,MAAM,IAAI,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,OAAO,CAAC,OAAO,EAAE,CAAC,CAAC,IAAI,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC;QACnE,MAAM,CAAC,GAAG,CAAC,GAAG,EAAE,IAAI,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,SAAS,CAAC,CAAC,OAAO,CAAC,GAAG,EAAE;YACvD,IAAI,MAAM,CAAC,GAAG,CAAC,GAAG,CAAC,KAAK,IAAI;gBAAE,MAAM,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;QACnD,CAAC,CAAC,CAAC,CAAC;QACJ,OAAO,IAAI,CAAC;IACd,CAAC,CAAC;IAEF,8BAA8B;IAC9B,MAAM,kBAAkB,GAAG,CAAC,GAAW,EAAE,GAAoB,EAAmB,EAAE,CAChF,cAAc,CAAC,GAAG,EAAE,GAAG,EAAE,CAAC,YAAY,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC,CAAC;IAEpD,4CAA4C;IAC5C,6CAA6C;IAC7C,MAAM,aAAa,GAAG,CAAC,GAAW,EAAmB,EAAE,CACrD,cAAc,CAAC,GAAG,EAAE,KAAK,IAAI,EAAE,CAC7B,iBAAiB,IAAI,MAAM,IAAI,MAAM,CAAC,eAAe,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,MAAM,YAAY,CAAC,GAAG,EAAE,SAAS,EAAE,IAAI,CAAC,CAAC,CAAC;IAE1H,yEAAyE;IACzE,2EAA2E;IAC3E,0EAA0E;IAC1E,wEAAwE;IACxE,qCAAqC;IACrC,MAAM,aAAa,GAAG,aAAa,CAAC;IACpC,MAAM,SAAS,GAAG,KAAK,EAAE,KAA2B,EAAE,GAAgB,EAAE,GAAW,EAAE,IAAY,EAAiB,EAAE;QAClH,IAAI,CAAC;YAAC,MAAM,MAAM,CAAC,WAAW,CAAC,KAAK,EAAE,GAAG,CAAC,KAAK,EAAE,aAAa,CAAC,GAAG,EAAE,IAAI,CAAC,EAAE,IAAI,CAAC,CAAC;QAAC,CAAC;QAAC,MAAM,CAAC,CAAC,YAAY,CAAC,CAAC;IAC5G,CAAC,CAAC;IAEF,wEAAwE;IACxE,2DAA2D;IAC3D,MAAM,IAAI,GAAG,KAAK,EAAE,KAA2B,EAAE,GAAgB,EAAE,IAAY,EAAE,GAAW,EAA8B,EAAE;QAC1H,MAAM,KAAK,GAAG,cAAc,CAAC,GAAG,CAAC,CAAC;QAClC,wEAAwE;QACxE,mEAAmE;QACnE,0DAA0D;QAC1D,MAAM,aAAa,GAAG,aAAa,CAAC,GAAG,CAAC,CAAC;QACzC,6EAA6E;QAC7E,IAAI,WAAW,CAAC,IAAI,CAAC,EAAE,CAAC;YACtB,MAAM,SAAS,CAAC,KAAK,EAAE,GAAG,EAAE,GAAG,EAAE,SAAS,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC,CAAC;YACtD,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC;QACxB,CAAC;QACD,yEAAyE;QACzE,iEAAiE;QACjE,IAAI,aAAa,CAAC,IAAI,CAAC,EAAE,CAAC;YACxB,MAAM,SAAS,CAAC,KAAK,EAAE,GAAG,EAAE,GAAG,EAAE,UAAU,EAAE,CAAC,CAAC;YAC/C,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC;QACxB,CAAC;QACD,8DAA8D;QAC9D,IAAI,YAAY,CAAC,IAAI,CAAC,EAAE,CAAC;YACvB,MAAM,SAAS,CAAC,KAAK,EAAE,GAAG,EAAE,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,CAAC,CAAC;YACjD,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC;QACxB,CAAC;QACD,2EAA2E;QAC3E,wEAAwE;QACxE,yEAAyE;QACzE,IAAI,aAAa,CAAC,IAAI,CAAC,EAAE,CAAC;YACxB,IAAI,IAAY,CAAC;YACjB,IAAI,CAAC;gBACH,IAAI,GAAG,iBAAiB,CAAC,YAAY,EAAE,CAAC,CAAC;YAC3C,CAAC;YAAC,OAAO,CAAC,EAAE,CAAC;gBACX,IAAI,GAAG,0BAA2B,CAAW,CAAC,OAAO,EAAE,CAAC;YAC1D,CAAC;YACD,MAAM,SAAS,CAAC,KAAK,EAAE,GAAG,EAAE,GAAG,EAAE,IAAI,CAAC,CAAC;YACvC,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC;QACxB,CAAC;QACD,yEAAyE;QACzE,wEAAwE;QACxE,uEAAuE;QACvE,wEAAwE;QACxE,yEAAyE;QACzE,EAAE;QACF,0EAA0E;QAC1E,0EAA0E;QAC1E,mEAAmE;QACnE,+DAA+D;QAC/D,MAAM,KAAK,GAAG,iBAAiB,CAAC,IAAI,CAAC,CAAC;QACtC,IAAI,KAAK,EAAE,CAAC;YACV,MAAM,MAAM,GAAG,QAAQ,IAAI,MAAM;gBAC/B,CAAC,CAAC,kBAAkB,CAAC,MAAM,CAAC,MAAM,EAAE,CAAC,OAAO,EAAE,KAAK,CAAC,GAAG,EAAE,GAAG,EAAE,aAAa,CAAC,GAAG,CAAC,CAAC;gBACjF,CAAC,CAAC,SAAS,CAAC;YACd,IAAI,IAAY,CAAC;YACjB,IAAI,CAAC,MAAM,EAAE,CAAC;gBACZ,IAAI,GAAG,KAAK,CAAC,GAAG;oBACd,CAAC,CAAC,8BAA8B,KAAK,CAAC,GAAG,mBAAmB;oBAC5D,CAAC,CAAC,wBAAwB,GAAG,uDAAuD,CAAC;YACzF,CAAC;iBAAM,CAAC;gBACN,IAAI,CAAC;oBACH,IAAI,GAAG,kBAAkB,CAAC;wBACxB,SAAS,EAAE,MAAM,CAAC,SAAS;wBAC3B,SAAS,EAAE,MAAM,CAAC,SAAS;wBAC3B,GAAG,EAAE,KAAK,CAAC,GAAG,IAAI,SAAS;qBAC5B,CAAC,CAAC;gBACL,CAAC;gBAAC,OAAO,CAAC,EAAE,CAAC;oBACX,IAAI,GAAG,2BAA4B,CAAW,CAAC,OAAO,EAAE,CAAC;gBAC3D,CAAC;YACH,CAAC;YACD,MAAM,SAAS,CAAC,KAAK,EAAE,GAAG,EAAE,GAAG,EAAE,IAAI,CAAC,CAAC;YACvC,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC;QACxB,CAAC;QACD,IAAI,eAAe,CAAC,IAAI,EAAE,aAAa,CAAC,EAAE,CAAC;YACzC,GAAG,CAAC,IAAI,CAAC,EAAE,GAAG,EAAE,aAAa,EAAE,EAAE,wDAAwD,CAAC,CAAC;YAC3F,IAAI,CAAC;gBAAC,YAAY,CAAC,GAAG,EAAE,UAAU,EAAE,aAAa,CAAC,CAAC;YAAC,CAAC;YAAC,OAAO,CAAC,EAAE,CAAC;gBAC/D,GAAG,CAAC,KAAK,CAAC,EAAE,GAAG,EAAG,CAAW,CAAC,OAAO,EAAE,EAAE,qBAAqB,CAAC,CAAC;YAClE,CAAC;YACD,MAAM,QAAQ,CAAC,MAAM,EAAE,aAAa,EAAE,GAAG,CAAC,CAAC;YAC3C,MAAM,SAAS,CAAC,KAAK,EAAE,GAAG,EAAE,GAAG,EAAE,QAAQ,CAAC,CAAC;YAC3C,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC;QACxB,CAAC;QACD,uEAAuE;QACvE,0EAA0E;QAC1E,2EAA2E;QAC3E,MAAM,IAAI,GAAG,CAAC,CAAC,GAAG,CAAC,QAAQ,KAAK,OAAO,IAAI,GAAG,CAAC,MAAM,CAAC,CAAC;QACvD,IAAI,eAAe,CAAC,GAAG,EAAE,IAAI,CAAC,EAAE,CAAC;YAC/B,GAAG,CAAC,IAAI,CAAC,EAAE,GAAG,EAAE,aAAa,EAAE,EAAE,wDAAwD,CAAC,CAAC;YAC3F,IAAI,CAAC;gBAAC,YAAY,CAAC,GAAG,EAAE,UAAU,EAAE,aAAa,CAAC,CAAC;YAAC,CAAC;YAAC,OAAO,CAAC,EAAE,CAAC;gBAC/D,GAAG,CAAC,KAAK,CAAC,EAAE,GAAG,EAAG,CAAW,CAAC,OAAO,EAAE,EAAE,gCAAgC,CAAC,CAAC;YAC7E,CAAC;YACD,MAAM,YAAY,CAAC,MAAM,EAAE,aAAa,EAAE,GAAG,CAAC,CAAC;YAC/C,2BAA2B;QAC7B,CAAC;QACD,IAAI,CAAC,SAAS,CAAC,GAAG,EAAE,KAAK,CAAC,IAAI,CAAC,cAAc,CAAC,MAAM,EAAE,GAAG,CAAC,EAAE,CAAC;YAC3D,GAAG,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,GAAG,EAAE,KAAK,EAAE,EAAE,wBAAwB,CAAC,CAAC;YACzD,IAAI,CAAC;gBACH,MAAM,MAAM,CAAC,WAAW,CACtB,KAAK,EACL,GAAG,CAAC,KAAK,EACT,QAAQ,SAAS,CAAC,GAAG,EAAE,GAAG,CAAC,0CAA0C,EACrE,IAAI,CACL,CAAC;YACJ,CAAC;YAAC,MAAM,CAAC,CAAC,YAAY,CAAC,CAAC;YACxB,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC;QACxB,CAAC;QACD,4EAA4E;QAC5E,yEAAyE;QACzE,6EAA6E;QAC7E,qCAAqC;QACrC,IAAI,cAAc,CAAC,IAAI,CAAC,EAAE,CAAC;YACzB,GAAG,CAAC,IAAI,CAAC,EAAE,GAAG,EAAE,EAAE,qBAAqB,CAAC,CAAC;YACzC,IAAI,CAAC;gBAAC,MAAM,MAAM,CAAC,WAAW,CAAC,KAAK,EAAE,GAAG,CAAC,KAAK,EAAE,aAAa,CAAC,GAAG,EAAE,yBAAyB,CAAC,EAAE,KAAK,CAAC,CAAC;YAAC,CAAC;YAAC,OAAO,CAAC,EAAE,CAAC;gBAAC,GAAG,CAAC,IAAI,CAAC,EAAE,GAAG,EAAG,CAAW,CAAC,OAAO,EAAE,EAAE,4BAA4B,CAAC,CAAC;YAAC,CAAC;YAC9L,IAAI,IAAY,CAAC;YACjB,IAAI,CAAC;gBACH,MAAM,MAAM,GAAG,MAAM,YAAY,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC;gBAC5C,sEAAsE;gBACtE,4CAA4C;gBAC5C,IAAI,GAAG,OAAO,GAAG,iBAAiB,CAAC,MAAM,CAAC,GAAG,OAAO,CAAC;gBACrD,GAAG,CAAC,IAAI,CAAC,EAAE,GAAG,EAAE,MAAM,EAAE,MAAM,CAAC,MAAM,CAAC,MAAM,EAAE,EAAE,oBAAoB,CAAC,CAAC;YACxE,CAAC;YAAC,OAAO,CAAC,EAAE,CAAC;gBACX,IAAI,GAAG,2BAA4B,CAAW,CAAC,OAAO,EAAE,CAAC;gBACzD,GAAG,CAAC,KAAK,CAAC,EAAE,GAAG,EAAE,GAAG,EAAG,CAAW,CAAC,OAAO,EAAE,EAAE,sBAAsB,CAAC,CAAC;YACxE,CAAC;YACD,MAAM,SAAS,CAAC,KAAK,EAAE,GAAG,EAAE,GAAG,EAAE,IAAI,CAAC,CAAC;YACvC,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC;QACxB,CAAC;QACD,2EAA2E;QAC3E,uEAAuE;QACvE,uEAAuE;QACvE,kEAAkE;QAClE,IAAI,YAAY,CAAC,IAAI,CAAC,EAAE,CAAC;YACvB,MAAM,KAAK,GAAG,MAAM,kBAAkB,CAAC,GAAG,EAAE,eAAe,CAAC,IAAI,CAAC,CAAC,CAAC;YACnE,MAAM,SAAS,CAAC,KAAK,EAAE,GAAG,EAAE,GAAG,EAAE,KAAK,CAAC,CAAC;YACxC,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC;QACxB,CAAC;QACD,gDAAgD;QAChD,uDAAuD;QACvD,yEAAyE;QACzE,uEAAuE;QACvE,IAAI,aAAa,CAAC,IAAI,CAAC,EAAE,CAAC;YACxB,IAAI,CAAC,CAAC,eAAe,IAAI,MAAM,CAAC,EAAE,CAAC;gBACjC,MAAM,SAAS,CAAC,KAAK,EAAE,GAAG,EAAE,GAAG,EAAE,8CAA8C,CAAC,CAAC;YACnF,CAAC;iBAAM,CAAC;gBACN,MAAM,CAAC,GAAG,MAAM,MAAM,CAAC,aAAa,CAAC,GAAG,CAAC,CAAC;gBAC1C,MAAM,SAAS,CAAC,KAAK,EAAE,GAAG,EAAE,GAAG,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,8BAA8B,CAAC,CAAC,CAAC,0BAA0B,CAAC,CAAC,MAAM,IAAI,SAAS,EAAE,CAAC,CAAC;YAC9H,CAAC;YACD,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC;QACxB,CAAC;QACD,4EAA4E;QAC5E,0EAA0E;QAC1E,qEAAqE;QACrE,IAAI,cAAc,CAAC,IAAI,CAAC,EAAE,CAAC;YACzB,IAAI,CAAC,CAAC,YAAY,IAAI,MAAM,CAAC,EAAE,CAAC;gBAC9B,MAAM,SAAS,CAAC,KAAK,EAAE,GAAG,EAAE,GAAG,EAAE,2CAA2C,CAAC,CAAC;YAChF,CAAC;iBAAM,CAAC;gBACN,MAAM,CAAC,GAAG,MAAM,MAAM,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC;gBACvC,MAAM,SAAS,CAAC,KAAK,EAAE,GAAG,EAAE,GAAG,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,cAAc,CAAC,CAAC,CAAC,uBAAuB,CAAC,CAAC,MAAM,IAAI,SAAS,EAAE,CAAC,CAAC;YAC3G,CAAC;YACD,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC;QACxB,CAAC;QACD,2EAA2E;QAC3E,2EAA2E;QAC3E,yDAAyD;QACzD,IAAI,eAAe,CAAC,IAAI,CAAC,EAAE,CAAC;YAC1B,IAAI,CAAC,CAAC,YAAY,IAAI,MAAM,CAAC,EAAE,CAAC;gBAC9B,MAAM,SAAS,CAAC,KAAK,EAAE,GAAG,EAAE,GAAG,EAAE,gDAAgD,CAAC,CAAC;YACrF,CAAC;iBAAM,CAAC;gBACN,MAAM,CAAC,GAAG,MAAM,MAAM,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC;gBACvC,MAAM,SAAS,CAAC,KAAK,EAAE,GAAG,EAAE,GAAG,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,mBAAmB,CAAC,CAAC,CAAC,4BAA4B,CAAC,CAAC,MAAM,IAAI,SAAS,EAAE,CAAC,CAAC;YACrH,CAAC;YACD,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC;QACxB,CAAC;QACD,uEAAuE;QACvE,sEAAsE;QACtE,sEAAsE;QACtE,MAAM,EAAE,GAAG,mBAAmB,CAAC,IAAI,CAAC,CAAC;QACrC,IAAI,EAAE,EAAE,CAAC;YACP,MAAM,GAAG,GAAG,QAAQ,IAAI,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,UAAU,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;YACzF,IAAI,IAAY,CAAC;YACjB,IAAI,CAAC;gBACH,IAAI,GAAG,gBAAgB,CAAC,MAAM,iBAAiB,CAAC,GAAG,EAAE,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC;YAClE,CAAC;YAAC,OAAO,CAAC,EAAE,CAAC;gBACX,IAAI,GAAG,6BAA8B,CAAW,CAAC,OAAO,EAAE,CAAC;YAC7D,CAAC;YACD,GAAG,CAAC,IAAI,CAAC,EAAE,GAAG,EAAE,GAAG,EAAE,KAAK,EAAE,EAAE,CAAC,KAAK,EAAE,EAAE,UAAU,CAAC,CAAC;YACpD,MAAM,SAAS,CAAC,KAAK,EAAE,GAAG,EAAE,GAAG,EAAE,IAAI,CAAC,CAAC;YACvC,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC;QACxB,CAAC;QACD,4EAA4E;QAC5E,gDAAgD;QAChD,IAAI,cAAc,CAAC,IAAI,CAAC,EAAE,CAAC;YACzB,IAAI,CAAC,CAAC,OAAO,IAAI,MAAM,CAAC,EAAE,CAAC;gBACzB,MAAM,SAAS,CAAC,KAAK,EAAE,GAAG,EAAE,GAAG,EAAE,+CAA+C,CAAC,CAAC;gBAClF,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC;YACxB,CAAC;YACD,IAAI,IAAY,CAAC;YACjB,IAAI,CAAC;gBACH,IAAI,GAAG,WAAW,CAAC,MAAM,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC;YAC9C,CAAC;YAAC,OAAO,CAAC,EAAE,CAAC;gBACX,IAAI,GAAG,2BAA4B,CAAW,CAAC,OAAO,EAAE,CAAC;YAC3D,CAAC;YACD,MAAM,SAAS,CAAC,KAAK,EAAE,GAAG,EAAE,GAAG,EAAE,IAAI,CAAC,CAAC;YACvC,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC;QACxB,CAAC;QACD,4EAA4E;QAC5E,4EAA4E;QAC5E,yEAAyE;QACzE,uEAAuE;QACvE,MAAM,EAAE,GAAG,oBAAoB,CAAC,IAAI,CAAC,CAAC;QACtC,IAAI,EAAE,EAAE,CAAC;YACP,IAAI,CAAC,CAAC,QAAQ,IAAI,MAAM,CAAC,EAAE,CAAC;gBAC1B,MAAM,SAAS,CAAC,KAAK,EAAE,GAAG,EAAE,GAAG,EAAE,kDAAkD,CAAC,CAAC;gBACrF,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC;YACxB,CAAC;YACD,IAAI,QAAQ,GAAkB,EAAE,CAAC;YACjC,IAAI,CAAC;gBACH,QAAQ,GAAG,MAAM,kBAAkB,EAAE,CAAC;YACxC,CAAC;YAAC,OAAO,CAAC,EAAE,CAAC;gBACX,GAAG,CAAC,KAAK,CAAC,EAAE,GAAG,EAAG,CAAW,CAAC,OAAO,EAAE,EAAE,uBAAuB,CAAC,CAAC;YACpE,CAAC;YACD,4DAA4D;YAC5D,MAAM,UAAU,GAAG,MAAM,CAAC,MAAM,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,MAAM,KAAK,GAAG,CAAC,EAAE,SAAS,IAAI,EAAE,CAAC;YAC5F,IAAI,CAAC,EAAE,CAAC,GAAG,EAAE,CAAC;gBACZ,MAAM,SAAS,CAAC,KAAK,EAAE,GAAG,EAAE,GAAG,EAAE,kBAAkB,CAAC,QAAQ,EAAE,UAAU,CAAC,CAAC,CAAC;gBAC3E,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC;YACxB,CAAC;YACD,MAAM,GAAG,GAAG,YAAY,CAAC,QAAQ,EAAE,EAAE,CAAC,GAAG,CAAC,CAAC;YAC3C,IAAI,CAAC,GAAG,EAAE,CAAC;gBACT,MAAM,KAAK,GAAG,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,GAAG,CAAC,CAAC,KAAK,IAAI,IAAI,IAAI,CAAC,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,GAAG,CAAC;gBACpG,MAAM,SAAS,CAAC,KAAK,EAAE,GAAG,EAAE,GAAG,EAAE,oBAAoB,EAAE,CAAC,GAAG,SAAS,KAAK,EAAE,CAAC,CAAC;gBAC7E,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC;YACxB,CAAC;YACD,IAAI,GAAG,CAAC,SAAS,KAAK,UAAU,EAAE,CAAC;gBACjC,MAAM,SAAS,CAAC,KAAK,EAAE,GAAG,EAAE,GAAG,EAAE,mBAAmB,GAAG,CAAC,KAAK,MAAM,GAAG,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC;gBAClG,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC;YACxB,CAAC;YACD,MAAM,GAAG,GAAG,MAAM,CAAC,MAAM,CAAC,EAAE,SAAS,EAAE,GAAG,CAAC,SAAS,EAAE,SAAS,EAAE,GAAG,CAAC,SAAS,EAAE,MAAM,EAAE,GAAG,EAAE,QAAQ,EAAE,GAAG,CAAC,QAAQ,EAAE,WAAW,EAAE,GAAG,CAAC,WAAW,EAAE,GAAG,EAAE,GAAG,CAAC,GAAG,EAAE,CAAC,CAAC;YACnK,MAAM,SAAS,CACb,KAAK,EAAE,GAAG,EAAE,GAAG,EACf,GAAG,CAAC,EAAE;gBACJ,CAAC,CAAC,SAAS,GAAG,CAAC,KAAK,MAAM,GAAG,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,OAAO,GAAG,CAAC,GAAG,GAAG;gBACpE,CAAC,CAAC,kBAAkB,GAAG,CAAC,MAAM,IAAI,SAAS,EAAE,CAChD,CAAC;YACF,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC;QACxB,CAAC;QACD,0EAA0E;QAC1E,yEAAyE;QACzE,sEAAsE;QACtE,wDAAwD;QACxD,IAAI,iBAAiB,IAAI,MAAM,IAAI,CAAC,MAAM,CAAC,eAAe,CAAC,GAAG,CAAC,EAAE,CAAC;YAChE,MAAM,KAAK,GAAG,MAAM,aAAa,CAAC,GAAG,CAAC,CAAC;YACvC,IAAI,CAAC,KAAK,CAAC,UAAU,CAAC,GAAG,CAAC,EAAE,CAAC;gBAC3B,MAAM,SAAS,CAAC,KAAK,EAAE,GAAG,EAAE,GAAG,EAAE,KAAK,CAAC,CAAC;gBACxC,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC;YACxB,CAAC;YACD,sCAAsC;QACxC,CAAC;QACD,OAAO,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC;IACzB,CAAC,CAAC;IAEF,MAAM,IAAI,GAAG,KAAK,EAAE,KAA2B,EAAE,GAAgB,EAAE,GAAW,EAAE,IAAY,EAAE,SAAmB,EAAE,EAAiB,EAAE;QACpI,IAAI,CAAC;YACH,MAAM,MAAM,CAAC,QAAQ,CAAC,EAAE,SAAS,EAAE,GAAG,EAAE,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,QAAQ,EAAE,GAAG,CAAC,KAAK,EAAE,CAAC,CAAC;QACtF,CAAC;QAAC,OAAO,CAAC,EAAE,CAAC;YACX,GAAG,CAAC,KAAK,CAAC,EAAE,GAAG,EAAG,CAAW,CAAC,OAAO,EAAE,EAAE,wBAAwB,CAAC,CAAC;YACnE,IAAI,CAAC;gBAAC,MAAM,MAAM,CAAC,WAAW,CAAC,KAAK,EAAE,GAAG,CAAC,KAAK,EAAE,aAAa,CAAC,GAAG,EAAE,mBAAoB,CAAW,CAAC,OAAO,EAAE,CAAC,EAAE,IAAI,CAAC,CAAC;YAAC,CAAC;YAAC,MAAM,CAAC,CAAC,YAAY,CAAC,CAAC;QACjJ,CAAC;IACH,CAAC,CAAC;IAEF,MAAM,CAAC,EAAE,CAAC,cAAc,EAAE,KAAK,EAAE,KAA2B,EAAE,EAAE;QAC9D,MAAM,GAAG,GAAG,KAAK,CAAC,IAAI,CAAC;QACvB,IAAI,CAAC,GAAG;YAAE,OAAO;QACjB,MAAM,EAAE,IAAI,EAAE,GAAG,EAAE,QAAQ,EAAE,GAAG,eAAe,CAAC,GAAG,CAAC,CAAC;QACrD,MAAM,GAAG,GAAG,UAAU,CAAC,aAAa,CAAC,GAAG,CAAC,EAAE,GAAG,CAAC,CAAC;QAChD,GAAG,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,GAAG,CAAC,KAAK,EAAE,GAAG,EAAE,IAAI,CAAC,MAAM,EAAE,GAAG,EAAE,QAAQ,EAAE,CAAC,CAAC,GAAG,CAAC,KAAK,EAAE,QAAQ,EAAE,EAAE,SAAS,CAAC,CAAC;QAClG,MAAM,EAAE,IAAI,EAAE,GAAG,MAAM,IAAI,CAAC,KAAK,EAAE,GAAG,EAAE,IAAI,EAAE,GAAG,CAAC,CAAC;QACnD,IAAI,IAAI;YAAE,OAAO;QACjB,MAAM,IAAI,CAAC,KAAK,EAAE,GAAG,EAAE,GAAG,EAAE,IAAI,CAAC,CAAC;IACpC,CAAC,CAAC,CAAC;IAEH,MAAM,CAAC,EAAE,CAAC,eAAe,EAAE,KAAK,EAAE,KAA4B,EAAE,EAAE;QAChE,MAAM,GAAG,GAAG,KAAK,CAAC,IAAI,CAAC;QACvB,IAAI,CAAC,GAAG;YAAE,OAAO;QACjB,GAAG,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,GAAG,CAAC,KAAK,EAAE,QAAQ,EAAE,CAAC,CAAC,GAAG,CAAC,KAAK,EAAE,EAAE,UAAU,CAAC,CAAC;QAClE,qEAAqE;QACrE,MAAM,GAAG,GAAG,aAAa,CAAC,GAAG,CAAC,CAAC;QAC/B,MAAM,EAAE,IAAI,EAAE,GAAG,MAAM,IAAI,CAAC,KAAK,EAAE,GAAG,EAAE,EAAE,EAAE,GAAG,CAAC,CAAC;QACjD,IAAI,IAAI;YAAE,OAAO;QACjB,MAAM,IAAI,GAAG,MAAM,eAAe,CAAC,EAAE,MAAM,EAAE,GAAG,EAAE,QAAQ,EAAE,EAAE,GAAG,CAAC,KAAK,CAAC,GAAG,EAAE,GAAG,CAAC,KAAK,CAAC,MAAM,EAAE,GAAG,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC;QAC7G,IAAI,CAAC,IAAI,EAAE,CAAC;YACV,IAAI,CAAC;gBAAC,MAAM,MAAM,CAAC,WAAW,CAAC,KAAK,EAAE,GAAG,CAAC,KAAK,EAAE,iBAAiB,EAAE,IAAI,CAAC,CAAC;YAAC,CAAC;YAAC,MAAM,CAAC,CAAC,YAAY,CAAC,CAAC;YACnG,OAAO;QACT,CAAC;QACD,0EAA0E;QAC1E,sEAAsE;QACtE,yEAAyE;QACzE,2DAA2D;QAC3D,MAAM,IAAI,CAAC,KAAK,EAAE,GAAG,EAAE,GAAG,EAAE,SAAS,CAAC,GAAG,EAAE,EAAE,CAAC,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC;IAC1D,CAAC,CAAC,CAAC;IAEH,MAAM,CAAC,EAAE,CAAC,eAAe,EAAE,KAAK,EAAE,KAA4B,EAAE,EAAE;QAChE,MAAM,GAAG,GAAG,KAAK,CAAC,IAAI,CAAC;QACvB,IAAI,CAAC,GAAG;YAAE,OAAO;QACjB,GAAG,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,GAAG,CAAC,KAAK,EAAE,KAAK,EAAE,GAAG,CAAC,KAAK,EAAE,QAAQ,EAAE,MAAM,EAAE,QAAQ,EAAE,CAAC,CAAC,GAAG,CAAC,KAAK,EAAE,EAAE,UAAU,CAAC,CAAC;QACtG,2EAA2E;QAC3E,kDAAkD;QAClD,MAAM,OAAO,GAAG,CAAC,GAAG,CAAC,KAAK,EAAE,QAAQ,IAAI,EAAE,CAAC;aACxC,MAAM,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,OAAO,KAAK,MAAM,CAAC;aACrC,GAAG,CAAC,CAAC,EAAE,EAAE,EAAE,CAAE,EAAsC,CAAC,IAAI,EAAE,OAAO,IAAI,EAAE,CAAC;aACxE,IAAI,CAAC,IAAI,CAAC,CAAC;QACd,MAAM,EAAE,GAAG,EAAE,GAAG,QAAQ,CAAC,kBAAkB,CAAC,GAAG,EAAE,OAAO,CAAC,CAAC,CAAC;QAC3D,MAAM,GAAG,GAAG,UAAU,CAAC,aAAa,CAAC,GAAG,CAAC,EAAE,GAAG,CAAC,CAAC;QAChD,MAAM,EAAE,IAAI,EAAE,GAAG,MAAM,IAAI,CAAC,KAAK,EAAE,GAAG,EAAE,EAAE,EAAE,GAAG,CAAC,CAAC;QACjD,IAAI,IAAI;YAAE,OAAO;QACjB,MAAM,KAAK,GAAa,EAAE,CAAC;QAC3B,MAAM,MAAM,GAAa,EAAE,CAAC;QAC5B,IAAI,MAAM,GAAG,CAAC,CAAC;QACf,KAAK,MAAM,IAAI,IAAI,GAAG,CAAC,KAAK,EAAE,QAAQ,IAAI,EAAE,EAAE,CAAC;YAC7C,IAAI,IAAI,CAAC,OAAO,KAAK,MAAM,IAAI,IAAI,CAAC,IAAI,EAAE,OAAO,EAAE,CAAC;gBAClD,MAAM,CAAC,GAAG,kBAAkB,CAAC,GAAG,EAAE,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;gBACrD,IAAI,CAAC;oBAAE,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;YACvB,CAAC;iBAAM,IAAI,IAAI,CAAC,OAAO,KAAK,OAAO,IAAI,IAAI,CAAC,KAAK,EAAE,GAAG,EAAE,CAAC;gBACvD,MAAM,IAAI,GAAG,MAAM,eAAe,CAChC,EAAE,MAAM,EAAE,GAAG,EAAE,QAAQ,EAAE,EACzB,IAAI,CAAC,KAAK,CAAC,GAAG,EACd,IAAI,CAAC,KAAK,CAAC,MAAM,EACjB,GAAG,CAAC,KAAK,EACT,MAAM,EAAE,CACT,CAAC;gBACF,IAAI,IAAI;oBAAE,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YAC9B,CAAC;QACH,CAAC;QACD,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC,IAAI,MAAM,CAAC,MAAM,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,KAAK;YAAE,OAAO;QACpE,0EAA0E;QAC1E,2EAA2E;QAC3E,MAAM,MAAM,GAAG,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAChC,MAAM,aAAa,GAAG,GAAG,CAAC,CAAC,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC;QAC9D,MAAM,IAAI,CAAC,KAAK,EAAE,GAAG,EAAE,GAAG,EAAE,SAAS,CAAC,GAAG,EAAE,aAAa,CAAC,EAAE,MAAM,CAAC,CAAC;IACrE,CAAC,CAAC,CAAC;IAEH,uEAAuE;AACzE,CAAC,CAAC"}
1
+ {"version":3,"file":"inbound.js","sourceRoot":"","sources":["../../daemon/inbound.ts"],"names":[],"mappings":"AAAA,8EAA8E;AAC9E,sDAAsD;AACtD,OAAO,EAAE,SAAS,EAAE,aAAa,EAAE,QAAQ,EAAE,MAAM,SAAS,CAAC;AAC7D,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AAMjC,OAAO,EAAE,SAAS,EAAiB,MAAM,YAAY,CAAC;AACtD,OAAO,EAAE,UAAU,EAAE,UAAU,EAAE,MAAM,oBAAoB,CAAC;AAE5D,OAAO,EAAE,eAAe,EAAE,YAAY,EAAE,QAAQ,EAAE,eAAe,EAAE,YAAY,EAAE,MAAM,YAAY,CAAC;AACpG,OAAO,EAAE,eAAe,EAAE,MAAM,oBAAoB,CAAC;AACrD,OAAO,EAAE,kBAAkB,EAAoB,MAAM,mBAAmB,CAAC;AACzE,OAAO,EAAE,YAAY,EAAE,iBAAiB,EAAE,MAAM,YAAY,CAAC;AAC7D,OAAO,EAAE,kBAAkB,EAAE,MAAM,YAAY,CAAC;AAChD,OAAO,EAAE,iBAAiB,EAAE,gBAAgB,EAAE,MAAM,eAAe,CAAC;AACpE,OAAO,EAAE,YAAY,EAAE,iBAAiB,EAAE,MAAM,YAAY,CAAC;AAC7D,OAAO,EAAE,QAAQ,EAAE,SAAS,EAAE,aAAa,EAAE,cAAc,EAAE,MAAM,4BAA4B,CAAC;AAEhG;oCACoC;AACpC,MAAM,gBAAgB,GAAG,EAAE,CAAC;AAE5B,sEAAsE;AACtE,kEAAkE;AAClE,MAAM,aAAa,GAAG,CAAC,GAAgB,EAAU,EAAE,CACjD,GAAG,CAAC,QAAQ,KAAK,OAAO,IAAI,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,QAAQ,GAAG,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC,QAAQ,GAAG,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC;AAE5F,6EAA6E;AAC7E,4EAA4E;AAC5E,qEAAqE;AACrE,iEAAiE;AACjE,4EAA4E;AAC5E,2EAA2E;AAC3E,oEAAoE;AACpE,oDAAoD;AACpD,wDAAwD;AACxD,MAAM,MAAM,GAAG,mEAAmE,CAAC;AACnF,MAAM,QAAQ,GAAG,CAAC,IAAY,EAAoC,EAAE;IAClE,MAAM,CAAC,GAAG,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAC5B,IAAI,CAAC,CAAC;QAAE,OAAO,EAAE,GAAG,EAAE,EAAE,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;IAC1C,MAAM,GAAG,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;IACvB,MAAM,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC;IACtC,MAAM,GAAG,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;IACvB,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,KAAK,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC;IAChD,MAAM,OAAO,GAAG,CAAC,MAAM,GAAG,GAAG,GAAG,KAAK,CAAC,CAAC,OAAO,CAAC,SAAS,EAAE,GAAG,CAAC,CAAC,IAAI,EAAE,CAAC;IACtE,OAAO,EAAE,GAAG,EAAE,OAAO,EAAE,CAAC;AAC1B,CAAC,CAAC;AAEF,MAAM,UAAU,GAAG,CAAC,IAAY,EAAE,GAAW,EAAU,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,IAAI,IAAI,GAAG,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;AAC1F,MAAM,KAAK,GAAG,QAAQ,CAAC;AAEvB,2EAA2E;AAC3E,0EAA0E;AAC1E,sDAAsD;AACtD,MAAM,cAAc,GAAG,CAAC,GAAgB,EAAY,EAAE;IACpD,MAAM,IAAI,GAAG,QAAQ,GAAG,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC;IACvC,IAAI,GAAG,CAAC,QAAQ,KAAK,OAAO,IAAI,GAAG,CAAC,MAAM;QAAE,OAAO,CAAC,QAAQ,GAAG,CAAC,MAAM,EAAE,EAAE,IAAI,CAAC,CAAC;IAChF,OAAO,CAAC,IAAI,CAAC,CAAC;AAChB,CAAC,CAAC;AAEF,wEAAwE;AACxE,sEAAsE;AACtE,wEAAwE;AACxE,6EAA6E;AAC7E,MAAM,SAAS,GAAG,CAAC,GAAgB,EAAE,GAAW,EAAU,EAAE;IAC1D,MAAM,OAAO,GAAG,IAAI,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;IACrE,MAAM,IAAI,GAAG,CAAC,EAAU,EAAU,EAAE,CAAC,CAAC,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC;IAC3E,MAAM,MAAM,GAAG,QAAQ,GAAG,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC;IACzC,IAAI,GAAG,CAAC,QAAQ,KAAK,OAAO,IAAI,GAAG,CAAC,MAAM,EAAE,CAAC;QAC3C,MAAM,IAAI,GAAG,QAAQ,GAAG,CAAC,MAAM,EAAE,CAAC;QAClC,OAAO;YACL,QAAQ,IAAI,MAAM,IAAI,CAAC,IAAI,CAAC,EAAE;YAC9B,UAAU,MAAM,MAAM,IAAI,CAAC,MAAM,CAAC,EAAE;YACpC,oBAAoB;YACpB,yCAAyC,GAAG,CAAC,MAAM,IAAI;SACxD,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IACf,CAAC;IACD,OAAO;QACL,WAAW,MAAM,MAAM,IAAI,CAAC,MAAM,CAAC,EAAE;QACrC,yCAAyC,GAAG,CAAC,IAAI,CAAC,MAAM,IAAI;KAC7D,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AACf,CAAC,CAAC;AAEF,MAAM,WAAW,GAAG,CAAC,IAAY,EAAW,EAAE,CAAC,IAAI,CAAC,IAAI,EAAE,KAAK,KAAK,CAAC;AACrE,MAAM,YAAY,GAAG,CAAC,IAAY,EAAW,EAAE,CAAC,IAAI,CAAC,IAAI,EAAE,KAAK,MAAM,CAAC;AACvE,MAAM,aAAa,GAAG,CAAC,IAAY,EAAW,EAAE,CAAC,IAAI,CAAC,IAAI,EAAE,KAAK,OAAO,CAAC;AACzE,uEAAuE;AACvE,iFAAiF;AACjF,gEAAgE;AAChE,MAAM,iBAAiB,GAAG,CAAC,IAAY,EAA+B,EAAE;IACtE,MAAM,CAAC,GAAG,wBAAwB,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC,CAAC;IACrD,OAAO,CAAC,CAAC,CAAC,CAAC,EAAE,GAAG,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC,OAAO,CAAC,IAAI,EAAE,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,SAAS,CAAC;AACxE,CAAC,CAAC;AAMF,MAAM,kBAAkB,GAAG,CACzB,OAAoB,EACpB,GAAW,EACX,GAAW,EACX,OAAe,EACQ,EAAE;IACzB,IAAI,GAAG,EAAE,CAAC;QACR,MAAM,MAAM,GAAG,GAAG,CAAC,OAAO,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC;QACrC,MAAM,OAAO,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,KAAK,MAAM,CAAC,CAAC;QACjF,IAAI,OAAO,CAAC,MAAM,IAAI,CAAC;YAAE,OAAO,OAAO,CAAC,CAAC,CAAC,CAAC;QAC3C,OAAO,OAAO;aACX,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE;YACT,IAAI,EAAE,GAAG,CAAC,CAAC;YACX,IAAI,CAAC;gBAAC,EAAE,GAAG,QAAQ,CAAC,UAAU,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,OAAO,CAAC;YAAC,CAAC;YAAC,MAAM,CAAC,CAAC,YAAY,CAAC,CAAC;YAC9E,OAAO,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC;QACnB,CAAC,CAAC;aACD,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;IACvC,CAAC;IACD,OAAO,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,KAAK,GAAG,IAAI,CAAC,CAAC,MAAM,KAAK,OAAO,CAAC,CAAC;AACvE,CAAC,CAAC;AACF,8EAA8E;AAC9E,gFAAgF;AAChF,4DAA4D;AAC5D,MAAM,MAAM,GAAG,oDAAoD,CAAC;AACpE,MAAM,YAAY,GAAG,CAAC,IAAY,EAAW,EAAE,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC,CAAC;AACzE,MAAM,eAAe,GAAG,CAAC,IAAY,EAA8B,EAAE,CACnE,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,WAAW,EAAgC,CAAC;AAC7E,6EAA6E;AAC7E,gEAAgE;AAChE,MAAM,UAAU,GAAG,sCAAsC,CAAC;AAC1D,MAAM,mBAAmB,GAAG,CAAC,IAAY,EAAkC,EAAE;IAC3E,MAAM,CAAC,GAAG,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC,CAAC;IACvC,OAAO,CAAC,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,SAAS,CAAC;AAClD,CAAC,CAAC;AACF,MAAM,cAAc,GAAG,CAAC,IAAY,EAAW,EAAE,CAAC,IAAI,CAAC,IAAI,EAAE,KAAK,QAAQ,CAAC;AAC3E,MAAM,aAAa,GAAG,CAAC,IAAY,EAAW,EAAE,CAAC,IAAI,CAAC,IAAI,EAAE,KAAK,OAAO,CAAC;AACzE,MAAM,aAAa,GAAG,CAAC,IAAY,EAAW,EAAE,CAAC,IAAI,CAAC,IAAI,EAAE,KAAK,OAAO,CAAC;AACzE,MAAM,cAAc,GAAG,CAAC,IAAY,EAAW,EAAE,CAAC,IAAI,CAAC,IAAI,EAAE,KAAK,IAAI,CAAC;AACvE,MAAM,eAAe,GAAG,CAAC,IAAY,EAAW,EAAE,CAAC,IAAI,CAAC,IAAI,EAAE,KAAK,SAAS,CAAC;AAC7E,MAAM,aAAa,GAAG,CAAC,IAAY,EAAW,EAAE,CAAC,oBAAoB,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC,CAAC;AAExF,wEAAwE;AACxE,4EAA4E;AAC5E,gDAAgD;AAChD,MAAM,UAAU,GAAG,GAAW,EAAE,CAC9B;IACE,aAAa;IACb,EAAE;IACF,KAAK;IACL,iCAAiC;IACjC,uCAAuC;IACvC,oDAAoD;IACpD,sBAAsB;IACtB,uCAAuC;IACvC,yBAAyB;IACzB,6BAA6B;IAC7B,EAAE;IACF,YAAY;IACZ,oEAAoE;IACpE,0CAA0C;IAC1C,gDAAgD;IAChD,EAAE;IACF,QAAQ;IACR,0DAA0D;IAC1D,0DAA0D;IAC1D,uDAAuD;IACvD,oEAAoE;IACpE,EAAE;IACF,QAAQ;IACR,0BAA0B;IAC1B,oCAAoC;IACpC,+CAA+C;IAC/C,iEAAiE;IACjE,yCAAyC;IACzC,EAAE;IACF,WAAW;IACX,kBAAkB;IAClB,eAAe;IACf,mBAAmB;IACnB,oBAAoB;IACpB,8DAA8D;IAC9D,uDAAuD;IACvD,aAAa;IACb,EAAE;IACF,YAAY;IACZ,qDAAqD;IACrD,yEAAyE;IACzE,EAAE;IACF,aAAa;IACb,gCAAgC;IAChC,kCAAkC;IAClC,iCAAiC;IACjC,EAAE;IACF,0BAA0B;CAC3B,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AAEf,8EAA8E;AAC9E,8EAA8E;AAC9E,kFAAkF;AAClF,MAAM,oBAAoB,GAAG,CAAC,IAAY,EAA+B,EAAE;IACzE,MAAM,CAAC,GAAG,4BAA4B,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC,CAAC;IACzD,IAAI,CAAC,CAAC;QAAE,OAAO,SAAS,CAAC;IACzB,OAAO,EAAE,GAAG,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC;AACtC,CAAC,CAAC;AAEF,4EAA4E;AAC5E,wEAAwE;AACxE,MAAM,kBAAkB,GAAG,CAAC,QAAuB,EAAE,UAAkB,EAAU,EAAE;IACjF,IAAI,QAAQ,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,6BAA6B,CAAC;IAChE,4EAA4E;IAC5E,qDAAqD;IACrD,MAAM,KAAK,GAAG,IAAI,GAAG,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,GAAG,CAAC,CAAC;IAC3D,MAAM,KAAK,GAAG,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE;QAC/B,MAAM,IAAI,GAAG,CAAC,CAAC,SAAS,KAAK,UAAU,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE,CAAC;QACxD,MAAM,GAAG,GAAG,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,OAAO,EAAE,EAAE,CAAC,IAAI,CAAC,CAAC,GAAG,IAAI,GAAG,CAAC;QACvD,MAAM,GAAG,GAAG,KAAK,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,GAAG,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC;QACzC,OAAO,GAAG,CAAC,CAAC,KAAK,IAAI,IAAI,MAAM,CAAC,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,MAAM,GAAG,GAAG,GAAG,GAAG,IAAI,EAAE,CAAC;IACjF,CAAC,CAAC,CAAC;IACH,OAAO;QACL,mBAAmB;QACnB,GAAG,KAAK;QACR,gDAAgD;KACjD,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AACf,CAAC,CAAC;AAEF,gFAAgF;AAChF,8EAA8E;AAC9E,iFAAiF;AACjF,MAAM,cAAc,GAAG,CAAC,IAAY,EAAW,EAAE,CAAC,0BAA0B,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC,CAAC;AAE/F,MAAM,IAAI,GAAG,CAAC,EAAY,EAAY,EAAE,CAAC,CAAC,GAAG,IAAI,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC;AAC1D,MAAM,KAAK,GAAG,CAAC,CAAW,EAAU,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,OAAO,EAAE,EAAE,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC;AAC3E,MAAM,IAAI,GAAG,CAAC,CAAS,EAAE,CAAS,EAAU,EAAE,CAAC,CAAC,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AAExF,+EAA+E;AAC/E,8EAA8E;AAC9E,iFAAiF;AACjF,qCAAqC;AACrC,MAAM,WAAW,GAAG,CAAC,KAAiB,EAAU,EAAE;IAChD,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,oCAAoC,CAAC;IACpE,MAAM,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC;IACpC,MAAM,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;IAC3C,MAAM,MAAM,GAAG,CAAC,IAAI,CAAC,MAAM,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,EAAE,IAAI,CAAC,MAAM,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;IACpG,MAAM,IAAI,GAAG,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,EAAE;QAC/B,MAAM,IAAI,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC;QACxC,MAAM,KAAK,GAAG,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,OAAO,CAAC;QAClE,MAAM,MAAM,GAAG,CAAC,IAAI,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,EAAE,IAAI,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;QAC/F,MAAM,EAAE,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC;QACnC,OAAO;YACL,KAAK,CAAC,CAAC,KAAK,IAAI,IAAI,MAAM,KAAK,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,GAAG,EAAE,EAAE;YACxF,IAAI,IAAI,CAAC,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,EAAE;YACzB,EAAE;SACH,CAAC;IACJ,CAAC,CAAC,CAAC;IACH,OAAO;QACL,qBAAqB,KAAK,CAAC,MAAM,KAAK,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,EAAE;QACvF,EAAE;QACF,GAAG,IAAI;QACP,0CAA0C;KAC3C,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AACf,CAAC,CAAC;AAEF,yEAAyE;AACzE,8EAA8E;AAC9E,MAAM,YAAY,GAAG,CAAC,QAAuB,EAAE,GAAW,EAA2B,EAAE,CACrF,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,KAAK,KAAK,GAAG,CAAC;IACrC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,SAAS,KAAK,GAAG,CAAC;IACzC,CAAC,GAAG,CAAC,MAAM,IAAI,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,SAAS,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC;AAEpF,gFAAgF;AAChF,+EAA+E;AAC/E,2BAA2B;AAC3B,8EAA8E;AAC9E,8EAA8E;AAC9E,wBAAwB;AACxB,MAAM,aAAa,GAAG,CAAC,IAAY,EAAU,EAAE;IAC7C,MAAM,OAAO,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,IAAI,EAAE,CAAC,CAAC,MAAM,CAAC;IACjD,IAAI,OAAO,KAAK,CAAC;QAAE,OAAO,IAAI,CAAC;IAC/B,OAAO,IAAI,CAAC,OAAO,CAAC,aAAa,EAAE,GAAG,CAAC,CAAC,OAAO,CAAC,OAAO,EAAE,GAAG,CAAC,CAAC,IAAI,EAAE,CAAC;AACvE,CAAC,CAAC;AAEF,8EAA8E;AAC9E,4CAA4C;AAC5C,MAAM,OAAO,GAAG,CAAC,GAAgB,EAAW,EAAE,CAAC,GAAG,CAAC,QAAQ,KAAK,OAAO,IAAI,CAAC,CAAC,GAAG,CAAC,MAAM,CAAC;AACxF,4EAA4E;AAC5E,2EAA2E;AAC3E,6EAA6E;AAC7E,uEAAuE;AACvE,gDAAgD;AAChD,8EAA8E;AAC9E,8EAA8E;AAC9E,MAAM,YAAY,GAAG,CAAC,IAAY,EAAU,EAAE,CAC5C,IAAI,CAAC,OAAO,CAAC,qDAAqD,EAAE,GAAG,CAAC,CAAC,OAAO,CAAC,YAAY,EAAE,GAAG,CAAC,CAAC,IAAI,EAAE,CAAC;AAC7G,MAAM,kBAAkB,GAAG,CAAC,GAAgB,EAAE,IAAY,EAAU,EAAE;IACpE,MAAM,OAAO,GAAG,YAAY,CAAC,IAAI,CAAC,CAAC;IACnC,OAAO,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,aAAa,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC;AACzD,CAAC,CAAC;AAEF,4EAA4E;AAC5E,0EAA0E;AAC1E,+EAA+E;AAC/E,4EAA4E;AAC5E,2EAA2E;AAC3E,yEAAyE;AACzE,MAAM,WAAW,GAAG,CAAC,CAAe,EAAU,EAAE;IAC9C,IAAI,CAAC,CAAC,OAAO,KAAK,MAAM;QAAE,OAAO,CAAC,CAAC,IAAI,EAAE,OAAO,IAAI,EAAE,CAAC;IACvD,IAAI,CAAC,CAAC,OAAO,KAAK,OAAO;QAAE,OAAO,CAAC,CAAC,KAAK,EAAE,OAAO,IAAI,EAAE,CAAC;IACzD,IAAI,CAAC,CAAC,OAAO,KAAK,OAAO,EAAE,CAAC;QAC1B,OAAO,CAAC,CAAC,CAAC,KAAK,EAAE,QAAQ,IAAI,EAAE,CAAC;aAC7B,GAAG,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC,EAAE,CAAC,OAAO,KAAK,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,IAAI,EAAE,OAAO,IAAI,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC;aACtE,MAAM,CAAC,OAAO,CAAC;aACf,IAAI,CAAC,GAAG,CAAC,CAAC;IACf,CAAC;IACD,IAAI,CAAC,CAAC,OAAO,KAAK,OAAO;QAAE,OAAO,MAAM,CAAC;IACzC,IAAI,CAAC,CAAC,OAAO,KAAK,MAAM;QAAE,OAAO,MAAM,CAAC;IACxC,OAAO,EAAE,CAAC;AACZ,CAAC,CAAC;AACF,MAAM,iBAAiB,GAAG,CAAC,IAAY,EAAU,EAAE;IACjD,IAAI,CAAC,IAAI;QAAE,OAAO,EAAE,CAAC;IACrB,qEAAqE;IACrE,kCAAkC;IAClC,MAAM,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAChE,OAAO,WAAW,MAAM,MAAM,CAAC;AACjC,CAAC,CAAC;AACF,8EAA8E;AAC9E,8EAA8E;AAC9E,6EAA6E;AAC7E,6EAA6E;AAC7E,0EAA0E;AAC1E,MAAM,eAAe,GAAG,CAAC,CAAS,EAAU,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,iBAAiB,EAAE,EAAE,CAAC,CAAC;AAEhF,gDAAgD;AAChD,MAAM,aAAa,GAAG,CAAC,QAAgB,EAAE,MAAc,EAAW,EAAE;IAClE,MAAM,CAAC,GAAG,eAAe,CAAC,QAAQ,CAAC,CAAC;IACpC,MAAM,CAAC,GAAG,eAAe,CAAC,MAAM,CAAC,CAAC;IAClC,IAAI,CAAC,CAAC,MAAM,GAAG,CAAC,IAAI,CAAC,CAAC,MAAM,GAAG,CAAC;QAAE,OAAO,KAAK,CAAC,CAAC,kCAAkC;IAClF,6EAA6E;IAC7E,wEAAwE;IACxE,4EAA4E;IAC5E,yBAAyB;IACzB,OAAO,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC;AACvB,CAAC,CAAC;AAEF,MAAM,mBAAmB,GAAG,CAAC,MAAc,EAAE,MAAc,EAAW,EAAE,CACtE,aAAa,CAAC,eAAe,CAAC,MAAM,CAAC,IAAI,EAAE,EAAE,MAAM,CAAC,CAAC;AAEvD,qEAAqE;AACrE,iDAAiD;AACjD,uDAAuD;AACvD,6CAA6C;AAC7C,4CAA4C;AAC5C,MAAM,UAAU,GAAG,CAAC,CAA2B,EAAwC,EAAE;IACvF,MAAM,GAAG,GAAG,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;IAC3C,IAAI,CAAC,GAAG;QAAE,OAAO,IAAI,CAAC;IACtB,MAAM,IAAI,GAAG,cAAc,CAAC,GAAG,CAAC,CAAC;IACjC,IAAI,IAAI,CAAC,OAAO;QAAE,OAAO,EAAE,GAAG,EAAE,IAAI,CAAC,GAAG,EAAE,IAAI,EAAE,IAAI,CAAC,IAAI,EAAE,CAAC;IAC5D,MAAM,CAAC,GAAG,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;IAC3B,OAAO,CAAC,IAAI,CAAC,CAAC,KAAK,KAAK,CAAC,CAAC,CAAC,CAAC,EAAE,GAAG,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,EAAE,IAAI,EAAE,QAAQ,CAAC,GAAG,CAAC,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC,EAAE,GAAG,EAAE,EAAE,EAAE,IAAI,EAAE,GAAG,EAAE,CAAC;AACxG,CAAC,CAAC;AAEF,0DAA0D;AAC1D,eAAe;AACf,+CAA+C;AAC/C,gDAAgD;AAChD,6CAA6C;AAC7C,8CAA8C;AAC9C,2CAA2C;AAC3C,oCAAoC;AACpC,MAAM,cAAc,GAAG,CACrB,GAAgB,EAChB,OAAe,EACf,SAAsD,EACJ,EAAE;IACpD,MAAM,EAAE,GAAG,EAAE,KAAK,EAAE,OAAO,EAAE,GAAG,QAAQ,CAAC,OAAO,CAAC,CAAC;IAClD,MAAM,CAAC,GAAG,UAAU,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;IAChC,MAAM,GAAG,GAAG,KAAK,IAAI,CAAC,EAAE,GAAG,IAAI,EAAE,CAAC;IAClC,+CAA+C;IAC/C,MAAM,QAAQ,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,EAAE,IAAI,SAAS,CAAC,UAAU,CAAC,aAAa,CAAC,GAAG,CAAC,EAAE,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC;IAChG,IAAI,OAAO,CAAC,IAAI,EAAE,EAAE,CAAC;QACnB,OAAO,EAAE,IAAI,EAAE,QAAQ,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,GAAG,iBAAiB,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,OAAO,EAAE,EAAE,GAAG,EAAE,QAAQ,EAAE,KAAK,EAAE,CAAC;IACvG,CAAC;IACD,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,CAAC;QACnB,2DAA2D;QAC3D,MAAM,CAAC,GAAG,QAAQ,CAAC,kBAAkB,CAAC,GAAG,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC;QAC3D,OAAO,EAAE,IAAI,EAAE,CAAC,CAAC,OAAO,EAAE,GAAG,EAAE,CAAC,CAAC,GAAG,IAAI,GAAG,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;IAChE,CAAC;IACD,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,GAAG,EAAE,QAAQ,EAAE,KAAK,EAAE,CAAC;AACjD,CAAC,CAAC;AAEF,MAAM,SAAS,GAAG,CAAC,GAAW,EAAE,UAAoB,EAAW,EAAE;IAC/D,IAAI,GAAG,CAAC,GAAG,CAAC,SAAS,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,KAAK,CAAC;IACjD,+EAA+E;IAC/E,MAAM,OAAO,GAAG,IAAI,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;IACrE,OAAO,UAAU,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;AAChD,CAAC,CAAC;AAEF,2EAA2E;AAC3E,8EAA8E;AAC9E,yCAAyC;AACzC,MAAM,cAAc,GAAG,CAAC,MAA6B,EAAE,GAAW,EAAW,EAAE,CAC7E,iBAAiB,IAAI,MAAM,IAAI,MAAM,CAAC,eAAe,CAAC,GAAG,CAAC,CAAC;AAE7D,6EAA6E;AAC7E,6EAA6E;AAC7E,yCAAyC;AACzC,MAAM,QAAQ,GAAG,CAAC,GAAW,EAAU,EAAE;IACvC,IAAI,GAAG,CAAC,MAAM,IAAI,CAAC,IAAI,GAAG,CAAC,CAAC,CAAC,KAAK,IAAI,IAAI,GAAG,CAAC,CAAC,CAAC,KAAK,IAAI,IAAI,GAAG,CAAC,CAAC,CAAC,KAAK,IAAI,IAAI,GAAG,CAAC,CAAC,CAAC,KAAK,IAAI;QAAE,OAAO,MAAM,CAAC;IAC/G,IAAI,GAAG,CAAC,MAAM,IAAI,CAAC,IAAI,GAAG,CAAC,CAAC,CAAC,KAAK,IAAI,IAAI,GAAG,CAAC,CAAC,CAAC,KAAK,IAAI,IAAI,GAAG,CAAC,CAAC,CAAC,KAAK,IAAI;QAAE,OAAO,MAAM,CAAC;IAC5F,IAAI,GAAG,CAAC,MAAM,IAAI,CAAC,IAAI,GAAG,CAAC,QAAQ,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC,UAAU,CAAC,MAAM,CAAC;QAAE,OAAO,MAAM,CAAC;IAC9F,IAAI,GAAG,CAAC,MAAM,IAAI,EAAE,IAAI,GAAG,CAAC,QAAQ,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,QAAQ,CAAC,OAAO,CAAC,KAAK,MAAM,IAAI,GAAG,CAAC,QAAQ,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,QAAQ,CAAC,OAAO,CAAC,KAAK,MAAM;QAAE,OAAO,OAAO,CAAC;IAC5I,IAAI,GAAG,CAAC,MAAM,IAAI,EAAE,IAAI,GAAG,CAAC,QAAQ,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,QAAQ,CAAC,OAAO,CAAC,KAAK,UAAU;QAAE,OAAO,OAAO,CAAC;IAC7F,OAAO,MAAM,CAAC;AAChB,CAAC,CAAC;AAQF,MAAM,eAAe,GAAG,KAAK,EAC3B,IAAkB,EAClB,GAAW,EACX,MAA0B,EAC1B,KAAa,EACb,KAAa,EACgB,EAAE;IAC/B,IAAI,CAAC;QACH,MAAM,EAAE,MAAM,EAAE,QAAQ,EAAE,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,YAAY,CAAC,GAAG,EAAE,MAAM,CAAC,CAAC;QACzE,MAAM,GAAG,GAAG,QAAQ,CAAC,CAAC,CAAC,IAAI,QAAQ,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,GAAG,EAAG,EAAE,CAAC,CAAC,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC;QAC3E,MAAM,QAAQ,GAAG,GAAG,KAAK,CAAC,OAAO,CAAC,iBAAiB,EAAE,GAAG,CAAC,IAAI,KAAK,GAAG,GAAG,EAAE,CAAC;QAC3E,SAAS,CAAC,IAAI,CAAC,QAAQ,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;QAC9C,MAAM,GAAG,GAAG,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,QAAQ,CAAC,CAAC;QAC1C,aAAa,CAAC,GAAG,EAAE,MAAM,CAAC,CAAC;QAC3B,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,GAAG,EAAE,GAAG,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,EAAE,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,EAAE,EAAE,aAAa,CAAC,CAAC;QACnF,OAAO,GAAG,CAAC;IACb,CAAC;IAAC,OAAO,CAAC,EAAE,CAAC;QACX,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,GAAG,EAAG,CAAW,CAAC,OAAO,EAAE,EAAE,uBAAuB,CAAC,CAAC;QACvE,OAAO,SAAS,CAAC;IACnB,CAAC;AACH,CAAC,CAAC;AAEF,MAAM,CAAC,MAAM,oBAAoB,GAAG,CAClC,MAAgB,EAChB,GAAW,EACX,GAAW,EACX,MAA6B,EAC7B,UAAkB,EACZ,EAAE;IACR,MAAM,QAAQ,GAAG,UAAU,CAAC,GAAG,CAAC,GAAG,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;IAErD,wEAAwE;IACxE,yEAAyE;IACzE,2CAA2C;IAC3C,MAAM,SAAS,GAAG,CAAC,GAAW,EAAU,EAAE;QACxC,IAAI,QAAQ,IAAI,MAAM,EAAE,CAAC;YACvB,MAAM,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,GAAG,MAAM,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;YAClE,MAAM,KAAK,GAAG,CAAC,uBAAuB,UAAU,IAAI,CAAC,CAAC;YACtD,IAAI,UAAU,IAAI,UAAU,KAAK,UAAU,EAAE,CAAC;gBAC5C,KAAK,CAAC,IAAI,CAAC,WAAW,UAAU,0BAA0B,CAAC,CAAC;YAC9D,CAAC;YACD,IAAI,UAAU,KAAK,UAAU;gBAAE,KAAK,CAAC,IAAI,CAAC,UAAU,UAAU,KAAK,CAAC,CAAC;YACrE,KAAK,CAAC,IAAI,CAAC,+BAA+B,CAAC,CAAC;YAC5C,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAC1B,CAAC;QACD,OAAO,uBAAuB,UAAU,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,0BAA0B,CAAC;IAClF,CAAC,CAAC;IAEF,yEAAyE;IACzE,wEAAwE;IACxE,oEAAoE;IACpE,wEAAwE;IACxE,wEAAwE;IACxE,qEAAqE;IACrE,qEAAqE;IACrE,kEAAkE;IAClE,MAAM,YAAY,GAAG,KAAK,EAAE,GAAW,EAAE,GAAoB,EAAE,MAAgB,EAA6B,EAAE;QAC5G,IAAI,CAAC,CAAC,YAAY,IAAI,MAAM,CAAC;YAAE,OAAO,EAAE,GAAG,EAAE,6CAA6C,EAAE,CAAC;QAC7F,MAAM,GAAG,GAAG,KAAK,CAAC,GAAG,CAAC,CAAC;QACvB,MAAM,CAAC,GAAG,MAAM,MAAM,CAAC,UAAU,CAAC,GAAG,EAAE,GAAG,IAAI,GAAG,EAAE,GAAG,EAAE,EAAE,MAAM,EAAE,CAAC,CAAC;QACpE,OAAO,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,GAAG,EAAE,yBAAyB,CAAC,CAAC,MAAM,IAAI,SAAS,EAAE,EAAE,CAAC;IAC/E,CAAC,CAAC;IAEF,kDAAkD;IAClD,8DAA8D;IAC9D,oDAAoD;IACpD,MAAM,MAAM,GAAG,IAAI,GAAG,EAA4B,CAAC;IACnD,MAAM,cAAc,GAAG,CAAI,GAAW,EAAE,GAAqB,EAAc,EAAE;QAC3E,MAAM,IAAI,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,OAAO,CAAC,OAAO,EAAE,CAAC,CAAC,IAAI,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC;QACnE,MAAM,CAAC,GAAG,CAAC,GAAG,EAAE,IAAI,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,SAAS,CAAC,CAAC,OAAO,CAAC,GAAG,EAAE;YACvD,IAAI,MAAM,CAAC,GAAG,CAAC,GAAG,CAAC,KAAK,IAAI;gBAAE,MAAM,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;QACnD,CAAC,CAAC,CAAC,CAAC;QACJ,OAAO,IAAI,CAAC;IACd,CAAC,CAAC;IAEF,8BAA8B;IAC9B,MAAM,kBAAkB,GAAG,CAAC,GAAW,EAAE,GAAoB,EAA6B,EAAE,CAC1F,cAAc,CAAC,GAAG,EAAE,GAAG,EAAE,CAAC,YAAY,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC,CAAC;IAEpD,4CAA4C;IAC5C,6CAA6C;IAC7C,MAAM,aAAa,GAAG,CAAC,GAAW,EAA6B,EAAE,CAC/D,cAAc,CAAC,GAAG,EAAE,KAAK,IAAI,EAAE,CAC7B,iBAAiB,IAAI,MAAM,IAAI,MAAM,CAAC,eAAe,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,MAAM,YAAY,CAAC,GAAG,EAAE,SAAS,EAAE,IAAI,CAAC,CAAC,CAAC;IAEhH,yEAAyE;IACzE,2EAA2E;IAC3E,0EAA0E;IAC1E,wEAAwE;IACxE,qCAAqC;IACrC,MAAM,aAAa,GAAG,aAAa,CAAC;IACpC,MAAM,SAAS,GAAG,KAAK,EAAE,KAA2B,EAAE,GAAgB,EAAE,GAAW,EAAE,IAAY,EAAiB,EAAE;QAClH,IAAI,CAAC;YAAC,MAAM,MAAM,CAAC,WAAW,CAAC,KAAK,EAAE,GAAG,CAAC,KAAK,EAAE,aAAa,CAAC,GAAG,EAAE,IAAI,CAAC,EAAE,IAAI,CAAC,CAAC;QAAC,CAAC;QAAC,MAAM,CAAC,CAAC,YAAY,CAAC,CAAC;IAC5G,CAAC,CAAC;IAEF,wEAAwE;IACxE,2DAA2D;IAC3D,MAAM,IAAI,GAAG,KAAK,EAAE,KAA2B,EAAE,GAAgB,EAAE,IAAY,EAAE,GAAW,EAA8B,EAAE;QAC1H,MAAM,KAAK,GAAG,cAAc,CAAC,GAAG,CAAC,CAAC;QAClC,wEAAwE;QACxE,mEAAmE;QACnE,0DAA0D;QAC1D,MAAM,aAAa,GAAG,aAAa,CAAC,GAAG,CAAC,CAAC;QACzC,6EAA6E;QAC7E,IAAI,WAAW,CAAC,IAAI,CAAC,EAAE,CAAC;YACtB,MAAM,SAAS,CAAC,KAAK,EAAE,GAAG,EAAE,GAAG,EAAE,SAAS,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC,CAAC;YACtD,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC;QACxB,CAAC;QACD,yEAAyE;QACzE,iEAAiE;QACjE,IAAI,aAAa,CAAC,IAAI,CAAC,EAAE,CAAC;YACxB,MAAM,SAAS,CAAC,KAAK,EAAE,GAAG,EAAE,GAAG,EAAE,UAAU,EAAE,CAAC,CAAC;YAC/C,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC;QACxB,CAAC;QACD,8DAA8D;QAC9D,IAAI,YAAY,CAAC,IAAI,CAAC,EAAE,CAAC;YACvB,MAAM,SAAS,CAAC,KAAK,EAAE,GAAG,EAAE,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,CAAC,CAAC;YACjD,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC;QACxB,CAAC;QACD,2EAA2E;QAC3E,wEAAwE;QACxE,yEAAyE;QACzE,IAAI,aAAa,CAAC,IAAI,CAAC,EAAE,CAAC;YACxB,IAAI,IAAY,CAAC;YACjB,IAAI,CAAC;gBACH,IAAI,GAAG,iBAAiB,CAAC,YAAY,EAAE,CAAC,CAAC;YAC3C,CAAC;YAAC,OAAO,CAAC,EAAE,CAAC;gBACX,IAAI,GAAG,0BAA2B,CAAW,CAAC,OAAO,EAAE,CAAC;YAC1D,CAAC;YACD,MAAM,SAAS,CAAC,KAAK,EAAE,GAAG,EAAE,GAAG,EAAE,IAAI,CAAC,CAAC;YACvC,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC;QACxB,CAAC;QACD,yEAAyE;QACzE,wEAAwE;QACxE,uEAAuE;QACvE,wEAAwE;QACxE,yEAAyE;QACzE,EAAE;QACF,0EAA0E;QAC1E,0EAA0E;QAC1E,mEAAmE;QACnE,+DAA+D;QAC/D,MAAM,KAAK,GAAG,iBAAiB,CAAC,IAAI,CAAC,CAAC;QACtC,IAAI,KAAK,EAAE,CAAC;YACV,MAAM,MAAM,GAAG,QAAQ,IAAI,MAAM;gBAC/B,CAAC,CAAC,kBAAkB,CAAC,MAAM,CAAC,MAAM,EAAE,CAAC,OAAO,EAAE,KAAK,CAAC,GAAG,EAAE,GAAG,EAAE,aAAa,CAAC,GAAG,CAAC,CAAC;gBACjF,CAAC,CAAC,SAAS,CAAC;YACd,IAAI,IAAY,CAAC;YACjB,IAAI,CAAC,MAAM,EAAE,CAAC;gBACZ,IAAI,GAAG,KAAK,CAAC,GAAG;oBACd,CAAC,CAAC,8BAA8B,KAAK,CAAC,GAAG,mBAAmB;oBAC5D,CAAC,CAAC,wBAAwB,GAAG,uDAAuD,CAAC;YACzF,CAAC;iBAAM,CAAC;gBACN,IAAI,CAAC;oBACH,IAAI,GAAG,kBAAkB,CAAC;wBACxB,SAAS,EAAE,MAAM,CAAC,SAAS;wBAC3B,SAAS,EAAE,MAAM,CAAC,SAAS;wBAC3B,GAAG,EAAE,KAAK,CAAC,GAAG,IAAI,SAAS;qBAC5B,CAAC,CAAC;gBACL,CAAC;gBAAC,OAAO,CAAC,EAAE,CAAC;oBACX,IAAI,GAAG,2BAA4B,CAAW,CAAC,OAAO,EAAE,CAAC;gBAC3D,CAAC;YACH,CAAC;YACD,MAAM,SAAS,CAAC,KAAK,EAAE,GAAG,EAAE,GAAG,EAAE,IAAI,CAAC,CAAC;YACvC,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC;QACxB,CAAC;QACD,IAAI,eAAe,CAAC,IAAI,EAAE,aAAa,CAAC,EAAE,CAAC;YACzC,GAAG,CAAC,IAAI,CAAC,EAAE,GAAG,EAAE,aAAa,EAAE,EAAE,wDAAwD,CAAC,CAAC;YAC3F,IAAI,CAAC;gBAAC,YAAY,CAAC,GAAG,EAAE,UAAU,EAAE,aAAa,CAAC,CAAC;YAAC,CAAC;YAAC,OAAO,CAAC,EAAE,CAAC;gBAC/D,GAAG,CAAC,KAAK,CAAC,EAAE,GAAG,EAAG,CAAW,CAAC,OAAO,EAAE,EAAE,qBAAqB,CAAC,CAAC;YAClE,CAAC;YACD,MAAM,QAAQ,CAAC,MAAM,EAAE,aAAa,EAAE,GAAG,CAAC,CAAC;YAC3C,MAAM,SAAS,CAAC,KAAK,EAAE,GAAG,EAAE,GAAG,EAAE,QAAQ,CAAC,CAAC;YAC3C,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC;QACxB,CAAC;QACD,uEAAuE;QACvE,0EAA0E;QAC1E,2EAA2E;QAC3E,MAAM,IAAI,GAAG,CAAC,CAAC,GAAG,CAAC,QAAQ,KAAK,OAAO,IAAI,GAAG,CAAC,MAAM,CAAC,CAAC;QACvD,IAAI,eAAe,CAAC,GAAG,EAAE,IAAI,CAAC,EAAE,CAAC;YAC/B,GAAG,CAAC,IAAI,CAAC,EAAE,GAAG,EAAE,aAAa,EAAE,EAAE,wDAAwD,CAAC,CAAC;YAC3F,IAAI,CAAC;gBAAC,YAAY,CAAC,GAAG,EAAE,UAAU,EAAE,aAAa,CAAC,CAAC;YAAC,CAAC;YAAC,OAAO,CAAC,EAAE,CAAC;gBAC/D,GAAG,CAAC,KAAK,CAAC,EAAE,GAAG,EAAG,CAAW,CAAC,OAAO,EAAE,EAAE,gCAAgC,CAAC,CAAC;YAC7E,CAAC;YACD,MAAM,YAAY,CAAC,MAAM,EAAE,aAAa,EAAE,GAAG,CAAC,CAAC;YAC/C,2BAA2B;QAC7B,CAAC;QACD,IAAI,CAAC,SAAS,CAAC,GAAG,EAAE,KAAK,CAAC,IAAI,CAAC,cAAc,CAAC,MAAM,EAAE,GAAG,CAAC,EAAE,CAAC;YAC3D,GAAG,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,GAAG,EAAE,KAAK,EAAE,EAAE,wBAAwB,CAAC,CAAC;YACzD,IAAI,CAAC;gBACH,MAAM,MAAM,CAAC,WAAW,CACtB,KAAK,EACL,GAAG,CAAC,KAAK,EACT,QAAQ,SAAS,CAAC,GAAG,EAAE,GAAG,CAAC,0CAA0C,EACrE,IAAI,CACL,CAAC;YACJ,CAAC;YAAC,MAAM,CAAC,CAAC,YAAY,CAAC,CAAC;YACxB,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC;QACxB,CAAC;QACD,4EAA4E;QAC5E,yEAAyE;QACzE,6EAA6E;QAC7E,qCAAqC;QACrC,IAAI,cAAc,CAAC,IAAI,CAAC,EAAE,CAAC;YACzB,GAAG,CAAC,IAAI,CAAC,EAAE,GAAG,EAAE,EAAE,qBAAqB,CAAC,CAAC;YACzC,IAAI,CAAC;gBAAC,MAAM,MAAM,CAAC,WAAW,CAAC,KAAK,EAAE,GAAG,CAAC,KAAK,EAAE,aAAa,CAAC,GAAG,EAAE,yBAAyB,CAAC,EAAE,KAAK,CAAC,CAAC;YAAC,CAAC;YAAC,OAAO,CAAC,EAAE,CAAC;gBAAC,GAAG,CAAC,IAAI,CAAC,EAAE,GAAG,EAAG,CAAW,CAAC,OAAO,EAAE,EAAE,4BAA4B,CAAC,CAAC;YAAC,CAAC;YAC9L,IAAI,IAAY,CAAC;YACjB,IAAI,CAAC;gBACH,MAAM,MAAM,GAAG,MAAM,YAAY,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC;gBAC5C,sEAAsE;gBACtE,4CAA4C;gBAC5C,IAAI,GAAG,OAAO,GAAG,iBAAiB,CAAC,MAAM,CAAC,GAAG,OAAO,CAAC;gBACrD,GAAG,CAAC,IAAI,CAAC,EAAE,GAAG,EAAE,MAAM,EAAE,MAAM,CAAC,MAAM,CAAC,MAAM,EAAE,EAAE,oBAAoB,CAAC,CAAC;YACxE,CAAC;YAAC,OAAO,CAAC,EAAE,CAAC;gBACX,IAAI,GAAG,2BAA4B,CAAW,CAAC,OAAO,EAAE,CAAC;gBACzD,GAAG,CAAC,KAAK,CAAC,EAAE,GAAG,EAAE,GAAG,EAAG,CAAW,CAAC,OAAO,EAAE,EAAE,sBAAsB,CAAC,CAAC;YACxE,CAAC;YACD,MAAM,SAAS,CAAC,KAAK,EAAE,GAAG,EAAE,GAAG,EAAE,IAAI,CAAC,CAAC;YACvC,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC;QACxB,CAAC;QACD,2EAA2E;QAC3E,uEAAuE;QACvE,uEAAuE;QACvE,kEAAkE;QAClE,IAAI,YAAY,CAAC,IAAI,CAAC,EAAE,CAAC;YACvB,MAAM,EAAE,GAAG,EAAE,GAAG,MAAM,kBAAkB,CAAC,GAAG,EAAE,eAAe,CAAC,IAAI,CAAC,CAAC,CAAC;YACrE,IAAI,GAAG;gBAAE,MAAM,SAAS,CAAC,KAAK,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC,CAAC;YAC/C,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC;QACxB,CAAC;QACD,gDAAgD;QAChD,uDAAuD;QACvD,yEAAyE;QACzE,uEAAuE;QACvE,IAAI,aAAa,CAAC,IAAI,CAAC,EAAE,CAAC;YACxB,IAAI,eAAe,IAAI,MAAM,EAAE,CAAC;gBAC9B,uEAAuE;gBACvE,wEAAwE;gBACxE,qEAAqE;gBACrE,uEAAuE;gBACvE,0EAA0E;gBAC1E,MAAM,CAAC,GAAG,MAAM,MAAM,CAAC,aAAa,CAAC,GAAG,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC,CAAC;gBAC9D,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC;oBACV,MAAM,SAAS,CAAC,KAAK,EAAE,GAAG,EAAE,GAAG,EAAE,0BAA0B,CAAC,CAAC,MAAM,IAAI,SAAS,EAAE,CAAC,CAAC;gBACtF,CAAC;qBAAM,IAAI,CAAC,CAAC,CAAC,KAAK,EAAE,CAAC;oBACpB,MAAM,QAAQ,GAAG,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,QAAQ,QAAQ,CAAC,CAAC,CAAC,EAAE,CAAC;oBAChE,MAAM,SAAS,CAAC,KAAK,EAAE,GAAG,EAAE,GAAG,EAAE,cAAc,CAAC,CAAC,SAAS,IAAI,SAAS,IAAI,QAAQ,UAAU,CAAC,CAAC;gBACjG,CAAC;YACH,CAAC;YACD,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC;QACxB,CAAC;QACD,yEAAyE;QACzE,2EAA2E;QAC3E,wDAAwD;QACxD,IAAI,aAAa,CAAC,IAAI,CAAC,EAAE,CAAC;YACxB,IAAI,CAAC,CAAC,UAAU,IAAI,MAAM,CAAC,EAAE,CAAC;gBAC5B,MAAM,SAAS,CAAC,KAAK,EAAE,GAAG,EAAE,GAAG,EAAE,8CAA8C,CAAC,CAAC;YACnF,CAAC;iBAAM,CAAC;gBACN,MAAM,CAAC,GAAG,MAAM,MAAM,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC;gBACrC,MAAM,SAAS,CAAC,KAAK,EAAE,GAAG,EAAE,GAAG,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,oBAAoB,CAAC,CAAC,CAAC,0BAA0B,CAAC,CAAC,MAAM,IAAI,SAAS,EAAE,CAAC,CAAC;YACpH,CAAC;YACD,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC;QACxB,CAAC;QACD,4EAA4E;QAC5E,0EAA0E;QAC1E,qEAAqE;QACrE,IAAI,cAAc,CAAC,IAAI,CAAC,EAAE,CAAC;YACzB,IAAI,CAAC,CAAC,YAAY,IAAI,MAAM,CAAC,EAAE,CAAC;gBAC9B,MAAM,SAAS,CAAC,KAAK,EAAE,GAAG,EAAE,GAAG,EAAE,2CAA2C,CAAC,CAAC;YAChF,CAAC;iBAAM,CAAC;gBACN,MAAM,CAAC,GAAG,MAAM,MAAM,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC;gBACvC,MAAM,SAAS,CAAC,KAAK,EAAE,GAAG,EAAE,GAAG,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,uBAAuB,CAAC,CAAC,MAAM,IAAI,SAAS,EAAE,CAAC,CAAC;YACzG,CAAC;YACD,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC;QACxB,CAAC;QACD,2EAA2E;QAC3E,2EAA2E;QAC3E,yDAAyD;QACzD,IAAI,eAAe,CAAC,IAAI,CAAC,EAAE,CAAC;YAC1B,IAAI,CAAC,CAAC,YAAY,IAAI,MAAM,CAAC,EAAE,CAAC;gBAC9B,MAAM,SAAS,CAAC,KAAK,EAAE,GAAG,EAAE,GAAG,EAAE,gDAAgD,CAAC,CAAC;YACrF,CAAC;iBAAM,CAAC;gBACN,MAAM,CAAC,GAAG,MAAM,MAAM,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC;gBACvC,MAAM,SAAS,CAAC,KAAK,EAAE,GAAG,EAAE,GAAG,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,mBAAmB,CAAC,CAAC,CAAC,4BAA4B,CAAC,CAAC,MAAM,IAAI,SAAS,EAAE,CAAC,CAAC;YACrH,CAAC;YACD,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC;QACxB,CAAC;QACD,uEAAuE;QACvE,sEAAsE;QACtE,sEAAsE;QACtE,MAAM,EAAE,GAAG,mBAAmB,CAAC,IAAI,CAAC,CAAC;QACrC,IAAI,EAAE,EAAE,CAAC;YACP,MAAM,GAAG,GAAG,QAAQ,IAAI,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,UAAU,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;YACzF,IAAI,IAAY,CAAC;YACjB,IAAI,CAAC;gBACH,IAAI,GAAG,gBAAgB,CAAC,MAAM,iBAAiB,CAAC,GAAG,EAAE,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC;YAClE,CAAC;YAAC,OAAO,CAAC,EAAE,CAAC;gBACX,IAAI,GAAG,6BAA8B,CAAW,CAAC,OAAO,EAAE,CAAC;YAC7D,CAAC;YACD,GAAG,CAAC,IAAI,CAAC,EAAE,GAAG,EAAE,GAAG,EAAE,KAAK,EAAE,EAAE,CAAC,KAAK,EAAE,EAAE,UAAU,CAAC,CAAC;YACpD,MAAM,SAAS,CAAC,KAAK,EAAE,GAAG,EAAE,GAAG,EAAE,IAAI,CAAC,CAAC;YACvC,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC;QACxB,CAAC;QACD,4EAA4E;QAC5E,gDAAgD;QAChD,IAAI,cAAc,CAAC,IAAI,CAAC,EAAE,CAAC;YACzB,IAAI,CAAC,CAAC,OAAO,IAAI,MAAM,CAAC,EAAE,CAAC;gBACzB,MAAM,SAAS,CAAC,KAAK,EAAE,GAAG,EAAE,GAAG,EAAE,+CAA+C,CAAC,CAAC;gBAClF,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC;YACxB,CAAC;YACD,IAAI,IAAY,CAAC;YACjB,IAAI,CAAC;gBACH,IAAI,GAAG,WAAW,CAAC,MAAM,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC;YAC9C,CAAC;YAAC,OAAO,CAAC,EAAE,CAAC;gBACX,IAAI,GAAG,2BAA4B,CAAW,CAAC,OAAO,EAAE,CAAC;YAC3D,CAAC;YACD,MAAM,SAAS,CAAC,KAAK,EAAE,GAAG,EAAE,GAAG,EAAE,IAAI,CAAC,CAAC;YACvC,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC;QACxB,CAAC;QACD,4EAA4E;QAC5E,4EAA4E;QAC5E,yEAAyE;QACzE,uEAAuE;QACvE,MAAM,EAAE,GAAG,oBAAoB,CAAC,IAAI,CAAC,CAAC;QACtC,IAAI,EAAE,EAAE,CAAC;YACP,IAAI,CAAC,CAAC,QAAQ,IAAI,MAAM,CAAC,EAAE,CAAC;gBAC1B,MAAM,SAAS,CAAC,KAAK,EAAE,GAAG,EAAE,GAAG,EAAE,kDAAkD,CAAC,CAAC;gBACrF,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC;YACxB,CAAC;YACD,IAAI,QAAQ,GAAkB,EAAE,CAAC;YACjC,IAAI,CAAC;gBACH,QAAQ,GAAG,MAAM,kBAAkB,EAAE,CAAC;YACxC,CAAC;YAAC,OAAO,CAAC,EAAE,CAAC;gBACX,GAAG,CAAC,KAAK,CAAC,EAAE,GAAG,EAAG,CAAW,CAAC,OAAO,EAAE,EAAE,uBAAuB,CAAC,CAAC;YACpE,CAAC;YACD,4DAA4D;YAC5D,MAAM,UAAU,GAAG,MAAM,CAAC,MAAM,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,MAAM,KAAK,GAAG,CAAC,EAAE,SAAS,IAAI,EAAE,CAAC;YAC5F,IAAI,CAAC,EAAE,CAAC,GAAG,EAAE,CAAC;gBACZ,MAAM,SAAS,CAAC,KAAK,EAAE,GAAG,EAAE,GAAG,EAAE,kBAAkB,CAAC,QAAQ,EAAE,UAAU,CAAC,CAAC,CAAC;gBAC3E,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC;YACxB,CAAC;YACD,MAAM,GAAG,GAAG,YAAY,CAAC,QAAQ,EAAE,EAAE,CAAC,GAAG,CAAC,CAAC;YAC3C,IAAI,CAAC,GAAG,EAAE,CAAC;gBACT,MAAM,KAAK,GAAG,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,GAAG,CAAC,CAAC,KAAK,IAAI,IAAI,IAAI,CAAC,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,GAAG,CAAC;gBACpG,MAAM,SAAS,CAAC,KAAK,EAAE,GAAG,EAAE,GAAG,EAAE,oBAAoB,EAAE,CAAC,GAAG,SAAS,KAAK,EAAE,CAAC,CAAC;gBAC7E,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC;YACxB,CAAC;YACD,IAAI,GAAG,CAAC,SAAS,KAAK,UAAU,EAAE,CAAC;gBACjC,MAAM,SAAS,CAAC,KAAK,EAAE,GAAG,EAAE,GAAG,EAAE,mBAAmB,GAAG,CAAC,KAAK,MAAM,GAAG,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC;gBAClG,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC;YACxB,CAAC;YACD,MAAM,GAAG,GAAG,MAAM,CAAC,MAAM,CAAC,EAAE,SAAS,EAAE,GAAG,CAAC,SAAS,EAAE,SAAS,EAAE,GAAG,CAAC,SAAS,EAAE,MAAM,EAAE,GAAG,EAAE,QAAQ,EAAE,GAAG,CAAC,QAAQ,EAAE,WAAW,EAAE,GAAG,CAAC,WAAW,EAAE,GAAG,EAAE,GAAG,CAAC,GAAG,EAAE,CAAC,CAAC;YACnK,MAAM,SAAS,CACb,KAAK,EAAE,GAAG,EAAE,GAAG,EACf,GAAG,CAAC,EAAE;gBACJ,CAAC,CAAC,SAAS,GAAG,CAAC,KAAK,MAAM,GAAG,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,OAAO,GAAG,CAAC,GAAG,GAAG;gBACpE,CAAC,CAAC,kBAAkB,GAAG,CAAC,MAAM,IAAI,SAAS,EAAE,CAChD,CAAC;YACF,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC;QACxB,CAAC;QACD,0EAA0E;QAC1E,yEAAyE;QACzE,sEAAsE;QACtE,wDAAwD;QACxD,IAAI,iBAAiB,IAAI,MAAM,IAAI,CAAC,MAAM,CAAC,eAAe,CAAC,GAAG,CAAC,EAAE,CAAC;YAChE,MAAM,EAAE,GAAG,EAAE,GAAG,MAAM,aAAa,CAAC,GAAG,CAAC,CAAC;YACzC,IAAI,GAAG,EAAE,CAAC;gBACR,MAAM,SAAS,CAAC,KAAK,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC,CAAC;gBACtC,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC;YACxB,CAAC;YACD,sCAAsC;QACxC,CAAC;QACD,OAAO,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC;IACzB,CAAC,CAAC;IAEF,4CAA4C;IAC5C,qDAAqD;IACrD,+CAA+C;IAC/C,8CAA8C;IAC9C,MAAM,cAAc,GAAG,CAAC,MAAc,EAAE,MAAc,EAAW,EAAE;QACjE,IAAI,mBAAmB,CAAC,SAAS,CAAC,MAAM,CAAC,EAAE,MAAM,CAAC;YAAE,OAAO,IAAI,CAAC;QAChE,MAAM,OAAO,GAAI,MAAwF;aACtG,MAAM,EAAE,EAAE,CAAC,OAAO,IAAI,EAAE,CAAC;QAC5B,MAAM,KAAK,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,KAAK,MAAM,CAAC,EAAE,SAAS,CAAC;QAClE,IAAI,CAAC,KAAK;YAAE,OAAO,KAAK,CAAC;QACzB,OAAO,aAAa,CAAC,SAAS,CAAC,KAAK,EAAE,gBAAgB,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,MAAM,CAAC,CAAC;IACjG,CAAC,CAAC;IAEF,MAAM,IAAI,GAAG,KAAK,EAAE,KAA2B,EAAE,GAAgB,EAAE,GAAW,EAAE,IAAY,EAAE,SAAmB,EAAE,EAAiB,EAAE;QACpI,IAAI,CAAC;YACH,MAAM,MAAM,CAAC,QAAQ,CAAC,EAAE,SAAS,EAAE,GAAG,EAAE,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,QAAQ,EAAE,GAAG,CAAC,KAAK,EAAE,CAAC,CAAC;QACtF,CAAC;QAAC,OAAO,CAAC,EAAE,CAAC;YACX,GAAG,CAAC,KAAK,CAAC,EAAE,GAAG,EAAG,CAAW,CAAC,OAAO,EAAE,EAAE,wBAAwB,CAAC,CAAC;YACnE,IAAI,CAAC;gBAAC,MAAM,MAAM,CAAC,WAAW,CAAC,KAAK,EAAE,GAAG,CAAC,KAAK,EAAE,aAAa,CAAC,GAAG,EAAE,mBAAoB,CAAW,CAAC,OAAO,EAAE,CAAC,EAAE,IAAI,CAAC,CAAC;YAAC,CAAC;YAAC,MAAM,CAAC,CAAC,YAAY,CAAC,CAAC;QACjJ,CAAC;IACH,CAAC,CAAC;IAEF,MAAM,CAAC,EAAE,CAAC,cAAc,EAAE,KAAK,EAAE,KAA2B,EAAE,EAAE;QAC9D,MAAM,GAAG,GAAG,KAAK,CAAC,IAAI,CAAC;QACvB,IAAI,CAAC,GAAG;YAAE,OAAO;QACjB,MAAM,EAAE,IAAI,EAAE,GAAG,EAAE,QAAQ,EAAE,GAAG,cAAc,CAAC,GAAG,EAAE,kBAAkB,CAAC,GAAG,EAAE,GAAG,CAAC,IAAI,EAAE,OAAO,IAAI,EAAE,CAAC,EAAE,cAAc,CAAC,CAAC;QACtH,MAAM,GAAG,GAAG,UAAU,CAAC,aAAa,CAAC,GAAG,CAAC,EAAE,GAAG,CAAC,CAAC;QAChD,GAAG,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,GAAG,CAAC,KAAK,EAAE,GAAG,EAAE,IAAI,CAAC,MAAM,EAAE,GAAG,EAAE,QAAQ,EAAE,CAAC,CAAC,GAAG,CAAC,KAAK,EAAE,QAAQ,EAAE,EAAE,SAAS,CAAC,CAAC;QAClG,MAAM,EAAE,IAAI,EAAE,GAAG,MAAM,IAAI,CAAC,KAAK,EAAE,GAAG,EAAE,IAAI,EAAE,GAAG,CAAC,CAAC;QACnD,IAAI,IAAI;YAAE,OAAO;QACjB,MAAM,IAAI,CAAC,KAAK,EAAE,GAAG,EAAE,GAAG,EAAE,IAAI,CAAC,CAAC;IACpC,CAAC,CAAC,CAAC;IAEH,MAAM,CAAC,EAAE,CAAC,eAAe,EAAE,KAAK,EAAE,KAA4B,EAAE,EAAE;QAChE,MAAM,GAAG,GAAG,KAAK,CAAC,IAAI,CAAC;QACvB,IAAI,CAAC,GAAG;YAAE,OAAO;QACjB,GAAG,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,GAAG,CAAC,KAAK,EAAE,QAAQ,EAAE,CAAC,CAAC,GAAG,CAAC,KAAK,EAAE,EAAE,UAAU,CAAC,CAAC;QAClE,qEAAqE;QACrE,sEAAsE;QACtE,MAAM,EAAE,IAAI,EAAE,GAAG,EAAE,GAAG,cAAc,CAAC,GAAG,EAAE,EAAE,EAAE,cAAc,CAAC,CAAC;QAC9D,MAAM,GAAG,GAAG,UAAU,CAAC,aAAa,CAAC,GAAG,CAAC,EAAE,GAAG,CAAC,CAAC;QAChD,MAAM,EAAE,IAAI,EAAE,GAAG,MAAM,IAAI,CAAC,KAAK,EAAE,GAAG,EAAE,EAAE,EAAE,GAAG,CAAC,CAAC;QACjD,IAAI,IAAI;YAAE,OAAO;QACjB,MAAM,IAAI,GAAG,MAAM,eAAe,CAAC,EAAE,MAAM,EAAE,GAAG,EAAE,QAAQ,EAAE,EAAE,GAAG,CAAC,KAAK,CAAC,GAAG,EAAE,GAAG,CAAC,KAAK,CAAC,MAAM,EAAE,GAAG,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC;QAC7G,IAAI,CAAC,IAAI,EAAE,CAAC;YACV,IAAI,CAAC;gBAAC,MAAM,MAAM,CAAC,WAAW,CAAC,KAAK,EAAE,GAAG,CAAC,KAAK,EAAE,iBAAiB,EAAE,IAAI,CAAC,CAAC;YAAC,CAAC;YAAC,MAAM,CAAC,CAAC,YAAY,CAAC,CAAC;YACnG,OAAO;QACT,CAAC;QACD,0EAA0E;QAC1E,sEAAsE;QACtE,yEAAyE;QACzE,2DAA2D;QAC3D,MAAM,IAAI,CAAC,KAAK,EAAE,GAAG,EAAE,GAAG,EAAE,IAAI,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC;IAC5C,CAAC,CAAC,CAAC;IAEH,MAAM,CAAC,EAAE,CAAC,eAAe,EAAE,KAAK,EAAE,KAA4B,EAAE,EAAE;QAChE,MAAM,GAAG,GAAG,KAAK,CAAC,IAAI,CAAC;QACvB,IAAI,CAAC,GAAG;YAAE,OAAO;QACjB,GAAG,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,GAAG,CAAC,KAAK,EAAE,KAAK,EAAE,GAAG,CAAC,KAAK,EAAE,QAAQ,EAAE,MAAM,EAAE,QAAQ,EAAE,CAAC,CAAC,GAAG,CAAC,KAAK,EAAE,EAAE,UAAU,CAAC,CAAC;QACtG,2EAA2E;QAC3E,kDAAkD;QAClD,MAAM,OAAO,GAAG,CAAC,GAAG,CAAC,KAAK,EAAE,QAAQ,IAAI,EAAE,CAAC;aACxC,MAAM,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,OAAO,KAAK,MAAM,CAAC;aACrC,GAAG,CAAC,CAAC,EAAE,EAAE,EAAE,CAAE,EAAsC,CAAC,IAAI,EAAE,OAAO,IAAI,EAAE,CAAC;aACxE,IAAI,CAAC,IAAI,CAAC,CAAC;QACd,MAAM,EAAE,GAAG,EAAE,GAAG,cAAc,CAAC,GAAG,EAAE,kBAAkB,CAAC,GAAG,EAAE,OAAO,CAAC,EAAE,cAAc,CAAC,CAAC;QACtF,MAAM,GAAG,GAAG,UAAU,CAAC,aAAa,CAAC,GAAG,CAAC,EAAE,GAAG,CAAC,CAAC;QAChD,MAAM,EAAE,IAAI,EAAE,GAAG,MAAM,IAAI,CAAC,KAAK,EAAE,GAAG,EAAE,EAAE,EAAE,GAAG,CAAC,CAAC;QACjD,IAAI,IAAI;YAAE,OAAO;QACjB,MAAM,KAAK,GAAa,EAAE,CAAC;QAC3B,MAAM,MAAM,GAAa,EAAE,CAAC;QAC5B,IAAI,MAAM,GAAG,CAAC,CAAC;QACf,KAAK,MAAM,IAAI,IAAI,GAAG,CAAC,KAAK,EAAE,QAAQ,IAAI,EAAE,EAAE,CAAC;YAC7C,IAAI,IAAI,CAAC,OAAO,KAAK,MAAM,IAAI,IAAI,CAAC,IAAI,EAAE,OAAO,EAAE,CAAC;gBAClD,MAAM,CAAC,GAAG,kBAAkB,CAAC,GAAG,EAAE,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;gBACrD,IAAI,CAAC;oBAAE,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;YACvB,CAAC;iBAAM,IAAI,IAAI,CAAC,OAAO,KAAK,OAAO,IAAI,IAAI,CAAC,KAAK,EAAE,GAAG,EAAE,CAAC;gBACvD,MAAM,IAAI,GAAG,MAAM,eAAe,CAChC,EAAE,MAAM,EAAE,GAAG,EAAE,QAAQ,EAAE,EACzB,IAAI,CAAC,KAAK,CAAC,GAAG,EACd,IAAI,CAAC,KAAK,CAAC,MAAM,EACjB,GAAG,CAAC,KAAK,EACT,MAAM,EAAE,CACT,CAAC;gBACF,IAAI,IAAI;oBAAE,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YAC9B,CAAC;QACH,CAAC;QACD,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC,IAAI,MAAM,CAAC,MAAM,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,KAAK;YAAE,OAAO;QACpE,6EAA6E;QAC7E,yEAAyE;QACzE,4DAA4D;QAC5D,MAAM,IAAI,CAAC,KAAK,EAAE,GAAG,EAAE,GAAG,EAAE,cAAc,CAAC,GAAG,EAAE,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,cAAc,CAAC,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;IAClG,CAAC,CAAC,CAAC;IAEH,uEAAuE;AACzE,CAAC,CAAC"}