@tencent-ai/agent-sdk 0.3.237-dev.cd99b52.202608040127 → 0.3.237-dev.fc41ac4.202608061734
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/cli/dist/codebuddy-headless.js +393 -417
- package/cli/package.json +4 -4
- package/cli/product.cloudhosted.json +6 -7
- package/cli/product.internal.json +6 -7
- package/cli/product.ioa.json +6 -7
- package/cli/product.json +10 -10
- package/cli/product.selfhosted.json +4 -5
- package/lib/_internal/query-controller.d.ts +2 -55
- package/lib/_internal/query-controller.d.ts.map +1 -1
- package/lib/_internal/query-controller.js +2 -478
- package/lib/_internal/query-controller.js.map +1 -1
- package/lib/index.d.ts +1 -17
- package/lib/index.d.ts.map +1 -1
- package/lib/index.js +1 -18
- package/lib/index.js.map +1 -1
- package/lib/mcp/index.d.ts +0 -4
- package/lib/mcp/index.d.ts.map +1 -1
- package/lib/mcp/index.js +1 -8
- package/lib/mcp/index.js.map +1 -1
- package/lib/query.d.ts +1 -14
- package/lib/query.d.ts.map +1 -1
- package/lib/query.js +28 -335
- package/lib/query.js.map +1 -1
- package/lib/session.d.ts +1 -8
- package/lib/session.d.ts.map +1 -1
- package/lib/session.js +11 -147
- package/lib/session.js.map +1 -1
- package/lib/transport/index.d.ts +3 -59
- package/lib/transport/index.d.ts.map +1 -1
- package/lib/transport/index.js.map +1 -1
- package/lib/transport/process-transport.d.ts +4 -81
- package/lib/transport/process-transport.d.ts.map +1 -1
- package/lib/transport/process-transport.js +15 -304
- package/lib/transport/process-transport.js.map +1 -1
- package/lib/types.d.ts +6 -805
- package/lib/types.d.ts.map +1 -1
- package/lib/types.js +1 -16
- package/lib/types.js.map +1 -1
- package/package.json +1 -1
- package/lib/_internal/boundary-invariants.d.ts +0 -24
- package/lib/_internal/boundary-invariants.d.ts.map +0 -1
- package/lib/_internal/boundary-invariants.js +0 -39
- package/lib/_internal/boundary-invariants.js.map +0 -1
- package/lib/_internal/remote-extensions-options.d.ts +0 -3
- package/lib/_internal/remote-extensions-options.d.ts.map +0 -1
- package/lib/_internal/remote-extensions-options.js +0 -37
- package/lib/_internal/remote-extensions-options.js.map +0 -1
- package/lib/_internal/session-mirror.d.ts +0 -53
- package/lib/_internal/session-mirror.d.ts.map +0 -1
- package/lib/_internal/session-mirror.js +0 -156
- package/lib/_internal/session-mirror.js.map +0 -1
- package/lib/_internal/session-store-runtime.d.ts +0 -52
- package/lib/_internal/session-store-runtime.d.ts.map +0 -1
- package/lib/_internal/session-store-runtime.js +0 -283
- package/lib/_internal/session-store-runtime.js.map +0 -1
- package/lib/in-memory-session-store.d.ts +0 -31
- package/lib/in-memory-session-store.d.ts.map +0 -1
- package/lib/in-memory-session-store.js +0 -127
- package/lib/in-memory-session-store.js.map +0 -1
- package/lib/mcp/delegated-redaction.d.ts +0 -47
- package/lib/mcp/delegated-redaction.d.ts.map +0 -1
- package/lib/mcp/delegated-redaction.js +0 -362
- package/lib/mcp/delegated-redaction.js.map +0 -1
- package/lib/mcp/managed-remote-mcp-bridge.d.ts +0 -49
- package/lib/mcp/managed-remote-mcp-bridge.d.ts.map +0 -1
- package/lib/mcp/managed-remote-mcp-bridge.js +0 -303
- package/lib/mcp/managed-remote-mcp-bridge.js.map +0 -1
- package/lib/remote-error-codes.d.ts +0 -8
- package/lib/remote-error-codes.d.ts.map +0 -1
- package/lib/remote-error-codes.js +0 -23
- package/lib/remote-error-codes.js.map +0 -1
- package/lib/session-store-protocol.d.ts +0 -19
- package/lib/session-store-protocol.d.ts.map +0 -1
- package/lib/session-store-protocol.js +0 -125
- package/lib/session-store-protocol.js.map +0 -1
|
@@ -41,10 +41,7 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
41
41
|
exports.ProcessTransport = void 0;
|
|
42
42
|
const node_child_process_1 = require("node:child_process");
|
|
43
43
|
const readline = __importStar(require("node:readline"));
|
|
44
|
-
const delegated_redaction_1 = require("../mcp/delegated-redaction");
|
|
45
|
-
const managed_remote_mcp_bridge_1 = require("../mcp/managed-remote-mcp-bridge");
|
|
46
44
|
const sdk_control_server_transport_1 = require("../mcp/sdk-control-server-transport");
|
|
47
|
-
const remote_error_codes_1 = require("../remote-error-codes");
|
|
48
45
|
const utils_1 = require("../utils");
|
|
49
46
|
const version_1 = require("../version");
|
|
50
47
|
function createDeferred() {
|
|
@@ -56,12 +53,6 @@ function createDeferred() {
|
|
|
56
53
|
});
|
|
57
54
|
return { promise, resolve, reject };
|
|
58
55
|
}
|
|
59
|
-
const ERROR_TERMINAL_CAUSES = new Set([
|
|
60
|
-
'processExitNonZero',
|
|
61
|
-
'processExitZeroBeforeResult',
|
|
62
|
-
'stdoutClosedUnexpectedly',
|
|
63
|
-
'spawnError',
|
|
64
|
-
]);
|
|
65
56
|
/**
|
|
66
57
|
* Resolve the runtime configuration for spawning CLI process.
|
|
67
58
|
*
|
|
@@ -130,9 +121,6 @@ class ProcessTransport {
|
|
|
130
121
|
this._stderrBuffer = '';
|
|
131
122
|
this.readyPromise = null;
|
|
132
123
|
this._isCliReady = false;
|
|
133
|
-
this._sawRunStarted = false;
|
|
134
|
-
this._sawResult = false;
|
|
135
|
-
this._sawError = false;
|
|
136
124
|
// Write queue for backpressure handling
|
|
137
125
|
this._writeQueue = [];
|
|
138
126
|
this._draining = false;
|
|
@@ -141,8 +129,6 @@ class ProcessTransport {
|
|
|
141
129
|
this.sdkMcpServerInstances = new Map();
|
|
142
130
|
this.pendingMcpResponses = new Map();
|
|
143
131
|
this._sdkMcpServerNames = [];
|
|
144
|
-
// 已注册的委托 server scoped key 集合,供 close 时统一注销,避免残留 pending / transport。
|
|
145
|
-
this.registeredDelegatedScopedKeys = new Set();
|
|
146
132
|
// Cached CLI version for UserAgent
|
|
147
133
|
this._cliVersion = null;
|
|
148
134
|
// Notification handlers by channel
|
|
@@ -164,17 +150,6 @@ class ProcessTransport {
|
|
|
164
150
|
this.connectSdkMcpServer(name, server);
|
|
165
151
|
}
|
|
166
152
|
}
|
|
167
|
-
// 接线 host-driven 委托 bridge:descriptor + transport 工厂齐备时,构造期即注册
|
|
168
|
-
// scoped key → descriptor 到 ManagedRemoteMcpBridge。bridge 不会主动建 transport,
|
|
169
|
-
// 真实 transport 在第一次 mcp_message 到达时按需懒建。
|
|
170
|
-
// 缺 mcpTransportFactory 时只跳过注册(CLI 会因 bridge 未命中显式 fail-closed)。
|
|
171
|
-
if (this.options.delegatedMcpServers && this.options.delegatedMcpServers.length > 0 && this.options.mcpTransportFactory) {
|
|
172
|
-
this.registerDelegatedServers(this.options.delegatedMcpServers.map(d => ({
|
|
173
|
-
serverName: d.serverName,
|
|
174
|
-
transport: d.transport,
|
|
175
|
-
capabilityId: d.capabilityId,
|
|
176
|
-
})), this.options.mcpTransportFactory);
|
|
177
|
-
}
|
|
178
153
|
}
|
|
179
154
|
/**
|
|
180
155
|
* Get the list of SDK MCP server names.
|
|
@@ -370,9 +345,6 @@ class ProcessTransport {
|
|
|
370
345
|
if (opts.forkSession) {
|
|
371
346
|
args.push('--fork-session');
|
|
372
347
|
}
|
|
373
|
-
if (opts.sessionStoreMode) {
|
|
374
|
-
args.push('--session-store-mode', opts.sessionStoreMode);
|
|
375
|
-
}
|
|
376
348
|
// MCP options
|
|
377
349
|
if (opts.mcpServers) {
|
|
378
350
|
if (typeof opts.mcpServers === 'string') {
|
|
@@ -386,41 +358,6 @@ class ProcessTransport {
|
|
|
386
358
|
if (opts.strictMcpConfig) {
|
|
387
359
|
args.push('--strict-mcp-config');
|
|
388
360
|
}
|
|
389
|
-
// FileSystem replacement: serialize explicit modules selection (handler stays in-process)
|
|
390
|
-
if (opts.fileSystem) {
|
|
391
|
-
args.push('--file-system-config', JSON.stringify(opts.fileSystem));
|
|
392
|
-
}
|
|
393
|
-
if (opts.search) {
|
|
394
|
-
args.push('--search-config', JSON.stringify({}));
|
|
395
|
-
}
|
|
396
|
-
if (opts.environmentSnapshot) {
|
|
397
|
-
args.push('--environment-snapshot-config', JSON.stringify({}));
|
|
398
|
-
}
|
|
399
|
-
if (opts.agentStateStore) {
|
|
400
|
-
args.push('--agent-state-store-config', JSON.stringify({}));
|
|
401
|
-
}
|
|
402
|
-
// Channel replacement: pass empty descriptor to opt in; handler stays in-process
|
|
403
|
-
if (opts.channel) {
|
|
404
|
-
args.push('--channel-config', JSON.stringify({}));
|
|
405
|
-
}
|
|
406
|
-
// Exec replacement: serialize maxOutputBytes / capabilityId / remoteExecutionContextId
|
|
407
|
-
// (handler stays in-process). Presence of --exec-config enables remote exec in cbc.
|
|
408
|
-
if (opts.exec) {
|
|
409
|
-
args.push('--exec-config', JSON.stringify({
|
|
410
|
-
...(opts.exec.maxOutputBytes ? { maxOutputBytes: opts.exec.maxOutputBytes } : {}),
|
|
411
|
-
...(opts.exec.capabilityId ? { capabilityId: opts.exec.capabilityId } : {}),
|
|
412
|
-
...(opts.exec.remoteExecutionContextId ? { remoteExecutionContextId: opts.exec.remoteExecutionContextId } : {}),
|
|
413
|
-
}));
|
|
414
|
-
}
|
|
415
|
-
if (opts.remoteExtensions) {
|
|
416
|
-
args.push('--remote-extensions');
|
|
417
|
-
}
|
|
418
|
-
// Local-execution deny list. Only emit when it actually denies something, so
|
|
419
|
-
// that "unset" and "[]" (empty deny list) produce byte-identical argv/logs.
|
|
420
|
-
const led = opts.localExecutionDeny;
|
|
421
|
-
if (led === 'all' || (Array.isArray(led) && led.length > 0)) {
|
|
422
|
-
args.push('--local-execution-deny', JSON.stringify(led));
|
|
423
|
-
}
|
|
424
361
|
// Settings
|
|
425
362
|
// SDK default: don't load any filesystem settings for clean environment isolation
|
|
426
363
|
// When settingSources is explicitly provided (including empty array), use it
|
|
@@ -516,9 +453,6 @@ class ProcessTransport {
|
|
|
516
453
|
if (!env.CODEBUDDY_DISABLE_AUTO_MEMORY) {
|
|
517
454
|
env.CODEBUDDY_DISABLE_AUTO_MEMORY = '1';
|
|
518
455
|
}
|
|
519
|
-
if (this.options.remoteExtensions) {
|
|
520
|
-
env.CODEBUDDY_DISABLE_PRODUCT_CACHE = '1';
|
|
521
|
-
}
|
|
522
456
|
// Thinking configuration → MAX_THINKING_TOKENS env var
|
|
523
457
|
this.applyThinkingEnv(env);
|
|
524
458
|
// Build SDK UserAgent and inject via CODEBUDDY_CUSTOM_HEADERS
|
|
@@ -617,7 +551,7 @@ class ProcessTransport {
|
|
|
617
551
|
/**
|
|
618
552
|
* Send a user message to CLI.
|
|
619
553
|
*/
|
|
620
|
-
sendUserMessage(content, traceId, parentSpanId
|
|
554
|
+
sendUserMessage(content, traceId, parentSpanId) {
|
|
621
555
|
// Ensure transport is started
|
|
622
556
|
this.start();
|
|
623
557
|
let message;
|
|
@@ -632,21 +566,16 @@ class ProcessTransport {
|
|
|
632
566
|
parent_tool_use_id: null,
|
|
633
567
|
...(traceId ? { trace_id: traceId } : {}),
|
|
634
568
|
...(parentSpanId ? { parent_span_id: parentSpanId } : {}),
|
|
635
|
-
...(remoteContext ? { remoteContext } : {}),
|
|
636
569
|
};
|
|
637
570
|
}
|
|
638
571
|
else {
|
|
639
|
-
|
|
640
|
-
if (
|
|
641
|
-
|
|
642
|
-
|
|
572
|
+
message = content;
|
|
573
|
+
if (traceId && !message.trace_id) {
|
|
574
|
+
message.trace_id = traceId;
|
|
575
|
+
}
|
|
576
|
+
if (parentSpanId && !message.parent_span_id) {
|
|
577
|
+
message.parent_span_id = parentSpanId;
|
|
643
578
|
}
|
|
644
|
-
message = {
|
|
645
|
-
...content,
|
|
646
|
-
...(traceId && !content.trace_id ? { trace_id: traceId } : {}),
|
|
647
|
-
...(parentSpanId && !content.parent_span_id ? { parent_span_id: parentSpanId } : {}),
|
|
648
|
-
...(remoteContext ? { remoteContext } : {}),
|
|
649
|
-
};
|
|
650
579
|
}
|
|
651
580
|
this.writeLine(message);
|
|
652
581
|
}
|
|
@@ -712,14 +641,13 @@ class ProcessTransport {
|
|
|
712
641
|
/**
|
|
713
642
|
* Send a control error response.
|
|
714
643
|
*/
|
|
715
|
-
sendControlErrorResponse(requestId, error
|
|
644
|
+
sendControlErrorResponse(requestId, error) {
|
|
716
645
|
const controlResponse = {
|
|
717
646
|
type: 'control_response',
|
|
718
647
|
response: {
|
|
719
648
|
subtype: 'error',
|
|
720
649
|
request_id: requestId,
|
|
721
650
|
error,
|
|
722
|
-
...(code ? { code } : {}),
|
|
723
651
|
},
|
|
724
652
|
};
|
|
725
653
|
this.writeLine(controlResponse);
|
|
@@ -742,15 +670,6 @@ class ProcessTransport {
|
|
|
742
670
|
}
|
|
743
671
|
handlers.add(handler);
|
|
744
672
|
}
|
|
745
|
-
/**
|
|
746
|
-
* 向消息流注入一条 SDK 侧合成的消息(如 mirror_error 帧)。
|
|
747
|
-
* 流未建立或已结束时静默丢弃——此时没有消费者,合成帧无处投递。
|
|
748
|
-
*/
|
|
749
|
-
enqueueMessage(message) {
|
|
750
|
-
if (this.messageStream && !this.messageStream.isFinished) {
|
|
751
|
-
this.messageStream.enqueue(message);
|
|
752
|
-
}
|
|
753
|
-
}
|
|
754
673
|
/**
|
|
755
674
|
* Remove a notification handler for a specific channel.
|
|
756
675
|
*/
|
|
@@ -764,16 +683,9 @@ class ProcessTransport {
|
|
|
764
683
|
}
|
|
765
684
|
}
|
|
766
685
|
/**
|
|
767
|
-
*
|
|
768
|
-
*
|
|
769
|
-
* cause 标明终止原因:仅在异常类原因(进程非零退出、退出前未输出 result、
|
|
770
|
-
* stdout 意外关闭、spawn 失败)下才合成一条 error 帧;正常结束与主动关闭均不合成,
|
|
771
|
-
* 避免将成功的 run 误报为失败。
|
|
772
|
-
*
|
|
773
|
-
* 已有调用点(例如上层 Session.close())不传 cause 时按主动关闭处理,
|
|
774
|
-
* 与"手动关闭不产生虚假 error"的既有行为保持一致。
|
|
686
|
+
* Close the transport.
|
|
775
687
|
*/
|
|
776
|
-
close(
|
|
688
|
+
close() {
|
|
777
689
|
if (this.closed) {
|
|
778
690
|
return;
|
|
779
691
|
}
|
|
@@ -819,47 +731,11 @@ class ProcessTransport {
|
|
|
819
731
|
}
|
|
820
732
|
this.sdkMcpTransports.clear();
|
|
821
733
|
this.sdkMcpServerInstances.clear();
|
|
822
|
-
// 注销远程委托 server:reject 在途 pending 并关闭真实 transport
|
|
823
|
-
this.unregisterAllDelegatedServers();
|
|
824
|
-
// 仅在 CLI 未输出终止信号时才合成 error 帧:
|
|
825
|
-
// sawResult / sawError 表示 consumer 已经收到权威的终止信号,
|
|
826
|
-
// explicitClose 属于用户主动关闭,均不应被视为失败。
|
|
827
|
-
const shouldSynthesize = this.messageStream !== null
|
|
828
|
-
&& !this.messageStream.isFinished
|
|
829
|
-
&& !this._sawResult
|
|
830
|
-
&& !this._sawError
|
|
831
|
-
&& ERROR_TERMINAL_CAUSES.has(cause);
|
|
832
|
-
if (shouldSynthesize) {
|
|
833
|
-
const syntheticError = {
|
|
834
|
-
type: 'error',
|
|
835
|
-
error: this._closeReason ?? `Transport closed: ${cause}`,
|
|
836
|
-
...(this._sessionId ? { session_id: this._sessionId } : {}),
|
|
837
|
-
...(this._currentRunId ? { run_id: this._currentRunId } : {}),
|
|
838
|
-
uuid: this.randomUuid(),
|
|
839
|
-
};
|
|
840
|
-
this.messageStream.enqueue(syntheticError);
|
|
841
|
-
}
|
|
842
734
|
// Signal stream completion
|
|
843
735
|
if (this.messageStream) {
|
|
844
736
|
this.messageStream.done();
|
|
845
737
|
}
|
|
846
738
|
}
|
|
847
|
-
/**
|
|
848
|
-
* 为合成帧生成 uuid。旧 Node 运行时可能未内置 WebCrypto,
|
|
849
|
-
* crypto.randomUUID 不可用时降级为"时间戳 + 随机串"的形式。
|
|
850
|
-
*/
|
|
851
|
-
randomUuid() {
|
|
852
|
-
try {
|
|
853
|
-
const c = globalThis.crypto;
|
|
854
|
-
if (c?.randomUUID) {
|
|
855
|
-
return c.randomUUID();
|
|
856
|
-
}
|
|
857
|
-
}
|
|
858
|
-
catch {
|
|
859
|
-
// fall through
|
|
860
|
-
}
|
|
861
|
-
return `syn-${Date.now().toString(36)}-${Math.random().toString(36).slice(2, 10)}`;
|
|
862
|
-
}
|
|
863
739
|
// ============= Private Methods =============
|
|
864
740
|
handleLine(line) {
|
|
865
741
|
const trimmed = line.trim();
|
|
@@ -891,43 +767,6 @@ class ProcessTransport {
|
|
|
891
767
|
}
|
|
892
768
|
return;
|
|
893
769
|
}
|
|
894
|
-
// 更新终止态追踪字段:session_id / run_id 用于合成 error 帧时填充上下文,
|
|
895
|
-
// sawResult / sawError 用于 close() 判断是否需要合成补偿帧。
|
|
896
|
-
// 必须在 enqueue 之前更新,否则 consumer 收到首帧后立即退出循环时字段仍为空。
|
|
897
|
-
const framed = message;
|
|
898
|
-
if (framed.session_id && !this._sessionId) {
|
|
899
|
-
this._sessionId = framed.session_id;
|
|
900
|
-
}
|
|
901
|
-
const isRunStartedFrame = framed.type === 'system' && framed.subtype === 'run_started';
|
|
902
|
-
if (isRunStartedFrame && framed.run_id) {
|
|
903
|
-
// run_started 是权威的 run 起点:明确切换到新 run,并重置本 run 的累计状态。
|
|
904
|
-
// 这样即便未来在同一 transport 内跑多个 run,每次 run 的终止态判断都不会串扰。
|
|
905
|
-
if (this._currentRunId !== framed.run_id) {
|
|
906
|
-
this._sawResult = false;
|
|
907
|
-
this._sawError = false;
|
|
908
|
-
}
|
|
909
|
-
this._currentRunId = framed.run_id;
|
|
910
|
-
this._sawRunStarted = true;
|
|
911
|
-
}
|
|
912
|
-
else if (framed.run_id && !this._sawRunStarted) {
|
|
913
|
-
// 未启用 --emit-run-lifecycle 时的回退路径:从任意帧的 run_id 推断当前 run。
|
|
914
|
-
// 一旦见过 run_started,就以其为准,不再被其他帧的 run_id 覆写。
|
|
915
|
-
//
|
|
916
|
-
// 检测到 run_id 变化时,同步重置本 run 的累计终止态(sawResult / sawError),
|
|
917
|
-
// 与 run_started 分支的处理对齐,避免旧 run 的终止信号污染新 run 的判定,
|
|
918
|
-
// 导致 close(cause) 误认为新 run 已正常结束而不合成补偿 error。
|
|
919
|
-
if (this._currentRunId && this._currentRunId !== framed.run_id) {
|
|
920
|
-
this._sawResult = false;
|
|
921
|
-
this._sawError = false;
|
|
922
|
-
}
|
|
923
|
-
this._currentRunId = framed.run_id;
|
|
924
|
-
}
|
|
925
|
-
if (framed.type === 'result') {
|
|
926
|
-
this._sawResult = true;
|
|
927
|
-
}
|
|
928
|
-
else if (framed.type === 'error') {
|
|
929
|
-
this._sawError = true;
|
|
930
|
-
}
|
|
931
770
|
// Only regular messages are enqueued for consumer iteration
|
|
932
771
|
if (this.messageStream) {
|
|
933
772
|
this.messageStream.enqueue(message);
|
|
@@ -958,10 +797,7 @@ class ProcessTransport {
|
|
|
958
797
|
}
|
|
959
798
|
this.pendingRequests.delete(response.request_id);
|
|
960
799
|
if (response.subtype === 'error') {
|
|
961
|
-
|
|
962
|
-
? new remote_error_codes_1.RemoteProtocolError(response.code, response.error)
|
|
963
|
-
: Object.assign(new Error(response.error), response.code ? { code: response.code } : {});
|
|
964
|
-
pending.reject(error);
|
|
800
|
+
pending.reject(new Error(response.error));
|
|
965
801
|
}
|
|
966
802
|
else {
|
|
967
803
|
pending.resolve(response.response ?? {});
|
|
@@ -972,27 +808,21 @@ class ProcessTransport {
|
|
|
972
808
|
// Otherwise use a generic message — no setTimeout needed since
|
|
973
809
|
// exit fires synchronously before close in Node.js child_process.
|
|
974
810
|
this.setCloseReason('CLI process stdout closed unexpectedly');
|
|
975
|
-
this.close(
|
|
811
|
+
this.close();
|
|
976
812
|
}
|
|
977
813
|
handleError(error) {
|
|
978
814
|
this.setCloseReason(`CLI I/O error: ${error.message}`);
|
|
979
|
-
this.close(
|
|
815
|
+
this.close();
|
|
980
816
|
}
|
|
981
817
|
handleProcessError(error) {
|
|
982
818
|
this.setCloseReason(`CLI process spawn error: ${error.message}`);
|
|
983
|
-
this.close(
|
|
819
|
+
this.close();
|
|
984
820
|
}
|
|
985
821
|
handleProcessExit(code) {
|
|
986
822
|
const stderr = this._stderrBuffer.trim();
|
|
987
823
|
const stderrSuffix = stderr ? ` | stderr: ${stderr.slice(-500)}` : '';
|
|
988
824
|
this.setCloseReason(`CLI process exited with code ${code}${stderrSuffix}`);
|
|
989
|
-
|
|
990
|
-
// 退出码为 0 但未观察到 result → CLI 在输出终止信号前提前退出,按异常处理以便下游归因;
|
|
991
|
-
// 退出码非 0 → 一律按异常处理。
|
|
992
|
-
const cause = code === 0
|
|
993
|
-
? (this._sawResult ? 'sawResult' : 'processExitZeroBeforeResult')
|
|
994
|
-
: 'processExitNonZero';
|
|
995
|
-
this.close(cause);
|
|
825
|
+
this.close();
|
|
996
826
|
}
|
|
997
827
|
setCloseReason(reason) {
|
|
998
828
|
if (!this._closeReason) {
|
|
@@ -1122,28 +952,6 @@ class ProcessTransport {
|
|
|
1122
952
|
const { server_name, message } = mcpRequest;
|
|
1123
953
|
const transport = this.sdkMcpTransports.get(server_name);
|
|
1124
954
|
if (!transport) {
|
|
1125
|
-
// in-process 未命中:尝试远程委托 bridge 回退(control ack 仍在本方法包装,不进 bridge)
|
|
1126
|
-
const scopedKey = this.resolveDelegatedScopedKey(server_name);
|
|
1127
|
-
if (this.managedRemoteMcpBridge && scopedKey && this.managedRemoteMcpBridge.isRegistered(scopedKey)) {
|
|
1128
|
-
try {
|
|
1129
|
-
const anyMsg = message;
|
|
1130
|
-
const isRequest = 'id' in anyMsg && anyMsg.id !== null && anyMsg.id !== undefined;
|
|
1131
|
-
const result = await this.managedRemoteMcpBridge.handleMcpMessage(scopedKey, message);
|
|
1132
|
-
if (isRequest) {
|
|
1133
|
-
this.sendControlResponse(request.request_id, { mcp_response: result });
|
|
1134
|
-
}
|
|
1135
|
-
else {
|
|
1136
|
-
// notification:回 id-less sentinel 释放 CLI control pending
|
|
1137
|
-
this.sendControlResponse(request.request_id, {
|
|
1138
|
-
mcp_response: { jsonrpc: '2.0', result: {} },
|
|
1139
|
-
});
|
|
1140
|
-
}
|
|
1141
|
-
}
|
|
1142
|
-
catch (error) {
|
|
1143
|
-
this.sendControlErrorResponse(request.request_id, error instanceof Error ? error.message : String(error));
|
|
1144
|
-
}
|
|
1145
|
-
return;
|
|
1146
|
-
}
|
|
1147
955
|
this.sendControlErrorResponse(request.request_id, `SDK MCP server not found: ${server_name}`);
|
|
1148
956
|
return;
|
|
1149
957
|
}
|
|
@@ -1170,103 +978,6 @@ class ProcessTransport {
|
|
|
1170
978
|
this.sendControlErrorResponse(request.request_id, error instanceof Error ? error.message : String(error));
|
|
1171
979
|
}
|
|
1172
980
|
}
|
|
1173
|
-
/**
|
|
1174
|
-
* 注册远程委托 server(宿主驱动)。
|
|
1175
|
-
*
|
|
1176
|
-
* 首次调用时懒构造 ManagedRemoteMcpBridge:createTransport 由受管层注入(解析真实
|
|
1177
|
-
* endpoint/token),redactResponse 接线为 redactDelegatedResponse(响应离开宿主回到 CLI
|
|
1178
|
-
* 之前先脱敏)。随后对每个 descriptor 用与路由一致的 resolveDelegatedScopedKey 生成 scoped
|
|
1179
|
-
* key 并注册,key 记入集合供 close 统一注销。
|
|
1180
|
-
*
|
|
1181
|
-
* 接线现状:ProcessTransport 构造期在 `delegatedMcpServers` + `mcpTransportFactory` 齐备时
|
|
1182
|
-
* 自动调用本方法(host-driven v1 必做)。`unregisterAllDelegatedServers` 已接入
|
|
1183
|
-
* close 兜底,control connection 关闭时统一释放 transport 与 pending。
|
|
1184
|
-
*/
|
|
1185
|
-
registerDelegatedServers(descriptors, createTransport) {
|
|
1186
|
-
if (!this.managedRemoteMcpBridge) {
|
|
1187
|
-
// 审计出口:有 stderr 回调则写入(仅非 secret 的结构化事件),否则忽略。
|
|
1188
|
-
const onAudit = (event) => {
|
|
1189
|
-
this.options.stderr?.(`[mcp-delegation-audit] ${JSON.stringify(event)}\n`);
|
|
1190
|
-
};
|
|
1191
|
-
this.managedRemoteMcpBridge = new managed_remote_mcp_bridge_1.ManagedRemoteMcpBridge({
|
|
1192
|
-
createTransport,
|
|
1193
|
-
requestTimeoutMs: this.options.requestTimeoutMs ?? 30000,
|
|
1194
|
-
// 组合脱敏:先做 schema fail-close 筛查(剔除含凭证形参的 tool),再做值级脱敏;
|
|
1195
|
-
// 被拒 tool 经 onAudit 上报,不抛异常。
|
|
1196
|
-
redactResponse: (scopedKey, message) => {
|
|
1197
|
-
const { message: safe, rejected } = (0, delegated_redaction_1.redactAndScreenDelegatedResponse)(message);
|
|
1198
|
-
if (rejected.length > 0) {
|
|
1199
|
-
onAudit({ type: 'delegated_tool_schema_rejected', scopedKey, rejected });
|
|
1200
|
-
}
|
|
1201
|
-
return safe;
|
|
1202
|
-
},
|
|
1203
|
-
onAudit,
|
|
1204
|
-
});
|
|
1205
|
-
}
|
|
1206
|
-
for (const descriptor of descriptors) {
|
|
1207
|
-
const scopedKey = this.resolveDelegatedScopedKey(descriptor.serverName);
|
|
1208
|
-
if (!scopedKey) {
|
|
1209
|
-
continue;
|
|
1210
|
-
}
|
|
1211
|
-
this.managedRemoteMcpBridge.registerDelegatedServer(scopedKey, {
|
|
1212
|
-
transport: descriptor.transport,
|
|
1213
|
-
capabilityId: descriptor.capabilityId,
|
|
1214
|
-
});
|
|
1215
|
-
this.registeredDelegatedScopedKeys.add(scopedKey);
|
|
1216
|
-
}
|
|
1217
|
-
}
|
|
1218
|
-
/**
|
|
1219
|
-
* 注销所有已注册的委托 server(reject 在途 pending、关闭真实 transport)。
|
|
1220
|
-
* 由 close 调用;单个注销失败不阻塞其他。
|
|
1221
|
-
*/
|
|
1222
|
-
unregisterAllDelegatedServers() {
|
|
1223
|
-
if (!this.managedRemoteMcpBridge) {
|
|
1224
|
-
return;
|
|
1225
|
-
}
|
|
1226
|
-
for (const scopedKey of this.registeredDelegatedScopedKeys) {
|
|
1227
|
-
this.managedRemoteMcpBridge.unregisterDelegatedServer(scopedKey).catch(() => {
|
|
1228
|
-
// 清理阶段忽略单个注销错误
|
|
1229
|
-
});
|
|
1230
|
-
}
|
|
1231
|
-
this.registeredDelegatedScopedKeys.clear();
|
|
1232
|
-
}
|
|
1233
|
-
/**
|
|
1234
|
-
* 组合远程委托 server 的 scoped key。
|
|
1235
|
-
*
|
|
1236
|
-
* 完整 scoped key 语义是 control connection / tenant / user / session / run + serverName。
|
|
1237
|
-
* 本 transport 从 ProcessTransportOptions 拿到 controlConnectionId /
|
|
1238
|
-
* tenantId / userId / sessionId / runId,按字符集校验后用分隔符 `::` 拼接,缺失维度直接跳过
|
|
1239
|
-
* (不写空段,避免 `::` 退化成空字符串导致跨 scope 撞 key)。所有维度都缺时才退化为裸
|
|
1240
|
-
* serverName——这是最后兜底,部署方应至少注入 controlConnectionId / sessionId 之一。
|
|
1241
|
-
* 注册与路由必须复用这同一组合逻辑,两侧的 key 才能一致。
|
|
1242
|
-
*/
|
|
1243
|
-
resolveDelegatedScopedKey(serverName) {
|
|
1244
|
-
const segments = [];
|
|
1245
|
-
const push = (v, label) => {
|
|
1246
|
-
if (typeof v === 'string' && v.length > 0) {
|
|
1247
|
-
if (!/^[A-Za-z0-9_.:-]+$/.test(v)) {
|
|
1248
|
-
// 非法字符:跳过该维度并记审计,避免拼出含分隔符冲突的 scoped key。
|
|
1249
|
-
this.options.stderr?.(`[mcp-delegation-audit] scoped key segment "${label}" has invalid chars, skipped\n`);
|
|
1250
|
-
return;
|
|
1251
|
-
}
|
|
1252
|
-
segments.push(v);
|
|
1253
|
-
}
|
|
1254
|
-
};
|
|
1255
|
-
push(this.options.controlConnectionId, 'controlConnectionId');
|
|
1256
|
-
push(this.options.tenantId, 'tenantId');
|
|
1257
|
-
push(this.options.userId, 'userId');
|
|
1258
|
-
push(this.options.sessionId, 'sessionId');
|
|
1259
|
-
push(this.options.runId, 'runId');
|
|
1260
|
-
push(serverName, 'serverName');
|
|
1261
|
-
if (segments.length === 0) {
|
|
1262
|
-
return undefined;
|
|
1263
|
-
}
|
|
1264
|
-
if (segments.length === 1) {
|
|
1265
|
-
// 仅 serverName 可用:兜底返回裸 serverName(部署方未注入 scope 维度的退化场景)。
|
|
1266
|
-
return serverName;
|
|
1267
|
-
}
|
|
1268
|
-
return segments.join('::');
|
|
1269
|
-
}
|
|
1270
981
|
/**
|
|
1271
982
|
* Handle MCP request and wait for response from MCP server.
|
|
1272
983
|
*/
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"process-transport.js","sourceRoot":"","sources":["../../src/transport/process-transport.ts"],"names":[],"mappings":";AAAA;;;;GAIG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAEH,2DAA8D;AAC9D,MAAY,QAAQ,0CAAsB;AAI1C,oEAA8E;AAC9E,gFAI0C;AAC1C,sFAAwG;AACxG,8DAA+E;AAa/E,oCAAqE;AACrE,wCAAyC;AAqCzC,SAAS,cAAc;IACnB,IAAI,OAA4B,CAAC;IACjC,IAAI,MAA+B,CAAC;IACpC,MAAM,OAAO,GAAG,IAAI,OAAO,CAAI,CAAC,GAAG,EAAE,GAAG,EAAE,EAAE;QACxC,OAAO,GAAG,GAAG,CAAC;QACd,MAAM,GAAG,GAAG,CAAC;IACjB,CAAC,CAAC,CAAC;IACH,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,MAAM,EAAE,CAAC;AACxC,CAAC;AAkBD,MAAM,qBAAqB,GAAG,IAAI,GAAG,CAAgB;IACjD,oBAAoB;IACpB,6BAA6B;IAC7B,0BAA0B;IAC1B,YAAY;CACf,CAAC,CAAC;AAgBH;;;;;;;;;;GAUG;AACH,SAAS,cAAc,CACnB,cAAsB,EACtB,OAAgC;IAEhC,kCAAkC;IAClC,IAAI,cAAc,CAAC,QAAQ,CAAC,MAAM,CAAC,EAAE,CAAC;QAClC,OAAO,EAAE,OAAO,EAAE,cAAc,EAAE,IAAI,EAAE,EAAE,EAAE,aAAa,EAAE,IAAI,EAAE,CAAC;IACtE,CAAC;IAED,+BAA+B;IAC/B,IAAI,OAAO,CAAC,UAAU,EAAE,CAAC;QACrB,MAAM,WAAW,GAAG,OAAO,CAAC,cAAc,IAAI,EAAE,CAAC;QACjD,IAAI,OAAO,CAAC,UAAU,KAAK,MAAM,EAAE,CAAC;YAChC,mEAAmE;YACnE,OAAO;gBACH,OAAO,EAAE,MAAM;gBACf,IAAI,EAAE,WAAW,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,KAAK,EAAE,aAAa,CAAC;aACtE,CAAC;QACN,CAAC;QACD,OAAO;YACH,OAAO,EAAE,OAAO,CAAC,UAAU;YAC3B,IAAI,EAAE,WAAW;SACpB,CAAC;IACN,CAAC;IAED,2BAA2B;IAC3B,MAAM,UAAU,GAAG,CAAC,CAAC,CAAC,OAAO,CAAC,QAAQ,IAAK,OAAO,CAAC,QAAmC,CAAC,QAAQ,CAAC,CAAC;IACjG,MAAM,UAAU,GAAG,UAAU,IAAI,CAAE,OAA+C,CAAC,UAAU,CAAC;IAC9F,IAAI,UAAU,EAAE,CAAC;QACb,OAAO;YACH,OAAO,EAAE,OAAO,CAAC,QAAQ;YACzB,IAAI,EAAE,EAAE;YACR,GAAG,EAAE,EAAE,oBAAoB,EAAE,GAAG,EAAE;SACrC,CAAC;IACN,CAAC;IAED,sBAAsB;IACtB,IAAI,OAAQ,UAAsC,CAAC,IAAI,KAAK,WAAW;QACnE,CAAC,OAAO,CAAC,QAAQ,IAAK,OAAO,CAAC,QAAmC,CAAC,IAAI,CAAC,EAAE,CAAC;QAC1E,OAAO,EAAE,OAAO,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC,KAAK,EAAE,aAAa,CAAC,EAAE,CAAC;IAC7D,CAAC;IAED,qBAAqB;IACrB,IAAI,OAAO,CAAC,QAAQ,IAAK,OAAO,CAAC,QAAmC,CAAC,GAAG,EAAE,CAAC;QACvE,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,IAAI,EAAE,EAAE,EAAE,CAAC;IACxC,CAAC;IAED,sBAAsB;IACtB,OAAO,EAAE,OAAO,EAAE,MAAM,EAAE,IAAI,EAAE,EAAE,EAAE,CAAC;AACzC,CAAC;AAED;;GAEG;AACH;IAgDI,YAAY,OAAO,GAA4B,EAAE;QA/CzC,YAAO,GAAwB,IAAI,CAAC;QACpC,OAAE,GAA8B,IAAI,CAAC;QAErC,kBAAa,GAA2B,IAAI,CAAC;QAE7C,oBAAe,GAAmC,IAAI,GAAG,EAAE,CAAC;QAC5D,qBAAgB,GAAG,CAAC,CAAC;QACrB,WAAM,GAAG,KAAK,CAAC;QACf,iBAAY,GAAkB,IAAI,CAAC;QACnC,kBAAa,GAAG,EAAE,CAAC;QACnB,iBAAY,GAAyB,IAAI,CAAC;QAC1C,gBAAW,GAAG,KAAK,CAAC;QAWpB,mBAAc,GAAG,KAAK,CAAC;QACvB,eAAU,GAAG,KAAK,CAAC;QACnB,cAAS,GAAG,KAAK,CAAC;QAE1B,wCAAwC;QAChC,gBAAW,GAAa,EAAE,CAAC;QAC3B,cAAS,GAAG,KAAK,CAAC;QAE1B,4BAA4B;QACpB,qBAAgB,GAA2C,IAAI,GAAG,EAAE,CAAC;QACrE,0BAAqB,GAA2B,IAAI,GAAG,EAAE,CAAC;QAC1D,wBAAmB,GAAoC,IAAI,GAAG,EAAE,CAAC;QACjE,uBAAkB,GAAa,EAAE,CAAC;QAI1C,sEAAsE;QAC9D,kCAA6B,GAAgB,IAAI,GAAG,EAAE,CAAC;QAE/D,mCAAmC;QAC3B,gBAAW,GAAkB,IAAI,CAAC;QAE1C,mCAAmC;QAC3B,yBAAoB,GAAuD,IAAI,GAAG,EAAE,CAAC;QAGzF,IAAI,OAAO,OAAO,CAAC,UAAU,KAAK,QAAQ,EAAE,CAAC;YACzC,qEAAqE;YACrE,IAAI,CAAC,OAAO,GAAG,EAAE,GAAG,OAAO,EAAE,CAAC;QAClC,CAAC;aAAM,CAAC;YACJ,iDAAiD;YACjD,MAAM,EAAE,UAAU,EAAE,cAAc,EAAE,GAAG,IAAI,CAAC,iBAAiB,CACzD,OAAO,CAAC,UAAyD,CACpE,CAAC;YAEF,qEAAqE;YACrE,IAAI,CAAC,OAAO,GAAG;gBACX,GAAG,OAAO;gBACV,UAAU,EAAE,cAAc;aAC7B,CAAC;YAEF,0BAA0B;YAC1B,KAAK,MAAM,CAAC,IAAI,EAAE,MAAM,CAAC,IAAI,UAAU,EAAE,CAAC;gBACtC,IAAI,CAAC,mBAAmB,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;YAC3C,CAAC;QACL,CAAC;QAED,+DAA+D;QAC/D,2EAA2E;QAC3E,yCAAyC;QACzC,iEAAiE;QACjE,IAAI,IAAI,CAAC,OAAO,CAAC,mBAAmB,IAAI,IAAI,CAAC,OAAO,CAAC,mBAAmB,CAAC,MAAM,GAAG,CAAC,IAAI,IAAI,CAAC,OAAO,CAAC,mBAAmB,EAAE,CAAC;YACtH,IAAI,CAAC,wBAAwB,CACzB,IAAI,CAAC,OAAO,CAAC,mBAAmB,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;gBACvC,UAAU,EAAE,CAAC,CAAC,UAAU;gBACxB,SAAS,EAAE,CAAC,CAAC,SAAS;gBACtB,YAAY,EAAE,CAAC,CAAC,YAAY;aAC/B,CAAC,CAAC,EACH,IAAI,CAAC,OAAO,CAAC,mBAAmB,CACnC,CAAC;QACN,CAAC;IACL,CAAC;IAED;;;OAGG;IACH,IAAI,iBAAiB;QACjB,OAAO,IAAI,CAAC,kBAAkB,CAAC;IACnC,CAAC;IAED;;;OAGG;IACH,QAAQ,CAAC,KAAa;QAClB,IAAI,IAAI,CAAC,OAAO,EAAE,CAAC;YACf,OAAO;QACX,CAAC;QACD,IAAI,CAAC,OAAO,CAAC,KAAK,GAAG,KAAK,CAAC;IAC/B,CAAC;IAED;;OAEG;IACH,QAAQ;QACJ,OAAO,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC;IAC9B,CAAC;IAED;;;OAGG;IACH,iBAAiB,CAAC,IAAY;QAC1B,IAAI,IAAI,CAAC,OAAO,EAAE,CAAC;YACf,OAAO;QACX,CAAC;QACD,IAAI,CAAC,OAAO,CAAC,cAAc,GAAG,IAAI,CAAC;IACvC,CAAC;IAED;;OAEG;IACH,iBAAiB;QACb,OAAO,IAAI,CAAC,OAAO,CAAC,cAAc,CAAC;IACvC,CAAC;IAED;;;;;OAKG;IACH,KAAK,CAAC,WAAW;QACb,gBAAgB;QAChB,IAAI,IAAI,CAAC,WAAW,EAAE,CAAC;YACnB,OAAO;QACX,CAAC;QAED,iCAAiC;QACjC,IAAI,IAAI,CAAC,YAAY,EAAE,CAAC;YACpB,OAAO,IAAI,CAAC,YAAY,CAAC;QAC7B,CAAC;QAED,mEAAmE;QACnE,IAAI,IAAI,CAAC,WAAW,KAAK,IAAI,EAAE,CAAC;YAC5B,MAAM,cAAc,GAAG,IAAI,CAAC,OAAO,CAAC,cAAc,IAAI,IAAA,sBAAc,GAAE,CAAC;YACvE,IAAI,CAAC,WAAW,GAAG,MAAM,IAAA,yBAAiB,EAAC,cAAc,CAAC,CAAC;QAC/D,CAAC;QAED,IAAI,CAAC,YAAY,GAAG,CAAC,KAAK,IAAI,EAAE;YAC5B,uBAAuB;YACvB,IAAI,CAAC,KAAK,EAAE,CAAC;YAEb,oCAAoC;YACpC,MAAM,IAAI,CAAC,cAAc,EAAE,CAAC;YAE5B,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC;QAC5B,CAAC,CAAC,EAAE,CAAC;QAEL,OAAO,IAAI,CAAC,YAAY,CAAC;IAC7B,CAAC;IAED;;OAEG;IACK,cAAc;QAClB,OAAO,IAAI,OAAO,CAAO,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;YACzC,MAAM,YAAY,GAAG,GAAG,EAAE;gBACtB,IAAI,IAAI,CAAC,MAAM,EAAE,CAAC;oBACd,MAAM,CAAC,IAAI,KAAK,CAAC,IAAI,CAAC,YAAY,IAAI,oCAAoC,CAAC,CAAC,CAAC;oBAC7E,OAAO;gBACX,CAAC;gBACD,IAAI,IAAI,CAAC,OAAO,KAAK,IAAI,EAAE,CAAC;oBACxB,OAAO,EAAE,CAAC;gBACd,CAAC;qBAAM,CAAC;oBACJ,UAAU,CAAC,YAAY,EAAE,CAAC,CAAC,CAAC;gBAChC,CAAC;YACL,CAAC,CAAC;YACF,YAAY,EAAE,CAAC;QACnB,CAAC,CAAC,CAAC;IACP,CAAC;IAED;;;;;;OAMG;IACH,KAAK,CAAC,OAAO;QACT,OAAO,IAAI,CAAC,WAAW,EAAE,CAAC;IAC9B,CAAC;IAED;;OAEG;IACK,gBAAgB,CAAC,GAAuC;QAC5D,IAAI,gBAAgB,GAAG,IAAI,CAAC,OAAO,CAAC,iBAAiB,CAAC;QACtD,MAAM,QAAQ,GAAG,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC;QACvC,IAAI,QAAQ,EAAE,CAAC;YACX,IAAI,QAAQ,CAAC,IAAI,KAAK,SAAS,EAAE,CAAC;gBAC9B,IAAI,QAAQ,CAAC,YAAY,KAAK,SAAS,EAAE,CAAC;oBACtC,gBAAgB,GAAG,QAAQ,CAAC,YAAY,CAAC;gBAC7C,CAAC;gBACD,IAAI,gBAAgB,KAAK,SAAS,IAAI,gBAAgB,GAAG,CAAC,EAAE,CAAC;oBACzD,GAAG,CAAC,mBAAmB,GAAG,MAAM,CAAC,gBAAgB,CAAC,CAAC;gBACvD,CAAC;YACL,CAAC;YACD,gDAAgD;YAChD,qFAAqF;QACzF,CAAC;aAAM,IAAI,gBAAgB,KAAK,SAAS,IAAI,gBAAgB,GAAG,CAAC,EAAE,CAAC;YAChE,wCAAwC;YACxC,GAAG,CAAC,mBAAmB,GAAG,MAAM,CAAC,gBAAgB,CAAC,CAAC;QACvD,CAAC;IACL,CAAC;IAED;;OAEG;IACK,MAAM,CAAC,aAAa,CAAC,IAAc,EAAE,GAAW,EAAE,KAAc;QACpE,MAAM,GAAG,GAAG,IAAI,CAAC,OAAO,CAAC,YAAY,CAAC,CAAC;QACvC,IAAI,GAAG,KAAK,CAAC,CAAC,IAAI,GAAG,GAAG,CAAC,GAAG,IAAI,CAAC,MAAM,EAAE,CAAC;YACtC,MAAM,QAAQ,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,GAAG,CAAC,CAAC,CAAC,CAAC;YAC3C,QAAQ,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC;YACtB,IAAI,CAAC,GAAG,GAAG,CAAC,CAAC,GAAG,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,CAAC;QAC7C,CAAC;aAAM,CAAC;YACJ,IAAI,CAAC,IAAI,CAAC,YAAY,EAAE,IAAI,CAAC,SAAS,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,CAAC;QAC9D,CAAC;IACL,CAAC;IAED;;;OAGG;IACK,SAAS;QACb,MAAM,IAAI,GAAa;YACnB,4BAA4B;YAC5B,6BAA6B;YAC7B,WAAW;SACd,CAAC;QAEF,MAAM,IAAI,GAAG,IAAI,CAAC,OAAO,CAAC;QAE1B,gBAAgB;QAChB,IAAI,IAAI,CAAC,KAAK,EAAE,CAAC;YACb,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,IAAI,CAAC,KAAK,CAAC,CAAC;QACrC,CAAC;QACD,IAAI,IAAI,CAAC,aAAa,EAAE,CAAC;YACrB,IAAI,IAAI,CAAC,KAAK,IAAI,IAAI,CAAC,aAAa,KAAK,IAAI,CAAC,KAAK,EAAE,CAAC;gBAClD,MAAM,IAAI,KAAK,CAAC,sDAAsD,CAAC,CAAC;YAC5E,CAAC;YACD,IAAI,CAAC,IAAI,CAAC,kBAAkB,EAAE,IAAI,CAAC,aAAa,CAAC,CAAC;QACtD,CAAC;QAED,cAAc;QACd,IAAI,IAAI,CAAC,QAAQ,KAAK,SAAS,EAAE,CAAC;YAC9B,IAAI,CAAC,IAAI,CAAC,aAAa,EAAE,IAAI,CAAC,QAAQ,CAAC,QAAQ,EAAE,CAAC,CAAC;QACvD,CAAC;QAED,kEAAkE;QAClE,IAAI,IAAI,CAAC,gBAAgB,KAAK,SAAS,IAAI,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC,gBAAgB,CAAC,IAAI,IAAI,CAAC,gBAAgB,GAAG,CAAC,EAAE,CAAC;YAC7G,IAAI,CAAC,IAAI,CAAC,sBAAsB,EAAE,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,gBAAgB,CAAC,CAAC,QAAQ,EAAE,CAAC,CAAC;QACpF,CAAC;QAED,qBAAqB;QACrB,IAAI,IAAI,CAAC,cAAc,EAAE,CAAC;YACtB,IAAI,CAAC,IAAI,CAAC,mBAAmB,EAAE,IAAI,CAAC,cAAc,CAAC,CAAC;QACxD,CAAC;QACD,IAAI,IAAI,CAAC,0BAA0B,EAAE,CAAC;YAClC,IAAI,CAAC,IAAI,CAAC,gCAAgC,CAAC,CAAC;QAChD,CAAC;QAED,eAAe;QACf,IAAI,IAAI,CAAC,YAAY,IAAI,IAAI,CAAC,YAAY,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YACpD,IAAI,CAAC,IAAI,CAAC,gBAAgB,EAAE,GAAG,IAAI,CAAC,YAAY,CAAC,CAAC;QACtD,CAAC;QACD,IAAI,IAAI,CAAC,eAAe,IAAI,IAAI,CAAC,eAAe,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YAC1D,IAAI,CAAC,IAAI,CAAC,mBAAmB,EAAE,GAAG,IAAI,CAAC,eAAe,CAAC,CAAC;QAC5D,CAAC;QACD,IAAI,IAAI,CAAC,KAAK,KAAK,SAAS,EAAE,CAAC;YAC3B,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC;QAC/C,CAAC;QAED,kBAAkB;QAClB,IAAI,IAAI,CAAC,SAAS,EAAE,CAAC;YACjB,IAAI,CAAC,IAAI,CAAC,cAAc,EAAE,IAAI,CAAC,SAAS,CAAC,CAAC;QAC9C,CAAC;QACD,IAAI,IAAI,CAAC,QAAQ,EAAE,CAAC;YAChB,IAAI,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;QAC5B,CAAC;QACD,IAAI,IAAI,CAAC,MAAM,EAAE,CAAC;YACd,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE,IAAI,CAAC,MAAM,CAAC,CAAC;QACvC,CAAC;QACD,IAAI,IAAI,CAAC,WAAW,EAAE,CAAC;YACnB,IAAI,CAAC,IAAI,CAAC,gBAAgB,CAAC,CAAC;QAChC,CAAC;QACD,IAAI,IAAI,CAAC,gBAAgB,EAAE,CAAC;YACxB,IAAI,CAAC,IAAI,CAAC,sBAAsB,EAAE,IAAI,CAAC,gBAAgB,CAAC,CAAC;QAC7D,CAAC;QAED,cAAc;QACd,IAAI,IAAI,CAAC,UAAU,EAAE,CAAC;YAClB,IAAI,OAAO,IAAI,CAAC,UAAU,KAAK,QAAQ,EAAE,CAAC;gBACtC,yCAAyC;gBACzC,IAAI,CAAC,IAAI,CAAC,cAAc,EAAE,IAAI,CAAC,UAAU,CAAC,CAAC;YAC/C,CAAC;iBAAM,IAAI,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBACjD,IAAI,CAAC,IAAI,CAAC,cAAc,EAAE,IAAI,CAAC,SAAS,CAAC,EAAE,UAAU,EAAE,IAAI,CAAC,UAAU,EAAE,CAAC,CAAC,CAAC;YAC/E,CAAC;QACL,CAAC;QACD,IAAI,IAAI,CAAC,eAAe,EAAE,CAAC;YACvB,IAAI,CAAC,IAAI,CAAC,qBAAqB,CAAC,CAAC;QACrC,CAAC;QAED,0FAA0F;QAC1F,IAAI,IAAI,CAAC,UAAU,EAAE,CAAC;YAClB,IAAI,CAAC,IAAI,CAAC,sBAAsB,EAAE,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC;QACvE,CAAC;QAED,IAAI,IAAI,CAAC,MAAM,EAAE,CAAC;YACd,IAAI,CAAC,IAAI,CAAC,iBAAiB,EAAE,IAAI,CAAC,SAAS,CAAC,EAAE,CAAC,CAAC,CAAC;QACrD,CAAC;QAED,IAAI,IAAI,CAAC,mBAAmB,EAAE,CAAC;YAC3B,IAAI,CAAC,IAAI,CAAC,+BAA+B,EAAE,IAAI,CAAC,SAAS,CAAC,EAAE,CAAC,CAAC,CAAC;QACnE,CAAC;QAED,IAAI,IAAI,CAAC,eAAe,EAAE,CAAC;YACvB,IAAI,CAAC,IAAI,CAAC,4BAA4B,EAAE,IAAI,CAAC,SAAS,CAAC,EAAE,CAAC,CAAC,CAAC;QAChE,CAAC;QAED,iFAAiF;QACjF,IAAI,IAAI,CAAC,OAAO,EAAE,CAAC;YACf,IAAI,CAAC,IAAI,CAAC,kBAAkB,EAAE,IAAI,CAAC,SAAS,CAAC,EAAE,CAAC,CAAC,CAAC;QACtD,CAAC;QAED,uFAAuF;QACvF,oFAAoF;QACpF,IAAI,IAAI,CAAC,IAAI,EAAE,CAAC;YACZ,IAAI,CAAC,IAAI,CAAC,eAAe,EAAE,IAAI,CAAC,SAAS,CAAC;gBACtC,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC,CAAC,EAAE,cAAc,EAAE,IAAI,CAAC,IAAI,CAAC,cAAc,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;gBACjF,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC,CAAC,EAAE,YAAY,EAAE,IAAI,CAAC,IAAI,CAAC,YAAY,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;gBAC3E,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,wBAAwB,CAAC,CAAC,CAAC,EAAE,wBAAwB,EAAE,IAAI,CAAC,IAAI,CAAC,wBAAwB,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;aAClH,CAAC,CAAC,CAAC;QACR,CAAC;QAED,IAAI,IAAI,CAAC,gBAAgB,EAAE,CAAC;YACxB,IAAI,CAAC,IAAI,CAAC,qBAAqB,CAAC,CAAC;QACrC,CAAC;QAED,6EAA6E;QAC7E,4EAA4E;QAC5E,MAAM,GAAG,GAAG,IAAI,CAAC,kBAAkB,CAAC;QACpC,IAAI,GAAG,KAAK,KAAK,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,IAAI,GAAG,CAAC,MAAM,GAAG,CAAC,CAAC,EAAE,CAAC;YAC1D,IAAI,CAAC,IAAI,CAAC,wBAAwB,EAAE,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC,CAAC;QAC7D,CAAC;QAED,WAAW;QACX,kFAAkF;QAClF,6EAA6E;QAC7E,qEAAqE;QACrE,IAAI,IAAI,CAAC,cAAc,KAAK,SAAS,EAAE,CAAC;YACpC,MAAM,KAAK,GAAG,IAAI,CAAC,cAAc,CAAC,MAAM,KAAK,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;YACxF,IAAI,CAAC,IAAI,CAAC,mBAAmB,EAAE,KAAK,CAAC,CAAC;QAC1C,CAAC;aAAM,CAAC;YACJ,sDAAsD;YACtD,IAAI,CAAC,IAAI,CAAC,mBAAmB,EAAE,MAAM,CAAC,CAAC;QAC3C,CAAC;QAED,yBAAyB;QACzB,IAAI,IAAI,CAAC,qBAAqB,EAAE,CAAC;YAC7B,KAAK,MAAM,GAAG,IAAI,IAAI,CAAC,qBAAqB,EAAE,CAAC;gBAC3C,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,GAAG,CAAC,CAAC;YAChC,CAAC;QACL,CAAC;QAED,iBAAiB;QACjB,IAAI,IAAI,CAAC,sBAAsB,EAAE,CAAC;YAC9B,IAAI,CAAC,IAAI,CAAC,4BAA4B,CAAC,CAAC;QAC5C,CAAC;QAED,wBAAwB;QACxB,IAAI,IAAI,CAAC,YAAY,EAAE,CAAC;YACpB,IAAI,CAAC,IAAI,CAAC,iBAAiB,EAAE,IAAI,CAAC,YAAY,CAAC,CAAC;QACpD,CAAC;QACD,IAAI,IAAI,CAAC,kBAAkB,EAAE,CAAC;YAC1B,IAAI,CAAC,IAAI,CAAC,wBAAwB,EAAE,IAAI,CAAC,kBAAkB,CAAC,CAAC;QACjE,CAAC;QAED,mDAAmD;QACnD,uEAAuE;QACvE,oFAAoF;QACpF,8EAA8E;QAC9E,MAAM,YAAY,GAAG,IAAI,CAAC,QAAQ,EAAE,IAAI,CAAC;QACzC,IAAI,YAAY,KAAK,UAAU,IAAI,YAAY,KAAK,SAAS,EAAE,CAAC;YAC5D,gBAAgB,CAAC,aAAa,CAAC,IAAI,EAAE,uBAAuB,EAAE,IAAI,CAAC,CAAC;QACxE,CAAC;aAAM,IAAI,YAAY,KAAK,UAAU,EAAE,CAAC;YACrC,gBAAgB,CAAC,aAAa,CAAC,IAAI,EAAE,uBAAuB,EAAE,KAAK,CAAC,CAAC;QACzE,CAAC;QAED,+EAA+E;QAC/E,mFAAmF;QACnF,iFAAiF;QACjF,8CAA8C;QAC9C,IAAI,IAAI,CAAC,MAAM,IAAI,YAAY,KAAK,UAAU,EAAE,CAAC;YAC7C,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE,IAAI,CAAC,MAAM,CAAC,CAAC;QACvC,CAAC;QAED,4BAA4B;QAC5B,IAAI,IAAI,CAAC,SAAS,EAAE,CAAC;YACjB,KAAK,MAAM,CAAC,IAAI,EAAE,KAAK,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,SAAS,CAAC,EAAE,CAAC;gBACzD,IAAI,KAAK,KAAK,IAAI,EAAE,CAAC;oBACjB,IAAI,CAAC,IAAI,CAAC,KAAK,IAAI,EAAE,CAAC,CAAC;gBAC3B,CAAC;qBAAM,CAAC;oBACJ,IAAI,CAAC,IAAI,CAAC,KAAK,IAAI,EAAE,EAAE,KAAK,CAAC,CAAC;gBAClC,CAAC;YACL,CAAC;QACL,CAAC;QAED,kCAAkC;QAClC,IAAI,IAAI,CAAC,IAAI,EAAE,CAAC;YACZ,IAAI,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC,IAAI,CAAC,CAAC;QAC5B,CAAC;QAED,OAAO,IAAI,CAAC;IAChB,CAAC;IAED;;OAEG;IACH,KAAK;QACD,IAAI,IAAI,CAAC,OAAO,EAAE,CAAC;YACf,OAAO;QACX,CAAC;QAED,8CAA8C;QAC9C,IAAI,CAAC,aAAa,GAAG,IAAI,cAAM,CAAU,GAAG,EAAE;YAC1C,IAAI,CAAC,KAAK,EAAE,CAAC;QACjB,CAAC,CAAC,CAAC;QAEH,MAAM,cAAc,GAAG,IAAI,CAAC,OAAO,CAAC,cAAc,IAAI,IAAA,sBAAc,GAAE,CAAC;QACvE,MAAM,GAAG,GAAG,IAAI,CAAC,OAAO,CAAC,GAAG,IAAI,OAAO,CAAC,GAAG,EAAE,CAAC;QAC9C,MAAM,GAAG,GAAG;YACR,GAAG,OAAO,CAAC,GAAG;YACd,GAAG,IAAI,CAAC,OAAO,CAAC,GAAG;SACtB,CAAC;QAEF,qBAAqB;QACrB,IAAI,CAAC,GAAG,CAAC,yBAAyB,EAAE,CAAC;YACjC,GAAG,CAAC,yBAAyB,GAAG,QAAQ,CAAC;QAC7C,CAAC;QAED,uEAAuE;QACvE,kEAAkE;QAClE,GAAG,CAAC,mBAAmB,GAAG,GAAG,CAAC;QAE9B,sEAAsE;QACtE,oEAAoE;QACpE,wEAAwE;QACxE,mDAAmD;QACnD,IAAI,CAAC,GAAG,CAAC,6BAA6B,EAAE,CAAC;YACrC,GAAG,CAAC,6BAA6B,GAAG,GAAG,CAAC;QAC5C,CAAC;QAED,IAAI,IAAI,CAAC,OAAO,CAAC,gBAAgB,EAAE,CAAC;YAChC,GAAG,CAAC,+BAA+B,GAAG,GAAG,CAAC;QAC9C,CAAC;QAED,uDAAuD;QACvD,IAAI,CAAC,gBAAgB,CAAC,GAAG,CAAC,CAAC;QAE3B,8DAA8D;QAC9D,+EAA+E;QAC/E,kEAAkE;QAClE,MAAM,WAAW,GAAG,OAAO,CAAC,QAAQ,EAAE,IAAI,IAAI,SAAS,CAAC;QACxD,MAAM,UAAU,GAAG,IAAI,CAAC,WAAW,IAAI,SAAS,CAAC;QACjD,MAAM,YAAY,GAAG,mCAAmC,qBAAW,aAAa,WAAW,oBAAoB,UAAU,EAAE,CAAC;QAC5H,MAAM,eAAe,GAAG,GAAG,CAAC,wBAAwB,IAAI,EAAE,CAAC;QAC3D,GAAG,CAAC,wBAAwB,GAAG,eAAe;YAC1C,CAAC,CAAC,GAAG,YAAY,KAAK,eAAe,EAAE;YACvC,CAAC,CAAC,YAAY,CAAC;QAEnB,MAAM,IAAI,GAAG,IAAI,CAAC,SAAS,EAAE,CAAC;QAE9B,gCAAgC;QAChC,MAAM,OAAO,GAAG,cAAc,CAAC,cAAc,EAAE,IAAI,CAAC,OAAO,CAAC,CAAC;QAE7D,+CAA+C;QAC/C,MAAM,QAAQ,GAAG,EAAE,GAAG,GAAG,EAAE,GAAG,OAAO,CAAC,GAAG,EAAE,CAAC;QAE5C,IAAI,OAAO,CAAC,aAAa,EAAE,CAAC;YACxB,+BAA+B;YAC/B,IAAI,CAAC,OAAO,GAAG,IAAA,0BAAK,EAAC,OAAO,CAAC,OAAO,EAAE,IAAI,EAAE;gBACxC,GAAG;gBACH,KAAK,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC;gBAC/B,GAAG,EAAE,QAAQ;aAChB,CAAC,CAAC;QACP,CAAC;aAAM,CAAC;YACJ,kCAAkC;YAClC,uEAAuE;YACvE,IAAI,SAAS,GAAG,cAAc,CAAC;YAC/B,IAAI,cAAc,CAAC,QAAQ,CAAC,gBAAgB,CAAC,IAAI,cAAc,CAAC,QAAQ,CAAC,kBAAkB,CAAC,EAAE,CAAC;gBAC3F,SAAS,GAAG,cAAc,CAAC,OAAO,CAAC,oBAAoB,EAAE,4BAA4B,CAAC,CAAC;YAC3F,CAAC;YACD,IAAI,CAAC,OAAO,GAAG,IAAA,0BAAK,EAAC,OAAO,CAAC,OAAO,EAAE,CAAC,GAAG,OAAO,CAAC,IAAI,EAAE,SAAS,EAAE,GAAG,IAAI,CAAC,EAAE;gBACzE,GAAG;gBACH,KAAK,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC;gBAC/B,GAAG,EAAE,QAAQ;aAChB,CAAC,CAAC;QACP,CAAC;QAED,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC,OAAO,EAAE,GAAG,CAAC,EAAE,CAAC,IAAI,CAAC,kBAAkB,CAAC,GAAG,CAAC,CAAC,CAAC;QAC9D,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC,MAAM,EAAE,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,iBAAiB,CAAC,IAAI,CAAC,CAAC,CAAC;QAE9D,iFAAiF;QACjF,IAAI,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE,CAAC;YACtB,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE,CAAC,MAAM,EAAE,CAAC,IAAY,EAAE,EAAE;gBAC5C,MAAM,IAAI,GAAG,IAAI,CAAC,QAAQ,EAAE,CAAC;gBAC7B,uDAAuD;gBACvD,IAAI,CAAC,aAAa,IAAI,IAAI,CAAC;gBAC3B,IAAI,IAAI,CAAC,aAAa,CAAC,MAAM,GAAG,IAAI,EAAE,CAAC;oBACnC,IAAI,CAAC,aAAa,GAAG,IAAI,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,CAAC;gBACzD,CAAC;gBACD,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE,CAAC,IAAI,CAAC,CAAC;YAChC,CAAC,CAAC,CAAC;QACP,CAAC;QAED,6BAA6B;QAC7B,IAAI,CAAC,EAAE,GAAG,QAAQ,CAAC,eAAe,CAAC;YAC/B,KAAK,EAAE,IAAI,CAAC,OAAO,CAAC,MAAO;YAC3B,QAAQ,EAAE,KAAK;YACf,SAAS,EAAE,QAAQ,EAAE,4DAA4D;SACpF,CAAC,CAAC;QAEH,IAAI,CAAC,EAAE,CAAC,EAAE,CAAC,MAAM,EAAE,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC,CAAC;QAClD,IAAI,CAAC,EAAE,CAAC,EAAE,CAAC,OAAO,EAAE,GAAG,EAAE,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC,CAAC;QAC9C,IAAI,CAAC,EAAE,CAAC,EAAE,CAAC,OAAO,EAAE,GAAG,CAAC,EAAE,CAAC,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC,CAAC;IACtD,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,CAAC,QAAQ;QACX,IAAI,CAAC,KAAK,EAAE,CAAC;QAEb,IAAI,CAAC,IAAI,CAAC,aAAa,EAAE,CAAC;YACtB,OAAO;QACX,CAAC;QAED,iEAAiE;QACjE,8DAA8D;QAC9D,0DAA0D;QAC1D,IAAI,IAAI,CAAC,aAAa,CAAC,SAAS,EAAE,CAAC;YAC/B,IAAI,CAAC,aAAa,CAAC,KAAK,EAAE,CAAC;QAC/B,CAAC;QAED,KAAK,CAAC,CAAC,IAAI,CAAC,aAAa,CAAC;IAC9B,CAAC;IAED;;;;OAIG;IACH,sBAAsB;QAClB,IAAI,CAAC,aAAa,EAAE,KAAK,EAAE,CAAC;IAChC,CAAC;IAED;;;;;OAKG;IACH,gBAAgB,CAAC,OAA0C;QACvD,IAAI,CAAC,qBAAqB,GAAG,OAAO,CAAC;IACzC,CAAC;IAED;;OAEG;IACH,eAAe,CACX,OAA6B,EAC7B,OAAgB,EAChB,YAAqB,EACrB,aAAyD;QAEzD,8BAA8B;QAC9B,IAAI,CAAC,KAAK,EAAE,CAAC;QAEb,IAAI,OAAoF,CAAC;QAEzF,IAAI,OAAO,OAAO,KAAK,QAAQ,EAAE,CAAC;YAC9B,OAAO,GAAG;gBACN,IAAI,EAAE,MAAM;gBACZ,UAAU,EAAE,EAAE;gBACd,OAAO,EAAE;oBACL,IAAI,EAAE,MAAM;oBACZ,OAAO,EAAE,OAAO;iBACnB;gBACD,kBAAkB,EAAE,IAAI;gBACxB,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,QAAQ,EAAE,OAAO,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;gBACzC,GAAG,CAAC,YAAY,CAAC,CAAC,CAAC,EAAE,cAAc,EAAE,YAAY,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;gBACzD,GAAG,CAAC,aAAa,CAAC,CAAC,CAAC,EAAE,aAAa,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;aAC9C,CAAC;QACN,CAAC;aAAM,CAAC;YACJ,MAAM,OAAO,GAAG,OAAsF,CAAC;YACvG,IAAI,aAAa,IAAI,OAAO,CAAC,aAAa,EAAE,SAAS,KAAK,SAAS;mBAC5D,OAAO,CAAC,aAAa,CAAC,SAAS,KAAK,aAAa,CAAC,SAAS,EAAE,CAAC;gBACjE,MAAM,IAAI,wCAAmB,CACzB,yBAAyB,EACzB,uDAAuD,CAC1D,CAAC;YACN,CAAC;YACD,OAAO,GAAG;gBACN,GAAG,OAAO;gBACV,GAAG,CAAC,OAAO,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE,QAAQ,EAAE,OAAO,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;gBAC9D,GAAG,CAAC,YAAY,IAAI,CAAC,OAAO,CAAC,cAAc,CAAC,CAAC,CAAC,EAAE,cAAc,EAAE,YAAY,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;gBACpF,GAAG,CAAC,aAAa,CAAC,CAAC,CAAC,EAAE,aAAa,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;aAC9C,CAAC;QACN,CAAC;QAED,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC;IAC5B,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,kBAAkB,CACpB,OAA8B,EAC9B,SAAkB;QAElB,8BAA8B;QAC9B,IAAI,CAAC,KAAK,EAAE,CAAC;QAEb,MAAM,SAAS,GAAG,OAAO,IAAI,CAAC,GAAG,EAAE,IAAI,EAAE,IAAI,CAAC,gBAAgB,EAAE,CAAC;QAEjE,MAAM,OAAO,GAAmB;YAC5B,IAAI,EAAE,iBAAiB;YACvB,UAAU,EAAE,SAAS;YACrB,OAAO,EAAE,OAAO;SACnB,CAAC;QAEF,MAAM,QAAQ,GAAG,cAAc,EAAK,CAAC;QACrC,IAAI,CAAC,eAAe,CAAC,GAAG,CAAC,SAAS,EAAE,QAA6B,CAAC,CAAC;QAEnE,cAAc;QACd,MAAM,OAAO,GAAG,SAAS,IAAI,IAAI,CAAC,OAAO,CAAC,gBAAgB,IAAI,KAAK,CAAC;QACpE,MAAM,SAAS,GAAG,UAAU,CAAC,GAAG,EAAE;YAC9B,IAAI,IAAI,CAAC,eAAe,CAAC,GAAG,CAAC,SAAS,CAAC,EAAE,CAAC;gBACtC,IAAI,CAAC,eAAe,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC;gBACvC,QAAQ,CAAC,MAAM,CAAC,IAAI,KAAK,CAAC,oBAAoB,OAAO,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC;YACtE,CAAC;QACL,CAAC,EAAE,OAAO,CAAC,CAAC;QAEZ,kCAAkC;QAClC,gEAAgE;QAChE,oEAAoE;QACpE,QAAQ,CAAC,OAAO,CAAC,OAAO,CAAC,GAAG,EAAE,CAAC,YAAY,CAAC,SAAS,CAAC,CAAC,CAAC,KAAK,CAAC,GAAG,EAAE,GAAE,CAAC,CAAC,CAAC;QAExE,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC;QAExB,OAAO,QAAQ,CAAC,OAAO,CAAC;IAC5B,CAAC;IAED;;;OAGG;IACH,wBAAwB,CAAC,OAA8B;QACnD,8BAA8B;QAC9B,IAAI,CAAC,KAAK,EAAE,CAAC;QAEb,MAAM,SAAS,GAAG,OAAO,IAAI,CAAC,GAAG,EAAE,IAAI,EAAE,IAAI,CAAC,gBAAgB,EAAE,CAAC;QAEjE,MAAM,OAAO,GAAmB;YAC5B,IAAI,EAAE,iBAAiB;YACvB,UAAU,EAAE,SAAS;YACrB,OAAO,EAAE,OAAO;SACnB,CAAC;QAEF,mDAAmD;QACnD,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC;IAC5B,CAAC;IAED;;OAEG;IACH,mBAAmB,CAAC,SAAiB,EAAE,QAAiC;QACpE,MAAM,eAAe,GAA2B;YAC5C,IAAI,EAAE,kBAAkB;YACxB,QAAQ,EAAE;gBACN,OAAO,EAAE,SAAS;gBAClB,UAAU,EAAE,SAAS;gBACrB,QAAQ;aACX;SACJ,CAAC;QACF,IAAI,CAAC,SAAS,CAAC,eAAe,CAAC,CAAC;IACpC,CAAC;IAED;;OAEG;IACH,wBAAwB,CAAC,SAAiB,EAAE,KAAa,EAAE,IAAa;QACpE,MAAM,eAAe,GAA2B;YAC5C,IAAI,EAAE,kBAAkB;YACxB,QAAQ,EAAE;gBACN,OAAO,EAAE,OAAO;gBAChB,UAAU,EAAE,SAAS;gBACrB,KAAK;gBACL,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;aAC5B;SACJ,CAAC;QACF,IAAI,CAAC,SAAS,CAAC,eAAe,CAAC,CAAC;IACpC,CAAC;IAED;;;OAGG;IACH,OAAO;QACH,OAAO,CAAC,IAAI,CAAC,MAAM,IAAI,IAAI,CAAC,WAAW,CAAC;IAC5C,CAAC;IAED;;OAEG;IACH,cAAc,CAAC,OAA4B,EAAE,OAA4B;QACrE,IAAI,QAAQ,GAAG,IAAI,CAAC,oBAAoB,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;QACtD,IAAI,CAAC,QAAQ,EAAE,CAAC;YACZ,QAAQ,GAAG,IAAI,GAAG,EAAE,CAAC;YACrB,IAAI,CAAC,oBAAoB,CAAC,GAAG,CAAC,OAAO,EAAE,QAAQ,CAAC,CAAC;QACrD,CAAC;QACD,QAAQ,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;IAC1B,CAAC;IAED;;;OAGG;IACH,cAAc,CAAC,OAAgB;QAC3B,IAAI,IAAI,CAAC,aAAa,IAAI,CAAC,IAAI,CAAC,aAAa,CAAC,UAAU,EAAE,CAAC;YACvD,IAAI,CAAC,aAAa,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;QACxC,CAAC;IACL,CAAC;IAED;;OAEG;IACH,eAAe,CAAC,OAA4B,EAAE,OAA4B;QACtE,MAAM,QAAQ,GAAG,IAAI,CAAC,oBAAoB,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;QACxD,IAAI,QAAQ,EAAE,CAAC;YACX,QAAQ,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;YACzB,IAAI,QAAQ,CAAC,IAAI,KAAK,CAAC,EAAE,CAAC;gBACtB,IAAI,CAAC,oBAAoB,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;YAC9C,CAAC;QACL,CAAC;IACL,CAAC;IAED;;;;;;;;;OASG;IACH,KAAK,CAAC,KAAK,GAAkB,eAAe;QACxC,IAAI,IAAI,CAAC,MAAM,EAAE,CAAC;YACd,OAAO;QACX,CAAC;QAED,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC;QAEnB,oBAAoB;QACpB,IAAI,CAAC,WAAW,CAAC,MAAM,GAAG,CAAC,CAAC;QAC5B,IAAI,CAAC,SAAS,GAAG,KAAK,CAAC;QAEvB,IAAI,IAAI,CAAC,EAAE,EAAE,CAAC;YACV,IAAI,CAAC,EAAE,CAAC,KAAK,EAAE,CAAC;YAChB,IAAI,CAAC,EAAE,GAAG,IAAI,CAAC;QACnB,CAAC;QAED,IAAI,IAAI,CAAC,OAAO,EAAE,CAAC;YACf,uEAAuE;YACvE,0EAA0E;YAC1E,mEAAmE;YACnE,0EAA0E;YAC1E,2EAA2E;YAC3E,qDAAqD;YACrD,IAAI,CAAC;gBACD,IAAI,CAAC,OAAO,CAAC,KAAK,EAAE,GAAG,EAAE,CAAC;YAC9B,CAAC;YAAC,MAAM,CAAC;gBACL,gDAAgD;YACpD,CAAC;YACD,IAAI,CAAC,OAAO,CAAC,IAAI,EAAE,CAAC;YACpB,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC;QACxB,CAAC;QAED,MAAM,MAAM,GAAG,IAAI,CAAC,YAAY,IAAI,kBAAkB,CAAC;QAEvD,8BAA8B;QAC9B,KAAK,MAAM,CAAC,EAAE,QAAQ,CAAC,IAAI,IAAI,CAAC,eAAe,EAAE,CAAC;YAC9C,QAAQ,CAAC,MAAM,CAAC,IAAI,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC;QACvC,CAAC;QACD,IAAI,CAAC,eAAe,CAAC,KAAK,EAAE,CAAC;QAE7B,6BAA6B;QAC7B,KAAK,MAAM,CAAC,EAAE,OAAO,CAAC,IAAI,IAAI,CAAC,mBAAmB,EAAE,CAAC;YACjD,OAAO,CAAC,MAAM,CAAC,IAAI,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC;QACtC,CAAC;QACD,IAAI,CAAC,mBAAmB,CAAC,KAAK,EAAE,CAAC;QAEjC,KAAK,MAAM,SAAS,IAAI,IAAI,CAAC,gBAAgB,CAAC,MAAM,EAAE,EAAE,CAAC;YACrD,SAAS,CAAC,KAAK,EAAE,CAAC,KAAK,CAAC,GAAG,EAAE;gBACzB,+BAA+B;YACnC,CAAC,CAAC,CAAC;QACP,CAAC;QACD,IAAI,CAAC,gBAAgB,CAAC,KAAK,EAAE,CAAC;QAC9B,IAAI,CAAC,qBAAqB,CAAC,KAAK,EAAE,CAAC;QAEnC,kDAAkD;QAClD,IAAI,CAAC,6BAA6B,EAAE,CAAC;QAErC,8BAA8B;QAC9B,gDAAgD;QAChD,mCAAmC;QACnC,MAAM,gBAAgB,GAAG,IAAI,CAAC,aAAa,KAAK,IAAI;eAC7C,CAAC,IAAI,CAAC,aAAa,CAAC,UAAU;eAC9B,CAAC,IAAI,CAAC,UAAU;eAChB,CAAC,IAAI,CAAC,SAAS;eACf,qBAAqB,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;QAExC,IAAI,gBAAgB,EAAE,CAAC;YACnB,MAAM,cAAc,GAAY;gBAC5B,IAAI,EAAE,OAAO;gBACb,KAAK,EAAE,IAAI,CAAC,YAAY,IAAI,qBAAqB,KAAK,EAAE;gBACxD,GAAG,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,EAAE,UAAU,EAAE,IAAI,CAAC,UAAU,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;gBAC3D,GAAG,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,IAAI,CAAC,aAAa,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;gBAC7D,IAAI,EAAE,IAAI,CAAC,UAAU,EAAE;aACf,CAAC;YACb,IAAI,CAAC,aAAc,CAAC,OAAO,CAAC,cAAc,CAAC,CAAC;QAChD,CAAC;QAED,2BAA2B;QAC3B,IAAI,IAAI,CAAC,aAAa,EAAE,CAAC;YACrB,IAAI,CAAC,aAAa,CAAC,IAAI,EAAE,CAAC;QAC9B,CAAC;IACL,CAAC;IAED;;;OAGG;IACK,UAAU;QACd,IAAI,CAAC;YACD,MAAM,CAAC,GAAI,UAAyD,CAAC,MAAM,CAAC;YAC5E,IAAI,CAAC,EAAE,UAAU,EAAE,CAAC;gBAChB,OAAO,CAAC,CAAC,UAAU,EAAE,CAAC;YAC1B,CAAC;QACL,CAAC;QAAC,MAAM,CAAC;YACL,eAAe;QACnB,CAAC;QACD,OAAO,OAAO,IAAI,CAAC,GAAG,EAAE,CAAC,QAAQ,CAAC,EAAE,CAAC,IAAI,IAAI,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,EAAE,CAAC;IACvF,CAAC;IAED,8CAA8C;IAEtC,UAAU,CAAC,IAAY;QAC3B,MAAM,OAAO,GAAG,IAAI,CAAC,IAAI,EAAE,CAAC;QAC5B,IAAI,CAAC,OAAO,EAAE,CAAC;YACX,OAAO;QACX,CAAC;QAED,IAAI,CAAC;YACD,MAAM,OAAO,GAAG,IAAI,CAAC,KAAK,CAAC,OAAO,CAAgE,CAAC;YAEnG,gDAAgD;YAChD,IAAI,OAAO,CAAC,IAAI,KAAK,kBAAkB,EAAE,CAAC;gBACtC,IAAI,CAAC,qBAAqB,CAAC,OAAiC,CAAC,CAAC;gBAC9D,OAAO;YACX,CAAC;YAED,iEAAiE;YACjE,IAAI,OAAO,CAAC,IAAI,KAAK,sBAAsB,EAAE,CAAC;gBAC1C,IAAI,CAAC,yBAAyB,CAAC,OAAqC,CAAC,CAAC;gBACtE,OAAO;YACX,CAAC;YAED,uEAAuE;YACvE,oEAAoE;YACpE,wDAAwD;YACxD,IAAI,OAAO,CAAC,IAAI,KAAK,iBAAiB,EAAE,CAAC;gBACrC,MAAM,cAAc,GAAG,OAAyB,CAAC;gBACjD,IAAI,cAAc,CAAC,OAAO,CAAC,OAAO,KAAK,aAAa,EAAE,CAAC;oBACnD,IAAI,CAAC,uBAAuB,CAAC,cAAc,CAAC,CAAC;gBACjD,CAAC;qBAAM,IAAI,IAAI,CAAC,qBAAqB,EAAE,CAAC;oBACpC,IAAI,CAAC,qBAAqB,CAAC,cAAc,CAAC,CAAC;gBAC/C,CAAC;gBACD,OAAO;YACX,CAAC;YAED,oDAAoD;YACpD,+CAA+C;YAC/C,kDAAkD;YAClD,MAAM,MAAM,GAAG,OAKd,CAAC;YACF,IAAI,MAAM,CAAC,UAAU,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE,CAAC;gBACxC,IAAI,CAAC,UAAU,GAAG,MAAM,CAAC,UAAU,CAAC;YACxC,CAAC;YACD,MAAM,iBAAiB,GAAG,MAAM,CAAC,IAAI,KAAK,QAAQ,IAAI,MAAM,CAAC,OAAO,KAAK,aAAa,CAAC;YACvF,IAAI,iBAAiB,IAAI,MAAM,CAAC,MAAM,EAAE,CAAC;gBACrC,qDAAqD;gBACrD,mDAAmD;gBACnD,IAAI,IAAI,CAAC,aAAa,KAAK,MAAM,CAAC,MAAM,EAAE,CAAC;oBACvC,IAAI,CAAC,UAAU,GAAG,KAAK,CAAC;oBACxB,IAAI,CAAC,SAAS,GAAG,KAAK,CAAC;gBAC3B,CAAC;gBACD,IAAI,CAAC,aAAa,GAAG,MAAM,CAAC,MAAM,CAAC;gBACnC,IAAI,CAAC,cAAc,GAAG,IAAI,CAAC;YAC/B,CAAC;iBAAM,IAAI,MAAM,CAAC,MAAM,IAAI,CAAC,IAAI,CAAC,cAAc,EAAE,CAAC;gBAC/C,yDAAyD;gBACzD,4CAA4C;gBAC5C,EAAE;gBACF,yDAAyD;gBACzD,kDAAkD;gBAClD,8CAA8C;gBAC9C,IAAI,IAAI,CAAC,aAAa,IAAI,IAAI,CAAC,aAAa,KAAK,MAAM,CAAC,MAAM,EAAE,CAAC;oBAC7D,IAAI,CAAC,UAAU,GAAG,KAAK,CAAC;oBACxB,IAAI,CAAC,SAAS,GAAG,KAAK,CAAC;gBAC3B,CAAC;gBACD,IAAI,CAAC,aAAa,GAAG,MAAM,CAAC,MAAM,CAAC;YACvC,CAAC;YACD,IAAI,MAAM,CAAC,IAAI,KAAK,QAAQ,EAAE,CAAC;gBAC3B,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC;YAC3B,CAAC;iBAAM,IAAI,MAAM,CAAC,IAAI,KAAK,OAAO,EAAE,CAAC;gBACjC,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC;YAC1B,CAAC;YAED,4DAA4D;YAC5D,IAAI,IAAI,CAAC,aAAa,EAAE,CAAC;gBACrB,IAAI,CAAC,aAAa,CAAC,OAAO,CAAC,OAAkB,CAAC,CAAC;YACnD,CAAC;QACL,CAAC;QAAC,MAAM,CAAC;YACL,+DAA+D;QACnE,CAAC;IACL,CAAC;IAEO,yBAAyB,CAAC,YAAwC;QACtE,MAAM,QAAQ,GAAG,IAAI,CAAC,oBAAoB,CAAC,GAAG,CAAC,YAAY,CAAC,OAAO,CAAC,CAAC;QACrE,IAAI,QAAQ,EAAE,CAAC;YACX,KAAK,MAAM,OAAO,IAAI,QAAQ,EAAE,CAAC;gBAC7B,IAAI,CAAC;oBACD,OAAO,CAAC,YAAY,CAAC,CAAC;gBAC1B,CAAC;gBAAC,MAAM,CAAC;oBACL,wBAAwB;gBAC5B,CAAC;YACL,CAAC;QACL,CAAC;IACL,CAAC;IAEO,qBAAqB,CAAC,OAA+B;QACzD,MAAM,EAAE,QAAQ,EAAE,GAAG,OAAO,CAAC;QAC7B,MAAM,OAAO,GAAG,IAAI,CAAC,eAAe,CAAC,GAAG,CAAC,QAAQ,CAAC,UAAU,CAAC,CAAC;QAE9D,IAAI,CAAC,OAAO,EAAE,CAAC;YACX,OAAO;QACX,CAAC;QAED,IAAI,CAAC,eAAe,CAAC,MAAM,CAAC,QAAQ,CAAC,UAAU,CAAC,CAAC;QAEjD,IAAI,QAAQ,CAAC,OAAO,KAAK,OAAO,EAAE,CAAC;YAC/B,MAAM,KAAK,GAAG,IAAA,sCAAiB,EAAC,QAAQ,CAAC,IAAI,CAAC;gBAC1C,CAAC,CAAC,IAAI,wCAAmB,CAAC,QAAQ,CAAC,IAAI,EAAE,QAAQ,CAAC,KAAK,CAAC;gBACxD,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,IAAI,KAAK,CAAC,QAAQ,CAAC,KAAK,CAAC,EAAE,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,QAAQ,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;YAC7F,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;QAC1B,CAAC;aAAM,CAAC;YACJ,OAAO,CAAC,OAAO,CAAC,QAAQ,CAAC,QAAQ,IAAI,EAAE,CAAC,CAAC;QAC7C,CAAC;IACL,CAAC;IAEO,WAAW;QACf,iEAAiE;QACjE,+DAA+D;QAC/D,kEAAkE;QAClE,IAAI,CAAC,cAAc,CAAC,wCAAwC,CAAC,CAAC;QAC9D,IAAI,CAAC,KAAK,CAAC,0BAA0B,CAAC,CAAC;IAC3C,CAAC;IAEO,WAAW,CAAC,KAAY;QAC5B,IAAI,CAAC,cAAc,CAAC,kBAAkB,KAAK,CAAC,OAAO,EAAE,CAAC,CAAC;QACvD,IAAI,CAAC,KAAK,CAAC,0BAA0B,CAAC,CAAC;IAC3C,CAAC;IAEO,kBAAkB,CAAC,KAAY;QACnC,IAAI,CAAC,cAAc,CAAC,4BAA4B,KAAK,CAAC,OAAO,EAAE,CAAC,CAAC;QACjE,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,CAAC;IAC7B,CAAC;IAEO,iBAAiB,CAAC,IAAmB;QACzC,MAAM,MAAM,GAAG,IAAI,CAAC,aAAa,CAAC,IAAI,EAAE,CAAC;QACzC,MAAM,YAAY,GAAG,MAAM,CAAC,CAAC,CAAC,cAAc,MAAM,CAAC,KAAK,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QACtE,IAAI,CAAC,cAAc,CAAC,gCAAgC,IAAI,GAAG,YAAY,EAAE,CAAC,CAAC;QAC3E,8BAA8B;QAC9B,sDAAsD;QACtD,oBAAoB;QACpB,MAAM,KAAK,GAAkB,IAAI,KAAK,CAAC;YACnC,CAAC,CAAC,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,6BAA6B,CAAC;YACjE,CAAC,CAAC,oBAAoB,CAAC;QAC3B,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;IACtB,CAAC;IAEO,cAAc,CAAC,MAAc;QACjC,IAAI,CAAC,IAAI,CAAC,YAAY,EAAE,CAAC;YACrB,IAAI,CAAC,YAAY,GAAG,MAAM,CAAC;QAC/B,CAAC;aAAM,IAAI,CAAC,IAAI,CAAC,YAAY,CAAC,QAAQ,CAAC,MAAM,CAAC,EAAE,CAAC;YAC7C,mDAAmD;YACnD,+FAA+F;YAC/F,IAAI,CAAC,YAAY,IAAI,MAAM,MAAM,EAAE,CAAC;QACxC,CAAC;IACL,CAAC;IAEO,SAAS,CAAC,IAAa;QAC3B,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,KAAK,EAAE,CAAC;YACvB,MAAM,IAAI,KAAK,CAAC,uBAAuB,CAAC,CAAC;QAC7C,CAAC;QACD,MAAM,IAAI,GAAG,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC;QAEzC,IAAI,IAAI,CAAC,SAAS,EAAE,CAAC;YACjB,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YAC5B,OAAO;QACX,CAAC;QAED,MAAM,EAAE,GAAG,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;QAC1C,IAAI,CAAC,EAAE,EAAE,CAAC;YACN,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC;YACtB,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,IAAI,CAAC,OAAO,EAAE,GAAG,EAAE;gBAClC,IAAI,CAAC,SAAS,GAAG,KAAK,CAAC;gBACvB,IAAI,CAAC,gBAAgB,EAAE,CAAC;YAC5B,CAAC,CAAC,CAAC;QACP,CAAC;IACL,CAAC;IAEO,gBAAgB;QACpB,IAAI,CAAC,GAAG,CAAC,CAAC;QACV,OAAO,CAAC,GAAG,IAAI,CAAC,WAAW,CAAC,MAAM,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,CAAC;YACpD,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,KAAK,EAAE,CAAC;gBACvB,IAAI,CAAC,WAAW,CAAC,MAAM,GAAG,CAAC,CAAC;gBAC5B,OAAO;YACX,CAAC;YACD,MAAM,EAAE,GAAG,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC,CAAE,CAAC,CAAC;YAC1D,CAAC,EAAE,CAAC;YACJ,IAAI,CAAC,EAAE,EAAE,CAAC;gBACN,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC;gBACtB,IAAI,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;gBAC9B,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,IAAI,CAAC,OAAO,EAAE,GAAG,EAAE;oBAClC,IAAI,CAAC,SAAS,GAAG,KAAK,CAAC;oBACvB,IAAI,CAAC,gBAAgB,EAAE,CAAC;gBAC5B,CAAC,CAAC,CAAC;gBACH,OAAO;YACX,CAAC;QACL,CAAC;QACD,IAAI,CAAC,WAAW,CAAC,MAAM,GAAG,CAAC,CAAC;IAChC,CAAC;IAED,qDAAqD;IAErD;;;OAGG;IACK,iBAAiB,CAAC,UAA4C;QAIlE,IAAI,CAAC,UAAU,EAAE,CAAC;YACd,OAAO,EAAE,UAAU,EAAE,IAAI,GAAG,EAAE,EAAE,cAAc,EAAE,SAAS,EAAE,CAAC;QAChE,CAAC;QAED,MAAM,UAAU,GAAG,IAAI,GAAG,EAAqB,CAAC;QAChD,MAAM,cAAc,GAAoC,EAAE,CAAC;QAE3D,KAAK,MAAM,CAAC,IAAI,EAAE,MAAM,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,UAAU,CAAC,EAAE,CAAC;YACtD,IAAI,MAAM,IAAI,OAAO,MAAM,KAAK,QAAQ,IAAI,MAAM,IAAI,MAAM,IAAI,MAAM,CAAC,IAAI,KAAK,KAAK,EAAE,CAAC;gBACpF,iBAAiB;gBACjB,MAAM,SAAS,GAAG,MAA4D,CAAC;gBAC/E,UAAU,CAAC,GAAG,CAAC,IAAI,EAAE,SAAS,CAAC,QAAQ,CAAC,CAAC;gBACzC,IAAI,CAAC,kBAAkB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YACvC,CAAC;iBAAM,CAAC;gBACJ,wCAAwC;gBACxC,cAAc,CAAC,IAAI,CAAC,GAAG,MAAM,CAAC;YAClC,CAAC;QACL,CAAC;QAED,OAAO;YACH,UAAU;YACV,cAAc,EAAE,MAAM,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,cAAc,CAAC,CAAC,CAAC,SAAS;SACtF,CAAC;IACN,CAAC;IAED;;OAEG;IACK,mBAAmB,CAAC,IAAY,EAAE,MAAiB;QACvD,+CAA+C;QAC/C,MAAM,YAAY,GAAG,IAAI,wDAAyB,CAC9C,OAAO,CAAC,EAAE,CAAC,IAAI,CAAC,yBAAyB,CAAC,IAAI,EAAE,OAAO,CAAC,CAC3D,CAAC;QAEF,sCAAsC;QACtC,IAAI,CAAC,gBAAgB,CAAC,GAAG,CAAC,IAAI,EAAE,YAAY,CAAC,CAAC;QAC9C,IAAI,CAAC,qBAAqB,CAAC,GAAG,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;QAE7C,8BAA8B;QAC9B,MAAM,CAAC,OAAO,CAAC,YAAY,CAAC,CAAC;IACjC,CAAC;IAED;;OAEG;IACK,yBAAyB,CAAC,UAAkB,EAAE,OAA0B;QAC5E,mDAAmD;QACnD,IAAI,IAAI,IAAI,OAAO,IAAI,OAAO,CAAC,EAAE,KAAK,IAAI,IAAI,OAAO,CAAC,EAAE,KAAK,SAAS,EAAE,CAAC;YACrE,MAAM,GAAG,GAAG,GAAG,UAAU,IAAI,OAAO,CAAC,EAAE,EAAE,CAAC;YAC1C,MAAM,OAAO,GAAG,IAAI,CAAC,mBAAmB,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;YAElD,IAAI,OAAO,EAAE,CAAC;gBACV,mCAAmC;gBACnC,OAAO,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;gBACzB,IAAI,CAAC,mBAAmB,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;gBACrC,OAAO;YACX,CAAC;QACL,CAAC;QAED,iCAAiC;QACjC,MAAM,SAAS,GAAG,OAAO,IAAI,CAAC,GAAG,EAAE,IAAI,IAAI,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,EAAE,CAAC;QACjF,MAAM,cAAc,GAAG;YACnB,IAAI,EAAE,iBAAiB;YACvB,UAAU,EAAE,SAAS;YACrB,OAAO,EAAE;gBACL,OAAO,EAAE,aAAa;gBACtB,WAAW,EAAE,UAAU;gBACvB,OAAO;aACV;SACJ,CAAC;QAEF,sEAAsE;QACtE,IAAI,CAAC,kBAAkB,CAAC,cAAc,CAAC,OAAmC,CAAC,CAAC,KAAK,CAAC,GAAG,EAAE;YACnF,kCAAkC;QACtC,CAAC,CAAC,CAAC;IACP,CAAC;IAED;;OAEG;IACK,KAAK,CAAC,uBAAuB,CAAC,OAAuB;QACzD,MAAM,UAAU,GAAG,OAAO,CAAC,OAAmC,CAAC;QAC/D,MAAM,EAAE,WAAW,EAAE,OAAO,EAAE,GAAG,UAAU,CAAC;QAE5C,MAAM,SAAS,GAAG,IAAI,CAAC,gBAAgB,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC;QAEzD,IAAI,CAAC,SAAS,EAAE,CAAC;YACb,iEAAiE;YACjE,MAAM,SAAS,GAAG,IAAI,CAAC,yBAAyB,CAAC,WAAW,CAAC,CAAC;YAC9D,IAAI,IAAI,CAAC,sBAAsB,IAAI,SAAS,IAAI,IAAI,CAAC,sBAAsB,CAAC,YAAY,CAAC,SAAS,CAAC,EAAE,CAAC;gBAClG,IAAI,CAAC;oBACD,MAAM,MAAM,GAAG,OAA2B,CAAC;oBAC3C,MAAM,SAAS,GAAG,IAAI,IAAI,MAAM,IAAI,MAAM,CAAC,EAAE,KAAK,IAAI,IAAI,MAAM,CAAC,EAAE,KAAK,SAAS,CAAC;oBAClF,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,sBAAsB,CAAC,gBAAgB,CAC7D,SAAS,EACT,OAA4B,CAC/B,CAAC;oBACF,IAAI,SAAS,EAAE,CAAC;wBACZ,IAAI,CAAC,mBAAmB,CAAC,OAAO,CAAC,UAAU,EAAE,EAAE,YAAY,EAAE,MAAM,EAAE,CAAC,CAAC;oBAC3E,CAAC;yBAAM,CAAC;wBACJ,yDAAyD;wBACzD,IAAI,CAAC,mBAAmB,CAAC,OAAO,CAAC,UAAU,EAAE;4BACzC,YAAY,EAAE,EAAE,OAAO,EAAE,KAAK,EAAE,MAAM,EAAE,EAAE,EAAE;yBAC/C,CAAC,CAAC;oBACP,CAAC;gBACL,CAAC;gBAAC,OAAO,KAAK,EAAE,CAAC;oBACb,IAAI,CAAC,wBAAwB,CACzB,OAAO,CAAC,UAAU,EAClB,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CACzD,CAAC;gBACN,CAAC;gBACD,OAAO;YACX,CAAC;YAED,IAAI,CAAC,wBAAwB,CACzB,OAAO,CAAC,UAAU,EAClB,6BAA6B,WAAW,EAAE,CAC7C,CAAC;YACF,OAAO;QACX,CAAC;QAED,IAAI,CAAC;YACD,mEAAmE;YACnE,IAAI,QAAQ,IAAI,OAAO,IAAI,IAAI,IAAI,OAAO,IAAI,OAAO,CAAC,EAAE,KAAK,IAAI,EAAE,CAAC;gBAChE,oCAAoC;gBACpC,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,uBAAuB,CAC/C,WAAW,EACX,OAA4B,EAC5B,SAAS,CACZ,CAAC;gBACF,IAAI,CAAC,mBAAmB,CAAC,OAAO,CAAC,UAAU,EAAE;oBACzC,YAAY,EAAE,QAAQ;iBACzB,CAAC,CAAC;YACP,CAAC;iBAAM,CAAC;gBACJ,kFAAkF;gBAClF,mFAAmF;gBACnF,+EAA+E;gBAC/E,SAAS,CAAC,qBAAqB,CAAC,OAA4B,CAAC,CAAC;gBAC9D,IAAI,CAAC,mBAAmB,CAAC,OAAO,CAAC,UAAU,EAAE;oBACzC,YAAY,EAAE,EAAE,OAAO,EAAE,KAAK,EAAE,MAAM,EAAE,EAAE,EAAE;iBAC/C,CAAC,CAAC;YACP,CAAC;QACL,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACb,IAAI,CAAC,wBAAwB,CACzB,OAAO,CAAC,UAAU,EAClB,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CACzD,CAAC;QACN,CAAC;IACL,CAAC;IAED;;;;;;;;;;;OAWG;IACH,wBAAwB,CACpB,WAA0C,EAC1C,eAA4C;QAE5C,IAAI,CAAC,IAAI,CAAC,sBAAsB,EAAE,CAAC;YAC/B,8CAA8C;YAC9C,MAAM,OAAO,GAAG,CAAC,KAA8B,EAAQ,EAAE;gBACrD,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE,CAAC,0BAA0B,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;YAC/E,CAAC,CAAC;YACF,IAAI,CAAC,sBAAsB,GAAG,IAAI,kDAAsB,CAAC;gBACrD,eAAe;gBACf,gBAAgB,EAAE,IAAI,CAAC,OAAO,CAAC,gBAAgB,IAAI,KAAK;gBACxD,sDAAsD;gBACtD,6BAA6B;gBAC7B,cAAc,EAAE,CAAC,SAAS,EAAE,OAAO,EAAE,EAAE;oBACnC,MAAM,EAAE,OAAO,EAAE,IAAI,EAAE,QAAQ,EAAE,GAAG,IAAA,sDAAgC,EAAC,OAAO,CAAC,CAAC;oBAC9E,IAAI,QAAQ,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;wBACtB,OAAO,CAAC,EAAE,IAAI,EAAE,gCAAgC,EAAE,SAAS,EAAE,QAAQ,EAAE,CAAC,CAAC;oBAC7E,CAAC;oBACD,OAAO,IAAI,CAAC;gBAChB,CAAC;gBACD,OAAO;aACV,CAAC,CAAC;QACP,CAAC;QAED,KAAK,MAAM,UAAU,IAAI,WAAW,EAAE,CAAC;YACnC,MAAM,SAAS,GAAG,IAAI,CAAC,yBAAyB,CAAC,UAAU,CAAC,UAAU,CAAC,CAAC;YACxE,IAAI,CAAC,SAAS,EAAE,CAAC;gBACb,SAAS;YACb,CAAC;YACD,IAAI,CAAC,sBAAsB,CAAC,uBAAuB,CAAC,SAAS,EAAE;gBAC3D,SAAS,EAAE,UAAU,CAAC,SAAS;gBAC/B,YAAY,EAAE,UAAU,CAAC,YAAY;aACxC,CAAC,CAAC;YACH,IAAI,CAAC,6BAA6B,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;QACtD,CAAC;IACL,CAAC;IAED;;;OAGG;IACK,6BAA6B;QACjC,IAAI,CAAC,IAAI,CAAC,sBAAsB,EAAE,CAAC;YAC/B,OAAO;QACX,CAAC;QACD,KAAK,MAAM,SAAS,IAAI,IAAI,CAAC,6BAA6B,EAAE,CAAC;YACzD,IAAI,CAAC,sBAAsB,CAAC,yBAAyB,CAAC,SAAS,CAAC,CAAC,KAAK,CAAC,GAAG,EAAE;gBACxE,eAAe;YACnB,CAAC,CAAC,CAAC;QACP,CAAC;QACD,IAAI,CAAC,6BAA6B,CAAC,KAAK,EAAE,CAAC;IAC/C,CAAC;IAED;;;;;;;;;OASG;IACK,yBAAyB,CAAC,UAAkB;QAChD,MAAM,QAAQ,GAAa,EAAE,CAAC;QAC9B,MAAM,IAAI,GAAG,CAAC,CAAqB,EAAE,KAAa,EAAQ,EAAE;YACxD,IAAI,OAAO,CAAC,KAAK,QAAQ,IAAI,CAAC,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBACxC,IAAI,CAAC,oBAAoB,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC;oBAChC,yCAAyC;oBACzC,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE,CAAC,8CAA8C,KAAK,gCAAgC,CAAC,CAAC;oBAC3G,OAAO;gBACX,CAAC;gBACD,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;YACrB,CAAC;QACL,CAAC,CAAC;QACF,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,mBAAmB,EAAE,qBAAqB,CAAC,CAAC;QAC9D,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,QAAQ,EAAE,UAAU,CAAC,CAAC;QACxC,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAC;QACpC,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,SAAS,EAAE,WAAW,CAAC,CAAC;QAC1C,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC;QAClC,IAAI,CAAC,UAAU,EAAE,YAAY,CAAC,CAAC;QAC/B,IAAI,QAAQ,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YACxB,OAAO,SAAS,CAAC;QACrB,CAAC;QACD,IAAI,QAAQ,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YACxB,0DAA0D;YAC1D,OAAO,UAAU,CAAC;QACtB,CAAC;QACD,OAAO,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAC/B,CAAC;IAED;;OAEG;IACK,uBAAuB,CAC3B,UAAkB,EAClB,OAA0B,EAC1B,SAAoC;QAEpC,MAAM,SAAS,GAAG,IAAI,IAAI,OAAO,CAAC,CAAC,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC;QACtD,MAAM,GAAG,GAAG,GAAG,UAAU,IAAI,SAAS,EAAE,CAAC;QAEzC,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;YACnC,MAAM,OAAO,GAAG,GAAG,EAAE;gBACjB,IAAI,CAAC,mBAAmB,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;YACzC,CAAC,CAAC;YAEF,MAAM,iBAAiB,GAAG,CAAC,QAA2B,EAAE,EAAE;gBACtD,OAAO,EAAE,CAAC;gBACV,OAAO,CAAC,QAAQ,CAAC,CAAC;YACtB,CAAC,CAAC;YAEF,MAAM,gBAAgB,GAAG,CAAC,KAAY,EAAE,EAAE;gBACtC,OAAO,EAAE,CAAC;gBACV,MAAM,CAAC,KAAK,CAAC,CAAC;YAClB,CAAC,CAAC;YAEF,iCAAiC;YACjC,IAAI,CAAC,mBAAmB,CAAC,GAAG,CAAC,GAAG,EAAE;gBAC9B,OAAO,EAAE,iBAAiB;gBAC1B,MAAM,EAAE,gBAAgB;aAC3B,CAAC,CAAC;YAEH,gCAAgC;YAChC,SAAS,CAAC,qBAAqB,CAAC,OAAO,CAAC,CAAC;QAC7C,CAAC,CAAC,CAAC;IACP,CAAC;CACJ"}
|
|
1
|
+
{"version":3,"file":"process-transport.js","sourceRoot":"","sources":["../../src/transport/process-transport.ts"],"names":[],"mappings":"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"}
|