agents-library 0.1.1 → 0.1.2

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.
@@ -185,6 +185,11 @@ export class BaseShadowAgent {
185
185
  * Stored so we can unsubscribe on stop().
186
186
  */
187
187
  fileEventHandler = null;
188
+ /**
189
+ * Native ability-file-local instance for in-process file operations.
190
+ * Set via setNativeFileLocal() after loadNative in the consuming agent.
191
+ */
192
+ nativeFileLocal = null;
188
193
  /**
189
194
  * Set of changed file paths awaiting backup processing
190
195
  *
@@ -233,7 +238,7 @@ export class BaseShadowAgent {
233
238
  if (baseAgent) {
234
239
  this.client = baseAgent.client;
235
240
  this.usesBaseAgent = true;
236
- logger.info(MODULE_AGENT, ' Using BaseAgent client (connection managed externally)', timer.elapsed('shadow-factory'));
241
+ logger.info(MODULE_AGENT, ' Using BaseAgent client (connection managed externally)', timer.elapsed('shadow-factory'));
237
242
  }
238
243
  else {
239
244
  this.client = new KadiClient({
@@ -246,13 +251,20 @@ export class BaseShadowAgent {
246
251
  });
247
252
  this.usesBaseAgent = false;
248
253
  }
249
- logger.info(MODULE_AGENT, `🔧 BaseShadowAgent initialized for role: ${this.role}`, timer.elapsed('shadow-factory'));
254
+ logger.info(MODULE_AGENT, `BaseShadowAgent initialized for role: ${this.role}`, timer.elapsed('shadow-factory'));
250
255
  logger.info(MODULE_AGENT, ` Worker worktree: ${this.workerWorktreePath}`, timer.elapsed('shadow-factory'));
251
256
  logger.info(MODULE_AGENT, ` Shadow worktree: ${this.shadowWorktreePath}`, timer.elapsed('shadow-factory'));
252
257
  logger.info(MODULE_AGENT, ` Worker branch: ${this.workerBranch}`, timer.elapsed('shadow-factory'));
253
258
  logger.info(MODULE_AGENT, ` Shadow branch: ${this.shadowBranch}`, timer.elapsed('shadow-factory'));
254
259
  logger.info(MODULE_AGENT, ` Debounce delay: ${this.debounceMs}ms`, timer.elapsed('shadow-factory'));
255
260
  }
261
+ /**
262
+ * Set native ability-file-local for in-process file operations.
263
+ * Call this after loadNative('ability-file-local') in the consuming agent.
264
+ */
265
+ setNativeFileLocal(native) {
266
+ this.nativeFileLocal = native;
267
+ }
256
268
  /**
257
269
  * Start the shadow agent
258
270
  *
@@ -276,26 +288,26 @@ export class BaseShadowAgent {
276
288
  * ```
277
289
  */
278
290
  async start() {
279
- logger.info(MODULE_AGENT, `🚀 Starting shadow agent for role: ${this.role}`, timer.elapsed('shadow-factory'));
291
+ logger.info(MODULE_AGENT, `Starting shadow agent for role: ${this.role}`, timer.elapsed('shadow-factory'));
280
292
  // Connect to KĀDI broker (skip if BaseAgent manages connection)
281
293
  if (this.usesBaseAgent) {
282
- logger.info(MODULE_AGENT, ' Broker connection managed by BaseAgent (skipping)', timer.elapsed('shadow-factory'));
294
+ logger.info(MODULE_AGENT, ' Broker connection managed by BaseAgent (skipping)', timer.elapsed('shadow-factory'));
283
295
  }
284
296
  else {
285
297
  logger.info(MODULE_AGENT, ' → Connecting to KĀDI broker...', timer.elapsed('shadow-factory'));
286
298
  try {
287
299
  await this.client.connect();
288
- logger.info(MODULE_AGENT, ' Connected to KĀDI broker', timer.elapsed('shadow-factory'));
300
+ logger.info(MODULE_AGENT, ' Connected to KĀDI broker', timer.elapsed('shadow-factory'));
289
301
  }
290
302
  catch (error) {
291
- logger.error(MODULE_AGENT, 'Broker connection error', timer.elapsed('shadow-factory'), error);
303
+ logger.error(MODULE_AGENT, 'Broker connection error', timer.elapsed('shadow-factory'), error);
292
304
  process.exit(1);
293
305
  }
294
306
  }
295
307
  // Subscribe to file.changed broker events (emitted by ability-file-local)
296
308
  await this.setupBrokerFileEventSubscription();
297
- logger.info(MODULE_AGENT, 'Broker file event subscription active', timer.elapsed('shadow-factory'));
298
- logger.info(MODULE_AGENT, 'Shadow agent started and monitoring via broker events', timer.elapsed('shadow-factory'));
309
+ logger.info(MODULE_AGENT, 'Broker file event subscription active', timer.elapsed('shadow-factory'));
310
+ logger.info(MODULE_AGENT, 'Shadow agent started and monitoring via broker events', timer.elapsed('shadow-factory'));
299
311
  }
300
312
  /**
301
313
  * Stop the shadow agent
@@ -317,10 +329,10 @@ export class BaseShadowAgent {
317
329
  * ```
318
330
  */
319
331
  async stop() {
320
- logger.info(MODULE_AGENT, `🛑 Stopping shadow agent for role: ${this.role}`, timer.elapsed('shadow-factory'));
332
+ logger.info(MODULE_AGENT, `Stopping shadow agent for role: ${this.role}`, timer.elapsed('shadow-factory'));
321
333
  // Unsubscribe from broker file events
322
334
  if (this.fileEventHandler) {
323
- logger.info(MODULE_AGENT, '🛑 Unsubscribing from file.changed events...', timer.elapsed('shadow-factory'));
335
+ logger.info(MODULE_AGENT, 'Unsubscribing from file.changed events...', timer.elapsed('shadow-factory'));
324
336
  try {
325
337
  await this.client.unsubscribe('file.changed', this.fileEventHandler);
326
338
  }
@@ -328,27 +340,27 @@ export class BaseShadowAgent {
328
340
  // Best-effort unsubscribe — may not be supported in all KadiClient versions
329
341
  }
330
342
  this.fileEventHandler = null;
331
- logger.info(MODULE_AGENT, 'File event subscription removed', timer.elapsed('shadow-factory'));
343
+ logger.info(MODULE_AGENT, 'File event subscription removed', timer.elapsed('shadow-factory'));
332
344
  }
333
345
  // Clear all pending debounce timers
334
346
  if (this.debounceMap.size > 0) {
335
- logger.info(MODULE_AGENT, `🛑 Clearing ${this.debounceMap.size} pending debounce timers...`, timer.elapsed('shadow-factory'));
347
+ logger.info(MODULE_AGENT, `Clearing ${this.debounceMap.size} pending debounce timers...`, timer.elapsed('shadow-factory'));
336
348
  for (const timeout of this.debounceMap.values()) {
337
349
  clearTimeout(timeout);
338
350
  }
339
351
  this.debounceMap.clear();
340
- logger.info(MODULE_AGENT, 'Debounce timers cleared', timer.elapsed('shadow-factory'));
352
+ logger.info(MODULE_AGENT, 'Debounce timers cleared', timer.elapsed('shadow-factory'));
341
353
  }
342
354
  // Disconnect KĀDI client (skip if BaseAgent manages connection)
343
355
  if (this.usesBaseAgent) {
344
- logger.info(MODULE_AGENT, ' Broker disconnection managed by BaseAgent (skipping)', timer.elapsed('shadow-factory'));
356
+ logger.info(MODULE_AGENT, ' Broker disconnection managed by BaseAgent (skipping)', timer.elapsed('shadow-factory'));
345
357
  }
346
358
  else {
347
359
  logger.info(MODULE_AGENT, ' → Disconnecting from KĀDI broker...', timer.elapsed('shadow-factory'));
348
360
  await this.client.disconnect();
349
- logger.info(MODULE_AGENT, ' Disconnected from KĀDI broker', timer.elapsed('shadow-factory'));
361
+ logger.info(MODULE_AGENT, ' Disconnected from KĀDI broker', timer.elapsed('shadow-factory'));
350
362
  }
351
- logger.info(MODULE_AGENT, 'Shadow agent stopped', timer.elapsed('shadow-factory'));
363
+ logger.info(MODULE_AGENT, 'Shadow agent stopped', timer.elapsed('shadow-factory'));
352
364
  }
353
365
  /**
354
366
  * Subscribe to file.changed broker events from ability-file-local
@@ -364,7 +376,7 @@ export class BaseShadowAgent {
364
376
  * then debounces and creates shadow backup commits.
365
377
  */
366
378
  async setupBrokerFileEventSubscription() {
367
- logger.info(MODULE_AGENT, `👁️ Subscribing to file.changed broker events for: ${this.workerWorktreePath}`, timer.elapsed('shadow-factory'));
379
+ logger.info(MODULE_AGENT, `Subscribing to file.changed broker events for: ${this.workerWorktreePath}`, timer.elapsed('shadow-factory'));
368
380
  const handler = async (event) => {
369
381
  try {
370
382
  const data = (event?.data || event);
@@ -393,29 +405,34 @@ export class BaseShadowAgent {
393
405
  clearTimeout(this.debounceMap.get(filePath));
394
406
  }
395
407
  const timeout = setTimeout(async () => {
396
- logger.info(MODULE_AGENT, `📝 Processing ${operation.toLowerCase()} file: ${relativePath}`, timer.elapsed('shadow-factory'));
408
+ logger.info(MODULE_AGENT, `Processing ${operation.toLowerCase()} file: ${relativePath}`, timer.elapsed('shadow-factory'));
397
409
  await this.createShadowBackup(operation, relativePath);
398
410
  this.debounceMap.delete(filePath);
399
411
  }, this.debounceMs);
400
412
  this.debounceMap.set(filePath, timeout);
401
413
  }
402
414
  catch (err) {
403
- logger.error(MODULE_AGENT, `❌ Error processing file.changed event: ${err.message}`, timer.elapsed('shadow-factory'), err);
415
+ logger.error(MODULE_AGENT, `Error processing file.changed event: ${err.message}`, timer.elapsed('shadow-factory'), err);
404
416
  }
405
417
  };
406
418
  this.fileEventHandler = handler;
407
419
  await this.client.subscribe('file.changed', handler);
408
- logger.info(MODULE_AGENT, 'Subscribed to file.changed broker events', timer.elapsed('shadow-factory'));
420
+ logger.info(MODULE_AGENT, 'Subscribed to file.changed broker events', timer.elapsed('shadow-factory'));
409
421
  // Invoke ability-file-local's watch_folder to start emitting file.changed events
410
- try {
411
- await this.client.invokeRemote('watch_folder', {
412
- folderPath: this.workerWorktreePath,
413
- watchId: `shadow-${this.role}`,
414
- });
415
- logger.info(MODULE_AGENT, `📂 Started file watcher via ability-file-local for: ${this.workerWorktreePath}`, timer.elapsed('shadow-factory'));
422
+ if (this.nativeFileLocal) {
423
+ try {
424
+ await this.nativeFileLocal.invoke('watch_folder', {
425
+ folderPath: this.workerWorktreePath,
426
+ watchId: `shadow-${this.role}`,
427
+ });
428
+ logger.info(MODULE_AGENT, `Started file watcher via native ability-file-local for: ${this.workerWorktreePath}`, timer.elapsed('shadow-factory'));
429
+ }
430
+ catch (err) {
431
+ logger.warn(MODULE_AGENT, `Could not start native file watcher: ${err.message}`, timer.elapsed('shadow-factory'));
432
+ }
416
433
  }
417
- catch (err) {
418
- logger.warn(MODULE_AGENT, `⚠️ Could not start file watcher (ability-file-local may not be available): ${err.message}`, timer.elapsed('shadow-factory'));
434
+ else {
435
+ logger.warn(MODULE_AGENT, 'ability-file-local not loaded natively — file watcher disabled (broker fallback not available)', timer.elapsed('shadow-factory'));
419
436
  }
420
437
  }
421
438
  /**
@@ -443,13 +460,13 @@ export class BaseShadowAgent {
443
460
  logger.info(MODULE_AGENT, `📦 Creating shadow backup: ${operation} - ${fileName}`, timer.elapsed('shadow-factory'));
444
461
  // Check circuit breaker state before attempting git operations
445
462
  if (this.checkCircuitBreaker()) {
446
- logger.warn(MODULE_AGENT, `⚠️ Circuit breaker open - skipping backup operation`, timer.elapsed('shadow-factory'));
463
+ logger.warn(MODULE_AGENT, `Circuit breaker open - skipping backup operation`, timer.elapsed('shadow-factory'));
447
464
  return;
448
465
  }
449
466
  try {
450
467
  // For COMMIT operations, parse worker commit and copy changed files
451
468
  if (operation === 'COMMIT') {
452
- logger.info(MODULE_AGENT, `📋 Processing worker commit mirror...`, timer.elapsed('shadow-factory'));
469
+ logger.info(MODULE_AGENT, `Processing worker commit mirror...`, timer.elapsed('shadow-factory'));
453
470
  // Step 1: Get latest commit hash from worker worktree
454
471
  const commitHash = execSync('git log -1 --format=%H', {
455
472
  cwd: this.workerWorktreePath,
@@ -502,7 +519,7 @@ export class BaseShadowAgent {
502
519
  }
503
520
  catch (copyError) {
504
521
  // File may have been deleted - that's ok, git will handle it
505
- logger.info(MODULE_AGENT, ` ℹ️ Could not copy ${file}: ${copyError.message}`, timer.elapsed('shadow-factory'));
522
+ logger.info(MODULE_AGENT, ` Could not copy ${file}: ${copyError.message}`, timer.elapsed('shadow-factory'));
506
523
  }
507
524
  }
508
525
  // Step 5: Stage all changes in shadow worktree
@@ -514,7 +531,7 @@ export class BaseShadowAgent {
514
531
  try {
515
532
  execSync('git diff --cached --quiet', { cwd: this.shadowWorktreePath });
516
533
  // Exit code 0 = nothing staged — FS watcher already backed up this change
517
- logger.info(MODULE_AGENT, `ℹ️ No new changes to commit (already backed up by filesystem watcher)`, timer.elapsed('shadow-factory'));
534
+ logger.info(MODULE_AGENT, `No new changes to commit (already backed up by filesystem watcher)`, timer.elapsed('shadow-factory'));
518
535
  this.recordGitSuccess();
519
536
  await this.publishBackupStatus(true, changedFiles, 'mirror-commit-skipped');
520
537
  return;
@@ -533,7 +550,7 @@ export class BaseShadowAgent {
533
550
  cwd: this.shadowWorktreePath,
534
551
  encoding: 'utf-8'
535
552
  }).trim();
536
- logger.info(MODULE_AGENT, `✅ Shadow commit created: ${shadowCommitHash.substring(0, 7)}`, timer.elapsed('shadow-factory'));
553
+ logger.info(MODULE_AGENT, `Shadow commit created: ${shadowCommitHash.substring(0, 7)}`, timer.elapsed('shadow-factory'));
537
554
  // Record success and reset failure count
538
555
  this.recordGitSuccess();
539
556
  // Publish backup success event using standardized method
@@ -541,7 +558,7 @@ export class BaseShadowAgent {
541
558
  }
542
559
  else {
543
560
  // For file operations (Created, Modified, Deleted), handle individual file
544
- logger.info(MODULE_AGENT, `📋 Processing file operation: ${operation} - ${fileName}`, timer.elapsed('shadow-factory'));
561
+ logger.info(MODULE_AGENT, `Processing file operation: ${operation} - ${fileName}`, timer.elapsed('shadow-factory'));
545
562
  const srcPath = path.join(this.workerWorktreePath, fileName);
546
563
  const destPath = path.join(this.shadowWorktreePath, fileName);
547
564
  // Create destination directory if needed
@@ -576,7 +593,7 @@ export class BaseShadowAgent {
576
593
  try {
577
594
  execSync('git diff --cached --quiet', { cwd: this.shadowWorktreePath });
578
595
  // Exit code 0 = nothing staged — content is identical to HEAD
579
- logger.info(MODULE_AGENT, `ℹ️ No new changes to commit (file unchanged)`, timer.elapsed('shadow-factory'));
596
+ logger.info(MODULE_AGENT, `No new changes to commit (file unchanged)`, timer.elapsed('shadow-factory'));
580
597
  this.recordGitSuccess();
581
598
  await this.publishBackupStatus(true, [fileName], `file-${operation.toLowerCase()}-skipped`);
582
599
  return;
@@ -595,7 +612,7 @@ export class BaseShadowAgent {
595
612
  cwd: this.shadowWorktreePath,
596
613
  encoding: 'utf-8'
597
614
  }).trim();
598
- logger.info(MODULE_AGENT, `✅ Shadow backup commit created: ${commitHash.substring(0, 7)}`, timer.elapsed('shadow-factory'));
615
+ logger.info(MODULE_AGENT, `Shadow backup commit created: ${commitHash.substring(0, 7)}`, timer.elapsed('shadow-factory'));
599
616
  // Record success and reset failure count
600
617
  this.recordGitSuccess();
601
618
  // Publish backup success event using standardized method
@@ -603,7 +620,7 @@ export class BaseShadowAgent {
603
620
  }
604
621
  }
605
622
  catch (error) {
606
- logger.error(MODULE_AGENT, `❌ Shadow backup failed: ${error.message}`, timer.elapsed('shadow-factory'), error);
623
+ logger.error(MODULE_AGENT, `Shadow backup failed: ${error.message}`, timer.elapsed('shadow-factory'), error);
607
624
  // Record failure and potentially open circuit breaker
608
625
  this.recordGitFailure('createShadowBackup', error);
609
626
  // Only publish failure event if circuit is not open (avoid spam)
@@ -653,7 +670,7 @@ export class BaseShadowAgent {
653
670
  }
654
671
  // Publish event using KadiClient
655
672
  await this.client.publish(topic, payload, { broker: 'default', network: 'global' });
656
- logger.info(MODULE_AGENT, `📤 Published backup ${success ? 'success' : 'failure'} event to ${topic}`, timer.elapsed('shadow-factory'));
673
+ logger.info(MODULE_AGENT, `Published backup ${success ? 'success' : 'failure'} event to ${topic}`, timer.elapsed('shadow-factory'));
657
674
  }
658
675
  /**
659
676
  * Check circuit breaker state for git operations
@@ -685,7 +702,7 @@ export class BaseShadowAgent {
685
702
  */
686
703
  recordGitFailure(operation, error) {
687
704
  this.gitFailureCount++;
688
- logger.error(MODULE_AGENT, `❌ Git operation failed (${this.gitFailureCount}/${this.MAX_GIT_FAILURES}): ${operation}`, timer.elapsed('shadow-factory'), error);
705
+ logger.error(MODULE_AGENT, `Git operation failed (${this.gitFailureCount}/${this.MAX_GIT_FAILURES}): ${operation}`, timer.elapsed('shadow-factory'), error);
689
706
  if (this.gitFailureCount >= this.MAX_GIT_FAILURES) {
690
707
  this.gitCircuitOpen = true;
691
708
  logger.error(MODULE_AGENT, `🚨 Circuit breaker opened - too many git failures`, timer.elapsed('shadow-factory'));
@@ -693,7 +710,7 @@ export class BaseShadowAgent {
693
710
  setTimeout(() => {
694
711
  this.gitCircuitOpen = false;
695
712
  this.gitFailureCount = 0;
696
- logger.info(MODULE_AGENT, `🔄 Circuit breaker reset - retrying git operations`, timer.elapsed('shadow-factory'));
713
+ logger.info(MODULE_AGENT, `Circuit breaker reset - retrying git operations`, timer.elapsed('shadow-factory'));
697
714
  }, this.CIRCUIT_RESET_TIME);
698
715
  }
699
716
  }
@@ -740,7 +757,7 @@ export class BaseShadowAgent {
740
757
  * debounceMs: 2000 // optional
741
758
  * };
742
759
  *
743
- * ShadowAgentConfigSchema.parse(validConfig); // Passes validation
760
+ * ShadowAgentConfigSchema.parse(validConfig); // Passes validation
744
761
  * ```
745
762
  */
746
763
  export const ShadowAgentConfigSchema = z.object({
@@ -808,13 +825,13 @@ export const ShadowAgentConfigSchema = z.object({
808
825
  * ```typescript
809
826
  * try {
810
827
  * const agent = ShadowAgentFactory.createAgent({
811
- * role: '', // Empty role will fail validation
828
+ * role: '', // Empty role will fail validation
812
829
  * workerWorktreePath: 'C:/p4/Personal/SD/agent-playground-artist',
813
830
  * shadowWorktreePath: 'C:/p4/Personal/SD/shadow-artist-backup',
814
831
  * workerBranch: 'main',
815
832
  * shadowBranch: 'shadow-main',
816
833
  * brokerUrl: 'ws://localhost:8080/kadi',
817
- * networks: [] // Empty networks array will fail validation
834
+ * networks: [] // Empty networks array will fail validation
818
835
  * });
819
836
  * } catch (error) {
820
837
  * console.error('Configuration validation failed:', error.message);
@@ -1 +1 @@
1
- {"version":3,"file":"shadow-agent-factory.js","sourceRoot":"","sources":["../src/shadow-agent-factory.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"shadow-agent-factory.js","sourceRoot":"","sources":["../src/shadow-agent-factory.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;GAyBG;AAEH,OAAO,EAAE,UAAU,EAAE,CAAC,EAAE,MAAM,kBAAkB,CAAC;AAGjD,OAAO,EAAE,MAAM,IAAI,CAAC;AACpB,OAAO,IAAI,MAAM,MAAM,CAAC;AACxB,OAAO,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC;AACzC,OAAO,EAAE,MAAM,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AACzD,OAAO,EAAE,KAAK,EAAE,MAAM,kBAAkB,CAAC;AAEzC,+EAA+E;AAC/E,wBAAwB;AACxB,+EAA+E;AAE/E;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA4CG;AACH,MAAM,OAAO,eAAe;IAC1B;;;;;;;OAOG;IACO,MAAM,CAAa;IAE7B;;;;;;OAMG;IACO,IAAI,CAAS;IAEvB;;;;;;;OAOG;IACO,kBAAkB,CAAS;IAErC;;;;;;;OAOG;IACO,kBAAkB,CAAS;IAErC;;;;;;OAMG;IACO,YAAY,CAAS;IAE/B;;;;;;OAMG;IACO,YAAY,CAAS;IAE/B;;;;;;;OAOG;IACO,UAAU,CAAS;IAE7B;;;;;OAKG;IACK,cAAc,GAAY,KAAK,CAAC;IAExC;;;;;OAKG;IACK,eAAe,GAAW,CAAC,CAAC;IAEpC;;;;OAIG;IACc,gBAAgB,GAAW,CAAC,CAAC;IAE9C;;;;;;OAMG;IACc,kBAAkB,GAAW,KAAK,CAAC;IAEpD;;;;;OAKG;IACH,oEAAoE;IACnD,MAAM,CAAoB;IAE3C;;;OAGG;IACc,aAAa,CAAU;IAExC;;;OAGG;IACK,gBAAgB,GAAsC,IAAI,CAAC;IAEnE;;;OAGG;IACK,eAAe,GAAe,IAAI,CAAC;IAE3C;;;;;;;;OAQG;IACK,WAAW,GAAgC,IAAI,GAAG,EAAE,CAAC;IAE7D;;;;;;;;;;;;;;;;;;;;;;OAsBG;IACH,YAAY,MAAyB,EAAE,SAAqB;QAC1D,uCAAuC;QACvC,KAAK,CAAC,KAAK,CAAC,gBAAgB,CAAC,CAAC;QAE9B,sBAAsB;QACtB,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;QACrB,IAAI,CAAC,IAAI,GAAG,MAAM,CAAC,IAAI,CAAC;QACxB,IAAI,CAAC,kBAAkB,GAAG,MAAM,CAAC,kBAAkB,CAAC;QACpD,IAAI,CAAC,kBAAkB,GAAG,MAAM,CAAC,kBAAkB,CAAC;QACpD,IAAI,CAAC,YAAY,GAAG,MAAM,CAAC,YAAY,CAAC;QACxC,IAAI,CAAC,YAAY,GAAG,MAAM,CAAC,YAAY,CAAC;QACxC,IAAI,CAAC,UAAU,GAAG,MAAM,CAAC,UAAU,IAAI,IAAI,CAAC;QAE5C,8EAA8E;QAC9E,IAAI,SAAS,EAAE,CAAC;YACd,IAAI,CAAC,MAAM,GAAG,SAAS,CAAC,MAAM,CAAC;YAC/B,IAAI,CAAC,aAAa,GAAG,IAAI,CAAC;YAC1B,MAAM,CAAC,IAAI,CAAC,YAAY,EAAE,2DAA2D,EAAE,KAAK,CAAC,OAAO,CAAC,gBAAgB,CAAC,CAAC,CAAC;QAC1H,CAAC;aAAM,CAAC;YACN,IAAI,CAAC,MAAM,GAAG,IAAI,UAAU,CAAC;gBAC3B,IAAI,EAAE,gBAAgB,MAAM,CAAC,IAAI,EAAE;gBACnC,OAAO,EAAE,OAAO;gBAChB,OAAO,EAAE;oBACP,OAAO,EAAE,EAAE,GAAG,EAAE,MAAM,CAAC,SAAS,EAAE,QAAQ,EAAE,MAAM,CAAC,QAAQ,EAAE;iBAC9D;gBACD,aAAa,EAAE,SAAS;aACzB,CAAC,CAAC;YACH,IAAI,CAAC,aAAa,GAAG,KAAK,CAAC;QAC7B,CAAC;QAED,MAAM,CAAC,IAAI,CAAC,YAAY,EAAE,yCAAyC,IAAI,CAAC,IAAI,EAAE,EAAE,KAAK,CAAC,OAAO,CAAC,gBAAgB,CAAC,CAAC,CAAC;QACjH,MAAM,CAAC,IAAI,CAAC,YAAY,EAAE,uBAAuB,IAAI,CAAC,kBAAkB,EAAE,EAAE,KAAK,CAAC,OAAO,CAAC,gBAAgB,CAAC,CAAC,CAAC;QAC7G,MAAM,CAAC,IAAI,CAAC,YAAY,EAAE,uBAAuB,IAAI,CAAC,kBAAkB,EAAE,EAAE,KAAK,CAAC,OAAO,CAAC,gBAAgB,CAAC,CAAC,CAAC;QAC7G,MAAM,CAAC,IAAI,CAAC,YAAY,EAAE,qBAAqB,IAAI,CAAC,YAAY,EAAE,EAAE,KAAK,CAAC,OAAO,CAAC,gBAAgB,CAAC,CAAC,CAAC;QACrG,MAAM,CAAC,IAAI,CAAC,YAAY,EAAE,qBAAqB,IAAI,CAAC,YAAY,EAAE,EAAE,KAAK,CAAC,OAAO,CAAC,gBAAgB,CAAC,CAAC,CAAC;QACrG,MAAM,CAAC,IAAI,CAAC,YAAY,EAAE,sBAAsB,IAAI,CAAC,UAAU,IAAI,EAAE,KAAK,CAAC,OAAO,CAAC,gBAAgB,CAAC,CAAC,CAAC;IACxG,CAAC;IAED;;;OAGG;IACH,kBAAkB,CAAC,MAAW;QAC5B,IAAI,CAAC,eAAe,GAAG,MAAM,CAAC;IAChC,CAAC;IAED;;;;;;;;;;;;;;;;;;;;;OAqBG;IACH,KAAK,CAAC,KAAK;QACT,MAAM,CAAC,IAAI,CAAC,YAAY,EAAE,mCAAmC,IAAI,CAAC,IAAI,EAAE,EAAE,KAAK,CAAC,OAAO,CAAC,gBAAgB,CAAC,CAAC,CAAC;QAE3G,gEAAgE;QAChE,IAAI,IAAI,CAAC,aAAa,EAAE,CAAC;YACvB,MAAM,CAAC,IAAI,CAAC,YAAY,EAAE,sDAAsD,EAAE,KAAK,CAAC,OAAO,CAAC,gBAAgB,CAAC,CAAC,CAAC;QACrH,CAAC;aAAM,CAAC;YACN,MAAM,CAAC,IAAI,CAAC,YAAY,EAAE,mCAAmC,EAAE,KAAK,CAAC,OAAO,CAAC,gBAAgB,CAAC,CAAC,CAAC;YAChG,IAAI,CAAC;gBACH,MAAM,IAAI,CAAC,MAAM,CAAC,OAAO,EAAE,CAAC;gBAC5B,MAAM,CAAC,IAAI,CAAC,YAAY,EAAE,6BAA6B,EAAE,KAAK,CAAC,OAAO,CAAC,gBAAgB,CAAC,CAAC,CAAC;YAC5F,CAAC;YAAC,OAAO,KAAU,EAAE,CAAC;gBACpB,MAAM,CAAC,KAAK,CAAC,YAAY,EAAE,yBAAyB,EAAE,KAAK,CAAC,OAAO,CAAC,gBAAgB,CAAC,EAAE,KAAK,CAAC,CAAC;gBAC9F,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;YAClB,CAAC;QACH,CAAC;QAED,0EAA0E;QAC1E,MAAM,IAAI,CAAC,gCAAgC,EAAE,CAAC;QAC9C,MAAM,CAAC,IAAI,CAAC,YAAY,EAAE,uCAAuC,EAAE,KAAK,CAAC,OAAO,CAAC,gBAAgB,CAAC,CAAC,CAAC;QAEpG,MAAM,CAAC,IAAI,CAAC,YAAY,EAAE,uDAAuD,EAAE,KAAK,CAAC,OAAO,CAAC,gBAAgB,CAAC,CAAC,CAAC;IACtH,CAAC;IAED;;;;;;;;;;;;;;;;;;OAkBG;IACH,KAAK,CAAC,IAAI;QACR,MAAM,CAAC,IAAI,CAAC,YAAY,EAAE,mCAAmC,IAAI,CAAC,IAAI,EAAE,EAAE,KAAK,CAAC,OAAO,CAAC,gBAAgB,CAAC,CAAC,CAAC;QAE3G,sCAAsC;QACtC,IAAI,IAAI,CAAC,gBAAgB,EAAE,CAAC;YAC1B,MAAM,CAAC,IAAI,CAAC,YAAY,EAAE,2CAA2C,EAAE,KAAK,CAAC,OAAO,CAAC,gBAAgB,CAAC,CAAC,CAAC;YACxG,IAAI,CAAC;gBACH,MAAO,IAAI,CAAC,MAAc,CAAC,WAAW,CAAC,cAAc,EAAE,IAAI,CAAC,gBAAgB,CAAC,CAAC;YAChF,CAAC;YAAC,MAAM,CAAC;gBACP,4EAA4E;YAC9E,CAAC;YACD,IAAI,CAAC,gBAAgB,GAAG,IAAI,CAAC;YAC7B,MAAM,CAAC,IAAI,CAAC,YAAY,EAAE,iCAAiC,EAAE,KAAK,CAAC,OAAO,CAAC,gBAAgB,CAAC,CAAC,CAAC;QAChG,CAAC;QAED,oCAAoC;QACpC,IAAI,IAAI,CAAC,WAAW,CAAC,IAAI,GAAG,CAAC,EAAE,CAAC;YAC9B,MAAM,CAAC,IAAI,CAAC,YAAY,EAAE,YAAY,IAAI,CAAC,WAAW,CAAC,IAAI,6BAA6B,EAAE,KAAK,CAAC,OAAO,CAAC,gBAAgB,CAAC,CAAC,CAAC;YAC3H,KAAK,MAAM,OAAO,IAAI,IAAI,CAAC,WAAW,CAAC,MAAM,EAAE,EAAE,CAAC;gBAChD,YAAY,CAAC,OAAO,CAAC,CAAC;YACxB,CAAC;YACD,IAAI,CAAC,WAAW,CAAC,KAAK,EAAE,CAAC;YACzB,MAAM,CAAC,IAAI,CAAC,YAAY,EAAE,yBAAyB,EAAE,KAAK,CAAC,OAAO,CAAC,gBAAgB,CAAC,CAAC,CAAC;QACxF,CAAC;QAED,gEAAgE;QAChE,IAAI,IAAI,CAAC,aAAa,EAAE,CAAC;YACvB,MAAM,CAAC,IAAI,CAAC,YAAY,EAAE,yDAAyD,EAAE,KAAK,CAAC,OAAO,CAAC,gBAAgB,CAAC,CAAC,CAAC;QACxH,CAAC;aAAM,CAAC;YACN,MAAM,CAAC,IAAI,CAAC,YAAY,EAAE,wCAAwC,EAAE,KAAK,CAAC,OAAO,CAAC,gBAAgB,CAAC,CAAC,CAAC;YACrG,MAAM,IAAI,CAAC,MAAM,CAAC,UAAU,EAAE,CAAC;YAC/B,MAAM,CAAC,IAAI,CAAC,YAAY,EAAE,kCAAkC,EAAE,KAAK,CAAC,OAAO,CAAC,gBAAgB,CAAC,CAAC,CAAC;QACjG,CAAC;QAED,MAAM,CAAC,IAAI,CAAC,YAAY,EAAE,sBAAsB,EAAE,KAAK,CAAC,OAAO,CAAC,gBAAgB,CAAC,CAAC,CAAC;IACrF,CAAC;IAED;;;;;;;;;;;;OAYG;IACO,KAAK,CAAC,gCAAgC;QAC9C,MAAM,CAAC,IAAI,CAAC,YAAY,EAAE,kDAAkD,IAAI,CAAC,kBAAkB,EAAE,EAAE,KAAK,CAAC,OAAO,CAAC,gBAAgB,CAAC,CAAC,CAAC;QAExI,MAAM,OAAO,GAAG,KAAK,EAAE,KAAc,EAAE,EAAE;YACvC,IAAI,CAAC;gBACH,MAAM,IAAI,GAAG,CAAE,KAAa,EAAE,IAAI,IAAI,KAAK,CAI1C,CAAC;gBAEF,IAAI,CAAC,IAAI,CAAC,IAAI,IAAI,CAAC,IAAI,CAAC,KAAK;oBAAE,OAAO;gBAEtC,MAAM,QAAQ,GAAG,IAAI,CAAC,IAAI,CAAC;gBAE3B,sDAAsD;gBACtD,6EAA6E;gBAC7E,MAAM,cAAc,GAAG,QAAQ,CAAC,OAAO,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC,WAAW,EAAE,CAAC;gBAClE,MAAM,kBAAkB,GAAG,IAAI,CAAC,kBAAkB,CAAC,OAAO,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC,WAAW,EAAE,CAAC;gBACrF,IAAI,CAAC,cAAc,CAAC,UAAU,CAAC,kBAAkB,CAAC;oBAAE,OAAO;gBAE3D,sCAAsC;gBACtC,MAAM,YAAY,GAAG,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,kBAAkB,EAAE,QAAQ,CAAC,CAAC;gBACtE,IACE,YAAY,CAAC,UAAU,CAAC,MAAM,CAAC;oBAC/B,YAAY,CAAC,QAAQ,CAAC,cAAc,CAAC;oBACrC,YAAY,CAAC,UAAU,CAAC,MAAM,CAAC;oBAC/B,OAAO;gBAET,MAAM,SAAS,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,8BAA8B;gBAC5D,MAAM,SAAS,GAAG,SAAS,KAAK,KAAK,CAAC,CAAC,CAAC,SAAS;oBAC/C,CAAC,CAAC,SAAS,KAAK,QAAQ,CAAC,CAAC,CAAC,SAAS;wBACpC,CAAC,CAAC,UAAU,CAAC;gBAEf,MAAM,CAAC,IAAI,CAAC,YAAY,EAAE,yBAAyB,SAAS,IAAI,YAAY,EAAE,EAAE,KAAK,CAAC,OAAO,CAAC,gBAAgB,CAAC,CAAC,CAAC;gBAEjH,uCAAuC;gBACvC,IAAI,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,QAAQ,CAAC,EAAE,CAAC;oBACnC,YAAY,CAAC,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,QAAQ,CAAE,CAAC,CAAC;gBAChD,CAAC;gBAED,MAAM,OAAO,GAAG,UAAU,CAAC,KAAK,IAAI,EAAE;oBACpC,MAAM,CAAC,IAAI,CAAC,YAAY,EAAE,cAAc,SAAS,CAAC,WAAW,EAAE,UAAU,YAAY,EAAE,EAAE,KAAK,CAAC,OAAO,CAAC,gBAAgB,CAAC,CAAC,CAAC;oBAC1H,MAAM,IAAI,CAAC,kBAAkB,CAAC,SAAS,EAAE,YAAY,CAAC,CAAC;oBACvD,IAAI,CAAC,WAAW,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;gBACpC,CAAC,EAAE,IAAI,CAAC,UAAU,CAAC,CAAC;gBAEpB,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC;YAC1C,CAAC;YAAC,OAAO,GAAQ,EAAE,CAAC;gBAClB,MAAM,CAAC,KAAK,CAAC,YAAY,EAAE,wCAAwC,GAAG,CAAC,OAAO,EAAE,EAAE,KAAK,CAAC,OAAO,CAAC,gBAAgB,CAAC,EAAE,GAAG,CAAC,CAAC;YAC1H,CAAC;QACH,CAAC,CAAC;QAEF,IAAI,CAAC,gBAAgB,GAAG,OAAO,CAAC;QAChC,MAAM,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,cAAc,EAAE,OAAO,CAAC,CAAC;QACrD,MAAM,CAAC,IAAI,CAAC,YAAY,EAAE,0CAA0C,EAAE,KAAK,CAAC,OAAO,CAAC,gBAAgB,CAAC,CAAC,CAAC;QAEvG,iFAAiF;QACjF,IAAI,IAAI,CAAC,eAAe,EAAE,CAAC;YACzB,IAAI,CAAC;gBACH,MAAM,IAAI,CAAC,eAAe,CAAC,MAAM,CAAC,cAAc,EAAE;oBAChD,UAAU,EAAE,IAAI,CAAC,kBAAkB;oBACnC,OAAO,EAAE,UAAU,IAAI,CAAC,IAAI,EAAE;iBAC/B,CAAC,CAAC;gBACH,MAAM,CAAC,IAAI,CAAC,YAAY,EAAE,2DAA2D,IAAI,CAAC,kBAAkB,EAAE,EAAE,KAAK,CAAC,OAAO,CAAC,gBAAgB,CAAC,CAAC,CAAC;YACnJ,CAAC;YAAC,OAAO,GAAQ,EAAE,CAAC;gBAClB,MAAM,CAAC,IAAI,CAAC,YAAY,EAAE,wCAAwC,GAAG,CAAC,OAAO,EAAE,EAAE,KAAK,CAAC,OAAO,CAAC,gBAAgB,CAAC,CAAC,CAAC;YACpH,CAAC;QACH,CAAC;aAAM,CAAC;YACN,MAAM,CAAC,IAAI,CAAC,YAAY,EAAE,gGAAgG,EAAE,KAAK,CAAC,OAAO,CAAC,gBAAgB,CAAC,CAAC,CAAC;QAC/J,CAAC;IACH,CAAC;IAED;;;;;;;;;;;;;;;;;;;;OAoBG;IACO,KAAK,CAAC,kBAAkB,CAAC,SAAiB,EAAE,QAAgB;QACpE,MAAM,CAAC,IAAI,CAAC,YAAY,EAAE,8BAA8B,SAAS,MAAM,QAAQ,EAAE,EAAE,KAAK,CAAC,OAAO,CAAC,gBAAgB,CAAC,CAAC,CAAC;QAEpH,+DAA+D;QAC/D,IAAI,IAAI,CAAC,mBAAmB,EAAE,EAAE,CAAC;YAC/B,MAAM,CAAC,IAAI,CAAC,YAAY,EAAE,kDAAkD,EAAE,KAAK,CAAC,OAAO,CAAC,gBAAgB,CAAC,CAAC,CAAC;YAC/G,OAAO;QACT,CAAC;QAED,IAAI,CAAC;YACH,oEAAoE;YACpE,IAAI,SAAS,KAAK,QAAQ,EAAE,CAAC;gBAC3B,MAAM,CAAC,IAAI,CAAC,YAAY,EAAE,oCAAoC,EAAE,KAAK,CAAC,OAAO,CAAC,gBAAgB,CAAC,CAAC,CAAC;gBAEjG,sDAAsD;gBACtD,MAAM,UAAU,GAAG,QAAQ,CAAC,wBAAwB,EAAE;oBACpD,GAAG,EAAE,IAAI,CAAC,kBAAkB;oBAC5B,QAAQ,EAAE,OAAO;iBAClB,CAAC,CAAC,IAAI,EAAE,CAAC;gBAEV,MAAM,CAAC,IAAI,CAAC,YAAY,EAAE,yBAAyB,UAAU,CAAC,SAAS,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,EAAE,KAAK,CAAC,OAAO,CAAC,gBAAgB,CAAC,CAAC,CAAC;gBAElH,yCAAyC;gBACzC,MAAM,aAAa,GAAG,QAAQ,CAAC,wBAAwB,EAAE;oBACvD,GAAG,EAAE,IAAI,CAAC,kBAAkB;oBAC5B,QAAQ,EAAE,OAAO;iBAClB,CAAC,CAAC,IAAI,EAAE,CAAC;gBAEV,MAAM,CAAC,IAAI,CAAC,YAAY,EAAE,6BAA6B,aAAa,EAAE,EAAE,KAAK,CAAC,OAAO,CAAC,gBAAgB,CAAC,CAAC,CAAC;gBAEzG,mDAAmD;gBACnD,IAAI,YAAY,GAAa,EAAE,CAAC;gBAChC,IAAI,CAAC;oBACH,MAAM,UAAU,GAAG,QAAQ,CAAC,kCAAkC,EAAE;wBAC9D,GAAG,EAAE,IAAI,CAAC,kBAAkB;wBAC5B,QAAQ,EAAE,OAAO;qBAClB,CAAC,CAAC,IAAI,EAAE,CAAC;oBAEV,YAAY,GAAG,UAAU,CAAC,CAAC,CAAC,UAAU,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;oBAC9E,MAAM,CAAC,IAAI,CAAC,YAAY,EAAE,qBAAqB,YAAY,CAAC,MAAM,UAAU,EAAE,KAAK,CAAC,OAAO,CAAC,gBAAgB,CAAC,CAAC,CAAC;gBACjH,CAAC;gBAAC,OAAO,SAAc,EAAE,CAAC;oBACxB,8DAA8D;oBAC9D,IAAI,SAAS,CAAC,OAAO,CAAC,QAAQ,CAAC,kBAAkB,CAAC,EAAE,CAAC;wBACnD,MAAM,CAAC,IAAI,CAAC,YAAY,EAAE,gDAAgD,EAAE,KAAK,CAAC,OAAO,CAAC,gBAAgB,CAAC,CAAC,CAAC;wBAC7G,MAAM,cAAc,GAAG,QAAQ,CAAC,iCAAiC,EAAE;4BACjE,GAAG,EAAE,IAAI,CAAC,kBAAkB;4BAC5B,QAAQ,EAAE,OAAO;yBAClB,CAAC,CAAC,IAAI,EAAE,CAAC;wBACV,YAAY,GAAG,cAAc,CAAC,CAAC,CAAC,cAAc,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;oBACxF,CAAC;yBAAM,CAAC;wBACN,MAAM,SAAS,CAAC;oBAClB,CAAC;gBACH,CAAC;gBAED,4DAA4D;gBAC5D,KAAK,MAAM,IAAI,IAAI,YAAY,EAAE,CAAC;oBAChC,MAAM,OAAO,GAAG,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,kBAAkB,EAAE,IAAI,CAAC,CAAC;oBACzD,MAAM,QAAQ,GAAG,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,kBAAkB,EAAE,IAAI,CAAC,CAAC;oBAE1D,yCAAyC;oBACzC,MAAM,OAAO,GAAG,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC;oBACvC,IAAI,CAAC,EAAE,CAAC,UAAU,CAAC,OAAO,CAAC,EAAE,CAAC;wBAC5B,EAAE,CAAC,SAAS,CAAC,OAAO,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;oBAC7C,CAAC;oBAED,YAAY;oBACZ,IAAI,CAAC;wBACH,EAAE,CAAC,YAAY,CAAC,OAAO,EAAE,QAAQ,CAAC,CAAC;wBACnC,MAAM,CAAC,IAAI,CAAC,YAAY,EAAE,gBAAgB,IAAI,EAAE,EAAE,KAAK,CAAC,OAAO,CAAC,gBAAgB,CAAC,CAAC,CAAC;oBACrF,CAAC;oBAAC,OAAO,SAAc,EAAE,CAAC;wBACxB,6DAA6D;wBAC7D,MAAM,CAAC,IAAI,CAAC,YAAY,EAAE,qBAAqB,IAAI,KAAK,SAAS,CAAC,OAAO,EAAE,EAAE,KAAK,CAAC,OAAO,CAAC,gBAAgB,CAAC,CAAC,CAAC;oBAChH,CAAC;gBACH,CAAC;gBAED,+CAA+C;gBAC/C,QAAQ,CAAC,YAAY,EAAE;oBACrB,GAAG,EAAE,IAAI,CAAC,kBAAkB;oBAC5B,QAAQ,EAAE,OAAO;iBAClB,CAAC,CAAC;gBAEH,sFAAsF;gBACtF,IAAI,CAAC;oBACH,QAAQ,CAAC,2BAA2B,EAAE,EAAE,GAAG,EAAE,IAAI,CAAC,kBAAkB,EAAE,CAAC,CAAC;oBACxE,0EAA0E;oBAC1E,MAAM,CAAC,IAAI,CAAC,YAAY,EAAE,oEAAoE,EAAE,KAAK,CAAC,OAAO,CAAC,gBAAgB,CAAC,CAAC,CAAC;oBACjI,IAAI,CAAC,gBAAgB,EAAE,CAAC;oBACxB,MAAM,IAAI,CAAC,mBAAmB,CAAC,IAAI,EAAE,YAAY,EAAE,uBAAuB,CAAC,CAAC;oBAC5E,OAAO;gBACT,CAAC;gBAAC,MAAM,CAAC;oBACP,2DAA2D;gBAC7D,CAAC;gBAED,kDAAkD;gBAClD,MAAM,mBAAmB,GAAG,WAAW,SAAS,IAAI,QAAQ,kBAAkB,aAAa,mBAAmB,UAAU,EAAE,CAAC;gBAE3H,QAAQ,CAAC,kBAAkB,mBAAmB,CAAC,OAAO,CAAC,IAAI,EAAE,KAAK,CAAC,GAAG,EAAE;oBACtE,GAAG,EAAE,IAAI,CAAC,kBAAkB;oBAC5B,QAAQ,EAAE,OAAO;iBAClB,CAAC,CAAC;gBAEH,wBAAwB;gBACxB,MAAM,gBAAgB,GAAG,QAAQ,CAAC,wBAAwB,EAAE;oBAC1D,GAAG,EAAE,IAAI,CAAC,kBAAkB;oBAC5B,QAAQ,EAAE,OAAO;iBAClB,CAAC,CAAC,IAAI,EAAE,CAAC;gBAEV,MAAM,CAAC,IAAI,CAAC,YAAY,EAAE,0BAA0B,gBAAgB,CAAC,SAAS,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,EAAE,KAAK,CAAC,OAAO,CAAC,gBAAgB,CAAC,CAAC,CAAC;gBAEzH,yCAAyC;gBACzC,IAAI,CAAC,gBAAgB,EAAE,CAAC;gBAExB,yDAAyD;gBACzD,MAAM,IAAI,CAAC,mBAAmB,CAAC,IAAI,EAAE,YAAY,EAAE,eAAe,CAAC,CAAC;YAEtE,CAAC;iBAAM,CAAC;gBACN,2EAA2E;gBAC3E,MAAM,CAAC,IAAI,CAAC,YAAY,EAAE,8BAA8B,SAAS,MAAM,QAAQ,EAAE,EAAE,KAAK,CAAC,OAAO,CAAC,gBAAgB,CAAC,CAAC,CAAC;gBAEpH,MAAM,OAAO,GAAG,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,kBAAkB,EAAE,QAAQ,CAAC,CAAC;gBAC7D,MAAM,QAAQ,GAAG,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,kBAAkB,EAAE,QAAQ,CAAC,CAAC;gBAE9D,yCAAyC;gBACzC,MAAM,OAAO,GAAG,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC;gBACvC,IAAI,CAAC,EAAE,CAAC,UAAU,CAAC,OAAO,CAAC,EAAE,CAAC;oBAC5B,EAAE,CAAC,SAAS,CAAC,OAAO,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;gBAC7C,CAAC;gBAED,2DAA2D;gBAC3D,IAAI,SAAS,KAAK,SAAS,IAAI,EAAE,CAAC,UAAU,CAAC,OAAO,CAAC,EAAE,CAAC;oBACtD,EAAE,CAAC,YAAY,CAAC,OAAO,EAAE,QAAQ,CAAC,CAAC;oBACnC,MAAM,CAAC,IAAI,CAAC,YAAY,EAAE,gBAAgB,QAAQ,EAAE,EAAE,KAAK,CAAC,OAAO,CAAC,gBAAgB,CAAC,CAAC,CAAC;gBACzF,CAAC;gBAED,mCAAmC;gBACnC,IAAI,SAAS,KAAK,SAAS,EAAE,CAAC;oBAC5B,wDAAwD;oBACxD,IAAI,EAAE,CAAC,UAAU,CAAC,QAAQ,CAAC,EAAE,CAAC;wBAC5B,EAAE,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAC;oBAC1B,CAAC;oBACD,QAAQ,CAAC,YAAY,QAAQ,GAAG,EAAE;wBAChC,GAAG,EAAE,IAAI,CAAC,kBAAkB;wBAC5B,QAAQ,EAAE,OAAO;qBAClB,CAAC,CAAC;gBACL,CAAC;qBAAM,CAAC;oBACN,8CAA8C;oBAC9C,QAAQ,CAAC,YAAY,QAAQ,GAAG,EAAE;wBAChC,GAAG,EAAE,IAAI,CAAC,kBAAkB;wBAC5B,QAAQ,EAAE,OAAO;qBAClB,CAAC,CAAC;gBACL,CAAC;gBAED,oFAAoF;gBACpF,IAAI,CAAC;oBACH,QAAQ,CAAC,2BAA2B,EAAE,EAAE,GAAG,EAAE,IAAI,CAAC,kBAAkB,EAAE,CAAC,CAAC;oBACxE,8DAA8D;oBAC9D,MAAM,CAAC,IAAI,CAAC,YAAY,EAAE,2CAA2C,EAAE,KAAK,CAAC,OAAO,CAAC,gBAAgB,CAAC,CAAC,CAAC;oBACxG,IAAI,CAAC,gBAAgB,EAAE,CAAC;oBACxB,MAAM,IAAI,CAAC,mBAAmB,CAAC,IAAI,EAAE,CAAC,QAAQ,CAAC,EAAE,QAAQ,SAAS,CAAC,WAAW,EAAE,UAAU,CAAC,CAAC;oBAC5F,OAAO;gBACT,CAAC;gBAAC,MAAM,CAAC;oBACP,2DAA2D;gBAC7D,CAAC;gBAED,uBAAuB;gBACvB,MAAM,aAAa,GAAG,WAAW,SAAS,IAAI,QAAQ,EAAE,CAAC;gBACzD,QAAQ,CAAC,kBAAkB,aAAa,GAAG,EAAE;oBAC3C,GAAG,EAAE,IAAI,CAAC,kBAAkB;oBAC5B,QAAQ,EAAE,OAAO;iBAClB,CAAC,CAAC;gBAEH,iBAAiB;gBACjB,MAAM,UAAU,GAAG,QAAQ,CAAC,wBAAwB,EAAE;oBACpD,GAAG,EAAE,IAAI,CAAC,kBAAkB;oBAC5B,QAAQ,EAAE,OAAO;iBAClB,CAAC,CAAC,IAAI,EAAE,CAAC;gBAEV,MAAM,CAAC,IAAI,CAAC,YAAY,EAAE,iCAAiC,UAAU,CAAC,SAAS,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,EAAE,KAAK,CAAC,OAAO,CAAC,gBAAgB,CAAC,CAAC,CAAC;gBAE1H,yCAAyC;gBACzC,IAAI,CAAC,gBAAgB,EAAE,CAAC;gBAExB,yDAAyD;gBACzD,MAAM,IAAI,CAAC,mBAAmB,CAAC,IAAI,EAAE,CAAC,QAAQ,CAAC,EAAE,QAAQ,SAAS,CAAC,WAAW,EAAE,EAAE,CAAC,CAAC;YACtF,CAAC;QAEH,CAAC;QAAC,OAAO,KAAU,EAAE,CAAC;YACpB,MAAM,CAAC,KAAK,CAAC,YAAY,EAAE,yBAAyB,KAAK,CAAC,OAAO,EAAE,EAAE,KAAK,CAAC,OAAO,CAAC,gBAAgB,CAAC,EAAE,KAAK,CAAC,CAAC;YAE7G,sDAAsD;YACtD,IAAI,CAAC,gBAAgB,CAAC,oBAAoB,EAAE,KAAK,CAAC,CAAC;YAEnD,iEAAiE;YACjE,IAAI,CAAC,IAAI,CAAC,mBAAmB,EAAE,EAAE,CAAC;gBAChC,MAAM,IAAI,CAAC,mBAAmB,CAC5B,KAAK,EACL,EAAE,EACF,SAAS,KAAK,QAAQ,CAAC,CAAC,CAAC,eAAe,CAAC,CAAC,CAAC,QAAQ,SAAS,CAAC,WAAW,EAAE,EAAE,EAC5E,KAAK,CACN,CAAC;YACJ,CAAC;QACH,CAAC;IACH,CAAC;IAED;;;;;;;;;;;;;;;;;;;;;;OAsBG;IACO,KAAK,CAAC,mBAAmB,CACjC,OAAgB,EAChB,aAAuB,EACvB,SAAiB,EACjB,KAAa;QAEb,kEAAkE;QAClE,MAAM,KAAK,GAAG,UAAU,OAAO,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,QAAQ,EAAE,CAAC;QAE3D,6CAA6C;QAC7C,MAAM,OAAO,GAQT;YACF,KAAK,EAAE,gBAAgB,IAAI,CAAC,IAAI,EAAE;YAClC,IAAI,EAAE,IAAI,CAAC,IAAI;YACf,SAAS;YACT,MAAM,EAAE,OAAO,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,SAAS;YACvC,aAAa;YACb,SAAS,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE;SACpC,CAAC;QAEF,+BAA+B;QAC/B,IAAI,CAAC,OAAO,IAAI,KAAK,EAAE,CAAC;YACtB,OAAO,CAAC,KAAK,GAAG,KAAK,CAAC,OAAO,CAAC;QAChC,CAAC;QAED,iCAAiC;QACjC,MAAM,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,KAAK,EAAE,OAAO,EAAE,EAAE,MAAM,EAAE,SAAS,EAAE,OAAO,EAAE,QAAQ,EAAE,CAAC,CAAC;QACpF,MAAM,CAAC,IAAI,CAAC,YAAY,EAAE,oBAAoB,OAAO,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,SAAS,aAAa,KAAK,EAAE,EAAE,KAAK,CAAC,OAAO,CAAC,gBAAgB,CAAC,CAAC,CAAC;IACtI,CAAC;IAED;;;;;;;;;;;;;;;OAeG;IACO,mBAAmB;QAC3B,OAAO,IAAI,CAAC,cAAc,CAAC;IAC7B,CAAC;IAED;;;;;;;;OAQG;IACO,gBAAgB,CAAC,SAAiB,EAAE,KAAY;QACxD,IAAI,CAAC,eAAe,EAAE,CAAC;QACvB,MAAM,CAAC,KAAK,CAAC,YAAY,EAAE,yBAAyB,IAAI,CAAC,eAAe,IAAI,IAAI,CAAC,gBAAgB,MAAM,SAAS,EAAE,EAAE,KAAK,CAAC,OAAO,CAAC,gBAAgB,CAAC,EAAE,KAAK,CAAC,CAAC;QAE5J,IAAI,IAAI,CAAC,eAAe,IAAI,IAAI,CAAC,gBAAgB,EAAE,CAAC;YAClD,IAAI,CAAC,cAAc,GAAG,IAAI,CAAC;YAC3B,MAAM,CAAC,KAAK,CAAC,YAAY,EAAE,mDAAmD,EAAE,KAAK,CAAC,OAAO,CAAC,gBAAgB,CAAC,CAAC,CAAC;YAEjH,mCAAmC;YACnC,UAAU,CAAC,GAAG,EAAE;gBACd,IAAI,CAAC,cAAc,GAAG,KAAK,CAAC;gBAC5B,IAAI,CAAC,eAAe,GAAG,CAAC,CAAC;gBACzB,MAAM,CAAC,IAAI,CAAC,YAAY,EAAE,iDAAiD,EAAE,KAAK,CAAC,OAAO,CAAC,gBAAgB,CAAC,CAAC,CAAC;YAChH,CAAC,EAAE,IAAI,CAAC,kBAAkB,CAAC,CAAC;QAC9B,CAAC;IACH,CAAC;IAED;;;;OAIG;IACO,gBAAgB;QACxB,IAAI,CAAC,eAAe,GAAG,CAAC,CAAC;IAC3B,CAAC;CACF;AAED,+EAA+E;AAC/E,oCAAoC;AACpC,+EAA+E;AAE/E;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAiCG;AACH,MAAM,CAAC,MAAM,uBAAuB,GAAG,CAAC,CAAC,MAAM,CAAC;IAC9C,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,EAAE,sCAAsC,CAAC;IAC/D,kBAAkB,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,EAAE,sDAAsD,CAAC;IAC7F,kBAAkB,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,EAAE,sDAAsD,CAAC;IAC7F,YAAY,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,EAAE,+CAA+C,CAAC;IAChF,YAAY,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,EAAE,+CAA+C,CAAC;IAChF,SAAS,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,EAAE,4CAA4C,CAAC;IAC1E,QAAQ,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,EAAE,kCAAkC,CAAC;IACxE,UAAU,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,0CAA0C,CAAC,CAAC,QAAQ,EAAE;CACvF,CAAC,CAAC;AAEH,+EAA+E;AAC/E,uBAAuB;AACvB,+EAA+E;AAE/E;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAiEG;AACH,MAAM,OAAO,kBAAkB;IAC7B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;OAiDG;IACH,MAAM,CAAC,WAAW,CAAC,MAAyB,EAAE,SAAqB;QACjE,yCAAyC;QACzC,gEAAgE;QAChE,MAAM,eAAe,GAAG,uBAAuB,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;QAE9D,mEAAmE;QACnE,OAAO,IAAI,eAAe,CAAC,eAAe,EAAE,SAAS,CAAC,CAAC;IACzD,CAAC;CACF;AAED;;;;;;;;;;;;;;;;;;;;;;GAsBG;AACH,MAAM,UAAU,iBAAiB,CAAC,MAAyB,EAAE,SAAqB;IAChF,OAAO,kBAAkB,CAAC,WAAW,CAAC,MAAM,EAAE,SAAS,CAAC,CAAC;AAC3D,CAAC"}