tspace-mysql 1.6.6-dev.1 → 1.6.6-dev.1.2
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.
- package/README.md +21 -0
- package/build/cli/models/model.js +2 -0
- package/build/cli/models/model.js.map +1 -1
- package/build/lib/core/Builder.d.ts +6 -0
- package/build/lib/core/Builder.js +9 -1
- package/build/lib/core/Builder.js.map +1 -1
- package/build/lib/core/Handlers/Relation.js +42 -34
- package/build/lib/core/Handlers/Relation.js.map +1 -1
- package/build/lib/core/Handlers/State.d.ts +2 -0
- package/build/lib/core/Handlers/State.js +2 -0
- package/build/lib/core/Handlers/State.js.map +1 -1
- package/build/lib/core/Model.d.ts +35 -1
- package/build/lib/core/Model.js +75 -16
- package/build/lib/core/Model.js.map +1 -1
- package/build/lib/utils/index.js.map +1 -1
- package/build/tests/Benchmark.test.d.ts +1 -0
- package/build/tests/Benchmark.test.js +132 -0
- package/build/tests/Benchmark.test.js.map +1 -0
- package/package.json +9 -6
|
@@ -31,23 +31,22 @@ class RelationHandler {
|
|
|
31
31
|
if (!((_a = Object.keys(relation)) === null || _a === void 0 ? void 0 : _a.length))
|
|
32
32
|
return [];
|
|
33
33
|
const { localKey, foreignKey } = this._valueInTRelation(relation);
|
|
34
|
-
const
|
|
34
|
+
const parentIds = parents
|
|
35
35
|
.map((parent) => {
|
|
36
|
-
const
|
|
37
|
-
if (
|
|
38
|
-
return data;
|
|
39
|
-
if (data == null) {
|
|
36
|
+
const key = parent[localKey];
|
|
37
|
+
if (key == null) {
|
|
40
38
|
throw this._assertError(`This relationship lacks a primary or foreign key in the '${relation === null || relation === void 0 ? void 0 : relation.name}' relation. Please review the query to identify whether the key '${localKey}' or '${foreignKey}' is missing.`);
|
|
41
39
|
}
|
|
40
|
+
return key;
|
|
42
41
|
})
|
|
43
42
|
.filter(d => d != null);
|
|
44
|
-
const parentIds = Array.from(new Set(localKeyId)) || [];
|
|
45
43
|
const query = relation.query;
|
|
46
44
|
if (query == null) {
|
|
47
45
|
throw this._assertError(`The callback query '${relation.name}' is unknown.`);
|
|
48
46
|
}
|
|
49
47
|
if (relation.count) {
|
|
50
48
|
const childs = yield query
|
|
49
|
+
.meta('SUBORDINATE')
|
|
51
50
|
.whereIn(foreignKey, parentIds)
|
|
52
51
|
.select(foreignKey)
|
|
53
52
|
.selectRaw(`${this.$constants('COUNT')}(\`${foreignKey}\`) ${this.$constants('AS')} \`aggregate\``)
|
|
@@ -64,12 +63,19 @@ class RelationHandler {
|
|
|
64
63
|
});
|
|
65
64
|
}
|
|
66
65
|
const childs = yield query
|
|
66
|
+
.meta('SUBORDINATE')
|
|
67
67
|
.whereIn(foreignKey, parentIds)
|
|
68
68
|
.debug(this.MODEL['$state'].get('DEBUG'))
|
|
69
69
|
.when(relation.trashed, (query) => query.onlyTrashed())
|
|
70
70
|
.when(relation.all, (query) => query.disableSoftDelete())
|
|
71
71
|
.bind(this.MODEL['$pool'].get())
|
|
72
72
|
.get();
|
|
73
|
+
if (this.MODEL['$state'].get('DEBUG')) {
|
|
74
|
+
this.MODEL['$state'].set('QUERIES', [
|
|
75
|
+
...this.MODEL['$state'].get('QUERIES'),
|
|
76
|
+
query.toString()
|
|
77
|
+
]);
|
|
78
|
+
}
|
|
73
79
|
return this._relationMapData({
|
|
74
80
|
parents,
|
|
75
81
|
childs,
|
|
@@ -429,17 +435,9 @@ class RelationHandler {
|
|
|
429
435
|
return functionName.replace(/([A-Z])/g, (str) => `_${str.toLowerCase()}`);
|
|
430
436
|
}
|
|
431
437
|
_relationMapData({ parents, childs, relation }) {
|
|
432
|
-
var _a, _b;
|
|
438
|
+
var _a, _b, _c, _d;
|
|
433
439
|
const { name, as, relation: relationName, localKey, foreignKey } = this._valueInTRelation(relation);
|
|
434
440
|
const alias = as !== null && as !== void 0 ? as : name;
|
|
435
|
-
const children = [...childs].reduce((prev, curr) => {
|
|
436
|
-
const key = curr[foreignKey];
|
|
437
|
-
if (!prev[key]) {
|
|
438
|
-
prev[key] = { [foreignKey]: key, values: [] };
|
|
439
|
-
}
|
|
440
|
-
prev[key].values.push(Object.assign({}, curr));
|
|
441
|
-
return prev;
|
|
442
|
-
}, {});
|
|
443
441
|
const relationIsHasOneOrBelongsTo = [
|
|
444
442
|
this.$constants('RELATIONSHIP').hasOne,
|
|
445
443
|
this.$constants('RELATIONSHIP').belongsTo
|
|
@@ -448,32 +446,37 @@ class RelationHandler {
|
|
|
448
446
|
this.$constants('RELATIONSHIP').hasMany,
|
|
449
447
|
this.$constants('RELATIONSHIP').belongsToMany
|
|
450
448
|
].some(r => r === relationName);
|
|
449
|
+
const children = [...childs]
|
|
450
|
+
.reduce((prev, curr) => {
|
|
451
|
+
const key = +curr[foreignKey];
|
|
452
|
+
if (!prev[key]) {
|
|
453
|
+
prev[key] = { [foreignKey]: key, values: [] };
|
|
454
|
+
}
|
|
455
|
+
prev[key].values.push(Object.assign({}, curr));
|
|
456
|
+
return prev;
|
|
457
|
+
}, {});
|
|
451
458
|
for (const parent of parents) {
|
|
452
459
|
if (relationIsHasOneOrBelongsTo)
|
|
453
460
|
parent[alias] = relation.count ? 0 : null;
|
|
454
461
|
if (relationIsHasManyOrBelongsToMany)
|
|
455
462
|
parent[alias] = relation.count ? 0 : [];
|
|
456
|
-
const match = children[
|
|
463
|
+
const match = children[+parent[localKey]];
|
|
457
464
|
if (match == null)
|
|
458
465
|
continue;
|
|
459
466
|
const childrens = (_a = match === null || match === void 0 ? void 0 : match.values) !== null && _a !== void 0 ? _a : [];
|
|
460
|
-
|
|
461
|
-
if (
|
|
462
|
-
|
|
463
|
-
parent[alias] = Number((_b = child === null || child === void 0 ? void 0 : child.aggregate) !== null && _b !== void 0 ? _b : 0);
|
|
464
|
-
break;
|
|
465
|
-
}
|
|
466
|
-
break;
|
|
467
|
+
if (relation.count) {
|
|
468
|
+
if (parent[alias] == 0) {
|
|
469
|
+
parent[alias] = Number((_c = (_b = childrens[0]) === null || _b === void 0 ? void 0 : _b.aggregate) !== null && _c !== void 0 ? _c : 0);
|
|
467
470
|
}
|
|
468
|
-
|
|
469
|
-
|
|
470
|
-
|
|
471
|
-
|
|
472
|
-
|
|
473
|
-
break;
|
|
471
|
+
continue;
|
|
472
|
+
}
|
|
473
|
+
if (relationIsHasOneOrBelongsTo) {
|
|
474
|
+
if (parent[alias] == null) {
|
|
475
|
+
parent[alias] = (_d = childrens[0]) !== null && _d !== void 0 ? _d : null;
|
|
474
476
|
}
|
|
475
|
-
|
|
477
|
+
continue;
|
|
476
478
|
}
|
|
479
|
+
parent[alias] = childrens;
|
|
477
480
|
}
|
|
478
481
|
if (this.MODEL['$state'].get('HIDDEN').length)
|
|
479
482
|
this.MODEL['_hiddenColumnModel'](parents);
|
|
@@ -508,6 +511,7 @@ class RelationHandler {
|
|
|
508
511
|
: queryPivot;
|
|
509
512
|
if (relation.count) {
|
|
510
513
|
const pivotResults = yield queryPivot
|
|
514
|
+
.meta('SUBORDINATE')
|
|
511
515
|
.whereIn(localKeyPivotTable, mainResultIds)
|
|
512
516
|
.select(localKeyPivotTable)
|
|
513
517
|
.selectRaw(`${this.$constants('COUNT')}(${localKeyPivotTable}) ${this.$constants('AS')} \`aggregate\``)
|
|
@@ -532,6 +536,7 @@ class RelationHandler {
|
|
|
532
536
|
return parents;
|
|
533
537
|
}
|
|
534
538
|
const pivotResults = yield queryPivot
|
|
539
|
+
.meta('SUBORDINATE')
|
|
535
540
|
.whereIn(localKeyPivotTable, mainResultIds)
|
|
536
541
|
.when(relation.query != null, (query) => query.select(localKeyPivotTable, localKey))
|
|
537
542
|
.when(relation.exists, (query) => query.whereExists(sqlPivotExists))
|
|
@@ -544,6 +549,7 @@ class RelationHandler {
|
|
|
544
549
|
.map((pivotResult) => pivotResult[relationForeignKey])
|
|
545
550
|
.filter((d) => d != null)));
|
|
546
551
|
const relationResults = yield modelRelation
|
|
552
|
+
.meta('SUBORDINATE')
|
|
547
553
|
.whereIn(mainlocalKey, relationIds)
|
|
548
554
|
.when(relation.trashed, (query) => query.disableSoftDelete())
|
|
549
555
|
.bind(this.MODEL['$pool'].get())
|
|
@@ -673,24 +679,26 @@ class RelationHandler {
|
|
|
673
679
|
}
|
|
674
680
|
_valuePattern(value) {
|
|
675
681
|
const schema = this.MODEL['$state'].get('SCHEMA_TABLE');
|
|
682
|
+
const snakeCase = (str) => str.replace(/([A-Z])/g, (v) => `_${v.toLowerCase()}`);
|
|
683
|
+
const camelCase = (str) => str.replace(/(.(_|-|\s)+.)/g, (v) => `${v[0]}${v[v.length - 1].toUpperCase()}`);
|
|
676
684
|
switch (this.MODEL['$state'].get('PATTERN')) {
|
|
677
685
|
case this.$constants('PATTERN').snake_case: {
|
|
678
686
|
if (schema == null) {
|
|
679
|
-
return value
|
|
687
|
+
return snakeCase(value);
|
|
680
688
|
}
|
|
681
689
|
const find = schema[value];
|
|
682
690
|
if (find == null || find.column == null) {
|
|
683
|
-
return value
|
|
691
|
+
return snakeCase(value);
|
|
684
692
|
}
|
|
685
693
|
return find.column;
|
|
686
694
|
}
|
|
687
695
|
case this.$constants('PATTERN').camelCase: {
|
|
688
696
|
if (schema == null) {
|
|
689
|
-
return value
|
|
697
|
+
return camelCase(value);
|
|
690
698
|
}
|
|
691
699
|
const find = schema[value];
|
|
692
700
|
if (find == null || find.column == null) {
|
|
693
|
-
return value
|
|
701
|
+
return camelCase(value);
|
|
694
702
|
}
|
|
695
703
|
return find.column;
|
|
696
704
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Relation.js","sourceRoot":"","sources":["../../../../src/lib/core/Handlers/Relation.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;AAAA,0DAAkC;AAElC,oCAAiC;AAGjC,MAAM,eAAe;IAUjB,YAAY,KAAa;QACrB,IAAI,CAAC,KAAK,GAAG,KAAK,CAAA;QAClB,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,CAAA;QAC1C,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC,CAAA;IACxC,CAAC;IAEK,IAAI,CAAE,OAA6B,EAAG,QAA0B;;;YAElE,MAAM,uBAAuB,GAAG,QAAQ,CAAC,QAAQ,KAAK,IAAI,CAAC,UAAU,CAAC,cAAc,CAAC,CAAC,aAAa,CAAA;YAEnG,IAAG,uBAAuB,EAAE,CAAC;gBACzB,OAAO,MAAM,IAAI,CAAC,cAAc,CAAC,OAAO,EAAG,QAAQ,CAAC,CAAA;YACxD,CAAC;YAED,IAAG,CAAC,CAAA,MAAA,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,0CAAE,MAAM,CAAA;gBAAE,OAAO,EAAE,CAAA;YAE5C,MAAM,EAAE,QAAQ,EAAE,UAAU,EAAE,GAAG,IAAI,CAAC,iBAAiB,CAAC,QAAQ,CAAC,CAAA;YAEjE,MAAM,UAAU,GAAU,OAAO;iBAChC,GAAG,CAAC,CAAC,MAA0B,EAAE,EAAE;gBAChC,MAAM,IAAI,GAAG,MAAM,CAAC,QAAQ,CAAC,CAAA;gBAC7B,IAAG,MAAM,CAAC,cAAc,CAAC,QAAQ,CAAC;oBAAE,OAAO,IAAI,CAAA;gBAC/C,IAAG,IAAI,IAAI,IAAI,EAAE,CAAC;oBACd,MAAM,IAAI,CAAC,YAAY,CACnB,4DAA4D,QAAQ,aAAR,QAAQ,uBAAR,QAAQ,CAAE,IAAI,oEAAoE,QAAQ,SAAS,UAAU,eAAe,CAC3L,CAAA;gBACL,CAAC;YAEL,CAAC,CAAC;iBACD,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,IAAI,IAAI,CAAC,CAAA;YAEvB,MAAM,SAAS,GAAa,KAAK,CAAC,IAAI,CAAC,IAAI,GAAG,CAAC,UAAU,CAAC,CAAC,IAAI,EAAE,CAAA;YAEjE,MAAM,KAAK,GAAG,QAAQ,CAAC,KAAc,CAAA;YAErC,IAAG,KAAK,IAAI,IAAI,EAAE,CAAC;gBACf,MAAM,IAAI,CAAC,YAAY,CAAC,uBAAuB,QAAQ,CAAC,IAAI,eAAe,CAAC,CAAA;YAChF,CAAC;YAED,IAAG,QAAQ,CAAC,KAAK,EAAE,CAAC;gBAChB,MAAM,MAAM,GAA0B,MAAM,KAAK;qBAChD,OAAO,CAAC,UAAU,EAAC,SAAS,CAAC;qBAC7B,MAAM,CAAC,UAAU,CAAC;qBAClB,SAAS,CAAC,GAAG,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC,MAAM,UAAU,OAAO,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,gBAAgB,CAAC;qBAClG,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;qBACxC,IAAI,CAAC,QAAQ,CAAC,OAAO,EAAE,CAAC,KAAa,EAAE,EAAE,CAAC,KAAK,CAAC,WAAW,EAAE,CAAC;qBAC9D,IAAI,CAAC,QAAQ,CAAC,GAAG,EAAE,CAAC,KAAa,EAAE,EAAE,CAAC,KAAK,CAAC,iBAAiB,EAAE,CAAC;qBAChE,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,GAAG,EAAE,CAAC;qBAC/B,OAAO,CAAC,UAAU,CAAC;qBACnB,GAAG,EAAE,CAAA;gBAEN,OAAO,IAAI,CAAC,gBAAgB,CAAC;oBACzB,OAAO;oBACP,MAAM;oBACN,QAAQ;iBACX,CAAC,CAAA;YACN,CAAC;YAED,MAAM,MAAM,GAA0B,MAAM,KAAK;iBAChD,OAAO,CAAC,UAAU,EAAC,SAAS,CAAC;iBAC7B,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;iBACxC,IAAI,CAAC,QAAQ,CAAC,OAAO,EAAE,CAAC,KAAa,EAAE,EAAE,CAAC,KAAK,CAAC,WAAW,EAAE,CAAC;iBAC9D,IAAI,CAAC,QAAQ,CAAC,GAAG,EAAE,CAAC,KAAa,EAAE,EAAE,CAAC,KAAK,CAAC,iBAAiB,EAAE,CAAC;iBAChE,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,GAAG,EAAE,CAAC;iBAC/B,GAAG,EAAE,CAAA;YAEN,OAAO,IAAI,CAAC,gBAAgB,CAAC;gBACzB,OAAO;gBACP,MAAM;gBACN,QAAQ;aACX,CAAC,CAAA;QACN,CAAC;KAAA;IAED,UAAU;;QAEN,MAAM,SAAS,GAAG,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC,GAAG,CAAC,WAAW,CAAC,CAAA;QAEvD,KAAI,MAAM,KAAK,IAAI,SAAS,EAAE,CAAC;YAE3B,MAAM,QAAQ,GAAG,SAAS,CAAC,KAAK,CAAC,CAAA;YAEjC,IAAG,CAAC,CAAA,MAAA,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,0CAAE,MAAM,CAAA;gBAAE,SAAQ;YAE3C,IAAG,QAAQ,CAAC,MAAM,IAAI,IAAI;gBAAE,SAAQ;YAEpC,MAAM,EAAE,QAAQ,EAAE,UAAU,EAAG,KAAK,EAAG,UAAU,EAAE,GAAG,IAAI,CAAC,iBAAiB,CAAC,QAAQ,CAAC,CAAA;YAEtF,MAAM,KAAK,GAAG,QAAQ,CAAC,KAAc,CAAA;YAErC,IAAG,KAAK,IAAI,IAAI,EAAE,CAAC;gBACf,MAAM,IAAI,CAAC,YAAY,CAAC,uBAAuB,QAAQ,CAAC,IAAI,eAAe,CAAC,CAAA;YAChF,CAAC;YAED,IAAI,KAAK,GAAG,IAAI,aAAK,EAAE,CAAC,SAAS,CAAC,KAAK,CAAC,CAAA;YAExC,MAAM,cAAc,GAAG,KAAK,CAAC,QAAQ,CAAC,CAAC,GAAG,CAAC,WAAW,CAAC,CAAA;YAEvD,IAAG,cAAc,CAAC,MAAM,EAAE,CAAC;gBACvB,KAAI,MAAM,CAAC,IAAI,cAAc,EAAE,CAAC;oBAC5B,IAAG,CAAC,CAAC,CAAC,MAAM;wBAAE,SAAQ;oBACtB,IAAG,CAAC,CAAC,KAAK,IAAI,IAAI;wBAAE,SAAQ;oBAC5B,MAAM,GAAG,GAAI,MAAA,KAAK,CAAC,WAAW,CAAC,0CAAE,8BAA8B,CAAC,CAAC,CAAC,CAAA;oBAClE,KAAK,CAAC,WAAW,CAAC,GAAG,CAAC,CAAA;gBAC1B,CAAC;YACL,CAAC;YAED,IAAG,QAAQ,CAAC,QAAQ,KAAK,IAAI,CAAC,UAAU,CAAC,cAAc,CAAC,CAAC,aAAa,EAAE,CAAC;gBAErE,MAAM,SAAS,GAAI,UAAU;oBAC7B,CAAC,CAAC,IAAI,UAAmB;oBACzB,CAAC,CAAC,IAAI,aAAK,EAAE,CAAC,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAA;gBAElC,MAAM,GAAG,GAAG,KAAK;qBAChB,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,GAAG,EAAE,CAAC;qBAC/B,SAAS,CAAC,GAAG,CAAC;qBACd,cAAc,CACX,KAAK,KAAK,CAAC,YAAY,EAAE,QAAQ,UAAU,IAAI,EAC/C,KAAK,SAAS,CAAC,YAAY,EAAE,QAAQ,QAAQ,IAAI,CACpD;qBACA,QAAQ,EAAE,CAAA;gBAEX,SAAS,CAAC,WAAW,CAAC,GAAG,CAAC,CAAA;gBAE1B,MAAM,QAAQ,GAAG,SAAS;qBACzB,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,GAAG,EAAE,CAAC;qBAC/B,SAAS,CAAC,GAAG,CAAC;qBACd,cAAc,CACX,KAAK,IAAI,CAAC,KAAK,CAAC,cAAc,CAAC,EAAE,QAAQ,UAAU,IAAI,EACvD,KAAK,SAAS,CAAC,YAAY,EAAE,QAAQ,IAAI,CAAC,aAAa,CAAC,CAAC,mBAAS,CAAC,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,cAAc,CAAC,EAAE,CAAC,EAAC,UAAU,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,IAAI,CACvI;qBACA,QAAQ,EAAE,CAAA;gBAEX,IAAI,CAAC,KAAK,CAAC,aAAa,CAAC,CAAC,QAAQ,CAAC,CAAA;gBAEnC,SAAQ;YACZ,CAAC;YAED,MAAM,GAAG,GAAG,KAAK;iBACZ,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,GAAG,EAAE,CAAC;iBAC/B,SAAS,CAAC,GAAG,CAAC;iBACd,cAAc,CACX,KAAK,IAAI,CAAC,KAAK,CAAC,YAAY,EAAE,QAAQ,QAAQ,IAAI,EAClD,KAAK,KAAK,CAAC,YAAY,EAAE,QAAQ,UAAU,IAAI,CAClD;iBACA,QAAQ,EAAE,CAAA;YAEf,IAAI,CAAC,KAAK,CAAC,aAAa,CAAC,CAAC,GAAG,CAAC,CAAA;QAClC,CAAC;QAED,MAAM,GAAG,GAAG,IAAI,CAAC,KAAK,CAAC,eAAe,CAAC,EAAE,CAAC,MAAM,EAAE,CAAA;QAElD,OAAO,GAAG,CAAA;IACd,CAAC;IAED,KAAK,CAAE,aAAqB,EAAG,IAAyD;QAEpF,MAAM,SAAS,GAAI,aAAa,CAAC,GAAG,CAAC,CAAC,IAAY,EAAE,EAAE;;YAElD,MAAM,QAAQ,GAAsB,MAAA,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC,GAAG,CAAC,UAAU,CAAC,0CAAE,IAAI,CAAC,CAAC,IAAsB,EAAE,EAAE,CAAC,IAAI,CAAC,IAAI,KAAK,IAAI,CAAC,CAAA;YAE9H,IAAG,QAAQ,IAAI,IAAI,EAAE,CAAC;gBAClB,MAAM,IAAI,CAAC,YAAY,CACnB,uBAAuB,IAAI,+BAA+B,MAAA,IAAI,CAAC,KAAK,CAAC,WAAW,0CAAE,IAAI,IAAI,CAC7F,CAAA;YACL,CAAC;YAED,MAAM,iBAAiB,GAAG,MAAA,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,UAAU,CAAC,cAAc,CAAC,CAAC,0CAAE,QAAQ,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAA;YAErG,IAAG,CAAC,iBAAiB,EAAE,CAAC;gBACpB,MAAO,IAAI,CAAC,YAAY,CACpB,qBAAqB,QAAQ,CAAC,QAAQ,eAAe,CACxD,CAAA;YACL,CAAC;YAED,IAAG,QAAQ,CAAC,KAAK,IAAI,IAAI,EAAE,CAAC;gBACxB,MAAM,IAAI,CAAC,YAAY,CAAC,wCAAwC,CAAC,CAAA;YACrE,CAAC;YAED,IAAG,QAAQ,CAAC,KAAK,IAAI,IAAI;gBAAE,QAAQ,CAAC,KAAK,GAAG,IAAI,QAAQ,CAAC,KAAK,EAAE,CAAA;YAEhE,OAAO,QAAQ,CAAA;QACnB,CAAC,CAAC,CAAA;QAEF,KAAI,MAAM,QAAQ,IAAI,SAAS,EAAE,CAAC;YAC9B,IAAG,IAAI,KAAK,SAAS;gBAAE,MAAK;YAC5B,QAAQ,CAAC,IAAI,CAAC,GAAG,IAAI,CAAA;QACzB,CAAC;QAED,OAAO,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC,MAAM;YACnD,CAAC,CAAC,CAAC,GAAG,SAAS,CAAC,GAAG,CAAC,CAAC,CAAoB,EAAE,EAAE;oBACzC,MAAM,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC,IAAI,CAAC,CAAC,CAAoB,EAAE,EAAE,CAAE,CAAC,CAAC,IAAI,KAAK,CAAC,CAAC,IAAI,CAAC,CAAA;oBACnG,IAAG,MAAM;wBAAE,OAAO,IAAI,CAAA;oBACtB,OAAO,CAAC,CAAA;gBACZ,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,IAAI,IAAI,CAAC;gBAC3B,GAAG,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC;YAC7C,CAAC,CAAC,SAAS,CAAA;IACf,CAAC;IAED,QAAQ,CAAE,YAAoB,EAAG,EAAa;;QAE1C,MAAM,QAAQ,GAAsB,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC,IAAI,CAAC,CAAC,IAAsB,EAAE,EAAE,CAAC,IAAI,CAAC,IAAI,KAAK,YAAY,CAAC,CAAA;QAEtI,IAAG,QAAQ,IAAI,IAAI,EAAE,CAAC;YAClB,MAAM,IAAI,CAAC,YAAY,CACnB,uBAAuB,YAAY,+BAA+B,MAAA,IAAI,CAAC,KAAK,CAAC,WAAW,0CAAE,IAAI,IAAI,CACrG,CAAA;QACL,CAAC;QAED,MAAM,iBAAiB,GAAG,MAAA,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,UAAU,CAAC,cAAc,CAAC,CAAC,0CAAE,QAAQ,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAA;QAErG,IAAG,CAAC,iBAAiB,EAAE,CAAC;YACpB,MAAO,IAAI,CAAC,YAAY,CACpB,qBAAqB,QAAQ,CAAC,QAAQ,eAAe,CACxD,CAAA;QACL,CAAC;QAED,IAAG,QAAQ,CAAC,KAAK,IAAI,IAAI,EAAE,CAAC;YACxB,MAAM,IAAI,CAAC,YAAY,CAAC,wCAAwC,CAAC,CAAA;QACrE,CAAC;QAED,QAAQ,CAAC,KAAK,GAAG,EAAE,CAAC,IAAI,QAAQ,CAAC,KAAK,EAAE,CAAC,CAAA;QAEzC,OAAM;IACV,CAAC;IAED,aAAa,CAAE,YAAoB,EAAG,EAAa;;QAE/C,MAAM,QAAQ,GAAsB,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC,IAAI,CAAC,CAAC,IAAsB,EAAE,EAAE,CAAC,IAAI,CAAC,IAAI,KAAK,YAAY,CAAC,CAAA;QAEtI,IAAG,QAAQ,IAAI,IAAI,EAAE,CAAC;YAClB,MAAM,IAAI,CAAC,YAAY,CACnB,uBAAuB,YAAY,+BAA+B,MAAA,IAAI,CAAC,KAAK,CAAC,WAAW,0CAAE,IAAI,GAAG,CACpG,CAAA;QACL,CAAC;QAED,MAAM,iBAAiB,GAAG,MAAA,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,UAAU,CAAC,cAAc,CAAC,CAAC,0CAAE,QAAQ,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAA;QAErG,IAAG,CAAC,iBAAiB,EAAE,CAAC;YACpB,MAAO,IAAI,CAAC,YAAY,CACpB,qBAAqB,QAAQ,CAAC,QAAQ,eAAe,CACxD,CAAA;QACL,CAAC;QAED,IAAG,QAAQ,CAAC,QAAQ,KAAK,IAAI,CAAC,UAAU,CAAC,cAAc,CAAC,CAAC,aAAa,EAAE,CAAC;YACrE,MAAO,IAAI,CAAC,YAAY,CACpB,kEAAkE,CACrE,CAAA;QACL,CAAC;QAED,IAAG,QAAQ,CAAC,UAAU,IAAI,IAAI,EAAE,CAAC;YAC7B,MAAM,IAAI,CAAC,YAAY,CAAC,6CAA6C,CAAC,CAAA;QAC1E,CAAC;QAED,QAAQ,CAAC,UAAU,GAAG,EAAE,CAAC,IAAI,QAAQ,CAAC,UAAU,EAAE,CAAC,CAAA;QAEnD,OAAM;IACV,CAAC;IAED,cAAc,CAAE,YAAoB;;QAEhC,MAAM,QAAQ,GAAsB,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC,IAAI,CAAC,CAAC,IAAsB,EAAE,EAAE,CAAC,IAAI,CAAC,IAAI,KAAK,YAAY,CAAC,CAAA;QAEtI,IAAG,QAAQ,IAAI,IAAI,EAAE,CAAC;YAClB,MAAM,IAAI,CAAC,YAAY,CACnB,uBAAuB,YAAY,+BAA+B,MAAA,IAAI,CAAC,KAAK,CAAC,WAAW,0CAAE,IAAI,GAAG,CACpG,CAAA;QACL,CAAC;QAED,MAAM,iBAAiB,GAAG,MAAA,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,UAAU,CAAC,cAAc,CAAC,CAAC,0CAAE,QAAQ,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAA;QAErG,IAAG,CAAC,iBAAiB,EAAE,CAAC;YACpB,MAAO,IAAI,CAAC,YAAY,CACpB,qBAAqB,QAAQ,CAAC,QAAQ,eAAe,CACxD,CAAA;QACL,CAAC;QAED,OAAO,IAAI,QAAQ,CAAC,KAAK,EAAE,CAAA;IAC/B,CAAC;IAED,MAAM,CAAE,EAAE,IAAI,EAAG,EAAE,EAAG,KAAK,EAAI,QAAQ,EAAG,UAAU,EAAG,WAAW,EAAqB;QACnF,MAAM,QAAQ,GAAG;YACb,IAAI;YACJ,KAAK;YACL,EAAE;YACF,QAAQ,EAAE,IAAI,CAAC,UAAU,CAAC,cAAc,CAAC,CAAC,MAAM;YAChD,QAAQ;YACR,UAAU;YACV,WAAW;YACX,KAAK,EAAG,IAAI;SACf,CAAA;QACD,OAAQ,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC,GAAG,CAAC,UAAU,EAAE,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC,GAAG,CAAC,UAAU,CAAC,EAAG,QAAQ,CAAC,CAAC,CAAA;IACtG,CAAC;IAED,OAAO,CAAE,EAAE,IAAI,EAAG,EAAE,EAAG,KAAK,EAAI,QAAQ,EAAG,UAAU,EAAG,WAAW,EAAqB;QACpF,MAAM,QAAQ,GAAG;YACb,IAAI;YACJ,KAAK;YACL,EAAE;YACF,QAAQ,EAAE,IAAI,CAAC,UAAU,CAAC,cAAc,CAAC,CAAC,OAAO;YACjD,QAAQ;YACR,UAAU;YACV,WAAW;YACX,KAAK,EAAG,IAAI;SACf,CAAA;QACD,OAAQ,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC,GAAG,CAAC,UAAU,EAAE,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC,GAAG,CAAC,UAAU,CAAC,EAAG,QAAQ,CAAC,CAAC,CAAA;IACtG,CAAC;IAED,SAAS,CAAE,EAAE,IAAI,EAAG,EAAE,EAAG,KAAK,EAAI,QAAQ,EAAG,UAAU,EAAG,WAAW,EAAqB;QACtF,MAAM,QAAQ,GAAG;YACb,IAAI;YACJ,KAAK;YACL,EAAE;YACF,QAAQ,EAAE,IAAI,CAAC,UAAU,CAAC,cAAc,CAAC,CAAC,SAAS;YACnD,QAAQ;YACR,UAAU;YACV,WAAW;YACX,KAAK,EAAG,IAAI;SACf,CAAA;QAED,OAAQ,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC;aAC3B,GAAG,CAAC,UAAU,EAAE;YACb,GAAG,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC,GAAG,CAAC,UAAU,CAAC;YACvC,QAAQ;SACX,CAAC,CAAA;IACN,CAAC;IAED,aAAa,CAAC,EAAE,IAAI,EAAG,EAAE,EAAG,KAAK,EAAI,QAAQ,EAAG,UAAU,EAAG,WAAW,EAAG,KAAK,EAAG,UAAU,EAAE,UAAU,EAAqB;QAE1H,MAAM,QAAQ,GAAG;YACb,IAAI;YACJ,KAAK;YACL,EAAE;YACF,QAAQ,EAAE,IAAI,CAAC,UAAU,CAAC,cAAc,CAAC,CAAC,aAAa;YACvD,QAAQ;YACR,UAAU;YACV,WAAW;YACX,KAAK;YACL,UAAU;YACV,KAAK,EAAG,IAAI;YACZ,UAAU;SACb,CAAA;QAED,OAAO,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC;aAC1B,GAAG,CAAC,UAAU,EAAE;YACb,GAAG,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC,GAAG,CAAC,UAAU,CAAC;YACvC,QAAQ;SACX,CAAC,CAAA;IACN,CAAC;IAED,aAAa,CAAE,EACX,IAAI,EACJ,EAAE,EACF,KAAK,EACL,QAAQ,EACR,UAAU,EACV,WAAW,GACU,EAAG,QAAoB;QAE5C,MAAM,YAAY,GAAG,IAAI,IAAI,IAAI;YAC7B,CAAC,CAAC,IAAI,CAAC,6BAA6B,EAAE;YACtC,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,CAAA;QAElB,MAAM,QAAQ,GAAG;YACb,IAAI,EAAG,YAAY;YACnB,KAAK;YACL,EAAE;YACF,QAAQ,EAAE,IAAI,CAAC,UAAU,CAAC,cAAc,CAAC,CAAC,MAAM;YAChD,QAAQ;YACR,UAAU;YACV,WAAW;YACX,KAAK,EAAG,IAAI;SACf,CAAA;QAED,MAAM,CAAC,GAAG,IAAI,CAAC,gBAAgB,CAAC,YAAY,EAAG,QAAQ,CAAC,CAAA;QAExD,IAAG,QAAQ,IAAI,IAAI,EAAE,CAAC;YAClB,CAAC,CAAC,KAAK,GAAG,IAAI,CAAC,CAAC,KAAK,EAAE,CAAA;YACvB,OAAO,IAAI,CAAA;QACf,CAAC;QAED,CAAC,CAAC,KAAK,GAAG,QAAQ,CAAC,IAAI,CAAC,CAAC,KAAK,EAAE,CAAC,CAAA;QAEjC,OAAM;IAEV,CAAC;IAED,cAAc,CAAE,EACZ,IAAI,EACJ,EAAE,EACF,KAAK,EACL,QAAQ,EACR,UAAU,EACV,WAAW,GACU,EAAG,QAAoB;QAE5C,MAAM,YAAY,GAAG,IAAI,IAAI,IAAI;YAC7B,CAAC,CAAC,IAAI,CAAC,6BAA6B,EAAE;YACtC,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,CAAA;QAElB,MAAM,QAAQ,GAAG;YACb,IAAI,EAAG,YAAY;YACnB,KAAK;YACL,EAAE;YACF,QAAQ,EAAE,IAAI,CAAC,UAAU,CAAC,cAAc,CAAC,CAAC,OAAO;YACjD,QAAQ;YACR,UAAU;YACV,WAAW;YACX,KAAK,EAAG,IAAI;SACf,CAAA;QAED,MAAM,CAAC,GAAG,IAAI,CAAC,gBAAgB,CAAC,YAAY,EAAG,QAAQ,CAAC,CAAA;QAExD,IAAG,QAAQ,IAAI,IAAI,EAAE,CAAC;YAClB,CAAC,CAAC,KAAK,GAAG,IAAI,CAAC,CAAC,KAAK,EAAE,CAAA;YACvB,OAAO,IAAI,CAAA;QACf,CAAC;QAED,CAAC,CAAC,KAAK,GAAG,QAAQ,CAAC,IAAI,CAAC,CAAC,KAAK,EAAE,CAAC,CAAA;QAEjC,OAAM;IAEV,CAAC;IAED,gBAAgB,CAAE,EACd,IAAI,EACJ,EAAE,EACF,KAAK,EACL,QAAQ,EACR,UAAU,EACV,WAAW,GACU,EAAG,QAAoB;QAE5C,MAAM,YAAY,GAAG,IAAI,IAAI,IAAI;YAC7B,CAAC,CAAC,IAAI,CAAC,6BAA6B,EAAE;YACtC,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,CAAA;QAElB,MAAM,QAAQ,GAAG;YACb,IAAI,EAAG,YAAY;YACnB,KAAK;YACL,EAAE;YACF,QAAQ,EAAE,IAAI,CAAC,UAAU,CAAC,cAAc,CAAC,CAAC,SAAS;YACnD,QAAQ;YACR,UAAU;YACV,WAAW;YACX,KAAK,EAAG,IAAI;SACf,CAAA;QAED,MAAM,CAAC,GAAG,IAAI,CAAC,gBAAgB,CAAC,YAAY,EAAG,QAAQ,CAAC,CAAA;QAExD,IAAG,QAAQ,IAAI,IAAI,EAAE,CAAC;YAClB,CAAC,CAAC,KAAK,GAAG,IAAI,CAAC,CAAC,KAAK,EAAE,CAAA;YACvB,OAAO,IAAI,CAAA;QACf,CAAC;QAED,CAAC,CAAC,KAAK,GAAG,QAAQ,CAAC,IAAI,CAAC,CAAC,KAAK,EAAE,CAAC,CAAA;QAEjC,OAAM;IAEV,CAAC;IAED,oBAAoB,CAAE,EAClB,IAAI,EACJ,EAAE,EACF,KAAK,EACL,QAAQ,EACR,UAAU,EACV,WAAW,EACX,KAAK,EACgB,EAAG,QAAoB;QAE5C,MAAM,YAAY,GAAG,IAAI,IAAI,IAAI;YAC7B,CAAC,CAAC,IAAI,CAAC,6BAA6B,EAAE;YACtC,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,CAAA;QAElB,MAAM,QAAQ,GAAG;YACb,IAAI,EAAG,YAAY;YACnB,KAAK;YACL,EAAE;YACF,QAAQ,EAAE,IAAI,CAAC,UAAU,CAAC,cAAc,CAAC,CAAC,aAAa;YACvD,QAAQ;YACR,UAAU;YACV,WAAW;YACX,KAAK;YACL,KAAK,EAAG,IAAI;SACf,CAAA;QAED,MAAM,CAAC,GAAG,IAAI,CAAC,gBAAgB,CAAC,YAAY,EAAG,QAAQ,CAAC,CAAA;QAExD,IAAG,QAAQ,IAAI,IAAI,EAAE,CAAC;YAClB,CAAC,CAAC,KAAK,GAAG,IAAI,CAAC,CAAC,KAAK,EAAE,CAAA;YACvB,OAAO,IAAI,CAAA;QACf,CAAC;QAED,CAAC,CAAC,KAAK,GAAG,QAAQ,CAAC,IAAI,CAAC,CAAC,KAAK,EAAE,CAAC,CAAA;QAEjC,OAAM;IAEV,CAAC;IAEO,8BAA8B,CAAE,QAA2B;;QAE/D,IAAI,CAAC,YAAY,CAAC,CAAC,CAAA,MAAA,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,0CAAE,MAAM,CAAA,EAAE,oBAAoB,CAAC,CAAA;QAEvE,MAAM,EAAE,QAAQ,EAAE,UAAU,EAAE,GAAG,IAAI,CAAC,iBAAiB,CAAC,QAAQ,CAAC,CAAA;QAEjE,MAAM,KAAK,GAAG,QAAQ,CAAC,KAAc,CAAA;QAErC,IAAI,CAAC,YAAY,CAAC,KAAK,IAAI,IAAI,EAAE,kDAAkD,QAAQ,CAAC,IAAI,IAAI,CAAC,CAAA;QAErG,MAAM,KAAK,GAAG,IAAI,aAAK,EAAE,CAAC,SAAS,CAAC,KAAK,CAAC,CAAA;QAE1C,MAAM,cAAc,GAAG,KAAK,CAAC,QAAQ,CAAC,CAAC,GAAG,CAAC,WAAW,CAAC,CAAA;QAEvD,IAAG,cAAc,CAAC,MAAM,EAAE,CAAC;YAEvB,KAAI,MAAM,CAAC,IAAI,cAAc,EAAE,CAAC;gBAC5B,IAAG,CAAC,CAAC,CAAC,MAAM;oBAAE,SAAQ;gBACtB,IAAG,CAAC,CAAC,KAAK,IAAI,IAAI;oBAAE,SAAQ;gBAE5B,IAAG,CAAC,CAAC,QAAQ,KAAK,IAAI,CAAC,UAAU,CAAC,cAAc,CAAC,CAAC,aAAa,EAAE,CAAC;oBAE9D,MAAM,IAAI,GAAG,MAAA,KAAK,CAAC,WAAW,CAAC,0CAAE,iBAAiB,CAAC,CAAC,CAAC,CAAA;oBAErD,IAAG,IAAI,IAAI,IAAI;wBAAE,SAAQ;oBAEzB,MAAM,EAAE,UAAU,EAAG,KAAK,EAAE,UAAU,EAAE,GAAG,IAAI,CAAA;oBAE/C,MAAM,SAAS,GAAI,UAAU,IAAI,IAAI,IAAI,KAAK,IAAI,IAAI;wBACtD,CAAC,CAAG,IAAI,aAAK,EAAE,CAAC,KAAK,CAAC,GAAG,IAAI,CAAC,aAAa,CAAC;4BACpC,mBAAS,CAAC,QAAQ,CAAC,KAAK,CAAC,YAAY,EAAE,CAAC;4BACxC,mBAAS,CAAC,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,cAAc,CAAC,EAAE,CAAC;yBACnD,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC;wBACnB,CAAC,CAAE,UAAU,CAAC,CAAC,CAAC,IAAI,UAAmB,CAAC,CAAC,CAAC,IAAI,aAAK,EAAE,CAAC,KAAK,CAAC,GAAG,KAAK,EAAE,CAAC,CAAA;oBAEvE,MAAM,GAAG,GAAG,KAAK;yBAChB,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,GAAG,EAAE,CAAC;yBAC/B,SAAS,CAAC,GAAG,CAAC;yBACd,cAAc,CACX,KAAK,KAAK,CAAC,YAAY,EAAE,QAAQ,UAAU,IAAI,EAC/C,KAAK,SAAS,CAAC,YAAY,EAAE,QAAQ,IAAI,CAAC,aAAa,CAAC;wBACpD,mBAAS,CAAC,QAAQ,CAAC,KAAK,CAAC,YAAY,EAAE,CAAC;wBACxC,QAAQ;qBACX,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,IAAI,CACnB;yBACA,QAAQ,EAAE,CAAA;oBAEX,SAAS,CAAC,WAAW,CAAC,GAAG,CAAC,CAAA;oBAE1B,MAAM,QAAQ,GAAG,SAAS;yBACzB,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,GAAG,EAAE,CAAC;yBAC/B,SAAS,CAAC,GAAG,CAAC;yBACd,cAAc,CACX,KAAK,IAAI,CAAC,KAAK,CAAC,cAAc,CAAC,EAAE,QAAQ,UAAU,IAAI,EACvD,KAAK,SAAS,CAAC,YAAY,EAAE,QAAQ,IAAI,CAAC,aAAa,CAAC,CAAC,mBAAS,CAAC,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,cAAc,CAAC,EAAE,CAAC,EAAC,UAAU,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,IAAI,CACvI;yBACA,QAAQ,EAAE,CAAA;oBAEX,KAAK,CAAC,WAAW,CAAC,QAAQ,CAAC,CAAA;oBAE3B,SAAQ;gBACZ,CAAC;gBAED,MAAM,GAAG,GAAI,MAAA,MAAA,KAAK,CAAC,WAAW,CAAC,0CAAE,8BAA8B,CAAC,CAAC,CAAC,mCAAI,EAAE,CAAA;gBACxE,KAAK,CAAC,WAAW,CAAC,GAAG,CAAC,CAAA;YAC1B,CAAC;QACL,CAAC;QAED,MAAM,GAAG,GAAG,KAAK;aAChB,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,GAAG,EAAE,CAAC;aAC/B,SAAS,CAAC,GAAG,CAAC;aACd,cAAc,CACX,KAAK,IAAI,CAAC,KAAK,CAAC,cAAc,CAAC,EAAE,QAAQ,QAAQ,IAAI,EACrD,KAAK,KAAK,CAAC,YAAY,EAAE,QAAQ,UAAU,IAAI,CAClD;aACA,QAAQ,EAAE,CAAA;QAEX,OAAO,GAAG,CAAA;IACd,CAAC;IAEO,gBAAgB,CAAE,YAAmB,EAAG,QAA2B;;QAEvE,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC,GAAG,CAAC,UAAU,EAAG,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC,GAAG,CAAC,UAAU,CAAC,EAAG,QAAQ,CAAC,CAAC,CAAA;QAE3F,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,YAAY,CAAC,CAAA;QAEhC,MAAM,CAAC,GAAsB,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC,IAAI,CAAC,CAAC,IAAsB,EAAE,EAAE,CAAC,IAAI,CAAC,IAAI,KAAK,YAAY,CAAC,CAAA;QAE/H,IAAI,CAAC,YAAY,CAAC,QAAQ,IAAI,IAAI,EAAG,iBAAiB,YAAY,qCAAqC,MAAA,IAAI,CAAC,KAAK,CAAC,WAAW,0CAAE,IAAI,IAAI,CAAC,CAAA;QAExI,OAAO,CAAC,CAAA;IACZ,CAAC;IAEO,6BAA6B;QACjC,MAAM,YAAY,GAAG,CAAC,GAAG,IAAI,CAAC,OAAO,CAAC,GAAG,EAAE,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,GAAG,EAAE,CAAC,MAAM,GAAG,CAAC,CAAC,CAAA;QAE3E,OAAO,YAAY,CAAC,OAAO,CAAC,UAAU,EAAE,CAAC,GAAU,EAAE,EAAE,CAAC,IAAI,GAAG,CAAC,WAAW,EAAE,EAAE,CAAC,CAAA;IACpF,CAAC;IAEO,gBAAgB,CAAG,EAAE,OAAO,EAAG,MAAM,EAAG,QAAQ,EAAiE;;QAErH,MAAM,EACF,IAAI,EACJ,EAAE,EACF,QAAQ,EAAG,YAAY,EACvB,QAAQ,EACR,UAAU,EACb,GAAG,IAAI,CAAC,iBAAiB,CAAC,QAAQ,CAAC,CAAA;QAEpC,MAAM,KAAK,GAAG,EAAE,aAAF,EAAE,cAAF,EAAE,GAAI,IAAI,CAAA;QAExB,MAAM,QAAQ,GAAwD,CAAC,GAAG,MAAM,CAAC,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE,IAAI,EAAE,EAAE;YAEpG,MAAM,GAAG,GAAG,IAAI,CAAC,UAAU,CAAC,CAAA;YAE5B,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC;gBACf,IAAI,CAAC,GAAG,CAAC,GAAG,EAAE,CAAC,UAAU,CAAC,EAAE,GAAG,EAAE,MAAM,EAAE,EAAE,EAAE,CAAA;YAC/C,CAAC;YAED,IAAI,CAAC,GAAG,CAAC,CAAC,MAAM,CAAC,IAAI,mBAAM,IAAI,EAAG,CAAA;YAElC,OAAO,IAAI,CAAA;QACf,CAAC,EAAE,EAAE,CAAC,CAAA;QAEN,MAAM,2BAA2B,GAAG;YAChC,IAAI,CAAC,UAAU,CAAC,cAAc,CAAC,CAAC,MAAM;YACtC,IAAI,CAAC,UAAU,CAAC,cAAc,CAAC,CAAC,SAAS;SAC5C,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,KAAM,YAAY,CAAC,CAAA;QAEhC,MAAM,gCAAgC,GAAG;YACrC,IAAI,CAAC,UAAU,CAAC,cAAc,CAAC,CAAC,OAAO;YACvC,IAAI,CAAC,UAAU,CAAC,cAAc,CAAC,CAAC,aAAa;SAChD,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,KAAM,YAAY,CAAC,CAAA;QAEhC,KAAI,MAAM,MAAM,IAAI,OAAO,EAAE,CAAC;YAE1B,IAAG,2BAA2B;gBAAE,MAAM,CAAC,KAAK,CAAC,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAA;YAEzE,IAAG,gCAAgC;gBAAE,MAAM,CAAC,KAAK,CAAC,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAA;YAE5E,MAAM,KAAK,GAAG,QAAQ,CAAC,GAAG,MAAM,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAA;YAE7C,IAAG,KAAK,IAAI,IAAI;gBAAE,SAAQ;YAE1B,MAAM,SAAS,GAAG,MAAA,KAAK,aAAL,KAAK,uBAAL,KAAK,CAAE,MAAM,mCAAI,EAAE,CAAA;YAErC,KAAI,MAAM,KAAK,IAAI,SAAS,EAAE,CAAC;gBAE3B,IAAG,QAAQ,CAAC,KAAK,EAAE,CAAC;oBAChB,IAAG,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC;wBACpB,MAAM,CAAC,KAAK,CAAC,GAAG,MAAM,CAAC,MAAA,KAAK,aAAL,KAAK,uBAAL,KAAK,CAAE,SAAS,mCAAI,CAAC,CAAC,CAAA;wBAC7C,MAAK;oBACT,CAAC;oBACD,MAAK;gBACT,CAAC;gBAED,IAAG,2BAA2B,EAAE,CAAC;oBAC7B,IAAG,MAAM,CAAC,KAAK,CAAC,IAAI,IAAI,EAAE,CAAC;wBACvB,MAAM,CAAC,KAAK,CAAC,GAAG,KAAK,aAAL,KAAK,cAAL,KAAK,GAAI,IAAI,CAAA;wBAC7B,MAAK;oBACT,CAAC;oBACD,MAAK;gBACT,CAAC;gBAED,MAAM,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAA;YAC7B,CAAC;QACL,CAAC;QAED,IAAG,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC,MAAM;YAAE,IAAI,CAAC,KAAK,CAAC,oBAAoB,CAAC,CAAC,OAAO,CAAC,CAAA;QAEvF,OAAO,OAAO,CAAA;IAClB,CAAC;IAEa,cAAc,CAAE,OAA6B,EAAE,QAAyB;;;YAElF,IAAI,EAAE,IAAI,EAAE,UAAU,EAAE,QAAQ,EAAG,KAAK,EAAG,UAAU,EAAG,UAAU,EAAG,UAAU,EAAE,GAAG,IAAI,CAAC,iBAAiB,CAAC,QAAQ,CAAC,CAAA;YAEpH,MAAM,UAAU,GAAG,OAAO,CAAC,GAAG,CAAC,CAAC,MAA2B,EAAE,EAAE;gBAC3D,MAAM,IAAI,GAAG,MAAM,CAAC,UAAU,CAAC,CAAA;gBAC/B,IAAG,MAAM,CAAC,cAAc,CAAC,UAAU,CAAC;oBAAE,OAAO,IAAI,CAAA;gBACjD,IAAI,CAAC,YAAY,CACb,IAAI,IAAI,IAAI,EACZ,4DAA4D,QAAQ,aAAR,QAAQ,uBAAR,QAAQ,CAAE,IAAI,oEAAoE,QAAQ,SAAS,UAAU,eAAe,CAC3L,CAAA;YACL,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,IAAI,IAAI,CAAC,CAAA;YAE3B,MAAM,aAAa,GAAc,KAAK,CAAC,IAAI,CAAC,IAAI,GAAG,CAAC,UAAU,CAAC,CAAC,CAAA;YAEhE,MAAM,aAAa,GAAW,QAAQ,CAAC,KAAK,IAAI,IAAI,CAAC,CAAC,CAAC,IAAI,QAAQ,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAA;YAE5F,MAAM,cAAc,GAAY,IAAI,CAAC,KAAK,CAAC,mBAAmB,CAAC,CAAC,aAAa,CAAC,WAAW,CAAC,IAAI,EAAG,EAAE,QAAQ,EAAG,IAAI,EAAE,CAAC,CAAA;YAErH,MAAM,YAAY,GAAY,IAAI,CAAA;YAElC,MAAM,kBAAkB,GAAY,IAAI,CAAC,aAAa,CAAC,GAAG,cAAc,IAAI,CAAC,CAAA;YAE7E,MAAM,kBAAkB,GAAG,IAAI,CAAC,aAAa,CAAC,CAAC,mBAAS,CAAC,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,cAAc,CAAC,EAAE,CAAC,EAAC,UAAU,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAA;YAEtH,MAAM,UAAU,GAAY,MAAM,CAAC,CAAC,MAAA,QAAQ,CAAC,KAAK,mCAAI,KAAK,CAAC,CAAC,CAAA;YAE7D,MAAM,cAAc,GAAY,IAAI,aAAK,EAAE;iBAC1C,SAAS,CAAC,aAAa,CAAC;iBACxB,SAAS,CAAC,GAAG,CAAC;iBACd,cAAc,CACX,KAAK,aAAa,CAAC,YAAY,EAAE,QAAQ,UAAU,IAAI,EACvD,KAAK,UAAU,QAAQ,QAAQ,IAAI,CACtC;iBACA,QAAQ,EAAE,CAAA;YAEX,UAAU,GAAG,UAAU,IAAI,IAAI;gBAC/B,CAAC,CAAC,UAAU;oBACR,CAAC,CAAC,IAAI,UAAU,EAAW;oBAC3B,CAAC,CAAC,IAAI,aAAK,EAAE,CAAC,KAAK,CAAC,UAAU,CAAC;gBACnC,CAAC,CAAC,UAAU,CAAA;YAEZ,IAAG,QAAQ,CAAC,KAAK,EAAE,CAAC;gBAEhB,MAAM,YAAY,GAA0B,MAAM,UAAU;qBAC3D,OAAO,CAAC,kBAAkB,EAAC,aAAa,CAAC;qBACzC,MAAM,CAAC,kBAAkB,CAAC;qBAC1B,SAAS,CAAC,GAAG,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC,IAAI,kBAAkB,KAAK,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,gBAAgB,CAAC;qBACtG,IAAI,CAAC,QAAQ,CAAC,MAAM,EAAE,CAAC,KAAa,EAAE,EAAE,CAAC,KAAK,CAAC,WAAW,CAAC,cAAc,CAAC,CAAC;qBAC3E,IAAI,CAAC,QAAQ,CAAC,OAAO,EAAE,CAAC,KAAa,EAAE,EAAE,CAAC,KAAK,CAAC,WAAW,EAAE,CAAC;qBAC9D,IAAI,CAAC,QAAQ,CAAC,GAAG,EAAE,CAAC,KAAa,EAAE,EAAE,CAAC,KAAK,CAAC,iBAAiB,EAAE,CAAC;qBAChE,OAAO,CAAC,kBAAkB,CAAC;qBAC3B,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,GAAG,EAAE,CAAC;qBAC/B,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;qBACxC,GAAG,EAAE,CAAA;gBAEN,KAAI,MAAM,MAAM,IAAI,OAAO,EAAE,CAAC;oBAC1B,IAAG,MAAM,CAAC,IAAI,CAAC,IAAI,IAAI;wBAAE,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAA;oBACzC,KAAI,MAAM,WAAW,IAAI,YAAY,EAAE,CAAC;wBACpC,IAAG,WAAW,CAAC,kBAAkB,CAAC,KAAK,MAAM,CAAC,UAAU,CAAC;4BAAE,SAAQ;wBACnE,MAAM,CAAC,IAAI,CAAC,GAAG,MAAM,CAAC,MAAA,WAAW,CAAC,SAAS,mCAAI,CAAC,CAAC,CAAA;oBACrD,CAAC;gBACL,CAAC;gBAED,IAAG,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC,MAAM;oBAAE,IAAI,CAAC,KAAK,CAAC,oBAAoB,CAAC,CAAC,OAAO,CAAC,CAAA;gBAEvF,OAAO,OAAO,CAAA;YAClB,CAAC;YAED,MAAM,YAAY,GAAyB,MAAM,UAAU;iBAC1D,OAAO,CAAC,kBAAkB,EAAC,aAAa,CAAC;iBACzC,IAAI,CAAC,QAAQ,CAAC,KAAK,IAAI,IAAI,EAAG,CAAC,KAAa,EAAE,EAAE,CAAC,KAAK,CAAC,MAAM,CAAC,kBAAkB,EAAC,QAAQ,CAAC,CAAC;iBAC3F,IAAI,CAAC,QAAQ,CAAC,MAAM,EAAE,CAAC,KAAa,EAAE,EAAE,CAAC,KAAK,CAAC,WAAW,CAAC,cAAc,CAAC,CAAC;iBAC3E,IAAI,CAAC,QAAQ,CAAC,OAAO,EAAE,CAAC,KAAa,EAAE,EAAE,CAAC,KAAK,CAAC,WAAW,EAAE,CAAC;iBAC9D,IAAI,CAAC,QAAQ,CAAC,GAAG,EAAE,CAAC,KAAa,EAAE,EAAE,CAAC,KAAK,CAAC,iBAAiB,EAAE,CAAC;iBAChE,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,GAAG,EAAE,CAAC;iBAC/B,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;iBACxC,GAAG,EAAE,CAAA;YAEN,MAAM,WAAW,GAAa,KAAK,CAAC,IAAI,CACpC,IAAI,GAAG,CACH,YAAY;iBACX,GAAG,CAAC,CAAC,WAA+B,EAAE,EAAE,CAAC,WAAW,CAAC,kBAAkB,CAAC,CAAC;iBACzE,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,IAAI,IAAI,CAAC,CAC5B,CACJ,CAAA;YAED,MAAM,eAAe,GAAyB,MAAM,aAAa;iBAChE,OAAO,CAAC,YAAY,EAAE,WAAW,CAAC;iBAClC,IAAI,CAAC,QAAQ,CAAC,OAAO,EAAG,CAAC,KAAa,EAAE,EAAE,CAAC,KAAK,CAAC,iBAAiB,EAAE,CAAC;iBACrE,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,GAAG,EAAE,CAAC;iBAC/B,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;iBACxC,GAAG,EAAE,CAAA;YAEN,IAAG,UAAU,EAAE,CAAC;gBACZ,KAAI,MAAM,WAAW,IAAI,YAAY,EAAE,CAAC;oBACpC,KAAI,MAAM,cAAc,IAAI,eAAe,EAAE,CAAC;wBAC1C,IAAG,cAAc,CAAC,YAAY,CAAC,KAAK,WAAW,CAAC,kBAAkB,CAAC;4BAAE,SAAQ;wBAC7E,WAAW,CAAC,cAAc,CAAC,GAAG,cAAc,CAAA;oBAChD,CAAC;gBACL,CAAC;gBAED,KAAI,MAAM,MAAM,IAAI,OAAO,EAAE,CAAC;oBAC1B,IAAG,MAAM,CAAC,IAAI,CAAC,IAAI,IAAI;wBAAE,MAAM,CAAC,IAAI,CAAC,GAAG,EAAE,CAAA;oBAC1C,KAAI,MAAM,WAAW,IAAI,YAAY,EAAE,CAAC;wBACpC,IAAG,WAAW,CAAC,kBAAkB,CAAC,KAAK,MAAM,CAAC,UAAU,CAAC;4BAAE,SAAQ;wBACnE,MAAM,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,WAAW,CAAC,CAAA;oBAClC,CAAC;gBACL,CAAC;gBAED,IAAG,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC,MAAM;oBAAE,IAAI,CAAC,KAAK,CAAC,oBAAoB,CAAC,CAAC,OAAO,CAAC,CAAA;gBAEvF,OAAO,OAAO,CAAA;YAClB,CAAC;YAED,MAAM,QAAQ,GAAwD,CAAC,GAAG,YAAY,CAAC,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE,IAAI,EAAE,EAAE;gBAE1G,MAAM,GAAG,GAAG,IAAI,CAAC,kBAAkB,CAAC,CAAA;gBAEpC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC;oBACf,IAAI,CAAC,GAAG,CAAC,GAAG,EAAE,CAAC,kBAAkB,CAAC,EAAE,GAAG,EAAE,MAAM,EAAE,EAAE,EAAE,CAAA;gBACvD,CAAC;gBAED,IAAI,CAAC,GAAG,CAAC,CAAC,MAAM,CAAC,IAAI,mBAAM,IAAI,EAAG,CAAA;gBAElC,OAAO,IAAI,CAAA;YACf,CAAC,EAAE,EAAE,CAAC,CAAA;YAEN,KAAI,MAAM,MAAM,IAAI,OAAO,EAAE,CAAC;gBAE1B,IAAG,MAAM,CAAC,IAAI,CAAC,IAAI,IAAI;oBAAE,MAAM,CAAC,IAAI,CAAC,GAAG,EAAE,CAAA;gBAE1C,MAAM,KAAK,GAAG,QAAQ,CAAC,GAAG,MAAM,CAAC,UAAU,CAAC,EAAE,CAAC,CAAA;gBAE/C,IAAG,KAAK,IAAI,IAAI;oBAAE,SAAQ;gBAE1B,MAAM,SAAS,GAAG,MAAA,KAAK,aAAL,KAAK,uBAAL,KAAK,CAAE,MAAM,mCAAI,EAAE,CAAA;gBAErC,KAAI,MAAM,QAAQ,IAAI,SAAS,EAAE,CAAC;oBAE9B,MAAM,IAAI,GAAG,eAAe,CAAC,IAAI,CAAC,cAAc,CAAC,EAAE,CAAC,cAAc,CAAC,UAAU,CAAC,KAAK,QAAQ,CAAC,QAAQ,CAAC,CAAC,CAAA;oBAEtG,IAAG,IAAI,IAAI,IAAI;wBAAE,SAAQ;oBAEzB,IAAI,CAAC,KAAK,GAAG;wBACT,CAAC,kBAAkB,CAAC,EAAG,QAAQ,CAAC,kBAAkB,CAAC;wBACnD,CAAC,QAAQ,CAAC,EAAG,QAAQ,CAAC,QAAQ,CAAC;qBAClC,CAAA;oBAED,MAAM,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;gBAC3B,CAAC;YACL,CAAC;YAED,IAAG,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC,MAAM;gBAAE,IAAI,CAAC,KAAK,CAAC,oBAAoB,CAAC,CAAC,OAAO,CAAC,CAAA;YAEvF,OAAO,OAAO,CAAA;QAClB,CAAC;KAAA;IAEO,iBAAiB,CAAE,aAA+B;;QAEtD,IAAI,CAAC,YAAY,CACb,CAAA,aAAa,aAAb,aAAa,uBAAb,aAAa,CAAE,KAAK,aAAY,OAAO,EACvC,uDAAuD,CAC1D,CAAA;QAED,IAAI,CAAC,YAAY,CACb,CAAC,CAAC,CAAA,aAAa,aAAb,aAAa,uBAAb,aAAa,CAAE,KAAK,aAAY,aAAK,CAAC,EACxC,mEAAmE,CACtE,CAAA;QAED,MAAM,QAAQ,GAAG,aAAa,CAAC,QAAQ,CAAA;QACvC,MAAM,KAAK,GAAG,aAAa,CAAC,KAAK,CAAA;QACjC,MAAM,UAAU,GAAG,aAAa,CAAC,UAAU,CAAA;QAC3C,MAAM,UAAU,GAAG,aAAa,CAAC,UAAU,CAAA;QAC3C,MAAM,KAAK,GAAG,aAAa,aAAb,aAAa,uBAAb,aAAa,CAAE,KAAK,CAAA;QAClC,MAAM,UAAU,GAAG,aAAa,aAAb,aAAa,uBAAb,aAAa,CAAE,UAAU,CAAA;QAC5C,MAAM,KAAK,GAAG,aAAa,CAAC,WAAW;YACnC,CAAC,CAAC,aAAa,CAAC,WAAW;YAC3B,CAAC,CAAC,MAAA,aAAa,CAAC,KAAK,0CAAE,YAAY,EAAE,CAAA;QAEzC,IAAI,KAAK,GAAG,IAAI,CAAA;QAEhB,MAAM,IAAI,GAAG,aAAa,CAAC,IAAI,CAAA;QAC/B,MAAM,EAAE,GAAG,aAAa,CAAC,EAAE,CAAA;QAE3B,IAAI,CAAC,YAAY,CAAC,CAAC,KAAK,IAAI,KAAK,IAAI,IAAI,EAAE,kBAAkB,CAAE,CAAA;QAE/D,IAAI,QAAQ,GAAG,IAAI,CAAC,aAAa,CAC7B,aAAa,CAAC,QAAQ;YACtB,CAAC,CAAC,aAAa,CAAC,QAAQ;YACxB,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC,GAAG,CAAC,aAAa,CAAC,CAC5C,CAAA;QAED,IAAI,UAAU,GAAG,aAAa,CAAC,UAAU;YACrC,CAAC,CAAC,aAAa,CAAC,UAAU;YAC1B,CAAC,CAAC,IAAI,CAAC,aAAa,CAAC;gBACjB,GAAG,mBAAS,CAAC,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,cAAc,CAAC,EAAE,CAAC,EAAE;gBACrD,GAAG,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC,GAAG,CAAC,aAAa,CAAC,EAAE;aAC/C,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAA;QAEhB,MAAM,gCAAgC,GAAG;YACrC,aAAa,CAAC,QAAQ,IAAI,IAAI;YAC9B,aAAa,CAAC,UAAU,IAAI,IAAI;YAChC,QAAQ,KAAM,IAAI,CAAC,UAAU,CAAC,cAAc,CAAC,CAAC,SAAS;SAC1D,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAA;QAEf,IAAG,gCAAgC,EAAE,CAAC;YAClC,UAAU,GAAG,IAAI,CAAC,aAAa,CAAC,QAAQ,CAAC,CAAA;YACzC,QAAQ,GAAI,IAAI,CAAC,aAAa,CAAC;gBAC3B,GAAG,mBAAS,CAAC,QAAQ,CAAC,KAAK,aAAL,KAAK,cAAL,KAAK,GAAI,EAAE,CAAC,EAAE;gBACpC,GAAG,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC,GAAG,CAAC,aAAa,CAAC,EAAE;aAC/C,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAA;QAChB,CAAC;QAED,MAAM,oCAAoC,GAAG;YACzC,aAAa,CAAC,QAAQ,IAAI,IAAI;YAC9B,aAAa,CAAC,UAAU,IAAI,IAAI;YAChC,QAAQ,KAAK,IAAI,CAAC,UAAU,CAAC,cAAc,CAAC,CAAC,aAAa;SAC7D,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAA;QAEf,IAAG,oCAAoC,EAAE,CAAC;YACtC,QAAQ,GAAG,IAAI,CAAC,aAAa,CAAC;gBAC1B,GAAG,mBAAS,CAAC,QAAQ,CAAC,KAAK,aAAL,KAAK,cAAL,KAAK,GAAI,EAAE,CAAC,EAAE;gBACpC,GAAG,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC,GAAG,CAAC,aAAa,CAAC,EAAE;aAC/C,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAA;YAEZ,UAAU,GAAG,IAAI,CAAA;YAEjB,MAAM,UAAU,GAAG,aAAa,CAAC,KAAc,CAAA;YAC/C,KAAK,GAAG,MAAA,aAAa,CAAC,KAAK,mCAAI,IAAI,CAAC,aAAa,CAAC;gBAC9C,mBAAS,CAAC,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,cAAc,CAAC,EAAE,CAAC;gBAChD,mBAAS,CAAC,QAAQ,CAAC,UAAU,CAAC,YAAY,EAAE,CAAC;aAChD,CAAC,IAAI,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAA;QACvB,CAAC;QAED,OAAO;YACH,IAAI;YACJ,EAAE;YACF,QAAQ;YACR,KAAK;YACL,QAAQ;YACR,UAAU;YACV,KAAK;YACL,KAAK;YACL,UAAU;YACV,KAAK;YACL,UAAU;YACV,UAAU;SACb,CAAA;IACL,CAAC;IAES,aAAa,CAAE,KAAc;QAEnC,MAAM,MAAM,GAAqC,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC,GAAG,CAAC,cAAc,CAAC,CAAA;QAEzF,QAAQ,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC,GAAG,CAAC,SAAS,CAAC,EAAE,CAAC;YAE1C,KAAK,IAAI,CAAC,UAAU,CAAC,SAAS,CAAC,CAAC,UAAW,CAAC,CAAC,CAAC;gBAC1C,IAAG,MAAM,IAAI,IAAI,EAAE,CAAC;oBAChB,OAAO,KAAK,CAAC,OAAO,CAAC,UAAU,EAAE,CAAC,GAAG,EAAE,EAAE,CAAC,IAAI,GAAG,CAAC,WAAW,EAAE,EAAE,CAAC,CAAA;gBACtE,CAAC;gBAED,MAAM,IAAI,GAAG,MAAM,CAAC,KAAK,CAAC,CAAA;gBAE1B,IAAG,IAAI,IAAI,IAAI,IAAI,IAAI,CAAC,MAAM,IAAI,IAAI,EAAG,CAAC;oBACtC,OAAO,KAAK,CAAC,OAAO,CAAC,UAAU,EAAE,CAAC,GAAG,EAAE,EAAE,CAAC,IAAI,GAAG,CAAC,WAAW,EAAE,EAAE,CAAC,CAAA;gBACtE,CAAC;gBAED,OAAO,IAAI,CAAC,MAAM,CAAA;YACtB,CAAC;YAED,KAAK,IAAI,CAAC,UAAU,CAAC,SAAS,CAAC,CAAC,SAAU,CAAC,CAAC,CAAC;gBACzC,IAAG,MAAM,IAAI,IAAI,EAAE,CAAC;oBAChB,OAAO,KAAK,CAAC,OAAO,CAAC,gBAAgB,EAAE,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,GAAG,CAAC,CAAC,CAAC,GAAG,GAAG,CAAC,GAAG,CAAC,MAAM,GAAC,CAAC,CAAC,CAAC,WAAW,EAAE,EAAE,CAAC,CAAA;gBAClG,CAAC;gBAED,MAAM,IAAI,GAAG,MAAM,CAAC,KAAK,CAAC,CAAA;gBAE1B,IAAG,IAAI,IAAI,IAAI,IAAI,IAAI,CAAC,MAAM,IAAI,IAAI,EAAG,CAAC;oBACtC,OAAO,KAAK,CAAC,OAAO,CAAC,gBAAgB,EAAE,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,GAAG,CAAC,CAAC,CAAC,GAAG,GAAG,CAAC,GAAG,CAAC,MAAM,GAAC,CAAC,CAAC,CAAC,WAAW,EAAE,EAAE,CAAC,CAAA;gBAClG,CAAC;gBAED,OAAO,IAAI,CAAC,MAAM,CAAA;YAEtB,CAAC;YAED,OAAQ,CAAC,CAAC,OAAO,KAAK,CAAA;QAC1B,CAAC;IACL,CAAC;IAEO,YAAY,CAAC,YAA+B,IAAI,EAAG,UAAmB,OAAO;QAEjF,IAAG,OAAO,SAAS,KAAK,QAAQ,EAAE,CAAC;YAC/B,MAAM,IAAI,KAAK,CAAC,SAAS,CAAC,CAAA;QAC9B,CAAC;QAED,IAAG,SAAS;YAAE,MAAM,IAAI,KAAK,CAAC,OAAO,CAAC,CAAA;QAEtC,OAAM;IACV,CAAC;CACJ;AAEQ,0CAAe;AACxB,kBAAe,eAAe,CAAA"}
|
|
1
|
+
{"version":3,"file":"Relation.js","sourceRoot":"","sources":["../../../../src/lib/core/Handlers/Relation.ts"],"names":[],"mappings":"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"}
|
|
@@ -124,6 +124,8 @@ declare const STATE_MODEL: {
|
|
|
124
124
|
readonly RETURN_TYPE: null;
|
|
125
125
|
readonly GLOBAL_SCOPE: true;
|
|
126
126
|
readonly GLOBAL_SCOPE_QUERY: null;
|
|
127
|
+
readonly QUERIES: readonly [];
|
|
128
|
+
readonly META: "";
|
|
127
129
|
};
|
|
128
130
|
type TState = typeof STATE_MODEL & typeof STATE_DB & typeof STATE_DEFAULT;
|
|
129
131
|
declare class StateHandler {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"State.js","sourceRoot":"","sources":["../../../../src/lib/core/Handlers/State.ts"],"names":[],"mappings":";;;AAAA,MAAM,aAAa,GAAG;IAClB,WAAW,EAAG,IAAI;IAClB,IAAI,EAAG,KAAK;IACZ,MAAM,EAAG,IAAI;IACb,QAAQ,EAAG,KAAK;IAChB,KAAK,EAAG,EAAE;IACV,IAAI,EAAG,EAAE;IACT,MAAM,EAAG,EAAE;IACX,MAAM,EAAG,EAAE;IACX,MAAM,EAAG,EAAE;IACX,MAAM,EAAG,EAAE;IACX,IAAI,EAAG,EAAE;IACT,OAAO,EAAE,EAAE;IACX,KAAK,EAAG,CAAC;IACT,KAAK,EAAG,EAAE;IACV,IAAI,EAAG,MAAM;IACb,IAAI,EAAG,EAAE;IACT,KAAK,EAAG,EAAE;IACV,QAAQ,EAAG,EAAE;IACb,QAAQ,EAAG,EAAE;IACb,KAAK,EAAG,EAAE;IACV,MAAM,EAAG,EAAE;IACX,MAAM,EAAG,EAAE;IACX,UAAU,EAAE,EAAE;IACd,WAAW,EAAG,EAAE;IAChB,MAAM,EAAG,EAAE;IACX,KAAK,EAAG,KAAK;IACb,IAAI,EAAG,KAAK;IACZ,IAAI,EAAE,CAAC;IACP,QAAQ,EAAE,CAAC;IACX,KAAK,EAAG,EAAE;IACV,WAAW,EAAG,IAAI;CACZ,CAAA;AAEV,MAAM,QAAQ,GAAG;IACb,WAAW,EAAG,IAAI;IAClB,IAAI,EAAG,KAAK;IACZ,MAAM,EAAG,IAAI;IACb,QAAQ,EAAG,KAAK;IAChB,KAAK,EAAG,EAAE;IACV,IAAI,EAAG,EAAE;IACT,MAAM,EAAG,EAAE;IACX,MAAM,EAAG,EAAE;IACX,MAAM,EAAG,EAAE;IACX,MAAM,EAAG,EAAE;IACX,IAAI,EAAG,EAAE;IACT,OAAO,EAAE,EAAE;IACX,KAAK,EAAG,CAAC;IACT,KAAK,EAAG,EAAE;IACV,IAAI,EAAG,MAAM;IACb,IAAI,EAAG,EAAE;IACT,KAAK,EAAG,EAAE;IACV,QAAQ,EAAG,EAAE;IACb,QAAQ,EAAG,EAAE;IACb,KAAK,EAAG,EAAE;IACV,MAAM,EAAG,EAAE;IACX,MAAM,EAAG,EAAE;IACX,UAAU,EAAE,EAAE;IACd,WAAW,EAAG,EAAE;IAChB,MAAM,EAAG,EAAE;IACX,KAAK,EAAG,KAAK;IACb,IAAI,EAAG,KAAK;IACZ,IAAI,EAAE,CAAC;IACP,QAAQ,EAAE,CAAC;IACX,KAAK,EAAG,EAAE;IACV,WAAW,EAAG,IAAI;CACZ,CAAA;AAEV,MAAM,WAAW,GAAG;IAChB,UAAU,EAAG,OAAO;IACpB,WAAW,EAAG,IAAI;IAClB,IAAI,EAAG,KAAK;IACZ,MAAM,EAAG,EAAE;IACX,MAAM,EAAG,EAAE;IACX,MAAM,EAAG,EAAE;IACX,MAAM,EAAG,EAAE;IACX,IAAI,EAAG,EAAE;IACT,OAAO,EAAE,EAAE;IACX,KAAK,EAAG,CAAC;IACT,KAAK,EAAG,EAAE;IACV,IAAI,EAAG,MAAM;IACb,IAAI,EAAG,EAAE;IACT,KAAK,EAAG,EAAE;IACV,QAAQ,EAAG,EAAE;IACb,QAAQ,EAAG,EAAE;IACb,KAAK,EAAG,EAAE;IACV,MAAM,EAAG,EAAE;IACX,MAAM,EAAG,EAAE;IACX,UAAU,EAAE,EAAE;IACd,WAAW,EAAG,MAAM;IACpB,MAAM,EAAG,EAAE;IACX,KAAK,EAAG,KAAK;IACb,IAAI,EAAG,KAAK;IACZ,WAAW,EAAE,KAAK;IAClB,kBAAkB,EAAG,YAAY;IACjC,qBAAqB,EAAG,KAAK;IAC7B,IAAI,EAAE,CAAC;IACP,QAAQ,EAAE,CAAC;IACX,QAAQ,EAAG,EAAE;IACb,MAAM,EAAG,IAAI;IACb,OAAO,EAAG,YAAY;IACtB,QAAQ,EAAG,KAAK;IAChB,KAAK,EAAG,EAAE;IACV,IAAI,EAAG,EAAE;IACT,KAAK,EAAG,EAAE;IACV,QAAQ,EAAE,EAAE;IACZ,SAAS,EAAG,EAAE;IACd,iBAAiB,EAAG,KAAK;IACzB,gBAAgB,EAAG,KAAK;IACxB,SAAS,EAAI,KAAK;IAClB,gBAAgB,EAAG;QACf,UAAU,EAAG,YAAY;QACzB,UAAU,EAAG,YAAY;KAC5B;IACD,MAAM,EAAG,KAAK;IACd,cAAc,EAAG,IAAI;IACrB,YAAY,EAAG,UAAU;IACzB,eAAe,EAAG,KAAK;IACvB,uBAAuB,EAAG,IAAI;IAC9B,iBAAiB,EAAG,KAAK;IACzB,YAAY,EAAG,IAAI;IACnB,KAAK,EAAG,CAAC;IACT,QAAQ,EAAG,IAAI;IACf,IAAI,EAAG,IAAI;IACX,qBAAqB,EAAG,IAAI;IAC5B,WAAW,EAAG,IAAI;IAClB,YAAY,EAAG,IAAI;IACnB,kBAAkB,EAAG,IAAI;
|
|
1
|
+
{"version":3,"file":"State.js","sourceRoot":"","sources":["../../../../src/lib/core/Handlers/State.ts"],"names":[],"mappings":"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"}
|
|
@@ -65,6 +65,20 @@ declare class Model<TS extends Record<string, any> = any, TR = unknown> extends
|
|
|
65
65
|
* @returns {Model} instance of the Model
|
|
66
66
|
*/
|
|
67
67
|
static get instance(): Model;
|
|
68
|
+
/**
|
|
69
|
+
* The 'globalScope' method is a feature that allows you to apply query constraints to all queries for a given model.
|
|
70
|
+
*
|
|
71
|
+
* @example
|
|
72
|
+
* class User extends Model {
|
|
73
|
+
* constructor() {
|
|
74
|
+
* super()
|
|
75
|
+
* this.globalScope(query => {
|
|
76
|
+
* return query.where('id' , '>' , 10)
|
|
77
|
+
* })
|
|
78
|
+
* }
|
|
79
|
+
* }
|
|
80
|
+
* @returns {void} void
|
|
81
|
+
*/
|
|
68
82
|
protected globalScope<T extends Model>(callback: (query: T) => T): this;
|
|
69
83
|
/**
|
|
70
84
|
* The 'define' method is a special method that you can define within a model.
|
|
@@ -478,6 +492,7 @@ declare class Model<TS extends Record<string, any> = any, TR = unknown> extends
|
|
|
478
492
|
* @returns {this} this
|
|
479
493
|
*/
|
|
480
494
|
protected buildMethodRelation<K extends TR extends object ? keyof TR : string>(name: K, callback?: Function): this;
|
|
495
|
+
meta(meta: 'MAIN' | 'SUBORDINATE'): this;
|
|
481
496
|
/**
|
|
482
497
|
* The 'typeOfSchema' method is used get type of schema.
|
|
483
498
|
* @returns {TS} type of schema
|
|
@@ -611,6 +626,7 @@ declare class Model<TS extends Record<string, any> = any, TR = unknown> extends
|
|
|
611
626
|
groupBy?: boolean;
|
|
612
627
|
select?: boolean;
|
|
613
628
|
having?: boolean;
|
|
629
|
+
relations?: boolean;
|
|
614
630
|
}): Model;
|
|
615
631
|
/**
|
|
616
632
|
*
|
|
@@ -717,7 +733,7 @@ declare class Model<TS extends Record<string, any> = any, TR = unknown> extends
|
|
|
717
733
|
* }
|
|
718
734
|
* }
|
|
719
735
|
* // use 'with' for results of relationship
|
|
720
|
-
* await new User().
|
|
736
|
+
* await new User().with('posts').findMany()
|
|
721
737
|
*
|
|
722
738
|
*/
|
|
723
739
|
with<K extends TR extends object ? keyof TR : string>(...nameRelations: K[]): this;
|
|
@@ -1404,6 +1420,24 @@ declare class Model<TS extends Record<string, any> = any, TR = unknown> extends
|
|
|
1404
1420
|
* @returns {promise<boolean>}
|
|
1405
1421
|
*/
|
|
1406
1422
|
forceDelete(): Promise<boolean>;
|
|
1423
|
+
/**
|
|
1424
|
+
*
|
|
1425
|
+
* @override
|
|
1426
|
+
* @returns {string} return sql query
|
|
1427
|
+
*/
|
|
1428
|
+
toString({ latest, oldest }?: {
|
|
1429
|
+
latest?: boolean | undefined;
|
|
1430
|
+
oldest?: boolean | undefined;
|
|
1431
|
+
}): string;
|
|
1432
|
+
/**
|
|
1433
|
+
*
|
|
1434
|
+
* @override
|
|
1435
|
+
* @returns {string} return sql query
|
|
1436
|
+
*/
|
|
1437
|
+
toSQL({ latest, oldest }?: {
|
|
1438
|
+
latest?: boolean | undefined;
|
|
1439
|
+
oldest?: boolean | undefined;
|
|
1440
|
+
}): string;
|
|
1407
1441
|
/**
|
|
1408
1442
|
* @override
|
|
1409
1443
|
* @param {string=} column [column=id]
|
package/build/lib/core/Model.js
CHANGED
|
@@ -117,6 +117,20 @@ class Model extends AbstractModel_1.AbstractModel {
|
|
|
117
117
|
static get instance() {
|
|
118
118
|
return new this();
|
|
119
119
|
}
|
|
120
|
+
/**
|
|
121
|
+
* The 'globalScope' method is a feature that allows you to apply query constraints to all queries for a given model.
|
|
122
|
+
*
|
|
123
|
+
* @example
|
|
124
|
+
* class User extends Model {
|
|
125
|
+
* constructor() {
|
|
126
|
+
* super()
|
|
127
|
+
* this.globalScope(query => {
|
|
128
|
+
* return query.where('id' , '>' , 10)
|
|
129
|
+
* })
|
|
130
|
+
* }
|
|
131
|
+
* }
|
|
132
|
+
* @returns {void} void
|
|
133
|
+
*/
|
|
120
134
|
globalScope(callback) {
|
|
121
135
|
const model = new Model().table(this.getTableName());
|
|
122
136
|
const repository = callback(model);
|
|
@@ -719,6 +733,10 @@ class Model extends AbstractModel_1.AbstractModel {
|
|
|
719
733
|
relation.query = callback(new relation.model());
|
|
720
734
|
return this;
|
|
721
735
|
}
|
|
736
|
+
meta(meta) {
|
|
737
|
+
this.$state.set('META', meta);
|
|
738
|
+
return this;
|
|
739
|
+
}
|
|
722
740
|
/**
|
|
723
741
|
* The 'typeOfSchema' method is used get type of schema.
|
|
724
742
|
* @returns {TS} type of schema
|
|
@@ -1083,28 +1101,30 @@ class Model extends AbstractModel_1.AbstractModel {
|
|
|
1083
1101
|
newInstance.$state.set('SAVE', '');
|
|
1084
1102
|
newInstance.$state.set('DEBUG', false);
|
|
1085
1103
|
newInstance.$state.set('LOGGER', false);
|
|
1104
|
+
if ((options === null || options === void 0 ? void 0 : options.relations) == null || !options.relations)
|
|
1105
|
+
newInstance.$state.set('RELATIONS', []);
|
|
1086
1106
|
if ((options === null || options === void 0 ? void 0 : options.insert) == null || !options.insert)
|
|
1087
1107
|
newInstance.$state.set('INSERT', '');
|
|
1088
1108
|
if ((options === null || options === void 0 ? void 0 : options.update) == null || !options.update)
|
|
1089
1109
|
newInstance.$state.set('UPDATE', '');
|
|
1090
1110
|
if ((options === null || options === void 0 ? void 0 : options.delete) == null || !options.delete)
|
|
1091
1111
|
newInstance.$state.set('DELETE', '');
|
|
1092
|
-
if ((options === null || options === void 0 ? void 0 : options.where) == null || !options.where)
|
|
1093
|
-
newInstance.$state.set('WHERE', []);
|
|
1094
|
-
if ((options === null || options === void 0 ? void 0 : options.limit) == null || !options.limit)
|
|
1095
|
-
newInstance.$state.set('LIMIT', '');
|
|
1096
|
-
if ((options === null || options === void 0 ? void 0 : options.offset) == null || !options.offset)
|
|
1097
|
-
newInstance.$state.set('OFFSET', '');
|
|
1098
|
-
if ((options === null || options === void 0 ? void 0 : options.groupBy) == null || !options.groupBy)
|
|
1099
|
-
newInstance.$state.set('GROUP_BY', []);
|
|
1100
|
-
if ((options === null || options === void 0 ? void 0 : options.orderBy) == null || !options.orderBy)
|
|
1101
|
-
newInstance.$state.set('ORDER_BY', []);
|
|
1102
1112
|
if ((options === null || options === void 0 ? void 0 : options.select) == null || !options.select)
|
|
1103
1113
|
newInstance.$state.set('SELECT', []);
|
|
1104
1114
|
if ((options === null || options === void 0 ? void 0 : options.join) == null || !options.join)
|
|
1105
1115
|
newInstance.$state.set('JOIN', []);
|
|
1116
|
+
if ((options === null || options === void 0 ? void 0 : options.where) == null || !options.where)
|
|
1117
|
+
newInstance.$state.set('WHERE', []);
|
|
1118
|
+
if ((options === null || options === void 0 ? void 0 : options.groupBy) == null || !options.groupBy)
|
|
1119
|
+
newInstance.$state.set('GROUP_BY', []);
|
|
1106
1120
|
if ((options === null || options === void 0 ? void 0 : options.having) == null || !options.having)
|
|
1107
1121
|
newInstance.$state.set('HAVING', '');
|
|
1122
|
+
if ((options === null || options === void 0 ? void 0 : options.orderBy) == null || !options.orderBy)
|
|
1123
|
+
newInstance.$state.set('ORDER_BY', []);
|
|
1124
|
+
if ((options === null || options === void 0 ? void 0 : options.limit) == null || !options.limit)
|
|
1125
|
+
newInstance.$state.set('LIMIT', '');
|
|
1126
|
+
if ((options === null || options === void 0 ? void 0 : options.offset) == null || !options.offset)
|
|
1127
|
+
newInstance.$state.set('OFFSET', '');
|
|
1108
1128
|
return newInstance;
|
|
1109
1129
|
}
|
|
1110
1130
|
/**
|
|
@@ -1143,6 +1163,10 @@ class Model extends AbstractModel_1.AbstractModel {
|
|
|
1143
1163
|
});
|
|
1144
1164
|
if (this.$state.get('DEBUG')) {
|
|
1145
1165
|
this.$utils.consoleDebug(sql, retry);
|
|
1166
|
+
this.$state.set('QUERIES', [
|
|
1167
|
+
...this.$state.get('QUERIES'),
|
|
1168
|
+
sql
|
|
1169
|
+
]);
|
|
1146
1170
|
const startTime = +new Date();
|
|
1147
1171
|
const result = yield this.$pool.query(sql);
|
|
1148
1172
|
const endTime = +new Date();
|
|
@@ -1179,8 +1203,13 @@ class Model extends AbstractModel_1.AbstractModel {
|
|
|
1179
1203
|
return __awaiter(this, arguments, void 0, function* ({ sql, returnId = false }) {
|
|
1180
1204
|
var _b;
|
|
1181
1205
|
try {
|
|
1182
|
-
if (this.$state.get('DEBUG'))
|
|
1206
|
+
if (this.$state.get('DEBUG')) {
|
|
1183
1207
|
this.$utils.consoleDebug(sql);
|
|
1208
|
+
this.$state.set('QUERIES', [
|
|
1209
|
+
...this.$state.get('QUERIES'),
|
|
1210
|
+
sql
|
|
1211
|
+
]);
|
|
1212
|
+
}
|
|
1184
1213
|
if (this.$state.get('LOGGER')) {
|
|
1185
1214
|
const updateRegex = /^UPDATE\b/i;
|
|
1186
1215
|
const insertRegex = /^INSERT\b/i;
|
|
@@ -1221,7 +1250,8 @@ class Model extends AbstractModel_1.AbstractModel {
|
|
|
1221
1250
|
if (updateRegex.test(sql) && loggerOptions.updated) {
|
|
1222
1251
|
yield this._checkTableLoggerIsExists().catch(err => null);
|
|
1223
1252
|
const createdAt = this.$utils.timestamp();
|
|
1224
|
-
const data = yield new Model()
|
|
1253
|
+
const data = yield new Model()
|
|
1254
|
+
.copyModel(this, {
|
|
1225
1255
|
where: true,
|
|
1226
1256
|
orderBy: true,
|
|
1227
1257
|
limit: true
|
|
@@ -1229,7 +1259,8 @@ class Model extends AbstractModel_1.AbstractModel {
|
|
|
1229
1259
|
.disableVoid()
|
|
1230
1260
|
.get();
|
|
1231
1261
|
const result = yield this.$pool.query(sql);
|
|
1232
|
-
const changed = yield new Model()
|
|
1262
|
+
const changed = yield new Model()
|
|
1263
|
+
.copyModel(this, {
|
|
1233
1264
|
where: true,
|
|
1234
1265
|
orderBy: true,
|
|
1235
1266
|
limit: true
|
|
@@ -1262,7 +1293,8 @@ class Model extends AbstractModel_1.AbstractModel {
|
|
|
1262
1293
|
}
|
|
1263
1294
|
if (deleteRegex.test(sql) && loggerOptions.deleted) {
|
|
1264
1295
|
yield this._checkTableLoggerIsExists().catch(err => null);
|
|
1265
|
-
const data = yield new Model()
|
|
1296
|
+
const data = yield new Model()
|
|
1297
|
+
.copyModel(this, {
|
|
1266
1298
|
where: true,
|
|
1267
1299
|
orderBy: true,
|
|
1268
1300
|
limit: true
|
|
@@ -1417,7 +1449,7 @@ class Model extends AbstractModel_1.AbstractModel {
|
|
|
1417
1449
|
* }
|
|
1418
1450
|
* }
|
|
1419
1451
|
* // use 'with' for results of relationship
|
|
1420
|
-
* await new User().
|
|
1452
|
+
* await new User().with('posts').findMany()
|
|
1421
1453
|
*
|
|
1422
1454
|
*/
|
|
1423
1455
|
with(...nameRelations) {
|
|
@@ -2902,6 +2934,32 @@ class Model extends AbstractModel_1.AbstractModel {
|
|
|
2902
2934
|
return Boolean(this._resultHandler((_b = !!result) !== null && _b !== void 0 ? _b : false));
|
|
2903
2935
|
});
|
|
2904
2936
|
}
|
|
2937
|
+
/**
|
|
2938
|
+
*
|
|
2939
|
+
* @override
|
|
2940
|
+
* @returns {string} return sql query
|
|
2941
|
+
*/
|
|
2942
|
+
toString({ latest = false, oldest = false } = {}) {
|
|
2943
|
+
var _a, _b;
|
|
2944
|
+
if (oldest) {
|
|
2945
|
+
const queries = this.getQueries();
|
|
2946
|
+
return (_a = queries[0]) !== null && _a !== void 0 ? _a : this.toString();
|
|
2947
|
+
}
|
|
2948
|
+
if (latest) {
|
|
2949
|
+
const queries = this.getQueries();
|
|
2950
|
+
return (_b = queries[queries.length - 1]) !== null && _b !== void 0 ? _b : this.toString();
|
|
2951
|
+
}
|
|
2952
|
+
const sql = this._queryBuilder().any();
|
|
2953
|
+
return this._resultHandler(sql);
|
|
2954
|
+
}
|
|
2955
|
+
/**
|
|
2956
|
+
*
|
|
2957
|
+
* @override
|
|
2958
|
+
* @returns {string} return sql query
|
|
2959
|
+
*/
|
|
2960
|
+
toSQL({ latest = false, oldest = false } = {}) {
|
|
2961
|
+
return this.toString({ latest, oldest });
|
|
2962
|
+
}
|
|
2905
2963
|
/**
|
|
2906
2964
|
* @override
|
|
2907
2965
|
* @param {string=} column [column=id]
|
|
@@ -3897,10 +3955,10 @@ class Model extends AbstractModel_1.AbstractModel {
|
|
|
3897
3955
|
_execute(_a) {
|
|
3898
3956
|
return __awaiter(this, arguments, void 0, function* ({ sql, type, message, options }) {
|
|
3899
3957
|
var _b;
|
|
3958
|
+
const relations = this.$state.get('RELATIONS');
|
|
3900
3959
|
let result = yield this._queryStatement(sql);
|
|
3901
3960
|
if (!result.length)
|
|
3902
3961
|
return this._returnEmpty(type, result, message, options);
|
|
3903
|
-
const relations = this.$state.get('RELATIONS');
|
|
3904
3962
|
for (const relation of relations) {
|
|
3905
3963
|
const loaded = (_b = yield this.$relation.load(result, relation)) !== null && _b !== void 0 ? _b : [];
|
|
3906
3964
|
result = loaded;
|
|
@@ -4740,6 +4798,7 @@ class Model extends AbstractModel_1.AbstractModel {
|
|
|
4740
4798
|
this.useValidateSchema(this.$validateSchema);
|
|
4741
4799
|
if (this.$observer != null)
|
|
4742
4800
|
this.useObserver(this.$observer);
|
|
4801
|
+
this.meta('MAIN');
|
|
4743
4802
|
return this;
|
|
4744
4803
|
}
|
|
4745
4804
|
}
|