@privateaim/server-kit 0.8.15 → 0.8.16

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 (105) hide show
  1. package/CHANGELOG.md +24 -0
  2. package/dist/core/component/handler/check.d.ts +4 -0
  3. package/dist/core/component/handler/check.d.ts.map +1 -0
  4. package/dist/core/component/handler/index.d.ts +3 -0
  5. package/dist/core/component/handler/index.d.ts.map +1 -0
  6. package/dist/core/component/handler/module.d.ts +11 -0
  7. package/dist/core/component/handler/module.d.ts.map +1 -0
  8. package/dist/core/component/handler/types.d.ts +11 -0
  9. package/dist/core/component/handler/types.d.ts.map +1 -0
  10. package/dist/core/component/index.d.ts +1 -0
  11. package/dist/core/component/index.d.ts.map +1 -1
  12. package/dist/core/queue-router/module.d.ts +3 -2
  13. package/dist/core/queue-router/module.d.ts.map +1 -1
  14. package/dist/core/queue-router/types.d.ts +7 -4
  15. package/dist/core/queue-router/types.d.ts.map +1 -1
  16. package/dist/index.cjs +214 -526
  17. package/dist/index.cjs.map +1 -1
  18. package/dist/index.mjs +208 -484
  19. package/dist/index.mjs.map +1 -1
  20. package/dist/services/amqp/index.d.ts +1 -0
  21. package/dist/services/amqp/index.d.ts.map +1 -1
  22. package/dist/services/amqp/module.d.ts +2 -5
  23. package/dist/services/amqp/module.d.ts.map +1 -1
  24. package/dist/services/amqp/singleton.d.ts +6 -0
  25. package/dist/services/amqp/singleton.d.ts.map +1 -0
  26. package/dist/services/domain-event/module.d.ts +3 -3
  27. package/dist/services/domain-event/module.d.ts.map +1 -1
  28. package/dist/services/domain-event/redis/helpers.d.ts +2 -0
  29. package/dist/services/domain-event/redis/helpers.d.ts.map +1 -0
  30. package/dist/services/domain-event/redis/index.d.ts +1 -0
  31. package/dist/services/domain-event/redis/index.d.ts.map +1 -1
  32. package/dist/services/domain-event/redis/module.d.ts +3 -3
  33. package/dist/services/domain-event/redis/module.d.ts.map +1 -1
  34. package/dist/services/domain-event/socket/helpers.d.ts +3 -0
  35. package/dist/services/domain-event/socket/helpers.d.ts.map +1 -0
  36. package/dist/services/domain-event/socket/index.d.ts +1 -0
  37. package/dist/services/domain-event/socket/index.d.ts.map +1 -1
  38. package/dist/services/domain-event/socket/module.d.ts +3 -3
  39. package/dist/services/domain-event/socket/module.d.ts.map +1 -1
  40. package/dist/services/domain-event/types.d.ts +22 -14
  41. package/dist/services/domain-event/types.d.ts.map +1 -1
  42. package/dist/services/domain-event/utils.d.ts +0 -2
  43. package/dist/services/domain-event/utils.d.ts.map +1 -1
  44. package/dist/services/index.d.ts +0 -2
  45. package/dist/services/index.d.ts.map +1 -1
  46. package/dist/services/logger/module.d.ts.map +1 -1
  47. package/dist/services/logger/types.d.ts +2 -5
  48. package/dist/services/logger/types.d.ts.map +1 -1
  49. package/package.json +3 -5
  50. package/src/core/component/handler/check.ts +23 -0
  51. package/src/{services/loki → core/component/handler}/index.ts +2 -2
  52. package/src/core/component/handler/module.ts +57 -0
  53. package/src/core/component/handler/types.ts +28 -0
  54. package/src/core/component/index.ts +1 -0
  55. package/src/core/queue-router/module.ts +30 -4
  56. package/src/core/queue-router/types.ts +12 -5
  57. package/src/services/amqp/index.ts +1 -0
  58. package/src/services/amqp/module.ts +5 -19
  59. package/src/services/{loki → amqp}/singleton.ts +6 -6
  60. package/src/services/domain-event/module.ts +25 -8
  61. package/src/services/domain-event/redis/helpers.ts +28 -0
  62. package/src/services/domain-event/redis/index.ts +1 -0
  63. package/src/services/domain-event/redis/module.ts +10 -22
  64. package/src/services/domain-event/singleton.ts +3 -3
  65. package/src/services/domain-event/socket/helpers.ts +26 -0
  66. package/src/services/domain-event/socket/index.ts +1 -0
  67. package/src/services/domain-event/socket/module.ts +21 -36
  68. package/src/services/domain-event/types.ts +30 -21
  69. package/src/services/domain-event/utils.ts +0 -12
  70. package/src/services/index.ts +0 -2
  71. package/src/services/logger/module.ts +6 -31
  72. package/src/services/logger/types.ts +3 -6
  73. package/dist/services/log-store/entities/base.d.ts +0 -7
  74. package/dist/services/log-store/entities/base.d.ts.map +0 -1
  75. package/dist/services/log-store/entities/index.d.ts +0 -3
  76. package/dist/services/log-store/entities/index.d.ts.map +0 -1
  77. package/dist/services/log-store/entities/loki.d.ts +0 -13
  78. package/dist/services/log-store/entities/loki.d.ts.map +0 -1
  79. package/dist/services/log-store/entities/memory.d.ts +0 -11
  80. package/dist/services/log-store/entities/memory.d.ts.map +0 -1
  81. package/dist/services/log-store/index.d.ts +0 -4
  82. package/dist/services/log-store/index.d.ts.map +0 -1
  83. package/dist/services/log-store/singleton.d.ts +0 -6
  84. package/dist/services/log-store/singleton.d.ts.map +0 -1
  85. package/dist/services/log-store/types.d.ts +0 -27
  86. package/dist/services/log-store/types.d.ts.map +0 -1
  87. package/dist/services/logger/store.d.ts +0 -14
  88. package/dist/services/logger/store.d.ts.map +0 -1
  89. package/dist/services/loki/index.d.ts +0 -3
  90. package/dist/services/loki/index.d.ts.map +0 -1
  91. package/dist/services/loki/module.d.ts +0 -3
  92. package/dist/services/loki/module.d.ts.map +0 -1
  93. package/dist/services/loki/singleton.d.ts +0 -6
  94. package/dist/services/loki/singleton.d.ts.map +0 -1
  95. package/src/services/log-store/entities/base.ts +0 -25
  96. package/src/services/log-store/entities/index.ts +0 -9
  97. package/src/services/log-store/entities/loki.ts +0 -158
  98. package/src/services/log-store/entities/memory.ts +0 -100
  99. package/src/services/log-store/index.ts +0 -10
  100. package/src/services/log-store/singleton.ts +0 -36
  101. package/src/services/log-store/types.ts +0 -42
  102. package/src/services/logger/store.ts +0 -70
  103. package/src/services/loki/module.ts +0 -30
  104. package/test/unit/log-store.spec.ts +0 -21
  105. package/test/unit/logger.spec.ts +0 -36
package/CHANGELOG.md CHANGED
@@ -1,5 +1,29 @@
1
1
  # Changelog
2
2
 
3
+ ## [0.8.16](https://github.com/PrivateAIM/hub/compare/v0.8.15...v0.8.16) (2025-08-26)
4
+
5
+
6
+ ### Features
7
+
8
+ * event components ([b4529ee](https://github.com/PrivateAIM/hub/commit/b4529eec406d03ac83c9843f06997c3e4abc4eff))
9
+ * merge server-core & server-core-realtime package ([5298c48](https://github.com/PrivateAIM/hub/commit/5298c48705aa3cc9a2a7ff9e452a8ae1b26e57d8))
10
+ * minor subscriber & event publish refactoring ([1ffdd68](https://github.com/PrivateAIM/hub/commit/1ffdd6853283409e83d1d9bb89a67e2964e3cb35))
11
+ * move log-store, loki setup etc. to telemetry service ([#1151](https://github.com/PrivateAIM/hub/issues/1151)) ([8b38b0e](https://github.com/PrivateAIM/hub/commit/8b38b0ee0fafafb121eb4efb0aaf548c27edcde4))
12
+ * store actor & request with event ([#1133](https://github.com/PrivateAIM/hub/issues/1133)) ([7310c8c](https://github.com/PrivateAIM/hub/commit/7310c8c48058734510fba08413ddf5a9fcb8137c))
13
+
14
+
15
+ ### Bug Fixes
16
+
17
+ * docker file & entrypoint + added amqp config to telemetry service ([2ad782b](https://github.com/PrivateAIM/hub/commit/2ad782bf188ad087d4e4d720eb2812254dcc202e))
18
+ * domain subscriber + queue event create task submission ([94c61ea](https://github.com/PrivateAIM/hub/commit/94c61ead90db550f50edbd9217fb1956230e9609))
19
+
20
+
21
+ ### Dependencies
22
+
23
+ * The following workspace dependencies were updated
24
+ * dependencies
25
+ * @privateaim/kit bumped from ^0.8.15 to ^0.8.16
26
+
3
27
  ## [0.8.15](https://github.com/PrivateAIM/hub/compare/v0.8.14...v0.8.15) (2025-07-30)
4
28
 
5
29
 
@@ -0,0 +1,4 @@
1
+ import type { ComponentHandler, ComponentHandlerFn } from './types';
2
+ export declare function isComponentHandler(input: unknown): input is ComponentHandler;
3
+ export declare function isComponentHandlerFn(input: unknown): input is ComponentHandlerFn;
4
+ //# sourceMappingURL=check.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"check.d.ts","sourceRoot":"","sources":["../../../../src/core/component/handler/check.ts"],"names":[],"mappings":"AAUA,OAAO,KAAK,EAAE,gBAAgB,EAAE,kBAAkB,EAAE,MAAM,SAAS,CAAC;AAEpE,wBAAgB,kBAAkB,CAAC,KAAK,EAAE,OAAO,GAAI,KAAK,IAAI,gBAAgB,CAM7E;AAED,wBAAgB,oBAAoB,CAAC,KAAK,EAAE,OAAO,GAAI,KAAK,IAAI,kBAAkB,CAEjF"}
@@ -0,0 +1,3 @@
1
+ export * from './module';
2
+ export * from './types';
3
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/core/component/handler/index.ts"],"names":[],"mappings":"AAOA,cAAc,UAAU,CAAC;AACzB,cAAc,SAAS,CAAC"}
@@ -0,0 +1,11 @@
1
+ import type { ObjectLiteral } from '../../../type';
2
+ import type { ComponentHandler, ComponentHandlerFn } from './types';
3
+ export declare class ComponentHandlers {
4
+ protected handlers: Record<string, ComponentHandlerFn | ComponentHandler>;
5
+ constructor();
6
+ mount<K extends string>(key: K, fn: ComponentHandler<K, any> | ComponentHandlerFn<K, any>): void;
7
+ unmount(key: string): void;
8
+ setup(): Promise<void>;
9
+ execute(key: string, value?: ObjectLiteral, metadata?: ObjectLiteral): Promise<void>;
10
+ }
11
+ //# sourceMappingURL=module.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"module.d.ts","sourceRoot":"","sources":["../../../../src/core/component/handler/module.ts"],"names":[],"mappings":"AAOA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,eAAe,CAAC;AAEnD,OAAO,KAAK,EAAE,gBAAgB,EAAE,kBAAkB,EAAE,MAAM,SAAS,CAAC;AAEpE,qBAAa,iBAAiB;IAC1B,SAAS,CAAC,QAAQ,EAAE,MAAM,CAAC,MAAM,EAAE,kBAAkB,GAAG,gBAAgB,CAAC,CAAC;;IAM1E,KAAK,CAAC,CAAC,SAAS,MAAM,EAAE,GAAG,EAAE,CAAC,EAAE,EAAE,EAAE,gBAAgB,CAAC,CAAC,EAAE,GAAG,CAAC,GAAG,kBAAkB,CAAC,CAAC,EAAE,GAAG,CAAC;IAIzF,OAAO,CAAC,GAAG,EAAE,MAAM;IAIb,KAAK,IAAK,OAAO,CAAC,IAAI,CAAC;IAcvB,OAAO,CACT,GAAG,EAAE,MAAM,EACX,KAAK,GAAE,aAAkB,EACzB,QAAQ,GAAE,aAAkB,GAC5B,OAAO,CAAC,IAAI,CAAC;CAYpB"}
@@ -0,0 +1,11 @@
1
+ import type { ObjectLiteral } from '../../../type';
2
+ export type ComponentHandlerContext<KEY extends string = string> = {
3
+ key: KEY;
4
+ metadata: ObjectLiteral;
5
+ };
6
+ export type ComponentHandlerFn<KEY extends string = string, VALUE extends ObjectLiteral = ObjectLiteral> = (value: VALUE, context: ComponentHandlerContext<KEY>) => Promise<void> | void;
7
+ export type ComponentHandler<KEY extends string = string, VALUE extends ObjectLiteral = ObjectLiteral> = {
8
+ setup?: () => Promise<void> | void;
9
+ handle: ComponentHandlerFn<KEY, VALUE>;
10
+ };
11
+ //# sourceMappingURL=types.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../../src/core/component/handler/types.ts"],"names":[],"mappings":"AAOA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,eAAe,CAAC;AAEnD,MAAM,MAAM,uBAAuB,CAC/B,GAAG,SAAS,MAAM,GAAG,MAAM,IAC3B;IACA,GAAG,EAAE,GAAG,CAAC;IACT,QAAQ,EAAE,aAAa,CAAA;CAC1B,CAAC;AAEF,MAAM,MAAM,kBAAkB,CAC1B,GAAG,SAAS,MAAM,GAAG,MAAM,EAC3B,KAAK,SAAS,aAAa,GAAG,aAAa,IAC3C,CAAC,KAAK,EAAE,KAAK,EAAE,OAAO,EAAE,uBAAuB,CAAC,GAAG,CAAC,KAAK,OAAO,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC;AAElF,MAAM,MAAM,gBAAgB,CACxB,GAAG,SAAS,MAAM,GAAG,MAAM,EAC3B,KAAK,SAAS,aAAa,GAAG,aAAa,IAC3C;IACA,KAAK,CAAC,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC;IACnC,MAAM,EAAE,kBAAkB,CAAC,GAAG,EAAE,KAAK,CAAC,CAAA;CACzC,CAAC"}
@@ -1,4 +1,5 @@
1
1
  export * from './error';
2
+ export * from './handler';
2
3
  export * from './helper';
3
4
  export * from './type';
4
5
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/core/component/index.ts"],"names":[],"mappings":"AAOA,cAAc,SAAS,CAAC;AACxB,cAAc,UAAU,CAAC;AACzB,cAAc,QAAQ,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/core/component/index.ts"],"names":[],"mappings":"AAOA,cAAc,SAAS,CAAC;AACxB,cAAc,WAAW,CAAC;AAC1B,cAAc,UAAU,CAAC;AACzB,cAAc,QAAQ,CAAC"}
@@ -1,9 +1,10 @@
1
1
  import type { Client } from 'amqp-extension';
2
- import type { QueueRouterHandlers, QueueRouterPayload, QueueRouterRouting } from './types';
2
+ import type { QueueRouterHandlers, QueueRouterPayload, QueueRouterPublishOptions, QueueRouterRouting } from './types';
3
3
  export declare class QueueRouter {
4
4
  protected driver: Client;
5
5
  constructor(driver: Client);
6
- publish(message: QueueRouterPayload): Promise<boolean>;
6
+ publish(message: QueueRouterPayload, options?: QueueRouterPublishOptions): Promise<boolean>;
7
+ consumeAny(routing: QueueRouterRouting, fn: (payload: QueueRouterPayload) => Promise<void> | void): Promise<void>;
7
8
  consume(routing: QueueRouterRouting, handlers: QueueRouterHandlers): Promise<void>;
8
9
  }
9
10
  //# sourceMappingURL=module.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"module.d.ts","sourceRoot":"","sources":["../../../src/core/queue-router/module.ts"],"names":[],"mappings":"AAQA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,gBAAgB,CAAC;AAI7C,OAAO,KAAK,EAER,mBAAmB,EACnB,kBAAkB,EAAE,kBAAkB,EACzC,MAAM,SAAS,CAAC;AAEjB,qBAAa,WAAW;IACpB,SAAS,CAAC,MAAM,EAAG,MAAM,CAAC;gBAId,MAAM,EAAE,MAAM;IAM1B,OAAO,CAAC,OAAO,EAAE,kBAAkB,GAAI,OAAO,CAAC,OAAO,CAAC;IA2BvD,OAAO,CAAC,OAAO,EAAE,kBAAkB,EAAE,QAAQ,EAAE,mBAAmB,GAAI,OAAO,CAAC,IAAI,CAAC;CA+DtF"}
1
+ {"version":3,"file":"module.d.ts","sourceRoot":"","sources":["../../../src/core/queue-router/module.ts"],"names":[],"mappings":"AAQA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,gBAAgB,CAAC;AAI7C,OAAO,KAAK,EAER,mBAAmB,EACnB,kBAAkB,EAAE,yBAAyB,EAAE,kBAAkB,EACpE,MAAM,SAAS,CAAC;AAEjB,qBAAa,WAAW;IACpB,SAAS,CAAC,MAAM,EAAG,MAAM,CAAC;gBAId,MAAM,EAAE,MAAM;IAM1B,OAAO,CACH,OAAO,EAAE,kBAAkB,EAC3B,OAAO,GAAE,yBAA8B,GACvC,OAAO,CAAC,OAAO,CAAC;IAgCpB,UAAU,CACN,OAAO,EAAE,kBAAkB,EAC3B,EAAE,EAAE,CAAC,OAAO,EAAE,kBAAkB,KAAK,OAAO,CAAC,IAAI,CAAC,GAAG,IAAI;IAO7D,OAAO,CAAC,OAAO,EAAE,kBAAkB,EAAE,QAAQ,EAAE,mBAAmB,GAAI,OAAO,CAAC,IAAI,CAAC;CAwEtF"}
@@ -10,19 +10,22 @@ export type QueueRouterPayloadMetadata = {
10
10
  persistent?: boolean;
11
11
  routing: QueueRouterRouting;
12
12
  };
13
+ export type QueueRouterPublishOptions = {
14
+ logging?: boolean;
15
+ };
13
16
  export type QueueRouterPayload<T = string, D = Record<string, any>> = {
14
17
  id: string;
15
18
  type: T;
16
19
  data: D;
17
20
  metadata: QueueRouterPayloadMetadata;
18
21
  };
19
- export type QueueRouterPayloadInput<T = string, D = Record<string, any>> = {
22
+ export type QueueRouterPayloadInput<KEY = string, VALUE = Record<string, any>> = {
20
23
  id?: string;
21
- type: T;
22
- data?: D;
24
+ type: KEY;
25
+ data?: VALUE;
23
26
  metadata: Partial<Pick<QueueRouterPayloadMetadata, 'timestamp'>> & Omit<QueueRouterPayloadMetadata, 'timestamp'>;
24
27
  };
25
- export type QueueRouterHandler<T = string, D = Record<string, any>> = (message: QueueRouterPayload<T, D>) => Promise<void> | void;
28
+ export type QueueRouterHandler<KEY = string, D = Record<string, any>> = (message: QueueRouterPayload<KEY, D>) => Promise<void> | void;
26
29
  export type QueueRouterHandlers<R extends Record<string, Record<string, any>> = Record<string, Record<string, any>>> = {
27
30
  $any?: QueueRouterHandler;
28
31
  } & {
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/core/queue-router/types.ts"],"names":[],"mappings":"AAaA,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,aAAa,CAAC;AAE1D,MAAM,MAAM,kBAAkB,GAAG;IAC7B,IAAI,EAAE,GAAG,sBAAsB,EAAE,CAAC;IAClC,GAAG,EAAE,MAAM,CAAC;IACZ,SAAS,CAAC,EAAE,MAAM,CAAC;CACtB,CAAC;AAEF,MAAM,MAAM,0BAA0B,GAAG;IACrC,SAAS,EAAE,MAAM,CAAC;IAClB,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,OAAO,EAAE,kBAAkB,CAAA;CAC9B,CAAC;AAEF,MAAM,MAAM,kBAAkB,CAC1B,CAAC,GAAG,MAAM,EACV,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,IACvB;IACA,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,CAAC,CAAC;IACR,IAAI,EAAE,CAAC,CAAC;IACR,QAAQ,EAAE,0BAA0B,CAAA;CACvC,CAAC;AAEF,MAAM,MAAM,uBAAuB,CAAC,CAAC,GAAG,MAAM,EAAE,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,IAAI;IACvE,EAAE,CAAC,EAAE,MAAM,CAAC;IACZ,IAAI,EAAE,CAAC,CAAC;IACR,IAAI,CAAC,EAAE,CAAC,CAAC;IACT,QAAQ,EAAE,OAAO,CAAC,IAAI,CAAC,0BAA0B,EAAE,WAAW,CAAC,CAAC,GAChE,IAAI,CAAC,0BAA0B,EAAE,WAAW,CAAC,CAAA;CAChD,CAAC;AAEF,MAAM,MAAM,kBAAkB,CAC1B,CAAC,GAAG,MAAM,EACV,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,IACvB,CAAC,OAAO,EAAE,kBAAkB,CAAC,CAAC,EAAE,CAAC,CAAC,KAAK,OAAO,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC;AAEhE,MAAM,MAAM,mBAAmB,CAC3B,CAAC,SAAS,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC,IACnF;IACA,IAAI,CAAC,EAAE,kBAAkB,CAAA;CAC5B,GAAG;KACC,CAAC,IAAI,MAAM,CAAC,GAAG,kBAAkB,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC;CAC9C,CAAC"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/core/queue-router/types.ts"],"names":[],"mappings":"AAaA,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,aAAa,CAAC;AAE1D,MAAM,MAAM,kBAAkB,GAAG;IAC7B,IAAI,EAAE,GAAG,sBAAsB,EAAE,CAAC;IAClC,GAAG,EAAE,MAAM,CAAC;IACZ,SAAS,CAAC,EAAE,MAAM,CAAC;CACtB,CAAC;AAEF,MAAM,MAAM,0BAA0B,GAAG;IACrC,SAAS,EAAE,MAAM,CAAC;IAClB,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,OAAO,EAAE,kBAAkB,CAAA;CAC9B,CAAC;AAEF,MAAM,MAAM,yBAAyB,GAAG;IACpC,OAAO,CAAC,EAAE,OAAO,CAAA;CACpB,CAAC;AAEF,MAAM,MAAM,kBAAkB,CAC1B,CAAC,GAAG,MAAM,EACV,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,IACvB;IACA,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,CAAC,CAAC;IACR,IAAI,EAAE,CAAC,CAAC;IACR,QAAQ,EAAE,0BAA0B,CAAA;CACvC,CAAC;AAEF,MAAM,MAAM,uBAAuB,CAC/B,GAAG,GAAG,MAAM,EACZ,KAAK,GAAG,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,IAC3B;IACA,EAAE,CAAC,EAAE,MAAM,CAAC;IACZ,IAAI,EAAE,GAAG,CAAC;IACV,IAAI,CAAC,EAAE,KAAK,CAAC;IACb,QAAQ,EAAE,OAAO,CAAC,IAAI,CAAC,0BAA0B,EAAE,WAAW,CAAC,CAAC,GAChE,IAAI,CAAC,0BAA0B,EAAE,WAAW,CAAC,CAAA;CAChD,CAAC;AAEF,MAAM,MAAM,kBAAkB,CAC1B,GAAG,GAAG,MAAM,EACZ,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,IACvB,CAAC,OAAO,EAAE,kBAAkB,CAAC,GAAG,EAAE,CAAC,CAAC,KAAK,OAAO,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC;AAElE,MAAM,MAAM,mBAAmB,CAC3B,CAAC,SAAS,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC,IACnF;IACA,IAAI,CAAC,EAAE,kBAAkB,CAAA;CAC5B,GAAG;KACC,CAAC,IAAI,MAAM,CAAC,GAAG,kBAAkB,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC;CAC9C,CAAC"}