@jsonstudio/rcc 0.89.1086 → 0.89.1136

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 (101) hide show
  1. package/dist/build-info.js +2 -2
  2. package/dist/cli.js +39 -1
  3. package/dist/cli.js.map +1 -1
  4. package/dist/client/gemini/gemini-protocol-client.js +5 -0
  5. package/dist/client/gemini/gemini-protocol-client.js.map +1 -1
  6. package/dist/commands/provider-update.js +355 -5
  7. package/dist/commands/provider-update.js.map +1 -1
  8. package/dist/docs/daemon-admin-ui.html +604 -91
  9. package/dist/index.js +33 -1
  10. package/dist/index.js.map +1 -1
  11. package/dist/manager/modules/quota/index.d.ts +37 -1
  12. package/dist/manager/modules/quota/index.js +378 -18
  13. package/dist/manager/modules/quota/index.js.map +1 -1
  14. package/dist/manager/quota/provider-quota-center.d.ts +3 -0
  15. package/dist/manager/quota/provider-quota-center.js +88 -24
  16. package/dist/manager/quota/provider-quota-center.js.map +1 -1
  17. package/dist/manager/quota/provider-quota-store.js +5 -2
  18. package/dist/manager/quota/provider-quota-store.js.map +1 -1
  19. package/dist/manager/types.d.ts +5 -0
  20. package/dist/providers/core/config/service-profiles.js +1 -1
  21. package/dist/providers/core/config/service-profiles.js.map +1 -1
  22. package/dist/providers/core/runtime/gemini-cli-http-provider.js +5 -0
  23. package/dist/providers/core/runtime/gemini-cli-http-provider.js.map +1 -1
  24. package/dist/providers/core/runtime/http-transport-provider.js +26 -38
  25. package/dist/providers/core/runtime/http-transport-provider.js.map +1 -1
  26. package/dist/providers/core/utils/http-client.js +10 -1
  27. package/dist/providers/core/utils/http-client.js.map +1 -1
  28. package/dist/server/handlers/handler-utils.d.ts +1 -1
  29. package/dist/server/handlers/handler-utils.js +82 -4
  30. package/dist/server/handlers/handler-utils.js.map +1 -1
  31. package/dist/server/handlers/responses-handler.js +26 -3
  32. package/dist/server/handlers/responses-handler.js.map +1 -1
  33. package/dist/server/handlers/sse-dispatcher.js +1 -4
  34. package/dist/server/handlers/sse-dispatcher.js.map +1 -1
  35. package/dist/server/runtime/http-server/colored-logger.d.ts +1 -1
  36. package/dist/server/runtime/http-server/colored-logger.js +22 -10
  37. package/dist/server/runtime/http-server/colored-logger.js.map +1 -1
  38. package/dist/server/runtime/http-server/daemon-admin/credentials-handler.d.ts +1 -1
  39. package/dist/server/runtime/http-server/daemon-admin/credentials-handler.js +10 -14
  40. package/dist/server/runtime/http-server/daemon-admin/credentials-handler.js.map +1 -1
  41. package/dist/server/runtime/http-server/daemon-admin/providers-handler.js +108 -115
  42. package/dist/server/runtime/http-server/daemon-admin/providers-handler.js.map +1 -1
  43. package/dist/server/runtime/http-server/daemon-admin/quota-handler.js +132 -7
  44. package/dist/server/runtime/http-server/daemon-admin/quota-handler.js.map +1 -1
  45. package/dist/server/runtime/http-server/daemon-admin/restart-handler.d.ts +3 -0
  46. package/dist/server/runtime/http-server/daemon-admin/restart-handler.js +22 -0
  47. package/dist/server/runtime/http-server/daemon-admin/restart-handler.js.map +1 -0
  48. package/dist/server/runtime/http-server/daemon-admin/stats-handler.d.ts +3 -0
  49. package/dist/server/runtime/http-server/daemon-admin/stats-handler.js +56 -0
  50. package/dist/server/runtime/http-server/daemon-admin/stats-handler.js.map +1 -0
  51. package/dist/server/runtime/http-server/daemon-admin/status-handler.js +100 -4
  52. package/dist/server/runtime/http-server/daemon-admin/status-handler.js.map +1 -1
  53. package/dist/server/runtime/http-server/daemon-admin-routes.d.ts +24 -0
  54. package/dist/server/runtime/http-server/daemon-admin-routes.js +25 -0
  55. package/dist/server/runtime/http-server/daemon-admin-routes.js.map +1 -1
  56. package/dist/server/runtime/http-server/executor-provider.js +74 -0
  57. package/dist/server/runtime/http-server/executor-provider.js.map +1 -1
  58. package/dist/server/runtime/http-server/index.d.ts +7 -1
  59. package/dist/server/runtime/http-server/index.js +171 -14
  60. package/dist/server/runtime/http-server/index.js.map +1 -1
  61. package/dist/server/runtime/http-server/middleware.d.ts +2 -1
  62. package/dist/server/runtime/http-server/middleware.js +7 -6
  63. package/dist/server/runtime/http-server/middleware.js.map +1 -1
  64. package/dist/server/runtime/http-server/provider-utils.d.ts +1 -1
  65. package/dist/server/runtime/http-server/provider-utils.js +19 -2
  66. package/dist/server/runtime/http-server/provider-utils.js.map +1 -1
  67. package/dist/server/runtime/http-server/request-executor.js +9 -10
  68. package/dist/server/runtime/http-server/request-executor.js.map +1 -1
  69. package/dist/server/runtime/http-server/routes.d.ts +10 -0
  70. package/dist/server/runtime/http-server/routes.js +14 -1
  71. package/dist/server/runtime/http-server/routes.js.map +1 -1
  72. package/dist/server/runtime/http-server/stats-manager.d.ts +7 -0
  73. package/dist/server/runtime/http-server/stats-manager.js +22 -3
  74. package/dist/server/runtime/http-server/stats-manager.js.map +1 -1
  75. package/dist/server/runtime/http-server/types.d.ts +10 -0
  76. package/dist/server/utils/http-error-mapper.js +85 -7
  77. package/dist/server/utils/http-error-mapper.js.map +1 -1
  78. package/dist/server/utils/request-id-manager.js +9 -5
  79. package/dist/server/utils/request-id-manager.js.map +1 -1
  80. package/dist/server/utils/sse-request-parser.js +2 -1
  81. package/dist/server/utils/sse-request-parser.js.map +1 -1
  82. package/dist/server/utils/utf8-chunk-buffer.d.ts +15 -30
  83. package/dist/server/utils/utf8-chunk-buffer.js +78 -88
  84. package/dist/server/utils/utf8-chunk-buffer.js.map +1 -1
  85. package/dist/server/utils/warmup-storm-tracker.js +1 -1
  86. package/dist/server/utils/warmup-storm-tracker.js.map +1 -1
  87. package/dist/token-daemon/token-daemon.js +7 -1
  88. package/dist/token-daemon/token-daemon.js.map +1 -1
  89. package/dist/tools/provider-update/fetch-models.js +8 -5
  90. package/dist/tools/provider-update/fetch-models.js.map +1 -1
  91. package/dist/tools/provider-update/probe-context.d.ts +24 -0
  92. package/dist/tools/provider-update/probe-context.js +199 -0
  93. package/dist/tools/provider-update/probe-context.js.map +1 -0
  94. package/dist/tools/provider-update/types.d.ts +1 -0
  95. package/package.json +6 -4
  96. package/scripts/scan-apply-patch-samples.mjs +362 -0
  97. package/scripts/scan-exec-command-samples.mjs +269 -0
  98. package/scripts/scan-tool-shape-samples.mjs +291 -0
  99. package/scripts/tools/sync-apply-patch-regressions.mjs +86 -0
  100. package/scripts/verify-apply-patch-regressions.mjs +119 -0
  101. package/scripts/verify-tool-arguments.mjs +1 -2
@@ -4,6 +4,9 @@ import path from 'node:path';
4
4
  import os from 'node:os';
5
5
  import readline from 'node:readline';
6
6
  import { updateProviderModels } from '../tools/provider-update/index.js';
7
+ import { fetchModelsFromUpstream } from '../tools/provider-update/fetch-models.js';
8
+ import { readBlacklist, writeBlacklist } from '../tools/provider-update/blacklist.js';
9
+ import { probeContextForModel } from '../tools/provider-update/probe-context.js';
7
10
  import { API_ENDPOINTS } from '../constants/index.js';
8
11
  import { loadProviderConfigsV2 } from '../config/provider-v2-loader.js';
9
12
  function resolveProviderRoot(customRoot) {
@@ -53,6 +56,101 @@ function askYesNo(question, defaultYes = true) {
53
56
  });
54
57
  });
55
58
  }
59
+ function splitCsv(raw) {
60
+ return typeof raw === 'string' && raw.trim()
61
+ ? raw.split(',').map((item) => item.trim()).filter(Boolean)
62
+ : [];
63
+ }
64
+ function splitTokenThresholds(raw) {
65
+ const parts = splitCsv(raw);
66
+ const out = [];
67
+ for (const part of parts) {
68
+ const n = Math.floor(Number(part));
69
+ if (Number.isFinite(n) && n > 0) {
70
+ out.push(n);
71
+ }
72
+ }
73
+ return out;
74
+ }
75
+ function readString(value) {
76
+ return typeof value === 'string' && value.trim() ? value.trim() : undefined;
77
+ }
78
+ function readStringArray(value) {
79
+ if (!Array.isArray(value)) {
80
+ return undefined;
81
+ }
82
+ const out = [];
83
+ for (const entry of value) {
84
+ const item = readString(entry);
85
+ if (item) {
86
+ out.push(item);
87
+ }
88
+ }
89
+ return out.length ? out : undefined;
90
+ }
91
+ function isRecord(value) {
92
+ return !!value && typeof value === 'object' && !Array.isArray(value);
93
+ }
94
+ function extractApiKeyFromAuthNode(authNode) {
95
+ const direct = readString(authNode.apiKey);
96
+ if (direct) {
97
+ return direct;
98
+ }
99
+ const keys = authNode.keys;
100
+ if (!isRecord(keys)) {
101
+ return undefined;
102
+ }
103
+ for (const entry of Object.values(keys)) {
104
+ if (!isRecord(entry)) {
105
+ continue;
106
+ }
107
+ const value = readString(entry.value);
108
+ if (value) {
109
+ return value;
110
+ }
111
+ }
112
+ return undefined;
113
+ }
114
+ function normalizeAuthForProviderUpdate(authNodeValue) {
115
+ if (!isRecord(authNodeValue)) {
116
+ return undefined;
117
+ }
118
+ const authTypeRaw = readString(authNodeValue.type) ?? '';
119
+ const authType = authTypeRaw.toLowerCase();
120
+ if (authType.includes('oauth')) {
121
+ return {
122
+ type: 'oauth',
123
+ tokenFile: readString(authNodeValue.tokenFile),
124
+ clientId: readString(authNodeValue.clientId),
125
+ clientSecret: readString(authNodeValue.clientSecret),
126
+ tokenUrl: readString(authNodeValue.tokenUrl),
127
+ deviceCodeUrl: readString(authNodeValue.deviceCodeUrl),
128
+ scopes: readStringArray(authNodeValue.scopes)
129
+ };
130
+ }
131
+ if (authType.includes('apikey') || authType === 'api_key' || authType === 'apikey') {
132
+ return {
133
+ type: 'apikey',
134
+ apiKey: extractApiKeyFromAuthNode(authNodeValue),
135
+ headerName: readString(authNodeValue.headerName),
136
+ prefix: readString(authNodeValue.prefix)
137
+ };
138
+ }
139
+ return undefined;
140
+ }
141
+ function buildProviderUpdateInputFromV2(providerId, provider) {
142
+ const type = readString(provider.type) ?? providerId;
143
+ const baseURL = readString(provider.baseURL) ?? readString(provider.baseUrl);
144
+ const baseUrl = readString(provider.baseUrl) ?? readString(provider.baseURL);
145
+ const auth = normalizeAuthForProviderUpdate(provider.auth);
146
+ return { providerId, type, baseURL, baseUrl, auth };
147
+ }
148
+ function normalizeModelsNode(node) {
149
+ if (!node || typeof node !== 'object' || Array.isArray(node)) {
150
+ return {};
151
+ }
152
+ return node;
153
+ }
56
154
  const PROVIDER_TEMPLATES = [
57
155
  {
58
156
  id: 'glm',
@@ -102,7 +200,7 @@ const PROVIDER_TEMPLATES = [
102
200
  label: 'Gemini CLI (Cloud Code Assist)',
103
201
  providerTypeHint: 'gemini-cli',
104
202
  defaultBaseUrl: 'https://cloudcode-pa.googleapis.com',
105
- defaultModel: 'gemini-2.5-pro',
203
+ defaultModel: 'gemini-2.5-flash-lite',
106
204
  defaultAuthType: 'gemini-cli-oauth'
107
205
  },
108
206
  {
@@ -110,7 +208,7 @@ const PROVIDER_TEMPLATES = [
110
208
  label: 'Antigravity (Gemini CLI dev)',
111
209
  providerTypeHint: 'antigravity',
112
210
  defaultBaseUrl: 'https://cloudcode-pa.googleapis.com',
113
- defaultModel: 'gemini-2.5-pro',
211
+ defaultModel: 'gemini-2.5-flash-lite',
114
212
  defaultAuthType: 'gemini-cli-oauth'
115
213
  },
116
214
  {
@@ -214,9 +312,6 @@ export function createProviderUpdateCommand() {
214
312
  .option('--probe-keys', 'Probe apiKey list and set auth.apiKey to first working key', false)
215
313
  .option('--verbose', 'Verbose logs', false)
216
314
  .action(async (opts) => {
217
- const splitCsv = (s) => (typeof s === 'string' && s.trim())
218
- ? s.split(',').map((x) => x.trim()).filter(Boolean)
219
- : [];
220
315
  const args = {
221
316
  providerId: opts.provider,
222
317
  configPath: path.resolve(opts.config),
@@ -246,6 +341,259 @@ export function createProviderUpdateCommand() {
246
341
  process.exit(1);
247
342
  }
248
343
  });
344
+ const syncModels = new Command('sync-models')
345
+ .description('Sync upstream model list into an existing provider config.v2.json')
346
+ .argument('<id>', 'Provider id to update (directory name under ~/.routecodex/provider)')
347
+ .option('--root <dir>', 'Override provider root directory')
348
+ .option('--write', 'Write updated config.v2.json (default: dry-run)', false)
349
+ .option('--use-cache', 'Use cached models-latest.json on upstream failure', false)
350
+ .option('--blacklist-add <items>', 'Add comma-separated model ids to blacklist')
351
+ .option('--blacklist-remove <items>', 'Remove comma-separated model ids from blacklist')
352
+ .option('--verbose', 'Verbose logs', false)
353
+ .action(async (id, opts) => {
354
+ const providerId = (id || '').trim();
355
+ if (!providerId) {
356
+ console.error('Provider id is required');
357
+ process.exit(1);
358
+ }
359
+ const root = resolveProviderRoot(opts.root);
360
+ const dir = path.join(root, providerId);
361
+ const v2Path = path.join(dir, 'config.v2.json');
362
+ const blacklistPath = path.join(dir, 'blacklist.json');
363
+ const cachePath = path.join(dir, 'models-latest.json');
364
+ if (!(await fileExists(v2Path))) {
365
+ console.error(`No config.v2.json found for provider "${providerId}" under ${dir}`);
366
+ process.exit(1);
367
+ }
368
+ const raw = await fs.readFile(v2Path, 'utf8');
369
+ let parsed;
370
+ try {
371
+ parsed = JSON.parse(raw);
372
+ }
373
+ catch (e) {
374
+ console.error('Failed to parse existing config.v2.json:', e?.message ?? String(e));
375
+ process.exit(1);
376
+ return;
377
+ }
378
+ const providerNode = (parsed.provider ?? {});
379
+ const input = buildProviderUpdateInputFromV2(providerId, providerNode);
380
+ // Load/update blacklist
381
+ const blacklist = readBlacklist(blacklistPath);
382
+ const add = splitCsv(opts.blacklistAdd);
383
+ const rem = splitCsv(opts.blacklistRemove);
384
+ if (add.length || rem.length) {
385
+ const set = new Set(blacklist.models);
386
+ for (const item of add) {
387
+ set.add(item);
388
+ }
389
+ for (const item of rem) {
390
+ set.delete(item);
391
+ }
392
+ blacklist.models = Array.from(set);
393
+ writeBlacklist(blacklistPath, blacklist);
394
+ }
395
+ // Fetch upstream models (with optional cache fallback)
396
+ let modelsRemote = [];
397
+ let modelsRaw = null;
398
+ try {
399
+ const res = await fetchModelsFromUpstream(input, !!opts.verbose);
400
+ modelsRemote = res.models || [];
401
+ modelsRaw = res.raw ?? null;
402
+ await fs.writeFile(cachePath, `${JSON.stringify({ models: modelsRemote, raw: modelsRaw, updatedAt: Date.now() }, null, 2)}\n`, 'utf8');
403
+ }
404
+ catch (e) {
405
+ if (!opts.useCache) {
406
+ throw e;
407
+ }
408
+ try {
409
+ const cachedRaw = await fs.readFile(cachePath, 'utf8');
410
+ const cached = JSON.parse(cachedRaw);
411
+ if (!Array.isArray(cached.models)) {
412
+ throw e;
413
+ }
414
+ modelsRemote = cached.models.map((value) => String(value));
415
+ }
416
+ catch {
417
+ throw e;
418
+ }
419
+ }
420
+ const blacklistSet = new Set(blacklist.models || []);
421
+ const modelsFiltered = modelsRemote.filter((m) => !blacklistSet.has(m));
422
+ if (!modelsFiltered.length) {
423
+ throw new Error(`Upstream returned 0 models after blacklist filter for provider "${providerId}"`);
424
+ }
425
+ const existingModels = normalizeModelsNode(providerNode.models);
426
+ const existingIds = new Set(Object.keys(existingModels));
427
+ const nextIds = Array.from(new Set(modelsFiltered)).sort();
428
+ const nextSet = new Set(nextIds);
429
+ const added = [];
430
+ const removed = [];
431
+ const kept = [];
432
+ for (const modelId of nextIds) {
433
+ if (existingIds.has(modelId)) {
434
+ kept.push(modelId);
435
+ }
436
+ else {
437
+ added.push(modelId);
438
+ }
439
+ }
440
+ for (const modelId of existingIds) {
441
+ if (!nextSet.has(modelId)) {
442
+ removed.push(modelId);
443
+ }
444
+ }
445
+ const nextModels = {};
446
+ for (const modelId of nextIds) {
447
+ const current = existingModels[modelId];
448
+ if (current && typeof current === 'object' && !Array.isArray(current)) {
449
+ nextModels[modelId] = current;
450
+ }
451
+ else {
452
+ nextModels[modelId] = { supportsStreaming: true };
453
+ }
454
+ }
455
+ providerNode.models = nextModels;
456
+ parsed.provider = providerNode;
457
+ if (opts.write) {
458
+ await fs.writeFile(v2Path, `${JSON.stringify(parsed, null, 2)}\n`, 'utf8');
459
+ console.log(`Provider "${providerId}" updated: ${v2Path}`);
460
+ }
461
+ else {
462
+ console.log(`[DRY RUN] Provider "${providerId}" would be updated: ${v2Path}`);
463
+ }
464
+ console.log(`models: upstream=${modelsRemote.length} filtered=${modelsFiltered.length} kept=${kept.length} added=${added.length} removed=${removed.length}`);
465
+ });
466
+ const probeContext = new Command('probe-context')
467
+ .description('Probe context limits for each model (via /v1/responses) and optionally write maxContextTokens into config.v2.json')
468
+ .argument('<id>', 'Provider id to probe (directory name under ~/.routecodex/provider)')
469
+ .option('--root <dir>', 'Override provider root directory')
470
+ .option('--endpoint <url>', 'RouteCodex /v1/responses endpoint (default: $ROUTECODEX_BASE/v1/responses)')
471
+ .option('--key <token>', 'RouteCodex inbound API key (default: $ROUTECODEX_API_KEY or routecodex-test)')
472
+ .option('--encoder <model>', 'tiktoken encoder model for token sizing (default: gpt-4o)', 'gpt-4o')
473
+ .option('--models <items>', 'Only probe these comma-separated model ids')
474
+ .option('--thresholds <items>', 'Comma-separated token thresholds', '128000,150000,180000,200000,256000,512000,1000000')
475
+ .option('--timeout-ms <ms>', 'Per-request timeout (ms)', '60000')
476
+ .option('--write', 'Write maxContextTokens/maxContext back into config.v2.json (default: dry-run)', false)
477
+ .option('--verbose', 'Verbose logs', false)
478
+ .action(async (id, opts) => {
479
+ const providerId = (id || '').trim();
480
+ if (!providerId) {
481
+ console.error('Provider id is required');
482
+ process.exit(1);
483
+ }
484
+ const base = (() => {
485
+ const raw = typeof opts.endpoint === 'string' && opts.endpoint.trim()
486
+ ? opts.endpoint.trim()
487
+ : typeof process.env.ROUTECODEX_BASE === 'string' && process.env.ROUTECODEX_BASE.trim()
488
+ ? process.env.ROUTECODEX_BASE.trim()
489
+ : 'http://127.0.0.1:5555';
490
+ const normalized = raw.replace(/\/$/, '');
491
+ if (normalized.endsWith('/v1/responses')) {
492
+ return normalized;
493
+ }
494
+ if (normalized.endsWith('/v1')) {
495
+ return `${normalized}/responses`;
496
+ }
497
+ return `${normalized}/v1/responses`;
498
+ })();
499
+ const apiKey = typeof opts.key === 'string' && opts.key.trim()
500
+ ? opts.key.trim()
501
+ : typeof process.env.ROUTECODEX_API_KEY === 'string' && process.env.ROUTECODEX_API_KEY.trim()
502
+ ? process.env.ROUTECODEX_API_KEY.trim()
503
+ : typeof process.env.ROUTECODEX_APIKEY === 'string' && process.env.ROUTECODEX_APIKEY.trim()
504
+ ? process.env.ROUTECODEX_APIKEY.trim()
505
+ : 'routecodex-test';
506
+ const encoderModel = typeof opts.encoder === 'string' && opts.encoder.trim() ? opts.encoder.trim() : 'gpt-4o';
507
+ const thresholds = splitTokenThresholds(opts.thresholds);
508
+ if (!thresholds.length) {
509
+ console.error('No valid thresholds provided');
510
+ process.exit(1);
511
+ }
512
+ const timeoutMs = (() => {
513
+ const parsed = Math.floor(Number(opts.timeoutMs));
514
+ return Number.isFinite(parsed) && parsed > 0 ? parsed : 60_000;
515
+ })();
516
+ const onlyModels = splitCsv(opts.models);
517
+ const root = resolveProviderRoot(opts.root);
518
+ const dir = path.join(root, providerId);
519
+ const v2Path = path.join(dir, 'config.v2.json');
520
+ if (!(await fileExists(v2Path))) {
521
+ console.error(`No config.v2.json found for provider "${providerId}" under ${dir}`);
522
+ process.exit(1);
523
+ }
524
+ const raw = await fs.readFile(v2Path, 'utf8');
525
+ let parsed;
526
+ try {
527
+ parsed = JSON.parse(raw);
528
+ }
529
+ catch (e) {
530
+ console.error('Failed to parse existing config.v2.json:', e?.message ?? String(e));
531
+ process.exit(1);
532
+ return;
533
+ }
534
+ const providerNode = (parsed.provider ?? {});
535
+ const modelsNode = normalizeModelsNode(providerNode.models);
536
+ const modelIds = Object.keys(modelsNode).sort();
537
+ const selectedModelIds = onlyModels.length
538
+ ? modelIds.filter((id) => onlyModels.includes(id))
539
+ : modelIds;
540
+ if (!selectedModelIds.length) {
541
+ console.error('No models found to probe');
542
+ process.exit(1);
543
+ }
544
+ console.log(`Probing provider="${providerId}" models=${selectedModelIds.length} endpoint=${base}`);
545
+ console.log(`thresholds=${thresholds.join(', ')} encoder=${encoderModel} timeoutMs=${timeoutMs}`);
546
+ const results = [];
547
+ let changed = 0;
548
+ for (const modelId of selectedModelIds) {
549
+ console.log(`\n[probe-context] model=${modelId}`);
550
+ // eslint-disable-next-line no-await-in-loop
551
+ const res = await probeContextForModel(modelId, thresholds, {
552
+ endpoint: base,
553
+ apiKey,
554
+ timeoutMs,
555
+ encoderModel
556
+ });
557
+ const max = res.maxPassedTokens;
558
+ if (typeof max === 'number' && Number.isFinite(max) && max > 0) {
559
+ const currentRaw = modelsNode[modelId];
560
+ const record = isRecord(currentRaw) ? { ...currentRaw } : {};
561
+ const prev = typeof record.maxContextTokens === 'number'
562
+ ? record.maxContextTokens
563
+ : undefined;
564
+ record.maxContextTokens = max;
565
+ record.maxContext = max;
566
+ modelsNode[modelId] = record;
567
+ if (prev !== max) {
568
+ changed += 1;
569
+ }
570
+ console.log(` ✅ maxPassedTokens=${max}${prev !== undefined ? ` (prev=${prev})` : ''}`);
571
+ }
572
+ else {
573
+ const failure = res.firstFailure;
574
+ console.log(` ❌ failed at threshold=${failure?.threshold ?? 'unknown'} status=${failure?.status ?? 'unknown'}`);
575
+ }
576
+ results.push({
577
+ modelId,
578
+ maxPassedTokens: res.maxPassedTokens,
579
+ ...(res.firstFailure ? { firstFailure: { threshold: res.firstFailure.threshold, status: res.firstFailure.status, message: res.firstFailure.message } } : {})
580
+ });
581
+ if (opts.verbose && res.firstFailure?.responseSnippet) {
582
+ console.log(' failure snippet:');
583
+ console.log(String(res.firstFailure.responseSnippet).slice(0, 800));
584
+ }
585
+ }
586
+ providerNode.models = modelsNode;
587
+ parsed.provider = providerNode;
588
+ if (opts.write) {
589
+ await fs.writeFile(v2Path, `${JSON.stringify(parsed, null, 2)}\n`, 'utf8');
590
+ console.log(`\nProvider "${providerId}" updated: ${v2Path} (models changed=${changed})`);
591
+ }
592
+ else {
593
+ console.log(`\n[DRY RUN] Provider "${providerId}" would be updated: ${v2Path} (models changed=${changed})`);
594
+ }
595
+ console.log(`Probe results: ${JSON.stringify(results, null, 2)}`);
596
+ });
249
597
  // provider list
250
598
  const list = new Command('list')
251
599
  .description('List provider v2 configs under ~/.routecodex/provider')
@@ -481,6 +829,8 @@ export function createProviderUpdateCommand() {
481
829
  }
482
830
  });
483
831
  cmd.addCommand(update);
832
+ cmd.addCommand(syncModels);
833
+ cmd.addCommand(probeContext);
484
834
  cmd.addCommand(list);
485
835
  cmd.addCommand(add);
486
836
  cmd.addCommand(change);
@@ -1 +1 @@
1
- {"version":3,"file":"provider-update.js","sourceRoot":"","sources":["../../src/commands/provider-update.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"provider-update.js","sourceRoot":"","sources":["../../src/commands/provider-update.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACpC,OAAO,EAAE,MAAM,kBAAkB,CAAC;AAClC,OAAO,IAAI,MAAM,WAAW,CAAC;AAC7B,OAAO,EAAE,MAAM,SAAS,CAAC;AACzB,OAAO,QAAQ,MAAM,eAAe,CAAC;AAErC,OAAO,EAAE,oBAAoB,EAAE,MAAM,mCAAmC,CAAC;AACzE,OAAO,EAAE,uBAAuB,EAAE,MAAM,0CAA0C,CAAC;AACnF,OAAO,EAAE,aAAa,EAAE,cAAc,EAAE,MAAM,uCAAuC,CAAC;AACtF,OAAO,EAAE,oBAAoB,EAAE,MAAM,2CAA2C,CAAC;AAEjF,OAAO,EAAE,aAAa,EAAE,MAAM,uBAAuB,CAAC;AACtD,OAAO,EAAE,qBAAqB,EAAyB,MAAM,iCAAiC,CAAC;AAG/F,SAAS,mBAAmB,CAAC,UAAmB;IAC9C,MAAM,OAAO,GAAG,OAAO,UAAU,KAAK,QAAQ,CAAC,CAAC,CAAC,UAAU,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;IACxE,IAAI,OAAO,EAAE,CAAC;QACZ,OAAO,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;IAC/B,CAAC;IACD,OAAO,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,OAAO,EAAE,EAAE,aAAa,EAAE,UAAU,CAAC,CAAC;AAC5D,CAAC;AAED,KAAK,UAAU,SAAS,CAAC,CAAS;IAChC,MAAM,EAAE,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;AACzC,CAAC;AAED,KAAK,UAAU,UAAU,CAAC,CAAS;IACjC,IAAI,CAAC;QACH,MAAM,EAAE,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;QACnB,OAAO,IAAI,CAAC;IACd,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,KAAK,CAAC;IACf,CAAC;AACH,CAAC;AAED,SAAS,GAAG,CAAC,QAAgB,EAAE,YAAqB;IAClD,MAAM,EAAE,GAAG,QAAQ,CAAC,eAAe,CAAC,EAAE,KAAK,EAAE,OAAO,CAAC,KAAK,EAAE,MAAM,EAAE,OAAO,CAAC,MAAM,EAAE,CAAC,CAAC;IACtF,MAAM,MAAM,GAAG,YAAY,IAAI,YAAY,CAAC,IAAI,EAAE,CAAC,MAAM;QACvD,CAAC,CAAC,GAAG,QAAQ,KAAK,YAAY,KAAK;QACnC,CAAC,CAAC,GAAG,QAAQ,IAAI,CAAC;IACpB,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,EAAE;QAC7B,EAAE,CAAC,QAAQ,CAAC,MAAM,EAAE,CAAC,MAAM,EAAE,EAAE;YAC7B,EAAE,CAAC,KAAK,EAAE,CAAC;YACX,MAAM,GAAG,GAAG,MAAM,CAAC,MAAM,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC;YACxC,OAAO,CAAC,GAAG,IAAI,CAAC,YAAY,IAAI,EAAE,CAAC,CAAC,CAAC;QACvC,CAAC,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;AACL,CAAC;AAED,SAAS,QAAQ,CAAC,QAAgB,EAAE,UAAU,GAAG,IAAI;IACnD,MAAM,MAAM,GAAG,UAAU,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,UAAU,CAAC;IACpD,MAAM,EAAE,GAAG,QAAQ,CAAC,eAAe,CAAC,EAAE,KAAK,EAAE,OAAO,CAAC,KAAK,EAAE,MAAM,EAAE,OAAO,CAAC,MAAM,EAAE,CAAC,CAAC;IACtF,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,EAAE;QAC7B,EAAE,CAAC,QAAQ,CAAC,GAAG,QAAQ,GAAG,MAAM,EAAE,EAAE,CAAC,MAAM,EAAE,EAAE;YAC7C,EAAE,CAAC,KAAK,EAAE,CAAC;YACX,MAAM,GAAG,GAAG,MAAM,CAAC,MAAM,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC;YACtD,IAAI,CAAC,GAAG,EAAE,CAAC;gBACT,OAAO,CAAC,UAAU,CAAC,CAAC;gBACpB,OAAO;YACT,CAAC;YACD,OAAO,CAAC,GAAG,KAAK,GAAG,IAAI,GAAG,KAAK,KAAK,CAAC,CAAC;QACxC,CAAC,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;AACL,CAAC;AAED,SAAS,QAAQ,CAAC,GAAa;IAC7B,OAAO,OAAO,GAAG,KAAK,QAAQ,IAAI,GAAG,CAAC,IAAI,EAAE;QAC1C,CAAC,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC;QAC3D,CAAC,CAAC,EAAE,CAAC;AACT,CAAC;AAED,SAAS,oBAAoB,CAAC,GAAa;IACzC,MAAM,KAAK,GAAG,QAAQ,CAAC,GAAG,CAAC,CAAC;IAC5B,MAAM,GAAG,GAAa,EAAE,CAAC;IACzB,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;QACzB,MAAM,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC;QACnC,IAAI,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC;YAChC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QACd,CAAC;IACH,CAAC;IACD,OAAO,GAAG,CAAC;AACb,CAAC;AAuBD,SAAS,UAAU,CAAC,KAAc;IAChC,OAAO,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,SAAS,CAAC;AAC9E,CAAC;AAED,SAAS,eAAe,CAAC,KAAc;IACrC,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC;QAC1B,OAAO,SAAS,CAAC;IACnB,CAAC;IACD,MAAM,GAAG,GAAa,EAAE,CAAC;IACzB,KAAK,MAAM,KAAK,IAAI,KAAK,EAAE,CAAC;QAC1B,MAAM,IAAI,GAAG,UAAU,CAAC,KAAK,CAAC,CAAC;QAC/B,IAAI,IAAI,EAAE,CAAC;YACT,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACjB,CAAC;IACH,CAAC;IACD,OAAO,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,SAAS,CAAC;AACtC,CAAC;AAED,SAAS,QAAQ,CAAC,KAAc;IAC9B,OAAO,CAAC,CAAC,KAAK,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;AACvE,CAAC;AAED,SAAS,yBAAyB,CAAC,QAAiC;IAClE,MAAM,MAAM,GAAG,UAAU,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC;IAC3C,IAAI,MAAM,EAAE,CAAC;QACX,OAAO,MAAM,CAAC;IAChB,CAAC;IACD,MAAM,IAAI,GAAG,QAAQ,CAAC,IAAI,CAAC;IAC3B,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC;QACpB,OAAO,SAAS,CAAC;IACnB,CAAC;IACD,KAAK,MAAM,KAAK,IAAI,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC;QACxC,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,EAAE,CAAC;YACrB,SAAS;QACX,CAAC;QACD,MAAM,KAAK,GAAG,UAAU,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;QACtC,IAAI,KAAK,EAAE,CAAC;YACV,OAAO,KAAK,CAAC;QACf,CAAC;IACH,CAAC;IACD,OAAO,SAAS,CAAC;AACnB,CAAC;AAED,SAAS,8BAA8B,CAAC,aAAsB;IAC5D,IAAI,CAAC,QAAQ,CAAC,aAAa,CAAC,EAAE,CAAC;QAC7B,OAAO,SAAS,CAAC;IACnB,CAAC;IACD,MAAM,WAAW,GAAG,UAAU,CAAC,aAAa,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC;IACzD,MAAM,QAAQ,GAAG,WAAW,CAAC,WAAW,EAAE,CAAC;IAE3C,IAAI,QAAQ,CAAC,QAAQ,CAAC,OAAO,CAAC,EAAE,CAAC;QAC/B,OAAO;YACL,IAAI,EAAE,OAAO;YACb,SAAS,EAAE,UAAU,CAAC,aAAa,CAAC,SAAS,CAAC;YAC9C,QAAQ,EAAE,UAAU,CAAC,aAAa,CAAC,QAAQ,CAAC;YAC5C,YAAY,EAAE,UAAU,CAAC,aAAa,CAAC,YAAY,CAAC;YACpD,QAAQ,EAAE,UAAU,CAAC,aAAa,CAAC,QAAQ,CAAC;YAC5C,aAAa,EAAE,UAAU,CAAC,aAAa,CAAC,aAAa,CAAC;YACtD,MAAM,EAAE,eAAe,CAAC,aAAa,CAAC,MAAM,CAAC;SAC9C,CAAC;IACJ,CAAC;IAED,IAAI,QAAQ,CAAC,QAAQ,CAAC,QAAQ,CAAC,IAAI,QAAQ,KAAK,SAAS,IAAI,QAAQ,KAAK,QAAQ,EAAE,CAAC;QACnF,OAAO;YACL,IAAI,EAAE,QAAQ;YACd,MAAM,EAAE,yBAAyB,CAAC,aAAa,CAAC;YAChD,UAAU,EAAE,UAAU,CAAC,aAAa,CAAC,UAAU,CAAC;YAChD,MAAM,EAAE,UAAU,CAAC,aAAa,CAAC,MAAM,CAAC;SACzC,CAAC;IACJ,CAAC;IAED,OAAO,SAAS,CAAC;AACnB,CAAC;AAED,SAAS,8BAA8B,CAAC,UAAkB,EAAE,QAAuB;IACjF,MAAM,IAAI,GAAG,UAAU,CAAE,QAA+B,CAAC,IAAI,CAAC,IAAI,UAAU,CAAC;IAC7E,MAAM,OAAO,GAAG,UAAU,CAAE,QAAkC,CAAC,OAAO,CAAC,IAAI,UAAU,CAAE,QAAkC,CAAC,OAAO,CAAC,CAAC;IACnI,MAAM,OAAO,GAAG,UAAU,CAAE,QAAkC,CAAC,OAAO,CAAC,IAAI,UAAU,CAAE,QAAkC,CAAC,OAAO,CAAC,CAAC;IACnI,MAAM,IAAI,GAAG,8BAA8B,CAAE,QAA+B,CAAC,IAAI,CAAC,CAAC;IACnF,OAAO,EAAE,UAAU,EAAE,IAAI,EAAE,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;AACtD,CAAC;AAED,SAAS,mBAAmB,CAAC,IAAa;IACxC,IAAI,CAAC,IAAI,IAAI,OAAO,IAAI,KAAK,QAAQ,IAAI,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,CAAC;QAC7D,OAAO,EAAE,CAAC;IACZ,CAAC;IACD,OAAO,IAAqC,CAAC;AAC/C,CAAC;AA0BD,MAAM,kBAAkB,GAAuB;IAC7C;QACE,EAAE,EAAE,KAAK;QACT,KAAK,EAAE,oBAAoB;QAC3B,gBAAgB,EAAE,KAAK;QACvB,cAAc,EAAE,6CAA6C;QAC7D,YAAY,EAAE,SAAS;QACvB,aAAa,EAAE,UAAU;QACzB,eAAe,EAAE,QAAQ;KAC1B;IACD;QACE,EAAE,EAAE,MAAM;QACV,KAAK,EAAE,4BAA4B;QACnC,gBAAgB,EAAE,MAAM;QACxB,cAAc,EAAE,2BAA2B;QAC3C,YAAY,EAAE,kBAAkB;QAChC,aAAa,EAAE,WAAW;QAC1B,eAAe,EAAE,YAAY;KAC9B;IACD;QACE,EAAE,EAAE,OAAO;QACX,KAAK,EAAE,kBAAkB;QACzB,gBAAgB,EAAE,OAAO;QACzB,cAAc,EAAE,0BAA0B;QAC1C,YAAY,EAAE,SAAS;QACvB,aAAa,EAAE,YAAY;QAC3B,eAAe,EAAE,aAAa;KAC/B;IACD;QACE,EAAE,EAAE,MAAM;QACV,KAAK,EAAE,aAAa;QACpB,gBAAgB,EAAE,QAAQ;QAC1B,cAAc,EAAE,gCAAgC;QAChD,YAAY,EAAE,iBAAiB;QAC/B,eAAe,EAAE,QAAQ;KAC1B;IACD;QACE,EAAE,EAAE,YAAY;QAChB,KAAK,EAAE,gCAAgC;QACvC,gBAAgB,EAAE,QAAQ;QAC1B,cAAc,EAAE,wCAAwC;QACxD,YAAY,EAAE,qCAAqC;QACnD,eAAe,EAAE,QAAQ;KAC1B;IACD;QACE,EAAE,EAAE,YAAY;QAChB,KAAK,EAAE,gCAAgC;QACvC,gBAAgB,EAAE,YAAY;QAC9B,cAAc,EAAE,qCAAqC;QACrD,YAAY,EAAE,uBAAuB;QACrC,eAAe,EAAE,kBAAkB;KACpC;IACD;QACE,EAAE,EAAE,aAAa;QACjB,KAAK,EAAE,8BAA8B;QACrC,gBAAgB,EAAE,aAAa;QAC/B,cAAc,EAAE,qCAAqC;QACrD,YAAY,EAAE,uBAAuB;QACrC,eAAe,EAAE,kBAAkB;KACpC;IACD;QACE,EAAE,EAAE,QAAQ;QACZ,KAAK,EAAE,iBAAiB;QACxB,gBAAgB,EAAE,QAAQ;QAC1B,cAAc,EAAE,kDAAkD;QAClE,YAAY,EAAE,yBAAyB;QACvC,eAAe,EAAE,QAAQ;KAC1B;IACD;QACE,EAAE,EAAE,QAAQ;QACZ,KAAK,EAAE,8BAA8B;QACrC,gBAAgB,EAAE,QAAQ;QAC1B,cAAc,EAAE,aAAa,CAAC,MAAM;QACpC,YAAY,EAAE,SAAS;QACvB,eAAe,EAAE,QAAQ;KAC1B;IACD;QACE,EAAE,EAAE,WAAW;QACf,KAAK,EAAE,wCAAwC;QAC/C,gBAAgB,EAAE,WAAW;QAC7B,cAAc,EAAE,aAAa,CAAC,SAAS;QACvC,YAAY,EAAE,mBAAmB;QACjC,eAAe,EAAE,QAAQ;KAC1B;IACD;QACE,EAAE,EAAE,WAAW;QACf,KAAK,EAAE,uDAAuD;QAC9D,gBAAgB,EAAE,WAAW;QAC7B,eAAe,EAAE,QAAQ;KAC1B;IACD;QACE,EAAE,EAAE,QAAQ;QACZ,KAAK,EAAE,wCAAwC;QAC/C,gBAAgB,EAAE,QAAQ;KAC3B;CACF,CAAC;AAEF,SAAS,YAAY,CAAC,EAAW;IAC/B,MAAM,UAAU,GAAG,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC;IACnD,IAAI,CAAC,UAAU,EAAE,CAAC;QAChB,OAAO,kBAAkB,CAAC,CAAC,CAAC,CAAC;IAC/B,CAAC;IACD,MAAM,KAAK,GAAG,kBAAkB,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,KAAK,UAAU,CAAC,CAAC;IAClE,OAAO,KAAK,IAAI,kBAAkB,CAAC,kBAAkB,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;AACpE,CAAC;AAED,SAAS,yBAAyB,CAChC,UAAkB,EAClB,GAAqB,EACrB,OAAe,EACf,QAAgB,EAChB,mBAA2B,EAC3B,SAAiB,EACjB,cAAsB;IAEtB,MAAM,IAAI,GAAkB,EAAE,IAAI,EAAE,QAAQ,EAAE,CAAC;IAC/C,IAAI,QAAQ,CAAC,WAAW,EAAE,CAAC,QAAQ,CAAC,QAAQ,CAAC,EAAE,CAAC;QAC9C,IAAI,mBAAmB,CAAC,IAAI,EAAE,EAAE,CAAC;YAC/B,IAAI,CAAC,MAAM,GAAG,mBAAmB,CAAC,IAAI,EAAE,CAAC;QAC3C,CAAC;aAAM,CAAC;YACN,IAAI,CAAC,MAAM,GAAG,mBAAmB,CAAC;QACpC,CAAC;IACH,CAAC;SAAM,IAAI,QAAQ,CAAC,WAAW,EAAE,CAAC,QAAQ,CAAC,OAAO,CAAC,EAAE,CAAC;QACpD,IAAI,SAAS,CAAC,IAAI,EAAE,EAAE,CAAC;YACrB,IAAI,CAAC,SAAS,GAAG,SAAS,CAAC,IAAI,EAAE,CAAC;QACpC,CAAC;IACH,CAAC;IAED,MAAM,MAAM,GAAkC,EAAE,CAAC;IACjD,IAAI,cAAc,CAAC,IAAI,EAAE,EAAE,CAAC;QAC1B,MAAM,CAAC,cAAc,CAAC,IAAI,EAAE,CAAC,GAAG;YAC9B,iBAAiB,EAAE,IAAI;SACxB,CAAC;IACJ,CAAC;IAED,MAAM,QAAQ,GAAkB;QAC9B,EAAE,EAAE,UAAU;QACd,OAAO,EAAE,IAAI;QACb,IAAI,EAAE,GAAG,CAAC,gBAAgB;QAC1B,OAAO,EAAE,OAAO;QAChB,IAAI;QACJ,MAAM;KACP,CAAC;IAEF,IAAI,GAAG,CAAC,aAAa,EAAE,CAAC;QACrB,QAA8C,CAAC,oBAAoB,GAAG,GAAG,CAAC,aAAa,CAAC;IAC3F,CAAC;IAED,IAAI,GAAG,CAAC,EAAE,KAAK,WAAW,EAAE,CAAC;QAC1B,QAA0B,CAAC,SAAS,GAAG;YACtC,OAAO,EAAE,MAAM;YACf,SAAS,EAAE,QAAQ;SACpB,CAAC;IACJ,CAAC;IAED,OAAO,QAAQ,CAAC;AAClB,CAAC;AAED,MAAM,UAAU,2BAA2B;IACzC,MAAM,GAAG,GAAG,IAAI,OAAO,CAAC,UAAU,CAAC,CAAC;IAEpC,sCAAsC;IACtC,MAAM,MAAM,GAAG,IAAI,OAAO,CAAC,QAAQ,CAAC;SACjC,WAAW,CAAC,+EAA+E,CAAC;SAC5F,cAAc,CAAC,qBAAqB,EAAE,oEAAoE,CAAC;SAC3G,MAAM,CAAC,qBAAqB,EAAE,+CAA+C,CAAC;SAC9E,MAAM,CAAC,SAAS,EAAE,gCAAgC,EAAE,KAAK,CAAC;SAC1D,MAAM,CAAC,oBAAoB,EAAE,uFAAuF,CAAC;SACrH,MAAM,CAAC,yBAAyB,EAAE,4CAA4C,CAAC;SAC/E,MAAM,CAAC,4BAA4B,EAAE,iDAAiD,CAAC;SACvF,MAAM,CAAC,yBAAyB,EAAE,6DAA6D,CAAC;SAChG,MAAM,CAAC,aAAa,EAAE,oCAAoC,EAAE,KAAK,CAAC;SAClE,MAAM,CAAC,aAAa,EAAE,4CAA4C,EAAE,KAAK,CAAC;SAC1E,MAAM,CAAC,cAAc,EAAE,4DAA4D,EAAE,KAAK,CAAC;SAC3F,MAAM,CAAC,WAAW,EAAE,cAAc,EAAE,KAAK,CAAC;SAC1C,MAAM,CAAC,KAAK,EAAE,IAAI,EAAE,EAAE;QACrB,MAAM,IAAI,GAAG;YACX,UAAU,EAAE,IAAI,CAAC,QAA8B;YAC/C,UAAU,EAAE,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,MAAgB,CAAC;YAC/C,KAAK,EAAE,CAAC,CAAC,IAAI,CAAC,KAAK;YACnB,SAAS,EAAE,IAAI,CAAC,SAA+B;YAC/C,YAAY,EAAE,QAAQ,CAAC,IAAI,CAAC,YAAY,CAAC;YACzC,eAAe,EAAE,QAAQ,CAAC,IAAI,CAAC,eAAe,CAAC;YAC/C,aAAa,EAAE,IAAI,CAAC,aAAmC;YACvD,QAAQ,EAAE,CAAC,CAAC,IAAI,CAAC,QAAQ;YACzB,QAAQ,EAAE,CAAC,CAAC,IAAI,CAAC,QAAQ;YACzB,SAAS,EAAE,CAAC,CAAC,IAAI,CAAC,SAAS;YAC3B,OAAO,EAAE,CAAC,CAAC,IAAI,CAAC,OAAO;SACxB,CAAC;QACF,IAAI,CAAC;YACH,MAAM,MAAM,GAAG,MAAM,oBAAoB,CAAC,IAAI,CAAC,CAAC;YAChD,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,CAAC;gBACnB,OAAO,CAAC,GAAG,CAAC,0BAA0B,CAAC,CAAC;gBACxC,OAAO,CAAC,GAAG,CAAC,eAAe,MAAM,CAAC,UAAU,EAAE,CAAC,CAAC;gBAChD,OAAO,CAAC,GAAG,CAAC,qBAAqB,MAAM,CAAC,WAAW,EAAE,CAAC,CAAC;gBACvD,OAAO,CAAC,GAAG,CAAC,iCAAiC,MAAM,CAAC,QAAQ,EAAE,CAAC,CAAC;gBAChE,OAAO,CAAC,GAAG,CAAC,aAAa,MAAM,CAAC,UAAU,EAAE,CAAC,CAAC;gBAC9C,OAAO,CAAC,GAAG,CAAC,gBAAgB,MAAM,CAAC,aAAa,EAAE,CAAC,CAAC;YACtD,CAAC;QACH,CAAC;QAAC,OAAO,CAAM,EAAE,CAAC;YAChB,OAAO,CAAC,KAAK,CAAC,yBAAyB,EAAE,CAAC,EAAE,OAAO,IAAI,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC;YAClE,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QAClB,CAAC;IACH,CAAC,CAAC,CAAC;IAEL,MAAM,UAAU,GAAG,IAAI,OAAO,CAAC,aAAa,CAAC;SAC1C,WAAW,CAAC,mEAAmE,CAAC;SAChF,QAAQ,CAAC,MAAM,EAAE,qEAAqE,CAAC;SACvF,MAAM,CAAC,cAAc,EAAE,kCAAkC,CAAC;SAC1D,MAAM,CAAC,SAAS,EAAE,iDAAiD,EAAE,KAAK,CAAC;SAC3E,MAAM,CAAC,aAAa,EAAE,mDAAmD,EAAE,KAAK,CAAC;SACjF,MAAM,CAAC,yBAAyB,EAAE,4CAA4C,CAAC;SAC/E,MAAM,CAAC,4BAA4B,EAAE,iDAAiD,CAAC;SACvF,MAAM,CAAC,WAAW,EAAE,cAAc,EAAE,KAAK,CAAC;SAC1C,MAAM,CAAC,KAAK,EACX,EAAU,EACV,IAOC,EACD,EAAE;QACF,MAAM,UAAU,GAAG,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC;QACrC,IAAI,CAAC,UAAU,EAAE,CAAC;YAChB,OAAO,CAAC,KAAK,CAAC,yBAAyB,CAAC,CAAC;YACzC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QAClB,CAAC;QAED,MAAM,IAAI,GAAG,mBAAmB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAC5C,MAAM,GAAG,GAAG,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,UAAU,CAAC,CAAC;QACxC,MAAM,MAAM,GAAG,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,gBAAgB,CAAC,CAAC;QAChD,MAAM,aAAa,GAAG,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,gBAAgB,CAAC,CAAC;QACvD,MAAM,SAAS,GAAG,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,oBAAoB,CAAC,CAAC;QAEvD,IAAI,CAAC,CAAC,MAAM,UAAU,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC;YAChC,OAAO,CAAC,KAAK,CAAC,yCAAyC,UAAU,WAAW,GAAG,EAAE,CAAC,CAAC;YACnF,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QAClB,CAAC;QAED,MAAM,GAAG,GAAG,MAAM,EAAE,CAAC,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;QAC9C,IAAI,MAAwB,CAAC;QAC7B,IAAI,CAAC;YACH,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAqB,CAAC;QAC/C,CAAC;QAAC,OAAO,CAAC,EAAE,CAAC;YACX,OAAO,CAAC,KAAK,CAAC,0CAA0C,EAAG,CAAW,EAAE,OAAO,IAAI,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC;YAC9F,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;YAChB,OAAO;QACT,CAAC;QAED,MAAM,YAAY,GAAG,CAAC,MAAM,CAAC,QAAQ,IAAI,EAAE,CAAkB,CAAC;QAC9D,MAAM,KAAK,GAAG,8BAA8B,CAAC,UAAU,EAAE,YAAY,CAAC,CAAC;QAEvE,wBAAwB;QACxB,MAAM,SAAS,GAAG,aAAa,CAAC,aAAa,CAAC,CAAC;QAC/C,MAAM,GAAG,GAAG,QAAQ,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;QACxC,MAAM,GAAG,GAAG,QAAQ,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC;QAC3C,IAAI,GAAG,CAAC,MAAM,IAAI,GAAG,CAAC,MAAM,EAAE,CAAC;YAC7B,MAAM,GAAG,GAAG,IAAI,GAAG,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC;YACtC,KAAK,MAAM,IAAI,IAAI,GAAG,EAAE,CAAC;gBAAC,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;YAAC,CAAC;YAC1C,KAAK,MAAM,IAAI,IAAI,GAAG,EAAE,CAAC;gBAAC,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;YAAC,CAAC;YAC7C,SAAS,CAAC,MAAM,GAAG,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;YACnC,cAAc,CAAC,aAAa,EAAE,SAAS,CAAC,CAAC;QAC3C,CAAC;QAED,uDAAuD;QACvD,IAAI,YAAY,GAAa,EAAE,CAAC;QAChC,IAAI,SAAS,GAAY,IAAI,CAAC;QAC9B,IAAI,CAAC;YACH,MAAM,GAAG,GAAG,MAAM,uBAAuB,CAAC,KAAuC,EAAE,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;YACnG,YAAY,GAAG,GAAG,CAAC,MAAM,IAAI,EAAE,CAAC;YAChC,SAAS,GAAG,GAAG,CAAC,GAAG,IAAI,IAAI,CAAC;YAC5B,MAAM,EAAE,CAAC,SAAS,CAAC,SAAS,EAAE,GAAG,IAAI,CAAC,SAAS,CAAC,EAAE,MAAM,EAAE,YAAY,EAAE,GAAG,EAAE,SAAS,EAAE,SAAS,EAAE,IAAI,CAAC,GAAG,EAAE,EAAE,EAAE,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;QACzI,CAAC;QAAC,OAAO,CAAC,EAAE,CAAC;YACX,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,CAAC;gBACnB,MAAM,CAAC,CAAC;YACV,CAAC;YACD,IAAI,CAAC;gBACH,MAAM,SAAS,GAAG,MAAM,EAAE,CAAC,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC,CAAC;gBACvD,MAAM,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,SAAS,CAAyB,CAAC;gBAC7D,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,MAAM,CAAC,EAAE,CAAC;oBAClC,MAAM,CAAC,CAAC;gBACV,CAAC;gBACD,YAAY,GAAG,MAAM,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC;YAC7D,CAAC;YAAC,MAAM,CAAC;gBACP,MAAM,CAAC,CAAC;YACV,CAAC;QACH,CAAC;QAED,MAAM,YAAY,GAAG,IAAI,GAAG,CAAC,SAAS,CAAC,MAAM,IAAI,EAAE,CAAC,CAAC;QACrD,MAAM,cAAc,GAAG,YAAY,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,YAAY,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;QACxE,IAAI,CAAC,cAAc,CAAC,MAAM,EAAE,CAAC;YAC3B,MAAM,IAAI,KAAK,CAAC,mEAAmE,UAAU,GAAG,CAAC,CAAC;QACpG,CAAC;QAED,MAAM,cAAc,GAAG,mBAAmB,CAAE,YAAqC,CAAC,MAAM,CAAC,CAAC;QAC1F,MAAM,WAAW,GAAG,IAAI,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC,CAAC;QACzD,MAAM,OAAO,GAAG,KAAK,CAAC,IAAI,CAAC,IAAI,GAAG,CAAC,cAAc,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;QAC3D,MAAM,OAAO,GAAG,IAAI,GAAG,CAAC,OAAO,CAAC,CAAC;QAEjC,MAAM,KAAK,GAAa,EAAE,CAAC;QAC3B,MAAM,OAAO,GAAa,EAAE,CAAC;QAC7B,MAAM,IAAI,GAAa,EAAE,CAAC;QAE1B,KAAK,MAAM,OAAO,IAAI,OAAO,EAAE,CAAC;YAC9B,IAAI,WAAW,CAAC,GAAG,CAAC,OAAO,CAAC,EAAE,CAAC;gBAC7B,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;YACrB,CAAC;iBAAM,CAAC;gBACN,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;YACtB,CAAC;QACH,CAAC;QACD,KAAK,MAAM,OAAO,IAAI,WAAW,EAAE,CAAC;YAClC,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,OAAO,CAAC,EAAE,CAAC;gBAC1B,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;YACxB,CAAC;QACH,CAAC;QAED,MAAM,UAAU,GAAkC,EAAE,CAAC;QACrD,KAAK,MAAM,OAAO,IAAI,OAAO,EAAE,CAAC;YAC9B,MAAM,OAAO,GAAG,cAAc,CAAC,OAAO,CAAC,CAAC;YACxC,IAAI,OAAO,IAAI,OAAO,OAAO,KAAK,QAAQ,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,EAAE,CAAC;gBACtE,UAAU,CAAC,OAAO,CAAC,GAAG,OAAwB,CAAC;YACjD,CAAC;iBAAM,CAAC;gBACN,UAAU,CAAC,OAAO,CAAC,GAAG,EAAE,iBAAiB,EAAE,IAAI,EAAE,CAAC;YACpD,CAAC;QACH,CAAC;QACD,YAAY,CAAC,MAAM,GAAG,UAAU,CAAC;QACjC,MAAM,CAAC,QAAQ,GAAG,YAAY,CAAC;QAE/B,IAAI,IAAI,CAAC,KAAK,EAAE,CAAC;YACf,MAAM,EAAE,CAAC,SAAS,CAAC,MAAM,EAAE,GAAG,IAAI,CAAC,SAAS,CAAC,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;YAC3E,OAAO,CAAC,GAAG,CAAC,aAAa,UAAU,cAAc,MAAM,EAAE,CAAC,CAAC;QAC7D,CAAC;aAAM,CAAC;YACN,OAAO,CAAC,GAAG,CAAC,uBAAuB,UAAU,uBAAuB,MAAM,EAAE,CAAC,CAAC;QAChF,CAAC;QACD,OAAO,CAAC,GAAG,CAAC,oBAAoB,YAAY,CAAC,MAAM,aAAa,cAAc,CAAC,MAAM,SAAS,IAAI,CAAC,MAAM,UAAU,KAAK,CAAC,MAAM,YAAY,OAAO,CAAC,MAAM,EAAE,CAAC,CAAC;IAC/J,CAAC,CAAC,CAAC;IAEL,MAAM,YAAY,GAAG,IAAI,OAAO,CAAC,eAAe,CAAC;SAC9C,WAAW,CAAC,mHAAmH,CAAC;SAChI,QAAQ,CAAC,MAAM,EAAE,oEAAoE,CAAC;SACtF,MAAM,CAAC,cAAc,EAAE,kCAAkC,CAAC;SAC1D,MAAM,CAAC,kBAAkB,EAAE,4EAA4E,CAAC;SACxG,MAAM,CAAC,eAAe,EAAE,8EAA8E,CAAC;SACvG,MAAM,CAAC,mBAAmB,EAAE,2DAA2D,EAAE,QAAQ,CAAC;SAClG,MAAM,CAAC,kBAAkB,EAAE,4CAA4C,CAAC;SACxE,MAAM,CAAC,sBAAsB,EAAE,kCAAkC,EAAE,mDAAmD,CAAC;SACvH,MAAM,CAAC,mBAAmB,EAAE,0BAA0B,EAAE,OAAO,CAAC;SAChE,MAAM,CAAC,SAAS,EAAE,+EAA+E,EAAE,KAAK,CAAC;SACzG,MAAM,CAAC,WAAW,EAAE,cAAc,EAAE,KAAK,CAAC;SAC1C,MAAM,CAAC,KAAK,EACX,EAAU,EACV,IAUC,EACD,EAAE;QACF,MAAM,UAAU,GAAG,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC;QACrC,IAAI,CAAC,UAAU,EAAE,CAAC;YAChB,OAAO,CAAC,KAAK,CAAC,yBAAyB,CAAC,CAAC;YACzC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QAClB,CAAC;QAED,MAAM,IAAI,GACR,CAAC,GAAG,EAAE;YACJ,MAAM,GAAG,GACP,OAAO,IAAI,CAAC,QAAQ,KAAK,QAAQ,IAAI,IAAI,CAAC,QAAQ,CAAC,IAAI,EAAE;gBACvD,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,IAAI,EAAE;gBACtB,CAAC,CAAC,OAAO,OAAO,CAAC,GAAG,CAAC,eAAe,KAAK,QAAQ,IAAI,OAAO,CAAC,GAAG,CAAC,eAAe,CAAC,IAAI,EAAE;oBACrF,CAAC,CAAC,OAAO,CAAC,GAAG,CAAC,eAAe,CAAC,IAAI,EAAE;oBACpC,CAAC,CAAC,uBAAuB,CAAC;YAChC,MAAM,UAAU,GAAG,GAAG,CAAC,OAAO,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC;YAC1C,IAAI,UAAU,CAAC,QAAQ,CAAC,eAAe,CAAC,EAAE,CAAC;gBACzC,OAAO,UAAU,CAAC;YACpB,CAAC;YACD,IAAI,UAAU,CAAC,QAAQ,CAAC,KAAK,CAAC,EAAE,CAAC;gBAC/B,OAAO,GAAG,UAAU,YAAY,CAAC;YACnC,CAAC;YACD,OAAO,GAAG,UAAU,eAAe,CAAC;QACtC,CAAC,CAAC,EAAE,CAAC;QAEP,MAAM,MAAM,GACV,OAAO,IAAI,CAAC,GAAG,KAAK,QAAQ,IAAI,IAAI,CAAC,GAAG,CAAC,IAAI,EAAE;YAC7C,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,EAAE;YACjB,CAAC,CAAC,OAAO,OAAO,CAAC,GAAG,CAAC,kBAAkB,KAAK,QAAQ,IAAI,OAAO,CAAC,GAAG,CAAC,kBAAkB,CAAC,IAAI,EAAE;gBAC3F,CAAC,CAAC,OAAO,CAAC,GAAG,CAAC,kBAAkB,CAAC,IAAI,EAAE;gBACvC,CAAC,CAAC,OAAO,OAAO,CAAC,GAAG,CAAC,iBAAiB,KAAK,QAAQ,IAAI,OAAO,CAAC,GAAG,CAAC,iBAAiB,CAAC,IAAI,EAAE;oBACzF,CAAC,CAAC,OAAO,CAAC,GAAG,CAAC,iBAAiB,CAAC,IAAI,EAAE;oBACtC,CAAC,CAAC,iBAAiB,CAAC;QAE5B,MAAM,YAAY,GAAG,OAAO,IAAI,CAAC,OAAO,KAAK,QAAQ,IAAI,IAAI,CAAC,OAAO,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,QAAQ,CAAC;QAC9G,MAAM,UAAU,GAAG,oBAAoB,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;QACzD,IAAI,CAAC,UAAU,CAAC,MAAM,EAAE,CAAC;YACvB,OAAO,CAAC,KAAK,CAAC,8BAA8B,CAAC,CAAC;YAC9C,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QAClB,CAAC;QAED,MAAM,SAAS,GAAG,CAAC,GAAG,EAAE;YACtB,MAAM,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC;YAClD,OAAO,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC,IAAI,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC;QACjE,CAAC,CAAC,EAAE,CAAC;QAEL,MAAM,UAAU,GAAG,QAAQ,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;QAEzC,MAAM,IAAI,GAAG,mBAAmB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAC5C,MAAM,GAAG,GAAG,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,UAAU,CAAC,CAAC;QACxC,MAAM,MAAM,GAAG,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,gBAAgB,CAAC,CAAC;QAEhD,IAAI,CAAC,CAAC,MAAM,UAAU,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC;YAChC,OAAO,CAAC,KAAK,CAAC,yCAAyC,UAAU,WAAW,GAAG,EAAE,CAAC,CAAC;YACnF,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QAClB,CAAC;QAED,MAAM,GAAG,GAAG,MAAM,EAAE,CAAC,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;QAC9C,IAAI,MAAwB,CAAC;QAC7B,IAAI,CAAC;YACH,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAqB,CAAC;QAC/C,CAAC;QAAC,OAAO,CAAC,EAAE,CAAC;YACX,OAAO,CAAC,KAAK,CAAC,0CAA0C,EAAG,CAAW,EAAE,OAAO,IAAI,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC;YAC9F,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;YAChB,OAAO;QACT,CAAC;QAED,MAAM,YAAY,GAAG,CAAC,MAAM,CAAC,QAAQ,IAAI,EAAE,CAAkB,CAAC;QAC9D,MAAM,UAAU,GAAG,mBAAmB,CAAE,YAAqC,CAAC,MAAM,CAAC,CAAC;QACtF,MAAM,QAAQ,GAAG,MAAM,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,IAAI,EAAE,CAAC;QAChD,MAAM,gBAAgB,GAAG,UAAU,CAAC,MAAM;YACxC,CAAC,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,UAAU,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC;YAClD,CAAC,CAAC,QAAQ,CAAC;QAEb,IAAI,CAAC,gBAAgB,CAAC,MAAM,EAAE,CAAC;YAC7B,OAAO,CAAC,KAAK,CAAC,0BAA0B,CAAC,CAAC;YAC1C,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QAClB,CAAC;QAED,OAAO,CAAC,GAAG,CAAC,qBAAqB,UAAU,YAAY,gBAAgB,CAAC,MAAM,aAAa,IAAI,EAAE,CAAC,CAAC;QACnG,OAAO,CAAC,GAAG,CAAC,cAAc,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,YAAY,YAAY,cAAc,SAAS,EAAE,CAAC,CAAC;QAElG,MAAM,OAAO,GAIR,EAAE,CAAC;QAER,IAAI,OAAO,GAAG,CAAC,CAAC;QAChB,KAAK,MAAM,OAAO,IAAI,gBAAgB,EAAE,CAAC;YACvC,OAAO,CAAC,GAAG,CAAC,2BAA2B,OAAO,EAAE,CAAC,CAAC;YAClD,4CAA4C;YAC5C,MAAM,GAAG,GAAG,MAAM,oBAAoB,CAAC,OAAO,EAAE,UAAU,EAAE;gBAC1D,QAAQ,EAAE,IAAI;gBACd,MAAM;gBACN,SAAS;gBACT,YAAY;aACb,CAAC,CAAC;YACH,MAAM,GAAG,GAAG,GAAG,CAAC,eAAe,CAAC;YAChC,IAAI,OAAO,GAAG,KAAK,QAAQ,IAAI,MAAM,CAAC,QAAQ,CAAC,GAAG,CAAC,IAAI,GAAG,GAAG,CAAC,EAAE,CAAC;gBAC/D,MAAM,UAAU,GAAG,UAAU,CAAC,OAAO,CAAC,CAAC;gBACvC,MAAM,MAAM,GAAG,QAAQ,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,EAAE,GAAG,UAAU,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;gBAC7D,MAAM,IAAI,GAAG,OAAQ,MAAyC,CAAC,gBAAgB,KAAK,QAAQ;oBAC1F,CAAC,CAAE,MAAwC,CAAC,gBAAgB;oBAC5D,CAAC,CAAC,SAAS,CAAC;gBACb,MAAwC,CAAC,gBAAgB,GAAG,GAAG,CAAC;gBAChE,MAAkC,CAAC,UAAU,GAAG,GAAG,CAAC;gBACrD,UAAU,CAAC,OAAO,CAAC,GAAG,MAAuB,CAAC;gBAC9C,IAAI,IAAI,KAAK,GAAG,EAAE,CAAC;oBACjB,OAAO,IAAI,CAAC,CAAC;gBACf,CAAC;gBACD,OAAO,CAAC,GAAG,CAAC,uBAAuB,GAAG,GAAG,IAAI,KAAK,SAAS,CAAC,CAAC,CAAC,UAAU,IAAI,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;YAC1F,CAAC;iBAAM,CAAC;gBACN,MAAM,OAAO,GAAG,GAAG,CAAC,YAAY,CAAC;gBACjC,OAAO,CAAC,GAAG,CAAC,2BAA2B,OAAO,EAAE,SAAS,IAAI,SAAS,WAAW,OAAO,EAAE,MAAM,IAAI,SAAS,EAAE,CAAC,CAAC;YACnH,CAAC;YAED,OAAO,CAAC,IAAI,CAAC;gBACX,OAAO;gBACP,eAAe,EAAE,GAAG,CAAC,eAAe;gBACpC,GAAG,CAAC,GAAG,CAAC,YAAY,CAAC,CAAC,CAAC,EAAE,YAAY,EAAE,EAAE,SAAS,EAAE,GAAG,CAAC,YAAY,CAAC,SAAS,EAAE,MAAM,EAAE,GAAG,CAAC,YAAY,CAAC,MAAM,EAAE,OAAO,EAAE,GAAG,CAAC,YAAY,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;aAC7J,CAAC,CAAC;YAEH,IAAI,IAAI,CAAC,OAAO,IAAI,GAAG,CAAC,YAAY,EAAE,eAAe,EAAE,CAAC;gBACtD,OAAO,CAAC,GAAG,CAAC,oBAAoB,CAAC,CAAC;gBAClC,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,YAAY,CAAC,eAAe,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC;YACtE,CAAC;QACH,CAAC;QAED,YAAY,CAAC,MAAM,GAAG,UAAU,CAAC;QACjC,MAAM,CAAC,QAAQ,GAAG,YAAY,CAAC;QAE/B,IAAI,IAAI,CAAC,KAAK,EAAE,CAAC;YACf,MAAM,EAAE,CAAC,SAAS,CAAC,MAAM,EAAE,GAAG,IAAI,CAAC,SAAS,CAAC,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;YAC3E,OAAO,CAAC,GAAG,CAAC,eAAe,UAAU,cAAc,MAAM,oBAAoB,OAAO,GAAG,CAAC,CAAC;QAC3F,CAAC;aAAM,CAAC;YACN,OAAO,CAAC,GAAG,CAAC,yBAAyB,UAAU,uBAAuB,MAAM,oBAAoB,OAAO,GAAG,CAAC,CAAC;QAC9G,CAAC;QACD,OAAO,CAAC,GAAG,CAAC,kBAAkB,IAAI,CAAC,SAAS,CAAC,OAAO,EAAE,IAAI,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC;IACpE,CAAC,CAAC,CAAC;IAEL,gBAAgB;IAChB,MAAM,IAAI,GAAG,IAAI,OAAO,CAAC,MAAM,CAAC;SAC7B,WAAW,CAAC,uDAAuD,CAAC;SACpE,MAAM,CAAC,cAAc,EAAE,kCAAkC,CAAC;SAC1D,MAAM,CAAC,QAAQ,EAAE,iBAAiB,EAAE,KAAK,CAAC;SAC1C,MAAM,CAAC,KAAK,EAAE,IAAuC,EAAE,EAAE;QACxD,MAAM,IAAI,GAAG,mBAAmB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAC5C,MAAM,SAAS,CAAC,IAAI,CAAC,CAAC;QACtB,MAAM,OAAO,GAAG,MAAM,qBAAqB,CAAC,IAAI,CAAC,CAAC;QAClD,MAAM,OAAO,GAAG,MAAM,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;QACxC,IAAI,IAAI,CAAC,IAAI,EAAE,CAAC;YACd,MAAM,OAAO,GAAG,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,GAAG,CAAC,EAAE,EAAE,CAAC,CAAC;gBAC1C,UAAU,EAAE,EAAE;gBACd,OAAO,EAAE,GAAG,CAAC,OAAO;gBACpB,QAAQ,EAAE,GAAG,CAAC,QAAQ;aACvB,CAAC,CAAC,CAAC;YACJ,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,SAAS,CAAC,EAAE,IAAI,EAAE,SAAS,EAAE,OAAO,EAAE,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC;YACnE,OAAO;QACT,CAAC;QACD,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE,CAAC;YACpB,OAAO,CAAC,GAAG,CAAC,sCAAsC,IAAI,EAAE,CAAC,CAAC;YAC1D,OAAO;QACT,CAAC;QACD,OAAO,CAAC,GAAG,CAAC,6BAA6B,IAAI,GAAG,CAAC,CAAC;QAClD,KAAK,MAAM,CAAC,EAAE,EAAE,GAAG,CAAC,IAAI,OAAO,EAAE,CAAC;YAChC,MAAM,IAAI,GAAG,GAAG,CAAC,QAAyB,CAAC;YAC3C,MAAM,IAAI,GAAG,OAAO,IAAI,CAAC,IAAI,KAAK,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,GAAG,CAAC;YAC7D,MAAM,YAAY,GAAG,OAAQ,IAAmC,CAAC,YAAY,KAAK,QAAQ;gBACxF,CAAC,CAAC,MAAM,CAAE,IAAmC,CAAC,YAAY,CAAC;gBAC3D,CAAC,CAAC,GAAG,CAAC;YACR,MAAM,OAAO,GACX,OAAQ,IAA8B,CAAC,OAAO,KAAK,QAAQ;gBACzD,CAAC,CAAC,MAAM,CAAE,IAA8B,CAAC,OAAO,CAAC;gBACjD,CAAC,CAAC,OAAQ,IAA8B,CAAC,OAAO,KAAK,QAAQ;oBAC3D,CAAC,CAAC,MAAM,CAAE,IAA8B,CAAC,OAAO,CAAC;oBACjD,CAAC,CAAC,GAAG,CAAC;YACZ,MAAM,UAAU,GAAI,IAA6B,CAAC,MAAM,CAAC;YACzD,MAAM,UAAU,GACd,UAAU,IAAI,OAAO,UAAU,KAAK,QAAQ,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,UAAU,CAAC;gBACxE,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,UAAqC,CAAC,CAAC,MAAM;gBAC3D,CAAC,CAAC,CAAC,CAAC;YACR,OAAO,CAAC,GAAG,CAAC,KAAK,EAAE,UAAU,IAAI,kBAAkB,YAAY,aAAa,OAAO,YAAY,UAAU,EAAE,CAAC,CAAC;QAC/G,CAAC;IACH,CAAC,CAAC,CAAC;IAEL,eAAe;IACf,MAAM,GAAG,GAAG,IAAI,OAAO,CAAC,KAAK,CAAC;SAC3B,WAAW,CAAC,+CAA+C,CAAC;SAC5D,MAAM,CAAC,eAAe,EAAE,wFAAwF,CAAC;SACjH,MAAM,CAAC,cAAc,EAAE,kCAAkC,CAAC;SAC1D,MAAM,CAAC,KAAK,EAAE,IAAoC,EAAE,EAAE;QACrD,IAAI,UAAU,GAAG,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC;QACxC,IAAI,CAAC,UAAU,EAAE,CAAC;YAChB,UAAU,GAAG,MAAM,GAAG,CAAC,wFAAwF,EAAE,KAAK,CAAC,CAAC;QAC1H,CAAC;QACD,IAAI,CAAC,UAAU,CAAC,IAAI,EAAE,EAAE,CAAC;YACvB,OAAO,CAAC,KAAK,CAAC,yBAAyB,CAAC,CAAC;YACzC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QAClB,CAAC;QACD,MAAM,IAAI,GAAG,mBAAmB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAC5C,MAAM,SAAS,CAAC,IAAI,CAAC,CAAC;QACtB,MAAM,GAAG,GAAG,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,UAAU,CAAC,CAAC;QACxC,MAAM,SAAS,CAAC,GAAG,CAAC,CAAC;QACrB,MAAM,MAAM,GAAG,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,gBAAgB,CAAC,CAAC;QAChD,IAAI,MAAM,UAAU,CAAC,MAAM,CAAC,EAAE,CAAC;YAC7B,MAAM,eAAe,GAAG,MAAM,QAAQ,CAAC,sCAAsC,UAAU,eAAe,EAAE,KAAK,CAAC,CAAC;YAC/G,IAAI,CAAC,eAAe,EAAE,CAAC;gBACrB,OAAO,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;gBACvB,OAAO;YACT,CAAC;QACH,CAAC;QAED,OAAO,CAAC,GAAG,CAAC,+BAA+B,CAAC,CAAC;QAC7C,KAAK,MAAM,GAAG,IAAI,kBAAkB,EAAE,CAAC;YACrC,OAAO,CAAC,GAAG,CAAC,KAAK,GAAG,CAAC,EAAE,KAAK,GAAG,CAAC,KAAK,EAAE,CAAC,CAAC;QAC3C,CAAC;QACD,MAAM,aAAa,GAAG,MAAM,GAAG,CAAC,aAAa,EAAE,KAAK,CAAC,CAAC;QACtD,MAAM,GAAG,GAAG,YAAY,CAAC,aAAa,CAAC,CAAC;QAExC,MAAM,cAAc,GAAG,GAAG,CAAC,cAAc,IAAI,EAAE,CAAC;QAChD,MAAM,OAAO,GAAG,MAAM,GAAG,CAAC,UAAU,EAAE,cAAc,CAAC,CAAC;QACtD,IAAI,CAAC,OAAO,CAAC,IAAI,EAAE,EAAE,CAAC;YACpB,OAAO,CAAC,KAAK,CAAC,sBAAsB,CAAC,CAAC;YACtC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QAClB,CAAC;QAED,MAAM,eAAe,GAAG,GAAG,CAAC,eAAe,IAAI,QAAQ,CAAC;QACxD,MAAM,QAAQ,GAAG,MAAM,GAAG,CAAC,2EAA2E,EAAE,eAAe,CAAC,CAAC;QAEzH,IAAI,iBAAiB,GAAG,EAAE,CAAC;QAC3B,IAAI,SAAS,GAAG,EAAE,CAAC;QACnB,IAAI,QAAQ,CAAC,WAAW,EAAE,CAAC,QAAQ,CAAC,QAAQ,CAAC,EAAE,CAAC;YAC9C,iBAAiB,GAAG,MAAM,GAAG,CAAC,sDAAsD,EAAE,mBAAmB,CAAC,CAAC;QAC7G,CAAC;aAAM,IAAI,QAAQ,CAAC,WAAW,EAAE,CAAC,QAAQ,CAAC,OAAO,CAAC,EAAE,CAAC;YACpD,SAAS,GAAG,MAAM,GAAG,CAAC,uDAAuD,EAAE,EAAE,CAAC,CAAC;QACrF,CAAC;QAED,MAAM,YAAY,GAAG,GAAG,CAAC,YAAY,IAAI,EAAE,CAAC;QAC5C,MAAM,cAAc,GAAG,MAAM,GAAG,CAAC,iCAAiC,EAAE,YAAY,CAAC,CAAC;QAClF,IAAI,CAAC,cAAc,CAAC,IAAI,EAAE,EAAE,CAAC;YAC3B,OAAO,CAAC,KAAK,CAAC,8BAA8B,CAAC,CAAC;YAC9C,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QAClB,CAAC;QAED,MAAM,QAAQ,GAAG,yBAAyB,CACxC,UAAU,EACV,GAAG,EACH,OAAO,EACP,QAAQ,EACR,iBAAiB,EACjB,SAAS,EACT,cAAc,CACf,CAAC;QAEF,MAAM,OAAO,GAAqB;YAChC,OAAO,EAAE,OAAO;YAChB,UAAU;YACV,QAAQ;SACT,CAAC;QAEF,OAAO,CAAC,GAAG,CAAC,qCAAqC,CAAC,CAAC;QACnD,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,SAAS,CAAC,OAAO,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC;QAC9C,MAAM,OAAO,GAAG,MAAM,QAAQ,CAAC,6BAA6B,EAAE,IAAI,CAAC,CAAC;QACpE,IAAI,CAAC,OAAO,EAAE,CAAC;YACb,OAAO,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;YACvB,OAAO;QACT,CAAC;QAED,MAAM,EAAE,CAAC,SAAS,CAAC,MAAM,EAAE,GAAG,IAAI,CAAC,SAAS,CAAC,OAAO,EAAE,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;QAC5E,OAAO,CAAC,GAAG,CAAC,aAAa,UAAU,gBAAgB,MAAM,EAAE,CAAC,CAAC;IAC/D,CAAC,CAAC,CAAC;IAEL,kBAAkB;IAClB,MAAM,MAAM,GAAG,IAAI,OAAO,CAAC,QAAQ,CAAC;SACjC,WAAW,CAAC,qDAAqD,CAAC;SAClE,QAAQ,CAAC,MAAM,EAAE,uBAAuB,CAAC;SACzC,MAAM,CAAC,cAAc,EAAE,kCAAkC,CAAC;SAC1D,MAAM,CAAC,KAAK,EAAE,EAAU,EAAE,IAAuB,EAAE,EAAE;QACpD,MAAM,UAAU,GAAG,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC;QACrC,IAAI,CAAC,UAAU,EAAE,CAAC;YAChB,OAAO,CAAC,KAAK,CAAC,yBAAyB,CAAC,CAAC;YACzC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QAClB,CAAC;QACD,MAAM,IAAI,GAAG,mBAAmB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAC5C,MAAM,GAAG,GAAG,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,UAAU,CAAC,CAAC;QACxC,MAAM,MAAM,GAAG,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,gBAAgB,CAAC,CAAC;QAChD,IAAI,CAAC,CAAC,MAAM,UAAU,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC;YAChC,OAAO,CAAC,KAAK,CAAC,yCAAyC,UAAU,WAAW,GAAG,EAAE,CAAC,CAAC;YACnF,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QAClB,CAAC;QACD,MAAM,GAAG,GAAG,MAAM,EAAE,CAAC,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;QAC9C,IAAI,MAAwB,CAAC;QAC7B,IAAI,CAAC;YACH,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAqB,CAAC;QAC/C,CAAC;QAAC,OAAO,CAAC,EAAE,CAAC;YACX,OAAO,CAAC,KAAK,CAAC,0CAA0C,EAAG,CAAW,EAAE,OAAO,IAAI,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC;YAC9F,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;YAChB,OAAO;QACT,CAAC;QAED,MAAM,IAAI,GAAG,CAAC,MAAM,CAAC,QAAQ,IAAI,EAAE,CAAkB,CAAC;QACtD,MAAM,cAAc,GAClB,OAAQ,IAA8B,CAAC,OAAO,KAAK,QAAQ;YACzD,CAAC,CAAC,MAAM,CAAE,IAA8B,CAAC,OAAO,CAAC;YACjD,CAAC,CAAC,OAAQ,IAA8B,CAAC,OAAO,KAAK,QAAQ;gBAC3D,CAAC,CAAC,MAAM,CAAE,IAA8B,CAAC,OAAO,CAAC;gBACjD,CAAC,CAAC,EAAE,CAAC;QACX,MAAM,OAAO,GAAG,MAAM,GAAG,CAAC,UAAU,EAAE,cAAc,CAAC,CAAC;QACtD,IAAI,OAAO,CAAC,IAAI,EAAE,EAAE,CAAC;YAClB,IAA6B,CAAC,OAAO,GAAG,OAAO,CAAC,IAAI,EAAE,CAAC;QAC1D,CAAC;QAED,MAAM,QAAQ,GAAG,CAAE,IAA2B,CAAC,IAAI,IAAI,EAAE,CAAkB,CAAC;QAC5E,MAAM,eAAe,GACnB,OAAO,QAAQ,CAAC,IAAI,KAAK,QAAQ;YAC/B,CAAC,CAAC,QAAQ,CAAC,IAAI;YACf,CAAC,CAAC,QAAQ,CAAC;QACf,MAAM,QAAQ,GAAG,MAAM,GAAG,CAAC,2EAA2E,EAAE,eAAe,CAAC,CAAC;QACzH,QAAQ,CAAC,IAAI,GAAG,QAAQ,CAAC;QAEzB,IAAI,iBAAiB,GAAG,OAAQ,QAAiC,CAAC,MAAM,KAAK,QAAQ;YACnF,CAAC,CAAC,MAAM,CAAE,QAAiC,CAAC,MAAM,CAAC;YACnD,CAAC,CAAC,mBAAmB,CAAC;QACxB,IAAI,SAAS,GAAG,OAAQ,QAAoC,CAAC,SAAS,KAAK,QAAQ;YACjF,CAAC,CAAC,MAAM,CAAE,QAAoC,CAAC,SAAS,CAAC;YACzD,CAAC,CAAC,EAAE,CAAC;QAEP,IAAI,QAAQ,CAAC,WAAW,EAAE,CAAC,QAAQ,CAAC,QAAQ,CAAC,EAAE,CAAC;YAC9C,iBAAiB,GAAG,MAAM,GAAG,CAAC,sDAAsD,EAAE,iBAAiB,CAAC,CAAC;YACxG,QAAgC,CAAC,MAAM,GAAG,iBAAiB,CAAC;YAC7D,OAAQ,QAAoC,CAAC,SAAS,CAAC;QACzD,CAAC;aAAM,IAAI,QAAQ,CAAC,WAAW,EAAE,CAAC,QAAQ,CAAC,OAAO,CAAC,EAAE,CAAC;YACpD,SAAS,GAAG,MAAM,GAAG,CAAC,uDAAuD,EAAE,SAAS,CAAC,CAAC;YAC1F,IAAI,SAAS,CAAC,IAAI,EAAE,EAAE,CAAC;gBACpB,QAAmC,CAAC,SAAS,GAAG,SAAS,CAAC,IAAI,EAAE,CAAC;YACpE,CAAC;iBAAM,CAAC;gBACN,OAAQ,QAAoC,CAAC,SAAS,CAAC;YACzD,CAAC;YACD,OAAQ,QAAiC,CAAC,MAAM,CAAC;QACnD,CAAC;QACA,IAAiC,CAAC,IAAI,GAAG,QAAQ,CAAC;QAEnD,MAAM,UAAU,GAAG,CAAE,IAA6B,CAAC,MAAM,IAAI,EAAE,CAAkC,CAAC;QAClG,MAAM,gBAAgB,GAAG,MAAM,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;QACjD,MAAM,cAAc,GAAG,gBAAgB,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;QACjD,MAAM,cAAc,GAAG,MAAM,GAAG,CAAC,kBAAkB,EAAE,cAAc,CAAC,CAAC;QACrE,IAAI,cAAc,CAAC,IAAI,EAAE,EAAE,CAAC;YAC1B,IAAI,CAAC,UAAU,CAAC,cAAc,CAAC,IAAI,EAAE,CAAC,EAAE,CAAC;gBACvC,UAAU,CAAC,cAAc,CAAC,IAAI,EAAE,CAAC,GAAG,EAAE,iBAAiB,EAAE,IAAI,EAAE,CAAC;YAClE,CAAC;QACH,CAAC;QACA,IAAmD,CAAC,MAAM,GAAG,UAAU,CAAC;QAEzE,MAAM,CAAC,QAAQ,GAAG,IAAI,CAAC;QAEvB,OAAO,CAAC,GAAG,CAAC,qCAAqC,CAAC,CAAC;QACnD,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,SAAS,CAAC,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC;QAC7C,MAAM,OAAO,GAAG,MAAM,QAAQ,CAAC,uCAAuC,EAAE,IAAI,CAAC,CAAC;QAC9E,IAAI,CAAC,OAAO,EAAE,CAAC;YACb,OAAO,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;YACvB,OAAO;QACT,CAAC;QAED,MAAM,EAAE,CAAC,SAAS,CAAC,MAAM,EAAE,GAAG,IAAI,CAAC,SAAS,CAAC,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;QAC3E,OAAO,CAAC,GAAG,CAAC,aAAa,UAAU,gBAAgB,MAAM,EAAE,CAAC,CAAC;IAC/D,CAAC,CAAC,CAAC;IAEL,kBAAkB;IAClB,MAAM,GAAG,GAAG,IAAI,OAAO,CAAC,QAAQ,CAAC;SAC9B,WAAW,CAAC,4DAA4D,CAAC;SACzE,QAAQ,CAAC,MAAM,EAAE,uBAAuB,CAAC;SACzC,MAAM,CAAC,cAAc,EAAE,kCAAkC,CAAC;SAC1D,MAAM,CAAC,SAAS,EAAE,4DAA4D,EAAE,KAAK,CAAC;SACtF,MAAM,CAAC,KAAK,EAAE,EAAU,EAAE,IAAwC,EAAE,EAAE;QACrE,MAAM,UAAU,GAAG,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC;QACrC,IAAI,CAAC,UAAU,EAAE,CAAC;YAChB,OAAO,CAAC,KAAK,CAAC,yBAAyB,CAAC,CAAC;YACzC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QAClB,CAAC;QACD,MAAM,IAAI,GAAG,mBAAmB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAC5C,MAAM,GAAG,GAAG,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,UAAU,CAAC,CAAC;QACxC,MAAM,MAAM,GAAG,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,gBAAgB,CAAC,CAAC;QAChD,MAAM,iBAAiB,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,aAAa,GAAG,EAAE,CAAC,CAAC,CAAC,QAAQ,MAAM,EAAE,CAAC;QAC7E,MAAM,SAAS,GAAG,MAAM,QAAQ,CAAC,6CAA6C,UAAU,MAAM,iBAAiB,IAAI,EAAE,KAAK,CAAC,CAAC;QAC5H,IAAI,CAAC,SAAS,EAAE,CAAC;YACf,OAAO,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;YACvB,OAAO;QACT,CAAC;QACD,IAAI,CAAC;YACH,IAAI,IAAI,CAAC,KAAK,EAAE,CAAC;gBACf,MAAM,EAAE,CAAC,EAAE,CAAC,GAAG,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC;YACrD,CAAC;iBAAM,CAAC;gBACN,MAAM,EAAE,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;YAC1B,CAAC;YACD,OAAO,CAAC,GAAG,CAAC,aAAa,UAAU,cAAc,iBAAiB,GAAG,CAAC,CAAC;QACzE,CAAC;QAAC,OAAO,CAAC,EAAE,CAAC;YACX,OAAO,CAAC,KAAK,CAAC,4BAA4B,EAAG,CAAW,EAAE,OAAO,IAAI,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC;YAChF,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QAClB,CAAC;IACH,CAAC,CAAC,CAAC;IAEL,GAAG,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC;IACvB,GAAG,CAAC,UAAU,CAAC,UAAU,CAAC,CAAC;IAC3B,GAAG,CAAC,UAAU,CAAC,YAAY,CAAC,CAAC;IAC7B,GAAG,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC;IACrB,GAAG,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC;IACpB,GAAG,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC;IACvB,GAAG,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC;IAEpB,OAAO,GAAG,CAAC;AACb,CAAC"}