opencode-openai-codex-multi-auth 4.5.4 → 4.5.6
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 +10 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +187 -29
- package/dist/index.js.map +1 -1
- package/dist/lib/account-matching.d.ts +1 -0
- package/dist/lib/account-matching.d.ts.map +1 -1
- package/dist/lib/account-matching.js +5 -6
- package/dist/lib/account-matching.js.map +1 -1
- package/dist/lib/accounts.d.ts +15 -1
- package/dist/lib/accounts.d.ts.map +1 -1
- package/dist/lib/accounts.js +193 -30
- package/dist/lib/accounts.js.map +1 -1
- package/dist/lib/auth/auth.d.ts.map +1 -1
- package/dist/lib/auth/auth.js +3 -1
- package/dist/lib/auth/auth.js.map +1 -1
- package/dist/lib/cli.d.ts +3 -1
- package/dist/lib/cli.d.ts.map +1 -1
- package/dist/lib/cli.js +37 -3
- package/dist/lib/cli.js.map +1 -1
- package/dist/lib/config.d.ts +8 -0
- package/dist/lib/config.d.ts.map +1 -1
- package/dist/lib/config.js +35 -0
- package/dist/lib/config.js.map +1 -1
- package/dist/lib/oauth-success.html +1 -1
- package/dist/lib/rate-limit.d.ts +36 -0
- package/dist/lib/rate-limit.d.ts.map +1 -0
- package/dist/lib/rate-limit.js +78 -0
- package/dist/lib/rate-limit.js.map +1 -0
- package/dist/lib/refresh-queue.d.ts +37 -0
- package/dist/lib/refresh-queue.d.ts.map +1 -0
- package/dist/lib/refresh-queue.js +83 -0
- package/dist/lib/refresh-queue.js.map +1 -0
- package/dist/lib/rotation.d.ts +1 -1
- package/dist/lib/rotation.d.ts.map +1 -1
- package/dist/lib/rotation.js +15 -3
- package/dist/lib/rotation.js.map +1 -1
- package/dist/lib/storage.d.ts +2 -0
- package/dist/lib/storage.d.ts.map +1 -1
- package/dist/lib/storage.js +202 -29
- package/dist/lib/storage.js.map +1 -1
- package/dist/lib/types.d.ts +45 -0
- package/dist/lib/types.d.ts.map +1 -1
- package/package.json +4 -2
package/README.md
CHANGED
|
@@ -11,6 +11,13 @@ Upstream project (credit): [numman-ali/opencode-openai-codex-auth](https://githu
|
|
|
11
11
|
**One install. Every Codex model. Multi-account aware.**
|
|
12
12
|
[Install](#-quick-start) · [Models](#-models) · [Configuration](#-configuration) · [Docs](#-docs)
|
|
13
13
|
|
|
14
|
+
**NOTE:**
|
|
15
|
+
|
|
16
|
+
Currently, the CLI (opencode auth login) path does not work correctly due to a possibly unintentional bug in how Opencode handles provider logins in their CLI. The TUI (opencode > ctrl + x m > ctrl + a, OpenAI) path works perfectly as it functions as intended.
|
|
17
|
+
> Related issue: [Issue #10898](https://github.com/anomalyco/opencode/issues/10898)
|
|
18
|
+
|
|
19
|
+
> Related PRs: [Pull #11058](https://github.com/anomalyco/opencode/pull/11058) // [Pull #11076](https://github.com/anomalyco/opencode/pull/11076)
|
|
20
|
+
|
|
14
21
|
---
|
|
15
22
|
## 💡 Philosophy
|
|
16
23
|
> **"One config. Every model."**
|
|
@@ -45,7 +52,7 @@ npx -y opencode-openai-codex-multi-auth@latest --uninstall --all
|
|
|
45
52
|
```
|
|
46
53
|
|
|
47
54
|
## ⚠️ Migration Note (Multi-Plan Accounts)
|
|
48
|
-
If you used multiple plans under the same ChatGPT accountId on older versions, the
|
|
55
|
+
If you used multiple plans or emails under the same ChatGPT accountId on older versions, the
|
|
49
56
|
previous matching logic could overwrite entries. To regenerate a clean layout:
|
|
50
57
|
|
|
51
58
|
```bash
|
|
@@ -75,6 +82,8 @@ Minimal configs are not supported for GPT‑5.x; use the full configs above.
|
|
|
75
82
|
- Multimodal input enabled for all models
|
|
76
83
|
- Usage‑aware errors + automatic token refresh
|
|
77
84
|
- Multi-account support with sticky selection + PID offset (great for parallel agents)
|
|
85
|
+
- Account enable/disable management (via `opencode auth login` manage)
|
|
86
|
+
- Strict account identity matching (`accountId` + `email` + `plan`)
|
|
78
87
|
- Hybrid account selection strategy (health score + token bucket + LRU bias)
|
|
79
88
|
- Optional round-robin account rotation (maximum throughput)
|
|
80
89
|
- OpenCode TUI toasts + `openai-accounts` / `openai-accounts-switch` tools
|
package/dist/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;GAsBG;AAEH,OAAO,EAAQ,KAAK,MAAM,EAAoB,MAAM,qBAAqB,CAAC;
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;GAsBG;AAEH,OAAO,EAAQ,KAAK,MAAM,EAAoB,MAAM,qBAAqB,CAAC;AA4G1E;;;;;;;;;;;;;;GAcG;AACH,eAAO,MAAM,gBAAgB,EAAE,MAu5B9B,CAAC;AAEF,eAAe,gBAAgB,CAAC"}
|
package/dist/index.js
CHANGED
|
@@ -22,20 +22,22 @@
|
|
|
22
22
|
* @repository https://github.com/numman-ali/opencode-openai-codex-auth
|
|
23
23
|
*/
|
|
24
24
|
import { tool } from "@opencode-ai/plugin";
|
|
25
|
-
import { createAuthorizationFlow, exchangeAuthorizationCode, parseAuthorizationInput, REDIRECT_URI,
|
|
25
|
+
import { createAuthorizationFlow, exchangeAuthorizationCode, parseAuthorizationInput, REDIRECT_URI, } from "./lib/auth/auth.js";
|
|
26
26
|
import { openBrowserUrl } from "./lib/auth/browser.js";
|
|
27
27
|
import { startLocalOAuthServer } from "./lib/auth/server.js";
|
|
28
|
-
import { getAccountSelectionStrategy, getCodexMode, getPidOffsetEnabled, getQuietMode, getRateLimitToastDebounceMs, getRetryAllAccountsMaxRetries, getRetryAllAccountsMaxWaitMs, getRetryAllAccountsRateLimited, getTokenRefreshSkewMs, loadPluginConfig, } from "./lib/config.js";
|
|
28
|
+
import { getAccountSelectionStrategy, getCodexMode, getDefaultRetryAfterMs, getMaxBackoffMs, getMaxCacheFirstWaitSeconds, getPidOffsetEnabled, getQuietMode, getRateLimitDedupWindowMs, getRateLimitStateResetMs, getRateLimitToastDebounceMs, getRequestJitterMaxMs, getRetryAllAccountsMaxRetries, getRetryAllAccountsMaxWaitMs, getRetryAllAccountsRateLimited, getSchedulingMode, getSwitchOnFirstRateLimit, getTokenRefreshSkewMs, loadPluginConfig, } from "./lib/config.js";
|
|
29
29
|
import { AUTH_LABELS, CODEX_BASE_URL, DUMMY_API_KEY, HTTP_STATUS, LOG_STAGES, PLUGIN_NAME, PROVIDER_ID, } from "./lib/constants.js";
|
|
30
30
|
import { logRequest, logDebug } from "./lib/logger.js";
|
|
31
31
|
import { createCodexHeaders, extractRequestUrl, handleErrorResponse, handleSuccessResponse, rewriteUrlForCodex, transformRequestForCodex, } from "./lib/request/fetch-helpers.js";
|
|
32
|
-
import { AccountManager, extractAccountEmail, extractAccountId, extractAccountPlan, formatAccountLabel, formatWaitTime, isOAuthAuth, sanitizeEmail, } from "./lib/accounts.js";
|
|
33
|
-
import { promptAddAnotherAccount, promptLoginMode, promptOAuthCallbackValue } from "./lib/cli.js";
|
|
32
|
+
import { AccountManager, extractAccountEmail, extractAccountId, extractAccountPlan, formatAccountLabel, formatWaitTime, isOAuthAuth, needsIdentityHydration, sanitizeEmail, } from "./lib/accounts.js";
|
|
33
|
+
import { promptAddAnotherAccount, promptLoginMode, promptManageAccounts, promptOAuthCallbackValue, } from "./lib/cli.js";
|
|
34
34
|
import { withTerminalModeRestored } from "./lib/terminal.js";
|
|
35
|
-
import { getStoragePath, loadAccounts, saveAccounts } from "./lib/storage.js";
|
|
35
|
+
import { getStoragePath, loadAccounts, saveAccounts, toggleAccountEnabled } from "./lib/storage.js";
|
|
36
36
|
import { findAccountMatchIndex } from "./lib/account-matching.js";
|
|
37
37
|
import { getModelFamily, MODEL_FAMILIES } from "./lib/prompts/codex.js";
|
|
38
38
|
import { getHealthTracker, getTokenTracker } from "./lib/rotation.js";
|
|
39
|
+
import { RateLimitTracker, decideRateLimitAction, parseRateLimitReason } from "./lib/rate-limit.js";
|
|
40
|
+
import { ProactiveRefreshQueue, createRefreshScheduler, } from "./lib/refresh-queue.js";
|
|
39
41
|
const RATE_LIMIT_SHORT_RETRY_THRESHOLD_MS = 5_000;
|
|
40
42
|
const AUTH_FAILURE_COOLDOWN_MS = 60_000;
|
|
41
43
|
const MAX_ACCOUNTS = 10;
|
|
@@ -80,6 +82,7 @@ function parseRetryAfterMs(headers) {
|
|
|
80
82
|
*/
|
|
81
83
|
export const OpenAIAuthPlugin = async ({ client }) => {
|
|
82
84
|
let cachedAccountManager = null;
|
|
85
|
+
let proactiveRefreshScheduler = null;
|
|
83
86
|
const showToast = async (message, variant = "info", quietMode = false) => {
|
|
84
87
|
if (quietMode)
|
|
85
88
|
return;
|
|
@@ -114,8 +117,11 @@ export const OpenAIAuthPlugin = async ({ client }) => {
|
|
|
114
117
|
const accountId = extractAccountId(token.access);
|
|
115
118
|
const email = sanitizeEmail(extractAccountEmail(token.idToken ?? token.access));
|
|
116
119
|
const plan = extractAccountPlan(token.idToken ?? token.access);
|
|
120
|
+
if (!accountId || !email || !plan) {
|
|
121
|
+
debugAuth("[PersistAccount] Missing account identity fields; persisting legacy entry");
|
|
122
|
+
}
|
|
117
123
|
debugAuth(`[PersistAccount] Account details - accountId: ${accountId}, email: ${email}, plan: ${plan}, existing accounts: ${accounts.length}`);
|
|
118
|
-
const existingIndex = findAccountMatchIndex(accounts, { accountId, plan });
|
|
124
|
+
const existingIndex = findAccountMatchIndex(accounts, { accountId, plan, email });
|
|
119
125
|
debugAuth(`[PersistAccount] Match index: ${existingIndex}`);
|
|
120
126
|
if (existingIndex === -1) {
|
|
121
127
|
debugAuth("[PersistAccount] Adding new account");
|
|
@@ -124,6 +130,7 @@ export const OpenAIAuthPlugin = async ({ client }) => {
|
|
|
124
130
|
accountId,
|
|
125
131
|
email,
|
|
126
132
|
plan,
|
|
133
|
+
enabled: true,
|
|
127
134
|
addedAt: now,
|
|
128
135
|
lastUsed: now,
|
|
129
136
|
});
|
|
@@ -136,6 +143,8 @@ export const OpenAIAuthPlugin = async ({ client }) => {
|
|
|
136
143
|
existing.accountId = accountId ?? existing.accountId;
|
|
137
144
|
existing.email = email ?? existing.email;
|
|
138
145
|
existing.plan = plan ?? existing.plan;
|
|
146
|
+
if (typeof existing.enabled !== "boolean")
|
|
147
|
+
existing.enabled = true;
|
|
139
148
|
existing.lastUsed = now;
|
|
140
149
|
}
|
|
141
150
|
}
|
|
@@ -190,10 +199,79 @@ export const OpenAIAuthPlugin = async ({ client }) => {
|
|
|
190
199
|
const pidOffsetEnabled = getPidOffsetEnabled(pluginConfig);
|
|
191
200
|
const quietMode = getQuietMode(pluginConfig);
|
|
192
201
|
const tokenRefreshSkewMs = getTokenRefreshSkewMs(pluginConfig);
|
|
202
|
+
const proactiveRefreshEnabled = (() => {
|
|
203
|
+
const rawConfig = pluginConfig;
|
|
204
|
+
const configFlag = rawConfig["proactive_token_refresh"] ?? rawConfig["proactiveTokenRefresh"];
|
|
205
|
+
const envFlag = process.env.CODEX_AUTH_PROACTIVE_TOKEN_REFRESH;
|
|
206
|
+
if (envFlag === "1" || envFlag === "true")
|
|
207
|
+
return true;
|
|
208
|
+
if (envFlag === "0" || envFlag === "false")
|
|
209
|
+
return false;
|
|
210
|
+
return Boolean(configFlag);
|
|
211
|
+
})();
|
|
193
212
|
const toastDebounceMs = getRateLimitToastDebounceMs(pluginConfig);
|
|
194
213
|
const retryAllAccountsRateLimited = getRetryAllAccountsRateLimited(pluginConfig);
|
|
195
214
|
const retryAllAccountsMaxWaitMs = getRetryAllAccountsMaxWaitMs(pluginConfig);
|
|
196
215
|
const retryAllAccountsMaxRetries = getRetryAllAccountsMaxRetries(pluginConfig);
|
|
216
|
+
const schedulingMode = getSchedulingMode(pluginConfig);
|
|
217
|
+
const maxCacheFirstWaitSeconds = getMaxCacheFirstWaitSeconds(pluginConfig);
|
|
218
|
+
const switchOnFirstRateLimit = getSwitchOnFirstRateLimit(pluginConfig);
|
|
219
|
+
const rateLimitDedupWindowMs = getRateLimitDedupWindowMs(pluginConfig);
|
|
220
|
+
const rateLimitStateResetMs = getRateLimitStateResetMs(pluginConfig);
|
|
221
|
+
const defaultRetryAfterMs = getDefaultRetryAfterMs(pluginConfig);
|
|
222
|
+
const maxBackoffMs = getMaxBackoffMs(pluginConfig);
|
|
223
|
+
const requestJitterMaxMs = getRequestJitterMaxMs(pluginConfig);
|
|
224
|
+
const maxCacheFirstWaitMs = Math.max(0, Math.floor(maxCacheFirstWaitSeconds * 1000));
|
|
225
|
+
const proactiveRefreshQueue = proactiveRefreshEnabled
|
|
226
|
+
? new ProactiveRefreshQueue({ bufferMs: tokenRefreshSkewMs, intervalMs: 250 })
|
|
227
|
+
: null;
|
|
228
|
+
if (proactiveRefreshScheduler) {
|
|
229
|
+
proactiveRefreshScheduler.stop();
|
|
230
|
+
proactiveRefreshScheduler = null;
|
|
231
|
+
}
|
|
232
|
+
if (proactiveRefreshQueue) {
|
|
233
|
+
proactiveRefreshScheduler = createRefreshScheduler({
|
|
234
|
+
intervalMs: 1000,
|
|
235
|
+
queue: proactiveRefreshQueue,
|
|
236
|
+
getTasks: () => {
|
|
237
|
+
const tasks = [];
|
|
238
|
+
for (const account of accountManager.getAccountsSnapshot()) {
|
|
239
|
+
if (!Number.isFinite(account.expires))
|
|
240
|
+
continue;
|
|
241
|
+
tasks.push({
|
|
242
|
+
key: `account-${account.index}`,
|
|
243
|
+
expires: account.expires ?? 0,
|
|
244
|
+
refresh: async () => {
|
|
245
|
+
const live = accountManager.getAccountByIndex(account.index);
|
|
246
|
+
if (!live)
|
|
247
|
+
return { type: "failed" };
|
|
248
|
+
const refreshed = await accountManager.refreshAccountWithFallback(live);
|
|
249
|
+
if (refreshed.type !== "success")
|
|
250
|
+
return refreshed;
|
|
251
|
+
const refreshedAuth = {
|
|
252
|
+
type: "oauth",
|
|
253
|
+
access: refreshed.access,
|
|
254
|
+
refresh: refreshed.refresh,
|
|
255
|
+
expires: refreshed.expires,
|
|
256
|
+
};
|
|
257
|
+
accountManager.updateFromAuth(live, refreshedAuth);
|
|
258
|
+
await accountManager.saveToDisk();
|
|
259
|
+
return refreshed;
|
|
260
|
+
},
|
|
261
|
+
});
|
|
262
|
+
}
|
|
263
|
+
return tasks;
|
|
264
|
+
},
|
|
265
|
+
});
|
|
266
|
+
proactiveRefreshScheduler.start();
|
|
267
|
+
}
|
|
268
|
+
const rateLimitTracker = new RateLimitTracker({
|
|
269
|
+
dedupWindowMs: rateLimitDedupWindowMs,
|
|
270
|
+
resetMs: rateLimitStateResetMs,
|
|
271
|
+
defaultRetryMs: defaultRetryAfterMs,
|
|
272
|
+
maxBackoffMs,
|
|
273
|
+
jitterMaxMs: requestJitterMaxMs,
|
|
274
|
+
});
|
|
197
275
|
// Return SDK configuration
|
|
198
276
|
return {
|
|
199
277
|
apiKey: DUMMY_API_KEY,
|
|
@@ -258,27 +336,48 @@ export const OpenAIAuthPlugin = async ({ client }) => {
|
|
|
258
336
|
break;
|
|
259
337
|
attempted.add(account.index);
|
|
260
338
|
let accountAuth = accountManager.toAuthDetails(account);
|
|
261
|
-
|
|
262
|
-
|
|
263
|
-
|
|
264
|
-
|
|
265
|
-
|
|
266
|
-
|
|
267
|
-
continue;
|
|
268
|
-
}
|
|
269
|
-
accountAuth = {
|
|
339
|
+
const tokenExpired = !accountAuth.access || accountAuth.expires <= Date.now();
|
|
340
|
+
const runRefresh = async () => {
|
|
341
|
+
const refreshed = await accountManager.refreshAccountWithFallback(account);
|
|
342
|
+
if (refreshed.type !== "success")
|
|
343
|
+
return refreshed;
|
|
344
|
+
const refreshedAuth = {
|
|
270
345
|
type: "oauth",
|
|
271
346
|
access: refreshed.access,
|
|
272
347
|
refresh: refreshed.refresh,
|
|
273
348
|
expires: refreshed.expires,
|
|
274
349
|
};
|
|
275
|
-
accountManager.updateFromAuth(account,
|
|
350
|
+
accountManager.updateFromAuth(account, refreshedAuth);
|
|
276
351
|
await accountManager.saveToDisk();
|
|
277
|
-
// Keep OpenCode's stored auth aligned with the last-used account.
|
|
278
352
|
await client.auth.set({
|
|
279
353
|
path: { id: PROVIDER_ID },
|
|
280
|
-
body:
|
|
354
|
+
body: refreshedAuth,
|
|
281
355
|
});
|
|
356
|
+
return refreshed;
|
|
357
|
+
};
|
|
358
|
+
if (shouldRefreshToken(accountAuth, tokenRefreshSkewMs)) {
|
|
359
|
+
if (proactiveRefreshQueue && !tokenExpired) {
|
|
360
|
+
void proactiveRefreshQueue.enqueue({
|
|
361
|
+
key: `account-${account.index}`,
|
|
362
|
+
expires: accountAuth.expires,
|
|
363
|
+
refresh: runRefresh,
|
|
364
|
+
});
|
|
365
|
+
}
|
|
366
|
+
else {
|
|
367
|
+
const refreshed = await runRefresh();
|
|
368
|
+
if (refreshed.type !== "success") {
|
|
369
|
+
accountManager.markAccountCoolingDown(account, AUTH_FAILURE_COOLDOWN_MS, "auth-failure");
|
|
370
|
+
await accountManager.saveToDisk();
|
|
371
|
+
await showToast(`Auth refresh failed. Cooling down ${formatAccountLabel(account, account.index)}.`, "warning", quietMode);
|
|
372
|
+
continue;
|
|
373
|
+
}
|
|
374
|
+
accountAuth = {
|
|
375
|
+
type: "oauth",
|
|
376
|
+
access: refreshed.access,
|
|
377
|
+
refresh: refreshed.refresh,
|
|
378
|
+
expires: refreshed.expires,
|
|
379
|
+
};
|
|
380
|
+
}
|
|
282
381
|
}
|
|
283
382
|
const accountId = account.accountId ?? extractAccountId(accountAuth.access);
|
|
284
383
|
if (!accountId) {
|
|
@@ -331,6 +430,7 @@ export const OpenAIAuthPlugin = async ({ client }) => {
|
|
|
331
430
|
if (accountSelectionStrategy === "hybrid") {
|
|
332
431
|
getHealthTracker().recordSuccess(account.index);
|
|
333
432
|
}
|
|
433
|
+
accountManager.markAccountUsed(account.index);
|
|
334
434
|
return await handleSuccessResponse(res, isStreaming);
|
|
335
435
|
}
|
|
336
436
|
const handled = await handleErrorResponse(res);
|
|
@@ -340,7 +440,25 @@ export const OpenAIAuthPlugin = async ({ client }) => {
|
|
|
340
440
|
}
|
|
341
441
|
return handled;
|
|
342
442
|
}
|
|
343
|
-
const retryAfterMs = parseRetryAfterMs(handled.headers)
|
|
443
|
+
const retryAfterMs = parseRetryAfterMs(handled.headers);
|
|
444
|
+
let responseText = "";
|
|
445
|
+
try {
|
|
446
|
+
responseText = await handled.clone().text();
|
|
447
|
+
}
|
|
448
|
+
catch {
|
|
449
|
+
responseText = "";
|
|
450
|
+
}
|
|
451
|
+
const reason = parseRateLimitReason(handled.status, responseText);
|
|
452
|
+
const trackerKey = `${account.index}:${modelFamily}:${model ?? ""}`;
|
|
453
|
+
const backoff = rateLimitTracker.getBackoff(trackerKey, reason, retryAfterMs);
|
|
454
|
+
const decision = decideRateLimitAction({
|
|
455
|
+
schedulingMode,
|
|
456
|
+
accountCount,
|
|
457
|
+
maxCacheFirstWaitMs,
|
|
458
|
+
switchOnFirstRateLimit,
|
|
459
|
+
shortRetryThresholdMs: RATE_LIMIT_SHORT_RETRY_THRESHOLD_MS,
|
|
460
|
+
backoff,
|
|
461
|
+
});
|
|
344
462
|
if (tokenConsumed) {
|
|
345
463
|
getTokenTracker().refund(account.index);
|
|
346
464
|
tokenConsumed = false;
|
|
@@ -348,19 +466,27 @@ export const OpenAIAuthPlugin = async ({ client }) => {
|
|
|
348
466
|
if (accountSelectionStrategy === "hybrid") {
|
|
349
467
|
getHealthTracker().recordRateLimit(account.index);
|
|
350
468
|
}
|
|
351
|
-
|
|
352
|
-
|
|
353
|
-
|
|
469
|
+
accountManager.markRateLimited(account, backoff.delayMs, modelFamily, model);
|
|
470
|
+
const shouldPersistRateLimit = !backoff.isDuplicate;
|
|
471
|
+
if (decision.action === "wait") {
|
|
472
|
+
if (shouldPersistRateLimit) {
|
|
473
|
+
await accountManager.saveToDisk();
|
|
474
|
+
await showToast(`Rate limited. Retrying in ${formatWaitTime(decision.delayMs)}...`, "warning", quietMode);
|
|
475
|
+
}
|
|
476
|
+
if (decision.delayMs > 0) {
|
|
477
|
+
await sleep(decision.delayMs);
|
|
478
|
+
}
|
|
354
479
|
continue;
|
|
355
480
|
}
|
|
356
|
-
accountManager.markRateLimited(account, retryAfterMs, modelFamily, model);
|
|
357
481
|
accountManager.markSwitched(account, "rate-limit", modelFamily);
|
|
358
|
-
|
|
359
|
-
|
|
482
|
+
if (shouldPersistRateLimit) {
|
|
483
|
+
await accountManager.saveToDisk();
|
|
484
|
+
await showToast(`Rate limited. Switching accounts (retry in ${formatWaitTime(decision.delayMs)}).`, "warning", quietMode);
|
|
485
|
+
}
|
|
360
486
|
break;
|
|
361
487
|
}
|
|
362
488
|
}
|
|
363
|
-
const waitMs = accountManager.
|
|
489
|
+
const waitMs = await accountManager.getMinWaitTimeForFamilyWithHydration(modelFamily, model);
|
|
364
490
|
if (retryAllAccountsRateLimited &&
|
|
365
491
|
accountManager.getAccountCount() > 0 &&
|
|
366
492
|
waitMs > 0 &&
|
|
@@ -447,7 +573,7 @@ export const OpenAIAuthPlugin = async ({ client }) => {
|
|
|
447
573
|
let startFresh = true;
|
|
448
574
|
let existingStorage = await loadAccounts();
|
|
449
575
|
if (existingStorage && existingStorage.accounts.length > 0) {
|
|
450
|
-
const needsHydration = existingStorage.accounts
|
|
576
|
+
const needsHydration = needsIdentityHydration(existingStorage.accounts);
|
|
451
577
|
if (needsHydration) {
|
|
452
578
|
try {
|
|
453
579
|
console.log("\nRefreshing saved accounts to fill missing emails...\n");
|
|
@@ -460,13 +586,43 @@ export const OpenAIAuthPlugin = async ({ client }) => {
|
|
|
460
586
|
// Best-effort; ignore.
|
|
461
587
|
}
|
|
462
588
|
}
|
|
463
|
-
|
|
589
|
+
let existingLabels = (existingStorage?.accounts ?? []).map((a, index) => ({
|
|
464
590
|
index,
|
|
465
591
|
email: a.email,
|
|
466
592
|
plan: a.plan,
|
|
467
593
|
accountId: a.accountId,
|
|
594
|
+
enabled: a.enabled,
|
|
468
595
|
}));
|
|
469
|
-
|
|
596
|
+
let mode = await promptLoginMode(existingLabels);
|
|
597
|
+
while (mode === "manage") {
|
|
598
|
+
let updatedStorage = existingStorage;
|
|
599
|
+
while (updatedStorage) {
|
|
600
|
+
const labels = (updatedStorage?.accounts ?? []).map((a, index) => ({
|
|
601
|
+
index,
|
|
602
|
+
email: a.email,
|
|
603
|
+
plan: a.plan,
|
|
604
|
+
accountId: a.accountId,
|
|
605
|
+
enabled: a.enabled,
|
|
606
|
+
}));
|
|
607
|
+
const toggleIndex = await promptManageAccounts(labels);
|
|
608
|
+
if (toggleIndex === null)
|
|
609
|
+
break;
|
|
610
|
+
const toggled = toggleAccountEnabled(updatedStorage, toggleIndex);
|
|
611
|
+
if (toggled) {
|
|
612
|
+
await saveAccounts(toggled);
|
|
613
|
+
updatedStorage = toggled;
|
|
614
|
+
}
|
|
615
|
+
}
|
|
616
|
+
existingStorage = await loadAccounts();
|
|
617
|
+
existingLabels = (existingStorage?.accounts ?? []).map((a, index) => ({
|
|
618
|
+
index,
|
|
619
|
+
email: a.email,
|
|
620
|
+
plan: a.plan,
|
|
621
|
+
accountId: a.accountId,
|
|
622
|
+
enabled: a.enabled,
|
|
623
|
+
}));
|
|
624
|
+
mode = await promptLoginMode(existingLabels);
|
|
625
|
+
}
|
|
470
626
|
startFresh = mode === "fresh";
|
|
471
627
|
}
|
|
472
628
|
if (startFresh) {
|
|
@@ -647,6 +803,8 @@ export const OpenAIAuthPlugin = async ({ client }) => {
|
|
|
647
803
|
const statuses = [];
|
|
648
804
|
if (index === activeIndex)
|
|
649
805
|
statuses.push("active");
|
|
806
|
+
if (account.enabled === false)
|
|
807
|
+
statuses.push("disabled");
|
|
650
808
|
const rateLimited = account.rateLimitResetTimes &&
|
|
651
809
|
Object.values(account.rateLimitResetTimes).some((t) => typeof t === "number" && t > now);
|
|
652
810
|
if (rateLimited)
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../index.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;GAsBG;AAEH,OAAO,EAAE,IAAI,EAAiC,MAAM,qBAAqB,CAAC;AAE1E,OAAO,EACN,uBAAuB,EACvB,yBAAyB,EACzB,uBAAuB,EACvB,YAAY,GAEZ,MAAM,oBAAoB,CAAC;AAC5B,OAAO,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAC;AACvD,OAAO,EAAE,qBAAqB,EAAE,MAAM,sBAAsB,CAAC;AAC7D,OAAO,EACN,2BAA2B,EAC3B,YAAY,EACZ,sBAAsB,EACtB,eAAe,EACf,2BAA2B,EAC3B,mBAAmB,EACnB,YAAY,EACZ,yBAAyB,EACzB,wBAAwB,EACxB,2BAA2B,EAC3B,qBAAqB,EACrB,6BAA6B,EAC7B,4BAA4B,EAC5B,8BAA8B,EAC9B,iBAAiB,EACjB,yBAAyB,EACzB,qBAAqB,EACrB,gBAAgB,GAChB,MAAM,iBAAiB,CAAC;AACzB,OAAO,EACN,WAAW,EACX,cAAc,EACd,aAAa,EAEb,WAAW,EACX,UAAU,EACV,WAAW,EACX,WAAW,GACX,MAAM,oBAAoB,CAAC;AAC5B,OAAO,EAAE,UAAU,EAAE,QAAQ,EAAE,MAAM,iBAAiB,CAAC;AACvD,OAAO,EACN,kBAAkB,EAClB,iBAAiB,EACjB,mBAAmB,EACnB,qBAAqB,EACrB,kBAAkB,EAClB,wBAAwB,GACxB,MAAM,gCAAgC,CAAC;AACxC,OAAO,EACN,cAAc,EACd,mBAAmB,EACnB,gBAAgB,EAChB,kBAAkB,EAClB,kBAAkB,EAClB,cAAc,EACd,WAAW,EACX,sBAAsB,EACtB,aAAa,GACb,MAAM,mBAAmB,CAAC;AAC3B,OAAO,EACN,uBAAuB,EACvB,eAAe,EACf,oBAAoB,EACpB,wBAAwB,GACxB,MAAM,cAAc,CAAC;AACtB,OAAO,EAAE,wBAAwB,EAAE,MAAM,mBAAmB,CAAC;AAC7D,OAAO,EAAE,cAAc,EAAE,YAAY,EAAE,YAAY,EAAE,oBAAoB,EAAE,MAAM,kBAAkB,CAAC;AACpG,OAAO,EAAE,qBAAqB,EAAE,MAAM,2BAA2B,CAAC;AAClE,OAAO,EAAE,cAAc,EAAE,cAAc,EAAoB,MAAM,wBAAwB,CAAC;AAE1F,OAAO,EAAE,gBAAgB,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AACtE,OAAO,EAAE,gBAAgB,EAAE,qBAAqB,EAAE,oBAAoB,EAAE,MAAM,qBAAqB,CAAC;AACpG,OAAO,EACN,qBAAqB,EACrB,sBAAsB,GAEtB,MAAM,wBAAwB,CAAC;AAEhC,MAAM,mCAAmC,GAAG,KAAK,CAAC;AAClD,MAAM,wBAAwB,GAAG,MAAM,CAAC;AACxC,MAAM,YAAY,GAAG,EAAE,CAAC;AACxB,MAAM,kBAAkB,GAAG,OAAO,CAAC,GAAG,CAAC,0BAA0B,KAAK,GAAG,CAAC;AAE1E,MAAM,SAAS,GAAG,CAAC,GAAG,IAAe,EAAQ,EAAE;IAC9C,IAAI,CAAC,kBAAkB;QAAE,OAAO;IAChC,OAAO,CAAC,KAAK,CAAC,GAAG,IAAI,CAAC,CAAC;AACxB,CAAC,CAAC;AAEF,SAAS,kBAAkB,CAAC,IAAsB,EAAE,MAAc;IACjE,OAAO,CAAC,IAAI,CAAC,MAAM,IAAI,IAAI,CAAC,OAAO,IAAI,IAAI,CAAC,GAAG,EAAE,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC;AACrF,CAAC;AAED,SAAS,iBAAiB,CAAC,OAAgB;IAC1C,MAAM,YAAY,GAAG,OAAO,CAAC,GAAG,CAAC,gBAAgB,CAAC,CAAC;IACnD,IAAI,YAAY,EAAE,CAAC;QAClB,MAAM,MAAM,GAAG,MAAM,CAAC,YAAY,CAAC,CAAC;QACpC,IAAI,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC,IAAI,MAAM,GAAG,CAAC;YAAE,OAAO,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;IACtE,CAAC;IAED,MAAM,UAAU,GAAG,OAAO,CAAC,GAAG,CAAC,aAAa,CAAC,CAAC;IAC9C,IAAI,CAAC,UAAU;QAAE,OAAO,IAAI,CAAC;IAC7B,MAAM,OAAO,GAAG,MAAM,CAAC,UAAU,CAAC,CAAC;IACnC,IAAI,MAAM,CAAC,QAAQ,CAAC,OAAO,CAAC,IAAI,OAAO,GAAG,CAAC;QAAE,OAAO,IAAI,CAAC,KAAK,CAAC,OAAO,GAAG,IAAI,CAAC,CAAC;IAC/E,OAAO,IAAI,CAAC;AACb,CAAC;AAED;;;;;;;;;;;;;;GAcG;AACH,MAAM,CAAC,MAAM,gBAAgB,GAAW,KAAK,EAAE,EAAE,MAAM,EAAe,EAAE,EAAE;IACzE,IAAI,oBAAoB,GAA0B,IAAI,CAAC;IACvD,IAAI,yBAAyB,GAA4B,IAAI,CAAC;IAE9D,MAAM,SAAS,GAAG,KAAK,EACtB,OAAe,EACf,UAAoD,MAAM,EAC1D,YAAqB,KAAK,EACV,EAAE;QAClB,IAAI,SAAS;YAAE,OAAO;QACtB,IAAI,CAAC;YACJ,MAAM,MAAM,CAAC,GAAG,CAAC,SAAS,CAAC,EAAE,IAAI,EAAE,EAAE,OAAO,EAAE,OAAO,EAAE,EAAE,CAAC,CAAC;QAC5D,CAAC;QAAC,MAAM,CAAC;YACR,4BAA4B;QAC7B,CAAC;IACF,CAAC,CAAC;IAEF,MAAM,oBAAoB,GAAG,CAC5B,IAA0B,EAC1B,GAAW,EACX,SAA8C,EAC7C,EAAE,CAAC,CAAC;QACL,GAAG;QACH,MAAM,EAAE,MAAe;QACvB,YAAY,EAAE,WAAW,CAAC,mBAAmB;QAC7C,QAAQ,EAAE,KAAK,EAAE,KAAa,EAAE,EAAE;YACjC,MAAM,MAAM,GAAG,uBAAuB,CAAC,KAAK,CAAC,CAAC;YAC9C,IAAI,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC;gBAClB,OAAO,EAAE,IAAI,EAAE,QAAiB,EAAE,CAAC;YACpC,CAAC;YACD,MAAM,MAAM,GAAG,MAAM,yBAAyB,CAC7C,MAAM,CAAC,IAAI,EACX,IAAI,CAAC,QAAQ,EACb,YAAY,CACZ,CAAC;YACF,IAAI,MAAM,EAAE,IAAI,KAAK,SAAS,IAAI,SAAS,EAAE,CAAC;gBAC7C,MAAM,SAAS,CAAC,MAAM,CAAC,CAAC;YACzB,CAAC;YACD,OAAO,MAAM,EAAE,IAAI,KAAK,SAAS,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,QAAiB,EAAE,CAAC;QAC1E,CAAC;KACD,CAAC,CAAC;IAIH,MAAM,cAAc,GAAG,KAAK,EAAE,KAAc,EAAiB,EAAE;QAC9D,SAAS,CAAC,+CAA+C,CAAC,CAAC;QAC3D,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;QACvB,MAAM,MAAM,GAAG,MAAM,YAAY,EAAE,CAAC;QACpC,MAAM,QAAQ,GAAG,MAAM,EAAE,QAAQ,CAAC,CAAC,CAAC,CAAC,GAAG,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;QAC9D,MAAM,SAAS,GAAG,gBAAgB,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;QACjD,MAAM,KAAK,GAAG,aAAa,CAAC,mBAAmB,CAAC,KAAK,CAAC,OAAO,IAAI,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC;QAChF,MAAM,IAAI,GAAG,kBAAkB,CAAC,KAAK,CAAC,OAAO,IAAI,KAAK,CAAC,MAAM,CAAC,CAAC;QAC/D,IAAI,CAAC,SAAS,IAAI,CAAC,KAAK,IAAI,CAAC,IAAI,EAAE,CAAC;YACnC,SAAS,CAAC,2EAA2E,CAAC,CAAC;QACxF,CAAC;QAED,SAAS,CACR,iDAAiD,SAAS,YAAY,KAAK,WAAW,IAAI,wBAAwB,QAAQ,CAAC,MAAM,EAAE,CACnI,CAAC;QAEF,MAAM,aAAa,GAAG,qBAAqB,CAAC,QAAQ,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC,CAAC;QAElF,SAAS,CAAC,iCAAiC,aAAa,EAAE,CAAC,CAAC;QAE5D,IAAI,aAAa,KAAK,CAAC,CAAC,EAAE,CAAC;YAC1B,SAAS,CAAC,qCAAqC,CAAC,CAAC;YACjD,QAAQ,CAAC,IAAI,CAAC;gBACb,YAAY,EAAE,KAAK,CAAC,OAAO;gBAC3B,SAAS;gBACT,KAAK;gBACL,IAAI;gBACJ,OAAO,EAAE,IAAI;gBACb,OAAO,EAAE,GAAG;gBACZ,QAAQ,EAAE,GAAG;aACb,CAAC,CAAC;QACJ,CAAC;aAAM,CAAC;YACP,SAAS,CAAC,uDAAuD,aAAa,EAAE,CAAC,CAAC;YAClF,MAAM,QAAQ,GAAG,QAAQ,CAAC,aAAa,CAAC,CAAC;YACzC,IAAI,QAAQ,EAAE,CAAC;gBACd,QAAQ,CAAC,YAAY,GAAG,KAAK,CAAC,OAAO,CAAC;gBACtC,QAAQ,CAAC,SAAS,GAAG,SAAS,IAAI,QAAQ,CAAC,SAAS,CAAC;gBACrD,QAAQ,CAAC,KAAK,GAAG,KAAK,IAAI,QAAQ,CAAC,KAAK,CAAC;gBACzC,QAAQ,CAAC,IAAI,GAAG,IAAI,IAAI,QAAQ,CAAC,IAAI,CAAC;gBACtC,IAAI,OAAO,QAAQ,CAAC,OAAO,KAAK,SAAS;oBAAE,QAAQ,CAAC,OAAO,GAAG,IAAI,CAAC;gBACnE,QAAQ,CAAC,QAAQ,GAAG,GAAG,CAAC;YACzB,CAAC;QACF,CAAC;QAED,MAAM,WAAW,GAAG,MAAM,EAAE,WAAW,IAAI,CAAC,CAAC;QAC7C,MAAM,aAAa,GAAqB;YACvC,OAAO,EAAE,CAAC;YACV,QAAQ;YACR,WAAW,EAAE,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,CAAC,GAAG,CAAC,WAAW,EAAE,QAAQ,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;YACpE,mBAAmB,EAAE,MAAM,EAAE,mBAAmB,IAAI,EAAE;SACtD,CAAC;QAEF,SAAS,CAAC,wCAAwC,QAAQ,CAAC,MAAM,WAAW,CAAC,CAAC;QAC9E,MAAM,YAAY,CAAC,aAAa,CAAC,CAAC;QAClC,SAAS,CAAC,gDAAgD,CAAC,CAAC;IAC7D,CAAC,CAAC;IAEF,OAAO;QACN,IAAI,EAAE;YACL,QAAQ,EAAE,WAAW;YACrB;;;;;;;;;;;;;eAaG;YACH,KAAK,CAAC,MAAM,CAAC,OAA4B,EAAE,QAAiB;gBAC3D,MAAM,IAAI,GAAG,MAAM,OAAO,EAAE,CAAC;gBAE7B,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,EAAE,CAAC;oBACxB,OAAO,EAAE,CAAC;gBACX,CAAC;gBAED,MAAM,cAAc,GAAG,MAAM,cAAc,CAAC,YAAY,CAAC,IAAI,CAAC,CAAC;gBAC/D,oBAAoB,GAAG,cAAc,CAAC;gBACtC,IAAI,cAAc,CAAC,eAAe,EAAE,KAAK,CAAC,EAAE,CAAC;oBAC5C,QAAQ,CAAC,IAAI,WAAW,yDAAyD,CAAC,CAAC;oBACnF,OAAO,EAAE,CAAC;gBACX,CAAC;gBACD,0DAA0D;gBAC1D,MAAM,cAAc,GAAG,QAEX,CAAC;gBACb,MAAM,UAAU,GAAe;oBAC9B,MAAM,EAAE,cAAc,EAAE,OAAO,IAAI,EAAE;oBACrC,MAAM,EAAE,cAAc,EAAE,MAAM,IAAI,EAAE;iBACpC,CAAC;gBAEF,MAAM,YAAY,GAAG,gBAAgB,EAAE,CAAC;gBACxC,MAAM,SAAS,GAAG,YAAY,CAAC,YAAY,CAAC,CAAC;gBAC7C,MAAM,wBAAwB,GAAG,2BAA2B,CAAC,YAAY,CAAC,CAAC;gBAC3E,MAAM,gBAAgB,GAAG,mBAAmB,CAAC,YAAY,CAAC,CAAC;gBAC3D,MAAM,SAAS,GAAG,YAAY,CAAC,YAAY,CAAC,CAAC;gBAC7C,MAAM,kBAAkB,GAAG,qBAAqB,CAAC,YAAY,CAAC,CAAC;gBAC/D,MAAM,uBAAuB,GAAG,CAAC,GAAG,EAAE;oBACrC,MAAM,SAAS,GAAG,YAAuC,CAAC;oBAC1D,MAAM,UAAU,GAAG,SAAS,CAAC,yBAAyB,CAAC,IAAI,SAAS,CAAC,uBAAuB,CAAC,CAAC;oBAC9F,MAAM,OAAO,GAAG,OAAO,CAAC,GAAG,CAAC,kCAAkC,CAAC;oBAC/D,IAAI,OAAO,KAAK,GAAG,IAAI,OAAO,KAAK,MAAM;wBAAE,OAAO,IAAI,CAAC;oBACvD,IAAI,OAAO,KAAK,GAAG,IAAI,OAAO,KAAK,OAAO;wBAAE,OAAO,KAAK,CAAC;oBACzD,OAAO,OAAO,CAAC,UAAU,CAAC,CAAC;gBAC5B,CAAC,CAAC,EAAE,CAAC;gBACL,MAAM,eAAe,GAAG,2BAA2B,CAAC,YAAY,CAAC,CAAC;gBAClE,MAAM,2BAA2B,GAAG,8BAA8B,CAAC,YAAY,CAAC,CAAC;gBACjF,MAAM,yBAAyB,GAAG,4BAA4B,CAAC,YAAY,CAAC,CAAC;gBAC7E,MAAM,0BAA0B,GAAG,6BAA6B,CAAC,YAAY,CAAC,CAAC;gBAC/E,MAAM,cAAc,GAAG,iBAAiB,CAAC,YAAY,CAAC,CAAC;gBACvD,MAAM,wBAAwB,GAAG,2BAA2B,CAAC,YAAY,CAAC,CAAC;gBAC3E,MAAM,sBAAsB,GAAG,yBAAyB,CAAC,YAAY,CAAC,CAAC;gBACvE,MAAM,sBAAsB,GAAG,yBAAyB,CAAC,YAAY,CAAC,CAAC;gBACvE,MAAM,qBAAqB,GAAG,wBAAwB,CAAC,YAAY,CAAC,CAAC;gBACrE,MAAM,mBAAmB,GAAG,sBAAsB,CAAC,YAAY,CAAC,CAAC;gBACjE,MAAM,YAAY,GAAG,eAAe,CAAC,YAAY,CAAC,CAAC;gBACnD,MAAM,kBAAkB,GAAG,qBAAqB,CAAC,YAAY,CAAC,CAAC;gBAC/D,MAAM,mBAAmB,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,CAAC,KAAK,CAAC,wBAAwB,GAAG,IAAI,CAAC,CAAC,CAAC;gBACrF,MAAM,qBAAqB,GAAG,uBAAuB;oBACpD,CAAC,CAAC,IAAI,qBAAqB,CAAC,EAAE,QAAQ,EAAE,kBAAkB,EAAE,UAAU,EAAE,GAAG,EAAE,CAAC;oBAC9E,CAAC,CAAC,IAAI,CAAC;gBACR,IAAI,yBAAyB,EAAE,CAAC;oBAC/B,yBAAyB,CAAC,IAAI,EAAE,CAAC;oBACjC,yBAAyB,GAAG,IAAI,CAAC;gBAClC,CAAC;gBACD,IAAI,qBAAqB,EAAE,CAAC;oBAC3B,yBAAyB,GAAG,sBAAsB,CAAC;wBAClD,UAAU,EAAE,IAAI;wBAChB,KAAK,EAAE,qBAAqB;wBAC5B,QAAQ,EAAE,GAAG,EAAE;4BACd,MAAM,KAAK,GAAG,EAIZ,CAAC;4BACH,KAAK,MAAM,OAAO,IAAI,cAAc,CAAC,mBAAmB,EAAE,EAAE,CAAC;gCAC5D,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,OAAO,CAAC,OAAO,CAAC;oCAAE,SAAS;gCAChD,KAAK,CAAC,IAAI,CAAC;oCACV,GAAG,EAAE,WAAW,OAAO,CAAC,KAAK,EAAE;oCAC/B,OAAO,EAAE,OAAO,CAAC,OAAO,IAAI,CAAC;oCAC7B,OAAO,EAAE,KAAK,IAAI,EAAE;wCACnB,MAAM,IAAI,GAAG,cAAc,CAAC,iBAAiB,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;wCAC7D,IAAI,CAAC,IAAI;4CAAE,OAAO,EAAE,IAAI,EAAE,QAAQ,EAAiB,CAAC;wCACpD,MAAM,SAAS,GAAG,MAAM,cAAc,CAAC,0BAA0B,CAAC,IAAI,CAAC,CAAC;wCACxE,IAAI,SAAS,CAAC,IAAI,KAAK,SAAS;4CAAE,OAAO,SAAS,CAAC;wCACnD,MAAM,aAAa,GAAG;4CACrB,IAAI,EAAE,OAAgB;4CACtB,MAAM,EAAE,SAAS,CAAC,MAAM;4CACxB,OAAO,EAAE,SAAS,CAAC,OAAO;4CAC1B,OAAO,EAAE,SAAS,CAAC,OAAO;yCAC1B,CAAC;wCACF,cAAc,CAAC,cAAc,CAAC,IAAI,EAAE,aAAa,CAAC,CAAC;wCACnD,MAAM,cAAc,CAAC,UAAU,EAAE,CAAC;wCAClC,OAAO,SAAS,CAAC;oCAClB,CAAC;iCACD,CAAC,CAAC;4BACJ,CAAC;4BACD,OAAO,KAAK,CAAC;wBACd,CAAC;qBACD,CAAC,CAAC;oBACH,yBAAyB,CAAC,KAAK,EAAE,CAAC;gBACnC,CAAC;gBACD,MAAM,gBAAgB,GAAG,IAAI,gBAAgB,CAAC;oBAC7C,aAAa,EAAE,sBAAsB;oBACrC,OAAO,EAAE,qBAAqB;oBAC9B,cAAc,EAAE,mBAAmB;oBACnC,YAAY;oBACZ,WAAW,EAAE,kBAAkB;iBAC/B,CAAC,CAAC;gBAEH,2BAA2B;gBAC3B,OAAO;oBACN,MAAM,EAAE,aAAa;oBACrB,OAAO,EAAE,cAAc;oBACvB;;;;;;;;;;;;;;uBAcG;oBACH,KAAK,CAAC,KAAK,CACV,KAA6B,EAC7B,IAAkB;wBAElB,oDAAoD;wBACpD,MAAM,WAAW,GAAG,iBAAiB,CAAC,KAAK,CAAC,CAAC;wBAC7C,MAAM,GAAG,GAAG,kBAAkB,CAAC,WAAW,CAAC,CAAC;wBAE5C,wEAAwE;wBACxE,wEAAwE;wBACxE,sDAAsD;wBACtD,uEAAuE;wBACvE,MAAM,YAAY,GAAG,IAAI,EAAE,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,IAAc,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;wBACvE,MAAM,WAAW,GAAG,YAAY,CAAC,MAAM,KAAK,IAAI,CAAC;wBAEjD,MAAM,cAAc,GAAG,MAAM,wBAAwB,CACpD,IAAI,EACJ,GAAG,EACH,UAAU,EACV,SAAS,CACT,CAAC;wBACF,MAAM,WAAW,GAAG,cAAc,EAAE,WAAW,IAAI,IAAI,CAAC;wBACxD,MAAM,KAAK,GAAG,cAAc,EAAE,IAAI,CAAC,KAAK,CAAC;wBACzC,MAAM,WAAW,GAAgB,KAAK,CAAC,CAAC,CAAC,cAAc,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;wBAC3E,MAAM,YAAY,GAAG,gBAAgB,IAAI,cAAc,CAAC,eAAe,EAAE,GAAG,CAAC,CAAC;wBAE9E,MAAM,WAAW,GAAG,WAAW,EAAE,MAAM,IAAI,IAAI,EAAE,MAAM,IAAI,IAAI,CAAC;wBAChE,MAAM,KAAK,GAAG,CAAC,EAAU,EAAiB,EAAE,CAC3C,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;4BAC/B,IAAI,WAAW,EAAE,OAAO,EAAE,CAAC;gCAC1B,MAAM,CAAC,IAAI,KAAK,CAAC,SAAS,CAAC,CAAC,CAAC;gCAC7B,OAAO;4BACR,CAAC;4BACD,MAAM,OAAO,GAAG,UAAU,CAAC,GAAG,EAAE;gCAC/B,OAAO,EAAE,CAAC;gCACV,OAAO,EAAE,CAAC;4BACX,CAAC,EAAE,EAAE,CAAC,CAAC;4BACP,MAAM,OAAO,GAAG,GAAG,EAAE;gCACpB,OAAO,EAAE,CAAC;gCACV,MAAM,CAAC,IAAI,KAAK,CAAC,SAAS,CAAC,CAAC,CAAC;4BAC9B,CAAC,CAAC;4BACF,MAAM,OAAO,GAAG,GAAG,EAAE;gCACpB,YAAY,CAAC,OAAO,CAAC,CAAC;gCACtB,WAAW,EAAE,mBAAmB,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;4BACpD,CAAC,CAAC;4BACF,WAAW,EAAE,gBAAgB,CAAC,OAAO,EAAE,OAAO,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC;wBACjE,CAAC,CAAC,CAAC;wBAEJ,IAAI,qBAAqB,GAAG,CAAC,CAAC;wBAE9B,OAAO,IAAI,EAAE,CAAC;4BACb,MAAM,YAAY,GAAG,cAAc,CAAC,eAAe,EAAE,CAAC;4BACtD,MAAM,SAAS,GAAG,IAAI,GAAG,EAAU,CAAC;4BAEpC,OAAO,SAAS,CAAC,IAAI,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,YAAY,CAAC,EAAE,CAAC;gCACnD,MAAM,OAAO,GAAG,cAAc,CAAC,yBAAyB,CACvD,WAAW,EACX,KAAK,EACL,wBAAwB,EACxB,YAAY,CACZ,CAAC;gCACF,IAAI,CAAC,OAAO,IAAI,SAAS,CAAC,GAAG,CAAC,OAAO,CAAC,KAAK,CAAC;oCAAE,MAAM;gCACpD,SAAS,CAAC,GAAG,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;gCAE7B,IAAI,WAAW,GAAG,cAAc,CAAC,aAAa,CAAC,OAAO,CAAC,CAAC;gCACxD,MAAM,YAAY,GAAG,CAAC,WAAW,CAAC,MAAM,IAAI,WAAW,CAAC,OAAO,IAAI,IAAI,CAAC,GAAG,EAAE,CAAC;gCAC9E,MAAM,UAAU,GAAG,KAAK,IAA0B,EAAE;oCACnD,MAAM,SAAS,GAAG,MAAM,cAAc,CAAC,0BAA0B,CAAC,OAAO,CAAC,CAAC;oCAC3E,IAAI,SAAS,CAAC,IAAI,KAAK,SAAS;wCAAE,OAAO,SAAS,CAAC;oCACnD,MAAM,aAAa,GAAG;wCACrB,IAAI,EAAE,OAAgB;wCACtB,MAAM,EAAE,SAAS,CAAC,MAAM;wCACxB,OAAO,EAAE,SAAS,CAAC,OAAO;wCAC1B,OAAO,EAAE,SAAS,CAAC,OAAO;qCAC1B,CAAC;oCACF,cAAc,CAAC,cAAc,CAAC,OAAO,EAAE,aAAa,CAAC,CAAC;oCACtD,MAAM,cAAc,CAAC,UAAU,EAAE,CAAC;oCAClC,MAAM,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC;wCACrB,IAAI,EAAE,EAAE,EAAE,EAAE,WAAW,EAAE;wCACzB,IAAI,EAAE,aAAa;qCACnB,CAAC,CAAC;oCACH,OAAO,SAAS,CAAC;gCAClB,CAAC,CAAC;gCAEF,IAAI,kBAAkB,CAAC,WAAW,EAAE,kBAAkB,CAAC,EAAE,CAAC;oCACzD,IAAI,qBAAqB,IAAI,CAAC,YAAY,EAAE,CAAC;wCAC5C,KAAK,qBAAqB,CAAC,OAAO,CAAC;4CAClC,GAAG,EAAE,WAAW,OAAO,CAAC,KAAK,EAAE;4CAC/B,OAAO,EAAE,WAAW,CAAC,OAAO;4CAC5B,OAAO,EAAE,UAAU;yCACnB,CAAC,CAAC;oCACJ,CAAC;yCAAM,CAAC;wCACP,MAAM,SAAS,GAAG,MAAM,UAAU,EAAE,CAAC;wCACrC,IAAI,SAAS,CAAC,IAAI,KAAK,SAAS,EAAE,CAAC;4CAClC,cAAc,CAAC,sBAAsB,CACpC,OAAO,EACP,wBAAwB,EACxB,cAAc,CACd,CAAC;4CACF,MAAM,cAAc,CAAC,UAAU,EAAE,CAAC;4CAClC,MAAM,SAAS,CACd,qCAAqC,kBAAkB,CAAC,OAAO,EAAE,OAAO,CAAC,KAAK,CAAC,GAAG,EAClF,SAAS,EACT,SAAS,CACT,CAAC;4CACF,SAAS;wCACV,CAAC;wCAED,WAAW,GAAG;4CACb,IAAI,EAAE,OAAO;4CACb,MAAM,EAAE,SAAS,CAAC,MAAM;4CACxB,OAAO,EAAE,SAAS,CAAC,OAAO;4CAC1B,OAAO,EAAE,SAAS,CAAC,OAAO;yCAC1B,CAAC;oCACH,CAAC;gCACF,CAAC;gCAED,MAAM,SAAS,GAAG,OAAO,CAAC,SAAS,IAAI,gBAAgB,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC;gCAC5E,IAAI,CAAC,SAAS,EAAE,CAAC;oCAChB,cAAc,CAAC,sBAAsB,CACpC,OAAO,EACP,wBAAwB,EACxB,cAAc,CACd,CAAC;oCACF,MAAM,cAAc,CAAC,UAAU,EAAE,CAAC;oCAClC,SAAS;gCACV,CAAC;gCACD,OAAO,CAAC,SAAS,GAAG,SAAS,CAAC;gCAE9B,IACC,YAAY,GAAG,CAAC;oCAChB,cAAc,CAAC,sBAAsB,CAAC,OAAO,CAAC,KAAK,EAAE,eAAe,CAAC,EACpE,CAAC;oCACF,MAAM,SAAS,CACd,SAAS,kBAAkB,CAAC,OAAO,EAAE,OAAO,CAAC,KAAK,CAAC,KAAK,OAAO,CAAC,KAAK,GAAG,CAAC,IAAI,YAAY,GAAG,EAC5F,MAAM,EACN,SAAS,CACT,CAAC;oCACF,cAAc,CAAC,cAAc,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;gCAC9C,CAAC;gCAED,MAAM,OAAO,GAAG,kBAAkB,CAAC,WAAW,EAAE,SAAS,EAAE,WAAW,CAAC,MAAM,EAAE;oCAC9E,KAAK;oCACL,cAAc,EAAE,cAAc,EAAE,IAAI,EAAE,gBAAgB;iCACtD,CAAC,CAAC;gCAEH,IAAI,aAAa,GAAG,KAAK,CAAC;gCAC1B,IAAI,wBAAwB,KAAK,QAAQ,EAAE,CAAC;oCAC3C,aAAa,GAAG,eAAe,EAAE,CAAC,OAAO,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;oCACzD,IAAI,CAAC,aAAa,EAAE,CAAC;wCACpB,sDAAsD;wCACtD,SAAS;oCACV,CAAC;gCACF,CAAC;gCAED,OAAO,IAAI,EAAE,CAAC;oCACb,IAAI,GAAa,CAAC;oCAClB,IAAI,CAAC;wCACJ,GAAG,GAAG,MAAM,KAAK,CAAC,GAAG,EAAE,EAAE,GAAG,WAAW,EAAE,OAAO,EAAE,CAAC,CAAC;oCACrD,CAAC;oCAAC,OAAO,GAAG,EAAE,CAAC;wCACd,IAAI,aAAa,EAAE,CAAC;4CACnB,eAAe,EAAE,CAAC,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;4CACxC,aAAa,GAAG,KAAK,CAAC;wCACvB,CAAC;wCACD,IAAI,wBAAwB,KAAK,QAAQ,EAAE,CAAC;4CAC3C,gBAAgB,EAAE,CAAC,aAAa,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;wCACjD,CAAC;wCACD,MAAM,GAAG,CAAC;oCACX,CAAC;oCAED,UAAU,CAAC,UAAU,CAAC,QAAQ,EAAE;wCAC/B,MAAM,EAAE,GAAG,CAAC,MAAM;wCAClB,EAAE,EAAE,GAAG,CAAC,EAAE;wCACV,UAAU,EAAE,GAAG,CAAC,UAAU;wCAC1B,OAAO,EAAE,MAAM,CAAC,WAAW,CAAC,GAAG,CAAC,OAAO,CAAC,OAAO,EAAE,CAAC;wCAClD,YAAY,EAAE,OAAO,CAAC,KAAK;wCAC3B,YAAY;qCACZ,CAAC,CAAC;oCAEL,IAAI,GAAG,CAAC,EAAE,EAAE,CAAC;wCACZ,IAAI,wBAAwB,KAAK,QAAQ,EAAE,CAAC;4CAC3C,gBAAgB,EAAE,CAAC,aAAa,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;wCACjD,CAAC;wCACD,cAAc,CAAC,eAAe,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;wCAC9C,OAAO,MAAM,qBAAqB,CAAC,GAAG,EAAE,WAAW,CAAC,CAAC;oCACtD,CAAC;oCAEC,MAAM,OAAO,GAAG,MAAM,mBAAmB,CAAC,GAAG,CAAC,CAAC;oCAC/C,IAAI,OAAO,CAAC,MAAM,KAAK,WAAW,CAAC,iBAAiB,EAAE,CAAC;wCACtD,IAAI,wBAAwB,KAAK,QAAQ,EAAE,CAAC;4CAC3C,gBAAgB,EAAE,CAAC,aAAa,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;wCACjD,CAAC;wCACD,OAAO,OAAO,CAAC;oCAChB,CAAC;oCAEH,MAAM,YAAY,GAAG,iBAAiB,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;oCACxD,IAAI,YAAY,GAAG,EAAE,CAAC;oCACtB,IAAI,CAAC;wCACJ,YAAY,GAAG,MAAM,OAAO,CAAC,KAAK,EAAE,CAAC,IAAI,EAAE,CAAC;oCAC7C,CAAC;oCAAC,MAAM,CAAC;wCACR,YAAY,GAAG,EAAE,CAAC;oCACnB,CAAC;oCACD,MAAM,MAAM,GAAG,oBAAoB,CAAC,OAAO,CAAC,MAAM,EAAE,YAAY,CAAC,CAAC;oCAClE,MAAM,UAAU,GAAG,GAAG,OAAO,CAAC,KAAK,IAAI,WAAW,IAAI,KAAK,IAAI,EAAE,EAAE,CAAC;oCACpE,MAAM,OAAO,GAAG,gBAAgB,CAAC,UAAU,CAAC,UAAU,EAAE,MAAM,EAAE,YAAY,CAAC,CAAC;oCAC9E,MAAM,QAAQ,GAAG,qBAAqB,CAAC;wCACtC,cAAc;wCACd,YAAY;wCACZ,mBAAmB;wCACnB,sBAAsB;wCACtB,qBAAqB,EAAE,mCAAmC;wCAC1D,OAAO;qCACP,CAAC,CAAC;oCACH,IAAI,aAAa,EAAE,CAAC;wCACnB,eAAe,EAAE,CAAC,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;wCACxC,aAAa,GAAG,KAAK,CAAC;oCACvB,CAAC;oCACD,IAAI,wBAAwB,KAAK,QAAQ,EAAE,CAAC;wCAC3C,gBAAgB,EAAE,CAAC,eAAe,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;oCACnD,CAAC;oCACD,cAAc,CAAC,eAAe,CAAC,OAAO,EAAE,OAAO,CAAC,OAAO,EAAE,WAAW,EAAE,KAAK,CAAC,CAAC;oCAC7E,MAAM,sBAAsB,GAAG,CAAC,OAAO,CAAC,WAAW,CAAC;oCAEpD,IAAI,QAAQ,CAAC,MAAM,KAAK,MAAM,EAAE,CAAC;wCAChC,IAAI,sBAAsB,EAAE,CAAC;4CAC5B,MAAM,cAAc,CAAC,UAAU,EAAE,CAAC;4CAClC,MAAM,SAAS,CACd,6BAA6B,cAAc,CAAC,QAAQ,CAAC,OAAO,CAAC,KAAK,EAClE,SAAS,EACT,SAAS,CACT,CAAC;wCACH,CAAC;wCACD,IAAI,QAAQ,CAAC,OAAO,GAAG,CAAC,EAAE,CAAC;4CAC1B,MAAM,KAAK,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC;wCAC/B,CAAC;wCACD,SAAS;oCACV,CAAC;oCAED,cAAc,CAAC,YAAY,CAAC,OAAO,EAAE,YAAY,EAAE,WAAW,CAAC,CAAC;oCAChE,IAAI,sBAAsB,EAAE,CAAC;wCAC5B,MAAM,cAAc,CAAC,UAAU,EAAE,CAAC;wCAClC,MAAM,SAAS,CACd,8CAA8C,cAAc,CAAC,QAAQ,CAAC,OAAO,CAAC,IAAI,EAClF,SAAS,EACT,SAAS,CACT,CAAC;oCACH,CAAC;oCACD,MAAM;gCACP,CAAC;4BACF,CAAC;4BAEC,MAAM,MAAM,GAAG,MAAM,cAAc,CAAC,oCAAoC,CACvE,WAAW,EACX,KAAK,CACL,CAAC;4BACF,IACC,2BAA2B;gCAC3B,cAAc,CAAC,eAAe,EAAE,GAAG,CAAC;gCACpC,MAAM,GAAG,CAAC;gCACV,CAAC,yBAAyB,KAAK,CAAC,IAAI,MAAM,IAAI,yBAAyB,CAAC;gCACxE,qBAAqB,GAAG,0BAA0B,EACjD,CAAC;gCACF,qBAAqB,IAAI,CAAC,CAAC;gCAC3B,MAAM,SAAS,CACd,OAAO,cAAc,CAAC,eAAe,EAAE,yCAAyC,cAAc,CAAC,MAAM,CAAC,KAAK,EAC3G,SAAS,EACT,SAAS,CACT,CAAC;gCACF,MAAM,KAAK,CAAC,MAAM,CAAC,CAAC;gCACpB,SAAS;4BACV,CAAC;4BAED,MAAM,SAAS,GAAG,cAAc,EAAE,CAAC;4BACnC,MAAM,SAAS,GAAG,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,cAAc,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC;4BAChE,MAAM,OAAO,GACZ,cAAc,CAAC,eAAe,EAAE,KAAK,CAAC;gCACrC,CAAC,CAAC,2DAA2D;gCAC7D,CAAC,CAAC,OAAO,cAAc,CAAC,eAAe,EAAE,8CAA8C,SAAS,mEAAmE,SAAS,GAAG,CAAC;4BAClL,OAAO,IAAI,QAAQ,CAAC,IAAI,CAAC,SAAS,CAAC,EAAE,KAAK,EAAE,EAAE,OAAO,EAAE,EAAE,CAAC,EAAE;gCAC3D,MAAM,EAAE,GAAG;gCACX,OAAO,EAAE,EAAE,cAAc,EAAE,iCAAiC,EAAE;6BAC9D,CAAC,CAAC;wBACJ,CAAC;oBAEF,CAAC;iBACD,CAAC;YACH,CAAC;YACD,OAAO,EAAE;gBACR;oBACC,KAAK,EAAE,WAAW,CAAC,KAAK;oBACxB,IAAI,EAAE,OAAgB;oBACtB;;;;;;;;;;;uBAWG;oBACH,SAAS,EAAE,KAAK,EAAE,MAA+B,EAAE,EAAE;wBACrD,MAAM,YAAY,GAAG,gBAAgB,EAAE,CAAC;wBACxC,MAAM,SAAS,GAAG,YAAY,CAAC,YAAY,CAAC,CAAC;wBAC7C,MAAM,SAAS,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC;wBAElC,gEAAgE;wBAChE,IAAI,SAAS,EAAE,CAAC;4BACf,SAAS,CAAC,kDAAkD,CAAC,CAAC;4BAC9D,OAAO,MAAM,wBAAwB,CAAC,KAAK,IAAI,EAAE;gCAChD,MAAM,SAAS,GACd,MAAM,EAAE,SAAS,KAAK,MAAM;oCAC5B,MAAM,EAAE,CAAC,YAAY,CAAC,KAAK,MAAM;oCACjC,OAAO,CAAC,GAAG,CAAC,mBAAmB,KAAK,GAAG,CAAC;gCAEzC,MAAM,YAAY,GAAG,KAAK,IAA0B,EAAE;oCACrD,MAAM,EAAE,IAAI,EAAE,KAAK,EAAE,GAAG,EAAE,GAAG,MAAM,uBAAuB,EAAE,CAAC;oCAC7D,OAAO,CAAC,GAAG,CAAC,gBAAgB,GAAG,GAAG,GAAG,IAAI,CAAC,CAAC;oCAE3C,IAAI,SAAS,EAAE,CAAC;wCACf,MAAM,aAAa,GAAG,MAAM,wBAAwB,CACnD,kDAAkD,CAClD,CAAC;wCACF,MAAM,MAAM,GAAG,uBAAuB,CAAC,aAAa,CAAC,CAAC;wCACtD,IAAI,CAAC,MAAM,CAAC,IAAI;4CAAE,OAAO,EAAE,IAAI,EAAE,QAAiB,EAAE,CAAC;wCACrD,OAAO,MAAM,yBAAyB,CAAC,MAAM,CAAC,IAAI,EAAE,IAAI,CAAC,QAAQ,EAAE,YAAY,CAAC,CAAC;oCAClF,CAAC;oCAED,IAAI,UAAU,GAA6D,IAAI,CAAC;oCAChF,IAAI,CAAC;wCACJ,UAAU,GAAG,MAAM,qBAAqB,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC;oCACrD,CAAC;oCAAC,MAAM,CAAC;wCACR,UAAU,GAAG,IAAI,CAAC;oCACnB,CAAC;oCACD,cAAc,CAAC,GAAG,CAAC,CAAC;oCAEpB,IAAI,CAAC,UAAU,IAAI,CAAC,UAAU,CAAC,KAAK,EAAE,CAAC;wCACtC,UAAU,EAAE,KAAK,EAAE,CAAC;wCACpB,MAAM,aAAa,GAAG,MAAM,wBAAwB,CACnD,kDAAkD,CAClD,CAAC;wCACF,MAAM,MAAM,GAAG,uBAAuB,CAAC,aAAa,CAAC,CAAC;wCACtD,IAAI,CAAC,MAAM,CAAC,IAAI;4CAAE,OAAO,EAAE,IAAI,EAAE,QAAiB,EAAE,CAAC;wCACrD,OAAO,MAAM,yBAAyB,CAAC,MAAM,CAAC,IAAI,EAAE,IAAI,CAAC,QAAQ,EAAE,YAAY,CAAC,CAAC;oCAClF,CAAC;oCAED,MAAM,MAAM,GAAG,MAAM,UAAU,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC;oCACnD,UAAU,CAAC,KAAK,EAAE,CAAC;oCACnB,IAAI,CAAC,MAAM;wCAAE,OAAO,EAAE,IAAI,EAAE,QAAiB,EAAE,CAAC;oCAChD,OAAO,MAAM,yBAAyB,CAAC,MAAM,CAAC,IAAI,EAAE,IAAI,CAAC,QAAQ,EAAE,YAAY,CAAC,CAAC;gCAClF,CAAC,CAAC;gCAEF,MAAM,aAAa,GAAc,EAAE,CAAC;gCACpC,IAAI,UAAU,GAAG,IAAI,CAAC;gCACtB,IAAI,eAAe,GAAG,MAAM,YAAY,EAAE,CAAC;gCAC3C,IAAI,eAAe,IAAI,eAAe,CAAC,QAAQ,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;oCAC9D,MAAM,cAAc,GAAG,sBAAsB,CAAC,eAAe,CAAC,QAAQ,CAAC,CAAC;oCACtE,IAAI,cAAc,EAAE,CAAC;wCACpB,IAAI,CAAC;4CACJ,OAAO,CAAC,GAAG,CAAC,yDAAyD,CAAC,CAAC;4CACvE,MAAM,OAAO,GAAG,IAAI,cAAc,CAAC,SAAS,EAAE,eAAe,CAAC,CAAC;4CAC/D,MAAM,OAAO,CAAC,oBAAoB,EAAE,CAAC;4CACrC,MAAM,OAAO,CAAC,UAAU,EAAE,CAAC;4CAC3B,eAAe,GAAG,MAAM,YAAY,EAAE,CAAC;wCACxC,CAAC;wCAAC,MAAM,CAAC;4CACR,uBAAuB;wCACxB,CAAC;oCACF,CAAC;oCAEH,IAAI,cAAc,GAAG,CAAC,eAAe,EAAE,QAAQ,IAAI,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,EAAE,CAAC,CAAC;wCACzE,KAAK;wCACL,KAAK,EAAE,CAAC,CAAC,KAAK;wCACd,IAAI,EAAE,CAAC,CAAC,IAAI;wCACZ,SAAS,EAAE,CAAC,CAAC,SAAS;wCACtB,OAAO,EAAE,CAAC,CAAC,OAAO;qCAClB,CAAC,CAAC,CAAC;oCACJ,IAAI,IAAI,GAAG,MAAM,eAAe,CAAC,cAAc,CAAC,CAAC;oCACjD,OAAO,IAAI,KAAK,QAAQ,EAAE,CAAC;wCAC1B,IAAI,cAAc,GAAG,eAAe,CAAC;wCACrC,OAAO,cAAc,EAAE,CAAC;4CACvB,MAAM,MAAM,GAAG,CAAC,cAAc,EAAE,QAAQ,IAAI,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,EAAE,CAAC,CAAC;gDAClE,KAAK;gDACL,KAAK,EAAE,CAAC,CAAC,KAAK;gDACd,IAAI,EAAE,CAAC,CAAC,IAAI;gDACZ,SAAS,EAAE,CAAC,CAAC,SAAS;gDACtB,OAAO,EAAE,CAAC,CAAC,OAAO;6CAClB,CAAC,CAAC,CAAC;4CACJ,MAAM,WAAW,GAAG,MAAM,oBAAoB,CAAC,MAAM,CAAC,CAAC;4CACvD,IAAI,WAAW,KAAK,IAAI;gDAAE,MAAM;4CAChC,MAAM,OAAO,GAAG,oBAAoB,CAAC,cAAc,EAAE,WAAW,CAAC,CAAC;4CAClE,IAAI,OAAO,EAAE,CAAC;gDACb,MAAM,YAAY,CAAC,OAAO,CAAC,CAAC;gDAC5B,cAAc,GAAG,OAAO,CAAC;4CAC1B,CAAC;wCACF,CAAC;wCACD,eAAe,GAAG,MAAM,YAAY,EAAE,CAAC;wCACvC,cAAc,GAAG,CAAC,eAAe,EAAE,QAAQ,IAAI,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,EAAE,CAAC,CAAC;4CACrE,KAAK;4CACL,KAAK,EAAE,CAAC,CAAC,KAAK;4CACd,IAAI,EAAE,CAAC,CAAC,IAAI;4CACZ,SAAS,EAAE,CAAC,CAAC,SAAS;4CACtB,OAAO,EAAE,CAAC,CAAC,OAAO;yCAClB,CAAC,CAAC,CAAC;wCACJ,IAAI,GAAG,MAAM,eAAe,CAAC,cAAc,CAAC,CAAC;oCAC9C,CAAC;oCACD,UAAU,GAAG,IAAI,KAAK,OAAO,CAAC;gCAC/B,CAAC;gCAEC,IAAI,UAAU,EAAE,CAAC;oCAChB,MAAM,YAAY,CAAC;wCAClB,OAAO,EAAE,CAAC;wCACV,QAAQ,EAAE,EAAE;wCACZ,WAAW,EAAE,CAAC;wCACd,mBAAmB,EAAE,EAAE;qCACvB,CAAC,CAAC;gCACJ,CAAC;gCAED,OAAO,aAAa,CAAC,MAAM,GAAG,YAAY,EAAE,CAAC;oCAC5C,OAAO,CAAC,GAAG,CAAC,+BAA+B,aAAa,CAAC,MAAM,GAAG,CAAC,OAAO,CAAC,CAAC;oCAC5E,MAAM,MAAM,GAAG,MAAM,YAAY,EAAE,CAAC;oCACpC,IAAI,MAAM,CAAC,IAAI,KAAK,SAAS,EAAE,CAAC;wCAC/B,IAAI,aAAa,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;4CAChC,OAAO;gDACN,GAAG,EAAE,EAAE;gDACP,YAAY,EAAE,wBAAwB;gDACtC,MAAM,EAAE,MAAe;gDACvB,QAAQ,EAAE,KAAK,IAAI,EAAE,CAAC,CAAC,EAAE,IAAI,EAAE,QAAiB,EAAE,CAAC;6CACnD,CAAC;wCACH,CAAC;wCACD,MAAM;oCACP,CAAC;oCAEF,aAAa,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;oCAC3B,MAAM,cAAc,CAAC,MAAM,CAAC,CAAC;oCAC7B,MAAM,KAAK,GAAG,aAAa,CAAC,mBAAmB,CAAC,MAAM,CAAC,OAAO,IAAI,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC;oCAClF,MAAM,IAAI,GAAG,kBAAkB,CAAC,MAAM,CAAC,OAAO,IAAI,MAAM,CAAC,MAAM,CAAC,CAAC;oCACjE,MAAM,KAAK,GAAG,kBAAkB,CAC/B,EAAE,KAAK,EAAE,IAAI,EAAE,SAAS,EAAE,gBAAgB,CAAC,MAAM,CAAC,MAAM,CAAC,EAAE,EAC3D,aAAa,CAAC,MAAM,GAAG,CAAC,CACxB,CAAC;oCACF,MAAM,SAAS,CAAC,kBAAkB,KAAK,EAAE,EAAE,SAAS,EAAE,SAAS,CAAC,CAAC;oCAEhE,MAAM,cAAc,GAAG,MAAM,YAAY,EAAE,CAAC;oCAC5C,MAAM,KAAK,GAAG,cAAc,EAAE,QAAQ,CAAC,MAAM,IAAI,aAAa,CAAC,MAAM,CAAC;oCACtE,IAAI,CAAC,CAAC,MAAM,uBAAuB,CAAC,KAAK,EAAE,YAAY,CAAC,CAAC;wCAAE,MAAM;gCAClE,CAAC;gCAED,MAAM,OAAO,GAAG,aAAa,CAAC,CAAC,CAAC,CAAC;gCACjC,IAAI,CAAC,OAAO,EAAE,CAAC;oCACd,OAAO;wCACN,GAAG,EAAE,EAAE;wCACP,YAAY,EAAE,0BAA0B;wCACxC,MAAM,EAAE,MAAe;wCACvB,QAAQ,EAAE,KAAK,IAAI,EAAE,CAAC,CAAC,EAAE,IAAI,EAAE,QAAiB,EAAE,CAAC;qCACnD,CAAC;gCACH,CAAC;gCAED,MAAM,YAAY,GAAG,MAAM,YAAY,EAAE,CAAC;gCAC1C,MAAM,UAAU,GAAG,YAAY,EAAE,QAAQ,CAAC,MAAM,IAAI,aAAa,CAAC,MAAM,CAAC;gCACzE,SAAS,CACR,8CAA8C,UAAU,WAAW,CACnE,CAAC;gCACF,OAAO;oCACN,GAAG,EAAE,EAAE;oCACP,YAAY,EAAE,iCAAiC,UAAU,2BAA2B,cAAc,EAAE,EAAE;oCACtG,MAAM,EAAE,MAAe;oCACvB,QAAQ,EAAE,KAAK,IAAI,EAAE,CAAC,OAAO;iCAC7B,CAAC;4BACH,CAAC,CAAC,CAAC;wBACJ,CAAC;wBAED,SAAS,CAAC,kDAAkD,CAAC,CAAC;wBAC9D,MAAM,UAAU,GAAG,OAAO,CACzB,OAAO,CAAC,GAAG,CAAC,cAAc;4BACzB,OAAO,CAAC,GAAG,CAAC,UAAU;4BACtB,OAAO,CAAC,GAAG,CAAC,OAAO;4BACnB,OAAO,CAAC,GAAG,CAAC,iBAAiB,CAC9B,CAAC;wBACF,MAAM,aAAa,GAAG,UAAU,IAAI,OAAO,CAAC,GAAG,CAAC,mBAAmB,KAAK,GAAG,CAAC;wBAC5E,MAAM,eAAe,GAAG,MAAM,YAAY,EAAE,CAAC;wBAC7C,MAAM,aAAa,GAAG,eAAe,EAAE,QAAQ,CAAC,MAAM,IAAI,CAAC,CAAC;wBAE5D,MAAM,EAAE,IAAI,EAAE,KAAK,EAAE,GAAG,EAAE,GAAG,MAAM,uBAAuB,EAAE,CAAC;wBAC7D,IAAI,UAAU,GAA6D,IAAI,CAAC;wBAChF,IAAI,CAAC,aAAa,EAAE,CAAC;4BACpB,IAAI,CAAC;gCACJ,UAAU,GAAG,MAAM,qBAAqB,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC;4BACrD,CAAC;4BAAC,MAAM,CAAC;gCACR,UAAU,GAAG,IAAI,CAAC;4BACnB,CAAC;wBACF,CAAC;wBACD,IAAI,CAAC,aAAa,EAAE,CAAC;4BACpB,cAAc,CAAC,GAAG,CAAC,CAAC;wBACrB,CAAC;wBAED,IAAI,UAAU,IAAI,UAAU,CAAC,KAAK,EAAE,CAAC;4BACpC,OAAO;gCACN,GAAG;gCACH,YAAY,EACX,8FAA8F;gCAC/F,MAAM,EAAE,MAAe;gCACvB,QAAQ,EAAE,KAAK,IAAI,EAAE;oCACpB,MAAM,MAAM,GAAG,MAAM,UAAU,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC;oCACnD,UAAU,CAAC,KAAK,EAAE,CAAC;oCACnB,IAAI,CAAC,MAAM;wCAAE,OAAO,EAAE,IAAI,EAAE,QAAiB,EAAE,CAAC;oCAChD,MAAM,MAAM,GAAG,MAAM,yBAAyB,CAC7C,MAAM,CAAC,IAAI,EACX,IAAI,CAAC,QAAQ,EACb,YAAY,CACZ,CAAC;oCACD,IAAI,MAAM,EAAE,IAAI,KAAK,SAAS,EAAE,CAAC;wCAChC,MAAM,cAAc,CAAC,MAAM,CAAC,CAAC;wCAC7B,MAAM,KAAK,GAAG,aAAa,CAC1B,mBAAmB,CAAC,MAAM,CAAC,OAAO,IAAI,MAAM,CAAC,MAAM,CAAC,CACpD,CAAC;wCACF,MAAM,IAAI,GAAG,kBAAkB,CAAC,MAAM,CAAC,OAAO,IAAI,MAAM,CAAC,MAAM,CAAC,CAAC;wCACjE,MAAM,KAAK,GAAG,kBAAkB,CAC/B,EAAE,KAAK,EAAE,IAAI,EAAE,SAAS,EAAE,gBAAgB,CAAC,MAAM,CAAC,MAAM,CAAC,EAAE,EAC3D,CAAC,CACD,CAAC;wCACF,MAAM,QAAQ,GAAG,aAAa,GAAG,CAAC,CAAC;wCACnC,MAAM,YAAY,GACjB,aAAa,GAAG,CAAC;4CAChB,CAAC,CAAC,kBAAkB,KAAK,MAAM,QAAQ,QAAQ;4CAC/C,CAAC,CAAC,kBAAkB,KAAK,EAAE,CAAC;wCAC9B,MAAM,SAAS,CAAC,YAAY,EAAE,SAAS,EAAE,SAAS,CAAC,CAAC;oCACrD,CAAC;oCACF,OAAO,MAAM,EAAE,IAAI,KAAK,SAAS;wCAChC,CAAC,CAAC,MAAM;wCACR,CAAC,CAAC,EAAE,IAAI,EAAE,QAAiB,EAAE,CAAC;gCAChC,CAAC;6BACD,CAAC;wBACH,CAAC;wBAED,UAAU,EAAE,KAAK,EAAE,CAAC;wBAEpB,OAAO;4BACN,GAAG;4BACH,YAAY,EACX,yGAAyG;4BAC1G,MAAM,EAAE,MAAe;4BACvB,QAAQ,EAAE,KAAK,EAAE,KAAa,EAAE,EAAE;gCACjC,MAAM,MAAM,GAAG,uBAAuB,CAAC,KAAK,CAAC,CAAC;gCAC9C,IAAI,CAAC,MAAM,CAAC,IAAI;oCAAE,OAAO,EAAE,IAAI,EAAE,QAAiB,EAAE,CAAC;gCACrD,MAAM,MAAM,GAAG,MAAM,yBAAyB,CAC7C,MAAM,CAAC,IAAI,EACX,IAAI,CAAC,QAAQ,EACb,YAAY,CACZ,CAAC;gCACA,IAAI,MAAM,EAAE,IAAI,KAAK,SAAS,EAAE,CAAC;oCAChC,MAAM,cAAc,CAAC,MAAM,CAAC,CAAC;oCAC7B,MAAM,KAAK,GAAG,aAAa,CAC1B,mBAAmB,CAAC,MAAM,CAAC,OAAO,IAAI,MAAM,CAAC,MAAM,CAAC,CACpD,CAAC;oCACF,MAAM,IAAI,GAAG,kBAAkB,CAAC,MAAM,CAAC,OAAO,IAAI,MAAM,CAAC,MAAM,CAAC,CAAC;oCACjE,MAAM,KAAK,GAAG,kBAAkB,CAC/B,EAAE,KAAK,EAAE,IAAI,EAAE,SAAS,EAAE,gBAAgB,CAAC,MAAM,CAAC,MAAM,CAAC,EAAE,EAC3D,CAAC,CACD,CAAC;oCACF,MAAM,QAAQ,GAAG,aAAa,GAAG,CAAC,CAAC;oCACnC,MAAM,YAAY,GACjB,aAAa,GAAG,CAAC;wCAChB,CAAC,CAAC,kBAAkB,KAAK,MAAM,QAAQ,QAAQ;wCAC/C,CAAC,CAAC,kBAAkB,KAAK,EAAE,CAAC;oCAC9B,MAAM,SAAS,CAAC,YAAY,EAAE,SAAS,EAAE,SAAS,CAAC,CAAC;gCACrD,CAAC;gCACH,OAAO,MAAM,EAAE,IAAI,KAAK,SAAS;oCAChC,CAAC,CAAC,MAAM;oCACR,CAAC,CAAC,EAAE,IAAI,EAAE,QAAiB,EAAE,CAAC;4BAChC,CAAC;yBACD,CAAC;oBACH,CAAC;iBACA;gBACD;oBACC,KAAK,EAAE,WAAW,CAAC,YAAY;oBAC/B,IAAI,EAAE,OAAgB;oBACtB,SAAS,EAAE,KAAK,IAAI,EAAE;wBACrB,MAAM,EAAE,IAAI,EAAE,GAAG,EAAE,GAAG,MAAM,uBAAuB,EAAE,CAAC;wBACtD,OAAO,oBAAoB,CAAC,IAAI,EAAE,GAAG,EAAE,KAAK,EAAE,MAAM,EAAE,EAAE;4BACvD,MAAM,cAAc,CAAC,MAAM,CAAC,CAAC;wBAC9B,CAAC,CAAC,CAAC;oBACJ,CAAC;iBACD;gBACD;oBACC,KAAK,EAAE,WAAW,CAAC,OAAO;oBAC1B,IAAI,EAAE,KAAc;iBACpB;aACD;SACD;QACD,IAAI,EAAE;YACL,iBAAiB,EAAE,IAAI,CAAC;gBACvB,WAAW,EAAE,4CAA4C;gBACzD,IAAI,EAAE,EAAE;gBACR,KAAK,CAAC,OAAO;oBACZ,MAAM,OAAO,GAAG,MAAM,YAAY,EAAE,CAAC;oBACrC,MAAM,SAAS,GAAG,cAAc,EAAE,CAAC;oBACnC,IAAI,CAAC,OAAO,IAAI,OAAO,CAAC,QAAQ,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;wBAC/C,OAAO;4BACN,gCAAgC;4BAChC,EAAE;4BACF,eAAe;4BACf,uBAAuB;4BACvB,EAAE;4BACF,YAAY,SAAS,EAAE;yBACvB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;oBACd,CAAC;oBAED,MAAM,WAAW,GAChB,OAAO,OAAO,CAAC,WAAW,KAAK,QAAQ,IAAI,MAAM,CAAC,QAAQ,CAAC,OAAO,CAAC,WAAW,CAAC;wBAC9E,CAAC,CAAC,OAAO,CAAC,WAAW;wBACrB,CAAC,CAAC,CAAC,CAAC;oBACN,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;oBACvB,MAAM,KAAK,GAAa;wBACvB,oBAAoB,OAAO,CAAC,QAAQ,CAAC,MAAM,IAAI;wBAC/C,EAAE;wBACF,sDAAsD;wBACtD,uEAAuE;qBACvE,CAAC;oBACD,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC,OAAO,EAAE,KAAK,EAAE,EAAE;wBAC3C,MAAM,KAAK,GAAG,kBAAkB,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC;wBACjD,MAAM,QAAQ,GAAa,EAAE,CAAC;wBAC9B,IAAI,KAAK,KAAK,WAAW;4BAAE,QAAQ,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;wBACnD,IAAI,OAAO,CAAC,OAAO,KAAK,KAAK;4BAAE,QAAQ,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;wBACzD,MAAM,WAAW,GAChB,OAAO,CAAC,mBAAmB;4BAC3B,MAAM,CAAC,MAAM,CAAC,OAAO,CAAC,mBAAmB,CAAC,CAAC,IAAI,CAC/C,CAAC,CAAC,EAAE,EAAE,CAAC,OAAO,CAAC,KAAK,QAAQ,IAAI,CAAC,GAAG,GAAG,CACvC,CAAC;wBACH,IAAI,WAAW;4BAAE,QAAQ,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC;wBAC/C,IACC,OAAO,OAAO,CAAC,gBAAgB,KAAK,QAAQ;4BAC5C,OAAO,CAAC,gBAAgB,GAAG,GAAG,EAC7B,CAAC;4BACF,QAAQ,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;wBAC3B,CAAC;wBACD,KAAK,CAAC,IAAI,CACT,GAAG,MAAM,CAAC,KAAK,GAAG,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,KAAK,CAAC,MAAM,CAAC,EAAE,CAAC,IACjD,QAAQ,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAC7C,EAAE,CACF,CAAC;oBACH,CAAC,CAAC,CAAC;oBACH,KAAK,CAAC,IAAI,CAAC,EAAE,EAAE,YAAY,SAAS,EAAE,CAAC,CAAC;oBACxC,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;gBACzB,CAAC;aACD,CAAC;YACF,wBAAwB,EAAE,IAAI,CAAC;gBAC9B,WAAW,EAAE,kDAAkD;gBAC/D,IAAI,EAAE;oBACL,KAAK,EAAE,IAAI,CAAC,MAAM,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,0BAA0B,CAAC;iBAChE;gBACD,KAAK,CAAC,OAAO,CAAC,EAAE,KAAK,EAAE;oBACtB,MAAM,OAAO,GAAG,MAAM,YAAY,EAAE,CAAC;oBACrC,IAAI,CAAC,OAAO,IAAI,OAAO,CAAC,QAAQ,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;wBAC/C,OAAO,yDAAyD,CAAC;oBAClE,CAAC;oBACD,MAAM,WAAW,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,KAAK,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;oBACjD,IAAI,WAAW,GAAG,CAAC,IAAI,WAAW,IAAI,OAAO,CAAC,QAAQ,CAAC,MAAM,EAAE,CAAC;wBAC/D,OAAO,2BAA2B,KAAK,oBAAoB,OAAO,CAAC,QAAQ,CAAC,MAAM,EAAE,CAAC;oBACtF,CAAC;oBACD,OAAO,CAAC,WAAW,GAAG,WAAW,CAAC;oBAClC,OAAO,CAAC,mBAAmB,GAAG,OAAO,CAAC,mBAAmB,IAAI,EAAE,CAAC;oBAChE,KAAK,MAAM,MAAM,IAAI,cAAc,EAAE,CAAC;wBACrC,OAAO,CAAC,mBAAmB,CAAC,MAAM,CAAC,GAAG,WAAW,CAAC;oBACnD,CAAC;oBACD,MAAM,OAAO,GAAG,OAAO,CAAC,QAAQ,CAAC,WAAW,CAAC,CAAC;oBAC9C,IAAI,OAAO,EAAE,CAAC;wBACb,OAAO,CAAC,QAAQ,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;wBAC9B,OAAO,CAAC,gBAAgB,GAAG,UAAU,CAAC;oBACvC,CAAC;oBACD,MAAM,YAAY,CAAC,OAAO,CAAC,CAAC;oBAC5B,IAAI,oBAAoB,EAAE,CAAC;wBAC1B,oBAAoB,CAAC,cAAc,CAAC,WAAW,CAAC,CAAC;wBACjD,MAAM,oBAAoB,CAAC,UAAU,EAAE,CAAC;oBACzC,CAAC;oBACD,OAAO,eAAe,kBAAkB,CAAC,OAAO,EAAE,WAAW,CAAC,EAAE,CAAC;gBAClE,CAAC;aACD,CAAC;SACF;KACD,CAAC;AACH,CAAC,CAAC;AAEF,eAAe,gBAAgB,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"account-matching.d.ts","sourceRoot":"","sources":["../../lib/account-matching.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,YAAY,CAAC;AAElD,wBAAgB,qBAAqB,CACpC,QAAQ,EAAE,eAAe,EAAE,EAC3B,SAAS,EAAE;IAAE,SAAS,CAAC,EAAE,MAAM,CAAC;IAAC,IAAI,CAAC,EAAE,MAAM,CAAA;CAAE,
|
|
1
|
+
{"version":3,"file":"account-matching.d.ts","sourceRoot":"","sources":["../../lib/account-matching.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,YAAY,CAAC;AAElD,wBAAgB,qBAAqB,CACpC,QAAQ,EAAE,eAAe,EAAE,EAC3B,SAAS,EAAE;IAAE,SAAS,CAAC,EAAE,MAAM,CAAC;IAAC,IAAI,CAAC,EAAE,MAAM,CAAC;IAAC,KAAK,CAAC,EAAE,MAAM,CAAA;CAAE,GAC9D,MAAM,CAUR"}
|
|
@@ -1,11 +1,10 @@
|
|
|
1
1
|
export function findAccountMatchIndex(accounts, candidate) {
|
|
2
|
+
// Strict identity match: accountId + email + plan. Email alone is insufficient.
|
|
2
3
|
const accountId = candidate.accountId?.trim();
|
|
3
|
-
if (!accountId)
|
|
4
|
-
return -1;
|
|
5
4
|
const plan = candidate.plan?.trim();
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
return accounts.findIndex((account) => account.accountId === accountId);
|
|
5
|
+
const email = candidate.email?.trim();
|
|
6
|
+
if (!accountId || !plan || !email)
|
|
7
|
+
return -1;
|
|
8
|
+
return accounts.findIndex((account) => account.accountId === accountId && account.plan === plan && account.email === email);
|
|
10
9
|
}
|
|
11
10
|
//# sourceMappingURL=account-matching.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"account-matching.js","sourceRoot":"","sources":["../../lib/account-matching.ts"],"names":[],"mappings":"AAEA,MAAM,UAAU,qBAAqB,CACpC,QAA2B,EAC3B,
|
|
1
|
+
{"version":3,"file":"account-matching.js","sourceRoot":"","sources":["../../lib/account-matching.ts"],"names":[],"mappings":"AAEA,MAAM,UAAU,qBAAqB,CACpC,QAA2B,EAC3B,SAAgE;IAEhE,gFAAgF;IAChF,MAAM,SAAS,GAAG,SAAS,CAAC,SAAS,EAAE,IAAI,EAAE,CAAC;IAC9C,MAAM,IAAI,GAAG,SAAS,CAAC,IAAI,EAAE,IAAI,EAAE,CAAC;IACpC,MAAM,KAAK,GAAG,SAAS,CAAC,KAAK,EAAE,IAAI,EAAE,CAAC;IACtC,IAAI,CAAC,SAAS,IAAI,CAAC,IAAI,IAAI,CAAC,KAAK;QAAE,OAAO,CAAC,CAAC,CAAC;IAE7C,OAAO,QAAQ,CAAC,SAAS,CACxB,CAAC,OAAO,EAAE,EAAE,CAAC,OAAO,CAAC,SAAS,KAAK,SAAS,IAAI,OAAO,CAAC,IAAI,KAAK,IAAI,IAAI,OAAO,CAAC,KAAK,KAAK,KAAK,CAChG,CAAC;AACH,CAAC"}
|
package/dist/lib/accounts.d.ts
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import type { Auth } from "@opencode-ai/sdk";
|
|
2
|
-
import type { AccountSelectionStrategy, AccountStorageV3, CooldownReason, OAuthAuthDetails, RateLimitStateV3 } from "./types.js";
|
|
2
|
+
import type { AccountSelectionStrategy, AccountStorageV3, CooldownReason, OAuthAuthDetails, RateLimitStateV3, TokenResult } from "./types.js";
|
|
3
3
|
import { type ModelFamily } from "./prompts/codex.js";
|
|
4
4
|
export type BaseQuotaKey = ModelFamily;
|
|
5
5
|
export type QuotaKey = BaseQuotaKey | `${BaseQuotaKey}:${string}`;
|
|
@@ -13,11 +13,18 @@ export declare function formatAccountLabel(account: {
|
|
|
13
13
|
accountId?: string;
|
|
14
14
|
} | undefined, index: number): string;
|
|
15
15
|
export declare function formatWaitTime(ms: number): string;
|
|
16
|
+
export declare function needsIdentityHydration(accounts: Array<{
|
|
17
|
+
accountId?: string;
|
|
18
|
+
email?: string;
|
|
19
|
+
plan?: string;
|
|
20
|
+
enabled?: boolean;
|
|
21
|
+
}>): boolean;
|
|
16
22
|
export interface ManagedAccount {
|
|
17
23
|
index: number;
|
|
18
24
|
accountId?: string;
|
|
19
25
|
email?: string;
|
|
20
26
|
plan?: string;
|
|
27
|
+
enabled?: boolean;
|
|
21
28
|
refreshToken: string;
|
|
22
29
|
access?: string;
|
|
23
30
|
expires?: number;
|
|
@@ -35,10 +42,13 @@ export declare class AccountManager {
|
|
|
35
42
|
private sessionOffsetApplied;
|
|
36
43
|
private lastToastAccountIndex;
|
|
37
44
|
private lastToastTime;
|
|
45
|
+
private refreshInFlight;
|
|
46
|
+
private lastHydrationAttemptAt;
|
|
38
47
|
static loadFromDisk(authFallback?: OAuthAuthDetails): Promise<AccountManager>;
|
|
39
48
|
constructor(authFallback?: OAuthAuthDetails, stored?: AccountStorageV3 | null);
|
|
40
49
|
getAccountCount(): number;
|
|
41
50
|
getAccountsSnapshot(): ManagedAccount[];
|
|
51
|
+
getAccountByIndex(index: number): ManagedAccount | null;
|
|
42
52
|
getActiveIndexForFamily(family: ModelFamily): number;
|
|
43
53
|
setActiveIndex(index: number): ManagedAccount | null;
|
|
44
54
|
getCurrentAccountForFamily(family: ModelFamily): ManagedAccount | null;
|
|
@@ -51,10 +61,14 @@ export declare class AccountManager {
|
|
|
51
61
|
isAccountCoolingDown(account: ManagedAccount): boolean;
|
|
52
62
|
shouldShowAccountToast(accountIndex: number, debounceMs?: number): boolean;
|
|
53
63
|
markToastShown(accountIndex: number): void;
|
|
64
|
+
markAccountUsed(accountIndex: number): void;
|
|
54
65
|
updateFromAuth(account: ManagedAccount, auth: OAuthAuthDetails): void;
|
|
55
66
|
toAuthDetails(account: ManagedAccount): OAuthAuthDetails;
|
|
56
67
|
hydrateMissingEmails(): Promise<void>;
|
|
68
|
+
getMinWaitTimeForFamilyWithHydration(family: ModelFamily, model?: string | null): Promise<number>;
|
|
57
69
|
getMinWaitTimeForFamily(family: ModelFamily, model?: string | null): number;
|
|
70
|
+
refreshAccountWithLock(account: ManagedAccount, refreshFn?: (refreshToken: string) => Promise<TokenResult>): Promise<TokenResult>;
|
|
71
|
+
refreshAccountWithFallback(account: ManagedAccount, refreshFn?: (refreshToken: string) => Promise<TokenResult>): Promise<TokenResult>;
|
|
58
72
|
saveToDisk(): Promise<void>;
|
|
59
73
|
}
|
|
60
74
|
export declare function isOAuthAuth(auth: Auth): auth is OAuthAuthDetails;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"accounts.d.ts","sourceRoot":"","sources":["../../lib/accounts.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,kBAAkB,CAAC;AAI7C,OAAO,KAAK,EACX,wBAAwB,EACxB,gBAAgB,EAChB,cAAc,EACd,gBAAgB,EAChB,gBAAgB,EAChB,MAAM,YAAY,CAAC;AAEpB,OAAO,EAAkB,KAAK,WAAW,EAAE,MAAM,oBAAoB,CAAC;AAItE,MAAM,MAAM,YAAY,GAAG,WAAW,CAAC;AACvC,MAAM,MAAM,QAAQ,GAAG,YAAY,GAAG,GAAG,YAAY,IAAI,MAAM,EAAE,CAAC;AAgBlE,wBAAgB,gBAAgB,CAAC,WAAW,CAAC,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS,CAMzE;AAED,wBAAgB,mBAAmB,CAAC,WAAW,CAAC,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS,CAa5E;AAED,wBAAgB,aAAa,CAAC,KAAK,EAAE,MAAM,GAAG,SAAS,GAAG,MAAM,GAAG,SAAS,CAK3E;
|
|
1
|
+
{"version":3,"file":"accounts.d.ts","sourceRoot":"","sources":["../../lib/accounts.ts"],"names":[],"mappings":"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"}
|