log10x-mcp 1.6.7 → 1.8.1
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/build/index.js +118 -14
- package/build/index.js.map +1 -1
- package/build/lib/auth-api.d.ts +15 -10
- package/build/lib/auth-api.js +13 -9
- package/build/lib/auth-api.js.map +1 -1
- package/build/lib/auth0-device-flow.d.ts +92 -0
- package/build/lib/auth0-device-flow.js +143 -0
- package/build/lib/auth0-device-flow.js.map +1 -0
- package/build/lib/credentials.d.ts +0 -2
- package/build/lib/credentials.js +2 -2
- package/build/lib/credentials.js.map +1 -1
- package/build/lib/customer-metrics.d.ts +12 -0
- package/build/lib/customer-metrics.js +42 -0
- package/build/lib/customer-metrics.js.map +1 -1
- package/build/lib/environments.d.ts +58 -11
- package/build/lib/environments.js +82 -22
- package/build/lib/environments.js.map +1 -1
- package/build/lib/poc-report-renderer.js +54 -5
- package/build/lib/poc-report-renderer.js.map +1 -1
- package/build/lib/retriever-api.d.ts +49 -0
- package/build/lib/retriever-api.js +86 -0
- package/build/lib/retriever-api.js.map +1 -1
- package/build/lib/siem/deps/cloudwatch.js +6 -6
- package/build/lib/siem/deps/cloudwatch.js.map +1 -1
- package/build/lib/siem/deps/datadog.js +5 -5
- package/build/lib/siem/deps/datadog.js.map +1 -1
- package/build/lib/siem/deps/elasticsearch.js +5 -5
- package/build/lib/siem/deps/elasticsearch.js.map +1 -1
- package/build/lib/siem/deps/splunk.js +5 -5
- package/build/lib/siem/deps/splunk.js.map +1 -1
- package/build/lib/siem/deps/types.d.ts +38 -1
- package/build/lib/siem/deps/types.js +52 -1
- package/build/lib/siem/deps/types.js.map +1 -1
- package/build/lib/tool-errors.js +1 -1
- package/build/lib/tool-errors.js.map +1 -1
- package/build/tools/backfill-metric.js +7 -3
- package/build/tools/backfill-metric.js.map +1 -1
- package/build/tools/correlate-cross-pillar.js +32 -3
- package/build/tools/correlate-cross-pillar.js.map +1 -1
- package/build/tools/cost-drivers.js +15 -0
- package/build/tools/cost-drivers.js.map +1 -1
- package/build/tools/dependency-check.js +34 -5
- package/build/tools/dependency-check.js.map +1 -1
- package/build/tools/discover-join.js +6 -2
- package/build/tools/discover-join.js.map +1 -1
- package/build/tools/doctor.js +4 -4
- package/build/tools/doctor.js.map +1 -1
- package/build/tools/event-lookup.js +31 -5
- package/build/tools/event-lookup.js.map +1 -1
- package/build/tools/exclusion-filter.js +21 -1
- package/build/tools/exclusion-filter.js.map +1 -1
- package/build/tools/investigate.js +38 -5
- package/build/tools/investigate.js.map +1 -1
- package/build/tools/login-status.d.ts +1 -1
- package/build/tools/login-status.js +20 -4
- package/build/tools/login-status.js.map +1 -1
- package/build/tools/pattern-examples.d.ts +70 -0
- package/build/tools/pattern-examples.js +452 -0
- package/build/tools/pattern-examples.js.map +1 -0
- package/build/tools/resolve-batch.js +58 -2
- package/build/tools/resolve-batch.js.map +1 -1
- package/build/tools/retriever-query-status.d.ts +13 -8
- package/build/tools/retriever-query-status.js +78 -11
- package/build/tools/retriever-query-status.js.map +1 -1
- package/build/tools/retriever-query.d.ts +2 -0
- package/build/tools/retriever-query.js +74 -24
- package/build/tools/retriever-query.js.map +1 -1
- package/build/tools/retriever-series.d.ts +2 -0
- package/build/tools/retriever-series.js +49 -4
- package/build/tools/retriever-series.js.map +1 -1
- package/build/tools/rotate-api-key.js +16 -11
- package/build/tools/rotate-api-key.js.map +1 -1
- package/build/tools/signin.d.ts +41 -36
- package/build/tools/signin.js +203 -230
- package/build/tools/signin.js.map +1 -1
- package/build/tools/signout.d.ts +1 -1
- package/build/tools/signout.js +6 -8
- package/build/tools/signout.js.map +1 -1
- package/build/tools/trend.js +25 -2
- package/build/tools/trend.js.map +1 -1
- package/default-manifest.json +15 -5
- package/package.json +1 -1
- package/build/lib/gh-cli.d.ts +0 -6
- package/build/lib/gh-cli.js +0 -58
- package/build/lib/gh-cli.js.map +0 -1
- package/build/lib/github-device-flow.d.ts +0 -73
- package/build/lib/github-device-flow.js +0 -138
- package/build/lib/github-device-flow.js.map +0 -1
package/build/index.js
CHANGED
|
@@ -9,7 +9,7 @@ import { McpServer } from '@modelcontextprotocol/sdk/server/mcp.js';
|
|
|
9
9
|
import { StdioServerTransport } from '@modelcontextprotocol/sdk/server/stdio.js';
|
|
10
10
|
import { recordStart, withTelemetry, setEnvsProvider } from './lib/self-telemetry.js';
|
|
11
11
|
import { loadManifest, applyManifestToTools, readClientVersion, getPackageDefaultTool, } from './lib/manifest.js';
|
|
12
|
-
import { loadEnvironments, resolveEnv, EnvironmentValidationError } from './lib/environments.js';
|
|
12
|
+
import { loadEnvironments, resolveEnv, revalidateEnvironments, EnvironmentValidationError } from './lib/environments.js';
|
|
13
13
|
import { fetchAnalyzerCost } from './lib/api.js';
|
|
14
14
|
import { costDriversSchema, executeCostDrivers } from './tools/cost-drivers.js';
|
|
15
15
|
import { eventLookupSchema, executeEventLookup } from './tools/event-lookup.js';
|
|
@@ -17,6 +17,7 @@ import { savingsSchema, executeSavings } from './tools/savings.js';
|
|
|
17
17
|
import { trendSchema, executeTrend } from './tools/trend.js';
|
|
18
18
|
import { servicesSchema, executeServices } from './tools/services.js';
|
|
19
19
|
import { exclusionFilterSchema, executeExclusionFilter } from './tools/exclusion-filter.js';
|
|
20
|
+
import { patternExamplesSchema, executePatternExamples } from './tools/pattern-examples.js';
|
|
20
21
|
import { dependencyCheckSchema, executeDependencyCheck } from './tools/dependency-check.js';
|
|
21
22
|
import { discoverLabelsSchema, executeDiscoverLabels } from './tools/discover-labels.js';
|
|
22
23
|
import { topPatternsSchema, executeTopPatterns } from './tools/top-patterns.js';
|
|
@@ -44,7 +45,7 @@ import { adviseRetrieverSchema, executeAdviseRetriever } from './tools/advise-re
|
|
|
44
45
|
import { adviseInstallSchema, executeAdviseInstall } from './tools/advise-install.js';
|
|
45
46
|
import { adviseCompactSchema, executeAdviseCompact } from './tools/advise-compact.js';
|
|
46
47
|
import { loginStatusSchema, executeLoginStatus } from './tools/login-status.js';
|
|
47
|
-
import {
|
|
48
|
+
import { signinStartSchema, signinCompleteSchema, executeSigninStart, executeSigninComplete, } from './tools/signin.js';
|
|
48
49
|
import { signoutSchema, executeSignout } from './tools/signout.js';
|
|
49
50
|
import { updateSettingsSchema, executeUpdateSettings } from './tools/update-settings.js';
|
|
50
51
|
import { createEnvSchema, executeCreateEnv } from './tools/create-env.js';
|
|
@@ -84,14 +85,14 @@ const COST_REFRESH_MS = 3_600_000; // 1 hour
|
|
|
84
85
|
* the raw error message is logged at debug level before `describeToolError`
|
|
85
86
|
* rewrites it, so ops can see the original text when hunting root causes.
|
|
86
87
|
*/
|
|
87
|
-
function wrap(toolName, fn) {
|
|
88
|
+
async function wrap(toolName, fn) {
|
|
88
89
|
const started = Date.now();
|
|
89
|
-
|
|
90
|
-
|
|
90
|
+
try {
|
|
91
|
+
const text = await runWithDemoFallbackRetry(toolName, fn);
|
|
91
92
|
log.info(`tool.${toolName}.ok`, { ms: Date.now() - started });
|
|
92
93
|
return { content: [{ type: 'text', text: applyDemoBanner(text) }] };
|
|
93
|
-
}
|
|
94
|
-
|
|
94
|
+
}
|
|
95
|
+
catch (e) {
|
|
95
96
|
const raw = e instanceof Error ? e.message : String(e);
|
|
96
97
|
log.debug(`tool.${toolName}.raw_err`, { msg: raw });
|
|
97
98
|
log.warn(`tool.${toolName}.err`, { ms: Date.now() - started, msg: raw });
|
|
@@ -99,7 +100,63 @@ function wrap(toolName, fn) {
|
|
|
99
100
|
content: [{ type: 'text', text: applyDemoBanner(describeToolError(toolName, e)) }],
|
|
100
101
|
isError: true,
|
|
101
102
|
};
|
|
102
|
-
}
|
|
103
|
+
}
|
|
104
|
+
}
|
|
105
|
+
/**
|
|
106
|
+
* Run the tool's inner function. If it throws an auth error (401/403)
|
|
107
|
+
* AND the MCP is currently in demo-fallback mode, revalidate
|
|
108
|
+
* credentials once and retry the tool.
|
|
109
|
+
*
|
|
110
|
+
* Why: every account-scoped EnvConfig bakes the apiKey at boot
|
|
111
|
+
* (`environments.ts:loadFromApi`). If the user's key was invalid at
|
|
112
|
+
* boot (typo, transient backend issue, rotated key whose authorizer
|
|
113
|
+
* cache had not yet cleared), the MCP falls back to the public demo
|
|
114
|
+
* key and every account-scoped tool keeps using that demo key for the
|
|
115
|
+
* lifetime of the process, even after the real key starts working.
|
|
116
|
+
* Restarting the MCP host was the only recovery path until now.
|
|
117
|
+
*
|
|
118
|
+
* This wrapper makes recovery automatic: any account-scoped tool that
|
|
119
|
+
* gets 401/403 while in demo-fallback triggers a single revalidation
|
|
120
|
+
* + retry, transparently un-sticking the user. Pure demo mode (no key
|
|
121
|
+
* configured at all) does NOT trigger this; only the fallback case
|
|
122
|
+
* where the user intended to use a real account.
|
|
123
|
+
*
|
|
124
|
+
* Tools that don't hit the gateway (resolve_batch, extract_templates)
|
|
125
|
+
* never produce 401/403 errors so this is a no-op for them.
|
|
126
|
+
*/
|
|
127
|
+
async function runWithDemoFallbackRetry(toolName, fn) {
|
|
128
|
+
try {
|
|
129
|
+
return await fn();
|
|
130
|
+
}
|
|
131
|
+
catch (e) {
|
|
132
|
+
if (!isAuthRecoverableError(e))
|
|
133
|
+
throw e;
|
|
134
|
+
if (!envs || !envs.isDemoMode || !envs.demoFallbackReason)
|
|
135
|
+
throw e;
|
|
136
|
+
log.info(`tool.${toolName}.auth_retry.attempt`, {
|
|
137
|
+
reason: envs.demoFallbackReason.slice(0, 200),
|
|
138
|
+
});
|
|
139
|
+
try {
|
|
140
|
+
await revalidateEnvironments(envs);
|
|
141
|
+
}
|
|
142
|
+
catch (reloadErr) {
|
|
143
|
+
log.warn(`tool.${toolName}.auth_retry.reload_failed`, {
|
|
144
|
+
msg: reloadErr.message,
|
|
145
|
+
});
|
|
146
|
+
throw e;
|
|
147
|
+
}
|
|
148
|
+
if (envs.isDemoMode) {
|
|
149
|
+
// Reload still ended in demo. Original error stands.
|
|
150
|
+
log.info(`tool.${toolName}.auth_retry.still_demo`);
|
|
151
|
+
throw e;
|
|
152
|
+
}
|
|
153
|
+
log.info(`tool.${toolName}.auth_retry.recovered`);
|
|
154
|
+
return await fn();
|
|
155
|
+
}
|
|
156
|
+
}
|
|
157
|
+
function isAuthRecoverableError(e) {
|
|
158
|
+
const msg = e instanceof Error ? e.message : String(e);
|
|
159
|
+
return /HTTP 401|HTTP 403|forbidden|unauthorized/i.test(msg);
|
|
103
160
|
}
|
|
104
161
|
/**
|
|
105
162
|
* Prepend a banner to the tool result when the MCP is in
|
|
@@ -143,6 +200,15 @@ async function getAnalyzerCost(env, override) {
|
|
|
143
200
|
}
|
|
144
201
|
// ── Server ──
|
|
145
202
|
const server = new McpServer({ name: 'log10x', version: readClientVersion() }, {
|
|
203
|
+
// Declare the `logging` capability so calls to extra.sendNotification
|
|
204
|
+
// ('notifications/message', ...) inside tool handlers don't throw
|
|
205
|
+
// synchronously from the SDK's assertNotificationCapability guard.
|
|
206
|
+
// We don't currently rely on mid-tool push for the sign-in flow
|
|
207
|
+
// (the two-tool log10x_signin_start / log10x_signin_complete split
|
|
208
|
+
// sidesteps Cursor's lack of mid-tool rendering), but declaring the
|
|
209
|
+
// capability is correct hygiene and unblocks any other tool that
|
|
210
|
+
// wants to use the channel on hosts that do support it.
|
|
211
|
+
capabilities: { logging: {} },
|
|
146
212
|
instructions: `Log10x is the observability memory for the user's logs. Every log line the pipeline
|
|
147
213
|
has ever seen is fingerprinted into a stable pattern identity (field-set) that stays constant across
|
|
148
214
|
deploys, restarts, pod names, timestamps, and request IDs. That identity is the key to a Prometheus
|
|
@@ -210,7 +276,12 @@ Root-cause across services (the investigate wedge):
|
|
|
210
276
|
|
|
211
277
|
Account / setup / discovery:
|
|
212
278
|
- "am I logged in" / "login status" / "what envs do I have" → log10x_login_status
|
|
213
|
-
- "log me in" / "sign me up" / "create a Log10x account" →
|
|
279
|
+
- "log me in" / "sign me up" / "create a Log10x account" → log10x_signin_start, then log10x_signin_complete
|
|
280
|
+
(Two-tool chain: log10x_signin_start opens the browser and returns the device_code + user_code,
|
|
281
|
+
the model surfaces the code so the user can verify it matches the Auth0 page, then the model
|
|
282
|
+
automatically calls log10x_signin_complete with that device_code to finish the flow. The user
|
|
283
|
+
does NOT need to ask for the second step explicitly. For pasted-key sign-in instead of browser,
|
|
284
|
+
skip log10x_signin_start and call log10x_signin_complete directly with { api_key: "<key>" }.)
|
|
214
285
|
- "sign out" / "log out" / "remove my credentials" → log10x_signout
|
|
215
286
|
- "rotate my API key" / "I think my key was leaked" → log10x_rotate_api_key
|
|
216
287
|
- "health check" / "is the MCP set up right" / "diagnose" → log10x_doctor
|
|
@@ -325,6 +396,17 @@ registerLog10xTool('log10x_event_lookup', eventLookupSchema, (args) => wrap('log
|
|
|
325
396
|
const cost = await getAnalyzerCost(env, args.analyzerCost);
|
|
326
397
|
return executeEventLookup({ ...args, analyzerCost: cost }, env);
|
|
327
398
|
}));
|
|
399
|
+
// ── Tool: log10x_pattern_examples ──
|
|
400
|
+
//
|
|
401
|
+
// Orchestration primitive for fetching live SIEM events for one pattern
|
|
402
|
+
// with template-extracted slot values. Designed for `log10x_investigate`
|
|
403
|
+
// (or another orchestrator) to call autonomously when the chain needs
|
|
404
|
+
// event evidence. See memory/project_pattern_examples_design.md for the
|
|
405
|
+
// full design contract — read before changing this tool's shape.
|
|
406
|
+
registerLog10xTool('log10x_pattern_examples', patternExamplesSchema, (args) => wrap('log10x_pattern_examples', async () => {
|
|
407
|
+
const env = resolveEnv(getEnvs(), args.environment);
|
|
408
|
+
return executePatternExamples(args, env);
|
|
409
|
+
}));
|
|
328
410
|
// ── Tool: log10x_savings ──
|
|
329
411
|
registerLog10xTool('log10x_savings', savingsSchema, (args) => wrap('log10x_savings', async () => {
|
|
330
412
|
const env = resolveEnv(getEnvs(), args.environment);
|
|
@@ -405,8 +487,28 @@ registerLog10xTool('log10x_backfill_metric', backfillMetricSchema, (args) => wra
|
|
|
405
487
|
registerLog10xTool('log10x_doctor', doctorSchema, (args) => wrap('log10x_doctor', async () => executeDoctor(args)));
|
|
406
488
|
// ── Tool: log10x_login_status ──
|
|
407
489
|
registerLog10xTool('log10x_login_status', loginStatusSchema, () => wrap('log10x_login_status', async () => executeLoginStatus({}, getEnvs())));
|
|
408
|
-
// ── Tool:
|
|
409
|
-
|
|
490
|
+
// ── Tool: log10x_signin_start ──
|
|
491
|
+
//
|
|
492
|
+
// Step 1 of the sign-in chain: requests an Auth0 device code, opens the
|
|
493
|
+
// user's browser, and returns the user_code + device_code immediately.
|
|
494
|
+
// Returns synchronously (no polling) because Cursor and most other MCP
|
|
495
|
+
// hosts do NOT render mid-tool `notifications/message` push, so the
|
|
496
|
+
// only reliable way to surface the user_code to a human is to put it
|
|
497
|
+
// in the tool's response markdown. The model then calls
|
|
498
|
+
// `log10x_signin_complete` with the device_code to finish the flow.
|
|
499
|
+
registerLog10xTool('log10x_signin_start', signinStartSchema, () => wrap('log10x_signin_start', async () => executeSigninStart()));
|
|
500
|
+
// ── Tool: log10x_signin_complete ──
|
|
501
|
+
//
|
|
502
|
+
// Step 2 of the sign-in chain. Two paths via mutually-exclusive args:
|
|
503
|
+
// - { device_code }: finishes a browser flow started by `_start`.
|
|
504
|
+
// Polls Auth0 until the user confirms in the browser, then
|
|
505
|
+
// exchanges the access token for a Log10x API key.
|
|
506
|
+
// - { api_key }: pasted-key path. Validates the key against
|
|
507
|
+
// /api/v1/user and persists. No browser, no IdP.
|
|
508
|
+
// Either path writes the resolved API key to ~/.log10x/credentials,
|
|
509
|
+
// hot-reloads envs in-process, and clears any overriding
|
|
510
|
+
// LOG10X_API_KEY env var so the new key wins the priority chain.
|
|
511
|
+
registerLog10xTool('log10x_signin_complete', signinCompleteSchema, (args) => wrap('log10x_signin_complete', async () => executeSigninComplete(args, getEnvs())));
|
|
410
512
|
// ── Tool: log10x_signout ──
|
|
411
513
|
registerLog10xTool('log10x_signout', signoutSchema, () => wrap('log10x_signout', async () => executeSignout({}, getEnvs())));
|
|
412
514
|
// ── Tool: log10x_update_settings ──
|
|
@@ -510,6 +612,7 @@ server.resource('pipeline-status', 'log10x://status', { description: 'Current pi
|
|
|
510
612
|
const REGISTERED_TOOLS = [
|
|
511
613
|
{ name: 'log10x_cost_drivers', intent: 'Why did log costs spike this week — dollar-ranked patterns with week-over-week deltas' },
|
|
512
614
|
{ name: 'log10x_event_lookup', intent: 'What is this single log line — resolve to stable identity + cost + AI classification' },
|
|
615
|
+
{ name: 'log10x_pattern_examples', intent: 'Recent live events for a pattern from the log analyzer with template-parsed slot values — bounded to 24h, for older use retriever_query' },
|
|
513
616
|
{ name: 'log10x_savings', intent: 'Pipeline ROI — how much receiver / optimizer / retriever are saving in dollars' },
|
|
514
617
|
{ name: 'log10x_pattern_trend', intent: 'Time series for a pattern — volume + cost history, spike detection, sparkline' },
|
|
515
618
|
{ name: 'log10x_services', intent: 'List all monitored services ranked by cost' },
|
|
@@ -523,12 +626,13 @@ const REGISTERED_TOOLS = [
|
|
|
523
626
|
{ name: 'log10x_resolve_batch', intent: 'Pasted-batch triage — per-pattern variable concentration + next actions' },
|
|
524
627
|
{ name: 'log10x_extract_templates', intent: 'Extract structural templates from a log corpus via local tenx — optional min/required/forbidden-merge assertions' },
|
|
525
628
|
{ name: 'log10x_retriever_query', intent: 'Direct archive retrieval by templateHash with JS filter expressions' },
|
|
526
|
-
{ name: 'log10x_retriever_query_status', intent: 'Poll CloudWatch diagnostics for an existing retriever query
|
|
629
|
+
{ name: 'log10x_retriever_query_status', intent: 'Poll CloudWatch diagnostics for an existing retriever query and optionally recover stranded results from S3 via fetch_results=true (avoids resubmit + new queryId)' },
|
|
527
630
|
{ name: 'log10x_retriever_series', intent: 'Fidelity-aware time series from the S3 archive — auto-selects exact aggregation vs sampled fan-out' },
|
|
528
631
|
{ name: 'log10x_backfill_metric', intent: 'Create a new Datadog / Prometheus metric backfilled from Retriever archive' },
|
|
529
632
|
{ name: 'log10x_doctor', intent: 'Startup health check — env config, gateway, tier, freshness, Retriever, paste endpoint, cross-pillar enrichment floor' },
|
|
530
633
|
{ name: 'log10x_login_status', intent: 'Report credential / env state — identity, env list with permissions, demo-mode upgrade guide if applicable' },
|
|
531
|
-
{ name: '
|
|
634
|
+
{ name: 'log10x_signin_start', intent: 'Step 1 of Auth0 Device Flow signup/signin: opens browser, returns the user_code + device_code so the model can surface them and chain to log10x_signin_complete' },
|
|
635
|
+
{ name: 'log10x_signin_complete', intent: 'Step 2 of sign-in: pass back the device_code from log10x_signin_start to finish the browser flow, OR pass api_key directly for pasted-key sign-in (no browser). Hot-reloads envs (no MCP-host restart needed)' },
|
|
532
636
|
{ name: 'log10x_signout', intent: 'Wipe ~/.log10x/credentials and fall back to demo mode (or lower-priority config); does not revoke the key on the backend' },
|
|
533
637
|
{ name: 'log10x_update_settings', intent: 'Update user metadata (analyzer cost, AI provider, etc.) via POST /api/v1/user' },
|
|
534
638
|
{ name: 'log10x_create_env', intent: 'Create a new Log10x environment on the account; pairs with log10x_advise_install for end-to-end provision-and-install' },
|
|
@@ -594,7 +698,7 @@ async function handleCliFlags() {
|
|
|
594
698
|
' --help, -h Print this help and exit',
|
|
595
699
|
'',
|
|
596
700
|
'Environment:',
|
|
597
|
-
' LOG10X_API_KEY API key from console.log10x.com (or run `
|
|
701
|
+
' LOG10X_API_KEY API key from console.log10x.com (or run `log10x_signin_start` then `log10x_signin_complete` to mint one via Auth0 Device Flow)',
|
|
598
702
|
' LOG10X_API_BASE Override Prometheus gateway URL',
|
|
599
703
|
' LOG10X_REGULATOR_RETRIEVER_URL Retriever query endpoint (optional)',
|
|
600
704
|
' LOG10X_PASTE_URL Override Log10x paste endpoint (optional)',
|
package/build/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";AAEA;;;;;GAKG;AAEH,OAAO,EAAE,SAAS,EAAuB,MAAM,yCAAyC,CAAC;AACzF,OAAO,EAAE,oBAAoB,EAAE,MAAM,2CAA2C,CAAC;AACjF,OAAO,EAAE,WAAW,EAAE,aAAa,EAAE,eAAe,EAAE,MAAM,yBAAyB,CAAC;AACtF,OAAO,EACL,YAAY,EACZ,oBAAoB,EACpB,iBAAiB,EACjB,qBAAqB,GACtB,MAAM,mBAAmB,CAAC;AAG3B,OAAO,EAAE,gBAAgB,EAAE,UAAU,EAAqC,0BAA0B,EAAE,MAAM,uBAAuB,CAAC;AACpI,OAAO,EAAE,iBAAiB,EAAE,MAAM,cAAc,CAAC;AACjD,OAAO,EAAE,iBAAiB,EAAE,kBAAkB,EAAE,MAAM,yBAAyB,CAAC;AAChF,OAAO,EAAE,iBAAiB,EAAE,kBAAkB,EAAE,MAAM,yBAAyB,CAAC;AAChF,OAAO,EAAE,aAAa,EAAE,cAAc,EAAE,MAAM,oBAAoB,CAAC;AACnE,OAAO,EAAE,WAAW,EAAE,YAAY,EAAE,MAAM,kBAAkB,CAAC;AAC7D,OAAO,EAAE,cAAc,EAAE,eAAe,EAAE,MAAM,qBAAqB,CAAC;AACtE,OAAO,EAAE,qBAAqB,EAAE,sBAAsB,EAAE,MAAM,6BAA6B,CAAC;AAC5F,OAAO,EAAE,qBAAqB,EAAE,sBAAsB,EAAE,MAAM,6BAA6B,CAAC;AAC5F,OAAO,EAAE,oBAAoB,EAAE,qBAAqB,EAAE,MAAM,4BAA4B,CAAC;AACzF,OAAO,EAAE,iBAAiB,EAAE,kBAAkB,EAAE,MAAM,yBAAyB,CAAC;AAChF,OAAO,EAAE,iBAAiB,EAAE,kBAAkB,EAAE,MAAM,0BAA0B,CAAC;AACjF,OAAO,EAAE,kBAAkB,EAAE,mBAAmB,EAAE,MAAM,0BAA0B,CAAC;AACnF,OAAO,EAAE,sBAAsB,EAAE,uBAAuB,EAAE,MAAM,8BAA8B,CAAC;AAC/F,OAAO,EACL,iBAAiB,EACjB,kBAAkB,EAClB,sBAAsB,EACtB,uBAAuB,GACxB,MAAM,wBAAwB,CAAC;AAChC,OAAO,EAAE,YAAY,EAAE,aAAa,EAAE,eAAe,EAAE,kBAAkB,EAAE,MAAM,mBAAmB,CAAC;AACrG,OAAO,EAAE,GAAG,EAAE,MAAM,cAAc,CAAC;AACnC,OAAO,EAAE,iBAAiB,EAAE,MAAM,sBAAsB,CAAC;AACzD,OAAO,EAAE,oBAAoB,EAAE,qBAAqB,EAAE,MAAM,4BAA4B,CAAC;AACzF,OAAO,EAAE,0BAA0B,EAAE,2BAA2B,EAAE,MAAM,mCAAmC,CAAC;AAC5G,OAAO,EAAE,qBAAqB,EAAE,sBAAsB,EAAE,MAAM,6BAA6B,CAAC;AAC5F,OAAO,EAAE,oBAAoB,EAAE,qBAAqB,EAAE,MAAM,4BAA4B,CAAC;AACzF,OAAO,EACL,0BAA0B,EAC1B,2BAA2B,GAC5B,MAAM,mCAAmC,CAAC;AAC3C,OAAO,EAAE,kBAAkB,EAAE,mBAAmB,EAAE,MAAM,0BAA0B,CAAC;AACnF,OAAO,EACL,0BAA0B,EAC1B,2BAA2B,GAC5B,MAAM,mCAAmC,CAAC;AAC3C,OAAO,EACL,+BAA+B,EAC/B,gCAAgC,GACjC,MAAM,yCAAyC,CAAC;AACjD,OAAO,EACL,uBAAuB,EACvB,uBAAuB,EACvB,gBAAgB,EAChB,gBAAgB,GACjB,MAAM,0BAA0B,CAAC;AAClC,OAAO,EAAE,kBAAkB,EAAE,mBAAmB,EAAE,MAAM,2BAA2B,CAAC;AACpF,OAAO,EAAE,iBAAiB,EAAE,kBAAkB,EAAE,MAAM,yBAAyB,CAAC;AAChF,OAAO,EAAE,oBAAoB,EAAE,qBAAqB,EAAE,MAAM,4BAA4B,CAAC;AACzF,OAAO,EAAE,oBAAoB,EAAE,qBAAqB,EAAE,MAAM,4BAA4B,CAAC;AACzF,OAAO,EAAE,qBAAqB,EAAE,sBAAsB,EAAE,MAAM,6BAA6B,CAAC;AAC5F,OAAO,EAAE,mBAAmB,EAAE,oBAAoB,EAAE,MAAM,2BAA2B,CAAC;AACtF,OAAO,EAAE,mBAAmB,EAAE,oBAAoB,EAAE,MAAM,2BAA2B,CAAC;AACtF,OAAO,EAAE,iBAAiB,EAAE,kBAAkB,EAAE,MAAM,yBAAyB,CAAC;AAChF,OAAO,EAAE,YAAY,EAAE,aAAa,EAAE,MAAM,mBAAmB,CAAC;AAChE,OAAO,EAAE,aAAa,EAAE,cAAc,EAAE,MAAM,oBAAoB,CAAC;AACnE,OAAO,EAAE,oBAAoB,EAAE,qBAAqB,EAAE,MAAM,4BAA4B,CAAC;AACzF,OAAO,EAAE,eAAe,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAC;AAC1E,OAAO,EAAE,eAAe,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAC;AAC1E,OAAO,EAAE,eAAe,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAC;AAC1E,OAAO,EAAE,kBAAkB,EAAE,mBAAmB,EAAE,MAAM,2BAA2B,CAAC;AACpF,OAAO,EAAE,SAAS,EAAE,MAAM,uBAAuB,CAAC;AAElD,iCAAiC;AACjC,EAAE;AACF,wEAAwE;AACxE,0EAA0E;AAC1E,uEAAuE;AACvE,qEAAqE;AACrE,sEAAsE;AACtE,sDAAsD;AAEtD,IAAI,IAA8B,CAAC;AAEnC,KAAK,UAAU,QAAQ;IACrB,IAAI,GAAG,MAAM,gBAAgB,EAAE,CAAC;AAClC,CAAC;AAED,SAAS,OAAO;IACd,IAAI,CAAC,IAAI,EAAE,CAAC;QACV,MAAM,IAAI,KAAK,CACb,yEAAyE,CAC1E,CAAC;IACJ,CAAC;IACD,OAAO,IAAI,CAAC;AACd,CAAC;AAED,MAAM,SAAS,GAAG,IAAI,GAAG,EAA+C,CAAC;AACzE,MAAM,eAAe,GAAG,SAAS,CAAC,CAAC,SAAS;AAE5C;;;;;;;;;;;GAWG;AACH,SAAS,IAAI,CACX,QAAgB,EAChB,EAAyB;IAEzB,MAAM,OAAO,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;IAC3B,OAAO,EAAE,EAAE;SACR,IAAI,CAAC,CAAC,IAAI,EAAE,EAAE;QACb,GAAG,CAAC,IAAI,CAAC,QAAQ,QAAQ,KAAK,EAAE,EAAE,EAAE,EAAE,IAAI,CAAC,GAAG,EAAE,GAAG,OAAO,EAAE,CAAC,CAAC;QAC9D,OAAO,EAAE,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAe,EAAE,IAAI,EAAE,eAAe,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE,CAAC;IAC/E,CAAC,CAAC;SACD,KAAK,CAAC,CAAC,CAAC,EAAE,EAAE;QACX,MAAM,GAAG,GAAG,CAAC,YAAY,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;QACvD,GAAG,CAAC,KAAK,CAAC,QAAQ,QAAQ,UAAU,EAAE,EAAE,GAAG,EAAE,GAAG,EAAE,CAAC,CAAC;QACpD,GAAG,CAAC,IAAI,CAAC,QAAQ,QAAQ,MAAM,EAAE,EAAE,EAAE,EAAE,IAAI,CAAC,GAAG,EAAE,GAAG,OAAO,EAAE,GAAG,EAAE,GAAG,EAAE,CAAC,CAAC;QACzE,OAAO;YACL,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAe,EAAE,IAAI,EAAE,eAAe,CAAC,iBAAiB,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;YAC3F,OAAO,EAAE,IAAI;SACd,CAAC;IACJ,CAAC,CAAC,CAAC;AACP,CAAC;AAED;;;;;;;;;;;GAWG;AACH,SAAS,eAAe,CAAC,IAAY;IACnC,IAAI,CAAC,IAAI,EAAE,UAAU;QAAE,OAAO,IAAI,CAAC;IACnC,IAAI,IAAI,CAAC,kBAAkB,EAAE,CAAC;QAC5B,MAAM,MAAM,GAAG,IAAI,CAAC,kBAAkB,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC;QACpE,OAAO,CACL,6DAA6D;YAC7D,qHAAqH;YACrH,sEAAsE;YACtE,WAAW,MAAM,GAAG;YACpB,iDAAiD;YACjD,IAAI,CACL,CAAC;IACJ,CAAC;IACD,qEAAqE;IACrE,OAAO,IAAI,GAAG,kIAAkI,CAAC;AACnJ,CAAC;AAED,KAAK,UAAU,eAAe,CAAC,GAAc,EAAE,QAAiB;IAC9D,IAAI,QAAQ,KAAK,SAAS;QAAE,OAAO,QAAQ,CAAC;IAE5C,MAAM,GAAG,GAAG,GAAG,CAAC,KAAK,CAAC;IACtB,MAAM,MAAM,GAAG,SAAS,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;IAClC,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;IAEvB,IAAI,MAAM,IAAI,CAAC,GAAG,GAAG,MAAM,CAAC,SAAS,CAAC,GAAG,eAAe,EAAE,CAAC;QACzD,OAAO,MAAM,CAAC,IAAI,CAAC;IACrB,CAAC;IAED,MAAM,IAAI,GAAG,MAAM,iBAAiB,CAAC,GAAG,CAAC,CAAC;IAC1C,SAAS,CAAC,GAAG,CAAC,GAAG,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE,GAAG,EAAE,CAAC,CAAC;IAC7C,OAAO,IAAI,CAAC;AACd,CAAC;AAED,eAAe;AAEf,MAAM,MAAM,GAAG,IAAI,SAAS,CAC1B,EAAE,IAAI,EAAE,QAAQ,EAAE,OAAO,EAAE,iBAAiB,EAAE,EAAE,EAChD;IACE,YAAY,EAAE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;0EAoIwD;CACvE,CACF,CAAC;AAEF,gDAAgD;AAChD,6EAA6E;AAC7E,qFAAqF;AACrF,8EAA8E;AAC9E,sEAAsE;AACtE,EAAE;AACF,6EAA6E;AAC7E,8EAA8E;AAC9E,0CAA0C;AAC1C,WAAW,EAAE,CAAC;AACd,MAAM,eAAe,GAAG,IAAI,GAAG,EAA0B,CAAC;AAC1D,MAAM,qBAAqB,GAAG,MAAM,CAAC,YAAY,CAAC,IAAI,CAAC,MAAM,CAA+B,CAAC;AAC5F,MAAc,CAAC,YAAY,GAAG,CAAC,CAAC,IAAY,EAAE,MAAW,EAAE,OAAY,EAAE,EAAE;IAC1E,MAAM,OAAO,GAAG,aAAa,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;IAC7C,MAAM,UAAU,GAAG,qBAAqB,CAAC,IAAW,EAAE,MAAM,EAAE,OAAO,CAAC,CAAC;IACvE,eAAe,CAAC,GAAG,CAAC,IAAI,EAAE,UAAU,CAAC,CAAC;IACtC,OAAO,UAAU,CAAC;AACpB,CAAC,CAAQ,CAAC;AAEV;;;;;;;;GAQG;AACH,SAAS,kBAAkB,CACzB,IAAY,EACZ,WAAoC,EACpC,OAAiG;IAEjG,MAAM,IAAI,GAAG,qBAAqB,CAAC,IAAI,CAAC,CAAC;IACxC,MAAM,CAAC,YAAoB,CAC1B,IAAI,EACJ;QACE,KAAK,EAAE,IAAI,CAAC,KAAK;QACjB,WAAW,EAAE,IAAI,CAAC,WAAW;QAC7B,WAAW;QACX,WAAW,EAAE,IAAI,CAAC,WAAW;KAC9B,EACD,OAAO,CACR,CAAC;AACJ,CAAC;AAED,kCAAkC;AAElC,kBAAkB,CAAC,qBAAqB,EAAE,iBAAiB,EAAE,CAAC,IAAI,EAAE,EAAE,CACpE,IAAI,CAAC,qBAAqB,EAAE,KAAK,IAAI,EAAE;IACrC,MAAM,GAAG,GAAG,UAAU,CAAC,OAAO,EAAE,EAAE,IAAI,CAAC,WAAW,CAAC,CAAC;IACpD,MAAM,IAAI,GAAG,MAAM,eAAe,CAAC,GAAG,EAAE,IAAI,CAAC,YAAY,CAAC,CAAC;IAC3D,OAAO,kBAAkB,CAAC,EAAE,GAAG,IAAI,EAAE,YAAY,EAAE,IAAI,EAAE,EAAE,GAAG,CAAC,CAAC;AAClE,CAAC,CAAC,CACH,CAAC;AAEF,kCAAkC;AAElC,kBAAkB,CAAC,qBAAqB,EAAE,iBAAiB,EAAE,CAAC,IAAI,EAAE,EAAE,CACpE,IAAI,CAAC,qBAAqB,EAAE,KAAK,IAAI,EAAE;IACrC,MAAM,GAAG,GAAG,UAAU,CAAC,OAAO,EAAE,EAAE,IAAI,CAAC,WAAW,CAAC,CAAC;IACpD,MAAM,IAAI,GAAG,MAAM,eAAe,CAAC,GAAG,EAAE,IAAI,CAAC,YAAY,CAAC,CAAC;IAC3D,OAAO,kBAAkB,CAAC,EAAE,GAAG,IAAI,EAAE,YAAY,EAAE,IAAI,EAAE,EAAE,GAAG,CAAC,CAAC;AAClE,CAAC,CAAC,CACH,CAAC;AAEF,6BAA6B;AAE7B,kBAAkB,CAAC,gBAAgB,EAAE,aAAa,EAAE,CAAC,IAAI,EAAE,EAAE,CAC3D,IAAI,CAAC,gBAAgB,EAAE,KAAK,IAAI,EAAE;IAChC,MAAM,GAAG,GAAG,UAAU,CAAC,OAAO,EAAE,EAAE,IAAI,CAAC,WAAW,CAAC,CAAC;IACpD,MAAM,IAAI,GAAG,MAAM,eAAe,CAAC,GAAG,EAAE,IAAI,CAAC,YAAY,CAAC,CAAC;IAC3D,OAAO,cAAc,CAAC,EAAE,GAAG,IAAI,EAAE,YAAY,EAAE,IAAI,EAAE,EAAE,GAAG,CAAC,CAAC;AAC9D,CAAC,CAAC,CACH,CAAC;AAEF,mCAAmC;AAEnC,kBAAkB,CAAC,sBAAsB,EAAE,WAAW,EAAE,CAAC,IAAI,EAAE,EAAE,CAC/D,IAAI,CAAC,sBAAsB,EAAE,KAAK,IAAI,EAAE;IACtC,MAAM,GAAG,GAAG,UAAU,CAAC,OAAO,EAAE,EAAE,IAAI,CAAC,WAAW,CAAC,CAAC;IACpD,MAAM,IAAI,GAAG,MAAM,eAAe,CAAC,GAAG,EAAE,IAAI,CAAC,YAAY,CAAC,CAAC;IAC3D,OAAO,YAAY,CAAC,EAAE,GAAG,IAAI,EAAE,YAAY,EAAE,IAAI,EAAE,EAAE,GAAG,CAAC,CAAC;AAC5D,CAAC,CAAC,CACH,CAAC;AAEF,8BAA8B;AAE9B,kBAAkB,CAAC,iBAAiB,EAAE,cAAc,EAAE,CAAC,IAAI,EAAE,EAAE,CAC7D,IAAI,CAAC,iBAAiB,EAAE,KAAK,IAAI,EAAE;IACjC,MAAM,GAAG,GAAG,UAAU,CAAC,OAAO,EAAE,EAAE,IAAI,CAAC,WAAW,CAAC,CAAC;IACpD,MAAM,IAAI,GAAG,MAAM,eAAe,CAAC,GAAG,EAAE,IAAI,CAAC,YAAY,CAAC,CAAC;IAC3D,OAAO,eAAe,CAAC,EAAE,GAAG,IAAI,EAAE,YAAY,EAAE,IAAI,EAAE,EAAE,GAAG,CAAC,CAAC;AAC/D,CAAC,CAAC,CACH,CAAC;AAEF,sCAAsC;AAEtC,kBAAkB,CAAC,yBAAyB,EAAE,qBAAqB,EAAE,CAAC,IAAI,EAAE,EAAE,CAC5E,IAAI,CAAC,yBAAyB,EAAE,KAAK,IAAI,EAAE,CAAC,sBAAsB,CAAC,IAAI,CAAC,CAAC,CAC1E,CAAC;AAEF,sCAAsC;AAEtC,kBAAkB,CAAC,yBAAyB,EAAE,qBAAqB,EAAE,CAAC,IAAI,EAAE,EAAE,CAC5E,IAAI,CAAC,yBAAyB,EAAE,KAAK,IAAI,EAAE,CAAC,sBAAsB,CAAC,IAAI,CAAC,CAAC,CAC1E,CAAC;AAEF,qCAAqC;AAErC,kBAAkB,CAAC,wBAAwB,EAAE,oBAAoB,EAAE,CAAC,IAAI,EAAE,EAAE,CAC1E,IAAI,CAAC,wBAAwB,EAAE,KAAK,IAAI,EAAE;IACxC,MAAM,GAAG,GAAG,UAAU,CAAC,OAAO,EAAE,EAAE,IAAI,CAAC,WAAW,CAAC,CAAC;IACpD,OAAO,qBAAqB,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC;AAC1C,CAAC,CAAC,CACH,CAAC;AAEF,kCAAkC;AAElC,kBAAkB,CAAC,qBAAqB,EAAE,iBAAiB,EAAE,CAAC,IAAI,EAAE,EAAE,CACpE,IAAI,CAAC,qBAAqB,EAAE,KAAK,IAAI,EAAE;IACrC,MAAM,GAAG,GAAG,UAAU,CAAC,OAAO,EAAE,EAAE,IAAI,CAAC,WAAW,CAAC,CAAC;IACpD,MAAM,IAAI,GAAG,MAAM,eAAe,CAAC,GAAG,EAAE,IAAI,CAAC,YAAY,CAAC,CAAC;IAC3D,OAAO,kBAAkB,CAAC,EAAE,GAAG,IAAI,EAAE,YAAY,EAAE,IAAI,EAAE,EAAE,GAAG,CAAC,CAAC;AAClE,CAAC,CAAC,CACH,CAAC;AAEF,mCAAmC;AAEnC,kBAAkB,CAAC,sBAAsB,EAAE,iBAAiB,EAAE,CAAC,IAAI,EAAE,EAAE,CACrE,IAAI,CAAC,sBAAsB,EAAE,KAAK,IAAI,EAAE;IACtC,MAAM,GAAG,GAAG,UAAU,CAAC,OAAO,EAAE,EAAE,IAAI,CAAC,WAAW,CAAC,CAAC;IACpD,MAAM,IAAI,GAAG,MAAM,eAAe,CAAC,GAAG,EAAE,IAAI,CAAC,YAAY,CAAC,CAAC;IAC3D,OAAO,kBAAkB,CAAC,EAAE,GAAG,IAAI,EAAE,YAAY,EAAE,IAAI,EAAE,EAAE,GAAG,CAAC,CAAC;AAClE,CAAC,CAAC,CACH,CAAC;AAEF,iCAAiC;AAEjC,kBAAkB,CAAC,oBAAoB,EAAE,iBAAiB,EAAE,CAAC,IAAI,EAAE,EAAE,CACnE,IAAI,CAAC,oBAAoB,EAAE,KAAK,IAAI,EAAE;IACpC,MAAM,GAAG,GAAG,UAAU,CAAC,OAAO,EAAE,EAAE,IAAI,CAAC,WAAW,CAAC,CAAC;IACpD,OAAO,kBAAkB,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC;AACvC,CAAC,CAAC,CACH,CAAC;AAEF,uCAAuC;AAEvC,kBAAkB,CAAC,0BAA0B,EAAE,sBAAsB,EAAE,CAAC,IAAI,EAAE,EAAE,CAC9E,IAAI,CAAC,0BAA0B,EAAE,KAAK,IAAI,EAAE,CAAC,uBAAuB,CAAC,IAAI,CAAC,CAAC,CAC5E,CAAC;AAEF,mCAAmC;AAEnC,kBAAkB,CAAC,sBAAsB,EAAE,kBAAkB,EAAE,CAAC,IAAI,EAAE,EAAE,CACtE,IAAI,CAAC,sBAAsB,EAAE,KAAK,IAAI,EAAE,CAAC,mBAAmB,CAAC,IAAI,CAAC,CAAC,CACpE,CAAC;AAEF,uCAAuC;AAEvC,kBAAkB,CAAC,0BAA0B,EAAE,sBAAsB,EAAE,CAAC,IAAI,EAAE,EAAE,CAC9E,IAAI,CAAC,0BAA0B,EAAE,KAAK,IAAI,EAAE,CAAC,uBAAuB,CAAC,IAAI,CAAC,CAAC,CAC5E,CAAC;AAEF,qCAAqC;AAErC,kBAAkB,CAAC,wBAAwB,EAAE,oBAAoB,EAAE,CAAC,IAAI,EAAE,EAAE,CAC1E,IAAI,CAAC,wBAAwB,EAAE,KAAK,IAAI,EAAE;IACxC,MAAM,GAAG,GAAG,UAAU,CAAC,OAAO,EAAE,EAAE,IAAI,CAAC,WAAW,CAAC,CAAC;IACpD,OAAO,qBAAqB,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC;AAC1C,CAAC,CAAC,CACH,CAAC;AAEF,4CAA4C;AAC5C,EAAE;AACF,qEAAqE;AACrE,qEAAqE;AACrE,mEAAmE;AACnE,gEAAgE;AAChE,0DAA0D;AAE1D,kBAAkB,CAAC,+BAA+B,EAAE,0BAA0B,EAAE,CAAC,IAAI,EAAE,EAAE,CACvF,IAAI,CAAC,+BAA+B,EAAE,KAAK,IAAI,EAAE;IAC/C,MAAM,GAAG,GAAG,UAAU,CAAC,OAAO,EAAE,EAAE,IAAI,CAAC,WAAW,CAAC,CAAC;IACpD,OAAO,2BAA2B,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC;AAChD,CAAC,CAAC,CACH,CAAC;AAEF,sCAAsC;AAEtC,kBAAkB,CAAC,yBAAyB,EAAE,qBAAqB,EAAE,CAAC,IAAI,EAAE,EAAE,CAC5E,IAAI,CAAC,yBAAyB,EAAE,KAAK,IAAI,EAAE;IACzC,MAAM,GAAG,GAAG,UAAU,CAAC,OAAO,EAAE,EAAE,IAAI,CAAC,WAAW,CAAC,CAAC;IACpD,OAAO,sBAAsB,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC;AAC3C,CAAC,CAAC,CACH,CAAC;AAEF,qCAAqC;AAErC,kBAAkB,CAAC,wBAAwB,EAAE,oBAAoB,EAAE,CAAC,IAAI,EAAE,EAAE,CAC1E,IAAI,CAAC,wBAAwB,EAAE,KAAK,IAAI,EAAE;IACxC,MAAM,GAAG,GAAG,UAAU,CAAC,OAAO,EAAE,EAAE,IAAI,CAAC,WAAW,CAAC,CAAC;IACpD,OAAO,qBAAqB,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC;AAC1C,CAAC,CAAC,CACH,CAAC;AAEF,4BAA4B;AAE5B,kBAAkB,CAAC,eAAe,EAAE,YAAY,EAAE,CAAC,IAAI,EAAE,EAAE,CACzD,IAAI,CAAC,eAAe,EAAE,KAAK,IAAI,EAAE,CAAC,aAAa,CAAC,IAAI,CAAC,CAAC,CACvD,CAAC;AAEF,kCAAkC;AAElC,kBAAkB,CAAC,qBAAqB,EAAE,iBAAiB,EAAE,GAAG,EAAE,CAChE,IAAI,CAAC,qBAAqB,EAAE,KAAK,IAAI,EAAE,CAAC,kBAAkB,CAAC,EAAE,EAAE,OAAO,EAAE,CAAC,CAAC,CAC3E,CAAC;AAEF,4BAA4B;AAE5B,kBAAkB,CAAC,eAAe,EAAE,YAAY,EAAE,CAAC,IAAI,EAAE,EAAE,CACzD,IAAI,CAAC,eAAe,EAAE,KAAK,IAAI,EAAE,CAAC,aAAa,CAAC,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,CAClE,CAAC;AAEF,6BAA6B;AAE7B,kBAAkB,CAAC,gBAAgB,EAAE,aAAa,EAAE,GAAG,EAAE,CACvD,IAAI,CAAC,gBAAgB,EAAE,KAAK,IAAI,EAAE,CAAC,cAAc,CAAC,EAAE,EAAE,OAAO,EAAE,CAAC,CAAC,CAClE,CAAC;AAEF,qCAAqC;AAErC,kBAAkB,CAAC,wBAAwB,EAAE,oBAAoB,EAAE,CAAC,IAAI,EAAE,EAAE,CAC1E,IAAI,CAAC,wBAAwB,EAAE,KAAK,IAAI,EAAE,CAAC,qBAAqB,CAAC,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,CACnF,CAAC;AAEF,gCAAgC;AAEhC,kBAAkB,CAAC,mBAAmB,EAAE,eAAe,EAAE,CAAC,IAAI,EAAE,EAAE,CAChE,IAAI,CAAC,mBAAmB,EAAE,KAAK,IAAI,EAAE,CAAC,gBAAgB,CAAC,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,CACzE,CAAC;AAEF,gCAAgC;AAEhC,kBAAkB,CAAC,mBAAmB,EAAE,eAAe,EAAE,CAAC,IAAI,EAAE,EAAE,CAChE,IAAI,CAAC,mBAAmB,EAAE,KAAK,IAAI,EAAE,CAAC,gBAAgB,CAAC,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,CACzE,CAAC;AAEF,gCAAgC;AAEhC,kBAAkB,CAAC,mBAAmB,EAAE,eAAe,EAAE,CAAC,IAAI,EAAE,EAAE,CAChE,IAAI,CAAC,mBAAmB,EAAE,KAAK,IAAI,EAAE,CAAC,gBAAgB,CAAC,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,CACzE,CAAC;AAEF,oCAAoC;AAEpC,kBAAkB,CAAC,uBAAuB,EAAE,kBAAkB,EAAE,CAAC,IAAI,EAAE,EAAE,CACvE,IAAI,CAAC,uBAAuB,EAAE,KAAK,IAAI,EAAE,CAAC,mBAAmB,CAAC,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,CAChF,CAAC;AAEF,mDAAmD;AAEnD,kBAAkB,CAAC,+BAA+B,EAAE,0BAA0B,EAAE,CAAC,IAAI,EAAE,EAAE,CACvF,IAAI,CAAC,+BAA+B,EAAE,KAAK,IAAI,EAAE,CAAC,2BAA2B,CAAC,IAAI,CAAC,CAAC,CACrF,CAAC;AAEF,0CAA0C;AAE1C,kBAAkB,CAAC,sBAAsB,EAAE,kBAAkB,EAAE,CAAC,IAAI,EAAE,EAAE,CACtE,IAAI,CAAC,sBAAsB,EAAE,KAAK,IAAI,EAAE;IACtC,MAAM,GAAG,GAAG,UAAU,CAAC,OAAO,EAAE,EAAE,IAAI,CAAC,WAAW,CAAC,CAAC;IACpD,OAAO,mBAAmB,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC;AACxC,CAAC,CAAC,CACH,CAAC;AAEF,mDAAmD;AAEnD,kBAAkB,CAAC,+BAA+B,EAAE,0BAA0B,EAAE,CAAC,IAAI,EAAE,EAAE,CACvF,IAAI,CAAC,+BAA+B,EAAE,KAAK,IAAI,EAAE;IAC/C,MAAM,GAAG,GAAG,UAAU,CAAC,OAAO,EAAE,EAAE,IAAI,CAAC,WAAW,CAAC,CAAC;IACpD,OAAO,2BAA2B,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC;AAChD,CAAC,CAAC,CACH,CAAC;AAEF,yDAAyD;AAEzD,kBAAkB,CAAC,qCAAqC,EAAE,+BAA+B,EAAE,CAAC,IAAI,EAAE,EAAE,CAClG,IAAI,CAAC,qCAAqC,EAAE,KAAK,IAAI,EAAE;IACrD,MAAM,GAAG,GAAG,UAAU,CAAC,OAAO,EAAE,EAAE,IAAI,CAAC,WAAW,CAAC,CAAC;IACpD,OAAO,gCAAgC,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC;AACrD,CAAC,CAAC,CACH,CAAC;AAEF,oDAAoD;AACpD,EAAE;AACF,wEAAwE;AACxE,sEAAsE;AACtE,2EAA2E;AAC3E,yEAAyE;AAEzE,kBAAkB,CAAC,6BAA6B,EAAE,uBAAuB,EAAE,CAAC,IAAI,EAAE,EAAE,CAClF,IAAI,CAAC,6BAA6B,EAAE,KAAK,IAAI,EAAE,CAC7C,gBAAgB,CAAC;IACf,MAAM,EAAE,IAAI,CAAC,MAAM,IAAI,IAAI;IAC3B,kBAAkB,EAAE,IAAI,CAAC,kBAAkB,IAAI,OAAO;IACtD,gBAAgB,EAAE,IAAI,CAAC,gBAAgB,IAAI,CAAC;IAC5C,YAAY,EAAE,IAAI,CAAC,YAAY,IAAI,IAAI;IACvC,WAAW,EAAE,IAAI,CAAC,WAAW,IAAI,IAAI;IACrC,cAAc,EAAE,IAAI,CAAC,cAAc;IACnC,gBAAgB,EAAE,IAAI,CAAC,gBAAgB;IACvC,eAAe,EAAE,IAAI,CAAC,eAAe;IACrC,kBAAkB,EAAE,IAAI,CAAC,kBAAkB,IAAI,IAAI;IACnD,UAAU,EAAE,MAAM;IAClB,IAAI,EAAE,IAAI,CAAC,IAAI;IACf,KAAK,EAAE,IAAI,CAAC,KAAK;IACjB,KAAK,EAAE,IAAI,CAAC,KAAK;IACjB,oBAAoB,EAAE,IAAI,CAAC,oBAAoB;IAC/C,WAAW,EAAE,IAAI,CAAC,WAAW;IAC7B,gBAAgB,EAAE,IAAI,CAAC,gBAAgB;IACvC,2BAA2B,EAAE,IAAI,CAAC,2BAA2B;IAC7D,yBAAyB,EAAE,IAAI,CAAC,yBAAyB;IACzD,yBAAyB,EAAE,IAAI,CAAC,yBAAyB;IACzD,0BAA0B,EAAE,IAAI,CAAC,0BAA0B;CAC5D,CAAC,CACH,CACF,CAAC;AAEF,kBAAkB,CAAC,6BAA6B,EAAE,uBAAuB,EAAE,CAAC,IAAI,EAAE,EAAE,CAClF,IAAI,CAAC,6BAA6B,EAAE,KAAK,IAAI,EAAE,CAAC,gBAAgB,CAAC,IAAI,CAAC,CAAC,CACxE,CAAC;AAEF,oCAAoC;AACpC,EAAE;AACF,oEAAoE;AACpE,8DAA8D;AAC9D,+DAA+D;AAC/D,8DAA8D;AAC9D,oEAAoE;AACpE,gEAAgE;AAChE,yCAAyC;AACzC,iEAAiE;AACjE,oEAAoE;AACpE,uEAAuE;AACvE,sEAAsE;AACtE,qEAAqE;AACrE,4CAA4C;AAE5C,kBAAkB,CAAC,uBAAuB,EAAE,kBAAkB,EAAE,CAAC,IAAI,EAAE,EAAE,CACvE,IAAI,CAAC,uBAAuB,EAAE,KAAK,IAAI,EAAE,CACvC,mBAAmB,CAAC;IAClB,MAAM,EAAE,IAAI,CAAC,MAAM,IAAI,SAAS;IAChC,SAAS,EAAE,IAAI,CAAC,SAAS,IAAI,SAAS;IACtC,MAAM,EAAE,IAAI,CAAC,MAAM,IAAI,IAAI;IAC3B,aAAa,EAAE,IAAI,CAAC,aAAa,IAAI,IAAI;IACzC,QAAQ,EAAE,IAAI,CAAC,QAAQ,IAAI,EAAE;IAC7B,YAAY,EAAE,IAAI,CAAC,YAAY,IAAI,IAAI;CACxC,CAAC,CACH,CACF,CAAC;AAEF,oDAAoD;AAEpD,kBAAkB,CAAC,qBAAqB,EAAE,iBAAiB,EAAE,CAAC,IAAI,EAAE,EAAE,CACpE,IAAI,CAAC,qBAAqB,EAAE,GAAG,EAAE,CAAC,kBAAkB,CAAC,IAAI,CAAC,CAAC,CAC5D,CAAC;AAEF,uDAAuD;AAEvD,kBAAkB,CAAC,wBAAwB,EAAE,oBAAoB,EAAE,CAAC,IAAI,EAAE,EAAE,CAC1E,IAAI,CAAC,wBAAwB,EAAE,GAAG,EAAE,CAAC,qBAAqB,CAAC,IAAI,CAAC,CAAC,CAClE,CAAC;AAEF,uDAAuD;AAEvD,kBAAkB,CAAC,yBAAyB,EAAE,qBAAqB,EAAE,CAAC,IAAI,EAAE,EAAE,CAC5E,IAAI,CAAC,yBAAyB,EAAE,GAAG,EAAE,CAAC,sBAAsB,CAAC,IAAI,CAAC,CAAC,CACpE,CAAC;AAEF,uDAAuD;AAEvD,kBAAkB,CAAC,wBAAwB,EAAE,oBAAoB,EAAE,CAAC,IAAI,EAAE,EAAE,CAC1E,IAAI,CAAC,wBAAwB,EAAE,GAAG,EAAE,CAAC,qBAAqB,CAAC,IAAI,CAAC,CAAC,CAClE,CAAC;AAEF,wEAAwE;AAExE,kBAAkB,CAAC,uBAAuB,EAAE,mBAAmB,EAAE,CAAC,IAAI,EAAE,EAAE,CACxE,IAAI,CAAC,uBAAuB,EAAE,GAAG,EAAE,CAAC,oBAAoB,CAAC,IAAI,CAAC,CAAC,CAChE,CAAC;AAEF,+DAA+D;AAE/D,kBAAkB,CAAC,uBAAuB,EAAE,mBAAmB,EAAE,CAAC,IAAI,EAAE,EAAE,CACxE,IAAI,CAAC,uBAAuB,EAAE,GAAG,EAAE,CAAC,oBAAoB,CAAC,IAAI,CAAC,CAAC,CAChE,CAAC;AAEF,kCAAkC;AAElC,MAAM,CAAC,QAAQ,CACb,iBAAiB,EACjB,iBAAiB,EACjB,EAAE,WAAW,EAAE,4CAA4C,EAAE,QAAQ,EAAE,YAAY,EAAE,EACrF,KAAK,IAAI,EAAE;IACT,MAAM,GAAG,GAAG,OAAO,EAAE,CAAC,OAAO,CAAC;IAC9B,MAAM,IAAI,GAAG,MAAM,SAAS,CAAC,GAAG,CAAC,CAAC;IAClC,OAAO,EAAE,QAAQ,EAAE,CAAC,EAAE,GAAG,EAAE,iBAAiB,EAAE,IAAI,EAAE,QAAQ,EAAE,YAAY,EAAE,CAAC,EAAE,CAAC;AAClF,CAAC,CACF,CAAC;AAEF,0BAA0B;AAE1B,MAAM,gBAAgB,GAA4C;IAChE,EAAE,IAAI,EAAE,qBAAqB,EAAE,MAAM,EAAE,uFAAuF,EAAE;IAChI,EAAE,IAAI,EAAE,qBAAqB,EAAE,MAAM,EAAE,sFAAsF,EAAE;IAC/H,EAAE,IAAI,EAAE,gBAAgB,EAAE,MAAM,EAAE,gFAAgF,EAAE;IACpH,EAAE,IAAI,EAAE,sBAAsB,EAAE,MAAM,EAAE,+EAA+E,EAAE;IACzH,EAAE,IAAI,EAAE,iBAAiB,EAAE,MAAM,EAAE,4CAA4C,EAAE;IACjF,EAAE,IAAI,EAAE,yBAAyB,EAAE,MAAM,EAAE,0DAA0D,EAAE;IACvG,EAAE,IAAI,EAAE,yBAAyB,EAAE,MAAM,EAAE,mFAAmF,EAAE;IAChI,EAAE,IAAI,EAAE,wBAAwB,EAAE,MAAM,EAAE,sEAAsE,EAAE;IAClH,EAAE,IAAI,EAAE,qBAAqB,EAAE,MAAM,EAAE,yDAAyD,EAAE;IAClG,EAAE,IAAI,EAAE,sBAAsB,EAAE,MAAM,EAAE,4EAA4E,EAAE;IACtH,EAAE,IAAI,EAAE,oBAAoB,EAAE,MAAM,EAAE,4EAA4E,EAAE;IACpH,EAAE,IAAI,EAAE,0BAA0B,EAAE,MAAM,EAAE,oEAAoE,EAAE;IAClH,EAAE,IAAI,EAAE,sBAAsB,EAAE,MAAM,EAAE,yEAAyE,EAAE;IACnH,EAAE,IAAI,EAAE,0BAA0B,EAAE,MAAM,EAAE,kHAAkH,EAAE;IAChK,EAAE,IAAI,EAAE,wBAAwB,EAAE,MAAM,EAAE,qEAAqE,EAAE;IACjH,EAAE,IAAI,EAAE,+BAA+B,EAAE,MAAM,EAAE,sFAAsF,EAAE;IACzI,EAAE,IAAI,EAAE,yBAAyB,EAAE,MAAM,EAAE,oGAAoG,EAAE;IACjJ,EAAE,IAAI,EAAE,wBAAwB,EAAE,MAAM,EAAE,4EAA4E,EAAE;IACxH,EAAE,IAAI,EAAE,eAAe,EAAE,MAAM,EAAE,uHAAuH,EAAE;IAC1J,EAAE,IAAI,EAAE,qBAAqB,EAAE,MAAM,EAAE,4GAA4G,EAAE;IACrJ,EAAE,IAAI,EAAE,eAAe,EAAE,MAAM,EAAE,6IAA6I,EAAE;IAChL,EAAE,IAAI,EAAE,gBAAgB,EAAE,MAAM,EAAE,0HAA0H,EAAE;IAC9J,EAAE,IAAI,EAAE,wBAAwB,EAAE,MAAM,EAAE,+EAA+E,EAAE;IAC3H,EAAE,IAAI,EAAE,mBAAmB,EAAE,MAAM,EAAE,uHAAuH,EAAE;IAC9J,EAAE,IAAI,EAAE,mBAAmB,EAAE,MAAM,EAAE,uFAAuF,EAAE;IAC9H,EAAE,IAAI,EAAE,mBAAmB,EAAE,MAAM,EAAE,6FAA6F,EAAE;IACpI,EAAE,IAAI,EAAE,uBAAuB,EAAE,MAAM,EAAE,uHAAuH,EAAE;IAClK,EAAE,IAAI,EAAE,+BAA+B,EAAE,MAAM,EAAE,yGAAyG,EAAE;IAC5J,EAAE,IAAI,EAAE,sBAAsB,EAAE,MAAM,EAAE,oHAAoH,EAAE;IAC9J,EAAE,IAAI,EAAE,+BAA+B,EAAE,MAAM,EAAE,mIAAmI,EAAE;IACtL,EAAE,IAAI,EAAE,qCAAqC,EAAE,MAAM,EAAE,mHAAmH,EAAE;IAC5K,EAAE,IAAI,EAAE,6BAA6B,EAAE,MAAM,EAAE,yGAAyG,EAAE;IAC1J,EAAE,IAAI,EAAE,6BAA6B,EAAE,MAAM,EAAE,0EAA0E,EAAE;IAC3H,EAAE,IAAI,EAAE,uBAAuB,EAAE,MAAM,EAAE,sHAAsH,EAAE;IACjK,EAAE,IAAI,EAAE,qBAAqB,EAAE,MAAM,EAAE,iFAAiF,EAAE;IAC1H,EAAE,IAAI,EAAE,uBAAuB,EAAE,MAAM,EAAE,gHAAgH,EAAE;IAC3J,EAAE,IAAI,EAAE,wBAAwB,EAAE,MAAM,EAAE,iGAAiG,EAAE;IAC7I,EAAE,IAAI,EAAE,wBAAwB,EAAE,MAAM,EAAE,qGAAqG,EAAE;IACjJ,EAAE,IAAI,EAAE,yBAAyB,EAAE,MAAM,EAAE,8EAA8E,EAAE;IAC3H,EAAE,IAAI,EAAE,uBAAuB,EAAE,MAAM,EAAE,kKAAkK,EAAE;CAC9M,CAAC;AAEF,KAAK,UAAU,cAAc;IAC3B,MAAM,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;IACnC,IAAI,IAAI,CAAC,QAAQ,CAAC,WAAW,CAAC,IAAI,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC;QACtD,sCAAsC;QACtC,OAAO,CAAC,GAAG,CAAC,cAAc,iBAAiB,EAAE,EAAE,CAAC,CAAC;QACjD,OAAO,IAAI,CAAC;IACd,CAAC;IACD,IAAI,IAAI,CAAC,QAAQ,CAAC,cAAc,CAAC,EAAE,CAAC;QAClC,MAAM,UAAU,GAAG,IAAI,CAAC,GAAG,CAAC,GAAG,gBAAgB,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC;QAC3E,KAAK,MAAM,CAAC,IAAI,gBAAgB,EAAE,CAAC;YACjC,sCAAsC;YACtC,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC;QAC3D,CAAC;QACD,OAAO,IAAI,CAAC;IACd,CAAC;IACD,IAAI,IAAI,CAAC,QAAQ,CAAC,UAAU,CAAC,EAAE,CAAC;QAC9B,IAAI,CAAC;YACH,MAAM,MAAM,GAAG,MAAM,eAAe,EAAE,CAAC;YACvC,sCAAsC;YACtC,OAAO,CAAC,GAAG,CAAC,kBAAkB,CAAC,MAAM,CAAC,CAAC,CAAC;YACxC,OAAO,CAAC,QAAQ,GAAG,MAAM,CAAC,OAAO,KAAK,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QACvD,CAAC;QAAC,OAAO,CAAC,EAAE,CAAC;YACX,sCAAsC;YACtC,OAAO,CAAC,KAAK,CAAC,yBAA0B,CAAW,CAAC,OAAO,EAAE,CAAC,CAAC;YAC/D,OAAO,CAAC,QAAQ,GAAG,CAAC,CAAC;QACvB,CAAC;QACD,OAAO,IAAI,CAAC;IACd,CAAC;IACD,IAAI,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,IAAI,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC;QACnD,sCAAsC;QACtC,OAAO,CAAC,GAAG,CACT;YACE,gCAAgC;YAChC,EAAE;YACF,0BAA0B;YAC1B,EAAE;YACF,yFAAyF;YACzF,EAAE;YACF,QAAQ;YACR,kDAAkD;YAClD,2DAA2D;YAC3D,mEAAmE;YACnE,gDAAgD;YAChD,EAAE;YACF,cAAc;YACd,6GAA6G;YAC7G,6DAA6D;YAC7D,4EAA4E;YAC5E,uEAAuE;YACvE,4FAA4F;YAC5F,uFAAuF;YACvF,6GAA6G;YAC7G,gFAAgF;YAChF,qFAAqF;YACrF,6EAA6E;YAC7E,EAAE;SACH,CAAC,IAAI,CAAC,IAAI,CAAC,CACb,CAAC;QACF,OAAO,IAAI,CAAC;IACd,CAAC;IACD,OAAO,KAAK,CAAC;AACf,CAAC;AAED,cAAc;AAEd,KAAK,UAAU,IAAI;IACjB,IAAI,MAAM,cAAc,EAAE;QAAE,OAAO;IACnC,gEAAgE;IAChE,6DAA6D;IAC7D,mEAAmE;IACnE,sEAAsE;IACtE,IAAI,CAAC;QACH,MAAM,QAAQ,EAAE,CAAC;IACnB,CAAC;IAAC,OAAO,CAAC,EAAE,CAAC;QACX,IAAI,CAAC,YAAY,0BAA0B,EAAE,CAAC;YAC5C,sCAAsC;YACtC,OAAO,CAAC,KAAK,CAAC,wCAAwC,CAAC,CAAC,OAAO,IAAI,CAAC,CAAC;YACrE,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QAClB,CAAC;QACD,MAAM,CAAC,CAAC;IACV,CAAC;IACD,kEAAkE;IAClE,yEAAyE;IACzE,sEAAsE;IACtE,kDAAkD;IAClD,eAAe,CAAC,OAAO,CAAC,CAAC;IACzB,wEAAwE;IACxE,sEAAsE;IACtE,qEAAqE;IACrE,MAAM,QAAQ,GAAG,MAAM,YAAY,CAAC,iBAAiB,EAAE,CAAC,CAAC;IACzD,IAAI,QAAQ;QAAE,oBAAoB,CAAC,QAAQ,EAAE,eAAe,CAAC,CAAC;IAC9D,MAAM,MAAM,GAAG,OAAO,EAAE,CAAC;IACzB,GAAG,CAAC,IAAI,CAAC,UAAU,EAAE;QACnB,OAAO,EAAE,iBAAiB,EAAE;QAC5B,KAAK,EAAE,gBAAgB,CAAC,MAAM;QAC9B,IAAI,EAAE,MAAM,CAAC,GAAG,CAAC,MAAM;QACvB,WAAW,EAAE,MAAM,CAAC,OAAO,CAAC,QAAQ;QACpC,SAAS,EAAE,MAAM,CAAC,UAAU;QAC5B,eAAe,EAAE,QAAQ,KAAK,IAAI;KACnC,CAAC,CAAC;IACH,MAAM,SAAS,GAAG,IAAI,oBAAoB,EAAE,CAAC;IAC7C,MAAM,MAAM,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;AAClC,CAAC;AAED,IAAI,EAAE,CAAC,KAAK,CAAC,CAAC,KAAK,EAAE,EAAE;IACrB,sCAAsC;IACtC,OAAO,CAAC,KAAK,CAAC,QAAQ,EAAE,KAAK,CAAC,CAAC;IAC/B,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;AAClB,CAAC,CAAC,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|
package/build/lib/auth-api.d.ts
CHANGED
|
@@ -3,19 +3,24 @@
|
|
|
3
3
|
* because these are credential-exchange calls that don't take a
|
|
4
4
|
* `LOG10X_API_KEY` (the goal IS to get one).
|
|
5
5
|
*/
|
|
6
|
-
export interface
|
|
6
|
+
export interface SigninResponse {
|
|
7
7
|
/** Long-lived Log10x API key. Persist this. */
|
|
8
8
|
api_key: string;
|
|
9
|
-
/** User's email
|
|
9
|
+
/** User's email. The backend reads it from the Auth0 user record's
|
|
10
|
+
* email attribute. May be empty if Auth0 didn't capture one
|
|
11
|
+
* (e.g. a misconfigured social connection); the MCP should treat
|
|
12
|
+
* empty as "no email" and continue. */
|
|
10
13
|
username: string;
|
|
11
|
-
/** GitHub login (e.g. "talweiss"). */
|
|
12
|
-
github_login: string;
|
|
13
|
-
/** True for fresh signups, false when an existing account was matched. */
|
|
14
|
-
is_new_account: boolean;
|
|
15
14
|
}
|
|
16
15
|
/**
|
|
17
|
-
* POST /api/v1/auth/
|
|
18
|
-
*
|
|
19
|
-
*
|
|
16
|
+
* POST /api/v1/auth/token with an Auth0 access_token (issued via the
|
|
17
|
+
* Device Authorization Flow against `auth.log10x.com`). The BE calls
|
|
18
|
+
* Auth0's `/userinfo` to resolve the `sub`, then looks up the user
|
|
19
|
+
* record via the Management API and returns the long-lived api_key
|
|
20
|
+
* stored in `app_metadata.api_key`.
|
|
21
|
+
*
|
|
22
|
+
* The Auth0 access_token is single-use from the MCP's perspective:
|
|
23
|
+
* we don't keep it after this exchange. The api_key is what
|
|
24
|
+
* authenticates every subsequent log10x call.
|
|
20
25
|
*/
|
|
21
|
-
export declare function
|
|
26
|
+
export declare function exchangeAuth0TokenForApiKey(auth0AccessToken: string): Promise<SigninResponse>;
|
package/build/lib/auth-api.js
CHANGED
|
@@ -8,20 +8,26 @@ function getBase() {
|
|
|
8
8
|
return process.env.LOG10X_API_BASE || DEFAULT_BASE;
|
|
9
9
|
}
|
|
10
10
|
/**
|
|
11
|
-
* POST /api/v1/auth/
|
|
12
|
-
*
|
|
13
|
-
*
|
|
11
|
+
* POST /api/v1/auth/token with an Auth0 access_token (issued via the
|
|
12
|
+
* Device Authorization Flow against `auth.log10x.com`). The BE calls
|
|
13
|
+
* Auth0's `/userinfo` to resolve the `sub`, then looks up the user
|
|
14
|
+
* record via the Management API and returns the long-lived api_key
|
|
15
|
+
* stored in `app_metadata.api_key`.
|
|
16
|
+
*
|
|
17
|
+
* The Auth0 access_token is single-use from the MCP's perspective:
|
|
18
|
+
* we don't keep it after this exchange. The api_key is what
|
|
19
|
+
* authenticates every subsequent log10x call.
|
|
14
20
|
*/
|
|
15
|
-
export async function
|
|
16
|
-
const url = new URL('/api/v1/auth/
|
|
21
|
+
export async function exchangeAuth0TokenForApiKey(auth0AccessToken) {
|
|
22
|
+
const url = new URL('/api/v1/auth/token', getBase()).toString();
|
|
17
23
|
const res = await fetch(url, {
|
|
18
24
|
method: 'POST',
|
|
19
25
|
headers: { 'Content-Type': 'application/json' },
|
|
20
|
-
body: JSON.stringify({
|
|
26
|
+
body: JSON.stringify({ access_token: auth0AccessToken }),
|
|
21
27
|
});
|
|
22
28
|
if (!res.ok) {
|
|
23
29
|
const body = await res.text().catch(() => '');
|
|
24
|
-
throw new Error(`Log10x BE rejected
|
|
30
|
+
throw new Error(`Log10x BE rejected the Auth0 access token: HTTP ${res.status}: ${body.slice(0, 300)}`);
|
|
25
31
|
}
|
|
26
32
|
const json = (await res.json());
|
|
27
33
|
if (!json.api_key) {
|
|
@@ -30,8 +36,6 @@ export async function exchangeGithubTokenForApiKey(githubToken) {
|
|
|
30
36
|
return {
|
|
31
37
|
api_key: json.api_key,
|
|
32
38
|
username: json.username || '',
|
|
33
|
-
github_login: json.github_login || '',
|
|
34
|
-
is_new_account: !!json.is_new_account,
|
|
35
39
|
};
|
|
36
40
|
}
|
|
37
41
|
//# sourceMappingURL=auth-api.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"auth-api.js","sourceRoot":"","sources":["../../src/lib/auth-api.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,MAAM,YAAY,GAAG,+BAA+B,CAAC;AAErD,SAAS,OAAO;IACd,OAAO,OAAO,CAAC,GAAG,CAAC,eAAe,IAAI,YAAY,CAAC;AACrD,CAAC;
|
|
1
|
+
{"version":3,"file":"auth-api.js","sourceRoot":"","sources":["../../src/lib/auth-api.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,MAAM,YAAY,GAAG,+BAA+B,CAAC;AAErD,SAAS,OAAO;IACd,OAAO,OAAO,CAAC,GAAG,CAAC,eAAe,IAAI,YAAY,CAAC;AACrD,CAAC;AAYD;;;;;;;;;;GAUG;AACH,MAAM,CAAC,KAAK,UAAU,2BAA2B,CAAC,gBAAwB;IACxE,MAAM,GAAG,GAAG,IAAI,GAAG,CAAC,oBAAoB,EAAE,OAAO,EAAE,CAAC,CAAC,QAAQ,EAAE,CAAC;IAChE,MAAM,GAAG,GAAG,MAAM,KAAK,CAAC,GAAG,EAAE;QAC3B,MAAM,EAAE,MAAM;QACd,OAAO,EAAE,EAAE,cAAc,EAAE,kBAAkB,EAAE;QAC/C,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,EAAE,YAAY,EAAE,gBAAgB,EAAE,CAAC;KACzD,CAAC,CAAC;IACH,IAAI,CAAC,GAAG,CAAC,EAAE,EAAE,CAAC;QACZ,MAAM,IAAI,GAAG,MAAM,GAAG,CAAC,IAAI,EAAE,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,EAAE,CAAC,CAAC;QAC9C,MAAM,IAAI,KAAK,CAAC,mDAAmD,GAAG,CAAC,MAAM,KAAK,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,GAAG,CAAC,EAAE,CAAC,CAAC;IAC1G,CAAC;IACD,MAAM,IAAI,GAAG,CAAC,MAAM,GAAG,CAAC,IAAI,EAAE,CAA4B,CAAC;IAC3D,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,CAAC;QAClB,MAAM,IAAI,KAAK,CAAC,uCAAuC,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,GAAG,CAAC,EAAE,CAAC,CAAC;IAC/F,CAAC;IACD,OAAO;QACL,OAAO,EAAE,IAAI,CAAC,OAAO;QACrB,QAAQ,EAAE,IAAI,CAAC,QAAQ,IAAI,EAAE;KAC9B,CAAC;AACJ,CAAC"}
|
|
@@ -0,0 +1,92 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Auth0 OAuth 2.0 Device Authorization Flow client (RFC 8628).
|
|
3
|
+
*
|
|
4
|
+
* Used by `log10x_signin_start` (step 1: requestDeviceCode) and
|
|
5
|
+
* `log10x_signin_complete` (step 2: pollForAccessToken). The flow:
|
|
6
|
+
*
|
|
7
|
+
* 1. POST `{AUTH0_DOMAIN}/oauth/device/code` with our public client_id
|
|
8
|
+
* → get back `device_code`, `user_code`, `verification_uri`,
|
|
9
|
+
* `verification_uri_complete`, `interval`, `expires_in`.
|
|
10
|
+
* 2. The MCP shows the user the verification URL (Auth0 already
|
|
11
|
+
* embeds the user_code in `verification_uri_complete`) and
|
|
12
|
+
* launches their browser to it.
|
|
13
|
+
* 3. The user lands on Auth0's universal login page where they pick
|
|
14
|
+
* GitHub, Google, or any other social/db connection enabled on
|
|
15
|
+
* our `mcp_backend` Auth0 client. They complete the chosen IdP's
|
|
16
|
+
* OAuth, Auth0 mints a session, then prompts them to confirm the
|
|
17
|
+
* device authorization.
|
|
18
|
+
* 4. Poll `{AUTH0_DOMAIN}/oauth/token` every `interval` seconds with
|
|
19
|
+
* `grant_type=urn:ietf:params:oauth:grant-type:device_code`. Auth0
|
|
20
|
+
* responds with `authorization_pending` (HTTP 403) until the user
|
|
21
|
+
* confirms, then 200 + `access_token`/`id_token`/`refresh_token`.
|
|
22
|
+
*
|
|
23
|
+
* The Auth0 client must be of `app_type=native` and have the device_code
|
|
24
|
+
* grant enabled. Client_id is public per RFC 8628 (appears in the
|
|
25
|
+
* verification URL the user sees in their browser).
|
|
26
|
+
*
|
|
27
|
+
* References:
|
|
28
|
+
* - https://auth0.com/docs/get-started/authentication-and-authorization-flow/device-authorization-flow
|
|
29
|
+
* - https://datatracker.ietf.org/doc/html/rfc8628
|
|
30
|
+
*/
|
|
31
|
+
/** Auth0 custom domain. Override via env for staging/forks. */
|
|
32
|
+
export declare const LOG10X_AUTH0_DOMAIN: string;
|
|
33
|
+
/** Auth0 native client id for the MCP. Public by design (appears in
|
|
34
|
+
* the user's verification URL during Device Flow). Override via env to
|
|
35
|
+
* point an MCP build at a different tenant (e.g. staging). */
|
|
36
|
+
export declare const LOG10X_AUTH0_CLIENT_ID: string;
|
|
37
|
+
/** Scopes for the device-code request.
|
|
38
|
+
* - `openid` is required for Auth0 to issue an ID token at all.
|
|
39
|
+
* - `profile` and `email` populate the standard OIDC claims so the
|
|
40
|
+
* backend's /userinfo lookup returns a real email + name.
|
|
41
|
+
* - `offline_access` requests a refresh_token so the user could
|
|
42
|
+
* re-issue access tokens later without going through Device Flow
|
|
43
|
+
* again. The MCP itself doesn't currently use it (we exchange the
|
|
44
|
+
* access_token for a long-lived api_key and then forget the Auth0
|
|
45
|
+
* session), but it's cheap to ask for and lets future flows refresh
|
|
46
|
+
* without a fresh login. */
|
|
47
|
+
export declare const REQUESTED_SCOPES = "openid profile email offline_access";
|
|
48
|
+
export interface DeviceCodeResponse {
|
|
49
|
+
device_code: string;
|
|
50
|
+
user_code: string;
|
|
51
|
+
verification_uri: string;
|
|
52
|
+
/** Auth0 returns this with the user_code already embedded. Prefer
|
|
53
|
+
* it over manually building one. */
|
|
54
|
+
verification_uri_complete: string;
|
|
55
|
+
/** Seconds the device_code is valid; usually 900 (15 min). */
|
|
56
|
+
expires_in: number;
|
|
57
|
+
/** Minimum poll interval in seconds; usually 5. */
|
|
58
|
+
interval: number;
|
|
59
|
+
}
|
|
60
|
+
export interface AccessTokenResponse {
|
|
61
|
+
access_token: string;
|
|
62
|
+
id_token?: string;
|
|
63
|
+
refresh_token?: string;
|
|
64
|
+
scope?: string;
|
|
65
|
+
expires_in?: number;
|
|
66
|
+
token_type: string;
|
|
67
|
+
}
|
|
68
|
+
/**
|
|
69
|
+
* Step 1: ask Auth0 for a device + user code.
|
|
70
|
+
*/
|
|
71
|
+
export declare function requestDeviceCode(clientId?: string, scope?: string, domain?: string): Promise<DeviceCodeResponse>;
|
|
72
|
+
export interface PollOptions {
|
|
73
|
+
deviceCode: string;
|
|
74
|
+
/** Seconds between polls (from `requestDeviceCode`). */
|
|
75
|
+
interval: number;
|
|
76
|
+
/** Total polling deadline in seconds. */
|
|
77
|
+
expiresIn: number;
|
|
78
|
+
clientId?: string;
|
|
79
|
+
domain?: string;
|
|
80
|
+
/** Optional callback to log/render progress on each poll. */
|
|
81
|
+
onTick?: (elapsedSec: number) => void;
|
|
82
|
+
}
|
|
83
|
+
/**
|
|
84
|
+
* Step 2/3: poll until Auth0 gives us an access token, the user
|
|
85
|
+
* declines, or the device_code expires. Honors the `slow_down`
|
|
86
|
+
* back-pressure signal by adding 5s to the interval each time.
|
|
87
|
+
*
|
|
88
|
+
* Auth0 returns these errors as HTTP 403 with a JSON body of
|
|
89
|
+
* `{error: ..., error_description: ...}`. We don't surface the 403
|
|
90
|
+
* itself as an error; we read the body and decide based on `error`.
|
|
91
|
+
*/
|
|
92
|
+
export declare function pollForAccessToken(opts: PollOptions): Promise<AccessTokenResponse>;
|