@ralphkrauss/codex-account-switcher 0.1.1-beta.0 → 0.1.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/cli.js CHANGED
@@ -2,17 +2,20 @@
2
2
  import { realpathSync } from 'node:fs';
3
3
  import { readFile } from 'node:fs/promises';
4
4
  import { fileURLToPath, pathToFileURL } from 'node:url';
5
- import { CxError, authFileExists, getCodexPaths, inspectDoctor, listAccounts, loginAccount, removeAccount, renameAccount, runCodex, saveAccount, useAccount, validateAccountName, } from './index.js';
5
+ import { CxError, authFileExists, configureOnePasswordRemote, getCodexPaths, inspectHermesStatus, inspectDoctor, inspectRemoteStatus, inspectSyncStatus, listAccounts, loginAccount, removeAccount, renameAccount, runCodex, saveAccount, syncHermesAccount, syncPullAccount, syncPushAccount, useAccount, useHermesAccount, validateAccountName, } from './index.js';
6
6
  const PACKAGE_NAME = '@ralphkrauss/codex-account-switcher';
7
7
  const SUBCOMMANDS = new Set([
8
8
  'doctor',
9
+ 'hermes',
9
10
  'help',
10
11
  'login',
11
12
  'ls',
12
13
  'rename',
14
+ 'remote',
13
15
  'rm',
14
16
  'run',
15
17
  'save',
18
+ 'sync',
16
19
  'use',
17
20
  ]);
18
21
  function write(stream, text) {
@@ -37,10 +40,18 @@ Usage:
37
40
  cx ls
38
41
  cx save <name> [--force]
39
42
  cx use <name>
40
- cx login <name> [--force]
43
+ cx login <name> [--force] [codex login args...]
41
44
  cx rename <old> <new> [--force]
42
45
  cx rm <name>
43
46
  cx run [name] -- [codex args...]
47
+ cx hermes use <account> [--profile <name>] [--no-config]
48
+ cx hermes sync <account> [--profile <name>]
49
+ cx hermes status [--profile <name>] [--json]
50
+ cx remote configure 1password --vault <vault> [--item-prefix <prefix>]
51
+ cx remote status [--json]
52
+ cx sync push <account>
53
+ cx sync pull <account> [--force]
54
+ cx sync status [account] [--json]
44
55
  cx doctor [--json]
45
56
  cx --help
46
57
  cx --version
@@ -53,9 +64,168 @@ Data layout:
53
64
  Uses CODEX_HOME when set, otherwise ~/.codex.
54
65
  Accounts are stored as CODEX_HOME/accounts/<name>.json.
55
66
  The active account marker is CODEX_HOME/.current-account.
67
+ Remote sync config is stored as CODEX_HOME/remote.json.
56
68
 
57
69
  Account names may contain letters, numbers, dot, underscore, and dash only.`;
58
70
  }
71
+ function hermesHelpText() {
72
+ return `Usage:
73
+ cx hermes use <account> [--profile <name>] [--no-config]
74
+ cx hermes sync <account> [--profile <name>]
75
+ cx hermes status [--profile <name>] [--json]
76
+
77
+ Commands:
78
+ use Import CODEX_HOME/accounts/<account>.json into Hermes openai-codex auth.
79
+ Also sets model.provider=openai-codex unless --no-config is passed.
80
+ sync Copy Hermes openai-codex tokens back to the cx account slot.
81
+ status Show the selected Hermes home, auth/config state, and linked cx account.
82
+
83
+ Paths:
84
+ Default Hermes home uses HERMES_HOME when set, otherwise ~/.hermes.
85
+ --profile <name> explicitly targets ~/.hermes/profiles/<name>.`;
86
+ }
87
+ function remoteHelpText() {
88
+ return `Usage:
89
+ cx remote configure 1password --vault <vault> [--item-prefix <prefix>]
90
+ cx remote status [--json]
91
+
92
+ Commands:
93
+ configure Store remote sync settings in CODEX_HOME/remote.json.
94
+ status Show configured backend/vault/prefix and whether the op CLI is available.
95
+
96
+ Notes:
97
+ The default 1Password item prefix is cx-. Token contents are never printed.`;
98
+ }
99
+ function syncHelpText() {
100
+ return `Usage:
101
+ cx sync push <account>
102
+ cx sync pull <account> [--force]
103
+ cx sync status [account] [--json]
104
+
105
+ Commands:
106
+ push Upsert CODEX_HOME/accounts/<account>.json into the configured 1Password item.
107
+ pull Read the configured 1Password item into CODEX_HOME/accounts/<account>.json.
108
+ Refuses to overwrite unless --force is passed.
109
+ status Compare local account-file presence with remote item presence without printing tokens.`;
110
+ }
111
+ function parseHermesArgs(command, args, allowed) {
112
+ let json = false;
113
+ let noConfig = false;
114
+ let profile;
115
+ const positionals = [];
116
+ for (let index = 0; index < args.length; index += 1) {
117
+ const arg = args[index] ?? '';
118
+ if (arg === '--profile') {
119
+ const value = args[index + 1];
120
+ if (!value || value.startsWith('-')) {
121
+ throw new CxError(`usage: cx hermes ${command}`, 2);
122
+ }
123
+ profile = value;
124
+ index += 1;
125
+ continue;
126
+ }
127
+ if (arg === '--json') {
128
+ if (allowed.json !== true) {
129
+ throw new CxError(`unknown option '${arg}'`, 2);
130
+ }
131
+ json = true;
132
+ continue;
133
+ }
134
+ if (arg === '--no-config') {
135
+ if (allowed.noConfig !== true) {
136
+ throw new CxError(`unknown option '${arg}'`, 2);
137
+ }
138
+ noConfig = true;
139
+ continue;
140
+ }
141
+ if (arg.startsWith('--')) {
142
+ throw new CxError(`unknown option '${arg}'`, 2);
143
+ }
144
+ positionals.push(arg);
145
+ }
146
+ return { json, noConfig, ...(profile ? { profile } : {}), positionals };
147
+ }
148
+ function parseJsonArgs(args) {
149
+ let json = false;
150
+ const positionals = [];
151
+ for (const arg of args) {
152
+ if (arg === '--json') {
153
+ json = true;
154
+ continue;
155
+ }
156
+ if (arg.startsWith('--')) {
157
+ throw new CxError(`unknown option '${arg}'`, 2);
158
+ }
159
+ positionals.push(arg);
160
+ }
161
+ return { json, positionals };
162
+ }
163
+ function parseRemoteConfigureArgs(args) {
164
+ const [backend, ...rest] = args;
165
+ if (backend !== '1password') {
166
+ throw new CxError('usage: cx remote configure 1password --vault <vault> [--item-prefix <prefix>]', 2);
167
+ }
168
+ let vault;
169
+ let itemPrefix;
170
+ for (let index = 0; index < rest.length; index += 1) {
171
+ const arg = rest[index] ?? '';
172
+ if (arg === '--vault') {
173
+ const value = rest[index + 1];
174
+ if (!value || value.startsWith('-')) {
175
+ throw new CxError('usage: cx remote configure 1password --vault <vault> [--item-prefix <prefix>]', 2);
176
+ }
177
+ vault = value;
178
+ index += 1;
179
+ continue;
180
+ }
181
+ if (arg === '--item-prefix') {
182
+ const value = rest[index + 1];
183
+ if (!value || value.startsWith('-')) {
184
+ throw new CxError('usage: cx remote configure 1password --vault <vault> [--item-prefix <prefix>]', 2);
185
+ }
186
+ itemPrefix = value;
187
+ index += 1;
188
+ continue;
189
+ }
190
+ if (arg.startsWith('--')) {
191
+ throw new CxError(`unknown option '${arg}'`, 2);
192
+ }
193
+ throw new CxError('usage: cx remote configure 1password --vault <vault> [--item-prefix <prefix>]', 2);
194
+ }
195
+ if (!vault) {
196
+ throw new CxError('usage: cx remote configure 1password --vault <vault> [--item-prefix <prefix>]', 2);
197
+ }
198
+ return { vault, ...(itemPrefix ? { itemPrefix } : {}) };
199
+ }
200
+ function parseLoginArgs(args) {
201
+ let force = false;
202
+ let name = null;
203
+ const loginArgs = [];
204
+ let afterSeparator = false;
205
+ for (const arg of args) {
206
+ if (afterSeparator) {
207
+ loginArgs.push(arg);
208
+ continue;
209
+ }
210
+ if (arg === '--') {
211
+ afterSeparator = true;
212
+ continue;
213
+ }
214
+ if (arg === '--force') {
215
+ force = true;
216
+ continue;
217
+ }
218
+ if (name === null) {
219
+ name = arg;
220
+ continue;
221
+ }
222
+ loginArgs.push(arg);
223
+ }
224
+ if (name === null || name.startsWith('-')) {
225
+ throw new CxError('usage: cx login <name> [--force] [codex login args...]', 2);
226
+ }
227
+ return { force, name, loginArgs };
228
+ }
59
229
  function parseForceArgs(args) {
60
230
  let force = false;
61
231
  const positionals = [];
@@ -123,6 +293,79 @@ function formatDoctor(report) {
123
293
  }
124
294
  return lines.join('\n');
125
295
  }
296
+ function yesNo(value) {
297
+ return value ? 'yes' : 'no';
298
+ }
299
+ function formatHermesStatus(status) {
300
+ const tokenBits = status.hasTokens
301
+ ? `access=${yesNo(status.hasAccessToken)}, refresh=${yesNo(status.hasRefreshToken)}`
302
+ : 'missing';
303
+ const linked = status.linkedAccounts.length === 0
304
+ ? '(none detected)'
305
+ : status.linkedAccounts.join(', ');
306
+ const lines = [
307
+ 'Hermes Codex integration status',
308
+ `profile: ${status.profile ?? 'default'}`,
309
+ `hermes home: ${status.hermesHome}`,
310
+ `auth.json: ${status.authExists ? 'present' : 'missing'}`,
311
+ `auth readable: ${yesNo(status.authReadable)}`,
312
+ `openai-codex auth: ${status.openaiCodexAuthExists ? 'present' : 'missing'}`,
313
+ `tokens: ${tokenBits}`,
314
+ `last refresh: ${status.lastRefresh ?? '(unknown)'}`,
315
+ `auth mode: ${status.authMode ?? '(unknown)'}`,
316
+ `credential pool openai-codex entries: ${status.poolEntryCount}`,
317
+ `linked cx account: ${linked}`,
318
+ `configured provider: ${status.configuredProvider ?? '(not set)'}`,
319
+ `config.yaml: ${status.configExists ? 'present' : 'missing'}`,
320
+ ];
321
+ if (status.authError) {
322
+ lines.push(`auth warning: ${status.authError}`);
323
+ }
324
+ if (status.configError) {
325
+ lines.push(`config warning: ${status.configError}`);
326
+ }
327
+ return lines.join('\n');
328
+ }
329
+ function formatRemoteStatus(status) {
330
+ const lines = [
331
+ 'Remote sync status',
332
+ `config: ${status.configPath}`,
333
+ `configured: ${yesNo(status.configured)}`,
334
+ `backend: ${status.backend ?? '(not configured)'}`,
335
+ `vault: ${status.vault ?? '(not configured)'}`,
336
+ `item prefix: ${status.itemPrefix ?? '(not configured)'}`,
337
+ `op CLI: ${status.opAvailable ? `available (${status.opPath ?? 'op'})` : 'not found'}`,
338
+ ];
339
+ return lines.join('\n');
340
+ }
341
+ function remotePresenceText(status) {
342
+ if (status.remote.presence === 'unknown') {
343
+ return status.remote.error ? `unknown (${status.remote.error})` : 'unknown';
344
+ }
345
+ return status.remote.presence;
346
+ }
347
+ function formatSyncStatus(status) {
348
+ const lines = [
349
+ 'Remote sync status',
350
+ `config: ${status.configPath}`,
351
+ `configured: ${yesNo(status.configured)}`,
352
+ `backend: ${status.backend ?? '(not configured)'}`,
353
+ `vault: ${status.vault ?? '(not configured)'}`,
354
+ `item prefix: ${status.itemPrefix ?? '(not configured)'}`,
355
+ `op CLI: ${status.opAvailable ? `available (${status.opPath ?? 'op'})` : 'not found'}`,
356
+ ];
357
+ if (status.accounts.length === 0) {
358
+ lines.push('accounts: (none)');
359
+ return lines.join('\n');
360
+ }
361
+ lines.push('accounts:');
362
+ for (const account of status.accounts) {
363
+ lines.push(` - ${account.account}: local=${account.local.exists ? 'present' : 'missing'}, remote=${remotePresenceText(account)}`);
364
+ lines.push(` file: ${account.local.file}`);
365
+ lines.push(` item: ${account.item ?? '(unknown)'}`);
366
+ }
367
+ return lines.join('\n');
368
+ }
126
369
  async function printList(io, env) {
127
370
  write(io.stdout, formatAccounts(await listAccounts(getCodexPaths(env))));
128
371
  }
@@ -147,6 +390,127 @@ function parseRunArgs(args) {
147
390
  }
148
391
  return { account, codexArgs };
149
392
  }
393
+ async function handleHermesCommand(args, env, io) {
394
+ const [command, ...rest] = args;
395
+ if (!command || command === 'help' || command === '--help' || command === '-h') {
396
+ write(io.stdout, hermesHelpText());
397
+ return 0;
398
+ }
399
+ switch (command) {
400
+ case 'use': {
401
+ const parsed = parseHermesArgs('use <account> [--profile <name>] [--no-config]', rest, { noConfig: true });
402
+ requireArity('hermes use <account> [--profile <name>] [--no-config]', parsed.positionals, 1);
403
+ const account = parsed.positionals[0] ?? '';
404
+ const result = await useHermesAccount(account, {
405
+ env,
406
+ ...(parsed.profile ? { profile: parsed.profile } : {}),
407
+ updateConfig: !parsed.noConfig,
408
+ });
409
+ write(io.stdout, `Hermes openai-codex auth now uses cx account '${result.account}'`);
410
+ write(io.stdout, `hermes home: ${result.hermesHome}`);
411
+ write(io.stdout, `auth.json: ${result.hermesAuthFile}`);
412
+ write(io.stdout, result.hermesConfigFile
413
+ ? `config.yaml: ${result.hermesConfigFile} (model.provider=openai-codex)`
414
+ : 'config.yaml: skipped (--no-config)');
415
+ return 0;
416
+ }
417
+ case 'sync': {
418
+ const parsed = parseHermesArgs('sync <account> [--profile <name>]', rest, {});
419
+ requireArity('hermes sync <account> [--profile <name>]', parsed.positionals, 1);
420
+ const account = parsed.positionals[0] ?? '';
421
+ const result = await syncHermesAccount(account, {
422
+ env,
423
+ ...(parsed.profile ? { profile: parsed.profile } : {}),
424
+ });
425
+ write(io.stdout, `synced Hermes openai-codex tokens to cx account '${result.account}'`);
426
+ write(io.stdout, `cx account file: ${result.codexAccountFile}`);
427
+ write(io.stdout, `hermes home: ${result.hermesHome}`);
428
+ return 0;
429
+ }
430
+ case 'status': {
431
+ const parsed = parseHermesArgs('status [--profile <name>] [--json]', rest, { json: true });
432
+ requireArity('hermes status [--profile <name>] [--json]', parsed.positionals, 0);
433
+ const status = await inspectHermesStatus({
434
+ env,
435
+ ...(parsed.profile ? { profile: parsed.profile } : {}),
436
+ });
437
+ write(io.stdout, parsed.json ? JSON.stringify(status, null, 2) : formatHermesStatus(status));
438
+ return 0;
439
+ }
440
+ default:
441
+ throw new CxError(`unknown hermes command '${command}'`, 2);
442
+ }
443
+ }
444
+ async function handleRemoteCommand(args, env, io) {
445
+ const [command, ...rest] = args;
446
+ if (!command || command === 'help' || command === '--help' || command === '-h') {
447
+ write(io.stdout, remoteHelpText());
448
+ return 0;
449
+ }
450
+ switch (command) {
451
+ case 'configure': {
452
+ const parsed = parseRemoteConfigureArgs(rest);
453
+ const result = await configureOnePasswordRemote(parsed, { paths: getCodexPaths(env) });
454
+ write(io.stdout, 'configured remote backend: 1password');
455
+ write(io.stdout, `config: ${result.configPath}`);
456
+ write(io.stdout, `vault: ${result.config.vault}`);
457
+ write(io.stdout, `item prefix: ${result.config.itemPrefix}`);
458
+ return 0;
459
+ }
460
+ case 'status': {
461
+ const parsed = parseJsonArgs(rest);
462
+ requireArity('remote status [--json]', parsed.positionals, 0);
463
+ const status = await inspectRemoteStatus({ env, paths: getCodexPaths(env) });
464
+ write(io.stdout, parsed.json ? JSON.stringify(status, null, 2) : formatRemoteStatus(status));
465
+ return 0;
466
+ }
467
+ default:
468
+ throw new CxError(`unknown remote command '${command}'`, 2);
469
+ }
470
+ }
471
+ async function handleSyncCommand(args, env, io) {
472
+ const [command, ...rest] = args;
473
+ if (!command || command === 'help' || command === '--help' || command === '-h') {
474
+ write(io.stdout, syncHelpText());
475
+ return 0;
476
+ }
477
+ switch (command) {
478
+ case 'push': {
479
+ requireArity('sync push <account>', rest, 1);
480
+ const account = rest[0] ?? '';
481
+ const result = await syncPushAccount(account, { env, paths: getCodexPaths(env) });
482
+ write(io.stdout, `pushed account '${result.account}' to 1Password item '${result.item}'`);
483
+ write(io.stdout, `vault: ${result.vault}`);
484
+ write(io.stdout, `operation: ${result.operation}`);
485
+ return 0;
486
+ }
487
+ case 'pull': {
488
+ const parsed = parseForceArgs(rest);
489
+ requireArity('sync pull <account> [--force]', parsed.positionals, 1);
490
+ const account = parsed.positionals[0] ?? '';
491
+ const result = await syncPullAccount(account, {
492
+ env,
493
+ paths: getCodexPaths(env),
494
+ force: parsed.force,
495
+ });
496
+ write(io.stdout, `pulled 1Password item '${result.item}' into account '${result.account}'`);
497
+ write(io.stdout, `account file: ${result.accountFile}`);
498
+ write(io.stdout, `overwrote local account: ${yesNo(result.overwritten)}`);
499
+ return 0;
500
+ }
501
+ case 'status': {
502
+ const parsed = parseJsonArgs(rest);
503
+ if (parsed.positionals.length > 1) {
504
+ throw new CxError('usage: cx sync status [account] [--json]', 2);
505
+ }
506
+ const status = await inspectSyncStatus(parsed.positionals[0], { env, paths: getCodexPaths(env) });
507
+ write(io.stdout, parsed.json ? JSON.stringify(status, null, 2) : formatSyncStatus(status));
508
+ return 0;
509
+ }
510
+ default:
511
+ throw new CxError(`unknown sync command '${command}'`, 2);
512
+ }
513
+ }
150
514
  export async function main(argv = process.argv.slice(2), env = process.env, io = { stdout: process.stdout, stderr: process.stderr }) {
151
515
  const metadata = await readPackageMetadata();
152
516
  const [first, ...rest] = argv;
@@ -204,11 +568,14 @@ export async function main(argv = process.argv.slice(2), env = process.env, io =
204
568
  return 0;
205
569
  }
206
570
  case 'login': {
207
- const parsed = parseForceArgs(rest);
208
- requireArity('login <name> [--force]', parsed.positionals, 1);
209
- const name = parsed.positionals[0] ?? '';
210
- await loginAccount(name, { force: parsed.force, env, paths: getCodexPaths(env) });
211
- write(io.stdout, `logged in and saved as '${name}'`);
571
+ const parsed = parseLoginArgs(rest);
572
+ await loginAccount(parsed.name, {
573
+ force: parsed.force,
574
+ loginArgs: parsed.loginArgs,
575
+ env,
576
+ paths: getCodexPaths(env),
577
+ });
578
+ write(io.stdout, `logged in and saved as '${parsed.name}'`);
212
579
  return 0;
213
580
  }
214
581
  case 'rename': {
@@ -247,6 +614,12 @@ export async function main(argv = process.argv.slice(2), env = process.env, io =
247
614
  write(io.stdout, json ? JSON.stringify(report, null, 2) : formatDoctor(report));
248
615
  return 0;
249
616
  }
617
+ case 'hermes':
618
+ return await handleHermesCommand(rest, env, io);
619
+ case 'remote':
620
+ return await handleRemoteCommand(rest, env, io);
621
+ case 'sync':
622
+ return await handleSyncCommand(rest, env, io);
250
623
  default:
251
624
  throw new CxError(`unknown command '${first}'`, 2);
252
625
  }
package/dist/cli.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"cli.js","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"cli.js","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":";AACA,OAAO,EAAE,YAAY,EAAE,MAAM,SAAS,CAAC;AACvC,OAAO,EAAE,QAAQ,EAAE,MAAM,kBAAkB,CAAC;AAC5C,OAAO,EAAE,aAAa,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC;AACxD,OAAO,EACL,OAAO,EACP,cAAc,EACd,0BAA0B,EAC1B,aAAa,EACb,mBAAmB,EACnB,aAAa,EACb,mBAAmB,EACnB,iBAAiB,EACjB,YAAY,EACZ,YAAY,EACZ,aAAa,EACb,aAAa,EACb,QAAQ,EACR,WAAW,EACX,iBAAiB,EACjB,eAAe,EACf,eAAe,EACf,UAAU,EACV,gBAAgB,EAChB,mBAAmB,GAMpB,MAAM,YAAY,CAAC;AAEpB,MAAM,YAAY,GAAG,qCAAqC,CAAC;AAC3D,MAAM,WAAW,GAAG,IAAI,GAAG,CAAC;IAC1B,QAAQ;IACR,QAAQ;IACR,MAAM;IACN,OAAO;IACP,IAAI;IACJ,QAAQ;IACR,QAAQ;IACR,IAAI;IACJ,KAAK;IACL,MAAM;IACN,MAAM;IACN,KAAK;CACN,CAAC,CAAC;AAmCH,SAAS,KAAK,CAAC,MAA6B,EAAE,IAAY;IACxD,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,GAAG,IAAI,IAAI,CAAC,CAAC;AACzD,CAAC;AAED,KAAK,UAAU,mBAAmB;IAChC,IAAI,CAAC;QACH,MAAM,WAAW,GAAG,IAAI,CAAC,KAAK,CAAC,MAAM,QAAQ,CAAC,IAAI,GAAG,CAAC,iBAAiB,EAAE,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,MAAM,CAAC,CAGjG,CAAC;QACF,OAAO;YACL,IAAI,EAAE,OAAO,WAAW,CAAC,IAAI,KAAK,QAAQ,CAAC,CAAC,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC,CAAC,YAAY;YAC5E,OAAO,EAAE,OAAO,WAAW,CAAC,OAAO,KAAK,QAAQ,CAAC,CAAC,CAAC,WAAW,CAAC,OAAO,CAAC,CAAC,CAAC,OAAO;SACjF,CAAC;IACJ,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,EAAE,IAAI,EAAE,YAAY,EAAE,OAAO,EAAE,OAAO,EAAE,CAAC;IAClD,CAAC;AACH,CAAC;AAED,SAAS,QAAQ,CAAC,QAA6D;IAC7E,OAAO,MAAM,QAAQ,CAAC,OAAO;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4EAgC6C,CAAC;AAC7E,CAAC;AAED,SAAS,cAAc;IACrB,OAAO;;;;;;;;;;;;;iEAawD,CAAC;AAClE,CAAC;AAED,SAAS,cAAc;IACrB,OAAO;;;;;;;;;8EASqE,CAAC;AAC/E,CAAC;AAED,SAAS,YAAY;IACnB,OAAO;;;;;;;;;iGASwF,CAAC;AAClG,CAAC;AAED,SAAS,eAAe,CACtB,OAAe,EACf,IAAuB,EACvB,OAAiE;IAEjE,IAAI,IAAI,GAAG,KAAK,CAAC;IACjB,IAAI,QAAQ,GAAG,KAAK,CAAC;IACrB,IAAI,OAA2B,CAAC;IAChC,MAAM,WAAW,GAAa,EAAE,CAAC;IAEjC,KAAK,IAAI,KAAK,GAAG,CAAC,EAAE,KAAK,GAAG,IAAI,CAAC,MAAM,EAAE,KAAK,IAAI,CAAC,EAAE,CAAC;QACpD,MAAM,GAAG,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,EAAE,CAAC;QAC9B,IAAI,GAAG,KAAK,WAAW,EAAE,CAAC;YACxB,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,GAAG,CAAC,CAAC,CAAC;YAC9B,IAAI,CAAC,KAAK,IAAI,KAAK,CAAC,UAAU,CAAC,GAAG,CAAC,EAAE,CAAC;gBACpC,MAAM,IAAI,OAAO,CAAC,oBAAoB,OAAO,EAAE,EAAE,CAAC,CAAC,CAAC;YACtD,CAAC;YACD,OAAO,GAAG,KAAK,CAAC;YAChB,KAAK,IAAI,CAAC,CAAC;YACX,SAAS;QACX,CAAC;QACD,IAAI,GAAG,KAAK,QAAQ,EAAE,CAAC;YACrB,IAAI,OAAO,CAAC,IAAI,KAAK,IAAI,EAAE,CAAC;gBAC1B,MAAM,IAAI,OAAO,CAAC,mBAAmB,GAAG,GAAG,EAAE,CAAC,CAAC,CAAC;YAClD,CAAC;YACD,IAAI,GAAG,IAAI,CAAC;YACZ,SAAS;QACX,CAAC;QACD,IAAI,GAAG,KAAK,aAAa,EAAE,CAAC;YAC1B,IAAI,OAAO,CAAC,QAAQ,KAAK,IAAI,EAAE,CAAC;gBAC9B,MAAM,IAAI,OAAO,CAAC,mBAAmB,GAAG,GAAG,EAAE,CAAC,CAAC,CAAC;YAClD,CAAC;YACD,QAAQ,GAAG,IAAI,CAAC;YAChB,SAAS;QACX,CAAC;QACD,IAAI,GAAG,CAAC,UAAU,CAAC,IAAI,CAAC,EAAE,CAAC;YACzB,MAAM,IAAI,OAAO,CAAC,mBAAmB,GAAG,GAAG,EAAE,CAAC,CAAC,CAAC;QAClD,CAAC;QACD,WAAW,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;IACxB,CAAC;IAED,OAAO,EAAE,IAAI,EAAE,QAAQ,EAAE,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,WAAW,EAAE,CAAC;AAC1E,CAAC;AAED,SAAS,aAAa,CAAC,IAAuB;IAC5C,IAAI,IAAI,GAAG,KAAK,CAAC;IACjB,MAAM,WAAW,GAAa,EAAE,CAAC;IACjC,KAAK,MAAM,GAAG,IAAI,IAAI,EAAE,CAAC;QACvB,IAAI,GAAG,KAAK,QAAQ,EAAE,CAAC;YACrB,IAAI,GAAG,IAAI,CAAC;YACZ,SAAS;QACX,CAAC;QACD,IAAI,GAAG,CAAC,UAAU,CAAC,IAAI,CAAC,EAAE,CAAC;YACzB,MAAM,IAAI,OAAO,CAAC,mBAAmB,GAAG,GAAG,EAAE,CAAC,CAAC,CAAC;QAClD,CAAC;QACD,WAAW,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;IACxB,CAAC;IACD,OAAO,EAAE,IAAI,EAAE,WAAW,EAAE,CAAC;AAC/B,CAAC;AAED,SAAS,wBAAwB,CAAC,IAAuB;IACvD,MAAM,CAAC,OAAO,EAAE,GAAG,IAAI,CAAC,GAAG,IAAI,CAAC;IAChC,IAAI,OAAO,KAAK,WAAW,EAAE,CAAC;QAC5B,MAAM,IAAI,OAAO,CAAC,+EAA+E,EAAE,CAAC,CAAC,CAAC;IACxG,CAAC;IAED,IAAI,KAAyB,CAAC;IAC9B,IAAI,UAA8B,CAAC;IACnC,KAAK,IAAI,KAAK,GAAG,CAAC,EAAE,KAAK,GAAG,IAAI,CAAC,MAAM,EAAE,KAAK,IAAI,CAAC,EAAE,CAAC;QACpD,MAAM,GAAG,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,EAAE,CAAC;QAC9B,IAAI,GAAG,KAAK,SAAS,EAAE,CAAC;YACtB,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,GAAG,CAAC,CAAC,CAAC;YAC9B,IAAI,CAAC,KAAK,IAAI,KAAK,CAAC,UAAU,CAAC,GAAG,CAAC,EAAE,CAAC;gBACpC,MAAM,IAAI,OAAO,CAAC,+EAA+E,EAAE,CAAC,CAAC,CAAC;YACxG,CAAC;YACD,KAAK,GAAG,KAAK,CAAC;YACd,KAAK,IAAI,CAAC,CAAC;YACX,SAAS;QACX,CAAC;QACD,IAAI,GAAG,KAAK,eAAe,EAAE,CAAC;YAC5B,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,GAAG,CAAC,CAAC,CAAC;YAC9B,IAAI,CAAC,KAAK,IAAI,KAAK,CAAC,UAAU,CAAC,GAAG,CAAC,EAAE,CAAC;gBACpC,MAAM,IAAI,OAAO,CAAC,+EAA+E,EAAE,CAAC,CAAC,CAAC;YACxG,CAAC;YACD,UAAU,GAAG,KAAK,CAAC;YACnB,KAAK,IAAI,CAAC,CAAC;YACX,SAAS;QACX,CAAC;QACD,IAAI,GAAG,CAAC,UAAU,CAAC,IAAI,CAAC,EAAE,CAAC;YACzB,MAAM,IAAI,OAAO,CAAC,mBAAmB,GAAG,GAAG,EAAE,CAAC,CAAC,CAAC;QAClD,CAAC;QACD,MAAM,IAAI,OAAO,CAAC,+EAA+E,EAAE,CAAC,CAAC,CAAC;IACxG,CAAC;IAED,IAAI,CAAC,KAAK,EAAE,CAAC;QACX,MAAM,IAAI,OAAO,CAAC,+EAA+E,EAAE,CAAC,CAAC,CAAC;IACxG,CAAC;IACD,OAAO,EAAE,KAAK,EAAE,GAAG,CAAC,UAAU,CAAC,CAAC,CAAC,EAAE,UAAU,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC;AAC1D,CAAC;AAED,SAAS,cAAc,CAAC,IAAuB;IAC7C,IAAI,KAAK,GAAG,KAAK,CAAC;IAClB,IAAI,IAAI,GAAkB,IAAI,CAAC;IAC/B,MAAM,SAAS,GAAa,EAAE,CAAC;IAC/B,IAAI,cAAc,GAAG,KAAK,CAAC;IAE3B,KAAK,MAAM,GAAG,IAAI,IAAI,EAAE,CAAC;QACvB,IAAI,cAAc,EAAE,CAAC;YACnB,SAAS,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;YACpB,SAAS;QACX,CAAC;QAED,IAAI,GAAG,KAAK,IAAI,EAAE,CAAC;YACjB,cAAc,GAAG,IAAI,CAAC;YACtB,SAAS;QACX,CAAC;QAED,IAAI,GAAG,KAAK,SAAS,EAAE,CAAC;YACtB,KAAK,GAAG,IAAI,CAAC;YACb,SAAS;QACX,CAAC;QAED,IAAI,IAAI,KAAK,IAAI,EAAE,CAAC;YAClB,IAAI,GAAG,GAAG,CAAC;YACX,SAAS;QACX,CAAC;QAED,SAAS,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;IACtB,CAAC;IAED,IAAI,IAAI,KAAK,IAAI,IAAI,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,EAAE,CAAC;QAC1C,MAAM,IAAI,OAAO,CAAC,wDAAwD,EAAE,CAAC,CAAC,CAAC;IACjF,CAAC;IAED,OAAO,EAAE,KAAK,EAAE,IAAI,EAAE,SAAS,EAAE,CAAC;AACpC,CAAC;AAED,SAAS,cAAc,CAAC,IAAuB;IAC7C,IAAI,KAAK,GAAG,KAAK,CAAC;IAClB,MAAM,WAAW,GAAa,EAAE,CAAC;IACjC,KAAK,MAAM,GAAG,IAAI,IAAI,EAAE,CAAC;QACvB,IAAI,GAAG,KAAK,SAAS,EAAE,CAAC;YACtB,KAAK,GAAG,IAAI,CAAC;YACb,SAAS;QACX,CAAC;QACD,IAAI,GAAG,CAAC,UAAU,CAAC,IAAI,CAAC,EAAE,CAAC;YACzB,MAAM,IAAI,OAAO,CAAC,mBAAmB,GAAG,GAAG,EAAE,CAAC,CAAC,CAAC;QAClD,CAAC;QACD,WAAW,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;IACxB,CAAC;IACD,OAAO,EAAE,KAAK,EAAE,WAAW,EAAE,CAAC;AAChC,CAAC;AAED,SAAS,YAAY,CAAC,OAAe,EAAE,WAA8B,EAAE,QAAgB;IACrF,IAAI,WAAW,CAAC,MAAM,KAAK,QAAQ,EAAE,CAAC;QACpC,MAAM,IAAI,OAAO,CAAC,aAAa,OAAO,EAAE,EAAE,CAAC,CAAC,CAAC;IAC/C,CAAC;AACH,CAAC;AAED,SAAS,cAAc,CAAC,IAAiB;IACvC,MAAM,KAAK,GAAG,CAAC,yBAAyB,IAAI,CAAC,IAAI,IAAI,CAAC,CAAC;IACvD,IAAI,IAAI,CAAC,QAAQ,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QAC/B,KAAK,CAAC,IAAI,CAAC,sFAAsF,CAAC,CAAC;IACrG,CAAC;SAAM,CAAC;QACN,KAAK,MAAM,OAAO,IAAI,IAAI,CAAC,QAAQ,EAAE,CAAC;YACpC,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,OAAO,OAAO,CAAC,IAAI,YAAY,CAAC,CAAC,CAAC,OAAO,OAAO,CAAC,IAAI,EAAE,CAAC,CAAC;QACvF,CAAC;IACH,CAAC;IAED,IAAI,IAAI,CAAC,aAAa,CAAC,KAAK,KAAK,SAAS,EAAE,CAAC;QAC3C,KAAK,CAAC,IAAI,CAAC,8EAA8E,CAAC,CAAC;IAC7F,CAAC;SAAM,IAAI,IAAI,CAAC,aAAa,CAAC,KAAK,KAAK,OAAO,IAAI,IAAI,CAAC,OAAO,KAAK,IAAI,EAAE,CAAC;QACzE,KAAK,CAAC,IAAI,CAAC,4BAA4B,IAAI,CAAC,aAAa,CAAC,IAAI,mCAAmC,CAAC,CAAC;IACrG,CAAC;IAED,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AAC1B,CAAC;AAED,SAAS,YAAY,CAAC,MAAoB;IACxC,MAAM,OAAO,GAAG,MAAM,CAAC,OAAO,CAAC,KAAK,KAAK,OAAO;QAC9C,CAAC,CAAC,GAAG,MAAM,CAAC,OAAO,CAAC,IAAI,IAAI,QAAQ,KAAK,MAAM,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,cAAc,GAAG;QAClG,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC;IACzB,MAAM,KAAK,GAAG;QACZ,+BAA+B;QAC/B,YAAY,MAAM,CAAC,WAAW,IAAI,MAAM,CAAC,OAAO,EAAE;QAClD,SAAS,MAAM,CAAC,WAAW,EAAE;QAC7B,aAAa,MAAM,CAAC,QAAQ,EAAE;QAC9B,eAAe,MAAM,CAAC,SAAS,EAAE;QACjC,gBAAgB,MAAM,CAAC,UAAU,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,EAAE;QAClD,iBAAiB,MAAM,CAAC,WAAW,EAAE;QACrC,wBAAwB,MAAM,CAAC,iBAAiB,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,EAAE;QACjE,aAAa,MAAM,CAAC,QAAQ,CAAC,MAAM,KAAK,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE;QACnF,oBAAoB,OAAO,EAAE;QAC7B,cAAc,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,GAAG,MAAM,CAAC,QAAQ,CAAC,IAAI,WAAW,MAAM,CAAC,QAAQ,CAAC,aAAa,CAAC,CAAC,CAAC,2BAA2B,CAAC,CAAC,CAAC,8BAA8B,GAAG,CAAC,CAAC,CAAC,SAAS,EAAE;QACtL,qBAAqB,MAAM,CAAC,eAAe,IAAI,WAAW,EAAE;KAC7D,CAAC;IAEF,IAAI,MAAM,CAAC,OAAO,CAAC,MAAM,EAAE,CAAC;QAC1B,KAAK,CAAC,IAAI,CAAC,wBAAwB,MAAM,CAAC,OAAO,CAAC,MAAM,EAAE,CAAC,CAAC;IAC9D,CAAC;IACD,IAAI,MAAM,CAAC,QAAQ,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QAC/B,KAAK,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;QACxB,KAAK,MAAM,OAAO,IAAI,MAAM,CAAC,QAAQ,EAAE,CAAC;YACtC,KAAK,CAAC,IAAI,CAAC,OAAO,OAAO,EAAE,CAAC,CAAC;QAC/B,CAAC;IACH,CAAC;IAED,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AAC1B,CAAC;AAED,SAAS,KAAK,CAAC,KAAc;IAC3B,OAAO,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC;AAC9B,CAAC;AAED,SAAS,kBAAkB,CAAC,MAAoB;IAC9C,MAAM,SAAS,GAAG,MAAM,CAAC,SAAS;QAChC,CAAC,CAAC,UAAU,KAAK,CAAC,MAAM,CAAC,cAAc,CAAC,aAAa,KAAK,CAAC,MAAM,CAAC,eAAe,CAAC,EAAE;QACpF,CAAC,CAAC,SAAS,CAAC;IACd,MAAM,MAAM,GAAG,MAAM,CAAC,cAAc,CAAC,MAAM,KAAK,CAAC;QAC/C,CAAC,CAAC,iBAAiB;QACnB,CAAC,CAAC,MAAM,CAAC,cAAc,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IACrC,MAAM,KAAK,GAAG;QACZ,iCAAiC;QACjC,YAAY,MAAM,CAAC,OAAO,IAAI,SAAS,EAAE;QACzC,gBAAgB,MAAM,CAAC,UAAU,EAAE;QACnC,cAAc,MAAM,CAAC,UAAU,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,SAAS,EAAE;QACzD,kBAAkB,KAAK,CAAC,MAAM,CAAC,YAAY,CAAC,EAAE;QAC9C,sBAAsB,MAAM,CAAC,qBAAqB,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,SAAS,EAAE;QAC5E,WAAW,SAAS,EAAE;QACtB,iBAAiB,MAAM,CAAC,WAAW,IAAI,WAAW,EAAE;QACpD,cAAc,MAAM,CAAC,QAAQ,IAAI,WAAW,EAAE;QAC9C,yCAAyC,MAAM,CAAC,cAAc,EAAE;QAChE,sBAAsB,MAAM,EAAE;QAC9B,wBAAwB,MAAM,CAAC,kBAAkB,IAAI,WAAW,EAAE;QAClE,gBAAgB,MAAM,CAAC,YAAY,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,SAAS,EAAE;KAC9D,CAAC;IAEF,IAAI,MAAM,CAAC,SAAS,EAAE,CAAC;QACrB,KAAK,CAAC,IAAI,CAAC,iBAAiB,MAAM,CAAC,SAAS,EAAE,CAAC,CAAC;IAClD,CAAC;IACD,IAAI,MAAM,CAAC,WAAW,EAAE,CAAC;QACvB,KAAK,CAAC,IAAI,CAAC,mBAAmB,MAAM,CAAC,WAAW,EAAE,CAAC,CAAC;IACtD,CAAC;IAED,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AAC1B,CAAC;AAED,SAAS,kBAAkB,CAAC,MAAoB;IAC9C,MAAM,KAAK,GAAG;QACZ,oBAAoB;QACpB,WAAW,MAAM,CAAC,UAAU,EAAE;QAC9B,eAAe,KAAK,CAAC,MAAM,CAAC,UAAU,CAAC,EAAE;QACzC,YAAY,MAAM,CAAC,OAAO,IAAI,kBAAkB,EAAE;QAClD,UAAU,MAAM,CAAC,KAAK,IAAI,kBAAkB,EAAE;QAC9C,gBAAgB,MAAM,CAAC,UAAU,IAAI,kBAAkB,EAAE;QACzD,WAAW,MAAM,CAAC,WAAW,CAAC,CAAC,CAAC,cAAc,MAAM,CAAC,MAAM,IAAI,IAAI,GAAG,CAAC,CAAC,CAAC,WAAW,EAAE;KACvF,CAAC;IACF,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AAC1B,CAAC;AAED,SAAS,kBAAkB,CAAC,MAAsC;IAChE,IAAI,MAAM,CAAC,MAAM,CAAC,QAAQ,KAAK,SAAS,EAAE,CAAC;QACzC,OAAO,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,YAAY,MAAM,CAAC,MAAM,CAAC,KAAK,GAAG,CAAC,CAAC,CAAC,SAAS,CAAC;IAC9E,CAAC;IACD,OAAO,MAAM,CAAC,MAAM,CAAC,QAAQ,CAAC;AAChC,CAAC;AAED,SAAS,gBAAgB,CAAC,MAAkB;IAC1C,MAAM,KAAK,GAAG;QACZ,oBAAoB;QACpB,WAAW,MAAM,CAAC,UAAU,EAAE;QAC9B,eAAe,KAAK,CAAC,MAAM,CAAC,UAAU,CAAC,EAAE;QACzC,YAAY,MAAM,CAAC,OAAO,IAAI,kBAAkB,EAAE;QAClD,UAAU,MAAM,CAAC,KAAK,IAAI,kBAAkB,EAAE;QAC9C,gBAAgB,MAAM,CAAC,UAAU,IAAI,kBAAkB,EAAE;QACzD,WAAW,MAAM,CAAC,WAAW,CAAC,CAAC,CAAC,cAAc,MAAM,CAAC,MAAM,IAAI,IAAI,GAAG,CAAC,CAAC,CAAC,WAAW,EAAE;KACvF,CAAC;IAEF,IAAI,MAAM,CAAC,QAAQ,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACjC,KAAK,CAAC,IAAI,CAAC,kBAAkB,CAAC,CAAC;QAC/B,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAC1B,CAAC;IAED,KAAK,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;IACxB,KAAK,MAAM,OAAO,IAAI,MAAM,CAAC,QAAQ,EAAE,CAAC;QACtC,KAAK,CAAC,IAAI,CAAC,OAAO,OAAO,CAAC,OAAO,WAAW,OAAO,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,SAAS,YAAY,kBAAkB,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;QACnI,KAAK,CAAC,IAAI,CAAC,aAAa,OAAO,CAAC,KAAK,CAAC,IAAI,EAAE,CAAC,CAAC;QAC9C,KAAK,CAAC,IAAI,CAAC,aAAa,OAAO,CAAC,IAAI,IAAI,WAAW,EAAE,CAAC,CAAC;IACzD,CAAC;IACD,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AAC1B,CAAC;AAED,KAAK,UAAU,SAAS,CAAC,EAAS,EAAE,GAAsB;IACxD,KAAK,CAAC,EAAE,CAAC,MAAM,EAAE,cAAc,CAAC,MAAM,YAAY,CAAC,aAAa,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;AAC3E,CAAC;AAED,SAAS,YAAY,CAAC,IAAuB;IAC3C,MAAM,cAAc,GAAG,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;IAC1C,IAAI,cAAc,IAAI,CAAC,EAAE,CAAC;QACxB,MAAM,eAAe,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,cAAc,CAAC,CAAC;QACtD,IAAI,eAAe,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YAC/B,MAAM,IAAI,OAAO,CAAC,yCAAyC,EAAE,CAAC,CAAC,CAAC;QAClE,CAAC;QACD,OAAO;YACL,OAAO,EAAE,eAAe,CAAC,CAAC,CAAC,IAAI,IAAI;YACnC,SAAS,EAAE,IAAI,CAAC,KAAK,CAAC,cAAc,GAAG,CAAC,CAAC;SAC1C,CAAC;IACJ,CAAC;IAED,IAAI,IAAI,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACtB,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,SAAS,EAAE,EAAE,EAAE,CAAC;IAC1C,CAAC;IACD,MAAM,CAAC,OAAO,EAAE,GAAG,SAAS,CAAC,GAAG,IAAI,CAAC;IACrC,IAAI,CAAC,OAAO,IAAI,OAAO,CAAC,UAAU,CAAC,GAAG,CAAC,EAAE,CAAC;QACxC,MAAM,IAAI,OAAO,CAAC,uEAAuE,EAAE,CAAC,CAAC,CAAC;IAChG,CAAC;IACD,OAAO,EAAE,OAAO,EAAE,SAAS,EAAE,CAAC;AAChC,CAAC;AAED,KAAK,UAAU,mBAAmB,CAChC,IAAuB,EACvB,GAAsB,EACtB,EAAS;IAET,MAAM,CAAC,OAAO,EAAE,GAAG,IAAI,CAAC,GAAG,IAAI,CAAC;IAChC,IAAI,CAAC,OAAO,IAAI,OAAO,KAAK,MAAM,IAAI,OAAO,KAAK,QAAQ,IAAI,OAAO,KAAK,IAAI,EAAE,CAAC;QAC/E,KAAK,CAAC,EAAE,CAAC,MAAM,EAAE,cAAc,EAAE,CAAC,CAAC;QACnC,OAAO,CAAC,CAAC;IACX,CAAC;IAED,QAAQ,OAAO,EAAE,CAAC;QAChB,KAAK,KAAK,CAAC,CAAC,CAAC;YACX,MAAM,MAAM,GAAG,eAAe,CAAC,gDAAgD,EAAE,IAAI,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC,CAAC;YAC3G,YAAY,CAAC,uDAAuD,EAAE,MAAM,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC;YAC7F,MAAM,OAAO,GAAG,MAAM,CAAC,WAAW,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;YAC5C,MAAM,MAAM,GAAG,MAAM,gBAAgB,CAAC,OAAO,EAAE;gBAC7C,GAAG;gBACH,GAAG,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,MAAM,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;gBACtD,YAAY,EAAE,CAAC,MAAM,CAAC,QAAQ;aAC/B,CAAC,CAAC;YACH,KAAK,CAAC,EAAE,CAAC,MAAM,EAAE,iDAAiD,MAAM,CAAC,OAAO,GAAG,CAAC,CAAC;YACrF,KAAK,CAAC,EAAE,CAAC,MAAM,EAAE,gBAAgB,MAAM,CAAC,UAAU,EAAE,CAAC,CAAC;YACtD,KAAK,CAAC,EAAE,CAAC,MAAM,EAAE,cAAc,MAAM,CAAC,cAAc,EAAE,CAAC,CAAC;YACxD,KAAK,CAAC,EAAE,CAAC,MAAM,EAAE,MAAM,CAAC,gBAAgB;gBACtC,CAAC,CAAC,gBAAgB,MAAM,CAAC,gBAAgB,gCAAgC;gBACzE,CAAC,CAAC,oCAAoC,CAAC,CAAC;YAC1C,OAAO,CAAC,CAAC;QACX,CAAC;QAED,KAAK,MAAM,CAAC,CAAC,CAAC;YACZ,MAAM,MAAM,GAAG,eAAe,CAAC,mCAAmC,EAAE,IAAI,EAAE,EAAE,CAAC,CAAC;YAC9E,YAAY,CAAC,0CAA0C,EAAE,MAAM,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC;YAChF,MAAM,OAAO,GAAG,MAAM,CAAC,WAAW,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;YAC5C,MAAM,MAAM,GAAG,MAAM,iBAAiB,CAAC,OAAO,EAAE;gBAC9C,GAAG;gBACH,GAAG,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,MAAM,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;aACvD,CAAC,CAAC;YACH,KAAK,CAAC,EAAE,CAAC,MAAM,EAAE,oDAAoD,MAAM,CAAC,OAAO,GAAG,CAAC,CAAC;YACxF,KAAK,CAAC,EAAE,CAAC,MAAM,EAAE,oBAAoB,MAAM,CAAC,gBAAgB,EAAE,CAAC,CAAC;YAChE,KAAK,CAAC,EAAE,CAAC,MAAM,EAAE,gBAAgB,MAAM,CAAC,UAAU,EAAE,CAAC,CAAC;YACtD,OAAO,CAAC,CAAC;QACX,CAAC;QAED,KAAK,QAAQ,CAAC,CAAC,CAAC;YACd,MAAM,MAAM,GAAG,eAAe,CAAC,oCAAoC,EAAE,IAAI,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC;YAC3F,YAAY,CAAC,2CAA2C,EAAE,MAAM,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC;YACjF,MAAM,MAAM,GAAG,MAAM,mBAAmB,CAAC;gBACvC,GAAG;gBACH,GAAG,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,MAAM,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;aACvD,CAAC,CAAC;YACH,KAAK,CAAC,EAAE,CAAC,MAAM,EAAE,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,kBAAkB,CAAC,MAAM,CAAC,CAAC,CAAC;YAC7F,OAAO,CAAC,CAAC;QACX,CAAC;QAED;YACE,MAAM,IAAI,OAAO,CAAC,2BAA2B,OAAO,GAAG,EAAE,CAAC,CAAC,CAAC;IAChE,CAAC;AACH,CAAC;AAED,KAAK,UAAU,mBAAmB,CAChC,IAAuB,EACvB,GAAsB,EACtB,EAAS;IAET,MAAM,CAAC,OAAO,EAAE,GAAG,IAAI,CAAC,GAAG,IAAI,CAAC;IAChC,IAAI,CAAC,OAAO,IAAI,OAAO,KAAK,MAAM,IAAI,OAAO,KAAK,QAAQ,IAAI,OAAO,KAAK,IAAI,EAAE,CAAC;QAC/E,KAAK,CAAC,EAAE,CAAC,MAAM,EAAE,cAAc,EAAE,CAAC,CAAC;QACnC,OAAO,CAAC,CAAC;IACX,CAAC;IAED,QAAQ,OAAO,EAAE,CAAC;QAChB,KAAK,WAAW,CAAC,CAAC,CAAC;YACjB,MAAM,MAAM,GAAG,wBAAwB,CAAC,IAAI,CAAC,CAAC;YAC9C,MAAM,MAAM,GAAG,MAAM,0BAA0B,CAAC,MAAM,EAAE,EAAE,KAAK,EAAE,aAAa,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;YACvF,KAAK,CAAC,EAAE,CAAC,MAAM,EAAE,sCAAsC,CAAC,CAAC;YACzD,KAAK,CAAC,EAAE,CAAC,MAAM,EAAE,WAAW,MAAM,CAAC,UAAU,EAAE,CAAC,CAAC;YACjD,KAAK,CAAC,EAAE,CAAC,MAAM,EAAE,UAAU,MAAM,CAAC,MAAM,CAAC,KAAK,EAAE,CAAC,CAAC;YAClD,KAAK,CAAC,EAAE,CAAC,MAAM,EAAE,gBAAgB,MAAM,CAAC,MAAM,CAAC,UAAU,EAAE,CAAC,CAAC;YAC7D,OAAO,CAAC,CAAC;QACX,CAAC;QAED,KAAK,QAAQ,CAAC,CAAC,CAAC;YACd,MAAM,MAAM,GAAG,aAAa,CAAC,IAAI,CAAC,CAAC;YACnC,YAAY,CAAC,wBAAwB,EAAE,MAAM,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC;YAC9D,MAAM,MAAM,GAAG,MAAM,mBAAmB,CAAC,EAAE,GAAG,EAAE,KAAK,EAAE,aAAa,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;YAC7E,KAAK,CAAC,EAAE,CAAC,MAAM,EAAE,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,kBAAkB,CAAC,MAAM,CAAC,CAAC,CAAC;YAC7F,OAAO,CAAC,CAAC;QACX,CAAC;QAED;YACE,MAAM,IAAI,OAAO,CAAC,2BAA2B,OAAO,GAAG,EAAE,CAAC,CAAC,CAAC;IAChE,CAAC;AACH,CAAC;AAED,KAAK,UAAU,iBAAiB,CAC9B,IAAuB,EACvB,GAAsB,EACtB,EAAS;IAET,MAAM,CAAC,OAAO,EAAE,GAAG,IAAI,CAAC,GAAG,IAAI,CAAC;IAChC,IAAI,CAAC,OAAO,IAAI,OAAO,KAAK,MAAM,IAAI,OAAO,KAAK,QAAQ,IAAI,OAAO,KAAK,IAAI,EAAE,CAAC;QAC/E,KAAK,CAAC,EAAE,CAAC,MAAM,EAAE,YAAY,EAAE,CAAC,CAAC;QACjC,OAAO,CAAC,CAAC;IACX,CAAC;IAED,QAAQ,OAAO,EAAE,CAAC;QAChB,KAAK,MAAM,CAAC,CAAC,CAAC;YACZ,YAAY,CAAC,qBAAqB,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC;YAC7C,MAAM,OAAO,GAAG,IAAI,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;YAC9B,MAAM,MAAM,GAAG,MAAM,eAAe,CAAC,OAAO,EAAE,EAAE,GAAG,EAAE,KAAK,EAAE,aAAa,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;YAClF,KAAK,CAAC,EAAE,CAAC,MAAM,EAAE,mBAAmB,MAAM,CAAC,OAAO,wBAAwB,MAAM,CAAC,IAAI,GAAG,CAAC,CAAC;YAC1F,KAAK,CAAC,EAAE,CAAC,MAAM,EAAE,UAAU,MAAM,CAAC,KAAK,EAAE,CAAC,CAAC;YAC3C,KAAK,CAAC,EAAE,CAAC,MAAM,EAAE,cAAc,MAAM,CAAC,SAAS,EAAE,CAAC,CAAC;YACnD,OAAO,CAAC,CAAC;QACX,CAAC;QAED,KAAK,MAAM,CAAC,CAAC,CAAC;YACZ,MAAM,MAAM,GAAG,cAAc,CAAC,IAAI,CAAC,CAAC;YACpC,YAAY,CAAC,+BAA+B,EAAE,MAAM,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC;YACrE,MAAM,OAAO,GAAG,MAAM,CAAC,WAAW,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;YAC5C,MAAM,MAAM,GAAG,MAAM,eAAe,CAAC,OAAO,EAAE;gBAC5C,GAAG;gBACH,KAAK,EAAE,aAAa,CAAC,GAAG,CAAC;gBACzB,KAAK,EAAE,MAAM,CAAC,KAAK;aACpB,CAAC,CAAC;YACH,KAAK,CAAC,EAAE,CAAC,MAAM,EAAE,0BAA0B,MAAM,CAAC,IAAI,mBAAmB,MAAM,CAAC,OAAO,GAAG,CAAC,CAAC;YAC5F,KAAK,CAAC,EAAE,CAAC,MAAM,EAAE,iBAAiB,MAAM,CAAC,WAAW,EAAE,CAAC,CAAC;YACxD,KAAK,CAAC,EAAE,CAAC,MAAM,EAAE,4BAA4B,KAAK,CAAC,MAAM,CAAC,WAAW,CAAC,EAAE,CAAC,CAAC;YAC1E,OAAO,CAAC,CAAC;QACX,CAAC;QAED,KAAK,QAAQ,CAAC,CAAC,CAAC;YACd,MAAM,MAAM,GAAG,aAAa,CAAC,IAAI,CAAC,CAAC;YACnC,IAAI,MAAM,CAAC,WAAW,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBAClC,MAAM,IAAI,OAAO,CAAC,0CAA0C,EAAE,CAAC,CAAC,CAAC;YACnE,CAAC;YACD,MAAM,MAAM,GAAG,MAAM,iBAAiB,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC,CAAC,EAAE,EAAE,GAAG,EAAE,KAAK,EAAE,aAAa,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;YAClG,KAAK,CAAC,EAAE,CAAC,MAAM,EAAE,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,gBAAgB,CAAC,MAAM,CAAC,CAAC,CAAC;YAC3F,OAAO,CAAC,CAAC;QACX,CAAC;QAED;YACE,MAAM,IAAI,OAAO,CAAC,yBAAyB,OAAO,GAAG,EAAE,CAAC,CAAC,CAAC;IAC9D,CAAC;AACH,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,IAAI,CACxB,OAA0B,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,EAC/C,MAAyB,OAAO,CAAC,GAAG,EACpC,KAAY,EAAE,MAAM,EAAE,OAAO,CAAC,MAAM,EAAE,MAAM,EAAE,OAAO,CAAC,MAAM,EAAE;IAE9D,MAAM,QAAQ,GAAG,MAAM,mBAAmB,EAAE,CAAC;IAC7C,MAAM,CAAC,KAAK,EAAE,GAAG,IAAI,CAAC,GAAG,IAAI,CAAC;IAE9B,IAAI,KAAK,KAAK,QAAQ,IAAI,KAAK,KAAK,IAAI,IAAI,KAAK,KAAK,MAAM,EAAE,CAAC;QAC7D,KAAK,CAAC,EAAE,CAAC,MAAM,EAAE,QAAQ,CAAC,QAAQ,CAAC,CAAC,CAAC;QACrC,OAAO,CAAC,CAAC;IACX,CAAC;IAED,IAAI,KAAK,KAAK,WAAW,IAAI,KAAK,KAAK,IAAI,EAAE,CAAC;QAC5C,KAAK,CAAC,EAAE,CAAC,MAAM,EAAE,QAAQ,CAAC,OAAO,CAAC,CAAC;QACnC,OAAO,CAAC,CAAC;IACX,CAAC;IAED,IAAI,CAAC,KAAK,EAAE,CAAC;QACX,MAAM,KAAK,GAAG,aAAa,CAAC,GAAG,CAAC,CAAC;QACjC,IAAI,MAAM,cAAc,CAAC,KAAK,CAAC,EAAE,CAAC;YAChC,OAAO,MAAM,QAAQ,CAAC,EAAE,EAAE,EAAE,GAAG,EAAE,CAAC,CAAC;QACrC,CAAC;QAED,KAAK,CAAC,EAAE,CAAC,MAAM,EAAE,QAAQ,CAAC,QAAQ,CAAC,CAAC,CAAC;QACrC,KAAK,CAAC,EAAE,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC;QACrB,KAAK,CAAC,EAAE,CAAC,MAAM,EAAE,8BAA8B,KAAK,CAAC,QAAQ,GAAG,CAAC,CAAC;QAClE,KAAK,CAAC,EAAE,CAAC,MAAM,EAAE,+DAA+D,CAAC,CAAC;QAClF,KAAK,CAAC,EAAE,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC;QACrB,KAAK,CAAC,EAAE,CAAC,MAAM,EAAE,cAAc,CAAC,MAAM,YAAY,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;QAC5D,OAAO,CAAC,CAAC;IACX,CAAC;IAED,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,CAAC;QAC5B,IAAI,KAAK,CAAC,UAAU,CAAC,GAAG,CAAC,EAAE,CAAC;YAC1B,MAAM,IAAI,OAAO,CAAC,mBAAmB,KAAK,GAAG,EAAE,CAAC,CAAC,CAAC;QACpD,CAAC;QAED,mBAAmB,CAAC,KAAK,CAAC,CAAC;QAC3B,MAAM,UAAU,CAAC,KAAK,EAAE,EAAE,KAAK,EAAE,aAAa,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;QACvD,KAAK,CAAC,EAAE,CAAC,MAAM,EAAE,eAAe,KAAK,GAAG,CAAC,CAAC;QAC1C,OAAO,MAAM,QAAQ,CAAC,IAAI,EAAE,EAAE,GAAG,EAAE,CAAC,CAAC;IACvC,CAAC;IAED,QAAQ,KAAK,EAAE,CAAC;QACd,KAAK,IAAI,CAAC,CAAC,CAAC;YACV,IAAI,IAAI,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBACpB,MAAM,IAAI,OAAO,CAAC,cAAc,EAAE,CAAC,CAAC,CAAC;YACvC,CAAC;YACD,MAAM,SAAS,CAAC,EAAE,EAAE,GAAG,CAAC,CAAC;YACzB,OAAO,CAAC,CAAC;QACX,CAAC;QAED,KAAK,MAAM,CAAC,CAAC,CAAC;YACZ,MAAM,MAAM,GAAG,cAAc,CAAC,IAAI,CAAC,CAAC;YACpC,YAAY,CAAC,uBAAuB,EAAE,MAAM,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC;YAC7D,MAAM,IAAI,GAAG,MAAM,CAAC,WAAW,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;YACzC,MAAM,WAAW,CAAC,IAAI,EAAE,EAAE,KAAK,EAAE,MAAM,CAAC,KAAK,EAAE,KAAK,EAAE,aAAa,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;YAC5E,KAAK,CAAC,EAAE,CAAC,MAAM,EAAE,2BAA2B,IAAI,GAAG,CAAC,CAAC;YACrD,OAAO,CAAC,CAAC;QACX,CAAC;QAED,KAAK,KAAK,CAAC,CAAC,CAAC;YACX,YAAY,CAAC,YAAY,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC;YACpC,MAAM,IAAI,GAAG,IAAI,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;YAC3B,MAAM,UAAU,CAAC,IAAI,EAAE,EAAE,KAAK,EAAE,aAAa,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;YACtD,KAAK,CAAC,EAAE,CAAC,MAAM,EAAE,yBAAyB,IAAI,EAAE,CAAC,CAAC;YAClD,OAAO,CAAC,CAAC;QACX,CAAC;QAED,KAAK,OAAO,CAAC,CAAC,CAAC;YACb,MAAM,MAAM,GAAG,cAAc,CAAC,IAAI,CAAC,CAAC;YACpC,MAAM,YAAY,CAAC,MAAM,CAAC,IAAI,EAAE;gBAC9B,KAAK,EAAE,MAAM,CAAC,KAAK;gBACnB,SAAS,EAAE,MAAM,CAAC,SAAS;gBAC3B,GAAG;gBACH,KAAK,EAAE,aAAa,CAAC,GAAG,CAAC;aAC1B,CAAC,CAAC;YACH,KAAK,CAAC,EAAE,CAAC,MAAM,EAAE,2BAA2B,MAAM,CAAC,IAAI,GAAG,CAAC,CAAC;YAC5D,OAAO,CAAC,CAAC;QACX,CAAC;QAED,KAAK,QAAQ,CAAC,CAAC,CAAC;YACd,MAAM,MAAM,GAAG,cAAc,CAAC,IAAI,CAAC,CAAC;YACpC,YAAY,CAAC,8BAA8B,EAAE,MAAM,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC;YACpE,MAAM,OAAO,GAAG,MAAM,CAAC,WAAW,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;YAC5C,MAAM,OAAO,GAAG,MAAM,CAAC,WAAW,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;YAC5C,MAAM,aAAa,CAAC,OAAO,EAAE,OAAO,EAAE,EAAE,KAAK,EAAE,MAAM,CAAC,KAAK,EAAE,KAAK,EAAE,aAAa,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;YAC1F,KAAK,CAAC,EAAE,CAAC,MAAM,EAAE,YAAY,OAAO,SAAS,OAAO,GAAG,CAAC,CAAC;YACzD,OAAO,CAAC,CAAC;QACX,CAAC;QAED,KAAK,IAAI,CAAC,CAAC,CAAC;YACV,YAAY,CAAC,WAAW,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC;YACnC,MAAM,IAAI,GAAG,IAAI,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;YAC3B,MAAM,MAAM,GAAG,MAAM,aAAa,CAAC,IAAI,EAAE,EAAE,KAAK,EAAE,aAAa,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;YACxE,KAAK,CAAC,EAAE,CAAC,MAAM,EAAE,YAAY,IAAI,GAAG,CAAC,CAAC;YACtC,IAAI,MAAM,CAAC,SAAS,EAAE,CAAC;gBACrB,KAAK,CAAC,EAAE,CAAC,MAAM,EAAE,aAAa,IAAI,2EAA2E,CAAC,CAAC;YACjH,CAAC;YACD,OAAO,CAAC,CAAC;QACX,CAAC;QAED,KAAK,KAAK,CAAC,CAAC,CAAC;YACX,MAAM,MAAM,GAAG,YAAY,CAAC,IAAI,CAAC,CAAC;YAClC,IAAI,MAAM,CAAC,OAAO,EAAE,CAAC;gBACnB,MAAM,UAAU,CAAC,MAAM,CAAC,OAAO,EAAE,EAAE,KAAK,EAAE,aAAa,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;gBAChE,KAAK,CAAC,EAAE,CAAC,MAAM,EAAE,eAAe,MAAM,CAAC,OAAO,GAAG,CAAC,CAAC;YACrD,CAAC;YACD,OAAO,MAAM,QAAQ,CAAC,MAAM,CAAC,SAAS,EAAE,EAAE,GAAG,EAAE,CAAC,CAAC;QACnD,CAAC;QAED,KAAK,QAAQ,CAAC,CAAC,CAAC;YACd,MAAM,IAAI,GAAG,IAAI,CAAC,MAAM,KAAK,CAAC,IAAI,IAAI,CAAC,CAAC,CAAC,KAAK,QAAQ,CAAC;YACvD,IAAI,IAAI,CAAC,MAAM,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;gBACjC,MAAM,IAAI,OAAO,CAAC,2BAA2B,EAAE,CAAC,CAAC,CAAC;YACpD,CAAC;YACD,MAAM,MAAM,GAAG,MAAM,aAAa,CAAC,EAAE,WAAW,EAAE,QAAQ,CAAC,IAAI,EAAE,OAAO,EAAE,QAAQ,CAAC,OAAO,EAAE,EAAE,GAAG,CAAC,CAAC;YACnG,KAAK,CAAC,EAAE,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,YAAY,CAAC,MAAM,CAAC,CAAC,CAAC;YAChF,OAAO,CAAC,CAAC;QACX,CAAC;QAED,KAAK,QAAQ;YACX,OAAO,MAAM,mBAAmB,CAAC,IAAI,EAAE,GAAG,EAAE,EAAE,CAAC,CAAC;QAElD,KAAK,QAAQ;YACX,OAAO,MAAM,mBAAmB,CAAC,IAAI,EAAE,GAAG,EAAE,EAAE,CAAC,CAAC;QAElD,KAAK,MAAM;YACT,OAAO,MAAM,iBAAiB,CAAC,IAAI,EAAE,GAAG,EAAE,EAAE,CAAC,CAAC;QAEhD;YACE,MAAM,IAAI,OAAO,CAAC,oBAAoB,KAAK,GAAG,EAAE,CAAC,CAAC,CAAC;IACvD,CAAC;AACH,CAAC;AAED,SAAS,YAAY;IACnB,MAAM,WAAW,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IACpC,IAAI,CAAC,WAAW,EAAE,CAAC;QACjB,OAAO,KAAK,CAAC;IACf,CAAC;IAED,IAAI,CAAC;QACH,OAAO,YAAY,CAAC,WAAW,CAAC,KAAK,YAAY,CAAC,aAAa,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC;IACpF,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,MAAM,CAAC,IAAI,CAAC,GAAG,KAAK,aAAa,CAAC,WAAW,CAAC,CAAC,IAAI,CAAC;IAC7D,CAAC;AACH,CAAC;AAED,IAAI,YAAY,EAAE,EAAE,CAAC;IACnB,IAAI,CAAC;QACH,OAAO,CAAC,QAAQ,GAAG,MAAM,IAAI,EAAE,CAAC;IAClC,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,IAAI,KAAK,YAAY,OAAO,EAAE,CAAC;YAC7B,KAAK,CAAC,OAAO,CAAC,MAAM,EAAE,KAAK,CAAC,OAAO,CAAC,CAAC;YACrC,OAAO,CAAC,QAAQ,GAAG,KAAK,CAAC,QAAQ,CAAC;QACpC,CAAC;aAAM,IAAI,KAAK,YAAY,KAAK,EAAE,CAAC;YAClC,KAAK,CAAC,OAAO,CAAC,MAAM,EAAE,KAAK,CAAC,OAAO,CAAC,CAAC;YACrC,OAAO,CAAC,QAAQ,GAAG,CAAC,CAAC;QACvB,CAAC;aAAM,CAAC;YACN,KAAK,CAAC,OAAO,CAAC,MAAM,EAAE,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC;YACrC,OAAO,CAAC,QAAQ,GAAG,CAAC,CAAC;QACvB,CAAC;IACH,CAAC;AACH,CAAC"}
@@ -0,0 +1,56 @@
1
+ export declare const HERMES_OPENAI_CODEX_PROVIDER = "openai-codex";
2
+ export declare const HERMES_CODEX_BASE_URL = "https://chatgpt.com/backend-api/codex";
3
+ export interface HermesPaths {
4
+ readonly home: string;
5
+ readonly authFile: string;
6
+ readonly configFile: string;
7
+ readonly profile: string | null;
8
+ }
9
+ export interface HermesProfileOptions {
10
+ readonly env?: NodeJS.ProcessEnv;
11
+ readonly profile?: string | null;
12
+ }
13
+ export interface HermesUseOptions extends HermesProfileOptions {
14
+ readonly updateConfig?: boolean;
15
+ }
16
+ export interface HermesUseResult {
17
+ readonly account: string;
18
+ readonly codexAccountFile: string;
19
+ readonly hermesHome: string;
20
+ readonly hermesAuthFile: string;
21
+ readonly hermesConfigFile: string | null;
22
+ readonly profile: string | null;
23
+ }
24
+ export interface HermesSyncResult {
25
+ readonly account: string;
26
+ readonly codexAccountFile: string;
27
+ readonly hermesHome: string;
28
+ readonly hermesAuthFile: string;
29
+ readonly profile: string | null;
30
+ }
31
+ export interface HermesStatus {
32
+ readonly hermesHome: string;
33
+ readonly authFile: string;
34
+ readonly configFile: string;
35
+ readonly profile: string | null;
36
+ readonly authExists: boolean;
37
+ readonly authReadable: boolean;
38
+ readonly authError: string | null;
39
+ readonly openaiCodexAuthExists: boolean;
40
+ readonly hasTokens: boolean;
41
+ readonly hasAccessToken: boolean;
42
+ readonly hasRefreshToken: boolean;
43
+ readonly lastRefresh: string | null;
44
+ readonly authMode: string | null;
45
+ readonly linkedAccount: string | null;
46
+ readonly linkedAccounts: readonly string[];
47
+ readonly poolEntryCount: number;
48
+ readonly configuredProvider: string | null;
49
+ readonly configExists: boolean;
50
+ readonly configReadable: boolean;
51
+ readonly configError: string | null;
52
+ }
53
+ export declare function getHermesPaths(options?: HermesProfileOptions): HermesPaths;
54
+ export declare function useHermesAccount(account: string, options?: HermesUseOptions): Promise<HermesUseResult>;
55
+ export declare function syncHermesAccount(account: string, options?: HermesProfileOptions): Promise<HermesSyncResult>;
56
+ export declare function inspectHermesStatus(options?: HermesProfileOptions): Promise<HermesStatus>;