@ccdd/project 6.5.0 → 6.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 (51) hide show
  1. package/README.md +1 -1
  2. package/dist/monitor-ui/assets/GraphView-CWg0z0L3.js +27 -0
  3. package/dist/monitor-ui/assets/{ValidationView-qhnNfj00.js → ValidationView-Dq6NgwD-.js} +1 -1
  4. package/dist/monitor-ui/assets/{elk-api-D1k8qsLm.js → elk-api-BIhtWFHB.js} +1 -1
  5. package/dist/monitor-ui/assets/{elk.bundled-DgeQWR_s.js → elk.bundled-Cf9Rsjxd.js} +1 -1
  6. package/dist/monitor-ui/assets/{index-CRKnM9pk.css → index-BIkHFM-U.css} +1 -1
  7. package/dist/monitor-ui/assets/{index-beXagC6U.js → index-Dokf3fef.js} +2 -2
  8. package/dist/monitor-ui/index.html +2 -2
  9. package/dist/src/artifact-scope.js +6 -0
  10. package/dist/src/artifact-scope.js.map +1 -1
  11. package/dist/src/broker/config.d.ts +1 -0
  12. package/dist/src/broker/config.js +189 -19
  13. package/dist/src/broker/config.js.map +1 -1
  14. package/dist/src/broker/graph.d.ts +2 -0
  15. package/dist/src/broker/graph.js +1 -1
  16. package/dist/src/broker/graph.js.map +1 -1
  17. package/dist/src/broker/index.js +19 -1
  18. package/dist/src/broker/index.js.map +1 -1
  19. package/dist/src/broker/storage.js +14 -1
  20. package/dist/src/broker/storage.js.map +1 -1
  21. package/dist/src/contracts.d.ts +2 -0
  22. package/dist/src/definitions.d.ts +33 -1
  23. package/dist/src/executors/index.js +3 -3
  24. package/dist/src/executors/index.js.map +1 -1
  25. package/dist/src/executors/pi.js +15 -13
  26. package/dist/src/executors/pi.js.map +1 -1
  27. package/dist/src/executors/result-check.d.ts +4 -2
  28. package/dist/src/executors/result-check.js +3 -2
  29. package/dist/src/executors/result-check.js.map +1 -1
  30. package/dist/src/monitor/ui/family-groups.d.ts +17 -0
  31. package/dist/src/monitor/ui/family-groups.js +46 -0
  32. package/dist/src/monitor/ui/family-groups.js.map +1 -0
  33. package/dist/src/project/cli.js +9 -2
  34. package/dist/src/project/cli.js.map +1 -1
  35. package/dist/src/project/identity.js +62 -10
  36. package/dist/src/project/identity.js.map +1 -1
  37. package/dist/src/project/owner-identity.d.ts +6 -3
  38. package/dist/src/project/owner-identity.js +6 -2
  39. package/dist/src/project/owner-identity.js.map +1 -1
  40. package/dist/src/project/query.d.ts +2 -0
  41. package/dist/src/project/query.js +14 -4
  42. package/dist/src/project/query.js.map +1 -1
  43. package/dist/src/project/store.d.ts +2 -0
  44. package/dist/src/project/store.js +12 -0
  45. package/dist/src/project/store.js.map +1 -1
  46. package/dist/src/tools/runner.js +1 -0
  47. package/dist/src/tools/runner.js.map +1 -1
  48. package/dist/src/tools/schema.js +10 -1
  49. package/dist/src/tools/schema.js.map +1 -1
  50. package/package.json +3 -3
  51. package/dist/monitor-ui/assets/GraphView-Dvqux-3b.js +0 -27
@@ -101,11 +101,11 @@ export async function invokePi({ request, worktreePath, runDir, schema, inspectR
101
101
  throw diagnosticError('PROVIDER_TIMEOUT', 'Pi Agent execution timed out.', 'Check the Provider connection or adjust the Critic timeoutMs setting.');
102
102
  throw diagnosticError('ABORTED', 'Pi Agent execution aborted.', 'The review or diagnostic was cancelled. Run it again if needed.');
103
103
  };
104
- // Opt-in review budget; exceeding it ends the review without a verdict. Tool-call blocks are
105
- // numbered in source order when their message ends, before Pi resolves names or prepares
106
- // arguments, so unknown tools and invalid arguments count too.
107
- let toolCallsIssued = 0, tokensUsed = 0;
108
- const overBudgetCalls = new Set();
104
+ // Opt-in review budget; exceeding it ends the review without a verdict. Pi's sequential executor
105
+ // announces every model-issued tool-call block, in source order, with tool_execution_start before
106
+ // it resolves names or prepares arguments, so unknown tools and invalid arguments count too.
107
+ // Calls are linked by that order, never by provider tool-call ids, which a malformed batch may reuse.
108
+ let toolCallsIssued = 0, tokensUsed = 0, runningCallOverBudget = false, budgetCrossed = false;
109
109
  const exceedBudget = (limit) => {
110
110
  // A cancelled or expired attempt keeps its own error; the budget never replaces it.
111
111
  if (controller.signal.aborted || performance.now() >= deadline)
@@ -131,8 +131,9 @@ export async function invokePi({ request, worktreePath, runDir, schema, inspectR
131
131
  name: tool.name, label: tool.name, description: tool.description,
132
132
  parameters: Type.Unsafe(tool.inputSchema),
133
133
  prepareArguments: args => activeRegistry.validateArguments(tool.name, args),
134
- async execute(id, args, toolSignal) {
135
- if (overBudgetCalls.has(id))
134
+ async execute(_id, args, toolSignal) {
135
+ // Tools run sequentially, so the executing call is the one announced last.
136
+ if (runningCallOverBudget)
136
137
  exceedBudget('maxToolCalls');
137
138
  checkAbort();
138
139
  toolSignal?.throwIfAborted();
@@ -185,12 +186,18 @@ export async function invokePi({ request, worktreePath, runDir, schema, inspectR
185
186
  maxRetryDelayMs: 10_000,
186
187
  finishTurn: () => {
187
188
  // Over-budget calls that never reached a registered tool (unknown names, invalid arguments) end the review here.
188
- if (overBudgetCalls.size)
189
+ if (budgetCrossed)
189
190
  exceedBudget('maxToolCalls');
190
191
  return repairing || identityMismatch || toolFailure || controller.signal.aborted ? { action: 'end' } : undefined;
191
192
  },
192
193
  });
193
194
  agent.subscribe(event => {
195
+ // Number each tool call as Pi announces it; the repair turn has no tools.
196
+ if (event.type === 'tool_execution_start') {
197
+ if (profile.maxToolCalls !== undefined && !repairing)
198
+ budgetCrossed ||= runningCallOverBudget = ++toolCallsIssued > profile.maxToolCalls;
199
+ return;
200
+ }
194
201
  // message_end settles before Pi executes that assistant's tool batch.
195
202
  if (event.type !== 'message_end' || event.message.role !== 'assistant')
196
203
  return;
@@ -207,11 +214,6 @@ export async function invokePi({ request, worktreePath, runDir, schema, inspectR
207
214
  // Writes are independent and retain only bounded telemetry, never the message.
208
215
  emitTelemetry(event);
209
216
  }
210
- // Number this turn's tool-call blocks before Pi runs the batch; the repair turn has no tools.
211
- if (profile.maxToolCalls !== undefined && !repairing)
212
- for (const block of message.content)
213
- if (block.type === 'toolCall' && ++toolCallsIssued > profile.maxToolCalls)
214
- overBudgetCalls.add(block.id);
215
217
  // Pi's reported total for this turn; aborting here also stops the turn's tool batch.
216
218
  if (profile.maxTokens !== undefined && (tokensUsed += message.usage?.totalTokens ?? 0) > profile.maxTokens)
217
219
  exceedBudget('maxTokens');
@@ -1 +1 @@
1
- {"version":3,"file":"pi.js","sourceRoot":"","sources":["../../../src/executors/pi.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"pi.js","sourceRoot":"","sources":["../../../src/executors/pi.ts"],"names":[],"mappings":"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"}
@@ -1,13 +1,15 @@
1
- import type { ResultCheck, ReviewToolCall } from '../contracts.js';
1
+ import type { ArtifactFamilyMembership, ResultCheck, ReviewToolCall } from '../contracts.js';
2
2
  /**
3
3
  * Run an Agent Critic's result check on a schema-valid final result. The script reads
4
4
  * {version, result, toolCalls} on stdin and prints {"errors": [...]}; an empty list accepts.
5
5
  * Error text is author-controlled and only reaches the repair prompt, never stored state.
6
6
  * `signal` is the review's own deadline and cancellation: it stops the script's process group.
7
7
  */
8
- export declare function runResultCheck({ worktreePath, ownerPath, check, result, toolCalls, runDir, signal }: {
8
+ export declare function runResultCheck({ worktreePath, ownerPath, artifactId, family, check, result, toolCalls, runDir, signal }: {
9
9
  worktreePath: string;
10
10
  ownerPath: string;
11
+ artifactId?: string;
12
+ family?: ArtifactFamilyMembership;
11
13
  check: ResultCheck;
12
14
  result: unknown;
13
15
  toolCalls: readonly ReviewToolCall[];
@@ -13,7 +13,7 @@ const failed = () => diagnosticError('RESULT_CHECK_FAILED', 'The Critic result c
13
13
  * Error text is author-controlled and only reaches the repair prompt, never stored state.
14
14
  * `signal` is the review's own deadline and cancellation: it stops the script's process group.
15
15
  */
16
- export async function runResultCheck({ worktreePath, ownerPath, check, result, toolCalls, runDir, signal }) {
16
+ export async function runResultCheck({ worktreePath, ownerPath, artifactId, family, check, result, toolCalls, runDir, signal }) {
17
17
  // Missing scripts and output setup failures report the same fixed error, never a local path.
18
18
  const prepared = await (async () => {
19
19
  const root = await realpath(worktreePath), cwd = await scopedPath(root, ownerPath), script = await scopedPath(cwd, check.script);
@@ -24,7 +24,8 @@ export async function runResultCheck({ worktreePath, ownerPath, check, result, t
24
24
  try {
25
25
  // Recorded calls: successful ones and authored domain errors (isError). Calls that failed
26
26
  // to run, returned malformed output or had invalid arguments were never recorded.
27
- const input = JSON.stringify({ version: 1, result, toolCalls: toolCalls.map(call => ({
27
+ // The reviewed Artifact lets one shared family check script select its instance's material.
28
+ const input = JSON.stringify({ version: 1, ...(artifactId ? { artifactId } : {}), ...(family ? { family: { name: family.name, material: family.material } } : {}), result, toolCalls: toolCalls.map(call => ({
28
29
  artifactId: call.observation?.artifactId, operation: call.observation?.operation, arguments: call.arguments ?? {}, ...(call.isError ? { isError: true } : {}),
29
30
  })) });
30
31
  const run = await runEnvironmentScript({ command: process.execPath, args: [fileURLToPath(new URL('../tools/environment-host.js', import.meta.url)), root, script],
@@ -1 +1 @@
1
- {"version":3,"file":"result-check.js","sourceRoot":"","sources":["../../../src/executors/result-check.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"result-check.js","sourceRoot":"","sources":["../../../src/executors/result-check.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,17 @@
1
+ import type { ArtifactStatus, GraphArtifactState, GraphProjection } from '../../broker/graph.js';
2
+ export interface FamilyGroup {
3
+ name: string;
4
+ path: string;
5
+ members: GraphArtifactState[];
6
+ }
7
+ export interface GroupedGraph {
8
+ artifacts: GraphArtifactState[];
9
+ edges: GraphProjection['edges'];
10
+ /** Collapsed families by name; their node shares the family name, which no Artifact may reuse. */
11
+ groups: Map<string, FamilyGroup>;
12
+ /** The displayed node that holds an Artifact: its collapsed family, or the Artifact itself. */
13
+ nodeOf(id: string): string;
14
+ }
15
+ export declare function familyStatus(members: readonly GraphArtifactState[]): ArtifactStatus;
16
+ /** Collapse each family that is not expanded into one node. Relations to members become relations to that node. */
17
+ export declare function groupFamilies(graph: GraphProjection, expanded?: ReadonlySet<string>): GroupedGraph;
@@ -0,0 +1,46 @@
1
+ // The most urgent member state represents the whole family, as an Artifact's own Critics do.
2
+ const urgent = ['ERROR', 'RED', 'BLOCKED', 'RUNNING', 'WAITING_HUMAN', 'QUEUED', 'WAIT_DEPENDENCY'];
3
+ export function familyStatus(members) {
4
+ const found = urgent.find(status => members.some(member => member.status === status));
5
+ if (found)
6
+ return found;
7
+ if (members.every(member => member.status === 'BASIS'))
8
+ return 'BASIS';
9
+ return members.every(member => member.status === 'GREEN' || member.status === 'BASIS') ? 'GREEN' : 'UNREVIEWED';
10
+ }
11
+ /** Collapse each family that is not expanded into one node. Relations to members become relations to that node. */
12
+ export function groupFamilies(graph, expanded = new Set()) {
13
+ const groups = new Map(), family = new Map();
14
+ for (const artifact of graph.artifacts) {
15
+ if (!artifact.family || expanded.has(artifact.family))
16
+ continue;
17
+ const group = groups.get(artifact.family) ?? { name: artifact.family, path: artifact.path, members: [] };
18
+ group.members.push(artifact);
19
+ groups.set(artifact.family, group);
20
+ family.set(artifact.id, artifact.family);
21
+ }
22
+ const nodeOf = (id) => family.get(id) ?? id;
23
+ const artifacts = graph.artifacts.filter(artifact => !family.has(artifact.id));
24
+ for (const group of groups.values()) {
25
+ const { members } = group, sum = (key) => members.reduce((total, member) => total + member[key], 0);
26
+ const validation = ['INCOMPLETE', 'STALE'].find(status => members.some(member => member.validationStatus === status));
27
+ artifacts.push({ id: group.name, path: group.path, basis: members.every(member => member.basis), status: familyStatus(members), family: group.name,
28
+ mounts: {}, children: {}, criticIds: [], passed: sum('passed'), total: sum('total'), included: sum('included'), ...(validation ? { validationStatus: validation } : {}) });
29
+ }
30
+ const edges = new Map();
31
+ for (const edge of graph.edges) {
32
+ const source = nodeOf(edge.source), target = nodeOf(edge.target);
33
+ // Relations among members of one collapsed family stay visible when it is expanded.
34
+ if (source === target && source !== edge.source)
35
+ continue;
36
+ const key = JSON.stringify([source, target]), merged = edges.get(key) ?? { source, target, criticIds: [], relations: [], cyclic: false };
37
+ merged.relations.push(...edge.relations);
38
+ merged.cyclic ||= edge.cyclic;
39
+ for (const id of edge.criticIds)
40
+ if (!merged.criticIds.includes(id))
41
+ merged.criticIds.push(id);
42
+ edges.set(key, merged);
43
+ }
44
+ return { artifacts, edges: [...edges.values()], groups, nodeOf };
45
+ }
46
+ //# sourceMappingURL=family-groups.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"family-groups.js","sourceRoot":"","sources":["../../../../src/monitor/ui/family-groups.ts"],"names":[],"mappings":"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"}
@@ -20,7 +20,7 @@ import { createExecutorRegistry } from '../executors/index.js';
20
20
  import { ensureRunWorker } from '../worker-client.js';
21
21
  import { pruneProject } from './prune.js';
22
22
  import { inspectProject } from './index.js';
23
- import { projectHistory, projectRun, projectRuns, projectRequests } from './store.js';
23
+ import { evidenceFamilies, projectHistory, projectRun, projectRuns, projectRequests } from './store.js';
24
24
  import { withCliCancellation } from '../cli-cancellation.js';
25
25
  import { claimHumanFromCli } from '../review/local-claim.js';
26
26
  const terminal = new Set(['GREEN', 'RED', 'ERROR', 'INCOMPLETE']);
@@ -244,7 +244,14 @@ export async function main(argv = process.argv.slice(2), { stdout = process.stdo
244
244
  }
245
245
  if (command === 'history') {
246
246
  const selection = select();
247
- const entries = projectHistory(context.stateDir, { detail: 'full' }).filter(e => selection.kind === 'all' || selection.kind === 'critic' && e.criticId === selection.criticId || selection.kind === 'artifact' && e.input.target.id === selection.artifactId || selection.kind === 'critics' && selection.criticIds.includes(e.criticId) || selection.kind === 'artifacts' && selection.artifactIds.includes(e.input.target.id));
247
+ const history = projectHistory(context.stateDir, { detail: 'full' }), names = selection.kind === 'artifact' ? [selection.artifactId] : selection.kind === 'artifacts' ? selection.artifactIds : [];
248
+ // A name that is no reviewed target may be an Artifact family. Members come from each request's recorded
249
+ // definition and, for evidence recorded before a migration into the family, from the current static declarations.
250
+ const familyNames = names.some(name => !history.some(e => e.input.target.id === name));
251
+ const families = familyNames ? evidenceFamilies(context.stateDir, history) : new Map();
252
+ const current = familyNames ? await readWorkspaceConfig(context.repoPath).then(({ config }) => new Map(Object.entries(config.artifacts).flatMap(([id, artifact]) => artifact.family ? [[id, artifact.family.name]] : [])), () => new Map()) : new Map();
253
+ const entries = history.filter(e => selection.kind === 'all' || selection.kind === 'critic' && e.criticId === selection.criticId || selection.kind === 'critics' && selection.criticIds.includes(e.criticId)
254
+ || names.includes(e.input.target.id) || [families.get(e.requestId), current.get(e.input.target.id)].some(family => family !== undefined && names.includes(family)));
248
255
  print(full ? entries : entries.map(e => requesterEvidence(e, context.stateDir)), full ? undefined : entries.map(e => `${e.completedAt} ${e.criticId} ${e.verdict} · ${e.requestId}\n ${JSON.stringify(e.result)}`).join('\n') || 'No recorded validation evidence.');
249
256
  return 0;
250
257
  }
@@ -1 +1 @@
1
- {"version":3,"file":"cli.js","sourceRoot":"","sources":["../../../src/project/cli.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"cli.js","sourceRoot":"","sources":["../../../src/project/cli.ts"],"names":[],"mappings":";AACA,OAAO,EAAE,yBAAyB,EAAE,qBAAqB,EAAE,MAAM,iBAAiB,CAAC;AACnF,OAAO,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AAC5C,OAAO,EAAE,iBAAiB,EAAE,MAAM,YAAY,CAAC;AAC/C,OAAO,EAAE,mBAAmB,EAAE,MAAM,eAAe,CAAC;AACpD,OAAO,EAAE,YAAY,EAAE,gBAAgB,EAAE,aAAa,EAAE,iBAAiB,EAAsB,MAAM,mBAAmB,CAAC;AACzH,OAAO,EAAE,UAAU,EAAE,YAAY,EAAE,MAAM,SAAS,CAAC;AACnD,OAAO,EAAE,QAAQ,EAAE,MAAM,kBAAkB,CAAC;AAC5C,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AAC1C,OAAO,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC;AACzC,OAAO,EAAE,UAAU,IAAI,KAAK,EAAE,MAAM,sBAAsB,CAAC;AAC3D,OAAO,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAC;AACxD,OAAO,EAAE,YAAY,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AACpE,OAAO,EAAE,qBAAqB,EAAE,MAAM,oBAAoB,CAAC;AAC3D,OAAO,EAAE,iBAAiB,EAAE,MAAM,uBAAuB,CAAC;AAC1D,OAAO,EAAE,mBAAmB,EAAE,MAAM,qBAAqB,CAAC;AAC1D,OAAO,EAAE,gBAAgB,EAAE,MAAM,wBAAwB,CAAC;AAC1D,OAAO,EAAE,YAAY,EAAE,uBAAuB,EAAE,MAAM,aAAa,CAAC;AACpE,OAAO,EAAE,sBAAsB,EAAE,MAAM,uBAAuB,CAAC;AAC/D,OAAO,EAAE,eAAe,EAAE,MAAM,qBAAqB,CAAC;AACtD,OAAO,EAAE,YAAY,EAAE,MAAM,YAAY,CAAC;AAC1C,OAAO,EAAE,cAAc,EAAE,MAAM,YAAY,CAAC;AAC5C,OAAO,EAAE,gBAAgB,EAAE,cAAc,EAAE,UAAU,EAAE,WAAW,EAAE,eAAe,EAAuB,MAAM,YAAY,CAAC;AAG7H,OAAO,EAAE,mBAAmB,EAAE,MAAM,wBAAwB,CAAC;AAC7D,OAAO,EAAE,iBAAiB,EAAE,MAAM,0BAA0B,CAAC;AAG7D,MAAM,QAAQ,GAAG,IAAI,GAAG,CAAC,CAAC,OAAO,EAAE,KAAK,EAAE,OAAO,EAAE,YAAY,CAAC,CAAC,CAAC;AAClE,MAAM,KAAK,GAAG,IAAI,GAAG,CAAC,CAAC,OAAO,EAAE,aAAa,EAAE,SAAS,EAAE,gBAAgB,EAAE,QAAQ,EAAE,QAAQ,EAAE,QAAQ,EAAE,QAAQ,EAAE,eAAe,CAAC,CAAC,CAAC;AACtI,MAAM,MAAM,GAAG,IAAI,GAAG,CAAC,CAAC,QAAQ,EAAE,aAAa,EAAE,UAAU,EAAE,cAAc,EAAE,aAAa,EAAE,YAAY,EAAE,eAAe,EAAE,QAAQ,EAAE,QAAQ,EAAE,OAAO,EAAE,gBAAgB,EAAE,mBAAmB,EAAE,aAAa,EAAE,eAAe,EAAE,wBAAwB,EAAE,kBAAkB,EAAE,YAAY,EAAE,cAAc,EAAE,WAAW,EAAE,aAAa,EAAE,iBAAiB,EAAE,aAAa,EAAE,iBAAiB,CAAC,CAAC,CAAC;AAC7X,MAAM,IAAI,GAAG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAuCZ,CAAC;AAEF,SAAS,KAAK,CAAC,IAAc;IAC3B,MAAM,OAAO,GAAqC,EAAE,EAAE,UAAU,GAAa,EAAE,CAAC;IAChF,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;QACrC,MAAM,GAAG,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC;QACpB,IAAI,KAAK,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,MAAM,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC;YACtC,IAAI,OAAO,CAAC,GAAG,CAAC,KAAK,SAAS;gBAAE,MAAM,IAAI,KAAK,CAAC,qBAAqB,GAAG,EAAE,CAAC,CAAC;YAC5E,IAAI,KAAK,CAAC,GAAG,CAAC,GAAG,CAAC;gBAAE,OAAO,CAAC,GAAG,CAAC,GAAG,IAAI,CAAC;iBACnC,CAAC;gBAAC,MAAM,KAAK,GAAG,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC;gBAAC,IAAI,CAAC,KAAK,IAAI,KAAK,CAAC,UAAU,CAAC,IAAI,CAAC;oBAAE,MAAM,IAAI,KAAK,CAAC,GAAG,GAAG,oBAAoB,CAAC,CAAC;gBAAC,OAAO,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC;YAAC,CAAC;QAC5I,CAAC;aAAM,IAAI,GAAG,CAAC,UAAU,CAAC,GAAG,CAAC;YAAE,MAAM,IAAI,KAAK,CAAC,mBAAmB,GAAG,EAAE,CAAC,CAAC;;YACrE,UAAU,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;IAC5B,CAAC;IACD,OAAO,EAAE,OAAO,EAAE,UAAU,EAAE,CAAC;AACjC,CAAC;AAED,MAAM,OAAO,GAAG,CAAC,GAAmB,EAAE,EAAE,CAAC,GAAG,CAAC,MAAM,KAAK,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,MAAM,KAAK,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,MAAM,KAAK,YAAY,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AACrI,SAAS,QAAQ,CAAC,IAAmB;IACnC,MAAM,MAAM,GAAG,IAAI,CAAC,SAAS,CAAC,IAAI,KAAK,UAAU,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,UAAU,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,KAAK,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,CAAC,CAAC,SAAS,CAAC;IACvJ,2EAA2E;IAC3E,MAAM,SAAS,GAAG,IAAI,CAAC,SAAS,CAAC;IACjC,MAAM,OAAO,GAAG,IAAI,GAAG,CAAC,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,MAAM,CAAC,SAAS,CAAC,SAAS,EAAE,MAAM,CAAC,CAAC,CAAC,CAAC;IAC1F,OAAO,GAAG,MAAM,KAAK,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,eAAe,eAAe,IAAI,CAAC,YAAY,gBAAgB,IAAI,CAAC,kBAAkB,IAAI,SAAS,IAAI,GAAG,SAAS,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,cAAc,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC,MAAM,KAAK,CAAC,CAAC,MAAM,IAAI,CAAC,CAAC,KAAK,YAAY,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,gBAAgB,CAAC,CAAC,QAAQ,aAAa,CAAC,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE;QACxV,MAAM,MAAM,GAAG,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;QACtE,OAAO,KAAK,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC,MAAM,MAAM,CAAC,CAAC,MAAM,SAAS,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC,MAAM,KAAK,UAAU,CAAC,CAAC,CAAC,kBAAkB,CAAC,CAAC,SAAS,GAAG,CAAC,CAAC,cAAc,CAAC,CAAC,CAAC,qBAAqB,CAAC,CAAC,cAAc,EAAE,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,GAAG,MAAM,CAAC,CAAC,CAAC,iBAAiB,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,oBAAoB,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,SAAS,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC;IAClT,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,WAAW,IAAI,CAAC,MAAM,CAAC,KAAK,eAAe,IAAI,CAAC,MAAM,CAAC,QAAQ,YAAY,IAAI,CAAC,MAAM,CAAC,KAAK,YAAY,IAAI,CAAC,MAAM,CAAC,OAAO,cAAc,IAAI,CAAC,MAAM,CAAC,IAAI,aAAa,IAAI,CAAC,MAAM,CAAC,MAAM,aAAa,IAAI,CAAC,MAAM,CAAC,MAAM,EAAE,CAAC;AAC5O,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,IAAI,CAAC,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,EAAE,GAAyC,EAAE;IACtJ,IAAI,IAAI,GAAG,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC;IACnC,IAAI,MAA2D,CAAC;IAChE,MAAM,KAAK,GAAG,CAAC,KAAc,EAAE,KAAc,EAAE,EAAE,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,IAAI,KAAK,KAAK,SAAS,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,CAAC;IAC/I,IAAI,CAAC;QACH,MAAM,OAAO,GAAG,IAAI,CAAC,CAAC,CAAC,IAAI,MAAM,CAAC;QAClC,IAAI,CAAC,QAAQ,EAAE,OAAO,EAAE,SAAS,EAAE,cAAc,CAAC,CAAC,QAAQ,CAAC,OAAO,CAAC;YAAE,OAAO,MAAM,eAAe,CAAC,IAAI,EAAE,EAAE,MAAM,EAAE,MAAM,EAAE,CAAC,CAAC;QAC7H,MAAM,EAAE,OAAO,EAAE,UAAU,EAAE,GAAG,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;QAAC,IAAI,GAAG,OAAO,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,CAAC;QACxF,MAAM,GAAG,GAAG,CAAC,GAAW,EAAE,EAAE,CAAC,OAAO,OAAO,CAAC,GAAG,CAAC,KAAK,QAAQ,CAAC,CAAC,CAAC,OAAO,CAAC,GAAG,CAAW,CAAC,CAAC,CAAC,SAAS,CAAC;QACnG,IAAI,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAC,QAAQ,CAAC,OAAO,CAAC,IAAI,OAAO,CAAC,QAAQ,CAAC,EAAE,CAAC;YAAC,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;YAAC,OAAO,CAAC,CAAC;QAAC,CAAC;QAChG,IAAI,OAAO,KAAK,YAAY,EAAE,CAAC;YAC7B,KAAK,MAAM,GAAG,IAAI,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC;gBAAE,IAAI,CAAC,CAAC,eAAe,EAAE,YAAY,EAAE,cAAc,EAAE,QAAQ,EAAE,QAAQ,EAAE,iBAAiB,EAAE,aAAa,EAAE,iBAAiB,CAAC,CAAC,QAAQ,CAAC,GAAG,CAAC;oBAAE,MAAM,IAAI,KAAK,CAAC,GAAG,GAAG,kCAAkC,CAAC,CAAC;YAC/O,MAAM,YAAY,GAAG,GAAG,CAAC,iBAAiB,CAAC,CAAC;YAC5C,IAAI,GAAG,CAAC,QAAQ,CAAC,IAAI,CAAC,YAAY;gBAAE,MAAM,IAAI,KAAK,CAAC,iGAAiG,CAAC,CAAC;YACvJ,MAAM,OAAO,GAAG,YAAY,CAAC,CAAC,CAAC,EAAE,GAAG,IAAI,CAAC,KAAK,CAAC,MAAM,QAAQ,CAAC,OAAO,CAAC,YAAY,CAAC,EAAE,MAAM,CAAC,CAAC,EAAE,QAAQ,EAAE,OAAO,CAAC,GAAG,CAAC,QAAQ,CAAC,IAAI,OAAO,CAAC,GAAG,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,SAAS,CAAC;YAC/J,MAAM,MAAM,GAAG,MAAM,mBAAmB,CAAC,+BAA+B,EAAE,MAAM,CAAC,EAAE,CAAC,SAAS,CAAC,EAAE,WAAW,EAAE,GAAG,CAAC,eAAe,CAAC,KAAK,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,eAAe,CAAC,CAAC,EAAE,QAAQ,EAAE,GAAG,CAAC,YAAY,CAAC,KAAK,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,YAAY,CAAC,CAAC,EAAE,SAAS,EAAE,GAAG,CAAC,aAAa,CAAC,KAAK,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,aAAa,CAAC,CAAC,EAAE,YAAY,EAAE,GAAG,CAAC,iBAAiB,CAAsC,EAAE,OAAO,EAAE,SAAS,EAAE,GAAG,CAAC,cAAc,CAAC,EAAE,MAAM,EAAE,CAAC,CAAC,CAAC;YACpe,KAAK,CAAC,MAAM,CAAC,CAAC;YAAC,OAAO,MAAM,CAAC,MAAM,KAAK,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QAC1D,CAAC;QACD,IAAI,CAAC,CAAC,QAAQ,EAAE,MAAM,EAAE,QAAQ,EAAE,SAAS,EAAE,OAAO,EAAE,QAAQ,EAAE,KAAK,EAAE,SAAS,EAAE,OAAO,CAAC,CAAC,QAAQ,CAAC,OAAO,CAAC;YAAE,MAAM,IAAI,KAAK,CAAC,oBAAoB,OAAO,EAAE,CAAC,CAAC;QAC7J,MAAM,MAAM,GAAG,CAAC,QAAQ,EAAE,aAAa,EAAE,QAAQ,CAAC,CAAC;QACnD,MAAM,IAAI,GAAG,OAAO,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,IAAI,OAAO,KAAK,KAAK,IAAI,UAAU,CAAC,CAAC,CAAC,KAAK,MAAM,CAAC;QACzF,MAAM,SAAS,GAAG,IAAI,GAAG,CAAC,CAAC,GAAG,MAAM,EAAE,GAAG,CAAC,CAAC,QAAQ,EAAE,MAAM,EAAE,QAAQ,EAAE,SAAS,EAAE,KAAK,EAAE,SAAS,CAAC,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,GAAG,CAAC,CAAC,QAAQ,EAAE,MAAM,EAAE,QAAQ,EAAE,SAAS,CAAC,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,UAAU,EAAE,WAAW,EAAE,aAAa,EAAE,OAAO,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;YAC/P,GAAG,CAAC,CAAC,QAAQ,EAAE,MAAM,EAAE,QAAQ,CAAC,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,aAAa,EAAE,wBAAwB,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;YACpG,GAAG,CAAC,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,aAAa,EAAE,SAAS,EAAE,gBAAgB,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;YAC7F,GAAG,CAAC,OAAO,KAAK,QAAQ,CAAC,CAAC,CAAC,CAAC,kBAAkB,EAAE,eAAe,EAAE,QAAQ,EAAE,cAAc,EAAE,aAAa,EAAE,eAAe,EAAE,gBAAgB,EAAE,mBAAmB,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;YACvK,GAAG,CAAC,OAAO,KAAK,KAAK,CAAC,CAAC,CAAC,CAAC,QAAQ,EAAE,cAAc,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;YACxD,GAAG,CAAC,OAAO,KAAK,SAAS,CAAC,CAAC,CAAC,CAAC,OAAO,EAAE,YAAY,EAAE,eAAe,EAAE,QAAQ,EAAE,QAAQ,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;QACnG,KAAK,MAAM,GAAG,IAAI,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC;YAAE,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,GAAG,CAAC;gBAAE,MAAM,IAAI,KAAK,CAAC,GAAG,GAAG,wBAAwB,OAAO,GAAG,CAAC,CAAC;QAC3H,MAAM,sBAAsB,GAAG,GAAG,CAAC,eAAe,CAAC,KAAK,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,mBAAmB,CAAC,MAAM,CAAC,GAAG,CAAC,eAAe,CAAC,CAAC,EAAE,eAAe,CAAC,CAAC;QACnJ,MAAM,aAAa,GAAG,GAAG,CAAC,kBAAkB,CAAC,KAAK,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,kBAAkB,CAAC,CAAC,CAAC;QAAC,qBAAqB,CAAC,aAAa,CAAC,CAAC;QAChJ,yBAAyB,CAAC,GAAG,CAAC,wBAAwB,CAAC,CAAC,CAAC;QACzD,MAAM,mBAAmB,GAAG,SAAS,CAAC;QACtC,MAAM,kBAAkB,GAAG,GAAG,CAAC,aAAa,CAAC,IAAI,SAAS,CAAC;QAC3D,IAAI,kBAAkB,KAAK,SAAS,IAAI,kBAAkB,KAAK,UAAU;YAAE,MAAM,IAAI,KAAK,CAAC,0CAA0C,CAAC,CAAC;QACvI,MAAM,SAAS,GAAG,MAAM,CAAC,GAAG,CAAC,cAAc,CAAC,IAAI,MAAM,CAAC,CAAC;QACxD,IAAI,CAAC,MAAM,CAAC,aAAa,CAAC,SAAS,CAAC,IAAI,SAAS,GAAG,CAAC,IAAI,SAAS,GAAG,aAAa;YAAE,MAAM,IAAI,KAAK,CAAC,gDAAgD,CAAC,CAAC;QACtJ,IAAI,OAAO,CAAC;QACZ,MAAM,cAAc,GAAG,GAAG,CAAC,aAAa,CAAC,CAAC;QAC1C,IAAI,cAAc,IAAI,UAAU,CAAC,IAAI,CAAC,OAAO,CAAC,cAAc,CAAC,EAAE,eAAe,CAAC,CAAC,EAAE,CAAC;YACjF,OAAO,GAAG,gBAAgB,CAAC,OAAO,CAAC,cAAc,CAAC,CAAC,CAAC;YACpD,IAAI,GAAG,CAAC,QAAQ,CAAC,IAAI,YAAY,CAAC,OAAO,CAAC,GAAG,CAAC,QAAQ,CAAE,CAAC,CAAC,KAAK,OAAO,CAAC,QAAQ;gBAAE,MAAM,IAAI,KAAK,CAAC,oDAAoD,CAAC,CAAC;QACzJ,CAAC;aAAM,CAAC;YACN,OAAO,GAAG,MAAM,YAAY,CAAC,EAAE,QAAQ,EAAE,OAAO,CAAC,GAAG,CAAC,QAAQ,CAAC,IAAI,OAAO,CAAC,GAAG,EAAE,CAAC,EAAE,QAAQ,EAAE,cAAc,EAAE,CAAC,CAAC;YAC9G,IAAI,UAAU,CAAC,IAAI,CAAC,OAAO,CAAC,QAAQ,EAAE,eAAe,CAAC,CAAC,EAAE,CAAC;gBACxD,MAAM,MAAM,GAAG,gBAAgB,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC;gBAClD,IAAI,MAAM,CAAC,QAAQ,KAAK,OAAO,CAAC,QAAQ;oBAAE,MAAM,IAAI,KAAK,CAAC,oDAAoD,CAAC,CAAC;gBAChH,OAAO,GAAG,MAAM,CAAC;YACnB,CAAC;QACH,CAAC;QACD,IAAI,OAAO,KAAK,OAAO,EAAE,CAAC;YACxB,IAAI,UAAU,CAAC,MAAM;gBAAE,MAAM,IAAI,KAAK,CAAC,6CAA6C,CAAC,CAAC;YACtF,MAAM,MAAM,GAAG,YAAY,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC;YAC9C,KAAK,CAAC,MAAM,EAAE,WAAW,MAAM,CAAC,OAAO,CAAC,MAAM,6BAA6B,MAAM,CAAC,eAAe,CAAC,MAAM,yDAAyD,CAAC,CAAC;YACnK,OAAO,CAAC,CAAC;QACX,CAAC;QACD,MAAM,MAAM,GAAG,CAAC,QAAQ,GAAG,KAAK,EAAoB,EAAE;YACpD,IAAI,UAAU,CAAC,MAAM,GAAG,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC,CAAC,GAAG,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC,CAAC,GAAG,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,aAAa,CAAC,CAAC,CAAC,GAAG,MAAM,CAAC,OAAO,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,GAAG,CAAC;gBAAE,MAAM,IAAI,KAAK,CAAC,6CAA6C,CAAC,CAAC;YACjR,IAAI,UAAU,CAAC,CAAC,CAAC;gBAAE,OAAO,EAAE,IAAI,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,CAAC,CAAC,CAAC,EAAE,CAAC;YAC1E,IAAI,GAAG,CAAC,WAAW,CAAC;gBAAE,OAAO,EAAE,IAAI,EAAE,SAAS,EAAE,SAAS,EAAE,GAAG,CAAC,WAAW,CAAE,CAAC,KAAK,CAAC,GAAG,CAAC,EAAE,CAAC;YAC1F,IAAI,GAAG,CAAC,aAAa,CAAC;gBAAE,OAAO,EAAE,IAAI,EAAE,WAAW,EAAE,WAAW,EAAE,GAAG,CAAC,aAAa,CAAE,CAAC,KAAK,CAAC,GAAG,CAAC,EAAE,CAAC;YAClG,IAAI,GAAG,CAAC,UAAU,CAAC;gBAAE,OAAO,EAAE,IAAI,EAAE,QAAQ,EAAE,QAAQ,EAAE,GAAG,CAAC,UAAU,CAAE,EAAE,CAAC;YAC3E,IAAI,QAAQ,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC;gBAAE,MAAM,IAAI,KAAK,CAAC,iDAAiD,CAAC,CAAC;YACtG,OAAO,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC;QACzB,CAAC,CAAC;QACF,MAAM,eAAe,GAAG,OAAO,KAAK,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;QACxE,MAAM,SAAS,GAAG,CAAC,GAAmB,EAAE,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,GAAG,GAAG,EAAE,kBAAkB,EAAE,GAAG,CAAC,SAAS,EAAE,SAAS,IAAI,SAAS,EAAE,CAAC,CAAC,CAAC,YAAY,CAAC,GAAG,EAAE,OAAO,CAAC,QAAQ,CAAC,CAAC;QAC9J,MAAM,QAAQ,GAAG,CAAC,GAAmB,EAAE,EAAE,CAAC,KAAK,CAAC,SAAS,CAAC,GAAG,CAAC,EAAE,IAAI,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,QAAQ,GAAG,CAAC,EAAE,gBAAgB,GAAG,CAAC,MAAM,gBAAgB,GAAG,CAAC,SAAS,EAAE,SAAS,IAAI,SAAS,GAAG,GAAG,CAAC,UAAU,CAAC,CAAC,CAAC,KAAK,QAAQ,CAAC,aAAa,CAAC,GAAG,CAAC,UAAU,EAAE,OAAO,CAAC,QAAQ,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;QAC7Q,MAAM,IAAI,GAAG,KAAK,EAAE,EAAU,EAAmB,EAAE;YACjD,MAAM,QAAQ,GAAG,IAAI,CAAC,GAAG,EAAE,GAAG,SAAS,CAAC;YACxC,SAAS,CAAC;gBACR,MAAM,GAAG,GAAG,UAAU,CAAC,OAAO,CAAC,QAAQ,EAAE,EAAE,CAAC,CAAC;gBAC7C,IAAI,CAAC,GAAG;oBAAE,MAAM,IAAI,KAAK,CAAC,0BAA0B,CAAC,CAAC;gBACtD,IAAI,QAAQ,CAAC,GAAG,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC;oBAAC,QAAQ,CAAC,GAAG,CAAC,CAAC;oBAAC,OAAO,OAAO,CAAC,GAAG,CAAC,CAAC;gBAAC,CAAC;gBACrE,IAAI,IAAI,CAAC,GAAG,EAAE,IAAI,QAAQ,EAAE,CAAC;oBAAC,KAAK,CAAC,EAAE,GAAG,SAAS,CAAC,GAAG,CAAC,EAAE,IAAI,EAAE,EAAE,SAAS,EAAE,KAAK,EAAE,MAAM,EAAE,SAAS,EAAE,EAAE,EAAE,OAAO,EAAE,2CAA2C,CAAC,CAAC;oBAAC,OAAO,CAAC,CAAC;gBAAC,CAAC;gBAC5K,MAAM,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,EAAE,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,QAAQ,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC,CAAC;YACjE,CAAC;QACH,CAAC,CAAC;QACF,IAAI,OAAO,KAAK,QAAQ,IAAI,OAAO,KAAK,OAAO,EAAE,CAAC;YAChD,IAAI,OAAO,KAAK,QAAQ,IAAI,CAAC,UAAU,CAAC,MAAM,KAAK,CAAC,IAAI,UAAU,CAAC,CAAC,CAAC,KAAK,OAAO,CAAC;gBAAE,MAAM,IAAI,KAAK,CAAC,mBAAmB,CAAC,CAAC;YACzH,MAAM,SAAS,GAAG,OAAO,KAAK,QAAQ,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,KAAK,EAAW,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC;YAC7E,MAAM,SAAS,GAAG,MAAM,gBAAgB,CAAC,EAAE,GAAG,OAAO,EAAE,SAAS,EAAE,kBAAkB,EAAE,CAAC,CAAC;YACxF,IAAI,CAAC;gBACH,MAAM,EAAE,MAAM,EAAE,GAAG,MAAM,mBAAmB,CAAC,SAAS,CAAC,UAAU,CAAC,IAAI,EAAE,SAAS,CAAC,MAAM,CAAC,CAAC;gBAC1F,MAAM,SAAS,CAAC,eAAe,EAAE,CAAC;gBAClC,IAAI,OAAO,KAAK,QAAQ,EAAE,CAAC;oBAAC,KAAK,CAAC,EAAE,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC,MAAM,EAAE,OAAO,EAAE,MAAM,CAAC,OAAO,CAAC,MAAM,EAAE,YAAY,EAAE,SAAS,CAAC,UAAU,CAAC,IAAI,EAAE,EAAE,yDAAyD,CAAC,CAAC;oBAAC,OAAO,CAAC,CAAC;gBAAC,CAAC;gBACjP,MAAM,KAAK,GAAG,qBAAqB,CAAC,MAAM,CAAC,CAAC;gBAC5C,IAAI,SAAS,CAAC,IAAI,KAAK,KAAK,EAAE,CAAC;oBAC7B,MAAM,SAAS,GAAG,IAAI,GAAG,CAAC,iBAAiB,CAAC,EAAE,MAAM,EAAE,EAAE,SAAS,CAAC,CAAC,CAAC;oBACpE,KAAK,CAAC,OAAO,GAAG,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC;oBACnE,KAAK,CAAC,SAAS,GAAG,MAAM,CAAC,WAAW,CAAC,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;oBAC1G,KAAK,CAAC,SAAS,GAAG,KAAK,CAAC,SAAS,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC,SAAS,CAAC,GAAG,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,SAAS,CAAC,GAAG,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC;gBAC7G,CAAC;gBACD,KAAK,CAAC,KAAK,EAAE,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,WAAW,OAAO,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;gBAAC,OAAO,CAAC,CAAC;YACtK,CAAC;oBAAS,CAAC;gBAAC,MAAM,SAAS,CAAC,KAAK,EAAE,CAAC;YAAC,CAAC;QACxC,CAAC;QACD,IAAI,OAAO,KAAK,QAAQ,IAAI,OAAO,KAAK,MAAM,EAAE,CAAC;YAC/C,MAAM,SAAS,GAAG,MAAM,CAAC,OAAO,KAAK,MAAM,CAAC,CAAC;YAC7C,MAAM,EAAE,IAAI,EAAE,GAAG,MAAM,mBAAmB,CAAC,+BAA+B,EAAE,MAAM,CAAC,EAAE,CAAC,cAAc,CAAC,EAAE,MAAM,EAAE,MAAM,EAAE,GAAG,OAAO,EAAE,SAAS,EAAE,SAAS,EAAE,OAAO,CAAC,OAAO,CAAC,aAAa,CAAC,CAAC,EAAE,KAAK,EAAE,OAAO,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC,EAAE,WAAW,EAAE,OAAO,CAAC,gBAAgB,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,SAAS,EAAE,kBAAkB,EAAE,mBAAmB,EAAE,MAAM,EAAE,CAAC,CAAC,CAAC;YAC7U,MAAM,MAAM,GAAG,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,aAAa,CAAC,IAAI,EAAE,OAAO,CAAC,QAAQ,CAAC,CAAC;YACnE,KAAK,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,QAAQ,CAAC,aAAa,CAAC,IAAI,EAAE,OAAO,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC;YAAC,OAAO,OAAO,KAAK,MAAM,IAAI,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QACzI,CAAC;QACD,IAAI,OAAO,KAAK,SAAS,EAAE,CAAC;YAC1B,MAAM,SAAS,GAAG,MAAM,EAAE,CAAC;YAC3B,MAAM,OAAO,GAAG,cAAc,CAAC,OAAO,CAAC,QAAQ,EAAE,EAAE,MAAM,EAAE,MAAM,EAAE,CAAC,EAAE,KAAK,GAAG,SAAS,CAAC,IAAI,KAAK,UAAU,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,IAAI,KAAK,WAAW,CAAC,CAAC,CAAC,SAAS,CAAC,WAAW,CAAC,CAAC,CAAC,EAAE,CAAC;YACnM,yGAAyG;YACzG,kHAAkH;YAClH,MAAM,WAAW,GAAG,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,MAAM,CAAC,EAAE,KAAK,IAAI,CAAC,CAAC,CAAC;YACvF,MAAM,QAAQ,GAAG,WAAW,CAAC,CAAC,CAAC,gBAAgB,CAAC,OAAO,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC,CAAC,CAAC,IAAI,GAAG,EAAkB,CAAC;YACvG,MAAM,OAAO,GAAG,WAAW,CAAC,CAAC,CAAC,MAAM,mBAAmB,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,IAAI,CAAC,CAAC,EAAE,MAAM,EAAE,EAAE,EAAE,CAAC,IAAI,GAAG,CAAC,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,EAAE,QAAQ,CAAC,EAAE,EAAE,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,EAAE,QAAQ,CAAC,MAAM,CAAC,IAAI,CAAU,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,GAAG,EAAE,CAAC,IAAI,GAAG,EAAkB,CAAC,CAAC,CAAC,CAAC,IAAI,GAAG,EAAkB,CAAC;YACjS,MAAM,OAAO,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,SAAS,CAAC,IAAI,KAAK,KAAK,IAAI,SAAS,CAAC,IAAI,KAAK,QAAQ,IAAI,CAAC,CAAC,QAAQ,KAAK,SAAS,CAAC,QAAQ,IAAI,SAAS,CAAC,IAAI,KAAK,SAAS,IAAI,SAAS,CAAC,SAAS,CAAC,QAAQ,CAAC,CAAC,CAAC,QAAQ,CAAC;mBACvM,KAAK,CAAC,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC,MAAM,CAAC,EAAE,CAAC,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,SAAS,CAAC,EAAE,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,KAAK,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,MAAM,KAAK,SAAS,IAAI,KAAK,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;YACtK,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,iBAAiB,CAAC,CAAC,EAAE,OAAO,CAAC,QAAQ,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,WAAW,IAAI,CAAC,CAAC,QAAQ,IAAI,CAAC,CAAC,OAAO,MAAM,CAAC,CAAC,SAAS,OAAO,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,kCAAkC,CAAC,CAAC;YAAC,OAAO,CAAC,CAAC;QAClR,CAAC;QACD,IAAI,OAAO,KAAK,KAAK,IAAI,OAAO,KAAK,SAAS,EAAE,CAAC;YAC/C,MAAM,CAAC,MAAM,EAAE,EAAE,CAAC,GAAG,UAAU,CAAC;YAChC,MAAM,OAAO,GAAG,OAAO,KAAK,KAAK,CAAC,CAAC,CAAC,CAAC,MAAM,EAAE,MAAM,EAAE,QAAQ,EAAE,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,QAAQ,CAAC,CAAC;YACvH,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAC,IAAI,UAAU,CAAC,MAAM,KAAK,CAAC,MAAM,KAAK,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;gBAAE,MAAM,IAAI,KAAK,CAAC,OAAO,OAAO,IAAI,OAAO,CAAC,IAAI,CAAC,GAAG,CAAC,2BAA2B,CAAC,CAAC;YACpK,IAAI,OAAO,KAAK,KAAK,IAAI,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAC,QAAQ,CAAC,MAAM,CAAC;gBAAE,MAAM,IAAI,KAAK,CAAC,yCAAyC,CAAC,CAAC;YAC/I,IAAI,MAAM,KAAK,MAAM,EAAE,CAAC;gBAAC,KAAK,CAAC,OAAO,KAAK,KAAK,CAAC,CAAC,CAAC,WAAW,CAAC,OAAO,CAAC,QAAQ,EAAE,EAAE,MAAM,EAAE,IAAI,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,SAAS,EAAE,CAAC,CAAC,CAAC,CAAC,eAAe,CAAC,OAAO,CAAC,QAAQ,EAAE,GAAG,CAAC,OAAO,CAAC,EAAE,EAAE,MAAM,EAAE,IAAI,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,SAAS,EAAE,CAAC,CAAC,CAAC;gBAAC,OAAO,CAAC,CAAC;YAAC,CAAC;YAC9N,IAAI,MAAM,KAAK,MAAM,EAAE,CAAC;gBACtB,IAAI,OAAO,KAAK,KAAK,EAAE,CAAC;oBAAC,IAAI,OAAO,CAAC,QAAQ,CAAC;wBAAE,OAAO,MAAM,IAAI,CAAC,EAAE,CAAC,CAAC;oBAAC,MAAM,GAAG,GAAG,UAAU,CAAC,OAAO,CAAC,QAAQ,EAAE,EAAE,CAAC,CAAC;oBAAC,IAAI,CAAC,GAAG;wBAAE,MAAM,IAAI,KAAK,CAAC,0BAA0B,CAAC,CAAC;oBAAC,QAAQ,CAAC,GAAG,CAAC,CAAC;gBAAC,CAAC;qBACvL,CAAC;oBAAC,MAAM,OAAO,GAAG,eAAe,CAAC,OAAO,CAAC,QAAQ,EAAE,SAAS,EAAE,EAAE,MAAM,EAAE,MAAM,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC;oBAAC,IAAI,CAAC,OAAO;wBAAE,MAAM,IAAI,KAAK,CAAC,2BAA2B,CAAC,CAAC;oBAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,gBAAgB,CAAC,OAAO,EAAE,OAAO,CAAC,QAAQ,CAAC,CAAC,CAAC;gBAAC,CAAC;gBAClP,OAAO,CAAC,CAAC;YACX,CAAC;QACH,CAAC;QACD,MAAM,SAAS,GAAc,EAAE,CAAC;QAChC,MAAM,MAAM,GAAG,GAAG,CAAC,gBAAgB,CAAC,IAAI,OAAO,CAAC,GAAG,CAAC,iBAAiB,CAAC;QACtE,MAAM,SAAS,GAAG,GAAG,CAAC,mBAAmB,CAAC,IAAI,OAAO,CAAC,GAAG,CAAC,oBAAoB,CAAC;QAC/E,IAAI,MAAM;YAAE,SAAS,CAAC,QAAQ,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC;QACjD,IAAI,SAAS;YAAE,SAAS,CAAC,aAAa,GAAG,OAAO,CAAC,SAAS,CAAC,CAAC;QAC5D,MAAM,UAAU,GAAG,OAAO,CAAC,OAAO,CAAC,eAAe,CAAC,CAAC,CAAC;QACrD,MAAM,SAAS,GAAG,sBAAsB,CAAC,EAAE,SAAS,EAAE,YAAY,EAAE,uBAAuB,CAAC,EAAE,GAAG,OAAO,EAAE,UAAU,EAAE,CAAC,EAAE,CAAC,CAAC;QAC3H,MAAM,GAAG,YAAY,CAAC,EAAE,MAAM,EAAE,MAAM,EAAE,GAAG,OAAO,EAAE,SAAS,EAAE,kBAAkB,EAAE,sBAAsB,EAAE,mBAAmB,EAAE,CAAC,CAAC;QAClI,IAAI,OAAO,KAAK,QAAQ,EAAE,CAAC;YACzB,MAAM,GAAG,GAAG,MAAM,mBAAmB,CAAC,+BAA+B,EAAE,MAAM,CAAC,EAAE,CAAC,MAAO,CAAC,aAAa,CAAC,EAAE,aAAa,EAAE,SAAS,EAAE,eAAgB,EAAE,SAAS,EAAE,OAAO,CAAC,OAAO,CAAC,aAAa,CAAC,CAAC,EAAE,KAAK,EAAE,OAAO,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC,EAAE,WAAW,EAAE,OAAO,CAAC,gBAAgB,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,SAAS,EAAE,WAAW,EAAE,GAAG,CAAC,aAAa,CAAC,IAAI,KAAK,EAAE,MAAM,EAAE,CAAC,CAAC,CAAC;YACrV,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,GAAG,CAAC,MAAM,CAAC;gBAAE,MAAM,eAAe,CAAC,EAAE,MAAM,EAAE,OAAO,EAAE,GAAG,EAAE,aAAa,EAAE,EAAE,SAAS,EAAE,UAAU,EAAE,sBAAsB,EAAE,EAAE,CAAC,CAAC;YACjJ,IAAI,OAAO,CAAC,QAAQ,CAAC;gBAAE,OAAO,MAAM,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;YACjD,MAAM,IAAI,GAAG,UAAU,CAAC,OAAO,CAAC,QAAQ,EAAE,GAAG,CAAC,EAAE,CAAE,CAAC;YAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;YACnE,OAAO,IAAI,CAAC,MAAM,KAAK,YAAY,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,MAAM,KAAK,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QAC5E,CAAC;QACD,MAAM,CAAC,MAAM,EAAE,EAAE,CAAC,GAAG,UAAU,CAAC;QAChC,IAAI,OAAO,KAAK,KAAK,EAAE,CAAC;YACtB,IAAI,GAAG,GAAG,MAAM,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;YAAC,IAAI,CAAC,GAAG;gBAAE,MAAM,IAAI,KAAK,CAAC,0BAA0B,CAAC,CAAC;YACnF,IAAI,MAAM,KAAK,QAAQ,IAAI,GAAG,CAAC,OAAO,EAAE,OAAO,KAAK,CAAC;gBAAE,MAAM,IAAI,KAAK,CAAC,6DAA6D,CAAC,CAAC;YACtI,IAAI,MAAM,KAAK,QAAQ;gBAAE,GAAG,GAAG,MAAM,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;iBAC5C,IAAI,MAAM,KAAK,QAAQ,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,GAAG,CAAC,MAAM,CAAC;gBAAE,GAAG,GAAG,MAAM,eAAe,CAAC,EAAE,MAAM,EAAE,OAAO,EAAE,GAAG,EAAE,CAAC,CAAC;YACjH,IAAI,OAAO,CAAC,QAAQ,CAAC;gBAAE,OAAO,MAAM,IAAI,CAAC,EAAE,CAAC,CAAC;YAC7C,QAAQ,CAAC,UAAU,CAAC,OAAO,CAAC,QAAQ,EAAE,EAAE,CAAE,CAAC,CAAC;YAAC,OAAO,CAAC,CAAC;QACxD,CAAC;QACD,MAAM,UAAU,GAAG,GAAG,CAAC,YAAY,CAAC,CAAC;QAAC,IAAI,CAAC,UAAU;YAAE,MAAM,IAAI,KAAK,CAAC,2CAA2C,CAAC,CAAC;QACpH,MAAM,OAAO,GAAG,MAAM,CAAC,UAAU,CAAC,EAAE,CAAC,CAAC;QAAC,IAAI,CAAC,OAAO;YAAE,MAAM,IAAI,KAAK,CAAC,2BAA2B,CAAC,CAAC;QAClG,IAAI,MAAM,KAAK,OAAO,EAAE,CAAC;YAAC,MAAM,OAAO,GAAG,MAAM,iBAAiB,CAAC,MAAM,EAAE,EAAE,EAAE,UAAU,EAAE,MAAM,CAAC,CAAC;YAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,gBAAgB,CAAC,OAAO,EAAE,OAAO,CAAC,QAAQ,CAAC,CAAC,CAAC;QAAC,CAAC;aACpK,IAAI,MAAM,KAAK,MAAM,EAAE,CAAC;YAC3B,MAAM,QAAQ,GAAG,GAAG,CAAC,QAAQ,CAAC,CAAC;YAAC,IAAI,CAAC,QAAQ;gBAAE,MAAM,IAAI,KAAK,CAAC,qBAAqB,CAAC,CAAC;YACtF,KAAK,CAAC,MAAM,MAAM,CAAC,gBAAgB,CAAC,EAAE,EAAE,EAAE,UAAU,EAAE,QAAQ,EAAE,SAAS,EAAE,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,QAAQ,CAAC,IAAI,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC;QACnH,CAAC;aAAM,CAAC;YACN,MAAM,QAAQ,GAAG,GAAG,CAAC,eAAe,CAAC,CAAC;YAAC,IAAI,CAAC,QAAQ;gBAAE,MAAM,IAAI,KAAK,CAAC,4BAA4B,CAAC,CAAC;YACpG,MAAM,OAAO,GAAG,MAAM,QAAQ,CAAC,OAAO,CAAC,QAAQ,CAAC,EAAE,MAAM,CAAC,CAAC;YAAC,IAAI,MAAM,CAAC,UAAU,CAAC,OAAO,CAAC,GAAG,MAAM;gBAAE,MAAM,IAAI,KAAK,CAAC,iCAAiC,CAAC,CAAC;YACvJ,MAAM,MAAM,CAAC,aAAa,CAAC,EAAE,EAAE,EAAE,UAAU,EAAE,MAAM,EAAE,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;YAC5E,MAAM,GAAG,GAAG,MAAM,CAAC,MAAM,CAAC,OAAO,CAAC,KAAK,CAAE,CAAC;YAC1C,IAAI,GAAG,CAAC,MAAM,KAAK,QAAQ;gBAAE,MAAM,eAAe,CAAC,EAAE,MAAM,EAAE,OAAO,EAAE,GAAG,EAAE,CAAC,CAAC;YAC7E,QAAQ,CAAC,UAAU,CAAC,OAAO,CAAC,QAAQ,EAAE,OAAO,CAAC,KAAK,CAAE,CAAC,CAAC;QACzD,CAAC;QACD,OAAO,CAAC,CAAC;IACX,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,MAAM,OAAO,GAAG,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;QACvE,IAAI,IAAI;YAAE,KAAK,CAAC,EAAE,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC;;YAAM,MAAM,CAAC,KAAK,CAAC,OAAO,GAAG,IAAI,CAAC,CAAC;QACvE,OAAO,CAAC,CAAC;IACX,CAAC;YAAS,CAAC;QAAC,MAAM,MAAM,EAAE,KAAK,EAAE,CAAC;IAAC,CAAC;AACtC,CAAC;AAED,IAAI,UAAU,GAAG,KAAK,CAAC;AACvB,IAAI,CAAC;IAAC,UAAU,GAAG,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,YAAY,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,KAAK,aAAa,CAAC,OAAO,IAAI,CAAC,GAAG,CAAC,CAAC;AAAC,CAAC;AAAC,MAAM,CAAC,CAAA,CAAC;AAC3H,IAAI,UAAU;IAAE,OAAO,CAAC,QAAQ,GAAG,MAAM,IAAI,EAAE,CAAC"}
@@ -16,15 +16,20 @@ export function canonical(value) {
16
16
  return JSON.stringify(value) ?? 'null';
17
17
  }
18
18
  export const inputHash = (value) => createHash('sha256').update(canonical(value)).digest('hex');
19
- /** Own material excludes separately identified child Artifacts and installed runtime directories. */
20
- async function hashMaterial(root, relative, childPaths, signal) {
19
+ /**
20
+ * Own material excludes separately identified child Artifacts and installed runtime directories.
21
+ * Family shared material records a directory only when it is empty and not one of `ancestors`, the
22
+ * declared folders above instance material: file names already imply nonempty directories, so adding,
23
+ * removing or emptying one instance's material folder never changes sibling instances.
24
+ */
25
+ async function hashMaterial(root, relative, childPaths, signal, ancestors) {
21
26
  let current = root;
22
27
  for (const component of relative.split('/').filter(Boolean)) {
23
28
  current = path.join(current, component);
24
29
  const info = await lstat(current).catch(error => { if (error.code === 'ENOENT')
25
30
  return null; throw error; });
26
31
  if (!info)
27
- return inputHash({ path: relative, type: 'missing' });
32
+ return ancestors?.has(relative) ? inputHash([]) : inputHash({ path: relative, type: 'missing' });
28
33
  if (info.isSymbolicLink())
29
34
  return inputHash({ path: relative, type: 'symlink', target: await readlink(current) });
30
35
  }
@@ -37,8 +42,10 @@ async function hashMaterial(root, relative, childPaths, signal) {
37
42
  if (info.isSymbolicLink())
38
43
  entries.push({ name, type: 'symlink', target: await readlink(absolute) });
39
44
  else if (info.isDirectory()) {
40
- entries.push({ name, type: 'directory' });
41
- for (const child of (await readdir(absolute)).sort())
45
+ const children = (await readdir(absolute)).sort();
46
+ if (!ancestors || !children.length && !ancestors.has(name))
47
+ entries.push({ name, type: 'directory' });
48
+ for (const child of children)
42
49
  if (!['.git', 'node_modules'].includes(child))
43
50
  await walk(path.posix.join(name, child));
44
51
  }
@@ -61,6 +68,33 @@ export function semanticDefinition(value) {
61
68
  delete result.stale.weight;
62
69
  return result;
63
70
  }
71
+ const familyPaths = new WeakMap();
72
+ /**
73
+ * The shared declaration, instance list and every instance's own material, plus the folders that
74
+ * contain that material (the family folder included), computed once per config.
75
+ */
76
+ function familyExclusions(config, name, folder) {
77
+ let byFamily = familyPaths.get(config);
78
+ if (!byFamily)
79
+ familyPaths.set(config, byFamily = new Map());
80
+ let result = byFamily.get(name);
81
+ if (!result) {
82
+ result = { excluded: new Set([path.posix.join(folder, 'ccdd.json')]), ancestors: new Set([folder]) };
83
+ for (const member of Object.values(config.artifacts))
84
+ if (member.family?.name === name) {
85
+ if (member.family.instances)
86
+ result.excluded.add(path.posix.join(folder, member.family.instances));
87
+ for (const material of member.family.material) {
88
+ result.excluded.add(path.posix.join(folder, material));
89
+ const parts = material.split('/');
90
+ for (let index = 1; index < parts.length; index++)
91
+ result.ancestors.add(path.posix.join(folder, ...parts.slice(0, index)));
92
+ }
93
+ }
94
+ byFamily.set(name, result);
95
+ }
96
+ return result;
97
+ }
64
98
  export function positiveConcurrency(value, name) {
65
99
  if (!Number.isSafeInteger(value) || value < 1)
66
100
  throw new Error(`${name} must be a positive integer.`);
@@ -78,7 +112,7 @@ export async function createProjectSnapshot(config, root, snapshotHash, signal,
78
112
  const artifactIdentities = {};
79
113
  const scope = Object.fromEntries(Object.entries(config.artifacts).map(([id, artifact]) => [id, { ...artifact, path: path.join(root, artifact.path) }]));
80
114
  const owners = Object.entries(config.artifacts).filter(([id, artifact]) => required.has(id) && artifact.stale?.kind === 'identity');
81
- const values = new Map();
115
+ const values = new Map(), sharedMaterial = new Map();
82
116
  const controller = new AbortController();
83
117
  const identitySignal = signal ? AbortSignal.any([signal, controller.signal]) : controller.signal;
84
118
  // Validate the entire selected scope before executing any owner script.
@@ -92,7 +126,7 @@ export async function createProjectSnapshot(config, root, snapshotHash, signal,
92
126
  throw new Error('Invalid owner identity strategy.');
93
127
  const lease = await resources.acquire({ requestId: id, runId: '', kind: 'identity', repo: canonicalRepositoryId(root), identityWeight: artifact.stale.weight ?? 25 }, { signal: identitySignal, waiting() { } });
94
128
  try {
95
- const { value } = await executionScope.run({ runtimeRoot: root, declaredPaths: [], trackChild: pid => lease.trackChild(pid) }, () => ownerIdentity(root, artifact.path, id, artifact.stale, identitySignal));
129
+ const { value } = await executionScope.run({ runtimeRoot: root, declaredPaths: [], trackChild: pid => lease.trackChild(pid) }, () => ownerIdentity(root, artifact.path, id, artifact.stale, identitySignal, artifact.family));
96
130
  values.set(id, value);
97
131
  }
98
132
  finally {
@@ -118,9 +152,16 @@ export async function createProjectSnapshot(config, root, snapshotHash, signal,
118
152
  artifactIdentities[id] = { identity: 'script', value };
119
153
  continue;
120
154
  }
121
- const childPaths = new Set(Object.keys(artifact.children).map(child => path.posix.join(artifact.path, child)));
155
+ // Physical child locations: a family instance is a logical child whose material is its family folder.
156
+ const childPaths = new Set(Object.values(artifact.children).map(child => config.artifacts[child]?.path ?? path.posix.join(artifact.path, child)));
122
157
  const paths = new Set(artifact.stale?.kind === 'file-hash' && artifact.stale.paths ? artifact.stale.paths.map(name => path.posix.join(artifact.path, name)) : [artifact.path]);
123
- const mandatoryPaths = new Set([path.posix.join(artifact.path, 'ccdd.json')]);
158
+ // A family instance is covered by its resolved definition and entry, not by the shared declaration bytes,
159
+ // so adding or editing another instance never invalidates it. Other instances' material is excluded.
160
+ const family = artifact.family;
161
+ const shared = family ? familyExclusions(config, family.name, artifact.path) : undefined;
162
+ for (const name of shared?.excluded ?? [])
163
+ childPaths.add(name);
164
+ const mandatoryPaths = new Set(family ? family.material.map(name => path.posix.join(artifact.path, name)) : [path.posix.join(artifact.path, 'ccdd.json')]);
124
165
  const tools = [...Object.values(artifact.views.agentTools ?? {}), ...Object.values(artifact.views.humanTools ?? {})];
125
166
  // Local script entry files are mandatory inputs even with a narrower stale.paths declaration.
126
167
  for (const tool of tools)
@@ -153,7 +194,18 @@ export async function createProjectSnapshot(config, root, snapshotHash, signal,
153
194
  }
154
195
  for (const name of mandatoryPaths)
155
196
  paths.add(name);
156
- const fingerprints = await Promise.all([...paths].sort().map(async (name) => ({ path: name, hash: await hashMaterial(root, name, mandatoryPaths.has(name) ? new Set() : childPaths, signal) })));
197
+ // Instances of one family exclude the same paths, so their shared material is hashed once per snapshot.
198
+ const material = (name) => {
199
+ if (!family)
200
+ return hashMaterial(root, name, mandatoryPaths.has(name) ? new Set() : childPaths, signal);
201
+ const mandatory = mandatoryPaths.has(name), key = `${family.name}\0${mandatory}\0${name}`;
202
+ // A narrowed stale path inside another instance's material never becomes shared material.
203
+ const excluded = !mandatory && name.split('/').some((_, index, parts) => childPaths.has(parts.slice(0, index + 1).join('/')));
204
+ if (!sharedMaterial.has(key))
205
+ sharedMaterial.set(key, excluded ? Promise.resolve(inputHash({ path: name, type: 'excluded' })) : hashMaterial(root, name, mandatory ? new Set() : childPaths, signal, mandatory ? undefined : shared.ancestors));
206
+ return sharedMaterial.get(key);
207
+ };
208
+ const fingerprints = await Promise.all([...paths].sort().map(async (name) => ({ path: name, hash: await material(name) })));
157
209
  const executionPaths = new Set(tools.flatMap(tool => tool.metadata.executionPaths ?? []));
158
210
  const executionInputs = config.configManifest.executionInputs?.filter(input => executionPaths.has(input.path));
159
211
  const requirements = Object.fromEntries(Object.entries(config.configManifest.envRequirements ?? {}).filter(([name]) => name.startsWith(`${id}/`)));