@jingyi0605/codingns 1.0.0-beta.1 → 1.0.0-beta.2

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 (105) hide show
  1. package/dist/public/assets/AdaptiveButlerPage-BHUAx_24.js +2 -0
  2. package/dist/public/assets/{App-CHsm-VrM.js → App-D5hc6KuU.js} +6 -6
  3. package/dist/public/assets/{BootstrapPage-Bp0KfySv.js → BootstrapPage-C2sMZMJa.js} +1 -1
  4. package/dist/public/assets/ConversationPage-CDpyEOUA.js +9 -0
  5. package/dist/public/assets/{DesktopDetachPreviewPage-DlDSb_tf.js → DesktopDetachPreviewPage-D9Abm5NU.js} +1 -1
  6. package/dist/public/assets/{DesktopModal-Csj5AdAN.js → DesktopModal-BCVZq_PQ.js} +1 -1
  7. package/dist/public/assets/{DesktopWindowPage-CacXiWjV.js → DesktopWindowPage-Cotl5fte.js} +1 -1
  8. package/dist/public/assets/{FileContextPanel-DzMUQvE5.js → FileContextPanel-DbPOq5w-.js} +1 -1
  9. package/dist/public/assets/{GitSidebar-C8IC18GH.js → GitSidebar-Cuxi2R93.js} +1 -1
  10. package/dist/public/assets/{MobileCreateSessionSheet-BtqR_hKc.js → MobileCreateSessionSheet-DYqarJqO.js} +1 -1
  11. package/dist/public/assets/{MobileSheet-Co-qPMBD.js → MobileSheet-DPYtp5Ze.js} +1 -1
  12. package/dist/public/assets/{PluginAccessOverview-D-KXkcyj.js → PluginAccessOverview-CiVzb_NI.js} +1 -1
  13. package/dist/public/assets/{PluginContainerPage-BKwCIs4r.js → PluginContainerPage-BfZ3E41c.js} +1 -1
  14. package/dist/public/assets/{PluginDetailPage-Djv_swcO.js → PluginDetailPage-DQQAg_ba.js} +1 -1
  15. package/dist/public/assets/{PluginsListPage-DAECNoN6.js → PluginsListPage-bF1NmA_r.js} +1 -1
  16. package/dist/public/assets/{PureConversationPage-DP1X7Hix.js → PureConversationPage-CWji-ARJ.js} +1 -1
  17. package/dist/public/assets/{RelayConnectEntryPage-xL_IPH8a.js → RelayConnectEntryPage-D4-3Fher.js} +1 -1
  18. package/dist/public/assets/{ServerSettingsModal-CyhMgk10.js → ServerSettingsModal-BUY1Y3g6.js} +1 -1
  19. package/dist/public/assets/{SessionIndexPage-CVEz50tc.js → SessionIndexPage-zVB9jnzP.js} +1 -1
  20. package/dist/public/assets/SettingsPage-DeqR2p7d.js +2 -0
  21. package/dist/public/assets/{TerminalManagerPanel-wVnoRA8u.js → TerminalManagerPanel-BjnC70ga.js} +1 -1
  22. package/dist/public/assets/{ToolFilesPage-BospXumK.js → ToolFilesPage-BZseQqvZ.js} +1 -1
  23. package/dist/public/assets/{ToolGitPage-B2zOeCAD.js → ToolGitPage-SrOO8Ftz.js} +1 -1
  24. package/dist/public/assets/{ToolProcessesPage-BDShao4b.js → ToolProcessesPage-Dbzlqjdy.js} +1 -1
  25. package/dist/public/assets/{ToolsHomePage-s4zH7D9M.js → ToolsHomePage-BBilUc0P.js} +1 -1
  26. package/dist/public/assets/{WorkbenchLandingPage-D51QCU_u.js → WorkbenchLandingPage-FdsBC8WN.js} +1 -1
  27. package/dist/public/assets/WorkbenchLayout-yGxGKcG1.js +1081 -0
  28. package/dist/public/assets/{WorkbenchModal-YsyEdJ_m.js → WorkbenchModal-Cm-ciXO9.js} +1 -1
  29. package/dist/public/assets/WorkbenchShellRoute-CijuAd9-.js +1 -0
  30. package/dist/public/assets/WorkbenchShellRoute-DpycFsbp.css +1 -0
  31. package/dist/public/assets/{WorkspaceDebugDetailPage-CMjNLqFq.js → WorkspaceDebugDetailPage-CZtpOiY0.js} +1 -1
  32. package/dist/public/assets/{WorkspaceDetailPage-CKxTbPKh.js → WorkspaceDetailPage-CbbgUz1H.js} +1 -1
  33. package/dist/public/assets/{WorkspaceHomePage-CEy4ShCu.js → WorkspaceHomePage-DMNJKAYe.js} +1 -1
  34. package/dist/public/assets/{client-runtime-manager-BFXU9DmS.js → client-runtime-manager-tsFkLtO_.js} +1 -1
  35. package/dist/public/assets/{host-alias-Zb2xyVrf.js → host-alias-df5bYDlE.js} +1 -1
  36. package/dist/public/assets/index-CILPuSCp.js +50 -0
  37. package/dist/public/assets/index-CSlwKnM4.css +1 -0
  38. package/dist/public/assets/{login-direct-candidate-resolver-DL8DS-Si.js → login-direct-candidate-resolver-pkfXrMJy.js} +1 -1
  39. package/dist/public/assets/peer-host-config-sync-nS_66OLg.js +1 -0
  40. package/dist/public/assets/{plugin-permission-copy-DrLk22m5.js → plugin-permission-copy-LDy-lW7h.js} +1 -1
  41. package/dist/public/assets/{plugins-api-COF4oh24.js → plugins-api-BGF9OybZ.js} +1 -1
  42. package/dist/public/assets/{preferences-service-CEWNV1w9.js → preferences-service-BC25oxA_.js} +1 -1
  43. package/dist/public/assets/{relay-entry-Cmc8vTlE.js → relay-entry-ErQKnI7B.js} +1 -1
  44. package/dist/public/assets/{useRegisteredDebugTemplates-FdmHG2S4.js → useRegisteredDebugTemplates-BTr3ATCZ.js} +1 -1
  45. package/dist/public/assets/{workbench-navigation-ED0157V-.js → workbench-navigation-hwM28xIb.js} +1 -1
  46. package/dist/public/index.html +2 -2
  47. package/dist/server/modules/client/client-controller.d.ts +1 -0
  48. package/dist/server/modules/client/client-controller.js +4 -0
  49. package/dist/server/modules/client/client-controller.js.map +1 -1
  50. package/dist/server/modules/client/client-service.d.ts +3 -0
  51. package/dist/server/modules/client/client-service.js +3 -0
  52. package/dist/server/modules/client/client-service.js.map +1 -1
  53. package/dist/server/modules/client/npm-global-package-service.js +32 -7
  54. package/dist/server/modules/client/npm-global-package-service.js.map +1 -1
  55. package/dist/server/modules/peer-host/host-ws-proxy-service.js +73 -12
  56. package/dist/server/modules/peer-host/host-ws-proxy-service.js.map +1 -1
  57. package/dist/server/modules/provider/provider-discovery-helper-client.d.ts +2 -0
  58. package/dist/server/modules/provider/provider-discovery-helper-client.js.map +1 -1
  59. package/dist/server/modules/provider/provider-discovery-helper-process.js +6 -3
  60. package/dist/server/modules/provider/provider-discovery-helper-process.js.map +1 -1
  61. package/dist/server/modules/provider/provider-discovery-runtime.js +4 -1
  62. package/dist/server/modules/provider/provider-discovery-runtime.js.map +1 -1
  63. package/dist/server/modules/sessions/session-history-service.d.ts +8 -0
  64. package/dist/server/modules/sessions/session-history-service.js +123 -5
  65. package/dist/server/modules/sessions/session-history-service.js.map +1 -1
  66. package/dist/server/modules/sessions/session-live-runtime-service.d.ts +13 -0
  67. package/dist/server/modules/sessions/session-live-runtime-service.js +354 -5
  68. package/dist/server/modules/sessions/session-live-runtime-service.js.map +1 -1
  69. package/dist/server/modules/sessions/session-permission-request-service.d.ts +16 -1
  70. package/dist/server/modules/sessions/session-permission-request-service.js +375 -9
  71. package/dist/server/modules/sessions/session-permission-request-service.js.map +1 -1
  72. package/dist/server/modules/sessions/workspace-session-runtime-context-service.js +10 -0
  73. package/dist/server/modules/sessions/workspace-session-runtime-context-service.js.map +1 -1
  74. package/dist/server/modules/tasks/task-helper-process-handlers.d.ts +1 -0
  75. package/dist/server/modules/tasks/task-helper-process-handlers.js +4 -1
  76. package/dist/server/modules/tasks/task-helper-process-handlers.js.map +1 -1
  77. package/dist/server/modules/workbench/workbench-service.js +7 -4
  78. package/dist/server/modules/workbench/workbench-service.js.map +1 -1
  79. package/dist/server/routes/client.js +1 -0
  80. package/dist/server/routes/client.js.map +1 -1
  81. package/dist/server/shared/utils/peer-host-proxy-log.d.ts +3 -0
  82. package/dist/server/shared/utils/peer-host-proxy-log.js +48 -0
  83. package/dist/server/shared/utils/peer-host-proxy-log.js.map +1 -0
  84. package/node_modules/@codingns/session-sync-core/dist/providers/claude-code.d.ts +2 -0
  85. package/node_modules/@codingns/session-sync-core/dist/providers/claude-code.js +93 -12
  86. package/node_modules/@codingns/session-sync-core/dist/providers/claude-code.js.map +1 -1
  87. package/node_modules/@codingns/session-sync-core/dist/providers/codex.d.ts +3 -0
  88. package/node_modules/@codingns/session-sync-core/dist/providers/codex.js +116 -2
  89. package/node_modules/@codingns/session-sync-core/dist/providers/codex.js.map +1 -1
  90. package/node_modules/@codingns/session-sync-core/dist/runtime/claude-runtime.d.ts +1 -0
  91. package/node_modules/@codingns/session-sync-core/dist/runtime/claude-runtime.js +19 -8
  92. package/node_modules/@codingns/session-sync-core/dist/runtime/claude-runtime.js.map +1 -1
  93. package/node_modules/@codingns/session-sync-core/dist/runtime/provider-runtime-service.d.ts +1 -0
  94. package/node_modules/@codingns/session-sync-core/dist/runtime/provider-runtime-service.js +30 -2
  95. package/node_modules/@codingns/session-sync-core/dist/runtime/provider-runtime-service.js.map +1 -1
  96. package/package.json +1 -1
  97. package/dist/public/assets/AdaptiveButlerPage-BYETYaIe.js +0 -2
  98. package/dist/public/assets/ConversationPage-BCrNml1k.js +0 -9
  99. package/dist/public/assets/SettingsPage-CQNCrgaj.js +0 -2
  100. package/dist/public/assets/WorkbenchLayout-Bo2BbMY6.js +0 -1081
  101. package/dist/public/assets/WorkbenchShellRoute-D3l4aWJS.js +0 -1
  102. package/dist/public/assets/WorkbenchShellRoute-D5fnyF8z.css +0 -1
  103. package/dist/public/assets/index-BilHJjYU.js +0 -50
  104. package/dist/public/assets/index-OR7OITpQ.css +0 -1
  105. package/dist/public/assets/peer-host-config-sync-d2ZcPC5P.js +0 -1
@@ -0,0 +1,48 @@
1
+ const PEER_HOST_PROXY_DEBUG_ENV = "CODINGNS_PEER_HOST_PROXY_DEBUG";
2
+ export function isPeerHostProxyDebugEnabled() {
3
+ return /^(1|true|yes)$/i.test(process.env[PEER_HOST_PROXY_DEBUG_ENV]?.trim() ?? "");
4
+ }
5
+ export function logPeerHostProxy(scope, detail = {}) {
6
+ if (!isPeerHostProxyDebugEnabled()) {
7
+ return;
8
+ }
9
+ const suffix = formatDetail(detail);
10
+ console.info(`[peer-proxy] ${scope}${suffix ? ` ${suffix}` : ""}`);
11
+ }
12
+ export function logPeerHostProxyDuration(scope, durationMs, detail = {}) {
13
+ if (!isPeerHostProxyDebugEnabled()) {
14
+ return;
15
+ }
16
+ const suffix = formatDetail(detail);
17
+ console.info(`[peer-proxy] ${scope} ${Math.round(durationMs)}ms${suffix ? ` ${suffix}` : ""}`);
18
+ }
19
+ function formatDetail(detail) {
20
+ const entries = Object.entries(detail).filter(([, value]) => value !== undefined);
21
+ if (entries.length === 0) {
22
+ return "";
23
+ }
24
+ return entries
25
+ .map(([key, value]) => `${key}=${formatValue(value)}`)
26
+ .join(" ");
27
+ }
28
+ function formatValue(value) {
29
+ if (value === null) {
30
+ return "null";
31
+ }
32
+ if (typeof value === "string") {
33
+ return JSON.stringify(value);
34
+ }
35
+ if (typeof value === "number") {
36
+ return Number.isFinite(value) ? String(Math.round(value)) : String(value);
37
+ }
38
+ if (typeof value === "boolean") {
39
+ return value ? "true" : "false";
40
+ }
41
+ try {
42
+ return JSON.stringify(value);
43
+ }
44
+ catch {
45
+ return String(value);
46
+ }
47
+ }
48
+ //# sourceMappingURL=peer-host-proxy-log.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"peer-host-proxy-log.js","sourceRoot":"","sources":["../../../../src/shared/utils/peer-host-proxy-log.ts"],"names":[],"mappings":"AAAA,MAAM,yBAAyB,GAAG,gCAAgC,CAAC;AAEnE,MAAM,UAAU,2BAA2B;IACzC,OAAO,iBAAiB,CAAC,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,yBAAyB,CAAC,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC;AACtF,CAAC;AAED,MAAM,UAAU,gBAAgB,CAC9B,KAAa,EACb,SAAkC,EAAE;IAEpC,IAAI,CAAC,2BAA2B,EAAE,EAAE,CAAC;QACnC,OAAO;IACT,CAAC;IAED,MAAM,MAAM,GAAG,YAAY,CAAC,MAAM,CAAC,CAAC;IACpC,OAAO,CAAC,IAAI,CAAC,gBAAgB,KAAK,GAAG,MAAM,CAAC,CAAC,CAAC,IAAI,MAAM,EAAE,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;AACrE,CAAC;AAED,MAAM,UAAU,wBAAwB,CACtC,KAAa,EACb,UAAkB,EAClB,SAAkC,EAAE;IAEpC,IAAI,CAAC,2BAA2B,EAAE,EAAE,CAAC;QACnC,OAAO;IACT,CAAC;IAED,MAAM,MAAM,GAAG,YAAY,CAAC,MAAM,CAAC,CAAC;IACpC,OAAO,CAAC,IAAI,CAAC,gBAAgB,KAAK,IAAI,IAAI,CAAC,KAAK,CAAC,UAAU,CAAC,KAAK,MAAM,CAAC,CAAC,CAAC,IAAI,MAAM,EAAE,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;AACjG,CAAC;AAED,SAAS,YAAY,CAAC,MAA+B;IACnD,MAAM,OAAO,GAAG,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,KAAK,CAAC,EAAE,EAAE,CAAC,KAAK,KAAK,SAAS,CAAC,CAAC;IAElF,IAAI,OAAO,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACzB,OAAO,EAAE,CAAC;IACZ,CAAC;IAED,OAAO,OAAO;SACX,GAAG,CAAC,CAAC,CAAC,GAAG,EAAE,KAAK,CAAC,EAAE,EAAE,CAAC,GAAG,GAAG,IAAI,WAAW,CAAC,KAAK,CAAC,EAAE,CAAC;SACrD,IAAI,CAAC,GAAG,CAAC,CAAC;AACf,CAAC;AAED,SAAS,WAAW,CAAC,KAAc;IACjC,IAAI,KAAK,KAAK,IAAI,EAAE,CAAC;QACnB,OAAO,MAAM,CAAC;IAChB,CAAC;IAED,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE,CAAC;QAC9B,OAAO,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC;IAC/B,CAAC;IAED,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE,CAAC;QAC9B,OAAO,MAAM,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;IAC5E,CAAC;IAED,IAAI,OAAO,KAAK,KAAK,SAAS,EAAE,CAAC;QAC/B,OAAO,KAAK,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,OAAO,CAAC;IAClC,CAAC;IAED,IAAI,CAAC;QACH,OAAO,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC;IAC/B,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,MAAM,CAAC,KAAK,CAAC,CAAC;IACvB,CAAC;AACH,CAAC"}
@@ -4,6 +4,7 @@ interface ClaudeCodeAdapterOptions {
4
4
  homeDir: string;
5
5
  providerId?: ProviderId;
6
6
  sessionStoreProfile?: ClaudeSessionStoreProfile;
7
+ extraProjectRoots?: string[];
7
8
  modelOptions?: ProviderModelOption[];
8
9
  defaultSessionTitle?: string;
9
10
  capabilityLimitations?: string[];
@@ -35,6 +36,7 @@ export declare class ClaudeCodeAdapter implements ProviderAdapter {
35
36
  private resolveClaudeSlug;
36
37
  private listWorkspaceFiles;
37
38
  private resolveForkSourceFilePath;
39
+ private collectSessionDeleteCandidatePaths;
38
40
  private locateForkTarget;
39
41
  private getParsedMessages;
40
42
  private touchHistoryCache;
@@ -2,7 +2,7 @@ import { basename, dirname, join } from "node:path";
2
2
  import { existsSync, rmSync, statSync, writeFileSync } from "node:fs";
3
3
  import crypto from "node:crypto";
4
4
  import { buildClaudeMessageSignature, buildClaudeProgressiveTrackKey, buildClaudeStableRawRef, normalizeClaudeMessagePart, normalizeClaudeMessageParts, readClaudeMessageId, shouldReuseClaudeProgressiveIdentity, toClaudeRecord } from "../claude-message-utils.js";
5
- import { appendJsonLine, createRawRef, encodeCursor, ensureDirectory, ensureText, messageIdFromRawRef, nextTimestamp, normalizeWorkspacePath, readFirstNonEmptyLine, readJsonLines, safeDate, sliceHistory } from "./utils.js";
5
+ import { appendJsonLine, createRawRef, encodeCursor, ensureDirectory, ensureText, messageIdFromRawRef, nextTimestamp, normalizeWorkspacePath, readFirstNonEmptyLine, readJsonLines, safeDate, sliceHistory, walkJsonlFiles } from "./utils.js";
6
6
  import { CLAUDE_CODE_SESSION_STORE_PROFILE } from "./claude-session-store.js";
7
7
  const HISTORY_CACHE_LIMIT = 6;
8
8
  const SESSION_SUMMARY_CACHE_LIMIT = 512;
@@ -43,6 +43,28 @@ export class ClaudeCodeAdapter {
43
43
  const startedAt = Date.now();
44
44
  const targetPath = normalizeWorkspacePath(workspacePath);
45
45
  const files = this.listWorkspaceFiles(workspacePath);
46
+ // 已知会话的 rawStoreRef 可能指向运行时目录(如 ~/.codingns/workspace-session-runtime/...),
47
+ // 这些路径不在标准 claude/legna 会话存储目录下,需要额外扫描。
48
+ // 从 knownSessions 的 rawStoreRef 中提取父目录,扫描其中的新文件(如子Agent JSONL)。
49
+ const knownSessionDirs = new Set();
50
+ for (const session of options?.knownSessions ?? []) {
51
+ if (session.provider !== this.providerId || !session.rawStoreRef) {
52
+ continue;
53
+ }
54
+ const sessionDir = dirname(session.rawStoreRef);
55
+ if (!files.some((f) => f.startsWith(sessionDir))) {
56
+ knownSessionDirs.add(sessionDir);
57
+ }
58
+ }
59
+ for (const extraDir of knownSessionDirs) {
60
+ if (existsSync(extraDir)) {
61
+ for (const extraFile of walkJsonlFiles(extraDir)) {
62
+ if (!files.includes(extraFile)) {
63
+ files.push(extraFile);
64
+ }
65
+ }
66
+ }
67
+ }
46
68
  const subagentMetadataByFilePath = buildClaudeSubagentMetadataIndex(files);
47
69
  const knownByRawStoreRef = new Map((options?.knownSessions ?? [])
48
70
  .filter((session) => session.provider === this.providerId)
@@ -76,6 +98,7 @@ export class ClaudeCodeAdapter {
76
98
  ...cachedSummary.summary,
77
99
  provider: this.providerId,
78
100
  providerSessionId,
101
+ title: resolveSubagentTitle(subagentMetadata, cachedSummary.summary.title),
79
102
  rawStoreRef: filePath,
80
103
  parentProviderSessionId: subagentMetadata?.parentProviderSessionId ?? null,
81
104
  isSubagent: subagentMetadata !== undefined,
@@ -95,10 +118,12 @@ export class ClaudeCodeAdapter {
95
118
  && known.sourceSizeBytes === stats.size
96
119
  && normalizeWorkspacePath(known.workspacePath) === targetPath) {
97
120
  skippedByMtimeSize += 1;
121
+ const knownSessionTitle = resolveSubagentTitle(subagentMetadata, known.title);
98
122
  sessions.push({
99
123
  ...known,
100
124
  provider: this.providerId,
101
125
  providerSessionId,
126
+ title: knownSessionTitle,
102
127
  rawStoreRef: filePath,
103
128
  parentProviderSessionId: subagentMetadata?.parentProviderSessionId ?? null,
104
129
  isSubagent: subagentMetadata !== undefined,
@@ -115,6 +140,7 @@ export class ClaudeCodeAdapter {
115
140
  ...known,
116
141
  provider: this.providerId,
117
142
  providerSessionId,
143
+ title: knownSessionTitle,
118
144
  rawStoreRef: filePath,
119
145
  parentProviderSessionId: subagentMetadata?.parentProviderSessionId ?? null,
120
146
  isSubagent: subagentMetadata !== undefined,
@@ -144,7 +170,8 @@ export class ClaudeCodeAdapter {
144
170
  continue;
145
171
  }
146
172
  const messages = this.parseMessages(filePath, typedRecords);
147
- const title = this.resolveDetectedClaudeTitle(typedRecords, messages, filePath);
173
+ const resolvedTitle = this.resolveDetectedClaudeTitle(typedRecords, messages, filePath);
174
+ const title = resolveSubagentTitle(subagentMetadata, resolvedTitle);
148
175
  const lastMessageAt = messages.at(-1)?.timestamp ??
149
176
  (ensureText(typedRecords.at(-1)?.timestamp) || null);
150
177
  const summary = {
@@ -397,13 +424,20 @@ export class ClaudeCodeAdapter {
397
424
  throw new Error("claude-code archive state is managed by host");
398
425
  }
399
426
  async deleteSession(providerSessionId, rawStoreRef) {
400
- const targetFilePath = this.resolveForkSourceFilePath(rawStoreRef, providerSessionId);
401
- if (!existsSync(targetFilePath)) {
427
+ const candidateFilePaths = this.collectSessionDeleteCandidatePaths(providerSessionId, rawStoreRef);
428
+ let deletedAny = false;
429
+ for (const filePath of candidateFilePaths) {
430
+ if (!existsSync(filePath)) {
431
+ continue;
432
+ }
433
+ rmSync(filePath, { force: true });
434
+ this.historyCache.delete(filePath);
435
+ this.sessionSummaryCache.delete(filePath);
436
+ deletedAny = true;
437
+ }
438
+ if (!deletedAny) {
402
439
  throw new Error("PROVIDER_SESSION_NOT_FOUND");
403
440
  }
404
- rmSync(targetFilePath, { force: true });
405
- this.historyCache.delete(targetFilePath);
406
- this.sessionSummaryCache.delete(targetFilePath);
407
441
  }
408
442
  getProviderCapabilities() {
409
443
  return {
@@ -491,7 +525,17 @@ export class ClaudeCodeAdapter {
491
525
  return "";
492
526
  }
493
527
  listWorkspaceFiles(workspacePath) {
494
- return this.getSessionStoreProfile().resolveWorkspaceFiles(this.options.homeDir, workspacePath);
528
+ const files = new Set(this.getSessionStoreProfile().resolveWorkspaceFiles(this.options.homeDir, workspacePath));
529
+ for (const root of this.options.extraProjectRoots ?? []) {
530
+ const normalizedRoot = root.trim();
531
+ if (!normalizedRoot) {
532
+ continue;
533
+ }
534
+ for (const filePath of walkJsonlFiles(normalizedRoot)) {
535
+ files.add(filePath);
536
+ }
537
+ }
538
+ return Array.from(files);
495
539
  }
496
540
  resolveForkSourceFilePath(rawStoreRef, providerSessionId, workspacePath = "") {
497
541
  if (existsSync(rawStoreRef)) {
@@ -503,6 +547,18 @@ export class ClaudeCodeAdapter {
503
547
  }
504
548
  throw new Error("PROVIDER_SESSION_NOT_FOUND");
505
549
  }
550
+ collectSessionDeleteCandidatePaths(providerSessionId, rawStoreRef) {
551
+ const candidates = new Set();
552
+ const normalizedRawStoreRef = rawStoreRef.trim();
553
+ if (normalizedRawStoreRef) {
554
+ candidates.add(normalizedRawStoreRef);
555
+ }
556
+ const discoveredSourceFilePath = this.getSessionStoreProfile().findSessionFile(this.options.homeDir, "", providerSessionId);
557
+ if (discoveredSourceFilePath) {
558
+ candidates.add(discoveredSourceFilePath);
559
+ }
560
+ return Array.from(candidates);
561
+ }
506
562
  locateForkTarget(records, providerSessionId, sourceMessageId) {
507
563
  const toolNameById = new Map();
508
564
  const stableMessageRefByIdentity = new Map();
@@ -892,6 +948,23 @@ function truncateClaudeMessageContent(message, partIndex, snapshot = null) {
892
948
  function shouldPreserveClaudeForkRecord(record) {
893
949
  return record.type !== "ai-title";
894
950
  }
951
+ /**
952
+ * 子Agent会话优先用 subagentLabel 的描述部分作为标题。
953
+ * subagentLabel 格式为 "type · description",取最后一段 description 作为标题。
954
+ * 如果不是子Agent或 label 为空,回退到原始标题。
955
+ */
956
+ function resolveSubagentTitle(subagentMetadata, fallbackTitle) {
957
+ const rawLabel = subagentMetadata?.subagentLabel?.trim();
958
+ if (!rawLabel) {
959
+ return fallbackTitle;
960
+ }
961
+ const description = rawLabel
962
+ .split("·")
963
+ .map((p) => p.trim())
964
+ .filter(Boolean)
965
+ .at(-1);
966
+ return description || fallbackTitle;
967
+ }
895
968
  function buildClaudeSubagentMetadataIndex(files) {
896
969
  const metadataByFilePath = new Map();
897
970
  const filePathSet = new Set(files);
@@ -961,11 +1034,19 @@ function parseClaudeTaskSpawnMetadata(filePath, records, filePathSet) {
961
1034
  if (!taskRequest || !agentFileName) {
962
1035
  continue;
963
1036
  }
964
- const childFilePath = join(parentDir, `${agentFileName}.jsonl`);
965
- if (!filePathSet.has(childFilePath)) {
1037
+ // 优先检查新格式(Agent 工具:{parentDir}/{sessionId}/subagents/{agentFileName}.jsonl),
1038
+ // 回退旧格式(Task 工具:{parentDir}/{agentFileName}.jsonl)
1039
+ const childFilePath = join(parentDir, sessionId, "subagents", `${agentFileName}.jsonl`);
1040
+ const fallbackFilePath = join(parentDir, `${agentFileName}.jsonl`);
1041
+ const resolvedFilePath = filePathSet.has(childFilePath)
1042
+ ? childFilePath
1043
+ : filePathSet.has(fallbackFilePath)
1044
+ ? fallbackFilePath
1045
+ : null;
1046
+ if (!resolvedFilePath) {
966
1047
  continue;
967
1048
  }
968
- taskSpawnMetadata.set(childFilePath, {
1049
+ taskSpawnMetadata.set(resolvedFilePath, {
969
1050
  providerSessionId: `${taskRequest.parentProviderSessionId}::${agentFileName}`,
970
1051
  parentProviderSessionId: taskRequest.parentProviderSessionId,
971
1052
  subagentLabel: taskRequest.subagentLabel
@@ -1007,7 +1088,7 @@ function extractClaudeTaskRequests(message) {
1007
1088
  const partType = ensureText(part.type).trim();
1008
1089
  const toolUseId = ensureText(part.id).trim();
1009
1090
  const toolName = ensureText(part.name).trim();
1010
- if (partType !== "tool_use" || toolName !== "Task" || !toolUseId) {
1091
+ if (partType !== "tool_use" || (toolName !== "Task" && toolName !== "Agent") || !toolUseId) {
1011
1092
  continue;
1012
1093
  }
1013
1094
  const input = toClaudeRecord(part.input);
@@ -1 +1 @@
1
- {"version":3,"file":"claude-code.js","sourceRoot":"","sources":["../../src/providers/claude-code.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"claude-code.js","sourceRoot":"","sources":["../../src/providers/claude-code.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AACpD,OAAO,EAAE,UAAU,EAAE,MAAM,EAAE,QAAQ,EAAE,aAAa,EAAE,MAAM,SAAS,CAAC;AACtE,OAAO,MAAM,MAAM,aAAa,CAAC;AAEjC,OAAO,EACL,2BAA2B,EAC3B,8BAA8B,EAC9B,uBAAuB,EACvB,0BAA0B,EAC1B,2BAA2B,EAC3B,mBAAmB,EACnB,oCAAoC,EACpC,cAAc,EAGf,MAAM,4BAA4B,CAAC;AAuBpC,OAAO,EACL,cAAc,EACd,YAAY,EACZ,YAAY,EACZ,eAAe,EACf,UAAU,EACV,mBAAmB,EACnB,aAAa,EACb,sBAAsB,EACtB,qBAAqB,EACrB,aAAa,EACb,QAAQ,EACR,YAAY,EACZ,cAAc,EACf,MAAM,YAAY,CAAC;AACpB,OAAO,EACL,iCAAiC,EAElC,MAAM,2BAA2B,CAAC;AAyCnC,MAAM,mBAAmB,GAAG,CAAC,CAAC;AAC9B,MAAM,2BAA2B,GAAG,GAAG,CAAC;AACxC,MAAM,6BAA6B,GAAG,OAAO,CAAC;AAC9C,MAAM,CAAC,MAAM,2BAA2B,GAA0B;IAChE;QACE,EAAE,EAAE,kBAAkB;QACtB,IAAI,EAAE,aAAa;QACnB,mBAAmB,EAAE,IAAI;KAC1B;IACD;QACE,EAAE,EAAE,QAAQ;QACZ,IAAI,EAAE,QAAQ;KACf;IACD;QACE,EAAE,EAAE,MAAM;QACV,IAAI,EAAE,MAAM;KACb;IACD;QACE,EAAE,EAAE,OAAO;QACX,IAAI,EAAE,OAAO;KACd;CACF,CAAC;AAEF,MAAM,OAAO,iBAAiB;IAKC;IAJpB,UAAU,CAAa;IACf,YAAY,GAAG,IAAI,GAAG,EAAmC,CAAC;IAC1D,mBAAmB,GAAG,IAAI,GAAG,EAA0C,CAAC;IAEzF,YAA6B,OAAiC;QAAjC,YAAO,GAAP,OAAO,CAA0B;QAC5D,IAAI,CAAC,UAAU,GAAG,OAAO,CAAC,UAAU,IAAI,aAAa,CAAC;IACxD,CAAC;IAED,KAAK,CAAC,cAAc,CAClB,aAAqB,EACrB,OAA+B;QAE/B,MAAM,SAAS,GAAG,MAAM,IAAI,CAAC,sBAAsB,CAAC,aAAa,EAAE,OAAO,CAAC,CAAC;QAC5E,OAAO,SAAS,CAAC,QAAQ,CAAC;IAC5B,CAAC;IAED,KAAK,CAAC,sBAAsB,CAC1B,aAAqB,EACrB,OAA+B;QAE/B,MAAM,SAAS,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;QAC7B,MAAM,UAAU,GAAG,sBAAsB,CAAC,aAAa,CAAC,CAAC;QACzD,MAAM,KAAK,GAAG,IAAI,CAAC,kBAAkB,CAAC,aAAa,CAAC,CAAC;QAErD,4EAA4E;QAC5E,wCAAwC;QACxC,gEAAgE;QAChE,MAAM,gBAAgB,GAAG,IAAI,GAAG,EAAU,CAAC;QAC3C,KAAK,MAAM,OAAO,IAAI,OAAO,EAAE,aAAa,IAAI,EAAE,EAAE,CAAC;YACnD,IAAI,OAAO,CAAC,QAAQ,KAAK,IAAI,CAAC,UAAU,IAAI,CAAC,OAAO,CAAC,WAAW,EAAE,CAAC;gBACjE,SAAS;YACX,CAAC;YACD,MAAM,UAAU,GAAG,OAAO,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC;YAChD,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,UAAU,CAAC,UAAU,CAAC,CAAC,EAAE,CAAC;gBACjD,gBAAgB,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC;YACnC,CAAC;QACH,CAAC;QACD,KAAK,MAAM,QAAQ,IAAI,gBAAgB,EAAE,CAAC;YACxC,IAAI,UAAU,CAAC,QAAQ,CAAC,EAAE,CAAC;gBACzB,KAAK,MAAM,SAAS,IAAI,cAAc,CAAC,QAAQ,CAAC,EAAE,CAAC;oBACjD,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,SAAS,CAAC,EAAE,CAAC;wBAC/B,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;oBACxB,CAAC;gBACH,CAAC;YACH,CAAC;QACH,CAAC;QAED,MAAM,0BAA0B,GAAG,gCAAgC,CAAC,KAAK,CAAC,CAAC;QAC3E,MAAM,kBAAkB,GAAG,IAAI,GAAG,CAChC,CAAC,OAAO,EAAE,aAAa,IAAI,EAAE,CAAC;aAC3B,MAAM,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,OAAO,CAAC,QAAQ,KAAK,IAAI,CAAC,UAAU,CAAC;aACzD,GAAG,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC,OAAO,CAAC,WAAW,EAAE,OAAO,CAAU,CAAC,CAC7D,CAAC;QACF,MAAM,QAAQ,GAA6B,EAAE,CAAC;QAC9C,IAAI,YAAY,GAAG,CAAC,CAAC;QACrB,IAAI,kBAAkB,GAAG,CAAC,CAAC;QAC3B,IAAI,WAAW,GAAG,CAAC,CAAC;QACpB,IAAI,SAAS,GAAG,CAAC,CAAC;QAElB,KAAK,MAAM,QAAQ,IAAI,KAAK,EAAE,CAAC;YAC7B,YAAY,IAAI,CAAC,CAAC;YAElB,IAAI,0BAA0B,CAAC,QAAQ,CAAC,EAAE,CAAC;gBACzC,SAAS;YACX,CAAC;YAED,IAAI,4BAA4B,CAAC,QAAQ,CAAC,EAAE,CAAC;gBAC3C,SAAS;YACX,CAAC;YAED,MAAM,KAAK,GAAG,QAAQ,CAAC,QAAQ,CAAC,CAAC;YACjC,MAAM,aAAa,GAAG,IAAI,CAAC,mBAAmB,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;YAC7D,MAAM,KAAK,GAAG,kBAAkB,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;YAC/C,MAAM,gBAAgB,GAAG,0BAA0B,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;YAClE,MAAM,iBAAiB,GACrB,gBAAgB,EAAE,iBAAiB,IAAI,QAAQ,CAAC,QAAQ,EAAE,QAAQ,CAAC,CAAC;YAEtE,IACE,aAAa;gBACb,aAAa,CAAC,OAAO,KAAK,KAAK,CAAC,OAAO;gBACvC,aAAa,CAAC,IAAI,KAAK,KAAK,CAAC,IAAI,EACjC,CAAC;gBACD,IAAI,CAAC,wBAAwB,CAAC,QAAQ,EAAE,aAAa,CAAC,CAAC;gBACvD,kBAAkB,IAAI,CAAC,CAAC;gBAExB,IACE,aAAa,CAAC,OAAO;oBACrB,sBAAsB,CAAC,aAAa,CAAC,OAAO,CAAC,aAAa,CAAC,KAAK,UAAU,EAC1E,CAAC;oBACD,QAAQ,CAAC,IAAI,CAAC;wBACZ,GAAG,aAAa,CAAC,OAAO;wBACxB,QAAQ,EAAE,IAAI,CAAC,UAAU;wBACzB,iBAAiB;wBACjB,KAAK,EAAE,oBAAoB,CAAC,gBAAgB,EAAE,aAAa,CAAC,OAAO,CAAC,KAAK,CAAC;wBAC1E,WAAW,EAAE,QAAQ;wBACrB,uBAAuB,EAAE,gBAAgB,EAAE,uBAAuB,IAAI,IAAI;wBAC1E,UAAU,EAAE,gBAAgB,KAAK,SAAS;wBAC1C,aAAa,EACX,aAAa,CAAC,OAAO,CAAC,aAAa,IAAI,gBAAgB,EAAE,aAAa,IAAI,IAAI;wBAChF,aAAa,EAAE,KAAK,CAAC,OAAO;wBAC5B,eAAe,EAAE,KAAK,CAAC,IAAI;qBAC5B,CAAC,CAAC;oBACH,SAAS;gBACX,CAAC;gBAED,IACE,aAAa,CAAC,aAAa;oBAC3B,sBAAsB,CAAC,aAAa,CAAC,aAAa,CAAC,KAAK,UAAU,EAClE,CAAC;oBACD,SAAS;gBACX,CAAC;YACH,CAAC;YAED,IACE,KAAK;mBACF,KAAK,CAAC,aAAa,KAAK,KAAK,CAAC,OAAO;mBACrC,KAAK,CAAC,eAAe,KAAK,KAAK,CAAC,IAAI;mBACpC,sBAAsB,CAAC,KAAK,CAAC,aAAa,CAAC,KAAK,UAAU,EAC7D,CAAC;gBACD,kBAAkB,IAAI,CAAC,CAAC;gBACxB,MAAM,iBAAiB,GAAG,oBAAoB,CAAC,gBAAgB,EAAE,KAAK,CAAC,KAAK,CAAC,CAAC;gBAC9E,QAAQ,CAAC,IAAI,CAAC;oBACZ,GAAG,KAAK;oBACR,QAAQ,EAAE,IAAI,CAAC,UAAU;oBACzB,iBAAiB;oBACjB,KAAK,EAAE,iBAAiB;oBACxB,WAAW,EAAE,QAAQ;oBACrB,uBAAuB,EAAE,gBAAgB,EAAE,uBAAuB,IAAI,IAAI;oBAC1E,UAAU,EAAE,gBAAgB,KAAK,SAAS;oBAC1C,aAAa,EAAE,KAAK,CAAC,aAAa,IAAI,gBAAgB,EAAE,aAAa,IAAI,IAAI;oBAC7E,aAAa,EAAE,KAAK,CAAC,OAAO;oBAC5B,eAAe,EAAE,KAAK,CAAC,IAAI;iBAC5B,CAAC,CAAC;gBACH,IAAI,CAAC,wBAAwB,CAAC,QAAQ,EAAE;oBACtC,QAAQ;oBACR,OAAO,EAAE,KAAK,CAAC,OAAO;oBACtB,IAAI,EAAE,KAAK,CAAC,IAAI;oBAChB,aAAa,EAAE,KAAK,CAAC,aAAa;oBAClC,OAAO,EAAE;wBACP,GAAG,KAAK;wBACR,QAAQ,EAAE,IAAI,CAAC,UAAU;wBACzB,iBAAiB;wBACjB,KAAK,EAAE,iBAAiB;wBACxB,WAAW,EAAE,QAAQ;wBACrB,uBAAuB,EAAE,gBAAgB,EAAE,uBAAuB,IAAI,IAAI;wBAC1E,UAAU,EAAE,gBAAgB,KAAK,SAAS;wBAC1C,aAAa,EAAE,KAAK,CAAC,aAAa,IAAI,gBAAgB,EAAE,aAAa,IAAI,IAAI;wBAC7E,aAAa,EAAE,KAAK,CAAC,OAAO;wBAC5B,eAAe,EAAE,KAAK,CAAC,IAAI;qBAC5B;iBACF,CAAC,CAAC;gBACH,SAAS;YACX,CAAC;YAED,WAAW,IAAI,CAAC,CAAC;YACjB,SAAS,IAAI,KAAK,CAAC,IAAI,CAAC;YACxB,MAAM,OAAO,GAAG,aAAa,CAAC,QAAQ,CAAC,CAAC;YACxC,MAAM,YAAY,GAAG,OAAO,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;YAC1D,MAAM,qBAAqB,GACzB,YAAY;iBACT,GAAG,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,sBAAsB,CAAC,UAAU,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC;iBAC/D,IAAI,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC,IAAI,IAAI,CAAC;YAC/C,MAAM,gBAAgB,GAAG,qBAAqB,KAAK,UAAU,CAAC;YAE9D,IAAI,CAAC,gBAAgB,EAAE,CAAC;gBACtB,IAAI,CAAC,wBAAwB,CAAC,QAAQ,EAAE;oBACtC,QAAQ;oBACR,OAAO,EAAE,KAAK,CAAC,OAAO;oBACtB,IAAI,EAAE,KAAK,CAAC,IAAI;oBAChB,aAAa,EAAE,qBAAqB;oBACpC,OAAO,EAAE,IAAI;iBACd,CAAC,CAAC;gBACH,SAAS;YACX,CAAC;YAED,MAAM,QAAQ,GAAG,IAAI,CAAC,aAAa,CAAC,QAAQ,EAAE,YAAY,CAAC,CAAC;YAC5D,MAAM,aAAa,GAAG,IAAI,CAAC,0BAA0B,CAAC,YAAY,EAAE,QAAQ,EAAE,QAAQ,CAAC,CAAC;YACxF,MAAM,KAAK,GAAG,oBAAoB,CAAC,gBAAgB,EAAE,aAAa,CAAC,CAAC;YACpE,MAAM,aAAa,GACjB,QAAQ,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,SAAS;gBAC1B,CAAC,UAAU,CAAC,YAAY,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,SAAS,CAAC,IAAI,IAAI,CAAC,CAAC;YAEvD,MAAM,OAAO,GAA2B;gBACtC,QAAQ,EAAE,IAAI,CAAC,UAAU;gBACzB,iBAAiB;gBACjB,KAAK;gBACL,aAAa;gBACb,WAAW,EAAE,QAAQ;gBACrB,aAAa;gBACb,YAAY,EAAE,QAAQ,CAAC,MAAM;gBAC7B,uBAAuB,EAAE,gBAAgB,EAAE,uBAAuB,IAAI,IAAI;gBAC1E,UAAU,EAAE,gBAAgB,KAAK,SAAS;gBAC1C,aAAa,EAAE,gBAAgB,EAAE,aAAa,IAAI,IAAI;gBACtD,aAAa,EAAE,KAAK,CAAC,OAAO;gBAC5B,eAAe,EAAE,KAAK,CAAC,IAAI;aAC5B,CAAC;YACF,QAAQ,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;YACvB,IAAI,CAAC,wBAAwB,CAAC,QAAQ,EAAE;gBACtC,QAAQ;gBACR,OAAO,EAAE,KAAK,CAAC,OAAO;gBACtB,IAAI,EAAE,KAAK,CAAC,IAAI;gBAChB,aAAa;gBACb,OAAO;aACR,CAAC,CAAC;QACL,CAAC;QAED,MAAM,cAAc,GAAG,QAAQ,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,KAAK,EAAE,EAAE,CACnD,CAAC,IAAI,CAAC,aAAa,IAAI,EAAE,CAAC,CAAC,aAAa,CAAC,KAAK,CAAC,aAAa,IAAI,EAAE,CAAC,CACpE,CAAC;QACF,MAAM,UAAU,GAAgC;YAC9C,QAAQ,EAAE,IAAI,CAAC,UAAU;YACzB,MAAM,EAAE,SAAS;YACjB,UAAU,EAAE,IAAI,CAAC,GAAG,EAAE,GAAG,SAAS;YAClC,YAAY,EAAE,cAAc,CAAC,MAAM;YACnC,UAAU,EAAE,IAAI;YAChB,YAAY,EAAE,IAAI;YAClB,YAAY;YACZ,kBAAkB;YAClB,WAAW;YACX,SAAS;SACV,CAAC;QAEF,OAAO;YACL,QAAQ,EAAE,cAAc;YACxB,UAAU,EAAE,IAAI;YAChB,mBAAmB,EAAE,CAAC,UAAU,CAAC;SAClC,CAAC;IACJ,CAAC;IAED,KAAK,CAAC,kBAAkB,CACtB,iBAAyB,EACzB,WAAmB,EACnB,MAAqB,EACrB,KAAa,EACb,YAA8B,SAAS;QAEvC,MAAM,QAAQ,GAAG,IAAI,CAAC,iBAAiB,CAAC,WAAW,EAAE,iBAAiB,CAAC,CAAC;QACxE,OAAO,YAAY,CAAC,QAAQ,EAAE,MAAM,EAAE,KAAK,EAAE,SAAS,CAAC,CAAC;IAC1D,CAAC;IAED,gBAAgB,CACd,iBAAyB,EACzB,WAAmB,EACnB,MAAqB,EACrB,KAAa,EACb,OAA+D;QAE/D,IAAI,aAAa,GAAG,MAAM,CAAC;QAC3B,IAAI,SAAS,GAAG,QAAQ,CAAC,WAAW,CAAC,CAAC,OAAO,CAAC;QAE9C,MAAM,KAAK,GAAG,WAAW,CAAC,KAAK,IAAI,EAAE;YACnC,MAAM,QAAQ,GAAG,QAAQ,CAAC,WAAW,CAAC,CAAC;YAEvC,IAAI,QAAQ,CAAC,OAAO,IAAI,SAAS,EAAE,CAAC;gBAClC,OAAO;YACT,CAAC;YAED,SAAS,GAAG,QAAQ,CAAC,OAAO,CAAC;YAE7B,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,kBAAkB,CAAC,iBAAiB,EAAE,WAAW,EAAE,aAAa,EAAE,KAAK,CAAC,CAAC;YAEjG,IAAI,IAAI,CAAC,QAAQ,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;gBAC/B,OAAO;YACT,CAAC;YAED,aAAa,GAAG,IAAI,CAAC,MAAM,CAAC;YAE5B,MAAM,OAAO,CAAC;gBACZ,QAAQ,EAAE,IAAI,CAAC,QAAQ;gBACvB,MAAM,EAAE,IAAI,CAAC,MAAM;aACpB,CAAC,CAAC;QACL,CAAC,EAAE,GAAG,CAAC,CAAC;QAER,OAAO;YACL,KAAK;gBACH,aAAa,CAAC,KAAK,CAAC,CAAC;YACvB,CAAC;SACF,CAAC;IACJ,CAAC;IAED,KAAK,CAAC,aAAa,CACjB,iBAAyB,EACzB,WAAmB;QAEnB,QAAQ,CAAC,WAAW,CAAC,CAAC;QAEtB,OAAO;YACL,QAAQ,EAAE,IAAI,CAAC,UAAU;YACzB,iBAAiB;YACjB,SAAS,EAAE,aAAa,EAAE;YAC1B,WAAW;SACZ,CAAC;IACJ,CAAC;IAED,KAAK,CAAC,YAAY,CAChB,aAAqB,EACrB,OAA4B;QAE5B,MAAM,SAAS,GAAG,MAAM,CAAC,UAAU,EAAE,CAAC;QACtC,MAAM,QAAQ,GAAG,IAAI,CAAC,sBAAsB,EAAE,CAAC,sBAAsB,CACnE,IAAI,CAAC,OAAO,CAAC,OAAO,EACpB,aAAa,EACb,SAAS,CACV,CAAC;QACF,MAAM,UAAU,GAAG,OAAO,CAAC,QAAQ,CAAC,CAAC;QACrC,eAAe,CAAC,UAAU,CAAC,CAAC;QAC5B,MAAM,GAAG,GAAG,aAAa,EAAE,CAAC;QAE5B,cAAc,CAAC,QAAQ,EAAE;YACvB,IAAI,EAAE,iBAAiB;YACvB,SAAS,EAAE,SAAS;YACpB,SAAS,EAAE,GAAG;YACd,SAAS;SACV,CAAC,CAAC;QAEH,IAAI,OAAO,CAAC,aAAa,EAAE,CAAC;YAC1B,cAAc,CAAC,QAAQ,EAAE;gBACvB,UAAU,EAAE,IAAI;gBAChB,WAAW,EAAE,KAAK;gBAClB,QAAQ,EAAE,MAAM,CAAC,UAAU,EAAE;gBAC7B,IAAI,EAAE,MAAM;gBACZ,OAAO,EAAE;oBACP,IAAI,EAAE,MAAM;oBACZ,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,OAAO,CAAC,aAAa,EAAE,CAAC;iBACzD;gBACD,IAAI,EAAE,MAAM,CAAC,UAAU,EAAE;gBACzB,SAAS,EAAE,GAAG;gBACd,GAAG,EAAE,aAAa;gBAClB,SAAS;aACV,CAAC,CAAC;QACL,CAAC;QAED,cAAc,CAAC,QAAQ,EAAE;YACvB,IAAI,EAAE,UAAU;YAChB,SAAS;YACT,OAAO,EAAE,OAAO,CAAC,aAAa,EAAE,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,IAAI,IAAI,CAAC,sBAAsB,EAAE;SAC9E,CAAC,CAAC;QAEH,OAAO;YACL,OAAO,EAAE;gBACP,QAAQ,EAAE,IAAI,CAAC,UAAU;gBACzB,iBAAiB,EAAE,SAAS;gBAC5B,KAAK,EAAE,OAAO,CAAC,aAAa,EAAE,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,IAAI,IAAI,CAAC,sBAAsB,EAAE;gBAC3E,aAAa;gBACb,WAAW,EAAE,QAAQ;gBACrB,UAAU,EAAE,KAAK;gBACjB,aAAa,EAAE,GAAG;gBAClB,YAAY,EAAE,OAAO,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;aAC5C;YACD,aAAa,EAAE,YAAY,CAAC,OAAO,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;SAC3D,CAAC;IACJ,CAAC;IAED,KAAK,CAAC,WAAW,CACf,iBAAyB,EACzB,aAAqB,EACrB,OAA2B;QAE3B,MAAM,cAAc,GAAG,IAAI,CAAC,yBAAyB,CACnD,OAAO,CAAC,WAAW,EACnB,iBAAiB,EACjB,aAAa,CACd,CAAC;QACF,MAAM,aAAa,GAAG,aAAa,CAAC,cAAc,CAAC,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;QACjF,MAAM,eAAe,GAAG,MAAM,CAAC,UAAU,EAAE,CAAC;QAC5C,MAAM,cAAc,GAAG,IAAI,CAAC,sBAAsB,EAAE,CAAC,sBAAsB,CACzE,IAAI,CAAC,OAAO,CAAC,OAAO,EACpB,aAAa,EACb,eAAe,CAChB,CAAC;QACF,MAAM,UAAU,GAAG,OAAO,CAAC,cAAc,CAAC,CAAC;QAE3C,eAAe,CAAC,UAAU,CAAC,CAAC;QAE5B,IAAI,aAAa,GAAG,aAAa,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,eAAe,CAAC,MAAM,CAAC,CAAC,CAAC;QAC3E,IAAI,uBAAuB,GAAkB,IAAI,CAAC;QAClD,IAAI,UAAU,GAAoC,qBAAqB,CAAC;QAExE,IAAI,OAAO,CAAC,UAAU,KAAK,SAAS,EAAE,CAAC;YACrC,MAAM,eAAe,GAAG,OAAO,CAAC,eAAe,EAAE,IAAI,EAAE,CAAC;YAExD,IAAI,CAAC,eAAe,EAAE,CAAC;gBACrB,MAAM,IAAI,KAAK,CAAC,iCAAiC,CAAC,CAAC;YACrD,CAAC;YAED,MAAM,MAAM,GAAG,IAAI,CAAC,gBAAgB,CAAC,aAAa,EAAE,iBAAiB,EAAE,eAAe,CAAC,CAAC;YAExF,IAAI,CAAC,MAAM,EAAE,CAAC;gBACZ,MAAM,IAAI,KAAK,CAAC,+BAA+B,CAAC,CAAC;YACnD,CAAC;YAED,aAAa,GAAG,aAAa,CAAC,KAAK,CAAC,CAAC,EAAE,MAAM,CAAC,WAAW,GAAG,CAAC,CAAC,CAAC;YAC/D,aAAa,CAAC,MAAM,CAAC,WAAW,CAAC,GAAG,wBAAwB,CAC1D,aAAa,CAAC,MAAM,CAAC,WAAW,CAAC,EACjC,MAAM,EACN,OAAO,CAAC,qBAAqB,IAAI,IAAI,CACtC,CAAC;YACF,uBAAuB,GAAG,MAAM,CAAC,uBAAuB,CAAC;YACzD,UAAU,GAAG,qBAAqB,CAAC;QACrC,CAAC;QAED,MAAM,oBAAoB,GAAG,aAAa;YACxC,8CAA8C;aAC7C,MAAM,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,8BAA8B,CAAC,MAAM,CAAC,CAAC,CAAC;QAC9D,MAAM,iBAAiB,GAAG,oBAAoB;aAC3C,GAAG,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,4BAA4B,CAAC,MAAM,EAAE,eAAe,CAAC,CAAC;aACtE,GAAG,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC;aACvC,IAAI,CAAC,IAAI,CAAC,CAAC;QAEd,aAAa,CAAC,cAAc,EAAE,GAAG,iBAAiB,IAAI,EAAE,MAAM,CAAC,CAAC;QAChE,IAAI,CAAC,YAAY,CAAC,MAAM,CAAC,cAAc,CAAC,CAAC;QACzC,IAAI,CAAC,mBAAmB,CAAC,MAAM,CAAC,cAAc,CAAC,CAAC;QAEhD,MAAM,QAAQ,GAAG,IAAI,CAAC,iBAAiB,CAAC,cAAc,EAAE,eAAe,CAAC,CAAC;QACzE,MAAM,KAAK,GAAG,IAAI,CAAC,kBAAkB,CAAC,oBAAoB,CAAC,IAAI,EAAE,CAAC;QAElE,OAAO;YACL,OAAO,EAAE;gBACP,QAAQ,EAAE,IAAI,CAAC,UAAU;gBACzB,iBAAiB,EAAE,eAAe;gBAClC,KAAK;gBACL,aAAa;gBACb,WAAW,EAAE,cAAc;gBAC3B,UAAU,EAAE,KAAK;gBACjB,aAAa,EAAE,QAAQ,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,SAAS,IAAI,aAAa,EAAE;gBAC5D,YAAY,EAAE,QAAQ,CAAC,MAAM;gBAC7B,uBAAuB,EAAE,IAAI;gBAC7B,UAAU,EAAE,KAAK;gBACjB,aAAa,EAAE,IAAI;aACpB;YACD,UAAU;YACV,cAAc,EAAE,OAAO,CAAC,UAAU;YAClC,2BAA2B,EAAE,QAAQ,CAAC,MAAM;YAC5C,uBAAuB;SACxB,CAAC;IACJ,CAAC;IAED,KAAK,CAAC,WAAW,CACf,iBAAyB,EACzB,WAAmB,EACnB,OAAe,EACf,eAA8B,EAC9B,eAA+B;QAE/B,MAAM,OAAO,GAAG,aAAa,CAAC,WAAW,CAAC,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;QACxE,MAAM,UAAU,GAAG,OAAO,CAAC,MAAM,GAAG,CAAC,CAAC;QACtC,MAAM,UAAU,GAAG,aAAa,EAAE,CAAC;QACnC,MAAM,GAAG,GACP,OAAO;aACJ,GAAG,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,UAAU,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;aACvC,IAAI,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC,IAAI,EAAE,CAAC;QAE7C,cAAc,CAAC,WAAW,EAAE;YAC1B,UAAU,EAAE,IAAI;YAChB,WAAW,EAAE,KAAK;YAClB,QAAQ,EAAE,MAAM,CAAC,UAAU,EAAE;YAC7B,IAAI,EAAE,MAAM;YACZ,OAAO,EAAE;gBACP,IAAI,EAAE,MAAM;gBACZ,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,OAAO,EAAE,CAAC;aAC3C;YACD,IAAI,EAAE,MAAM,CAAC,UAAU,EAAE;YACzB,SAAS,EAAE,UAAU;YACrB,GAAG;YACH,SAAS,EAAE,iBAAiB;YAC5B,eAAe;SAChB,CAAC,CAAC;QAEH,MAAM,MAAM,GAAG,YAAY,CAAC,IAAI,CAAC,UAAU,EAAE,WAAW,EAAE,UAAU,EAAE,CAAC,CAAC,CAAC;QACzE,IAAI,CAAC,YAAY,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC;QACtC,IAAI,CAAC,mBAAmB,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC;QAE7C,OAAO;YACL,UAAU;YACV,eAAe;YACf,OAAO,EAAE;gBACP,SAAS,EAAE,mBAAmB,CAAC,MAAM,CAAC;gBACtC,QAAQ,EAAE,IAAI,CAAC,UAAU;gBACzB,iBAAiB;gBACjB,IAAI,EAAE,MAAM;gBACZ,IAAI,EAAE,MAAM;gBACZ,OAAO;gBACP,QAAQ,EAAE,IAAI;gBACd,SAAS,EAAE,UAAU;gBACrB,QAAQ,EAAE,IAAI,CAAC,aAAa,CAC1B,WAAW,EACX,aAAa,CAAC,WAAW,CAAC,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,CAAC,IAAI,CAAC,EACvD,iBAAiB,CAClB,CAAC,MAAM;gBACR,MAAM;aACP;SACF,CAAC;IACJ,CAAC;IAED,KAAK,CAAC,gBAAgB,CACpB,iBAAyB,EACzB,WAAmB;QAEnB,IAAI,yBAAyB,CAAC,iBAAiB,EAAE,WAAW,CAAC,EAAE,CAAC;YAC9D,OAAO,EAAE,CAAC;QACZ,CAAC;QAED,QAAQ,CAAC,WAAW,CAAC,CAAC;QACtB,MAAM,OAAO,GAAG,aAAa,CAAC,WAAW,CAAC,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;QACxE,MAAM,QAAQ,GAAG,IAAI,CAAC,aAAa,CAAC,WAAW,EAAE,OAAO,EAAE,iBAAiB,CAAC,CAAC;QAE7E,OAAO,IAAI,CAAC,0BAA0B,CAAC,OAAO,EAAE,QAAQ,EAAE,WAAW,CAAC,CAAC;IACzE,CAAC;IAED,KAAK,CAAC,kBAAkB,CACtB,iBAAyB,EACzB,WAAmB,EACnB,KAAa;QAEb,MAAM,SAAS,GAAG,KAAK,CAAC,IAAI,EAAE,CAAC;QAE/B,QAAQ,CAAC,WAAW,CAAC,CAAC;QACtB,cAAc,CAAC,WAAW,EAAE;YAC1B,IAAI,EAAE,UAAU;YAChB,SAAS,EAAE,iBAAiB;YAC5B,OAAO,EAAE,SAAS;SACnB,CAAC,CAAC;QACH,IAAI,CAAC,YAAY,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC;QACtC,IAAI,CAAC,mBAAmB,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC;QAE7C,OAAO,SAAS,CAAC;IACnB,CAAC;IAED,KAAK,CAAC,yBAAyB;QAC7B,MAAM,IAAI,KAAK,CAAC,8CAA8C,CAAC,CAAC;IAClE,CAAC;IAED,KAAK,CAAC,aAAa,CACjB,iBAAyB,EACzB,WAAmB;QAEnB,MAAM,kBAAkB,GAAG,IAAI,CAAC,kCAAkC,CAChE,iBAAiB,EACjB,WAAW,CACZ,CAAC;QACF,IAAI,UAAU,GAAG,KAAK,CAAC;QAEvB,KAAK,MAAM,QAAQ,IAAI,kBAAkB,EAAE,CAAC;YAC1C,IAAI,CAAC,UAAU,CAAC,QAAQ,CAAC,EAAE,CAAC;gBAC1B,SAAS;YACX,CAAC;YAED,MAAM,CAAC,QAAQ,EAAE,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC;YAClC,IAAI,CAAC,YAAY,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;YACnC,IAAI,CAAC,mBAAmB,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;YAC1C,UAAU,GAAG,IAAI,CAAC;QACpB,CAAC;QAED,IAAI,CAAC,UAAU,EAAE,CAAC;YAChB,MAAM,IAAI,KAAK,CAAC,4BAA4B,CAAC,CAAC;QAChD,CAAC;IACH,CAAC;IAED,uBAAuB;QACrB,OAAO;YACL,QAAQ,EAAE,IAAI,CAAC,UAAU;YACzB,eAAe,EAAE,IAAI;YACrB,gBAAgB,EAAE,IAAI;YACtB,cAAc,EAAE,IAAI;YACpB,cAAc,EAAE,oBAAoB;YACpC,iBAAiB,EAAE,IAAI;YACvB,iBAAiB,EAAE,KAAK;YACxB,2BAA2B,EAAE,IAAI;YACjC,kBAAkB,EAAE,IAAI;YACxB,mBAAmB,EAAE,IAAI;YACzB,wBAAwB,EAAE,IAAI;YAC9B,0BAA0B,EAAE,IAAI;YAChC,mBAAmB,EAAE,IAAI;YACzB,qBAAqB,EAAE,IAAI;YAC3B,kBAAkB,EAAE,KAAK;YACzB,YAAY,EAAE,IAAI,CAAC,OAAO,CAAC,YAAY,IAAI,2BAA2B;YACtE,WAAW,EACT,IAAI,CAAC,OAAO,CAAC,qBAAqB;mBAC/B,CAAC,wCAAwC,CAAC;SAChD,CAAC;IACJ,CAAC;IAED,KAAK,CAAC,sBAAsB;QAC1B,OAAO,IAAI,CAAC,uBAAuB,EAAE,CAAC;IACxC,CAAC;IAED,KAAK,CAAC,gBAAgB,CACpB,iBAAyB,EACzB,WAAmB;QAEnB,QAAQ,CAAC,WAAW,CAAC,CAAC;QACtB,MAAM,OAAO,GAAG,aAAa,CAAC,WAAW,CAAC,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;QAExE,KAAK,IAAI,KAAK,GAAG,OAAO,CAAC,MAAM,GAAG,CAAC,EAAE,KAAK,IAAI,CAAC,EAAE,KAAK,IAAI,CAAC,EAAE,CAAC;YAC5D,MAAM,QAAQ,GAAG,0BAA0B,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC;YAE5D,IAAI,CAAC,QAAQ,EAAE,CAAC;gBACd,SAAS;YACX,CAAC;YAED,MAAM,mBAAmB,GAAG,sBAAsB,CAAC,QAAQ,CAAC,KAAK,CAAC,YAAY,CAAC,IAAI,CAAC,CAAC;YACrF,MAAM,wBAAwB,GAC5B,sBAAsB,CAAC,QAAQ,CAAC,KAAK,CAAC,2BAA2B,CAAC,IAAI,CAAC,CAAC;YAC1E,MAAM,oBAAoB,GAAG,sBAAsB,CAAC,QAAQ,CAAC,KAAK,CAAC,uBAAuB,CAAC,IAAI,CAAC,CAAC;YACjG,MAAM,iBAAiB,GAAG,wBAAwB,GAAG,oBAAoB,CAAC;YAC1E,MAAM,YAAY,GAAG,mBAAmB,GAAG,iBAAiB,CAAC;YAC7D,MAAM,OAAO,GAAG,UAAU,CAAC,QAAQ,CAAC,KAAK,IAAI,QAAQ,CAAC,WAAW,CAAC,CAAC,IAAI,EAAE,IAAI,IAAI,CAAC;YAClF,MAAM,aAAa,GAAG,0BAA0B,CAAC,OAAO,CAAC,CAAC;YAE1D,OAAO;gBACL,QAAQ,EAAE,IAAI,CAAC,UAAU;gBACzB,YAAY;gBACZ,mBAAmB;gBACnB,iBAAiB;gBACjB,aAAa;gBACb,UAAU,EAAE,qBAAqB,CAAC,YAAY,EAAE,aAAa,CAAC;gBAC9D,MAAM,EAAE,cAAc;gBACtB,mBAAmB,EAAE,WAAW;gBAChC,OAAO;gBACP,UAAU,EAAE,QAAQ,CAAC,QAAQ,CAAC,SAAS,EAAE,EAAE,CAAC,CAAC,IAAI,EAAE,IAAI,IAAI;gBAC3D,WAAW,EAAE,IAAI;aAClB,CAAC;QACJ,CAAC;QAED,OAAO,IAAI,CAAC;IACd,CAAC;IAEO,kBAAkB,CAAC,OAAuC;QAChE,8CAA8C;QAC9C,KAAK,IAAI,KAAK,GAAG,OAAO,CAAC,MAAM,GAAG,CAAC,EAAE,KAAK,IAAI,CAAC,EAAE,KAAK,IAAI,CAAC,EAAE,CAAC;YAC5D,MAAM,MAAM,GAAG,OAAO,CAAC,KAAK,CAAC,CAAC;YAE9B,IAAI,MAAM,EAAE,IAAI,KAAK,UAAU,EAAE,CAAC;gBAChC,SAAS;YACX,CAAC;YAED,MAAM,KAAK,GAAG,UAAU,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,IAAI,EAAE,CAAC;YAEhD,IAAI,KAAK,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBACrB,OAAO,KAAK,CAAC;YACf,CAAC;QACH,CAAC;QAED,OAAO,EAAE,CAAC;IACZ,CAAC;IAEO,0BAA0B,CAChC,OAAuC,EACvC,QAA6B,EAC7B,WAAmB;QAEnB,OAAO,CACL,IAAI,CAAC,kBAAkB,CAAC,OAAO,CAAC;YAChC,0BAA0B,CAAC,QAAQ,CAAC;YACpC,IAAI,CAAC,iBAAiB,CAAC,OAAO,CAAC;YAC/B,QAAQ,CAAC,WAAW,EAAE,QAAQ,CAAC,CAChC,CAAC;IACJ,CAAC;IAEO,iBAAiB,CAAC,OAAuC;QAC/D,KAAK,IAAI,KAAK,GAAG,OAAO,CAAC,MAAM,GAAG,CAAC,EAAE,KAAK,IAAI,CAAC,EAAE,KAAK,IAAI,CAAC,EAAE,CAAC;YAC5D,MAAM,IAAI,GAAG,UAAU,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,IAAI,CAAC,CAAC,IAAI,EAAE,CAAC;YAErD,IAAI,IAAI,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBACpB,OAAO,IAAI,CAAC;YACd,CAAC;QACH,CAAC;QAED,OAAO,EAAE,CAAC;IACZ,CAAC;IAEO,kBAAkB,CAAC,aAAqB;QAC9C,MAAM,KAAK,GAAG,IAAI,GAAG,CACnB,IAAI,CAAC,sBAAsB,EAAE,CAAC,qBAAqB,CAAC,IAAI,CAAC,OAAO,CAAC,OAAO,EAAE,aAAa,CAAC,CACzF,CAAC;QAEF,KAAK,MAAM,IAAI,IAAI,IAAI,CAAC,OAAO,CAAC,iBAAiB,IAAI,EAAE,EAAE,CAAC;YACxD,MAAM,cAAc,GAAG,IAAI,CAAC,IAAI,EAAE,CAAC;YAEnC,IAAI,CAAC,cAAc,EAAE,CAAC;gBACpB,SAAS;YACX,CAAC;YAED,KAAK,MAAM,QAAQ,IAAI,cAAc,CAAC,cAAc,CAAC,EAAE,CAAC;gBACtD,KAAK,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;YACtB,CAAC;QACH,CAAC;QAED,OAAO,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;IAC3B,CAAC;IAEO,yBAAyB,CAC/B,WAAmB,EACnB,iBAAyB,EACzB,aAAa,GAAG,EAAE;QAElB,IAAI,UAAU,CAAC,WAAW,CAAC,EAAE,CAAC;YAC5B,OAAO,WAAW,CAAC;QACrB,CAAC;QAED,MAAM,kBAAkB,GAAG,IAAI,CAAC,sBAAsB,EAAE,CAAC,eAAe,CACtE,IAAI,CAAC,OAAO,CAAC,OAAO,EACpB,aAAa,EACb,iBAAiB,CAClB,CAAC;QAEF,IAAI,kBAAkB,EAAE,CAAC;YACvB,OAAO,kBAAkB,CAAC;QAC5B,CAAC;QAED,MAAM,IAAI,KAAK,CAAC,4BAA4B,CAAC,CAAC;IAChD,CAAC;IAEO,kCAAkC,CACxC,iBAAyB,EACzB,WAAmB;QAEnB,MAAM,UAAU,GAAG,IAAI,GAAG,EAAU,CAAC;QACrC,MAAM,qBAAqB,GAAG,WAAW,CAAC,IAAI,EAAE,CAAC;QAEjD,IAAI,qBAAqB,EAAE,CAAC;YAC1B,UAAU,CAAC,GAAG,CAAC,qBAAqB,CAAC,CAAC;QACxC,CAAC;QAED,MAAM,wBAAwB,GAAG,IAAI,CAAC,sBAAsB,EAAE,CAAC,eAAe,CAC5E,IAAI,CAAC,OAAO,CAAC,OAAO,EACpB,EAAE,EACF,iBAAiB,CAClB,CAAC;QAEF,IAAI,wBAAwB,EAAE,CAAC;YAC7B,UAAU,CAAC,GAAG,CAAC,wBAAwB,CAAC,CAAC;QAC3C,CAAC;QAED,OAAO,KAAK,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;IAChC,CAAC;IAEO,gBAAgB,CACtB,OAAuC,EACvC,iBAAyB,EACzB,eAAuB;QAEvB,MAAM,YAAY,GAAG,IAAI,GAAG,EAAkB,CAAC;QAC/C,MAAM,0BAA0B,GAAG,IAAI,GAAG,EAAkC,CAAC;QAC7E,MAAM,6BAA6B,GAAG,IAAI,GAAG,EAA6B,CAAC;QAC3E,IAAI,QAAQ,GAAG,CAAC,CAAC;QACjB,IAAI,OAAO,GAAoC,IAAI,CAAC;QAEpD,OAAO,CAAC,OAAO,CAAC,CAAC,MAAM,EAAE,WAAW,EAAE,EAAE;YACtC,IAAI,CAAC,uBAAuB,CAAC,MAAM,CAAC,CAAC,OAAO,CAAC,CAAC,QAAQ,EAAE,EAAE;gBACxD,MAAM,KAAK,GAAG,2BAA2B,CAAC,QAAQ,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;gBAEpE,KAAK,CAAC,OAAO,CAAC,CAAC,IAAI,EAAE,SAAS,EAAE,EAAE;oBAChC,MAAM,UAAU,GAAG,0BAA0B,CAAC;wBAC5C,IAAI;wBACJ,QAAQ;wBACR,UAAU,EAAE,IAAI,CAAC,UAAU;wBAC3B,iBAAiB;wBACjB,SAAS;wBACT,SAAS,EAAE,QAAQ,CAAC,QAAQ,CAAC,SAAS,EAAE,aAAa,EAAE,CAAC;wBACxD,YAAY;wBACZ,uBAAuB,EAAE,CAAC,QAAQ,EAAE,EAAE;4BACpC,MAAM,QAAQ,GAAG,0BAA0B,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;4BAE1D,IAAI,QAAQ,EAAE,CAAC;gCACb,OAAO,QAAQ,CAAC;4BAClB,CAAC;4BAED,QAAQ,IAAI,CAAC,CAAC;4BACd,MAAM,OAAO,GAA2B;gCACtC,QAAQ;gCACR,MAAM,EAAE,uBAAuB,CAAC,QAAQ,EAAE,IAAI,CAAC,UAAU,CAAC;6BAC3D,CAAC;4BACF,0BAA0B,CAAC,GAAG,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC;4BAClD,OAAO,OAAO,CAAC;wBACjB,CAAC;qBACF,CAAC,CAAC;oBAEH,IAAI,CAAC,UAAU,EAAE,CAAC;wBAChB,OAAO;oBACT,CAAC;oBAED,IAAI,UAAU,CAAC,IAAI,KAAK,MAAM,EAAE,CAAC;wBAC/B,6BAA6B,CAAC,KAAK,EAAE,CAAC;oBACxC,CAAC;oBAED,MAAM,QAAQ,GAAG,8BAA8B,CAAC,UAAU,EAAE,SAAS,CAAC,CAAC;oBACvE,MAAM,mBAAmB,GAAG,QAAQ;wBAClC,CAAC,CAAC,6BAA6B,CAAC,GAAG,CAAC,QAAQ,CAAC,IAAI,IAAI;wBACrD,CAAC,CAAC,IAAI,CAAC;oBACT,MAAM,WAAW,GACf,mBAAmB,IAAI,oCAAoC,CAAC,mBAAmB,EAAE,UAAU,CAAC;wBAC1F,CAAC,CAAC;4BACE,GAAG,UAAU;4BACb,SAAS,EAAE,mBAAmB,CAAC,SAAS;4BACxC,MAAM,EAAE,mBAAmB,CAAC,MAAM;4BAClC,QAAQ,EAAE,mBAAmB,CAAC,QAAQ;yBACvC;wBACH,CAAC,CAAC,UAAU,CAAC;oBAEjB,IAAI,QAAQ,EAAE,CAAC;wBACb,6BAA6B,CAAC,GAAG,CAAC,QAAQ,EAAE,WAAW,CAAC,CAAC;oBAC3D,CAAC;oBAED,IAAI,WAAW,CAAC,SAAS,KAAK,eAAe,EAAE,CAAC;wBAC9C,OAAO,GAAG;4BACR,WAAW;4BACX,SAAS;4BACT,YAAY,EAAE,QAAQ,CAAC,MAAM;4BAC7B,uBAAuB,EAAE,QAAQ,CAAC,SAAS;yBAC5C,CAAC;oBACJ,CAAC;gBACH,CAAC,CAAC,CAAC;YACL,CAAC,CAAC,CAAC;QACL,CAAC,CAAC,CAAC;QAEH,OAAO,OAAO,CAAC;IACjB,CAAC;IAEO,iBAAiB,CAAC,QAAgB,EAAE,iBAAyB;QACnE,MAAM,KAAK,GAAG,QAAQ,CAAC,QAAQ,CAAC,CAAC;QACjC,MAAM,MAAM,GAAG,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;QAE/C,IACE,MAAM;eACH,MAAM,CAAC,iBAAiB,KAAK,iBAAiB;eAC9C,MAAM,CAAC,OAAO,KAAK,KAAK,CAAC,OAAO;eAChC,MAAM,CAAC,IAAI,KAAK,KAAK,CAAC,IAAI,EAC7B,CAAC;YACD,IAAI,CAAC,iBAAiB,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAC;YACzC,OAAO,MAAM,CAAC,QAAQ,CAAC;QACzB,CAAC;QAED,MAAM,OAAO,GAAG,aAAa,CAAC,QAAQ,CAAC,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;QACrE,MAAM,QAAQ,GAAG,IAAI,CAAC,aAAa,CAAC,QAAQ,EAAE,OAAO,EAAE,iBAAiB,CAAC,CAAC;QAC1E,IAAI,CAAC,iBAAiB,CAAC,QAAQ,EAAE;YAC/B,QAAQ;YACR,iBAAiB;YACjB,OAAO,EAAE,KAAK,CAAC,OAAO;YACtB,IAAI,EAAE,KAAK,CAAC,IAAI;YAChB,QAAQ;SACT,CAAC,CAAC;QACH,OAAO,QAAQ,CAAC;IAClB,CAAC;IAEO,iBAAiB,CAAC,QAAgB,EAAE,KAA8B;QACxE,IAAI,CAAC,YAAY,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;QACnC,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,QAAQ,EAAE,KAAK,CAAC,CAAC;QAEvC,OAAO,IAAI,CAAC,YAAY,CAAC,IAAI,GAAG,mBAAmB,EAAE,CAAC;YACpD,MAAM,SAAS,GAAG,IAAI,CAAC,YAAY,CAAC,IAAI,EAAE,CAAC,IAAI,EAAE,CAAC,KAAK,CAAC;YAExD,IAAI,CAAC,SAAS,EAAE,CAAC;gBACf,MAAM;YACR,CAAC;YAED,IAAI,CAAC,YAAY,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC;QACtC,CAAC;IACH,CAAC;IAEO,wBAAwB,CAAC,QAAgB,EAAE,KAAqC;QACtF,IAAI,CAAC,mBAAmB,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;QAC1C,IAAI,CAAC,mBAAmB,CAAC,GAAG,CAAC,QAAQ,EAAE,KAAK,CAAC,CAAC;QAE9C,OAAO,IAAI,CAAC,mBAAmB,CAAC,IAAI,GAAG,2BAA2B,EAAE,CAAC;YACnE,MAAM,SAAS,GAAG,IAAI,CAAC,mBAAmB,CAAC,IAAI,EAAE,CAAC,IAAI,EAAE,CAAC,KAAK,CAAC;YAE/D,IAAI,CAAC,SAAS,EAAE,CAAC;gBACf,MAAM;YACR,CAAC;YAED,IAAI,CAAC,mBAAmB,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC;QAC7C,CAAC;IACH,CAAC;IAEO,aAAa,CACnB,QAAgB,EAChB,OAAuC,EACvC,iBAAiB,GAAG,QAAQ,CAAC,QAAQ,EAAE,QAAQ,CAAC;QAEhD,MAAM,cAAc,GAIf,EAAE,CAAC;QACR,MAAM,qBAAqB,GAAG,IAAI,GAAG,EAAkB,CAAC;QACxD,MAAM,YAAY,GAAG,IAAI,GAAG,EAAkB,CAAC;QAC/C,MAAM,0BAA0B,GAAG,IAAI,GAAG,EAAkC,CAAC;QAC7E,MAAM,6BAA6B,GAAG,IAAI,GAAG,EAA6B,CAAC;QAC3E,IAAI,QAAQ,GAAG,CAAC,CAAC;QACjB,IAAI,cAAc,GAAG,CAAC,CAAC;QACvB,MAAM,eAAe,GAAG,IAAI,GAAG,EAAkB,CAAC;QAElD,OAAO,CAAC,OAAO,CAAC,CAAC,MAAM,EAAE,WAAW,EAAE,EAAE;YACtC,IAAI,CAAC,uBAAuB,CAAC,MAAM,CAAC,CAAC,OAAO,CAAC,CAAC,QAAQ,EAAE,aAAa,EAAE,EAAE;gBACvE,MAAM,KAAK,GAAG,2BAA2B,CAAC,QAAQ,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;gBACpE,MAAM,QAAQ,GAAG,2BAA2B,CAAC,QAAQ,EAAE,MAAM,EAAE,WAAW,EAAE,aAAa,CAAC,CAAC;gBAC3F,MAAM,UAAU,GAAG,CAAC,GAAG,EAAE;oBACvB,MAAM,QAAQ,GAAG,eAAe,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;oBAE/C,IAAI,QAAQ,KAAK,SAAS,EAAE,CAAC;wBAC3B,OAAO,QAAQ,CAAC;oBAClB,CAAC;oBAED,cAAc,IAAI,CAAC,CAAC;oBACpB,eAAe,CAAC,GAAG,CAAC,QAAQ,EAAE,cAAc,CAAC,CAAC;oBAC9C,OAAO,cAAc,CAAC;gBACxB,CAAC,CAAC,EAAE,CAAC;gBAEL,KAAK,CAAC,OAAO,CAAC,CAAC,IAAI,EAAE,SAAS,EAAE,EAAE;oBAChC,MAAM,UAAU,GAAG,0BAA0B,CAAC;wBAC5C,IAAI;wBACJ,QAAQ;wBACR,UAAU,EAAE,IAAI,CAAC,UAAU;wBAC3B,iBAAiB;wBACjB,SAAS;wBACT,SAAS,EAAE,QAAQ,CAAC,QAAQ,CAAC,SAAS,EAAE,aAAa,EAAE,CAAC;wBACxD,YAAY;wBACZ,uBAAuB,EAAE,CAAC,QAAQ,EAAE,EAAE;4BACpC,MAAM,QAAQ,GAAG,0BAA0B,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;4BAE1D,IAAI,QAAQ,EAAE,CAAC;gCACb,OAAO,QAAQ,CAAC;4BAClB,CAAC;4BAED,QAAQ,IAAI,CAAC,CAAC;4BACd,MAAM,OAAO,GAA2B;gCACtC,QAAQ;gCACR,MAAM,EAAE,uBAAuB,CAAC,QAAQ,EAAE,IAAI,CAAC,UAAU,CAAC;6BAC3D,CAAC;4BACF,0BAA0B,CAAC,GAAG,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC;4BAClD,OAAO,OAAO,CAAC;wBACjB,CAAC;qBACF,CAAC,CAAC;oBAEH,IAAI,CAAC,UAAU,EAAE,CAAC;wBAChB,OAAO;oBACT,CAAC;oBAED,IAAI,UAAU,CAAC,IAAI,KAAK,MAAM,EAAE,CAAC;wBAC/B,6BAA6B,CAAC,KAAK,EAAE,CAAC;oBACxC,CAAC;oBAED,MAAM,QAAQ,GAAG,8BAA8B,CAAC,UAAU,EAAE,SAAS,CAAC,CAAC;oBACvE,MAAM,mBAAmB,GAAG,QAAQ;wBAClC,CAAC,CAAC,6BAA6B,CAAC,GAAG,CAAC,QAAQ,CAAC,IAAI,IAAI;wBACrD,CAAC,CAAC,IAAI,CAAC;oBACT,MAAM,WAAW,GACf,mBAAmB,IAAI,oCAAoC,CAAC,mBAAmB,EAAE,UAAU,CAAC;wBAC1F,CAAC,CAAC;4BACE,GAAG,UAAU;4BACb,SAAS,EAAE,mBAAmB,CAAC,SAAS;4BACxC,MAAM,EAAE,mBAAmB,CAAC,MAAM;4BAClC,QAAQ,EAAE,mBAAmB,CAAC,QAAQ;yBACvC;wBACH,CAAC,CAAC,UAAU,CAAC;oBAEjB,IAAI,QAAQ,EAAE,CAAC;wBACb,6BAA6B,CAAC,GAAG,CAAC,QAAQ,EAAE,WAAW,CAAC,CAAC;oBAC3D,CAAC;oBAED,MAAM,SAAS,GAAG,2BAA2B,CAAC,WAAW,CAAC,CAAC;oBAC3D,MAAM,iBAAiB,GAAG,qBAAqB,CAAC,GAAG,CAAC,WAAW,CAAC,SAAS,CAAC,CAAC;oBAC3E,MAAM,OAAO,GACX,iBAAiB,KAAK,SAAS;wBAC7B,CAAC,CAAC,IAAI;wBACN,CAAC,CAAC,CAAC,cAAc,CAAC,iBAAiB,CAAC,EAAE,OAAO,IAAI,IAAI,CAAC,CAAC;oBAE3D,IAAI,OAAO,IAAI,2BAA2B,CAAC,OAAO,CAAC,KAAK,SAAS,EAAE,CAAC;wBAClE,OAAO;oBACT,CAAC;oBAED,IAAI,iBAAiB,KAAK,SAAS,EAAE,CAAC;wBACpC,qBAAqB,CAAC,GAAG,CAAC,WAAW,CAAC,SAAS,EAAE,cAAc,CAAC,MAAM,CAAC,CAAC;wBACxE,cAAc,CAAC,IAAI,CAAC;4BAClB,OAAO,EAAE,WAAW;4BACpB,UAAU;4BACV,SAAS;yBACV,CAAC,CAAC;wBACH,OAAO;oBACT,CAAC;oBAED,cAAc,CAAC,iBAAiB,CAAC,GAAG;wBAClC,OAAO,EAAE,WAAW;wBACpB,UAAU;wBACV,SAAS;qBACV,CAAC;gBACJ,CAAC,CAAC,CAAC;YACL,CAAC,CAAC,CAAC;QACL,CAAC,CAAC,CAAC;QAEH,OAAO,cAAc;aAClB,IAAI,CAAC,CAAC,IAAI,EAAE,KAAK,EAAE,EAAE;YACpB,IAAI,IAAI,CAAC,UAAU,KAAK,KAAK,CAAC,UAAU,EAAE,CAAC;gBACzC,OAAO,IAAI,CAAC,UAAU,GAAG,KAAK,CAAC,UAAU,CAAC;YAC5C,CAAC;YAED,MAAM,SAAS,GACb,6BAA6B,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC;kBAC9C,6BAA6B,CAAC,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;YAEtD,IAAI,SAAS,KAAK,CAAC,EAAE,CAAC;gBACpB,OAAO,SAAS,CAAC;YACnB,CAAC;YAED,IAAI,IAAI,CAAC,SAAS,KAAK,KAAK,CAAC,SAAS,EAAE,CAAC;gBACvC,OAAO,IAAI,CAAC,SAAS,GAAG,KAAK,CAAC,SAAS,CAAC;YAC1C,CAAC;YAED,MAAM,cAAc,GAAG,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC,aAAa,CAAC,KAAK,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;YAErF,IAAI,cAAc,KAAK,CAAC,EAAE,CAAC;gBACzB,OAAO,cAAc,CAAC;YACxB,CAAC;YAED,OAAO,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,aAAa,CAAC,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;QACjE,CAAC,CAAC;aACD,GAAG,CAAC,CAAC,KAAK,EAAE,KAAK,EAAE,EAAE,CAAC,CAAC;YACtB,GAAG,KAAK,CAAC,OAAO;YAChB,QAAQ,EAAE,KAAK,GAAG,CAAC;SACpB,CAAC,CAAC,CAAC;IACR,CAAC;IAEO,uBAAuB,CAAC,MAA+B;QAC7D,MAAM,SAAS,GAA4B,EAAE,CAAC;QAC9C,MAAM,UAAU,GAAG,UAAU,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;QAC3C,MAAM,aAAa,GAAG,cAAc,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;QAErD,IAAI,UAAU,KAAK,MAAM,IAAI,UAAU,KAAK,WAAW,EAAE,CAAC;YACxD,SAAS,CAAC,IAAI,CAAC;gBACb,IAAI,EAAE,UAAU;gBAChB,MAAM,EAAE,QAAQ;gBAChB,SAAS,EAAE,mBAAmB,CAAC,aAAa,EAAE,MAAM,CAAC;gBACrD,SAAS,EAAE,MAAM,CAAC,SAAS;gBAC3B,OAAO,EAAE,aAAiD;aAC3D,CAAC,CAAC;QACL,CAAC;QAED,MAAM,eAAe,GAAG,IAAI,CAAC,oBAAoB,CAAC,MAAM,CAAC,CAAC;QAE1D,IAAI,eAAe,EAAE,CAAC;YACpB,SAAS,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC;QAClC,CAAC;QAED,OAAO,SAAS,CAAC;IACnB,CAAC;IAEO,oBAAoB,CAAC,MAA+B;QAC1D,IAAI,UAAU,CAAC,MAAM,CAAC,IAAI,CAAC,KAAK,UAAU,EAAE,CAAC;YAC3C,OAAO,IAAI,CAAC;QACd,CAAC;QAED,MAAM,MAAM,GAAG,cAAc,CAAC,cAAc,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,OAAO,CAAC,CAAC;QACnE,MAAM,UAAU,GAAG,UAAU,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;QAC3C,MAAM,aAAa,GAAG,cAAc,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;QAErD,IAAI,UAAU,KAAK,MAAM,IAAI,UAAU,KAAK,WAAW,EAAE,CAAC;YACxD,OAAO,IAAI,CAAC;QACd,CAAC;QAED,OAAO;YACL,IAAI,EAAE,UAAU;YAChB,MAAM,EAAE,UAAU;YAClB,SAAS,EAAE,mBAAmB,CAAC,aAAa,EAAE,MAAM,CAAC;YACrD,SAAS,EAAE,MAAM,CAAC,SAAS,IAAI,MAAM,CAAC,SAAS;YAC/C,OAAO,EAAE,aAAiD;SAC3D,CAAC;IACJ,CAAC;IAEO,sBAAsB;QAC5B,OAAO,IAAI,CAAC,OAAO,CAAC,mBAAmB,IAAI,iCAAiC,CAAC;IAC/E,CAAC;IAEO,sBAAsB;QAC5B,OAAO,IAAI,CAAC,OAAO,CAAC,mBAAmB,IAAI,yBAAyB,CAAC;IACvE,CAAC;CACF;AAED,SAAS,2BAA2B,CAClC,QAA+B,EAC/B,MAA+B,EAC/B,WAAmB,EACnB,aAAqB;IAErB,IAAI,QAAQ,CAAC,SAAS,EAAE,CAAC;QACvB,OAAO,GAAG,QAAQ,CAAC,IAAI,YAAY,QAAQ,CAAC,SAAS,EAAE,CAAC;IAC1D,CAAC;IAED,MAAM,SAAS,GACb,UAAU,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC,IAAI,EAAE;WAChC,UAAU,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC,IAAI,EAAE;WACpC,SAAS,CAAC;IACf,MAAM,SAAS,GAAG,UAAU,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC,IAAI,EAAE,IAAI,UAAU,WAAW,EAAE,CAAC;IAEjF,OAAO,GAAG,QAAQ,CAAC,IAAI,IAAI,QAAQ,CAAC,MAAM,IAAI,SAAS,IAAI,SAAS,IAAI,WAAW,IAAI,aAAa,EAAE,CAAC;AACzG,CAAC;AAED,SAAS,6BAA6B,CAAC,IAA+B;IACpE,QAAQ,IAAI,EAAE,CAAC;QACb,KAAK,UAAU;YACb,OAAO,CAAC,CAAC;QACX,KAAK,MAAM;YACT,OAAO,CAAC,CAAC;QACX,KAAK,WAAW;YACd,OAAO,CAAC,CAAC;QACX,KAAK,aAAa;YAChB,OAAO,CAAC,CAAC;QACX;YACE,OAAO,CAAC,CAAC;IACb,CAAC;AACH,CAAC;AAED,SAAS,yBAAyB,CAAC,iBAAyB,EAAE,WAAmB;IAC/E,IAAI,iBAAiB,CAAC,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC,UAAU,CAAC,YAAY,CAAC,EAAE,CAAC;QACpE,OAAO,IAAI,CAAC;IACd,CAAC;IAED,MAAM,qBAAqB,GAAG,WAAW,CAAC,UAAU,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC,WAAW,EAAE,CAAC;IAC9E,OAAO,qBAAqB,CAAC,QAAQ,CAAC,YAAY,CAAC,CAAC;AACtD,CAAC;AAED,SAAS,0BAA0B,CAAC,QAA6B;IAC/D,MAAM,gBAAgB,GAAG,QAAQ,CAAC,IAAI,CACpC,CAAC,OAAO,EAAE,EAAE,CAAC,OAAO,CAAC,IAAI,KAAK,MAAM,IAAI,CAAC,oCAAoC,CAAC,OAAO,CAAC,OAAO,CAAC,CAC/F,CAAC;IAEF,IAAI,gBAAgB,EAAE,CAAC;QACrB,OAAO,2BAA2B,CAAC,gBAAgB,CAAC,OAAO,CAAC,CAAC;IAC/D,CAAC;IAED,MAAM,gBAAgB,GAAG,QAAQ,CAAC,IAAI,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,OAAO,CAAC,IAAI,KAAK,MAAM,CAAC,CAAC;IAC7E,OAAO,2BAA2B,CAAC,gBAAgB,EAAE,OAAO,CAAC,CAAC;AAChE,CAAC;AAED,SAAS,2BAA2B,CAAC,OAAkC;IACrE,MAAM,UAAU,GAAG,UAAU,CAAC,OAAO,CAAC,CAAC,IAAI,EAAE,CAAC,OAAO,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;IAEnE,IAAI,UAAU,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QAC5B,OAAO,IAAI,CAAC;IACd,CAAC;IAED,OAAO,UAAU,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;AACjC,CAAC;AAED,SAAS,oCAAoC,CAAC,OAAe;IAC3D,MAAM,UAAU,GAAG,OAAO,CAAC,IAAI,EAAE,CAAC;IAElC,IAAI,UAAU,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QAC5B,OAAO,IAAI,CAAC;IACd,CAAC;IAED,IAAI,2BAA2B,CAAC,UAAU,CAAC,EAAE,CAAC;QAC5C,OAAO,IAAI,CAAC;IACd,CAAC;IAED,OAAO,0EAA0E,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;AACrG,CAAC;AAED,SAAS,2BAA2B,CAAC,OAAe;IAClD,MAAM,qBAAqB,GAAG,sCAAsC,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;IAEnF,IAAI,qBAAqB,EAAE,CAAC;QAC1B,OAAO,IAAI,CAAC;IACd,CAAC;IAED,OAAO,8BAA8B,CAAC,IAAI,CAAC,OAAO,CAAC;WAC9C,iBAAiB,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;AACvC,CAAC;AAED,SAAS,eAAe,CAAI,KAAQ;IAClC,OAAO,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,CAAM,CAAC;AAChD,CAAC;AAED,SAAS,4BAA4B,CACnC,MAA+B,EAC/B,SAAiB;IAEjB,MAAM,UAAU,GAAG,eAAe,CAAC,MAAM,CAAC,CAAC;IAE3C,+BAA+B,CAAC,UAAU,EAAE,SAAS,CAAC,CAAC;IACvD,OAAO,UAAU,CAAC;AACpB,CAAC;AAED,SAAS,+BAA+B,CAAC,KAAc,EAAE,SAAiB;IACxE,IAAI,CAAC,KAAK,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE,CAAC;QACxC,OAAO;IACT,CAAC;IAED,IAAI,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC;QACzB,KAAK,CAAC,OAAO,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,+BAA+B,CAAC,IAAI,EAAE,SAAS,CAAC,CAAC,CAAC;QAC1E,OAAO;IACT,CAAC;IAED,MAAM,MAAM,GAAG,KAAgC,CAAC;IAEhD,IAAI,OAAO,MAAM,CAAC,SAAS,KAAK,QAAQ,IAAI,MAAM,CAAC,SAAS,CAAC,IAAI,EAAE,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QAC/E,MAAM,CAAC,SAAS,GAAG,SAAS,CAAC;IAC/B,CAAC;IAED,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,OAAO,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,+BAA+B,CAAC,MAAM,EAAE,SAAS,CAAC,CAAC,CAAC;AAChG,CAAC;AAED,SAAS,wBAAwB,CAC/B,MAA+B,EAC/B,MAAgC,EAChC,WAAwD,IAAI;IAE5D,MAAM,UAAU,GAAG,eAAe,CAAC,MAAM,CAAC,CAAC;IAE3C,IAAI,MAAM,CAAC,YAAY,KAAK,UAAU,EAAE,CAAC;QACvC,MAAM,YAAY,GAAG,cAAc,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC;QACrD,MAAM,cAAc,GAAG,cAAc,CAAC,YAAY,CAAC,OAAO,CAAC,CAAC;QAE5D,cAAc,CAAC,OAAO,GAAG,4BAA4B,CACnD,cAAc,CAAC,cAAc,CAAC,OAAO,CAAC,EACtC,MAAM,CAAC,SAAS,EAChB,QAAQ,CACT,CAAC;QACF,YAAY,CAAC,OAAO,GAAG,cAAc,CAAC;QACtC,UAAU,CAAC,IAAI,GAAG,YAAY,CAAC;QAC/B,OAAO,UAAU,CAAC;IACpB,CAAC;IAED,UAAU,CAAC,OAAO,GAAG,4BAA4B,CAC/C,cAAc,CAAC,UAAU,CAAC,OAAO,CAAC,EAClC,MAAM,CAAC,SAAS,EAChB,QAAQ,CACT,CAAC;IACF,OAAO,UAAU,CAAC;AACpB,CAAC;AAED,SAAS,4BAA4B,CACnC,OAAgC,EAChC,SAAiB,EACjB,WAAwD,IAAI;IAE5D,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC;IAEhC,IAAI,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,EAAE,CAAC;QAC3B,MAAM,SAAS,GAAG,OAAO,CAAC,KAAK,CAAC,CAAC,EAAE,SAAS,GAAG,CAAC,CAAC,CAAC;QAClD,MAAM,UAAU,GAAG,SAAS,CAAC,SAAS,CAAC,CAAC;QAExC,IAAI,QAAQ,IAAI,UAAU,IAAI,OAAO,UAAU,KAAK,QAAQ,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,UAAU,CAAC,EAAE,CAAC;YAC3F,MAAM,QAAQ,GAAG,EAAE,GAAI,UAAsC,EAAE,CAAC;YAEhE,IAAI,QAAQ,CAAC,IAAI,KAAK,UAAU,EAAE,CAAC;gBACjC,QAAQ,CAAC,QAAQ,GAAG,QAAQ,CAAC,OAAO,CAAC;YACvC,CAAC;iBAAM,CAAC;gBACN,QAAQ,CAAC,IAAI,GAAG,QAAQ,CAAC,OAAO,CAAC;YACnC,CAAC;YAED,SAAS,CAAC,SAAS,CAAC,GAAG,QAAQ,CAAC;QAClC,CAAC;QAED,OAAO,CAAC,OAAO,GAAG,SAAS,CAAC;IAC9B,CAAC;IAED,OAAO,OAAO,CAAC;AACjB,CAAC;AAED,SAAS,8BAA8B,CAAC,MAA+B;IACrE,OAAO,MAAM,CAAC,IAAI,KAAK,UAAU,CAAC;AACpC,CAAC;AAED;;;;GAIG;AACH,SAAS,oBAAoB,CAC3B,gBAAoD,EACpD,aAAqB;IAErB,MAAM,QAAQ,GAAG,gBAAgB,EAAE,aAAa,EAAE,IAAI,EAAE,CAAC;IACzD,IAAI,CAAC,QAAQ,EAAE,CAAC;QACd,OAAO,aAAa,CAAC;IACvB,CAAC;IACD,MAAM,WAAW,GAAG,QAAQ;SACzB,KAAK,CAAC,GAAG,CAAC;SACV,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;SACpB,MAAM,CAAC,OAAO,CAAC;SACf,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC;IACV,OAAO,WAAW,IAAI,aAAa,CAAC;AACtC,CAAC;AAED,SAAS,gCAAgC,CACvC,KAAe;IAEf,MAAM,kBAAkB,GAAG,IAAI,GAAG,EAAkC,CAAC;IACrE,MAAM,WAAW,GAAG,IAAI,GAAG,CAAC,KAAK,CAAC,CAAC;IAEnC,KAAK,MAAM,QAAQ,IAAI,KAAK,EAAE,CAAC;QAC7B,MAAM,QAAQ,GAAG,+BAA+B,CAAC,QAAQ,CAAC,CAAC;QAE3D,IAAI,CAAC,QAAQ,EAAE,CAAC;YACd,SAAS;QACX,CAAC;QAED,kBAAkB,CAAC,GAAG,CAAC,QAAQ,EAAE,QAAQ,CAAC,CAAC;IAC7C,CAAC;IAED,KAAK,MAAM,QAAQ,IAAI,KAAK,EAAE,CAAC;QAC7B,MAAM,OAAO,GAAG,aAAa,CAAC,QAAQ,CAAC,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;QACrE,MAAM,iBAAiB,GAAG,4BAA4B,CAAC,QAAQ,EAAE,OAAO,EAAE,WAAW,CAAC,CAAC;QAEvF,KAAK,MAAM,CAAC,aAAa,EAAE,QAAQ,CAAC,IAAI,iBAAiB,EAAE,CAAC;YAC1D,MAAM,QAAQ,GAAG,kBAAkB,CAAC,GAAG,CAAC,aAAa,CAAC,CAAC;YAEvD,IAAI,CAAC,QAAQ,EAAE,CAAC;gBACd,kBAAkB,CAAC,GAAG,CAAC,aAAa,EAAE,QAAQ,CAAC,CAAC;gBAChD,SAAS;YACX,CAAC;YAED,kBAAkB,CAAC,GAAG,CAAC,aAAa,EAAE;gBACpC,GAAG,QAAQ;gBACX,aAAa,EAAE,QAAQ,CAAC,aAAa,IAAI,QAAQ,CAAC,aAAa;aAChE,CAAC,CAAC;QACL,CAAC;IACH,CAAC;IAED,OAAO,kBAAkB,CAAC;AAC5B,CAAC;AAED,SAAS,+BAA+B,CAAC,QAAgB;IACvD,MAAM,cAAc,GAAG,QAAQ,CAAC,UAAU,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC;IACtD,MAAM,OAAO,GAAG,cAAc,CAAC,KAAK,CAAC,wCAAwC,CAAC,CAAC;IAE/E,IAAI,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC;QACjC,OAAO,IAAI,CAAC;IACd,CAAC;IAED,MAAM,uBAAuB,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC;IAC3C,MAAM,aAAa,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC;IAEjC,OAAO;QACL,iBAAiB,EAAE,GAAG,uBAAuB,KAAK,aAAa,EAAE;QACjE,uBAAuB;QACvB,aAAa,EAAE,2BAA2B,CAAC,QAAQ,CAAC;KACrD,CAAC;AACJ,CAAC;AAED,SAAS,4BAA4B,CACnC,QAAgB,EAChB,OAAuC,EACvC,WAAgC;IAEhC,MAAM,iBAAiB,GAAG,IAAI,GAAG,EAAkC,CAAC;IACpE,MAAM,mBAAmB,GAAG,IAAI,GAAG,EAMhC,CAAC;IACJ,MAAM,SAAS,GAAG,OAAO,CAAC,QAAQ,CAAC,CAAC;IAEpC,KAAK,MAAM,MAAM,IAAI,OAAO,EAAE,CAAC;QAC7B,MAAM,SAAS,GAAG,UAAU,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC,IAAI,EAAE,CAAC;QAEtD,IAAI,CAAC,SAAS,EAAE,CAAC;YACf,SAAS;QACX,CAAC;QAED,KAAK,MAAM,OAAO,IAAI,2BAA2B,CAAC,MAAM,CAAC,EAAE,CAAC;YAC1D,IAAI,OAAO,CAAC,IAAI,KAAK,WAAW,EAAE,CAAC;gBACjC,KAAK,MAAM,WAAW,IAAI,yBAAyB,CAAC,OAAO,CAAC,OAAO,CAAC,EAAE,CAAC;oBACrE,mBAAmB,CAAC,GAAG,CAAC,WAAW,CAAC,SAAS,EAAE;wBAC7C,uBAAuB,EAAE,SAAS;wBAClC,aAAa,EAAE,yBAAyB,CACtC,WAAW,CAAC,YAAY,EACxB,WAAW,CAAC,WAAW,CACxB;qBACF,CAAC,CAAC;gBACL,CAAC;gBAED,SAAS;YACX,CAAC;YAED,IAAI,OAAO,CAAC,IAAI,KAAK,MAAM,EAAE,CAAC;gBAC5B,SAAS;YACX,CAAC;YAED,KAAK,MAAM,SAAS,IAAI,0BAA0B,CAAC,OAAO,CAAC,OAAO,CAAC,EAAE,CAAC;gBACpE,MAAM,WAAW,GAAG,mBAAmB,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;gBACvD,MAAM,aAAa,GAAG,4BAA4B,CAAC,2BAA2B,CAAC,MAAM,CAAC,CAAC,CAAC;gBAExF,IAAI,CAAC,WAAW,IAAI,CAAC,aAAa,EAAE,CAAC;oBACnC,SAAS;gBACX,CAAC;gBAED,6EAA6E;gBAC7E,mDAAmD;gBACnD,MAAM,aAAa,GAAG,IAAI,CAAC,SAAS,EAAE,SAAS,EAAE,WAAW,EAAE,GAAG,aAAa,QAAQ,CAAC,CAAC;gBACxF,MAAM,gBAAgB,GAAG,IAAI,CAAC,SAAS,EAAE,GAAG,aAAa,QAAQ,CAAC,CAAC;gBACnE,MAAM,gBAAgB,GAAG,WAAW,CAAC,GAAG,CAAC,aAAa,CAAC;oBACrD,CAAC,CAAC,aAAa;oBACf,CAAC,CAAC,WAAW,CAAC,GAAG,CAAC,gBAAgB,CAAC;wBACjC,CAAC,CAAC,gBAAgB;wBAClB,CAAC,CAAC,IAAI,CAAC;gBAEX,IAAI,CAAC,gBAAgB,EAAE,CAAC;oBACtB,SAAS;gBACX,CAAC;gBAED,iBAAiB,CAAC,GAAG,CAAC,gBAAgB,EAAE;oBACtC,iBAAiB,EAAE,GAAG,WAAW,CAAC,uBAAuB,KAAK,aAAa,EAAE;oBAC7E,uBAAuB,EAAE,WAAW,CAAC,uBAAuB;oBAC5D,aAAa,EAAE,WAAW,CAAC,aAAa;iBACzC,CAAC,CAAC;YACL,CAAC;QACH,CAAC;IACH,CAAC;IAED,OAAO,iBAAiB,CAAC;AAC3B,CAAC;AAED,SAAS,2BAA2B,CAClC,MAA+B;IAE/B,MAAM,QAAQ,GAA8D,EAAE,CAAC;IAC/E,MAAM,UAAU,GAAG,UAAU,CAAC,cAAc,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,CAAC;IAC1E,MAAM,aAAa,GAAG,cAAc,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;IAErD,IAAI,CAAC,UAAU,KAAK,WAAW,IAAI,UAAU,KAAK,MAAM,CAAC,IAAI,MAAM,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACnG,QAAQ,CAAC,IAAI,CAAC;YACZ,IAAI,EAAE,UAAU;YAChB,OAAO,EAAE,aAAa;SACvB,CAAC,CAAC;IACL,CAAC;IAED,IAAI,UAAU,CAAC,MAAM,CAAC,IAAI,CAAC,KAAK,UAAU,EAAE,CAAC;QAC3C,OAAO,QAAQ,CAAC;IAClB,CAAC;IAED,MAAM,MAAM,GAAG,cAAc,CAAC,cAAc,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,OAAO,CAAC,CAAC;IACnE,MAAM,UAAU,GAAG,UAAU,CAAC,cAAc,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,CAAC;IAC1E,MAAM,aAAa,GAAG,cAAc,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;IAErD,IAAI,CAAC,UAAU,KAAK,WAAW,IAAI,UAAU,KAAK,MAAM,CAAC,IAAI,MAAM,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACnG,QAAQ,CAAC,IAAI,CAAC;YACZ,IAAI,EAAE,UAAU;YAChB,OAAO,EAAE,aAAa;SACvB,CAAC,CAAC;IACL,CAAC;IAED,OAAO,QAAQ,CAAC;AAClB,CAAC;AAED,SAAS,yBAAyB,CAChC,OAAgC;IAEhC,MAAM,OAAO,GAAG,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC;IACtE,MAAM,QAAQ,GAA4E,EAAE,CAAC;IAE7F,KAAK,MAAM,IAAI,IAAI,OAAO,EAAE,CAAC;QAC3B,MAAM,IAAI,GAAG,cAAc,CAAC,IAAI,CAAC,CAAC;QAClC,MAAM,QAAQ,GAAG,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,CAAC;QAC9C,MAAM,SAAS,GAAG,UAAU,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC;QAC7C,MAAM,QAAQ,GAAG,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,CAAC;QAE9C,IAAI,QAAQ,KAAK,UAAU,IAAI,CAAC,QAAQ,KAAK,MAAM,IAAI,QAAQ,KAAK,OAAO,CAAC,IAAI,CAAC,SAAS,EAAE,CAAC;YAC3F,SAAS;QACX,CAAC;QAED,MAAM,KAAK,GAAG,cAAc,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QACzC,QAAQ,CAAC,IAAI,CAAC;YACZ,SAAS;YACT,YAAY,EAAE,UAAU,CAAC,KAAK,CAAC,aAAa,CAAC,CAAC,IAAI,EAAE;YACpD,WAAW,EAAE,UAAU,CAAC,KAAK,CAAC,WAAW,CAAC,CAAC,IAAI,EAAE;SAClD,CAAC,CAAC;IACL,CAAC;IAED,OAAO,QAAQ,CAAC;AAClB,CAAC;AAED,SAAS,0BAA0B,CAAC,OAAgC;IAClE,MAAM,OAAO,GAAG,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC;IACtE,MAAM,aAAa,GAAa,EAAE,CAAC;IAEnC,KAAK,MAAM,IAAI,IAAI,OAAO,EAAE,CAAC;QAC3B,MAAM,IAAI,GAAG,cAAc,CAAC,IAAI,CAAC,CAAC;QAElC,IAAI,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,KAAK,aAAa,EAAE,CAAC;YACnD,SAAS;QACX,CAAC;QAED,MAAM,SAAS,GAAG,UAAU,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC,IAAI,EAAE,CAAC;QAEtD,IAAI,SAAS,EAAE,CAAC;YACd,aAAa,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;QAChC,CAAC;IACH,CAAC;IAED,OAAO,aAAa,CAAC;AACvB,CAAC;AAED,SAAS,2BAA2B,CAAC,MAA+B;IAClE,MAAM,aAAa,GAAG,cAAc,CAAC,MAAM,CAAC,aAAa,CAAC,CAAC;IAC3D,OAAO,UAAU,CAAC,aAAa,CAAC,OAAO,CAAC,CAAC,IAAI,EAAE,CAAC;AAClD,CAAC;AAED,SAAS,4BAA4B,CAAC,OAAe;IACnD,MAAM,iBAAiB,GAAG,OAAO,CAAC,IAAI,EAAE,CAAC;IAEzC,IAAI,CAAC,iBAAiB,EAAE,CAAC;QACvB,OAAO,IAAI,CAAC;IACd,CAAC;IAED,IAAI,gBAAgB,CAAC,IAAI,CAAC,iBAAiB,CAAC,EAAE,CAAC;QAC7C,OAAO,iBAAiB,CAAC;IAC3B,CAAC;IAED,OAAO,gBAAgB,CAAC,IAAI,CAAC,iBAAiB,CAAC,CAAC,CAAC,CAAC,SAAS,iBAAiB,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC;AACxF,CAAC;AAED,SAAS,2BAA2B,CAAC,QAAgB;IACnD,MAAM,YAAY,GAAG,QAAQ,CAAC,OAAO,CAAC,WAAW,EAAE,YAAY,CAAC,CAAC;IAEjE,IAAI,CAAC,UAAU,CAAC,YAAY,CAAC,EAAE,CAAC;QAC9B,OAAO,IAAI,CAAC;IACd,CAAC;IAED,IAAI,CAAC;QACH,MAAM,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,qBAAqB,CAAC,YAAY,EAAE,EAAE,GAAG,IAAI,CAAC,IAAI,IAAI,CAA4B,CAAC;QAC3G,OAAO,yBAAyB,CAC9B,UAAU,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,IAAI,EAAE,EACjC,UAAU,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC,IAAI,EAAE,CACpC,CAAC;IACJ,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,IAAI,CAAC;IACd,CAAC;AACH,CAAC;AAED,SAAS,yBAAyB,CAAC,YAAoB,EAAE,WAAmB;IAC1E,MAAM,cAAc,GAAG,YAAY,CAAC,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC;IACzD,MAAM,qBAAqB,GAAG,WAAW,CAAC,IAAI,EAAE,CAAC;IAEjD,IAAI,CAAC,cAAc,IAAI,CAAC,qBAAqB,EAAE,CAAC;QAC9C,OAAO,IAAI,CAAC;IACd,CAAC;IAED,IAAI,CAAC,cAAc,EAAE,CAAC;QACpB,OAAO,qBAAqB,CAAC;IAC/B,CAAC;IAED,IAAI,CAAC,qBAAqB,EAAE,CAAC;QAC3B,OAAO,cAAc,CAAC;IACxB,CAAC;IAED,OAAO,GAAG,cAAc,MAAM,qBAAqB,EAAE,CAAC;AACxD,CAAC;AAED,SAAS,4BAA4B,CAAC,QAAgB;IACpD,MAAM,cAAc,GAAG,QAAQ,CAAC,UAAU,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC;IAEtD,IAAI,cAAc,CAAC,QAAQ,CAAC,aAAa,CAAC,EAAE,CAAC;QAC3C,OAAO,KAAK,CAAC;IACf,CAAC;IAED,MAAM,SAAS,GAAG,qBAAqB,CAAC,QAAQ,CAAC,CAAC;IAElD,IAAI,CAAC,SAAS,EAAE,CAAC;QACf,OAAO,KAAK,CAAC;IACf,CAAC;IAED,IAAI,CAAC;QACH,MAAM,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,SAAS,CAQlC,CAAC;QACF,MAAM,gBAAgB,GAAG,6BAA6B,CAAC,MAAM,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;QAEhF,OAAO,CACL,MAAM,CAAC,IAAI,KAAK,MAAM;YACtB,OAAO,CAAC,MAAM,CAAC,WAAW,CAAC;YAC3B,UAAU,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,IAAI,EAAE,CAAC,MAAM,GAAG,CAAC;YAC5C,uBAAuB,CAAC,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC;YAChD,gBAAgB,KAAK,QAAQ,CAC9B,CAAC;IACJ,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,KAAK,CAAC;IACf,CAAC;AACH,CAAC;AAED,SAAS,0BAA0B,CAAC,QAAgB;IAClD,MAAM,cAAc,GAAG,QAAQ,CAAC,UAAU,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC,WAAW,EAAE,CAAC;IACpE,OAAO,4BAA4B,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC;AAC3D,CAAC;AAED,SAAS,6BAA6B,CAAC,OAAgB;IACrD,IAAI,OAAO,OAAO,KAAK,QAAQ,EAAE,CAAC;QAChC,OAAO,OAAO,CAAC,IAAI,EAAE,CAAC;IACxB,CAAC;IAED,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,EAAE,CAAC;QAC5B,OAAO,EAAE,CAAC;IACZ,CAAC;IAED,OAAO,OAAO;SACX,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE;QACZ,IAAI,OAAO,IAAI,KAAK,QAAQ,EAAE,CAAC;YAC7B,OAAO,IAAI,CAAC;QACd,CAAC;QAED,IAAI,CAAC,IAAI,IAAI,OAAO,IAAI,KAAK,QAAQ,EAAE,CAAC;YACtC,OAAO,EAAE,CAAC;QACZ,CAAC;QAED,OAAO,UAAU,CAAE,IAAgC,CAAC,IAAI,CAAC,CAAC;IAC5D,CAAC,CAAC;SACD,IAAI,CAAC,IAAI,CAAC;SACV,IAAI,EAAE,CAAC;AACZ,CAAC;AAED,SAAS,0BAA0B,CAAC,MAA+B;IAMjE,MAAM,UAAU,GAAG,UAAU,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,CAAC;IAElD,IAAI,UAAU,KAAK,WAAW,EAAE,CAAC;QAC/B,MAAM,OAAO,GAAI,CAAC,MAAM,CAAC,OAAO,IAAI,EAAE,CAA6B,CAAC;QACpE,MAAM,KAAK,GAAI,CAAC,OAAO,CAAC,KAAK,IAAI,EAAE,CAA6B,CAAC;QAEjE,IAAI,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YAClC,OAAO;gBACL,KAAK;gBACL,SAAS,EAAE,MAAM,CAAC,SAAS;gBAC3B,KAAK,EAAE,OAAO,CAAC,KAAK;gBACpB,WAAW,EAAE,MAAM,CAAC,KAAK;aAC1B,CAAC;QACJ,CAAC;IACH,CAAC;IAED,IAAI,UAAU,KAAK,UAAU,EAAE,CAAC;QAC9B,OAAO,IAAI,CAAC;IACd,CAAC;IAED,MAAM,IAAI,GAAI,CAAC,MAAM,CAAC,IAAI,IAAI,EAAE,CAA6B,CAAC;IAC9D,MAAM,MAAM,GAAI,CAAC,IAAI,CAAC,OAAO,IAAI,EAAE,CAA6B,CAAC;IAEjE,IAAI,UAAU,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,KAAK,WAAW,EAAE,CAAC;QACnD,OAAO,IAAI,CAAC;IACd,CAAC;IAED,MAAM,OAAO,GAAI,CAAC,MAAM,CAAC,OAAO,IAAI,EAAE,CAA6B,CAAC;IACpE,MAAM,KAAK,GAAI,CAAC,OAAO,CAAC,KAAK,IAAI,EAAE,CAA6B,CAAC;IAEjE,IAAI,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACpC,OAAO,IAAI,CAAC;IACd,CAAC;IAED,OAAO;QACL,KAAK;QACL,SAAS,EAAE,MAAM,CAAC,SAAS,IAAI,MAAM,CAAC,SAAS;QAC/C,KAAK,EAAE,OAAO,CAAC,KAAK;QACpB,WAAW,EAAE,MAAM,CAAC,KAAK,IAAI,MAAM,CAAC,KAAK;KAC1C,CAAC;AACJ,CAAC;AAED,SAAS,sBAAsB,CAAC,KAAc;IAC5C,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,MAAM,CAAC,QAAQ,CAAC,KAAK,CAAC,IAAI,KAAK,IAAI,CAAC,EAAE,CAAC;QACtE,OAAO,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;IAC3B,CAAC;IAED,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,EAAE,CAAC,EAAE,CAAC;QAC5D,OAAO,MAAM,CAAC,QAAQ,CAAC,KAAK,CAAC,IAAI,EAAE,EAAE,EAAE,CAAC,CAAC;IAC3C,CAAC;IAED,OAAO,IAAI,CAAC;AACd,CAAC;AAED,SAAS,0BAA0B,CAAC,OAAsB;IACxD,MAAM,iBAAiB,GAAG,OAAO,EAAE,IAAI,EAAE,CAAC,WAAW,EAAE,IAAI,EAAE,CAAC;IAE9D,IACE,iBAAiB,CAAC,QAAQ,CAAC,QAAQ,CAAC;QACpC,iBAAiB,KAAK,QAAQ;QAC9B,iBAAiB,KAAK,MAAM;QAC5B,iBAAiB,KAAK,OAAO;QAC7B,iBAAiB,CAAC,MAAM,KAAK,CAAC,EAC9B,CAAC;QACD,OAAO,6BAA6B,CAAC;IACvC,CAAC;IAED,OAAO,6BAA6B,CAAC;AACvC,CAAC;AAED,SAAS,qBAAqB,CAAC,YAAoB,EAAE,aAAqB;IACxE,IAAI,aAAa,IAAI,CAAC,EAAE,CAAC;QACvB,OAAO,CAAC,CAAC;IACX,CAAC;IAED,OAAO,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,YAAY,GAAG,aAAa,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;AAChE,CAAC"}
@@ -69,6 +69,9 @@ export declare class CodexAdapter implements ProviderAdapter {
69
69
  private listSessionFiles;
70
70
  private listActiveSessionFiles;
71
71
  private listArchivedSessionFiles;
72
+ private listRecentKnownSessionFiles;
73
+ private listRecentDirectorySessionFiles;
74
+ private limitRecentSessionFiles;
72
75
  private resolveArchivedSessionCandidate;
73
76
  private resolveSessionFilePath;
74
77
  private findSessionFileByThreadId;
@@ -5,6 +5,9 @@ import { appendJsonLine, createRawRef, encodeCursor, ensureDirectory, extractTex
5
5
  import { buildCodexResumeHistoryFromRawStore } from "../codex-resume-history.js";
6
6
  import { buildApplyPatchFromCodexCommandLikeValue } from "../patch-builder.js";
7
7
  import { loadDatabaseSync } from "../sqlite/node-sqlite.js";
8
+ const CODEX_DISCOVERY_RECENT_FILE_LIMIT = 24;
9
+ const CODEX_DISCOVERY_RECENT_DIRECTORY_LIMIT = 12;
10
+ const CODEX_DISCOVERY_ARCHIVED_FILE_LIMIT = 8;
8
11
  const CODEX_SESSION_TITLE_MAX_LENGTH = 72;
9
12
  const HISTORY_CACHE_LIMIT = 6;
10
13
  const SESSION_SUMMARY_CACHE_LIMIT = 512;
@@ -1029,7 +1032,11 @@ export class CodexAdapter {
1029
1032
  return existingFiles;
1030
1033
  }
1031
1034
  if (threadMetadataIndex.size === 0 || hasWorkspaceMetadataWithoutPath || hasSuspiciousKnownSessions) {
1032
- return walkJsonlFiles(join(this.options.homeDir, "sessions"));
1035
+ return this.limitRecentSessionFiles([
1036
+ ...existingFiles,
1037
+ ...this.listRecentKnownSessionFiles(targetPath, knownSessions, false, CODEX_DISCOVERY_RECENT_FILE_LIMIT),
1038
+ ...this.listRecentDirectorySessionFiles(CODEX_DISCOVERY_RECENT_DIRECTORY_LIMIT)
1039
+ ], CODEX_DISCOVERY_RECENT_FILE_LIMIT);
1033
1040
  }
1034
1041
  return existingFiles;
1035
1042
  }
@@ -1082,10 +1089,62 @@ export class CodexAdapter {
1082
1089
  return [...archivedFiles].filter((filePath) => existsSync(filePath));
1083
1090
  }
1084
1091
  if (threadMetadataIndex.size === 0) {
1085
- return walkJsonlFiles(join(this.options.homeDir, "archived_sessions"));
1092
+ return this.listRecentKnownSessionFiles(targetPath, knownSessions, true, CODEX_DISCOVERY_ARCHIVED_FILE_LIMIT);
1086
1093
  }
1087
1094
  return [];
1088
1095
  }
1096
+ listRecentKnownSessionFiles(targetPath, knownSessions, archived, limit) {
1097
+ const candidates = knownSessions
1098
+ .filter((session) => session.isArchived === archived
1099
+ && normalizeWorkspacePath(session.workspacePath) === targetPath
1100
+ && Boolean(session.rawStoreRef)
1101
+ && existsSync(session.rawStoreRef))
1102
+ .sort((left, right) => resolveProviderSessionActivityMs(right) - resolveProviderSessionActivityMs(left))
1103
+ .slice(0, limit)
1104
+ .map((session) => session.rawStoreRef);
1105
+ return uniqueExistingFiles(candidates);
1106
+ }
1107
+ listRecentDirectorySessionFiles(limit) {
1108
+ const sessionsRoot = join(this.options.homeDir, "sessions");
1109
+ if (!existsSync(sessionsRoot)) {
1110
+ return [];
1111
+ }
1112
+ const candidates = [];
1113
+ for (const dayDir of listRecentCodexSessionDayDirectories(sessionsRoot, 7)) {
1114
+ for (const filePath of listJsonlFilesInDirectory(dayDir)) {
1115
+ try {
1116
+ const stats = statSync(filePath);
1117
+ candidates.push({ filePath, mtimeMs: stats.mtimeMs });
1118
+ }
1119
+ catch {
1120
+ // 发现链路不能被单个坏文件拖垮。
1121
+ }
1122
+ }
1123
+ if (candidates.length >= limit * 2) {
1124
+ break;
1125
+ }
1126
+ }
1127
+ return candidates
1128
+ .sort((left, right) => right.mtimeMs - left.mtimeMs)
1129
+ .slice(0, limit)
1130
+ .map((entry) => entry.filePath);
1131
+ }
1132
+ limitRecentSessionFiles(files, limit) {
1133
+ return uniqueExistingFiles(files)
1134
+ .map((filePath) => {
1135
+ try {
1136
+ const stats = statSync(filePath);
1137
+ return { filePath, mtimeMs: stats.mtimeMs };
1138
+ }
1139
+ catch {
1140
+ return null;
1141
+ }
1142
+ })
1143
+ .filter((entry) => entry !== null)
1144
+ .sort((left, right) => right.mtimeMs - left.mtimeMs)
1145
+ .slice(0, limit)
1146
+ .map((entry) => entry.filePath);
1147
+ }
1089
1148
  resolveArchivedSessionCandidate(filePath) {
1090
1149
  if (!filePath || existsSync(filePath)) {
1091
1150
  return null;
@@ -3091,4 +3150,59 @@ function isCodexThreadLoadError(error) {
3091
3150
  return (normalized.includes("thread not loaded") ||
3092
3151
  normalized.includes("no rollout found for thread id"));
3093
3152
  }
3153
+ function resolveProviderSessionActivityMs(session) {
3154
+ return Math.max(safeTimeMs(session.lastMessageAt), session.sourceMtimeMs ?? 0);
3155
+ }
3156
+ function safeTimeMs(value) {
3157
+ if (!value) {
3158
+ return 0;
3159
+ }
3160
+ const timestampMs = Date.parse(value);
3161
+ return Number.isFinite(timestampMs) ? timestampMs : 0;
3162
+ }
3163
+ function uniqueExistingFiles(files) {
3164
+ const unique = new Set();
3165
+ for (const filePath of files) {
3166
+ if (filePath && existsSync(filePath)) {
3167
+ unique.add(filePath);
3168
+ }
3169
+ }
3170
+ return [...unique];
3171
+ }
3172
+ function listRecentCodexSessionDayDirectories(rootDir, limit) {
3173
+ const dayDirs = [];
3174
+ for (const year of listDirectoryNames(rootDir).sort((left, right) => right.localeCompare(left))) {
3175
+ const yearDir = join(rootDir, year);
3176
+ for (const month of listDirectoryNames(yearDir).sort((left, right) => right.localeCompare(left))) {
3177
+ const monthDir = join(yearDir, month);
3178
+ for (const day of listDirectoryNames(monthDir).sort((left, right) => right.localeCompare(left))) {
3179
+ dayDirs.push(join(monthDir, day));
3180
+ if (dayDirs.length >= limit) {
3181
+ return dayDirs;
3182
+ }
3183
+ }
3184
+ }
3185
+ }
3186
+ return dayDirs;
3187
+ }
3188
+ function listDirectoryNames(dirPath) {
3189
+ try {
3190
+ return readdirSync(dirPath, { withFileTypes: true })
3191
+ .filter((entry) => entry.isDirectory())
3192
+ .map((entry) => entry.name);
3193
+ }
3194
+ catch {
3195
+ return [];
3196
+ }
3197
+ }
3198
+ function listJsonlFilesInDirectory(dirPath) {
3199
+ try {
3200
+ return readdirSync(dirPath, { withFileTypes: true })
3201
+ .filter((entry) => entry.isFile() && entry.name.endsWith(".jsonl"))
3202
+ .map((entry) => join(dirPath, entry.name));
3203
+ }
3204
+ catch {
3205
+ return [];
3206
+ }
3207
+ }
3094
3208
  //# sourceMappingURL=codex.js.map