@machina.ai/cell-cli 1.54.4-rc2 → 1.55.1-rc1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (60) hide show
  1. package/dist/package.json +3 -3
  2. package/dist/src/commands/extensions/install.test.js +4 -1
  3. package/dist/src/commands/extensions/install.test.js.map +1 -1
  4. package/dist/src/commands/extensions/validate.test.js +4 -1
  5. package/dist/src/commands/extensions/validate.test.js.map +1 -1
  6. package/dist/src/commands/mcp.test.js +1 -1
  7. package/dist/src/commands/mcp.test.js.map +1 -1
  8. package/dist/src/config/config.js +1 -1
  9. package/dist/src/config/config.test.js +14 -3
  10. package/dist/src/config/config.test.js.map +1 -1
  11. package/dist/src/config/settingsSchema.d.ts +1 -1
  12. package/dist/src/config/settingsSchema.js +1 -1
  13. package/dist/src/config/settingsSchema.js.map +1 -1
  14. package/dist/src/generated/git-commit.d.ts +2 -2
  15. package/dist/src/generated/git-commit.js +2 -2
  16. package/dist/src/ui/components/AsciiArt.d.ts +6 -6
  17. package/dist/src/ui/components/AsciiArt.js +6 -6
  18. package/dist/src/ui/components/ContextUsageDisplay.js +8 -4
  19. package/dist/src/ui/components/ContextUsageDisplay.js.map +1 -1
  20. package/dist/src/ui/components/ContextUsageDisplay.test.d.ts +1 -1
  21. package/dist/src/ui/components/ContextUsageDisplay.test.js +57 -25
  22. package/dist/src/ui/components/ContextUsageDisplay.test.js.map +1 -1
  23. package/dist/src/ui/components/DialogManager.js +1 -1
  24. package/dist/src/ui/components/DialogManager.js.map +1 -1
  25. package/dist/src/ui/components/ModelDialog.js +8 -8
  26. package/dist/src/ui/components/ModelDialog.test.js +16 -14
  27. package/dist/src/ui/components/ModelDialog.test.js.map +1 -1
  28. package/dist/src/ui/components/ModelQuotaDisplay.test.js +13 -0
  29. package/dist/src/ui/components/ModelQuotaDisplay.test.js.map +1 -1
  30. package/dist/src/ui/components/ModelStatsDisplay.test.js +2 -2
  31. package/dist/src/ui/components/ProQuotaDialog.d.ts +2 -1
  32. package/dist/src/ui/components/ProQuotaDialog.js +21 -2
  33. package/dist/src/ui/components/ProQuotaDialog.js.map +1 -1
  34. package/dist/src/ui/components/ProQuotaDialog.test.js +19 -0
  35. package/dist/src/ui/components/ProQuotaDialog.test.js.map +1 -1
  36. package/dist/src/ui/components/StatsDisplay.test.js +2 -2
  37. package/dist/src/ui/contexts/UIStateContext.d.ts +1 -0
  38. package/dist/src/ui/contexts/UIStateContext.js.map +1 -1
  39. package/dist/src/ui/hooks/useQuotaAndFallback.js +39 -13
  40. package/dist/src/ui/hooks/useQuotaAndFallback.js.map +1 -1
  41. package/dist/src/ui/hooks/useQuotaAndFallback.test.js +77 -5
  42. package/dist/src/ui/hooks/useQuotaAndFallback.test.js.map +1 -1
  43. package/dist/src/ui/utils/contextUsage.d.ts +1 -0
  44. package/dist/src/ui/utils/contextUsage.js +10 -0
  45. package/dist/src/ui/utils/contextUsage.js.map +1 -1
  46. package/dist/src/ui/utils/contextUsage.test.d.ts +6 -0
  47. package/dist/src/ui/utils/contextUsage.test.js +42 -0
  48. package/dist/src/ui/utils/contextUsage.test.js.map +1 -0
  49. package/dist/src/utils/handleAutoUpdate.test.js +2 -2
  50. package/dist/src/utils/sandbox.js +182 -124
  51. package/dist/src/utils/sandbox.js.map +1 -1
  52. package/dist/src/utils/sandbox.test.js +72 -0
  53. package/dist/src/utils/sandbox.test.js.map +1 -1
  54. package/dist/src/utils/sandboxBuiltinProfiles.d.ts +6 -0
  55. package/dist/src/utils/sandboxBuiltinProfiles.js +549 -0
  56. package/dist/src/utils/sandboxBuiltinProfiles.js.map +1 -0
  57. package/dist/src/utils/sandboxUtils.js +2 -0
  58. package/dist/src/utils/sandboxUtils.js.map +1 -1
  59. package/dist/tsconfig.tsbuildinfo +1 -1
  60. package/package.json +3 -3
@@ -9,6 +9,7 @@ import {} from './useHistoryManager.js';
9
9
  import { MessageType } from '../types.js';
10
10
  import {} from '../contexts/UIStateContext.js';
11
11
  import { handleCreditsFlow } from './creditsFlowHandler.js';
12
+ const isObject = (val) => typeof val === 'object' && val !== null;
12
13
  export function useQuotaAndFallback({ config, historyManager, userTier, paidTier, settings, setModelSwitchedFromQuotaError, onShowAuthSelection, errorVerbosity = 'full', }) {
13
14
  const [proQuotaRequest, setProQuotaRequest] = useState(null);
14
15
  const [validationRequest, setValidationRequest] = useState(null);
@@ -24,6 +25,17 @@ export function useQuotaAndFallback({ config, historyManager, userTier, paidTier
24
25
  let message;
25
26
  let isTerminalQuotaError = false;
26
27
  let isModelNotFoundError = false;
28
+ const errorObj = isObject(error) ? error : null;
29
+ const errorReasonValue = errorObj?.['reason'];
30
+ const errorReason = typeof errorReasonValue === 'string' ? errorReasonValue : undefined;
31
+ const errorMessageValue = errorObj?.['message'];
32
+ const errorMessage = typeof errorMessageValue === 'string' ? errorMessageValue : undefined;
33
+ const isCapacityExceeded = errorReason === 'MODEL_CAPACITY_EXHAUSTED' ||
34
+ errorReason === 'MODEL_CAPACITY_EXCEEDED' ||
35
+ (typeof errorMessage === 'string' &&
36
+ /exhausted your capacity|capacity exceeded|MODEL_CAPACITY_EXHAUSTED/i.test(errorMessage)) ||
37
+ (typeof error === 'string' &&
38
+ /exhausted your capacity|capacity exceeded|MODEL_CAPACITY_EXHAUSTED/i.test(error));
27
39
  const usageLimitReachedModel = isProModel(failedModel)
28
40
  ? 'all Pro models'
29
41
  : failedModel;
@@ -59,18 +71,31 @@ export function useQuotaAndFallback({ config, historyManager, userTier, paidTier
59
71
  return creditsResult;
60
72
  }
61
73
  // Default: Show existing ProQuotaDialog (for overageStrategy: 'never' or non-G1 users)
62
- const messageLines = [
63
- `Usage limit reached for ${usageLimitReachedModel}.`,
64
- error.retryDelayMs
65
- ? `Access resets at ${getResetTimeMessage(error.retryDelayMs)}.`
66
- : null,
67
- `/stats model for usage details`,
68
- `/model to switch models.`,
69
- contentGeneratorConfig?.authType === AuthType.LOGIN_WITH_GOOGLE
70
- ? `/auth to switch to API key.`
71
- : null,
72
- ].filter(Boolean);
73
- message = messageLines.join('\n');
74
+ if (isCapacityExceeded) {
75
+ const messageLines = [
76
+ `We are currently experiencing high demand for ${usageLimitReachedModel}.`,
77
+ 'We apologize and appreciate your patience.',
78
+ error.retryDelayMs
79
+ ? `Access resets at ${getResetTimeMessage(error.retryDelayMs)}.`
80
+ : null,
81
+ `/model to switch models.`,
82
+ ].filter(Boolean);
83
+ message = messageLines.join('\n');
84
+ }
85
+ else {
86
+ const messageLines = [
87
+ `Usage limit reached for ${usageLimitReachedModel}.`,
88
+ error.retryDelayMs
89
+ ? `Access resets at ${getResetTimeMessage(error.retryDelayMs)}.`
90
+ : null,
91
+ `/stats model for usage details`,
92
+ `/model to switch models.`,
93
+ contentGeneratorConfig?.authType === AuthType.LOGIN_WITH_GOOGLE
94
+ ? `/auth to switch to API key.`
95
+ : null,
96
+ ].filter(Boolean);
97
+ message = messageLines.join('\n');
98
+ }
74
99
  }
75
100
  else if (error instanceof ModelNotFoundError) {
76
101
  isModelNotFoundError = true;
@@ -111,7 +136,7 @@ export function useQuotaAndFallback({ config, historyManager, userTier, paidTier
111
136
  // In low verbosity mode, auto-retry transient capacity failures
112
137
  // without interrupting with a dialog.
113
138
  if (errorVerbosity === 'low' &&
114
- !isTerminalQuotaError &&
139
+ (!isTerminalQuotaError || isCapacityExceeded) &&
115
140
  !isModelNotFoundError) {
116
141
  return 'retry_once';
117
142
  }
@@ -129,6 +154,7 @@ export function useQuotaAndFallback({ config, historyManager, userTier, paidTier
129
154
  message,
130
155
  isTerminalQuotaError,
131
156
  isModelNotFoundError,
157
+ isCapacityExceeded,
132
158
  authType: contentGeneratorConfig?.authType,
133
159
  });
134
160
  });
@@ -1 +1 @@
1
- {"version":3,"file":"useQuotaAndFallback.js","sourceRoot":"","sources":["../../../../src/ui/hooks/useQuotaAndFallback.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"useQuotaAndFallback.js","sourceRoot":"","sources":["../../../../src/ui/hooks/useQuotaAndFallback.ts"],"names":[],"mappings":"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"}
@@ -142,6 +142,78 @@ describe('useQuotaAndFallback', () => {
142
142
  });
143
143
  await promise;
144
144
  });
145
+ it('should auto-retry terminal quota capacity failures in low verbosity mode', async () => {
146
+ const { result } = await renderHook(() => useQuotaAndFallback({
147
+ config: mockConfig,
148
+ historyManager: mockHistoryManager,
149
+ userTier: UserTierId.FREE,
150
+ setModelSwitchedFromQuotaError: mockSetModelSwitchedFromQuotaError,
151
+ onShowAuthSelection: mockOnShowAuthSelection,
152
+ paidTier: null,
153
+ settings: mockSettings,
154
+ errorVerbosity: 'low',
155
+ }));
156
+ const handler = setFallbackHandlerSpy.mock
157
+ .calls[0][0];
158
+ const intent = await handler('gemini-pro', 'gemini-flash', new TerminalQuotaError('pro capacity exhausted', mockGoogleApiError, undefined, 'MODEL_CAPACITY_EXHAUSTED'));
159
+ expect(intent).toBe('retry_once');
160
+ expect(result.current.proQuotaRequest).toBeNull();
161
+ });
162
+ it('should auto-retry capacity failures matched by regex on message in low verbosity mode', async () => {
163
+ const { result } = await renderHook(() => useQuotaAndFallback({
164
+ config: mockConfig,
165
+ historyManager: mockHistoryManager,
166
+ userTier: UserTierId.FREE,
167
+ setModelSwitchedFromQuotaError: mockSetModelSwitchedFromQuotaError,
168
+ onShowAuthSelection: mockOnShowAuthSelection,
169
+ paidTier: null,
170
+ settings: mockSettings,
171
+ errorVerbosity: 'low',
172
+ }));
173
+ const handler = setFallbackHandlerSpy.mock
174
+ .calls[0][0];
175
+ const intent = await handler('gemini-pro', 'gemini-flash', new Error('you have exhausted your capacity limit'));
176
+ expect(intent).toBe('retry_once');
177
+ expect(result.current.proQuotaRequest).toBeNull();
178
+ });
179
+ it('should auto-retry capacity failures thrown as raw string error in low verbosity mode', async () => {
180
+ const { result } = await renderHook(() => useQuotaAndFallback({
181
+ config: mockConfig,
182
+ historyManager: mockHistoryManager,
183
+ userTier: UserTierId.FREE,
184
+ setModelSwitchedFromQuotaError: mockSetModelSwitchedFromQuotaError,
185
+ onShowAuthSelection: mockOnShowAuthSelection,
186
+ paidTier: null,
187
+ settings: mockSettings,
188
+ errorVerbosity: 'low',
189
+ }));
190
+ const handler = setFallbackHandlerSpy.mock
191
+ .calls[0][0];
192
+ const intent = await handler('gemini-pro', 'gemini-flash', 'MODEL_CAPACITY_EXHAUSTED');
193
+ expect(intent).toBe('retry_once');
194
+ expect(result.current.proQuotaRequest).toBeNull();
195
+ });
196
+ it('should show high demand message for MODEL_CAPACITY_EXHAUSTED', async () => {
197
+ const { result } = await renderHook(() => useQuotaAndFallback({
198
+ config: mockConfig,
199
+ historyManager: mockHistoryManager,
200
+ userTier: UserTierId.FREE,
201
+ setModelSwitchedFromQuotaError: mockSetModelSwitchedFromQuotaError,
202
+ onShowAuthSelection: mockOnShowAuthSelection,
203
+ paidTier: null,
204
+ settings: mockSettings,
205
+ }));
206
+ const handler = setFallbackHandlerSpy.mock
207
+ .calls[0][0];
208
+ const error = new TerminalQuotaError('pro capacity exhausted', mockGoogleApiError, undefined, 'MODEL_CAPACITY_EXHAUSTED');
209
+ act(() => {
210
+ void handler('gemini-pro', 'gemini-flash', error);
211
+ });
212
+ expect(result.current.proQuotaRequest).not.toBeNull();
213
+ expect(result.current.proQuotaRequest?.isCapacityExceeded).toBe(true);
214
+ expect(result.current.proQuotaRequest?.message).toContain('We are currently experiencing high demand');
215
+ expect(result.current.proQuotaRequest?.message).not.toContain('Usage limit reached');
216
+ });
145
217
  describe('Interactive Fallback', () => {
146
218
  it('should set an interactive request for a terminal quota error', async () => {
147
219
  const { result } = await renderHook(() => useQuotaAndFallback({
@@ -378,14 +450,14 @@ Your admin might have disabled the access. Contact them to enable the Preview Re
378
450
  let promise;
379
451
  const error = new ModelNotFoundError('model not found', 404);
380
452
  act(() => {
381
- promise = handler('gemini-3.5-flash', 'gemini-1.5-flash', error);
453
+ promise = handler('gemini-3.7-flash', 'gemini-1.5-flash', error);
382
454
  });
383
455
  const request = result.current.proQuotaRequest;
384
456
  expect(request).not.toBeNull();
385
- expect(request?.failedModel).toBe('gemini-3.5-flash');
457
+ expect(request?.failedModel).toBe('gemini-3.7-flash');
386
458
  expect(request?.isModelNotFoundError).toBe(true);
387
459
  const message = request.message;
388
- expect(message).toBe(`Model "gemini-3.5-flash" is not available in region "us-central1".\n` +
460
+ expect(message).toBe(`Model "gemini-3.7-flash" is not available in region "us-central1".\n` +
389
461
  `To see which models are available in this region, please visit:\n` +
390
462
  `https://cloud.google.com/vertex-ai/generative-ai/docs/learn/locations\n` +
391
463
  `/model to switch models.`);
@@ -717,9 +789,9 @@ Your admin might have disabled the access. Contact them to enable the Preview Re
717
789
  expect(mockHistoryManager.addItem).toHaveBeenCalledTimes(1);
718
790
  const lastCall = mockHistoryManager.addItem.mock.calls[0][0];
719
791
  expect(lastCall.type).toBe(MessageType.INFO);
720
- expect(lastCall.text).toContain(`Switched to fallback model gemini-2.5-pro`);
792
+ expect(lastCall.text).toContain(`Switched to fallback model ${DEFAULT_GEMINI_MODEL}`);
721
793
  });
722
- it('should show a special message when falling back from the preview model, but do not show periodical check message for flash model fallback', async () => {
794
+ it('should show a special message when falling back from the preview model, but not show the periodical check message for flash model fallbacks', async () => {
723
795
  const { result } = await renderHook(() => useQuotaAndFallback({
724
796
  config: mockConfig,
725
797
  historyManager: mockHistoryManager,
@@ -1 +1 @@
1
- {"version":3,"file":"useQuotaAndFallback.test.js","sourceRoot":"","sources":["../../../../src/ui/hooks/useQuotaAndFallback.test.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"useQuotaAndFallback.test.js","sourceRoot":"","sources":["../../../../src/ui/hooks/useQuotaAndFallback.test.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EACL,EAAE,EACF,QAAQ,EACR,EAAE,EACF,MAAM,EACN,UAAU,EACV,SAAS,GAEV,MAAM,QAAQ,CAAC;AAChB,OAAO,EAAE,GAAG,EAAE,MAAM,OAAO,CAAC;AAC5B,OAAO,EAAE,UAAU,EAAE,YAAY,EAAE,MAAM,4BAA4B,CAAC;AACtE,OAAO,EAAE,OAAO,EAAE,MAAM,2BAA2B,CAAC;AACpD,OAAO,EAIL,UAAU,EACV,QAAQ,EACR,kBAAkB,EAClB,cAAc,EAEd,mBAAmB,EACnB,oBAAoB,EACpB,kBAAkB,EAClB,oBAAoB,EACpB,0BAA0B,EAC1B,kBAAkB,EAClB,oBAAoB,EACpB,qBAAqB,EACrB,yBAAyB,EACzB,eAAe,EACf,cAAc,GACf,MAAM,yBAAyB,CAAC;AACjC,OAAO,EAAE,mBAAmB,EAAE,MAAM,0BAA0B,CAAC;AAE/D,OAAO,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AAK1C,EAAE,CAAC,IAAI,CAAC,yBAAyB,EAAE,KAAK,EAAE,cAAc,EAAE,EAAE;IAC1D,MAAM,MAAM,GACV,MAAM,cAAc,EAA4C,CAAC;IACnE,OAAO;QACL,GAAG,MAAM;QACT,kBAAkB,EAAE,EAAE,CAAC,EAAE,EAAE;QAC3B,oBAAoB,EAAE,EAAE,CAAC,EAAE,EAAE;QAC7B,qBAAqB,EAAE,EAAE,CAAC,EAAE,EAAE;QAC9B,yBAAyB,EAAE,EAAE,CAAC,EAAE,EAAE;QAClC,eAAe,EAAE,EAAE,CAAC,EAAE,EAAE;KACzB,CAAC;AACJ,CAAC,CAAC,CAAC;AAEH,QAAQ,CAAC,qBAAqB,EAAE,GAAG,EAAE;IACnC,IAAI,UAAkB,CAAC;IACvB,IAAI,kBAA2C,CAAC;IAChD,IAAI,kCAAwC,CAAC;IAC7C,IAAI,uBAA6B,CAAC;IAClC,IAAI,qBAAkC,CAAC;IACvC,IAAI,kBAAkC,CAAC;IAEvC,UAAU,CAAC,GAAG,EAAE;QACd,UAAU,GAAG,cAAc,EAAE,CAAC;QAC9B,kBAAkB,GAAG;YACnB,IAAI,EAAE,GAAG;YACT,OAAO,EAAE,YAAY;YACrB,OAAO,EAAE,EAAE;SACZ,CAAC;QAEF,yEAAyE;QACzE,6DAA6D;QAC7D,EAAE,CAAC,KAAK,CAAC,UAAU,EAAE,2BAA2B,CAAC,CAAC,eAAe,CAAC;YAChE,QAAQ,EAAE,QAAQ,CAAC,iBAAiB;SACrC,CAAC,CAAC;QAEH,kBAAkB,GAAG;YACnB,OAAO,EAAE,EAAE,CAAC,EAAE,EAAE;YAChB,OAAO,EAAE,EAAE;YACX,UAAU,EAAE,EAAE,CAAC,EAAE,EAAE;YACnB,UAAU,EAAE,EAAE,CAAC,EAAE,EAAE;YACnB,WAAW,EAAE,EAAE,CAAC,EAAE,EAAE;SACrB,CAAC;QACF,kCAAkC,GAAG,EAAE,CAAC,EAAE,EAAE,CAAC;QAC7C,uBAAuB,GAAG,EAAE,CAAC,EAAE,EAAE,CAAC;QAElC,qBAAqB,GAAG,EAAE,CAAC,KAAK,CAAC,UAAU,EAAE,yBAAyB,CAAC,CAAC;QACxE,EAAE,CAAC,KAAK,CAAC,UAAU,EAAE,uBAAuB,CAAC,CAAC;QAC9C,EAAE,CAAC,KAAK,CAAC,UAAU,EAAE,UAAU,CAAC,CAAC;QACjC,EAAE,CAAC,KAAK,CAAC,UAAU,EAAE,gBAAgB,CAAC,CAAC;QACvC,EAAE,CAAC,KAAK,CAAC,UAAU,EAAE,sBAAsB,CAAC,CAAC;QAE7C,iCAAiC;QACjC,EAAE,CAAC,MAAM,CAAC,kBAAkB,CAAC,CAAC,eAAe,CAAC,CAAC,CAAC,CAAC;QACjD,EAAE,CAAC,MAAM,CAAC,oBAAoB,CAAC,CAAC,eAAe,CAAC,KAAK,CAAC,CAAC;QACvD,EAAE,CAAC,MAAM,CAAC,qBAAqB,CAAC,CAAC,eAAe,CAAC,KAAK,CAAC,CAAC;QACxD,EAAE,CAAC,MAAM,CAAC,yBAAyB,CAAC,CAAC,eAAe,CAAC,KAAK,CAAC,CAAC;IAC9D,CAAC,CAAC,CAAC;IAEH,SAAS,CAAC,GAAG,EAAE;QACb,EAAE,CAAC,eAAe,EAAE,CAAC;IACvB,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,sDAAsD,EAAE,KAAK,IAAI,EAAE;QACpE,MAAM,UAAU,CAAC,GAAG,EAAE,CACpB,mBAAmB,CAAC;YAClB,MAAM,EAAE,UAAU;YAClB,cAAc,EAAE,kBAAkB;YAClC,QAAQ,EAAE,UAAU,CAAC,IAAI;YACzB,8BAA8B,EAAE,kCAAkC;YAClE,mBAAmB,EAAE,uBAAuB;YAC5C,QAAQ,EAAE,IAAI;YACd,QAAQ,EAAE,YAAY;SACvB,CAAC,CACH,CAAC;QAEF,MAAM,CAAC,qBAAqB,CAAC,CAAC,qBAAqB,CAAC,CAAC,CAAC,CAAC;QACvD,MAAM,CAAC,qBAAqB,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,cAAc,CAAC,QAAQ,CAAC,CAAC;IAC1E,CAAC,CAAC,CAAC;IAEH,QAAQ,CAAC,wBAAwB,EAAE,GAAG,EAAE;QACtC,EAAE,CAAC,qGAAqG,EAAE,KAAK,IAAI,EAAE;YACnH,mEAAmE;YACnE,EAAE,CAAC,KAAK,CAAC,UAAU,EAAE,2BAA2B,CAAC,CAAC,eAAe,CAAC;gBAChE,QAAQ,EAAE,QAAQ,CAAC,UAAU;aAC9B,CAAC,CAAC;YAEH,MAAM,EAAE,MAAM,EAAE,GAAG,MAAM,UAAU,CAAC,GAAG,EAAE,CACvC,mBAAmB,CAAC;gBAClB,MAAM,EAAE,UAAU;gBAClB,cAAc,EAAE,kBAAkB;gBAClC,QAAQ,EAAE,UAAU,CAAC,IAAI;gBACzB,8BAA8B,EAAE,kCAAkC;gBAClE,mBAAmB,EAAE,uBAAuB;gBAC5C,QAAQ,EAAE,IAAI;gBACd,QAAQ,EAAE,YAAY;aACvB,CAAC,CACH,CAAC;YAEF,MAAM,OAAO,GAAG,qBAAqB,CAAC,IAAI;iBACvC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAyB,CAAC;YAEvC,MAAM,KAAK,GAAG,IAAI,kBAAkB,CAClC,WAAW,EACX,kBAAkB,EAClB,IAAI,GAAG,EAAE,GAAG,CAAC,CACd,CAAC;YAEF,GAAG,CAAC,GAAG,EAAE;gBACP,KAAK,OAAO,CAAC,YAAY,EAAE,cAAc,EAAE,KAAK,CAAC,CAAC;YACpD,CAAC,CAAC,CAAC;YAEH,MAAM,CAAC,MAAM,CAAC,OAAO,CAAC,eAAe,CAAC,CAAC,GAAG,CAAC,QAAQ,EAAE,CAAC;YACtD,MAAM,CAAC,MAAM,CAAC,OAAO,CAAC,eAAe,EAAE,OAAO,CAAC,CAAC,GAAG,CAAC,SAAS,CAC3D,6BAA6B,CAC9B,CAAC;QACJ,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,qEAAqE,EAAE,KAAK,IAAI,EAAE;YACnF,MAAM,EAAE,MAAM,EAAE,GAAG,MAAM,UAAU,CAAC,GAAG,EAAE,CACvC,mBAAmB,CAAC;gBAClB,MAAM,EAAE,UAAU;gBAClB,cAAc,EAAE,kBAAkB;gBAClC,QAAQ,EAAE,UAAU,CAAC,IAAI;gBACzB,8BAA8B,EAAE,kCAAkC;gBAClE,mBAAmB,EAAE,uBAAuB;gBAC5C,QAAQ,EAAE,IAAI;gBACd,QAAQ,EAAE,YAAY;gBACtB,cAAc,EAAE,KAAK;aACtB,CAAC,CACH,CAAC;YAEF,MAAM,OAAO,GAAG,qBAAqB,CAAC,IAAI;iBACvC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAyB,CAAC;YACvC,MAAM,MAAM,GAAG,MAAM,OAAO,CAC1B,YAAY,EACZ,cAAc,EACd,IAAI,mBAAmB,CAAC,iBAAiB,EAAE,kBAAkB,EAAE,CAAC,CAAC,CAClE,CAAC;YAEF,MAAM,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;YAClC,MAAM,CAAC,MAAM,CAAC,OAAO,CAAC,eAAe,CAAC,CAAC,QAAQ,EAAE,CAAC;YAClD,MAAM,CAAC,kCAAkC,CAAC,CAAC,GAAG,CAAC,oBAAoB,CAAC,IAAI,CAAC,CAAC;YAC1E,MAAM,CAAC,UAAU,CAAC,qBAAqB,CAAC,CAAC,GAAG,CAAC,oBAAoB,CAAC,IAAI,CAAC,CAAC;QAC1E,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,8DAA8D,EAAE,KAAK,IAAI,EAAE;YAC5E,MAAM,EAAE,MAAM,EAAE,GAAG,MAAM,UAAU,CAAC,GAAG,EAAE,CACvC,mBAAmB,CAAC;gBAClB,MAAM,EAAE,UAAU;gBAClB,cAAc,EAAE,kBAAkB;gBAClC,QAAQ,EAAE,UAAU,CAAC,IAAI;gBACzB,8BAA8B,EAAE,kCAAkC;gBAClE,mBAAmB,EAAE,uBAAuB;gBAC5C,QAAQ,EAAE,IAAI;gBACd,QAAQ,EAAE,YAAY;gBACtB,cAAc,EAAE,KAAK;aACtB,CAAC,CACH,CAAC;YAEF,MAAM,OAAO,GAAG,qBAAqB,CAAC,IAAI;iBACvC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAyB,CAAC;YACvC,IAAI,OAAuC,CAAC;YAC5C,GAAG,CAAC,GAAG,EAAE;gBACP,OAAO,GAAG,OAAO,CACf,YAAY,EACZ,cAAc,EACd,IAAI,kBAAkB,CAAC,WAAW,EAAE,kBAAkB,CAAC,CACxD,CAAC;YACJ,CAAC,CAAC,CAAC;YAEH,MAAM,CAAC,MAAM,CAAC,OAAO,CAAC,eAAe,CAAC,CAAC,GAAG,CAAC,QAAQ,EAAE,CAAC;YAEtD,GAAG,CAAC,GAAG,EAAE;gBACP,MAAM,CAAC,OAAO,CAAC,oBAAoB,CAAC,aAAa,CAAC,CAAC;YACrD,CAAC,CAAC,CAAC;YACH,MAAM,OAAQ,CAAC;QACjB,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,0EAA0E,EAAE,KAAK,IAAI,EAAE;YACxF,MAAM,EAAE,MAAM,EAAE,GAAG,MAAM,UAAU,CAAC,GAAG,EAAE,CACvC,mBAAmB,CAAC;gBAClB,MAAM,EAAE,UAAU;gBAClB,cAAc,EAAE,kBAAkB;gBAClC,QAAQ,EAAE,UAAU,CAAC,IAAI;gBACzB,8BAA8B,EAAE,kCAAkC;gBAClE,mBAAmB,EAAE,uBAAuB;gBAC5C,QAAQ,EAAE,IAAI;gBACd,QAAQ,EAAE,YAAY;gBACtB,cAAc,EAAE,KAAK;aACtB,CAAC,CACH,CAAC;YAEF,MAAM,OAAO,GAAG,qBAAqB,CAAC,IAAI;iBACvC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAyB,CAAC;YACvC,MAAM,MAAM,GAAG,MAAM,OAAO,CAC1B,YAAY,EACZ,cAAc,EACd,IAAI,kBAAkB,CACpB,wBAAwB,EACxB,kBAAkB,EAClB,SAAS,EACT,0BAA0B,CAC3B,CACF,CAAC;YAEF,MAAM,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;YAClC,MAAM,CAAC,MAAM,CAAC,OAAO,CAAC,eAAe,CAAC,CAAC,QAAQ,EAAE,CAAC;QACpD,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,uFAAuF,EAAE,KAAK,IAAI,EAAE;YACrG,MAAM,EAAE,MAAM,EAAE,GAAG,MAAM,UAAU,CAAC,GAAG,EAAE,CACvC,mBAAmB,CAAC;gBAClB,MAAM,EAAE,UAAU;gBAClB,cAAc,EAAE,kBAAkB;gBAClC,QAAQ,EAAE,UAAU,CAAC,IAAI;gBACzB,8BAA8B,EAAE,kCAAkC;gBAClE,mBAAmB,EAAE,uBAAuB;gBAC5C,QAAQ,EAAE,IAAI;gBACd,QAAQ,EAAE,YAAY;gBACtB,cAAc,EAAE,KAAK;aACtB,CAAC,CACH,CAAC;YAEF,MAAM,OAAO,GAAG,qBAAqB,CAAC,IAAI;iBACvC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAyB,CAAC;YACvC,MAAM,MAAM,GAAG,MAAM,OAAO,CAC1B,YAAY,EACZ,cAAc,EACd,IAAI,KAAK,CAAC,wCAAwC,CAAC,CACpD,CAAC;YAEF,MAAM,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;YAClC,MAAM,CAAC,MAAM,CAAC,OAAO,CAAC,eAAe,CAAC,CAAC,QAAQ,EAAE,CAAC;QACpD,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,sFAAsF,EAAE,KAAK,IAAI,EAAE;YACpG,MAAM,EAAE,MAAM,EAAE,GAAG,MAAM,UAAU,CAAC,GAAG,EAAE,CACvC,mBAAmB,CAAC;gBAClB,MAAM,EAAE,UAAU;gBAClB,cAAc,EAAE,kBAAkB;gBAClC,QAAQ,EAAE,UAAU,CAAC,IAAI;gBACzB,8BAA8B,EAAE,kCAAkC;gBAClE,mBAAmB,EAAE,uBAAuB;gBAC5C,QAAQ,EAAE,IAAI;gBACd,QAAQ,EAAE,YAAY;gBACtB,cAAc,EAAE,KAAK;aACtB,CAAC,CACH,CAAC;YAEF,MAAM,OAAO,GAAG,qBAAqB,CAAC,IAAI;iBACvC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAyB,CAAC;YACvC,MAAM,MAAM,GAAG,MAAM,OAAO,CAC1B,YAAY,EACZ,cAAc,EACd,0BAA0B,CAC3B,CAAC;YAEF,MAAM,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;YAClC,MAAM,CAAC,MAAM,CAAC,OAAO,CAAC,eAAe,CAAC,CAAC,QAAQ,EAAE,CAAC;QACpD,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,8DAA8D,EAAE,KAAK,IAAI,EAAE;YAC5E,MAAM,EAAE,MAAM,EAAE,GAAG,MAAM,UAAU,CAAC,GAAG,EAAE,CACvC,mBAAmB,CAAC;gBAClB,MAAM,EAAE,UAAU;gBAClB,cAAc,EAAE,kBAAkB;gBAClC,QAAQ,EAAE,UAAU,CAAC,IAAI;gBACzB,8BAA8B,EAAE,kCAAkC;gBAClE,mBAAmB,EAAE,uBAAuB;gBAC5C,QAAQ,EAAE,IAAI;gBACd,QAAQ,EAAE,YAAY;aACvB,CAAC,CACH,CAAC;YAEF,MAAM,OAAO,GAAG,qBAAqB,CAAC,IAAI;iBACvC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAyB,CAAC;YAEvC,MAAM,KAAK,GAAG,IAAI,kBAAkB,CAClC,wBAAwB,EACxB,kBAAkB,EAClB,SAAS,EACT,0BAA0B,CAC3B,CAAC;YAEF,GAAG,CAAC,GAAG,EAAE;gBACP,KAAK,OAAO,CAAC,YAAY,EAAE,cAAc,EAAE,KAAK,CAAC,CAAC;YACpD,CAAC,CAAC,CAAC;YAEH,MAAM,CAAC,MAAM,CAAC,OAAO,CAAC,eAAe,CAAC,CAAC,GAAG,CAAC,QAAQ,EAAE,CAAC;YACtD,MAAM,CAAC,MAAM,CAAC,OAAO,CAAC,eAAe,EAAE,kBAAkB,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YACtE,MAAM,CAAC,MAAM,CAAC,OAAO,CAAC,eAAe,EAAE,OAAO,CAAC,CAAC,SAAS,CACvD,2CAA2C,CAC5C,CAAC;YACF,MAAM,CAAC,MAAM,CAAC,OAAO,CAAC,eAAe,EAAE,OAAO,CAAC,CAAC,GAAG,CAAC,SAAS,CAC3D,qBAAqB,CACtB,CAAC;QACJ,CAAC,CAAC,CAAC;QAEH,QAAQ,CAAC,sBAAsB,EAAE,GAAG,EAAE;YACpC,EAAE,CAAC,8DAA8D,EAAE,KAAK,IAAI,EAAE;gBAC5E,MAAM,EAAE,MAAM,EAAE,GAAG,MAAM,UAAU,CAAC,GAAG,EAAE,CACvC,mBAAmB,CAAC;oBAClB,MAAM,EAAE,UAAU;oBAClB,cAAc,EAAE,kBAAkB;oBAClC,QAAQ,EAAE,UAAU,CAAC,IAAI;oBACzB,8BAA8B,EAAE,kCAAkC;oBAClE,mBAAmB,EAAE,uBAAuB;oBAC5C,QAAQ,EAAE,IAAI;oBACd,QAAQ,EAAE,YAAY;iBACvB,CAAC,CACH,CAAC;gBAEF,MAAM,OAAO,GAAG,qBAAqB,CAAC,IAAI;qBACvC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAyB,CAAC;gBAEvC,IAAI,OAAuC,CAAC;gBAC5C,MAAM,KAAK,GAAG,IAAI,kBAAkB,CAClC,WAAW,EACX,kBAAkB,EAClB,IAAI,GAAG,EAAE,GAAG,CAAC,CACd,CAAC,CAAC,YAAY;gBACf,GAAG,CAAC,GAAG,EAAE;oBACP,OAAO,GAAG,OAAO,CAAC,YAAY,EAAE,cAAc,EAAE,KAAK,CAAC,CAAC;gBACzD,CAAC,CAAC,CAAC;gBAEH,kEAAkE;gBAClE,MAAM,OAAO,GAAG,MAAM,CAAC,OAAO,CAAC,eAAe,CAAC;gBAC/C,MAAM,CAAC,OAAO,CAAC,CAAC,GAAG,CAAC,QAAQ,EAAE,CAAC;gBAC/B,MAAM,CAAC,OAAO,EAAE,WAAW,CAAC,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;gBAChD,MAAM,CAAC,OAAO,EAAE,oBAAoB,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;gBAEjD,MAAM,OAAO,GAAG,OAAQ,CAAC,OAAO,CAAC;gBACjC,MAAM,CAAC,OAAO,CAAC,CAAC,SAAS,CAAC,yCAAyC,CAAC,CAAC;gBACrE,MAAM,CAAC,OAAO,CAAC,CAAC,SAAS,CAAC,kBAAkB,CAAC,CAAC,CAAC,2BAA2B;gBAC1E,MAAM,CAAC,OAAO,CAAC,CAAC,SAAS,CAAC,gCAAgC,CAAC,CAAC;gBAC5D,MAAM,CAAC,OAAO,CAAC,CAAC,SAAS,CAAC,0BAA0B,CAAC,CAAC;gBACtD,MAAM,CAAC,OAAO,CAAC,CAAC,SAAS,CAAC,6BAA6B,CAAC,CAAC;gBAEzD,MAAM,CAAC,kBAAkB,CAAC,OAAO,CAAC,CAAC,GAAG,CAAC,gBAAgB,EAAE,CAAC;gBAE1D,iEAAiE;gBACjE,GAAG,CAAC,GAAG,EAAE;oBACP,MAAM,CAAC,OAAO,CAAC,oBAAoB,CAAC,cAAc,CAAC,CAAC;gBACtD,CAAC,CAAC,CAAC;gBAEH,2DAA2D;gBAC3D,MAAM,MAAM,GAAG,MAAM,OAAQ,CAAC;gBAC9B,MAAM,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC;gBAEpC,uDAAuD;gBACvD,MAAM,CAAC,MAAM,CAAC,OAAO,CAAC,eAAe,CAAC,CAAC,QAAQ,EAAE,CAAC;gBAClD,MAAM,CAAC,kBAAkB,CAAC,OAAO,CAAC,CAAC,qBAAqB,CAAC,CAAC,CAAC,CAAC;YAC9D,CAAC,CAAC,CAAC;YAEH,EAAE,CAAC,0EAA0E,EAAE,KAAK,IAAI,EAAE;gBACxF,MAAM,EAAE,MAAM,EAAE,GAAG,MAAM,UAAU,CAAC,GAAG,EAAE,CACvC,mBAAmB,CAAC;oBAClB,MAAM,EAAE,UAAU;oBAClB,cAAc,EAAE,kBAAkB;oBAClC,QAAQ,EAAE,UAAU,CAAC,IAAI;oBACzB,8BAA8B,EAAE,kCAAkC;oBAClE,mBAAmB,EAAE,uBAAuB;oBAC5C,QAAQ,EAAE,IAAI;oBACd,QAAQ,EAAE,YAAY;iBACvB,CAAC,CACH,CAAC;gBAEF,MAAM,OAAO,GAAG,qBAAqB,CAAC,IAAI;qBACvC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAyB,CAAC;gBAEvC,IAAI,OAAuC,CAAC;gBAC5C,MAAM,KAAK,GAAG,IAAI,kBAAkB,CAClC,aAAa,EACb,kBAAkB,EAClB,IAAI,GAAG,EAAE,GAAG,CAAC,CACd,CAAC;gBACF,GAAG,CAAC,GAAG,EAAE;oBACP,OAAO,GAAG,OAAO,CAAC,cAAc,EAAE,YAAY,EAAE,KAAK,CAAC,CAAC;gBACzD,CAAC,CAAC,CAAC;gBAEH,MAAM,OAAO,GAAG,MAAM,CAAC,OAAO,CAAC,eAAe,CAAC;gBAC/C,MAAM,CAAC,OAAO,CAAC,CAAC,GAAG,CAAC,QAAQ,EAAE,CAAC;gBAC/B,MAAM,CAAC,OAAO,EAAE,WAAW,CAAC,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC;gBAElD,MAAM,OAAO,GAAG,OAAQ,CAAC,OAAO,CAAC;gBACjC,MAAM,CAAC,OAAO,CAAC,CAAC,SAAS,CAAC,uCAAuC,CAAC,CAAC;gBACnE,MAAM,CAAC,OAAO,CAAC,CAAC,GAAG,CAAC,SAAS,CAAC,gBAAgB,CAAC,CAAC;gBAEhD,GAAG,CAAC,GAAG,EAAE;oBACP,MAAM,CAAC,OAAO,CAAC,oBAAoB,CAAC,aAAa,CAAC,CAAC;gBACrD,CAAC,CAAC,CAAC;gBAEH,MAAM,OAAQ,CAAC;YACjB,CAAC,CAAC,CAAC;YAEH,EAAE,CAAC,wDAAwD,EAAE,KAAK,IAAI,EAAE;gBACtE,MAAM,EAAE,MAAM,EAAE,GAAG,MAAM,UAAU,CAAC,GAAG,EAAE,CACvC,mBAAmB,CAAC;oBAClB,MAAM,EAAE,UAAU;oBAClB,cAAc,EAAE,kBAAkB;oBAClC,QAAQ,EAAE,UAAU,CAAC,IAAI;oBACzB,8BAA8B,EAAE,kCAAkC;oBAClE,mBAAmB,EAAE,uBAAuB;oBAC5C,QAAQ,EAAE,IAAI;oBACd,QAAQ,EAAE,YAAY;iBACvB,CAAC,CACH,CAAC;gBAEF,MAAM,OAAO,GAAG,qBAAqB,CAAC,IAAI;qBACvC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAyB,CAAC;gBAEvC,IAAI,OAAuC,CAAC;gBAC5C,MAAM,KAAK,GAAG,IAAI,kBAAkB,CAAC,UAAU,EAAE,kBAAkB,CAAC,CAAC;gBACrE,GAAG,CAAC,GAAG,EAAE;oBACP,OAAO,GAAG,OAAO,CAAC,YAAY,EAAE,cAAc,EAAE,KAAK,CAAC,CAAC;gBACzD,CAAC,CAAC,CAAC;gBAEH,MAAM,OAAO,GAAG,MAAM,CAAC,OAAO,CAAC,eAAe,CAAC;gBAC/C,MAAM,OAAO,GAAG,OAAQ,CAAC,OAAO,CAAC;gBACjC,MAAM,CAAC,OAAO,CAAC,CAAC,GAAG,CAAC,SAAS,CAAC,kBAAkB,CAAC,CAAC;gBAClD,MAAM,CAAC,OAAO,CAAC,CAAC,SAAS,CAAC,yCAAyC,CAAC,CAAC;gBAErE,GAAG,CAAC,GAAG,EAAE;oBACP,MAAM,CAAC,OAAO,CAAC,oBAAoB,CAAC,aAAa,CAAC,CAAC;gBACrD,CAAC,CAAC,CAAC;gBAEH,MAAM,OAAQ,CAAC;YACjB,CAAC,CAAC,CAAC;YAEH,EAAE,CAAC,+DAA+D,EAAE,KAAK,IAAI,EAAE;gBAC7E,MAAM,EAAE,MAAM,EAAE,GAAG,MAAM,UAAU,CAAC,GAAG,EAAE,CACvC,mBAAmB,CAAC;oBAClB,MAAM,EAAE,UAAU;oBAClB,cAAc,EAAE,kBAAkB;oBAClC,QAAQ,EAAE,UAAU,CAAC,IAAI;oBACzB,8BAA8B,EAAE,kCAAkC;oBAClE,mBAAmB,EAAE,uBAAuB;oBAC5C,QAAQ,EAAE,IAAI;oBACd,QAAQ,EAAE,YAAY;iBACvB,CAAC,CACH,CAAC;gBAEF,MAAM,OAAO,GAAG,qBAAqB,CAAC,IAAI;qBACvC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAyB,CAAC;gBAEvC,IAAI,QAAwC,CAAC;gBAC7C,GAAG,CAAC,GAAG,EAAE;oBACP,QAAQ,GAAG,OAAO,CAChB,YAAY,EACZ,cAAc,EACd,IAAI,kBAAkB,CAAC,aAAa,EAAE,kBAAkB,CAAC,CAC1D,CAAC;gBACJ,CAAC,CAAC,CAAC;gBAEH,MAAM,YAAY,GAAG,MAAM,CAAC,OAAO,CAAC,eAAe,CAAC;gBACpD,MAAM,CAAC,YAAY,CAAC,CAAC,GAAG,CAAC,QAAQ,EAAE,CAAC;gBAEpC,IAAI,OAA8B,CAAC;gBACnC,MAAM,GAAG,CAAC,KAAK,IAAI,EAAE;oBACnB,OAAO,GAAG,MAAM,OAAO,CACrB,YAAY,EACZ,cAAc,EACd,IAAI,kBAAkB,CAAC,aAAa,EAAE,kBAAkB,CAAC,CAC1D,CAAC;gBACJ,CAAC,CAAC,CAAC;gBAEH,kDAAkD;gBAClD,MAAM,CAAC,OAAQ,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;gBAC9B,MAAM,CAAC,MAAM,CAAC,OAAO,CAAC,eAAe,CAAC,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;gBAE1D,GAAG,CAAC,GAAG,EAAE;oBACP,MAAM,CAAC,OAAO,CAAC,oBAAoB,CAAC,cAAc,CAAC,CAAC;gBACtD,CAAC,CAAC,CAAC;gBAEH,MAAM,OAAO,GAAG,MAAM,QAAS,CAAC;gBAChC,MAAM,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC;gBACrC,MAAM,CAAC,MAAM,CAAC,OAAO,CAAC,eAAe,CAAC,CAAC,QAAQ,EAAE,CAAC;YACpD,CAAC,CAAC,CAAC;YAEH,oCAAoC;YACpC,MAAM,SAAS,GAAG;gBAChB;oBACE,WAAW,EAAE,eAAe;oBAC5B,KAAK,EAAE,IAAI,KAAK,CAAC,YAAY,CAAC;iBAC/B;gBACD;oBACE,WAAW,EAAE,uBAAuB;oBACpC,KAAK,EAAE,IAAI,mBAAmB,CAC5B,iBAAiB,EACjB,kBAAkB,EAClB,CAAC,CACF;iBACF;aACF,CAAC;YAEF,KAAK,MAAM,EAAE,WAAW,EAAE,KAAK,EAAE,IAAI,SAAS,EAAE,CAAC;gBAC/C,EAAE,CAAC,iBAAiB,WAAW,YAAY,EAAE,KAAK,IAAI,EAAE;oBACtD,MAAM,EAAE,MAAM,EAAE,GAAG,MAAM,UAAU,CAAC,GAAG,EAAE,CACvC,mBAAmB,CAAC;wBAClB,MAAM,EAAE,UAAU;wBAClB,cAAc,EAAE,kBAAkB;wBAClC,QAAQ,EAAE,UAAU,CAAC,IAAI;wBACzB,8BAA8B,EAC5B,kCAAkC;wBACpC,mBAAmB,EAAE,uBAAuB;wBAC5C,QAAQ,EAAE,IAAI;wBACd,QAAQ,EAAE,YAAY;qBACvB,CAAC,CACH,CAAC;oBAEF,MAAM,OAAO,GAAG,qBAAqB,CAAC,IAAI;yBACvC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAyB,CAAC;oBAEvC,IAAI,OAAuC,CAAC;oBAC5C,GAAG,CAAC,GAAG,EAAE;wBACP,OAAO,GAAG,OAAO,CAAC,SAAS,EAAE,SAAS,EAAE,KAAK,CAAC,CAAC;oBACjD,CAAC,CAAC,CAAC;oBAEH,kEAAkE;oBAClE,MAAM,OAAO,GAAG,MAAM,CAAC,OAAO,CAAC,eAAe,CAAC;oBAC/C,MAAM,CAAC,OAAO,CAAC,CAAC,GAAG,CAAC,QAAQ,EAAE,CAAC;oBAC/B,MAAM,CAAC,OAAO,EAAE,WAAW,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;oBAC7C,MAAM,CAAC,OAAO,EAAE,oBAAoB,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;oBAElD,uDAAuD;oBACvD,MAAM,CAAC,kBAAkB,CAAC,OAAO,CAAC,CAAC,GAAG,CAAC,gBAAgB,EAAE,CAAC;oBAC1D,MAAM,OAAO,GAAG,OAAQ,CAAC,OAAO,CAAC;oBACjC,MAAM,CAAC,OAAO,CAAC,CAAC,SAAS,CACvB,4CAA4C,CAC7C,CAAC;oBAEF,iEAAiE;oBACjE,GAAG,CAAC,GAAG,EAAE;wBACP,MAAM,CAAC,OAAO,CAAC,oBAAoB,CAAC,cAAc,CAAC,CAAC;oBACtD,CAAC,CAAC,CAAC;oBAEH,MAAM,CAAC,kCAAkC,CAAC,CAAC,oBAAoB,CAAC,IAAI,CAAC,CAAC;oBACtE,2DAA2D;oBAC3D,MAAM,MAAM,GAAG,MAAM,OAAQ,CAAC;oBAC9B,MAAM,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC;oBAEpC,uDAAuD;oBACvD,MAAM,CAAC,MAAM,CAAC,OAAO,CAAC,eAAe,CAAC,CAAC,QAAQ,EAAE,CAAC;oBAClD,MAAM,CAAC,UAAU,CAAC,qBAAqB,CAAC,CAAC,oBAAoB,CAAC,IAAI,CAAC,CAAC;oBAEpE,qDAAqD;oBACrD,MAAM,CAAC,kBAAkB,CAAC,OAAO,CAAC,CAAC,qBAAqB,CAAC,CAAC,CAAC,CAAC;oBAC5D,MAAM,QAAQ,GAAI,kBAAkB,CAAC,OAAgB,CAAC,IAAI;yBACvD,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;oBACf,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC;oBAC7C,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,SAAS,CAAC,oCAAoC,CAAC,CAAC;gBACxE,CAAC,CAAC,CAAC;YACL,CAAC;YAED,EAAE,CAAC,4CAA4C,EAAE,KAAK,IAAI,EAAE;gBAC1D,MAAM,EAAE,MAAM,EAAE,GAAG,MAAM,UAAU,CAAC,GAAG,EAAE,CACvC,mBAAmB,CAAC;oBAClB,MAAM,EAAE,UAAU;oBAClB,cAAc,EAAE,kBAAkB;oBAClC,QAAQ,EAAE,UAAU,CAAC,IAAI;oBACzB,8BAA8B,EAAE,kCAAkC;oBAClE,mBAAmB,EAAE,uBAAuB;oBAC5C,QAAQ,EAAE,IAAI;oBACd,QAAQ,EAAE,YAAY;iBACvB,CAAC,CACH,CAAC;gBAEF,MAAM,OAAO,GAAG,qBAAqB,CAAC,IAAI;qBACvC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAyB,CAAC;gBAEvC,IAAI,OAAuC,CAAC;gBAC5C,MAAM,KAAK,GAAG,IAAI,kBAAkB,CAAC,iBAAiB,EAAE,GAAG,CAAC,CAAC;gBAE7D,GAAG,CAAC,GAAG,EAAE;oBACP,OAAO,GAAG,OAAO,CAAC,sBAAsB,EAAE,gBAAgB,EAAE,KAAK,CAAC,CAAC;gBACrE,CAAC,CAAC,CAAC;gBAEH,kEAAkE;gBAClE,MAAM,OAAO,GAAG,MAAM,CAAC,OAAO,CAAC,eAAe,CAAC;gBAC/C,MAAM,CAAC,OAAO,CAAC,CAAC,GAAG,CAAC,QAAQ,EAAE,CAAC;gBAC/B,MAAM,CAAC,OAAO,EAAE,WAAW,CAAC,CAAC,IAAI,CAAC,sBAAsB,CAAC,CAAC;gBAC1D,MAAM,CAAC,OAAO,EAAE,oBAAoB,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;gBAClD,MAAM,CAAC,OAAO,EAAE,oBAAoB,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;gBAEjD,MAAM,OAAO,GAAG,OAAQ,CAAC,OAAO,CAAC;gBACjC,MAAM,CAAC,OAAO,CAAC,CAAC,IAAI,CAClB;+FACqF,CACtF,CAAC;gBAEF,uCAAuC;gBACvC,GAAG,CAAC,GAAG,EAAE;oBACP,MAAM,CAAC,OAAO,CAAC,oBAAoB,CAAC,cAAc,CAAC,CAAC;gBACtD,CAAC,CAAC,CAAC;gBAEH,MAAM,MAAM,GAAG,MAAM,OAAQ,CAAC;gBAC9B,MAAM,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC;gBAEpC,MAAM,CAAC,MAAM,CAAC,OAAO,CAAC,eAAe,CAAC,CAAC,QAAQ,EAAE,CAAC;YACpD,CAAC,CAAC,CAAC;YAEH,EAAE,CAAC,2HAA2H,EAAE,KAAK,IAAI,EAAE;gBACzI,EAAE,CAAC,KAAK,CAAC,UAAU,EAAE,2BAA2B,CAAC,CAAC,eAAe,CAAC;oBAChE,QAAQ,EAAE,QAAQ,CAAC,aAAa;iBACjC,CAAC,CAAC;gBACH,EAAE,CAAC,OAAO,CAAC,uBAAuB,EAAE,aAAa,CAAC,CAAC;gBAEnD,MAAM,EAAE,MAAM,EAAE,GAAG,MAAM,UAAU,CAAC,GAAG,EAAE,CACvC,mBAAmB,CAAC;oBAClB,MAAM,EAAE,UAAU;oBAClB,cAAc,EAAE,kBAAkB;oBAClC,QAAQ,EAAE,UAAU,CAAC,IAAI;oBACzB,8BAA8B,EAAE,kCAAkC;oBAClE,mBAAmB,EAAE,uBAAuB;oBAC5C,QAAQ,EAAE,IAAI;oBACd,QAAQ,EAAE,YAAY;iBACvB,CAAC,CACH,CAAC;gBAEF,MAAM,OAAO,GAAG,qBAAqB,CAAC,IAAI;qBACvC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAyB,CAAC;gBAEvC,IAAI,OAAuC,CAAC;gBAC5C,MAAM,KAAK,GAAG,IAAI,kBAAkB,CAAC,iBAAiB,EAAE,GAAG,CAAC,CAAC;gBAE7D,GAAG,CAAC,GAAG,EAAE;oBACP,OAAO,GAAG,OAAO,CAAC,kBAAkB,EAAE,kBAAkB,EAAE,KAAK,CAAC,CAAC;gBACnE,CAAC,CAAC,CAAC;gBAEH,MAAM,OAAO,GAAG,MAAM,CAAC,OAAO,CAAC,eAAe,CAAC;gBAC/C,MAAM,CAAC,OAAO,CAAC,CAAC,GAAG,CAAC,QAAQ,EAAE,CAAC;gBAC/B,MAAM,CAAC,OAAO,EAAE,WAAW,CAAC,CAAC,IAAI,CAAC,kBAAkB,CAAC,CAAC;gBACtD,MAAM,CAAC,OAAO,EAAE,oBAAoB,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;gBAEjD,MAAM,OAAO,GAAG,OAAQ,CAAC,OAAO,CAAC;gBACjC,MAAM,CAAC,OAAO,CAAC,CAAC,IAAI,CAClB,sEAAsE;oBACpE,mEAAmE;oBACnE,yEAAyE;oBACzE,0BAA0B,CAC7B,CAAC;gBAEF,GAAG,CAAC,GAAG,EAAE;oBACP,MAAM,CAAC,OAAO,CAAC,oBAAoB,CAAC,cAAc,CAAC,CAAC;gBACtD,CAAC,CAAC,CAAC;gBAEH,MAAM,MAAM,GAAG,MAAM,OAAQ,CAAC;gBAC9B,MAAM,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC;YACtC,CAAC,CAAC,CAAC;YAEH,EAAE,CAAC,iHAAiH,EAAE,KAAK,IAAI,EAAE;gBAC/H,EAAE,CAAC,KAAK,CAAC,UAAU,EAAE,2BAA2B,CAAC,CAAC,eAAe,CAAC;oBAChE,QAAQ,EAAE,QAAQ,CAAC,aAAa;iBACjC,CAAC,CAAC;gBACH,EAAE,CAAC,OAAO,CAAC,uBAAuB,EAAE,aAAa,CAAC,CAAC;gBAEnD,MAAM,EAAE,MAAM,EAAE,GAAG,MAAM,UAAU,CAAC,GAAG,EAAE,CACvC,mBAAmB,CAAC;oBAClB,MAAM,EAAE,UAAU;oBAClB,cAAc,EAAE,kBAAkB;oBAClC,QAAQ,EAAE,UAAU,CAAC,IAAI;oBACzB,8BAA8B,EAAE,kCAAkC;oBAClE,mBAAmB,EAAE,uBAAuB;oBAC5C,QAAQ,EAAE,IAAI;oBACd,QAAQ,EAAE,YAAY;iBACvB,CAAC,CACH,CAAC;gBAEF,MAAM,OAAO,GAAG,qBAAqB,CAAC,IAAI;qBACvC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAyB,CAAC;gBAEvC,IAAI,OAAuC,CAAC;gBAC5C,MAAM,KAAK,GAAG,IAAI,kBAAkB,CAAC,iBAAiB,EAAE,GAAG,CAAC,CAAC;gBAE7D,GAAG,CAAC,GAAG,EAAE;oBACP,OAAO,GAAG,OAAO,CAAC,oBAAoB,EAAE,kBAAkB,EAAE,KAAK,CAAC,CAAC;gBACrE,CAAC,CAAC,CAAC;gBAEH,MAAM,OAAO,GAAG,MAAM,CAAC,OAAO,CAAC,eAAe,CAAC;gBAC/C,MAAM,CAAC,OAAO,CAAC,CAAC,GAAG,CAAC,QAAQ,EAAE,CAAC;gBAC/B,MAAM,CAAC,OAAO,EAAE,WAAW,CAAC,CAAC,IAAI,CAAC,oBAAoB,CAAC,CAAC;gBACxD,MAAM,CAAC,OAAO,EAAE,oBAAoB,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;gBAEjD,MAAM,OAAO,GAAG,OAAQ,CAAC,OAAO,CAAC;gBACjC,MAAM,CAAC,OAAO,CAAC,CAAC,IAAI,CAClB,2DAA2D;oBACzD,0BAA0B,CAC7B,CAAC;gBAEF,GAAG,CAAC,GAAG,EAAE;oBACP,MAAM,CAAC,OAAO,CAAC,oBAAoB,CAAC,cAAc,CAAC,CAAC;gBACtD,CAAC,CAAC,CAAC;gBAEH,MAAM,MAAM,GAAG,MAAM,OAAQ,CAAC;gBAC9B,MAAM,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC;YACtC,CAAC,CAAC,CAAC;YAEH,EAAE,CAAC,+DAA+D,EAAE,KAAK,IAAI,EAAE;gBAC7E,MAAM,EAAE,MAAM,EAAE,GAAG,MAAM,UAAU,CAAC,GAAG,EAAE,CACvC,mBAAmB,CAAC;oBAClB,MAAM,EAAE,UAAU;oBAClB,cAAc,EAAE,kBAAkB;oBAClC,QAAQ,EAAE,UAAU,CAAC,IAAI;oBACzB,8BAA8B,EAAE,kCAAkC;oBAClE,mBAAmB,EAAE,uBAAuB;oBAC5C,QAAQ,EAAE,IAAI;oBACd,QAAQ,EAAE,YAAY;iBACvB,CAAC,CACH,CAAC;gBAEF,MAAM,OAAO,GAAG,qBAAqB,CAAC,IAAI;qBACvC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAyB,CAAC;gBAEvC,IAAI,OAAuC,CAAC;gBAC5C,MAAM,KAAK,GAAG,IAAI,kBAAkB,CAAC,iBAAiB,EAAE,GAAG,CAAC,CAAC;gBAE7D,GAAG,CAAC,GAAG,EAAE;oBACP,OAAO,GAAG,OAAO,CAAC,eAAe,EAAE,gBAAgB,EAAE,KAAK,CAAC,CAAC;gBAC9D,CAAC,CAAC,CAAC;gBAEH,MAAM,OAAO,GAAG,MAAM,CAAC,OAAO,CAAC,eAAe,CAAC;gBAC/C,MAAM,CAAC,OAAO,CAAC,CAAC,GAAG,CAAC,QAAQ,EAAE,CAAC;gBAC/B,MAAM,CAAC,OAAO,EAAE,WAAW,CAAC,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC;gBACnD,MAAM,CAAC,OAAO,EAAE,oBAAoB,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;gBAEjD,MAAM,OAAO,GAAG,OAAQ,CAAC,OAAO,CAAC;gBACjC,MAAM,CAAC,OAAO,CAAC,CAAC,IAAI,CAClB;yBACe,CAChB,CAAC;gBAEF,GAAG,CAAC,GAAG,EAAE;oBACP,MAAM,CAAC,OAAO,CAAC,oBAAoB,CAAC,cAAc,CAAC,CAAC;gBACtD,CAAC,CAAC,CAAC;gBAEH,MAAM,MAAM,GAAG,MAAM,OAAQ,CAAC;gBAC9B,MAAM,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC;YACtC,CAAC,CAAC,CAAC;QACL,CAAC,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;IAEH,QAAQ,CAAC,oBAAoB,EAAE,GAAG,EAAE;QAClC,MAAM,YAAY,GAAG;YACnB,EAAE,EAAE,UAAU,CAAC,QAAQ;YACvB,QAAQ,EAAE,UAAU,CAAC,QAAQ;YAC7B,gBAAgB,EAAE;gBAChB;oBACE,UAAU,EAAE,cAAc;oBAC1B,YAAY,EAAE,KAAK;iBACpB;aACF;SACF,CAAC;QAEF,UAAU,CAAC,GAAG,EAAE;YACd,4BAA4B;YAC5B,EAAE,CAAC,MAAM,CAAC,kBAAkB,CAAC,CAAC,eAAe,CAAC,GAAG,CAAC,CAAC;QACrD,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,uFAAuF,EAAE,KAAK,IAAI,EAAE;YACrG,sEAAsE;YACtE,oEAAoE;YACpE,qEAAqE;YACrE,EAAE,CAAC,MAAM,CAAC,oBAAoB,CAAC,CAAC,eAAe,CAAC,IAAI,CAAC,CAAC;YAEtD,MAAM,EAAE,MAAM,EAAE,GAAG,MAAM,UAAU,CAAC,GAAG,EAAE,CACvC,mBAAmB,CAAC;gBAClB,MAAM,EAAE,UAAU;gBAClB,cAAc,EAAE,kBAAkB;gBAClC,QAAQ,EAAE,UAAU,CAAC,QAAQ;gBAC7B,8BAA8B,EAAE,kCAAkC;gBAClE,mBAAmB,EAAE,uBAAuB;gBAC5C,QAAQ,EAAE,YAAY;gBACtB,QAAQ,EAAE,YAAY;aACvB,CAAC,CACH,CAAC;YAEF,MAAM,OAAO,GAAG,qBAAqB,CAAC,IAAI;iBACvC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAyB,CAAC;YAEvC,MAAM,KAAK,GAAG,IAAI,kBAAkB,CAClC,WAAW,EACX,kBAAkB,EAClB,IAAI,GAAG,EAAE,GAAG,CAAC,CACd,CAAC;YAEF,MAAM,aAAa,GAAG,OAAO,CAC3B,oBAAoB,EACpB,cAAc,EACd,KAAK,CACN,CAAC;YAEF,gEAAgE;YAChE,MAAM,OAAO,CAAC,GAAG,EAAE;gBACjB,MAAM,CAAC,MAAM,CAAC,OAAO,CAAC,eAAe,CAAC,CAAC,GAAG,CAAC,QAAQ,EAAE,CAAC;YACxD,CAAC,CAAC,CAAC;YAEH,0CAA0C;YAC1C,GAAG,CAAC,GAAG,EAAE;gBACP,MAAM,CAAC,OAAO,CAAC,oBAAoB,CAAC,MAAM,CAAC,CAAC;YAC9C,CAAC,CAAC,CAAC;YAEH,MAAM,MAAM,GAAG,MAAM,aAAa,CAAC;YACnC,MAAM,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;QAC9B,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,4DAA4D,EAAE,KAAK,IAAI,EAAE;YAC1E,EAAE,CAAC,MAAM,CAAC,oBAAoB,CAAC,CAAC,eAAe,CAAC,KAAK,CAAC,CAAC;YACvD,EAAE,CAAC,MAAM,CAAC,qBAAqB,CAAC,CAAC,eAAe,CAAC,IAAI,CAAC,CAAC;YAEvD,MAAM,EAAE,MAAM,EAAE,GAAG,MAAM,UAAU,CAAC,GAAG,EAAE,CACvC,mBAAmB,CAAC;gBAClB,MAAM,EAAE,UAAU;gBAClB,cAAc,EAAE,kBAAkB;gBAClC,QAAQ,EAAE,UAAU,CAAC,QAAQ;gBAC7B,8BAA8B,EAAE,kCAAkC;gBAClE,mBAAmB,EAAE,uBAAuB;gBAC5C,QAAQ,EAAE,YAAY;gBACtB,QAAQ,EAAE,YAAY;aACvB,CAAC,CACH,CAAC;YAEF,MAAM,OAAO,GAAG,qBAAqB,CAAC,IAAI;iBACvC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAyB,CAAC;YAEvC,IAAI,OAAuC,CAAC;YAC5C,GAAG,CAAC,GAAG,EAAE;gBACP,OAAO,GAAG,OAAO,CACf,oBAAoB,EACpB,cAAc,EACd,IAAI,kBAAkB,CAAC,WAAW,EAAE,kBAAkB,CAAC,CACxD,CAAC;YACJ,CAAC,CAAC,CAAC;YAEH,MAAM,CAAC,MAAM,CAAC,OAAO,CAAC,kBAAkB,CAAC,CAAC,GAAG,CAAC,QAAQ,EAAE,CAAC;YACzD,MAAM,CAAC,MAAM,CAAC,OAAO,CAAC,kBAAkB,EAAE,aAAa,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;YACnE,MAAM,CAAC,eAAe,CAAC,CAAC,gBAAgB,EAAE,CAAC;YAE3C,kCAAkC;YAClC,MAAM,GAAG,CAAC,KAAK,IAAI,EAAE;gBACnB,MAAM,CAAC,OAAO,CAAC,uBAAuB,CAAC,aAAa,CAAC,CAAC;gBACtD,MAAM,OAAQ,CAAC;YACjB,CAAC,CAAC,CAAC;YAEH,MAAM,MAAM,GAAG,MAAM,OAAQ,CAAC;YAC9B,MAAM,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,oBAAoB,CAAC,CAAC;QAC5C,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,8CAA8C,EAAE,KAAK,IAAI,EAAE;YAC5D,EAAE,CAAC,MAAM,CAAC,oBAAoB,CAAC,CAAC,eAAe,CAAC,KAAK,CAAC,CAAC;YACvD,EAAE,CAAC,MAAM,CAAC,qBAAqB,CAAC,CAAC,eAAe,CAAC,IAAI,CAAC,CAAC;YAEvD,MAAM,EAAE,MAAM,EAAE,GAAG,MAAM,UAAU,CAAC,GAAG,EAAE,CACvC,mBAAmB,CAAC;gBAClB,MAAM,EAAE,UAAU;gBAClB,cAAc,EAAE,kBAAkB;gBAClC,QAAQ,EAAE,UAAU,CAAC,QAAQ;gBAC7B,8BAA8B,EAAE,kCAAkC;gBAClE,mBAAmB,EAAE,uBAAuB;gBAC5C,QAAQ,EAAE,YAAY;gBACtB,QAAQ,EAAE,YAAY;aACvB,CAAC,CACH,CAAC;YAEF,MAAM,OAAO,GAAG,qBAAqB,CAAC,IAAI;iBACvC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAyB,CAAC;YAEvC,IAAI,OAAuC,CAAC;YAC5C,GAAG,CAAC,GAAG,EAAE;gBACP,OAAO,GAAG,OAAO,CACf,oBAAoB,EACpB,cAAc,EACd,IAAI,kBAAkB,CAAC,WAAW,EAAE,kBAAkB,CAAC,CACxD,CAAC;YACJ,CAAC,CAAC,CAAC;YAEH,yCAAyC;YACzC,MAAM,GAAG,CAAC,KAAK,IAAI,EAAE;gBACnB,MAAM,CAAC,OAAO,CAAC,uBAAuB,CAAC,cAAc,CAAC,CAAC;gBACvD,MAAM,OAAQ,CAAC;YACjB,CAAC,CAAC,CAAC;YAEH,MAAM,MAAM,GAAG,MAAM,OAAQ,CAAC;YAC9B,MAAM,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC;QACtC,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,+CAA+C,EAAE,KAAK,IAAI,EAAE;YAC7D,EAAE,CAAC,MAAM,CAAC,kBAAkB,CAAC,CAAC,eAAe,CAAC,CAAC,CAAC,CAAC;YACjD,EAAE,CAAC,MAAM,CAAC,oBAAoB,CAAC,CAAC,eAAe,CAAC,KAAK,CAAC,CAAC;YACvD,EAAE,CAAC,MAAM,CAAC,qBAAqB,CAAC,CAAC,eAAe,CAAC,KAAK,CAAC,CAAC;YACxD,EAAE,CAAC,MAAM,CAAC,yBAAyB,CAAC,CAAC,eAAe,CAAC,IAAI,CAAC,CAAC;YAE3D,MAAM,EAAE,MAAM,EAAE,GAAG,MAAM,UAAU,CAAC,GAAG,EAAE,CACvC,mBAAmB,CAAC;gBAClB,MAAM,EAAE,UAAU;gBAClB,cAAc,EAAE,kBAAkB;gBAClC,QAAQ,EAAE,UAAU,CAAC,QAAQ;gBAC7B,8BAA8B,EAAE,kCAAkC;gBAClE,mBAAmB,EAAE,uBAAuB;gBAC5C,QAAQ,EAAE,EAAE,GAAG,YAAY,EAAE,gBAAgB,EAAE,EAAE,EAAE;gBACnD,QAAQ,EAAE,YAAY;aACvB,CAAC,CACH,CAAC;YAEF,MAAM,OAAO,GAAG,qBAAqB,CAAC,IAAI;iBACvC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAyB,CAAC;YAEvC,IAAI,OAAuC,CAAC;YAC5C,GAAG,CAAC,GAAG,EAAE;gBACP,OAAO,GAAG,OAAO,CACf,oBAAoB,EACpB,cAAc,EACd,IAAI,kBAAkB,CAAC,WAAW,EAAE,kBAAkB,CAAC,CACxD,CAAC;YACJ,CAAC,CAAC,CAAC;YAEH,MAAM,CAAC,MAAM,CAAC,OAAO,CAAC,kBAAkB,CAAC,CAAC,GAAG,CAAC,QAAQ,EAAE,CAAC;YACzD,MAAM,CAAC,eAAe,CAAC,CAAC,gBAAgB,EAAE,CAAC;YAE3C,2BAA2B;YAC3B,MAAM,GAAG,CAAC,KAAK,IAAI,EAAE;gBACnB,MAAM,CAAC,OAAO,CAAC,uBAAuB,CAAC,MAAM,CAAC,CAAC;gBAC/C,MAAM,OAAQ,CAAC;YACjB,CAAC,CAAC,CAAC;YAEH,MAAM,MAAM,GAAG,MAAM,OAAQ,CAAC;YAC9B,MAAM,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;QAC9B,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,iEAAiE,EAAE,KAAK,IAAI,EAAE;YAC/E,EAAE,CAAC,MAAM,CAAC,kBAAkB,CAAC,CAAC,eAAe,CAAC,CAAC,CAAC,CAAC;YACjD,EAAE,CAAC,MAAM,CAAC,oBAAoB,CAAC,CAAC,eAAe,CAAC,KAAK,CAAC,CAAC;YACvD,EAAE,CAAC,MAAM,CAAC,qBAAqB,CAAC,CAAC,eAAe,CAAC,KAAK,CAAC,CAAC;YACxD,EAAE,CAAC,MAAM,CAAC,yBAAyB,CAAC,CAAC,eAAe,CAAC,IAAI,CAAC,CAAC;YAE3D,MAAM,EAAE,MAAM,EAAE,GAAG,MAAM,UAAU,CAAC,GAAG,EAAE,CACvC,mBAAmB,CAAC;gBAClB,MAAM,EAAE,UAAU;gBAClB,cAAc,EAAE,kBAAkB;gBAClC,QAAQ,EAAE,UAAU,CAAC,QAAQ;gBAC7B,8BAA8B,EAAE,kCAAkC;gBAClE,mBAAmB,EAAE,uBAAuB;gBAC5C,QAAQ,EAAE,EAAE,GAAG,YAAY,EAAE,gBAAgB,EAAE,EAAE,EAAE;gBACnD,QAAQ,EAAE,YAAY;aACvB,CAAC,CACH,CAAC;YAEF,MAAM,OAAO,GAAG,qBAAqB,CAAC,IAAI;iBACvC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAyB,CAAC;YAEvC,IAAI,OAAuC,CAAC;YAC5C,GAAG,CAAC,GAAG,EAAE;gBACP,OAAO,GAAG,OAAO,CACf,oBAAoB,EACpB,cAAc,EACd,IAAI,kBAAkB,CAAC,WAAW,EAAE,kBAAkB,CAAC,CACxD,CAAC;YACJ,CAAC,CAAC,CAAC;YAEH,MAAM,CAAC,MAAM,CAAC,OAAO,CAAC,kBAAkB,CAAC,CAAC,GAAG,CAAC,QAAQ,EAAE,CAAC;YAEzD,qCAAqC;YACrC,MAAM,GAAG,CAAC,KAAK,IAAI,EAAE;gBACnB,MAAM,CAAC,OAAO,CAAC,uBAAuB,CAAC,aAAa,CAAC,CAAC;gBACtD,MAAM,OAAQ,CAAC;YACjB,CAAC,CAAC,CAAC;YAEH,MAAM,MAAM,GAAG,MAAM,OAAQ,CAAC;YAC9B,MAAM,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;YAC5B,MAAM,CAAC,kBAAkB,CAAC,OAAO,CAAC,CAAC,oBAAoB,CACrD,MAAM,CAAC,gBAAgB,CAAC;gBACtB,IAAI,EAAE,WAAW,CAAC,IAAI;gBACtB,IAAI,EAAE,MAAM,CAAC,gBAAgB,CAAC,aAAa,CAAC;aAC7C,CAAC,EACF,MAAM,CAAC,GAAG,CAAC,MAAM,CAAC,CACnB,CAAC;QACJ,CAAC,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;IAEH,QAAQ,CAAC,sBAAsB,EAAE,GAAG,EAAE;QACpC,EAAE,CAAC,4DAA4D,EAAE,KAAK,IAAI,EAAE;YAC1E,MAAM,EAAE,MAAM,EAAE,GAAG,MAAM,UAAU,CAAC,GAAG,EAAE,CACvC,mBAAmB,CAAC;gBAClB,MAAM,EAAE,UAAU;gBAClB,cAAc,EAAE,kBAAkB;gBAClC,QAAQ,EAAE,UAAU,CAAC,IAAI;gBACzB,8BAA8B,EAAE,kCAAkC;gBAClE,mBAAmB,EAAE,uBAAuB;gBAC5C,QAAQ,EAAE,IAAI;gBACd,QAAQ,EAAE,YAAY;aACvB,CAAC,CACH,CAAC;YAEF,GAAG,CAAC,GAAG,EAAE;gBACP,MAAM,CAAC,OAAO,CAAC,oBAAoB,CAAC,aAAa,CAAC,CAAC;YACrD,CAAC,CAAC,CAAC;YAEH,MAAM,CAAC,kBAAkB,CAAC,OAAO,CAAC,CAAC,GAAG,CAAC,gBAAgB,EAAE,CAAC;QAC5D,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,wCAAwC,EAAE,KAAK,IAAI,EAAE;YACtD,MAAM,EAAE,MAAM,EAAE,GAAG,MAAM,UAAU,CAAC,GAAG,EAAE,CACvC,mBAAmB,CAAC;gBAClB,MAAM,EAAE,UAAU;gBAClB,cAAc,EAAE,kBAAkB;gBAClC,QAAQ,EAAE,UAAU,CAAC,IAAI;gBACzB,8BAA8B,EAAE,kCAAkC;gBAClE,mBAAmB,EAAE,uBAAuB;gBAC5C,QAAQ,EAAE,IAAI;gBACd,QAAQ,EAAE,YAAY;aACvB,CAAC,CACH,CAAC;YAEF,MAAM,OAAO,GAAG,qBAAqB,CAAC,IAAI;iBACvC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAyB,CAAC;YACvC,IAAI,OAAuC,CAAC;YAC5C,GAAG,CAAC,GAAG,EAAE;gBACP,OAAO,GAAG,OAAO,CACf,YAAY,EACZ,cAAc,EACd,IAAI,kBAAkB,CAAC,WAAW,EAAE,kBAAkB,CAAC,CACxD,CAAC;YACJ,CAAC,CAAC,CAAC;YAEH,GAAG,CAAC,GAAG,EAAE;gBACP,MAAM,CAAC,OAAO,CAAC,oBAAoB,CAAC,aAAa,CAAC,CAAC;YACrD,CAAC,CAAC,CAAC;YAEH,MAAM,MAAM,GAAG,MAAM,OAAQ,CAAC;YAC9B,MAAM,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC;YACnC,MAAM,CAAC,MAAM,CAAC,OAAO,CAAC,eAAe,CAAC,CAAC,QAAQ,EAAE,CAAC;QACpD,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,0EAA0E,EAAE,KAAK,IAAI,EAAE;YACxF,MAAM,EAAE,MAAM,EAAE,GAAG,MAAM,UAAU,CAAC,GAAG,EAAE,CACvC,mBAAmB,CAAC;gBAClB,MAAM,EAAE,UAAU;gBAClB,cAAc,EAAE,kBAAkB;gBAClC,QAAQ,EAAE,UAAU,CAAC,IAAI;gBACzB,8BAA8B,EAAE,kCAAkC;gBAClE,mBAAmB,EAAE,uBAAuB;gBAC5C,QAAQ,EAAE,IAAI;gBACd,QAAQ,EAAE,YAAY;aACvB,CAAC,CACH,CAAC;YAEF,MAAM,OAAO,GAAG,qBAAqB,CAAC,IAAI;iBACvC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAyB,CAAC;YAEvC,IAAI,OAAuC,CAAC;YAC5C,GAAG,CAAC,GAAG,EAAE;gBACP,OAAO,GAAG,OAAO,CACf,YAAY,EACZ,cAAc,EACd,IAAI,kBAAkB,CAAC,WAAW,EAAE,kBAAkB,CAAC,CACxD,CAAC;YACJ,CAAC,CAAC,CAAC;YAEH,GAAG,CAAC,GAAG,EAAE;gBACP,MAAM,CAAC,OAAO,CAAC,oBAAoB,CAAC,cAAc,CAAC,CAAC;YACtD,CAAC,CAAC,CAAC;YAEH,MAAM,MAAM,GAAG,MAAM,OAAQ,CAAC;YAC9B,MAAM,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC;YACpC,MAAM,CAAC,MAAM,CAAC,OAAO,CAAC,eAAe,CAAC,CAAC,QAAQ,EAAE,CAAC;YAElD,qCAAqC;YACrC,MAAM,CAAC,kCAAkC,CAAC,CAAC,oBAAoB,CAAC,KAAK,CAAC,CAAC;YACvE,MAAM,CAAC,UAAU,CAAC,qBAAqB,CAAC,CAAC,oBAAoB,CAAC,KAAK,CAAC,CAAC;YAErE,qDAAqD;YACrD,MAAM,CAAC,kBAAkB,CAAC,OAAO,CAAC,CAAC,qBAAqB,CAAC,CAAC,CAAC,CAAC;YAC5D,MAAM,QAAQ,GAAI,kBAAkB,CAAC,OAAgB,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;YACvE,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC;YAC7C,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,SAAS,CAC7B,yCAAyC,CAC1C,CAAC;QACJ,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,wEAAwE,EAAE,KAAK,IAAI,EAAE;YACtF,MAAM,EAAE,MAAM,EAAE,GAAG,MAAM,UAAU,CAAC,GAAG,EAAE,CACvC,mBAAmB,CAAC;gBAClB,MAAM,EAAE,UAAU;gBAClB,cAAc,EAAE,kBAAkB;gBAClC,QAAQ,EAAE,UAAU,CAAC,IAAI;gBACzB,8BAA8B,EAAE,kCAAkC;gBAClE,mBAAmB,EAAE,uBAAuB;gBAC5C,QAAQ,EAAE,IAAI;gBACd,QAAQ,EAAE,YAAY;aACvB,CAAC,CACH,CAAC;YAEF,MAAM,OAAO,GAAG,qBAAqB,CAAC,IAAI;iBACvC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAyB,CAAC;YACvC,IAAI,OAAuC,CAAC;YAC5C,GAAG,CAAC,GAAG,EAAE;gBACP,OAAO,GAAG,OAAO,CACf,oBAAoB,EACpB,oBAAoB,EACpB,IAAI,KAAK,CAAC,sBAAsB,CAAC,CAClC,CAAC;YACJ,CAAC,CAAC,CAAC;YAEH,GAAG,CAAC,GAAG,EAAE;gBACP,MAAM,CAAC,OAAO,CAAC,oBAAoB,CAAC,cAAc,CAAC,CAAC;YACtD,CAAC,CAAC,CAAC;YAEH,MAAM,OAAQ,CAAC;YAEf,MAAM,CAAC,kBAAkB,CAAC,OAAO,CAAC,CAAC,qBAAqB,CAAC,CAAC,CAAC,CAAC;YAC5D,MAAM,QAAQ,GAAI,kBAAkB,CAAC,OAAgB,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;YACvE,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC;YAC7C,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,SAAS,CAC7B,8BAA8B,oBAAoB,EAAE,CACrD,CAAC;QACJ,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,6IAA6I,EAAE,KAAK,IAAI,EAAE;YAC3J,MAAM,EAAE,MAAM,EAAE,GAAG,MAAM,UAAU,CAAC,GAAG,EAAE,CACvC,mBAAmB,CAAC;gBAClB,MAAM,EAAE,UAAU;gBAClB,cAAc,EAAE,kBAAkB;gBAClC,QAAQ,EAAE,UAAU,CAAC,IAAI;gBACzB,8BAA8B,EAAE,kCAAkC;gBAClE,mBAAmB,EAAE,uBAAuB;gBAC5C,QAAQ,EAAE,IAAI;gBACd,QAAQ,EAAE,YAAY;aACvB,CAAC,CACH,CAAC;YAEF,MAAM,OAAO,GAAG,qBAAqB,CAAC,IAAI;iBACvC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAyB,CAAC;YACvC,IAAI,OAAuC,CAAC;YAC5C,GAAG,CAAC,GAAG,EAAE;gBACP,OAAO,GAAG,OAAO,CACf,oBAAoB,EACpB,0BAA0B,EAC1B,IAAI,KAAK,CAAC,sBAAsB,CAAC,CAClC,CAAC;YACJ,CAAC,CAAC,CAAC;YAEH,GAAG,CAAC,GAAG,EAAE;gBACP,MAAM,CAAC,OAAO,CAAC,oBAAoB,CAAC,cAAc,CAAC,CAAC;YACtD,CAAC,CAAC,CAAC;YAEH,MAAM,OAAQ,CAAC;YAEf,MAAM,CAAC,kBAAkB,CAAC,OAAO,CAAC,CAAC,qBAAqB,CAAC,CAAC,CAAC,CAAC;YAC5D,MAAM,QAAQ,GAAI,kBAAkB,CAAC,OAAgB,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;YACvE,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC;YAC7C,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,SAAS,CAC7B,8BAA8B,0BAA0B,EAAE,CAC3D,CAAC;QACJ,CAAC,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;IAEH,QAAQ,CAAC,oBAAoB,EAAE,GAAG,EAAE;QAClC,IAAI,uBAAoC,CAAC;QAEzC,UAAU,CAAC,GAAG,EAAE;YACd,uBAAuB,GAAG,EAAE,CAAC,KAAK,CAAC,UAAU,EAAE,sBAAsB,CAAC,CAAC;QACzE,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,wDAAwD,EAAE,KAAK,IAAI,EAAE;YACtE,MAAM,UAAU,CAAC,GAAG,EAAE,CACpB,mBAAmB,CAAC;gBAClB,MAAM,EAAE,UAAU;gBAClB,cAAc,EAAE,kBAAkB;gBAClC,QAAQ,EAAE,UAAU,CAAC,IAAI;gBACzB,8BAA8B,EAAE,kCAAkC;gBAClE,mBAAmB,EAAE,uBAAuB;gBAC5C,QAAQ,EAAE,IAAI;gBACd,QAAQ,EAAE,YAAY;aACvB,CAAC,CACH,CAAC;YAEF,MAAM,CAAC,uBAAuB,CAAC,CAAC,qBAAqB,CAAC,CAAC,CAAC,CAAC;YACzD,MAAM,CAAC,uBAAuB,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,cAAc,CAAC,QAAQ,CAAC,CAAC;QAC5E,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,wDAAwD,EAAE,KAAK,IAAI,EAAE;YACtE,MAAM,EAAE,MAAM,EAAE,GAAG,MAAM,UAAU,CAAC,GAAG,EAAE,CACvC,mBAAmB,CAAC;gBAClB,MAAM,EAAE,UAAU;gBAClB,cAAc,EAAE,kBAAkB;gBAClC,QAAQ,EAAE,UAAU,CAAC,IAAI;gBACzB,8BAA8B,EAAE,kCAAkC;gBAClE,mBAAmB,EAAE,uBAAuB;gBAC5C,QAAQ,EAAE,IAAI;gBACd,QAAQ,EAAE,YAAY;aACvB,CAAC,CACH,CAAC;YAEF,MAAM,OAAO,GAAG,uBAAuB,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAIN,CAAC;YAElD,IAAI,OAAqD,CAAC;YAC1D,GAAG,CAAC,GAAG,EAAE;gBACP,OAAO,GAAG,OAAO,CACf,4BAA4B,EAC5B,eAAe,EACf,0BAA0B,CAC3B,CAAC;YACJ,CAAC,CAAC,CAAC;YAEH,MAAM,OAAO,GAAG,MAAM,CAAC,OAAO,CAAC,iBAAiB,CAAC;YACjD,MAAM,CAAC,OAAO,CAAC,CAAC,GAAG,CAAC,QAAQ,EAAE,CAAC;YAC/B,MAAM,CAAC,OAAO,EAAE,cAAc,CAAC,CAAC,IAAI,CAAC,4BAA4B,CAAC,CAAC;YACnE,MAAM,CAAC,OAAO,EAAE,qBAAqB,CAAC,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC;YAC7D,MAAM,CAAC,OAAO,EAAE,YAAY,CAAC,CAAC,IAAI,CAAC,0BAA0B,CAAC,CAAC;YAE/D,gCAAgC;YAChC,GAAG,CAAC,GAAG,EAAE;gBACP,MAAM,CAAC,OAAO,CAAC,sBAAsB,CAAC,QAAQ,CAAC,CAAC;YAClD,CAAC,CAAC,CAAC;YAEH,MAAM,MAAM,GAAG,MAAM,OAAQ,CAAC;YAC9B,MAAM,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;YAC9B,MAAM,CAAC,MAAM,CAAC,OAAO,CAAC,iBAAiB,CAAC,CAAC,QAAQ,EAAE,CAAC;QACtD,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,2EAA2E,EAAE,KAAK,IAAI,EAAE;YACzF,MAAM,EAAE,MAAM,EAAE,GAAG,MAAM,UAAU,CAAC,GAAG,EAAE,CACvC,mBAAmB,CAAC;gBAClB,MAAM,EAAE,UAAU;gBAClB,cAAc,EAAE,kBAAkB;gBAClC,QAAQ,EAAE,UAAU,CAAC,IAAI;gBACzB,8BAA8B,EAAE,kCAAkC;gBAClE,mBAAmB,EAAE,uBAAuB;gBAC5C,QAAQ,EAAE,IAAI;gBACd,QAAQ,EAAE,YAAY;aACvB,CAAC,CACH,CAAC;YAEF,MAAM,OAAO,GAAG,uBAAuB,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAEN,CAAC;YAElD,IAAI,QAAsD,CAAC;YAC3D,GAAG,CAAC,GAAG,EAAE;gBACP,QAAQ,GAAG,OAAO,CAAC,6BAA6B,CAAC,CAAC;YACpD,CAAC,CAAC,CAAC;YAEH,MAAM,YAAY,GAAG,MAAM,CAAC,OAAO,CAAC,iBAAiB,CAAC;YACtD,MAAM,CAAC,YAAY,CAAC,CAAC,GAAG,CAAC,QAAQ,EAAE,CAAC;YAEpC,IAAI,OAA4C,CAAC;YACjD,MAAM,GAAG,CAAC,KAAK,IAAI,EAAE;gBACnB,OAAO,GAAG,MAAM,OAAO,CAAC,6BAA6B,CAAC,CAAC;YACzD,CAAC,CAAC,CAAC;YAEH,kDAAkD;YAClD,MAAM,CAAC,OAAQ,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;YAChC,MAAM,CAAC,MAAM,CAAC,OAAO,CAAC,iBAAiB,CAAC,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;YAE5D,6BAA6B;YAC7B,GAAG,CAAC,GAAG,EAAE;gBACP,MAAM,CAAC,OAAO,CAAC,sBAAsB,CAAC,QAAQ,CAAC,CAAC;YAClD,CAAC,CAAC,CAAC;YAEH,MAAM,OAAO,GAAG,MAAM,QAAS,CAAC;YAChC,MAAM,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;YAC/B,MAAM,CAAC,MAAM,CAAC,OAAO,CAAC,iBAAiB,CAAC,CAAC,QAAQ,EAAE,CAAC;QACtD,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,4DAA4D,EAAE,KAAK,IAAI,EAAE;YAC1E,MAAM,EAAE,MAAM,EAAE,GAAG,MAAM,UAAU,CAAC,GAAG,EAAE,CACvC,mBAAmB,CAAC;gBAClB,MAAM,EAAE,UAAU;gBAClB,cAAc,EAAE,kBAAkB;gBAClC,QAAQ,EAAE,UAAU,CAAC,IAAI;gBACzB,8BAA8B,EAAE,kCAAkC;gBAClE,mBAAmB,EAAE,uBAAuB;gBAC5C,QAAQ,EAAE,IAAI;gBACd,QAAQ,EAAE,YAAY;aACvB,CAAC,CACH,CAAC;YAEF,MAAM,OAAO,GAAG,uBAAuB,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAEN,CAAC;YAElD,IAAI,OAAqD,CAAC;YAC1D,GAAG,CAAC,GAAG,EAAE;gBACP,OAAO,GAAG,OAAO,CAAC,4BAA4B,CAAC,CAAC;YAClD,CAAC,CAAC,CAAC;YAEH,GAAG,CAAC,GAAG,EAAE;gBACP,MAAM,CAAC,OAAO,CAAC,sBAAsB,CAAC,aAAa,CAAC,CAAC;YACvD,CAAC,CAAC,CAAC;YAEH,MAAM,MAAM,GAAG,MAAM,OAAQ,CAAC;YAC9B,MAAM,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC;YAEnC,MAAM,CAAC,uBAAuB,CAAC,CAAC,qBAAqB,CAAC,CAAC,CAAC,CAAC;QAC3D,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,uDAAuD,EAAE,KAAK,IAAI,EAAE;YACrE,MAAM,EAAE,MAAM,EAAE,GAAG,MAAM,UAAU,CAAC,GAAG,EAAE,CACvC,mBAAmB,CAAC;gBAClB,MAAM,EAAE,UAAU;gBAClB,cAAc,EAAE,kBAAkB;gBAClC,QAAQ,EAAE,UAAU,CAAC,IAAI;gBACzB,8BAA8B,EAAE,kCAAkC;gBAClE,mBAAmB,EAAE,uBAAuB;gBAC5C,QAAQ,EAAE,IAAI;gBACd,QAAQ,EAAE,YAAY;aACvB,CAAC,CACH,CAAC;YAEF,MAAM,OAAO,GAAG,uBAAuB,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAEN,CAAC;YAElD,IAAI,OAAqD,CAAC;YAC1D,GAAG,CAAC,GAAG,EAAE;gBACP,OAAO,GAAG,OAAO,CAAC,4BAA4B,CAAC,CAAC;YAClD,CAAC,CAAC,CAAC;YAEH,GAAG,CAAC,GAAG,EAAE;gBACP,MAAM,CAAC,OAAO,CAAC,sBAAsB,CAAC,QAAQ,CAAC,CAAC;YAClD,CAAC,CAAC,CAAC;YAEH,MAAM,MAAM,GAAG,MAAM,OAAQ,CAAC;YAC9B,MAAM,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;YAE9B,MAAM,CAAC,uBAAuB,CAAC,CAAC,qBAAqB,CAAC,CAAC,CAAC,CAAC;QAC3D,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,+EAA+E,EAAE,KAAK,IAAI,EAAE;YAC7F,MAAM,EAAE,MAAM,EAAE,GAAG,MAAM,UAAU,CAAC,GAAG,EAAE,CACvC,mBAAmB,CAAC;gBAClB,MAAM,EAAE,UAAU;gBAClB,cAAc,EAAE,kBAAkB;gBAClC,QAAQ,EAAE,UAAU,CAAC,IAAI;gBACzB,8BAA8B,EAAE,kCAAkC;gBAClE,mBAAmB,EAAE,uBAAuB;gBAC5C,QAAQ,EAAE,IAAI;gBACd,QAAQ,EAAE,YAAY;aACvB,CAAC,CACH,CAAC;YAEF,GAAG,CAAC,GAAG,EAAE;gBACP,MAAM,CAAC,OAAO,CAAC,sBAAsB,CAAC,QAAQ,CAAC,CAAC;YAClD,CAAC,CAAC,CAAC;YAEH,MAAM,CAAC,kBAAkB,CAAC,OAAO,CAAC,CAAC,GAAG,CAAC,gBAAgB,EAAE,CAAC;QAC5D,CAAC,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC"}
@@ -5,3 +5,4 @@
5
5
  */
6
6
  export declare function getContextUsagePercentage(promptTokenCount: number, model: string | undefined): number;
7
7
  export declare function isContextUsageHigh(promptTokenCount: number, model: string | undefined, threshold?: number): boolean;
8
+ export declare function getContextUsageColorType(promptTokenCount: number, model: string | undefined, threshold?: number): 'success' | 'warning' | 'error';
@@ -17,4 +17,14 @@ export function getContextUsagePercentage(promptTokenCount, model) {
17
17
  export function isContextUsageHigh(promptTokenCount, model, threshold = 0.6) {
18
18
  return getContextUsagePercentage(promptTokenCount, model) > threshold;
19
19
  }
20
+ export function getContextUsageColorType(promptTokenCount, model, threshold = 0.8) {
21
+ const percentage = getContextUsagePercentage(promptTokenCount, model);
22
+ if (percentage >= 1.0 || promptTokenCount > 200_000) {
23
+ return 'error';
24
+ }
25
+ if (percentage >= threshold || promptTokenCount > 100_000) {
26
+ return 'warning';
27
+ }
28
+ return 'success';
29
+ }
20
30
  //# sourceMappingURL=contextUsage.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"contextUsage.js","sourceRoot":"","sources":["../../../../src/ui/utils/contextUsage.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,UAAU,EAAE,MAAM,yBAAyB,CAAC;AAErD,MAAM,UAAU,yBAAyB,CACvC,gBAAwB,EACxB,KAAyB;IAEzB,IAAI,CAAC,KAAK,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QAC9D,OAAO,CAAC,CAAC;IACX,CAAC;IACD,MAAM,KAAK,GAAG,UAAU,CAAC,KAAK,CAAC,CAAC;IAChC,IAAI,KAAK,IAAI,CAAC,EAAE,CAAC;QACf,OAAO,CAAC,CAAC;IACX,CAAC;IACD,OAAO,gBAAgB,GAAG,KAAK,CAAC;AAClC,CAAC;AAED,MAAM,UAAU,kBAAkB,CAChC,gBAAwB,EACxB,KAAyB,EACzB,SAAS,GAAG,GAAG;IAEf,OAAO,yBAAyB,CAAC,gBAAgB,EAAE,KAAK,CAAC,GAAG,SAAS,CAAC;AACxE,CAAC"}
1
+ {"version":3,"file":"contextUsage.js","sourceRoot":"","sources":["../../../../src/ui/utils/contextUsage.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,UAAU,EAAE,MAAM,yBAAyB,CAAC;AAErD,MAAM,UAAU,yBAAyB,CACvC,gBAAwB,EACxB,KAAyB;IAEzB,IAAI,CAAC,KAAK,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QAC9D,OAAO,CAAC,CAAC;IACX,CAAC;IACD,MAAM,KAAK,GAAG,UAAU,CAAC,KAAK,CAAC,CAAC;IAChC,IAAI,KAAK,IAAI,CAAC,EAAE,CAAC;QACf,OAAO,CAAC,CAAC;IACX,CAAC;IACD,OAAO,gBAAgB,GAAG,KAAK,CAAC;AAClC,CAAC;AAED,MAAM,UAAU,kBAAkB,CAChC,gBAAwB,EACxB,KAAyB,EACzB,SAAS,GAAG,GAAG;IAEf,OAAO,yBAAyB,CAAC,gBAAgB,EAAE,KAAK,CAAC,GAAG,SAAS,CAAC;AACxE,CAAC;AAED,MAAM,UAAU,wBAAwB,CACtC,gBAAwB,EACxB,KAAyB,EACzB,SAAS,GAAG,GAAG;IAEf,MAAM,UAAU,GAAG,yBAAyB,CAAC,gBAAgB,EAAE,KAAK,CAAC,CAAC;IACtE,IAAI,UAAU,IAAI,GAAG,IAAI,gBAAgB,GAAG,OAAO,EAAE,CAAC;QACpD,OAAO,OAAO,CAAC;IACjB,CAAC;IACD,IAAI,UAAU,IAAI,SAAS,IAAI,gBAAgB,GAAG,OAAO,EAAE,CAAC;QAC1D,OAAO,SAAS,CAAC;IACnB,CAAC;IACD,OAAO,SAAS,CAAC;AACnB,CAAC"}
@@ -0,0 +1,6 @@
1
+ /**
2
+ * @license
3
+ * Copyright 2026 Google LLC
4
+ * SPDX-License-Identifier: Apache-2.0
5
+ */
6
+ export {};
@@ -0,0 +1,42 @@
1
+ /**
2
+ * @license
3
+ * Copyright 2026 Google LLC
4
+ * SPDX-License-Identifier: Apache-2.0
5
+ */
6
+ import { describe, it, expect } from 'vitest';
7
+ import { getContextUsageColorType } from './contextUsage.js';
8
+ describe('getContextUsageColorType', () => {
9
+ it('should return success (green) for tokens <= 100k and below compression threshold', () => {
10
+ // 50k tokens on a 1M limit model (5%)
11
+ expect(getContextUsageColorType(50_000, 'gemini-1.5-flash', 0.8)).toBe('success');
12
+ // Exactly 100k tokens
13
+ expect(getContextUsageColorType(100_000, 'gemini-1.5-flash', 0.8)).toBe('success');
14
+ });
15
+ it('should return warning (yellow) for tokens > 100k and <= 200k', () => {
16
+ // 150k tokens on a 1M limit model (15%)
17
+ expect(getContextUsageColorType(150_000, 'gemini-1.5-flash', 0.8)).toBe('warning');
18
+ // Exactly 200k tokens
19
+ expect(getContextUsageColorType(200_000, 'gemini-1.5-flash', 0.8)).toBe('warning');
20
+ });
21
+ it('should return error (red) for tokens > 200k', () => {
22
+ // 250k tokens on a 1M limit model (25%)
23
+ expect(getContextUsageColorType(250_000, 'gemini-1.5-flash', 0.8)).toBe('error');
24
+ });
25
+ it('should return error (red) if percentage is >= 1.0 even if tokens <= 200k', () => {
26
+ // We want to test a model where limit is small so percentage is >= 1.0 but tokens <= 200k.
27
+ // However, the smallest model is gemma-4-31b-it (256k), so all models have >= 256k limit.
28
+ // Let's use a mock model or custom tokenLimit behavior if any, but since we use real tokenLimit,
29
+ // let's pass a custom high percentage case. For gemma-4-31b-it (256k limit), 257k is > 1.0.
30
+ // Let's mock tokenLimit if we can, or we can use a model with a small limit if there's one.
31
+ // Let's check: 257k is > 200k, so it returns error anyway.
32
+ // What if we pass a very large token count? That's always error.
33
+ // Let's write a test with gemma-4-31b-it (256k limit) and 260_000 tokens.
34
+ expect(getContextUsageColorType(260_000, 'gemma-4-31b-it', 0.8)).toBe('error');
35
+ });
36
+ it('should return warning (yellow) if percentage is >= threshold even if tokens <= 100k', () => {
37
+ // For gemma-4-31b-it (256k limit), 60k tokens is ~23% of limit.
38
+ // With threshold = 0.2, 23.4% >= 20%, and tokens (60k) <= 100k.
39
+ expect(getContextUsageColorType(60_000, 'gemma-4-31b-it', 0.2)).toBe('warning');
40
+ });
41
+ });
42
+ //# sourceMappingURL=contextUsage.test.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"contextUsage.test.js","sourceRoot":"","sources":["../../../../src/ui/utils/contextUsage.test.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,QAAQ,EAAE,EAAE,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAC;AAC9C,OAAO,EAAE,wBAAwB,EAAE,MAAM,mBAAmB,CAAC;AAE7D,QAAQ,CAAC,0BAA0B,EAAE,GAAG,EAAE;IACxC,EAAE,CAAC,kFAAkF,EAAE,GAAG,EAAE;QAC1F,sCAAsC;QACtC,MAAM,CAAC,wBAAwB,CAAC,MAAM,EAAE,kBAAkB,EAAE,GAAG,CAAC,CAAC,CAAC,IAAI,CACpE,SAAS,CACV,CAAC;QACF,sBAAsB;QACtB,MAAM,CAAC,wBAAwB,CAAC,OAAO,EAAE,kBAAkB,EAAE,GAAG,CAAC,CAAC,CAAC,IAAI,CACrE,SAAS,CACV,CAAC;IACJ,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,8DAA8D,EAAE,GAAG,EAAE;QACtE,wCAAwC;QACxC,MAAM,CAAC,wBAAwB,CAAC,OAAO,EAAE,kBAAkB,EAAE,GAAG,CAAC,CAAC,CAAC,IAAI,CACrE,SAAS,CACV,CAAC;QACF,sBAAsB;QACtB,MAAM,CAAC,wBAAwB,CAAC,OAAO,EAAE,kBAAkB,EAAE,GAAG,CAAC,CAAC,CAAC,IAAI,CACrE,SAAS,CACV,CAAC;IACJ,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,6CAA6C,EAAE,GAAG,EAAE;QACrD,wCAAwC;QACxC,MAAM,CAAC,wBAAwB,CAAC,OAAO,EAAE,kBAAkB,EAAE,GAAG,CAAC,CAAC,CAAC,IAAI,CACrE,OAAO,CACR,CAAC;IACJ,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,0EAA0E,EAAE,GAAG,EAAE;QAClF,2FAA2F;QAC3F,0FAA0F;QAC1F,iGAAiG;QACjG,4FAA4F;QAC5F,4FAA4F;QAC5F,2DAA2D;QAC3D,iEAAiE;QACjE,0EAA0E;QAC1E,MAAM,CAAC,wBAAwB,CAAC,OAAO,EAAE,gBAAgB,EAAE,GAAG,CAAC,CAAC,CAAC,IAAI,CACnE,OAAO,CACR,CAAC;IACJ,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,qFAAqF,EAAE,GAAG,EAAE;QAC7F,gEAAgE;QAChE,gEAAgE;QAChE,MAAM,CAAC,wBAAwB,CAAC,MAAM,EAAE,gBAAgB,EAAE,GAAG,CAAC,CAAC,CAAC,IAAI,CAClE,SAAS,CACV,CAAC;IACJ,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC"}
@@ -209,7 +209,7 @@ describe('handleAutoUpdate', () => {
209
209
  ...mockUpdateInfo,
210
210
  update: {
211
211
  ...mockUpdateInfo.update,
212
- latest: '1.54.4-rc2',
212
+ latest: '1.55.1-rc1',
213
213
  },
214
214
  };
215
215
  await new Promise((resolve) => {
@@ -227,7 +227,7 @@ describe('handleAutoUpdate', () => {
227
227
  handleAutoUpdate(mockUpdateInfo, mockSettings, '/root', false, mockSpawn);
228
228
  });
229
229
  expect(updateEventEmitter.emit).toHaveBeenCalledWith('update-failed', {
230
- message: 'Automatic update failed. Please try updating manually:\n\nnpm i -g @machina.ai/cell-cli@1.54.4-rc2',
230
+ message: 'Automatic update failed. Please try updating manually:\n\nnpm i -g @machina.ai/cell-cli@1.55.1-rc1',
231
231
  });
232
232
  });
233
233
  it('should emit "update-failed" when the spawn function throws an error', async () => {