@google/gemini-cli-core 0.7.0-preview.0 → 0.7.1-reland
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/index.d.ts +2 -3
- package/dist/index.js +2 -3
- package/dist/index.js.map +1 -1
- package/dist/src/config/config.d.ts +0 -7
- package/dist/src/config/config.js +1 -29
- package/dist/src/config/config.js.map +1 -1
- package/dist/src/core/client.js +2 -1
- package/dist/src/core/client.js.map +1 -1
- package/dist/src/core/client.test.js +39 -0
- package/dist/src/core/client.test.js.map +1 -1
- package/dist/src/core/geminiChat.d.ts +3 -4
- package/dist/src/core/geminiChat.js +52 -44
- package/dist/src/core/geminiChat.js.map +1 -1
- package/dist/src/core/geminiChat.test.js +26 -115
- package/dist/src/core/geminiChat.test.js.map +1 -1
- package/dist/src/generated/git-commit.d.ts +2 -2
- package/dist/src/generated/git-commit.js +2 -2
- package/dist/src/generated/git-commit.js.map +1 -1
- package/dist/src/ide/detect-ide.d.ts +2 -4
- package/dist/src/ide/detect-ide.js +1 -7
- package/dist/src/ide/detect-ide.js.map +1 -1
- package/dist/src/ide/detect-ide.test.js +0 -23
- package/dist/src/ide/detect-ide.test.js.map +1 -1
- package/dist/src/ide/ide-client.d.ts +1 -2
- package/dist/src/ide/ide-client.js +17 -22
- package/dist/src/ide/ide-client.js.map +1 -1
- package/dist/src/ide/ide-client.test.js +2 -2
- package/dist/src/ide/ide-client.test.js.map +1 -1
- package/dist/src/index.d.ts +0 -1
- package/dist/src/index.js +0 -1
- package/dist/src/index.js.map +1 -1
- package/dist/src/routing/strategies/compositeStrategy.js +3 -4
- package/dist/src/routing/strategies/compositeStrategy.js.map +1 -1
- package/dist/src/telemetry/clearcut-logger/clearcut-logger.d.ts +2 -6
- package/dist/src/telemetry/clearcut-logger/clearcut-logger.js +0 -34
- package/dist/src/telemetry/clearcut-logger/clearcut-logger.js.map +1 -1
- package/dist/src/telemetry/clearcut-logger/event-metadata-key.d.ts +1 -3
- package/dist/src/telemetry/clearcut-logger/event-metadata-key.js +0 -4
- package/dist/src/telemetry/clearcut-logger/event-metadata-key.js.map +1 -1
- package/dist/src/telemetry/constants.d.ts +0 -3
- package/dist/src/telemetry/constants.js +0 -3
- package/dist/src/telemetry/constants.js.map +1 -1
- package/dist/src/telemetry/index.d.ts +1 -2
- package/dist/src/telemetry/index.js +1 -2
- package/dist/src/telemetry/index.js.map +1 -1
- package/dist/src/telemetry/loggers.d.ts +1 -3
- package/dist/src/telemetry/loggers.js +2 -36
- package/dist/src/telemetry/loggers.js.map +1 -1
- package/dist/src/telemetry/loggers.test.js +3 -31
- package/dist/src/telemetry/loggers.test.js.map +1 -1
- package/dist/src/telemetry/metrics.d.ts +1 -2
- package/dist/src/telemetry/metrics.js +1 -14
- package/dist/src/telemetry/metrics.js.map +1 -1
- package/dist/src/telemetry/sdk.js +1 -4
- package/dist/src/telemetry/sdk.js.map +1 -1
- package/dist/src/telemetry/sdk.test.js +0 -13
- package/dist/src/telemetry/sdk.test.js.map +1 -1
- package/dist/src/telemetry/types.d.ts +3 -18
- package/dist/src/telemetry/types.js +2 -28
- package/dist/src/telemetry/types.js.map +1 -1
- package/dist/src/tools/ripGrep.js +1 -1
- package/dist/src/tools/ripGrep.js.map +1 -1
- package/dist/src/tools/ripGrep.test.js +2 -2
- package/dist/src/tools/ripGrep.test.js.map +1 -1
- package/dist/src/tools/tools.d.ts +3 -11
- package/dist/src/tools/tools.js +3 -94
- package/dist/src/tools/tools.js.map +1 -1
- package/dist/tsconfig.tsbuildinfo +1 -1
- package/package.json +2 -2
- package/dist/src/telemetry/config.d.ts +0 -31
- package/dist/src/telemetry/config.js +0 -76
- package/dist/src/telemetry/config.js.map +0 -1
- package/dist/src/telemetry/config.test.d.ts +0 -6
- package/dist/src/telemetry/config.test.js +0 -124
- package/dist/src/telemetry/config.test.js.map +0 -1
- package/dist/src/tools/message-bus-integration.test.d.ts +0 -6
- package/dist/src/tools/message-bus-integration.test.js +0 -183
- package/dist/src/tools/message-bus-integration.test.js.map +0 -1
- package/dist/src/tools/write-todos.d.ts +0 -25
- package/dist/src/tools/write-todos.js +0 -150
- package/dist/src/tools/write-todos.js.map +0 -1
- package/dist/src/tools/write-todos.test.d.ts +0 -6
- package/dist/src/tools/write-todos.test.js +0 -89
- package/dist/src/tools/write-todos.test.js.map +0 -1
|
@@ -4,7 +4,7 @@
|
|
|
4
4
|
* SPDX-License-Identifier: Apache-2.0
|
|
5
5
|
*/
|
|
6
6
|
import { describe, it, expect, vi, beforeEach, afterEach } from 'vitest';
|
|
7
|
-
import { GeminiChat,
|
|
7
|
+
import { GeminiChat, EmptyStreamError, StreamEventType, } from './geminiChat.js';
|
|
8
8
|
import { setSimulate429 } from '../utils/testUtils.js';
|
|
9
9
|
import { DEFAULT_GEMINI_FLASH_MODEL } from '../config/models.js';
|
|
10
10
|
import { AuthType } from './contentGenerator.js';
|
|
@@ -47,11 +47,13 @@ vi.mock('../utils/retry.js', () => ({
|
|
|
47
47
|
vi.mock('../fallback/handler.js', () => ({
|
|
48
48
|
handleFallback: mockHandleFallback,
|
|
49
49
|
}));
|
|
50
|
-
const { mockLogContentRetry, mockLogContentRetryFailure } = vi.hoisted(() => ({
|
|
50
|
+
const { mockLogInvalidChunk, mockLogContentRetry, mockLogContentRetryFailure } = vi.hoisted(() => ({
|
|
51
|
+
mockLogInvalidChunk: vi.fn(),
|
|
51
52
|
mockLogContentRetry: vi.fn(),
|
|
52
53
|
mockLogContentRetryFailure: vi.fn(),
|
|
53
54
|
}));
|
|
54
55
|
vi.mock('../telemetry/loggers.js', () => ({
|
|
56
|
+
logInvalidChunk: mockLogInvalidChunk,
|
|
55
57
|
logContentRetry: mockLogContentRetry,
|
|
56
58
|
logContentRetryFailure: mockLogContentRetryFailure,
|
|
57
59
|
}));
|
|
@@ -185,7 +187,7 @@ describe('GeminiChat', () => {
|
|
|
185
187
|
for await (const _ of stream) {
|
|
186
188
|
/* consume stream */
|
|
187
189
|
}
|
|
188
|
-
})()).rejects.toThrow(
|
|
190
|
+
})()).rejects.toThrow(EmptyStreamError);
|
|
189
191
|
});
|
|
190
192
|
it('should succeed if the stream ends with an invalid part but has a finishReason and contained a valid part', async () => {
|
|
191
193
|
// 1. Mock a stream that sends a valid chunk, then an invalid one, but has a finish reason.
|
|
@@ -350,7 +352,7 @@ describe('GeminiChat', () => {
|
|
|
350
352
|
expect(modelTurn?.parts?.length).toBe(1);
|
|
351
353
|
expect(modelTurn?.parts[0].text).toBe('This is the visible text that should not be lost.');
|
|
352
354
|
});
|
|
353
|
-
it('should
|
|
355
|
+
it('should add a placeholder model turn when a tool call is followed by an empty stream response', async () => {
|
|
354
356
|
// 1. Setup: A history where the model has just made a function call.
|
|
355
357
|
const initialHistory = [
|
|
356
358
|
{
|
|
@@ -391,113 +393,20 @@ describe('GeminiChat', () => {
|
|
|
391
393
|
},
|
|
392
394
|
},
|
|
393
395
|
}, 'prompt-id-stream-1');
|
|
394
|
-
|
|
395
|
-
|
|
396
|
-
|
|
397
|
-
|
|
398
|
-
|
|
399
|
-
|
|
400
|
-
|
|
401
|
-
|
|
402
|
-
|
|
403
|
-
|
|
404
|
-
|
|
405
|
-
|
|
406
|
-
|
|
407
|
-
|
|
408
|
-
role: 'model',
|
|
409
|
-
parts: [
|
|
410
|
-
{
|
|
411
|
-
functionCall: {
|
|
412
|
-
name: 'test_function',
|
|
413
|
-
args: { param: 'value' },
|
|
414
|
-
},
|
|
415
|
-
},
|
|
416
|
-
],
|
|
417
|
-
},
|
|
418
|
-
// No finishReason
|
|
419
|
-
},
|
|
420
|
-
],
|
|
421
|
-
};
|
|
422
|
-
})();
|
|
423
|
-
vi.mocked(mockContentGenerator.generateContentStream).mockResolvedValue(streamWithToolCall);
|
|
424
|
-
const stream = await chat.sendMessageStream('test-model', { message: 'test' }, 'prompt-id-1');
|
|
425
|
-
// Should not throw an error
|
|
426
|
-
await expect((async () => {
|
|
427
|
-
for await (const _ of stream) {
|
|
428
|
-
// consume stream
|
|
429
|
-
}
|
|
430
|
-
})()).resolves.not.toThrow();
|
|
431
|
-
});
|
|
432
|
-
it('should throw InvalidStreamError when no tool call and no finish reason', async () => {
|
|
433
|
-
// Setup: Stream with text but no finish reason and no tool call
|
|
434
|
-
const streamWithoutFinishReason = (async function* () {
|
|
435
|
-
yield {
|
|
436
|
-
candidates: [
|
|
437
|
-
{
|
|
438
|
-
content: {
|
|
439
|
-
role: 'model',
|
|
440
|
-
parts: [{ text: 'some response' }],
|
|
441
|
-
},
|
|
442
|
-
// No finishReason
|
|
443
|
-
},
|
|
444
|
-
],
|
|
445
|
-
};
|
|
446
|
-
})();
|
|
447
|
-
vi.mocked(mockContentGenerator.generateContentStream).mockResolvedValue(streamWithoutFinishReason);
|
|
448
|
-
const stream = await chat.sendMessageStream('test-model', { message: 'test' }, 'prompt-id-1');
|
|
449
|
-
await expect((async () => {
|
|
450
|
-
for await (const _ of stream) {
|
|
451
|
-
// consume stream
|
|
452
|
-
}
|
|
453
|
-
})()).rejects.toThrow(InvalidStreamError);
|
|
454
|
-
});
|
|
455
|
-
it('should throw InvalidStreamError when no tool call and empty response text', async () => {
|
|
456
|
-
// Setup: Stream with finish reason but empty response (only thoughts)
|
|
457
|
-
const streamWithEmptyResponse = (async function* () {
|
|
458
|
-
yield {
|
|
459
|
-
candidates: [
|
|
460
|
-
{
|
|
461
|
-
content: {
|
|
462
|
-
role: 'model',
|
|
463
|
-
parts: [{ thought: 'thinking...' }],
|
|
464
|
-
},
|
|
465
|
-
finishReason: 'STOP',
|
|
466
|
-
},
|
|
467
|
-
],
|
|
468
|
-
};
|
|
469
|
-
})();
|
|
470
|
-
vi.mocked(mockContentGenerator.generateContentStream).mockResolvedValue(streamWithEmptyResponse);
|
|
471
|
-
const stream = await chat.sendMessageStream('test-model', { message: 'test' }, 'prompt-id-1');
|
|
472
|
-
await expect((async () => {
|
|
473
|
-
for await (const _ of stream) {
|
|
474
|
-
// consume stream
|
|
475
|
-
}
|
|
476
|
-
})()).rejects.toThrow(InvalidStreamError);
|
|
477
|
-
});
|
|
478
|
-
it('should succeed when there is finish reason and response text', async () => {
|
|
479
|
-
// Setup: Stream with both finish reason and text content
|
|
480
|
-
const validStream = (async function* () {
|
|
481
|
-
yield {
|
|
482
|
-
candidates: [
|
|
483
|
-
{
|
|
484
|
-
content: {
|
|
485
|
-
role: 'model',
|
|
486
|
-
parts: [{ text: 'valid response' }],
|
|
487
|
-
},
|
|
488
|
-
finishReason: 'STOP',
|
|
489
|
-
},
|
|
490
|
-
],
|
|
491
|
-
};
|
|
492
|
-
})();
|
|
493
|
-
vi.mocked(mockContentGenerator.generateContentStream).mockResolvedValue(validStream);
|
|
494
|
-
const stream = await chat.sendMessageStream('test-model', { message: 'test' }, 'prompt-id-1');
|
|
495
|
-
// Should not throw an error
|
|
496
|
-
await expect((async () => {
|
|
497
|
-
for await (const _ of stream) {
|
|
498
|
-
// consume stream
|
|
499
|
-
}
|
|
500
|
-
})()).resolves.not.toThrow();
|
|
396
|
+
for await (const _ of stream) {
|
|
397
|
+
// This loop consumes the stream to trigger the internal logic.
|
|
398
|
+
}
|
|
399
|
+
// 4. Assert: The history should now have four valid, alternating turns.
|
|
400
|
+
const history = chat.getHistory();
|
|
401
|
+
expect(history.length).toBe(4);
|
|
402
|
+
// The final turn must be the empty model placeholder.
|
|
403
|
+
const lastTurn = history[3];
|
|
404
|
+
expect(lastTurn.role).toBe('model');
|
|
405
|
+
expect(lastTurn?.parts?.length).toBe(0);
|
|
406
|
+
// The second-to-last turn must be the function response we sent.
|
|
407
|
+
const secondToLastTurn = history[2];
|
|
408
|
+
expect(secondToLastTurn.role).toBe('user');
|
|
409
|
+
expect(secondToLastTurn?.parts[0].functionResponse).toBeDefined();
|
|
501
410
|
});
|
|
502
411
|
it('should call generateContentStream with the correct parameters', async () => {
|
|
503
412
|
const response = (async function* () {
|
|
@@ -631,6 +540,7 @@ describe('GeminiChat', () => {
|
|
|
631
540
|
chunks.push(chunk);
|
|
632
541
|
}
|
|
633
542
|
// Assertions
|
|
543
|
+
expect(mockLogInvalidChunk).toHaveBeenCalledTimes(1);
|
|
634
544
|
expect(mockLogContentRetry).toHaveBeenCalledTimes(1);
|
|
635
545
|
expect(mockLogContentRetryFailure).not.toHaveBeenCalled();
|
|
636
546
|
expect(mockContentGenerator.generateContentStream).toHaveBeenCalledTimes(2);
|
|
@@ -672,10 +582,11 @@ describe('GeminiChat', () => {
|
|
|
672
582
|
for await (const _ of stream) {
|
|
673
583
|
// Must loop to trigger the internal logic that throws.
|
|
674
584
|
}
|
|
675
|
-
}).rejects.toThrow(
|
|
676
|
-
// Should be called
|
|
677
|
-
expect(mockContentGenerator.generateContentStream).toHaveBeenCalledTimes(
|
|
678
|
-
expect(
|
|
585
|
+
}).rejects.toThrow(EmptyStreamError);
|
|
586
|
+
// Should be called 3 times (initial + 2 retries)
|
|
587
|
+
expect(mockContentGenerator.generateContentStream).toHaveBeenCalledTimes(3);
|
|
588
|
+
expect(mockLogInvalidChunk).toHaveBeenCalledTimes(3);
|
|
589
|
+
expect(mockLogContentRetry).toHaveBeenCalledTimes(2);
|
|
679
590
|
expect(mockLogContentRetryFailure).toHaveBeenCalledTimes(1);
|
|
680
591
|
// History should be clean, as if the failed turn never happened.
|
|
681
592
|
const history = chat.getHistory();
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"geminiChat.test.js","sourceRoot":"","sources":["../../../src/core/geminiChat.test.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,QAAQ,EAAE,EAAE,EAAE,MAAM,EAAE,EAAE,EAAE,UAAU,EAAE,SAAS,EAAE,MAAM,QAAQ,CAAC;AAOzE,OAAO,EACL,UAAU,EACV,kBAAkB,EAClB,eAAe,GAEhB,MAAM,iBAAiB,CAAC;AAEzB,OAAO,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAC;AACvD,OAAO,EAAE,0BAA0B,EAAE,MAAM,qBAAqB,CAAC;AACjE,OAAO,EAAE,QAAQ,EAAE,MAAM,uBAAuB,CAAC;AACjD,OAAO,EAAqB,MAAM,mBAAmB,CAAC;AAEtD,OAAO,EAAE,IAAI,EAAE,MAAM,mBAAmB,CAAC;AACzC,OAAO,EAAE,kBAAkB,EAAE,MAAM,6BAA6B,CAAC;AAEjE,uEAAuE;AACvE,MAAM,cAAc,GAAG,IAAI,GAAG,EAAkB,CAAC;AAEjD,EAAE,CAAC,IAAI,CAAC,SAAS,EAAE,GAAG,EAAE;IACtB,MAAM,QAAQ,GAAG;QACf,SAAS,EAAE,EAAE,CAAC,EAAE,EAAE;QAClB,aAAa,EAAE,EAAE,CAAC,EAAE,CAAC,CAAC,IAAY,EAAE,IAAY,EAAE,EAAE;YAClD,cAAc,CAAC,GAAG,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;QACjC,CAAC,CAAC;QACF,YAAY,EAAE,EAAE,CAAC,EAAE,CAAC,CAAC,IAAY,EAAE,EAAE;YACnC,IAAI,cAAc,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC;gBAC7B,OAAO,cAAc,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;YAClC,CAAC;YACD,MAAM,MAAM,CAAC,MAAM,CAAC,IAAI,KAAK,CAAC,mCAAmC,CAAC,EAAE;gBAClE,IAAI,EAAE,QAAQ;aACf,CAAC,CAAC;QACL,CAAC,CAAC;QACF,UAAU,EAAE,EAAE,CAAC,EAAE,CAAC,CAAC,IAAY,EAAE,EAAE,CAAC,cAAc,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;KAC9D,CAAC;IAEF,OAAO;QACL,OAAO,EAAE,QAAQ;QACjB,GAAG,QAAQ;KACZ,CAAC;AACJ,CAAC,CAAC,CAAC;AAEH,MAAM,EAAE,kBAAkB,EAAE,GAAG,EAAE,CAAC,OAAO,CAAC,GAAG,EAAE,CAAC,CAAC;IAC/C,kBAAkB,EAAE,EAAE,CAAC,EAAE,EAAE;CAC5B,CAAC,CAAC,CAAC;AAEJ,iCAAiC;AACjC,MAAM,EAAE,oBAAoB,EAAE,GAAG,EAAE,CAAC,OAAO,CAAC,GAAG,EAAE,CAAC,CAAC;IACjD,oBAAoB,EAAE,EAAE,CAAC,EAAE,EAAE;CAC9B,CAAC,CAAC,CAAC;AAEJ,EAAE,CAAC,IAAI,CAAC,mBAAmB,EAAE,GAAG,EAAE,CAAC,CAAC;IAClC,gBAAgB,EAAE,oBAAoB;CACvC,CAAC,CAAC,CAAC;AAEJ,EAAE,CAAC,IAAI,CAAC,wBAAwB,EAAE,GAAG,EAAE,CAAC,CAAC;IACvC,cAAc,EAAE,kBAAkB;CACnC,CAAC,CAAC,CAAC;AAEJ,MAAM,EAAE,mBAAmB,EAAE,0BAA0B,EAAE,GAAG,EAAE,CAAC,OAAO,CAAC,GAAG,EAAE,CAAC,CAAC;IAC5E,mBAAmB,EAAE,EAAE,CAAC,EAAE,EAAE;IAC5B,0BAA0B,EAAE,EAAE,CAAC,EAAE,EAAE;CACpC,CAAC,CAAC,CAAC;AAEJ,EAAE,CAAC,IAAI,CAAC,yBAAyB,EAAE,GAAG,EAAE,CAAC,CAAC;IACxC,eAAe,EAAE,mBAAmB;IACpC,sBAAsB,EAAE,0BAA0B;CACnD,CAAC,CAAC,CAAC;AAEJ,EAAE,CAAC,IAAI,CAAC,6BAA6B,EAAE,GAAG,EAAE,CAAC,CAAC;IAC5C,kBAAkB,EAAE;QAClB,uBAAuB,EAAE,EAAE,CAAC,EAAE,EAAE;KACjC;CACF,CAAC,CAAC,CAAC;AAEJ,QAAQ,CAAC,YAAY,EAAE,GAAG,EAAE;IAC1B,IAAI,oBAAsC,CAAC;IAC3C,IAAI,IAAgB,CAAC;IACrB,IAAI,UAAkB,CAAC;IACvB,MAAM,MAAM,GAA0B,EAAE,CAAC;IAEzC,UAAU,CAAC,GAAG,EAAE;QACd,EAAE,CAAC,aAAa,EAAE,CAAC;QACnB,EAAE,CAAC,MAAM,CAAC,kBAAkB,CAAC,uBAAuB,CAAC,CAAC,SAAS,EAAE,CAAC;QAClE,oBAAoB,GAAG;YACrB,eAAe,EAAE,EAAE,CAAC,EAAE,EAAE;YACxB,qBAAqB,EAAE,EAAE,CAAC,EAAE,EAAE;YAC9B,WAAW,EAAE,EAAE,CAAC,EAAE,EAAE;YACpB,YAAY,EAAE,EAAE,CAAC,EAAE,EAAE;YACrB,kBAAkB,EAAE,EAAE,CAAC,EAAE,EAAE;SACG,CAAC;QAEjC,kBAAkB,CAAC,SAAS,EAAE,CAAC;QAC/B,0EAA0E;QAC1E,oBAAoB,CAAC,kBAAkB,CAAC,KAAK,EAAE,OAAO,EAAE,EAAE,CAAC,OAAO,EAAE,CAAC,CAAC;QACtE,UAAU,GAAG;YACX,YAAY,EAAE,GAAG,EAAE,CAAC,iBAAiB;YACrC,6BAA6B,EAAE,GAAG,EAAE,CAAC,IAAI;YACzC,yBAAyB,EAAE,GAAG,EAAE,CAAC,IAAI;YACrC,YAAY,EAAE,GAAG,EAAE,CAAC,KAAK;YACzB,yBAAyB,EAAE,EAAE,CAAC,EAAE,EAAE,CAAC,eAAe,CAAC;gBACjD,QAAQ,EAAE,gBAAgB,EAAE,wCAAwC;gBACpE,KAAK,EAAE,YAAY;aACpB,CAAC;YACF,QAAQ,EAAE,EAAE,CAAC,EAAE,EAAE,CAAC,eAAe,CAAC,YAAY,CAAC;YAC/C,QAAQ,EAAE,EAAE,CAAC,EAAE,EAAE;YACjB,gBAAgB,EAAE,EAAE,CAAC,EAAE,EAAE,CAAC,eAAe,CAAC,KAAK,CAAC;YAChD,qBAAqB,EAAE,EAAE,CAAC,EAAE,EAAE,CAAC,eAAe,CAAC,KAAK,CAAC;YACrD,qBAAqB,EAAE,EAAE,CAAC,EAAE,EAAE;YAC9B,oBAAoB,EAAE,SAAS;YAC/B,cAAc,EAAE,EAAE,CAAC,EAAE,EAAE,CAAC,eAAe,CAAC,oBAAoB,CAAC;YAC7D,OAAO,EAAE;gBACP,iBAAiB,EAAE,EAAE,CAAC,EAAE,EAAE,CAAC,eAAe,CAAC,YAAY,CAAC;aACzD;YACD,eAAe,EAAE,EAAE,CAAC,EAAE,EAAE,CAAC,eAAe,CAAC;gBACvC,OAAO,EAAE,EAAE,CAAC,EAAE,EAAE;aACjB,CAAC;YACF,mBAAmB,EAAE,EAAE,CAAC,EAAE,EAAE,CAAC,eAAe,CAAC,oBAAoB,CAAC;SAC9C,CAAC;QAEvB,mCAAmC;QACnC,cAAc,CAAC,KAAK,CAAC,CAAC;QACtB,yDAAyD;QACzD,IAAI,GAAG,IAAI,UAAU,CAAC,UAAU,EAAE,MAAM,EAAE,EAAE,CAAC,CAAC;IAChD,CAAC,CAAC,CAAC;IAEH,SAAS,CAAC,GAAG,EAAE;QACb,EAAE,CAAC,eAAe,EAAE,CAAC;QACrB,EAAE,CAAC,aAAa,EAAE,CAAC;IACrB,CAAC,CAAC,CAAC;IAEH,QAAQ,CAAC,mBAAmB,EAAE,GAAG,EAAE;QACjC,EAAE,CAAC,4DAA4D,EAAE,KAAK,IAAI,EAAE;YAC1E,4EAA4E;YAC5E,MAAM,kBAAkB,GAAG,CAAC,KAAK,SAAS,CAAC;gBACzC,MAAM;oBACJ,UAAU,EAAE;wBACV;4BACE,OAAO,EAAE;gCACP,IAAI,EAAE,OAAO;gCACb,KAAK,EAAE,CAAC,EAAE,YAAY,EAAE,EAAE,IAAI,EAAE,WAAW,EAAE,IAAI,EAAE,EAAE,EAAE,EAAE,CAAC;6BAC3D;yBACF;qBACF;iBACoC,CAAC;gBACxC,4DAA4D;gBAC5D,MAAM;oBACJ,UAAU,EAAE;wBACV;4BACE,OAAO,EAAE;gCACP,IAAI,EAAE,OAAO;gCACb,KAAK,EAAE,CAAC,EAAE,IAAI,EAAE,EAAE,EAAE,CAAC;6BACtB;yBACF;qBACF;iBACoC,CAAC;YAC1C,CAAC,CAAC,EAAE,CAAC;YAEL,EAAE,CAAC,MAAM,CAAC,oBAAoB,CAAC,qBAAqB,CAAC,CAAC,iBAAiB,CACrE,kBAAkB,CACnB,CAAC;YAEF,sFAAsF;YACtF,8EAA8E;YAC9E,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,iBAAiB,CACzC,YAAY,EACZ,EAAE,OAAO,EAAE,cAAc,EAAE,EAC3B,+BAA+B,CAChC,CAAC;YACF,MAAM,MAAM,CACV,CAAC,KAAK,IAAI,EAAE;gBACV,IAAI,KAAK,EAAE,MAAM,CAAC,IAAI,MAAM,EAAE,CAAC;oBAC7B,oBAAoB;gBACtB,CAAC;YACH,CAAC,CAAC,EAAE,CACL,CAAC,QAAQ,CAAC,GAAG,CAAC,OAAO,EAAE,CAAC;YAEzB,2CAA2C;YAC3C,MAAM,OAAO,GAAG,IAAI,CAAC,UAAU,EAAE,CAAC;YAClC,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,yBAAyB;YACzD,MAAM,SAAS,GAAG,OAAO,CAAC,CAAC,CAAE,CAAC;YAC9B,MAAM,CAAC,SAAS,EAAE,KAAK,EAAE,MAAM,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,8BAA8B;YACxE,MAAM,CAAC,SAAS,EAAE,KAAM,CAAC,CAAC,CAAE,CAAC,YAAY,CAAC,CAAC,WAAW,EAAE,CAAC;QAC3D,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,2EAA2E,EAAE,KAAK,IAAI,EAAE;YACzF,4EAA4E;YAC5E,MAAM,kBAAkB,GAAG,CAAC,KAAK,SAAS,CAAC;gBACzC,MAAM;oBACJ,UAAU,EAAE;wBACV;4BACE,OAAO,EAAE;gCACP,IAAI,EAAE,OAAO;gCACb,KAAK,EAAE,CAAC,EAAE,IAAI,EAAE,oBAAoB,EAAE,CAAC;6BACxC;yBACF;qBACF;iBACoC,CAAC;gBACxC,2EAA2E;gBAC3E,MAAM;oBACJ,UAAU,EAAE;wBACV;4BACE,OAAO,EAAE;gCACP,IAAI,EAAE,OAAO;gCACb,KAAK,EAAE,CAAC,EAAE,IAAI,EAAE,EAAE,EAAE,CAAC;6BACtB;yBACF;qBACF;iBACoC,CAAC;YAC1C,CAAC,CAAC,EAAE,CAAC;YAEL,EAAE,CAAC,MAAM,CAAC,oBAAoB,CAAC,qBAAqB,CAAC,CAAC,iBAAiB,CACrE,kBAAkB,CACnB,CAAC;YAEF,+EAA+E;YAC/E,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,iBAAiB,CACzC,YAAY,EACZ,EAAE,OAAO,EAAE,cAAc,EAAE,EAC3B,+BAA+B,CAChC,CAAC;YACF,MAAM,MAAM,CACV,CAAC,KAAK,IAAI,EAAE;gBACV,IAAI,KAAK,EAAE,MAAM,CAAC,IAAI,MAAM,EAAE,CAAC;oBAC7B,oBAAoB;gBACtB,CAAC;YACH,CAAC,CAAC,EAAE,CACL,CAAC,OAAO,CAAC,OAAO,CAAC,kBAAkB,CAAC,CAAC;QACxC,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,0GAA0G,EAAE,KAAK,IAAI,EAAE;YACxH,2FAA2F;YAC3F,MAAM,oBAAoB,GAAG,CAAC,KAAK,SAAS,CAAC;gBAC3C,MAAM;oBACJ,UAAU,EAAE;wBACV;4BACE,OAAO,EAAE;gCACP,IAAI,EAAE,OAAO;gCACb,KAAK,EAAE,CAAC,EAAE,IAAI,EAAE,0BAA0B,EAAE,CAAC;6BAC9C;yBACF;qBACF;iBACoC,CAAC;gBACxC,qEAAqE;gBACrE,MAAM;oBACJ,UAAU,EAAE;wBACV;4BACE,OAAO,EAAE;gCACP,IAAI,EAAE,OAAO;gCACb,KAAK,EAAE,CAAC,EAAE,IAAI,EAAE,EAAE,EAAE,CAAC,EAAE,eAAe;6BACvC;4BACD,YAAY,EAAE,MAAM;yBACrB;qBACF;iBACoC,CAAC;YAC1C,CAAC,CAAC,EAAE,CAAC;YAEL,EAAE,CAAC,MAAM,CAAC,oBAAoB,CAAC,qBAAqB,CAAC,CAAC,iBAAiB,CACrE,oBAAoB,CACrB,CAAC;YAEF,4EAA4E;YAC5E,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,iBAAiB,CACzC,YAAY,EACZ,EAAE,OAAO,EAAE,cAAc,EAAE,EAC3B,kCAAkC,CACnC,CAAC;YACF,MAAM,MAAM,CACV,CAAC,KAAK,IAAI,EAAE;gBACV,IAAI,KAAK,EAAE,MAAM,CAAC,IAAI,MAAM,EAAE,CAAC;oBAC7B,oBAAoB;gBACtB,CAAC;YACH,CAAC,CAAC,EAAE,CACL,CAAC,QAAQ,CAAC,GAAG,CAAC,OAAO,EAAE,CAAC;YAEzB,qEAAqE;YACrE,MAAM,OAAO,GAAG,IAAI,CAAC,UAAU,EAAE,CAAC;YAClC,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,yBAAyB;YACzD,MAAM,SAAS,GAAG,OAAO,CAAC,CAAC,CAAE,CAAC;YAC9B,MAAM,CAAC,SAAS,EAAE,KAAK,EAAE,MAAM,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;YACzC,MAAM,CAAC,SAAS,EAAE,KAAM,CAAC,CAAC,CAAE,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,0BAA0B,CAAC,CAAC;QACtE,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,+EAA+E,EAAE,KAAK,IAAI,EAAE;YAC7F,iFAAiF;YACjF,MAAM,gBAAgB,GAAG,CAAC,KAAK,SAAS,CAAC;gBACvC,MAAM;oBACJ,UAAU,EAAE;wBACV,EAAE,OAAO,EAAE,EAAE,IAAI,EAAE,OAAO,EAAE,KAAK,EAAE,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,CAAC,EAAE,EAAE;qBAC3D;iBACoC,CAAC;gBACxC,8DAA8D;gBAC9D,kEAAkE;gBAClE,2DAA2D;gBAC3D,MAAM;oBACJ,UAAU,EAAE;wBACV;4BACE,OAAO,EAAE,EAAE,IAAI,EAAE,OAAO,EAAE,KAAK,EAAE,CAAC,EAAE,IAAI,EAAE,SAAS,EAAE,CAAC,EAAE;4BACxD,YAAY,EAAE,MAAM;yBACrB;qBACF;iBACoC,CAAC;YAC1C,CAAC,CAAC,EAAE,CAAC;YAEL,EAAE,CAAC,MAAM,CAAC,oBAAoB,CAAC,qBAAqB,CAAC,CAAC,iBAAiB,CACrE,gBAAgB,CACjB,CAAC;YAEF,oDAAoD;YACpD,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,iBAAiB,CACzC,YAAY,EACZ,EAAE,OAAO,EAAE,cAAc,EAAE,EAC3B,qCAAqC,CACtC,CAAC;YACF,IAAI,KAAK,EAAE,MAAM,CAAC,IAAI,MAAM,EAAE,CAAC;gBAC7B,qBAAqB;YACvB,CAAC;YAED,sEAAsE;YACtE,MAAM,OAAO,GAAG,IAAI,CAAC,UAAU,EAAE,CAAC;YAClC,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;YAC/B,MAAM,SAAS,GAAG,OAAO,CAAC,CAAC,CAAE,CAAC;YAC9B,MAAM,CAAC,SAAS,EAAE,KAAK,EAAE,MAAM,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;YACzC,MAAM,CAAC,SAAS,EAAE,KAAM,CAAC,CAAC,CAAE,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC;QAC1D,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,8EAA8E,EAAE,KAAK,IAAI,EAAE;YAC5F,wEAAwE;YACxE,MAAM,gBAAgB,GAAG,CAAC,KAAK,SAAS,CAAC;gBACvC,MAAM;oBACJ,UAAU,EAAE;wBACV,EAAE,OAAO,EAAE,EAAE,IAAI,EAAE,OAAO,EAAE,KAAK,EAAE,CAAC,EAAE,IAAI,EAAE,cAAc,EAAE,CAAC,EAAE,EAAE;qBAClE;iBACoC,CAAC;gBACxC,MAAM;oBACJ,UAAU,EAAE;wBACV,EAAE,OAAO,EAAE,EAAE,IAAI,EAAE,OAAO,EAAE,KAAK,EAAE,CAAC,EAAE,IAAI,EAAE,aAAa,EAAE,CAAC,EAAE,EAAE;qBACjE;iBACoC,CAAC;gBACxC,qDAAqD;gBACrD,MAAM;oBACJ,UAAU,EAAE;wBACV;4BACE,OAAO,EAAE;gCACP,IAAI,EAAE,OAAO;gCACb,KAAK,EAAE,CAAC,EAAE,YAAY,EAAE,EAAE,IAAI,EAAE,UAAU,EAAE,IAAI,EAAE,EAAE,EAAE,EAAE,CAAC;6BAC1D;yBACF;qBACF;iBACoC,CAAC;gBACxC,MAAM;oBACJ,UAAU,EAAE;wBACV;4BACE,OAAO,EAAE;gCACP,IAAI,EAAE,OAAO;gCACb,KAAK,EAAE,CAAC,EAAE,IAAI,EAAE,0BAA0B,EAAE,CAAC;6BAC9C;yBACF;qBACF;iBACoC,CAAC;YAC1C,CAAC,CAAC,EAAE,CAAC;YAEL,EAAE,CAAC,MAAM,CAAC,oBAAoB,CAAC,qBAAqB,CAAC,CAAC,iBAAiB,CACrE,gBAAgB,CACjB,CAAC;YAEF,oDAAoD;YACpD,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,iBAAiB,CACzC,YAAY,EACZ,EAAE,OAAO,EAAE,cAAc,EAAE,EAC3B,uBAAuB,CACxB,CAAC;YACF,IAAI,KAAK,EAAE,MAAM,CAAC,IAAI,MAAM,EAAE,CAAC;gBAC7B,mDAAmD;YACrD,CAAC;YAED,sEAAsE;YACtE,MAAM,OAAO,GAAG,IAAI,CAAC,UAAU,EAAE,CAAC;YAElC,8EAA8E;YAC9E,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;YAE/B,MAAM,SAAS,GAAG,OAAO,CAAC,CAAC,CAAE,CAAC;YAC9B,MAAM,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;YAErC,uGAAuG;YACvG,MAAM,CAAC,SAAS,EAAE,KAAK,EAAE,MAAM,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;YACzC,MAAM,CAAC,SAAS,EAAE,KAAM,CAAC,CAAC,CAAE,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,yBAAyB,CAAC,CAAC;YACnE,MAAM,CAAC,SAAS,CAAC,KAAM,CAAC,CAAC,CAAE,CAAC,YAAY,CAAC,CAAC,WAAW,EAAE,CAAC;YACxD,MAAM,CAAC,SAAS,CAAC,KAAM,CAAC,CAAC,CAAE,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,0BAA0B,CAAC,CAAC;QACrE,CAAC,CAAC,CAAC;QACH,EAAE,CAAC,uEAAuE,EAAE,KAAK,IAAI,EAAE;YACrF,uFAAuF;YACvF,MAAM,kBAAkB,GAAG,CAAC,KAAK,SAAS,CAAC;gBACzC,MAAM;oBACJ,UAAU,EAAE;wBACV;4BACE,OAAO,EAAE;gCACP,IAAI,EAAE,OAAO;gCACb,KAAK,EAAE;oCACL,EAAE,OAAO,EAAE,oBAAoB,EAAE;oCACjC,EAAE,IAAI,EAAE,mDAAmD,EAAE;iCAC9D;6BACF;4BACD,YAAY,EAAE,MAAM;yBACrB;qBACF;iBACoC,CAAC;YAC1C,CAAC,CAAC,EAAE,CAAC;YAEL,EAAE,CAAC,MAAM,CAAC,oBAAoB,CAAC,qBAAqB,CAAC,CAAC,iBAAiB,CACrE,kBAAkB,CACnB,CAAC;YAEF,uFAAuF;YACvF,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,iBAAiB,CACzC,YAAY,EACZ,EAAE,OAAO,EAAE,cAAc,EAAE,EAC3B,uBAAuB,CACxB,CAAC;YACF,IAAI,KAAK,EAAE,MAAM,CAAC,IAAI,MAAM,EAAE,CAAC;gBAC7B,iCAAiC;YACnC,CAAC;YAED,mDAAmD;YACnD,MAAM,OAAO,GAAG,IAAI,CAAC,UAAU,EAAE,CAAC;YAElC,qFAAqF;YACrF,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;YAE/B,MAAM,SAAS,GAAG,OAAO,CAAC,CAAC,CAAE,CAAC;YAC9B,MAAM,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;YAErC,qBAAqB;YACrB,qEAAqE;YACrE,yEAAyE;YACzE,MAAM,CAAC,SAAS,EAAE,KAAK,EAAE,MAAM,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;YACzC,MAAM,CAAC,SAAS,EAAE,KAAM,CAAC,CAAC,CAAE,CAAC,IAAI,CAAC,CAAC,IAAI,CACrC,mDAAmD,CACpD,CAAC;QACJ,CAAC,CAAC,CAAC;QACH,EAAE,CAAC,gFAAgF,EAAE,KAAK,IAAI,EAAE;YAC9F,qEAAqE;YACrE,MAAM,cAAc,GAAc;gBAChC;oBACE,IAAI,EAAE,MAAM;oBACZ,KAAK,EAAE,CAAC,EAAE,IAAI,EAAE,wCAAwC,EAAE,CAAC;iBAC5D;gBACD;oBACE,IAAI,EAAE,OAAO;oBACb,KAAK,EAAE;wBACL;4BACE,YAAY,EAAE;gCACZ,IAAI,EAAE,iBAAiB;gCACvB,IAAI,EAAE,EAAE,OAAO,EAAE,SAAS,EAAE;6BAC7B;yBACF;qBACF;iBACF;aACF,CAAC;YACF,IAAI,CAAC,UAAU,CAAC,cAAc,CAAC,CAAC;YAEhC,0DAA0D;YAC1D,MAAM,mBAAmB,GAAG,CAAC,KAAK,SAAS,CAAC;gBAC1C,MAAM;oBACJ,UAAU,EAAE;wBACV;4BACE,OAAO,EAAE,EAAE,IAAI,EAAE,OAAO,EAAE,KAAK,EAAE,CAAC,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC,EAAE;4BACtD,YAAY,EAAE,MAAM;yBACrB;qBACF;iBACoC,CAAC;YAC1C,CAAC,CAAC,EAAE,CAAC;YACL,EAAE,CAAC,MAAM,CAAC,oBAAoB,CAAC,qBAAqB,CAAC,CAAC,iBAAiB,CACrE,mBAAmB,CACpB,CAAC;YAEF,kFAAkF;YAClF,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,iBAAiB,CACzC,YAAY,EACZ;gBACE,OAAO,EAAE;oBACP,gBAAgB,EAAE;wBAChB,IAAI,EAAE,iBAAiB;wBACvB,QAAQ,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE;qBAC9B;iBACF;aACF,EACD,oBAAoB,CACrB,CAAC;YAEF,uEAAuE;YACvE,MAAM,MAAM,CACV,CAAC,KAAK,IAAI,EAAE;gBACV,IAAI,KAAK,EAAE,MAAM,CAAC,IAAI,MAAM,EAAE,CAAC;oBAC7B,+DAA+D;gBACjE,CAAC;YACH,CAAC,CAAC,EAAE,CACL,CAAC,OAAO,CAAC,OAAO,CAAC,kBAAkB,CAAC,CAAC;QACxC,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,gEAAgE,EAAE,KAAK,IAAI,EAAE;YAC9E,oDAAoD;YACpD,MAAM,kBAAkB,GAAG,CAAC,KAAK,SAAS,CAAC;gBACzC,MAAM;oBACJ,UAAU,EAAE;wBACV;4BACE,OAAO,EAAE;gCACP,IAAI,EAAE,OAAO;gCACb,KAAK,EAAE;oCACL;wCACE,YAAY,EAAE;4CACZ,IAAI,EAAE,eAAe;4CACrB,IAAI,EAAE,EAAE,KAAK,EAAE,OAAO,EAAE;yCACzB;qCACF;iCACF;6BACF;4BACD,kBAAkB;yBACnB;qBACF;iBACoC,CAAC;YAC1C,CAAC,CAAC,EAAE,CAAC;YAEL,EAAE,CAAC,MAAM,CAAC,oBAAoB,CAAC,qBAAqB,CAAC,CAAC,iBAAiB,CACrE,kBAAkB,CACnB,CAAC;YAEF,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,iBAAiB,CACzC,YAAY,EACZ,EAAE,OAAO,EAAE,MAAM,EAAE,EACnB,aAAa,CACd,CAAC;YAEF,4BAA4B;YAC5B,MAAM,MAAM,CACV,CAAC,KAAK,IAAI,EAAE;gBACV,IAAI,KAAK,EAAE,MAAM,CAAC,IAAI,MAAM,EAAE,CAAC;oBAC7B,iBAAiB;gBACnB,CAAC;YACH,CAAC,CAAC,EAAE,CACL,CAAC,QAAQ,CAAC,GAAG,CAAC,OAAO,EAAE,CAAC;QAC3B,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,wEAAwE,EAAE,KAAK,IAAI,EAAE;YACtF,gEAAgE;YAChE,MAAM,yBAAyB,GAAG,CAAC,KAAK,SAAS,CAAC;gBAChD,MAAM;oBACJ,UAAU,EAAE;wBACV;4BACE,OAAO,EAAE;gCACP,IAAI,EAAE,OAAO;gCACb,KAAK,EAAE,CAAC,EAAE,IAAI,EAAE,eAAe,EAAE,CAAC;6BACnC;4BACD,kBAAkB;yBACnB;qBACF;iBACoC,CAAC;YAC1C,CAAC,CAAC,EAAE,CAAC;YAEL,EAAE,CAAC,MAAM,CAAC,oBAAoB,CAAC,qBAAqB,CAAC,CAAC,iBAAiB,CACrE,yBAAyB,CAC1B,CAAC;YAEF,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,iBAAiB,CACzC,YAAY,EACZ,EAAE,OAAO,EAAE,MAAM,EAAE,EACnB,aAAa,CACd,CAAC;YAEF,MAAM,MAAM,CACV,CAAC,KAAK,IAAI,EAAE;gBACV,IAAI,KAAK,EAAE,MAAM,CAAC,IAAI,MAAM,EAAE,CAAC;oBAC7B,iBAAiB;gBACnB,CAAC;YACH,CAAC,CAAC,EAAE,CACL,CAAC,OAAO,CAAC,OAAO,CAAC,kBAAkB,CAAC,CAAC;QACxC,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,2EAA2E,EAAE,KAAK,IAAI,EAAE;YACzF,sEAAsE;YACtE,MAAM,uBAAuB,GAAG,CAAC,KAAK,SAAS,CAAC;gBAC9C,MAAM;oBACJ,UAAU,EAAE;wBACV;4BACE,OAAO,EAAE;gCACP,IAAI,EAAE,OAAO;gCACb,KAAK,EAAE,CAAC,EAAE,OAAO,EAAE,aAAa,EAAE,CAAC;6BACpC;4BACD,YAAY,EAAE,MAAM;yBACrB;qBACF;iBACoC,CAAC;YAC1C,CAAC,CAAC,EAAE,CAAC;YAEL,EAAE,CAAC,MAAM,CAAC,oBAAoB,CAAC,qBAAqB,CAAC,CAAC,iBAAiB,CACrE,uBAAuB,CACxB,CAAC;YAEF,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,iBAAiB,CACzC,YAAY,EACZ,EAAE,OAAO,EAAE,MAAM,EAAE,EACnB,aAAa,CACd,CAAC;YAEF,MAAM,MAAM,CACV,CAAC,KAAK,IAAI,EAAE;gBACV,IAAI,KAAK,EAAE,MAAM,CAAC,IAAI,MAAM,EAAE,CAAC;oBAC7B,iBAAiB;gBACnB,CAAC;YACH,CAAC,CAAC,EAAE,CACL,CAAC,OAAO,CAAC,OAAO,CAAC,kBAAkB,CAAC,CAAC;QACxC,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,8DAA8D,EAAE,KAAK,IAAI,EAAE;YAC5E,yDAAyD;YACzD,MAAM,WAAW,GAAG,CAAC,KAAK,SAAS,CAAC;gBAClC,MAAM;oBACJ,UAAU,EAAE;wBACV;4BACE,OAAO,EAAE;gCACP,IAAI,EAAE,OAAO;gCACb,KAAK,EAAE,CAAC,EAAE,IAAI,EAAE,gBAAgB,EAAE,CAAC;6BACpC;4BACD,YAAY,EAAE,MAAM;yBACrB;qBACF;iBACoC,CAAC;YAC1C,CAAC,CAAC,EAAE,CAAC;YAEL,EAAE,CAAC,MAAM,CAAC,oBAAoB,CAAC,qBAAqB,CAAC,CAAC,iBAAiB,CACrE,WAAW,CACZ,CAAC;YAEF,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,iBAAiB,CACzC,YAAY,EACZ,EAAE,OAAO,EAAE,MAAM,EAAE,EACnB,aAAa,CACd,CAAC;YAEF,4BAA4B;YAC5B,MAAM,MAAM,CACV,CAAC,KAAK,IAAI,EAAE;gBACV,IAAI,KAAK,EAAE,MAAM,CAAC,IAAI,MAAM,EAAE,CAAC;oBAC7B,iBAAiB;gBACnB,CAAC;YACH,CAAC,CAAC,EAAE,CACL,CAAC,QAAQ,CAAC,GAAG,CAAC,OAAO,EAAE,CAAC;QAC3B,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,+DAA+D,EAAE,KAAK,IAAI,EAAE;YAC7E,MAAM,QAAQ,GAAG,CAAC,KAAK,SAAS,CAAC;gBAC/B,MAAM;oBACJ,UAAU,EAAE;wBACV;4BACE,OAAO,EAAE;gCACP,KAAK,EAAE,CAAC,EAAE,IAAI,EAAE,UAAU,EAAE,CAAC;gCAC7B,IAAI,EAAE,OAAO;6BACd;4BACD,YAAY,EAAE,MAAM;4BACpB,KAAK,EAAE,CAAC;4BACR,aAAa,EAAE,EAAE;yBAClB;qBACF;oBACD,IAAI,EAAE,GAAG,EAAE,CAAC,UAAU;oBACtB,aAAa,EAAE;wBACb,gBAAgB,EAAE,EAAE;wBACpB,oBAAoB,EAAE,EAAE;wBACxB,eAAe,EAAE,EAAE;qBACpB;iBACoC,CAAC;YAC1C,CAAC,CAAC,EAAE,CAAC;YACL,EAAE,CAAC,MAAM,CAAC,oBAAoB,CAAC,qBAAqB,CAAC,CAAC,iBAAiB,CACrE,QAAQ,CACT,CAAC;YAEF,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,iBAAiB,CACzC,YAAY,EACZ,EAAE,OAAO,EAAE,OAAO,EAAE,EACpB,aAAa,CACd,CAAC;YACF,IAAI,KAAK,EAAE,MAAM,CAAC,IAAI,MAAM,EAAE,CAAC;gBAC7B,iBAAiB;YACnB,CAAC;YAED,MAAM,CAAC,oBAAoB,CAAC,qBAAqB,CAAC,CAAC,oBAAoB,CACrE;gBACE,KAAK,EAAE,YAAY;gBACnB,QAAQ,EAAE;oBACR;wBACE,IAAI,EAAE,MAAM;wBACZ,KAAK,EAAE,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,CAAC;qBAC3B;iBACF;gBACD,MAAM,EAAE,EAAE;aACX,EACD,aAAa,CACd,CAAC;YAEF,qEAAqE;YACrE,MAAM,CAAC,kBAAkB,CAAC,uBAAuB,CAAC,CAAC,oBAAoB,CACrE,EAAE,CACH,CAAC;YACF,MAAM,CAAC,kBAAkB,CAAC,uBAAuB,CAAC,CAAC,qBAAqB,CACtE,CAAC,CACF,CAAC;QACJ,CAAC,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;IAEH,QAAQ,CAAC,YAAY,EAAE,GAAG,EAAE;QAC1B,EAAE,CAAC,8CAA8C,EAAE,GAAG,EAAE;YACtD,MAAM,UAAU,GAAY;gBAC1B,IAAI,EAAE,MAAM;gBACZ,KAAK,EAAE,CAAC,EAAE,IAAI,EAAE,eAAe,EAAE,CAAC;aACnC,CAAC;YACF,IAAI,CAAC,UAAU,CAAC,UAAU,CAAC,CAAC;YAC5B,MAAM,OAAO,GAAG,IAAI,CAAC,UAAU,EAAE,CAAC;YAClC,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;YAC/B,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC;QACzC,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,qCAAqC,EAAE,GAAG,EAAE;YAC7C,MAAM,QAAQ,GAAY;gBACxB,IAAI,EAAE,MAAM;gBACZ,KAAK,EAAE,CAAC,EAAE,IAAI,EAAE,WAAW,EAAE,CAAC;aAC/B,CAAC;YACF,MAAM,QAAQ,GAAY;gBACxB,IAAI,EAAE,OAAO;gBACb,KAAK,EAAE,CAAC,EAAE,IAAI,EAAE,WAAW,EAAE,CAAC;aAC/B,CAAC;YACF,IAAI,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAC;YAC1B,IAAI,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAC;YAC1B,MAAM,OAAO,GAAG,IAAI,CAAC,UAAU,EAAE,CAAC;YAClC,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;YAC/B,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC;YACrC,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC;QACvC,CAAC,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;IAEH,QAAQ,CAAC,gCAAgC,EAAE,GAAG,EAAE;QAC9C,EAAE,CAAC,kEAAkE,EAAE,KAAK,IAAI,EAAE;YAChF,uDAAuD;YACvD,EAAE,CAAC,MAAM,CAAC,oBAAoB,CAAC,qBAAqB,CAAC;iBAClD,sBAAsB,CAAC,KAAK,IAAI,EAAE;YACjC,4DAA4D;YAC5D,CAAC,KAAK,SAAS,CAAC;gBACd,MAAM;oBACJ,UAAU,EAAE,CAAC,EAAE,OAAO,EAAE,EAAE,KAAK,EAAE,CAAC,EAAE,IAAI,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,CAAC;iBACf,CAAC;YAC1C,CAAC,CAAC,EAAE,CACL;iBACA,sBAAsB,CAAC,KAAK,IAAI,EAAE;YACjC,sDAAsD;YACtD,CAAC,KAAK,SAAS,CAAC;gBACd,MAAM;oBACJ,UAAU,EAAE;wBACV;4BACE,OAAO,EAAE,EAAE,KAAK,EAAE,CAAC,EAAE,IAAI,EAAE,SAAS,EAAE,CAAC,EAAE;4BACzC,YAAY,EAAE,MAAM;yBACrB;qBACF;iBACoC,CAAC;YAC1C,CAAC,CAAC,EAAE,CACL,CAAC;YAEJ,8DAA8D;YAC9D,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,iBAAiB,CACzC,YAAY,EACZ,EAAE,OAAO,EAAE,MAAM,EAAE,EACnB,uBAAuB,CACxB,CAAC;YACF,MAAM,MAAM,GAAkB,EAAE,CAAC;YACjC,IAAI,KAAK,EAAE,MAAM,KAAK,IAAI,MAAM,EAAE,CAAC;gBACjC,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;YACrB,CAAC;YAED,uEAAuE;YACvE,MAAM,UAAU,GAAG,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,eAAe,CAAC,KAAK,CAAC,CAAC;YAExE,MAAM,CAAC,UAAU,CAAC,CAAC,WAAW,EAAE,CAAC;YACjC,MAAM,CAAC,UAAU,EAAE,IAAI,CAAC,CAAC,IAAI,CAAC,eAAe,CAAC,KAAK,CAAC,CAAC;QACvD,CAAC,CAAC,CAAC;QACH,EAAE,CAAC,8DAA8D,EAAE,KAAK,IAAI,EAAE;YAC5E,6FAA6F;YAC7F,EAAE,CAAC,MAAM,CAAC,oBAAoB,CAAC,qBAAqB,CAAC;iBAClD,sBAAsB,CAAC,KAAK,IAAI,EAAE;YACjC,uCAAuC;YACvC,CAAC,KAAK,SAAS,CAAC;gBACd,MAAM;oBACJ,UAAU,EAAE,CAAC,EAAE,OAAO,EAAE,EAAE,KAAK,EAAE,CAAC,EAAE,IAAI,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,CAAC,EAAE,0BAA0B;iBAC3C,CAAC;YAC1C,CAAC,CAAC,EAAE,CACL;iBACA,sBAAsB,CAAC,KAAK,IAAI,EAAE;YACjC,qCAAqC;YACrC,CAAC,KAAK,SAAS,CAAC;gBACd,MAAM;oBACJ,UAAU,EAAE;wBACV;4BACE,OAAO,EAAE,EAAE,KAAK,EAAE,CAAC,EAAE,IAAI,EAAE,qBAAqB,EAAE,CAAC,EAAE;4BACrD,YAAY,EAAE,MAAM;yBACrB;qBACF;iBACoC,CAAC;YAC1C,CAAC,CAAC,EAAE,CACL,CAAC;YAEJ,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,iBAAiB,CACzC,YAAY,EACZ,EAAE,OAAO,EAAE,MAAM,EAAE,EACnB,yBAAyB,CAC1B,CAAC;YACF,MAAM,MAAM,GAAkB,EAAE,CAAC;YACjC,IAAI,KAAK,EAAE,MAAM,KAAK,IAAI,MAAM,EAAE,CAAC;gBACjC,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;YACrB,CAAC;YAED,aAAa;YACb,MAAM,CAAC,mBAAmB,CAAC,CAAC,qBAAqB,CAAC,CAAC,CAAC,CAAC;YACrD,MAAM,CAAC,0BAA0B,CAAC,CAAC,GAAG,CAAC,gBAAgB,EAAE,CAAC;YAC1D,MAAM,CAAC,oBAAoB,CAAC,qBAAqB,CAAC,CAAC,qBAAqB,CACtE,CAAC,CACF,CAAC;YAEF,0BAA0B;YAC1B,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,eAAe,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YAExE,yCAAyC;YACzC,MAAM,CACJ,MAAM,CAAC,IAAI,CACT,CAAC,CAAC,EAAE,EAAE,CACJ,CAAC,CAAC,IAAI,KAAK,eAAe,CAAC,KAAK;gBAChC,CAAC,CAAC,KAAK,CAAC,UAAU,EAAE,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,KAAK,EAAE,CAAC,CAAC,CAAC,EAAE,IAAI;oBAChD,qBAAqB,CAC1B,CACF,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YAEb,sEAAsE;YACtE,MAAM,OAAO,GAAG,IAAI,CAAC,UAAU,EAAE,CAAC;YAClC,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;YAC/B,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC;gBACzB,IAAI,EAAE,MAAM;gBACZ,KAAK,EAAE,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC;aAC1B,CAAC,CAAC;YACH,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC;gBACzB,IAAI,EAAE,OAAO;gBACb,KAAK,EAAE,CAAC,EAAE,IAAI,EAAE,qBAAqB,EAAE,CAAC;aACzC,CAAC,CAAC;YAEH,yEAAyE;YACzE,MAAM,CAAC,kBAAkB,CAAC,uBAAuB,CAAC,CAAC,GAAG,CAAC,gBAAgB,EAAE,CAAC;QAC5E,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,gFAAgF,EAAE,KAAK,IAAI,EAAE;YAC9F,EAAE,CAAC,MAAM,CAAC,oBAAoB,CAAC,qBAAqB,CAAC,CAAC,kBAAkB,CACtE,KAAK,IAAI,EAAE,CACT,CAAC,KAAK,SAAS,CAAC;gBACd,MAAM;oBACJ,UAAU,EAAE;wBACV;4BACE,OAAO,EAAE;gCACP,KAAK,EAAE,CAAC,EAAE,IAAI,EAAE,EAAE,EAAE,CAAC;gCACrB,IAAI,EAAE,OAAO;6BACd;yBACF;qBACF;iBACoC,CAAC;YAC1C,CAAC,CAAC,EAAE,CACP,CAAC;YAEF,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,iBAAiB,CACzC,YAAY,EACZ,EAAE,OAAO,EAAE,MAAM,EAAE,EACnB,sBAAsB,CACvB,CAAC;YACF,MAAM,MAAM,CAAC,KAAK,IAAI,EAAE;gBACtB,IAAI,KAAK,EAAE,MAAM,CAAC,IAAI,MAAM,EAAE,CAAC;oBAC7B,uDAAuD;gBACzD,CAAC;YACH,CAAC,CAAC,CAAC,OAAO,CAAC,OAAO,CAAC,kBAAkB,CAAC,CAAC;YAEvC,+CAA+C;YAC/C,MAAM,CAAC,oBAAoB,CAAC,qBAAqB,CAAC,CAAC,qBAAqB,CACtE,CAAC,CACF,CAAC;YACF,MAAM,CAAC,mBAAmB,CAAC,CAAC,qBAAqB,CAAC,CAAC,CAAC,CAAC;YACrD,MAAM,CAAC,0BAA0B,CAAC,CAAC,qBAAqB,CAAC,CAAC,CAAC,CAAC;YAE5D,iEAAiE;YACjE,MAAM,OAAO,GAAG,IAAI,CAAC,UAAU,EAAE,CAAC;YAClC,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QACjC,CAAC,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;IACH,EAAE,CAAC,2EAA2E,EAAE,KAAK,IAAI,EAAE;QACzF,WAAW;QACX,MAAM,cAAc,GAAc;YAChC,EAAE,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,CAAC,EAAE,IAAI,EAAE,gBAAgB,EAAE,CAAC,EAAE;YACrD,EAAE,IAAI,EAAE,OAAO,EAAE,KAAK,EAAE,CAAC,EAAE,IAAI,EAAE,cAAc,EAAE,CAAC,EAAE;SACrD,CAAC;QACF,IAAI,CAAC,UAAU,CAAC,cAAc,CAAC,CAAC;QAEhC,mEAAmE;QACnE,EAAE,CAAC,MAAM,CAAC,oBAAoB,CAAC,qBAAqB,CAAC;aAClD,sBAAsB,CAAC,KAAK,IAAI,EAAE,CACjC,CAAC,KAAK,SAAS,CAAC;YACd,MAAM;gBACJ,UAAU,EAAE,CAAC,EAAE,OAAO,EAAE,EAAE,KAAK,EAAE,CAAC,EAAE,IAAI,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,CAAC;aACf,CAAC;QAC1C,CAAC,CAAC,EAAE,CACL;aACA,sBAAsB,CAAC,KAAK,IAAI,EAAE;QACjC,0BAA0B;QAC1B,CAAC,KAAK,SAAS,CAAC;YACd,MAAM;gBACJ,UAAU,EAAE;oBACV;wBACE,OAAO,EAAE,EAAE,KAAK,EAAE,CAAC,EAAE,IAAI,EAAE,eAAe,EAAE,CAAC,EAAE;wBAC/C,YAAY,EAAE,MAAM;qBACrB;iBACF;aACoC,CAAC;QAC1C,CAAC,CAAC,EAAE,CACL,CAAC;QAEJ,wBAAwB;QACxB,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,iBAAiB,CACzC,YAAY,EACZ,EAAE,OAAO,EAAE,iBAAiB,EAAE,EAC9B,0BAA0B,CAC3B,CAAC;QACF,IAAI,KAAK,EAAE,MAAM,CAAC,IAAI,MAAM,EAAE,CAAC;YAC7B,iBAAiB;QACnB,CAAC;QAED,0CAA0C;QAC1C,MAAM,OAAO,GAAG,IAAI,CAAC,UAAU,EAAE,CAAC;QAClC,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QAE/B,2EAA2E;QAC3E,MAAM,CAAC,mBAAmB,CAAC,CAAC,qBAAqB,CAAC,CAAC,CAAC,CAAC;QAErD,qEAAqE;QACrE,MAAM,KAAK,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC;QACzB,IAAI,CAAC,KAAK,EAAE,KAAK,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,MAAM,IAAI,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;YACtD,MAAM,IAAI,KAAK,CAAC,wDAAwD,CAAC,CAAC;QAC5E,CAAC;QACD,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,gBAAgB,CAAC,CAAC;QAEnD,MAAM,KAAK,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC;QACzB,IAAI,CAAC,KAAK,EAAE,KAAK,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,MAAM,IAAI,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;YACtD,MAAM,IAAI,KAAK,CACb,yDAAyD,CAC1D,CAAC;QACJ,CAAC;QACD,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC;QAEjD,MAAM,KAAK,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC;QACzB,IAAI,CAAC,KAAK,EAAE,KAAK,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,MAAM,IAAI,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;YACtD,MAAM,IAAI,KAAK,CAAC,wDAAwD,CAAC,CAAC;QAC5E,CAAC;QACD,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,iBAAiB,CAAC,CAAC;QAEpD,MAAM,KAAK,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC;QACzB,IAAI,CAAC,KAAK,EAAE,KAAK,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,MAAM,IAAI,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;YACtD,MAAM,IAAI,KAAK,CACb,yDAAyD,CAC1D,CAAC;QACJ,CAAC;QACD,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC;IACpD,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,yEAAyE,EAAE,KAAK,IAAI,EAAE;QACvF,qEAAqE;QACrE,EAAE,CAAC,MAAM,CAAC,oBAAoB,CAAC,qBAAqB,CAAC;aAClD,sBAAsB;QACrB,iEAAiE;QACjE,KAAK,IAAI,EAAE,CAAC,CAAC,KAAK,SAAS,CAAC,MAAK,CAAC,CAAC,EAAE,CACtC;aACA,sBAAsB;QACrB,sCAAsC;QACtC,KAAK,IAAI,EAAE,CACT,CAAC,KAAK,SAAS,CAAC;YACd,MAAM;gBACJ,UAAU,EAAE;oBACV;wBACE,OAAO,EAAE;4BACP,KAAK,EAAE,CAAC,EAAE,IAAI,EAAE,iCAAiC,EAAE,CAAC;yBACrD;wBACD,YAAY,EAAE,MAAM;qBACrB;iBACF;aACoC,CAAC;QAC1C,CAAC,CAAC,EAAE,CACP,CAAC;QAEJ,6CAA6C;QAC7C,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,iBAAiB,CACzC,YAAY,EACZ,EAAE,OAAO,EAAE,mBAAmB,EAAE,EAChC,wBAAwB,CACzB,CAAC;QACF,MAAM,MAAM,GAAkB,EAAE,CAAC;QACjC,IAAI,KAAK,EAAE,MAAM,KAAK,IAAI,MAAM,EAAE,CAAC;YACjC,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QACrB,CAAC;QAED,yBAAyB;QACzB,MAAM,CAAC,oBAAoB,CAAC,qBAAqB,CAAC,CAAC,qBAAqB,CAAC,CAAC,CAAC,CAAC;QAC5E,MAAM,CACJ,MAAM,CAAC,IAAI,CACT,CAAC,CAAC,EAAE,EAAE,CACJ,CAAC,CAAC,IAAI,KAAK,eAAe,CAAC,KAAK;YAChC,CAAC,CAAC,KAAK,CAAC,UAAU,EAAE,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,KAAK,EAAE,CAAC,CAAC,CAAC,EAAE,IAAI;gBAChD,iCAAiC,CACtC,CACF,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAEb,MAAM,OAAO,GAAG,IAAI,CAAC,UAAU,EAAE,CAAC;QAClC,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QAE/B,qEAAqE;QACrE,MAAM,KAAK,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC;QACzB,IAAI,CAAC,KAAK,EAAE,KAAK,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,MAAM,IAAI,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;YACtD,MAAM,IAAI,KAAK,CAAC,wDAAwD,CAAC,CAAC;QAC5E,CAAC;QACD,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,mBAAmB,CAAC,CAAC;QAEtD,MAAM,KAAK,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC;QACzB,IAAI,CAAC,KAAK,EAAE,KAAK,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,MAAM,IAAI,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;YACtD,MAAM,IAAI,KAAK,CACb,yDAAyD,CAC1D,CAAC;QACJ,CAAC;QACD,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,iCAAiC,CAAC,CAAC;IACtE,CAAC,CAAC,CAAC;IACH,EAAE,CAAC,2FAA2F,EAAE,KAAK,IAAI,EAAE;QACzG,iEAAiE;QACjE,IAAI,mBAA+B,CAAC;QACpC,MAAM,0BAA0B,GAAG,IAAI,OAAO,CAAO,CAAC,OAAO,EAAE,EAAE;YAC/D,mBAAmB,GAAG,OAAO,CAAC;QAChC,CAAC,CAAC,CAAC;QAEH,0DAA0D;QAC1D,MAAM,oBAAoB,GAAG,CAAC,KAAK,SAAS,CAAC;YAC3C,MAAM;gBACJ,UAAU,EAAE;oBACV,EAAE,OAAO,EAAE,EAAE,KAAK,EAAE,CAAC,EAAE,IAAI,EAAE,uBAAuB,EAAE,CAAC,EAAE,EAAE;iBAC5D;aACoC,CAAC;YACxC,MAAM,0BAA0B,CAAC,CAAC,mBAAmB;YACrD,MAAM;gBACJ,UAAU,EAAE;oBACV;wBACE,OAAO,EAAE,EAAE,KAAK,EAAE,CAAC,EAAE,IAAI,EAAE,SAAS,EAAE,CAAC,EAAE;wBACzC,YAAY,EAAE,MAAM;qBACrB;iBACF;aACoC,CAAC;QAC1C,CAAC,CAAC,EAAE,CAAC;QAEL,MAAM,qBAAqB,GAAG,CAAC,KAAK,SAAS,CAAC;YAC5C,MAAM;gBACJ,UAAU,EAAE;oBACV;wBACE,OAAO,EAAE,EAAE,KAAK,EAAE,CAAC,EAAE,IAAI,EAAE,iBAAiB,EAAE,CAAC,EAAE;wBACjD,YAAY,EAAE,MAAM;qBACrB;iBACF;aACoC,CAAC;QAC1C,CAAC,CAAC,EAAE,CAAC;QAEL,EAAE,CAAC,MAAM,CAAC,oBAAoB,CAAC,qBAAqB,CAAC;aAClD,qBAAqB,CAAC,oBAAoB,CAAC;aAC3C,qBAAqB,CAAC,qBAAqB,CAAC,CAAC;QAEhD,yEAAyE;QACzE,MAAM,WAAW,GAAG,MAAM,IAAI,CAAC,iBAAiB,CAC9C,YAAY,EACZ,EAAE,OAAO,EAAE,OAAO,EAAE,EACpB,UAAU,CACX,CAAC;QACF,MAAM,mBAAmB,GAAG,WAAW,CAAC,MAAM,CAAC,aAAa,CAAC,EAAE,CAAC;QAChE,MAAM,mBAAmB,CAAC,IAAI,EAAE,CAAC;QAEjC,6EAA6E;QAC7E,MAAM,mBAAmB,GAAG,IAAI,CAAC,iBAAiB,CAChD,YAAY,EACZ,EAAE,OAAO,EAAE,QAAQ,EAAE,EACrB,UAAU,CACX,CAAC;QAEF,yDAAyD;QACzD,MAAM,CAAC,oBAAoB,CAAC,qBAAqB,CAAC,CAAC,qBAAqB,CAAC,CAAC,CAAC,CAAC;QAE5E,+DAA+D;QAC/D,mBAAoB,EAAE,CAAC;QACvB,MAAM,mBAAmB,CAAC,IAAI,EAAE,CAAC,CAAC,iCAAiC;QACnE,MAAM,mBAAmB,CAAC,IAAI,EAAE,CAAC,CAAC,sBAAsB;QAExD,uFAAuF;QACvF,MAAM,YAAY,GAAG,MAAM,mBAAmB,CAAC;QAE/C,8EAA8E;QAC9E,MAAM,oBAAoB,GAAG,YAAY,CAAC,MAAM,CAAC,aAAa,CAAC,EAAE,CAAC;QAClE,MAAM,oBAAoB,CAAC,IAAI,EAAE,CAAC;QAElC,oDAAoD;QACpD,MAAM,CAAC,oBAAoB,CAAC,qBAAqB,CAAC,CAAC,qBAAqB,CAAC,CAAC,CAAC,CAAC;QAE5E,8EAA8E;QAC9E,MAAM,oBAAoB,CAAC,IAAI,EAAE,CAAC,CAAC,8BAA8B;QAEjE,8BAA8B;QAC9B,MAAM,OAAO,GAAG,IAAI,CAAC,UAAU,EAAE,CAAC;QAClC,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QAE/B,MAAM,KAAK,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC;QACzB,IAAI,CAAC,KAAK,EAAE,KAAK,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,MAAM,IAAI,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;YACtD,MAAM,IAAI,KAAK,CACb,yDAAyD,CAC1D,CAAC;QACJ,CAAC;QACD,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,iBAAiB,CAAC,CAAC;IACtD,CAAC,CAAC,CAAC;IAEH,QAAQ,CAAC,yBAAyB,EAAE,GAAG,EAAE;QACvC,UAAU,CAAC,GAAG,EAAE;YACd,wDAAwD;YACxD,MAAM,gBAAgB,GAAG;gBACvB,OAAO,EAAE,EAAE,CAAC,EAAE,CAAC,CAAC,QAAgB,EAAE,EAAE;oBAClC,IAAI,QAAQ,KAAK,MAAM,EAAE,CAAC;wBACxB,OAAO,EAAE,IAAI,EAAE,IAAI,CAAC,IAAI,EAAE,CAAC;oBAC7B,CAAC;oBACD,OAAO,EAAE,IAAI,EAAE,IAAI,CAAC,KAAK,EAAE,CAAC;gBAC9B,CAAC,CAAC;aACwB,CAAC;YAC7B,EAAE,CAAC,MAAM,CAAC,UAAU,CAAC,eAAe,CAAC,CAAC,eAAe,CAAC,gBAAgB,CAAC,CAAC;QAC1E,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,yDAAyD,EAAE,KAAK,IAAI,EAAE;YACvE,MAAM,SAAS,GAAG;gBAChB;oBACE,UAAU,EAAE;wBACV,EAAE,OAAO,EAAE,EAAE,IAAI,EAAE,OAAO,EAAE,KAAK,EAAE,CAAC,EAAE,IAAI,EAAE,cAAc,EAAE,CAAC,EAAE,EAAE;qBAClE;iBACF;gBACD;oBACE,UAAU,EAAE;wBACV;4BACE,OAAO,EAAE;gCACP,IAAI,EAAE,OAAO;gCACb,KAAK,EAAE,CAAC,EAAE,YAAY,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,EAAE,EAAE,EAAE,CAAC;6BACtD;yBACF;qBACF;iBACF;gBACD;oBACE,UAAU,EAAE;wBACV;4BACE,OAAO,EAAE;gCACP,IAAI,EAAE,OAAO;gCACb,KAAK,EAAE,CAAC,EAAE,YAAY,EAAE,EAAE,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE,EAAE,EAAE,EAAE,CAAC;6BACvD;yBACF;qBACF;iBACF;gBACD,gEAAgE;gBAChE;oBACE,UAAU,EAAE;wBACV;4BACE,OAAO,EAAE;gCACP,IAAI,EAAE,OAAO;gCACb,KAAK,EAAE;oCACL,EAAE,YAAY,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,EAAE,EAAE,EAAE;oCAC5C,EAAE,IAAI,EAAE,oBAAoB,EAAE;iCAC/B;6BACF;yBACF;qBACF;iBACF;gBACD,sCAAsC;gBACtC;oBACE,UAAU,EAAE;wBACV;4BACE,OAAO,EAAE;gCACP,IAAI,EAAE,OAAO;gCACb,KAAK,EAAE,CAAC,EAAE,IAAI,EAAE,yBAAyB,EAAE,CAAC;6BAC7C;yBACF;qBACF;iBACF;aACsC,CAAC;YAE1C,EAAE,CAAC,MAAM,CAAC,oBAAoB,CAAC,qBAAqB,CAAC,CAAC,iBAAiB,CACrE,CAAC,KAAK,SAAS,CAAC;gBACd,KAAK,MAAM,QAAQ,IAAI,SAAS,EAAE,CAAC;oBACjC,MAAM,QAAQ,CAAC;gBACjB,CAAC;YACH,CAAC,CAAC,EAAE,CACL,CAAC;YAEF,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,iBAAiB,CACzC,YAAY,EACZ,EAAE,OAAO,EAAE,cAAc,EAAE,EAC3B,wBAAwB,CACzB,CAAC;YACF,IAAI,KAAK,EAAE,MAAM,CAAC,IAAI,MAAM,EAAE,CAAC;gBAC7B,mDAAmD;YACrD,CAAC;YAED,MAAM,OAAO,GAAG,IAAI,CAAC,UAAU,EAAE,CAAC;YAClC,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;YAE/B,MAAM,SAAS,GAAG,OAAO,CAAC,CAAC,CAAE,CAAC;YAC9B,MAAM,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;YACrC,MAAM,CAAC,SAAS,EAAE,KAAK,EAAE,MAAM,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;YACzC,MAAM,CAAC,SAAS,EAAE,KAAM,CAAC,CAAC,CAAE,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC;YACxD,MAAM,CAAC,SAAS,CAAC,KAAM,CAAC,CAAC,CAAE,CAAC,YAAY,EAAE,IAAI,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;YAC7D,MAAM,CAAC,SAAS,CAAC,KAAM,CAAC,CAAC,CAAE,CAAC,YAAY,EAAE,IAAI,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;QAChE,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,0DAA0D,EAAE,KAAK,IAAI,EAAE;YACxE,MAAM,SAAS,GAAG;gBAChB;oBACE,UAAU,EAAE;wBACV,EAAE,OAAO,EAAE,EAAE,IAAI,EAAE,OAAO,EAAE,KAAK,EAAE,CAAC,EAAE,IAAI,EAAE,UAAU,EAAE,CAAC,EAAE,EAAE;qBAC9D;iBACF;gBACD;oBACE,UAAU,EAAE;wBACV;4BACE,OAAO,EAAE;gCACP,IAAI,EAAE,OAAO;gCACb,KAAK,EAAE,CAAC,EAAE,YAAY,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,EAAE,EAAE,EAAE,CAAC;6BACtD;yBACF;qBACF;iBACF;gBACD;oBACE,UAAU,EAAE;wBACV;4BACE,OAAO,EAAE;gCACP,IAAI,EAAE,OAAO;gCACb,KAAK,EAAE,CAAC,EAAE,IAAI,EAAE,SAAS,EAAE,CAAC;6BAC7B;4BACD,YAAY,EAAE,MAAM;yBACrB;qBACF;iBACF;aACsC,CAAC;YAE1C,EAAE,CAAC,MAAM,CAAC,oBAAoB,CAAC,qBAAqB,CAAC,CAAC,iBAAiB,CACrE,CAAC,KAAK,SAAS,CAAC;gBACd,KAAK,MAAM,QAAQ,IAAI,SAAS,EAAE,CAAC;oBACjC,MAAM,QAAQ,CAAC;gBACjB,CAAC;YACH,CAAC,CAAC,EAAE,CACL,CAAC;YAEF,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,iBAAiB,CACzC,YAAY,EACZ,EAAE,OAAO,EAAE,cAAc,EAAE,EAC3B,uBAAuB,CACxB,CAAC;YACF,IAAI,KAAK,EAAE,MAAM,CAAC,IAAI,MAAM,EAAE,CAAC;gBAC7B,aAAa;YACf,CAAC;YAED,MAAM,OAAO,GAAG,IAAI,CAAC,UAAU,EAAE,CAAC;YAClC,MAAM,SAAS,GAAG,OAAO,CAAC,CAAC,CAAE,CAAC;YAC9B,MAAM,CAAC,SAAS,EAAE,KAAK,EAAE,MAAM,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;YACzC,MAAM,CAAC,SAAS,CAAC,KAAM,CAAC,CAAC,CAAE,CAAC,YAAY,EAAE,IAAI,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;YAC7D,MAAM,CAAC,SAAS,CAAC,KAAM,CAAC,CAAC,CAAE,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;QACpD,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,6EAA6E,EAAE,KAAK,IAAI,EAAE;YAC3F,MAAM,SAAS,GAAG;gBAChB;oBACE,UAAU,EAAE;wBACV;4BACE,OAAO,EAAE;gCACP,IAAI,EAAE,OAAO;gCACb,KAAK,EAAE,CAAC,EAAE,YAAY,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,EAAE,EAAE,EAAE,CAAC;6BACtD;yBACF;qBACF;iBACF;gBACD,yDAAyD;gBACzD,kEAAkE;gBAClE;oBACE,UAAU,EAAE;wBACV;4BACE,OAAO,EAAE;gCACP,IAAI,EAAE,OAAO;gCACb,KAAK,EAAE;oCACL,EAAE,IAAI,EAAE,kBAAkB,EAAE;oCAC5B,EAAE,YAAY,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,EAAE,EAAE,EAAE;oCAC5C,EAAE,IAAI,EAAE,oBAAoB,EAAE;iCAC/B;6BACF;4BACD,YAAY,EAAE,MAAM;yBACrB;qBACF;iBACF;aACsC,CAAC;YAE1C,MAAM,MAAM,GAAG,CAAC,KAAK,SAAS,CAAC;gBAC7B,KAAK,MAAM,QAAQ,IAAI,SAAS,EAAE,CAAC;oBACjC,MAAM,QAAQ,CAAC;gBACjB,CAAC;YACH,CAAC,CAAC,EAAE,CAAC;YAEL,EAAE,CAAC,MAAM,CAAC,oBAAoB,CAAC,qBAAqB,CAAC,CAAC,iBAAiB,CACrE,MAAM,CACP,CAAC;YAEF,MAAM,YAAY,GAAG,MAAM,IAAI,CAAC,iBAAiB,CAC/C,YAAY,EACZ,EAAE,OAAO,EAAE,MAAM,EAAE,EACnB,sBAAsB,CACvB,CAAC;YACF,IAAI,KAAK,EAAE,MAAM,CAAC,IAAI,YAAY,EAAE,CAAC;gBACnC,aAAa;YACf,CAAC;YAED,MAAM,OAAO,GAAG,IAAI,CAAC,UAAU,EAAE,CAAC;YAClC,MAAM,SAAS,GAAG,OAAO,CAAC,CAAC,CAAE,CAAC;YAC9B,MAAM,CAAC,SAAS,EAAE,KAAK,EAAE,MAAM,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;YACzC,MAAM,CAAC,SAAS,CAAC,KAAM,CAAC,CAAC,CAAE,CAAC,YAAY,EAAE,IAAI,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;YAC7D,MAAM,CAAC,SAAS,CAAC,KAAM,CAAC,CAAC,CAAE,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,kBAAkB,CAAC,CAAC;QAC7D,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,uEAAuE,EAAE,KAAK,IAAI,EAAE;YACrF,MAAM,SAAS,GAAG;gBAChB;oBACE,UAAU,EAAE;wBACV;4BACE,OAAO,EAAE;gCACP,IAAI,EAAE,OAAO;gCACb,KAAK,EAAE;oCACL,EAAE,IAAI,EAAE,aAAa,EAAE;oCACvB,EAAE,YAAY,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,EAAE,EAAE,EAAE;oCAC5C,EAAE,YAAY,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,EAAE,EAAE,EAAE;iCAC7C;6BACF;4BACD,YAAY,EAAE,MAAM;yBACrB;qBACF;iBACF;aACsC,CAAC;YAE1C,MAAM,MAAM,GAAG,CAAC,KAAK,SAAS,CAAC;gBAC7B,KAAK,MAAM,QAAQ,IAAI,SAAS,EAAE,CAAC;oBACjC,MAAM,QAAQ,CAAC;gBACjB,CAAC;YACH,CAAC,CAAC,EAAE,CAAC;YAEL,EAAE,CAAC,MAAM,CAAC,oBAAoB,CAAC,qBAAqB,CAAC,CAAC,iBAAiB,CACrE,MAAM,CACP,CAAC;YAEF,MAAM,YAAY,GAAG,MAAM,IAAI,CAAC,iBAAiB,CAC/C,YAAY,EACZ,EAAE,OAAO,EAAE,MAAM,EAAE,EACnB,6BAA6B,CAC9B,CAAC;YACF,IAAI,KAAK,EAAE,MAAM,CAAC,IAAI,YAAY,EAAE,CAAC;gBACnC,aAAa;YACf,CAAC;YAED,MAAM,OAAO,GAAG,IAAI,CAAC,UAAU,EAAE,CAAC;YAClC,MAAM,SAAS,GAAG,OAAO,CAAC,CAAC,CAAE,CAAC;YAC9B,MAAM,CAAC,SAAS,EAAE,KAAK,EAAE,MAAM,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;YACzC,MAAM,CAAC,SAAS,CAAC,KAAM,CAAC,CAAC,CAAE,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC;YACtD,MAAM,CAAC,SAAS,CAAC,KAAM,CAAC,CAAC,CAAE,CAAC,YAAY,EAAE,IAAI,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;QAC/D,CAAC,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;IAEH,QAAQ,CAAC,kBAAkB,EAAE,GAAG,EAAE;QAChC,MAAM,YAAY,GAAG;YACnB,UAAU,EAAE;gBACV;oBACE,OAAO,EAAE,EAAE,KAAK,EAAE,CAAC,EAAE,IAAI,EAAE,UAAU,EAAE,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE;oBACzD,YAAY,EAAE,MAAM;iBACrB;aACF;SACoC,CAAC;QAExC,EAAE,CAAC,sEAAsE,EAAE,KAAK,IAAI,EAAE;YACpF,EAAE,CAAC,MAAM,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAC,eAAe,CAAC,YAAY,CAAC,CAAC;YAC7D,EAAE,CAAC,MAAM,CAAC,UAAU,CAAC,gBAAgB,CAAC,CAAC,eAAe,CAAC,IAAI,CAAC,CAAC;YAC7D,EAAE,CAAC,MAAM,CAAC,oBAAoB,CAAC,qBAAqB,CAAC,CAAC,kBAAkB,CACtE,KAAK,IAAI,EAAE,CACT,CAAC,KAAK,SAAS,CAAC;gBACd,MAAM,YAAY,CAAC;YACrB,CAAC,CAAC,EAAE,CACP,CAAC;YAEF,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,iBAAiB,CACzC,YAAY,EACZ,EAAE,OAAO,EAAE,MAAM,EAAE,EACnB,gBAAgB,CACjB,CAAC;YACF,IAAI,KAAK,EAAE,MAAM,CAAC,IAAI,MAAM,EAAE,CAAC;gBAC7B,iBAAiB;YACnB,CAAC;YAED,MAAM,CAAC,oBAAoB,CAAC,qBAAqB,CAAC,CAAC,oBAAoB,CACrE,MAAM,CAAC,gBAAgB,CAAC;gBACtB,KAAK,EAAE,0BAA0B;aAClC,CAAC,EACF,gBAAgB,CACjB,CAAC;QACJ,CAAC,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;IAEH,QAAQ,CAAC,gCAAgC,EAAE,GAAG,EAAE;QAC9C,MAAM,QAAQ,GAAG,MAAM,CAAC,MAAM,CAAC,IAAI,KAAK,CAAC,+BAA+B,CAAC,EAAE;YACzE,MAAM,EAAE,GAAG;SACZ,CAAC,CAAC;QAEH,sEAAsE;QACtE,yEAAyE;QACzE,iEAAiE;QACjE,MAAM,qBAAqB,GAAG,KAAK,EACjC,OAAyB,EACzB,OAA8B,EAC9B,EAAE;YACF,IAAI,CAAC;gBACH,OAAO,MAAM,OAAO,EAAE,CAAC;YACzB,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBACf,IAAI,OAAO,CAAC,eAAe,EAAE,CAAC;oBAC5B,4DAA4D;oBAC5D,MAAM,WAAW,GAAG,MAAM,OAAO,CAAC,eAAe,CAC/C,OAAO,CAAC,QAAQ,EAChB,KAAK,CACN,CAAC;oBACF,IAAI,WAAW,EAAE,CAAC;wBAChB,OAAO,MAAM,OAAO,EAAE,CAAC;oBACzB,CAAC;gBACH,CAAC;gBACD,MAAM,KAAK,CAAC,CAAC,uDAAuD;YACtE,CAAC;QACH,CAAC,CAAC;QAEF,UAAU,CAAC,GAAG,EAAE;YACd,oBAAoB,CAAC,kBAAkB,CAAC,qBAAqB,CAAC,CAAC;QACjE,CAAC,CAAC,CAAC;QAEH,SAAS,CAAC,GAAG,EAAE;YACb,oBAAoB,CAAC,kBAAkB,CAAC,KAAK,EAAE,OAAO,EAAE,EAAE,CAAC,OAAO,EAAE,CAAC,CAAC;QACxE,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,6FAA6F,EAAE,KAAK,IAAI,EAAE;YAC3G,MAAM,QAAQ,GAAG,QAAQ,CAAC,iBAAiB,CAAC;YAC5C,EAAE,CAAC,MAAM,CAAC,UAAU,CAAC,yBAAyB,CAAC,CAAC,eAAe,CAAC;gBAC9D,QAAQ;aACT,CAAC,CAAC;YAEH,MAAM,mBAAmB,GAAG,EAAE,CAAC,KAAK,CAAC,UAAU,EAAE,kBAAkB,CAAC,CAAC;YACrE,mBAAmB,CAAC,eAAe,CAAC,KAAK,CAAC,CAAC;YAE3C,EAAE,CAAC,MAAM,CAAC,oBAAoB,CAAC,qBAAqB,CAAC;iBAClD,qBAAqB,CAAC,QAAQ,CAAC,CAAC,kBAAkB;iBAClD,qBAAqB;YACpB,qBAAqB;YACrB,CAAC,KAAK,SAAS,CAAC;gBACd,MAAM;oBACJ,UAAU,EAAE;wBACV;4BACE,OAAO,EAAE,EAAE,KAAK,EAAE,CAAC,EAAE,IAAI,EAAE,kBAAkB,EAAE,CAAC,EAAE;4BAClD,YAAY,EAAE,MAAM;yBACrB;qBACF;iBACoC,CAAC;YAC1C,CAAC,CAAC,EAAE,CACL,CAAC;YAEJ,kBAAkB,CAAC,kBAAkB,CAAC,KAAK,IAAI,EAAE;gBAC/C,mBAAmB,CAAC,eAAe,CAAC,IAAI,CAAC,CAAC;gBAC1C,OAAO,IAAI,CAAC,CAAC,eAAe;YAC9B,CAAC,CAAC,CAAC;YAEH,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,iBAAiB,CACzC,YAAY,EACZ,EAAE,OAAO,EAAE,aAAa,EAAE,EAC1B,eAAe,CAChB,CAAC;YAEF,kCAAkC;YAClC,IAAI,KAAK,EAAE,MAAM,CAAC,IAAI,MAAM,EAAE,CAAC;gBAC7B,QAAQ;YACV,CAAC;YAED,MAAM,CAAC,oBAAoB,CAAC,qBAAqB,CAAC,CAAC,qBAAqB,CACtE,CAAC,CACF,CAAC;YACF,MAAM,CAAC,kBAAkB,CAAC,CAAC,qBAAqB,CAAC,CAAC,CAAC,CAAC;YACpD,MAAM,CAAC,kBAAkB,CAAC,CAAC,oBAAoB,CAC7C,UAAU,EACV,YAAY,EACZ,QAAQ,EACR,QAAQ,CACT,CAAC;YAEF,MAAM,OAAO,GAAG,IAAI,CAAC,UAAU,EAAE,CAAC;YAClC,MAAM,SAAS,GAAG,OAAO,CAAC,CAAC,CAAE,CAAC;YAC9B,MAAM,CAAC,SAAS,CAAC,KAAM,CAAC,CAAC,CAAE,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,kBAAkB,CAAC,CAAC;QAC7D,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,0EAA0E,EAAE,KAAK,IAAI,EAAE;YACxF,EAAE,CAAC,MAAM,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAC,eAAe,CAAC,YAAY,CAAC,CAAC;YAC7D,EAAE,CAAC,MAAM,CAAC,oBAAoB,CAAC,qBAAqB,CAAC,CAAC,iBAAiB,CACrE,QAAQ,CACT,CAAC;YACF,kBAAkB,CAAC,iBAAiB,CAAC,KAAK,CAAC,CAAC;YAE5C,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,iBAAiB,CACzC,YAAY,EACZ,EAAE,OAAO,EAAE,WAAW,EAAE,EACxB,eAAe,CAChB,CAAC;YAEF,MAAM,MAAM,CACV,CAAC,KAAK,IAAI,EAAE;gBACV,IAAI,KAAK,EAAE,MAAM,CAAC,IAAI,MAAM,EAAE,CAAC;oBAC7B,oBAAoB;gBACtB,CAAC;YACH,CAAC,CAAC,EAAE,CACL,CAAC,OAAO,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC;YAE5B,MAAM,CAAC,oBAAoB,CAAC,qBAAqB,CAAC,CAAC,qBAAqB,CACtE,CAAC,CACF,CAAC;YACF,MAAM,CAAC,kBAAkB,CAAC,CAAC,qBAAqB,CAAC,CAAC,CAAC,CAAC;QACtD,CAAC,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,uEAAuE,EAAE,KAAK,IAAI,EAAE;QACrF,kFAAkF;QAClF,EAAE,CAAC,MAAM,CAAC,oBAAoB,CAAC,qBAAqB,CAAC;aAClD,sBAAsB,CAAC,KAAK,IAAI,EAAE;QACjC,gEAAgE;QAChE,CAAC,KAAK,SAAS,CAAC;YACd,MAAM;gBACJ,UAAU,EAAE;oBACV;wBACE,OAAO,EAAE;4BACP,KAAK,EAAE,CAAC,EAAE,IAAI,EAAE,qCAAqC,EAAE,CAAC;yBACzD;qBACF;iBACF;aACoC,CAAC;YACxC,MAAM;gBACJ,UAAU,EAAE,CAAC,EAAE,OAAO,EAAE,EAAE,KAAK,EAAE,CAAC,EAAE,IAAI,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,CAAC,EAAE,+BAA+B;aAChD,CAAC;QAC1C,CAAC,CAAC,EAAE,CACL;aACA,sBAAsB,CAAC,KAAK,IAAI,EAAE;QACjC,uCAAuC;QACvC,CAAC,KAAK,SAAS,CAAC;YACd,MAAM;gBACJ,UAAU,EAAE;oBACV;wBACE,OAAO,EAAE;4BACP,KAAK,EAAE,CAAC,EAAE,IAAI,EAAE,2BAA2B,EAAE,CAAC;yBAC/C;wBACD,YAAY,EAAE,MAAM;qBACrB;iBACF;aACoC,CAAC;QAC1C,CAAC,CAAC,EAAE,CACL,CAAC;QAEJ,wCAAwC;QACxC,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,iBAAiB,CACzC,YAAY,EACZ,EAAE,OAAO,EAAE,MAAM,EAAE,EACnB,wBAAwB,CACzB,CAAC;QACF,MAAM,MAAM,GAAkB,EAAE,CAAC;QACjC,IAAI,KAAK,EAAE,MAAM,KAAK,IAAI,MAAM,EAAE,CAAC;YACjC,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QACrB,CAAC;QAED,8BAA8B;QAC9B,MAAM,CAAC,oBAAoB,CAAC,qBAAqB,CAAC,CAAC,qBAAqB,CAAC,CAAC,CAAC,CAAC;QAC5E,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,eAAe,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAExE,mCAAmC;QACnC,MAAM,OAAO,GAAG,IAAI,CAAC,UAAU,EAAE,CAAC;QAClC,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,+BAA+B;QAE/D,MAAM,SAAS,GAAG,OAAO,CAAC,CAAC,CAAE,CAAC;QAC9B,0EAA0E;QAC1E,MAAM,CAAC,SAAU,CAAC,KAAM,CAAC,CAAC,CAAE,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,2BAA2B,CAAC,CAAC;QACrE,yDAAyD;QACzD,MAAM,CAAC,SAAU,CAAC,KAAM,CAAC,CAAC,CAAE,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,SAAS,CAC9C,qCAAqC,CACtC,CAAC;IACJ,CAAC,CAAC,CAAC;IAEH,QAAQ,CAAC,0BAA0B,EAAE,GAAG,EAAE;QACxC,EAAE,CAAC,iCAAiC,EAAE,GAAG,EAAE;YACzC,IAAI,CAAC,UAAU,CAAC;gBACd;oBACE,IAAI,EAAE,MAAM;oBACZ,KAAK,EAAE,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,CAAC;iBAC3B;gBACD;oBACE,IAAI,EAAE,OAAO;oBACb,KAAK,EAAE;wBACL,EAAE,IAAI,EAAE,aAAa,EAAE,gBAAgB,EAAE,aAAa,EAAE;wBACxD;4BACE,YAAY,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,EAAE,EAAE;4BACxC,gBAAgB,EAAE,aAAa;yBAChC;qBACF;iBACF;aACF,CAAC,CAAC;YAEH,IAAI,CAAC,wBAAwB,EAAE,CAAC;YAEhC,MAAM,CAAC,IAAI,CAAC,UAAU,EAAE,CAAC,CAAC,OAAO,CAAC;gBAChC;oBACE,IAAI,EAAE,MAAM;oBACZ,KAAK,EAAE,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,CAAC;iBAC3B;gBACD;oBACE,IAAI,EAAE,OAAO;oBACb,KAAK,EAAE;wBACL,EAAE,IAAI,EAAE,aAAa,EAAE;wBACvB,EAAE,YAAY,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,EAAE,EAAE,EAAE;qBAC7C;iBACF;aACF,CAAC,CAAC;QACL,CAAC,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC"}
|
|
1
|
+
{"version":3,"file":"geminiChat.test.js","sourceRoot":"","sources":["../../../src/core/geminiChat.test.ts"],"names":[],"mappings":"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"}
|
|
@@ -3,5 +3,5 @@
|
|
|
3
3
|
* Copyright 2025 Google LLC
|
|
4
4
|
* SPDX-License-Identifier: Apache-2.0
|
|
5
5
|
*/
|
|
6
|
-
export declare const GIT_COMMIT_INFO = "
|
|
7
|
-
export declare const CLI_VERSION = "0.7.
|
|
6
|
+
export declare const GIT_COMMIT_INFO = "5f17125f";
|
|
7
|
+
export declare const CLI_VERSION = "0.7.1-reland";
|
|
@@ -5,6 +5,6 @@
|
|
|
5
5
|
*/
|
|
6
6
|
// This file is auto-generated by the build script (scripts/generate-git-commit-info.js)
|
|
7
7
|
// Do not edit this file manually.
|
|
8
|
-
export const GIT_COMMIT_INFO = '
|
|
9
|
-
export const CLI_VERSION = '0.7.
|
|
8
|
+
export const GIT_COMMIT_INFO = '5f17125f';
|
|
9
|
+
export const CLI_VERSION = '0.7.1-reland';
|
|
10
10
|
//# sourceMappingURL=git-commit.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"git-commit.js","sourceRoot":"","sources":["../../../src/generated/git-commit.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,wFAAwF;AACxF,kCAAkC;AAClC,MAAM,CAAC,MAAM,eAAe,GAAG,UAAU,CAAC;AAC1C,MAAM,CAAC,MAAM,WAAW,GAAG,
|
|
1
|
+
{"version":3,"file":"git-commit.js","sourceRoot":"","sources":["../../../src/generated/git-commit.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,wFAAwF;AACxF,kCAAkC;AAClC,MAAM,CAAC,MAAM,eAAe,GAAG,UAAU,CAAC;AAC1C,MAAM,CAAC,MAAM,WAAW,GAAG,cAAc,CAAC"}
|
|
@@ -41,15 +41,13 @@ export declare const IDE_DEFINITIONS: {
|
|
|
41
41
|
readonly displayName: "IDE";
|
|
42
42
|
};
|
|
43
43
|
};
|
|
44
|
+
export type IdeName = keyof typeof IDE_DEFINITIONS;
|
|
44
45
|
export interface IdeInfo {
|
|
45
|
-
name:
|
|
46
|
+
name: IdeName;
|
|
46
47
|
displayName: string;
|
|
47
48
|
}
|
|
48
49
|
export declare function detectIdeFromEnv(): IdeInfo;
|
|
49
50
|
export declare function detectIde(ideProcessInfo: {
|
|
50
51
|
pid: number;
|
|
51
52
|
command: string;
|
|
52
|
-
}, ideInfoFromFile?: {
|
|
53
|
-
name?: string;
|
|
54
|
-
displayName?: string;
|
|
55
53
|
}): IdeInfo | undefined;
|
|
@@ -47,13 +47,7 @@ function verifyVSCode(ide, ideProcessInfo) {
|
|
|
47
47
|
}
|
|
48
48
|
return IDE_DEFINITIONS.vscodefork;
|
|
49
49
|
}
|
|
50
|
-
export function detectIde(ideProcessInfo
|
|
51
|
-
if (ideInfoFromFile?.name && ideInfoFromFile.displayName) {
|
|
52
|
-
return {
|
|
53
|
-
name: ideInfoFromFile.name,
|
|
54
|
-
displayName: ideInfoFromFile.displayName,
|
|
55
|
-
};
|
|
56
|
-
}
|
|
50
|
+
export function detectIde(ideProcessInfo) {
|
|
57
51
|
// Only VSCode-based integrations are currently supported.
|
|
58
52
|
if (process.env['TERM_PROGRAM'] !== 'vscode') {
|
|
59
53
|
return undefined;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"detect-ide.js","sourceRoot":"","sources":["../../../src/ide/detect-ide.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,MAAM,CAAC,MAAM,eAAe,GAAG;IAC7B,KAAK,EAAE,EAAE,IAAI,EAAE,OAAO,EAAE,WAAW,EAAE,OAAO,EAAE;IAC9C,MAAM,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,QAAQ,EAAE;IACjD,MAAM,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,QAAQ,EAAE;IACjD,UAAU,EAAE,EAAE,IAAI,EAAE,YAAY,EAAE,WAAW,EAAE,aAAa,EAAE;IAC9D,UAAU,EAAE,EAAE,IAAI,EAAE,YAAY,EAAE,WAAW,EAAE,mBAAmB,EAAE;IACpE,cAAc,EAAE,EAAE,IAAI,EAAE,gBAAgB,EAAE,WAAW,EAAE,iBAAiB,EAAE;IAC1E,IAAI,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,EAAE;IAC3C,MAAM,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,SAAS,EAAE;IAClD,UAAU,EAAE,EAAE,IAAI,EAAE,YAAY,EAAE,WAAW,EAAE,KAAK,EAAE;CAC9C,CAAC;
|
|
1
|
+
{"version":3,"file":"detect-ide.js","sourceRoot":"","sources":["../../../src/ide/detect-ide.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,MAAM,CAAC,MAAM,eAAe,GAAG;IAC7B,KAAK,EAAE,EAAE,IAAI,EAAE,OAAO,EAAE,WAAW,EAAE,OAAO,EAAE;IAC9C,MAAM,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,QAAQ,EAAE;IACjD,MAAM,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,QAAQ,EAAE;IACjD,UAAU,EAAE,EAAE,IAAI,EAAE,YAAY,EAAE,WAAW,EAAE,aAAa,EAAE;IAC9D,UAAU,EAAE,EAAE,IAAI,EAAE,YAAY,EAAE,WAAW,EAAE,mBAAmB,EAAE;IACpE,cAAc,EAAE,EAAE,IAAI,EAAE,gBAAgB,EAAE,WAAW,EAAE,iBAAiB,EAAE;IAC1E,IAAI,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,EAAE;IAC3C,MAAM,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,SAAS,EAAE;IAClD,UAAU,EAAE,EAAE,IAAI,EAAE,YAAY,EAAE,WAAW,EAAE,KAAK,EAAE;CAC9C,CAAC;AASX,MAAM,UAAU,gBAAgB;IAC9B,IAAI,OAAO,CAAC,GAAG,CAAC,sBAAsB,CAAC,EAAE,CAAC;QACxC,OAAO,eAAe,CAAC,KAAK,CAAC;IAC/B,CAAC;IACD,IAAI,OAAO,CAAC,GAAG,CAAC,aAAa,CAAC,EAAE,CAAC;QAC/B,OAAO,eAAe,CAAC,MAAM,CAAC;IAChC,CAAC;IACD,IAAI,OAAO,CAAC,GAAG,CAAC,iBAAiB,CAAC,EAAE,CAAC;QACnC,OAAO,eAAe,CAAC,MAAM,CAAC;IAChC,CAAC;IACD,IAAI,OAAO,CAAC,GAAG,CAAC,YAAY,CAAC,EAAE,CAAC;QAC9B,OAAO,eAAe,CAAC,UAAU,CAAC;IACpC,CAAC;IACD,IAAI,OAAO,CAAC,GAAG,CAAC,uBAAuB,CAAC,IAAI,OAAO,CAAC,GAAG,CAAC,aAAa,CAAC,EAAE,CAAC;QACvE,OAAO,eAAe,CAAC,UAAU,CAAC;IACpC,CAAC;IACD,IAAI,OAAO,CAAC,GAAG,CAAC,cAAc,CAAC,KAAK,MAAM,EAAE,CAAC;QAC3C,OAAO,eAAe,CAAC,IAAI,CAAC;IAC9B,CAAC;IACD,IAAI,OAAO,CAAC,GAAG,CAAC,eAAe,CAAC,EAAE,CAAC;QACjC,OAAO,eAAe,CAAC,cAAc,CAAC;IACxC,CAAC;IACD,OAAO,eAAe,CAAC,MAAM,CAAC;AAChC,CAAC;AAED,SAAS,YAAY,CACnB,GAAY,EACZ,cAGC;IAED,IAAI,GAAG,CAAC,IAAI,KAAK,eAAe,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC;QAC7C,OAAO,GAAG,CAAC;IACb,CAAC;IACD,IAAI,cAAc,CAAC,OAAO,CAAC,WAAW,EAAE,CAAC,QAAQ,CAAC,MAAM,CAAC,EAAE,CAAC;QAC1D,OAAO,eAAe,CAAC,MAAM,CAAC;IAChC,CAAC;IACD,OAAO,eAAe,CAAC,UAAU,CAAC;AACpC,CAAC;AAED,MAAM,UAAU,SAAS,CAAC,cAGzB;IACC,0DAA0D;IAC1D,IAAI,OAAO,CAAC,GAAG,CAAC,cAAc,CAAC,KAAK,QAAQ,EAAE,CAAC;QAC7C,OAAO,SAAS,CAAC;IACnB,CAAC;IAED,MAAM,GAAG,GAAG,gBAAgB,EAAE,CAAC;IAC/B,OAAO,YAAY,CAAC,GAAG,EAAE,cAAc,CAAC,CAAC;AAC3C,CAAC"}
|
|
@@ -66,27 +66,4 @@ describe('detectIde', () => {
|
|
|
66
66
|
expect(detectIde(ideProcessInfoNoCode)).toBe(IDE_DEFINITIONS.vscodefork);
|
|
67
67
|
});
|
|
68
68
|
});
|
|
69
|
-
describe('detectIde with ideInfoFromFile', () => {
|
|
70
|
-
const ideProcessInfo = { pid: 123, command: 'some/path/to/code' };
|
|
71
|
-
afterEach(() => {
|
|
72
|
-
vi.unstubAllEnvs();
|
|
73
|
-
});
|
|
74
|
-
it('should use the name and displayName from the file', () => {
|
|
75
|
-
const ideInfoFromFile = {
|
|
76
|
-
name: 'custom-ide',
|
|
77
|
-
displayName: 'Custom IDE',
|
|
78
|
-
};
|
|
79
|
-
expect(detectIde(ideProcessInfo, ideInfoFromFile)).toEqual(ideInfoFromFile);
|
|
80
|
-
});
|
|
81
|
-
it('should fall back to env detection if name is missing', () => {
|
|
82
|
-
const ideInfoFromFile = { displayName: 'Custom IDE' };
|
|
83
|
-
vi.stubEnv('TERM_PROGRAM', 'vscode');
|
|
84
|
-
expect(detectIde(ideProcessInfo, ideInfoFromFile)).toBe(IDE_DEFINITIONS.vscode);
|
|
85
|
-
});
|
|
86
|
-
it('should fall back to env detection if displayName is missing', () => {
|
|
87
|
-
const ideInfoFromFile = { name: 'custom-ide' };
|
|
88
|
-
vi.stubEnv('TERM_PROGRAM', 'vscode');
|
|
89
|
-
expect(detectIde(ideProcessInfo, ideInfoFromFile)).toBe(IDE_DEFINITIONS.vscode);
|
|
90
|
-
});
|
|
91
|
-
});
|
|
92
69
|
//# sourceMappingURL=detect-ide.test.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"detect-ide.test.js","sourceRoot":"","sources":["../../../src/ide/detect-ide.test.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"detect-ide.test.js","sourceRoot":"","sources":["../../../src/ide/detect-ide.test.ts"],"names":[],"mappings":"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"}
|
|
@@ -29,7 +29,6 @@ export declare class IdeClient {
|
|
|
29
29
|
private state;
|
|
30
30
|
private currentIde;
|
|
31
31
|
private ideProcessInfo;
|
|
32
|
-
private connectionConfig;
|
|
33
32
|
private authToken;
|
|
34
33
|
private diffResponses;
|
|
35
34
|
private statusListeners;
|
|
@@ -96,7 +95,7 @@ export declare class IdeClient {
|
|
|
96
95
|
isDiffingEnabled(): boolean;
|
|
97
96
|
private discoverTools;
|
|
98
97
|
private setState;
|
|
99
|
-
static validateWorkspacePath(ideWorkspacePath: string | undefined, cwd: string): {
|
|
98
|
+
static validateWorkspacePath(ideWorkspacePath: string | undefined, currentIdeDisplayName: string | undefined, cwd: string): {
|
|
100
99
|
isValid: boolean;
|
|
101
100
|
error?: string;
|
|
102
101
|
};
|
|
@@ -52,7 +52,6 @@ export class IdeClient {
|
|
|
52
52
|
};
|
|
53
53
|
currentIde;
|
|
54
54
|
ideProcessInfo;
|
|
55
|
-
connectionConfig;
|
|
56
55
|
authToken;
|
|
57
56
|
diffResponses = new Map();
|
|
58
57
|
statusListeners = new Set();
|
|
@@ -70,8 +69,7 @@ export class IdeClient {
|
|
|
70
69
|
IdeClient.instancePromise = (async () => {
|
|
71
70
|
const client = new IdeClient();
|
|
72
71
|
client.ideProcessInfo = await getIdeProcessInfo();
|
|
73
|
-
client.
|
|
74
|
-
client.currentIde = detectIde(client.ideProcessInfo, client.connectionConfig?.ideInfo);
|
|
72
|
+
client.currentIde = detectIde(client.ideProcessInfo);
|
|
75
73
|
return client;
|
|
76
74
|
})();
|
|
77
75
|
}
|
|
@@ -95,26 +93,26 @@ export class IdeClient {
|
|
|
95
93
|
return;
|
|
96
94
|
}
|
|
97
95
|
this.setState(IDEConnectionStatus.Connecting);
|
|
98
|
-
|
|
99
|
-
if (
|
|
100
|
-
this.authToken =
|
|
96
|
+
const configFromFile = await this.getConnectionConfigFromFile();
|
|
97
|
+
if (configFromFile?.authToken) {
|
|
98
|
+
this.authToken = configFromFile.authToken;
|
|
101
99
|
}
|
|
102
|
-
const workspacePath =
|
|
100
|
+
const workspacePath = configFromFile?.workspacePath ??
|
|
103
101
|
process.env['GEMINI_CLI_IDE_WORKSPACE_PATH'];
|
|
104
|
-
const { isValid, error } = IdeClient.validateWorkspacePath(workspacePath, process.cwd());
|
|
102
|
+
const { isValid, error } = IdeClient.validateWorkspacePath(workspacePath, this.currentIde.displayName, process.cwd());
|
|
105
103
|
if (!isValid) {
|
|
106
104
|
this.setState(IDEConnectionStatus.Disconnected, error, true);
|
|
107
105
|
return;
|
|
108
106
|
}
|
|
109
|
-
if (
|
|
110
|
-
if (
|
|
111
|
-
const connected = await this.establishHttpConnection(
|
|
107
|
+
if (configFromFile) {
|
|
108
|
+
if (configFromFile.port) {
|
|
109
|
+
const connected = await this.establishHttpConnection(configFromFile.port);
|
|
112
110
|
if (connected) {
|
|
113
111
|
return;
|
|
114
112
|
}
|
|
115
113
|
}
|
|
116
|
-
if (
|
|
117
|
-
const connected = await this.establishStdioConnection(
|
|
114
|
+
if (configFromFile.stdio) {
|
|
115
|
+
const connected = await this.establishStdioConnection(configFromFile.stdio);
|
|
118
116
|
if (connected) {
|
|
119
117
|
return;
|
|
120
118
|
}
|
|
@@ -362,17 +360,17 @@ export class IdeClient {
|
|
|
362
360
|
ideContextStore.clear();
|
|
363
361
|
}
|
|
364
362
|
}
|
|
365
|
-
static validateWorkspacePath(ideWorkspacePath, cwd) {
|
|
363
|
+
static validateWorkspacePath(ideWorkspacePath, currentIdeDisplayName, cwd) {
|
|
366
364
|
if (ideWorkspacePath === undefined) {
|
|
367
365
|
return {
|
|
368
366
|
isValid: false,
|
|
369
|
-
error: `Failed to connect to IDE companion extension. Please ensure the extension is running. To install the extension, run /ide install.`,
|
|
367
|
+
error: `Failed to connect to IDE companion extension in ${currentIdeDisplayName}. Please ensure the extension is running. To install the extension, run /ide install.`,
|
|
370
368
|
};
|
|
371
369
|
}
|
|
372
370
|
if (ideWorkspacePath === '') {
|
|
373
371
|
return {
|
|
374
372
|
isValid: false,
|
|
375
|
-
error: `To use this feature, please open a workspace folder in
|
|
373
|
+
error: `To use this feature, please open a workspace folder in ${currentIdeDisplayName} and try again.`,
|
|
376
374
|
};
|
|
377
375
|
}
|
|
378
376
|
const ideWorkspacePaths = ideWorkspacePath.split(path.delimiter);
|
|
@@ -384,7 +382,7 @@ export class IdeClient {
|
|
|
384
382
|
if (!isWithinWorkspace) {
|
|
385
383
|
return {
|
|
386
384
|
isValid: false,
|
|
387
|
-
error: `Directory mismatch. Gemini CLI is running in a different location than the open workspace in
|
|
385
|
+
error: `Directory mismatch. Gemini CLI is running in a different location than the open workspace in ${currentIdeDisplayName}. Please run the CLI from one of the following directories: ${ideWorkspacePaths.join(', ')}`,
|
|
388
386
|
};
|
|
389
387
|
}
|
|
390
388
|
return { isValid: true };
|
|
@@ -444,9 +442,6 @@ export class IdeClient {
|
|
|
444
442
|
logger.debug('Failed to read IDE connection directory:', e);
|
|
445
443
|
return undefined;
|
|
446
444
|
}
|
|
447
|
-
if (!portFiles) {
|
|
448
|
-
return undefined;
|
|
449
|
-
}
|
|
450
445
|
const fileRegex = new RegExp(`^gemini-ide-server-${this.ideProcessInfo.pid}-\\d+\\.json$`);
|
|
451
446
|
const matchingFiles = portFiles
|
|
452
447
|
.filter((file) => fileRegex.test(file))
|
|
@@ -475,7 +470,7 @@ export class IdeClient {
|
|
|
475
470
|
if (!content) {
|
|
476
471
|
return false;
|
|
477
472
|
}
|
|
478
|
-
const { isValid } = IdeClient.validateWorkspacePath(content.workspacePath, process.cwd());
|
|
473
|
+
const { isValid } = IdeClient.validateWorkspacePath(content.workspacePath, this.currentIde?.displayName, process.cwd());
|
|
479
474
|
return isValid;
|
|
480
475
|
});
|
|
481
476
|
if (validWorkspaces.length === 0) {
|
|
@@ -511,7 +506,7 @@ export class IdeClient {
|
|
|
511
506
|
return new Response(response.body, {
|
|
512
507
|
status: response.status,
|
|
513
508
|
statusText: response.statusText,
|
|
514
|
-
headers:
|
|
509
|
+
headers: response.headers,
|
|
515
510
|
});
|
|
516
511
|
};
|
|
517
512
|
}
|