adminforth 3.19.0 → 3.20.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.
@@ -17,7 +17,39 @@ export default class AdminForthBaseConnector implements IAdminForthDataSourceCon
17
17
  setupClient(url: string, options?: {
18
18
  recovery?: boolean;
19
19
  }): Promise<void>;
20
+ /**
21
+ * Set to true in connector which is able to update/delete records of resources with composite primary key
22
+ * (i.e. which uses pkValues argument of updateRecordOriginalValues/deleteRecord instead of getPrimaryKey()).
23
+ */
24
+ supportsCompositePrimaryKey: boolean;
25
+ /**
26
+ * Returns name of first primary key column.
27
+ * For resources with composite primary key use {@link getPrimaryKeys} instead.
28
+ */
20
29
  getPrimaryKey(resource: AdminForthResource): string;
30
+ /**
31
+ * Returns names of all primary key columns (more then one for resources with composite primary key)
32
+ */
33
+ getPrimaryKeys(resource: AdminForthResource): string[];
34
+ /**
35
+ * Splits recordId into values of primary key columns, casted to types which data source understands.
36
+ * For resource with single primary key returns object with one key.
37
+ */
38
+ getPrimaryKeyValues(resource: AdminForthResource, recordId: any): Record<string, any>;
39
+ /**
40
+ * Parts of composite record id always come as strings (they are parsed out of url or API payload),
41
+ * so cast them to JS types which validateAndSetFieldValue expects for the column type.
42
+ */
43
+ castRecordIdPart(column: AdminForthResourceColumn, value: any): any;
44
+ /**
45
+ * Filter which excludes record with given composite primary key:
46
+ * record differs from given one if at least one of primary key columns differs.
47
+ */
48
+ compositeOtherRecordFilter(resource: AdminForthResource, record: any): AdminForthFilterNode;
49
+ /**
50
+ * Builds filters which select exactly one record by recordId
51
+ */
52
+ getPrimaryKeyFilters(resource: AdminForthResource, recordId: any): IAdminForthSingleFilter[];
21
53
  getRecordByPrimaryKeyWithOriginalTypes(resource: AdminForthResource, id: string): Promise<any>;
22
54
  cloneFilterNode(filter: AdminForthFilterNode): AdminForthFilterNode;
23
55
  validateAndNormalizeInputFilters(filter: IAdminForthSingleFilter | IAdminForthAndOrFilter | Array<IAdminForthSingleFilter | IAdminForthAndOrFilter> | undefined): IAdminForthAndOrFilter;
@@ -88,10 +120,11 @@ export default class AdminForthBaseConnector implements IAdminForthDataSourceCon
88
120
  ok: boolean;
89
121
  createdRecord?: any;
90
122
  }>;
91
- updateRecordOriginalValues({ resource, recordId, newValues }: {
123
+ updateRecordOriginalValues({ resource, recordId, newValues, pkValues }: {
92
124
  resource: AdminForthResource;
93
125
  recordId: string;
94
126
  newValues: any;
127
+ pkValues?: Record<string, any>;
95
128
  }): Promise<void>;
96
129
  updateRecord({ resource, recordId, newValues }: {
97
130
  resource: AdminForthResource;
@@ -101,10 +134,15 @@ export default class AdminForthBaseConnector implements IAdminForthDataSourceCon
101
134
  error?: string;
102
135
  ok: boolean;
103
136
  }>;
104
- deleteRecord({ resource, recordId }: {
137
+ deleteRecord({ resource, recordId, pkValues }: {
105
138
  resource: AdminForthResource;
106
139
  recordId: string;
140
+ pkValues?: Record<string, any>;
107
141
  }): Promise<boolean>;
142
+ /**
143
+ * Throws readable error if resource uses composite primary key but connector can't handle it
144
+ */
145
+ assertCompositePrimaryKeySupported(resource: AdminForthResource): void;
108
146
  getData({ resource, limit, offset, sort, filters, getTotals, columns }: {
109
147
  resource: AdminForthResource;
110
148
  limit: number;
@@ -1 +1 @@
1
- {"version":3,"file":"baseConnector.d.ts","sourceRoot":"","sources":["../../dataConnectors/baseConnector.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"baseConnector.d.ts","sourceRoot":"","sources":["../../dataConnectors/baseConnector.ts"],"names":[],"mappings":"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"}
@@ -1,4 +1,5 @@
1
1
  import { suggestIfTypo } from "../modules/utils.js";
2
+ import { decodeRecordId, encodeRecordId, isCompositePrimaryKey, primaryKeyColumnNames, primaryKeyColumns } from "../modules/recordId.js";
2
3
  import { interpretResource } from "../modules/restApi.js";
3
4
  import { ActionCheckSource, AdminForthDataTypes, AdminForthFilterOperators, AllowedActionsEnum } from "../types/Common.js";
4
5
  import { randomUUID } from "crypto";
@@ -25,6 +26,13 @@ async function publishShowPageUpdate(resource, recordId, updates) {
25
26
  });
26
27
  }
27
28
  export default class AdminForthBaseConnector {
29
+ constructor() {
30
+ /**
31
+ * Set to true in connector which is able to update/delete records of resources with composite primary key
32
+ * (i.e. which uses pkValues argument of updateRecordOriginalValues/deleteRecord instead of getPrimaryKey()).
33
+ */
34
+ this.supportsCompositePrimaryKey = false;
35
+ }
28
36
  /**
29
37
  * @deprecated Since 1.2.9. Will be removed in 4.0.0. Use .client instead.
30
38
  */
@@ -35,6 +43,10 @@ export default class AdminForthBaseConnector {
35
43
  setupClient(url, options) {
36
44
  throw new Error('Method not implemented.');
37
45
  }
46
+ /**
47
+ * Returns name of first primary key column.
48
+ * For resources with composite primary key use {@link getPrimaryKeys} instead.
49
+ */
38
50
  getPrimaryKey(resource) {
39
51
  for (const col of resource.dataSourceColumns) {
40
52
  if (col.primaryKey) {
@@ -42,13 +54,76 @@ export default class AdminForthBaseConnector {
42
54
  }
43
55
  }
44
56
  }
57
+ /**
58
+ * Returns names of all primary key columns (more then one for resources with composite primary key)
59
+ */
60
+ getPrimaryKeys(resource) {
61
+ return primaryKeyColumnNames(resource);
62
+ }
63
+ /**
64
+ * Splits recordId into values of primary key columns, casted to types which data source understands.
65
+ * For resource with single primary key returns object with one key.
66
+ */
67
+ getPrimaryKeyValues(resource, recordId) {
68
+ const rawValues = decodeRecordId(resource, recordId);
69
+ return primaryKeyColumns(resource).reduce((acc, col) => {
70
+ acc[col.name] = this.validateAndSetFieldValue(col, this.castRecordIdPart(col, rawValues[col.name]));
71
+ return acc;
72
+ }, {});
73
+ }
74
+ /**
75
+ * Parts of composite record id always come as strings (they are parsed out of url or API payload),
76
+ * so cast them to JS types which validateAndSetFieldValue expects for the column type.
77
+ */
78
+ castRecordIdPart(column, value) {
79
+ if (typeof value !== 'string') {
80
+ return value;
81
+ }
82
+ if (column.type === AdminForthDataTypes.INTEGER ||
83
+ column.type === AdminForthDataTypes.FLOAT ||
84
+ column.type === AdminForthDataTypes.DECIMAL) {
85
+ const num = Number(value);
86
+ if (!Number.isFinite(num)) {
87
+ throw new Error(`Part '${value}' of record id is not a valid ${column.type} value for primary key column '${column.name}'`);
88
+ }
89
+ return num;
90
+ }
91
+ return value;
92
+ }
93
+ /**
94
+ * Filter which excludes record with given composite primary key:
95
+ * record differs from given one if at least one of primary key columns differs.
96
+ */
97
+ compositeOtherRecordFilter(resource, record) {
98
+ return {
99
+ operator: AdminForthFilterOperators.OR,
100
+ subFilters: this.getPrimaryKeys(resource).map((primaryKeyField) => ({
101
+ field: primaryKeyField,
102
+ operator: AdminForthFilterOperators.NE,
103
+ value: record[primaryKeyField],
104
+ })),
105
+ };
106
+ }
107
+ /**
108
+ * Builds filters which select exactly one record by recordId
109
+ */
110
+ getPrimaryKeyFilters(resource, recordId) {
111
+ const rawValues = decodeRecordId(resource, recordId);
112
+ return primaryKeyColumnNames(resource).map((name) => ({
113
+ field: name,
114
+ operator: AdminForthFilterOperators.EQ,
115
+ value: rawValues[name],
116
+ }));
117
+ }
45
118
  async getRecordByPrimaryKeyWithOriginalTypes(resource, id) {
46
119
  const data = await this.getDataWithOriginalTypes({
47
120
  resource,
48
121
  limit: 1,
49
122
  offset: 0,
50
123
  sort: [],
51
- filters: { operator: AdminForthFilterOperators.AND, subFilters: [{ field: this.getPrimaryKey(resource), operator: AdminForthFilterOperators.EQ, value: id }] },
124
+ filters: { operator: AdminForthFilterOperators.AND, subFilters: isCompositePrimaryKey(resource)
125
+ ? this.getPrimaryKeyFilters(resource, id)
126
+ : [{ field: this.getPrimaryKey(resource), operator: AdminForthFilterOperators.EQ, value: id }] },
52
127
  });
53
128
  return data.length > 0 ? data[0] : null;
54
129
  }
@@ -423,7 +498,10 @@ export default class AdminForthBaseConnector {
423
498
  operator: AdminForthFilterOperators.AND,
424
499
  subFilters: [
425
500
  { field: column.name, operator: AdminForthFilterOperators.EQ, value },
426
- ...(record ? [{ field: primaryKeyField, operator: AdminForthFilterOperators.NE, value: record[primaryKeyField] }] : [])
501
+ ...(record ? (isCompositePrimaryKey(resource)
502
+ // composite: record differs from given one if at least one of primary key columns differs
503
+ ? [this.compositeOtherRecordFilter(resource, record)]
504
+ : [{ field: primaryKeyField, operator: AdminForthFilterOperators.NE, value: record[primaryKeyField] }]) : [])
427
505
  ]
428
506
  },
429
507
  limit: 1,
@@ -466,7 +544,16 @@ export default class AdminForthBaseConnector {
466
544
  }
467
545
  afLogger.trace(`🪲🆕 creating record, ${JSON.stringify(recordWithOriginalValues)}`);
468
546
  let pkValue = await this.createRecordOriginalValues({ resource, record: recordWithOriginalValues });
469
- if (recordWithOriginalValues[this.getPrimaryKey(resource)] !== undefined) {
547
+ if (isCompositePrimaryKey(resource)) {
548
+ // composite key is never auto generated, so all its columns must be filled by caller
549
+ const missingPks = this.getPrimaryKeys(resource).filter((pk) => recordWithOriginalValues[pk] === undefined);
550
+ if (missingPks.length) {
551
+ throw new Error(`Resource '${resource.resourceId}' has composite primary key (${this.getPrimaryKeys(resource).join(', ')}), ` +
552
+ `so all primary key columns must have values on record creation, got no value for: ${missingPks.join(', ')}`);
553
+ }
554
+ pkValue = encodeRecordId(resource, recordWithOriginalValues);
555
+ }
556
+ else if (recordWithOriginalValues[this.getPrimaryKey(resource)] !== undefined) {
470
557
  // some data sources always return some value for pk, even if it is was not auto generated
471
558
  // this check prevents wrong value from being used later in get request
472
559
  pkValue = recordWithOriginalValues[this.getPrimaryKey(resource)];
@@ -480,7 +567,7 @@ export default class AdminForthBaseConnector {
480
567
  createdRecord,
481
568
  };
482
569
  }
483
- updateRecordOriginalValues({ resource, recordId, newValues }) {
570
+ updateRecordOriginalValues({ resource, recordId, newValues, pkValues }) {
484
571
  throw new Error('Method not implemented.');
485
572
  }
486
573
  async updateRecord({ resource, recordId, newValues }) {
@@ -513,13 +600,34 @@ export default class AdminForthBaseConnector {
513
600
  return { error, ok: false };
514
601
  }
515
602
  afLogger.trace(`🪲✏️ updating record id:${recordId}, values: ${JSON.stringify(recordWithOriginalValues)}`);
516
- await this.updateRecordOriginalValues({ resource, recordId, newValues: recordWithOriginalValues });
603
+ if (isCompositePrimaryKey(resource)) {
604
+ this.assertCompositePrimaryKeySupported(resource);
605
+ await this.updateRecordOriginalValues({
606
+ resource,
607
+ recordId,
608
+ newValues: recordWithOriginalValues,
609
+ pkValues: this.getPrimaryKeyValues(resource, recordId),
610
+ });
611
+ }
612
+ else {
613
+ await this.updateRecordOriginalValues({ resource, recordId, newValues: recordWithOriginalValues });
614
+ }
517
615
  await publishShowPageUpdate(resource, recordId, newValues);
518
616
  return { ok: true };
519
617
  }
520
- deleteRecord({ resource, recordId }) {
618
+ deleteRecord({ resource, recordId, pkValues }) {
521
619
  throw new Error('Method not implemented.');
522
620
  }
621
+ /**
622
+ * Throws readable error if resource uses composite primary key but connector can't handle it
623
+ */
624
+ assertCompositePrimaryKeySupported(resource) {
625
+ if (isCompositePrimaryKey(resource) && !this.supportsCompositePrimaryKey) {
626
+ throw new Error(`Resource '${resource.resourceId}' has composite primary key (${this.getPrimaryKeys(resource).join(', ')}), ` +
627
+ `but data source connector '${this.constructor.name}' does not support composite primary keys. ` +
628
+ `Please update connector package to version which sets supportsCompositePrimaryKey = true`);
629
+ }
630
+ }
523
631
  async getData({ resource, limit, offset, sort, filters, getTotals, columns }) {
524
632
  let normalizedFilters = filters;
525
633
  if (filters) {
@@ -1 +1 @@
1
- {"version":3,"file":"baseConnector.js","sourceRoot":"","sources":["../../dataConnectors/baseConnector.ts"],"names":[],"mappings":"AAUA,OAAO,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AACpD,OAAO,EAAE,iBAAiB,EAAE,MAAM,uBAAuB,CAAC;AAC1D,OAAO,EAAE,iBAAiB,EAAE,mBAAmB,EAAE,yBAAyB,EAA4B,kBAAkB,EAAE,MAAM,oBAAoB,CAAC;AACrJ,OAAO,EAAE,UAAU,EAAE,MAAM,QAAQ,CAAC;AACpC,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,EAAE,QAAQ,EAAE,MAAM,sBAAsB,CAAC;AAWhD,KAAK,UAAU,qBAAqB,CAAC,QAA4B,EAAE,QAAgB,EAAE,OAA4B;IAC/G,MAAM,MAAM,CAAC,UAAU,CAAC,SAAS,CAAC,OAAO,CAAC,aAAa,QAAQ,CAAC,UAAU,IAAI,MAAM,CAAC,QAAQ,CAAC,EAAE,EAC9F;QACE,UAAU,EAAE,QAAQ,CAAC,UAAU;QAC/B,QAAQ;QACR,OAAO;KACR,EACD,KAAK,EAAE,SAAoB,EAAoB,EAAE;QAC/C,IAAI,CAAC,SAAS,EAAE,CAAC;YACf,wDAAwD;YACxD,OAAO,KAAK,CAAC;QACf,CAAC;QACD,IAAI,CAAC;YACH,MAAM,EAAE,cAAc,EAAE,GAAG,MAAM,iBAAiB,CAChD,SAAS,EACT,QAAQ,EACR,EAAE,WAAW,EAAE,IAAI,EAAE,EAAE,EAAE,QAAQ,EAAE,EACnC,iBAAiB,CAAC,WAAW,EAC7B,MAAM,CAAC,UAAU,CAClB,CAAC;YACF,OAAO,cAAc,CAAC,kBAAkB,CAAC,IAAI,CAAC,KAAK,IAAI,CAAC;QAC1D,CAAC;QAAC,OAAO,CAAC,EAAE,CAAC;YACX,QAAQ,CAAC,KAAK,CAAC,wCAAwC,QAAQ,CAAC,UAAU,WAAW,QAAQ,yCAAyC,CAAC,EAAE,CAAC,CAAC;YAC3I,OAAO,KAAK,CAAC;QACf,CAAC;IACH,CAAC,CACF,CAAC;AACJ,CAAC;AAGD,MAAM,CAAC,OAAO,OAAO,uBAAuB;IAI1C;;OAEG;IACH,IAAI,EAAE;QACJ,QAAQ,CAAC,IAAI,CAAC,wCAAwC,CAAC,CAAC;QACxD,OAAO,IAAI,CAAC,MAAM,CAAC;IACrB,CAAC;IAED,WAAW,CAAC,GAAW,EAAE,OAAgC;QACvD,MAAM,IAAI,KAAK,CAAC,yBAAyB,CAAC,CAAC;IAC7C,CAAC;IAED,aAAa,CAAC,QAA4B;QACxC,KAAK,MAAM,GAAG,IAAI,QAAQ,CAAC,iBAAiB,EAAE,CAAC;YAC3C,IAAI,GAAG,CAAC,UAAU,EAAE,CAAC;gBACjB,OAAO,GAAG,CAAC,IAAI,CAAC;YACpB,CAAC;QACL,CAAC;IACH,CAAC;IAED,KAAK,CAAC,sCAAsC,CAAC,QAA4B,EAAE,EAAU;QACnF,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,wBAAwB,CAAC;YAC/C,QAAQ;YACR,KAAK,EAAE,CAAC;YACR,MAAM,EAAE,CAAC;YACT,IAAI,EAAE,EAAE;YACR,OAAO,EAAE,EAAE,QAAQ,EAAE,yBAAyB,CAAC,GAAG,EAAE,UAAU,EAAE,CAAC,EAAE,KAAK,EAAE,IAAI,CAAC,aAAa,CAAC,QAAQ,CAAC,EAAE,QAAQ,EAAE,yBAAyB,CAAC,EAAE,EAAE,KAAK,EAAE,EAAE,EAAE,CAAC,EAAC;SAC9J,CAAC,CAAC;QACH,OAAO,IAAI,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;IAC1C,CAAC;IAED,eAAe,CAAC,MAA4B;QAC1C,IAAK,MAAiC,CAAC,UAAU,EAAE,CAAC;YAClD,MAAM,aAAa,GAAG,MAAgC,CAAC;YACvD,uCACK,aAAa,KAChB,UAAU,EAAE,aAAa,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,SAAS,EAAE,EAAE,CAAC,IAAI,CAAC,eAAe,CAAC,SAAS,CAAC,CAAC,IACxF;QACJ,CAAC;QAED,MAAM,YAAY,GAAG,MAAiC,CAAC;QACvD,uCACK,YAAY,GACZ,CAAC,KAAK,CAAC,OAAO,CAAC,YAAY,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,CAAC,GAAG,YAAY,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,EAChF;IACJ,CAAC;IAED,gCAAgC,CAAC,MAA8H;QAC7J,IAAI,CAAC,MAAM,EAAE,CAAC;YACZ,0CAA0C;YAC1C,OAAO,EAAE,QAAQ,EAAE,yBAAyB,CAAC,GAAG,EAAE,UAAU,EAAE,EAAE,EAAE,CAAC;QACrE,CAAC;QACD,IAAI,OAAO,MAAM,KAAK,QAAQ,EAAE,CAAC;YAC/B,MAAM,IAAI,KAAK,CAAC,wCAAwC,CAAC,CAAC;QAC5D,CAAC;QACD,IAAI,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE,CAAC;YAC1B,2DAA2D;YAC3D,OAAO,EAAE,QAAQ,EAAE,yBAAyB,CAAC,GAAG,EAAE,UAAU,EAAE,MAAM,CAAC,GAAG,CAAC,CAAC,SAAS,EAAE,EAAE,CAAC,IAAI,CAAC,eAAe,CAAC,SAAS,CAAC,CAAC,EAAE,CAAC;QAC7H,CAAC;QACD,IAAK,MAAiC,CAAC,UAAU,EAAE,CAAC;YAClD,mDAAmD;YACnD,OAAO,IAAI,CAAC,eAAe,CAAC,MAAgC,CAA2B,CAAC;QAC1F,CAAC;QAED,wEAAwE;QACxE,OAAO,EAAE,QAAQ,EAAE,yBAAyB,CAAC,GAAG,EAAE,UAAU,EAAE,CAAC,IAAI,CAAC,eAAe,CAAC,MAA8B,CAAC,CAAC,EAAE,CAAC;IACzH,CAAC;IAED,2BAA2B,CAAC,OAA8B,EAAE,QAA4B;;QACtF,IAAI,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,EAAE,CAAC;YAC3B,MAAM,iBAAiB,GAA2B,EAAE,CAAC;YAErD,KAAK,MAAM,MAAM,IAAI,OAAO,EAAE,CAAC;gBAC7B,MAAM,gBAAgB,GAAG,IAAI,CAAC,2BAA2B,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAC;gBAC5E,IAAI,CAAC,gBAAgB,CAAC,EAAE,EAAE,CAAC;oBACzB,OAAO,gBAAgB,CAAC;gBAC1B,CAAC;gBAED,IAAI,gBAAgB,GAAG,gBAAgB,CAAC,iBAAyC,CAAC;gBAClF,MAAM,sBAAsB,GAAG,gBAA2C,CAAC;gBAE3E,wGAAwG;gBACxG,IAAI,sBAAsB,CAAC,KAAK,IAAI,sBAAsB,CAAC,QAAQ,IAAI,yBAAyB,CAAC,EAAE,EAAE,CAAC;oBACpG,MAAM,MAAM,GAAG,QAAQ,CAAC,iBAAiB,CAAC,IAAI,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,CAAC,IAAI,IAAI,sBAAsB,CAAC,KAAK,CAAC,CAAC;oBAClG,IAAI,CAAA,MAAA,MAAM,CAAC,OAAO,0CAAE,OAAO,KAAI,CAAC,MAAM,CAAC,IAAI,IAAI,MAAM,CAAC,eAAe,CAAC,EAAE,CAAC;wBACvE,gBAAgB,GAAG;4BACjB,QAAQ,EAAE,yBAAyB,CAAC,EAAE;4BACtC,UAAU,EAAE,sBAAsB,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAM,EAAE,EAAE;gCACtD,OAAO,EAAE,KAAK,EAAE,MAAM,CAAC,IAAI,EAAE,QAAQ,EAAE,yBAAyB,CAAC,IAAI,EAAE,KAAK,EAAE,CAAC,EAAE,CAAC;4BACpF,CAAC,CAAC;yBACH,CAAC;oBACJ,CAAC;gBACH,CAAC;gBAED,iBAAiB,CAAC,IAAI,CAAC,gBAAgB,CAAC,CAAC;YAC3C,CAAC;YAED,OAAO,EAAE,EAAE,EAAE,IAAI,EAAE,KAAK,EAAE,EAAE,EAAE,iBAAiB,EAAE,CAAC;QACpD,CAAC;QAED,MAAM,eAAe,GAAG,OAAkC,CAAC;QAC3D,IAAI,eAAe,CAAC,KAAK,EAAE,CAAC;YAC1B,MAAM,gBAAgB,GAAG,IAAI,CAAC,eAAe,CAAC,OAAO,CAA4B,CAAC;YAElF,+CAA+C;YAC/C,IAAI,CAAC,gBAAgB,CAAC,QAAQ,EAAE,CAAC;gBAC/B,OAAO,EAAE,EAAE,EAAE,KAAK,EAAE,KAAK,EAAE,oDAAoD,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,EAAE,EAAE,CAAC;YAC7G,CAAC;YACD,gHAAgH;YAChH,MAAM,uBAAuB,GAAG,gBAAgB,CAAC,UAAU,KAAK,SAAS,IAAI,gBAAgB,CAAC,UAAU,KAAK,IAAI,CAAC;YAClH,MAAM,eAAe,GAAG,gBAAgB,CAAC,QAAQ,KAAK,yBAAyB,CAAC,QAAQ,IAAI,gBAAgB,CAAC,QAAQ,KAAK,yBAAyB,CAAC,YAAY,CAAC;YAEjK,IAAI,CAAC,uBAAuB,IAAI,CAAC,eAAe,IAAI,gBAAgB,CAAC,KAAK,KAAK,SAAS,EAAE,CAAC;gBACzF,OAAO,EAAE,EAAE,EAAE,KAAK,EAAE,KAAK,EAAE,iDAAiD,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,EAAE,EAAE,CAAC;YAC1G,CAAC;YACD,IAAI,uBAAuB,IAAI,gBAAgB,CAAC,KAAK,KAAK,SAAS,EAAE,CAAC;gBACpE,OAAO,EAAE,EAAE,EAAE,KAAK,EAAE,KAAK,EAAE,qDAAqD,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,EAAE,EAAE,CAAC;YAC9G,CAAC;YACD,IAAI,gBAAgB,CAAC,cAAc,EAAE,CAAC;gBACpC,OAAO,EAAE,EAAE,EAAE,KAAK,EAAE,KAAK,EAAE,sFAAsF,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,EAAE,EAAE,CAAC;YAC/I,CAAC;YACD,IAAI,gBAAgB,CAAC,gBAAgB,EAAE,CAAC;gBACtC,OAAO,EAAE,EAAE,EAAE,KAAK,EAAE,KAAK,EAAE,wFAAwF,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,EAAE,EAAE,CAAC;YACjJ,CAAC;YACD,IAAI,CAAC,CAAC,yBAAyB,CAAC,EAAE,EAAE,yBAAyB,CAAC,EAAE,EAAE,yBAAyB,CAAC,EAAE;gBAC9F,yBAAyB,CAAC,EAAE,EAAE,yBAAyB,CAAC,GAAG,EAAE,yBAAyB,CAAC,GAAG;gBAC1F,yBAAyB,CAAC,IAAI,EAAE,yBAAyB,CAAC,KAAK,EAAE,yBAAyB,CAAC,EAAE;gBAC7F,yBAAyB,CAAC,GAAG,EAAE,yBAAyB,CAAC,QAAQ,EAAE,yBAAyB,CAAC,YAAY,CAAC,CAAC,QAAQ,CAAC,gBAAgB,CAAC,QAAQ,CAAC,EAAE,CAAC;gBAC/I,OAAO,EAAE,EAAE,EAAE,KAAK,EAAE,KAAK,EAAE,sDAAsD,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,EAAE,EAAE,CAAC;YAC/G,CAAC;YACD,MAAM,QAAQ,GAAG,QAAQ,CAAC,iBAAiB,CAAC,IAAI,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,CAAC,IAAI,IAAI,gBAAgB,CAAC,KAAK,CAAC,CAAC;YAC9F,IAAI,CAAC,QAAQ,EAAE,CAAC;gBACd,MAAM,cAAc,GAAG,QAAQ,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,CAAC,IAAI,IAAI,gBAAgB,CAAC,KAAK,CAAC,CAAC;gBAC1F,IAAI,cAAc,aAAd,cAAc,uBAAd,cAAc,CAAE,OAAO,EAAE,CAAC;oBAC5B,OAAO,EAAE,EAAE,EAAE,IAAI,EAAE,KAAK,EAAE,EAAE,EAAE,iBAAiB,EAAE,gBAAgB,EAAE,CAAC;gBACtE,CAAC;gBAED,MAAM,OAAO,GAAG,aAAa,CAAC,QAAQ,CAAC,iBAAiB,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,gBAAgB,CAAC,KAAK,CAAC,CAAC;gBAEzG,IAAI,mBAAmB,GAAG,KAAK,CAAC;gBAChC,IAAI,MAAA,MAAA,MAAM,CAAC,UAAU,0CAAE,MAAM,0CAAE,SAAS,EAAE,CAAC;oBACzC,mBAAmB,GAAG,MAAM,CAAC,UAAU,CAAC,MAAM,CAAC,SAAS,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAClE,GAAG,CAAC,iBAAiB,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE;;wBAC/B,OAAA,MAAA,MAAA,GAAG,CAAC,eAAe,0CAAE,oBAAoB,0CAAE,IAAI,CAAC,EAAE,CAAC,EAAE,CACnD,EAAE,CAAC,UAAU,KAAK,QAAQ,CAAC,UAAU,CACtC,CAAA;qBAAA,CACF,CACF,CAAC;gBACJ,CAAC;gBACD,IAAI,mBAAmB,EAAE,CAAC;oBACxB,QAAQ,CAAC,KAAK,CAAC,cAAc,gBAAgB,CAAC,KAAK,+CAA+C,QAAQ,CAAC,UAAU,+BAA+B,CAAC,CAAC;oBACtJ,OAAO,EAAE,EAAE,EAAE,IAAI,EAAE,KAAK,EAAE,EAAE,EAAE,iBAAiB,EAAE,gBAAgB,EAAE,CAAC;gBACtE,CAAC;qBAAM,CAAC;oBACN,MAAM,IAAI,KAAK,CAAC,UAAU,gBAAgB,CAAC,KAAK,4BAA4B,QAAQ,CAAC,UAAU,MAAM,OAAO,CAAC,CAAC,CAAC,iBAAiB,OAAO,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;gBACtJ,CAAC;YACH,CAAC;YACD,sBAAsB;YACtB,IAAI,uBAAuB,EAAE,CAAC;gBAC5B,uCAAuC;gBACvC,MAAM,aAAa,GAAG,QAAQ,CAAC,iBAAiB,CAAC,IAAI,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,CAAC,IAAI,IAAI,gBAAgB,CAAC,UAAU,CAAC,CAAC;gBACxG,IAAI,CAAC,aAAa,EAAE,CAAC;oBACnB,MAAM,mBAAmB,GAAG,QAAQ,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,CAAC,IAAI,IAAI,gBAAgB,CAAC,UAAU,CAAC,CAAC;oBACpG,IAAI,mBAAmB,aAAnB,mBAAmB,uBAAnB,mBAAmB,CAAE,OAAO,EAAE,CAAC;wBACjC,OAAO,EAAE,EAAE,EAAE,IAAI,EAAE,KAAK,EAAE,EAAE,EAAE,iBAAiB,EAAE,gBAAgB,EAAE,CAAC;oBACtE,CAAC;oBAED,MAAM,OAAO,GAAG,aAAa,CAAC,QAAQ,CAAC,iBAAiB,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,gBAAgB,CAAC,UAAoB,CAAC,CAAC;oBACxH,MAAM,IAAI,KAAK,CAAC,UAAU,gBAAgB,CAAC,UAAU,4BAA4B,QAAQ,CAAC,UAAU,MAAM,OAAO,CAAC,CAAC,CAAC,iBAAiB,OAAO,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;gBAC3J,CAAC;gBACD,gEAAgE;YAClE,CAAC;iBAAM,IAAI,eAAe,EAAE,CAAC;gBAC3B,2DAA2D;gBAC3D,uCAAuC;gBACvC,IAAI,gBAAgB,CAAC,KAAK,KAAK,SAAS,EAAE,CAAC;oBACzC,gBAAgB,CAAC,KAAK,GAAG,IAAI,CAAC;gBAChC,CAAC;YACH,CAAC;iBAAM,IAAI,gBAAgB,CAAC,QAAQ,IAAI,yBAAyB,CAAC,EAAE,IAAI,gBAAgB,CAAC,QAAQ,IAAI,yBAAyB,CAAC,GAAG,EAAE,CAAC;gBACnI,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,gBAAgB,CAAC,KAAK,CAAC,EAAE,CAAC;oBAC3C,OAAO,EAAE,EAAE,EAAE,KAAK,EAAE,KAAK,EAAE,uBAAuB,gBAAgB,CAAC,QAAQ,2CAA2C,IAAI,CAAC,SAAS,CAAC,OAAO,CAAE,EAAE,EAAE,CAAC;gBACrJ,CAAC;gBACD,IAAI,gBAAgB,CAAC,KAAK,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;oBACxC,sDAAsD;oBACtD,MAAM,OAAO,GAAG,MAAA,QAAQ,CAAC,iBAAiB,CAAC,IAAI,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,CAAC,IAAI,IAAI,gBAAgB,CAAC,KAAK,CAAC,0CAAE,IAAI,CAAC;oBACnG,IAAI,OAAO,KAAK,mBAAmB,CAAC,MAAM,IAAI,OAAO,KAAK,mBAAmB,CAAC,IAAI,EAAE,CAAC;wBACnF,gBAAgB,CAAC,KAAK,GAAG,CAAC,UAAU,EAAE,CAAC,CAAC;wBACxC,OAAO,EAAE,EAAE,EAAE,IAAI,EAAG,KAAK,EAAE,EAAE,EAAE,iBAAiB,EAAE,gBAAgB,EAAE,CAAC;oBACvE,CAAC;yBAAM,CAAC;wBACN,OAAO,EAAE,EAAE,EAAE,KAAK,EAAE,KAAK,EAAE,uBAAuB,gBAAgB,CAAC,QAAQ,kDAAkD,IAAI,CAAC,SAAS,CAAC,OAAO,CAAE,EAAE,EAAE,CAAC;oBAC5J,CAAC;gBACH,CAAC;gBACD,gBAAgB,CAAC,KAAK,GAAG,gBAAgB,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,GAAQ,EAAE,EAAE,CAAC,IAAI,CAAC,wBAAwB,CAAC,QAAQ,EAAE,GAAG,CAAC,CAAC,CAAC;YAClH,CAAC;iBAAM,CAAC;gBACN,gBAAgB,CAAC,KAAK,GAAG,IAAI,CAAC,wBAAwB,CAAC,QAAQ,EAAE,gBAAgB,CAAC,KAAK,CAAC,CAAC;YAC3F,CAAC;YAED,OAAO,EAAE,EAAE,EAAE,IAAI,EAAE,KAAK,EAAE,EAAE,EAAE,iBAAiB,EAAE,gBAAgB,EAAE,CAAC;QACtE,CAAC;aAAM,IAAI,eAAe,CAAC,cAAc,IAAI,eAAe,CAAC,gBAAgB,EAAE,CAAC;YAC9E,MAAM,gBAAgB,GAAG,IAAI,CAAC,eAAe,CAAC,OAAO,CAA4B,CAAC;YAElF,oDAAoD;YACpD,IAAI,gBAAgB,CAAC,QAAQ,EAAE,CAAC;gBAC9B,OAAO,EAAE,EAAE,EAAE,KAAK,EAAE,KAAK,EAAE,+GAA+G,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,EAAE,EAAE,CAAC;YACxK,CAAC;YACD,IAAI,gBAAgB,CAAC,KAAK,KAAK,SAAS,EAAE,CAAC;gBACzC,OAAO,EAAE,EAAE,EAAE,KAAK,EAAE,KAAK,EAAE,4GAA4G,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,EAAE,EAAE,CAAC;YACrK,CAAC;YACD,OAAO,EAAE,EAAE,EAAE,IAAI,EAAE,KAAK,EAAE,EAAE,EAAE,iBAAiB,EAAE,gBAAgB,EAAE,CAAC;QACtE,CAAC;aAAM,IAAK,OAAkC,CAAC,UAAU,EAAE,CAAC;YAC1D,MAAM,aAAa,GAAG,OAAiC,CAAC;YAExD,mDAAmD;YACnD,IAAI,CAAC,aAAa,CAAC,QAAQ,EAAE,CAAC;gBAC5B,OAAO,EAAE,EAAE,EAAE,KAAK,EAAE,KAAK,EAAE,oDAAoD,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,EAAE,EAAE,CAAC;YAC7G,CAAC;YACD,IAAI,CAAC,CAAC,yBAAyB,CAAC,GAAG,EAAE,yBAAyB,CAAC,EAAE,CAAC,CAAC,QAAQ,CAAC,aAAa,CAAC,QAAQ,CAAC,EAAE,CAAC;gBACpG,OAAO,EAAE,EAAE,EAAE,KAAK,EAAE,KAAK,EAAE,sDAAsD,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,EAAE,EAAE,CAAC;YAC/G,CAAC;YAED,MAAM,oBAAoB,GAAG,IAAI,CAAC,2BAA2B,CAAC,aAAa,CAAC,UAAU,EAAE,QAAQ,CAAC,CAAC;YAClG,IAAI,CAAC,oBAAoB,CAAC,EAAE,EAAE,CAAC;gBAC7B,OAAO,oBAAoB,CAAC;YAC9B,CAAC;YAED,OAAO;gBACL,EAAE,EAAE,IAAI;gBACR,KAAK,EAAE,EAAE;gBACT,iBAAiB,kCACZ,aAAa,KAChB,UAAU,EAAE,oBAAoB,CAAC,iBAA2C,GAC7E;aACF,CAAC;QACJ,CAAC;aAAM,CAAC;YACN,OAAO,EAAE,EAAE,EAAE,KAAK,EAAE,KAAK,EAAE,sEAAsE,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,EAAE,EAAE,CAAC;QAC/H,CAAC;IACH,CAAC;IAED,wBAAwB,CAAC,EAAE,QAAQ,EAAE,KAAK,EAAE,MAAM,EAAE,IAAI,EAAE,OAAO,EAAE,OAAO,EAOzE;QACC,MAAM,IAAI,KAAK,CAAC,yBAAyB,CAAC,CAAC;IAC7C,CAAC;IAED,6BAA6B,CAAC,EAAE,QAAQ,EAAE,OAAO,EAAE,YAAY,EAAE,OAAO,EAKvE;QACC,MAAM,IAAI,KAAK,CAAC,qEAAqE,CAAC,CAAC;IACzF,CAAC;IAED,qBAAqB,CAAC,OAA+B;QACnD,OAAO,OAAO,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;IACvE,CAAC;IAED,qBAAqB,CAAC,OAAqB,EAAE,KAAa,EAAE,KAAa;;QACvE,OAAO,MAAA,OAAO,CAAC,EAAE,mCAAI,CAAC,KAAK,KAAK,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,QAAQ,KAAK,GAAG,CAAC,EAAE,CAAC,CAAC;IACrE,CAAC;IAEO,uBAAuB,CAC7B,QAA4B,EAC5B,YAAmD,EACnD,OAA+B;QAE/B,MAAM,WAAW,GAAG,0BAA0B,CAAC;QAC/C,MAAM,gBAAgB,GAAG,CAAC,KAAK,EAAE,OAAO,EAAE,gBAAgB,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,QAAQ,CAAC,CAAC;QAC3F,MAAM,iBAAiB,GAAG,CAAC,KAAK,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,CAAC,CAAC;QAC3D,MAAM,cAAc,GAAG,uBAAuB,CAAC;QAC/C,MAAM,WAAW,GAAG,IAAI,GAAG,CAAC,QAAQ,CAAC,iBAAiB,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC;QAEzE,MAAM,YAAY,GAAG,CAAC,KAAa,EAAE,OAAe,EAAE,EAAE;YACtD,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,CAAC;gBAC5B,MAAM,IAAI,KAAK,CAAC,GAAG,OAAO,qBAAqB,KAAK,iBAAiB,CAAC,GAAG,WAAW,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;YACtG,CAAC;QACH,CAAC,CAAC;QAEF,KAAK,MAAM,CAAC,KAAK,EAAE,IAAI,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,YAAY,CAAC,EAAE,CAAC;YACzD,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC;gBAC7B,MAAM,IAAI,KAAK,CAAC,8BAA8B,KAAK,iBAAiB,WAAW,EAAE,CAAC,CAAC;YACrF,CAAC;YACD,IAAI,CAAC,gBAAgB,CAAC,QAAQ,CAAC,IAAI,CAAC,SAAS,CAAC,EAAE,CAAC;gBAC/C,MAAM,IAAI,KAAK,CAAC,kCAAkC,IAAI,CAAC,SAAS,sBAAsB,gBAAgB,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;YACvH,CAAC;YACD,IAAI,IAAI,CAAC,SAAS,KAAK,OAAO,EAAE,CAAC;gBAC/B,IAAI,CAAC,IAAI,CAAC,KAAK,EAAE,CAAC;oBAChB,MAAM,IAAI,KAAK,CAAC,gBAAgB,KAAK,qBAAqB,IAAI,CAAC,SAAS,oBAAoB,CAAC,CAAC;gBAChG,CAAC;gBACD,YAAY,CAAC,IAAI,CAAC,KAAK,EAAE,gBAAgB,KAAK,GAAG,CAAC,CAAC;YACrD,CAAC;QACH,CAAC;QAED,KAAK,MAAM,WAAW,IAAI,IAAI,CAAC,qBAAqB,CAAC,OAAO,CAAC,EAAE,CAAC;YAC9D,IAAI,WAAW,CAAC,IAAI,KAAK,OAAO,EAAE,CAAC;gBACjC,YAAY,CAAC,WAAW,CAAC,KAAK,EAAE,eAAe,CAAC,CAAC;gBACjD,IAAI,WAAW,CAAC,EAAE,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,WAAW,CAAC,EAAE,CAAC,EAAE,CAAC;oBACxD,MAAM,IAAI,KAAK,CAAC,0BAA0B,WAAW,CAAC,EAAE,iBAAiB,WAAW,EAAE,CAAC,CAAC;gBAC1F,CAAC;YACH,CAAC;iBAAM,IAAI,WAAW,CAAC,IAAI,KAAK,YAAY,EAAE,CAAC;gBAC7C,MAAM,CAAC,GAAG,WAAgC,CAAC;gBAC3C,YAAY,CAAC,CAAC,CAAC,KAAK,EAAE,mBAAmB,CAAC,CAAC;gBAC3C,IAAI,CAAC,iBAAiB,CAAC,QAAQ,CAAC,CAAC,CAAC,UAAU,CAAC,EAAE,CAAC;oBAC9C,MAAM,IAAI,KAAK,CAAC,uBAAuB,CAAC,CAAC,UAAU,sBAAsB,iBAAiB,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;gBAC3G,CAAC;gBACD,IAAI,CAAC,CAAC,QAAQ,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,CAAC,CAAC,QAAQ,CAAC,EAAE,CAAC;oBACnD,MAAM,IAAI,KAAK,CAAC,qBAAqB,CAAC,CAAC,QAAQ,uCAAuC,CAAC,CAAC;gBAC1F,CAAC;gBACD,IAAI,CAAC,CAAC,EAAE,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC;oBACpC,MAAM,IAAI,KAAK,CAAC,0BAA0B,CAAC,CAAC,EAAE,iBAAiB,WAAW,EAAE,CAAC,CAAC;gBAChF,CAAC;YACH,CAAC;iBAAM,CAAC;gBACN,MAAM,IAAI,KAAK,CAAC,yBAA0B,WAAmB,CAAC,IAAI,GAAG,CAAC,CAAC;YACzE,CAAC;QACH,CAAC;IACH,CAAC;IAED,KAAK,CAAC,SAAS,CAAC,EAAE,QAAQ,EAAE,OAAO,EAAE,YAAY,EAAE,OAAO,EAKzD;QACC,IAAI,CAAC,uBAAuB,CAAC,QAAQ,EAAE,YAAY,EAAE,OAAO,CAAC,CAAC;QAE9D,IAAI,iBAAiB,GAAG,OAAO,CAAC;QAChC,IAAI,OAAO,EAAE,CAAC;YACZ,MAAM,gBAAgB,GAAG,IAAI,CAAC,2BAA2B,CAAC,OAAO,EAAE,QAAQ,CAAC,CAAC;YAC7E,IAAI,CAAC,gBAAgB,CAAC,EAAE,EAAE,CAAC;gBACzB,MAAM,IAAI,KAAK,CAAC,gBAAgB,CAAC,KAAK,CAAC,CAAC;YAC1C,CAAC;YACD,iBAAiB,GAAG,gBAAgB,CAAC,iBAA2C,CAAC;QACnF,CAAC;QACD,OAAO,IAAI,CAAC,6BAA6B,CAAC,EAAE,QAAQ,EAAE,OAAO,EAAE,iBAAiB,EAAE,YAAY,EAAE,OAAO,EAAE,CAAC,CAAC;IAC7G,CAAC;IAED,QAAQ,CAAC,EAAE,QAAQ,EAAE,OAAO,EAAsE;QAChG,MAAM,IAAI,KAAK,CAAC,yBAAyB,CAAC,CAAC;IAC7C,CAAC;IAED,cAAc,CAAC,QAA4B,EAAE,MAAwB;QACnE,MAAM,IAAI,KAAK,CAAC,yBAAyB,CAAC,CAAC;IAC7C,CAAC;IAED,aAAa,CAAC,KAA+B,EAAE,KAAU;QACvD,MAAM,IAAI,KAAK,CAAC,yBAAyB,CAAC,CAAC;IAC7C,CAAC;IAED,aAAa,CAAC,KAA+B,EAAE,KAAU;QACvD,MAAM,IAAI,KAAK,CAAC,yBAAyB,CAAC,CAAC;IAC7C,CAAC;IAED,wBAAwB,CAAC,KAA+B,EAAE,KAAU;QAClE,MAAM;QACN,IAAI,KAAK,CAAC,IAAI,KAAK,mBAAmB,CAAC,OAAO,EAAE,CAAC;YAC/C,IAAI,KAAK,KAAK,EAAE,IAAI,KAAK,KAAK,IAAI,EAAE,CAAC;gBACnC,OAAO,IAAI,CAAC,aAAa,CAAC,KAAK,EAAE,IAAI,CAAC,CAAC;YACzC,CAAC;YACD,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,KAAK,CAAC,EAAE,CAAC;gBAC5B,MAAM,IAAI,KAAK,CAAC,kCAAkC,KAAK,CAAC,IAAI,iBAAiB,KAAK,CAAC,IAAI,oBAAoB,KAAK,cAAc,OAAO,KAAK,EAAE,CAAC,CAAC;YAChJ,CAAC;YACD,OAAO,IAAI,CAAC,aAAa,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC;QAC1C,CAAC;QAED,QAAQ;QACR,IAAI,KAAK,CAAC,IAAI,KAAK,mBAAmB,CAAC,KAAK,EAAE,CAAC;YAC7C,IAAI,KAAK,KAAK,EAAE,IAAI,KAAK,KAAK,IAAI,EAAE,CAAC;gBACnC,OAAO,IAAI,CAAC,aAAa,CAAC,KAAK,EAAE,IAAI,CAAC,CAAC;YACzC,CAAC;YAED,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,KAAK,CAAC,EAAE,CAAC;gBACzD,MAAM,IAAI,KAAK,CACb,+BAA+B,KAAK,CAAC,IAAI,iBAAiB,KAAK,CAAC,IAAI,oBAAoB,MAAM,CAAC,KAAK,CAAC,cAAc,OAAO,KAAK,EAAE,CAClI,CAAC;YACJ,CAAC;YAED,OAAO,IAAI,CAAC,aAAa,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC;QAC1C,CAAC;QAED,UAAU;QACV,IAAI,KAAK,CAAC,IAAI,KAAK,mBAAmB,CAAC,OAAO,EAAE,CAAC;YAC/C,IAAI,KAAK,KAAK,EAAE,IAAI,KAAK,KAAK,IAAI,EAAE,CAAC;gBACnC,OAAO,IAAI,CAAC,aAAa,CAAC,KAAK,EAAE,IAAI,CAAC,CAAC;YACzC,CAAC;YACD,4CAA4C;YAC5C,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,MAAM,CAAC,QAAQ,CAAC,KAAK,CAAC,EAAE,CAAC;gBACxD,OAAO,IAAI,CAAC,aAAa,CAAC,KAAK,EAAE,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC;YAClD,CAAC;YACD,gBAAgB;YAChB,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE,CAAC;gBAC9B,MAAM,MAAM,GAAG,KAAK,CAAC,IAAI,EAAE,CAAC;gBAC5B,IAAI,CAAC,MAAM,EAAE,CAAC;oBACZ,OAAO,IAAI,CAAC,aAAa,CAAC,KAAK,EAAE,IAAI,CAAC,CAAC;gBACzC,CAAC;gBACD,IAAI,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC;oBACpC,OAAO,IAAI,CAAC,aAAa,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC;gBAC3C,CAAC;gBACD,MAAM,IAAI,KAAK,CAAC,iCAAiC,KAAK,CAAC,IAAI,iBAAiB,KAAK,CAAC,IAAI,oBAAoB,KAAK,cAAc,OAAO,KAAK,EAAE,CAAC,CAAC;YAC/I,CAAC;YACD,qEAAqE;YACrE,IAAI,KAAK,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,OAAQ,KAAa,CAAC,QAAQ,KAAK,UAAU,EAAE,CAAC;gBACxF,MAAM,CAAC,GAAI,KAAa,CAAC,QAAQ,EAAE,CAAC;gBACpC,IAAI,OAAO,CAAC,KAAK,QAAQ,IAAI,CAAC,CAAC,IAAI,EAAE,KAAK,EAAE,IAAI,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;oBAC3E,OAAO,IAAI,CAAC,aAAa,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC;gBACtC,CAAC;YACH,CAAC;YAED,MAAM,IAAI,KAAK,CAAC,iCAAiC,KAAK,CAAC,IAAI,iBAAiB,KAAK,CAAC,IAAI,oBAAoB,MAAM,CAAC,KAAK,CAAC,cAAc,OAAO,KAAK,EAAE,CAAC,CAAC;QACvJ,CAAC;QAED,OAAO;QAGP,WAAW;QACX,IAAI,KAAK,CAAC,IAAI,KAAK,mBAAmB,CAAC,QAAQ,EAAE,CAAC;YAChD,IAAI,KAAK,KAAK,EAAE,IAAI,KAAK,KAAK,IAAI,EAAE,CAAC;gBACnC,OAAO,IAAI,CAAC,aAAa,CAAC,KAAK,EAAE,IAAI,CAAC,CAAC;YACzC,CAAC;YACD,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC;gBAC5B,MAAM,IAAI,KAAK,CAAC,wCAAwC,KAAK,CAAC,IAAI,iBAAiB,KAAK,CAAC,IAAI,oBAAoB,KAAK,cAAc,OAAO,KAAK,EAAE,CAAC,CAAC;YACtJ,CAAC;YACD,OAAO,IAAI,CAAC,aAAa,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC;QAC1C,CAAC;QAED,OAAO;QAEP,UAAU;QACV,IAAI,KAAK,CAAC,IAAI,KAAK,mBAAmB,CAAC,OAAO,EAAE,CAAC;YAC/C,IAAI,KAAK,KAAK,EAAE,IAAI,KAAK,KAAK,IAAI,EAAE,CAAC;gBACnC,OAAO,IAAI,CAAC,aAAa,CAAC,KAAK,EAAE,IAAI,CAAC,CAAC;YACzC,CAAC;YACD,IAAI,OAAO,KAAK,KAAK,SAAS,EAAE,CAAC;gBAC/B,MAAM,YAAY,GAAG,iCAAiC,KAAK,CAAC,IAAI,iBAAiB,KAAK,CAAC,IAAI,oBAAoB,KAAK,cAAc,OAAO,KAAK,EAAE,CAAC;gBACjJ,IAAI,KAAK,KAAK,CAAC,IAAI,KAAK,KAAK,CAAC,EAAE,CAAC;oBAC/B,MAAM,IAAI,KAAK,CAAC,YAAY,CAAC,CAAC;gBAChC,CAAC;qBAAM,CAAC;oBACN,QAAQ,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;oBAC5B,QAAQ,CAAC,IAAI,CAAC,uDAAuD,CAAC,CAAC;gBACzE,CAAC;YACH,CAAC;YACD,OAAO,IAAI,CAAC,aAAa,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC;QAC1C,CAAC;QAED,OAAO;QAEP,SAAS;QACT,IAAI,KAAK,CAAC,IAAI,KAAK,mBAAmB,CAAC,MAAM,EAAE,CAAC;YAC9C,IAAI,KAAK,KAAK,EAAE,IAAI,KAAK,KAAK,IAAI,EAAC,CAAC;gBAClC,OAAO,IAAI,CAAC,aAAa,CAAC,KAAK,EAAE,IAAI,CAAC,CAAC;YACzC,CAAC;QACH,CAAC;QACD,OAAO,IAAI,CAAC,aAAa,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC;IAC1C,CAAC;IAED,oCAAoC,CAAC,EAAE,QAAQ,EAAE,OAAO,EAA0E;QAChI,MAAM,IAAI,KAAK,CAAC,yBAAyB,CAAC,CAAC;IAC7C,CAAC;IAED,0BAA0B,CAAC,EAAE,QAAQ,EAAE,MAAM,EAAkD;QAC7F,MAAM,IAAI,KAAK,CAAC,yBAAyB,CAAC,CAAC;IAC7C,CAAC;IAED,KAAK,CAAC,WAAW,CAAC,QAA4B,EAAE,MAAgC,EAAE,KAAU,EAAE,MAAY;QACxG,QAAQ,CAAC,KAAK,CAAC,6BAA6B,MAAM,CAAC,IAAI,KAAK,KAAK,EAAE,CAAC,CAAC;QAErE,MAAM,eAAe,GAAG,IAAI,CAAC,aAAa,CAAC,QAAQ,CAAC,CAAC;QACrD,MAAM,cAAc,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC;YACxC,QAAQ;YACR,OAAO,EAAE;gBACP,QAAQ,EAAE,yBAAyB,CAAC,GAAG;gBACvC,UAAU,EAAE;oBACV,EAAE,KAAK,EAAE,MAAM,CAAC,IAAI,EAAE,QAAQ,EAAE,yBAAyB,CAAC,EAAE,EAAE,KAAK,EAAE;oBACrE,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,eAAe,EAAE,QAAQ,EAAE,yBAAyB,CAAC,EAAkC,EAAE,KAAK,EAAE,MAAM,CAAC,eAAe,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;iBACxJ;aACF;YACD,KAAK,EAAE,CAAC;YACR,IAAI,EAAE,EAAE;YACR,MAAM,EAAE,CAAC;YACT,SAAS,EAAE,KAAK;SACjB,CAAC,CAAC;QAEH,OAAO,cAAc,CAAC,IAAI,CAAC,MAAM,GAAG,CAAC,CAAC;IACxC,CAAC;IAED,KAAK,CAAC,YAAY,CAAC,EAAE,QAAQ,EAAE,MAAM,EAAE,SAAS,EAE/C;QACC,0EAA0E;QAE1E,MAAM,YAAY,qBAAO,MAAM,CAAC,CAAC;QACjC,MAAM,wBAAwB,qBAAO,MAAM,CAAC,CAAC;QAE7C,KAAK,MAAM,GAAG,IAAI,QAAQ,CAAC,iBAAiB,EAAE,CAAC;YAC7C,IAAI,GAAG,CAAC,YAAY,EAAE,CAAC;gBACrB,IAAI,YAAY,CAAC,GAAG,CAAC,IAAI,CAAC,KAAK,SAAS,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,YAAY,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,IAAI,YAAY,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,MAAM,KAAK,CAAC,CAAC,EAAE,CAAC;oBAC3H,YAAY,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,GAAG,CAAC,YAAY,CAAC;wBACxC,aAAa,EAAE,MAAM;wBACrB,SAAS;qBACV,CAAC,CAAC;gBACL,CAAC;YACH,CAAC;YACD,IAAI,YAAY,CAAC,GAAG,CAAC,IAAI,CAAC,KAAK,SAAS,EAAE,CAAC;gBACzC,6CAA6C;gBAC7C,wBAAwB,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC,wBAAwB,CAAC,GAAG,EAAE,YAAY,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC;YAClG,CAAC;QACH,CAAC;QAED,IAAI,KAAK,GAAkB,IAAI,CAAC;QAChC,MAAM,OAAO,CAAC,GAAG,CACf,QAAQ,CAAC,iBAAiB,CAAC,GAAG,CAAC,KAAK,EAAE,GAAG,EAAE,EAAE;YAC3C,IAAI,GAAG,CAAC,QAAQ,IAAI,CAAC,GAAG,CAAC,OAAO,IAAI,CAAC,KAAK,EAAE,CAAC;gBAC3C,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,WAAW,CAAC,QAAQ,EAAE,GAAG,EAAE,wBAAwB,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC;gBACzF,IAAI,MAAM,EAAE,CAAC;oBACX,KAAK,GAAG,eAAe,GAAG,CAAC,IAAI,IAAI,wBAAwB,CAAC,GAAG,CAAC,IAAI,CAAC,iBAAiB,CAAC;gBACzF,CAAC;YACH,CAAC;QACH,CAAC,CAAC,CACH,CAAC;QACF,IAAI,KAAK,EAAE,CAAC;YACV,QAAQ,CAAC,KAAK,CAAC,4BAA4B,KAAK,EAAE,CAAC,CAAC;YACpD,OAAO,EAAE,KAAK,EAAE,EAAE,EAAE,KAAK,EAAE,CAAC;QAC9B,CAAC;QAED,QAAQ,CAAC,KAAK,CAAC,yBAAyB,IAAI,CAAC,SAAS,CAAC,wBAAwB,CAAC,EAAE,CAAC,CAAC;QACpF,IAAI,OAAO,GAAG,MAAM,IAAI,CAAC,0BAA0B,CAAC,EAAE,QAAQ,EAAE,MAAM,EAAE,wBAAwB,EAAE,CAAC,CAAC;QACpG,IAAI,wBAAwB,CAAC,IAAI,CAAC,aAAa,CAAC,QAAQ,CAAC,CAAC,KAAK,SAAS,EAAE,CAAC;YACzE,0FAA0F;YAC1F,uEAAuE;YACvE,OAAO,GAAG,wBAAwB,CAAC,IAAI,CAAC,aAAa,CAAC,QAAQ,CAAC,CAAC,CAAC;QACnE,CAAC;QAED,IAAI,aAAa,GAAG,wBAAwB,CAAC;QAC7C,IAAI,OAAO,EAAE,CAAC;YACZ,aAAa,GAAG,MAAM,IAAI,CAAC,qBAAqB,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC;QACtE,CAAC;QAED,OAAO;YACL,EAAE,EAAE,IAAI;YACR,aAAa;SACd,CAAA;IACH,CAAC;IAED,0BAA0B,CAAC,EAAE,QAAQ,EAAE,QAAQ,EAAE,SAAS,EAAuE;QAC/H,MAAM,IAAI,KAAK,CAAC,yBAAyB,CAAC,CAAC;IAC7C,CAAC;IAED,KAAK,CAAC,YAAY,CAAC,EAAE,QAAQ,EAAE,QAAQ,EAAE,SAAS,EAAuE;QACvH,0EAA0E;QAC1E,MAAM,wBAAwB,qBAAO,SAAS,CAAC,CAAC;QAEhD,KAAK,MAAM,KAAK,IAAI,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC,EAAE,CAAC;YAC3C,MAAM,GAAG,GAAG,QAAQ,CAAC,iBAAiB,CAAC,IAAI,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,CAAC,IAAI,IAAI,KAAK,CAAC,CAAC;YACxE,gIAAgI;YAChI,iJAAiJ;YACjJ,IAAI,CAAC,GAAG,EAAE,CAAC;gBACT,MAAM,OAAO,GAAG,aAAa,CAAC,QAAQ,CAAC,iBAAiB,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,KAAK,CAAC,CAAC;gBACxF,MAAM,IAAI,KAAK,CAAC;0CACkB,KAAK,iBAAiB,SAAS,CAAC,KAAK,CAAC,6CAA6C,QAAQ,CAAC,UAAU,MAAM,OAAO,CAAC,CAAC,CAAC,iBAAiB,OAAO,IAAI,CAAC,CAAC,CAAC,EAAE;SACxL,CAAC,CAAC;YACL,CAAC;YACD,wBAAwB,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC,wBAAwB,CAAC,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC;QAC/F,CAAC;QACD,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,qBAAqB,CAAC,QAAQ,EAAE,QAAQ,CAAC,CAAC;QACpE,IAAI,KAAK,GAAkB,IAAI,CAAC;QAC/B,MAAM,OAAO,CAAC,GAAG,CAChB,QAAQ,CAAC,iBAAiB,CAAC,GAAG,CAAC,KAAK,EAAE,GAAG,EAAE,EAAE;YAC3C,IAAI,GAAG,CAAC,QAAQ,IAAI,CAAC,GAAG,CAAC,OAAO,IAAI,CAAC,KAAK,IAAI,MAAM,CAAC,SAAS,CAAC,cAAc,CAAC,IAAI,CAAC,wBAAwB,EAAE,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC;gBACvH,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,WAAW,CAAC,QAAQ,EAAE,GAAG,EAAE,wBAAwB,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,MAAM,CAAC,CAAC;gBACjG,IAAI,MAAM,EAAE,CAAC;oBACX,KAAK,GAAG,eAAe,GAAG,CAAC,IAAI,IAAI,wBAAwB,CAAC,GAAG,CAAC,IAAI,CAAC,iBAAiB,CAAC;gBACzF,CAAC;YACH,CAAC;QACH,CAAC,CAAC,CACH,CAAC;QACF,IAAI,KAAK,EAAE,CAAC;YACV,QAAQ,CAAC,KAAK,CAAC,4BAA4B,KAAK,EAAE,CAAC,CAAC;YACpD,OAAO,EAAE,KAAK,EAAE,EAAE,EAAE,KAAK,EAAE,CAAC;QAC9B,CAAC;QAGD,QAAQ,CAAC,KAAK,CAAC,2BAA2B,QAAQ,aAAa,IAAI,CAAC,SAAS,CAAC,wBAAwB,CAAC,EAAE,CAAC,CAAC;QAE3G,MAAM,IAAI,CAAC,0BAA0B,CAAC,EAAE,QAAQ,EAAE,QAAQ,EAAE,SAAS,EAAE,wBAAwB,EAAE,CAAC,CAAC;QACnG,MAAM,qBAAqB,CAAC,QAAQ,EAAE,QAAQ,EAAE,SAAS,CAAC,CAAC;QAE3D,OAAO,EAAE,EAAE,EAAE,IAAI,EAAE,CAAC;IACtB,CAAC;IAED,YAAY,CAAC,EAAE,QAAQ,EAAE,QAAQ,EAAuD;QACtF,MAAM,IAAI,KAAK,CAAC,yBAAyB,CAAC,CAAC;IAC7C,CAAC;IAED,KAAK,CAAC,OAAO,CAAC,EAAE,QAAQ,EAAE,KAAK,EAAE,MAAM,EAAE,IAAI,EAAE,OAAO,EAAE,SAAS,EAAE,OAAO,EAQzE;QACC,IAAI,iBAAiB,GAAG,OAAO,CAAC;QAEhC,IAAI,OAAO,EAAE,CAAC;YACZ,MAAM,gBAAgB,GAAG,IAAI,CAAC,2BAA2B,CAAC,OAAO,EAAE,QAAQ,CAAC,CAAC;YAC7E,IAAI,CAAC,gBAAgB,CAAC,EAAE,EAAE,CAAC;gBACzB,MAAM,IAAI,KAAK,CAAC,gBAAgB,CAAC,KAAK,CAAC,CAAC;YAC1C,CAAC;YACD,iBAAiB,GAAG,gBAAgB,CAAC,iBAA2C,CAAC;QACnF,CAAC;QAED,MAAM,iBAAiB,GAAG,OAAO,aAAP,OAAO,cAAP,OAAO,GAAI,QAAQ,CAAC,iBAAiB,CAAC;QAChE,MAAM,QAAQ,GAAmB,CAAC,IAAI,CAAC,wBAAwB,CAAC,EAAE,QAAQ,EAAE,KAAK,EAAE,MAAM,EAAE,IAAI,EAAE,OAAO,EAAE,iBAAiB,EAAE,OAAO,EAAE,iBAAiB,EAAE,CAAC,CAAC,CAAC;QAC5J,IAAI,SAAS,EAAE,CAAC;YACd,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,EAAE,QAAQ,EAAE,OAAO,EAAE,CAAC,CAAC,CAAC;QACtD,CAAC;aAAM,CAAC;YACN,QAAQ,CAAC,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC,CAAC;QAC5C,CAAC;QAED,MAAM,CAAC,IAAI,EAAE,KAAK,CAAC,GAAG,MAAM,OAAO,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;QAElD,oCAAoC;QACpC,IAAI,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,EAAE;YAClB,KAAK,MAAM,GAAG,IAAI,iBAAiB,EAAE,CAAC;gBACpC,MAAM,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC,aAAa,CAAC,GAAG,EAAE,MAAM,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC;YAC/D,CAAC;QACH,CAAC,CAAC,CAAC;QAEH,OAAO,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC;IACzB,CAAC;IAED,KAAK,CAAC,mBAAmB,CAAC,EAAE,QAAQ,EAAE,OAAO,EAA0E;QACrH,MAAM,EAAE,GAAG,MAAM,IAAI,CAAC,oCAAoC,CAAC,EAAE,QAAQ,EAAE,OAAO,EAAE,CAAC,CAAC;QAClF,MAAM,MAAM,GAAG,EAAE,CAAC;QAClB,KAAK,MAAM,GAAG,IAAI,OAAO,EAAE,CAAC;YACxB,MAAM,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG;gBACf,GAAG,EAAE,IAAI,CAAC,aAAa,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC;gBAC9C,GAAG,EAAE,IAAI,CAAC,aAAa,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC;aACjD,CAAC;QACN,CAAC;QACD,OAAO,MAAM,CAAC;IAChB,CAAC;IAED,qBAAqB,CAAC,QAA4B,EAAE,QAAgB;QAClE,OAAO,IAAI,CAAC,sCAAsC,CAAC,QAAQ,EAAE,QAAQ,CAAC,CAAC,IAAI,CAAC,CAAC,MAAM,EAAE,EAAE;YACnF,MAAM,SAAS,GAAG,EAAE,CAAC;YACrB,IAAI,CAAC,MAAM,EAAE,CAAC;gBACV,OAAO,IAAI,CAAC;YAChB,CAAC;YACD,KAAK,MAAM,GAAG,IAAI,QAAQ,CAAC,iBAAiB,EAAE,CAAC;gBAC3C,SAAS,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC,aAAa,CAAC,GAAG,EAAE,MAAM,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC;YACpE,CAAC;YACD,OAAO,SAAS,CAAC;QACrB,CAAC,CAAC,CAAC;IACL,CAAC;IACD,KAAK,CAAC,YAAY;QAChB,MAAM,IAAI,KAAK,CAAC,gDAAgD,CAAC,CAAC;IACpE,CAAC;IAED,KAAK,CAAC,oBAAoB,CAAC,SAAiB;QAC1C,MAAM,IAAI,KAAK,CAAC,wDAAwD,CAAC,CAAC;IAC5E,CAAC;IAED,KAAK,CAAC,eAAe;QACnB,MAAM,IAAI,KAAK,CAAC,mDAAmD,CAAC,CAAC;IACvE,CAAC;CAGF"}
1
+ {"version":3,"file":"baseConnector.js","sourceRoot":"","sources":["../../dataConnectors/baseConnector.ts"],"names":[],"mappings":"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"}
package/dist/index.d.ts CHANGED
@@ -20,6 +20,7 @@ export { interpretResource, rejectApiRawFilters };
20
20
  export { AdminForthPlugin };
21
21
  export { suggestIfTypo, RateLimiter, RAMLock, getClientIp, convertPeriodToSeconds };
22
22
  export { default as AdminForthBaseConnector } from './dataConnectors/baseConnector.js';
23
+ export { COMPOSITE_RECORD_ID_SEPARATOR, primaryKeyColumns, primaryKeyColumnNames, isCompositePrimaryKey, encodeRecordId, decodeRecordId, } from './modules/recordId.js';
23
24
  declare class AdminForth implements IAdminForth {
24
25
  static Types: typeof AdminForthDataTypes;
25
26
  static Utils: {
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../index.ts"],"names":[],"mappings":"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"}
package/dist/index.js CHANGED
@@ -1,5 +1,6 @@
1
1
  var _a;
2
2
  import AdminForthAuth from './auth.js';
3
+ import { compositePkValues, encodeRecordId, isCompositePrimaryKey, primaryKeyColumnNames } from './modules/recordId.js';
3
4
  import CodeInjector from './modules/codeInjector.js';
4
5
  import ExpressServer from './servers/express.js';
5
6
  import OpenApiRegistry from './servers/openapi.js';
@@ -27,6 +28,7 @@ export { interpretResource, rejectApiRawFilters };
27
28
  export { AdminForthPlugin };
28
29
  export { suggestIfTypo, RateLimiter, RAMLock, getClientIp, convertPeriodToSeconds };
29
30
  export { default as AdminForthBaseConnector } from './dataConnectors/baseConnector.js';
31
+ export { COMPOSITE_RECORD_ID_SEPARATOR, primaryKeyColumns, primaryKeyColumnNames, isCompositePrimaryKey, encodeRecordId, decodeRecordId, } from './modules/recordId.js';
30
32
  class AdminForth {
31
33
  registerMenuContribution(contribution) {
32
34
  this.menuContributions.push(contribution);
@@ -350,6 +352,7 @@ class AdminForth {
350
352
  }
351
353
  }
352
354
  async discoverDatabases() {
355
+ var _b;
353
356
  this.statuses.dbDiscover = 'running';
354
357
  const doesUserHavePnpmLock = await this.codeInjector.doesUserHasPnpmLockFile('./');
355
358
  const dataSourcesDatabasesTypes = [];
@@ -357,7 +360,9 @@ class AdminForth {
357
360
  const dbType = ds.url.split(':')[0];
358
361
  dataSourcesDatabasesTypes.push(dbType);
359
362
  });
360
- const uniqueDbTypes = [...new Set(dataSourcesDatabasesTypes)];
363
+ // db types for which user supplied own connector class in config don't need npm package to be installed
364
+ const uniqueDbTypes = [...new Set(dataSourcesDatabasesTypes)]
365
+ .filter((dbType) => { var _b; return !((_b = this.config.databaseConnectors) === null || _b === void 0 ? void 0 : _b[dbType]); });
361
366
  let SQLiteConnector, PostgresConnector, MongoConnector, ClickhouseConnector, MysqlConnector, QdrantConnector, DuckDBConnector;
362
367
  if (uniqueDbTypes.includes('sqlite')) {
363
368
  SQLiteConnector = await this.tryToImportConnector('sqlite', doesUserHavePnpmLock);
@@ -444,8 +449,42 @@ class AdminForth {
444
449
  if (!res.columns.some((col) => col.primaryKey)) {
445
450
  throw new Error(`Table '${res.table}' has no column defined or auto-discovered. Please set 'primaryKey: true' in a columns which has unique value for each record and index`);
446
451
  }
452
+ if (isCompositePrimaryKey(res)) {
453
+ const virtualPk = res.columns.find((col) => col.primaryKey && col.virtual);
454
+ if (virtualPk) {
455
+ throw new Error(`Resource '${res.resourceId}' has virtual column '${virtualPk.name}' marked as primaryKey, which is not allowed`);
456
+ }
457
+ if (!this.connectors[res.dataSource].supportsCompositePrimaryKey) {
458
+ throw new Error(`Resource '${res.resourceId}' has composite primary key (${primaryKeyColumnNames(res).join(', ')}), ` +
459
+ `but data source '${res.dataSource}' connector does not support composite primary keys. ` +
460
+ `Please update connector package to version which supports them`);
461
+ }
462
+ }
447
463
  }));
448
464
  this.statuses.dbDiscover = 'done';
465
+ for (const res of this.config.resources) {
466
+ if (!isCompositePrimaryKey(res)) {
467
+ continue;
468
+ }
469
+ if (((_b = this.config.auth) === null || _b === void 0 ? void 0 : _b.usersResourceId) === res.resourceId) {
470
+ throw new Error(`Resource '${res.resourceId}' is used as auth.usersResourceId, so it must have single primaryKey column, ` +
471
+ `but it has composite primary key (${primaryKeyColumnNames(res).join(', ')})`);
472
+ }
473
+ const referencingColumn = this.config.resources.reduce((found, otherRes) => found || (otherRes.columns.find((col) => {
474
+ var _b, _c, _d;
475
+ return (((_b = col.foreignResource) === null || _b === void 0 ? void 0 : _b.resourceId) === res.resourceId ||
476
+ ((_d = (_c = col.foreignResource) === null || _c === void 0 ? void 0 : _c.polymorphicResources) === null || _d === void 0 ? void 0 : _d.some((pr) => pr.resourceId === res.resourceId)));
477
+ }) && { resourceId: otherRes.resourceId, column: otherRes.columns.find((col) => {
478
+ var _b, _c, _d;
479
+ return (((_b = col.foreignResource) === null || _b === void 0 ? void 0 : _b.resourceId) === res.resourceId ||
480
+ ((_d = (_c = col.foreignResource) === null || _c === void 0 ? void 0 : _c.polymorphicResources) === null || _d === void 0 ? void 0 : _d.some((pr) => pr.resourceId === res.resourceId)));
481
+ }).name }), null);
482
+ if (referencingColumn) {
483
+ throw new Error(`Column '${referencingColumn.column}' of resource '${referencingColumn.resourceId}' has foreignResource pointing to ` +
484
+ `resource '${res.resourceId}' which has composite primary key (${primaryKeyColumnNames(res).join(', ')}). ` +
485
+ `foreignResource to resources with composite primary key is not supported yet`);
486
+ }
487
+ }
449
488
  for (const res of this.config.resources) {
450
489
  this.configValidator.postProcessAfterDiscover(res);
451
490
  }
@@ -598,7 +637,9 @@ class AdminForth {
598
637
  if (error) {
599
638
  return { error };
600
639
  }
601
- const primaryKey = createdRecord[resource.columns.find((col) => col.primaryKey).name];
640
+ const primaryKey = isCompositePrimaryKey(resource)
641
+ ? encodeRecordId(resource, createdRecord)
642
+ : createdRecord[resource.columns.find((col) => col.primaryKey).name];
602
643
  // execute hook if needed
603
644
  for (const hook of listify((_e = (_d = resource.hooks) === null || _d === void 0 ? void 0 : _d.create) === null || _e === void 0 ? void 0 : _e.afterSave)) {
604
645
  afLogger.trace(`🪲 Hook afterSave ${hook}`);
@@ -724,7 +765,7 @@ class AdminForth {
724
765
  }
725
766
  }
726
767
  const connector = this.connectors[resource.dataSource];
727
- await connector.deleteRecord({ resource, recordId });
768
+ await connector.deleteRecord({ resource, recordId, pkValues: compositePkValues(connector, resource, recordId) });
728
769
  // execute hook if needed
729
770
  for (const hook of listify((_e = (_d = resource.hooks) === null || _d === void 0 ? void 0 : _d.delete) === null || _e === void 0 ? void 0 : _e.afterSave)) {
730
771
  const resp = await hook({