@party-stack/ontology 0.14.0 → 0.15.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 (68) hide show
  1. package/lib/examples/blog.d.ts +29 -24
  2. package/lib/examples/blog.d.ts.map +1 -1
  3. package/lib/examples/blog.js +16 -9
  4. package/lib/examples/blog.js.map +1 -1
  5. package/lib/generate/ontology.test.js +9 -3
  6. package/lib/generate/ontology.test.js.map +1 -1
  7. package/lib/generate/types.test.js +3 -3
  8. package/lib/generate/types.test.js.map +1 -1
  9. package/lib/infer.test.js +1 -1
  10. package/lib/infer.test.js.map +1 -1
  11. package/lib/ir/generated/builders.d.ts +92 -36
  12. package/lib/ir/generated/builders.d.ts.map +1 -1
  13. package/lib/ir/generated/builders.js +25 -8
  14. package/lib/ir/generated/builders.js.map +1 -1
  15. package/lib/ir/generated/types.d.ts +50 -15
  16. package/lib/ir/generated/types.d.ts.map +1 -1
  17. package/lib/ir/schema.d.ts +196 -32
  18. package/lib/ir/schema.d.ts.map +1 -1
  19. package/lib/ir/schema.js +162 -24
  20. package/lib/ir/schema.js.map +1 -1
  21. package/lib/ir/validate.d.ts.map +1 -1
  22. package/lib/ir/validate.js +236 -84
  23. package/lib/ir/validate.js.map +1 -1
  24. package/lib/ir/validate.test.js +218 -19
  25. package/lib/ir/validate.test.js.map +1 -1
  26. package/lib/lenses.d.ts.map +1 -1
  27. package/lib/lenses.js +6 -7
  28. package/lib/lenses.js.map +1 -1
  29. package/lib/live/expression.d.ts +6 -4
  30. package/lib/live/expression.d.ts.map +1 -1
  31. package/lib/live/expression.js +183 -42
  32. package/lib/live/expression.js.map +1 -1
  33. package/lib/live/expression.test.js +194 -7
  34. package/lib/live/expression.test.js.map +1 -1
  35. package/lib/live/mutators/OntologyEdits.d.ts.map +1 -1
  36. package/lib/live/mutators/OntologyEdits.js +5 -5
  37. package/lib/live/mutators/OntologyEdits.js.map +1 -1
  38. package/lib/live/mutators/createMutatorTx.d.ts.map +1 -1
  39. package/lib/live/mutators/createMutatorTx.js +13 -3
  40. package/lib/live/mutators/createMutatorTx.js.map +1 -1
  41. package/lib/live/mutators/createMutatorTx.test.js +95 -2
  42. package/lib/live/mutators/createMutatorTx.test.js.map +1 -1
  43. package/lib/meta/generated/live.d.ts +1 -2
  44. package/lib/meta/generated/live.d.ts.map +1 -1
  45. package/lib/meta/generated/live.js.map +1 -1
  46. package/lib/meta/generated/types.d.ts +50 -15
  47. package/lib/meta/generated/types.d.ts.map +1 -1
  48. package/lib/utils/index.d.ts +2 -0
  49. package/lib/utils/index.d.ts.map +1 -1
  50. package/lib/utils/index.js +2 -0
  51. package/lib/utils/index.js.map +1 -1
  52. package/lib/utils/links.d.ts +47 -0
  53. package/lib/utils/links.d.ts.map +1 -0
  54. package/lib/utils/links.js +20 -0
  55. package/lib/utils/links.js.map +1 -0
  56. package/lib/utils/links.test.d.ts +2 -0
  57. package/lib/utils/links.test.d.ts.map +1 -0
  58. package/lib/utils/links.test.js +109 -0
  59. package/lib/utils/links.test.js.map +1 -0
  60. package/lib/utils/paths.d.ts +4 -0
  61. package/lib/utils/paths.d.ts.map +1 -0
  62. package/lib/utils/paths.js +54 -0
  63. package/lib/utils/paths.js.map +1 -0
  64. package/lib/utils/paths.test.d.ts +2 -0
  65. package/lib/utils/paths.test.d.ts.map +1 -0
  66. package/lib/utils/paths.test.js +33 -0
  67. package/lib/utils/paths.test.js.map +1 -0
  68. package/package.json +1 -3
@@ -225,6 +225,51 @@ describe("Ontology Validation", () => {
225
225
  expectErr(result, 1);
226
226
  expect(getErrors(result)).toContain('Target object type "NonExistent" does not exist.');
227
227
  });
228
+ it("should reject a foreign key that exists only on the target", () => {
229
+ const ontology = {
230
+ ...emptyOntology,
231
+ objectTypes: [
232
+ minimalObjectType({
233
+ name: "Project",
234
+ }),
235
+ minimalObjectType({
236
+ name: "Issue",
237
+ properties: [
238
+ {
239
+ name: "employeeId",
240
+ displayName: "Employee ID",
241
+ type: o.string({}),
242
+ },
243
+ {
244
+ name: "projectId",
245
+ displayName: "Project ID",
246
+ type: o.string({}),
247
+ },
248
+ ],
249
+ }),
250
+ ],
251
+ linkTypes: [
252
+ {
253
+ id: "projectIssues",
254
+ source: {
255
+ objectType: "Project",
256
+ name: "project",
257
+ displayName: "Project",
258
+ },
259
+ target: {
260
+ objectType: "Issue",
261
+ name: "issues",
262
+ displayName: "Issues",
263
+ },
264
+ foreignKey: "projectId",
265
+ cardinality: "many",
266
+ },
267
+ ],
268
+ };
269
+ const result = validate(ontology);
270
+ expectErr(result, 1);
271
+ expect(getErrors(result)).toContain('Foreign key "projectId" does not exist on source object type "Project" for link "projectIssues".');
272
+ });
228
273
  it("should validate links with valid object type references", () => {
229
274
  const ontology = {
230
275
  ...emptyOntology,
@@ -484,13 +529,13 @@ describe("Ontology Validation", () => {
484
529
  name: "__taskId",
485
530
  displayName: "Task ID",
486
531
  type: o.optional({ type: o.string({}) }),
487
- defaultValue: o.Expression.functionCall(o.FunctionCallExpression.uuid({})),
532
+ defaultValue: o.Expression.uuid({}),
488
533
  },
489
534
  {
490
535
  name: "__now",
491
536
  displayName: "Now",
492
537
  type: o.optional({ type: o.timestamp({}) }),
493
- defaultValue: o.Expression.functionCall(o.FunctionCallExpression.now({})),
538
+ defaultValue: o.Expression.now({}),
494
539
  },
495
540
  ],
496
541
  logic: [
@@ -499,20 +544,20 @@ describe("Ontology Validation", () => {
499
544
  values: [
500
545
  {
501
546
  property: ["taskId"],
502
- value: o.Expression.valueReference({
503
- path: ["__taskId"],
547
+ value: o.Expression.inputReference({
548
+ name: "__taskId",
504
549
  }),
505
550
  },
506
551
  {
507
552
  property: ["title"],
508
- value: o.Expression.valueReference({
509
- path: ["title"],
553
+ value: o.Expression.inputReference({
554
+ name: "title",
510
555
  }),
511
556
  },
512
557
  {
513
558
  property: ["updatedAt"],
514
- value: o.Expression.valueReference({
515
- path: ["__now"],
559
+ value: o.Expression.inputReference({
560
+ name: "__now",
516
561
  }),
517
562
  },
518
563
  ],
@@ -541,8 +586,13 @@ describe("Ontology Validation", () => {
541
586
  name: "name",
542
587
  displayName: "Name",
543
588
  type: o.string({}),
544
- defaultValue: o.Expression.valueReference({
545
- path: ["employee", "name"],
589
+ defaultValue: o.Expression.getAt({
590
+ source: o.Expression.objectLookup({
591
+ reference: o.Expression.inputReference({
592
+ name: "employee",
593
+ }),
594
+ }),
595
+ path: ["name"],
546
596
  }),
547
597
  },
548
598
  ],
@@ -570,8 +620,13 @@ describe("Ontology Validation", () => {
570
620
  name: "count",
571
621
  displayName: "Count",
572
622
  type: o.integer({}),
573
- defaultValue: o.Expression.valueReference({
574
- path: ["employee", "name"],
623
+ defaultValue: o.Expression.getAt({
624
+ source: o.Expression.objectLookup({
625
+ reference: o.Expression.inputReference({
626
+ name: "employee",
627
+ }),
628
+ }),
629
+ path: ["name"],
575
630
  }),
576
631
  },
577
632
  ],
@@ -599,7 +654,7 @@ describe("Ontology Validation", () => {
599
654
  logic: [
600
655
  o.ActionLogicStep.updateObject({
601
656
  object: {
602
- path: ["employee", "name"],
657
+ name: "missing",
603
658
  },
604
659
  values: [],
605
660
  }),
@@ -609,7 +664,151 @@ describe("Ontology Validation", () => {
609
664
  };
610
665
  const result = validate(ontology);
611
666
  expectErr(result, 1);
612
- expect(getErrors(result)).toContain("Action targets must point directly to an object reference parameter.");
667
+ expect(getErrors(result)).toContain('Unknown action parameter: "missing".');
668
+ });
669
+ it("validates map expressions with scoped element references", () => {
670
+ const entryType = o.struct({
671
+ fields: [
672
+ {
673
+ name: "code",
674
+ displayName: "Code",
675
+ type: o.string({}),
676
+ },
677
+ ],
678
+ });
679
+ const ontology = {
680
+ ...emptyOntology,
681
+ objectTypes: [
682
+ {
683
+ name: "Record",
684
+ displayName: "Record",
685
+ pluralDisplayName: "Records",
686
+ primaryKey: "id",
687
+ properties: [
688
+ {
689
+ name: "id",
690
+ displayName: "ID",
691
+ type: o.string({}),
692
+ },
693
+ {
694
+ name: "entries",
695
+ displayName: "Entries",
696
+ type: o.list({
697
+ elementType: o.struct({
698
+ fields: [
699
+ {
700
+ name: "renamedCode",
701
+ displayName: "Renamed code",
702
+ type: o.string({}),
703
+ },
704
+ ],
705
+ }),
706
+ }),
707
+ },
708
+ ],
709
+ },
710
+ ],
711
+ actionTypes: [
712
+ {
713
+ name: "createRecord",
714
+ displayName: "Create record",
715
+ parameters: [
716
+ {
717
+ name: "entries",
718
+ displayName: "Entries",
719
+ type: o.list({
720
+ elementType: entryType,
721
+ }),
722
+ },
723
+ ],
724
+ logic: [
725
+ o.ActionLogicStep.createObject({
726
+ objectType: "Record",
727
+ values: [
728
+ {
729
+ property: ["entries"],
730
+ value: o.Expression.map({
731
+ source: o.Expression.inputReference({
732
+ name: "entries",
733
+ }),
734
+ binding: "entry",
735
+ body: o.Expression.struct({
736
+ fields: [
737
+ {
738
+ name: "renamedCode",
739
+ value: o.Expression.getAt({
740
+ source: o.Expression.localReference({
741
+ name: "entry",
742
+ }),
743
+ path: ["code"],
744
+ }),
745
+ },
746
+ ],
747
+ }),
748
+ }),
749
+ },
750
+ ],
751
+ }),
752
+ ],
753
+ },
754
+ ],
755
+ };
756
+ expectOk(validate(ontology));
757
+ });
758
+ it("rejects invalid map sources and local references", () => {
759
+ const ontology = {
760
+ ...emptyOntology,
761
+ objectTypes: [
762
+ {
763
+ name: "Record",
764
+ displayName: "Record",
765
+ pluralDisplayName: "Records",
766
+ primaryKey: "id",
767
+ properties: [
768
+ {
769
+ name: "id",
770
+ displayName: "ID",
771
+ type: o.string({}),
772
+ },
773
+ ],
774
+ },
775
+ ],
776
+ actionTypes: [
777
+ {
778
+ name: "createRecord",
779
+ displayName: "Create record",
780
+ parameters: [
781
+ {
782
+ name: "title",
783
+ displayName: "Title",
784
+ type: o.string({}),
785
+ },
786
+ ],
787
+ logic: [
788
+ o.ActionLogicStep.createObject({
789
+ objectType: "Record",
790
+ values: [
791
+ {
792
+ property: ["id"],
793
+ value: o.Expression.map({
794
+ source: o.Expression.inputReference({
795
+ name: "title",
796
+ }),
797
+ binding: "entry",
798
+ body: o.Expression.localReference({
799
+ name: "missing",
800
+ }),
801
+ }),
802
+ },
803
+ ],
804
+ }),
805
+ ],
806
+ },
807
+ ],
808
+ };
809
+ const errors = getErrors(validate(ontology));
810
+ expect(errors).toContain("Map expression source must resolve to a list.");
811
+ expect(errors).toContain('Unknown expression binding: "missing".');
613
812
  });
614
813
  });
615
814
  describe("Literal Expression", () => {
@@ -637,7 +836,7 @@ describe("Ontology Validation", () => {
637
836
  name: "taskId",
638
837
  displayName: "Task ID",
639
838
  type: o.string({}),
640
- defaultValue: o.Expression.functionCall(o.FunctionCallExpression.uuid({})),
839
+ defaultValue: o.Expression.uuid({}),
641
840
  },
642
841
  {
643
842
  name: "status",
@@ -652,11 +851,11 @@ describe("Ontology Validation", () => {
652
851
  values: [
653
852
  {
654
853
  property: ["taskId"],
655
- value: o.Expression.valueReference({ path: ["taskId"] }),
854
+ value: o.Expression.inputReference({ name: "taskId" }),
656
855
  },
657
856
  {
658
857
  property: ["status"],
659
- value: o.Expression.valueReference({ path: ["status"] }),
858
+ value: o.Expression.inputReference({ name: "status" }),
660
859
  },
661
860
  ],
662
861
  }),
@@ -698,7 +897,7 @@ describe("Ontology Validation", () => {
698
897
  values: [
699
898
  {
700
899
  property: ["taskId"],
701
- value: o.Expression.valueReference({ path: ["taskId"] }),
900
+ value: o.Expression.inputReference({ name: "taskId" }),
702
901
  },
703
902
  {
704
903
  property: ["status"],
@@ -768,7 +967,7 @@ describe("Ontology Validation", () => {
768
967
  {
769
968
  property: ["createdBy"],
770
969
  value: o.Expression.contextReference({
771
- path: ["user"],
970
+ name: "user",
772
971
  }),
773
972
  },
774
973
  ],
@@ -1 +1 @@
1
- {"version":3,"file":"validate.test.js","sourceRoot":"","sources":["../../src/ir/validate.test.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"validate.test.js","sourceRoot":"","sources":["../../src/ir/validate.test.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"lenses.d.ts","sourceRoot":"","sources":["../src/lenses.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAY,IAAI,EAAE,aAAa,EAAwB,MAAM,eAAe,CAAC;AAEzF,MAAM,WAAW,0BAA0B;IACvC,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,iBAAiB,CAAC,EAAE,MAAM,CAAC;CAC9B;AAgDD,wBAAgB,qBAAqB,CACjC,MAAM,EAAE,aAAa,EACrB,IAAI,EAAE,IAAI,EACV,OAAO,EAAE,0BAA0B,GACpC,aAAa,CAsCf;AAmBD,wBAAgB,iBAAiB,CAC7B,MAAM,SAAS,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EACtC,MAAM,SAAS,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EACxC,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,IAAI,GAAG,MAAM,CAoBpC;AAED;;;;;;;GAOG;AACH,wBAAgB,6BAA6B,CAAC,IAAI,EAAE,SAAS,MAAM,EAAE,EAAE,IAAI,EAAE,IAAI,GAAG,MAAM,EAAE,CAsB3F"}
1
+ {"version":3,"file":"lenses.d.ts","sourceRoot":"","sources":["../src/lenses.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAY,IAAI,EAAE,aAAa,EAAwB,MAAM,eAAe,CAAC;AAEzF,MAAM,WAAW,0BAA0B;IACvC,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,iBAAiB,CAAC,EAAE,MAAM,CAAC;CAC9B;AAgDD,wBAAgB,qBAAqB,CACjC,MAAM,EAAE,aAAa,EACrB,IAAI,EAAE,IAAI,EACV,OAAO,EAAE,0BAA0B,GACpC,aAAa,CAmCf;AAiBD,wBAAgB,iBAAiB,CAC7B,MAAM,SAAS,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EACtC,MAAM,SAAS,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EACxC,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,IAAI,GAAG,MAAM,CAoBpC;AAED;;;;;;;GAOG;AACH,wBAAgB,6BAA6B,CAAC,IAAI,EAAE,SAAS,MAAM,EAAE,EAAE,IAAI,EAAE,IAAI,GAAG,MAAM,EAAE,CAsB3F"}
package/lib/lenses.js CHANGED
@@ -1,5 +1,5 @@
1
1
  import { capitalCase } from "change-case";
2
- import { get, set, unset } from "lodash-es";
2
+ import { getAtPath, setAtPath, unsetAtPath } from "./utils/paths.js";
3
3
  function structFields(type) {
4
4
  if (type.kind === "struct")
5
5
  return type.value.fields;
@@ -55,8 +55,7 @@ export function applyLensToObjectType(source, lens, options) {
55
55
  case "move": {
56
56
  const field = removeField(target.properties, operation.value.from);
57
57
  insertField(target.properties, operation.value.to, field);
58
- if (operation.value.from.length === 1 &&
59
- operation.value.from[0] === target.primaryKey) {
58
+ if (operation.value.from.length === 1 && operation.value.from[0] === target.primaryKey) {
60
59
  if (operation.value.to.length !== 1) {
61
60
  throw new Error("An object primary key cannot be moved into a nested path.");
62
61
  }
@@ -94,13 +93,13 @@ function cloneLensValue(value) {
94
93
  return value;
95
94
  }
96
95
  export function applyLensToObject(source, lens) {
97
- const target = cloneLensValue(source);
96
+ let target = cloneLensValue(source);
98
97
  for (const operation of lens.operations) {
99
98
  switch (operation.kind) {
100
99
  case "move": {
101
- const value = get(target, operation.value.from);
102
- unset(target, operation.value.from);
103
- set(target, operation.value.to, value);
100
+ const value = getAtPath(target, operation.value.from);
101
+ target = unsetAtPath(target, operation.value.from);
102
+ target = setAtPath(target, operation.value.to, value);
104
103
  break;
105
104
  }
106
105
  case "select": {
package/lib/lenses.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"lenses.js","sourceRoot":"","sources":["../src/lenses.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"lenses.js","sourceRoot":"","sources":["../src/lenses.ts"],"names":[],"mappings":"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"}
@@ -1,13 +1,14 @@
1
1
  import type { OntologyReadTx } from "./mutators/types.js";
2
- import type { Expression, ObjectTypeDef, OntologyIR, ValueReferenceExpression } from "../ir/index.js";
3
- export declare function evaluateExpression(options: {
2
+ import type { Expression, ObjectTypeDef, OntologyIR, InputReferenceExpression } from "../ir/index.js";
3
+ interface EvaluateExpressionOptions {
4
4
  ir: OntologyIR;
5
5
  actionTypeName: string;
6
6
  expression: Expression;
7
7
  resolveParameter: (parameterName: string) => Promise<unknown>;
8
8
  context: Record<string, unknown>;
9
9
  tx: OntologyReadTx;
10
- }): Promise<unknown>;
10
+ }
11
+ export declare function evaluateExpression(options: EvaluateExpressionOptions): Promise<unknown>;
11
12
  export declare function resolveActionParameters(options: {
12
13
  ir: OntologyIR;
13
14
  actionTypeName: string;
@@ -15,5 +16,6 @@ export declare function resolveActionParameters(options: {
15
16
  context: Record<string, unknown>;
16
17
  tx: OntologyReadTx;
17
18
  }): Promise<Record<string, unknown>>;
18
- export declare function getObjectReferenceObjectType(ir: OntologyIR, actionTypeName: string, reference: ValueReferenceExpression): ObjectTypeDef;
19
+ export declare function getObjectReferenceObjectType(ir: OntologyIR, actionTypeName: string, reference: InputReferenceExpression): ObjectTypeDef;
20
+ export {};
19
21
  //# sourceMappingURL=expression.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"expression.d.ts","sourceRoot":"","sources":["../../src/live/expression.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAC;AAE1D,OAAO,KAAK,EACR,UAAU,EACV,aAAa,EACb,UAAU,EAEV,wBAAwB,EAC3B,MAAM,gBAAgB,CAAC;AAWxB,wBAAsB,kBAAkB,CAAC,OAAO,EAAE;IAC9C,EAAE,EAAE,UAAU,CAAC;IACf,cAAc,EAAE,MAAM,CAAC;IACvB,UAAU,EAAE,UAAU,CAAC;IACvB,gBAAgB,EAAE,CACd,aAAa,EAAE,MAAM,KACpB,OAAO,CAAC,OAAO,CAAC,CAAC;IACtB,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IACjC,EAAE,EAAE,cAAc,CAAC;CACtB,GAAG,OAAO,CAAC,OAAO,CAAC,CAgFnB;AAED,wBAAsB,uBAAuB,CAAC,OAAO,EAAE;IACnD,EAAE,EAAE,UAAU,CAAC;IACf,cAAc,EAAE,MAAM,CAAC;IACvB,iBAAiB,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAC3C,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IACjC,EAAE,EAAE,cAAc,CAAC;CACtB,GAAG,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,CAmDnC;AAED,wBAAgB,4BAA4B,CACxC,EAAE,EAAE,UAAU,EACd,cAAc,EAAE,MAAM,EACtB,SAAS,EAAE,wBAAwB,GACpC,aAAa,CAaf"}
1
+ {"version":3,"file":"expression.d.ts","sourceRoot":"","sources":["../../src/live/expression.ts"],"names":[],"mappings":"AAQA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAC;AAE1D,OAAO,KAAK,EACR,UAAU,EACV,aAAa,EACb,UAAU,EAEV,wBAAwB,EAC3B,MAAM,gBAAgB,CAAC;AAMxB,UAAU,yBAAyB;IAC/B,EAAE,EAAE,UAAU,CAAC;IACf,cAAc,EAAE,MAAM,CAAC;IACvB,UAAU,EAAE,UAAU,CAAC;IACvB,gBAAgB,EAAE,CAAC,aAAa,EAAE,MAAM,KAAK,OAAO,CAAC,OAAO,CAAC,CAAC;IAC9D,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IACjC,EAAE,EAAE,cAAc,CAAC;CACtB;AAyDD,wBAAsB,kBAAkB,CAAC,OAAO,EAAE,yBAAyB,GAAG,OAAO,CAAC,OAAO,CAAC,CAI7F;AAmPD,wBAAsB,uBAAuB,CAAC,OAAO,EAAE;IACnD,EAAE,EAAE,UAAU,CAAC;IACf,cAAc,EAAE,MAAM,CAAC;IACvB,iBAAiB,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAC3C,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IACjC,EAAE,EAAE,cAAc,CAAC;CACtB,GAAG,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,CAsCnC;AAED,wBAAgB,4BAA4B,CACxC,EAAE,EAAE,UAAU,EACd,cAAc,EAAE,MAAM,EACtB,SAAS,EAAE,wBAAwB,GACpC,aAAa,CAUf"}