@zeliper/zscode-mcp-server 1.0.2 → 1.0.4
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.
- package/dist/state/manager.d.ts +42 -1
- package/dist/state/manager.d.ts.map +1 -1
- package/dist/state/manager.js +210 -0
- package/dist/state/manager.js.map +1 -1
- package/dist/state/schema.d.ts +254 -13
- package/dist/state/schema.d.ts.map +1 -1
- package/dist/state/schema.js +67 -1
- package/dist/state/schema.js.map +1 -1
- package/dist/state/types.d.ts +43 -1
- package/dist/state/types.d.ts.map +1 -1
- package/dist/state/types.js.map +1 -1
- package/dist/tools/context.js +6 -6
- package/dist/tools/context.js.map +1 -1
- package/dist/tools/files.d.ts +7 -0
- package/dist/tools/files.d.ts.map +1 -0
- package/dist/tools/files.js +131 -0
- package/dist/tools/files.js.map +1 -0
- package/dist/tools/index.d.ts.map +1 -1
- package/dist/tools/index.js +6 -0
- package/dist/tools/index.js.map +1 -1
- package/dist/tools/modify.d.ts.map +1 -1
- package/dist/tools/modify.js +36 -3
- package/dist/tools/modify.js.map +1 -1
- package/dist/tools/plan.d.ts.map +1 -1
- package/dist/tools/plan.js +74 -1
- package/dist/tools/plan.js.map +1 -1
- package/dist/tools/staging.d.ts.map +1 -1
- package/dist/tools/staging.js +101 -3
- package/dist/tools/staging.js.map +1 -1
- package/dist/tools/summary.d.ts +7 -0
- package/dist/tools/summary.d.ts.map +1 -0
- package/dist/tools/summary.js +127 -0
- package/dist/tools/summary.js.map +1 -0
- package/package.json +1 -1
package/dist/state/manager.d.ts
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { type State, type Plan, type Staging, type Task, type Project, type Decision, type Memory, type TaskStatus, type PlanStatus, type HistoryEntryType, type TaskOutput, type IdGenerator } from "./types.js";
|
|
1
|
+
import { type State, type Plan, type Staging, type Task, type Project, type Decision, type Memory, type TaskStatus, type PlanStatus, type HistoryEntryType, type TaskOutput, type IdGenerator, type MemoryEventType, type RelatedStagingArtifacts, type CrossReferencedTaskOutput, type ModelType, type SessionBudget } from "./types.js";
|
|
2
2
|
declare const idGenerator: IdGenerator;
|
|
3
3
|
export declare class StateManager {
|
|
4
4
|
private static instance;
|
|
@@ -29,11 +29,15 @@ export declare class StateManager {
|
|
|
29
29
|
name: string;
|
|
30
30
|
description?: string;
|
|
31
31
|
execution_type: "parallel" | "sequential";
|
|
32
|
+
default_model?: ModelType;
|
|
33
|
+
session_budget?: SessionBudget;
|
|
34
|
+
recommended_sessions?: number;
|
|
32
35
|
tasks: Array<{
|
|
33
36
|
title: string;
|
|
34
37
|
description?: string;
|
|
35
38
|
priority: "high" | "medium" | "low";
|
|
36
39
|
execution_mode: "parallel" | "sequential";
|
|
40
|
+
model?: ModelType;
|
|
37
41
|
depends_on_index: number[];
|
|
38
42
|
}>;
|
|
39
43
|
}>): Promise<Plan>;
|
|
@@ -57,6 +61,19 @@ export declare class StateManager {
|
|
|
57
61
|
addMemory(category: string, title: string, content: string, tags?: string[], priority?: number): Promise<Memory>;
|
|
58
62
|
listMemories(category?: string, tags?: string[], enabledOnly?: boolean): Memory[];
|
|
59
63
|
getMemoriesForContext(context: "planning" | "coding" | "review" | "general" | "all"): Memory[];
|
|
64
|
+
/**
|
|
65
|
+
* Get memories for a specific event (staging-start, task-start, etc.)
|
|
66
|
+
* Returns general + event-specific memories, optionally filtered by additional tags
|
|
67
|
+
*/
|
|
68
|
+
getMemoriesForEvent(event: MemoryEventType, additionalTags?: string[]): Memory[];
|
|
69
|
+
/**
|
|
70
|
+
* Get artifacts from stagings that this staging depends on
|
|
71
|
+
*/
|
|
72
|
+
getRelatedStagingArtifacts(stagingId: string): RelatedStagingArtifacts[];
|
|
73
|
+
/**
|
|
74
|
+
* Get task outputs for cross-staging references
|
|
75
|
+
*/
|
|
76
|
+
getCrossReferencedTaskOutputs(taskId: string): CrossReferencedTaskOutput[];
|
|
60
77
|
updateMemory(memoryId: string, updates: {
|
|
61
78
|
title?: string;
|
|
62
79
|
content?: string;
|
|
@@ -68,6 +85,22 @@ export declare class StateManager {
|
|
|
68
85
|
removeMemory(memoryId: string): Promise<void>;
|
|
69
86
|
getMemory(memoryId: string): Memory | undefined;
|
|
70
87
|
getCategories(): string[];
|
|
88
|
+
/**
|
|
89
|
+
* Get the existing project summary memory (if any)
|
|
90
|
+
*/
|
|
91
|
+
getProjectSummary(): Memory | undefined;
|
|
92
|
+
/**
|
|
93
|
+
* Generate a project summary from current state
|
|
94
|
+
*/
|
|
95
|
+
generateProjectSummaryContent(): string;
|
|
96
|
+
/**
|
|
97
|
+
* Create or update the project summary memory
|
|
98
|
+
*/
|
|
99
|
+
saveProjectSummary(content?: string): Promise<Memory>;
|
|
100
|
+
/**
|
|
101
|
+
* Get memories that should always be applied (general + project-summary)
|
|
102
|
+
*/
|
|
103
|
+
getAlwaysAppliedMemories(): Memory[];
|
|
71
104
|
startSession(): Promise<void>;
|
|
72
105
|
endSession(summary?: string): Promise<void>;
|
|
73
106
|
updatePlan(planId: string, updates: {
|
|
@@ -78,11 +111,17 @@ export declare class StateManager {
|
|
|
78
111
|
name?: string;
|
|
79
112
|
description?: string;
|
|
80
113
|
execution_type?: "parallel" | "sequential";
|
|
114
|
+
default_model?: ModelType;
|
|
115
|
+
session_budget?: SessionBudget;
|
|
116
|
+
recommended_sessions?: number;
|
|
81
117
|
}): Promise<Staging>;
|
|
82
118
|
addStaging(planId: string, config: {
|
|
83
119
|
name: string;
|
|
84
120
|
description?: string;
|
|
85
121
|
execution_type: "parallel" | "sequential";
|
|
122
|
+
default_model?: ModelType;
|
|
123
|
+
session_budget?: SessionBudget;
|
|
124
|
+
recommended_sessions?: number;
|
|
86
125
|
insertAt?: number;
|
|
87
126
|
}): Promise<Staging>;
|
|
88
127
|
removeStaging(stagingId: string): Promise<void>;
|
|
@@ -98,6 +137,7 @@ export declare class StateManager {
|
|
|
98
137
|
description?: string;
|
|
99
138
|
priority: "high" | "medium" | "low";
|
|
100
139
|
execution_mode: "parallel" | "sequential";
|
|
140
|
+
model?: ModelType;
|
|
101
141
|
depends_on?: string[];
|
|
102
142
|
}): Promise<Task>;
|
|
103
143
|
removeTask(taskId: string): Promise<void>;
|
|
@@ -106,6 +146,7 @@ export declare class StateManager {
|
|
|
106
146
|
description?: string;
|
|
107
147
|
priority?: "high" | "medium" | "low";
|
|
108
148
|
execution_mode?: "parallel" | "sequential";
|
|
149
|
+
model?: ModelType;
|
|
109
150
|
depends_on?: string[];
|
|
110
151
|
}): Promise<Task>;
|
|
111
152
|
getProjectRoot(): string;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"manager.d.ts","sourceRoot":"","sources":["../../src/state/manager.ts"],"names":[],"mappings":"AAIA,OAAO,EAEL,KAAK,KAAK,EACV,KAAK,IAAI,EACT,KAAK,OAAO,EACZ,KAAK,IAAI,EACT,KAAK,OAAO,EAEZ,KAAK,QAAQ,EACb,KAAK,MAAM,EACX,KAAK,UAAU,EACf,KAAK,UAAU,EACf,KAAK,gBAAgB,EACrB,KAAK,UAAU,EACf,KAAK,WAAW,
|
|
1
|
+
{"version":3,"file":"manager.d.ts","sourceRoot":"","sources":["../../src/state/manager.ts"],"names":[],"mappings":"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"}
|
package/dist/state/manager.js
CHANGED
|
@@ -210,7 +210,10 @@ export class StateManager {
|
|
|
210
210
|
priority: taskConfig.priority,
|
|
211
211
|
status: "pending",
|
|
212
212
|
execution_mode: taskConfig.execution_mode,
|
|
213
|
+
model: taskConfig.model, // Model override for this task
|
|
213
214
|
depends_on: [], // Will be resolved after all tasks are created
|
|
215
|
+
cross_staging_refs: [], // Will be populated if cross-staging refs are provided
|
|
216
|
+
memory_tags: [], // Will be populated if memory tags are provided
|
|
214
217
|
order: taskIndex,
|
|
215
218
|
createdAt: now,
|
|
216
219
|
updatedAt: now,
|
|
@@ -237,7 +240,12 @@ export class StateManager {
|
|
|
237
240
|
order: stagingIndex,
|
|
238
241
|
execution_type: config.execution_type,
|
|
239
242
|
status: "pending",
|
|
243
|
+
default_model: config.default_model, // Default model for tasks in this staging
|
|
244
|
+
session_budget: config.session_budget, // Session budget category
|
|
245
|
+
recommended_sessions: config.recommended_sessions, // Recommended session count
|
|
240
246
|
tasks: taskIds,
|
|
247
|
+
depends_on_stagings: [], // Will be populated if staging dependencies are provided
|
|
248
|
+
auto_include_artifacts: true, // Default to auto-include
|
|
241
249
|
artifacts_path: artifactsPath,
|
|
242
250
|
createdAt: now,
|
|
243
251
|
};
|
|
@@ -609,6 +617,80 @@ export class StateManager {
|
|
|
609
617
|
// Sort by priority (descending)
|
|
610
618
|
return result.sort((a, b) => b.priority - a.priority);
|
|
611
619
|
}
|
|
620
|
+
/**
|
|
621
|
+
* Get memories for a specific event (staging-start, task-start, etc.)
|
|
622
|
+
* Returns general + event-specific memories, optionally filtered by additional tags
|
|
623
|
+
*/
|
|
624
|
+
getMemoriesForEvent(event, additionalTags) {
|
|
625
|
+
if (!this.state)
|
|
626
|
+
return [];
|
|
627
|
+
const enabledMemories = this.state.context.memories.filter(m => m.enabled);
|
|
628
|
+
// Get general + event-specific memories
|
|
629
|
+
let result = enabledMemories.filter(m => m.category === "general" || m.category === event);
|
|
630
|
+
// If additional tags are provided, also include memories matching those tags
|
|
631
|
+
if (additionalTags && additionalTags.length > 0) {
|
|
632
|
+
const tagMatched = enabledMemories.filter(m => additionalTags.some(tag => m.tags.includes(tag)));
|
|
633
|
+
// Add tag-matched memories that aren't already in result
|
|
634
|
+
const resultIds = new Set(result.map(m => m.id));
|
|
635
|
+
for (const m of tagMatched) {
|
|
636
|
+
if (!resultIds.has(m.id)) {
|
|
637
|
+
result.push(m);
|
|
638
|
+
}
|
|
639
|
+
}
|
|
640
|
+
}
|
|
641
|
+
// Sort by priority (descending)
|
|
642
|
+
return result.sort((a, b) => b.priority - a.priority);
|
|
643
|
+
}
|
|
644
|
+
/**
|
|
645
|
+
* Get artifacts from stagings that this staging depends on
|
|
646
|
+
*/
|
|
647
|
+
getRelatedStagingArtifacts(stagingId) {
|
|
648
|
+
const staging = this.getStaging(stagingId);
|
|
649
|
+
if (!staging)
|
|
650
|
+
return [];
|
|
651
|
+
const results = [];
|
|
652
|
+
for (const ref of staging.depends_on_stagings) {
|
|
653
|
+
const depStaging = this.getStaging(ref.stagingId);
|
|
654
|
+
if (!depStaging)
|
|
655
|
+
continue;
|
|
656
|
+
const tasks = this.getTasksByStaging(ref.stagingId);
|
|
657
|
+
const taskOutputs = {};
|
|
658
|
+
// If taskIds is specified, only include those tasks; otherwise include all
|
|
659
|
+
const targetTaskIds = ref.taskIds ?? tasks.map(t => t.id);
|
|
660
|
+
for (const task of tasks) {
|
|
661
|
+
if (targetTaskIds.includes(task.id) && task.output) {
|
|
662
|
+
taskOutputs[task.id] = task.output;
|
|
663
|
+
}
|
|
664
|
+
}
|
|
665
|
+
results.push({
|
|
666
|
+
stagingId: depStaging.id,
|
|
667
|
+
stagingName: depStaging.name,
|
|
668
|
+
taskOutputs,
|
|
669
|
+
});
|
|
670
|
+
}
|
|
671
|
+
return results;
|
|
672
|
+
}
|
|
673
|
+
/**
|
|
674
|
+
* Get task outputs for cross-staging references
|
|
675
|
+
*/
|
|
676
|
+
getCrossReferencedTaskOutputs(taskId) {
|
|
677
|
+
const task = this.getTask(taskId);
|
|
678
|
+
if (!task)
|
|
679
|
+
return [];
|
|
680
|
+
const results = [];
|
|
681
|
+
for (const ref of task.cross_staging_refs) {
|
|
682
|
+
const refTask = this.getTask(ref.taskId);
|
|
683
|
+
if (!refTask)
|
|
684
|
+
continue;
|
|
685
|
+
results.push({
|
|
686
|
+
taskId: refTask.id,
|
|
687
|
+
taskTitle: refTask.title,
|
|
688
|
+
stagingId: ref.stagingId,
|
|
689
|
+
output: refTask.output ?? null,
|
|
690
|
+
});
|
|
691
|
+
}
|
|
692
|
+
return results;
|
|
693
|
+
}
|
|
612
694
|
async updateMemory(memoryId, updates) {
|
|
613
695
|
const memory = this.requireMemory(memoryId);
|
|
614
696
|
const now = new Date().toISOString();
|
|
@@ -649,6 +731,118 @@ export class StateManager {
|
|
|
649
731
|
}
|
|
650
732
|
return Array.from(categories).sort();
|
|
651
733
|
}
|
|
734
|
+
// ============ Project Summary Operations ============
|
|
735
|
+
/**
|
|
736
|
+
* Get the existing project summary memory (if any)
|
|
737
|
+
*/
|
|
738
|
+
getProjectSummary() {
|
|
739
|
+
if (!this.state)
|
|
740
|
+
return undefined;
|
|
741
|
+
return this.state.context.memories.find(m => m.category === "project-summary");
|
|
742
|
+
}
|
|
743
|
+
/**
|
|
744
|
+
* Generate a project summary from current state
|
|
745
|
+
*/
|
|
746
|
+
generateProjectSummaryContent() {
|
|
747
|
+
if (!this.state)
|
|
748
|
+
return "";
|
|
749
|
+
const project = this.state.project;
|
|
750
|
+
const plans = Object.values(this.state.plans);
|
|
751
|
+
const memories = this.state.context.memories.filter(m => m.category !== "project-summary");
|
|
752
|
+
// Calculate stats
|
|
753
|
+
const activePlans = plans.filter(p => p.status === "active");
|
|
754
|
+
const completedPlans = plans.filter(p => p.status === "completed");
|
|
755
|
+
const totalTasks = Object.keys(this.state.tasks).length;
|
|
756
|
+
const completedTasks = Object.values(this.state.tasks).filter(t => t.status === "done").length;
|
|
757
|
+
// Build summary content
|
|
758
|
+
const lines = [];
|
|
759
|
+
// Project info
|
|
760
|
+
lines.push(`# ${project.name}`);
|
|
761
|
+
if (project.description) {
|
|
762
|
+
lines.push(`\n${project.description}`);
|
|
763
|
+
}
|
|
764
|
+
// Goals
|
|
765
|
+
if (project.goals.length > 0) {
|
|
766
|
+
lines.push(`\n## Goals`);
|
|
767
|
+
project.goals.forEach(g => lines.push(`- ${g}`));
|
|
768
|
+
}
|
|
769
|
+
// Constraints
|
|
770
|
+
if (project.constraints.length > 0) {
|
|
771
|
+
lines.push(`\n## Constraints`);
|
|
772
|
+
project.constraints.forEach(c => lines.push(`- ${c}`));
|
|
773
|
+
}
|
|
774
|
+
// Current status
|
|
775
|
+
lines.push(`\n## Status`);
|
|
776
|
+
lines.push(`- Active Plans: ${activePlans.length}`);
|
|
777
|
+
lines.push(`- Completed Plans: ${completedPlans.length}`);
|
|
778
|
+
lines.push(`- Tasks: ${completedTasks}/${totalTasks} completed`);
|
|
779
|
+
// Active plan details
|
|
780
|
+
if (activePlans.length > 0) {
|
|
781
|
+
lines.push(`\n## Active Work`);
|
|
782
|
+
for (const plan of activePlans) {
|
|
783
|
+
const stagings = this.getStagingsByPlan(plan.id);
|
|
784
|
+
const currentStaging = stagings.find(s => s.status === "in_progress");
|
|
785
|
+
lines.push(`- **${plan.title}**`);
|
|
786
|
+
if (currentStaging) {
|
|
787
|
+
const tasks = this.getTasksByStaging(currentStaging.id);
|
|
788
|
+
const inProgress = tasks.filter(t => t.status === "in_progress");
|
|
789
|
+
lines.push(` - Current: ${currentStaging.name}`);
|
|
790
|
+
if (inProgress.length > 0) {
|
|
791
|
+
lines.push(` - Tasks: ${inProgress.map(t => t.title).join(", ")}`);
|
|
792
|
+
}
|
|
793
|
+
}
|
|
794
|
+
}
|
|
795
|
+
}
|
|
796
|
+
// Key memories (non project-summary)
|
|
797
|
+
const keyMemories = memories.filter(m => m.enabled && m.priority >= 70);
|
|
798
|
+
if (keyMemories.length > 0) {
|
|
799
|
+
lines.push(`\n## Key Rules`);
|
|
800
|
+
for (const m of keyMemories.slice(0, 5)) {
|
|
801
|
+
lines.push(`- **${m.title}** (${m.category})`);
|
|
802
|
+
}
|
|
803
|
+
}
|
|
804
|
+
// Recent decisions
|
|
805
|
+
const recentDecisions = this.state.context.decisions.slice(-3);
|
|
806
|
+
if (recentDecisions.length > 0) {
|
|
807
|
+
lines.push(`\n## Recent Decisions`);
|
|
808
|
+
for (const d of recentDecisions) {
|
|
809
|
+
lines.push(`- ${d.title}: ${d.decision}`);
|
|
810
|
+
}
|
|
811
|
+
}
|
|
812
|
+
return lines.join("\n");
|
|
813
|
+
}
|
|
814
|
+
/**
|
|
815
|
+
* Create or update the project summary memory
|
|
816
|
+
*/
|
|
817
|
+
async saveProjectSummary(content) {
|
|
818
|
+
const state = this.ensureInitialized();
|
|
819
|
+
const summaryContent = content ?? this.generateProjectSummaryContent();
|
|
820
|
+
const existingSummary = this.getProjectSummary();
|
|
821
|
+
if (existingSummary) {
|
|
822
|
+
// Update existing summary
|
|
823
|
+
return this.updateMemory(existingSummary.id, {
|
|
824
|
+
content: summaryContent,
|
|
825
|
+
title: `${state.project.name} - Project Summary`,
|
|
826
|
+
});
|
|
827
|
+
}
|
|
828
|
+
else {
|
|
829
|
+
// Create new summary
|
|
830
|
+
return this.addMemory("project-summary", `${state.project.name} - Project Summary`, summaryContent, ["auto-generated", "summary"], 100 // Highest priority to appear first
|
|
831
|
+
);
|
|
832
|
+
}
|
|
833
|
+
}
|
|
834
|
+
/**
|
|
835
|
+
* Get memories that should always be applied (general + project-summary)
|
|
836
|
+
*/
|
|
837
|
+
getAlwaysAppliedMemories() {
|
|
838
|
+
if (!this.state)
|
|
839
|
+
return [];
|
|
840
|
+
const enabledMemories = this.state.context.memories.filter(m => m.enabled);
|
|
841
|
+
// Return general + project-summary memories
|
|
842
|
+
const result = enabledMemories.filter(m => m.category === "general" || m.category === "project-summary");
|
|
843
|
+
// Sort by priority (descending)
|
|
844
|
+
return result.sort((a, b) => b.priority - a.priority);
|
|
845
|
+
}
|
|
652
846
|
// ============ Session Operations ============
|
|
653
847
|
async startSession() {
|
|
654
848
|
await this.addHistory("session_started", {});
|
|
@@ -690,6 +884,12 @@ export class StateManager {
|
|
|
690
884
|
staging.description = updates.description;
|
|
691
885
|
if (updates.execution_type !== undefined)
|
|
692
886
|
staging.execution_type = updates.execution_type;
|
|
887
|
+
if (updates.default_model !== undefined)
|
|
888
|
+
staging.default_model = updates.default_model;
|
|
889
|
+
if (updates.session_budget !== undefined)
|
|
890
|
+
staging.session_budget = updates.session_budget;
|
|
891
|
+
if (updates.recommended_sessions !== undefined)
|
|
892
|
+
staging.recommended_sessions = updates.recommended_sessions;
|
|
693
893
|
await this.addHistory("staging_updated", { stagingId, updates });
|
|
694
894
|
await this.save();
|
|
695
895
|
return staging;
|
|
@@ -719,7 +919,12 @@ export class StateManager {
|
|
|
719
919
|
order: insertAt,
|
|
720
920
|
execution_type: config.execution_type,
|
|
721
921
|
status: "pending",
|
|
922
|
+
default_model: config.default_model,
|
|
923
|
+
session_budget: config.session_budget,
|
|
924
|
+
recommended_sessions: config.recommended_sessions,
|
|
722
925
|
tasks: [],
|
|
926
|
+
depends_on_stagings: [],
|
|
927
|
+
auto_include_artifacts: true,
|
|
723
928
|
artifacts_path: artifactsPath,
|
|
724
929
|
createdAt: now,
|
|
725
930
|
};
|
|
@@ -807,7 +1012,10 @@ export class StateManager {
|
|
|
807
1012
|
priority: config.priority,
|
|
808
1013
|
status: "pending",
|
|
809
1014
|
execution_mode: config.execution_mode,
|
|
1015
|
+
model: config.model,
|
|
810
1016
|
depends_on: config.depends_on ?? [],
|
|
1017
|
+
cross_staging_refs: [],
|
|
1018
|
+
memory_tags: [],
|
|
811
1019
|
order: existingTasks.length,
|
|
812
1020
|
createdAt: now,
|
|
813
1021
|
updatedAt: now,
|
|
@@ -856,6 +1064,8 @@ export class StateManager {
|
|
|
856
1064
|
task.priority = updates.priority;
|
|
857
1065
|
if (updates.execution_mode !== undefined)
|
|
858
1066
|
task.execution_mode = updates.execution_mode;
|
|
1067
|
+
if (updates.model !== undefined)
|
|
1068
|
+
task.model = updates.model;
|
|
859
1069
|
// Handle depends_on updates with circular dependency check
|
|
860
1070
|
if (updates.depends_on !== undefined) {
|
|
861
1071
|
// Validate all dependency IDs exist and are in the same staging
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"manager.js","sourceRoot":"","sources":["../../src/state/manager.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"manager.js","sourceRoot":"","sources":["../../src/state/manager.ts"],"names":[],"mappings":"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"}
|