@open-mercato/cezar 0.16.0 → 0.16.1-pr1583.3433

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (113) hide show
  1. package/dist/contract/agent-profiles.d.ts +2 -2
  2. package/dist/contract/index.js +3 -0
  3. package/dist/contract/projects.d.ts +4 -0
  4. package/dist/core/backend-detect.js +10 -0
  5. package/dist/core/backend-detect.js.map +1 -1
  6. package/dist/core/codex-app-server-runner.d.ts +3 -0
  7. package/dist/core/codex-app-server-runner.js +46 -4
  8. package/dist/core/codex-app-server-runner.js.map +1 -1
  9. package/dist/core/cursor-bin.d.ts +7 -0
  10. package/dist/core/cursor-bin.js +11 -0
  11. package/dist/core/cursor-bin.js.map +1 -1
  12. package/dist/core/opencode-server-runner.d.ts +2 -0
  13. package/dist/core/opencode-server-runner.js +28 -2
  14. package/dist/core/opencode-server-runner.js.map +1 -1
  15. package/dist/core/provider-auth.d.ts +25 -7
  16. package/dist/core/provider-auth.js +141 -17
  17. package/dist/core/provider-auth.js.map +1 -1
  18. package/dist/core/usage-limit.js +51 -6
  19. package/dist/core/usage-limit.js.map +1 -1
  20. package/dist/runs/agent-error-telemetry.d.ts +3 -2
  21. package/dist/runs/agent-error-telemetry.js +24 -3
  22. package/dist/runs/agent-error-telemetry.js.map +1 -1
  23. package/dist/self-update/checkouts.js +8 -4
  24. package/dist/self-update/checkouts.js.map +1 -1
  25. package/dist/server/provider-auth-runtime.js +6 -3
  26. package/dist/server/provider-auth-runtime.js.map +1 -1
  27. package/dist/server/server.d.ts +10 -0
  28. package/dist/server/server.js +12 -3
  29. package/dist/server/server.js.map +1 -1
  30. package/dist/server/terminal/detected-urls.js +6 -1
  31. package/dist/server/terminal/detected-urls.js.map +1 -1
  32. package/dist/workspace/projects.d.ts +2 -0
  33. package/dist/workspace/projects.js.map +1 -1
  34. package/package.json +3 -3
  35. package/web/dist/assets/{agent-task-pickers-DXaIqpJo.js → agent-task-pickers-DEW3Vgdv.js} +1 -1
  36. package/web/dist/assets/{alert-dialog-BRafiUQO.js → alert-dialog-DvPnvVvK.js} +1 -1
  37. package/web/dist/assets/arrow-left-BELOeFyX.js +1 -0
  38. package/web/dist/assets/{automation-format-DeGsIrRc.js → automation-format-BL4n19a2.js} +1 -1
  39. package/web/dist/assets/{automations-route-CwLG2JNr.js → automations-route-Cx7mzYhD.js} +1 -1
  40. package/web/dist/assets/{button-ZPJ84lSe.js → button-Clwd6u4_.js} +1 -1
  41. package/web/dist/assets/{centered-state-DPvWqO6I.js → centered-state-nM7v9xtl.js} +1 -1
  42. package/web/dist/assets/check-Dt8U0Zvm.js +1 -0
  43. package/web/dist/assets/chevron-left-Df5IsPem.js +1 -0
  44. package/web/dist/assets/chevron-right-VbYrJ_st.js +1 -0
  45. package/web/dist/assets/circle-check-DnEaQ9Rj.js +1 -0
  46. package/web/dist/assets/{collapsible-D5nsq_lY.js → collapsible-Bdyuw-he.js} +1 -1
  47. package/web/dist/assets/{commit-list-Cj_rtptn.js → commit-list-xMdmPYbz.js} +1 -1
  48. package/web/dist/assets/{compare-variants-DI8e5hXy.js → compare-variants-B6ja1M4D.js} +1 -1
  49. package/web/dist/assets/{dashboard-Bq8Zgcct.js → dashboard-ClEGBFFq.js} +1 -1
  50. package/web/dist/assets/{diff-Dzk_1Vj_.js → diff-CJKocK17.js} +2 -2
  51. package/web/dist/assets/{diff-stat-CG6Qr4ac.js → diff-stat-CiWUpWY0.js} +1 -1
  52. package/web/dist/assets/{diff-view-CnRMn9fw.js → diff-view-DqWj0yYe.js} +1 -1
  53. package/web/dist/assets/{download-CAIBRPES.js → download-DOJ8Dqfh.js} +1 -1
  54. package/web/dist/assets/{file-BuJHbBa7.js → file-1a6_DhLG.js} +1 -1
  55. package/web/dist/assets/{file-preview-Dy3TYcU4.js → file-preview-iucr8WDo.js} +1 -1
  56. package/web/dist/assets/{file-text-DYR0Kxgo.js → file-text-DmMQx3hx.js} +1 -1
  57. package/web/dist/assets/{git-pull-request-draft-tzNd17hB.js → git-pull-request-draft-Cn24ayXz.js} +1 -1
  58. package/web/dist/assets/git-tab-loading-BfC2ir8N.js +1 -0
  59. package/web/dist/assets/{git-toolbar-Dc6kAzPv.js → git-toolbar-DU5Ca6RI.js} +1 -1
  60. package/web/dist/assets/{github-k0H4K2Xv.js → github-CELdSmld.js} +1 -1
  61. package/web/dist/assets/{host-usage-BmL2kzAM.js → host-usage-DjDYDU0A.js} +1 -1
  62. package/web/dist/assets/{icon-tooltip-BEOrU9g6.js → icon-tooltip-YXzUubMO.js} +1 -1
  63. package/web/dist/assets/{index-B7LeGGi2.js → index-BBND6Sg3.js} +4 -4
  64. package/web/dist/assets/{input-NF_gJ6fV.js → input-DIWTlsx6.js} +1 -1
  65. package/web/dist/assets/{layout-cards-Cx4pRGy3.js → layout-cards-Sur4EWtx.js} +1 -1
  66. package/web/dist/assets/loader-circle-D-ter0qP.js +1 -0
  67. package/web/dist/assets/{markdown-D27e_KDW.js → markdown-BzqT8I8y.js} +1 -1
  68. package/web/dist/assets/{markdown-DUNEzJJg.js → markdown-Rbaca31B.js} +1 -1
  69. package/web/dist/assets/{message-square-DHEW7I0Y.js → message-square-EWpWB_Gr.js} +1 -1
  70. package/web/dist/assets/plus-CBVm02wz.js +1 -0
  71. package/web/dist/assets/{project-router-CIOAbq2D.js → project-router-DZsR9P9C.js} +1 -1
  72. package/web/dist/assets/{queries-B--Cyn_0.js → queries-CI0EmEcH.js} +1 -1
  73. package/web/dist/assets/{reference-chip-C0KB59wJ.js → reference-chip-DnemrSPW.js} +1 -1
  74. package/web/dist/assets/{repo-git-BlEiXMbR.js → repo-git-Bj0PBOjX.js} +1 -1
  75. package/web/dist/assets/{run-diff-C_AD_Pms.js → run-diff-BPZ85gAE.js} +1 -1
  76. package/web/dist/assets/{save-Ct323V7q.js → save-B8DEQI2V.js} +1 -1
  77. package/web/dist/assets/{scroll-within-DVYNEANz.js → scroll-within-Cm6fjjNd.js} +1 -1
  78. package/web/dist/assets/{search-x-7tkSEIRx.js → search-x-CuinYQnl.js} +1 -1
  79. package/web/dist/assets/{settings-2-CmkgM6rX.js → settings-2-COky68xN.js} +1 -1
  80. package/web/dist/assets/{skills-DKqFJCnx.js → skills-BgCN1gTp.js} +1 -1
  81. package/web/dist/assets/{square-Du4NO0cr.js → square-8OFxLPoA.js} +1 -1
  82. package/web/dist/assets/{tabs-BhcbXPq1.js → tabs-BUk8rSoE.js} +1 -1
  83. package/web/dist/assets/{tag-DczwHOyX.js → tag-yruQH0i-.js} +1 -1
  84. package/web/dist/assets/{task-commits-DtSkB1UU.js → task-commits-W1ZZiEt4.js} +1 -1
  85. package/web/dist/assets/{task-graph-DalcExDj.js → task-graph-DI2fn5M8.js} +1 -1
  86. package/web/dist/assets/{task-notes-BHYduZ1z.js → task-notes-lmvd1UM7.js} +1 -1
  87. package/web/dist/assets/{task-workspace-LhAGqT6q.js → task-workspace-B8Fpho3e.js} +3 -3
  88. package/web/dist/assets/{terminal-tordSBUt.js → terminal-F3ZJ5fI8.js} +1 -1
  89. package/web/dist/assets/{terminal-drawer-Cvbqz2QG.js → terminal-drawer-DAkquqSe.js} +2 -2
  90. package/web/dist/assets/{textarea-Dy9f469S.js → textarea-ewNKsXDa.js} +1 -1
  91. package/web/dist/assets/{token-metrics-edH1Iifj.js → token-metrics-Dk2ZNHb_.js} +1 -1
  92. package/web/dist/assets/{tooltip-tycRJnh-.js → tooltip-B628Gs7C.js} +1 -1
  93. package/web/dist/assets/{tracker-BNqQ5hFE.js → tracker-Cqdpt9RN.js} +1 -1
  94. package/web/dist/assets/{triangle-alert-BDB8QKSV.js → triangle-alert-BqI_9MkV.js} +1 -1
  95. package/web/dist/assets/{upload-H7_s70Ro.js → upload-J0hBTVF7.js} +1 -1
  96. package/web/dist/assets/{use-automations-7Eect_3d.js → use-automations-v77gHYDG.js} +1 -1
  97. package/web/dist/assets/{use-now-DUGH_55J.js → use-now-pBdvhv13.js} +1 -1
  98. package/web/dist/assets/{use-submit-shortcut-D4G7Y1CV.js → use-submit-shortcut-hAaAH4HY.js} +1 -1
  99. package/web/dist/assets/{workflow-graph-4GB6HfLn.js → workflow-graph-l7O50dsV.js} +1 -1
  100. package/web/dist/assets/worktree-lifecycle-operation-DOTiqQFx.js +18 -0
  101. package/web/dist/assets/x-DMIsmLBt.js +1 -0
  102. package/web/dist/index.html +37 -37
  103. package/dist/telemetry-service.json +0 -1
  104. package/web/dist/assets/arrow-left-BfLRAgF_.js +0 -1
  105. package/web/dist/assets/check-Blje0ysd.js +0 -1
  106. package/web/dist/assets/chevron-left-CwNUPSrV.js +0 -1
  107. package/web/dist/assets/chevron-right-dAzuginM.js +0 -1
  108. package/web/dist/assets/circle-check-B_-oU6Lf.js +0 -1
  109. package/web/dist/assets/git-tab-loading-BL6wGQi_.js +0 -1
  110. package/web/dist/assets/loader-circle-i7B5PoZa.js +0 -1
  111. package/web/dist/assets/plus-CUeDPNAL.js +0 -1
  112. package/web/dist/assets/worktree-lifecycle-operation-C6S6Hgiq.js +0 -18
  113. package/web/dist/assets/x-PavsP4k3.js +0 -1
@@ -29,10 +29,16 @@ export type RunProviderCommand = (executable: string, args: readonly string[], t
29
29
  * 2026-07-29-agent-profiles). Optional so every existing caller and the test kit keep their
30
30
  * three-argument signature; absent means the default profile, which needs nothing. */
31
31
  env?: Record<string, string>,
32
- /** Written to the probe's stdin, which is then closed. Only Copilot needs it: the CLI ships no
33
- * non-interactive auth-status command, so its state is read by driving its ACP server. Optional
34
- * so every existing caller and the test kit keep their shorter signature. */
35
- stdin?: string) => Promise<ProviderCommandResult>;
32
+ /** Written to the probe's stdin. Only Copilot needs it: the CLI ships no non-interactive
33
+ * auth-status command, so its state is read by driving its ACP server. Optional so every
34
+ * existing caller and the test kit keep their shorter signature. */
35
+ stdin?: ProviderStdin) => Promise<ProviderCommandResult>;
36
+ export interface ProviderStdin {
37
+ payload: string;
38
+ /** Keep stdin open until stdout satisfies this; absent closes it right after the payload. A
39
+ * server that exits on EOF drops requests still in flight (telemetry 298c2e1f). */
40
+ closeWhen?: (stdout: string) => boolean;
41
+ }
36
42
  /**
37
43
  * The explicit environment lock delegates model and credential configuration
38
44
  * to each native coding agent. In that mode Cezar must not second-guess the
@@ -43,6 +49,10 @@ stdin?: string) => Promise<ProviderCommandResult>;
43
49
  */
44
50
  export declare function providerAuthChecksDisabled(env?: NodeJS.ProcessEnv): boolean;
45
51
  export declare function isRuntimeProviderAuthFailure(message: string): boolean;
52
+ export declare function isDefinitiveProviderAuthFailure(message: string): boolean;
53
+ /** The `session/new` response (id 1) has arrived, as a result or an error. */
54
+ export declare function copilotAcpAnswered(stdout: string): boolean;
55
+ export declare function defaultRunProviderCommand(executable: string, args: readonly string[], timeoutMs: number, env?: Record<string, string>, stdin?: ProviderStdin): Promise<ProviderCommandResult>;
46
56
  /** One authoritative runtime authentication incident. The identifier is opaque
47
57
  * and stable until the user explicitly acknowledges that exact incident. */
48
58
  export interface RuntimeAuthFailureReport {
@@ -150,15 +160,23 @@ export declare class ProviderAuthService {
150
160
  status(options?: {
151
161
  refresh?: boolean;
152
162
  }): Promise<ProviderStatusResponse>;
153
- reportRuntimeAuthFailure(provider: ProviderId): RuntimeAuthFailureReport | null;
163
+ reportRuntimeAuthFailure(provider: ProviderId, options?: {
164
+ definitive?: boolean;
165
+ }): RuntimeAuthFailureReport | null;
154
166
  /**
155
167
  * A runtime rejection on a NAMED agent account (telemetry 9e4a95db): latched on that account only.
156
168
  * Raising the provider-wide latch instead blamed the default login, which was still signed in.
157
169
  * Lifts when a probe of this account that started after the rejection answers connected — the
158
- * pane's Check again, Connect's watch, or the action gate's verify-before-refuse.
170
+ * pane's Check again, Connect's watch, or the action gate's verify-before-refuse. A definitive
171
+ * one lifts only after the user's own Check again ({@link recheckProfileAuthFailure}).
159
172
  */
160
- reportProfileAuthFailure(provider: ProviderId, profileId: string): RuntimeAuthFailureReport | null;
173
+ reportProfileAuthFailure(provider: ProviderId, profileId: string, options?: {
174
+ definitive?: boolean;
175
+ }): RuntimeAuthFailureReport | null;
161
176
  private withProfileFailure;
177
+ /** The user pressed Check again on this account: a probe started from now on may lift even a
178
+ * definitive incident. Their click, not cezar's own probing, is the evidence of a fresh login. */
179
+ recheckProfileAuthFailure(provider: ProviderId, profileId: string): void;
162
180
  /** Clear only the incident the caller actually observed. A stale retry must
163
181
  * never erase a rejection that arrived after the user began recovery. */
164
182
  clearRuntimeAuthFailure(provider: ProviderId, authFailureId: string): boolean;
@@ -6,11 +6,14 @@ import { AGENT_MODELS_LOCKED_ENV } from './agent-model-policy.js';
6
6
  import { profileEnv } from './agent-profiles.js';
7
7
  import { isSignalTerminationExit } from './agent-runner.js';
8
8
  import { resolveClaudeBin } from './claude-bin.js';
9
- import { resolveCursorAgentBin } from './cursor-bin.js';
9
+ import { isForeignCursorAgent, resolveCursorAgentBin } from './cursor-bin.js';
10
10
  import { quoteExecutable, withEnvPrefix } from './shell-env.js';
11
11
  import { probeJunieAuthentication } from './junie-auth-probe.js';
12
12
  import { spawnableCommand } from './windows-shim.js';
13
13
  export const PROVIDER_IDS = ['claude', 'codex', 'opencode', 'cursor', 'pi', 'junie', 'copilot'];
14
+ /** How long before its timeout a held-open stdin is closed anyway, so the CLI exits on EOF and
15
+ * its answer is read as an answer rather than discarded as a hang. */
16
+ const STDIN_CLOSE_MARGIN_MS = 2_000;
14
17
  /**
15
18
  * The explicit environment lock delegates model and credential configuration
16
19
  * to each native coding agent. In that mode Cezar must not second-guess the
@@ -113,6 +116,17 @@ export function isRuntimeProviderAuthFailure(message) {
113
116
  return [...RUNTIME_AUTH_FAILURE_PATTERNS, ...RUNTIME_API_KEY_FAILURE_PATTERNS]
114
117
  .some((pattern) => pattern.test(message));
115
118
  }
119
+ /** Claude Code's own verdict after its token refresh was refused (`OAuthRefreshDeadError`), while
120
+ * `claude auth status` keeps answering `loggedIn: true` from the token still on disk — so the
121
+ * self-check cleared the latch and the next run failed the same way (telemetry 9e4a95db). The
122
+ * "another process is refreshing" variant is transient and deliberately not matched. */
123
+ const DEFINITIVE_AUTH_FAILURE_PATTERNS = [
124
+ /\boauth session expired and could not be refreshed\b/i,
125
+ /\brefresh token is no longer valid\b/i,
126
+ ];
127
+ export function isDefinitiveProviderAuthFailure(message) {
128
+ return DEFINITIVE_AUTH_FAILURE_PATTERNS.some((pattern) => pattern.test(message));
129
+ }
116
130
  function normalizedOutput(stdout) {
117
131
  return stdout.replace(ANSI_SEQUENCE, '').trim().toLowerCase();
118
132
  }
@@ -160,22 +174,43 @@ function parseCodexStatus(result) {
160
174
  return 'disconnected';
161
175
  return null;
162
176
  }
177
+ /** OpenCode 2.x `auth list --format json`: the integrations that have at least one connection. */
178
+ function parseOpenCodeJson(stdout) {
179
+ let value;
180
+ try {
181
+ value = JSON.parse(stdout);
182
+ }
183
+ catch {
184
+ return null;
185
+ }
186
+ if (!Array.isArray(value))
187
+ return null;
188
+ const wellFormed = value.every((entry) => typeof entry === 'object' && entry !== null
189
+ && Array.isArray(entry.connections)
190
+ && entry.connections.length > 0);
191
+ if (!wellFormed)
192
+ return null;
193
+ return value.length > 0 ? 'connected' : 'disconnected';
194
+ }
163
195
  function parseOpenCodeStatus(result) {
164
196
  if (result.exitCode !== 0)
165
197
  return null;
198
+ if (/^\s*\[/.test(result.stdout))
199
+ return parseOpenCodeJson(result.stdout);
166
200
  const lines = normalizedLines(result.stdout);
167
201
  const storedSummaries = lines
168
202
  .map((line) => line.match(/^[^a-z0-9]*(\d+)\s+credentials?$/)?.[1])
169
203
  .filter((count) => count !== undefined);
170
- // OpenCode 2.x replaced the summary with one row per stored credential, with the literal
171
- // `stored` state in the final column. Keep this shape deliberately narrow: a successful empty
172
- // response is the valid no-credentials answer, while any other output without either the 1.x
204
+ // OpenCode 2.x replaced the summary with one row per connection, with its `stored` or
205
+ // `environment` type in the final column, and prints `No authenticated integrations` (2.0.28;
206
+ // an empty answer before that) when there is none. Any other output without either the 1.x
173
207
  // summary or 2.x rows remains inconclusive rather than being guessed as disconnected.
174
208
  if (storedSummaries.length === 0) {
175
- if (lines.length === 0)
209
+ if (lines.length === 0 || (lines.length === 1 && lines[0] === 'no authenticated integrations')) {
176
210
  return 'disconnected';
177
- const storedRows = lines.filter((line) => /^.+\s{2,}.+\s+stored$/.test(line));
178
- return storedRows.length === lines.length && storedRows.length > 0 ? 'connected' : null;
211
+ }
212
+ const rows = lines.filter((line) => /^.+\s{2,}.+\s+(?:stored|environment)$/.test(line));
213
+ return rows.length === lines.length && rows.length > 0 ? 'connected' : null;
179
214
  }
180
215
  if (storedSummaries.length !== 1)
181
216
  return null;
@@ -231,6 +266,8 @@ function parsePiStatus(result) {
231
266
  * server that answers the question definitively and cheaply: `session/new` returns a `sessionId`
232
267
  * for an entitled credential and the JSON-RPC error `-32000 "Authentication required"` without
233
268
  * one. Nothing is prompted, so no AI credits are spent, and the server exits when stdin closes.
269
+ * It exits on EOF without answering what is still in flight, so stdin stays open until
270
+ * `session/new` is answered (telemetry 298c2e1f: a slow `session/new` came back unanswered).
234
271
  */
235
272
  function copilotAcpProbeStdin() {
236
273
  const initialize = {
@@ -241,7 +278,15 @@ function copilotAcpProbeStdin() {
241
278
  };
242
279
  // A throwaway cwd: the probe must not touch the user's repo, and `session/new` requires one.
243
280
  const newSession = { jsonrpc: '2.0', id: 1, method: 'session/new', params: { cwd: tmpdir(), mcpServers: [] } };
244
- return `${JSON.stringify(initialize)}\n${JSON.stringify(newSession)}\n`;
281
+ return {
282
+ payload: `${JSON.stringify(initialize)}\n${JSON.stringify(newSession)}\n`,
283
+ closeWhen: copilotAcpAnswered,
284
+ };
285
+ }
286
+ /** The `session/new` response (id 1) has arrived, as a result or an error. */
287
+ export function copilotAcpAnswered(stdout) {
288
+ return /"id"\s*:\s*1\s*,\s*"(?:result|error)"\s*:/.test(stdout)
289
+ || /"Authentication required"/i.test(stdout);
245
290
  }
246
291
  function parseCopilotStatus(result) {
247
292
  const output = `${result.stdout}\n${result.stderr}`;
@@ -287,6 +332,7 @@ const DESCRIPTORS = [
287
332
  overrideEnv: 'CEZ_OPENCODE_BIN',
288
333
  executable: () => process.env.CEZ_OPENCODE_BIN ?? 'opencode',
289
334
  statusArgs: ['auth', 'list'],
335
+ fallbackArgs: openCodeFallbackArgs,
290
336
  loginArgs: ['auth', 'login'],
291
337
  updateArgs: ['upgrade'],
292
338
  installHint: 'Install OpenCode, then run `opencode auth login`.',
@@ -299,6 +345,7 @@ const DESCRIPTORS = [
299
345
  statusArgs: ['status', '--format', 'json'],
300
346
  fallbackArgs: cursorFallbackArgs,
301
347
  unrecognizedHint: cursorUnrecognizedHint,
348
+ foreign: (executable, version) => isForeignCursorAgent(executable, version.exitCode === 0 ? cliVersionFrom(version.stdout) : null),
302
349
  loginArgs: ['login'],
303
350
  updateArgs: ['update'],
304
351
  installHint: 'Install the Cursor CLI (`curl https://cursor.com/install -fsS | bash`), then run `agent login` (or set CURSOR_API_KEY).',
@@ -314,6 +361,9 @@ const DESCRIPTORS = [
314
361
  loginArgs: ['/login'],
315
362
  installHint: 'Install pi, then run `pi /login`.',
316
363
  parse: parsePiStatus,
364
+ // Real pi answers `--version` with exit 0, like detection requires; a `pi` that can't is a shim
365
+ // or another tool whose wording no pattern list keeps up with (telemetry f67df9d2, after #1504).
366
+ foreign: (_executable, version) => !process.env.CEZ_PI_BIN && version.exitCode !== 0,
317
367
  },
318
368
  {
319
369
  id: 'junie',
@@ -335,6 +385,8 @@ const DESCRIPTORS = [
335
385
  installHint: 'Install GitHub Copilot CLI (`npm i -g @github/copilot`), then run `copilot login`.',
336
386
  parse: parseCopilotStatus,
337
387
  stdin: copilotAcpProbeStdin,
388
+ // The version of the binary the probe ran, not a cached newer package.
389
+ versionArgs: ['--no-auto-update', '--version'],
338
390
  unrecognizedHint: copilotUnrecognizedHint,
339
391
  },
340
392
  ];
@@ -380,6 +432,20 @@ function cursorFallbackArgs(result) {
380
432
  return undefined;
381
433
  return REJECTED_FORMAT_FLAG.test(`${result.stderr}\n${result.stdout}`) ? ['status'] : undefined;
382
434
  }
435
+ /**
436
+ * OpenCode 2.x answers `auth list` through its background service, so a service that cannot start
437
+ * (port taken, crashed) fails the probe with exit 1 and a one-line stderr (telemetry 107e44a9).
438
+ * Ask once more with a private server and the JSON format (both since 2.0.0). Not for OpenCode 1.x,
439
+ * whose `Credentials <path>` header shows it answered and which rejects both flags.
440
+ */
441
+ function openCodeFallbackArgs(result) {
442
+ // Only a CLI that answered: not installed, a spawn error, a hang or a signal is not a failed service.
443
+ if (result.errorCode || result.timedOut || result.exitCode === null)
444
+ return undefined;
445
+ if (normalizedLines(result.stdout).some((line) => /^[^a-z0-9]*credentials\s/.test(line)))
446
+ return undefined;
447
+ return ['auth', 'list', '--standalone', '--format', 'json'];
448
+ }
383
449
  /** Telemetry 8d304c50: an `agent` that answers neither shape is likely another program of that name. */
384
450
  function cursorUnrecognizedHint(result) {
385
451
  if (result.stdout.trim())
@@ -387,10 +453,11 @@ function cursorUnrecognizedHint(result) {
387
453
  return 'The Cursor CLI did not answer its status check. Update it with `cursor-agent update`, or point '
388
454
  + 'CEZ_CURSOR_AGENT_BIN at Cursor\'s `cursor-agent` if another program named `agent` comes first on PATH.';
389
455
  }
390
- function defaultRunProviderCommand(executable, args, timeoutMs, env, stdin) {
456
+ export function defaultRunProviderCommand(executable, args, timeoutMs, env, stdin) {
391
457
  // A Windows `.cmd` shim runs as `node <script>`: execFile throws EINVAL on the shim (a330744e).
392
458
  const [file, argv] = spawnableCommand(executable, args);
393
459
  return new Promise((resolve) => {
460
+ let closeTimer;
394
461
  const child = execFile(file, argv, {
395
462
  timeout: timeoutMs,
396
463
  windowsHide: true,
@@ -400,6 +467,7 @@ function defaultRunProviderCommand(executable, args, timeoutMs, env, stdin) {
400
467
  // host's PATH and HOME to run at all. `env` is only ever a profile's config-dir variable.
401
468
  ...(env && Object.keys(env).length > 0 ? { env: { ...process.env, ...env } } : {}),
402
469
  }, (error, stdout, stderr) => {
470
+ clearTimeout(closeTimer);
403
471
  const commandError = error;
404
472
  const code = commandError?.code;
405
473
  const timedOut = commandError?.code === 'ETIMEDOUT'
@@ -413,9 +481,30 @@ function defaultRunProviderCommand(executable, args, timeoutMs, env, stdin) {
413
481
  ...(!timedOut && commandError?.signal ? { signal: commandError.signal } : {}),
414
482
  });
415
483
  });
484
+ // A CLI that exits before reading its payload must not crash cezar with an unhandled EPIPE.
485
+ child.stdin?.on('error', () => { });
416
486
  // Closing stdin is what makes a stdin-driven probe terminate at all: the Copilot ACP server
417
487
  // reads until EOF. A probe with no payload closes it immediately, exactly as before.
418
- child.stdin?.end(stdin ?? '');
488
+ const closeWhen = stdin?.closeWhen;
489
+ if (!closeWhen || !child.stdin || !child.stdout) {
490
+ child.stdin?.end(stdin?.payload ?? '');
491
+ return;
492
+ }
493
+ const { stdin: input, stdout: output } = child;
494
+ let seen = '';
495
+ const close = () => {
496
+ clearTimeout(closeTimer);
497
+ output.off('data', onData);
498
+ input.end();
499
+ };
500
+ const onData = (chunk) => {
501
+ seen += String(chunk);
502
+ if (closeWhen(seen))
503
+ close();
504
+ };
505
+ output.on('data', onData);
506
+ closeTimer = setTimeout(close, Math.max(0, timeoutMs - STDIN_CLOSE_MARGIN_MS));
507
+ input.write(stdin.payload);
419
508
  });
420
509
  }
421
510
  /** The per-account cache key. ONE definition: a probe that wrote under a different spelling than
@@ -429,6 +518,12 @@ function descriptorFor(provider) {
429
518
  throw new Error(`Unknown provider: ${provider}`);
430
519
  return descriptor;
431
520
  }
521
+ /** Whether a connected probe that started at `startedAt` is evidence against `failure`. */
522
+ function probeLifts(failure, startedAt) {
523
+ if (failure.generation > startedAt)
524
+ return false;
525
+ return !failure.definitive || (failure.recheckedAt !== undefined && failure.recheckedAt <= startedAt);
526
+ }
432
527
  const BIN_EXTENSIONS = new Set(['.exe', '.cmd', '.bat', '.com', '.ps1', '.js', '.mjs', '.cjs', '.sh']);
433
528
  const VERSION_TIMEOUT_MS = 5_000;
434
529
  function binExtension(executable) {
@@ -565,13 +660,14 @@ export class ProviderAuthService {
565
660
  return this.inFlight.visible;
566
661
  return this.startFreshProbe().visible;
567
662
  }
568
- reportRuntimeAuthFailure(provider) {
663
+ reportRuntimeAuthFailure(provider, options) {
569
664
  if (process.env.CEZ_DRY_RUN === '1' || providerAuthChecksDisabled())
570
665
  return null;
571
666
  const current = this.runtimeFailures.get(provider);
572
667
  const failure = {
573
668
  generation: ++this.nextRuntimeFailureGeneration,
574
669
  authFailureId: current?.authFailureId ?? this.createAuthFailureId(),
670
+ ...(options?.definitive || current?.definitive ? { definitive: true } : {}),
575
671
  };
576
672
  this.runtimeFailures.set(provider, failure);
577
673
  this.lastConnected.delete(provider);
@@ -589,9 +685,10 @@ export class ProviderAuthService {
589
685
  * A runtime rejection on a NAMED agent account (telemetry 9e4a95db): latched on that account only.
590
686
  * Raising the provider-wide latch instead blamed the default login, which was still signed in.
591
687
  * Lifts when a probe of this account that started after the rejection answers connected — the
592
- * pane's Check again, Connect's watch, or the action gate's verify-before-refuse.
688
+ * pane's Check again, Connect's watch, or the action gate's verify-before-refuse. A definitive
689
+ * one lifts only after the user's own Check again ({@link recheckProfileAuthFailure}).
593
690
  */
594
- reportProfileAuthFailure(provider, profileId) {
691
+ reportProfileAuthFailure(provider, profileId, options) {
595
692
  if (process.env.CEZ_DRY_RUN === '1' || providerAuthChecksDisabled())
596
693
  return null;
597
694
  const key = profileCacheKey(provider, profileId);
@@ -599,6 +696,7 @@ export class ProviderAuthService {
599
696
  const failure = {
600
697
  generation: ++this.nextRuntimeFailureGeneration,
601
698
  authFailureId: current?.authFailureId ?? this.createAuthFailureId(),
699
+ ...(options?.definitive || current?.definitive ? { definitive: true } : {}),
602
700
  };
603
701
  this.profileRuntimeFailures.set(key, failure);
604
702
  this.lastConnected.delete(key);
@@ -619,6 +717,13 @@ export class ProviderAuthService {
619
717
  ? { provider: status.provider, status: 'disconnected', hint: RUNTIME_AUTH_HINT, authFailureId: failure.authFailureId, profileId }
620
718
  : status;
621
719
  }
720
+ /** The user pressed Check again on this account: a probe started from now on may lift even a
721
+ * definitive incident. Their click, not cezar's own probing, is the evidence of a fresh login. */
722
+ recheckProfileAuthFailure(provider, profileId) {
723
+ const failure = this.profileRuntimeFailures.get(profileCacheKey(provider, profileId));
724
+ if (failure)
725
+ failure.recheckedAt = ++this.nextRuntimeFailureGeneration;
726
+ }
622
727
  /** Clear only the incident the caller actually observed. A stale retry must
623
728
  * never erase a rejection that arrived after the user began recovery. */
624
729
  clearRuntimeAuthFailure(provider, authFailureId) {
@@ -657,7 +762,8 @@ export class ProviderAuthService {
657
762
  if (process.env.CEZ_DRY_RUN === '1' || providerAuthChecksDisabled())
658
763
  return null;
659
764
  const failure = this.runtimeFailures.get(provider);
660
- if (!failure)
765
+ // The CLI's status reads the same dead login and would answer connected (telemetry 9e4a95db).
766
+ if (!failure || failure.definitive)
661
767
  return null;
662
768
  if (this.verifyingRuntimeFailures.has(provider))
663
769
  return null;
@@ -798,7 +904,7 @@ export class ProviderAuthService {
798
904
  this.completedProfiles.set(key, { status: stamped, timestamp: this.now() });
799
905
  const failure = this.profileRuntimeFailures.get(key);
800
906
  // The FRESH answer only: a bridged hang is not evidence that the rejection was transient.
801
- if (failure && failure.generation <= startedAt && status.status === 'connected') {
907
+ if (failure && probeLifts(failure, startedAt) && status.status === 'connected') {
802
908
  this.profileRuntimeFailures.delete(key);
803
909
  }
804
910
  return this.withProfileFailure(stamped, profile.id);
@@ -993,6 +1099,23 @@ export class ProviderAuthService {
993
1099
  // Still interrupted: unknown, but unreported — there is no CLI defect to group on.
994
1100
  if (wasInterrupted(result))
995
1101
  return { provider: descriptor.id, status: 'unknown', hint: INTERRUPTED_HINT };
1102
+ if (descriptor.foreign) {
1103
+ const version = await (env === undefined
1104
+ ? this.runCommand(executable, ['--version'], VERSION_TIMEOUT_MS)
1105
+ : this.runCommand(executable, ['--version'], VERSION_TIMEOUT_MS, env))
1106
+ .catch(() => null);
1107
+ // Only a clean answer decides; a spawn error, hang or signal says nothing about the binary.
1108
+ const decisive = version !== null && !version.errorCode && !version.timedOut
1109
+ && version.exitCode !== null && !wasInterrupted(version);
1110
+ if (decisive && descriptor.foreign(executable, version)) {
1111
+ return {
1112
+ provider: descriptor.id,
1113
+ status: 'not-installed',
1114
+ hint: `\`${executable}\` on PATH is not a working ${descriptor.id} CLI. `
1115
+ + `${descriptor.installHint} Or point ${descriptor.overrideEnv} at it.`,
1116
+ };
1117
+ }
1118
+ }
996
1119
  const hint = descriptor.unrecognizedHint?.(result) ?? UNKNOWN_HINT;
997
1120
  // Exit 0 and 1 are the codes vendors answer status with; anything else is the CLI failing.
998
1121
  if (result.exitCode === 0 || result.exitCode === 1)
@@ -1021,9 +1144,10 @@ export class ProviderAuthService {
1021
1144
  stdoutJson: result ? parsesAsJson(result.stdout) : false,
1022
1145
  stderrBytes: result?.stderr.length ?? 0,
1023
1146
  cliVersion: async () => {
1147
+ const versionArgs = descriptor.versionArgs ?? ['--version'];
1024
1148
  const answer = await (env === undefined
1025
- ? this.runCommand(executable, ['--version'], VERSION_TIMEOUT_MS)
1026
- : this.runCommand(executable, ['--version'], VERSION_TIMEOUT_MS, env));
1149
+ ? this.runCommand(executable, versionArgs, VERSION_TIMEOUT_MS)
1150
+ : this.runCommand(executable, versionArgs, VERSION_TIMEOUT_MS, env));
1027
1151
  return cliVersionFrom(answer.stdout) ?? cliVersionFrom(answer.stderr);
1028
1152
  },
1029
1153
  });
@@ -1 +1 @@
1
- {"version":3,"file":"provider-auth.js","sourceRoot":"","sources":["../../src/core/provider-auth.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,oBAAoB,CAAC;AAC9C,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AACzC,OAAO,EAAE,MAAM,EAAE,MAAM,SAAS,CAAC;AACjC,OAAO,EAAE,OAAO,EAAE,UAAU,EAAE,MAAM,WAAW,CAAC;AAChD,OAAO,EAAE,uBAAuB,EAAE,MAAM,yBAAyB,CAAC;AAClE,OAAO,EAAE,UAAU,EAAE,MAAM,qBAAqB,CAAC;AACjD,OAAO,EAAE,uBAAuB,EAAE,MAAM,mBAAmB,CAAC;AAC5D,OAAO,EAAE,gBAAgB,EAAE,MAAM,iBAAiB,CAAC;AACnD,OAAO,EAAE,qBAAqB,EAAE,MAAM,iBAAiB,CAAC;AACxD,OAAO,EAAE,eAAe,EAAE,aAAa,EAAE,MAAM,gBAAgB,CAAC;AAChE,OAAO,EAAE,wBAAwB,EAAE,MAAM,uBAAuB,CAAC;AACjE,OAAO,EAAE,gBAAgB,EAAE,MAAM,mBAAmB,CAAC;AAErD,MAAM,CAAC,MAAM,YAAY,GAAG,CAAC,QAAQ,EAAE,OAAO,EAAE,UAAU,EAAE,QAAQ,EAAE,IAAI,EAAE,OAAO,EAAE,SAAS,CAAU,CAAC;AAgDzG;;;;;;;GAOG;AACH,MAAM,UAAU,0BAA0B,CACxC,GAAG,GAAsB,OAAO,CAAC,GAAG;IAEpC,OAAO,GAAG,CAAC,uBAAuB,CAAC,KAAK,GAAG,CAAC;AAC9C,CAAC;AAiCD,MAAM,kBAAkB,GAAG,MAAM,CAAC;AAClC;gGACgG;AAChG,MAAM,gBAAgB,GAAG,MAAM,CAAC;AAChC;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA4BG;AACH,MAAM,gBAAgB,GAAG,EAAE,GAAG,MAAM,CAAC;AACrC,MAAM,gBAAgB,GAAG,MAAM,CAAC;AAChC;kGACkG;AAClG,MAAM,iBAAiB,GAAG,CAAC,GAAG,gBAAgB,CAAC;AAE/C;;;;;;;;;;GAUG;AACH,MAAM,+BAA+B,GAAG,MAAM,CAAC;AAE/C;;;;;;oDAMoD;AACpD,SAAS,WAAW,CAAC,IAA+B;IAClD,0FAA0F;IAC1F,yFAAyF;IACzF,OAAO,IAAI,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,CAAC,QAAQ,KAAK,OAAO,CAAC,CAAC,KAAK,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,CAAC,MAAM,KAAK,WAAW,CAAC;QAC9F,CAAC,CAAC,gBAAgB;QAClB,CAAC,CAAC,gBAAgB,CAAC;AACvB,CAAC;AACD,MAAM,YAAY,GAAG,kDAAkD,CAAC;AACxE,MAAM,YAAY,GAAG,4CAA4C,CAAC;AAClE,MAAM,gBAAgB,GAAG,kDAAkD,CAAC;AAC5E,MAAM,iBAAiB,GACrB,sEAAsE,CAAC;AACzE,MAAM,aAAa,GAAG,4BAA4B,CAAC;AACnD,MAAM,6BAA6B,GAAG;IACpC,oFAAoF;IACpF,wBAAwB;IACxB,8EAA8E;IAC9E,8EAA8E;IAC9E,4EAA4E;IAC5E,4EAA4E;CACpE,CAAC;AACX,MAAM,gCAAgC,GAAG;IACvC,oEAAoE;IACpE,gEAAgE;IAChE,8OAA8O;IAC9O,sEAAsE;IACtE,2EAA2E;IAC3E,uEAAuE;IACvE,kDAAkD;IAClD,kOAAkO;CAC1N,CAAC;AAEX,MAAM,UAAU,4BAA4B,CAAC,OAAe;IAC1D,OAAO,CAAC,GAAG,6BAA6B,EAAE,GAAG,gCAAgC,CAAC;SAC3E,IAAI,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC;AAC9C,CAAC;AAED,SAAS,gBAAgB,CAAC,MAAc;IACtC,OAAO,MAAM,CAAC,OAAO,CAAC,aAAa,EAAE,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC;AAChE,CAAC;AAED,SAAS,eAAe,CAAC,GAAG,OAAiB;IAC3C,OAAO,OAAO,CAAC,OAAO,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,gBAAgB,CAAC,MAAM,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;SACxE,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC;SAC1B,MAAM,CAAC,OAAO,CAAC,CAAC;AACrB,CAAC;AAED,SAAS,iBAAiB,CAAC,MAA6B;IACtD,IAAI,CAAC;QACH,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,MAAM,CAA2B,CAAC;QAClE,IAAI,KAAK,CAAC,QAAQ,KAAK,IAAI,IAAI,MAAM,CAAC,QAAQ,KAAK,CAAC;YAAE,OAAO,WAAW,CAAC;QACzE,IAAI,KAAK,CAAC,QAAQ,KAAK,KAAK,IAAI,MAAM,CAAC,QAAQ,KAAK,CAAC;YAAE,OAAO,cAAc,CAAC;QAC7E,OAAO,IAAI,CAAC;IACd,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,IAAI,CAAC;IACd,CAAC;AACH,CAAC;AAED,SAAS,gBAAgB,CAAC,MAA6B;IACrD,MAAM,OAAO,GAAG,eAAe,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,CAAC;SAC1D,GAAG,CAAC,CAAC,IAAI,EAAkC,EAAE;QAC5C,IACE,IAAI,KAAK,yBAAyB;eAC/B,IAAI,KAAK,4BAA4B;eACrC,IAAI,KAAK,gCAAgC;eACzC,IAAI,KAAK,8BAA8B;eACvC,IAAI,KAAK,uCAAuC;eAChD,IAAI,KAAK,wCAAwC;eACjD,0DAA0D,CAAC,IAAI,CAAC,IAAI,CAAC,EACxE,CAAC;YACD,OAAO,WAAW,CAAC;QACrB,CAAC;QACD,IAAI,IAAI,KAAK,eAAe,IAAI,IAAI,KAAK,iCAAiC,EAAE,CAAC;YAC3E,OAAO,cAAc,CAAC;QACxB,CAAC;QACD,OAAO,IAAI,CAAC;IACd,CAAC,CAAC;SACD,MAAM,CAAC,CAAC,MAAM,EAAqC,EAAE,CAAC,MAAM,KAAK,IAAI,CAAC,CAAC;IAC1E,IAAI,OAAO,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,IAAI,CAAC;IACtC,IAAI,OAAO,CAAC,CAAC,CAAC,KAAK,WAAW,IAAI,MAAM,CAAC,QAAQ,KAAK,CAAC;QAAE,OAAO,WAAW,CAAC;IAC5E,IAAI,OAAO,CAAC,CAAC,CAAC,KAAK,cAAc,IAAI,MAAM,CAAC,QAAQ,KAAK,CAAC;QAAE,OAAO,cAAc,CAAC;IAClF,OAAO,IAAI,CAAC;AACd,CAAC;AAED,SAAS,mBAAmB,CAAC,MAA6B;IACxD,IAAI,MAAM,CAAC,QAAQ,KAAK,CAAC;QAAE,OAAO,IAAI,CAAC;IACvC,MAAM,KAAK,GAAG,eAAe,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;IAC7C,MAAM,eAAe,GAAG,KAAK;SAC1B,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC,kCAAkC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;SAClE,MAAM,CAAC,CAAC,KAAK,EAAmB,EAAE,CAAC,KAAK,KAAK,SAAS,CAAC,CAAC;IAE3D,yFAAyF;IACzF,8FAA8F;IAC9F,6FAA6F;IAC7F,sFAAsF;IACtF,IAAI,eAAe,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACjC,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC;YAAE,OAAO,cAAc,CAAC;QAC9C,MAAM,UAAU,GAAG,KAAK,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,uBAAuB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;QAC9E,OAAO,UAAU,CAAC,MAAM,KAAK,KAAK,CAAC,MAAM,IAAI,UAAU,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,IAAI,CAAC;IAC1F,CAAC;IACD,IAAI,eAAe,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,IAAI,CAAC;IAC9C,MAAM,WAAW,GAAG,MAAM,CAAC,eAAe,CAAC,CAAC,CAAC,CAAC,CAAC;IAC/C,IAAI,CAAC,MAAM,CAAC,aAAa,CAAC,WAAW,CAAC;QAAE,OAAO,IAAI,CAAC;IAEpD,MAAM,oBAAoB,GAAG,KAAK;SAC/B,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC,8CAA8C,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;SAC9E,MAAM,CAAC,CAAC,KAAK,EAAmB,EAAE,CAAC,KAAK,KAAK,SAAS,CAAC,CAAC;IAC3D,MAAM,mBAAmB,GAAG,KAAK,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,yBAAyB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;IACvF,IAAI,oBAAoB,CAAC,MAAM,GAAG,CAAC;QAAE,OAAO,IAAI,CAAC;IACjD,IAAI,mBAAmB,KAAK,CAAC,oBAAoB,CAAC,MAAM,KAAK,CAAC,CAAC;QAAE,OAAO,IAAI,CAAC;IAC7E,MAAM,gBAAgB,GAAG,oBAAoB,CAAC,MAAM,KAAK,CAAC;QACxD,CAAC,CAAC,MAAM,CAAC,oBAAoB,CAAC,CAAC,CAAC,CAAC;QACjC,CAAC,CAAC,CAAC,CAAC;IACN,IAAI,CAAC,MAAM,CAAC,aAAa,CAAC,gBAAgB,CAAC;QAAE,OAAO,IAAI,CAAC;IAEzD,OAAO,WAAW,GAAG,CAAC,IAAI,gBAAgB,GAAG,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,cAAc,CAAC;AAChF,CAAC;AAED;;;;;;;;;;GAUG;AACH,SAAS,gBAAgB,CAAC,OAA8B;IACtD,OAAO,IAAI,CAAC;AACd,CAAC;AAED,SAAS,aAAa,CAAC,MAA6B;IAClD,IAAI,MAAM,CAAC,QAAQ,KAAK,CAAC;QAAE,OAAO,IAAI,CAAC;IACvC,MAAM,KAAK,GAAG,eAAe,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;IAC7C,IAAI,KAAK,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,4DAA4D,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC;QAClG,OAAO,WAAW,CAAC;IACrB,CAAC;IACD,IACE,KAAK,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,QAAQ,CAAC,qBAAqB,CAAC,CAAC;WACvD,KAAK,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC,EAChD,CAAC;QACD,OAAO,cAAc,CAAC;IACxB,CAAC;IACD,OAAO,IAAI,CAAC;AACd,CAAC;AAED;;;;;;;GAOG;AACH,SAAS,oBAAoB;IAC3B,MAAM,UAAU,GAAG;QACjB,OAAO,EAAE,KAAK;QACd,EAAE,EAAE,CAAC;QACL,MAAM,EAAE,YAAY;QACpB,MAAM,EAAE,EAAE,eAAe,EAAE,CAAC,EAAE,kBAAkB,EAAE,EAAE,EAAE,EAAE,EAAE,YAAY,EAAE,KAAK,EAAE,aAAa,EAAE,KAAK,EAAE,EAAE,QAAQ,EAAE,KAAK,EAAE,EAAE;KAC3H,CAAC;IACF,6FAA6F;IAC7F,MAAM,UAAU,GAAG,EAAE,OAAO,EAAE,KAAK,EAAE,EAAE,EAAE,CAAC,EAAE,MAAM,EAAE,aAAa,EAAE,MAAM,EAAE,EAAE,GAAG,EAAE,MAAM,EAAE,EAAE,UAAU,EAAE,EAAE,EAAE,EAAE,CAAC;IAC/G,OAAO,GAAG,IAAI,CAAC,SAAS,CAAC,UAAU,CAAC,KAAK,IAAI,CAAC,SAAS,CAAC,UAAU,CAAC,IAAI,CAAC;AAC1E,CAAC;AAED,SAAS,kBAAkB,CAAC,MAA6B;IACvD,MAAM,MAAM,GAAG,GAAG,MAAM,CAAC,MAAM,KAAK,MAAM,CAAC,MAAM,EAAE,CAAC;IACpD,uFAAuF;IACvF,8FAA8F;IAC9F,IAAI,4BAA4B,CAAC,IAAI,CAAC,MAAM,CAAC;QAAE,OAAO,cAAc,CAAC;IACrE,IAAI,qBAAqB,CAAC,IAAI,CAAC,MAAM,CAAC;QAAE,OAAO,WAAW,CAAC;IAC3D,OAAO,IAAI,CAAC;AACd,CAAC;AAED;gGACgG;AAChG,SAAS,uBAAuB,CAAC,MAA6B;IAC5D,IAAI,eAAe,CAAC,IAAI,CAAC,GAAG,MAAM,CAAC,MAAM,KAAK,MAAM,CAAC,MAAM,EAAE,CAAC;QAAE,OAAO,SAAS,CAAC;IACjF,OAAO,uFAAuF;UAC1F,4FAA4F;UAC5F,8CAA8C,CAAC;AACrD,CAAC;AAED,MAAM,WAAW,GAAkC;IACjD;QACE,EAAE,EAAE,QAAQ;QACZ,WAAW,EAAE,gBAAgB;QAC7B,UAAU,EAAE,GAAG,EAAE,CAAC,gBAAgB,EAAE;QACpC,UAAU,EAAE,CAAC,MAAM,EAAE,QAAQ,EAAE,QAAQ,CAAC;QACxC,SAAS,EAAE,CAAC,MAAM,EAAE,OAAO,CAAC;QAC5B,UAAU,EAAE,CAAC,QAAQ,CAAC;QACtB,WAAW,EAAE,oDAAoD;QACjE,KAAK,EAAE,iBAAiB;KACzB;IACD;QACE,EAAE,EAAE,OAAO;QACX,WAAW,EAAE,eAAe;QAC5B,UAAU,EAAE,GAAG,EAAE,CAAC,OAAO,CAAC,GAAG,CAAC,aAAa,IAAI,OAAO;QACtD,UAAU,EAAE,CAAC,OAAO,EAAE,QAAQ,CAAC;QAC/B,SAAS,EAAE,CAAC,OAAO,CAAC;QACpB,WAAW,EAAE,gDAAgD;QAC7D,KAAK,EAAE,gBAAgB;KACxB;IACD;QACE,EAAE,EAAE,UAAU;QACd,WAAW,EAAE,kBAAkB;QAC/B,UAAU,EAAE,GAAG,EAAE,CAAC,OAAO,CAAC,GAAG,CAAC,gBAAgB,IAAI,UAAU;QAC5D,UAAU,EAAE,CAAC,MAAM,EAAE,MAAM,CAAC;QAC5B,SAAS,EAAE,CAAC,MAAM,EAAE,OAAO,CAAC;QAC5B,UAAU,EAAE,CAAC,SAAS,CAAC;QACvB,WAAW,EAAE,mDAAmD;QAChE,KAAK,EAAE,mBAAmB;KAC3B;IACD;QACE,EAAE,EAAE,QAAQ;QACZ,WAAW,EAAE,sBAAsB;QACnC,UAAU,EAAE,GAAG,EAAE,CAAC,qBAAqB,EAAE;QACzC,UAAU,EAAE,CAAC,QAAQ,EAAE,UAAU,EAAE,MAAM,CAAC;QAC1C,YAAY,EAAE,kBAAkB;QAChC,gBAAgB,EAAE,sBAAsB;QACxC,SAAS,EAAE,CAAC,OAAO,CAAC;QACpB,UAAU,EAAE,CAAC,QAAQ,CAAC;QACtB,WAAW,EACT,yHAAyH;QAC3H,KAAK,EAAE,iBAAiB;QACxB,4FAA4F;QAC5F,QAAQ,EAAE,GAAG,EAAE,CAAC,CAAC,OAAO,CAAC,GAAG,CAAC,cAAc,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,SAAS,CAAC;KAC/E;IACD;QACE,EAAE,EAAE,IAAI;QACR,WAAW,EAAE,YAAY;QACzB,UAAU,EAAE,GAAG,EAAE,CAAC,OAAO,CAAC,GAAG,CAAC,UAAU,IAAI,IAAI;QAChD,UAAU,EAAE,CAAC,eAAe,CAAC;QAC7B,SAAS,EAAE,CAAC,QAAQ,CAAC;QACrB,WAAW,EAAE,mCAAmC;QAChD,KAAK,EAAE,aAAa;KACrB;IACD;QACE,EAAE,EAAE,OAAO;QACX,WAAW,EAAE,eAAe;QAC5B,UAAU,EAAE,GAAG,EAAE,CAAC,OAAO,CAAC,GAAG,CAAC,aAAa,IAAI,OAAO;QACtD,UAAU,EAAE,EAAE;QACd,SAAS,EAAE,EAAE;QACb,WAAW,EAAE,oFAAoF;QACjG,KAAK,EAAE,gBAAgB;KACxB;IACD;QACE,EAAE,EAAE,SAAS;QACb,WAAW,EAAE,iBAAiB;QAC9B,UAAU,EAAE,GAAG,EAAE,CAAC,OAAO,CAAC,GAAG,CAAC,eAAe,IAAI,SAAS;QAC1D,8FAA8F;QAC9F,4EAA4E;QAC5E,UAAU,EAAE,CAAC,OAAO,EAAE,kBAAkB,CAAC;QACzC,SAAS,EAAE,CAAC,OAAO,CAAC;QACpB,WAAW,EAAE,oFAAoF;QACjG,KAAK,EAAE,kBAAkB;QACzB,KAAK,EAAE,oBAAoB;QAC3B,gBAAgB,EAAE,uBAAuB;KAC1C;CACF,CAAC;AAEF,SAAS,iBAAiB,CAAC,MAA6B;IACtD,4FAA4F;IAC5F,gGAAgG;IAChG,8FAA8F;IAC9F,0CAA0C;IAC1C,IAAI,CAAC;QACH,MAAM,MAAM,GAAY,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;QAClD,IAAI,MAAM,IAAI,OAAO,MAAM,KAAK,QAAQ,EAAE,CAAC;YACzC,MAAM,GAAG,GAAG,MAAiC,CAAC;YAC9C,IAAI,GAAG,CAAC,eAAe,KAAK,IAAI,IAAI,GAAG,CAAC,MAAM,KAAK,eAAe;gBAAE,OAAO,WAAW,CAAC;YACvF,IAAI,GAAG,CAAC,eAAe,KAAK,KAAK,IAAI,GAAG,CAAC,MAAM,KAAK,iBAAiB;gBAAE,OAAO,cAAc,CAAC;QAC/F,CAAC;IACH,CAAC;IAAC,MAAM,CAAC;QACP,kBAAkB;IACpB,CAAC;IACD,gFAAgF;IAChF,IAAI,MAAM,CAAC,QAAQ,KAAK,CAAC,EAAE,CAAC;QAC1B,MAAM,KAAK,GAAG,eAAe,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,CAAC,CAAC;QAC5D,6FAA6F;QAC7F,MAAM,SAAS,GAAG,KAAK,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,wCAAwC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;QAC5F,MAAM,YAAY,GAAG,KAAK,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,EAAE,CACvC,0EAA0E,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;QACzF,IAAI,SAAS,KAAK,YAAY;YAAE,OAAO,SAAS,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,cAAc,CAAC;IAClF,CAAC;IACD,0FAA0F;IAC1F,uFAAuF;IACvF,2CAA2C;IAC3C,OAAO,IAAI,CAAC;AACd,CAAC;AAED;;;GAGG;AACH,MAAM,oBAAoB,GACxB,kHAAkH,CAAC;AAErH,SAAS,kBAAkB,CAAC,MAA6B;IACvD,IAAI,MAAM,CAAC,QAAQ,KAAK,CAAC;QAAE,OAAO,SAAS,CAAC;IAC5C,OAAO,oBAAoB,CAAC,IAAI,CAAC,GAAG,MAAM,CAAC,MAAM,KAAK,MAAM,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;AAClG,CAAC;AAED,wGAAwG;AACxG,SAAS,sBAAsB,CAAC,MAA6B;IAC3D,IAAI,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE;QAAE,OAAO,SAAS,CAAC;IAC3C,OAAO,iGAAiG;UACpG,wGAAwG,CAAC;AAC/G,CAAC;AAED,SAAS,yBAAyB,CAChC,UAAkB,EAClB,IAAuB,EACvB,SAAiB,EACjB,GAA4B,EAC5B,KAAc;IAEd,gGAAgG;IAChG,MAAM,CAAC,IAAI,EAAE,IAAI,CAAC,GAAG,gBAAgB,CAAC,UAAU,EAAE,IAAI,CAAC,CAAC;IACxD,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,EAAE;QAC7B,MAAM,KAAK,GAAG,QAAQ,CACpB,IAAI,EACJ,IAAI,EACJ;YACE,OAAO,EAAE,SAAS;YAClB,WAAW,EAAE,IAAI;YACjB,SAAS,EAAE,GAAG,GAAG,IAAI;YACrB,qFAAqF;YACrF,yFAAyF;YACzF,0FAA0F;YAC1F,GAAG,CAAC,GAAG,IAAI,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,GAAG,EAAE,EAAE,GAAG,OAAO,CAAC,GAAG,EAAE,GAAG,GAAG,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;SACnF,EACD,CAAC,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,EAAE;YACxB,MAAM,YAAY,GAAG,KAGZ,CAAC;YACV,MAAM,IAAI,GAAG,YAAY,EAAE,IAAI,CAAC;YAChC,MAAM,QAAQ,GAAG,YAAY,EAAE,IAAI,KAAK,WAAW;mBAC9C,CAAC,YAAY,EAAE,MAAM,KAAK,IAAI,IAAI,YAAY,CAAC,MAAM,KAAK,SAAS,CAAC,CAAC;YAC1E,OAAO,CAAC;gBACN,MAAM,EAAE,MAAM,CAAC,MAAM,CAAC;gBACtB,MAAM,EAAE,MAAM,CAAC,MAAM,CAAC;gBACtB,QAAQ,EAAE,OAAO,IAAI,KAAK,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;gBAC5D,SAAS,EAAE,OAAO,IAAI,KAAK,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,SAAS;gBACtD,QAAQ;gBACR,GAAG,CAAC,CAAC,QAAQ,IAAI,YAAY,EAAE,MAAM,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,YAAY,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;aAC9E,CAAC,CAAC;QACL,CAAC,CACF,CAAC;QACF,4FAA4F;QAC5F,qFAAqF;QACrF,KAAK,CAAC,KAAK,EAAE,GAAG,CAAC,KAAK,IAAI,EAAE,CAAC,CAAC;IAChC,CAAC,CAAC,CAAC;AACL,CAAC;AAED;mGACmG;AACnG,SAAS,eAAe,CAAC,QAAoB,EAAE,SAAiB;IAC9D,OAAO,GAAG,QAAQ,SAAS,SAAS,EAAE,CAAC;AACzC,CAAC;AAED,SAAS,aAAa,CAAC,QAAoB;IACzC,MAAM,UAAU,GAAG,WAAW,CAAC,IAAI,CAAC,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,KAAK,QAAQ,CAAC,CAAC;IACjE,IAAI,CAAC,UAAU;QAAE,MAAM,IAAI,KAAK,CAAC,qBAAqB,QAAQ,EAAE,CAAC,CAAC;IAClE,OAAO,UAAU,CAAC;AACpB,CAAC;AAkDD,MAAM,cAAc,GAAG,IAAI,GAAG,CAAC,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,KAAK,CAAC,CAAC,CAAC;AACvG,MAAM,kBAAkB,GAAG,KAAK,CAAC;AAEjC,SAAS,YAAY,CAAC,UAAkB;IACtC,MAAM,GAAG,GAAG,OAAO,CAAC,UAAU,CAAC,CAAC,WAAW,EAAE,CAAC;IAC9C,IAAI,CAAC,GAAG;QAAE,OAAO,MAAM,CAAC;IACxB,OAAO,cAAc,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,OAAO,CAAC;AACjD,CAAC;AAED,SAAS,YAAY,CAAC,IAAY;IAChC,IAAI,CAAC;QACH,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;QACjB,OAAO,IAAI,CAAC;IACd,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,KAAK,CAAC;IACf,CAAC;AACH,CAAC;AAED,iGAAiG;AACjG,MAAM,kBAAkB,GAAG;IACzB,4FAA4F;IAC5F,uCAAuC;IACvC,4BAA4B;IAC5B,uCAAuC;CACxC,CAAC;AAEF;;;;GAIG;AACH,MAAM,UAAU,sBAAsB,CAAC,MAA6B;IAClE,IAAI,MAAM,CAAC,QAAQ,KAAK,CAAC,IAAI,MAAM,CAAC,QAAQ,KAAK,IAAI;QAAE,OAAO,IAAI,CAAC;IACnE,MAAM,MAAM,GAAG,GAAG,MAAM,CAAC,MAAM,KAAK,MAAM,CAAC,MAAM,EAAE,CAAC;IACpD,KAAK,MAAM,OAAO,IAAI,kBAAkB,EAAE,CAAC;QACzC,MAAM,KAAK,GAAG,MAAM,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;QACpC,IAAI,KAAK;YAAE,OAAO,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,KAAK,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC;IAClD,CAAC;IACD,OAAO,IAAI,CAAC;AACd,CAAC;AAED;;;GAGG;AACH,SAAS,cAAc,CAAC,MAA6B;IACnD,OAAO,CAAC,MAAM,CAAC,QAAQ,IAAI,CAAC,MAAM,CAAC,MAAM,KAAK,SAAS,IAAI,uBAAuB,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC;AACvG,CAAC;AAED,SAAS,eAAe,CAAC,MAA6B;IACpD,OAAO,MAAM,CAAC,QAAQ,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,SAAS,IAAI,CAAC,MAAM,CAAC,QAAQ;WAChE,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,KAAK,EAAE,IAAI,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,KAAK,EAAE,CAAC;AAClE,CAAC;AAED,gFAAgF;AAChF,MAAM,UAAU,cAAc,CAAC,MAAc;IAC3C,gGAAgG;IAChG,OAAO,MAAM,CAAC,KAAK,CAAC,qDAAqD,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,IAAI,CAAC;AAC1F,CAAC;AAED,MAAM,OAAO,mBAAmB;IACb,UAAU,CAAqB;IAC/B,GAAG,CAAe;IAClB,QAAQ,CAAkB;IAC1B,mBAAmB,CAAe;IAClC,UAAU,CAA+E;IACzF,cAAc,CAAsC;IACrE;2GACuG;IACtF,oBAAoB,GAAG,IAAI,GAAG,EAAU,CAAC;IACzC,eAAe,GAAG,IAAI,GAAG,EAAkC,CAAC;IAC7E,qGAAqG;IACpF,sBAAsB,GAAG,IAAI,GAAG,EAA8B,CAAC;IAChF;;uDAEmD;IAClC,wBAAwB,GAAG,IAAI,GAAG,EAAc,CAAC;IACjD,uBAAuB,GAAG,IAAI,GAAG,EAAsB,CAAC;IACjE,4BAA4B,GAAG,CAAC,CAAC;IACjC,mBAAmB,GAAG,CAAC,CAAC;IACxB,SAAS,CAIf;IACM,QAAQ,CAGd;IACF;;4FAEwF;IACvE,iBAAiB,GAAG,IAAI,GAAG,EAAyD,CAAC;IACrF,gBAAgB,GAAG,IAAI,GAAG,EAAmC,CAAC;IAC/E;+CAC2C;IAC1B,aAAa,GAAG,IAAI,GAAG,EAA4E,CAAC;IAErH,YAAY,OAYX;QACC,IAAI,CAAC,cAAc,GAAG,OAAO,EAAE,cAAc,CAAC;QAC9C,IAAI,CAAC,UAAU,GAAG,OAAO,EAAE,UAAU,IAAI,yBAAyB,CAAC;QACnE,IAAI,CAAC,GAAG,GAAG,OAAO,EAAE,GAAG,IAAI,IAAI,CAAC,GAAG,CAAC;QACpC,IAAI,CAAC,QAAQ,GAAG,OAAO,EAAE,QAAQ,IAAI,OAAO,CAAC,QAAQ,CAAC;QACtD,IAAI,CAAC,mBAAmB,GAAG,OAAO,EAAE,mBAAmB,IAAI,UAAU,CAAC;QACtE,6FAA6F;QAC7F,0FAA0F;QAC1F,mEAAmE;QACnE,IAAI,CAAC,UAAU,GAAG,OAAO,EAAE,UAAU;eAChC,CAAC,GAAG,EAAE,CAAC,wBAAwB,CAAC,EAAE,GAAG,EAAE,OAAO,EAAE,GAAG,IAAI,OAAO,CAAC,GAAG,EAAE,EAAE,SAAS,EAAE,kBAAkB,EAAE,CAAC,CAAC,CAAC;IAC/G,CAAC;IAED;;;;;;;;;;;;;OAaG;IACH,MAAM,CAAC,OAA+B;QACpC,IAAI,OAAO,CAAC,GAAG,CAAC,WAAW,KAAK,GAAG,IAAI,0BAA0B,EAAE,EAAE,CAAC;YACpE,OAAO,OAAO,CAAC,OAAO,CAAC;gBACrB,SAAS,EAAE,YAAY,CAAC,GAAG,CAAC,CAAC,QAAQ,EAAE,EAAE,CAAC,CAAC,EAAE,QAAQ,EAAE,MAAM,EAAE,WAAW,EAAE,CAAC,CAAC;aAC/E,CAAC,CAAC;QACL,CAAC;QAED,IAAI,OAAO,EAAE,OAAO,EAAE,CAAC;YACrB,4FAA4F;YAC5F,wDAAwD;YACxD,OAAO,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC,eAAe,EAAE,CAAC,OAAO,CAAC;QAChF,CAAC;QACD,IAAI,IAAI,CAAC,SAAS,EAAE,CAAC;YACnB,2FAA2F;YAC3F,8EAA8E;YAC9E,IAAI,IAAI,CAAC,GAAG,EAAE,GAAG,IAAI,CAAC,SAAS,CAAC,SAAS,IAAI,WAAW,CAAC,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,SAAS,CAAC,EAAE,CAAC;gBAC5F,IAAI,CAAC,IAAI,CAAC,QAAQ;oBAAE,KAAK,IAAI,CAAC,eAAe,EAAE,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,EAAE,GAAE,CAAC,CAAC,CAAC;YACtE,CAAC;YACD,OAAO,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC,mBAAmB,CAAC,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,CAAC,CAAC;QAC5E,CAAC;QACD,IAAI,IAAI,CAAC,QAAQ;YAAE,OAAO,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC;QAChD,OAAO,IAAI,CAAC,eAAe,EAAE,CAAC,OAAO,CAAC;IACxC,CAAC;IAED,wBAAwB,CAAC,QAAoB;QAC3C,IAAI,OAAO,CAAC,GAAG,CAAC,WAAW,KAAK,GAAG,IAAI,0BAA0B,EAAE;YAAE,OAAO,IAAI,CAAC;QACjF,MAAM,OAAO,GAAG,IAAI,CAAC,eAAe,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;QACnD,MAAM,OAAO,GAAuB;YAClC,UAAU,EAAE,EAAE,IAAI,CAAC,4BAA4B;YAC/C,aAAa,EAAE,OAAO,EAAE,aAAa,IAAI,IAAI,CAAC,mBAAmB,EAAE;SACpE,CAAC;QACF,IAAI,CAAC,eAAe,CAAC,GAAG,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC;QAC5C,IAAI,CAAC,aAAa,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;QACpC,OAAO;YACL,MAAM,EAAE;gBACN,QAAQ;gBACR,MAAM,EAAE,cAAc;gBACtB,IAAI,EAAE,iBAAiB;gBACvB,aAAa,EAAE,OAAO,CAAC,aAAa;aACrC;YACD,YAAY,EAAE,OAAO,KAAK,SAAS;SACpC,CAAC;IACJ,CAAC;IAED;;;;;OAKG;IACH,wBAAwB,CAAC,QAAoB,EAAE,SAAiB;QAC9D,IAAI,OAAO,CAAC,GAAG,CAAC,WAAW,KAAK,GAAG,IAAI,0BAA0B,EAAE;YAAE,OAAO,IAAI,CAAC;QACjF,MAAM,GAAG,GAAG,eAAe,CAAC,QAAQ,EAAE,SAAS,CAAC,CAAC;QACjD,MAAM,OAAO,GAAG,IAAI,CAAC,sBAAsB,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;QACrD,MAAM,OAAO,GAAuB;YAClC,UAAU,EAAE,EAAE,IAAI,CAAC,4BAA4B;YAC/C,aAAa,EAAE,OAAO,EAAE,aAAa,IAAI,IAAI,CAAC,mBAAmB,EAAE;SACpE,CAAC;QACF,IAAI,CAAC,sBAAsB,CAAC,GAAG,CAAC,GAAG,EAAE,OAAO,CAAC,CAAC;QAC9C,IAAI,CAAC,aAAa,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;QAC/B,OAAO;YACL,MAAM,EAAE;gBACN,QAAQ;gBACR,MAAM,EAAE,cAAc;gBACtB,IAAI,EAAE,iBAAiB;gBACvB,aAAa,EAAE,OAAO,CAAC,aAAa;gBACpC,SAAS;aACV;YACD,YAAY,EAAE,OAAO,KAAK,SAAS;SACpC,CAAC;IACJ,CAAC;IAEO,kBAAkB,CAAC,MAAsB,EAAE,SAAiB;QAClE,MAAM,OAAO,GAAG,IAAI,CAAC,sBAAsB,CAAC,GAAG,CAAC,eAAe,CAAC,MAAM,CAAC,QAAQ,EAAE,SAAS,CAAC,CAAC,CAAC;QAC7F,OAAO,OAAO;YACZ,CAAC,CAAC,EAAE,QAAQ,EAAE,MAAM,CAAC,QAAQ,EAAE,MAAM,EAAE,cAAc,EAAE,IAAI,EAAE,iBAAiB,EAAE,aAAa,EAAE,OAAO,CAAC,aAAa,EAAE,SAAS,EAAE;YACjI,CAAC,CAAC,MAAM,CAAC;IACb,CAAC;IAED;6EACyE;IACzE,uBAAuB,CAAC,QAAoB,EAAE,aAAqB;QACjE,MAAM,OAAO,GAAG,IAAI,CAAC,eAAe,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;QACnD,IAAI,CAAC,OAAO,IAAI,OAAO,CAAC,aAAa,KAAK,aAAa;YAAE,OAAO,KAAK,CAAC;QACtE,IAAI,CAAC,eAAe,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;QACtC,OAAO,IAAI,CAAC;IACd,CAAC;IAED;;;;;;;;;;;;;;;;;;;;;;;;OAwBG;IACH,KAAK,CAAC,wBAAwB,CAAC,QAAoB;QACjD,IAAI,OAAO,CAAC,GAAG,CAAC,WAAW,KAAK,GAAG,IAAI,0BAA0B,EAAE;YAAE,OAAO,IAAI,CAAC;QACjF,MAAM,OAAO,GAAG,IAAI,CAAC,eAAe,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;QACnD,IAAI,CAAC,OAAO;YAAE,OAAO,IAAI,CAAC;QAC1B,IAAI,IAAI,CAAC,wBAAwB,CAAC,GAAG,CAAC,QAAQ,CAAC;YAAE,OAAO,IAAI,CAAC;QAC7D,MAAM,cAAc,GAAG,IAAI,CAAC,uBAAuB,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;QAClE,IAAI,cAAc,KAAK,SAAS,IAAI,IAAI,CAAC,GAAG,EAAE,GAAG,cAAc,GAAG,+BAA+B,EAAE,CAAC;YAClG,OAAO,IAAI,CAAC;QACd,CAAC;QAED,IAAI,CAAC,wBAAwB,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;QAC5C,IAAI,MAAsB,CAAC;QAC3B,IAAI,CAAC;YACH,IAAI,CAAC,uBAAuB,CAAC,GAAG,CAAC,QAAQ,EAAE,IAAI,CAAC,GAAG,EAAE,CAAC,CAAC;YACvD,MAAM,GAAG,MAAM,IAAI,CAAC,KAAK,CAAC,aAAa,CAAC,QAAQ,CAAC,CAAC,CAAC;QACrD,CAAC;gBAAS,CAAC;YACT,IAAI,CAAC,wBAAwB,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;QACjD,CAAC;QAED,IAAI,MAAM,CAAC,MAAM,KAAK,WAAW;YAAE,OAAO,IAAI,CAAC;QAC/C,IAAI,CAAC,IAAI,CAAC,uBAAuB,CAAC,QAAQ,EAAE,OAAO,CAAC,aAAa,CAAC;YAAE,OAAO,IAAI,CAAC;QAChF,IAAI,CAAC,iBAAiB,CAAC,MAAM,CAAC,CAAC;QAC/B,OAAO,MAAM,CAAC;IAChB,CAAC;IAED;;;;;;;;OAQG;IACK,iBAAiB,CAAC,MAAsB;QAC9C,IAAI,CAAC,IAAI,CAAC,SAAS;YAAE,OAAO;QAC5B,IAAI,CAAC,SAAS,GAAG;YACf,GAAG,IAAI,CAAC,SAAS;YACjB,QAAQ,EAAE;gBACR,SAAS,EAAE,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,CACxD,GAAG,CAAC,QAAQ,KAAK,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,GAAG,CAChD,CAAC;aACH;SACF,CAAC;IACJ,CAAC;IAED;;;;;;;;OAQG;IACH,YAAY,CAAC,QAAoB,EAAE,SAAyB;QAC1D,MAAM,UAAU,GAAG,aAAa,CAAC,QAAQ,CAAC,CAAC;QAC3C,MAAM,OAAO,GAAG,CAAC,eAAe,CAAC,UAAU,CAAC,UAAU,EAAE,EAAE,IAAI,CAAC,QAAQ,CAAC,EAAE,GAAG,UAAU,CAAC,SAAS,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;QAC7G,MAAM,GAAG,GAAG,SAAS,CAAC,CAAC,CAAC,UAAU,CAAC,QAAQ,EAAE,SAAS,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;QAC7D,OAAO,aAAa,CAAC,OAAO,EAAE,GAAG,EAAE,IAAI,CAAC,QAAQ,CAAC,CAAC;IACpD,CAAC;IAED,0FAA0F;IAC1F,aAAa,CAAC,QAAoB;QAChC,MAAM,UAAU,GAAG,aAAa,CAAC,QAAQ,CAAC,CAAC;QAC3C,IAAI,CAAC,UAAU,CAAC,UAAU;YAAE,OAAO,IAAI,CAAC;QACxC,OAAO,CAAC,eAAe,CAAC,UAAU,CAAC,UAAU,EAAE,EAAE,IAAI,CAAC,QAAQ,CAAC,EAAE,GAAG,UAAU,CAAC,UAAU,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;IACvG,CAAC;IAED,WAAW,CAAC,QAAoB;QAC9B,OAAO,aAAa,CAAC,QAAQ,CAAC,CAAC,WAAW,CAAC;IAC7C,CAAC;IAEO,mBAAmB,CAAC,QAAgC;QAC1D,IAAI,IAAI,CAAC,eAAe,CAAC,IAAI,KAAK,CAAC;YAAE,OAAO,QAAQ,CAAC;QACrD,OAAO;YACL,SAAS,EAAE,QAAQ,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE;gBACxC,MAAM,OAAO,GAAG,IAAI,CAAC,eAAe,CAAC,GAAG,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;gBACvD,OAAO,OAAO;oBACZ,CAAC,CAAC;wBACA,QAAQ,EAAE,GAAG,CAAC,QAAQ;wBACtB,MAAM,EAAE,cAAc;wBACtB,IAAI,EAAE,iBAAiB;wBACvB,aAAa,EAAE,OAAO,CAAC,aAAa;qBACrC;oBACD,CAAC,CAAC,GAAG,CAAC;YACV,CAAC,CAAC;SACH,CAAC;IACJ,CAAC;IAEO,eAAe;QAIrB,MAAM,UAAU,GAAG,EAAE,IAAI,CAAC,mBAAmB,CAAC;QAC9C,MAAM,GAAG,GAAG,OAAO,CAAC,GAAG,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC,UAAU,EAAE,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC,CAAC;aAC7E,IAAI,CAAC,CAAC,MAAM,EAAE,EAAE;YACf,MAAM,QAAQ,GAAG,EAAE,SAAS,EAAE,MAAM,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,QAAQ,EAAE,GAAG,CAAC,CAAC,EAAE,CAAC;YAC3F,IAAI,CAAC,IAAI,CAAC,SAAS,IAAI,UAAU,IAAI,IAAI,CAAC,SAAS,CAAC,UAAU,EAAE,CAAC;gBAC/D,IAAI,CAAC,SAAS,GAAG,EAAE,QAAQ,EAAE,SAAS,EAAE,IAAI,CAAC,GAAG,EAAE,EAAE,UAAU,EAAE,CAAC;YACnE,CAAC;YACD,OAAO,QAAQ,CAAC;QAClB,CAAC,CAAC,CAAC;QACL,qEAAqE;QACrE,uEAAuE;QACvE,gDAAgD;QAChD,MAAM,KAAK,GAAG;YACZ,GAAG;YACH,OAAO,EAAE,GAAG,CAAC,IAAI,CAAC,CAAC,QAAQ,EAAE,EAAE,CAAC,IAAI,CAAC,mBAAmB,CAAC,QAAQ,CAAC,CAAC;SACpE,CAAC;QACF,IAAI,CAAC,QAAQ,GAAG,KAAK,CAAC;QACtB,KAAK,GAAG,CAAC,OAAO,CAAC,GAAG,EAAE;YACpB,IAAI,IAAI,CAAC,QAAQ,KAAK,KAAK;gBAAE,IAAI,CAAC,QAAQ,GAAG,SAAS,CAAC;QACzD,CAAC,CAAC,CAAC;QACH,OAAO,KAAK,CAAC;IACf,CAAC;IAED;;;;;;;;;;;OAWG;IACH,KAAK,CAAC,aAAa,CACjB,QAAoB,EACpB,OAAiD;QAEjD,IAAI,OAAO,CAAC,GAAG,CAAC,WAAW,KAAK,GAAG,EAAE,CAAC;YACpC,OAAO,EAAE,QAAQ,EAAE,MAAM,EAAE,WAAW,EAAE,SAAS,EAAE,OAAO,CAAC,EAAE,EAAE,CAAC;QAClE,CAAC;QACD,MAAM,GAAG,GAAG,eAAe,CAAC,QAAQ,EAAE,OAAO,CAAC,EAAE,CAAC,CAAC;QAClD,MAAM,MAAM,GAAG,IAAI,CAAC,iBAAiB,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;QAC/C,IAAI,MAAM,IAAI,IAAI,CAAC,GAAG,EAAE,GAAG,MAAM,CAAC,SAAS,GAAG,WAAW,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC;YAC3E,OAAO,IAAI,CAAC,kBAAkB,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,CAAC,CAAC;QAC5D,CAAC;QACD,MAAM,OAAO,GAAG,IAAI,CAAC,gBAAgB,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;QAC/C,IAAI,OAAO;YAAE,OAAO,OAAO,CAAC,IAAI,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,IAAI,CAAC,kBAAkB,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,CAAC,CAAC,CAAC;QAC1F,iGAAiG;QACjG,MAAM,SAAS,GAAG,IAAI,CAAC,4BAA4B,CAAC;QACpD,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,aAAa,CAAC,QAAQ,CAAC,EAAE,OAAO,CAAC,SAAS,CAAC;aACjE,IAAI,CAAC,CAAC,MAAM,EAAE,EAAE;YACf,MAAM,OAAO,GAAG,IAAI,CAAC,aAAa,CAAC,GAAG,EAAE,EAAE,GAAG,MAAM,EAAE,SAAS,EAAE,OAAO,CAAC,EAAE,EAAE,EAAE,OAAO,CAAC,SAAS,CAAC,CAAC;YACjG,IAAI,CAAC,iBAAiB,CAAC,GAAG,CAAC,GAAG,EAAE,EAAE,MAAM,EAAE,OAAO,EAAE,SAAS,EAAE,IAAI,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC;YAC5E,MAAM,OAAO,GAAG,IAAI,CAAC,sBAAsB,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;YACrD,0FAA0F;YAC1F,IAAI,OAAO,IAAI,OAAO,CAAC,UAAU,IAAI,SAAS,IAAI,MAAM,CAAC,MAAM,KAAK,WAAW,EAAE,CAAC;gBAChF,IAAI,CAAC,sBAAsB,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;YAC1C,CAAC;YACD,OAAO,IAAI,CAAC,kBAAkB,CAAC,OAAO,EAAE,OAAO,CAAC,EAAE,CAAC,CAAC;QACtD,CAAC,CAAC;aACD,OAAO,CAAC,GAAG,EAAE;YACZ,IAAI,IAAI,CAAC,gBAAgB,CAAC,GAAG,CAAC,GAAG,CAAC,KAAK,KAAK;gBAAE,IAAI,CAAC,gBAAgB,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;QAClF,CAAC,CAAC,CAAC;QACL,IAAI,CAAC,gBAAgB,CAAC,GAAG,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC;QACtC,OAAO,KAAK,CAAC;IACf,CAAC;IAED;;;;;;;OAOG;IACH,mBAAmB,CAAC,QAAqB,EAAE,SAAkB;QAC3D,IAAI,QAAQ,KAAK,SAAS,IAAI,SAAS,KAAK,SAAS,EAAE,CAAC;YACtD,IAAI,CAAC,iBAAiB,CAAC,KAAK,EAAE,CAAC;YAC/B,OAAO;QACT,CAAC;QACD,IAAI,CAAC,iBAAiB,CAAC,MAAM,CAAC,eAAe,CAAC,QAAQ,EAAE,SAAS,CAAC,CAAC,CAAC;IACtE,CAAC;IAED;;;;;OAKG;IACK,aAAa,CAAC,GAAW,EAAE,MAAsB,EAAE,SAAS,GAAkB,IAAI;QACxF,IAAI,MAAM,CAAC,MAAM,KAAK,WAAW,EAAE,CAAC;YAClC,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,GAAG,EAAE,EAAE,MAAM,EAAE,EAAE,EAAE,IAAI,CAAC,GAAG,EAAE,EAAE,SAAS,EAAE,CAAC,CAAC;YACnE,OAAO,MAAM,CAAC;QAChB,CAAC;QACD,IAAI,MAAM,CAAC,MAAM,KAAK,SAAS,IAAI,MAAM,CAAC,IAAI,KAAK,YAAY,EAAE,CAAC;YAChE,IAAI,CAAC,aAAa,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;YAC/B,OAAO,MAAM,CAAC;QAChB,CAAC;QACD,MAAM,IAAI,GAAG,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;QACzC,yEAAyE;QACzE,OAAO,IAAI,IAAI,IAAI,CAAC,SAAS,KAAK,SAAS,IAAI,IAAI,CAAC,GAAG,EAAE,GAAG,IAAI,CAAC,EAAE,IAAI,iBAAiB;YACtF,CAAC,CAAC,IAAI,CAAC,MAAM;YACb,CAAC,CAAC,MAAM,CAAC;IACb,CAAC;IAED;kGAC8F;IAC9F,aAAa,CAAC,QAAoB,EAAE,SAAiB;QACnD,IAAI,CAAC,mBAAmB,CAAC,QAAQ,EAAE,SAAS,CAAC,CAAC;QAC9C,IAAI,CAAC,sBAAsB,CAAC,MAAM,CAAC,eAAe,CAAC,QAAQ,EAAE,SAAS,CAAC,CAAC,CAAC;QACzE,IAAI,CAAC,aAAa,CAAC,MAAM,CAAC,eAAe,CAAC,QAAQ,EAAE,SAAS,CAAC,CAAC,CAAC;IAClE,CAAC;IAED;;;;;;;;;;;;;;;;OAgBG;IACH,iBAAiB,CAAC,QAAoB,EAAE,SAAiB;QACvD,IAAI,OAAO,CAAC,GAAG,CAAC,WAAW,KAAK,GAAG,EAAE,CAAC;YACpC,OAAO,EAAE,QAAQ,EAAE,MAAM,EAAE,WAAW,EAAE,SAAS,EAAE,CAAC;QACtD,CAAC;QACD,MAAM,MAAM,GAAG,IAAI,CAAC,iBAAiB,CAAC,GAAG,CAAC,eAAe,CAAC,QAAQ,EAAE,SAAS,CAAC,CAAC,EAAE,MAAM,CAAC;QACxF,IAAI,MAAM;YAAE,OAAO,IAAI,CAAC,kBAAkB,CAAC,MAAM,EAAE,SAAS,CAAC,CAAC;QAC9D,OAAO,IAAI,CAAC,sBAAsB,CAAC,GAAG,CAAC,eAAe,CAAC,QAAQ,EAAE,SAAS,CAAC,CAAC;YAC1E,CAAC,CAAC,IAAI,CAAC,kBAAkB,CAAC,EAAE,QAAQ,EAAE,MAAM,EAAE,cAAc,EAAE,EAAE,SAAS,CAAC;YAC1E,CAAC,CAAC,SAAS,CAAC;IAChB,CAAC;IAED;0DACsD;IACtD,UAAU;QACR,IAAI,OAAO,CAAC,GAAG,CAAC,WAAW,KAAK,GAAG,EAAE,CAAC;YACpC,OAAO,EAAE,SAAS,EAAE,YAAY,CAAC,GAAG,CAAC,CAAC,QAAQ,EAAE,EAAE,CAAC,CAAC,EAAE,QAAQ,EAAE,MAAM,EAAE,WAAW,EAAE,CAAC,CAAC,EAAE,CAAC;QAC5F,CAAC;QACD,IAAI,CAAC,IAAI,CAAC,SAAS;YAAE,OAAO,SAAS,CAAC;QACtC,OAAO,IAAI,CAAC,mBAAmB,CAAC,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,CAAC;IAC3D,CAAC;IAEO,KAAK,CAAC,KAAK,CAAC,UAA8B,EAAE,SAAyB;QAC3E,0FAA0F;QAC1F,4FAA4F;QAC5F,IAAI,UAAU,CAAC,EAAE,KAAK,OAAO,EAAE,CAAC;YAC9B,IAAI,CAAC;gBACH,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,UAAU,EAAE,CAAC;gBACvC,IAAI,MAAM,CAAC,YAAY;oBAAE,OAAO,EAAE,QAAQ,EAAE,OAAO,EAAE,MAAM,EAAE,eAAe,EAAE,IAAI,EAAE,UAAU,CAAC,WAAW,EAAE,CAAC;gBAC7G,OAAO,MAAM,CAAC,SAAS;oBACrB,CAAC,CAAC,EAAE,QAAQ,EAAE,OAAO,EAAE,MAAM,EAAE,WAAW,EAAE;oBAC5C,CAAC,CAAC,EAAE,QAAQ,EAAE,OAAO,EAAE,MAAM,EAAE,SAAS,EAAE,IAAI,EAAE,MAAM,CAAC,IAAI,EAAE,CAAC;YAClE,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBACf,sFAAsF;gBACtF,qFAAqF;gBACrF,IAAK,KAA2C,EAAE,IAAI,KAAK,QAAQ,EAAE,CAAC;oBACpE,OAAO,EAAE,QAAQ,EAAE,OAAO,EAAE,MAAM,EAAE,eAAe,EAAE,IAAI,EAAE,UAAU,CAAC,WAAW,EAAE,CAAC;gBACtF,CAAC;gBACD,OAAO;oBACL,QAAQ,EAAE,OAAO;oBACjB,MAAM,EAAE,SAAS;oBACjB,IAAI,EAAE,sCAAsC,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE;iBACrG,CAAC;YACJ,CAAC;QACH,CAAC;QACD,MAAM,QAAQ,GAAG,UAAU,CAAC,QAAQ,EAAE,EAAE,CAAC;QACzC,IAAI,QAAQ,KAAK,SAAS;YAAE,OAAO,EAAE,QAAQ,EAAE,UAAU,CAAC,EAAE,EAAE,MAAM,EAAE,QAAQ,EAAE,CAAC;QACjF,IAAI,MAA6B,CAAC;QAClC,qFAAqF;QACrF,qFAAqF;QACrF,2FAA2F;QAC3F,oBAAoB;QACpB,MAAM,GAAG,GAAG,SAAS,CAAC,CAAC,CAAC,UAAU,CAAC,UAAU,CAAC,EAAE,EAAE,SAAS,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;QACzE,MAAM,UAAU,GAAG,UAAU,CAAC,UAAU,EAAE,CAAC;QAC3C,MAAM,YAAY,GAAG,CACnB,MAA+B,EAC/B,IAAY,EACZ,OAA+B,EACf,EAAE;YAClB,IAAI,CAAC,kBAAkB,CAAC,UAAU,EAAE,UAAU,EAAE,GAAG,EAAE,SAAS,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,SAAS,EAAE,MAAM,EAAE,OAAO,CAAC,CAAC;YACvG,OAAO,EAAE,QAAQ,EAAE,UAAU,CAAC,EAAE,EAAE,MAAM,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC;QAC9D,CAAC,CAAC;QACF,yFAAyF;QACzF,0FAA0F;QAC1F,oEAAoE;QACpE,MAAM,GAAG,GAAG,CACV,IAAI,GAAsB,UAAU,CAAC,UAAU,EAC/C,SAAS,GAAG,kBAAkB,EACE,EAAE;YAClC,MAAM,KAAK,GAAG,UAAU,CAAC,KAAK,EAAE,EAAE,CAAC;YACnC,OAAO,KAAK,KAAK,SAAS;gBACxB,CAAC,CAAC,IAAI,CAAC,UAAU,CAAC,UAAU,EAAE,IAAI,EAAE,SAAS,EAAE,GAAG,EAAE,KAAK,CAAC;gBAC1D,CAAC,CAAC,GAAG,KAAK,SAAS;oBACjB,CAAC,CAAC,IAAI,CAAC,UAAU,CAAC,UAAU,EAAE,IAAI,EAAE,SAAS,CAAC;oBAC9C,CAAC,CAAC,IAAI,CAAC,UAAU,CAAC,UAAU,EAAE,IAAI,EAAE,SAAS,EAAE,GAAG,CAAC,CAAC;QAC1D,CAAC,CAAC;QACF,IAAI,CAAC;YACH,MAAM,GAAG,MAAM,GAAG,EAAE,CAAC;YACrB,8FAA8F;YAC9F,IAAI,MAAM,CAAC,QAAQ;gBAAE,MAAM,GAAG,MAAM,GAAG,CAAC,UAAU,CAAC,UAAU,EAAE,gBAAgB,CAAC,CAAC;YACjF,wFAAwF;YACxF,yFAAyF;YACzF,IAAI,eAAe,CAAC,MAAM,CAAC,IAAI,UAAU,CAAC,KAAK,CAAC,MAAM,CAAC,KAAK,IAAI;gBAAE,MAAM,GAAG,MAAM,GAAG,EAAE,CAAC;YACvF,uFAAuF;YACvF,IAAI,cAAc,CAAC,MAAM,CAAC,IAAI,UAAU,CAAC,KAAK,CAAC,MAAM,CAAC,KAAK,IAAI;gBAAE,MAAM,GAAG,MAAM,GAAG,EAAE,CAAC;YACtF,MAAM,QAAQ,GAAG,UAAU,CAAC,KAAK,CAAC,MAAM,CAAC,KAAK,IAAI,CAAC,CAAC,CAAC,UAAU,CAAC,YAAY,EAAE,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;YACnG,IAAI,QAAQ;gBAAE,MAAM,GAAG,MAAM,GAAG,CAAC,QAAQ,CAAC,CAAC;QAC7C,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,MAAM,IAAI,GAAI,KAA2C,EAAE,IAAI,CAAC;YAChE,MAAM,MAAM,GAA0B;gBACpC,MAAM,EAAE,EAAE;gBACV,MAAM,EAAE,EAAE;gBACV,QAAQ,EAAE,IAAI;gBACd,GAAG,CAAC,OAAO,IAAI,KAAK,QAAQ,CAAC,CAAC,CAAC,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;aACzD,CAAC;YACF,4FAA4F;YAC5F,MAAM,IAAI,GAAG,qBAAqB,CAAC,IAAI,CAAC,UAAU,CAAC;gBACjD,CAAC,CAAC,KAAK,UAAU,yEAAyE,UAAU,CAAC,WAAW,4CAA4C;gBAC5J,CAAC,CAAC,YAAY,CAAC;YACjB,OAAO,YAAY,CAAC,aAAa,EAAE,IAAI,EAAE,MAAM,CAAC,CAAC;QACnD,CAAC;QACD,IAAI,MAAM,CAAC,SAAS,KAAK,QAAQ,EAAE,CAAC;YAClC,OAAO,EAAE,QAAQ,EAAE,UAAU,CAAC,EAAE,EAAE,MAAM,EAAE,eAAe,EAAE,IAAI,EAAE,UAAU,CAAC,WAAW,EAAE,CAAC;QAC5F,CAAC;QACD,IAAI,MAAM,CAAC,QAAQ;YAAE,OAAO,YAAY,CAAC,SAAS,EAAE,YAAY,EAAE,MAAM,CAAC,CAAC;QAC1E,IAAI,MAAM,CAAC,SAAS;YAAE,OAAO,YAAY,CAAC,aAAa,EAAE,YAAY,EAAE,MAAM,CAAC,CAAC;QAC/E,MAAM,QAAQ,GAAG,sBAAsB,CAAC,MAAM,CAAC,CAAC;QAChD,IAAI,QAAQ,EAAE,CAAC;YACb,OAAO;gBACL,QAAQ,EAAE,UAAU,CAAC,EAAE;gBACvB,MAAM,EAAE,eAAe;gBACvB,IAAI,EAAE,KAAK,UAAU,yDAAyD,QAAQ,MAAM;sBACxF,GAAG,UAAU,CAAC,WAAW,aAAa,UAAU,CAAC,WAAW,cAAc;aAC/E,CAAC;QACJ,CAAC;QACD,MAAM,MAAM,GAAG,UAAU,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;QACxC,IAAI,MAAM,KAAK,IAAI;YAAE,OAAO,EAAE,QAAQ,EAAE,UAAU,CAAC,EAAE,EAAE,MAAM,EAAE,CAAC;QAChE,mFAAmF;QACnF,IAAI,cAAc,CAAC,MAAM,CAAC;YAAE,OAAO,EAAE,QAAQ,EAAE,UAAU,CAAC,EAAE,EAAE,MAAM,EAAE,SAAS,EAAE,IAAI,EAAE,gBAAgB,EAAE,CAAC;QAC1G,MAAM,IAAI,GAAG,UAAU,CAAC,gBAAgB,EAAE,CAAC,MAAM,CAAC,IAAI,YAAY,CAAC;QACnE,2FAA2F;QAC3F,IAAI,MAAM,CAAC,QAAQ,KAAK,CAAC,IAAI,MAAM,CAAC,QAAQ,KAAK,CAAC;YAAE,OAAO,YAAY,CAAC,qBAAqB,EAAE,IAAI,EAAE,MAAM,CAAC,CAAC;QAC7G,OAAO,YAAY,CAAC,iBAAiB,EAAE,IAAI,EAAE,MAAM,CAAC,CAAC;IACvD,CAAC;IAEO,kBAAkB,CACxB,UAA8B,EAC9B,UAAkB,EAClB,GAAuC,EACvC,OAA4B,EAC5B,MAA+B,EAC/B,MAA8B;QAE9B,IAAI,CAAC,IAAI,CAAC,cAAc;YAAE,OAAO;QACjC,MAAM,GAAG,GAAG,GAAG,UAAU,CAAC,EAAE,SAAS,MAAM,SAAS,OAAO,EAAE,CAAC;QAC9D,IAAI,IAAI,CAAC,oBAAoB,CAAC,GAAG,CAAC,GAAG,CAAC;YAAE,OAAO;QAC/C,IAAI,CAAC,oBAAoB,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;QACnC,MAAM,SAAS,GAAG,MAAM,EAAE,SAAS,CAAC;QACpC,IAAI,CAAC;YACH,IAAI,CAAC,cAAc,CAAC;gBAClB,QAAQ,EAAE,UAAU,CAAC,EAAE;gBACvB,MAAM;gBACN,OAAO;gBACP,SAAS,EAAE,OAAO,CAAC,GAAG,CAAC,UAAU,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,UAAU,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,MAAM;gBAC1G,MAAM,EAAE,YAAY,CAAC,UAAU,CAAC;gBAChC,+FAA+F;gBAC/F,SAAS,EAAE,SAAS,IAAI,wBAAwB,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,IAAI;gBACnF,QAAQ,EAAE,MAAM,EAAE,QAAQ,IAAI,IAAI;gBAClC,WAAW,EAAE,MAAM,EAAE,MAAM,CAAC,MAAM,IAAI,CAAC;gBACvC,UAAU,EAAE,MAAM,CAAC,CAAC,CAAC,YAAY,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,KAAK;gBACxD,WAAW,EAAE,MAAM,EAAE,MAAM,CAAC,MAAM,IAAI,CAAC;gBACvC,UAAU,EAAE,KAAK,IAAI,EAAE;oBACrB,MAAM,MAAM,GAAG,MAAM,CAAC,GAAG,KAAK,SAAS;wBACrC,CAAC,CAAC,IAAI,CAAC,UAAU,CAAC,UAAU,EAAE,CAAC,WAAW,CAAC,EAAE,kBAAkB,CAAC;wBAChE,CAAC,CAAC,IAAI,CAAC,UAAU,CAAC,UAAU,EAAE,CAAC,WAAW,CAAC,EAAE,kBAAkB,EAAE,GAAG,CAAC,CAAC,CAAC;oBACzE,OAAO,cAAc,CAAC,MAAM,CAAC,MAAM,CAAC,IAAI,cAAc,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;gBACxE,CAAC;aACF,CAAC,CAAC;QACL,CAAC;QAAC,MAAM,CAAC;YACP,gDAAgD;QAClD,CAAC;IACH,CAAC;CACF"}
1
+ {"version":3,"file":"provider-auth.js","sourceRoot":"","sources":["../../src/core/provider-auth.ts"],"names":[],"mappings":"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"}
@@ -39,6 +39,10 @@ const LIMIT_PHRASE_RE = /\b(?:usage|rate|session|weekly|hourly)[\s-]?limit\b|\br
39
39
  const RESET_AT_RE = /(?:resets?|reset[s]?\s+at|try\s+again|retry|available\s+again|unlocks?)\b[^\n]{0,24}?\b(\d{4}-\d{2}-\d{2}(?:[T ]\d{2}:\d{2}(?::\d{2})?(?:\.\d+)?(?:Z|[+-]\d{2}:?\d{2})?)?)/i;
40
40
  /** `...resets 8:10pm (Europe/Warsaw)`, `...try again at 20:10`. */
41
41
  const RESET_CLOCK_RE = /(?:resets?|reset[s]?\s+at|try\s+again|retry|available\s+again|unlocks?)\b[^\n]{0,24}?\b(?:at\s*)?(\d{1,2})(?:(?::(\d{2}))\s*([ap]\.?m\.?)?|\s*([ap]\.?m\.?))(?:\s*\(([^)]+)\))?/i;
42
+ /** `…resets Oct 24, 9am (Europe/Warsaw)` — Claude Code's weekly window names its day. Read before
43
+ * the clock-only form, which would otherwise skip the date and resume at the NEXT 9am. */
44
+ const RESET_DATE_CLOCK_RE = /(?:resets?|reset[s]?\s+at|try\s+again|retry|available\s+again|unlocks?)\b[^\n]{0,12}?\b(jan|feb|mar|apr|may|jun|jul|aug|sep|oct|nov|dec)[a-z]*\.?\s+(\d{1,2})(?:st|nd|rd|th)?,?\s+(?:at\s+)?(\d{1,2})(?:(?::(\d{2}))\s*([ap]\.?m\.?)?|\s*([ap]\.?m\.?))(?:\s*\(([^)]+)\))?/i;
45
+ const MONTHS = ['jan', 'feb', 'mar', 'apr', 'may', 'jun', 'jul', 'aug', 'sep', 'oct', 'nov', 'dec'];
42
46
  /** `…try again in 42 minutes`, `…retry after 3600 seconds`, `retry-after: 3600`. */
43
47
  const RESET_IN_RE = /(?:try\s+again|retry|resets?|available\s+again)\b[^\n]{0,16}?\b(?:in|after)\s+(\d{1,7})\s*(seconds?|secs?|s|minutes?|mins?|m|hours?|hrs?|h)\b/i;
44
48
  const RETRY_AFTER_HEADER_RE = /\bretry[-_\s]?after\b\s*[:=]?\s*(\d{1,7})\b/i;
@@ -82,6 +86,12 @@ export function parseUsageLimit(message, now = Date.now()) {
82
86
  if (Number.isFinite(parsed))
83
87
  return settle(parsed, now, 'timestamp');
84
88
  }
89
+ const dated = RESET_DATE_CLOCK_RE.exec(message);
90
+ if (dated) {
91
+ // A named day the parser cannot place is not a reason to guess the next clock instead.
92
+ const parsed = parseDatedReset(dated, now);
93
+ return parsed === null ? null : settle(parsed, now, 'clock');
94
+ }
85
95
  const clock = RESET_CLOCK_RE.exec(message);
86
96
  if (clock) {
87
97
  const parsed = parseClockReset(clock, now);
@@ -99,10 +109,11 @@ export function parseUsageLimit(message, now = Date.now()) {
99
109
  return settle(now + Number(header[1]) * 1_000, now, 'delay');
100
110
  return null;
101
111
  }
102
- function parseClockReset(match, now) {
103
- const hourRaw = Number(match[1]);
104
- const minute = match[2] === undefined ? 0 : Number(match[2]);
105
- const meridiem = (match[3] ?? match[4])?.toLowerCase().replaceAll('.', '');
112
+ /** A 12- or 24-hour clock as `{ hour, minute }`, or `null` when it is not a real time of day. */
113
+ function readClock(hourText, minuteText, meridiemText) {
114
+ const hourRaw = Number(hourText);
115
+ const minute = minuteText === undefined ? 0 : Number(minuteText);
116
+ const meridiem = meridiemText?.toLowerCase().replaceAll('.', '');
106
117
  if (!Number.isInteger(hourRaw) || !Number.isInteger(minute) || minute < 0 || minute > 59) {
107
118
  return null;
108
119
  }
@@ -120,10 +131,44 @@ function parseClockReset(match, now) {
120
131
  else if (hour < 0 || hour > 23) {
121
132
  return null;
122
133
  }
134
+ return { hour, minute };
135
+ }
136
+ function parseClockReset(match, now) {
137
+ const clock = readClock(match[1], match[2], match[3] ?? match[4]);
138
+ if (!clock)
139
+ return null;
123
140
  const timeZone = match[5]?.trim();
124
141
  if (isValidTimeZone(timeZone))
125
- return nextClockInTimeZone(hour, minute, timeZone, now);
126
- return nextLocalClock(hour, minute, now);
142
+ return nextClockInTimeZone(clock.hour, clock.minute, timeZone, now);
143
+ return nextLocalClock(clock.hour, clock.minute, now);
144
+ }
145
+ /** `Oct 24, 9am (TZ)`: this year's date in that zone (the host's without one), next year's when it
146
+ * already passed — a week-long window opened in late December resets in January. */
147
+ function parseDatedReset(match, now) {
148
+ const month = MONTHS.indexOf(match[1].slice(0, 3).toLowerCase()) + 1;
149
+ const day = Number(match[2]);
150
+ const clock = readClock(match[3], match[4], match[5] ?? match[6]);
151
+ if (month < 1 || !clock || day < 1 || day > 31)
152
+ return null;
153
+ const timeZone = match[7]?.trim();
154
+ const zoned = isValidTimeZone(timeZone);
155
+ const at = (year) => {
156
+ // `Date` rolls Feb 31 into March; a day the month does not have is not a reset instant.
157
+ if (new Date(Date.UTC(year, month - 1, day)).getUTCDate() !== day)
158
+ return null;
159
+ if (zoned)
160
+ return zonedWallTimeToUtc(year, month, day, clock.hour, clock.minute, timeZone);
161
+ return new Date(year, month - 1, day, clock.hour, clock.minute, 0, 0).getTime();
162
+ };
163
+ const year = zoned ? zonedParts(now, timeZone)?.year : new Date(now).getFullYear();
164
+ if (year === undefined)
165
+ return null;
166
+ const candidate = at(year);
167
+ if (candidate === null)
168
+ return null;
169
+ // A day ago or more is last year's date read as this year's; minutes ago is a limit that lifted.
170
+ // A stale date rolled a year ahead fails `settle`'s one-week cap and reads as unparsed.
171
+ return now - candidate > 24 * 60 * 60_000 ? at(year + 1) : candidate;
127
172
  }
128
173
  function nextLocalClock(hour, minute, now) {
129
174
  const candidate = new Date(now);