katanakit-js 6.4.3 → 6.7.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +4 -3
- package/dist/adapters/express/server.d.ts +133 -1
- package/dist/adapters/express/server.d.ts.map +1 -1
- package/dist/adapters/express/server.js +199 -97
- package/dist/adapters/express/server.js.map +1 -1
- package/dist/adapters/insforge/insforge.service.d.ts +139 -4
- package/dist/adapters/insforge/insforge.service.d.ts.map +1 -1
- package/dist/adapters/insforge/insforge.service.js +383 -213
- package/dist/adapters/insforge/insforge.service.js.map +1 -1
- package/dist/adapters/notion/notion.service.d.ts +130 -144
- package/dist/adapters/notion/notion.service.d.ts.map +1 -1
- package/dist/adapters/notion/notion.service.js +330 -341
- package/dist/adapters/notion/notion.service.js.map +1 -1
- package/dist/adapters/telegram/telegram.service.d.ts +82 -13
- package/dist/adapters/telegram/telegram.service.d.ts.map +1 -1
- package/dist/adapters/telegram/telegram.service.js +133 -55
- package/dist/adapters/telegram/telegram.service.js.map +1 -1
- package/dist/adapters/wordpress/wordpress.service.d.ts +181 -110
- package/dist/adapters/wordpress/wordpress.service.d.ts.map +1 -1
- package/dist/adapters/wordpress/wordpress.service.js +556 -465
- package/dist/adapters/wordpress/wordpress.service.js.map +1 -1
- package/dist/core/services/access.service.d.ts +167 -4
- package/dist/core/services/access.service.d.ts.map +1 -1
- package/dist/core/services/access.service.js +241 -31
- package/dist/core/services/access.service.js.map +1 -1
- package/dist/core/services/agent.service.d.ts +182 -27
- package/dist/core/services/agent.service.d.ts.map +1 -1
- package/dist/core/services/agent.service.js +296 -164
- package/dist/core/services/agent.service.js.map +1 -1
- package/dist/core/services/assistant.service.d.ts +96 -5
- package/dist/core/services/assistant.service.d.ts.map +1 -1
- package/dist/core/services/assistant.service.js +171 -66
- package/dist/core/services/assistant.service.js.map +1 -1
- package/dist/core/services/dates.service.d.ts +183 -11
- package/dist/core/services/dates.service.d.ts.map +1 -1
- package/dist/core/services/dates.service.js +256 -57
- package/dist/core/services/dates.service.js.map +1 -1
- package/dist/core/services/http.service.d.ts +172 -133
- package/dist/core/services/http.service.d.ts.map +1 -1
- package/dist/core/services/http.service.js +381 -310
- package/dist/core/services/http.service.js.map +1 -1
- package/dist/core/services/logger.service.d.ts +96 -34
- package/dist/core/services/logger.service.d.ts.map +1 -1
- package/dist/core/services/logger.service.js +128 -41
- package/dist/core/services/logger.service.js.map +1 -1
- package/dist/core/services/query.service.d.ts +101 -0
- package/dist/core/services/query.service.d.ts.map +1 -1
- package/dist/core/services/query.service.js +131 -14
- package/dist/core/services/query.service.js.map +1 -1
- package/dist/core/services/utils.service.d.ts +286 -131
- package/dist/core/services/utils.service.d.ts.map +1 -1
- package/dist/core/services/utils.service.js +417 -227
- package/dist/core/services/utils.service.js.map +1 -1
- package/dist/core/services/validation.service.d.ts +48 -3
- package/dist/core/services/validation.service.d.ts.map +1 -1
- package/dist/core/services/validation.service.js +75 -23
- package/dist/core/services/validation.service.js.map +1 -1
- package/dist/infrastructure/decorators/cache.decorator.d.ts +53 -0
- package/dist/infrastructure/decorators/cache.decorator.d.ts.map +1 -0
- package/dist/infrastructure/decorators/cache.decorator.js +47 -0
- package/dist/infrastructure/decorators/cache.decorator.js.map +1 -0
- package/dist/infrastructure/decorators/index.d.ts +4 -0
- package/dist/infrastructure/decorators/index.d.ts.map +1 -0
- package/dist/infrastructure/decorators/index.js +4 -0
- package/dist/infrastructure/decorators/index.js.map +1 -0
- package/dist/infrastructure/decorators/logger.decorator.d.ts +38 -0
- package/dist/infrastructure/decorators/logger.decorator.d.ts.map +1 -0
- package/dist/infrastructure/decorators/logger.decorator.js +66 -0
- package/dist/infrastructure/decorators/logger.decorator.js.map +1 -0
- package/dist/infrastructure/decorators/retry.decorator.d.ts +37 -0
- package/dist/infrastructure/decorators/retry.decorator.d.ts.map +1 -0
- package/dist/infrastructure/decorators/retry.decorator.js +54 -0
- package/dist/infrastructure/decorators/retry.decorator.js.map +1 -0
- package/dist/infrastructure/dom/dom.service.d.ts +11 -5
- package/dist/infrastructure/dom/dom.service.d.ts.map +1 -1
- package/dist/infrastructure/dom/dom.service.js +20 -6
- package/dist/infrastructure/dom/dom.service.js.map +1 -1
- package/dist/infrastructure/index.d.ts +1 -0
- package/dist/infrastructure/index.d.ts.map +1 -1
- package/dist/infrastructure/index.js +1 -0
- package/dist/infrastructure/index.js.map +1 -1
- package/dist/prisma/schema.json +17 -13
- package/dist/styles.css +2 -0
- package/package.json +32 -38
- package/scss/_flags.scss +179 -0
- package/scss/_functions.scss +168 -0
- package/scss/_mixins.scss +658 -0
- package/scss/_reset.scss +275 -0
- package/scss/_utilities.scss +449 -0
- package/scss/_variables.scss +539 -0
- package/scss/components/_index.scss +50 -0
- package/scss/demo.scss +12 -0
- package/scss/main.scss +56 -0
|
@@ -1,7 +1,142 @@
|
|
|
1
1
|
import { type InsForgeClient } from "@insforge/sdk";
|
|
2
2
|
import type { ConfigFacade, FetchResult, IfConfig, IfInsertRows, IfInvokeOptions, IfListOptions, IfRpcCall, IfStorageRef, IfTableQuery, IfUpdatePatch, IfWriteQuery } from "../../types/index.js";
|
|
3
3
|
/**
|
|
4
|
-
*
|
|
4
|
+
* InsForgeService - Singleton para el cliente InsForge (fallback de base de datos).
|
|
5
|
+
*
|
|
6
|
+
* Aplica el patrón Singleton: una única instancia mantiene el
|
|
7
|
+
* {@link InsForgeClient} y centraliza las operaciones de tabla, RPC,
|
|
8
|
+
* storage y edge functions, devolviendo siempre Safe Results.
|
|
9
|
+
*
|
|
10
|
+
* @example
|
|
11
|
+
* ```ts
|
|
12
|
+
* const insforge = InsForgeService.getInstance();
|
|
13
|
+
* insforge.useInit({ baseUrl: "https://app.insforge.app", anonKey: "…" });
|
|
14
|
+
* const result = await insforge.useSelect({ table: "posts" });
|
|
15
|
+
* ```
|
|
16
|
+
*/
|
|
17
|
+
export declare class InsForgeService {
|
|
18
|
+
private static instance;
|
|
19
|
+
/** InsForge client. InsForge is the database fallback, not the default. */
|
|
20
|
+
private client;
|
|
21
|
+
/**
|
|
22
|
+
* Constructor privado - enforce singleton.
|
|
23
|
+
*/
|
|
24
|
+
private constructor();
|
|
25
|
+
/**
|
|
26
|
+
* Obtiene la instancia única del InsForgeService (Singleton).
|
|
27
|
+
*
|
|
28
|
+
* @returns La instancia única de {@link InsForgeService}.
|
|
29
|
+
*/
|
|
30
|
+
static getInstance(): InsForgeService;
|
|
31
|
+
/**
|
|
32
|
+
* Registers the InsForge client. Call once per app. Prefer `apiKey`
|
|
33
|
+
* (server-only, admin) or `anonKey` (browser-safe) depending on the runtime.
|
|
34
|
+
*
|
|
35
|
+
* @param config - Backend URL + credentials + optional schema.
|
|
36
|
+
* @throws {Error} If the config fails validation.
|
|
37
|
+
*
|
|
38
|
+
* @example
|
|
39
|
+
* ```ts
|
|
40
|
+
* InsForgeService.getInstance().useInit({ baseUrl: "https://app.insforge.app", anonKey: "…" });
|
|
41
|
+
* ```
|
|
42
|
+
*/
|
|
43
|
+
useInit(config: IfConfig): void;
|
|
44
|
+
/**
|
|
45
|
+
* Returns the initialized client (or `null` before `useInit`).
|
|
46
|
+
* Exposed for advanced use - the wrappers cover the supported surface.
|
|
47
|
+
*
|
|
48
|
+
* @returns The InsForge client or `null`.
|
|
49
|
+
*/
|
|
50
|
+
useGetClient(): InsForgeClient | null;
|
|
51
|
+
/**
|
|
52
|
+
* Reads rows from a table with equality filters, ordering and pagination.
|
|
53
|
+
*
|
|
54
|
+
* @param query - Table, columns, filters, order, limit and offset.
|
|
55
|
+
* @returns Safe Result with the rows.
|
|
56
|
+
*/
|
|
57
|
+
useSelect<T = Record<string, unknown>>(query: IfTableQuery): Promise<FetchResult<T[]>>;
|
|
58
|
+
/**
|
|
59
|
+
* Inserts one or more rows and returns the created rows.
|
|
60
|
+
*
|
|
61
|
+
* @param table - Table name.
|
|
62
|
+
* @param rows - Rows to insert (at least one).
|
|
63
|
+
* @param schema - Optional schema override.
|
|
64
|
+
* @returns Safe Result with the inserted rows.
|
|
65
|
+
*/
|
|
66
|
+
useInsert<T = Record<string, unknown>>(table: string, rows: IfInsertRows, schema?: string): Promise<FetchResult<T[]>>;
|
|
67
|
+
/**
|
|
68
|
+
* Updates rows matching the filters and returns the updated rows.
|
|
69
|
+
* Filters are REQUIRED - mass updates are refused at validation time.
|
|
70
|
+
*
|
|
71
|
+
* @param query - Table + mandatory filters (+ optional schema).
|
|
72
|
+
* @param patch - Column patch (must not be empty).
|
|
73
|
+
* @returns Safe Result with the updated rows.
|
|
74
|
+
*/
|
|
75
|
+
useUpdate<T = Record<string, unknown>>(query: IfWriteQuery, patch: IfUpdatePatch): Promise<FetchResult<T[]>>;
|
|
76
|
+
/**
|
|
77
|
+
* Deletes rows matching the filters and returns the deleted rows.
|
|
78
|
+
* Filters are REQUIRED - mass deletes are refused at validation time.
|
|
79
|
+
*
|
|
80
|
+
* @param query - Table + mandatory filters (+ optional schema).
|
|
81
|
+
* @returns Safe Result with the deleted rows.
|
|
82
|
+
*/
|
|
83
|
+
useDelete<T = Record<string, unknown>>(query: IfWriteQuery): Promise<FetchResult<T[]>>;
|
|
84
|
+
/**
|
|
85
|
+
* Calls a Postgres function (RPC).
|
|
86
|
+
*
|
|
87
|
+
* @param call - Function name, params and optional schema.
|
|
88
|
+
* @returns Safe Result with the function output.
|
|
89
|
+
*/
|
|
90
|
+
useRpc<T = unknown>(call: IfRpcCall): Promise<FetchResult<T>>;
|
|
91
|
+
/**
|
|
92
|
+
* Uploads a file to a bucket (standard PUT semantics: same key replaces).
|
|
93
|
+
*
|
|
94
|
+
* @param ref - Bucket + object key.
|
|
95
|
+
* @param file - File or Blob to upload.
|
|
96
|
+
* @returns Safe Result with the stored file metadata.
|
|
97
|
+
*/
|
|
98
|
+
useUpload(ref: IfStorageRef, file: File | Blob): Promise<FetchResult<Record<string, unknown>>>;
|
|
99
|
+
/**
|
|
100
|
+
* Downloads a file from a bucket.
|
|
101
|
+
*
|
|
102
|
+
* @param ref - Bucket + object key.
|
|
103
|
+
* @returns Safe Result with the file as a Blob.
|
|
104
|
+
*/
|
|
105
|
+
useDownload(ref: IfStorageRef): Promise<FetchResult<Blob>>;
|
|
106
|
+
/**
|
|
107
|
+
* Removes a file from a bucket.
|
|
108
|
+
*
|
|
109
|
+
* @param ref - Bucket + object key.
|
|
110
|
+
* @returns Safe Result with the deletion response.
|
|
111
|
+
*/
|
|
112
|
+
useRemove(ref: IfStorageRef): Promise<FetchResult<Record<string, unknown>>>;
|
|
113
|
+
/**
|
|
114
|
+
* Lists objects in a bucket.
|
|
115
|
+
*
|
|
116
|
+
* @param bucket - Bucket name.
|
|
117
|
+
* @param options - Prefix, search, limit and offset.
|
|
118
|
+
* @returns Safe Result with the listing.
|
|
119
|
+
*/
|
|
120
|
+
useListObjects(bucket: string, options?: IfListOptions): Promise<FetchResult<Record<string, unknown>>>;
|
|
121
|
+
/**
|
|
122
|
+
* Builds the public URL for an object in a public bucket (no network call).
|
|
123
|
+
*
|
|
124
|
+
* @param ref - Bucket + object key.
|
|
125
|
+
* @returns Safe Result with `{ publicUrl }`.
|
|
126
|
+
*/
|
|
127
|
+
useGetPublicUrl(ref: IfStorageRef): FetchResult<{
|
|
128
|
+
publicUrl: string;
|
|
129
|
+
}>;
|
|
130
|
+
/**
|
|
131
|
+
* Invokes an edge function.
|
|
132
|
+
*
|
|
133
|
+
* @param options - Function slug + optional JSON body.
|
|
134
|
+
* @returns Safe Result with the function response.
|
|
135
|
+
*/
|
|
136
|
+
useInvokeFunction<T = unknown>(options: IfInvokeOptions): Promise<FetchResult<T>>;
|
|
137
|
+
}
|
|
138
|
+
/**
|
|
139
|
+
* Registers the InsForge client and returns your methods alongside it - the
|
|
5
140
|
* config-file entry point. One call is the whole setup: no separate
|
|
6
141
|
* `useInitInsforge(...)` step.
|
|
7
142
|
*
|
|
@@ -48,7 +183,7 @@ export declare function defineInsforgeConfig<T extends IfConfig>(input: T & This
|
|
|
48
183
|
export declare function useInitInsforge(config: IfConfig): void;
|
|
49
184
|
/**
|
|
50
185
|
* Returns the initialized client (or `null` before `useInitInsforge`).
|
|
51
|
-
* Exposed for advanced use
|
|
186
|
+
* Exposed for advanced use - the wrappers cover the supported surface.
|
|
52
187
|
*
|
|
53
188
|
* @returns The InsForge client or `null`.
|
|
54
189
|
*/
|
|
@@ -76,7 +211,7 @@ export declare function useIfSelect<T = Record<string, unknown>>(query: IfTableQ
|
|
|
76
211
|
export declare function useIfInsert<T = Record<string, unknown>>(table: string, rows: IfInsertRows, schema?: string): Promise<FetchResult<T[]>>;
|
|
77
212
|
/**
|
|
78
213
|
* Updates rows matching the filters and returns the updated rows.
|
|
79
|
-
* Filters are REQUIRED
|
|
214
|
+
* Filters are REQUIRED - mass updates are refused at validation time.
|
|
80
215
|
*
|
|
81
216
|
* @param query - Table + mandatory filters (+ optional schema).
|
|
82
217
|
* @param patch - Column patch (must not be empty).
|
|
@@ -85,7 +220,7 @@ export declare function useIfInsert<T = Record<string, unknown>>(table: string,
|
|
|
85
220
|
export declare function useIfUpdate<T = Record<string, unknown>>(query: IfWriteQuery, patch: IfUpdatePatch): Promise<FetchResult<T[]>>;
|
|
86
221
|
/**
|
|
87
222
|
* Deletes rows matching the filters and returns the deleted rows.
|
|
88
|
-
* Filters are REQUIRED
|
|
223
|
+
* Filters are REQUIRED - mass deletes are refused at validation time.
|
|
89
224
|
*
|
|
90
225
|
* @param query - Table + mandatory filters (+ optional schema).
|
|
91
226
|
* @returns Safe Result with the deleted rows.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"insforge.service.d.ts","sourceRoot":"","sources":["../../../src/adapters/insforge/insforge.service.ts"],"names":[],"mappings":"AAAA,OAAO,EAAmC,KAAK,cAAc,EAAE,MAAM,eAAe,CAAC;AAiBrF,OAAO,KAAK,EAEX,YAAY,EACZ,WAAW,EACX,QAAQ,EACR,YAAY,EACZ,eAAe,EACf,aAAa,EACb,SAAS,EACT,YAAY,EACZ,YAAY,EACZ,aAAa,EACb,YAAY,EACZ,MAAM,sBAAsB,CAAC;
|
|
1
|
+
{"version":3,"file":"insforge.service.d.ts","sourceRoot":"","sources":["../../../src/adapters/insforge/insforge.service.ts"],"names":[],"mappings":"AAAA,OAAO,EAAmC,KAAK,cAAc,EAAE,MAAM,eAAe,CAAC;AAiBrF,OAAO,KAAK,EAEX,YAAY,EACZ,WAAW,EACX,QAAQ,EACR,YAAY,EACZ,eAAe,EACf,aAAa,EACb,SAAS,EACT,YAAY,EACZ,YAAY,EACZ,aAAa,EACb,YAAY,EACZ,MAAM,sBAAsB,CAAC;AA+I9B;;;;;;;;;;;;;GAaG;AACH,qBAAa,eAAe;IAC3B,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAkB;IAEzC,2EAA2E;IAC3E,OAAO,CAAC,MAAM,CAA+B;IAE7C;;OAEG;IACH,OAAO;IAEP;;;;OAIG;IACH,MAAM,CAAC,WAAW,IAAI,eAAe;IAOrC;;;;;;;;;;;OAWG;IACH,OAAO,CAAC,MAAM,EAAE,QAAQ,GAAG,IAAI;IAgB/B;;;;;OAKG;IACH,YAAY,IAAI,cAAc,GAAG,IAAI;IAIrC;;;;;OAKG;IACG,SAAS,CAAC,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,KAAK,EAAE,YAAY,GAAG,OAAO,CAAC,WAAW,CAAC,CAAC,EAAE,CAAC,CAAC;IA0B5F;;;;;;;OAOG;IACG,SAAS,CAAC,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAC1C,KAAK,EAAE,MAAM,EACb,IAAI,EAAE,YAAY,EAClB,MAAM,CAAC,EAAE,MAAM,GACb,OAAO,CAAC,WAAW,CAAC,CAAC,EAAE,CAAC,CAAC;IAiB5B;;;;;;;OAOG;IACG,SAAS,CAAC,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAC1C,KAAK,EAAE,YAAY,EACnB,KAAK,EAAE,aAAa,GAClB,OAAO,CAAC,WAAW,CAAC,CAAC,EAAE,CAAC,CAAC;IA2B5B;;;;;;OAMG;IACG,SAAS,CAAC,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,KAAK,EAAE,YAAY,GAAG,OAAO,CAAC,WAAW,CAAC,CAAC,EAAE,CAAC,CAAC;IAgB5F;;;;;OAKG;IACG,MAAM,CAAC,CAAC,GAAG,OAAO,EAAE,IAAI,EAAE,SAAS,GAAG,OAAO,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC;IAcnE;;;;;;OAMG;IACG,SAAS,CACd,GAAG,EAAE,YAAY,EACjB,IAAI,EAAE,IAAI,GAAG,IAAI,GACf,OAAO,CAAC,WAAW,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,CAAC;IAahD;;;;;OAKG;IACG,WAAW,CAAC,GAAG,EAAE,YAAY,GAAG,OAAO,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC;IAwBhE;;;;;OAKG;IACG,SAAS,CAAC,GAAG,EAAE,YAAY,GAAG,OAAO,CAAC,WAAW,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,CAAC;IAajF;;;;;;OAMG;IACG,cAAc,CACnB,MAAM,EAAE,MAAM,EACd,OAAO,CAAC,EAAE,aAAa,GACrB,OAAO,CAAC,WAAW,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,CAAC;IAehD;;;;;OAKG;IACH,eAAe,CAAC,GAAG,EAAE,YAAY,GAAG,WAAW,CAAC;QAAE,SAAS,EAAE,MAAM,CAAA;KAAE,CAAC;IAqBtE;;;;;OAKG;IACG,iBAAiB,CAAC,CAAC,GAAG,OAAO,EAAE,OAAO,EAAE,eAAe,GAAG,OAAO,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC;CAcvF;AAMD;;;;;;;;;;;;;;;;;;;;;;;;;;GA0BG;AACH,wBAAgB,oBAAoB,CAAC,CAAC,SAAS,QAAQ,EACtD,KAAK,EAAE,CAAC,GAAG,QAAQ,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,GAClC,YAAY,CAAC,CAAC,CAAC,CAKjB;AAED;;;;;;;;;;;;;;;;GAgBG;AACH,wBAAgB,eAAe,CAAC,MAAM,EAAE,QAAQ,GAAG,IAAI,CAEtD;AAED;;;;;GAKG;AACH,wBAAgB,oBAAoB,IAAI,cAAc,GAAG,IAAI,CAE5D;AAMD;;;;;;;;;;GAUG;AACH,wBAAsB,WAAW,CAAC,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAC5D,KAAK,EAAE,YAAY,GACjB,OAAO,CAAC,WAAW,CAAC,CAAC,EAAE,CAAC,CAAC,CAE3B;AAED;;;;;;;GAOG;AACH,wBAAsB,WAAW,CAAC,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAC5D,KAAK,EAAE,MAAM,EACb,IAAI,EAAE,YAAY,EAClB,MAAM,CAAC,EAAE,MAAM,GACb,OAAO,CAAC,WAAW,CAAC,CAAC,EAAE,CAAC,CAAC,CAE3B;AAED;;;;;;;GAOG;AACH,wBAAsB,WAAW,CAAC,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAC5D,KAAK,EAAE,YAAY,EACnB,KAAK,EAAE,aAAa,GAClB,OAAO,CAAC,WAAW,CAAC,CAAC,EAAE,CAAC,CAAC,CAE3B;AAED;;;;;;GAMG;AACH,wBAAsB,WAAW,CAAC,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAC5D,KAAK,EAAE,YAAY,GACjB,OAAO,CAAC,WAAW,CAAC,CAAC,EAAE,CAAC,CAAC,CAE3B;AAED;;;;;GAKG;AACH,wBAAsB,QAAQ,CAAC,CAAC,GAAG,OAAO,EAAE,IAAI,EAAE,SAAS,GAAG,OAAO,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,CAEpF;AAED;;;;;;GAMG;AACH,wBAAsB,WAAW,CAChC,GAAG,EAAE,YAAY,EACjB,IAAI,EAAE,IAAI,GAAG,IAAI,GACf,OAAO,CAAC,WAAW,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,CAAC,CAE/C;AAED;;;;;GAKG;AACH,wBAAsB,aAAa,CAAC,GAAG,EAAE,YAAY,GAAG,OAAO,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC,CAEjF;AAED;;;;;GAKG;AACH,wBAAsB,WAAW,CAChC,GAAG,EAAE,YAAY,GACf,OAAO,CAAC,WAAW,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,CAAC,CAE/C;AAED;;;;;;GAMG;AACH,wBAAsB,gBAAgB,CACrC,MAAM,EAAE,MAAM,EACd,OAAO,CAAC,EAAE,aAAa,GACrB,OAAO,CAAC,WAAW,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,CAAC,CAE/C;AAED;;;;;GAKG;AACH,wBAAgB,iBAAiB,CAAC,GAAG,EAAE,YAAY,GAAG,WAAW,CAAC;IAAE,SAAS,EAAE,MAAM,CAAA;CAAE,CAAC,CAEvF;AAED;;;;;GAKG;AACH,wBAAsB,mBAAmB,CAAC,CAAC,GAAG,OAAO,EACpD,OAAO,EAAE,eAAe,GACtB,OAAO,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,CAEzB"}
|