@gjczone/pi-swarm 0.5.0 → 0.7.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 (68) hide show
  1. package/README.md +14 -21
  2. package/dist/index.d.ts +3 -10
  3. package/dist/index.d.ts.map +1 -1
  4. package/dist/index.js +4 -16
  5. package/dist/index.js.map +1 -1
  6. package/dist/shared/controller.d.ts +10 -1
  7. package/dist/shared/controller.d.ts.map +1 -1
  8. package/dist/shared/controller.js +47 -12
  9. package/dist/shared/controller.js.map +1 -1
  10. package/dist/shared/render.d.ts +1 -1
  11. package/dist/shared/render.js +1 -1
  12. package/dist/shared/spawner.js +49 -5
  13. package/dist/shared/spawner.js.map +1 -1
  14. package/dist/shared/types.d.ts +8 -0
  15. package/dist/shared/types.d.ts.map +1 -1
  16. package/dist/shared/worktree.d.ts +2 -0
  17. package/dist/shared/worktree.d.ts.map +1 -1
  18. package/dist/shared/worktree.js +10 -3
  19. package/dist/shared/worktree.js.map +1 -1
  20. package/dist/state/recovery.d.ts.map +1 -1
  21. package/dist/state/recovery.js +25 -4
  22. package/dist/state/recovery.js.map +1 -1
  23. package/dist/swarm/command.d.ts +4 -5
  24. package/dist/swarm/command.d.ts.map +1 -1
  25. package/dist/swarm/command.js +26 -74
  26. package/dist/swarm/command.js.map +1 -1
  27. package/dist/swarm/mode.d.ts +1 -1
  28. package/dist/swarm/mode.js +2 -2
  29. package/dist/swarm/mode.js.map +1 -1
  30. package/dist/swarm/tool.d.ts +4 -4
  31. package/dist/swarm/tool.d.ts.map +1 -1
  32. package/dist/swarm/tool.js +107 -167
  33. package/dist/swarm/tool.js.map +1 -1
  34. package/dist/team/command.d.ts +2 -4
  35. package/dist/team/command.d.ts.map +1 -1
  36. package/dist/team/command.js +5 -13
  37. package/dist/team/command.js.map +1 -1
  38. package/dist/team/mailbox.d.ts +7 -0
  39. package/dist/team/mailbox.d.ts.map +1 -1
  40. package/dist/team/mailbox.js +99 -13
  41. package/dist/team/mailbox.js.map +1 -1
  42. package/dist/tui/progress.d.ts +18 -50
  43. package/dist/tui/progress.d.ts.map +1 -1
  44. package/dist/tui/progress.js +200 -483
  45. package/dist/tui/progress.js.map +1 -1
  46. package/dist/tui/swarm-markers.d.ts +1 -1
  47. package/dist/tui/swarm-markers.js +1 -1
  48. package/package.json +13 -2
  49. package/dist/team/supervisor.d.ts +0 -171
  50. package/dist/team/supervisor.d.ts.map +0 -1
  51. package/dist/team/supervisor.js +0 -685
  52. package/dist/team/supervisor.js.map +0 -1
  53. package/dist/team/task-graph.d.ts +0 -64
  54. package/dist/team/task-graph.d.ts.map +0 -1
  55. package/dist/team/task-graph.js +0 -216
  56. package/dist/team/task-graph.js.map +0 -1
  57. package/dist/team/tool.d.ts +0 -11
  58. package/dist/team/tool.d.ts.map +0 -1
  59. package/dist/team/tool.js +0 -491
  60. package/dist/team/tool.js.map +0 -1
  61. package/dist/tui/permission-prompt.d.ts +0 -26
  62. package/dist/tui/permission-prompt.d.ts.map +0 -1
  63. package/dist/tui/permission-prompt.js +0 -98
  64. package/dist/tui/permission-prompt.js.map +0 -1
  65. package/dist/tui/team-dashboard.d.ts +0 -81
  66. package/dist/tui/team-dashboard.d.ts.map +0 -1
  67. package/dist/tui/team-dashboard.js +0 -657
  68. package/dist/tui/team-dashboard.js.map +0 -1
@@ -34,12 +34,14 @@ function ensureWithinMailbox(resolvedPath, mailboxRoot) {
34
34
  }
35
35
  export function resolveMailboxPaths(swarmRoot, runId) {
36
36
  const root = path.join(swarmRoot, "state", "runs", runId, "mailbox");
37
+ const inbox = path.join(root, "inbox.jsonl");
37
38
  return {
38
39
  root,
39
- inbox: path.join(root, "inbox.jsonl"),
40
+ inbox,
40
41
  outbox: path.join(root, "outbox.jsonl"),
41
42
  delivery: path.join(root, "delivery.json"),
42
43
  taskDir: path.join(root, "tasks"),
44
+ inboxAcks: inbox + ".acks",
43
45
  };
44
46
  }
45
47
  export function resolveTaskMailboxPaths(paths, taskId) {
@@ -110,14 +112,25 @@ export function sendMessage(paths, message) {
110
112
  * Read unacknowledged messages from the team inbox.
111
113
  */
112
114
  export function readInbox(paths) {
113
- return readJsonLines(paths.inbox);
115
+ const messages = readJsonLines(paths.inbox);
116
+ const ackedIds = readAckIds(paths.inboxAcks);
117
+ if (ackedIds.size === 0)
118
+ return messages;
119
+ return messages.filter((m) => !ackedIds.has(m.messageId));
120
+ }
121
+ function taskAckPath(taskInbox) {
122
+ return taskInbox + ".acks";
114
123
  }
115
124
  /**
116
125
  * Read messages from a task-specific inbox.
117
126
  */
118
127
  export function readTaskInbox(paths, taskId) {
119
128
  const taskPaths = resolveTaskMailboxPaths(paths, taskId);
120
- return readJsonLines(taskPaths.inbox);
129
+ const messages = readJsonLines(taskPaths.inbox);
130
+ const ackedIds = readAckIds(taskAckPath(taskPaths.inbox));
131
+ if (ackedIds.size === 0)
132
+ return messages;
133
+ return messages.filter((m) => !ackedIds.has(m.messageId));
121
134
  }
122
135
  /**
123
136
  * Count total messages in the team outbox.
@@ -138,22 +151,29 @@ export function countOutboxMessages(paths) {
138
151
  }
139
152
  /**
140
153
  * Acknowledge (delete) messages from the team inbox.
154
+ *
155
+ * Uses an append-only ack file to avoid the TOCTOU race between
156
+ * reading and rewriting inbox.jsonl. Acknowledged message IDs are
157
+ * appended to inboxAcks.jsonl and filtered at read time.
141
158
  */
142
159
  export function ackMessages(paths, messageIds) {
143
- const messages = readJsonLines(paths.inbox);
144
- const idSet = new Set(messageIds);
145
- const remaining = messages.filter((m) => !idSet.has(m.messageId));
146
- writeJsonLines(paths.inbox, remaining);
160
+ for (const id of messageIds) {
161
+ appendJsonLine(paths.inboxAcks, { messageId: id });
162
+ }
163
+ compactAcks(paths.inboxAcks);
147
164
  }
148
165
  /**
149
166
  * Acknowledge (delete) messages from a task-specific inbox.
167
+ *
168
+ * Uses the same append-only ack approach as ackMessages.
150
169
  */
151
170
  export function ackTaskMessages(paths, taskId, messageIds) {
152
171
  const taskPaths = resolveTaskMailboxPaths(paths, taskId);
153
- const messages = readJsonLines(taskPaths.inbox);
154
- const idSet = new Set(messageIds);
155
- const remaining = messages.filter((m) => !idSet.has(m.messageId));
156
- writeJsonLines(taskPaths.inbox, remaining);
172
+ const ackPath = taskAckPath(taskPaths.inbox);
173
+ for (const id of messageIds) {
174
+ appendJsonLine(ackPath, { messageId: id });
175
+ }
176
+ compactAcks(ackPath);
157
177
  }
158
178
  /**
159
179
  * Get delivery state (which messages have been delivered/read).
@@ -184,24 +204,90 @@ function appendJsonLine(filePath, data) {
184
204
  const line = JSON.stringify(data) + "\n";
185
205
  fs.appendFileSync(filePath, line, "utf-8");
186
206
  }
207
+ /**
208
+ * Read acknowledged message IDs from an ack file (JSONL with {messageId: string} entries).
209
+ */
210
+ function readAckIds(ackPath) {
211
+ try {
212
+ const raw = fs.readFileSync(ackPath, "utf-8");
213
+ if (!raw.trim())
214
+ return new Set();
215
+ const ids = new Set();
216
+ for (const line of raw.trim().split("\n")) {
217
+ const trimmed = line.trim();
218
+ if (!trimmed)
219
+ continue;
220
+ try {
221
+ const parsed = JSON.parse(trimmed);
222
+ if (parsed.messageId)
223
+ ids.add(parsed.messageId);
224
+ }
225
+ catch {
226
+ // Skip corrupted ack lines
227
+ }
228
+ }
229
+ return ids;
230
+ }
231
+ catch {
232
+ return new Set();
233
+ }
234
+ }
235
+ /**
236
+ * Compact an ack file if the number of lines exceeds 10x the unique ID count
237
+ * (indicating significant duplication from repeated acknowledgment cycles).
238
+ */
239
+ function compactAcks(ackPath) {
240
+ try {
241
+ const raw = fs.readFileSync(ackPath, "utf-8");
242
+ if (!raw.trim())
243
+ return;
244
+ const lines = raw
245
+ .trim()
246
+ .split("\n")
247
+ .filter((l) => l.trim());
248
+ if (lines.length < 100)
249
+ return; // Don't compact small files
250
+ const uniqueIds = readAckIds(ackPath);
251
+ if (uniqueIds.size === 0)
252
+ return;
253
+ // Compact if ratio exceeds 10x
254
+ if (lines.length > uniqueIds.size * 10) {
255
+ const content = Array.from(uniqueIds)
256
+ .map((id) => JSON.stringify({ messageId: id }))
257
+ .join("\n");
258
+ writeAtomic(ackPath, content + "\n");
259
+ }
260
+ }
261
+ catch {
262
+ // Best effort compaction
263
+ }
264
+ }
187
265
  function readJsonLines(filePath) {
188
266
  try {
189
267
  const raw = fs.readFileSync(filePath, "utf-8");
190
268
  if (!raw.trim())
191
269
  return [];
192
- return raw
270
+ const lines = raw
193
271
  .trim()
194
272
  .split("\n")
195
- .filter((line) => line.trim())
273
+ .filter((line) => line.trim());
274
+ let corruptedCount = 0;
275
+ const messages = lines
196
276
  .map((line) => {
197
277
  try {
198
278
  return JSON.parse(line);
199
279
  }
200
280
  catch {
281
+ corruptedCount++;
282
+ console.error(`[pi-swarm] Corrupted JSONL line in ${filePath}:`, line.slice(0, 200));
201
283
  return null;
202
284
  }
203
285
  })
204
286
  .filter((m) => m !== null);
287
+ if (corruptedCount > 0) {
288
+ console.error(`[pi-swarm] Skipped ${corruptedCount} corrupted line(s) in ${filePath}`);
289
+ }
290
+ return messages;
205
291
  }
206
292
  catch {
207
293
  return [];
@@ -1 +1 @@
1
- {"version":3,"file":"mailbox.js","sourceRoot":"","sources":["../../src/team/mailbox.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"mailbox.js","sourceRoot":"","sources":["../../src/team/mailbox.ts"],"names":[],"mappings":"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"}
@@ -1,22 +1,15 @@
1
1
  /**
2
- * tui/progress — AgentSwarm live progress panel.
2
+ * tui/progress — AgentSwarm live progress panel (minimal).
3
3
  *
4
- * Renders a real-time progress display above the input area when
5
- * an AgentSwarm batch is running. Each subagent gets a compact braille
6
- * spinner with status and item description.
4
+ * Grid layout with braille progress bars and scrolling model output.
5
+ * - Multiple agents: grid cells with ID + braille bar + model text
6
+ * - Single agent: compact status line with spinner + text
7
+ * - No token/in/out display — replaced by scrolling model output
7
8
  *
8
- * Features:
9
- * - Debounced, event-driven rendering (replaces pure setInterval polling)
10
- * - Keyboard interaction: j/k scroll, Enter detail, ? help, tab panel switch
11
- * - Panel switching: members list / event log
12
- * - Detail overlay for individual members
13
- * - Activity/tool tracking per member
14
- * - ETA estimation
15
- *
16
- * Ported from MoonshotAI/kimi-code's AgentSwarmProgressComponent.
9
+ * Architecture reference: AgentSwarm pattern.
17
10
  */
18
11
  import type { Component } from "@earendil-works/pi-tui";
19
- import type { BatchProgressSnapshot, SubagentUsage, ProgressEvent } from "../shared/types.js";
12
+ import type { BatchProgressSnapshot, SubagentUsage } from "../shared/types.js";
20
13
  export type MemberPhase = "pending" | "queued" | "prompting" | "working" | "completed" | "failed" | "cancelled" | "suspended";
21
14
  export interface MemberStatus {
22
15
  readonly index: number;
@@ -24,10 +17,10 @@ export interface MemberStatus {
24
17
  item?: string;
25
18
  result?: string;
26
19
  error?: string;
27
- phaseStartedAt?: number;
28
20
  currentTool?: string;
29
21
  activity?: string;
30
22
  usage?: SubagentUsage;
23
+ progressTick?: number;
31
24
  }
32
25
  export interface SwarmProgressState {
33
26
  title?: string;
@@ -39,58 +32,33 @@ export interface SwarmProgressState {
39
32
  members: MemberStatus[];
40
33
  totalUsage: SubagentUsage;
41
34
  startedAt: number;
42
- estimatedRemainingMs?: number;
43
- eventLog?: ProgressEvent[];
35
+ mailbox?: boolean;
36
+ mailboxCount?: number;
44
37
  }
45
38
  export declare function snapshotToProgressState(snapshot: BatchProgressSnapshot, title?: string): SwarmProgressState;
46
39
  export declare class AgentSwarmProgressComponent implements Component {
47
40
  private state_;
48
- private renderedWidth;
49
- private cachedLines;
50
41
  private onRequestRender;
51
42
  private animationFrame;
52
43
  private frameIndex;
53
44
  private pollTimer;
54
45
  private debounceTimer;
55
- private pendingInvalidate;
56
- private hasActiveMembers;
57
- private scrollOffset;
58
- private selectedIndex;
59
- private activePanel;
60
- private overlay;
61
46
  constructor(onRequestRender?: () => void);
62
47
  update(state: SwarmProgressState): void;
63
48
  complete(): void;
64
49
  dispose(): void;
65
50
  invalidate(): void;
66
- handleInput(data: string): void;
51
+ handleInput(_data: string): void;
67
52
  render(width: number): string[];
68
- private renderMembersPanel;
69
- private renderEventsPanel;
70
- private renderOverlay;
71
- private renderHelpOverlay;
72
- private renderDetailOverlay;
73
- private scrollDown;
74
- private scrollUp;
75
- /**
76
- * Request a debounced render. Multiple calls within the debounce window
77
- * coalesce into a single render pass. State changes also trigger immediate
78
- * invalidation.
79
- */
53
+ private renderHeader;
54
+ private renderStatusLine;
55
+ private renderSingleAgent;
56
+ private renderGrid;
57
+ private renderCell;
58
+ private renderBrailleBar;
59
+ private renderCellLabel;
80
60
  private requestRender;
81
- /**
82
- * Start the fallback polling timer. Falls back to polling when no
83
- * state changes trigger requests, ensuring the spinner animates.
84
- */
85
61
  private startPolling;
86
- private schedulePoll;
87
- /**
88
- * Adjust polling interval based on active member count.
89
- */
90
- private updatePollingInterval;
91
- /**
92
- * Start the animation tick for the braille spinner.
93
- */
94
62
  private startAnimation;
95
63
  private stopTimers;
96
64
  }
@@ -1 +1 @@
1
- {"version":3,"file":"progress.d.ts","sourceRoot":"","sources":["../../src/tui/progress.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;GAgBG;AAEH,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,wBAAwB,CAAC;AAExD,OAAO,KAAK,EACV,qBAAqB,EAErB,aAAa,EACb,aAAa,EACd,MAAM,oBAAoB,CAAC;AAoE5B,MAAM,MAAM,WAAW,GACnB,SAAS,GACT,QAAQ,GACR,WAAW,GACX,SAAS,GACT,WAAW,GACX,QAAQ,GACR,WAAW,GACX,WAAW,CAAC;AAEhB,MAAM,WAAW,YAAY;IAC3B,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB,KAAK,EAAE,WAAW,CAAC;IACnB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,KAAK,CAAC,EAAE,aAAa,CAAC;CACvB;AAED,MAAM,WAAW,kBAAkB;IACjC,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,KAAK,EAAE,MAAM,CAAC;IACd,SAAS,EAAE,MAAM,CAAC;IAClB,MAAM,EAAE,MAAM,CAAC;IACf,MAAM,EAAE,MAAM,CAAC;IACf,MAAM,EAAE,MAAM,CAAC;IACf,OAAO,EAAE,YAAY,EAAE,CAAC;IACxB,UAAU,EAAE,aAAa,CAAC;IAC1B,SAAS,EAAE,MAAM,CAAC;IAClB,oBAAoB,CAAC,EAAE,MAAM,CAAC;IAC9B,QAAQ,CAAC,EAAE,aAAa,EAAE,CAAC;CAC5B;AAMD,wBAAgB,uBAAuB,CACrC,QAAQ,EAAE,qBAAqB,EAC/B,KAAK,CAAC,EAAE,MAAM,GACb,kBAAkB,CA4BpB;AAyBD,qBAAa,2BAA4B,YAAW,SAAS;IAC3D,OAAO,CAAC,MAAM,CAAmC;IACjD,OAAO,CAAC,aAAa,CAAqB;IAC1C,OAAO,CAAC,WAAW,CAAuB;IAC1C,OAAO,CAAC,eAAe,CAA2B;IAGlD,OAAO,CAAC,cAAc,CAA6C;IACnE,OAAO,CAAC,UAAU,CAAK;IACvB,OAAO,CAAC,SAAS,CAA4C;IAC7D,OAAO,CAAC,aAAa,CAA4C;IACjE,OAAO,CAAC,iBAAiB,CAAS;IAClC,OAAO,CAAC,gBAAgB,CAAS;IAGjC,OAAO,CAAC,YAAY,CAAK;IACzB,OAAO,CAAC,aAAa,CAAM;IAC3B,OAAO,CAAC,WAAW,CAAsB;IACzC,OAAO,CAAC,OAAO,CAA6B;gBAEhC,eAAe,CAAC,EAAE,MAAM,IAAI;IAUxC,MAAM,CAAC,KAAK,EAAE,kBAAkB,GAAG,IAAI;IAcvC,QAAQ,IAAI,IAAI;IAoBhB,OAAO,IAAI,IAAI;IAKf,UAAU,IAAI,IAAI;IASlB,WAAW,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI;IA8F/B,MAAM,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,EAAE;IAiE/B,OAAO,CAAC,kBAAkB;IAsC1B,OAAO,CAAC,iBAAiB;IAyBzB,OAAO,CAAC,aAAa;IAUrB,OAAO,CAAC,iBAAiB;IAqCzB,OAAO,CAAC,mBAAmB;IA6D3B,OAAO,CAAC,UAAU;IAsBlB,OAAO,CAAC,QAAQ;IAgBhB;;;;OAIG;IACH,OAAO,CAAC,aAAa;IAmBrB;;;OAGG;IACH,OAAO,CAAC,YAAY;IAIpB,OAAO,CAAC,YAAY;IAapB;;OAEG;IACH,OAAO,CAAC,qBAAqB;IAI7B;;OAEG;IACH,OAAO,CAAC,cAAc;IAYtB,OAAO,CAAC,UAAU;CAcnB"}
1
+ {"version":3,"file":"progress.d.ts","sourceRoot":"","sources":["../../src/tui/progress.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAEH,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,wBAAwB,CAAC;AACxD,OAAO,KAAK,EACV,qBAAqB,EAErB,aAAa,EACd,MAAM,oBAAoB,CAAC;AAyC5B,MAAM,MAAM,WAAW,GACnB,SAAS,GACT,QAAQ,GACR,WAAW,GACX,SAAS,GACT,WAAW,GACX,QAAQ,GACR,WAAW,GACX,WAAW,CAAC;AAEhB,MAAM,WAAW,YAAY;IAC3B,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB,KAAK,EAAE,WAAW,CAAC;IACnB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,KAAK,CAAC,EAAE,aAAa,CAAC;IACtB,YAAY,CAAC,EAAE,MAAM,CAAC;CACvB;AAED,MAAM,WAAW,kBAAkB;IACjC,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,KAAK,EAAE,MAAM,CAAC;IACd,SAAS,EAAE,MAAM,CAAC;IAClB,MAAM,EAAE,MAAM,CAAC;IACf,MAAM,EAAE,MAAM,CAAC;IACf,MAAM,EAAE,MAAM,CAAC;IACf,OAAO,EAAE,YAAY,EAAE,CAAC;IACxB,UAAU,EAAE,aAAa,CAAC;IAC1B,SAAS,EAAE,MAAM,CAAC;IAClB,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,YAAY,CAAC,EAAE,MAAM,CAAC;CACvB;AAMD,wBAAgB,uBAAuB,CACrC,QAAQ,EAAE,qBAAqB,EAC/B,KAAK,CAAC,EAAE,MAAM,GACb,kBAAkB,CAqBpB;AAqBD,qBAAa,2BAA4B,YAAW,SAAS;IAC3D,OAAO,CAAC,MAAM,CAAmC;IACjD,OAAO,CAAC,eAAe,CAA2B;IAClD,OAAO,CAAC,cAAc,CAA6C;IACnE,OAAO,CAAC,UAAU,CAAK;IACvB,OAAO,CAAC,SAAS,CAA4C;IAC7D,OAAO,CAAC,aAAa,CAA4C;gBAErD,eAAe,CAAC,EAAE,MAAM,IAAI;IAUxC,MAAM,CAAC,KAAK,EAAE,kBAAkB,GAAG,IAAI;IAKvC,QAAQ,IAAI,IAAI;IAkBhB,OAAO,IAAI,IAAI;IAIf,UAAU,IAAI,IAAI;IAGlB,WAAW,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI;IAQhC,MAAM,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,EAAE;IAkC/B,OAAO,CAAC,YAAY;IAoBpB,OAAO,CAAC,gBAAgB;IAgBxB,OAAO,CAAC,iBAAiB;IAkCzB,OAAO,CAAC,UAAU;IAqDlB,OAAO,CAAC,UAAU;IAclB,OAAO,CAAC,gBAAgB;IA8BxB,OAAO,CAAC,eAAe;IAqBvB,OAAO,CAAC,aAAa;IAWrB,OAAO,CAAC,YAAY;IAQpB,OAAO,CAAC,cAAc;IAQtB,OAAO,CAAC,UAAU;CAcnB"}