mapples 0.2.0-beta.10 → 0.2.0-beta.13

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 (67) hide show
  1. package/dist/api/client.d.ts +15 -0
  2. package/dist/api/client.js +36 -0
  3. package/dist/api/client.js.map +1 -1
  4. package/dist/api/commit.js +19 -1
  5. package/dist/api/commit.js.map +1 -1
  6. package/dist/api/errors.d.ts +1 -1
  7. package/dist/api/errors.js +3 -0
  8. package/dist/api/errors.js.map +1 -1
  9. package/dist/api/objects.d.ts +3 -1
  10. package/dist/api/objects.js +31 -4
  11. package/dist/api/objects.js.map +1 -1
  12. package/dist/api/project.d.ts +11 -0
  13. package/dist/api/project.js +29 -0
  14. package/dist/api/project.js.map +1 -0
  15. package/dist/assets/assets.d.ts +12 -0
  16. package/dist/assets/assets.js +31 -2
  17. package/dist/assets/assets.js.map +1 -1
  18. package/dist/commands/doctor.js +2 -1
  19. package/dist/commands/doctor.js.map +1 -1
  20. package/dist/commands/impl/createImpl.js +26 -4
  21. package/dist/commands/impl/createImpl.js.map +1 -1
  22. package/dist/commands/impl/doctorImpl.js +14 -7
  23. package/dist/commands/impl/doctorImpl.js.map +1 -1
  24. package/dist/commands/impl/initImpl.js +34 -1
  25. package/dist/commands/impl/initImpl.js.map +1 -1
  26. package/dist/commands/init.js +1 -0
  27. package/dist/commands/init.js.map +1 -1
  28. package/dist/nav/navigatorTree.d.ts +36 -2
  29. package/dist/nav/navigatorTree.js +191 -40
  30. package/dist/nav/navigatorTree.js.map +1 -1
  31. package/dist/nav/routeTree.d.ts +2 -1
  32. package/dist/nav/routeTree.js +9 -4
  33. package/dist/nav/routeTree.js.map +1 -1
  34. package/dist/nav/screenOptions.d.ts +24 -0
  35. package/dist/nav/screenOptions.js +41 -13
  36. package/dist/nav/screenOptions.js.map +1 -1
  37. package/dist/runtime/runtimeFiles.d.ts +17 -0
  38. package/dist/runtime/runtimeFiles.js +183 -0
  39. package/dist/runtime/runtimeFiles.js.map +1 -0
  40. package/dist/services/appDeps.d.ts +32 -0
  41. package/dist/services/appDeps.js +132 -0
  42. package/dist/services/appDeps.js.map +1 -0
  43. package/dist/services/doctorService.d.ts +19 -1
  44. package/dist/services/doctorService.js +117 -3
  45. package/dist/services/doctorService.js.map +1 -1
  46. package/dist/services/scaffold.d.ts +13 -1
  47. package/dist/services/scaffold.js +57 -5
  48. package/dist/services/scaffold.js.map +1 -1
  49. package/dist/services/syncEngine.js +85 -22
  50. package/dist/services/syncEngine.js.map +1 -1
  51. package/dist/types.d.ts +4 -0
  52. package/dist/types.js.map +1 -1
  53. package/dist/version.d.ts +21 -0
  54. package/dist/version.js +40 -3
  55. package/dist/version.js.map +1 -1
  56. package/package.json +4 -3
  57. package/templates/agent/mapples.md +9 -4
  58. package/templates/agent/skills/mapples-conventions/SKILL.md +2 -2
  59. package/templates/agent/skills/mapples-design/SKILL.md +4 -4
  60. package/templates/agent/skills/mapples-design/reference/component-library.md +1 -1
  61. package/templates/agent/skills/mapples-design/reference/layout-contract.md +2 -3
  62. package/templates/agent/skills/mapples-design/reference/playbooks/onboarding-flow.md +1 -1
  63. package/templates/agent/skills/mapples-design/reference/playbooks/screen-flow-wiring.md +2 -5
  64. package/templates/app/_layout.tsx +6 -1
  65. package/templates/gitignore +2 -0
  66. package/templates/metro.config.js +11 -0
  67. package/templates/package.json +19 -10
@@ -9,8 +9,8 @@
9
9
  // componentsDir. Pages and components go through the same merge loop.
10
10
  import { existsSync, readFileSync, writeFileSync, mkdirSync } from 'node:fs';
11
11
  import { dirname, join, relative } from 'node:path';
12
- import { adoptPropConditions } from '@mapples/codegen';
13
- import { codemodAdopt, extract, patch, propOfCondition, upsertImports, } from '@mapples/sid-ast';
12
+ import { adoptPropConditions, moduleForType, UI_MODULE } from '@mapples/codegen';
13
+ import { codemodAdopt, extract, moveNamedImports, patch, propOfCondition, upsertImports, } from '@mapples/sid-ast';
14
14
  import { isNetworkError } from '../api/client.js';
15
15
  import { buildEnvelope, commitWithTransportRetry, mintCid, mintTxId, resolveCids, } from '../api/commit.js';
16
16
  import { HeadMismatchError, JpatchError } from '../api/errors.js';
@@ -18,9 +18,10 @@ import { planTransactions } from '../api/txPlan.js';
18
18
  import { pullDelta, SnapshotRequired } from '../api/poll.js';
19
19
  import { fetchProjectState, } from '../api/objects.js';
20
20
  import { PRIMITIVE_MAPPING } from '../adopt/mappingTable.js';
21
- import { emitComponent, emitPage, withoutRouteMarker } from '../codegen/emit.js';
21
+ import { emitComponent, emitPage, ROUTE_MARKER, withoutRouteMarker } from '../codegen/emit.js';
22
22
  import { importNeedsFor, importNeedsUsedIn } from '../codegen/imports.js';
23
23
  import { instanceLinker } from '../codegen/instances.js';
24
+ import { makeHunks, merge3, textHash } from '@mapples/textpatch';
24
25
  import { deprecateFile } from '../merge/deprecate.js';
25
26
  import { diffTree, diffTreeStaged } from '../merge/diff.js';
26
27
  import { buildMergePatch, deepEqual } from '../merge/mergePatch.js';
@@ -35,11 +36,13 @@ import { readPagesMap, writePagesMap, } from '../project/pagesMap.js';
35
36
  import { resolveAssetIds, syncAssets, writeAssetMap } from '../assets/assets.js';
36
37
  import { mintEntityFile } from '../nav/placement.js';
37
38
  import { syncNavigation } from '../nav/routeTree.js';
39
+ import { chromeFilesFor } from '../nav/navigatorTree.js';
40
+ import { syncRuntimeDocuments } from '../runtime/runtimeFiles.js';
38
41
  import { syncStyleFile } from '../style/theme.js';
39
42
  import { emptyReport } from '../ui/report.js';
40
43
  import { sourceIdFor, } from '../types.js';
41
44
  const MAX_REBASE_RETRIES = 5;
42
- /** Source ops carry whole files (≤256 KiB each): fewer per transaction than node ops. */
45
+ /** A Source create carries a whole file (≤256 KiB); updates are hunks (A13). Fewer per transaction than node ops. */
43
46
  const SOURCE_OPS_PER_TX = 10;
44
47
  // buildRemoteModel needs the project root to read the stored head; carried as
45
48
  // a non-enumerable tag so BaseSnapshot's shape stays unchanged for callers.
@@ -98,6 +101,15 @@ export async function runSyncEngine({ root, client }) {
98
101
  report.notes.push(`outbox tx ${entry.txId} dropped: ${err.message} (target changed under it — this is the one user-visible conflict class, RFC-0001 §7.1)`);
99
102
  continue;
100
103
  }
104
+ if (err instanceof JpatchError &&
105
+ (err.code === 'SOURCE_BASE_MISMATCH' || err.code === 'SOURCE_PATCH_INVALID')) {
106
+ // A parked code edit whose text Creator changed meanwhile (A13).
107
+ // Nothing is lost: the file still holds the local text, and the
108
+ // merge below re-derives the upload from base, file and remote.
109
+ outbox.clear(entry.txId);
110
+ report.notes.push(`outbox tx ${entry.txId} dropped: Creator changed this file meanwhile — your code edit is re-merged from the file on this sync`);
111
+ continue;
112
+ }
101
113
  throw err;
102
114
  }
103
115
  }
@@ -220,10 +232,11 @@ async function bootstrap(root, client, config, report) {
220
232
  const state = await fetchProjectState(client, boot);
221
233
  const baseStore = new BaseStore(root);
222
234
  const pagesMap = readPagesMap(root);
223
- // Placement first: every page gets its file position from the navigation.
224
- const navResult = syncNavigation(root, config.routesDir ?? DEFAULT_ROUTES_DIR, config.pagesDir, state.pages, pagesMap, state.navigation, state.navigation, report);
235
+ // Components first (a designed tab bar / drawer layout imports its file),
236
+ // then every page gets its file position from the navigation.
225
237
  const componentsMap = readComponentsMap(root);
226
238
  placeComponents(config.componentsDir ?? DEFAULT_COMPONENTS_DIR, state.components, componentsMap);
239
+ const navResult = syncNavigation(root, config.routesDir ?? DEFAULT_ROUTES_DIR, config.pagesDir, state.pages, pagesMap, state.navigation, state.navigation, report, chromeFilesFor(state.components, componentsMap));
227
240
  const linker = instanceLinker(componentsMap, state.components);
228
241
  // A container with stored source text (A12) materializes from that text —
229
242
  // hooks and handlers written in the Creator's editor included — patched to
@@ -279,6 +292,7 @@ async function bootstrap(root, client, config, report) {
279
292
  });
280
293
  }
281
294
  const styleResult = syncStyleFile(root, state.style, state.style, report);
295
+ await syncRuntimeDocuments(root, client, report);
282
296
  const assetsResult = await syncAssets(root, client, state.assets, report);
283
297
  if (assetsResult.pushOps.length > 0) {
284
298
  report.notes.push('local assets found — run `mapples sync` again to upload them');
@@ -331,13 +345,17 @@ function withFileStates(remote, file) {
331
345
  return out;
332
346
  }
333
347
  // ------------------------------------------------------------- remote model
348
+ /** The base's Source texts the server holds, keyed by container — a fetch skip-list. */
349
+ function knownSources(base) {
350
+ return new Map([...base.sources]
351
+ .filter(([, source]) => source.onServer)
352
+ .map(([id, { onServer: _onServer, ...source }]) => [id, source]));
353
+ }
334
354
  async function buildRemoteModel(client, base, sinceSeq, report) {
335
355
  // The delta is used only to detect change and report op counts. The remote
336
- // MODEL always comes from a full snapshot fetch: the real backend currently
337
- // moves HEAD through legacy-write mirroring without emitting the matching
338
- // ops (navigation saves, page creation — RFC-0001 invariant 10 violation),
339
- // so op-replay would silently reconstruct a stale tree. Revisit when the
340
- // backend guarantees every HEAD move carries its ops.
356
+ // MODEL comes from the manifest: blobs are content-addressed, so the walk
357
+ // costs only what changed (a Source whose base text still hashes to the
358
+ // index entry is not fetched again).
341
359
  let head;
342
360
  try {
343
361
  const delta = await pullDelta(client, sinceSeq);
@@ -373,7 +391,7 @@ async function buildRemoteModel(client, base, sinceSeq, report) {
373
391
  };
374
392
  }
375
393
  const boot = await client.bootstrap();
376
- const state = await fetchProjectState(client, boot);
394
+ const state = await fetchProjectState(client, boot, knownSources(base));
377
395
  return {
378
396
  pages: state.pages,
379
397
  components: state.components,
@@ -406,10 +424,12 @@ async function mergeAndWrite(root, client, config, base, remote, report) {
406
424
  report.conflicts = [];
407
425
  report.warnings = [];
408
426
  // ---- Navigation first: it decides where every page file lives ----
409
- const navResult = syncNavigation(root, config.routesDir ?? DEFAULT_ROUTES_DIR, config.pagesDir, remote.pages, pagesMap, base.navigation, remote.navigation, report);
427
+ // (components are placed before it: a designed tab bar / drawer layout
428
+ // imports its component's file)
429
+ placeComponents(config.componentsDir ?? DEFAULT_COMPONENTS_DIR, remote.components, componentsMap);
430
+ const navResult = syncNavigation(root, config.routesDir ?? DEFAULT_ROUTES_DIR, config.pagesDir, remote.pages, pagesMap, base.navigation, remote.navigation, report, chromeFilesFor(remote.components, componentsMap));
410
431
  pushOps.push(...navResult.pushOps);
411
432
  mergedBase.navigation = navResult.mergedNavigation;
412
- placeComponents(config.componentsDir ?? DEFAULT_COMPONENTS_DIR, remote.components, componentsMap);
413
433
  // Component uuids come from the remote model; a page's instances link to them.
414
434
  const linker = instanceLinker(componentsMap, remote.components);
415
435
  await mergeFiles({
@@ -446,10 +466,11 @@ async function mergeAndWrite(root, client, config, base, remote, report) {
446
466
  deferredOps,
447
467
  report,
448
468
  });
449
- // ---- Non-page entities: style, assets ----
469
+ // ---- Non-page entities: style, runtime documents, assets ----
450
470
  const styleResult = syncStyleFile(root, base.style, remote.style, report);
451
471
  pushOps.push(...styleResult.pushOps);
452
472
  mergedBase.style = styleResult.mergedStyle;
473
+ await syncRuntimeDocuments(root, client, report);
453
474
  const assetsResult = await syncAssets(root, client, remote.assets, report);
454
475
  pushOps.push(...assetsResult.pushOps);
455
476
  mergedBase.assets = assetsResult.mergedAssets;
@@ -514,6 +535,15 @@ async function mergeFiles(args) {
514
535
  let originalSource = null;
515
536
  if (fileExists) {
516
537
  fileSource = readFileSync(filePath, 'utf8');
538
+ // Library elements imported from the wrong package (`TabBarItems` from
539
+ // @mapples/ui, written by an older codegen) re-home to the package that
540
+ // exports them — the repair the Creator's code editor applies on open.
541
+ const rehomed = moveNamedImports(fileSource, UI_MODULE, moduleForType);
542
+ if (rehomed !== fileSource) {
543
+ fileSource = rehomed;
544
+ writeFileSync(filePath, rehomed);
545
+ report.notes.push(`${mapping.file}: moved library imports to the package that exports them`);
546
+ }
517
547
  // Pre-extraction import healing: a file left behind by an interrupted
518
548
  // sync may use elements its import block never gained. Without the
519
549
  // import, extraction reads primitives as local Customs and the merge
@@ -660,16 +690,45 @@ async function mergeFiles(args) {
660
690
  localTextChanged =
661
691
  baseSource !== null &&
662
692
  withoutRouteMarker(originalSource) !== withoutRouteMarker(baseSource.text);
663
- const fromRemote = remoteTextChanged && remoteSource !== null
664
- ? renderFromSource(remoteSource, mergedFile, mapping.file, report, mergedStates)
665
- : null;
666
- if (fromRemote !== null) {
693
+ let fromRemote = null;
694
+ /** Both sides changed the code and the hunks did not overlap (A13). */
695
+ let mergedCode = false;
696
+ let conflictDetail = null;
697
+ if (remoteTextChanged && remoteSource !== null && baseSource !== null) {
698
+ let theirs = remoteSource.text;
667
699
  if (localTextChanged) {
700
+ // The text 3-way (A13): base = the text both sides started from,
701
+ // ours = the file as the developer left it (tagged, so its `$sid`s
702
+ // match the trees merged above), theirs = Creator's text now. The
703
+ // route marker is the CLI's own: merged without it, put back after.
704
+ const merged = merge3(withoutRouteMarker(baseSource.text), withoutRouteMarker(fileSource), withoutRouteMarker(remoteSource.text));
705
+ if (merged.ok) {
706
+ const marker = fileSource.split('\n').find((line) => ROUTE_MARKER.test(line));
707
+ theirs = marker === undefined ? merged.text : `${marker}\n${merged.text}`;
708
+ mergedCode = true;
709
+ }
710
+ else {
711
+ conflictDetail = `${merged.conflicts} change(s) touch the same lines`;
712
+ }
713
+ }
714
+ if (conflictDetail === null) {
715
+ fromRemote = renderFromSource({ ...remoteSource, text: theirs }, mergedFile, mapping.file, report, mergedStates);
716
+ if (fromRemote === null && mergedCode) {
717
+ conflictDetail = 'the merged code has no $sid root';
718
+ }
719
+ }
720
+ if (conflictDetail !== null) {
721
+ mergedCode = false;
722
+ fromRemote = renderFromSource(remoteSource, mergedFile, mapping.file, report, mergedStates);
723
+ }
724
+ }
725
+ if (fromRemote !== null) {
726
+ if (localTextChanged && !mergedCode) {
668
727
  const deprecatedTo = relative(root, deprecateFile(filePath));
669
728
  report.conflicts.push({
670
729
  sid: mergedFile.sid,
671
730
  reason: 'source-text',
672
- detail: 'the code around the elements changed both here and in Creator',
731
+ detail: `the code around the elements changed both here and in Creator${conflictDetail === null ? '' : ` — ${conflictDetail}`}`,
673
732
  file: mapping.file,
674
733
  deprecatedTo,
675
734
  });
@@ -683,7 +742,7 @@ async function mergeFiles(args) {
683
742
  report.files.push({
684
743
  file: mapping.file,
685
744
  action: 'updated',
686
- detail: 'code edited in Creator',
745
+ detail: mergedCode ? 'code merged with Creator' : 'code edited in Creator',
687
746
  });
688
747
  }
689
748
  mkdirSync(dirname(filePath), { recursive: true });
@@ -790,11 +849,15 @@ function sourceOpsFor(mergedBase, remote, uploads, idMap) {
790
849
  });
791
850
  }
792
851
  else if (remoteSource.text !== source.text) {
852
+ // A13: hunks against the server's text at the push base, never the file.
793
853
  ops.push({
794
854
  op: 'update',
795
855
  entity: 'Source',
796
856
  id: remoteSource.id,
797
- patch: { text: source.text },
857
+ text: {
858
+ base: textHash(remoteSource.text),
859
+ hunks: makeHunks(remoteSource.text, source.text),
860
+ },
798
861
  });
799
862
  }
800
863
  }
@@ -1 +1 @@
1
- {"version":3,"file":"syncEngine.js","sourceRoot":"","sources":["../../src/services/syncEngine.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"syncEngine.js","sourceRoot":"","sources":["../../src/services/syncEngine.ts"],"names":[],"mappings":"AAAA,gFAAgF;AAChF,8EAA8E;AAC9E,2EAA2E;AAC3E,iCAAiC;AACjC,EAAE;AACF,yEAAyE;AACzE,6EAA6E;AAC7E,6EAA6E;AAC7E,sEAAsE;AAEtE,OAAO,EAAE,UAAU,EAAE,YAAY,EAAE,aAAa,EAAE,SAAS,EAAE,MAAM,SAAS,CAAC;AAC7E,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,QAAQ,EAAE,MAAM,WAAW,CAAC;AAEpD,OAAO,EAAE,mBAAmB,EAAE,aAAa,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAC;AACjF,OAAO,EACL,YAAY,EACZ,OAAO,EACP,gBAAgB,EAChB,KAAK,EACL,eAAe,EACf,aAAa,GAEd,MAAM,kBAAkB,CAAC;AAE1B,OAAO,EAAgB,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAChE,OAAO,EACL,aAAa,EACb,wBAAwB,EACxB,OAAO,EACP,QAAQ,EACR,WAAW,GACZ,MAAM,kBAAkB,CAAC;AAC1B,OAAO,EAAE,iBAAiB,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AAClE,OAAO,EAAE,gBAAgB,EAAE,MAAM,kBAAkB,CAAC;AACpD,OAAO,EAAE,SAAS,EAAE,gBAAgB,EAAE,MAAM,gBAAgB,CAAC;AAC7D,OAAO,EACL,iBAAiB,GAOlB,MAAM,mBAAmB,CAAC;AAC3B,OAAO,EAAE,iBAAiB,EAAE,MAAM,0BAA0B,CAAC;AAC7D,OAAO,EAAE,aAAa,EAAE,QAAQ,EAAE,YAAY,EAAE,kBAAkB,EAAE,MAAM,oBAAoB,CAAC;AAC/F,OAAO,EAAE,cAAc,EAAE,iBAAiB,EAAE,MAAM,uBAAuB,CAAC;AAC1E,OAAO,EAAE,cAAc,EAAuB,MAAM,yBAAyB,CAAC;AAC9E,OAAO,EAAE,SAAS,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,oBAAoB,CAAC;AAEjE,OAAO,EAAE,aAAa,EAAE,MAAM,uBAAuB,CAAC;AACtD,OAAO,EAAE,QAAQ,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAC5D,OAAO,EAAE,eAAe,EAAE,SAAS,EAAE,MAAM,wBAAwB,CAAC;AACpE,OAAO,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;AACrD,OAAO,EAAE,WAAW,EAAE,MAAM,qBAAqB,CAAC;AAClD,OAAO,EAAE,SAAS,EAAsC,MAAM,yBAAyB,CAAC;AACxF,OAAO,EACL,sBAAsB,EACtB,kBAAkB,EAClB,UAAU,GAEX,MAAM,sBAAsB,CAAC;AAC9B,OAAO,EACL,iBAAiB,EACjB,kBAAkB,GAEnB,MAAM,6BAA6B,CAAC;AACrC,OAAO,EAAE,QAAQ,EAAE,SAAS,EAAE,MAAM,oBAAoB,CAAC;AACzD,OAAO,EAAE,MAAM,EAAE,MAAM,sBAAsB,CAAC;AAC9C,OAAO,EACL,YAAY,EACZ,aAAa,GAGd,MAAM,wBAAwB,CAAC;AAChC,OAAO,EAAE,eAAe,EAAE,UAAU,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AACjF,OAAO,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAC;AACrD,OAAO,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAC;AACrD,OAAO,EAAE,cAAc,EAAE,MAAM,yBAAyB,CAAC;AACzD,OAAO,EAAE,oBAAoB,EAAE,MAAM,4BAA4B,CAAC;AAClE,OAAO,EAAE,aAAa,EAAE,MAAM,mBAAmB,CAAC;AAClD,OAAO,EAAE,WAAW,EAAmB,MAAM,iBAAiB,CAAC;AAC/D,OAAO,EACL,WAAW,GAKZ,MAAM,aAAa,CAAC;AAErB,MAAM,kBAAkB,GAAG,CAAC,CAAC;AAC7B,qHAAqH;AACrH,MAAM,iBAAiB,GAAG,EAAE,CAAC;AAE7B,8EAA8E;AAC9E,4EAA4E;AAC5E,MAAM,QAAQ,GAAG,MAAM,CAAC,aAAa,CAAC,CAAC;AACvC,SAAS,YAAY,CAAC,IAAkB,EAAE,IAAY;IACpD,MAAM,CAAC,cAAc,CAAC,IAAI,EAAE,QAAQ,EAAE,EAAE,KAAK,EAAE,IAAI,EAAE,YAAY,EAAE,IAAI,EAAE,UAAU,EAAE,KAAK,EAAE,CAAC,CAAC;IAC9F,OAAO,IAAI,CAAC;AACd,CAAC;AACD,SAAS,MAAM,CAAC,IAAkB;IAChC,MAAM,IAAI,GAAI,IAA0C,CAAC,QAAQ,CAAC,CAAC;IACnE,IAAI,CAAC,IAAI;QAAE,MAAM,IAAI,KAAK,CAAC,kDAAkD,CAAC,CAAC;IAC/E,OAAO,IAAI,CAAC;AACd,CAAC;AAmBD,MAAM,CAAC,KAAK,UAAU,aAAa,CAAC,EAAE,IAAI,EAAE,MAAM,EAAmB;IACnE,MAAM,MAAM,GAAG,WAAW,EAAE,CAAC;IAC7B,MAAM,MAAM,GAAG,UAAU,CAAC,IAAI,CAAC,CAAC;IAChC,MAAM,SAAS,GAAG,IAAI,SAAS,CAAC,IAAI,CAAC,CAAC;IACtC,MAAM,MAAM,GAAG,IAAI,MAAM,CAAC,IAAI,CAAC,CAAC;IAChC,MAAM,IAAI,GAAG,QAAQ,CAAC,IAAI,CAAC,CAAC;IAE5B,2BAA2B;IAC3B,IAAI,CAAC,IAAI,IAAI,CAAC,SAAS,CAAC,MAAM,EAAE,EAAE,CAAC;QACjC,OAAO,SAAS,CAAC,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,CAAC;IACjD,CAAC;IAED,yBAAyB;IACzB,IAAI,WAAW,GAAG,IAAI,CAAC,IAAI,CAAC;IAC5B,IAAI,UAAU,GAAG,IAAI,CAAC,GAAG,CAAC;IAC1B,KAAK,MAAM,KAAK,IAAI,MAAM,CAAC,IAAI,EAAE,EAAE,CAAC;QAClC,MAAM,QAAQ,GAAG,WAAW,CAAC,WAAW,EAAE,UAAU,CAAC,CAAC;QACtD,MAAM,QAAQ,GAAG,gBAAgB,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;QAC7C,IAAI,CAAC;YACH,MAAM,WAAW,CAAC,MAAM,EAAE,QAAQ,EAAE,KAAK,CAAC,IAAI,EAAE,QAAQ,EAAE,EAAE,aAAa,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC,CAAC;YAC3F,WAAW,GAAG,QAAQ,CAAC,IAAI,CAAC;YAC5B,UAAU,GAAG,QAAQ,CAAC,GAAG,CAAC;YAC1B,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;YACzB,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,qBAAqB,KAAK,CAAC,IAAI,KAAK,KAAK,CAAC,GAAG,CAAC,MAAM,OAAO,CAAC,CAAC;QACjF,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,IAAI,cAAc,CAAC,GAAG,CAAC,EAAE,CAAC;gBACxB,IAAI,QAAQ,CAAC,YAAY,GAAG,CAAC,EAAE,CAAC;oBAC9B,iEAAiE;oBACjE,sEAAsE;oBACtE,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;oBACzB,MAAM,CAAC,IAAI,CAAC;wBACV,IAAI,EAAE,QAAQ,EAAE;wBAChB,GAAG,EAAE,WAAW,CAAC,QAAQ,CAAC,IAAI,EAAE,CAAC,KAAK,CAAC,QAAQ,CAAC,YAAY,CAAC,EAAE,QAAQ,CAAC,KAAK,CAAC;wBAC9E,QAAQ,EAAE,KAAK,CAAC,QAAQ;qBACzB,CAAC,CAAC;gBACL,CAAC;gBACD,MAAM,CAAC,OAAO,GAAG,IAAI,CAAC;gBACtB,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,6BAA6B,CAAC,CAAC;gBACjD,OAAO,MAAM,CAAC;YAChB,CAAC;YACD,IAAI,GAAG,YAAY,WAAW,IAAI,GAAG,CAAC,IAAI,KAAK,eAAe,EAAE,CAAC;gBAC/D,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;gBACzB,MAAM,CAAC,KAAK,CAAC,IAAI,CACf,aAAa,KAAK,CAAC,IAAI,aAAa,GAAG,CAAC,OAAO,yFAAyF,CACzI,CAAC;gBACF,SAAS;YACX,CAAC;YACD,IACE,GAAG,YAAY,WAAW;gBAC1B,CAAC,GAAG,CAAC,IAAI,KAAK,sBAAsB,IAAI,GAAG,CAAC,IAAI,KAAK,sBAAsB,CAAC,EAC5E,CAAC;gBACD,iEAAiE;gBACjE,gEAAgE;gBAChE,gEAAgE;gBAChE,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;gBACzB,MAAM,CAAC,KAAK,CAAC,IAAI,CACf,aAAa,KAAK,CAAC,IAAI,wGAAwG,CAChI,CAAC;gBACF,SAAS;YACX,CAAC;YACD,MAAM,GAAG,CAAC;QACZ,CAAC;IACH,CAAC;IAED,iBAAiB;IACjB,MAAM,IAAI,GAAG,SAAS,CAAC,OAAO,EAAE,CAAC;IACjC,IAAI,MAAmB,CAAC;IACxB,IAAI,CAAC;QACH,MAAM,GAAG,MAAM,gBAAgB,CAAC,MAAM,EAAE,YAAY,CAAC,IAAI,EAAE,IAAI,CAAC,EAAE,UAAU,EAAE,MAAM,CAAC,CAAC;IACxF,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,IAAI,cAAc,CAAC,GAAG,CAAC,EAAE,CAAC;YACxB,OAAO,WAAW,CAAC,IAAI,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM,CAAC,CAAC;QACjD,CAAC;QACD,MAAM,GAAG,CAAC;IACZ,CAAC;IAED,wDAAwD;IACxD,IAAI,IAAI,GAAG,QAAQ,EAAE,CAAC;IACtB,IAAI,OAAO,GAAG,CAAC,CAAC;IAChB,SAAS,CAAC;QACR,MAAM,MAAM,GAAG,MAAM,aAAa,CAAC,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM,CAAC,CAAC;QAC/E,MAAM,EAAE,UAAU,EAAE,QAAQ,EAAE,aAAa,EAAE,aAAa,EAAE,GAAG,MAAM,CAAC;QACtE,yEAAyE;QACzE,yEAAyE;QACzE,+DAA+D;QAC/D,MAAM,OAAO,GAAG,CAAC,GAAG,gBAAgB,CAAC,MAAM,CAAC,OAAO,CAAC,EAAE,GAAG,gBAAgB,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC,CAAC;QAC/F,MAAM,OAAO,GAAG,OAAO,CAAC,IAAI,EAAE,CAAC;QAE/B,sEAAsE;QACtE,8DAA8D;QAC9D,IAAI,SAAS,GAAe,EAAE,CAAC;QAC/B,IAAI,OAAO,CAAC,MAAM,KAAK,CAAC,IAAI,aAAa,CAAC,IAAI,KAAK,CAAC,EAAE,CAAC;YACrD,QAAQ,CAAC,IAAI,EAAE,SAAS,EAAE,UAAU,EAAE,QAAQ,EAAE,aAAa,EAAE,MAAM,CAAC,IAAI,EAAE,MAAM,CAAC,GAAG,CAAC,CAAC;YACxF,MAAM,CAAC,IAAI,GAAG,MAAM,CAAC,IAAI,CAAC;YAC1B,OAAO,MAAM,CAAC;QAChB,CAAC;QACD,IAAI,OAAO,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YACvB,8EAA8E;YAC9E,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,mBAAmB,OAAO,CAAC,MAAM,eAAe,CAAC,CAAC;QACtE,CAAC;QAED,MAAM,QAAQ,GAAG,WAAW,CAAC,MAAM,CAAC,IAAI,EAAE,MAAM,CAAC,GAAG,CAAC,CAAC;QACtD,IAAI,CAAC;YACH,IAAI,OAAO,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBACvB,MAAM,WAAW,CAAC,MAAM,EAAE,OAAO,EAAE,IAAI,EAAE,QAAQ,EAAE;oBACjD,aAAa,EAAE,KAAK;oBACpB,MAAM;oBACN,sEAAsE;oBACtE,kEAAkE;oBAClE,+DAA+D;oBAC/D,OAAO,EAAE,CAAC,KAAK,EAAE,EAAE,CACjB,UAAU,CAAC,IAAI,EAAE,UAAU,EAAE,CAAC,QAAQ,EAAE,aAAa,CAAC,EAAE,KAAK,EAAE,MAAM,CAAC;iBACzE,CAAC,CAAC;gBACH,MAAM,CAAC,SAAS,IAAI,OAAO,CAAC,MAAM,CAAC;YACrC,CAAC;YACD,SAAS,GAAG,YAAY,CAAC,UAAU,EAAE,MAAM,EAAE,aAAa,EAAE,QAAQ,CAAC,KAAK,CAAC,CAAC;YAC5E,IAAI,CAAC;gBACH,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,SAAS,CAAC,MAAM,EAAE,CAAC,IAAI,iBAAiB,EAAE,CAAC;oBAC7D,MAAM,WAAW,CACf,MAAM,EACN,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,GAAG,iBAAiB,CAAC,CAAC,EAC3C,OAAO,CAAC,MAAM,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,QAAQ,EAAE,EACnD,QAAQ,EACR,EAAE,aAAa,EAAE,KAAK,EAAE,MAAM,EAAE,CACjC,CAAC;gBACJ,CAAC;gBACD,IAAI,SAAS,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;oBACzB,MAAM,CAAC,SAAS,IAAI,SAAS,CAAC,MAAM,CAAC;oBACrC,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,+BAA+B,SAAS,CAAC,MAAM,qBAAqB,CAAC,CAAC;gBAC1F,CAAC;YACH,CAAC;YAAC,OAAO,GAAG,EAAE,CAAC;gBACb,IAAI,CAAC,CAAC,GAAG,YAAY,WAAW,IAAI,GAAG,CAAC,IAAI,KAAK,gBAAgB,CAAC;oBAAE,MAAM,GAAG,CAAC;gBAC9E,oEAAoE;gBACpE,qEAAqE;gBACrE,8CAA8C;gBAC9C,KAAK,MAAM,EAAE,IAAI,aAAa,EAAE,CAAC;oBAC/B,MAAM,KAAK,GAAG,UAAU,CAAC,OAAO,CAAC,GAAG,CAAC,QAAQ,CAAC,KAAK,CAAC,EAAE,CAAC,IAAI,EAAE,CAAC,CAAC;oBAC/D,IAAI,KAAK;wBAAE,KAAK,CAAC,QAAQ,GAAG,KAAK,CAAC;gBACpC,CAAC;gBACD,SAAS,GAAG,EAAE,CAAC;gBACf,MAAM,CAAC,KAAK,CAAC,IAAI,CACf,8GAA8G,CAC/G,CAAC;YACJ,CAAC;YACD,QAAQ,CAAC,IAAI,EAAE,SAAS,EAAE,UAAU,EAAE,QAAQ,EAAE,aAAa,EAAE,QAAQ,CAAC,IAAI,EAAE,QAAQ,CAAC,GAAG,CAAC,CAAC;YAC5F,MAAM,CAAC,IAAI,GAAG,QAAQ,CAAC,IAAI,CAAC;YAC5B,OAAO,MAAM,CAAC;QAChB,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,IAAI,GAAG,YAAY,iBAAiB,EAAE,CAAC;gBACrC,OAAO,IAAI,CAAC,CAAC;gBACb,IAAI,OAAO,IAAI,kBAAkB,EAAE,CAAC;oBAClC,MAAM,IAAI,KAAK,CACb,sBAAsB,kBAAkB,+FAA+F,CACxI,CAAC;gBACJ,CAAC;gBACD,IAAI,QAAQ,CAAC,YAAY,GAAG,CAAC,EAAE,CAAC;oBAC9B,mEAAmE;oBACnE,wDAAwD;oBACxD,MAAM,CAAC,SAAS,IAAI,QAAQ,CAAC,YAAY,CAAC;oBAC1C,IAAI,GAAG,QAAQ,EAAE,CAAC;gBACpB,CAAC;gBACD,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,UAAU,OAAO,mBAAmB,GAAG,CAAC,IAAI,qBAAqB,CAAC,CAAC;gBACrF,MAAM,GAAG,MAAM,gBAAgB,CAAC,MAAM,EAAE,YAAY,CAAC,IAAI,EAAE,IAAI,CAAC,EAAE,UAAU,EAAE,MAAM,CAAC,CAAC;gBACtF,SAAS,CAAC,+EAA+E;YAC3F,CAAC;YACD,IAAI,cAAc,CAAC,GAAG,CAAC,EAAE,CAAC;gBACxB,mEAAmE;gBACnE,oEAAoE;gBACpE,gDAAgD;gBAChD,iEAAiE;gBACjE,qEAAqE;gBACrE,MAAM,MAAM,GAAG,CAAC,GAAG,OAAO,EAAE,GAAG,SAAS,CAAC,CAAC;gBAC1C,MAAM,CAAC,IAAI,CAAC;oBACV,IAAI,EAAE,QAAQ,CAAC,YAAY,GAAG,CAAC,CAAC,CAAC,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC,IAAI;oBACnD,GAAG,EAAE,WAAW,CAAC,MAAM,CAAC,KAAK,CAAC,QAAQ,CAAC,YAAY,CAAC,EAAE,QAAQ,CAAC,KAAK,CAAC;oBACrE,QAAQ,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE;iBACnC,CAAC,CAAC;gBACH,MAAM,CAAC,SAAS,GAAG,MAAM,CAAC,MAAM,CAAC;gBACjC,MAAM,CAAC,OAAO,GAAG,IAAI,CAAC;gBACtB,QAAQ,CACN,IAAI,EACJ,SAAS,EACT,YAAY,CAAC,MAAM,CAAC,EACpB,YAAY,CAAC,IAAI,CAAC,EAClB,iBAAiB,CAAC,IAAI,CAAC,EACvB,MAAM,CAAC,IAAI,EACX,MAAM,CAAC,GAAG,CACX,CAAC;gBACF,OAAO,MAAM,CAAC;YAChB,CAAC;YACD,MAAM,GAAG,CAAC;QACZ,CAAC;IACH,CAAC;AACH,CAAC;AAED,6EAA6E;AAE7E,KAAK,UAAU,SAAS,CACtB,IAAY,EACZ,MAAoB,EACpB,MAAqB,EACrB,MAAkB;IAElB,MAAM,IAAI,GAAG,MAAM,MAAM,CAAC,SAAS,EAAE,CAAC;IACtC,MAAM,KAAK,GAAG,MAAM,iBAAiB,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC;IACpD,MAAM,SAAS,GAAG,IAAI,SAAS,CAAC,IAAI,CAAC,CAAC;IACtC,MAAM,QAAQ,GAAa,YAAY,CAAC,IAAI,CAAC,CAAC;IAE9C,0EAA0E;IAC1E,8DAA8D;IAC9D,MAAM,aAAa,GAAG,iBAAiB,CAAC,IAAI,CAAC,CAAC;IAC9C,eAAe,CAAC,MAAM,CAAC,aAAa,IAAI,sBAAsB,EAAE,KAAK,CAAC,UAAU,EAAE,aAAa,CAAC,CAAC;IACjG,MAAM,SAAS,GAAG,cAAc,CAC9B,IAAI,EACJ,MAAM,CAAC,SAAS,IAAI,kBAAkB,EACtC,MAAM,CAAC,QAAQ,EACf,KAAK,CAAC,KAAK,EACX,QAAQ,EACR,KAAK,CAAC,UAAU,EAChB,KAAK,CAAC,UAAU,EAChB,MAAM,EACN,cAAc,CAAC,KAAK,CAAC,UAAU,EAAE,aAAa,CAAC,CAChD,CAAC;IACF,MAAM,MAAM,GAAG,cAAc,CAAC,aAAa,EAAE,KAAK,CAAC,UAAU,CAAC,CAAC;IAE/D,0EAA0E;IAC1E,2EAA2E;IAC3E,2CAA2C;IAC3C,MAAM,OAAO,GAAgE,EAAE,CAAC;IAChF,KAAK,MAAM,IAAI,IAAI,KAAK,CAAC,KAAK,CAAC,MAAM,EAAE,EAAE,CAAC;QACxC,MAAM,OAAO,GAAG,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QAClC,IAAI,CAAC,OAAO;YAAE,MAAM,IAAI,KAAK,CAAC,kBAAkB,IAAI,CAAC,EAAE,iBAAiB,CAAC,CAAC;QAC1E,MAAM,IAAI,GAAG,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,EAAE,OAAO,CAAC,IAAI,EAAE,QAAQ,CAAC,MAAM,EAAE,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC;QACpF,OAAO,CAAC,IAAI,CAAC;YACX,EAAE,EAAE,IAAI,CAAC,EAAE;YACX,IAAI,EAAE,OAAO,CAAC,IAAI;YAClB,IAAI,EAAE,KAAK,IAAI,EAAE,CACf,gBAAgB,CACd,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,IAAI,EAClC,IAAI,EACJ,OAAO,CAAC,IAAI,EACZ,MAAM,EACN,IAAI,CAAC,KAAK,CACX,IAAI,QAAQ,CAAC,SAAS,CAAC,IAAI,CAAC,IAAI,EAAE,IAAI,EAAE,OAAO,EAAE,IAAI,CAAC,KAAK,CAAC,EAAE,IAAI,CAAC,IAAI,EAAE,OAAO,CAAC,IAAI,CAAC,CAAC;SAC3F,CAAC,CAAC;IACL,CAAC;IACD,KAAK,MAAM,SAAS,IAAI,KAAK,CAAC,UAAU,CAAC,MAAM,EAAE,EAAE,CAAC;QAClD,MAAM,OAAO,GAAG,aAAa,CAAC,SAAS,CAAC,EAAE,CAAE,CAAC;QAC7C,MAAM,IAAI,GAAG,MAAM,CAAC,MAAM,CAAC,SAAS,CAAC,IAAI,EAAE,OAAO,CAAC,IAAI,EAAE,QAAQ,CAAC,MAAM,EAAE,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC;QACzF,OAAO,CAAC,IAAI,CAAC;YACX,EAAE,EAAE,SAAS,CAAC,EAAE;YAChB,IAAI,EAAE,OAAO,CAAC,IAAI;YAClB,IAAI,EAAE,KAAK,IAAI,EAAE,CACf,gBAAgB,CACd,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,SAAS,CAAC,EAAE,CAAC,IAAI,IAAI,EACvC,IAAI,EACJ,OAAO,CAAC,IAAI,EACZ,MAAM,EACN,SAAS,CAAC,KAAK,CAChB;gBACD,aAAa,CACX,EAAE,IAAI,EAAE,SAAS,CAAC,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,MAAM,EAAE,SAAS,CAAC,KAAK,EAAE,EAC7D,IAAI,CAAC,IAAI,EAAE,OAAO,CAAC,IAAI,CAAC,CACzB;SACJ,CAAC,CAAC;IACL,CAAC;IACD,MAAM,WAAW,GAAG,IAAI,GAAG,EAAsB,CAAC;IAClD,KAAK,MAAM,MAAM,IAAI,OAAO,EAAE,CAAC;QAC7B,MAAM,QAAQ,GAAG,IAAI,CAAC,IAAI,EAAE,MAAM,CAAC,IAAI,CAAC,CAAC;QACzC,IAAI,UAAU,CAAC,QAAQ,CAAC,EAAE,CAAC;YACzB,2EAA2E;YAC3E,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC;gBAChB,IAAI,EAAE,MAAM,CAAC,IAAI;gBACjB,MAAM,EAAE,WAAW;gBACnB,MAAM,EAAE,yBAAyB;aAClC,CAAC,CAAC;QACL,CAAC;aAAM,CAAC;YACN,SAAS,CAAC,OAAO,CAAC,QAAQ,CAAC,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;YAClD,aAAa,CAAC,QAAQ,EAAE,MAAM,MAAM,CAAC,IAAI,EAAE,CAAC,CAAC;YAC7C,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,MAAM,CAAC,IAAI,EAAE,MAAM,EAAE,SAAS,EAAE,CAAC,CAAC;QAC9D,CAAC;QACD,sEAAsE;QACtE,uEAAuE;QACvE,mEAAmE;QACnE,MAAM,YAAY,GAAG,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC,IAAI,IAAI,CAAC;QAC1D,WAAW,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE,EAAE;YACzB,EAAE,EAAE,YAAY,EAAE,EAAE,IAAI,WAAW,CAAC,MAAM,CAAC,EAAE,CAAC;YAC9C,EAAE,EAAE,MAAM,CAAC,EAAE;YACb,IAAI,EAAE,YAAY,EAAE,IAAI,IAAI,KAAK;YACjC,IAAI,EAAE,YAAY,EAAE,IAAI,IAAI,YAAY,CAAC,QAAQ,EAAE,MAAM,CAAC;YAC1D,QAAQ,EAAE,YAAY,KAAK,IAAI;SAChC,CAAC,CAAC;IACL,CAAC;IAED,MAAM,WAAW,GAAG,aAAa,CAAC,IAAI,EAAE,KAAK,CAAC,KAAK,EAAE,KAAK,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC;IAC1E,MAAM,oBAAoB,CAAC,IAAI,EAAE,MAAM,EAAE,MAAM,CAAC,CAAC;IACjD,MAAM,YAAY,GAAG,MAAM,UAAU,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAC1E,IAAI,YAAY,CAAC,OAAO,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACpC,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,8DAA8D,CAAC,CAAC;IACpF,CAAC;IAED,SAAS,CAAC,QAAQ,CAAC;QACjB,KAAK,EAAE,KAAK,CAAC,KAAK;QAClB,UAAU,EAAE,KAAK,CAAC,UAAU;QAC5B,UAAU,EAAE,SAAS,CAAC,gBAAgB;QACtC,KAAK,EAAE,WAAW,CAAC,WAAW;QAC9B,MAAM,EAAE,KAAK,CAAC,MAAM;QACpB,OAAO,EAAE,WAAW;KACrB,CAAC,CAAC;IACH,SAAS,CAAC,UAAU,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;IACjC,aAAa,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC;IAC9B,kBAAkB,CAAC,IAAI,EAAE,aAAa,CAAC,CAAC;IACxC,SAAS,CAAC,IAAI,EAAE,EAAE,IAAI,EAAE,KAAK,CAAC,IAAI,EAAE,GAAG,EAAE,KAAK,CAAC,GAAG,EAAE,CAAC,CAAC;IACtD,MAAM,CAAC,IAAI,GAAG,KAAK,CAAC,IAAI,CAAC;IACzB,MAAM,CAAC,KAAK,CAAC,IAAI,CACf,gBAAgB,KAAK,CAAC,KAAK,CAAC,IAAI,aAAa,KAAK,CAAC,UAAU,CAAC,IAAI,mBAAmB,KAAK,CAAC,IAAI,EAAE,CAClG,CAAC;IACF,OAAO,MAAM,CAAC;AAChB,CAAC;AAED,2FAA2F;AAC3F,SAAS,eAAe,CACtB,aAAqB,EACrB,UAAwC,EACxC,aAA4B;IAE5B,MAAM,IAAI,GAAG,IAAI,GAAG,CAAC,MAAM,CAAC,MAAM,CAAC,aAAa,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC;IACtE,KAAK,MAAM,CAAC,EAAE,EAAE,SAAS,CAAC,IAAI,UAAU,EAAE,CAAC;QACzC,IAAI,aAAa,CAAC,EAAE,CAAC;YAAE,SAAS;QAChC,MAAM,IAAI,GAAG,cAAc,CAAC,aAAa,EAAE,SAAS,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;QACjE,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;QACf,aAAa,CAAC,EAAE,CAAC,GAAG,EAAE,IAAI,EAAE,IAAI,EAAE,SAAS,CAAC,IAAI,EAAE,CAAC;IACrD,CAAC;AACH,CAAC;AAED,+DAA+D;AAC/D,SAAS,SAAS,CAChB,IAAY,EACZ,IAAmB,EACnB,OAAoB,EACpB,MAAgC;IAOhC,MAAM,KAAK,GAAG,EAAE,IAAI,EAAE,IAAI,EAAE,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC;IAC5D,OAAO,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,GAAG,KAAK,EAAE,KAAK,EAAE,EAAE,EAAE,EAAE,OAAO,CAAC,OAAO,EAAE,IAAI,EAAE,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC;AACtF,CAAC;AAED;;;;GAIG;AACH,SAAS,cAAc,CAAC,MAAoB,EAAE,IAAkB;IAC9D,MAAM,GAAG,GAAiB,EAAE,CAAC;IAC7B,KAAK,MAAM,CAAC,GAAG,EAAE,KAAK,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE,CAAC;QAClD,IAAI,eAAe,CAAC,KAAK,CAAC,SAAS,CAAC,KAAK,IAAI;YAAE,GAAG,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC;IAClE,CAAC;IACD,KAAK,MAAM,CAAC,GAAG,EAAE,KAAK,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC;QAAE,GAAG,CAAC,GAAG,CAAC,GAAG,EAAE,EAAE,EAAE,GAAG,EAAE,GAAG,KAAK,EAAE,CAAC;IAClF,OAAO,GAAG,CAAC;AACb,CAAC;AAED,6EAA6E;AAE7E,wFAAwF;AACxF,SAAS,YAAY,CAAC,IAAkB;IACtC,OAAO,IAAI,GAAG,CACZ,CAAC,GAAG,IAAI,CAAC,OAAO,CAAC;SACd,MAAM,CAAC,CAAC,CAAC,EAAE,MAAM,CAAC,EAAE,EAAE,CAAC,MAAM,CAAC,QAAQ,CAAC;SACvC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,EAAE,QAAQ,EAAE,SAAS,EAAE,GAAG,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,EAAE,EAAE,MAAM,CAAC,CAAC,CACnE,CAAC;AACJ,CAAC;AAED,KAAK,UAAU,gBAAgB,CAC7B,MAAoB,EACpB,IAAkB,EAClB,QAAgB,EAChB,MAAkB;IAElB,2EAA2E;IAC3E,0EAA0E;IAC1E,wEAAwE;IACxE,qCAAqC;IACrC,IAAI,IAAY,CAAC;IACjB,IAAI,CAAC;QACH,MAAM,KAAK,GAAG,MAAM,SAAS,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAC;QAChD,MAAM,CAAC,SAAS,GAAG,KAAK,CAAC,GAAG,CAAC,MAAM,CAAC;QACpC,IAAI,GAAG,KAAK,CAAC,IAAI,CAAC;IACpB,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,IAAI,CAAC,CAAC,GAAG,YAAY,gBAAgB,CAAC;YAAE,MAAM,GAAG,CAAC;QAClD,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,oDAAoD,CAAC,CAAC;QACxE,IAAI,GAAG,EAAE,CAAC;IACZ,CAAC;IAED,MAAM,UAAU,GAAG,QAAQ,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,IAAI,IAAI,CAAC;IAClD,MAAM,OAAO,GAAG,IAAI,SAAS,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,SAAS,EAAE,CAAC;IACxD,IACE,IAAI,KAAK,EAAE;QACX,UAAU;QACV,IAAI,KAAK,UAAU,CAAC,IAAI;QACxB,OAAO,KAAK,UAAU,CAAC,IAAI;QAC3B,MAAM,CAAC,SAAS,KAAK,CAAC,EACtB,CAAC;QACD,oEAAoE;QACpE,sCAAsC;QACtC,OAAO;YACL,KAAK,EAAE,eAAe,CAAC,IAAI,CAAC,KAAK,CAAC;YAClC,UAAU,EAAE,eAAe,CAAC,IAAI,CAAC,UAAU,CAAC;YAC5C,UAAU,EAAE,eAAe,CAAC,IAAI,CAAC,UAAU,CAAC;YAC5C,KAAK,EAAE,eAAe,CAAC,IAAI,CAAC,KAAK,CAAC;YAClC,MAAM,EAAE,eAAe,CAAC,IAAI,CAAC,MAAM,CAAC;YACpC,OAAO,EAAE,IAAI,GAAG,CACd,CAAC,GAAG,IAAI,CAAC,OAAO,CAAC;iBACd,MAAM,CAAC,CAAC,CAAC,EAAE,MAAM,CAAC,EAAE,EAAE,CAAC,MAAM,CAAC,QAAQ,CAAC;iBACvC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,EAAE,QAAQ,EAAE,SAAS,EAAE,GAAG,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,EAAE,EAAE,MAAM,CAAC,CAAC,CACnE;YACD,IAAI,EAAE,UAAU,CAAC,IAAI;YACrB,GAAG,EAAE,UAAU,CAAC,GAAG;SACpB,CAAC;IACJ,CAAC;IAED,MAAM,IAAI,GAAG,MAAM,MAAM,CAAC,SAAS,EAAE,CAAC;IACtC,MAAM,KAAK,GAAG,MAAM,iBAAiB,CAAC,MAAM,EAAE,IAAI,EAAE,YAAY,CAAC,IAAI,CAAC,CAAC,CAAC;IACxE,OAAO;QACL,KAAK,EAAE,KAAK,CAAC,KAAK;QAClB,UAAU,EAAE,KAAK,CAAC,UAAU;QAC5B,UAAU,EAAE,KAAK,CAAC,UAAU;QAC5B,KAAK,EAAE,KAAK,CAAC,KAAK;QAClB,MAAM,EAAE,KAAK,CAAC,MAAM;QACpB,OAAO,EAAE,KAAK,CAAC,OAAO;QACtB,IAAI,EAAE,KAAK,CAAC,IAAI;QAChB,GAAG,EAAE,KAAK,CAAC,GAAG;KACf,CAAC;AACJ,CAAC;AAiCD,MAAM,SAAS,GAAa,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,CAAC;AAC9D,MAAM,cAAc,GAAa,EAAE,KAAK,EAAE,WAAW,EAAE,MAAM,EAAE,WAAW,EAAE,CAAC;AAE7E,KAAK,UAAU,aAAa,CAC1B,IAAY,EACZ,MAAoB,EACpB,MAAqB,EACrB,IAAkB,EAClB,MAAmB,EACnB,MAAkB;IAElB,MAAM,QAAQ,GAAG,YAAY,CAAC,IAAI,CAAC,CAAC;IACpC,MAAM,aAAa,GAAG,iBAAiB,CAAC,IAAI,CAAC,CAAC;IAC9C,MAAM,OAAO,GAAe,EAAE,CAAC;IAC/B,MAAM,WAAW,GAAe,EAAE,CAAC;IACnC,MAAM,aAAa,GAAG,IAAI,GAAG,EAAU,CAAC;IACxC,MAAM,UAAU,GAAiB;QAC/B,KAAK,EAAE,IAAI,GAAG,EAAE;QAChB,UAAU,EAAE,IAAI,GAAG,EAAE;QACrB,UAAU,EAAE,MAAM,CAAC,UAAU;QAC7B,KAAK,EAAE,MAAM,CAAC,KAAK;QACnB,MAAM,EAAE,MAAM,CAAC,MAAM;QACrB,OAAO,EAAE,IAAI,GAAG,EAAE;KACnB,CAAC;IACF,kEAAkE;IAClE,MAAM,CAAC,KAAK,GAAG,EAAE,CAAC;IAClB,MAAM,CAAC,SAAS,GAAG,EAAE,CAAC;IACtB,MAAM,CAAC,QAAQ,GAAG,EAAE,CAAC;IAErB,qEAAqE;IACrE,uEAAuE;IACvE,gCAAgC;IAChC,eAAe,CAAC,MAAM,CAAC,aAAa,IAAI,sBAAsB,EAAE,MAAM,CAAC,UAAU,EAAE,aAAa,CAAC,CAAC;IAClG,MAAM,SAAS,GAAG,cAAc,CAC9B,IAAI,EACJ,MAAM,CAAC,SAAS,IAAI,kBAAkB,EACtC,MAAM,CAAC,QAAQ,EACf,MAAM,CAAC,KAAK,EACZ,QAAQ,EACR,IAAI,CAAC,UAAU,EACf,MAAM,CAAC,UAAU,EACjB,MAAM,EACN,cAAc,CAAC,MAAM,CAAC,UAAU,EAAE,aAAa,CAAC,CACjD,CAAC;IACF,OAAO,CAAC,IAAI,CAAC,GAAG,SAAS,CAAC,OAAO,CAAC,CAAC;IACnC,UAAU,CAAC,UAAU,GAAG,SAAS,CAAC,gBAAgB,CAAC;IACnD,+EAA+E;IAC/E,MAAM,MAAM,GAAG,cAAc,CAAC,aAAa,EAAE,MAAM,CAAC,UAAU,CAAC,CAAC;IAEhE,MAAM,UAAU,CAAC;QACf,IAAI;QACJ,IAAI,EAAE,SAAS;QACf,IAAI,EAAE,IAAI,CAAC,KAAK;QAChB,MAAM,EAAE,MAAM,CAAC,KAAK;QACpB,OAAO,EAAE,QAAQ;QACjB,MAAM;QACN,IAAI,EAAE,CAAC,MAAM,EAAE,OAAO,EAAE,IAAI,EAAE,QAAQ,EAAE,EAAE,CACxC,QAAQ,CAAC,SAAS,CAAC,MAAM,CAAC,IAAI,EAAE,IAAI,EAAE,OAAsB,EAAE,MAAM,CAAC,KAAK,CAAC,EAAE,QAAQ,CAAC;QACxF,SAAS,EAAE,UAAU,CAAC,KAAK;QAC3B,WAAW,EAAE,IAAI,CAAC,OAAO;QACzB,aAAa,EAAE,MAAM,CAAC,OAAO;QAC7B,UAAU,EAAE,UAAU,CAAC,OAAO;QAC9B,aAAa;QACb,OAAO;QACP,WAAW;QACX,MAAM;KACP,CAAC,CAAC;IACH,MAAM,UAAU,CAAC;QACf,IAAI;QACJ,IAAI,EAAE,cAAc;QACpB,IAAI,EAAE,IAAI,CAAC,UAAU;QACrB,MAAM,EAAE,MAAM,CAAC,UAAU;QACzB,OAAO,EAAE,aAAa;QACtB,MAAM;QACN,IAAI,EAAE,CAAC,MAAM,EAAE,QAAQ,EAAE,IAAI,EAAE,QAAQ,EAAE,EAAE,CACzC,aAAa,CAAC,EAAE,IAAI,EAAE,MAAM,CAAC,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM,CAAC,KAAK,EAAE,EAAE,QAAQ,CAAC;QAClF,SAAS,EAAE,UAAU,CAAC,UAAU;QAChC,WAAW,EAAE,IAAI,CAAC,OAAO;QACzB,aAAa,EAAE,MAAM,CAAC,OAAO;QAC7B,UAAU,EAAE,UAAU,CAAC,OAAO;QAC9B,aAAa;QACb,OAAO;QACP,WAAW;QACX,MAAM;KACP,CAAC,CAAC;IAEH,gEAAgE;IAChE,MAAM,WAAW,GAAG,aAAa,CAAC,IAAI,EAAE,IAAI,CAAC,KAAK,EAAE,MAAM,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC;IAC1E,OAAO,CAAC,IAAI,CAAC,GAAG,WAAW,CAAC,OAAO,CAAC,CAAC;IACrC,UAAU,CAAC,KAAK,GAAG,WAAW,CAAC,WAAW,CAAC;IAE3C,MAAM,oBAAoB,CAAC,IAAI,EAAE,MAAM,EAAE,MAAM,CAAC,CAAC;IAEjD,MAAM,YAAY,GAAG,MAAM,UAAU,CAAC,IAAI,EAAE,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAC3E,OAAO,CAAC,IAAI,CAAC,GAAG,YAAY,CAAC,OAAO,CAAC,CAAC;IACtC,UAAU,CAAC,MAAM,GAAG,YAAY,CAAC,YAAY,CAAC;IAE9C,OAAO,EAAE,OAAO,EAAE,WAAW,EAAE,UAAU,EAAE,QAAQ,EAAE,aAAa,EAAE,aAAa,EAAE,CAAC;AACtF,CAAC;AA4BD;;;;GAIG;AACH,KAAK,UAAU,UAAU,CACvB,IAA0B;IAE1B,MAAM,EACJ,IAAI,EACJ,IAAI,EACJ,IAAI,EACJ,MAAM,EACN,OAAO,EAAE,QAAQ,EACjB,MAAM,EACN,IAAI,EACJ,SAAS,EACT,WAAW,EACX,aAAa,EACb,UAAU,EACV,aAAa,EACb,OAAO,EACP,WAAW,EACX,MAAM,GACP,GAAG,IAAI,CAAC;IACT;;;;;OAKG;IACH,MAAM,YAAY,GAAG,CACnB,EAAU,EACV,YAAiC,EACjC,IAAY,EACZ,WAAoB,EACd,EAAE;QACR,MAAM,MAAM,GAAG,YAAY,KAAK,IAAI,CAAC,CAAC,CAAC,YAAY,CAAC,IAAI,KAAK,IAAI,CAAC,CAAC,CAAC,WAAW,CAAC;QAChF,IAAI,MAAM;YAAE,aAAa,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;QAClC,UAAU,CAAC,GAAG,CAAC,EAAE,EAAE;YACjB,EAAE,EAAE,YAAY,EAAE,EAAE,IAAI,WAAW,CAAC,EAAE,CAAC;YACvC,EAAE,EAAE,EAAE;YACN,IAAI,EAAE,YAAY,EAAE,IAAI,IAAI,KAAK;YACjC,IAAI;YACJ,QAAQ,EAAE,YAAY,KAAK,IAAI,IAAI,MAAM;SAC1C,CAAC,CAAC;IACL,CAAC,CAAC;IACF,oFAAoF;IACpF,MAAM,WAAW,GAAG,KAAK,EACvB,MAAS,EACT,OAAU,EACV,YAAiC,EACjC,IAAmB,EACnB,QAAgB,EACC,EAAE,CACnB,gBAAgB,CAAC,YAAY,EAAE,IAAI,EAAE,OAAO,CAAC,IAAI,EAAE,MAAM,EAAE,MAAM,CAAC,KAAK,CAAC;QACxE,CAAC,MAAM,IAAI,CAAC,MAAM,EAAE,OAAO,EAAE,IAAI,EAAE,QAAQ,CAAC,CAAC,CAAC;IAChD,MAAM,GAAG,GAAG,IAAI,GAAG,CAAC,CAAC,GAAG,IAAI,CAAC,IAAI,EAAE,EAAE,GAAG,MAAM,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC;IACxD,KAAK,MAAM,EAAE,IAAI,GAAG,EAAE,CAAC;QACrB,MAAM,UAAU,GAAG,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,IAAI,IAAI,CAAC;QACxC,MAAM,YAAY,GAAG,MAAM,CAAC,GAAG,CAAC,EAAE,CAAC,IAAI,IAAI,CAAC;QAC5C,MAAM,OAAO,GAAG,QAAQ,CAAC,EAAE,CAAC,CAAC;QAC7B,IAAI,CAAC,OAAO,EAAE,CAAC;YACb,0EAA0E;YAC1E,IAAI,YAAY;gBAAE,MAAM,IAAI,KAAK,CAAC,aAAa,IAAI,CAAC,KAAK,IAAI,EAAE,iBAAiB,CAAC,CAAC;YAClF,SAAS;QACX,CAAC;QACD,MAAM,QAAQ,GAAG,IAAI,CAAC,IAAI,EAAE,OAAO,CAAC,IAAI,CAAC,CAAC;QAC1C,MAAM,UAAU,GAAG,UAAU,CAAC,QAAQ,CAAC,CAAC;QACxC,MAAM,UAAU,GAAG,WAAW,CAAC,GAAG,CAAC,EAAE,CAAC,IAAI,IAAI,CAAC;QAC/C,MAAM,YAAY,GAAG,aAAa,CAAC,GAAG,CAAC,EAAE,CAAC,IAAI,IAAI,CAAC;QAEnD,oEAAoE;QACpE,IAAI,KAA2B,CAAC;QAChC,uEAAuE;QACvE,+CAA+C;QAC/C,IAAI,SAAS,GAAyB,IAAI,CAAC;QAC3C,IAAI,UAAU,GAAkB,IAAI,CAAC;QACrC,yEAAyE;QACzE,IAAI,UAAU,GAAwB,IAAI,CAAC;QAC3C;;;;WAIG;QACH,IAAI,cAAc,GAAkB,IAAI,CAAC;QACzC,IAAI,UAAU,EAAE,CAAC;YACf,UAAU,GAAG,YAAY,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAC;YAC5C,uEAAuE;YACvE,wEAAwE;YACxE,uEAAuE;YACvE,MAAM,OAAO,GAAG,gBAAgB,CAAC,UAAU,EAAE,SAAS,EAAE,aAAa,CAAC,CAAC;YACvE,IAAI,OAAO,KAAK,UAAU,EAAE,CAAC;gBAC3B,UAAU,GAAG,OAAO,CAAC;gBACrB,aAAa,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC;gBACjC,MAAM,CAAC,KAAK,CAAC,IAAI,CACf,GAAG,OAAO,CAAC,IAAI,0DAA0D,CAC1E,CAAC;YACJ,CAAC;YACD,sEAAsE;YACtE,mEAAmE;YACnE,qEAAqE;YACrE,yEAAyE;YACzE,sEAAsE;YACtE,+CAA+C;YAC/C,IAAI,UAAU,EAAE,CAAC;gBACf,MAAM,MAAM,GAAG,aAAa,CAC1B,UAAU,EACV,iBAAiB,CACf,UAAU,EACV,cAAc,CAAC,MAAM,CAAC,MAAM,CAAC,UAAU,CAAC,IAAI,EAAE,OAAO,CAAC,IAAI,EAAE,GAAG,EAAE,CAAC,SAAS,CAAC,CAAC,CAC9E,CACF,CAAC;gBACF,IAAI,MAAM,KAAK,UAAU,EAAE,CAAC;oBAC1B,UAAU,GAAG,MAAM,CAAC;oBACpB,aAAa,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAC;oBAChC,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,OAAO,CAAC,IAAI,8CAA8C,CAAC,CAAC;gBACnF,CAAC;YACH,CAAC;YACD,cAAc,GAAG,UAAU,CAAC;YAC5B,kEAAkE;YAClE,yEAAyE;YACzE,wEAAwE;YACxE,mEAAmE;YACnE,MAAM,MAAM,GAAG,YAAY,CAAC,UAAU,EAAE;gBACtC,OAAO,EAAE,iBAAiB;gBAC1B,OAAO,EAAE,OAAO;gBAChB,QAAQ,EAAE,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,CAAC,QAAQ,CAAC,MAAM,EAAE,OAAO,CAAC,IAAI,CAAC;aAC5D,CAAC,CAAC;YACH,IAAI,MAAM,CAAC,OAAO,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBAC9B,UAAU,GAAG,MAAM,CAAC,MAAM,CAAC;gBAC3B,aAAa,CAAC,QAAQ,EAAE,UAAU,CAAC,CAAC;gBACpC,MAAM,KAAK,GAAG,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CACrC,CAAC,CAAC,IAAI,KAAK,QAAQ,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,YAAY,WAAW,CAAC,CAAC,CAAC,CAAC,CAAC,YAAY,CACpE,CAAC;gBACF,MAAM,CAAC,KAAK,CAAC,IAAI,CACf,GAAG,OAAO,CAAC,IAAI,YAAY,MAAM,CAAC,OAAO,CAAC,MAAM,qBAAqB,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CACxF,CAAC;gBACF,KAAK,MAAM,IAAI,IAAI,MAAM,CAAC,OAAO,EAAE,CAAC;oBAClC,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC;wBACnB,IAAI,EAAE,0BAA0B;wBAChC,MAAM,EAAE,GAAG,OAAO,CAAC,IAAI,KAAK,IAAI,CAAC,MAAM,EAAE;qBAC1C,CAAC,CAAC;gBACL,CAAC;YACH,CAAC;YACD,MAAM,SAAS,GAAG,OAAO,CAAC,UAAU,CAAC,CAAC;YACtC,KAAK,MAAM,CAAC,IAAI,SAAS,CAAC,QAAQ;gBAAE,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,GAAG,CAAC,EAAE,IAAI,EAAE,OAAO,CAAC,IAAI,EAAE,CAAC,CAAC;YACvF,KAAK,GAAG,SAAS,CAAC,GAAG,CAAC;YACtB,UAAU,GAAG,SAAS,CAAC,MAAM,CAAC;YAC9B,IAAI,KAAK,EAAE,CAAC;gBACV,sEAAsE;gBACtE,oEAAoE;gBACpE,kEAAkE;gBAClE,MAAM,OAAO,GAAG,kBAAkB,CAAC,KAAK,CAAC,CAAC;gBAC1C,IAAI,OAAO,CAAC,IAAI,GAAG,CAAC,EAAE,CAAC;oBACrB,KAAK,MAAM,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,OAAO;wBAC9B,UAAU,GAAG,UAAU,CAAC,KAAK,CAAC,IAAI,IAAI,GAAG,CAAC,CAAC,IAAI,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC;oBAC7D,aAAa,CAAC,QAAQ,EAAE,UAAU,CAAC,CAAC;oBACpC,MAAM,CAAC,KAAK,CAAC,IAAI,CACf,GAAG,OAAO,CAAC,IAAI,6BAA6B,CAAC,GAAG,OAAO,CAAC,IAAI,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,0CAA0C,CACrH,CAAC;gBACJ,CAAC;gBACD,SAAS,GAAG,eAAe,CAAC,KAAK,CAAC,CAAC;gBACnC,MAAM,CAAC,IAAI,CAAC,KAAK,EAAE,OAAO,CAAC,IAAI,EAAE,QAAQ,CAAC,MAAM,EAAE,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC;YACnE,CAAC;YACD,IAAI,KAAK,IAAI,UAAU;gBAAE,mBAAmB,CAAC,KAAK,EAAE,UAAU,CAAC,IAAI,EAAE,SAAS,CAAC,QAAQ,CAAC,CAAC;QAC3F,CAAC;aAAM,CAAC;YACN,KAAK,GAAG,UAAU,EAAE,IAAI,IAAI,IAAI,CAAC,CAAC,gCAAgC;YAClE,IAAI,UAAU,EAAE,CAAC;gBACf,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,OAAO,CAAC,IAAI,yDAAyD,CAAC,CAAC;YAC9F,CAAC;QACH,CAAC;QAED,MAAM,QAAQ,GAAG,UAAU,EAAE,IAAI,IAAI,IAAI,CAAC;QAC1C,MAAM,UAAU,GAAG,YAAY,EAAE,IAAI,IAAI,IAAI,CAAC;QAC9C,MAAM,EAAE,MAAM,EAAE,SAAS,EAAE,GAAG,aAAa,CAAC,QAAQ,EAAE,KAAK,EAAE,UAAU,CAAC,CAAC;QAEzE,IAAI,SAAS,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YACzB,IAAI,YAAgC,CAAC;YACrC,IAAI,UAAU;gBAAE,YAAY,GAAG,QAAQ,CAAC,IAAI,EAAE,aAAa,CAAC,QAAQ,CAAC,CAAC,CAAC;YACvE,KAAK,MAAM,CAAC,IAAI,SAAS;gBAAE,MAAM,CAAC,SAAS,CAAC,IAAI,CAAC,EAAE,GAAG,CAAC,EAAE,IAAI,EAAE,OAAO,CAAC,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC;YAC7F,IAAI,YAAY,EAAE,CAAC;gBACjB,SAAS,CAAC,OAAO,CAAC,QAAQ,CAAC,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;gBAClD,MAAM,WAAW,GAAG,MAAM,WAAW,CACnC,YAAY,EACZ,OAAO,EACP,YAAY,EACZ,MAAM,CAAC,MAAM,CAAC,YAAY,CAAC,IAAI,EAAE,OAAO,CAAC,IAAI,EAAE,QAAQ,CAAC,MAAM,EAAE,OAAO,CAAC,IAAI,CAAC,CAAC,EAC9E,QAAQ,CACT,CAAC;gBACF,aAAa,CAAC,QAAQ,EAAE,WAAW,CAAC,CAAC;gBACrC,YAAY,CAAC,EAAE,EAAE,YAAY,EAAE,WAAW,EAAE,KAAK,CAAC,CAAC;gBACnD,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC;oBAChB,IAAI,EAAE,OAAO,CAAC,IAAI;oBAClB,MAAM,EAAE,YAAY;oBACpB,MAAM,EAAE,mCAAmC,YAAY,IAAI,WAAW,4BAA4B;iBACnG,CAAC,CAAC;gBACH,SAAS,CAAC,GAAG,CAAC,EAAE,EAAE,YAAY,CAAC,CAAC;gBAChC,OAAO,CAAC,IAAI,GAAG,YAAY,CAAC,IAAI,CAAC;YACnC,CAAC;iBAAM,CAAC;gBACN,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC;oBAChB,IAAI,EAAE,OAAO,CAAC,IAAI;oBAClB,MAAM,EAAE,YAAY;oBACpB,MAAM,EAAE,GAAG,IAAI,CAAC,KAAK,6DAA6D;iBACnF,CAAC,CAAC;gBACH,OAAO,QAAQ,CAAC,EAAE,CAAC,CAAC;YACtB,CAAC;YACD,SAAS,CAAC,wDAAwD;QACpE,CAAC;QAED,IAAI,YAAY,KAAK,IAAI,EAAE,CAAC;YAC1B,oEAAoE;YACpE,IAAI,UAAU,EAAE,CAAC;gBACf,MAAM,YAAY,GAAG,QAAQ,CAAC,IAAI,EAAE,aAAa,CAAC,QAAQ,CAAC,CAAC,CAAC;gBAC7D,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC;oBAChB,IAAI,EAAE,OAAO,CAAC,IAAI;oBAClB,MAAM,EAAE,YAAY;oBACpB,MAAM,EAAE,GAAG,IAAI,CAAC,KAAK,sCAAsC,YAAY,EAAE;iBAC1E,CAAC,CAAC;YACL,CAAC;YACD,OAAO,QAAQ,CAAC,EAAE,CAAC,CAAC;YACpB,SAAS;QACX,CAAC;QAED,IAAI,MAAM,KAAK,IAAI,EAAE,CAAC;YACpB,6DAA6D;YAC7D,OAAO,CAAC,IAAI,CAAC;gBACX,EAAE,EAAE,QAAQ;gBACZ,MAAM,EAAE,YAAY;gBACpB,EAAE,EAAE,YAAY,CAAC,IAAI,CAAC,GAAG;gBACzB,OAAO,EAAE,IAAI;aACd,CAAC,CAAC;YACH,OAAO,CAAC,IAAI,CAAC,EAAE,EAAE,EAAE,QAAQ,EAAE,MAAM,EAAE,IAAI,CAAC,MAAM,EAAE,EAAE,EAAE,CAAC,CAAC;YACxD,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC;gBAChB,IAAI,EAAE,OAAO,CAAC,IAAI;gBAClB,MAAM,EAAE,SAAS;gBACjB,MAAM,EAAE,kCAAkC;aAC3C,CAAC,CAAC;YACH,OAAO,QAAQ,CAAC,EAAE,CAAC,CAAC;YACpB,SAAS;QACX,CAAC;QAED,yEAAyE;QACzE,MAAM,YAAY,GAAG,YAAY,CAAC,KAAK,IAAI,EAAE,CAAC;QAC9C,MAAM,YAAY,GAChB,UAAU,KAAK,IAAI,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,cAAc,CAAC,YAAY,EAAE,UAAU,CAAC,CAAC;QAChF,MAAM,YAAY,GAAM,EAAE,GAAG,YAAY,EAAE,KAAK,EAAE,YAAY,EAAE,CAAC;QAEjE,gEAAgE;QAChE,MAAM,UAAU,GAAG,MAAM,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,IAAI,EAAE,QAAQ,CAAC,MAAM,EAAE,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC;QACvF,uCAAuC;QACvC,IAAI,OAAe,CAAC;QACpB,sFAAsF;QACtF,IAAI,gBAAgB,GAAG,KAAK,CAAC;QAC7B,IAAI,UAAU,IAAI,UAAU,KAAK,IAAI,IAAI,SAAS,KAAK,IAAI,IAAI,cAAc,KAAK,IAAI,EAAE,CAAC;YACvF,8DAA8D;YAC9D,oEAAoE;YACpE,wEAAwE;YACxE,uEAAuE;YACvE,MAAM,iBAAiB,GACrB,YAAY,KAAK,IAAI,IAAI,UAAU,KAAK,IAAI,IAAI,YAAY,CAAC,IAAI,KAAK,UAAU,CAAC,IAAI,CAAC;YACxF,gFAAgF;YAChF,gBAAgB;gBACd,UAAU,KAAK,IAAI;oBACnB,kBAAkB,CAAC,cAAc,CAAC,KAAK,kBAAkB,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC;YAC7E,IAAI,UAAU,GAAkB,IAAI,CAAC;YACrC,uEAAuE;YACvE,IAAI,UAAU,GAAG,KAAK,CAAC;YACvB,IAAI,cAAc,GAAkB,IAAI,CAAC;YACzC,IAAI,iBAAiB,IAAI,YAAY,KAAK,IAAI,IAAI,UAAU,KAAK,IAAI,EAAE,CAAC;gBACtE,IAAI,MAAM,GAAG,YAAY,CAAC,IAAI,CAAC;gBAC/B,IAAI,gBAAgB,EAAE,CAAC;oBACrB,iEAAiE;oBACjE,mEAAmE;oBACnE,kEAAkE;oBAClE,oEAAoE;oBACpE,MAAM,MAAM,GAAG,MAAM,CACnB,kBAAkB,CAAC,UAAU,CAAC,IAAI,CAAC,EACnC,kBAAkB,CAAC,UAAU,CAAC,EAC9B,kBAAkB,CAAC,YAAY,CAAC,IAAI,CAAC,CACtC,CAAC;oBACF,IAAI,MAAM,CAAC,EAAE,EAAE,CAAC;wBACd,MAAM,MAAM,GAAG,UAAU,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;wBAC9E,MAAM,GAAG,MAAM,KAAK,SAAS,CAAC,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,GAAG,MAAM,KAAK,MAAM,CAAC,IAAI,EAAE,CAAC;wBAC1E,UAAU,GAAG,IAAI,CAAC;oBACpB,CAAC;yBAAM,CAAC;wBACN,cAAc,GAAG,GAAG,MAAM,CAAC,SAAS,iCAAiC,CAAC;oBACxE,CAAC;gBACH,CAAC;gBACD,IAAI,cAAc,KAAK,IAAI,EAAE,CAAC;oBAC5B,UAAU,GAAG,gBAAgB,CAC3B,EAAE,GAAG,YAAY,EAAE,IAAI,EAAE,MAAM,EAAE,EACjC,UAAU,EACV,OAAO,CAAC,IAAI,EACZ,MAAM,EACN,YAAY,CACb,CAAC;oBACF,IAAI,UAAU,KAAK,IAAI,IAAI,UAAU,EAAE,CAAC;wBACtC,cAAc,GAAG,kCAAkC,CAAC;oBACtD,CAAC;gBACH,CAAC;gBACD,IAAI,cAAc,KAAK,IAAI,EAAE,CAAC;oBAC5B,UAAU,GAAG,KAAK,CAAC;oBACnB,UAAU,GAAG,gBAAgB,CAC3B,YAAY,EACZ,UAAU,EACV,OAAO,CAAC,IAAI,EACZ,MAAM,EACN,YAAY,CACb,CAAC;gBACJ,CAAC;YACH,CAAC;YACD,IAAI,UAAU,KAAK,IAAI,EAAE,CAAC;gBACxB,IAAI,gBAAgB,IAAI,CAAC,UAAU,EAAE,CAAC;oBACpC,MAAM,YAAY,GAAG,QAAQ,CAAC,IAAI,EAAE,aAAa,CAAC,QAAQ,CAAC,CAAC,CAAC;oBAC7D,MAAM,CAAC,SAAS,CAAC,IAAI,CAAC;wBACpB,GAAG,EAAE,UAAU,CAAC,GAAG;wBACnB,MAAM,EAAE,aAAa;wBACrB,MAAM,EAAE,gEACN,cAAc,KAAK,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,MAAM,cAAc,EACrD,EAAE;wBACF,IAAI,EAAE,OAAO,CAAC,IAAI;wBAClB,YAAY;qBACb,CAAC,CAAC;oBACH,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC;wBAChB,IAAI,EAAE,OAAO,CAAC,IAAI;wBAClB,MAAM,EAAE,YAAY;wBACpB,MAAM,EAAE,wCAAwC,YAAY,0BAA0B;qBACvF,CAAC,CAAC;gBACL,CAAC;qBAAM,CAAC;oBACN,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC;wBAChB,IAAI,EAAE,OAAO,CAAC,IAAI;wBAClB,MAAM,EAAE,SAAS;wBACjB,MAAM,EAAE,UAAU,CAAC,CAAC,CAAC,0BAA0B,CAAC,CAAC,CAAC,wBAAwB;qBAC3E,CAAC,CAAC;gBACL,CAAC;gBACD,SAAS,CAAC,OAAO,CAAC,QAAQ,CAAC,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;gBAClD,aAAa,CAAC,QAAQ,EAAE,UAAU,CAAC,CAAC;gBACpC,OAAO,GAAG,UAAU,CAAC;YACvB,CAAC;iBAAM,CAAC;gBACN,MAAM,KAAK,GAAG,WAAW,CAAC,SAAS,EAAE,UAAU,CAAC,CAAC;gBACjD,wEAAwE;gBACxE,yEAAyE;gBACzE,MAAM,MAAM,GAAG,aAAa,CAAC,UAAU,EAAE,cAAc,CAAC,UAAU,CAAC,CAAC,CAAC;gBACrE,IAAI,KAAK,CAAC,MAAM,GAAG,CAAC,IAAI,MAAM,KAAK,UAAU,EAAE,CAAC;oBAC9C,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,QAAQ,EAAE,GAAG,KAAK,CAAC,MAAM,EAAE,KAAK,EAAE,EAAE,MAAM,EAAE,YAAY,EAAE,CAAC,CAAC;oBACrF,KAAK,MAAM,CAAC,IAAI,QAAQ;wBAAE,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,GAAG,CAAC,EAAE,IAAI,EAAE,OAAO,CAAC,IAAI,EAAE,CAAC,CAAC;oBAC7E,aAAa,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC;oBACjC,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,OAAO,CAAC,IAAI,EAAE,MAAM,EAAE,SAAS,EAAE,CAAC,CAAC;oBAC7D,OAAO,GAAG,OAAO,CAAC;gBACpB,CAAC;qBAAM,CAAC;oBACN,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,OAAO,CAAC,IAAI,EAAE,MAAM,EAAE,WAAW,EAAE,CAAC,CAAC;oBAC/D,OAAO,GAAG,UAAU,CAAC;gBACvB,CAAC;YACH,CAAC;QACH,CAAC;aAAM,CAAC;YACN,SAAS,CAAC,OAAO,CAAC,QAAQ,CAAC,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;YAClD,OAAO,GAAG,MAAM,WAAW,CAAC,YAAY,EAAE,OAAO,EAAE,YAAY,EAAE,UAAU,EAAE,QAAQ,CAAC,CAAC;YACvF,aAAa,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC;YACjC,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,OAAO,CAAC,IAAI,EAAE,MAAM,EAAE,UAAU,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC,SAAS,EAAE,CAAC,CAAC;QAC5F,CAAC;QACD,YAAY,CAAC,EAAE,EAAE,YAAY,EAAE,OAAO,EAAE,gBAAgB,CAAC,CAAC;QAE1D,0EAA0E;QAC1E,oEAAoE;QACpE,MAAM,MAAM,GAAG,cAAc,CAAC,UAAU,EAAE,MAAM,CAAC,CAAC;QAClD,OAAO,CAAC,IAAI,CAAC,GAAG,MAAM,CAAC,GAAG,CAAC,CAAC;QAC5B,WAAW,CAAC,IAAI,CAAC,GAAG,MAAM,CAAC,QAAQ,CAAC,CAAC;QACrC,MAAM,UAAU,GAAG,eAAe,CAAC,EAAE,KAAK,EAAE,YAAY,EAAE,EAAE,EAAE,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC;QACrF,IAAI,UAAU,KAAK,IAAI,EAAE,CAAC;YACxB,OAAO,CAAC,IAAI,CAAC,EAAE,EAAE,EAAE,QAAQ,EAAE,MAAM,EAAE,IAAI,CAAC,MAAM,EAAE,EAAE,EAAE,KAAK,EAAE,UAAU,EAAE,CAAC,CAAC;QAC7E,CAAC;QACD,MAAM,IAAI,GAAM,EAAE,GAAG,YAAY,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC;QAClD,IAAI,MAAM,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC,MAAM,KAAK,CAAC;YAAE,OAAO,IAAI,CAAC,KAAK,CAAC;QAC9D,SAAS,CAAC,GAAG,CAAC,EAAE,EAAE,IAAI,CAAC,CAAC;QACxB,OAAO,CAAC,IAAI,GAAG,YAAY,CAAC,IAAI,CAAC;IACnC,CAAC;AACH,CAAC;AAED,kFAAkF;AAClF,SAAS,QAAQ,CAAC,MAAkB,EAAE,IAAY;IAChD,OAAO,CAAC,CAAC,EAAE,EAAE;QACX,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,GAAG,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC;IACvC,CAAC,CAAC;AACJ,CAAC;AAED;;;;;;GAMG;AACH,SAAS,gBAAgB,CACvB,MAA2B,EAC3B,IAAmB,EACnB,IAAY,EACZ,MAAkB,EAClB,SAAmC;IAEnC,IAAI,MAAM,KAAK,IAAI;QAAE,OAAO,IAAI,CAAC;IACjC,MAAM,SAAS,GAAG,OAAO,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;IACvC,IAAI,SAAS,CAAC,GAAG,KAAK,IAAI,EAAE,CAAC;QAC3B,MAAM,CAAC,KAAK,CAAC,IAAI,CACf,GAAG,IAAI,uFAAuF,CAC/F,CAAC;QACF,OAAO,IAAI,CAAC;IACd,CAAC;IACD,mBAAmB,CAAC,SAAS,CAAC,GAAG,EAAE,IAAI,EAAE,SAAS,CAAC,QAAQ,CAAC,CAAC;IAC7D,wEAAwE;IACxE,0EAA0E;IAC1E,MAAM,OAAO,GAAG,mBAAmB,CAAC,IAAI,EAAE,SAAS,CAAC,GAAG,EAAE,SAAS,CAAC,MAAM,EAAE,SAAS,CAAC,CAAC;IACtF,MAAM,MAAM,GAAG,aAAa,CAAC,MAAM,CAAC,IAAI,EAAE,cAAc,CAAC,IAAI,CAAC,CAAC,CAAC;IAChE,MAAM,KAAK,GAAG,WAAW,CAAC,SAAS,CAAC,GAAG,EAAE,OAAO,CAAC,IAAI,CAAC,CAAC;IACvD,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,MAAM,CAAC;IACtC,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,QAAQ,EAAE,GAAG,KAAK,CAAC,MAAM,EAAE,KAAK,EAAE,EAAE,MAAM,EAAE,OAAO,CAAC,MAAM,EAAE,CAAC,CAAC;IACvF,KAAK,MAAM,CAAC,IAAI,QAAQ;QAAE,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,GAAG,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC;IAC/D,OAAO,OAAO,CAAC;AACjB,CAAC;AAED;;;;GAIG;AACH,SAAS,YAAY,CACnB,UAAwB,EACxB,MAAmB,EACnB,OAAoB,EACpB,KAA6B;IAE7B,MAAM,GAAG,GAAe,EAAE,CAAC;IAC3B,KAAK,MAAM,WAAW,IAAI,OAAO,EAAE,CAAC;QAClC,MAAM,QAAQ,GAAG,KAAK,CAAC,WAAW,CAAC,IAAI,WAAW,CAAC;QACnD,IAAI,QAAQ,CAAC,UAAU,CAAC,IAAI,CAAC;YAAE,SAAS,CAAC,6CAA6C;QACtF,MAAM,MAAM,GAAG,UAAU,CAAC,OAAO,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;QAChD,IAAI,CAAC,MAAM;YAAE,MAAM,IAAI,KAAK,CAAC,kCAAkC,QAAQ,EAAE,CAAC,CAAC;QAC3E,MAAM,YAAY,GAAG,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,QAAQ,CAAC,IAAI,IAAI,CAAC;QAC1D,IAAI,YAAY,KAAK,IAAI,EAAE,CAAC;YAC1B,GAAG,CAAC,IAAI,CAAC;gBACP,EAAE,EAAE,QAAQ;gBACZ,MAAM,EAAE,QAAQ;gBAChB,GAAG,EAAE,OAAO,EAAE;gBACd,IAAI,EAAE,EAAE,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,MAAM,CAAC,IAAI,EAAE,IAAI,EAAE,MAAM,CAAC,IAAI,EAAE;aAC7D,CAAC,CAAC;QACL,CAAC;aAAM,IAAI,YAAY,CAAC,IAAI,KAAK,MAAM,CAAC,IAAI,EAAE,CAAC;YAC7C,yEAAyE;YACzE,GAAG,CAAC,IAAI,CAAC;gBACP,EAAE,EAAE,QAAQ;gBACZ,MAAM,EAAE,QAAQ;gBAChB,EAAE,EAAE,YAAY,CAAC,EAAE;gBACnB,IAAI,EAAE;oBACJ,IAAI,EAAE,QAAQ,CAAC,YAAY,CAAC,IAAI,CAAC;oBACjC,KAAK,EAAE,SAAS,CAAC,YAAY,CAAC,IAAI,EAAE,MAAM,CAAC,IAAI,CAAC;iBACjD;aACF,CAAC,CAAC;QACL,CAAC;IACH,CAAC;IACD,OAAO,GAAG,CAAC;AACb,CAAC;AAED,oFAAoF;AACpF,SAAS,mBAAmB,CAC1B,KAAoB,EACpB,QAAuB,EACvB,QAA0B;IAE1B,MAAM,SAAS,GAAG,IAAI,GAAG,EAAyB,CAAC;IACnD,MAAM,IAAI,GAAG,CAAC,CAAgB,EAAQ,EAAE;QACtC,SAAS,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC;QACxB,CAAC,CAAC,QAAQ,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;IAC3B,CAAC,CAAC;IACF,IAAI,CAAC,QAAQ,CAAC,CAAC;IACf,MAAM,UAAU,GAAG,IAAI,GAAG,EAAyB,CAAC;IACpD,MAAM,KAAK,GAAG,CAAC,CAAgB,EAAQ,EAAE;QACvC,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC;QACzB,CAAC,CAAC,QAAQ,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;IAC5B,CAAC,CAAC;IACF,KAAK,CAAC,KAAK,CAAC,CAAC;IAEb,KAAK,MAAM,CAAC,IAAI,QAAQ,EAAE,CAAC;QACzB,IAAI,CAAC,CAAC,IAAI,KAAK,kBAAkB,IAAI,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,CAAC,CAAC,IAAI;YAAE,SAAS;QACjE,MAAM,QAAQ,GAAG,SAAS,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC;QACtC,MAAM,SAAS,GAAG,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC;QACxC,IAAI,CAAC,QAAQ,IAAI,CAAC,SAAS;YAAE,SAAS;QACtC,IAAI,CAAC,CAAC,IAAI,IAAI,QAAQ,CAAC,KAAK,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,IAAI,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC;YAC7D,SAAS,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,eAAe,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC;QACpE,CAAC;IACH,CAAC;AACH,CAAC;AAED,0EAA0E;AAE1E,8FAA8F;AAC9F,MAAM,YAAY,GAAG,yCAAyC,CAAC;AAC/D,MAAM,YAAY,GAAG,4BAA4B,CAAC;AAElD;;;;GAIG;AACH,MAAM,UAAU,kBAAkB,CAAC,IAAmB;IACpD,MAAM,OAAO,GAAG,IAAI,GAAG,EAAkB,CAAC;IAC1C,MAAM,IAAI,GAAG,CAAC,IAAmB,EAAQ,EAAE;QACzC,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC;YACjE,MAAM,KAAK,GAAG,OAAO,EAAE,CAAC;YACxB,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC;YAC7B,IAAI,CAAC,GAAG,GAAG,KAAK,CAAC;QACnB,CAAC;QACD,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;IAC9B,CAAC,CAAC;IACF,IAAI,CAAC,IAAI,CAAC,CAAC;IACX,OAAO,OAAO,CAAC;AACjB,CAAC;AAED,6EAA6E;AAE7E,kGAAkG;AAClG,SAAS,UAAU,CACjB,IAAY,EACZ,UAAwB,EACxB,QAAuC,EACvC,KAA6B,EAC7B,MAAkB;IAElB,MAAM,OAAO,GAAG,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,GAAG,CAAC,EAAE,EAAE,CAAC,GAAG,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC,CAAC;IAC9E,IAAI,OAAO,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO;IAEjC,KAAK,MAAM,OAAO,IAAI,QAAQ,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;QAChE,MAAM,QAAQ,GAAG,IAAI,CAAC,IAAI,EAAE,OAAO,CAAC,IAAI,CAAC,CAAC;QAC1C,IAAI,CAAC,UAAU,CAAC,QAAQ,CAAC;YAAE,SAAS;QACpC,IAAI,MAAM,GAAG,YAAY,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAC;QAC5C,IAAI,OAAO,GAAG,KAAK,CAAC;QACpB,KAAK,MAAM,CAAC,GAAG,EAAE,EAAE,CAAC,IAAI,OAAO,EAAE,CAAC;YAChC,IAAI,MAAM,CAAC,QAAQ,CAAC,IAAI,GAAG,GAAG,CAAC,EAAE,CAAC;gBAChC,MAAM,GAAG,MAAM,CAAC,KAAK,CAAC,IAAI,GAAG,GAAG,CAAC,CAAC,IAAI,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC;gBAClD,OAAO,GAAG,IAAI,CAAC;YACjB,CAAC;QACH,CAAC;QACD,IAAI,OAAO;YAAE,aAAa,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAC;IAC/C,CAAC;IAED,MAAM,UAAU,GAAG,CAAC,IAAmB,EAAQ,EAAE;QAC/C,MAAM,MAAM,GAAG,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;QAC/B,IAAI,MAAM;YAAE,IAAI,CAAC,GAAG,GAAG,MAAM,CAAC;QAC9B,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC;IACpC,CAAC,CAAC;IACF,KAAK,MAAM,IAAI,IAAI,UAAU,CAAC,KAAK,CAAC,MAAM,EAAE;QAAE,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IACpE,KAAK,MAAM,SAAS,IAAI,UAAU,CAAC,UAAU,CAAC,MAAM,EAAE;QAAE,UAAU,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC;IACnF,yEAAyE;IACzE,mDAAmD;IACnD,MAAM,cAAc,GAAG,IAAI,GAAG,EAAsB,CAAC;IACrD,KAAK,MAAM,CAAC,WAAW,EAAE,MAAM,CAAC,IAAI,UAAU,CAAC,OAAO,EAAE,CAAC;QACvD,IAAI,IAAI,GAAG,MAAM,CAAC,IAAI,CAAC;QACvB,KAAK,MAAM,CAAC,GAAG,EAAE,EAAE,CAAC,IAAI,OAAO;YAAE,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,GAAG,GAAG,CAAC,CAAC,IAAI,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC;QAC/E,MAAM,EAAE,GAAG,KAAK,CAAC,WAAW,CAAC,IAAI,WAAW,CAAC;QAC7C,cAAc,CAAC,GAAG,CAAC,EAAE,EAAE,EAAE,GAAG,MAAM,EAAE,EAAE,EAAE,WAAW,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,IAAI,EAAE,CAAC,CAAC;IACvE,CAAC;IACD,UAAU,CAAC,OAAO,GAAG,cAAc,CAAC;IACpC,IAAI,UAAU,CAAC,MAAM,EAAE,CAAC;QACtB,UAAU,CAAC,MAAM,GAAG,eAAe,CAAC,UAAU,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC;QAC9D,aAAa,CAAC,IAAI,EAAE,UAAU,CAAC,MAAM,CAAC,CAAC;IACzC,CAAC;IACD,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,YAAY,OAAO,CAAC,MAAM,iCAAiC,CAAC,CAAC;AACjF,CAAC;AAED,6EAA6E;AAE7E,SAAS,YAAY,CAAC,MAAmB;IACvC,OAAO;QACL,KAAK,EAAE,MAAM,CAAC,KAAK;QACnB,UAAU,EAAE,MAAM,CAAC,UAAU;QAC7B,UAAU,EAAE,MAAM,CAAC,UAAU;QAC7B,KAAK,EAAE,MAAM,CAAC,KAAK;QACnB,MAAM,EAAE,MAAM,CAAC,MAAM;QACrB,OAAO,EAAE,IAAI,GAAG,CACd,CAAC,GAAG,MAAM,CAAC,OAAO,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,MAAM,CAAC,EAAE,EAAE,CAAC,CAAC,EAAE,EAAE,EAAE,GAAG,MAAM,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC,CAAC,CAC/E;KACF,CAAC;AACJ,CAAC;AAED,SAAS,QAAQ,CACf,IAAY,EACZ,SAAoB,EACpB,UAAwB,EACxB,QAAkB,EAClB,aAA4B,EAC5B,IAAY,EACZ,GAAW;IAEX,SAAS,CAAC,QAAQ,CAAC,UAAU,CAAC,CAAC;IAC/B,SAAS,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC;IAC3B,aAAa,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC;IAC9B,kBAAkB,CAAC,IAAI,EAAE,aAAa,CAAC,CAAC;IACxC,SAAS,CAAC,IAAI,EAAE,EAAE,IAAI,EAAE,GAAG,EAAE,CAAC,CAAC;AACjC,CAAC;AASD,SAAS,WAAW,CAAC,IAAY,EAAE,GAAW;IAC5C,OAAO,EAAE,IAAI,EAAE,GAAG,EAAE,KAAK,EAAE,EAAE,EAAE,YAAY,EAAE,CAAC,EAAE,CAAC;AACnD,CAAC;AAED;;;;;;;;;;;;;;;GAeG;AACH,KAAK,UAAU,WAAW,CACxB,MAAoB,EACpB,GAAiB,EACjB,SAAiB,EACjB,QAAsB,EACtB,IAIC;IAED,KAAK,MAAM,CAAC,CAAC,EAAE,EAAE,CAAC,IAAI,GAAG,CAAC,OAAO,EAAE,EAAE,CAAC;QACpC,MAAM,KAAK,GAAG,WAAW,CAAC,EAAE,EAAE,QAAQ,CAAC,KAAK,CAAC,CAAC;QAC9C,MAAM,IAAI,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,QAAQ,EAAE,CAAC;QAC9C,IAAI,MAAM,GAAG,QAAQ,CAAC,IAAI,CAAC;QAC3B,IAAI,MAA4B,CAAC;QACjC,KAAK,IAAI,OAAO,GAAG,CAAC,EAAE,MAAM,KAAK,SAAS,EAAE,OAAO,EAAE,EAAE,CAAC;YACtD,IAAI,CAAC;gBACH,MAAM,GAAG,MAAM,wBAAwB,CACrC,MAAM,EACN,aAAa,CAAC,MAAM,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,GAAG,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAC1D,CAAC;YACJ,CAAC;YAAC,OAAO,GAAG,EAAE,CAAC;gBACb,IAAI,CAAC,IAAI,CAAC,aAAa,IAAI,CAAC,CAAC,GAAG,YAAY,iBAAiB,CAAC;oBAAE,MAAM,GAAG,CAAC;gBAC1E,IAAI,OAAO,GAAG,CAAC,IAAI,kBAAkB,EAAE,CAAC;oBACtC,MAAM,IAAI,KAAK,CACb,aAAa,IAAI,iCAAiC,kBAAkB,UAAU,CAC/E,CAAC;gBACJ,CAAC;gBACD,MAAM,GAAG,GAAG,CAAC,IAAI,CAAC;gBAClB,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,gCAAgC,GAAG,CAAC,IAAI,EAAE,CAAC,CAAC;YACrE,CAAC;QACH,CAAC;QACD,QAAQ,CAAC,IAAI,GAAG,MAAM,CAAC,IAAI,CAAC;QAC5B,QAAQ,CAAC,GAAG,GAAG,MAAM,CAAC,GAAG,CAAC;QAC1B,QAAQ,CAAC,KAAK,GAAG,EAAE,GAAG,QAAQ,CAAC,KAAK,EAAE,GAAG,MAAM,CAAC,KAAK,EAAE,CAAC;QACxD,QAAQ,CAAC,YAAY,IAAI,KAAK,CAAC,MAAM,CAAC;QACtC,KAAK,MAAM,CAAC,IAAI,MAAM,CAAC,OAAO,IAAI,EAAE,EAAE,CAAC;YACrC,MAAM,EAAE,GAAG,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC;YAC1B,IAAI,CAAC,EAAE,EAAE,CAAC;gBACR,MAAM,IAAI,KAAK,CACb,qBAAqB,CAAC,CAAC,KAAK,SAAS,KAAK,CAAC,MAAM,6CAA6C,CAC/F,CAAC;YACJ,CAAC;YACD,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,GAAG,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC;QACzC,CAAC;QACD,KAAK,MAAM,CAAC,IAAI,MAAM,CAAC,QAAQ,IAAI,EAAE,EAAE,CAAC;YACtC,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,cAAc,CAAC,QAAQ,CAAC,CAAC,CAAC;gBAAE,IAAI,CAAC,MAAM,CAAC,cAAc,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QAClF,CAAC;QACD,IAAI,CAAC,OAAO,EAAE,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;IAC/B,CAAC;AACH,CAAC;AAED,SAAS,WAAW,CAClB,IAAY,EACZ,IAAkB,EAClB,MAAc,EACd,MAAkB;IAElB,yEAAyE;IACzE,MAAM,GAAG,GAAe,EAAE,CAAC;IAC3B,MAAM,MAAM,GAAG,cAAc,CAAC,iBAAiB,CAAC,IAAI,CAAC,EAAE,IAAI,CAAC,UAAU,CAAC,CAAC;IACxE,KAAK,MAAM,CAAC,EAAE,OAAO,EAAE,UAAU,CAAC,IAAI,cAAc,CAAC,IAAI,EAAE,IAAI,CAAC,EAAE,CAAC;QACjE,MAAM,QAAQ,GAAG,IAAI,CAAC,IAAI,EAAE,OAAO,CAAC,IAAI,CAAC,CAAC;QAC1C,IAAI,CAAC,UAAU,CAAC,QAAQ,CAAC;YAAE,SAAS;QACpC,MAAM,SAAS,GAAG,OAAO,CAAC,YAAY,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAC,CAAC;QAC1D,KAAK,MAAM,CAAC,IAAI,SAAS,CAAC,QAAQ;YAAE,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,GAAG,CAAC,EAAE,IAAI,EAAE,OAAO,CAAC,IAAI,EAAE,CAAC,CAAC;QACvF,IAAI,SAAS,CAAC,GAAG,EAAE,CAAC;YAClB,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC,GAAG,EAAE,OAAO,CAAC,IAAI,EAAE,QAAQ,CAAC,MAAM,EAAE,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC;YACzE,mBAAmB,CAAC,SAAS,CAAC,GAAG,EAAE,UAAU,CAAC,IAAI,EAAE,SAAS,CAAC,QAAQ,CAAC,CAAC;YACxE,GAAG,CAAC,IAAI,CAAC,GAAG,QAAQ,CAAC,UAAU,CAAC,IAAI,EAAE,SAAS,CAAC,GAAG,CAAC,CAAC,CAAC;QACxD,CAAC;IACH,CAAC;IACD,IAAI,GAAG,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACnB,MAAM,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,QAAQ,EAAE,EAAE,GAAG,EAAE,QAAQ,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,EAAE,CAAC,CAAC;IAC7E,CAAC;IACD,MAAM,CAAC,OAAO,GAAG,IAAI,CAAC;IACtB,MAAM,CAAC,SAAS,GAAG,GAAG,CAAC,MAAM,CAAC;IAC9B,OAAO,MAAM,CAAC;AAChB,CAAC;AAED,iFAAiF;AACjF,SAAS,cAAc,CAAC,IAAY,EAAE,IAAkB;IACtD,MAAM,GAAG,GAAwC,EAAE,CAAC;IACpD,KAAK,MAAM,CAAC,EAAE,EAAE,OAAO,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,YAAY,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC;QAC/D,MAAM,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;QAChC,IAAI,IAAI;YAAE,GAAG,CAAC,IAAI,CAAC,CAAC,EAAE,EAAE,OAAO,EAAE,IAAI,CAAC,CAAC,CAAC;IAC1C,CAAC;IACD,KAAK,MAAM,CAAC,EAAE,EAAE,OAAO,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,iBAAiB,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC;QACpE,MAAM,SAAS,GAAG,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;QAC1C,IAAI,SAAS;YAAE,GAAG,CAAC,IAAI,CAAC,CAAC,EAAE,EAAE,OAAO,EAAE,SAAS,CAAC,CAAC,CAAC;IACpD,CAAC;IACD,OAAO,GAAG,CAAC;AACb,CAAC;AAED,MAAM,UAAU,kBAAkB,CAAC,IAAY;IAC7C,8EAA8E;IAC9E,MAAM,IAAI,GAAG,IAAI,SAAS,CAAC,IAAI,CAAC,CAAC,OAAO,EAAE,CAAC;IAC3C,MAAM,MAAM,GAAG,cAAc,CAAC,iBAAiB,CAAC,IAAI,CAAC,EAAE,IAAI,CAAC,UAAU,CAAC,CAAC;IACxE,MAAM,OAAO,GAAyC,EAAE,CAAC;IACzD,KAAK,MAAM,CAAC,EAAE,OAAO,EAAE,UAAU,CAAC,IAAI,cAAc,CAAC,IAAI,EAAE,IAAI,CAAC,EAAE,CAAC;QACjE,MAAM,QAAQ,GAAG,IAAI,CAAC,IAAI,EAAE,OAAO,CAAC,IAAI,CAAC,CAAC;QAC1C,IAAI,CAAC,UAAU,CAAC,QAAQ,CAAC;YAAE,SAAS;QACpC,MAAM,SAAS,GAAG,OAAO,CAAC,YAAY,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAC,CAAC;QAC1D,IAAI,SAAS,CAAC,GAAG,EAAE,CAAC;YAClB,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC,GAAG,EAAE,OAAO,CAAC,IAAI,EAAE,GAAG,EAAE,CAAC,SAAS,CAAC,CAAC;YAC1D,mBAAmB,CAAC,SAAS,CAAC,GAAG,EAAE,UAAU,CAAC,IAAI,EAAE,SAAS,CAAC,QAAQ,CAAC,CAAC;QAC1E,CAAC;QACD,OAAO,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,OAAO,CAAC,IAAI,EAAE,OAAO,EAAE,CAAC,SAAS,CAAC,SAAS,CAAC,GAAG,EAAE,UAAU,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IAC5F,CAAC;IACD,OAAO,OAAO,CAAC;AACjB,CAAC"}
package/dist/types.d.ts CHANGED
@@ -32,6 +32,8 @@ export interface CustomNode extends RenderDomNode {
32
32
  props: CustomNodeProps & Record<string, unknown>;
33
33
  }
34
34
  export declare function isCustomNode(node: RenderDomNode): node is CustomNode;
35
+ import type { TextDirective } from '@mapples/textpatch';
36
+ export type { TextDirective };
35
37
  export interface ChildrenDirective {
36
38
  move?: {
37
39
  ref: string;
@@ -53,6 +55,8 @@ export interface JpatchOp {
53
55
  data?: Record<string, unknown>;
54
56
  patch?: Record<string, unknown>;
55
57
  children?: ChildrenDirective;
58
+ /** Source update only (RFC-0001 A13): unified-diff hunks against the text whose hash is `base`. */
59
+ text?: TextDirective;
56
60
  hash?: string;
57
61
  cascade?: boolean;
58
62
  }
package/dist/types.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"types.js","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"AAAA,0EAA0E;AAC1E,sBAAsB;AAgBtB,8FAA8F;AAC9F,MAAM,CAAC,MAAM,cAAc,GAAG,CAAC,UAAU,EAAE,WAAW,EAAE,aAAa,CAAU,CAAC;AAKhF,mFAAmF;AACnF,MAAM,UAAU,SAAS,CAAC,IAAiB;IACzC,MAAM,GAAG,GAAgB,EAAE,CAAC;IAC5B,IAAI,IAAI,CAAC,QAAQ,IAAI,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,MAAM,GAAG,CAAC;QAAE,GAAG,CAAC,QAAQ,GAAG,IAAI,CAAC,QAAQ,CAAC;IACzF,IAAI,IAAI,CAAC,SAAS,IAAI,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,MAAM,GAAG,CAAC;QAAE,GAAG,CAAC,SAAS,GAAG,IAAI,CAAC,SAAS,CAAC;IAC7F,IAAI,IAAI,CAAC,WAAW,IAAI,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACjE,GAAG,CAAC,WAAW,GAAG,IAAI,CAAC,WAAW,CAAC;IACrC,CAAC;IACD,OAAO,GAAG,CAAC;AACb,CAAC;AAED,iFAAiF;AACjF,MAAM,UAAU,aAAa,CAAC,IAAiB;IAC7C,OAAO;QACL,QAAQ,EAAE,IAAI,CAAC,QAAQ,IAAI,EAAE;QAC7B,SAAS,EAAE,IAAI,CAAC,SAAS,IAAI,EAAE;QAC/B,WAAW,EAAE,IAAI,CAAC,WAAW,IAAI,EAAE;KACpC,CAAC;AACJ,CAAC;AAcD,MAAM,UAAU,YAAY,CAAC,IAAmB;IAC9C,OAAO,IAAI,CAAC,IAAI,KAAK,QAAQ,CAAC;AAChC,CAAC;AAmED,MAAM,UAAU,WAAW,CAAC,WAAmB;IAC7C,OAAO,OAAO,WAAW,EAAE,CAAC;AAC9B,CAAC"}
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"AAAA,0EAA0E;AAC1E,sBAAsB;AAgBtB,8FAA8F;AAC9F,MAAM,CAAC,MAAM,cAAc,GAAG,CAAC,UAAU,EAAE,WAAW,EAAE,aAAa,CAAU,CAAC;AAKhF,mFAAmF;AACnF,MAAM,UAAU,SAAS,CAAC,IAAiB;IACzC,MAAM,GAAG,GAAgB,EAAE,CAAC;IAC5B,IAAI,IAAI,CAAC,QAAQ,IAAI,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,MAAM,GAAG,CAAC;QAAE,GAAG,CAAC,QAAQ,GAAG,IAAI,CAAC,QAAQ,CAAC;IACzF,IAAI,IAAI,CAAC,SAAS,IAAI,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,MAAM,GAAG,CAAC;QAAE,GAAG,CAAC,SAAS,GAAG,IAAI,CAAC,SAAS,CAAC;IAC7F,IAAI,IAAI,CAAC,WAAW,IAAI,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACjE,GAAG,CAAC,WAAW,GAAG,IAAI,CAAC,WAAW,CAAC;IACrC,CAAC;IACD,OAAO,GAAG,CAAC;AACb,CAAC;AAED,iFAAiF;AACjF,MAAM,UAAU,aAAa,CAAC,IAAiB;IAC7C,OAAO;QACL,QAAQ,EAAE,IAAI,CAAC,QAAQ,IAAI,EAAE;QAC7B,SAAS,EAAE,IAAI,CAAC,SAAS,IAAI,EAAE;QAC/B,WAAW,EAAE,IAAI,CAAC,WAAW,IAAI,EAAE;KACpC,CAAC;AACJ,CAAC;AAcD,MAAM,UAAU,YAAY,CAAC,IAAmB;IAC9C,OAAO,IAAI,CAAC,IAAI,KAAK,QAAQ,CAAC;AAChC,CAAC;AAwED,MAAM,UAAU,WAAW,CAAC,WAAmB;IAC7C,OAAO,OAAO,WAAW,EAAE,CAAC;AAC9B,CAAC"}
package/dist/version.d.ts CHANGED
@@ -1,3 +1,24 @@
1
1
  /** The CLI's own published version (read from package.json — never hardcoded). */
2
2
  export declare function cliVersion(): string;
3
3
  export declare function cliOrigin(): string;
4
+ /**
5
+ * The npm channel this CLI build was published on: the prerelease id of its
6
+ * version (`0.2.0-beta.12` -> `beta`), or null for a stable release. The
7
+ * Changesets pre mode publishes `X.Y.Z-<tag>.N` under the dist-tag `<tag>`.
8
+ */
9
+ export declare function cliChannel(): string | null;
10
+ /**
11
+ * The ONE version spec every `@mapples/*` runtime dependency of a generated
12
+ * app gets. All `@mapples/*` packages publish as one Changesets fixed group
13
+ * (one shared version from 1.6.0 on), so a single spec keeps an app coherent.
14
+ *
15
+ * - Stable CLI: `^<X.Y.Z>`, X.Y.Z being the base version of the CLI's own
16
+ * `@mapples/codegen` dependency — the runtime generation the emitted code
17
+ * targets (codegen is in the same fixed group). No second constant to drift.
18
+ * - Prerelease CLI (`mapples@beta`): the dist-tag itself (`"beta"`). A range
19
+ * cannot express a channel: semver orders `rc` above `beta`, so
20
+ * `^1.6.0-beta.0` resolves to the rc, while caret ranges without a
21
+ * prerelease resolve to the old `latest`. The tag resolves every package to
22
+ * the same fixed-group publish, and the lockfile pins it.
23
+ */
24
+ export declare function mapplesRuntimeSpec(): string;
package/dist/version.js CHANGED
@@ -1,12 +1,49 @@
1
1
  import { readFileSync } from 'node:fs';
2
2
  import { fileURLToPath } from 'node:url';
3
- /** The CLI's own published version (read from package.json — never hardcoded). */
4
- export function cliVersion() {
3
+ function readCliPackageJson() {
5
4
  // dist/version.js -> ../package.json
6
5
  const pkgPath = fileURLToPath(new URL('../package.json', import.meta.url));
7
- return JSON.parse(readFileSync(pkgPath, 'utf8')).version;
6
+ return JSON.parse(readFileSync(pkgPath, 'utf8'));
7
+ }
8
+ /** The CLI's own published version (read from package.json — never hardcoded). */
9
+ export function cliVersion() {
10
+ return readCliPackageJson().version;
8
11
  }
9
12
  export function cliOrigin() {
10
13
  return `mapples-cli@${cliVersion()}`;
11
14
  }
15
+ /**
16
+ * The npm channel this CLI build was published on: the prerelease id of its
17
+ * version (`0.2.0-beta.12` -> `beta`), or null for a stable release. The
18
+ * Changesets pre mode publishes `X.Y.Z-<tag>.N` under the dist-tag `<tag>`.
19
+ */
20
+ export function cliChannel() {
21
+ const match = /^\d+\.\d+\.\d+-([A-Za-z][0-9A-Za-z-]*)(?:\.|$)/.exec(cliVersion());
22
+ return match ? match[1] : null;
23
+ }
24
+ /**
25
+ * The ONE version spec every `@mapples/*` runtime dependency of a generated
26
+ * app gets. All `@mapples/*` packages publish as one Changesets fixed group
27
+ * (one shared version from 1.6.0 on), so a single spec keeps an app coherent.
28
+ *
29
+ * - Stable CLI: `^<X.Y.Z>`, X.Y.Z being the base version of the CLI's own
30
+ * `@mapples/codegen` dependency — the runtime generation the emitted code
31
+ * targets (codegen is in the same fixed group). No second constant to drift.
32
+ * - Prerelease CLI (`mapples@beta`): the dist-tag itself (`"beta"`). A range
33
+ * cannot express a channel: semver orders `rc` above `beta`, so
34
+ * `^1.6.0-beta.0` resolves to the rc, while caret ranges without a
35
+ * prerelease resolve to the old `latest`. The tag resolves every package to
36
+ * the same fixed-group publish, and the lockfile pins it.
37
+ */
38
+ export function mapplesRuntimeSpec() {
39
+ const channel = cliChannel();
40
+ if (channel)
41
+ return channel;
42
+ const codegen = readCliPackageJson().dependencies?.['@mapples/codegen'];
43
+ const base = codegen ? /(\d+\.\d+\.\d+)/.exec(codegen)?.[1] : undefined;
44
+ if (!base) {
45
+ throw new Error(`cannot derive the @mapples runtime version: the CLI's @mapples/codegen dependency is ${JSON.stringify(codegen)}`);
46
+ }
47
+ return `^${base}`;
48
+ }
12
49
  //# sourceMappingURL=version.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"version.js","sourceRoot":"","sources":["../src/version.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,SAAS,CAAC;AACvC,OAAO,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC;AAEzC,kFAAkF;AAClF,MAAM,UAAU,UAAU;IACxB,qCAAqC;IACrC,MAAM,OAAO,GAAG,aAAa,CAAC,IAAI,GAAG,CAAC,iBAAiB,EAAE,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC;IAC3E,OAAQ,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,OAAO,EAAE,MAAM,CAAC,CAAyB,CAAC,OAAO,CAAC;AACpF,CAAC;AAED,MAAM,UAAU,SAAS;IACvB,OAAO,eAAe,UAAU,EAAE,EAAE,CAAC;AACvC,CAAC"}
1
+ {"version":3,"file":"version.js","sourceRoot":"","sources":["../src/version.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,SAAS,CAAC;AACvC,OAAO,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC;AAOzC,SAAS,kBAAkB;IACzB,qCAAqC;IACrC,MAAM,OAAO,GAAG,aAAa,CAAC,IAAI,GAAG,CAAC,iBAAiB,EAAE,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC;IAC3E,OAAO,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,OAAO,EAAE,MAAM,CAAC,CAAmB,CAAC;AACrE,CAAC;AAED,kFAAkF;AAClF,MAAM,UAAU,UAAU;IACxB,OAAO,kBAAkB,EAAE,CAAC,OAAO,CAAC;AACtC,CAAC;AAED,MAAM,UAAU,SAAS;IACvB,OAAO,eAAe,UAAU,EAAE,EAAE,CAAC;AACvC,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,UAAU;IACxB,MAAM,KAAK,GAAG,gDAAgD,CAAC,IAAI,CAAC,UAAU,EAAE,CAAC,CAAC;IAClF,OAAO,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAE,CAAC,CAAC,CAAC,IAAI,CAAC;AAClC,CAAC;AAED;;;;;;;;;;;;;GAaG;AACH,MAAM,UAAU,kBAAkB;IAChC,MAAM,OAAO,GAAG,UAAU,EAAE,CAAC;IAC7B,IAAI,OAAO;QAAE,OAAO,OAAO,CAAC;IAC5B,MAAM,OAAO,GAAG,kBAAkB,EAAE,CAAC,YAAY,EAAE,CAAC,kBAAkB,CAAC,CAAC;IACxE,MAAM,IAAI,GAAG,OAAO,CAAC,CAAC,CAAC,iBAAiB,CAAC,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;IACxE,IAAI,CAAC,IAAI,EAAE,CAAC;QACV,MAAM,IAAI,KAAK,CACb,wFAAwF,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,EAAE,CAClH,CAAC;IACJ,CAAC;IACD,OAAO,IAAI,IAAI,EAAE,CAAC;AACpB,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "mapples",
3
- "version": "0.2.0-beta.10",
3
+ "version": "0.2.0-beta.13",
4
4
  "description": "Mapples CLI — two-way code sync between Creator and your Expo project",
5
5
  "license": "MIT",
6
6
  "author": "Oleksandr Soloviov <oleksolv@gmail.com>",
@@ -18,8 +18,9 @@
18
18
  "clean": "rm -rf dist *.tsbuildinfo"
19
19
  },
20
20
  "dependencies": {
21
- "@mapples/codegen": "^1.6.0-beta.20260917131610",
22
- "@mapples/sid-ast": "^1.6.0-beta.20260917131610",
21
+ "@mapples/codegen": ">=1.6.0-beta.20260930095510 <1.6.0-rc.0",
22
+ "@mapples/sid-ast": ">=1.6.0-beta.20260930095510 <1.6.0-rc.0",
23
+ "@mapples/textpatch": ">=1.6.0-beta.20260930095510 <1.6.0-rc.0",
23
24
  "@noble/hashes": "^1.6.1",
24
25
  "axios": "^1.7.9",
25
26
  "chalk": "^5.4.1",
@@ -5,8 +5,11 @@ This app is linked to a **Mapples Creator** project (visual editor at creator.ma
5
5
  The link is the `mapples` CLI: screens, components and design tokens are TSX and TS files in
6
6
  this repo, and `npx -y mapples@__CLI_VERSION__ sync` pushes your edits to Creator and pulls Creator's edits back
7
7
  (two-way, 3-way merged). Every write to the project goes through `npx -y mapples@__CLI_VERSION__ sync` — there is no
8
- other write path from here. The `mapples` MCP server (`.mcp.json`) is **read-only**: use it to
9
- look at the project (style tokens, assets); never expect it to change anything.
8
+ other write path from here. The `mapples` MCP server (`.mcp.json`) authenticates with the
9
+ project's API key, which exposes **read-only** tools: `get_project` (project metadata) and
10
+ `get_project_style` (the theme, typography and sizing tokens at the current canvas head). It has
11
+ no resources, prompts or asset listing — assets arrive in this repo through
12
+ `npx -y mapples@__CLI_VERSION__ sync`. Never expect it to change anything.
10
13
 
11
14
  ## Skills
12
15
 
@@ -97,8 +100,10 @@ const styles = Styler.create({
97
100
  - Navigation from code: `$actions={{ onPress: { type: 'mapples:navigate', staticData: { pageUuid } } }}`
98
101
  on the element's primary event. The target's `pageUuid` is the `uuid` field of
99
102
  `.mapples/base/pages/<pageId>.json`; `<pageId>` is the key in `.mapples/pages.json` whose
100
- `file` is the target route file. Add a `router.push('/<segment>')` `onPress` handler too so
101
- the built app navigates.
103
+ `file` is the target route file. The built app runs `$actions` itself (as Creator's Play
104
+ does) — do NOT add a `router.push` `onPress` next to it: the action replaces a code handler
105
+ for the same event and the app warns about the duplicate. `$data` bindings (`vars.*`,
106
+ `api.*`, `route.*`) resolve in the app the same way.
102
107
  - Images: `<Image source="https://picsum.photos/seed/<topic>/<w>/<h>" contentFit="cover" />`
103
108
  with an explicit width/height in `styled.style`. Creator asset references (`$refs`) are
104
109
  Creator-side; do not invent them.
@@ -39,8 +39,8 @@ identity: keep it verbatim. Renaming the file renames the route in Creator.
39
39
 
40
40
  | Attribute | Shape | Meaning |
41
41
  | --- | --- | --- |
42
- | `$actions` | `{ onPress: { type: 'mapples:navigate', staticData: { pageUuid: '<uuid>' } } }` | Creator prototype connection on that event. Other action types (`mapples:setState`, `mapples:goBack`, `mapples:switchTab`) exist; navigate is the one you write. |
43
- | `$data` | `{ visible: { key: 'vars.sheetOpen', active: true } }` | a data binding of a prop to a project variable — only when the project already has the variable |
42
+ | `$actions` | `{ onPress: { type: 'mapples:navigate', staticData: { pageUuid: '<uuid>' } } }` | Creator prototype connection on that event — and the handler the built app runs (no `router.push` next to it). Other action types (`mapples:setState`, `mapples:request`, `mapples:goBack`, `mapples:switchTab`) exist; navigate is the one you write. |
43
+ | `$data` | `{ visible: { key: 'vars.sheetOpen', active: true } }` | a data binding of a prop to a project variable (`vars.*`), API response (`api.*`) or route param (`route.*`) — resolved live in the built app; only when the project already has the variable / request |
44
44
  | `$refs` | `{ source: 'ref(image:<uuid>)' }` | a Creator asset reference — Creator-side; never invent one |
45
45
 
46
46
  `pageUuid` lookup: `.mapples/pages.json` maps `pageId → { file, name, route, routeId }`; the