@vetala/vetala 0.5.6 → 0.6.0

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 (39) hide show
  1. package/README.md +7 -16
  2. package/dist/src/agent.d.ts +17 -0
  3. package/dist/src/agent.js +228 -2
  4. package/dist/src/agent.js.map +1 -1
  5. package/dist/src/app-meta.d.ts +1 -1
  6. package/dist/src/app-meta.js +1 -1
  7. package/dist/src/deliberation.d.ts +21 -0
  8. package/dist/src/deliberation.js +158 -2
  9. package/dist/src/deliberation.js.map +1 -1
  10. package/dist/src/ipc-ui.d.ts +2 -0
  11. package/dist/src/ipc-ui.js +7 -0
  12. package/dist/src/ipc-ui.js.map +1 -1
  13. package/dist/src/skills/runtime.js +148 -4
  14. package/dist/src/skills/runtime.js.map +1 -1
  15. package/dist/src/terminal-ui.d.ts +3 -0
  16. package/dist/src/terminal-ui.js +28 -0
  17. package/dist/src/terminal-ui.js.map +1 -1
  18. package/dist/src/tools/filesystem.js +90 -14
  19. package/dist/src/tools/filesystem.js.map +1 -1
  20. package/dist/src/tools/lsp.js +198 -49
  21. package/dist/src/tools/lsp.js.map +1 -1
  22. package/dist/src/tools/shell.js +114 -3
  23. package/dist/src/tools/shell.js.map +1 -1
  24. package/dist/src/tools/skill.js +1 -1
  25. package/dist/src/tools/skill.js.map +1 -1
  26. package/dist/src/tools/tree-sitter-check.d.ts +1 -0
  27. package/dist/src/tools/tree-sitter-check.js +32 -0
  28. package/dist/src/tools/tree-sitter-check.js.map +1 -1
  29. package/dist/src/turn-targets.d.ts +12 -0
  30. package/dist/src/turn-targets.js +106 -0
  31. package/dist/src/turn-targets.js.map +1 -0
  32. package/dist/src/types.d.ts +24 -0
  33. package/package.json +1 -1
  34. package/tui/vetala-darwin-arm64 +0 -0
  35. package/tui/vetala-darwin-x64 +0 -0
  36. package/tui/vetala-linux-arm64 +0 -0
  37. package/tui/vetala-linux-x64 +0 -0
  38. package/tui/vetala-win32-arm64.exe +0 -0
  39. package/tui/vetala-win32-x64.exe +0 -0
@@ -18,13 +18,62 @@ export function analyzeTurnDeliberation(userInput, options = {}) {
18
18
  ? "This request is underspecified. If initial inspection does not identify a clear target or acceptance criteria, call ask_user before editing."
19
19
  : "For non-trivial tasks, form a concise plan first, then execute incrementally and verify after each meaningful change.";
20
20
  return {
21
+ taskKind,
21
22
  reasoningEffort,
22
23
  reasoningLabel,
23
24
  thinkingSummary: shouldShowThinking ? buildThinkingSummary(taskKind, filePaths, ambiguousEdit) : null,
24
25
  guidance,
25
- shouldShowThinking
26
+ shouldShowThinking,
27
+ plan: shouldShowThinking ? buildTurnPlan(taskKind, filePaths, ambiguousEdit) : null
26
28
  };
27
29
  }
30
+ export function advanceTurnPlan(plan, stage) {
31
+ if (!plan) {
32
+ return null;
33
+ }
34
+ const next = cloneTurnPlan(plan);
35
+ switch (stage) {
36
+ case "inspect":
37
+ setStepStatus(next, "inspect", "in_progress");
38
+ break;
39
+ case "decide":
40
+ completeStep(next, "inspect");
41
+ setStepStatus(next, "decide", "in_progress");
42
+ break;
43
+ case "execute":
44
+ completeStep(next, "inspect");
45
+ completeStep(next, "decide");
46
+ setStepStatus(next, "execute", "in_progress");
47
+ break;
48
+ case "complete":
49
+ for (const step of next.steps) {
50
+ step.status = "completed";
51
+ }
52
+ break;
53
+ }
54
+ return next;
55
+ }
56
+ export function updateTurnPlan(plan, options) {
57
+ if (!plan) {
58
+ return null;
59
+ }
60
+ const next = cloneTurnPlan(plan);
61
+ const completed = new Set(options.completed ?? []);
62
+ for (const step of next.steps) {
63
+ if (completed.has(step.id)) {
64
+ step.status = "completed";
65
+ continue;
66
+ }
67
+ if (options.inProgress && step.id === options.inProgress) {
68
+ step.status = "in_progress";
69
+ continue;
70
+ }
71
+ if (step.status !== "completed") {
72
+ step.status = "pending";
73
+ }
74
+ }
75
+ return next;
76
+ }
28
77
  export function phaseForTool(toolName) {
29
78
  switch (toolName) {
30
79
  case "list_dir":
@@ -59,6 +108,84 @@ export function phaseForTool(toolName) {
59
108
  return "working";
60
109
  }
61
110
  }
111
+ function buildTurnPlan(taskKind, filePaths, ambiguousEdit) {
112
+ const target = filePaths.length > 0 ? formatTargets(filePaths) : "the relevant code and nearby context";
113
+ switch (taskKind) {
114
+ case "audit":
115
+ return {
116
+ taskKind,
117
+ title: "Plan",
118
+ explanation: "Inspect first, then validate the riskiest paths before reporting concrete findings.",
119
+ steps: [
120
+ { id: "inspect", label: `Inspect ${target} and trust boundaries`, status: "pending" },
121
+ { id: "decide", label: "Decide which surfaces look riskiest", status: "pending" },
122
+ { id: "execute", label: "Validate concrete abuse paths and edge cases", status: "pending" },
123
+ { id: "summarize", label: "Summarize findings, impact, and mitigations", status: "pending" }
124
+ ]
125
+ };
126
+ case "review":
127
+ return {
128
+ taskKind,
129
+ title: "Plan",
130
+ explanation: "Inspect first, then review the likely regression points before summarizing findings.",
131
+ steps: [
132
+ { id: "inspect", label: `Inspect ${target} and surrounding context`, status: "pending" },
133
+ { id: "decide", label: "Decide the highest-risk review focus", status: "pending" },
134
+ { id: "execute", label: "Check regressions, edge cases, and test gaps", status: "pending" },
135
+ { id: "summarize", label: "Summarize findings with severity and references", status: "pending" }
136
+ ]
137
+ };
138
+ case "edit":
139
+ return {
140
+ taskKind,
141
+ title: "Plan",
142
+ explanation: ambiguousEdit
143
+ ? "Inspect first, clarify if the target stays fuzzy, then make the smallest safe change."
144
+ : "Inspect first, then make the smallest safe change and verify it.",
145
+ steps: [
146
+ { id: "inspect", label: `Inspect ${target} and the current constraints`, status: "pending" },
147
+ {
148
+ id: "decide",
149
+ label: ambiguousEdit ? "Clarify scope or choose the safest target" : "Choose the smallest safe change",
150
+ status: "pending"
151
+ },
152
+ { id: "execute", label: "Apply the change without broad churn", status: "pending" },
153
+ { id: "summarize", label: "Verify the result and summarize what changed", status: "pending" }
154
+ ]
155
+ };
156
+ case "research":
157
+ return {
158
+ taskKind,
159
+ title: "Plan",
160
+ explanation: "Gather the constraints first, then compare viable options before recommending a path.",
161
+ steps: [
162
+ { id: "inspect", label: `Inspect ${target} and the relevant constraints`, status: "pending" },
163
+ { id: "decide", label: "Decide which comparison criteria matter", status: "pending" },
164
+ { id: "execute", label: "Compare viable options and tradeoffs", status: "pending" },
165
+ { id: "summarize", label: "Recommend a path with concrete reasoning", status: "pending" }
166
+ ]
167
+ };
168
+ case "chat":
169
+ return {
170
+ taskKind,
171
+ title: "Plan",
172
+ explanation: null,
173
+ steps: []
174
+ };
175
+ default:
176
+ return {
177
+ taskKind,
178
+ title: "Plan",
179
+ explanation: "Inspect first, then trace the important flow before answering.",
180
+ steps: [
181
+ { id: "inspect", label: `Inspect ${target}`, status: "pending" },
182
+ { id: "decide", label: "Decide which flows or components matter most", status: "pending" },
183
+ { id: "execute", label: "Trace the main paths instead of guessing", status: "pending" },
184
+ { id: "summarize", label: "Explain the result with concrete references", status: "pending" }
185
+ ]
186
+ };
187
+ }
188
+ }
62
189
  function classifyTask(normalized) {
63
190
  if (!normalized || isGreeting(normalized)) {
64
191
  return "chat";
@@ -110,7 +237,7 @@ function scoreComplexity(normalized, taskKind, fileCount, activeSkills, ambiguou
110
237
  if (fileCount >= 2) {
111
238
  score += 2;
112
239
  }
113
- else if (fileCount == 1) {
240
+ else if (fileCount === 1) {
114
241
  score += 1;
115
242
  }
116
243
  if (normalized.split(/\s+/).length >= 14) {
@@ -198,6 +325,35 @@ function formatTargets(filePaths) {
198
325
  }
199
326
  return `${filePaths[0]} and related files`;
200
327
  }
328
+ function setStepStatus(plan, stepId, status) {
329
+ for (const step of plan.steps) {
330
+ if (step.id === stepId) {
331
+ step.status = status;
332
+ continue;
333
+ }
334
+ if (status === "in_progress" && step.status === "in_progress") {
335
+ step.status = "pending";
336
+ }
337
+ }
338
+ }
339
+ function completeStep(plan, stepId) {
340
+ for (const step of plan.steps) {
341
+ if (step.id === stepId) {
342
+ step.status = "completed";
343
+ }
344
+ else if (step.status === "in_progress") {
345
+ step.status = "pending";
346
+ }
347
+ }
348
+ }
349
+ function cloneTurnPlan(plan) {
350
+ return {
351
+ taskKind: plan.taskKind,
352
+ title: plan.title,
353
+ explanation: plan.explanation,
354
+ steps: plan.steps.map((step) => ({ ...step }))
355
+ };
356
+ }
201
357
  function containsAny(normalized, terms) {
202
358
  return terms.some((term) => {
203
359
  const candidate = term.trim().toLowerCase();
@@ -1 +1 @@
1
- {"version":3,"file":"deliberation.js","sourceRoot":"","sources":["../../src/deliberation.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"deliberation.js","sourceRoot":"","sources":["../../src/deliberation.ts"],"names":[],"mappings":"AAkCA,MAAM,YAAY,GAAG,CAAC,QAAQ,EAAE,MAAM,EAAE,YAAY,EAAE,KAAK,EAAE,UAAU,EAAE,IAAI,EAAE,cAAc,CAAC,CAAC;AAC/F,MAAM,WAAW,GAAG,CAAC,OAAO,EAAE,UAAU,EAAE,eAAe,EAAE,QAAQ,EAAE,QAAQ,EAAE,SAAS,CAAC,CAAC;AAC1F,MAAM,UAAU,GAAG,CAAC,KAAK,EAAE,UAAU,EAAE,WAAW,EAAE,KAAK,EAAE,QAAQ,EAAE,QAAQ,EAAE,SAAS,EAAE,UAAU,EAAE,OAAO,CAAC,CAAC;AAC/G,MAAM,aAAa,GAAG,CAAC,SAAS,EAAE,KAAK,EAAE,KAAK,EAAE,cAAc,EAAE,YAAY,EAAE,UAAU,EAAE,cAAc,CAAC,CAAC;AAC1G,MAAM,cAAc,GAAG,CAAC,SAAS,EAAE,WAAW,EAAE,MAAM,EAAE,QAAQ,EAAE,OAAO,EAAE,UAAU,CAAC,CAAC;AACvF,MAAM,oBAAoB,GAAG,CAAC,UAAU,EAAE,cAAc,EAAE,eAAe,EAAE,eAAe,EAAE,YAAY,EAAE,gBAAgB,CAAC,CAAC;AAE5H,MAAM,UAAU,uBAAuB,CAAC,SAAiB,EAAE,UAA+B,EAAE;IAC1F,MAAM,UAAU,GAAG,SAAS,CAAC,SAAS,CAAC,CAAC;IACxC,MAAM,gBAAgB,GAAG,OAAO,CAAC,gBAAgB,IAAI,IAAI,CAAC;IAC1D,MAAM,SAAS,GAAG,kBAAkB,CAAC,SAAS,CAAC,CAAC;IAChD,MAAM,QAAQ,GAAG,YAAY,CAAC,UAAU,CAAC,CAAC;IAC1C,MAAM,aAAa,GAAG,sBAAsB,CAAC,UAAU,EAAE,SAAS,CAAC,MAAM,CAAC,CAAC;IAC3E,MAAM,KAAK,GAAG,eAAe,CAAC,UAAU,EAAE,QAAQ,EAAE,SAAS,CAAC,MAAM,EAAE,OAAO,CAAC,YAAY,IAAI,EAAE,EAAE,aAAa,CAAC,CAAC;IAEjH,MAAM,eAAe,GAAG,gBAAgB,IAAI,mBAAmB,CAAC,QAAQ,EAAE,KAAK,CAAC,CAAC;IACjF,MAAM,cAAc,GAAG,eAAe,IAAI,MAAM,CAAC;IACjD,MAAM,kBAAkB,GAAG,QAAQ,KAAK,MAAM,IAAI,KAAK,IAAI,CAAC,CAAC;IAC7D,MAAM,QAAQ,GAAG,aAAa;QAC5B,CAAC,CAAC,8IAA8I;QAChJ,CAAC,CAAC,uHAAuH,CAAC;IAE5H,OAAO;QACL,QAAQ;QACR,eAAe;QACf,cAAc;QACd,eAAe,EAAE,kBAAkB,CAAC,CAAC,CAAC,oBAAoB,CAAC,QAAQ,EAAE,SAAS,EAAE,aAAa,CAAC,CAAC,CAAC,CAAC,IAAI;QACrG,QAAQ;QACR,kBAAkB;QAClB,IAAI,EAAE,kBAAkB,CAAC,CAAC,CAAC,aAAa,CAAC,QAAQ,EAAE,SAAS,EAAE,aAAa,CAAC,CAAC,CAAC,CAAC,IAAI;KACpF,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,eAAe,CAAC,IAAqB,EAAE,KAAoB;IACzE,IAAI,CAAC,IAAI,EAAE,CAAC;QACV,OAAO,IAAI,CAAC;IACd,CAAC;IAED,MAAM,IAAI,GAAG,aAAa,CAAC,IAAI,CAAC,CAAC;IACjC,QAAQ,KAAK,EAAE,CAAC;QACd,KAAK,SAAS;YACZ,aAAa,CAAC,IAAI,EAAE,SAAS,EAAE,aAAa,CAAC,CAAC;YAC9C,MAAM;QACR,KAAK,QAAQ;YACX,YAAY,CAAC,IAAI,EAAE,SAAS,CAAC,CAAC;YAC9B,aAAa,CAAC,IAAI,EAAE,QAAQ,EAAE,aAAa,CAAC,CAAC;YAC7C,MAAM;QACR,KAAK,SAAS;YACZ,YAAY,CAAC,IAAI,EAAE,SAAS,CAAC,CAAC;YAC9B,YAAY,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC;YAC7B,aAAa,CAAC,IAAI,EAAE,SAAS,EAAE,aAAa,CAAC,CAAC;YAC9C,MAAM;QACR,KAAK,UAAU;YACb,KAAK,MAAM,IAAI,IAAI,IAAI,CAAC,KAAK,EAAE,CAAC;gBAC9B,IAAI,CAAC,MAAM,GAAG,WAAW,CAAC;YAC5B,CAAC;YACD,MAAM;IACV,CAAC;IAED,OAAO,IAAI,CAAC;AACd,CAAC;AAED,MAAM,UAAU,cAAc,CAC5B,IAAqB,EACrB,OAGC;IAED,IAAI,CAAC,IAAI,EAAE,CAAC;QACV,OAAO,IAAI,CAAC;IACd,CAAC;IAED,MAAM,IAAI,GAAG,aAAa,CAAC,IAAI,CAAC,CAAC;IACjC,MAAM,SAAS,GAAG,IAAI,GAAG,CAAC,OAAO,CAAC,SAAS,IAAI,EAAE,CAAC,CAAC;IAEnD,KAAK,MAAM,IAAI,IAAI,IAAI,CAAC,KAAK,EAAE,CAAC;QAC9B,IAAI,SAAS,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE,CAAC;YAC3B,IAAI,CAAC,MAAM,GAAG,WAAW,CAAC;YAC1B,SAAS;QACX,CAAC;QACD,IAAI,OAAO,CAAC,UAAU,IAAI,IAAI,CAAC,EAAE,KAAK,OAAO,CAAC,UAAU,EAAE,CAAC;YACzD,IAAI,CAAC,MAAM,GAAG,aAAa,CAAC;YAC5B,SAAS;QACX,CAAC;QACD,IAAI,IAAI,CAAC,MAAM,KAAK,WAAW,EAAE,CAAC;YAChC,IAAI,CAAC,MAAM,GAAG,SAAS,CAAC;QAC1B,CAAC;IACH,CAAC;IAED,OAAO,IAAI,CAAC;AACd,CAAC;AAED,MAAM,UAAU,YAAY,CAAC,QAAgB;IAC3C,QAAQ,QAAQ,EAAE,CAAC;QACjB,KAAK,UAAU,CAAC;QAChB,KAAK,aAAa,CAAC;QACnB,KAAK,cAAc,CAAC;QACpB,KAAK,WAAW,CAAC;QACjB,KAAK,iBAAiB,CAAC;QACvB,KAAK,aAAa,CAAC;QACnB,KAAK,YAAY,CAAC;QAClB,KAAK,UAAU,CAAC;QAChB,KAAK,SAAS,CAAC;QACf,KAAK,WAAW,CAAC;QACjB,KAAK,iBAAiB,CAAC;QACvB,KAAK,cAAc,CAAC;QACpB,KAAK,iBAAiB;YACpB,OAAO,YAAY,CAAC;QACtB,KAAK,YAAY,CAAC;QAClB,KAAK,gBAAgB,CAAC;QACtB,KAAK,aAAa,CAAC;QACnB,KAAK,iBAAiB,CAAC;QACvB,KAAK,WAAW,CAAC;QACjB,KAAK,aAAa,CAAC;QACnB,KAAK,gBAAgB;YACnB,OAAO,SAAS,CAAC;QACnB,KAAK,UAAU;YACb,OAAO,YAAY,CAAC;QACtB,KAAK,WAAW,CAAC;QACjB,KAAK,YAAY,CAAC;QAClB,KAAK,WAAW;YACd,OAAO,WAAW,CAAC;QACrB;YACE,OAAO,SAAS,CAAC;IACrB,CAAC;AACH,CAAC;AAED,SAAS,aAAa,CAAC,QAAkB,EAAE,SAAmB,EAAE,aAAsB;IACpF,MAAM,MAAM,GAAG,SAAS,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,aAAa,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,sCAAsC,CAAC;IACxG,QAAQ,QAAQ,EAAE,CAAC;QACjB,KAAK,OAAO;YACV,OAAO;gBACL,QAAQ;gBACR,KAAK,EAAE,MAAM;gBACb,WAAW,EAAE,qFAAqF;gBAClG,KAAK,EAAE;oBACL,EAAE,EAAE,EAAE,SAAS,EAAE,KAAK,EAAE,WAAW,MAAM,uBAAuB,EAAE,MAAM,EAAE,SAAS,EAAE;oBACrF,EAAE,EAAE,EAAE,QAAQ,EAAE,KAAK,EAAE,qCAAqC,EAAE,MAAM,EAAE,SAAS,EAAE;oBACjF,EAAE,EAAE,EAAE,SAAS,EAAE,KAAK,EAAE,8CAA8C,EAAE,MAAM,EAAE,SAAS,EAAE;oBAC3F,EAAE,EAAE,EAAE,WAAW,EAAE,KAAK,EAAE,6CAA6C,EAAE,MAAM,EAAE,SAAS,EAAE;iBAC7F;aACF,CAAC;QACJ,KAAK,QAAQ;YACX,OAAO;gBACL,QAAQ;gBACR,KAAK,EAAE,MAAM;gBACb,WAAW,EAAE,sFAAsF;gBACnG,KAAK,EAAE;oBACL,EAAE,EAAE,EAAE,SAAS,EAAE,KAAK,EAAE,WAAW,MAAM,0BAA0B,EAAE,MAAM,EAAE,SAAS,EAAE;oBACxF,EAAE,EAAE,EAAE,QAAQ,EAAE,KAAK,EAAE,sCAAsC,EAAE,MAAM,EAAE,SAAS,EAAE;oBAClF,EAAE,EAAE,EAAE,SAAS,EAAE,KAAK,EAAE,8CAA8C,EAAE,MAAM,EAAE,SAAS,EAAE;oBAC3F,EAAE,EAAE,EAAE,WAAW,EAAE,KAAK,EAAE,iDAAiD,EAAE,MAAM,EAAE,SAAS,EAAE;iBACjG;aACF,CAAC;QACJ,KAAK,MAAM;YACT,OAAO;gBACL,QAAQ;gBACR,KAAK,EAAE,MAAM;gBACb,WAAW,EAAE,aAAa;oBACxB,CAAC,CAAC,uFAAuF;oBACzF,CAAC,CAAC,kEAAkE;gBACtE,KAAK,EAAE;oBACL,EAAE,EAAE,EAAE,SAAS,EAAE,KAAK,EAAE,WAAW,MAAM,8BAA8B,EAAE,MAAM,EAAE,SAAS,EAAE;oBAC5F;wBACE,EAAE,EAAE,QAAQ;wBACZ,KAAK,EAAE,aAAa,CAAC,CAAC,CAAC,2CAA2C,CAAC,CAAC,CAAC,iCAAiC;wBACtG,MAAM,EAAE,SAAS;qBAClB;oBACD,EAAE,EAAE,EAAE,SAAS,EAAE,KAAK,EAAE,sCAAsC,EAAE,MAAM,EAAE,SAAS,EAAE;oBACnF,EAAE,EAAE,EAAE,WAAW,EAAE,KAAK,EAAE,8CAA8C,EAAE,MAAM,EAAE,SAAS,EAAE;iBAC9F;aACF,CAAC;QACJ,KAAK,UAAU;YACb,OAAO;gBACL,QAAQ;gBACR,KAAK,EAAE,MAAM;gBACb,WAAW,EAAE,uFAAuF;gBACpG,KAAK,EAAE;oBACL,EAAE,EAAE,EAAE,SAAS,EAAE,KAAK,EAAE,WAAW,MAAM,+BAA+B,EAAE,MAAM,EAAE,SAAS,EAAE;oBAC7F,EAAE,EAAE,EAAE,QAAQ,EAAE,KAAK,EAAE,yCAAyC,EAAE,MAAM,EAAE,SAAS,EAAE;oBACrF,EAAE,EAAE,EAAE,SAAS,EAAE,KAAK,EAAE,sCAAsC,EAAE,MAAM,EAAE,SAAS,EAAE;oBACnF,EAAE,EAAE,EAAE,WAAW,EAAE,KAAK,EAAE,0CAA0C,EAAE,MAAM,EAAE,SAAS,EAAE;iBAC1F;aACF,CAAC;QACJ,KAAK,MAAM;YACT,OAAO;gBACL,QAAQ;gBACR,KAAK,EAAE,MAAM;gBACb,WAAW,EAAE,IAAI;gBACjB,KAAK,EAAE,EAAE;aACV,CAAC;QACJ;YACE,OAAO;gBACL,QAAQ;gBACR,KAAK,EAAE,MAAM;gBACb,WAAW,EAAE,gEAAgE;gBAC7E,KAAK,EAAE;oBACL,EAAE,EAAE,EAAE,SAAS,EAAE,KAAK,EAAE,WAAW,MAAM,EAAE,EAAE,MAAM,EAAE,SAAS,EAAE;oBAChE,EAAE,EAAE,EAAE,QAAQ,EAAE,KAAK,EAAE,8CAA8C,EAAE,MAAM,EAAE,SAAS,EAAE;oBAC1F,EAAE,EAAE,EAAE,SAAS,EAAE,KAAK,EAAE,0CAA0C,EAAE,MAAM,EAAE,SAAS,EAAE;oBACvF,EAAE,EAAE,EAAE,WAAW,EAAE,KAAK,EAAE,6CAA6C,EAAE,MAAM,EAAE,SAAS,EAAE;iBAC7F;aACF,CAAC;IACN,CAAC;AACH,CAAC;AAED,SAAS,YAAY,CAAC,UAAkB;IACtC,IAAI,CAAC,UAAU,IAAI,UAAU,CAAC,UAAU,CAAC,EAAE,CAAC;QAC1C,OAAO,MAAM,CAAC;IAChB,CAAC;IACD,IAAI,WAAW,CAAC,UAAU,EAAE,WAAW,CAAC,EAAE,CAAC;QACzC,OAAO,OAAO,CAAC;IACjB,CAAC;IACD,IAAI,WAAW,CAAC,UAAU,EAAE,YAAY,CAAC,EAAE,CAAC;QAC1C,OAAO,QAAQ,CAAC;IAClB,CAAC;IACD,IAAI,WAAW,CAAC,UAAU,EAAE,cAAc,CAAC,EAAE,CAAC;QAC5C,OAAO,UAAU,CAAC;IACpB,CAAC;IACD,IAAI,WAAW,CAAC,UAAU,EAAE,UAAU,CAAC,EAAE,CAAC;QACxC,OAAO,MAAM,CAAC;IAChB,CAAC;IACD,IAAI,WAAW,CAAC,UAAU,EAAE,aAAa,CAAC,IAAI,UAAU,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE,CAAC;QACvE,OAAO,SAAS,CAAC;IACnB,CAAC;IACD,OAAO,UAAU,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,MAAM,IAAI,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,SAAS,CAAC;AAClE,CAAC;AAED,SAAS,eAAe,CACtB,UAAkB,EAClB,QAAkB,EAClB,SAAiB,EACjB,YAAsB,EACtB,aAAsB;IAEtB,IAAI,KAAK,GAAG,CAAC,CAAC;IAEd,QAAQ,QAAQ,EAAE,CAAC;QACjB,KAAK,OAAO;YACV,KAAK,IAAI,CAAC,CAAC;YACX,MAAM;QACR,KAAK,QAAQ;YACX,KAAK,IAAI,CAAC,CAAC;YACX,MAAM;QACR,KAAK,MAAM;YACT,KAAK,IAAI,CAAC,CAAC;YACX,MAAM;QACR,KAAK,UAAU;YACb,KAAK,IAAI,CAAC,CAAC;YACX,MAAM;QACR,KAAK,SAAS;YACZ,KAAK,IAAI,CAAC,CAAC;YACX,MAAM;QACR;YACE,MAAM;IACV,CAAC;IAED,IAAI,UAAU,CAAC,QAAQ,CAAC,UAAU,CAAC,IAAI,UAAU,CAAC,QAAQ,CAAC,aAAa,CAAC,IAAI,UAAU,CAAC,QAAQ,CAAC,eAAe,CAAC,EAAE,CAAC;QAClH,KAAK,IAAI,CAAC,CAAC;IACb,CAAC;IACD,IAAI,UAAU,CAAC,QAAQ,CAAC,aAAa,CAAC,IAAI,UAAU,CAAC,QAAQ,CAAC,cAAc,CAAC,EAAE,CAAC;QAC9E,KAAK,IAAI,CAAC,CAAC;IACb,CAAC;IACD,IAAI,SAAS,IAAI,CAAC,EAAE,CAAC;QACnB,KAAK,IAAI,CAAC,CAAC;IACb,CAAC;SAAM,IAAI,SAAS,KAAK,CAAC,EAAE,CAAC;QAC3B,KAAK,IAAI,CAAC,CAAC;IACb,CAAC;IACD,IAAI,UAAU,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,MAAM,IAAI,EAAE,EAAE,CAAC;QACzC,KAAK,IAAI,CAAC,CAAC;IACb,CAAC;IACD,IAAI,YAAY,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QAC5B,KAAK,IAAI,CAAC,CAAC;IACb,CAAC;IACD,IAAI,aAAa,EAAE,CAAC;QAClB,KAAK,IAAI,CAAC,CAAC;IACb,CAAC;IAED,OAAO,KAAK,CAAC;AACf,CAAC;AAED,SAAS,mBAAmB,CAAC,QAAkB,EAAE,KAAa;IAC5D,IAAI,QAAQ,KAAK,MAAM,IAAI,KAAK,GAAG,CAAC,EAAE,CAAC;QACrC,OAAO,IAAI,CAAC;IACd,CAAC;IACD,IAAI,KAAK,IAAI,CAAC,EAAE,CAAC;QACf,OAAO,MAAM,CAAC;IAChB,CAAC;IACD,IAAI,KAAK,IAAI,CAAC,EAAE,CAAC;QACf,OAAO,QAAQ,CAAC;IAClB,CAAC;IACD,OAAO,KAAK,CAAC;AACf,CAAC;AAED,SAAS,oBAAoB,CAAC,QAAkB,EAAE,SAAmB,EAAE,aAAsB;IAC3F,MAAM,MAAM,GAAG,SAAS,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,aAAa,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,uCAAuC,CAAC;IACzG,MAAM,KAAK,GAAG,CAAC,GAAG,EAAE;QAClB,QAAQ,QAAQ,EAAE,CAAC;YACjB,KAAK,OAAO;gBACV,OAAO;oBACL,WAAW,MAAM,gCAAgC;oBACjD,oDAAoD;oBACpD,4CAA4C;iBAC7C,CAAC;YACJ,KAAK,QAAQ;gBACX,OAAO;oBACL,WAAW,MAAM,gCAAgC;oBACjD,kDAAkD;oBAClD,4DAA4D;iBAC7D,CAAC;YACJ,KAAK,MAAM;gBACT,OAAO;oBACL,WAAW,MAAM,2BAA2B;oBAC5C,aAAa;wBACX,CAAC,CAAC,0EAA0E;wBAC5E,CAAC,CAAC,8DAA8D;oBAClE,iCAAiC;iBAClC,CAAC;YACJ,KAAK,UAAU;gBACb,OAAO;oBACL,+CAA+C;oBAC/C,+CAA+C;oBAC/C,+BAA+B;iBAChC,CAAC;YACJ;gBACE,OAAO;oBACL,WAAW,MAAM,mBAAmB;oBACpC,8CAA8C;oBAC9C,iDAAiD;iBAClD,CAAC;QACN,CAAC;IACH,CAAC,CAAC,EAAE,CAAC;IAEL,OAAO,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,KAAK,IAAI,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AACrD,CAAC;AAED,SAAS,sBAAsB,CAAC,UAAkB,EAAE,SAAiB;IACnE,IAAI,SAAS,GAAG,CAAC,EAAE,CAAC;QAClB,OAAO,KAAK,CAAC;IACf,CAAC;IACD,IAAI,CAAC,WAAW,CAAC,UAAU,EAAE,UAAU,CAAC,EAAE,CAAC;QACzC,OAAO,KAAK,CAAC;IACf,CAAC;IACD,OAAO,oBAAoB,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,UAAU,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC;AACxE,CAAC;AAED,SAAS,kBAAkB,CAAC,KAAa;IACvC,MAAM,OAAO,GAAG,KAAK,CAAC,KAAK,CAAC,wDAAwD,CAAC,IAAI,EAAE,CAAC;IAC5F,OAAO,CAAC,GAAG,IAAI,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC;AAC/B,CAAC;AAED,SAAS,aAAa,CAAC,SAAmB;IACxC,IAAI,SAAS,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QAC3B,OAAO,SAAS,CAAC,CAAC,CAAE,CAAC;IACvB,CAAC;IACD,IAAI,SAAS,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QAC3B,OAAO,GAAG,SAAS,CAAC,CAAC,CAAC,QAAQ,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC;IAC/C,CAAC;IACD,OAAO,GAAG,SAAS,CAAC,CAAC,CAAC,oBAAoB,CAAC;AAC7C,CAAC;AAED,SAAS,aAAa,CAAC,IAAc,EAAE,MAA0B,EAAE,MAAsB;IACvF,KAAK,MAAM,IAAI,IAAI,IAAI,CAAC,KAAK,EAAE,CAAC;QAC9B,IAAI,IAAI,CAAC,EAAE,KAAK,MAAM,EAAE,CAAC;YACvB,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;YACrB,SAAS;QACX,CAAC;QACD,IAAI,MAAM,KAAK,aAAa,IAAI,IAAI,CAAC,MAAM,KAAK,aAAa,EAAE,CAAC;YAC9D,IAAI,CAAC,MAAM,GAAG,SAAS,CAAC;QAC1B,CAAC;IACH,CAAC;AACH,CAAC;AAED,SAAS,YAAY,CAAC,IAAc,EAAE,MAA0B;IAC9D,KAAK,MAAM,IAAI,IAAI,IAAI,CAAC,KAAK,EAAE,CAAC;QAC9B,IAAI,IAAI,CAAC,EAAE,KAAK,MAAM,EAAE,CAAC;YACvB,IAAI,CAAC,MAAM,GAAG,WAAW,CAAC;QAC5B,CAAC;aAAM,IAAI,IAAI,CAAC,MAAM,KAAK,aAAa,EAAE,CAAC;YACzC,IAAI,CAAC,MAAM,GAAG,SAAS,CAAC;QAC1B,CAAC;IACH,CAAC;AACH,CAAC;AAED,SAAS,aAAa,CAAC,IAAc;IACnC,OAAO;QACL,QAAQ,EAAE,IAAI,CAAC,QAAQ;QACvB,KAAK,EAAE,IAAI,CAAC,KAAK;QACjB,WAAW,EAAE,IAAI,CAAC,WAAW;QAC7B,KAAK,EAAE,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,EAAE,GAAG,IAAI,EAAE,CAAC,CAAC;KAC/C,CAAC;AACJ,CAAC;AAED,SAAS,WAAW,CAAC,UAAkB,EAAE,KAAe;IACtD,OAAO,KAAK,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,EAAE;QACzB,MAAM,SAAS,GAAG,IAAI,CAAC,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC;QAC5C,IAAI,SAAS,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE,CAAC;YAC5B,OAAO,UAAU,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC;QACxC,CAAC;QACD,OAAO,IAAI,MAAM,CAAC,MAAM,WAAW,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;IACxE,CAAC,CAAC,CAAC;AACL,CAAC;AAED,SAAS,UAAU,CAAC,UAAkB;IACpC,OAAO,UAAU,KAAK,IAAI,IAAI,UAAU,KAAK,OAAO,IAAI,UAAU,KAAK,KAAK,CAAC;AAC/E,CAAC;AAED,SAAS,SAAS,CAAC,KAAa;IAC9B,OAAO,KAAK,CAAC,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC,OAAO,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;AACzD,CAAC;AAED,SAAS,WAAW,CAAC,KAAa;IAChC,OAAO,KAAK,CAAC,OAAO,CAAC,qBAAqB,EAAE,MAAM,CAAC,CAAC;AACtD,CAAC"}
@@ -1,4 +1,5 @@
1
1
  import { TerminalUI } from "./terminal-ui.js";
2
+ import type { TurnPlan } from "./deliberation.js";
2
3
  import type { EffectiveConfig, RuntimeHostProfile, SessionState, ToolCall } from "./types.js";
3
4
  import type { Ora } from "ora";
4
5
  type EntryKind = "user" | "assistant" | "tool" | "info" | "warn" | "error" | "activity" | "thinking";
@@ -23,6 +24,7 @@ export declare class IpcTerminalUI extends TerminalUI {
23
24
  discardAssistantDraft(): void;
24
25
  updateActiveSkills(skills: string[]): void;
25
26
  updateTurnState(reasoning: string | null, phase: string | null): void;
27
+ updatePlan(plan: TurnPlan | null): void;
26
28
  endAssistantTurn(): void;
27
29
  printToolCall(toolCall: ToolCall): void;
28
30
  printToolResult(summary: string, isError: boolean, detail?: string): void;
@@ -84,6 +84,13 @@ export class IpcTerminalUI extends TerminalUI {
84
84
  updateTurnState(reasoning, phase) {
85
85
  sendIPC("turn_state", { reasoning, phase });
86
86
  }
87
+ updatePlan(plan) {
88
+ sendIPC("plan_update", {
89
+ title: plan?.title ?? "",
90
+ explanation: plan?.explanation ?? "",
91
+ steps: plan?.steps ?? []
92
+ });
93
+ }
87
94
  endAssistantTurn() {
88
95
  sendIPC("flush", {});
89
96
  }
@@ -1 +1 @@
1
- {"version":3,"file":"ipc-ui.js","sourceRoot":"","sources":["../../src/ipc-ui.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"ipc-ui.js","sourceRoot":"","sources":["../../src/ipc-ui.ts"],"names":[],"mappings":"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"}
@@ -9,7 +9,10 @@ const MAX_HEADINGS = 8;
9
9
  const MAX_LINKS = 12;
10
10
  const MAX_PINNED_PROMPT_CHARS = 2_200;
11
11
  const MAX_AUTO_APPLY_SKILLS = 2;
12
- const MAX_TURN_PROMPT_CHARS = 2_600;
12
+ const MAX_TURN_PROMPT_CHARS = 4_200;
13
+ const MAX_TURN_SKILL_BODY_CHARS = 1_200;
14
+ const MAX_TURN_RULE_SNIPPET_CHARS = 900;
15
+ const MAX_TURN_RULE_FILES = 2;
13
16
  const ROUTING_SCORE_THRESHOLD = 18;
14
17
  export class SkillRuntime {
15
18
  options;
@@ -117,7 +120,7 @@ export class SkillRuntime {
117
120
  return {
118
121
  active,
119
122
  labels: active.map(formatActiveSkillLabel),
120
- prompt: await buildTurnSkillPrompt(active)
123
+ prompt: await buildTurnSkillPrompt(active, routingInput)
121
124
  };
122
125
  }
123
126
  async inventoryPrompt() {
@@ -470,6 +473,16 @@ function scoreSkillMatch(skill, input) {
470
473
  reasons.push(`task: ${taskTypeHits[0]}`);
471
474
  score += 18 + Math.max(0, taskTypeHits.length - 1) * 6;
472
475
  }
476
+ const nameHits = countNameTokenMatches(skill.name, input.inputTokens);
477
+ if (nameHits.length > 0) {
478
+ reasons.push(`name: ${nameHits[0]}`);
479
+ score += 16 + Math.max(0, nameHits.length - 1) * 4;
480
+ }
481
+ const descriptionHits = countDescriptionTokenMatches(skill.description, input.inputTokens);
482
+ if (descriptionHits.length > 0) {
483
+ reasons.push(`context: ${descriptionHits[0]}`);
484
+ score += 12 + Math.max(0, descriptionHits.length - 1) * 3;
485
+ }
473
486
  const pathHits = countPathMatches(skill.routing.pathGlobs, input.pathCandidates);
474
487
  if (pathHits.length > 0) {
475
488
  reasons.push(`path: ${pathHits[0]}`);
@@ -478,6 +491,14 @@ function scoreSkillMatch(skill, input) {
478
491
  if (!explicitMention && !skill.routing.autoApply) {
479
492
  return null;
480
493
  }
494
+ const hasSemanticMatch = explicitMention ||
495
+ keywordHits.length > 0 ||
496
+ taskTypeHits.length > 0 ||
497
+ nameHits.length > 0 ||
498
+ descriptionHits.length > 0;
499
+ if (!explicitMention && !hasSemanticMatch) {
500
+ return null;
501
+ }
481
502
  score += skill.routing.priority * 2;
482
503
  if (!explicitMention && score < ROUTING_SCORE_THRESHOLD) {
483
504
  return null;
@@ -498,11 +519,17 @@ function compareActiveSkillMatches(left, right) {
498
519
  }
499
520
  return left.name.localeCompare(right.name);
500
521
  }
501
- async function buildTurnSkillPrompt(matches) {
522
+ async function buildTurnSkillPrompt(matches, input) {
502
523
  if (matches.length === 0) {
503
524
  return null;
504
525
  }
505
- const lines = ["Apply these local skills when they are relevant to the user's request:"];
526
+ const lines = [
527
+ "Active local skill guidance is already injected below.",
528
+ "Use it directly before calling the skill tool again.",
529
+ "Only call the skill tool if you need a specific deeper file that is not already summarized here.",
530
+ "",
531
+ "Apply these local skills when they are relevant to the user's request:"
532
+ ];
506
533
  for (const match of matches) {
507
534
  lines.push(`- ${match.name} [${match.source}] - ${shorten(match.description, 180)}`);
508
535
  if (match.reasons.length > 0) {
@@ -521,18 +548,106 @@ async function buildTurnSkillPrompt(matches) {
521
548
  const body = stripFrontmatter(raw).trim();
522
549
  const headings = extractHeadings(body);
523
550
  const linkedFiles = extractLinkedFiles(body);
551
+ const bodyExcerpt = body.length > MAX_TURN_SKILL_BODY_CHARS
552
+ ? `${body.slice(0, MAX_TURN_SKILL_BODY_CHARS - 3).trimEnd()}...`
553
+ : body;
524
554
  if (headings.length > 0) {
525
555
  lines.push(` sections: ${formatList(headings, 4)}`);
526
556
  }
527
557
  if (linkedFiles.length > 0) {
528
558
  lines.push(` files: ${formatList(linkedFiles, 4)}`);
529
559
  }
560
+ if (bodyExcerpt) {
561
+ lines.push(" overview:");
562
+ lines.push(indentBlock(bodyExcerpt, " "));
563
+ }
564
+ const relevantFiles = await selectRelevantSkillFiles(match, input);
565
+ for (const file of relevantFiles) {
566
+ lines.push(` file: ${file.path}`);
567
+ lines.push(indentBlock(file.content, " "));
568
+ if (lines.join("\n").length > MAX_TURN_PROMPT_CHARS) {
569
+ break;
570
+ }
571
+ }
530
572
  if (lines.join("\n").length > MAX_TURN_PROMPT_CHARS) {
531
573
  break;
532
574
  }
533
575
  }
534
576
  return lines.join("\n");
535
577
  }
578
+ async function selectRelevantSkillFiles(match, input) {
579
+ const candidates = match.availableFiles
580
+ .filter((file) => file !== "SKILL.md")
581
+ .map((file) => ({ file, score: scoreSkillFileCandidate(file, input) }))
582
+ .filter((entry) => entry.score > 0)
583
+ .sort((left, right) => right.score - left.score || left.file.localeCompare(right.file))
584
+ .slice(0, MAX_TURN_RULE_FILES);
585
+ const loaded = [];
586
+ for (const candidate of candidates) {
587
+ try {
588
+ const raw = await readFile(path.join(match.rootPath, candidate.file), "utf8");
589
+ const excerpt = buildSkillFileExcerpt(raw);
590
+ if (!excerpt) {
591
+ continue;
592
+ }
593
+ loaded.push({ path: candidate.file, content: excerpt });
594
+ }
595
+ catch {
596
+ // Ignore unreadable skill support files in prompt injection.
597
+ }
598
+ }
599
+ return loaded;
600
+ }
601
+ function scoreSkillFileCandidate(file, input) {
602
+ const normalizedPath = normalizeForMatch(file);
603
+ const pathTokens = tokenizeForMatch(file);
604
+ let score = 0;
605
+ for (const token of pathTokens) {
606
+ if (input.inputTokens.has(token)) {
607
+ score += 3;
608
+ }
609
+ }
610
+ if (input.pathCandidates.some((candidate) => normalizedPath.includes(normalizeForMatch(candidate).trim()))) {
611
+ score += 4;
612
+ }
613
+ return score;
614
+ }
615
+ function buildSkillFileExcerpt(raw) {
616
+ const content = raw.trim();
617
+ if (!content) {
618
+ return "";
619
+ }
620
+ const frontmatter = content.match(FRONTMATTER_RE)?.[1] ?? "";
621
+ const body = stripFrontmatter(content).trim();
622
+ const rendered = [];
623
+ if (frontmatter) {
624
+ const title = frontmatter.match(/^title:\s*(.*)$/m)?.[1]?.trim();
625
+ const impact = frontmatter.match(/^impact:\s*(.*)$/m)?.[1]?.trim();
626
+ const tags = frontmatter.match(/^tags:\s*(.*)$/m)?.[1]?.trim();
627
+ if (title) {
628
+ rendered.push(`title: ${title}`);
629
+ }
630
+ if (impact) {
631
+ rendered.push(`impact: ${impact}`);
632
+ }
633
+ if (tags) {
634
+ rendered.push(`tags: ${tags}`);
635
+ }
636
+ }
637
+ if (body) {
638
+ const excerpt = body.length > MAX_TURN_RULE_SNIPPET_CHARS
639
+ ? `${body.slice(0, MAX_TURN_RULE_SNIPPET_CHARS - 3).trimEnd()}...`
640
+ : body;
641
+ rendered.push(excerpt);
642
+ }
643
+ return rendered.join("\n");
644
+ }
645
+ function indentBlock(text, prefix) {
646
+ return text
647
+ .split("\n")
648
+ .map((line) => `${prefix}${line}`)
649
+ .join("\n");
650
+ }
536
651
  function formatActiveSkillLabel(match) {
537
652
  return `${match.name} (${match.source})`;
538
653
  }
@@ -572,12 +687,41 @@ function countTaggedMatches(tags, normalizedInput, inputTokens) {
572
687
  return tagTokens.length > 0 && tagTokens.every((token) => inputTokens.has(token));
573
688
  });
574
689
  }
690
+ function countNameTokenMatches(skillName, inputTokens) {
691
+ return tokenizeForMatch(skillName)
692
+ .filter((token) => token.length >= 4)
693
+ .filter((token) => !GENERIC_SKILL_TOKENS.has(token))
694
+ .filter((token) => inputTokens.has(token));
695
+ }
696
+ function countDescriptionTokenMatches(description, inputTokens) {
697
+ return tokenizeForMatch(description)
698
+ .filter((token) => token.length >= 5)
699
+ .filter((token) => !GENERIC_SKILL_TOKENS.has(token))
700
+ .filter((token) => inputTokens.has(token))
701
+ .slice(0, 3);
702
+ }
575
703
  function countPathMatches(globs, candidates) {
576
704
  if (globs.length === 0 || candidates.length === 0) {
577
705
  return [];
578
706
  }
579
707
  return globs.filter((glob) => candidates.some((candidate) => matchesGlob(candidate, glob)));
580
708
  }
709
+ const GENERIC_SKILL_TOKENS = new Set([
710
+ "agent",
711
+ "agents",
712
+ "audit",
713
+ "best",
714
+ "code",
715
+ "guide",
716
+ "guidelines",
717
+ "patterns",
718
+ "performance",
719
+ "practices",
720
+ "review",
721
+ "security",
722
+ "skill",
723
+ "skills"
724
+ ]);
581
725
  function matchesGlob(filePath, glob) {
582
726
  const normalized = toForwardSlashes(filePath);
583
727
  const escaped = glob
@@ -1 +1 @@
1
- {"version":3,"file":"runtime.js","sourceRoot":"","sources":["../../../src/skills/runtime.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"runtime.js","sourceRoot":"","sources":["../../../src/skills/runtime.ts"],"names":[],"mappings":"AAAA,OAAO,IAAI,MAAM,WAAW,CAAC;AAC7B,OAAO,EAAE,MAAM,EAAE,QAAQ,EAAE,OAAO,EAAE,MAAM,kBAAkB,CAAC;AAC7D,OAAO,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC;AAazC,MAAM,cAAc,GAAG,mCAAmC,CAAC;AAC3D,MAAM,aAAa,GAAG,EAAE,CAAC;AACzB,MAAM,mBAAmB,GAAG,KAAK,CAAC;AAClC,MAAM,cAAc,GAAG,MAAM,CAAC;AAC9B,MAAM,YAAY,GAAG,CAAC,CAAC;AACvB,MAAM,SAAS,GAAG,EAAE,CAAC;AACrB,MAAM,uBAAuB,GAAG,KAAK,CAAC;AACtC,MAAM,qBAAqB,GAAG,CAAC,CAAC;AAChC,MAAM,qBAAqB,GAAG,KAAK,CAAC;AACpC,MAAM,yBAAyB,GAAG,KAAK,CAAC;AACxC,MAAM,2BAA2B,GAAG,GAAG,CAAC;AACxC,MAAM,mBAAmB,GAAG,CAAC,CAAC;AAC9B,MAAM,uBAAuB,GAAG,EAAE,CAAC;AAmBnC,MAAM,OAAO,YAAY;IAIM;IAHrB,UAAU,GAAkB,IAAI,CAAC;IACjC,YAAY,GAAwB,EAAE,CAAC;IAE/C,YAA6B,OAA4B;QAA5B,YAAO,GAAP,OAAO,CAAqB;IAAG,CAAC;IAE7D,KAAK,CAAC,UAAU;QACd,OAAO,CAAC,GAAG,MAAM,IAAI,CAAC,aAAa,EAAE,CAAC,CAAC;IACzC,CAAC;IAED,KAAK,CAAC,SAAS,CAAC,IAAY;QAC1B,MAAM,KAAK,GAAG,MAAM,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,CAAC;QAC5C,MAAM,GAAG,GAAG,MAAM,QAAQ,CAAC,KAAK,CAAC,SAAS,EAAE,MAAM,CAAC,CAAC;QACpD,MAAM,IAAI,GAAG,gBAAgB,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,CAAC;QAC1C,MAAM,QAAQ,GAAG,eAAe,CAAC,IAAI,CAAC,CAAC;QACvC,MAAM,WAAW,GAAG,kBAAkB,CAAC,IAAI,CAAC,CAAC;QAC7C,MAAM,OAAO,GAAG,IAAI,CAAC,MAAM,GAAG,mBAAmB;YAC/C,CAAC,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,mBAAmB,GAAG,CAAC,CAAC,CAAC,OAAO,EAAE,KAAK;YAC1D,CAAC,CAAC,IAAI,CAAC;QAET,MAAM,aAAa,GAAG;YACpB,UAAU,KAAK,CAAC,IAAI,EAAE;YACtB,gBAAgB,KAAK,CAAC,WAAW,IAAI,QAAQ,EAAE;YAC/C,UAAU,KAAK,CAAC,SAAS,EAAE;SAC5B,CAAC;QAEF,MAAM,cAAc,GAAG,oBAAoB,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;QAC3D,IAAI,cAAc,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YAC9B,aAAa,CAAC,IAAI,CAAC,GAAG,cAAc,CAAC,CAAC;QACxC,CAAC;QAED,IAAI,QAAQ,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YACxB,aAAa,CAAC,IAAI,CAAC,aAAa,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;QAC1D,CAAC;QAED,IAAI,WAAW,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YAC3B,aAAa,CAAC,IAAI,CAAC,iBAAiB,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QAChE,CAAC;QAED,IAAI,KAAK,CAAC,cAAc,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YACpC,aAAa,CAAC,IAAI,CAAC,oBAAoB,UAAU,CAAC,KAAK,CAAC,cAAc,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC;QAChF,CAAC;QAED,IAAI,OAAO,EAAE,CAAC;YACZ,aAAa,CAAC,IAAI,CAAC,EAAE,EAAE,OAAO,CAAC,CAAC;QAClC,CAAC;QAED,OAAO;YACL,GAAG,KAAK;YACR,QAAQ;YACR,WAAW;YACX,QAAQ,EAAE,aAAa,CAAC,IAAI,CAAC,IAAI,CAAC;SACnC,CAAC;IACJ,CAAC;IAED,KAAK,CAAC,aAAa,CAAC,IAAY,EAAE,YAAY,GAAG,UAAU;QACzD,MAAM,KAAK,GAAG,MAAM,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,CAAC;QAC5C,MAAM,UAAU,GAAG,gBAAgB,CAAC,KAAK,CAAC,QAAQ,EAAE,YAAY,CAAC,CAAC;QAClE,MAAM,MAAM,GAAG,MAAM,QAAQ,CAAC,UAAU,CAAC,CAAC;QAE1C,IAAI,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE,CAAC;YACvB,MAAM,IAAI,KAAK,CAAC,oDAAoD,YAAY,EAAE,CAAC,CAAC;QACtF,CAAC;QAED,MAAM,OAAO,GAAG,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC;QACxC,OAAO;YACL,IAAI,EAAE,UAAU;YAChB,OAAO,EAAE,OAAO,CAAC,MAAM,GAAG,cAAc;gBACtC,CAAC,CAAC,GAAG,OAAO,CAAC,KAAK,CAAC,CAAC,EAAE,cAAc,GAAG,CAAC,CAAC,CAAC,OAAO,EAAE,KAAK;gBACxD,CAAC,CAAC,OAAO;SACZ,CAAC;IACJ,CAAC;IAED,KAAK,CAAC,QAAQ,CAAC,IAAY;QACzB,MAAM,KAAK,GAAG,MAAM,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,CAAC;QAC5C,MAAM,IAAI,CAAC,OAAO,CAAC,YAAY,CAAC,QAAQ,CAAC,IAAI,CAAC,OAAO,CAAC,UAAU,EAAE,EAAE,KAAK,CAAC,IAAI,CAAC,CAAC;QAChF,OAAO,KAAK,CAAC;IACf,CAAC;IAED,KAAK,CAAC,UAAU,CAAC,IAAY;QAC3B,MAAM,KAAK,GAAG,MAAM,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,CAAC;QAC5C,MAAM,IAAI,CAAC,OAAO,CAAC,YAAY,CAAC,UAAU,CAAC,IAAI,CAAC,OAAO,CAAC,UAAU,EAAE,EAAE,KAAK,CAAC,IAAI,CAAC,CAAC;QAClF,OAAO,KAAK,CAAC;IACf,CAAC;IAED,KAAK,CAAC,iBAAiB;QACrB,MAAM,WAAW,GAAG,IAAI,CAAC,OAAO,CAAC,UAAU,EAAE,CAAC,YAAY,CAAC,MAAM,CAAC;QAClE,MAAM,IAAI,CAAC,OAAO,CAAC,YAAY,CAAC,iBAAiB,CAAC,IAAI,CAAC,OAAO,CAAC,UAAU,EAAE,CAAC,CAAC;QAC7E,OAAO,WAAW,CAAC;IACrB,CAAC;IAED,KAAK,CAAC,YAAY;QAChB,MAAM,MAAM,GAAG,IAAI,GAAG,CAAC,IAAI,CAAC,OAAO,CAAC,UAAU,EAAE,CAAC,YAAY,CAAC,CAAC;QAC/D,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,aAAa,EAAE,CAAC;QAC3C,OAAO,OAAO,CAAC,MAAM,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,MAAM,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC;IAC3D,CAAC;IAED,KAAK,CAAC,kBAAkB,CAAC,SAAiB;QACxC,MAAM,OAAO,GAAG,IAAI,CAAC,OAAO,CAAC,UAAU,EAAE,CAAC;QAC1C,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,aAAa,EAAE,CAAC;QAC3C,MAAM,WAAW,GAAG,IAAI,GAAG,CAAC,OAAO,CAAC,YAAY,CAAC,CAAC;QAClD,MAAM,YAAY,GAAG,iBAAiB,CAAC,OAAO,EAAE,SAAS,CAAC,CAAC;QAE3D,MAAM,MAAM,GAAG,OAAO,CAAC,YAAY;aAChC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,IAAI,KAAK,IAAI,CAAC,CAAC;aAC3D,MAAM,CAAC,CAAC,KAAK,EAA8B,EAAE,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;aAC7D,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC;YACf,GAAG,KAAK;YACR,MAAM,EAAE,QAAiB;YACzB,KAAK,EAAE,MAAM;YACb,OAAO,EAAE,CAAC,yBAAyB,CAAC;SACrC,CAAC,CAAC,CAAC;QAEN,MAAM,IAAI,GAAG,OAAO;aACjB,MAAM,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC,WAAW,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;aAC/C,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,eAAe,CAAC,KAAK,EAAE,YAAY,CAAC,CAAC;aACpD,MAAM,CAAC,CAAC,KAAK,EAA6B,EAAE,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;aAC5D,IAAI,CAAC,yBAAyB,CAAC;aAC/B,KAAK,CAAC,CAAC,EAAE,qBAAqB,CAAC,CAAC;QAEnC,MAAM,MAAM,GAAG,CAAC,GAAG,MAAM,EAAE,GAAG,IAAI,CAAC,CAAC;QACpC,OAAO;YACL,MAAM;YACN,MAAM,EAAE,MAAM,CAAC,GAAG,CAAC,sBAAsB,CAAC;YAC1C,MAAM,EAAE,MAAM,oBAAoB,CAAC,MAAM,EAAE,YAAY,CAAC;SACzD,CAAC;IACJ,CAAC;IAED,KAAK,CAAC,eAAe;QACnB,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,aAAa,EAAE,CAAC;QAE1C,IAAI,MAAM,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YACxB,OAAO,wDAAwD,CAAC;QAClE,CAAC;QAED,OAAO;YACL,6GAA6G;YAC7G,GAAG,MAAM,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,KAAK,CAAC,IAAI,GAAG,KAAK,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,KAAK,OAAO,CAAC,KAAK,CAAC,WAAW,EAAE,GAAG,CAAC,EAAE,CAAC;SAC3H,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IACf,CAAC;IAED,KAAK,CAAC,YAAY;QAChB,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,YAAY,EAAE,CAAC;QAEzC,IAAI,MAAM,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YACxB,OAAO,IAAI,CAAC;QACd,CAAC;QAED,MAAM,KAAK,GAAG,CAAC,wDAAwD,CAAC,CAAC;QAEzE,KAAK,MAAM,KAAK,IAAI,MAAM,EAAE,CAAC;YAC3B,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;YAChD,KAAK,CAAC,IAAI,CAAC,KAAK,KAAK,CAAC,IAAI,KAAK,OAAO,CAAC,KAAK,CAAC,WAAW,EAAE,GAAG,CAAC,EAAE,CAAC,CAAC;YAElE,IAAI,MAAM,CAAC,QAAQ,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBAC/B,KAAK,CAAC,IAAI,CAAC,eAAe,UAAU,CAAC,MAAM,CAAC,QAAQ,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC;YAC9D,CAAC;YAED,IAAI,MAAM,CAAC,WAAW,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBAClC,KAAK,CAAC,IAAI,CAAC,YAAY,UAAU,CAAC,MAAM,CAAC,WAAW,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC;YAC9D,CAAC;YAED,IAAI,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,MAAM,GAAG,uBAAuB,EAAE,CAAC;gBACtD,MAAM;YACR,CAAC;QACH,CAAC;QAED,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAC1B,CAAC;IAEO,KAAK,CAAC,aAAa;QACzB,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,gBAAgB,EAAE,CAAC;QAE3C,IAAI,CAAC,IAAI,EAAE,CAAC;YACV,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC;YACvB,IAAI,CAAC,YAAY,GAAG,EAAE,CAAC;YACvB,OAAO,IAAI,CAAC,YAAY,CAAC;QAC3B,CAAC;QAED,IAAI,IAAI,CAAC,UAAU,KAAK,IAAI,EAAE,CAAC;YAC7B,OAAO,IAAI,CAAC,YAAY,CAAC;QAC3B,CAAC;QAED,MAAM,OAAO,GAAG,MAAM,OAAO,CAAC,IAAI,EAAE,EAAE,aAAa,EAAE,IAAI,EAAE,CAAC,CAAC;QAC7D,MAAM,MAAM,GAAwB,EAAE,CAAC;QAEvC,KAAK,MAAM,KAAK,IAAI,OAAO,EAAE,CAAC;YAC5B,IAAI,CAAC,KAAK,CAAC,WAAW,EAAE,IAAI,KAAK,CAAC,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,EAAE,CAAC;gBACvD,SAAS;YACX,CAAC;YAED,MAAM,SAAS,GAAG,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,KAAK,CAAC,IAAI,CAAC,CAAC;YAC9C,MAAM,SAAS,GAAG,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,UAAU,CAAC,CAAC;YAEnD,IAAI,CAAC,MAAM,MAAM,CAAC,SAAS,CAAC,EAAE,CAAC;gBAC7B,SAAS;YACX,CAAC;YAED,MAAM,GAAG,GAAG,MAAM,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC,CAAC;YAC9C,MAAM,WAAW,GAAG,gBAAgB,CAAC,GAAG,CAAC,CAAC;YAC1C,MAAM,CAAC,IAAI,CAAC;gBACV,IAAI,EAAE,WAAW,CAAC,IAAI,IAAI,KAAK,CAAC,IAAI;gBACpC,WAAW,EAAE,WAAW,CAAC,WAAW,IAAI,EAAE;gBAC1C,QAAQ,EAAE,SAAS;gBACnB,SAAS;gBACT,cAAc,EAAE,MAAM,cAAc,CAAC,SAAS,CAAC;gBAC/C,OAAO,EAAE,WAAW,CAAC,OAAO;aAC7B,CAAC,CAAC;QACL,CAAC;QAED,MAAM,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,KAAK,EAAE,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,aAAa,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC;QAClE,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC;QACvB,IAAI,CAAC,YAAY,GAAG,MAAM,CAAC;QAC3B,OAAO,IAAI,CAAC,YAAY,CAAC;IAC3B,CAAC;IAEO,KAAK,CAAC,YAAY,CAAC,IAAY;QACrC,MAAM,UAAU,GAAG,IAAI,CAAC,IAAI,EAAE,CAAC;QAE/B,IAAI,CAAC,UAAU,EAAE,CAAC;YAChB,MAAM,IAAI,KAAK,CAAC,yBAAyB,CAAC,CAAC;QAC7C,CAAC;QAED,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,aAAa,EAAE,CAAC;QAC1C,MAAM,KAAK,GAAG,MAAM,CAAC,IAAI,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,IAAI,KAAK,UAAU,CAAC,CAAC;QAEhE,IAAI,CAAC,KAAK,EAAE,CAAC;YACX,MAAM,IAAI,KAAK,CAAC,kBAAkB,UAAU,EAAE,CAAC,CAAC;QAClD,CAAC;QAED,OAAO,KAAK,CAAC;IACf,CAAC;IAEO,KAAK,CAAC,gBAAgB;QAC5B,MAAM,OAAO,GAAG,OAAO,CAAC,GAAG,CAAC,iBAAiB,EAAE,IAAI,EAAE,IAAI,OAAO,CAAC,GAAG,CAAC,iBAAiB,EAAE,IAAI,EAAE,CAAC;QAE/F,IAAI,OAAO,EAAE,CAAC;YACZ,OAAO,MAAM,eAAe,CAAC,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;QACrF,CAAC;QAED,MAAM,aAAa,GAAG,IAAI,CAAC,OAAO,CAAC,UAAU,EAAE,CAAC,aAAa,CAAC;QAC9D,MAAM,kBAAkB,GAAG,IAAI,CAAC,IAAI,CAAC,aAAa,EAAE,OAAO,CAAC,CAAC;QAE7D,IAAI,MAAM,eAAe,CAAC,kBAAkB,CAAC,EAAE,CAAC;YAC9C,OAAO,kBAAkB,CAAC;QAC5B,CAAC;QAED,OAAO,oBAAoB,EAAE,CAAC;IAChC,CAAC;CACF;AAED,KAAK,UAAU,cAAc,CAAC,SAAiB;IAC7C,MAAM,KAAK,GAAa,EAAE,CAAC;IAC3B,MAAM,SAAS,CAAC,SAAS,EAAE,SAAS,EAAE,KAAK,CAAC,CAAC;IAC7C,KAAK,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,KAAK,EAAE,EAAE,CAAC,IAAI,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC,CAAC;IACvD,OAAO,KAAK,CAAC,KAAK,CAAC,CAAC,EAAE,aAAa,CAAC,CAAC;AACvC,CAAC;AAED,KAAK,UAAU,SAAS,CAAC,IAAY,EAAE,OAAe,EAAE,MAAgB;IACtE,MAAM,OAAO,GAAG,MAAM,OAAO,CAAC,OAAO,EAAE,EAAE,aAAa,EAAE,IAAI,EAAE,CAAC,CAAC;IAEhE,KAAK,MAAM,KAAK,IAAI,OAAO,EAAE,CAAC;QAC5B,IAAI,KAAK,CAAC,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,EAAE,CAAC;YAC/B,SAAS;QACX,CAAC;QAED,MAAM,MAAM,GAAG,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,KAAK,CAAC,IAAI,CAAC,CAAC;QAE9C,IAAI,KAAK,CAAC,WAAW,EAAE,EAAE,CAAC;YACxB,MAAM,SAAS,CAAC,IAAI,EAAE,MAAM,EAAE,MAAM,CAAC,CAAC;YACtC,SAAS;QACX,CAAC;QAED,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC;IACrE,CAAC;AACH,CAAC;AAED,SAAS,gBAAgB,CAAC,GAAW;IACnC,MAAM,KAAK,GAAG,GAAG,CAAC,KAAK,CAAC,cAAc,CAAC,CAAC;IAExC,IAAI,CAAC,KAAK,EAAE,CAAC;QACX,OAAO,EAAE,IAAI,EAAE,EAAE,EAAE,WAAW,EAAE,EAAE,EAAE,OAAO,EAAE,2BAA2B,EAAE,EAAE,CAAC;IAC/E,CAAC;IAED,MAAM,YAAY,GAAG,IAAI,GAAG,EAAkB,CAAC;IAC/C,MAAM,UAAU,GAAG,IAAI,GAAG,EAAoB,CAAC;IAC/C,IAAI,UAAU,GAAkB,IAAI,CAAC;IACrC,IAAI,WAAW,GAA6B,IAAI,CAAC;IAEjD,KAAK,MAAM,IAAI,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,EAAE,CAAC;QACnD,MAAM,EAAE,GAAG,IAAI,CAAC,KAAK,CAAC,iCAAiC,CAAC,CAAC;QAEzD,IAAI,EAAE,EAAE,CAAC;YACP,MAAM,CAAC,EAAE,GAAG,GAAG,EAAE,EAAE,QAAQ,GAAG,EAAE,CAAC,GAAG,EAAE,CAAC;YACvC,UAAU,GAAG,uBAAuB,CAAC,GAAG,CAAC,CAAC;YAE1C,IAAI,CAAC,UAAU,EAAE,CAAC;gBAChB,SAAS;YACX,CAAC;YAED,MAAM,YAAY,GAAG,QAAQ,CAAC,IAAI,EAAE,CAAC;YACrC,IAAI,YAAY,CAAC,UAAU,CAAC,GAAG,CAAC,IAAI,YAAY,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE,CAAC;gBAC/D,UAAU,CAAC,GAAG,CAAC,UAAU,EAAE,eAAe,CAAC,YAAY,CAAC,CAAC,CAAC;gBAC1D,WAAW,GAAG,IAAI,CAAC;YACrB,CAAC;iBAAM,CAAC;gBACN,YAAY,CAAC,GAAG,CAAC,UAAU,EAAE,WAAW,CAAC,YAAY,CAAC,CAAC,CAAC;gBACxD,WAAW,GAAG,QAAQ,CAAC;YACzB,CAAC;YACD,SAAS;QACX,CAAC;QAED,IAAI,UAAU,IAAI,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC;YACxC,MAAM,KAAK,GAAG,UAAU,CAAC,GAAG,CAAC,UAAU,CAAC,IAAI,EAAE,CAAC;YAC/C,KAAK,CAAC,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,OAAO,CAAC,UAAU,EAAE,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC;YAC7D,UAAU,CAAC,GAAG,CAAC,UAAU,EAAE,KAAK,CAAC,CAAC;YAClC,WAAW,GAAG,MAAM,CAAC;YACrB,YAAY,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC;YAChC,SAAS;QACX,CAAC;QAED,IAAI,UAAU,IAAI,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC;YACpC,IAAI,WAAW,KAAK,MAAM,EAAE,CAAC;gBAC3B,MAAM,KAAK,GAAG,UAAU,CAAC,GAAG,CAAC,UAAU,CAAC,IAAI,EAAE,CAAC;gBAC/C,IAAI,KAAK,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;oBACrB,KAAK,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC,GAAG,GAAG,KAAK,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC,IAAI,WAAW,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC,EAAE,CAAC,IAAI,EAAE,CAAC;oBAC1F,UAAU,CAAC,GAAG,CAAC,UAAU,EAAE,KAAK,CAAC,CAAC;gBACpC,CAAC;gBACD,SAAS;YACX,CAAC;YAED,MAAM,YAAY,GAAG,YAAY,CAAC,GAAG,CAAC,UAAU,CAAC,IAAI,EAAE,CAAC;YACxD,MAAM,QAAQ,GAAG,WAAW,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC,CAAC;YAC1C,YAAY,CAAC,GAAG,CAAC,UAAU,EAAE,YAAY,CAAC,CAAC,CAAC,GAAG,YAAY,IAAI,QAAQ,EAAE,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC;YACtF,WAAW,GAAG,QAAQ,CAAC;YACvB,SAAS;QACX,CAAC;QAED,UAAU,GAAG,IAAI,CAAC;QAClB,WAAW,GAAG,IAAI,CAAC;IACrB,CAAC;IAED,OAAO;QACL,IAAI,EAAE,YAAY,CAAC,GAAG,CAAC,MAAM,CAAC,IAAI,EAAE;QACpC,WAAW,EAAE,YAAY,CAAC,GAAG,CAAC,aAAa,CAAC,IAAI,EAAE;QAClD,OAAO,EAAE;YACP,QAAQ,EAAE,mBAAmB,CAAC,UAAU,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC;YACzD,SAAS,EAAE,mBAAmB,CAAC,UAAU,CAAC,GAAG,CAAC,YAAY,CAAC,CAAC;YAC5D,SAAS,EAAE,mBAAmB,CAAC,UAAU,CAAC,GAAG,CAAC,YAAY,CAAC,CAAC;YAC5D,QAAQ,EAAE,aAAa,CAAC,YAAY,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC;YACrD,SAAS,EAAE,YAAY,CAAC,YAAY,CAAC,GAAG,CAAC,YAAY,CAAC,CAAC;SACxD;KACF,CAAC;AACJ,CAAC;AAED,SAAS,gBAAgB,CAAC,GAAW;IACnC,OAAO,GAAG,CAAC,OAAO,CAAC,cAAc,EAAE,EAAE,CAAC,CAAC;AACzC,CAAC;AAED,SAAS,eAAe,CAAC,IAAY;IACnC,OAAO,IAAI;SACR,KAAK,CAAC,OAAO,CAAC;SACd,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC,cAAc,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,IAAI,IAAI,CAAC;SAC9D,MAAM,CAAC,CAAC,KAAK,EAAmB,EAAE,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;SAClD,KAAK,CAAC,CAAC,EAAE,YAAY,CAAC,CAAC;AAC5B,CAAC;AAED,SAAS,kBAAkB,CAAC,IAAY;IACtC,MAAM,KAAK,GAAG,IAAI,GAAG,EAAU,CAAC;IAChC,MAAM,EAAE,GAAG,wBAAwB,CAAC;IACpC,IAAI,KAA6B,CAAC;IAElC,OAAO,CAAC,KAAK,GAAG,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,KAAK,IAAI,EAAE,CAAC;QACxC,MAAM,MAAM,GAAG,KAAK,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,CAAC;QAEhC,IAAI,CAAC,MAAM,IAAI,MAAM,CAAC,UAAU,CAAC,SAAS,CAAC,IAAI,MAAM,CAAC,UAAU,CAAC,UAAU,CAAC,IAAI,MAAM,CAAC,UAAU,CAAC,GAAG,CAAC,EAAE,CAAC;YACvG,SAAS;QACX,CAAC;QAED,KAAK,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;QAElB,IAAI,KAAK,CAAC,IAAI,IAAI,SAAS,EAAE,CAAC;YAC5B,MAAM;QACR,CAAC;IACH,CAAC;IAED,OAAO,CAAC,GAAG,KAAK,CAAC,CAAC;AACpB,CAAC;AAED,SAAS,gBAAgB,CAAC,SAAiB,EAAE,YAAoB;IAC/D,MAAM,UAAU,GAAG,YAAY,CAAC,IAAI,EAAE,IAAI,UAAU,CAAC;IAErD,IAAI,IAAI,CAAC,UAAU,CAAC,UAAU,CAAC,EAAE,CAAC;QAChC,MAAM,IAAI,KAAK,CAAC,iDAAiD,CAAC,CAAC;IACrE,CAAC;IAED,MAAM,QAAQ,GAAG,IAAI,CAAC,OAAO,CAAC,SAAS,EAAE,UAAU,CAAC,CAAC;IACrD,MAAM,WAAW,GAAG,SAAS,CAAC,QAAQ,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,GAAG,SAAS,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;IAEzF,IAAI,QAAQ,KAAK,SAAS,IAAI,CAAC,QAAQ,CAAC,UAAU,CAAC,WAAW,CAAC,EAAE,CAAC;QAChE,MAAM,IAAI,KAAK,CAAC,sCAAsC,YAAY,EAAE,CAAC,CAAC;IACxE,CAAC;IAED,OAAO,QAAQ,CAAC;AAClB,CAAC;AAED,KAAK,UAAU,oBAAoB;IACjC,IAAI,OAAO,GAAG,IAAI,CAAC,OAAO,CAAC,aAAa,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC;IAE3D,OAAO,IAAI,EAAE,CAAC;QACZ,MAAM,SAAS,GAAG,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;QAE9C,IAAI,MAAM,eAAe,CAAC,SAAS,CAAC,EAAE,CAAC;YACrC,OAAO,SAAS,CAAC;QACnB,CAAC;QAED,MAAM,MAAM,GAAG,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;QAErC,IAAI,MAAM,KAAK,OAAO,EAAE,CAAC;YACvB,OAAO,IAAI,CAAC;QACd,CAAC;QAED,OAAO,GAAG,MAAM,CAAC;IACnB,CAAC;AACH,CAAC;AAED,KAAK,UAAU,MAAM,CAAC,UAAkB;IACtC,IAAI,CAAC;QACH,MAAM,MAAM,CAAC,UAAU,CAAC,CAAC;QACzB,OAAO,IAAI,CAAC;IACd,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,KAAK,CAAC;IACf,CAAC;AACH,CAAC;AAED,KAAK,UAAU,eAAe,CAAC,UAAkB;IAC/C,IAAI,CAAC;QACH,MAAM,OAAO,GAAG,MAAM,OAAO,CAAC,UAAU,CAAC,CAAC;QAC1C,OAAO,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;IAChC,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,KAAK,CAAC;IACf,CAAC;AACH,CAAC;AAED,SAAS,OAAO,CAAC,KAAa,EAAE,SAAiB;IAC/C,MAAM,OAAO,GAAG,KAAK,CAAC,OAAO,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC,IAAI,EAAE,CAAC;IAElD,IAAI,CAAC,OAAO,EAAE,CAAC;QACb,OAAO,kBAAkB,CAAC;IAC5B,CAAC;IAED,OAAO,OAAO,CAAC,MAAM,GAAG,SAAS,CAAC,CAAC,CAAC,GAAG,OAAO,CAAC,KAAK,CAAC,CAAC,EAAE,SAAS,GAAG,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,OAAO,CAAC;AACxF,CAAC;AAED,SAAS,UAAU,CAAC,MAAgB,EAAE,KAAa;IACjD,MAAM,OAAO,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC;IACvC,MAAM,KAAK,GAAG,MAAM,CAAC,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;IAC7C,OAAO,GAAG,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,KAAK,GAAG,CAAC,CAAC,CAAC,CAAC,SAAS,KAAK,OAAO,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC;AAC1E,CAAC;AAED,SAAS,WAAW,CAAC,KAAa;IAChC,OAAO,KAAK,CAAC,OAAO,CAAC,cAAc,EAAE,EAAE,CAAC,CAAC;AAC3C,CAAC;AAED,SAAS,uBAAuB,CAAC,GAAW;IAC1C,OAAO,GAAG,CAAC,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC,OAAO,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC;AACrD,CAAC;AAED,SAAS,eAAe,CAAC,KAAa;IACpC,OAAO,KAAK;SACT,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;SACZ,KAAK,CAAC,GAAG,CAAC;SACV,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,WAAW,CAAC,KAAK,CAAC,IAAI,EAAE,CAAC,CAAC;SACzC,MAAM,CAAC,OAAO,CAAC,CAAC;AACrB,CAAC;AAED,SAAS,aAAa,CAAC,KAAyB;IAC9C,IAAI,CAAC,KAAK,EAAE,CAAC;QACX,OAAO,CAAC,CAAC;IACX,CAAC;IACD,MAAM,MAAM,GAAG,MAAM,CAAC,QAAQ,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC;IAC1C,OAAO,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC;AAC9C,CAAC;AAED,SAAS,YAAY,CAAC,KAAyB;IAC7C,IAAI,CAAC,KAAK,EAAE,CAAC;QACX,OAAO,KAAK,CAAC;IACf,CAAC;IACD,OAAO,KAAK,KAAK,MAAM,IAAI,KAAK,KAAK,KAAK,IAAI,KAAK,KAAK,GAAG,CAAC;AAC9D,CAAC;AAED,SAAS,mBAAmB,CAAC,MAA4B;IACvD,OAAO,CAAC,MAAM,IAAI,EAAE,CAAC;SAClB,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,IAAI,EAAE,CAAC;SAC5B,MAAM,CAAC,OAAO,CAAC,CAAC;AACrB,CAAC;AAED,SAAS,2BAA2B;IAClC,OAAO;QACL,QAAQ,EAAE,EAAE;QACZ,SAAS,EAAE,EAAE;QACb,SAAS,EAAE,EAAE;QACb,QAAQ,EAAE,CAAC;QACX,SAAS,EAAE,KAAK;KACjB,CAAC;AACJ,CAAC;AAED,SAAS,oBAAoB,CAAC,OAA6B;IACzD,MAAM,KAAK,GAAa,EAAE,CAAC;IAC3B,KAAK,CAAC,IAAI,CAAC,eAAe,OAAO,CAAC,SAAS,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC;IAC9D,IAAI,OAAO,CAAC,QAAQ,KAAK,CAAC,EAAE,CAAC;QAC3B,KAAK,CAAC,IAAI,CAAC,aAAa,OAAO,CAAC,QAAQ,EAAE,CAAC,CAAC;IAC9C,CAAC;IACD,IAAI,OAAO,CAAC,QAAQ,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QAChC,KAAK,CAAC,IAAI,CAAC,aAAa,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IACzD,CAAC;IACD,IAAI,OAAO,CAAC,SAAS,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACjC,KAAK,CAAC,IAAI,CAAC,eAAe,OAAO,CAAC,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IAC5D,CAAC;IACD,IAAI,OAAO,CAAC,SAAS,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACjC,KAAK,CAAC,IAAI,CAAC,eAAe,OAAO,CAAC,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IAC5D,CAAC;IACD,OAAO,KAAK,CAAC;AACf,CAAC;AAED,SAAS,iBAAiB,CAAC,OAAqB,EAAE,SAAiB;IACjE,MAAM,eAAe,GAAG,iBAAiB,CAAC,SAAS,CAAC,CAAC;IACrD,MAAM,WAAW,GAAG,IAAI,GAAG,CAAC,gBAAgB,CAAC,SAAS,CAAC,CAAC,CAAC;IACzD,MAAM,YAAY,GAAG,CAAC,GAAG,OAAO,CAAC,SAAS,EAAE,GAAG,OAAO,CAAC,eAAe,CAAC;SACpE,KAAK,CAAC,CAAC,EAAE,CAAC;SACV,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,gBAAgB,CAAC,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,aAAa,EAAE,KAAK,CAAC,CAAC,CAAC;SAC7E,MAAM,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,KAAK,EAAE,IAAI,KAAK,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC,CAAC;IAC/E,MAAM,UAAU,GAAG,0BAA0B,CAAC,SAAS,CAAC,CAAC;IACzD,OAAO;QACL,eAAe;QACf,WAAW;QACX,cAAc,EAAE,aAAa,CAAC,CAAC,GAAG,UAAU,EAAE,GAAG,YAAY,CAAC,CAAC;KAChE,CAAC;AACJ,CAAC;AAED,SAAS,eAAe,CAAC,KAAwB,EAAE,KAAwB;IACzE,MAAM,OAAO,GAAa,EAAE,CAAC;IAC7B,IAAI,KAAK,GAAG,CAAC,CAAC;IAEd,MAAM,eAAe,GAAG,mBAAmB,CAAC,KAAK,CAAC,eAAe,EAAE,KAAK,CAAC,IAAI,CAAC,CAAC;IAC/E,IAAI,eAAe,EAAE,CAAC;QACpB,OAAO,CAAC,IAAI,CAAC,sBAAsB,KAAK,CAAC,IAAI,GAAG,CAAC,CAAC;QAClD,KAAK,IAAI,GAAG,CAAC;IACf,CAAC;IAED,MAAM,WAAW,GAAG,kBAAkB,CAAC,KAAK,CAAC,OAAO,CAAC,QAAQ,EAAE,KAAK,CAAC,eAAe,CAAC,CAAC;IACtF,IAAI,WAAW,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QAC3B,OAAO,CAAC,IAAI,CAAC,YAAY,WAAW,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;QAC3C,KAAK,IAAI,EAAE,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,WAAW,CAAC,MAAM,GAAC,CAAC,CAAC,GAAC,CAAC,CAAC;IACpD,CAAC;IAED,MAAM,YAAY,GAAG,kBAAkB,CAAC,KAAK,CAAC,OAAO,CAAC,SAAS,EAAE,KAAK,CAAC,eAAe,EAAE,KAAK,CAAC,WAAW,CAAC,CAAC;IAC3G,IAAI,YAAY,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QAC5B,OAAO,CAAC,IAAI,CAAC,SAAS,YAAY,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;QACzC,KAAK,IAAI,EAAE,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,YAAY,CAAC,MAAM,GAAC,CAAC,CAAC,GAAC,CAAC,CAAC;IACrD,CAAC;IAED,MAAM,QAAQ,GAAG,qBAAqB,CAAC,KAAK,CAAC,IAAI,EAAE,KAAK,CAAC,WAAW,CAAC,CAAC;IACtE,IAAI,QAAQ,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACxB,OAAO,CAAC,IAAI,CAAC,SAAS,QAAQ,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;QACrC,KAAK,IAAI,EAAE,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,QAAQ,CAAC,MAAM,GAAC,CAAC,CAAC,GAAC,CAAC,CAAC;IACjD,CAAC;IAED,MAAM,eAAe,GAAG,4BAA4B,CAAC,KAAK,CAAC,WAAW,EAAE,KAAK,CAAC,WAAW,CAAC,CAAC;IAC3F,IAAI,eAAe,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QAC/B,OAAO,CAAC,IAAI,CAAC,YAAY,eAAe,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;QAC/C,KAAK,IAAI,EAAE,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,eAAe,CAAC,MAAM,GAAC,CAAC,CAAC,GAAC,CAAC,CAAC;IACxD,CAAC;IAED,MAAM,QAAQ,GAAG,gBAAgB,CAAC,KAAK,CAAC,OAAO,CAAC,SAAS,EAAE,KAAK,CAAC,cAAc,CAAC,CAAC;IACjF,IAAI,QAAQ,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACxB,OAAO,CAAC,IAAI,CAAC,SAAS,QAAQ,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;QACrC,KAAK,IAAI,EAAE,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,QAAQ,CAAC,MAAM,GAAC,CAAC,CAAC,GAAC,CAAC,CAAC;IACjD,CAAC;IAED,IAAI,CAAC,eAAe,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,SAAS,EAAE,CAAC;QACjD,OAAO,IAAI,CAAC;IACd,CAAC;IAED,MAAM,gBAAgB,GACpB,eAAe;QACf,WAAW,CAAC,MAAM,GAAG,CAAC;QACtB,YAAY,CAAC,MAAM,GAAG,CAAC;QACvB,QAAQ,CAAC,MAAM,GAAG,CAAC;QACnB,eAAe,CAAC,MAAM,GAAG,CAAC,CAAC;IAE7B,IAAI,CAAC,eAAe,IAAI,CAAC,gBAAgB,EAAE,CAAC;QAC1C,OAAO,IAAI,CAAC;IACd,CAAC;IAED,KAAK,IAAI,KAAK,CAAC,OAAO,CAAC,QAAQ,GAAG,CAAC,CAAC;IACpC,IAAI,CAAC,eAAe,IAAI,KAAK,GAAG,uBAAuB,EAAE,CAAC;QACxD,OAAO,IAAI,CAAC;IACd,CAAC;IAED,OAAO;QACL,GAAG,KAAK;QACR,MAAM,EAAE,MAAM;QACd,KAAK;QACL,OAAO;KACR,CAAC;AACJ,CAAC;AAED,SAAS,yBAAyB,CAAC,IAAsB,EAAE,KAAuB;IAChF,IAAI,KAAK,CAAC,KAAK,KAAK,IAAI,CAAC,KAAK,EAAE,CAAC;QAC/B,OAAO,KAAK,CAAC,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC;IAClC,CAAC;IACD,IAAI,KAAK,CAAC,OAAO,CAAC,QAAQ,KAAK,IAAI,CAAC,OAAO,CAAC,QAAQ,EAAE,CAAC;QACrD,OAAO,KAAK,CAAC,OAAO,CAAC,QAAQ,GAAG,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC;IACxD,CAAC;IACD,OAAO,IAAI,CAAC,IAAI,CAAC,aAAa,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;AAC7C,CAAC;AAED,KAAK,UAAU,oBAAoB,CAAC,OAA2B,EAAE,KAAwB;IACvF,IAAI,OAAO,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACzB,OAAO,IAAI,CAAC;IACd,CAAC;IAED,MAAM,KAAK,GAAG;QACZ,wDAAwD;QACxD,sDAAsD;QACtD,kGAAkG;QAClG,EAAE;QACF,wEAAwE;KACzE,CAAC;IAEF,KAAK,MAAM,KAAK,IAAI,OAAO,EAAE,CAAC;QAC5B,KAAK,CAAC,IAAI,CAAC,KAAK,KAAK,CAAC,IAAI,KAAK,KAAK,CAAC,MAAM,OAAO,OAAO,CAAC,KAAK,CAAC,WAAW,EAAE,GAAG,CAAC,EAAE,CAAC,CAAC;QACrF,IAAI,KAAK,CAAC,OAAO,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YAC7B,KAAK,CAAC,IAAI,CAAC,iBAAiB,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QACtE,CAAC;QACD,IAAI,KAAK,CAAC,OAAO,CAAC,QAAQ,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YACtC,KAAK,CAAC,IAAI,CAAC,eAAe,UAAU,CAAC,KAAK,CAAC,OAAO,CAAC,QAAQ,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC;QACrE,CAAC;QACD,IAAI,KAAK,CAAC,OAAO,CAAC,SAAS,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YACvC,KAAK,CAAC,IAAI,CAAC,iBAAiB,UAAU,CAAC,KAAK,CAAC,OAAO,CAAC,SAAS,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC;QACxE,CAAC;QACD,IAAI,KAAK,CAAC,OAAO,CAAC,SAAS,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YACvC,KAAK,CAAC,IAAI,CAAC,iBAAiB,UAAU,CAAC,KAAK,CAAC,OAAO,CAAC,SAAS,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC;QACxE,CAAC;QAED,MAAM,GAAG,GAAG,MAAM,QAAQ,CAAC,KAAK,CAAC,SAAS,EAAE,MAAM,CAAC,CAAC;QACpD,MAAM,IAAI,GAAG,gBAAgB,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,CAAC;QAC1C,MAAM,QAAQ,GAAG,eAAe,CAAC,IAAI,CAAC,CAAC;QACvC,MAAM,WAAW,GAAG,kBAAkB,CAAC,IAAI,CAAC,CAAC;QAC7C,MAAM,WAAW,GAAG,IAAI,CAAC,MAAM,GAAG,yBAAyB;YACzD,CAAC,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,yBAAyB,GAAG,CAAC,CAAC,CAAC,OAAO,EAAE,KAAK;YAChE,CAAC,CAAC,IAAI,CAAC;QACT,IAAI,QAAQ,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YACxB,KAAK,CAAC,IAAI,CAAC,eAAe,UAAU,CAAC,QAAQ,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC;QACvD,CAAC;QACD,IAAI,WAAW,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YAC3B,KAAK,CAAC,IAAI,CAAC,YAAY,UAAU,CAAC,WAAW,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC;QACvD,CAAC;QACD,IAAI,WAAW,EAAE,CAAC;YAChB,KAAK,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC;YAC1B,KAAK,CAAC,IAAI,CAAC,WAAW,CAAC,WAAW,EAAE,MAAM,CAAC,CAAC,CAAC;QAC/C,CAAC;QAED,MAAM,aAAa,GAAG,MAAM,wBAAwB,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC;QACnE,KAAK,MAAM,IAAI,IAAI,aAAa,EAAE,CAAC;YACjC,KAAK,CAAC,IAAI,CAAC,WAAW,IAAI,CAAC,IAAI,EAAE,CAAC,CAAC;YACnC,KAAK,CAAC,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC,CAAC;YAC9C,IAAI,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,MAAM,GAAG,qBAAqB,EAAE,CAAC;gBACpD,MAAM;YACR,CAAC;QACH,CAAC;QAED,IAAI,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,MAAM,GAAG,qBAAqB,EAAE,CAAC;YACpD,MAAM;QACR,CAAC;IACH,CAAC;IAED,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AAC1B,CAAC;AAED,KAAK,UAAU,wBAAwB,CACrC,KAAuB,EACvB,KAAwB;IAExB,MAAM,UAAU,GAAG,KAAK,CAAC,cAAc;SACpC,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,KAAK,UAAU,CAAC;SACrC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,EAAE,IAAI,EAAE,KAAK,EAAE,uBAAuB,CAAC,IAAI,EAAE,KAAK,CAAC,EAAE,CAAC,CAAC;SACtE,MAAM,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,KAAK,GAAG,CAAC,CAAC;SAClC,IAAI,CAAC,CAAC,IAAI,EAAE,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,KAAK,GAAG,IAAI,CAAC,KAAK,IAAI,IAAI,CAAC,IAAI,CAAC,aAAa,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;SACtF,KAAK,CAAC,CAAC,EAAE,mBAAmB,CAAC,CAAC;IAEjC,MAAM,MAAM,GAA6C,EAAE,CAAC;IAC5D,KAAK,MAAM,SAAS,IAAI,UAAU,EAAE,CAAC;QACnC,IAAI,CAAC;YACH,MAAM,GAAG,GAAG,MAAM,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,QAAQ,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,MAAM,CAAC,CAAC;YAC9E,MAAM,OAAO,GAAG,qBAAqB,CAAC,GAAG,CAAC,CAAC;YAC3C,IAAI,CAAC,OAAO,EAAE,CAAC;gBACb,SAAS;YACX,CAAC;YACD,MAAM,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,SAAS,CAAC,IAAI,EAAE,OAAO,EAAE,OAAO,EAAE,CAAC,CAAC;QAC1D,CAAC;QAAC,MAAM,CAAC;YACP,6DAA6D;QAC/D,CAAC;IACH,CAAC;IAED,OAAO,MAAM,CAAC;AAChB,CAAC;AAED,SAAS,uBAAuB,CAAC,IAAY,EAAE,KAAwB;IACrE,MAAM,cAAc,GAAG,iBAAiB,CAAC,IAAI,CAAC,CAAC;IAC/C,MAAM,UAAU,GAAG,gBAAgB,CAAC,IAAI,CAAC,CAAC;IAC1C,IAAI,KAAK,GAAG,CAAC,CAAC;IAEd,KAAK,MAAM,KAAK,IAAI,UAAU,EAAE,CAAC;QAC/B,IAAI,KAAK,CAAC,WAAW,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,CAAC;YACjC,KAAK,IAAI,CAAC,CAAC;QACb,CAAC;IACH,CAAC;IAED,IAAI,KAAK,CAAC,cAAc,CAAC,IAAI,CAAC,CAAC,SAAS,EAAE,EAAE,CAAC,cAAc,CAAC,QAAQ,CAAC,iBAAiB,CAAC,SAAS,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,EAAE,CAAC;QAC3G,KAAK,IAAI,CAAC,CAAC;IACb,CAAC;IAED,OAAO,KAAK,CAAC;AACf,CAAC;AAED,SAAS,qBAAqB,CAAC,GAAW;IACxC,MAAM,OAAO,GAAG,GAAG,CAAC,IAAI,EAAE,CAAC;IAC3B,IAAI,CAAC,OAAO,EAAE,CAAC;QACb,OAAO,EAAE,CAAC;IACZ,CAAC;IAED,MAAM,WAAW,GAAG,OAAO,CAAC,KAAK,CAAC,cAAc,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;IAC7D,MAAM,IAAI,GAAG,gBAAgB,CAAC,OAAO,CAAC,CAAC,IAAI,EAAE,CAAC;IAC9C,MAAM,QAAQ,GAAa,EAAE,CAAC;IAE9B,IAAI,WAAW,EAAE,CAAC;QAChB,MAAM,KAAK,GAAG,WAAW,CAAC,KAAK,CAAC,kBAAkB,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,CAAC;QACjE,MAAM,MAAM,GAAG,WAAW,CAAC,KAAK,CAAC,mBAAmB,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,CAAC;QACnE,MAAM,IAAI,GAAG,WAAW,CAAC,KAAK,CAAC,iBAAiB,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,CAAC;QAC/D,IAAI,KAAK,EAAE,CAAC;YACV,QAAQ,CAAC,IAAI,CAAC,UAAU,KAAK,EAAE,CAAC,CAAC;QACnC,CAAC;QACD,IAAI,MAAM,EAAE,CAAC;YACX,QAAQ,CAAC,IAAI,CAAC,WAAW,MAAM,EAAE,CAAC,CAAC;QACrC,CAAC;QACD,IAAI,IAAI,EAAE,CAAC;YACT,QAAQ,CAAC,IAAI,CAAC,SAAS,IAAI,EAAE,CAAC,CAAC;QACjC,CAAC;IACH,CAAC;IAED,IAAI,IAAI,EAAE,CAAC;QACT,MAAM,OAAO,GAAG,IAAI,CAAC,MAAM,GAAG,2BAA2B;YACvD,CAAC,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,2BAA2B,GAAG,CAAC,CAAC,CAAC,OAAO,EAAE,KAAK;YAClE,CAAC,CAAC,IAAI,CAAC;QACT,QAAQ,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;IACzB,CAAC;IAED,OAAO,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AAC7B,CAAC;AAED,SAAS,WAAW,CAAC,IAAY,EAAE,MAAc;IAC/C,OAAO,IAAI;SACR,KAAK,CAAC,IAAI,CAAC;SACX,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,GAAG,MAAM,GAAG,IAAI,EAAE,CAAC;SACjC,IAAI,CAAC,IAAI,CAAC,CAAC;AAChB,CAAC;AAED,SAAS,sBAAsB,CAAC,KAAuB;IACrD,OAAO,GAAG,KAAK,CAAC,IAAI,KAAK,KAAK,CAAC,MAAM,GAAG,CAAC;AAC3C,CAAC;AAED,SAAS,iBAAiB,CAAC,KAAa;IACtC,OAAO,IAAI,KAAK,CAAC,WAAW,EAAE,CAAC,OAAO,CAAC,aAAa,EAAE,GAAG,CAAC,CAAC,IAAI,EAAE,GAAG,CAAC;AACvE,CAAC;AAED,SAAS,gBAAgB,CAAC,KAAa;IACrC,OAAO,aAAa,CAClB,KAAK;SACF,WAAW,EAAE;SACb,KAAK,CAAC,aAAa,CAAC;SACpB,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,IAAI,EAAE,CAAC;SAC5B,MAAM,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,MAAM,IAAI,CAAC,CAAC,CACxC,CAAC;AACJ,CAAC;AAED,SAAS,mBAAmB,CAAC,eAAuB,EAAE,SAAiB;IACrE,MAAM,cAAc,GAAG,iBAAiB,CAAC,SAAS,CAAC,CAAC,IAAI,EAAE,CAAC;IAC3D,IAAI,CAAC,cAAc,EAAE,CAAC;QACpB,OAAO,KAAK,CAAC;IACf,CAAC;IACD,OAAO,eAAe,CAAC,QAAQ,CAAC,IAAI,cAAc,GAAG,CAAC,IAAI,eAAe,CAAC,QAAQ,CAAC,KAAK,cAAc,GAAG,CAAC,CAAC;AAC7G,CAAC;AAED,SAAS,kBAAkB,CAAC,OAAiB,EAAE,eAAuB;IACpE,OAAO,OAAO,CAAC,MAAM,CAAC,CAAC,MAAM,EAAE,EAAE;QAC/B,MAAM,gBAAgB,GAAG,iBAAiB,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE,CAAC;QAC1D,OAAO,gBAAgB,CAAC,MAAM,GAAG,CAAC,IAAI,eAAe,CAAC,QAAQ,CAAC,IAAI,gBAAgB,GAAG,CAAC,CAAC;IAC1F,CAAC,CAAC,CAAC;AACL,CAAC;AAED,SAAS,kBAAkB,CAAC,IAAc,EAAE,eAAuB,EAAE,WAAwB;IAC3F,OAAO,IAAI,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,EAAE;QACzB,MAAM,aAAa,GAAG,iBAAiB,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,CAAC;QACpD,IAAI,CAAC,aAAa,EAAE,CAAC;YACnB,OAAO,KAAK,CAAC;QACf,CAAC;QACD,IAAI,eAAe,CAAC,QAAQ,CAAC,IAAI,aAAa,GAAG,CAAC,EAAE,CAAC;YACnD,OAAO,IAAI,CAAC;QACd,CAAC;QACD,MAAM,SAAS,GAAG,gBAAgB,CAAC,GAAG,CAAC,CAAC;QACxC,OAAO,SAAS,CAAC,MAAM,GAAG,CAAC,IAAI,SAAS,CAAC,KAAK,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,WAAW,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC;IACpF,CAAC,CAAC,CAAC;AACL,CAAC;AAED,SAAS,qBAAqB,CAAC,SAAiB,EAAE,WAAwB;IACxE,OAAO,gBAAgB,CAAC,SAAS,CAAC;SAC/B,MAAM,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,MAAM,IAAI,CAAC,CAAC;SACpC,MAAM,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC,oBAAoB,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;SACnD,MAAM,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,WAAW,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC;AAC/C,CAAC;AAED,SAAS,4BAA4B,CAAC,WAAmB,EAAE,WAAwB;IACjF,OAAO,gBAAgB,CAAC,WAAW,CAAC;SACjC,MAAM,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,MAAM,IAAI,CAAC,CAAC;SACpC,MAAM,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC,oBAAoB,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;SACnD,MAAM,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,WAAW,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;SACzC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;AACjB,CAAC;AAED,SAAS,gBAAgB,CAAC,KAAe,EAAE,UAAoB;IAC7D,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC,IAAI,UAAU,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QAClD,OAAO,EAAE,CAAC;IACZ,CAAC;IACD,OAAO,KAAK,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC,SAAS,EAAE,EAAE,CAAC,WAAW,CAAC,SAAS,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC;AAC9F,CAAC;AAED,MAAM,oBAAoB,GAAG,IAAI,GAAG,CAAC;IACnC,OAAO;IACP,QAAQ;IACR,OAAO;IACP,MAAM;IACN,MAAM;IACN,OAAO;IACP,YAAY;IACZ,UAAU;IACV,aAAa;IACb,WAAW;IACX,QAAQ;IACR,UAAU;IACV,OAAO;IACP,QAAQ;CACT,CAAC,CAAC;AAEH,SAAS,WAAW,CAAC,QAAgB,EAAE,IAAY;IACjD,MAAM,UAAU,GAAG,gBAAgB,CAAC,QAAQ,CAAC,CAAC;IAC9C,MAAM,OAAO,GAAG,IAAI;SACjB,OAAO,CAAC,mBAAmB,EAAE,MAAM,CAAC;SACpC,OAAO,CAAC,SAAS,EAAE,mBAAmB,CAAC;SACvC,OAAO,CAAC,SAAS,EAAE,mBAAmB,CAAC;SACvC,OAAO,CAAC,OAAO,EAAE,aAAa,CAAC;SAC/B,OAAO,CAAC,KAAK,EAAE,OAAO,CAAC;SACvB,OAAO,CAAC,oBAAoB,EAAE,UAAU,CAAC;SACzC,OAAO,CAAC,oBAAoB,EAAE,UAAU,CAAC;SACzC,OAAO,CAAC,cAAc,EAAE,IAAI,CAAC,CAAC;IACjC,OAAO,IAAI,MAAM,CAAC,IAAI,OAAO,GAAG,CAAC,CAAC,IAAI,CAAC,UAAU,CAAC,IAAI,IAAI,MAAM,CAAC,IAAI,OAAO,GAAG,CAAC,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;AACpG,CAAC;AAED,SAAS,0BAA0B,CAAC,KAAa;IAC/C,MAAM,OAAO,GAAG,KAAK,CAAC,KAAK,CAAC,mCAAmC,CAAC,IAAI,EAAE,CAAC;IACvE,OAAO,aAAa,CAAC,OAAO,CAAC,GAAG,CAAC,gBAAgB,CAAC,CAAC,CAAC;AACtD,CAAC;AAED,SAAS,gBAAgB,CAAC,KAAa;IACrC,OAAO,KAAK,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;AACzC,CAAC;AAED,SAAS,aAAa,CAAC,MAAgB;IACrC,OAAO,CAAC,GAAG,IAAI,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC;AAC9B,CAAC"}