@feasibleone/blong-chain 1.6.0 → 1.7.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.
- package/CHANGELOG.md +7 -0
- package/dist/index.d.ts +2 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +25 -2
- package/dist/index.js.map +1 -1
- package/dist/index.test.js.map +1 -1
- package/dist/package.json +3 -2
- package/dist/snapshot.d.ts +56 -0
- package/dist/snapshot.d.ts.map +1 -0
- package/dist/snapshot.js +70 -0
- package/dist/snapshot.js.map +1 -0
- package/dist/test-types.d.ts +18 -0
- package/dist/test-types.d.ts.map +1 -1
- package/index.ts +189 -16
- package/package.json +2 -3
- package/test-types.ts +48 -2
package/CHANGELOG.md
CHANGED
|
@@ -1,5 +1,12 @@
|
|
|
1
1
|
# Changelog
|
|
2
2
|
|
|
3
|
+
## [1.7.0](https://github.com/feasibleone/blong/compare/blong-chain-v1.6.0...blong-chain-v1.7.0) (2026-05-15)
|
|
4
|
+
|
|
5
|
+
|
|
6
|
+
### Features
|
|
7
|
+
|
|
8
|
+
* snapshot testing ([ffae636](https://github.com/feasibleone/blong/commit/ffae6360d9f6a04b42e733fc6be291e1cd707bfa))
|
|
9
|
+
|
|
3
10
|
## [1.6.0](https://github.com/feasibleone/blong/compare/blong-chain-v1.5.1...blong-chain-v1.6.0) (2026-05-12)
|
|
4
11
|
|
|
5
12
|
|
package/dist/index.d.ts
CHANGED
|
@@ -78,4 +78,6 @@ export declare class TestExecutor extends EventEmitter {
|
|
|
78
78
|
emit<E extends keyof ITestEvents>(event: E, ...args: Parameters<ITestEvents[E]>): boolean;
|
|
79
79
|
}
|
|
80
80
|
export type * from './test-types.js';
|
|
81
|
+
export { maskPaths, snapshot } from './snapshot.js';
|
|
82
|
+
export type { ISnapshotContext, ISnapshotOptions } from './snapshot.js';
|
|
81
83
|
//# sourceMappingURL=index.d.ts.map
|
package/dist/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAGH,OAAO,EAAC,YAAY,EAAC,MAAM,aAAa,CAAC;AAEzC,OAAO,KAAK,EAER,gBAAgB,EAChB,KAAK,EAOL,WAAW,EACX,mBAAmB,EACnB,YAAY,EAEZ,aAAa,EAEb,SAAS,EAEZ,MAAM,iBAAiB,CAAC;
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAGH,OAAO,EAAC,YAAY,EAAC,MAAM,aAAa,CAAC;AAEzC,OAAO,KAAK,EAER,gBAAgB,EAChB,KAAK,EAOL,WAAW,EACX,mBAAmB,EACnB,YAAY,EAEZ,aAAa,EAEb,SAAS,EAEZ,MAAM,iBAAiB,CAAC;AAkVzB;;GAEG;AACH,qBAAa,YAAa,SAAQ,YAAY;IAC1C,OAAO,CAAC,MAAM,CAAsB;IACpC,OAAO,CAAC,KAAK,CAAS;IACtB,OAAO,CAAC,iBAAiB,CAA2B;IACpD,OAAO,CAAC,GAAG,CAAC,CAAc;IAG1B,OAAO,CAAC,QAAQ,CASd;IAGF,OAAO,CAAC,KAAK,CAGX;IAGF,OAAO,CAAC,cAAc,CAAmC;IAGzD,OAAO,CAAC,WAAW,CAA+B;IAGlD,OAAO,CAAC,cAAc,CAAiB;IAGvC,OAAO,CAAC,WAAW,CAAC,CAAkD;IAGtE,OAAO,CAAC,aAAa,CAAqB;gBAE9B,MAAM,GAAE,mBAAwB;IAkB5C;;OAEG;IACG,OAAO,CACT,KAAK,EAAE,SAAS,EAChB,KAAK,EAAE,KAAK,EACZ,WAAW,CAAC,EAAE,OAAO,iBAAiB,EAAE,qBAAqB,GAC9D,OAAO,CAAC,IAAI,CAAC;IAwDhB;;OAEG;YACW,aAAa;IAsD3B;;OAEG;YACW,YAAY;IA4L1B;;OAEG;IACH,OAAO,CAAC,WAAW;IAcnB;;OAEG;IACH,OAAO,CAAC,iBAAiB;IAiBzB;;OAEG;IACH,OAAO,CAAC,0BAA0B;IAUlC;;OAEG;IACH,WAAW,IAAI,aAAa;IAI5B;;OAEG;IACH,kBAAkB,IAAI,gBAAgB;IAItC;;OAEG;IACH,gBAAgB,IAAI,YAAY;IA4BhC;;OAEG;IACH,OAAO,CAAC,sBAAsB;IA+C9B;;OAEG;IACH,OAAO,CAAC,oBAAoB;IA4B5B;;OAEG;IACH,EAAE,CAAC,CAAC,SAAS,MAAM,WAAW,EAAE,KAAK,EAAE,CAAC,EAAE,OAAO,EAAE,WAAW,CAAC,CAAC,CAAC,GAAG,IAAI;IAIxE,IAAI,CAAC,CAAC,SAAS,MAAM,WAAW,EAAE,KAAK,EAAE,CAAC,EAAE,GAAG,IAAI,EAAE,UAAU,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,GAAG,OAAO;CAG5F;AAGD,mBAAmB,iBAAiB,CAAC;AAGrC,OAAO,EAAC,SAAS,EAAE,QAAQ,EAAC,MAAM,eAAe,CAAC;AAClD,YAAY,EAAC,gBAAgB,EAAE,gBAAgB,EAAC,MAAM,eAAe,CAAC"}
|
package/dist/index.js
CHANGED
|
@@ -295,6 +295,8 @@ function captureSourceLocation(fn) {
|
|
|
295
295
|
column: 0,
|
|
296
296
|
};
|
|
297
297
|
}
|
|
298
|
+
/** Default number of retry attempts per failing step when `rerun.enabled` is true */
|
|
299
|
+
const DEFAULT_MAX_RETRIES = 1;
|
|
298
300
|
/**
|
|
299
301
|
* Main test executor class
|
|
300
302
|
*/
|
|
@@ -336,6 +338,7 @@ export class TestExecutor extends EventEmitter {
|
|
|
336
338
|
captureStackTraces: config.captureStackTraces ?? false,
|
|
337
339
|
framework: config.framework,
|
|
338
340
|
log: config.log,
|
|
341
|
+
rerun: config.rerun,
|
|
339
342
|
};
|
|
340
343
|
this.log = config.log;
|
|
341
344
|
this.queue = new PQueue({ concurrency: this.config.concurrency });
|
|
@@ -487,8 +490,26 @@ export class TestExecutor extends EventEmitter {
|
|
|
487
490
|
try {
|
|
488
491
|
// Create tracking context
|
|
489
492
|
const context = createContextProxy(this.realContext, this.promiseManager, stepName, this.dependencyTracker);
|
|
490
|
-
// Execute the step
|
|
491
|
-
const
|
|
493
|
+
// Execute the step (with optional retry loop)
|
|
494
|
+
const maxRetries = this.config.rerun?.enabled ? (this.config.rerun.maxRetries ?? DEFAULT_MAX_RETRIES) : 0;
|
|
495
|
+
let result;
|
|
496
|
+
let lastError;
|
|
497
|
+
for (let attempt = 0; attempt <= maxRetries; attempt++) {
|
|
498
|
+
try {
|
|
499
|
+
result = await fn(assert, context);
|
|
500
|
+
lastError = undefined;
|
|
501
|
+
break;
|
|
502
|
+
}
|
|
503
|
+
catch (err) {
|
|
504
|
+
lastError = err;
|
|
505
|
+
if (attempt < maxRetries) {
|
|
506
|
+
this.log?.warn?.({ err }, `step ${stepName} failed (attempt ${attempt + 1}/${maxRetries + 1}), retrying`);
|
|
507
|
+
}
|
|
508
|
+
}
|
|
509
|
+
}
|
|
510
|
+
if (lastError !== undefined) {
|
|
511
|
+
throw lastError;
|
|
512
|
+
}
|
|
492
513
|
// Store result in real context
|
|
493
514
|
this.realContext[stepName] = result;
|
|
494
515
|
// Resolve all promises for this step
|
|
@@ -726,4 +747,6 @@ export class TestExecutor extends EventEmitter {
|
|
|
726
747
|
return super.emit(event, ...args);
|
|
727
748
|
}
|
|
728
749
|
}
|
|
750
|
+
// Export snapshot helper
|
|
751
|
+
export { maskPaths, snapshot } from './snapshot.js';
|
|
729
752
|
//# sourceMappingURL=index.js.map
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAEH,OAAO,MAAM,MAAM,aAAa,CAAC;AACjC,OAAO,EAAC,YAAY,EAAC,MAAM,aAAa,CAAC;AACzC,OAAO,MAAM,MAAM,SAAS,CAAC;AAqB7B;;;;;;;GAOG;AACH,SAAS,mBAAmB,CACxB,IAAY,EACZ,cAA8B;IAE9B,0CAA0C;IAC1C,MAAM,YAAY,GAAG,cAAc,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC;IAEtD,iDAAiD;IACjD,MAAM,KAAK,GAAG,IAAI,KAAK,CAAC,YAAY,CAAC,OAAc,EAAE;QACjD,GAAG,CAAC,MAAkB,EAAE,IAAqB;YACzC,gDAAgD;YAChD,IAAI,IAAI,KAAK,MAAM,IAAI,IAAI,KAAK,OAAO,IAAI,IAAI,KAAK,SAAS,EAAE,CAAC;gBAC5D,OAAQ,MAAc,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;YAC9C,CAAC;YAED,8CAA8C;YAC9C,IAAI,OAAO,IAAI,KAAK,QAAQ,EAAE,CAAC;gBAC3B,OAAQ,MAAc,CAAC,IAAI,CAAC,CAAC;YACjC,CAAC;YAED,gDAAgD;YAChD,OAAO,mBAAmB,CAAC,GAAG,IAAI,IAAI,IAAI,EAAE,EAAE,cAAc,CAAC,CAAC;QAClE,CAAC;KACJ,CAAC,CAAC;IAEH,OAAO,KAA0B,CAAC;AACtC,CAAC;AAED;;;GAGG;AACH,MAAM,cAAc;IACR,QAAQ,GAAG,IAAI,GAAG,EAAyB,CAAC;IAC5C,WAAW,CAA0B;IAE7C,YAAY,WAAoC;QAC5C,IAAI,CAAC,WAAW,GAAG,WAAW,CAAC;IACnC,CAAC;IAED;;OAEG;IACH,WAAW,CAAc,IAAY;QACjC,IAAI,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC;YAC1B,OAAO,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,IAAI,CAAqB,CAAC;QACvD,CAAC;QAED,IAAI,OAA2B,CAAC;QAChC,IAAI,MAA8B,CAAC;QAEnC,MAAM,OAAO,GAAG,IAAI,OAAO,CAAI,CAAC,GAAG,EAAE,GAAG,EAAE,EAAE;YACxC,OAAO,GAAG,GAAG,CAAC;YACd,MAAM,GAAG,GAAG,CAAC;QACjB,CAAC,CAAC,CAAC;QAEH,MAAM,KAAK,GAAqB;YAC5B,OAAO;YACP,OAAO,EAAE,OAAQ;YACjB,MAAM,EAAE,MAAO;SAClB,CAAC;QAEF,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,IAAI,EAAE,KAA+B,CAAC,CAAC;QAEzD,+DAA+D;QAC/D,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;QAC9B,MAAM,QAAQ,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC;QAC1B,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC,IAAI,QAAQ,IAAI,IAAI,CAAC,WAAW,EAAE,CAAC;YACrD,8CAA8C;YAC9C,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,WAAW,CAAC,QAAQ,CAAM,CAAC,CAAC;QACnD,CAAC;aAAM,IAAI,KAAK,CAAC,MAAM,GAAG,CAAC,IAAI,QAAQ,IAAI,IAAI,CAAC,WAAW,EAAE,CAAC;YAC1D,sCAAsC;YACtC,MAAM,KAAK,GAAG,IAAI,CAAC,eAAe,CAC9B,IAAI,CAAC,WAAW,CAAC,QAAQ,CAAC,EAC1B,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAC3B,CAAC;YACF,KAAK,CAAC,OAAO,CAAC,KAAU,CAAC,CAAC;QAC9B,CAAC;aAAM,CAAC;YACJ,iEAAiE;YACjE,IAAI,CAAC,4BAA4B,CAAC,IAAI,EAAE,KAA+B,CAAC,CAAC;QAC7E,CAAC;QAED,OAAO,KAAK,CAAC;IACjB,CAAC;IAED;;OAEG;IACK,4BAA4B,CAAC,IAAY,EAAE,KAAoB;QACnE,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;QAC9B,IAAI,KAAK,CAAC,MAAM,IAAI,CAAC;YAAE,OAAO,CAAC,YAAY;QAE3C,sDAAsD;QACtD,KAAK,IAAI,CAAC,GAAG,KAAK,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC;YACxC,MAAM,UAAU,GAAG,KAAK,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;YAC/C,MAAM,WAAW,GAAG,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC;YAElD,IAAI,WAAW,EAAE,CAAC;gBACd,iDAAiD;gBACjD,WAAW,CAAC,OAAO;qBACd,IAAI,CAAC,WAAW,CAAC,EAAE;oBAChB,8BAA8B;oBAC9B,MAAM,SAAS,GAAG,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;oBAC3C,MAAM,UAAU,GAAG,IAAI,CAAC,eAAe,CAAC,WAAW,EAAE,SAAS,CAAC,CAAC;oBAEhE,4BAA4B;oBAC5B,KAAK,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC;gBAC9B,CAAC,CAAC;qBACD,KAAK,CAAC,KAAK,CAAC,EAAE;oBACX,oCAAoC;oBACpC,KAAK,CAAC,MAAM,CAAC,KAAc,CAAC,CAAC;gBACjC,CAAC,CAAC,CAAC;gBACP,OAAO;YACX,CAAC;QACL,CAAC;IACL,CAAC;IAED;;OAEG;IACK,eAAe,CAAC,GAAQ,EAAE,IAAY;QAC1C,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;QAC9B,IAAI,OAAO,GAAG,GAAG,CAAC;QAClB,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;YACvB,IAAI,OAAO,IAAI,OAAO,OAAO,KAAK,QAAQ,EAAE,CAAC;gBACzC,OAAO,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;YAC5B,CAAC;iBAAM,CAAC;gBACJ,OAAO,SAAS,CAAC;YACrB,CAAC;QACL,CAAC;QACD,OAAO,OAAO,CAAC;IACnB,CAAC;IAED;;OAEG;IACH,GAAG,CAAC,IAAY;QACZ,OAAO,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;IACnC,CAAC;IAED;;OAEG;IACH,WAAW,CAAC,QAAgB,EAAE,MAAe;QACzC,gCAAgC;QAChC,IAAI,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,QAAQ,CAAC,EAAE,CAAC;YAC9B,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,QAAQ,CAAE,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;QACjD,CAAC;QAED,mCAAmC;QACnC,IAAI,OAAO,MAAM,KAAK,QAAQ,IAAI,MAAM,KAAK,IAAI,EAAE,CAAC;YAChD,IAAI,CAAC,wBAAwB,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAC;QACpD,CAAC;IACL,CAAC;IAED;;OAEG;IACK,wBAAwB,CAAC,QAAgB,EAAE,GAAQ,EAAE,KAAK,GAAG,CAAC;QAClE,gDAAgD;QAChD,IAAI,KAAK,GAAG,EAAE;YAAE,OAAO;QAEvB,KAAK,MAAM,CAAC,GAAG,EAAE,KAAK,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC;YAC7C,MAAM,UAAU,GAAG,GAAG,QAAQ,IAAI,GAAG,EAAE,CAAC;YAExC,IAAI,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,UAAU,CAAC,EAAE,CAAC;gBAChC,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,UAAU,CAAE,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;YAClD,CAAC;YAED,wCAAwC;YACxC,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,KAAK,IAAI,EAAE,CAAC;gBAC9C,IAAI,CAAC,wBAAwB,CAAC,UAAU,EAAE,KAAK,EAAE,KAAK,GAAG,CAAC,CAAC,CAAC;YAChE,CAAC;QACL,CAAC;IACL,CAAC;IAED;;OAEG;IACH,MAAM,CAAC,IAAY,EAAE,KAAY;QAC7B,IAAI,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC;YAC1B,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,IAAI,CAAE,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;QAC3C,CAAC;IACL,CAAC;CACJ;AAED;;;;;GAKG;AACH,SAAS,kBAAkB,CACvB,WAAoC,EACpC,cAA8B,EAC9B,WAAmB,EACnB,iBAAoC;IAEpC,OAAO,IAAI,KAAK,CAAC,WAA2B,EAAE;QAC1C,GAAG,CAAC,MAAW,EAAE,IAAqB;YAClC,mDAAmD;YACnD,IAAI,IAAI,KAAK,OAAO,EAAE,CAAC;gBACnB,OAAO,MAAM,CAAC,KAAK,CAAC;YACxB,CAAC;YAED,oDAAoD;YACpD,IAAI,WAAW,IAAI,OAAO,IAAI,KAAK,QAAQ,EAAE,CAAC;gBAC1C,iBAAiB,CAAC,WAAW,CAAC,WAAW,EAAE,IAAI,CAAC,CAAC;YACrD,CAAC;YAED,yCAAyC;YACzC,IAAI,OAAO,IAAI,KAAK,QAAQ,EAAE,CAAC;gBAC3B,OAAO,mBAAmB,CAAC,IAAI,EAAE,cAAc,CAAC,CAAC;YACrD,CAAC;YAED,OAAO,MAAM,CAAC,IAAI,CAAC,CAAC;QACxB,CAAC;KACJ,CAAC,CAAC;AACP,CAAC;AAED;;GAEG;AACH,MAAM,iBAAiB;IACX,YAAY,GAAG,IAAI,GAAG,EAAuB,CAAC;IAC9C,cAAc,GAAG,IAAI,GAAG,EAAU,CAAC;IAE3C;;OAEG;IACH,iBAAiB,CAAC,SAAsB;QACpC,IAAI,CAAC,cAAc,GAAG,SAAS,CAAC;IACpC,CAAC;IAED;;OAEG;IACH,WAAW,CAAC,QAAgB,EAAE,QAAgB;QAC1C,IAAI,CAAC,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,QAAQ,CAAC,EAAE,CAAC;YACnC,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,QAAQ,EAAE,IAAI,GAAG,EAAE,CAAC,CAAC;QAC/C,CAAC;QACD,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,QAAQ,CAAE,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;QAE/C,mDAAmD;QACnD,IAAI,IAAI,CAAC,cAAc,CAAC,IAAI,GAAG,CAAC,EAAE,CAAC;YAC/B,MAAM,QAAQ,GAAG,QAAQ,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;YACxC,IAAI,CAAC,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC,QAAQ,CAAC,EAAE,CAAC;gBACrC,MAAM,IAAI,KAAK,CACX,6CAA6C,QAAQ,yBAAyB,QAAQ,KAAK;oBACvF,sBAAsB,QAAQ,YAAY;oBAC1C,oBAAoB,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC,IAAI,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAC9E,CAAC;YACN,CAAC;QACL,CAAC;IACL,CAAC;IAED;;OAEG;IACH,eAAe,CAAC,QAAgB;QAC5B,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,QAAQ,CAAC,IAAI,EAAE,CAAC,CAAC;IAC7D,CAAC;IAED;;OAEG;IACH,QAAQ;QACJ,MAAM,KAAK,GAAsB,EAAE,CAAC;QAEpC,KAAK,MAAM,CAAC,IAAI,EAAE,UAAU,CAAC,IAAI,IAAI,CAAC,YAAY,CAAC,OAAO,EAAE,EAAE,CAAC;YAC3D,KAAK,MAAM,QAAQ,IAAI,UAAU,EAAE,CAAC;gBAChC,oDAAoD;gBACpD,MAAM,EAAE,GAAG,QAAQ,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;gBAClC,KAAK,CAAC,IAAI,CAAC,EAAC,IAAI,EAAE,EAAE,EAAE,QAAQ,EAAC,CAAC,CAAC;YACrC,CAAC;QACL,CAAC;QAED,OAAO,KAAK,CAAC;IACjB,CAAC;CACJ;AAED;;GAEG;AACH,SAAS,qBAAqB,CAAC,EAAY;IACvC,IAAI,CAAC;QACD,MAAM,KAAK,GAAG,IAAI,KAAK,EAAE,CAAC,KAAK,IAAI,EAAE,CAAC;QACtC,MAAM,KAAK,GAAG,KAAK,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;QAEhC,gDAAgD;QAChD,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,KAAK,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;YACpC,MAAM,IAAI,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC;YACtB,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,aAAa,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,aAAa,CAAC,EAAE,CAAC;gBACjE,qDAAqD;gBACrD,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,sBAAsB,CAAC,CAAC;gBACjD,IAAI,KAAK,EAAE,CAAC;oBACR,OAAO;wBACH,IAAI,EAAE,KAAK,CAAC,CAAC,CAAC;wBACd,IAAI,EAAE,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC;wBAC5B,MAAM,EAAE,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC;qBACjC,CAAC;gBACN,CAAC;gBAED,gDAAgD;gBAChD,MAAM,QAAQ,GAAG,IAAI,CAAC,KAAK,CAAC,qBAAqB,CAAC,CAAC;gBACnD,IAAI,QAAQ,EAAE,CAAC;oBACX,OAAO;wBACH,IAAI,EAAE,QAAQ,CAAC,CAAC,CAAC;wBACjB,IAAI,EAAE,QAAQ,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC;wBAC/B,MAAM,EAAE,QAAQ,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC;qBACpC,CAAC;gBACN,CAAC;YACL,CAAC;QACL,CAAC;IACL,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACb,4CAA4C;IAChD,CAAC;IAED,OAAO;QACH,IAAI,EAAE,SAAS;QACf,IAAI,EAAE,CAAC;QACP,MAAM,EAAE,CAAC;KACZ,CAAC;AACN,CAAC;AAED;;GAEG;AACH,MAAM,OAAO,YAAa,SAAQ,YAAY;IAClC,MAAM,CAAsB;IAC5B,KAAK,CAAS;IACd,iBAAiB,GAAG,IAAI,iBAAiB,EAAE,CAAC;IAC5C,GAAG,CAAe;IAE1B,oBAAoB;IACZ,QAAQ,GAAkB;QAC9B,QAAQ,EAAE,MAAM;QAChB,SAAS,EAAE,CAAC;QACZ,MAAM,EAAE,SAAS;QACjB,UAAU,EAAE,CAAC;QACb,cAAc,EAAE,CAAC;QACjB,WAAW,EAAE,CAAC;QACd,KAAK,EAAE,IAAI,GAAG,EAAE;QAChB,MAAM,EAAE,EAAE;KACb,CAAC;IAEF,mBAAmB;IACX,KAAK,GAAqB;QAC9B,KAAK,EAAE,IAAI,GAAG,EAAE;QAChB,KAAK,EAAE,EAAE;KACZ,CAAC;IAEF,mBAAmB;IACX,cAAc,GAAG,IAAI,GAAG,EAAwB,CAAC;IAEzD,+BAA+B;IACvB,WAAW,GAA4B,EAAE,CAAC;IAElD,kEAAkE;IAC1D,cAAc,CAAiB;IAEvC,gDAAgD;IACxC,WAAW,CAAmD;IAEtE,wCAAwC;IAChC,aAAa,GAAG,IAAI,GAAG,EAAU,CAAC;IAE1C,YAAY,SAA8B,EAAE;QACxC,KAAK,EAAE,CAAC;QAER,IAAI,CAAC,MAAM,GAAG;YACV,WAAW,EAAE,MAAM,CAAC,WAAW,IAAI,EAAE;YACrC,kBAAkB,EAAE,MAAM,CAAC,kBAAkB,IAAI,KAAK;YACtD,SAAS,EAAE,MAAM,CAAC,SAAS;YAC3B,GAAG,EAAE,MAAM,CAAC,GAAG;SAClB,CAAC;QACF,IAAI,CAAC,GAAG,GAAG,MAAM,CAAC,GAAG,CAAC;QAEtB,IAAI,CAAC,KAAK,GAAG,IAAI,MAAM,CAAC,EAAC,WAAW,EAAE,IAAI,CAAC,MAAM,CAAC,WAAW,EAAC,CAAC,CAAC;QAEhE,2DAA2D;QAC3D,IAAI,CAAC,cAAc,GAAG,IAAI,cAAc,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;IAC/D,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,OAAO,CACT,KAAgB,EAChB,KAAY,EACZ,WAA6D;QAE7D,0CAA0C;QAC1C,IAAI,CAAC,WAAW,GAAG,WAAW,CAAC;QAE/B,kFAAkF;QAClF,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,OAAO,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC,CAAC;QAC3E,IAAI,CAAC,WAAW,CAAC,KAAK,GAAG,KAAK,CAAC;QAE/B,4CAA4C;QAC5C,IAAI,CAAC,aAAa,CAAC,KAAK,EAAE,CAAC;QAE3B,sBAAsB;QACtB,IAAI,CAAC,QAAQ,CAAC,QAAQ,GAAG,KAAK,CAAC,IAAI,IAAI,MAAM,CAAC;QAC9C,IAAI,CAAC,QAAQ,CAAC,SAAS,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;QACrC,IAAI,CAAC,QAAQ,CAAC,MAAM,GAAG,SAAS,CAAC;QACjC,IAAI,CAAC,QAAQ,CAAC,cAAc,GAAG,CAAC,CAAC;QACjC,IAAI,CAAC,QAAQ,CAAC,WAAW,GAAG,CAAC,CAAC;QAC9B,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,KAAK,EAAE,CAAC;QAC5B,IAAI,CAAC,QAAQ,CAAC,MAAM,GAAG,EAAE,CAAC;QAE1B,yBAAyB;QACzB,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,KAAK,EAAE,CAAC;QACzB,IAAI,CAAC,KAAK,CAAC,KAAK,GAAG,EAAE,CAAC;QAEtB,wBAAwB;QACxB,IAAI,CAAC,cAAc,CAAC,KAAK,EAAE,CAAC;QAE5B,2CAA2C;QAC3C,IAAI,CAAC,QAAQ,CAAC,UAAU,GAAG,IAAI,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC;QACnD,MAAM,YAAY,GAAG,IAAI,CAAC,iBAAiB,CAAC,KAAK,CAAC,CAAC;QAEnD,iDAAiD;QACjD,IAAI,CAAC,iBAAiB,CAAC,iBAAiB,CAAC,YAAY,CAAC,CAAC;QAEvD,wBAAwB;QACxB,IAAI,CAAC,IAAI,CAAC,YAAY,EAAE,IAAI,CAAC,QAAQ,CAAC,CAAC;QAEvC,IAAI,CAAC;YACD,oBAAoB;YACpB,MAAM,IAAI,CAAC,aAAa,CAAC,KAAK,EAAE,EAAE,EAAE,IAAI,CAAC,WAAkB,CAAC,CAAC;YAE7D,oBAAoB;YACpB,IAAI,CAAC,QAAQ,CAAC,MAAM,GAAG,WAAW,CAAC;YACnC,IAAI,CAAC,QAAQ,CAAC,OAAO,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;YAEnC,+BAA+B;YAC/B,IAAI,CAAC,KAAK,CAAC,KAAK,GAAG,IAAI,CAAC,iBAAiB,CAAC,QAAQ,EAAE,CAAC;QACzD,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACb,IAAI,CAAC,QAAQ,CAAC,MAAM,GAAG,QAAQ,CAAC;YAChC,IAAI,CAAC,QAAQ,CAAC,OAAO,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;YACnC,MAAM,KAAK,CAAC;QAChB,CAAC;gBAAS,CAAC;YACP,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE,IAAI,CAAC,QAAQ,CAAC,CAAC;QACzC,CAAC;IACL,CAAC;IAED;;OAEG;IACK,KAAK,CAAC,aAAa,CACvB,KAAgB,EAChB,SAAmB,EACnB,iBAA2B;QAE3B,MAAM,YAAY,GAAoB,EAAE,CAAC;QAEzC,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;YACvB,IAAI,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,CAAC;gBACtB,4CAA4C;gBAC5C,IAAI,IAAI,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;oBACpB,wEAAwE;oBACxE,MAAM,OAAO,CAAC,GAAG,CAAC,YAAY,CAAC,CAAC;oBAChC,YAAY,CAAC,MAAM,GAAG,CAAC,CAAC;oBACxB,SAAS;gBACb,CAAC;gBAED,0DAA0D;gBAC1D,MAAM,OAAO,CAAC,GAAG,CAAC,YAAY,CAAC,CAAC;gBAChC,YAAY,CAAC,MAAM,GAAG,CAAC,CAAC;gBAExB,MAAM,eAAe,GAAG,CAAC,GAAG,SAAS,EAAE,IAAI,CAAC,IAAI,IAAI,SAAS,SAAS,CAAC,MAAM,EAAE,CAAC,CAAC;gBAEjF,gEAAgE;gBAChE,IAAI,IAAI,CAAC,WAAW,IAAI,iBAAiB,EAAE,CAAC;oBACxC,MAAM,UAAU,GAAG,IAAI,CAAC,IAAI,IAAI,SAAS,SAAS,CAAC,MAAM,EAAE,CAAC;oBAC5D,MAAO,IAAI,CAAC,WAAW,CAAC,IAAY,CAAC,IAAI,CACrC,iBAAiB,EACjB,UAAU,EACV,KAAK,EAAE,aAAsB,EAAE,EAAE;wBAC7B,MAAM,IAAI,CAAC,aAAa,CAAC,IAAI,EAAE,eAAe,EAAE,aAAa,CAAC,CAAC;oBACnE,CAAC,CACJ,CAAC;gBACN,CAAC;qBAAM,IAAI,IAAI,CAAC,WAAW,IAAI,SAAS,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;oBACpD,yBAAyB;oBACzB,MAAM,UAAU,GAAG,IAAI,CAAC,IAAI,IAAI,SAAS,SAAS,CAAC,MAAM,EAAE,CAAC;oBAC5D,MAAM,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,UAAU,EAAE,KAAK,EAAE,aAAsB,EAAE,EAAE;wBACrE,MAAM,IAAI,CAAC,aAAa,CAAC,IAAI,EAAE,eAAe,EAAE,aAAa,CAAC,CAAC;oBACnE,CAAC,CAAC,CAAC;gBACP,CAAC;qBAAM,CAAC;oBACJ,oCAAoC;oBACpC,MAAM,IAAI,CAAC,aAAa,CAAC,IAAI,EAAE,eAAe,EAAE,iBAAiB,CAAC,CAAC;gBACvE,CAAC;YACL,CAAC;iBAAM,IAAI,OAAO,IAAI,KAAK,UAAU,EAAE,CAAC;gBACpC,oCAAoC;gBACpC,MAAM,OAAO,GAAG,IAAI,CAAC,YAAY,CAAC,IAAI,EAAE,SAAS,EAAE,iBAAiB,CAAC,CAAC;gBACtE,YAAY,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;YAC/B,CAAC;QACL,CAAC;QAED,yCAAyC;QACzC,MAAM,OAAO,CAAC,GAAG,CAAC,YAAY,CAAC,CAAC;IACpC,CAAC;IAED;;OAEG;IACK,KAAK,CAAC,YAAY,CACtB,EAAgB,EAChB,SAAmB,EACnB,iBAA2B;QAE3B,MAAM,QAAQ,GAAG,EAAE,CAAC,IAAI,IAAI,WAAW,CAAC;QAExC,iCAAiC;QACjC,IAAI,CAAC,0BAA0B,CAAC,QAAQ,CAAC,CAAC;QAE1C,qCAAqC;QACrC,MAAM,cAAc,GAAG,IAAI,CAAC,MAAM,CAAC,kBAAkB;YACjD,CAAC,CAAC,qBAAqB,CAAC,EAAE,CAAC;YAC3B,CAAC,CAAC,SAAS,CAAC;QAEhB,2BAA2B;QAC3B,MAAM,YAAY,GAAkB;YAChC,QAAQ;YACR,WAAW,EAAE,QAAQ;YACrB,SAAS;YACT,MAAM,EAAE,SAAS;YACjB,YAAY,EAAE,EAAE;YAChB,UAAU,EAAE,EAAE;YACd,cAAc;SACjB,CAAC;QAEF,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,GAAG,CAAC,QAAQ,EAAE,YAAY,CAAC,CAAC;QAEhD,mCAAmC;QACnC,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,QAAQ,EAAE;YAC3B,QAAQ;YACR,SAAS;YACT,MAAM,EAAE,SAAS;SACpB,CAAC,CAAC;QAEH,8BAA8B;QAC9B,MAAM,OAAO,GAAiB;YAC1B,QAAQ;YACR,QAAQ,EAAE,IAAI,CAAC,GAAG,EAAE;YACpB,SAAS,EAAE,CAAC;YACZ,QAAQ,EAAE,CAAC;YACX,aAAa,EAAE,CAAC;YAChB,SAAS,EAAE,CAAC;SACf,CAAC;QACF,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC;QAE3C,8DAA8D;QAC9D,MAAM,aAAa,GAAG,KAAK,IAAI,EAAE;YAC7B,OAAO,CAAC,SAAS,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;YAC/B,OAAO,CAAC,SAAS,GAAG,OAAO,CAAC,SAAS,GAAG,OAAO,CAAC,QAAQ,CAAC;YAEzD,YAAY,CAAC,MAAM,GAAG,SAAS,CAAC;YAChC,YAAY,CAAC,SAAS,GAAG,OAAO,CAAC,SAAS,CAAC;YAC3C,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,QAAQ,CAAE,CAAC,MAAM,GAAG,SAAS,CAAC;YACnD,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,QAAQ,CAAE,CAAC,SAAS,GAAG,OAAO,CAAC,SAAS,CAAC;YAE9D,IAAI,CAAC,IAAI,CAAC,YAAY,EAAE,QAAQ,EAAE,YAAY,CAAC,CAAC;YAEhD,IAAI,CAAC;gBACD,0BAA0B;gBAC1B,MAAM,OAAO,GAAG,kBAAkB,CAC9B,IAAI,CAAC,WAAW,EAChB,IAAI,CAAC,cAAc,EACnB,QAAQ,EACR,IAAI,CAAC,iBAAiB,CACzB,CAAC;gBAEF,mBAAmB;gBACnB,MAAM,MAAM,GAAG,MAAM,EAAE,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;gBAEzC,+BAA+B;gBAC/B,IAAI,CAAC,WAAW,CAAC,QAAQ,CAAC,GAAG,MAAM,CAAC;gBAEpC,qCAAqC;gBACrC,IAAI,CAAC,cAAc,CAAC,WAAW,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAC;gBAElD,8CAA8C;gBAC9C,OAAO,CAAC,WAAW,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;gBACjC,OAAO,CAAC,SAAS,GAAG,OAAO,CAAC,WAAW,GAAG,OAAO,CAAC,QAAQ,CAAC;gBAC3D,OAAO,CAAC,aAAa,GAAG,OAAO,CAAC,WAAW,GAAG,OAAO,CAAC,SAAS,CAAC;gBAChE,OAAO,CAAC,SAAS,GAAG,OAAO,CAAC,SAAS,GAAG,OAAO,CAAC,QAAQ,CAAC;gBACzD,OAAO,CAAC,QAAQ,GAAG,CAAC,CAAC,CAAC,8CAA8C;gBAEpE,YAAY,CAAC,MAAM,GAAG,WAAW,CAAC;gBAClC,YAAY,CAAC,OAAO,GAAG,OAAO,CAAC,WAAW,CAAC;gBAC3C,YAAY,CAAC,QAAQ,GAAG,OAAO,CAAC,SAAS,CAAC;gBAC1C,YAAY,CAAC,SAAS,GAAG,OAAO,CAAC,SAAS,CAAC;gBAC3C,YAAY,CAAC,aAAa,GAAG,OAAO,CAAC,aAAa,CAAC;gBACnD,YAAY,CAAC,QAAQ,GAAG,OAAO,CAAC,QAAQ,CAAC;gBACzC,YAAY,CAAC,MAAM,GAAG,MAAM,CAAC;gBAC7B,YAAY,CAAC,YAAY,GAAG,IAAI,CAAC,iBAAiB,CAAC,eAAe,CAAC,QAAQ,CAAC,CAAC;gBAE7E,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,QAAQ,CAAE,CAAC,MAAM,GAAG,WAAW,CAAC;gBACrD,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,QAAQ,CAAE,CAAC,OAAO,GAAG,OAAO,CAAC,WAAW,CAAC;gBAE9D,IAAI,CAAC,QAAQ,CAAC,cAAc,EAAE,CAAC;gBAC/B,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE,QAAQ,EAAE,YAAY,CAAC,CAAC;YAClD,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBACb,eAAe;gBACf,OAAO,CAAC,WAAW,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;gBACjC,OAAO,CAAC,SAAS,GAAG,OAAO,CAAC,WAAW,GAAG,OAAO,CAAC,QAAQ,CAAC;gBAC3D,OAAO,CAAC,aAAa,GAAG,OAAO,CAAC,WAAW,GAAG,OAAO,CAAC,SAAS,CAAC;gBAChE,OAAO,CAAC,SAAS,GAAG,OAAO,CAAC,SAAS,GAAG,OAAO,CAAC,QAAQ,CAAC;gBACzD,OAAO,CAAC,QAAQ,GAAG,CAAC,CAAC;gBAErB,YAAY,CAAC,MAAM,GAAG,QAAQ,CAAC;gBAC/B,YAAY,CAAC,OAAO,GAAG,OAAO,CAAC,WAAW,CAAC;gBAC3C,YAAY,CAAC,QAAQ,GAAG,OAAO,CAAC,SAAS,CAAC;gBAC1C,YAAY,CAAC,YAAY,GAAG,IAAI,CAAC,iBAAiB,CAAC,eAAe,CAAC,QAAQ,CAAC,CAAC;gBAE7E,MAAM,SAAS,GAAe;oBAC1B,OAAO,EAAG,KAAe,CAAC,OAAO;oBACjC,KAAK,EAAG,KAAe,CAAC,KAAK,IAAI,EAAE;oBACnC,OAAO,EAAE,EAAC,GAAG,IAAI,CAAC,WAAW,EAAC;iBACjC,CAAC;gBACF,YAAY,CAAC,KAAK,GAAG,SAAS,CAAC;gBAE/B,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,QAAQ,CAAE,CAAC,MAAM,GAAG,QAAQ,CAAC;gBAClD,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,QAAQ,CAAE,CAAC,OAAO,GAAG,OAAO,CAAC,WAAW,CAAC;gBAC9D,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,QAAQ,CAAE,CAAC,KAAK,GAAG,KAAc,CAAC;gBAEvD,IAAI,CAAC,QAAQ,CAAC,WAAW,EAAE,CAAC;gBAC5B,IAAI,CAAC,IAAI,CAAC,YAAY,EAAE,QAAQ,EAAE,KAAc,EAAE,YAAY,CAAC,CAAC;gBAChE,IAAI,CAAC,GAAG,EAAE,KAAK,EAAE,CAAC,EAAC,GAAG,EAAE,KAAK,EAAC,EAAE,QAAQ,QAAQ,SAAS,CAAC,CAAC;gBAE3D,gCAAgC;gBAChC,IAAI,CAAC,cAAc,CAAC,MAAM,CAAC,QAAQ,EAAE,KAAc,CAAC,CAAC;gBAErD,MAAM,KAAK,CAAC;YAChB,CAAC;QACL,CAAC,CAAC;QAEF,+CAA+C;QAC/C,IAAI,IAAI,CAAC,WAAW,IAAI,iBAAiB,EAAE,CAAC;YACxC,MAAM,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,KAAK,IAAI,EAAE;gBAC5B,IAAI,CAAC;oBACD,MAAO,IAAI,CAAC,WAAY,CAAC,IAAY,CAAC,IAAI,CACtC,iBAAiB,EACjB,QAAQ,EACR,KAAK,IAAI,EAAE;wBACP,MAAM,aAAa,EAAE,CAAC;oBAC1B,CAAC,CACJ,CAAC;gBACN,CAAC;gBAAC,OAAO,KAAK,EAAE,CAAC;oBACb,2EAA2E;oBAC3E,oCAAoC;gBACxC,CAAC;YACL,CAAC,CAAC,CAAC;QACP,CAAC;aAAM,IAAI,IAAI,CAAC,WAAW,IAAI,SAAS,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YACpD,mCAAmC;YACnC,MAAM,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,KAAK,IAAI,EAAE;gBAC5B,IAAI,CAAC;oBACD,MAAM,IAAI,CAAC,WAAY,CAAC,IAAI,CAAC,QAAQ,EAAE,KAAK,IAAI,EAAE;wBAC9C,MAAM,aAAa,EAAE,CAAC;oBAC1B,CAAC,CAAC,CAAC;gBACP,CAAC;gBAAC,OAAO,KAAK,EAAE,CAAC;oBACb,2EAA2E;gBAC/E,CAAC;YACL,CAAC,CAAC,CAAC;QACP,CAAC;aAAM,CAAC;YACJ,sCAAsC;YACtC,MAAM,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,aAAa,CAAC,CAAC;QACxC,CAAC;IACL,CAAC;IAED;;OAEG;IACK,WAAW,CAAC,KAAgB;QAChC,IAAI,KAAK,GAAG,CAAC,CAAC;QAEd,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;YACvB,IAAI,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,CAAC;gBACtB,KAAK,IAAI,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC;YACpC,CAAC;iBAAM,IAAI,OAAO,IAAI,KAAK,UAAU,EAAE,CAAC;gBACpC,KAAK,EAAE,CAAC;YACZ,CAAC;QACL,CAAC;QAED,OAAO,KAAK,CAAC;IACjB,CAAC;IAED;;OAEG;IACK,iBAAiB,CAAC,KAAgB;QACtC,MAAM,SAAS,GAAG,IAAI,GAAG,EAAU,CAAC;QAEpC,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;YACvB,IAAI,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,CAAC;gBACtB,yCAAyC;gBACzC,MAAM,MAAM,GAAG,IAAI,CAAC,iBAAiB,CAAC,IAAI,CAAC,CAAC;gBAC5C,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,CAAC,SAAS,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC;YAChD,CAAC;iBAAM,IAAI,OAAO,IAAI,KAAK,UAAU,EAAE,CAAC;gBACpC,MAAM,QAAQ,GAAG,IAAI,CAAC,IAAI,IAAI,WAAW,CAAC;gBAC1C,SAAS,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;YAC5B,CAAC;QACL,CAAC;QAED,OAAO,SAAS,CAAC;IACrB,CAAC;IAED;;OAEG;IACK,0BAA0B,CAAC,QAAgB;QAC/C,IAAI,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,QAAQ,CAAC,EAAE,CAAC;YACnC,MAAM,IAAI,KAAK,CACX,kCAAkC,QAAQ,KAAK;gBAC3C,0EAA0E,CACjF,CAAC;QACN,CAAC;QACD,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;IACrC,CAAC;IAED;;OAEG;IACH,WAAW;QACP,OAAO,IAAI,CAAC,QAAQ,CAAC;IACzB,CAAC;IAED;;OAEG;IACH,kBAAkB;QACd,OAAO,IAAI,CAAC,KAAK,CAAC;IACtB,CAAC;IAED;;OAEG;IACH,gBAAgB;QACZ,MAAM,aAAa,GAAG,IAAI,CAAC,QAAQ,CAAC,OAAO;YACvC,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,OAAO,GAAG,IAAI,CAAC,QAAQ,CAAC,SAAS;YACjD,CAAC,CAAC,CAAC,CAAC;QAER,0BAA0B;QAC1B,MAAM,YAAY,GAAG,IAAI,CAAC,sBAAsB,EAAE,CAAC;QAEnD,gCAAgC;QAChC,MAAM,aAAa,GAAG,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,cAAc,CAAC,MAAM,EAAE,CAAC,CAAC,MAAM,CACjE,CAAC,GAAG,EAAE,CAAC,EAAE,EAAE,CAAC,GAAG,GAAG,CAAC,CAAC,aAAa,EACjC,CAAC,CACJ,CAAC;QACF,MAAM,kBAAkB,GAAG,aAAa,GAAG,CAAC,CAAC,CAAC,CAAC,aAAa,GAAG,aAAa,CAAC,CAAC,CAAC,CAAC,CAAC;QAEjF,uBAAuB;QACvB,MAAM,WAAW,GAAG,IAAI,CAAC,oBAAoB,EAAE,CAAC;QAEhD,OAAO;YACH,QAAQ,EAAE,IAAI,CAAC,QAAQ,CAAC,QAAQ;YAChC,aAAa;YACb,KAAK,EAAE,IAAI,CAAC,cAAc;YAC1B,YAAY;YACZ,kBAAkB;YAClB,WAAW;SACd,CAAC;IACN,CAAC;IAED;;OAEG;IACK,sBAAsB;QAC1B,uBAAuB;QACvB,MAAM,SAAS,GAAG,IAAI,GAAG,EAAoB,CAAC;QAC9C,KAAK,MAAM,IAAI,IAAI,IAAI,CAAC,KAAK,CAAC,KAAK,EAAE,CAAC;YAClC,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE,CAAC;gBAC1B,SAAS,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC;YAC/B,CAAC;YACD,SAAS,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAE,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAC5C,CAAC;QAED,8BAA8B;QAC9B,MAAM,OAAO,GAAG,IAAI,GAAG,EAAU,CAAC;QAClC,IAAI,WAAW,GAAa,EAAE,CAAC;QAE/B,MAAM,GAAG,GAAG,CAAC,IAAY,EAAE,IAAc,EAAQ,EAAE;YAC/C,IAAI,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC;gBAAE,OAAO;YAC9B,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;YAElB,MAAM,OAAO,GAAG,CAAC,GAAG,IAAI,EAAE,IAAI,CAAC,CAAC;YAEhC,MAAM,QAAQ,GAAG,SAAS,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC;YAC3C,IAAI,QAAQ,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;gBACxB,gDAAgD;gBAChD,IAAI,OAAO,CAAC,MAAM,GAAG,WAAW,CAAC,MAAM,EAAE,CAAC;oBACtC,WAAW,GAAG,OAAO,CAAC;gBAC1B,CAAC;YACL,CAAC;iBAAM,CAAC;gBACJ,KAAK,MAAM,KAAK,IAAI,QAAQ,EAAE,CAAC;oBAC3B,GAAG,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC;gBACxB,CAAC;YACL,CAAC;YAED,OAAO,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;QACzB,CAAC,CAAC;QAEF,wDAAwD;QACxD,MAAM,QAAQ,GAAG,IAAI,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,IAAI,EAAE,CAAC,CAAC;QAClD,MAAM,cAAc,GAAG,IAAI,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC;QAClE,MAAM,KAAK,GAAG,KAAK,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,cAAc,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;QAEvE,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;YACvB,GAAG,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC;QAClB,CAAC;QAED,OAAO,WAAW,CAAC,OAAO,EAAE,CAAC,CAAC,+BAA+B;IACjE,CAAC;IAED;;OAEG;IACK,oBAAoB;QAKxB,MAAM,WAAW,GAA6B,IAAI,GAAG,EAAE,CAAC;QAExD,wCAAwC;QACxC,KAAK,MAAM,IAAI,IAAI,IAAI,CAAC,KAAK,CAAC,KAAK,EAAE,CAAC;YAClC,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE,CAAC;gBAC5B,WAAW,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,EAAE,IAAI,GAAG,EAAE,CAAC,CAAC;YACxC,CAAC;YACD,WAAW,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAE,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAC7C,CAAC;QAED,kCAAkC;QAClC,MAAM,MAAM,GAAG,KAAK,CAAC,IAAI,CAAC,WAAW,CAAC,OAAO,EAAE,CAAC;aAC3C,GAAG,CAAC,CAAC,CAAC,QAAQ,EAAE,YAAY,CAAC,EAAE,EAAE,CAAC,CAAC;YAChC,QAAQ;YACR,aAAa,EAAE,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC,QAAQ,CAAC,EAAE,aAAa,IAAI,CAAC;YACpE,YAAY,EAAE,KAAK,CAAC,IAAI,CAAC,YAAY,CAAC;SACzC,CAAC,CAAC;aACF,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,YAAY,CAAC,MAAM,GAAG,CAAC,CAAC,YAAY,CAAC,MAAM,CAAC;aAC7D,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,oBAAoB;QAEtC,OAAO,MAAM,CAAC;IAClB,CAAC;IAED;;OAEG;IACH,EAAE,CAA8B,KAAQ,EAAE,OAAuB;QAC7D,OAAO,KAAK,CAAC,EAAE,CAAC,KAAK,EAAE,OAAc,CAAC,CAAC;IAC3C,CAAC;IAED,IAAI,CAA8B,KAAQ,EAAE,GAAG,IAAgC;QAC3E,OAAO,KAAK,CAAC,IAAI,CAAC,KAAK,EAAE,GAAG,IAAI,CAAC,CAAC;IACtC,CAAC;CACJ"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../index.ts"],"names":[],"mappings":"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"}
|
package/dist/index.test.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.test.js","sourceRoot":"","sources":["../index.test.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAEH,OAAO,MAAM,MAAM,QAAQ,CAAC;AAC5B,OAAO,GAAG,MAAM,KAAK,CAAC;AACtB,OAAO,EAAC,YAAY,EAAC,MAAM,YAAY,CAAC;AAExC,GAAG,CAAC,IAAI,CAAC,wCAAwC,EAAE,KAAK,EAAC,CAAC,EAAC,EAAE;IACzD,CAAC,CAAC,IAAI,CAAC,uCAAuC,EAAE,KAAK,IAAI,EAAE;QACvD,MAAM,QAAQ,GAAG,IAAI,YAAY,CAAC,EAAC,WAAW,EAAE,EAAE,EAAC,CAAC,CAAC;QAErD,MAAM,KAAK,GAAG;YACV,KAAK,UAAU,SAAS;gBACpB,OAAO,EAAC,MAAM,EAAE,UAAU,EAAE,IAAI,EAAE,OAAO,EAAC,CAAC;YAC/C,CAAC;YACD,KAAK,UAAU,WAAW,CAAC,MAAM,EAAE,OAAO;gBACtC,mCAAmC;gBACnC,MAAM,IAAI,GAAG,MAAM,OAAO,CAAC,SAAS,CAAC;gBACrC,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,EAAE,UAAU,CAAC,CAAC;gBACtC,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;gBACjC,OAAO,EAAC,SAAS,EAAE,IAAI,EAAC,CAAC;YAC7B,CAAC;SACJ,CAAC;QAEF,MAAM,QAAQ,CAAC,OAAO,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC;QAElC,MAAM,QAAQ,GAAG,QAAQ,CAAC,WAAW,EAAE,CAAC;QACxC,MAAM,CAAC,KAAK,CAAC,QAAQ,CAAC,MAAM,EAAE,WAAW,CAAC,CAAC;QAC3C,MAAM,CAAC,KAAK,CAAC,QAAQ,CAAC,cAAc,EAAE,CAAC,CAAC,CAAC;QACzC,MAAM,CAAC,KAAK,CAAC,QAAQ,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC;IAC1C,CAAC,CAAC,CAAC;IAEH,CAAC,CAAC,IAAI,CAAC,mDAAmD,EAAE,KAAK,IAAI,EAAE;QACnE,MAAM,QAAQ,GAAG,IAAI,YAAY,CAAC,EAAC,WAAW,EAAE,EAAE,EAAC,CAAC,CAAC;QAErD,MAAM,KAAK,GAAG;YACV,KAAK,UAAU,SAAS;gBACpB,OAAO,EAAC,MAAM,EAAE,UAAU,EAAE,KAAK,EAAE,iBAAiB,EAAC,CAAC;YAC1D,CAAC;YACD,KAAK,UAAU,UAAU,CAAC,MAAW,EAAE,OAAY;gBAC/C,oDAAoD;gBACpD,MAAM,EAAC,SAAS,EAAC,GAAG,OAAO,CAAC;gBAC5B,MAAM,IAAI,GAAG,MAAM,SAAS,CAAC;gBAC7B,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,EAAE,UAAU,CAAC,CAAC;gBACtC,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,KAAK,EAAE,iBAAiB,CAAC,CAAC;YAChD,CAAC;SACJ,CAAC;QAEF,MAAM,QAAQ,CAAC,OAAO,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC;QAElC,MAAM,KAAK,GAAG,QAAQ,CAAC,kBAAkB,EAAE,CAAC;QAC5C,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,KAAK,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC;QACpC,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,YAAY,CAAC,CAAC;QAChD,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,EAAE,EAAE,WAAW,CAAC,CAAC;IACjD,CAAC,CAAC,CAAC;IAEH,CAAC,CAAC,IAAI,CAAC,kEAAkE,EAAE,KAAK,IAAI,EAAE;QAClF,MAAM,QAAQ,GAAG,IAAI,YAAY,CAAC,EAAC,WAAW,EAAE,EAAE,EAAC,CAAC,CAAC;QAErD,MAAM,KAAK,GAAG;YACV,KAAK,UAAU,SAAS;gBACpB,OAAO;oBACH,EAAE,EAAE,UAAU;oBACd,OAAO,EAAE,EAAC,IAAI,EAAE,SAAS,EAAE,GAAG,EAAE,EAAE,EAAC;iBACtC,CAAC;YACN,CAAC;YACD,KAAK,UAAU,aAAa,CAAC,MAAW,EAAE,OAAY;gBAClD,iDAAiD;gBACjD,MAAM,EAAC,SAAS,EAAC,GAAG,OAAO,CAAC;gBAC5B,MAAM,IAAI,GAAG,MAAM,SAAS,CAAC,OAAO,CAAC,IAAI,CAAC;gBAC1C,MAAM,GAAG,GAAG,MAAM,SAAS,CAAC,OAAO,CAAC,GAAG,CAAC;gBACxC,MAAM,CAAC,KAAK,CAAC,IAAI,EAAE,SAAS,CAAC,CAAC;gBAC9B,MAAM,CAAC,KAAK,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC;YAC1B,CAAC;SACJ,CAAC;QAEF,MAAM,QAAQ,CAAC,OAAO,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC;QAElC,MAAM,QAAQ,GAAG,QAAQ,CAAC,WAAW,EAAE,CAAC;QACxC,MAAM,CAAC,KAAK,CAAC,QAAQ,CAAC,MAAM,EAAE,WAAW,CAAC,CAAC;IAC/C,CAAC,CAAC,CAAC;IAEH,CAAC,CAAC,IAAI,CACF,uEAAuE,EACvE,KAAK,IAAI,EAAE;QACP,MAAM,QAAQ,GAAG,IAAI,YAAY,CAAC,EAAC,WAAW,EAAE,EAAE,EAAC,CAAC,CAAC;QAErD,MAAM,KAAK,GAAG;YACV,KAAK,UAAU,YAAY;gBACvB,OAAO;oBACH,SAAS,EAAE,UAAU;oBACrB,KAAK,EAAE,EAAC,IAAI,EAAE,OAAO,EAAE,KAAK,EAAE,mBAAmB,EAAC;iBACrD,CAAC;YACN,CAAC;YACD,KAAK,UAAU,YAAY,CAAC,MAAW,EAAE,OAAY;gBACjD,8CAA8C;gBAC9C,MAAM,EACF,YAAY,EAAE,EAAC,KAAK,EAAC,GACxB,GAAG,OAAO,CAAC;gBACZ,MAAM,SAAS,GAAG,MAAM,KAAK,CAAC;gBAC9B,MAAM,CAAC,KAAK,CAAC,SAAS,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;gBACtC,MAAM,CAAC,KAAK,CAAC,SAAS,CAAC,KAAK,EAAE,mBAAmB,CAAC,CAAC;YACvD,CAAC;SACJ,CAAC;QAEF,MAAM,QAAQ,CAAC,OAAO,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC;IACtC,CAAC,CACJ,CAAC;IAEF,CAAC,CAAC,IAAI,CAAC,kDAAkD,EAAE,KAAK,IAAI,EAAE;QAClE,MAAM,QAAQ,GAAG,IAAI,YAAY,CAAC,EAAC,WAAW,EAAE,EAAE,EAAC,CAAC,CAAC;QAErD,MAAM,QAAQ,GAAG,EAAC,MAAM,EAAE,UAAU,EAAE,WAAW,EAAE,KAAK,EAAC,CAAC;QAE1D,MAAM,KAAK,GAAG;YACV,KAAK,UAAU,SAAS,CAAC,MAAM,EAAE,OAAO;gBACpC,4DAA4D;gBAC5D,MAAM,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,MAAM,EAAE,UAAU,CAAC,CAAC;gBAC/C,MAAM,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,WAAW,EAAE,KAAK,CAAC,CAAC;gBAC/C,wBAAwB;gBACxB,MAAM,IAAI,GAAG,OAAO,CAAC,KAAK,CAAC;gBAC3B,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,EAAE,UAAU,CAAC,CAAC;YAC1C,CAAC;SACJ,CAAC;QAEF,MAAM,QAAQ,CAAC,OAAO,CAAC,KAAK,EAAE,QAAQ,CAAC,CAAC;IAC5C,CAAC,CAAC,CAAC;AACP,CAAC,CAAC,CAAC;AAEH,GAAG,CAAC,IAAI,CAAC,mCAAmC,EAAE,KAAK,EAAC,CAAC,EAAC,EAAE;IACpD,CAAC,CAAC,IAAI,CAAC,mCAAmC,EAAE,KAAK,IAAI,EAAE;QACnD,MAAM,QAAQ,GAAG,IAAI,YAAY,CAAC,EAAC,WAAW,EAAE,EAAE,EAAC,CAAC,CAAC;QACrD,MAAM,cAAc,GAAa,EAAE,CAAC;QAEpC,MAAM,KAAK,GAAG;YACV,KAAK,UAAU,KAAK;gBAChB,cAAc,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;gBAC/B,MAAM,IAAI,OAAO,CAAC,OAAO,CAAC,EAAE,CAAC,UAAU,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC,CAAC;gBACtD,cAAc,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;gBAC7B,OAAO,EAAC,MAAM,EAAE,GAAG,EAAC,CAAC;YACzB,CAAC;YACD,KAAK,UAAU,KAAK;gBAChB,cAAc,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;gBAC/B,MAAM,IAAI,OAAO,CAAC,OAAO,CAAC,EAAE,CAAC,UAAU,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC,CAAC;gBACtD,cAAc,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;gBAC7B,OAAO,EAAC,MAAM,EAAE,GAAG,EAAC,CAAC;YACzB,CAAC;YACD,KAAK,UAAU,KAAK;gBAChB,cAAc,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;gBAC/B,MAAM,IAAI,OAAO,CAAC,OAAO,CAAC,EAAE,CAAC,UAAU,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC,CAAC;gBACtD,cAAc,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;gBAC7B,OAAO,EAAC,MAAM,EAAE,GAAG,EAAC,CAAC;YACzB,CAAC;SACJ,CAAC;QAEF,MAAM,QAAQ,CAAC,OAAO,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC;QAElC,6DAA6D;QAC7D,MAAM,UAAU,GAAG,cAAc,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC;QAC3E,MAAM,aAAa,GAAG,cAAc,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC;QACxE,MAAM,oBAAoB,GAAG,cAAc;aACtC,KAAK,CAAC,CAAC,EAAE,aAAa,CAAC;aACvB,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC;QAE9C,MAAM,CAAC,EAAE,CACL,oBAAoB,GAAG,CAAC,EACxB,wEAAwE,CAC3E,CAAC;IACN,CAAC,CAAC,CAAC;IAEH,CAAC,CAAC,IAAI,CAAC,uCAAuC,EAAE,KAAK,IAAI,EAAE;QACvD,MAAM,QAAQ,GAAG,IAAI,YAAY,CAAC,EAAC,WAAW,EAAE,EAAE,EAAC,CAAC,CAAC;QACrD,MAAM,cAAc,GAAa,EAAE,CAAC;QAEpC,MAAM,KAAK,GAAG;YACV,KAAK,UAAU,aAAa;gBACxB,cAAc,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;gBAChC,MAAM,IAAI,OAAO,CAAC,OAAO,CAAC,EAAE,CAAC,UAAU,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC,CAAC;gBACtD,cAAc,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;gBAC9B,OAAO,EAAC,IAAI,EAAE,QAAQ,EAAC,CAAC;YAC5B,CAAC;YACD,KAAK,UAAU,aAAa,CAAC,MAAW,EAAE,OAAY;gBAClD,cAAc,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC;gBACnC,MAAM,EAAC,aAAa,EAAC,GAAG,OAAO,CAAC;gBAChC,MAAM,EAAE,GAAG,MAAM,aAAa,CAAC;gBAC/B,cAAc,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;gBACjC,MAAM,CAAC,KAAK,CAAC,EAAE,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC;gBAChC,OAAO,EAAC,OAAO,EAAE,EAAE,EAAC,CAAC;YACzB,CAAC;SACJ,CAAC;QAEF,MAAM,QAAQ,CAAC,OAAO,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC;QAElC,iDAAiD;QACjD,0EAA0E;QAC1E,MAAM,UAAU,GAAG,cAAc,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC;QACpD,MAAM,aAAa,GAAG,cAAc,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC;QAE1D,MAAM,CAAC,EAAE,CAAC,UAAU,GAAG,aAAa,EAAE,iDAAiD,CAAC,CAAC;IAC7F,CAAC,CAAC,CAAC;IAEH,CAAC,CAAC,IAAI,CAAC,4BAA4B,EAAE,KAAK,IAAI,EAAE;QAC5C,MAAM,QAAQ,GAAG,IAAI,YAAY,CAAC,EAAC,WAAW,EAAE,CAAC,EAAC,CAAC,CAAC,CAAC,8BAA8B;QACnF,IAAI,eAAe,GAAG,CAAC,CAAC;QACxB,IAAI,aAAa,GAAG,CAAC,CAAC;QAEtB,MAAM,KAAK,GAAG,KAAK,CAAC,IAAI,CACpB,EAAC,MAAM,EAAE,CAAC,EAAC,EACX,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CACL,KAAK,UAAU,IAAI;YACf,eAAe,EAAE,CAAC;YAClB,aAAa,GAAG,IAAI,CAAC,GAAG,CAAC,aAAa,EAAE,eAAe,CAAC,CAAC;YACzD,MAAM,IAAI,OAAO,CAAC,OAAO,CAAC,EAAE,CAAC,UAAU,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC,CAAC;YACtD,eAAe,EAAE,CAAC;YAClB,OAAO,EAAC,KAAK,EAAE,CAAC,EAAC,CAAC;QACtB,CAAC,CACR,CAAC;QAEF,mCAAmC;QACnC,KAAK,CAAC,OAAO,CAAC,CAAC,IAAI,EAAE,CAAC,EAAE,EAAE;YACtB,MAAM,CAAC,cAAc,CAAC,IAAI,EAAE,MAAM,EAAE,EAAC,KAAK,EAAE,OAAO,CAAC,EAAE,EAAE,YAAY,EAAE,IAAI,EAAC,CAAC,CAAC;QACjF,CAAC,CAAC,CAAC;QAEH,MAAM,QAAQ,CAAC,OAAO,CAAC,KAAY,EAAE,EAAE,CAAC,CAAC;QAEzC,MAAM,CAAC,EAAE,CAAC,aAAa,IAAI,CAAC,EAAE,sCAAsC,aAAa,EAAE,CAAC,CAAC;IACzF,CAAC,CAAC,CAAC;AACP,CAAC,CAAC,CAAC;AAEH,GAAG,CAAC,IAAI,CAAC,iCAAiC,EAAE,KAAK,EAAC,CAAC,EAAC,EAAE;IAClD,CAAC,CAAC,IAAI,CAAC,0BAA0B,EAAE,KAAK,IAAI,EAAE;QAC1C,MAAM,QAAQ,GAAG,IAAI,YAAY,CAAC,EAAC,WAAW,EAAE,EAAE,EAAC,CAAC,CAAC;QAErD,MAAM,KAAK,GAAG;YACV,KAAK,UAAU,KAAK;gBAChB,OAAO,EAAC,KAAK,EAAE,GAAG,EAAC,CAAC;YACxB,CAAC;YACD,KAAK,UAAU,KAAK,CAAC,MAAW,EAAE,OAAY;gBAC1C,MAAM,EAAC,KAAK,EAAC,GAAG,OAAO,CAAC;gBACxB,MAAM,KAAK,CAAC;gBACZ,OAAO,EAAC,KAAK,EAAE,GAAG,EAAC,CAAC;YACxB,CAAC;SACJ,CAAC;QAEF,MAAM,QAAQ,CAAC,OAAO,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC;QAElC,MAAM,KAAK,GAAG,QAAQ,CAAC,kBAAkB,EAAE,CAAC;QAC5C,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,KAAK,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC;QAClC,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,KAAK,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC;QACpC,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;QAC3C,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,EAAE,EAAE,OAAO,CAAC,CAAC;QACzC,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC;IACnD,CAAC,CAAC,CAAC;IAEH,CAAC,CAAC,IAAI,CAAC,8BAA8B,EAAE,KAAK,IAAI,EAAE;QAC9C,MAAM,QAAQ,GAAG,IAAI,YAAY,CAAC,EAAC,WAAW,EAAE,EAAE,EAAC,CAAC,CAAC;QAErD,MAAM,KAAK,GAAG;YACV,KAAK,UAAU,SAAS;gBACpB,OAAO,EAAC,MAAM,EAAE,QAAQ,EAAC,CAAC;YAC9B,CAAC;YACD,KAAK,UAAU,YAAY;gBACvB,OAAO,EAAC,SAAS,EAAE,QAAQ,EAAC,CAAC;YACjC,CAAC;YACD,KAAK,UAAU,YAAY,CAAC,MAAW,EAAE,OAAY;gBACjD,MAAM,EAAC,SAAS,EAAE,YAAY,EAAC,GAAG,OAAO,CAAC;gBAC1C,MAAM,IAAI,GAAG,MAAM,SAAS,CAAC;gBAC7B,MAAM,OAAO,GAAG,MAAM,YAAY,CAAC;gBACnC,OAAO,EAAC,MAAM,EAAE,IAAI,EAAC,CAAC;YAC1B,CAAC;SACJ,CAAC;QAEF,MAAM,QAAQ,CAAC,OAAO,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC;QAElC,MAAM,KAAK,GAAG,QAAQ,CAAC,kBAAkB,EAAE,CAAC;QAC5C,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,KAAK,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC;QAEpC,MAAM,IAAI,GAAG,KAAK,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,cAAc,CAAC,CAAC;QAChE,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC;QAC7B,MAAM,CAAC,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,KAAK,WAAW,CAAC,CAAC,CAAC;QAChD,MAAM,CAAC,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,KAAK,cAAc,CAAC,CAAC,CAAC;IACvD,CAAC,CAAC,CAAC;IAEH,CAAC,CAAC,IAAI,CAAC,qCAAqC,EAAE,KAAK,IAAI,EAAE;QACrD,MAAM,QAAQ,GAAG,IAAI,YAAY,CAAC,EAAC,WAAW,EAAE,EAAE,EAAC,CAAC,CAAC;QAErD,MAAM,KAAK,GAAG;YACV,KAAK,UAAU,SAAS;gBACpB,OAAO,EAAC,IAAI,EAAE,EAAC,IAAI,EAAE,OAAO,EAAE,KAAK,EAAE,mBAAmB,EAAC,EAAC,CAAC;YAC/D,CAAC;YACD,KAAK,UAAU,WAAW,CAAC,MAAW,EAAE,OAAY;gBAChD,MAAM,EAAC,SAAS,EAAC,GAAG,OAAO,CAAC;gBAC5B,MAAM,KAAK,GAAG,MAAM,SAAS,CAAC,IAAI,CAAC,KAAK,CAAC;gBACzC,OAAO,EAAC,SAAS,EAAE,KAAK,EAAC,CAAC;YAC9B,CAAC;SACJ,CAAC;QAEF,MAAM,QAAQ,CAAC,OAAO,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC;QAElC,MAAM,KAAK,GAAG,QAAQ,CAAC,kBAAkB,EAAE,CAAC;QAC5C,MAAM,IAAI,GAAG,KAAK,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,aAAa,CAAC,CAAC;QAC7D,MAAM,CAAC,EAAE,CAAC,IAAI,CAAC,CAAC;QAChB,MAAM,CAAC,EAAE,CAAC,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,WAAW,CAAC,CAAC,CAAC;IACnD,CAAC,CAAC,CAAC;AACP,CAAC,CAAC,CAAC;AAEH,GAAG,CAAC,IAAI,CAAC,kCAAkC,EAAE,KAAK,EAAC,CAAC,EAAC,EAAE;IACnD,CAAC,CAAC,IAAI,CAAC,8BAA8B,EAAE,KAAK,IAAI,EAAE;QAC9C,MAAM,QAAQ,GAAG,IAAI,YAAY,CAAC,EAAC,WAAW,EAAE,EAAE,EAAC,CAAC,CAAC;QAErD,MAAM,KAAK,GAAG;YACV,KAAK,UAAU,KAAK;gBAChB,OAAO,EAAC,CAAC,EAAE,CAAC,EAAC,CAAC;YAClB,CAAC;YACD,KAAK,UAAU,KAAK;gBAChB,OAAO,EAAC,CAAC,EAAE,CAAC,EAAC,CAAC;YAClB,CAAC;YACD,KAAK,UAAU,KAAK;gBAChB,OAAO,EAAC,CAAC,EAAE,CAAC,EAAC,CAAC;YAClB,CAAC;SACJ,CAAC;QAEF,MAAM,iBAAiB,GAAa,EAAE,CAAC;QACvC,QAAQ,CAAC,EAAE,CAAC,YAAY,EAAE,IAAI,CAAC,EAAE,CAAC,iBAAiB,CAAC,IAAI,CAAC,SAAS,IAAI,EAAE,CAAC,CAAC,CAAC;QAC3E,QAAQ,CAAC,EAAE,CAAC,UAAU,EAAE,IAAI,CAAC,EAAE,CAAC,iBAAiB,CAAC,IAAI,CAAC,OAAO,IAAI,EAAE,CAAC,CAAC,CAAC;QAEvE,MAAM,QAAQ,CAAC,OAAO,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC;QAElC,MAAM,QAAQ,GAAG,QAAQ,CAAC,WAAW,EAAE,CAAC;QACxC,MAAM,CAAC,KAAK,CAAC,QAAQ,CAAC,UAAU,EAAE,CAAC,CAAC,CAAC;QACrC,MAAM,CAAC,KAAK,CAAC,QAAQ,CAAC,cAAc,EAAE,CAAC,CAAC,CAAC;QACzC,MAAM,CAAC,KAAK,CAAC,QAAQ,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC;QACtC,MAAM,CAAC,KAAK,CAAC,QAAQ,CAAC,MAAM,EAAE,WAAW,CAAC,CAAC;QAE3C,MAAM,CAAC,KAAK,CAAC,iBAAiB,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC,CAAC,oBAAoB;IACnE,CAAC,CAAC,CAAC;IAEH,CAAC,CAAC,IAAI,CAAC,iCAAiC,EAAE,KAAK,IAAI,EAAE;QACjD,MAAM,QAAQ,GAAG,IAAI,YAAY,CAAC,EAAC,WAAW,EAAE,EAAE,EAAC,CAAC,CAAC;QAErD,MAAM,KAAK,GAAG;YACV,KAAK,UAAU,WAAW;gBACtB,MAAM,IAAI,OAAO,CAAC,OAAO,CAAC,EAAE,CAAC,UAAU,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC,CAAC;gBACtD,OAAO,EAAC,MAAM,EAAE,MAAM,EAAC,CAAC;YAC5B,CAAC;SACJ,CAAC;QAEF,MAAM,QAAQ,CAAC,OAAO,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC;QAElC,MAAM,QAAQ,GAAG,QAAQ,CAAC,WAAW,EAAE,CAAC;QACxC,MAAM,YAAY,GAAG,QAAQ,CAAC,KAAK,CAAC,GAAG,CAAC,aAAa,CAAC,CAAC;QAEvD,MAAM,CAAC,EAAE,CAAC,YAAY,CAAC,CAAC;QACxB,MAAM,CAAC,KAAK,CAAC,YAAY,CAAC,MAAM,EAAE,WAAW,CAAC,CAAC;QAC/C,MAAM,CAAC,EAAE,CAAC,YAAY,CAAC,SAAS,CAAC,CAAC;QAClC,MAAM,CAAC,EAAE,CAAC,YAAY,CAAC,OAAO,CAAC,CAAC;QAChC,MAAM,CAAC,EAAE,CAAC,YAAY,CAAC,QAAQ,IAAI,YAAY,CAAC,QAAQ,IAAI,EAAE,CAAC,CAAC;IACpE,CAAC,CAAC,CAAC;IAEH,CAAC,CAAC,IAAI,CAAC,iCAAiC,EAAE,KAAK,IAAI,EAAE;QACjD,MAAM,QAAQ,GAAG,IAAI,YAAY,CAAC,EAAC,WAAW,EAAE,EAAE,EAAC,CAAC,CAAC;QACrD,MAAM,MAAM,GAAa,EAAE,CAAC;QAE5B,QAAQ,CAAC,EAAE,CAAC,YAAY,EAAE,GAAG,EAAE,CAAC,MAAM,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC,CAAC;QAC3D,QAAQ,CAAC,EAAE,CAAC,YAAY,EAAE,IAAI,CAAC,EAAE,CAAC,MAAM,CAAC,IAAI,CAAC,cAAc,IAAI,EAAE,CAAC,CAAC,CAAC;QACrE,QAAQ,CAAC,EAAE,CAAC,UAAU,EAAE,IAAI,CAAC,EAAE,CAAC,MAAM,CAAC,IAAI,CAAC,YAAY,IAAI,EAAE,CAAC,CAAC,CAAC;QACjE,QAAQ,CAAC,EAAE,CAAC,UAAU,EAAE,GAAG,EAAE,CAAC,MAAM,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC;QAEvD,MAAM,KAAK,GAAG;YACV,KAAK,UAAU,KAAK;gBAChB,OAAO,EAAE,CAAC;YACd,CAAC;YACD,KAAK,UAAU,KAAK;gBAChB,OAAO,EAAE,CAAC;YACd,CAAC;SACJ,CAAC;QAEF,MAAM,QAAQ,CAAC,OAAO,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC;QAElC,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,YAAY,CAAC,CAAC;QACtC,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,MAAM,CAAC,MAAM,GAAG,CAAC,CAAC,EAAE,UAAU,CAAC,CAAC;QACpD,MAAM,CAAC,EAAE,CAAC,MAAM,CAAC,QAAQ,CAAC,kBAAkB,CAAC,CAAC,CAAC;QAC/C,MAAM,CAAC,EAAE,CAAC,MAAM,CAAC,QAAQ,CAAC,gBAAgB,CAAC,CAAC,CAAC;IACjD,CAAC,CAAC,CAAC;AACP,CAAC,CAAC,CAAC;AAEH,GAAG,CAAC,IAAI,CAAC,+BAA+B,EAAE,KAAK,EAAC,CAAC,EAAC,EAAE;IAChD,CAAC,CAAC,IAAI,CAAC,mCAAmC,EAAE,KAAK,IAAI,EAAE;QACnD,MAAM,QAAQ,GAAG,IAAI,YAAY,CAAC,EAAC,WAAW,EAAE,EAAE,EAAC,CAAC,CAAC;QAErD,MAAM,KAAK,GAAG;YACV,KAAK,UAAU,SAAS;gBACpB,OAAO,EAAC,MAAM,EAAE,QAAQ,EAAC,CAAC;YAC9B,CAAC;YACD,KAAK,UAAU,WAAW,CAAC,MAAW,EAAE,OAAY;gBAChD,MAAM,EAAC,SAAS,EAAC,GAAG,OAAO,CAAC;gBAC5B,MAAM,SAAS,CAAC;gBAChB,MAAM,IAAI,KAAK,CAAC,0BAA0B,CAAC,CAAC;YAChD,CAAC;SACJ,CAAC;QAEF,MAAM,MAAM,CAAC,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAC,KAAK,EAAE,EAAE,CAAC,EAAE,0BAA0B,CAAC,CAAC;QAE9E,MAAM,QAAQ,GAAG,QAAQ,CAAC,WAAW,EAAE,CAAC;QACxC,MAAM,CAAC,KAAK,CAAC,QAAQ,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC;QAEtC,MAAM,YAAY,GAAG,QAAQ,CAAC,KAAK,CAAC,GAAG,CAAC,aAAa,CAAC,CAAC;QACvD,MAAM,CAAC,EAAE,CAAC,YAAY,CAAC,CAAC;QACxB,MAAM,CAAC,KAAK,CAAC,YAAY,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAC;QAC5C,MAAM,CAAC,EAAE,CAAC,YAAY,CAAC,KAAK,CAAC,CAAC;QAC9B,MAAM,CAAC,EAAE,CAAC,YAAY,CAAC,KAAK,CAAC,OAAO,CAAC,QAAQ,CAAC,0BAA0B,CAAC,CAAC,CAAC;IAC/E,CAAC,CAAC,CAAC;IAEH,CAAC,CAAC,IAAI,CAAC,oCAAoC,EAAE,KAAK,IAAI,EAAE;QACpD,MAAM,QAAQ,GAAG,IAAI,YAAY,CAAC,EAAC,WAAW,EAAE,EAAE,EAAE,kBAAkB,EAAE,IAAI,EAAC,CAAC,CAAC;QAE/E,MAAM,KAAK,GAAG;YACV,KAAK,UAAU,KAAK;gBAChB,OAAO,EAAC,IAAI,EAAE,OAAO,EAAC,CAAC;YAC3B,CAAC;YACD,KAAK,UAAU,KAAK,CAAC,MAAW,EAAE,OAAY;gBAC1C,MAAM,EAAC,KAAK,EAAC,GAAG,OAAO,CAAC;gBACxB,MAAM,KAAK,CAAC;gBACZ,OAAO,EAAC,IAAI,EAAE,OAAO,EAAC,CAAC;YAC3B,CAAC;YACD,KAAK,UAAU,KAAK,CAAC,MAAW,EAAE,OAAY;gBAC1C,MAAM,EAAC,KAAK,EAAC,GAAG,OAAO,CAAC;gBACxB,MAAM,KAAK,CAAC;gBACZ,MAAM,IAAI,KAAK,CAAC,iBAAiB,CAAC,CAAC;YACvC,CAAC;SACJ,CAAC;QAEF,MAAM,MAAM,CAAC,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAC,KAAK,EAAE,EAAE,CAAC,EAAE,iBAAiB,CAAC,CAAC;QAErE,MAAM,YAAY,GAAG,QAAQ,CAAC,WAAW,EAAE,CAAC,KAAK,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;QAC/D,MAAM,CAAC,EAAE,CAAC,YAAY,CAAC,CAAC;QACxB,MAAM,CAAC,EAAE,CAAC,YAAY,CAAC,YAAY,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC,CAAC;IAC3D,CAAC,CAAC,CAAC;IAEH,CAAC,CAAC,IAAI,CAAC,2CAA2C,EAAE,KAAK,IAAI,EAAE;QAC3D,MAAM,QAAQ,GAAG,IAAI,YAAY,CAAC,EAAC,WAAW,EAAE,EAAE,EAAE,kBAAkB,EAAE,IAAI,EAAC,CAAC,CAAC;QAE/E,MAAM,KAAK,GAAG;YACV,KAAK,UAAU,QAAQ;gBACnB,MAAM,IAAI,KAAK,CAAC,YAAY,CAAC,CAAC;YAClC,CAAC;SACJ,CAAC;QAEF,MAAM,MAAM,CAAC,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC,CAAC;QAElD,MAAM,YAAY,GAAG,QAAQ,CAAC,WAAW,EAAE,CAAC,KAAK,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC;QAClE,MAAM,CAAC,EAAE,CAAC,YAAY,CAAC,CAAC;QACxB,MAAM,CAAC,EAAE,CAAC,YAAY,CAAC,cAAc,CAAC,CAAC;QACvC,MAAM,CAAC,EAAE,CACL,YAAY,CAAC,cAAc,CAAC,IAAI,CAAC,QAAQ,CAAC,aAAa,CAAC,EACxD,gDAAgD,YAAY,CAAC,cAAc,CAAC,IAAI,EAAE,CACrF,CAAC;QACF,MAAM,CAAC,EAAE,CAAC,YAAY,CAAC,cAAc,CAAC,IAAI,GAAG,CAAC,CAAC,CAAC;IACpD,CAAC,CAAC,CAAC;AACP,CAAC,CAAC,CAAC;AAEH,GAAG,CAAC,IAAI,CAAC,gCAAgC,EAAE,KAAK,EAAC,CAAC,EAAC,EAAE;IACjD,CAAC,CAAC,IAAI,CAAC,qBAAqB,EAAE,KAAK,IAAI,EAAE;QACrC,MAAM,QAAQ,GAAG,IAAI,YAAY,CAAC,EAAC,WAAW,EAAE,EAAE,EAAC,CAAC,CAAC;QAErD,MAAM,KAAK,GAAG;YACV,KAAK,UAAU,QAAQ;gBACnB,MAAM,IAAI,OAAO,CAAC,OAAO,CAAC,EAAE,CAAC,UAAU,CAAC,OAAO,EAAE,GAAG,CAAC,CAAC,CAAC;gBACvD,OAAO,EAAC,IAAI,EAAE,IAAI,EAAC,CAAC;YACxB,CAAC;SACJ,CAAC;QAEF,MAAM,QAAQ,CAAC,OAAO,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC;QAElC,MAAM,OAAO,GAAG,QAAQ,CAAC,gBAAgB,EAAE,CAAC;QAC5C,MAAM,WAAW,GAAG,OAAO,CAAC,KAAK,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC;QAElD,MAAM,CAAC,EAAE,CAAC,WAAW,CAAC,CAAC;QACvB,MAAM,CAAC,EAAE,CAAC,WAAW,CAAC,aAAa,IAAI,EAAE,CAAC,CAAC,CAAC,yCAAyC;QACrF,MAAM,CAAC,EAAE,CAAC,WAAW,CAAC,SAAS,IAAI,WAAW,CAAC,aAAa,CAAC,CAAC;QAC9D,MAAM,CAAC,KAAK,CAAC,WAAW,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC,CAAC,gCAAgC;IAC3E,CAAC,CAAC,CAAC;IAEH,CAAC,CAAC,IAAI,CAAC,yDAAyD,EAAE,KAAK,IAAI,EAAE;QACzE,MAAM,QAAQ,GAAG,IAAI,YAAY,CAAC,EAAC,WAAW,EAAE,CAAC,EAAC,CAAC,CAAC,CAAC,iBAAiB;QAEtE,MAAM,KAAK,GAAG;YACV,KAAK,UAAU,KAAK;gBAChB,MAAM,IAAI,OAAO,CAAC,OAAO,CAAC,EAAE,CAAC,UAAU,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC,CAAC;gBACtD,OAAO,EAAC,IAAI,EAAE,OAAO,EAAC,CAAC;YAC3B,CAAC;YACD,KAAK,UAAU,KAAK,CAAC,MAAW,EAAE,OAAY;gBAC1C,MAAM,EAAC,KAAK,EAAC,GAAG,OAAO,CAAC;gBACxB,MAAM,KAAK,CAAC,CAAC,sBAAsB;gBACnC,MAAM,IAAI,OAAO,CAAC,OAAO,CAAC,EAAE,CAAC,UAAU,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC,CAAC;gBACtD,OAAO,EAAC,IAAI,EAAE,OAAO,EAAC,CAAC;YAC3B,CAAC;YACD,KAAK,UAAU,KAAK;gBAChB,iCAAiC;gBACjC,MAAM,IAAI,OAAO,CAAC,OAAO,CAAC,EAAE,CAAC,UAAU,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC,CAAC;gBACtD,OAAO,EAAC,IAAI,EAAE,OAAO,EAAC,CAAC;YAC3B,CAAC;SACJ,CAAC;QAEF,MAAM,QAAQ,CAAC,OAAO,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC;QAElC,MAAM,OAAO,GAAG,QAAQ,CAAC,gBAAgB,EAAE,CAAC;QAE5C,MAAM,YAAY,GAAG,OAAO,CAAC,KAAK,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;QAChD,MAAM,CAAC,EAAE,CAAC,YAAY,CAAC,CAAC;QACxB,mDAAmD;QACnD,yFAAyF;QACzF,MAAM,CAAC,KAAK,CAAC,YAAY,CAAC,QAAQ,EAAE,CAAC,EAAE,yCAAyC,CAAC,CAAC;QAClF,MAAM,CAAC,EAAE,CAAC,YAAY,CAAC,aAAa,IAAI,EAAE,EAAE,wCAAwC,CAAC,CAAC;QAEtF,MAAM,YAAY,GAAG,OAAO,CAAC,KAAK,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;QAChD,MAAM,CAAC,EAAE,CAAC,YAAY,CAAC,CAAC;QACxB,MAAM,CAAC,EAAE,CACL,YAAY,CAAC,SAAS,GAAG,CAAC,EAC1B,uDAAuD,CAC1D,CAAC;IACN,CAAC,CAAC,CAAC;IAEH,CAAC,CAAC,IAAI,CAAC,0BAA0B,EAAE,KAAK,IAAI,EAAE;QAC1C,MAAM,QAAQ,GAAG,IAAI,YAAY,CAAC,EAAC,WAAW,EAAE,EAAE,EAAC,CAAC,CAAC;QAErD,MAAM,KAAK,GAAG;YACV,KAAK,UAAU,KAAK;gBAChB,MAAM,IAAI,OAAO,CAAC,OAAO,CAAC,EAAE,CAAC,UAAU,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC,CAAC;gBACtD,OAAO,EAAC,IAAI,EAAE,OAAO,EAAC,CAAC;YAC3B,CAAC;YACD,KAAK,UAAU,KAAK,CAAC,MAAW,EAAE,OAAY;gBAC1C,MAAM,EAAC,KAAK,EAAC,GAAG,OAAO,CAAC;gBACxB,MAAM,KAAK,CAAC;gBACZ,MAAM,IAAI,OAAO,CAAC,OAAO,CAAC,EAAE,CAAC,UAAU,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC,CAAC;gBACtD,OAAO,EAAC,IAAI,EAAE,OAAO,EAAC,CAAC;YAC3B,CAAC;YACD,KAAK,UAAU,KAAK,CAAC,MAAW,EAAE,OAAY;gBAC1C,MAAM,EAAC,KAAK,EAAC,GAAG,OAAO,CAAC;gBACxB,MAAM,KAAK,CAAC;gBACZ,MAAM,IAAI,OAAO,CAAC,OAAO,CAAC,EAAE,CAAC,UAAU,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC,CAAC;gBACtD,OAAO,EAAC,IAAI,EAAE,OAAO,EAAC,CAAC;YAC3B,CAAC;YACD,KAAK,UAAU,eAAe;gBAC1B,MAAM,IAAI,OAAO,CAAC,OAAO,CAAC,EAAE,CAAC,UAAU,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC,CAAC;gBACtD,OAAO,EAAC,IAAI,EAAE,aAAa,EAAC,CAAC;YACjC,CAAC;SACJ,CAAC;QAEF,MAAM,QAAQ,CAAC,OAAO,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC;QAElC,MAAM,OAAO,GAAG,QAAQ,CAAC,gBAAgB,EAAE,CAAC;QAE5C,kDAAkD;QAClD,MAAM,CAAC,EAAE,CAAC,OAAO,CAAC,YAAY,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC,CAAC;QAClD,MAAM,CAAC,EAAE,CAAC,OAAO,CAAC,YAAY,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC,CAAC;QAClD,MAAM,CAAC,EAAE,CAAC,OAAO,CAAC,YAAY,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC,CAAC;QAClD,MAAM,CAAC,EAAE,CAAC,CAAC,OAAO,CAAC,YAAY,CAAC,QAAQ,CAAC,iBAAiB,CAAC,CAAC,CAAC;IACjE,CAAC,CAAC,CAAC;AACP,CAAC,CAAC,CAAC;AAEH,GAAG,CAAC,IAAI,CAAC,oDAAoD,EAAE,KAAK,EAAC,CAAC,EAAC,EAAE;IACrE,CAAC,CAAC,IAAI,CAAC,qCAAqC,EAAE,KAAK,IAAI,EAAE;QACrD,MAAM,QAAQ,GAAG,IAAI,YAAY,CAAC,EAAC,WAAW,EAAE,EAAE,EAAC,CAAC,CAAC;QACrD,MAAM,cAAc,GAAa,EAAE,CAAC;QAEpC,MAAM,KAAK,GAAG;YACV,KAAK,UAAU,KAAK;gBAChB,cAAc,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;gBAC7B,OAAO,EAAC,CAAC,EAAE,CAAC,EAAC,CAAC;YAClB,CAAC;YACD;gBACI,KAAK,UAAU,KAAK;oBAChB,cAAc,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;oBAC7B,OAAO,EAAC,CAAC,EAAE,CAAC,EAAC,CAAC;gBAClB,CAAC;gBACD,KAAK,UAAU,KAAK;oBAChB,cAAc,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;oBAC7B,OAAO,EAAC,CAAC,EAAE,CAAC,EAAC,CAAC;gBAClB,CAAC;aACG;SACX,CAAC;QAEF,MAAM,QAAQ,CAAC,OAAO,CAAC,KAAY,EAAE,EAAE,CAAC,CAAC;QAEzC,mDAAmD;QACnD,MAAM,UAAU,GAAG,cAAc,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;QACnD,MAAM,UAAU,GAAG,cAAc,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;QAEnD,MAAM,CAAC,EAAE,CAAC,UAAU,GAAG,UAAU,EAAE,sDAAsD,CAAC,CAAC;IAC/F,CAAC,CAAC,CAAC;IAEH,CAAC,CAAC,IAAI,CAAC,uDAAuD,EAAE,KAAK,IAAI,EAAE;QACvE,MAAM,QAAQ,GAAG,IAAI,YAAY,CAAC,EAAC,WAAW,EAAE,EAAE,EAAC,CAAC,CAAC;QACrD,MAAM,cAAc,GAAuD,EAAE,CAAC;QAC9E,MAAM,SAAS,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;QAE7B,MAAM,KAAK,GAAG;YACV,KAAK,UAAU,aAAa;gBACxB,cAAc,CAAC,IAAI,CAAC;oBAChB,IAAI,EAAE,WAAW;oBACjB,KAAK,EAAE,OAAO;oBACd,IAAI,EAAE,IAAI,CAAC,GAAG,EAAE,GAAG,SAAS;iBAC/B,CAAC,CAAC;gBACH,MAAM,IAAI,OAAO,CAAC,OAAO,CAAC,EAAE,CAAC,UAAU,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC,CAAC;gBACtD,cAAc,CAAC,IAAI,CAAC;oBAChB,IAAI,EAAE,WAAW;oBACjB,KAAK,EAAE,KAAK;oBACZ,IAAI,EAAE,IAAI,CAAC,GAAG,EAAE,GAAG,SAAS;iBAC/B,CAAC,CAAC;gBACH,OAAO,EAAC,IAAI,EAAE,CAAC,EAAC,CAAC;YACrB,CAAC;YAED,KAAK,UAAU,aAAa;gBACxB,cAAc,CAAC,IAAI,CAAC;oBAChB,IAAI,EAAE,WAAW;oBACjB,KAAK,EAAE,OAAO;oBACd,IAAI,EAAE,IAAI,CAAC,GAAG,EAAE,GAAG,SAAS;iBAC/B,CAAC,CAAC;gBACH,MAAM,IAAI,OAAO,CAAC,OAAO,CAAC,EAAE,CAAC,UAAU,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC,CAAC;gBACtD,cAAc,CAAC,IAAI,CAAC;oBAChB,IAAI,EAAE,WAAW;oBACjB,KAAK,EAAE,KAAK;oBACZ,IAAI,EAAE,IAAI,CAAC,GAAG,EAAE,GAAG,SAAS;iBAC/B,CAAC,CAAC;gBACH,OAAO,EAAC,IAAI,EAAE,CAAC,EAAC,CAAC;YACrB,CAAC;YAED,KAAK,UAAU,aAAa;gBACxB,cAAc,CAAC,IAAI,CAAC;oBAChB,IAAI,EAAE,WAAW;oBACjB,KAAK,EAAE,OAAO;oBACd,IAAI,EAAE,IAAI,CAAC,GAAG,EAAE,GAAG,SAAS;iBAC/B,CAAC,CAAC;gBACH,MAAM,IAAI,OAAO,CAAC,OAAO,CAAC,EAAE,CAAC,UAAU,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC,CAAC;gBACtD,cAAc,CAAC,IAAI,CAAC;oBAChB,IAAI,EAAE,WAAW;oBACjB,KAAK,EAAE,KAAK;oBACZ,IAAI,EAAE,IAAI,CAAC,GAAG,EAAE,GAAG,SAAS;iBAC/B,CAAC,CAAC;gBACH,OAAO,EAAC,IAAI,EAAE,CAAC,EAAC,CAAC;YACrB,CAAC;YAED,6DAA6D;YAC7D,EAAE;YAEF,KAAK,UAAU,gBAAgB;gBAC3B,cAAc,CAAC,IAAI,CAAC,EAAC,IAAI,EAAE,QAAQ,EAAE,KAAK,EAAE,OAAO,EAAE,IAAI,EAAE,IAAI,CAAC,GAAG,EAAE,GAAG,SAAS,EAAC,CAAC,CAAC;gBACpF,MAAM,IAAI,OAAO,CAAC,OAAO,CAAC,EAAE,CAAC,UAAU,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC,CAAC;gBACtD,cAAc,CAAC,IAAI,CAAC,EAAC,IAAI,EAAE,QAAQ,EAAE,KAAK,EAAE,KAAK,EAAE,IAAI,EAAE,IAAI,CAAC,GAAG,EAAE,GAAG,SAAS,EAAC,CAAC,CAAC;gBAClF,OAAO,EAAC,IAAI,EAAE,CAAC,EAAC,CAAC;YACrB,CAAC;YAED,KAAK,UAAU,gBAAgB;gBAC3B,cAAc,CAAC,IAAI,CAAC,EAAC,IAAI,EAAE,QAAQ,EAAE,KAAK,EAAE,OAAO,EAAE,IAAI,EAAE,IAAI,CAAC,GAAG,EAAE,GAAG,SAAS,EAAC,CAAC,CAAC;gBACpF,MAAM,IAAI,OAAO,CAAC,OAAO,CAAC,EAAE,CAAC,UAAU,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC,CAAC;gBACtD,cAAc,CAAC,IAAI,CAAC,EAAC,IAAI,EAAE,QAAQ,EAAE,KAAK,EAAE,KAAK,EAAE,IAAI,EAAE,IAAI,CAAC,GAAG,EAAE,GAAG,SAAS,EAAC,CAAC,CAAC;gBAClF,OAAO,EAAC,IAAI,EAAE,CAAC,EAAC,CAAC;YACrB,CAAC;SACJ,CAAC;QAEF,MAAM,QAAQ,CAAC,OAAO,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC;QAElC,wEAAwE;QACxE,MAAM,YAAY,GAAG,cAAc,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,WAAW,IAAI,CAAC,CAAC,KAAK,KAAK,KAAK,CAAE,CAAC;QAC5F,MAAM,YAAY,GAAG,cAAc,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,WAAW,IAAI,CAAC,CAAC,KAAK,KAAK,KAAK,CAAE,CAAC;QAC5F,MAAM,YAAY,GAAG,cAAc,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,WAAW,IAAI,CAAC,CAAC,KAAK,KAAK,KAAK,CAAE,CAAC;QAC5F,MAAM,WAAW,GAAG,cAAc,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,QAAQ,IAAI,CAAC,CAAC,KAAK,KAAK,OAAO,CAAE,CAAC;QAC1F,MAAM,WAAW,GAAG,cAAc,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,QAAQ,IAAI,CAAC,CAAC,KAAK,KAAK,OAAO,CAAE,CAAC;QAE1F,MAAM,eAAe,GAAG,IAAI,CAAC,GAAG,CAAC,YAAY,CAAC,IAAI,EAAE,YAAY,CAAC,IAAI,EAAE,YAAY,CAAC,IAAI,CAAC,CAAC;QAC1F,MAAM,eAAe,GAAG,IAAI,CAAC,GAAG,CAAC,WAAW,CAAC,IAAI,EAAE,WAAW,CAAC,IAAI,CAAC,CAAC;QAErE,MAAM,CAAC,EAAE,CACL,eAAe,IAAI,eAAe,EAClC,yDAAyD,eAAe,gCAAgC,eAAe,KAAK,CAC/H,CAAC;QAEF,MAAM,QAAQ,GAAG,QAAQ,CAAC,WAAW,EAAE,CAAC;QACxC,MAAM,CAAC,KAAK,CAAC,QAAQ,CAAC,cAAc,EAAE,CAAC,CAAC,CAAC;IAC7C,CAAC,CAAC,CAAC;IAEH,CAAC,CAAC,IAAI,CAAC,+DAA+D,EAAE,KAAK,IAAI,EAAE;QAC/E,MAAM,QAAQ,GAAG,IAAI,YAAY,CAAC,EAAC,WAAW,EAAE,EAAE,EAAC,CAAC,CAAC;QACrD,MAAM,cAAc,GAAa,EAAE,CAAC;QAEpC,MAAM,KAAK,GAAG;YACV,KAAK,UAAU,WAAW;gBACtB,MAAM,IAAI,OAAO,CAAC,OAAO,CAAC,EAAE,CAAC,UAAU,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC,CAAC;gBACtD,cAAc,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;gBAChC,OAAO,EAAC,KAAK,EAAE,CAAC,EAAE,IAAI,EAAE,CAAC,EAAC,CAAC;YAC/B,CAAC;YAED,KAAK,UAAU,WAAW;gBACtB,MAAM,IAAI,OAAO,CAAC,OAAO,CAAC,EAAE,CAAC,UAAU,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC,CAAC;gBACtD,cAAc,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;gBAChC,OAAO,EAAC,KAAK,EAAE,CAAC,EAAE,IAAI,EAAE,CAAC,EAAC,CAAC;YAC/B,CAAC;YAED,EAAE,EAAE,eAAe;YAEnB,KAAK,UAAU,WAAW;gBACtB,MAAM,IAAI,OAAO,CAAC,OAAO,CAAC,EAAE,CAAC,UAAU,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC,CAAC;gBACtD,cAAc,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;gBAChC,OAAO,EAAC,KAAK,EAAE,CAAC,EAAE,IAAI,EAAE,CAAC,EAAC,CAAC;YAC/B,CAAC;YAED,KAAK,UAAU,WAAW;gBACtB,MAAM,IAAI,OAAO,CAAC,OAAO,CAAC,EAAE,CAAC,UAAU,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC,CAAC;gBACtD,cAAc,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;gBAChC,OAAO,EAAC,KAAK,EAAE,CAAC,EAAE,IAAI,EAAE,CAAC,EAAC,CAAC;YAC/B,CAAC;YAED,EAAE,EAAE,eAAe;YAEnB,KAAK,UAAU,WAAW;gBACtB,MAAM,IAAI,OAAO,CAAC,OAAO,CAAC,EAAE,CAAC,UAAU,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC,CAAC;gBACtD,cAAc,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;gBAChC,OAAO,EAAC,KAAK,EAAE,CAAC,EAAE,IAAI,EAAE,CAAC,EAAC,CAAC;YAC/B,CAAC;SACJ,CAAC;QAEF,MAAM,QAAQ,CAAC,OAAO,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC;QAElC,kBAAkB;QAClB,MAAM,WAAW,GAAG,IAAI,CAAC,GAAG,CACxB,cAAc,CAAC,OAAO,CAAC,UAAU,CAAC,EAClC,cAAc,CAAC,OAAO,CAAC,UAAU,CAAC,CACrC,CAAC;QACF,MAAM,WAAW,GAAG,IAAI,CAAC,GAAG,CACxB,cAAc,CAAC,OAAO,CAAC,UAAU,CAAC,EAClC,cAAc,CAAC,OAAO,CAAC,UAAU,CAAC,CACrC,CAAC;QACF,MAAM,WAAW,GAAG,cAAc,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC;QAEvD,MAAM,CAAC,EAAE,CAAC,WAAW,GAAG,WAAW,EAAE,+CAA+C,CAAC,CAAC;QAEtF,MAAM,cAAc,GAAG,IAAI,CAAC,GAAG,CAC3B,cAAc,CAAC,OAAO,CAAC,UAAU,CAAC,EAClC,cAAc,CAAC,OAAO,CAAC,UAAU,CAAC,CACrC,CAAC;QACF,MAAM,CAAC,EAAE,CAAC,cAAc,GAAG,WAAW,EAAE,+CAA+C,CAAC,CAAC;QAEzF,MAAM,QAAQ,GAAG,QAAQ,CAAC,WAAW,EAAE,CAAC;QACxC,MAAM,CAAC,KAAK,CAAC,QAAQ,CAAC,cAAc,EAAE,CAAC,CAAC,CAAC;IAC7C,CAAC,CAAC,CAAC;AACP,CAAC,CAAC,CAAC;AAEH,GAAG,CAAC,IAAI,CAAC,mCAAmC,EAAE,KAAK,EAAC,CAAC,EAAC,EAAE;IACpD,CAAC,CAAC,IAAI,CAAC,4BAA4B,EAAE,KAAK,IAAI,EAAE;QAC5C,MAAM,QAAQ,GAAG,IAAI,YAAY,CAAC,EAAC,WAAW,EAAE,EAAE,EAAC,CAAC,CAAC;QAErD,MAAM,KAAK,GAAG;YACV,KAAK,UAAU,QAAQ;gBACnB,OAAO,EAAC,KAAK,EAAE,EAAE,EAAC,CAAC;YACvB,CAAC;YACD,KAAK,UAAU,QAAQ,CAAC,MAAM,EAAE,OAAO;gBACnC,MAAM,MAAM,GAAG,MAAM,OAAO,CAAC,QAAQ,CAAC;gBACtC,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC;YACnC,CAAC;SACJ,CAAC;QAEF,MAAM,QAAQ,CAAC,OAAO,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC;IACtC,CAAC,CAAC,CAAC;IAEH,CAAC,CAAC,IAAI,CAAC,mCAAmC,EAAE,KAAK,IAAI,EAAE;QACnD,MAAM,QAAQ,GAAG,IAAI,YAAY,CAAC,EAAC,WAAW,EAAE,EAAE,EAAC,CAAC,CAAC;QAErD,MAAM,KAAK,GAAG;YACV,KAAK,UAAU,QAAQ;gBACnB,OAAO;oBACH,IAAI,EAAE,EAAC,IAAI,EAAE,OAAO,EAAE,GAAG,EAAE,EAAE,EAAC;oBAC9B,IAAI,EAAE,EAAC,SAAS,EAAE,IAAI,CAAC,GAAG,EAAE,EAAC;iBAChC,CAAC;YACN,CAAC;YACD,KAAK,UAAU,QAAQ,CAAC,MAAM,EAAE,OAAO;gBACnC,MAAM,IAAI,GAAG,MAAM,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC;gBAC9C,MAAM,GAAG,GAAG,MAAM,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAC,GAAG,CAAC;gBAC5C,MAAM,CAAC,KAAK,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;gBAC5B,MAAM,CAAC,KAAK,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC;YAC1B,CAAC;SACJ,CAAC;QAEF,MAAM,QAAQ,CAAC,OAAO,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC;IACtC,CAAC,CAAC,CAAC;IAEH,CAAC,CAAC,IAAI,CAAC,wCAAwC,EAAE,KAAK,IAAI,EAAE;QACxD,MAAM,QAAQ,GAAG,IAAI,YAAY,CAAC,EAAC,WAAW,EAAE,EAAE,EAAC,CAAC,CAAC;QAErD,MAAM,KAAK,GAAG;YACV,KAAK,UAAU,QAAQ;gBACnB,OAAO,EAAC,MAAM,EAAE,OAAO,EAAC,CAAC;YAC7B,CAAC;YACD,KAAK,UAAU,SAAS,CAAC,MAAM,EAAE,OAAO;gBACpC,MAAM,MAAM,GAAG,MAAM,OAAO,CAAC,QAAQ,CAAC;gBACtC,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;gBACrC,OAAO,EAAC,EAAE,EAAE,IAAI,EAAC,CAAC;YACtB,CAAC;YACD,KAAK,UAAU,SAAS,CAAC,MAAM,EAAE,OAAO;gBACpC,MAAM,MAAM,GAAG,MAAM,OAAO,CAAC,QAAQ,CAAC;gBACtC,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;gBACrC,OAAO,EAAC,EAAE,EAAE,IAAI,EAAC,CAAC;YACtB,CAAC;SACJ,CAAC;QAEF,MAAM,QAAQ,CAAC,OAAO,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC;QAElC,MAAM,QAAQ,GAAG,QAAQ,CAAC,WAAW,EAAE,CAAC;QACxC,MAAM,CAAC,KAAK,CAAC,QAAQ,CAAC,cAAc,EAAE,CAAC,CAAC,CAAC;IAC7C,CAAC,CAAC,CAAC;AACP,CAAC,CAAC,CAAC;AAEH,GAAG,CAAC,IAAI,CAAC,4DAA4D,EAAE,KAAK,EAAC,CAAC,EAAC,EAAE;IAC7E,CAAC,CAAC,IAAI,CAAC,gEAAgE,EAAE,KAAK,IAAI,EAAE;QAChF,MAAM,QAAQ,GAAG,IAAI,YAAY,CAAC,EAAC,WAAW,EAAE,EAAE,EAAC,CAAC,CAAC;QAErD,MAAM,KAAK,GAAG;YACV,KAAK,UAAU,aAAa;gBACxB,OAAO,EAAC,SAAS,EAAE,IAAI,EAAC,CAAC;YAC7B,CAAC;YACD,KAAK,UAAU,UAAU,CAAC,MAAM,EAAE,OAAO;gBACrC,MAAM,EAAE,GAAG,MAAM,OAAO,CAAC,aAAa,CAAC;gBACvC,MAAM,CAAC,KAAK,CAAC,EAAE,CAAC,SAAS,EAAE,IAAI,CAAC,CAAC;gBACjC,OAAO,EAAC,KAAK,EAAE,CAAC,OAAO,EAAE,KAAK,CAAC,EAAC,CAAC;YACrC,CAAC;SACJ,CAAC;QAEF,MAAM,QAAQ,CAAC,OAAO,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC;QAElC,MAAM,QAAQ,GAAG,QAAQ,CAAC,WAAW,EAAE,CAAC;QACxC,MAAM,CAAC,KAAK,CAAC,QAAQ,CAAC,cAAc,EAAE,CAAC,CAAC,CAAC;QACzC,MAAM,CAAC,KAAK,CAAC,QAAQ,CAAC,MAAM,EAAE,WAAW,CAAC,CAAC;IAC/C,CAAC,CAAC,CAAC;IAEH,CAAC,CAAC,IAAI,CAAC,kDAAkD,EAAE,KAAK,IAAI,EAAE;QAClE,MAAM,QAAQ,GAAG,IAAI,YAAY,CAAC,EAAC,WAAW,EAAE,EAAE,EAAC,CAAC,CAAC;QAErD,MAAM,WAAW,GAAG;YAChB,KAAK,UAAU,UAAU;gBACrB,OAAO,EAAC,MAAM,EAAE,GAAG,EAAC,CAAC;YACzB,CAAC;YACD,KAAK,UAAU,UAAU,CAAC,MAAM,EAAE,OAAO;gBACrC,MAAM,IAAI,GAAG,MAAM,OAAO,CAAC,UAAU,CAAC;gBACtC,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;gBAC/B,OAAO,EAAC,QAAQ,EAAE,IAAI,EAAC,CAAC;YAC5B,CAAC;SACG,CAAC;QACT,WAAW,CAAC,IAAI,GAAG,iBAAiB,CAAC;QAErC,MAAM,KAAK,GAAG;YACV,KAAK,UAAU,WAAW;gBACtB,OAAO,EAAC,KAAK,EAAE,IAAI,EAAC,CAAC;YACzB,CAAC;YACD,WAAW;YACX,KAAK,UAAU,UAAU,CAAC,MAAM,EAAE,OAAO;gBACrC,MAAM,MAAM,GAAG,MAAM,OAAO,CAAC,WAAW,CAAC;gBACzC,MAAM,QAAQ,GAAG,MAAM,OAAO,CAAC,UAAU,CAAC;gBAC1C,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,KAAK,EAAE,IAAI,CAAC,CAAC;gBACjC,MAAM,CAAC,KAAK,CAAC,QAAQ,CAAC,QAAQ,EAAE,IAAI,CAAC,CAAC;gBACtC,OAAO,EAAC,QAAQ,EAAE,IAAI,EAAC,CAAC;YAC5B,CAAC;SACJ,CAAC;QAEF,MAAM,QAAQ,CAAC,OAAO,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC;QAElC,MAAM,QAAQ,GAAG,QAAQ,CAAC,WAAW,EAAE,CAAC;QACxC,MAAM,CAAC,KAAK,CAAC,QAAQ,CAAC,cAAc,EAAE,CAAC,CAAC,CAAC;QACzC,MAAM,CAAC,KAAK,CAAC,QAAQ,CAAC,MAAM,EAAE,WAAW,CAAC,CAAC;IAC/C,CAAC,CAAC,CAAC;IAEH,CAAC,CAAC,IAAI,CAAC,oDAAoD,EAAE,KAAK,IAAI,EAAE;QACpE,MAAM,QAAQ,GAAG,IAAI,YAAY,CAAC,EAAC,WAAW,EAAE,EAAE,EAAC,CAAC,CAAC;QAErD,MAAM,WAAW,GAAG;YAChB,KAAK,UAAU,aAAa;gBACxB,OAAO,EAAC,KAAK,EAAE,CAAC,EAAC,CAAC;YACtB,CAAC;SACG,CAAC;QACT,WAAW,CAAC,IAAI,GAAG,oBAAoB,CAAC;QAExC,MAAM,WAAW,GAAG;YAChB,KAAK,UAAU,YAAY;gBACvB,OAAO,EAAC,KAAK,EAAE,CAAC,EAAC,CAAC;YACtB,CAAC;YACD,WAAW;SACP,CAAC;QACT,WAAW,CAAC,IAAI,GAAG,oBAAoB,CAAC;QAExC,MAAM,KAAK,GAAG;YACV,KAAK,UAAU,YAAY;gBACvB,OAAO,EAAC,KAAK,EAAE,CAAC,EAAC,CAAC;YACtB,CAAC;YACD,WAAW;YACX,KAAK,UAAU,cAAc,CAAC,MAAM,EAAE,OAAO;gBACzC,MAAM,GAAG,GAAG,MAAM,OAAO,CAAC,YAAY,CAAC;gBACvC,MAAM,GAAG,GAAG,MAAM,OAAO,CAAC,YAAY,CAAC;gBACvC,MAAM,IAAI,GAAG,MAAM,OAAO,CAAC,aAAa,CAAC;gBACzC,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC;gBAC3B,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC;gBAC3B,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC;gBAC5B,OAAO,EAAC,QAAQ,EAAE,IAAI,EAAC,CAAC;YAC5B,CAAC;SACJ,CAAC;QAEF,MAAM,QAAQ,CAAC,OAAO,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC;QAElC,MAAM,QAAQ,GAAG,QAAQ,CAAC,WAAW,EAAE,CAAC;QACxC,MAAM,CAAC,KAAK,CAAC,QAAQ,CAAC,cAAc,EAAE,CAAC,CAAC,CAAC;QACzC,MAAM,CAAC,KAAK,CAAC,QAAQ,CAAC,MAAM,EAAE,WAAW,CAAC,CAAC;IAC/C,CAAC,CAAC,CAAC;IAEH,CAAC,CAAC,IAAI,CAAC,mDAAmD,EAAE,KAAK,IAAI,EAAE;QACnE,MAAM,QAAQ,GAAG,IAAI,YAAY,CAAC,EAAC,WAAW,EAAE,EAAE,EAAC,CAAC,CAAC;QACrD,MAAM,cAAc,GAAa,EAAE,CAAC;QAEpC,MAAM,aAAa,GAAG;YAClB,KAAK,UAAU,aAAa;gBACxB,cAAc,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;gBAChC,MAAM,IAAI,OAAO,CAAC,OAAO,CAAC,EAAE,CAAC,UAAU,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC,CAAC;gBACtD,cAAc,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;gBAC9B,OAAO,EAAC,EAAE,EAAE,IAAI,EAAC,CAAC;YACtB,CAAC;YACD,KAAK,UAAU,aAAa;gBACxB,cAAc,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;gBAChC,MAAM,IAAI,OAAO,CAAC,OAAO,CAAC,EAAE,CAAC,UAAU,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC,CAAC;gBACtD,cAAc,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;gBAC9B,OAAO,EAAC,EAAE,EAAE,IAAI,EAAC,CAAC;YACtB,CAAC;SACG,CAAC;QACT,aAAa,CAAC,IAAI,GAAG,gBAAgB,CAAC;QAEtC,MAAM,KAAK,GAAG;YACV,KAAK,UAAU,KAAK;gBAChB,cAAc,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;gBAC7B,OAAO,EAAC,KAAK,EAAE,IAAI,EAAC,CAAC;YACzB,CAAC;YACD,aAAa;SAChB,CAAC;QAEF,MAAM,QAAQ,CAAC,OAAO,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC;QAElC,MAAM,QAAQ,GAAG,QAAQ,CAAC,WAAW,EAAE,CAAC;QACxC,MAAM,CAAC,KAAK,CAAC,QAAQ,CAAC,cAAc,EAAE,CAAC,CAAC,CAAC;QACzC,MAAM,CAAC,KAAK,CAAC,QAAQ,CAAC,MAAM,EAAE,WAAW,CAAC,CAAC;QAE3C,oDAAoD;QACpD,MAAM,CAAC,EAAE,CACL,cAAc,CAAC,QAAQ,CAAC,UAAU,CAAC,IAAI,cAAc,CAAC,QAAQ,CAAC,UAAU,CAAC,EAC1E,0CAA0C,CAC7C,CAAC;IACN,CAAC,CAAC,CAAC;IAEH,CAAC,CAAC,IAAI,CAAC,qDAAqD,EAAE,KAAK,IAAI,EAAE;QACrE,MAAM,QAAQ,GAAG,IAAI,YAAY,CAAC,EAAC,WAAW,EAAE,EAAE,EAAC,CAAC,CAAC;QAErD,MAAM,WAAW,GAAG;YAChB,KAAK,UAAU,QAAQ;gBACnB,OAAO,EAAC,MAAM,EAAE,IAAI,EAAC,CAAC;YAC1B,CAAC;SACG,CAAC;QACT,WAAW,CAAC,IAAI,GAAG,QAAQ,CAAC;QAE5B,MAAM,KAAK,GAAG;YACV,KAAK,UAAU,KAAK;gBAChB,OAAO,EAAC,GAAG,EAAE,IAAI,EAAC,CAAC;YACvB,CAAC;YACD,WAAW;SACd,CAAC;QAEF,+BAA+B;QAC/B,MAAM,QAAQ,CAAC,OAAO,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC;QAElC,MAAM,QAAQ,GAAG,QAAQ,CAAC,WAAW,EAAE,CAAC;QACxC,MAAM,CAAC,KAAK,CAAC,QAAQ,CAAC,cAAc,EAAE,CAAC,CAAC,CAAC;QACzC,MAAM,CAAC,KAAK,CAAC,QAAQ,CAAC,MAAM,EAAE,WAAW,CAAC,CAAC;IAC/C,CAAC,CAAC,CAAC;IAEH,CAAC,CAAC,IAAI,CAAC,4DAA4D,EAAE,KAAK,IAAI,EAAE;QAC5E,MAAM,QAAQ,GAAG,IAAI,YAAY,CAAC,EAAC,WAAW,EAAE,EAAE,EAAC,CAAC,CAAC;QAErD,MAAM,KAAK,GAAG;YACV,KAAK,UAAU,SAAS;gBACpB,OAAO,EAAC,IAAI,EAAE,MAAM,EAAC,CAAC;YAC1B,CAAC;YACD,KAAK,UAAU,WAAW,CAAC,MAAM,EAAE,OAAO;gBACtC,MAAM,IAAI,GAAG,MAAM,OAAO,CAAC,SAAS,CAAC;gBACrC,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;gBAChC,OAAO,EAAC,MAAM,EAAE,SAAS,EAAC,CAAC;YAC/B,CAAC;SACJ,CAAC;QAEF,MAAM,QAAQ,CAAC,OAAO,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC;QAElC,0CAA0C;QAC1C,MAAM,QAAQ,GAAG,QAAQ,CAAC,WAAW,EAAE,CAAC;QACxC,MAAM,CAAC,KAAK,CAAC,QAAQ,CAAC,cAAc,EAAE,CAAC,CAAC,CAAC;QACzC,MAAM,CAAC,KAAK,CAAC,QAAQ,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC;QACtC,MAAM,CAAC,KAAK,CAAC,QAAQ,CAAC,MAAM,EAAE,WAAW,CAAC,CAAC;IAC/C,CAAC,CAAC,CAAC;AACP,CAAC,CAAC,CAAC;AAEH,GAAG,CAAC,IAAI,CAAC,oDAAoD,EAAE,KAAK,EAAC,CAAC,EAAC,EAAE;IACrE,CAAC,CAAC,IAAI,CAAC,6DAA6D,EAAE,KAAK,IAAI,EAAE;QAC7E,mFAAmF;QACnF,MAAM,QAAQ,GAAG,IAAI,YAAY,CAAC,EAAC,WAAW,EAAE,EAAE,EAAC,CAAC,CAAC;QAErD,MAAM,KAAK,GAAG;YACV,KAAK,UAAU,SAAS;gBACpB,OAAO,EAAC,IAAI,EAAE,MAAM,EAAC,CAAC;YAC1B,CAAC;YACD,KAAK,UAAU,WAAW,CAAC,MAAM,EAAE,OAAO;gBACtC,MAAM,OAAO,CAAC,SAAS,CAAC;gBACxB,MAAM,IAAI,KAAK,CAAC,0BAA0B,CAAC,CAAC;YAChD,CAAC;YACD,KAAK,UAAU,eAAe;gBAC1B,6DAA6D;gBAC7D,OAAO,EAAC,WAAW,EAAE,IAAI,EAAC,CAAC;YAC/B,CAAC;SACJ,CAAC;QAEF,0DAA0D;QAC1D,IAAI,CAAC;YACD,MAAM,QAAQ,CAAC,OAAO,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC;QACtC,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACb,gDAAgD;QACpD,CAAC;QAED,uCAAuC;QACvC,MAAM,QAAQ,GAAG,QAAQ,CAAC,WAAW,EAAE,CAAC;QACxC,MAAM,CAAC,KAAK,CAAC,QAAQ,CAAC,WAAW,EAAE,CAAC,EAAE,4BAA4B,CAAC,CAAC;QAEpE,+EAA+E;QAC/E,MAAM,CAAC,EAAE,CAAC,QAAQ,CAAC,cAAc,IAAI,CAAC,EAAE,oCAAoC,CAAC,CAAC;QAE9E,MAAM,UAAU,GAAG,QAAQ,CAAC,KAAK,CAAC,GAAG,CAAC,aAAa,CAAC,CAAC;QACrD,MAAM,CAAC,EAAE,CAAC,UAAU,EAAE,mCAAmC,CAAC,CAAC;QAC3D,MAAM,CAAC,KAAK,CAAC,UAAU,CAAC,MAAM,EAAE,QAAQ,EAAE,8BAA8B,CAAC,CAAC;QAC1E,MAAM,CAAC,EAAE,CAAC,UAAU,CAAC,KAAK,EAAE,0BAA0B,CAAC,CAAC;QACxD,MAAM,CAAC,EAAE,CACL,UAAU,CAAC,KAAK,CAAC,OAAO,CAAC,QAAQ,CAAC,0BAA0B,CAAC,EAC7D,kCAAkC,CACrC,CAAC;IACN,CAAC,CAAC,CAAC;IAEH,CAAC,CAAC,IAAI,CAAC,yDAAyD,EAAE,KAAK,IAAI,EAAE;QACzE,MAAM,QAAQ,GAAG,IAAI,YAAY,CAAC,EAAC,WAAW,EAAE,EAAE,EAAC,CAAC,CAAC;QAErD,MAAM,YAAY,GAAG;YACjB,KAAK,UAAU,QAAQ;gBACnB,OAAO,EAAC,IAAI,EAAE,IAAI,EAAC,CAAC;YACxB,CAAC;YACD,KAAK,UAAU,OAAO;gBAClB,MAAM,IAAI,KAAK,CAAC,uBAAuB,CAAC,CAAC;YAC7C,CAAC;SACG,CAAC;QACT,YAAY,CAAC,IAAI,GAAG,eAAe,CAAC;QAEpC,MAAM,KAAK,GAAG;YACV,KAAK,UAAU,OAAO;gBAClB,OAAO,EAAC,KAAK,EAAE,IAAI,EAAC,CAAC;YACzB,CAAC;YACD,YAAY;YACZ,KAAK,UAAU,WAAW,CAAC,MAAM,EAAE,OAAO;gBACtC,mDAAmD;gBACnD,MAAM,KAAK,GAAG,MAAM,OAAO,CAAC,OAAO,CAAC;gBACpC,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,KAAK,EAAE,IAAI,CAAC,CAAC;gBAChC,OAAO,EAAC,OAAO,EAAE,IAAI,EAAC,CAAC;YAC3B,CAAC;SACJ,CAAC;QAEF,IAAI,CAAC;YACD,MAAM,QAAQ,CAAC,OAAO,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC;QACtC,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACb,2CAA2C;QAC/C,CAAC;QAED,MAAM,QAAQ,GAAG,QAAQ,CAAC,WAAW,EAAE,CAAC;QAExC,+BAA+B;QAC/B,MAAM,eAAe,GAAG,QAAQ,CAAC,KAAK,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;QACtD,MAAM,CAAC,EAAE,CAAC,eAAe,EAAE,4BAA4B,CAAC,CAAC;QACzD,MAAM,CAAC,KAAK,CAAC,eAAe,CAAC,MAAM,EAAE,QAAQ,EAAE,qCAAqC,CAAC,CAAC;QACtF,MAAM,CAAC,EAAE,CAAC,eAAe,CAAC,KAAK,EAAE,0BAA0B,CAAC,CAAC;QAC7D,MAAM,CAAC,EAAE,CACL,eAAe,CAAC,KAAK,CAAC,OAAO,CAAC,QAAQ,CAAC,uBAAuB,CAAC,EAC/D,4BAA4B,CAC/B,CAAC;QAEF,+BAA+B;QAC/B,MAAM,CAAC,SAAS,CACZ,eAAe,CAAC,SAAS,EACzB,CAAC,eAAe,CAAC,EACjB,+BAA+B,CAClC,CAAC;QAEF,4BAA4B;QAC5B,MAAM,gBAAgB,GAAG,QAAQ,CAAC,KAAK,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC;QACxD,MAAM,CAAC,EAAE,CAAC,gBAAgB,EAAE,6BAA6B,CAAC,CAAC;QAC3D,MAAM,CAAC,KAAK,CAAC,gBAAgB,CAAC,MAAM,EAAE,WAAW,EAAE,2BAA2B,CAAC,CAAC;IACpF,CAAC,CAAC,CAAC;IAEH,CAAC,CAAC,IAAI,CAAC,6CAA6C,EAAE,KAAK,IAAI,EAAE;QAC7D,MAAM,QAAQ,GAAG,IAAI,YAAY,CAAC,EAAC,WAAW,EAAE,EAAE,EAAC,CAAC,CAAC;QAErD,sDAAsD;QACtD,MAAM,KAAK,GAAG;YACV,KAAK,UAAU,WAAW;gBACtB,MAAM,IAAI,KAAK,CAAC,cAAc,CAAC,CAAC;YACpC,CAAC;YACD,KAAK,UAAU,WAAW;gBACtB,MAAM,IAAI,KAAK,CAAC,cAAc,CAAC,CAAC;YACpC,CAAC;SACJ,CAAC;QAEF,IAAI,CAAC;YACD,MAAM,QAAQ,CAAC,OAAO,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC;QACtC,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACb,6DAA6D;QACjE,CAAC;QAED,MAAM,QAAQ,GAAG,QAAQ,CAAC,WAAW,EAAE,CAAC;QAExC,2DAA2D;QAC3D,MAAM,CAAC,KAAK,CAAC,QAAQ,CAAC,WAAW,EAAE,CAAC,EAAE,iDAAiD,CAAC,CAAC;QAEzF,MAAM,MAAM,GAAG,QAAQ,CAAC,KAAK,CAAC,GAAG,CAAC,aAAa,CAAC,CAAC;QACjD,MAAM,CAAC,EAAE,CAAC,MAAM,EAAE,+BAA+B,CAAC,CAAC;QACnD,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,MAAM,EAAE,QAAQ,EAAE,6BAA6B,CAAC,CAAC;QACrE,MAAM,CAAC,EAAE,CAAC,MAAM,CAAC,KAAK,EAAE,OAAO,CAAC,QAAQ,CAAC,cAAc,CAAC,EAAE,qBAAqB,CAAC,CAAC;QAEjF,MAAM,MAAM,GAAG,QAAQ,CAAC,KAAK,CAAC,GAAG,CAAC,aAAa,CAAC,CAAC;QACjD,MAAM,CAAC,EAAE,CAAC,MAAM,EAAE,gCAAgC,CAAC,CAAC;QACpD,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,MAAM,EAAE,QAAQ,EAAE,8BAA8B,CAAC,CAAC;QACtE,MAAM,CAAC,EAAE,CAAC,MAAM,CAAC,KAAK,EAAE,OAAO,CAAC,QAAQ,CAAC,cAAc,CAAC,EAAE,sBAAsB,CAAC,CAAC;IACtF,CAAC,CAAC,CAAC;IAEH,CAAC,CAAC,IAAI,CAAC,yDAAyD,EAAE,KAAK,IAAI,EAAE;QACzE,MAAM,QAAQ,GAAG,IAAI,YAAY,CAAC,EAAC,WAAW,EAAE,EAAE,EAAC,CAAC,CAAC;QACrD,MAAM,YAAY,GAAa,EAAE,CAAC;QAElC,MAAM,KAAK,GAAG;YACV,KAAK,UAAU,KAAK;gBAChB,YAAY,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;gBAC3B,OAAO,EAAC,MAAM,EAAE,CAAC,EAAC,CAAC;YACvB,CAAC;YACD,KAAK,UAAU,WAAW;gBACtB,YAAY,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC;gBACjC,MAAM,IAAI,KAAK,CAAC,mBAAmB,CAAC,CAAC;YACzC,CAAC;YACD,KAAK,UAAU,KAAK;gBAChB,YAAY,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;gBAC3B,OAAO,EAAC,MAAM,EAAE,CAAC,EAAC,CAAC;YACvB,CAAC;SACJ,CAAC;QAEF,IAAI,CAAC;YACD,MAAM,QAAQ,CAAC,OAAO,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC;QACtC,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACb,iBAAiB;QACrB,CAAC;QAED,4DAA4D;QAC5D,MAAM,CAAC,EAAE,CAAC,YAAY,CAAC,QAAQ,CAAC,OAAO,CAAC,EAAE,sBAAsB,CAAC,CAAC;QAClE,MAAM,CAAC,EAAE,CAAC,YAAY,CAAC,QAAQ,CAAC,aAAa,CAAC,EAAE,4BAA4B,CAAC,CAAC;QAC9E,MAAM,CAAC,EAAE,CAAC,YAAY,CAAC,QAAQ,CAAC,OAAO,CAAC,EAAE,sBAAsB,CAAC,CAAC;QAElE,MAAM,QAAQ,GAAG,QAAQ,CAAC,WAAW,EAAE,CAAC;QACxC,MAAM,CAAC,KAAK,CAAC,QAAQ,CAAC,cAAc,EAAE,CAAC,EAAE,+BAA+B,CAAC,CAAC;QAC1E,MAAM,CAAC,KAAK,CAAC,QAAQ,CAAC,WAAW,EAAE,CAAC,EAAE,2BAA2B,CAAC,CAAC;IACvE,CAAC,CAAC,CAAC;IAEH,CAAC,CAAC,IAAI,CAAC,8DAA8D,EAAE,KAAK,IAAI,EAAE;QAC9E,MAAM,QAAQ,GAAG,IAAI,YAAY,CAAC,EAAC,WAAW,EAAE,EAAE,EAAE,kBAAkB,EAAE,IAAI,EAAC,CAAC,CAAC;QAE/E,MAAM,KAAK,GAAG;YACV,KAAK,UAAU,gBAAgB;gBAC3B,MAAM,WAAW,GAAG,EAAC,IAAI,EAAE,MAAM,EAAE,SAAS,EAAE,SAAS,EAAC,CAAC;gBACzD,MAAM,IAAI,KAAK,CAAC,4BAA4B,CAAC,CAAC;YAClD,CAAC;SACJ,CAAC;QAEF,IAAI,CAAC;YACD,MAAM,QAAQ,CAAC,OAAO,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC;QACtC,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACb,iBAAiB;QACrB,CAAC;QAED,MAAM,QAAQ,GAAG,QAAQ,CAAC,WAAW,EAAE,CAAC;QACxC,MAAM,SAAS,GAAG,QAAQ,CAAC,KAAK,CAAC,GAAG,CAAC,kBAAkB,CAAC,CAAC;QAEzD,MAAM,CAAC,EAAE,CAAC,SAAS,EAAE,8BAA8B,CAAC,CAAC;QACrD,MAAM,CAAC,KAAK,CAAC,SAAS,CAAC,MAAM,EAAE,QAAQ,EAAE,iCAAiC,CAAC,CAAC;QAC5E,MAAM,CAAC,EAAE,CAAC,SAAS,CAAC,KAAK,EAAE,0BAA0B,CAAC,CAAC;QACvD,MAAM,CAAC,EAAE,CAAC,SAAS,CAAC,KAAK,CAAC,KAAK,EAAE,gCAAgC,CAAC,CAAC;QACnE,MAAM,CAAC,EAAE,CAAC,SAAS,CAAC,cAAc,EAAE,oCAAoC,CAAC,CAAC;QAC1E,MAAM,CAAC,EAAE,CAAC,SAAS,CAAC,cAAc,CAAC,IAAI,EAAE,mCAAmC,CAAC,CAAC;QAC9E,MAAM,CAAC,EAAE,CAAC,SAAS,CAAC,cAAc,CAAC,IAAI,GAAG,CAAC,EAAE,gCAAgC,CAAC,CAAC;IACnF,CAAC,CAAC,CAAC;AACP,CAAC,CAAC,CAAC;AAEH,GAAG,CAAC,IAAI,CAAC,kCAAkC,EAAE,KAAK,EAAC,CAAC,EAAC,EAAE;IACnD,CAAC,CAAC,IAAI,CAAC,0CAA0C,EAAE,KAAK,IAAI,EAAE;QAC1D,MAAM,QAAQ,GAAG,IAAI,YAAY,CAAC,EAAC,WAAW,EAAE,EAAE,EAAC,CAAC,CAAC;QAErD,6CAA6C;QAC7C,MAAM,KAAK,GAAG;YACV,KAAK,UAAU,SAAS;gBACpB,OAAO,EAAC,KAAK,EAAE,OAAO,EAAC,CAAC;YAC5B,CAAC;YACD,KAAK,UAAU,SAAS;gBACpB,OAAO,EAAC,KAAK,EAAE,QAAQ,EAAC,CAAC;YAC7B,CAAC;SACJ,CAAC;QAEF,+CAA+C;QAC/C,MAAM,MAAM,CAAC,OAAO,CAChB,QAAQ,CAAC,OAAO,CAAC,KAAK,EAAE,EAAE,CAAC,EAC3B,2CAA2C,CAC9C,CAAC;IACN,CAAC,CAAC,CAAC;IAEH,CAAC,CAAC,IAAI,CAAC,oDAAoD,EAAE,KAAK,IAAI,EAAE;QACpE,MAAM,QAAQ,GAAG,IAAI,YAAY,CAAC,EAAC,WAAW,EAAE,EAAE,EAAC,CAAC,CAAC;QAErD,MAAM,KAAK,GAAG;YACV,KAAK,IAAI,EAAE;gBACP,OAAO,EAAC,KAAK,EAAE,CAAC,EAAC,CAAC;YACtB,CAAC;YACD,KAAK,IAAI,EAAE;gBACP,OAAO,EAAC,KAAK,EAAE,CAAC,EAAC,CAAC;YACtB,CAAC;SACJ,CAAC;QAEF,gEAAgE;QAChE,MAAM,MAAM,CAAC,OAAO,CAChB,QAAQ,CAAC,OAAO,CAAC,KAAK,EAAE,EAAE,CAAC,EAC3B,2CAA2C,CAC9C,CAAC;IACN,CAAC,CAAC,CAAC;IAEH,CAAC,CAAC,IAAI,CAAC,+DAA+D,EAAE,KAAK,IAAI,EAAE;QAC/E,MAAM,QAAQ,GAAG,IAAI,YAAY,CAAC,EAAC,WAAW,EAAE,EAAE,EAAC,CAAC,CAAC;QAErD,MAAM,MAAM,GAAG;YACX,KAAK,UAAU,KAAK;gBAChB,OAAO,EAAC,KAAK,EAAE,CAAC,EAAC,CAAC;YACtB,CAAC;SACG,CAAC;QACT,MAAM,CAAC,IAAI,GAAG,SAAS,CAAC;QAExB,MAAM,MAAM,GAAG;YACX,KAAK,UAAU,KAAK;gBAChB,OAAO,EAAC,KAAK,EAAE,CAAC,EAAC,CAAC;YACtB,CAAC;SACG,CAAC;QACT,MAAM,CAAC,IAAI,GAAG,SAAS,CAAC;QAExB,MAAM,KAAK,GAAG;YACV,KAAK,UAAU,KAAK;gBAChB,OAAO,EAAC,GAAG,EAAE,IAAI,EAAC,CAAC;YACvB,CAAC;YACD,MAAM;YACN,MAAM;SACT,CAAC;QAEF,uEAAuE;QACvE,MAAM,MAAM,CAAC,OAAO,CAChB,QAAQ,CAAC,OAAO,CAAC,KAAK,EAAE,EAAE,CAAC,EAC3B,uCAAuC,CAC1C,CAAC;IACN,CAAC,CAAC,CAAC;IAEH,CAAC,CAAC,IAAI,CAAC,6CAA6C,EAAE,KAAK,IAAI,EAAE;QAC7D,MAAM,QAAQ,GAAG,IAAI,YAAY,CAAC,EAAC,WAAW,EAAE,EAAE,EAAC,CAAC,CAAC;QAErD,MAAM,KAAK,GAAG;YACV,KAAK,UAAU,UAAU;gBACrB,OAAO,EAAC,EAAE,EAAE,CAAC,EAAE,KAAK,EAAE,OAAO,EAAC,CAAC;YACnC,CAAC;YACD,KAAK,UAAU,aAAa;gBACxB,OAAO,EAAC,EAAE,EAAE,CAAC,EAAE,KAAK,EAAE,UAAU,EAAC,CAAC;YACtC,CAAC;YACD,KAAK,UAAU,YAAY,CAAC,MAAM,EAAE,OAAO;gBACvC,MAAM,KAAK,GAAG,MAAM,OAAO,CAAC,UAAU,CAAC;gBACvC,MAAM,QAAQ,GAAG,MAAM,OAAO,CAAC,aAAa,CAAC;gBAC7C,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC;gBAC1B,MAAM,CAAC,KAAK,CAAC,QAAQ,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC;gBAC7B,OAAO,EAAC,SAAS,EAAE,IAAI,EAAC,CAAC;YAC7B,CAAC;SACJ,CAAC;QAEF,MAAM,QAAQ,CAAC,OAAO,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC;QAElC,MAAM,QAAQ,GAAG,QAAQ,CAAC,WAAW,EAAE,CAAC;QACxC,MAAM,CAAC,KAAK,CAAC,QAAQ,CAAC,MAAM,EAAE,WAAW,CAAC,CAAC;QAC3C,MAAM,CAAC,KAAK,CAAC,QAAQ,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC;QACtC,MAAM,CAAC,KAAK,CAAC,QAAQ,CAAC,cAAc,EAAE,CAAC,CAAC,CAAC;IAC7C,CAAC,CAAC,CAAC;IAEH,CAAC,CAAC,IAAI,CAAC,kCAAkC,EAAE,KAAK,IAAI,EAAE;QAClD,MAAM,QAAQ,GAAG,IAAI,YAAY,CAAC,EAAC,WAAW,EAAE,EAAE,EAAC,CAAC,CAAC;QAErD,MAAM,KAAK,GAAG;YACV,KAAK,UAAU,WAAW;gBACtB,OAAO,EAAC,KAAK,EAAE,OAAO,EAAC,CAAC;YAC5B,CAAC;YACD,KAAK,UAAU,WAAW;gBACtB,OAAO,EAAC,KAAK,EAAE,QAAQ,EAAC,CAAC;YAC7B,CAAC;SACJ,CAAC;QAEF,IAAI,CAAC;YACD,MAAM,QAAQ,CAAC,OAAO,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC;YAClC,MAAM,CAAC,IAAI,CAAC,6BAA6B,CAAC,CAAC;QAC/C,CAAC;QAAC,OAAO,KAAU,EAAE,CAAC;YAClB,MAAM,CAAC,EAAE,CAAC,KAAK,CAAC,OAAO,CAAC,QAAQ,CAAC,8BAA8B,CAAC,CAAC,CAAC;YAClE,MAAM,CAAC,EAAE,CAAC,KAAK,CAAC,OAAO,CAAC,QAAQ,CAAC,aAAa,CAAC,CAAC,CAAC;YACjD,MAAM,CAAC,EAAE,CAAC,KAAK,CAAC,OAAO,CAAC,QAAQ,CAAC,sBAAsB,CAAC,CAAC,CAAC;QAC9D,CAAC;IACL,CAAC,CAAC,CAAC;IAEH,CAAC,CAAC,IAAI,CAAC,oDAAoD,EAAE,KAAK,IAAI,EAAE;QACpE,MAAM,QAAQ,GAAG,IAAI,YAAY,CAAC,EAAC,WAAW,EAAE,EAAE,EAAC,CAAC,CAAC;QAErD,MAAM,kBAAkB,GAAG;YACvB,KAAK,UAAU,MAAM;gBACjB,OAAO,EAAC,GAAG,EAAE,CAAC,EAAC,CAAC;YACpB,CAAC;YACD,KAAK,UAAU,MAAM;gBACjB,OAAO,EAAC,GAAG,EAAE,CAAC,EAAC,CAAC;YACpB,CAAC;SACJ,CAAC;QAEF,MAAM,qBAAqB,GAAG;YAC1B,KAAK,UAAU,MAAM;gBACjB,OAAO,EAAC,GAAG,EAAE,CAAC,EAAC,CAAC;YACpB,CAAC;YACD,KAAK,UAAU,SAAS;gBACpB,OAAO,EAAC,GAAG,EAAE,CAAC,EAAC,CAAC;YACpB,CAAC;SACJ,CAAC;QAEF,+CAA+C;QAC/C,MAAM,MAAM,CAAC,OAAO,CAChB,QAAQ,CAAC,OAAO,CAAC,kBAAkB,EAAE,EAAC,MAAM,EAAE,OAAO,EAAC,CAAC,EACvD,wCAAwC,CAC3C,CAAC;QAEF,2EAA2E;QAC3E,MAAM,QAAQ,CAAC,OAAO,CAAC,qBAAqB,EAAE,EAAC,MAAM,EAAE,QAAQ,EAAC,CAAC,CAAC;QAElE,MAAM,QAAQ,GAAG,QAAQ,CAAC,WAAW,EAAE,CAAC;QACxC,MAAM,CAAC,KAAK,CAAC,QAAQ,CAAC,MAAM,EAAE,WAAW,CAAC,CAAC;QAC3C,MAAM,CAAC,KAAK,CAAC,QAAQ,CAAC,cAAc,EAAE,CAAC,CAAC,CAAC;QAEzC,mDAAmD;QACnD,MAAM,MAAM,CAAC,OAAO,CAChB,QAAQ,CAAC,OAAO,CAAC,kBAAkB,EAAE,EAAC,MAAM,EAAE,OAAO,EAAC,CAAC,EACvD,wCAAwC,CAC3C,CAAC;IACN,CAAC,CAAC,CAAC;AACP,CAAC,CAAC,CAAC;AAEH,GAAG,CAAC,IAAI,CAAC,kDAAkD,EAAE,KAAK,EAAC,CAAC,EAAC,EAAE;IACnE,CAAC,CAAC,IAAI,CAAC,+CAA+C,EAAE,KAAK,IAAI,EAAE;QAC/D,MAAM,QAAQ,GAAG,IAAI,YAAY,CAAC,EAAC,WAAW,EAAE,EAAE,EAAC,CAAC,CAAC;QAErD,MAAM,KAAK,GAAG;YACV,KAAK,UAAU,SAAS;gBACpB,OAAO,EAAC,MAAM,EAAE,UAAU,EAAC,CAAC;YAChC,CAAC;YACD,KAAK,UAAU,WAAW,CAAC,MAAW,EAAE,OAAY;gBAChD,sCAAsC;gBACtC,MAAM,IAAI,GAAG,MAAM,OAAO,CAAC,eAAe,CAAC;gBAC3C,OAAO,EAAC,SAAS,EAAE,IAAI,EAAC,CAAC;YAC7B,CAAC;SACJ,CAAC;QAEF,MAAM,MAAM,CAAC,OAAO,CAChB,QAAQ,CAAC,OAAO,CAAC,KAAK,EAAE,EAAE,CAAC,EAC3B,uDAAuD,CAC1D,CAAC;IACN,CAAC,CAAC,CAAC;IAEH,CAAC,CAAC,IAAI,CAAC,wDAAwD,EAAE,KAAK,IAAI,EAAE;QACxE,MAAM,QAAQ,GAAG,IAAI,YAAY,CAAC,EAAC,WAAW,EAAE,EAAE,EAAC,CAAC,CAAC;QAErD,MAAM,KAAK,GAAG;YACV,KAAK,UAAU,SAAS;gBACpB,OAAO,EAAC,MAAM,EAAE,UAAU,EAAC,CAAC;YAChC,CAAC;YACD,KAAK,UAAU,WAAW,CAAC,MAAW,EAAE,OAAY;gBAChD,2DAA2D;gBAC3D,MAAM,IAAI,GAAG,MAAM,OAAO,CAAC,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC;gBACjD,OAAO,EAAC,SAAS,EAAE,IAAI,EAAC,CAAC;YAC7B,CAAC;SACJ,CAAC;QAEF,MAAM,MAAM,CAAC,OAAO,CAChB,QAAQ,CAAC,OAAO,CAAC,KAAK,EAAE,EAAE,CAAC,EAC3B,mDAAmD,CACtD,CAAC;IACN,CAAC,CAAC,CAAC;IAEH,CAAC,CAAC,IAAI,CAAC,8DAA8D,EAAE,KAAK,IAAI,EAAE;QAC9E,MAAM,QAAQ,GAAG,IAAI,YAAY,CAAC,EAAC,WAAW,EAAE,EAAE,EAAC,CAAC,CAAC;QAErD,MAAM,KAAK,GAAG;YACV,KAAK,UAAU,KAAK;gBAChB,OAAO,EAAC,IAAI,EAAE,OAAO,EAAC,CAAC;YAC3B,CAAC;YACD,KAAK,UAAU,KAAK,CAAC,MAAW,EAAE,OAAY;gBAC1C,MAAM,IAAI,GAAG,MAAM,OAAO,CAAC,WAAW,CAAC;gBACvC,OAAO,EAAC,IAAI,EAAE,OAAO,EAAC,CAAC;YAC3B,CAAC;SACJ,CAAC;QAEF,IAAI,CAAC;YACD,MAAM,QAAQ,CAAC,OAAO,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC;YAClC,MAAM,CAAC,IAAI,CAAC,6BAA6B,CAAC,CAAC;QAC/C,CAAC;QAAC,OAAO,KAAU,EAAE,CAAC;YAClB,MAAM,CAAC,EAAE,CAAC,KAAK,CAAC,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC,CAAC;YAC3C,MAAM,CAAC,EAAE,CAAC,KAAK,CAAC,OAAO,CAAC,QAAQ,CAAC,aAAa,CAAC,CAAC,CAAC;YACjD,MAAM,CAAC,EAAE,CAAC,KAAK,CAAC,OAAO,CAAC,QAAQ,CAAC,qBAAqB,CAAC,CAAC,CAAC;QAC7D,CAAC;IACL,CAAC,CAAC,CAAC;IAEH,CAAC,CAAC,IAAI,CAAC,qCAAqC,EAAE,KAAK,IAAI,EAAE;QACrD,MAAM,QAAQ,GAAG,IAAI,YAAY,CAAC,EAAC,WAAW,EAAE,EAAE,EAAC,CAAC,CAAC;QAErD,MAAM,KAAK,GAAG;YACV,KAAK,UAAU,SAAS;gBACpB,OAAO,EAAC,IAAI,EAAE,OAAO,EAAC,CAAC;YAC3B,CAAC;YACD,KAAK,UAAU,WAAW;gBACtB,OAAO,EAAC,IAAI,EAAE,WAAW,EAAC,CAAC;YAC/B,CAAC;YACD,KAAK,UAAU,UAAU,CAAC,MAAW,EAAE,OAAY;gBAC/C,MAAM,IAAI,GAAG,MAAM,OAAO,CAAC,WAAW,CAAC;gBACvC,OAAO,EAAC,QAAQ,EAAE,IAAI,EAAC,CAAC;YAC5B,CAAC;SACJ,CAAC;QAEF,IAAI,CAAC;YACD,MAAM,QAAQ,CAAC,OAAO,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC;YAClC,MAAM,CAAC,IAAI,CAAC,6BAA6B,CAAC,CAAC;QAC/C,CAAC;QAAC,OAAO,KAAU,EAAE,CAAC;YAClB,MAAM,CAAC,EAAE,CAAC,KAAK,CAAC,OAAO,CAAC,QAAQ,CAAC,kBAAkB,CAAC,CAAC,CAAC;YACtD,MAAM,CAAC,EAAE,CAAC,KAAK,CAAC,OAAO,CAAC,QAAQ,CAAC,WAAW,CAAC,CAAC,CAAC;YAC/C,MAAM,CAAC,EAAE,CAAC,KAAK,CAAC,OAAO,CAAC,QAAQ,CAAC,aAAa,CAAC,CAAC,CAAC;YACjD,MAAM,CAAC,EAAE,CAAC,KAAK,CAAC,OAAO,CAAC,QAAQ,CAAC,YAAY,CAAC,CAAC,CAAC;QACpD,CAAC;IACL,CAAC,CAAC,CAAC;IAEH,CAAC,CAAC,IAAI,CAAC,qCAAqC,EAAE,KAAK,IAAI,EAAE;QACrD,MAAM,QAAQ,GAAG,IAAI,YAAY,CAAC,EAAC,WAAW,EAAE,EAAE,EAAC,CAAC,CAAC;QAErD,MAAM,KAAK,GAAG;YACV,KAAK,UAAU,KAAK;gBAChB,OAAO,EAAC,IAAI,EAAE,OAAO,EAAC,CAAC;YAC3B,CAAC;YACD,KAAK,UAAU,KAAK,CAAC,MAAW,EAAE,OAAY;gBAC1C,MAAM,CAAC,GAAG,MAAM,OAAO,CAAC,QAAQ,CAAC;gBACjC,MAAM,CAAC,GAAG,MAAM,OAAO,CAAC,QAAQ,CAAC;gBACjC,OAAO,EAAC,IAAI,EAAE,OAAO,EAAC,CAAC;YAC3B,CAAC;SACJ,CAAC;QAEF,IAAI,CAAC;YACD,MAAM,QAAQ,CAAC,OAAO,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC;YAClC,MAAM,CAAC,IAAI,CAAC,6BAA6B,CAAC,CAAC;QAC/C,CAAC;QAAC,OAAO,KAAU,EAAE,CAAC;YAClB,oEAAoE;YACpE,MAAM,CAAC,EAAE,CAAC,KAAK,CAAC,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAC,CAAC,CAAC;YAC9C,MAAM,CAAC,EAAE,CAAC,KAAK,CAAC,OAAO,CAAC,QAAQ,CAAC,oCAAoC,CAAC,CAAC,CAAC;QAC5E,CAAC;IACL,CAAC,CAAC,CAAC;IAEH,CAAC,CAAC,IAAI,CAAC,qCAAqC,EAAE,KAAK,IAAI,EAAE;QACrD,MAAM,QAAQ,GAAG,IAAI,YAAY,CAAC,EAAC,WAAW,EAAE,EAAE,EAAC,CAAC,CAAC;QAErD,MAAM,KAAK,GAAG;YACV,KAAK,UAAU,SAAS;gBACpB,OAAO,EAAC,MAAM,EAAE,UAAU,EAAE,IAAI,EAAE,OAAO,EAAC,CAAC;YAC/C,CAAC;YACD,KAAK,UAAU,WAAW,CAAC,MAAW,EAAE,OAAY;gBAChD,MAAM,IAAI,GAAG,MAAM,OAAO,CAAC,SAAS,CAAC;gBACrC,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,EAAE,UAAU,CAAC,CAAC;gBACtC,OAAO,EAAC,SAAS,EAAE,IAAI,EAAC,CAAC;YAC7B,CAAC;YACD,KAAK,UAAU,UAAU,CAAC,MAAW,EAAE,OAAY;gBAC/C,MAAM,IAAI,GAAG,MAAM,OAAO,CAAC,WAAW,CAAC;gBACvC,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,SAAS,EAAE,IAAI,CAAC,CAAC;gBACnC,OAAO,EAAC,QAAQ,EAAE,IAAI,EAAC,CAAC;YAC5B,CAAC;SACJ,CAAC;QAEF,4BAA4B;QAC5B,MAAM,QAAQ,CAAC,OAAO,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC;QAElC,MAAM,QAAQ,GAAG,QAAQ,CAAC,WAAW,EAAE,CAAC;QACxC,MAAM,CAAC,KAAK,CAAC,QAAQ,CAAC,MAAM,EAAE,WAAW,CAAC,CAAC;QAC3C,MAAM,CAAC,KAAK,CAAC,QAAQ,CAAC,cAAc,EAAE,CAAC,CAAC,CAAC;QACzC,MAAM,CAAC,KAAK,CAAC,QAAQ,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC;IAC1C,CAAC,CAAC,CAAC;IAEH,CAAC,CAAC,IAAI,CAAC,qDAAqD,EAAE,KAAK,IAAI,EAAE;QACrE,MAAM,QAAQ,GAAG,IAAI,YAAY,CAAC,EAAC,WAAW,EAAE,EAAE,EAAC,CAAC,CAAC;QAErD,MAAM,KAAK,GAAG;YACV,KAAK,UAAU,SAAS;gBACpB,OAAO;oBACH,EAAE,EAAE,UAAU;oBACd,OAAO,EAAE,EAAC,IAAI,EAAE,OAAO,EAAE,GAAG,EAAE,EAAE,EAAC;iBACpC,CAAC;YACN,CAAC;YACD,KAAK,UAAU,WAAW,CAAC,MAAW,EAAE,OAAY;gBAChD,MAAM,IAAI,GAAG,MAAM,OAAO,CAAC,SAAS,CAAC,OAAO,CAAC,IAAI,CAAC;gBAClD,MAAM,GAAG,GAAG,MAAM,OAAO,CAAC,SAAS,CAAC,OAAO,CAAC,GAAG,CAAC;gBAChD,MAAM,CAAC,KAAK,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;gBAC5B,MAAM,CAAC,KAAK,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC;gBACtB,OAAO,EAAC,SAAS,EAAE,IAAI,EAAC,CAAC;YAC7B,CAAC;SACJ,CAAC;QAEF,4BAA4B;QAC5B,MAAM,QAAQ,CAAC,OAAO,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC;QAElC,MAAM,QAAQ,GAAG,QAAQ,CAAC,WAAW,EAAE,CAAC;QACxC,MAAM,CAAC,KAAK,CAAC,QAAQ,CAAC,MAAM,EAAE,WAAW,CAAC,CAAC;QAC3C,MAAM,CAAC,KAAK,CAAC,QAAQ,CAAC,cAAc,EAAE,CAAC,CAAC,CAAC;IAC7C,CAAC,CAAC,CAAC;IAEH,CAAC,CAAC,IAAI,CAAC,uCAAuC,EAAE,KAAK,IAAI,EAAE;QACvD,MAAM,QAAQ,GAAG,IAAI,YAAY,CAAC,EAAC,WAAW,EAAE,EAAE,EAAC,CAAC,CAAC;QAErD,uCAAuC;QACvC,MAAM,UAAU,GAAG;YACf,KAAK,UAAU,KAAK;gBAChB,OAAO,EAAC,IAAI,EAAE,OAAO,EAAC,CAAC;YAC3B,CAAC;YACD,KAAK,UAAU,KAAK,CAAC,MAAW,EAAE,OAAY;gBAC1C,MAAM,IAAI,GAAG,MAAM,OAAO,CAAC,KAAK,CAAC;gBACjC,OAAO,EAAC,IAAI,EAAE,OAAO,EAAC,CAAC;YAC3B,CAAC;SACJ,CAAC;QAEF,MAAM,QAAQ,CAAC,OAAO,CAAC,UAAU,EAAE,EAAE,CAAC,CAAC;QACvC,MAAM,SAAS,GAAG,QAAQ,CAAC,WAAW,EAAE,CAAC;QACzC,MAAM,CAAC,KAAK,CAAC,SAAS,CAAC,MAAM,EAAE,WAAW,CAAC,CAAC;QAE5C,yCAAyC;QACzC,MAAM,YAAY,GAAG;YACjB,KAAK,UAAU,KAAK;gBAChB,OAAO,EAAC,IAAI,EAAE,OAAO,EAAC,CAAC;YAC3B,CAAC;YACD,KAAK,UAAU,KAAK,CAAC,MAAW,EAAE,OAAY;gBAC1C,MAAM,IAAI,GAAG,MAAM,OAAO,CAAC,WAAW,CAAC;gBACvC,OAAO,EAAC,IAAI,EAAE,OAAO,EAAC,CAAC;YAC3B,CAAC;SACJ,CAAC;QAEF,MAAM,MAAM,CAAC,OAAO,CAChB,QAAQ,CAAC,OAAO,CAAC,YAAY,EAAE,EAAE,CAAC,EAClC,sCAAsC,CACzC,CAAC;QAEF,6CAA6C;QAC7C,MAAM,QAAQ,CAAC,OAAO,CAAC,UAAU,EAAE,EAAE,CAAC,CAAC;QACvC,MAAM,SAAS,GAAG,QAAQ,CAAC,WAAW,EAAE,CAAC;QACzC,MAAM,CAAC,KAAK,CAAC,SAAS,CAAC,MAAM,EAAE,WAAW,CAAC,CAAC;IAChD,CAAC,CAAC,CAAC;AACP,CAAC,CAAC,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.test.js","sourceRoot":"","sources":["../index.test.ts"],"names":[],"mappings":"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"}
|
package/dist/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@feasibleone/blong-chain",
|
|
3
|
-
"version": "1.
|
|
3
|
+
"version": "1.6.0",
|
|
4
4
|
"description": "Parallel testing with automatic dependencies",
|
|
5
5
|
"keywords": [
|
|
6
6
|
"blong",
|
|
@@ -12,7 +12,8 @@
|
|
|
12
12
|
},
|
|
13
13
|
"type": "module",
|
|
14
14
|
"exports": {
|
|
15
|
-
".": "./index.ts"
|
|
15
|
+
".": "./index.ts",
|
|
16
|
+
"./snapshot": "./snapshot.ts"
|
|
16
17
|
},
|
|
17
18
|
"scripts": {
|
|
18
19
|
"build": "heft build --clean",
|
|
@@ -0,0 +1,56 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Snapshot helper for TAP-based tests.
|
|
3
|
+
*
|
|
4
|
+
* Provides a thin wrapper around `t.matchSnapshot()` that applies flat
|
|
5
|
+
* dot-path masking before comparison, eliminating the need for manual
|
|
6
|
+
* normalisation (e.g. replacing dynamic ports or ULIDs) in every test file.
|
|
7
|
+
*
|
|
8
|
+
* Usage:
|
|
9
|
+
*
|
|
10
|
+
* ```typescript
|
|
11
|
+
* import {snapshot} from '@feasibleone/blong-chain/snapshot';
|
|
12
|
+
*
|
|
13
|
+
* t.test('my test', async t => {
|
|
14
|
+
* const result = await myApiCall();
|
|
15
|
+
* snapshot(t, result, 'my-test', {mask: ['createdAt', 'user.userId']});
|
|
16
|
+
* });
|
|
17
|
+
* ```
|
|
18
|
+
*
|
|
19
|
+
* The `mask` option accepts an array of dot-delimited paths. Each matching
|
|
20
|
+
* leaf value is replaced with the string `'<masked>'` before the snapshot is
|
|
21
|
+
* taken. Glob-style wildcards (`*.field`) are not yet supported.
|
|
22
|
+
*/
|
|
23
|
+
/** Minimal interface for a TAP test context (compatible with tap, node:test, etc.) */
|
|
24
|
+
export interface ISnapshotContext {
|
|
25
|
+
matchSnapshot(value: unknown, name?: string): void;
|
|
26
|
+
}
|
|
27
|
+
/** Options accepted by the {@link snapshot} helper */
|
|
28
|
+
export interface ISnapshotOptions {
|
|
29
|
+
/**
|
|
30
|
+
* Dot-delimited paths whose leaf values should be replaced with
|
|
31
|
+
* `'<masked>'` before comparison.
|
|
32
|
+
*
|
|
33
|
+
* Examples:
|
|
34
|
+
* - `'completedAt'` — top-level field
|
|
35
|
+
* - `'user.userId'` — nested field
|
|
36
|
+
* - `'createParty.partyId'` — step-scoped path in a chain context
|
|
37
|
+
*/
|
|
38
|
+
mask?: string[];
|
|
39
|
+
}
|
|
40
|
+
/**
|
|
41
|
+
* Take a snapshot of `value` using the TAP test context `t`.
|
|
42
|
+
*
|
|
43
|
+
* Dynamic fields listed in `opts.mask` are replaced with `'<masked>'` so
|
|
44
|
+
* that timestamps, IDs, and other non-deterministic values do not cause false
|
|
45
|
+
* failures on subsequent runs.
|
|
46
|
+
*/
|
|
47
|
+
export declare function snapshot(t: ISnapshotContext, value: unknown, name: string, opts?: ISnapshotOptions): void;
|
|
48
|
+
/**
|
|
49
|
+
* Return a deep clone of `value` with the specified dot-path fields replaced
|
|
50
|
+
* by `'<masked>'`.
|
|
51
|
+
*
|
|
52
|
+
* Only JSON-serialisable values are supported (the clone is performed via
|
|
53
|
+
* `JSON.parse(JSON.stringify(value))`).
|
|
54
|
+
*/
|
|
55
|
+
export declare function maskPaths(value: unknown, paths: string[]): unknown;
|
|
56
|
+
//# sourceMappingURL=snapshot.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"snapshot.d.ts","sourceRoot":"","sources":["../snapshot.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;GAqBG;AAEH,sFAAsF;AACtF,MAAM,WAAW,gBAAgB;IAC7B,aAAa,CAAC,KAAK,EAAE,OAAO,EAAE,IAAI,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;CACtD;AAED,sDAAsD;AACtD,MAAM,WAAW,gBAAgB;IAC7B;;;;;;;;OAQG;IACH,IAAI,CAAC,EAAE,MAAM,EAAE,CAAC;CACnB;AAED;;;;;;GAMG;AACH,wBAAgB,QAAQ,CACpB,CAAC,EAAE,gBAAgB,EACnB,KAAK,EAAE,OAAO,EACd,IAAI,EAAE,MAAM,EACZ,IAAI,GAAE,gBAAqB,GAC5B,IAAI,CAGN;AAED;;;;;;GAMG;AACH,wBAAgB,SAAS,CAAC,KAAK,EAAE,OAAO,EAAE,KAAK,EAAE,MAAM,EAAE,GAAG,OAAO,CAalE"}
|
package/dist/snapshot.js
ADDED
|
@@ -0,0 +1,70 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Snapshot helper for TAP-based tests.
|
|
3
|
+
*
|
|
4
|
+
* Provides a thin wrapper around `t.matchSnapshot()` that applies flat
|
|
5
|
+
* dot-path masking before comparison, eliminating the need for manual
|
|
6
|
+
* normalisation (e.g. replacing dynamic ports or ULIDs) in every test file.
|
|
7
|
+
*
|
|
8
|
+
* Usage:
|
|
9
|
+
*
|
|
10
|
+
* ```typescript
|
|
11
|
+
* import {snapshot} from '@feasibleone/blong-chain/snapshot';
|
|
12
|
+
*
|
|
13
|
+
* t.test('my test', async t => {
|
|
14
|
+
* const result = await myApiCall();
|
|
15
|
+
* snapshot(t, result, 'my-test', {mask: ['createdAt', 'user.userId']});
|
|
16
|
+
* });
|
|
17
|
+
* ```
|
|
18
|
+
*
|
|
19
|
+
* The `mask` option accepts an array of dot-delimited paths. Each matching
|
|
20
|
+
* leaf value is replaced with the string `'<masked>'` before the snapshot is
|
|
21
|
+
* taken. Glob-style wildcards (`*.field`) are not yet supported.
|
|
22
|
+
*/
|
|
23
|
+
/**
|
|
24
|
+
* Take a snapshot of `value` using the TAP test context `t`.
|
|
25
|
+
*
|
|
26
|
+
* Dynamic fields listed in `opts.mask` are replaced with `'<masked>'` so
|
|
27
|
+
* that timestamps, IDs, and other non-deterministic values do not cause false
|
|
28
|
+
* failures on subsequent runs.
|
|
29
|
+
*/
|
|
30
|
+
export function snapshot(t, value, name, opts = {}) {
|
|
31
|
+
const masked = opts.mask?.length ? maskPaths(value, opts.mask) : value;
|
|
32
|
+
t.matchSnapshot(masked, name);
|
|
33
|
+
}
|
|
34
|
+
/**
|
|
35
|
+
* Return a deep clone of `value` with the specified dot-path fields replaced
|
|
36
|
+
* by `'<masked>'`.
|
|
37
|
+
*
|
|
38
|
+
* Only JSON-serialisable values are supported (the clone is performed via
|
|
39
|
+
* `JSON.parse(JSON.stringify(value))`).
|
|
40
|
+
*/
|
|
41
|
+
export function maskPaths(value, paths) {
|
|
42
|
+
if (value === null || value === undefined || typeof value !== 'object') {
|
|
43
|
+
return value;
|
|
44
|
+
}
|
|
45
|
+
// Deep clone via JSON round-trip (safe for plain data objects)
|
|
46
|
+
const clone = JSON.parse(JSON.stringify(value));
|
|
47
|
+
for (const path of paths) {
|
|
48
|
+
setAtPath(clone, path.split('.'));
|
|
49
|
+
}
|
|
50
|
+
return clone;
|
|
51
|
+
}
|
|
52
|
+
/** Recursively navigate `obj` along `parts` and replace the leaf with `'<masked>'` */
|
|
53
|
+
function setAtPath(obj, parts) {
|
|
54
|
+
if (typeof obj !== 'object' || obj === null || parts.length === 0)
|
|
55
|
+
return;
|
|
56
|
+
const [head, ...tail] = parts;
|
|
57
|
+
// Skip prototype-polluting keys to prevent prototype chain manipulation
|
|
58
|
+
if (head === '__proto__' || head === 'constructor' || head === 'prototype')
|
|
59
|
+
return;
|
|
60
|
+
const record = obj;
|
|
61
|
+
if (tail.length === 0) {
|
|
62
|
+
if (Object.prototype.hasOwnProperty.call(record, head)) {
|
|
63
|
+
record[head] = '<masked>';
|
|
64
|
+
}
|
|
65
|
+
}
|
|
66
|
+
else {
|
|
67
|
+
setAtPath(record[head], tail);
|
|
68
|
+
}
|
|
69
|
+
}
|
|
70
|
+
//# sourceMappingURL=snapshot.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"snapshot.js","sourceRoot":"","sources":["../snapshot.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;GAqBG;AAqBH;;;;;;GAMG;AACH,MAAM,UAAU,QAAQ,CACpB,CAAmB,EACnB,KAAc,EACd,IAAY,EACZ,OAAyB,EAAE;IAE3B,MAAM,MAAM,GAAG,IAAI,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC,CAAC,SAAS,CAAC,KAAK,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC;IACvE,CAAC,CAAC,aAAa,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC;AAClC,CAAC;AAED;;;;;;GAMG;AACH,MAAM,UAAU,SAAS,CAAC,KAAc,EAAE,KAAe;IACrD,IAAI,KAAK,KAAK,IAAI,IAAI,KAAK,KAAK,SAAS,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE,CAAC;QACrE,OAAO,KAAK,CAAC;IACjB,CAAC;IAED,+DAA+D;IAC/D,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,CAA4B,CAAC;IAE3E,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;QACvB,SAAS,CAAC,KAAK,EAAE,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC;IACtC,CAAC;IAED,OAAO,KAAK,CAAC;AACjB,CAAC;AAED,sFAAsF;AACtF,SAAS,SAAS,CAAC,GAAY,EAAE,KAAe;IAC5C,IAAI,OAAO,GAAG,KAAK,QAAQ,IAAI,GAAG,KAAK,IAAI,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO;IAE1E,MAAM,CAAC,IAAI,EAAE,GAAG,IAAI,CAAC,GAAG,KAAK,CAAC;IAC9B,wEAAwE;IACxE,IAAI,IAAI,KAAK,WAAW,IAAI,IAAI,KAAK,aAAa,IAAI,IAAI,KAAK,WAAW;QAAE,OAAO;IAEnF,MAAM,MAAM,GAAG,GAA8B,CAAC;IAE9C,IAAI,IAAI,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACpB,IAAI,MAAM,CAAC,SAAS,CAAC,cAAc,CAAC,IAAI,CAAC,MAAM,EAAE,IAAI,CAAC,EAAE,CAAC;YACrD,MAAM,CAAC,IAAI,CAAC,GAAG,UAAU,CAAC;QAC9B,CAAC;IACL,CAAC;SAAM,CAAC;QACJ,SAAS,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,IAAI,CAAC,CAAC;IAClC,CAAC;AACL,CAAC"}
|
package/dist/test-types.d.ts
CHANGED
|
@@ -285,6 +285,24 @@ export interface ITestExecutorConfig {
|
|
|
285
285
|
framework?: unknown;
|
|
286
286
|
/** Logger instance for reporting step failures */
|
|
287
287
|
log?: ITestLogger;
|
|
288
|
+
/**
|
|
289
|
+
* Automatic rerun configuration for failing steps (Phase 1).
|
|
290
|
+
*
|
|
291
|
+
* When enabled, a step that throws an error is retried up to `maxRetries`
|
|
292
|
+
* times before being reported as failed. This is useful for flaky tests
|
|
293
|
+
* caused by race conditions or transient network issues.
|
|
294
|
+
*
|
|
295
|
+
* Phase 2 (diagnostic attachment) is not yet implemented.
|
|
296
|
+
*/
|
|
297
|
+
rerun?: {
|
|
298
|
+
/** Whether to enable the retry mechanism (default: false) */
|
|
299
|
+
enabled?: boolean;
|
|
300
|
+
/**
|
|
301
|
+
* Maximum number of retry attempts per failing step (default: 1).
|
|
302
|
+
* Set to 0 to detect failures without retrying.
|
|
303
|
+
*/
|
|
304
|
+
maxRetries?: number;
|
|
305
|
+
};
|
|
288
306
|
}
|
|
289
307
|
/**
|
|
290
308
|
* Test executor interface
|
package/dist/test-types.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"test-types.d.ts","sourceRoot":"","sources":["../test-types.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"test-types.d.ts","sourceRoot":"","sources":["../test-types.ts"],"names":[],"mappings":"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"}
|
package/index.ts
CHANGED
|
@@ -369,6 +369,42 @@ function captureSourceLocation(fn: Function): ISourceLocation {
|
|
|
369
369
|
/** Default number of retry attempts per failing step when `rerun.enabled` is true */
|
|
370
370
|
const DEFAULT_MAX_RETRIES = 1;
|
|
371
371
|
|
|
372
|
+
// ============================================================================
|
|
373
|
+
// Masking helpers (also used by assert.snapshot and checkpoint snapshots)
|
|
374
|
+
// ============================================================================
|
|
375
|
+
|
|
376
|
+
/**
|
|
377
|
+
* Deep-clone `value` and replace the leaf at each dot-path in `paths` with
|
|
378
|
+
* `'<masked>'`. Supports `'*'` as a wildcard in any path segment, meaning
|
|
379
|
+
* "apply to every direct child of the current object".
|
|
380
|
+
*
|
|
381
|
+
* Examples:
|
|
382
|
+
* maskPaths({id: '1', name: 'A'}, ['id'])
|
|
383
|
+
* → {id: '<masked>', name: 'A'}
|
|
384
|
+
* maskPaths({a: {id: '1'}, b: {id: '2'}}, ['*.id'])
|
|
385
|
+
* → {a: {id: '<masked>'}, b: {id: '<masked>'}}
|
|
386
|
+
*/
|
|
387
|
+
function maskPaths(value: unknown, paths: string[]): unknown {
|
|
388
|
+
if (value === null || value === undefined || typeof value !== 'object') return value;
|
|
389
|
+
const clone = JSON.parse(JSON.stringify(value)) as Record<string, unknown>;
|
|
390
|
+
for (const path of paths) setAtPath(clone, path.split('.'));
|
|
391
|
+
return clone;
|
|
392
|
+
}
|
|
393
|
+
|
|
394
|
+
function setAtPath(obj: unknown, parts: string[]): void {
|
|
395
|
+
if (typeof obj !== 'object' || obj === null || parts.length === 0) return;
|
|
396
|
+
const [head, ...tail] = parts;
|
|
397
|
+
if (head === '__proto__' || head === 'constructor' || head === 'prototype') return;
|
|
398
|
+
const record = obj as Record<string, unknown>;
|
|
399
|
+
if (tail.length === 0) {
|
|
400
|
+
if (Object.prototype.hasOwnProperty.call(record, head)) record[head] = '<masked>';
|
|
401
|
+
} else if (head === '*') {
|
|
402
|
+
for (const key of Object.keys(record)) setAtPath(record[key], tail);
|
|
403
|
+
} else {
|
|
404
|
+
setAtPath(record[head], tail);
|
|
405
|
+
}
|
|
406
|
+
}
|
|
407
|
+
|
|
372
408
|
/**
|
|
373
409
|
* Main test executor class
|
|
374
410
|
*/
|
|
@@ -420,6 +456,9 @@ export class TestExecutor extends EventEmitter {
|
|
|
420
456
|
framework: config.framework,
|
|
421
457
|
log: config.log,
|
|
422
458
|
rerun: config.rerun,
|
|
459
|
+
mask: config.mask,
|
|
460
|
+
maskFn: config.maskFn,
|
|
461
|
+
autoSnapshot: config.autoSnapshot,
|
|
423
462
|
};
|
|
424
463
|
this.log = config.log;
|
|
425
464
|
|
|
@@ -501,18 +540,71 @@ export class TestExecutor extends EventEmitter {
|
|
|
501
540
|
parentTestContext?: unknown,
|
|
502
541
|
): Promise<void> {
|
|
503
542
|
const stepPromises: Promise<void>[] = [];
|
|
543
|
+
const namedPromises = new Map<string, Promise<void>>();
|
|
544
|
+
let checkpointIndex = 0;
|
|
504
545
|
|
|
505
546
|
for (const step of steps) {
|
|
506
547
|
if (Array.isArray(step)) {
|
|
507
|
-
//
|
|
548
|
+
// Distinguish by element type:
|
|
549
|
+
// [] empty array → sync barrier (existing behaviour)
|
|
550
|
+
// ['*'] / ['s1','s2'] → snapshot checkpoint (new)
|
|
551
|
+
// [fn, ...] nested → nested step group (existing behaviour)
|
|
508
552
|
if (step.length === 0) {
|
|
509
|
-
//
|
|
553
|
+
// Sync barrier — wait for all parallel steps in this batch
|
|
510
554
|
await Promise.all(stepPromises);
|
|
511
555
|
stepPromises.length = 0;
|
|
512
556
|
continue;
|
|
513
557
|
}
|
|
514
558
|
|
|
515
|
-
|
|
559
|
+
if (step.every(s => typeof s === 'string')) {
|
|
560
|
+
// Snapshot checkpoint: await relevant steps, then snapshot
|
|
561
|
+
const checkpoint = step as unknown as string[];
|
|
562
|
+
|
|
563
|
+
if (checkpoint.length === 1 && checkpoint[0] === '*') {
|
|
564
|
+
// ['*'] — wait for entire current batch
|
|
565
|
+
await Promise.all(stepPromises);
|
|
566
|
+
stepPromises.length = 0;
|
|
567
|
+
} else {
|
|
568
|
+
// ['step1','step2'] — wait only for the named steps
|
|
569
|
+
const namedToWait = checkpoint
|
|
570
|
+
.map(name => namedPromises.get(name))
|
|
571
|
+
.filter((p): p is Promise<void> => p !== undefined);
|
|
572
|
+
await Promise.all(namedToWait);
|
|
573
|
+
// stepPromises is NOT cleared — other steps keep running
|
|
574
|
+
}
|
|
575
|
+
const cpName =
|
|
576
|
+
(checkpoint as {name?: string}).name ??
|
|
577
|
+
(checkpoint.length === 1 && checkpoint[0] === '*'
|
|
578
|
+
? `context`
|
|
579
|
+
: checkpoint.join('-'));
|
|
580
|
+
// Disambiguate when the same name is used more than once
|
|
581
|
+
const snapshotName = checkpointIndex === 0 ? cpName : `${cpName}-${checkpointIndex}`;
|
|
582
|
+
checkpointIndex++;
|
|
583
|
+
|
|
584
|
+
const stepsToSnapshot =
|
|
585
|
+
checkpoint.length === 1 && checkpoint[0] === '*'
|
|
586
|
+
? [...this.progress.steps.entries()]
|
|
587
|
+
.filter(([, s]) => s.status === 'completed')
|
|
588
|
+
.map(([name]) => name)
|
|
589
|
+
: checkpoint.filter(name =>
|
|
590
|
+
Object.prototype.hasOwnProperty.call(this.realContext, name),
|
|
591
|
+
);
|
|
592
|
+
|
|
593
|
+
const contextSnapshot = Object.fromEntries(
|
|
594
|
+
stepsToSnapshot.map(name => [name, this._applyMask(this.realContext[name])]),
|
|
595
|
+
);
|
|
596
|
+
|
|
597
|
+
const snapshotTarget = parentTestContext;
|
|
598
|
+
if (
|
|
599
|
+
snapshotTarget &&
|
|
600
|
+
typeof (snapshotTarget as any).matchSnapshot === 'function'
|
|
601
|
+
) {
|
|
602
|
+
(snapshotTarget as any).matchSnapshot(contextSnapshot, snapshotName);
|
|
603
|
+
}
|
|
604
|
+
continue;
|
|
605
|
+
}
|
|
606
|
+
|
|
607
|
+
// Nested step group — wait for current batch first
|
|
516
608
|
await Promise.all(stepPromises);
|
|
517
609
|
stepPromises.length = 0;
|
|
518
610
|
|
|
@@ -541,7 +633,9 @@ export class TestExecutor extends EventEmitter {
|
|
|
541
633
|
} else if (typeof step === 'function') {
|
|
542
634
|
// Execute function step in parallel
|
|
543
635
|
const promise = this._executeStep(step, groupPath, parentTestContext);
|
|
636
|
+
const stepName = step.name || 'anonymous';
|
|
544
637
|
stepPromises.push(promise);
|
|
638
|
+
namedPromises.set(stepName, promise);
|
|
545
639
|
}
|
|
546
640
|
}
|
|
547
641
|
|
|
@@ -599,7 +693,56 @@ export class TestExecutor extends EventEmitter {
|
|
|
599
693
|
this.latencyMetrics.set(stepName, latency);
|
|
600
694
|
|
|
601
695
|
// Wrap execution function for potential test context wrapping
|
|
602
|
-
|
|
696
|
+
// When a TAP sub-test context is supplied, assert is augmented with:
|
|
697
|
+
// assert.snapshot(value, 'name', opts?) — explicit snapshot
|
|
698
|
+
// assert.snapshot({mask?: []}) — deferred: snapshot the
|
|
699
|
+
// step's return value
|
|
700
|
+
// assert.snapshot() — deferred, no extra mask
|
|
701
|
+
// Deferred snapshots are taken after fn() returns, under the step name.
|
|
702
|
+
const self = this;
|
|
703
|
+
const executeStepFn = async (stepTestContext?: unknown) => {
|
|
704
|
+
const hasSnapshotTarget =
|
|
705
|
+
stepTestContext !== undefined &&
|
|
706
|
+
typeof (stepTestContext as Record<string, unknown>).matchSnapshot === 'function';
|
|
707
|
+
|
|
708
|
+
// Tracks a deferred assert.snapshot() call made inside the step.
|
|
709
|
+
const snapshotRequest: {deferred?: {mask?: string[]}} = {};
|
|
710
|
+
|
|
711
|
+
const stepAssert = hasSnapshotTarget
|
|
712
|
+
? new Proxy(assert, {
|
|
713
|
+
get(target, prop) {
|
|
714
|
+
if (prop === 'matchSnapshot')
|
|
715
|
+
return (stepTestContext as any).matchSnapshot;
|
|
716
|
+
if (prop === 'snapshot')
|
|
717
|
+
return (
|
|
718
|
+
valueOrOpts?: unknown,
|
|
719
|
+
nameOrNothing?: unknown,
|
|
720
|
+
opts?: {mask?: string[]},
|
|
721
|
+
) => {
|
|
722
|
+
if (typeof nameOrNothing === 'string') {
|
|
723
|
+
// Explicit: assert.snapshot(value, 'name', opts?)
|
|
724
|
+
if (!valueOrOpts)
|
|
725
|
+
throw new assert.AssertionError({
|
|
726
|
+
message: `snapshot "${nameOrNothing}": value is falsy`,
|
|
727
|
+
});
|
|
728
|
+
const masked = self._applyMask(valueOrOpts, opts?.mask);
|
|
729
|
+
(stepTestContext as any).matchSnapshot(masked, nameOrNothing);
|
|
730
|
+
} else {
|
|
731
|
+
// Deferred: assert.snapshot() or assert.snapshot({mask})
|
|
732
|
+
const deferOpts =
|
|
733
|
+
typeof valueOrOpts === 'object' &&
|
|
734
|
+
valueOrOpts !== null &&
|
|
735
|
+
!Array.isArray(valueOrOpts)
|
|
736
|
+
? (valueOrOpts as {mask?: string[]})
|
|
737
|
+
: {};
|
|
738
|
+
snapshotRequest.deferred = {mask: deferOpts.mask};
|
|
739
|
+
}
|
|
740
|
+
};
|
|
741
|
+
return (target as unknown as Record<string, unknown>)[prop as string];
|
|
742
|
+
},
|
|
743
|
+
})
|
|
744
|
+
: assert;
|
|
745
|
+
|
|
603
746
|
latency.startedAt = Date.now();
|
|
604
747
|
latency.queueTime = latency.startedAt - latency.queuedAt;
|
|
605
748
|
|
|
@@ -626,8 +769,10 @@ export class TestExecutor extends EventEmitter {
|
|
|
626
769
|
let lastError: Error | undefined;
|
|
627
770
|
|
|
628
771
|
for (let attempt = 0; attempt <= maxRetries; attempt++) {
|
|
772
|
+
// Reset per-attempt deferred snapshot flag
|
|
773
|
+
delete snapshotRequest.deferred;
|
|
629
774
|
try {
|
|
630
|
-
result = await fn(
|
|
775
|
+
result = await fn(stepAssert, context);
|
|
631
776
|
lastError = undefined;
|
|
632
777
|
break;
|
|
633
778
|
} catch (err) {
|
|
@@ -645,6 +790,24 @@ export class TestExecutor extends EventEmitter {
|
|
|
645
790
|
throw lastError;
|
|
646
791
|
}
|
|
647
792
|
|
|
793
|
+
// Handle deferred assert.snapshot() — called inside step with no explicit value
|
|
794
|
+
if (snapshotRequest.deferred !== undefined && hasSnapshotTarget) {
|
|
795
|
+
if (!result)
|
|
796
|
+
throw new assert.AssertionError({
|
|
797
|
+
message: `snapshot "${stepName}": step returned a falsy value`,
|
|
798
|
+
});
|
|
799
|
+
const masked = self._applyMask(result, snapshotRequest.deferred.mask);
|
|
800
|
+
(stepTestContext as any).matchSnapshot(masked, stepName);
|
|
801
|
+
} else if (self.config.autoSnapshot && hasSnapshotTarget) {
|
|
802
|
+
// Auto-snapshot: capture result automatically, no assert.snapshot() needed
|
|
803
|
+
if (!result)
|
|
804
|
+
throw new assert.AssertionError({
|
|
805
|
+
message: `snapshot "${stepName}": step returned a falsy value`,
|
|
806
|
+
});
|
|
807
|
+
const masked = self._applyMask(result);
|
|
808
|
+
(stepTestContext as any).matchSnapshot(masked, stepName);
|
|
809
|
+
}
|
|
810
|
+
|
|
648
811
|
// Store result in real context
|
|
649
812
|
this.realContext[stepName] = result;
|
|
650
813
|
|
|
@@ -714,8 +877,8 @@ export class TestExecutor extends EventEmitter {
|
|
|
714
877
|
await (this.testContext!.test as any).call(
|
|
715
878
|
parentTestContext,
|
|
716
879
|
stepName,
|
|
717
|
-
async () => {
|
|
718
|
-
await executeStepFn();
|
|
880
|
+
async (stepT: unknown) => {
|
|
881
|
+
await executeStepFn(stepT);
|
|
719
882
|
},
|
|
720
883
|
);
|
|
721
884
|
} catch (error) {
|
|
@@ -727,8 +890,8 @@ export class TestExecutor extends EventEmitter {
|
|
|
727
890
|
// Top-level step with test context
|
|
728
891
|
await this.queue.add(async () => {
|
|
729
892
|
try {
|
|
730
|
-
await this.testContext!.test(stepName, async () => {
|
|
731
|
-
await executeStepFn();
|
|
893
|
+
await this.testContext!.test(stepName, async (stepT: unknown) => {
|
|
894
|
+
await executeStepFn(stepT);
|
|
732
895
|
});
|
|
733
896
|
} catch (error) {
|
|
734
897
|
// Error already handled in executeStepFn, don't rethrow to break the queue
|
|
@@ -748,7 +911,7 @@ export class TestExecutor extends EventEmitter {
|
|
|
748
911
|
|
|
749
912
|
for (const step of steps) {
|
|
750
913
|
if (Array.isArray(step)) {
|
|
751
|
-
count += this._countSteps(step);
|
|
914
|
+
count += this._countSteps(step as StepArray);
|
|
752
915
|
} else if (typeof step === 'function') {
|
|
753
916
|
count++;
|
|
754
917
|
}
|
|
@@ -765,8 +928,10 @@ export class TestExecutor extends EventEmitter {
|
|
|
765
928
|
|
|
766
929
|
for (const step of steps) {
|
|
767
930
|
if (Array.isArray(step)) {
|
|
768
|
-
//
|
|
769
|
-
|
|
931
|
+
// Skip checkpoint markers (string-only arrays) — they are not steps
|
|
932
|
+
if (step.every(s => typeof s === 'string')) continue;
|
|
933
|
+
// Recursively collect from nested step groups
|
|
934
|
+
const nested = this._collectStepNames(step as StepArray);
|
|
770
935
|
nested.forEach(name => stepNames.add(name));
|
|
771
936
|
} else if (typeof step === 'function') {
|
|
772
937
|
const stepName = step.name || 'anonymous';
|
|
@@ -790,6 +955,18 @@ export class TestExecutor extends EventEmitter {
|
|
|
790
955
|
this.stepNamesUsed.add(stepName);
|
|
791
956
|
}
|
|
792
957
|
|
|
958
|
+
/**
|
|
959
|
+
* Applies the chain-level `mask` (and optional per-call `extraPaths`) to
|
|
960
|
+
* `value`. Returns the original reference unchanged when no masking is
|
|
961
|
+
* configured. Falls back to the deprecated `maskFn` when supplied.
|
|
962
|
+
*/
|
|
963
|
+
private _applyMask(value: unknown, extraPaths?: string[]): unknown {
|
|
964
|
+
const paths = [...(this.config.mask ?? []), ...(extraPaths ?? [])];
|
|
965
|
+
if (!paths.length && !this.config.maskFn) return value;
|
|
966
|
+
if (this.config.maskFn) return this.config.maskFn(value, paths);
|
|
967
|
+
return maskPaths(value, paths);
|
|
968
|
+
}
|
|
969
|
+
|
|
793
970
|
/**
|
|
794
971
|
* Gets the current progress snapshot
|
|
795
972
|
*/
|
|
@@ -930,7 +1107,3 @@ export class TestExecutor extends EventEmitter {
|
|
|
930
1107
|
|
|
931
1108
|
// Export all types
|
|
932
1109
|
export type * from './test-types.js';
|
|
933
|
-
|
|
934
|
-
// Export snapshot helper
|
|
935
|
-
export {maskPaths, snapshot} from './snapshot.js';
|
|
936
|
-
export type {ISnapshotContext, ISnapshotOptions} from './snapshot.js';
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@feasibleone/blong-chain",
|
|
3
|
-
"version": "1.
|
|
3
|
+
"version": "1.7.0",
|
|
4
4
|
"description": "Parallel testing with automatic dependencies",
|
|
5
5
|
"keywords": [
|
|
6
6
|
"blong",
|
|
@@ -12,8 +12,7 @@
|
|
|
12
12
|
},
|
|
13
13
|
"type": "module",
|
|
14
14
|
"exports": {
|
|
15
|
-
".": "./index.ts"
|
|
16
|
-
"./snapshot": "./snapshot.ts"
|
|
15
|
+
".": "./index.ts"
|
|
17
16
|
},
|
|
18
17
|
"dependencies": {
|
|
19
18
|
"p-queue": "^9.1.0"
|
package/test-types.ts
CHANGED
|
@@ -40,9 +40,26 @@ export interface ITestContext {
|
|
|
40
40
|
export type StepFunction = (assert: unknown, context: ITestContext) => unknown | Promise<unknown>;
|
|
41
41
|
|
|
42
42
|
/**
|
|
43
|
-
*
|
|
43
|
+
* A snapshot checkpoint — an array of step-name strings placed inside the
|
|
44
|
+
* steps array. At runtime, when the executor encounters it the current batch
|
|
45
|
+
* is awaited and the listed step results are snapshotted into the TAP context.
|
|
46
|
+
*
|
|
47
|
+
* - `['*']` — snapshot ALL completed steps' results into one context object
|
|
48
|
+
* - `['step1', 'step2']` — snapshot only those specific steps
|
|
49
|
+
* - `[]` — sync barrier only, no snapshot (existing behaviour)
|
|
50
|
+
*
|
|
51
|
+
* The array may carry an optional `.name` to give the snapshot a stable name:
|
|
52
|
+
* ```
|
|
53
|
+
* const cp = Object.assign(['*'], {name: 'provisioning-complete'});
|
|
54
|
+
* ```
|
|
44
55
|
*/
|
|
45
|
-
export type
|
|
56
|
+
export type CheckpointMarker = string[] & {name?: string};
|
|
57
|
+
|
|
58
|
+
/**
|
|
59
|
+
* Array of test steps. May contain step functions, nested step groups, or
|
|
60
|
+
* checkpoint markers (string arrays).
|
|
61
|
+
*/
|
|
62
|
+
export type StepArray = (StepFunction | StepArray | CheckpointMarker)[] & {name?: string};
|
|
46
63
|
|
|
47
64
|
/**
|
|
48
65
|
* Meta information passed through test execution
|
|
@@ -340,6 +357,35 @@ export interface ITestExecutorConfig {
|
|
|
340
357
|
framework?: unknown;
|
|
341
358
|
/** Logger instance for reporting step failures */
|
|
342
359
|
log?: ITestLogger;
|
|
360
|
+
/**
|
|
361
|
+
* Chain-level mask paths. Applied to ALL snapshot operations in this chain:
|
|
362
|
+
* `autoSnapshot`, `assert.snapshot()`, and checkpoint snapshots.
|
|
363
|
+
*
|
|
364
|
+
* Supports:
|
|
365
|
+
* - Simple name: `'id'` — masks the `id` field in the snapshotted value
|
|
366
|
+
* - Dot-path: `'user.id'` — masks a nested field
|
|
367
|
+
* - Wildcard prefix: `'*.id'` — masks `id` inside every direct child of the
|
|
368
|
+
* snapshotted object (useful for context-level snapshots where each child
|
|
369
|
+
* is a step result)
|
|
370
|
+
*
|
|
371
|
+
* Per-call `{mask: [...]}` options are merged on top of this chain-level mask.
|
|
372
|
+
*/
|
|
373
|
+
mask?: string[];
|
|
374
|
+
/**
|
|
375
|
+
* When `true`, automatically snapshot every step's return value under the
|
|
376
|
+
* step's function name after it completes. The chain-level `mask` is applied
|
|
377
|
+
* before snapshotting. No `assert.snapshot()` calls are needed in step
|
|
378
|
+
* functions — the framework captures everything automatically.
|
|
379
|
+
*
|
|
380
|
+
* Requires a TAP (or compatible) test context to be passed to `execute()`.
|
|
381
|
+
*/
|
|
382
|
+
autoSnapshot?: boolean;
|
|
383
|
+
/**
|
|
384
|
+
* @deprecated Use `mask` (string array) instead.
|
|
385
|
+
* Custom masking function for advanced scenarios not covered by `mask`.
|
|
386
|
+
* When both are provided, `maskFn` is used and `mask` is passed to it.
|
|
387
|
+
*/
|
|
388
|
+
maskFn?: (value: unknown, paths: string[]) => unknown;
|
|
343
389
|
/**
|
|
344
390
|
* Automatic rerun configuration for failing steps (Phase 1).
|
|
345
391
|
*
|