@x12i/memorix-metadata 3.0.2 → 3.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (72) hide show
  1. package/README.md +10 -6
  2. package/dist/abstracts.d.ts +9 -3
  3. package/dist/abstracts.d.ts.map +1 -1
  4. package/dist/abstracts.js +70 -66
  5. package/dist/abstracts.js.map +1 -1
  6. package/dist/fold-bindings.d.ts +19 -0
  7. package/dist/fold-bindings.d.ts.map +1 -0
  8. package/dist/fold-bindings.js +103 -0
  9. package/dist/fold-bindings.js.map +1 -0
  10. package/dist/index.d.ts +7 -3
  11. package/dist/index.d.ts.map +1 -1
  12. package/dist/index.js +7 -3
  13. package/dist/index.js.map +1 -1
  14. package/dist/kind-fields.d.ts.map +1 -1
  15. package/dist/kind-fields.js +0 -1
  16. package/dist/kind-fields.js.map +1 -1
  17. package/dist/kinds.d.ts +1 -1
  18. package/dist/kinds.d.ts.map +1 -1
  19. package/dist/kinds.js +6 -11
  20. package/dist/kinds.js.map +1 -1
  21. package/dist/multi-agent-rule.d.ts +3 -3
  22. package/dist/multi-agent-rule.d.ts.map +1 -1
  23. package/dist/multi-agent-rule.js +7 -7
  24. package/dist/multi-agent-rule.js.map +1 -1
  25. package/dist/normalize.d.ts +3 -2
  26. package/dist/normalize.d.ts.map +1 -1
  27. package/dist/normalize.js +18 -5
  28. package/dist/normalize.js.map +1 -1
  29. package/dist/resolve.d.ts +14 -2
  30. package/dist/resolve.d.ts.map +1 -1
  31. package/dist/resolve.js +229 -133
  32. package/dist/resolve.js.map +1 -1
  33. package/dist/streams.d.ts +17 -0
  34. package/dist/streams.d.ts.map +1 -0
  35. package/dist/streams.js +76 -0
  36. package/dist/streams.js.map +1 -0
  37. package/dist/topology.d.ts +52 -0
  38. package/dist/topology.d.ts.map +1 -0
  39. package/dist/topology.js +348 -0
  40. package/dist/topology.js.map +1 -0
  41. package/dist/types.d.ts +133 -17
  42. package/dist/types.d.ts.map +1 -1
  43. package/dist/types.js +22 -2
  44. package/dist/types.js.map +1 -1
  45. package/dist/validate.d.ts.map +1 -1
  46. package/dist/validate.js +188 -64
  47. package/dist/validate.js.map +1 -1
  48. package/examples/custom-kinds/acme-ui-tabs.pack.json +2 -2
  49. package/examples/invalid/agent-classification.json +69 -69
  50. package/examples/invalid/broken-binding.json +69 -69
  51. package/examples/invalid/completion-mapping-with-exec-policy.json +65 -65
  52. package/examples/invalid/missing-parent.json +69 -69
  53. package/examples/invalid/operational-kind-root.json +73 -73
  54. package/examples/invalid/pipeline-unknown-service.json +62 -62
  55. package/examples/invalid/relationship-missing-rules.json +65 -65
  56. package/examples/invalid/relationship-with-storage.json +65 -65
  57. package/examples/invalid/service-with-secrets.json +66 -66
  58. package/examples/knowx/normalized/pack.json +1538 -0
  59. package/examples/{ops → opx}/normalized/pack.json +340 -322
  60. package/examples/opx/raw/abstract-types.json +244 -0
  61. package/examples/{ops → opx}/raw/agents.json +8 -8
  62. package/examples/opx/raw/object-types.json +101 -0
  63. package/examples/{ops → opx}/raw/pipelines-and-sources.json +79 -31
  64. package/examples/{ops → opx}/raw/relationship-definitions.json +17 -47
  65. package/examples/{ops → opx}/raw/view-definitions.json +7 -21
  66. package/examples/opx/raw/write-and-source-mappings.json +223 -0
  67. package/examples/{project-ops → project-opx}/normalized/pack.json +391 -299
  68. package/package.json +1 -1
  69. package/examples/ops/raw/abstract-bindings.json +0 -38
  70. package/examples/ops/raw/abstract-types.json +0 -28
  71. package/examples/ops/raw/object-types.json +0 -170
  72. package/examples/ops/raw/write-and-source-mappings.json +0 -108
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,MAAM,MAAM,UAAU,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;AAEjD,MAAM,MAAM,eAAe,GAAG;IAC5B,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,uDAAuD;IACvD,QAAQ,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;CAC1B,CAAC;AAEF,MAAM,MAAM,eAAe,GAAG;IAC5B,EAAE,EAAE,MAAM,CAAC;IACX,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,aAAa,CAAC,EAAE;QACd,IAAI,EAAE,MAAM,CAAC;QACb,QAAQ,CAAC,EAAE,OAAO,CAAC;QACnB,YAAY,CAAC,EAAE,MAAM,CAAC;KACvB,CAAC;CACH,CAAC;AAEF,+EAA+E;AAC/E,MAAM,MAAM,mBAAmB,GAAG;IAChC,yEAAyE;IACzE,IAAI,EAAE,MAAM,CAAC;IACb,SAAS,EAAE,MAAM,CAAC;IAClB,kEAAkE;IAClE,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB,CAAC;AAEF,MAAM,MAAM,oBAAoB,GAAG;IACjC,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,CAAC;IACb,YAAY,EAAE,MAAM,CAAC;IACrB,aAAa,CAAC,EAAE,MAAM,EAAE,CAAC;IACzB,YAAY,EAAE,eAAe,EAAE,CAAC;IAChC,4EAA4E;IAC5E,MAAM,CAAC,EAAE,mBAAmB,EAAE,CAAC;CAChC,CAAC;AAEF,MAAM,MAAM,yBAAyB,GACjC,QAAQ,GACR,QAAQ,GACR,SAAS,GACT,MAAM,GACN,UAAU,GACV,MAAM,GACN,QAAQ,GACR,OAAO,GACP,SAAS,GACT,UAAU,GACV,SAAS,CAAC;AAEd,MAAM,MAAM,0BAA0B,GAAG;IACvC,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,SAAS,EAAE,yBAAyB,GAAG,MAAM,CAAC;IAC9C,4FAA4F;IAC5F,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB,CAAC;AAEF;;GAEG;AACH,MAAM,MAAM,sBAAsB,GAAG;IACnC,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,MAAM,CAAC;IAChB,QAAQ,EAAE,MAAM,CAAC;IACjB,UAAU,CAAC,EAAE,0BAA0B,EAAE,CAAC;CAC3C,CAAC;AAEF;;;;GAIG;AACH,MAAM,MAAM,uBAAuB,GAAG;IACpC,gBAAgB,EAAE,MAAM,CAAC;IACzB,WAAW,EAAE,MAAM,CAAC;IACpB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,2DAA2D;IAC3D,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC3B,oEAAoE;IACpE,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB;;;OAGG;IACH,OAAO,CAAC,EAAE;QACR,YAAY,CAAC,EAAE,MAAM,CAAC;QACtB,SAAS,CAAC,EAAE,MAAM,CAAC;KACpB,CAAC;CACH,CAAC;AAEF,mEAAmE;AACnE,MAAM,MAAM,qBAAqB,GAAG;IAClC,UAAU,EAAE,MAAM,CAAC;IACnB,sEAAsE;IACtE,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,UAAU,CAAC,EAAE,uBAAuB,EAAE,CAAC;CACxC,CAAC;AAEF;;;;GAIG;AACH,MAAM,MAAM,yBAAyB,GAAG;IACtC,EAAE,EAAE,MAAM,CAAC;IACX,YAAY,EAAE,MAAM,CAAC;IACrB,mBAAmB,CAAC,EAAE,MAAM,EAAE,CAAC;IAC/B,OAAO,CAAC,EAAE,qBAAqB,EAAE,CAAC;IAClC,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB,CAAC;AAEF,MAAM,MAAM,oBAAoB,GAAG;IACjC,qDAAqD;IACrD,YAAY,EAAE,MAAM,CAAC;IACrB,oEAAoE;IACpE,IAAI,EAAE,MAAM,CAAC;CACd,CAAC;AAEF,MAAM,MAAM,yBAAyB,GAAG;IACtC,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,CAAC;IACb,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB,CAAC;AAEF;;;GAGG;AACH,MAAM,MAAM,sBAAsB,GAAG;IACnC,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,MAAM,CAAC;IAChB,cAAc,EAAE,UAAU,GAAG,YAAY,CAAC;IAC1C,IAAI,EAAE,oBAAoB,CAAC;IAC3B,EAAE,EAAE,oBAAoB,CAAC;IACzB,0DAA0D;IAC1D,cAAc,EAAE,yBAAyB,EAAE,CAAC;CAC7C,CAAC;AAEF,MAAM,MAAM,cAAc,GAAG,QAAQ,GAAG,UAAU,GAAG,YAAY,CAAC;AAElE,MAAM,MAAM,iBAAiB,GAAG;IAC9B,EAAE,EAAE,MAAM,CAAC;IACX,OAAO,EAAE,cAAc,CAAC;IACxB,uDAAuD;IACvD,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,qCAAqC;IACrC,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,UAAU,EAAE,MAAM,CAAC;IACnB,WAAW,EAAE,MAAM,CAAC;IACpB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,GAAG,EAAE,UAAU,CAAC;IAChB;;;OAGG;IACH,OAAO,CAAC,EAAE,MAAM,CACd,MAAM,EACN;QACE,IAAI,EAAE,UAAU,CAAC;QACjB,UAAU,EAAE,MAAM,CAAC;KACpB,CACF,CAAC;CACH,CAAC;AAEF,MAAM,MAAM,cAAc,GAAG;IAC3B,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,wBAAwB,CAAC,EAAE,MAAM,CAAC;IAClC,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,OAAO,CAAC,EAAE,MAAM,EAAE,CAAC;IACnB,QAAQ,CAAC,EAAE,MAAM,EAAE,CAAC;IACpB,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB,CAAC;AAEF,MAAM,MAAM,eAAe,GAAG;IAC5B,EAAE,EAAE,MAAM,CAAC;IACX,UAAU,EAAE,MAAM,CAAC;IACnB,WAAW,EAAE,MAAM,CAAC;IACpB,QAAQ,CAAC,EAAE;QACT,WAAW,EAAE,MAAM,CAAC;QACpB,MAAM,CAAC,EAAE,MAAM,CAAC;KACjB,CAAC;CACH,CAAC;AAEF,MAAM,MAAM,qBAAqB,GAAG;IAClC,QAAQ,EAAE,MAAM,CAAC;IACjB,UAAU,EAAE,MAAM,CAAC;IACnB,YAAY,EAAE,QAAQ,GAAG,OAAO,GAAG,WAAW,GAAG,aAAa,GAAG,MAAM,CAAC;IACxE,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,KAAK,CAAC,EAAE,KAAK,CAAC,SAAS,GAAG,WAAW,CAAC,CAAC;IACvC,QAAQ,CAAC,EAAE,MAAM,CAAC;CACnB,CAAC;AAEF,MAAM,MAAM,qBAAqB,GAAG;IAClC,OAAO,CAAC,EAAE;QAAE,UAAU,CAAC,EAAE,MAAM,CAAC;QAAC,uBAAuB,CAAC,EAAE,OAAO,CAAA;KAAE,CAAC;CACtE,CAAC;AAEF,MAAM,MAAM,gBAAgB,GAAG;IAC7B,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;IACb,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,4DAA4D;IAC5D,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,SAAS,CAAC,EAAE,MAAM,EAAE,CAAC;IACrB,MAAM,CAAC,EAAE,qBAAqB,EAAE,CAAC;IACjC,SAAS,CAAC,EAAE,qBAAqB,CAAC;IAClC,UAAU,CAAC,EAAE;QAAE,KAAK,CAAC,EAAE,QAAQ,GAAG,MAAM,CAAC;QAAC,eAAe,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC;IACrE,YAAY,CAAC,EAAE,MAAM,CAAC;CACvB,CAAC;AAEF,MAAM,MAAM,aAAa,GAAG;IAC1B,EAAE,EAAE,MAAM,CAAC;IACX,+DAA+D;IAC/D,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB,CAAC;AAEF,MAAM,MAAM,iBAAiB,GAAG;IAC9B,IAAI,EAAE,MAAM,GAAG,QAAQ,GAAG,UAAU,CAAC;IACrC,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB,CAAC;AAEF;;;GAGG;AACH,MAAM,MAAM,iBAAiB,GAAG;IAC9B,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,YAAY,EAAE,MAAM,EAAE,CAAC;IACvB,MAAM,CAAC,EAAE,aAAa,EAAE,CAAC;IACzB,OAAO,CAAC,EAAE,aAAa,EAAE,CAAC;IAC1B,UAAU,CAAC,EAAE,iBAAiB,CAAC;CAChC,CAAC;AAEF,MAAM,MAAM,YAAY,GAAG;IACzB,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,mFAAmF;IACnF,gBAAgB,CAAC,EAAE,UAAU,CAAC;IAC9B,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB,CAAC;AAEF,MAAM,MAAM,kBAAkB,GAAG;IAC/B,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,MAAM,CAAC;IAChB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,KAAK,EAAE,YAAY,EAAE,CAAC;CACvB,CAAC;AAEF,MAAM,MAAM,kBAAkB,GAAG;IAC/B,EAAE,EAAE,MAAM,CAAC;IACX,UAAU,EAAE,MAAM,CAAC;IACnB,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,OAAO,CAAC,EAAE,OAAO,CAAC;CACnB,CAAC;AAEF;;;GAGG;AACH,MAAM,MAAM,yBAAyB,GAAG;IACtC,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,aAAa,EAAE,MAAM,CAAC;IACtB,iEAAiE;IACjE,UAAU,CAAC,EAAE,UAAU,CAAC;CACzB,CAAC;AAEF,MAAM,MAAM,YAAY,GAAG;IACzB,MAAM,EAAE,oBAAoB,CAAC;IAC7B,OAAO,EAAE,MAAM,CAAC;IAChB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,MAAM,EAAE,eAAe,EAAE,CAAC;IAC1B,WAAW,EAAE,oBAAoB,EAAE,CAAC;IACpC,aAAa,EAAE,sBAAsB,EAAE,CAAC;IACxC,gBAAgB,EAAE,yBAAyB,EAAE,CAAC;IAC9C,uBAAuB,EAAE,sBAAsB,EAAE,CAAC;IAClD,QAAQ,EAAE,iBAAiB,EAAE,CAAC;IAC9B,KAAK,EAAE,cAAc,EAAE,CAAC;IACxB,MAAM,EAAE,eAAe,EAAE,CAAC;IAC1B,OAAO,EAAE,gBAAgB,EAAE,CAAC;IAC5B,QAAQ,EAAE,iBAAiB,EAAE,CAAC;IAC9B,SAAS,EAAE,kBAAkB,EAAE,CAAC;IAChC,SAAS,EAAE,kBAAkB,EAAE,CAAC;IAChC,gDAAgD;IAChD,gBAAgB,CAAC,EAAE,yBAAyB,EAAE,CAAC;IAC/C;;;OAGG;IACH,UAAU,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,KAAK,CAAC;QAAE,EAAE,EAAE,MAAM,CAAA;KAAE,GAAG,UAAU,CAAC,CAAC,CAAC;CACjE,CAAC;AAEF,MAAM,MAAM,eAAe,GAAG;IAC5B,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,MAAM,CAAC;CACjB,CAAC;AAEF,MAAM,MAAM,gBAAgB,GAAG;IAC7B,EAAE,EAAE,OAAO,CAAC;IACZ,MAAM,EAAE,eAAe,EAAE,CAAC;CAC3B,CAAC;AAEF,MAAM,MAAM,2BAA2B,GAAG;IACxC,2EAA2E;IAC3E,kBAAkB,CAAC,EAAE,QAAQ,CAAC,MAAM,CAAC,CAAC;CACvC,CAAC"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"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"}
package/dist/types.js CHANGED
@@ -1,6 +1,26 @@
1
1
  /**
2
2
  * Canonical metadata document shapes (Phase 3A).
3
- * Agents are one kind; parentId optional; no base/concrete classification.
3
+ * Agents are one kind; parentIds optional; no base/concrete classification.
4
4
  */
5
- export {};
5
+ /** Resolve direct parent ids from an agent record (supports legacy parentId). */
6
+ export function parentIdsOf(agent) {
7
+ if (!agent)
8
+ return [];
9
+ if (Array.isArray(agent.parentIds)) {
10
+ const seen = new Set();
11
+ const out = [];
12
+ for (const raw of agent.parentIds) {
13
+ const id = typeof raw === "string" ? raw.trim() : "";
14
+ if (!id || seen.has(id))
15
+ continue;
16
+ seen.add(id);
17
+ out.push(id);
18
+ }
19
+ return out.sort((a, b) => a.localeCompare(b));
20
+ }
21
+ if (typeof agent.parentId === "string" && agent.parentId.trim()) {
22
+ return [agent.parentId.trim()];
23
+ }
24
+ return [];
25
+ }
6
26
  //# sourceMappingURL=types.js.map
package/dist/types.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"types.js","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"AAAA;;;GAGG"}
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAoBH,iFAAiF;AACjF,MAAM,UAAU,WAAW,CAAC,KAAyC;IACnE,IAAI,CAAC,KAAK;QAAE,OAAO,EAAE,CAAC;IACtB,IAAI,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,SAAS,CAAC,EAAE,CAAC;QACnC,MAAM,IAAI,GAAG,IAAI,GAAG,EAAU,CAAC;QAC/B,MAAM,GAAG,GAAa,EAAE,CAAC;QACzB,KAAK,MAAM,GAAG,IAAI,KAAK,CAAC,SAAS,EAAE,CAAC;YAClC,MAAM,EAAE,GAAG,OAAO,GAAG,KAAK,QAAQ,CAAC,CAAC,CAAC,GAAG,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;YACrD,IAAI,CAAC,EAAE,IAAI,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC;gBAAE,SAAS;YAClC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;YACb,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QACf,CAAC;QACD,OAAO,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,CAAC;IAChD,CAAC;IACD,IAAI,OAAO,KAAK,CAAC,QAAQ,KAAK,QAAQ,IAAI,KAAK,CAAC,QAAQ,CAAC,IAAI,EAAE,EAAE,CAAC;QAChE,OAAO,CAAC,KAAK,CAAC,QAAQ,CAAC,IAAI,EAAE,CAAC,CAAC;IACjC,CAAC;IACD,OAAO,EAAE,CAAC;AACZ,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"validate.d.ts","sourceRoot":"","sources":["../src/validate.ts"],"names":[],"mappings":"AASA,OAAO,KAAK,EAQV,YAAY,EAOZ,2BAA2B,EAE3B,gBAAgB,EAGjB,MAAM,YAAY,CAAC;AAu4BpB;;;GAGG;AACH,wBAAgB,oBAAoB,CAClC,KAAK,EAAE,OAAO,EACd,IAAI,CAAC,EAAE,2BAA2B,GACjC,gBAAgB,CAwFlB;AAED,wBAAgB,uBAAuB,CAAC,KAAK,EAAE,OAAO,GAAG,OAAO,CAAC,KAAK,IAAI,YAAY,CAMrF"}
1
+ {"version":3,"file":"validate.d.ts","sourceRoot":"","sources":["../src/validate.ts"],"names":[],"mappings":"AAUA,OAAO,KAAK,EAQV,YAAY,EAQZ,2BAA2B,EAE3B,gBAAgB,EAGjB,MAAM,YAAY,CAAC;AA4iCpB;;;GAGG;AACH,wBAAgB,oBAAoB,CAClC,KAAK,EAAE,OAAO,EACd,IAAI,CAAC,EAAE,2BAA2B,GACjC,gBAAgB,CA4FlB;AAED,wBAAgB,uBAAuB,CAAC,KAAK,EAAE,OAAO,GAAG,OAAO,CAAC,KAAK,IAAI,YAAY,CAMrF"}
package/dist/validate.js CHANGED
@@ -1,6 +1,8 @@
1
1
  import { isValidCustomKindId, validateAgainstItemSchema, } from "./custom-kinds.js";
2
+ import { foldLegacyAbstractBindings } from "./fold-bindings.js";
2
3
  import { isForbiddenOperationalKindId, METADATA_KIND_IDS, } from "./kinds.js";
3
4
  import { validateMappingMap } from "@x12i/memorix-mapping";
5
+ import { parentIdsOf } from "./types.js";
4
6
  function issue(path, code, message) {
5
7
  return { path, code, message };
6
8
  }
@@ -85,6 +87,18 @@ function validateAgent(raw, path, issues) {
85
87
  if (a.parentId !== undefined && a.parentId !== null && typeof a.parentId !== "string") {
86
88
  issues.push(issue(`${path}.parentId`, "META-TYPE", `${path}.parentId must be string|null`));
87
89
  }
90
+ if (a.parentIds !== undefined) {
91
+ if (!Array.isArray(a.parentIds)) {
92
+ issues.push(issue(`${path}.parentIds`, "META-TYPE", `${path}.parentIds must be an array`));
93
+ }
94
+ else {
95
+ for (let i = 0; i < a.parentIds.length; i++) {
96
+ if (typeof a.parentIds[i] !== "string" || !String(a.parentIds[i]).trim()) {
97
+ issues.push(issue(`${path}.parentIds[${i}]`, "META-TYPE", `${path}.parentIds[${i}] must be a non-empty string`));
98
+ }
99
+ }
100
+ }
101
+ }
88
102
  }
89
103
  function validateObjectType(raw, path, issues) {
90
104
  if (!raw || typeof raw !== "object") {
@@ -128,6 +142,39 @@ function validateAbstractType(raw, path, issues) {
128
142
  }
129
143
  }
130
144
  }
145
+ if (a.members !== undefined) {
146
+ if (!Array.isArray(a.members)) {
147
+ issues.push(issue(`${path}.members`, "META-TYPE", `${path}.members must be an array`));
148
+ }
149
+ else {
150
+ const seenOt = new Set();
151
+ for (let i = 0; i < a.members.length; i++) {
152
+ const m = a.members[i];
153
+ const mPath = `${path}.members[${i}]`;
154
+ if (!m || typeof m !== "object") {
155
+ issues.push(issue(mPath, "META-TYPE", `${mPath} must be an object`));
156
+ continue;
157
+ }
158
+ requireNonEmptyString(m.objectType, `${mPath}.objectType`, issues);
159
+ if (m.objectType) {
160
+ if (seenOt.has(m.objectType)) {
161
+ issues.push(issue(mPath, "META-DUP", `${path}.members duplicate objectType "${m.objectType}"`));
162
+ }
163
+ seenOt.add(m.objectType);
164
+ }
165
+ if (m.properties !== undefined) {
166
+ if (!Array.isArray(m.properties)) {
167
+ issues.push(issue(`${mPath}.properties`, "META-TYPE", `${mPath}.properties must be an array`));
168
+ }
169
+ else {
170
+ for (let j = 0; j < m.properties.length; j++) {
171
+ validatePropertyBinding(m.properties[j], `${mPath}.properties[${j}]`, issues);
172
+ }
173
+ }
174
+ }
175
+ }
176
+ }
177
+ }
131
178
  }
132
179
  function validatePropertyBinding(raw, path, issues) {
133
180
  if (!raw || typeof raw !== "object") {
@@ -155,52 +202,6 @@ function validatePropertyBinding(raw, path, issues) {
155
202
  }
156
203
  }
157
204
  }
158
- function validateBinding(raw, path, issues) {
159
- if (!raw || typeof raw !== "object") {
160
- issues.push(issue(path, "META-TYPE", `${path} must be an object`));
161
- return;
162
- }
163
- const b = raw;
164
- requireNonEmptyString(b.id, `${path}.id`, issues);
165
- requireNonEmptyString(b.abstractType, `${path}.abstractType`, issues);
166
- rejectForbiddenKeys(b, path, ABSTRACT_MATERIALIZATION_KEYS, "META-ABS-RECORD", issues, "abstracts exist only in metadata; no abstract collection/recordId");
167
- const hasConcrete = Array.isArray(b.concreteObjectTypes) && b.concreteObjectTypes.length > 0;
168
- const hasMembers = Array.isArray(b.members) && b.members.length > 0;
169
- if (!hasConcrete && !hasMembers) {
170
- issues.push(issue(path, "META-REQUIRED", `${path} must declare concreteObjectTypes and/or members`));
171
- }
172
- if (hasConcrete) {
173
- for (let i = 0; i < b.concreteObjectTypes.length; i++) {
174
- requireNonEmptyString(b.concreteObjectTypes[i], `${path}.concreteObjectTypes[${i}]`, issues);
175
- }
176
- }
177
- if (b.members !== undefined) {
178
- if (!Array.isArray(b.members)) {
179
- issues.push(issue(`${path}.members`, "META-TYPE", `${path}.members must be an array`));
180
- }
181
- else {
182
- for (let i = 0; i < b.members.length; i++) {
183
- const m = b.members[i];
184
- const mPath = `${path}.members[${i}]`;
185
- if (!m || typeof m !== "object") {
186
- issues.push(issue(mPath, "META-TYPE", `${mPath} must be an object`));
187
- continue;
188
- }
189
- requireNonEmptyString(m.objectType, `${mPath}.objectType`, issues);
190
- if (m.properties !== undefined) {
191
- if (!Array.isArray(m.properties)) {
192
- issues.push(issue(`${mPath}.properties`, "META-TYPE", `${mPath}.properties must be an array`));
193
- }
194
- else {
195
- for (let j = 0; j < m.properties.length; j++) {
196
- validatePropertyBinding(m.properties[j], `${mPath}.properties[${j}]`, issues);
197
- }
198
- }
199
- }
200
- }
201
- }
202
- }
203
- }
204
205
  function endpointPath(endpoint) {
205
206
  if (typeof endpoint.path === "string" && endpoint.path.trim())
206
207
  return endpoint.path;
@@ -325,6 +326,98 @@ function validateSource(raw, path, issues) {
325
326
  }
326
327
  }
327
328
  }
329
+ if (s.streams !== undefined) {
330
+ if (!Array.isArray(s.streams)) {
331
+ issues.push(issue(`${path}.streams`, "META-TYPE", `${path}.streams must be an array`));
332
+ }
333
+ else {
334
+ const seen = new Set();
335
+ for (let i = 0; i < s.streams.length; i++) {
336
+ const st = s.streams[i];
337
+ const sp = `${path}.streams[${i}]`;
338
+ if (!st || typeof st !== "object") {
339
+ issues.push(issue(sp, "META-TYPE", `${sp} must be an object`));
340
+ continue;
341
+ }
342
+ requireNonEmptyString(st.streamId, `${sp}.streamId`, issues);
343
+ requireNonEmptyString(st.endpoint, `${sp}.endpoint`, issues);
344
+ requireNonEmptyString(st.objectType, `${sp}.objectType`, issues);
345
+ requireNonEmptyString(st.dataCategory, `${sp}.dataCategory`, issues);
346
+ if (st.streamId?.trim()) {
347
+ if (seen.has(st.streamId.trim())) {
348
+ issues.push(issue(`${sp}.streamId`, "META-UNIQUE", `${sp}.streamId must be unique on the source`));
349
+ }
350
+ seen.add(st.streamId.trim());
351
+ }
352
+ }
353
+ }
354
+ }
355
+ if (s.workflow !== undefined) {
356
+ if (!s.workflow || typeof s.workflow !== "object") {
357
+ issues.push(issue(`${path}.workflow`, "META-TYPE", `${path}.workflow must be an object`));
358
+ }
359
+ else if (!Array.isArray(s.workflow.steps)) {
360
+ issues.push(issue(`${path}.workflow.steps`, "META-TYPE", `${path}.workflow.steps must be an array`));
361
+ }
362
+ else {
363
+ const stepIds = new Set();
364
+ for (let i = 0; i < s.workflow.steps.length; i++) {
365
+ const step = s.workflow.steps[i];
366
+ const sp = `${path}.workflow.steps[${i}]`;
367
+ if (!step || typeof step !== "object") {
368
+ issues.push(issue(sp, "META-TYPE", `${sp} must be an object`));
369
+ continue;
370
+ }
371
+ requireNonEmptyString(step.id, `${sp}.id`, issues);
372
+ const kind = step.kind;
373
+ if (kind !== "command" &&
374
+ kind !== "poll" &&
375
+ kind !== "collect" &&
376
+ kind !== "control") {
377
+ issues.push(issue(`${sp}.kind`, "META-ENUM", `${sp}.kind must be command|poll|collect|control`));
378
+ }
379
+ if (step.id?.trim()) {
380
+ if (stepIds.has(step.id.trim())) {
381
+ issues.push(issue(`${sp}.id`, "META-UNIQUE", `${sp}.id must be unique`));
382
+ }
383
+ stepIds.add(step.id.trim());
384
+ }
385
+ }
386
+ for (let i = 0; i < s.workflow.steps.length; i++) {
387
+ const step = s.workflow.steps[i];
388
+ if (!step?.dependsOn)
389
+ continue;
390
+ for (let j = 0; j < step.dependsOn.length; j++) {
391
+ const dep = step.dependsOn[j];
392
+ if (typeof dep !== "string" || !stepIds.has(dep)) {
393
+ issues.push(issue(`${path}.workflow.steps[${i}].dependsOn[${j}]`, "META-REF", `workflow step depends on unknown step id ${String(dep)}`));
394
+ }
395
+ }
396
+ }
397
+ }
398
+ }
399
+ }
400
+ const CONCRETE_RECORD_SCHEMA_RE = /^memorix-record\//;
401
+ function validateServicePort(port, path, role, issues) {
402
+ if (!port || typeof port !== "object") {
403
+ issues.push(issue(path, "META-TYPE", `${path} must be an object`));
404
+ return;
405
+ }
406
+ requireNonEmptyString(port.id, `${path}.id`, issues);
407
+ const record = port;
408
+ if (typeof record.objectType === "string" && record.objectType.trim()) {
409
+ issues.push(issue(`${path}.objectType`, "META-SVC-CONCRETE", `${path} must not declare objectType — services speak abstracts (or control ports)`));
410
+ }
411
+ if (role === "agent" &&
412
+ typeof port.schemaRef === "string" &&
413
+ CONCRETE_RECORD_SCHEMA_RE.test(port.schemaRef.trim())) {
414
+ issues.push(issue(`${path}.schemaRef`, "META-SVC-CONCRETE", `${path}.schemaRef must not be a concrete memorix-record/* schema on agent services — use abstractType`));
415
+ }
416
+ if (role === "agent" && !port.control) {
417
+ if (!port.abstractType || !String(port.abstractType).trim()) {
418
+ issues.push(issue(`${path}.abstractType`, "META-SVC-ABSTRACT", `${path}.abstractType is required on subject-data ports for agent services (set control: true for non-subject ports)`));
419
+ }
420
+ }
328
421
  }
329
422
  function validateService(raw, path, issues) {
330
423
  if (!raw || typeof raw !== "object") {
@@ -334,6 +427,10 @@ function validateService(raw, path, issues) {
334
427
  const s = raw;
335
428
  requireNonEmptyString(s.id, `${path}.id`, issues);
336
429
  requireNonEmptyString(s.name, `${path}.name`, issues);
430
+ const role = s.role === "connector" ? "connector" : "agent";
431
+ if (s.role != null && s.role !== "agent" && s.role !== "connector") {
432
+ issues.push(issue(`${path}.role`, "META-ENUM", `${path}.role must be agent|connector`));
433
+ }
337
434
  if (!Array.isArray(s.capabilities) || s.capabilities.length === 0) {
338
435
  issues.push(issue(`${path}.capabilities`, "META-REQUIRED", `${path}.capabilities must be a non-empty string array`));
339
436
  }
@@ -348,7 +445,7 @@ function validateService(raw, path, issues) {
348
445
  }
349
446
  else {
350
447
  for (let i = 0; i < s.inputs.length; i++) {
351
- requireNonEmptyString(s.inputs[i]?.id, `${path}.inputs[${i}].id`, issues);
448
+ validateServicePort(s.inputs[i], `${path}.inputs[${i}]`, role, issues);
352
449
  }
353
450
  }
354
451
  }
@@ -358,7 +455,25 @@ function validateService(raw, path, issues) {
358
455
  }
359
456
  else {
360
457
  for (let i = 0; i < s.outputs.length; i++) {
361
- requireNonEmptyString(s.outputs[i]?.id, `${path}.outputs[${i}].id`, issues);
458
+ validateServicePort(s.outputs[i], `${path}.outputs[${i}]`, role, issues);
459
+ }
460
+ }
461
+ }
462
+ if (role === "agent") {
463
+ const ports = [...(s.inputs ?? []), ...(s.outputs ?? [])];
464
+ const hasAbstract = ports.some((p) => p && typeof p.abstractType === "string" && p.abstractType.trim());
465
+ if (ports.length > 0 && !hasAbstract) {
466
+ issues.push(issue(`${path}`, "META-SVC-ABSTRACT", `${path} agent service must declare at least one abstractType on inputs/outputs`));
467
+ }
468
+ if (Array.isArray(s.memorixAccess) && s.memorixAccess.includes("raw")) {
469
+ issues.push(issue(`${path}.memorixAccess`, "META-SVC-CONCRETE", `${path}.memorixAccess must not include "raw" on agent services — use role: "connector" for connector workers`));
470
+ }
471
+ }
472
+ if (Array.isArray(s.memorixAccess)) {
473
+ for (let i = 0; i < s.memorixAccess.length; i++) {
474
+ const surface = s.memorixAccess[i];
475
+ if (surface !== "explore" && surface !== "checkpoints" && surface !== "raw") {
476
+ issues.push(issue(`${path}.memorixAccess[${i}]`, "META-ENUM", `${path}.memorixAccess[${i}] must be explore|checkpoints|raw`));
362
477
  }
363
478
  }
364
479
  }
@@ -479,8 +594,10 @@ function validateReferenceIntegrity(pack, issues) {
479
594
  issues.push(issue("agentId", "META-REF-AGENT", `pack.agentId "${pack.agentId}" must appear in agents[]`));
480
595
  }
481
596
  for (const agent of pack.agents) {
482
- if (agent.parentId && !agentIds.has(agent.parentId)) {
483
- issues.push(issue(`agents/${agent.id}.parentId`, "META-REF-PARENT", `parentId "${agent.parentId}" not found in agents[]`));
597
+ for (const parentId of parentIdsOf(agent)) {
598
+ if (!agentIds.has(parentId)) {
599
+ issues.push(issue(`agents/${agent.id}.parentIds`, "META-REF-PARENT", `parentId "${parentId}" not found in agents[]`));
600
+ }
484
601
  }
485
602
  }
486
603
  for (const ot of pack.objectTypes) {
@@ -490,25 +607,17 @@ function validateReferenceIntegrity(pack, issues) {
490
607
  }
491
608
  }
492
609
  }
493
- for (const b of pack.abstractBindings) {
494
- if (!abstractIds.has(b.abstractType)) {
495
- issues.push(issue(`abstractBindings/${b.id}.abstractType`, "META-REF-ABSTRACT", `binding references unknown abstract "${b.abstractType}"`));
496
- }
497
- for (const ct of b.concreteObjectTypes ?? []) {
498
- if (!objectTypeIds.has(ct)) {
499
- issues.push(issue(`abstractBindings/${b.id}.concreteObjectTypes`, "META-REF-OBJECT", `binding references unknown object type "${ct}"`));
500
- }
501
- }
502
- for (const member of b.members ?? []) {
610
+ for (const abs of pack.abstractTypes) {
611
+ for (const member of abs.members ?? []) {
503
612
  if (member.objectType && !objectTypeIds.has(member.objectType)) {
504
- issues.push(issue(`abstractBindings/${b.id}.members`, "META-REF-OBJECT", `binding member references unknown object type "${member.objectType}"`));
613
+ issues.push(issue(`abstractTypes/${abs.id}.members`, "META-REF-OBJECT", `abstract member references unknown object type "${member.objectType}"`));
505
614
  }
506
615
  for (const prop of member.properties ?? []) {
507
616
  if (prop.mappingId && !mappingIds.has(prop.mappingId)) {
508
- issues.push(issue(`abstractBindings/${b.id}.members/${member.objectType}.${prop.abstractProperty}`, "META-REF-MAPPING", `property binding references unknown mapping "${prop.mappingId}"`));
617
+ issues.push(issue(`abstractTypes/${abs.id}.members/${member.objectType}.${prop.abstractProperty}`, "META-REF-MAPPING", `property binding references unknown mapping "${prop.mappingId}"`));
509
618
  }
510
619
  if (prop.reverse?.mappingId && !mappingIds.has(prop.reverse.mappingId)) {
511
- issues.push(issue(`abstractBindings/${b.id}.members/${member.objectType}.${prop.abstractProperty}.reverse`, "META-REF-MAPPING", `reverse mapping "${prop.reverse.mappingId}" unknown`));
620
+ issues.push(issue(`abstractTypes/${abs.id}.members/${member.objectType}.${prop.abstractProperty}.reverse`, "META-REF-MAPPING", `reverse mapping "${prop.reverse.mappingId}" unknown`));
512
621
  }
513
622
  }
514
623
  }
@@ -523,6 +632,18 @@ function validateReferenceIntegrity(pack, issues) {
523
632
  issues.push(issue(`relationshipDefinitions/${r.id}.to`, "META-REF-ABSTRACT", `relationship to.abstractType "${toAbs}" unknown`));
524
633
  }
525
634
  }
635
+ for (const svc of pack.services ?? []) {
636
+ const ports = [
637
+ ...(svc.inputs ?? []).map((p, i) => ({ p, path: `services/${svc.id}.inputs[${i}]` })),
638
+ ...(svc.outputs ?? []).map((p, i) => ({ p, path: `services/${svc.id}.outputs[${i}]` })),
639
+ ];
640
+ for (const { p, path } of ports) {
641
+ const abs = p.abstractType?.trim();
642
+ if (abs && !abstractIds.has(abs)) {
643
+ issues.push(issue(`${path}.abstractType`, "META-REF-ABSTRACT", `service port references unknown abstract "${abs}"`));
644
+ }
645
+ }
646
+ }
526
647
  for (const m of pack.mappings) {
527
648
  if (m.purpose === "source" && m.sourceId && !sourceIds.has(m.sourceId)) {
528
649
  issues.push(issue(`mappings/${m.id}.sourceId`, "META-REF-SOURCE", `mapping references unknown source "${m.sourceId}"`));
@@ -582,6 +703,10 @@ export function validateMetadataPack(input, opts) {
582
703
  return { ok: false, issues: [issue("$", "META-TYPE", "pack must be an object")] };
583
704
  }
584
705
  const pack = input;
706
+ // Fold legacy abstractBindings into abstractTypes[].members before validation.
707
+ if (Array.isArray(pack.abstractTypes)) {
708
+ foldLegacyAbstractBindings(pack);
709
+ }
585
710
  if (pack.format !== "memorix-metadata/1") {
586
711
  issues.push(issue("format", "META-FORMAT", 'format must be "memorix-metadata/1"'));
587
712
  }
@@ -595,7 +720,6 @@ export function validateMetadataPack(input, opts) {
595
720
  ["agents", pack.agents, validateAgent],
596
721
  ["objectTypes", pack.objectTypes, validateObjectType],
597
722
  ["abstractTypes", pack.abstractTypes, validateAbstractType],
598
- ["abstractBindings", pack.abstractBindings, validateBinding],
599
723
  ["relationshipDefinitions", pack.relationshipDefinitions, validateRelationship],
600
724
  ["mappings", pack.mappings, validateMapping],
601
725
  ["views", pack.views, validateView],
@@ -1 +1 @@
1
- {"version":3,"file":"validate.js","sourceRoot":"","sources":["../src/validate.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,mBAAmB,EACnB,yBAAyB,GAC1B,MAAM,mBAAmB,CAAC;AAC3B,OAAO,EACL,4BAA4B,EAC5B,iBAAiB,GAClB,MAAM,YAAY,CAAC;AACpB,OAAO,EAAE,kBAAkB,EAAE,MAAM,uBAAuB,CAAC;AAuB3D,SAAS,KAAK,CAAC,IAAY,EAAE,IAAY,EAAE,OAAe;IACxD,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE,OAAO,EAAE,CAAC;AACjC,CAAC;AAED,SAAS,qBAAqB,CAC5B,KAAc,EACd,IAAY,EACZ,MAAyB;IAEzB,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,CAAC,KAAK,CAAC,IAAI,EAAE,EAAE,CAAC;QAC/C,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,EAAE,eAAe,EAAE,GAAG,IAAI,6BAA6B,CAAC,CAAC,CAAC;QAChF,OAAO,KAAK,CAAC;IACf,CAAC;IACD,OAAO,IAAI,CAAC;AACd,CAAC;AAED,SAAS,gBAAgB,CACvB,KAA8B,EAC9B,IAAY,EACZ,MAAyB;IAEzB,MAAM,IAAI,GAAG,IAAI,GAAG,EAAU,CAAC;IAC/B,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,KAAK,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;QACtC,MAAM,EAAE,GAAG,KAAK,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC;QACxB,IAAI,OAAO,EAAE,KAAK,QAAQ;YAAE,SAAS;QACrC,IAAI,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,CAAC;YACjB,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,IAAI,IAAI,CAAC,MAAM,EAAE,aAAa,EAAE,iBAAiB,EAAE,WAAW,IAAI,EAAE,CAAC,CAAC,CAAC;QAC9F,CAAC;QACD,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;IACf,CAAC;AACH,CAAC;AAED,MAAM,gBAAgB,GAAG;IACvB,YAAY;IACZ,SAAS;IACT,iBAAiB;IACjB,WAAW;IACX,eAAe;IACf,eAAe;IACf,UAAU;CACF,CAAC;AAEX,MAAM,sBAAsB,GAAG;IAC7B,SAAS;IACT,QAAQ;IACR,QAAQ;IACR,UAAU;IACV,OAAO;IACP,aAAa;IACb,YAAY;IACZ,YAAY;IACZ,eAAe;IACf,UAAU;IACV,cAAc;IACd,UAAU;IACV,gBAAgB;CACR,CAAC;AAEX,MAAM,wBAAwB,GAAG;IAC/B,iBAAiB;IACjB,kBAAkB;IAClB,UAAU;IACV,MAAM;IACN,aAAa;CACL,CAAC;AAEX,kFAAkF;AAClF,MAAM,6BAA6B,GAAG;IACpC,YAAY;IACZ,oBAAoB;IACpB,kBAAkB;IAClB,YAAY;IACZ,SAAS;IACT,iBAAiB;IACjB,eAAe;CACP,CAAC;AAEX,SAAS,mBAAmB,CAC1B,GAA4B,EAC5B,IAAY,EACZ,IAAuB,EACvB,IAAY,EACZ,MAAyB,EACzB,MAAc;IAEd,KAAK,MAAM,GAAG,IAAI,IAAI,EAAE,CAAC;QACvB,IAAI,GAAG,IAAI,GAAG,EAAE,CAAC;YACf,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,IAAI,IAAI,GAAG,EAAE,EAAE,IAAI,EAAE,GAAG,IAAI,qBAAqB,GAAG,KAAK,MAAM,EAAE,CAAC,CAAC,CAAC;QAC3F,CAAC;IACH,CAAC;AACH,CAAC;AAED,SAAS,aAAa,CAAC,GAAY,EAAE,IAAY,EAAE,MAAyB;IAC1E,IAAI,CAAC,GAAG,IAAI,OAAO,GAAG,KAAK,QAAQ,EAAE,CAAC;QACpC,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,EAAE,WAAW,EAAE,GAAG,IAAI,oBAAoB,CAAC,CAAC,CAAC;QACnE,OAAO;IACT,CAAC;IACD,MAAM,CAAC,GAAG,GAAsB,CAAC;IACjC,qBAAqB,CAAC,CAAC,CAAC,EAAE,EAAE,GAAG,IAAI,KAAK,EAAE,MAAM,CAAC,CAAC;IAClD,qBAAqB,CAAC,CAAC,CAAC,IAAI,EAAE,GAAG,IAAI,OAAO,EAAE,MAAM,CAAC,CAAC;IACtD,IAAI,gBAAgB,IAAI,CAAC,IAAI,YAAY,IAAI,CAAC,IAAI,QAAQ,IAAI,CAAC,IAAI,YAAY,IAAI,CAAC,EAAE,CAAC;QACrF,MAAM,CAAC,IAAI,CACT,KAAK,CAAC,IAAI,EAAE,kBAAkB,EAAE,GAAG,IAAI,mDAAmD,CAAC,CAC5F,CAAC;IACJ,CAAC;IACD,IAAI,CAAC,CAAC,QAAQ,KAAK,SAAS,IAAI,CAAC,CAAC,QAAQ,KAAK,IAAI,IAAI,OAAO,CAAC,CAAC,QAAQ,KAAK,QAAQ,EAAE,CAAC;QACtF,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,IAAI,WAAW,EAAE,WAAW,EAAE,GAAG,IAAI,+BAA+B,CAAC,CAAC,CAAC;IAC9F,CAAC;AACH,CAAC;AAED,SAAS,kBAAkB,CAAC,GAAY,EAAE,IAAY,EAAE,MAAyB;IAC/E,IAAI,CAAC,GAAG,IAAI,OAAO,GAAG,KAAK,QAAQ,EAAE,CAAC;QACpC,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,EAAE,WAAW,EAAE,GAAG,IAAI,oBAAoB,CAAC,CAAC,CAAC;QACnE,OAAO;IACT,CAAC;IACD,MAAM,CAAC,GAAG,GAA2B,CAAC;IACtC,qBAAqB,CAAC,CAAC,CAAC,EAAE,EAAE,GAAG,IAAI,KAAK,EAAE,MAAM,CAAC,CAAC;IAClD,qBAAqB,CAAC,CAAC,CAAC,IAAI,EAAE,GAAG,IAAI,OAAO,EAAE,MAAM,CAAC,CAAC;IACtD,qBAAqB,CAAC,CAAC,CAAC,YAAY,EAAE,GAAG,IAAI,eAAe,EAAE,MAAM,CAAC,CAAC;IACtE,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,YAAY,CAAC,IAAI,CAAC,CAAC,YAAY,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QAClE,MAAM,CAAC,IAAI,CACT,KAAK,CAAC,GAAG,IAAI,eAAe,EAAE,eAAe,EAAE,GAAG,IAAI,yCAAyC,CAAC,CACjG,CAAC;IACJ,CAAC;SAAM,CAAC;QACN,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,YAAY,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;YAC/C,qBAAqB,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,EAAE,EAAE,EAAE,GAAG,IAAI,iBAAiB,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;QACxF,CAAC;IACH,CAAC;AACH,CAAC;AAED,SAAS,oBAAoB,CAAC,GAAY,EAAE,IAAY,EAAE,MAAyB;IACjF,IAAI,CAAC,GAAG,IAAI,OAAO,GAAG,KAAK,QAAQ,EAAE,CAAC;QACpC,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,EAAE,WAAW,EAAE,GAAG,IAAI,oBAAoB,CAAC,CAAC,CAAC;QACnE,OAAO;IACT,CAAC;IACD,MAAM,CAAC,GAAG,GAAuD,CAAC;IAClE,qBAAqB,CAAC,CAAC,CAAC,EAAE,EAAE,GAAG,IAAI,KAAK,EAAE,MAAM,CAAC,CAAC;IAClD,qBAAqB,CAAC,CAAC,CAAC,IAAI,EAAE,GAAG,IAAI,OAAO,EAAE,MAAM,CAAC,CAAC;IACtD,qBAAqB,CAAC,CAAC,CAAC,OAAO,EAAE,GAAG,IAAI,UAAU,EAAE,MAAM,CAAC,CAAC;IAC5D,qBAAqB,CAAC,CAAC,CAAC,QAAQ,EAAE,GAAG,IAAI,WAAW,EAAE,MAAM,CAAC,CAAC;IAC9D,mBAAmB,CACjB,CAAC,EACD,IAAI,EACJ,6BAA6B,EAC7B,iBAAiB,EACjB,MAAM,EACN,mEAAmE,CACpE,CAAC;IACF,IAAI,CAAC,CAAC,UAAU,KAAK,SAAS,EAAE,CAAC;QAC/B,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,UAAU,CAAC,EAAE,CAAC;YACjC,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,IAAI,aAAa,EAAE,WAAW,EAAE,GAAG,IAAI,8BAA8B,CAAC,CAAC,CAAC;QAC/F,CAAC;aAAM,CAAC;YACN,gBAAgB,CAAC,CAAC,CAAC,UAAU,EAAE,GAAG,IAAI,aAAa,EAAE,MAAM,CAAC,CAAC;YAC7D,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,UAAU,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;gBAC7C,MAAM,CAAC,GAAG,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC;gBAC1B,qBAAqB,CAAC,CAAC,EAAE,EAAE,EAAE,GAAG,IAAI,eAAe,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;gBACpE,qBAAqB,CAAC,CAAC,EAAE,SAAS,EAAE,GAAG,IAAI,eAAe,CAAC,aAAa,EAAE,MAAM,CAAC,CAAC;YACpF,CAAC;QACH,CAAC;IACH,CAAC;AACH,CAAC;AAED,SAAS,uBAAuB,CAC9B,GAAY,EACZ,IAAY,EACZ,MAAyB;IAEzB,IAAI,CAAC,GAAG,IAAI,OAAO,GAAG,KAAK,QAAQ,EAAE,CAAC;QACpC,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,EAAE,WAAW,EAAE,GAAG,IAAI,oBAAoB,CAAC,CAAC,CAAC;QACnE,OAAO;IACT,CAAC;IACD,MAAM,CAAC,GAAG,GAA8B,CAAC;IACzC,qBAAqB,CAAC,CAAC,CAAC,gBAAgB,EAAE,GAAG,IAAI,mBAAmB,EAAE,MAAM,CAAC,CAAC;IAC9E,qBAAqB,CAAC,CAAC,CAAC,WAAW,EAAE,GAAG,IAAI,cAAc,EAAE,MAAM,CAAC,CAAC;IACpE,MAAM,OAAO,GAAG,OAAO,CAAC,CAAC,YAAY,KAAK,QAAQ,IAAI,CAAC,CAAC,YAAY,CAAC,IAAI,EAAE,CAAC,MAAM,GAAG,CAAC,CAAC;IACvF,MAAM,MAAM,GAAG,OAAO,CAAC,CAAC,SAAS,KAAK,QAAQ,IAAI,CAAC,CAAC,SAAS,CAAC,IAAI,EAAE,CAAC,MAAM,GAAG,CAAC,CAAC;IAChF,IAAI,CAAC,OAAO,IAAI,CAAC,MAAM,EAAE,CAAC;QACxB,MAAM,CAAC,IAAI,CACT,KAAK,CACH,IAAI,EACJ,gBAAgB,EAChB,GAAG,IAAI,6CAA6C,CACrD,CACF,CAAC;IACJ,CAAC;IACD,IAAI,CAAC,CAAC,OAAO,KAAK,SAAS,EAAE,CAAC;QAC5B,IAAI,CAAC,CAAC,CAAC,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,KAAK,QAAQ,EAAE,CAAC;YAChD,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,IAAI,UAAU,EAAE,WAAW,EAAE,GAAG,IAAI,4BAA4B,CAAC,CAAC,CAAC;QAC1F,CAAC;aAAM,CAAC;YACN,MAAM,KAAK,GACT,OAAO,CAAC,CAAC,OAAO,CAAC,YAAY,KAAK,QAAQ,IAAI,CAAC,CAAC,OAAO,CAAC,YAAY,CAAC,IAAI,EAAE,CAAC,MAAM,GAAG,CAAC,CAAC;YACzF,MAAM,IAAI,GACR,OAAO,CAAC,CAAC,OAAO,CAAC,SAAS,KAAK,QAAQ,IAAI,CAAC,CAAC,OAAO,CAAC,SAAS,CAAC,IAAI,EAAE,CAAC,MAAM,GAAG,CAAC,CAAC;YACnF,IAAI,CAAC,KAAK,IAAI,CAAC,IAAI,EAAE,CAAC;gBACpB,MAAM,CAAC,IAAI,CACT,KAAK,CACH,GAAG,IAAI,UAAU,EACjB,mBAAmB,EACnB,GAAG,IAAI,qDAAqD,CAC7D,CACF,CAAC;YACJ,CAAC;QACH,CAAC;IACH,CAAC;AACH,CAAC;AAED,SAAS,eAAe,CAAC,GAAY,EAAE,IAAY,EAAE,MAAyB;IAC5E,IAAI,CAAC,GAAG,IAAI,OAAO,GAAG,KAAK,QAAQ,EAAE,CAAC;QACpC,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,EAAE,WAAW,EAAE,GAAG,IAAI,oBAAoB,CAAC,CAAC,CAAC;QACnE,OAAO;IACT,CAAC;IACD,MAAM,CAAC,GAAG,GAA0D,CAAC;IACrE,qBAAqB,CAAC,CAAC,CAAC,EAAE,EAAE,GAAG,IAAI,KAAK,EAAE,MAAM,CAAC,CAAC;IAClD,qBAAqB,CAAC,CAAC,CAAC,YAAY,EAAE,GAAG,IAAI,eAAe,EAAE,MAAM,CAAC,CAAC;IACtE,mBAAmB,CACjB,CAAC,EACD,IAAI,EACJ,6BAA6B,EAC7B,iBAAiB,EACjB,MAAM,EACN,mEAAmE,CACpE,CAAC;IAEF,MAAM,WAAW,GACf,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,mBAAmB,CAAC,IAAI,CAAC,CAAC,mBAAmB,CAAC,MAAM,GAAG,CAAC,CAAC;IAC3E,MAAM,UAAU,GAAG,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,OAAO,CAAC,MAAM,GAAG,CAAC,CAAC;IACpE,IAAI,CAAC,WAAW,IAAI,CAAC,UAAU,EAAE,CAAC;QAChC,MAAM,CAAC,IAAI,CACT,KAAK,CACH,IAAI,EACJ,eAAe,EACf,GAAG,IAAI,kDAAkD,CAC1D,CACF,CAAC;IACJ,CAAC;IACD,IAAI,WAAW,EAAE,CAAC;QAChB,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,mBAAoB,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;YACvD,qBAAqB,CACnB,CAAC,CAAC,mBAAoB,CAAC,CAAC,CAAC,EACzB,GAAG,IAAI,wBAAwB,CAAC,GAAG,EACnC,MAAM,CACP,CAAC;QACJ,CAAC;IACH,CAAC;IACD,IAAI,CAAC,CAAC,OAAO,KAAK,SAAS,EAAE,CAAC;QAC5B,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,OAAO,CAAC,EAAE,CAAC;YAC9B,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,IAAI,UAAU,EAAE,WAAW,EAAE,GAAG,IAAI,2BAA2B,CAAC,CAAC,CAAC;QACzF,CAAC;aAAM,CAAC;YACN,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,OAAO,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;gBAC1C,MAAM,CAAC,GAAG,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;gBACvB,MAAM,KAAK,GAAG,GAAG,IAAI,YAAY,CAAC,GAAG,CAAC;gBACtC,IAAI,CAAC,CAAC,IAAI,OAAO,CAAC,KAAK,QAAQ,EAAE,CAAC;oBAChC,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,KAAK,EAAE,WAAW,EAAE,GAAG,KAAK,oBAAoB,CAAC,CAAC,CAAC;oBACrE,SAAS;gBACX,CAAC;gBACD,qBAAqB,CAAC,CAAC,CAAC,UAAU,EAAE,GAAG,KAAK,aAAa,EAAE,MAAM,CAAC,CAAC;gBACnE,IAAI,CAAC,CAAC,UAAU,KAAK,SAAS,EAAE,CAAC;oBAC/B,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,UAAU,CAAC,EAAE,CAAC;wBACjC,MAAM,CAAC,IAAI,CACT,KAAK,CAAC,GAAG,KAAK,aAAa,EAAE,WAAW,EAAE,GAAG,KAAK,8BAA8B,CAAC,CAClF,CAAC;oBACJ,CAAC;yBAAM,CAAC;wBACN,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,UAAU,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;4BAC7C,uBAAuB,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,EAAE,GAAG,KAAK,eAAe,CAAC,GAAG,EAAE,MAAM,CAAC,CAAC;wBAChF,CAAC;oBACH,CAAC;gBACH,CAAC;YACH,CAAC;QACH,CAAC;IACH,CAAC;AACH,CAAC;AAED,SAAS,YAAY,CAAC,QAIrB;IACC,IAAI,OAAO,QAAQ,CAAC,IAAI,KAAK,QAAQ,IAAI,QAAQ,CAAC,IAAI,CAAC,IAAI,EAAE;QAAE,OAAO,QAAQ,CAAC,IAAI,CAAC;IACpF,IAAI,OAAO,QAAQ,CAAC,QAAQ,KAAK,QAAQ,IAAI,QAAQ,CAAC,QAAQ,CAAC,IAAI,EAAE;QAAE,OAAO,QAAQ,CAAC,QAAQ,CAAC;IAChG,OAAO,SAAS,CAAC;AACnB,CAAC;AAED,SAAS,oBAAoB,CAAC,GAAY,EAAE,IAAY,EAAE,MAAyB;IACjF,IAAI,CAAC,GAAG,IAAI,OAAO,GAAG,KAAK,QAAQ,EAAE,CAAC;QACpC,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,EAAE,WAAW,EAAE,GAAG,IAAI,oBAAoB,CAAC,CAAC,CAAC;QACnE,OAAO;IACT,CAAC;IACD,MAAM,CAAC,GAAG,GAGiB,CAAC;IAE5B,qBAAqB,CAAC,CAAC,CAAC,EAAE,EAAE,GAAG,IAAI,KAAK,EAAE,MAAM,CAAC,CAAC;IAClD,qBAAqB,CAAC,CAAC,CAAC,IAAI,EAAE,GAAG,IAAI,OAAO,EAAE,MAAM,CAAC,CAAC;IACtD,qBAAqB,CAAC,CAAC,CAAC,OAAO,EAAE,GAAG,IAAI,UAAU,EAAE,MAAM,CAAC,CAAC;IAC5D,IAAI,CAAC,CAAC,cAAc,KAAK,UAAU,IAAI,CAAC,CAAC,cAAc,KAAK,YAAY,EAAE,CAAC;QACzE,MAAM,CAAC,IAAI,CACT,KAAK,CAAC,GAAG,IAAI,iBAAiB,EAAE,WAAW,EAAE,GAAG,IAAI,6CAA6C,CAAC,CACnG,CAAC;IACJ,CAAC;IAED,qBAAqB,CAAC,CAAC,CAAC,IAAI,EAAE,YAAY,EAAE,GAAG,IAAI,oBAAoB,EAAE,MAAM,CAAC,CAAC;IACjF,IAAI,CAAC,YAAY,CAAC,CAAC,CAAC,IAAI,IAAI,EAAE,CAAC,EAAE,CAAC;QAChC,MAAM,CAAC,IAAI,CACT,KAAK,CACH,GAAG,IAAI,YAAY,EACnB,eAAe,EACf,GAAG,IAAI,oEAAoE,CAC5E,CACF,CAAC;IACJ,CAAC;IACD,qBAAqB,CAAC,CAAC,CAAC,EAAE,EAAE,YAAY,EAAE,GAAG,IAAI,kBAAkB,EAAE,MAAM,CAAC,CAAC;IAC7E,IAAI,CAAC,YAAY,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,CAAC,EAAE,CAAC;QAC9B,MAAM,CAAC,IAAI,CACT,KAAK,CACH,GAAG,IAAI,UAAU,EACjB,eAAe,EACf,GAAG,IAAI,kEAAkE,CAC1E,CACF,CAAC;IACJ,CAAC;IAED,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,cAAc,CAAC,IAAI,CAAC,CAAC,cAAc,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACtE,MAAM,CAAC,IAAI,CACT,KAAK,CACH,GAAG,IAAI,iBAAiB,EACxB,gBAAgB,EAChB,GAAG,IAAI,uEAAuE,CAC/E,CACF,CAAC;IACJ,CAAC;SAAM,CAAC;QACN,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,cAAc,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;YACjD,MAAM,IAAI,GAAG,CAAC,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC;YACjC,qBAAqB,CAAC,IAAI,EAAE,EAAE,EAAE,GAAG,IAAI,mBAAmB,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;YAC3E,qBAAqB,CAAC,IAAI,EAAE,IAAI,EAAE,GAAG,IAAI,mBAAmB,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAC;QACjF,CAAC;IACH,CAAC;IAED,mBAAmB,CACjB,CAAC,EACD,IAAI,EACJ,gBAAgB,EAChB,kBAAkB,EAClB,MAAM,EACN,8CAA8C,CAC/C,CAAC;AACJ,CAAC;AAED,SAAS,eAAe,CAAC,GAAY,EAAE,IAAY,EAAE,MAAyB;IAC5E,IAAI,CAAC,GAAG,IAAI,OAAO,GAAG,KAAK,QAAQ,EAAE,CAAC;QACpC,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,EAAE,WAAW,EAAE,GAAG,IAAI,oBAAoB,CAAC,CAAC,CAAC;QACnE,OAAO;IACT,CAAC;IACD,MAAM,CAAC,GAAG,GAAkD,CAAC;IAC7D,qBAAqB,CAAC,CAAC,CAAC,EAAE,EAAE,GAAG,IAAI,KAAK,EAAE,MAAM,CAAC,CAAC;IAClD,MAAM,QAAQ,GAAqB,CAAC,QAAQ,EAAE,UAAU,EAAE,YAAY,CAAC,CAAC;IACxE,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC,CAAC,OAAyB,CAAC,EAAE,CAAC;QACpD,MAAM,CAAC,IAAI,CACT,KAAK,CACH,GAAG,IAAI,UAAU,EACjB,kBAAkB,EAClB,GAAG,IAAI,oDAAoD,CAC5D,CACF,CAAC;IACJ,CAAC;IACD,qBAAqB,CAAC,CAAC,CAAC,UAAU,EAAE,GAAG,IAAI,aAAa,EAAE,MAAM,CAAC,CAAC;IAClE,qBAAqB,CAAC,CAAC,CAAC,WAAW,EAAE,GAAG,IAAI,cAAc,EAAE,MAAM,CAAC,CAAC;IACpE,IAAI,CAAC,CAAC,CAAC,GAAG,IAAI,OAAO,CAAC,CAAC,GAAG,KAAK,QAAQ,EAAE,CAAC;QACxC,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,IAAI,MAAM,EAAE,eAAe,EAAE,GAAG,IAAI,wBAAwB,CAAC,CAAC,CAAC;IACtF,CAAC;SAAM,CAAC;QACN,MAAM,GAAG,GAAG,kBAAkB,CAAC,CAAC,CAAC,GAAG,EAAE,EAAE,SAAS,EAAE,CAAC,CAAC,EAAE,EAAE,OAAO,EAAE,MAAM,CAAC,CAAC,CAAC,OAAO,IAAI,EAAE,CAAC,EAAE,CAAC,CAAC;QAC7F,KAAK,MAAM,CAAC,IAAI,GAAG,CAAC,MAAM,EAAE,CAAC;YAC3B,MAAM,CAAC,IAAI,CACT,KAAK,CACH,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,GAAG,IAAI,QAAQ,CAAC,CAAC,UAAU,EAAE,CAAC,CAAC,CAAC,GAAG,IAAI,MAAM,EAC5D,CAAC,CAAC,IAAI,EACN,CAAC,CAAC,OAAO,CACV,CACF,CAAC;QACJ,CAAC;IACH,CAAC;IAED,IAAI,CAAC,CAAC,OAAO,KAAK,QAAQ,IAAI,CAAC,qBAAqB,CAAC,CAAC,CAAC,QAAQ,EAAE,GAAG,IAAI,WAAW,EAAE,MAAM,CAAC,EAAE,CAAC;QAC7F,mBAAmB;IACrB,CAAC;IACD,IAAI,CAAC,CAAC,OAAO,KAAK,UAAU,EAAE,CAAC;QAC7B,qBAAqB,CAAC,CAAC,CAAC,YAAY,EAAE,GAAG,IAAI,eAAe,EAAE,MAAM,CAAC,CAAC;IACxE,CAAC;IACD,IAAI,CAAC,CAAC,OAAO,KAAK,YAAY,EAAE,CAAC;QAC/B,mBAAmB,CACjB,CAAC,EACD,IAAI,EACJ,wBAAwB,EACxB,eAAe,EACf,MAAM,EACN,4EAA4E,CAC7E,CAAC;IACJ,CAAC;SAAM,CAAC;QACN,mBAAmB,CACjB,CAAC,EACD,IAAI,EACJ,wBAAwB,EACxB,eAAe,EACf,MAAM,EACN,4DAA4D,CAC7D,CAAC;IACJ,CAAC;AACH,CAAC;AAED,SAAS,YAAY,CAAC,GAAY,EAAE,IAAY,EAAE,MAAyB;IACzE,IAAI,CAAC,GAAG,IAAI,OAAO,GAAG,KAAK,QAAQ,EAAE,CAAC;QACpC,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,EAAE,WAAW,EAAE,GAAG,IAAI,oBAAoB,CAAC,CAAC,CAAC;QACnE,OAAO;IACT,CAAC;IACD,MAAM,CAAC,GAAG,GAAqB,CAAC;IAChC,qBAAqB,CAAC,CAAC,CAAC,EAAE,EAAE,GAAG,IAAI,KAAK,EAAE,MAAM,CAAC,CAAC;IAClD,qBAAqB,CAAC,CAAC,CAAC,IAAI,EAAE,GAAG,IAAI,OAAO,EAAE,MAAM,CAAC,CAAC;IACtD,IAAI,CAAC,CAAC,CAAC,UAAU,IAAI,CAAC,CAAC,CAAC,YAAY,EAAE,CAAC;QACrC,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,EAAE,kBAAkB,EAAE,GAAG,IAAI,0CAA0C,CAAC,CAAC,CAAC;IAClG,CAAC;AACH,CAAC;AAED,SAAS,aAAa,CAAC,GAAY,EAAE,IAAY,EAAE,MAAyB;IAC1E,IAAI,CAAC,GAAG,IAAI,OAAO,GAAG,KAAK,QAAQ,EAAE,CAAC;QACpC,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,EAAE,WAAW,EAAE,GAAG,IAAI,oBAAoB,CAAC,CAAC,CAAC;QACnE,OAAO;IACT,CAAC;IACD,MAAM,CAAC,GAAG,GAAsB,CAAC;IACjC,qBAAqB,CAAC,CAAC,CAAC,EAAE,EAAE,GAAG,IAAI,KAAK,EAAE,MAAM,CAAC,CAAC;IAClD,qBAAqB,CAAC,CAAC,CAAC,UAAU,EAAE,GAAG,IAAI,aAAa,EAAE,MAAM,CAAC,CAAC;IAClE,qBAAqB,CAAC,CAAC,CAAC,WAAW,EAAE,GAAG,IAAI,cAAc,EAAE,MAAM,CAAC,CAAC;AACtE,CAAC;AAED,SAAS,cAAc,CAAC,GAAY,EAAE,IAAY,EAAE,MAAyB;IAC3E,IAAI,CAAC,GAAG,IAAI,OAAO,GAAG,KAAK,QAAQ,EAAE,CAAC;QACpC,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,EAAE,WAAW,EAAE,GAAG,IAAI,oBAAoB,CAAC,CAAC,CAAC;QACnE,OAAO;IACT,CAAC;IACD,MAAM,CAAC,GAAG,GAAuB,CAAC;IAClC,qBAAqB,CAAC,CAAC,CAAC,EAAE,EAAE,GAAG,IAAI,KAAK,EAAE,MAAM,CAAC,CAAC;IAClD,qBAAqB,CAAC,CAAC,CAAC,IAAI,EAAE,GAAG,IAAI,OAAO,EAAE,MAAM,CAAC,CAAC;IACtD,qBAAqB,CAAC,CAAC,CAAC,IAAI,EAAE,GAAG,IAAI,OAAO,EAAE,MAAM,CAAC,CAAC;IACtD,yEAAyE;IACzE,IAAI,CAAC,CAAC,MAAM,KAAK,SAAS,EAAE,CAAC;QAC3B,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,EAAE,CAAC;YAC7B,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,IAAI,SAAS,EAAE,WAAW,EAAE,GAAG,IAAI,0BAA0B,CAAC,CAAC,CAAC;QACvF,CAAC;aAAM,CAAC;YACN,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,MAAM,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;gBACzC,MAAM,CAAC,GAAG,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;gBACtB,MAAM,EAAE,GAAG,GAAG,IAAI,WAAW,CAAC,GAAG,CAAC;gBAClC,IAAI,CAAC,CAAC,IAAI,OAAO,CAAC,KAAK,QAAQ,EAAE,CAAC;oBAChC,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,EAAE,WAAW,EAAE,GAAG,EAAE,oBAAoB,CAAC,CAAC,CAAC;oBAC/D,SAAS;gBACX,CAAC;gBACD,qBAAqB,CAAC,CAAC,CAAC,QAAQ,EAAE,GAAG,EAAE,WAAW,EAAE,MAAM,CAAC,CAAC;gBAC5D,qBAAqB,CAAC,CAAC,CAAC,UAAU,EAAE,GAAG,EAAE,aAAa,EAAE,MAAM,CAAC,CAAC;gBAChE,qBAAqB,CAAC,CAAC,CAAC,YAAY,EAAE,GAAG,EAAE,eAAe,EAAE,MAAM,CAAC,CAAC;YACtE,CAAC;QACH,CAAC;IACH,CAAC;AACH,CAAC;AAED,SAAS,eAAe,CAAC,GAAY,EAAE,IAAY,EAAE,MAAyB;IAC5E,IAAI,CAAC,GAAG,IAAI,OAAO,GAAG,KAAK,QAAQ,EAAE,CAAC;QACpC,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,EAAE,WAAW,EAAE,GAAG,IAAI,oBAAoB,CAAC,CAAC,CAAC;QACnE,OAAO;IACT,CAAC;IACD,MAAM,CAAC,GAAG,GAAkD,CAAC;IAC7D,qBAAqB,CAAC,CAAC,CAAC,EAAE,EAAE,GAAG,IAAI,KAAK,EAAE,MAAM,CAAC,CAAC;IAClD,qBAAqB,CAAC,CAAC,CAAC,IAAI,EAAE,GAAG,IAAI,OAAO,EAAE,MAAM,CAAC,CAAC;IACtD,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,YAAY,CAAC,IAAI,CAAC,CAAC,YAAY,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QAClE,MAAM,CAAC,IAAI,CACT,KAAK,CAAC,GAAG,IAAI,eAAe,EAAE,eAAe,EAAE,GAAG,IAAI,gDAAgD,CAAC,CACxG,CAAC;IACJ,CAAC;SAAM,CAAC;QACN,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,YAAY,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;YAC/C,qBAAqB,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,EAAE,GAAG,IAAI,iBAAiB,CAAC,GAAG,EAAE,MAAM,CAAC,CAAC;QACjF,CAAC;IACH,CAAC;IACD,IAAI,CAAC,CAAC,MAAM,EAAE,CAAC;QACb,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,EAAE,CAAC;YAC7B,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,IAAI,SAAS,EAAE,WAAW,EAAE,GAAG,IAAI,0BAA0B,CAAC,CAAC,CAAC;QACvF,CAAC;aAAM,CAAC;YACN,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,MAAM,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;gBACzC,qBAAqB,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,EAAE,GAAG,IAAI,WAAW,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;YAC5E,CAAC;QACH,CAAC;IACH,CAAC;IACD,IAAI,CAAC,CAAC,OAAO,EAAE,CAAC;QACd,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,OAAO,CAAC,EAAE,CAAC;YAC9B,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,IAAI,UAAU,EAAE,WAAW,EAAE,GAAG,IAAI,2BAA2B,CAAC,CAAC,CAAC;QACzF,CAAC;aAAM,CAAC;YACN,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,OAAO,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;gBAC1C,qBAAqB,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,EAAE,EAAE,GAAG,IAAI,YAAY,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;YAC9E,CAAC;QACH,CAAC;IACH,CAAC;IACD,IAAI,CAAC,CAAC,UAAU,EAAE,CAAC;QACjB,MAAM,IAAI,GAAG,CAAC,CAAC,UAAU,CAAC,IAAI,CAAC;QAC/B,IAAI,IAAI,KAAK,MAAM,IAAI,IAAI,KAAK,QAAQ,IAAI,IAAI,KAAK,UAAU,EAAE,CAAC;YAChE,MAAM,CAAC,IAAI,CACT,KAAK,CACH,GAAG,IAAI,kBAAkB,EACzB,WAAW,EACX,GAAG,IAAI,+CAA+C,CACvD,CACF,CAAC;QACJ,CAAC;IACH,CAAC;IACD,mBAAmB,CACjB,CAAC,EACD,IAAI,EACJ,sBAAsB,EACtB,yBAAyB,EACzB,MAAM,EACN,wGAAwG,CACzG,CAAC;AACJ,CAAC;AAED,SAAS,gBAAgB,CAAC,GAAY,EAAE,IAAY,EAAE,MAAyB;IAC7E,IAAI,CAAC,GAAG,IAAI,OAAO,GAAG,KAAK,QAAQ,EAAE,CAAC;QACpC,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,EAAE,WAAW,EAAE,GAAG,IAAI,oBAAoB,CAAC,CAAC,CAAC;QACnE,OAAO;IACT,CAAC;IACD,MAAM,CAAC,GAAG,GAAyB,CAAC;IACpC,qBAAqB,CAAC,CAAC,CAAC,EAAE,EAAE,GAAG,IAAI,KAAK,EAAE,MAAM,CAAC,CAAC;IAClD,qBAAqB,CAAC,CAAC,CAAC,IAAI,EAAE,GAAG,IAAI,OAAO,EAAE,MAAM,CAAC,CAAC;IACtD,qBAAqB,CAAC,CAAC,CAAC,OAAO,EAAE,GAAG,IAAI,UAAU,EAAE,MAAM,CAAC,CAAC;IAC5D,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,KAAK,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACpD,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,IAAI,QAAQ,EAAE,eAAe,EAAE,GAAG,IAAI,kCAAkC,CAAC,CAAC,CAAC;IAClG,CAAC;SAAM,CAAC;QACN,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,KAAK,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;YACxC,qBAAqB,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,EAAE,EAAE,GAAG,IAAI,UAAU,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;YACxE,qBAAqB,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,GAAG,IAAI,UAAU,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAC;QAC9E,CAAC;IACH,CAAC;AACH,CAAC;AAED,SAAS,gBAAgB,CAAC,GAAY,EAAE,IAAY,EAAE,MAAyB;IAC7E,IAAI,CAAC,GAAG,IAAI,OAAO,GAAG,KAAK,QAAQ,EAAE,CAAC;QACpC,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,EAAE,WAAW,EAAE,GAAG,IAAI,oBAAoB,CAAC,CAAC,CAAC;QACnE,OAAO;IACT,CAAC;IACD,MAAM,CAAC,GAAG,GAAyB,CAAC;IACpC,qBAAqB,CAAC,CAAC,CAAC,EAAE,EAAE,GAAG,IAAI,KAAK,EAAE,MAAM,CAAC,CAAC;IAClD,qBAAqB,CAAC,CAAC,CAAC,UAAU,EAAE,GAAG,IAAI,aAAa,EAAE,MAAM,CAAC,CAAC;IAClE,qBAAqB,CAAC,CAAC,CAAC,IAAI,EAAE,GAAG,IAAI,OAAO,EAAE,MAAM,CAAC,CAAC;AACxD,CAAC;AAED,SAAS,uBAAuB,CAAC,GAAY,EAAE,IAAY,EAAE,MAAyB;IACpF,IAAI,CAAC,GAAG,IAAI,OAAO,GAAG,KAAK,QAAQ,EAAE,CAAC;QACpC,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,EAAE,WAAW,EAAE,GAAG,IAAI,oBAAoB,CAAC,CAAC,CAAC;QACnE,OAAO;IACT,CAAC;IACD,MAAM,CAAC,GAAG,GAAgC,CAAC;IAC3C,IAAI,qBAAqB,CAAC,CAAC,CAAC,EAAE,EAAE,GAAG,IAAI,KAAK,EAAE,MAAM,CAAC,EAAE,CAAC;QACtD,IAAI,CAAC,mBAAmB,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC;YAC/B,MAAM,CAAC,IAAI,CACT,KAAK,CACH,GAAG,IAAI,KAAK,EACZ,cAAc,EACd,GAAG,IAAI,+FAA+F,CACvG,CACF,CAAC;QACJ,CAAC;IACH,CAAC;IACD,qBAAqB,CAAC,CAAC,CAAC,IAAI,EAAE,GAAG,IAAI,OAAO,EAAE,MAAM,CAAC,CAAC;IACtD,qBAAqB,CAAC,CAAC,CAAC,aAAa,EAAE,GAAG,IAAI,gBAAgB,EAAE,MAAM,CAAC,CAAC;IACxE,IAAI,CAAC,CAAC,UAAU,KAAK,SAAS,EAAE,CAAC;QAC/B,IAAI,CAAC,CAAC,CAAC,UAAU,IAAI,OAAO,CAAC,CAAC,UAAU,KAAK,QAAQ,IAAI,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,UAAU,CAAC,EAAE,CAAC;YACrF,MAAM,CAAC,IAAI,CACT,KAAK,CAAC,GAAG,IAAI,aAAa,EAAE,WAAW,EAAE,GAAG,IAAI,mCAAmC,CAAC,CACrF,CAAC;QACJ,CAAC;IACH,CAAC;AACH,CAAC;AAED,SAAS,kBAAkB,CACzB,IAAkB,EAClB,kBAA+B,EAC/B,MAAyB;IAEzB,MAAM,UAAU,GAAG,IAAI,CAAC,UAAU,IAAI,EAAE,CAAC;IACzC,IAAI,CAAC,UAAU,IAAI,OAAO,UAAU,KAAK,QAAQ,IAAI,KAAK,CAAC,OAAO,CAAC,UAAU,CAAC,EAAE,CAAC;QAC/E,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,YAAY,EAAE,WAAW,EAAE,8BAA8B,CAAC,CAAC,CAAC;QAC9E,OAAO;IACT,CAAC;IAED,MAAM,cAAc,GAAG,IAAI,GAAG,CAC5B,CAAC,IAAI,CAAC,gBAAgB,IAAI,EAAE,CAAC;SAC1B,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC;SACjB,MAAM,CAAC,CAAC,EAAE,EAAgB,EAAE,CAAC,OAAO,EAAE,KAAK,QAAQ,IAAI,EAAE,CAAC,MAAM,GAAG,CAAC,CAAC,CACzE,CAAC;IACF,MAAM,YAAY,GAAG,IAAI,GAAG,CAAC,CAAC,GAAG,cAAc,EAAE,GAAG,kBAAkB,CAAC,CAAC,CAAC;IACzE,MAAM,QAAQ,GAAG,IAAI,GAAG,CACtB,CAAC,IAAI,CAAC,gBAAgB,IAAI,EAAE,CAAC;SAC1B,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,IAAI,OAAO,CAAC,CAAC,EAAE,KAAK,QAAQ,CAAC;SAC5C,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAU,CAAC,CAClC,CAAC;IAEF,KAAK,MAAM,CAAC,MAAM,EAAE,KAAK,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,UAAU,CAAC,EAAE,CAAC;QACzD,IAAI,CAAC,mBAAmB,CAAC,MAAM,CAAC,EAAE,CAAC;YACjC,MAAM,CAAC,IAAI,CACT,KAAK,CACH,cAAc,MAAM,EAAE,EACtB,cAAc,EACd,mBAAmB,MAAM,iCAAiC,CAC3D,CACF,CAAC;YACF,SAAS;QACX,CAAC;QACD,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC;YAC9B,MAAM,CAAC,IAAI,CACT,KAAK,CACH,cAAc,MAAM,EAAE,EACtB,qBAAqB,EACrB,eAAe,MAAM,+DAA+D,CACrF,CACF,CAAC;QACJ,CAAC;QACD,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC;YAC1B,MAAM,CAAC,IAAI,CACT,KAAK,CAAC,cAAc,MAAM,EAAE,EAAE,WAAW,EAAE,eAAe,MAAM,qBAAqB,CAAC,CACvF,CAAC;YACF,SAAS;QACX,CAAC;QACD,gBAAgB,CAAC,KAAgC,EAAE,cAAc,MAAM,EAAE,EAAE,MAAM,CAAC,CAAC;QACnF,MAAM,IAAI,GAAG,QAAQ,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;QAClC,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,KAAK,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;YACtC,MAAM,IAAI,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC;YACtB,MAAM,IAAI,GAAG,cAAc,MAAM,IAAI,CAAC,GAAG,CAAC;YAC1C,IAAI,CAAC,IAAI,IAAI,OAAO,IAAI,KAAK,QAAQ,IAAI,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,CAAC;gBAC7D,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,EAAE,WAAW,EAAE,GAAG,IAAI,oBAAoB,CAAC,CAAC,CAAC;gBACnE,SAAS;YACX,CAAC;YACD,qBAAqB,CAAE,IAAyB,CAAC,EAAE,EAAE,GAAG,IAAI,KAAK,EAAE,MAAM,CAAC,CAAC;YAC3E,MAAM,aAAa,GAAI,IAAoC,CAAC,aAAa,CAAC;YAC1E,IAAI,IAAI,EAAE,aAAa,IAAI,aAAa,KAAK,SAAS,EAAE,CAAC;gBACvD,IAAI,aAAa,KAAK,IAAI,CAAC,aAAa,EAAE,CAAC;oBACzC,MAAM,CAAC,IAAI,CACT,KAAK,CACH,GAAG,IAAI,gBAAgB,EACvB,yBAAyB,EACzB,GAAG,IAAI,0CAA0C,IAAI,CAAC,aAAa,GAAG,CACvE,CACF,CAAC;gBACJ,CAAC;YACH,CAAC;YACD,IAAI,IAAI,EAAE,UAAU,EAAE,CAAC;gBACrB,yBAAyB,CAAC,IAAI,CAAC,UAAU,EAAE,IAAI,EAAE,IAAI,EAAE,MAAM,CAAC,CAAC;YACjE,CAAC;QACH,CAAC;IACH,CAAC;AACH,CAAC;AAED,SAAS,0BAA0B,CAAC,IAAkB,EAAE,MAAyB;IAC/E,MAAM,QAAQ,GAAG,IAAI,GAAG,CAAC,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;IACvD,MAAM,aAAa,GAAG,IAAI,GAAG,CAAC,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;IACjE,MAAM,WAAW,GAAG,IAAI,GAAG,CAAC,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;IACjE,MAAM,eAAe,GAAG,IAAI,GAAG,CAAC,IAAI,CAAC,uBAAuB,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;IAC/E,MAAM,SAAS,GAAG,IAAI,GAAG,CAAC,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;IACzD,MAAM,UAAU,GAAG,IAAI,GAAG,CAAC,CAAC,IAAI,CAAC,QAAQ,IAAI,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;IACnE,MAAM,WAAW,GAAG,IAAI,GAAG,CAAC,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;IAC7D,MAAM,OAAO,GAAG,IAAI,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;IACrD,MAAM,UAAU,GAAG,IAAI,GAAG,CAAC,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;IAE3D,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC;QAChC,MAAM,CAAC,IAAI,CACT,KAAK,CAAC,SAAS,EAAE,gBAAgB,EAAE,iBAAiB,IAAI,CAAC,OAAO,2BAA2B,CAAC,CAC7F,CAAC;IACJ,CAAC;IAED,KAAK,MAAM,KAAK,IAAI,IAAI,CAAC,MAAM,EAAE,CAAC;QAChC,IAAI,KAAK,CAAC,QAAQ,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,KAAK,CAAC,QAAQ,CAAC,EAAE,CAAC;YACpD,MAAM,CAAC,IAAI,CACT,KAAK,CACH,UAAU,KAAK,CAAC,EAAE,WAAW,EAC7B,iBAAiB,EACjB,aAAa,KAAK,CAAC,QAAQ,yBAAyB,CACrD,CACF,CAAC;QACJ,CAAC;IACH,CAAC;IAED,KAAK,MAAM,EAAE,IAAI,IAAI,CAAC,WAAW,EAAE,CAAC;QAClC,KAAK,MAAM,GAAG,IAAI,EAAE,CAAC,aAAa,IAAI,EAAE,EAAE,CAAC;YACzC,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC;gBAC1B,MAAM,CAAC,IAAI,CACT,KAAK,CACH,eAAe,EAAE,CAAC,EAAE,gBAAgB,EACpC,mBAAmB,EACnB,gBAAgB,EAAE,CAAC,EAAE,kCAAkC,GAAG,GAAG,CAC9D,CACF,CAAC;YACJ,CAAC;QACH,CAAC;IACH,CAAC;IAED,KAAK,MAAM,CAAC,IAAI,IAAI,CAAC,gBAAgB,EAAE,CAAC;QACtC,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC,CAAC,YAAY,CAAC,EAAE,CAAC;YACrC,MAAM,CAAC,IAAI,CACT,KAAK,CACH,oBAAoB,CAAC,CAAC,EAAE,eAAe,EACvC,mBAAmB,EACnB,wCAAwC,CAAC,CAAC,YAAY,GAAG,CAC1D,CACF,CAAC;QACJ,CAAC;QACD,KAAK,MAAM,EAAE,IAAI,CAAC,CAAC,mBAAmB,IAAI,EAAE,EAAE,CAAC;YAC7C,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,CAAC;gBAC3B,MAAM,CAAC,IAAI,CACT,KAAK,CACH,oBAAoB,CAAC,CAAC,EAAE,sBAAsB,EAC9C,iBAAiB,EACjB,2CAA2C,EAAE,GAAG,CACjD,CACF,CAAC;YACJ,CAAC;QACH,CAAC;QACD,KAAK,MAAM,MAAM,IAAI,CAAC,CAAC,OAAO,IAAI,EAAE,EAAE,CAAC;YACrC,IAAI,MAAM,CAAC,UAAU,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,MAAM,CAAC,UAAU,CAAC,EAAE,CAAC;gBAC/D,MAAM,CAAC,IAAI,CACT,KAAK,CACH,oBAAoB,CAAC,CAAC,EAAE,UAAU,EAClC,iBAAiB,EACjB,kDAAkD,MAAM,CAAC,UAAU,GAAG,CACvE,CACF,CAAC;YACJ,CAAC;YACD,KAAK,MAAM,IAAI,IAAI,MAAM,CAAC,UAAU,IAAI,EAAE,EAAE,CAAC;gBAC3C,IAAI,IAAI,CAAC,SAAS,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,IAAI,CAAC,SAAS,CAAC,EAAE,CAAC;oBACtD,MAAM,CAAC,IAAI,CACT,KAAK,CACH,oBAAoB,CAAC,CAAC,EAAE,YAAY,MAAM,CAAC,UAAU,IAAI,IAAI,CAAC,gBAAgB,EAAE,EAChF,kBAAkB,EAClB,gDAAgD,IAAI,CAAC,SAAS,GAAG,CAClE,CACF,CAAC;gBACJ,CAAC;gBACD,IAAI,IAAI,CAAC,OAAO,EAAE,SAAS,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC,EAAE,CAAC;oBACvE,MAAM,CAAC,IAAI,CACT,KAAK,CACH,oBAAoB,CAAC,CAAC,EAAE,YAAY,MAAM,CAAC,UAAU,IAAI,IAAI,CAAC,gBAAgB,UAAU,EACxF,kBAAkB,EAClB,oBAAoB,IAAI,CAAC,OAAO,CAAC,SAAS,WAAW,CACtD,CACF,CAAC;gBACJ,CAAC;YACH,CAAC;QACH,CAAC;IACH,CAAC;IAED,KAAK,MAAM,CAAC,IAAI,IAAI,CAAC,uBAAuB,EAAE,CAAC;QAC7C,MAAM,OAAO,GAAG,CAAC,CAAC,IAAI,EAAE,YAAY,CAAC;QACrC,MAAM,KAAK,GAAG,CAAC,CAAC,EAAE,EAAE,YAAY,CAAC;QACjC,IAAI,OAAO,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,OAAO,CAAC,EAAE,CAAC;YACzC,MAAM,CAAC,IAAI,CACT,KAAK,CACH,2BAA2B,CAAC,CAAC,EAAE,OAAO,EACtC,mBAAmB,EACnB,mCAAmC,OAAO,WAAW,CACtD,CACF,CAAC;QACJ,CAAC;QACD,IAAI,KAAK,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,CAAC;YACrC,MAAM,CAAC,IAAI,CACT,KAAK,CACH,2BAA2B,CAAC,CAAC,EAAE,KAAK,EACpC,mBAAmB,EACnB,iCAAiC,KAAK,WAAW,CAClD,CACF,CAAC;QACJ,CAAC;IACH,CAAC;IAED,KAAK,MAAM,CAAC,IAAI,IAAI,CAAC,QAAQ,EAAE,CAAC;QAC9B,IAAI,CAAC,CAAC,OAAO,KAAK,QAAQ,IAAI,CAAC,CAAC,QAAQ,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC,CAAC,QAAQ,CAAC,EAAE,CAAC;YACvE,MAAM,CAAC,IAAI,CACT,KAAK,CACH,YAAY,CAAC,CAAC,EAAE,WAAW,EAC3B,iBAAiB,EACjB,sCAAsC,CAAC,CAAC,QAAQ,GAAG,CACpD,CACF,CAAC;QACJ,CAAC;QACD,IAAI,CAAC,CAAC,OAAO,KAAK,UAAU,IAAI,CAAC,CAAC,YAAY,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC,CAAC,YAAY,CAAC,EAAE,CAAC;YACnF,MAAM,CAAC,IAAI,CACT,KAAK,CACH,YAAY,CAAC,CAAC,EAAE,eAAe,EAC/B,mBAAmB,EACnB,wCAAwC,CAAC,CAAC,YAAY,GAAG,CAC1D,CACF,CAAC;QACJ,CAAC;QACD,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,CAAC,CAAC,UAAU,CAAC,EAAE,CAAC;YACrC,MAAM,CAAC,IAAI,CACT,KAAK,CACH,YAAY,CAAC,CAAC,EAAE,aAAa,EAC7B,iBAAiB,EACjB,2CAA2C,CAAC,CAAC,UAAU,GAAG,CAC3D,CACF,CAAC;QACJ,CAAC;IACH,CAAC;IAED,KAAK,MAAM,CAAC,IAAI,IAAI,CAAC,KAAK,EAAE,CAAC;QAC3B,IAAI,CAAC,CAAC,UAAU,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,CAAC,CAAC,UAAU,CAAC,EAAE,CAAC;YACrD,MAAM,CAAC,IAAI,CACT,KAAK,CACH,SAAS,CAAC,CAAC,EAAE,aAAa,EAC1B,iBAAiB,EACjB,wCAAwC,CAAC,CAAC,UAAU,GAAG,CACxD,CACF,CAAC;QACJ,CAAC;QACD,IAAI,CAAC,CAAC,YAAY,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC,CAAC,YAAY,CAAC,EAAE,CAAC;YACvD,MAAM,CAAC,IAAI,CACT,KAAK,CACH,SAAS,CAAC,CAAC,EAAE,eAAe,EAC5B,mBAAmB,EACnB,qCAAqC,CAAC,CAAC,YAAY,GAAG,CACvD,CACF,CAAC;QACJ,CAAC;QACD,IAAI,CAAC,CAAC,wBAAwB,IAAI,CAAC,eAAe,CAAC,GAAG,CAAC,CAAC,CAAC,wBAAwB,CAAC,EAAE,CAAC;YACnF,MAAM,CAAC,IAAI,CACT,KAAK,CACH,SAAS,CAAC,CAAC,EAAE,2BAA2B,EACxC,cAAc,EACd,yCAAyC,CAAC,CAAC,wBAAwB,GAAG,CACvE,CACF,CAAC;QACJ,CAAC;QACD,IAAI,CAAC,CAAC,OAAO,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,OAAO,CAAC,EAAE,CAAC;YACzC,MAAM,CAAC,IAAI,CACT,KAAK,CACH,SAAS,CAAC,CAAC,EAAE,UAAU,EACvB,eAAe,EACf,8BAA8B,CAAC,CAAC,OAAO,GAAG,CAC3C,CACF,CAAC;QACJ,CAAC;IACH,CAAC;IAED,KAAK,MAAM,CAAC,IAAI,IAAI,CAAC,MAAM,EAAE,CAAC;QAC5B,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,CAAC,CAAC,UAAU,CAAC,EAAE,CAAC;YACrC,MAAM,CAAC,IAAI,CACT,KAAK,CACH,UAAU,CAAC,CAAC,EAAE,aAAa,EAC3B,iBAAiB,EACjB,yCAAyC,CAAC,CAAC,UAAU,GAAG,CACzD,CACF,CAAC;QACJ,CAAC;IACH,CAAC;IAED,KAAK,MAAM,CAAC,IAAI,IAAI,CAAC,SAAS,EAAE,CAAC;QAC/B,KAAK,MAAM,IAAI,IAAI,CAAC,CAAC,KAAK,EAAE,CAAC;YAC3B,IAAI,IAAI,CAAC,QAAQ,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,IAAI,CAAC,QAAQ,CAAC,EAAE,CAAC;gBACnD,MAAM,CAAC,IAAI,CACT,KAAK,CACH,aAAa,CAAC,CAAC,EAAE,UAAU,IAAI,CAAC,EAAE,WAAW,EAC7C,iBAAiB,EACjB,4CAA4C,IAAI,CAAC,QAAQ,GAAG,CAC7D,CACF,CAAC;YACJ,CAAC;YACD,IAAI,IAAI,CAAC,SAAS,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,IAAI,CAAC,SAAS,CAAC,EAAE,CAAC;gBACtD,MAAM,CAAC,IAAI,CACT,KAAK,CACH,aAAa,CAAC,CAAC,EAAE,UAAU,IAAI,CAAC,EAAE,YAAY,EAC9C,kBAAkB,EAClB,6CAA6C,IAAI,CAAC,SAAS,GAAG,CAC/D,CACF,CAAC;YACJ,CAAC;YACD,IAAI,IAAI,CAAC,SAAS,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,IAAI,CAAC,SAAS,CAAC,EAAE,CAAC;gBACtD,MAAM,CAAC,IAAI,CACT,KAAK,CACH,aAAa,CAAC,CAAC,EAAE,UAAU,IAAI,CAAC,EAAE,YAAY,EAC9C,kBAAkB,EAClB,6CAA6C,IAAI,CAAC,SAAS,GAAG,CAC/D,CACF,CAAC;YACJ,CAAC;QACH,CAAC;IACH,CAAC;IAED,KAAK,MAAM,CAAC,IAAI,IAAI,CAAC,SAAS,EAAE,CAAC;QAC/B,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC,CAAC,UAAU,CAAC,EAAE,CAAC;YACnC,MAAM,CAAC,IAAI,CACT,KAAK,CACH,aAAa,CAAC,CAAC,EAAE,aAAa,EAC9B,mBAAmB,EACnB,yCAAyC,CAAC,CAAC,UAAU,GAAG,CACzD,CACF,CAAC;QACJ,CAAC;IACH,CAAC;AACH,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,oBAAoB,CAClC,KAAc,EACd,IAAkC;IAElC,MAAM,MAAM,GAAsB,EAAE,CAAC;IAErC,IAAI,CAAC,KAAK,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE,CAAC;QACxC,OAAO,EAAE,EAAE,EAAE,KAAK,EAAE,MAAM,EAAE,CAAC,KAAK,CAAC,GAAG,EAAE,WAAW,EAAE,wBAAwB,CAAC,CAAC,EAAE,CAAC;IACpF,CAAC;IAED,MAAM,IAAI,GAAG,KAA+C,CAAC;IAE7D,IAAI,IAAI,CAAC,MAAM,KAAK,oBAAoB,EAAE,CAAC;QACzC,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,QAAQ,EAAE,aAAa,EAAE,qCAAqC,CAAC,CAAC,CAAC;IACrF,CAAC;IACD,qBAAqB,CAAC,IAAI,CAAC,OAAO,EAAE,SAAS,EAAE,MAAM,CAAC,CAAC;IAEvD,KAAK,MAAM,GAAG,IAAI,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC;QACpC,IAAI,4BAA4B,CAAC,GAAG,CAAC,IAAI,GAAG,KAAK,eAAe,IAAI,GAAG,KAAK,QAAQ,EAAE,CAAC;YACrF,MAAM,CAAC,IAAI,CACT,KAAK,CACH,GAAG,EACH,uBAAuB,EACvB,IAAI,GAAG,gEAAgE,CACxE,CACF,CAAC;QACJ,CAAC;IACH,CAAC;IAED,MAAM,MAAM,GAER;QACF,CAAC,QAAQ,EAAE,IAAI,CAAC,MAAM,EAAE,aAAa,CAAC;QACtC,CAAC,aAAa,EAAE,IAAI,CAAC,WAAW,EAAE,kBAAkB,CAAC;QACrD,CAAC,eAAe,EAAE,IAAI,CAAC,aAAa,EAAE,oBAAoB,CAAC;QAC3D,CAAC,kBAAkB,EAAE,IAAI,CAAC,gBAAgB,EAAE,eAAe,CAAC;QAC5D,CAAC,yBAAyB,EAAE,IAAI,CAAC,uBAAuB,EAAE,oBAAoB,CAAC;QAC/E,CAAC,UAAU,EAAE,IAAI,CAAC,QAAQ,EAAE,eAAe,CAAC;QAC5C,CAAC,OAAO,EAAE,IAAI,CAAC,KAAK,EAAE,YAAY,CAAC;QACnC,CAAC,QAAQ,EAAE,IAAI,CAAC,MAAM,EAAE,aAAa,CAAC;QACtC,CAAC,SAAS,EAAE,IAAI,CAAC,OAAO,EAAE,cAAc,CAAC;QACzC,CAAC,UAAU,EAAE,IAAI,CAAC,QAAQ,EAAE,eAAe,CAAC;QAC5C,CAAC,WAAW,EAAE,IAAI,CAAC,SAAS,EAAE,gBAAgB,CAAC;QAC/C,CAAC,WAAW,EAAE,IAAI,CAAC,SAAS,EAAE,gBAAgB,CAAC;QAC/C,CAAC,kBAAkB,EAAE,IAAI,CAAC,gBAAgB,IAAI,EAAE,EAAE,uBAAuB,CAAC;KAC3E,CAAC;IAEF,KAAK,MAAM,CAAC,IAAI,EAAE,KAAK,EAAE,SAAS,CAAC,IAAI,MAAM,EAAE,CAAC;QAC9C,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC;YAC1B,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,EAAE,WAAW,EAAE,GAAG,IAAI,mBAAmB,CAAC,CAAC,CAAC;YAClE,SAAS;QACX,CAAC;QACD,gBAAgB,CAAC,KAAgC,EAAE,IAAI,EAAE,MAAM,CAAC,CAAC;QACjE,KAAK,CAAC,OAAO,CAAC,CAAC,IAAI,EAAE,CAAC,EAAE,EAAE,CAAC,SAAS,CAAC,IAAI,EAAE,GAAG,IAAI,IAAI,CAAC,GAAG,EAAE,MAAM,CAAC,CAAC,CAAC;IACvE,CAAC;IAED,0DAA0D;IAC1D,IAAI,IAAI,CAAC,UAAU,KAAK,SAAS,EAAE,CAAC;QAClC,2DAA2D;IAC7D,CAAC;IACD,IAAI,IAAI,CAAC,gBAAgB,KAAK,SAAS,EAAE,CAAC;QACxC,4BAA4B;IAC9B,CAAC;IAED,MAAM,KAAK,GAAG,IAAI,GAAG,CACnB,CAAC,GAAG,CAAC,IAAI,EAAE,kBAAkB,IAAI,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,OAAO,EAAE,KAAK,QAAQ,CAAC,CAC7E,CAAC;IACF,MAAM,UAAU,GAAiB;QAC/B,GAAI,IAAqB;QACzB,gBAAgB,EAAE,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,gBAAgB,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,gBAAgB,CAAC,CAAC,CAAC,EAAE;QACnF,UAAU,EACR,IAAI,CAAC,UAAU,IAAI,OAAO,IAAI,CAAC,UAAU,KAAK,QAAQ,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,UAAU,CAAC;YACvF,CAAC,CAAE,IAAI,CAAC,UAAyC;YACjD,CAAC,CAAC,EAAE;KACT,CAAC;IACF,kFAAkF;IAClF,IAAI,IAAI,CAAC,UAAU,KAAK,SAAS,IAAI,CAAC,OAAO,IAAI,CAAC,UAAU,KAAK,QAAQ,IAAI,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,EAAE,CAAC;QAC7G,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,YAAY,EAAE,WAAW,EAAE,8BAA8B,CAAC,CAAC,CAAC;IAChF,CAAC;SAAM,CAAC;QACN,kBAAkB,CAAC,UAAU,EAAE,KAAK,EAAE,MAAM,CAAC,CAAC;IAChD,CAAC;IAED,KAAK,MAAM,MAAM,IAAI,iBAAiB,EAAE,CAAC;QACvC,KAAK,MAAM,CAAC;IACd,CAAC;IAED,IAAI,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,WAAW,CAAC,IAAI,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,QAAQ,CAAC,EAAE,CAAC;QAClG,0BAA0B,CAAC,IAAoB,EAAE,MAAM,CAAC,CAAC;IAC3D,CAAC;IAED,OAAO,EAAE,EAAE,EAAE,MAAM,CAAC,MAAM,KAAK,CAAC,EAAE,MAAM,EAAE,CAAC;AAC7C,CAAC;AAED,MAAM,UAAU,uBAAuB,CAAC,KAAc;IACpD,MAAM,MAAM,GAAG,oBAAoB,CAAC,KAAK,CAAC,CAAC;IAC3C,IAAI,CAAC,MAAM,CAAC,EAAE,EAAE,CAAC;QACf,MAAM,GAAG,GAAG,MAAM,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,GAAG,CAAC,CAAC,IAAI,IAAI,CAAC,CAAC,IAAI,KAAK,CAAC,CAAC,OAAO,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACrF,MAAM,IAAI,KAAK,CAAC,2BAA2B,GAAG,EAAE,CAAC,CAAC;IACpD,CAAC;AACH,CAAC"}
1
+ {"version":3,"file":"validate.js","sourceRoot":"","sources":["../src/validate.ts"],"names":[],"mappings":"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"}
@@ -1,10 +1,10 @@
1
1
  {
2
2
  "format": "memorix-metadata/1",
3
- "agentId": "ops",
3
+ "agentId": "opx",
4
4
  "version": "0.1.0-custom-kinds-example",
5
5
  "agents": [
6
6
  {
7
- "id": "ops",
7
+ "id": "opx",
8
8
  "name": "Operations",
9
9
  "parentId": null
10
10
  }