@openreef/cli 0.4.0 → 0.5.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.
Files changed (61) hide show
  1. package/README.md +15 -1
  2. package/dist/commands/diff.d.ts +9 -0
  3. package/dist/commands/diff.d.ts.map +1 -0
  4. package/dist/commands/diff.js +34 -0
  5. package/dist/commands/diff.js.map +1 -0
  6. package/dist/commands/install.d.ts.map +1 -1
  7. package/dist/commands/install.js +32 -7
  8. package/dist/commands/install.js.map +1 -1
  9. package/dist/commands/lock.d.ts +5 -1
  10. package/dist/commands/lock.d.ts.map +1 -1
  11. package/dist/commands/lock.js +37 -3
  12. package/dist/commands/lock.js.map +1 -1
  13. package/dist/commands/logs.d.ts.map +1 -1
  14. package/dist/commands/logs.js +261 -13
  15. package/dist/commands/logs.js.map +1 -1
  16. package/dist/commands/publish.d.ts +8 -0
  17. package/dist/commands/publish.d.ts.map +1 -0
  18. package/dist/commands/publish.js +146 -0
  19. package/dist/commands/publish.js.map +1 -0
  20. package/dist/commands/update.d.ts.map +1 -1
  21. package/dist/commands/update.js +32 -207
  22. package/dist/commands/update.js.map +1 -1
  23. package/dist/core/config-patcher.d.ts.map +1 -1
  24. package/dist/core/config-patcher.js +9 -3
  25. package/dist/core/config-patcher.js.map +1 -1
  26. package/dist/core/diff-engine.d.ts +21 -0
  27. package/dist/core/diff-engine.d.ts.map +1 -0
  28. package/dist/core/diff-engine.js +140 -0
  29. package/dist/core/diff-engine.js.map +1 -0
  30. package/dist/core/github-api.d.ts +37 -0
  31. package/dist/core/github-api.d.ts.map +1 -0
  32. package/dist/core/github-api.js +163 -0
  33. package/dist/core/github-api.js.map +1 -0
  34. package/dist/core/registry.d.ts.map +1 -1
  35. package/dist/core/registry.js +17 -39
  36. package/dist/core/registry.js.map +1 -1
  37. package/dist/core/skills-registry.d.ts +32 -0
  38. package/dist/core/skills-registry.d.ts.map +1 -0
  39. package/dist/core/skills-registry.js +186 -0
  40. package/dist/core/skills-registry.js.map +1 -0
  41. package/dist/index.d.ts +2 -1
  42. package/dist/index.d.ts.map +1 -1
  43. package/dist/index.js +289 -225
  44. package/dist/index.js.map +1 -1
  45. package/dist/types/lockfile.d.ts +9 -0
  46. package/dist/types/lockfile.d.ts.map +1 -0
  47. package/dist/types/lockfile.js +2 -0
  48. package/dist/types/lockfile.js.map +1 -0
  49. package/dist/utils/download.d.ts +18 -0
  50. package/dist/utils/download.d.ts.map +1 -0
  51. package/dist/utils/download.js +72 -0
  52. package/dist/utils/download.js.map +1 -0
  53. package/dist/utils/plan-display.d.ts +3 -0
  54. package/dist/utils/plan-display.d.ts.map +1 -0
  55. package/dist/utils/plan-display.js +80 -0
  56. package/dist/utils/plan-display.js.map +1 -0
  57. package/dist/utils/semver.d.ts +12 -0
  58. package/dist/utils/semver.d.ts.map +1 -0
  59. package/dist/utils/semver.js +82 -0
  60. package/dist/utils/semver.js.map +1 -0
  61. package/package.json +3 -3
package/README.md CHANGED
@@ -143,12 +143,14 @@ Variables support `{{VARIABLE_NAME}}` interpolation across all text files. Sensi
143
143
  | `reef install <source>` | Deploy a formation (local path, tarball, or registry name) |
144
144
  | `reef uninstall <identifier>` | Remove a formation and all its resources |
145
145
  | `reef update <source>` | Update a deployed formation (preserves agent-written data) |
146
+ | `reef diff <source>` | Compare local formation source against deployed state |
146
147
  | `reef repair <identifier>` | Detect and fix discrepancies in a deployed formation |
147
148
  | `reef export <identifier>` | Export a deployed formation's source to a local directory |
148
149
  | `reef logs <identifier>` | View session logs for a formation's agents |
149
150
  | `reef list` | List installed formations |
150
151
  | `reef status <identifier>` | Show status of a deployed formation |
151
- | `reef lock <identifier>` | Pin formation versions via ClawHub (not yet available) |
152
+ | `reef lock [path]` | Resolve and pin skill dependency versions to `reef.lock.json` |
153
+ | `reef publish [path]` | Publish a formation to the GitHub-based registry |
152
154
 
153
155
  ## Formation Registry
154
156
 
@@ -175,6 +177,18 @@ reef install daily-ops --skip-cache
175
177
 
176
178
  **Resolution precedence:** local path > tarball > registry name. If `daily-ops` is a local directory or `.tar.gz` file, it will be used directly.
177
179
 
180
+ ## Publishing
181
+
182
+ Publish formations to the GitHub-based registry:
183
+
184
+ ```bash
185
+ reef publish . # uses REEF_GITHUB_TOKEN or GITHUB_TOKEN
186
+ reef publish . --token ghp_xxx # explicit token
187
+ reef publish . --yes # skip confirmation
188
+ ```
189
+
190
+ Set `REEF_GITHUB_TOKEN` (or `GITHUB_TOKEN`) for authentication. The publish flow uses an atomic draft-release workflow to prevent partial updates.
191
+
178
192
  ## Security
179
193
 
180
194
  - **No code execution.** Formations are data files only (JSON + Markdown). Nothing runs during install.
@@ -0,0 +1,9 @@
1
+ export interface DiffOptions {
2
+ namespace?: string;
3
+ set?: string[];
4
+ noEnv?: boolean;
5
+ registryUrl?: string;
6
+ skipCache?: boolean;
7
+ }
8
+ export declare function diff(inputPath: string, options: DiffOptions): Promise<void>;
9
+ //# sourceMappingURL=diff.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"diff.d.ts","sourceRoot":"","sources":["../../src/commands/diff.ts"],"names":[],"mappings":"AAOA,MAAM,WAAW,WAAW;IAC1B,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,GAAG,CAAC,EAAE,MAAM,EAAE,CAAC;IACf,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,SAAS,CAAC,EAAE,OAAO,CAAC;CACrB;AAED,wBAAsB,IAAI,CACxB,SAAS,EAAE,MAAM,EACjB,OAAO,EAAE,WAAW,GACnB,OAAO,CAAC,IAAI,CAAC,CAgCf"}
@@ -0,0 +1,34 @@
1
+ import { rm } from 'node:fs/promises';
2
+ import chalk from 'chalk';
3
+ import { resolveFormationPath } from '../utils/tarball.js';
4
+ import { computeFormationDiff, DiffValidationError } from '../core/diff-engine.js';
5
+ import { displayMigrationPlan } from '../utils/plan-display.js';
6
+ import { icons } from '../utils/output.js';
7
+ export async function diff(inputPath, options) {
8
+ const { formationPath, tempDir } = await resolveFormationPath(inputPath, { registryUrl: options.registryUrl, skipCache: options.skipCache });
9
+ try {
10
+ const result = await computeFormationDiff(formationPath, {
11
+ namespace: options.namespace,
12
+ set: options.set,
13
+ noEnv: options.noEnv,
14
+ });
15
+ if (result.plan.isEmpty) {
16
+ console.log(`${icons.success} ${chalk.green('No changes detected.')}`);
17
+ return;
18
+ }
19
+ displayMigrationPlan(result.plan, result.namespace, result.manifest.name);
20
+ }
21
+ catch (err) {
22
+ if (err instanceof DiffValidationError) {
23
+ console.error(`${icons.error} ${err.message}`);
24
+ process.exit(1);
25
+ }
26
+ throw err;
27
+ }
28
+ finally {
29
+ if (tempDir) {
30
+ await rm(tempDir, { recursive: true, force: true }).catch(() => { });
31
+ }
32
+ }
33
+ }
34
+ //# sourceMappingURL=diff.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"diff.js","sourceRoot":"","sources":["../../src/commands/diff.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,EAAE,EAAE,MAAM,kBAAkB,CAAC;AACtC,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,EAAE,oBAAoB,EAAE,MAAM,qBAAqB,CAAC;AAC3D,OAAO,EAAE,oBAAoB,EAAE,mBAAmB,EAAE,MAAM,wBAAwB,CAAC;AACnF,OAAO,EAAE,oBAAoB,EAAE,MAAM,0BAA0B,CAAC;AAChE,OAAO,EAAE,KAAK,EAAE,MAAM,oBAAoB,CAAC;AAU3C,MAAM,CAAC,KAAK,UAAU,IAAI,CACxB,SAAiB,EACjB,OAAoB;IAEpB,MAAM,EAAE,aAAa,EAAE,OAAO,EAAE,GAAG,MAAM,oBAAoB,CAC3D,SAAS,EACT,EAAE,WAAW,EAAE,OAAO,CAAC,WAAW,EAAE,SAAS,EAAE,OAAO,CAAC,SAAS,EAAE,CACnE,CAAC;IAEF,IAAI,CAAC;QACH,MAAM,MAAM,GAAG,MAAM,oBAAoB,CAAC,aAAa,EAAE;YACvD,SAAS,EAAE,OAAO,CAAC,SAAS;YAC5B,GAAG,EAAE,OAAO,CAAC,GAAG;YAChB,KAAK,EAAE,OAAO,CAAC,KAAK;SACrB,CAAC,CAAC;QAEH,IAAI,MAAM,CAAC,IAAI,CAAC,OAAO,EAAE,CAAC;YACxB,OAAO,CAAC,GAAG,CACT,GAAG,KAAK,CAAC,OAAO,IAAI,KAAK,CAAC,KAAK,CAAC,sBAAsB,CAAC,EAAE,CAC1D,CAAC;YACF,OAAO;QACT,CAAC;QAED,oBAAoB,CAAC,MAAM,CAAC,IAAI,EAAE,MAAM,CAAC,SAAS,EAAE,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;IAC5E,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,IAAI,GAAG,YAAY,mBAAmB,EAAE,CAAC;YACvC,OAAO,CAAC,KAAK,CAAC,GAAG,KAAK,CAAC,KAAK,IAAI,GAAG,CAAC,OAAO,EAAE,CAAC,CAAC;YAC/C,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QAClB,CAAC;QACD,MAAM,GAAG,CAAC;IACZ,CAAC;YAAS,CAAC;QACT,IAAI,OAAO,EAAE,CAAC;YACZ,MAAM,EAAE,CAAC,OAAO,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC,KAAK,CAAC,GAAG,EAAE,GAAE,CAAC,CAAC,CAAC;QACtE,CAAC;IACH,CAAC;AACH,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"install.d.ts","sourceRoot":"","sources":["../../src/commands/install.ts"],"names":[],"mappings":"AAiDA,MAAM,WAAW,cAAc;IAC7B,GAAG,CAAC,EAAE,MAAM,EAAE,CAAC;IACf,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,GAAG,CAAC,EAAE,OAAO,CAAC;IACd,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,kBAAkB,CAAC,EAAE,OAAO,CAAC;IAC7B,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,SAAS,CAAC,EAAE,OAAO,CAAC;CACrB;AAoBD,wBAAsB,OAAO,CAC3B,SAAS,EAAE,MAAM,EACjB,OAAO,EAAE,cAAc,GACtB,OAAO,CAAC,IAAI,CAAC,CAaf"}
1
+ {"version":3,"file":"install.d.ts","sourceRoot":"","sources":["../../src/commands/install.ts"],"names":[],"mappings":"AAkDA,MAAM,WAAW,cAAc;IAC7B,GAAG,CAAC,EAAE,MAAM,EAAE,CAAC;IACf,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,GAAG,CAAC,EAAE,OAAO,CAAC;IACd,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,kBAAkB,CAAC,EAAE,OAAO,CAAC;IAC7B,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,SAAS,CAAC,EAAE,OAAO,CAAC;CACrB;AAoBD,wBAAsB,OAAO,CAC3B,SAAS,EAAE,MAAM,EACjB,OAAO,EAAE,cAAc,GACtB,OAAO,CAAC,IAAI,CAAC,CAaf"}
@@ -14,6 +14,7 @@ import { GatewayClient, resolveGatewayAuth } from '../core/gateway-client.js';
14
14
  import { loadState, saveState, deleteState, listStates, computeFileHash, persistSourceSnapshot, } from '../core/state-manager.js';
15
15
  import { generateAgentsMd } from '../core/agents-md-generator.js';
16
16
  import { listFiles } from '../utils/fs.js';
17
+ import { enforceLockfile } from '../core/skills-registry.js';
17
18
  import { icons, header, label, value, table } from '../utils/output.js';
18
19
  const TOKEN_RE = /\{\{\w+\}\}/;
19
20
  function isBinaryBuffer(buf) {
@@ -262,16 +263,40 @@ async function _install(formationPath, options, registryRef) {
262
263
  cleanupSpinner.succeed('Cleaned up existing installation');
263
264
  }
264
265
  // ── Phase 4: Dependencies ──
265
- if (manifest.dependencies?.skills) {
266
- const skills = Object.keys(manifest.dependencies.skills);
267
- if (skills.length > 0) {
268
- console.log(`${icons.warning} ${chalk.yellow('Skills not yet installed (ClawHub integration planned):')} ${skills.join(', ')}`);
266
+ // Lockfile enforcement for skills
267
+ if (manifest.dependencies?.skills && Object.keys(manifest.dependencies.skills).length > 0) {
268
+ try {
269
+ await enforceLockfile(formationPath, manifest.dependencies.skills, {
270
+ registryUrl: options.registryUrl,
271
+ skipCache: options.skipCache,
272
+ });
273
+ }
274
+ catch (err) {
275
+ console.error(`${icons.error} ${err instanceof Error ? err.message : String(err)}`);
276
+ process.exit(1);
269
277
  }
270
278
  }
279
+ // Per-service dependency warnings
271
280
  if (manifest.dependencies?.services?.length) {
272
- const unconfigured = manifest.dependencies.services.filter((s) => s.required);
273
- if (unconfigured.length > 0) {
274
- console.log(`${icons.warning} ${chalk.yellow('Required services — ensure they are configured:')} ${unconfigured.map((s) => s.name).join(', ')}`);
281
+ const required = manifest.dependencies.services.filter((s) => s.required);
282
+ const optional = manifest.dependencies.services.filter((s) => !s.required);
283
+ if (required.length > 0) {
284
+ console.log(` ${chalk.red(icons.warning)} ${chalk.bold('Required services:')}`);
285
+ for (const svc of required) {
286
+ const urlPart = svc.url ? chalk.dim(` (${svc.url})`) : '';
287
+ const descPart = svc.description ? chalk.dim(` - ${svc.description}`) : '';
288
+ console.log(` - ${chalk.bold(svc.name)}${urlPart}${descPart}`);
289
+ }
290
+ }
291
+ if (optional.length > 0) {
292
+ console.log(` ${chalk.dim(icons.info)} ${chalk.dim('Optional services:')}`);
293
+ for (const svc of optional) {
294
+ const descPart = svc.description ? chalk.dim(` - ${svc.description} (not required)`) : chalk.dim(' (not required)');
295
+ console.log(` - ${svc.name}${descPart}`);
296
+ }
297
+ }
298
+ if (required.length > 0) {
299
+ console.log(' Ensure required services are configured before proceeding.');
275
300
  }
276
301
  }
277
302
  // ── Phase 5: Confirm ──
@@ -1 +1 @@
1
- {"version":3,"file":"install.js","sourceRoot":"","sources":["../../src/commands/install.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,SAAS,EAAE,KAAK,EAAE,EAAE,EAAE,MAAM,kBAAkB,CAAC;AAClE,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAC1C,OAAO,GAAG,MAAM,KAAK,CAAC;AACtB,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,EAAE,oBAAoB,EAAE,MAAM,qBAAqB,CAAC;AAC3D,OAAO,EAAE,YAAY,EAAE,MAAM,4BAA4B,CAAC;AAC1D,OAAO,EAAE,cAAc,EAAE,MAAM,6BAA6B,CAAC;AAC7D,OAAO,EAAE,iBAAiB,EAAE,MAAM,iCAAiC,CAAC;AACpE,OAAO,EAAE,gBAAgB,EAAE,MAAM,8BAA8B,CAAC;AAChE,OAAO,EAAE,WAAW,EAAE,cAAc,EAAE,MAAM,kCAAkC,CAAC;AAC/E,OAAO,EACL,oBAAoB,EACpB,iBAAiB,EACjB,gBAAgB,GACjB,MAAM,2BAA2B,CAAC;AACnC,OAAO,EACL,UAAU,EACV,WAAW,EACX,aAAa,EACb,gBAAgB,EAChB,UAAU,EACV,aAAa,EACb,eAAe,EACf,kBAAkB,EAClB,qBAAqB,EACrB,gBAAgB,EAChB,uBAAuB,GAExB,MAAM,2BAA2B,CAAC;AACnC,OAAO,EAAE,aAAa,EAAE,kBAAkB,EAAE,MAAM,2BAA2B,CAAC;AAC9E,OAAO,EACL,SAAS,EACT,SAAS,EACT,WAAW,EACX,UAAU,EACV,eAAe,EACf,qBAAqB,GACtB,MAAM,0BAA0B,CAAC;AAClC,OAAO,EAAE,gBAAgB,EAAE,MAAM,gCAAgC,CAAC;AAClE,OAAO,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAC;AAC3C,OAAO,EAAE,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,MAAM,oBAAoB,CAAC;AAyBxE,MAAM,QAAQ,GAAG,aAAa,CAAC;AAE/B,SAAS,cAAc,CAAC,GAAW;IACjC,MAAM,KAAK,GAAG,GAAG,CAAC,QAAQ,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC;IACpC,OAAO,KAAK,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC;AAC3B,CAAC;AAED,SAAS,SAAS,CAAC,IAAe;IAChC,MAAM,MAAM,GAA2B,EAAE,CAAC;IAC1C,IAAI,CAAC,IAAI;QAAE,OAAO,MAAM,CAAC;IACzB,KAAK,MAAM,CAAC,IAAI,IAAI,EAAE,CAAC;QACrB,MAAM,EAAE,GAAG,CAAC,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;QAC1B,IAAI,EAAE,KAAK,CAAC,CAAC;YAAE,SAAS;QACxB,MAAM,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,KAAK,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC;IAC3C,CAAC;IACD,OAAO,MAAM,CAAC;AAChB,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,OAAO,CAC3B,SAAiB,EACjB,OAAuB;IAEvB,6DAA6D;IAC7D,MAAM,EAAE,aAAa,EAAE,OAAO,EAAE,WAAW,EAAE,GAAG,MAAM,oBAAoB,CACxE,SAAS,EACT,EAAE,WAAW,EAAE,OAAO,CAAC,WAAW,EAAE,SAAS,EAAE,OAAO,CAAC,SAAS,EAAE,CACnE,CAAC;IACF,IAAI,CAAC;QACH,MAAM,QAAQ,CAAC,aAAa,EAAE,OAAO,EAAE,WAAW,CAAC,CAAC;IACtD,CAAC;YAAS,CAAC;QACT,IAAI,OAAO,EAAE,CAAC;YACZ,MAAM,EAAE,CAAC,OAAO,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC,KAAK,CAAC,GAAG,EAAE,GAAE,CAAC,CAAC,CAAC;QACtE,CAAC;IACH,CAAC;AACH,CAAC;AAED,KAAK,UAAU,QAAQ,CACrB,aAAqB,EACrB,OAAuB,EACvB,WAA+C;IAE/C,sCAAsC;IACtC,MAAM,OAAO,GAAG,GAAG,CAAC,sBAAsB,CAAC,CAAC,KAAK,EAAE,CAAC;IAEpD,IAAI,QAAsB,CAAC;IAC3B,IAAI,CAAC;QACH,QAAQ,GAAG,MAAM,YAAY,CAAC,aAAa,CAAC,CAAC;IAC/C,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,OAAO,CAAC,IAAI,CAAC,0BAA0B,CAAC,CAAC;QACzC,MAAM,GAAG,CAAC;IACZ,CAAC;IAED,MAAM,YAAY,GAAG,MAAM,cAAc,CAAC,QAAQ,CAAC,CAAC;IACpD,IAAI,CAAC,YAAY,CAAC,KAAK,EAAE,CAAC;QACxB,OAAO,CAAC,IAAI,CAAC,0BAA0B,CAAC,CAAC;QACzC,KAAK,MAAM,KAAK,IAAI,YAAY,CAAC,MAAM,EAAE,CAAC;YACxC,OAAO,CAAC,KAAK,CAAC,KAAK,KAAK,CAAC,KAAK,IAAI,KAAK,CAAC,OAAO,EAAE,CAAC,CAAC;QACrD,CAAC;QACD,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC;IAED,MAAM,YAAY,GAAG,MAAM,iBAAiB,CAAC,QAAQ,EAAE,aAAa,CAAC,CAAC;IACtE,IAAI,CAAC,YAAY,CAAC,KAAK,EAAE,CAAC;QACxB,OAAO,CAAC,IAAI,CAAC,8BAA8B,CAAC,CAAC;QAC7C,KAAK,MAAM,KAAK,IAAI,YAAY,CAAC,MAAM,EAAE,CAAC;YACxC,IAAI,KAAK,CAAC,QAAQ,KAAK,OAAO,EAAE,CAAC;gBAC/B,OAAO,CAAC,KAAK,CAAC,KAAK,KAAK,CAAC,KAAK,IAAI,KAAK,CAAC,OAAO,EAAE,CAAC,CAAC;YACrD,CAAC;QACH,CAAC;QACD,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC;IAED,MAAM,SAAS,GAAG,OAAO,CAAC,SAAS,IAAI,QAAQ,CAAC,SAAS,CAAC;IAC1D,MAAM,KAAK,GAAG,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC;IAC3C,MAAM,YAAY,GAAG,gBAAgB,CAAC,KAAK,EAAE,SAAS,CAAC,CAAC;IACxD,IAAI,CAAC,YAAY,CAAC,KAAK,EAAE,CAAC;QACxB,OAAO,CAAC,IAAI,CAAC,4BAA4B,CAAC,CAAC;QAC3C,KAAK,MAAM,KAAK,IAAI,YAAY,CAAC,MAAM,EAAE,CAAC;YACxC,OAAO,CAAC,KAAK,CAAC,KAAK,KAAK,CAAC,KAAK,IAAI,KAAK,EAAE,CAAC,CAAC;QAC7C,CAAC;QACD,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC;IAED,OAAO,CAAC,OAAO,CAAC,gCAAgC,CAAC,CAAC;IAElD,2BAA2B;IAC3B,MAAM,EAAE,QAAQ,EAAE,YAAY,EAAE,OAAO,EAAE,GAAG,MAAM,gBAAgB,CAChE,QAAQ,CAAC,SAAS,IAAI,EAAE,EACxB,aAAa,EACb;QACE,WAAW,EAAE,CAAC,OAAO,CAAC,GAAG;QACzB,YAAY,EAAE,SAAS,CAAC,OAAO,CAAC,GAAG,CAAC;QACpC,KAAK,EAAE,OAAO,CAAC,KAAK;KACrB,CACF,CAAC;IAEF,IAAI,OAAO,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACvB,OAAO,CAAC,KAAK,CACX,GAAG,KAAK,CAAC,KAAK,gCAAgC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CACnE,CAAC;QACF,OAAO,CAAC,KAAK,CACX,0DAA0D,CAC3D,CAAC;QACF,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC;IAED,sCAAsC;IACtC,YAAY,CAAC,SAAS,GAAG,SAAS,CAAC;IAEnC,2BAA2B;IAC3B,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,UAAU,EAAE,GAAG,MAAM,UAAU,EAAE,CAAC;IACxD,MAAM,aAAa,GAAG,MAAM,SAAS,CAAC,SAAS,EAAE,QAAQ,CAAC,IAAI,CAAC,CAAC;IAEhE,2DAA2D;IAC3D,MAAM,iBAAiB,GACpB,MAAM,CAAC,MAAkC,EAAE,IAC7C,IAAI,EAAE,CAAC;IACR,IACE,iBAAiB,CAAC,MAAM,GAAG,CAAC;QAC5B,CAAC,iBAAiB,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC,WAAW,EAAE,KAAK,MAAM,CAAC,EAC5E,CAAC;QACD,OAAO,CAAC,GAAG,CACT,GAAG,KAAK,CAAC,OAAO,IAAI,KAAK,CAAC,MAAM,CAAC,oHAAoH,CAAC,EAAE,CACzJ,CAAC;IACJ,CAAC;IAED,6CAA6C;IAC7C,MAAM,kBAAkB,GAAG,qBAAqB,CAAC,MAAM,CAAC,CAAC;IACzD,MAAM,sBAAsB,GAAG,gBAAgB,CAAC,QAAQ,CAAC,QAAQ,IAAI,EAAE,EAAE,kBAAkB,CAAC,CAAC;IAE7F,mEAAmE;IACnE,IAAI,OAAO,CAAC,MAAM,EAAE,CAAC;QACnB,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;QAChB,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,mCAAmC,CAAC,CAAC,CAAC;QACzD,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;QAEhB,mCAAmC;QACnC,IAAI,aAAa,IAAI,CAAC,OAAO,CAAC,KAAK,IAAI,CAAC,OAAO,CAAC,KAAK,EAAE,CAAC;YACtD,OAAO,CAAC,GAAG,CACT,GAAG,KAAK,CAAC,OAAO,yBAAyB,SAAS,IAAI,QAAQ,CAAC,IAAI,yBAAyB,CAC7F,CAAC;YACF,OAAO,CAAC,GAAG,CAAC,2DAA2D,CAAC,CAAC;YACzE,OAAO,CAAC,GAAG,CAAC,wCAAwC,CAAC,CAAC;YACtD,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;QAClB,CAAC;QAED,6BAA6B;QAC7B,IAAI,OAAO,CAAC,KAAK,IAAI,aAAa,EAAE,CAAC;YACnC,OAAO,CAAC,GAAG,CAAC,2CAA2C,CAAC,CAAC;YACzD,KAAK,MAAM,KAAK,IAAI,MAAM,CAAC,MAAM,CAAC,aAAa,CAAC,MAAM,CAAC,EAAE,CAAC;gBACxD,OAAO,CAAC,GAAG,CAAC,aAAa,KAAK,CAAC,EAAE,cAAc,CAAC,CAAC;gBACjD,OAAO,CAAC,GAAG,CAAC,iBAAiB,KAAK,CAAC,SAAS,EAAE,CAAC,CAAC;YAClD,CAAC;YACD,KAAK,MAAM,OAAO,IAAI,aAAa,CAAC,QAAQ,EAAE,CAAC;gBAC7C,OAAO,CAAC,GAAG,CAAC,eAAe,OAAO,CAAC,KAAK,CAAC,OAAO,MAAM,OAAO,CAAC,OAAO,EAAE,CAAC,CAAC;YAC3E,CAAC;YACD,KAAK,MAAM,GAAG,IAAI,aAAa,CAAC,QAAQ,EAAE,CAAC;gBACzC,OAAO,CAAC,GAAG,CAAC,gBAAgB,GAAG,CAAC,IAAI,KAAK,GAAG,CAAC,EAAE,GAAG,CAAC,CAAC;YACtD,CAAC;YACD,OAAO,CAAC,GAAG,CAAC,kBAAkB,aAAa,CAAC,SAAS,IAAI,aAAa,CAAC,IAAI,EAAE,CAAC,CAAC;YAC/E,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;YAChB,OAAO,CAAC,GAAG,CAAC,oBAAoB,CAAC,CAAC;QACpC,CAAC;aAAM,CAAC;YACN,OAAO,CAAC,GAAG,CAAC,eAAe,CAAC,CAAC;QAC/B,CAAC;QAED,mBAAmB;QACnB,OAAO,CAAC,GAAG,CACT,KAAK,KAAK,CAAC,YAAY,CAAC,IAAI,KAAK,CAAC,GAAG,SAAS,IAAI,QAAQ,CAAC,IAAI,EAAE,CAAC,KAAK,QAAQ,CAAC,OAAO,EAAE,CAC1F,CAAC;QACF,KAAK,MAAM,CAAC,IAAI,EAAE,QAAQ,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAC,EAAE,CAAC;YAC/D,MAAM,OAAO,GAAG,YAAY,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,CAAE,CAAC;YAC5C,OAAO,CAAC,GAAG,CACT,aAAa,IAAI,MAAM,OAAO,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC,YAAY,QAAQ,CAAC,KAAK,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CACvF,CAAC;QACJ,CAAC;QACD,KAAK,MAAM,EAAE,IAAI,sBAAsB,EAAE,CAAC;YACxC,MAAM,eAAe,GAAG,YAAY,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;YAC/D,IAAI,eAAe,EAAE,CAAC;gBACpB,MAAM,cAAc,GAAG,CAAC,OAAO,CAAC,KAAK,CAAC;gBACtC,IAAI,cAAc,GAAG,EAAE,CAAC;gBACxB,IAAI,cAAc,EAAE,CAAC;oBACnB,IAAI,EAAE,CAAC,MAAM,KAAK,cAAc,EAAE,CAAC;wBACjC,cAAc,GAAG,8CAA8C,CAAC;oBAClE,CAAC;yBAAM,IAAI,EAAE,CAAC,MAAM,EAAE,CAAC;wBACrB,cAAc,GAAG,kDAAkD,CAAC;oBACtE,CAAC;gBACH,CAAC;gBACD,OAAO,CAAC,GAAG,CAAC,eAAe,EAAE,CAAC,OAAO,CAAC,OAAO,MAAM,eAAe,GAAG,cAAc,EAAE,CAAC,CAAC;YACzF,CAAC;QACH,CAAC;QACD,KAAK,MAAM,SAAS,IAAI,QAAQ,CAAC,IAAI,IAAI,EAAE,EAAE,CAAC;YAC5C,OAAO,CAAC,GAAG,CACT,YAAY,SAAS,CAAC,QAAQ,MAAM,SAAS,IAAI,SAAS,CAAC,KAAK,EAAE,CACnE,CAAC;QACJ,CAAC;QACD,OAAO,CAAC,GAAG,CAAC,kBAAkB,SAAS,IAAI,QAAQ,CAAC,IAAI,KAAK,QAAQ,CAAC,OAAO,EAAE,CAAC,CAAC;QACjF,OAAO;IACT,CAAC;IAED,IAAI,aAAa,IAAI,CAAC,OAAO,CAAC,KAAK,IAAI,CAAC,OAAO,CAAC,KAAK,EAAE,CAAC;QACtD,OAAO,CAAC,KAAK,CACX,GAAG,KAAK,CAAC,KAAK,eAAe,SAAS,IAAI,QAAQ,CAAC,IAAI,yBAAyB,CACjF,CAAC;QACF,OAAO,CAAC,KAAK,CAAC,gDAAgD,CAAC,CAAC;QAChE,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC;IAED,iEAAiE;IACjE,IAAI,CAAC,OAAO,CAAC,KAAK,IAAI,CAAC,OAAO,CAAC,KAAK,EAAE,CAAC;QACrC,MAAM,UAAU,GACb,MAAM,CAAC,MAAkC,EAAE,IAI7C,IAAI,EAAE,CAAC;QACR,MAAM,WAAW,GAAG,UAAU,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE;YAC1C,MAAM,EAAE,GAAG,CAAC,CAAC,EAAY,CAAC;YAC1B,OAAO,EAAE,CAAC,UAAU,CAAC,GAAG,SAAS,GAAG,CAAC,IAAI,YAAY,CAAC,GAAG,CAAC,GAAG,CAC3D,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,GAAG,SAAS,IAAI,CAAC,EAAE,KAAK,EAAE,CAAC,IAAI,EAAE,CACpD,CAAC;QACJ,CAAC,CAAC,CAAC;QACH,IAAI,WAAW,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YAC3B,OAAO,CAAC,KAAK,CACX,GAAG,KAAK,CAAC,KAAK,oDAAoD,CACnE,CAAC;YACF,KAAK,MAAM,CAAC,IAAI,WAAW,EAAE,CAAC;gBAC5B,OAAO,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;YAC/B,CAAC;YACD,OAAO,CAAC,KAAK,CAAC,2BAA2B,CAAC,CAAC;YAC3C,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QAClB,CAAC;IACH,CAAC;IAED,kBAAkB;IAClB,IAAI,OAAO,CAAC,KAAK,IAAI,aAAa,EAAE,CAAC;QACnC,IAAI,CAAC,OAAO,CAAC,GAAG,EAAE,CAAC;YACjB,MAAM,EAAE,OAAO,EAAE,GAAG,MAAM,MAAM,CAAC,mBAAmB,CAAC,CAAC;YACtD,MAAM,EAAE,GAAG,MAAM,OAAO,CAAC;gBACvB,OAAO,EAAE,kDAAkD,SAAS,IAAI,QAAQ,CAAC,IAAI,cAAc;aACpG,CAAC,CAAC;YACH,IAAI,CAAC,EAAE,EAAE,CAAC;gBACR,OAAO,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC;gBACxB,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;YAClB,CAAC;QACH,CAAC;QAED,MAAM,cAAc,GAAG,GAAG,CAAC,sCAAsC,CAAC,CAAC,KAAK,EAAE,CAAC;QAE3E,2BAA2B;QAC3B,IAAI,aAAa,CAAC,QAAQ,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YACtC,IAAI,CAAC;gBACH,MAAM,KAAK,GACT,OAAO,CAAC,UAAU,IAAI,iBAAiB,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,CAAC,CAAC;gBAC/D,MAAM,MAAM,GAAG,kBAAkB,CAAC;oBAChC,UAAU,EAAE,OAAO,CAAC,UAAU;oBAC9B,YAAY,EAAE,OAAO,CAAC,YAAY;oBAClC,eAAe,EAAE,OAAO,CAAC,eAAe;oBACxC,MAAM;iBACP,CAAC,CAAC;gBACH,MAAM,EAAE,GAAG,IAAI,aAAa,CAAC;oBAC3B,GAAG,EAAE,KAAK;oBACV,GAAG,MAAM;iBACV,CAAC,CAAC;gBACH,MAAM,EAAE,CAAC,OAAO,EAAE,CAAC;gBACnB,KAAK,MAAM,GAAG,IAAI,aAAa,CAAC,QAAQ,EAAE,CAAC;oBACzC,IAAI,CAAC;wBACH,MAAM,EAAE,CAAC,UAAU,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;oBAC9B,CAAC;oBAAC,MAAM,CAAC;wBACP,0BAA0B;oBAC5B,CAAC;gBACH,CAAC;gBACD,EAAE,CAAC,KAAK,EAAE,CAAC;YACb,CAAC;YAAC,MAAM,CAAC;gBACP,cAAc,CAAC,IAAI,CACjB,sEAAsE,CACvE,CAAC;YACJ,CAAC;QACH,CAAC;QAED,qBAAqB;QACrB,IAAI,WAAW,GAAG,MAAM,CAAC;QACzB,KAAK,MAAM,KAAK,IAAI,MAAM,CAAC,MAAM,CAAC,aAAa,CAAC,MAAM,CAAC,EAAE,CAAC;YACxD,WAAW,GAAG,gBAAgB,CAAC,WAAW,EAAE,KAAK,CAAC,EAAE,CAAC,CAAC;QACxD,CAAC;QACD,KAAK,MAAM,OAAO,IAAI,aAAa,CAAC,QAAQ,EAAE,CAAC;YAC7C,WAAW,GAAG,aAAa,CAAC,WAAW,EAAE,OAAO,CAAC,CAAC;QACpD,CAAC;QACD,kCAAkC;QAClC,IAAI,aAAa,CAAC,YAAY,EAAE,UAAU,EAAE,CAAC;YAC3C,MAAM,SAAS,GAAG,MAAM,UAAU,EAAE,CAAC;YACrC,MAAM,gBAAgB,GAAG,SAAS,CAAC,IAAI,CACrC,CAAC,CAAC,EAAE,EAAE,CACJ,CAAC,CAAC,SAAS,KAAK,SAAS;gBACzB,CAAC,CAAC,IAAI,KAAK,aAAc,CAAC,IAAI,CACjC,CAAC;YACF,WAAW,GAAG,kBAAkB,CAC9B,WAAW,EACX,SAAS,EACT,gBAAgB,EAChB,aAAa,CAAC,YAAY,CAAC,UAAU,CACtC,CAAC;QACJ,CAAC;QACD,MAAM,WAAW,CAAC,UAAU,EAAE,WAAW,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC;QAE7D,oBAAoB;QACpB,MAAM,EAAE,EAAE,EAAE,GAAG,MAAM,MAAM,CAAC,kBAAkB,CAAC,CAAC;QAChD,KAAK,MAAM,KAAK,IAAI,MAAM,CAAC,MAAM,CAAC,aAAa,CAAC,MAAM,CAAC,EAAE,CAAC;YACxD,IAAI,CAAC;gBACH,MAAM,EAAE,CAAC,KAAK,CAAC,SAAS,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC;YAC9D,CAAC;YAAC,MAAM,CAAC;gBACP,eAAe;YACjB,CAAC;QACH,CAAC;QAED,MAAM,WAAW,CAAC,SAAS,EAAE,QAAQ,CAAC,IAAI,CAAC,CAAC;QAC5C,cAAc,CAAC,OAAO,CAAC,kCAAkC,CAAC,CAAC;IAC7D,CAAC;IAED,8BAA8B;IAC9B,IAAI,QAAQ,CAAC,YAAY,EAAE,MAAM,EAAE,CAAC;QAClC,MAAM,MAAM,GAAG,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,YAAY,CAAC,MAAM,CAAC,CAAC;QACzD,IAAI,MAAM,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YACtB,OAAO,CAAC,GAAG,CACT,GAAG,KAAK,CAAC,OAAO,IAAI,KAAK,CAAC,MAAM,CAAC,yDAAyD,CAAC,IAAI,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CACnH,CAAC;QACJ,CAAC;IACH,CAAC;IACD,IAAI,QAAQ,CAAC,YAAY,EAAE,QAAQ,EAAE,MAAM,EAAE,CAAC;QAC5C,MAAM,YAAY,GAAG,QAAQ,CAAC,YAAY,CAAC,QAAQ,CAAC,MAAM,CACxD,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,QAAQ,CAClB,CAAC;QACF,IAAI,YAAY,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YAC5B,OAAO,CAAC,GAAG,CACT,GAAG,KAAK,CAAC,OAAO,IAAI,KAAK,CAAC,MAAM,CAAC,iDAAiD,CAAC,IAAI,YAAY,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CACpI,CAAC;QACJ,CAAC;IACH,CAAC;IAED,yBAAyB;IACzB,IAAI,2BAAkD,CAAC;IACvD,IAAI,CAAC,OAAO,CAAC,GAAG,IAAI,CAAC,OAAO,CAAC,KAAK,EAAE,CAAC;QACnC,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;QAChB,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,iBAAiB,CAAC,CAAC,CAAC;QACvC,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;QAChB,OAAO,CAAC,GAAG,CACT,GAAG,KAAK,CAAC,YAAY,CAAC,IAAI,KAAK,CAAC,GAAG,SAAS,IAAI,QAAQ,CAAC,IAAI,EAAE,CAAC,KAAK,QAAQ,CAAC,OAAO,EAAE,CACxF,CAAC;QACF,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;QAEhB,SAAS;QACT,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC,CAAC;QAC9B,MAAM,SAAS,GAAe,EAAE,CAAC;QACjC,KAAK,MAAM,CAAC,IAAI,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAC,EAAE,CAAC;YACrD,SAAS,CAAC,IAAI,CAAC;gBACb,KAAK,IAAI,EAAE;gBACX,KAAK,YAAY,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE;aAClC,CAAC,CAAC;QACL,CAAC;QACD,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC,CAAC;QAE9B,WAAW;QACX,IAAI,sBAAsB,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YACtC,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;YAChB,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,mBAAmB,CAAC,CAAC,CAAC;YACxC,KAAK,MAAM,EAAE,IAAI,sBAAsB,EAAE,CAAC;gBACxC,MAAM,SAAS,GACb,EAAE,CAAC,MAAM,KAAK,YAAY;oBACxB,CAAC,CAAC,KAAK,CAAC,KAAK,CAAC,eAAe,CAAC;oBAC9B,CAAC,CAAC,EAAE,CAAC,MAAM,KAAK,cAAc;wBAC5B,CAAC,CAAC,KAAK,CAAC,MAAM,CAAC,mBAAmB,CAAC;wBACnC,CAAC,CAAC,EAAE,CAAC;gBACX,OAAO,CAAC,GAAG,CACT,KAAK,EAAE,CAAC,OAAO,CAAC,OAAO,MAAM,SAAS,IAAI,EAAE,CAAC,OAAO,CAAC,KAAK,GAAG,SAAS,EAAE,CACzE,CAAC;YACJ,CAAC;QACH,CAAC;QAED,OAAO;QACP,IAAI,QAAQ,CAAC,IAAI,EAAE,MAAM,EAAE,CAAC;YAC1B,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;YAChB,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,YAAY,CAAC,CAAC,CAAC;YACjC,KAAK,MAAM,CAAC,IAAI,QAAQ,CAAC,IAAI,EAAE,CAAC;gBAC9B,OAAO,CAAC,GAAG,CACT,KAAK,CAAC,CAAC,QAAQ,MAAM,SAAS,IAAI,CAAC,CAAC,KAAK,MAAM,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,GAAG,CAAC,CAAC,MAAM,CAAC,MAAM,GAAG,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,GAAG,CAC5G,CAAC;YACJ,CAAC;QACH,CAAC;QAED,YAAY;QACZ,IAAI,QAAQ,CAAC,SAAS,IAAI,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YACrE,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;YAChB,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,YAAY,CAAC,CAAC,CAAC;YACjC,KAAK,MAAM,CAAC,IAAI,EAAE,MAAM,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAC,EAAE,CAAC;gBAChE,MAAM,GAAG,GAAG,MAAM,CAAC,SAAS;oBAC1B,CAAC,CAAC,UAAU;oBACZ,CAAC,CAAC,CAAC,YAAY,CAAC,IAAI,CAAC,IAAI,WAAW,CAAC,CAAC;gBACxC,OAAO,CAAC,GAAG,CAAC,KAAK,IAAI,MAAM,GAAG,EAAE,CAAC,CAAC;YACpC,CAAC;QACH,CAAC;QAED,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;QAChB,MAAM,EAAE,OAAO,EAAE,QAAQ,EAAE,GAAG,MAAM,MAAM,CAAC,mBAAmB,CAAC,CAAC;QAEhE,4FAA4F;QAC5F,MAAM,eAAe,GAAG,sBAAsB,CAAC,IAAI,CACjD,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,MAAM,KAAK,cAAc,CACrC,CAAC;QACF,MAAM,OAAO,GAAG,sBAAsB,CAAC,IAAI,CACzC,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,MAAM,IAAI,EAAE,CAAC,MAAM,KAAK,cAAc,CAClD,CAAC;QACF,IAAI,CAAC,eAAe,IAAI,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,KAAK,EAAE,CAAC;YACnD,MAAM,OAAO,GAAG,sBAAsB,CAAC,GAAG,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC;gBAClD,IAAI,EAAE,GAAG,EAAE,CAAC,OAAO,CAAC,OAAO,MAAM,SAAS,IAAI,EAAE,CAAC,OAAO,CAAC,KAAK,KAAK,EAAE,CAAC,MAAM,GAAG,EAAE,CAAC,MAAM,IAAI,EAAE,CAAC,MAAM,KAAK,cAAc,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE,GAAG;gBAC3I,KAAK,EAAE,EAAE,CAAC,OAAO;gBACjB,OAAO,EAAE,EAAE,CAAC,MAAM,KAAK,cAAc,IAAI,CAAC,EAAE,CAAC,MAAM;aACpD,CAAC,CAAC,CAAC;YACJ,2BAA2B,GAAG,MAAM,QAAQ,CAAC;gBAC3C,OAAO,EAAE,qEAAqE;gBAC9E,OAAO;aACR,CAAC,CAAC;YAEH,gFAAgF;YAChF,IAAI,2BAA2B,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;gBAC7C,MAAM,eAAe,GAAG,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,MAAM,GAAG,CAAC;oBAC7D,CAAC,QAAQ,CAAC,IAAI,EAAE,MAAM,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC;gBACnC,IAAI,CAAC,eAAe,EAAE,CAAC;oBACrB,OAAO,CAAC,GAAG,CAAC,sDAAsD,CAAC,CAAC;oBACpE,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;gBAClB,CAAC;YACH,CAAC;QACH,CAAC;QAED,MAAM,OAAO,GAAG,MAAM,OAAO,CAAC,EAAE,OAAO,EAAE,wBAAwB,EAAE,CAAC,CAAC;QACrE,IAAI,CAAC,OAAO,EAAE,CAAC;YACb,OAAO,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC;YACxB,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QAClB,CAAC;IACH,CAAC;IAED,0DAA0D;IAC1D,IAAI,gBAA2B,CAAC;IAChC,IAAI,OAAO,CAAC,KAAK,EAAE,CAAC;QAClB,4DAA4D;QAC5D,gBAAgB,GAAG,QAAQ,CAAC,QAAQ,IAAI,EAAE,CAAC;IAC7C,CAAC;SAAM,IAAI,CAAC,OAAO,CAAC,GAAG,EAAE,CAAC;QACxB,2EAA2E;QAC3E,gBAAgB;YACd,OAAO,2BAA2B,KAAK,WAAW;gBAChD,CAAC,CAAC,2BAA2B;gBAC7B,CAAC,CAAC,uBAAuB,CAAC,sBAAsB,CAAC,CAAC;IACxD,CAAC;SAAM,CAAC;QACN,6BAA6B;QAC7B,IAAI,kBAAkB,KAAK,IAAI,EAAE,CAAC;YAChC,MAAM,YAAY,GAAG;gBACnB,GAAG,IAAI,GAAG,CACR,sBAAsB;qBACnB,MAAM,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,MAAM,KAAK,cAAc,CAAC;qBAC5C,GAAG,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,WAAW,CAAC,CAC/B;aACF,CAAC,IAAI,EAAE,CAAC;YACT,IAAI,YAAY,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBAC5B,KAAK,MAAM,EAAE,IAAI,YAAY,EAAE,CAAC;oBAC9B,OAAO,CAAC,GAAG,CACT,GAAG,KAAK,CAAC,OAAO,IAAI,KAAK,CAAC,MAAM,CAAC,+CAA+C,EAAE,EAAE,CAAC,EAAE,CACxF,CAAC;gBACJ,CAAC;YACH,CAAC;QACH,CAAC;QACD,iCAAiC;QACjC,IAAI,CAAC,OAAO,CAAC,kBAAkB,EAAE,CAAC;YAChC,MAAM,gBAAgB,GAAG;gBACvB,GAAG,IAAI,GAAG,CACR,sBAAsB;qBACnB,MAAM,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,MAAM,IAAI,EAAE,CAAC,MAAM,KAAK,cAAc,CAAC;qBACzD,GAAG,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,WAAW,CAAC,CAC/B;aACF,CAAC,IAAI,EAAE,CAAC;YACT,KAAK,MAAM,EAAE,IAAI,gBAAgB,EAAE,CAAC;gBAClC,OAAO,CAAC,GAAG,CACT,GAAG,KAAK,CAAC,OAAO,IAAI,KAAK,CAAC,MAAM,CAAC,6BAA6B,EAAE,uBAAuB,CAAC,EAAE,CAC3F,CAAC;YACJ,CAAC;QACH,CAAC;QACD,gBAAgB,GAAG,uBAAuB,CAAC,sBAAsB,EAAE;YACjE,kBAAkB,EAAE,OAAO,CAAC,kBAAkB;SAC/C,CAAC,CAAC;IACL,CAAC;IAED,wBAAwB;IACxB,MAAM,aAAa,GAAG,GAAG,CAAC,wBAAwB,CAAC,CAAC,KAAK,EAAE,CAAC;IAE5D,MAAM,WAAW,GAA+B,EAAE,CAAC;IACnD,MAAM,UAAU,GAA2B,EAAE,CAAC;IAC9C,MAAM,aAAa,GAAmB,EAAE,CAAC;IACzC,MAAM,gBAAgB,GAAsB,EAAE,CAAC;IAE/C,yBAAyB;IACzB,aAAa,CAAC,IAAI,GAAG,4BAA4B,CAAC;IAClD,KAAK,MAAM,CAAC,IAAI,EAAE,QAAQ,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAC,EAAE,CAAC;QAC/D,MAAM,OAAO,GAAG,YAAY,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,CAAE,CAAC;QAC5C,MAAM,aAAa,GAAG,oBAAoB,CAAC,OAAO,CAAC,CAAC;QACpD,MAAM,KAAK,CAAC,aAAa,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;QAEhD,MAAM,SAAS,GAAG,IAAI,CAAC,aAAa,EAAE,QAAQ,CAAC,MAAM,CAAC,CAAC;QACvD,MAAM,KAAK,GAAG,MAAM,SAAS,CAAC,SAAS,CAAC,CAAC;QACzC,MAAM,aAAa,GAAa,EAAE,CAAC;QAEnC,KAAK,MAAM,YAAY,IAAI,KAAK,EAAE,CAAC;YACjC,MAAM,OAAO,GAAG,IAAI,CAAC,SAAS,EAAE,YAAY,CAAC,CAAC;YAC9C,MAAM,QAAQ,GAAG,IAAI,CAAC,aAAa,EAAE,YAAY,CAAC,CAAC;YACnD,MAAM,KAAK,CAAC,OAAO,CAAC,QAAQ,CAAC,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;YAEpD,MAAM,QAAQ,GAAG,MAAM,QAAQ,CAAC,OAAO,CAAC,CAAC;YAEzC,IAAI,cAAc,CAAC,QAAQ,CAAC,EAAE,CAAC;gBAC7B,gCAAgC;gBAChC,IAAI,OAAO,CAAC,KAAK,IAAI,aAAa,EAAE,CAAC;oBACnC,MAAM,IAAI,GAAG,eAAe,CAAC,QAAQ,CAAC,CAAC;oBACvC,MAAM,YAAY,GAChB,aAAa,CAAC,UAAU,CAAC,GAAG,OAAO,IAAI,YAAY,EAAE,CAAC,CAAC;oBACzD,IAAI,YAAY,KAAK,IAAI,EAAE,CAAC;wBAC1B,aAAa,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;wBACjC,UAAU,CAAC,GAAG,OAAO,IAAI,YAAY,EAAE,CAAC,GAAG,IAAI,CAAC;wBAChD,SAAS;oBACX,CAAC;gBACH,CAAC;gBACD,MAAM,SAAS,CAAC,QAAQ,EAAE,QAAQ,CAAC,CAAC;gBACpC,UAAU,CAAC,GAAG,OAAO,IAAI,YAAY,EAAE,CAAC,GAAG,eAAe,CAAC,QAAQ,CAAC,CAAC;gBACrE,aAAa,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;gBACjC,SAAS;YACX,CAAC;YAED,IAAI,OAAO,GAAG,QAAQ,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC;YACzC,IAAI,QAAQ,CAAC,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC;gBAC3B,MAAM,SAAS,GAAG;oBAChB,GAAG,YAAY;oBACf,KAAK,EAAE,cAAc,CAAC,QAAQ,CAAC,KAAK,EAAE,KAAK,EAAE,QAAQ,CAAC,YAAY,EAAE,MAAM,CAAC;iBAC5E,CAAC;gBACF,OAAO,GAAG,WAAW,CAAC,OAAO,EAAE,SAAS,CAAC,CAAC;YAC5C,CAAC;YAED,MAAM,OAAO,GAAG,MAAM,CAAC,IAAI,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;YAE9C,gCAAgC;YAChC,IAAI,OAAO,CAAC,KAAK,IAAI,aAAa,EAAE,CAAC;gBACnC,MAAM,IAAI,GAAG,eAAe,CAAC,OAAO,CAAC,CAAC;gBACtC,MAAM,YAAY,GAChB,aAAa,CAAC,UAAU,CAAC,GAAG,OAAO,IAAI,YAAY,EAAE,CAAC,CAAC;gBACzD,IAAI,YAAY,KAAK,IAAI,EAAE,CAAC;oBAC1B,aAAa,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;oBACjC,UAAU,CAAC,GAAG,OAAO,IAAI,YAAY,EAAE,CAAC,GAAG,IAAI,CAAC;oBAChD,SAAS;gBACX,CAAC;YACH,CAAC;YAED,MAAM,SAAS,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC;YACnC,UAAU,CAAC,GAAG,OAAO,IAAI,YAAY,EAAE,CAAC,GAAG,eAAe,CAAC,OAAO,CAAC,CAAC;YACpE,aAAa,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;QACnC,CAAC;QAED,qBAAqB;QACrB,IAAI,QAAQ,CAAC,YAAY,EAAE,CAAC,IAAI,CAAC,EAAE,MAAM,EAAE,CAAC;YAC1C,MAAM,QAAQ,GAAG,gBAAgB,CAAC,QAAQ,EAAE,IAAI,EAAE,SAAS,CAAC,CAAC;YAC7D,MAAM,GAAG,GAAG,MAAM,CAAC,IAAI,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC;YAC3C,MAAM,SAAS,CAAC,IAAI,CAAC,aAAa,EAAE,WAAW,CAAC,EAAE,GAAG,CAAC,CAAC;YACvD,UAAU,CAAC,GAAG,OAAO,YAAY,CAAC,GAAG,eAAe,CAAC,GAAG,CAAC,CAAC;YAC1D,aAAa,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;QAClC,CAAC;QAED,WAAW,CAAC,IAAI,CAAC,GAAG;YAClB,EAAE,EAAE,OAAO;YACX,IAAI;YACJ,SAAS,EAAE,aAAa;YACxB,KAAK,EAAE,aAAa;YACpB,KAAK,EAAE,QAAQ,CAAC,KAAK;SACtB,CAAC;IACJ,CAAC;IAED,eAAe;IACf,aAAa,CAAC,IAAI,GAAG,6BAA6B,CAAC;IACnD,IAAI,aAAa,GAAG,CAAC,MAAM,UAAU,CAAC,UAAU,CAAC,CAAC,CAAC,MAAM,CAAC;IAE1D,KAAK,MAAM,CAAC,IAAI,EAAE,QAAQ,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAC,EAAE,CAAC;QAC/D,MAAM,OAAO,GAAG,YAAY,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,CAAE,CAAC;QAC5C,aAAa,GAAG,aAAa,CAAC,aAAa,EAAE;YAC3C,EAAE,EAAE,OAAO;YACX,IAAI,EAAE,IAAI;YACV,SAAS,EAAE,oBAAoB,CAAC,OAAO,CAAC;YACxC,KAAK,EAAE,QAAQ,CAAC,KAAK;SACtB,CAAC,CAAC;IACL,CAAC;IAED,4EAA4E;IAC5E,KAAK,MAAM,OAAO,IAAI,gBAAgB,EAAE,CAAC;QACvC,MAAM,eAAe,GAAG,YAAY,CAAC,GAAG,CAAC,GAAG,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;QAC5D,IAAI,CAAC,eAAe,EAAE,CAAC;YACrB,OAAO,CAAC,GAAG,CACT,KAAK,KAAK,CAAC,OAAO,IAAI,KAAK,CAAC,MAAM,CAAC,qCAAqC,OAAO,CAAC,KAAK,aAAa,CAAC,EAAE,CACtG,CAAC;YACF,SAAS;QACX,CAAC;QACD,MAAM,eAAe,GAAoB;YACvC,OAAO,EAAE,eAAe;YACxB,KAAK,EAAE,EAAE,OAAO,EAAE,OAAO,CAAC,OAAO,EAAE;SACpC,CAAC;QACF,aAAa,GAAG,UAAU,CAAC,aAAa,EAAE,eAAe,CAAC,CAAC;QAC3D,gBAAgB,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC;IACzC,CAAC;IAED,2BAA2B;IAC3B,MAAM,QAAQ,GAAG,EAAE,UAAU,EAAE,KAAK,EAAE,UAAU,EAAE,KAAK,EAAE,CAAC;IAC1D,IACE,QAAQ,CAAC,YAAY;QACrB,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,YAAY,CAAC,CAAC,MAAM,GAAG,CAAC,EAC7C,CAAC;QACD,MAAM,KAAK,GAAG,aAAa,CAAC,KAA4C,CAAC;QACzE,MAAM,GAAG,GAAG,KAAK,EAAE,YAAmD,CAAC;QACvE,QAAQ,CAAC,UAAU,GAAG,GAAG,EAAE,OAAO,KAAK,IAAI,CAAC;QAC5C,aAAa,GAAG,eAAe,CAAC,aAAa,EAAE,SAAS,CAAC,CAAC;QAC1D,QAAQ,CAAC,UAAU,GAAG,IAAI,CAAC;IAC7B,CAAC;IAED,MAAM,WAAW,CAAC,UAAU,EAAE,aAAa,EAAE,EAAE,MAAM,EAAE,OAAO,CAAC,KAAK,EAAE,CAAC,CAAC;IAExE,4BAA4B;IAC5B,IAAI,QAAQ,CAAC,IAAI,EAAE,MAAM,EAAE,CAAC;QAC1B,aAAa,CAAC,IAAI,GAAG,uBAAuB,CAAC;QAC7C,MAAM,KAAK,GACT,OAAO,CAAC,UAAU,IAAI,iBAAiB,CAAC,aAAa,EAAE,OAAO,CAAC,GAAG,CAAC,CAAC;QACtE,MAAM,MAAM,GAAG,kBAAkB,CAAC;YAChC,UAAU,EAAE,OAAO,CAAC,UAAU;YAC9B,YAAY,EAAE,OAAO,CAAC,YAAY;YAClC,eAAe,EAAE,OAAO,CAAC,eAAe;YACxC,MAAM,EAAE,aAAa;SACtB,CAAC,CAAC;QACH,MAAM,EAAE,GAAG,IAAI,aAAa,CAAC;YAC3B,GAAG,EAAE,KAAK;YACV,GAAG,MAAM;SACV,CAAC,CAAC;QAEH,IAAI,CAAC;YACH,MAAM,EAAE,CAAC,OAAO,EAAE,CAAC;YAEnB,IAAI,OAAO,CAAC,KAAK,IAAI,aAAa,EAAE,CAAC;gBACnC,mDAAmD;gBACnD,MAAM,YAAY,GAAG,MAAM,EAAE,CAAC,QAAQ,CAAC,EAAE,eAAe,EAAE,IAAI,EAAE,CAAC,CAAC;gBAClE,MAAM,cAAc,GAAG,IAAI,GAAG,CAC5B,YAAY,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,CACrC,CAAC;gBAEF,KAAK,MAAM,CAAC,CAAC,EAAE,SAAS,CAAC,IAAI,QAAQ,CAAC,IAAI,CAAC,OAAO,EAAE,EAAE,CAAC;oBACrD,MAAM,OAAO,GAAG,QAAQ,SAAS,IAAI,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC;oBAC5D,MAAM,QAAQ,GAAG,cAAc,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;oBAE7C,IAAI,QAAQ,EAAE,CAAC;wBACb,kBAAkB;wBAClB,MAAM,EAAE,CAAC,UAAU,CAAC,QAAQ,CAAC,EAAE,EAAE;4BAC/B,QAAQ,EAAE;gCACR,IAAI,EAAE,MAAM;gCACZ,IAAI,EAAE,SAAS,CAAC,QAAQ;gCACxB,EAAE,EAAE,SAAS,CAAC,QAAQ;6BACvB;4BACD,OAAO,EAAE;gCACP,IAAI,EAAE,WAAW;gCACjB,OAAO,EAAE,SAAS,CAAC,MAAM;6BAC1B;4BACD,OAAO,EAAE,YAAY,CAAC,GAAG,CAAC,GAAG,CAAC,SAAS,CAAC,KAAK,CAAE;4BAC/C,OAAO,EAAE,IAAI;yBACd,CAAC,CAAC;wBACH,aAAa,CAAC,IAAI,CAAC;4BACjB,EAAE,EAAE,QAAQ,CAAC,EAAE;4BACf,IAAI,EAAE,OAAO;4BACb,SAAS,EAAE,SAAS,CAAC,KAAK;4BAC1B,QAAQ,EAAE,SAAS,CAAC,QAAQ;4BAC5B,QAAQ,EAAE,SAAS,CAAC,QAAQ;4BAC5B,MAAM,EAAE,SAAS,CAAC,MAAM;yBACzB,CAAC,CAAC;oBACL,CAAC;yBAAM,CAAC;wBACN,UAAU;wBACV,MAAM,MAAM,GAAG,MAAM,EAAE,CAAC,OAAO,CAAC;4BAC9B,IAAI,EAAE,OAAO;4BACb,OAAO,EAAE,YAAY,CAAC,GAAG,CAAC,GAAG,CAAC,SAAS,CAAC,KAAK,CAAE;4BAC/C,OAAO,EAAE,IAAI;4BACb,QAAQ,EAAE;gCACR,IAAI,EAAE,MAAM;gCACZ,IAAI,EAAE,SAAS,CAAC,QAAQ;gCACxB,EAAE,EAAE,SAAS,CAAC,QAAQ;6BACvB;4BACD,aAAa,EAAE,UAAU;4BACzB,QAAQ,EAAE,KAAK;4BACf,OAAO,EAAE;gCACP,IAAI,EAAE,WAAW;gCACjB,OAAO,EAAE,SAAS,CAAC,MAAM;6BAC1B;yBACF,CAAC,CAAC;wBACH,aAAa,CAAC,IAAI,CAAC;4BACjB,EAAE,EAAE,MAAM,CAAC,EAAE;4BACb,IAAI,EAAE,OAAO;4BACb,SAAS,EAAE,SAAS,CAAC,KAAK;4BAC1B,QAAQ,EAAE,SAAS,CAAC,QAAQ;4BAC5B,QAAQ,EAAE,SAAS,CAAC,QAAQ;4BAC5B,MAAM,EAAE,SAAS,CAAC,MAAM;yBACzB,CAAC,CAAC;oBACL,CAAC;gBACH,CAAC;YACH,CAAC;iBAAM,CAAC;gBACN,gBAAgB;gBAChB,KAAK,MAAM,CAAC,CAAC,EAAE,SAAS,CAAC,IAAI,QAAQ,CAAC,IAAI,CAAC,OAAO,EAAE,EAAE,CAAC;oBACrD,MAAM,OAAO,GAAG,QAAQ,SAAS,IAAI,SAAS,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC;oBAC5D,MAAM,WAAW,GAAG,YAAY,CAAC,GAAG,CAAC,GAAG,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC;oBAC1D,IAAI,CAAC,WAAW,EAAE,CAAC;wBACjB,OAAO,CAAC,GAAG,CACT,KAAK,KAAK,CAAC,OAAO,IAAI,KAAK,CAAC,MAAM,CAAC,sCAAsC,SAAS,CAAC,KAAK,aAAa,CAAC,EAAE,CACzG,CAAC;wBACF,SAAS;oBACX,CAAC;oBACD,MAAM,MAAM,GAAG,MAAM,EAAE,CAAC,OAAO,CAAC;wBAC9B,IAAI,EAAE,OAAO;wBACb,OAAO,EAAE,WAAW;wBACpB,OAAO,EAAE,IAAI;wBACb,QAAQ,EAAE;4BACR,IAAI,EAAE,MAAM;4BACZ,IAAI,EAAE,SAAS,CAAC,QAAQ;4BACxB,EAAE,EAAE,SAAS,CAAC,QAAQ;yBACvB;wBACD,aAAa,EAAE,UAAU;wBACzB,QAAQ,EAAE,KAAK;wBACf,OAAO,EAAE;4BACP,IAAI,EAAE,WAAW;4BACjB,OAAO,EAAE,SAAS,CAAC,MAAM;yBAC1B;qBACF,CAAC,CAAC;oBACH,aAAa,CAAC,IAAI,CAAC;wBACjB,EAAE,EAAE,MAAM,CAAC,EAAE;wBACb,IAAI,EAAE,OAAO;wBACb,SAAS,EAAE,SAAS,CAAC,KAAK;wBAC1B,QAAQ,EAAE,SAAS,CAAC,QAAQ;wBAC5B,QAAQ,EAAE,SAAS,CAAC,QAAQ;wBAC5B,MAAM,EAAE,SAAS,CAAC,MAAM;qBACzB,CAAC,CAAC;gBACL,CAAC;YACH,CAAC;QACH,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,aAAa,CAAC,IAAI,CAAC,4BAA4B,CAAC,CAAC;YACjD,OAAO,CAAC,KAAK,CACX,GAAG,KAAK,CAAC,KAAK,mBAAmB,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,GAAG,EAAE,CAC5E,CAAC;YACF,OAAO,CAAC,KAAK,CACX,8FAA8F,CAC/F,CAAC;YACF,wCAAwC;QAC1C,CAAC;gBAAS,CAAC;YACT,EAAE,CAAC,KAAK,EAAE,CAAC;QACb,CAAC;IACH,CAAC;IAED,0BAA0B;IAC1B,aAAa,CAAC,IAAI,GAAG,0BAA0B,CAAC;IAChD,MAAM,WAAW,GAAG,CAAC,MAAM,UAAU,CAAC,UAAU,CAAC,CAAC,CAAC,MAAM,CAAC;IAC1D,MAAM,UAAU,GACb,WAAW,CAAC,MAAkC,EAAE,IAIlD,IAAI,EAAE,CAAC;IAER,uCAAuC;IACvC,KAAK,MAAM,CAAC,IAAI,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAC,EAAE,CAAC;QACrD,MAAM,OAAO,GAAG,YAAY,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,CAAE,CAAC;QAC5C,MAAM,KAAK,GAAG,UAAU,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,KAAK,OAAO,CAAC,CAAC;QACvD,IAAI,CAAC,KAAK,EAAE,CAAC;YACX,OAAO,CAAC,GAAG,CACT,KAAK,KAAK,CAAC,OAAO,WAAW,OAAO,oCAAoC,CACzE,CAAC;QACJ,CAAC;IACH,CAAC;IAED,2CAA2C;IAC3C,MAAM,aAAa,GAAG,CAAC,WAAW,CAAC,QAAQ,IAAI,EAAE,CAA8B,CAAC;IAChF,KAAK,MAAM,OAAO,IAAI,gBAAgB,EAAE,CAAC;QACvC,MAAM,KAAK,GAAG,aAAa,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE;YACrC,MAAM,KAAK,GAAG,CAAC,CAAC,KAA4C,CAAC;YAC7D,OAAO,CAAC,CAAC,OAAO,KAAK,OAAO,CAAC,OAAO,IAAI,KAAK,EAAE,OAAO,KAAK,OAAO,CAAC,KAAK,CAAC,OAAO,CAAC;QACnF,CAAC,CAAC,CAAC;QACH,IAAI,CAAC,KAAK,EAAE,CAAC;YACX,OAAO,CAAC,GAAG,CACT,KAAK,KAAK,CAAC,OAAO,YAAY,OAAO,CAAC,KAAK,CAAC,OAAO,MAAM,OAAO,CAAC,OAAO,mCAAmC,CAC5G,CAAC;QACJ,CAAC;IACH,CAAC;IAED,yFAAyF;IACzF,IAAI,aAAa,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QAC7B,IAAI,CAAC;YACH,MAAM,KAAK,GACT,OAAO,CAAC,UAAU,IAAI,iBAAiB,CAAC,aAAa,EAAE,OAAO,CAAC,GAAG,CAAC,CAAC;YACtE,MAAM,MAAM,GAAG,kBAAkB,CAAC;gBAChC,UAAU,EAAE,OAAO,CAAC,UAAU;gBAC9B,YAAY,EAAE,OAAO,CAAC,YAAY;gBAClC,eAAe,EAAE,OAAO,CAAC,eAAe;gBACxC,MAAM,EAAE,aAAa;aACtB,CAAC,CAAC;YACH,MAAM,QAAQ,GAAG,IAAI,aAAa,CAAC;gBACjC,GAAG,EAAE,KAAK;gBACV,GAAG,MAAM;aACV,CAAC,CAAC;YACH,MAAM,QAAQ,CAAC,OAAO,EAAE,CAAC;YACzB,MAAM,QAAQ,GAAG,MAAM,QAAQ,CAAC,QAAQ,CAAC,EAAE,eAAe,EAAE,IAAI,EAAE,CAAC,CAAC;YACpE,QAAQ,CAAC,KAAK,EAAE,CAAC;YACjB,MAAM,OAAO,GAAG,IAAI,GAAG,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;YACnD,KAAK,MAAM,GAAG,IAAI,aAAa,EAAE,CAAC;gBAChC,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,CAAC;oBACzB,OAAO,CAAC,GAAG,CACT,KAAK,KAAK,CAAC,OAAO,cAAc,GAAG,CAAC,IAAI,MAAM,GAAG,CAAC,EAAE,qCAAqC,CAC1F,CAAC;gBACJ,CAAC;YACH,CAAC;QACH,CAAC;QAAC,MAAM,CAAC;YACP,gDAAgD;QAClD,CAAC;IACH,CAAC;IAED,uBAAuB;IACvB,MAAM,iBAAiB,GAA2B,EAAE,CAAC;IACrD,KAAK,MAAM,CAAC,IAAI,EAAE,MAAM,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,QAAQ,CAAC,SAAS,IAAI,EAAE,CAAC,EAAE,CAAC;QACtE,IAAI,MAAM,CAAC,SAAS,EAAE,CAAC;YACrB,mDAAmD;YACnD,iBAAiB,CAAC,IAAI,CAAC,GAAG,IAAI,IAAI,EAAE,CAAC;QACvC,CAAC;aAAM,CAAC;YACN,iBAAiB,CAAC,IAAI,CAAC,GAAG,YAAY,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC;QACrD,CAAC;IACH,CAAC;IAED,kEAAkE;IAClE,MAAM,YAAY,GAAG,MAAM,qBAAqB,CAAC,aAAa,EAAE,SAAS,EAAE,QAAQ,CAAC,IAAI,CAAC,CAAC;IAE1F,MAAM,KAAK,GAAmB;QAC5B,IAAI,EAAE,QAAQ,CAAC,IAAI;QACnB,OAAO,EAAE,QAAQ,CAAC,OAAO;QACzB,SAAS;QACT,WAAW,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE;QACrC,MAAM,EAAE,WAAW;QACnB,QAAQ,EAAE,gBAAgB;QAC1B,QAAQ,EAAE,aAAa;QACvB,SAAS,EAAE,iBAAiB;QAC5B,UAAU;QACV,YAAY,EAAE,QAAQ,CAAC,UAAU,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,SAAS;QACxD,UAAU,EAAE,YAAY;QACxB,iBAAiB,EAAE,QAAQ,CAAC,YAAY,IAAI,SAAS;QACrD,WAAW;KACZ,CAAC;IAEF,MAAM,SAAS,CAAC,KAAK,CAAC,CAAC;IAEvB,aAAa,CAAC,OAAO,CAAC,oBAAoB,CAAC,CAAC;IAC5C,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;IAChB,MAAM,qBAAqB,GAAG,CAAC,QAAQ,CAAC,QAAQ,IAAI,EAAE,CAAC,CAAC,MAAM,CAAC;IAC/D,MAAM,YAAY,GAAG,CAAC,OAAO,CAAC,KAAK;QACjC,CAAC,CAAC,qBAAqB,GAAG,gBAAgB,CAAC,MAAM;QACjD,CAAC,CAAC,CAAC,CAAC;IAEN,gCAAgC;IAChC,IAAI,aAAa,GAAG,EAAE,CAAC;IACvB,IAAI,YAAY,GAAG,CAAC,IAAI,CAAC,OAAO,CAAC,KAAK,EAAE,CAAC;QACvC,MAAM,mBAAmB,GAAG,sBAAsB,CAAC,MAAM,CACvD,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,MAAM,KAAK,cAAc;YAClC,CAAC,gBAAgB,CAAC,QAAQ,CAAC,EAAE,CAAC,OAAO,CAAC,CACzC,CAAC,MAAM,CAAC;QACT,MAAM,WAAW,GAAG,sBAAsB,CAAC,MAAM,CAC/C,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,MAAM,IAAI,EAAE,CAAC,MAAM,KAAK,cAAc;YAC/C,CAAC,gBAAgB,CAAC,QAAQ,CAAC,EAAE,CAAC,OAAO,CAAC,CACzC,CAAC,MAAM,CAAC;QACT,MAAM,cAAc,GAAG,YAAY,GAAG,mBAAmB,GAAG,WAAW,CAAC;QAExE,MAAM,KAAK,GAAa,EAAE,CAAC;QAC3B,IAAI,mBAAmB,GAAG,CAAC;YAAE,KAAK,CAAC,IAAI,CAAC,GAAG,mBAAmB,eAAe,CAAC,CAAC;QAC/E,IAAI,WAAW,GAAG,CAAC;YAAE,KAAK,CAAC,IAAI,CAAC,GAAG,WAAW,uBAAuB,CAAC,CAAC;QACvE,IAAI,cAAc,GAAG,CAAC;YAAE,KAAK,CAAC,IAAI,CAAC,GAAG,cAAc,kBAAkB,CAAC,CAAC;QACxE,aAAa,GAAG,KAAK,YAAY,aAAa,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC;IACpE,CAAC;IACD,OAAO,CAAC,GAAG,CACT,GAAG,KAAK,CAAC,OAAO,IAAI,KAAK,CAAC,KAAK,CAAC,GAAG,MAAM,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC,MAAM,qBAAqB,gBAAgB,CAAC,MAAM,oBAAoB,aAAa,CAAC,MAAM,uBAAuB,aAAa,EAAE,CAAC,EAAE,CAChM,CAAC;IACF,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;IAChB,OAAO,CAAC,GAAG,CACT,KAAK,KAAK,CAAC,SAAS,CAAC,gBAAgB,SAAS,IAAI,QAAQ,CAAC,IAAI,EAAE,CAClE,CAAC;IACF,OAAO,CAAC,GAAG,CACT,KAAK,KAAK,CAAC,SAAS,CAAC,mBAAmB,SAAS,IAAI,QAAQ,CAAC,IAAI,EAAE,CACrE,CAAC;AACJ,CAAC"}
1
+ {"version":3,"file":"install.js","sourceRoot":"","sources":["../../src/commands/install.ts"],"names":[],"mappings":"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"}
@@ -1,2 +1,6 @@
1
- export declare function lock(_identifier: string): Promise<void>;
1
+ export interface LockOptions {
2
+ registryUrl?: string;
3
+ skipCache?: boolean;
4
+ }
5
+ export declare function lock(formationPath: string, options?: LockOptions): Promise<void>;
2
6
  //# sourceMappingURL=lock.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"lock.d.ts","sourceRoot":"","sources":["../../src/commands/lock.ts"],"names":[],"mappings":"AAAA,wBAAsB,IAAI,CAAC,WAAW,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAG7D"}
1
+ {"version":3,"file":"lock.d.ts","sourceRoot":"","sources":["../../src/commands/lock.ts"],"names":[],"mappings":"AAQA,MAAM,WAAW,WAAW;IAC1B,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,SAAS,CAAC,EAAE,OAAO,CAAC;CACrB;AAED,wBAAsB,IAAI,CACxB,aAAa,EAAE,MAAM,EACrB,OAAO,CAAC,EAAE,WAAW,GACpB,OAAO,CAAC,IAAI,CAAC,CA0Cf"}
@@ -1,5 +1,39 @@
1
- export async function lock(_identifier) {
2
- console.error('reef lock requires ClawHub, which is not yet available.');
3
- process.exit(1);
1
+ import { readFile, writeFile } from 'node:fs/promises';
2
+ import { join } from 'node:path';
3
+ import { loadManifest } from '../core/manifest-loader.js';
4
+ import { resolveSkillsDependencies } from '../core/skills-registry.js';
5
+ import { icons } from '../utils/output.js';
6
+ import chalk from 'chalk';
7
+ export async function lock(formationPath, options) {
8
+ const manifest = await loadManifest(formationPath);
9
+ if (!manifest.dependencies?.skills || Object.keys(manifest.dependencies.skills).length === 0) {
10
+ console.log('No skill dependencies to lock.');
11
+ return;
12
+ }
13
+ console.log(`Resolving ${Object.keys(manifest.dependencies.skills).length} skill dependencies...`);
14
+ const lockfile = await resolveSkillsDependencies(manifest.dependencies.skills, { registryUrl: options?.registryUrl, skipCache: options?.skipCache });
15
+ // Preserve _comment from existing lockfile if present
16
+ const lockfilePath = join(formationPath, 'reef.lock.json');
17
+ let existingComment;
18
+ try {
19
+ const existing = JSON.parse(await readFile(lockfilePath, 'utf-8'));
20
+ if (existing._comment) {
21
+ existingComment = existing._comment;
22
+ }
23
+ }
24
+ catch {
25
+ // No existing lockfile
26
+ }
27
+ const output = {};
28
+ if (existingComment) {
29
+ output._comment = existingComment;
30
+ }
31
+ output.skills = lockfile.skills;
32
+ await writeFile(lockfilePath, JSON.stringify(output, null, 2) + '\n');
33
+ const skillCount = Object.keys(lockfile.skills).length;
34
+ const versions = Object.entries(lockfile.skills)
35
+ .map(([name, entry]) => `${name}@${entry.version}`)
36
+ .join(', ');
37
+ console.log(`${icons.success} ${chalk.green(`Locked ${skillCount} skills: ${versions}`)}`);
4
38
  }
5
39
  //# sourceMappingURL=lock.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"lock.js","sourceRoot":"","sources":["../../src/commands/lock.ts"],"names":[],"mappings":"AAAA,MAAM,CAAC,KAAK,UAAU,IAAI,CAAC,WAAmB;IAC5C,OAAO,CAAC,KAAK,CAAC,yDAAyD,CAAC,CAAC;IACzE,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;AAClB,CAAC"}
1
+ {"version":3,"file":"lock.js","sourceRoot":"","sources":["../../src/commands/lock.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAC;AACvD,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AACjC,OAAO,EAAE,YAAY,EAAE,MAAM,4BAA4B,CAAC;AAC1D,OAAO,EAAE,yBAAyB,EAAE,MAAM,4BAA4B,CAAC;AACvE,OAAO,EAAE,KAAK,EAAE,MAAM,oBAAoB,CAAC;AAC3C,OAAO,KAAK,MAAM,OAAO,CAAC;AAQ1B,MAAM,CAAC,KAAK,UAAU,IAAI,CACxB,aAAqB,EACrB,OAAqB;IAErB,MAAM,QAAQ,GAAG,MAAM,YAAY,CAAC,aAAa,CAAC,CAAC;IAEnD,IAAI,CAAC,QAAQ,CAAC,YAAY,EAAE,MAAM,IAAI,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,YAAY,CAAC,MAAM,CAAC,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QAC7F,OAAO,CAAC,GAAG,CAAC,gCAAgC,CAAC,CAAC;QAC9C,OAAO;IACT,CAAC;IAED,OAAO,CAAC,GAAG,CAAC,aAAa,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,YAAY,CAAC,MAAM,CAAC,CAAC,MAAM,wBAAwB,CAAC,CAAC;IAEnG,MAAM,QAAQ,GAAG,MAAM,yBAAyB,CAC9C,QAAQ,CAAC,YAAY,CAAC,MAAM,EAC5B,EAAE,WAAW,EAAE,OAAO,EAAE,WAAW,EAAE,SAAS,EAAE,OAAO,EAAE,SAAS,EAAE,CACrE,CAAC;IAEF,sDAAsD;IACtD,MAAM,YAAY,GAAG,IAAI,CAAC,aAAa,EAAE,gBAAgB,CAAC,CAAC;IAC3D,IAAI,eAAmC,CAAC;IACxC,IAAI,CAAC;QACH,MAAM,QAAQ,GAAG,IAAI,CAAC,KAAK,CAAC,MAAM,QAAQ,CAAC,YAAY,EAAE,OAAO,CAAC,CAAC,CAAC;QACnE,IAAI,QAAQ,CAAC,QAAQ,EAAE,CAAC;YACtB,eAAe,GAAG,QAAQ,CAAC,QAAQ,CAAC;QACtC,CAAC;IACH,CAAC;IAAC,MAAM,CAAC;QACP,uBAAuB;IACzB,CAAC;IAED,MAAM,MAAM,GAA4B,EAAE,CAAC;IAC3C,IAAI,eAAe,EAAE,CAAC;QACpB,MAAM,CAAC,QAAQ,GAAG,eAAe,CAAC;IACpC,CAAC;IACD,MAAM,CAAC,MAAM,GAAG,QAAQ,CAAC,MAAM,CAAC;IAEhC,MAAM,SAAS,CAAC,YAAY,EAAE,IAAI,CAAC,SAAS,CAAC,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC,GAAG,IAAI,CAAC,CAAC;IAEtE,MAAM,UAAU,GAAG,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,MAAM,CAAC;IACvD,MAAM,QAAQ,GAAG,MAAM,CAAC,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAC;SAC7C,GAAG,CAAC,CAAC,CAAC,IAAI,EAAE,KAAK,CAAC,EAAE,EAAE,CAAC,GAAG,IAAI,IAAI,KAAK,CAAC,OAAO,EAAE,CAAC;SAClD,IAAI,CAAC,IAAI,CAAC,CAAC;IACd,OAAO,CAAC,GAAG,CACT,GAAG,KAAK,CAAC,OAAO,IAAI,KAAK,CAAC,KAAK,CAAC,UAAU,UAAU,YAAY,QAAQ,EAAE,CAAC,EAAE,CAC9E,CAAC;AACJ,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"logs.d.ts","sourceRoot":"","sources":["../../src/commands/logs.ts"],"names":[],"mappings":"AAcA,MAAM,WAAW,WAAW;IAC1B,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,IAAI,CAAC,EAAE,MAAM,CAAC;CACf;AAED,wBAAsB,IAAI,CACxB,UAAU,EAAE,MAAM,EAClB,OAAO,EAAE,WAAW,GACnB,OAAO,CAAC,IAAI,CAAC,CAoGf"}
1
+ {"version":3,"file":"logs.d.ts","sourceRoot":"","sources":["../../src/commands/logs.ts"],"names":[],"mappings":"AAeA,MAAM,WAAW,WAAW;IAC1B,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,IAAI,CAAC,EAAE,MAAM,CAAC;CACf;AAWD,wBAAsB,IAAI,CACxB,UAAU,EAAE,MAAM,EAClB,OAAO,EAAE,WAAW,GACnB,OAAO,CAAC,IAAI,CAAC,CA2Gf"}