@alan512/experienceengine 0.3.2 → 0.3.3

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (51) hide show
  1. package/.mcp.json +11 -11
  2. package/dist/adapters/codex/mcp-server.js +1 -1
  3. package/dist/analyzer/llm-learning-gate.d.ts +7 -0
  4. package/dist/analyzer/llm-learning-gate.js +76 -11
  5. package/dist/analyzer/llm-learning-gate.js.map +1 -1
  6. package/dist/cli/commands/inspect.js +9 -0
  7. package/dist/cli/commands/inspect.js.map +1 -1
  8. package/dist/cli/index.js +0 -0
  9. package/dist/controller/injection-renderer.d.ts +7 -2
  10. package/dist/controller/injection-renderer.js +50 -19
  11. package/dist/controller/injection-renderer.js.map +1 -1
  12. package/dist/controller/injection-scorecard.js +3 -0
  13. package/dist/controller/injection-scorecard.js.map +1 -1
  14. package/dist/controller/intervention-controller.js +8 -2
  15. package/dist/controller/intervention-controller.js.map +1 -1
  16. package/dist/controller/skip-reason.d.ts +12 -0
  17. package/dist/controller/skip-reason.js +82 -0
  18. package/dist/controller/skip-reason.js.map +1 -0
  19. package/dist/controller/skip-scorecard.d.ts +2 -0
  20. package/dist/controller/skip-scorecard.js +39 -0
  21. package/dist/controller/skip-scorecard.js.map +1 -0
  22. package/dist/install/claude-code-doctor.js +6 -4
  23. package/dist/install/claude-code-doctor.js.map +1 -1
  24. package/dist/install/claude-code-installer.js +2 -5
  25. package/dist/install/claude-code-installer.js.map +1 -1
  26. package/dist/install/claude-runtime-target.js +7 -1
  27. package/dist/install/claude-runtime-target.js.map +1 -1
  28. package/dist/install/openclaw-installer.js +5 -9
  29. package/dist/install/openclaw-installer.js.map +1 -1
  30. package/dist/interaction/service.js +3 -0
  31. package/dist/interaction/service.js.map +1 -1
  32. package/dist/plugin/openclaw-plugin.d.ts +1 -1
  33. package/dist/runtime/learning-candidate-factory.d.ts +3 -0
  34. package/dist/runtime/learning-candidate-factory.js +126 -0
  35. package/dist/runtime/learning-candidate-factory.js.map +1 -0
  36. package/dist/runtime/learning-pipeline-service.d.ts +24 -0
  37. package/dist/runtime/learning-pipeline-service.js +78 -0
  38. package/dist/runtime/learning-pipeline-service.js.map +1 -0
  39. package/dist/runtime/prompt-service.d.ts +3 -3
  40. package/dist/runtime/prompt-service.js +39 -34
  41. package/dist/runtime/prompt-service.js.map +1 -1
  42. package/dist/runtime/service.d.ts +5 -5
  43. package/dist/runtime/service.js +70 -306
  44. package/dist/runtime/service.js.map +1 -1
  45. package/dist/runtime/task-finalization-service.d.ts +36 -0
  46. package/dist/runtime/task-finalization-service.js +97 -0
  47. package/dist/runtime/task-finalization-service.js.map +1 -0
  48. package/dist/types/domain.d.ts +7 -0
  49. package/docs/releases/v0.3.3.md +18 -0
  50. package/openclaw.plugin.json +1 -1
  51. package/package.json +13 -12
@@ -3,12 +3,12 @@ import { buildInjectionScorecard } from "../controller/injection-scorecard.js";
3
3
  import { classifyFailureAttributionReason } from "../feedback/automatic-attribution.js";
4
4
  import { applyFeedback } from "../feedback/feedback-manager.js";
5
5
  import { detectHarm } from "../feedback/harm-detector.js";
6
- import { createEmptyStats, updateStats } from "../feedback/stats-updater.js";
7
6
  import { buildExperienceInput } from "../input/input-adapter.js";
8
7
  import { buildRetrievalContext } from "../controller/retrieval-context.js";
9
8
  import { resolveScope } from "../input/scope-resolver.js";
10
9
  import { decideIntervention } from "../controller/intervention-controller.js";
11
10
  import { renderInlineNotice } from "../controller/inline-notice.js";
11
+ import { buildSkipScorecard } from "../controller/skip-scorecard.js";
12
12
  import { applyGovernedNodeFeedback, deriveNodeOriginProfileForNode } from "../experience-management/node-lifecycle-governance.js";
13
13
  import { evaluateRepoPolicy } from "../experience-management/repo-policy.js";
14
14
  import { resolveHybridRolloutState } from "../hybrid/rollout.js";
@@ -33,191 +33,17 @@ import { RuntimeCaptureWriter } from "../plugin/runtime-capture.js";
33
33
  import { normalizeToolResult } from "../plugin/hooks/tool-result-persist.js";
34
34
  import { extractToolResultsFromPayload } from "../plugin/runtime-helpers.js";
35
35
  import { HybridReviewArtifactRepository } from "../store/sqlite/repositories/hybrid-review-artifact-repo.js";
36
+ import { LearningPipelineService } from "./learning-pipeline-service.js";
37
+ import { mergeContext, TaskFinalizationService } from "./task-finalization-service.js";
36
38
  const loadLlmLearningGate = async () => import("../analyzer/llm-learning-gate.js");
37
39
  const loadDistillationQueueWorker = async () => import("../distillation/queue-worker.js");
38
40
  const loadHybridWorkerClientModule = async () => import("../hybrid/worker-client.js");
39
41
  const loadHybridCapsuleBuilder = async () => import("../hybrid/capsule-builder.js");
40
42
  const loadHybridPostmortemProviderClient = async () => import("../hybrid/postmortem-provider-client.js");
41
- const toEvidence = (input) => input.tool_events.map((event) => [event.tool_name, event.status, event.error_signature ?? event.output_summary]
42
- .filter(Boolean)
43
- .join(": "));
44
- const toInputRecord = (input, sessionId, episodeId) => ({
45
- record_id: createId("input"),
46
- episode_id: episodeId,
47
- scope_id: input.scope_id,
48
- session_id: sessionId,
49
- task_type: input.task_type,
50
- task_summary: input.task_summary,
51
- outcome_signal: input.outcome_signal,
52
- context_summary: input.context_summary,
53
- evidence: toEvidence(input),
54
- injected_node_ids: input.injected_node_ids,
55
- created_at: nowIso()
56
- });
57
- const toTaskRun = (input, sessionId, context, episodeId) => {
58
- const timestamp = nowIso();
59
- const signals = buildCandidateSignals(input);
60
- return {
61
- id: stableId("taskrun", `${sessionId}:${input.task_summary}:${timestamp}`),
62
- episode_id: episodeId,
63
- host: context.host ?? "openclaw",
64
- scope_id: input.scope_id,
65
- session_id: sessionId,
66
- task_type: input.task_type,
67
- task_summary: input.task_summary,
68
- prompt_excerpt: context.userMessage,
69
- context_summary: input.context_summary,
70
- started_at: timestamp,
71
- ended_at: timestamp,
72
- final_status: input.outcome_signal === "success" ? "success" : input.outcome_signal === "failure" ? "failure" : "unknown",
73
- failure_signature: signals.failure_signature,
74
- learning_status: undefined,
75
- learning_reason: undefined,
76
- created_at: timestamp,
77
- updated_at: timestamp
78
- };
79
- };
80
- const toOutcomeRecord = (taskRun, input, episodeId) => ({
81
- id: createId("outcome"),
82
- episode_id: episodeId,
83
- task_run_id: taskRun.id,
84
- outcome_signal: input.outcome_signal,
85
- failure_signature: taskRun.failure_signature,
86
- summary: input.task_summary,
87
- created_at: nowIso()
88
- });
89
- const buildCandidateSourceSignal = (input) => {
90
- const signals = buildCandidateSignals(input);
91
- return {
92
- task_summary: input.task_summary,
93
- context_summary: input.context_summary,
94
- outcome_signal: input.outcome_signal,
95
- tool_events: input.tool_events,
96
- evidence: toEvidence(input),
97
- failure_signature: signals.failure_signature,
98
- retry_count: signals.retry_count,
99
- correction_signals: signals.correction_signals,
100
- directional_correction: signals.directional_correction,
101
- evidence_driven_reversal: signals.evidence_driven_reversal,
102
- tool_event_summary: signals.tool_event_summary
103
- };
104
- };
105
43
  const resolveEpisodeId = (session, sessionId, input) => {
106
44
  session.episodeId ??= stableId("episode", `${sessionId}:${input.scope_id}:${input.task_summary}`);
107
45
  return session.episodeId;
108
46
  };
109
- const mergeDirectionalCorrectionIntoSourceSignal = (sourceSignal, draft) => {
110
- const directionalCorrection = sourceSignal.directional_correction;
111
- if (!directionalCorrection) {
112
- return sourceSignal;
113
- }
114
- const semanticDetected = Boolean(draft.experience_kind === "expectation_correction" &&
115
- draft.correction_category &&
116
- draft.deviation_pattern &&
117
- draft.corrected_constraint);
118
- if (!semanticDetected) {
119
- return sourceSignal;
120
- }
121
- return {
122
- ...sourceSignal,
123
- directional_correction: {
124
- ...directionalCorrection,
125
- semantic_detected: true,
126
- correction_category: draft.correction_category,
127
- deviation_pattern: draft.deviation_pattern,
128
- corrected_constraint: draft.corrected_constraint
129
- }
130
- };
131
- };
132
- const mergeEvidenceDrivenReversalIntoSourceSignal = (sourceSignal, draft) => {
133
- const reversal = sourceSignal.evidence_driven_reversal;
134
- if (!reversal) {
135
- return sourceSignal;
136
- }
137
- const semanticDetected = Boolean(draft.experience_kind === "expectation_correction" &&
138
- draft.correction_category &&
139
- draft.deviation_pattern &&
140
- draft.corrected_constraint);
141
- if (!semanticDetected) {
142
- return sourceSignal;
143
- }
144
- return {
145
- ...sourceSignal,
146
- evidence_driven_reversal: {
147
- ...reversal,
148
- semantic_detected: true,
149
- correction_category: draft.correction_category,
150
- deviation_pattern: draft.deviation_pattern,
151
- corrected_constraint: draft.corrected_constraint
152
- }
153
- };
154
- };
155
- const summarizeRawCandidate = (sourceSignal) => {
156
- const fragments = [...sourceSignal.tool_event_summary];
157
- if (sourceSignal.failure_signature) {
158
- fragments.unshift(`failure signature: ${sourceSignal.failure_signature}`);
159
- }
160
- return fragments.slice(0, 3).join(" | ");
161
- };
162
- const resolveCandidateKind = (input, sourceSignal) => {
163
- if (input.outcome_signal === "success") {
164
- return "successful_fix";
165
- }
166
- if (sourceSignal.retry_count > 1) {
167
- return "retry_pattern";
168
- }
169
- if (sourceSignal.correction_signals.length > 0) {
170
- return "correction";
171
- }
172
- return "failure";
173
- };
174
- const draftToCandidate = (draft, input, originRecordId, taskRunId, directionalCorrectionSignal, evidenceDrivenReversalSignal) => {
175
- const timestamp = nowIso();
176
- const baseSourceSignal = buildCandidateSourceSignal(input);
177
- const sourceSignal = mergeEvidenceDrivenReversalIntoSourceSignal(mergeDirectionalCorrectionIntoSourceSignal({
178
- ...baseSourceSignal,
179
- directional_correction: directionalCorrectionSignal ?? baseSourceSignal.directional_correction,
180
- evidence_driven_reversal: evidenceDrivenReversalSignal ?? baseSourceSignal.evidence_driven_reversal
181
- }, draft), draft);
182
- const candidateId = stableId("candidate", [draft.scope_id, draft.task_type, draft.node_type, draft.compact_hint, originRecordId].join(":"));
183
- return {
184
- id: candidateId,
185
- task_run_id: taskRunId ?? originRecordId,
186
- candidate_kind: resolveCandidateKind(input, sourceSignal),
187
- ...draft,
188
- source_record_id: originRecordId,
189
- source_context_summary: input.context_summary,
190
- source_outcome_signal: input.outcome_signal,
191
- raw_summary: summarizeRawCandidate(sourceSignal),
192
- failure_signature: sourceSignal.failure_signature,
193
- source_signal: sourceSignal,
194
- lifecycle_state: "pending",
195
- retry_count: 0,
196
- created_at: timestamp,
197
- updated_at: timestamp
198
- };
199
- };
200
- const candidateToInitialJob = (candidate, extractorProfile) => {
201
- const timestamp = nowIso();
202
- return {
203
- id: stableId("distill", candidate.id),
204
- candidate_id: candidate.id,
205
- status: "pending",
206
- extractor_profile: extractorProfile,
207
- retry_count: candidate.retry_count,
208
- created_at: timestamp,
209
- updated_at: timestamp
210
- };
211
- };
212
- const mergeContext = (existing, incoming) => ({
213
- host: incoming.host ?? existing?.host,
214
- sessionId: incoming.sessionId ?? existing?.sessionId,
215
- cwd: incoming.cwd ?? existing?.cwd,
216
- userMessage: incoming.userMessage || existing?.userMessage || "",
217
- taskSummary: incoming.taskSummary ?? existing?.taskSummary,
218
- contextSummary: incoming.contextSummary ?? existing?.contextSummary,
219
- injectedNodeIds: incoming.injectedNodeIds ?? existing?.injectedNodeIds
220
- });
221
47
  const buildToolEventKey = (toolEvent, toolCallId) => toolCallId ??
222
48
  [
223
49
  toolEvent.tool_name,
@@ -259,31 +85,6 @@ const resolveDeliveryMode = (evaluationMode, holdoutRate, sessionId, taskSummary
259
85
  delivered: true
260
86
  };
261
87
  };
262
- const buildRecordOnlyDiagnosticScorecard = (input, sessionId, diagnostics) => ({
263
- sessionId,
264
- scopeId: input.scope_id,
265
- taskType: input.task_type === "unknown" ? "general" : input.task_type,
266
- taskSummary: input.task_summary,
267
- mode: "skip",
268
- interventionStrength: "diagnostic_hint",
269
- riskLevel: "high",
270
- recommendation: "Record-only diagnostic candidate matched; keep it out of prompt text until the live gate clears.",
271
- reasons: ["A same-scope shadow candidate matched this task but was not delivered."],
272
- topCandidates: diagnostics.topCandidates,
273
- topCandidateScore: diagnostics.topCandidateScore,
274
- scoreMargin: diagnostics.scoreMargin,
275
- fastPathApplied: diagnostics.fastPathApplied,
276
- queryRewriteApplied: diagnostics.queryRewriteApplied,
277
- gateReason: diagnostics.gateReason,
278
- decisionReason: diagnostics.decisionReason,
279
- confidence: diagnostics.confidence,
280
- budgetClass: diagnostics.budgetClass,
281
- selectedCandidateIds: [],
282
- recordOnlyDiagnosticCandidateIds: diagnostics.recordOnlyDiagnosticCandidateIds,
283
- rejectedCandidates: diagnostics.rejectedCandidates,
284
- nodes: [],
285
- createdAt: nowIso()
286
- });
287
88
  const HYBRID_LIGHTWEIGHT_PATTERN = /\b(wording-only|wording only|copy-only|copy only|copy pass|inline notice wording|expression-layer refinement)\b/i;
288
89
  const isLightweightHybridExcludedTask = (input) => HYBRID_LIGHTWEIGHT_PATTERN.test(`${input.task_summary} ${input.context_summary ?? ""}`);
289
90
  export const decidePosttaskHybridRoute = (config, input, signals, rolloutKey = input.task_summary) => {
@@ -321,6 +122,8 @@ export class ExperienceRuntimeService {
321
122
  repoPolicyRepo;
322
123
  hybridReviewArtifactRepo;
323
124
  hybridTraceRepo;
125
+ learningPipeline;
126
+ taskFinalization;
324
127
  runtimeOptions;
325
128
  backgroundLearningEnabled;
326
129
  hybridPosttaskEnabled;
@@ -351,6 +154,23 @@ export class ExperienceRuntimeService {
351
154
  this.repoPolicyRepo = new RepoPolicyRepository(this.db);
352
155
  this.hybridReviewArtifactRepo = new HybridReviewArtifactRepository(this.db);
353
156
  this.hybridTraceRepo = new HybridInvocationTraceRepository(this.db);
157
+ this.learningPipeline = new LearningPipelineService({
158
+ config: this.config,
159
+ db: this.db,
160
+ candidateRepo: this.candidateRepo,
161
+ jobRepo: this.jobRepo,
162
+ taskRunRepo: this.taskRunRepo,
163
+ logger: this.logger,
164
+ getLearningGate: () => this.getLearningGate(),
165
+ getDistillationWorker: () => this.getDistillationWorker()
166
+ });
167
+ this.taskFinalization = new TaskFinalizationService({
168
+ scopeRepo: this.scopeRepo,
169
+ inputRepo: this.inputRepo,
170
+ taskRunRepo: this.taskRunRepo,
171
+ outcomeRepo: this.outcomeRepo,
172
+ statsRepo: this.statsRepo
173
+ });
354
174
  this.captureWriter = new RuntimeCaptureWriter(config, this.logger);
355
175
  }
356
176
  getSession(sessionId) {
@@ -397,30 +217,6 @@ export class ExperienceRuntimeService {
397
217
  }
398
218
  }
399
219
  }
400
- buildFinalizedInput(context, session) {
401
- const mergedContext = mergeContext(session.context, context);
402
- const injectedNodeIds = session.injectedNodeIds.length > 0 ? session.injectedNodeIds : mergedContext.injectedNodeIds ?? [];
403
- const input = buildExperienceInput({
404
- ...mergedContext,
405
- injectedNodeIds
406
- }, session.toolEvents);
407
- return input;
408
- }
409
- persistFinalizedInput(input, sessionId, session, episodeId, cwd) {
410
- const resolvedScope = resolveScope(cwd ?? session.context?.cwd);
411
- const existingScope = this.scopeRepo.getById(resolvedScope.scope_id);
412
- this.scopeRepo.upsert({
413
- ...resolvedScope,
414
- is_disabled: existingScope?.is_disabled ?? resolvedScope.is_disabled
415
- });
416
- const record = toInputRecord(input, sessionId, episodeId);
417
- this.inputRepo.upsert(record);
418
- if (input.task_type !== "unknown") {
419
- const currentStats = this.statsRepo.get(input.scope_id, input.task_type) ?? createEmptyStats(input.scope_id, input.task_type);
420
- this.statsRepo.upsert(updateStats(currentStats, input.outcome_signal, input.injected_node_ids.length > 0));
421
- }
422
- return record;
423
- }
424
220
  trackLearningTask(task) {
425
221
  const tracked = task
426
222
  .catch((error) => {
@@ -661,72 +457,7 @@ export class ExperienceRuntimeService {
661
457
  }
662
458
  }
663
459
  async persistCandidatesAsync(input, originRecordId, taskRunId, sessionId) {
664
- const learningGate = await this.getLearningGate();
665
- if (!learningGate) {
666
- if (taskRunId) {
667
- const taskRun = this.taskRunRepo.getById(taskRunId);
668
- if (taskRun) {
669
- this.taskRunRepo.upsert({
670
- ...taskRun,
671
- learning_status: "not_applicable",
672
- learning_reason: "background learning disabled",
673
- updated_at: nowIso()
674
- });
675
- }
676
- }
677
- return;
678
- }
679
- const result = await learningGate.generateCandidateDrafts(input);
680
- if (taskRunId) {
681
- const taskRun = this.taskRunRepo.getById(taskRunId);
682
- if (taskRun) {
683
- this.taskRunRepo.upsert({
684
- ...taskRun,
685
- learning_status: result.drafts.length
686
- ? "captured"
687
- : result.source === "disabled" && result.reason === "distillation disabled"
688
- ? "not_applicable"
689
- : "rejected",
690
- learning_reason: result.reason,
691
- updated_at: nowIso()
692
- });
693
- }
694
- }
695
- if (!result.drafts.length) {
696
- this.logger.debug?.("experienceengine.learning_skipped", {
697
- sessionId,
698
- taskType: input.task_type,
699
- reason: result.reason,
700
- source: result.source
701
- });
702
- return;
703
- }
704
- const persistedCandidates = result.drafts.map((draft) => draftToCandidate(draft, input, originRecordId, taskRunId, result.directionalCorrectionSignal, result.evidenceDrivenReversalSignal));
705
- withTransaction(this.db, () => {
706
- for (const candidate of persistedCandidates) {
707
- this.candidateRepo.upsert(candidate);
708
- this.jobRepo.upsert(candidateToInitialJob(candidate, this.config.distillerProfile));
709
- }
710
- });
711
- this.logger.info?.("experienceengine.learning_captured", {
712
- sessionId,
713
- taskType: input.task_type,
714
- candidateCount: persistedCandidates.length,
715
- source: result.source,
716
- reason: result.reason
717
- });
718
- if (this.config.distillationAutoDrain) {
719
- const distillationWorker = await this.getDistillationWorker();
720
- if (!distillationWorker) {
721
- return;
722
- }
723
- await distillationWorker.drain().catch((error) => {
724
- this.logger.error?.("experienceengine.distillation_drain_failed", {
725
- sessionId,
726
- error: error instanceof Error ? error.message : String(error)
727
- });
728
- });
729
- }
460
+ await this.learningPipeline.persistCandidatesAsync(input, originRecordId, taskRunId, sessionId);
730
461
  }
731
462
  updateInjectedNodes(input, attributionRecordId, taskRunId, injectionEvent, episodeId) {
732
463
  if (!input.injected_node_ids.length) {
@@ -894,11 +625,35 @@ export class ExperienceRuntimeService {
894
625
  const existingScope = this.scopeRepo.getById(resolvedScope.scope_id);
895
626
  if (existingScope?.is_disabled) {
896
627
  session.injectedNodeIds = [];
897
- session.lastInjectionEvent = undefined;
898
628
  session.context = {
899
629
  ...session.context,
900
630
  injectedNodeIds: []
901
631
  };
632
+ const disabledInput = {
633
+ ...input,
634
+ scope_id: existingScope.scope_id,
635
+ injected_node_ids: []
636
+ };
637
+ const scorecard = buildSkipScorecard(disabledInput, sessionId, undefined, true);
638
+ const injectionEvent = {
639
+ injection_id: createId("decision"),
640
+ episode_id: resolveEpisodeId(session, sessionId, disabledInput),
641
+ session_id: sessionId,
642
+ scope_id: disabledInput.scope_id,
643
+ task_type: disabledInput.task_type === "unknown" ? "general" : disabledInput.task_type,
644
+ task_summary: disabledInput.task_summary,
645
+ mode: "skip",
646
+ delivery_mode: "live",
647
+ delivered: false,
648
+ injected_node_ids: [],
649
+ injection_count: 0,
650
+ scorecard,
651
+ was_successful: null,
652
+ harm_observed: null,
653
+ created_at: nowIso()
654
+ };
655
+ this.injectionRepo.upsert(injectionEvent);
656
+ session.lastInjectionEvent = injectionEvent;
902
657
  this.logger.info?.("experienceengine.scope_disabled", {
903
658
  sessionId,
904
659
  scopeId: existingScope.scope_id
@@ -907,12 +662,9 @@ export class ExperienceRuntimeService {
907
662
  mode: "skip",
908
663
  text: undefined,
909
664
  notice: undefined,
665
+ scorecard,
910
666
  retrievalContext,
911
- input: {
912
- ...input,
913
- scope_id: existingScope.scope_id,
914
- injected_node_ids: []
915
- }
667
+ input: disabledInput
916
668
  };
917
669
  }
918
670
  const stats = input.task_type !== "unknown" ? this.statsRepo.get(input.scope_id, input.task_type) : undefined;
@@ -945,9 +697,17 @@ export class ExperienceRuntimeService {
945
697
  };
946
698
  const scorecard = decision.mode !== "skip"
947
699
  ? buildInjectionScorecard(input, decision.mode, decision.selected, sessionId, decision.diagnostics)
948
- : decision.diagnostics?.recordOnlyDiagnosticCandidateIds?.length
949
- ? buildRecordOnlyDiagnosticScorecard(input, sessionId, decision.diagnostics)
950
- : undefined;
700
+ : buildSkipScorecard(input, sessionId, decision.diagnostics);
701
+ if (scorecard && decision.mode !== "skip" && !delivery.delivered) {
702
+ if (delivery.deliveryMode === "holdout") {
703
+ scorecard.skipReasonCode = "holdout_suppressed";
704
+ scorecard.skipReasonExplanation = "ExperienceEngine found a usable match but withheld it for holdout evaluation.";
705
+ }
706
+ else {
707
+ scorecard.skipReasonCode = "shadow_suppressed";
708
+ scorecard.skipReasonExplanation = "ExperienceEngine found a usable match but shadow mode suppressed prompt delivery.";
709
+ }
710
+ }
951
711
  const injectionEvent = {
952
712
  injection_id: createId(decision.mode === "skip" ? "decision" : "inject"),
953
713
  episode_id: episodeId,
@@ -1009,14 +769,18 @@ export class ExperienceRuntimeService {
1009
769
  async finalizeTask(context) {
1010
770
  const sessionId = context.sessionId ?? "global";
1011
771
  const session = this.getSession(sessionId);
1012
- const input = this.buildFinalizedInput(context, session);
772
+ const input = this.taskFinalization.buildFinalizedInput(context, session);
1013
773
  let learningTaskContext;
1014
774
  withTransaction(this.db, () => {
1015
775
  const episodeId = resolveEpisodeId(session, sessionId, input);
1016
- const record = this.persistFinalizedInput(input, sessionId, session, episodeId, context.cwd);
1017
- const taskRun = toTaskRun(input, sessionId, context, episodeId);
1018
- this.taskRunRepo.upsert(taskRun);
1019
- this.outcomeRepo.upsert(toOutcomeRecord(taskRun, input, episodeId));
776
+ const { record, taskRun } = this.taskFinalization.persistFinalizedRun({
777
+ experienceInput: input,
778
+ sessionId,
779
+ session,
780
+ episodeId,
781
+ context,
782
+ cwd: context.cwd
783
+ });
1020
784
  const injectionEvent = session.lastInjectionEvent ?? this.injectionRepo.getLatestBySessionId(sessionId);
1021
785
  this.updateInjectedNodes(input, record.record_id, taskRun.id, injectionEvent, episodeId);
1022
786
  if (injectionEvent) {
@@ -1 +1 @@
1
- {"version":3,"file":"service.js","sourceRoot":"","sources":["../../src/runtime/service.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"service.js","sourceRoot":"","sources":["../../src/runtime/service.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,qBAAqB,EAAE,MAAM,kCAAkC,CAAC;AACzE,OAAO,EAAE,uBAAuB,EAAE,MAAM,sCAAsC,CAAC;AAC/E,OAAO,EAAE,gCAAgC,EAAE,MAAM,sCAAsC,CAAC;AACxF,OAAO,EAAE,aAAa,EAAE,MAAM,iCAAiC,CAAC;AAChE,OAAO,EAAE,UAAU,EAAE,MAAM,8BAA8B,CAAC;AAC1D,OAAO,EAAE,oBAAoB,EAAE,MAAM,2BAA2B,CAAC;AACjE,OAAO,EAAE,qBAAqB,EAAE,MAAM,oCAAoC,CAAC;AAC3E,OAAO,EAAE,YAAY,EAAE,MAAM,4BAA4B,CAAC;AAC1D,OAAO,EAAE,kBAAkB,EAAE,MAAM,0CAA0C,CAAC;AAC9E,OAAO,EAAE,kBAAkB,EAAE,MAAM,gCAAgC,CAAC;AACpE,OAAO,EAAE,kBAAkB,EAAE,MAAM,iCAAiC,CAAC;AACrE,OAAO,EACL,yBAAyB,EACzB,8BAA8B,EAC/B,MAAM,uDAAuD,CAAC;AAC/D,OAAO,EAAE,kBAAkB,EAAE,MAAM,yCAAyC,CAAC;AAC7E,OAAO,EAAE,yBAAyB,EAAE,MAAM,sBAAsB,CAAC;AACjE,OAAO,EAAE,iBAAiB,EAAqD,MAAM,qBAAqB,CAAC;AAC3G,OAAO,EAAE,MAAM,EAAE,MAAM,mBAAmB,CAAC;AAC3C,OAAO,EAAE,QAAQ,EAAE,QAAQ,EAAE,MAAM,iBAAiB,CAAC;AAmBrD,OAAO,EAAE,iBAAiB,EAAE,YAAY,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAC;AACzF,OAAO,EAAE,mBAAmB,EAAE,MAAM,gDAAgD,CAAC;AACrF,OAAO,EAAE,yBAAyB,EAAE,MAAM,uDAAuD,CAAC;AAClG,OAAO,EAAE,qBAAqB,EAAE,MAAM,mDAAmD,CAAC;AAC1F,OAAO,EAAE,cAAc,EAAE,MAAM,2CAA2C,CAAC;AAC3E,OAAO,EAAE,uBAAuB,EAAE,MAAM,qDAAqD,CAAC;AAC9F,OAAO,EAAE,qBAAqB,EAAE,MAAM,mDAAmD,CAAC;AAC1F,OAAO,EAAE,eAAe,EAAE,MAAM,4CAA4C,CAAC;AAC7E,OAAO,EAAE,eAAe,EAAE,MAAM,4CAA4C,CAAC;AAC7E,OAAO,EAAE,iBAAiB,EAAE,MAAM,+CAA+C,CAAC;AAClF,OAAO,EAAE,mBAAmB,EAAE,MAAM,gDAAgD,CAAC;AACrF,OAAO,EAAE,2BAA2B,EAAE,MAAM,yDAAyD,CAAC;AACtG,OAAO,EAAE,oBAAoB,EAAE,MAAM,kDAAkD,CAAC;AACxF,OAAO,EAAE,+BAA+B,EAAE,MAAM,8DAA8D,CAAC;AAC/G,OAAO,EAAE,oBAAoB,EAAE,MAAM,8BAA8B,CAAC;AACpE,OAAO,EAAE,mBAAmB,EAAE,MAAM,wCAAwC,CAAC;AAC7E,OAAO,EAAE,6BAA6B,EAAE,MAAM,8BAA8B,CAAC;AAC7E,OAAO,EAAE,8BAA8B,EAAE,MAAM,6DAA6D,CAAC;AAC7G,OAAO,EAAE,uBAAuB,EAAE,MAAM,gCAAgC,CAAC;AACzE,OAAO,EAAE,YAAY,EAAE,uBAAuB,EAAE,MAAM,gCAAgC,CAAC;AAuBvF,MAAM,mBAAmB,GAAG,KAAK,IAAgE,EAAE,CACjG,MAAM,CAAC,kCAAkC,CAAC,CAAC;AAE7C,MAAM,2BAA2B,GAAG,KAAK,IAA+D,EAAE,CACxG,MAAM,CAAC,iCAAiC,CAAC,CAAC;AAE5C,MAAM,4BAA4B,GAAG,KAAK,IAA0D,EAAE,CACpG,MAAM,CAAC,4BAA4B,CAAC,CAAC;AAEvC,MAAM,wBAAwB,GAAG,KAAK,IAA4D,EAAE,CAClG,MAAM,CAAC,8BAA8B,CAAC,CAAC;AAEzC,MAAM,kCAAkC,GAAG,KAAK,IAAuE,EAAE,CACvH,MAAM,CAAC,yCAAyC,CAAC,CAAC;AAWpD,MAAM,gBAAgB,GAAG,CAAC,OAAqB,EAAE,SAAiB,EAAE,KAAyD,EAAU,EAAE;IACvI,OAAO,CAAC,SAAS,KAAK,QAAQ,CAAC,SAAS,EAAE,GAAG,SAAS,IAAI,KAAK,CAAC,QAAQ,IAAI,KAAK,CAAC,YAAY,EAAE,CAAC,CAAC;IAClG,OAAO,OAAO,CAAC,SAAS,CAAC;AAC3B,CAAC,CAAC;AAEF,MAAM,iBAAiB,GAAG,CAAC,SAAoB,EAAE,UAAmB,EAAU,EAAE,CAC9E,UAAU;IACV;QACE,SAAS,CAAC,SAAS;QACnB,SAAS,CAAC,MAAM;QAChB,SAAS,CAAC,SAAS,IAAI,EAAE;QACzB,SAAS,CAAC,eAAe,IAAI,EAAE;QAC/B,SAAS,CAAC,cAAc,IAAI,EAAE;QAC9B,SAAS,CAAC,QAAQ,IAAI,EAAE;KACzB,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;AAEd,MAAM,oBAAoB,GAAG,CAAC,SAAiB,EAAE,WAAmB,EAAU,EAAE;IAC9E,MAAM,KAAK,GAAG,GAAG,SAAS,IAAI,WAAW,EAAE,CAAC;IAC5C,IAAI,IAAI,GAAG,CAAC,CAAC;IACb,KAAK,IAAI,KAAK,GAAG,CAAC,EAAE,KAAK,GAAG,KAAK,CAAC,MAAM,EAAE,KAAK,IAAI,CAAC,EAAE,CAAC;QACrD,IAAI,GAAG,CAAC,IAAI,GAAG,EAAE,GAAG,KAAK,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC,KAAK,CAAC,CAAC;IACrD,CAAC;IACD,OAAO,CAAC,IAAI,GAAG,MAAM,CAAC,GAAG,MAAM,CAAC;AAClC,CAAC,CAAC;AAEF,MAAM,mBAAmB,GAAG,CAC1B,cAAwD,EACxD,WAAmB,EACnB,SAAiB,EACjB,WAAmB,EACnB,YAAqB,EAIrB,EAAE;IACF,IAAI,CAAC,YAAY,EAAE,CAAC;QAClB,OAAO;YACL,YAAY,EAAE,cAAc;YAC5B,SAAS,EAAE,KAAK;SACjB,CAAC;IACJ,CAAC;IAED,IAAI,cAAc,KAAK,QAAQ,EAAE,CAAC;QAChC,OAAO;YACL,YAAY,EAAE,QAAQ;YACtB,SAAS,EAAE,KAAK;SACjB,CAAC;IACJ,CAAC;IAED,IAAI,cAAc,KAAK,SAAS,EAAE,CAAC;QACjC,OAAO;YACL,YAAY,EAAE,SAAS;YACvB,SAAS,EAAE,oBAAoB,CAAC,SAAS,EAAE,WAAW,CAAC,IAAI,WAAW;SACvE,CAAC;IACJ,CAAC;IAED,OAAO;QACL,YAAY,EAAE,MAAM;QACpB,SAAS,EAAE,IAAI;KAChB,CAAC;AACJ,CAAC,CAAC;AAEF,MAAM,0BAA0B,GAAG,kHAAkH,CAAC;AAEtJ,MAAM,+BAA+B,GAAG,CAAC,KAAgE,EAAW,EAAE,CACpH,0BAA0B,CAAC,IAAI,CAAC,GAAG,KAAK,CAAC,YAAY,IAAI,KAAK,CAAC,eAAe,IAAI,EAAE,EAAE,CAAC,CAAC;AAE1F,MAAM,CAAC,MAAM,yBAAyB,GAAG,CACvC,MAGC,EACD,KAAgE,EAChE,OAAqI,EACrI,aAAqB,KAAK,CAAC,YAAY,EAClB,EAAE;IACvB,MAAM,OAAO,GAAG,yBAAyB,CAAC,MAAM,EAAE,UAAU,CAAC,CAAC;IAC9D,OAAO,iBAAiB,CACtB;QACE,GAAG,OAAO;QACV,0BAA0B,EAAE,KAAK;QACjC,gCAAgC,EAAE,KAAK;QACvC,yBAAyB,EAAE,OAAO,CAAC,yBAAyB,IAAI,+BAA+B,CAAC,KAAK,CAAC;QACtG,4BAA4B,EAAE,MAAM,CAAC,4BAA4B,IAAI,OAAO,CAAC,YAAY;KAC1F,EACD;QACE,OAAO,EAAE,MAAM,CAAC,aAAa,IAAI,OAAO,CAAC,YAAY;QACrD,kBAAkB,EAAE,KAAK;QACzB,sBAAsB,EAAE,MAAM,CAAC,4BAA4B,IAAI,OAAO,CAAC,YAAY;QACnF,aAAa,EAAE,MAAM,CAAC,wBAAwB;KAC/C,CACF,CAAC;AACJ,CAAC,CAAC;AAEF,MAAM,OAAO,wBAAwB;IA+BxB;IA9BM,EAAE,CAAC;IACH,MAAM,CAAiB;IACvB,QAAQ,GAAG,IAAI,GAAG,EAAwB,CAAC;IAC3C,gBAAgB,GAAG,IAAI,GAAG,EAAqB,CAAC;IAChD,SAAS,CAAC;IACV,SAAS,CAAC;IACV,QAAQ,CAAC;IACT,aAAa,CAAC;IACd,OAAO,CAAC;IACR,WAAW,CAAC;IACZ,WAAW,CAAC;IACZ,eAAe,CAAC;IAChB,SAAS,CAAC;IACV,aAAa,CAAC;IACd,qBAAqB,CAAC;IACtB,cAAc,CAAC;IACf,wBAAwB,CAAC;IACzB,eAAe,CAAC;IAChB,gBAAgB,CAAC;IACjB,gBAAgB,CAAC;IACjB,cAAc,CAAkC;IAChD,yBAAyB,CAAU;IACnC,qBAAqB,CAAU;IACxC,yBAAyB,CAA+C;IACxE,mBAAmB,CAAuC;IAC1D,yBAAyB,CAA0C;IAC1D,oBAAoB,GAAG,IAAI,GAAG,EAAiB,CAAC;IACxD,aAAa,CAAC;IAEvB,YACW,MAA8B,EACvC,MAAuB,EACvB,iBAAkD,EAAE;QAF3C,WAAM,GAAN,MAAM,CAAwB;QAIvC,IAAI,CAAC,cAAc,GAAG,cAAc,CAAC;QACrC,IAAI,CAAC,yBAAyB,GAAG,CAAC,cAAc,CAAC,yBAAyB,CAAC;QAC3E,IAAI,CAAC,qBAAqB,GAAG,CAAC,cAAc,CAAC,qBAAqB,CAAC;QACnE,IAAI,CAAC,MAAM,GAAG,MAAM,IAAI,EAAE,CAAC;QAC3B,IAAI,CAAC,EAAE,GAAG,YAAY,CAAC,MAAM,CAAC,CAAC;QAC/B,iBAAiB,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QAC3B,IAAI,CAAC,SAAS,GAAG,IAAI,eAAe,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QAC9C,IAAI,CAAC,SAAS,GAAG,IAAI,qBAAqB,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QACpD,IAAI,CAAC,QAAQ,GAAG,IAAI,cAAc,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QAC5C,IAAI,CAAC,aAAa,GAAG,IAAI,mBAAmB,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QACtD,IAAI,CAAC,OAAO,GAAG,IAAI,yBAAyB,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QACtD,IAAI,CAAC,WAAW,GAAG,IAAI,iBAAiB,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QAClD,IAAI,CAAC,WAAW,GAAG,IAAI,uBAAuB,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QACxD,IAAI,CAAC,eAAe,GAAG,IAAI,qBAAqB,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QAC1D,IAAI,CAAC,SAAS,GAAG,IAAI,eAAe,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QAC9C,IAAI,CAAC,aAAa,GAAG,IAAI,mBAAmB,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QACtD,IAAI,CAAC,qBAAqB,GAAG,IAAI,2BAA2B,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QACtE,IAAI,CAAC,cAAc,GAAG,IAAI,oBAAoB,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QACxD,IAAI,CAAC,wBAAwB,GAAG,IAAI,8BAA8B,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QAC5E,IAAI,CAAC,eAAe,GAAG,IAAI,+BAA+B,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QACpE,IAAI,CAAC,gBAAgB,GAAG,IAAI,uBAAuB,CAAC;YAClD,MAAM,EAAE,IAAI,CAAC,MAAM;YACnB,EAAE,EAAE,IAAI,CAAC,EAAE;YACX,aAAa,EAAE,IAAI,CAAC,aAAa;YACjC,OAAO,EAAE,IAAI,CAAC,OAAO;YACrB,WAAW,EAAE,IAAI,CAAC,WAAW;YAC7B,MAAM,EAAE,IAAI,CAAC,MAAM;YACnB,eAAe,EAAE,GAAG,EAAE,CAAC,IAAI,CAAC,eAAe,EAAE;YAC7C,qBAAqB,EAAE,GAAG,EAAE,CAAC,IAAI,CAAC,qBAAqB,EAAE;SAC1D,CAAC,CAAC;QACH,IAAI,CAAC,gBAAgB,GAAG,IAAI,uBAAuB,CAAC;YAClD,SAAS,EAAE,IAAI,CAAC,SAAS;YACzB,SAAS,EAAE,IAAI,CAAC,SAAS;YACzB,WAAW,EAAE,IAAI,CAAC,WAAW;YAC7B,WAAW,EAAE,IAAI,CAAC,WAAW;YAC7B,SAAS,EAAE,IAAI,CAAC,SAAS;SAC1B,CAAC,CAAC;QACH,IAAI,CAAC,aAAa,GAAG,IAAI,oBAAoB,CAAC,MAAM,EAAE,IAAI,CAAC,MAAM,CAAC,CAAC;IACrE,CAAC;IAEO,UAAU,CAAC,SAAiB;QAClC,MAAM,QAAQ,GAAG,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;QAC9C,IAAI,QAAQ,EAAE,CAAC;YACb,OAAO,QAAQ,CAAC;QAClB,CAAC;QAED,MAAM,IAAI,GAAiB;YACzB,UAAU,EAAE,EAAE;YACd,aAAa,EAAE,IAAI,GAAG,EAAU;YAChC,eAAe,EAAE,EAAE;SACpB,CAAC;QACF,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,SAAS,EAAE,IAAI,CAAC,CAAC;QACnC,OAAO,IAAI,CAAC;IACd,CAAC;IAEO,eAAe,CAAC,SAAiB,EAAE,SAAoB,EAAE,UAAmB;QAClF,MAAM,OAAO,GAAG,IAAI,CAAC,UAAU,CAAC,SAAS,CAAC,CAAC;QAC3C,MAAM,GAAG,GAAG,iBAAiB,CAAC,SAAS,EAAE,UAAU,CAAC,CAAC;QAErD,IAAI,OAAO,CAAC,aAAa,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC;YACnC,OAAO;QACT,CAAC;QAED,OAAO,CAAC,aAAa,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;QAC/B,OAAO,CAAC,UAAU,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;IACrC,CAAC;IAED,mEAAmE;IAC3D,gCAAgC,CAAC,OAAe;QACtD,OAAO,IAAI,CAAC,QAAQ,CAAC,8BAA8B,CAAC,OAAO,CAAC,CAAC;IAC/D,CAAC;IAEO,uCAAuC,CAAC,OAAe;QAC7D,OAAO,IAAI,CAAC,QAAQ,CAAC,oCAAoC,CAAC,OAAO,CAAC,CAAC;IACrE,CAAC;IAEO,2BAA2B,CAAC,OAAe;QACjD,OAAO,IAAI,CAAC,QAAQ,CAAC,oCAAoC,CAAC,OAAO,CAAC,CAAC;IACrE,CAAC;IAED,iBAAiB,CAAC,SAAiB,EAAE,OAAgB;QACnD,KAAK,MAAM,UAAU,IAAI,6BAA6B,CAAC,OAAO,CAAC,EAAE,CAAC;YAChE,MAAM,cAAc,GAAG,UAAU,CAAC,UAAU;gBAC1C,CAAC,CAAC,IAAI,CAAC,gBAAgB,CAAC,GAAG,CAAC,UAAU,CAAC,UAAU,CAAC;gBAClD,CAAC,CAAC,SAAS,CAAC;YACd,MAAM,SAAS,GAAG,cAAc,IAAI,mBAAmB,CAAC,UAAU,CAAC,CAAC;YACpE,IAAI,CAAC,eAAe,CAAC,SAAS,EAAE,SAAS,EAAE,UAAU,CAAC,UAAU,CAAC,CAAC;YAElE,IAAI,UAAU,CAAC,UAAU,EAAE,CAAC;gBAC1B,IAAI,CAAC,gBAAgB,CAAC,MAAM,CAAC,UAAU,CAAC,UAAU,CAAC,CAAC;YACtD,CAAC;QACH,CAAC;IACH,CAAC;IAEO,iBAAiB,CAAC,IAAmB;QAC3C,MAAM,OAAO,GAAG,IAAI;aACjB,KAAK,CAAC,CAAC,KAAK,EAAE,EAAE;YACf,IAAI,CAAC,MAAM,CAAC,KAAK,EAAE,CAAC,kCAAkC,EAAE;gBACtD,KAAK,EAAE,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC;aAC9D,CAAC,CAAC;QACL,CAAC,CAAC;aACD,OAAO,CAAC,GAAG,EAAE;YACZ,IAAI,CAAC,oBAAoB,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;QAC5C,CAAC,CAAC,CAAC;QACL,IAAI,CAAC,oBAAoB,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;IACzC,CAAC;IAED,KAAK,CAAC,yBAAyB;QAC7B,MAAM,OAAO,CAAC,UAAU,CAAC,CAAC,GAAG,IAAI,CAAC,oBAAoB,CAAC,CAAC,CAAC;IAC3D,CAAC;IAEO,KAAK,CAAC,eAAe;QAC3B,IAAI,CAAC,IAAI,CAAC,yBAAyB,EAAE,CAAC;YACpC,OAAO,SAAS,CAAC;QACnB,CAAC;QACD,IAAI,CAAC,mBAAmB,KAAK,mBAAmB,EAAE,CAAC,IAAI,CACrD,CAAC,EAAE,eAAe,EAAE,qBAAqB,EAAE,EAAE,EAAE,CAAC,IAAI,qBAAqB,CAAC,IAAI,CAAC,MAAM,EAAE,IAAI,CAAC,cAAc,CAAC,CAC5G,CAAC;QACF,OAAO,IAAI,CAAC,mBAAmB,CAAC;IAClC,CAAC;IAEO,KAAK,CAAC,qBAAqB;QACjC,IAAI,CAAC,IAAI,CAAC,yBAAyB,EAAE,CAAC;YACpC,OAAO,SAAS,CAAC;QACnB,CAAC;QACD,IAAI,CAAC,yBAAyB,KAAK,2BAA2B,EAAE,CAAC,IAAI,CACnE,CAAC,EAAE,uBAAuB,EAAE,6BAA6B,EAAE,EAAE,EAAE,CAC7D,IAAI,6BAA6B,CAC/B,IAAI,CAAC,MAAM,EACX,IAAI,CAAC,aAAa,EAClB,IAAI,CAAC,OAAO,EACZ,IAAI,CAAC,QAAQ,EACb,IAAI,CAAC,cAAc,CACpB,CACJ,CAAC;QACF,OAAO,IAAI,CAAC,yBAAyB,CAAC;IACxC,CAAC;IAEO,KAAK,CAAC,qBAAqB;QACjC,IAAI,CAAC,IAAI,CAAC,qBAAqB,EAAE,CAAC;YAChC,OAAO,SAAS,CAAC;QACnB,CAAC;QACD,IAAI,CAAC,yBAAyB,KAAK,4BAA4B,EAAE,CAAC,IAAI,CACpE,CAAC,EAAE,kBAAkB,EAAE,wBAAwB,EAAE,EAAE,EAAE,CACnD,IAAI,wBAAwB,CAAC;YAC3B,sBAAsB,EAAE,IAAI,CAAC,MAAM,CAAC,aAAa,IAAI,IAAI,CAAC,MAAM,CAAC,wBAAwB;YACzF,uBAAuB,EAAE,IAAI,CAAC,MAAM,CAAC,aAAa,IAAI,IAAI,CAAC,MAAM,CAAC,4BAA4B;YAC9F,0BAA0B,EACxB,IAAI,CAAC,MAAM,CAAC,aAAa;mBACtB,IAAI,CAAC,MAAM,CAAC,4BAA4B;mBACxC,IAAI,CAAC,MAAM,CAAC,+BAA+B;YAChD,GAAG,IAAI,CAAC,cAAc,CAAC,yBAAyB;SACjD,CAAC,CACL,CAAC;QACF,OAAO,IAAI,CAAC,yBAAyB,CAAC;IACxC,CAAC;IAEO,uBAAuB,CAAC,KAI/B;QACC,MAAM,SAAS,GAAG,MAAM,EAAE,CAAC;QAC3B,OAAO;YACL,EAAE,EAAE,QAAQ,CAAC,cAAc,CAAC;YAC5B,WAAW,EAAE,KAAK,CAAC,OAAO,CAAC,EAAE;YAC7B,QAAQ,EAAE,KAAK,CAAC,OAAO,CAAC,QAAQ;YAChC,WAAW,EAAE,mBAAmB;YAChC,cAAc,EACZ,KAAK,CAAC,MAAM,CAAC,aAAa,KAAK,cAAc,CAAC,CAAC,CAAC,cAAc,CAAC,CAAC,CAAC,iBAAiB;YACpF,cAAc,EAAE,IAAI,CAAC,MAAM,CAAC,0BAA0B;YACtD,oBAAoB,EAAE,KAAK,CAAC,aAAa,CAAC,aAAa;YACvD,sBAAsB,EAAE,IAAI,CAAC,MAAM,CAAC,oCAAoC;YACxE,cAAc,EAAE,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,wBAAwB;YAC3D,OAAO,EAAE,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,eAAe,EAAE,OAAO,IAAI,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,MAAM;YACjF,OAAO,EAAE,KAAK,CAAC,MAAM,CAAC,KAA2C;YACjE,UAAU,EAAE,SAAS;YACrB,UAAU,EAAE,SAAS;SACtB,CAAC;IACJ,CAAC;IAEO,qCAAqC,CAC3C,IAAoB,EACpB,cAAsE;QAEtE,IAAI,cAAc,KAAK,MAAM,IAAI,cAAc,KAAK,QAAQ,EAAE,CAAC;YAC7D,OAAO,IAAI,CAAC;QACd,CAAC;QAED,IAAI,cAAc,KAAK,YAAY,EAAE,CAAC;YACpC,OAAO;gBACL,GAAG,IAAI;gBACP,cAAc,EAAE,aAAa;gBAC7B,cAAc,EAAE,IAAI,CAAC,cAAc,IAAI,MAAM,EAAE;gBAC/C,iBAAiB,EAAE,IAAI,CAAC,iBAAiB,IAAI,mBAAmB;aACjE,CAAC;QACJ,CAAC;QAED,IAAI,IAAI,CAAC,cAAc,KAAK,aAAa,EAAE,CAAC;YAC1C,OAAO,IAAI,CAAC;QACd,CAAC;QAED,OAAO;YACL,GAAG,IAAI;YACP,cAAc,EAAE,IAAI,CAAC,cAAc,KAAK,aAAa,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC,mBAAmB;SAC5F,CAAC;IACJ,CAAC;IAEO,kCAAkC,CAAC,KAI1C;QACC,MAAM,OAAO,GAAG,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,qBAAqB,IAAI,EAAE,CAAC;QAC/D,IAAI,CAAC,OAAO,CAAC,MAAM,IAAI,KAAK,CAAC,OAAO,CAAC,YAAY,KAAK,WAAW,EAAE,CAAC;YAClE,OAAO,KAAK,CAAC;QACf,CAAC;QAED,MAAM,UAAU,GAAG,IAAI,GAAG,CAAC,KAAK,CAAC,eAAe,CAAC,iBAAiB,CAAC,CAAC;QACpE,MAAM,cAAc,GAAG,IAAI,CAAC,eAAe,CAAC,eAAe,CAAC,KAAK,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;QAC9E,IAAI,OAAO,GAAG,KAAK,CAAC;QAEpB,KAAK,MAAM,MAAM,IAAI,OAAO,EAAE,CAAC;YAC7B,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,MAAM,CAAC,OAAO,CAAC,IAAI,MAAM,CAAC,UAAU,KAAK,KAAK,EAAE,CAAC;gBACnE,SAAS;YACX,CAAC;YAED,MAAM,OAAO,GAAG,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;YACtD,IAAI,CAAC,OAAO,EAAE,CAAC;gBACb,SAAS;YACX,CAAC;YAED,MAAM,kBAAkB,GAAG,cAAc,CAAC,MAAM,CAC9C,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,OAAO,KAAK,MAAM,CAAC,OAAO,IAAI,KAAK,CAAC,MAAM,KAAK,WAAW,CAC5E,CAAC;YACF,MAAM,mBAAmB,GAAG,kBAAkB,CAAC,IAAI,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,UAAU,KAAK,aAAa,CAAC,CAAC;YACnG,MAAM,mBAAmB,GAAG,kBAAkB,CAAC,IAAI,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,UAAU,KAAK,aAAa,CAAC,CAAC;YAEnG,IAAI,QAAQ,GAAG,OAAO,CAAC;YACvB,IAAI,iBAA4D,CAAC;YAEjE,IAAI,MAAM,CAAC,gBAAgB,KAAK,QAAQ,IAAI,CAAC,mBAAmB,EAAE,CAAC;gBACjE,QAAQ,GAAG,yBAAyB,CAClC,QAAQ,EACR,QAAQ,EACR,8BAA8B,CAAC,IAAI,CAAC,SAAS,EAAE,QAAQ,CAAC,CACzD,CAAC;gBACF,iBAAiB,GAAG,aAAa,CAAC;YACpC,CAAC;iBAAM,IAAI,MAAM,CAAC,gBAAgB,KAAK,QAAQ,IAAI,CAAC,mBAAmB,EAAE,CAAC;gBACxE,QAAQ,GAAG,yBAAyB,CAClC,QAAQ,EACR,QAAQ,EACR,8BAA8B,CAAC,IAAI,CAAC,SAAS,EAAE,QAAQ,CAAC,CACzD,CAAC;gBACF,iBAAiB,GAAG,aAAa,CAAC;YACpC,CAAC;YAED,MAAM,iBAAiB,GAAG,IAAI,CAAC,qCAAqC,CAClE,QAAQ,EACR,MAAM,CAAC,uBAAuB,CAC/B,CAAC;YAEF,IACE,iBAAiB;mBACd,iBAAiB,CAAC,cAAc,KAAK,OAAO,CAAC,cAAc;mBAC3D,iBAAiB,CAAC,KAAK,KAAK,OAAO,CAAC,KAAK;mBACzC,iBAAiB,CAAC,YAAY,KAAK,OAAO,CAAC,YAAY;mBACvD,iBAAiB,CAAC,YAAY,KAAK,OAAO,CAAC,YAAY;mBACvD,iBAAiB,CAAC,qBAAqB,KAAK,OAAO,CAAC,qBAAqB,EAC5E,CAAC;gBACD,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,iBAAiB,CAAC,CAAC;gBACxC,OAAO,GAAG,IAAI,CAAC;YACjB,CAAC;YAED,IAAI,iBAAiB,EAAE,CAAC;gBACtB,IAAI,CAAC,eAAe,CAAC,MAAM,CAAC;oBAC1B,EAAE,EAAE,QAAQ,CAAC,QAAQ,CAAC;oBACtB,UAAU,EAAE,KAAK,CAAC,OAAO,CAAC,UAAU;oBACpC,OAAO,EAAE,MAAM,CAAC,OAAO;oBACvB,WAAW,EAAE,KAAK,CAAC,OAAO,CAAC,EAAE;oBAC7B,UAAU,EAAE,iBAAiB;oBAC7B,MAAM,EAAE,WAAW;oBACnB,UAAU,EAAE,MAAM,EAAE;iBACrB,CAAC,CAAC;YACL,CAAC;YACD,IAAI,OAAO,CAAC,cAAc,KAAK,aAAa,IAAI,iBAAiB,CAAC,cAAc,KAAK,aAAa,EAAE,CAAC;gBACnG,IAAI,CAAC,eAAe,CAAC,MAAM,CAAC;oBAC1B,EAAE,EAAE,QAAQ,CAAC,QAAQ,CAAC;oBACtB,UAAU,EAAE,KAAK,CAAC,OAAO,CAAC,UAAU;oBACpC,OAAO,EAAE,MAAM,CAAC,OAAO;oBACvB,WAAW,EAAE,KAAK,CAAC,OAAO,CAAC,EAAE;oBAC7B,UAAU,EAAE,YAAY;oBACxB,MAAM,EAAE,WAAW;oBACnB,UAAU,EAAE,MAAM,EAAE;iBACrB,CAAC,CAAC;YACL,CAAC;QACH,CAAC;QAED,OAAO,OAAO,CAAC;IACjB,CAAC;IAEO,KAAK,CAAC,oCAAoC,CAAC,KAOlD;QACC,IAAI,CAAC,IAAI,CAAC,qBAAqB,EAAE,CAAC;YAChC,OAAO;QACT,CAAC;QACD,IAAI,IAAI,CAAC,wBAAwB,CAAC,cAAc,CAAC,KAAK,CAAC,OAAO,CAAC,EAAE,CAAC,EAAE,CAAC;YACnE,OAAO;QACT,CAAC;QAED,MAAM,kBAAkB,GAAG,MAAM,IAAI,CAAC,qBAAqB,EAAE,CAAC;QAC9D,IAAI,CAAC,kBAAkB,EAAE,CAAC;YACxB,OAAO;QACT,CAAC;QAED,MAAM,gBAAgB,GAAG,qBAAqB,CAAC,KAAK,CAAC,eAAe,CAAC,CAAC;QACtE,MAAM,CAAC,EAAE,4BAA4B,EAAE,EAAE,EAAE,uCAAuC,EAAE,CAAC,GAAG,MAAM,OAAO,CAAC,GAAG,CAAC;YACxG,wBAAwB,EAAE;YAC1B,kCAAkC,EAAE;SACrC,CAAC,CAAC;QACH,MAAM,OAAO,GAA4B,4BAA4B,CAAC;YACpE,aAAa,EAAE,IAAI,CAAC,MAAM,CAAC,0BAA0B;YACrD,aAAa,EAAE,KAAK,CAAC,aAAa;YAClC,OAAO,EAAE,KAAK,CAAC,OAAO;YACtB,aAAa,EAAE,KAAK,CAAC,eAAe,CAAC,cAAc;YACnD,QAAQ,EAAE;gBACR,4BAA4B,EAC1B,gBAAgB,CAAC,sBAAsB,EAAE,QAAQ,KAAK,IAAI;uBACvD,gBAAgB,CAAC,wBAAwB,EAAE,QAAQ,KAAK,IAAI;gBACjE,8BAA8B,EAAE,KAAK,CAAC,eAAe,CAAC,iBAAiB,CAAC,MAAM,GAAG,CAAC;gBAClF,mCAAmC,EACjC,gBAAgB,CAAC,WAAW,GAAG,CAAC,IAAI,gBAAgB,CAAC,wBAAwB,EAAE,qBAAqB,KAAK,IAAI;gBAC/G,iCAAiC,EAAE,OAAO,CAAC,gBAAgB,CAAC,iBAAiB,CAAC;gBAC9E,kCAAkC,EAChC,KAAK,CAAC,eAAe,CAAC,cAAc,KAAK,SAAS,IAAI,KAAK,CAAC,eAAe,CAAC,iBAAiB,CAAC,MAAM,GAAG,CAAC;aAC3G;YACD,aAAa,EAAE,KAAK,CAAC,eAAe,CAAC,iBAAiB;iBACnD,GAAG,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;iBACtC,MAAM,CAAC,CAAC,IAAI,EAA0B,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;YAC1D,UAAU,EAAE,KAAK,CAAC,UAAU;SAC7B,CAAC,CAAC;QAEH,MAAM,kBAAkB,GAAG,IAAI,CAAC,MAAM,CAAC,+BAA+B;YACpE,CAAC,CAAC,uCAAuC,CAAC,IAAI,CAAC,MAAM,CAAC;YACtD,CAAC,CAAC,EAAE,MAAM,EAAE,UAAmB,EAAE,MAAM,EAAE,wDAAwD,EAAE,CAAC;QACtG,MAAM,MAAM,GACV,IAAI,CAAC,MAAM,CAAC,+BAA+B,IAAI,kBAAkB,CAAC,MAAM,KAAK,aAAa;YACxF,CAAC,CAAE;gBACC,MAAM,EAAE,UAAU;gBAClB,MAAM,EAAE,sBAAsB;aACrB;YACb,CAAC,CAAC,MAAM,kBAAkB,CAAC,mBAAmB,CAC1C,OAAO,EACP,kBAAkB,CAAC,MAAM,KAAK,YAAY;gBACxC,CAAC,CAAC;oBACE,IAAI,EAAE,UAAU;oBAChB,QAAQ,EAAE,kBAAkB,CAAC,QAAQ;iBACtC;gBACH,CAAC,CAAC,SAAS,CACd,CAAC;QACR,MAAM,SAAS,GAAG,MAAM,EAAE,CAAC;QAC3B,MAAM,uBAAuB,GAC3B,MAAM,CAAC,MAAM,KAAK,UAAU;eACzB,KAAK,CAAC,WAAW,KAAK,QAAQ;eAC9B,CAAC,MAAM,CAAC,aAAa,KAAK,iBAAiB,IAAI,MAAM,CAAC,aAAa,KAAK,cAAc,CAAC,CAAC;QAC7F,MAAM,oBAAoB,GACxB,MAAM,CAAC,MAAM,KAAK,UAAU,IAAI,KAAK,CAAC,WAAW,KAAK,QAAQ;YAC5D,CAAC,CAAC,IAAI,CAAC,kCAAkC,CAAC;gBACtC,OAAO,EAAE,KAAK,CAAC,OAAO;gBACtB,eAAe,EAAE,KAAK,CAAC,eAAe;gBACtC,MAAM;aACP,CAAC;YACJ,CAAC,CAAC,KAAK,CAAC;QACZ,IAAI,CAAC,eAAe,CAAC,MAAM,CAAC;YAC1B,EAAE,EAAE,QAAQ,CAAC,aAAa,CAAC;YAC3B,OAAO,EAAE,SAAS;YAClB,UAAU,EAAE,KAAK,CAAC,OAAO,CAAC,UAAU;YACpC,QAAQ,EAAE,KAAK,CAAC,OAAO,CAAC,QAAQ;YAChC,WAAW,EAAE,mBAAmB;YAChC,KAAK,EAAE,KAAK,CAAC,aAAa,CAAC,KAAK;YAChC,oBAAoB,EAAE,KAAK,CAAC,aAAa,CAAC,aAAa;YACvD,sBAAsB,EAAE,IAAI,CAAC,MAAM,CAAC,0BAA0B;YAC9D,sBAAsB,EAAE,IAAI,CAAC,MAAM,CAAC,+BAA+B;gBACjE,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,mCAAmC;gBACjD,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,oCAAoC;YACpD,YAAY,EAAE,KAAK,CAAC,WAAW;YAC/B,cAAc,EAAE,KAAK,CAAC,aAAa;YACnC,UAAU,EAAE,MAAM,CAAC,MAAM,KAAK,UAAU,IAAI,MAAM,CAAC,MAAM,KAAK,sBAAsB;YACpF,iBAAiB,EAAE,MAAM,CAAC,MAAM,KAAK,UAAU,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,UAAU;YACzE,aAAa,EAAE,uBAAuB,IAAI,oBAAoB,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,UAAU;YACtF,eAAe,EAAE,MAAM,CAAC,MAAM,KAAK,UAAU,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,MAAM,CAAC,MAAM;YACzE,UAAU,EAAE,SAAS;SACtB,CAAC,CAAC;QACH,IAAI,MAAM,CAAC,MAAM,KAAK,UAAU,EAAE,CAAC;YACjC,IAAI,CAAC,MAAM,CAAC,KAAK,EAAE,CAAC,4CAA4C,EAAE;gBAChE,SAAS,EAAE,KAAK,CAAC,OAAO,CAAC,EAAE;gBAC3B,MAAM,EAAE,MAAM,CAAC,MAAM;aACtB,CAAC,CAAC;YACH,OAAO;QACT,CAAC;QAED,IAAI,uBAAuB,EAAE,CAAC;YAC5B,IAAI,CAAC,wBAAwB,CAAC,MAAM,CAClC,IAAI,CAAC,uBAAuB,CAAC;gBAC3B,OAAO,EAAE,KAAK,CAAC,OAAO;gBACtB,MAAM;gBACN,aAAa,EAAE,KAAK,CAAC,aAAa;aACnC,CAAC,CACH,CAAC;QACJ,CAAC;IACH,CAAC;IAEO,KAAK,CAAC,sBAAsB,CAClC,KAAsB,EACtB,cAAsB,EACtB,SAAkB,EAClB,SAAkB;QAElB,MAAM,IAAI,CAAC,gBAAgB,CAAC,sBAAsB,CAAC,KAAK,EAAE,cAAc,EAAE,SAAS,EAAE,SAAS,CAAC,CAAC;IAClG,CAAC;IAEO,mBAAmB,CACzB,KAAsB,EACtB,mBAA2B,EAC3B,SAAkB,EAClB,cAA+B,EAC/B,SAAkB;QAElB,IAAI,CAAC,KAAK,CAAC,iBAAiB,CAAC,MAAM,EAAE,CAAC;YACpC,OAAO;QACT,CAAC;QAED,IAAI,cAAc,EAAE,SAAS,EAAE,oBAAoB,KAAK,iBAAiB,IAAI,CAAC,cAAc,CAAC,SAAS,EAAE,CAAC;YACvG,OAAO;QACT,CAAC;QAED,MAAM,OAAO,GAAG,KAAK,CAAC,iBAAiB;aACpC,GAAG,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;aACtC,MAAM,CAAC,CAAC,IAAI,EAA0B,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC;QAE3D,MAAM,eAAe,GAAG,OAAO;aAC5B,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE;YACZ,IAAI,KAAK,CAAC,cAAc,KAAK,SAAS,EAAE,CAAC;gBACvC,OAAO;oBACL,MAAM,EAAE,IAAI,CAAC,EAAE;oBACf,SAAS,EAAE,gBAAyB;iBACrC,CAAC;YACJ,CAAC;YAED,IAAI,UAAU,CAAC,KAAK,EAAE,IAAI,CAAC,EAAE,CAAC;gBAC5B,OAAO;oBACL,MAAM,EAAE,IAAI,CAAC,EAAE;oBACf,SAAS,EAAE,aAAsB;iBAClC,CAAC;YACJ,CAAC;YAED,OAAO,SAAS,CAAC;QACnB,CAAC,CAAC;aACD,MAAM,CACL,CACE,KAAK,EAIL,EAAE,CAAC,OAAO,CAAC,KAAK,CAAC,CACpB,CAAC;QAEJ,MAAM,sBAAsB,GAAG,MAAM,CAAC,WAAW,CAC/C,OAAO,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE;YACnB,OAAO,CAAC,IAAI,CAAC,EAAE,EAAE,8BAA8B,CAAC,IAAI,CAAC,SAAS,EAAE,IAAI,CAAC,CAAC,CAAC;QACzE,CAAC,CAAC,CACH,CAAC;QAEF,MAAM,gBAAgB,GAAG,cAAc,EAAE,SAAS,EAAE,oBAAoB,KAAK,iBAAiB,CAAC;QAC/F,MAAM,qBAAqB,GAAG,IAAI,GAAG,CACnC,gBAAgB;YACd,CAAC,CAAC,EAAE;YACJ,CAAC,CAAC,cAAc,EAAE,SAAS,EAAE,aAAa;gBAC1C,EAAE,MAAM,CAAC,CAAC,SAAS,EAAE,EAAE,CACrB,SAAS,CAAC,cAAc,EAAE,UAAU,KAAK,MAAM;gBAC/C,SAAS,CAAC,cAAc,CAAC,gBAAgB,KAAK,MAAM;gBACpD,SAAS,CAAC,cAAc,CAAC,gBAAgB,CAAC,MAAM,KAAK,CAAC,CACvD;iBACA,GAAG,CAAC,CAAC,SAAS,EAAE,EAAE,CAAC,SAAS,CAAC,EAAE,CAAC,IAAI,EAAE,CAC1C,CAAC;QACF,MAAM,eAAe,GAAa,EAAE,CAAC;QAErC,KAAK,MAAM,IAAI,IAAI,aAAa,CAAC,KAAK,EAAE,OAAO,EAAE,mBAAmB,EAAE,EAAE,sBAAsB,EAAE,CAAC,EAAE,CAAC;YAClG,MAAM,+BAA+B,GACnC,KAAK,CAAC,cAAc,KAAK,SAAS;gBAClC,KAAK,CAAC,QAAQ,KAAK,IAAI,CAAC,QAAQ;gBAChC,qBAAqB,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC;gBAClC,IAAI,CAAC,KAAK,KAAK,oBAAoB;gBACnC,IAAI,CAAC,cAAc,KAAK,mBAAmB;gBAC3C,IAAI,CAAC,YAAY,KAAK,CAAC,CAAC;YAC1B,MAAM,QAAQ,GAAG,+BAA+B;gBAC9C,CAAC,CAAC;oBACE,GAAG,IAAI;oBACP,KAAK,EAAE,QAAiB;oBACxB,cAAc,EAAE,UAAmB;oBACnC,gBAAgB,EAAE,IAAI,CAAC,gBAAgB,IAAI,oBAAoB;oBAC/D,gBAAgB,EAAE,IAAI,CAAC,gBAAgB,IAAI,+BAA+B;iBAC3E;gBACH,CAAC,CAAC,IAAI,CAAC;YACT,IAAI,+BAA+B,EAAE,CAAC;gBACpC,eAAe,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;YAChC,CAAC;YACD,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;QACjC,CAAC;QAED,KAAK,MAAM,KAAK,IAAI,eAAe,EAAE,CAAC;YACpC,IAAI,CAAC,eAAe,CAAC,MAAM,CAAC;gBAC1B,EAAE,EAAE,QAAQ,CAAC,QAAQ,CAAC;gBACtB,UAAU,EAAE,SAAS;gBACrB,OAAO,EAAE,KAAK,CAAC,MAAM;gBACrB,WAAW,EAAE,SAAS;gBACtB,UAAU,EAAE,KAAK,CAAC,SAAS;gBAC3B,MAAM,EAAE,WAAW;gBACnB,UAAU,EAAE,MAAM,EAAE;aACrB,CAAC,CAAC;QACL,CAAC;QAED,KAAK,MAAM,MAAM,IAAI,eAAe,EAAE,CAAC;YACrC,IAAI,CAAC,eAAe,CAAC,MAAM,CAAC;gBAC1B,EAAE,EAAE,QAAQ,CAAC,QAAQ,CAAC;gBACtB,UAAU,EAAE,SAAS;gBACrB,OAAO,EAAE,MAAM;gBACf,WAAW,EAAE,SAAS;gBACtB,UAAU,EAAE,kBAAkB;gBAC9B,MAAM,EAAE,WAAW;gBACnB,UAAU,EAAE,MAAM,EAAE;aACrB,CAAC,CAAC;QACL,CAAC;IACH,CAAC;IAEO,wBAAwB,CAAC,KAAsB,EAAE,IAAoB,EAAE,SAAkB;QAI/F,IAAI,CAAC,SAAS,EAAE,CAAC;YACf,OAAO,EAAE,OAAO,EAAE,SAAS,EAAE,UAAU,EAAE,KAAK,EAAE,CAAC;QACnD,CAAC;QAED,IAAI,KAAK,CAAC,cAAc,KAAK,SAAS,EAAE,CAAC;YACvC,OAAO,EAAE,OAAO,EAAE,aAAa,EAAE,UAAU,EAAE,QAAQ,EAAE,CAAC;QAC1D,CAAC;QAED,IAAI,KAAK,CAAC,cAAc,KAAK,SAAS,EAAE,CAAC;YACvC,IAAI,UAAU,CAAC,KAAK,EAAE,IAAI,CAAC,EAAE,CAAC;gBAC5B,OAAO,EAAE,OAAO,EAAE,eAAe,EAAE,UAAU,EAAE,MAAM,EAAE,CAAC;YAC1D,CAAC;YAED,MAAM,MAAM,GAAG,gCAAgC,CAAC,KAAK,EAAE,IAAI,CAAC,CAAC;YAC7D,IAAI,MAAM,KAAK,kBAAkB,EAAE,CAAC;gBAClC,OAAO,EAAE,OAAO,EAAE,aAAa,EAAE,UAAU,EAAE,QAAQ,EAAE,CAAC;YAC1D,CAAC;YAED,OAAO,EAAE,OAAO,EAAE,SAAS,EAAE,UAAU,EAAE,KAAK,EAAE,CAAC;QACnD,CAAC;QAED,OAAO,EAAE,OAAO,EAAE,SAAS,EAAE,UAAU,EAAE,KAAK,EAAE,CAAC;IACnD,CAAC;IAEO,uBAAuB,CAAC,KAM/B;QACC,MAAM,KAAK,GAAG,KAAK,CAAC,sBAAsB,CAAC;QAC3C,MAAM,YAAY,GAAG,CAAC,KAAK,CAAC,aAAa,EAAE,KAAK,CAAC,SAAS,EAAE,KAAK,CAAC,YAAY,CAAC,CAAC;QAChF,MAAM,eAAe,GAAG,IAAI,GAAG,CAAC,KAAK,CAAC,iBAAiB,CAAC,CAAC;QAEzD,KAAK,MAAM,MAAM,IAAI,eAAe,EAAE,CAAC;YACrC,MAAM,IAAI,GAAG,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;YAC3C,IAAI,CAAC,IAAI,EAAE,CAAC;gBACV,SAAS;YACX,CAAC;YAED,MAAM,WAAW,GAAG,IAAI,CAAC,wBAAwB,CAAC,KAAK,CAAC,eAAe,EAAE,IAAI,EAAE,KAAK,CAAC,SAAS,CAAC,CAAC;YAChG,IAAI,CAAC,qBAAqB,CAAC,MAAM,CAAC;gBAChC,EAAE,EAAE,QAAQ,CAAC,MAAM,EAAE,GAAG,KAAK,CAAC,YAAY,IAAI,MAAM,YAAY,CAAC;gBACjE,YAAY,EAAE,KAAK,CAAC,YAAY;gBAChC,OAAO,EAAE,MAAM;gBACf,UAAU,EAAE,KAAK,CAAC,SAAS;gBAC3B,qBAAqB,EAAE,KAAK,CAAC,SAAS,EAAE,oBAAoB;gBAC5D,cAAc,EAAE,KAAK,CAAC,IAAI;gBAC1B,aAAa,EAAE,KAAK,CAAC,aAAa;gBAClC,SAAS,EAAE,KAAK,CAAC,SAAS;gBAC1B,OAAO,EAAE,KAAK,CAAC,eAAe,CAAC,cAAc;gBAC7C,mBAAmB,EAAE,WAAW,CAAC,OAAO;gBACxC,UAAU,EAAE,WAAW,CAAC,UAAU;gBAClC,aAAa,EAAE,YAAY;gBAC3B,MAAM,EAAE,WAAW;gBACnB,kBAAkB,EAAE,KAAK,CAAC,kBAAkB;gBAC5C,UAAU,EAAE,MAAM,EAAE;gBACpB,WAAW,EAAE,KAAK,CAAC,WAAW;aAC/B,CAAC,CAAC;QACL,CAAC;QAED,MAAM,iBAAiB,GAAG,KAAK,CAAC,SAAS,EAAE,gCAAgC,IAAI,EAAE,CAAC;QAClF,KAAK,MAAM,MAAM,IAAI,iBAAiB,EAAE,CAAC;YACvC,IAAI,eAAe,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC;gBAChC,SAAS;YACX,CAAC;YAED,IAAI,CAAC,qBAAqB,CAAC,MAAM,CAAC;gBAChC,EAAE,EAAE,QAAQ,CAAC,MAAM,EAAE,GAAG,KAAK,CAAC,YAAY,IAAI,MAAM,oBAAoB,CAAC;gBACzE,YAAY,EAAE,KAAK,CAAC,YAAY;gBAChC,OAAO,EAAE,MAAM;gBACf,UAAU,EAAE,KAAK,CAAC,SAAS;gBAC3B,qBAAqB,EAAE,iBAAiB;gBACxC,cAAc,EAAE,KAAK,CAAC,IAAI;gBAC1B,aAAa,EAAE,KAAK,CAAC,aAAa;gBAClC,SAAS,EAAE,KAAK;gBAChB,OAAO,EAAE,KAAK,CAAC,eAAe,CAAC,cAAc;gBAC7C,mBAAmB,EAAE,SAAS;gBAC9B,UAAU,EAAE,KAAK;gBACjB,aAAa,EAAE,YAAY;gBAC3B,MAAM,EAAE,mBAAmB;gBAC3B,kBAAkB,EAAE,mBAAmB;gBACvC,UAAU,EAAE,MAAM,EAAE;gBACpB,WAAW,EAAE,KAAK,CAAC,WAAW;aAC/B,CAAC,CAAC;QACL,CAAC;IACH,CAAC;IAED,KAAK,CAAC,iBAAiB,CAAC,OAA0B;QAChD,MAAM,SAAS,GAAG,OAAO,CAAC,SAAS,IAAI,QAAQ,CAAC;QAChD,MAAM,OAAO,GAAG,IAAI,CAAC,UAAU,CAAC,SAAS,CAAC,CAAC;QAC3C,OAAO,CAAC,OAAO,GAAG,YAAY,CAAC,OAAO,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;QACzD,MAAM,KAAK,GAAG,oBAAoB,CAAC,OAAO,CAAC,OAAO,EAAE,OAAO,CAAC,UAAU,CAAC,CAAC;QACxE,MAAM,gBAAgB,GAAG,qBAAqB,CAAC,KAAK,EAAE,OAAO,CAAC,OAAO,CAAC,CAAC;QACvE,MAAM,aAAa,GAAG,YAAY,CAAC,OAAO,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;QACxD,MAAM,aAAa,GAAG,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,aAAa,CAAC,QAAQ,CAAC,CAAC;QAErE,IAAI,aAAa,EAAE,WAAW,EAAE,CAAC;YAC/B,OAAO,CAAC,eAAe,GAAG,EAAE,CAAC;YAC7B,OAAO,CAAC,OAAO,GAAG;gBAChB,GAAG,OAAO,CAAC,OAAO;gBAClB,eAAe,EAAE,EAAE;aACpB,CAAC;YACF,MAAM,aAAa,GAAG;gBACpB,GAAG,KAAK;gBACR,QAAQ,EAAE,aAAa,CAAC,QAAQ;gBAChC,iBAAiB,EAAE,EAAE;aACtB,CAAC;YACF,MAAM,SAAS,GAAG,kBAAkB,CAAC,aAAa,EAAE,SAAS,EAAE,SAAS,EAAE,IAAI,CAAC,CAAC;YAChF,MAAM,cAAc,GAAmB;gBACrC,YAAY,EAAE,QAAQ,CAAC,UAAU,CAAC;gBAClC,UAAU,EAAE,gBAAgB,CAAC,OAAO,EAAE,SAAS,EAAE,aAAa,CAAC;gBAC/D,UAAU,EAAE,SAAS;gBACrB,QAAQ,EAAE,aAAa,CAAC,QAAQ;gBAChC,SAAS,EAAE,aAAa,CAAC,SAAS,KAAK,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,aAAa,CAAC,SAAS;gBACtF,YAAY,EAAE,aAAa,CAAC,YAAY;gBACxC,IAAI,EAAE,MAAM;gBACZ,aAAa,EAAE,MAAM;gBACrB,SAAS,EAAE,KAAK;gBAChB,iBAAiB,EAAE,EAAE;gBACrB,eAAe,EAAE,CAAC;gBAClB,SAAS;gBACT,cAAc,EAAE,IAAI;gBACpB,aAAa,EAAE,IAAI;gBACnB,UAAU,EAAE,MAAM,EAAE;aACrB,CAAC;YACF,IAAI,CAAC,aAAa,CAAC,MAAM,CAAC,cAAc,CAAC,CAAC;YAC1C,OAAO,CAAC,kBAAkB,GAAG,cAAc,CAAC;YAE5C,IAAI,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC,iCAAiC,EAAE;gBACpD,SAAS;gBACT,OAAO,EAAE,aAAa,CAAC,QAAQ;aAChC,CAAC,CAAC;YAEH,OAAO;gBACL,IAAI,EAAE,MAAe;gBACrB,IAAI,EAAE,SAAS;gBACf,MAAM,EAAE,SAAS;gBACjB,SAAS;gBACT,gBAAgB;gBAChB,KAAK,EAAE,aAAa;aACrB,CAAC;QACJ,CAAC;QAED,MAAM,KAAK,GACT,KAAK,CAAC,SAAS,KAAK,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,KAAK,CAAC,QAAQ,EAAE,KAAK,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;QAClG,MAAM,KAAK,GAAG,KAAK,CAAC,SAAS,KAAK,SAAS;YACzC,CAAC,CAAC;gBACE,GAAG,IAAI,CAAC,gCAAgC,CAAC,KAAK,CAAC,QAAQ,CAAC;gBACxD,GAAG,IAAI,CAAC,uCAAuC,CAAC,KAAK,CAAC,QAAQ,CAAC;gBAC/D,GAAG,IAAI,CAAC,2BAA2B,CAAC,KAAK,CAAC,QAAQ,CAAC;aACpD;YACH,CAAC,CAAC,EAAE,CAAC;QACP,MAAM,kBAAkB,GAAG,IAAI,CAAC,cAAc,CAAC,WAAW,CAAC,KAAK,CAAC,QAAQ,EAAE,IAAI,CAAC,MAAM,CAAC,kBAAkB,CAAC,CAAC;QAC3G,MAAM,oBAAoB,GAAG,kBAAkB,CAC7C,kBAAkB,EAClB,IAAI,CAAC,qBAAqB,CAAC,yBAAyB,CAAC,KAAK,CAAC,QAAQ,CAAC,EACpE,IAAI,CAAC,aAAa,CAAC,yBAAyB,CAAC,KAAK,CAAC,QAAQ,CAAC,CAC7D,CAAC;QACF,IAAI,oBAAoB,CAAC,OAAO,EAAE,CAAC;YACjC,IAAI,CAAC,cAAc,CAAC,MAAM,CAAC,oBAAoB,CAAC,MAAM,CAAC,CAAC;YACxD,IAAI,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC,8CAA8C,EAAE;gBACjE,OAAO,EAAE,KAAK,CAAC,QAAQ;gBACvB,cAAc,EAAE,oBAAoB,CAAC,MAAM,CAAC,eAAe;gBAC3D,aAAa,EAAE,oBAAoB,CAAC,MAAM,CAAC,cAAc;gBACzD,MAAM,EAAE,oBAAoB,CAAC,MAAM,CAAC,cAAc;aACnD,CAAC,CAAC;QACL,CAAC;QACD,MAAM,QAAQ,GAAG,MAAM,kBAAkB,CACvC,KAAK,EACL,KAAK,EACL,KAAK,EACL,IAAI,CAAC,MAAM,CAAC,gBAAgB,EAC5B,IAAI,CAAC,MAAM,CAAC,QAAQ,EACpB,IAAI,CAAC,MAAM,EACX,gBAAgB,EAChB,oBAAoB,CAAC,MAAM,CAC5B,CAAC;QACF,MAAM,SAAS,GAAG,gBAAgB,CAAC,OAAO,EAAE,SAAS,EAAE,KAAK,CAAC,CAAC;QAE9D,MAAM,eAAe,GAAG,QAAQ,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QACjE,MAAM,QAAQ,GAAG,mBAAmB,CAClC,IAAI,CAAC,MAAM,CAAC,cAAc,EAC1B,IAAI,CAAC,MAAM,CAAC,WAAW,EACvB,SAAS,EACT,KAAK,CAAC,YAAY,EAClB,QAAQ,CAAC,IAAI,KAAK,MAAM,IAAI,eAAe,CAAC,MAAM,GAAG,CAAC,CACvD,CAAC;QACF,OAAO,CAAC,eAAe,GAAG,QAAQ,CAAC,SAAS,CAAC,CAAC,CAAC,eAAe,CAAC,CAAC,CAAC,EAAE,CAAC;QACpE,OAAO,CAAC,OAAO,GAAG;YAChB,GAAG,OAAO,CAAC,OAAO;YAClB,eAAe,EAAE,OAAO,CAAC,eAAe;SACzC,CAAC;QAEF,MAAM,SAAS,GACb,QAAQ,CAAC,IAAI,KAAK,MAAM;YACtB,CAAC,CAAC,uBAAuB,CACzB,KAAK,EACL,QAAQ,CAAC,IAAI,EACb,QAAQ,CAAC,QAAQ,EACjB,SAAS,EACT,QAAQ,CAAC,WAAW,CACrB;YACC,CAAC,CAAC,kBAAkB,CAAC,KAAK,EAAE,SAAS,EAAE,QAAQ,CAAC,WAAW,CAAC,CAAC;QACjE,IAAI,SAAS,IAAI,QAAQ,CAAC,IAAI,KAAK,MAAM,IAAI,CAAC,QAAQ,CAAC,SAAS,EAAE,CAAC;YACjE,IAAI,QAAQ,CAAC,YAAY,KAAK,SAAS,EAAE,CAAC;gBACxC,SAAS,CAAC,cAAc,GAAG,oBAAoB,CAAC;gBAChD,SAAS,CAAC,qBAAqB,GAAG,+EAA+E,CAAC;YACpH,CAAC;iBAAM,CAAC;gBACN,SAAS,CAAC,cAAc,GAAG,mBAAmB,CAAC;gBAC/C,SAAS,CAAC,qBAAqB,GAAG,mFAAmF,CAAC;YACxH,CAAC;QACH,CAAC;QACD,MAAM,cAAc,GAAmB;YACrC,YAAY,EAAE,QAAQ,CAAC,QAAQ,CAAC,IAAI,KAAK,MAAM,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,QAAQ,CAAC;YACxE,UAAU,EAAE,SAAS;YACrB,UAAU,EAAE,SAAS;YACrB,QAAQ,EAAE,KAAK,CAAC,QAAQ;YACxB,SAAS,EAAE,KAAK,CAAC,SAAS,KAAK,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,KAAK,CAAC,SAAS;YACtE,YAAY,EAAE,KAAK,CAAC,YAAY;YAChC,IAAI,EAAE,QAAQ,CAAC,IAAI;YACnB,aAAa,EAAE,QAAQ,CAAC,YAAY;YACpC,SAAS,EAAE,QAAQ,CAAC,SAAS;YAC7B,iBAAiB,EAAE,eAAe;YAClC,eAAe,EAAE,eAAe,CAAC,MAAM;YACvC,SAAS;YACT,cAAc,EAAE,IAAI;YACpB,aAAa,EAAE,IAAI;YACnB,UAAU,EAAE,MAAM,EAAE;SACrB,CAAC;QACF,IAAI,CAAC,aAAa,CAAC,MAAM,CAAC,cAAc,CAAC,CAAC;QAC1C,OAAO,CAAC,kBAAkB,GAAG,cAAc,CAAC;QAE5C,IAAI,CAAC,MAAM,CAAC,KAAK,EAAE,CAAC,sCAAsC,EAAE;YAC1D,SAAS;YACT,IAAI,EAAE,QAAQ,CAAC,IAAI;YACnB,aAAa,EAAE,OAAO,CAAC,eAAe,CAAC,MAAM;YAC7C,cAAc,EAAE,IAAI,CAAC,MAAM,CAAC,cAAc;YAC1C,SAAS,EAAE,QAAQ,CAAC,SAAS;SAC9B,CAAC,CAAC;QAEH,MAAM,aAAa,GAAG,QAAQ,CAAC,IAAI,KAAK,MAAM,IAAI,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC;QAC/F,OAAO;YACL,IAAI,EAAE,aAAa;YACnB,IAAI,EAAE,aAAa,KAAK,MAAM,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,QAAQ,CAAC,IAAI;YAC1D,MAAM,EACJ,aAAa,KAAK,MAAM,IAAI,IAAI,CAAC,MAAM,CAAC,aAAa,CAAC,CAAC,CAAC,kBAAkB,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,SAAS;YAC3G,SAAS,EAAE,OAAO,CAAC,kBAAkB,EAAE,SAAS;YAChD,YAAY,EAAE,QAAQ,CAAC,IAAI,KAAK,MAAM,CAAC,CAAC,CAAC,QAAQ,CAAC,YAAY,CAAC,CAAC,CAAC,SAAS;YAC1E,SAAS,EAAE,QAAQ,CAAC,IAAI,KAAK,MAAM,CAAC,CAAC,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC,CAAC,SAAS;YACpE,gBAAgB;YAChB,KAAK,EAAE;gBACL,GAAG,KAAK;gBACR,iBAAiB,EAAE,OAAO,CAAC,eAAe;aAC3C;SACF,CAAC;IACJ,CAAC;IAED,KAAK,CAAC,iBAAiB,CAAC,MAAsB;QAC5C,MAAM,mBAAmB,GAAG,mBAAmB,CAAC,MAAM,CAAC,CAAC;QACxD,MAAM,SAAS,GAAG,MAAM,CAAC,SAAS,IAAI,QAAQ,CAAC;QAE/C,IAAI,SAAS,KAAK,QAAQ,EAAE,CAAC;YAC3B,IAAI,CAAC,eAAe,CAAC,SAAS,EAAE,mBAAmB,EAAE,MAAM,CAAC,UAAU,CAAC,CAAC;QAC1E,CAAC;aAAM,IAAI,MAAM,CAAC,UAAU,EAAE,CAAC;YAC7B,IAAI,CAAC,gBAAgB,CAAC,GAAG,CAAC,MAAM,CAAC,UAAU,EAAE,mBAAmB,CAAC,CAAC;QACpE,CAAC;QAED,IAAI,CAAC,MAAM,CAAC,KAAK,EAAE,CAAC,sCAAsC,EAAE;YAC1D,SAAS;YACT,QAAQ,EAAE,mBAAmB,CAAC,SAAS;YACvC,MAAM,EAAE,mBAAmB,CAAC,MAAM;YAClC,UAAU,EAAE,MAAM,CAAC,UAAU;SAC9B,CAAC,CAAC;QAEH,OAAO,mBAAmB,CAAC;IAC7B,CAAC;IAED,KAAK,CAAC,YAAY,CAAC,OAA0B;QAC3C,MAAM,SAAS,GAAG,OAAO,CAAC,SAAS,IAAI,QAAQ,CAAC;QAChD,MAAM,OAAO,GAAG,IAAI,CAAC,UAAU,CAAC,SAAS,CAAC,CAAC;QAC3C,MAAM,KAAK,GAAG,IAAI,CAAC,gBAAgB,CAAC,mBAAmB,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;QAC1E,IAAI,mBASS,CAAC;QACd,eAAe,CAAC,IAAI,CAAC,EAAE,EAAE,GAAG,EAAE;YAC5B,MAAM,SAAS,GAAG,gBAAgB,CAAC,OAAO,EAAE,SAAS,EAAE,KAAK,CAAC,CAAC;YAC9D,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,GAAG,IAAI,CAAC,gBAAgB,CAAC,mBAAmB,CAAC;gBACpE,eAAe,EAAE,KAAK;gBACtB,SAAS;gBACT,OAAO;gBACP,SAAS;gBACT,OAAO;gBACP,GAAG,EAAE,OAAO,CAAC,GAAG;aACjB,CAAC,CAAC;YACH,MAAM,cAAc,GAAG,OAAO,CAAC,kBAAkB,IAAI,IAAI,CAAC,aAAa,CAAC,oBAAoB,CAAC,SAAS,CAAC,CAAC;YACxG,IAAI,CAAC,mBAAmB,CAAC,KAAK,EAAE,MAAM,CAAC,SAAS,EAAE,OAAO,CAAC,EAAE,EAAE,cAAc,EAAE,SAAS,CAAC,CAAC;YACzF,IAAI,cAAc,EAAE,CAAC;gBACnB,MAAM,YAAY,GAAG,cAAc,CAAC,iBAAiB;qBAClD,GAAG,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;qBACtC,MAAM,CAAC,CAAC,IAAI,EAA0B,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC;gBAC3D,MAAM,YAAY,GAAG,YAAY,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,UAAU,CAAC,KAAK,EAAE,IAAI,CAAC,CAAC,CAAC;gBAC1E,MAAM,iBAAiB,GAAG,CAAC,cAAc,CAAC,SAAS;oBACjD,CAAC,CAAC,qBAAqB;oBACvB,CAAC,CAAC,KAAK,CAAC,cAAc,KAAK,SAAS;wBAClC,CAAC,CAAC,iBAAiB;wBACnB,CAAC,CAAC,KAAK,CAAC,cAAc,KAAK,SAAS;4BAClC,CAAC,CAAC,YAAY;iCACT,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,gCAAgC,CAAC,KAAK,EAAE,IAAI,CAAC,CAAC;iCAC5D,IAAI,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,KAAK,kBAAkB,CAAC;mCAC7C,gCAAgC,CAAC,KAAK,CAAC;4BAC5C,CAAC,CAAC,iBAAiB,CAAC;gBAC5B,MAAM,sBAAsB,GAAmB;oBAC7C,GAAG,cAAc;oBACjB,cAAc,EAAE,KAAK,CAAC,cAAc,KAAK,SAAS;oBAClD,aAAa,EAAE,YAAY;oBAC3B,kBAAkB,EAAE,iBAAiB;oBACrC,WAAW,EAAE,MAAM,EAAE;iBACtB,CAAC;gBACF,IAAI,CAAC,aAAa,CAAC,MAAM,CAAC,sBAAsB,CAAC,CAAC;gBAClD,IAAI,CAAC,uBAAuB,CAAC;oBAC3B,eAAe,EAAE,KAAK;oBACtB,aAAa,EAAE,MAAM,CAAC,SAAS;oBAC/B,SAAS,EAAE,OAAO,CAAC,EAAE;oBACrB,SAAS;oBACT,sBAAsB;iBACvB,CAAC,CAAC;YACL,CAAC;YACD,mBAAmB,GAAG;gBACpB,KAAK;gBACL,cAAc,EAAE,MAAM,CAAC,SAAS;gBAChC,SAAS,EAAE,OAAO,CAAC,EAAE;gBACrB,SAAS;gBACT,OAAO;gBACP,UAAU,EAAE,CAAC,GAAG,OAAO,CAAC,UAAU,CAAC;aACpC,CAAC;QACJ,CAAC,CAAC,CAAC;QACH,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC;QAEhC,MAAM,OAAO,GAAG,yBAAyB,CAAC,IAAI,CAAC,MAAM,EAAE,GAAG,SAAS,IAAI,KAAK,CAAC,YAAY,EAAE,CAAC,CAAC;QAC7F,MAAM,mBAAmB,GAAG,yBAAyB,CACnD,IAAI,CAAC,MAAM,EACX,KAAK,EACL;YACE,SAAS,EAAE,UAAU;YACrB,YAAY,EAAE,IAAI;YAClB,uBAAuB,EAAE,IAAI;YAC7B,+BAA+B,EAAE,OAAO,CAAC,KAAK,CAAC,YAAY,CAAC;YAC5D,yBAAyB,EAAE,mBAAmB;gBAC5C,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC,wBAAwB,CAAC,cAAc,CAAC,mBAAmB,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;gBACvF,CAAC,CAAC,KAAK;YACT,yBAAyB,EAAE,KAAK;YAChC,4BAA4B,EAAE,OAAO,CACnC,mBAAmB;gBACjB,CAAC,CAAC,qBAAqB,CAAC,mBAAmB,CAAC,KAAK,CAAC,CAAC,sBAAsB,EAAE,QAAQ;uBAC9E,qBAAqB,CAAC,mBAAmB,CAAC,KAAK,CAAC,CAAC,wBAAwB,EAAE,QAAQ;gBACxF,CAAC,CAAC,KAAK,CACV;YACD,8BAA8B,EAAE,KAAK,CAAC,iBAAiB,CAAC,MAAM,GAAG,CAAC;YAClE,mCAAmC,EAAE,OAAO,CAC1C,mBAAmB;gBACjB,CAAC,CAAC,qBAAqB,CAAC,mBAAmB,CAAC,KAAK,CAAC,CAAC,WAAW,GAAG,CAAC;uBAC7D,qBAAqB,CAAC,mBAAmB,CAAC,KAAK,CAAC,CAAC,wBAAwB,EAAE,qBAAqB;gBACrG,CAAC,CAAC,KAAK,CACV;YACD,iCAAiC,EAAE,OAAO,CACxC,mBAAmB;gBACjB,CAAC,CAAC,qBAAqB,CAAC,mBAAmB,CAAC,KAAK,CAAC,CAAC,iBAAiB;gBACpE,CAAC,CAAC,KAAK,CAAC,cAAc,KAAK,SAAS,CACvC;YACD,kCAAkC,EAAE,KAAK;SAC1C,EACD,GAAG,SAAS,IAAI,KAAK,CAAC,YAAY,EAAE,CACrC,CAAC;QAEF,IAAI,mBAAmB,IAAI,IAAI,CAAC,yBAAyB,EAAE,CAAC;YAC1D,IAAI,CAAC,iBAAiB,CACpB,CAAC,KAAK,IAAI,EAAE;gBACV,MAAM,IAAI,CAAC,sBAAsB,CAC/B,mBAAmB,CAAC,KAAK,EACzB,mBAAmB,CAAC,cAAc,EAClC,mBAAmB,CAAC,SAAS,EAC7B,mBAAmB,CAAC,SAAS,CAC9B,CAAC;gBAEF,IAAI,mBAAmB,CAAC,KAAK,KAAK,2BAA2B,EAAE,CAAC;oBAC9D,OAAO;gBACT,CAAC;gBAED,MAAM,gBAAgB,GAAG,IAAI,CAAC,WAAW,CAAC,OAAO,CAAC,mBAAmB,CAAC,OAAO,CAAC,EAAE,CAAC,IAAI,mBAAmB,CAAC,OAAO,CAAC;gBACjH,MAAM,IAAI,CAAC,oCAAoC,CAAC;oBAC9C,OAAO,EAAE,gBAAgB;oBACzB,eAAe,EAAE,mBAAmB,CAAC,KAAK;oBAC1C,aAAa,EAAE,mBAAmB;oBAClC,UAAU,EAAE,mBAAmB,CAAC,UAAU;oBAC1C,WAAW,EAAE,OAAO,CAAC,aAAa;oBAClC,aAAa,EAAE,OAAO,CAAC,MAAM;iBAC9B,CAAC,CAAC;YACL,CAAC,CAAC,EAAE,CACL,CAAC;QACJ,CAAC;QAED,IAAI,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC,2BAA2B,EAAE;YAC9C,SAAS;YACT,QAAQ,EAAE,KAAK,CAAC,SAAS;YACzB,OAAO,EAAE,KAAK,CAAC,cAAc;YAC7B,mBAAmB,EAAE,mBAAmB,CAAC,KAAK;YAC9C,yBAAyB,EAAE,mBAAmB,CAAC,UAAU;YACzD,wBAAwB,EAAE,mBAAmB,CAAC,aAAa;YAC3D,iBAAiB,EAAE,OAAO,CAAC,aAAa;YACxC,mBAAmB,EAAE,OAAO,CAAC,MAAM;SACpC,CAAC,CAAC;QAEH,OAAO,KAAK,CAAC;IACf,CAAC;IAED,KAAK,CAAC,sBAAsB,CAAC,KAAc;QACzC,MAAM,kBAAkB,GAAG,MAAM,IAAI,CAAC,qBAAqB,EAAE,CAAC;QAC9D,IAAI,CAAC,kBAAkB,EAAE,CAAC;YACxB,OAAO,CAAC,CAAC;QACX,CAAC;QACD,OAAO,kBAAkB,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;IACzC,CAAC;CACF"}