paracosm 0.4.145 → 0.4.147

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.
@@ -0,0 +1,34 @@
1
+ /**
2
+ * Flat, deduplicated citation catalog builder.
3
+ *
4
+ * Every department report in a run carries its own citations. The
5
+ * catalog merges them by URL (falling back to text when no URL is
6
+ * present) and tracks which departments + turns referenced each
7
+ * citation, so the References section in reports can show
8
+ * provenance across the whole run.
9
+ *
10
+ * Pure — takes the per-turn report list, returns a serialisable array.
11
+ *
12
+ * @module paracosm/runtime/citations-catalog
13
+ */
14
+ import type { DepartmentReport } from './contracts.js';
15
+ /** One row in the run's flat citation catalog. */
16
+ export interface CitationCatalogEntry {
17
+ text: string;
18
+ url: string;
19
+ doi?: string;
20
+ departments: string[];
21
+ turns: number[];
22
+ }
23
+ /**
24
+ * Build the canonical citation catalog from a run's department reports.
25
+ * Dedup key is URL when present, else the citation text. DOI is
26
+ * preserved from whichever occurrence first supplies it. Turn numbers
27
+ * are sorted ascending in the output so consumers render a clean
28
+ * chronological trail.
29
+ */
30
+ export declare function buildCitationCatalog(allDepartmentReports: ReadonlyArray<{
31
+ turn: number;
32
+ report: DepartmentReport;
33
+ }>): CitationCatalogEntry[];
34
+ //# sourceMappingURL=citations-catalog.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"citations-catalog.d.ts","sourceRoot":"","sources":["../../../src/runtime/citations-catalog.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AAEH,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,gBAAgB,CAAC;AAEvD,kDAAkD;AAClD,MAAM,WAAW,oBAAoB;IACnC,IAAI,EAAE,MAAM,CAAC;IACb,GAAG,EAAE,MAAM,CAAC;IACZ,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,WAAW,EAAE,MAAM,EAAE,CAAC;IACtB,KAAK,EAAE,MAAM,EAAE,CAAC;CACjB;AAED;;;;;;GAMG;AACH,wBAAgB,oBAAoB,CAClC,oBAAoB,EAAE,aAAa,CAAC;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,gBAAgB,CAAA;CAAE,CAAC,GAC9E,oBAAoB,EAAE,CAiCxB"}
@@ -0,0 +1,52 @@
1
+ /**
2
+ * Flat, deduplicated citation catalog builder.
3
+ *
4
+ * Every department report in a run carries its own citations. The
5
+ * catalog merges them by URL (falling back to text when no URL is
6
+ * present) and tracks which departments + turns referenced each
7
+ * citation, so the References section in reports can show
8
+ * provenance across the whole run.
9
+ *
10
+ * Pure — takes the per-turn report list, returns a serialisable array.
11
+ *
12
+ * @module paracosm/runtime/citations-catalog
13
+ */
14
+ /**
15
+ * Build the canonical citation catalog from a run's department reports.
16
+ * Dedup key is URL when present, else the citation text. DOI is
17
+ * preserved from whichever occurrence first supplies it. Turn numbers
18
+ * are sorted ascending in the output so consumers render a clean
19
+ * chronological trail.
20
+ */
21
+ export function buildCitationCatalog(allDepartmentReports) {
22
+ const byKey = new Map();
23
+ for (const { turn, report } of allDepartmentReports) {
24
+ for (const c of report.citations) {
25
+ const key = (c.url || '').trim() || `text:${(c.text || '').trim()}`;
26
+ if (!key)
27
+ continue;
28
+ let entry = byKey.get(key);
29
+ if (!entry) {
30
+ entry = {
31
+ text: c.text || c.url || '',
32
+ url: c.url || '',
33
+ doi: c.doi,
34
+ departments: new Set(),
35
+ turns: new Set(),
36
+ };
37
+ byKey.set(key, entry);
38
+ }
39
+ if (report.department)
40
+ entry.departments.add(report.department);
41
+ entry.turns.add(turn);
42
+ if (!entry.doi && c.doi)
43
+ entry.doi = c.doi;
44
+ }
45
+ }
46
+ return [...byKey.values()].map(e => ({
47
+ ...e,
48
+ departments: [...e.departments],
49
+ turns: [...e.turns].sort((a, b) => a - b),
50
+ }));
51
+ }
52
+ //# sourceMappingURL=citations-catalog.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"citations-catalog.js","sourceRoot":"","sources":["../../../src/runtime/citations-catalog.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AAaH;;;;;;GAMG;AACH,MAAM,UAAU,oBAAoB,CAClC,oBAA+E;IAE/E,MAAM,KAAK,GAAG,IAAI,GAAG,EAMjB,CAAC;IACL,KAAK,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,oBAAoB,EAAE,CAAC;QACpD,KAAK,MAAM,CAAC,IAAI,MAAM,CAAC,SAAS,EAAE,CAAC;YACjC,MAAM,GAAG,GAAG,CAAC,CAAC,CAAC,GAAG,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,IAAI,QAAQ,CAAC,CAAC,CAAC,IAAI,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC;YACpE,IAAI,CAAC,GAAG;gBAAE,SAAS;YACnB,IAAI,KAAK,GAAG,KAAK,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;YAC3B,IAAI,CAAC,KAAK,EAAE,CAAC;gBACX,KAAK,GAAG;oBACN,IAAI,EAAE,CAAC,CAAC,IAAI,IAAI,CAAC,CAAC,GAAG,IAAI,EAAE;oBAC3B,GAAG,EAAE,CAAC,CAAC,GAAG,IAAI,EAAE;oBAChB,GAAG,EAAE,CAAC,CAAC,GAAG;oBACV,WAAW,EAAE,IAAI,GAAG,EAAE;oBACtB,KAAK,EAAE,IAAI,GAAG,EAAE;iBACjB,CAAC;gBACF,KAAK,CAAC,GAAG,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC;YACxB,CAAC;YACD,IAAI,MAAM,CAAC,UAAU;gBAAE,KAAK,CAAC,WAAW,CAAC,GAAG,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC;YAChE,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;YACtB,IAAI,CAAC,KAAK,CAAC,GAAG,IAAI,CAAC,CAAC,GAAG;gBAAE,KAAK,CAAC,GAAG,GAAG,CAAC,CAAC,GAAG,CAAC;QAC7C,CAAC;IACH,CAAC;IACD,OAAO,CAAC,GAAG,KAAK,CAAC,MAAM,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;QACnC,GAAG,CAAC;QACJ,WAAW,EAAE,CAAC,GAAG,CAAC,CAAC,WAAW,CAAC;QAC/B,KAAK,EAAE,CAAC,GAAG,CAAC,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC;KAC1C,CAAC,CAAC,CAAC;AACN,CAAC"}
@@ -0,0 +1,87 @@
1
+ /**
2
+ * Per-run cost + token telemetry with per-stage buckets.
3
+ *
4
+ * Extracted from orchestrator.ts so the trackUsage / cache-savings math
5
+ * has one home, testable in isolation from the turn loop. The tracker
6
+ * is stateful (totals accumulate across every tagged LLM call) and
7
+ * returns a buildCostPayload() helper the orchestrator invokes before
8
+ * every SSE emit so the dashboard breakdown modal reflects the latest
9
+ * per-stage split + cache hit rate.
10
+ *
11
+ * Pricing lookup comes from pricing.ts so MODEL_PRICING has one home.
12
+ *
13
+ * @module paracosm/runtime/cost-tracker
14
+ */
15
+ import type { SimulationModelConfig } from '../engine/types.js';
16
+ import { type CostSite } from './pricing.js';
17
+ /** Token + cost rollup for a single pipeline stage across a run. */
18
+ export interface CostBucket {
19
+ totalTokens: number;
20
+ totalCostUSD: number;
21
+ calls: number;
22
+ /** Cache-read tokens billed at 0.1× input rate (prompt-cache hit). */
23
+ cacheReadTokens: number;
24
+ /** Cache-write tokens billed at 1.25× input rate (new cache entry). */
25
+ cacheCreationTokens: number;
26
+ }
27
+ /** Shape of the `usage` field providers return on each LLM call. */
28
+ export interface CallUsage {
29
+ totalTokens?: number;
30
+ promptTokens?: number;
31
+ completionTokens?: number;
32
+ costUSD?: number;
33
+ cacheReadTokens?: number;
34
+ cacheCreationTokens?: number;
35
+ }
36
+ /** Per-stage entry on the breakdown payload attached to every SSE emit. */
37
+ export interface CostBreakdownEntry {
38
+ totalTokens: number;
39
+ totalCostUSD: number;
40
+ calls: number;
41
+ cacheReadTokens?: number;
42
+ cacheCreationTokens?: number;
43
+ /** USD saved vs no-caching run. Negative during turn 1, positive turn 2+. */
44
+ cacheSavingsUSD?: number;
45
+ }
46
+ /** Aggregate cost payload embedded on every SSE event's `_cost` field. */
47
+ export interface CostPayload {
48
+ totalTokens: number;
49
+ totalCostUSD: number;
50
+ llmCalls: number;
51
+ cacheReadTokens: number;
52
+ cacheCreationTokens: number;
53
+ /** Run-wide USD saved by prompt caching vs a no-cache run. */
54
+ cacheSavingsUSD: number;
55
+ breakdown: Record<string, CostBreakdownEntry>;
56
+ }
57
+ /** Cost tracker bundle returned by createCostTracker. */
58
+ export interface CostTracker {
59
+ /** Record token + cost usage from a single LLM call, tagged by site. */
60
+ trackUsage(result: {
61
+ usage?: CallUsage;
62
+ }, site?: CostSite): void;
63
+ /** Build the _cost payload attached to every SSE event. */
64
+ buildCostPayload(): CostPayload;
65
+ /** Final-run snapshot for the output JSON. */
66
+ finalCost(): {
67
+ totalTokens: number;
68
+ totalCostUSD: number;
69
+ llmCalls: number;
70
+ };
71
+ }
72
+ /**
73
+ * Create a per-run cost tracker bound to a specific model config.
74
+ *
75
+ * Cache cost math: Anthropic bills cache_read at 0.10× input (saves
76
+ * 0.90×) and cache_creation at 1.25× (costs +0.25×). Net savings per
77
+ * site = (reads × 0.90 − creates × 0.25) × inputPrice. Turn 1 is a
78
+ * net COST because the cache hasn't amortized. Turn 3+ with reads
79
+ * dominating produces substantial savings.
80
+ *
81
+ * Fallback cost estimate (when provider omits costUSD) uses
82
+ * commander-tier pricing as an approximation. Previously this path
83
+ * ignored cache entirely so heavy-caching runs under-reported billed
84
+ * amount by ~10-15%.
85
+ */
86
+ export declare function createCostTracker(modelConfig: SimulationModelConfig): CostTracker;
87
+ //# sourceMappingURL=cost-tracker.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"cost-tracker.d.ts","sourceRoot":"","sources":["../../../src/runtime/cost-tracker.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;GAaG;AAEH,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,oBAAoB,CAAC;AAChE,OAAO,EAGL,KAAK,QAAQ,EACd,MAAM,cAAc,CAAC;AAEtB,oEAAoE;AACpE,MAAM,WAAW,UAAU;IACzB,WAAW,EAAE,MAAM,CAAC;IACpB,YAAY,EAAE,MAAM,CAAC;IACrB,KAAK,EAAE,MAAM,CAAC;IACd,sEAAsE;IACtE,eAAe,EAAE,MAAM,CAAC;IACxB,uEAAuE;IACvE,mBAAmB,EAAE,MAAM,CAAC;CAC7B;AAED,oEAAoE;AACpE,MAAM,WAAW,SAAS;IACxB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,mBAAmB,CAAC,EAAE,MAAM,CAAC;CAC9B;AAED,2EAA2E;AAC3E,MAAM,WAAW,kBAAkB;IACjC,WAAW,EAAE,MAAM,CAAC;IACpB,YAAY,EAAE,MAAM,CAAC;IACrB,KAAK,EAAE,MAAM,CAAC;IACd,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,mBAAmB,CAAC,EAAE,MAAM,CAAC;IAC7B,6EAA6E;IAC7E,eAAe,CAAC,EAAE,MAAM,CAAC;CAC1B;AAED,0EAA0E;AAC1E,MAAM,WAAW,WAAW;IAC1B,WAAW,EAAE,MAAM,CAAC;IACpB,YAAY,EAAE,MAAM,CAAC;IACrB,QAAQ,EAAE,MAAM,CAAC;IACjB,eAAe,EAAE,MAAM,CAAC;IACxB,mBAAmB,EAAE,MAAM,CAAC;IAC5B,8DAA8D;IAC9D,eAAe,EAAE,MAAM,CAAC;IACxB,SAAS,EAAE,MAAM,CAAC,MAAM,EAAE,kBAAkB,CAAC,CAAC;CAC/C;AAED,yDAAyD;AACzD,MAAM,WAAW,WAAW;IAC1B,wEAAwE;IACxE,UAAU,CAAC,MAAM,EAAE;QAAE,KAAK,CAAC,EAAE,SAAS,CAAA;KAAE,EAAE,IAAI,CAAC,EAAE,QAAQ,GAAG,IAAI,CAAC;IACjE,2DAA2D;IAC3D,gBAAgB,IAAI,WAAW,CAAC;IAChC,8CAA8C;IAC9C,SAAS,IAAI;QAAE,WAAW,EAAE,MAAM,CAAC;QAAC,YAAY,EAAE,MAAM,CAAC;QAAC,QAAQ,EAAE,MAAM,CAAA;KAAE,CAAC;CAC9E;AAED;;;;;;;;;;;;;GAaG;AACH,wBAAgB,iBAAiB,CAAC,WAAW,EAAE,qBAAqB,GAAG,WAAW,CA6FjF"}
@@ -0,0 +1,119 @@
1
+ /**
2
+ * Per-run cost + token telemetry with per-stage buckets.
3
+ *
4
+ * Extracted from orchestrator.ts so the trackUsage / cache-savings math
5
+ * has one home, testable in isolation from the turn loop. The tracker
6
+ * is stateful (totals accumulate across every tagged LLM call) and
7
+ * returns a buildCostPayload() helper the orchestrator invokes before
8
+ * every SSE emit so the dashboard breakdown modal reflects the latest
9
+ * per-stage split + cache hit rate.
10
+ *
11
+ * Pricing lookup comes from pricing.ts so MODEL_PRICING has one home.
12
+ *
13
+ * @module paracosm/runtime/cost-tracker
14
+ */
15
+ import { buildPriceForSite, getDefaultPricing, } from './pricing.js';
16
+ /**
17
+ * Create a per-run cost tracker bound to a specific model config.
18
+ *
19
+ * Cache cost math: Anthropic bills cache_read at 0.10× input (saves
20
+ * 0.90×) and cache_creation at 1.25× (costs +0.25×). Net savings per
21
+ * site = (reads × 0.90 − creates × 0.25) × inputPrice. Turn 1 is a
22
+ * net COST because the cache hasn't amortized. Turn 3+ with reads
23
+ * dominating produces substantial savings.
24
+ *
25
+ * Fallback cost estimate (when provider omits costUSD) uses
26
+ * commander-tier pricing as an approximation. Previously this path
27
+ * ignored cache entirely so heavy-caching runs under-reported billed
28
+ * amount by ~10-15%.
29
+ */
30
+ export function createCostTracker(modelConfig) {
31
+ let totalTokens = 0;
32
+ let totalCostUSD = 0;
33
+ let llmCalls = 0;
34
+ let cacheReadTokens = 0;
35
+ let cacheCreationTokens = 0;
36
+ const defaultPricing = getDefaultPricing(modelConfig);
37
+ const priceForSite = buildPriceForSite(modelConfig);
38
+ const newBucket = () => ({
39
+ totalTokens: 0, totalCostUSD: 0, calls: 0,
40
+ cacheReadTokens: 0, cacheCreationTokens: 0,
41
+ });
42
+ const costBySite = {
43
+ director: newBucket(),
44
+ commander: newBucket(),
45
+ departments: newBucket(),
46
+ judge: newBucket(),
47
+ reactions: newBucket(),
48
+ other: newBucket(),
49
+ };
50
+ const trackUsage = (result, site = 'other') => {
51
+ if (!result?.usage)
52
+ return;
53
+ const tokensThisCall = result.usage.totalTokens ?? 0;
54
+ const callCacheRead = result.usage.cacheReadTokens ?? 0;
55
+ const callCacheCreate = result.usage.cacheCreationTokens ?? 0;
56
+ let costThisCall;
57
+ if (typeof result.usage.costUSD === 'number') {
58
+ costThisCall = result.usage.costUSD;
59
+ }
60
+ else {
61
+ const input = result.usage.promptTokens ?? 0;
62
+ const output = result.usage.completionTokens ?? 0;
63
+ costThisCall =
64
+ (input * defaultPricing.input / 1_000_000)
65
+ + (output * defaultPricing.output / 1_000_000)
66
+ + (callCacheRead * defaultPricing.input * 0.10 / 1_000_000)
67
+ + (callCacheCreate * defaultPricing.input * 1.25 / 1_000_000);
68
+ }
69
+ totalTokens += tokensThisCall;
70
+ totalCostUSD += costThisCall;
71
+ llmCalls++;
72
+ cacheReadTokens += callCacheRead;
73
+ cacheCreationTokens += callCacheCreate;
74
+ const bucket = costBySite[site];
75
+ bucket.totalTokens += tokensThisCall;
76
+ bucket.totalCostUSD += costThisCall;
77
+ bucket.calls++;
78
+ bucket.cacheReadTokens += callCacheRead;
79
+ bucket.cacheCreationTokens += callCacheCreate;
80
+ };
81
+ const buildCostPayload = () => {
82
+ let runCacheSavingsUSD = 0;
83
+ const breakdown = {};
84
+ for (const [k, v] of Object.entries(costBySite)) {
85
+ if (v.calls > 0) {
86
+ const sitePricing = priceForSite(k);
87
+ const siteSavings = ((v.cacheReadTokens * 0.90) - (v.cacheCreationTokens * 0.25))
88
+ * sitePricing.input / 1_000_000;
89
+ runCacheSavingsUSD += siteSavings;
90
+ breakdown[k] = {
91
+ totalTokens: v.totalTokens,
92
+ totalCostUSD: Math.round(v.totalCostUSD * 10000) / 10000,
93
+ calls: v.calls,
94
+ ...(v.cacheReadTokens > 0 ? { cacheReadTokens: v.cacheReadTokens } : {}),
95
+ ...(v.cacheCreationTokens > 0 ? { cacheCreationTokens: v.cacheCreationTokens } : {}),
96
+ ...(Math.abs(siteSavings) >= 0.0001
97
+ ? { cacheSavingsUSD: Math.round(siteSavings * 10000) / 10000 }
98
+ : {}),
99
+ };
100
+ }
101
+ }
102
+ return {
103
+ totalTokens,
104
+ totalCostUSD: Math.round(totalCostUSD * 10000) / 10000,
105
+ llmCalls,
106
+ cacheReadTokens,
107
+ cacheCreationTokens,
108
+ cacheSavingsUSD: Math.round(runCacheSavingsUSD * 10000) / 10000,
109
+ breakdown,
110
+ };
111
+ };
112
+ const finalCost = () => ({
113
+ totalTokens,
114
+ totalCostUSD: Math.round(totalCostUSD * 10000) / 10000,
115
+ llmCalls,
116
+ });
117
+ return { trackUsage, buildCostPayload, finalCost };
118
+ }
119
+ //# sourceMappingURL=cost-tracker.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"cost-tracker.js","sourceRoot":"","sources":["../../../src/runtime/cost-tracker.ts"],"names":[],"mappings":"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"}
@@ -102,48 +102,9 @@ export declare function runSimulation(leader: LeaderConfig, keyPersonnel: KeyPer
102
102
  eventIndex: number;
103
103
  })[];
104
104
  /** Canonical deduplicated forged toolbox (parity with dashboard ToolboxSection). */
105
- forgedToolbox: {
106
- name: string;
107
- description: string;
108
- mode: string;
109
- firstForgedTurn: number;
110
- firstForgedDepartment: string;
111
- firstForgedEventTitle: string;
112
- departments: string[];
113
- /** Total uses minus the original forge. */
114
- reuseCount: number;
115
- /** Total uses including the original forge. */
116
- totalUses: number;
117
- /** How many of those uses were re-forge attempts. */
118
- reforgeCount: number;
119
- /** Re-forge attempts that the judge rejected. */
120
- rejectedReforges: number;
121
- approved: boolean;
122
- confidence: number;
123
- inputSchema: unknown;
124
- outputSchema: unknown;
125
- sampleOutput: unknown;
126
- /** Full audit trail: every invocation with turn, year, dept, output. */
127
- history: Array<{
128
- turn: number;
129
- year: number;
130
- eventIndex: number;
131
- eventTitle: string;
132
- department: string;
133
- output: string | null;
134
- isReforge: boolean;
135
- rejected: boolean;
136
- confidence?: number;
137
- }>;
138
- }[];
105
+ forgedToolbox: import("./tool-ledger.js").ForgedToolboxEntry[];
139
106
  /** Canonical deduplicated citation catalog (parity with References). */
140
- citationCatalog: {
141
- departments: string[];
142
- turns: number[];
143
- text: string;
144
- url: string;
145
- doi?: string;
146
- }[];
107
+ citationCatalog: import("./citations-catalog.js").CitationCatalogEntry[];
147
108
  /** Per-turn agent reactions with mood + quote + memory snippets. */
148
109
  agentReactions: {
149
110
  turn: number;
@@ -1 +1 @@
1
- {"version":3,"file":"orchestrator.d.ts","sourceRoot":"","sources":["../../../src/runtime/orchestrator.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"orchestrator.d.ts","sourceRoot":"","sources":["../../../src/runtime/orchestrator.ts"],"names":[],"mappings":"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"}
@@ -3,7 +3,9 @@ import { resolve, dirname } from 'node:path';
3
3
  import { fileURLToPath } from 'node:url';
4
4
  import { webSearchTool, createEmergentEngine, createCallForgedTool, wrapForgeTool, } from './emergent-setup.js';
5
5
  import { humanizeToolName, parseDeptReport, parseCmdDecision, emptyReport, emptyDecision, decisionToPolicy, } from './parsers.js';
6
- import { buildPriceForSite, getDefaultPricing } from './pricing.js';
6
+ import { createCostTracker } from './cost-tracker.js';
7
+ import { buildAvailableToolsBlock, buildForgedToolbox } from './tool-ledger.js';
8
+ import { buildCitationCatalog } from './citations-catalog.js';
7
9
  import { SeededRng } from '../engine/core/rng.js';
8
10
  import { classifyOutcome, classifyOutcomeById } from '../engine/core/progression.js';
9
11
  import { SimulationKernel } from '../engine/core/kernel.js';
@@ -29,128 +31,20 @@ export async function runSimulation(leader, keyPersonnel, opts = {}) {
29
31
  const sid = `${sc.labels.shortName}-v2-${leader.archetype.toLowerCase().replace(/\s+/g, '-')}`;
30
32
  const modelConfig = resolveSimulationModels(provider, opts.models);
31
33
  // Cost tracking: accumulate token usage and estimated cost across all LLM calls
32
- let totalTokens = 0;
33
- let totalCostUSD = 0;
34
- let llmCalls = 0;
35
- /**
36
- * Run-wide prompt-cache accounting. Tracks cache-tier token counts
37
- * returned by AgentOS on Anthropic calls (and OpenAI's automatic
38
- * caching when it eventually exposes them). Surfaces as proof that
39
- * the prompt-caching wiring actually hit — a run with `cacheReadTokens
40
- * = 0` despite configured cache breakpoints means caching didn't work
41
- * and the reported cost is not reflecting the savings we expected.
42
- *
43
- * Reported via `_cost` on every SSE emit so the dashboard breakdown
44
- * modal can display cache hit rate and estimated savings.
45
- */
46
- let cacheReadTokens = 0;
47
- let cacheCreationTokens = 0;
48
- const newBucket = () => ({
49
- totalTokens: 0, totalCostUSD: 0, calls: 0,
50
- cacheReadTokens: 0, cacheCreationTokens: 0,
51
- });
52
- const costBySite = {
53
- director: newBucket(),
54
- commander: newBucket(),
55
- departments: newBucket(),
56
- judge: newBucket(),
57
- reactions: newBucket(),
58
- other: newBucket(),
59
- };
60
- // Pricing comes from pricing.ts so MODEL_PRICING has one home.
61
- const defaultPricing = getDefaultPricing(modelConfig);
62
- const priceForSite = buildPriceForSite(modelConfig);
63
- /**
64
- * Record token/cost usage from a single LLM call.
65
- *
66
- * @param result The result object from generateText / session.send(),
67
- * which carries an optional `usage` field populated by AgentOS.
68
- * @param site Which pipeline stage made the call. Used to build the
69
- * per-site cost breakdown the dashboard StatsBar can drill into.
70
- * Defaults to 'other' when a call-site isn't tagged (harmless
71
- * fallback, but tag every new call site so the breakdown stays
72
- * meaningful).
73
- */
74
- function trackUsage(result, site = 'other') {
75
- if (!result?.usage)
76
- return;
77
- const tokensThisCall = result.usage.totalTokens ?? 0;
78
- const callCacheRead = result.usage.cacheReadTokens ?? 0;
79
- const callCacheCreate = result.usage.cacheCreationTokens ?? 0;
80
- let costThisCall;
81
- if (typeof result.usage.costUSD === 'number') {
82
- // Provider returned a cost that already accounts for cache tiers.
83
- costThisCall = result.usage.costUSD;
84
- }
85
- else {
86
- // Fallback: compute a cache-aware estimate using commander-tier
87
- // pricing as an approximation. Cache reads billed at 0.1×, cache
88
- // creations at 1.25× input rate. Previous estimate ignored cache
89
- // entirely so a run with heavy caching would UNDER-report the
90
- // billed amount by ~10-15%.
91
- const input = result.usage.promptTokens ?? 0;
92
- const output = result.usage.completionTokens ?? 0;
93
- costThisCall =
94
- (input * defaultPricing.input / 1_000_000)
95
- + (output * defaultPricing.output / 1_000_000)
96
- + (callCacheRead * defaultPricing.input * 0.10 / 1_000_000)
97
- + (callCacheCreate * defaultPricing.input * 1.25 / 1_000_000);
98
- }
99
- totalTokens += tokensThisCall;
100
- totalCostUSD += costThisCall;
101
- llmCalls++;
102
- cacheReadTokens += callCacheRead;
103
- cacheCreationTokens += callCacheCreate;
104
- const bucket = costBySite[site];
105
- bucket.totalTokens += tokensThisCall;
106
- bucket.totalCostUSD += costThisCall;
107
- bucket.calls++;
108
- bucket.cacheReadTokens += callCacheRead;
109
- bucket.cacheCreationTokens += callCacheCreate;
110
- }
34
+ // Cost tracker: per-site buckets + cache-aware fallback estimation.
35
+ // Lives in cost-tracker.ts so the math has one home and the turn loop
36
+ // reads as dispatch. trackUsage(result, site) is called at every LLM
37
+ // call site with a site tag; buildCostPayload() is called before each
38
+ // SSE emit so the dashboard breakdown modal sees live data.
39
+ const costTracker = createCostTracker(modelConfig);
40
+ const trackUsage = costTracker.trackUsage;
111
41
  const emit = (type, data) => {
112
- // Per-site cache savings math: estimate USD saved vs a hypothetical
113
- // no-caching run. Anthropic bills cache_read at 0.10x input rate
114
- // (saves 0.90x) and cache_creation at 1.25x (costs +0.25x). So net
115
- // savings per site = (reads × 0.90 - creates × 0.25) × inputPrice.
116
- // A fresh creation on turn 1 is a net COST relative to no-cache
117
- // (the run hasn't amortized the 1.25x overhead yet). By turn 3+
118
- // with reads dominating, savings are substantial.
119
- let runCacheSavingsUSD = 0;
120
- const breakdown = {};
121
- for (const [k, v] of Object.entries(costBySite)) {
122
- if (v.calls > 0) {
123
- const sitePricing = priceForSite(k);
124
- const siteSavings = ((v.cacheReadTokens * 0.90) - (v.cacheCreationTokens * 0.25))
125
- * sitePricing.input / 1_000_000;
126
- runCacheSavingsUSD += siteSavings;
127
- breakdown[k] = {
128
- totalTokens: v.totalTokens,
129
- totalCostUSD: Math.round(v.totalCostUSD * 10000) / 10000,
130
- calls: v.calls,
131
- ...(v.cacheReadTokens > 0 ? { cacheReadTokens: v.cacheReadTokens } : {}),
132
- ...(v.cacheCreationTokens > 0 ? { cacheCreationTokens: v.cacheCreationTokens } : {}),
133
- ...(Math.abs(siteSavings) >= 0.0001
134
- ? { cacheSavingsUSD: Math.round(siteSavings * 10000) / 10000 }
135
- : {}),
136
- };
137
- }
138
- }
139
42
  opts.onEvent?.({
140
43
  type,
141
44
  leader: leader.name,
142
45
  data: {
143
46
  ...data,
144
- _cost: {
145
- totalTokens,
146
- totalCostUSD: Math.round(totalCostUSD * 10000) / 10000,
147
- llmCalls,
148
- cacheReadTokens,
149
- cacheCreationTokens,
150
- /** Run-wide USD saved by prompt caching vs a no-cache run. */
151
- cacheSavingsUSD: Math.round(runCacheSavingsUSD * 10000) / 10000,
152
- breakdown,
153
- },
47
+ _cost: costTracker.buildCostPayload(),
154
48
  },
155
49
  });
156
50
  };
@@ -234,6 +128,20 @@ export async function runSimulation(leader, keyPersonnel, opts = {}) {
234
128
  (err) => reportProviderError(err, 'judge'), forgedExecutables);
235
129
  const callForgedTool = createCallForgedTool(forgedExecutables);
236
130
  const toolRegs = {};
131
+ /**
132
+ * Per-simulation forged-tool ledger. Tracks first-forge metadata + a
133
+ * full reuse history so the UI can show WHEN a tool was used, BY WHICH
134
+ * dept, on WHICH event, and WHAT OUTPUT it produced — not just a flat
135
+ * "reused 3x" count.
136
+ *
137
+ * Two distinct signals:
138
+ * forgeCalls the judge ran a fresh forge (succeeded or failed)
139
+ * uses the LLM cited an existing tool in its dept report
140
+ * without re-forging (self-reported via forgedToolsUsed)
141
+ *
142
+ * Both surface in the UI; only the latter is "real" reuse, but tracking
143
+ * both makes failure / re-forge attempts auditable.
144
+ */
237
145
  const forgedLedger = new Map();
238
146
  // Commander does NOT use systemBlocks caching because AgentOS's
239
147
  // `systemBlocks` path replaces the assembled system prompt entirely,
@@ -682,30 +590,7 @@ Respond with valid JSON ONLY (no markdown, no prose outside the JSON):
682
590
  // was no other way to surface a number than to re-run forge_tool.
683
591
  // Now we also include the last approved output so the LLM can
684
592
  // cite both the name and the value without re-forging.
685
- const availableToolsBlock = (() => {
686
- const approved = [];
687
- for (const [name, ledger] of forgedLedger.entries()) {
688
- const lastApproved = [...ledger.history].reverse().find(h => !h.rejected);
689
- if (!lastApproved)
690
- continue;
691
- approved.push({
692
- name,
693
- dept: ledger.firstForgedDepartment,
694
- title: ledger.firstForgedEventTitle || name,
695
- // Truncate aggressively so the block stays under a few hundred
696
- // tokens even with 20 tools. 180 chars covers a compact JSON
697
- // like {"score":42,"warnings":[]} which is what the LLM cites.
698
- output: lastApproved.output ? lastApproved.output.slice(0, 180) : null,
699
- });
700
- }
701
- if (approved.length === 0)
702
- return '';
703
- const lines = approved.slice(-20).reverse().map(t => {
704
- const head = `- ${t.name} (${t.dept}): ${t.title}`;
705
- return t.output ? `${head}\n last output: ${t.output}` : head;
706
- }).join('\n');
707
- return `\n\nALREADY-FORGED TOOLS IN THIS SESSION:\n${lines}\n\nHARD RULE — how to reuse:\n- Preferred: call the tool for real with fresh inputs via call_forged_tool({"name":"<tool_name>","args":{...}}). This produces a new output using the approved, judge-reviewed code. Then cite the tool in "forgedToolsUsed" with the new output.\n- If the analysis is essentially unchanged from last invocation, cite the tool name in "forgedToolsUsed" and reference the last output from the list above in your summary — no tool call needed.\n- Do NOT call forge_tool with a name from this list. Re-forging costs −0.06 outcome bonus and −0.015 morale. Only forge a NEW tool when NO existing one applies. Each reuse (via call_forged_tool or citation) is +0.02 outcome bonus.\n`;
708
- })();
593
+ const availableToolsBlock = buildAvailableToolsBlock(forgedLedger);
709
594
  const deptPromises = depts.map(async (dept) => {
710
595
  const sess = deptSess.get(dept);
711
596
  if (!sess)
@@ -1351,89 +1236,13 @@ Respond with valid JSON ONLY (no markdown, no prose outside the JSON):
1351
1236
  ? sc.hooks.fingerprintHook(final, outcomeLog, leader, toolRegs, maxTurns)
1352
1237
  : {};
1353
1238
  const fingerprint = { ...generic, ...scenarioOverlay };
1354
- // Build the canonical Forged Toolbox: deduplicate forge attempts by
1355
- // tool name, keep the first-forge metadata + accumulated reuse count.
1356
- // Includes the full input/output JSON Schemas pulled from the
1357
- // EmergentToolRegistry on first forge — the same data the dashboard's
1358
- // ToolboxSection renders, now available to programmatic consumers.
1359
- // Build the canonical Forged Toolbox from the forgedLedger (which has
1360
- // the authoritative history). allForges is the raw stream of judge
1361
- // calls; the ledger.history captures every USE (forge or reuse).
1362
- const forgedToolbox = (() => {
1363
- const out = [];
1364
- for (const [name, entry] of forgedLedger) {
1365
- // Find the original forge metadata (description, mode) from the
1366
- // first matching captured forge if available; fall back to history.
1367
- const firstForge = allForges.find(f => f.name === name);
1368
- const departments = new Set();
1369
- let approved = false;
1370
- let maxConfidence = 0;
1371
- let sampleOutput = null;
1372
- let reforgeCount = 0;
1373
- let rejectedReforges = 0;
1374
- for (const h of entry.history) {
1375
- departments.add(h.department);
1376
- if (!h.rejected)
1377
- approved = true;
1378
- if (typeof h.confidence === 'number' && h.confidence > maxConfidence)
1379
- maxConfidence = h.confidence;
1380
- if (h.output)
1381
- sampleOutput = h.output;
1382
- if (h.isReforge) {
1383
- reforgeCount++;
1384
- if (h.rejected)
1385
- rejectedReforges++;
1386
- }
1387
- }
1388
- const totalUses = entry.history.length;
1389
- out.push({
1390
- name,
1391
- description: firstForge?.description || name,
1392
- mode: firstForge?.mode || 'sandbox',
1393
- firstForgedTurn: entry.firstForgedTurn,
1394
- firstForgedDepartment: entry.firstForgedDepartment,
1395
- firstForgedEventTitle: entry.firstForgedEventTitle,
1396
- departments: [...departments],
1397
- reuseCount: Math.max(0, totalUses - 1),
1398
- totalUses,
1399
- reforgeCount,
1400
- rejectedReforges,
1401
- approved: approved || (firstForge?.approved ?? false),
1402
- // Use the highest judge confidence across this tool's invocations.
1403
- // If the tool was never approved (only failed forges), confidence
1404
- // is 0 — never fabricate an 0.85 default that misrepresents
1405
- // rejected tools as borderline-passable.
1406
- confidence: maxConfidence || (firstForge?.approved ? firstForge.confidence : 0),
1407
- inputSchema: entry.inputSchema,
1408
- outputSchema: entry.outputSchema,
1409
- sampleOutput,
1410
- history: entry.history.slice(),
1411
- });
1412
- }
1413
- return out.sort((a, b) => a.firstForgedTurn - b.firstForgedTurn);
1414
- })();
1415
- // Flat unique citation list across all department reports.
1416
- const citationCatalog = (() => {
1417
- const byKey = new Map();
1418
- for (const { turn: t, report } of allDepartmentReports) {
1419
- for (const c of report.citations) {
1420
- const key = (c.url || '').trim() || `text:${(c.text || '').trim()}`;
1421
- if (!key)
1422
- continue;
1423
- let entry = byKey.get(key);
1424
- if (!entry) {
1425
- entry = { text: c.text || c.url || '', url: c.url || '', doi: c.doi, departments: new Set(), turns: new Set() };
1426
- byKey.set(key, entry);
1427
- }
1428
- if (report.department)
1429
- entry.departments.add(report.department);
1430
- entry.turns.add(t);
1431
- if (!entry.doi && c.doi)
1432
- entry.doi = c.doi;
1433
- }
1434
- }
1435
- return [...byKey.values()].map(e => ({ ...e, departments: [...e.departments], turns: [...e.turns].sort((a, b) => a - b) }));
1436
- })();
1239
+ // Canonical Forged Toolbox: deduplicated by tool name with first-forge
1240
+ // metadata, full invocation history, and reuse/rejection rollups.
1241
+ // Matches the data the dashboard's ToolboxSection renders.
1242
+ const forgedToolbox = buildForgedToolbox(forgedLedger, allForges);
1243
+ // Flat unique citation list across all department reports. URL is the
1244
+ // dedup key; each entry carries the departments + turns that cited it.
1245
+ const citationCatalog = buildCitationCatalog(allDepartmentReports);
1437
1246
  const output = {
1438
1247
  simulation: `${sc.id}-v3`,
1439
1248
  leader: { name: leader.name, archetype: leader.archetype, colony: leader.colony, hexaco: leader.hexaco },
@@ -1459,7 +1268,7 @@ Respond with valid JSON ONLY (no markdown, no prose outside the JSON):
1459
1268
  /** Per-turn agent reactions with mood + quote + memory snippets. */
1460
1269
  agentReactions: allAgentReactions,
1461
1270
  /** Cost telemetry for the run. */
1462
- cost: { totalTokens, totalCostUSD: Math.round(totalCostUSD * 10000) / 10000, llmCalls },
1271
+ cost: costTracker.finalCost(),
1463
1272
  /**
1464
1273
  * When a terminal provider error (quota exhausted, invalid API key)
1465
1274
  * was hit during the run, this carries the classified reason. `null`
@@ -1 +1 @@
1
- {"version":3,"file":"orchestrator.js","sourceRoot":"","sources":["../../../src/runtime/orchestrator.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,SAAS,EAAE,MAAM,SAAS,CAAC;AACnD,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAC7C,OAAO,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC;AAEzC,OAAO,EACL,aAAa,EACb,oBAAoB,EACpB,oBAAoB,EACpB,aAAa,GAEd,MAAM,qBAAqB,CAAC;AAC7B,OAAO,EACL,gBAAgB,EAChB,eAAe,EACf,gBAAgB,EAChB,WAAW,EACX,aAAa,EACb,gBAAgB,GACjB,MAAM,cAAc,CAAC;AACtB,OAAO,EAAE,iBAAiB,EAAE,iBAAiB,EAAiB,MAAM,cAAc,CAAC;AAEnF,OAAO,EAAE,SAAS,EAAE,MAAM,uBAAuB,CAAC;AAClD,OAAO,EAAE,eAAe,EAAE,mBAAmB,EAAE,MAAM,+BAA+B,CAAC;AAErF,OAAO,EAAE,gBAAgB,EAAqB,MAAM,0BAA0B,CAAC;AAE/E,OAAO,EAAE,iBAAiB,EAAE,MAAM,wBAAwB,CAAC;AAC3D,OAAO,EAAE,qBAAqB,EAAE,MAAM,iCAAiC,CAAC;AACxE,OAAO,EAAE,kBAAkB,EAAE,cAAc,EAAE,mBAAmB,EAAE,MAAM,+BAA+B,CAAC;AACxG,OAAO,EAAE,sBAAsB,EAAE,qBAAqB,EAAE,MAAM,kBAAkB,CAAC;AACjF,OAAO,EAAE,aAAa,EAAqE,MAAM,eAAe,CAAC;AACjH,OAAO,EAAE,sBAAsB,EAAE,MAAM,sBAAsB,CAAC;AAC9D,OAAO,EAAE,oBAAoB,EAAE,iBAAiB,EAAE,gCAAgC,EAAE,MAAM,mBAAmB,CAAC;AAG9G,OAAO,EACL,iBAAiB,EACjB,uBAAuB,GAIxB,MAAM,sBAAsB,CAAC;AAC9B,OAAO,EAAE,wBAAwB,EAAE,oBAAoB,EAAE,iBAAiB,EAAE,MAAM,sBAAsB,CAAC;AACzG,OAAO,EAAE,qBAAqB,EAAE,cAAc,EAAgC,MAAM,sBAAsB,CAAC;AAC3G,OAAO,EAAE,cAAc,EAAE,MAAM,8BAA8B,CAAC;AAC9D,OAAO,EAAE,YAAY,EAAE,MAAM,yBAAyB,CAAC;AAIvD,MAAM,SAAS,GAAG,OAAO,CAAC,aAAa,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC;AAiD1D,MAAM,CAAC,KAAK,UAAU,aAAa,CAAC,MAAoB,EAAE,YAA4B,EAAE,OAAmB,EAAE;IAC3G,MAAM,EAAE,KAAK,EAAE,GAAG,MAAM,MAAM,CAAC,kBAAkB,CAAC,CAAC;IACnD,MAAM,EAAE,GAAG,IAAI,CAAC,QAAQ,IAAI,YAAY,CAAC;IACzC,MAAM,QAAQ,GAAG,IAAI,CAAC,QAAQ,IAAI,EAAE,CAAC;IACrC,MAAM,SAAS,GAAG,IAAI,CAAC,SAAS,IAAI,IAAI,CAAC;IACzC,MAAM,QAAQ,GAAG,IAAI,CAAC,QAAQ,IAAI,QAAQ,CAAC;IAC3C,MAAM,GAAG,GAAG,GAAG,EAAE,CAAC,MAAM,CAAC,SAAS,OAAO,MAAM,CAAC,SAAS,CAAC,WAAW,EAAE,CAAC,OAAO,CAAC,MAAM,EAAE,GAAG,CAAC,EAAE,CAAC;IAC/F,MAAM,WAAW,GAAG,uBAAuB,CAAC,QAAQ,EAAE,IAAI,CAAC,MAAM,CAAC,CAAC;IACnE,gFAAgF;IAChF,IAAI,WAAW,GAAG,CAAC,CAAC;IACpB,IAAI,YAAY,GAAG,CAAC,CAAC;IACrB,IAAI,QAAQ,GAAG,CAAC,CAAC;IACjB;;;;;;;;;;OAUG;IACH,IAAI,eAAe,GAAG,CAAC,CAAC;IACxB,IAAI,mBAAmB,GAAG,CAAC,CAAC;IAkB5B,MAAM,SAAS,GAAG,GAAe,EAAE,CAAC,CAAC;QACnC,WAAW,EAAE,CAAC,EAAE,YAAY,EAAE,CAAC,EAAE,KAAK,EAAE,CAAC;QACzC,eAAe,EAAE,CAAC,EAAE,mBAAmB,EAAE,CAAC;KAC3C,CAAC,CAAC;IACH,MAAM,UAAU,GAAiC;QAC/C,QAAQ,EAAE,SAAS,EAAE;QACrB,SAAS,EAAE,SAAS,EAAE;QACtB,WAAW,EAAE,SAAS,EAAE;QACxB,KAAK,EAAE,SAAS,EAAE;QAClB,SAAS,EAAE,SAAS,EAAE;QACtB,KAAK,EAAE,SAAS,EAAE;KACnB,CAAC;IAEF,+DAA+D;IAC/D,MAAM,cAAc,GAAG,iBAAiB,CAAC,WAAW,CAAC,CAAC;IACtD,MAAM,YAAY,GAAG,iBAAiB,CAAC,WAAW,CAAC,CAAC;IAEpD;;;;;;;;;;OAUG;IACH,SAAS,UAAU,CACjB,MASC,EACD,OAAiB,OAAO;QAExB,IAAI,CAAC,MAAM,EAAE,KAAK;YAAE,OAAO;QAC3B,MAAM,cAAc,GAAG,MAAM,CAAC,KAAK,CAAC,WAAW,IAAI,CAAC,CAAC;QACrD,MAAM,aAAa,GAAG,MAAM,CAAC,KAAK,CAAC,eAAe,IAAI,CAAC,CAAC;QACxD,MAAM,eAAe,GAAG,MAAM,CAAC,KAAK,CAAC,mBAAmB,IAAI,CAAC,CAAC;QAC9D,IAAI,YAAoB,CAAC;QACzB,IAAI,OAAO,MAAM,CAAC,KAAK,CAAC,OAAO,KAAK,QAAQ,EAAE,CAAC;YAC7C,kEAAkE;YAClE,YAAY,GAAG,MAAM,CAAC,KAAK,CAAC,OAAO,CAAC;QACtC,CAAC;aAAM,CAAC;YACN,gEAAgE;YAChE,iEAAiE;YACjE,iEAAiE;YACjE,8DAA8D;YAC9D,4BAA4B;YAC5B,MAAM,KAAK,GAAG,MAAM,CAAC,KAAK,CAAC,YAAY,IAAI,CAAC,CAAC;YAC7C,MAAM,MAAM,GAAG,MAAM,CAAC,KAAK,CAAC,gBAAgB,IAAI,CAAC,CAAC;YAClD,YAAY;gBACV,CAAC,KAAK,GAAG,cAAc,CAAC,KAAK,GAAG,SAAS,CAAC;sBACxC,CAAC,MAAM,GAAG,cAAc,CAAC,MAAM,GAAG,SAAS,CAAC;sBAC5C,CAAC,aAAa,GAAG,cAAc,CAAC,KAAK,GAAG,IAAI,GAAG,SAAS,CAAC;sBACzD,CAAC,eAAe,GAAG,cAAc,CAAC,KAAK,GAAG,IAAI,GAAG,SAAS,CAAC,CAAC;QAClE,CAAC;QACD,WAAW,IAAI,cAAc,CAAC;QAC9B,YAAY,IAAI,YAAY,CAAC;QAC7B,QAAQ,EAAE,CAAC;QACX,eAAe,IAAI,aAAa,CAAC;QACjC,mBAAmB,IAAI,eAAe,CAAC;QACvC,MAAM,MAAM,GAAG,UAAU,CAAC,IAAI,CAAC,CAAC;QAChC,MAAM,CAAC,WAAW,IAAI,cAAc,CAAC;QACrC,MAAM,CAAC,YAAY,IAAI,YAAY,CAAC;QACpC,MAAM,CAAC,KAAK,EAAE,CAAC;QACf,MAAM,CAAC,eAAe,IAAI,aAAa,CAAC;QACxC,MAAM,CAAC,mBAAmB,IAAI,eAAe,CAAC;IAChD,CAAC;IAED,MAAM,IAAI,GAAG,CAAC,IAAsB,EAAE,IAA8B,EAAE,EAAE;QACtE,oEAAoE;QACpE,iEAAiE;QACjE,mEAAmE;QACnE,mEAAmE;QACnE,gEAAgE;QAChE,gEAAgE;QAChE,kDAAkD;QAClD,IAAI,kBAAkB,GAAG,CAAC,CAAC;QAC3B,MAAM,SAAS,GASV,EAAE,CAAC;QACR,KAAK,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,UAAU,CAAC,EAAE,CAAC;YAChD,IAAI,CAAC,CAAC,KAAK,GAAG,CAAC,EAAE,CAAC;gBAChB,MAAM,WAAW,GAAG,YAAY,CAAC,CAAa,CAAC,CAAC;gBAChD,MAAM,WAAW,GACf,CAAC,CAAC,CAAC,CAAC,eAAe,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,mBAAmB,GAAG,IAAI,CAAC,CAAC;sBAC3D,WAAW,CAAC,KAAK,GAAG,SAAS,CAAC;gBAClC,kBAAkB,IAAI,WAAW,CAAC;gBAClC,SAAS,CAAC,CAAC,CAAC,GAAG;oBACb,WAAW,EAAE,CAAC,CAAC,WAAW;oBAC1B,YAAY,EAAE,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,YAAY,GAAG,KAAK,CAAC,GAAG,KAAK;oBACxD,KAAK,EAAE,CAAC,CAAC,KAAK;oBACd,GAAG,CAAC,CAAC,CAAC,eAAe,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,eAAe,EAAE,CAAC,CAAC,eAAe,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;oBACxE,GAAG,CAAC,CAAC,CAAC,mBAAmB,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,mBAAmB,EAAE,CAAC,CAAC,mBAAmB,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;oBACpF,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,WAAW,CAAC,IAAI,MAAM;wBACjC,CAAC,CAAC,EAAE,eAAe,EAAE,IAAI,CAAC,KAAK,CAAC,WAAW,GAAG,KAAK,CAAC,GAAG,KAAK,EAAE;wBAC9D,CAAC,CAAC,EAAE,CAAC;iBACR,CAAC;YACJ,CAAC;QACH,CAAC;QACD,IAAI,CAAC,OAAO,EAAE,CAAC;YACb,IAAI;YACJ,MAAM,EAAE,MAAM,CAAC,IAAI;YACnB,IAAI,EAAE;gBACJ,GAAG,IAAI;gBACP,KAAK,EAAE;oBACL,WAAW;oBACX,YAAY,EAAE,IAAI,CAAC,KAAK,CAAC,YAAY,GAAG,KAAK,CAAC,GAAG,KAAK;oBACtD,QAAQ;oBACR,eAAe;oBACf,mBAAmB;oBACnB,8DAA8D;oBAC9D,eAAe,EAAE,IAAI,CAAC,KAAK,CAAC,kBAAkB,GAAG,KAAK,CAAC,GAAG,KAAK;oBAC/D,SAAS;iBACV;aACF;SACF,CAAC,CAAC;IACL,CAAC,CAAC;IAEF;;;;;;;;;;OAUG;IACH,IAAI,kBAAkB,GAAmC,IAAI,CAAC;IAC9D,0EAA0E;IAC1E,IAAI,oBAAoB,GAAG,KAAK,CAAC;IAEjC;;;;;;;;;;OAUG;IACH,MAAM,mBAAmB,GAAG,CAAC,GAAY,EAAE,IAAY,EAA2B,EAAE;QAClF,MAAM,UAAU,GAAG,qBAAqB,CAAC,GAAG,CAAC,CAAC;QAC9C,IAAI,cAAc,CAAC,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,oBAAoB,EAAE,CAAC;YAC7D,kBAAkB,GAAG,UAAU,CAAC;YAChC,oBAAoB,GAAG,IAAI,CAAC;YAC5B,OAAO,CAAC,KAAK,CAAC,MAAM,IAAI,qBAAqB,UAAU,CAAC,IAAI,MAAM,UAAU,CAAC,OAAO,EAAE,CAAC,CAAC;YACxF,IAAI,CAAC,gBAAgB,EAAE;gBACrB,IAAI,EAAE,UAAU,CAAC,IAAI;gBACrB,QAAQ,EAAE,UAAU,CAAC,QAAQ;gBAC7B,OAAO,EAAE,UAAU,CAAC,OAAO;gBAC3B,SAAS,EAAE,UAAU,CAAC,SAAS;gBAC/B,IAAI;aACL,CAAC,CAAC;QACL,CAAC;QACD,OAAO,UAAU,CAAC;IACpB,CAAC,CAAC;IAEF,4DAA4D;IAC5D,MAAM,SAAS,GAAG,GAAG,EAAE,CAAC,kBAAkB,KAAK,IAAI,CAAC;IAEpD,OAAO,CAAC,GAAG,CAAC,KAAK,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC;IACnC,OAAO,CAAC,GAAG,CAAC,KAAK,EAAE,CAAC,MAAM,CAAC,IAAI,CAAC,WAAW,EAAE,KAAK,CAAC,CAAC;IACpD,OAAO,CAAC,GAAG,CAAC,gBAAgB,MAAM,CAAC,IAAI,OAAO,MAAM,CAAC,SAAS,GAAG,CAAC,CAAC;IACnE,OAAO,CAAC,GAAG,CAAC,YAAY,QAAQ,mBAAmB,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC;IACrF,OAAO,CAAC,GAAG,CAAC,GAAG,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC,IAAI,CAAC,CAAC;IAEnC,4DAA4D;IAC5D,MAAM,kBAAkB,CAAC,EAAE,CAAC,SAAS,CAAC,CAAC;IAEvC,MAAM,IAAI,GAAG,IAAI,CAAC,IAAI,IAAI,GAAG,CAAC;IAC9B,MAAM,MAAM,GAAG,IAAI,gBAAgB,CAAC,IAAI,EAAE,MAAM,CAAC,IAAI,EAAE,YAAY,EAAE;QACnE,SAAS;QACT,iBAAiB,EAAE,IAAI,CAAC,iBAAiB;QACzC,mEAAmE;QACnE,kEAAkE;QAClE,kEAAkE;QAClE,kEAAkE;QAClE,iBAAiB,EAAE,IAAI,CAAC,iBAAwF;QAChH,gBAAgB,EAAE,IAAI,CAAC,gBAAwF;KAChH,CAAC,CAAC;IAEH,MAAM,OAAO,GAAG,IAAI,GAAG,EAAiB,CAAC;IACzC,OAAO,CAAC,GAAG,CAAC,YAAY,EAAE,aAAa,CAAC,CAAC;IACzC,mEAAmE;IACnE,+DAA+D;IAC/D,iEAAiE;IACjE,2CAA2C;IAC3C,MAAM,iBAAiB,GAAG,IAAI,GAAG,EAAiB,CAAC;IACnD,MAAM,EAAE,MAAM,EAAE,SAAS,EAAE,GAAG,oBAAoB,CAChD,OAAO,EACP,QAAQ,EACR,WAAW,CAAC,KAAK,EACjB,IAAI,CAAC,SAAS;IACd,yEAAyE;IACzE,wEAAwE;IACxE,oEAAoE;IACpE,gEAAgE;IAChE,CAAC,MAAM,EAAE,EAAE,CAAC,UAAU,CAAC,MAAM,EAAE,OAAO,CAAC;IACvC,qEAAqE;IACrE,qEAAqE;IACrE,iDAAiD;IACjD,CAAC,GAAG,EAAE,EAAE,CAAC,mBAAmB,CAAC,GAAG,EAAE,OAAO,CAAC,EAC1C,iBAAiB,CAClB,CAAC;IACF,MAAM,cAAc,GAAG,oBAAoB,CAAC,iBAAiB,CAAC,CAAC;IAC/D,MAAM,QAAQ,GAA6B,EAAE,CAAC;IA+B9C,MAAM,YAAY,GAAG,IAAI,GAAG,EASxB,CAAC;IAEL,gEAAgE;IAChE,qEAAqE;IACrE,mEAAmE;IACnE,uEAAuE;IACvE,gEAAgE;IAChE,qEAAqE;IACrE,MAAM,SAAS,GAAG,KAAK,CAAC;QACtB,QAAQ,EAAE,KAAK,EAAE,WAAW,CAAC,SAAS;QACtC,YAAY,EAAE,MAAM,CAAC,YAAY;QACjC,WAAW,EAAE,EAAE,QAAQ,EAAE,MAAM,CAAC,MAAM,CAAC,QAAQ,EAAE,iBAAiB,EAAE,MAAM,CAAC,MAAM,CAAC,iBAAiB,EAAE,YAAY,EAAE,MAAM,CAAC,MAAM,CAAC,YAAY,EAAE,aAAa,EAAE,MAAM,CAAC,MAAM,CAAC,aAAa,EAAE,YAAY,EAAE,MAAM,CAAC,MAAM,CAAC,YAAY,EAAE,OAAO,EAAE,MAAM,CAAC,MAAM,CAAC,eAAe,EAAE;QAC7Q,QAAQ,EAAE,IAAI,CAAC,SAAS,EAAE,iBAAiB,IAAI,iBAAiB,CAAC,iBAAiB;KACnF,CAAC,CAAC;IACH,MAAM,OAAO,GAAG,SAAS,CAAC,OAAO,CAAC,GAAG,GAAG,MAAM,CAAC,CAAC;IAChD,yEAAyE;IACzE,sEAAsE;IACtE,wEAAwE;IACxE,wEAAwE;IACxE,MAAM,cAAc,GAAG,CAAC,GAAG,EAAE;QAC3B,MAAM,CAAC,GAAG,MAAM,CAAC,MAAM,CAAC;QACxB,MAAM,IAAI,GAAa,EAAE,CAAC;QAC1B,IAAI,CAAC,CAAC,QAAQ,GAAG,GAAG;YAAE,IAAI,CAAC,IAAI,CAAC,uDAAuD,CAAC,CAAC;QACzF,IAAI,CAAC,CAAC,QAAQ,GAAG,GAAG;YAAE,IAAI,CAAC,IAAI,CAAC,6CAA6C,CAAC,CAAC;QAC/E,IAAI,CAAC,CAAC,iBAAiB,GAAG,GAAG;YAAE,IAAI,CAAC,IAAI,CAAC,6DAA6D,CAAC,CAAC;QACxG,IAAI,CAAC,CAAC,iBAAiB,GAAG,GAAG;YAAE,IAAI,CAAC,IAAI,CAAC,oCAAoC,CAAC,CAAC;QAC/E,IAAI,CAAC,CAAC,YAAY,GAAG,GAAG;YAAE,IAAI,CAAC,IAAI,CAAC,qEAAqE,CAAC,CAAC;QAC3G,IAAI,CAAC,CAAC,YAAY,GAAG,GAAG;YAAE,IAAI,CAAC,IAAI,CAAC,+CAA+C,CAAC,CAAC;QACrF,IAAI,CAAC,CAAC,aAAa,GAAG,GAAG;YAAE,IAAI,CAAC,IAAI,CAAC,8DAA8D,CAAC,CAAC;QACrG,IAAI,CAAC,CAAC,eAAe,GAAG,GAAG;YAAE,IAAI,CAAC,IAAI,CAAC,kDAAkD,CAAC,CAAC;QAC3F,OAAO,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,wBAAwB,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC;IACvE,CAAC,CAAC,EAAE,CAAC;IACL,wEAAwE;IACxE,wEAAwE;IACxE,wEAAwE;IACxE,mEAAmE;IACnE,0BAA0B;IAC1B,IAAI,CAAC;QACH,UAAU,CAAC,MAAM,OAAO,CAAC,IAAI,CAC3B,6FAA6F;YAC7F,GAAG,cAAc,GAAG;YACpB,uGAAuG;YACvG,0GAA0G;YAC1G,0GAA0G;YAC1G,gCAAgC;YAChC,sGAAsG;YACtG,8FAA8F;YAC9F,uDAAuD,CACxD,EAAE,WAAW,CAAC,CAAC;IAClB,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,mBAAmB,CAAC,GAAG,EAAE,qBAAqB,CAAC,CAAC;QAChD,sEAAsE;QACtE,qEAAqE;QACrE,sEAAsE;QACtE,sEAAsE;QACtE,uBAAuB;IACzB,CAAC;IAED,gEAAgE;IAChE,OAAO,CAAC,GAAG,CAAC,0DAA0D,CAAC,CAAC;IACxE,MAAM,cAAc,GAAiB,EAAE,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAgB,CAAC,CAAC;IACjF,MAAM,SAAS,GAA2B,MAAM,CAAC,WAAW,CAAC,EAAE,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IACtG,MAAM,kBAAkB,GAAG,cAAc,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE;QACnD,MAAM,UAAU,GAAG,MAAM,CAAC,aAAa,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC;QACjD,OAAO,MAAM,IAAI,CAAC,WAAW,EAAE,yBAAyB,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE;YACzE,MAAM,GAAG,GAAG,SAAS,GAAG,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC;YACzC,MAAM,CAAC,GAAG,CAAC,CAAC,MAAM,CAAC;YACnB,OAAO,KAAK,CAAC,CAAC,IAAI,CAAC,IAAI,KAAK,CAAC,CAAC,IAAI,CAAC,EAAE,UAAU,GAAG,WAAW,CAAC,CAAC,MAAM,CAAC,cAAc,OAAO,CAAC,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,iBAAiB,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,YAAY,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,aAAa,CAAC,OAAO,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,YAAY,CAAC,OAAO,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,eAAe,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC;QAC3R,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC;IAClB,CAAC,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;IAEhB,MAAM,WAAW,GAAG,MAAM,OAAO,CAAC,IAAI,CACpC,oBAAoB,CAAC,kBAAkB,CAAC,CACzC,CAAC;IACF,8EAA8E;IAC9E,UAAU,CAAC,WAAW,EAAE,WAAW,CAAC,CAAC;IAErC,MAAM,UAAU,GAAG,WAAW,CAAC,IAAI,CAAC,KAAK,CAAC,gCAAgC,CAAC,CAAC;IAC5E,IAAI,UAAU,EAAE,CAAC;QACf,IAAI,CAAC;YACH,MAAM,EAAE,GAAG,IAAI,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC;YACrC,KAAK,MAAM,CAAC,IAAI,EAAE,CAAC,UAAU,IAAI,EAAE,EAAE,CAAC;gBACpC,IAAI,CAAC;oBACH,MAAM,CAAC,YAAY,CAAC,CAAC,CAAC,OAAO,EAAE,CAAC,CAAC,UAAU,EAAE,CAAC,CAAC,IAAI,EAAE,MAAM,CAAC,IAAI,CAAC,CAAC;oBAClE,OAAO,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,OAAO,MAAM,CAAC,CAAC,IAAI,KAAK,CAAC,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,EAAE,CAAC,CAAC;oBACvE,IAAI,CAAC,WAAW,EAAE,EAAE,OAAO,EAAE,CAAC,CAAC,OAAO,EAAE,UAAU,EAAE,CAAC,CAAC,UAAU,EAAE,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC,EAAE,GAAG,CAAC,EAAE,CAAC,CAAC;gBACrH,CAAC;gBAAC,OAAO,GAAG,EAAE,CAAC;oBAAC,OAAO,CAAC,GAAG,CAAC,yBAAyB,GAAG,EAAE,CAAC,CAAC;gBAAC,CAAC;YAChE,CAAC;QACH,CAAC;QAAC,OAAO,CAAC,EAAE,CAAC;YAAC,OAAO,CAAC,IAAI,CAAC,+CAA+C,EAAE,CAAC,CAAC,CAAC;QAAC,CAAC;IACnF,CAAC;IACD,kFAAkF;IAClF,KAAK,MAAM,IAAI,IAAI,cAAc,EAAE,CAAC;QAClC,MAAM,SAAS,GAAG,MAAM,CAAC,QAAQ,EAAE,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,SAAS,EAAE,UAAU,KAAK,IAAI,CAAC,CAAC;QACvF,IAAI,CAAC,SAAS,EAAE,CAAC;YACf,MAAM,GAAG,GAAG,MAAM,CAAC,aAAa,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;YAC7C,IAAI,GAAG,EAAE,CAAC;gBACR,MAAM,CAAC,YAAY,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,EAAE,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,IAAI,WAAW,IAAI,EAAE,EAAE,MAAM,CAAC,IAAI,CAAC,CAAC;gBAC1F,OAAO,CAAC,GAAG,CAAC,kBAAkB,GAAG,CAAC,IAAI,CAAC,IAAI,MAAM,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;YACtE,CAAC;QACH,CAAC;IACH,CAAC;IAED,uEAAuE;IACvE,uEAAuE;IACvE,uEAAuE;IACvE,0EAA0E;IAC1E,yEAAyE;IACzE,MAAM,gBAAgB,GAAG,IAAI,GAAG,EAA+B,CAAC;IAChE,kEAAkE;IAClE,8DAA8D;IAC9D,IAAI,kBAAkB,GAAuD,EAAE,IAAI,EAAE,CAAC,EAAE,IAAI,EAAE,SAAS,EAAE,UAAU,EAAE,CAAC,EAAE,CAAC;IACzH,MAAM,YAAY,GAAG,CAAC,IAAgB,EAAE,EAAE,CAAC,CAAC,MAAqB,EAAE,EAAE;QACnE,MAAM,MAAM,GAAG,gBAAgB,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC;QAChD,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;QACpB,gBAAgB,CAAC,GAAG,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;QACnC,iEAAiE;QACjE,wEAAwE;QACxE,MAAM,UAAU,GAAG,CAAC,MAAM,CAAC,WAAW,IAAI,OAAO,MAAM,CAAC,WAAW,KAAK,QAAQ,IAAK,MAAM,CAAC,WAAmB,CAAC,UAAU,CAAC;YACzH,CAAC,CAAC,MAAM,CAAC,IAAI,CAAE,MAAM,CAAC,WAAmB,CAAC,UAAU,CAAC;YACrD,CAAC,CAAC,EAAE,CAAC;QACP,MAAM,WAAW,GAAG,CAAC,MAAM,CAAC,YAAY,IAAI,OAAO,MAAM,CAAC,YAAY,KAAK,QAAQ,IAAK,MAAM,CAAC,YAAoB,CAAC,UAAU,CAAC;YAC7H,CAAC,CAAC,MAAM,CAAC,IAAI,CAAE,MAAM,CAAC,YAAoB,CAAC,UAAU,CAAC;YACtD,CAAC,CAAC,EAAE,CAAC;QACP,IAAI,CAAC,eAAe,EAAE;YACpB,IAAI,EAAE,kBAAkB,CAAC,IAAI;YAC7B,IAAI,EAAE,kBAAkB,CAAC,IAAI;YAC7B,UAAU,EAAE,kBAAkB,CAAC,UAAU;YACzC,UAAU,EAAE,IAAI;YAChB,IAAI,EAAE,MAAM,CAAC,IAAI;YACjB,WAAW,EAAE,MAAM,CAAC,WAAW;YAC/B,IAAI,EAAE,MAAM,CAAC,IAAI;YACjB,QAAQ,EAAE,MAAM,CAAC,QAAQ;YACzB,UAAU,EAAE,MAAM,CAAC,UAAU;YAC7B,WAAW,EAAE,UAAU,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC;YACnC,YAAY,EAAE,WAAW,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC;YACrC,WAAW,EAAE,MAAM,CAAC,WAAW;YAC/B,SAAS,EAAE,MAAM,CAAC,SAAS;SAC5B,CAAC,CAAC;IACL,CAAC,CAAC;IAEF,wDAAwD;IACxD,MAAM,UAAU,GAAG,IAAI,GAAG,EAAmB,CAAC;IAC9C,MAAM,QAAQ,GAAG,IAAI,GAAG,EAAmB,CAAC;IAC5C,MAAM,QAAQ,GAAG,MAAM,CAAC,QAAQ,EAAE,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC;IACnE,KAAK,MAAM,CAAC,IAAI,QAAQ,EAAE,CAAC;QACzB,MAAM,IAAI,GAAG,CAAC,CAAC,SAAU,CAAC,UAAU,CAAC;QACrC,MAAM,GAAG,GAAG,EAAE,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,KAAK,IAAI,CAAC,CAAC;QACpD,IAAI,CAAC,GAAG;YAAE,SAAS;QACnB,MAAM,OAAO,GAAG,aAAa,CAAC,SAAS,EAAE,GAAG,GAAG,IAAI,IAAI,EAAE,EAAE,GAAG,EAAE,IAAI,EAAE,YAAY,CAAC,IAAI,CAAC,CAAC,CAAC;QAC1F,gEAAgE;QAChE,+DAA+D;QAC/D,+DAA+D;QAC/D,+DAA+D;QAC/D,6DAA6D;QAC7D,MAAM,KAAK,GAAY,IAAI,CAAC,UAAU;YACpC,CAAC,CAAC,CAAC,aAAa,EAAE,OAAO,EAAE,cAAc,CAAC;YAC1C,CAAC,CAAC,CAAC,OAAO,EAAE,cAAc,CAAC,CAAC;QAC9B,iEAAiE;QACjE,+DAA+D;QAC/D,mEAAmE;QACnE,8DAA8D;QAC9D,iEAAiE;QACjE,oEAAoE;QACpE,oDAAoD;QACpD,MAAM,aAAa,GAAG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;mBAgCP,IAAI;;;;;;;;;;;;EAYrB,CAAC;QACC,kEAAkE;QAClE,qEAAqE;QACrE,oEAAoE;QACpE,oEAAoE;QACpE,+DAA+D;QAC/D,iEAAiE;QACjE,0DAA0D;QAC1D,MAAM,gBAAgB,GAAG,GAAG,CAAC,YAAY,GAAG,aAAa,CAAC;QAC1D,MAAM,CAAC,GAAG,KAAK,CAAC;YACd,QAAQ;YACR,KAAK,EAAE,WAAW,CAAC,WAAW,IAAI,GAAG,CAAC,YAAY;YAClD,YAAY,EAAE,CAAC,EAAE,IAAI,EAAE,gBAAgB,EAAE,eAAe,EAAE,IAAI,EAAE,CAAC;YACjE,KAAK;YACL,QAAQ,EAAE,IAAI,CAAC,SAAS,EAAE,kBAAkB,IAAI,iBAAiB,CAAC,kBAAkB;SACrF,CAAC,CAAC;QACH,UAAU,CAAC,GAAG,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC;QACxB,QAAQ,CAAC,GAAG,CAAC,IAAI,EAAE,CAAC,CAAC,OAAO,CAAC,GAAG,GAAG,IAAI,IAAI,EAAE,CAAC,CAAC,CAAC;IAClD,CAAC;IACD,OAAO,CAAC,GAAG,CAAC,cAAc,QAAQ,CAAC,MAAM,sCAAsC,CAAC,CAAC;IAEjF,MAAM,SAAS,GAAmB,EAAE,CAAC;IACrC,MAAM,YAAY,GAAG,iBAAiB,CAAC,SAAS,EAAE,QAAQ,EAAE,IAAI,CAAC,YAAY,CAAC,CAAC;IAC/E,MAAM,UAAU,GAAgE,EAAE,CAAC;IACnF,MAAM,YAAY,GAAsC,EAAE,CAAC;IAC3D,IAAI,mBAAmB,GAAgE,EAAE,CAAC;IAC1F,IAAI,mBAAuC,CAAC;IAC5C,wEAAwE;IACxE,uEAAuE;IACvE,MAAM,oBAAoB,GAA4G,EAAE,CAAC;IACzI,MAAM,qBAAqB,GAAqI,EAAE,CAAC;IACnK,MAAM,SAAS,GAA8E,EAAE,CAAC;IAChG,MAAM,iBAAiB,GAAqG,EAAE,CAAC;IAC/H,MAAM,iBAAiB,GAAoG,EAAE,CAAC;IAC9H,oEAAoE;IACpE,mDAAmD;IACnD,IAAI,eAAe,GAAuB,EAAE,CAAC;IAC7C,IAAI,aAAa,GAAwB,EAAE,CAAC;IAC5C,IAAI,iBAAiB,GAAa,EAAE,CAAC;IACrC,MAAM,QAAQ,GAAG,IAAI,aAAa,EAAE,CAAC;IACrC,MAAM,cAAc,GAAG,IAAI,cAAc,CAAC,EAAE,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,gBAAgB,IAAI,EAAE,CAAC,CAAC;IACjF,0FAA0F;IAC1F,MAAM,UAAU,GAAG,IAAI,GAAG,EAAiE,CAAC;IAC5F,MAAM,iBAAiB,GAAG,IAAI,GAAG,CAAa,IAAI,CAAC,iBAAiB,IAAI,EAAE,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;IAEvG,oEAAoE;IACpE,oEAAoE;IACpE,kEAAkE;IAClE,qEAAqE;IACrE,gEAAgE;IAChE,gEAAgE;IAChE,kEAAkE;IAClE,IAAI,iBAAiB,GAAG,KAAK,CAAC;IAE9B,KAAK,IAAI,IAAI,GAAG,CAAC,EAAE,IAAI,IAAI,QAAQ,EAAE,IAAI,EAAE,EAAE,CAAC;QAC5C,MAAM,IAAI,GAAG,YAAY,CAAC,IAAI,GAAG,CAAC,CAAC,IAAI,CAAC,YAAY,CAAC,YAAY,CAAC,MAAM,GAAG,CAAC,CAAC,GAAG,CAAC,IAAI,GAAG,YAAY,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC;QAElH,mEAAmE;QACnE,8DAA8D;QAC9D,kEAAkE;QAClE,oEAAoE;QACpE,2DAA2D;QAC3D,8DAA8D;QAC9D,wDAAwD;QACxD,IAAI,IAAI,CAAC,MAAM,EAAE,OAAO,IAAI,CAAC,iBAAiB,EAAE,CAAC;YAC/C,iBAAiB,GAAG,IAAI,CAAC;YACzB,IAAI,CAAC,aAAa,EAAE;gBAClB,IAAI,EAAE,IAAI;gBACV,MAAM,EAAE,qBAAqB;gBAC7B,cAAc,EAAE,IAAI,GAAG,CAAC;gBACxB,MAAM,EAAE,MAAM,CAAC,QAAQ,EAAE,CAAC,MAAM;gBAChC,WAAW,EAAE,MAAM,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,IAAI,EAAE,CAAC,MAAM;aACnD,CAAC,CAAC;YACH,MAAM;QACR,CAAC;QAED,oEAAoE;QACpE,qEAAqE;QACrE,oEAAoE;QACpE,qEAAqE;QACrE,sEAAsE;QACtE,oEAAoE;QACpE,sEAAsE;QACtE,gCAAgC;QAChC,IAAI,SAAS,EAAE,EAAE,CAAC;YAChB,oEAAoE;YACpE,oEAAoE;YACpE,4CAA4C;YAC5C,MAAM,EAAE,GAAG,kBAAoD,CAAC;YAChE,IAAI,CAAC,WAAW,EAAE;gBAChB,IAAI,EAAE,IAAI;gBACV,MAAM,EAAE,MAAM,CAAC,QAAQ,EAAE,CAAC,MAAM;gBAChC,WAAW,EAAE,MAAM,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,IAAI,EAAE,CAAC,MAAM;gBAClD,OAAO,EAAE,IAAI;gBACb,aAAa,EAAE,EAAE;oBACf,CAAC,CAAC,EAAE,IAAI,EAAE,EAAE,CAAC,IAAI,EAAE,QAAQ,EAAE,EAAE,CAAC,QAAQ,EAAE,OAAO,EAAE,EAAE,CAAC,OAAO,EAAE;oBAC/D,CAAC,CAAC,SAAS;aACd,CAAC,CAAC;YACH,SAAS;QACX,CAAC;QAED,IAAI,CAAC;YAEL,qEAAqE;YACrE,MAAM,SAAS,GAAG,EAAE,CAAC,KAAK,CAAC,gBAAgB,IAAI,CAAC,CAAC;YACjD,IAAI,UAA2B,CAAC;YAChC,IAAI,WAAW,GAAG,QAAQ,CAAC;YAE3B,MAAM,YAAY,GAAG,EAAE,CAAC,KAAK,CAAC,iBAAiB,CAAC;YAChD,MAAM,SAAS,GAAG,YAAY,EAAE,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC;YACjD,IAAI,SAAS,EAAE,CAAC;gBACd,UAAU,GAAG,CAAC,EAAE,GAAG,SAAS,EAAE,WAAW,EAAG,SAAiB,CAAC,WAAW,IAAK,SAAiB,CAAC,MAAM,IAAI,EAAE,EAAmB,CAAC,CAAC;YACnI,CAAC;iBAAM,CAAC;gBACN,MAAM,QAAQ,GAAG,MAAM,CAAC,QAAQ,EAAE,CAAC;gBACnC,MAAM,KAAK,GAAG,QAAQ,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;gBAC1D,MAAM,MAAM,GAAoB;oBAC9B,IAAI,EAAE,IAAI;oBACV,UAAU,EAAE,MAAM,CAAC,IAAI,EAAE,eAAe,EAAE,MAAM,CAAC,SAAS,EAAE,YAAY,EAAE,MAAM,CAAC,MAAM;oBACvF,KAAK,EAAE,QAAQ,CAAC,MAA2C;oBAC3D,QAAQ,EAAE,QAAQ,CAAC,QAAgE;oBACnF,MAAM,EAAE,QAAQ,CAAC,MAA2C;oBAC5D,UAAU,EAAE,KAAK,CAAC,MAAM;oBACxB,eAAe,EAAE,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,MAAM;oBAC1D,aAAa,EAAE,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,MAAM;oBACxD,YAAY,EAAE,QAAQ,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,IAAI,GAAG,CAAC,IAAI,CAAC,CAAC,IAAI,KAAK,OAAO,CAAC,CAAC,MAAM;oBAC7F,YAAY,EAAE,QAAQ,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,IAAI,GAAG,CAAC,IAAI,CAAC,CAAC,IAAI,KAAK,OAAO,CAAC,CAAC,MAAM;oBAC7F,cAAc,EAAE,YAAY;oBAC5B,cAAc,EAAE,YAAY;oBAC5B,WAAW,EAAE,MAAM,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,IAAI,EAAE;oBAC3C,YAAY,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,SAAS,IAAI,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC;yBACjF,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,EAAE,QAAQ,EAAE,CAAC,CAAC,MAAM,CAAC,QAAQ,EAAE,iBAAiB,EAAE,CAAC,CAAC,MAAM,CAAC,iBAAiB,EAAE,CAAC,CAAC;oBACnI,iBAAiB,EAAE,mBAAmB;oBACtC,gBAAgB,EAAE,mBAAmB;oBACrC,0EAA0E;oBAC1E,yEAAyE;oBACzE,eAAe,EAAE,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC,SAAS,EAAE,MAAM,IAAI,EAAE,CAAC;oBACxD,mBAAmB,EAAE,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC,SAAS,EAAE,eAAe,IAAI,EAAE,CAAC;iBACtE,CAAC;gBACF,IAAI,CAAC,YAAY,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,KAAK,EAAE,wBAAwB,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,EAAE,QAAQ,CAAC,MAAM,EAAE,CAAC,CAAC;gBAC/H,MAAM,eAAe,GAAG,EAAE,CAAC,KAAK,CAAC,oBAAoB,EAAE,EAAE,CAAC;gBAC1D,MAAM,KAAK,GAAG,MAAM,QAAQ,CAAC,kBAAkB,CAC7C,MAAM,EACN,SAAS,EACT,QAAQ,EACR,WAAW,CAAC,QAAQ,EACpB,eAAe;gBACf,mEAAmE;gBACnE,mEAAmE;gBACnE,2DAA2D;gBAC3D,CAAC,MAAM,EAAE,EAAE,CAAC,UAAU,CAAC,MAAM,EAAE,UAAU,CAAC;gBAC1C,8DAA8D;gBAC9D,+DAA+D;gBAC/D,mBAAmB;gBACnB,CAAC,GAAG,EAAE,EAAE,CAAC,mBAAmB,CAAC,GAAG,EAAE,UAAU,CAAC,CAC9C,CAAC;gBACF,UAAU,GAAG,KAAK,CAAC,MAAM,CAAC;gBAC1B,WAAW,GAAG,KAAK,CAAC,MAAM,CAAC;YAC7B,CAAC;YAED,qEAAqE;YACrE,MAAM,KAAK,GAAG,MAAM,CAAC,WAAW,CAAC,IAAI,EAAE,IAAI,EAAE,EAAE,CAAC,KAAK,CAAC,eAAe,CAAC,CAAC;YACvE,MAAM,MAAM,GAAG,KAAK,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,IAAI,IAAI,CAAC,CAAC,IAAI,KAAK,OAAO,CAAC,CAAC,MAAM,CAAC;YACxF,MAAM,MAAM,GAAG,KAAK,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,IAAI,IAAI,CAAC,CAAC,IAAI,KAAK,OAAO,CAAC,CAAC,MAAM,CAAC;YACxF,OAAO,CAAC,GAAG,CAAC,cAAc,MAAM,aAAa,MAAM,iBAAiB,KAAK,CAAC,MAAM,CAAC,UAAU,EAAE,CAAC,CAAC;YAE/F,OAAO,CAAC,GAAG,CAAC,KAAK,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC;YACnC,OAAO,CAAC,GAAG,CAAC,UAAU,IAAI,IAAI,QAAQ,WAAW,IAAI,KAAK,UAAU,CAAC,MAAM,cAAc,SAAS,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,UAAU,GAAG,CAAC,CAAC;YAClI,OAAO,CAAC,GAAG,CAAC,GAAG,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC;YAEjC,IAAI,CAAC,YAAY,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,KAAK,EAAE,UAAU,CAAC,CAAC,CAAC,EAAE,KAAK,IAAI,EAAE,EAAE,MAAM,EAAE,UAAU,CAAC,CAAC,CAAC,EAAE,WAAW,EAAE,KAAK,CAAC,CAAC,EAAE,GAAG,CAAC,IAAI,EAAE,EAAE,QAAQ,EAAE,UAAU,CAAC,CAAC,CAAC,EAAE,QAAQ,IAAI,EAAE,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,KAAK,CAAC,MAAM,EAAE,QAAQ,EAAE,CAAC,SAAS,EAAE,WAAW,EAAE,UAAU,CAAC,CAAC,CAAC,EAAE,WAAW,IAAI,EAAE,EAAE,WAAW,EAAE,UAAU,CAAC,MAAM,EAAE,MAAM,EAAE,WAAW,EAAE,CAAC,CAAC;YAExU,qEAAqE;YACrE,IAAI,SAAS,GAAmD,EAAE,CAAC;YACnE,MAAM,eAAe,GAAa,EAAE,CAAC;YACrC,mBAAmB,GAAG,EAAE,CAAC;YACzB,IAAI,WAAW,GAAkD,sBAAsB,CAAC;YACxF,IAAI,iBAAiB,GAAG,EAAE,CAAC;YAC3B,wEAAwE;YACxE,yCAAyC;YACzC,eAAe,GAAG,EAAE,CAAC;YACrB,aAAa,GAAG,EAAE,CAAC;YACnB,iBAAiB,GAAG,EAAE,CAAC;YAEvB,KAAK,IAAI,EAAE,GAAG,CAAC,EAAE,EAAE,GAAG,UAAU,CAAC,MAAM,EAAE,EAAE,EAAE,EAAE,CAAC;gBAC9C,IAAI,CAAC;oBACL,IAAI,KAAK,GAAG,wBAAwB,CAAC,UAAU,CAAC,EAAE,CAAC,EAAE,IAAI,CAAC,YAAY,IAAI,EAAE,EAAE,IAAI,CAAC,CAAC;oBAEpF,oEAAoE;oBACpE,qEAAqE;oBACrE,kBAAkB,GAAG,EAAE,IAAI,EAAE,IAAI,EAAE,UAAU,EAAE,EAAE,EAAE,CAAC;oBAEpD,OAAO,CAAC,GAAG,CAAC,WAAW,EAAE,GAAG,CAAC,IAAI,UAAU,CAAC,MAAM,KAAK,KAAK,CAAC,KAAK,KAAK,KAAK,CAAC,QAAQ,GAAG,CAAC,CAAC;oBAC1F,IAAI,CAAC,aAAa,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,UAAU,EAAE,EAAE,EAAE,WAAW,EAAE,UAAU,CAAC,MAAM,EAAE,KAAK,EAAE,KAAK,CAAC,KAAK,EAAE,WAAW,EAAE,KAAK,CAAC,WAAW,EAAE,KAAK,CAAC,CAAC,EAAE,GAAG,CAAC,EAAE,QAAQ,EAAE,KAAK,CAAC,QAAQ,EAAE,QAAQ,EAAE,CAAC,SAAS,EAAE,WAAW,EAAE,KAAK,CAAC,WAAW,EAAE,MAAM,EAAE,WAAW,EAAE,CAAC,CAAC;oBAC5P,eAAe,CAAC,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;oBAElC,WAAW;oBACX,IAAI,MAAqD,CAAC;oBAC1D,IAAI,SAAS,EAAE,CAAC;wBACd,MAAM,GAAG,qBAAqB,CAAC,EAAE,CAAC,SAAS,EAAE,KAAK,CAAC,QAAQ,EAAE,KAAK,CAAC,gBAAgB,CAAC,CAAC;wBACrF,IAAI,MAAM,CAAC,cAAc,CAAC,MAAM,KAAK,CAAC;4BAAE,MAAM,GAAG,iBAAiB,CAAC,IAAI,CAAC,CAAC;oBAC3E,CAAC;yBAAM,CAAC;wBACN,MAAM,SAAS,GAAG,MAAM,cAAc,CAAC,KAAK,CAAC,KAAK,GAAG,GAAG,GAAG,KAAK,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC,EAAE,GAAG,CAAC,EAAE,KAAK,CAAC,gBAAgB,EAAE,KAAK,CAAC,QAAQ,CAAC,CAAC;wBACpI,IAAI,SAAS,CAAC,cAAc,CAAC,MAAM,IAAI,CAAC,EAAE,CAAC;4BACzC,MAAM,GAAG,SAAS,CAAC;4BACnB,OAAO,CAAC,GAAG,CAAC,+BAA+B,MAAM,CAAC,cAAc,CAAC,MAAM,YAAY,CAAC,CAAC;wBACvF,CAAC;6BAAM,IAAI,IAAI,CAAC,UAAU,IAAI,KAAK,CAAC,gBAAgB,CAAC,MAAM,EAAE,CAAC;4BAC5D,IAAI,CAAC;gCACH,MAAM,KAAK,GAAG,KAAK,CAAC,gBAAgB,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,GAAG,GAAG,EAAE,CAAC,MAAM,CAAC,cAAc,GAAG,UAAU,CAAC;gCACzG,MAAM,YAAY,GAAG,MAAM,aAAa,CAAC,OAAO,CAAC,EAAE,KAAK,EAAE,EAAE,EAAE,KAAK,EAAE,GAAG,EAAE,SAAS,EAAE,GAAG,EAAE,WAAW,EAAE,EAAE,EAAS,CAAC,CAAC;gCACpH,MAAM,OAAO,GAAI,YAAoB,EAAE,MAAM,EAAE,OAAO,IAAI,EAAE,CAAC;gCAC7D,MAAM,GAAG,EAAE,cAAc,EAAE,OAAO,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAM,EAAE,EAAE,CAAC,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,OAAO,IAAI,CAAC,CAAC,KAAK,IAAI,EAAE,EAAE,MAAM,EAAE,CAAC,CAAC,KAAK,IAAI,YAAY,EAAE,GAAG,EAAE,CAAC,CAAC,GAAG,IAAI,EAAE,EAAE,CAAC,CAAC,EAAE,aAAa,EAAE,EAAE,EAAE,eAAe,EAAE,EAAE,EAAE,CAAC;4BACvM,CAAC;4BAAC,OAAO,GAAG,EAAE,CAAC;gCACb,OAAO,CAAC,GAAG,CAAC,oCAAoC,GAAG,EAAE,CAAC,CAAC;gCACvD,MAAM,GAAG,qBAAqB,CAAC,EAAE,CAAC,SAAS,EAAE,KAAK,CAAC,QAAQ,EAAE,KAAK,CAAC,gBAAgB,CAAC,CAAC;4BACvF,CAAC;wBACH,CAAC;6BAAM,CAAC;4BACN,MAAM,GAAG,qBAAqB,CAAC,EAAE,CAAC,SAAS,EAAE,KAAK,CAAC,QAAQ,EAAE,KAAK,CAAC,gBAAgB,CAAC,CAAC;wBACvF,CAAC;oBACH,CAAC;oBAED,cAAc;oBACd,MAAM,UAAU,GAAiB,EAAE,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAgB,CAAC,CAAC;oBAC7E,MAAM,QAAQ,GAAG,SAAS,CAAC,CAAC,CAAC,qBAAqB,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,mBAAmB,CAAC;oBACrF,MAAM,KAAK,GAAG,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAC,CAAC,IAAI,iBAAiB,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;oBACvF,IAAI,CAAC,KAAK,CAAC,MAAM;wBAAE,KAAK,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,IAAI,SAAS,EAAE,UAAU,CAAC,CAAC,CAAC,IAAI,aAAa,CAAC,CAAC;oBAE1F,gEAAgE;oBAChE,gEAAgE;oBAChE,8DAA8D;oBAC9D,6DAA6D;oBAC7D,+DAA+D;oBAC/D,qDAAqD;oBACrD,MAAM,iBAAiB,GAAG,IAAI,GAAG,EAAsB,CAAC;oBACxD,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;wBACzB,iBAAiB,CAAC,GAAG,CAAC,IAAI,EAAE,gBAAgB,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,MAAM,IAAI,CAAC,CAAC,CAAC;oBACvE,CAAC;oBAED,MAAM,QAAQ,GAAG;wBACf,IAAI,EAAE,IAAI,EAAE,KAAK,EAAE,KAAK,CAAC,KAAK,EAAE,MAAM,EAAE,KAAK,CAAC,WAAW;wBACzD,gBAAgB,EAAE,KAAK,CAAC,gBAAgB,EAAE,aAAa,EAAE,EAAS;wBAClE,WAAW,EAAE,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,EAAE,KAAK,IAAI,EAAE;wBAC5D,sBAAsB,EAAE,KAAK,CAAC,sBAAsB;wBACpD,OAAO,EAAE,KAAK,CAAC,OAAO;qBACvB,CAAC;oBAEF,kEAAkE;oBAClE,gEAAgE;oBAChE,kEAAkE;oBAClE,iEAAiE;oBACjE,+DAA+D;oBAC/D,kEAAkE;oBAClE,8DAA8D;oBAC9D,uDAAuD;oBACvD,MAAM,mBAAmB,GAAG,CAAC,GAAG,EAAE;wBAEhC,MAAM,QAAQ,GAAY,EAAE,CAAC;wBAC7B,KAAK,MAAM,CAAC,IAAI,EAAE,MAAM,CAAC,IAAI,YAAY,CAAC,OAAO,EAAE,EAAE,CAAC;4BACpD,MAAM,YAAY,GAAG,CAAC,GAAG,MAAM,CAAC,OAAO,CAAC,CAAC,OAAO,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC;4BAC1E,IAAI,CAAC,YAAY;gCAAE,SAAS;4BAC5B,QAAQ,CAAC,IAAI,CAAC;gCACZ,IAAI;gCACJ,IAAI,EAAE,MAAM,CAAC,qBAAqB;gCAClC,KAAK,EAAE,MAAM,CAAC,qBAAqB,IAAI,IAAI;gCAC3C,+DAA+D;gCAC/D,6DAA6D;gCAC7D,+DAA+D;gCAC/D,MAAM,EAAE,YAAY,CAAC,MAAM,CAAC,CAAC,CAAC,YAAY,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI;6BACvE,CAAC,CAAC;wBACL,CAAC;wBACD,IAAI,QAAQ,CAAC,MAAM,KAAK,CAAC;4BAAE,OAAO,EAAE,CAAC;wBACrC,MAAM,KAAK,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE;4BAClD,MAAM,IAAI,GAAG,KAAK,CAAC,CAAC,IAAI,KAAK,CAAC,CAAC,IAAI,MAAM,CAAC,CAAC,KAAK,EAAE,CAAC;4BACnD,OAAO,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,GAAG,IAAI,oBAAoB,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC;wBACjE,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;wBACd,OAAO,8CAA8C,KAAK,+rBAA+rB,CAAC;oBAC5vB,CAAC,CAAC,EAAE,CAAC;oBAEL,MAAM,YAAY,GAAG,KAAK,CAAC,GAAG,CAAC,KAAK,EAAE,IAAI,EAAE,EAAE;wBAC5C,MAAM,IAAI,GAAG,QAAQ,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;wBAChC,IAAI,CAAC,IAAI;4BAAE,OAAO,WAAW,CAAC,IAAI,CAAC,CAAC;wBACpC,MAAM,OAAO,GAAG,sBAAsB,CAAC,IAAI,EAAE,MAAM,CAAC,QAAQ,EAAE,EAAE,QAAQ,EAAE,MAAM,EAAE,UAAU,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,EAAE,CAAC,KAAK,CAAC,oBAAoB,CAAC,CAAC;wBACvI,MAAM,GAAG,GAAG,OAAO,GAAG,mBAAmB,CAAC;wBAC1C,IAAI,CAAC,YAAY,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,UAAU,EAAE,IAAI,EAAE,UAAU,EAAE,EAAE,EAAE,CAAC,CAAC;wBACrE,mEAAmE;wBACnE,+DAA+D;wBAC/D,oEAAoE;wBACpE,gEAAgE;wBAChE,MAAM,gBAAgB,GAAG,gBAAgB,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,MAAM,IAAI,CAAC,CAAC;wBACjE,IAAI,CAAC;4BACH,MAAM,CAAC,GAAG,MAAM,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;4BAC/B,4DAA4D;4BAC5D,+DAA+D;4BAC/D,UAAU,CAAC,CAAC,EAAE,aAAa,CAAC,CAAC;4BAC7B,MAAM,MAAM,GAAG,eAAe,CAAC,CAAC,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;4BAC7C,sEAAsE;4BACtE,sEAAsE;4BACtE,qEAAqE;4BACrE,iEAAiE;4BACjE,kCAAkC;4BAClC,IAAI,MAAM,CAAC,SAAS,CAAC,MAAM,KAAK,CAAC,IAAI,MAAM,CAAC,cAAc,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gCACtE,MAAM,CAAC,SAAS,GAAG,MAAM,CAAC,cAAc,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;oCAC7D,IAAI,EAAE,CAAC,CAAC,KAAK;oCACb,GAAG,EAAE,CAAC,CAAC,GAAG;oCACV,OAAO,EAAE,CAAC,CAAC,MAAM;oCACjB,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,GAAG,EAAE,CAAC,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;iCACjC,CAAC,CAAC,CAAC;4BACN,CAAC;4BACD,4DAA4D;4BAC5D,4DAA4D;4BAC5D,MAAM,MAAM,GAAG,gBAAgB,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC;4BAChD,MAAM,QAAQ,GAAG,MAAM,CAAC,KAAK,CAAC,gBAAgB,CAAC,CAAC;4BAEhD,+DAA+D;4BAC/D,+DAA+D;4BAC/D,yDAAyD;4BACzD,MAAM,UAAU,GAAG,IAAI,GAAG,EAKtB,CAAC;4BAEL,KAAK,MAAM,CAAC,IAAI,QAAQ,EAAE,CAAC;gCACzB,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,EAAE;oCACrB,IAAI,EAAE,CAAC,CAAC,IAAI;oCACZ,WAAW,EAAE,CAAC,CAAC,WAAW;oCAC1B,IAAI,EAAE,CAAC,CAAC,IAAI;oCACZ,UAAU,EAAE,CAAC,CAAC,UAAU;oCACxB,MAAM,EAAE,CAAC,CAAC,MAAM;oCAChB,WAAW,EAAE,CAAC,CAAC,WAAW;oCAC1B,YAAY,EAAE,CAAC,CAAC,YAAY;oCAC5B,QAAQ,EAAE,CAAC,CAAC,QAAQ;oCACpB,WAAW,EAAE,CAAC,CAAC,WAAW;iCAC3B,CAAC,CAAC;4BACL,CAAC;4BAED,2DAA2D;4BAC3D,+DAA+D;4BAC/D,2DAA2D;4BAC3D,KAAK,MAAM,CAAC,IAAI,MAAM,CAAC,eAAe,IAAI,EAAE,EAAE,CAAC;gCAC7C,IAAI,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,IAAI,CAAC,CAAC,CAAC,WAAW,CAAC;oCAAE,SAAS;gCAChD,MAAM,IAAI,GAAG,MAAM,CAAC,CAAC,CAAC,IAAI,IAAI,CAAC,CAAC,WAAW,IAAI,MAAM,CAAC,CAAC;gCACvD,IAAI,UAAU,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC;oCACzB,0DAA0D;oCAC1D,MAAM,QAAQ,GAAG,UAAU,CAAC,GAAG,CAAC,IAAI,CAAE,CAAC;oCACvC,IAAI,CAAC,QAAQ,CAAC,MAAM,IAAI,CAAC,CAAC,MAAM;wCAAE,QAAQ,CAAC,MAAM,GAAG,CAAC,CAAC,MAAM,CAAC;oCAC7D,SAAS;gCACX,CAAC;gCACD,yDAAyD;gCACzD,4DAA4D;gCAC5D,0DAA0D;gCAC1D,2DAA2D;gCAC3D,sDAAsD;gCACtD,MAAM,aAAa,GAAG,YAAY,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;gCAC7C,MAAM,eAAe,GAAG,aAAa,EAAE,OAAO,IAAI,EAAE,CAAC;gCACrD,MAAM,YAAY,GAAG,CAAC,GAAG,eAAe,CAAC,CAAC,OAAO,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC;gCAC3E,MAAM,gBAAgB,GAAG,YAAY,EAAE,UAAU,CAAC;gCAClD,UAAU,CAAC,GAAG,CAAC,IAAI,EAAE;oCACnB,IAAI;oCACJ,WAAW,EAAE,MAAM,CAAC,CAAC,CAAC,WAAW,IAAI,gBAAgB,CAAC,IAAI,CAAC,CAAC;oCAC5D,IAAI,EAAE,MAAM,CAAC,CAAC,CAAC,IAAI,IAAI,SAAS,CAAC;oCACjC,UAAU,EAAE,gBAAgB,IAAI,CAAC,OAAO,CAAC,CAAC,UAAU,KAAK,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,IAAI,CAAC;oCACxF,MAAM,EAAE,CAAC,CAAC,MAAM,IAAI,IAAI;oCACxB,WAAW,EAAE,SAAS;oCACtB,YAAY,EAAE,SAAS;oCACvB,QAAQ,EAAE,IAAI;iCACf,CAAC,CAAC;4BACL,CAAC;4BAED,MAAM,UAAU,GAAG,CAAC,GAAG,UAAU,CAAC,MAAM,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE;gCAClD,MAAM,SAAS,GAAG,CAAC,CAAC,MAAM,IAAI,IAAI;oCAChC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,MAAM,KAAK,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC;oCACtE,CAAC,CAAC,IAAI,CAAC;gCACT,6DAA6D;gCAC7D,4DAA4D;gCAC5D,IAAI,WAAW,GAAa,EAAE,EAAE,YAAY,GAAa,EAAE,CAAC;gCAC5D,MAAM,OAAO,GAAG,CAAC,CAAC,CAAC,WAAW,IAAI,OAAO,CAAC,CAAC,WAAW,KAAK,QAAQ,IAAK,CAAC,CAAC,WAAmB,CAAC,UAAU,CAAC,IAAI,IAAI,CAAC;gCAClH,MAAM,QAAQ,GAAG,CAAC,CAAC,CAAC,YAAY,IAAI,OAAO,CAAC,CAAC,YAAY,KAAK,QAAQ,IAAK,CAAC,CAAC,YAAoB,CAAC,UAAU,CAAC,IAAI,IAAI,CAAC;gCACtH,IAAI,OAAO;oCAAE,WAAW,GAAG,MAAM,CAAC,IAAI,CAAC,OAAkC,CAAC,CAAC;gCAC3E,IAAI,QAAQ;oCAAE,YAAY,GAAG,MAAM,CAAC,IAAI,CAAC,QAAmC,CAAC,CAAC;gCAC9E,IAAI,CAAC,WAAW,CAAC,MAAM,KAAK,CAAC,IAAI,YAAY,CAAC,MAAM,KAAK,CAAC,CAAC,IAAI,SAAS,EAAE,CAAC;oCACzE,IAAI,CAAC;wCACH,MAAM,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC;wCAChC,IAAI,CAAC,IAAI,OAAO,CAAC,KAAK,QAAQ,EAAE,CAAC;4CAC/B,MAAM,IAAI,GAAG,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;4CAC5B,MAAM,KAAK,GAAG,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,QAAQ,EAAC,OAAO,EAAC,YAAY,EAAC,QAAQ,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC;4CACnF,IAAI,KAAK,IAAI,CAAC,CAAC,KAAK,CAAC,IAAI,OAAO,CAAC,CAAC,KAAK,CAAC,KAAK,QAAQ,EAAE,CAAC;gDACtD,IAAI,WAAW,CAAC,MAAM,KAAK,CAAC;oDAAE,WAAW,GAAG,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC;gDAClE,IAAI,YAAY,CAAC,MAAM,KAAK,CAAC;oDAAE,YAAY,GAAG,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,KAAK,KAAK,CAAC,CAAC;4CAC9E,CAAC;iDAAM,IAAI,YAAY,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;gDACrC,YAAY,GAAG,IAAI,CAAC;4CACtB,CAAC;wCACH,CAAC;oCACH,CAAC;oCAAC,MAAM,CAAC,CAAA,CAAC;gCACZ,CAAC;gCAED,gEAAgE;gCAChE,gEAAgE;gCAChE,wCAAwC;gCACxC,MAAM,IAAI,GAAG,YAAY,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;gCACtC,MAAM,KAAK,GAAG,CAAC,IAAI,CAAC;gCACpB,4DAA4D;gCAC5D,wDAAwD;gCACxD,2DAA2D;gCAC3D,4DAA4D;gCAC5D,mDAAmD;gCACnD,MAAM,cAAc,GAAG,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,CAAC,CAAC,IAAI,CAAC,CAAC;gCAC7D,IAAI,CAAC,IAAI,EAAE,CAAC;oCACV,6DAA6D;oCAC7D,+DAA+D;oCAC/D,IAAI,WAAW,GAAwB,CAAC,CAAC,WAAW,CAAC;oCACrD,IAAI,YAAY,GAAwB,CAAC,CAAC,YAAY,CAAC;oCACvD,IAAI,CAAC,WAAW,IAAI,CAAC,YAAY,EAAE,CAAC;wCAClC,IAAI,CAAC;4CACH,MAAM,UAAU,GAAI,MAAc,CAAC,QAAQ,EAAE,GAAG,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;4CAC3D,IAAI,UAAU,EAAE,CAAC;gDACf,IAAI,CAAC,WAAW;oDAAE,WAAW,GAAG,UAAU,CAAC,WAAW,CAAC;gDACvD,IAAI,CAAC,YAAY;oDAAE,YAAY,GAAG,UAAU,CAAC,YAAY,CAAC;4CAC5D,CAAC;wCACH,CAAC;wCAAC,MAAM,CAAC,CAAC,iBAAiB,CAAC,CAAC;oCAC/B,CAAC;oCACD,YAAY,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,EAAE;wCACvB,eAAe,EAAE,IAAI;wCACrB,qBAAqB,EAAE,IAAI;wCAC3B,qBAAqB,EAAE,EAAE;wCACzB,qBAAqB,EAAE,KAAK,CAAC,KAAK;wCAClC,WAAW;wCACX,YAAY;wCACZ,OAAO,EAAE,EAAE;qCACZ,CAAC,CAAC;gCACL,CAAC;gCACD,MAAM,WAAW,GAAG,YAAY,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,CAAE,CAAC;gCAC9C,gEAAgE;gCAChE,gEAAgE;gCAChE,6DAA6D;gCAC7D,2DAA2D;gCAC3D,8DAA8D;gCAC9D,6DAA6D;gCAC7D,MAAM,sBAAsB,GAAG,WAAW,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAC1D,CAAC,CAAC,IAAI,KAAK,IAAI,IAAI,CAAC,CAAC,UAAU,KAAK,EAAE,IAAI,CAAC,CAAC,UAAU,KAAK,IAAI,CAChE,CAAC;gCACF,IAAI,CAAC,sBAAsB,EAAE,CAAC;oCAC5B,WAAW,CAAC,OAAO,CAAC,IAAI,CAAC;wCACvB,IAAI,EAAE,IAAI,EAAE,UAAU,EAAE,EAAE,EAAE,UAAU,EAAE,KAAK,CAAC,KAAK;wCACnD,UAAU,EAAE,IAAI;wCAChB,MAAM,EAAE,SAAS,EAAE,KAAK,CAAC,CAAC,EAAE,GAAG,CAAC,IAAI,IAAI;wCACxC,SAAS,EAAE,cAAc;wCACzB,QAAQ,EAAE,CAAC,CAAC,CAAC,QAAQ;wCACrB,UAAU,EAAE,CAAC,CAAC,UAAU;qCACzB,CAAC,CAAC;gCACL,CAAC;gCACD,MAAM,UAAU,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,WAAW,CAAC,OAAO,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;gCAC/D,OAAO;oCACL,IAAI,EAAE,CAAC,CAAC,IAAI;oCACZ,IAAI,EAAE,CAAC,CAAC,IAAI;oCACZ,UAAU,EAAE,CAAC,CAAC,UAAU;oCACxB,WAAW,EAAE,CAAC,CAAC,WAAW;oCAC1B,MAAM,EAAE,SAAS,EAAE,KAAK,CAAC,CAAC,EAAE,GAAG,CAAC,IAAI,IAAI;oCACxC,WAAW,EAAE,WAAW,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC;oCACpC,YAAY,EAAE,YAAY,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC;oCACtC,UAAU,EAAE,IAAI;oCAChB,MAAM,EAAE,KAAK,CAAC,KAAK;oCACnB,QAAQ,EAAE,CAAC,CAAC,QAAQ;oCACpB,WAAW,EAAE,CAAC,CAAC,WAAW;oCAC1B,yDAAyD;oCACzD,2CAA2C;oCAC3C,KAAK;oCACL,eAAe,EAAE,WAAW,CAAC,eAAe;oCAC5C,qBAAqB,EAAE,WAAW,CAAC,qBAAqB;oCACxD,qBAAqB,EAAE,WAAW,CAAC,qBAAqB;oCACxD,qBAAqB,EAAE,WAAW,CAAC,qBAAqB;oCACxD,WAAW,EAAE,WAAW,CAAC,WAAW;oCACpC,YAAY,EAAE,WAAW,CAAC,YAAY;oCACtC,6DAA6D;oCAC7D,UAAU;oCACV,8FAA8F;oCAC9F,OAAO,EAAE,WAAW,CAAC,OAAO;iCAC7B,CAAC;4BACJ,CAAC,CAAC,CAAC;4BACH,IAAI,CAAC,WAAW,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,UAAU,EAAE,IAAI,EAAE,OAAO,EAAE,MAAM,CAAC,OAAO,EAAE,UAAU,EAAE,EAAE,EAAE,SAAS,EAAE,MAAM,CAAC,SAAS,CAAC,MAAM,EAAE,YAAY,EAAE,MAAM,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,GAAG,EAAE,CAAC,CAAC,GAAG,EAAE,GAAG,EAAE,CAAC,CAAC,GAAG,EAAE,CAAC,CAAC,EAAE,KAAK,EAAE,MAAM,CAAC,KAAK,EAAE,WAAW,EAAE,UAAU,EAAE,kBAAkB,EAAE,MAAM,CAAC,kBAAkB,EAAE,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC;4BAC5U,IAAI,UAAU,CAAC,MAAM,EAAE,CAAC;gCACtB,MAAM,KAAK,GAAG,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;gCAC1D,IAAI,KAAK,CAAC,MAAM;oCAAE,QAAQ,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC,EAAE,GAAG,KAAK,CAAC,CAAC;4BAC3E,CAAC;4BACD,OAAO,MAAM,CAAC;wBAChB,CAAC;wBAAC,OAAO,GAAG,EAAE,CAAC;4BACb,4DAA4D;4BAC5D,+DAA+D;4BAC/D,6DAA6D;4BAC7D,8DAA8D;4BAC9D,mBAAmB,CAAC,GAAG,EAAE,QAAQ,IAAI,EAAE,CAAC,CAAC;4BACzC,OAAO,CAAC,GAAG,CAAC,MAAM,IAAI,YAAY,GAAG,EAAE,CAAC,CAAC;4BACzC,OAAO,WAAW,CAAC,IAAI,CAAC,CAAC;wBAC3B,CAAC;oBACH,CAAC,CAAC,CAAC;oBACH,MAAM,OAAO,GAAG,MAAM,OAAO,CAAC,GAAG,CAAC,YAAY,CAAC,CAAC;oBAEhD,kEAAkE;oBAClE,sEAAsE;oBACtE,eAAe,CAAC,IAAI,CAAC,GAAG,OAAO,CAAC,CAAC;oBACjC,KAAK,MAAM,CAAC,IAAI,OAAO,EAAE,CAAC;wBACxB,oBAAoB,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,IAAI,EAAE,UAAU,EAAE,EAAE,EAAE,UAAU,EAAE,KAAK,CAAC,KAAK,EAAE,MAAM,EAAE,CAAC,EAAE,CAAC,CAAC;oBAChG,CAAC;oBACD,8DAA8D;oBAC9D,kEAAkE;oBAClE,mEAAmE;oBACnE,gEAAgE;oBAChE,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;wBACzB,MAAM,MAAM,GAAG,gBAAgB,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC;wBAChD,MAAM,KAAK,GAAG,iBAAiB,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;wBAC/C,KAAK,MAAM,KAAK,IAAI,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,EAAE,CAAC;4BACxC,SAAS,CAAC,IAAI,CAAC,EAAE,GAAG,KAAK,EAAE,IAAI,EAAE,IAAI,EAAE,UAAU,EAAE,EAAE,EAAE,CAAC,CAAC;wBAC3D,CAAC;oBACH,CAAC;oBAED,wCAAwC;oBACxC,mBAAmB,CAAC,IAAI,CAAC,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,eAAe,IAAI,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,MAAM,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC,IAAI,IAAI,SAAS,EAAE,UAAU,EAAE,CAAC,CAAC,UAAU,EAAE,MAAM,EAAE,OAAO,CAAC,CAAC,MAAM,KAAK,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC;oBAEhR,oBAAoB;oBACpB,KAAK,MAAM,CAAC,IAAI,OAAO,EAAE,CAAC;wBACxB,MAAM,GAAG,GAAG,EAAE,IAAI,EAAE,IAAI,EAAE,MAAM,EAAE,KAAK,CAAC,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,OAAO,EAAE,kBAAkB,EAAE,CAAC,CAAC,kBAAkB,EAAE,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,IAAI,EAAE,EAAE,OAAO,EAAE,EAAE,EAAE,WAAW,EAAE,CAAC,CAAC,CAAC,eAAe,IAAI,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,IAAI,IAAI,EAAE,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,EAAE,CAAC;wBAC9N,MAAM,QAAQ,GAAG,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC,UAAU,CAAC,IAAI,EAAE,CAAC;wBACpD,QAAQ,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;wBACnB,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC,UAAU,EAAE,QAAQ,CAAC,CAAC;oBACzC,CAAC;oBAED,YAAY;oBACZ,MAAM,SAAS,GAAG,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,MAAM,CAAC,CAAC,UAAU,CAAC,WAAW,EAAE,WAAW,CAAC,CAAC,UAAU,MAAM,CAAC,CAAC,OAAO,YAAY,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,CAAC,QAAQ,KAAK,CAAC,CAAC,WAAW,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,MAAM,WAAW,CAAC,CAAC,kBAAkB,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,MAAM,EAAE,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;oBACnQ,MAAM,UAAU,GAAG,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,gBAAgB,GAAG,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC,KAAK,MAAM,CAAC,CAAC,WAAW,GAAG,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,gEAAgE,CAAC,CAAC,CAAC,EAAE,CAAC;oBACjP,MAAM,WAAW,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,kBAAkB,IAAI,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,OAAO,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC,IAAI,MAAM,CAAC,CAAC,WAAW,GAAG,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,YAAY,GAAG,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC;oBACjM,MAAM,WAAW,GAAG,WAAW,CAAC,MAAM,CAAC,CAAC,CAAC,iCAAiC,GAAG,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;oBACzG,MAAM,UAAU,GAAG,UAAU,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,WAAW,EAAE,GAAG,CAAC,IAAI,UAAU,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC;oBAC1F,MAAM,SAAS,GAAG,QAAQ,IAAI,GAAG,UAAU,MAAM,IAAI,KAAK,KAAK,CAAC,KAAK,OAAO,KAAK,CAAC,WAAW,4BAA4B,SAAS,mBAAmB,MAAM,CAAC,QAAQ,EAAE,CAAC,MAAM,CAAC,UAAU,aAAa,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,QAAQ,EAAE,CAAC,MAAM,CAAC,MAAM,GAAG,GAAG,CAAC,YAAY,MAAM,CAAC,QAAQ,EAAE,CAAC,MAAM,CAAC,iBAAiB,CAAC,OAAO,CAAC,CAAC,CAAC,KAAK,UAAU,GAAG,WAAW,0BAA0B,CAAC;oBAE/W,IAAI,CAAC,oBAAoB,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,UAAU,EAAE,EAAE,EAAE,CAAC,CAAC;oBAC3D,MAAM,IAAI,GAAG,MAAM,OAAO,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;oBAC3C,gEAAgE;oBAChE,UAAU,CAAC,IAAI,EAAE,WAAW,CAAC,CAAC;oBAC9B,MAAM,QAAQ,GAAG,gBAAgB,CAAC,IAAI,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;oBACpD,OAAO,CAAC,GAAG,CAAC,iBAAiB,QAAQ,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,EAAE,GAAG,CAAC,KAAK,CAAC,CAAC;oBACnE,IAAI,CAAC,mBAAmB,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE,QAAQ,CAAC,QAAQ,EAAE,SAAS,EAAE,QAAQ,CAAC,SAAS,EAAE,gBAAgB,EAAE,QAAQ,CAAC,gBAAgB,EAAE,UAAU,EAAE,EAAE,EAAE,CAAC,CAAC;oBAEnK,MAAM,CAAC,WAAW,CAAC,gBAAgB,CAAC,QAAQ,EAAE,OAAO,EAAE,IAAI,EAAE,IAAI,CAAC,CAAC,CAAC;oBACpE,MAAM,YAAY,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,oBAAoB,IAAI,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,OAAO,IAAI,CAAC,CAAC,OAAO,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,OAAO,EAAE,CAAC,CAAC,OAAO,EAAE,MAAM,EAAE,CAAC,CAAC,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,CAAC,CAAC,OAAO,EAAE,MAAM,EAAE,cAAc,EAAE,CAAC,CAAC,OAAO,EAAE,SAAS,EAAE,KAAK,EAAE,CAAC,CAAC,CAAC,CAAC;oBACzP,IAAI,YAAY,CAAC,MAAM;wBAAE,MAAM,CAAC,iBAAiB,CAAC,YAAY,CAAC,CAAC;oBAEhE,UAAU;oBACV,MAAM,UAAU,GAAG,IAAI,SAAS,CAAC,IAAI,CAAC,CAAC,QAAQ,CAAC,IAAI,GAAG,GAAG,GAAG,EAAE,CAAC,CAAC;oBACjE,IAAI,gBAAgB,GAAG,QAAQ,CAAC,gBAAgB,CAAC;oBACjD,IAAI,CAAC,gBAAgB,IAAI,KAAK,CAAC,OAAO,CAAC,MAAM,EAAE,CAAC;wBAAC,MAAM,QAAQ,GAAG,CAAC,QAAQ,CAAC,QAAQ,IAAI,EAAE,CAAC,CAAC,WAAW,EAAE,CAAC;wBAAC,KAAK,MAAM,GAAG,IAAI,KAAK,CAAC,OAAO,EAAE,CAAC;4BAAC,IAAI,QAAQ,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE,CAAC,IAAI,QAAQ,CAAC,QAAQ,CAAC,GAAG,CAAC,KAAK,CAAC,WAAW,EAAE,CAAC,EAAE,CAAC;gCAAC,gBAAgB,GAAG,GAAG,CAAC,EAAE,CAAC;gCAAC,MAAM;4BAAC,CAAC;wBAAC,CAAC;oBAAC,CAAC;oBACpQ,MAAM,OAAO,GAAG,gBAAgB;wBAC9B,CAAC,CAAC,mBAAmB,CAAC,gBAAgB,EAAE,KAAK,CAAC,OAAO,EAAE,KAAK,CAAC,sBAAsB,EAAE,MAAM,CAAC,QAAQ,EAAE,CAAC,MAAM,EAAE,UAAU,CAAC;wBAC1H,CAAC,CAAC,eAAe,CAAC,QAAQ,CAAC,QAAQ,EAAE,QAAQ,CAAC,WAAW,EAAE,KAAK,CAAC,sBAAsB,EAAE,MAAM,CAAC,QAAQ,EAAE,CAAC,MAAM,EAAE,UAAU,CAAC,CAAC;oBAEjI,MAAM,gBAAgB,GAAG,IAAI,SAAS,CAAC,IAAI,CAAC,CAAC,QAAQ,CAAC,IAAI,GAAG,GAAG,GAAG,EAAE,GAAG,EAAE,CAAC,CAAC;oBAC5E,kEAAkE;oBAClE,kEAAkE;oBAClE,oEAAoE;oBACpE,mEAAmE;oBACnE,gEAAgE;oBAChE,yEAAyE;oBACzE,uEAAuE;oBACvE,qEAAqE;oBACrE,MAAM,aAAa,GAAG,gBAAgB,KAAK,KAAK,CAAC,aAAa,CAAC;oBAC/D,MAAM,gBAAgB,GACpB,CAAC,MAAM,CAAC,MAAM,CAAC,QAAQ,GAAG,GAAG,CAAC,GAAG,IAAI;wBACrC,CAAC,MAAM,CAAC,MAAM,CAAC,iBAAiB,GAAG,GAAG,CAAC,GAAG,IAAI;wBAC9C,oEAAoE;wBACpE,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,QAAQ,GAAG,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,iBAAiB,GAAG,GAAG,CAAC,CAAC,GAAG,IAAI,CAAC;oBAEpG,gEAAgE;oBAChE,iEAAiE;oBACjE,iEAAiE;oBACjE,8DAA8D;oBAC9D,0DAA0D;oBAC1D,wDAAwD;oBACxD,MAAM,WAAW,GAAG,CAAC,GAAG,EAAE;wBACxB,IAAI,QAAQ,GAAG,CAAC,EAAE,UAAU,GAAG,CAAC,EAAE,SAAS,GAAG,CAAC,CAAC;wBAChD,MAAM,iBAAiB,GAAG,IAAI,GAAG,EAAU,CAAC;wBAC5C,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;4BACzB,MAAM,MAAM,GAAG,gBAAgB,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC;4BAChD,MAAM,KAAK,GAAG,iBAAiB,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;4BAC/C,0DAA0D;4BAC1D,MAAM,SAAS,GAAG,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;4BACtC,KAAK,MAAM,CAAC,IAAI,SAAS,EAAE,CAAC;gCAC1B,IAAI,CAAC,CAAC,CAAC,QAAQ,EAAE,CAAC;oCAAC,SAAS,EAAE,CAAC;oCAAC,SAAS;gCAAC,CAAC;gCAC3C,oEAAoE;gCACpE,2DAA2D;gCAC3D,MAAM,WAAW,GAAG,YAAY,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;gCAC7C,MAAM,UAAU,GAAG,WAAW,EAAE,eAAe,KAAK,IAAI,IAAI,CAAC,iBAAiB,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;gCAC3F,IAAI,UAAU,EAAE,CAAC;oCACf,QAAQ,EAAE,CAAC;oCACX,iBAAiB,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;gCAChC,CAAC;qCAAM,CAAC;oCACN,UAAU,EAAE,CAAC;gCACf,CAAC;4BACH,CAAC;wBACH,CAAC;wBACD,OAAO;4BACL,iBAAiB,EAAE,QAAQ;4BAC3B,mBAAmB,EAAE,UAAU;4BAC/B,aAAa,EAAE,SAAS;4BACxB,gBAAgB,EAAE,YAAY,CAAC,IAAI;yBACpC,CAAC;oBACJ,CAAC,CAAC,EAAE,CAAC;oBAEL,MAAM,YAAY,GAAG,cAAc,CAAC,YAAY,CAAC,KAAK,CAAC,QAAQ,EAAE,OAAO,EAAE;wBACxE,gBAAgB;wBAChB,KAAK,EAAE,gBAAgB,CAAC,IAAI,EAAE,GAAG,GAAG,GAAG,GAAG;wBAC1C,aAAa,EAAE,WAAW;qBAC3B,CAAC,CAAC;oBACH,MAAM,CAAC,iBAAiB,CAAC,YAAmB,EAAE,CAAC,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,mBAAmB,OAAO,MAAM,MAAM,CAAC,OAAO,CAAC,YAAY,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC;oBAEzN,MAAM,QAAQ,GAAG,EAAE,CAAC,KAAK,CAAC,YAAY,EAAE,CAAC,KAAK,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC;oBAClE,IAAI,QAAQ;wBAAE,MAAM,CAAC,mBAAmB,CAAC,QAAQ,CAAC,CAAC;oBAEnD,UAAU,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC;oBACzC,YAAY,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,KAAK,EAAE,KAAK,CAAC,KAAK,EAAE,QAAQ,EAAE,KAAK,CAAC,QAAQ,EAAE,gBAAgB,EAAE,gBAAgB,EAAE,QAAQ,EAAE,QAAQ,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,EAAE,GAAG,CAAC,EAAE,OAAO,EAAE,CAAC,CAAC;oBAClK,mEAAmE;oBACnE,iEAAiE;oBACjE,aAAa,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;oBAC7B,IAAI,QAAQ,CAAC,gBAAgB,EAAE,MAAM,EAAE,CAAC;wBACtC,iBAAiB,CAAC,IAAI,CAAC,GAAG,QAAQ,CAAC,gBAAgB,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,OAAO,CAAC,KAAK,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;oBAC/G,CAAC;oBACD,qBAAqB,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,IAAI,EAAE,UAAU,EAAE,EAAE,EAAE,UAAU,EAAE,KAAK,CAAC,KAAK,EAAE,QAAQ,EAAE,OAAO,EAAE,CAAC,CAAC;oBACvG,iBAAiB,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,IAAI,EAAE,UAAU,EAAE,EAAE,EAAE,KAAK,EAAE,MAAM,EAAE,WAAW,EAAE,CAAC,CAAC;oBACnF,WAAW,GAAG,OAAO,CAAC;oBACtB,iBAAiB,GAAG,KAAK,CAAC,QAAQ,CAAC;oBAEnC,OAAO,CAAC,GAAG,CAAC,eAAe,OAAO,KAAK,KAAK,CAAC,QAAQ,cAAc,IAAI,CAAC,SAAS,CAAC,YAAY,CAAC,EAAE,CAAC,CAAC;oBACnG,IAAI,CAAC,SAAS,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,OAAO,EAAE,QAAQ,EAAE,KAAK,CAAC,QAAQ,EAAE,QAAQ,EAAE,CAAC,SAAS,EAAE,YAAY,EAAE,UAAU,EAAE,EAAE,EAAE,CAAC,CAAC;gBACvH,CAAC;gBAAC,OAAO,GAAG,EAAE,CAAC;oBACb,4DAA4D;oBAC5D,kEAAkE;oBAClE,8DAA8D;oBAC9D,4DAA4D;oBAC5D,mBAAmB,CAAC,GAAG,EAAE,kBAAkB,IAAI,SAAS,EAAE,GAAG,CAAC,EAAE,CAAC,CAAC;oBAClE,OAAO,CAAC,KAAK,CAAC,YAAY,EAAE,GAAG,CAAC,IAAI,UAAU,CAAC,MAAM,aAAa,GAAG,EAAE,CAAC,CAAC;oBACzE,kEAAkE;gBACpE,CAAC;YACH,CAAC,CAAC,uBAAuB;YAEzB,qEAAqE;YACrE,MAAM,QAAQ,GAAG,IAAI,KAAK,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,YAAY,CAAC,IAAI,GAAG,CAAC,CAAC,IAAI,SAAS,CAAC;YAC9E,MAAM,CAAC,UAAU,CAAC,MAAM,CAAC,MAAM,EAAE,WAAW,EAAE,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,GAAG,QAAQ,CAAC,CAAC,CAAC;YAE5E,MAAM,OAAO,GAAG,MAAM,CAAC,QAAQ,EAAE,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,SAAS,IAAI,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;YACpF,MAAM,SAAS,GAAkD,EAAE,CAAC;YACpE,KAAK,MAAM,CAAC,IAAI,OAAO,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC;gBAAC,MAAM,CAAC,GAAG,CAAC,CAAC,MAAM,CAAC;gBAAC,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,GAAG,EAAE,IAAI,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,EAAE,MAAM,EAAE,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,iBAAiB,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,YAAY,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,aAAa,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC;YAAC,CAAC;YACpP,IAAI,CAAC,OAAO,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,MAAM,EAAE,SAAS,EAAE,CAAC,CAAC;YAEjD,0DAA0D;YAC1D,MAAM,WAAW,GAAG;gBAClB,WAAW,EAAE,eAAe,CAAC,IAAI,CAAC,KAAK,CAAC;gBACxC,cAAc,EAAE,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC;gBAC1D,OAAO,EAAE,WAAW;gBACpB,QAAQ,EAAE,eAAe,CAAC,IAAI,CAAC,IAAI,CAAC;gBACpC,IAAI,EAAE,IAAI,EAAE,YAAY,EAAE,MAAM,CAAC,QAAQ,EAAE,CAAC,MAAM,CAAC,MAAM;gBACzD,gBAAgB,EAAE,MAAM,CAAC,QAAQ,EAAE,CAAC,MAAM,CAAC,UAAU;aACtD,CAAC;YAEF,+DAA+D;YAC/D,qEAAqE;YACrE,4DAA4D;YAC5D,mEAAmE;YACnE,mEAAmE;YACnE,iEAAiE;YACjE,oEAAoE;YACpE,mEAAmE;YACnE,cAAc;YACd,MAAM,oBAAoB,GAAG,IAAI,CAAC,SAAS,EAAE,oBAAoB,IAAI,iBAAiB,CAAC,oBAAoB,CAAC;YAC5G,MAAM,iBAAiB,GAAG,IAAI,CAAC,SAAS,EAAE,iBAAiB,IAAI,iBAAiB,CAAC,iBAAiB,CAAC;YACnG,MAAM,QAAQ,GAAG,MAAM,CAAC,QAAQ,EAAE,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;YACtE,MAAM,cAAc,GAAG,CAAC,GAAG,EAAE;gBAC3B,IAAI,CAAC,oBAAoB,IAAI,IAAI,KAAK,CAAC;oBAAE,OAAO,QAAQ,CAAC;gBACzD,MAAM,aAAa,GAAG,IAAI,GAAG,EAAU,CAAC;gBACxC,KAAK,MAAM,EAAE,IAAI,UAAU,EAAE,CAAC;oBAC5B,KAAK,MAAM,CAAC,IAAI,EAAE,CAAC,mBAAmB,IAAI,EAAE;wBAAE,aAAa,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC;gBAC7E,CAAC;gBACD,MAAM,MAAM,GAAG,IAAI,GAAG,EAAmC,CAAC;gBAC1D,MAAM,GAAG,GAAG,CAAC,CAA0B,EAAE,EAAE,GAAG,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC;oBAAE,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;gBACtG,+DAA+D;gBAC/D,kEAAkE;gBAClE,KAAK,MAAM,CAAC,IAAI,QAAQ;oBAAE,IAAI,CAAC,CAAC,SAAS,CAAC,QAAQ;wBAAE,GAAG,CAAC,CAAC,CAAC,CAAC;gBAC3D,+DAA+D;gBAC/D,gDAAgD;gBAChD,KAAK,MAAM,CAAC,IAAI,QAAQ;oBAAE,IAAI,CAAC,CAAC,SAAS;wBAAE,GAAG,CAAC,CAAC,CAAC,CAAC;gBAClD,qEAAqE;gBACrE,mEAAmE;gBACnE,kEAAkE;gBAClE,4BAA4B;gBAC5B,KAAK,MAAM,IAAI,IAAI,aAAa,EAAE,CAAC;oBACjC,MAAM,UAAU,GAAG,QAAQ;yBACxB,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,UAAU,KAAK,IAAI,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;yBACjE,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,MAAM,CAAC,UAAU,GAAG,GAAG,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,MAAM,CAAC,UAAU,GAAG,GAAG,CAAC,CAAC;yBACzF,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;oBACf,KAAK,MAAM,CAAC,IAAI,UAAU;wBAAE,GAAG,CAAC,CAAC,CAAC,CAAC;gBACrC,CAAC;gBACD,8DAA8D;gBAC9D,gCAAgC;gBAChC,OAAO,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,MAAM,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;YAClD,CAAC,CAAC,EAAE,CAAC;YACL,IAAI,oBAAoB,IAAI,IAAI,GAAG,CAAC,EAAE,CAAC;gBACrC,OAAO,CAAC,GAAG,CAAC,2BAA2B,cAAc,CAAC,MAAM,IAAI,QAAQ,CAAC,MAAM,kBAAkB,CAAC,CAAC;YACrG,CAAC;YAED,IAAI,CAAC;gBACH,SAAS,GAAG,MAAM,sBAAsB,CACtC,cAAc,EAAE,WAAW,EAC3B;oBACE,QAAQ;oBACR,KAAK,EAAE,WAAW,CAAC,cAAc,IAAI,aAAa;oBAClD,aAAa,EAAE,EAAE;oBACjB,mBAAmB,EAAE,EAAE,CAAC,KAAK,CAAC,mBAAmB;oBACjD,SAAS,EAAE,iBAAiB;oBAC5B,oEAAoE;oBACpE,gEAAgE;oBAChE,8DAA8D;oBAC9D,yDAAyD;oBACzD,OAAO,EAAE,CAAC,MAAM,EAAE,EAAE,CAAC,UAAU,CAAC,MAAM,EAAE,WAAW,CAAC;oBACpD,iEAAiE;oBACjE,4DAA4D;oBAC5D,eAAe,EAAE,CAAC,GAAG,EAAE,EAAE,CAAC,mBAAmB,CAAC,GAAG,EAAE,WAAW,CAAC;iBAChE,CACF,CAAC;gBACF,IAAI,SAAS,CAAC,MAAM,EAAE,CAAC;oBACrB,MAAM,QAAQ,GAAG,IAAI,GAAG,CAAC,MAAM,CAAC,QAAQ,EAAE,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC;oBAC5E,IAAI,CAAC,iBAAiB,EAAE;wBACtB,IAAI,EAAE,IAAI;wBACV,SAAS,EAAE,SAAS,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE;4BACvC,MAAM,KAAK,GAAG,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC;4BACtC,MAAM,GAAG,GAAG,KAAK,EAAE,MAAM,CAAC;4BAC1B,OAAO;gCACL,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,GAAG,EAAE,CAAC,CAAC,GAAG,EAAE,UAAU,EAAE,CAAC,CAAC,UAAU,EAAE,IAAI,EAAE,CAAC,CAAC,IAAI;gCAChE,cAAc,EAAE,CAAC,CAAC,cAAc,EAAE,QAAQ,EAAE,CAAC,CAAC,QAAQ;gCACtD,KAAK,EAAE,CAAC,CAAC,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,SAAS,EAAE,CAAC,CAAC,SAAS;gCACpD,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE,UAAU,EAAE,CAAC,CAAC,UAAU,EAAE,WAAW,EAAE,CAAC,CAAC,WAAW,EAAE,SAAS,EAAE,CAAC,CAAC,SAAS;gCAC9F,OAAO,EAAE,CAAC,CAAC,OAAO;gCAClB,MAAM,EAAE,GAAG,CAAC,CAAC,CAAC;oCACZ,cAAc,EAAE,GAAG,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,OAAO,EAAE,OAAO,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,CAAC;oCAC5G,OAAO,EAAE,GAAG,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;oCAC/B,OAAO,EAAE,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,EAAE,KAAK,EAAE,CAAC,EAAE,KAAK,EAAE,CAAC,EAAE,CAAC,CAAC;oCACnH,aAAa,EAAE,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,aAAa,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,EAAE,IAAI,EAAE,QAAQ,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,IAAI,CAAC,IAAI,IAAI,EAAE,EAAE,SAAS,EAAE,CAAC,EAAE,CAAC,CAAC;iCAChO,CAAC,CAAC,CAAC,IAAI;6BACT,CAAC;wBACJ,CAAC,CAAC;wBACF,cAAc,EAAE,SAAS,CAAC,MAAM;qBACjC,CAAC,CAAC;oBACH,KAAK,MAAM,CAAC,IAAI,SAAS,EAAE,CAAC;wBAAC,MAAM,CAAC,GAAG,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC;wBAAC,IAAI,CAAC;4BAAE,oBAAoB,CAAC,CAAC,EAAE,CAAC,EAAE,eAAe,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,iBAAiB,EAAE,WAAW,EAAE,IAAI,EAAE,IAAI,CAAC,CAAC;oBAAC,CAAC;oBAC7K,gCAAgC,CAAC,MAAM,CAAC,QAAQ,EAAE,CAAC,MAAM,EAAE,SAAS,CAAC,CAAC;oBACtE,KAAK,MAAM,CAAC,IAAI,MAAM,CAAC,QAAQ,EAAE,CAAC,MAAM,EAAE,CAAC;wBAAC,IAAI,CAAC,CAAC,MAAM,CAAC,KAAK;4BAAE,iBAAiB,CAAC,CAAC,CAAC,CAAC;oBAAC,CAAC;oBAEvF,MAAM,UAAU,GAA2B,EAAE,CAAC;oBAC9C,KAAK,MAAM,CAAC,IAAI,SAAS;wBAAE,UAAU,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC;oBAC9E,MAAM,SAAS,GAAG,MAAM,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,GAAG,SAAS,CAAC,MAAM,GAAG,GAAG,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;oBAC5I,mBAAmB,GAAG,GAAG,SAAS,CAAC,MAAM,eAAe,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC;oBAE/E,MAAM,WAAW,GAAG,IAAI,SAAS,CAAC,IAAI,CAAC,CAAC,QAAQ,CAAC,IAAI,GAAG,IAAI,CAAC,CAAC;oBAC9D,MAAM,aAAa,GAAG,SAAS,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;wBACpD,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,UAAU,EAAE,CAAC,CAAC,UAAU,EAAE,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,QAAQ,EAAE,CAAC,CAAC,QAAQ,EAAE,GAAG,EAAE,CAAC,CAAC,GAAG;wBACtF,IAAI,EAAE,CAAC,CAAC,KAAK,CAAC,MAAM,GAAG,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,EAAE,GAAG,CAAC,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK;wBACpE,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,SAAS,EAAE,CAAC,CAAC,SAAS;wBACpC,KAAK,EAAE,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,SAAS,GAAG,EAAE,GAAG,WAAW,CAAC,IAAI,EAAE,GAAG,EAAE,CAAC;wBAC7D,OAAO,EAAE,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,SAAS,GAAG,CAAC,GAAG,WAAW,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC;qBAC9D,CAAC,CAAC,CAAC;oBACJ,IAAI,CAAC,UAAU,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,KAAK,EAAE,aAAa,EAAE,CAAC,CAAC;gBACzD,CAAC;YACH,CAAC;YAAC,OAAO,GAAG,EAAE,CAAC;gBACb,OAAO,CAAC,GAAG,CAAC,0CAA0C,GAAG,EAAE,CAAC,CAAC;YAC/D,CAAC;YAED,qEAAqE;YACrE,IAAI,SAAS,CAAC,MAAM,EAAE,CAAC;gBACrB,iBAAiB,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,IAAI,EAAE,SAAS,EAAE,CAAC,CAAC;YACpD,CAAC;YAED,MAAM,KAAK,GAAG,MAAM,CAAC,QAAQ,EAAE,CAAC;YAChC,yEAAyE;YACzE,mEAAmE;YACnE,sEAAsE;YACtE,MAAM,cAAc,GAAG,aAAa,CAAC,MAAM,KAAK,CAAC;gBAC/C,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC;gBAClB,CAAC,CAAC,aAAa,CAAC,MAAM,CAClB,CAAC,GAAG,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC;oBACX,GAAG,GAAG;oBACN,QAAQ,EAAE,CAAC,GAAG,CAAC,QAAQ,EAAE,CAAC,CAAC,QAAQ,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC;oBAChE,SAAS,EAAE,CAAC,GAAG,CAAC,SAAS,EAAE,CAAC,CAAC,SAAS,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC;oBACnE,gBAAgB,EAAE,CAAC,GAAG,CAAC,GAAG,CAAC,gBAAgB,IAAI,EAAE,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC,gBAAgB,IAAI,EAAE,CAAC,CAAC;oBAClF,gBAAgB,EAAE,CAAC,GAAG,CAAC,GAAG,CAAC,gBAAgB,IAAI,EAAE,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC,gBAAgB,IAAI,EAAE,CAAC,CAAC;oBAClF,iBAAiB,EAAE,CAAC,GAAG,CAAC,GAAG,CAAC,iBAAiB,IAAI,EAAE,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC,iBAAiB,IAAI,EAAE,CAAC,CAAC;oBACrF,oBAAoB,EAAE,CAAC,GAAG,CAAC,GAAG,CAAC,oBAAoB,IAAI,EAAE,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC,oBAAoB,IAAI,EAAE,CAAC,CAAC;iBAC/F,CAAC,EACF,aAAa,CAAC,EAAE,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAgB,CAAC,CAAC,CAC3D,CAAC;YACN,SAAS,CAAC,IAAI,CAAC;gBACb,IAAI,EAAE,IAAI,EAAE,MAAM,EAAE,eAAe,CAAC,IAAI,CAAC,KAAK,CAAC;gBAC/C,iBAAiB,EAAE,eAAe,CAAC,KAAK,EAAE;gBAC1C,iBAAiB,EAAE,cAAc;gBACjC,oBAAoB,EAAE,iBAAiB,CAAC,KAAK,EAAE;gBAC/C,kBAAkB,EAAE;oBAClB,UAAU,EAAE,KAAK,CAAC,MAAM,CAAC,UAAU,EAAE,MAAM,EAAE,KAAK,CAAC,MAAM,CAAC,MAAM;oBAChE,iBAAiB,EAAE,KAAK,CAAC,MAAM,CAAC,iBAAiB,EAAE,qBAAqB,EAAE,KAAK,CAAC,MAAM,CAAC,qBAAqB;oBAC5G,aAAa,EAAE,KAAK,CAAC,MAAM,CAAC,aAAa,EAAE,MAAM,EAAE,MAAM;iBAC1D;aACF,CAAC,CAAC;YACH,OAAO,CAAC,GAAG,CAAC,gBAAgB,KAAK,CAAC,MAAM,CAAC,UAAU,aAAa,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,MAAM,CAAC,MAAM,GAAG,GAAG,CAAC,YAAY,KAAK,CAAC,MAAM,CAAC,iBAAiB,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;YAChK,IAAI,CAAC,WAAW,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,MAAM,EAAE,KAAK,CAAC,MAAM,EAAE,WAAW,EAAE,MAAM,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,IAAI,EAAE,CAAC,MAAM,EAAE,WAAW,EAAE,UAAU,CAAC,MAAM,EAAE,CAAC,CAAC;YAE5I,mDAAmD;YACnD,EAAE;YACF,kFAAkF;YAClF,iFAAiF;YACjF,0EAA0E;YAC1E,MAAM,SAAS,GAAG,IAAI,GAAG,CAAC,KAAK,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC;YACjE,MAAM,eAAe,GAAG,IAAI,GAAG,EAAkB,CAAC;YAClD,MAAM,iBAAiB,GAAG,CAAC,EAAU,EAAE,KAAK,GAAG,CAAC,EAAU,EAAE;gBAC1D,IAAI,KAAK,GAAG,EAAE;oBAAE,OAAO,KAAK,CAAC,CAAC,eAAe;gBAC7C,MAAM,MAAM,GAAG,eAAe,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;gBACvC,IAAI,MAAM,KAAK,SAAS;oBAAE,OAAO,MAAM,CAAC;gBACxC,MAAM,KAAK,GAAG,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;gBAChC,IAAI,CAAC,KAAK;oBAAE,OAAO,CAAC,CAAC;gBACrB,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,QAAQ,EAAE,CAAC;oBACzB,eAAe,CAAC,GAAG,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC;oBAC3B,OAAO,CAAC,CAAC;gBACX,CAAC;gBACD,2DAA2D;gBAC3D,MAAM,OAAO,GAAG,KAAK,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,WAAW,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,CAAC;gBAC5E,IAAI,OAAO,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;oBACzB,eAAe,CAAC,GAAG,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC;oBAC3B,OAAO,CAAC,CAAC;gBACX,CAAC;gBACD,MAAM,SAAS,GAAG,IAAI,CAAC,GAAG,CAAC,GAAG,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,iBAAiB,CAAC,CAAC,CAAC,IAAI,CAAC,EAAE,EAAE,KAAK,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;gBACzF,MAAM,GAAG,GAAG,SAAS,GAAG,CAAC,CAAC;gBAC1B,eAAe,CAAC,GAAG,CAAC,EAAE,EAAE,GAAG,CAAC,CAAC;gBAC7B,OAAO,GAAG,CAAC;YACb,CAAC,CAAC;YAEF,MAAM,cAAc,GAAG,KAAK,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;gBAC5C,OAAO,EAAE,CAAC,CAAC,IAAI,CAAC,EAAE;gBAClB,IAAI,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI;gBACjB,UAAU,EAAE,CAAC,CAAC,IAAI,CAAC,UAAU;gBAC7B,IAAI,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI;gBACjB,IAAI,EAAE,CAAC,CAAC,MAAM,CAAC,IAAI;gBACnB,KAAK,EAAE,CAAC,CAAC,MAAM,CAAC,KAAK;gBACrB,QAAQ,EAAE,CAAC,CAAC,IAAI,CAAC,QAAQ;gBACzB,UAAU,EAAE,CAAC,CAAC,MAAM,CAAC,UAAU;gBAC/B,GAAG,EAAE,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,GAAG,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC;gBACzC,UAAU,EAAE,iBAAiB,CAAC,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC;gBACxC,SAAS,EAAE,CAAC,CAAC,MAAM,CAAC,SAAS;gBAC7B,WAAW,EAAE,CAAC,CAAC,MAAM,CAAC,WAAW;gBACjC,QAAQ,EAAE,CAAC,CAAC,SAAS,CAAC,QAAQ;gBAC9B,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,OAAO,KAAK,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE,IAAI,IAAI,SAAS;gBACrE,eAAe,EAAE,CAAC,CAAC,CAAC,MAAM,EAAE,SAAS,IAAI,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC;aAC3E,CAAC,CAAC,CAAC;YACJ,IAAI,CAAC,iBAAiB,EAAE;gBACtB,IAAI,EAAE,IAAI;gBACV,MAAM,EAAE,cAAc;gBACtB,UAAU,EAAE,KAAK,CAAC,MAAM,CAAC,UAAU;gBACnC,MAAM,EAAE,KAAK,CAAC,MAAM,CAAC,MAAM;gBAC3B,WAAW,EAAE,KAAK,CAAC,MAAM,CAAC,iBAAiB;gBAC3C,MAAM,EAAE,MAAM;aACf,CAAC,CAAC;QACH,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,kEAAkE;YAClE,oEAAoE;YACpE,mEAAmE;YACnE,mBAAmB,CAAC,GAAG,EAAE,OAAO,IAAI,QAAQ,CAAC,CAAC;YAC9C,OAAO,CAAC,KAAK,CAAC,WAAW,IAAI,YAAY,GAAG,EAAE,CAAC,CAAC;YAChD,qEAAqE;YACrE,MAAM,cAAc,GAAG,MAAM,CAAC,QAAQ,EAAE,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;gBACxD,OAAO,EAAE,CAAC,CAAC,IAAI,CAAC,EAAE,EAAE,IAAI,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,EAAE,UAAU,EAAE,CAAC,CAAC,IAAI,CAAC,UAAU,EAAE,IAAI,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI;gBACvF,IAAI,EAAE,CAAC,CAAC,MAAM,CAAC,IAAI,EAAE,KAAK,EAAE,CAAC,CAAC,MAAM,CAAC,KAAK,EAAE,QAAQ,EAAE,CAAC,CAAC,IAAI,CAAC,QAAQ;gBACrE,UAAU,EAAE,CAAC,CAAC,MAAM,CAAC,UAAU;gBAC/B,GAAG,EAAE,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,GAAG,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC;gBACzC,UAAU,EAAE,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;gBACnC,SAAS,EAAE,CAAC,CAAC,MAAM,CAAC,SAAS;gBAC7B,WAAW,EAAE,CAAC,CAAC,MAAM,CAAC,WAAW,EAAE,QAAQ,EAAE,CAAC,CAAC,SAAS,CAAC,QAAQ;gBACjE,IAAI,EAAE,SAAS,EAAE,eAAe,EAAE,EAAE;aACrC,CAAC,CAAC,CAAC;YACJ,IAAI,CAAC,iBAAiB,EAAE;gBACtB,IAAI,EAAE,IAAI,EAAE,MAAM,EAAE,cAAc;gBAClC,UAAU,EAAE,MAAM,CAAC,QAAQ,EAAE,CAAC,MAAM,CAAC,UAAU;gBAC/C,MAAM,EAAE,MAAM,CAAC,QAAQ,EAAE,CAAC,MAAM,CAAC,MAAM;gBACvC,WAAW,EAAE,MAAM,CAAC,QAAQ,EAAE,CAAC,MAAM,CAAC,iBAAiB;gBACvD,MAAM,EAAE,CAAC,EAAE,MAAM,EAAE,CAAC;aACrB,CAAC,CAAC;YACH,IAAI,CAAC,WAAW,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM,CAAC,QAAQ,EAAE,CAAC,MAAM,EAAE,WAAW,EAAE,MAAM,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,IAAI,EAAE,CAAC,MAAM,EAAE,KAAK,EAAE,MAAM,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;QAC9I,CAAC;IACH,CAAC;IAED,MAAM,KAAK,GAAG,MAAM,CAAC,MAAM,EAAE,CAAC;IAE9B,mDAAmD;IACnD,MAAM,YAAY,GAAG,MAAM,CAAC,WAAW,CACrC,KAAK,CAAC,MAAM;SACT,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,SAAS,IAAI,CAAC,CAAC,aAAa,CAAC,MAAM,GAAG,CAAC,CAAC;SACtD,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,EAAE,EAAE;YACpB,IAAI,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI;YACjB,YAAY,EAAE,CAAC,CAAC,SAAU,CAAC,YAAY;YACvC,UAAU,EAAE,CAAC,CAAC,SAAU,CAAC,IAAI;YAC7B,UAAU,EAAE,CAAC,CAAC,SAAU,CAAC,UAAU;YACnC,gBAAgB,EAAE,CAAC,CAAC,aAAa;SAClC,CAAC,CAAC,CACN,CAAC;IAEF,sEAAsE;IACtE,oEAAoE;IACpE,yEAAyE;IACzE,qEAAqE;IACrE,qEAAqE;IACrE,oEAAoE;IACpE,MAAM,EAAE,kBAAkB,EAAE,GAAG,MAAM,MAAM,CAAC,0BAA0B,CAAC,CAAC;IACxE,MAAM,OAAO,GAAG,kBAAkB,CAAC,KAAK,EAAE,UAAU,EAAE,MAAM,EAAE,QAAQ,EAAE,QAAQ,CAAC,CAAC;IAClF,MAAM,eAAe,GAAG,EAAE,CAAC,KAAK,CAAC,eAAe;QAC9C,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,eAAe,CAAC,KAAK,EAAE,UAAU,EAAE,MAAM,EAAE,QAAQ,EAAE,QAAQ,CAAC;QACzE,CAAC,CAAC,EAAE,CAAC;IACP,MAAM,WAAW,GAAG,EAAE,GAAG,OAAO,EAAE,GAAG,eAAe,EAAE,CAAC;IAEvD,oEAAoE;IACpE,sEAAsE;IACtE,8DAA8D;IAC9D,sEAAsE;IACtE,mEAAmE;IACnE,sEAAsE;IACtE,mEAAmE;IACnE,iEAAiE;IACjE,MAAM,aAAa,GAAG,CAAC,GAAG,EAAE;QAC1B,MAAM,GAAG,GAuBJ,EAAE,CAAC;QACR,KAAK,MAAM,CAAC,IAAI,EAAE,KAAK,CAAC,IAAI,YAAY,EAAE,CAAC;YACzC,gEAAgE;YAChE,oEAAoE;YACpE,MAAM,UAAU,GAAG,SAAS,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,IAAI,CAAC,CAAC;YACxD,MAAM,WAAW,GAAG,IAAI,GAAG,EAAU,CAAC;YACtC,IAAI,QAAQ,GAAG,KAAK,CAAC;YACrB,IAAI,aAAa,GAAG,CAAC,CAAC;YACtB,IAAI,YAAY,GAAkB,IAAI,CAAC;YACvC,IAAI,YAAY,GAAG,CAAC,CAAC;YACrB,IAAI,gBAAgB,GAAG,CAAC,CAAC;YACzB,KAAK,MAAM,CAAC,IAAI,KAAK,CAAC,OAAO,EAAE,CAAC;gBAC9B,WAAW,CAAC,GAAG,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC;gBAC9B,IAAI,CAAC,CAAC,CAAC,QAAQ;oBAAE,QAAQ,GAAG,IAAI,CAAC;gBACjC,IAAI,OAAO,CAAC,CAAC,UAAU,KAAK,QAAQ,IAAI,CAAC,CAAC,UAAU,GAAG,aAAa;oBAAE,aAAa,GAAG,CAAC,CAAC,UAAU,CAAC;gBACnG,IAAI,CAAC,CAAC,MAAM;oBAAE,YAAY,GAAG,CAAC,CAAC,MAAM,CAAC;gBACtC,IAAI,CAAC,CAAC,SAAS,EAAE,CAAC;oBAChB,YAAY,EAAE,CAAC;oBACf,IAAI,CAAC,CAAC,QAAQ;wBAAE,gBAAgB,EAAE,CAAC;gBACrC,CAAC;YACH,CAAC;YACD,MAAM,SAAS,GAAG,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC;YACvC,GAAG,CAAC,IAAI,CAAC;gBACP,IAAI;gBACJ,WAAW,EAAE,UAAU,EAAE,WAAW,IAAI,IAAI;gBAC5C,IAAI,EAAE,UAAU,EAAE,IAAI,IAAI,SAAS;gBACnC,eAAe,EAAE,KAAK,CAAC,eAAe;gBACtC,qBAAqB,EAAE,KAAK,CAAC,qBAAqB;gBAClD,qBAAqB,EAAE,KAAK,CAAC,qBAAqB;gBAClD,WAAW,EAAE,CAAC,GAAG,WAAW,CAAC;gBAC7B,UAAU,EAAE,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,SAAS,GAAG,CAAC,CAAC;gBACtC,SAAS;gBACT,YAAY;gBACZ,gBAAgB;gBAChB,QAAQ,EAAE,QAAQ,IAAI,CAAC,UAAU,EAAE,QAAQ,IAAI,KAAK,CAAC;gBACrD,mEAAmE;gBACnE,kEAAkE;gBAClE,4DAA4D;gBAC5D,yCAAyC;gBACzC,UAAU,EAAE,aAAa,IAAI,CAAC,UAAU,EAAE,QAAQ,CAAC,CAAC,CAAC,UAAU,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC;gBAC/E,WAAW,EAAE,KAAK,CAAC,WAAW;gBAC9B,YAAY,EAAE,KAAK,CAAC,YAAY;gBAChC,YAAY;gBACZ,OAAO,EAAE,KAAK,CAAC,OAAO,CAAC,KAAK,EAAE;aAC/B,CAAC,CAAC;QACL,CAAC;QACD,OAAO,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,eAAe,GAAG,CAAC,CAAC,eAAe,CAAC,CAAC;IACnE,CAAC,CAAC,EAAE,CAAC;IAEL,2DAA2D;IAC3D,MAAM,eAAe,GAAG,CAAC,GAAG,EAAE;QAC5B,MAAM,KAAK,GAAG,IAAI,GAAG,EAAqG,CAAC;QAC3H,KAAK,MAAM,EAAE,IAAI,EAAE,CAAC,EAAE,MAAM,EAAE,IAAI,oBAAoB,EAAE,CAAC;YACvD,KAAK,MAAM,CAAC,IAAI,MAAM,CAAC,SAAS,EAAE,CAAC;gBACjC,MAAM,GAAG,GAAG,CAAC,CAAC,CAAC,GAAG,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,IAAI,QAAQ,CAAC,CAAC,CAAC,IAAI,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC;gBACpE,IAAI,CAAC,GAAG;oBAAE,SAAS;gBACnB,IAAI,KAAK,GAAG,KAAK,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;gBAC3B,IAAI,CAAC,KAAK,EAAE,CAAC;oBACX,KAAK,GAAG,EAAE,IAAI,EAAE,CAAC,CAAC,IAAI,IAAI,CAAC,CAAC,GAAG,IAAI,EAAE,EAAE,GAAG,EAAE,CAAC,CAAC,GAAG,IAAI,EAAE,EAAE,GAAG,EAAE,CAAC,CAAC,GAAG,EAAE,WAAW,EAAE,IAAI,GAAG,EAAE,EAAE,KAAK,EAAE,IAAI,GAAG,EAAE,EAAE,CAAC;oBAChH,KAAK,CAAC,GAAG,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC;gBACxB,CAAC;gBACD,IAAI,MAAM,CAAC,UAAU;oBAAE,KAAK,CAAC,WAAW,CAAC,GAAG,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC;gBAChE,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;gBACnB,IAAI,CAAC,KAAK,CAAC,GAAG,IAAI,CAAC,CAAC,GAAG;oBAAE,KAAK,CAAC,GAAG,GAAG,CAAC,CAAC,GAAG,CAAC;YAC7C,CAAC;QACH,CAAC;QACD,OAAO,CAAC,GAAG,KAAK,CAAC,MAAM,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,GAAG,CAAC,EAAE,WAAW,EAAE,CAAC,GAAG,CAAC,CAAC,WAAW,CAAC,EAAE,KAAK,EAAE,CAAC,GAAG,CAAC,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;IAC9H,CAAC,CAAC,EAAE,CAAC;IAEL,MAAM,MAAM,GAAG;QACb,UAAU,EAAE,GAAG,EAAE,CAAC,EAAE,KAAK;QACzB,MAAM,EAAE,EAAE,IAAI,EAAE,MAAM,CAAC,IAAI,EAAE,SAAS,EAAE,MAAM,CAAC,SAAS,EAAE,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE;QACxG;;wCAEgC;QAChC,aAAa,EAAE,SAAS;QACxB,UAAU,EAAE,KAAK;QACjB,cAAc,EAAE,QAAQ;QACxB,iBAAiB,EAAE,YAAY;QAC/B,sBAAsB,EAAE,UAAU;QAClC,WAAW;QACX,sEAAsE;QACtE,cAAc,EAAE,iBAAiB;QACjC,6DAA6D;QAC7D,kBAAkB,EAAE,qBAAqB;QACzC,+EAA+E;QAC/E,aAAa,EAAE,SAAS;QACxB,oFAAoF;QACpF,aAAa;QACb,wEAAwE;QACxE,eAAe;QACf,oEAAoE;QACpE,cAAc,EAAE,iBAAiB;QACjC,kCAAkC;QAClC,IAAI,EAAE,EAAE,WAAW,EAAE,YAAY,EAAE,IAAI,CAAC,KAAK,CAAC,YAAY,GAAG,KAAK,CAAC,GAAG,KAAK,EAAE,QAAQ,EAAE;QACvF;;;;;;WAMG;QACH,aAAa,EAAE,CAAC,CAAC,EAAkC,EAAE,EAAE,CACrD,EAAE;YACA,CAAC,CAAC;gBACE,IAAI,EAAE,EAAE,CAAC,IAAI;gBACb,QAAQ,EAAE,EAAE,CAAC,QAAQ;gBACrB,OAAO,EAAE,EAAE,CAAC,OAAO;gBACnB,SAAS,EAAE,EAAE,CAAC,SAAS;aACxB;YACH,CAAC,CAAC,IAAI,CACT,CAAC,kBAAkB,CAAC;QACrB;;;;;;;WAOG;QACH,OAAO,EAAE,iBAAiB;QAC1B,cAAc,EAAE,eAAe,CAAC,MAAM;QACtC,gBAAgB,EAAE,aAAa,CAAC,MAAM;KACvC,CAAC;IAEF,MAAM,MAAM,GAAG,OAAO,CAAC,SAAS,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,CAAC,CAAC;IACxD,SAAS,CAAC,MAAM,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;IACvC,MAAM,EAAE,GAAG,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC,OAAO,CAAC,OAAO,EAAE,GAAG,CAAC,CAAC;IAC1D,MAAM,GAAG,GAAG,MAAM,CAAC,SAAS,CAAC,WAAW,EAAE,CAAC,OAAO,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;IAChE,MAAM,IAAI,GAAG,OAAO,CAAC,MAAM,EAAE,MAAM,GAAG,IAAI,EAAE,OAAO,CAAC,CAAC;IACrD,aAAa,CAAC,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC;IAErD,OAAO,CAAC,GAAG,CAAC,KAAK,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC;IACnC,OAAO,CAAC,GAAG,CAAC,gBAAgB,MAAM,CAAC,IAAI,EAAE,CAAC,CAAC;IAC3C,OAAO,CAAC,GAAG,CAAC,aAAa,IAAI,EAAE,CAAC,CAAC;IACjC,OAAO,CAAC,GAAG,CAAC,YAAY,SAAS,CAAC,MAAM,iBAAiB,MAAM,CAAC,cAAc,aAAa,MAAM,CAAC,gBAAgB,EAAE,CAAC,CAAC;IACtH,OAAO,CAAC,GAAG,CAAC,gBAAgB,KAAK,CAAC,MAAM,CAAC,UAAU,aAAa,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,MAAM,CAAC,MAAM,GAAG,GAAG,CAAC,GAAG,CAAC,CAAC;IAC1G,OAAO,CAAC,GAAG,CAAC,iBAAiB,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC;IACzD,OAAO,CAAC,GAAG,CAAC,GAAG,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC,IAAI,CAAC,CAAC;IAEnC,MAAM,CAAC,cAAc,CAAC,GAAG,CAAC,CAAC;IAC3B,MAAM,mBAAmB,EAAE,CAAC;IAC5B,MAAM,SAAS,CAAC,KAAK,EAAE,CAAC;IACxB,KAAK,MAAM,CAAC,IAAI,UAAU,CAAC,MAAM,EAAE;QAAE,MAAM,CAAC,CAAC,KAAK,EAAE,CAAC;IACrD,OAAO,MAAM,CAAC;AAChB,CAAC"}
1
+ {"version":3,"file":"orchestrator.js","sourceRoot":"","sources":["../../../src/runtime/orchestrator.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,100 @@
1
+ /**
2
+ * Forged-tool ledger types + prompt-block builder.
3
+ *
4
+ * The orchestrator keeps a per-tool history of every invocation across
5
+ * a run so the dashboard can show WHEN a tool was first forged, WHICH
6
+ * department invoked it, WHAT each invocation produced, and whether
7
+ * each appearance was a fresh forge, a re-forge, or a pure citation.
8
+ *
9
+ * These shapes + the "ALREADY-FORGED TOOLS" context block builder
10
+ * extracted here are pure data structures and a pure text generator —
11
+ * no IO, no side effects — so they move cleanly out of the
12
+ * turn-loop soup.
13
+ *
14
+ * @module paracosm/runtime/tool-ledger
15
+ */
16
+ /** A single invocation of a forged tool, appended to the tool's history. */
17
+ export interface ToolUseRecord {
18
+ turn: number;
19
+ year: number;
20
+ eventIndex: number;
21
+ eventTitle: string;
22
+ department: string;
23
+ /** What the tool produced this invocation (string-truncated to 400). */
24
+ output: string | null;
25
+ /** True when the LLM re-invoked forge_tool (vs cited an existing tool). */
26
+ isReforge: boolean;
27
+ /** Set when isReforge=true and the judge rejected the new attempt. */
28
+ rejected: boolean;
29
+ /** Judge confidence on this invocation (only meaningful for forge calls). */
30
+ confidence?: number;
31
+ }
32
+ /** Per-tool ledger entry. First-forge metadata + full history. */
33
+ export interface ForgedToolLedgerEntry {
34
+ firstForgedTurn: number;
35
+ firstForgedDepartment: string;
36
+ firstForgedEventIndex: number;
37
+ firstForgedEventTitle: string;
38
+ inputSchema?: unknown;
39
+ outputSchema?: unknown;
40
+ /** Append-only history of every invocation across the run. */
41
+ history: ToolUseRecord[];
42
+ }
43
+ /** Shorthand alias used across the orchestrator's closures. */
44
+ export type ForgedLedger = Map<string, ForgedToolLedgerEntry>;
45
+ /**
46
+ * Build the ALREADY-FORGED TOOLS block appended to every department's
47
+ * per-turn context. Tells the LLM which tools are available to reuse,
48
+ * shows each tool's last approved output so the LLM can cite a number
49
+ * without re-forging, and enforces a hard rule against re-forging by
50
+ * the same name.
51
+ *
52
+ * Only approved (non-rejected) tools appear. Capped at 20 most recent
53
+ * so the block stays under ~500 tokens even in long runs.
54
+ *
55
+ * Returns an empty string when no tools have been approved yet, so
56
+ * callers can concatenate unconditionally without an empty section
57
+ * appearing in turn 1 prompts.
58
+ */
59
+ export declare function buildAvailableToolsBlock(ledger: ForgedLedger): string;
60
+ /** One entry in the canonical Forged Toolbox that ships in the run output. */
61
+ export interface ForgedToolboxEntry {
62
+ name: string;
63
+ description: string;
64
+ mode: string;
65
+ firstForgedTurn: number;
66
+ firstForgedDepartment: string;
67
+ firstForgedEventTitle: string;
68
+ departments: string[];
69
+ /** Total uses minus the original forge. */
70
+ reuseCount: number;
71
+ /** Total uses including the original forge. */
72
+ totalUses: number;
73
+ /** How many of those uses were re-forge attempts. */
74
+ reforgeCount: number;
75
+ /** Re-forge attempts that the judge rejected. */
76
+ rejectedReforges: number;
77
+ approved: boolean;
78
+ confidence: number;
79
+ inputSchema: unknown;
80
+ outputSchema: unknown;
81
+ sampleOutput: unknown;
82
+ history: ToolUseRecord[];
83
+ }
84
+ /** Minimal shape of a captured forge event needed to hydrate toolbox entries. */
85
+ export interface ForgeCaptureForToolbox {
86
+ name: string;
87
+ description: string;
88
+ mode: string;
89
+ approved: boolean;
90
+ confidence: number;
91
+ }
92
+ /**
93
+ * Build the canonical Forged Toolbox from a completed run's ledger.
94
+ * Deduplicates by tool name, preserves first-forge metadata, and rolls
95
+ * up reuse/reforge/rejection counts from the full invocation history.
96
+ * Pure function — takes the ledger + the raw stream of captured forge
97
+ * events and returns a sorted, enriched array ready for serialization.
98
+ */
99
+ export declare function buildForgedToolbox(ledger: ForgedLedger, allForges: readonly ForgeCaptureForToolbox[]): ForgedToolboxEntry[];
100
+ //# sourceMappingURL=tool-ledger.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"tool-ledger.d.ts","sourceRoot":"","sources":["../../../src/runtime/tool-ledger.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAEH,4EAA4E;AAC5E,MAAM,WAAW,aAAa;IAC5B,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;IACb,UAAU,EAAE,MAAM,CAAC;IACnB,UAAU,EAAE,MAAM,CAAC;IACnB,UAAU,EAAE,MAAM,CAAC;IACnB,wEAAwE;IACxE,MAAM,EAAE,MAAM,GAAG,IAAI,CAAC;IACtB,2EAA2E;IAC3E,SAAS,EAAE,OAAO,CAAC;IACnB,sEAAsE;IACtE,QAAQ,EAAE,OAAO,CAAC;IAClB,6EAA6E;IAC7E,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB;AAED,kEAAkE;AAClE,MAAM,WAAW,qBAAqB;IACpC,eAAe,EAAE,MAAM,CAAC;IACxB,qBAAqB,EAAE,MAAM,CAAC;IAC9B,qBAAqB,EAAE,MAAM,CAAC;IAC9B,qBAAqB,EAAE,MAAM,CAAC;IAC9B,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,YAAY,CAAC,EAAE,OAAO,CAAC;IACvB,8DAA8D;IAC9D,OAAO,EAAE,aAAa,EAAE,CAAC;CAC1B;AAED,+DAA+D;AAC/D,MAAM,MAAM,YAAY,GAAG,GAAG,CAAC,MAAM,EAAE,qBAAqB,CAAC,CAAC;AAE9D;;;;;;;;;;;;;GAaG;AACH,wBAAgB,wBAAwB,CAAC,MAAM,EAAE,YAAY,GAAG,MAAM,CAsBrE;AAED,8EAA8E;AAC9E,MAAM,WAAW,kBAAkB;IACjC,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,EAAE,MAAM,CAAC;IACpB,IAAI,EAAE,MAAM,CAAC;IACb,eAAe,EAAE,MAAM,CAAC;IACxB,qBAAqB,EAAE,MAAM,CAAC;IAC9B,qBAAqB,EAAE,MAAM,CAAC;IAC9B,WAAW,EAAE,MAAM,EAAE,CAAC;IACtB,2CAA2C;IAC3C,UAAU,EAAE,MAAM,CAAC;IACnB,+CAA+C;IAC/C,SAAS,EAAE,MAAM,CAAC;IAClB,qDAAqD;IACrD,YAAY,EAAE,MAAM,CAAC;IACrB,iDAAiD;IACjD,gBAAgB,EAAE,MAAM,CAAC;IACzB,QAAQ,EAAE,OAAO,CAAC;IAClB,UAAU,EAAE,MAAM,CAAC;IACnB,WAAW,EAAE,OAAO,CAAC;IACrB,YAAY,EAAE,OAAO,CAAC;IACtB,YAAY,EAAE,OAAO,CAAC;IACtB,OAAO,EAAE,aAAa,EAAE,CAAC;CAC1B;AAED,iFAAiF;AACjF,MAAM,WAAW,sBAAsB;IACrC,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,EAAE,MAAM,CAAC;IACpB,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,EAAE,OAAO,CAAC;IAClB,UAAU,EAAE,MAAM,CAAC;CACpB;AAED;;;;;;GAMG;AACH,wBAAgB,kBAAkB,CAChC,MAAM,EAAE,YAAY,EACpB,SAAS,EAAE,SAAS,sBAAsB,EAAE,GAC3C,kBAAkB,EAAE,CA6CtB"}
@@ -0,0 +1,111 @@
1
+ /**
2
+ * Forged-tool ledger types + prompt-block builder.
3
+ *
4
+ * The orchestrator keeps a per-tool history of every invocation across
5
+ * a run so the dashboard can show WHEN a tool was first forged, WHICH
6
+ * department invoked it, WHAT each invocation produced, and whether
7
+ * each appearance was a fresh forge, a re-forge, or a pure citation.
8
+ *
9
+ * These shapes + the "ALREADY-FORGED TOOLS" context block builder
10
+ * extracted here are pure data structures and a pure text generator —
11
+ * no IO, no side effects — so they move cleanly out of the
12
+ * turn-loop soup.
13
+ *
14
+ * @module paracosm/runtime/tool-ledger
15
+ */
16
+ /**
17
+ * Build the ALREADY-FORGED TOOLS block appended to every department's
18
+ * per-turn context. Tells the LLM which tools are available to reuse,
19
+ * shows each tool's last approved output so the LLM can cite a number
20
+ * without re-forging, and enforces a hard rule against re-forging by
21
+ * the same name.
22
+ *
23
+ * Only approved (non-rejected) tools appear. Capped at 20 most recent
24
+ * so the block stays under ~500 tokens even in long runs.
25
+ *
26
+ * Returns an empty string when no tools have been approved yet, so
27
+ * callers can concatenate unconditionally without an empty section
28
+ * appearing in turn 1 prompts.
29
+ */
30
+ export function buildAvailableToolsBlock(ledger) {
31
+ const approved = [];
32
+ for (const [name, entry] of ledger.entries()) {
33
+ const lastApproved = [...entry.history].reverse().find(h => !h.rejected);
34
+ if (!lastApproved)
35
+ continue;
36
+ approved.push({
37
+ name,
38
+ dept: entry.firstForgedDepartment,
39
+ title: entry.firstForgedEventTitle || name,
40
+ // Truncate aggressively so the block stays under a few hundred
41
+ // tokens even with 20 tools. 180 chars covers a compact JSON
42
+ // like {"score":42,"warnings":[]} which is what the LLM cites.
43
+ output: lastApproved.output ? lastApproved.output.slice(0, 180) : null,
44
+ });
45
+ }
46
+ if (approved.length === 0)
47
+ return '';
48
+ const lines = approved.slice(-20).reverse().map(t => {
49
+ const head = `- ${t.name} (${t.dept}): ${t.title}`;
50
+ return t.output ? `${head}\n last output: ${t.output}` : head;
51
+ }).join('\n');
52
+ return `\n\nALREADY-FORGED TOOLS IN THIS SESSION:\n${lines}\n\nHARD RULE — how to reuse:\n- Preferred: call the tool for real with fresh inputs via call_forged_tool({"name":"<tool_name>","args":{...}}). This produces a new output using the approved, judge-reviewed code. Then cite the tool in "forgedToolsUsed" with the new output.\n- If the analysis is essentially unchanged from last invocation, cite the tool name in "forgedToolsUsed" and reference the last output from the list above in your summary — no tool call needed.\n- Do NOT call forge_tool with a name from this list. Re-forging costs −0.06 outcome bonus and −0.015 morale. Only forge a NEW tool when NO existing one applies. Each reuse (via call_forged_tool or citation) is +0.02 outcome bonus.\n`;
53
+ }
54
+ /**
55
+ * Build the canonical Forged Toolbox from a completed run's ledger.
56
+ * Deduplicates by tool name, preserves first-forge metadata, and rolls
57
+ * up reuse/reforge/rejection counts from the full invocation history.
58
+ * Pure function — takes the ledger + the raw stream of captured forge
59
+ * events and returns a sorted, enriched array ready for serialization.
60
+ */
61
+ export function buildForgedToolbox(ledger, allForges) {
62
+ const out = [];
63
+ for (const [name, entry] of ledger) {
64
+ const firstForge = allForges.find(f => f.name === name);
65
+ const departments = new Set();
66
+ let approved = false;
67
+ let maxConfidence = 0;
68
+ let sampleOutput = null;
69
+ let reforgeCount = 0;
70
+ let rejectedReforges = 0;
71
+ for (const h of entry.history) {
72
+ departments.add(h.department);
73
+ if (!h.rejected)
74
+ approved = true;
75
+ if (typeof h.confidence === 'number' && h.confidence > maxConfidence)
76
+ maxConfidence = h.confidence;
77
+ if (h.output)
78
+ sampleOutput = h.output;
79
+ if (h.isReforge) {
80
+ reforgeCount++;
81
+ if (h.rejected)
82
+ rejectedReforges++;
83
+ }
84
+ }
85
+ const totalUses = entry.history.length;
86
+ out.push({
87
+ name,
88
+ description: firstForge?.description || name,
89
+ mode: firstForge?.mode || 'sandbox',
90
+ firstForgedTurn: entry.firstForgedTurn,
91
+ firstForgedDepartment: entry.firstForgedDepartment,
92
+ firstForgedEventTitle: entry.firstForgedEventTitle,
93
+ departments: [...departments],
94
+ reuseCount: Math.max(0, totalUses - 1),
95
+ totalUses,
96
+ reforgeCount,
97
+ rejectedReforges,
98
+ approved: approved || (firstForge?.approved ?? false),
99
+ // Highest judge confidence across this tool's invocations. When
100
+ // no approval ever landed, confidence is 0 — never fabricate a
101
+ // default that misrepresents rejected tools as borderline.
102
+ confidence: maxConfidence || (firstForge?.approved ? firstForge.confidence : 0),
103
+ inputSchema: entry.inputSchema,
104
+ outputSchema: entry.outputSchema,
105
+ sampleOutput,
106
+ history: entry.history.slice(),
107
+ });
108
+ }
109
+ return out.sort((a, b) => a.firstForgedTurn - b.firstForgedTurn);
110
+ }
111
+ //# sourceMappingURL=tool-ledger.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"tool-ledger.js","sourceRoot":"","sources":["../../../src/runtime/tool-ledger.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "paracosm",
3
- "version": "0.4.145",
3
+ "version": "0.4.147",
4
4
  "description": "AI agent swarm simulation engine with emergent crises, runtime tool forging, HEXACO personality drift, and deterministic kernels. Built on AgentOS.",
5
5
  "type": "module",
6
6
  "main": "dist/engine/index.js",