@lobu/gateway 3.0.9 → 3.0.12
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/api/platform.d.ts.map +1 -1
- package/dist/api/platform.js +7 -26
- package/dist/api/platform.js.map +1 -1
- package/dist/auth/mcp/proxy.d.ts +14 -0
- package/dist/auth/mcp/proxy.d.ts.map +1 -1
- package/dist/auth/mcp/proxy.js +149 -13
- package/dist/auth/mcp/proxy.js.map +1 -1
- package/dist/cli/gateway.d.ts.map +1 -1
- package/dist/cli/gateway.js +29 -0
- package/dist/cli/gateway.js.map +1 -1
- package/dist/connections/chat-instance-manager.d.ts.map +1 -1
- package/dist/connections/chat-instance-manager.js +2 -1
- package/dist/connections/chat-instance-manager.js.map +1 -1
- package/dist/connections/interaction-bridge.d.ts +9 -2
- package/dist/connections/interaction-bridge.d.ts.map +1 -1
- package/dist/connections/interaction-bridge.js +121 -261
- package/dist/connections/interaction-bridge.js.map +1 -1
- package/dist/interactions.d.ts +9 -43
- package/dist/interactions.d.ts.map +1 -1
- package/dist/interactions.js +10 -52
- package/dist/interactions.js.map +1 -1
- package/dist/routes/public/agent.d.ts +4 -0
- package/dist/routes/public/agent.d.ts.map +1 -1
- package/dist/routes/public/agent.js +21 -0
- package/dist/routes/public/agent.js.map +1 -1
- package/dist/services/core-services.d.ts.map +1 -1
- package/dist/services/core-services.js +4 -0
- package/dist/services/core-services.js.map +1 -1
- package/package.json +9 -9
- package/src/__tests__/agent-config-routes.test.ts +0 -254
- package/src/__tests__/agent-history-routes.test.ts +0 -72
- package/src/__tests__/agent-routes.test.ts +0 -68
- package/src/__tests__/agent-schedules-routes.test.ts +0 -59
- package/src/__tests__/agent-settings-store.test.ts +0 -323
- package/src/__tests__/bedrock-model-catalog.test.ts +0 -40
- package/src/__tests__/bedrock-openai-service.test.ts +0 -157
- package/src/__tests__/bedrock-provider-module.test.ts +0 -56
- package/src/__tests__/chat-instance-manager-slack.test.ts +0 -204
- package/src/__tests__/chat-response-bridge.test.ts +0 -131
- package/src/__tests__/config-memory-plugins.test.ts +0 -92
- package/src/__tests__/config-request-store.test.ts +0 -127
- package/src/__tests__/connection-routes.test.ts +0 -144
- package/src/__tests__/core-services-store-selection.test.ts +0 -92
- package/src/__tests__/docker-deployment.test.ts +0 -1211
- package/src/__tests__/embedded-deployment.test.ts +0 -342
- package/src/__tests__/grant-store.test.ts +0 -148
- package/src/__tests__/http-proxy.test.ts +0 -281
- package/src/__tests__/instruction-service.test.ts +0 -37
- package/src/__tests__/link-buttons.test.ts +0 -112
- package/src/__tests__/lobu.test.ts +0 -32
- package/src/__tests__/mcp-config-service.test.ts +0 -347
- package/src/__tests__/mcp-proxy.test.ts +0 -694
- package/src/__tests__/message-handler-bridge.test.ts +0 -17
- package/src/__tests__/model-selection.test.ts +0 -172
- package/src/__tests__/oauth-templates.test.ts +0 -39
- package/src/__tests__/platform-adapter-slack-send.test.ts +0 -114
- package/src/__tests__/platform-helpers-model-resolution.test.ts +0 -253
- package/src/__tests__/provider-inheritance.test.ts +0 -212
- package/src/__tests__/routes/cli-auth.test.ts +0 -337
- package/src/__tests__/routes/interactions.test.ts +0 -121
- package/src/__tests__/secret-proxy.test.ts +0 -85
- package/src/__tests__/session-manager.test.ts +0 -572
- package/src/__tests__/setup.ts +0 -133
- package/src/__tests__/skill-and-mcp-registry.test.ts +0 -203
- package/src/__tests__/slack-routes.test.ts +0 -161
- package/src/__tests__/system-config-resolver.test.ts +0 -75
- package/src/__tests__/system-message-limiter.test.ts +0 -89
- package/src/__tests__/system-skills-service.test.ts +0 -362
- package/src/__tests__/transcription-service.test.ts +0 -222
- package/src/__tests__/utils/rate-limiter.test.ts +0 -102
- package/src/__tests__/worker-connection-manager.test.ts +0 -497
- package/src/__tests__/worker-job-router.test.ts +0 -722
- package/src/api/index.ts +0 -1
- package/src/api/platform.ts +0 -292
- package/src/api/response-renderer.ts +0 -157
- package/src/auth/agent-metadata-store.ts +0 -168
- package/src/auth/api-auth-middleware.ts +0 -69
- package/src/auth/api-key-provider-module.ts +0 -213
- package/src/auth/base-provider-module.ts +0 -201
- package/src/auth/bedrock/provider-module.ts +0 -110
- package/src/auth/chatgpt/chatgpt-oauth-module.ts +0 -185
- package/src/auth/chatgpt/device-code-client.ts +0 -218
- package/src/auth/chatgpt/index.ts +0 -1
- package/src/auth/claude/oauth-module.ts +0 -280
- package/src/auth/cli/token-service.ts +0 -249
- package/src/auth/external/client.ts +0 -560
- package/src/auth/external/device-code-client.ts +0 -235
- package/src/auth/mcp/config-service.ts +0 -420
- package/src/auth/mcp/proxy.ts +0 -1086
- package/src/auth/mcp/string-substitution.ts +0 -17
- package/src/auth/mcp/tool-cache.ts +0 -90
- package/src/auth/oauth/base-client.ts +0 -267
- package/src/auth/oauth/client.ts +0 -153
- package/src/auth/oauth/credentials.ts +0 -7
- package/src/auth/oauth/providers.ts +0 -69
- package/src/auth/oauth/state-store.ts +0 -150
- package/src/auth/oauth-templates.ts +0 -179
- package/src/auth/provider-catalog.ts +0 -220
- package/src/auth/provider-model-options.ts +0 -41
- package/src/auth/settings/agent-settings-store.ts +0 -565
- package/src/auth/settings/auth-profiles-manager.ts +0 -216
- package/src/auth/settings/index.ts +0 -12
- package/src/auth/settings/model-preference-store.ts +0 -52
- package/src/auth/settings/model-selection.ts +0 -135
- package/src/auth/settings/resolved-settings-view.ts +0 -298
- package/src/auth/settings/template-utils.ts +0 -44
- package/src/auth/settings/token-service.ts +0 -88
- package/src/auth/system-env-store.ts +0 -98
- package/src/auth/user-agents-store.ts +0 -68
- package/src/channels/binding-service.ts +0 -214
- package/src/channels/index.ts +0 -4
- package/src/cli/gateway.ts +0 -1312
- package/src/cli/index.ts +0 -74
- package/src/commands/built-in-commands.ts +0 -80
- package/src/commands/command-dispatcher.ts +0 -94
- package/src/commands/command-reply-adapters.ts +0 -27
- package/src/config/file-loader.ts +0 -618
- package/src/config/index.ts +0 -588
- package/src/config/network-allowlist.ts +0 -71
- package/src/connections/chat-instance-manager.ts +0 -1284
- package/src/connections/chat-response-bridge.ts +0 -618
- package/src/connections/index.ts +0 -7
- package/src/connections/interaction-bridge.ts +0 -831
- package/src/connections/message-handler-bridge.ts +0 -440
- package/src/connections/platform-auth-methods.ts +0 -15
- package/src/connections/types.ts +0 -84
- package/src/gateway/connection-manager.ts +0 -291
- package/src/gateway/index.ts +0 -698
- package/src/gateway/job-router.ts +0 -201
- package/src/gateway-main.ts +0 -200
- package/src/index.ts +0 -41
- package/src/infrastructure/queue/index.ts +0 -12
- package/src/infrastructure/queue/queue-producer.ts +0 -148
- package/src/infrastructure/queue/redis-queue.ts +0 -361
- package/src/infrastructure/queue/types.ts +0 -133
- package/src/infrastructure/redis/system-message-limiter.ts +0 -94
- package/src/interactions/config-request-store.ts +0 -198
- package/src/interactions.ts +0 -363
- package/src/lobu.ts +0 -311
- package/src/metrics/prometheus.ts +0 -159
- package/src/modules/module-system.ts +0 -179
- package/src/orchestration/base-deployment-manager.ts +0 -900
- package/src/orchestration/deployment-utils.ts +0 -98
- package/src/orchestration/impl/docker-deployment.ts +0 -620
- package/src/orchestration/impl/embedded-deployment.ts +0 -268
- package/src/orchestration/impl/index.ts +0 -8
- package/src/orchestration/impl/k8s/deployment.ts +0 -1061
- package/src/orchestration/impl/k8s/helpers.ts +0 -610
- package/src/orchestration/impl/k8s/index.ts +0 -1
- package/src/orchestration/index.ts +0 -333
- package/src/orchestration/message-consumer.ts +0 -584
- package/src/orchestration/scheduled-wakeup.ts +0 -704
- package/src/permissions/approval-policy.ts +0 -36
- package/src/permissions/grant-store.ts +0 -219
- package/src/platform/file-handler.ts +0 -66
- package/src/platform/link-buttons.ts +0 -57
- package/src/platform/renderer-utils.ts +0 -44
- package/src/platform/response-renderer.ts +0 -84
- package/src/platform/unified-thread-consumer.ts +0 -194
- package/src/platform.ts +0 -318
- package/src/proxy/http-proxy.ts +0 -752
- package/src/proxy/proxy-manager.ts +0 -81
- package/src/proxy/secret-proxy.ts +0 -402
- package/src/proxy/token-refresh-job.ts +0 -143
- package/src/routes/internal/audio.ts +0 -141
- package/src/routes/internal/device-auth.ts +0 -652
- package/src/routes/internal/files.ts +0 -226
- package/src/routes/internal/history.ts +0 -69
- package/src/routes/internal/images.ts +0 -127
- package/src/routes/internal/interactions.ts +0 -84
- package/src/routes/internal/middleware.ts +0 -23
- package/src/routes/internal/schedule.ts +0 -226
- package/src/routes/internal/types.ts +0 -22
- package/src/routes/openapi-auto.ts +0 -239
- package/src/routes/public/agent-access.ts +0 -23
- package/src/routes/public/agent-config.ts +0 -675
- package/src/routes/public/agent-history.ts +0 -422
- package/src/routes/public/agent-schedules.ts +0 -296
- package/src/routes/public/agent.ts +0 -1086
- package/src/routes/public/agents.ts +0 -373
- package/src/routes/public/channels.ts +0 -191
- package/src/routes/public/cli-auth.ts +0 -896
- package/src/routes/public/connections.ts +0 -574
- package/src/routes/public/landing.ts +0 -16
- package/src/routes/public/oauth.ts +0 -147
- package/src/routes/public/settings-auth.ts +0 -104
- package/src/routes/public/slack.ts +0 -173
- package/src/routes/shared/agent-ownership.ts +0 -101
- package/src/routes/shared/token-verifier.ts +0 -34
- package/src/services/bedrock-model-catalog.ts +0 -217
- package/src/services/bedrock-openai-service.ts +0 -658
- package/src/services/core-services.ts +0 -1072
- package/src/services/image-generation-service.ts +0 -257
- package/src/services/instruction-service.ts +0 -318
- package/src/services/mcp-registry.ts +0 -94
- package/src/services/platform-helpers.ts +0 -287
- package/src/services/session-manager.ts +0 -262
- package/src/services/settings-resolver.ts +0 -74
- package/src/services/system-config-resolver.ts +0 -89
- package/src/services/system-skills-service.ts +0 -229
- package/src/services/transcription-service.ts +0 -684
- package/src/session.ts +0 -110
- package/src/spaces/index.ts +0 -1
- package/src/spaces/space-resolver.ts +0 -17
- package/src/stores/in-memory-agent-store.ts +0 -403
- package/src/stores/redis-agent-store.ts +0 -279
- package/src/utils/public-url.ts +0 -44
- package/src/utils/rate-limiter.ts +0 -94
- package/tsconfig.json +0 -33
- package/tsconfig.tsbuildinfo +0 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"platform.d.ts","sourceRoot":"","sources":["../../src/api/platform.ts"],"names":[],"mappings":";AAEA;;;;GAIG;AAGH,OAAO,EAAgB,KAAK,mBAAmB,EAAE,MAAM,YAAY,CAAC;AACpE,OAAO,KAAK,EAAE,YAAY,EAAE,eAAe,EAAE,MAAM,aAAa,CAAC;AACjE,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,+BAA+B,CAAC;AAMtE;;GAEG;AACH,MAAM,WAAW,iBAAiB;IAChC,0CAA0C;IAC1C,OAAO,CAAC,EAAE,OAAO,CAAC;CACnB;AAED;;;;;;;;GAQG;AACH,qBAAa,WAAY,YAAW,eAAe;IACjD,QAAQ,CAAC,IAAI,SAAS;IAEtB,OAAO,CAAC,gBAAgB,CAAC,CAAsB;IAC/C,OAAO,CAAC,SAAS,CAAS;IAC1B,OAAO,CAAC,QAAQ,CAAC,CAAe;IAEhC;;OAEG;IACG,UAAU,CAAC,QAAQ,EAAE,YAAY,GAAG,OAAO,CAAC,IAAI,CAAC;
|
|
1
|
+
{"version":3,"file":"platform.d.ts","sourceRoot":"","sources":["../../src/api/platform.ts"],"names":[],"mappings":";AAEA;;;;GAIG;AAGH,OAAO,EAAgB,KAAK,mBAAmB,EAAE,MAAM,YAAY,CAAC;AACpE,OAAO,KAAK,EAAE,YAAY,EAAE,eAAe,EAAE,MAAM,aAAa,CAAC;AACjE,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,+BAA+B,CAAC;AAMtE;;GAEG;AACH,MAAM,WAAW,iBAAiB;IAChC,0CAA0C;IAC1C,OAAO,CAAC,EAAE,OAAO,CAAC;CACnB;AAED;;;;;;;;GAQG;AACH,qBAAa,WAAY,YAAW,eAAe;IACjD,QAAQ,CAAC,IAAI,SAAS;IAEtB,OAAO,CAAC,gBAAgB,CAAC,CAAsB;IAC/C,OAAO,CAAC,SAAS,CAAS;IAC1B,OAAO,CAAC,QAAQ,CAAC,CAAe;IAEhC;;OAEG;IACG,UAAU,CAAC,QAAQ,EAAE,YAAY,GAAG,OAAO,CAAC,IAAI,CAAC;IA2DvD;;;OAGG;IACG,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC;IAK5B;;OAEG;IACG,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC;IAK3B;;OAEG;IACH,SAAS,IAAI,OAAO;IAIpB;;OAEG;IACH,sBAAsB,IAAI,mBAAmB,GAAG,IAAI;IAIpD;;;OAGG;IACH,uBAAuB,CACrB,cAAc,EAAE,MAAM,EACtB,SAAS,EAAE,MAAM,EACjB,gBAAgB,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,GACpC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC;IAQzB;;OAEG;IACH,mBAAmB,IAAI,gBAAgB,GAAG,SAAS;IAInD;;OAEG;IACG,gBAAgB,IAAI,OAAO,CAAC,IAAI,CAAC;IAIvC;;OAEG;IACG,eAAe,IAAI,OAAO,CAAC,IAAI,CAAC;IAItC;;;;;;;OAOG;IACG,WAAW,CACf,KAAK,EAAE,MAAM,EACb,OAAO,EAAE,MAAM,EACf,OAAO,EAAE;QACP,OAAO,EAAE,MAAM,CAAC;QAChB,SAAS,EAAE,MAAM,CAAC;QAClB,cAAc,EAAE,MAAM,CAAC;QACvB,MAAM,EAAE,MAAM,CAAC;QACf,KAAK,CAAC,EAAE,KAAK,CAAC;YAAE,MAAM,EAAE,MAAM,CAAC;YAAC,QAAQ,EAAE,MAAM,CAAA;SAAE,CAAC,CAAC;KACrD,GACA,OAAO,CAAC;QACT,SAAS,EAAE,MAAM,CAAC;QAClB,SAAS,CAAC,EAAE,MAAM,CAAC;QACnB,MAAM,CAAC,EAAE,OAAO,CAAC;KAClB,CAAC;CAgFH"}
|
package/dist/api/platform.js
CHANGED
|
@@ -58,39 +58,20 @@ class ApiPlatform {
|
|
|
58
58
|
timestamp: Date.now(),
|
|
59
59
|
});
|
|
60
60
|
});
|
|
61
|
-
interactionService.on("
|
|
61
|
+
interactionService.on("tool:approval-needed", (event) => {
|
|
62
62
|
if (event.teamId !== "api")
|
|
63
63
|
return;
|
|
64
|
-
(0, agent_1.broadcastToAgent)(event.conversationId, "
|
|
65
|
-
type: "
|
|
64
|
+
(0, agent_1.broadcastToAgent)(event.conversationId, "tool-approval", {
|
|
65
|
+
type: "tool-approval",
|
|
66
66
|
requestId: event.id,
|
|
67
|
-
|
|
68
|
-
|
|
67
|
+
mcpId: event.mcpId,
|
|
68
|
+
toolName: event.toolName,
|
|
69
|
+
args: event.args,
|
|
70
|
+
grantPattern: event.grantPattern,
|
|
69
71
|
durationOptions: ["once", "1h", "24h", "always"],
|
|
70
72
|
timestamp: Date.now(),
|
|
71
73
|
});
|
|
72
74
|
});
|
|
73
|
-
interactionService.on("package:requested", (event) => {
|
|
74
|
-
if (event.teamId !== "api")
|
|
75
|
-
return;
|
|
76
|
-
(0, agent_1.broadcastToAgent)(event.conversationId, "package-request", {
|
|
77
|
-
type: "package-request",
|
|
78
|
-
requestId: event.id,
|
|
79
|
-
packages: event.packages,
|
|
80
|
-
reason: event.reason,
|
|
81
|
-
timestamp: Date.now(),
|
|
82
|
-
});
|
|
83
|
-
});
|
|
84
|
-
interactionService.on("config:requested", (event) => {
|
|
85
|
-
if (event.teamId !== "api")
|
|
86
|
-
return;
|
|
87
|
-
(0, agent_1.broadcastToAgent)(event.conversationId, "config-request", {
|
|
88
|
-
type: "config-request",
|
|
89
|
-
requestId: event.id,
|
|
90
|
-
text: event.text,
|
|
91
|
-
timestamp: Date.now(),
|
|
92
|
-
});
|
|
93
|
-
});
|
|
94
75
|
interactionService.on("suggestion:created", (event) => {
|
|
95
76
|
if (event.teamId !== "api")
|
|
96
77
|
return;
|
package/dist/api/platform.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"platform.js","sourceRoot":"","sources":["../../src/api/platform.ts"],"names":[],"mappings":";;AAEA;;;;GAIG;;;AAEH,6CAAyC;AACzC,qCAAoE;AAGpE,kDAA0D;AAC1D,2DAA0D;AAE1D,MAAM,MAAM,GAAG,IAAA,mBAAY,EAAC,cAAc,CAAC,CAAC;AAU5C;;;;;;;;GAQG;AACH,MAAa,WAAW;IAAxB;QACW,SAAI,GAAG,KAAK,CAAC;QAGd,cAAS,GAAG,KAAK,CAAC;
|
|
1
|
+
{"version":3,"file":"platform.js","sourceRoot":"","sources":["../../src/api/platform.ts"],"names":[],"mappings":"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"}
|
package/dist/auth/mcp/proxy.d.ts
CHANGED
|
@@ -18,11 +18,25 @@ export declare class McpProxy {
|
|
|
18
18
|
private readonly configService;
|
|
19
19
|
private readonly grantStore?;
|
|
20
20
|
private readonly SESSION_TTL_SECONDS;
|
|
21
|
+
private readonly PENDING_TOOL_TTL;
|
|
21
22
|
private readonly redisClient;
|
|
22
23
|
private app;
|
|
23
24
|
private toolCache?;
|
|
25
|
+
/** Callback invoked when a tool call is blocked for approval. */
|
|
26
|
+
onToolBlocked?: (requestId: string, agentId: string, userId: string, mcpId: string, toolName: string, args: Record<string, unknown>, grantPattern: string, channelId: string, conversationId: string, teamId: string | undefined, connectionId: string | undefined) => Promise<void>;
|
|
24
27
|
constructor(configService: McpConfigSource, queue: IMessageQueue, toolCache?: McpToolCache, grantStore?: GrantStore | undefined);
|
|
25
28
|
getApp(): Hono;
|
|
29
|
+
/**
|
|
30
|
+
* Execute an MCP tool call directly (internal use, no HTTP auth).
|
|
31
|
+
* Used by the interaction bridge to execute tool calls after user approval.
|
|
32
|
+
*/
|
|
33
|
+
executeToolDirect(agentId: string, userId: string, mcpId: string, toolName: string, args: Record<string, unknown>): Promise<{
|
|
34
|
+
content: Array<{
|
|
35
|
+
type: string;
|
|
36
|
+
text: string;
|
|
37
|
+
}>;
|
|
38
|
+
isError: boolean;
|
|
39
|
+
}>;
|
|
26
40
|
/**
|
|
27
41
|
* Check if this request is an MCP proxy request (has X-Mcp-Id header)
|
|
28
42
|
* Used by gateway to determine if root path requests should be handled by MCP proxy
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"proxy.d.ts","sourceRoot":"","sources":["../../../src/auth/mcp/proxy.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"proxy.d.ts","sourceRoot":"","sources":["../../../src/auth/mcp/proxy.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,MAAM,CAAC;AACpC,OAAO,EAAE,IAAI,EAAE,MAAM,MAAM,CAAC;AAC5B,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,4BAA4B,CAAC;AAEhE,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,+BAA+B,CAAC;AAMhE,OAAO,KAAK,EAAmB,OAAO,EAAE,YAAY,EAAE,MAAM,cAAc,CAAC;AAwE3E,UAAU,mBAAmB;IAC3B,EAAE,EAAE,MAAM,CAAC;IACX,WAAW,EAAE,MAAM,CAAC;IACpB,KAAK,CAAC,EAAE,OAAO,YAAY,EAAE,cAAc,CAAC;IAC5C,MAAM,CAAC,EAAE,OAAO,EAAE,CAAC;IACnB,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;CAClC;AAED,UAAU,eAAe;IACvB,aAAa,CACX,EAAE,EAAE,MAAM,EACV,OAAO,CAAC,EAAE,MAAM,GACf,OAAO,CAAC,mBAAmB,GAAG,SAAS,CAAC,CAAC;IAC5C,iBAAiB,CACf,OAAO,CAAC,EAAE,MAAM,GACf,OAAO,CAAC,GAAG,CAAC,MAAM,EAAE,mBAAmB,CAAC,CAAC,CAAC;CAC9C;AA4BD,qBAAa,QAAQ;IAuBjB,OAAO,CAAC,QAAQ,CAAC,aAAa;IAG9B,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAC;IAzB9B,OAAO,CAAC,QAAQ,CAAC,mBAAmB,CAAW;IAC/C,OAAO,CAAC,QAAQ,CAAC,gBAAgB,CAAO;IACxC,OAAO,CAAC,QAAQ,CAAC,WAAW,CAAM;IAClC,OAAO,CAAC,GAAG,CAAO;IAClB,OAAO,CAAC,SAAS,CAAC,CAAe;IAEjC,iEAAiE;IAC1D,aAAa,CAAC,EAAE,CACrB,SAAS,EAAE,MAAM,EACjB,OAAO,EAAE,MAAM,EACf,MAAM,EAAE,MAAM,EACd,KAAK,EAAE,MAAM,EACb,QAAQ,EAAE,MAAM,EAChB,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAC7B,YAAY,EAAE,MAAM,EACpB,SAAS,EAAE,MAAM,EACjB,cAAc,EAAE,MAAM,EACtB,MAAM,EAAE,MAAM,GAAG,SAAS,EAC1B,YAAY,EAAE,MAAM,GAAG,SAAS,KAC7B,OAAO,CAAC,IAAI,CAAC,CAAC;gBAGA,aAAa,EAAE,eAAe,EAC/C,KAAK,EAAE,aAAa,EACpB,SAAS,CAAC,EAAE,YAAY,EACP,UAAU,CAAC,EAAE,UAAU,YAAA;IAS1C,MAAM,IAAI,IAAI;IAId;;;OAGG;IACG,iBAAiB,CACrB,OAAO,EAAE,MAAM,EACf,MAAM,EAAE,MAAM,EACd,KAAK,EAAE,MAAM,EACb,QAAQ,EAAE,MAAM,EAChB,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAC5B,OAAO,CAAC;QACT,OAAO,EAAE,KAAK,CAAC;YAAE,IAAI,EAAE,MAAM,CAAC;YAAC,IAAI,EAAE,MAAM,CAAA;SAAE,CAAC,CAAC;QAC/C,OAAO,EAAE,OAAO,CAAC;KAClB,CAAC;IA4DF;;;OAGG;IACH,YAAY,CAAC,CAAC,EAAE,OAAO,GAAG,OAAO;IAIjC;;;;OAIG;IACG,gBAAgB,CACpB,KAAK,EAAE,MAAM,EACb,OAAO,EAAE,MAAM,EACf,SAAS,EAAE,GAAG,GACb,OAAO,CAAC;QAAE,KAAK,EAAE,OAAO,EAAE,CAAC;QAAC,YAAY,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC;IA0JvD,OAAO,CAAC,WAAW;YAeL,eAAe;YAmEf,cAAc;YA+Od,kBAAkB;YAgClB,kBAAkB;YAiJlB,kBAAkB;IAwBhC,OAAO,CAAC,oBAAoB;YA6Bd,sBAAsB;YAqCtB,mBAAmB;YA2DnB,cAAc;YAqGd,oBAAoB;IAYlC;;;OAGG;YACW,mBAAmB;IAsDjC;;;OAGG;YACW,iBAAiB;YAiDjB,UAAU;YAaV,UAAU;IAaxB,OAAO,CAAC,gBAAgB;CAezB"}
|
package/dist/auth/mcp/proxy.js
CHANGED
|
@@ -37,6 +37,7 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
|
37
37
|
};
|
|
38
38
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
39
39
|
exports.McpProxy = void 0;
|
|
40
|
+
const node_crypto_1 = require("node:crypto");
|
|
40
41
|
const promises_1 = __importDefault(require("node:dns/promises"));
|
|
41
42
|
const core_1 = require("@lobu/core");
|
|
42
43
|
const hono_1 = require("hono");
|
|
@@ -125,6 +126,7 @@ class McpProxy {
|
|
|
125
126
|
this.configService = configService;
|
|
126
127
|
this.grantStore = grantStore;
|
|
127
128
|
this.SESSION_TTL_SECONDS = 30 * 60; // 30 minutes
|
|
129
|
+
this.PENDING_TOOL_TTL = 300; // 5 minutes
|
|
128
130
|
this.redisClient = queue.getRedisClient();
|
|
129
131
|
this.toolCache = toolCache;
|
|
130
132
|
this.app = new hono_1.Hono();
|
|
@@ -134,6 +136,59 @@ class McpProxy {
|
|
|
134
136
|
getApp() {
|
|
135
137
|
return this.app;
|
|
136
138
|
}
|
|
139
|
+
/**
|
|
140
|
+
* Execute an MCP tool call directly (internal use, no HTTP auth).
|
|
141
|
+
* Used by the interaction bridge to execute tool calls after user approval.
|
|
142
|
+
*/
|
|
143
|
+
async executeToolDirect(agentId, userId, mcpId, toolName, args) {
|
|
144
|
+
const httpServer = await this.configService.getHttpServer(mcpId, agentId);
|
|
145
|
+
if (!httpServer) {
|
|
146
|
+
return {
|
|
147
|
+
content: [{ type: "text", text: `MCP server '${mcpId}' not found` }],
|
|
148
|
+
isError: true,
|
|
149
|
+
};
|
|
150
|
+
}
|
|
151
|
+
const jsonRpcBody = JSON.stringify({
|
|
152
|
+
jsonrpc: "2.0",
|
|
153
|
+
method: "tools/call",
|
|
154
|
+
params: { name: toolName, arguments: args },
|
|
155
|
+
id: 1,
|
|
156
|
+
});
|
|
157
|
+
try {
|
|
158
|
+
const response = await this.sendUpstreamRequest(httpServer, agentId, mcpId, "POST", jsonRpcBody, userId);
|
|
159
|
+
if (!response.ok) {
|
|
160
|
+
const text = await response.text();
|
|
161
|
+
return {
|
|
162
|
+
content: [
|
|
163
|
+
{
|
|
164
|
+
type: "text",
|
|
165
|
+
text: `Tool call failed: ${response.status} ${text}`,
|
|
166
|
+
},
|
|
167
|
+
],
|
|
168
|
+
isError: true,
|
|
169
|
+
};
|
|
170
|
+
}
|
|
171
|
+
const json = (await response.json());
|
|
172
|
+
const result = json.result || json;
|
|
173
|
+
return {
|
|
174
|
+
content: result.content || [
|
|
175
|
+
{ type: "text", text: JSON.stringify(result) },
|
|
176
|
+
],
|
|
177
|
+
isError: result.isError || false,
|
|
178
|
+
};
|
|
179
|
+
}
|
|
180
|
+
catch (error) {
|
|
181
|
+
return {
|
|
182
|
+
content: [
|
|
183
|
+
{
|
|
184
|
+
type: "text",
|
|
185
|
+
text: `Tool execution error: ${String(error)}`,
|
|
186
|
+
},
|
|
187
|
+
],
|
|
188
|
+
isError: true,
|
|
189
|
+
};
|
|
190
|
+
}
|
|
191
|
+
}
|
|
137
192
|
/**
|
|
138
193
|
* Check if this request is an MCP proxy request (has X-Mcp-Id header)
|
|
139
194
|
* Used by gateway to determine if root path requests should be handled by MCP proxy
|
|
@@ -340,6 +395,20 @@ class McpProxy {
|
|
|
340
395
|
if (!httpServer) {
|
|
341
396
|
return c.json({ error: `MCP server '${mcpId}' not found` }, 404);
|
|
342
397
|
}
|
|
398
|
+
// Parse body early so tool arguments are available for the approval message.
|
|
399
|
+
let toolArguments = {};
|
|
400
|
+
try {
|
|
401
|
+
const body = await c.req.text();
|
|
402
|
+
if (body) {
|
|
403
|
+
if (body.length > MAX_BODY_SIZE) {
|
|
404
|
+
return c.json({ error: "Request body too large" }, 413);
|
|
405
|
+
}
|
|
406
|
+
toolArguments = JSON.parse(body);
|
|
407
|
+
}
|
|
408
|
+
}
|
|
409
|
+
catch (_a) {
|
|
410
|
+
return c.json({ error: "Invalid JSON body" }, 400);
|
|
411
|
+
}
|
|
343
412
|
// Check tool approval based on annotations and grants.
|
|
344
413
|
if (this.grantStore) {
|
|
345
414
|
const { found, annotations } = await this.getToolAnnotations(mcpId, toolName, agentId, auth.tokenData);
|
|
@@ -353,6 +422,28 @@ class McpProxy {
|
|
|
353
422
|
toolName,
|
|
354
423
|
pattern,
|
|
355
424
|
});
|
|
425
|
+
if (this.onToolBlocked) {
|
|
426
|
+
const requestId = `ta_${(0, node_crypto_1.randomUUID)()}`;
|
|
427
|
+
await this.redisClient
|
|
428
|
+
.set(`pending-tool:${requestId}`, JSON.stringify({
|
|
429
|
+
mcpId,
|
|
430
|
+
toolName,
|
|
431
|
+
args: toolArguments,
|
|
432
|
+
agentId,
|
|
433
|
+
userId: requesterUserId,
|
|
434
|
+
}), "EX", this.PENDING_TOOL_TTL)
|
|
435
|
+
.catch((err) => logger.error({ requestId, error: String(err) }, "Failed to store pending tool invocation"));
|
|
436
|
+
await this.onToolBlocked(requestId, agentId, requesterUserId, mcpId, toolName, toolArguments, pattern, auth.tokenData.channelId || "", auth.tokenData.conversationId || "", auth.tokenData.teamId, auth.tokenData.connectionId).catch((err) => logger.error({ requestId, error: String(err) }, "onToolBlocked callback failed"));
|
|
437
|
+
return c.json({
|
|
438
|
+
content: [
|
|
439
|
+
{
|
|
440
|
+
type: "text",
|
|
441
|
+
text: "Tool call requires approval. The user has been asked to approve. Your session will end. The result will arrive as your next message.",
|
|
442
|
+
},
|
|
443
|
+
],
|
|
444
|
+
isError: true,
|
|
445
|
+
}, 403);
|
|
446
|
+
}
|
|
356
447
|
return c.json({
|
|
357
448
|
content: [
|
|
358
449
|
{
|
|
@@ -365,19 +456,6 @@ class McpProxy {
|
|
|
365
456
|
}
|
|
366
457
|
}
|
|
367
458
|
}
|
|
368
|
-
let toolArguments = {};
|
|
369
|
-
try {
|
|
370
|
-
const body = await c.req.text();
|
|
371
|
-
if (body) {
|
|
372
|
-
if (body.length > MAX_BODY_SIZE) {
|
|
373
|
-
return c.json({ error: "Request body too large" }, 413);
|
|
374
|
-
}
|
|
375
|
-
toolArguments = JSON.parse(body);
|
|
376
|
-
}
|
|
377
|
-
}
|
|
378
|
-
catch (_a) {
|
|
379
|
-
return c.json({ error: "Invalid JSON body" }, 400);
|
|
380
|
-
}
|
|
381
459
|
try {
|
|
382
460
|
const jsonRpcBody = JSON.stringify({
|
|
383
461
|
jsonrpc: "2.0",
|
|
@@ -471,6 +549,7 @@ class McpProxy {
|
|
|
471
549
|
return c.json({ mcpServers });
|
|
472
550
|
}
|
|
473
551
|
async handleProxyRequest(c) {
|
|
552
|
+
var _a;
|
|
474
553
|
const mcpId = c.req.param("mcpId") || c.req.header("x-mcp-id");
|
|
475
554
|
const sessionToken = extractSessionToken(c);
|
|
476
555
|
logger.info("Handling MCP proxy request", {
|
|
@@ -494,6 +573,63 @@ class McpProxy {
|
|
|
494
573
|
if (!httpServer) {
|
|
495
574
|
return this.sendJsonRpcError(c, -32601, `MCP server '${mcpId}' not found`);
|
|
496
575
|
}
|
|
576
|
+
// Check tool approval for tools/call JSON-RPC requests.
|
|
577
|
+
// Clone the request so the body can be read twice (once here, once in forwardRequest).
|
|
578
|
+
if (this.grantStore && c.req.method === "POST") {
|
|
579
|
+
try {
|
|
580
|
+
const clonedReq = c.req.raw.clone();
|
|
581
|
+
const bodyText = await clonedReq.text();
|
|
582
|
+
if (bodyText) {
|
|
583
|
+
const jsonRpc = JSON.parse(bodyText);
|
|
584
|
+
if (jsonRpc.method === "tools/call" && ((_a = jsonRpc.params) === null || _a === void 0 ? void 0 : _a.name)) {
|
|
585
|
+
const toolName = jsonRpc.params.name;
|
|
586
|
+
const toolArgs = jsonRpc.params.arguments || {};
|
|
587
|
+
const { found, annotations } = await this.getToolAnnotations(mcpId, toolName, agentId, tokenData);
|
|
588
|
+
if (found && (0, approval_policy_1.requiresToolApproval)(annotations)) {
|
|
589
|
+
const pattern = `/mcp/${mcpId}/tools/${toolName}`;
|
|
590
|
+
const hasGrant = await this.grantStore.hasGrant(agentId, pattern);
|
|
591
|
+
if (!hasGrant) {
|
|
592
|
+
logger.info("Tool call blocked (JSON-RPC): requires approval", {
|
|
593
|
+
agentId,
|
|
594
|
+
mcpId,
|
|
595
|
+
toolName,
|
|
596
|
+
pattern,
|
|
597
|
+
});
|
|
598
|
+
if (this.onToolBlocked) {
|
|
599
|
+
const requestId = `ta_${(0, node_crypto_1.randomUUID)()}`;
|
|
600
|
+
await this.redisClient
|
|
601
|
+
.set(`pending-tool:${requestId}`, JSON.stringify({
|
|
602
|
+
mcpId,
|
|
603
|
+
toolName,
|
|
604
|
+
args: toolArgs,
|
|
605
|
+
agentId,
|
|
606
|
+
userId: tokenData.userId,
|
|
607
|
+
}), "EX", this.PENDING_TOOL_TTL)
|
|
608
|
+
.catch((err) => logger.error({ requestId, error: String(err) }, "Failed to store pending tool invocation"));
|
|
609
|
+
await this.onToolBlocked(requestId, agentId, tokenData.userId, mcpId, toolName, toolArgs, pattern, tokenData.channelId || "", tokenData.conversationId || "", tokenData.teamId, tokenData.connectionId).catch((err) => logger.error({ requestId, error: String(err) }, "onToolBlocked callback failed"));
|
|
610
|
+
}
|
|
611
|
+
return c.json({
|
|
612
|
+
jsonrpc: "2.0",
|
|
613
|
+
id: jsonRpc.id,
|
|
614
|
+
result: {
|
|
615
|
+
content: [
|
|
616
|
+
{
|
|
617
|
+
type: "text",
|
|
618
|
+
text: "Tool call requires approval. The user has been asked to approve. Your session will end. The result will arrive as your next message.",
|
|
619
|
+
},
|
|
620
|
+
],
|
|
621
|
+
isError: true,
|
|
622
|
+
},
|
|
623
|
+
});
|
|
624
|
+
}
|
|
625
|
+
}
|
|
626
|
+
}
|
|
627
|
+
}
|
|
628
|
+
}
|
|
629
|
+
catch (_b) {
|
|
630
|
+
// If body parsing fails, just forward the request as-is
|
|
631
|
+
}
|
|
632
|
+
}
|
|
497
633
|
try {
|
|
498
634
|
return await this.forwardRequest(c, httpServer, agentId, mcpId, tokenData.userId);
|
|
499
635
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"proxy.js","sourceRoot":"","sources":["../../../src/auth/mcp/proxy.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,iEAAoC;AACpC,qCAA6D;AAE7D,+BAA4B;AAE5B,uEAAyE;AAEzE,mEAI2C;AAG3C,MAAM,MAAM,GAAG,IAAA,mBAAY,EAAC,WAAW,CAAC,CAAC;AAEzC,MAAM,aAAa,GAAG,IAAI,GAAG,IAAI,CAAC,CAAC,MAAM;AAEzC;;GAEG;AACH,SAAS,YAAY,CAAC,EAAU;IAC9B,gBAAgB;IAChB,IAAI,EAAE,KAAK,KAAK;QAAE,OAAO,IAAI,CAAC;IAE9B,+BAA+B;IAC/B,IAAI,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC;QAAE,OAAO,IAAI,CAAC;IAEpC,OAAO;IACP,MAAM,KAAK,GAAG,EAAE,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;IACxC,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACvB,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,GAAG,KAAyC,CAAC;QACzD,cAAc;QACd,IAAI,CAAC,KAAK,GAAG;YAAE,OAAO,IAAI,CAAC;QAC3B,aAAa;QACb,IAAI,CAAC,KAAK,EAAE;YAAE,OAAO,IAAI,CAAC;QAC1B,gBAAgB;QAChB,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,IAAI,EAAE;YAAE,OAAO,IAAI,CAAC;QACjD,iBAAiB;QACjB,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,KAAK,GAAG;YAAE,OAAO,IAAI,CAAC;QACxC,8BAA8B;QAC9B,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,KAAK,GAAG;YAAE,OAAO,IAAI,CAAC;IAC1C,CAAC;IAED,OAAO,KAAK,CAAC;AACf,CAAC;AAED;;GAEG;AACH,KAAK,UAAU,aAAa,CAAC,GAAW;IACtC,IAAI,CAAC;QACH,MAAM,MAAM,GAAG,IAAI,GAAG,CAAC,GAAG,CAAC,CAAC;QAC5B,MAAM,QAAQ,GAAG,MAAM,CAAC,QAAQ,CAAC;QAEjC,6CAA6C;QAC7C,IAAI,YAAY,CAAC,QAAQ,CAAC;YAAE,OAAO,IAAI,CAAC;QAExC,mCAAmC;QACnC,MAAM,SAAS,GAAG,MAAM,kBAAG,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,EAAc,CAAC,CAAC;QAC3E,MAAM,UAAU,GAAG,MAAM,kBAAG,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,EAAc,CAAC,CAAC;QAE5E,KAAK,MAAM,IAAI,IAAI,CAAC,GAAG,SAAS,EAAE,GAAG,UAAU,CAAC,EAAE,CAAC;YACjD,IAAI,YAAY,CAAC,IAAI,CAAC;gBAAE,OAAO,IAAI,CAAC;QACtC,CAAC;QAED,OAAO,KAAK,CAAC;IACf,CAAC;IAAC,WAAM,CAAC;QACP,iCAAiC;QACjC,OAAO,IAAI,CAAC;IACd,CAAC;AACH,CAAC;AA+BD,SAAS,mBAAmB,CAC1B,CAAU;IAEV,MAAM,YAAY,GAAG,mBAAmB,CAAC,CAAC,CAAC,CAAC;IAC5C,IAAI,CAAC,YAAY;QAAE,OAAO,IAAI,CAAC;IAE/B,MAAM,SAAS,GAAG,IAAA,wBAAiB,EAAC,YAAY,CAAC,CAAC;IAClD,IAAI,CAAC,SAAS;QAAE,OAAO,IAAI,CAAC;IAE5B,OAAO,EAAE,SAAS,EAAE,KAAK,EAAE,YAAY,EAAE,CAAC;AAC5C,CAAC;AAED,SAAS,mBAAmB,CAAC,CAAU;IACrC,MAAM,UAAU,GAAG,CAAC,CAAC,GAAG,CAAC,MAAM,CAAC,eAAe,CAAC,CAAC;IACjD,IAAI,UAAU,aAAV,UAAU,uBAAV,UAAU,CAAE,UAAU,CAAC,SAAS,CAAC,EAAE,CAAC;QACtC,OAAO,UAAU,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC;IACjC,CAAC;IAED,MAAM,cAAc,GAAG,CAAC,CAAC,GAAG,CAAC,KAAK,CAAC,aAAa,CAAC,CAAC;IAClD,IAAI,OAAO,cAAc,KAAK,QAAQ,EAAE,CAAC;QACvC,OAAO,cAAc,CAAC;IACxB,CAAC;IAED,OAAO,IAAI,CAAC;AACd,CAAC;AAED,MAAa,QAAQ;IAMnB,YACmB,aAA8B,EAC/C,KAAoB,EACpB,SAAwB,EACP,UAAuB;QAHvB,kBAAa,GAAb,aAAa,CAAiB;QAG9B,eAAU,GAAV,UAAU,CAAa;QATzB,wBAAmB,GAAG,EAAE,GAAG,EAAE,CAAC,CAAC,aAAa;QAW3D,IAAI,CAAC,WAAW,GAAG,KAAK,CAAC,cAAc,EAAE,CAAC;QAC1C,IAAI,CAAC,SAAS,GAAG,SAAS,CAAC;QAC3B,IAAI,CAAC,GAAG,GAAG,IAAI,WAAI,EAAE,CAAC;QACtB,IAAI,CAAC,WAAW,EAAE,CAAC;QACnB,MAAM,CAAC,KAAK,CAAC,uBAAuB,CAAC,CAAC;IACxC,CAAC;IAED,MAAM;QACJ,OAAO,IAAI,CAAC,GAAG,CAAC;IAClB,CAAC;IAED;;;OAGG;IACH,YAAY,CAAC,CAAU;QACrB,OAAO,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC;IACpC,CAAC;IAED;;;;OAIG;IACH,KAAK,CAAC,gBAAgB,CACpB,KAAa,EACb,OAAe,EACf,SAAc;;QAEd,IAAI,IAAI,CAAC,SAAS,EAAE,CAAC;YACnB,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,SAAS,CAAC,aAAa,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC;YAClE,IAAI,MAAM;gBAAE,OAAO,MAAM,CAAC;QAC5B,CAAC;QAED,MAAM,UAAU,GAAG,MAAM,IAAI,CAAC,aAAa,CAAC,aAAa,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC;QAC1E,IAAI,CAAC,UAAU,EAAE,CAAC;YAChB,OAAO,EAAE,KAAK,EAAE,EAAE,EAAE,CAAC;QACvB,CAAC;QAED,MAAM,MAAM,GAAG,SAAS,aAAT,SAAS,uBAAT,SAAS,CAAE,MAAM,CAAC;QAEjC,IAAI,CAAC;YACH,sDAAsD;YACtD,MAAM,UAAU,GAAG,eAAe,OAAO,IAAI,KAAK,EAAE,CAAC;YACrD,MAAM,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC,KAAK,CAAC,GAAG,EAAE;gBAChD,UAAU;YACZ,CAAC,CAAC,CAAC;YAEH,yDAAyD;YACzD,IAAI,YAAgC,CAAC;YACrC,IAAI,CAAC;gBACH,MAAM,QAAQ,GAAG,IAAI,CAAC,SAAS,CAAC;oBAC9B,OAAO,EAAE,KAAK;oBACd,MAAM,EAAE,YAAY;oBACpB,MAAM,EAAE;wBACN,eAAe,EAAE,YAAY;wBAC7B,YAAY,EAAE,EAAE;wBAChB,UAAU,EAAE,EAAE,IAAI,EAAE,cAAc,EAAE,OAAO,EAAE,OAAO,EAAE;qBACvD;oBACD,EAAE,EAAE,CAAC;iBACN,CAAC,CAAC;gBAEH,MAAM,YAAY,GAAG,MAAM,IAAI,CAAC,mBAAmB,CACjD,UAAU,EACV,OAAO,EACP,KAAK,EACL,MAAM,EACN,QAAQ,EACR,MAAM,CACP,CAAC;gBAEF,MAAM,QAAQ,GAAG,CAAC,MAAM,YAAY,CAAC,IAAI,EAAE,CAG1C,CAAC;gBAEF,IAAI,MAAA,QAAQ,aAAR,QAAQ,uBAAR,QAAQ,CAAE,MAAM,0CAAE,YAAY,EAAE,CAAC;oBACnC,YAAY,GAAG,QAAQ,CAAC,MAAM,CAAC,YAAY,CAAC;oBAC5C,MAAM,CAAC,IAAI,CAAC,kCAAkC,EAAE;wBAC9C,KAAK;wBACL,MAAM,EAAE,YAAY,CAAC,MAAM;qBAC5B,CAAC,CAAC;gBACL,CAAC;gBAED,+DAA+D;gBAC/D,MAAM,UAAU,GAAG,IAAI,CAAC,SAAS,CAAC;oBAChC,OAAO,EAAE,KAAK;oBACd,MAAM,EAAE,2BAA2B;iBACpC,CAAC,CAAC;gBACH,MAAM,IAAI,CAAC,mBAAmB,CAC5B,UAAU,EACV,OAAO,EACP,KAAK,EACL,MAAM,EACN,UAAU,EACV,MAAM,CACP,CAAC,KAAK,CAAC,GAAG,EAAE;oBACX,UAAU;gBACZ,CAAC,CAAC,CAAC;YACL,CAAC;YAAC,OAAO,SAAS,EAAE,CAAC;gBACnB,MAAM,CAAC,IAAI,CAAC,oDAAoD,EAAE;oBAChE,KAAK;oBACL,KAAK,EACH,SAAS,YAAY,KAAK,CAAC,CAAC,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,SAAS,CAAC;iBACrE,CAAC,CAAC;YACL,CAAC;YAED,2BAA2B;YAC3B,MAAM,WAAW,GAAG,IAAI,CAAC,SAAS,CAAC;gBACjC,OAAO,EAAE,KAAK;gBACd,MAAM,EAAE,YAAY;gBACpB,MAAM,EAAE,EAAE;gBACV,EAAE,EAAE,CAAC;aACN,CAAC,CAAC;YAEH,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,mBAAmB,CAC7C,UAAU,EACV,OAAO,EACP,KAAK,EACL,MAAM,EACN,WAAW,EACX,MAAM,CACP,CAAC;YAEF,MAAM,IAAI,GAAG,CAAC,MAAM,QAAQ,CAAC,IAAI,EAAE,CAAoB,CAAC;YACxD,MAAM,KAAK,GAAc,CAAA,MAAA,IAAI,aAAJ,IAAI,uBAAJ,IAAI,CAAE,MAAM,0CAAE,KAAK,KAAI,EAAE,CAAC;YAEnD,MAAM,UAAU,GAAoB,EAAE,KAAK,EAAE,YAAY,EAAE,CAAC;YAC5D,IAAI,IAAI,CAAC,SAAS,IAAI,KAAK,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBACvC,MAAM,IAAI,CAAC,SAAS,CAAC,aAAa,CAAC,KAAK,EAAE,UAAU,EAAE,OAAO,CAAC,CAAC;YACjE,CAAC;YAED,OAAO,UAAU,CAAC;QACpB,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,MAAM,CAAC,IAAI,CAAC,8CAA8C,EAAE;gBAC1D,KAAK;gBACL,KAAK,EAAE,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC;aAC9D,CAAC,CAAC;YAEH,kEAAkE;YAClE,MAAM,IAAI,OAAO,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,UAAU,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC,CAAC;YAC9C,IAAI,CAAC;gBACH,MAAM,SAAS,GAAG,IAAI,CAAC,SAAS,CAAC;oBAC/B,OAAO,EAAE,KAAK;oBACd,MAAM,EAAE,YAAY;oBACpB,MAAM,EAAE,EAAE;oBACV,EAAE,EAAE,CAAC;iBACN,CAAC,CAAC;gBACH,MAAM,aAAa,GAAG,MAAM,IAAI,CAAC,mBAAmB,CAClD,UAAU,EACV,OAAO,EACP,KAAK,EACL,MAAM,EACN,SAAS,EACT,MAAM,CACP,CAAC;gBACF,MAAM,SAAS,GAAG,CAAC,MAAM,aAAa,CAAC,IAAI,EAAE,CAAoB,CAAC;gBAClE,MAAM,UAAU,GAAc,CAAA,MAAA,SAAS,aAAT,SAAS,uBAAT,SAAS,CAAE,MAAM,0CAAE,KAAK,KAAI,EAAE,CAAC;gBAC7D,IAAI,UAAU,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;oBAC1B,MAAM,UAAU,GAAoB,EAAE,KAAK,EAAE,UAAU,EAAE,CAAC;oBAC1D,IAAI,IAAI,CAAC,SAAS,EAAE,CAAC;wBACnB,MAAM,IAAI,CAAC,SAAS,CAAC,aAAa,CAAC,KAAK,EAAE,UAAU,EAAE,OAAO,CAAC,CAAC;oBACjE,CAAC;oBACD,MAAM,CAAC,IAAI,CAAC,oCAAoC,EAAE;wBAChD,KAAK;wBACL,SAAS,EAAE,UAAU,CAAC,MAAM;qBAC7B,CAAC,CAAC;oBACH,OAAO,UAAU,CAAC;gBACpB,CAAC;YACH,CAAC;YAAC,OAAO,UAAU,EAAE,CAAC;gBACpB,MAAM,CAAC,KAAK,CAAC,sCAAsC,EAAE;oBACnD,KAAK;oBACL,KAAK,EACH,UAAU,YAAY,KAAK;wBACzB,CAAC,CAAC,UAAU,CAAC,OAAO;wBACpB,CAAC,CAAC,MAAM,CAAC,UAAU,CAAC;iBACzB,CAAC,CAAC;YACL,CAAC;YACD,OAAO,EAAE,KAAK,EAAE,EAAE,EAAE,CAAC;QACvB,CAAC;IACH,CAAC;IAEO,WAAW;QACjB,8EAA8E;QAC9E,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,QAAQ,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,IAAI,CAAC,kBAAkB,CAAC,CAAC,CAAC,CAAC,CAAC;QAC1D,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,eAAe,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC,CAAC,CAAC,CAAC;QAC9D,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,yBAAyB,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC,CAAC;QAExE,wDAAwD;QACxD,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,WAAW,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,IAAI,CAAC,kBAAkB,CAAC,CAAC,CAAC,CAAC,CAAC;QAC7D,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,UAAU,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,IAAI,CAAC,kBAAkB,CAAC,CAAC,CAAC,CAAC,CAAC;QAE5D,kDAAkD;QAClD,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,SAAS,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,IAAI,CAAC,kBAAkB,CAAC,CAAC,CAAC,CAAC,CAAC;QAC3D,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,WAAW,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,IAAI,CAAC,kBAAkB,CAAC,CAAC,CAAC,CAAC,CAAC;IAC/D,CAAC;IAEO,KAAK,CAAC,eAAe,CAAC,CAAU;;QACtC,MAAM,KAAK,GAAG,CAAC,CAAC,GAAG,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;QACnC,IAAI,CAAC,KAAK;YAAE,OAAO,CAAC,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,uBAAuB,EAAE,EAAE,GAAG,CAAC,CAAC;QACnE,MAAM,IAAI,GAAG,mBAAmB,CAAC,CAAC,CAAC,CAAC;QACpC,IAAI,CAAC,IAAI;YAAE,OAAO,CAAC,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,8BAA8B,EAAE,EAAE,GAAG,CAAC,CAAC;QAEzE,MAAM,OAAO,GAAG,IAAI,CAAC,SAAS,CAAC,OAAO,IAAI,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC;QAChE,MAAM,eAAe,GAAG,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC;QAC9C,IAAI,CAAC,OAAO,IAAI,CAAC,eAAe,EAAE,CAAC;YACjC,OAAO,CAAC,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,8BAA8B,EAAE,EAAE,GAAG,CAAC,CAAC;QAChE,CAAC;QACD,MAAM,UAAU,GAAG,MAAM,IAAI,CAAC,aAAa,CAAC,aAAa,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC;QAC1E,IAAI,CAAC,UAAU,EAAE,CAAC;YAChB,OAAO,CAAC,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,eAAe,KAAK,aAAa,EAAE,EAAE,GAAG,CAAC,CAAC;QACnE,CAAC;QAED,cAAc;QACd,IAAI,IAAI,CAAC,SAAS,EAAE,CAAC;YACnB,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC;YACxD,IAAI,MAAM;gBAAE,OAAO,CAAC,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,MAAM,EAAE,CAAC,CAAC;QAC/C,CAAC;QAED,IAAI,CAAC;YACH,MAAM,WAAW,GAAG,IAAI,CAAC,SAAS,CAAC;gBACjC,OAAO,EAAE,KAAK;gBACd,MAAM,EAAE,YAAY;gBACpB,MAAM,EAAE,EAAE;gBACV,EAAE,EAAE,CAAC;aACN,CAAC,CAAC;YAEH,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,mBAAmB,CAC7C,UAAU,EACV,OAAO,EACP,KAAK,EACL,MAAM,EACN,WAAW,EACX,eAAe,CAChB,CAAC;YAEF,MAAM,IAAI,GAAG,CAAC,MAAM,QAAQ,CAAC,IAAI,EAAE,CAAoB,CAAC;YACxD,IAAI,IAAI,aAAJ,IAAI,uBAAJ,IAAI,CAAE,KAAK,EAAE,CAAC;gBAChB,MAAM,CAAC,KAAK,CAAC,kCAAkC,EAAE;oBAC/C,KAAK;oBACL,KAAK,EAAE,IAAI,CAAC,KAAK;iBAClB,CAAC,CAAC;gBACH,OAAO,CAAC,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,IAAI,CAAC,KAAK,CAAC,OAAO,IAAI,gBAAgB,EAAE,EAAE,GAAG,CAAC,CAAC;YACxE,CAAC;YAED,MAAM,KAAK,GAAc,CAAA,MAAA,IAAI,aAAJ,IAAI,uBAAJ,IAAI,CAAE,MAAM,0CAAE,KAAK,KAAI,EAAE,CAAC;YAEnD,eAAe;YACf,IAAI,IAAI,CAAC,SAAS,IAAI,KAAK,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBACvC,MAAM,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,KAAK,EAAE,KAAK,EAAE,OAAO,CAAC,CAAC;YAClD,CAAC;YAED,OAAO,CAAC,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC;QAC3B,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,MAAM,CAAC,KAAK,CAAC,sBAAsB,EAAE,EAAE,KAAK,EAAE,KAAK,EAAE,CAAC,CAAC;YACvD,OAAO,CAAC,CAAC,IAAI,CACX;gBACE,KAAK,EAAE,6BAA6B,KAAK,MAAM,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,eAAe,EAAE;aAC1G,EACD,GAAG,CACJ,CAAC;QACJ,CAAC;IACH,CAAC;IAEO,KAAK,CAAC,cAAc,CAAC,CAAU;QACrC,MAAM,KAAK,GAAG,CAAC,CAAC,GAAG,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;QACnC,MAAM,QAAQ,GAAG,CAAC,CAAC,GAAG,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC;QACzC,IAAI,CAAC,KAAK,IAAI,CAAC,QAAQ,EAAE,CAAC;YACxB,OAAO,CAAC,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,oCAAoC,EAAE,EAAE,GAAG,CAAC,CAAC;QACtE,CAAC;QACD,MAAM,IAAI,GAAG,mBAAmB,CAAC,CAAC,CAAC,CAAC;QACpC,IAAI,CAAC,IAAI;YAAE,OAAO,CAAC,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,8BAA8B,EAAE,EAAE,GAAG,CAAC,CAAC;QAEzE,MAAM,OAAO,GAAG,IAAI,CAAC,SAAS,CAAC,OAAO,IAAI,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC;QAChE,MAAM,eAAe,GAAG,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC;QAC9C,IAAI,CAAC,OAAO,IAAI,CAAC,eAAe,EAAE,CAAC;YACjC,OAAO,CAAC,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,8BAA8B,EAAE,EAAE,GAAG,CAAC,CAAC;QAChE,CAAC;QACD,MAAM,UAAU,GAAG,MAAM,IAAI,CAAC,aAAa,CAAC,aAAa,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC;QAC1E,IAAI,CAAC,UAAU,EAAE,CAAC;YAChB,OAAO,CAAC,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,eAAe,KAAK,aAAa,EAAE,EAAE,GAAG,CAAC,CAAC;QACnE,CAAC;QAED,uDAAuD;QACvD,IAAI,IAAI,CAAC,UAAU,EAAE,CAAC;YACpB,MAAM,EAAE,KAAK,EAAE,WAAW,EAAE,GAAG,MAAM,IAAI,CAAC,kBAAkB,CAC1D,KAAK,EACL,QAAQ,EACR,OAAO,EACP,IAAI,CAAC,SAAS,CACf,CAAC;YACF,IAAI,KAAK,IAAI,IAAA,sCAAoB,EAAC,WAAW,CAAC,EAAE,CAAC;gBAC/C,MAAM,OAAO,GAAG,QAAQ,KAAK,UAAU,QAAQ,EAAE,CAAC;gBAClD,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,UAAU,CAAC,QAAQ,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;gBAClE,IAAI,CAAC,QAAQ,EAAE,CAAC;oBACd,MAAM,CAAC,IAAI,CAAC,sCAAsC,EAAE;wBAClD,OAAO;wBACP,KAAK;wBACL,QAAQ;wBACR,OAAO;qBACR,CAAC,CAAC;oBACH,OAAO,CAAC,CAAC,IAAI,CACX;wBACE,OAAO,EAAE;4BACP;gCACE,IAAI,EAAE,MAAM;gCACZ,IAAI,EAAE,qEAAqE,KAAK,MAAM,QAAQ,EAAE;6BACjG;yBACF;wBACD,OAAO,EAAE,IAAI;qBACd,EACD,GAAG,CACJ,CAAC;gBACJ,CAAC;YACH,CAAC;QACH,CAAC;QAED,IAAI,aAAa,GAA4B,EAAE,CAAC;QAChD,IAAI,CAAC;YACH,MAAM,IAAI,GAAG,MAAM,CAAC,CAAC,GAAG,CAAC,IAAI,EAAE,CAAC;YAChC,IAAI,IAAI,EAAE,CAAC;gBACT,IAAI,IAAI,CAAC,MAAM,GAAG,aAAa,EAAE,CAAC;oBAChC,OAAO,CAAC,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,wBAAwB,EAAE,EAAE,GAAG,CAAC,CAAC;gBAC1D,CAAC;gBACD,aAAa,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;YACnC,CAAC;QACH,CAAC;QAAC,WAAM,CAAC;YACP,OAAO,CAAC,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,mBAAmB,EAAE,EAAE,GAAG,CAAC,CAAC;QACrD,CAAC;QAED,IAAI,CAAC;YACH,MAAM,WAAW,GAAG,IAAI,CAAC,SAAS,CAAC;gBACjC,OAAO,EAAE,KAAK;gBACd,MAAM,EAAE,YAAY;gBACpB,MAAM,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,SAAS,EAAE,aAAa,EAAE;gBACpD,EAAE,EAAE,CAAC;aACN,CAAC,CAAC;YAEH,IAAI,QAAQ,GAAG,MAAM,IAAI,CAAC,mBAAmB,CAC3C,UAAU,EACV,OAAO,EACP,KAAK,EACL,MAAM,EACN,WAAW,EACX,eAAe,CAChB,CAAC;YAEF,IAAI,IAAI,GAAG,CAAC,MAAM,QAAQ,CAAC,IAAI,EAAE,CAAoB,CAAC;YAEtD,8DAA8D;YAC9D,IAAI,CAAA,IAAI,aAAJ,IAAI,uBAAJ,IAAI,CAAE,KAAK,KAAI,kBAAkB,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,OAAO,IAAI,EAAE,CAAC,EAAE,CAAC;gBACrE,MAAM,CAAC,IAAI,CAAC,mDAAmD,EAAE;oBAC/D,KAAK;oBACL,QAAQ;iBACT,CAAC,CAAC;gBACH,MAAM,IAAI,CAAC,mBAAmB,CAC5B,UAAU,EACV,OAAO,EACP,KAAK,EACL,eAAe,CAChB,CAAC;gBAEF,QAAQ,GAAG,MAAM,IAAI,CAAC,mBAAmB,CACvC,UAAU,EACV,OAAO,EACP,KAAK,EACL,MAAM,EACN,WAAW,EACX,eAAe,CAChB,CAAC;gBACF,IAAI,GAAG,CAAC,MAAM,QAAQ,CAAC,IAAI,EAAE,CAAoB,CAAC;YACpD,CAAC;YAED,IAAI,IAAI,aAAJ,IAAI,uBAAJ,IAAI,CAAE,KAAK,EAAE,CAAC;gBAChB,MAAM,QAAQ,GACZ,IAAI,CAAC,KAAK,CAAC,OAAO;oBAClB,CAAC,OAAO,IAAI,CAAC,KAAK,KAAK,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,gBAAgB,CAAC,CAAC;gBACnE,MAAM,CAAC,KAAK,CAAC,+CAA+C,EAAE;oBAC5D,KAAK;oBACL,QAAQ;oBACR,KAAK,EAAE,IAAI,CAAC,KAAK;iBAClB,CAAC,CAAC;gBAEH,wDAAwD;gBACxD,IAAI,yCAAyC,CAAC,IAAI,CAAC,QAAQ,CAAC,EAAE,CAAC;oBAC7D,MAAM,cAAc,GAAG,MAAM,IAAI,CAAC,iBAAiB,CACjD,KAAK,EACL,OAAO,EACP,eAAe,CAChB,CAAC;oBACF,IAAI,cAAc,EAAE,CAAC;wBACnB,OAAO,CAAC,CAAC,IAAI,CACX;4BACE,OAAO,EAAE;gCACP;oCACE,IAAI,EAAE,MAAM;oCACZ,IAAI,EAAE,cAAc;iCACrB;6BACF;4BACD,OAAO,EAAE,IAAI;yBACd,EACD,GAAG,CACJ,CAAC;oBACJ,CAAC;oBACD,OAAO,CAAC,CAAC,IAAI,CACX;wBACE,OAAO,EAAE;4BACP;gCACE,IAAI,EAAE,MAAM;gCACZ,IAAI,EAAE,+BAA+B,KAAK,uCAAuC;6BAClF;yBACF;wBACD,OAAO,EAAE,IAAI;qBACd,EACD,GAAG,CACJ,CAAC;gBACJ,CAAC;gBAED,OAAO,CAAC,CAAC,IAAI,CACX;oBACE,OAAO,EAAE,EAAE;oBACX,OAAO,EAAE,IAAI;oBACb,KAAK,EAAE,QAAQ;iBAChB,EACD,GAAG,CACJ,CAAC;YACJ,CAAC;YAED,MAAM,MAAM,GAAG,CAAA,IAAI,aAAJ,IAAI,uBAAJ,IAAI,CAAE,MAAM,KAAI,EAAE,CAAC;YAClC,OAAO,CAAC,CAAC,IAAI,CAAC;gBACZ,OAAO,EAAE,MAAM,CAAC,OAAO,IAAI,EAAE;gBAC7B,OAAO,EAAE,MAAM,CAAC,OAAO,IAAI,KAAK;aACjC,CAAC,CAAC;QACL,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,MAAM,CAAC,KAAK,CAAC,qBAAqB,EAAE,EAAE,KAAK,EAAE,QAAQ,EAAE,KAAK,EAAE,CAAC,CAAC;YAChE,OAAO,CAAC,CAAC,IAAI,CACX;gBACE,OAAO,EAAE,EAAE;gBACX,OAAO,EAAE,IAAI;gBACb,KAAK,EAAE,6BAA6B,KAAK,MAAM,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,eAAe,EAAE;aAC1G,EACD,GAAG,CACJ,CAAC;QACJ,CAAC;IACH,CAAC;IAEO,KAAK,CAAC,kBAAkB,CAAC,CAAU;QACzC,MAAM,IAAI,GAAG,mBAAmB,CAAC,CAAC,CAAC,CAAC;QACpC,IAAI,CAAC,IAAI;YAAE,OAAO,CAAC,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,8BAA8B,EAAE,EAAE,GAAG,CAAC,CAAC;QAEzE,MAAM,OAAO,GAAG,IAAI,CAAC,SAAS,CAAC,OAAO,IAAI,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC;QAEhE,MAAM,cAAc,GAAG,MAAM,IAAI,CAAC,aAAa,CAAC,iBAAiB,CAAC,OAAO,CAAC,CAAC;QAC3E,MAAM,SAAS,GAAG,KAAK,CAAC,IAAI,CAAC,cAAc,CAAC,IAAI,EAAE,CAAC,CAAC;QAEpD,MAAM,UAAU,GAAyC,EAAE,CAAC;QAE5D,6CAA6C;QAC7C,MAAM,OAAO,GAAG,MAAM,OAAO,CAAC,UAAU,CACtC,SAAS,CAAC,GAAG,CAAC,KAAK,EAAE,KAAK,EAAE,EAAE;YAC5B,MAAM,EAAE,KAAK,EAAE,GAAG,MAAM,IAAI,CAAC,gBAAgB,CAC3C,KAAK,EACL,OAAO,EACP,IAAI,CAAC,SAAS,CACf,CAAC;YACF,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,CAAC;QAC1B,CAAC,CAAC,CACH,CAAC;QAEF,KAAK,MAAM,MAAM,IAAI,OAAO,EAAE,CAAC;YAC7B,IAAI,MAAM,CAAC,MAAM,KAAK,WAAW,IAAI,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBACnE,UAAU,CAAC,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,GAAG,EAAE,KAAK,EAAE,MAAM,CAAC,KAAK,CAAC,KAAK,EAAE,CAAC;YACjE,CAAC;QACH,CAAC;QAED,OAAO,CAAC,CAAC,IAAI,CAAC,EAAE,UAAU,EAAE,CAAC,CAAC;IAChC,CAAC;IAEO,KAAK,CAAC,kBAAkB,CAAC,CAAU;QACzC,MAAM,KAAK,GAAG,CAAC,CAAC,GAAG,CAAC,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC;QAC/D,MAAM,YAAY,GAAG,mBAAmB,CAAC,CAAC,CAAC,CAAC;QAE5C,MAAM,CAAC,IAAI,CAAC,4BAA4B,EAAE;YACxC,MAAM,EAAE,CAAC,CAAC,GAAG,CAAC,MAAM;YACpB,IAAI,EAAE,CAAC,CAAC,GAAG,CAAC,IAAI;YAChB,KAAK;YACL,eAAe,EAAE,CAAC,CAAC,YAAY;SAChC,CAAC,CAAC;QAEH,IAAI,CAAC,KAAK,EAAE,CAAC;YACX,OAAO,IAAI,CAAC,gBAAgB,CAAC,CAAC,EAAE,CAAC,KAAK,EAAE,gBAAgB,CAAC,CAAC;QAC5D,CAAC;QAED,IAAI,CAAC,YAAY,EAAE,CAAC;YAClB,OAAO,IAAI,CAAC,gBAAgB,CAAC,CAAC,EAAE,CAAC,KAAK,EAAE,8BAA8B,CAAC,CAAC;QAC1E,CAAC;QAED,MAAM,SAAS,GAAG,IAAA,wBAAiB,EAAC,YAAY,CAAC,CAAC;QAClD,IAAI,CAAC,SAAS,EAAE,CAAC;YACf,OAAO,IAAI,CAAC,gBAAgB,CAAC,CAAC,EAAE,CAAC,KAAK,EAAE,8BAA8B,CAAC,CAAC;QAC1E,CAAC;QAED,MAAM,OAAO,GAAG,SAAS,CAAC,OAAO,IAAI,SAAS,CAAC,MAAM,CAAC;QACtD,MAAM,UAAU,GAAG,MAAM,IAAI,CAAC,aAAa,CAAC,aAAa,CAAC,KAAM,EAAE,OAAO,CAAC,CAAC;QAE3E,IAAI,CAAC,UAAU,EAAE,CAAC;YAChB,OAAO,IAAI,CAAC,gBAAgB,CAC1B,CAAC,EACD,CAAC,KAAK,EACN,eAAe,KAAK,aAAa,CAClC,CAAC;QACJ,CAAC;QAED,IAAI,CAAC;YACH,OAAO,MAAM,IAAI,CAAC,cAAc,CAC9B,CAAC,EACD,UAAU,EACV,OAAO,EACP,KAAM,EACN,SAAS,CAAC,MAAM,CACjB,CAAC;QACJ,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,MAAM,CAAC,KAAK,CAAC,6BAA6B,EAAE,EAAE,KAAK,EAAE,KAAK,EAAE,CAAC,CAAC;YAC9D,OAAO,IAAI,CAAC,gBAAgB,CAC1B,CAAC,EACD,CAAC,KAAK,EACN,6BAA6B,KAAK,MAAM,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,eAAe,EAAE,CACnG,CAAC;QACJ,CAAC;IACH,CAAC;IAEO,KAAK,CAAC,kBAAkB,CAC9B,KAAa,EACb,QAAgB,EAChB,OAAe,EACf,SAAc;QAEd,IAAI,KAAK,GAAqB,IAAI,CAAC;QACnC,IAAI,IAAI,CAAC,SAAS,EAAE,CAAC;YACnB,KAAK,GAAG,MAAM,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC;QACnD,CAAC;QAED,IAAI,CAAC,KAAK,EAAE,CAAC;YACX,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,gBAAgB,CAAC,KAAK,EAAE,OAAO,EAAE,SAAS,CAAC,CAAC;YACtE,KAAK,GAAG,MAAM,CAAC,KAAK,CAAC;QACvB,CAAC;QAED,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YACvB,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,CAAC;QAC1B,CAAC;QAED,MAAM,IAAI,GAAG,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,QAAQ,CAAC,CAAC;QACpD,OAAO,EAAE,KAAK,EAAE,IAAI,EAAE,WAAW,EAAE,IAAI,aAAJ,IAAI,uBAAJ,IAAI,CAAE,WAAW,EAAE,CAAC;IACzD,CAAC;IAEO,oBAAoB,CAC1B,SAAwB,EACxB,aAAsC,EACtC,eAAwB;QAExB,MAAM,OAAO,GAA2B;YACtC,cAAc,EAAE,kBAAkB;YAClC,MAAM,EAAE,kBAAkB;SAC3B,CAAC;QAEF,oEAAoE;QACpE,IAAI,aAAa,EAAE,CAAC;YAClB,KAAK,MAAM,CAAC,GAAG,EAAE,KAAK,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,aAAa,CAAC,EAAE,CAAC;gBACzD,OAAO,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC;YACvB,CAAC;QACH,CAAC;QAED,6EAA6E;QAC7E,IAAI,eAAe,EAAE,CAAC;YACpB,OAAO,CAAC,aAAa,GAAG,UAAU,eAAe,EAAE,CAAC;QACtD,CAAC;QAED,IAAI,SAAS,EAAE,CAAC;YACd,OAAO,CAAC,gBAAgB,CAAC,GAAG,SAAS,CAAC;QACxC,CAAC;QAED,OAAO,OAAO,CAAC;IACjB,CAAC;IAEO,KAAK,CAAC,sBAAsB,CAClC,OAAe,EACf,MAAc,EACd,KAAa;;QAEb,MAAM,UAAU,GAAG,MAAM,IAAA,iCAAmB,EAC1C,IAAI,CAAC,WAAW,EAChB,OAAO,EACP,MAAM,EACN,KAAK,CACN,CAAC;QACF,IAAI,CAAC,UAAU,EAAE,CAAC;YAChB,4EAA4E;YAC5E,OAAO,IAAA,0CAA4B,EACjC,IAAI,CAAC,WAAW,EAChB,OAAO,EACP,MAAM,EACN,KAAK,CACN,CAAC;QACJ,CAAC;QAED,kDAAkD;QAClD,IAAI,UAAU,CAAC,SAAS,GAAG,IAAI,CAAC,GAAG,EAAE,GAAG,CAAC,GAAG,EAAE,GAAG,IAAI,EAAE,CAAC;YACtD,OAAO,UAAU,CAAC,WAAW,CAAC;QAChC,CAAC;QAED,2CAA2C;QAC3C,MAAM,SAAS,GAAG,MAAM,IAAA,+BAAiB,EACvC,IAAI,CAAC,WAAW,EAChB,OAAO,EACP,MAAM,EACN,KAAK,EACL,UAAU,CACX,CAAC;QACF,OAAO,MAAA,SAAS,aAAT,SAAS,uBAAT,SAAS,CAAE,WAAW,mCAAI,IAAI,CAAC;IACxC,CAAC;IAEO,KAAK,CAAC,mBAAmB,CAC/B,UAA+B,EAC/B,OAAe,EACf,KAAa,EACb,MAAc,EACd,IAAa,EACb,MAAe;QAEf,MAAM,UAAU,GAAG,eAAe,OAAO,IAAI,KAAK,EAAE,CAAC;QACrD,MAAM,SAAS,GAAG,MAAM,IAAI,CAAC,UAAU,CAAC,UAAU,CAAC,CAAC;QAEpD,2CAA2C;QAC3C,IAAI,eAAmC,CAAC;QACxC,IAAI,MAAM,EAAE,CAAC;YACX,MAAM,KAAK,GAAG,MAAM,IAAI,CAAC,sBAAsB,CAAC,OAAO,EAAE,MAAM,EAAE,KAAK,CAAC,CAAC;YACxE,IAAI,KAAK;gBAAE,eAAe,GAAG,KAAK,CAAC;QACrC,CAAC;QAED,uDAAuD;QACvD,IAAI,MAAM,aAAa,CAAC,UAAU,CAAC,WAAW,CAAC,EAAE,CAAC;YAChD,MAAM,CAAC,IAAI,CAAC,sCAAsC,EAAE;gBAClD,GAAG,EAAE,UAAU,CAAC,WAAW;gBAC3B,KAAK;gBACL,OAAO;aACR,CAAC,CAAC;YACH,OAAO,IAAI,QAAQ,CACjB,IAAI,CAAC,SAAS,CAAC;gBACb,OAAO,EAAE,KAAK;gBACd,EAAE,EAAE,IAAI;gBACR,KAAK,EAAE;oBACL,IAAI,EAAE,CAAC,KAAK;oBACZ,OAAO,EAAE,qDAAqD;iBAC/D;aACF,CAAC,EACF,EAAE,MAAM,EAAE,GAAG,EAAE,OAAO,EAAE,EAAE,cAAc,EAAE,kBAAkB,EAAE,EAAE,CACjE,CAAC;QACJ,CAAC;QAED,MAAM,OAAO,GAAG,IAAI,CAAC,oBAAoB,CACvC,SAAS,EACT,UAAU,CAAC,OAAO,EAClB,eAAe,CAChB,CAAC;QAEF,MAAM,QAAQ,GAAG,MAAM,KAAK,CAAC,UAAU,CAAC,WAAW,EAAE;YACnD,MAAM;YACN,OAAO;YACP,IAAI,EAAE,IAAI,IAAI,SAAS;SACxB,CAAC,CAAC;QAEH,gBAAgB;QAChB,MAAM,YAAY,GAAG,QAAQ,CAAC,OAAO,CAAC,GAAG,CAAC,gBAAgB,CAAC,CAAC;QAC5D,IAAI,YAAY,EAAE,CAAC;YACjB,MAAM,IAAI,CAAC,UAAU,CAAC,UAAU,EAAE,YAAY,CAAC,CAAC;QAClD,CAAC;QAED,OAAO,QAAQ,CAAC;IAClB,CAAC;IAEO,KAAK,CAAC,cAAc,CAC1B,CAAU,EACV,UAA+B,EAC/B,OAAe,EACf,KAAa,EACb,MAAe;QAEf,uDAAuD;QACvD,IAAI,MAAM,aAAa,CAAC,UAAU,CAAC,WAAW,CAAC,EAAE,CAAC;YAChD,MAAM,CAAC,IAAI,CAAC,sCAAsC,EAAE;gBAClD,GAAG,EAAE,UAAU,CAAC,WAAW;gBAC3B,KAAK;gBACL,OAAO;aACR,CAAC,CAAC;YACH,OAAO,IAAI,CAAC,gBAAgB,CAC1B,CAAC,EACD,CAAC,KAAK,EACN,qDAAqD,CACtD,CAAC;QACJ,CAAC;QAED,MAAM,UAAU,GAAG,eAAe,OAAO,IAAI,KAAK,EAAE,CAAC;QACrD,IAAI,SAAS,GAAG,MAAM,IAAI,CAAC,UAAU,CAAC,UAAU,CAAC,CAAC;QAElD,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,oBAAoB,CAAC,CAAC,CAAC,CAAC;QAEpD,uBAAuB;QACvB,IAAI,QAAQ,CAAC,MAAM,GAAG,aAAa,EAAE,CAAC;YACpC,MAAM,CAAC,IAAI,CAAC,wBAAwB,EAAE;gBACpC,KAAK;gBACL,OAAO;gBACP,IAAI,EAAE,QAAQ,CAAC,MAAM;aACtB,CAAC,CAAC;YACH,OAAO,IAAI,QAAQ,CAAC,wBAAwB,EAAE,EAAE,MAAM,EAAE,GAAG,EAAE,CAAC,CAAC;QACjE,CAAC;QAED,+DAA+D;QAC/D,IAAI,CAAC,SAAS,IAAI,CAAC,CAAC,GAAG,CAAC,MAAM,KAAK,MAAM,EAAE,CAAC;YAC1C,IAAI,CAAC;gBACH,MAAM,IAAI,CAAC,mBAAmB,CAAC,UAAU,EAAE,OAAO,EAAE,KAAK,EAAE,MAAM,CAAC,CAAC;gBACnE,SAAS,GAAG,MAAM,IAAI,CAAC,UAAU,CAAC,UAAU,CAAC,CAAC;YAChD,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBACf,MAAM,CAAC,IAAI,CAAC,0CAA0C,EAAE;oBACtD,KAAK;oBACL,KAAK,EAAE,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC;iBAC9D,CAAC,CAAC;YACL,CAAC;QACH,CAAC;QAED,MAAM,CAAC,IAAI,CAAC,sBAAsB,EAAE;YAClC,KAAK;YACL,OAAO;YACP,MAAM,EAAE,CAAC,CAAC,GAAG,CAAC,MAAM;YACpB,UAAU,EAAE,CAAC,CAAC,SAAS;YACvB,UAAU,EAAE,QAAQ,CAAC,MAAM;SAC5B,CAAC,CAAC;QAEH,2CAA2C;QAC3C,IAAI,eAAmC,CAAC;QACxC,IAAI,MAAM,EAAE,CAAC;YACX,MAAM,KAAK,GAAG,MAAM,IAAI,CAAC,sBAAsB,CAAC,OAAO,EAAE,MAAM,EAAE,KAAK,CAAC,CAAC;YACxE,IAAI,KAAK;gBAAE,eAAe,GAAG,KAAK,CAAC;QACrC,CAAC;QAED,MAAM,OAAO,GAAG,IAAI,CAAC,oBAAoB,CACvC,SAAS,EACT,UAAU,CAAC,OAAO,EAClB,eAAe,CAChB,CAAC;QAEF,MAAM,QAAQ,GAAG,MAAM,KAAK,CAAC,UAAU,CAAC,WAAW,EAAE;YACnD,MAAM,EAAE,CAAC,CAAC,GAAG,CAAC,MAAM;YACpB,OAAO;YACP,IAAI,EAAE,QAAQ,IAAI,SAAS;SAC5B,CAAC,CAAC;QAEH,MAAM,YAAY,GAAG,QAAQ,CAAC,OAAO,CAAC,GAAG,CAAC,gBAAgB,CAAC,CAAC;QAC5D,IAAI,YAAY,EAAE,CAAC;YACjB,MAAM,IAAI,CAAC,UAAU,CAAC,UAAU,EAAE,YAAY,CAAC,CAAC;YAChD,MAAM,CAAC,KAAK,CAAC,uBAAuB,EAAE;gBACpC,KAAK;gBACL,OAAO;gBACP,SAAS,EAAE,YAAY;aACxB,CAAC,CAAC;QACL,CAAC;QAED,MAAM,eAAe,GAAG,IAAI,OAAO,EAAE,CAAC;QACtC,MAAM,WAAW,GAAG,QAAQ,CAAC,OAAO,CAAC,GAAG,CAAC,cAAc,CAAC,CAAC;QACzD,IAAI,WAAW,EAAE,CAAC;YAChB,eAAe,CAAC,GAAG,CAAC,cAAc,EAAE,WAAW,CAAC,CAAC;QACnD,CAAC;QACD,IAAI,YAAY,EAAE,CAAC;YACjB,eAAe,CAAC,GAAG,CAAC,gBAAgB,EAAE,YAAY,CAAC,CAAC;QACtD,CAAC;QAED,OAAO,IAAI,QAAQ,CAAC,QAAQ,CAAC,IAAI,EAAE;YACjC,MAAM,EAAE,QAAQ,CAAC,MAAM;YACvB,OAAO,EAAE,eAAe;SACzB,CAAC,CAAC;IACL,CAAC;IAEO,KAAK,CAAC,oBAAoB,CAAC,CAAU;QAC3C,IAAI,CAAC,CAAC,GAAG,CAAC,MAAM,KAAK,KAAK,IAAI,CAAC,CAAC,GAAG,CAAC,MAAM,KAAK,MAAM,EAAE,CAAC;YACtD,OAAO,EAAE,CAAC;QACZ,CAAC;QAED,IAAI,CAAC;YACH,OAAO,MAAM,CAAC,CAAC,GAAG,CAAC,IAAI,EAAE,CAAC;QAC5B,CAAC;QAAC,WAAM,CAAC;YACP,OAAO,EAAE,CAAC;QACZ,CAAC;IACH,CAAC;IAED;;;OAGG;IACK,KAAK,CAAC,mBAAmB,CAC/B,UAA+B,EAC/B,OAAe,EACf,KAAa,EACb,MAAe;QAEf,sBAAsB;QACtB,MAAM,UAAU,GAAG,eAAe,OAAO,IAAI,KAAK,EAAE,CAAC;QACrD,MAAM,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC,KAAK,CAAC,GAAG,EAAE;YAChD,UAAU;QACZ,CAAC,CAAC,CAAC;QAEH,kBAAkB;QAClB,MAAM,QAAQ,GAAG,IAAI,CAAC,SAAS,CAAC;YAC9B,OAAO,EAAE,KAAK;YACd,MAAM,EAAE,YAAY;YACpB,MAAM,EAAE;gBACN,eAAe,EAAE,YAAY;gBAC7B,YAAY,EAAE,EAAE;gBAChB,UAAU,EAAE,EAAE,IAAI,EAAE,cAAc,EAAE,OAAO,EAAE,OAAO,EAAE;aACvD;YACD,EAAE,EAAE,CAAC;SACN,CAAC,CAAC;QAEH,MAAM,YAAY,GAAG,MAAM,IAAI,CAAC,mBAAmB,CACjD,UAAU,EACV,OAAO,EACP,KAAK,EACL,MAAM,EACN,QAAQ,EACR,MAAM,CACP,CAAC;QAEF,MAAM,YAAY,CAAC,IAAI,EAAE,CAAC,CAAC,mBAAmB;QAE9C,iCAAiC;QACjC,MAAM,UAAU,GAAG,IAAI,CAAC,SAAS,CAAC;YAChC,OAAO,EAAE,KAAK;YACd,MAAM,EAAE,2BAA2B;SACpC,CAAC,CAAC;QACH,MAAM,IAAI,CAAC,mBAAmB,CAC5B,UAAU,EACV,OAAO,EACP,KAAK,EACL,MAAM,EACN,UAAU,EACV,MAAM,CACP,CAAC,KAAK,CAAC,GAAG,EAAE;YACX,UAAU;QACZ,CAAC,CAAC,CAAC;QAEH,MAAM,CAAC,IAAI,CAAC,4BAA4B,EAAE,EAAE,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC;IAChE,CAAC;IAED;;;OAGG;IACK,KAAK,CAAC,iBAAiB,CAC7B,KAAa,EACb,OAAe,EACf,MAAc;QAEd,IAAI,CAAC;YACH,MAAM,EAAE,eAAe,EAAE,GAAG,wDAC1B,mCAAmC,GACpC,CAAC;YAEF,0EAA0E;YAC1E,MAAM,UAAU,GAAG,eAAe,OAAO,IAAI,MAAM,IAAI,KAAK,EAAE,CAAC;YAC/D,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC;YACvD,IAAI,OAAO,EAAE,CAAC;gBACZ,wEAAwE;gBACxE,OAAO,IAAI,CAAC,SAAS,CAAC;oBACpB,MAAM,EAAE,gBAAgB;oBACxB,OAAO,EACL,wKAAwK;oBAC1K,IAAI,EAAE,+DAA+D;iBACtE,CAAC,CAAC;YACL,CAAC;YAED,MAAM,MAAM,GAAG,MAAM,eAAe,CAClC,IAAI,CAAC,WAAW,EAChB,IAAI,CAAC,aAAoB,EACzB,KAAK,EACL,OAAO,EACP,MAAM,CACP,CAAC;YACF,IAAI,CAAC,MAAM;gBAAE,OAAO,IAAI,CAAC;YACzB,MAAM,GAAG,GAAG,MAAM,CAAC,uBAAuB,IAAI,MAAM,CAAC,eAAe,CAAC;YACrE,OAAO,IAAI,CAAC,SAAS,CAAC;gBACpB,MAAM,EAAE,gBAAgB;gBACxB,OAAO,EACL,qKAAqK;gBACvK,gBAAgB,EAAE,GAAG;gBACrB,SAAS,EAAE,MAAM,CAAC,QAAQ;gBAC1B,kBAAkB,EAAE,MAAM,CAAC,SAAS;aACrC,CAAC,CAAC;QACL,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,MAAM,CAAC,IAAI,CAAC,yBAAyB,EAAE;gBACrC,KAAK;gBACL,KAAK,EAAE,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC;aAC9D,CAAC,CAAC;YACH,OAAO,IAAI,CAAC;QACd,CAAC;IACH,CAAC;IAEO,KAAK,CAAC,UAAU,CAAC,GAAW;QAClC,IAAI,CAAC;YACH,MAAM,SAAS,GAAG,MAAM,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;YAClD,IAAI,SAAS,EAAE,CAAC;gBACd,MAAM,IAAI,CAAC,WAAW,CAAC,MAAM,CAAC,GAAG,EAAE,IAAI,CAAC,mBAAmB,CAAC,CAAC;YAC/D,CAAC;YACD,OAAO,SAAS,CAAC;QACnB,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,MAAM,CAAC,KAAK,CAAC,sCAAsC,EAAE,EAAE,GAAG,EAAE,KAAK,EAAE,CAAC,CAAC;YACrE,OAAO,IAAI,CAAC;QACd,CAAC;IACH,CAAC;IAEO,KAAK,CAAC,UAAU,CAAC,GAAW,EAAE,SAAiB;QACrD,IAAI,CAAC;YACH,MAAM,IAAI,CAAC,WAAW,CAAC,GAAG,CACxB,GAAG,EACH,SAAS,EACT,IAAI,EACJ,IAAI,CAAC,mBAAmB,CACzB,CAAC;QACJ,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,MAAM,CAAC,KAAK,CAAC,sCAAsC,EAAE,EAAE,GAAG,EAAE,KAAK,EAAE,CAAC,CAAC;QACvE,CAAC;IACH,CAAC;IAEO,gBAAgB,CACtB,CAAU,EACV,IAAY,EACZ,OAAe,EACf,KAAU,IAAI;QAEd,OAAO,CAAC,CAAC,IAAI,CACX;YACE,OAAO,EAAE,KAAK;YACd,EAAE;YACF,KAAK,EAAE,EAAE,IAAI,EAAE,OAAO,EAAE;SACzB,EACD,GAAG,CACJ,CAAC;IACJ,CAAC;CACF;AA77BD,4BA67BC"}
|
|
1
|
+
{"version":3,"file":"proxy.js","sourceRoot":"","sources":["../../../src/auth/mcp/proxy.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,6CAAyC;AACzC,iEAAoC;AACpC,qCAA6D;AAE7D,+BAA4B;AAE5B,uEAAyE;AAEzE,mEAI2C;AAG3C,MAAM,MAAM,GAAG,IAAA,mBAAY,EAAC,WAAW,CAAC,CAAC;AAEzC,MAAM,aAAa,GAAG,IAAI,GAAG,IAAI,CAAC,CAAC,MAAM;AAEzC;;GAEG;AACH,SAAS,YAAY,CAAC,EAAU;IAC9B,gBAAgB;IAChB,IAAI,EAAE,KAAK,KAAK;QAAE,OAAO,IAAI,CAAC;IAE9B,+BAA+B;IAC/B,IAAI,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC;QAAE,OAAO,IAAI,CAAC;IAEpC,OAAO;IACP,MAAM,KAAK,GAAG,EAAE,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;IACxC,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACvB,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,GAAG,KAAyC,CAAC;QACzD,cAAc;QACd,IAAI,CAAC,KAAK,GAAG;YAAE,OAAO,IAAI,CAAC;QAC3B,aAAa;QACb,IAAI,CAAC,KAAK,EAAE;YAAE,OAAO,IAAI,CAAC;QAC1B,gBAAgB;QAChB,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,IAAI,EAAE;YAAE,OAAO,IAAI,CAAC;QACjD,iBAAiB;QACjB,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,KAAK,GAAG;YAAE,OAAO,IAAI,CAAC;QACxC,8BAA8B;QAC9B,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,KAAK,GAAG;YAAE,OAAO,IAAI,CAAC;IAC1C,CAAC;IAED,OAAO,KAAK,CAAC;AACf,CAAC;AAED;;GAEG;AACH,KAAK,UAAU,aAAa,CAAC,GAAW;IACtC,IAAI,CAAC;QACH,MAAM,MAAM,GAAG,IAAI,GAAG,CAAC,GAAG,CAAC,CAAC;QAC5B,MAAM,QAAQ,GAAG,MAAM,CAAC,QAAQ,CAAC;QAEjC,6CAA6C;QAC7C,IAAI,YAAY,CAAC,QAAQ,CAAC;YAAE,OAAO,IAAI,CAAC;QAExC,mCAAmC;QACnC,MAAM,SAAS,GAAG,MAAM,kBAAG,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,EAAc,CAAC,CAAC;QAC3E,MAAM,UAAU,GAAG,MAAM,kBAAG,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,EAAc,CAAC,CAAC;QAE5E,KAAK,MAAM,IAAI,IAAI,CAAC,GAAG,SAAS,EAAE,GAAG,UAAU,CAAC,EAAE,CAAC;YACjD,IAAI,YAAY,CAAC,IAAI,CAAC;gBAAE,OAAO,IAAI,CAAC;QACtC,CAAC;QAED,OAAO,KAAK,CAAC;IACf,CAAC;IAAC,WAAM,CAAC;QACP,iCAAiC;QACjC,OAAO,IAAI,CAAC;IACd,CAAC;AACH,CAAC;AA+BD,SAAS,mBAAmB,CAC1B,CAAU;IAEV,MAAM,YAAY,GAAG,mBAAmB,CAAC,CAAC,CAAC,CAAC;IAC5C,IAAI,CAAC,YAAY;QAAE,OAAO,IAAI,CAAC;IAE/B,MAAM,SAAS,GAAG,IAAA,wBAAiB,EAAC,YAAY,CAAC,CAAC;IAClD,IAAI,CAAC,SAAS;QAAE,OAAO,IAAI,CAAC;IAE5B,OAAO,EAAE,SAAS,EAAE,KAAK,EAAE,YAAY,EAAE,CAAC;AAC5C,CAAC;AAED,SAAS,mBAAmB,CAAC,CAAU;IACrC,MAAM,UAAU,GAAG,CAAC,CAAC,GAAG,CAAC,MAAM,CAAC,eAAe,CAAC,CAAC;IACjD,IAAI,UAAU,aAAV,UAAU,uBAAV,UAAU,CAAE,UAAU,CAAC,SAAS,CAAC,EAAE,CAAC;QACtC,OAAO,UAAU,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC;IACjC,CAAC;IAED,MAAM,cAAc,GAAG,CAAC,CAAC,GAAG,CAAC,KAAK,CAAC,aAAa,CAAC,CAAC;IAClD,IAAI,OAAO,cAAc,KAAK,QAAQ,EAAE,CAAC;QACvC,OAAO,cAAc,CAAC;IACxB,CAAC;IAED,OAAO,IAAI,CAAC;AACd,CAAC;AAED,MAAa,QAAQ;IAsBnB,YACmB,aAA8B,EAC/C,KAAoB,EACpB,SAAwB,EACP,UAAuB;QAHvB,kBAAa,GAAb,aAAa,CAAiB;QAG9B,eAAU,GAAV,UAAU,CAAa;QAzBzB,wBAAmB,GAAG,EAAE,GAAG,EAAE,CAAC,CAAC,aAAa;QAC5C,qBAAgB,GAAG,GAAG,CAAC,CAAC,YAAY;QA0BnD,IAAI,CAAC,WAAW,GAAG,KAAK,CAAC,cAAc,EAAE,CAAC;QAC1C,IAAI,CAAC,SAAS,GAAG,SAAS,CAAC;QAC3B,IAAI,CAAC,GAAG,GAAG,IAAI,WAAI,EAAE,CAAC;QACtB,IAAI,CAAC,WAAW,EAAE,CAAC;QACnB,MAAM,CAAC,KAAK,CAAC,uBAAuB,CAAC,CAAC;IACxC,CAAC;IAED,MAAM;QACJ,OAAO,IAAI,CAAC,GAAG,CAAC;IAClB,CAAC;IAED;;;OAGG;IACH,KAAK,CAAC,iBAAiB,CACrB,OAAe,EACf,MAAc,EACd,KAAa,EACb,QAAgB,EAChB,IAA6B;QAK7B,MAAM,UAAU,GAAG,MAAM,IAAI,CAAC,aAAa,CAAC,aAAa,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC;QAC1E,IAAI,CAAC,UAAU,EAAE,CAAC;YAChB,OAAO;gBACL,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,eAAe,KAAK,aAAa,EAAE,CAAC;gBACpE,OAAO,EAAE,IAAI;aACd,CAAC;QACJ,CAAC;QAED,MAAM,WAAW,GAAG,IAAI,CAAC,SAAS,CAAC;YACjC,OAAO,EAAE,KAAK;YACd,MAAM,EAAE,YAAY;YACpB,MAAM,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,SAAS,EAAE,IAAI,EAAE;YAC3C,EAAE,EAAE,CAAC;SACN,CAAC,CAAC;QAEH,IAAI,CAAC;YACH,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,mBAAmB,CAC7C,UAAU,EACV,OAAO,EACP,KAAK,EACL,MAAM,EACN,WAAW,EACX,MAAM,CACP,CAAC;YAEF,IAAI,CAAC,QAAQ,CAAC,EAAE,EAAE,CAAC;gBACjB,MAAM,IAAI,GAAG,MAAM,QAAQ,CAAC,IAAI,EAAE,CAAC;gBACnC,OAAO;oBACL,OAAO,EAAE;wBACP;4BACE,IAAI,EAAE,MAAM;4BACZ,IAAI,EAAE,qBAAqB,QAAQ,CAAC,MAAM,IAAI,IAAI,EAAE;yBACrD;qBACF;oBACD,OAAO,EAAE,IAAI;iBACd,CAAC;YACJ,CAAC;YAED,MAAM,IAAI,GAAG,CAAC,MAAM,QAAQ,CAAC,IAAI,EAAE,CAAQ,CAAC;YAC5C,MAAM,MAAM,GAAG,IAAI,CAAC,MAAM,IAAI,IAAI,CAAC;YACnC,OAAO;gBACL,OAAO,EAAE,MAAM,CAAC,OAAO,IAAI;oBACzB,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,EAAE;iBAC/C;gBACD,OAAO,EAAE,MAAM,CAAC,OAAO,IAAI,KAAK;aACjC,CAAC;QACJ,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,OAAO;gBACL,OAAO,EAAE;oBACP;wBACE,IAAI,EAAE,MAAM;wBACZ,IAAI,EAAE,yBAAyB,MAAM,CAAC,KAAK,CAAC,EAAE;qBAC/C;iBACF;gBACD,OAAO,EAAE,IAAI;aACd,CAAC;QACJ,CAAC;IACH,CAAC;IAED;;;OAGG;IACH,YAAY,CAAC,CAAU;QACrB,OAAO,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC;IACpC,CAAC;IAED;;;;OAIG;IACH,KAAK,CAAC,gBAAgB,CACpB,KAAa,EACb,OAAe,EACf,SAAc;;QAEd,IAAI,IAAI,CAAC,SAAS,EAAE,CAAC;YACnB,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,SAAS,CAAC,aAAa,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC;YAClE,IAAI,MAAM;gBAAE,OAAO,MAAM,CAAC;QAC5B,CAAC;QAED,MAAM,UAAU,GAAG,MAAM,IAAI,CAAC,aAAa,CAAC,aAAa,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC;QAC1E,IAAI,CAAC,UAAU,EAAE,CAAC;YAChB,OAAO,EAAE,KAAK,EAAE,EAAE,EAAE,CAAC;QACvB,CAAC;QAED,MAAM,MAAM,GAAG,SAAS,aAAT,SAAS,uBAAT,SAAS,CAAE,MAAM,CAAC;QAEjC,IAAI,CAAC;YACH,sDAAsD;YACtD,MAAM,UAAU,GAAG,eAAe,OAAO,IAAI,KAAK,EAAE,CAAC;YACrD,MAAM,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC,KAAK,CAAC,GAAG,EAAE;gBAChD,UAAU;YACZ,CAAC,CAAC,CAAC;YAEH,yDAAyD;YACzD,IAAI,YAAgC,CAAC;YACrC,IAAI,CAAC;gBACH,MAAM,QAAQ,GAAG,IAAI,CAAC,SAAS,CAAC;oBAC9B,OAAO,EAAE,KAAK;oBACd,MAAM,EAAE,YAAY;oBACpB,MAAM,EAAE;wBACN,eAAe,EAAE,YAAY;wBAC7B,YAAY,EAAE,EAAE;wBAChB,UAAU,EAAE,EAAE,IAAI,EAAE,cAAc,EAAE,OAAO,EAAE,OAAO,EAAE;qBACvD;oBACD,EAAE,EAAE,CAAC;iBACN,CAAC,CAAC;gBAEH,MAAM,YAAY,GAAG,MAAM,IAAI,CAAC,mBAAmB,CACjD,UAAU,EACV,OAAO,EACP,KAAK,EACL,MAAM,EACN,QAAQ,EACR,MAAM,CACP,CAAC;gBAEF,MAAM,QAAQ,GAAG,CAAC,MAAM,YAAY,CAAC,IAAI,EAAE,CAG1C,CAAC;gBAEF,IAAI,MAAA,QAAQ,aAAR,QAAQ,uBAAR,QAAQ,CAAE,MAAM,0CAAE,YAAY,EAAE,CAAC;oBACnC,YAAY,GAAG,QAAQ,CAAC,MAAM,CAAC,YAAY,CAAC;oBAC5C,MAAM,CAAC,IAAI,CAAC,kCAAkC,EAAE;wBAC9C,KAAK;wBACL,MAAM,EAAE,YAAY,CAAC,MAAM;qBAC5B,CAAC,CAAC;gBACL,CAAC;gBAED,+DAA+D;gBAC/D,MAAM,UAAU,GAAG,IAAI,CAAC,SAAS,CAAC;oBAChC,OAAO,EAAE,KAAK;oBACd,MAAM,EAAE,2BAA2B;iBACpC,CAAC,CAAC;gBACH,MAAM,IAAI,CAAC,mBAAmB,CAC5B,UAAU,EACV,OAAO,EACP,KAAK,EACL,MAAM,EACN,UAAU,EACV,MAAM,CACP,CAAC,KAAK,CAAC,GAAG,EAAE;oBACX,UAAU;gBACZ,CAAC,CAAC,CAAC;YACL,CAAC;YAAC,OAAO,SAAS,EAAE,CAAC;gBACnB,MAAM,CAAC,IAAI,CAAC,oDAAoD,EAAE;oBAChE,KAAK;oBACL,KAAK,EACH,SAAS,YAAY,KAAK,CAAC,CAAC,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,SAAS,CAAC;iBACrE,CAAC,CAAC;YACL,CAAC;YAED,2BAA2B;YAC3B,MAAM,WAAW,GAAG,IAAI,CAAC,SAAS,CAAC;gBACjC,OAAO,EAAE,KAAK;gBACd,MAAM,EAAE,YAAY;gBACpB,MAAM,EAAE,EAAE;gBACV,EAAE,EAAE,CAAC;aACN,CAAC,CAAC;YAEH,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,mBAAmB,CAC7C,UAAU,EACV,OAAO,EACP,KAAK,EACL,MAAM,EACN,WAAW,EACX,MAAM,CACP,CAAC;YAEF,MAAM,IAAI,GAAG,CAAC,MAAM,QAAQ,CAAC,IAAI,EAAE,CAAoB,CAAC;YACxD,MAAM,KAAK,GAAc,CAAA,MAAA,IAAI,aAAJ,IAAI,uBAAJ,IAAI,CAAE,MAAM,0CAAE,KAAK,KAAI,EAAE,CAAC;YAEnD,MAAM,UAAU,GAAoB,EAAE,KAAK,EAAE,YAAY,EAAE,CAAC;YAC5D,IAAI,IAAI,CAAC,SAAS,IAAI,KAAK,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBACvC,MAAM,IAAI,CAAC,SAAS,CAAC,aAAa,CAAC,KAAK,EAAE,UAAU,EAAE,OAAO,CAAC,CAAC;YACjE,CAAC;YAED,OAAO,UAAU,CAAC;QACpB,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,MAAM,CAAC,IAAI,CAAC,8CAA8C,EAAE;gBAC1D,KAAK;gBACL,KAAK,EAAE,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC;aAC9D,CAAC,CAAC;YAEH,kEAAkE;YAClE,MAAM,IAAI,OAAO,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,UAAU,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC,CAAC;YAC9C,IAAI,CAAC;gBACH,MAAM,SAAS,GAAG,IAAI,CAAC,SAAS,CAAC;oBAC/B,OAAO,EAAE,KAAK;oBACd,MAAM,EAAE,YAAY;oBACpB,MAAM,EAAE,EAAE;oBACV,EAAE,EAAE,CAAC;iBACN,CAAC,CAAC;gBACH,MAAM,aAAa,GAAG,MAAM,IAAI,CAAC,mBAAmB,CAClD,UAAU,EACV,OAAO,EACP,KAAK,EACL,MAAM,EACN,SAAS,EACT,MAAM,CACP,CAAC;gBACF,MAAM,SAAS,GAAG,CAAC,MAAM,aAAa,CAAC,IAAI,EAAE,CAAoB,CAAC;gBAClE,MAAM,UAAU,GAAc,CAAA,MAAA,SAAS,aAAT,SAAS,uBAAT,SAAS,CAAE,MAAM,0CAAE,KAAK,KAAI,EAAE,CAAC;gBAC7D,IAAI,UAAU,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;oBAC1B,MAAM,UAAU,GAAoB,EAAE,KAAK,EAAE,UAAU,EAAE,CAAC;oBAC1D,IAAI,IAAI,CAAC,SAAS,EAAE,CAAC;wBACnB,MAAM,IAAI,CAAC,SAAS,CAAC,aAAa,CAAC,KAAK,EAAE,UAAU,EAAE,OAAO,CAAC,CAAC;oBACjE,CAAC;oBACD,MAAM,CAAC,IAAI,CAAC,oCAAoC,EAAE;wBAChD,KAAK;wBACL,SAAS,EAAE,UAAU,CAAC,MAAM;qBAC7B,CAAC,CAAC;oBACH,OAAO,UAAU,CAAC;gBACpB,CAAC;YACH,CAAC;YAAC,OAAO,UAAU,EAAE,CAAC;gBACpB,MAAM,CAAC,KAAK,CAAC,sCAAsC,EAAE;oBACnD,KAAK;oBACL,KAAK,EACH,UAAU,YAAY,KAAK;wBACzB,CAAC,CAAC,UAAU,CAAC,OAAO;wBACpB,CAAC,CAAC,MAAM,CAAC,UAAU,CAAC;iBACzB,CAAC,CAAC;YACL,CAAC;YACD,OAAO,EAAE,KAAK,EAAE,EAAE,EAAE,CAAC;QACvB,CAAC;IACH,CAAC;IAEO,WAAW;QACjB,8EAA8E;QAC9E,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,QAAQ,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,IAAI,CAAC,kBAAkB,CAAC,CAAC,CAAC,CAAC,CAAC;QAC1D,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,eAAe,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC,CAAC,CAAC,CAAC;QAC9D,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,yBAAyB,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC,CAAC;QAExE,wDAAwD;QACxD,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,WAAW,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,IAAI,CAAC,kBAAkB,CAAC,CAAC,CAAC,CAAC,CAAC;QAC7D,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,UAAU,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,IAAI,CAAC,kBAAkB,CAAC,CAAC,CAAC,CAAC,CAAC;QAE5D,kDAAkD;QAClD,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,SAAS,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,IAAI,CAAC,kBAAkB,CAAC,CAAC,CAAC,CAAC,CAAC;QAC3D,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,WAAW,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,IAAI,CAAC,kBAAkB,CAAC,CAAC,CAAC,CAAC,CAAC;IAC/D,CAAC;IAEO,KAAK,CAAC,eAAe,CAAC,CAAU;;QACtC,MAAM,KAAK,GAAG,CAAC,CAAC,GAAG,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;QACnC,IAAI,CAAC,KAAK;YAAE,OAAO,CAAC,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,uBAAuB,EAAE,EAAE,GAAG,CAAC,CAAC;QACnE,MAAM,IAAI,GAAG,mBAAmB,CAAC,CAAC,CAAC,CAAC;QACpC,IAAI,CAAC,IAAI;YAAE,OAAO,CAAC,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,8BAA8B,EAAE,EAAE,GAAG,CAAC,CAAC;QAEzE,MAAM,OAAO,GAAG,IAAI,CAAC,SAAS,CAAC,OAAO,IAAI,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC;QAChE,MAAM,eAAe,GAAG,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC;QAC9C,IAAI,CAAC,OAAO,IAAI,CAAC,eAAe,EAAE,CAAC;YACjC,OAAO,CAAC,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,8BAA8B,EAAE,EAAE,GAAG,CAAC,CAAC;QAChE,CAAC;QACD,MAAM,UAAU,GAAG,MAAM,IAAI,CAAC,aAAa,CAAC,aAAa,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC;QAC1E,IAAI,CAAC,UAAU,EAAE,CAAC;YAChB,OAAO,CAAC,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,eAAe,KAAK,aAAa,EAAE,EAAE,GAAG,CAAC,CAAC;QACnE,CAAC;QAED,cAAc;QACd,IAAI,IAAI,CAAC,SAAS,EAAE,CAAC;YACnB,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC;YACxD,IAAI,MAAM;gBAAE,OAAO,CAAC,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,MAAM,EAAE,CAAC,CAAC;QAC/C,CAAC;QAED,IAAI,CAAC;YACH,MAAM,WAAW,GAAG,IAAI,CAAC,SAAS,CAAC;gBACjC,OAAO,EAAE,KAAK;gBACd,MAAM,EAAE,YAAY;gBACpB,MAAM,EAAE,EAAE;gBACV,EAAE,EAAE,CAAC;aACN,CAAC,CAAC;YAEH,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,mBAAmB,CAC7C,UAAU,EACV,OAAO,EACP,KAAK,EACL,MAAM,EACN,WAAW,EACX,eAAe,CAChB,CAAC;YAEF,MAAM,IAAI,GAAG,CAAC,MAAM,QAAQ,CAAC,IAAI,EAAE,CAAoB,CAAC;YACxD,IAAI,IAAI,aAAJ,IAAI,uBAAJ,IAAI,CAAE,KAAK,EAAE,CAAC;gBAChB,MAAM,CAAC,KAAK,CAAC,kCAAkC,EAAE;oBAC/C,KAAK;oBACL,KAAK,EAAE,IAAI,CAAC,KAAK;iBAClB,CAAC,CAAC;gBACH,OAAO,CAAC,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,IAAI,CAAC,KAAK,CAAC,OAAO,IAAI,gBAAgB,EAAE,EAAE,GAAG,CAAC,CAAC;YACxE,CAAC;YAED,MAAM,KAAK,GAAc,CAAA,MAAA,IAAI,aAAJ,IAAI,uBAAJ,IAAI,CAAE,MAAM,0CAAE,KAAK,KAAI,EAAE,CAAC;YAEnD,eAAe;YACf,IAAI,IAAI,CAAC,SAAS,IAAI,KAAK,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBACvC,MAAM,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,KAAK,EAAE,KAAK,EAAE,OAAO,CAAC,CAAC;YAClD,CAAC;YAED,OAAO,CAAC,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC;QAC3B,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,MAAM,CAAC,KAAK,CAAC,sBAAsB,EAAE,EAAE,KAAK,EAAE,KAAK,EAAE,CAAC,CAAC;YACvD,OAAO,CAAC,CAAC,IAAI,CACX;gBACE,KAAK,EAAE,6BAA6B,KAAK,MAAM,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,eAAe,EAAE;aAC1G,EACD,GAAG,CACJ,CAAC;QACJ,CAAC;IACH,CAAC;IAEO,KAAK,CAAC,cAAc,CAAC,CAAU;QACrC,MAAM,KAAK,GAAG,CAAC,CAAC,GAAG,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;QACnC,MAAM,QAAQ,GAAG,CAAC,CAAC,GAAG,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC;QACzC,IAAI,CAAC,KAAK,IAAI,CAAC,QAAQ,EAAE,CAAC;YACxB,OAAO,CAAC,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,oCAAoC,EAAE,EAAE,GAAG,CAAC,CAAC;QACtE,CAAC;QACD,MAAM,IAAI,GAAG,mBAAmB,CAAC,CAAC,CAAC,CAAC;QACpC,IAAI,CAAC,IAAI;YAAE,OAAO,CAAC,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,8BAA8B,EAAE,EAAE,GAAG,CAAC,CAAC;QAEzE,MAAM,OAAO,GAAG,IAAI,CAAC,SAAS,CAAC,OAAO,IAAI,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC;QAChE,MAAM,eAAe,GAAG,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC;QAC9C,IAAI,CAAC,OAAO,IAAI,CAAC,eAAe,EAAE,CAAC;YACjC,OAAO,CAAC,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,8BAA8B,EAAE,EAAE,GAAG,CAAC,CAAC;QAChE,CAAC;QACD,MAAM,UAAU,GAAG,MAAM,IAAI,CAAC,aAAa,CAAC,aAAa,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC;QAC1E,IAAI,CAAC,UAAU,EAAE,CAAC;YAChB,OAAO,CAAC,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,eAAe,KAAK,aAAa,EAAE,EAAE,GAAG,CAAC,CAAC;QACnE,CAAC;QAED,6EAA6E;QAC7E,IAAI,aAAa,GAA4B,EAAE,CAAC;QAChD,IAAI,CAAC;YACH,MAAM,IAAI,GAAG,MAAM,CAAC,CAAC,GAAG,CAAC,IAAI,EAAE,CAAC;YAChC,IAAI,IAAI,EAAE,CAAC;gBACT,IAAI,IAAI,CAAC,MAAM,GAAG,aAAa,EAAE,CAAC;oBAChC,OAAO,CAAC,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,wBAAwB,EAAE,EAAE,GAAG,CAAC,CAAC;gBAC1D,CAAC;gBACD,aAAa,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;YACnC,CAAC;QACH,CAAC;QAAC,WAAM,CAAC;YACP,OAAO,CAAC,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,mBAAmB,EAAE,EAAE,GAAG,CAAC,CAAC;QACrD,CAAC;QAED,uDAAuD;QACvD,IAAI,IAAI,CAAC,UAAU,EAAE,CAAC;YACpB,MAAM,EAAE,KAAK,EAAE,WAAW,EAAE,GAAG,MAAM,IAAI,CAAC,kBAAkB,CAC1D,KAAK,EACL,QAAQ,EACR,OAAO,EACP,IAAI,CAAC,SAAS,CACf,CAAC;YACF,IAAI,KAAK,IAAI,IAAA,sCAAoB,EAAC,WAAW,CAAC,EAAE,CAAC;gBAC/C,MAAM,OAAO,GAAG,QAAQ,KAAK,UAAU,QAAQ,EAAE,CAAC;gBAClD,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,UAAU,CAAC,QAAQ,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;gBAClE,IAAI,CAAC,QAAQ,EAAE,CAAC;oBACd,MAAM,CAAC,IAAI,CAAC,sCAAsC,EAAE;wBAClD,OAAO;wBACP,KAAK;wBACL,QAAQ;wBACR,OAAO;qBACR,CAAC,CAAC;oBAEH,IAAI,IAAI,CAAC,aAAa,EAAE,CAAC;wBACvB,MAAM,SAAS,GAAG,MAAM,IAAA,wBAAU,GAAE,EAAE,CAAC;wBACvC,MAAM,IAAI,CAAC,WAAW;6BACnB,GAAG,CACF,gBAAgB,SAAS,EAAE,EAC3B,IAAI,CAAC,SAAS,CAAC;4BACb,KAAK;4BACL,QAAQ;4BACR,IAAI,EAAE,aAAa;4BACnB,OAAO;4BACP,MAAM,EAAE,eAAe;yBACxB,CAAC,EACF,IAAI,EACJ,IAAI,CAAC,gBAAgB,CACtB;6BACA,KAAK,CAAC,CAAC,GAAY,EAAE,EAAE,CACtB,MAAM,CAAC,KAAK,CACV,EAAE,SAAS,EAAE,KAAK,EAAE,MAAM,CAAC,GAAG,CAAC,EAAE,EACjC,yCAAyC,CAC1C,CACF,CAAC;wBAEJ,MAAM,IAAI,CAAC,aAAa,CACtB,SAAS,EACT,OAAO,EACP,eAAe,EACf,KAAK,EACL,QAAQ,EACR,aAAa,EACb,OAAO,EACP,IAAI,CAAC,SAAS,CAAC,SAAS,IAAI,EAAE,EAC9B,IAAI,CAAC,SAAS,CAAC,cAAc,IAAI,EAAE,EACnC,IAAI,CAAC,SAAS,CAAC,MAAM,EACrB,IAAI,CAAC,SAAS,CAAC,YAAY,CAC5B,CAAC,KAAK,CAAC,CAAC,GAAG,EAAE,EAAE,CACd,MAAM,CAAC,KAAK,CACV,EAAE,SAAS,EAAE,KAAK,EAAE,MAAM,CAAC,GAAG,CAAC,EAAE,EACjC,+BAA+B,CAChC,CACF,CAAC;wBAEF,OAAO,CAAC,CAAC,IAAI,CACX;4BACE,OAAO,EAAE;gCACP;oCACE,IAAI,EAAE,MAAM;oCACZ,IAAI,EAAE,sIAAsI;iCAC7I;6BACF;4BACD,OAAO,EAAE,IAAI;yBACd,EACD,GAAG,CACJ,CAAC;oBACJ,CAAC;oBAED,OAAO,CAAC,CAAC,IAAI,CACX;wBACE,OAAO,EAAE;4BACP;gCACE,IAAI,EAAE,MAAM;gCACZ,IAAI,EAAE,qEAAqE,KAAK,MAAM,QAAQ,EAAE;6BACjG;yBACF;wBACD,OAAO,EAAE,IAAI;qBACd,EACD,GAAG,CACJ,CAAC;gBACJ,CAAC;YACH,CAAC;QACH,CAAC;QAED,IAAI,CAAC;YACH,MAAM,WAAW,GAAG,IAAI,CAAC,SAAS,CAAC;gBACjC,OAAO,EAAE,KAAK;gBACd,MAAM,EAAE,YAAY;gBACpB,MAAM,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,SAAS,EAAE,aAAa,EAAE;gBACpD,EAAE,EAAE,CAAC;aACN,CAAC,CAAC;YAEH,IAAI,QAAQ,GAAG,MAAM,IAAI,CAAC,mBAAmB,CAC3C,UAAU,EACV,OAAO,EACP,KAAK,EACL,MAAM,EACN,WAAW,EACX,eAAe,CAChB,CAAC;YAEF,IAAI,IAAI,GAAG,CAAC,MAAM,QAAQ,CAAC,IAAI,EAAE,CAAoB,CAAC;YAEtD,8DAA8D;YAC9D,IAAI,CAAA,IAAI,aAAJ,IAAI,uBAAJ,IAAI,CAAE,KAAK,KAAI,kBAAkB,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,OAAO,IAAI,EAAE,CAAC,EAAE,CAAC;gBACrE,MAAM,CAAC,IAAI,CAAC,mDAAmD,EAAE;oBAC/D,KAAK;oBACL,QAAQ;iBACT,CAAC,CAAC;gBACH,MAAM,IAAI,CAAC,mBAAmB,CAC5B,UAAU,EACV,OAAO,EACP,KAAK,EACL,eAAe,CAChB,CAAC;gBAEF,QAAQ,GAAG,MAAM,IAAI,CAAC,mBAAmB,CACvC,UAAU,EACV,OAAO,EACP,KAAK,EACL,MAAM,EACN,WAAW,EACX,eAAe,CAChB,CAAC;gBACF,IAAI,GAAG,CAAC,MAAM,QAAQ,CAAC,IAAI,EAAE,CAAoB,CAAC;YACpD,CAAC;YAED,IAAI,IAAI,aAAJ,IAAI,uBAAJ,IAAI,CAAE,KAAK,EAAE,CAAC;gBAChB,MAAM,QAAQ,GACZ,IAAI,CAAC,KAAK,CAAC,OAAO;oBAClB,CAAC,OAAO,IAAI,CAAC,KAAK,KAAK,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,gBAAgB,CAAC,CAAC;gBACnE,MAAM,CAAC,KAAK,CAAC,+CAA+C,EAAE;oBAC5D,KAAK;oBACL,QAAQ;oBACR,KAAK,EAAE,IAAI,CAAC,KAAK;iBAClB,CAAC,CAAC;gBAEH,wDAAwD;gBACxD,IAAI,yCAAyC,CAAC,IAAI,CAAC,QAAQ,CAAC,EAAE,CAAC;oBAC7D,MAAM,cAAc,GAAG,MAAM,IAAI,CAAC,iBAAiB,CACjD,KAAK,EACL,OAAO,EACP,eAAe,CAChB,CAAC;oBACF,IAAI,cAAc,EAAE,CAAC;wBACnB,OAAO,CAAC,CAAC,IAAI,CACX;4BACE,OAAO,EAAE;gCACP;oCACE,IAAI,EAAE,MAAM;oCACZ,IAAI,EAAE,cAAc;iCACrB;6BACF;4BACD,OAAO,EAAE,IAAI;yBACd,EACD,GAAG,CACJ,CAAC;oBACJ,CAAC;oBACD,OAAO,CAAC,CAAC,IAAI,CACX;wBACE,OAAO,EAAE;4BACP;gCACE,IAAI,EAAE,MAAM;gCACZ,IAAI,EAAE,+BAA+B,KAAK,uCAAuC;6BAClF;yBACF;wBACD,OAAO,EAAE,IAAI;qBACd,EACD,GAAG,CACJ,CAAC;gBACJ,CAAC;gBAED,OAAO,CAAC,CAAC,IAAI,CACX;oBACE,OAAO,EAAE,EAAE;oBACX,OAAO,EAAE,IAAI;oBACb,KAAK,EAAE,QAAQ;iBAChB,EACD,GAAG,CACJ,CAAC;YACJ,CAAC;YAED,MAAM,MAAM,GAAG,CAAA,IAAI,aAAJ,IAAI,uBAAJ,IAAI,CAAE,MAAM,KAAI,EAAE,CAAC;YAClC,OAAO,CAAC,CAAC,IAAI,CAAC;gBACZ,OAAO,EAAE,MAAM,CAAC,OAAO,IAAI,EAAE;gBAC7B,OAAO,EAAE,MAAM,CAAC,OAAO,IAAI,KAAK;aACjC,CAAC,CAAC;QACL,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,MAAM,CAAC,KAAK,CAAC,qBAAqB,EAAE,EAAE,KAAK,EAAE,QAAQ,EAAE,KAAK,EAAE,CAAC,CAAC;YAChE,OAAO,CAAC,CAAC,IAAI,CACX;gBACE,OAAO,EAAE,EAAE;gBACX,OAAO,EAAE,IAAI;gBACb,KAAK,EAAE,6BAA6B,KAAK,MAAM,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,eAAe,EAAE;aAC1G,EACD,GAAG,CACJ,CAAC;QACJ,CAAC;IACH,CAAC;IAEO,KAAK,CAAC,kBAAkB,CAAC,CAAU;QACzC,MAAM,IAAI,GAAG,mBAAmB,CAAC,CAAC,CAAC,CAAC;QACpC,IAAI,CAAC,IAAI;YAAE,OAAO,CAAC,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,8BAA8B,EAAE,EAAE,GAAG,CAAC,CAAC;QAEzE,MAAM,OAAO,GAAG,IAAI,CAAC,SAAS,CAAC,OAAO,IAAI,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC;QAEhE,MAAM,cAAc,GAAG,MAAM,IAAI,CAAC,aAAa,CAAC,iBAAiB,CAAC,OAAO,CAAC,CAAC;QAC3E,MAAM,SAAS,GAAG,KAAK,CAAC,IAAI,CAAC,cAAc,CAAC,IAAI,EAAE,CAAC,CAAC;QAEpD,MAAM,UAAU,GAAyC,EAAE,CAAC;QAE5D,6CAA6C;QAC7C,MAAM,OAAO,GAAG,MAAM,OAAO,CAAC,UAAU,CACtC,SAAS,CAAC,GAAG,CAAC,KAAK,EAAE,KAAK,EAAE,EAAE;YAC5B,MAAM,EAAE,KAAK,EAAE,GAAG,MAAM,IAAI,CAAC,gBAAgB,CAC3C,KAAK,EACL,OAAO,EACP,IAAI,CAAC,SAAS,CACf,CAAC;YACF,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,CAAC;QAC1B,CAAC,CAAC,CACH,CAAC;QAEF,KAAK,MAAM,MAAM,IAAI,OAAO,EAAE,CAAC;YAC7B,IAAI,MAAM,CAAC,MAAM,KAAK,WAAW,IAAI,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBACnE,UAAU,CAAC,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,GAAG,EAAE,KAAK,EAAE,MAAM,CAAC,KAAK,CAAC,KAAK,EAAE,CAAC;YACjE,CAAC;QACH,CAAC;QAED,OAAO,CAAC,CAAC,IAAI,CAAC,EAAE,UAAU,EAAE,CAAC,CAAC;IAChC,CAAC;IAEO,KAAK,CAAC,kBAAkB,CAAC,CAAU;;QACzC,MAAM,KAAK,GAAG,CAAC,CAAC,GAAG,CAAC,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC;QAC/D,MAAM,YAAY,GAAG,mBAAmB,CAAC,CAAC,CAAC,CAAC;QAE5C,MAAM,CAAC,IAAI,CAAC,4BAA4B,EAAE;YACxC,MAAM,EAAE,CAAC,CAAC,GAAG,CAAC,MAAM;YACpB,IAAI,EAAE,CAAC,CAAC,GAAG,CAAC,IAAI;YAChB,KAAK;YACL,eAAe,EAAE,CAAC,CAAC,YAAY;SAChC,CAAC,CAAC;QAEH,IAAI,CAAC,KAAK,EAAE,CAAC;YACX,OAAO,IAAI,CAAC,gBAAgB,CAAC,CAAC,EAAE,CAAC,KAAK,EAAE,gBAAgB,CAAC,CAAC;QAC5D,CAAC;QAED,IAAI,CAAC,YAAY,EAAE,CAAC;YAClB,OAAO,IAAI,CAAC,gBAAgB,CAAC,CAAC,EAAE,CAAC,KAAK,EAAE,8BAA8B,CAAC,CAAC;QAC1E,CAAC;QAED,MAAM,SAAS,GAAG,IAAA,wBAAiB,EAAC,YAAY,CAAC,CAAC;QAClD,IAAI,CAAC,SAAS,EAAE,CAAC;YACf,OAAO,IAAI,CAAC,gBAAgB,CAAC,CAAC,EAAE,CAAC,KAAK,EAAE,8BAA8B,CAAC,CAAC;QAC1E,CAAC;QAED,MAAM,OAAO,GAAG,SAAS,CAAC,OAAO,IAAI,SAAS,CAAC,MAAM,CAAC;QACtD,MAAM,UAAU,GAAG,MAAM,IAAI,CAAC,aAAa,CAAC,aAAa,CAAC,KAAM,EAAE,OAAO,CAAC,CAAC;QAE3E,IAAI,CAAC,UAAU,EAAE,CAAC;YAChB,OAAO,IAAI,CAAC,gBAAgB,CAC1B,CAAC,EACD,CAAC,KAAK,EACN,eAAe,KAAK,aAAa,CAClC,CAAC;QACJ,CAAC;QAED,wDAAwD;QACxD,uFAAuF;QACvF,IAAI,IAAI,CAAC,UAAU,IAAI,CAAC,CAAC,GAAG,CAAC,MAAM,KAAK,MAAM,EAAE,CAAC;YAC/C,IAAI,CAAC;gBACH,MAAM,SAAS,GAAG,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,KAAK,EAAE,CAAC;gBACpC,MAAM,QAAQ,GAAG,MAAM,SAAS,CAAC,IAAI,EAAE,CAAC;gBACxC,IAAI,QAAQ,EAAE,CAAC;oBACb,MAAM,OAAO,GAAG,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC;oBACrC,IAAI,OAAO,CAAC,MAAM,KAAK,YAAY,KAAI,MAAA,OAAO,CAAC,MAAM,0CAAE,IAAI,CAAA,EAAE,CAAC;wBAC5D,MAAM,QAAQ,GAAG,OAAO,CAAC,MAAM,CAAC,IAAI,CAAC;wBACrC,MAAM,QAAQ,GAAG,OAAO,CAAC,MAAM,CAAC,SAAS,IAAI,EAAE,CAAC;wBAChD,MAAM,EAAE,KAAK,EAAE,WAAW,EAAE,GAAG,MAAM,IAAI,CAAC,kBAAkB,CAC1D,KAAM,EACN,QAAQ,EACR,OAAO,EACP,SAAS,CACV,CAAC;wBACF,IAAI,KAAK,IAAI,IAAA,sCAAoB,EAAC,WAAW,CAAC,EAAE,CAAC;4BAC/C,MAAM,OAAO,GAAG,QAAQ,KAAK,UAAU,QAAQ,EAAE,CAAC;4BAClD,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,UAAU,CAAC,QAAQ,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;4BAClE,IAAI,CAAC,QAAQ,EAAE,CAAC;gCACd,MAAM,CAAC,IAAI,CAAC,iDAAiD,EAAE;oCAC7D,OAAO;oCACP,KAAK;oCACL,QAAQ;oCACR,OAAO;iCACR,CAAC,CAAC;gCAEH,IAAI,IAAI,CAAC,aAAa,EAAE,CAAC;oCACvB,MAAM,SAAS,GAAG,MAAM,IAAA,wBAAU,GAAE,EAAE,CAAC;oCACvC,MAAM,IAAI,CAAC,WAAW;yCACnB,GAAG,CACF,gBAAgB,SAAS,EAAE,EAC3B,IAAI,CAAC,SAAS,CAAC;wCACb,KAAK;wCACL,QAAQ;wCACR,IAAI,EAAE,QAAQ;wCACd,OAAO;wCACP,MAAM,EAAE,SAAS,CAAC,MAAM;qCACzB,CAAC,EACF,IAAI,EACJ,IAAI,CAAC,gBAAgB,CACtB;yCACA,KAAK,CAAC,CAAC,GAAY,EAAE,EAAE,CACtB,MAAM,CAAC,KAAK,CACV,EAAE,SAAS,EAAE,KAAK,EAAE,MAAM,CAAC,GAAG,CAAC,EAAE,EACjC,yCAAyC,CAC1C,CACF,CAAC;oCAEJ,MAAM,IAAI,CAAC,aAAa,CACtB,SAAS,EACT,OAAO,EACP,SAAS,CAAC,MAAM,EAChB,KAAM,EACN,QAAQ,EACR,QAAQ,EACR,OAAO,EACP,SAAS,CAAC,SAAS,IAAI,EAAE,EACzB,SAAS,CAAC,cAAc,IAAI,EAAE,EAC9B,SAAS,CAAC,MAAM,EAChB,SAAS,CAAC,YAAY,CACvB,CAAC,KAAK,CAAC,CAAC,GAAG,EAAE,EAAE,CACd,MAAM,CAAC,KAAK,CACV,EAAE,SAAS,EAAE,KAAK,EAAE,MAAM,CAAC,GAAG,CAAC,EAAE,EACjC,+BAA+B,CAChC,CACF,CAAC;gCACJ,CAAC;gCAED,OAAO,CAAC,CAAC,IAAI,CAAC;oCACZ,OAAO,EAAE,KAAK;oCACd,EAAE,EAAE,OAAO,CAAC,EAAE;oCACd,MAAM,EAAE;wCACN,OAAO,EAAE;4CACP;gDACE,IAAI,EAAE,MAAM;gDACZ,IAAI,EAAE,sIAAsI;6CAC7I;yCACF;wCACD,OAAO,EAAE,IAAI;qCACd;iCACF,CAAC,CAAC;4BACL,CAAC;wBACH,CAAC;oBACH,CAAC;gBACH,CAAC;YACH,CAAC;YAAC,WAAM,CAAC;gBACP,wDAAwD;YAC1D,CAAC;QACH,CAAC;QAED,IAAI,CAAC;YACH,OAAO,MAAM,IAAI,CAAC,cAAc,CAC9B,CAAC,EACD,UAAU,EACV,OAAO,EACP,KAAM,EACN,SAAS,CAAC,MAAM,CACjB,CAAC;QACJ,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,MAAM,CAAC,KAAK,CAAC,6BAA6B,EAAE,EAAE,KAAK,EAAE,KAAK,EAAE,CAAC,CAAC;YAC9D,OAAO,IAAI,CAAC,gBAAgB,CAC1B,CAAC,EACD,CAAC,KAAK,EACN,6BAA6B,KAAK,MAAM,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,eAAe,EAAE,CACnG,CAAC;QACJ,CAAC;IACH,CAAC;IAEO,KAAK,CAAC,kBAAkB,CAC9B,KAAa,EACb,QAAgB,EAChB,OAAe,EACf,SAAc;QAEd,IAAI,KAAK,GAAqB,IAAI,CAAC;QACnC,IAAI,IAAI,CAAC,SAAS,EAAE,CAAC;YACnB,KAAK,GAAG,MAAM,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC;QACnD,CAAC;QAED,IAAI,CAAC,KAAK,EAAE,CAAC;YACX,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,gBAAgB,CAAC,KAAK,EAAE,OAAO,EAAE,SAAS,CAAC,CAAC;YACtE,KAAK,GAAG,MAAM,CAAC,KAAK,CAAC;QACvB,CAAC;QAED,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YACvB,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,CAAC;QAC1B,CAAC;QAED,MAAM,IAAI,GAAG,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,QAAQ,CAAC,CAAC;QACpD,OAAO,EAAE,KAAK,EAAE,IAAI,EAAE,WAAW,EAAE,IAAI,aAAJ,IAAI,uBAAJ,IAAI,CAAE,WAAW,EAAE,CAAC;IACzD,CAAC;IAEO,oBAAoB,CAC1B,SAAwB,EACxB,aAAsC,EACtC,eAAwB;QAExB,MAAM,OAAO,GAA2B;YACtC,cAAc,EAAE,kBAAkB;YAClC,MAAM,EAAE,kBAAkB;SAC3B,CAAC;QAEF,oEAAoE;QACpE,IAAI,aAAa,EAAE,CAAC;YAClB,KAAK,MAAM,CAAC,GAAG,EAAE,KAAK,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,aAAa,CAAC,EAAE,CAAC;gBACzD,OAAO,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC;YACvB,CAAC;QACH,CAAC;QAED,6EAA6E;QAC7E,IAAI,eAAe,EAAE,CAAC;YACpB,OAAO,CAAC,aAAa,GAAG,UAAU,eAAe,EAAE,CAAC;QACtD,CAAC;QAED,IAAI,SAAS,EAAE,CAAC;YACd,OAAO,CAAC,gBAAgB,CAAC,GAAG,SAAS,CAAC;QACxC,CAAC;QAED,OAAO,OAAO,CAAC;IACjB,CAAC;IAEO,KAAK,CAAC,sBAAsB,CAClC,OAAe,EACf,MAAc,EACd,KAAa;;QAEb,MAAM,UAAU,GAAG,MAAM,IAAA,iCAAmB,EAC1C,IAAI,CAAC,WAAW,EAChB,OAAO,EACP,MAAM,EACN,KAAK,CACN,CAAC;QACF,IAAI,CAAC,UAAU,EAAE,CAAC;YAChB,4EAA4E;YAC5E,OAAO,IAAA,0CAA4B,EACjC,IAAI,CAAC,WAAW,EAChB,OAAO,EACP,MAAM,EACN,KAAK,CACN,CAAC;QACJ,CAAC;QAED,kDAAkD;QAClD,IAAI,UAAU,CAAC,SAAS,GAAG,IAAI,CAAC,GAAG,EAAE,GAAG,CAAC,GAAG,EAAE,GAAG,IAAI,EAAE,CAAC;YACtD,OAAO,UAAU,CAAC,WAAW,CAAC;QAChC,CAAC;QAED,2CAA2C;QAC3C,MAAM,SAAS,GAAG,MAAM,IAAA,+BAAiB,EACvC,IAAI,CAAC,WAAW,EAChB,OAAO,EACP,MAAM,EACN,KAAK,EACL,UAAU,CACX,CAAC;QACF,OAAO,MAAA,SAAS,aAAT,SAAS,uBAAT,SAAS,CAAE,WAAW,mCAAI,IAAI,CAAC;IACxC,CAAC;IAEO,KAAK,CAAC,mBAAmB,CAC/B,UAA+B,EAC/B,OAAe,EACf,KAAa,EACb,MAAc,EACd,IAAa,EACb,MAAe;QAEf,MAAM,UAAU,GAAG,eAAe,OAAO,IAAI,KAAK,EAAE,CAAC;QACrD,MAAM,SAAS,GAAG,MAAM,IAAI,CAAC,UAAU,CAAC,UAAU,CAAC,CAAC;QAEpD,2CAA2C;QAC3C,IAAI,eAAmC,CAAC;QACxC,IAAI,MAAM,EAAE,CAAC;YACX,MAAM,KAAK,GAAG,MAAM,IAAI,CAAC,sBAAsB,CAAC,OAAO,EAAE,MAAM,EAAE,KAAK,CAAC,CAAC;YACxE,IAAI,KAAK;gBAAE,eAAe,GAAG,KAAK,CAAC;QACrC,CAAC;QAED,uDAAuD;QACvD,IAAI,MAAM,aAAa,CAAC,UAAU,CAAC,WAAW,CAAC,EAAE,CAAC;YAChD,MAAM,CAAC,IAAI,CAAC,sCAAsC,EAAE;gBAClD,GAAG,EAAE,UAAU,CAAC,WAAW;gBAC3B,KAAK;gBACL,OAAO;aACR,CAAC,CAAC;YACH,OAAO,IAAI,QAAQ,CACjB,IAAI,CAAC,SAAS,CAAC;gBACb,OAAO,EAAE,KAAK;gBACd,EAAE,EAAE,IAAI;gBACR,KAAK,EAAE;oBACL,IAAI,EAAE,CAAC,KAAK;oBACZ,OAAO,EAAE,qDAAqD;iBAC/D;aACF,CAAC,EACF,EAAE,MAAM,EAAE,GAAG,EAAE,OAAO,EAAE,EAAE,cAAc,EAAE,kBAAkB,EAAE,EAAE,CACjE,CAAC;QACJ,CAAC;QAED,MAAM,OAAO,GAAG,IAAI,CAAC,oBAAoB,CACvC,SAAS,EACT,UAAU,CAAC,OAAO,EAClB,eAAe,CAChB,CAAC;QAEF,MAAM,QAAQ,GAAG,MAAM,KAAK,CAAC,UAAU,CAAC,WAAW,EAAE;YACnD,MAAM;YACN,OAAO;YACP,IAAI,EAAE,IAAI,IAAI,SAAS;SACxB,CAAC,CAAC;QAEH,gBAAgB;QAChB,MAAM,YAAY,GAAG,QAAQ,CAAC,OAAO,CAAC,GAAG,CAAC,gBAAgB,CAAC,CAAC;QAC5D,IAAI,YAAY,EAAE,CAAC;YACjB,MAAM,IAAI,CAAC,UAAU,CAAC,UAAU,EAAE,YAAY,CAAC,CAAC;QAClD,CAAC;QAED,OAAO,QAAQ,CAAC;IAClB,CAAC;IAEO,KAAK,CAAC,cAAc,CAC1B,CAAU,EACV,UAA+B,EAC/B,OAAe,EACf,KAAa,EACb,MAAe;QAEf,uDAAuD;QACvD,IAAI,MAAM,aAAa,CAAC,UAAU,CAAC,WAAW,CAAC,EAAE,CAAC;YAChD,MAAM,CAAC,IAAI,CAAC,sCAAsC,EAAE;gBAClD,GAAG,EAAE,UAAU,CAAC,WAAW;gBAC3B,KAAK;gBACL,OAAO;aACR,CAAC,CAAC;YACH,OAAO,IAAI,CAAC,gBAAgB,CAC1B,CAAC,EACD,CAAC,KAAK,EACN,qDAAqD,CACtD,CAAC;QACJ,CAAC;QAED,MAAM,UAAU,GAAG,eAAe,OAAO,IAAI,KAAK,EAAE,CAAC;QACrD,IAAI,SAAS,GAAG,MAAM,IAAI,CAAC,UAAU,CAAC,UAAU,CAAC,CAAC;QAElD,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,oBAAoB,CAAC,CAAC,CAAC,CAAC;QAEpD,uBAAuB;QACvB,IAAI,QAAQ,CAAC,MAAM,GAAG,aAAa,EAAE,CAAC;YACpC,MAAM,CAAC,IAAI,CAAC,wBAAwB,EAAE;gBACpC,KAAK;gBACL,OAAO;gBACP,IAAI,EAAE,QAAQ,CAAC,MAAM;aACtB,CAAC,CAAC;YACH,OAAO,IAAI,QAAQ,CAAC,wBAAwB,EAAE,EAAE,MAAM,EAAE,GAAG,EAAE,CAAC,CAAC;QACjE,CAAC;QAED,+DAA+D;QAC/D,IAAI,CAAC,SAAS,IAAI,CAAC,CAAC,GAAG,CAAC,MAAM,KAAK,MAAM,EAAE,CAAC;YAC1C,IAAI,CAAC;gBACH,MAAM,IAAI,CAAC,mBAAmB,CAAC,UAAU,EAAE,OAAO,EAAE,KAAK,EAAE,MAAM,CAAC,CAAC;gBACnE,SAAS,GAAG,MAAM,IAAI,CAAC,UAAU,CAAC,UAAU,CAAC,CAAC;YAChD,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBACf,MAAM,CAAC,IAAI,CAAC,0CAA0C,EAAE;oBACtD,KAAK;oBACL,KAAK,EAAE,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC;iBAC9D,CAAC,CAAC;YACL,CAAC;QACH,CAAC;QAED,MAAM,CAAC,IAAI,CAAC,sBAAsB,EAAE;YAClC,KAAK;YACL,OAAO;YACP,MAAM,EAAE,CAAC,CAAC,GAAG,CAAC,MAAM;YACpB,UAAU,EAAE,CAAC,CAAC,SAAS;YACvB,UAAU,EAAE,QAAQ,CAAC,MAAM;SAC5B,CAAC,CAAC;QAEH,2CAA2C;QAC3C,IAAI,eAAmC,CAAC;QACxC,IAAI,MAAM,EAAE,CAAC;YACX,MAAM,KAAK,GAAG,MAAM,IAAI,CAAC,sBAAsB,CAAC,OAAO,EAAE,MAAM,EAAE,KAAK,CAAC,CAAC;YACxE,IAAI,KAAK;gBAAE,eAAe,GAAG,KAAK,CAAC;QACrC,CAAC;QAED,MAAM,OAAO,GAAG,IAAI,CAAC,oBAAoB,CACvC,SAAS,EACT,UAAU,CAAC,OAAO,EAClB,eAAe,CAChB,CAAC;QAEF,MAAM,QAAQ,GAAG,MAAM,KAAK,CAAC,UAAU,CAAC,WAAW,EAAE;YACnD,MAAM,EAAE,CAAC,CAAC,GAAG,CAAC,MAAM;YACpB,OAAO;YACP,IAAI,EAAE,QAAQ,IAAI,SAAS;SAC5B,CAAC,CAAC;QAEH,MAAM,YAAY,GAAG,QAAQ,CAAC,OAAO,CAAC,GAAG,CAAC,gBAAgB,CAAC,CAAC;QAC5D,IAAI,YAAY,EAAE,CAAC;YACjB,MAAM,IAAI,CAAC,UAAU,CAAC,UAAU,EAAE,YAAY,CAAC,CAAC;YAChD,MAAM,CAAC,KAAK,CAAC,uBAAuB,EAAE;gBACpC,KAAK;gBACL,OAAO;gBACP,SAAS,EAAE,YAAY;aACxB,CAAC,CAAC;QACL,CAAC;QAED,MAAM,eAAe,GAAG,IAAI,OAAO,EAAE,CAAC;QACtC,MAAM,WAAW,GAAG,QAAQ,CAAC,OAAO,CAAC,GAAG,CAAC,cAAc,CAAC,CAAC;QACzD,IAAI,WAAW,EAAE,CAAC;YAChB,eAAe,CAAC,GAAG,CAAC,cAAc,EAAE,WAAW,CAAC,CAAC;QACnD,CAAC;QACD,IAAI,YAAY,EAAE,CAAC;YACjB,eAAe,CAAC,GAAG,CAAC,gBAAgB,EAAE,YAAY,CAAC,CAAC;QACtD,CAAC;QAED,OAAO,IAAI,QAAQ,CAAC,QAAQ,CAAC,IAAI,EAAE;YACjC,MAAM,EAAE,QAAQ,CAAC,MAAM;YACvB,OAAO,EAAE,eAAe;SACzB,CAAC,CAAC;IACL,CAAC;IAEO,KAAK,CAAC,oBAAoB,CAAC,CAAU;QAC3C,IAAI,CAAC,CAAC,GAAG,CAAC,MAAM,KAAK,KAAK,IAAI,CAAC,CAAC,GAAG,CAAC,MAAM,KAAK,MAAM,EAAE,CAAC;YACtD,OAAO,EAAE,CAAC;QACZ,CAAC;QAED,IAAI,CAAC;YACH,OAAO,MAAM,CAAC,CAAC,GAAG,CAAC,IAAI,EAAE,CAAC;QAC5B,CAAC;QAAC,WAAM,CAAC;YACP,OAAO,EAAE,CAAC;QACZ,CAAC;IACH,CAAC;IAED;;;OAGG;IACK,KAAK,CAAC,mBAAmB,CAC/B,UAA+B,EAC/B,OAAe,EACf,KAAa,EACb,MAAe;QAEf,sBAAsB;QACtB,MAAM,UAAU,GAAG,eAAe,OAAO,IAAI,KAAK,EAAE,CAAC;QACrD,MAAM,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC,KAAK,CAAC,GAAG,EAAE;YAChD,UAAU;QACZ,CAAC,CAAC,CAAC;QAEH,kBAAkB;QAClB,MAAM,QAAQ,GAAG,IAAI,CAAC,SAAS,CAAC;YAC9B,OAAO,EAAE,KAAK;YACd,MAAM,EAAE,YAAY;YACpB,MAAM,EAAE;gBACN,eAAe,EAAE,YAAY;gBAC7B,YAAY,EAAE,EAAE;gBAChB,UAAU,EAAE,EAAE,IAAI,EAAE,cAAc,EAAE,OAAO,EAAE,OAAO,EAAE;aACvD;YACD,EAAE,EAAE,CAAC;SACN,CAAC,CAAC;QAEH,MAAM,YAAY,GAAG,MAAM,IAAI,CAAC,mBAAmB,CACjD,UAAU,EACV,OAAO,EACP,KAAK,EACL,MAAM,EACN,QAAQ,EACR,MAAM,CACP,CAAC;QAEF,MAAM,YAAY,CAAC,IAAI,EAAE,CAAC,CAAC,mBAAmB;QAE9C,iCAAiC;QACjC,MAAM,UAAU,GAAG,IAAI,CAAC,SAAS,CAAC;YAChC,OAAO,EAAE,KAAK;YACd,MAAM,EAAE,2BAA2B;SACpC,CAAC,CAAC;QACH,MAAM,IAAI,CAAC,mBAAmB,CAC5B,UAAU,EACV,OAAO,EACP,KAAK,EACL,MAAM,EACN,UAAU,EACV,MAAM,CACP,CAAC,KAAK,CAAC,GAAG,EAAE;YACX,UAAU;QACZ,CAAC,CAAC,CAAC;QAEH,MAAM,CAAC,IAAI,CAAC,4BAA4B,EAAE,EAAE,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC;IAChE,CAAC;IAED;;;OAGG;IACK,KAAK,CAAC,iBAAiB,CAC7B,KAAa,EACb,OAAe,EACf,MAAc;QAEd,IAAI,CAAC;YACH,MAAM,EAAE,eAAe,EAAE,GAAG,wDAC1B,mCAAmC,GACpC,CAAC;YAEF,0EAA0E;YAC1E,MAAM,UAAU,GAAG,eAAe,OAAO,IAAI,MAAM,IAAI,KAAK,EAAE,CAAC;YAC/D,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC;YACvD,IAAI,OAAO,EAAE,CAAC;gBACZ,wEAAwE;gBACxE,OAAO,IAAI,CAAC,SAAS,CAAC;oBACpB,MAAM,EAAE,gBAAgB;oBACxB,OAAO,EACL,wKAAwK;oBAC1K,IAAI,EAAE,+DAA+D;iBACtE,CAAC,CAAC;YACL,CAAC;YAED,MAAM,MAAM,GAAG,MAAM,eAAe,CAClC,IAAI,CAAC,WAAW,EAChB,IAAI,CAAC,aAAoB,EACzB,KAAK,EACL,OAAO,EACP,MAAM,CACP,CAAC;YACF,IAAI,CAAC,MAAM;gBAAE,OAAO,IAAI,CAAC;YACzB,MAAM,GAAG,GAAG,MAAM,CAAC,uBAAuB,IAAI,MAAM,CAAC,eAAe,CAAC;YACrE,OAAO,IAAI,CAAC,SAAS,CAAC;gBACpB,MAAM,EAAE,gBAAgB;gBACxB,OAAO,EACL,qKAAqK;gBACvK,gBAAgB,EAAE,GAAG;gBACrB,SAAS,EAAE,MAAM,CAAC,QAAQ;gBAC1B,kBAAkB,EAAE,MAAM,CAAC,SAAS;aACrC,CAAC,CAAC;QACL,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,MAAM,CAAC,IAAI,CAAC,yBAAyB,EAAE;gBACrC,KAAK;gBACL,KAAK,EAAE,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC;aAC9D,CAAC,CAAC;YACH,OAAO,IAAI,CAAC;QACd,CAAC;IACH,CAAC;IAEO,KAAK,CAAC,UAAU,CAAC,GAAW;QAClC,IAAI,CAAC;YACH,MAAM,SAAS,GAAG,MAAM,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;YAClD,IAAI,SAAS,EAAE,CAAC;gBACd,MAAM,IAAI,CAAC,WAAW,CAAC,MAAM,CAAC,GAAG,EAAE,IAAI,CAAC,mBAAmB,CAAC,CAAC;YAC/D,CAAC;YACD,OAAO,SAAS,CAAC;QACnB,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,MAAM,CAAC,KAAK,CAAC,sCAAsC,EAAE,EAAE,GAAG,EAAE,KAAK,EAAE,CAAC,CAAC;YACrE,OAAO,IAAI,CAAC;QACd,CAAC;IACH,CAAC;IAEO,KAAK,CAAC,UAAU,CAAC,GAAW,EAAE,SAAiB;QACrD,IAAI,CAAC;YACH,MAAM,IAAI,CAAC,WAAW,CAAC,GAAG,CACxB,GAAG,EACH,SAAS,EACT,IAAI,EACJ,IAAI,CAAC,mBAAmB,CACzB,CAAC;QACJ,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,MAAM,CAAC,KAAK,CAAC,sCAAsC,EAAE,EAAE,GAAG,EAAE,KAAK,EAAE,CAAC,CAAC;QACvE,CAAC;IACH,CAAC;IAEO,gBAAgB,CACtB,CAAU,EACV,IAAY,EACZ,OAAe,EACf,KAAU,IAAI;QAEd,OAAO,CAAC,CAAC,IAAI,CACX;YACE,OAAO,EAAE,KAAK;YACd,EAAE;YACF,KAAK,EAAE,EAAE,IAAI,EAAE,OAAO,EAAE;SACzB,EACD,GAAG,CACJ,CAAC;IACJ,CAAC;CACF;AA3qCD,4BA2qCC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"gateway.d.ts","sourceRoot":"","sources":["../../src/cli/gateway.ts"],"names":[],"mappings":";AAEA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,WAAW,CAAC;AAGxC,OAAO,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAMhD,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,WAAW,CAAC;AAQ/C,MAAM,WAAW,uBAAuB;IACtC,WAAW,EAAE,GAAG,CAAC;IACjB,aAAa,EAAE,GAAG,CAAC;IACnB,QAAQ,EAAE,GAAG,CAAC;IACd,kBAAkB,CAAC,EAAE,GAAG,CAAC;IACzB,gBAAgB,CAAC,EAAE,GAAG,CAAC;IACvB,YAAY,CAAC,EAAE,GAAG,CAAC;IACnB,mBAAmB,CAAC,EAAE,OAAO,gBAAgB,EAAE,mBAAmB,GAAG,IAAI,CAAC;IAC1E,wIAAwI;IACxI,YAAY,CAAC,EAAE,OAAO,gCAAgC,EAAE,YAAY,CAAC;CACtE;AAED;;;;GAIG;AACH,wBAAgB,gBAAgB,CAC9B,OAAO,EAAE,uBAAuB,GAC/B,WAAW,
|
|
1
|
+
{"version":3,"file":"gateway.d.ts","sourceRoot":"","sources":["../../src/cli/gateway.ts"],"names":[],"mappings":";AAEA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,WAAW,CAAC;AAGxC,OAAO,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAMhD,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,WAAW,CAAC;AAQ/C,MAAM,WAAW,uBAAuB;IACtC,WAAW,EAAE,GAAG,CAAC;IACjB,aAAa,EAAE,GAAG,CAAC;IACnB,QAAQ,EAAE,GAAG,CAAC;IACd,kBAAkB,CAAC,EAAE,GAAG,CAAC;IACzB,gBAAgB,CAAC,EAAE,GAAG,CAAC;IACvB,YAAY,CAAC,EAAE,GAAG,CAAC;IACnB,mBAAmB,CAAC,EAAE,OAAO,gBAAgB,EAAE,mBAAmB,GAAG,IAAI,CAAC;IAC1E,wIAAwI;IACxI,YAAY,CAAC,EAAE,OAAO,gCAAgC,EAAE,YAAY,CAAC;CACtE;AAED;;;;GAIG;AACH,wBAAgB,gBAAgB,CAC9B,OAAO,EAAE,uBAAuB,GAC/B,WAAW,CAi7Bb;AAED;;;GAGG;AACH,wBAAgB,kBAAkB,CAAC,GAAG,EAAE,WAAW,EAAE,IAAI,SAAO,GAAG,MAAM,CAMxE;AA8MD;;GAEG;AACH,wBAAsB,YAAY,CAAC,MAAM,EAAE,aAAa,GAAG,OAAO,CAAC,IAAI,CAAC,CAwJvE"}
|
package/dist/cli/gateway.js
CHANGED
|
@@ -244,6 +244,9 @@ function createGatewayApp(options) {
|
|
|
244
244
|
const publicUrl = coreServices.getPublicGatewayUrl();
|
|
245
245
|
if (queueProducer && sessionMgr && interactionSvc) {
|
|
246
246
|
const { createAgentApi } = require("../routes/public/agent");
|
|
247
|
+
const approveRedis = coreServices.getQueue().getRedisClient();
|
|
248
|
+
const approveGrantStore = coreServices.getGrantStore();
|
|
249
|
+
const approveMcpProxy = coreServices.getMcpProxy();
|
|
247
250
|
const agentApi = createAgentApi({
|
|
248
251
|
queueProducer,
|
|
249
252
|
sessionManager: sessionMgr,
|
|
@@ -254,6 +257,32 @@ function createGatewayApp(options) {
|
|
|
254
257
|
agentSettingsStore: coreServices.getAgentSettingsStore(),
|
|
255
258
|
agentConfigStore: coreServices.getConfigStore(),
|
|
256
259
|
platformRegistry,
|
|
260
|
+
approveToolCall: async (requestId, decision) => {
|
|
261
|
+
const raw = await approveRedis.get(`pending-tool:${requestId}`);
|
|
262
|
+
if (!raw)
|
|
263
|
+
return { success: false, error: "Request not found or expired" };
|
|
264
|
+
const pending = JSON.parse(raw);
|
|
265
|
+
const pattern = `/mcp/${pending.mcpId}/tools/${pending.toolName}`;
|
|
266
|
+
const expiresMap = {
|
|
267
|
+
once: Date.now() + 60000,
|
|
268
|
+
"1h": Date.now() + 3600000,
|
|
269
|
+
"24h": Date.now() + 86400000,
|
|
270
|
+
always: null,
|
|
271
|
+
};
|
|
272
|
+
if (decision === "deny") {
|
|
273
|
+
await (approveGrantStore === null || approveGrantStore === void 0 ? void 0 : approveGrantStore.grant(pending.agentId, pattern, null, true));
|
|
274
|
+
await approveRedis.del(`pending-tool:${requestId}`);
|
|
275
|
+
return { success: true };
|
|
276
|
+
}
|
|
277
|
+
await (approveGrantStore === null || approveGrantStore === void 0 ? void 0 : approveGrantStore.grant(pending.agentId, pattern, decision in expiresMap ? expiresMap[decision] : null));
|
|
278
|
+
if (approveMcpProxy) {
|
|
279
|
+
const result = await approveMcpProxy.executeToolDirect(pending.agentId, pending.userId, pending.mcpId, pending.toolName, pending.args);
|
|
280
|
+
await approveRedis.del(`pending-tool:${requestId}`);
|
|
281
|
+
return { success: true, result };
|
|
282
|
+
}
|
|
283
|
+
await approveRedis.del(`pending-tool:${requestId}`);
|
|
284
|
+
return { success: true };
|
|
285
|
+
},
|
|
257
286
|
});
|
|
258
287
|
app.route("", agentApi);
|
|
259
288
|
logger.debug("Agent API enabled at :8080/api/v1/agents/* with docs at :8080/api/docs");
|