@daiso-tech/core 0.36.0 → 0.37.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (99) hide show
  1. package/dist/async/middlewares/_shared.d.ts +6 -1
  2. package/dist/async/middlewares/_shared.js +11 -1
  3. package/dist/async/middlewares/_shared.js.map +1 -1
  4. package/dist/async/middlewares/fallback/fallback.middleware.d.ts +1 -1
  5. package/dist/async/middlewares/fallback/fallback.middleware.js +2 -1
  6. package/dist/async/middlewares/fallback/fallback.middleware.js.map +1 -1
  7. package/dist/async/middlewares/retry/retry.middleware.js +2 -2
  8. package/dist/async/middlewares/retry/retry.middleware.js.map +1 -1
  9. package/dist/cache/contracts/cache-factory.contract.d.ts +2 -2
  10. package/dist/cache/implementations/adapters/_module-exports.d.ts +1 -2
  11. package/dist/cache/implementations/adapters/_module-exports.js +1 -2
  12. package/dist/cache/implementations/adapters/_module-exports.js.map +1 -1
  13. package/dist/cache/implementations/adapters/kysely-cache-adapter/kysely-cache-adapter.d.ts +41 -16
  14. package/dist/cache/implementations/adapters/kysely-cache-adapter/kysely-cache-adapter.js +102 -57
  15. package/dist/cache/implementations/adapters/kysely-cache-adapter/kysely-cache-adapter.js.map +1 -1
  16. package/dist/cache/implementations/adapters/memory-cache-adapter/memory-cache-adapter.d.ts +1 -1
  17. package/dist/cache/implementations/adapters/memory-cache-adapter/memory-cache-adapter.js.map +1 -1
  18. package/dist/cache/implementations/adapters/mongodb-cache-adapter/mongodb-cache-adapter.d.ts +1 -1
  19. package/dist/cache/implementations/adapters/no-op-cache-adapter/no-op-cache-adapter.d.ts +1 -1
  20. package/dist/cache/implementations/adapters/redis-cache-adapter/redis-cache-adapter.d.ts +1 -1
  21. package/dist/cache/implementations/adapters/redis-cache-adapter/redis-cache-adapter.js.map +1 -1
  22. package/dist/cache/implementations/derivables/cache/cache.d.ts +15 -3
  23. package/dist/cache/implementations/derivables/cache/cache.js +15 -2
  24. package/dist/cache/implementations/derivables/cache/cache.js.map +1 -1
  25. package/dist/cache/implementations/derivables/cache-factory/cache-factory.d.ts +11 -8
  26. package/dist/cache/implementations/derivables/cache-factory/cache-factory.js +9 -0
  27. package/dist/cache/implementations/derivables/cache-factory/cache-factory.js.map +1 -1
  28. package/dist/collection/contracts/async-collection.contract.d.ts +6 -0
  29. package/dist/collection/contracts/collection.contract.d.ts +6 -0
  30. package/dist/collection/implementations/async-iterable-collection/_shared/_module.d.ts +1 -0
  31. package/dist/collection/implementations/async-iterable-collection/_shared/_module.js +1 -0
  32. package/dist/collection/implementations/async-iterable-collection/_shared/_module.js.map +1 -1
  33. package/dist/collection/implementations/async-iterable-collection/_shared/async-validate-iterable.d.ts +7 -0
  34. package/dist/collection/implementations/async-iterable-collection/_shared/async-validate-iterable.js +17 -0
  35. package/dist/collection/implementations/async-iterable-collection/_shared/async-validate-iterable.js.map +1 -0
  36. package/dist/collection/implementations/async-iterable-collection/async-iterable-collection.d.ts +2 -0
  37. package/dist/collection/implementations/async-iterable-collection/async-iterable-collection.js +4 -1
  38. package/dist/collection/implementations/async-iterable-collection/async-iterable-collection.js.map +1 -1
  39. package/dist/collection/implementations/iterable-collection/_shared/_module.d.ts +1 -0
  40. package/dist/collection/implementations/iterable-collection/_shared/_module.js +1 -0
  41. package/dist/collection/implementations/iterable-collection/_shared/_module.js.map +1 -1
  42. package/dist/collection/implementations/iterable-collection/_shared/validate-iterable.d.ts +7 -0
  43. package/dist/collection/implementations/iterable-collection/_shared/validate-iterable.js +21 -0
  44. package/dist/collection/implementations/iterable-collection/_shared/validate-iterable.js.map +1 -0
  45. package/dist/collection/implementations/iterable-collection/iterable-collection.d.ts +2 -0
  46. package/dist/collection/implementations/iterable-collection/iterable-collection.js +4 -1
  47. package/dist/collection/implementations/iterable-collection/iterable-collection.js.map +1 -1
  48. package/dist/collection/implementations/list-collection/list-collection.d.ts +2 -0
  49. package/dist/collection/implementations/list-collection/list-collection.js +14 -1
  50. package/dist/collection/implementations/list-collection/list-collection.js.map +1 -1
  51. package/dist/event-bus/contracts/event-bus-factory.contract.d.ts +2 -2
  52. package/dist/event-bus/implementations/derivables/event-bus/event-bus.d.ts +34 -4
  53. package/dist/event-bus/implementations/derivables/event-bus/event-bus.js +46 -6
  54. package/dist/event-bus/implementations/derivables/event-bus/event-bus.js.map +1 -1
  55. package/dist/event-bus/implementations/derivables/event-bus-factory/event-bus-factory.d.ts +9 -7
  56. package/dist/event-bus/implementations/derivables/event-bus-factory/event-bus-factory.js +11 -0
  57. package/dist/event-bus/implementations/derivables/event-bus-factory/event-bus-factory.js.map +1 -1
  58. package/dist/lock/implementations/adapters/_module-exports.d.ts +1 -2
  59. package/dist/lock/implementations/adapters/_module-exports.js +1 -2
  60. package/dist/lock/implementations/adapters/_module-exports.js.map +1 -1
  61. package/dist/lock/implementations/adapters/kysely-lock-adapter/kysely-lock-adapter.d.ts +37 -12
  62. package/dist/lock/implementations/adapters/kysely-lock-adapter/kysely-lock-adapter.js +73 -32
  63. package/dist/lock/implementations/adapters/kysely-lock-adapter/kysely-lock-adapter.js.map +1 -1
  64. package/dist/serde/implementations/adapters/super-json-serde-adapter/super-json-serde-adapter.js +1 -1
  65. package/dist/serde/implementations/adapters/super-json-serde-adapter/super-json-serde-adapter.js.map +1 -1
  66. package/dist/utilities/functions/_module-exports.d.ts +1 -0
  67. package/dist/utilities/functions/_module-exports.js +1 -0
  68. package/dist/utilities/functions/_module-exports.js.map +1 -1
  69. package/dist/utilities/functions/lazy.d.ts +4 -0
  70. package/dist/utilities/functions/lazy.js +9 -3
  71. package/dist/utilities/functions/lazy.js.map +1 -1
  72. package/dist/utilities/functions/validate.d.ts +8 -0
  73. package/dist/utilities/functions/validate.js +17 -0
  74. package/dist/utilities/functions/validate.js.map +1 -0
  75. package/package.json +14 -11
  76. package/dist/cache/implementations/adapters/libsql-cache-adapter/_module.d.ts +0 -1
  77. package/dist/cache/implementations/adapters/libsql-cache-adapter/_module.js +0 -2
  78. package/dist/cache/implementations/adapters/libsql-cache-adapter/_module.js.map +0 -1
  79. package/dist/cache/implementations/adapters/libsql-cache-adapter/libsql-cache-adapter.d.ts +0 -75
  80. package/dist/cache/implementations/adapters/libsql-cache-adapter/libsql-cache-adapter.js +0 -95
  81. package/dist/cache/implementations/adapters/libsql-cache-adapter/libsql-cache-adapter.js.map +0 -1
  82. package/dist/cache/implementations/adapters/sqlite-cache-adapter/_module.d.ts +0 -1
  83. package/dist/cache/implementations/adapters/sqlite-cache-adapter/_module.js +0 -2
  84. package/dist/cache/implementations/adapters/sqlite-cache-adapter/_module.js.map +0 -1
  85. package/dist/cache/implementations/adapters/sqlite-cache-adapter/sqlite-cache-adapter.d.ts +0 -70
  86. package/dist/cache/implementations/adapters/sqlite-cache-adapter/sqlite-cache-adapter.js +0 -94
  87. package/dist/cache/implementations/adapters/sqlite-cache-adapter/sqlite-cache-adapter.js.map +0 -1
  88. package/dist/lock/implementations/adapters/libsql-lock-adapter/_module.d.ts +0 -1
  89. package/dist/lock/implementations/adapters/libsql-lock-adapter/_module.js +0 -2
  90. package/dist/lock/implementations/adapters/libsql-lock-adapter/_module.js.map +0 -1
  91. package/dist/lock/implementations/adapters/libsql-lock-adapter/libsql-lock-adapter.d.ts +0 -60
  92. package/dist/lock/implementations/adapters/libsql-lock-adapter/libsql-lock-adapter.js +0 -84
  93. package/dist/lock/implementations/adapters/libsql-lock-adapter/libsql-lock-adapter.js.map +0 -1
  94. package/dist/lock/implementations/adapters/sqlite-lock-adapter/_module.d.ts +0 -1
  95. package/dist/lock/implementations/adapters/sqlite-lock-adapter/_module.js +0 -2
  96. package/dist/lock/implementations/adapters/sqlite-lock-adapter/_module.js.map +0 -1
  97. package/dist/lock/implementations/adapters/sqlite-lock-adapter/sqlite-lock-adapter.d.ts +0 -59
  98. package/dist/lock/implementations/adapters/sqlite-lock-adapter/sqlite-lock-adapter.js +0 -83
  99. package/dist/lock/implementations/adapters/sqlite-lock-adapter/sqlite-lock-adapter.js.map +0 -1
@@ -2,7 +2,7 @@
2
2
  * @module Collection
3
3
  */
4
4
  import { ItemNotFoundCollectionError, MultipleItemsFoundCollectionError, UnexpectedCollectionError, TypeCollectionError, EmptyCollectionError, } from "../../../collection/contracts/_module-exports.js";
5
- import { CrossJoinIterable, SlidingIteralbe, ShuffleIterable, EntriesIterable, FilterIterable, ChunkIterable, ChunkWhileIterable, CollapseIterable, CountByIterable, FlatMapIterable, GroupByIterable, InsertAfterIterable, InsertBeforeIterable, MapIterable, MergeIterable, PadEndIterable, PadStartIterable, PartionIterable, SkipIterable, SkipUntilIterable, SortIterable, SplitIterable, TakeIterable, TakeUntilIterable, TapIterable, UniqueIterable, ChangeIterable, WhenIterable, ZipIterable, ReverseIterable, SliceIterable, RepeatIterable, } from "../../../collection/implementations/iterable-collection/_shared/_module.js";
5
+ import { CrossJoinIterable, SlidingIteralbe, ShuffleIterable, EntriesIterable, FilterIterable, ChunkIterable, ChunkWhileIterable, CollapseIterable, CountByIterable, FlatMapIterable, GroupByIterable, InsertAfterIterable, InsertBeforeIterable, MapIterable, MergeIterable, PadEndIterable, PadStartIterable, PartionIterable, SkipIterable, SkipUntilIterable, SortIterable, SplitIterable, TakeIterable, TakeUntilIterable, TapIterable, UniqueIterable, ChangeIterable, WhenIterable, ZipIterable, ReverseIterable, SliceIterable, RepeatIterable, ValidateIterable, } from "../../../collection/implementations/iterable-collection/_shared/_module.js";
6
6
  import { isInvokable, resolveInvokable, } from "../../../utilities/_module-exports.js";
7
7
  import { resolveLazyable } from "../../../utilities/_module-exports.js";
8
8
  /**
@@ -193,6 +193,9 @@ export class IterableCollection {
193
193
  filter(predicateFn) {
194
194
  return new IterableCollection(new FilterIterable(this, predicateFn));
195
195
  }
196
+ validate(schema) {
197
+ return new IterableCollection(new ValidateIterable(this, schema));
198
+ }
196
199
  reject(predicateFn) {
197
200
  return this.filter((...arguments_) => !resolveInvokable(predicateFn)(...arguments_));
198
201
  }
@@ -1 +1 @@
1
- {"version":3,"file":"iterable-collection.js","sourceRoot":"","sources":["../../../../src/collection/implementations/iterable-collection/iterable-collection.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"iterable-collection.js","sourceRoot":"","sources":["../../../../src/collection/implementations/iterable-collection/iterable-collection.ts"],"names":[],"mappings":"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"}
@@ -4,6 +4,7 @@
4
4
  import type { EnsureMap, EnsureRecord } from "../../../collection/contracts/_module-exports.js";
5
5
  import { type Collapse, type Comparator, type PredicateInvokable, type ICollection, type Map, type Modifier, type Tap, type Transform, type Reduce, type ForEach, type CrossJoinResult } from "../../../collection/contracts/_module-exports.js";
6
6
  import { type Lazyable } from "../../../utilities/_module-exports.js";
7
+ import type { StandardSchemaV1 } from "@standard-schema/spec";
7
8
  /**
8
9
  * All methods in `ListCollection` are executed eagerly.
9
10
  *
@@ -164,6 +165,7 @@ export declare class ListCollection<TInput = unknown> implements ICollection<TIn
164
165
  keys(): ICollection<number>;
165
166
  copy(): ICollection<TInput>;
166
167
  filter<TOutput extends TInput>(predicateFn: PredicateInvokable<TInput, ICollection<TInput>, TOutput>): ICollection<TOutput>;
168
+ validate<TOutput>(schema: StandardSchemaV1<TInput, TOutput>): ICollection<TOutput>;
167
169
  reject<TOutput extends TInput>(predicateFn: PredicateInvokable<TInput, ICollection<TInput>, TOutput>): ICollection<Exclude<TInput, TOutput>>;
168
170
  map<TOutput>(mapFn: Map<TInput, ICollection<TInput>, TOutput>): ICollection<TOutput>;
169
171
  reduce(reduceFn: Reduce<TInput, ICollection<TInput>, TInput>): TInput;
@@ -3,7 +3,7 @@
3
3
  */
4
4
  import { isIterable } from "../../../collection/implementations/_shared.js";
5
5
  import { ItemNotFoundCollectionError, MultipleItemsFoundCollectionError, UnexpectedCollectionError, TypeCollectionError, EmptyCollectionError, } from "../../../collection/contracts/_module-exports.js";
6
- import { isInvokable, resolveInvokable, } from "../../../utilities/_module-exports.js";
6
+ import { isInvokable, isPromiseLike, resolveInvokable, } from "../../../utilities/_module-exports.js";
7
7
  import { resolveLazyable } from "../../../utilities/_module-exports.js";
8
8
  /**
9
9
  * All methods in `ListCollection` are executed eagerly.
@@ -193,6 +193,19 @@ export class ListCollection {
193
193
  filter(predicateFn) {
194
194
  return new ListCollection(this.array.filter((item, index) => resolveInvokable(predicateFn)(item, index, this)));
195
195
  }
196
+ validate(schema) {
197
+ const validatedItems = [];
198
+ for (const item of this.array) {
199
+ const result = schema["~standard"].validate(item);
200
+ if (isPromiseLike(result)) {
201
+ throw new TypeError("Schema validation must be synchronous");
202
+ }
203
+ if (!result.issues) {
204
+ validatedItems.push(result.value);
205
+ }
206
+ }
207
+ return new ListCollection(validatedItems);
208
+ }
196
209
  reject(predicateFn) {
197
210
  return new ListCollection(this.array.filter((item, index) => !resolveInvokable(predicateFn)(item, index, this)));
198
211
  }
@@ -1 +1 @@
1
- {"version":3,"file":"list-collection.js","sourceRoot":"","sources":["../../../../src/collection/implementations/list-collection/list-collection.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EAAE,UAAU,EAAE,MAAM,yCAAyC,CAAC;AAKrE,OAAO,EAKH,2BAA2B,EAG3B,iCAAiC,EAGjC,yBAAyB,EACzB,mBAAmB,EAGnB,oBAAoB,GAEvB,MAAM,2CAA2C,CAAC;AACnD,OAAO,EACH,WAAW,EACX,gBAAgB,GAEnB,MAAM,gCAAgC,CAAC;AACxC,OAAO,EAAE,eAAe,EAAE,MAAM,gCAAgC,CAAC;AAEjE;;;;;GAKG;AACH,MAAM,OAAO,cAAc;IACvB;;;;;;;;;;;;;;;;;;;;;;;OAuBG;IACH,MAAM,CAAC,MAAM,CACT,SAAqC;QAErC,IAAI,KAAK,GAAa,EAAE,CAAC;QACzB,KAAK,MAAM,QAAQ,IAAI,SAAS,EAAE,CAAC;YAC/B,KAAK,GAAG,CAAC,GAAG,KAAK,EAAE,GAAG,QAAQ,CAAC,CAAC;QACpC,CAAC;QACD,OAAO,IAAI,cAAc,CAAC,KAAK,CAAC,CAAC;IACrC,CAAC;IAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;OAqCG;IACH,MAAM,CAAC,UAAU,CACb,SAA2B,EAC3B,SAA2B,EAC3B,QAAoD;QAEpD,OAAO,IAAI,cAAc,CAAC,SAAS,CAAC,CAAC,UAAU,CAAC,SAAS,EAAE,QAAQ,CAAC,CAAC;IACzE,CAAC;IAED;;;;;;;;;;;;;;;;;;;;;;;;;;;OA2BG;IACH,MAAM,CAAC,GAAG,CACN,SAA4B,EAC5B,SAA4B;QAE5B,OAAO,IAAI,cAAc,CAAC,SAAS,CAAC,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;IACxD,CAAC;IAED,MAAM,CAAC,WAAW,CAAS,eAAyB;QAChD,OAAO,IAAI,cAAc,CAAC,eAAe,CAAC,CAAC;IAC/C,CAAC;IAEO,KAAK,CAAW;IAExB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;OAiDG;IACH,YAAY,WAA6B,EAAE;QACvC,IAAI,CAAC,KAAK,GAAG,CAAC,GAAG,QAAQ,CAAC,CAAC;IAC/B,CAAC;IAED,SAAS;QACL,OAAO,IAAI,CAAC,OAAO,EAAE,CAAC;IAC1B,CAAC;IAED,CAAC,CAAC,MAAM,CAAC,QAAQ,CAAC;QACd,KAAK,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC;IACtB,CAAC;IAED,UAAU;QACN,OAAO,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,EAA4B,CAAC;IAC7D,CAAC;IAED,OAAO;QACH,OAAO,IAAI,cAAc,CAAC,IAAI,CAAC,KAAK,CAAC,OAAO,EAAE,CAAC,CAAC;IACpD,CAAC;IAED,IAAI;QACA,OAAO,IAAI,cAAc,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,EAAE,CAAC,CAAC;IACjD,CAAC;IAED,IAAI;QACA,OAAO,IAAI,cAAc,CAAC,IAAI,CAAC,CAAC;IACpC,CAAC;IAED,MAAM,CACF,WAAqE;QAErE,OAAO,IAAI,cAAc,CACrB,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE,KAAK,EAAE,EAAE,CAC9B,gBAAgB,CAAC,WAAW,CAAC,CAAC,IAAI,EAAE,KAAK,EAAE,IAAI,CAAC,CACtC,CACjB,CAAC;IACN,CAAC;IAED,MAAM,CACF,WAAqE;QAErE,OAAO,IAAI,cAAc,CACrB,IAAI,CAAC,KAAK,CAAC,MAAM,CACb,CAAC,IAAI,EAAE,KAAK,EAAE,EAAE,CACZ,CAAC,gBAAgB,CAAC,WAAW,CAAC,CAAC,IAAI,EAAE,KAAK,EAAE,IAAI,CAAC,CAC1B,CAClC,CAAC;IACN,CAAC;IAED,GAAG,CACC,KAAgD;QAEhD,OAAO,IAAI,cAAc,CACrB,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,KAAK,EAAE,EAAE,CAC3B,gBAAgB,CAAC,KAAK,CAAC,CAAC,IAAI,EAAE,KAAK,EAAE,IAAI,CAAC,CAC7C,CACJ,CAAC;IACN,CAAC;IAYD,MAAM,CACF,QAAsD,EACtD,YAAsB;QAEtB,IAAI,YAAY,KAAK,SAAS,IAAI,IAAI,CAAC,OAAO,EAAE,EAAE,CAAC;YAC/C,MAAM,IAAI,mBAAmB,CACzB,uDAAuD,CAC1D,CAAC;QACN,CAAC;QACD,IAAI,YAAY,KAAK,SAAS,EAAE,CAAC;YAC7B,OAAO,IAAI,CAAC,KAAK,CAAC,MAAM,CACpB,CAAC,YAAY,EAAE,IAAI,EAAE,KAAK,EAAE,EAAE,CAC1B,gBAAgB,CAAC,QAAQ,CAAC,CAAC,YAAY,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,CAAC,EAC/D,YAAY,CACf,CAAC;QACN,CAAC;QACD,+DAA+D;QAC/D,OAAO,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,YAAY,EAAE,IAAI,EAAE,KAAK,EAAE,EAAE;YACnD,uGAAuG;YACvG,MAAM,MAAM,GAAG,QAAe,CAAC;YAC/B,kGAAkG;YAClG,OAAO,MAAM,CAAC,YAAY,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,CAAC,CAAC;YAC/C,8DAA8D;QAClE,CAAC,CAAQ,CAAC;IACd,CAAC;IAED,IAAI,CAAC,SAAS,GAAG,GAAG;QAChB,KAAK,MAAM,IAAI,IAAI,IAAI,EAAE,CAAC;YACtB,IAAI,OAAO,IAAI,KAAK,QAAQ,EAAE,CAAC;gBAC3B,MAAM,IAAI,mBAAmB,CACzB,qCAAqC,CACxC,CAAC;YACN,CAAC;QACL,CAAC;QACD,OAAO,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,SAAS,CAA4B,CAAC;IACjE,CAAC;IAED,QAAQ;QACJ,MAAM,KAAK,GAAa,EAAE,CAAC;QAC3B,KAAK,MAAM,IAAI,IAAI,IAAI,CAAC,KAAK,EAAE,CAAC;YAC5B,IAAI,UAAU,CAAS,IAAI,CAAC,EAAE,CAAC;gBAC3B,KAAK,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC,CAAC;YACxB,CAAC;iBAAM,CAAC;gBACJ,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YACrB,CAAC;QACL,CAAC;QACD,OAAO,IAAI,cAAc,CAAC,KAA2B,CAAC,CAAC;IAC3D,CAAC;IAED,OAAO,CACH,KAA0D;QAE1D,OAAO,IAAI,cAAc,CACrB,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,IAAI,EAAE,KAAK,EAAE,EAAE,CAAC;YAChC,GAAG,gBAAgB,CAAC,KAAK,CAAC,CAAC,IAAI,EAAE,KAAK,EAAE,IAAI,CAAC;SAChD,CAAC,CACL,CAAC;IACN,CAAC;IAED,MAAM,CACF,WAIC,EACD,KAA0D;QAE1D,OAAO,IAAI,cAAc,CACrB,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,KAAK,EAAE,EAAE;YAC3B,IAAI,gBAAgB,CAAC,WAAW,CAAC,CAAC,IAAI,EAAE,KAAK,EAAE,IAAI,CAAC,EAAE,CAAC;gBACnD,OAAO,gBAAgB,CAAC,KAAK,CAAC,CAC1B,IAAqB,EACrB,KAAK,EACL,IAAI,CACP,CAAC;YACN,CAAC;YACD,OAAO,IAAI,CAAC;QAChB,CAAC,CAAC,CACL,CAAC;IACN,CAAC;IAED,GAAG,CACC,KAAa,EACb,KAAwD;QAExD,IAAI,KAAK,GAAG,CAAC,EAAE,CAAC;YACZ,OAAO,IAAI,CAAC;QAChB,CAAC;QACD,IAAI,KAAK,IAAI,IAAI,CAAC,KAAK,CAAC,MAAM,EAAE,CAAC;YAC7B,OAAO,IAAI,CAAC;QAChB,CAAC;QACD,MAAM,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;QAC/B,IAAI,IAAI,KAAK,SAAS,EAAE,CAAC;YACrB,OAAO,IAAI,CAAC;QAChB,CAAC;QACD,IAAI,WAAW,CAAC,KAAK,CAAC,EAAE,CAAC;YACrB,KAAK,GAAG,gBAAgB,CAAC,KAAK,CAAC,CAAC,IAAI,EAAE,KAAK,EAAE,IAAI,CAAC,CAAC;QACvD,CAAC;QACD,MAAM,QAAQ,GAAG,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC;QACjC,QAAQ,CAAC,KAAK,CAAC,GAAG,KAAK,CAAC;QACxB,OAAO,IAAI,cAAc,CAAC,QAAQ,CAAC,CAAC;IACxC,CAAC;IAED,GAAG,CAAC,KAAa;QACb,OAAO,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,IAAI,IAAI,CAAC;IACrC,CAAC;IAED,SAAS,CAAC,KAAa;QACnB,MAAM,IAAI,GAAG,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;QAC7B,IAAI,IAAI,KAAK,IAAI,EAAE,CAAC;YAChB,MAAM,IAAI,2BAA2B,CAAC,oBAAoB,CAAC,CAAC;QAChE,CAAC;QACD,OAAO,IAAI,CAAC;IAChB,CAAC;IAED,IAAI,CAAC,IAAY,EAAE,QAAgB;QAC/B,IAAI,IAAI,GAAG,CAAC,EAAE,CAAC;YACX,OAAO,IAAI,CAAC,IAAI,CAAC,IAAI,GAAG,QAAQ,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;QACrD,CAAC;QACD,OAAO,IAAI,CAAC,IAAI,CAAC,CAAC,IAAI,GAAG,CAAC,CAAC,GAAG,QAAQ,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;IAC3D,CAAC;IAED,GAAG;QACC,IAAI,IAAI,CAAC,OAAO,EAAE,EAAE,CAAC;YACjB,MAAM,IAAI,oBAAoB,CAC1B,0DAA0D,CAC7D,CAAC;QACN,CAAC;QACD,MAAM,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,IAAI,EAAE,EAAE;YACrC,IAAI,OAAO,IAAI,KAAK,QAAQ,EAAE,CAAC;gBAC3B,MAAM,IAAI,mBAAmB,CACzB,qCAAqC,CACxC,CAAC;YACN,CAAC;YACD,OAAO,GAAG,GAAG,IAAI,CAAC;QACtB,CAAC,EAAE,CAAC,CAAC,CAAC;QAEN,mGAAmG;QACnG,OAAO,MAAa,CAAC;IACzB,CAAC;IAED,OAAO;QACH,IAAI,IAAI,CAAC,OAAO,EAAE,EAAE,CAAC;YACjB,MAAM,IAAI,oBAAoB,CAC1B,0DAA0D,CAC7D,CAAC;QACN,CAAC;QACD,OAAO,CAAE,IAAI,CAAC,GAAG,EAAa,GAAG,IAAI,CAAC,IAAI,EAAE,CAG3C,CAAC;IACN,CAAC;IAED,MAAM;QACF,IAAI,IAAI,CAAC,OAAO,EAAE,EAAE,CAAC;YACjB,MAAM,IAAI,oBAAoB,CAC1B,0DAA0D,CAC7D,CAAC;QACN,CAAC;QACD,MAAM,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE;YAC7B,IAAI,OAAO,IAAI,KAAK,QAAQ,EAAE,CAAC;gBAC3B,MAAM,IAAI,mBAAmB,CACzB,qCAAqC,CACxC,CAAC;YACN,CAAC;YACD,OAAO,IAAI,CAAC;QAChB,CAAC,CAAC,EACF,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC,EACzC,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,KAAK,CAAC,EACpC,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC;QACpB,IAAI,CAAC,KAAK,SAAS,EAAE,CAAC;YAClB,MAAM,IAAI,yBAAyB,CAAC,qBAAqB,CAAC,CAAC;QAC/D,CAAC;QACD,MAAM,CAAC,GAAG,IAAI,CAAC,KAAK,GAAG,CAAC,CAAC,CAAC;QAC1B,IAAI,MAAM,EAAE,CAAC;YACT,IAAI,CAAC,KAAK,SAAS,EAAE,CAAC;gBAClB,MAAM,IAAI,yBAAyB,CAAC,qBAAqB,CAAC,CAAC;YAC/D,CAAC;YACD,OAAO,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CAA4B,CAAC;QACpD,CAAC;QACD,OAAO,CAA4B,CAAC;IACxC,CAAC;IAED,GAAG;QACC,IAAI,IAAI,CAAC,OAAO,EAAE,EAAE,CAAC;YACjB,MAAM,IAAI,oBAAoB,CAC1B,0DAA0D,CAC7D,CAAC;QACN,CAAC;QACD,IAAI,GAAG,GAAG,CAAC,CAAC;QACZ,KAAK,MAAM,IAAI,IAAI,IAAI,CAAC,KAAK,EAAE,CAAC;YAC5B,IAAI,OAAO,IAAI,KAAK,QAAQ,EAAE,CAAC;gBAC3B,MAAM,IAAI,mBAAmB,CACzB,qCAAqC,CACxC,CAAC;YACN,CAAC;YACD,IAAI,GAAG,KAAK,CAAC,EAAE,CAAC;gBACZ,GAAG,GAAG,IAAI,CAAC;YACf,CAAC;iBAAM,IAAI,GAAG,GAAG,IAAI,EAAE,CAAC;gBACpB,GAAG,GAAG,IAAI,CAAC;YACf,CAAC;QACL,CAAC;QACD,OAAO,GAA8B,CAAC;IAC1C,CAAC;IAED,GAAG;QACC,IAAI,IAAI,CAAC,OAAO,EAAE,EAAE,CAAC;YACjB,MAAM,IAAI,oBAAoB,CAC1B,0DAA0D,CAC7D,CAAC;QACN,CAAC;QACD,IAAI,GAAG,GAAG,CAAC,CAAC;QACZ,KAAK,MAAM,IAAI,IAAI,IAAI,CAAC,KAAK,EAAE,CAAC;YAC5B,IAAI,OAAO,IAAI,KAAK,QAAQ,EAAE,CAAC;gBAC3B,MAAM,IAAI,mBAAmB,CACzB,qCAAqC,CACxC,CAAC;YACN,CAAC;YACD,IAAI,GAAG,KAAK,CAAC,EAAE,CAAC;gBACZ,GAAG,GAAG,IAAI,CAAC;YACf,CAAC;iBAAM,IAAI,GAAG,GAAG,IAAI,EAAE,CAAC;gBACpB,GAAG,GAAG,IAAI,CAAC;YACf,CAAC;QACL,CAAC;QACD,OAAO,GAA8B,CAAC;IAC1C,CAAC;IAED,UAAU,CACN,WAA4D;QAE5D,IAAI,IAAI,CAAC,OAAO,EAAE,EAAE,CAAC;YACjB,MAAM,IAAI,oBAAoB,CAC1B,0DAA0D,CAC7D,CAAC;QACN,CAAC;QACD,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,WAAW,CAAC,GAAG,IAAI,CAAC,IAAI,EAAE,CAAC,GAAG,GAAG,CAAC;IACzD,CAAC;IAED,IAAI,CACA,WAAqE;QAErE,OAAO,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,KAAK,EAAE,EAAE,CACnC,gBAAgB,CAAC,WAAW,CAAC,CAAC,IAAI,EAAE,KAAK,EAAE,IAAI,CAAC,CACnD,CAAC;IACN,CAAC;IAED,KAAK,CACD,WAAqE;QAErE,OAAO,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,IAAI,EAAE,KAAK,EAAE,EAAE,CACpC,gBAAgB,CAAC,WAAW,CAAC,CAAC,IAAI,EAAE,KAAK,EAAE,IAAI,CAAC,CACnD,CAAC;IACN,CAAC;IAED,IAAI,CAAC,KAAa;QACd,OAAO,IAAI,cAAc,CAAC,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC,CAAC;IAC1D,CAAC;IAED,SAAS,CACL,WAA4D;QAE5D,MAAM,KAAK,GAAa,EAAE,CAAC;QAC3B,KAAK,MAAM,CAAC,KAAK,EAAE,IAAI,CAAC,IAAI,IAAI,CAAC,KAAK,CAAC,OAAO,EAAE,EAAE,CAAC;YAC/C,IAAI,gBAAgB,CAAC,WAAW,CAAC,CAAC,IAAI,EAAE,KAAK,EAAE,IAAI,CAAC,EAAE,CAAC;gBACnD,MAAM;YACV,CAAC;YACD,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACrB,CAAC;QACD,OAAO,IAAI,cAAc,CAAC,KAAK,CAAC,CAAC;IACrC,CAAC;IAED,SAAS,CACL,WAA4D;QAE5D,OAAO,IAAI,CAAC,SAAS,CACjB,CAAC,GAAG,UAAU,EAAE,EAAE,CAAC,CAAC,gBAAgB,CAAC,WAAW,CAAC,CAAC,GAAG,UAAU,CAAC,CACnE,CAAC;IACN,CAAC;IAED,IAAI,CAAC,MAAc;QACf,OAAO,IAAI,cAAc,CAAC,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC;IACxD,CAAC;IAED,SAAS,CACL,WAA4D;QAE5D,IAAI,UAAU,GAAG,KAAK,CAAC;QACvB,MAAM,KAAK,GAAa,EAAE,CAAC;QAC3B,KAAK,MAAM,CAAC,KAAK,EAAE,IAAI,CAAC,IAAI,IAAI,CAAC,KAAK,CAAC,OAAO,EAAE,EAAE,CAAC;YAC/C,IAAI,CAAC,UAAU,EAAE,CAAC;gBACd,UAAU,GAAG,gBAAgB,CAAC,WAAW,CAAC,CAAC,IAAI,EAAE,KAAK,EAAE,IAAI,CAAC,CAAC;YAClE,CAAC;YACD,IAAI,UAAU,EAAE,CAAC;gBACb,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YACrB,CAAC;QACL,CAAC;QACD,OAAO,IAAI,cAAc,CAAC,KAAK,CAAC,CAAC;IACrC,CAAC;IAED,SAAS,CACL,WAA4D;QAE5D,OAAO,IAAI,CAAC,SAAS,CACjB,CAAC,GAAG,UAAU,EAAE,EAAE,CAAC,CAAC,gBAAgB,CAAC,WAAW,CAAC,CAAC,GAAG,UAAU,CAAC,CACnE,CAAC;IACN,CAAC;IAED,IAAI,CACA,SAAkB,EAClB,QAA+D;QAE/D,IAAI,SAAS,EAAE,CAAC;YACZ,OAAO,gBAAgB,CAAC,QAAQ,CAAC,CAAC,IAAI,CAErC,CAAC;QACN,CAAC;QACD,OAAO,IAAuC,CAAC;IACnD,CAAC;IAED,SAAS,CACL,QAA+D;QAE/D,OAAO,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,EAAE,QAAQ,CAAC,CAAC;IAC/C,CAAC;IAED,OAAO,CACH,SAAkB,EAClB,QAA+D;QAE/D,OAAO,IAAI,CAAC,IAAI,CAAC,CAAC,SAAS,EAAE,QAAQ,CAAC,CAAC;IAC3C,CAAC;IAED,YAAY,CACR,QAA+D;QAE/D,OAAO,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE,EAAE,QAAQ,CAAC,CAAC;IAClD,CAAC;IAED,IAAI,CACA,QAAiD;QAEjD,OAAO,gBAAgB,CAAC,QAAQ,CAAC,CAAC,IAAI,CAAC,CAAC;IAC5C,CAAC;IAED,GAAG,CAAC,QAAkC;QAClC,gBAAgB,CAAC,QAAQ,CAAC,CAAC,IAAI,cAAc,CAAC,IAAI,CAAC,CAAC,CAAC;QACrD,OAAO,IAAI,CAAC;IAChB,CAAC;IAED,KAAK,CAAC,SAAiB;QACnB,MAAM,MAAM,GAA0B,EAAE,CAAC;QACzC,KAAK,IAAI,KAAK,GAAG,CAAC,EAAE,KAAK,GAAG,IAAI,CAAC,IAAI,EAAE,EAAE,KAAK,IAAI,SAAS,EAAE,CAAC;YAC1D,MAAM,CAAC,IAAI,CACP,IAAI,cAAc,CAAC,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,KAAK,EAAE,KAAK,GAAG,SAAS,CAAC,CAAC,CACjE,CAAC;QACN,CAAC;QACD,OAAO,IAAI,cAAc,CAAC,MAAM,CAAC,CAAC;IACtC,CAAC;IAED,UAAU,CACN,WAA4D;QAE5D,IAAI,YAAY,GAAwB,IAAI,cAAc,CAAS,EAAE,CAAC,CAAC;QACvE,MAAM,MAAM,GAA0B,EAAE,CAAC;QACzC,KAAK,MAAM,CAAC,KAAK,EAAE,IAAI,CAAC,IAAI,IAAI,CAAC,KAAK,CAAC,OAAO,EAAE,EAAE,CAAC;YAC/C,IAAI,KAAK,KAAK,CAAC,EAAE,CAAC;gBACd,YAAY,GAAG,YAAY,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC;YAC/C,CAAC;iBAAM,IACH,gBAAgB,CAAC,WAAW,CAAC,CAAC,IAAI,EAAE,KAAK,EAAE,YAAY,CAAC,EAC1D,CAAC;gBACC,YAAY,GAAG,YAAY,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC;YAC/C,CAAC;iBAAM,CAAC;gBACJ,MAAM,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;gBAC1B,YAAY,GAAG,IAAI,cAAc,CAAS,CAAC,IAAI,CAAC,CAAC,CAAC;YACtD,CAAC;QACL,CAAC;QACD,MAAM,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;QAC1B,OAAO,IAAI,cAAc,CAAC,MAAM,CAAC,CAAC;IACtC,CAAC;IAED,KAAK,CAAC,WAAmB;QACrB,MAAM,IAAI,GAAG,IAAI,CAAC,IAAI,EAAE,EACpB,YAAY,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,GAAG,WAAW,CAAC,EAC7C,QAAQ,GAAG,IAAI,GAAG,WAAW,EAC7B,UAAU,GAAG,KAAK,CAAC,IAAI,CAAS;YAC5B,MAAM,EAAE,WAAW;SACtB,CAAC,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;QAE1B,KAAK,IAAI,KAAK,GAAG,CAAC,EAAE,KAAK,IAAI,QAAQ,EAAE,KAAK,EAAE,EAAE,CAAC;YAC7C,MAAM,UAAU,GAAG,CAAC,KAAK,GAAG,CAAC,CAAC,GAAG,WAAW,CAAC;YAC7C,IAAI,UAAU,CAAC,UAAU,CAAC,EAAE,CAAC;gBACzB,UAAU,CAAC,UAAU,CAAC,GAAG,UAAU,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC;YACxD,CAAC;QACL,CAAC;QAED,IAAI,GAAG,GAAG,CAAC,EACP,KAAK,GAAG,CAAC,CAAC;QACd,MAAM,MAAM,GAA0B,EAAE,CAAC;QACzC,KAAK,MAAM,SAAS,IAAI,UAAU,EAAE,CAAC;YACjC,GAAG,IAAI,SAAS,CAAC;YACjB,MAAM,CAAC,IAAI,CAAC,IAAI,cAAc,CAAC,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC,CAAC,CAAC;YAC9D,KAAK,IAAI,SAAS,CAAC;QACvB,CAAC;QAED,OAAO,IAAI,cAAc,CAAsB,MAAM,CAAC,CAAC;IAC3D,CAAC;IAED,SAAS,CACL,WAA4D;QAE5D,MAAM,MAAM,GAAa,EAAE,EACvB,MAAM,GAAa,EAAE,CAAC;QAC1B,KAAK,MAAM,CAAC,KAAK,EAAE,IAAI,CAAC,IAAI,IAAI,CAAC,KAAK,CAAC,OAAO,EAAE,EAAE,CAAC;YAC/C,IAAI,gBAAgB,CAAC,WAAW,CAAC,CAAC,IAAI,EAAE,KAAK,EAAE,IAAI,CAAC,EAAE,CAAC;gBACnD,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YACtB,CAAC;iBAAM,CAAC;gBACJ,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YACtB,CAAC;QACL,CAAC;QACD,OAAO,IAAI,cAAc,CAAsB;YAC3C,IAAI,cAAc,CAAC,MAAM,CAAC;YAC1B,IAAI,cAAc,CAAC,MAAM,CAAC;SAC7B,CAAC,CAAC;IACP,CAAC;IAED,OAAO,CACH,SAAiB,EACjB,IAAI,GAAG,SAAS,GAAG,CAAC;QAEpB,IAAI,MAAM,GAAqC,IAAI,cAAc,CAE/D,EAAE,CAAC,CAAC;QACN,IAAI,IAAI,IAAI,CAAC,EAAE,CAAC;YACZ,OAAO,IAAI,cAAc,CAAsB,EAAE,CAAC,CAAC;QACvD,CAAC;QACD,KAAK,IAAI,KAAK,GAAG,CAAC,EAAE,KAAK,GAAG,IAAI,CAAC,IAAI,EAAE,EAAE,KAAK,IAAI,IAAI,EAAE,CAAC;YACrD,MAAM,KAAK,GAAG,KAAK,CAAC;YACpB,MAAM,GAAG,GAAG,KAAK,GAAG,SAAS,CAAC;YAC9B,MAAM,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC,CAAC,CAAC;YACjD,IAAI,GAAG,IAAI,IAAI,CAAC,IAAI,EAAE,EAAE,CAAC;gBACrB,MAAM;YACV,CAAC;QACL,CAAC;QACD,OAAO,MAAM,CAAC;IAClB,CAAC;IAED,OAAO,CACH,WAAsD,CAAC,IAAI,EAAE,EAAE,CAC3D,IAA0B;QAE9B,MAAM,GAAG,GAAG,IAAI,GAAG,EAAgC,CAAC;QACpD,KAAK,MAAM,CAAC,KAAK,EAAE,IAAI,CAAC,IAAI,IAAI,CAAC,KAAK,CAAC,OAAO,EAAE,EAAE,CAAC;YAC/C,MAAM,GAAG,GAAG,gBAAgB,CAAC,QAAQ,CAAC,CAAC,IAAI,EAAE,KAAK,EAAE,IAAI,CAAC,CAAC;YAC1D,IAAI,UAAU,GAAoC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;YAC/D,IAAI,UAAU,KAAK,SAAS,EAAE,CAAC;gBAC3B,UAAU,GAAG,IAAI,cAAc,CAAS,EAAE,CAAC,CAAC;gBAC5C,GAAG,CAAC,GAAG,CAAC,GAAG,EAAE,UAAU,CAAC,CAAC;YAC7B,CAAC;YAED,GAAG,CAAC,GAAG,CAAC,GAAG,EAAE,UAAU,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QAC5C,CAAC;QACD,OAAO,IAAI,cAAc;QACrB,qGAAqG;QACrG,GAAU,CACb,CAAC;IACN,CAAC;IAED,OAAO,CACH,WAAsD,CAAC,IAAI,EAAE,EAAE,CAC3D,IAA0B;QAE9B,MAAM,GAAG,GAAG,IAAI,GAAG,EAAmB,CAAC;QACvC,KAAK,MAAM,CAAC,KAAK,EAAE,IAAI,CAAC,IAAI,IAAI,CAAC,KAAK,CAAC,OAAO,EAAE,EAAE,CAAC;YAC/C,MAAM,GAAG,GAAG,gBAAgB,CAAC,QAAQ,CAAC,CAAC,IAAI,EAAE,KAAK,EAAE,IAAI,CAAC,CAAC;YAC1D,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC;gBAChB,GAAG,CAAC,GAAG,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC;YACpB,CAAC;YACD,MAAM,OAAO,GAAG,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;YAC7B,IAAI,OAAO,KAAK,SAAS,EAAE,CAAC;gBACxB,GAAG,CAAC,GAAG,CAAC,GAAG,EAAE,OAAO,GAAG,CAAC,CAAC,CAAC;YAC9B,CAAC;QACL,CAAC;QACD,OAAO,IAAI,cAAc,CAAC,GAAG,CAAC,CAAC;IACnC,CAAC;IAED,MAAM,CACF,WAAsD,CAAC,IAAI,EAAE,EAAE,CAC3D,IAA0B;QAE9B,MAAM,GAAG,GAAG,IAAI,GAAG,CAAU,EAAE,CAAC,EAC5B,KAAK,GAAa,EAAE,CAAC;QACzB,KAAK,MAAM,CAAC,KAAK,EAAE,IAAI,CAAC,IAAI,IAAI,CAAC,KAAK,CAAC,OAAO,EAAE,EAAE,CAAC;YAC/C,MAAM,KAAK,GAAG,gBAAgB,CAAC,QAAQ,CAAC,CAAC,IAAI,EAAE,KAAK,EAAE,IAAI,CAAC,CAAC;YAC5D,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,CAAC;gBAClB,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YACrB,CAAC;YACD,GAAG,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;QACnB,CAAC;QACD,OAAO,IAAI,cAAc,CAAC,KAAK,CAAC,CAAC;IACrC,CAAC;IAED,UAAU,CACN,QAA0B,EAC1B,WAAsD,CAAC,IAAI,EAAE,EAAE,CAC3D,IAA0B;QAE9B,MAAM,oBAAoB,GAAG,IAAI,cAAc,CAAC,QAAQ,CAAC,CAAC;QAC1D,OAAO,IAAI,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE,KAAK,EAAE,UAAU,EAAE,EAAE;YAC3C,OAAO,CAAC,oBAAoB,CAAC,IAAI,CAC7B,CAAC,SAAS,EAAE,UAAU,EAAE,eAAe,EAAE,EAAE;gBACvC,OAAO,CACH,gBAAgB,CAAC,QAAQ,CAAC,CAAC,IAAI,EAAE,KAAK,EAAE,UAAU,CAAC;oBACnD,gBAAgB,CAAC,QAAQ,CAAC,CACtB,SAAS,EACT,UAAU,EACV,eAAe,CAClB,CACJ,CAAC;YACN,CAAC,CACJ,CAAC;QACN,CAAC,CAAC,CAAC;IACP,CAAC;IAED,MAAM,CAAC,MAAc;QACjB,IAAI,UAAU,GAAwB,IAAI,cAAc,CAAS,EAAE,CAAC,CAAC;QACrE,KAAK,IAAI,KAAK,GAAG,CAAC,EAAE,KAAK,GAAG,MAAM,EAAE,KAAK,EAAE,EAAE,CAAC;YAC1C,UAAU,GAAG,UAAU,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;QACzC,CAAC;QACD,OAAO,UAAU,CAAC;IACtB,CAAC;IAED,QAAQ,CACJ,SAAiB,EACjB,SAA8B;QAE9B,MAAM,cAAc,GAAG,CAAC,GAAG,SAAS,CAAC,CAAC;QACtC,MAAM,IAAI,GAAG,IAAI,CAAC,IAAI,EAAE,CAAC;QACzB,MAAM,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,SAAS,GAAG,IAAI,CAAC,GAAG,cAAc,CAAC,MAAM,CAAC,CAAC;QACtE,MAAM,gBAAgB,GAA8B,EAAE,CAAC;QACvD,KAAK,IAAI,KAAK,GAAG,CAAC,EAAE,KAAK,GAAG,MAAM,EAAE,KAAK,EAAE,EAAE,CAAC;YAC1C,gBAAgB,CAAC,IAAI,CAAC,GAAG,cAAc,CAAC,CAAC;QAC7C,CAAC;QACD,MAAM,UAAU,GAAG,SAAS,GAAG,CAAC,MAAM,GAAG,cAAc,CAAC,MAAM,GAAG,IAAI,CAAC,CAAC;QACvE,KAAK,IAAI,KAAK,GAAG,CAAC,EAAE,KAAK,GAAG,UAAU,EAAE,KAAK,EAAE,EAAE,CAAC;YAC9C,MAAM,QAAQ,GAAG,cAAc,CAAC,KAAK,CAAC,CAAC;YACvC,IAAI,QAAQ,EAAE,CAAC;gBACX,gBAAgB,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;YACpC,CAAC;QACL,CAAC;QACD,gBAAgB,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC,CAAC;QAC/B,OAAO,IAAI,cAAc,CAAqB,gBAAgB,CAAC,CAAC;IACpE,CAAC;IAED,MAAM,CACF,SAAiB,EACjB,SAA8B;QAE9B,MAAM,cAAc,GAAG,CAAC,GAAG,SAAS,CAAC,CAAC;QACtC,MAAM,IAAI,GAAG,IAAI,CAAC,IAAI,EAAE,CAAC;QACzB,MAAM,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,SAAS,GAAG,IAAI,CAAC,GAAG,cAAc,CAAC,MAAM,CAAC,CAAC;QACtE,MAAM,gBAAgB,GAA8B,EAAE,CAAC;QACvD,KAAK,IAAI,KAAK,GAAG,CAAC,EAAE,KAAK,GAAG,MAAM,EAAE,KAAK,EAAE,EAAE,CAAC;YAC1C,gBAAgB,CAAC,IAAI,CAAC,GAAG,cAAc,CAAC,CAAC;QAC7C,CAAC;QACD,MAAM,UAAU,GAAG,SAAS,GAAG,CAAC,MAAM,GAAG,cAAc,CAAC,MAAM,GAAG,IAAI,CAAC,CAAC;QACvE,KAAK,IAAI,KAAK,GAAG,CAAC,EAAE,KAAK,GAAG,UAAU,EAAE,KAAK,EAAE,EAAE,CAAC;YAC9C,MAAM,QAAQ,GAAG,cAAc,CAAC,KAAK,CAAC,CAAC;YACvC,IAAI,QAAQ,EAAE,CAAC;gBACX,gBAAgB,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;YACpC,CAAC;QACL,CAAC;QACD,gBAAgB,CAAC,OAAO,CAAC,GAAG,IAAI,CAAC,CAAC;QAClC,OAAO,IAAI,cAAc,CAAqB,gBAAgB,CAAC,CAAC;IACpE,CAAC;IAED,KAAK,CAAC,KAAc,EAAE,GAAY;QAC9B,OAAO,IAAI,cAAc,CAAC,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC,CAAC;IAC5D,CAAC;IAED,OAAO,CACH,QAAsC;QAEtC,OAAO,IAAI,cAAc,CAAC,CAAC,GAAG,QAAQ,EAAE,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC;IAC5D,CAAC;IAED,MAAM,CACF,QAAsC;QAEtC,OAAO,IAAI,cAAc,CAAC,CAAC,GAAG,IAAI,CAAC,KAAK,EAAE,GAAG,QAAQ,CAAC,CAAC,CAAC;IAC5D,CAAC;IAED,YAAY,CACR,WAA4D,EAC5D,QAAsC;QAEtC,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC,IAAI,EAAE,KAAK,EAAE,EAAE,CAC/C,gBAAgB,CAAC,WAAW,CAAC,CAAC,IAAI,EAAE,KAAK,EAAE,IAAI,CAAC,CACnD,CAAC;QACF,IAAI,KAAK,KAAK,CAAC,CAAC,EAAE,CAAC;YACf,OAAO,IAAI,cAAc,CAAqB,IAAI,CAAC,KAAK,CAAC,CAAC;QAC9D,CAAC;QACD,MAAM,QAAQ,GAAG,CAAC,GAAG,IAAI,CAAC,KAAK,CAA8B,CAAC;QAC9D,QAAQ,CAAC,MAAM,CAAC,KAAK,EAAE,CAAC,EAAE,GAAG,QAAQ,CAAC,CAAC;QACvC,OAAO,IAAI,cAAc,CAAC,QAAQ,CAAC,CAAC;IACxC,CAAC;IAED,WAAW,CACP,WAA4D,EAC5D,QAAsC;QAEtC,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC,IAAI,EAAE,KAAK,EAAE,EAAE,CAC/C,gBAAgB,CAAC,WAAW,CAAC,CAAC,IAAI,EAAE,KAAK,EAAE,IAAI,CAAC,CACnD,CAAC;QACF,IAAI,KAAK,KAAK,CAAC,CAAC,EAAE,CAAC;YACf,OAAO,IAAI,cAAc,CAAC,IAAI,CAAC,KAAK,CAEnC,CAAC;QACN,CAAC;QACD,MAAM,SAAS,GAAG,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,EAAE,KAAK,GAAG,CAAC,CAAC,EAC5C,QAAQ,GAAG,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,KAAK,GAAG,CAAC,CAAC,CAAC;QAC3C,OAAO,IAAI,cAAc,CAAC;YACtB,GAAG,SAAS;YACZ,GAAG,QAAQ;YACX,GAAG,QAAQ;SACd,CAAoC,CAAC;IAC1C,CAAC;IAED,SAAS,CACL,QAA6B;QAE7B,MAAM,KAAK,GAAqC,EAAE,CAAC;QACnD,KAAK,MAAM,KAAK,IAAI,IAAI,EAAE,CAAC;YACvB,KAAK,MAAM,KAAK,IAAI,QAAQ,EAAE,CAAC;gBAC3B,KAAK,CAAC,IAAI,CAAC;oBACP,GAAG,CAAC,UAAU,CAAqB,KAAK,CAAC;wBACrC,CAAC,CAAC,KAAK;wBACP,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC;oBACd,GAAG,CAAC,UAAU,CAAqB,KAAK,CAAC;wBACrC,CAAC,CAAC,KAAK;wBACP,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC;iBACjB,CAAC,CAAC;YACP,CAAC;QACL,CAAC;QAED,OAAO,IAAI,cAAc,CACrB,KAAkD,CACrD,CAAC;IACN,CAAC;IAED,GAAG,CACC,QAA6B;QAE7B,MAAM,aAAa,GAAG,CAAC,GAAG,QAAQ,CAAC,CAAC;QACpC,IAAI,IAAI,GAAG,aAAa,CAAC,MAAM,CAAC;QAChC,IAAI,IAAI,GAAG,IAAI,CAAC,IAAI,EAAE,EAAE,CAAC;YACrB,IAAI,GAAG,IAAI,CAAC,IAAI,EAAE,CAAC;QACvB,CAAC;QACD,MAAM,KAAK,GAA+B,EAAE,CAAC;QAC7C,KAAK,IAAI,KAAK,GAAG,CAAC,EAAE,KAAK,GAAG,IAAI,EAAE,KAAK,EAAE,EAAE,CAAC;YACxC,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,EAC3B,KAAK,GAAG,aAAa,CAAC,KAAK,CAAC,CAAC;YACjC,IAAI,KAAK,KAAK,SAAS,IAAI,KAAK,KAAK,SAAS,EAAE,CAAC;gBAC7C,SAAS;YACb,CAAC;YACD,KAAK,CAAC,IAAI,CAAC,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC,CAAC;QAC/B,CAAC;QACD,OAAO,IAAI,cAAc,CAAC,KAAK,CAAC,CAAC;IACrC,CAAC;IAED,IAAI,CAAC,UAA+B;QAChC,IAAI,UAAU,KAAK,SAAS,EAAE,CAAC;YAC3B,OAAO,IAAI,cAAc,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,EAAE,CAAC,CAAC;QACjD,CAAC;QACD,OAAO,IAAI,cAAc,CACrB,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,gBAAgB,CAAC,UAAU,CAAC,CAAC,CAChD,CAAC;IACN,CAAC;IAED,OAAO,CAAC,UAAmB;QACvB,OAAO,IAAI,cAAc,CAAC,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,OAAO,EAAE,CAAC,CAAC;IACzD,CAAC;IAED,OAAO,CAAC,UAAU,GAAG,IAAI,CAAC,MAAM;QAC5B,MAAM,QAAQ,GAAG,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC;QACjC,KAAK,IAAI,CAAC,GAAG,QAAQ,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC;YAC3C,MAAM,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,UAAU,EAAE,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;YAC7C,MAAM,IAAI,GAAG,QAAQ,CAAC,CAAC,CAAC,CAAC;YACzB,IAAI,QAAQ,CAAC,CAAC,CAAC,KAAK,SAAS,EAAE,CAAC;gBAC5B,QAAQ,CAAC,CAAC,CAAC,GAAG,QAAQ,CAAC,CAAC,CAAC,CAAC;YAC9B,CAAC;YACD,IAAI,IAAI,KAAK,SAAS,EAAE,CAAC;gBACrB,QAAQ,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC;YACvB,CAAC;QACL,CAAC;QACD,OAAO,IAAI,cAAc,CAAC,QAAQ,CAAC,CAAC;IACxC,CAAC;IAED,KAAK,CACD,WAAsE;QAEtE,OAAO,IAAI,CAAC,OAAO,CAAC,IAAI,EAAE,WAAW,CAAC,CAAC;IAC3C,CAAC;IAED,OAAO,CACH,YAAiC,EACjC,WAAsE;QAEtE,IAAI,WAAW,EAAE,CAAC;YACd,KAAK,MAAM,CAAC,KAAK,EAAE,IAAI,CAAC,IAAI,IAAI,CAAC,KAAK,CAAC,OAAO,EAAE,EAAE,CAAC;gBAC/C,IAAI,gBAAgB,CAAC,WAAW,CAAC,CAAC,IAAI,EAAE,KAAK,EAAE,IAAI,CAAC,EAAE,CAAC;oBACnD,OAAO,IAAe,CAAC;gBAC3B,CAAC;YACL,CAAC;QACL,CAAC;aAAM,CAAC;YACJ,MAAM,SAAS,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;YAChC,IAAI,SAAS,EAAE,CAAC;gBACZ,OAAO,SAAoB,CAAC;YAChC,CAAC;QACL,CAAC;QACD,OAAO,eAAe,CAAC,YAAY,CAAC,CAAC;IACzC,CAAC;IAED,WAAW,CACP,WAAsE;QAEtE,MAAM,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,WAAW,CAAC,CAAC;QACrC,IAAI,IAAI,KAAK,IAAI,EAAE,CAAC;YAChB,MAAM,IAAI,2BAA2B,CAAC,oBAAoB,CAAC,CAAC;QAChE,CAAC;QACD,OAAO,IAAI,CAAC;IAChB,CAAC;IAED,IAAI,CACA,WAAsE;QAEtE,OAAO,IAAI,CAAC,MAAM,CAAC,IAAI,EAAE,WAAW,CAAC,CAAC;IAC1C,CAAC;IAED,MAAM,CACF,YAAiC,EACjC,WAAsE;QAEtE,IAAI,WAAW,EAAE,CAAC;YACd,IAAI,WAAW,GAAmB,IAAI,CAAC;YACvC,KAAK,MAAM,CAAC,KAAK,EAAE,IAAI,CAAC,IAAI,IAAI,CAAC,KAAK,CAAC,OAAO,EAAE,EAAE,CAAC;gBAC/C,IAAI,gBAAgB,CAAC,WAAW,CAAC,CAAC,IAAI,EAAE,KAAK,EAAE,IAAI,CAAC,EAAE,CAAC;oBACnD,WAAW,GAAG,IAAe,CAAC;gBAClC,CAAC;YACL,CAAC;YACD,IAAI,WAAW,EAAE,CAAC;gBACd,OAAO,WAAW,CAAC;YACvB,CAAC;QACL,CAAC;aAAM,CAAC;YACJ,MAAM,QAAQ,GAAG,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC;YACnC,IAAI,QAAQ,EAAE,CAAC;gBACX,OAAO,QAAmB,CAAC;YAC/B,CAAC;QACL,CAAC;QACD,OAAO,eAAe,CAAC,YAAY,CAAC,CAAC;IACzC,CAAC;IAED,UAAU,CACN,WAAsE;QAEtE,MAAM,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;QACpC,IAAI,IAAI,KAAK,IAAI,EAAE,CAAC;YAChB,MAAM,IAAI,2BAA2B,CAAC,oBAAoB,CAAC,CAAC;QAChE,CAAC;QACD,OAAO,IAAI,CAAC;IAChB,CAAC;IAED,MAAM,CACF,WAA4D;QAE5D,OAAO,IAAI,CAAC,QAAQ,CAAC,IAAI,EAAE,WAAW,CAAC,CAAC;IAC5C,CAAC;IAED,QAAQ,CACJ,YAAiC,EACjC,WAA4D;QAE5D,KAAK,MAAM,CAAC,KAAK,EAAE,IAAI,CAAC,IAAI,IAAI,CAAC,KAAK,CAAC,OAAO,EAAE,EAAE,CAAC;YAC/C,MAAM,UAAU,GAAG,IAAI,CAAC,KAAK,CAAC,KAAK,GAAG,CAAC,CAAC,CAAC;YACzC,IACI,gBAAgB,CAAC,WAAW,CAAC,CAAC,IAAI,EAAE,KAAK,EAAE,IAAI,CAAC;gBAChD,UAAU,KAAK,SAAS,EAC1B,CAAC;gBACC,OAAO,UAAU,CAAC;YACtB,CAAC;QACL,CAAC;QACD,OAAO,eAAe,CAAC,YAAY,CAAC,CAAC;IACzC,CAAC;IAED,YAAY,CACR,WAA4D;QAE5D,MAAM,IAAI,GAAG,IAAI,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC;QACtC,IAAI,IAAI,KAAK,IAAI,EAAE,CAAC;YAChB,MAAM,IAAI,2BAA2B,CAAC,oBAAoB,CAAC,CAAC;QAChE,CAAC;QACD,OAAO,IAAI,CAAC;IAChB,CAAC;IAED,KAAK,CACD,WAA4D;QAE5D,OAAO,IAAI,CAAC,OAAO,CAAC,IAAI,EAAE,WAAW,CAAC,CAAC;IAC3C,CAAC;IAED,OAAO,CACH,YAAiC,EACjC,WAA4D;QAE5D,KAAK,MAAM,CAAC,KAAK,EAAE,IAAI,CAAC,IAAI,IAAI,CAAC,KAAK,CAAC,OAAO,EAAE,EAAE,CAAC;YAC/C,MAAM,UAAU,GAAG,IAAI,CAAC,KAAK,CAAC,KAAK,GAAG,CAAC,CAAC,CAAC;YACzC,IACI,gBAAgB,CAAC,WAAW,CAAC,CAAC,IAAI,EAAE,KAAK,EAAE,IAAI,CAAC;gBAChD,UAAU,KAAK,SAAS,EAC1B,CAAC;gBACC,OAAO,UAAU,CAAC;YACtB,CAAC;QACL,CAAC;QACD,OAAO,eAAe,CAAC,YAAY,CAAC,CAAC;IACzC,CAAC;IAED,WAAW,CACP,WAA4D;QAE5D,MAAM,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,WAAW,CAAC,CAAC;QACrC,IAAI,IAAI,KAAK,IAAI,EAAE,CAAC;YAChB,MAAM,IAAI,2BAA2B,CAAC,oBAAoB,CAAC,CAAC;QAChE,CAAC;QACD,OAAO,IAAI,CAAC;IAChB,CAAC;IAED,IAAI,CACA,WAAqE;QAErE,MAAM,YAAY,GAAa,EAAE,CAAC;QAClC,KAAK,MAAM,CAAC,KAAK,EAAE,IAAI,CAAC,IAAI,IAAI,CAAC,KAAK,CAAC,OAAO,EAAE,EAAE,CAAC;YAC/C,IAAI,gBAAgB,CAAC,WAAW,CAAC,CAAC,IAAI,EAAE,KAAK,EAAE,IAAI,CAAC,EAAE,CAAC;gBACnD,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YAC5B,CAAC;YACD,IAAI,YAAY,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBAC1B,MAAM,IAAI,iCAAiC,CACvC,2BAA2B,CAC9B,CAAC;YACN,CAAC;QACL,CAAC;QACD,MAAM,CAAC,WAAW,CAAC,GAAG,YAAY,CAAC;QACnC,IAAI,WAAW,KAAK,SAAS,EAAE,CAAC;YAC5B,MAAM,IAAI,2BAA2B,CAAC,oBAAoB,CAAC,CAAC;QAChE,CAAC;QACD,OAAO,WAAsB,CAAC;IAClC,CAAC;IAED,GAAG,CAAC,IAAY;QACZ,OAAO,IAAI,CAAC,MAAM,CAAC,CAAC,KAAK,EAAE,KAAK,EAAE,EAAE,CAAC,KAAK,GAAG,IAAI,KAAK,CAAC,CAAC,CAAC;IAC7D,CAAC;IAED,KAAK,CACD,WAA4D;QAE5D,OAAO,IAAI,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC,IAAI,EAAE,CAAC;IAC3C,CAAC;IAED,IAAI;QACA,OAAO,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC;IAC7B,CAAC;IAED,OAAO;QACH,OAAO,IAAI,CAAC,KAAK,CAAC,MAAM,KAAK,CAAC,CAAC;IACnC,CAAC;IAED,UAAU;QACN,OAAO,IAAI,CAAC,KAAK,CAAC,MAAM,KAAK,CAAC,CAAC;IACnC,CAAC;IAED,WAAW,CACP,WAA4D;QAE5D,OAAO,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC,IAAI,EAAE,KAAK,EAAE,EAAE,CACxC,gBAAgB,CAAC,WAAW,CAAC,CAAC,IAAI,EAAE,KAAK,EAAE,IAAI,CAAC,CACnD,CAAC;IACN,CAAC;IAED,UAAU,CACN,WAA4D;QAE5D,IAAI,YAAY,GAAG,CAAC,CAAC,CAAC;QACtB,KAAK,MAAM,CAAC,KAAK,EAAE,IAAI,CAAC,IAAI,IAAI,CAAC,KAAK,CAAC,OAAO,EAAE,EAAE,CAAC;YAC/C,IAAI,gBAAgB,CAAC,WAAW,CAAC,CAAC,IAAI,EAAE,KAAK,EAAE,IAAI,CAAC,EAAE,CAAC;gBACnD,YAAY,GAAG,KAAK,CAAC;YACzB,CAAC;QACL,CAAC;QACD,OAAO,YAAY,CAAC;IACxB,CAAC;IAED,OAAO,CAAC,QAA8C;QAClD,KAAK,MAAM,CAAC,KAAK,EAAE,IAAI,CAAC,IAAI,IAAI,CAAC,KAAK,CAAC,OAAO,EAAE,EAAE,CAAC;YAC/C,gBAAgB,CAAC,QAAQ,CAAC,CAAC,IAAI,EAAE,KAAK,EAAE,IAAI,CAAC,CAAC;QAClD,CAAC;IACL,CAAC;IAED,OAAO;QACH,OAAO,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC;IAC3B,CAAC;IAED,QAAQ;QACJ,MAAM,MAAM,GAA8C,EAAE,CAAC;QAC7D,KAAK,MAAM,IAAI,IAAI,IAAI,EAAE,CAAC;YACtB,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,CAAC;gBACvB,MAAM,IAAI,mBAAmB,CACzB,uGAAuG,CAC1G,CAAC;YACN,CAAC;YACD,IAAI,IAAI,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;gBACpB,MAAM,IAAI,mBAAmB,CACzB,uGAAuG,CAC1G,CAAC;YACN,CAAC;YACD,MAAM,CAAC,GAAG,EAAE,KAAK,CAAC,GAAG,IAAI,CAAC;YAC1B,IACI,CAAC,CACG,OAAO,GAAG,KAAK,QAAQ;gBACvB,OAAO,GAAG,KAAK,QAAQ;gBACvB,OAAO,GAAG,KAAK,QAAQ,CAC1B,EACH,CAAC;gBACC,MAAM,IAAI,mBAAmB,CACzB,uGAAuG,CAC1G,CAAC;YACN,CAAC;YACD,MAAM,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC;QACxB,CAAC;QACD,OAAO,MAA8B,CAAC;IAC1C,CAAC;IAED,KAAK;QACD,MAAM,GAAG,GAAG,IAAI,GAAG,EAAE,CAAC;QACtB,KAAK,MAAM,IAAI,IAAI,IAAI,EAAE,CAAC;YACtB,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,CAAC;gBACvB,MAAM,IAAI,mBAAmB,CACzB,gDAAgD,CACnD,CAAC;YACN,CAAC;YACD,IAAI,IAAI,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;gBACpB,MAAM,IAAI,mBAAmB,CACzB,gDAAgD,CACnD,CAAC;YACN,CAAC;YACD,MAAM,CAAC,GAAG,EAAE,KAAK,CAAC,GAAG,IAAI,CAAC;YAC1B,GAAG,CAAC,GAAG,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC;QACxB,CAAC;QACD,OAAO,GAAwB,CAAC;IACpC,CAAC;CACJ"}
1
+ {"version":3,"file":"list-collection.js","sourceRoot":"","sources":["../../../../src/collection/implementations/list-collection/list-collection.ts"],"names":[],"mappings":"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"}
@@ -8,12 +8,12 @@ import type { BaseEventMap, IEventBus } from "../../event-bus/contracts/event-bu
8
8
  * IMPORT_PATH: `"@daiso-tech/core/event-bus/contracts"`
9
9
  * @group Contracts
10
10
  */
11
- export type IEventBusFactory<TAdapters extends string = string> = {
11
+ export type IEventBusFactory<TAdapters extends string = string, TEventMap extends BaseEventMap = BaseEventMap> = {
12
12
  /**
13
13
  * The `use` method will throw an error if you provide it unregisted adapter.
14
14
  * If no default adapter is defined an error will be thrown by `use` method.
15
15
  * @throws {UnregisteredAdapterError} {@link UnregisteredAdapterError}
16
16
  * @throws {DefaultAdapterNotDefinedError} {@link DefaultAdapterNotDefinedError}
17
17
  */
18
- use<TEventMap extends BaseEventMap = BaseEventMap>(adapterName?: TAdapters): IEventBus<TEventMap>;
18
+ use(adapterName?: TAdapters): IEventBus<TEventMap>;
19
19
  };
@@ -6,12 +6,30 @@ import type { BaseEventMap, EventListener, Unsubscribe } from "../../../../event
6
6
  import { type IEventBus, type IEventBusAdapter } from "../../../../event-bus/contracts/_module-exports.js";
7
7
  import { Namespace } from "../../../../utilities/_module-exports.js";
8
8
  import { type Factory, type AsyncLazy } from "../../../../utilities/_module-exports.js";
9
+ import type { StandardSchemaV1 } from "@standard-schema/spec";
9
10
  /**
10
11
  *
11
12
  * IMPORT_PATH: `"@daiso-tech/core/event-bus"`
12
13
  * @group Derivables
13
14
  */
14
- export type EventBusSettingsBase = {
15
+ export type EventMapSchema<TEventMap extends BaseEventMap = BaseEventMap> = {
16
+ [TEventName in keyof TEventMap]: StandardSchemaV1<TEventMap[TEventName]>;
17
+ };
18
+ /**
19
+ *
20
+ * IMPORT_PATH: `"@daiso-tech/core/event-bus"`
21
+ * @group Derivables
22
+ */
23
+ export type EventBusSettingsBase<TEventMap extends BaseEventMap = BaseEventMap> = {
24
+ /**
25
+ * You can provide any [standard schema](https://standardschema.dev/) compliant object to validate all input and output data to ensure runtime type safety.
26
+ */
27
+ eventMapSchema?: EventMapSchema<TEventMap>;
28
+ /**
29
+ * You can enable validating events in listeners.
30
+ * @default {true}
31
+ */
32
+ shouldValidateOutput?: boolean;
15
33
  /**
16
34
  * @default
17
35
  * ```ts
@@ -37,8 +55,14 @@ export type EventBusSettingsBase = {
37
55
  * IMPORT_PATH: `"@daiso-tech/core/event-bus"`
38
56
  * @group Derivables
39
57
  */
40
- export type EventBusSettings = EventBusSettingsBase & {
58
+ export type EventBusSettings<TEventMap extends BaseEventMap = BaseEventMap> = EventBusSettingsBase<TEventMap> & {
41
59
  adapter: IEventBusAdapter;
60
+ } & {
61
+ /**
62
+ * Thist settings is only used for testing, dont use it in your code !
63
+ * @internal
64
+ */
65
+ __onUncaughtRejection?: (error: unknown) => void;
42
66
  };
43
67
  /**
44
68
  * `EventBus` class can be derived from any {@link IEventBusAdapter | `IEventBusAdapter`}.
@@ -47,10 +71,16 @@ export type EventBusSettings = EventBusSettingsBase & {
47
71
  * @group Derivables
48
72
  */
49
73
  export declare class EventBus<TEventMap extends BaseEventMap = BaseEventMap> implements IEventBus<TEventMap> {
74
+ private readonly shouldValidateOutput;
50
75
  private readonly store;
51
76
  private readonly adapter;
52
77
  private readonly lazyPromiseFactory;
53
- private namespace;
78
+ private readonly namespace;
79
+ private readonly eventMapSchema;
80
+ /**
81
+ * Thist instance variable is only used for testing!
82
+ */
83
+ private readonly __onUncaughtRejection?;
54
84
  /**
55
85
  * @example
56
86
  * ```ts
@@ -62,7 +92,7 @@ export declare class EventBus<TEventMap extends BaseEventMap = BaseEventMap> imp
62
92
  * });
63
93
  * ```
64
94
  */
65
- constructor(settings: EventBusSettings);
95
+ constructor(settings: EventBusSettings<TEventMap>);
66
96
  private createLazyPromise;
67
97
  addListener<TEventName extends keyof TEventMap>(eventName: TEventName, listener: EventListener<TEventMap[TEventName]>): LazyPromise<void>;
68
98
  removeListener<TEventName extends keyof TEventMap>(eventName: TEventName, listener: EventListener<TEventMap[TEventName]>): LazyPromise<void>;
@@ -3,7 +3,7 @@
3
3
  */
4
4
  import { LazyPromise } from "../../../../async/_module-exports.js";
5
5
  import { UnableToDispatchEventBusError, UnableToRemoveListenerEventBusError, UnableToAddListenerEventBusError, } from "../../../../event-bus/contracts/_module-exports.js";
6
- import { Namespace } from "../../../../utilities/_module-exports.js";
6
+ import { getInvokableName, Namespace, validate, } from "../../../../utilities/_module-exports.js";
7
7
  import {} from "../../../../utilities/_module-exports.js";
8
8
  import { resolveInvokable } from "../../../../utilities/_module-exports.js";
9
9
  import { ListenerStore } from "../../../../event-bus/implementations/derivables/event-bus/listener-store.js";
@@ -14,10 +14,16 @@ import { ListenerStore } from "../../../../event-bus/implementations/derivables/
14
14
  * @group Derivables
15
15
  */
16
16
  export class EventBus {
17
+ shouldValidateOutput;
17
18
  store = new ListenerStore();
18
19
  adapter;
19
20
  lazyPromiseFactory;
20
21
  namespace;
22
+ eventMapSchema;
23
+ /**
24
+ * Thist instance variable is only used for testing!
25
+ */
26
+ __onUncaughtRejection;
21
27
  /**
22
28
  * @example
23
29
  * ```ts
@@ -30,10 +36,13 @@ export class EventBus {
30
36
  * ```
31
37
  */
32
38
  constructor(settings) {
33
- const { namespace = new Namespace(["@", "event-bus"]), adapter, lazyPromiseFactory = (invokable) => new LazyPromise(invokable), } = settings;
39
+ const { __onUncaughtRejection, shouldValidateOutput = true, eventMapSchema, namespace = new Namespace(["@", "event-bus"]), adapter, lazyPromiseFactory = (invokable) => new LazyPromise(invokable), } = settings;
40
+ this.shouldValidateOutput = shouldValidateOutput;
41
+ this.eventMapSchema = eventMapSchema;
34
42
  this.lazyPromiseFactory = resolveInvokable(lazyPromiseFactory);
35
43
  this.adapter = adapter;
36
44
  this.namespace = namespace;
45
+ this.__onUncaughtRejection = __onUncaughtRejection;
37
46
  }
38
47
  createLazyPromise(asyncFn) {
39
48
  return this.lazyPromiseFactory(asyncFn);
@@ -41,13 +50,30 @@ export class EventBus {
41
50
  addListener(eventName, listener) {
42
51
  return this.createLazyPromise(async () => {
43
52
  const key = this.namespace._getInternal().create(String(eventName));
44
- const resolvedListener = this.store.getOrAdd([key.namespaced, listener], resolveInvokable(listener));
53
+ const resolvedListener = this.store.getOrAdd([key.namespaced, listener], async (event) => {
54
+ try {
55
+ if (this.shouldValidateOutput) {
56
+ await validate(this.eventMapSchema?.[eventName], event);
57
+ }
58
+ await resolveInvokable(listener)(event);
59
+ }
60
+ catch (error) {
61
+ if (this.__onUncaughtRejection !== undefined) {
62
+ this.__onUncaughtRejection(error);
63
+ }
64
+ else {
65
+ console.error(`An error of type "${String(error)}" occured in listener with name of "${getInvokableName(listener)}" for "${String(eventName)}" event`);
66
+ console.log("ERROR:", error);
67
+ throw error;
68
+ }
69
+ }
70
+ });
45
71
  try {
46
72
  await this.adapter.addListener(key.namespaced, resolvedListener);
47
73
  }
48
74
  catch (error) {
49
75
  this.store.getAndRemove([key.namespaced, listener]);
50
- throw new UnableToAddListenerEventBusError(`A listener with name of "${String(eventName)}" could not added for "${String(eventName)}" event`, error);
76
+ throw new UnableToAddListenerEventBusError(`A listener with name of "${getInvokableName(listener)}" could not added for "${String(eventName)}" event`, error);
51
77
  }
52
78
  });
53
79
  }
@@ -66,7 +92,7 @@ export class EventBus {
66
92
  }
67
93
  catch (error) {
68
94
  this.store.getOrAdd([key.namespaced, listener], resolvedListener);
69
- throw new UnableToRemoveListenerEventBusError(`A listener with name of "${String(eventName)}" could not removed of "${String(eventName)}" event`, error);
95
+ throw new UnableToRemoveListenerEventBusError(`A listener with name of "${getInvokableName(listener)}" could not removed of "${String(eventName)}" event`, error);
70
96
  }
71
97
  });
72
98
  }
@@ -74,9 +100,22 @@ export class EventBus {
74
100
  return this.createLazyPromise(async () => {
75
101
  const wrappedListener = async (event_) => {
76
102
  try {
103
+ if (this.shouldValidateOutput) {
104
+ await validate(this.eventMapSchema?.[eventName], event_);
105
+ }
77
106
  const resolvedListener = resolveInvokable(listener);
78
107
  await resolvedListener(event_);
79
108
  }
109
+ catch (error) {
110
+ if (this.__onUncaughtRejection !== undefined) {
111
+ this.__onUncaughtRejection(error);
112
+ }
113
+ else {
114
+ console.error(`An error of type "${String(error)}" occured in listener with name of "${getInvokableName(listener)}" for "${String(eventName)}" event`);
115
+ console.log("ERROR:", error);
116
+ throw error;
117
+ }
118
+ }
80
119
  finally {
81
120
  await this.removeListener(eventName, listener);
82
121
  }
@@ -88,7 +127,7 @@ export class EventBus {
88
127
  }
89
128
  catch (error) {
90
129
  this.store.getAndRemove([key.namespaced, listener]);
91
- throw new UnableToAddListenerEventBusError(`A listener with name of "${String(eventName)}" could not added for "${String(eventName)}" event`, error);
130
+ throw new UnableToAddListenerEventBusError(`A listener with name of "${getInvokableName(listener)}" could not added for "${String(eventName)}" event`, error);
92
131
  }
93
132
  });
94
133
  }
@@ -121,6 +160,7 @@ export class EventBus {
121
160
  }
122
161
  dispatch(eventName, event) {
123
162
  return this.createLazyPromise(async () => {
163
+ await validate(this.eventMapSchema?.[eventName], event);
124
164
  try {
125
165
  await this.adapter.dispatch(this.namespace._getInternal().create(String(eventName))
126
166
  .namespaced, event);
@@ -1 +1 @@
1
- {"version":3,"file":"event-bus.js","sourceRoot":"","sources":["../../../../../src/event-bus/implementations/derivables/event-bus/event-bus.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"event-bus.js","sourceRoot":"","sources":["../../../../../src/event-bus/implementations/derivables/event-bus/event-bus.ts"],"names":[],"mappings":"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"}
@@ -3,7 +3,7 @@
3
3
  */
4
4
  import type { LazyPromise } from "../../../../async/_module-exports.js";
5
5
  import { type IEventBus, type IEventBusFactory, type BaseEventMap, type IEventBusAdapter } from "../../../../event-bus/contracts/_module-exports.js";
6
- import { type EventBusSettingsBase } from "../../../../event-bus/implementations/derivables/event-bus/_module.js";
6
+ import { type EventBusSettingsBase, type EventMapSchema } from "../../../../event-bus/implementations/derivables/event-bus/_module.js";
7
7
  import type { AsyncLazy, Factory, Namespace } from "../../../../utilities/_module-exports.js";
8
8
  /**
9
9
  *
@@ -16,7 +16,7 @@ export type EventBusAdapters<TAdapters extends string = string> = Partial<Record
16
16
  * IMPORT_PATH: `"@daiso-tech/core/event-bus"`
17
17
  * @group Derivables
18
18
  */
19
- export type EventBusFactorySettings<TAdapters extends string = string> = EventBusSettingsBase & {
19
+ export type EventBusFactorySettings<TAdapters extends string = string, TEventMap extends BaseEventMap = BaseEventMap> = EventBusSettingsBase<TEventMap> & {
20
20
  adapters: EventBusAdapters<TAdapters>;
21
21
  defaultAdapter?: NoInfer<TAdapters>;
22
22
  };
@@ -26,7 +26,7 @@ export type EventBusFactorySettings<TAdapters extends string = string> = EventBu
26
26
  * IMPORT_PATH: `"@daiso-tech/core/event-bus"`
27
27
  * @group Derivables
28
28
  */
29
- export declare class EventBusFactory<TAdapters extends string = string> implements IEventBusFactory<TAdapters> {
29
+ export declare class EventBusFactory<TAdapters extends string = string, TEventMap extends BaseEventMap = BaseEventMap> implements IEventBusFactory<TAdapters, TEventMap> {
30
30
  private readonly settings;
31
31
  /**
32
32
  * @example
@@ -56,9 +56,11 @@ export declare class EventBusFactory<TAdapters extends string = string> implemen
56
56
  * });
57
57
  * ```
58
58
  */
59
- constructor(settings: EventBusFactorySettings<TAdapters>);
60
- setNamespace(namespace: Namespace): EventBusFactory<TAdapters>;
61
- setLazyPromiseFactory(factory: Factory<AsyncLazy<any>, LazyPromise<any>>): EventBusFactory<TAdapters>;
59
+ constructor(settings: EventBusFactorySettings<TAdapters, TEventMap>);
60
+ setNamespace(namespace: Namespace): EventBusFactory<TAdapters, TEventMap>;
61
+ setLazyPromiseFactory(factory: Factory<AsyncLazy<any>, LazyPromise<any>>): EventBusFactory<TAdapters, TEventMap>;
62
+ setEventMapType<TEventMap extends BaseEventMap>(): EventBusFactory<TAdapters, TEventMap>;
63
+ setEventMapSchema<TEventMap extends BaseEventMap>(eventMapSchema: EventMapSchema<TEventMap>): EventBusFactory<TAdapters, TEventMap>;
62
64
  /**
63
65
  * @example
64
66
  * ```ts
@@ -102,5 +104,5 @@ export declare class EventBusFactory<TAdapters extends string = string> implemen
102
104
  * .dispatch("add", { a: 1, b: 2 });
103
105
  * ```
104
106
  */
105
- use<TEventMap extends BaseEventMap = BaseEventMap>(adapterName?: TAdapters | undefined): IEventBus<TEventMap>;
107
+ use(adapterName?: TAdapters | undefined): IEventBus<TEventMap>;
106
108
  }
@@ -55,6 +55,17 @@ export class EventBusFactory {
55
55
  lazyPromiseFactory: factory,
56
56
  });
57
57
  }
58
+ setEventMapType() {
59
+ return new EventBusFactory({
60
+ ...this.settings,
61
+ });
62
+ }
63
+ setEventMapSchema(eventMapSchema) {
64
+ return new EventBusFactory({
65
+ ...this.settings,
66
+ eventMapSchema,
67
+ });
68
+ }
58
69
  /**
59
70
  * @example
60
71
  * ```ts
@@ -1 +1 @@
1
- {"version":3,"file":"event-bus-factory.js","sourceRoot":"","sources":["../../../../../src/event-bus/implementations/derivables/event-bus-factory/event-bus-factory.ts"],"names":[],"mappings":"AAAA;;GAEG;AAGH,OAAO,EAKN,MAAM,0CAA0C,CAAC;AAClD,OAAO,EACH,QAAQ,GAEX,MAAM,6DAA6D,CAAC;AAMrE,OAAO,EACH,6BAA6B,EAC7B,wBAAwB,GAC3B,MAAM,gCAAgC,CAAC;AAuBxC;;;;;GAKG;AACH,MAAM,OAAO,eAAe;IAgCH;IA7BrB;;;;;;;;;;;;;;;;;;;;;;;;;;;OA2BG;IACH,YACqB,QAA4C;QAA5C,aAAQ,GAAR,QAAQ,CAAoC;IAC9D,CAAC;IAEJ,YAAY,CAAC,SAAoB;QAC7B,OAAO,IAAI,eAAe,CAAC;YACvB,GAAG,IAAI,CAAC,QAAQ;YAChB,SAAS;SACZ,CAAC,CAAC;IACP,CAAC;IAED,qBAAqB,CACjB,OAAkD;QAElD,OAAO,IAAI,eAAe,CAAC;YACvB,GAAG,IAAI,CAAC,QAAQ;YAChB,kBAAkB,EAAE,OAAO;SAC9B,CAAC,CAAC;IACP,CAAC;IAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;OA0CG;IACH,GAAG,CACC,cAAqC,IAAI,CAAC,QAAQ,CAAC,cAAc;QAEjE,IAAI,WAAW,KAAK,SAAS,EAAE,CAAC;YAC5B,MAAM,IAAI,6BAA6B,CAAC,eAAe,CAAC,IAAI,CAAC,CAAC;QAClE,CAAC;QACD,MAAM,OAAO,GAAG,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,WAAW,CAAC,CAAC;QACpD,IAAI,OAAO,KAAK,SAAS,EAAE,CAAC;YACxB,MAAM,IAAI,wBAAwB,CAAC,WAAW,CAAC,CAAC;QACpD,CAAC;QACD,OAAO,IAAI,QAAQ,CAAC;YAChB,OAAO;YACP,GAAG,IAAI,CAAC,QAAQ;SACnB,CAAC,CAAC;IACP,CAAC;CACJ"}
1
+ {"version":3,"file":"event-bus-factory.js","sourceRoot":"","sources":["../../../../../src/event-bus/implementations/derivables/event-bus-factory/event-bus-factory.ts"],"names":[],"mappings":"AAAA;;GAEG;AAGH,OAAO,EAKN,MAAM,0CAA0C,CAAC;AAClD,OAAO,EACH,QAAQ,GAGX,MAAM,6DAA6D,CAAC;AAMrE,OAAO,EACH,6BAA6B,EAC7B,wBAAwB,GAC3B,MAAM,gCAAgC,CAAC;AAyBxC;;;;;GAKG;AACH,MAAM,OAAO,eAAe;IAkCH;IA7BrB;;;;;;;;;;;;;;;;;;;;;;;;;;;OA2BG;IACH,YACqB,QAGhB;QAHgB,aAAQ,GAAR,QAAQ,CAGxB;IACF,CAAC;IAEJ,YAAY,CAAC,SAAoB;QAC7B,OAAO,IAAI,eAAe,CAAC;YACvB,GAAG,IAAI,CAAC,QAAQ;YAChB,SAAS;SACZ,CAAC,CAAC;IACP,CAAC;IAED,qBAAqB,CACjB,OAAkD;QAElD,OAAO,IAAI,eAAe,CAAC;YACvB,GAAG,IAAI,CAAC,QAAQ;YAChB,kBAAkB,EAAE,OAAO;SAC9B,CAAC,CAAC;IACP,CAAC;IAED,eAAe;QAIX,OAAO,IAAI,eAAe,CAAC;YACvB,GAAG,IAAI,CAAC,QAAQ;SAC8B,CAAC,CAAC;IACxD,CAAC;IAED,iBAAiB,CACb,cAAyC;QAEzC,OAAO,IAAI,eAAe,CAAC;YACvB,GAAG,IAAI,CAAC,QAAQ;YAChB,cAAc;SACjB,CAAC,CAAC;IACP,CAAC;IAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;OA0CG;IACH,GAAG,CACC,cAAqC,IAAI,CAAC,QAAQ,CAAC,cAAc;QAEjE,IAAI,WAAW,KAAK,SAAS,EAAE,CAAC;YAC5B,MAAM,IAAI,6BAA6B,CAAC,eAAe,CAAC,IAAI,CAAC,CAAC;QAClE,CAAC;QACD,MAAM,OAAO,GAAG,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,WAAW,CAAC,CAAC;QACpD,IAAI,OAAO,KAAK,SAAS,EAAE,CAAC;YACxB,MAAM,IAAI,wBAAwB,CAAC,WAAW,CAAC,CAAC;QACpD,CAAC;QACD,OAAO,IAAI,QAAQ,CAAC;YAChB,OAAO;YACP,GAAG,IAAI,CAAC,QAAQ;SACnB,CAAC,CAAC;IACP,CAAC;CACJ"}
@@ -1,6 +1,5 @@
1
- export * from "../../../lock/implementations/adapters/libsql-lock-adapter/_module.js";
1
+ export * from "../../../lock/implementations/adapters/kysely-lock-adapter/_module.js";
2
2
  export * from "../../../lock/implementations/adapters/memory-lock-adapter/_module.js";
3
3
  export * from "../../../lock/implementations/adapters/mongodb-lock-adapter/_module.js";
4
4
  export * from "../../../lock/implementations/adapters/no-op-lock-adapter/_module.js";
5
5
  export * from "../../../lock/implementations/adapters/redis-lock-adapter/_module.js";
6
- export * from "../../../lock/implementations/adapters/sqlite-lock-adapter/_module.js";