@blimu/backend 0.1.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 (45) hide show
  1. package/README.md +238 -0
  2. package/dist/client.d.ts +64 -0
  3. package/dist/client.js +133 -0
  4. package/dist/client.js.map +1 -0
  5. package/dist/index.d.ts +22 -0
  6. package/dist/index.js +69 -0
  7. package/dist/index.js.map +1 -0
  8. package/dist/schema.d.ts +381 -0
  9. package/dist/schema.js +3 -0
  10. package/dist/schema.js.map +1 -0
  11. package/dist/services/authentication.d.ts +8 -0
  12. package/dist/services/authentication.js +28 -0
  13. package/dist/services/authentication.js.map +1 -0
  14. package/dist/services/bulk_roles.d.ts +7 -0
  15. package/dist/services/bulk_roles.js +19 -0
  16. package/dist/services/bulk_roles.js.map +1 -0
  17. package/dist/services/definitions.d.ts +11 -0
  18. package/dist/services/definitions.js +51 -0
  19. package/dist/services/definitions.js.map +1 -0
  20. package/dist/services/entitlements.d.ts +7 -0
  21. package/dist/services/entitlements.js +19 -0
  22. package/dist/services/entitlements.js.map +1 -0
  23. package/dist/services/jwk.d.ts +6 -0
  24. package/dist/services/jwk.js +17 -0
  25. package/dist/services/jwk.js.map +1 -0
  26. package/dist/services/public_authentication.d.ts +9 -0
  27. package/dist/services/public_authentication.js +35 -0
  28. package/dist/services/public_authentication.js.map +1 -0
  29. package/dist/services/public_environment.d.ts +8 -0
  30. package/dist/services/public_environment.js +24 -0
  31. package/dist/services/public_environment.js.map +1 -0
  32. package/dist/services/resources.d.ts +11 -0
  33. package/dist/services/resources.js +50 -0
  34. package/dist/services/resources.js.map +1 -0
  35. package/dist/services/roles.d.ts +9 -0
  36. package/dist/services/roles.js +34 -0
  37. package/dist/services/roles.js.map +1 -0
  38. package/dist/services/users.d.ts +12 -0
  39. package/dist/services/users.js +57 -0
  40. package/dist/services/users.js.map +1 -0
  41. package/dist/tsconfig.tsbuildinfo +1 -0
  42. package/dist/utils.d.ts +16 -0
  43. package/dist/utils.js +26 -0
  44. package/dist/utils.js.map +1 -0
  45. package/package.json +46 -0
package/README.md ADDED
@@ -0,0 +1,238 @@
1
+ # Blimu TypeScript SDK
2
+
3
+ This is an auto-generated TypeScript/JavaScript SDK for the Blimu API.
4
+
5
+ ## Installation
6
+
7
+ ```bash
8
+ npm install @blimu/backend
9
+ # or
10
+ yarn add @blimu/backend
11
+ ```
12
+
13
+ ## Quick Start
14
+
15
+ ```typescript
16
+ import { BlimuClient } from '@blimu/backend';
17
+
18
+ // Create a new client
19
+ const client = new BlimuClient({
20
+ baseURL: 'https://api.example.com',
21
+ timeoutMs: 10000,
22
+ retry: { retries: 2, backoffMs: 300, retryOn: [429, 500, 502, 503, 504] },
23
+ // Environment-based baseURL (optional)
24
+ env: 'sandbox',
25
+ envBaseURLs: {
26
+ sandbox: 'https://api-sandbox.example.com',
27
+ production: 'https://api.example.com',
28
+ },
29
+ // Auth (generic API Key or Bearer header)
30
+ accessToken: process.env.API_TOKEN,
31
+ headerName: 'access_token', // or 'Authorization' (defaults to Authorization: Bearer <token>)
32
+ });
33
+ // Example: Bulk create roles
34
+ try {
35
+ const result = await client.bulkRoles.create({
36
+ // Request body data
37
+ });
38
+ console.log('Result:', result);
39
+ } catch (error) {
40
+ // ApiError with structured data
41
+ console.error(error);
42
+ }
43
+ ```
44
+
45
+ ## Environment & Auth
46
+
47
+ ```typescript
48
+ const client = new BlimuClient({
49
+ env: 'sandbox',
50
+ envBaseURLs: {
51
+ sandbox: 'https://api-sandbox.example.com',
52
+ production: 'https://api.example.com',
53
+ },
54
+ accessToken: async () => process.env.API_TOKEN!,
55
+ headerName: 'access_token',
56
+ });
57
+ client.setAccessToken('new-token');
58
+ ```
59
+
60
+ ## Pagination
61
+
62
+ ```typescript
63
+ import { listAll } from '@blimu/backend';
64
+
65
+ const allPayments = await listAll((query) => client.payment.listPayments(query), { limit: 100 });
66
+ ```
67
+
68
+ ## Interceptors
69
+
70
+ ```typescript
71
+ const client = new BlimuClient({
72
+ onRequest: ({ url, init }) => console.debug('->', init.method, url),
73
+ onResponse: ({ response }) => console.debug('<-', response.status),
74
+ onError: (err) => console.warn('request error', err),
75
+ });
76
+ ```
77
+
78
+ ## Authentication
79
+
80
+ This SDK supports the following authentication methods:
81
+
82
+ ### ApiKeyAuth
83
+
84
+ API Key authentication (header):
85
+
86
+ ```typescript
87
+ const client = new BlimuClient({
88
+ apiKeyAuth: 'your-api-key',
89
+ });
90
+ ```
91
+
92
+ ### Bearer
93
+
94
+ Bearer token authentication:
95
+
96
+ ```typescript
97
+ const client = new BlimuClient({
98
+ bearer: 'your-bearer-token',
99
+ });
100
+ ```
101
+
102
+ ## Subpath imports
103
+
104
+ ```typescript
105
+ import { PaymentService, Schema } from '@blimu/backend';
106
+ ```
107
+
108
+ ## Available Services
109
+
110
+ ### BulkRolesService
111
+
112
+ - **create**: POST /v1/users/roles/bulk - Bulk create roles
113
+
114
+ ### EntitlementsService
115
+
116
+ - **checkEntitlement**: POST /v1/entitlements/check - Check if a user has a specific entitlement on a resource
117
+
118
+ ### ResourcesService
119
+
120
+ - **list**: GET /v1/resources/{resourceType} - List resources
121
+ - **bulkCreate**: POST /v1/resources/{resourceType} - Bulk create resources
122
+ - **delete**: DELETE /v1/resources/{resourceType}/{resourceId} - Delete a resource
123
+ - **read**: GET /v1/resources/{resourceType}/{resourceId} - Read a resource
124
+ - **update**: PUT /v1/resources/{resourceType}/{resourceId} - Update a resource
125
+
126
+ ### RolesService
127
+
128
+ - **list**: GET /v1/users/{userId}/roles - List user roles
129
+ - **create**: POST /v1/users/{userId}/roles - Create a role (assign role to user on resource)
130
+ - **delete**: DELETE /v1/users/{userId}/roles/{resourceType}/{resourceId} - Delete a role
131
+
132
+ ### UsersService
133
+
134
+ - **list**: GET /v1/users - List users
135
+ - **create**: POST /v1/users - Create a user
136
+ - **delete**: DELETE /v1/users/{userId} - Delete a user
137
+ - **read**: GET /v1/users/{userId} - Get a user by ID
138
+ - **update**: PUT /v1/users/{userId} - Update a user
139
+ - **listEffectiveUserResourcesRoles**: GET /v1/users/{userId}/effective-user-resources-roles - List effective user resources roles
140
+
141
+ ## TypeScript Support
142
+
143
+ This SDK is written in TypeScript and provides full type safety:
144
+
145
+ ```typescript
146
+ import { BlimuClient, Schema } from '@blimu/backend';
147
+
148
+ const client = new BlimuClient({
149
+ /* config */
150
+ });
151
+
152
+ // All methods are fully typed
153
+ const result: RoleBulkResult = await client.bulkRoles.create(/* ... */);
154
+
155
+ // Schema types are available
156
+ const data: Schema.AuthLoginBody = {
157
+ // Fully typed object
158
+ };
159
+ ```
160
+
161
+ ## Node.js Usage
162
+
163
+ For Node.js environments, you may need to provide a fetch implementation:
164
+
165
+ ```bash
166
+ npm install undici
167
+ ```
168
+
169
+ ```typescript
170
+ import { fetch } from 'undici';
171
+ import { BlimuClient } from '@blimu/backend';
172
+
173
+ const client = new BlimuClient({
174
+ baseURL: 'https://api.example.com',
175
+ fetch,
176
+ });
177
+ ```
178
+
179
+ ## Models and Types
180
+
181
+ The SDK includes the following TypeScript interfaces:
182
+
183
+ - **AuthLoginBody**
184
+ - **AuthRegisterBody**
185
+ - **AuthResponse**
186
+ - **Branding**
187
+ - **ConsentForm**
188
+ - **Definition**
189
+ - **DefinitionCustomTypesResponse**
190
+ - **DefinitionGenerateSDKBody**
191
+ - **DefinitionGenerateSDKResponse**
192
+ - **DefinitionValidateBody**
193
+ - **DefinitionValidateResponse**
194
+ - **EntitlementCheckBody**
195
+ - **EntitlementCheckResult**
196
+ - **EntitlementType**: Entitlement identifier
197
+ - **EnvironmentByDomain**
198
+ - **OAuthApplication**
199
+ - **OAuthTokenBody**
200
+ - **Resource**
201
+ - **ResourceBulkCreateBody**
202
+ - **ResourceBulkResult**
203
+ - **ResourceCreateBody**
204
+ - **ResourceList**
205
+ - **ResourceType**: Resource type identifier
206
+ - **ResourceUpdateBody**
207
+ - **Role**
208
+ - **RoleBulkCreateBody**
209
+ - **RoleBulkResult**
210
+ - **RoleCreateBody**
211
+ - **RoleList**
212
+ - **SessionUser**
213
+ - **TokenResponse**
214
+ - **User**
215
+ - **UserCreateBody**
216
+ - **UserList**
217
+ - **UserResourceList**
218
+ - **UserUpdateBody**
219
+
220
+ All types are available under the `Schema` namespace:
221
+
222
+ ```typescript
223
+ import { Schema } from '@blimu/backend';
224
+
225
+ // Use any model type
226
+ const user: Schema.User = {
227
+ /* ... */
228
+ };
229
+ ```
230
+
231
+ ## Contributing
232
+
233
+ This SDK is auto-generated. Please do not edit the generated files directly.
234
+ If you find issues, please report them in the main project repository.
235
+
236
+ ## License
237
+
238
+ This SDK is generated from the Blimu API specification.
@@ -0,0 +1,64 @@
1
+ export type ClientOption = {
2
+ baseURL?: string;
3
+ headers?: Record<string, string>;
4
+ timeoutMs?: number;
5
+ retry?: {
6
+ retries: number;
7
+ backoffMs: number;
8
+ retryOn?: number[];
9
+ };
10
+ onRequest?: (ctx: {
11
+ url: string;
12
+ init: RequestInit & {
13
+ path: string;
14
+ method: string;
15
+ query?: Record<string, any>;
16
+ };
17
+ attempt: number;
18
+ }) => void | Promise<void>;
19
+ onResponse?: (ctx: {
20
+ url: string;
21
+ init: RequestInit & {
22
+ path: string;
23
+ method: string;
24
+ query?: Record<string, any>;
25
+ };
26
+ attempt: number;
27
+ response: Response;
28
+ }) => void | Promise<void>;
29
+ onError?: (err: unknown, ctx: {
30
+ url: string;
31
+ init: RequestInit & {
32
+ path: string;
33
+ method: string;
34
+ query?: Record<string, any>;
35
+ };
36
+ attempt: number;
37
+ }) => void | Promise<void>;
38
+ env?: 'sandbox' | 'production';
39
+ envBaseURLs?: {
40
+ sandbox: string;
41
+ production: string;
42
+ };
43
+ accessToken?: string | (() => string | Promise<string>);
44
+ headerName?: string;
45
+ apiKeyAuth?: string;
46
+ bearer?: string;
47
+ fetch?: typeof fetch;
48
+ };
49
+ export declare class ApiError<T = unknown> extends Error {
50
+ readonly status: number;
51
+ readonly data?: T | undefined;
52
+ readonly headers?: Headers | undefined;
53
+ constructor(message: string, status: number, data?: T | undefined, headers?: Headers | undefined);
54
+ }
55
+ export declare class CoreClient {
56
+ private cfg;
57
+ constructor(cfg?: ClientOption);
58
+ setAccessToken(token: string | (() => string | Promise<string>)): void;
59
+ request(init: RequestInit & {
60
+ path: string;
61
+ method: string;
62
+ query?: Record<string, any>;
63
+ }): Promise<any>;
64
+ }
package/dist/client.js ADDED
@@ -0,0 +1,133 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.CoreClient = exports.ApiError = void 0;
4
+ class ApiError extends Error {
5
+ constructor(message, status, data, headers) {
6
+ super(message);
7
+ this.status = status;
8
+ this.data = data;
9
+ this.headers = headers;
10
+ this.name = 'ApiError';
11
+ }
12
+ }
13
+ exports.ApiError = ApiError;
14
+ class CoreClient {
15
+ constructor(cfg = {}) {
16
+ this.cfg = cfg;
17
+ if (!this.cfg.baseURL) {
18
+ if (this.cfg.env && this.cfg.envBaseURLs) {
19
+ this.cfg.baseURL =
20
+ this.cfg.env === 'production'
21
+ ? this.cfg.envBaseURLs.production
22
+ : this.cfg.envBaseURLs.sandbox;
23
+ }
24
+ else {
25
+ this.cfg.baseURL = 'https://api.blimu.dev';
26
+ }
27
+ }
28
+ }
29
+ setAccessToken(token) {
30
+ this.cfg.accessToken = token;
31
+ }
32
+ async request(init) {
33
+ let normalizedPath = init.path || '';
34
+ if (normalizedPath.length > 1 && normalizedPath.endsWith('/')) {
35
+ normalizedPath = normalizedPath.slice(0, -1);
36
+ }
37
+ const url = new URL((this.cfg.baseURL || '') + normalizedPath);
38
+ if (init.query) {
39
+ Object.entries(init.query).forEach(([k, v]) => {
40
+ if (v === undefined || v === null)
41
+ return;
42
+ if (Array.isArray(v))
43
+ v.forEach((vv) => url.searchParams.append(k, String(vv)));
44
+ else
45
+ url.searchParams.set(k, String(v));
46
+ });
47
+ }
48
+ const headers = new Headers({
49
+ ...(this.cfg.headers || {}),
50
+ ...init.headers,
51
+ });
52
+ if (this.cfg.accessToken) {
53
+ const token = typeof this.cfg.accessToken === 'function'
54
+ ? await this.cfg.accessToken()
55
+ : this.cfg.accessToken;
56
+ const name = this.cfg.headerName || 'Authorization';
57
+ if (name.toLowerCase() === 'authorization')
58
+ headers.set(name, `Bearer ${String(token)}`);
59
+ else
60
+ headers.set(name, String(token));
61
+ }
62
+ if (this.cfg?.apiKeyAuth)
63
+ headers.set('X-API-KEY', String(this.cfg?.apiKeyAuth));
64
+ if (this.cfg.bearer)
65
+ headers.set('Authorization', `Bearer ${this.cfg.bearer}`);
66
+ const doFetch = async (attempt) => {
67
+ if (this.cfg.onRequest)
68
+ await this.cfg.onRequest({ url: url.toString(), init, attempt });
69
+ let controller;
70
+ let timeoutId;
71
+ const fetchInit = { ...init, headers };
72
+ if (this.cfg.timeoutMs && typeof AbortController !== 'undefined') {
73
+ controller = new AbortController();
74
+ fetchInit.signal = controller.signal;
75
+ timeoutId = setTimeout(() => controller?.abort(), this.cfg.timeoutMs);
76
+ }
77
+ try {
78
+ const res = await (this.cfg.fetch || fetch)(url.toString(), fetchInit);
79
+ if (this.cfg.onResponse)
80
+ await this.cfg.onResponse({ url: url.toString(), init, attempt, response: res });
81
+ const ct = res.headers.get('content-type') || '';
82
+ let parsed;
83
+ if (ct.includes('application/json')) {
84
+ parsed = await res.json();
85
+ }
86
+ else if (ct.startsWith('text/')) {
87
+ parsed = await res.text();
88
+ }
89
+ else {
90
+ parsed = await res.arrayBuffer();
91
+ }
92
+ if (!res.ok) {
93
+ throw new ApiError(`HTTP ${res.status}`, res.status, parsed, res.headers);
94
+ }
95
+ return parsed;
96
+ }
97
+ catch (err) {
98
+ if (this.cfg.onError)
99
+ await this.cfg.onError(err, { url: url.toString(), init, attempt });
100
+ throw err;
101
+ }
102
+ finally {
103
+ if (timeoutId)
104
+ clearTimeout(timeoutId);
105
+ }
106
+ };
107
+ const retries = this.cfg.retry?.retries ?? 0;
108
+ const baseBackoff = this.cfg.retry?.backoffMs ?? 300;
109
+ const retryOn = this.cfg.retry?.retryOn ?? [429, 500, 502, 503, 504];
110
+ let lastError;
111
+ for (let attempt = 0; attempt <= retries; attempt++) {
112
+ try {
113
+ return await doFetch(attempt);
114
+ }
115
+ catch (err) {
116
+ const status = err?.status;
117
+ const shouldRetry = status ? retryOn.includes(status) : true;
118
+ if (attempt < retries && shouldRetry) {
119
+ const delay = baseBackoff * Math.pow(2, attempt);
120
+ await new Promise((r) => setTimeout(r, delay));
121
+ lastError = err;
122
+ continue;
123
+ }
124
+ if (err instanceof ApiError)
125
+ throw err;
126
+ throw new ApiError(err?.message || 'Network error', status ?? 0);
127
+ }
128
+ }
129
+ throw lastError;
130
+ }
131
+ }
132
+ exports.CoreClient = CoreClient;
133
+ //# sourceMappingURL=client.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"client.js","sourceRoot":"","sources":["../src/client.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,22 @@
1
+ import { ClientOption } from './client';
2
+ import { BulkRolesService } from './services/bulk_roles';
3
+ import { EntitlementsService } from './services/entitlements';
4
+ import { ResourcesService } from './services/resources';
5
+ import { RolesService } from './services/roles';
6
+ import { UsersService } from './services/users';
7
+ export declare class Blimu {
8
+ readonly bulkRoles: BulkRolesService;
9
+ readonly entitlements: EntitlementsService;
10
+ readonly resources: ResourcesService;
11
+ readonly roles: RolesService;
12
+ readonly users: UsersService;
13
+ constructor(options?: ClientOption);
14
+ }
15
+ export type { ClientOption };
16
+ export * as Schema from './schema';
17
+ export * from './utils';
18
+ export { BulkRolesService } from './services/bulk_roles';
19
+ export { EntitlementsService } from './services/entitlements';
20
+ export { ResourcesService } from './services/resources';
21
+ export { RolesService } from './services/roles';
22
+ export { UsersService } from './services/users';
package/dist/index.js ADDED
@@ -0,0 +1,69 @@
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
14
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
15
+ }) : function(o, v) {
16
+ o["default"] = v;
17
+ });
18
+ var __importStar = (this && this.__importStar) || (function () {
19
+ var ownKeys = function(o) {
20
+ ownKeys = Object.getOwnPropertyNames || function (o) {
21
+ var ar = [];
22
+ for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
23
+ return ar;
24
+ };
25
+ return ownKeys(o);
26
+ };
27
+ return function (mod) {
28
+ if (mod && mod.__esModule) return mod;
29
+ var result = {};
30
+ if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
31
+ __setModuleDefault(result, mod);
32
+ return result;
33
+ };
34
+ })();
35
+ var __exportStar = (this && this.__exportStar) || function(m, exports) {
36
+ for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
37
+ };
38
+ Object.defineProperty(exports, "__esModule", { value: true });
39
+ exports.UsersService = exports.RolesService = exports.ResourcesService = exports.EntitlementsService = exports.BulkRolesService = exports.Schema = exports.Blimu = void 0;
40
+ const client_1 = require("./client");
41
+ const bulk_roles_1 = require("./services/bulk_roles");
42
+ const entitlements_1 = require("./services/entitlements");
43
+ const resources_1 = require("./services/resources");
44
+ const roles_1 = require("./services/roles");
45
+ const users_1 = require("./services/users");
46
+ class Blimu {
47
+ constructor(options) {
48
+ const core = new client_1.CoreClient(options);
49
+ this.bulkRoles = new bulk_roles_1.BulkRolesService(core);
50
+ this.entitlements = new entitlements_1.EntitlementsService(core);
51
+ this.resources = new resources_1.ResourcesService(core);
52
+ this.roles = new roles_1.RolesService(core);
53
+ this.users = new users_1.UsersService(core);
54
+ }
55
+ }
56
+ exports.Blimu = Blimu;
57
+ exports.Schema = __importStar(require("./schema"));
58
+ __exportStar(require("./utils"), exports);
59
+ var bulk_roles_2 = require("./services/bulk_roles");
60
+ Object.defineProperty(exports, "BulkRolesService", { enumerable: true, get: function () { return bulk_roles_2.BulkRolesService; } });
61
+ var entitlements_2 = require("./services/entitlements");
62
+ Object.defineProperty(exports, "EntitlementsService", { enumerable: true, get: function () { return entitlements_2.EntitlementsService; } });
63
+ var resources_2 = require("./services/resources");
64
+ Object.defineProperty(exports, "ResourcesService", { enumerable: true, get: function () { return resources_2.ResourcesService; } });
65
+ var roles_2 = require("./services/roles");
66
+ Object.defineProperty(exports, "RolesService", { enumerable: true, get: function () { return roles_2.RolesService; } });
67
+ var users_2 = require("./services/users");
68
+ Object.defineProperty(exports, "UsersService", { enumerable: true, get: function () { return users_2.UsersService; } });
69
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,qCAAoD;AACpD,sDAAyD;AACzD,0DAA8D;AAC9D,oDAAwD;AACxD,4CAAgD;AAChD,4CAAgD;AAEhD,MAAa,KAAK;IAOhB,YAAY,OAAsB;QAChC,MAAM,IAAI,GAAG,IAAI,mBAAU,CAAC,OAAO,CAAC,CAAC;QACrC,IAAI,CAAC,SAAS,GAAG,IAAI,6BAAgB,CAAC,IAAI,CAAC,CAAC;QAC5C,IAAI,CAAC,YAAY,GAAG,IAAI,kCAAmB,CAAC,IAAI,CAAC,CAAC;QAClD,IAAI,CAAC,SAAS,GAAG,IAAI,4BAAgB,CAAC,IAAI,CAAC,CAAC;QAC5C,IAAI,CAAC,KAAK,GAAG,IAAI,oBAAY,CAAC,IAAI,CAAC,CAAC;QACpC,IAAI,CAAC,KAAK,GAAG,IAAI,oBAAY,CAAC,IAAI,CAAC,CAAC;IACtC,CAAC;CACF;AAfD,sBAeC;AAKD,mDAAmC;AACnC,0CAAwB;AACxB,oDAAyD;AAAhD,8GAAA,gBAAgB,OAAA;AACzB,wDAA8D;AAArD,mHAAA,mBAAmB,OAAA;AAC5B,kDAAwD;AAA/C,6GAAA,gBAAgB,OAAA;AACzB,0CAAgD;AAAvC,qGAAA,YAAY,OAAA;AACrB,0CAAgD;AAAvC,qGAAA,YAAY,OAAA"}