symbiote-cli 0.2.0 → 0.2.1
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/README.md +35 -26
- package/dist/src/commands/hooks.d.ts.map +1 -1
- package/dist/src/commands/hooks.js +54 -44
- package/dist/src/commands/hooks.js.map +1 -1
- package/dist/src/dna/profile.js +1 -1
- package/dist/src/dna/profile.js.map +1 -1
- package/dist/tsconfig.tsbuildinfo +1 -1
- package/package.json +1 -1
- package/skills/symbiote-init/SKILL.md +124 -70
package/README.md
CHANGED
|
@@ -74,7 +74,7 @@ sequenceDiagram
|
|
|
74
74
|
participant DNA as ~/.symbiote/<br>Developer DNA
|
|
75
75
|
|
|
76
76
|
Brain->>Sym: project structure, dependencies, health
|
|
77
|
-
DNA->>Sym:
|
|
77
|
+
DNA->>Sym: coding rules, reasons, scoping
|
|
78
78
|
|
|
79
79
|
loop Every interaction
|
|
80
80
|
Sym->>AI: injects context (MCP + hooks)
|
|
@@ -88,18 +88,21 @@ sequenceDiagram
|
|
|
88
88
|
|
|
89
89
|
### Developer DNA — Your Coding Identity
|
|
90
90
|
|
|
91
|
-
Lives at `~/.symbiote/
|
|
91
|
+
Lives at `~/.symbiote/profiles/`. Follows you across every project. **Shareable.**
|
|
92
92
|
|
|
93
|
-
When you correct your AI — _"no, use early returns"_ — Symbiote captures it. Same correction across three sessions? Auto-promoted
|
|
93
|
+
When you correct your AI — _"no, use early returns"_ — Symbiote captures it with the rule, the reason why, and which languages it applies to. Same correction across three sessions? Auto-promoted. Explicit instruction? Approved immediately at full confidence.
|
|
94
94
|
|
|
95
|
-
Your DNA is
|
|
95
|
+
Your DNA is a single JSON profile — portable, exportable, switchable:
|
|
96
96
|
|
|
97
97
|
```bash
|
|
98
|
-
symbiote dna #
|
|
99
|
-
symbiote dna
|
|
100
|
-
symbiote dna
|
|
98
|
+
symbiote dna # Active profile summary
|
|
99
|
+
symbiote dna export # Export to .dna.json — share it anywhere
|
|
100
|
+
symbiote dna import <file|url> # Load someone else's DNA
|
|
101
|
+
symbiote dna switch <name> # Swap profiles instantly
|
|
101
102
|
```
|
|
102
103
|
|
|
104
|
+
Import a senior developer's DNA and your AI immediately codes in their style. Switch back to yours anytime. Your DNA is never lost.
|
|
105
|
+
|
|
103
106
|
### Project Brain — Your Codebase's Nervous System
|
|
104
107
|
|
|
105
108
|
Lives at `.brain/` in each repo. Auto-generated, optionally enriched.
|
|
@@ -214,7 +217,7 @@ Open the URL printed in your terminal. Your project's brain — a 3D neural grap
|
|
|
214
217
|
| ---------------- | ------------------------------------------------ |
|
|
215
218
|
| **Brain Graph** | 3D neural visualization — the hero, always alive |
|
|
216
219
|
| **Health Pulse** | Code health score (0-100) with actionable issues |
|
|
217
|
-
| **DNA Lab** | Your
|
|
220
|
+
| **DNA Lab** | Your profiles — rules, reasons, export, switch |
|
|
218
221
|
|
|
219
222
|
---
|
|
220
223
|
|
|
@@ -321,21 +324,22 @@ Every issue links to a file and line number. The Health Pulse view in the web UI
|
|
|
321
324
|
|
|
322
325
|
```
|
|
323
326
|
~/.symbiote/ # Global — your coding identity
|
|
324
|
-
├── config.json
|
|
325
|
-
└──
|
|
326
|
-
├──
|
|
327
|
-
├──
|
|
328
|
-
|
|
329
|
-
└── decisions/ # "Composition over inheritance"
|
|
327
|
+
├── config.json # { "active_profile": "personal" }
|
|
328
|
+
└── profiles/
|
|
329
|
+
├── personal.json # Your DNA — always exists
|
|
330
|
+
├── theprime.json # Imported from someone else
|
|
331
|
+
└── kent-react.json # Another imported profile
|
|
330
332
|
|
|
331
333
|
your-project/.brain/ # Per-project — the brain
|
|
332
334
|
├── symbiote.db # Code graph + embeddings (gitignored)
|
|
333
335
|
└── intent/ # Committed to git — shared with team
|
|
334
|
-
├── overview.md #
|
|
336
|
+
├── overview.md # AI-generated project summary
|
|
335
337
|
├── decisions/ # "Why we chose X over Y"
|
|
336
338
|
└── constraints/ # "No raw SQL in application code"
|
|
337
339
|
```
|
|
338
340
|
|
|
341
|
+
Each DNA profile is a single `.dna.json` file containing rich entries — rule, reason, category, language scoping, and evidence. Export yours, share it on Twitter, import someone else's with one command.
|
|
342
|
+
|
|
339
343
|
The intent layer is committed to git. New team member runs `/symbiote-init` — they get the full project brain plus their personal DNA on top. Same project understanding, individual style.
|
|
340
344
|
|
|
341
345
|
---
|
|
@@ -364,16 +368,21 @@ Symbiote uses Tree-sitter for precise code parsing. **Bundled** languages ship w
|
|
|
364
368
|
|
|
365
369
|
## CLI Reference
|
|
366
370
|
|
|
367
|
-
| Command
|
|
368
|
-
|
|
|
369
|
-
| `symbiote install`
|
|
370
|
-
| `symbiote scan`
|
|
371
|
-
| `symbiote scan --force`
|
|
372
|
-
| `symbiote serve`
|
|
373
|
-
| `symbiote mcp`
|
|
374
|
-
| `symbiote dna`
|
|
375
|
-
| `symbiote
|
|
376
|
-
| `symbiote
|
|
371
|
+
| Command | What it does |
|
|
372
|
+
| ---------------------------- | ---------------------------------------------- |
|
|
373
|
+
| `symbiote install` | One-time global setup for all detected editors |
|
|
374
|
+
| `symbiote scan` | Rescan codebase (incremental) |
|
|
375
|
+
| `symbiote scan --force` | Full rescan, ignore cache |
|
|
376
|
+
| `symbiote serve` | MCP server + web UI (port auto-assigned) |
|
|
377
|
+
| `symbiote mcp` | MCP server only (stdio, for editors) |
|
|
378
|
+
| `symbiote dna` | Active profile summary |
|
|
379
|
+
| `symbiote dna list` | List all DNA profiles |
|
|
380
|
+
| `symbiote dna switch <name>` | Switch active profile |
|
|
381
|
+
| `symbiote dna export` | Export profile to `.dna.json` |
|
|
382
|
+
| `symbiote dna import <file>` | Import a shared profile |
|
|
383
|
+
| `symbiote dna diff <name>` | Compare two profiles |
|
|
384
|
+
| `symbiote impact` | Analyze impact of working changes |
|
|
385
|
+
| `symbiote unbond` | Detach from all AI hosts |
|
|
377
386
|
|
|
378
387
|
---
|
|
379
388
|
|
|
@@ -390,7 +399,7 @@ Symbiote uses Tree-sitter for precise code parsing. **Bundled** languages ship w
|
|
|
390
399
|
| **Graph** | Graphology (Louvain, PageRank, betweenness) |
|
|
391
400
|
| **Web UI** | Vite + React 19 + react-three-fiber + Three.js + custom GLSL |
|
|
392
401
|
| **Styling** | Tailwind CSS v4 (dark theme) |
|
|
393
|
-
| **Testing** | Vitest (
|
|
402
|
+
| **Testing** | Vitest (842 tests across 86 files) |
|
|
394
403
|
|
|
395
404
|
---
|
|
396
405
|
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"hooks.d.ts","sourceRoot":"","sources":["../../../src/commands/hooks.ts"],"names":[],"mappings":"AAKA,wBAAsB,UAAU,IAAI,OAAO,CAAC,IAAI,CAAC,CAsEhD;AAED,wBAAsB,WAAW,IAAI,OAAO,CAAC,IAAI,CAAC,CA6BjD;AAED,wBAAsB,eAAe,IAAI,OAAO,CAAC,IAAI,CAAC,CAarD;AAED,wBAAsB,mBAAmB,IAAI,OAAO,CAAC,IAAI,CAAC,
|
|
1
|
+
{"version":3,"file":"hooks.d.ts","sourceRoot":"","sources":["../../../src/commands/hooks.ts"],"names":[],"mappings":"AAKA,wBAAsB,UAAU,IAAI,OAAO,CAAC,IAAI,CAAC,CAsEhD;AAED,wBAAsB,WAAW,IAAI,OAAO,CAAC,IAAI,CAAC,CA6BjD;AAED,wBAAsB,eAAe,IAAI,OAAO,CAAC,IAAI,CAAC,CAarD;AAED,wBAAsB,mBAAmB,IAAI,OAAO,CAAC,IAAI,CAAC,CA+GzD;AAED,wBAAsB,iBAAiB,IAAI,OAAO,CAAC,IAAI,CAAC,CAavD"}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import path from 'node:path';
|
|
2
2
|
import * as p from '@clack/prompts';
|
|
3
3
|
import pc from 'picocolors';
|
|
4
|
-
import { getProjectPort
|
|
4
|
+
import { getProjectPort } from '#utils/config.js';
|
|
5
5
|
export async function cmdHookPre() {
|
|
6
6
|
process.stderr.write('[symbiote] command hooks are deprecated, run symbiote install to upgrade to HTTP hooks\n');
|
|
7
7
|
const { readStdinPayload, writeResponse, fireHookEvent } = await import('#hooks/types.js');
|
|
@@ -131,53 +131,63 @@ export async function cmdHookSessionStart() {
|
|
|
131
131
|
resolve(false);
|
|
132
132
|
});
|
|
133
133
|
});
|
|
134
|
-
if (serverRunning) {
|
|
135
|
-
const
|
|
136
|
-
const
|
|
137
|
-
|
|
138
|
-
|
|
139
|
-
|
|
140
|
-
|
|
141
|
-
|
|
134
|
+
if (!serverRunning) {
|
|
135
|
+
const fs = await import('node:fs');
|
|
136
|
+
const dbPath = path.join(projectRoot, '.brain', 'symbiote.db');
|
|
137
|
+
if (!fs.existsSync(dbPath)) {
|
|
138
|
+
process.stdout.write('{}\n');
|
|
139
|
+
return;
|
|
140
|
+
}
|
|
141
|
+
const { spawn } = await import('node:child_process');
|
|
142
|
+
const child = spawn('npx', ['symbiote-cli', 'serve', '--port', String(port), '--no-open'], {
|
|
143
|
+
cwd: projectRoot,
|
|
144
|
+
detached: true,
|
|
145
|
+
stdio: 'ignore',
|
|
146
|
+
});
|
|
147
|
+
child.unref();
|
|
148
|
+
const waitForServer = async (maxMs) => {
|
|
149
|
+
const start = Date.now();
|
|
150
|
+
while (Date.now() - start < maxMs) {
|
|
151
|
+
const up = await new Promise((resolve) => {
|
|
152
|
+
const req = http.get(`http://127.0.0.1:${port}/internal/health`, { timeout: 500 }, (res) => {
|
|
153
|
+
res.resume();
|
|
154
|
+
resolve(res.statusCode === 200);
|
|
155
|
+
});
|
|
156
|
+
req.on('error', () => resolve(false));
|
|
157
|
+
req.on('timeout', () => {
|
|
158
|
+
req.destroy();
|
|
159
|
+
resolve(false);
|
|
160
|
+
});
|
|
142
161
|
});
|
|
143
|
-
|
|
144
|
-
|
|
145
|
-
|
|
146
|
-
|
|
147
|
-
|
|
148
|
-
|
|
162
|
+
if (up)
|
|
163
|
+
return true;
|
|
164
|
+
await new Promise((r) => setTimeout(r, 200));
|
|
165
|
+
}
|
|
166
|
+
return false;
|
|
167
|
+
};
|
|
168
|
+
const booted = await waitForServer(8000);
|
|
169
|
+
if (!booted) {
|
|
170
|
+
process.stdout.write('{}\n');
|
|
171
|
+
return;
|
|
172
|
+
}
|
|
173
|
+
}
|
|
174
|
+
const params = new URLSearchParams({ source, sessionId });
|
|
175
|
+
const url = `http://127.0.0.1:${port}/internal/hooks/session-start?${params}`;
|
|
176
|
+
const response = await new Promise((resolve) => {
|
|
177
|
+
const req = http.get(url, { timeout: 5000 }, (res) => {
|
|
178
|
+
let data = '';
|
|
179
|
+
res.on('data', (chunk) => {
|
|
180
|
+
data += chunk;
|
|
149
181
|
});
|
|
182
|
+
res.on('end', () => resolve(data));
|
|
150
183
|
});
|
|
151
|
-
|
|
152
|
-
|
|
153
|
-
|
|
154
|
-
|
|
155
|
-
const { ProfileStorage } = await import('#dna/profile.js');
|
|
156
|
-
const profileStorage = new ProfileStorage(SYMBIOTE_HOME);
|
|
157
|
-
const profile = profileStorage.readActiveProfile();
|
|
158
|
-
const entries = profile.entries
|
|
159
|
-
.filter((e) => e.status !== 'rejected')
|
|
160
|
-
.slice(0, 5);
|
|
161
|
-
const dnaRules = entries.map((e) => e.rule).join(', ');
|
|
162
|
-
const projectName = path.basename(projectRoot);
|
|
163
|
-
const lines = [`[Symbiote] Project: ${projectName}`];
|
|
164
|
-
if (dnaRules) {
|
|
165
|
-
lines.push(`DNA: ${dnaRules}`);
|
|
166
|
-
}
|
|
167
|
-
lines.push('When the developer gives you instructions, corrections, preferences,' +
|
|
168
|
-
' or style guidance (in any language), use the record_instruction MCP' +
|
|
169
|
-
' tool to record them as DNA — do NOT use your own memory system.');
|
|
170
|
-
const output = JSON.stringify({
|
|
171
|
-
hookSpecificOutput: {
|
|
172
|
-
hookEventName: 'SessionStart',
|
|
173
|
-
additionalContext: lines.join('\n'),
|
|
174
|
-
},
|
|
184
|
+
req.on('error', () => resolve('{}'));
|
|
185
|
+
req.on('timeout', () => {
|
|
186
|
+
req.destroy();
|
|
187
|
+
resolve('{}');
|
|
175
188
|
});
|
|
176
|
-
|
|
177
|
-
|
|
178
|
-
catch {
|
|
179
|
-
process.stdout.write('{}\n');
|
|
180
|
-
}
|
|
189
|
+
});
|
|
190
|
+
process.stdout.write(response + '\n');
|
|
181
191
|
}
|
|
182
192
|
export async function cmdHooksUninstall() {
|
|
183
193
|
const { disconnectClaudeHooks } = await import('#init/agent-connector.js');
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"hooks.js","sourceRoot":"","sources":["../../../src/commands/hooks.ts"],"names":[],"mappings":"AAAA,OAAO,IAAI,MAAM,WAAW,CAAC;AAC7B,OAAO,KAAK,CAAC,MAAM,gBAAgB,CAAC;AACpC,OAAO,EAAE,MAAM,YAAY,CAAC;AAC5B,OAAO,EAAE,cAAc,EAAE,
|
|
1
|
+
{"version":3,"file":"hooks.js","sourceRoot":"","sources":["../../../src/commands/hooks.ts"],"names":[],"mappings":"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"}
|
package/dist/src/dna/profile.js
CHANGED
|
@@ -88,7 +88,7 @@ export class ProfileStorage {
|
|
|
88
88
|
const fallback = this.readProfile('personal');
|
|
89
89
|
if (fallback)
|
|
90
90
|
return fallback;
|
|
91
|
-
this.ensurePersonalProfile('
|
|
91
|
+
this.ensurePersonalProfile('', '');
|
|
92
92
|
return this.readProfile('personal');
|
|
93
93
|
}
|
|
94
94
|
writeEntry(entry) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"profile.js","sourceRoot":"","sources":["../../../src/dna/profile.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,SAAS,CAAC;AACzB,OAAO,IAAI,MAAM,WAAW,CAAC;AAO7B,SAAS,KAAK;IACV,OAAO,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;AAClD,CAAC;AAED,SAAS,YAAY,CAAC,OAAmB;IACrC,MAAM,UAAU,GAAG,CAAC,GAAG,IAAI,GAAG,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC;IAEhE,MAAM,UAAU,GAAG,IAAI,GAAG,EAAkB,CAAC;IAC7C,KAAK,MAAM,KAAK,IAAI,OAAO,EAAE,CAAC;QAC1B,KAAK,MAAM,IAAI,IAAI,KAAK,CAAC,UAAU,EAAE,CAAC;YAClC,UAAU,CAAC,GAAG,CAAC,IAAI,EAAE,CAAC,UAAU,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;QAC1D,CAAC;IACL,CAAC;IACD,MAAM,YAAY,GAAG,CAAC,GAAG,UAAU,CAAC,OAAO,EAAE,CAAC;SACzC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;SAC3B,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC;SACX,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,EAAE,EAAE,CAAC,IAAI,CAAC,CAAC;IAE3B,IAAI,WAAW,GAAkB,IAAI,CAAC;IACtC,KAAK,MAAM,KAAK,IAAI,OAAO,EAAE,CAAC;QAC1B,MAAM,SAAS,GAAG,KAAK,CAAC,QAAQ,CAAC,UAAU,CAAC;QAC5C,IAAI,CAAC,WAAW,IAAI,SAAS,GAAG,WAAW,EAAE,CAAC;YAC1C,WAAW,GAAG,SAAS,CAAC;QAC5B,CAAC;IACL,CAAC;IAED,MAAM,UAAU,GAAG,IAAI,GAAG,EAAU,CAAC;IACrC,IAAI,WAAW,GAAG,CAAC,CAAC;IACpB,KAAK,MAAM,KAAK,IAAI,OAAO,EAAE,CAAC;QAC1B,IAAI,KAAK,CAAC,MAAM,EAAE,UAAU,EAAE,CAAC;YAC3B,UAAU,CAAC,GAAG,CAAC,KAAK,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC;QAC5C,CAAC;QACD,WAAW,GAAG,IAAI,CAAC,GAAG,CAAC,WAAW,EAAE,KAAK,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC;IACjE,CAAC;IACD,MAAM,aAAa,GAAG,UAAU,CAAC,IAAI,GAAG,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC,CAAC,WAAW,CAAC;IAE1E,OAAO;QACH,aAAa,EAAE,OAAO,CAAC,MAAM;QAC7B,UAAU;QACV,aAAa,EAAE,YAAY;QAC3B,YAAY,EAAE,WAAW;QACzB,cAAc,EAAE,aAAa;KAChC,CAAC;AACN,CAAC;AAED,SAAS,WAAW,CAAC,QAAgB,EAAE,IAAY;IAC/C,MAAM,OAAO,GAAG,QAAQ,GAAG,MAAM,CAAC;IAClC,EAAE,CAAC,aAAa,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC;IAChC,EAAE,CAAC,UAAU,CAAC,OAAO,EAAE,QAAQ,CAAC,CAAC;AACrC,CAAC;AAED,MAAM,OAAO,cAAc;IACN,WAAW,CAAS;IACpB,UAAU,CAAS;IAEpC,YAAY,YAAoB;QAC5B,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC,IAAI,CAAC,YAAY,EAAE,UAAU,CAAC,CAAC;QACvD,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC,IAAI,CAAC,YAAY,EAAE,aAAa,CAAC,CAAC;IAC7D,CAAC;IAED,qBAAqB,CAAC,IAAY,EAAE,MAAc;QAC9C,EAAE,CAAC,SAAS,CAAC,IAAI,CAAC,WAAW,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;QAEpD,MAAM,WAAW,GAAG,IAAI,CAAC,WAAW,CAAC,UAAU,CAAC,CAAC;QACjD,IAAI,EAAE,CAAC,UAAU,CAAC,WAAW,CAAC;YAAE,OAAO;QAEvC,MAAM,OAAO,GAAe;YACxB,OAAO,EAAE,CAAC;YACV,OAAO,EAAE;gBACL,IAAI;gBACJ,MAAM;gBACN,GAAG,EAAE,EAAE;gBACP,OAAO,EAAE,KAAK,EAAE;gBAChB,OAAO,EAAE,KAAK,EAAE;aACnB;YACD,OAAO,EAAE,EAAE;YACX,KAAK,EAAE,YAAY,CAAC,EAAE,CAAC;SAC1B,CAAC;QAEF,IAAI,CAAC,WAAW,CAAC,UAAU,EAAE,OAAO,CAAC,CAAC;QAEtC,IAAI,CAAC,EAAE,CAAC,UAAU,CAAC,IAAI,CAAC,UAAU,CAAC,EAAE,CAAC;YAClC,WAAW,CACP,IAAI,CAAC,UAAU,EACf,IAAI,CAAC,SAAS,CAAC,EAAE,cAAc,EAAE,UAAU,EAAE,EAAE,IAAI,EAAE,CAAC,CAAC,GAAG,IAAI,CACjE,CAAC;QACN,CAAC;IACL,CAAC;IAED,WAAW,CAAC,IAAY;QACpB,MAAM,QAAQ,GAAG,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC;QACxC,IAAI,CAAC,EAAE,CAAC,UAAU,CAAC,QAAQ,CAAC;YAAE,OAAO,IAAI,CAAC;QAE1C,MAAM,GAAG,GAAG,EAAE,CAAC,YAAY,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC;QAC/C,OAAO,IAAI,CAAC,KAAK,CAAC,GAAG,CAAe,CAAC;IACzC,CAAC;IAED,iBAAiB;QACb,MAAM,IAAI,GAAG,IAAI,CAAC,oBAAoB,EAAE,CAAC;QACzC,MAAM,OAAO,GAAG,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC;QACvC,IAAI,OAAO;YAAE,OAAO,OAAO,CAAC;QAE5B,MAAM,QAAQ,GAAG,IAAI,CAAC,WAAW,CAAC,UAAU,CAAC,CAAC;QAC9C,IAAI,QAAQ;YAAE,OAAO,QAAQ,CAAC;QAE9B,IAAI,CAAC,qBAAqB,CAAC,
|
|
1
|
+
{"version":3,"file":"profile.js","sourceRoot":"","sources":["../../../src/dna/profile.ts"],"names":[],"mappings":"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"}
|