diff --git a/README.md b/README.md index e961712..63e1d4d 100644 --- a/README.md +++ b/README.md @@ -320,6 +320,7 @@ Outlook login often shows interstitial pages after password entry: - `OPENCODE_MULTI_AUTH_TOKEN_FAILURE_COOLDOWN_MS` - `OPENCODE_MULTI_AUTH_PROBE_EFFORT` - `OPENCODE_MULTI_AUTH_LIMITS_PROBE_MODELS` +- `OPENCODE_MULTI_AUTH_CREDIT_ACCOUNT_ALIASES` -> comma-separated aliases allowed to spend paid credits after included Codex limits are exhausted. Unset means all accounts; `none` disables paid-credit fallback; `all` or `*` allows all. ### Model mapping and runtime behavior diff --git a/dist/credits-policy.d.ts b/dist/credits-policy.d.ts new file mode 100644 index 0000000..af329d2 --- /dev/null +++ b/dist/credits-policy.d.ts @@ -0,0 +1,6 @@ +import { type AccountCredentials } from './types.js'; +export declare function parseCreditAccountAliases(raw: string | undefined): string[] | undefined; +export declare function getCreditAccountAliases(): string[] | undefined; +export declare function isCreditsAllowedForAlias(alias: string, creditAccountAliases?: string[] | undefined): boolean; +export declare function hasUsableAllowedCredits(account: AccountCredentials, creditAccountAliases?: string[] | undefined): boolean; +//# sourceMappingURL=credits-policy.d.ts.map \ No newline at end of file diff --git a/dist/credits-policy.d.ts.map b/dist/credits-policy.d.ts.map new file mode 100644 index 0000000..9097471 --- /dev/null +++ b/dist/credits-policy.d.ts.map @@ -0,0 +1 @@ +{"version":3,"file":"credits-policy.d.ts","sourceRoot":"","sources":["../src/credits-policy.ts"],"names":[],"mappings":"AACA,OAAO,EAAoB,KAAK,kBAAkB,EAAE,MAAM,YAAY,CAAA;AAItE,wBAAgB,yBAAyB,CAAC,GAAG,EAAE,MAAM,GAAG,SAAS,GAAG,MAAM,EAAE,GAAG,SAAS,CAcvF;AAED,wBAAgB,uBAAuB,IAAI,MAAM,EAAE,GAAG,SAAS,CAU9D;AAED,wBAAgB,wBAAwB,CACtC,KAAK,EAAE,MAAM,EACb,oBAAoB,GAAE,MAAM,EAAE,GAAG,SAAqC,GACrE,OAAO,CAIT;AAED,wBAAgB,uBAAuB,CACrC,OAAO,EAAE,kBAAkB,EAC3B,oBAAoB,GAAE,MAAM,EAAE,GAAG,SAAqC,GACrE,OAAO,CAET"} \ No newline at end of file diff --git a/dist/credits-policy.js b/dist/credits-policy.js new file mode 100644 index 0000000..bb4f64c --- /dev/null +++ b/dist/credits-policy.js @@ -0,0 +1,40 @@ +import { loadStore } from './store.js'; +import { hasUsableCredits } from './types.js'; +const CREDIT_ACCOUNT_ALIASES_ENV = 'OPENCODE_MULTI_AUTH_CREDIT_ACCOUNT_ALIASES'; +export function parseCreditAccountAliases(raw) { + if (raw === undefined) + return undefined; + const value = raw.trim(); + if (!value) + return undefined; + const normalized = value.toLowerCase(); + if (normalized === 'all' || value === '*') + return ['*']; + if (normalized === 'none' || normalized === 'off' || normalized === 'false' || normalized === '0') + return []; + return value + .split(',') + .map((alias) => alias.trim()) + .filter(Boolean); +} +export function getCreditAccountAliases() { + const envValue = process.env[CREDIT_ACCOUNT_ALIASES_ENV]; + if (envValue !== undefined) { + return parseCreditAccountAliases(envValue); + } + const store = loadStore(); + return Array.isArray(store.settings?.creditAccountAliases) + ? store.settings.creditAccountAliases + : undefined; +} +export function isCreditsAllowedForAlias(alias, creditAccountAliases = getCreditAccountAliases()) { + if (!Array.isArray(creditAccountAliases)) + return true; + if (creditAccountAliases.includes('*')) + return true; + return creditAccountAliases.includes(alias); +} +export function hasUsableAllowedCredits(account, creditAccountAliases = getCreditAccountAliases()) { + return isCreditsAllowedForAlias(account.alias, creditAccountAliases) && hasUsableCredits(account.credits); +} +//# sourceMappingURL=credits-policy.js.map \ No newline at end of file diff --git a/dist/credits-policy.js.map b/dist/credits-policy.js.map new file mode 100644 index 0000000..cbd1f1c --- /dev/null +++ b/dist/credits-policy.js.map @@ -0,0 +1 @@ +{"version":3,"file":"credits-policy.js","sourceRoot":"","sources":["../src/credits-policy.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,YAAY,CAAA;AACtC,OAAO,EAAE,gBAAgB,EAA2B,MAAM,YAAY,CAAA;AAEtE,MAAM,0BAA0B,GAAG,4CAA4C,CAAA;AAE/E,MAAM,UAAU,yBAAyB,CAAC,GAAuB;IAC/D,IAAI,GAAG,KAAK,SAAS;QAAE,OAAO,SAAS,CAAA;IAEvC,MAAM,KAAK,GAAG,GAAG,CAAC,IAAI,EAAE,CAAA;IACxB,IAAI,CAAC,KAAK;QAAE,OAAO,SAAS,CAAA;IAE5B,MAAM,UAAU,GAAG,KAAK,CAAC,WAAW,EAAE,CAAA;IACtC,IAAI,UAAU,KAAK,KAAK,IAAI,KAAK,KAAK,GAAG;QAAE,OAAO,CAAC,GAAG,CAAC,CAAA;IACvD,IAAI,UAAU,KAAK,MAAM,IAAI,UAAU,KAAK,KAAK,IAAI,UAAU,KAAK,OAAO,IAAI,UAAU,KAAK,GAAG;QAAE,OAAO,EAAE,CAAA;IAE5G,OAAO,KAAK;SACT,KAAK,CAAC,GAAG,CAAC;SACV,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,IAAI,EAAE,CAAC;SAC5B,MAAM,CAAC,OAAO,CAAC,CAAA;AACpB,CAAC;AAED,MAAM,UAAU,uBAAuB;IACrC,MAAM,QAAQ,GAAG,OAAO,CAAC,GAAG,CAAC,0BAA0B,CAAC,CAAA;IACxD,IAAI,QAAQ,KAAK,SAAS,EAAE,CAAC;QAC3B,OAAO,yBAAyB,CAAC,QAAQ,CAAC,CAAA;IAC5C,CAAC;IAED,MAAM,KAAK,GAAG,SAAS,EAAE,CAAA;IACzB,OAAO,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,QAAQ,EAAE,oBAAoB,CAAC;QACxD,CAAC,CAAC,KAAK,CAAC,QAAQ,CAAC,oBAAoB;QACrC,CAAC,CAAC,SAAS,CAAA;AACf,CAAC;AAED,MAAM,UAAU,wBAAwB,CACtC,KAAa,EACb,uBAA6C,uBAAuB,EAAE;IAEtE,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,oBAAoB,CAAC;QAAE,OAAO,IAAI,CAAA;IACrD,IAAI,oBAAoB,CAAC,QAAQ,CAAC,GAAG,CAAC;QAAE,OAAO,IAAI,CAAA;IACnD,OAAO,oBAAoB,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAA;AAC7C,CAAC;AAED,MAAM,UAAU,uBAAuB,CACrC,OAA2B,EAC3B,uBAA6C,uBAAuB,EAAE;IAEtE,OAAO,wBAAwB,CAAC,OAAO,CAAC,KAAK,EAAE,oBAAoB,CAAC,IAAI,gBAAgB,CAAC,OAAO,CAAC,OAAO,CAAC,CAAA;AAC3G,CAAC"} \ No newline at end of file diff --git a/dist/index.d.ts.map b/dist/index.d.ts.map index 7e1aaaa..63eec68 100644 --- a/dist/index.d.ts.map +++ b/dist/index.d.ts.map @@ -1 +1 @@ -{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,EAAe,MAAM,qBAAqB,CAAA;AA2M9D,wBAAgB,kBAAkB,CAAC,OAAO,EAAE,GAAG,EAAE,YAAY,GAAE,MAAW,GAAG,OAAO,CAKnF;AAqED;;;;GAIG;AACH,QAAA,MAAM,eAAe,EAAE,MAyuBtB,CAAA;AAED,eAAe,eAAe,CAAA"} \ No newline at end of file +{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,EAAe,MAAM,qBAAqB,CAAA;AA6M9D,wBAAgB,kBAAkB,CAAC,OAAO,EAAE,GAAG,EAAE,YAAY,GAAE,MAAW,GAAG,OAAO,CAKnF;AAqED;;;;GAIG;AACH,QAAA,MAAM,eAAe,EAAE,MA+vBtB,CAAA;AAED,eAAe,eAAe,CAAA"} \ No newline at end of file diff --git a/dist/index.js b/dist/index.js index b6efe84..b83a1e6 100644 --- a/dist/index.js +++ b/dist/index.js @@ -3,11 +3,13 @@ import { syncAuthFromOpenCode } from './auth-sync.js'; import { createAuthorizationFlow, loginAccount } from './auth.js'; import { extractRateLimitUpdate, getBlockingRateLimitResetAt, mergeRateLimits, parseRateLimitResetFromError, parseRetryAfterHeader } from './rate-limits.js'; import { getNextAccount, markAuthInvalid, markModelUnsupported, markRateLimited, markWorkspaceDeactivated } from './rotation.js'; +import { refreshRateLimitsForAccount } from './limits-refresh.js'; import { getDefaultModels } from './models.js'; import { getForceState, isForceActive } from './force-mode.js'; import { getRuntimeSettings } from './settings.js'; import { listAccounts, updateAccount, loadStore } from './store.js'; import { DEFAULT_CONFIG } from './types.js'; +import { getCreditAccountAliases, hasUsableAllowedCredits, isCreditsAllowedForAlias } from './credits-policy.js'; import { Errors } from './errors.js'; const PROVIDER_ID = 'openai'; const CODEX_BASE_URL = 'https://chatgpt.com/backend-api'; @@ -545,14 +547,26 @@ const MultiAuthPlugin = async ({ client, $, serverUrl, project, directory }) => const store = loadStore(); const forceState = getForceState(); const forcePinned = isForceActive() && !!forceState.forcedAlias; - const eligibleCount = Object.values(store.accounts).filter(acc => { + const accountsForAttempts = Object.values(store.accounts); + const creditAccountAliases = getCreditAccountAliases(); + const normalEligibleCount = accountsForAttempts.filter(acc => { const now = Date.now(); - return (!acc.rateLimitedUntil || acc.rateLimitedUntil < now) && + return (!acc.rateLimitedUntil || acc.rateLimitedUntil < now || hasUsableAllowedCredits(acc, creditAccountAliases)) && (!acc.modelUnsupportedUntil || acc.modelUnsupportedUntil < now) && (!acc.workspaceDeactivatedUntil || acc.workspaceDeactivatedUntil < now) && !acc.authInvalid && acc.enabled !== false; }).length; + const softRateLimitedCount = accountsForAttempts.filter(acc => { + const now = Date.now(); + return !!(acc.rateLimitedUntil && acc.rateLimitedUntil > now) && + isCreditsAllowedForAlias(acc.alias, creditAccountAliases) && + (!acc.modelUnsupportedUntil || acc.modelUnsupportedUntil < now) && + (!acc.workspaceDeactivatedUntil || acc.workspaceDeactivatedUntil < now) && + !acc.authInvalid && + acc.enabled !== false; + }).length; + const eligibleCount = normalEligibleCount > 0 ? normalEligibleCount : softRateLimitedCount; const maxAttempts = forcePinned ? 1 : Math.max(1, eligibleCount); const triedAliases = new Set(); let attempt = 0; @@ -716,6 +730,16 @@ const MultiAuthPlugin = async ({ client, $, serverUrl, project, directory }) => const errorText = extractErrorMessage(errorData); const rateLimitedUntil = resolveRateLimitedUntil(mergedRateLimits, res.headers, errorText, pluginConfig.rateLimitCooldownMs); markRateLimited(account.alias, rateLimitedUntil); + if (isCreditsAllowedForAlias(account.alias)) { + const latestAccount = loadStore().accounts[account.alias]; + if (latestAccount) { + await refreshRateLimitsForAccount(latestAccount).catch((err) => { + if (process.env.OPENCODE_MULTI_AUTH_DEBUG === '1') { + console.warn(`[multi-auth] Credit refresh after 429 failed for ${account.alias}: ${err}`); + } + }); + } + } if (attempt < maxAttempts) { continue; } diff --git a/dist/index.js.map b/dist/index.js.map index 444856b..859765b 100644 --- a/dist/index.js.map +++ b/dist/index.js.map @@ -1 +1 @@ -{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"} \ No newline at end of file +{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"} \ No newline at end of file diff --git a/dist/limits-refresh.d.ts.map b/dist/limits-refresh.d.ts.map index ab18bf6..9cd8877 100644 --- a/dist/limits-refresh.d.ts.map +++ b/dist/limits-refresh.d.ts.map @@ -1 +1 @@ -{"version":3,"file":"limits-refresh.d.ts","sourceRoot":"","sources":["../src/limits-refresh.ts"],"names":[],"mappings":"AAYA,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,YAAY,CAAA;AAEpD,MAAM,WAAW,kBAAkB;IACjC,KAAK,EAAE,MAAM,CAAA;IACb,OAAO,EAAE,OAAO,CAAA;IAChB,KAAK,CAAC,EAAE,MAAM,CAAA;CACf;AAED,wBAAsB,2BAA2B,CAAC,OAAO,EAAE,kBAAkB,GAAG,OAAO,CAAC,kBAAkB,CAAC,CAkH1G;AAED,wBAAsB,iBAAiB,CACrC,QAAQ,EAAE,kBAAkB,EAAE,EAC9B,KAAK,CAAC,EAAE,MAAM,GACb,OAAO,CAAC,kBAAkB,EAAE,CAAC,CAkB/B"} \ No newline at end of file +{"version":3,"file":"limits-refresh.d.ts","sourceRoot":"","sources":["../src/limits-refresh.ts"],"names":[],"mappings":"AAaA,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,YAAY,CAAA;AAEpD,MAAM,WAAW,kBAAkB;IACjC,KAAK,EAAE,MAAM,CAAA;IACb,OAAO,EAAE,OAAO,CAAA;IAChB,KAAK,CAAC,EAAE,MAAM,CAAA;CACf;AAED,wBAAsB,2BAA2B,CAAC,OAAO,EAAE,kBAAkB,GAAG,OAAO,CAAC,kBAAkB,CAAC,CAuH1G;AAED,wBAAsB,iBAAiB,CACrC,QAAQ,EAAE,kBAAkB,EAAE,EAC9B,KAAK,CAAC,EAAE,MAAM,GACb,OAAO,CAAC,kBAAkB,EAAE,CAAC,CAkB/B"} \ No newline at end of file diff --git a/dist/limits-refresh.js b/dist/limits-refresh.js index 874eca6..e38931b 100644 --- a/dist/limits-refresh.js +++ b/dist/limits-refresh.js @@ -5,27 +5,33 @@ import { probeRateLimitsForAccount } from './probe-limits.js'; import { logError, logInfo } from './logger.js'; import { DEFAULT_CONFIG, calculateLimitsConfidence } from './types.js'; import { fetchUsageRateLimitsForAccount } from './usage-limits.js'; +import { isCreditsAllowedForAlias } from './credits-policy.js'; export async function refreshRateLimitsForAccount(account) { updateAccount(account.alias, { limitStatus: 'running', limitError: undefined }); logInfo(`Refreshing limits for ${account.alias}`); - const usage = await fetchUsageRateLimitsForAccount(account); - if (usage.rateLimits) { + const usage = await fetchUsageRateLimitsForAccount(account, { + creditsAllowed: isCreditsAllowedForAlias(account.alias) + }); + if (usage.rateLimits || usage.credits) { const now = Date.now(); const updates = { - rateLimits: mergeRateLimits(account.rateLimits, usage.rateLimits), limitStatus: 'success', limitError: undefined, lastLimitProbeAt: now, limitsConfidence: calculateLimitsConfidence(now, account.lastLimitErrorAt, 'success'), + rateLimitedUntil: usage.rateLimitedUntil, authInvalid: false, authInvalidatedAt: undefined }; + if (usage.rateLimits) { + updates.rateLimits = mergeRateLimits(account.rateLimits, usage.rateLimits); + } + if (usage.credits) { + updates.credits = usage.credits; + } if (usage.planType) { updates.planType = usage.planType; } - if (typeof usage.rateLimitedUntil === 'number' && usage.rateLimitedUntil > now) { - updates.rateLimitedUntil = usage.rateLimitedUntil; - } updateAccount(account.alias, updates); logInfo(`Limits refreshed for ${account.alias} via usage API`); return { alias: account.alias, updated: true }; diff --git a/dist/limits-refresh.js.map b/dist/limits-refresh.js.map index 2364626..a8c9000 100644 --- a/dist/limits-refresh.js.map +++ b/dist/limits-refresh.js.map @@ -1 +1 @@ -{"version":3,"file":"limits-refresh.js","sourceRoot":"","sources":["../src/limits-refresh.ts"],"names":[],"mappings":"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"} \ No newline at end of file +{"version":3,"file":"limits-refresh.js","sourceRoot":"","sources":["../src/limits-refresh.ts"],"names":[],"mappings":"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"} \ No newline at end of file diff --git a/dist/rotation.d.ts.map b/dist/rotation.d.ts.map index 040e230..30f1b22 100644 --- a/dist/rotation.d.ts.map +++ b/dist/rotation.d.ts.map @@ -1 +1 @@ -{"version":3,"file":"rotation.d.ts","sourceRoot":"","sources":["../src/rotation.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAE,kBAAkB,EAAE,cAAc,EAAE,MAAM,YAAY,CAAA;AAEpE,MAAM,WAAW,cAAc;IAC7B,OAAO,EAAE,kBAAkB,CAAA;IAC3B,KAAK,EAAE,MAAM,CAAA;IACb,UAAU,CAAC,EAAE;QACX,MAAM,EAAE,OAAO,CAAA;QACf,KAAK,EAAE,MAAM,GAAG,IAAI,CAAA;QACpB,WAAW,EAAE,MAAM,CAAA;KACpB,CAAA;CACF;AAED,MAAM,WAAW,uBAAuB;IACtC,KAAK,CAAC,EAAE,MAAM,CAAA;CACf;AAkHD,wBAAsB,cAAc,CAClC,MAAM,EAAE,OAAO,cAAc,EAC7B,SAAS,CAAC,EAAE,uBAAuB,GAClC,OAAO,CAAC,cAAc,GAAG,IAAI,CAAC,CA8OhC;AAED,wBAAgB,eAAe,CAAC,KAAK,EAAE,MAAM,EAAE,gBAAgB,EAAE,MAAM,GAAG,IAAI,CAQ7E;AAED,wBAAgB,cAAc,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI,CAIlD;AAED,wBAAgB,oBAAoB,CAClC,KAAK,EAAE,MAAM,EACb,UAAU,EAAE,MAAM,EAClB,IAAI,CAAC,EAAE;IAAE,KAAK,CAAC,EAAE,MAAM,CAAC;IAAC,KAAK,CAAC,EAAE,MAAM,CAAA;CAAE,GACxC,IAAI,CAWN;AAED,wBAAgB,qBAAqB,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI,CAOzD;AAED,wBAAgB,wBAAwB,CACtC,KAAK,EAAE,MAAM,EACb,UAAU,EAAE,MAAM,EAClB,IAAI,CAAC,EAAE;IAAE,KAAK,CAAC,EAAE,MAAM,CAAA;CAAE,GACxB,IAAI,CASN;AAED,wBAAgB,yBAAyB,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI,CAM7D;AAED,wBAAgB,eAAe,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI,CAMnD;AAED,wBAAgB,gBAAgB,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI,CAKpD"} \ No newline at end of file +{"version":3,"file":"rotation.d.ts","sourceRoot":"","sources":["../src/rotation.ts"],"names":[],"mappings":"AAQA,OAAO,KAAK,EAAE,kBAAkB,EAAE,cAAc,EAAE,MAAM,YAAY,CAAA;AAEpE,MAAM,WAAW,cAAc;IAC7B,OAAO,EAAE,kBAAkB,CAAA;IAC3B,KAAK,EAAE,MAAM,CAAA;IACb,UAAU,CAAC,EAAE;QACX,MAAM,EAAE,OAAO,CAAA;QACf,KAAK,EAAE,MAAM,GAAG,IAAI,CAAA;QACpB,WAAW,EAAE,MAAM,CAAA;KACpB,CAAA;CACF;AAED,MAAM,WAAW,uBAAuB;IACtC,KAAK,CAAC,EAAE,MAAM,CAAA;CACf;AAiPD,wBAAsB,cAAc,CAClC,MAAM,EAAE,OAAO,cAAc,EAC7B,SAAS,CAAC,EAAE,uBAAuB,GAClC,OAAO,CAAC,cAAc,GAAG,IAAI,CAAC,CA4RhC;AAED,wBAAgB,eAAe,CAAC,KAAK,EAAE,MAAM,EAAE,gBAAgB,EAAE,MAAM,GAAG,IAAI,CAS7E;AAED,wBAAgB,cAAc,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI,CAIlD;AAED,wBAAgB,oBAAoB,CAClC,KAAK,EAAE,MAAM,EACb,UAAU,EAAE,MAAM,EAClB,IAAI,CAAC,EAAE;IAAE,KAAK,CAAC,EAAE,MAAM,CAAC;IAAC,KAAK,CAAC,EAAE,MAAM,CAAA;CAAE,GACxC,IAAI,CAWN;AAED,wBAAgB,qBAAqB,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI,CAOzD;AAED,wBAAgB,wBAAwB,CACtC,KAAK,EAAE,MAAM,EACb,UAAU,EAAE,MAAM,EAClB,IAAI,CAAC,EAAE;IAAE,KAAK,CAAC,EAAE,MAAM,CAAA;CAAE,GACxB,IAAI,CASN;AAED,wBAAgB,yBAAyB,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI,CAM7D;AAED,wBAAgB,eAAe,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI,CAMnD;AAED,wBAAgB,gBAAgB,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI,CAKpD"} \ No newline at end of file diff --git a/dist/rotation.js b/dist/rotation.js index 2f26dd0..fab956c 100644 --- a/dist/rotation.js +++ b/dist/rotation.js @@ -3,6 +3,9 @@ import { ensureValidToken } from './auth.js'; import { decodeJwtPayload, getPlanTypeFromClaims } from './codex-auth.js'; import { isForceActive, checkAndAutoClearForce, getForceState, clearForce } from './force-mode.js'; import { getRuntimeSettings, calculateWeightedSelection } from './settings.js'; +import { mergeRateLimits } from './rate-limits.js'; +import { fetchUsageRateLimitsForAccount } from './usage-limits.js'; +import { getCreditAccountAliases, hasUsableAllowedCredits, isCreditsAllowedForAlias } from './credits-policy.js'; const HEALTH_HYSTERESIS_MS = 10_000; const RECENT_FAILURE_WINDOW_MS = 60_000; function shuffled(input) { @@ -51,13 +54,15 @@ function getPreferredPools(store, availableAliases, selection) { fallbackAliases: [] }; } -function evaluateAccountHealth(acc, now) { - const wasRateLimited = !!(acc.rateLimitedUntil && acc.rateLimitedUntil > now - HEALTH_HYSTERESIS_MS); +function evaluateAccountHealth(acc, now, creditAccountAliases = getCreditAccountAliases()) { + const hasCredits = hasUsableAllowedCredits(acc, creditAccountAliases); + const isRateLimited = !!(acc.rateLimitedUntil && acc.rateLimitedUntil > now); + const wasRateLimited = !!(acc.rateLimitedUntil && acc.rateLimitedUntil > now - HEALTH_HYSTERESIS_MS && !hasCredits); const wasModelUnsupported = !!(acc.modelUnsupportedUntil && acc.modelUnsupportedUntil > now - HEALTH_HYSTERESIS_MS); const wasWorkspaceDeactivated = !!(acc.workspaceDeactivatedUntil && acc.workspaceDeactivatedUntil > now - HEALTH_HYSTERESIS_MS); // Phase D: Check if account is disabled const isDisabled = acc.enabled === false; - const currentlyBlocked = !!(acc.rateLimitedUntil && acc.rateLimitedUntil > now) || + const currentlyBlocked = (isRateLimited && !hasCredits) || !!(acc.modelUnsupportedUntil && acc.modelUnsupportedUntil > now) || !!(acc.workspaceDeactivatedUntil && acc.workspaceDeactivatedUntil > now) || !!acc.authInvalid || @@ -90,6 +95,96 @@ function evaluateAccountHealth(acc, now) { priority }; } +function shouldRefreshRateLimitState(acc, now, creditAccountAliases = getCreditAccountAliases()) { + return shouldTrySoftRateLimitedAccount(acc, now, creditAccountAliases) && !hasUsableAllowedCredits(acc, creditAccountAliases); +} +function shouldTrySoftRateLimitedAccount(acc, now, creditAccountAliases = getCreditAccountAliases()) { + return (!!(acc.rateLimitedUntil && acc.rateLimitedUntil > now) && + isCreditsAllowedForAlias(acc.alias, creditAccountAliases) && + !acc.authInvalid && + acc.enabled !== false && + !(acc.modelUnsupportedUntil && acc.modelUnsupportedUntil > now) && + !(acc.workspaceDeactivatedUntil && acc.workspaceDeactivatedUntil > now)); +} +function isUsingPaidCredits(acc, now, creditAccountAliases) { + return !!(acc.rateLimitedUntil && acc.rateLimitedUntil > now) && + hasUsableAllowedCredits(acc, creditAccountAliases); +} +function debugAccountFiltering(accounts, aliases, now, creditAccountAliases) { + if (process.env.OPENCODE_MULTI_AUTH_DEBUG !== '1') + return; + const creditPolicy = Array.isArray(creditAccountAliases) + ? creditAccountAliases.join(',') + : ''; + console.warn(`[multi-auth] Account filter debug: creditPolicy=${creditPolicy}`); + for (const alias of aliases) { + const acc = accounts[alias]; + if (!acc) + continue; + const allowedCredits = hasUsableAllowedCredits(acc, creditAccountAliases); + const blockers = []; + if (acc.enabled === false) + blockers.push('disabled'); + if (acc.authInvalid) + blockers.push('authInvalid'); + if (acc.rateLimitedUntil && acc.rateLimitedUntil > now && !allowedCredits) { + blockers.push(`rateLimitedUntil=${new Date(acc.rateLimitedUntil).toISOString()}`); + } + if (acc.modelUnsupportedUntil && acc.modelUnsupportedUntil > now) { + blockers.push(`modelUnsupportedUntil=${new Date(acc.modelUnsupportedUntil).toISOString()}`); + } + if (acc.workspaceDeactivatedUntil && acc.workspaceDeactivatedUntil > now) { + blockers.push(`workspaceDeactivatedUntil=${new Date(acc.workspaceDeactivatedUntil).toISOString()}`); + } + console.warn(`[multi-auth] Account filter debug: alias=${alias} ` + + `creditsAllowed=${isCreditsAllowedForAlias(alias, creditAccountAliases)} ` + + `hasUsableAllowedCredits=${allowedCredits} ` + + `credits=${acc.credits ? JSON.stringify({ + hasCredits: acc.credits.hasCredits, + unlimited: acc.credits.unlimited, + balance: acc.credits.balance ?? null + }) : 'null'} ` + + `blockers=${blockers.length > 0 ? blockers.join('|') : 'none'}`); + } +} +async function refreshUsageForRateLimitedAccounts(aliases, now, creditAccountAliases) { + for (const alias of aliases) { + let account = loadStore().accounts[alias]; + if (!account || !shouldRefreshRateLimitState(account, now, creditAccountAliases)) + continue; + const token = await ensureValidToken(alias); + if (!token) + continue; + account = loadStore().accounts[alias]; + if (!account || !shouldRefreshRateLimitState(account, now, creditAccountAliases)) + continue; + const usage = await fetchUsageRateLimitsForAccount(account, { + creditsAllowed: isCreditsAllowedForAlias(account.alias, creditAccountAliases) + }); + if (!usage.rateLimits && !usage.credits) { + if (process.env.OPENCODE_MULTI_AUTH_DEBUG === '1') { + console.warn(`[multi-auth] Usage refresh debug: alias=${alias} error=${usage.error || 'no limits or credits returned'}`); + } + continue; + } + const updates = { + limitStatus: 'success', + limitError: undefined, + lastLimitProbeAt: Date.now(), + rateLimitedUntil: usage.rateLimitedUntil + }; + if (usage.rateLimits) { + updates.rateLimits = mergeRateLimits(account.rateLimits, usage.rateLimits); + } + if (usage.credits) { + updates.credits = usage.credits; + } + if (usage.planType) { + updates.planType = usage.planType; + } + updateAccount(alias, updates); + } +} export async function getNextAccount(config, selection) { // Phase E: Check and auto-clear expired/invalid force state const autoClear = checkAndAutoClearForce(); @@ -111,12 +206,13 @@ export async function getNextAccount(config, selection) { return null; } const now = Date.now(); + const creditAccountAliases = getCreditAccountAliases(); // Phase E: If force mode is active, never fall back to another alias. if (forceActive && forceState.forcedAlias) { const forcedAlias = forceState.forcedAlias; const forcedAccount = store.accounts[forcedAlias]; if (forcedAccount) { - const health = evaluateAccountHealth(forcedAccount, now); + const health = evaluateAccountHealth(forcedAccount, now, creditAccountAliases); if (health.isHealthy) { const token = await ensureValidToken(forcedAlias); if (token) { @@ -158,15 +254,39 @@ export async function getNextAccount(config, selection) { const healthMap = new Map(); for (const alias of aliases) { const acc = store.accounts[alias]; - healthMap.set(alias, evaluateAccountHealth(acc, now)); + healthMap.set(alias, evaluateAccountHealth(acc, now, creditAccountAliases)); } - const availableAliases = aliases.filter(alias => { + let availableAliases = aliases.filter(alias => { const health = healthMap.get(alias); return health?.isHealthy === true; }); if (availableAliases.length === 0) { - console.warn('[multi-auth] No available accounts (rate-limited or invalidated).'); - return null; + debugAccountFiltering(store.accounts, aliases, now, creditAccountAliases); + await refreshUsageForRateLimitedAccounts(aliases, now, creditAccountAliases); + store = loadStore(); + healthMap.clear(); + for (const alias of aliases) { + const acc = store.accounts[alias]; + if (acc) + healthMap.set(alias, evaluateAccountHealth(acc, Date.now(), creditAccountAliases)); + } + availableAliases = aliases.filter(alias => { + const health = healthMap.get(alias); + return health?.isHealthy === true; + }); + if (availableAliases.length === 0) { + debugAccountFiltering(store.accounts, aliases, Date.now(), creditAccountAliases); + const softRateLimitedAliases = aliases.filter(alias => { + const acc = store.accounts[alias]; + return acc ? shouldTrySoftRateLimitedAccount(acc, Date.now(), creditAccountAliases) : false; + }); + if (softRateLimitedAliases.length === 0) { + console.warn('[multi-auth] No available accounts (rate-limited or invalidated).'); + return null; + } + console.warn('[multi-auth] All accounts are marked rate-limited; trying soft-limited accounts in case credits are available.'); + availableAliases = softRateLimitedAliases; + } } const tokenFailureCooldownMs = (() => { const raw = process.env.OPENCODE_MULTI_AUTH_TOKEN_FAILURE_COOLDOWN_MS; @@ -263,10 +383,30 @@ export async function getNextAccount(config, selection) { } } }; - const { primaryAliases, fallbackAliases } = getPreferredPools(store, availableAliases, selection); - const primary = buildCandidates(primaryAliases); - const fallback = fallbackAliases.length > 0 ? buildCandidates(fallbackAliases) : { aliases: [] }; - const candidates = [...primary.aliases, ...fallback.aliases]; + const includedLimitAliases = availableAliases.filter(alias => { + const acc = store.accounts[alias]; + return acc ? !isUsingPaidCredits(acc, Date.now(), creditAccountAliases) : false; + }); + const paidCreditAliases = availableAliases.filter(alias => { + const acc = store.accounts[alias]; + return acc ? isUsingPaidCredits(acc, Date.now(), creditAccountAliases) : false; + }); + const buildCandidateGroups = (candidateAliases) => { + if (candidateAliases.length === 0) + return []; + const { primaryAliases, fallbackAliases } = getPreferredPools(store, candidateAliases, selection); + const groups = []; + if (primaryAliases.length > 0) + groups.push(buildCandidates(primaryAliases)); + if (fallbackAliases.length > 0) + groups.push(buildCandidates(fallbackAliases)); + return groups; + }; + const candidateGroups = [ + ...buildCandidateGroups(includedLimitAliases), + ...buildCandidateGroups(paidCreditAliases) + ]; + const candidates = candidateGroups.flatMap(group => group.aliases); for (const candidate of candidates) { const token = await ensureValidToken(candidate); if (!token) { @@ -284,7 +424,7 @@ export async function getNextAccount(config, selection) { }); store.activeAlias = candidate; store.lastRotation = now; - const nextIndex = primary.aliases.includes(candidate) ? primary.nextIndex : fallback.nextIndex; + const nextIndex = candidateGroups.find(group => group.aliases.includes(candidate))?.nextIndex; if (nextIndex) { store.rotationIndex = nextIndex(candidate); } @@ -308,7 +448,8 @@ export function markRateLimited(alias, rateLimitedUntil) { const safeUntil = Math.max(rateLimitedUntil, now + 1000); const seconds = Math.max(1, Math.ceil((safeUntil - now) / 1000)); updateAccount(alias, { - rateLimitedUntil: safeUntil + rateLimitedUntil: safeUntil, + credits: undefined }); console.warn(`[multi-auth] Account ${alias} marked rate-limited for ${seconds}s`); } diff --git a/dist/rotation.js.map b/dist/rotation.js.map index 95f584e..d3ac723 100644 --- a/dist/rotation.js.map +++ b/dist/rotation.js.map @@ -1 +1 @@ -{"version":3,"file":"rotation.js","sourceRoot":"","sources":["../src/rotation.ts"],"names":[],"mappings":"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"} \ No newline at end of file +{"version":3,"file":"rotation.js","sourceRoot":"","sources":["../src/rotation.ts"],"names":[],"mappings":"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"} \ No newline at end of file diff --git a/dist/settings.d.ts.map b/dist/settings.d.ts.map index 46ef79d..29920e1 100644 --- a/dist/settings.d.ts.map +++ b/dist/settings.d.ts.map @@ -1 +1 @@ -{"version":3,"file":"settings.d.ts","sourceRoot":"","sources":["../src/settings.ts"],"names":[],"mappings":"AAEA,OAAO,EAIL,KAAK,gBAAgB,EACrB,KAAK,YAAY,EACjB,KAAK,uBAAuB,EAC7B,MAAM,YAAY,CAAA;AAInB,MAAM,WAAW,cAAc;IAC7B,QAAQ,EAAE,gBAAgB,CAAA;IAC1B,MAAM,EAAE,SAAS,GAAG,WAAW,GAAG,SAAS,GAAG,KAAK,CAAA;IACnD,MAAM,CAAC,EAAE,uBAAuB,EAAE,CAAA;CACnC;AAmED,wBAAgB,WAAW,IAAI,cAAc,CAE5C;AAGD,wBAAgB,kBAAkB,IAAI,cAAc,CAEnD;AAGD,wBAAgB,cAAc,CAC5B,OAAO,EAAE,OAAO,CAAC,gBAAgB,CAAC,EAClC,KAAK,GAAE,MAAiB,GACvB;IAAE,OAAO,EAAE,OAAO,CAAC;IAAC,QAAQ,CAAC,EAAE,gBAAgB,CAAC;IAAC,MAAM,CAAC,EAAE,uBAAuB,EAAE,CAAA;CAAE,CA2BvF;AAGD,wBAAgB,aAAa,CAAC,KAAK,GAAE,MAAiB,GAAG,gBAAgB,CAQxE;AAGD,wBAAgB,WAAW,CACzB,MAAM,EAAE,YAAY,EACpB,KAAK,GAAE,MAAiB,GACvB;IAAE,OAAO,EAAE,OAAO,CAAC;IAAC,QAAQ,CAAC,EAAE,gBAAgB,CAAC;IAAC,MAAM,CAAC,EAAE,uBAAuB,EAAE,CAAA;CAAE,CAyDvF;AAGD,wBAAgB,0BAA0B,CACxC,OAAO,EAAE,MAAM,EAAE,EACjB,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,GAC9B,MAAM,GAAG,IAAI,CAuBf;AAGD,wBAAgB,mBAAmB,IAAI;IACrC,QAAQ,EAAE,gBAAgB,CAAA;IAC1B,MAAM,EAAE,MAAM,CAAA;IACd,MAAM,CAAC,EAAE,YAAY,CAAA;IACrB,QAAQ,EAAE,OAAO,CAAA;CAClB,CAwBA;AAGD,wBAAgB,gBAAgB,CAAC,IAAI,EAAE,MAAM,WAAW,CAAC,gBAAgB,CAAC,cAAc,CAAC,CAAC,GAAG,OAAO,CAGnG"} \ No newline at end of file +{"version":3,"file":"settings.d.ts","sourceRoot":"","sources":["../src/settings.ts"],"names":[],"mappings":"AAEA,OAAO,EAIL,KAAK,gBAAgB,EACrB,KAAK,YAAY,EACjB,KAAK,uBAAuB,EAC7B,MAAM,YAAY,CAAA;AAKnB,MAAM,WAAW,cAAc;IAC7B,QAAQ,EAAE,gBAAgB,CAAA;IAC1B,MAAM,EAAE,SAAS,GAAG,WAAW,GAAG,SAAS,GAAG,KAAK,CAAA;IACnD,MAAM,CAAC,EAAE,uBAAuB,EAAE,CAAA;CACnC;AA0ED,wBAAgB,WAAW,IAAI,cAAc,CAE5C;AAGD,wBAAgB,kBAAkB,IAAI,cAAc,CAEnD;AAGD,wBAAgB,cAAc,CAC5B,OAAO,EAAE,OAAO,CAAC,gBAAgB,CAAC,EAClC,KAAK,GAAE,MAAiB,GACvB;IAAE,OAAO,EAAE,OAAO,CAAC;IAAC,QAAQ,CAAC,EAAE,gBAAgB,CAAC;IAAC,MAAM,CAAC,EAAE,uBAAuB,EAAE,CAAA;CAAE,CA2BvF;AAGD,wBAAgB,aAAa,CAAC,KAAK,GAAE,MAAiB,GAAG,gBAAgB,CAQxE;AAGD,wBAAgB,WAAW,CACzB,MAAM,EAAE,YAAY,EACpB,KAAK,GAAE,MAAiB,GACvB;IAAE,OAAO,EAAE,OAAO,CAAC;IAAC,QAAQ,CAAC,EAAE,gBAAgB,CAAC;IAAC,MAAM,CAAC,EAAE,uBAAuB,EAAE,CAAA;CAAE,CAyDvF;AAGD,wBAAgB,0BAA0B,CACxC,OAAO,EAAE,MAAM,EAAE,EACjB,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,GAC9B,MAAM,GAAG,IAAI,CAuBf;AAGD,wBAAgB,mBAAmB,IAAI;IACrC,QAAQ,EAAE,gBAAgB,CAAA;IAC1B,MAAM,EAAE,MAAM,CAAA;IACd,MAAM,CAAC,EAAE,YAAY,CAAA;IACrB,QAAQ,EAAE,OAAO,CAAA;CAClB,CAwBA;AAGD,wBAAgB,gBAAgB,CAAC,IAAI,EAAE,MAAM,WAAW,CAAC,gBAAgB,CAAC,cAAc,CAAC,CAAC,GAAG,OAAO,CAGnG"} \ No newline at end of file diff --git a/dist/settings.js b/dist/settings.js index 4eea87a..f5df630 100644 --- a/dist/settings.js +++ b/dist/settings.js @@ -1,6 +1,7 @@ import { loadStore, saveStore } from './store.js'; import { logInfo, logError } from './logger.js'; import { DEFAULT_ROTATION_SETTINGS, WEIGHTED_PRESETS, validateSettings } from './types.js'; +import { parseCreditAccountAliases } from './credits-policy.js'; function resolveSettings(includeEnvOverrides) { const store = loadStore(); // Start with defaults @@ -37,6 +38,10 @@ function resolveSettings(includeEnvOverrides) { source = 'env'; } } + if (process.env.OPENCODE_MULTI_AUTH_CREDIT_ACCOUNT_ALIASES !== undefined) { + settings.creditAccountAliases = parseCreditAccountAliases(process.env.OPENCODE_MULTI_AUTH_CREDIT_ACCOUNT_ALIASES); + source = 'env'; + } // Phase G: Feature flag environment overrides const envAntigravity = process.env.OPENCODE_MULTI_AUTH_ANTIGRAVITY_ENABLED; if (envAntigravity) { diff --git a/dist/settings.js.map b/dist/settings.js.map index 08fc48d..0e70e5f 100644 --- a/dist/settings.js.map +++ b/dist/settings.js.map @@ -1 +1 @@ -{"version":3,"file":"settings.js","sourceRoot":"","sources":["../src/settings.ts"],"names":[],"mappings":"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"} \ No newline at end of file +{"version":3,"file":"settings.js","sourceRoot":"","sources":["../src/settings.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,SAAS,EAAiB,MAAM,YAAY,CAAA;AAChE,OAAO,EAAE,OAAO,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAA;AAC/C,OAAO,EACL,yBAAyB,EACzB,gBAAgB,EAChB,gBAAgB,EAIjB,MAAM,YAAY,CAAA;AACnB,OAAO,EAAE,yBAAyB,EAAE,MAAM,qBAAqB,CAAA;AAU/D,SAAS,eAAe,CAAC,mBAA4B;IACnD,MAAM,KAAK,GAAG,SAAS,EAAE,CAAA;IAEzB,sBAAsB;IACtB,IAAI,QAAQ,GAAqB,EAAE,GAAG,yBAAyB,EAAE,CAAA;IACjE,IAAI,MAAM,GAA6B,SAAS,CAAA;IAEhD,yCAAyC;IACzC,IAAI,KAAK,CAAC,QAAQ,EAAE,CAAC;QACnB,QAAQ,GAAG;YACT,GAAG,QAAQ;YACX,GAAG,KAAK,CAAC,QAAQ;SAClB,CAAA;QACD,MAAM,GAAG,WAAW,CAAA;IACtB,CAAC;IAED,0EAA0E;IAC1E,IAAI,mBAAmB,EAAE,CAAC;QACxB,MAAM,WAAW,GAAG,OAAO,CAAC,GAAG,CAAC,qCAAqC,CAAA;QACrE,IAAI,WAAW,IAAI,CAAC,aAAa,EAAE,YAAY,EAAE,QAAQ,EAAE,sBAAsB,CAAC,CAAC,QAAQ,CAAC,WAAW,CAAC,EAAE,CAAC;YACzG,QAAQ,CAAC,gBAAgB,GAAG,WAAmD,CAAA;YAC/E,MAAM,GAAG,KAAK,CAAA;QAChB,CAAC;QAED,MAAM,oBAAoB,GAAG,OAAO,CAAC,GAAG,CAAC,sCAAsC,CAAA;QAC/E,IAAI,oBAAoB,EAAE,CAAC;YACzB,MAAM,MAAM,GAAG,UAAU,CAAC,oBAAoB,CAAC,CAAA;YAC/C,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,IAAI,MAAM,IAAI,CAAC,IAAI,MAAM,IAAI,GAAG,EAAE,CAAC;gBACnD,QAAQ,CAAC,iBAAiB,GAAG,MAAM,CAAA;gBACnC,MAAM,GAAG,KAAK,CAAA;YAChB,CAAC;QACH,CAAC;QAED,MAAM,eAAe,GAAG,OAAO,CAAC,GAAG,CAAC,iCAAiC,CAAA;QACrE,IAAI,eAAe,EAAE,CAAC;YACpB,MAAM,MAAM,GAAG,UAAU,CAAC,eAAe,CAAC,CAAA;YAC1C,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,IAAI,MAAM,IAAI,CAAC,IAAI,MAAM,IAAI,GAAG,EAAE,CAAC;gBACnD,QAAQ,CAAC,YAAY,GAAG,MAAM,CAAA;gBAC9B,MAAM,GAAG,KAAK,CAAA;YAChB,CAAC;QACH,CAAC;QAED,IAAI,OAAO,CAAC,GAAG,CAAC,0CAA0C,KAAK,SAAS,EAAE,CAAC;YACzE,QAAQ,CAAC,oBAAoB,GAAG,yBAAyB,CACvD,OAAO,CAAC,GAAG,CAAC,0CAA0C,CACvD,CAAA;YACD,MAAM,GAAG,KAAK,CAAA;QAChB,CAAC;QAED,8CAA8C;QAC9C,MAAM,cAAc,GAAG,OAAO,CAAC,GAAG,CAAC,uCAAuC,CAAA;QAC1E,IAAI,cAAc,EAAE,CAAC;YACnB,MAAM,OAAO,GAAG,cAAc,CAAC,WAAW,EAAE,KAAK,MAAM,IAAI,cAAc,KAAK,GAAG,CAAA;YACjF,QAAQ,CAAC,YAAY,GAAG;gBACtB,GAAG,CAAC,QAAQ,CAAC,YAAY,IAAI,EAAE,CAAC;gBAChC,kBAAkB,EAAE,OAAO;aAC5B,CAAA;YACD,MAAM,GAAG,KAAK,CAAA;QAChB,CAAC;IACH,CAAC;IAED,0BAA0B;IAC1B,MAAM,MAAM,GAAG,gBAAgB,CAAC,QAAQ,CAAC,CAAA;IAEzC,IAAI,MAAM,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACtB,QAAQ,CAAC,+BAA+B,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAA;IAClF,CAAC;IAED,OAAO,EAAE,QAAQ,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,SAAS,EAAE,CAAA;AAC7E,CAAC;AAED,yEAAyE;AACzE,MAAM,UAAU,WAAW;IACzB,OAAO,eAAe,CAAC,IAAI,CAAC,CAAA;AAC9B,CAAC;AAED,+FAA+F;AAC/F,MAAM,UAAU,kBAAkB;IAChC,OAAO,eAAe,CAAC,KAAK,CAAC,CAAA;AAC/B,CAAC;AAED,2CAA2C;AAC3C,MAAM,UAAU,cAAc,CAC5B,OAAkC,EAClC,QAAgB,QAAQ;IAExB,MAAM,OAAO,GAAG,kBAAkB,EAAE,CAAA;IAEpC,sCAAsC;IACtC,MAAM,WAAW,GAAqB;QACpC,GAAG,OAAO,CAAC,QAAQ;QACnB,GAAG,OAAO;QACV,SAAS,EAAE,IAAI,CAAC,GAAG,EAAE;QACrB,SAAS,EAAE,KAAK;KACjB,CAAA;IAED,wBAAwB;IACxB,MAAM,MAAM,GAAG,gBAAgB,CAAC,WAAW,CAAC,CAAA;IAC5C,IAAI,MAAM,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACtB,QAAQ,CAAC,sCAAsC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAA;QACvF,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,MAAM,EAAE,CAAA;IACnC,CAAC;IAED,gBAAgB;IAChB,MAAM,KAAK,GAAG,SAAS,EAAE,CAAA;IACzB,KAAK,CAAC,QAAQ,GAAG,WAAW,CAAA;IAC5B,0DAA0D;IAC1D,KAAK,CAAC,gBAAgB,GAAG,WAAW,CAAC,gBAAgB,CAAA;IACrD,SAAS,CAAC,KAAK,CAAC,CAAA;IAEhB,OAAO,CAAC,uBAAuB,KAAK,KAAK,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,EAAE,CAAC,CAAA;IACnE,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,CAAA;AACjD,CAAC;AAED,sCAAsC;AACtC,MAAM,UAAU,aAAa,CAAC,QAAgB,QAAQ;IACpD,MAAM,KAAK,GAAG,SAAS,EAAE,CAAA;IACzB,OAAQ,KAAa,CAAC,QAAQ,CAAA;IAC9B,KAAK,CAAC,gBAAgB,GAAG,yBAAyB,CAAC,gBAAgB,CAAA;IACnE,SAAS,CAAC,KAAK,CAAC,CAAA;IAEhB,OAAO,CAAC,iCAAiC,KAAK,EAAE,CAAC,CAAA;IACjD,OAAO,EAAE,GAAG,yBAAyB,EAAE,CAAA;AACzC,CAAC;AAED,0BAA0B;AAC1B,MAAM,UAAU,WAAW,CACzB,MAAoB,EACpB,QAAgB,QAAQ;IAExB,MAAM,KAAK,GAAG,SAAS,EAAE,CAAA;IACzB,MAAM,QAAQ,GAAG,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAA;IAE5C,MAAM,YAAY,GAAG,gBAAgB,CAAC,MAAM,CAAC,CAAA;IAE7C,IAAI,cAAc,GAA2B,EAAE,CAAA;IAE/C,IAAI,MAAM,KAAK,UAAU,EAAE,CAAC;QAC1B,iCAAiC;QACjC,MAAM,MAAM,GAAG,QAAQ,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAA;QAC5D,QAAQ,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE;YACvB,cAAc,CAAC,KAAK,CAAC,GAAG,MAAM,CAAA;QAChC,CAAC,CAAC,CAAA;IACJ,CAAC;SAAM,IAAI,MAAM,KAAK,cAAc,EAAE,CAAC;QACrC,gCAAgC;QAChC,QAAQ,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE;YACvB,MAAM,OAAO,GAAG,KAAK,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAA;YACrC,MAAM,iBAAiB,GAAG,OAAO,CAAC,UAAU,EAAE,QAAQ,EAAE,SAAS,IAAI,EAAE,CAAA;YACvE,MAAM,eAAe,GAAG,OAAO,CAAC,UAAU,EAAE,MAAM,EAAE,SAAS,IAAI,EAAE,CAAA;YACnE,MAAM,MAAM,GAAG,CAAC,iBAAiB,GAAG,eAAe,CAAC,GAAG,CAAC,CAAA;YACxD,cAAc,CAAC,KAAK,CAAC,GAAG,MAAM,GAAG,GAAG,CAAA;QACtC,CAAC,CAAC,CAAA;QACF,wBAAwB;QACxB,MAAM,KAAK,GAAG,MAAM,CAAC,MAAM,CAAC,cAAc,CAAC,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,CAAC,EAAE,EAAE,CAAC,GAAG,GAAG,CAAC,EAAE,CAAC,CAAC,CAAA;QAC1E,IAAI,KAAK,GAAG,CAAC,EAAE,CAAC;YACd,QAAQ,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE;gBACvB,cAAc,CAAC,KAAK,CAAC,GAAG,cAAc,CAAC,KAAK,CAAC,GAAG,KAAK,CAAA;YACvD,CAAC,CAAC,CAAA;QACJ,CAAC;IACH,CAAC;SAAM,IAAI,MAAM,KAAK,YAAY,EAAE,CAAC;QACnC,mDAAmD;QACnD,QAAQ,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE;YACvB,MAAM,OAAO,GAAG,KAAK,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAA;YACrC,MAAM,iBAAiB,GAAG,OAAO,CAAC,UAAU,EAAE,QAAQ,EAAE,SAAS,IAAI,EAAE,CAAA;YACvE,MAAM,eAAe,GAAG,OAAO,CAAC,UAAU,EAAE,MAAM,EAAE,SAAS,IAAI,EAAE,CAAA;YACnE,MAAM,MAAM,GAAG,CAAC,iBAAiB,GAAG,eAAe,CAAC,GAAG,CAAC,CAAA;YACxD,wCAAwC;YACxC,cAAc,CAAC,KAAK,CAAC,GAAG,CAAC,GAAG,GAAG,MAAM,CAAC,GAAG,GAAG,CAAA;QAC9C,CAAC,CAAC,CAAA;QACF,wBAAwB;QACxB,MAAM,KAAK,GAAG,MAAM,CAAC,MAAM,CAAC,cAAc,CAAC,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,CAAC,EAAE,EAAE,CAAC,GAAG,GAAG,CAAC,EAAE,CAAC,CAAC,CAAA;QAC1E,IAAI,KAAK,GAAG,CAAC,EAAE,CAAC;YACd,QAAQ,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE;gBACvB,cAAc,CAAC,KAAK,CAAC,GAAG,cAAc,CAAC,KAAK,CAAC,GAAG,KAAK,CAAA;YACvD,CAAC,CAAC,CAAA;QACJ,CAAC;IACH,CAAC;IAED,MAAM,OAAO,GAA8B;QACzC,gBAAgB,EAAE,sBAAsB;QACxC,iBAAiB,EAAE,YAAY,CAAC,UAAU,CAAC,QAAQ;QACnD,YAAY,EAAE,YAAY,CAAC,UAAU,CAAC,GAAG;QACzC,cAAc;KACf,CAAA;IAED,OAAO,cAAc,CAAC,OAAO,EAAE,KAAK,CAAC,CAAA;AACvC,CAAC;AAED,wCAAwC;AACxC,MAAM,UAAU,0BAA0B,CACxC,OAAiB,EACjB,OAA+B;IAE/B,IAAI,OAAO,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,IAAI,CAAA;IAErC,mCAAmC;IACnC,MAAM,SAAS,GAAG,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,CAAC,OAAO,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAA;IAC7D,IAAI,SAAS,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,IAAI,CAAA;IAEvC,yBAAyB;IACzB,MAAM,WAAW,GAAG,SAAS,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,KAAK,EAAE,EAAE,CAAC,GAAG,GAAG,CAAC,OAAO,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,CAAC,CAAA;IACpF,IAAI,WAAW,KAAK,CAAC;QAAE,OAAO,IAAI,CAAA;IAElC,4BAA4B;IAC5B,IAAI,MAAM,GAAG,IAAI,CAAC,MAAM,EAAE,GAAG,WAAW,CAAA;IAExC,KAAK,MAAM,KAAK,IAAI,SAAS,EAAE,CAAC;QAC9B,MAAM,IAAI,OAAO,CAAC,KAAK,CAAC,IAAI,CAAC,CAAA;QAC7B,IAAI,MAAM,IAAI,CAAC,EAAE,CAAC;YAChB,OAAO,KAAK,CAAA;QACd,CAAC;IACH,CAAC;IAED,mBAAmB;IACnB,OAAO,SAAS,CAAC,SAAS,CAAC,MAAM,GAAG,CAAC,CAAC,CAAA;AACxC,CAAC;AAED,8CAA8C;AAC9C,MAAM,UAAU,mBAAmB;IAMjC,MAAM,MAAM,GAAG,WAAW,EAAE,CAAA;IAC5B,MAAM,KAAK,GAAG,SAAS,EAAE,CAAA;IAEzB,2BAA2B;IAC3B,IAAI,MAAgC,CAAA;IACpC,IAAI,MAAM,CAAC,QAAQ,CAAC,gBAAgB,KAAK,sBAAsB,EAAE,CAAC;QAChE,0CAA0C;QAC1C,KAAK,MAAM,CAAC,UAAU,EAAE,MAAM,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,gBAAgB,CAAC,EAAE,CAAC;YACpE,IAAI,UAAU,KAAK,QAAQ;gBACvB,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,QAAQ,CAAC,iBAAiB,GAAG,MAAM,CAAC,UAAU,CAAC,QAAQ,CAAC,GAAG,IAAI;gBAC/E,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,QAAQ,CAAC,YAAY,GAAG,MAAM,CAAC,UAAU,CAAC,GAAG,CAAC,GAAG,IAAI,EAAE,CAAC;gBAC1E,MAAM,GAAG,UAA0B,CAAA;gBACnC,MAAK;YACP,CAAC;QACH,CAAC;IACH,CAAC;IAED,OAAO;QACL,QAAQ,EAAE,MAAM,CAAC,QAAQ;QACzB,MAAM,EAAE,MAAM,CAAC,MAAM;QACrB,MAAM;QACN,QAAQ,EAAE,CAAC,CAAC,KAAK,CAAC,QAAQ;KAC3B,CAAA;AACH,CAAC;AAED,8CAA8C;AAC9C,MAAM,UAAU,gBAAgB,CAAC,IAAyD;IACxF,MAAM,QAAQ,GAAG,WAAW,EAAE,CAAA;IAC9B,OAAO,QAAQ,CAAC,QAAQ,CAAC,YAAY,EAAE,CAAC,IAAI,CAAC,IAAI,KAAK,CAAA;AACxD,CAAC"} \ No newline at end of file diff --git a/dist/store.d.ts.map b/dist/store.d.ts.map index 0cd9bfc..3347613 100644 --- a/dist/store.d.ts.map +++ b/dist/store.d.ts.map @@ -1 +1 @@ -{"version":3,"file":"store.d.ts","sourceRoot":"","sources":["../src/store.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EACV,YAAY,EACZ,kBAAkB,EAGnB,MAAM,YAAY,CAAA;AAoVnB,wBAAgB,SAAS,IAAI,YAAY,CAsExC;AAED,wBAAgB,SAAS,CAAC,KAAK,EAAE,YAAY,GAAG,IAAI,CAiFnD;AAED,wBAAsB,aAAa,CAAC,CAAC,EAAE,EAAE,EAAE,MAAM,CAAC,GAAG,OAAO,CAAC,CAAC,CAAC,CAO9D;AAED,wBAAgB,mBAAmB,IAAI;IACrC,QAAQ,EAAE,MAAM,CAAA;IAChB,SAAS,EAAE,MAAM,CAAA;IACjB,MAAM,EAAE,OAAO,CAAA;IACf,SAAS,EAAE,OAAO,CAAA;IAClB,KAAK,EAAE,MAAM,GAAG,IAAI,CAAA;CACrB,CAQA;AAGD,wBAAgB,UAAU,CAAC,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,IAAI,CAAC,kBAAkB,EAAE,OAAO,GAAG,YAAY,CAAC,GAAG,YAAY,CAc/G;AAED,wBAAgB,aAAa,CAAC,KAAK,EAAE,MAAM,GAAG,YAAY,CASzD;AAED,wBAAgB,aAAa,CAAC,KAAK,EAAE,MAAM,EAAE,OAAO,EAAE,OAAO,CAAC,kBAAkB,CAAC,GAAG,YAAY,CAe/F;AAED,wBAAgB,cAAc,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI,GAAG,YAAY,CA+BjE;AAED,wBAAgB,gBAAgB,IAAI,kBAAkB,GAAG,IAAI,CAI5D;AAED,wBAAgB,YAAY,IAAI,kBAAkB,EAAE,CAGnD;AAED,wBAAgB,YAAY,IAAI,MAAM,CAErC;AAED,wBAAgB,cAAc,IAAI;IAAE,MAAM,EAAE,OAAO,CAAC;IAAC,SAAS,EAAE,OAAO,CAAC;IAAC,KAAK,EAAE,MAAM,GAAG,IAAI,CAAA;CAAE,CAG9F"} \ No newline at end of file +{"version":3,"file":"store.d.ts","sourceRoot":"","sources":["../src/store.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EACV,YAAY,EACZ,kBAAkB,EAInB,MAAM,YAAY,CAAA;AAkWnB,wBAAgB,SAAS,IAAI,YAAY,CAsExC;AAED,wBAAgB,SAAS,CAAC,KAAK,EAAE,YAAY,GAAG,IAAI,CAiFnD;AAED,wBAAsB,aAAa,CAAC,CAAC,EAAE,EAAE,EAAE,MAAM,CAAC,GAAG,OAAO,CAAC,CAAC,CAAC,CAO9D;AAED,wBAAgB,mBAAmB,IAAI;IACrC,QAAQ,EAAE,MAAM,CAAA;IAChB,SAAS,EAAE,MAAM,CAAA;IACjB,MAAM,EAAE,OAAO,CAAA;IACf,SAAS,EAAE,OAAO,CAAA;IAClB,KAAK,EAAE,MAAM,GAAG,IAAI,CAAA;CACrB,CAQA;AAGD,wBAAgB,UAAU,CAAC,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,IAAI,CAAC,kBAAkB,EAAE,OAAO,GAAG,YAAY,CAAC,GAAG,YAAY,CAc/G;AAED,wBAAgB,aAAa,CAAC,KAAK,EAAE,MAAM,GAAG,YAAY,CASzD;AAED,wBAAgB,aAAa,CAAC,KAAK,EAAE,MAAM,EAAE,OAAO,EAAE,OAAO,CAAC,kBAAkB,CAAC,GAAG,YAAY,CAe/F;AAED,wBAAgB,cAAc,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI,GAAG,YAAY,CA+BjE;AAED,wBAAgB,gBAAgB,IAAI,kBAAkB,GAAG,IAAI,CAI5D;AAED,wBAAgB,YAAY,IAAI,kBAAkB,EAAE,CAGnD;AAED,wBAAgB,YAAY,IAAI,MAAM,CAErC;AAED,wBAAgB,cAAc,IAAI;IAAE,MAAM,EAAE,OAAO,CAAC;IAAC,SAAS,EAAE,OAAO,CAAC;IAAC,KAAK,EAAE,MAAM,GAAG,IAAI,CAAA;CAAE,CAG9F"} \ No newline at end of file diff --git a/dist/store.js b/dist/store.js index ce9f496..028a3f7 100644 --- a/dist/store.js +++ b/dist/store.js @@ -92,6 +92,7 @@ function validateAccount(acc, alias) { ? acc.rateLimitHistory.filter((entry) => hasMeaningfulRateLimits({ fiveHour: entry?.fiveHour, weekly: entry?.weekly })) : undefined; const rateLimits = hasMeaningfulRateLimits(acc.rateLimits) ? acc.rateLimits : undefined; + const credits = validateCredits(acc.credits); return { alias, accessToken: acc.accessToken, @@ -124,6 +125,7 @@ function validateAccount(acc, alias) { disabledBy: typeof acc.disabledBy === 'string' ? acc.disabledBy : undefined, disableReason: typeof acc.disableReason === 'string' ? acc.disableReason : undefined, rateLimits, + credits, rateLimitHistory: rateLimitHistory && rateLimitHistory.length > 0 ? rateLimitHistory : undefined, limitStatus: typeof acc.limitStatus === 'string' ? acc.limitStatus : undefined, limitError: typeof acc.limitError === 'string' ? acc.limitError : undefined, @@ -140,6 +142,20 @@ function validateAccount(acc, alias) { source: acc.source === 'opencode' || acc.source === 'codex' ? acc.source : undefined }; } +function validateCredits(raw) { + if (!raw || typeof raw !== 'object') + return undefined; + const credits = {}; + if (typeof raw.hasCredits === 'boolean') + credits.hasCredits = raw.hasCredits; + if (typeof raw.unlimited === 'boolean') + credits.unlimited = raw.unlimited; + if (typeof raw.balance === 'string' || raw.balance === null) + credits.balance = raw.balance; + if (typeof raw.updatedAt === 'number') + credits.updatedAt = raw.updatedAt; + return Object.keys(credits).length > 0 ? credits : undefined; +} function validateStore(data) { if (!data || typeof data !== 'object') return null; diff --git a/dist/store.js.map b/dist/store.js.map index 0686678..10ba24a 100644 --- a/dist/store.js.map +++ b/dist/store.js.map @@ -1 +1 @@ -{"version":3,"file":"store.js","sourceRoot":"","sources":["../src/store.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,IAAI,CAAA;AACxB,OAAO,KAAK,IAAI,MAAM,MAAM,CAAA;AAC5B,OAAO,KAAK,EAAE,MAAM,IAAI,CAAA;AACxB,OAAO,KAAK,MAAM,MAAM,aAAa,CAAA;AACrC,OAAO,EAAE,uBAAuB,EAAE,MAAM,kBAAkB,CAAA;AAQ1D,MAAM,aAAa,GAAG,+BAA+B,CAAA;AACrD,MAAM,cAAc,GAAG,gCAAgC,CAAA;AACvD,MAAM,iBAAiB,GAAG,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,OAAO,EAAE,EAAE,SAAS,EAAE,qBAAqB,CAAC,CAAA;AACnF,MAAM,kBAAkB,GAAG,eAAe,CAAA;AAE1C,SAAS,WAAW;IAClB,MAAM,QAAQ,GAAG,OAAO,CAAC,GAAG,CAAC,aAAa,CAAC,CAAA;IAC3C,IAAI,QAAQ,IAAI,QAAQ,CAAC,IAAI,EAAE;QAAE,OAAO,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,IAAI,EAAE,CAAC,CAAA;IACrE,OAAO,iBAAiB,CAAA;AAC1B,CAAC;AAED,SAAS,YAAY;IACnB,MAAM,QAAQ,GAAG,OAAO,CAAC,GAAG,CAAC,cAAc,CAAC,CAAA;IAC5C,IAAI,QAAQ,IAAI,QAAQ,CAAC,IAAI,EAAE;QAAE,OAAO,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,IAAI,EAAE,CAAC,CAAA;IACrE,OAAO,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,EAAE,kBAAkB,CAAC,CAAA;AACrD,CAAC;AAED,MAAM,oBAAoB,GAAG,6BAA6B,CAAA;AAC1D,MAAM,qBAAqB,GAAG,CAAC,CAAA;AAiC/B,IAAI,WAAW,GAAG,KAAK,CAAA;AACvB,IAAI,cAAc,GAAkB,IAAI,CAAA;AACxC,IAAI,kBAAkB,GAAG,KAAK,CAAA;AAC9B,IAAI,SAAS,GAAG,KAAK,CAAA;AACrB,IAAI,cAAc,GAAsB,EAAE,CAAA;AAE1C,SAAS,SAAS;IAChB,MAAM,GAAG,GAAG,WAAW,EAAE,CAAA;IACzB,IAAI,CAAC,EAAE,CAAC,UAAU,CAAC,GAAG,CAAC,EAAE,CAAC;QACxB,EAAE,CAAC,SAAS,CAAC,GAAG,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC,CAAA;IACrD,CAAC;AACH,CAAC;AAED,SAAS,UAAU;IACjB,OAAO;QACL,OAAO,EAAE,qBAAqB;QAC9B,QAAQ,EAAE,EAAE;QACZ,WAAW,EAAE,IAAI;QACjB,aAAa,EAAE,CAAC;QAChB,YAAY,EAAE,IAAI,CAAC,GAAG,EAAE;KACzB,CAAA;AACH,CAAC;AAED,SAAS,aAAa;IACpB,MAAM,KAAK,GAAG,OAAO,CAAC,GAAG,CAAC,oBAAoB,CAAC,CAAA;IAC/C,OAAO,KAAK,IAAI,KAAK,CAAC,IAAI,EAAE,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,CAAA;AACxD,CAAC;AAED,SAAS,eAAe,CAAC,OAAY;IACnC,OAAO,OAAO,CAAC,OAAO,IAAI,OAAO,CAAC,SAAS,KAAK,IAAI,IAAI,OAAO,OAAO,CAAC,IAAI,KAAK,QAAQ,CAAC,CAAA;AAC3F,CAAC;AAED,SAAS,SAAS,CAAC,UAAkB,EAAE,IAAY;IACjD,OAAO,MAAM,CAAC,UAAU,CAAC,UAAU,EAAE,IAAI,EAAE,EAAE,CAAC,CAAA;AAChD,CAAC;AAED,SAAS,YAAY,CAAC,KAAmB,EAAE,UAAkB;IAC3D,MAAM,IAAI,GAAG,MAAM,CAAC,WAAW,CAAC,EAAE,CAAC,CAAA;IACnC,MAAM,EAAE,GAAG,MAAM,CAAC,WAAW,CAAC,EAAE,CAAC,CAAA;IACjC,MAAM,GAAG,GAAG,SAAS,CAAC,UAAU,EAAE,IAAI,CAAC,CAAA;IACvC,MAAM,MAAM,GAAG,MAAM,CAAC,cAAc,CAAC,aAAa,EAAE,GAAG,EAAE,EAAE,CAAC,CAAA;IAC5D,MAAM,UAAU,GAAG,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,CAAA;IACxC,MAAM,SAAS,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,UAAU,EAAE,MAAM,CAAC,EAAE,MAAM,CAAC,KAAK,EAAE,CAAC,CAAC,CAAA;IACpF,MAAM,GAAG,GAAG,MAAM,CAAC,UAAU,EAAE,CAAA;IAC/B,OAAO;QACL,SAAS,EAAE,IAAI;QACf,OAAO,EAAE,qBAAqB;QAC9B,IAAI,EAAE,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC;QAC7B,EAAE,EAAE,EAAE,CAAC,QAAQ,CAAC,QAAQ,CAAC;QACzB,GAAG,EAAE,GAAG,CAAC,QAAQ,CAAC,QAAQ,CAAC;QAC3B,IAAI,EAAE,SAAS,CAAC,QAAQ,CAAC,QAAQ,CAAC;KACnC,CAAA;AACH,CAAC;AAED,SAAS,YAAY,CAAC,IAAwB,EAAE,UAAkB;IAChE,MAAM,IAAI,GAAG,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAA;IAC7C,MAAM,EAAE,GAAG,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,EAAE,QAAQ,CAAC,CAAA;IACzC,MAAM,GAAG,GAAG,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,QAAQ,CAAC,CAAA;IAC3C,MAAM,IAAI,GAAG,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAA;IAC7C,MAAM,GAAG,GAAG,SAAS,CAAC,UAAU,EAAE,IAAI,CAAC,CAAA;IACvC,MAAM,QAAQ,GAAG,MAAM,CAAC,gBAAgB,CAAC,aAAa,EAAE,GAAG,EAAE,EAAE,CAAC,CAAA;IAChE,QAAQ,CAAC,UAAU,CAAC,GAAG,CAAC,CAAA;IACxB,MAAM,SAAS,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC,QAAQ,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,QAAQ,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAA;IAC3F,OAAO,IAAI,CAAC,KAAK,CAAC,SAAS,CAAiB,CAAA;AAC9C,CAAC;AAED,SAAS,eAAe,CAAC,GAAQ,EAAE,KAAa;IAC9C,IAAI,CAAC,GAAG,IAAI,OAAO,GAAG,KAAK,QAAQ;QAAE,OAAO,IAAI,CAAA;IAChD,IAAI,OAAO,GAAG,CAAC,WAAW,KAAK,QAAQ,IAAI,CAAC,GAAG,CAAC,WAAW;QAAE,OAAO,IAAI,CAAA;IACxE,IAAI,OAAO,GAAG,CAAC,YAAY,KAAK,QAAQ,IAAI,CAAC,GAAG,CAAC,YAAY;QAAE,OAAO,IAAI,CAAA;IAC1E,IAAI,OAAO,GAAG,CAAC,SAAS,KAAK,QAAQ;QAAE,OAAO,IAAI,CAAA;IAElD,MAAM,gBAAgB,GAAG,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,gBAAgB,CAAC;QAC1D,CAAC,CAAC,GAAG,CAAC,gBAAgB,CAAC,MAAM,CAAC,CAAC,KAAU,EAAE,EAAE,CACzC,uBAAuB,CAAC,EAAE,QAAQ,EAAE,KAAK,EAAE,QAAQ,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,CAAC,CAC9E;QACH,CAAC,CAAC,SAAS,CAAA;IACb,MAAM,UAAU,GAAG,uBAAuB,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC,CAAC,SAAS,CAAA;IAEvF,OAAO;QACL,KAAK;QACL,WAAW,EAAE,GAAG,CAAC,WAAW;QAC5B,YAAY,EAAE,GAAG,CAAC,YAAY;QAC9B,OAAO,EAAE,OAAO,GAAG,CAAC,OAAO,KAAK,QAAQ,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,SAAS;QAClE,SAAS,EAAE,OAAO,GAAG,CAAC,SAAS,KAAK,QAAQ,CAAC,CAAC,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC,CAAC,SAAS;QACxE,aAAa,EAAE,OAAO,GAAG,CAAC,aAAa,KAAK,QAAQ,CAAC,CAAC,CAAC,GAAG,CAAC,aAAa,CAAC,CAAC,CAAC,SAAS;QACpF,MAAM,EAAE,OAAO,GAAG,CAAC,MAAM,KAAK,QAAQ,CAAC,CAAC,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,SAAS;QAC/D,QAAQ,EAAE,OAAO,GAAG,CAAC,QAAQ,KAAK,QAAQ,CAAC,CAAC,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC,CAAC,SAAS;QACrE,SAAS,EAAE,GAAG,CAAC,SAAS;QACxB,KAAK,EAAE,OAAO,GAAG,CAAC,KAAK,KAAK,QAAQ,CAAC,CAAC,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,SAAS;QAC5D,WAAW,EAAE,OAAO,GAAG,CAAC,WAAW,KAAK,QAAQ,CAAC,CAAC,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC,CAAC,SAAS;QAC9E,UAAU,EAAE,OAAO,GAAG,CAAC,UAAU,KAAK,QAAQ,CAAC,CAAC,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC,CAAC,SAAS;QAC3E,eAAe,EAAE,OAAO,GAAG,CAAC,eAAe,KAAK,QAAQ,CAAC,CAAC,CAAC,GAAG,CAAC,eAAe,CAAC,CAAC,CAAC,SAAS;QAC1F,QAAQ,EAAE,OAAO,GAAG,CAAC,QAAQ,KAAK,QAAQ,CAAC,CAAC,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC,CAAC,SAAS;QACrE,UAAU,EAAE,OAAO,GAAG,CAAC,UAAU,KAAK,QAAQ,CAAC,CAAC,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC;QACnE,gBAAgB,EAAE,OAAO,GAAG,CAAC,gBAAgB,KAAK,QAAQ,CAAC,CAAC,CAAC,GAAG,CAAC,gBAAgB,CAAC,CAAC,CAAC,SAAS;QAC7F,qBAAqB,EAAE,OAAO,GAAG,CAAC,qBAAqB,KAAK,QAAQ,CAAC,CAAC,CAAC,GAAG,CAAC,qBAAqB,CAAC,CAAC,CAAC,SAAS;QAC5G,kBAAkB,EAAE,OAAO,GAAG,CAAC,kBAAkB,KAAK,QAAQ,CAAC,CAAC,CAAC,GAAG,CAAC,kBAAkB,CAAC,CAAC,CAAC,SAAS;QACnG,qBAAqB,EAAE,OAAO,GAAG,CAAC,qBAAqB,KAAK,QAAQ,CAAC,CAAC,CAAC,GAAG,CAAC,qBAAqB,CAAC,CAAC,CAAC,SAAS;QAC5G,qBAAqB,EAAE,OAAO,GAAG,CAAC,qBAAqB,KAAK,QAAQ,CAAC,CAAC,CAAC,GAAG,CAAC,qBAAqB,CAAC,CAAC,CAAC,SAAS;QAC5G,yBAAyB,EAAE,OAAO,GAAG,CAAC,yBAAyB,KAAK,QAAQ,CAAC,CAAC,CAAC,GAAG,CAAC,yBAAyB,CAAC,CAAC,CAAC,SAAS;QACxH,sBAAsB,EAAE,OAAO,GAAG,CAAC,sBAAsB,KAAK,QAAQ,CAAC,CAAC,CAAC,GAAG,CAAC,sBAAsB,CAAC,CAAC,CAAC,SAAS;QAC/G,yBAAyB,EAAE,OAAO,GAAG,CAAC,yBAAyB,KAAK,QAAQ,CAAC,CAAC,CAAC,GAAG,CAAC,yBAAyB,CAAC,CAAC,CAAC,SAAS;QACxH,WAAW,EAAE,OAAO,GAAG,CAAC,WAAW,KAAK,SAAS,CAAC,CAAC,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC,CAAC,SAAS;QAC/E,iBAAiB,EAAE,OAAO,GAAG,CAAC,iBAAiB,KAAK,QAAQ,CAAC,CAAC,CAAC,GAAG,CAAC,iBAAiB,CAAC,CAAC,CAAC,SAAS;QAChG,uCAAuC;QACvC,OAAO,EAAE,OAAO,GAAG,CAAC,OAAO,KAAK,SAAS,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,SAAS;QACnE,UAAU,EAAE,OAAO,GAAG,CAAC,UAAU,KAAK,QAAQ,CAAC,CAAC,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC,CAAC,SAAS;QAC3E,UAAU,EAAE,OAAO,GAAG,CAAC,UAAU,KAAK,QAAQ,CAAC,CAAC,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC,CAAC,SAAS;QAC3E,aAAa,EAAE,OAAO,GAAG,CAAC,aAAa,KAAK,QAAQ,CAAC,CAAC,CAAC,GAAG,CAAC,aAAa,CAAC,CAAC,CAAC,SAAS;QACpF,UAAU;QACV,gBAAgB,EAAE,gBAAgB,IAAI,gBAAgB,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,gBAAgB,CAAC,CAAC,CAAC,SAAS;QAChG,WAAW,EAAE,OAAO,GAAG,CAAC,WAAW,KAAK,QAAQ,CAAC,CAAC,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC,CAAC,SAAS;QAC9E,UAAU,EAAE,OAAO,GAAG,CAAC,UAAU,KAAK,QAAQ,CAAC,CAAC,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC,CAAC,SAAS;QAC3E,gBAAgB,EAAE,OAAO,GAAG,CAAC,gBAAgB,KAAK,QAAQ,CAAC,CAAC,CAAC,GAAG,CAAC,gBAAgB,CAAC,CAAC,CAAC,SAAS;QAC7F,gBAAgB,EAAE,OAAO,GAAG,CAAC,gBAAgB,KAAK,QAAQ,CAAC,CAAC,CAAC,GAAG,CAAC,gBAAgB,CAAC,CAAC,CAAC,SAAS;QAC7F,gBAAgB,EACd,GAAG,CAAC,gBAAgB,KAAK,OAAO;YAChC,GAAG,CAAC,gBAAgB,KAAK,OAAO;YAChC,GAAG,CAAC,gBAAgB,KAAK,OAAO;YAChC,GAAG,CAAC,gBAAgB,KAAK,SAAS;YAChC,CAAC,CAAC,GAAG,CAAC,gBAAgB;YACtB,CAAC,CAAC,SAAS;QACf,IAAI,EAAE,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,SAAS;QACpD,KAAK,EAAE,OAAO,GAAG,CAAC,KAAK,KAAK,QAAQ,CAAC,CAAC,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,SAAS;QAC5D,MAAM,EAAE,GAAG,CAAC,MAAM,KAAK,UAAU,IAAI,GAAG,CAAC,MAAM,KAAK,OAAO,CAAC,CAAC,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,SAAS;KACrF,CAAA;AACH,CAAC;AAED,SAAS,aAAa,CAAC,IAAS;IAC9B,IAAI,CAAC,IAAI,IAAI,OAAO,IAAI,KAAK,QAAQ;QAAE,OAAO,IAAI,CAAA;IAElD,MAAM,QAAQ,GAAuC,EAAE,CAAA;IACvD,MAAM,WAAW,GAAG,IAAI,CAAC,QAAQ,CAAA;IACjC,IAAI,WAAW,IAAI,OAAO,WAAW,KAAK,QAAQ,EAAE,CAAC;QACnD,KAAK,MAAM,CAAC,KAAK,EAAE,GAAG,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,WAAW,CAAC,EAAE,CAAC;YACvD,MAAM,SAAS,GAAG,eAAe,CAAC,GAAG,EAAE,KAAK,CAAC,CAAA;YAC7C,IAAI,SAAS,EAAE,CAAC;gBACd,QAAQ,CAAC,KAAK,CAAC,GAAG,SAAS,CAAA;YAC7B,CAAC;QACH,CAAC;IACH,CAAC;IAED,OAAO;QACL,OAAO,EAAE,OAAO,IAAI,CAAC,OAAO,KAAK,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,SAAS;QACpE,QAAQ;QACR,WAAW,EAAE,OAAO,IAAI,CAAC,WAAW,KAAK,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC,IAAI;QAC3E,aAAa,EAAE,OAAO,IAAI,CAAC,aAAa,KAAK,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC;QAC9E,YAAY,EAAE,OAAO,IAAI,CAAC,YAAY,KAAK,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,EAAE;QACpF,sCAAsC;QACtC,WAAW,EAAE,IAAI,CAAC,WAAW,IAAI,IAAI;QACrC,WAAW,EAAE,IAAI,CAAC,WAAW,IAAI,IAAI;QACrC,wBAAwB,EAAE,IAAI,CAAC,wBAAwB,IAAI,IAAI;QAC/D,QAAQ,EAAE,IAAI,CAAC,QAAQ,IAAI,IAAI;QAC/B,mDAAmD;QACnD,gBAAgB,EAAE,IAAI,CAAC,gBAAgB,IAAI,aAAa;QACxD,QAAQ,EAAE,IAAI,CAAC,QAAQ,IAAI,SAAS;KACrC,CAAA;AACH,CAAC;AAED,SAAS,aAAa,CAAC,IAAiB;IACtC,OAAO;QACL,GAAG,IAAI;QACP,OAAO,EAAE,CAAC;QACV,QAAQ,EAAE;YACR,gBAAgB,EAAE,aAAa;SAChC;QACD,KAAK,EAAE;YACL,WAAW,EAAE,IAAI;YACjB,WAAW,EAAE,IAAI;YACjB,wBAAwB,EAAE,IAAI;YAC9B,QAAQ,EAAE,IAAI;SACf;KACF,CAAA;AACH,CAAC;AAED,SAAS,YAAY,CAAC,IAAS;IAC7B,IAAI,CAAC,IAAI,IAAI,OAAO,IAAI,KAAK,QAAQ;QAAE,OAAO,IAAI,CAAA;IAElD,MAAM,OAAO,GAAG,OAAO,IAAI,CAAC,OAAO,KAAK,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAA;IAEnE,IAAI,OAAO,GAAG,qBAAqB,EAAE,CAAC;QACpC,OAAO,CAAC,IAAI,CAAC,8BAA8B,OAAO,4BAA4B,qBAAqB,4BAA4B,CAAC,CAAA;QAChI,OAAO,aAAa,CAAC,IAAI,CAAC,CAAA;IAC5B,CAAC;IAED,IAAI,QAAQ,GAAQ,IAAI,CAAA;IACxB,IAAI,OAAO,KAAK,CAAC,EAAE,CAAC;QAClB,QAAQ,GAAG,aAAa,CAAC,IAAmB,CAAC,CAAA;QAC7C,OAAO,CAAC,GAAG,CAAC,2CAA2C,CAAC,CAAA;IAC1D,CAAC;IAED,OAAO,aAAa,CAAC,QAAQ,CAAC,CAAA;AAChC,CAAC;AAED,SAAS,oBAAoB;IAC3B,OAAO,GAAG,YAAY,EAAE,MAAM,CAAA;AAChC,CAAC;AAED,SAAS,iBAAiB,CAAC,KAAmB;IAC5C,sEAAsE;IACtE,IAAI,aAAa,EAAE,EAAE,CAAC;QACpB,OAAM;IACR,CAAC;IAED,MAAM,OAAO,GAAG,oBAAoB,EAAE,CAAA;IACtC,IAAI,CAAC;QACH,EAAE,CAAC,aAAa,CAAC,OAAO,EAAE,IAAI,CAAC,SAAS,CAAC,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC,EAAE,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC,CAAA;IAC5E,CAAC;IAAC,MAAM,CAAC;QACP,SAAS;IACX,CAAC;AACH,CAAC;AAED,SAAS,iBAAiB;IACxB,MAAM,OAAO,GAAG,oBAAoB,EAAE,CAAA;IACtC,IAAI,CAAC,EAAE,CAAC,UAAU,CAAC,OAAO,CAAC;QAAE,OAAO,IAAI,CAAA;IACxC,IAAI,CAAC;QACH,MAAM,IAAI,GAAG,EAAE,CAAC,YAAY,CAAC,OAAO,EAAE,OAAO,CAAC,CAAA;QAC9C,MAAM,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAA;QAC/B,OAAO,aAAa,CAAC,MAAM,CAAC,CAAA;IAC9B,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,IAAI,CAAA;IACb,CAAC;AACH,CAAC;AAED,KAAK,UAAU,gBAAgB;IAC7B,IAAI,CAAC,SAAS,EAAE,CAAC;QACf,SAAS,GAAG,IAAI,CAAA;QAChB,OAAM;IACR,CAAC;IACD,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,EAAE;QAC7B,cAAc,CAAC,IAAI,CAAC,OAAO,CAAC,CAAA;IAC9B,CAAC,CAAC,CAAA;AACJ,CAAC;AAED,SAAS,gBAAgB;IACvB,MAAM,IAAI,GAAG,cAAc,CAAC,KAAK,EAAE,CAAA;IACnC,IAAI,IAAI,EAAE,CAAC;QACT,IAAI,EAAE,CAAA;IACR,CAAC;SAAM,CAAC;QACN,SAAS,GAAG,KAAK,CAAA;IACnB,CAAC;AACH,CAAC;AAED,SAAS,aAAa,CAAC,MAAiE;IACtF,IAAI,CAAC,MAAM;QAAE,OAAO,SAAS,CAAA;IAC7B,OAAO;QACL,SAAS,EAAE,MAAM,CAAC,SAAS;QAC3B,KAAK,EAAE,MAAM,CAAC,KAAK;QACnB,OAAO,EAAE,MAAM,CAAC,OAAO;KACxB,CAAA;AACH,CAAC;AAED,SAAS,iBAAiB,CAAC,UAA6C;IACtE,IAAI,CAAC,uBAAuB,CAAC,UAAU,CAAC;QAAE,OAAO,IAAI,CAAA;IACrD,MAAM,eAAe,GAAG,CAAC,UAAU,EAAE,QAAQ,EAAE,SAAS,EAAE,UAAU,EAAE,MAAM,EAAE,SAAS,CAAC,CAAC,MAAM,CAC7F,CAAC,KAAK,EAAmB,EAAE,CAAC,OAAO,KAAK,KAAK,QAAQ,CACtD,CAAA;IACD,MAAM,EAAE,GAAG,eAAe,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,eAAe,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,EAAE,CAAA;IACjF,OAAO;QACL,EAAE;QACF,QAAQ,EAAE,aAAa,CAAC,UAAU,EAAE,QAAQ,CAAC;QAC7C,MAAM,EAAE,aAAa,CAAC,UAAU,EAAE,MAAM,CAAC;KAC1C,CAAA;AACH,CAAC;AAED,SAAS,aAAa,CACpB,OAA4C,EAC5C,KAA4B;IAE5B,MAAM,IAAI,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC,EAAE,CAAA;IACxC,MAAM,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC,MAAM,GAAG,CAAC,CAAC,CAAA;IAClC,MAAM,IAAI,GACR,IAAI;QACJ,IAAI,CAAC,QAAQ,EAAE,SAAS,KAAK,KAAK,CAAC,QAAQ,EAAE,SAAS;QACtD,IAAI,CAAC,MAAM,EAAE,SAAS,KAAK,KAAK,CAAC,MAAM,EAAE,SAAS;QAClD,IAAI,CAAC,QAAQ,EAAE,OAAO,KAAK,KAAK,CAAC,QAAQ,EAAE,OAAO;QAClD,IAAI,CAAC,MAAM,EAAE,OAAO,KAAK,KAAK,CAAC,MAAM,EAAE,OAAO,CAAA;IAChD,IAAI,CAAC,IAAI,EAAE,CAAC;QACV,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,CAAA;IAClB,CAAC;IACD,IAAI,IAAI,CAAC,MAAM,GAAG,GAAG,EAAE,CAAC;QACtB,OAAO,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,GAAG,GAAG,CAAC,CAAA;IACtC,CAAC;IACD,OAAO,IAAI,CAAA;AACb,CAAC;AAED,MAAM,UAAU,SAAS;IACvB,WAAW,GAAG,KAAK,CAAA;IACnB,cAAc,GAAG,IAAI,CAAA;IACrB,kBAAkB,GAAG,KAAK,CAAA;IAC1B,SAAS,EAAE,CAAA;IACX,MAAM,IAAI,GAAG,YAAY,EAAE,CAAA;IAC3B,IAAI,EAAE,CAAC,UAAU,CAAC,IAAI,CAAC,EAAE,CAAC;QACxB,IAAI,CAAC;YACH,MAAM,IAAI,GAAG,EAAE,CAAC,YAAY,CAAC,IAAI,EAAE,OAAO,CAAC,CAAA;YAC3C,MAAM,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAA;YAC/B,IAAI,eAAe,CAAC,MAAM,CAAC,EAAE,CAAC;gBAC5B,kBAAkB,GAAG,IAAI,CAAA;gBACzB,MAAM,UAAU,GAAG,aAAa,EAAE,CAAA;gBAClC,IAAI,CAAC,UAAU,EAAE,CAAC;oBAChB,WAAW,GAAG,IAAI,CAAA;oBAClB,cAAc,GAAG,2BAA2B,oBAAoB,aAAa,CAAA;oBAC7E,OAAO,UAAU,EAAE,CAAA;gBACrB,CAAC;gBACD,IAAI,CAAC;oBACH,MAAM,SAAS,GAAG,YAAY,CAAC,MAAM,EAAE,UAAU,CAAC,CAAA;oBAClD,MAAM,SAAS,GAAG,aAAa,CAAC,SAAS,CAAC,CAAA;oBAC1C,IAAI,SAAS,EAAE,CAAC;wBACd,iBAAiB,CAAC,SAAS,CAAC,CAAA;wBAC5B,OAAO,SAAS,CAAA;oBAClB,CAAC;oBACD,WAAW,GAAG,IAAI,CAAA;oBAClB,cAAc,GAAG,2CAA2C,CAAA;oBAC5D,MAAM,GAAG,GAAG,iBAAiB,EAAE,CAAA;oBAC/B,IAAI,GAAG,EAAE,CAAC;wBACR,OAAO,CAAC,IAAI,CAAC,qDAAqD,CAAC,CAAA;wBACnE,OAAO,GAAG,CAAA;oBACZ,CAAC;oBACD,OAAO,UAAU,EAAE,CAAA;gBACrB,CAAC;gBAAC,OAAO,GAAG,EAAE,CAAC;oBACb,WAAW,GAAG,IAAI,CAAA;oBAClB,cAAc,GAAG,4CAA4C,CAAA;oBAC7D,OAAO,CAAC,KAAK,CAAC,uCAAuC,EAAE,GAAG,CAAC,CAAA;oBAC3D,OAAO,UAAU,EAAE,CAAA;gBACrB,CAAC;YACH,CAAC;YAED,MAAM,QAAQ,GAAG,YAAY,CAAC,MAAM,CAAC,CAAA;YACrC,IAAI,QAAQ,EAAE,CAAC;gBACb,iBAAiB,CAAC,QAAQ,CAAC,CAAA;gBAC3B,OAAO,QAAQ,CAAA;YACjB,CAAC;YAED,WAAW,GAAG,IAAI,CAAA;YAClB,cAAc,GAAG,0BAA0B,CAAA;YAC3C,OAAO,CAAC,KAAK,CAAC,sCAAsC,CAAC,CAAA;YAErD,MAAM,GAAG,GAAG,iBAAiB,EAAE,CAAA;YAC/B,IAAI,GAAG,EAAE,CAAC;gBACR,OAAO,CAAC,IAAI,CAAC,qDAAqD,CAAC,CAAA;gBACnE,OAAO,GAAG,CAAA;YACZ,CAAC;YACD,OAAO,UAAU,EAAE,CAAA;QACrB,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,WAAW,GAAG,IAAI,CAAA;YAClB,cAAc,GAAG,kDAAkD,CAAA;YACnE,OAAO,CAAC,KAAK,CAAC,qCAAqC,EAAE,GAAG,CAAC,CAAA;YAEzD,MAAM,GAAG,GAAG,iBAAiB,EAAE,CAAA;YAC/B,IAAI,GAAG,EAAE,CAAC;gBACR,OAAO,CAAC,IAAI,CAAC,qDAAqD,CAAC,CAAA;gBACnE,OAAO,GAAG,CAAA;YACZ,CAAC;QACH,CAAC;IACH,CAAC;IACD,OAAO,UAAU,EAAE,CAAA;AACrB,CAAC;AAED,MAAM,UAAU,SAAS,CAAC,KAAmB;IAC3C,SAAS,EAAE,CAAA;IACX,IAAI,WAAW,EAAE,CAAC;QAChB,OAAO,CAAC,KAAK,CAAC,kEAAkE,CAAC,CAAA;QACjF,OAAM;IACR,CAAC;IAED,MAAM,IAAI,GAAG,YAAY,EAAE,CAAA;IAC3B,MAAM,UAAU,GAAG,aAAa,EAAE,CAAA;IAClC,MAAM,OAAO,GAAG,UAAU,CAAC,CAAC,CAAC,YAAY,CAAC,KAAK,EAAE,UAAU,CAAC,CAAC,CAAC,CAAC,KAAK,CAAA;IACpE,MAAM,IAAI,GAAG,IAAI,CAAC,SAAS,CAAC,OAAO,EAAE,IAAI,EAAE,CAAC,CAAC,CAAA;IAE7C,IAAI,CAAC;QACH,IAAI,EAAE,CAAC,UAAU,CAAC,IAAI,CAAC,EAAE,CAAC;YACxB,EAAE,CAAC,YAAY,CAAC,IAAI,EAAE,GAAG,IAAI,MAAM,CAAC,CAAA;YACpC,EAAE,CAAC,SAAS,CAAC,GAAG,IAAI,MAAM,EAAE,KAAK,CAAC,CAAA;QACpC,CAAC;IACH,CAAC;IAAC,MAAM,CAAC;QACP,yBAAyB;IAC3B,CAAC;IAED,MAAM,GAAG,GAAG,GAAG,IAAI,QAAQ,OAAO,CAAC,GAAG,IAAI,IAAI,CAAC,GAAG,EAAE,EAAE,CAAA;IACtD,IAAI,EAAE,GAAkB,IAAI,CAAA;IAE5B,IAAI,CAAC;QACH,EAAE,GAAG,EAAE,CAAC,QAAQ,CAAC,GAAG,EAAE,GAAG,EAAE,KAAK,CAAC,CAAA;QACjC,EAAE,CAAC,aAAa,CAAC,EAAE,EAAE,IAAI,EAAE,EAAE,QAAQ,EAAE,OAAO,EAAE,CAAC,CAAA;QACjD,IAAI,CAAC;YACH,EAAE,CAAC,SAAS,CAAC,EAAE,CAAC,CAAA;QAClB,CAAC;QAAC,MAAM,CAAC;YACP,8CAA8C;QAChD,CAAC;IACH,CAAC;YAAS,CAAC;QACT,IAAI,EAAE,KAAK,IAAI,EAAE,CAAC;YAChB,IAAI,CAAC;gBACH,EAAE,CAAC,SAAS,CAAC,EAAE,CAAC,CAAA;YAClB,CAAC;YAAC,MAAM,CAAC;gBACP,SAAS;YACX,CAAC;QACH,CAAC;IACH,CAAC;IAED,IAAI,CAAC;QACH,EAAE,CAAC,UAAU,CAAC,GAAG,EAAE,IAAI,CAAC,CAAA;IAC1B,CAAC;IAAC,OAAO,GAAQ,EAAE,CAAC;QAClB,IAAI,GAAG,EAAE,IAAI,KAAK,OAAO,IAAI,GAAG,EAAE,IAAI,KAAK,QAAQ,EAAE,CAAC;YACpD,IAAI,CAAC;gBACH,EAAE,CAAC,UAAU,CAAC,IAAI,CAAC,CAAA;YACrB,CAAC;YAAC,MAAM,CAAC;gBACP,SAAS;YACX,CAAC;YACD,EAAE,CAAC,UAAU,CAAC,GAAG,EAAE,IAAI,CAAC,CAAA;QAC1B,CAAC;aAAM,CAAC;YACN,IAAI,CAAC;gBACH,EAAE,CAAC,UAAU,CAAC,GAAG,CAAC,CAAA;YACpB,CAAC;YAAC,MAAM,CAAC;gBACP,SAAS;YACX,CAAC;YACD,MAAM,GAAG,CAAA;QACX,CAAC;IACH,CAAC;IAED,IAAI,CAAC;QACH,MAAM,KAAK,GAAG,EAAE,CAAC,QAAQ,CAAC,WAAW,EAAE,EAAE,GAAG,CAAC,CAAA;QAC7C,IAAI,CAAC;YACH,EAAE,CAAC,SAAS,CAAC,KAAK,CAAC,CAAA;QACrB,CAAC;QAAC,MAAM,CAAC;YACP,SAAS;QACX,CAAC;QACD,EAAE,CAAC,SAAS,CAAC,KAAK,CAAC,CAAA;IACrB,CAAC;IAAC,MAAM,CAAC;QACP,SAAS;IACX,CAAC;IAED,IAAI,CAAC;QACH,EAAE,CAAC,SAAS,CAAC,IAAI,EAAE,KAAK,CAAC,CAAA;IAC3B,CAAC;IAAC,MAAM,CAAC;QACP,SAAS;IACX,CAAC;IAED,iBAAiB,CAAC,KAAK,CAAC,CAAA;AAC1B,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,aAAa,CAAI,EAAW;IAChD,MAAM,gBAAgB,EAAE,CAAA;IACxB,IAAI,CAAC;QACH,OAAO,EAAE,EAAE,CAAA;IACb,CAAC;YAAS,CAAC;QACT,gBAAgB,EAAE,CAAA;IACpB,CAAC;AACH,CAAC;AAED,MAAM,UAAU,mBAAmB;IAOjC,OAAO;QACL,QAAQ,EAAE,WAAW,EAAE;QACvB,SAAS,EAAE,YAAY,EAAE;QACzB,MAAM,EAAE,WAAW;QACnB,SAAS,EAAE,kBAAkB;QAC7B,KAAK,EAAE,cAAc;KACtB,CAAA;AACH,CAAC;AAGD,MAAM,UAAU,UAAU,CAAC,KAAa,EAAE,KAAuD;IAC/F,MAAM,KAAK,GAAG,SAAS,EAAE,CAAA;IACzB,MAAM,KAAK,GAAG,iBAAiB,CAAC,KAAK,CAAC,UAAU,CAAC,CAAA;IACjD,KAAK,CAAC,QAAQ,CAAC,KAAK,CAAC,GAAG;QACtB,GAAG,KAAK;QACR,KAAK;QACL,UAAU,EAAE,CAAC;QACb,gBAAgB,EAAE,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,gBAAgB;KAC3D,CAAA;IACD,IAAI,CAAC,KAAK,CAAC,WAAW,EAAE,CAAC;QACvB,KAAK,CAAC,WAAW,GAAG,KAAK,CAAA;IAC3B,CAAC;IACD,SAAS,CAAC,KAAK,CAAC,CAAA;IAChB,OAAO,KAAK,CAAA;AACd,CAAC;AAED,MAAM,UAAU,aAAa,CAAC,KAAa;IACzC,MAAM,KAAK,GAAG,SAAS,EAAE,CAAA;IACzB,OAAO,KAAK,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAA;IAC5B,IAAI,KAAK,CAAC,WAAW,KAAK,KAAK,EAAE,CAAC;QAChC,MAAM,SAAS,GAAG,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAA;QAC7C,KAAK,CAAC,WAAW,GAAG,SAAS,CAAC,CAAC,CAAC,IAAI,IAAI,CAAA;IAC1C,CAAC;IACD,SAAS,CAAC,KAAK,CAAC,CAAA;IAChB,OAAO,KAAK,CAAA;AACd,CAAC;AAED,MAAM,UAAU,aAAa,CAAC,KAAa,EAAE,OAAoC;IAC/E,MAAM,KAAK,GAAG,SAAS,EAAE,CAAA;IACzB,IAAI,KAAK,CAAC,QAAQ,CAAC,KAAK,CAAC,EAAE,CAAC;QAC1B,MAAM,OAAO,GAAG,KAAK,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAA;QACrC,MAAM,IAAI,GAAG,EAAE,GAAG,OAAO,EAAE,GAAG,OAAO,EAAE,CAAA;QACvC,IAAI,OAAO,CAAC,UAAU,IAAI,IAAI,CAAC,UAAU,EAAE,CAAC;YAC1C,MAAM,KAAK,GAAG,iBAAiB,CAAC,IAAI,CAAC,UAAU,CAAC,CAAA;YAChD,IAAI,KAAK,EAAE,CAAC;gBACV,IAAI,CAAC,gBAAgB,GAAG,aAAa,CAAC,OAAO,CAAC,gBAAgB,EAAE,KAAK,CAAC,CAAA;YACxE,CAAC;QACH,CAAC;QACD,KAAK,CAAC,QAAQ,CAAC,KAAK,CAAC,GAAG,IAAI,CAAA;QAC5B,SAAS,CAAC,KAAK,CAAC,CAAA;IAClB,CAAC;IACD,OAAO,KAAK,CAAA;AACd,CAAC;AAED,MAAM,UAAU,cAAc,CAAC,KAAoB;IACjD,MAAM,KAAK,GAAG,SAAS,EAAE,CAAA;IACzB,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,EAAE,CAAA;IACtB,MAAM,aAAa,GAAG,KAAK,CAAC,WAAW,CAAA;IAEvC,IAAI,KAAK,KAAK,IAAI,EAAE,CAAC;QACnB,KAAK,CAAC,WAAW,GAAG,IAAI,CAAA;IAC1B,CAAC;SAAM,IAAI,KAAK,CAAC,QAAQ,CAAC,KAAK,CAAC,EAAE,CAAC;QACjC,IAAI,aAAa,IAAI,aAAa,KAAK,KAAK,IAAI,KAAK,CAAC,QAAQ,CAAC,aAAa,CAAC,EAAE,CAAC;YAC9E,KAAK,CAAC,QAAQ,CAAC,aAAa,CAAC,GAAG;gBAC9B,GAAG,KAAK,CAAC,QAAQ,CAAC,aAAa,CAAC;gBAChC,eAAe,EAAE,GAAG;aACrB,CAAA;QACH,CAAC;QAED,KAAK,CAAC,WAAW,GAAG,KAAK,CAAA;QACzB,KAAK,CAAC,QAAQ,CAAC,KAAK,CAAC,GAAG;YACtB,GAAG,KAAK,CAAC,QAAQ,CAAC,KAAK,CAAC;YACxB,UAAU,EAAE,GAAG;YACf,eAAe,EAAE,SAAS;SAC3B,CAAA;QAED,MAAM,OAAO,GAAG,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAA;QAC3C,MAAM,GAAG,GAAG,OAAO,CAAC,OAAO,CAAC,KAAK,CAAC,CAAA;QAClC,IAAI,GAAG,IAAI,CAAC,EAAE,CAAC;YACb,KAAK,CAAC,aAAa,GAAG,GAAG,CAAA;QAC3B,CAAC;QACD,KAAK,CAAC,YAAY,GAAG,GAAG,CAAA;IAC1B,CAAC;IACD,SAAS,CAAC,KAAK,CAAC,CAAA;IAChB,OAAO,KAAK,CAAA;AACd,CAAC;AAED,MAAM,UAAU,gBAAgB;IAC9B,MAAM,KAAK,GAAG,SAAS,EAAE,CAAA;IACzB,IAAI,CAAC,KAAK,CAAC,WAAW;QAAE,OAAO,IAAI,CAAA;IACnC,OAAO,KAAK,CAAC,QAAQ,CAAC,KAAK,CAAC,WAAW,CAAC,IAAI,IAAI,CAAA;AAClD,CAAC;AAED,MAAM,UAAU,YAAY;IAC1B,MAAM,KAAK,GAAG,SAAS,EAAE,CAAA;IACzB,OAAO,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAA;AACtC,CAAC;AAED,MAAM,UAAU,YAAY;IAC1B,OAAO,YAAY,EAAE,CAAA;AACvB,CAAC;AAED,MAAM,UAAU,cAAc;IAC5B,MAAM,IAAI,GAAG,mBAAmB,EAAE,CAAA;IAClC,OAAO,EAAE,MAAM,EAAE,IAAI,CAAC,MAAM,EAAE,SAAS,EAAE,IAAI,CAAC,SAAS,EAAE,KAAK,EAAE,IAAI,CAAC,KAAK,EAAE,CAAA;AAC9E,CAAC"} \ No newline at end of file +{"version":3,"file":"store.js","sourceRoot":"","sources":["../src/store.ts"],"names":[],"mappings":"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"} \ No newline at end of file diff --git a/dist/types.d.ts b/dist/types.d.ts index 1cb55f6..a49fb38 100644 --- a/dist/types.d.ts +++ b/dist/types.d.ts @@ -29,6 +29,7 @@ export interface AccountCredentials { disabledBy?: string; disableReason?: string; rateLimits?: AccountRateLimits; + credits?: AccountCredits; rateLimitHistory?: RateLimitHistoryEntry[]; limitStatus?: LimitStatus; limitError?: string; @@ -49,6 +50,13 @@ export interface AccountRateLimits { fiveHour?: RateLimitWindow; weekly?: RateLimitWindow; } +export interface AccountCredits { + hasCredits?: boolean; + unlimited?: boolean; + balance?: string | null; + updatedAt?: number; +} +export declare function hasUsableCredits(credits: AccountCredits | undefined | null): boolean; export interface RateLimitSnapshot { remaining?: number; limit?: number; @@ -88,6 +96,7 @@ export interface PluginConfig { modelUnsupportedCooldownMs: number; workspaceDeactivatedCooldownMs: number; modelFilter: RegExp; + creditAccountAliases?: string[]; } export interface ProviderModel { name: string; @@ -115,6 +124,7 @@ export interface RotationSettings { criticalThreshold: number; lowThreshold: number; accountWeights: Record; + creditAccountAliases?: string[]; featureFlags?: FeatureFlags; updatedAt?: number; updatedBy?: string; diff --git a/dist/types.d.ts.map b/dist/types.d.ts.map index 9e46893..9e697a3 100644 --- a/dist/types.d.ts.map +++ b/dist/types.d.ts.map @@ -1 +1 @@ -{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"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"} \ No newline at end of file +{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"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"} \ No newline at end of file diff --git a/dist/types.js b/dist/types.js index 1dc86f2..606e8a1 100644 --- a/dist/types.js +++ b/dist/types.js @@ -1,3 +1,24 @@ +function parseCreditBalance(balance) { + if (typeof balance !== 'string') + return undefined; + const match = balance.replace(/,/g, '.').match(/-?\d+(?:\.\d+)?/); + if (!match) + return undefined; + const parsed = Number(match[0]); + return Number.isFinite(parsed) ? parsed : undefined; +} +export function hasUsableCredits(credits) { + if (!credits) + return false; + if (credits.unlimited === true) + return true; + if (credits.hasCredits === true) + return true; + if (credits.hasCredits === false) + return false; + const balance = parseCreditBalance(credits.balance); + return typeof balance === 'number' && balance > 0; +} // Phase C: Calculate limits confidence based on probe timestamps export function calculateLimitsConfidence(lastProbeAt, lastErrorAt, limitStatus) { const now = Date.now(); @@ -125,6 +146,27 @@ export function validateSettings(settings) { }); } } + if (settings.creditAccountAliases !== undefined) { + if (!Array.isArray(settings.creditAccountAliases)) { + errors.push({ + field: 'creditAccountAliases', + message: 'Credit account aliases must be an array of account aliases', + constraint: 'creditAccountAliases must be string[]' + }); + } + else { + for (const alias of settings.creditAccountAliases) { + if (typeof alias !== 'string' || !alias.trim()) { + errors.push({ + field: 'creditAccountAliases', + message: 'Credit account aliases must contain non-empty strings', + constraint: 'every alias must be a non-empty string' + }); + break; + } + } + } + } return errors; } //# sourceMappingURL=types.js.map \ No newline at end of file diff --git a/dist/types.js.map b/dist/types.js.map index 6ab5731..4831a86 100644 --- a/dist/types.js.map +++ b/dist/types.js.map @@ -1 +1 @@ -{"version":3,"file":"types.js","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"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"} \ No newline at end of file +{"version":3,"file":"types.js","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"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"} \ No newline at end of file diff --git a/dist/usage-limits.d.ts b/dist/usage-limits.d.ts index 08540da..b2a90fa 100644 --- a/dist/usage-limits.d.ts +++ b/dist/usage-limits.d.ts @@ -1,7 +1,8 @@ -import type { AccountCredentials, AccountRateLimits } from './types.js'; +import type { AccountCredentials, AccountCredits, AccountRateLimits } from './types.js'; export interface UsageRateLimitFetchResult { rateLimits?: AccountRateLimits; planType?: string; + credits?: AccountCredits; rateLimitedUntil?: number; error?: string; shouldProbeFallback?: boolean; @@ -10,6 +11,9 @@ export interface UsageRateLimitFetchResult { workspaceDeactivatedReason?: string; source: 'usage-api'; } +export interface UsageRateLimitFetchOptions { + creditsAllowed?: boolean; +} interface UsageApiFailureClassification { shouldProbeFallback: boolean; authInvalid?: boolean; @@ -17,6 +21,6 @@ interface UsageApiFailureClassification { workspaceDeactivatedReason?: string; } export declare function classifyUsageApiFailure(status: number, rawText: string): UsageApiFailureClassification; -export declare function fetchUsageRateLimitsForAccount(account: AccountCredentials): Promise; +export declare function fetchUsageRateLimitsForAccount(account: AccountCredentials, options?: UsageRateLimitFetchOptions): Promise; export {}; //# sourceMappingURL=usage-limits.d.ts.map \ No newline at end of file diff --git a/dist/usage-limits.d.ts.map b/dist/usage-limits.d.ts.map index c845721..0070d0d 100644 --- a/dist/usage-limits.d.ts.map +++ b/dist/usage-limits.d.ts.map @@ -1 +1 @@ -{"version":3,"file":"usage-limits.d.ts","sourceRoot":"","sources":["../src/usage-limits.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,kBAAkB,EAAE,iBAAiB,EAAmB,MAAM,YAAY,CAAA;AAoCxF,MAAM,WAAW,yBAAyB;IACxC,UAAU,CAAC,EAAE,iBAAiB,CAAA;IAC9B,QAAQ,CAAC,EAAE,MAAM,CAAA;IACjB,gBAAgB,CAAC,EAAE,MAAM,CAAA;IACzB,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,mBAAmB,CAAC,EAAE,OAAO,CAAA;IAC7B,WAAW,CAAC,EAAE,OAAO,CAAA;IACrB,oBAAoB,CAAC,EAAE,OAAO,CAAA;IAC9B,0BAA0B,CAAC,EAAE,MAAM,CAAA;IACnC,MAAM,EAAE,WAAW,CAAA;CACpB;AAED,UAAU,6BAA6B;IACrC,mBAAmB,EAAE,OAAO,CAAA;IAC5B,WAAW,CAAC,EAAE,OAAO,CAAA;IACrB,oBAAoB,CAAC,EAAE,OAAO,CAAA;IAC9B,0BAA0B,CAAC,EAAE,MAAM,CAAA;CACpC;AAoED,wBAAgB,uBAAuB,CACrC,MAAM,EAAE,MAAM,EACd,OAAO,EAAE,MAAM,GACd,6BAA6B,CAuC/B;AAED,wBAAsB,8BAA8B,CAClD,OAAO,EAAE,kBAAkB,GAC1B,OAAO,CAAC,yBAAyB,CAAC,CAwGpC"} \ No newline at end of file +{"version":3,"file":"usage-limits.d.ts","sourceRoot":"","sources":["../src/usage-limits.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,kBAAkB,EAAE,cAAc,EAAE,iBAAiB,EAAmB,MAAM,YAAY,CAAA;AAoCxG,MAAM,WAAW,yBAAyB;IACxC,UAAU,CAAC,EAAE,iBAAiB,CAAA;IAC9B,QAAQ,CAAC,EAAE,MAAM,CAAA;IACjB,OAAO,CAAC,EAAE,cAAc,CAAA;IACxB,gBAAgB,CAAC,EAAE,MAAM,CAAA;IACzB,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,mBAAmB,CAAC,EAAE,OAAO,CAAA;IAC7B,WAAW,CAAC,EAAE,OAAO,CAAA;IACrB,oBAAoB,CAAC,EAAE,OAAO,CAAA;IAC9B,0BAA0B,CAAC,EAAE,MAAM,CAAA;IACnC,MAAM,EAAE,WAAW,CAAA;CACpB;AAED,MAAM,WAAW,0BAA0B;IACzC,cAAc,CAAC,EAAE,OAAO,CAAA;CACzB;AAED,UAAU,6BAA6B;IACrC,mBAAmB,EAAE,OAAO,CAAA;IAC5B,WAAW,CAAC,EAAE,OAAO,CAAA;IACrB,oBAAoB,CAAC,EAAE,OAAO,CAAA;IAC9B,0BAA0B,CAAC,EAAE,MAAM,CAAA;CACpC;AAgGD,wBAAgB,uBAAuB,CACrC,MAAM,EAAE,MAAM,EACd,OAAO,EAAE,MAAM,GACd,6BAA6B,CAuC/B;AAED,wBAAsB,8BAA8B,CAClD,OAAO,EAAE,kBAAkB,EAC3B,OAAO,GAAE,0BAA+B,GACvC,OAAO,CAAC,yBAAyB,CAAC,CAsHpC"} \ No newline at end of file diff --git a/dist/usage-limits.js b/dist/usage-limits.js index bc0bcc0..bb153bd 100644 --- a/dist/usage-limits.js +++ b/dist/usage-limits.js @@ -1,4 +1,5 @@ import { getBlockingRateLimitResetAt, hasMeaningfulRateLimits } from './rate-limits.js'; +import { hasUsableCredits } from './types.js'; const DEFAULT_USAGE_BASE_URL = 'https://chatgpt.com/backend-api'; const USAGE_BASE_URL_ENV = 'OPENCODE_MULTI_AUTH_USAGE_BASE_URL'; function getUsageBaseUrl() { @@ -38,6 +39,28 @@ function pickRateLimitDetails(payload) { return preferred.rate_limit; return additional.find((entry) => entry.rate_limit)?.rate_limit || null; } +function mapCredits(credits, now) { + if (!credits || typeof credits !== 'object') + return undefined; + const hasCredits = typeof credits.has_credits === 'boolean' + ? credits.has_credits + : undefined; + const unlimited = typeof credits.unlimited === 'boolean' + ? credits.unlimited + : undefined; + const balance = typeof credits.balance === 'string' || credits.balance === null + ? credits.balance + : undefined; + if (hasCredits === undefined && unlimited === undefined && balance === undefined) { + return undefined; + } + return { + hasCredits, + unlimited, + balance, + updatedAt: now + }; +} function parseUsageFailure(rawText) { const trimmed = rawText.trim(); if (!trimmed) { @@ -91,7 +114,7 @@ export function classifyUsageApiFailure(status, rawText) { } return { shouldProbeFallback: true }; } -export async function fetchUsageRateLimitsForAccount(account) { +export async function fetchUsageRateLimitsForAccount(account, options = {}) { const token = account.accessToken?.trim(); if (!token) { return { @@ -166,11 +189,20 @@ export async function fetchUsageRateLimitsForAccount(account) { } const now = Date.now(); const details = pickRateLimitDetails(payload); + const credits = mapCredits(payload.credits, now); const rateLimits = { fiveHour: mapWindow(details?.primary_window, now), weekly: mapWindow(details?.secondary_window, now) }; + const creditsAllowed = options.creditsAllowed !== false; if (!hasMeaningfulRateLimits(rateLimits)) { + if (creditsAllowed && hasUsableCredits(credits)) { + return { + source: 'usage-api', + planType: payload.plan_type, + credits + }; + } return { source: 'usage-api', planType: payload.plan_type, @@ -178,11 +210,14 @@ export async function fetchUsageRateLimitsForAccount(account) { }; } const rateLimitedUntil = details?.limit_reached || details?.allowed === false - ? getBlockingRateLimitResetAt(rateLimits, now) + ? creditsAllowed && hasUsableCredits(credits) + ? undefined + : getBlockingRateLimitResetAt(rateLimits, now) : undefined; return { source: 'usage-api', planType: payload.plan_type, + credits, rateLimits, rateLimitedUntil }; diff --git a/dist/usage-limits.js.map b/dist/usage-limits.js.map index 05ef5bd..3f4f6de 100644 --- a/dist/usage-limits.js.map +++ b/dist/usage-limits.js.map @@ -1 +1 @@ -{"version":3,"file":"usage-limits.js","sourceRoot":"","sources":["../src/usage-limits.ts"],"names":[],"mappings":"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"} \ No newline at end of file +{"version":3,"file":"usage-limits.js","sourceRoot":"","sources":["../src/usage-limits.ts"],"names":[],"mappings":"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"} \ No newline at end of file diff --git a/dist/web.d.ts.map b/dist/web.d.ts.map index ff885b0..135a8f7 100644 --- a/dist/web.d.ts.map +++ b/dist/web.d.ts.map @@ -1 +1 @@ -{"version":3,"file":"web.d.ts","sourceRoot":"","sources":["../src/web.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,IAAI,MAAM,WAAW,CAAA;AAoFjC,wBAAgB,eAAe,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAErD;AA0nGD,wBAAgB,eAAe,CAAC,OAAO,CAAC,EAAE;IAAE,IAAI,CAAC,EAAE,MAAM,CAAC;IAAC,IAAI,CAAC,EAAE,MAAM,CAAA;CAAE,GAAG,IAAI,CAAC,MAAM,CAyrBvF"} \ No newline at end of file +{"version":3,"file":"web.d.ts","sourceRoot":"","sources":["../src/web.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,IAAI,MAAM,WAAW,CAAA;AAoFjC,wBAAgB,eAAe,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAErD;AA0nGD,wBAAgB,eAAe,CAAC,OAAO,CAAC,EAAE;IAAE,IAAI,CAAC,EAAE,MAAM,CAAC;IAAC,IAAI,CAAC,EAAE,MAAM,CAAA;CAAE,GAAG,IAAI,CAAC,MAAM,CA4rBvF"} \ No newline at end of file diff --git a/dist/web.js b/dist/web.js index f41a7c4..260010b 100644 --- a/dist/web.js +++ b/dist/web.js @@ -3588,6 +3588,9 @@ export function startWebConsole(options) { if (body.accountWeights) { updates.accountWeights = body.accountWeights; } + if (Array.isArray(body.creditAccountAliases)) { + updates.creditAccountAliases = body.creditAccountAliases; + } // Phase G: Handle feature flags if (body.featureFlags && typeof body.featureFlags === 'object') { updates.featureFlags = body.featureFlags; diff --git a/dist/web.js.map b/dist/web.js.map index a4022b5..64c4522 100644 --- a/dist/web.js.map +++ b/dist/web.js.map @@ -1 +1 @@ -{"version":3,"file":"web.js","sourceRoot":"","sources":["../src/web.ts"],"names":[],"mappings":"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;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;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"} \ No newline at end of file +{"version":3,"file":"web.js","sourceRoot":"","sources":["../src/web.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,SAAS,CAAA;AAC7B,OAAO,KAAK,IAAI,MAAM,WAAW,CAAA;AACjC,OAAO,KAAK,KAAK,MAAM,YAAY,CAAA;AACnC,OAAO,KAAK,EAAE,MAAM,SAAS,CAAA;AAC7B,OAAO,KAAK,IAAI,MAAM,WAAW,CAAA;AACjC,OAAO,EAAE,aAAa,EAAE,GAAG,EAAE,MAAM,UAAU,CAAA;AAC7C,OAAO,EAAE,IAAI,EAAE,KAAK,EAAE,MAAM,oBAAoB,CAAA;AAChD,OAAO,EAAE,SAAS,EAAE,MAAM,WAAW,CAAA;AACrC,OAAO,EAAE,uBAAuB,EAAE,YAAY,EAAE,YAAY,EAAE,MAAM,WAAW,CAAA;AAC/E,OAAO,EAAE,gBAAgB,EAAE,kBAAkB,EAAE,mBAAmB,EAAE,0BAA0B,EAAE,iBAAiB,EAAE,sBAAsB,EAAE,MAAM,iBAAiB,CAAA;AAClK,OAAO,EAAE,cAAc,EAAE,YAAY,EAAE,SAAS,EAAE,aAAa,EAAE,aAAa,EAAE,MAAM,YAAY,CAAA;AAClG,OAAO,EAAE,oBAAoB,EAAE,iBAAiB,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAA;AAC9F,OAAO,EAAE,UAAU,EAAE,QAAQ,EAAE,OAAO,EAAE,WAAW,EAAE,MAAM,aAAa,CAAA;AACxE,OAAO,EAAE,aAAa,EAAE,aAAa,EAAE,UAAU,EAAE,aAAa,EAAE,uBAAuB,EAAE,mBAAmB,EAAE,MAAM,iBAAiB,CAAA;AACvI,OAAO,EAAE,WAAW,EAAE,kBAAkB,EAAkB,gBAAgB,EAAE,MAAM,eAAe,CAAA;AACjG,OAAO,EAAE,MAAM,EAAE,MAAM,aAAa,CAAA;AAGpC,MAAM,YAAY,GAAG,WAAW,CAAA;AAChC,MAAM,YAAY,GAAG,IAAI,CAAA;AACzB,MAAM,sBAAsB,GAAG,iCAAiC,CAAA;AAChE,MAAM,gBAAgB,GAAG,IAAI,CAAA;AAC7B,MAAM,gBAAgB,GAAG,GAAG,CAAA;AAC5B,MAAM,yBAAyB,GAAG,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,OAAO,EAAE,EAAE,SAAS,EAAE,UAAU,EAAE,2BAA2B,CAAC,CAAA;AAC7G,MAAM,gBAAgB,GAAG,CAAC,GAAG,EAAE,GAAG,IAAI,CAAA;AACtC,MAAM,qBAAqB,GAAG,CAAC,GAAG,EAAE,GAAG,IAAI,CAAA;AAC3C,MAAM,UAAU,GAAG,IAAI,CAAC,OAAO,CAAC,aAAa,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAA;AAC/D,MAAM,qBAAqB,GAAG,uCAAuC,CAAA;AACrE,MAAM,0BAA0B,GAAG,iDAAiD,CAAA;AACpF,MAAM,qBAAqB,GAAG,uCAAuC,CAAA;AACrE,MAAM,mCAAmC,GAAG,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,OAAO,EAAE,EAAE,SAAS,EAAE,qBAAqB,EAAE,kBAAkB,CAAC,CAAA;AACzH,MAAM,8BAA8B,GAAG,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,OAAO,EAAE,EAAE,SAAS,EAAE,qBAAqB,EAAE,OAAO,EAAE,KAAK,EAAE,QAAQ,CAAC,CAAA;AAsD1H,MAAM,UAAU,eAAe,CAAC,IAAY;IAC1C,OAAO,sBAAsB,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC,CAAA;AACjD,CAAC;AAED,MAAM,SAAS,GAAG,SAAS,CAAC,IAAI,CAAC,CAAA;AAEjC,IAAI,UAAU,GAAG,CAAC,CAAA;AAClB,IAAI,aAAa,GAAkB,IAAI,CAAA;AACvC,IAAI,aAAa,GAAkB,IAAI,CAAA;AACvC,IAAI,SAAS,GAA0B,IAAI,CAAA;AAC3C,IAAI,YAAY,GAA6B,IAAI,CAAA;AACjD,IAAI,cAAc,GAAkB,IAAI,CAAA;AACxC,IAAI,qBAAqB,GAA0B,EAAE,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,QAAQ,EAAE,CAAA;AACtF,IAAI,wBAAwB,GAA0C,IAAI,CAAA;AAC1E,IAAI,cAAc,GAAoC,IAAI,CAAA;AAE1D,MAAM,IAAI,GAAG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;QA8qEL,CAAA;AAER,SAAS,QAAQ,CAAC,GAAwB,EAAE,MAAc,EAAE,OAAgB;IAC1E,MAAM,IAAI,GAAG,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,CAAA;IACpC,GAAG,CAAC,SAAS,CAAC,MAAM,EAAE;QACpB,cAAc,EAAE,iCAAiC;QACjD,gBAAgB,EAAE,MAAM,CAAC,UAAU,CAAC,IAAI,CAAC;KAC1C,CAAC,CAAA;IACF,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,CAAA;AACf,CAAC;AAED,SAAS,YAAY,CAAC,OAA2B;IAC/C,MAAM,EAAE,WAAW,EAAE,YAAY,EAAE,OAAO,EAAE,GAAG,IAAI,EAAE,GAAG,OAAO,CAAA;IAC/D,OAAO,IAAI,CAAA;AACb,CAAC;AAED,KAAK,UAAU,YAAY,CAAC,GAAyB;IACnD,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;QACrC,IAAI,IAAI,GAAG,EAAE,CAAA;QACb,GAAG,CAAC,EAAE,CAAC,MAAM,EAAE,CAAC,KAAK,EAAE,EAAE;YACvB,IAAI,IAAI,KAAK,CAAA;YACb,IAAI,IAAI,CAAC,MAAM,GAAG,SAAS,EAAE,CAAC;gBAC5B,GAAG,CAAC,OAAO,EAAE,CAAA;gBACb,MAAM,YAAY,GAAG,IAAI,KAAK,CAAC,mBAAmB,CAA8B,CAAA;gBAChF,YAAY,CAAC,IAAI,GAAG,mBAAmB,CAAA;gBACvC,MAAM,CAAC,YAAY,CAAC,CAAA;YACtB,CAAC;QACH,CAAC,CAAC,CAAA;QACF,GAAG,CAAC,EAAE,CAAC,KAAK,EAAE,GAAG,EAAE;YACjB,IAAI,CAAC,IAAI,EAAE,CAAC;gBACV,OAAO,CAAC,EAAE,CAAC,CAAA;gBACX,OAAM;YACR,CAAC;YACD,IAAI,CAAC;gBACH,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAA;YAC3B,CAAC;YAAC,MAAM,CAAC;gBACP,MAAM,UAAU,GAAG,IAAI,KAAK,CAAC,sBAAsB,CAA8B,CAAA;gBACjF,UAAU,CAAC,IAAI,GAAG,cAAc,CAAA;gBAChC,MAAM,CAAC,UAAU,CAAC,CAAA;YACpB,CAAC;QACH,CAAC,CAAC,CAAA;IACJ,CAAC,CAAC,CAAA;AACJ,CAAC;AAED,SAAS,gBAAgB,CAAC,MAAwB;IAChD,IAAI,CAAC,MAAM,IAAI,OAAO,MAAM,CAAC,SAAS,KAAK,QAAQ,IAAI,OAAO,MAAM,CAAC,KAAK,KAAK,QAAQ;QAAE,OAAO,IAAI,CAAA;IACpG,IAAI,MAAM,CAAC,KAAK,KAAK,CAAC;QAAE,OAAO,IAAI,CAAA;IACnC,OAAO,IAAI,CAAC,KAAK,CAAC,CAAC,MAAM,CAAC,SAAS,GAAG,MAAM,CAAC,KAAK,CAAC,GAAG,GAAG,CAAC,CAAA;AAC5D,CAAC;AAED,SAAS,cAAc,CAAC,QAA8B;IACpD,IAAI,IAAI,GAKG,IAAI,CAAA;IAEf,KAAK,MAAM,OAAO,IAAI,QAAQ,EAAE,CAAC;QAC/B,IAAI,OAAO,CAAC,OAAO,KAAK,KAAK,EAAE,CAAC;YAC9B,SAAQ;QACV,CAAC;QACD,MAAM,aAAa,GAAG,gBAAgB,CAAC,OAAO,CAAC,UAAU,EAAE,MAAM,CAAC,IAAI,CAAC,CAAC,CAAA;QACxE,MAAM,eAAe,GAAG,OAAO,OAAO,CAAC,UAAU,EAAE,MAAM,EAAE,SAAS,KAAK,QAAQ;YAC/E,CAAC,CAAC,OAAO,CAAC,UAAU,CAAC,MAAM,CAAC,SAAS;YACrC,CAAC,CAAC,CAAC,CAAC,CAAA;QACN,MAAM,WAAW,GAAG,gBAAgB,CAAC,OAAO,CAAC,UAAU,EAAE,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAA;QAExE,IAAI,aAAa,GAAG,CAAC,IAAI,eAAe,GAAG,CAAC,IAAI,WAAW,GAAG,CAAC,EAAE,CAAC;YAChE,SAAQ;QACV,CAAC;QAED,IACE,CAAC,IAAI;YACL,aAAa,GAAG,IAAI,CAAC,aAAa;YAClC,CAAC,aAAa,KAAK,IAAI,CAAC,aAAa,IAAI,eAAe,GAAG,IAAI,CAAC,eAAe,CAAC;YAChF,CACE,aAAa,KAAK,IAAI,CAAC,aAAa;gBACpC,eAAe,KAAK,IAAI,CAAC,eAAe;gBACxC,WAAW,GAAG,IAAI,CAAC,WAAW,CAC/B,EACD,CAAC;YACD,IAAI,GAAG,EAAE,KAAK,EAAE,OAAO,CAAC,KAAK,EAAE,aAAa,EAAE,eAAe,EAAE,WAAW,EAAE,CAAA;QAC9E,CAAC;IACH,CAAC;IACD,OAAO,IAAI,EAAE,KAAK,IAAI,IAAI,CAAA;AAC5B,CAAC;AAED,SAAS,sBAAsB;IAC7B,MAAM,QAAQ,GAAG,OAAO,CAAC,GAAG,CAAC,qBAAqB,CAAC,CAAA;IACnD,IAAI,QAAQ,IAAI,QAAQ,CAAC,IAAI,EAAE;QAAE,OAAO,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,IAAI,EAAE,CAAC,CAAA;IACrE,OAAO,IAAI,CAAC,OAAO,CAAC,UAAU,EAAE,IAAI,EAAE,YAAY,EAAE,eAAe,CAAC,CAAA;AACtE,CAAC;AAED,SAAS,2BAA2B;IAClC,MAAM,QAAQ,GAAG,OAAO,CAAC,GAAG,CAAC,0BAA0B,CAAC,CAAA;IACxD,IAAI,QAAQ,IAAI,QAAQ,CAAC,IAAI,EAAE;QAAE,OAAO,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,IAAI,EAAE,CAAC,CAAA;IACrE,OAAO,mCAAmC,CAAA;AAC5C,CAAC;AAED,SAAS,sBAAsB;IAC7B,MAAM,QAAQ,GAAG,OAAO,CAAC,GAAG,CAAC,qBAAqB,CAAC,CAAA;IACnD,IAAI,QAAQ,IAAI,QAAQ,CAAC,IAAI,EAAE;QAAE,OAAO,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,IAAI,EAAE,CAAC,CAAA;IACrE,IAAI,EAAE,CAAC,UAAU,CAAC,8BAA8B,CAAC,EAAE,CAAC;QAClD,OAAO,8BAA8B,CAAA;IACvC,CAAC;IACD,OAAO,SAAS,CAAA;AAClB,CAAC;AAED,SAAS,iBAAiB,CAAC,KAAa;IACtC,MAAM,OAAO,GAAG,KAAK;SAClB,IAAI,EAAE;SACN,WAAW,EAAE;SACb,OAAO,CAAC,gBAAgB,EAAE,GAAG,CAAC;SAC9B,OAAO,CAAC,UAAU,EAAE,EAAE,CAAC,CAAA;IAC1B,OAAO,OAAO,IAAI,SAAS,CAAA;AAC7B,CAAC;AAED,SAAS,6BAA6B,CAAC,eAAuB;IAC5D,MAAM,GAAG,GAAG,IAAI,CAAC,OAAO,CAAC,eAAe,CAAC,CAAA;IACzC,EAAE,CAAC,SAAS,CAAC,GAAG,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC,CAAA;IACnD,IAAI,CAAC;QACH,EAAE,CAAC,SAAS,CAAC,GAAG,EAAE,KAAK,CAAC,CAAA;IAC1B,CAAC;IAAC,MAAM,CAAC;QACP,yCAAyC;IAC3C,CAAC;AACH,CAAC;AAED,SAAS,4BAA4B,CAAC,eAAe,GAAG,2BAA2B,EAAE;IACnF,IAAI,CAAC,EAAE,CAAC,UAAU,CAAC,eAAe,CAAC,EAAE,CAAC;QACpC,OAAO,EAAE,QAAQ,EAAE,EAAE,EAAE,CAAA;IACzB,CAAC;IACD,MAAM,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,YAAY,CAAC,eAAe,EAAE,OAAO,CAAC,CAA6B,CAAA;IAChG,OAAO;QACL,QAAQ,EAAE,MAAM,IAAI,OAAO,MAAM,CAAC,QAAQ,KAAK,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC,SAAS;QACrF,QAAQ,EAAE,KAAK,CAAC,OAAO,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE;KACjE,CAAA;AACH,CAAC;AAED,SAAS,6BAA6B,CAAC,eAAuB,EAAE,IAA8B;IAC5F,6BAA6B,CAAC,eAAe,CAAC,CAAA;IAC9C,EAAE,CAAC,aAAa,CAAC,eAAe,EAAE,GAAG,IAAI,CAAC,SAAS,CAAC,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC,CAAA;IACxF,IAAI,CAAC;QACH,EAAE,CAAC,SAAS,CAAC,eAAe,EAAE,KAAK,CAAC,CAAA;IACtC,CAAC;IAAC,MAAM,CAAC;QACP,yCAAyC;IAC3C,CAAC;AACH,CAAC;AAED,SAAS,0BAA0B,CAAC,KAA2B;IAC7D,MAAM,KAAK,GAAG,KAAK,CAAC,KAAK,CAAC,IAAI,EAAE,CAAA;IAChC,IAAI,CAAC,KAAK,EAAE,CAAC;QACX,MAAM,IAAI,KAAK,CAAC,qBAAqB,CAAC,CAAA;IACxC,CAAC;IACD,MAAM,QAAQ,GAAG,KAAK,CAAC,QAAQ,CAAC,IAAI,EAAE,CAAA;IACtC,IAAI,CAAC,QAAQ,EAAE,CAAC;QACd,MAAM,IAAI,KAAK,CAAC,kBAAkB,CAAC,CAAA;IACrC,CAAC;IAED,MAAM,UAAU,GAAG,sBAAsB,EAAE,CAAA;IAC3C,IAAI,CAAC,EAAE,CAAC,UAAU,CAAC,UAAU,CAAC,EAAE,CAAC;QAC/B,MAAM,IAAI,KAAK,CAAC,yBAAyB,CAAC,CAAA;IAC5C,CAAC;IAED,MAAM,eAAe,GAAG,2BAA2B,EAAE,CAAA;IACrD,MAAM,IAAI,GAAG,4BAA4B,CAAC,eAAe,CAAC,CAAA;IAC1D,MAAM,QAAQ,GAAG,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,EAAE,CAAA;IACvE,MAAM,aAAa,GAAG,QAAQ,CAAC,SAAS,CAAC,CAAC,KAAK,EAAE,EAAE,CACjD,OAAO,KAAK,CAAC,KAAK,KAAK,QAAQ,IAAI,KAAK,CAAC,KAAK,CAAC,WAAW,EAAE,KAAK,KAAK,CAAC,WAAW,EAAE,CACrF,CAAA;IACD,MAAM,QAAQ,GAAG,aAAa,IAAI,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,SAAS,CAAA;IACzE,MAAM,WAAW,GACf,KAAK,CAAC,KAAK,EAAE,IAAI,EAAE;QACnB,QAAQ,EAAE,KAAK,EAAE,IAAI,EAAE;QACvB,QAAQ,EAAE,EAAE,EAAE,IAAI,EAAE;QACpB,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;QACnB,KAAK,CAAA;IACP,MAAM,KAAK,GAAG,iBAAiB,CAAC,WAAW,CAAC,CAAA;IAC5C,MAAM,eAAe,GACnB,KAAK,CAAC,eAAe,EAAE,IAAI,EAAE;QAC7B,QAAQ,EAAE,gBAAgB,EAAE,IAAI,EAAE;QAClC,IAAI,CAAC,QAAQ,EAAE,gBAAgB,EAAE,IAAI,EAAE;QACvC,QAAQ,CAAA;IAEV,MAAM,WAAW,GAAgC;QAC/C,GAAG,QAAQ;QACX,EAAE,EAAE,QAAQ,EAAE,EAAE,IAAI,KAAK;QACzB,KAAK;QACL,KAAK;QACL,gBAAgB,EAAE,QAAQ;QAC1B,gBAAgB,EAAE,eAAe;QACjC,OAAO,EAAE,IAAI;KACd,CAAA;IAED,IAAI,aAAa,IAAI,CAAC,EAAE,CAAC;QACvB,QAAQ,CAAC,aAAa,CAAC,GAAG,WAAW,CAAA;IACvC,CAAC;SAAM,CAAC;QACN,QAAQ,CAAC,IAAI,CAAC,WAAW,CAAC,CAAA;IAC5B,CAAC;IAED,6BAA6B,CAAC,eAAe,EAAE;QAC7C,GAAG,IAAI;QACP,QAAQ;KACT,CAAC,CAAA;IAEF,OAAO;QACL,KAAK;QACL,KAAK;QACL,OAAO,EAAE,IAAI;KACd,CAAA;AACH,CAAC;AAED,SAAS,mBAAmB;IAC1B,MAAM,SAAS,GAAG,2BAA2B,EAAE,CAAA;IAC/C,MAAM,UAAU,GAAG,sBAAsB,EAAE,CAAA;IAC3C,MAAM,MAAM,GAAyB;QACnC,IAAI,EAAE,SAAS;QACf,UAAU;QACV,UAAU,EAAE,sBAAsB,EAAE;QACpC,UAAU,EAAE,KAAK;QACjB,QAAQ,EAAE,EAAE;KACb,CAAA;IAED,IAAI,CAAC,EAAE,CAAC,UAAU,CAAC,UAAU,CAAC,EAAE,CAAC;QAC/B,OAAO,EAAE,GAAG,MAAM,EAAE,KAAK,EAAE,yBAAyB,EAAE,CAAA;IACxD,CAAC;IAED,IAAI,CAAC,EAAE,CAAC,UAAU,CAAC,SAAS,CAAC,EAAE,CAAC;QAC9B,OAAO,EAAE,GAAG,MAAM,EAAE,KAAK,EAAE,4BAA4B,EAAE,CAAA;IAC3D,CAAC;IAED,IAAI,CAAC;QACH,MAAM,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,YAAY,CAAC,SAAS,EAAE,OAAO,CAAC,CAAkD,CAAA;QAC/G,MAAM,QAAQ,GAAG,KAAK,CAAC,OAAO,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE,CAAA;QACvE,MAAM,IAAI,GAAG,QAAQ;aAClB,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE;YACb,MAAM,KAAK,GAAG,OAAO,KAAK,CAAC,KAAK,KAAK,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC,KAAK,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,CAAA;YACvE,IAAI,CAAC,KAAK;gBAAE,OAAO,IAAI,CAAA;YACvB,MAAM,WAAW,GACf,CAAC,OAAO,KAAK,CAAC,KAAK,KAAK,QAAQ,IAAI,KAAK,CAAC,KAAK,CAAC,IAAI,EAAE,CAAC;gBACvD,CAAC,OAAO,KAAK,CAAC,EAAE,KAAK,QAAQ,IAAI,KAAK,CAAC,EAAE,CAAC,IAAI,EAAE,CAAC;gBACjD,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAA;YACrB,OAAO;gBACL,KAAK,EAAE,iBAAiB,CAAC,WAAW,CAAC;gBACrC,KAAK;gBACL,OAAO,EAAE,KAAK,CAAC,OAAO,KAAK,KAAK;aACF,CAAA;QAClC,CAAC,CAAC;aACD,MAAM,CAAC,CAAC,KAAK,EAAiC,EAAE,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;aAChE,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,aAAa,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAA;QAEjD,IAAI,IAAI,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YACtB,OAAO,EAAE,GAAG,MAAM,EAAE,KAAK,EAAE,iCAAiC,EAAE,CAAA;QAChE,CAAC;QAED,OAAO;YACL,GAAG,MAAM;YACT,UAAU,EAAE,IAAI;YAChB,QAAQ,EAAE,IAAI;SACf,CAAA;IACH,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,OAAO,EAAE,GAAG,MAAM,EAAE,KAAK,EAAE,qCAAqC,GAAG,EAAE,EAAE,CAAA;IACzE,CAAC;AACH,CAAC;AAED,SAAS,oBAAoB,CAAC,MAA4B,EAAE,QAAgB;IAC1E,MAAM,UAAU,GAAG,QAAQ,CAAC,IAAI,EAAE,CAAC,WAAW,EAAE,CAAA;IAChD,IAAI,CAAC,UAAU;QAAE,OAAO,IAAI,CAAA;IAC5B,OAAO,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,OAAO,EAAE,EAAE,CACtC,OAAO,CAAC,KAAK,CAAC,WAAW,EAAE,KAAK,UAAU,IAAI,OAAO,CAAC,KAAK,CAAC,WAAW,EAAE,KAAK,UAAU,CACzF,IAAI,IAAI,CAAA;AACX,CAAC;AAED,SAAS,qBAAqB,CAAC,KAAmC,EAAE,OAA6B;IAC/F,MAAM,QAAQ,GAAG,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC,IAAI,CAAC,CAAC,KAAK,EAAE,EAAE,CAC5D,OAAO,KAAK,CAAC,KAAK,KAAK,QAAQ,IAAI,KAAK,CAAC,KAAK,CAAC,WAAW,EAAE,KAAK,OAAO,CAAC,KAAK,CAAC,WAAW,EAAE,CAC7F,CAAA;IACD,IAAI,QAAQ,EAAE,CAAC;QACb,OAAO,QAAQ,CAAC,KAAK,CAAA;IACvB,CAAC;IAED,MAAM,IAAI,GAAG,iBAAiB,CAAC,OAAO,CAAC,KAAK,IAAI,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAA;IAC5E,IAAI,SAAS,GAAG,IAAI,CAAA;IACpB,IAAI,KAAK,GAAG,CAAC,CAAA;IACb,OAAO,KAAK,CAAC,QAAQ,CAAC,SAAS,CAAC,EAAE,CAAC;QACjC,SAAS,GAAG,GAAG,IAAI,IAAI,KAAK,EAAE,CAAA;QAC9B,KAAK,IAAI,CAAC,CAAA;IACZ,CAAC;IACD,OAAO,SAAS,CAAA;AAClB,CAAC;AAED,SAAS,eAAe,CAAC,KAA+B;IACtD,YAAY,GAAG,KAAK,CAAA;AACtB,CAAC;AAED,SAAS,kBAAkB,CAAC,KAAiC;IAC3D,IAAI,CAAC,YAAY;QAAE,OAAM;IACzB,YAAY,GAAG;QACb,GAAG,YAAY;QACf,GAAG,KAAK;QACR,MAAM,EAAE,KAAK,CAAC,MAAM,IAAI,YAAY,CAAC,MAAM;KAC5C,CAAA;AACH,CAAC;AAED,SAAS,wBAAwB,CAAC,IAAY;IAC5C,MAAM,UAAU,GAAG,IAAI;SACpB,OAAO,CAAC,iBAAiB,EAAE,EAAE,CAAC;SAC9B,IAAI,EAAE,CAAA;IACT,IAAI,CAAC,UAAU,IAAI,CAAC,YAAY;QAAE,OAAM;IACxC,MAAM,MAAM,GAAG,CAAC,GAAG,YAAY,CAAC,MAAM,EAAE,UAAU,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAA;IAC7D,kBAAkB,CAAC;QACjB,MAAM;QACN,IAAI,EAAE,UAAU;QAChB,MAAM,EAAE,UAAU,CAAC,WAAW,EAAE,CAAC,QAAQ,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,kBAAkB,CAAC,CAAC,CAAC,SAAS;KACvF,CAAC,CAAA;AACJ,CAAC;AAED,SAAS,kBAAkB;IACzB,IAAI,cAAc,IAAI,CAAC,cAAc,CAAC,MAAM,EAAE,CAAC;QAC7C,cAAc,CAAC,IAAI,CAAC,SAAS,CAAC,CAAA;IAChC,CAAC;IACD,cAAc,GAAG,IAAI,CAAA;AACvB,CAAC;AAED,SAAS,mBAAmB,CAC1B,MAAgD,EAChD,MAA8B;IAE9B,IAAI,CAAC,MAAM;QAAE,OAAM;IACnB,IAAI,QAAQ,GAAG,EAAE,CAAA;IACjB,MAAM,CAAC,WAAW,CAAC,MAAM,CAAC,CAAA;IAC1B,MAAM,CAAC,EAAE,CAAC,MAAM,EAAE,CAAC,KAAa,EAAE,EAAE;QAClC,QAAQ,IAAI,KAAK,CAAA;QACjB,IAAI,YAAY,GAAG,QAAQ,CAAC,OAAO,CAAC,IAAI,CAAC,CAAA;QACzC,OAAO,YAAY,IAAI,CAAC,EAAE,CAAC;YACzB,MAAM,IAAI,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAC,EAAE,YAAY,CAAC,CAAC,IAAI,EAAE,CAAA;YACnD,QAAQ,GAAG,QAAQ,CAAC,KAAK,CAAC,YAAY,GAAG,CAAC,CAAC,CAAA;YAC3C,IAAI,IAAI;gBAAE,MAAM,CAAC,IAAI,CAAC,CAAA;YACtB,YAAY,GAAG,QAAQ,CAAC,OAAO,CAAC,IAAI,CAAC,CAAA;QACvC,CAAC;IACH,CAAC,CAAC,CAAA;IACF,MAAM,CAAC,EAAE,CAAC,KAAK,EAAE,GAAG,EAAE;QACpB,MAAM,IAAI,GAAG,QAAQ,CAAC,IAAI,EAAE,CAAA;QAC5B,IAAI,IAAI;YAAE,MAAM,CAAC,IAAI,CAAC,CAAA;IACxB,CAAC,CAAC,CAAA;AACJ,CAAC;AAED,SAAS,gBAAgB,CAAC,KAAa;IACrC,IAAI,YAAY,EAAE,CAAC;QACjB,MAAM,IAAI,KAAK,CAAC,iCAAiC,YAAY,CAAC,KAAK,EAAE,CAAC,CAAA;IACxE,CAAC;IAED,OAAO,uBAAuB,EAAE,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,EAAE;QAC7C,eAAe,CAAC;YACd,KAAK;YACL,SAAS,EAAE,IAAI,CAAC,GAAG,EAAE;YACrB,GAAG,EAAE,IAAI,CAAC,GAAG;YACb,IAAI,EAAE,QAAQ;YACd,MAAM,EAAE,SAAS;YACjB,IAAI,EAAE,8BAA8B;YACpC,MAAM,EAAE,EAAE;SACX,CAAC,CAAA;QACF,cAAc,GAAG,IAAI,CAAA;QACrB,YAAY,CAAC,KAAK,EAAE,IAAI,EAAE,EAAE,SAAS,EAAE,gBAAgB,EAAE,CAAC;aACvD,IAAI,CAAC,GAAG,EAAE;YACT,OAAO,CAAC,uBAAuB,KAAK,EAAE,CAAC,CAAA;YACvC,eAAe,CAAC,IAAI,CAAC,CAAA;QACvB,CAAC,CAAC;aACD,KAAK,CAAC,CAAC,GAAG,EAAE,EAAE;YACb,cAAc,GAAG,MAAM,CAAC,GAAG,CAAC,CAAA;YAC5B,QAAQ,CAAC,oBAAoB,KAAK,KAAK,GAAG,EAAE,CAAC,CAAA;YAC7C,eAAe,CAAC,IAAI,CAAC,CAAA;QACvB,CAAC,CAAC,CAAA;QACJ,OAAO,EAAE,EAAE,EAAE,IAAa,EAAE,GAAG,EAAE,IAAI,CAAC,GAAG,EAAE,CAAA;IAC7C,CAAC,CAAC,CAAA;AACJ,CAAC;AAED,KAAK,UAAU,cAAc,CAAC,QAAgB,EAAE,OAAO,GAAG,KAAK;IAC7D,IAAI,YAAY,EAAE,CAAC;QACjB,MAAM,IAAI,KAAK,CAAC,iCAAiC,YAAY,CAAC,KAAK,EAAE,CAAC,CAAA;IACxE,CAAC;IAED,MAAM,MAAM,GAAG,mBAAmB,EAAE,CAAA;IACpC,IAAI,CAAC,MAAM,CAAC,UAAU,EAAE,CAAC;QACvB,MAAM,IAAI,KAAK,CAAC,MAAM,CAAC,KAAK,IAAI,8BAA8B,CAAC,CAAA;IACjE,CAAC;IAED,MAAM,QAAQ,GAAG,oBAAoB,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAA;IACvD,IAAI,CAAC,QAAQ,EAAE,CAAC;QACd,MAAM,IAAI,KAAK,CAAC,4BAA4B,CAAC,CAAA;IAC/C,CAAC;IACD,IAAI,CAAC,QAAQ,CAAC,OAAO,EAAE,CAAC;QACtB,MAAM,IAAI,KAAK,CAAC,yCAAyC,CAAC,CAAA;IAC5D,CAAC;IAED,MAAM,KAAK,GAAG,SAAS,EAAE,CAAA;IACzB,MAAM,KAAK,GAAG,qBAAqB,CAAC,KAAK,EAAE,QAAQ,CAAC,CAAA;IACpD,MAAM,IAAI,GAAG,MAAM,uBAAuB,EAAE,CAAA;IAE5C,eAAe,CAAC;QACd,KAAK;QACL,KAAK,EAAE,QAAQ,CAAC,KAAK;QACrB,SAAS,EAAE,IAAI,CAAC,GAAG,EAAE;QACrB,GAAG,EAAE,IAAI,CAAC,GAAG;QACb,IAAI,EAAE,MAAM;QACZ,MAAM,EAAE,UAAU;QAClB,IAAI,EAAE,4DAA4D;QAClE,MAAM,EAAE,EAAE;KACX,CAAC,CAAA;IACF,cAAc,GAAG,IAAI,CAAA;IAErB,IAAI,YAAY,GAAG,KAAK,CAAA;IACxB,MAAM,YAAY,GAAG,YAAY,CAAC,KAAK,EAAE,IAAI,EAAE,EAAE,SAAS,EAAE,qBAAqB,EAAE,CAAC;SACjF,IAAI,CAAC,GAAG,EAAE;QACT,YAAY,GAAG,IAAI,CAAA;QACnB,kBAAkB,EAAE,CAAA;QACpB,OAAO,CAAC,4BAA4B,KAAK,KAAK,QAAQ,CAAC,KAAK,GAAG,CAAC,CAAA;QAChE,eAAe,CAAC,IAAI,CAAC,CAAA;IACvB,CAAC,CAAC;SACD,KAAK,CAAC,CAAC,GAAG,EAAE,EAAE;QACb,YAAY,GAAG,IAAI,CAAA;QACnB,kBAAkB,EAAE,CAAA;QACpB,cAAc,GAAG,MAAM,CAAC,GAAG,CAAC,CAAA;QAC5B,QAAQ,CAAC,yBAAyB,KAAK,KAAK,QAAQ,CAAC,KAAK,MAAM,GAAG,EAAE,CAAC,CAAA;QACtE,eAAe,CAAC,IAAI,CAAC,CAAA;IACvB,CAAC,CAAC,CAAA;IAEJ,cAAc,GAAG,KAAK,CACpB,MAAM,CAAC,UAAU,EACjB;QACE,IAAI;QACJ,MAAM,CAAC,UAAU;QACjB,SAAS;QACT,QAAQ,CAAC,KAAK;QACd,YAAY;QACZ,IAAI,CAAC,GAAG;QACR,oBAAoB;QACpB,MAAM,CAAC,IAAI;QACX,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;KAClC,EACD;QACE,KAAK,EAAE,CAAC,QAAQ,EAAE,MAAM,EAAE,MAAM,CAAC;KAClC,CACF,CAAA;IAED,kBAAkB,CAAC;QACjB,GAAG,EAAE,cAAc,CAAC,GAAG,IAAI,SAAS;QACpC,MAAM,EAAE,SAAS;KAClB,CAAC,CAAA;IAEF,mBAAmB,CAAC,cAAc,CAAC,MAAM,EAAE,CAAC,IAAI,EAAE,EAAE;QAClD,wBAAwB,CAAC,IAAI,CAAC,CAAA;IAChC,CAAC,CAAC,CAAA;IACF,mBAAmB,CAAC,cAAc,CAAC,MAAM,EAAE,CAAC,IAAI,EAAE,EAAE;QAClD,wBAAwB,CAAC,YAAY,IAAI,EAAE,CAAC,CAAA;IAC9C,CAAC,CAAC,CAAA;IAEF,cAAc,CAAC,EAAE,CAAC,OAAO,EAAE,CAAC,GAAG,EAAE,EAAE;QACjC,wBAAwB,CAAC,kBAAkB,GAAG,CAAC,OAAO,EAAE,CAAC,CAAA;IAC3D,CAAC,CAAC,CAAA;IAEF,cAAc,CAAC,EAAE,CAAC,MAAM,EAAE,CAAC,IAAI,EAAE,MAAM,EAAE,EAAE;QACzC,IAAI,CAAC,YAAY,IAAI,YAAY,CAAC,IAAI,KAAK,MAAM,IAAI,YAAY,CAAC,KAAK,KAAK,KAAK,EAAE,CAAC;YAClF,cAAc,GAAG,IAAI,CAAA;YACrB,OAAM;QACR,CAAC;QACD,cAAc,GAAG,IAAI,CAAA;QACrB,IAAI,YAAY,EAAE,CAAC;YACjB,OAAM;QACR,CAAC;QACD,IAAI,IAAI,KAAK,CAAC,EAAE,CAAC;YACf,kBAAkB,CAAC;gBACjB,MAAM,EAAE,kBAAkB;gBAC1B,IAAI,EAAE,4DAA4D;aACnE,CAAC,CAAA;YACF,OAAM;QACR,CAAC;QAED,MAAM,MAAM,GAAG,MAAM,CAAC,CAAC,CAAC,UAAU,MAAM,EAAE,CAAC,CAAC,CAAC,QAAQ,IAAI,IAAI,SAAS,EAAE,CAAA;QACxE,wBAAwB,CAAC,kCAAkC,MAAM,GAAG,CAAC,CAAA;QACrE,cAAc,GAAG,6CAA6C,MAAM,EAAE,CAAA;QACtE,kBAAkB,CAAC;YACjB,MAAM,EAAE,kBAAkB;YAC1B,IAAI,EAAE,0FAA0F;SACjG,CAAC,CAAA;IACJ,CAAC,CAAC,CAAA;IAEF,KAAK,YAAY,CAAA;IAEjB,OAAO;QACL,EAAE,EAAE,IAAI;QACR,KAAK;QACL,KAAK,EAAE,QAAQ,CAAC,KAAK;QACrB,GAAG,EAAE,IAAI,CAAC,GAAG;KACd,CAAA;AACH,CAAC;AAED,KAAK,UAAU,4BAA4B,CAAC,KAA2B;IACrE,MAAM,OAAO,GAAG,0BAA0B,CAAC,KAAK,CAAC,CAAA;IACjD,OAAO,cAAc,CAAC,OAAO,CAAC,KAAK,CAAC,CAAA;AACtC,CAAC;AAED,SAAS,OAAO;IACd,IAAI,CAAC;QACH,MAAM,MAAM,GAAG,iBAAiB,EAAE,CAAA;QAClC,MAAM,UAAU,GAAG,kBAAkB,EAAE,CAAA;QACvC,UAAU,GAAG,IAAI,CAAC,GAAG,EAAE,CAAA;QACvB,aAAa,GAAG,UAAU,CAAC,KAAK,CAAA;QAChC,aAAa,GAAG,MAAM,CAAC,KAAK,IAAI,IAAI,CAAA;QACpC,IAAI,MAAM,CAAC,OAAO,IAAI,MAAM,CAAC,KAAK,EAAE,CAAC;YACnC,OAAO,CAAC,qBAAqB,MAAM,CAAC,KAAK,IAAI,MAAM,GAAG,CAAC,CAAA;QACzD,CAAC;QACD,IAAI,UAAU,CAAC,KAAK,EAAE,CAAC;YACrB,QAAQ,CAAC,UAAU,CAAC,KAAK,CAAC,CAAA;QAC5B,CAAC;IACH,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,aAAa,GAAG,MAAM,CAAC,GAAG,CAAC,CAAA;QAC3B,QAAQ,CAAC,gBAAgB,aAAa,EAAE,CAAC,CAAA;IAC3C,CAAC;AACH,CAAC;AAgDD,SAAS,uBAAuB;IAO9B,MAAM,MAAM,GAAG,EAAE,IAAI,EAAE,yBAAyB,EAAE,QAAQ,EAAE,EAA8B,EAAE,MAAM,EAAE,IAAI,CAAC,GAAG,EAAE,EAAE,CAAA;IAChH,IAAI,CAAC,EAAE,CAAC,UAAU,CAAC,yBAAyB,CAAC,EAAE,CAAC;QAC9C,OAAO,EAAE,GAAG,MAAM,EAAE,KAAK,EAAE,qCAAqC,EAAE,CAAA;IACpE,CAAC;IACD,IAAI,CAAC;QACH,MAAM,GAAG,GAAG,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,YAAY,CAAC,yBAAyB,EAAE,OAAO,CAAC,CAAQ,CAAA;QAClF,MAAM,WAAW,GAAG,OAAO,GAAG,EAAE,WAAW,KAAK,QAAQ,CAAC,CAAC,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC,CAAC,SAAS,CAAA;QACtF,MAAM,QAAQ,GAAG,KAAK,CAAC,OAAO,CAAC,GAAG,EAAE,QAAQ,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE,CAAA;QACjE,MAAM,IAAI,GAAG,QAAQ,CAAC,GAAG,CAAC,CAAC,GAAQ,EAAE,KAAa,EAAE,EAAE,CAAC,CAAC;YACtD,KAAK;YACL,KAAK,EAAE,GAAG,EAAE,SAAS,IAAI,GAAG,EAAE,gBAAgB;YAC9C,SAAS,EAAE,GAAG,EAAE,SAAS;YACzB,gBAAgB,EAAE,GAAG,EAAE,gBAAgB;YACvC,OAAO,EAAE,GAAG,EAAE,OAAO;YACrB,QAAQ,EAAE,GAAG,EAAE,QAAQ;YACvB,eAAe,EAAE,OAAO,CAAC,GAAG,EAAE,YAAY,CAAC;YAC3C,mBAAmB,EAAE,GAAG,EAAE,mBAAmB,IAAI,OAAO,GAAG,CAAC,mBAAmB,KAAK,QAAQ;gBAC1F,CAAC,CAAC,GAAG,CAAC,mBAAmB;gBACzB,CAAC,CAAC,SAAS;SACd,CAAC,CAAC,CAAA;QACH,OAAO,EAAE,GAAG,MAAM,EAAE,WAAW,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAA;IACnD,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,OAAO,EAAE,GAAG,MAAM,EAAE,KAAK,EAAE,yCAAyC,GAAG,EAAE,EAAE,CAAA;IAC7E,CAAC;AACH,CAAC;AAED,SAAS,wBAAwB,CAAC,IAAY;IAC5C,MAAM,KAAK,GAAG,IAAI,CAAC,WAAW,EAAE,CAAA;IAChC,IAAI,KAAK,CAAC,QAAQ,CAAC,aAAa,CAAC;QAAE,OAAO,IAAI,CAAA;IAC9C,OAAO,iCAAiC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;AACrD,CAAC;AAED,SAAS,yBAAyB;IAChC,IAAI,OAAO,CAAC,QAAQ,KAAK,QAAQ,EAAE,CAAC;QAClC,OAAO,wBAAwB,OAAO,CAAC,IAAI,KAAK,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAA;IACzE,CAAC;IACD,IAAI,OAAO,CAAC,QAAQ,KAAK,OAAO,EAAE,CAAC;QACjC,OAAO,wBAAwB,OAAO,CAAC,IAAI,KAAK,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,EAAE,CAAA;IAC7E,CAAC;IACD,IAAI,OAAO,CAAC,QAAQ,KAAK,OAAO,EAAE,CAAC;QACjC,OAAO,iCAAiC,CAAA;IAC1C,CAAC;IACD,OAAO,IAAI,CAAA;AACb,CAAC;AAED,KAAK,UAAU,4BAA4B;IACzC,MAAM,WAAW,GAAG,yBAAyB,EAAE,CAAA;IAC/C,IAAI,CAAC,WAAW,EAAE,CAAC;QACjB,MAAM,IAAI,KAAK,CAAC,6CAA6C,CAAC,CAAA;IAChE,CAAC;IACD,IAAI,OAAO,CAAC,QAAQ,KAAK,OAAO,EAAE,CAAC;QACjC,MAAM,IAAI,KAAK,CAAC,gEAAgE,CAAC,CAAA;IACnF,CAAC;IAED,MAAM,GAAG,GAAG,OAAO,CAAC,QAAQ,KAAK,QAAQ,CAAC,CAAC,CAAC,aAAa,WAAW,EAAE,CAAC,CAAC,CAAC,aAAa,WAAW,EAAE,CAAA;IACnG,MAAM,EAAE,MAAM,EAAE,GAAG,MAAM,SAAS,CAAC,GAAG,CAAC,CAAA;IACvC,MAAM,KAAK,GAAG,MAAM;SACjB,KAAK,CAAC,IAAI,CAAC;SACX,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC;SAC1B,MAAM,CAAC,OAAO,CAAC,CAAA;IAElB,MAAM,UAAU,GAAG,KAAK,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,QAAQ,CAAC,cAAc,CAAC,CAAC,CAAA;IACxE,IAAI,UAAU,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QAC5B,OAAO,IAAI,CAAA;IACb,CAAC;IAED,MAAM,OAAO,GAAG;QACd,GAAG,UAAU,CAAC,MAAM,CAAC,wBAAwB,CAAC;QAC9C,GAAG,UAAU,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,wBAAwB,CAAC,IAAI,CAAC,CAAC;KAChE,CAAA;IAED,KAAK,MAAM,IAAI,IAAI,OAAO,EAAE,CAAC;QAC3B,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,CAAA;QAC/B,MAAM,GAAG,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAA;QAC5B,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE,CAAC;YAC1B,SAAQ;QACV,CAAC;QACD,MAAM,SAAS,GAAG,IAAI,CAAC,KAAK,CAAC,oCAAoC,CAAC,CAAA;QAClE,MAAM,UAAU,GAAG,IAAI,CAAC,KAAK,CAAC,oCAAoC,CAAC,CAAA;QACnE,IAAI,CAAC,UAAU,EAAE,CAAC;YAChB,SAAQ;QACV,CAAC;QACD,MAAM,aAAa,GAAG,SAAS,CAAC,CAAC,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAA;QAC1D,MAAM,SAAS,GAAG,UAAU,CAAC,CAAC,CAAC,CAAA;QAC/B,MAAM,KAAK,GAAG,MAAM,kBAAkB,CAAC,GAAG,CAAC,CAAA;QAC3C,MAAM,WAAW,GAAG,MAAM,eAAe,CAAC,KAAK,EAAE,SAAS,CAAC,CAAA;QAC3D,MAAM,WAAW,GAAG,WAAW,IAAI,CAAC,aAAa,GAAG,CAAC,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,CAAC,CAAA;QAC1E,IAAI,CAAC,WAAW,EAAE,CAAC;YACjB,OAAO,IAAI,CAAA;QACb,CAAC;QACD,OAAO,EAAE,GAAG,EAAE,aAAa,EAAE,SAAS,EAAE,WAAW,EAAE,CAAA;IACvD,CAAC;IAED,OAAO,IAAI,CAAA;AACb,CAAC;AAED,KAAK,UAAU,kBAAkB,CAAC,GAAW;IAC3C,IAAI,CAAC;QACH,MAAM,GAAG,GAAG,qCAAqC,GAAG,EAAE,CAAA;QACtD,MAAM,EAAE,MAAM,EAAE,GAAG,MAAM,SAAS,CAAC,GAAG,CAAC,CAAA;QACvC,MAAM,KAAK,GAAG,IAAI,GAAG,EAAU,CAAA;QAC/B,MAAM,KAAK,GAAG,sBAAsB,CAAA;QACpC,IAAI,KAA6B,CAAA;QACjC,OAAO,CAAC,KAAK,GAAG,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,KAAK,IAAI,EAAE,CAAC;YAC7C,MAAM,IAAI,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAA;YAC7B,IAAI,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC;gBAC1B,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,CAAA;YACjB,CAAC;QACH,CAAC;QACD,OAAO,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,CAAA;IACzD,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,EAAE,CAAA;IACX,CAAC;AACH,CAAC;AAED,SAAS,kBAAkB,CAAI,IAAY,EAAE,SAAiB,EAAE,QAAgB,EAAE,IAAY;IAC5F,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;QACrC,MAAM,OAAO,GAAG,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,CAAA;QACpC,MAAM,GAAG,GAAG,KAAK,CAAC,OAAO,CACvB;YACE,QAAQ,EAAE,WAAW;YACrB,IAAI;YACJ,IAAI,EAAE,QAAQ;YACd,MAAM,EAAE,MAAM;YACd,OAAO,EAAE;gBACP,cAAc,EAAE,kBAAkB;gBAClC,gBAAgB,EAAE,MAAM,CAAC,UAAU,CAAC,OAAO,CAAC;gBAC5C,0BAA0B,EAAE,GAAG;gBAC/B,sBAAsB,EAAE,SAAS;aAClC;YACD,kBAAkB,EAAE,KAAK;YACzB,OAAO,EAAE,IAAI;SACd,EACD,CAAC,GAAG,EAAE,EAAE;YACN,IAAI,IAAI,GAAG,EAAE,CAAA;YACb,GAAG,CAAC,EAAE,CAAC,MAAM,EAAE,CAAC,KAAK,EAAE,EAAE,GAAG,IAAI,IAAI,KAAK,CAAA,CAAC,CAAC,CAAC,CAAA;YAC5C,GAAG,CAAC,EAAE,CAAC,KAAK,EAAE,GAAG,EAAE;gBACjB,IAAI,CAAC;oBACH,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAM,CAAC,CAAA;gBAChC,CAAC;gBAAC,MAAM,CAAC;oBACP,MAAM,CAAC,IAAI,KAAK,CAAC,uBAAuB,CAAC,CAAC,CAAA;gBAC5C,CAAC;YACH,CAAC,CAAC,CAAA;QACJ,CAAC,CACF,CAAA;QACD,GAAG,CAAC,EAAE,CAAC,OAAO,EAAE,MAAM,CAAC,CAAA;QACvB,GAAG,CAAC,EAAE,CAAC,SAAS,EAAE,GAAG,EAAE;YACrB,GAAG,CAAC,OAAO,EAAE,CAAA;YACb,MAAM,CAAC,IAAI,KAAK,CAAC,iBAAiB,CAAC,CAAC,CAAA;QACtC,CAAC,CAAC,CAAA;QACF,GAAG,CAAC,KAAK,CAAC,OAAO,CAAC,CAAA;QAClB,GAAG,CAAC,GAAG,EAAE,CAAA;IACX,CAAC,CAAC,CAAA;AACJ,CAAC;AAED,KAAK,UAAU,mBAAmB,CAAC,IAAY,EAAE,SAAiB;IAChE,IAAI,CAAC;QACH,MAAM,kBAAkB,CACtB,IAAI,EACJ,SAAS,EACT,8DAA8D,EAC9D,EAAE,YAAY,EAAE,EAAE,EAAE,CACrB,CAAA;QACD,OAAO,IAAI,CAAA;IACb,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,KAAK,CAAA;IACd,CAAC;AACH,CAAC;AAED,KAAK,UAAU,eAAe,CAAC,KAAe,EAAE,SAAiB;IAC/D,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;QACzB,MAAM,EAAE,GAAG,MAAM,mBAAmB,CAAC,IAAI,EAAE,SAAS,CAAC,CAAA;QACrD,IAAI,EAAE;YAAE,OAAO,IAAI,CAAA;IACrB,CAAC;IACD,OAAO,IAAI,CAAA;AACb,CAAC;AAED,SAAS,yBAAyB,CAAC,EAAU,EAAE,SAAkB;IAC/D,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,EAAE,CAAC,IAAI,EAAE,IAAI,CAAC;QAAE,OAAO,OAAO,CAAA;IACnD,MAAM,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC,EAAE,GAAG,KAAK,CAAC,CAAA;IAClC,IAAI,QAAQ,GAAG,EAAE,CAAA;IACjB,IAAI,IAAI,GAAG,EAAE,EAAE,CAAC;QACd,QAAQ,GAAG,GAAG,IAAI,GAAG,CAAA;IACvB,CAAC;SAAM,CAAC;QACN,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,GAAG,EAAE,CAAC,CAAA;QACnC,QAAQ,GAAG,GAAG,KAAK,KAAK,IAAI,GAAG,EAAE,GAAG,CAAA;IACtC,CAAC;IACD,IAAI,CAAC,SAAS;QAAE,OAAO,QAAQ,CAAA;IAC/B,MAAM,SAAS,GAAG,IAAI,IAAI,CAAC,SAAS,CAAC,CAAA;IACrC,MAAM,OAAO,GAAG,SAAS,CAAC,kBAAkB,CAAC,SAAS,EAAE,EAAE,GAAG,EAAE,SAAS,EAAE,KAAK,EAAE,SAAS,EAAE,IAAI,EAAE,SAAS,EAAE,CAAC,CAAA;IAC9G,MAAM,OAAO,GAAG,SAAS,CAAC,kBAAkB,CAAC,SAAS,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,EAAE,KAAK,EAAE,CAAC,CAAA;IAC9G,OAAO,GAAG,QAAQ,KAAK,OAAO,IAAI,OAAO,GAAG,CAAA;AAC9C,CAAC;AAED,SAAS,4BAA4B,CAAC,GAAQ,EAAE,KAAa;IAC3D,MAAM,IAAI,GAAG,EAAE,GAAG,GAAG,EAAE,CAAA;IACvB,IAAI,CAAC,WAAW,GAAG,KAAK,CAAA;IACxB,IAAI,IAAI,CAAC,mBAAmB,IAAI,OAAO,IAAI,CAAC,mBAAmB,KAAK,QAAQ,EAAE,CAAC;QAC7E,IAAI,CAAC,mBAAmB,GAAG,EAAE,GAAG,IAAI,CAAC,mBAAmB,EAAE,CAAA;QAC1D,KAAK,MAAM,GAAG,IAAI,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,mBAAmB,CAAC,EAAE,CAAC;YACxD,IAAI,CAAC,mBAAmB,CAAC,GAAG,CAAC,GAAG,KAAK,CAAA;QACvC,CAAC;IACH,CAAC;IACD,OAAO,IAAI,CAAA;AACb,CAAC;AAED,KAAK,UAAU,0BAA0B;IACvC,IAAI,wBAAwB,EAAE,CAAC;QAC7B,OAAO,wBAAwB,CAAA;IACjC,CAAC;IACD,wBAAwB,GAAG,CAAC,KAAK,IAAI,EAAE;QACrC,IAAI,WAAW,GAAG,EAAE,CAAA;QACpB,IAAI,MAAW,CAAA;QACf,IAAI,CAAC;YACH,IAAI,CAAC,EAAE,CAAC,UAAU,CAAC,yBAAyB,CAAC,EAAE,CAAC;gBAC9C,MAAM,IAAI,KAAK,CAAC,qCAAqC,CAAC,CAAA;YACxD,CAAC;YACD,WAAW,GAAG,EAAE,CAAC,YAAY,CAAC,yBAAyB,EAAE,OAAO,CAAC,CAAA;YACjE,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,WAAW,CAAC,CAAA;YAChC,MAAM,QAAQ,GAAG,KAAK,CAAC,OAAO,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE,CAAA;YACvE,IAAI,QAAQ,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;gBAC1B,MAAM,IAAI,KAAK,CAAC,mCAAmC,CAAC,CAAA;YACtD,CAAC;YAED,MAAM,UAAU,GAA6C,EAAE,CAAA;YAC/D,KAAK,IAAI,KAAK,GAAG,CAAC,EAAE,KAAK,GAAG,QAAQ,CAAC,MAAM,EAAE,KAAK,IAAI,CAAC,EAAE,CAAC;gBACxD,MAAM,IAAI,GAAG,4BAA4B,CAAC,MAAM,EAAE,KAAK,CAAC,CAAA;gBACxD,EAAE,CAAC,aAAa,CAAC,yBAAyB,EAAE,IAAI,CAAC,SAAS,CAAC,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,CAAA;gBAC1E,MAAM,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,UAAU,CAAC,OAAO,EAAE,GAAG,CAAC,CAAC,CAAA;gBACxD,MAAM,QAAQ,GAAG,MAAM,qBAAqB,EAAE,CAAA;gBAC9C,UAAU,CAAC,KAAK,CAAC,GAAG,QAAQ,CAAA;YAC9B,CAAC;YAED,qBAAqB,GAAG;gBACtB,MAAM,EAAE,IAAI;gBACZ,KAAK,EAAE,KAAK;gBACZ,SAAS,EAAE,IAAI,CAAC,GAAG,EAAE;gBACrB,QAAQ,EAAE,UAAU,CAAC,MAAM,CAAC,WAAW,IAAI,CAAC,CAAC,IAAI,UAAU,CAAC,CAAC,CAAC;gBAC9D,UAAU;aACX,CAAA;QACH,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,qBAAqB,GAAG;gBACtB,MAAM,EAAE,OAAO;gBACf,KAAK,EAAE,KAAK;gBACZ,SAAS,EAAE,IAAI,CAAC,GAAG,EAAE;gBACrB,KAAK,EAAE,MAAM,CAAC,GAAG,CAAC;gBAClB,UAAU,EAAE,qBAAqB,CAAC,UAAU;aAC7C,CAAA;QACH,CAAC;gBAAS,CAAC;YACT,IAAI,WAAW,EAAE,CAAC;gBAChB,IAAI,CAAC;oBACH,EAAE,CAAC,aAAa,CAAC,yBAAyB,EAAE,WAAW,CAAC,CAAA;gBAC1D,CAAC;gBAAC,OAAO,GAAG,EAAE,CAAC;oBACb,QAAQ,CAAC,gDAAgD,GAAG,EAAE,CAAC,CAAA;gBACjE,CAAC;YACH,CAAC;YACD,wBAAwB,GAAG,IAAI,CAAA;QACjC,CAAC;QACD,OAAO,qBAAqB,CAAA;IAC9B,CAAC,CAAC,EAAE,CAAA;IACJ,OAAO,wBAAwB,CAAA;AACjC,CAAC;AAED,SAAS,qBAAqB,CAAC,IAAS;IACtC,MAAM,UAAU,GAAG,IAAI,EAAE,UAAU,CAAA;IACnC,MAAM,QAAQ,GAAG,UAAU,EAAE,UAAU,EAAE,QAAQ,CAAA;IACjD,MAAM,gBAAgB,GAAG,UAAU,EAAE,UAAU,EAAE,sBAAsB,CAAA;IACvE,IAAI,aAAmD,CAAA;IAEvD,IAAI,QAAQ,IAAI,gBAAgB,KAAK,SAAS,EAAE,CAAC;QAC/C,MAAM,OAAO,GAAG,MAAM,CAAC,QAAQ,CAAC,oBAAoB,CAAC,CAAA;QACrD,MAAM,SAAS,GAAG,MAAM,CAAC,gBAAgB,CAAC,CAAA;QAC1C,IAAI,MAAM,CAAC,QAAQ,CAAC,OAAO,CAAC,IAAI,OAAO,GAAG,CAAC,EAAE,CAAC;YAC5C,aAAa,GAAG;gBACd,SAAS;gBACT,OAAO;gBACP,cAAc,EAAE,CAAC,CAAC,OAAO,GAAG,SAAS,CAAC,GAAG,OAAO,CAAC,GAAG,GAAG;gBACvD,mBAAmB,EAAE,CAAC,SAAS,GAAG,OAAO,CAAC,GAAG,GAAG;aACjD,CAAA;QACH,CAAC;IACH,CAAC;IAED,MAAM,SAAS,GAAG,UAAU,EAAE,sBAAsB,EAAE,kBAAkB,IAAI,EAAE,CAAA;IAC9E,MAAM,MAAM,GAA4B,SAAS;SAC9C,MAAM,CAAC,CAAC,KAAU,EAAE,EAAE,CAAC,KAAK,EAAE,SAAS,CAAC;SACxC,GAAG,CAAC,CAAC,KAAU,EAAE,EAAE;QAClB,MAAM,KAAK,GAAG,KAAK,CAAC,SAAS,EAAE,SAAS,CAAC,CAAC,CAAC,IAAI,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,IAAI,CAAA;QACrF,MAAM,SAAS,GAAG,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC,SAAS,CAAA;QACrD,MAAM,iBAAiB,GAAG,OAAO,KAAK,CAAC,SAAS,EAAE,iBAAiB,KAAK,QAAQ;YAC9E,CAAC,CAAC,KAAK,CAAC,SAAS,CAAC,iBAAiB;YACnC,CAAC,CAAC,SAAS,CAAA;QACb,MAAM,mBAAmB,GAAG,OAAO,iBAAiB,KAAK,QAAQ;YAC/D,CAAC,CAAC,iBAAiB,GAAG,GAAG;YACzB,CAAC,CAAC,SAAS,CAAA;QACb,MAAM,IAAI,GAAG,SAAS,CAAC,CAAC,CAAC,SAAS,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC,SAAS,CAAA;QAC3D,MAAM,KAAK,GAAG,KAAK,CAAC,KAAK,IAAI,KAAK,CAAC,YAAY,EAAE,KAAK,IAAI,OAAO,CAAA;QACjE,MAAM,OAAO,GAAG,KAAK,CAAC,YAAY,EAAE,KAAK,IAAI,KAAK,CAAC,YAAY,EAAE,KAAK,IAAI,SAAS,CAAA;QACnF,OAAO;YACL,KAAK;YACL,OAAO;YACP,iBAAiB;YACjB,mBAAmB;YACnB,WAAW,EAAE,iBAAiB,KAAK,CAAC;YACpC,SAAS;YACT,gBAAgB,EAAE,IAAI;YACtB,uBAAuB,EAAE,OAAO,IAAI,KAAK,QAAQ,CAAC,CAAC,CAAC,yBAAyB,CAAC,IAAI,EAAE,SAAS,CAAC,CAAC,CAAC,CAAC,SAAS;SAC3G,CAAA;IACH,CAAC,CAAC,CAAA;IAEJ,OAAO;QACL,SAAS,EAAE,IAAI,CAAC,GAAG,EAAE;QACrB,IAAI,EAAE,UAAU,EAAE,IAAI;QACtB,KAAK,EAAE,UAAU,EAAE,KAAK;QACxB,aAAa;QACb,MAAM;KACP,CAAA;AACH,CAAC;AAED,KAAK,UAAU,qBAAqB;IAClC,MAAM,IAAI,GAAG,MAAM,4BAA4B,EAAE,CAAA;IACjD,IAAI,CAAC,IAAI,EAAE,CAAC;QACV,MAAM,IAAI,KAAK,CAAC,+BAA+B,CAAC,CAAA;IAClD,CAAC;IAED,MAAM,IAAI,GAAG,MAAM,kBAAkB,CACnC,IAAI,CAAC,WAAW,EAChB,IAAI,CAAC,SAAS,EACd,6DAA6D,EAC7D;QACE,QAAQ,EAAE;YACR,OAAO,EAAE,aAAa;YACtB,aAAa,EAAE,aAAa;YAC5B,MAAM,EAAE,IAAI;SACb;KACF,CACF,CAAA;IAED,OAAO,qBAAqB,CAAC,IAAI,CAAC,CAAA;AACpC,CAAC;AAED,KAAK,UAAU,uBAAuB;IACpC,IAAI,wBAAwB,EAAE,CAAC;QAC7B,OAAO,wBAAwB,CAAA;IACjC,CAAC;IACD,wBAAwB,GAAG,CAAC,KAAK,IAAI,EAAE;QACrC,IAAI,CAAC;YACH,MAAM,QAAQ,GAAG,MAAM,qBAAqB,EAAE,CAAA;YAC9C,qBAAqB,GAAG;gBACtB,MAAM,EAAE,IAAI;gBACZ,KAAK,EAAE,QAAQ;gBACf,SAAS,EAAE,IAAI,CAAC,GAAG,EAAE;gBACrB,QAAQ;aACT,CAAA;QACH,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,qBAAqB,GAAG;gBACtB,MAAM,EAAE,OAAO;gBACf,KAAK,EAAE,QAAQ;gBACf,SAAS,EAAE,IAAI,CAAC,GAAG,EAAE;gBACrB,KAAK,EAAE,MAAM,CAAC,GAAG,CAAC;aACnB,CAAA;QACH,CAAC;gBAAS,CAAC;YACT,wBAAwB,GAAG,IAAI,CAAA;QACjC,CAAC;QACD,OAAO,qBAAqB,CAAA;IAC9B,CAAC,CAAC,EAAE,CAAA;IACJ,OAAO,wBAAwB,CAAA;AACjC,CAAC;AAED,SAAS,YAAY;IACnB,IAAI,SAAS,EAAE,CAAC;QACd,YAAY,CAAC,SAAS,CAAC,CAAA;IACzB,CAAC;IACD,SAAS,GAAG,UAAU,CAAC,GAAG,EAAE;QAC1B,OAAO,EAAE,CAAA;IACX,CAAC,EAAE,gBAAgB,CAAC,CAAA;AACtB,CAAC;AAED,SAAS,gBAAgB;IACvB,MAAM,QAAQ,GAAG,gBAAgB,EAAE,CAAA;IACnC,EAAE,CAAC,SAAS,CAAC,QAAQ,EAAE,EAAE,QAAQ,EAAE,gBAAgB,EAAE,EAAE,GAAG,EAAE;QAC1D,YAAY,EAAE,CAAA;IAChB,CAAC,CAAC,CAAA;AACJ,CAAC;AAED,MAAM,UAAU,eAAe,CAAC,OAA0C;IACxE,MAAM,IAAI,GAAG,OAAO,EAAE,IAAI,IAAI,YAAY,CAAA;IAC1C,MAAM,IAAI,GAAG,OAAO,EAAE,IAAI,IAAI,YAAY,CAAA;IAE1C,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,EAAE,CAAC;QAC3B,MAAM,GAAG,GAAG,MAAM,CAAC,aAAa,CAAC,IAAI,CAAC,CAAA;QACtC,MAAM,IAAI,KAAK,CAAC,GAAG,GAAG,CAAC,IAAI,KAAK,GAAG,CAAC,OAAO,EAAE,CAAC,CAAA;IAChD,CAAC;IAED,OAAO,EAAE,CAAA;IACT,gBAAgB,EAAE,CAAA;IAElB,MAAM,MAAM,GAAG,IAAI,CAAC,YAAY,CAAC,KAAK,EAAE,GAAG,EAAE,GAAG,EAAE,EAAE;QAClD,MAAM,UAAU,GAAG,IAAI,GAAG,CAAC,GAAG,CAAC,GAAG,IAAI,GAAG,EAAE,UAAU,IAAI,IAAI,IAAI,EAAE,CAAC,CAAA;QACpE,MAAM,IAAI,GAAG,UAAU,CAAC,QAAQ,CAAA;QAEhC,IAAI,CAAC;YAEL,IAAI,GAAG,CAAC,MAAM,KAAK,KAAK,IAAI,IAAI,KAAK,GAAG,EAAE,CAAC;gBACzC,GAAG,CAAC,SAAS,CAAC,GAAG,EAAE,EAAE,cAAc,EAAE,0BAA0B,EAAE,CAAC,CAAA;gBAClE,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,CAAA;gBACb,OAAM;YACR,CAAC;YAED,IAAI,GAAG,CAAC,MAAM,KAAK,KAAK,IAAI,IAAI,KAAK,YAAY,EAAE,CAAC;gBAClD,OAAO,EAAE,CAAA;gBACT,MAAM,KAAK,GAAG,SAAS,EAAE,CAAA;gBACzB,MAAM,WAAW,GAAG,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAA;gBACjD,MAAM,QAAQ,GAAG,WAAW,CAAC,GAAG,CAAC,YAAY,CAAC,CAAA;gBAC9C,MAAM,WAAW,GAAG,0BAA0B,CAAC,KAAK,CAAC,CAAA;gBACrD,MAAM,WAAW,GAAG,mBAAmB,EAAE,CAAA;gBACzC,MAAM,WAAW,GAAG,cAAc,EAAE,CAAA;gBACpC,uDAAuD;gBACvD,MAAM,QAAQ,GAAG,WAAW,EAAE,CAAA;gBAC9B,MAAM,eAAe,GAAG,kBAAkB,EAAE,CAAA;gBAC5C,MAAM,kBAAkB,GAAG,QAAQ,CAAC,QAAQ,CAAC,YAAY,EAAE,kBAAkB,IAAI,KAAK,CAAA;gBACtF,MAAM,WAAW,GAAG,kBAAkB,CAAC,CAAC,CAAC,uBAAuB,EAAE,CAAC,CAAC,CAAC,EAAE,QAAQ,EAAE,EAAE,EAAE,IAAI,EAAE,yBAAyB,EAAE,CAAA;gBACtH,MAAM,UAAU,GAAG,aAAa,EAAE,CAAA;gBAClC,MAAM,WAAW,GAAG,aAAa,EAAE,CAAA;gBACnC,MAAM,SAAS,GAAG,mBAAmB,EAAE,CAAA;gBACvC,QAAQ,CAAC,GAAG,EAAE,GAAG,EAAE;oBACjB,QAAQ,EAAE,gBAAgB,EAAE;oBAC5B,WAAW;oBACX,aAAa,EAAE,KAAK,CAAC,WAAW;oBAChC,QAAQ;oBACR,UAAU;oBACV,aAAa;oBACb,aAAa;oBACb,WAAW;oBACX,WAAW;oBACX,KAAK,EAAE,YAAY;oBACnB,cAAc;oBACd,+DAA+D;oBAC/D,WAAW,EAAE,kBAAkB,CAAC,CAAC,CAAC,EAAE,GAAG,WAAW,EAAE,KAAK,EAAE,qBAAqB,EAAE,CAAC,CAAC,CAAC,EAAE,QAAQ,EAAE,EAAE,EAAE,IAAI,EAAE,yBAAyB,EAAE,KAAK,EAAE,EAAE,MAAM,EAAE,UAAU,EAAE,KAAK,EAAE,QAAQ,EAAE,EAAE;oBACtL,KAAK,EAAE,oBAAoB,EAAE;oBAC7B,gBAAgB,EAAE,cAAc,CAAC,WAAW,CAAC;oBAC7C,OAAO,EAAE,UAAU,EAAE;oBACrB,SAAS;oBACT,gBAAgB,EAAE,eAAe,CAAC,QAAQ,CAAC,gBAAgB;oBAC3D,KAAK,EAAE;wBACL,MAAM,EAAE,WAAW;wBACnB,KAAK,EAAE,UAAU,CAAC,WAAW;wBAC7B,WAAW,EAAE,UAAU,CAAC,WAAW;wBACnC,QAAQ,EAAE,UAAU,CAAC,QAAQ;wBAC7B,WAAW,EAAE,uBAAuB,EAAE;wBACtC,aAAa,EAAE,mBAAmB,CAAC,uBAAuB,EAAE,CAAC;qBAC9D;oBACD,0CAA0C;oBAC1C,YAAY,EAAE,QAAQ,CAAC,QAAQ,CAAC,YAAY,IAAI,EAAE,kBAAkB,EAAE,KAAK,EAAE;iBAC9E,CAAC,CAAA;gBACF,OAAM;YACR,CAAC;YAED,IAAI,GAAG,CAAC,MAAM,KAAK,KAAK,IAAI,IAAI,KAAK,WAAW,EAAE,CAAC;gBACjD,MAAM,UAAU,GAAG,UAAU,CAAC,YAAY,CAAC,GAAG,CAAC,OAAO,CAAC,CAAA;gBACvD,MAAM,KAAK,GAAG,UAAU,CAAC,CAAC,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,SAAS,CAAA;gBACzD,MAAM,KAAK,GAAG,WAAW,CAAC,MAAM,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,SAAS,CAAC,CAAA;gBACrE,QAAQ,CAAC,GAAG,EAAE,GAAG,EAAE,EAAE,IAAI,EAAE,UAAU,EAAE,EAAE,KAAK,EAAE,CAAC,CAAA;gBACjD,OAAM;YACR,CAAC;YAED,IAAI,GAAG,CAAC,MAAM,KAAK,MAAM,IAAI,IAAI,KAAK,WAAW,EAAE,CAAC;gBAClD,IAAI,CAAC;oBACH,OAAO,EAAE,CAAA;oBACT,QAAQ,CAAC,GAAG,EAAE,GAAG,EAAE,EAAE,EAAE,EAAE,IAAI,EAAE,CAAC,CAAA;gBAClC,CAAC;gBAAC,OAAO,GAAG,EAAE,CAAC;oBACb,QAAQ,CAAC,GAAG,EAAE,GAAG,EAAE,EAAE,KAAK,EAAE,MAAM,CAAC,GAAG,CAAC,EAAE,CAAC,CAAA;gBAC5C,CAAC;gBACD,OAAM;YACR,CAAC;YAED,IAAI,GAAG,CAAC,MAAM,KAAK,MAAM,IAAI,IAAI,KAAK,iBAAiB,EAAE,CAAC;gBACxD,MAAM,IAAI,GAAG,MAAM,YAAY,CAAC,GAAG,CAAC,CAAA;gBACpC,MAAM,KAAK,GAAG,OAAO,IAAI,CAAC,KAAK,KAAK,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,CAAA;gBACrE,IAAI,CAAC,KAAK,EAAE,CAAC;oBACX,QAAQ,CAAC,GAAG,EAAE,GAAG,EAAE,EAAE,KAAK,EAAE,eAAe,EAAE,CAAC,CAAA;oBAC9C,OAAM;gBACR,CAAC;gBACD,IAAI,YAAY,EAAE,CAAC;oBACjB,QAAQ,CAAC,GAAG,EAAE,GAAG,EAAE,EAAE,KAAK,EAAE,iCAAiC,YAAY,CAAC,KAAK,EAAE,EAAE,CAAC,CAAA;oBACpF,OAAM;gBACR,CAAC;gBACD,IAAI,CAAC;oBACH,MAAM,MAAM,GAAG,MAAM,gBAAgB,CAAC,KAAK,CAAC,CAAA;oBAC5C,QAAQ,CAAC,GAAG,EAAE,GAAG,EAAE,MAAM,CAAC,CAAA;gBAC5B,CAAC;gBAAC,OAAO,GAAG,EAAE,CAAC;oBACb,cAAc,GAAG,MAAM,CAAC,GAAG,CAAC,CAAA;oBAC5B,QAAQ,CAAC,GAAG,EAAE,GAAG,EAAE,EAAE,KAAK,EAAE,MAAM,CAAC,GAAG,CAAC,EAAE,CAAC,CAAA;gBAC5C,CAAC;gBACD,OAAM;YACR,CAAC;YAED,IAAI,GAAG,CAAC,MAAM,KAAK,MAAM,IAAI,IAAI,KAAK,uBAAuB,EAAE,CAAC;gBAC9D,MAAM,IAAI,GAAG,MAAM,YAAY,CAAC,GAAG,CAAC,CAAA;gBACpC,MAAM,QAAQ,GAAG,OAAO,IAAI,CAAC,QAAQ,KAAK,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,CAAA;gBAC9E,IAAI,CAAC,QAAQ,EAAE,CAAC;oBACd,QAAQ,CAAC,GAAG,EAAE,GAAG,EAAE,EAAE,KAAK,EAAE,kBAAkB,EAAE,CAAC,CAAA;oBACjD,OAAM;gBACR,CAAC;gBACD,IAAI,CAAC;oBACH,MAAM,MAAM,GAAG,MAAM,cAAc,CAAC,QAAQ,EAAE,IAAI,CAAC,OAAO,KAAK,IAAI,CAAC,CAAA;oBACpE,QAAQ,CAAC,GAAG,EAAE,GAAG,EAAE,MAAM,CAAC,CAAA;gBAC5B,CAAC;gBAAC,OAAO,GAAG,EAAE,CAAC;oBACb,cAAc,GAAG,MAAM,CAAC,GAAG,CAAC,CAAA;oBAC5B,QAAQ,CAAC,GAAG,EAAE,GAAG,EAAE,EAAE,KAAK,EAAE,MAAM,CAAC,GAAG,CAAC,EAAE,CAAC,CAAA;gBAC5C,CAAC;gBACD,OAAM;YACR,CAAC;YAED,IAAI,GAAG,CAAC,MAAM,KAAK,MAAM,IAAI,IAAI,KAAK,qBAAqB,EAAE,CAAC;gBAC5D,MAAM,IAAI,GAAG,MAAM,YAAY,CAAC,GAAG,CAAC,CAAA;gBACpC,MAAM,KAAK,GAAG,OAAO,IAAI,CAAC,KAAK,KAAK,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,CAAA;gBACrE,MAAM,QAAQ,GAAG,OAAO,IAAI,CAAC,QAAQ,KAAK,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE,CAAA;gBACvE,MAAM,KAAK,GAAG,OAAO,IAAI,CAAC,KAAK,KAAK,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,CAAA;gBACrE,MAAM,eAAe,GAAG,OAAO,IAAI,CAAC,eAAe,KAAK,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC,CAAC,EAAE,CAAA;gBAC5F,IAAI,CAAC,KAAK,EAAE,CAAC;oBACX,QAAQ,CAAC,GAAG,EAAE,GAAG,EAAE,EAAE,KAAK,EAAE,qBAAqB,EAAE,CAAC,CAAA;oBACpD,OAAM;gBACR,CAAC;gBACD,IAAI,CAAC,QAAQ,CAAC,IAAI,EAAE,EAAE,CAAC;oBACrB,QAAQ,CAAC,GAAG,EAAE,GAAG,EAAE,EAAE,KAAK,EAAE,kBAAkB,EAAE,CAAC,CAAA;oBACjD,OAAM;gBACR,CAAC;gBACD,IAAI,CAAC;oBACH,MAAM,MAAM,GAAG,MAAM,4BAA4B,CAAC;wBAChD,KAAK;wBACL,QAAQ;wBACR,KAAK;wBACL,eAAe;qBAChB,CAAC,CAAA;oBACF,QAAQ,CAAC,GAAG,EAAE,GAAG,EAAE,MAAM,CAAC,CAAA;gBAC5B,CAAC;gBAAC,OAAO,GAAG,EAAE,CAAC;oBACb,cAAc,GAAG,MAAM,CAAC,GAAG,CAAC,CAAA;oBAC5B,QAAQ,CAAC,GAAG,EAAE,GAAG,EAAE,EAAE,KAAK,EAAE,MAAM,CAAC,GAAG,CAAC,EAAE,CAAC,CAAA;gBAC5C,CAAC;gBACD,OAAM;YACR,CAAC;YAED,IAAI,GAAG,CAAC,MAAM,KAAK,MAAM,IAAI,IAAI,KAAK,aAAa,EAAE,CAAC;gBACpD,MAAM,IAAI,GAAG,MAAM,YAAY,CAAC,GAAG,CAAC,CAAA;gBACpC,IAAI,CAAC,IAAI,CAAC,KAAK,EAAE,CAAC;oBAChB,QAAQ,CAAC,GAAG,EAAE,GAAG,EAAE,EAAE,KAAK,EAAE,eAAe,EAAE,CAAC,CAAA;oBAC9C,OAAM;gBACR,CAAC;gBACD,IAAI,CAAC;oBACH,sBAAsB,CAAC,IAAI,CAAC,KAAK,CAAC,CAAA;oBAClC,QAAQ,CAAC,GAAG,EAAE,GAAG,EAAE,EAAE,EAAE,EAAE,IAAI,EAAE,CAAC,CAAA;gBAClC,CAAC;gBAAC,OAAO,GAAG,EAAE,CAAC;oBACb,QAAQ,CAAC,GAAG,EAAE,GAAG,EAAE,EAAE,KAAK,EAAE,MAAM,CAAC,GAAG,CAAC,EAAE,CAAC,CAAA;gBAC5C,CAAC;gBACD,OAAM;YACR,CAAC;YAED,IAAI,GAAG,CAAC,MAAM,KAAK,MAAM,IAAI,IAAI,KAAK,aAAa,EAAE,CAAC;gBACpD,MAAM,IAAI,GAAG,MAAM,YAAY,CAAC,GAAG,CAAC,CAAA;gBACpC,IAAI,CAAC,IAAI,CAAC,KAAK,EAAE,CAAC;oBAChB,QAAQ,CAAC,GAAG,EAAE,GAAG,EAAE,EAAE,KAAK,EAAE,eAAe,EAAE,CAAC,CAAA;oBAC9C,OAAM;gBACR,CAAC;gBACD,aAAa,CAAC,IAAI,CAAC,KAAK,CAAC,CAAA;gBACzB,QAAQ,CAAC,GAAG,EAAE,GAAG,EAAE,EAAE,EAAE,EAAE,IAAI,EAAE,CAAC,CAAA;gBAChC,OAAM;YACR,CAAC;YAED,IAAI,GAAG,CAAC,MAAM,KAAK,MAAM,IAAI,IAAI,KAAK,mBAAmB,EAAE,CAAC;gBAC1D,MAAM,IAAI,GAAG,MAAM,YAAY,CAAC,GAAG,CAAC,CAAA;gBACpC,IAAI,CAAC,IAAI,CAAC,KAAK,EAAE,CAAC;oBAChB,QAAQ,CAAC,GAAG,EAAE,GAAG,EAAE,EAAE,KAAK,EAAE,eAAe,EAAE,CAAC,CAAA;oBAC9C,OAAM;gBACR,CAAC;gBACD,MAAM,IAAI,GAAG,OAAO,IAAI,CAAC,IAAI,KAAK,QAAQ;oBACxC,CAAC,CAAC,IAAI,CAAC,IAAI;yBACR,KAAK,CAAC,GAAG,CAAC;yBACV,GAAG,CAAC,CAAC,GAAW,EAAE,EAAE,CAAC,GAAG,CAAC,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC;yBAC9C,MAAM,CAAC,OAAO,CAAC;oBAClB,CAAC,CAAC,EAAE,CAAA;gBACN,MAAM,UAAU,GAAG,KAAK,CAAC,IAAI,CAAC,IAAI,GAAG,CAAC,IAAI,CAAC,CAAC,CAAA;gBAC5C,MAAM,KAAK,GAAG,OAAO,IAAI,CAAC,KAAK,KAAK,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,CAAA;gBACrE,aAAa,CAAC,IAAI,CAAC,KAAK,EAAE;oBACxB,IAAI,EAAE,UAAU,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,SAAS;oBACpD,KAAK,EAAE,KAAK,IAAI,SAAS;iBAC1B,CAAC,CAAA;gBACF,QAAQ,CAAC,GAAG,EAAE,GAAG,EAAE,EAAE,EAAE,EAAE,IAAI,EAAE,CAAC,CAAA;gBAChC,OAAM;YACR,CAAC;YAED,IAAI,GAAG,CAAC,MAAM,KAAK,MAAM,IAAI,IAAI,KAAK,oBAAoB,EAAE,CAAC;gBAC3D,MAAM,IAAI,GAAG,MAAM,YAAY,CAAC,GAAG,CAAC,CAAA;gBACpC,MAAM,KAAK,GAAG,SAAS,EAAE,CAAA;gBACzB,MAAM,UAAU,GAAG,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAA;gBAChD,MAAM,KAAK,GAAG,OAAO,IAAI,CAAC,KAAK,KAAK,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,SAAS,CAAA;gBACrE,MAAM,OAAO,GAAG,KAAK,CAAC,CAAC,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,CAAC,KAAK,KAAK,KAAK,CAAC,CAAC,CAAC,CAAC,UAAU,CAAA;gBACpF,IAAI,KAAK,IAAI,OAAO,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;oBAClC,QAAQ,CAAC,GAAG,EAAE,GAAG,EAAE,EAAE,KAAK,EAAE,eAAe,EAAE,CAAC,CAAA;oBAC9C,OAAM;gBACR,CAAC;gBACD,MAAM,WAAW,GAAG,0BAA0B,CAAC,KAAK,CAAC,CAAA;gBAErD,MAAM,OAAO,GAA+D,EAAE,CAAA;gBAC9E,KAAK,MAAM,OAAO,IAAI,OAAO,EAAE,CAAC;oBAC9B,IAAI,CAAC,OAAO,CAAC,YAAY,EAAE,CAAC;wBAC1B,OAAO,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,OAAO,CAAC,KAAK,EAAE,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,kBAAkB,EAAE,CAAC,CAAA;wBACjF,SAAQ;oBACV,CAAC;oBACD,MAAM,SAAS,GAAG,MAAM,YAAY,CAAC,OAAO,CAAC,KAAK,CAAC,CAAA;oBACnD,IAAI,CAAC,SAAS,EAAE,CAAC;wBACf,OAAO,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,OAAO,CAAC,KAAK,EAAE,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,sBAAsB,EAAE,CAAC,CAAA;wBACrF,SAAQ;oBACV,CAAC;oBAED,IAAI,WAAW,KAAK,OAAO,CAAC,KAAK,EAAE,CAAC;wBAClC,IAAI,CAAC;4BACH,sBAAsB,CAAC,OAAO,CAAC,KAAK,CAAC,CAAA;wBACvC,CAAC;wBAAC,OAAO,GAAG,EAAE,CAAC;4BACb,OAAO,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,OAAO,CAAC,KAAK,EAAE,OAAO,EAAE,IAAI,EAAE,KAAK,EAAE,8CAA8C,GAAG,EAAE,EAAE,CAAC,CAAA;4BACjH,SAAQ;wBACV,CAAC;oBACH,CAAC;oBAED,OAAO,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,OAAO,CAAC,KAAK,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC,CAAA;gBACvD,CAAC;gBAED,QAAQ,CAAC,GAAG,EAAE,GAAG,EAAE,EAAE,EAAE,EAAE,IAAI,EAAE,OAAO,EAAE,CAAC,CAAA;gBACzC,OAAM;YACR,CAAC;YAED,IAAI,GAAG,CAAC,MAAM,KAAK,MAAM,IAAI,IAAI,KAAK,qBAAqB,EAAE,CAAC;gBAC5D,MAAM,IAAI,GAAG,MAAM,YAAY,CAAC,GAAG,CAAC,CAAA;gBACpC,MAAM,QAAQ,GAAG,YAAY,EAAE,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,CAAC,YAAY,IAAI,GAAG,CAAC,WAAW,CAAC,CAAA;gBACpF,IAAI,IAAI,CAAC,KAAK,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,CAAC,KAAK,KAAK,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC;oBACpE,QAAQ,CAAC,GAAG,EAAE,GAAG,EAAE,EAAE,KAAK,EAAE,eAAe,EAAE,CAAC,CAAA;oBAC9C,OAAM;gBACR,CAAC;gBACD,MAAM,KAAK,GAAG,iBAAiB,CAAC,QAAQ,EAAE,IAAI,CAAC,KAAK,CAAC,CAAA;gBACrD,QAAQ,CAAC,GAAG,EAAE,GAAG,EAAE,EAAE,EAAE,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC,CAAA;gBACvC,OAAM;YACR,CAAC;YAED,IAAI,GAAG,CAAC,MAAM,KAAK,MAAM,IAAI,IAAI,KAAK,kBAAkB,EAAE,CAAC;gBACzD,gBAAgB,EAAE,CAAA;gBAClB,QAAQ,CAAC,GAAG,EAAE,GAAG,EAAE,EAAE,EAAE,EAAE,IAAI,EAAE,CAAC,CAAA;gBAChC,OAAM;YACR,CAAC;YAED,sDAAsD;YACtD,IAAI,GAAG,CAAC,MAAM,KAAK,MAAM,IAAI,IAAI,KAAK,0BAA0B,EAAE,CAAC;gBACjE,0CAA0C;gBAC1C,IAAI,CAAC,gBAAgB,CAAC,oBAAoB,CAAC,EAAE,CAAC;oBAC5C,QAAQ,CAAC,GAAG,EAAE,GAAG,EAAE;wBACjB,KAAK,EAAE,iCAAiC;wBACxC,IAAI,EAAE,kBAAkB;wBACxB,OAAO,EAAE,aAAa;qBACvB,CAAC,CAAA;oBACF,OAAM;gBACR,CAAC;gBACD,MAAM,uBAAuB,EAAE,CAAA;gBAC/B,QAAQ,CAAC,GAAG,EAAE,GAAG,EAAE,EAAE,EAAE,EAAE,IAAI,EAAE,KAAK,EAAE,qBAAqB,EAAE,CAAC,CAAA;gBAC9D,OAAM;YACR,CAAC;YAED,IAAI,GAAG,CAAC,MAAM,KAAK,MAAM,IAAI,IAAI,KAAK,8BAA8B,EAAE,CAAC;gBACrE,0CAA0C;gBAC1C,IAAI,CAAC,gBAAgB,CAAC,oBAAoB,CAAC,EAAE,CAAC;oBAC5C,QAAQ,CAAC,GAAG,EAAE,GAAG,EAAE;wBACjB,KAAK,EAAE,iCAAiC;wBACxC,IAAI,EAAE,kBAAkB;wBACxB,OAAO,EAAE,aAAa;qBACvB,CAAC,CAAA;oBACF,OAAM;gBACR,CAAC;gBACD,MAAM,0BAA0B,EAAE,CAAA;gBAClC,QAAQ,CAAC,GAAG,EAAE,GAAG,EAAE,EAAE,EAAE,EAAE,IAAI,EAAE,KAAK,EAAE,qBAAqB,EAAE,CAAC,CAAA;gBAC9D,OAAM;YACR,CAAC;YAED,2CAA2C;YAE3C,sDAAsD;YACtD,IAAI,GAAG,CAAC,MAAM,KAAK,KAAK,IAAI,IAAI,KAAK,eAAe,EAAE,CAAC;gBACrD,MAAM,KAAK,GAAG,SAAS,EAAE,CAAA;gBACzB,MAAM,QAAQ,GAAG,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;oBACzD,KAAK,EAAE,GAAG,CAAC,KAAK;oBAChB,KAAK,EAAE,GAAG,CAAC,KAAK;oBAChB,OAAO,EAAE,GAAG,CAAC,OAAO,KAAK,KAAK,EAAE,mBAAmB;oBACnD,UAAU,EAAE,GAAG,CAAC,UAAU;oBAC1B,UAAU,EAAE,GAAG,CAAC,UAAU;oBAC1B,aAAa,EAAE,GAAG,CAAC,aAAa;oBAChC,UAAU,EAAE,GAAG,CAAC,UAAU;oBAC1B,UAAU,EAAE,GAAG,CAAC,UAAU;oBAC1B,gBAAgB,EAAE,GAAG,CAAC,gBAAgB;oBACtC,WAAW,EAAE,GAAG,CAAC,WAAW;oBAC5B,UAAU,EAAE,GAAG,CAAC,UAAU;oBAC1B,gBAAgB,EAAE,GAAG,CAAC,gBAAgB;oBACtC,gBAAgB,EAAE,GAAG,CAAC,gBAAgB;oBACtC,IAAI,EAAE,GAAG,CAAC,IAAI;oBACd,KAAK,EAAE,GAAG,CAAC,KAAK;iBACjB,CAAC,CAAC,CAAA;gBACH,QAAQ,CAAC,GAAG,EAAE,GAAG,EAAE,EAAE,QAAQ,EAAE,CAAC,CAAA;gBAChC,OAAM;YACR,CAAC;YAED,+DAA+D;YAC/D,IAAI,GAAG,CAAC,MAAM,KAAK,KAAK,IAAI,IAAI,CAAC,UAAU,CAAC,gBAAgB,CAAC,IAAI,IAAI,CAAC,QAAQ,CAAC,UAAU,CAAC,EAAE,CAAC;gBAC3F,MAAM,UAAU,GAAG,IAAI,CAAC,KAAK,CAAC,sCAAsC,CAAC,CAAA;gBACrE,IAAI,CAAC,UAAU,EAAE,CAAC;oBAChB,QAAQ,CAAC,GAAG,EAAE,GAAG,EAAE,EAAE,KAAK,EAAE,qBAAqB,EAAE,CAAC,CAAA;oBACpD,OAAM;gBACR,CAAC;gBACD,MAAM,KAAK,GAAG,UAAU,CAAC,CAAC,CAAC,CAAA;gBAC3B,MAAM,KAAK,GAAG,SAAS,EAAE,CAAA;gBAEzB,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,KAAK,CAAC,EAAE,CAAC;oBAC3B,QAAQ,CAAC,GAAG,EAAE,GAAG,EAAE,EAAE,KAAK,EAAE,eAAe,EAAE,IAAI,EAAE,mBAAmB,EAAE,CAAC,CAAA;oBACzE,OAAM;gBACR,CAAC;gBAED,MAAM,IAAI,GAAG,MAAM,YAAY,CAAC,GAAG,CAAC,CAAA;gBACpC,MAAM,OAAO,GAAG,IAAI,CAAC,OAAO,KAAK,IAAI,CAAA;gBAErC,sDAAsD;gBACtD,IAAI,CAAC,OAAO,EAAE,CAAC;oBACb,MAAM,YAAY,GAAG,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC,MAAM,CACvD,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,KAAK,KAAK,KAAK,IAAI,GAAG,CAAC,OAAO,KAAK,KAAK,CACpD,CAAC,MAAM,CAAA;oBACR,IAAI,YAAY,KAAK,CAAC,EAAE,CAAC;wBACvB,QAAQ,CAAC,GAAG,EAAE,GAAG,EAAE;4BACjB,KAAK,EAAE,yCAAyC;4BAChD,IAAI,EAAE,cAAc;yBACrB,CAAC,CAAA;wBACF,OAAM;oBACR,CAAC;gBACH,CAAC;gBAED,wEAAwE;gBACxE,MAAM,cAAc,GAAG,KAAK,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,OAAO,KAAK,KAAK,CAAA;gBAC9D,IAAI,cAAc,KAAK,OAAO,EAAE,CAAC;oBAC/B,QAAQ,CAAC,GAAG,EAAE,GAAG,EAAE;wBACjB,KAAK,EAAE,OAAO,CAAC,CAAC,CAAC,4BAA4B,CAAC,CAAC,CAAC,6BAA6B;wBAC7E,IAAI,EAAE,kBAAkB;qBACzB,CAAC,CAAA;oBACF,OAAM;gBACR,CAAC;gBAED,MAAM,OAAO,GAAgC,EAAE,OAAO,EAAE,CAAA;gBACxD,IAAI,CAAC,OAAO,EAAE,CAAC;oBACb,OAAO,CAAC,UAAU,GAAG,IAAI,CAAC,GAAG,EAAE,CAAA;oBAC/B,OAAO,CAAC,UAAU,GAAG,WAAW,CAAA,CAAC,mCAAmC;gBACtE,CAAC;qBAAM,CAAC;oBACN,uCAAuC;oBACvC,OAAO,CAAC,UAAU,GAAG,SAAS,CAAA;oBAC9B,OAAO,CAAC,UAAU,GAAG,SAAS,CAAA;oBAC9B,OAAO,CAAC,aAAa,GAAG,SAAS,CAAA;gBACnC,CAAC;gBAED,aAAa,CAAC,KAAK,EAAE,OAAO,CAAC,CAAA;gBAC7B,OAAO,CAAC,WAAW,KAAK,IAAI,OAAO,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,UAAU,gBAAgB,CAAC,CAAA;gBAC7E,QAAQ,CAAC,GAAG,EAAE,GAAG,EAAE;oBACjB,EAAE,EAAE,IAAI;oBACR,KAAK;oBACL,OAAO;oBACP,UAAU,EAAE,OAAO,CAAC,UAAU;oBAC9B,UAAU,EAAE,OAAO,CAAC,UAAU;iBAC/B,CAAC,CAAA;gBACF,OAAM;YACR,CAAC;YAED,gEAAgE;YAChE,IAAI,GAAG,CAAC,MAAM,KAAK,MAAM,IAAI,IAAI,CAAC,UAAU,CAAC,gBAAgB,CAAC,IAAI,IAAI,CAAC,QAAQ,CAAC,SAAS,CAAC,EAAE,CAAC;gBAC3F,MAAM,UAAU,GAAG,IAAI,CAAC,KAAK,CAAC,qCAAqC,CAAC,CAAA;gBACpE,IAAI,CAAC,UAAU,EAAE,CAAC;oBAChB,QAAQ,CAAC,GAAG,EAAE,GAAG,EAAE,EAAE,KAAK,EAAE,qBAAqB,EAAE,CAAC,CAAA;oBACpD,OAAM;gBACR,CAAC;gBACD,MAAM,KAAK,GAAG,UAAU,CAAC,CAAC,CAAC,CAAA;gBAC3B,MAAM,KAAK,GAAG,SAAS,EAAE,CAAA;gBAEzB,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,KAAK,CAAC,EAAE,CAAC;oBAC3B,QAAQ,CAAC,GAAG,EAAE,GAAG,EAAE,EAAE,KAAK,EAAE,eAAe,EAAE,IAAI,EAAE,mBAAmB,EAAE,CAAC,CAAA;oBACzE,OAAM;gBACR,CAAC;gBAED,6CAA6C;gBAC7C,IAAI,KAAK,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,OAAO,KAAK,KAAK,EAAE,CAAC;oBAC5C,QAAQ,CAAC,GAAG,EAAE,GAAG,EAAE;wBACjB,KAAK,EAAE,2CAA2C;wBAClD,IAAI,EAAE,kBAAkB;qBACzB,CAAC,CAAA;oBACF,OAAM;gBACR,CAAC;gBAED,kDAAkD;gBAClD,0CAA0C;gBAC1C,IAAI,CAAC;oBACH,IAAI,YAAY,EAAE,CAAC;wBACjB,QAAQ,CAAC,GAAG,EAAE,GAAG,EAAE,EAAE,KAAK,EAAE,iCAAiC,YAAY,CAAC,KAAK,EAAE,EAAE,CAAC,CAAA;wBACpF,OAAM;oBACR,CAAC;oBACD,MAAM,IAAI,GAAG,MAAM,uBAAuB,EAAE,CAAA;oBAC5C,MAAM,IAAI,GAAG,MAAM,YAAY,CAAC,GAAG,CAAC,CAAA;oBACpC,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,IAAI,WAAW,CAAA;oBAEvC,YAAY,CAAC,KAAK,EAAE,IAAI,EAAE,EAAE,SAAS,EAAE,gBAAgB,EAAE,CAAC;yBACvD,IAAI,CAAC,GAAG,EAAE;wBACT,OAAO,CAAC,yBAAyB,KAAK,OAAO,KAAK,EAAE,CAAC,CAAA;wBACrD,0BAA0B;wBAC1B,aAAa,CAAC,KAAK,EAAE;4BACnB,WAAW,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE;yBACtC,CAAC,CAAA;oBACJ,CAAC,CAAC;yBACD,KAAK,CAAC,CAAC,GAAG,EAAE,EAAE;wBACb,QAAQ,CAAC,sBAAsB,KAAK,KAAK,GAAG,EAAE,CAAC,CAAA;oBACjD,CAAC,CAAC,CAAA;oBAEJ,QAAQ,CAAC,GAAG,EAAE,GAAG,EAAE;wBACjB,EAAE,EAAE,IAAI;wBACR,KAAK;wBACL,GAAG,EAAE,IAAI,CAAC,GAAG;wBACb,OAAO,EAAE,6DAA6D;qBACvE,CAAC,CAAA;gBACJ,CAAC;gBAAC,OAAO,GAAG,EAAE,CAAC;oBACb,QAAQ,CAAC,GAAG,EAAE,GAAG,EAAE,EAAE,KAAK,EAAE,MAAM,CAAC,GAAG,CAAC,EAAE,IAAI,EAAE,iBAAiB,EAAE,CAAC,CAAA;gBACrE,CAAC;gBACD,OAAM;YACR,CAAC;YAED,oCAAoC;YACpC,2CAA2C;YAC3C,IAAI,GAAG,CAAC,MAAM,KAAK,KAAK,IAAI,IAAI,KAAK,YAAY,EAAE,CAAC;gBAClD,MAAM,UAAU,GAAG,aAAa,EAAE,CAAA;gBAClC,MAAM,MAAM,GAAG,aAAa,EAAE,CAAA;gBAC9B,MAAM,WAAW,GAAG,uBAAuB,EAAE,CAAA;gBAE7C,QAAQ,CAAC,GAAG,EAAE,GAAG,EAAE;oBACjB,MAAM;oBACN,KAAK,EAAE,UAAU,CAAC,WAAW;oBAC7B,QAAQ,EAAE,UAAU,CAAC,WAAW,IAAI,UAAU,CAAC,WAAW;wBACxD,CAAC,CAAC,UAAU,CAAC,WAAW,GAAG,CAAC,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,IAAI,CAAC;wBAChD,CAAC,CAAC,IAAI;oBACR,WAAW,EAAE,UAAU,CAAC,WAAW;oBACnC,QAAQ,EAAE,UAAU,CAAC,QAAQ;oBAC7B,WAAW;oBACX,aAAa,EAAE,mBAAmB,CAAC,WAAW,CAAC;oBAC/C,wBAAwB,EAAE,UAAU,CAAC,wBAAwB;iBAC9D,CAAC,CAAA;gBACF,OAAM;YACR,CAAC;YAED,qDAAqD;YACrD,IAAI,GAAG,CAAC,MAAM,KAAK,MAAM,IAAI,IAAI,KAAK,YAAY,EAAE,CAAC;gBACnD,MAAM,IAAI,GAAG,MAAM,YAAY,CAAC,GAAG,CAAC,CAAA;gBACpC,MAAM,KAAK,GAAG,OAAO,IAAI,CAAC,KAAK,KAAK,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,CAAA;gBACrE,MAAM,KAAK,GAAG,OAAO,IAAI,CAAC,KAAK,KAAK,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,KAAK,CAAA;gBAExE,IAAI,CAAC,KAAK,EAAE,CAAC;oBACX,QAAQ,CAAC,GAAG,EAAE,GAAG,EAAE,EAAE,KAAK,EAAE,eAAe,EAAE,IAAI,EAAE,eAAe,EAAE,CAAC,CAAA;oBACrE,OAAM;gBACR,CAAC;gBAED,MAAM,MAAM,GAAG,aAAa,CAAC,KAAK,EAAE,KAAK,CAAC,CAAA;gBAE1C,IAAI,CAAC,MAAM,CAAC,OAAO,EAAE,CAAC;oBACpB,MAAM,UAAU,GAAG,MAAM,CAAC,KAAK,EAAE,QAAQ,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,GAAG;wBAC1D,CAAC,CAAC,MAAM,CAAC,KAAK,EAAE,QAAQ,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,GAAG;4BAC1C,CAAC,CAAC,GAAG,CAAA;oBACP,QAAQ,CAAC,GAAG,EAAE,UAAU,EAAE,EAAE,KAAK,EAAE,MAAM,CAAC,KAAK,EAAE,IAAI,EAAE,cAAc,EAAE,CAAC,CAAA;oBACxE,OAAM;gBACR,CAAC;gBAED,OAAO,CAAC,4BAA4B,KAAK,OAAO,KAAK,EAAE,CAAC,CAAA;gBACxD,QAAQ,CAAC,GAAG,EAAE,GAAG,EAAE;oBACjB,EAAE,EAAE,IAAI;oBACR,KAAK;oBACL,WAAW,EAAE,MAAM,CAAC,KAAK,EAAE,WAAW;oBACtC,WAAW,EAAE,MAAM,CAAC,KAAK,EAAE,WAAW,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,WAAW,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC,CAAC;oBAClF,aAAa,EAAE,MAAM,CAAC,KAAK,EAAE,WAAW;wBACtC,CAAC,CAAC,mBAAmB,CAAC,MAAM,CAAC,KAAK,CAAC,WAAW,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;wBAC5D,CAAC,CAAC,IAAI;oBACR,wBAAwB,EAAE,MAAM,CAAC,KAAK,EAAE,wBAAwB;iBACjE,CAAC,CAAA;gBACF,OAAM;YACR,CAAC;YAED,gDAAgD;YAChD,IAAI,GAAG,CAAC,MAAM,KAAK,MAAM,IAAI,IAAI,KAAK,kBAAkB,EAAE,CAAC;gBACzD,MAAM,MAAM,GAAG,UAAU,EAAE,CAAA;gBAE3B,IAAI,MAAM,CAAC,OAAO,EAAE,CAAC;oBACnB,OAAO,CAAC,oBAAoB,CAAC,CAAA;oBAC7B,QAAQ,CAAC,GAAG,EAAE,GAAG,EAAE;wBACjB,EAAE,EAAE,IAAI;wBACR,gBAAgB,EAAE,MAAM,CAAC,gBAAgB;qBAC1C,CAAC,CAAA;gBACJ,CAAC;qBAAM,CAAC;oBACN,QAAQ,CAAC,GAAG,EAAE,GAAG,EAAE,EAAE,KAAK,EAAE,4BAA4B,EAAE,IAAI,EAAE,cAAc,EAAE,CAAC,CAAA;gBACnF,CAAC;gBACD,OAAM;YACR,CAAC;YAED,kCAAkC;YAElC,2CAA2C;YAC3C,IAAI,GAAG,CAAC,MAAM,KAAK,KAAK,IAAI,IAAI,KAAK,eAAe,EAAE,CAAC;gBACrD,MAAM,EAAE,mBAAmB,EAAE,GAAG,MAAM,MAAM,CAAC,eAAe,CAAC,CAAA;gBAC7D,MAAM,IAAI,GAAG,mBAAmB,EAAE,CAAA;gBAClC,QAAQ,CAAC,GAAG,EAAE,GAAG,EAAE;oBACjB,QAAQ,EAAE,IAAI,CAAC,QAAQ;oBACvB,MAAM,EAAE,IAAI,CAAC,MAAM;oBACnB,MAAM,EAAE,IAAI,CAAC,MAAM;oBACnB,QAAQ,EAAE,IAAI,CAAC,QAAQ;iBACxB,CAAC,CAAA;gBACF,OAAM;YACR,CAAC;YAED,sCAAsC;YACtC,IAAI,GAAG,CAAC,MAAM,KAAK,KAAK,IAAI,IAAI,KAAK,eAAe,EAAE,CAAC;gBACrD,MAAM,IAAI,GAAG,MAAM,YAAY,CAAC,GAAG,CAAC,CAAA;gBACpC,MAAM,EAAE,cAAc,EAAE,GAAG,MAAM,MAAM,CAAC,eAAe,CAAC,CAAA;gBAExD,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,IAAI,WAAW,CAAA;gBACvC,MAAM,OAAO,GAA8B,EAAE,CAAA;gBAE7C,IAAI,IAAI,CAAC,gBAAgB,EAAE,CAAC;oBAC1B,OAAO,CAAC,gBAAgB,GAAG,IAAI,CAAC,gBAAgB,CAAA;gBAClD,CAAC;gBACD,IAAI,OAAO,IAAI,CAAC,iBAAiB,KAAK,QAAQ,EAAE,CAAC;oBAC/C,OAAO,CAAC,iBAAiB,GAAG,IAAI,CAAC,iBAAiB,CAAA;gBACpD,CAAC;gBACD,IAAI,OAAO,IAAI,CAAC,YAAY,KAAK,QAAQ,EAAE,CAAC;oBAC1C,OAAO,CAAC,YAAY,GAAG,IAAI,CAAC,YAAY,CAAA;gBAC1C,CAAC;gBACD,IAAI,IAAI,CAAC,cAAc,EAAE,CAAC;oBACxB,OAAO,CAAC,cAAc,GAAG,IAAI,CAAC,cAAc,CAAA;gBAC9C,CAAC;gBACD,IAAI,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,oBAAoB,CAAC,EAAE,CAAC;oBAC7C,OAAO,CAAC,oBAAoB,GAAG,IAAI,CAAC,oBAAoB,CAAA;gBAC1D,CAAC;gBAED,gCAAgC;gBAChC,IAAI,IAAI,CAAC,YAAY,IAAI,OAAO,IAAI,CAAC,YAAY,KAAK,QAAQ,EAAE,CAAC;oBAC/D,OAAO,CAAC,YAAY,GAAG,IAAI,CAAC,YAAY,CAAA;gBAC1C,CAAC;gBAED,MAAM,MAAM,GAAG,cAAc,CAAC,OAAO,EAAE,KAAK,CAAC,CAAA;gBAE7C,IAAI,MAAM,CAAC,OAAO,EAAE,CAAC;oBACnB,QAAQ,CAAC,GAAG,EAAE,GAAG,EAAE;wBACjB,EAAE,EAAE,IAAI;wBACR,QAAQ,EAAE,MAAM,CAAC,QAAQ;qBAC1B,CAAC,CAAA;gBACJ,CAAC;qBAAM,CAAC;oBACN,QAAQ,CAAC,GAAG,EAAE,GAAG,EAAE;wBACjB,KAAK,EAAE,mBAAmB;wBAC1B,IAAI,EAAE,kBAAkB;wBACxB,OAAO,EAAE,MAAM,CAAC,MAAM;qBACvB,CAAC,CAAA;gBACJ,CAAC;gBACD,OAAM;YACR,CAAC;YAED,+DAA+D;YAC/D,IAAI,GAAG,CAAC,MAAM,KAAK,KAAK,IAAI,IAAI,KAAK,6BAA6B,EAAE,CAAC;gBACnE,MAAM,QAAQ,GAAG,WAAW,EAAE,CAAA;gBAC9B,QAAQ,CAAC,GAAG,EAAE,GAAG,EAAE;oBACjB,YAAY,EAAE,QAAQ,CAAC,QAAQ,CAAC,YAAY,IAAI,EAAE,kBAAkB,EAAE,KAAK,EAAE;iBAC9E,CAAC,CAAA;gBACF,OAAM;YACR,CAAC;YAED,kEAAkE;YAClE,IAAI,GAAG,CAAC,MAAM,KAAK,KAAK,IAAI,IAAI,KAAK,6BAA6B,EAAE,CAAC;gBACnE,MAAM,IAAI,GAAG,MAAM,YAAY,CAAC,GAAG,CAAC,CAAA;gBACpC,MAAM,EAAE,cAAc,EAAE,GAAG,MAAM,MAAM,CAAC,eAAe,CAAC,CAAA;gBAExD,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,IAAI,WAAW,CAAA;gBACvC,MAAM,OAAO,GAA8B,EAAE,CAAA;gBAE7C,IAAI,IAAI,CAAC,YAAY,IAAI,OAAO,IAAI,CAAC,YAAY,KAAK,QAAQ,EAAE,CAAC;oBAC/D,OAAO,CAAC,YAAY,GAAG,IAAI,CAAC,YAAY,CAAA;oBAExC,MAAM,MAAM,GAAG,cAAc,CAAC,OAAO,EAAE,KAAK,CAAC,CAAA;oBAE7C,IAAI,MAAM,CAAC,OAAO,IAAI,MAAM,CAAC,QAAQ,EAAE,CAAC;wBACtC,OAAO,CAAC,4BAA4B,KAAK,KAAK,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,YAAY,CAAC,EAAE,CAAC,CAAA;wBAClF,QAAQ,CAAC,GAAG,EAAE,GAAG,EAAE;4BACjB,EAAE,EAAE,IAAI;4BACR,YAAY,EAAE,MAAM,CAAC,QAAQ,CAAC,YAAY,IAAI,EAAE,kBAAkB,EAAE,KAAK,EAAE;yBAC5E,CAAC,CAAA;oBACJ,CAAC;yBAAM,CAAC;wBACN,QAAQ,CAAC,GAAG,EAAE,GAAG,EAAE;4BACjB,KAAK,EAAE,mBAAmB;4BAC1B,IAAI,EAAE,kBAAkB;4BACxB,OAAO,EAAE,MAAM,CAAC,MAAM;yBACvB,CAAC,CAAA;oBACJ,CAAC;gBACH,CAAC;qBAAM,CAAC;oBACN,QAAQ,CAAC,GAAG,EAAE,GAAG,EAAE;wBACjB,KAAK,EAAE,uBAAuB;wBAC9B,IAAI,EAAE,uBAAuB;qBAC9B,CAAC,CAAA;gBACJ,CAAC;gBACD,OAAM;YACR,CAAC;YAED,+CAA+C;YAC/C,IAAI,GAAG,CAAC,MAAM,KAAK,MAAM,IAAI,IAAI,KAAK,qBAAqB,EAAE,CAAC;gBAC5D,MAAM,EAAE,aAAa,EAAE,GAAG,MAAM,MAAM,CAAC,eAAe,CAAC,CAAA;gBACvD,MAAM,IAAI,GAAG,MAAM,YAAY,CAAC,GAAG,CAAC,CAAA;gBACpC,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,IAAI,WAAW,CAAA;gBAEvC,MAAM,QAAQ,GAAG,aAAa,CAAC,KAAK,CAAC,CAAA;gBACrC,QAAQ,CAAC,GAAG,EAAE,GAAG,EAAE;oBACjB,EAAE,EAAE,IAAI;oBACR,QAAQ;iBACT,CAAC,CAAA;gBACF,OAAM;YACR,CAAC;YAED,6CAA6C;YAC7C,IAAI,GAAG,CAAC,MAAM,KAAK,MAAM,IAAI,IAAI,KAAK,sBAAsB,EAAE,CAAC;gBAC7D,MAAM,IAAI,GAAG,MAAM,YAAY,CAAC,GAAG,CAAC,CAAA;gBACpC,MAAM,EAAE,WAAW,EAAE,GAAG,MAAM,MAAM,CAAC,eAAe,CAAC,CAAA;gBAErD,MAAM,MAAM,GAAG,IAAI,CAAC,MAAM,CAAA;gBAC1B,IAAI,CAAC,MAAM,IAAI,CAAC,CAAC,UAAU,EAAE,cAAc,EAAE,YAAY,EAAE,QAAQ,CAAC,CAAC,QAAQ,CAAC,MAAM,CAAC,EAAE,CAAC;oBACtF,QAAQ,CAAC,GAAG,EAAE,GAAG,EAAE;wBACjB,KAAK,EAAE,gBAAgB;wBACvB,IAAI,EAAE,gBAAgB;wBACtB,YAAY,EAAE,CAAC,UAAU,EAAE,cAAc,EAAE,YAAY,EAAE,QAAQ,CAAC;qBACnE,CAAC,CAAA;oBACF,OAAM;gBACR,CAAC;gBAED,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,IAAI,WAAW,CAAA;gBACvC,MAAM,MAAM,GAAG,WAAW,CAAC,MAAsB,EAAE,KAAK,CAAC,CAAA;gBAEzD,IAAI,MAAM,CAAC,OAAO,EAAE,CAAC;oBACnB,QAAQ,CAAC,GAAG,EAAE,GAAG,EAAE;wBACjB,EAAE,EAAE,IAAI;wBACR,MAAM;wBACN,QAAQ,EAAE,MAAM,CAAC,QAAQ;qBAC1B,CAAC,CAAA;gBACJ,CAAC;qBAAM,CAAC;oBACN,QAAQ,CAAC,GAAG,EAAE,GAAG,EAAE;wBACjB,KAAK,EAAE,wBAAwB;wBAC/B,IAAI,EAAE,cAAc;wBACpB,OAAO,EAAE,MAAM,CAAC,MAAM;qBACvB,CAAC,CAAA;gBACJ,CAAC;gBACD,OAAM;YACR,CAAC;YAEC,GAAG,CAAC,SAAS,CAAC,GAAG,EAAE,EAAE,cAAc,EAAE,kBAAkB,EAAE,CAAC,CAAA;YAC1D,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,SAAS,CAAC,EAAE,KAAK,EAAE,WAAW,EAAE,CAAC,CAAC,CAAA;QACjD,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,IAAI,GAAG,CAAC,aAAa,EAAE,CAAC;gBACtB,OAAM;YACR,CAAC;YAED,MAAM,SAAS,GAAI,GAAyB,EAAE,IAAI,CAAA;YAClD,IAAI,SAAS,KAAK,cAAc,EAAE,CAAC;gBACjC,QAAQ,CAAC,GAAG,EAAE,GAAG,EAAE,EAAE,KAAK,EAAE,sBAAsB,EAAE,IAAI,EAAE,cAAc,EAAE,CAAC,CAAA;gBAC3E,OAAM;YACR,CAAC;YACD,IAAI,SAAS,KAAK,mBAAmB,EAAE,CAAC;gBACtC,QAAQ,CAAC,GAAG,EAAE,GAAG,EAAE,EAAE,KAAK,EAAE,mBAAmB,EAAE,IAAI,EAAE,mBAAmB,EAAE,CAAC,CAAA;gBAC7E,OAAM;YACR,CAAC;YAED,MAAM,YAAY,GAAG,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,CAAA;YACrE,QAAQ,CAAC,uBAAuB,GAAG,CAAC,MAAM,IAAI,IAAI,MAAM,YAAY,EAAE,CAAC,CAAA;YACvE,QAAQ,CAAC,GAAG,EAAE,GAAG,EAAE,EAAE,KAAK,EAAE,uBAAuB,EAAE,IAAI,EAAE,gBAAgB,EAAE,CAAC,CAAA;QAChF,CAAC;IACH,CAAC,CAAC,CAAA;IAEF,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,IAAI,EAAE,GAAG,EAAE;QAC7B,OAAO,CAAC,GAAG,CAAC,kDAAkD,IAAI,IAAI,IAAI,EAAE,CAAC,CAAA;QAC7E,OAAO,CAAC,qCAAqC,IAAI,IAAI,IAAI,EAAE,CAAC,CAAA;IAC9D,CAAC,CAAC,CAAA;IAEF,OAAO,MAAM,CAAA;AACf,CAAC"} \ No newline at end of file diff --git a/src/credits-policy.ts b/src/credits-policy.ts new file mode 100644 index 0000000..62ee39f --- /dev/null +++ b/src/credits-policy.ts @@ -0,0 +1,48 @@ +import { loadStore } from './store.js' +import { hasUsableCredits, type AccountCredentials } from './types.js' + +const CREDIT_ACCOUNT_ALIASES_ENV = 'OPENCODE_MULTI_AUTH_CREDIT_ACCOUNT_ALIASES' + +export function parseCreditAccountAliases(raw: string | undefined): string[] | undefined { + if (raw === undefined) return undefined + + const value = raw.trim() + if (!value) return undefined + + const normalized = value.toLowerCase() + if (normalized === 'all' || value === '*') return ['*'] + if (normalized === 'none' || normalized === 'off' || normalized === 'false' || normalized === '0') return [] + + return value + .split(',') + .map((alias) => alias.trim()) + .filter(Boolean) +} + +export function getCreditAccountAliases(): string[] | undefined { + const envValue = process.env[CREDIT_ACCOUNT_ALIASES_ENV] + if (envValue !== undefined) { + return parseCreditAccountAliases(envValue) + } + + const store = loadStore() + return Array.isArray(store.settings?.creditAccountAliases) + ? store.settings.creditAccountAliases + : undefined +} + +export function isCreditsAllowedForAlias( + alias: string, + creditAccountAliases: string[] | undefined = getCreditAccountAliases() +): boolean { + if (!Array.isArray(creditAccountAliases)) return true + if (creditAccountAliases.includes('*')) return true + return creditAccountAliases.includes(alias) +} + +export function hasUsableAllowedCredits( + account: AccountCredentials, + creditAccountAliases: string[] | undefined = getCreditAccountAliases() +): boolean { + return isCreditsAllowedForAlias(account.alias, creditAccountAliases) && hasUsableCredits(account.credits) +} diff --git a/src/index.ts b/src/index.ts index be8c610..01efa41 100644 --- a/src/index.ts +++ b/src/index.ts @@ -16,11 +16,13 @@ import { markRateLimited, markWorkspaceDeactivated } from './rotation.js' +import { refreshRateLimitsForAccount } from './limits-refresh.js' import { getDefaultModels } from './models.js' import { getForceState, isForceActive } from './force-mode.js' import { getRuntimeSettings } from './settings.js' import { listAccounts, updateAccount, loadStore } from './store.js' import { DEFAULT_CONFIG, type AccountRateLimits, type PluginConfig } from './types.js' +import { getCreditAccountAliases, hasUsableAllowedCredits, isCreditsAllowedForAlias } from './credits-policy.js' import { Errors, type DeterministicError } from './errors.js' const PROVIDER_ID = 'openai' @@ -636,14 +638,26 @@ const MultiAuthPlugin: Plugin = async ({ client, $, serverUrl, project, director const store = loadStore() const forceState = getForceState() const forcePinned = isForceActive() && !!forceState.forcedAlias - const eligibleCount = Object.values(store.accounts).filter(acc => { + const accountsForAttempts = Object.values(store.accounts) + const creditAccountAliases = getCreditAccountAliases() + const normalEligibleCount = accountsForAttempts.filter(acc => { const now = Date.now() - return (!acc.rateLimitedUntil || acc.rateLimitedUntil < now) && + return (!acc.rateLimitedUntil || acc.rateLimitedUntil < now || hasUsableAllowedCredits(acc, creditAccountAliases)) && (!acc.modelUnsupportedUntil || acc.modelUnsupportedUntil < now) && (!acc.workspaceDeactivatedUntil || acc.workspaceDeactivatedUntil < now) && !acc.authInvalid && acc.enabled !== false }).length + const softRateLimitedCount = accountsForAttempts.filter(acc => { + const now = Date.now() + return !!(acc.rateLimitedUntil && acc.rateLimitedUntil > now) && + isCreditsAllowedForAlias(acc.alias, creditAccountAliases) && + (!acc.modelUnsupportedUntil || acc.modelUnsupportedUntil < now) && + (!acc.workspaceDeactivatedUntil || acc.workspaceDeactivatedUntil < now) && + !acc.authInvalid && + acc.enabled !== false + }).length + const eligibleCount = normalEligibleCount > 0 ? normalEligibleCount : softRateLimitedCount const maxAttempts = forcePinned ? 1 : Math.max(1, eligibleCount) const triedAliases = new Set() @@ -857,6 +871,16 @@ const MultiAuthPlugin: Plugin = async ({ client, $, serverUrl, project, director pluginConfig.rateLimitCooldownMs ) markRateLimited(account.alias, rateLimitedUntil) + if (isCreditsAllowedForAlias(account.alias)) { + const latestAccount = loadStore().accounts[account.alias] + if (latestAccount) { + await refreshRateLimitsForAccount(latestAccount).catch((err) => { + if (process.env.OPENCODE_MULTI_AUTH_DEBUG === '1') { + console.warn(`[multi-auth] Credit refresh after 429 failed for ${account.alias}: ${err}`) + } + }) + } + } if (attempt < maxAttempts) { continue diff --git a/src/limits-refresh.ts b/src/limits-refresh.ts index 12af6c5..776c853 100644 --- a/src/limits-refresh.ts +++ b/src/limits-refresh.ts @@ -10,6 +10,7 @@ import { probeRateLimitsForAccount } from './probe-limits.js' import { logError, logInfo } from './logger.js' import { DEFAULT_CONFIG, calculateLimitsConfidence } from './types.js' import { fetchUsageRateLimitsForAccount } from './usage-limits.js' +import { isCreditsAllowedForAlias } from './credits-policy.js' import type { AccountCredentials } from './types.js' export interface LimitRefreshResult { @@ -21,25 +22,30 @@ export interface LimitRefreshResult { export async function refreshRateLimitsForAccount(account: AccountCredentials): Promise { updateAccount(account.alias, { limitStatus: 'running', limitError: undefined }) logInfo(`Refreshing limits for ${account.alias}`) - const usage = await fetchUsageRateLimitsForAccount(account) + const usage = await fetchUsageRateLimitsForAccount(account, { + creditsAllowed: isCreditsAllowedForAlias(account.alias) + }) - if (usage.rateLimits) { + if (usage.rateLimits || usage.credits) { const now = Date.now() const updates: Partial = { - rateLimits: mergeRateLimits(account.rateLimits, usage.rateLimits), limitStatus: 'success', limitError: undefined, lastLimitProbeAt: now, limitsConfidence: calculateLimitsConfidence(now, account.lastLimitErrorAt, 'success'), + rateLimitedUntil: usage.rateLimitedUntil, authInvalid: false, authInvalidatedAt: undefined } + if (usage.rateLimits) { + updates.rateLimits = mergeRateLimits(account.rateLimits, usage.rateLimits) + } + if (usage.credits) { + updates.credits = usage.credits + } if (usage.planType) { updates.planType = usage.planType } - if (typeof usage.rateLimitedUntil === 'number' && usage.rateLimitedUntil > now) { - updates.rateLimitedUntil = usage.rateLimitedUntil - } updateAccount(account.alias, updates) logInfo(`Limits refreshed for ${account.alias} via usage API`) return { alias: account.alias, updated: true } diff --git a/src/rotation.ts b/src/rotation.ts index f877864..679f633 100644 --- a/src/rotation.ts +++ b/src/rotation.ts @@ -3,6 +3,9 @@ import { ensureValidToken } from './auth.js' import { decodeJwtPayload, getPlanTypeFromClaims } from './codex-auth.js' import { isForceActive, checkAndAutoClearForce, getForceState, clearForce } from './force-mode.js' import { getRuntimeSettings, calculateWeightedSelection } from './settings.js' +import { mergeRateLimits } from './rate-limits.js' +import { fetchUsageRateLimitsForAccount } from './usage-limits.js' +import { getCreditAccountAliases, hasUsableAllowedCredits, isCreditsAllowedForAlias } from './credits-policy.js' import type { AccountCredentials, DEFAULT_CONFIG } from './types.js' export interface RotationResult { @@ -89,8 +92,14 @@ interface AccountHealth { priority: number } -function evaluateAccountHealth(acc: AccountCredentials, now: number): AccountHealth { - const wasRateLimited: boolean = !!(acc.rateLimitedUntil && acc.rateLimitedUntil > now - HEALTH_HYSTERESIS_MS) +function evaluateAccountHealth( + acc: AccountCredentials, + now: number, + creditAccountAliases: string[] | undefined = getCreditAccountAliases() +): AccountHealth { + const hasCredits = hasUsableAllowedCredits(acc, creditAccountAliases) + const isRateLimited: boolean = !!(acc.rateLimitedUntil && acc.rateLimitedUntil > now) + const wasRateLimited: boolean = !!(acc.rateLimitedUntil && acc.rateLimitedUntil > now - HEALTH_HYSTERESIS_MS && !hasCredits) const wasModelUnsupported: boolean = !!(acc.modelUnsupportedUntil && acc.modelUnsupportedUntil > now - HEALTH_HYSTERESIS_MS) const wasWorkspaceDeactivated: boolean = !!(acc.workspaceDeactivatedUntil && acc.workspaceDeactivatedUntil > now - HEALTH_HYSTERESIS_MS) @@ -98,7 +107,7 @@ function evaluateAccountHealth(acc: AccountCredentials, now: number): AccountHea const isDisabled: boolean = acc.enabled === false const currentlyBlocked: boolean = - !!(acc.rateLimitedUntil && acc.rateLimitedUntil > now) || + (isRateLimited && !hasCredits) || !!(acc.modelUnsupportedUntil && acc.modelUnsupportedUntil > now) || !!(acc.workspaceDeactivatedUntil && acc.workspaceDeactivatedUntil > now) || !!acc.authInvalid || @@ -131,6 +140,127 @@ function evaluateAccountHealth(acc: AccountCredentials, now: number): AccountHea } } +function shouldRefreshRateLimitState( + acc: AccountCredentials, + now: number, + creditAccountAliases: string[] | undefined = getCreditAccountAliases() +): boolean { + return shouldTrySoftRateLimitedAccount(acc, now, creditAccountAliases) && !hasUsableAllowedCredits(acc, creditAccountAliases) +} + +function shouldTrySoftRateLimitedAccount( + acc: AccountCredentials, + now: number, + creditAccountAliases: string[] | undefined = getCreditAccountAliases() +): boolean { + return ( + !!(acc.rateLimitedUntil && acc.rateLimitedUntil > now) && + isCreditsAllowedForAlias(acc.alias, creditAccountAliases) && + !acc.authInvalid && + acc.enabled !== false && + !(acc.modelUnsupportedUntil && acc.modelUnsupportedUntil > now) && + !(acc.workspaceDeactivatedUntil && acc.workspaceDeactivatedUntil > now) + ) +} + +function isUsingPaidCredits( + acc: AccountCredentials, + now: number, + creditAccountAliases: string[] | undefined +): boolean { + return !!(acc.rateLimitedUntil && acc.rateLimitedUntil > now) && + hasUsableAllowedCredits(acc, creditAccountAliases) +} + +function debugAccountFiltering( + accounts: Record, + aliases: string[], + now: number, + creditAccountAliases: string[] | undefined +): void { + if (process.env.OPENCODE_MULTI_AUTH_DEBUG !== '1') return + + const creditPolicy = Array.isArray(creditAccountAliases) + ? creditAccountAliases.join(',') + : '' + console.warn(`[multi-auth] Account filter debug: creditPolicy=${creditPolicy}`) + + for (const alias of aliases) { + const acc = accounts[alias] + if (!acc) continue + + const allowedCredits = hasUsableAllowedCredits(acc, creditAccountAliases) + const blockers: string[] = [] + if (acc.enabled === false) blockers.push('disabled') + if (acc.authInvalid) blockers.push('authInvalid') + if (acc.rateLimitedUntil && acc.rateLimitedUntil > now && !allowedCredits) { + blockers.push(`rateLimitedUntil=${new Date(acc.rateLimitedUntil).toISOString()}`) + } + if (acc.modelUnsupportedUntil && acc.modelUnsupportedUntil > now) { + blockers.push(`modelUnsupportedUntil=${new Date(acc.modelUnsupportedUntil).toISOString()}`) + } + if (acc.workspaceDeactivatedUntil && acc.workspaceDeactivatedUntil > now) { + blockers.push(`workspaceDeactivatedUntil=${new Date(acc.workspaceDeactivatedUntil).toISOString()}`) + } + + console.warn( + `[multi-auth] Account filter debug: alias=${alias} ` + + `creditsAllowed=${isCreditsAllowedForAlias(alias, creditAccountAliases)} ` + + `hasUsableAllowedCredits=${allowedCredits} ` + + `credits=${acc.credits ? JSON.stringify({ + hasCredits: acc.credits.hasCredits, + unlimited: acc.credits.unlimited, + balance: acc.credits.balance ?? null + }) : 'null'} ` + + `blockers=${blockers.length > 0 ? blockers.join('|') : 'none'}` + ) + } +} + +async function refreshUsageForRateLimitedAccounts( + aliases: string[], + now: number, + creditAccountAliases: string[] | undefined +): Promise { + for (const alias of aliases) { + let account = loadStore().accounts[alias] + if (!account || !shouldRefreshRateLimitState(account, now, creditAccountAliases)) continue + + const token = await ensureValidToken(alias) + if (!token) continue + + account = loadStore().accounts[alias] + if (!account || !shouldRefreshRateLimitState(account, now, creditAccountAliases)) continue + + const usage = await fetchUsageRateLimitsForAccount(account, { + creditsAllowed: isCreditsAllowedForAlias(account.alias, creditAccountAliases) + }) + if (!usage.rateLimits && !usage.credits) { + if (process.env.OPENCODE_MULTI_AUTH_DEBUG === '1') { + console.warn(`[multi-auth] Usage refresh debug: alias=${alias} error=${usage.error || 'no limits or credits returned'}`) + } + continue + } + + const updates: Partial = { + limitStatus: 'success', + limitError: undefined, + lastLimitProbeAt: Date.now(), + rateLimitedUntil: usage.rateLimitedUntil + } + if (usage.rateLimits) { + updates.rateLimits = mergeRateLimits(account.rateLimits, usage.rateLimits) + } + if (usage.credits) { + updates.credits = usage.credits + } + if (usage.planType) { + updates.planType = usage.planType + } + updateAccount(alias, updates) + } +} + export async function getNextAccount( config: typeof DEFAULT_CONFIG, selection?: AccountSelectionContext @@ -161,6 +291,7 @@ export async function getNextAccount( } const now = Date.now() + const creditAccountAliases = getCreditAccountAliases() // Phase E: If force mode is active, never fall back to another alias. if (forceActive && forceState.forcedAlias) { @@ -168,7 +299,7 @@ export async function getNextAccount( const forcedAccount = store.accounts[forcedAlias] if (forcedAccount) { - const health = evaluateAccountHealth(forcedAccount, now) + const health = evaluateAccountHealth(forcedAccount, now, creditAccountAliases) if (health.isHealthy) { const token = await ensureValidToken(forcedAlias) @@ -211,17 +342,43 @@ export async function getNextAccount( const healthMap = new Map() for (const alias of aliases) { const acc = store.accounts[alias] - healthMap.set(alias, evaluateAccountHealth(acc, now)) + healthMap.set(alias, evaluateAccountHealth(acc, now, creditAccountAliases)) } - const availableAliases = aliases.filter(alias => { + let availableAliases = aliases.filter(alias => { const health = healthMap.get(alias) return health?.isHealthy === true }) if (availableAliases.length === 0) { - console.warn('[multi-auth] No available accounts (rate-limited or invalidated).') - return null + debugAccountFiltering(store.accounts, aliases, now, creditAccountAliases) + await refreshUsageForRateLimitedAccounts(aliases, now, creditAccountAliases) + store = loadStore() + healthMap.clear() + for (const alias of aliases) { + const acc = store.accounts[alias] + if (acc) healthMap.set(alias, evaluateAccountHealth(acc, Date.now(), creditAccountAliases)) + } + availableAliases = aliases.filter(alias => { + const health = healthMap.get(alias) + return health?.isHealthy === true + }) + + if (availableAliases.length === 0) { + debugAccountFiltering(store.accounts, aliases, Date.now(), creditAccountAliases) + const softRateLimitedAliases = aliases.filter(alias => { + const acc = store.accounts[alias] + return acc ? shouldTrySoftRateLimitedAccount(acc, Date.now(), creditAccountAliases) : false + }) + + if (softRateLimitedAliases.length === 0) { + console.warn('[multi-auth] No available accounts (rate-limited or invalidated).') + return null + } + + console.warn('[multi-auth] All accounts are marked rate-limited; trying soft-limited accounts in case credits are available.') + availableAliases = softRateLimitedAliases + } } const tokenFailureCooldownMs = (() => { @@ -328,10 +485,29 @@ export async function getNextAccount( } } - const { primaryAliases, fallbackAliases } = getPreferredPools(store, availableAliases, selection) - const primary = buildCandidates(primaryAliases) - const fallback = fallbackAliases.length > 0 ? buildCandidates(fallbackAliases) : { aliases: [] as string[] } - const candidates = [...primary.aliases, ...fallback.aliases] + const includedLimitAliases = availableAliases.filter(alias => { + const acc = store.accounts[alias] + return acc ? !isUsingPaidCredits(acc, Date.now(), creditAccountAliases) : false + }) + const paidCreditAliases = availableAliases.filter(alias => { + const acc = store.accounts[alias] + return acc ? isUsingPaidCredits(acc, Date.now(), creditAccountAliases) : false + }) + + const buildCandidateGroups = (candidateAliases: string[]): Array<{ aliases: string[]; nextIndex?: (selected: string) => number }> => { + if (candidateAliases.length === 0) return [] + const { primaryAliases, fallbackAliases } = getPreferredPools(store, candidateAliases, selection) + const groups = [] + if (primaryAliases.length > 0) groups.push(buildCandidates(primaryAliases)) + if (fallbackAliases.length > 0) groups.push(buildCandidates(fallbackAliases)) + return groups + } + + const candidateGroups = [ + ...buildCandidateGroups(includedLimitAliases), + ...buildCandidateGroups(paidCreditAliases) + ] + const candidates = candidateGroups.flatMap(group => group.aliases) for (const candidate of candidates) { const token = await ensureValidToken(candidate) @@ -352,7 +528,7 @@ export async function getNextAccount( store.activeAlias = candidate store.lastRotation = now - const nextIndex = primary.aliases.includes(candidate) ? primary.nextIndex : fallback.nextIndex + const nextIndex = candidateGroups.find(group => group.aliases.includes(candidate))?.nextIndex if (nextIndex) { store.rotationIndex = nextIndex(candidate) } @@ -379,7 +555,8 @@ export function markRateLimited(alias: string, rateLimitedUntil: number): void { const safeUntil = Math.max(rateLimitedUntil, now + 1000) const seconds = Math.max(1, Math.ceil((safeUntil - now) / 1000)) updateAccount(alias, { - rateLimitedUntil: safeUntil + rateLimitedUntil: safeUntil, + credits: undefined }) console.warn(`[multi-auth] Account ${alias} marked rate-limited for ${seconds}s`) } diff --git a/src/settings.ts b/src/settings.ts index b9987f5..6f1de15 100644 --- a/src/settings.ts +++ b/src/settings.ts @@ -8,6 +8,7 @@ import { type WeightPreset, type SettingsValidationError } from './types.js' +import { parseCreditAccountAliases } from './credits-policy.js' // Phase F: Settings precedence: defaults -> persisted -> runtime -> env @@ -58,6 +59,13 @@ function resolveSettings(includeEnvOverrides: boolean): SettingsResult { source = 'env' } } + + if (process.env.OPENCODE_MULTI_AUTH_CREDIT_ACCOUNT_ALIASES !== undefined) { + settings.creditAccountAliases = parseCreditAccountAliases( + process.env.OPENCODE_MULTI_AUTH_CREDIT_ACCOUNT_ALIASES + ) + source = 'env' + } // Phase G: Feature flag environment overrides const envAntigravity = process.env.OPENCODE_MULTI_AUTH_ANTIGRAVITY_ENABLED diff --git a/src/store.ts b/src/store.ts index 3c3a623..e8be903 100644 --- a/src/store.ts +++ b/src/store.ts @@ -6,6 +6,7 @@ import { hasMeaningfulRateLimits } from './rate-limits.js' import type { AccountStore, AccountCredentials, + AccountCredits, RateLimitHistoryEntry, RateLimitSnapshot } from './types.js' @@ -139,6 +140,7 @@ function validateAccount(acc: any, alias: string): AccountCredentials | null { ) : undefined const rateLimits = hasMeaningfulRateLimits(acc.rateLimits) ? acc.rateLimits : undefined + const credits = validateCredits(acc.credits) return { alias, @@ -172,6 +174,7 @@ function validateAccount(acc: any, alias: string): AccountCredentials | null { disabledBy: typeof acc.disabledBy === 'string' ? acc.disabledBy : undefined, disableReason: typeof acc.disableReason === 'string' ? acc.disableReason : undefined, rateLimits, + credits, rateLimitHistory: rateLimitHistory && rateLimitHistory.length > 0 ? rateLimitHistory : undefined, limitStatus: typeof acc.limitStatus === 'string' ? acc.limitStatus : undefined, limitError: typeof acc.limitError === 'string' ? acc.limitError : undefined, @@ -190,6 +193,18 @@ function validateAccount(acc: any, alias: string): AccountCredentials | null { } } +function validateCredits(raw: any): AccountCredits | undefined { + if (!raw || typeof raw !== 'object') return undefined + + const credits: AccountCredits = {} + if (typeof raw.hasCredits === 'boolean') credits.hasCredits = raw.hasCredits + if (typeof raw.unlimited === 'boolean') credits.unlimited = raw.unlimited + if (typeof raw.balance === 'string' || raw.balance === null) credits.balance = raw.balance + if (typeof raw.updatedAt === 'number') credits.updatedAt = raw.updatedAt + + return Object.keys(credits).length > 0 ? credits : undefined +} + function validateStore(data: any): AccountStore | null { if (!data || typeof data !== 'object') return null diff --git a/src/types.ts b/src/types.ts index 7d1d83f..de8995a 100644 --- a/src/types.ts +++ b/src/types.ts @@ -35,6 +35,7 @@ export interface AccountCredentials { disabledBy?: string disableReason?: string rateLimits?: AccountRateLimits + credits?: AccountCredits rateLimitHistory?: RateLimitHistoryEntry[] limitStatus?: LimitStatus limitError?: string @@ -59,6 +60,31 @@ export interface AccountRateLimits { weekly?: RateLimitWindow } +export interface AccountCredits { + hasCredits?: boolean + unlimited?: boolean + balance?: string | null + updatedAt?: number +} + +function parseCreditBalance(balance: string | null | undefined): number | undefined { + if (typeof balance !== 'string') return undefined + const match = balance.replace(/,/g, '.').match(/-?\d+(?:\.\d+)?/) + if (!match) return undefined + const parsed = Number(match[0]) + return Number.isFinite(parsed) ? parsed : undefined +} + +export function hasUsableCredits(credits: AccountCredits | undefined | null): boolean { + if (!credits) return false + if (credits.unlimited === true) return true + if (credits.hasCredits === true) return true + if (credits.hasCredits === false) return false + + const balance = parseCreditBalance(credits.balance) + return typeof balance === 'number' && balance > 0 +} + export interface RateLimitSnapshot { remaining?: number limit?: number @@ -144,6 +170,7 @@ export interface PluginConfig { modelUnsupportedCooldownMs: number // How long to skip accounts that don't support the requested model workspaceDeactivatedCooldownMs: number // How long to skip accounts with deactivated workspaces modelFilter: RegExp // Which models to expose + creditAccountAliases?: string[] // If set, only these aliases may continue with paid credits. ['*'] means all. } // OpenCode provider model definition @@ -188,6 +215,10 @@ export interface RotationSettings { // Account weights for weighted rotation (0-1, sum should be 1) accountWeights: Record + + // If unset, credits are allowed for all accounts. If set, only listed aliases + // may continue after included Codex limits are exhausted. ['*'] means all. + creditAccountAliases?: string[] // Phase G: Feature flags featureFlags?: FeatureFlags @@ -322,6 +353,27 @@ export function validateSettings(settings: Partial): SettingsV }) } } + + if (settings.creditAccountAliases !== undefined) { + if (!Array.isArray(settings.creditAccountAliases)) { + errors.push({ + field: 'creditAccountAliases', + message: 'Credit account aliases must be an array of account aliases', + constraint: 'creditAccountAliases must be string[]' + }) + } else { + for (const alias of settings.creditAccountAliases) { + if (typeof alias !== 'string' || !alias.trim()) { + errors.push({ + field: 'creditAccountAliases', + message: 'Credit account aliases must contain non-empty strings', + constraint: 'every alias must be a non-empty string' + }) + break + } + } + } + } return errors } diff --git a/src/usage-limits.ts b/src/usage-limits.ts index 7297fef..dab16a0 100644 --- a/src/usage-limits.ts +++ b/src/usage-limits.ts @@ -1,5 +1,6 @@ import { getBlockingRateLimitResetAt, hasMeaningfulRateLimits } from './rate-limits.js' -import type { AccountCredentials, AccountRateLimits, RateLimitWindow } from './types.js' +import { hasUsableCredits } from './types.js' +import type { AccountCredentials, AccountCredits, AccountRateLimits, RateLimitWindow } from './types.js' const DEFAULT_USAGE_BASE_URL = 'https://chatgpt.com/backend-api' const USAGE_BASE_URL_ENV = 'OPENCODE_MULTI_AUTH_USAGE_BASE_URL' @@ -38,6 +39,7 @@ interface UsagePayload { export interface UsageRateLimitFetchResult { rateLimits?: AccountRateLimits planType?: string + credits?: AccountCredits rateLimitedUntil?: number error?: string shouldProbeFallback?: boolean @@ -47,6 +49,10 @@ export interface UsageRateLimitFetchResult { source: 'usage-api' } +export interface UsageRateLimitFetchOptions { + creditsAllowed?: boolean +} + interface UsageApiFailureClassification { shouldProbeFallback: boolean authInvalid?: boolean @@ -96,6 +102,34 @@ function pickRateLimitDetails(payload: UsagePayload): UsageRateLimitDetails | nu return additional.find((entry) => entry.rate_limit)?.rate_limit || null } +function mapCredits( + credits: UsagePayload['credits'], + now: number +): AccountCredits | undefined { + if (!credits || typeof credits !== 'object') return undefined + + const hasCredits = typeof credits.has_credits === 'boolean' + ? credits.has_credits + : undefined + const unlimited = typeof credits.unlimited === 'boolean' + ? credits.unlimited + : undefined + const balance = typeof credits.balance === 'string' || credits.balance === null + ? credits.balance + : undefined + + if (hasCredits === undefined && unlimited === undefined && balance === undefined) { + return undefined + } + + return { + hasCredits, + unlimited, + balance, + updatedAt: now + } +} + function parseUsageFailure(rawText: string): { code?: string; message?: string } { const trimmed = rawText.trim() if (!trimmed) { @@ -165,7 +199,8 @@ export function classifyUsageApiFailure( } export async function fetchUsageRateLimitsForAccount( - account: AccountCredentials + account: AccountCredentials, + options: UsageRateLimitFetchOptions = {} ): Promise { const token = account.accessToken?.trim() if (!token) { @@ -247,12 +282,23 @@ export async function fetchUsageRateLimitsForAccount( const now = Date.now() const details = pickRateLimitDetails(payload) + const credits = mapCredits(payload.credits, now) const rateLimits: AccountRateLimits = { fiveHour: mapWindow(details?.primary_window, now), weekly: mapWindow(details?.secondary_window, now) } + const creditsAllowed = options.creditsAllowed !== false + if (!hasMeaningfulRateLimits(rateLimits)) { + if (creditsAllowed && hasUsableCredits(credits)) { + return { + source: 'usage-api', + planType: payload.plan_type, + credits + } + } + return { source: 'usage-api', planType: payload.plan_type, @@ -261,12 +307,15 @@ export async function fetchUsageRateLimitsForAccount( } const rateLimitedUntil = details?.limit_reached || details?.allowed === false - ? getBlockingRateLimitResetAt(rateLimits, now) + ? creditsAllowed && hasUsableCredits(credits) + ? undefined + : getBlockingRateLimitResetAt(rateLimits, now) : undefined return { source: 'usage-api', planType: payload.plan_type, + credits, rateLimits, rateLimitedUntil } diff --git a/src/web.ts b/src/web.ts index 3346ff4..528db45 100644 --- a/src/web.ts +++ b/src/web.ts @@ -3832,6 +3832,9 @@ export function startWebConsole(options?: { port?: number; host?: string }): htt if (body.accountWeights) { updates.accountWeights = body.accountWeights } + if (Array.isArray(body.creditAccountAliases)) { + updates.creditAccountAliases = body.creditAccountAliases + } // Phase G: Handle feature flags if (body.featureFlags && typeof body.featureFlags === 'object') { diff --git a/tests/unit/limits-refresh.test.ts b/tests/unit/limits-refresh.test.ts index 825b0a1..c02128e 100644 --- a/tests/unit/limits-refresh.test.ts +++ b/tests/unit/limits-refresh.test.ts @@ -4,7 +4,7 @@ import type { AccountCredentials } from '../../src/types.js' const updateAccount = jest.fn() const loadStore = jest.fn() const probeRateLimitsForAccount = jest.fn<() => Promise>() -const fetchUsageRateLimitsForAccount = jest.fn<() => Promise>() +const fetchUsageRateLimitsForAccount = jest.fn<(...args: any[]) => Promise>() const logError = jest.fn() const logInfo = jest.fn() const markAuthInvalid = jest.fn() @@ -140,4 +140,66 @@ describe('refreshRateLimitsForAccount', () => { ) expect(result).toEqual({ alias: 'dead-token', updated: true }) }) + + it('stores credits and clears stale rate limits after successful usage refresh', async () => { + fetchUsageRateLimitsForAccount.mockResolvedValue({ + source: 'usage-api', + rateLimits: { + fiveHour: { remaining: 0, resetAt: Date.now() + 60_000 }, + weekly: { remaining: 0, resetAt: Date.now() + 120_000 } + }, + credits: { + hasCredits: true, + unlimited: false, + balance: '5.00', + updatedAt: Date.now() + }, + planType: 'pro', + rateLimitedUntil: undefined + }) + + const result = await refreshRateLimitsForAccount({ + ...baseAccount, + rateLimitedUntil: Date.now() + 3600_000 + }) + + expect(probeRateLimitsForAccount).not.toHaveBeenCalled() + expect(updateAccount).toHaveBeenLastCalledWith( + 'dead-token', + expect.objectContaining({ + limitStatus: 'success', + credits: expect.objectContaining({ + hasCredits: true, + balance: '5.00' + }), + rateLimitedUntil: undefined + }) + ) + expect(result).toEqual({ alias: 'dead-token', updated: true }) + }) + + it('passes credit policy to the usage API lookup', async () => { + process.env.OPENCODE_MULTI_AUTH_CREDIT_ACCOUNT_ALIASES = 'personal' + fetchUsageRateLimitsForAccount.mockResolvedValue({ + source: 'usage-api', + rateLimits: { + fiveHour: { remaining: 0, resetAt: Date.now() + 60_000 }, + weekly: { remaining: 0, resetAt: Date.now() + 120_000 } + }, + credits: { + hasCredits: true, + balance: '5.00' + }, + rateLimitedUntil: Date.now() + 60_000 + }) + + await refreshRateLimitsForAccount({ ...baseAccount, alias: 'work' }) + + expect(fetchUsageRateLimitsForAccount).toHaveBeenCalledWith( + expect.objectContaining({ alias: 'work' }), + { creditsAllowed: false } + ) + + delete process.env.OPENCODE_MULTI_AUTH_CREDIT_ACCOUNT_ALIASES + }) }) diff --git a/tests/unit/rotation-strategy.test.ts b/tests/unit/rotation-strategy.test.ts index d9ba6f6..c634a96 100644 --- a/tests/unit/rotation-strategy.test.ts +++ b/tests/unit/rotation-strategy.test.ts @@ -9,6 +9,7 @@ import { DEFAULT_CONFIG, type AccountCredentials } from '../../src/types.js' const TEST_DIR = path.join(os.tmpdir(), `oma-rotation-test-${Date.now()}`) const TEST_STORE_FILE = path.join(TEST_DIR, 'accounts.json') const originalEnv = process.env +const originalFetch = global.fetch function createAccount(alias: string, usageCount: number): AccountCredentials { return { @@ -38,6 +39,7 @@ describe('Rotation Strategy Runtime Behavior', () => { delete process.env.OPENCODE_MULTI_AUTH_ROTATION_STRATEGY delete process.env.OPENCODE_MULTI_AUTH_CRITICAL_THRESHOLD delete process.env.OPENCODE_MULTI_AUTH_LOW_THRESHOLD + delete process.env.OPENCODE_MULTI_AUTH_CREDIT_ACCOUNT_ALIASES if (fs.existsSync(TEST_DIR)) { fs.rmSync(TEST_DIR, { recursive: true, force: true }) @@ -46,6 +48,7 @@ describe('Rotation Strategy Runtime Behavior', () => { }) afterEach(() => { + global.fetch = originalFetch process.env = originalEnv if (fs.existsSync(TEST_DIR)) { fs.rmSync(TEST_DIR, { recursive: true, force: true }) @@ -141,4 +144,193 @@ describe('Rotation Strategy Runtime Behavior', () => { expect(rotation).toBeNull() }) + + it('keeps accounts with credits eligible after included limits are exhausted', async () => { + const store = loadStore() + store.accounts.noCredits = { + ...createAccount('noCredits', 0), + rateLimitedUntil: Date.now() + 60 * 60 * 1000 + } + store.accounts.withCredits = { + ...createAccount('withCredits', 10), + rateLimitedUntil: Date.now() + 60 * 60 * 1000, + credits: { + hasCredits: true, + unlimited: false, + balance: '5.00', + updatedAt: Date.now() + } + } + saveStore(store) + + const rotation = await getNextAccount( + { + ...DEFAULT_CONFIG, + rotationStrategy: 'least-used' + }, + { model: 'gpt-5.4' } + ) + + expect(rotation?.account.alias).toBe('withCredits') + }) + + it('uses included limit accounts before paid credit accounts', async () => { + const store = loadStore() + store.accounts.includedLimit = { + ...createAccount('includedLimit', 20) + } + store.accounts.paidCredits = { + ...createAccount('paidCredits', 0), + rateLimitedUntil: Date.now() + 60 * 60 * 1000, + credits: { + hasCredits: true, + balance: '5.00', + updatedAt: Date.now() + } + } + saveStore(store) + + const rotation = await getNextAccount( + { + ...DEFAULT_CONFIG, + rotationStrategy: 'least-used' + }, + { model: 'gpt-5.4' } + ) + + expect(rotation?.account.alias).toBe('includedLimit') + }) + + it('only keeps accounts with credits eligible when their alias is allowed', async () => { + process.env.OPENCODE_MULTI_AUTH_CREDIT_ACCOUNT_ALIASES = 'personal' + + const store = loadStore() + store.accounts.personal = { + ...createAccount('personal', 10), + rateLimitedUntil: Date.now() + 60 * 60 * 1000, + credits: { + hasCredits: true, + balance: '5.00', + updatedAt: Date.now() + } + } + store.accounts.work = { + ...createAccount('work', 0), + rateLimitedUntil: Date.now() + 60 * 60 * 1000, + credits: { + hasCredits: true, + balance: '5.00', + updatedAt: Date.now() + } + } + saveStore(store) + + const rotation = await getNextAccount( + { + ...DEFAULT_CONFIG, + rotationStrategy: 'least-used' + }, + { model: 'gpt-5.4' } + ) + + expect(rotation?.account.alias).toBe('personal') + }) + + it('does not use credits from disallowed accounts', async () => { + process.env.OPENCODE_MULTI_AUTH_CREDIT_ACCOUNT_ALIASES = 'personal' + + const store = loadStore() + store.accounts.work = { + ...createAccount('work', 0), + rateLimitedUntil: Date.now() + 60 * 60 * 1000, + credits: { + hasCredits: true, + balance: '5.00', + updatedAt: Date.now() + } + } + saveStore(store) + + const rotation = await getNextAccount( + { + ...DEFAULT_CONFIG, + rotationStrategy: 'least-used' + }, + { model: 'gpt-5.4' } + ) + + expect(rotation).toBeNull() + }) + + it('refreshes usage once when all accounts are blocked and credits were added later', async () => { + process.env.OPENCODE_MULTI_AUTH_USAGE_BASE_URL = 'https://example.test/backend-api' + global.fetch = (async (_url, init) => { + const auth = new Headers(init?.headers).get('Authorization') || '' + const hasCredits = auth.includes('token-withCredits') + return new Response(JSON.stringify({ + plan_type: 'pro', + credits: { + has_credits: hasCredits, + unlimited: false, + balance: hasCredits ? '5.00' : '0.00' + }, + rate_limit: { + allowed: false, + limit_reached: true, + primary_window: { used_percent: 100, reset_after_seconds: 60 }, + secondary_window: { used_percent: 100, reset_after_seconds: 120 } + } + }), { status: 200 }) + }) as typeof fetch + + const store = loadStore() + store.accounts.noCredits = { + ...createAccount('noCredits', 0), + rateLimitedUntil: Date.now() + 60 * 60 * 1000 + } + store.accounts.withCredits = { + ...createAccount('withCredits', 10), + rateLimitedUntil: Date.now() + 60 * 60 * 1000 + } + saveStore(store) + + const rotation = await getNextAccount( + { + ...DEFAULT_CONFIG, + rotationStrategy: 'least-used' + }, + { model: 'gpt-5.4' } + ) + + const reloaded = loadStore() + expect(rotation?.account.alias).toBe('withCredits') + expect(reloaded.accounts.withCredits.credits).toEqual(expect.objectContaining({ + hasCredits: true, + balance: '5.00' + })) + expect(reloaded.accounts.withCredits.rateLimitedUntil).toBeUndefined() + }) + + it('tries soft rate-limited accounts when usage refresh cannot confirm credits', async () => { + process.env.OPENCODE_MULTI_AUTH_USAGE_BASE_URL = 'https://example.test/backend-api' + global.fetch = (async () => new Response('{}', { status: 403 })) as typeof fetch + + const store = loadStore() + store.accounts.alpha = { + ...createAccount('alpha', 0), + rateLimitedUntil: Date.now() + 60 * 60 * 1000 + } + store.accounts.beta = { + ...createAccount('beta', 10), + rateLimitedUntil: Date.now() + 60 * 60 * 1000 + } + saveStore(store) + + const rotation = await getNextAccount({ + ...DEFAULT_CONFIG, + rotationStrategy: 'least-used' + }) + + expect(rotation?.account.alias).toBe('alpha') + }) }) diff --git a/tests/unit/store.test.ts b/tests/unit/store.test.ts index 14eade7..c47febd 100644 --- a/tests/unit/store.test.ts +++ b/tests/unit/store.test.ts @@ -79,6 +79,28 @@ describe('Store Operations', () => { expect(reloaded.accounts['test-alias'].userId).toBe('user-456') }) + it('should persist credit state across reload', () => { + addAccount('credited-alias', { + accessToken: 'test-access-token', + refreshToken: 'test-refresh-token', + expiresAt: Date.now() + 3600000, + credits: { + hasCredits: true, + unlimited: false, + balance: '7.50', + updatedAt: Date.now() + } + }) + + const reloaded = loadStore() + expect(reloaded.accounts['credited-alias'].credits).toEqual(expect.objectContaining({ + hasCredits: true, + unlimited: false, + balance: '7.50', + updatedAt: expect.any(Number) + })) + }) + it('should remove an account', () => { addAccount('alias1', { accessToken: 'token1', diff --git a/tests/unit/usage-limits.test.ts b/tests/unit/usage-limits.test.ts index a7fe498..597e3a8 100644 --- a/tests/unit/usage-limits.test.ts +++ b/tests/unit/usage-limits.test.ts @@ -101,4 +101,89 @@ describe('usage API fetch', () => { expect(result.rateLimits?.fiveHour?.remaining).toBe(75) expect(result.rateLimits?.weekly?.remaining).toBe(90) }) + + it('does not block an account when included limits are exhausted but credits are available', async () => { + const mockFetch = jest.fn(async () => new Response(JSON.stringify({ + plan_type: 'pro', + credits: { + has_credits: true, + unlimited: false, + balance: '10.00' + }, + rate_limit: { + allowed: false, + limit_reached: true, + primary_window: { used_percent: 100, reset_after_seconds: 60 }, + secondary_window: { used_percent: 100, reset_after_seconds: 120 } + } + }), { status: 200 })) + global.fetch = mockFetch as typeof fetch + + const result = await fetchUsageRateLimitsForAccount(account) + + expect(result.credits).toEqual(expect.objectContaining({ + hasCredits: true, + unlimited: false, + balance: '10.00', + updatedAt: expect.any(Number) + })) + expect(result.rateLimits?.fiveHour?.remaining).toBe(0) + expect(result.rateLimits?.weekly?.remaining).toBe(0) + expect(result.rateLimitedUntil).toBeUndefined() + }) + + it('blocks an account with credits when credit fallback is disabled for that account', async () => { + const mockFetch = jest.fn(async () => new Response(JSON.stringify({ + plan_type: 'pro', + credits: { + has_credits: true, + unlimited: false, + balance: '10.00' + }, + rate_limit: { + allowed: false, + limit_reached: true, + primary_window: { used_percent: 100, reset_after_seconds: 60 }, + secondary_window: { used_percent: 100, reset_after_seconds: 120 } + } + }), { status: 200 })) + global.fetch = mockFetch as typeof fetch + + const result = await fetchUsageRateLimitsForAccount(account, { creditsAllowed: false }) + + expect(result.credits).toEqual(expect.objectContaining({ + hasCredits: true, + balance: '10.00' + })) + expect(result.rateLimitedUntil).toEqual(expect.any(Number)) + expect(result.rateLimitedUntil).toBeGreaterThan(Date.now()) + }) + + it('blocks an account when included limits are exhausted and no credits are available', async () => { + const mockFetch = jest.fn(async () => new Response(JSON.stringify({ + plan_type: 'pro', + credits: { + has_credits: false, + unlimited: false, + balance: '0.00' + }, + rate_limit: { + allowed: false, + limit_reached: true, + primary_window: { used_percent: 100, reset_after_seconds: 60 }, + secondary_window: { used_percent: 100, reset_after_seconds: 120 } + } + }), { status: 200 })) + global.fetch = mockFetch as typeof fetch + + const result = await fetchUsageRateLimitsForAccount(account) + + expect(result.credits).toEqual(expect.objectContaining({ + hasCredits: false, + unlimited: false, + balance: '0.00' + })) + expect(result.rateLimitedUntil).toEqual(expect.any(Number)) + expect(result.rateLimitedUntil).toBeGreaterThan(Date.now()) + }) })