workspace-manager-cli 1.0.0 → 1.2.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/README.md CHANGED
@@ -65,10 +65,12 @@ Example of a generated `workspace.config.json` (base-core-custom):
65
65
  | `base.name` | string | \_required\* | Base repo name (cache dir). Required when the project type includes base. |
66
66
  | `base.url` | string | \_required\* | Git URL of base repo. |
67
67
  | `base.ref` | string | `"main"` | Branch/tag/commit for base. |
68
+ | `base.from` | string | _n/a_ | Set by `wmc init` to the friendly branch/tag if the input ref was a hash; otherwise matches the ref used. |
68
69
  | `core.name` | string | _required_ | Core repo name (cache dir). |
69
70
  | `core.url` | string | \_required\*\* | Git URL of core repo (required for `core-custom` and `base-core-custom`; omit for `base-core`). |
70
71
  | `core.path` | string | `"core"` | Local path to core folder (only for `base-core` type). |
71
72
  | `core.ref` | string | `"main"` | Branch/tag/commit for core (only used when `core.url` is set). |
73
+ | `core.from` | string | _n/a_ | Set by `wmc init` to the friendly branch/tag if the input ref was a hash; otherwise matches the ref used. |
72
74
  | (fixed) workspace | string | `"workspace"` | The workspace directory is fixed to `./workspace` and is not configurable |
73
75
  | `custom.path` | string | `"custom"` | Path to your custom code directory |
74
76
  | `install.command` | string | `"npm install"` | Command to run inside `workspace` after copying (skipped with `--no-install`) |
@@ -117,6 +119,7 @@ wmc init [options]
117
119
  - `base-core-custom`: Clones both base and core
118
120
  - Checks out the chosen refs
119
121
  - Persists the resolved hashes/refs to `workspace.config.json`
122
+ - If you pass a commit hash, `wmc` will try to resolve a friendly branch/tag and store it in `base.from` / `core.from`; otherwise it stores the ref you provided.
120
123
  - (Optional) Builds the workspace when `--build` is provided
121
124
 
122
125
  ### `build` (alias: `sync`)
@@ -177,19 +180,23 @@ wmc status
177
180
 
178
181
  - `core-custom`:
179
182
  - Core repo cache status (cloned, commit, branch)
183
+ - Core ref/`from` (shows friendly branch/tag if initialized with a hash)
180
184
  - Core updates available (if any)
181
185
  - Custom directory uncommitted changes
182
186
 
183
187
  - `base-core`:
184
188
  - Base repo cache status (cloned, commit, branch)
189
+ - Base ref/`from` (shows friendly branch/tag if initialized with a hash)
185
190
  - Base updates available (if any)
186
191
  - Local core directory location
187
192
  - Custom directory uncommitted changes (if applicable)
188
193
 
189
194
  - `base-core-custom`:
190
195
  - Base repo cache status (cloned, commit, branch)
196
+ - Base ref/`from` (shows friendly branch/tag if initialized with a hash)
191
197
  - Base updates available (if any)
192
198
  - Core repo cache status (cloned, commit, branch)
199
+ - Core ref/`from` (shows friendly branch/tag if initialized with a hash)
193
200
  - Core updates available (if any)
194
201
  - Custom directory uncommitted changes
195
202
 
@@ -222,6 +229,27 @@ Core repository is cloned to a local cache directory and reused across builds:
222
229
  - **Fast builds**: Reuses cached repositories, only fetches when needed
223
230
  - **Update notifications**: `wmc status` shows when new commits are available
224
231
 
232
+ ### Workflow Diagram
233
+
234
+ ```mermaid
235
+ graph TD
236
+ A["wmc init --build"] --> B{Project Type?}
237
+ B -->|core-custom| C["Clone core to<br/>.wmc-cache/"]
238
+ B -->|base-core| D["Clone base to<br/>.wmc-cache/"]
239
+ B -->|base-core-custom| E["Clone base & core<br/>to .wmc-cache/"]
240
+ C --> F["Copy core →<br/>workspace/"]
241
+ D --> G["Copy base →<br/>workspace/"]
242
+ E --> H["Copy base →<br/>workspace/"]
243
+ F --> I["Overlay custom/ →<br/>workspace/src/custom"]
244
+ G --> J["Overlay local core →<br/>workspace/src/core"]
245
+ H --> K["Copy ./wmc-cache/{core}/src/core →<br/>workspace/src/core"]
246
+ I --> L["Run npm install"]
247
+ J --> L
248
+ K --> M["Overlay custom/ →<br/>workspace/src/core/custom"]
249
+ M --> L
250
+ L --> N["✅ Workspace Ready"]
251
+ ```
252
+
225
253
  **Project Structure:**
226
254
 
227
255
  ```
@@ -231,7 +259,7 @@ Core repository is cloned to a local cache directory and reused across builds:
231
259
  │ workspace.config.json │
232
260
  │ custom/ │
233
261
  │ .wmc-cache/ ← Git repos cloned here │
234
- │ └── CORE-EKCFastag/ │
262
+ │ └── CORE-Project/ │
235
263
  │ ├── .git/ │
236
264
  │ └── src/ │
237
265
  │ workspace/ (generated) ← Files copied here │
@@ -1 +1 @@
1
- {"version":3,"file":"build.d.ts","sourceRoot":"","sources":["../src/build.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,aAAa,CAAC;AAElD,OAAO,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AAErC,MAAM,WAAW,YAAY;IAC3B,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,MAAM,CAAC,EAAE,OAAO,CAAC;CAClB;AAED,MAAM,WAAW,WAAW;IAC1B,OAAO,EAAE,OAAO,CAAC;IACjB,eAAe,EAAE,MAAM,CAAC;IACxB,eAAe,EAAE,MAAM,CAAC;IACxB,iBAAiB,EAAE,MAAM,CAAC;IAC1B,UAAU,EAAE,OAAO,CAAC;IACpB,OAAO,EAAE,MAAM,EAAE,CAAC;CACnB;AAuGD;;GAEG;AACH,wBAAsB,cAAc,CAClC,MAAM,EAAE,cAAc,EACtB,MAAM,EAAE,MAAM,EACd,OAAO,GAAE,YAAiB,GACzB,OAAO,CAAC,WAAW,CAAC,CA8ItB"}
1
+ {"version":3,"file":"build.d.ts","sourceRoot":"","sources":["../src/build.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,aAAa,CAAC;AAElD,OAAO,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AAGrC,MAAM,WAAW,YAAY;IAC3B,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,MAAM,CAAC,EAAE,OAAO,CAAC;CAClB;AAED,MAAM,WAAW,WAAW;IAC1B,OAAO,EAAE,OAAO,CAAC;IACjB,eAAe,EAAE,MAAM,CAAC;IACxB,eAAe,EAAE,MAAM,CAAC;IACxB,iBAAiB,EAAE,MAAM,CAAC;IAC1B,UAAU,EAAE,OAAO,CAAC;IACpB,OAAO,EAAE,MAAM,EAAE,CAAC;CACnB;AAsKD;;GAEG;AACH,wBAAsB,cAAc,CAClC,MAAM,EAAE,cAAc,EACtB,MAAM,EAAE,MAAM,EACd,OAAO,GAAE,YAAiB,GACzB,OAAO,CAAC,WAAW,CAAC,CAwItB"}
package/dist/build.js CHANGED
@@ -2,6 +2,7 @@ import fs from "fs-extra";
2
2
  import path from "path";
3
3
  import { spawn } from "child_process";
4
4
  import { getCorePath, getBasePath, isGitRepo } from "./git.js";
5
+ import { transformWebpackConfig } from "./webpack-transform.js";
5
6
  /**
6
7
  * Default excludes for copying
7
8
  */
@@ -21,16 +22,18 @@ import { copyWithExcludes } from "./copy.js";
21
22
  * the build can proceed and the user can clean up the stale folder manually.
22
23
  */
23
24
  async function removePathWithRetries(target, logger, attempts = 5) {
25
+ logger.startSpinner(`Removing ${target}...`);
24
26
  for (let i = 0; i < attempts; i++) {
25
27
  try {
26
28
  await fs.remove(target);
29
+ logger.succeedSpinner(`Removed ${target}`);
27
30
  return;
28
31
  }
29
32
  catch (err) {
30
33
  const code = err && err.code;
31
34
  if (code === "EBUSY" || code === "EPERM" || code === "ENOTEMPTY") {
32
35
  const wait = Math.min(1000 * 2 ** i, 5000);
33
- logger.warn(`Remove failed (attempt ${i + 1}/${attempts}): ${code}. Retrying in ${wait}ms...`);
36
+ logger.updateSpinner(`Remove failed (attempt ${i + 1}/${attempts}): ${code}. Retrying in ${wait}ms...`);
34
37
  await new Promise((r) => setTimeout(r, wait));
35
38
  continue;
36
39
  }
@@ -42,10 +45,11 @@ async function removePathWithRetries(target, logger, attempts = 5) {
42
45
  try {
43
46
  const tmp = `${target}.wmc-deleted-${Date.now()}`;
44
47
  await fs.move(target, tmp, { overwrite: true });
45
- logger.warn(`Could not remove '${target}' after ${attempts} attempts. Renamed to '${tmp}' for manual cleanup.`);
48
+ logger.failSpinner(`Could not remove '${target}' after ${attempts} attempts. Renamed to '${tmp}' for manual cleanup.`);
46
49
  return;
47
50
  }
48
51
  catch (err) {
52
+ logger.stopSpinner();
49
53
  logger.error(`Failed to remove or rename '${target}'. Please close programs that may be locking files (editors, terminals), ensure no Node processes are using the directory, then remove it manually. Error: ${err.message}`);
50
54
  throw err;
51
55
  }
@@ -55,7 +59,8 @@ async function removePathWithRetries(target, logger, attempts = 5) {
55
59
  */
56
60
  async function runCommand(command, cwd, logger) {
57
61
  return new Promise((resolve) => {
58
- logger.info(`Running: ${command}`);
62
+ const startTime = Date.now();
63
+ logger.startSpinner(`Running ${command}...`);
59
64
  // Parse command - handle cross-platform
60
65
  const isWindows = process.platform === "win32";
61
66
  const shell = isWindows ? "cmd.exe" : "/bin/sh";
@@ -66,21 +71,66 @@ async function runCommand(command, cwd, logger) {
66
71
  env: { ...process.env },
67
72
  });
68
73
  child.on("close", (code) => {
74
+ const elapsed = ((Date.now() - startTime) / 1000).toFixed(1);
69
75
  if (code === 0) {
70
- logger.success(`Command completed successfully`);
76
+ logger.succeedSpinner(`Command completed in ${elapsed}s`);
71
77
  resolve(true);
72
78
  }
73
79
  else {
74
- logger.error(`Command failed with exit code ${code}`);
80
+ logger.failSpinner(`Command failed with exit code ${code} after ${elapsed}s`);
75
81
  resolve(false);
76
82
  }
77
83
  });
78
84
  child.on("error", (err) => {
79
- logger.error(`Command failed: ${err.message}`);
85
+ logger.failSpinner(`Command failed: ${err.message}`);
80
86
  resolve(false);
81
87
  });
82
88
  });
83
89
  }
90
+ /**
91
+ * Validate that required local directories exist before building workspace
92
+ */
93
+ async function validateLocalDirectories(config, logger, dryRun) {
94
+ switch (config.projectType) {
95
+ case "core-custom":
96
+ // Check for custom directory
97
+ if (config.customPath) {
98
+ if (!(await fs.pathExists(config.customPath))) {
99
+ logger.error(`Custom directory not found: ${config.customPath}`);
100
+ return false;
101
+ }
102
+ if (!dryRun) {
103
+ logger.info(`Validated custom directory: ${config.customPath}`);
104
+ }
105
+ }
106
+ break;
107
+ case "base-core":
108
+ // Check for local core directory
109
+ if (config.coreLocalPath) {
110
+ if (!(await fs.pathExists(config.coreLocalPath))) {
111
+ logger.error(`Local core directory not found: ${config.coreLocalPath}`);
112
+ return false;
113
+ }
114
+ if (!dryRun) {
115
+ logger.info(`Validated local core directory: ${config.coreLocalPath}`);
116
+ }
117
+ }
118
+ break;
119
+ case "base-core-custom":
120
+ // Check for custom directory
121
+ if (config.customPath) {
122
+ if (!(await fs.pathExists(config.customPath))) {
123
+ logger.error(`Custom directory not found: ${config.customPath}`);
124
+ return false;
125
+ }
126
+ if (!dryRun) {
127
+ logger.info(`Validated custom directory: ${config.customPath}`);
128
+ }
129
+ }
130
+ break;
131
+ }
132
+ return true;
133
+ }
84
134
  /**
85
135
  * Build the workspace by copying layers based on project type
86
136
  */
@@ -110,6 +160,11 @@ export async function buildWorkspace(config, logger, options = {}) {
110
160
  if (dryRun) {
111
161
  logger.info(`Effective excludes: ${excludesDisplay}`);
112
162
  }
163
+ // Validate required local directories exist BEFORE creating workspace
164
+ const validationResult = await validateLocalDirectories(config, logger, dryRun);
165
+ if (!validationResult) {
166
+ return result;
167
+ }
113
168
  // Step 1: Wipe workspace directory if exists (ONLY if not root)
114
169
  const isRoot = path.relative(config.projectRoot, config.workspacePath) === "";
115
170
  if (!isRoot && (await fs.pathExists(config.workspacePath))) {
@@ -143,31 +198,17 @@ export async function buildWorkspace(config, logger, options = {}) {
143
198
  await buildBaseCoreCustom(config, logger, result, actions, excludes, dryRun);
144
199
  break;
145
200
  }
201
+ // Stop immediately if build failed - don't run install
146
202
  if (!result.success) {
147
203
  if (dryRun) {
148
- // Even if build steps failed (e.g., missing repos), show planned actions including .gitignore in dry-run
149
- actions.push("Create .gitignore");
150
- logger.debug("[dry-run] Create .gitignore");
151
204
  logger.info("Dry run complete. Actions that would be performed:");
152
205
  actions.forEach((action) => logger.info(` - ${action}`));
153
206
  }
207
+ else {
208
+ logger.error("Build failed. Stopping before install.");
209
+ }
154
210
  return result;
155
211
  }
156
- // Create .gitignore (before install) - save it in project root
157
- actions.push("Create .gitignore");
158
- const gitignorePath = path.join(config.projectRoot, ".gitignore");
159
- // Minimal, fixed .gitignore (workspace and cache)
160
- const gitignoreContent = `# Workspace CLI
161
- workspace/
162
- .wmc-cache/
163
- `;
164
- if (!dryRun) {
165
- await fs.writeFile(gitignorePath, gitignoreContent, "utf-8");
166
- logger.info(`Created .gitignore at ${gitignorePath}`);
167
- }
168
- else {
169
- logger.debug(`[dry-run] Create .gitignore at ${gitignorePath}`);
170
- }
171
212
  // Run install command
172
213
  if (!noInstall && config.install.command) {
173
214
  actions.push(`Run install: ${config.install.command}`);
@@ -207,10 +248,12 @@ async function buildCoreCustom(config, logger, result, actions, excludes, dryRun
207
248
  const isLocalCoreSource = !!config.coreSrcPath || !isRemoteCore;
208
249
  if (!corePath || !(await fs.pathExists(corePath))) {
209
250
  logger.error(`Core source not found at ${corePath}.`);
251
+ result.success = false;
210
252
  return;
211
253
  }
212
254
  if (!isLocalCoreSource && !(await isGitRepo(corePath))) {
213
255
  logger.error(`Core repository not found at ${corePath}. Run 'init' first.`);
256
+ result.success = false;
214
257
  return;
215
258
  }
216
259
  // Surface the core source being used for visibility
@@ -230,7 +273,13 @@ async function buildCoreCustom(config, logger, result, actions, excludes, dryRun
230
273
  if (!dryRun) {
231
274
  logger.success(`Copied ${result.coreFilesCopied} files from core`);
232
275
  }
233
- // Step 2: Symlink custom directory to src/custom
276
+ // Step 2: Transform webpack config if enabled
277
+ const webpackTransformEnabled = config.webpackTransform?.enabled ?? true;
278
+ if (webpackTransformEnabled) {
279
+ actions.push("Transform webpack config for symlink support");
280
+ await transformWebpackConfig(config, logger, dryRun);
281
+ }
282
+ // Step 3: Symlink custom directory to src/custom
234
283
  const customMountPath = path.join(config.workspacePath, "src", "custom");
235
284
  if (config.customPath && (await fs.pathExists(config.customPath))) {
236
285
  actions.push(`Symlink custom: ${config.customDir || config.custom?.path} -> ${customMountPath}`);
@@ -252,7 +301,9 @@ async function buildCoreCustom(config, logger, result, actions, excludes, dryRun
252
301
  }
253
302
  }
254
303
  else if (config.customPath) {
255
- logger.warn(`Custom directory not found: ${config.customPath}`);
304
+ logger.error(`Custom directory not found: ${config.customPath}`);
305
+ result.success = false;
306
+ return;
256
307
  }
257
308
  result.success = true;
258
309
  }
@@ -264,6 +315,7 @@ async function buildBaseCore(config, logger, result, actions, excludes, dryRun)
264
315
  // Verify base is available
265
316
  if (!basePath || !(await isGitRepo(basePath))) {
266
317
  logger.error(`Base repository not found at ${basePath}. Run 'init' first.`);
318
+ result.success = false;
267
319
  return;
268
320
  }
269
321
  // Step 1: Copy base contents to workspace root
@@ -293,7 +345,15 @@ async function buildBaseCore(config, logger, result, actions, excludes, dryRun)
293
345
  }
294
346
  }
295
347
  else if (config.coreLocalPath) {
296
- logger.warn(`Local core directory not found: ${config.coreLocalPath}`);
348
+ logger.error(`Local core directory not found: ${config.coreLocalPath}`);
349
+ result.success = false;
350
+ return;
351
+ }
352
+ // Step 3: Transform webpack config if enabled
353
+ const webpackTransformEnabled = config.webpackTransform?.enabled ?? true;
354
+ if (webpackTransformEnabled) {
355
+ actions.push("Transform webpack config for symlink support");
356
+ await transformWebpackConfig(config, logger, dryRun);
297
357
  }
298
358
  result.success = true;
299
359
  }
@@ -306,11 +366,13 @@ async function buildBaseCoreCustom(config, logger, result, actions, excludes, dr
306
366
  // Verify base is available
307
367
  if (!basePath || !(await isGitRepo(basePath))) {
308
368
  logger.error(`Base repository not found at ${basePath}. Run 'init' first.`);
369
+ result.success = false;
309
370
  return;
310
371
  }
311
372
  // Verify core is available
312
373
  if (!(await isGitRepo(corePath))) {
313
374
  logger.error(`Core repository not found at ${corePath}. Run 'init' first.`);
375
+ result.success = false;
314
376
  return;
315
377
  }
316
378
  // Step 1: Copy base contents to workspace root
@@ -322,40 +384,80 @@ async function buildBaseCoreCustom(config, logger, result, actions, excludes, dr
322
384
  // Step 2: Overlay remote core to src/core (explicit override wins)
323
385
  let coreSrcPath;
324
386
  if (config.coreSrcPath) {
387
+ // Use explicitly configured core source path
325
388
  coreSrcPath = config.coreSrcPath;
326
389
  // Surface chosen core source as an action for dry-run visibility
327
390
  actions.push(`Core source: ${coreSrcPath}`);
328
391
  logger.info(`Using explicit core source: ${coreSrcPath}`);
329
392
  }
330
393
  else {
394
+ // Default: assume core source is at <corePath>/src/core
331
395
  coreSrcPath = path.join(corePath, "src", "core");
332
- // Fallback: some repos nest the project in a top-level folder named after the repo
396
+ // Fallback: some repos have different structures
397
+ // If the default path doesn't exist, try alternative locations
333
398
  if (!(await fs.pathExists(coreSrcPath)) &&
334
399
  config.core &&
335
400
  config.core.name) {
401
+ // Try 1: <corePath>/<repo-name>/src/core (nested repo structure)
336
402
  const altNestedSrc = path.join(corePath, config.core.name, "src", "core");
403
+ // Try 2: <corePath>/<repo-name> (entire nested project as source)
337
404
  const altRoot = path.join(corePath, config.core.name);
405
+ // Try 3: <corePath>/core (core directly in repo root)
406
+ const altCoreDir = path.join(corePath, "core");
338
407
  if (await fs.pathExists(altNestedSrc)) {
408
+ // Found nested src/core structure
339
409
  coreSrcPath = altNestedSrc;
340
410
  logger.info(`Using nested core path: ${coreSrcPath}`);
341
411
  }
342
412
  else if (await fs.pathExists(altRoot)) {
413
+ // Found nested project root
343
414
  coreSrcPath = altRoot;
344
415
  logger.info(`Using project-root as core source: ${coreSrcPath}`);
345
416
  }
417
+ else if (await fs.pathExists(altCoreDir)) {
418
+ // Found core directory in repo root
419
+ coreSrcPath = altCoreDir;
420
+ logger.info(`Using core directory in repo root: ${coreSrcPath}`);
421
+ }
346
422
  else {
347
- logger.warn(`Core source not found at ${path.join(corePath, "src", "core")} or fallback locations`);
423
+ // None of the fallback paths exist
424
+ logger.error(`Core source not found at ${path.join(corePath, "src", "core")} or fallback locations (${altNestedSrc}, ${altRoot}, ${altCoreDir})`);
425
+ result.success = false;
426
+ return;
348
427
  }
349
428
  }
350
429
  }
430
+ // Verify the final coreSrcPath exists
431
+ if (!(await fs.pathExists(coreSrcPath))) {
432
+ logger.error(`Core source path does not exist: ${coreSrcPath}`);
433
+ result.success = false;
434
+ return;
435
+ }
351
436
  actions.push(`Overlay core: ${coreSrcPath} -> ${config.coreMountPath}`);
352
437
  if (!dryRun) {
438
+ // Clean existing core directory before copying to ensure deleted files don't persist
439
+ if (await fs.pathExists(config.coreMountPath)) {
440
+ logger.info(`Cleaning existing core directory: ${config.coreMountPath}`);
441
+ await removePathWithRetries(config.coreMountPath, logger);
442
+ }
353
443
  await fs.ensureDir(config.coreMountPath);
354
444
  }
445
+ else {
446
+ // Log cleanup action in dry-run mode
447
+ if (await fs.pathExists(config.coreMountPath)) {
448
+ logger.debug(`[dry-run] Would clean: ${config.coreMountPath}`);
449
+ }
450
+ }
355
451
  result.coreFilesCopied = await copyWithExcludes(coreSrcPath, config.coreMountPath, excludes, logger, dryRun);
356
452
  if (!dryRun) {
357
453
  logger.success(`Copied ${result.coreFilesCopied} files from core`);
358
454
  }
455
+ // Step 2: Transform webpack config if enabled
456
+ const webpackTransformEnabled = config.webpackTransform?.enabled ?? true;
457
+ if (webpackTransformEnabled) {
458
+ actions.push("Transform webpack config for symlink support");
459
+ await transformWebpackConfig(config, logger, dryRun);
460
+ }
359
461
  // Step 3: Symlink custom to src/core/custom
360
462
  if (config.customPath && (await fs.pathExists(config.customPath))) {
361
463
  actions.push(`Symlink custom: ${config.customDir} -> ${config.customMountPath}`);
@@ -377,7 +479,9 @@ async function buildBaseCoreCustom(config, logger, result, actions, excludes, dr
377
479
  }
378
480
  }
379
481
  else if (config.customPath) {
380
- logger.warn(`Custom directory not found: ${config.customPath}`);
482
+ logger.error(`Custom directory not found: ${config.customPath}`);
483
+ result.success = false;
484
+ return;
381
485
  }
382
486
  result.success = true;
383
487
  }
package/dist/build.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"build.js","sourceRoot":"","sources":["../src/build.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"build.js","sourceRoot":"","sources":["../src/build.ts"],"names":[],"mappings":"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"}