@hilbras/omnihilbras 1.71.0 → 1.75.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/adapters/claude-code.d.ts +165 -0
- package/dist/adapters/claude-code.d.ts.map +1 -0
- package/dist/adapters/claude-code.js +517 -0
- package/dist/adapters/claude-code.js.map +1 -0
- package/dist/adapters/cline.js +1 -1
- package/dist/adapters/kimi-code.d.ts +9 -0
- package/dist/adapters/kimi-code.d.ts.map +1 -1
- package/dist/adapters/kimi-code.js +54 -15
- package/dist/adapters/kimi-code.js.map +1 -1
- package/dist/adapters/tokenharbor-web.d.ts +201 -0
- package/dist/adapters/tokenharbor-web.d.ts.map +1 -0
- package/dist/adapters/tokenharbor-web.js +619 -0
- package/dist/adapters/tokenharbor-web.js.map +1 -0
- package/dist/index.d.ts +2 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +2 -0
- package/dist/index.js.map +1 -1
- package/dist/transport.d.ts +13 -0
- package/dist/transport.d.ts.map +1 -1
- package/dist/transport.js +10 -1
- package/dist/transport.js.map +1 -1
- package/package.json +1 -1
|
@@ -143,15 +143,36 @@ export class KimiCodeAdapter {
|
|
|
143
143
|
* rather than a denial because it is Kimi asking for a slower poll, not refusing the grant.
|
|
144
144
|
*/
|
|
145
145
|
async pollSignIn(deviceCode, signal, deviceId = crypto.randomUUID()) {
|
|
146
|
-
// Same form encoding, for the same measured reason
|
|
147
|
-
|
|
146
|
+
// Same form encoding, for the same measured reason — **and the status is the reason this had to be
|
|
147
|
+
// written differently.**
|
|
148
|
+
//
|
|
149
|
+
// `postForm` runs the request through the shared transport, which turns any non-2xx into a thrown
|
|
150
|
+
// `ProviderError` — the correct behaviour for an inference call. But Kimi's *token* endpoint answers
|
|
151
|
+
// a pending poll with **HTTP 400** and `{"error":"authorization_pending"}` in the body, so the throw
|
|
152
|
+
// happened before the body could be read and the flow reported a failure for a sign-in that was
|
|
153
|
+
// simply waiting. Measured against the live host:
|
|
154
|
+
//
|
|
155
|
+
// ```
|
|
156
|
+
// POST /api/oauth/token grant_type=device_code -> 400 {"error":"authorization_pending"} (still waiting)
|
|
157
|
+
// ```
|
|
158
|
+
//
|
|
159
|
+
// So the poll goes out raw and reads the status itself. The inference paths keep using `postForm`,
|
|
160
|
+
// where the transport's classification is exactly right.
|
|
161
|
+
const { data, status } = await this.postFormAllowingRefusal(KIMI_CODE.deviceTokenPath, {
|
|
148
162
|
grant_type: KIMI_CODE.grantType,
|
|
149
163
|
device_code: deviceCode,
|
|
150
164
|
client_id: KIMI_CODE.clientId,
|
|
151
165
|
}, this.kimiHeaders(deviceId), signal);
|
|
152
166
|
const error = typeof data.error === 'string' ? data.error : '';
|
|
153
|
-
|
|
167
|
+
// Read from the body whatever the status. The status is asserted as well, because a body carrying
|
|
168
|
+
// `authorization_pending` on a 200 would be a different provider's convention and should not be
|
|
169
|
+
// trusted silently — but the status alone is not enough either, since this endpoint answers 400.
|
|
170
|
+
if (error === 'authorization_pending' || error === 'slow_down') {
|
|
171
|
+
if (status !== 400 && status !== 200) {
|
|
172
|
+
return { status: 'denied', error: `Kimi answered ${status} for a poll that should still be waiting.` };
|
|
173
|
+
}
|
|
154
174
|
return { status: 'pending' };
|
|
175
|
+
}
|
|
155
176
|
if (error) {
|
|
156
177
|
const description = typeof data.error_description === 'string' ? data.error_description : '';
|
|
157
178
|
return {
|
|
@@ -337,18 +358,14 @@ export class KimiCodeAdapter {
|
|
|
337
358
|
const memo = this.renewed.get(replaced);
|
|
338
359
|
if (memo)
|
|
339
360
|
return memo;
|
|
340
|
-
|
|
341
|
-
|
|
342
|
-
|
|
343
|
-
|
|
344
|
-
|
|
345
|
-
|
|
346
|
-
|
|
347
|
-
|
|
348
|
-
client_id: KIMI_CODE.clientId,
|
|
349
|
-
}).toString(),
|
|
350
|
-
...(context.signal ? { signal: context.signal } : {}),
|
|
351
|
-
});
|
|
361
|
+
// Read the body whatever the status, for the same measured reason as the poll: a dead refresh token
|
|
362
|
+
// comes back as a 4xx whose `error_description` is the only place Kimi says *why*, and throwing on the
|
|
363
|
+
// status would replace that with the transport's own generic refusal.
|
|
364
|
+
const { data } = await this.postFormAllowingRefusal(KIMI_CODE.deviceTokenPath, {
|
|
365
|
+
grant_type: KIMI_CODE.refreshGrantType,
|
|
366
|
+
refresh_token: refresh,
|
|
367
|
+
client_id: KIMI_CODE.clientId,
|
|
368
|
+
}, { accept: 'application/json', 'content-type': 'application/x-www-form-urlencoded' }, context.signal);
|
|
352
369
|
const access = typeof data.access_token === 'string' ? data.access_token : '';
|
|
353
370
|
if (!access) {
|
|
354
371
|
const description = typeof data.error_description === 'string' ? data.error_description : '';
|
|
@@ -445,6 +462,28 @@ export class KimiCodeAdapter {
|
|
|
445
462
|
* rather than splitting the body — which on a token endpoint means a client id that arrives
|
|
446
463
|
* truncated, with no error to point at.
|
|
447
464
|
*/
|
|
465
|
+
/**
|
|
466
|
+
* Posts a form body and returns the parsed body **whatever the status**.
|
|
467
|
+
*
|
|
468
|
+
* Only for an endpoint whose 4xx carries a meaningful body — an OAuth token exchange, where `400
|
|
469
|
+
* authorization_pending` is an expected answer rather than a failure. Everywhere else the shared
|
|
470
|
+
* transport's classification is right and this must not be used: a 401 here would be read as data
|
|
471
|
+
* instead of an authentication failure.
|
|
472
|
+
*/
|
|
473
|
+
async postFormAllowingRefusal(path, fields, headers, signal) {
|
|
474
|
+
const response = await this.transport.request({
|
|
475
|
+
method: 'POST',
|
|
476
|
+
providerId: this.id,
|
|
477
|
+
url: `${KIMI_CODE.authOrigin}${path}`,
|
|
478
|
+
headers: { accept: 'application/json', ...headers },
|
|
479
|
+
body: new URLSearchParams(fields).toString(),
|
|
480
|
+
// The flag that reaches the transport: without it the 400 is thrown before this method runs, which
|
|
481
|
+
// was the whole defect — the first fix lived here and could not work, because the throw is upstream.
|
|
482
|
+
tolerateRefusalBody: true,
|
|
483
|
+
...(signal ? { signal } : {}),
|
|
484
|
+
});
|
|
485
|
+
return { data: (response.data ?? {}), status: response.status };
|
|
486
|
+
}
|
|
448
487
|
async postForm(path, fields, headers, signal) {
|
|
449
488
|
const response = await this.transport.request({
|
|
450
489
|
method: 'POST',
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"kimi-code.js","sourceRoot":"","sources":["../../src/adapters/kimi-code.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"kimi-code.js","sourceRoot":"","sources":["../../src/adapters/kimi-code.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,201 @@
|
|
|
1
|
+
import type { ChatMessage, ChatRequest, ChatResponse, CredentialValidation, Model, ProviderAdapter, ProviderCredential, ProviderHealth, ProviderId, ProviderRequestContext } from '../types.js';
|
|
2
|
+
/**
|
|
3
|
+
* Token Harbor Web — the chat application at tokenharbor.ai, driven by the Supabase session
|
|
4
|
+
* cookie a signed-in browser already holds.
|
|
5
|
+
*
|
|
6
|
+
* ## Read this before building on it
|
|
7
|
+
*
|
|
8
|
+
* Token Harbor's terms **prohibit** what this adapter does. Their product is itself a gateway,
|
|
9
|
+
* and the metered API key is its architectural guardrail; driving the web chat with a harvested
|
|
10
|
+
* session cookie routes around that guardrail. The two clauses that name it:
|
|
11
|
+
*
|
|
12
|
+
* > **Proxy Reselling:** Utilize the Service to construct a direct, white-labeled proxy
|
|
13
|
+
* > alternative to Token Harbor without adding substantive unique value or without prior written
|
|
14
|
+
* > enterprise authorization.
|
|
15
|
+
* >
|
|
16
|
+
* > ...designed to compromise the security, stability, or **architectural guardrails of the
|
|
17
|
+
* > Token Harbor gateway**.
|
|
18
|
+
*
|
|
19
|
+
* There is a legitimate path — `https://tokenharbor.ai/v1` with a Bearer key, OpenAI-compatible,
|
|
20
|
+
* documented, and free on the `:free` models — and it is the card beside this one. This adapter
|
|
21
|
+
* exists because the operator asked for the session-cookie route with that trade stated, and it
|
|
22
|
+
* carries the same warning in the dashboard catalog (`riskSeverity: 'high'`) so a user meets it
|
|
23
|
+
* before pasting a credential. It is the same shape as the Kiro notice: the vendor's terms and
|
|
24
|
+
* the gateway's behaviour are both on the card, and using it is the user's decision to make.
|
|
25
|
+
*
|
|
26
|
+
* ## What the credential is
|
|
27
|
+
*
|
|
28
|
+
* Auth is Supabase (`auth.tokenharbor.ai`), so the browser cookie is `sb-<ref>-auth-token`,
|
|
29
|
+
* where `<ref>` is the first label of the Supabase host — `auth`, giving `sb-auth-auth-token`.
|
|
30
|
+
* Above Supabase's size limit the value is split into `sb-...-auth-token.0`, `.1`, ... and the
|
|
31
|
+
* chunks are reassembled in order. It is written with `document.cookie`, so unlike ChatGPT Web's
|
|
32
|
+
* `HttpOnly` session it can be read from the Application panel or the Network tab's Cookie
|
|
33
|
+
* header — which is why the guide offers both.
|
|
34
|
+
*
|
|
35
|
+
* ## The wire format is not OpenAI's, and that is the whole adapter
|
|
36
|
+
*
|
|
37
|
+
* A turn is two requests and a decode:
|
|
38
|
+
*
|
|
39
|
+
* 1. `POST /api/direct-chat/sessions` with `{ model, temporary: true }` → `{ session: { id } }`.
|
|
40
|
+
* `temporary` is sent so a stateless gateway does not litter the user's sidebar with a
|
|
41
|
+
* conversation per request.
|
|
42
|
+
* 2. `POST /api/direct-chat/stream` with `{ sessionId, content, model, webSearch, tz }` → an SSE
|
|
43
|
+
* body whose events are **named**, not OpenAI's `choices[].delta`:
|
|
44
|
+
* `chunk` (the answer text in `delta`), `thinking` (reasoning in `delta`), `tool_use`,
|
|
45
|
+
* `citation`, `image`, `file`, `miniapp`, and `done`. `error` carries `{ code, message }`.
|
|
46
|
+
*
|
|
47
|
+
* Only `chunk`, `thinking`, `done` and `error` are consumed. The others are attachments and
|
|
48
|
+
* citations for a UI, and inventing an OpenAI shape for them here would be guessing at a
|
|
49
|
+
* contract this adapter cannot test without the session.
|
|
50
|
+
*
|
|
51
|
+
* ## What is not claimed
|
|
52
|
+
*
|
|
53
|
+
* `capabilities.streaming` is false and no `streamChat` is implemented: the transport is SSE,
|
|
54
|
+
* but the gateway consumes the whole body and returns one completion. A streaming surface would
|
|
55
|
+
* need the chunk boundary semantics verified against a live session first.
|
|
56
|
+
*
|
|
57
|
+
* `healthCheck` reports `verified: 'credential'`. It reads `/api/me/profile`, which proves the
|
|
58
|
+
* session cookie is accepted and nothing more — the same distinction the type exists to force.
|
|
59
|
+
*/
|
|
60
|
+
export declare const tokenHarborWebProviderId: ProviderId;
|
|
61
|
+
export declare const TOKENHARBOR_WEB: {
|
|
62
|
+
readonly origin: "https://tokenharbor.ai";
|
|
63
|
+
readonly apiBase: "https://tokenharbor.ai/api";
|
|
64
|
+
readonly profileUrl: "https://tokenharbor.ai/api/me/profile";
|
|
65
|
+
readonly sessionsUrl: "https://tokenharbor.ai/api/direct-chat/sessions";
|
|
66
|
+
readonly streamUrl: "https://tokenharbor.ai/api/direct-chat/stream";
|
|
67
|
+
readonly cookiePrefix: "sb-auth-auth-token";
|
|
68
|
+
readonly defaultModel: "th-rudder:free";
|
|
69
|
+
/** The page a user signs in on and copies the cookie from. */
|
|
70
|
+
readonly signInUrl: "https://tokenharbor.ai/login";
|
|
71
|
+
};
|
|
72
|
+
/**
|
|
73
|
+
* The catalog, read from `https://tokenharbor.ai/models` on 2026-10-07.
|
|
74
|
+
*
|
|
75
|
+
* A dated snapshot rather than a promise: the page is the live list and this is what it showed.
|
|
76
|
+
* Prices are per 1M tokens, which is the unit the SDK normalises to and the unit the page itself
|
|
77
|
+
* prints. The two `:free` ids are the ones that bill nothing.
|
|
78
|
+
*
|
|
79
|
+
* No context window is claimed because the page publishes none.
|
|
80
|
+
*/
|
|
81
|
+
export declare const TOKENHARBOR_WEB_MODELS: ReadonlyArray<{
|
|
82
|
+
id: string;
|
|
83
|
+
label: string;
|
|
84
|
+
family: string;
|
|
85
|
+
inputPer1M: number;
|
|
86
|
+
outputPer1M: number;
|
|
87
|
+
}>;
|
|
88
|
+
export declare function allTokenHarborWebModels(): string[];
|
|
89
|
+
/**
|
|
90
|
+
* Reads the Supabase session cookie out of whatever the user pasted.
|
|
91
|
+
*
|
|
92
|
+
* Two pastes are accepted, because both are things the guide tells people to copy:
|
|
93
|
+
*
|
|
94
|
+
* - the whole `Cookie:` request header (space for the Cloudflare clearance and the other cookies
|
|
95
|
+
* the SSR layer reads), and
|
|
96
|
+
* - just the `sb-auth-auth-token` value or the `sb-auth-auth-token=...` pair, from the
|
|
97
|
+
* Application panel.
|
|
98
|
+
*
|
|
99
|
+
* The chunks are **joined in numeric order**, which is not the order they appear in a header:
|
|
100
|
+
* a large token is stored as `.0`, `.1`, ... and a header that happens to list `.1` before `.0`
|
|
101
|
+
* would otherwise reassemble to a garbage session that fails later as an unexplained refusal.
|
|
102
|
+
*/
|
|
103
|
+
export declare function parseTokenHarborCookieHeader(raw: string): string;
|
|
104
|
+
/**
|
|
105
|
+
* Decodes the session cookie and reports what is wrong with it, or `undefined` when it is intact.
|
|
106
|
+
*
|
|
107
|
+
* Returns a sentence rather than a boolean because the two failures need different instructions: a
|
|
108
|
+
* value that does not decode is a **truncated paste**, and a value that decodes but carries no
|
|
109
|
+
* access token is a **shape this adapter does not recognise**. "Sign in again" is wrong for the
|
|
110
|
+
* first — the session is fine, the paste was short.
|
|
111
|
+
*/
|
|
112
|
+
export declare function sessionValueProblem(session: string): string | undefined;
|
|
113
|
+
/** The `expires_at` epoch seconds inside the session, when it is one this adapter can read.
|
|
114
|
+
*
|
|
115
|
+
* Accepts either the bare value or a whole Cookie header, because the two callers have different
|
|
116
|
+
* shapes in hand: the parser has the value, the refusal path has the assembled header.
|
|
117
|
+
*/
|
|
118
|
+
export declare function sessionExpiresAt(sessionOrCookie: string): number | undefined;
|
|
119
|
+
export declare function tokenHarborWebCredential(raw: string): ProviderCredential;
|
|
120
|
+
export declare function tokenHarborWebCookieFromCredential(credential: ProviderCredential | undefined): string;
|
|
121
|
+
export declare class TokenHarborWebAdapter implements ProviderAdapter {
|
|
122
|
+
readonly id: string;
|
|
123
|
+
readonly name = "Token Harbor Web";
|
|
124
|
+
readonly capabilities: {
|
|
125
|
+
readonly chat: true;
|
|
126
|
+
readonly models: true;
|
|
127
|
+
};
|
|
128
|
+
private readonly now;
|
|
129
|
+
private readonly fetchImpl;
|
|
130
|
+
constructor(options?: {
|
|
131
|
+
now?: () => number;
|
|
132
|
+
fetch?: typeof fetch;
|
|
133
|
+
});
|
|
134
|
+
/**
|
|
135
|
+
* The dated catalog above, not a request.
|
|
136
|
+
*
|
|
137
|
+
* Token Harbor publishes no public models JSON — the live list is rendered into the `/models`
|
|
138
|
+
* page — so there is nothing to read without a session, and an authenticated read per call
|
|
139
|
+
* would be a cost for a list that changes weekly. The snapshot is what the page showed on the
|
|
140
|
+
* date beside it, and the free-only policy narrows it the way the dialog's checkbox promises.
|
|
141
|
+
*/
|
|
142
|
+
listModels(context?: ProviderRequestContext): Promise<Model[]>;
|
|
143
|
+
/**
|
|
144
|
+
* A real round trip to `/api/me/profile`, which answers `{ ok: false }` with a 401 to a session
|
|
145
|
+
* it does not recognise. That is the cheapest endpoint that proves the cookie is accepted, and
|
|
146
|
+
* it is the whole of what this establishes — see `healthCheck`.
|
|
147
|
+
*/
|
|
148
|
+
validateCredential(credential: ProviderCredential | undefined, context?: ProviderRequestContext): Promise<CredentialValidation>;
|
|
149
|
+
/**
|
|
150
|
+
* `verified: 'credential'` — deliberately.
|
|
151
|
+
*
|
|
152
|
+
* Reading the profile proves the cookie is live; it says nothing about whether a model can
|
|
153
|
+
* answer. Claiming `inference` would need a real turn on every 60-second poll, which is a real
|
|
154
|
+
* request against someone else's service on a timer, and the type exists precisely so this
|
|
155
|
+
* distinction is stated rather than implied.
|
|
156
|
+
*/
|
|
157
|
+
healthCheck(context?: ProviderRequestContext): Promise<ProviderHealth>;
|
|
158
|
+
chat(request: ChatRequest, context?: ProviderRequestContext): Promise<ChatResponse>;
|
|
159
|
+
private createSession;
|
|
160
|
+
private request;
|
|
161
|
+
}
|
|
162
|
+
/**
|
|
163
|
+
* Flattens the message list into the single `content` string the endpoint takes.
|
|
164
|
+
*
|
|
165
|
+
* Labelled rather than concatenated: a bare join of `["You are terse.", "2+2?"]` loses which was
|
|
166
|
+
* which, and the model then answers as if the instruction were part of the question.
|
|
167
|
+
*/
|
|
168
|
+
export declare function flattenMessages(messages: readonly ChatMessage[]): string;
|
|
169
|
+
/**
|
|
170
|
+
* Reads a completed answer out of Token Harbor's named-event SSE body.
|
|
171
|
+
*
|
|
172
|
+
* The client's own parser is the source of truth for the shapes, and it is not OpenAI's:
|
|
173
|
+
*
|
|
174
|
+
* ```text
|
|
175
|
+
* event: chunk
|
|
176
|
+
* data: {"delta":"working"}
|
|
177
|
+
*
|
|
178
|
+
* event: thinking
|
|
179
|
+
* data: {"delta":"..."}
|
|
180
|
+
*
|
|
181
|
+
* event: done
|
|
182
|
+
* data: {}
|
|
183
|
+
* ```
|
|
184
|
+
*
|
|
185
|
+
* `chunk` is the answer text and `thinking` is the reasoning, split into their own events — so a
|
|
186
|
+
* model that thinks before answering does not have its reasoning read as the reply. `error`
|
|
187
|
+
* carries `{ code, message }` and is returned rather than thrown so the caller can name the code.
|
|
188
|
+
*
|
|
189
|
+
* **`done` is what makes a truncated body detectable.** A stream that closes without it was cut
|
|
190
|
+
* off, and the caller reports that instead of handing back half an answer labelled complete.
|
|
191
|
+
*/
|
|
192
|
+
export declare function decodeTokenHarborStream(body: string): {
|
|
193
|
+
content: string;
|
|
194
|
+
reasoning: string;
|
|
195
|
+
finished: boolean;
|
|
196
|
+
error?: {
|
|
197
|
+
code: string;
|
|
198
|
+
message: string;
|
|
199
|
+
};
|
|
200
|
+
};
|
|
201
|
+
//# sourceMappingURL=tokenharbor-web.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"tokenharbor-web.d.ts","sourceRoot":"","sources":["../../src/adapters/tokenharbor-web.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,WAAW,EAAE,WAAW,EAAE,YAAY,EAAE,oBAAoB,EAAgB,KAAK,EAAE,eAAe,EAAE,kBAAkB,EAAE,cAAc,EAAE,UAAU,EAAE,sBAAsB,EAAE,MAAM,aAAa,CAAC;AAE9M;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAyDG;AAEH,eAAO,MAAM,wBAAwB,EAAE,UAA8B,CAAC;AA6BtE,eAAO,MAAM,eAAe;;;;;;;;IAQ1B,8DAA8D;;CAEtD,CAAC;AAEX;;;;;;;;GAQG;AACH,eAAO,MAAM,sBAAsB,EAAE,aAAa,CAAC;IACjD,EAAE,EAAE,MAAM,CAAC;IACX,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,MAAM,CAAC;IACf,UAAU,EAAE,MAAM,CAAC;IACnB,WAAW,EAAE,MAAM,CAAC;CACrB,CAuBA,CAAC;AAEF,wBAAgB,uBAAuB,IAAI,MAAM,EAAE,CAElD;AAgBD;;;;;;;;;;;;;GAaG;AACH,wBAAgB,4BAA4B,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CA2EhE;AAwBD;;;;;;;GAOG;AACH,wBAAgB,mBAAmB,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS,CAuBvE;AAED;;;;GAIG;AACH,wBAAgB,gBAAgB,CAAC,eAAe,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS,CAW5E;AAUD,wBAAgB,wBAAwB,CAAC,GAAG,EAAE,MAAM,GAAG,kBAAkB,CAExE;AAED,wBAAgB,kCAAkC,CAAC,UAAU,EAAE,kBAAkB,GAAG,SAAS,GAAG,MAAM,CAOrG;AA2BD,qBAAa,qBAAsB,YAAW,eAAe;IAC3D,QAAQ,CAAC,EAAE,SAA4B;IACvC,QAAQ,CAAC,IAAI,sBAAsB;IACnC,QAAQ,CAAC,YAAY;;;MAAyC;IAE9D,OAAO,CAAC,QAAQ,CAAC,GAAG,CAAe;IACnC,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAe;gBAE7B,OAAO,GAAE;QAAE,GAAG,CAAC,EAAE,MAAM,MAAM,CAAC;QAAC,KAAK,CAAC,EAAE,OAAO,KAAK,CAAA;KAAO;IAKtE;;;;;;;OAOG;IACH,UAAU,CAAC,OAAO,GAAE,sBAA2B,GAAG,OAAO,CAAC,KAAK,EAAE,CAAC;IAalE;;;;OAIG;IACG,kBAAkB,CAAC,UAAU,EAAE,kBAAkB,GAAG,SAAS,EAAE,OAAO,GAAE,sBAA2B,GAAG,OAAO,CAAC,oBAAoB,CAAC;IAQzI;;;;;;;OAOG;IACG,WAAW,CAAC,OAAO,GAAE,sBAA2B,GAAG,OAAO,CAAC,cAAc,CAAC;IAc1E,IAAI,CAAC,OAAO,EAAE,WAAW,EAAE,OAAO,GAAE,sBAA2B,GAAG,OAAO,CAAC,YAAY,CAAC;YAkE/E,aAAa;IAgB3B,OAAO,CAAC,OAAO;CAYhB;AAsBD;;;;;GAKG;AACH,wBAAgB,eAAe,CAAC,QAAQ,EAAE,SAAS,WAAW,EAAE,GAAG,MAAM,CAYxE;AAED;;;;;;;;;;;;;;;;;;;;;;GAsBG;AACH,wBAAgB,uBAAuB,CAAC,IAAI,EAAE,MAAM,GAAG;IAAE,OAAO,EAAE,MAAM,CAAC;IAAC,SAAS,EAAE,MAAM,CAAC;IAAC,QAAQ,EAAE,OAAO,CAAC;IAAC,KAAK,CAAC,EAAE;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,OAAO,EAAE,MAAM,CAAA;KAAE,CAAA;CAAE,CAyC1J"}
|