dexbot 1.1.13 → 1.2.0

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 (127) hide show
  1. package/README.md +1 -0
  2. package/dist/market_adapter/market_adapter.js +1 -1
  3. package/dist/market_adapter/market_adapter.js.map +1 -1
  4. package/dist/modules/bitshares-native/lru_cache.d.ts +20 -0
  5. package/dist/modules/bitshares-native/lru_cache.d.ts.map +1 -0
  6. package/dist/modules/bitshares-native/lru_cache.js +45 -0
  7. package/dist/modules/bitshares-native/lru_cache.js.map +1 -0
  8. package/dist/modules/bitshares-native/resolvers.d.ts +2 -18
  9. package/dist/modules/bitshares-native/resolvers.d.ts.map +1 -1
  10. package/dist/modules/bitshares-native/resolvers.js +2 -41
  11. package/dist/modules/bitshares-native/resolvers.js.map +1 -1
  12. package/dist/modules/bitshares-native/serial/chain_constants.d.ts +1 -0
  13. package/dist/modules/bitshares-native/serial/chain_constants.d.ts.map +1 -1
  14. package/dist/modules/bitshares-native/serial/chain_constants.js +3 -0
  15. package/dist/modules/bitshares-native/serial/chain_constants.js.map +1 -1
  16. package/dist/modules/bitshares-native/signing_client.d.ts.map +1 -1
  17. package/dist/modules/bitshares-native/signing_client.js +12 -1
  18. package/dist/modules/bitshares-native/signing_client.js.map +1 -1
  19. package/dist/modules/bitshares-native/subscriptions.d.ts.map +1 -1
  20. package/dist/modules/bitshares-native/subscriptions.js +42 -3
  21. package/dist/modules/bitshares-native/subscriptions.js.map +1 -1
  22. package/dist/modules/bitshares-native/transport.d.ts.map +1 -1
  23. package/dist/modules/bitshares-native/transport.js +77 -27
  24. package/dist/modules/bitshares-native/transport.js.map +1 -1
  25. package/dist/modules/bitshares-native/tx/builder.d.ts.map +1 -1
  26. package/dist/modules/bitshares-native/tx/builder.js +26 -16
  27. package/dist/modules/bitshares-native/tx/builder.js.map +1 -1
  28. package/dist/modules/bitshares-native/tx/tx_cache.d.ts +17 -0
  29. package/dist/modules/bitshares-native/tx/tx_cache.d.ts.map +1 -0
  30. package/dist/modules/bitshares-native/tx/tx_cache.js +62 -0
  31. package/dist/modules/bitshares-native/tx/tx_cache.js.map +1 -0
  32. package/dist/modules/bot_settings.d.ts.map +1 -1
  33. package/dist/modules/bot_settings.js +2 -1
  34. package/dist/modules/bot_settings.js.map +1 -1
  35. package/dist/modules/chain_orders.d.ts +4 -1
  36. package/dist/modules/chain_orders.d.ts.map +1 -1
  37. package/dist/modules/chain_orders.js +30 -1
  38. package/dist/modules/chain_orders.js.map +1 -1
  39. package/dist/modules/config.d.ts +6 -0
  40. package/dist/modules/config.d.ts.map +1 -1
  41. package/dist/modules/config.js +11 -0
  42. package/dist/modules/config.js.map +1 -1
  43. package/dist/modules/constants.d.ts +17 -1
  44. package/dist/modules/constants.d.ts.map +1 -1
  45. package/dist/modules/constants.js +84 -18
  46. package/dist/modules/constants.js.map +1 -1
  47. package/dist/modules/credit_runtime.d.ts.map +1 -1
  48. package/dist/modules/credit_runtime.js +40 -29
  49. package/dist/modules/credit_runtime.js.map +1 -1
  50. package/dist/modules/dexbot_class.d.ts +16 -12
  51. package/dist/modules/dexbot_class.d.ts.map +1 -1
  52. package/dist/modules/dexbot_class.js +183 -78
  53. package/dist/modules/dexbot_class.js.map +1 -1
  54. package/dist/modules/dexbot_credential_client.d.ts +1 -0
  55. package/dist/modules/dexbot_credential_client.d.ts.map +1 -1
  56. package/dist/modules/dexbot_credential_client.js +15 -6
  57. package/dist/modules/dexbot_credential_client.js.map +1 -1
  58. package/dist/modules/dexbot_maintenance_runtime.d.ts +1 -5
  59. package/dist/modules/dexbot_maintenance_runtime.d.ts.map +1 -1
  60. package/dist/modules/dexbot_maintenance_runtime.js +78 -42
  61. package/dist/modules/dexbot_maintenance_runtime.js.map +1 -1
  62. package/dist/modules/key_store.d.ts.map +1 -1
  63. package/dist/modules/key_store.js +2 -0
  64. package/dist/modules/key_store.js.map +1 -1
  65. package/dist/modules/launcher/child_env.d.ts.map +1 -1
  66. package/dist/modules/launcher/child_env.js +1 -0
  67. package/dist/modules/launcher/child_env.js.map +1 -1
  68. package/dist/modules/launcher/launch_modes.d.ts +2 -0
  69. package/dist/modules/launcher/launch_modes.d.ts.map +1 -1
  70. package/dist/modules/launcher/launch_modes.js +7 -6
  71. package/dist/modules/launcher/launch_modes.js.map +1 -1
  72. package/dist/modules/node_manager.d.ts +9 -0
  73. package/dist/modules/node_manager.d.ts.map +1 -1
  74. package/dist/modules/node_manager.js +35 -17
  75. package/dist/modules/node_manager.js.map +1 -1
  76. package/dist/modules/order/accounting.d.ts.map +1 -1
  77. package/dist/modules/order/accounting.js +56 -13
  78. package/dist/modules/order/accounting.js.map +1 -1
  79. package/dist/modules/order/async_lock.d.ts +33 -4
  80. package/dist/modules/order/async_lock.d.ts.map +1 -1
  81. package/dist/modules/order/async_lock.js +69 -7
  82. package/dist/modules/order/async_lock.js.map +1 -1
  83. package/dist/modules/order/grid.d.ts +435 -450
  84. package/dist/modules/order/grid.d.ts.map +1 -1
  85. package/dist/modules/order/grid.js +1621 -1548
  86. package/dist/modules/order/grid.js.map +1 -1
  87. package/dist/modules/order/grid_reconcile.d.ts +3 -73
  88. package/dist/modules/order/grid_reconcile.d.ts.map +1 -1
  89. package/dist/modules/order/grid_reconcile.js +11 -843
  90. package/dist/modules/order/grid_reconcile.js.map +1 -1
  91. package/dist/modules/order/grid_reconcile_internal.d.ts +8 -0
  92. package/dist/modules/order/grid_reconcile_internal.d.ts.map +1 -0
  93. package/dist/modules/order/grid_reconcile_internal.js +771 -0
  94. package/dist/modules/order/grid_reconcile_internal.js.map +1 -0
  95. package/dist/modules/order/logger.d.ts +1 -1
  96. package/dist/modules/order/logger.d.ts.map +1 -1
  97. package/dist/modules/order/logger.js +26 -2
  98. package/dist/modules/order/logger.js.map +1 -1
  99. package/dist/modules/order/manager.d.ts +40 -3
  100. package/dist/modules/order/manager.d.ts.map +1 -1
  101. package/dist/modules/order/manager.js +97 -15
  102. package/dist/modules/order/manager.js.map +1 -1
  103. package/dist/modules/order/runner.js +2 -2
  104. package/dist/modules/order/runner.js.map +1 -1
  105. package/dist/modules/order/strategy.js +3 -3
  106. package/dist/modules/order/strategy.js.map +1 -1
  107. package/dist/modules/order/sync_engine.d.ts +1 -1
  108. package/dist/modules/order/sync_engine.d.ts.map +1 -1
  109. package/dist/modules/order/sync_engine.js +121 -29
  110. package/dist/modules/order/sync_engine.js.map +1 -1
  111. package/dist/modules/order/utils/order.d.ts +17 -0
  112. package/dist/modules/order/utils/order.d.ts.map +1 -1
  113. package/dist/modules/order/utils/order.js +56 -19
  114. package/dist/modules/order/utils/order.js.map +1 -1
  115. package/dist/modules/order/utils/system.js +4 -4
  116. package/dist/modules/order/utils/system.js.map +1 -1
  117. package/dist/modules/order/utils/validate.d.ts.map +1 -1
  118. package/dist/modules/order/utils/validate.js +6 -8
  119. package/dist/modules/order/utils/validate.js.map +1 -1
  120. package/dist/scripts/print_grid.js +3 -3
  121. package/dist/scripts/print_grid.js.map +1 -1
  122. package/dist/scripts/test-credit-renewal.js +1 -1
  123. package/dist/scripts/test-credit-renewal.js.map +1 -1
  124. package/dist/unlock.d.ts.map +1 -1
  125. package/dist/unlock.js +26 -12
  126. package/dist/unlock.js.map +1 -1
  127. package/package.json +14 -4
@@ -154,7 +154,7 @@ declare class SyncEngine {
154
154
  /**
155
155
  * Synchronize grid orders with blockchain open orders snapshot.
156
156
  * @param {Array|null} chainOrders - Array of blockchain order objects
157
- * @param {Object} [options={}] - Sync options (e.g., { skipAccounting: true, protectCommittedOrders: true })
157
+ * @param {Object} [options={}] - Sync options (e.g., { skipAccounting: true })
158
158
  * @returns {Promise<Object>} Result with filledOrders, updatedOrders, ordersNeedingCorrection
159
159
  */
160
160
  syncFromOpenOrders(chainOrders: any[] | null, options?: Record<string, any>): Promise<any>;
@@ -1 +1 @@
1
- {"version":3,"file":"sync_engine.d.ts","sourceRoot":"","sources":["../../../modules/order/sync_engine.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAoFG;AAkLH,cAAM,UAAU;IACZ,OAAO,CAAC,OAAO,CAAM;IACrB;;OAEG;gBACS,OAAO,EAAE,GAAG;IAIxB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;OA6DG;IACH;;;;;OAKG;IACG,kBAAkB,CAAC,WAAW,EAAE,GAAG,EAAE,GAAG,IAAI,EAAE,OAAO,GAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAM;IAyErF;;;;;;;;;;;;;;;;;;;;;;;;;;;;OA4BG;IACG,qBAAqB,CAAC,WAAW,EAAE,GAAG,EAAE,GAAG,IAAI,EAAE,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC;;;;;;IA6HnF;;;;;;;;;;;;;;;OAeG;IACG,0BAA0B,CAAC,GAAG,EAAE,GAAG,EAAE,eAAe,EAAE,MAAM,EAAE,eAAe,EAAE,MAAM,EAAE,iBAAiB,EAAE,GAAG,CAAC,MAAM,EAAE,GAAG,CAAC,EAAE,cAAc,EAAE,GAAG,CAAC,MAAM,EAAE,GAAG,CAAC,EAC9J,mBAAmB,EAAE,GAAG,CAAC,MAAM,CAAC,EAAE,mBAAmB,EAAE,GAAG,CAAC,MAAM,CAAC,EAAE,YAAY,EAAE,GAAG,EAAE,EAAE,aAAa,EAAE,GAAG,EAAE,EAAE,uBAAuB,EAAE,GAAG,EAAE,EAAE,oBAAoB,EAAE,GAAG,EAAE,EAAE,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC;;;;;;IA6V5M;;;;;;OAMG;IACG,mBAAmB,CAAC,IAAI,EAAE,GAAG,EAAE,OAAO,GAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAM;;;;;;;;;;;;;;;;;;;IAuStE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;OAiDG;IACG,oBAAoB,CAAC,SAAS,EAAE,GAAG,EAAE,MAAM,EAAE,MAAM,EAAE,OAAO,GAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAM;IA2K5F;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;OAiDG;IACG,gCAAgC;IA0CtC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;OA4CG;IACG,gBAAgB;CAgCzB;AAED,SAAS,UAAU,CAAC"}
1
+ {"version":3,"file":"sync_engine.d.ts","sourceRoot":"","sources":["../../../modules/order/sync_engine.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAoFG;AAkLH,cAAM,UAAU;IACZ,OAAO,CAAC,OAAO,CAAM;IACrB;;OAEG;gBACS,OAAO,EAAE,GAAG;IAIxB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;OA6DG;IACH;;;;;OAKG;IACG,kBAAkB,CAAC,WAAW,EAAE,GAAG,EAAE,GAAG,IAAI,EAAE,OAAO,GAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAM;IAsHrF;;;;;;;;;;;;;;;;;;;;;;;;;;;;OA4BG;IACG,qBAAqB,CAAC,WAAW,EAAE,GAAG,EAAE,GAAG,IAAI,EAAE,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC;;;;;;IA+InF;;;;;;;;;;;;;;;OAeG;IACG,0BAA0B,CAAC,GAAG,EAAE,GAAG,EAAE,eAAe,EAAE,MAAM,EAAE,eAAe,EAAE,MAAM,EAAE,iBAAiB,EAAE,GAAG,CAAC,MAAM,EAAE,GAAG,CAAC,EAAE,cAAc,EAAE,GAAG,CAAC,MAAM,EAAE,GAAG,CAAC,EAC9J,mBAAmB,EAAE,GAAG,CAAC,MAAM,CAAC,EAAE,mBAAmB,EAAE,GAAG,CAAC,MAAM,CAAC,EAAE,YAAY,EAAE,GAAG,EAAE,EAAE,aAAa,EAAE,GAAG,EAAE,EAAE,uBAAuB,EAAE,GAAG,EAAE,EAAE,oBAAoB,EAAE,GAAG,EAAE,EAAE,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC;;;;;;IA0Y5M;;;;;;OAMG;IACG,mBAAmB,CAAC,IAAI,EAAE,GAAG,EAAE,OAAO,GAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAM;;;;;;;;;;;;;;;;;;;IAwStE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;OAiDG;IACG,oBAAoB,CAAC,SAAS,EAAE,GAAG,EAAE,MAAM,EAAE,MAAM,EAAE,OAAO,GAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAM;IAsK5F;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;OAiDG;IACG,gCAAgC;IA0CtC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;OA4CG;IACG,gBAAgB;CAgCzB;AAED,SAAS,UAAU,CAAC"}
@@ -322,7 +322,7 @@ class SyncEngine {
322
322
  /**
323
323
  * Synchronize grid orders with blockchain open orders snapshot.
324
324
  * @param {Array|null} chainOrders - Array of blockchain order objects
325
- * @param {Object} [options={}] - Sync options (e.g., { skipAccounting: true, protectCommittedOrders: true })
325
+ * @param {Object} [options={}] - Sync options (e.g., { skipAccounting: true })
326
326
  * @returns {Promise<Object>} Result with filledOrders, updatedOrders, ordersNeedingCorrection
327
327
  */
328
328
  async syncFromOpenOrders(chainOrders, options = {}) {
@@ -334,28 +334,48 @@ class SyncEngine {
334
334
  mgr.logger?.log?.('Error: syncLock not initialized', 'error');
335
335
  return { filledOrders: [], updatedOrders: [], ordersNeedingCorrection: [], unmatchedChainOrders: [] };
336
336
  }
337
- if (!options?.fillLockAlreadyHeld && mgr._fillProcessingLock) {
337
+ // Skip re-acquiring if we're already inside _fillProcessingLock's
338
+ // execution context (the lock is re-entrant). The old fillLockAlreadyHeld
339
+ // flag achieved the same goal by being passed through the call chain;
340
+ // now the lock knows whether the caller already holds it.
341
+ if (mgr._fillProcessingLock && !mgr._fillProcessingLock.isReentrant()) {
338
342
  return mgr._fillProcessingLock.acquire(async () => {
339
- return this.syncFromOpenOrders(chainOrders, {
340
- ...options,
341
- fillLockAlreadyHeld: true
342
- });
343
+ return this.syncFromOpenOrders(chainOrders, options);
343
344
  });
344
345
  }
345
346
  mgr.logger?.log?.(`[SYNC] Starting synchronization from ${chainOrders?.length || 0} blockchain orders...`, 'info');
346
347
  const timeoutMs = TIMING.SYNC_LOCK_TIMEOUT_MS;
348
+ const forceReleaseMs = TIMING.SYNC_LOCK_FORCE_RELEASE_AGE_MS;
347
349
  let timedOut = false;
348
350
  let timeoutHandle;
351
+ let forceReleaseHandle;
349
352
  const syncStartedAt = Date.now();
353
+ // Capture sync generation so the orphan callback can detect that it
354
+ // was force-released and abort early instead of running to completion.
355
+ const captureGeneration = mgr._syncGeneration ?? 0;
350
356
  try {
351
357
  const result = await Promise.race([
352
358
  mgr._syncLock.acquire(async () => {
359
+ // Early-abort check: if forceRelease incremented _syncGeneration
360
+ // while we were waiting in the lock queue, this callback is
361
+ // orphaned and should return immediately.
362
+ if ((mgr._syncGeneration ?? 0) !== captureGeneration) {
363
+ mgr.logger?.log?.('[SYNC] Sync abandoned: force-released before lock acquired', 'warn');
364
+ return { filledOrders: [], updatedOrders: [], ordersNeedingCorrection: [], unmatchedChainOrders: [] };
365
+ }
353
366
  const innerResult = await this._doSyncFromOpenOrders(chainOrders, options);
367
+ // Re-check generation after sync completes: if forceRelease fired
368
+ // during the sync, this result is orphaned — discard it.
369
+ if ((mgr._syncGeneration ?? 0) !== captureGeneration) {
370
+ mgr.logger?.log?.(`[SYNC] Sync abandoned: force-released during sync (${Date.now() - syncStartedAt}ms); discarding result`, 'warn');
371
+ return { filledOrders: [], updatedOrders: [], ordersNeedingCorrection: [], unmatchedChainOrders: [] };
372
+ }
354
373
  if (timedOut) {
355
374
  mgr.logger?.log?.(`[SYNC] Sync completed after timeout (${Date.now() - syncStartedAt}ms) — ` +
356
375
  `timeout won the race; next sync will reconcile chain state`, 'warn');
357
376
  return innerResult;
358
377
  }
378
+ clearTimeout(forceReleaseHandle);
359
379
  const unmatchedCount = Array.isArray(innerResult.unmatchedChainOrders)
360
380
  ? innerResult.unmatchedChainOrders.length
361
381
  : 0;
@@ -376,11 +396,27 @@ class SyncEngine {
376
396
  })
377
397
  ]);
378
398
  clearTimeout(timeoutHandle);
399
+ clearTimeout(forceReleaseHandle);
379
400
  return result;
380
401
  }
381
402
  catch (err) {
382
403
  clearTimeout(timeoutHandle);
404
+ clearTimeout(forceReleaseHandle);
383
405
  if (err.message?.includes('timed out')) {
406
+ // Gap 3: Schedule a force-release of the sync lock if the inner
407
+ // operation doesn't complete within the grace window. This prevents
408
+ // a single stuck sync from permanently blocking all subsequent syncs.
409
+ if (forceReleaseMs > 0 && mgr._syncLock && typeof mgr._syncLock.forceRelease === 'function') {
410
+ forceReleaseHandle = setTimeout(() => {
411
+ if (mgr._syncLock.isLocked()) {
412
+ // Increment the sync generation so the orphan callback
413
+ // can detect it was force-released and abort early.
414
+ mgr._syncGeneration = (mgr._syncGeneration || 0) + 1;
415
+ const released = mgr._syncLock.forceRelease();
416
+ mgr.logger?.log?.(`[SYNC] Force-released sync lock (generation=${mgr._syncGeneration}, ${released} queued ops cleared) after ${forceReleaseMs}ms grace period`, 'warn');
417
+ }
418
+ }, Math.max(1000, forceReleaseMs - (Date.now() - syncStartedAt)));
419
+ }
384
420
  mgr.logger?.log?.('[SYNC] Lock may be held by orphan after timeout; will release when inner work completes', 'warn');
385
421
  }
386
422
  mgr.logger?.log?.(`Sync lock error: ${err.message}`, 'error');
@@ -474,6 +510,21 @@ class SyncEngine {
474
510
  orderIdsToLock.add(gridOrder.id);
475
511
  }
476
512
  }
513
+ // Re-verify that all collected order IDs still exist in mgr.orders before
514
+ // locking. A concurrent createOrder/cancelOrder could have removed or
515
+ // modified an order between collection above and the lock call below.
516
+ // The _gridLock serializes the main reconciliation against _applyOrderUpdate,
517
+ // but this re-verification catches the window before _gridLock acquisition.
518
+ const validOrderIds = new Set();
519
+ for (const id of orderIdsToLock) {
520
+ if (mgr.orders.has(id)) {
521
+ validOrderIds.add(id);
522
+ }
523
+ else {
524
+ mgr.logger?.log?.(`[SYNC] Order ${id} disappeared between collection and locking; skipping`, 'debug');
525
+ }
526
+ }
527
+ const orderIdsToLockFinal = [...validOrderIds];
477
528
  const chainOrderIdsOnGrid = new Set();
478
529
  const matchedGridOrderIds = new Set();
479
530
  const filledOrders = [];
@@ -481,15 +532,15 @@ class SyncEngine {
481
532
  const ordersNeedingCorrection = [];
482
533
  const unmatchedChainOrders = [];
483
534
  // Lock orders before reconciliation
484
- mgr.lockOrders([...orderIdsToLock]);
535
+ mgr.lockOrders(orderIdsToLockFinal);
485
536
  // Keep lock leases alive during long reconciliation runs.
486
537
  const refreshEveryMs = Math.max(TIMING.LOCK_REFRESH_MIN_MS, Math.floor(TIMING.LOCK_TIMEOUT_MS / 3));
487
538
  const refreshLockLeases = () => {
488
539
  const expiresAt = Date.now() + TIMING.LOCK_TIMEOUT_MS;
489
- for (const id of orderIdsToLock) {
540
+ for (const id of orderIdsToLockFinal) {
490
541
  mgr.shadowOrderIds.set(id, expiresAt);
491
542
  }
492
- mgr.logger?.log?.(`Refreshed lock leases for ${orderIdsToLock.size} orders`, 'debug');
543
+ mgr.logger?.log?.(`Refreshed lock leases for ${orderIdsToLockFinal.length} orders`, 'debug');
493
544
  };
494
545
  refreshLockLeases();
495
546
  const lockRefreshTimer = setInterval(refreshLockLeases, refreshEveryMs);
@@ -513,7 +564,7 @@ class SyncEngine {
513
564
  finally {
514
565
  clearInterval(lockRefreshTimer);
515
566
  // Unlock after reconciliation completes
516
- mgr.unlockOrders([...orderIdsToLock]);
567
+ mgr.unlockOrders(orderIdsToLockFinal);
517
568
  }
518
569
  return { filledOrders, updatedOrders, ordersNeedingCorrection, unmatchedChainOrders };
519
570
  }
@@ -631,13 +682,25 @@ class SyncEngine {
631
682
  }
632
683
  }
633
684
  else if (gridOrder.state === ORDER_STATES.ACTIVE || gridOrder.state === ORDER_STATES.PARTIAL) {
634
- // During recovery syncs (protectCommittedOrders=true), don't
635
- // virtualize orders that were placed by a successful COW commit.
685
+ // Don't virtualize orders placed by a successful COW commit.
636
686
  // The chain snapshot may lag behind confirmed transactions,
637
- // causing correctly-placed orders to appear missing. Keeping them
638
- // in the grid defers cleanup to the next normal sync cycle, which
639
- // will correctly detect fills via the fill-history pipeline.
640
- if (options.protectCommittedOrders && mgr._committedOrderIds.has(gridOrder.orderId)) {
687
+ // causing correctly-placed orders to appear missing. _committedOrderIds
688
+ // is atomically rebuilt from every successful COW commit
689
+ // (manager.ts:_commitCowPlan) and is always active for all sync
690
+ // paths — previously gated on options.protectCommittedOrders.
691
+ // Always-on is safe because committed IDs are self-cleaning:
692
+ // filled/virtualized orders are absent from the next commit's
693
+ // finalMap, so their IDs drop out on the next atomic rebuild.
694
+ //
695
+ // SAFETY: _committedOrderIds is replaced atomically (reference swap)
696
+ // by _commitCowPlan. The sync reads has(gridOrder.orderId) against the
697
+ // current reference. If a concurrent COW commit replaces the set mid-sync,
698
+ // the new set is a superset (only adds entries for newly committed orders).
699
+ // An order in the superset was just committed, so it is genuinely on-chain
700
+ // and should not be virtualized. An order removed from the old set was
701
+ // filled/virtualized, which the sync will detect independently via the
702
+ // chain snapshot. Superset behavior is safe for this guard.
703
+ if (mgr._committedOrderIds?.has(gridOrder.orderId)) {
641
704
  continue;
642
705
  }
643
706
  const currentGridOrder = mgr.orders.get(gridOrder.id) || gridOrder;
@@ -679,6 +742,18 @@ class SyncEngine {
679
742
  mgr.logger?.log?.(`[SYNC] Orphaned chain order ${chainOrderId} (${chainOrder.type}, price=${chainOrder.price}, ` +
680
743
  `size=${chainOrder.size}) — NOT adopted: duplicates price level of active ` +
681
744
  `${duplicatePriceOrder.id} (${duplicatePriceOrder.orderId} at ${duplicatePriceOrder.price})`, 'warn');
745
+ // Gap 2: Queue duplicate chain order for cancellation via the correction
746
+ // mechanism (called from _performSyncFromOpenOrders). Duplicate price levels
747
+ // block new placements. Cancelling proactively unblocks CREATEs.
748
+ queueCorrection({
749
+ gridOrder: duplicatePriceOrder,
750
+ chainOrderId,
751
+ expectedPrice: chainOrder.price,
752
+ size: chainOrder.size,
753
+ type: chainOrder.type,
754
+ isSurplus: true,
755
+ cancelOnly: true,
756
+ });
682
757
  continue;
683
758
  }
684
759
  const match = findMatchingGridOrderByOpenOrder({ orderId: chainOrderId, type: chainOrder.type, price: chainOrder.price, size: chainOrder.size }, {
@@ -763,7 +838,28 @@ class SyncEngine {
763
838
  }
764
839
  else if (match) {
765
840
  mgr.logger?.log?.(`Warning: Orphan chain order ${chainOrderId} matched grid order ${match.id}, ` +
766
- `but grid order was already matched to another chain order. Skipping to prevent double-assignment.`, 'warn');
841
+ `but grid order was already matched to another chain order. Queuing orphan for cancellation.`, 'warn');
842
+ queueCorrection({
843
+ gridOrder: match,
844
+ chainOrderId,
845
+ expectedPrice: chainOrder.price,
846
+ size: chainOrder.size,
847
+ type: chainOrder.type,
848
+ isSurplus: true,
849
+ cancelOnly: true,
850
+ });
851
+ // Also push to unmatchedChainOrders so the existing auto-cancel
852
+ // path at dexbot_class.ts:4262 can pick it up if the correction
853
+ // mechanism does not fire first.
854
+ unmatchedChainOrders.push({
855
+ chainOrderId,
856
+ type: chainOrder.type,
857
+ price: chainOrder.price,
858
+ size: chainOrder.size,
859
+ raw: rawChainOrders.get(chainOrderId),
860
+ reason: 'already-matched-slot',
861
+ candidateSlotId: match.id,
862
+ });
767
863
  }
768
864
  else {
769
865
  // No grid slot matched by type+price+size in the first pass.
@@ -916,9 +1012,10 @@ class SyncEngine {
916
1012
  let chainConfirmsEmpty = false;
917
1013
  let chainRefetched = false;
918
1014
  // -----------------------------------------------------------------
919
- // Drift-only refetch: the cache is self-correcting across sequential
920
- // websocket fills, but if a fill was ever missed (reconnect, restart,
921
- // reorg, external activity), the cache and the grid can disagree.
1015
+ // Drift-only refetch: the cache is self-correcting across
1016
+ // sequential websocket fills, but if a fill was ever missed
1017
+ // (reconnect, restart, reorg, external activity), the cache and
1018
+ // the grid can disagree.
922
1019
  // The only signal we can detect from the in-memory state is a
923
1020
  // consistent drift: cached for_sale < grid size. Chain `for_sale`
924
1021
  // can only decrease, so a smaller cached value is an obvious
@@ -1233,10 +1330,8 @@ class SyncEngine {
1233
1330
  break;
1234
1331
  }
1235
1332
  case 'cancelOrder': {
1236
- const orderId = typeof chainData === 'object' && chainData !== null
1237
- ? chainData.orderId
1238
- : chainData;
1239
- const clearSize = !!(typeof chainData === 'object' && chainData !== null && chainData.clearSize);
1333
+ const orderId = chainData.orderId;
1334
+ const clearSize = !!chainData.clearSize;
1240
1335
  let btsFeeData;
1241
1336
  try {
1242
1337
  btsFeeData = getAssetFees('BTS');
@@ -1302,9 +1397,7 @@ class SyncEngine {
1302
1397
  // Plain open-order syncs do not imply a fresh account balance fetch,
1303
1398
  // so they still use optimistic accounting deltas.
1304
1399
  return this.syncFromOpenOrders(chainData, {
1305
- skipAccounting: false,
1306
- fillLockAlreadyHeld: options?.fillLockAlreadyHeld,
1307
- protectCommittedOrders: options?.protectCommittedOrders
1400
+ skipAccounting: false
1308
1401
  });
1309
1402
  case 'periodicBlockchainFetch': {
1310
1403
  // This source is used after fetchAccountTotals() has refreshed
@@ -1312,8 +1405,7 @@ class SyncEngine {
1312
1405
  // commitment deltas here double-deducts newly adopted or resized
1313
1406
  // open orders from already-fetched free balances.
1314
1407
  return this.syncFromOpenOrders(chainData, {
1315
- skipAccounting: true,
1316
- fillLockAlreadyHeld: options?.fillLockAlreadyHeld
1408
+ skipAccounting: true
1317
1409
  });
1318
1410
  }
1319
1411
  }
@@ -1 +1 @@
1
- {"version":3,"file":"sync_engine.js","sourceRoot":"","sources":["../../../modules/order/sync_engine.ts"],"names":[],"mappings":";AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAoFG;AAEH,MAAM,EAAE,WAAW,EAAE,YAAY,EAAE,MAAM,EAAE,aAAa,EAAE,GAAG,OAAO,CAAC,cAAc,CAAC,CAAC;AACrF,MAAM,MAAM,GAAG,OAAO,CAAC,UAAU,CAAC,CAAC;AACnC,MAAM,EAAE,cAAc,EAAE,GAAG,MAAM,CAAC;AAClC,MAAM,EACF,iBAAiB,EACjB,oBAAoB,EACpB,qBAAqB,EACrB,uBAAuB,EACvB,YAAY,EACf,GAAG,OAAO,CAAC,cAAc,CAAC,CAAC;AAC5B,MAAM,EACF,eAAe,EACf,gCAAgC,EAChC,yBAAyB,EACzB,0BAA0B,EAC1B,eAAe,EACf,YAAY,EACZ,aAAa,EACb,cAAc,EACd,YAAY,EACZ,cAAc,EACd,cAAc,EACjB,GAAG,OAAO,CAAC,eAAe,CAAC,CAAC;AAC7B,MAAM,EACF,mCAAmC,EACtC,GAAG,OAAO,CAAC,wBAAwB,CAAC,CAAC;AACtC,MAAM,EAAE,WAAW,EAAE,GAAG,OAAO,CAAC,gBAAgB,CAAC,CAAC;AAElD;;;;;GAKG;AACH,SAAS,4BAA4B,CAAC,CAAC,EAAE,CAAC;IACtC,IAAI,CAAC,CAAC,IAAI,CAAC,CAAC;QAAE,OAAO,IAAI,CAAC;IAC1B,IAAI,CAAC,CAAC,IAAI,CAAC,CAAC;QAAE,OAAO,KAAK,CAAC;IAE3B,MAAM,KAAK,GAAG,CAAC,CAAC,UAAU,EAAE,IAAI,IAAI,EAAE,CAAC;IACvC,MAAM,KAAK,GAAG,CAAC,CAAC,UAAU,EAAE,IAAI,IAAI,EAAE,CAAC;IACvC,MAAM,MAAM,GAAG,CAAC,CAAC,UAAU,EAAE,KAAK,IAAI,EAAE,CAAC;IACzC,MAAM,MAAM,GAAG,CAAC,CAAC,UAAU,EAAE,KAAK,IAAI,EAAE,CAAC;IAEzC,OAAO,MAAM,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,CAAC,KAAK,MAAM,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,CAAC;QAC5C,MAAM,CAAC,CAAC,CAAC,QAAQ,IAAI,EAAE,CAAC,KAAK,MAAM,CAAC,CAAC,CAAC,QAAQ,IAAI,EAAE,CAAC;QACrD,MAAM,CAAC,KAAK,CAAC,MAAM,IAAI,EAAE,CAAC,KAAK,MAAM,CAAC,KAAK,CAAC,MAAM,IAAI,EAAE,CAAC;QACzD,MAAM,CAAC,KAAK,CAAC,QAAQ,IAAI,EAAE,CAAC,KAAK,MAAM,CAAC,KAAK,CAAC,QAAQ,IAAI,EAAE,CAAC;QAC7D,MAAM,CAAC,MAAM,CAAC,MAAM,IAAI,EAAE,CAAC,KAAK,MAAM,CAAC,MAAM,CAAC,MAAM,IAAI,EAAE,CAAC;QAC3D,MAAM,CAAC,MAAM,CAAC,QAAQ,IAAI,EAAE,CAAC,KAAK,MAAM,CAAC,MAAM,CAAC,QAAQ,IAAI,EAAE,CAAC,CAAC;AACxE,CAAC;AAED,SAAS,iCAAiC,CAAC,GAAG,EAAE,UAAU,EAAE,SAAS,EAAE,aAAa,EAAE,mBAAmB,GAAG,IAAI;IAC5G,IAAI,CAAC,GAAG,EAAE,MAAM,IAAI,CAAC,UAAU,IAAI,OAAO,SAAS,KAAK,QAAQ;QAAE,OAAO,mCAAmC,CAAC;IAE7G,MAAM,UAAU,GAAG,cAAc,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC;IACpD,MAAM,SAAS,GAAG,cAAc,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC;IAClD,MAAM,QAAQ,GAAG,oBAAoB,CAAC,SAAS,EAAE,SAAS,CAAC,CAAC;IAC5D,MAAM,UAAU,GAAG,EAAE,CAAC;IAEtB,KAAK,MAAM,IAAI,IAAI,GAAG,CAAC,MAAM,CAAC,MAAM,EAAE,EAAE,CAAC;QACrC,IAAI,CAAC,IAAI,IAAI,CAAC,CAAC,YAAY,CAAC,MAAM,EAAE,YAAY,CAAC,OAAO,EAAE,YAAY,CAAC,OAAO,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC;YAAE,SAAS;QAC/G,MAAM,SAAS,GAAG,IAAI,CAAC,IAAI,KAAK,UAAU,CAAC,IAAI,CAAC;QAChD,MAAM,WAAW,GAAG,IAAI,CAAC,IAAI,KAAK,WAAW,CAAC,MAAM,CAAC;QACrD,IAAI,CAAC,SAAS,IAAI,CAAC,WAAW;YAAE,SAAS;QAEzC,MAAM,KAAK,GAAG,cAAc,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QACzC,MAAM,SAAS,GAAG,IAAI,CAAC,GAAG,CAAC,KAAK,GAAG,UAAU,CAAC,CAAC;QAC/C,MAAM,aAAa,GAAG,IAAI,CAAC,IAAI,GAAG,CAAC,CAAC,CAAC,CAAC,cAAc,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;QAC5E,MAAM,SAAS,GAAG,aAAa,CAAC,KAAK,EAAE,aAAa,EAAE,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAC5E,MAAM,OAAO,GAAG,oBAAoB,CAAC,cAAc,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,SAAS,CAAC,CAAC;QAC3E,MAAM,WAAW,GAAG,QAAQ,GAAG,OAAO,CAAC;QACvC,MAAM,UAAU,GAAG,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;QACzC,MAAM,cAAc,GAAG,OAAO,CAAC,mBAAmB,EAAE,GAAG,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC;QACpE,MAAM,MAAM,GAAG,IAAI,CAAC,GAAG,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC;QAC1C,MAAM,eAAe,GAAG,SAAS,IAAI,SAAS,IAAI,SAAS,IAAI,MAAM,CAAC;QACtE,MAAM,gBAAgB,GAAG,CAAC,SAAS,IAAI,WAAW,CAAC,IAAI,SAAS,IAAI,SAAS,IAAI,MAAM,IAAI,CAAC,UAAU,IAAI,CAAC,cAAc,CAAC;QAE1H,UAAU,CAAC,IAAI,CAAC;YACZ,IAAI;YACJ,SAAS;YACT,WAAW;YACX,SAAS;YACT,SAAS;YACT,WAAW;YACX,UAAU;YACV,cAAc;YACd,eAAe;YACf,gBAAgB;SACnB,CAAC,CAAC;IACP,CAAC;IAED,UAAU,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,SAAS,GAAG,CAAC,CAAC,SAAS,CAAC,CAAC;IACrD,IAAI,UAAU,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,8CAA8C,CAAC;IAEnF,OAAO,UAAU,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,SAAS,EAAE,EAAE;QAC5C,MAAM,IAAI,GAAG,SAAS,CAAC,IAAI,CAAC;QAC5B,MAAM,OAAO,GAAG,EAAE,CAAC;QACnB,IAAI,CAAC,SAAS,CAAC,SAAS,IAAI,CAAC,SAAS,CAAC,WAAW;YAAE,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;QACzE,IAAI,SAAS,CAAC,SAAS,GAAG,SAAS,CAAC,SAAS;YAAE,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;QACrE,IAAI,IAAI,CAAC,GAAG,CAAC,SAAS,CAAC,WAAW,CAAC,GAAG,CAAC;YAAE,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;QAC9D,IAAI,SAAS,CAAC,UAAU;YAAE,OAAO,CAAC,IAAI,CAAC,YAAY,IAAI,CAAC,OAAO,EAAE,CAAC,CAAC;QACnE,IAAI,SAAS,CAAC,cAAc;YAAE,OAAO,CAAC,IAAI,CAAC,gBAAgB,CAAC,CAAC;QAC7D,IAAI,SAAS,CAAC,eAAe;YAAE,OAAO,CAAC,IAAI,CAAC,mBAAmB,CAAC,CAAC;QACjE,IAAI,SAAS,CAAC,gBAAgB;YAAE,OAAO,CAAC,IAAI,CAAC,oBAAoB,CAAC,CAAC;QACnE,OAAO,GAAG,IAAI,CAAC,EAAE,IAAI,SAAS,IAAI,IAAI,CAAC,IAAI,IAAI,IAAI,CAAC,KAAK,EAAE;YACvD,YAAY,IAAI,CAAC,OAAO,IAAI,MAAM,EAAE;YACpC,UAAU,MAAM,CAAC,YAAY,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE;YAC3C,SAAS,MAAM,CAAC,YAAY,CAAC,SAAS,CAAC,SAAS,CAAC,EAAE;YACnD,QAAQ,MAAM,CAAC,YAAY,CAAC,SAAS,CAAC,SAAS,CAAC,EAAE;YAClD,SAAS,MAAM,CAAC,qBAAqB,CAAC,IAAI,CAAC,IAAI,IAAI,CAAC,EAAE,UAAU,CAAC,IAAI,EAAE,GAAG,CAAC,MAAM,CAAC,EAAE;YACpF,gBAAgB,SAAS,CAAC,WAAW,EAAE;YACvC,WAAW,OAAO,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,SAAS,EAAE,CAAC;IACpD,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AAClB,CAAC;AAED,SAAS,4BAA4B,CAAC,GAAG;IACrC,OAAO,GAAG,EAAE,MAAM,EAAE,UAAU,EAAE,gCAAgC,CAAC;AACrE,CAAC;AAED;;;;;;;;;;;;;;;;;;;;;;GAsBG;AACH,SAAS,6BAA6B,CAAC,GAAG,EAAE,UAAU,EAAE,eAAe;IACnE,IAAI,CAAC,GAAG,EAAE,MAAM,IAAI,CAAC,UAAU;QAAE,OAAO,IAAI,CAAC;IAC7C,MAAM,UAAU,GAAG,cAAc,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC;IACpD,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,UAAU,CAAC;QAAE,OAAO,IAAI,CAAC;IAC9C,MAAM,SAAS,GAAG,cAAc,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC;IAClD,MAAM,SAAS,GAAG,UAAU,CAAC,IAAI,CAAC;IAClC,IAAI,SAAS,KAAK,WAAW,CAAC,GAAG,IAAI,SAAS,KAAK,WAAW,CAAC,IAAI;QAAE,OAAO,IAAI,CAAC;IAEjF,IAAI,SAAS,GAAG,IAAI,CAAC;IACrB,KAAK,MAAM,IAAI,IAAI,GAAG,CAAC,MAAM,CAAC,MAAM,EAAE,EAAE,CAAC;QACrC,IAAI,CAAC,IAAI;YAAE,SAAS;QACpB,IAAI,IAAI,CAAC,IAAI,KAAK,SAAS,IAAI,IAAI,CAAC,IAAI,KAAK,WAAW,CAAC,MAAM;YAAE,SAAS;QAC1E,IAAI,IAAI,CAAC,OAAO;YAAE,SAAS;QAC3B,IAAI,CAAC,CAAC,YAAY,CAAC,MAAM,EAAE,YAAY,CAAC,OAAO,EAAE,YAAY,CAAC,OAAO,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC;YAAE,SAAS;QACtG,MAAM,SAAS,GAAG,cAAc,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QAC7C,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,SAAS,CAAC;YAAE,SAAS;QAC1C,MAAM,SAAS,GAAG,IAAI,CAAC,GAAG,CAAC,SAAS,GAAG,UAAU,CAAC,CAAC;QACnD,MAAM,aAAa,GAAG,IAAI,CAAC,IAAI,GAAG,CAAC,CAAC,CAAC,CAAC,cAAc,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;QAC5E,MAAM,SAAS,GAAG,CAAC,eAAe,CAAC,CAAC,CAAC,CAAC,eAAe,CAAC,SAAS,EAAE,aAAa,EAAE,SAAS,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QACtG,IAAI,SAAS,IAAI,SAAS;YAAE,SAAS;QACrC,MAAM,WAAW,GAAG,SAAS,GAAG,4BAA4B,CAAC,GAAG,CAAC,CAAC;QAClE,IAAI,WAAW,GAAG,CAAC,IAAI,SAAS,GAAG,WAAW;YAAE,SAAS;QACzD,IAAI,CAAC,SAAS,IAAI,SAAS,GAAG,SAAS,CAAC,SAAS,EAAE,CAAC;YAChD,SAAS,GAAG;gBACR,eAAe,EAAE,IAAI,CAAC,EAAE;gBACxB,kBAAkB,EAAE,SAAS;gBAC7B,SAAS;gBACT,SAAS;aACZ,CAAC;QACN,CAAC;IACL,CAAC;IACD,OAAO,SAAS,CAAC;AACrB,CAAC;AAED,MAAM,UAAU;IACJ,OAAO,CAAM;IACrB;;OAEG;IACH,YAAY,OAAY;QACpB,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC;IAC3B,CAAC;IAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;OA6DG;IACH;;;;;OAKG;IACH,KAAK,CAAC,kBAAkB,CAAC,WAAyB,EAAE,UAA+B,EAAE;QACjF,MAAM,GAAG,GAAG,IAAI,CAAC,OAAO,CAAC;QAEzB,IAAI,CAAC,GAAG,EAAE,CAAC;YACP,MAAM,IAAI,KAAK,CAAC,yCAAyC,CAAC,CAAC;QAC/D,CAAC;QACD,IAAI,CAAC,GAAG,CAAC,SAAS,EAAE,CAAC;YACjB,GAAG,CAAC,MAAM,EAAE,GAAG,EAAE,CAAC,iCAAiC,EAAE,OAAO,CAAC,CAAC;YAC9D,OAAO,EAAE,YAAY,EAAE,EAAE,EAAE,aAAa,EAAE,EAAE,EAAE,uBAAuB,EAAE,EAAE,EAAE,oBAAoB,EAAE,EAAE,EAAE,CAAC;QAC1G,CAAC;QAED,IAAI,CAAC,OAAO,EAAE,mBAAmB,IAAI,GAAG,CAAC,mBAAmB,EAAE,CAAC;YAC3D,OAAO,GAAG,CAAC,mBAAmB,CAAC,OAAO,CAAC,KAAK,IAAI,EAAE;gBAC9C,OAAO,IAAI,CAAC,kBAAkB,CAAC,WAAW,EAAE;oBACxC,GAAG,OAAO;oBACV,mBAAmB,EAAE,IAAI;iBAC5B,CAAC,CAAC;YACP,CAAC,CAAC,CAAC;QACP,CAAC;QAED,GAAG,CAAC,MAAM,EAAE,GAAG,EAAE,CAAC,wCAAwC,WAAW,EAAE,MAAM,IAAI,CAAC,uBAAuB,EAAE,MAAM,CAAC,CAAC;QAEnH,MAAM,SAAS,GAAG,MAAM,CAAC,oBAAoB,CAAC;QAC9C,IAAI,QAAQ,GAAG,KAAK,CAAC;QACrB,IAAI,aAAwD,CAAC;QAC7D,MAAM,aAAa,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;QACjC,IAAI,CAAC;YACD,MAAM,MAAM,GAAG,MAAM,OAAO,CAAC,IAAI,CAAC;gBAC9B,GAAG,CAAC,SAAS,CAAC,OAAO,CAAC,KAAK,IAAI,EAAE;oBAC7B,MAAM,WAAW,GAAG,MAAM,IAAI,CAAC,qBAAqB,CAAC,WAAW,EAAE,OAAO,CAAC,CAAC;oBAC3E,IAAI,QAAQ,EAAE,CAAC;wBACX,GAAG,CAAC,MAAM,EAAE,GAAG,EAAE,CACb,wCAAwC,IAAI,CAAC,GAAG,EAAE,GAAG,aAAa,QAAQ;4BAC1E,4DAA4D,EAC5D,MAAM,CACT,CAAC;wBACF,OAAO,WAAW,CAAC;oBACvB,CAAC;oBACD,MAAM,cAAc,GAAG,KAAK,CAAC,OAAO,CAAC,WAAW,CAAC,oBAAoB,CAAC;wBAClE,CAAC,CAAC,WAAW,CAAC,oBAAoB,CAAC,MAAM;wBACzC,CAAC,CAAC,CAAC,CAAC;oBACR,GAAG,CAAC,yBAAyB,GAAG,cAAc,GAAG,CAAC;wBAC9C,CAAC,CAAC,WAAW,CAAC,oBAAoB,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,EAAE,GAAG,KAAK,EAAE,CAAC,CAAC;wBAC/D,CAAC,CAAC,EAAE,CAAC;oBACT,GAAG,CAAC,2BAA2B,GAAG,cAAc,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC;oBACtE,GAAG,CAAC,MAAM,EAAE,GAAG,EAAE,CACb,oCAAoC,WAAW,CAAC,YAAY,CAAC,MAAM,WAAW;wBAC9E,GAAG,WAAW,CAAC,aAAa,CAAC,MAAM,YAAY;wBAC/C,GAAG,WAAW,CAAC,uBAAuB,CAAC,MAAM,sBAAsB,EAAE,MAAM,CAAC,CAAC;oBACjF,OAAO,WAAW,CAAC;gBACvB,CAAC,CAAC;gBACF,IAAI,OAAO,CAAQ,CAAC,CAAC,EAAE,MAAM,EAAE,EAAE;oBAC7B,aAAa,GAAG,UAAU,CAAC,GAAG,EAAE;wBAC5B,QAAQ,GAAG,IAAI,CAAC;wBAChB,MAAM,CAAC,IAAI,KAAK,CAAC,wBAAwB,SAAS,IAAI,CAAC,CAAC,CAAC;oBAC7D,CAAC,EAAE,SAAS,CAAC,CAAC;gBAClB,CAAC,CAAC;aACL,CAAC,CAAC;YACH,YAAY,CAAC,aAAa,CAAC,CAAC;YAC5B,OAAO,MAAM,CAAC;QAClB,CAAC;QAAC,OAAO,GAAQ,EAAE,CAAC;YAChB,YAAY,CAAC,aAAa,CAAC,CAAC;YAC5B,IAAI,GAAG,CAAC,OAAO,EAAE,QAAQ,CAAC,WAAW,CAAC,EAAE,CAAC;gBACrC,GAAG,CAAC,MAAM,EAAE,GAAG,EAAE,CACb,yFAAyF,EACzF,MAAM,CACT,CAAC;YACN,CAAC;YACD,GAAG,CAAC,MAAM,EAAE,GAAG,EAAE,CAAC,oBAAoB,GAAG,CAAC,OAAO,EAAE,EAAE,OAAO,CAAC,CAAC;YAC9D,MAAM,GAAG,CAAC;QACd,CAAC;IACL,CAAC;IAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;OA4BG;IACH,KAAK,CAAC,qBAAqB,CAAC,WAAyB,EAAE,OAA4B;QAC/E,MAAM,GAAG,GAAG,IAAI,CAAC,OAAO,CAAC;QAEzB,kBAAkB;QAClB,IAAI,CAAC,GAAG,EAAE,CAAC;YACP,MAAM,IAAI,KAAK,CAAC,kBAAkB,CAAC,CAAC;QACxC,CAAC;QAED,IAAI,CAAC,WAAW,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,WAAW,CAAC,EAAE,CAAC;YAC9C,OAAO,EAAE,YAAY,EAAE,EAAE,EAAE,aAAa,EAAE,EAAE,EAAE,uBAAuB,EAAE,EAAE,EAAE,oBAAoB,EAAE,EAAE,EAAE,CAAC;QAC1G,CAAC;QACD,IAAI,CAAC,GAAG,CAAC,MAAM,IAAI,CAAC,CAAC,GAAG,CAAC,MAAM,YAAY,GAAG,CAAC,EAAE,CAAC;YAC9C,GAAG,CAAC,MAAM,EAAE,GAAG,EAAE,CAAC,mDAAmD,EAAE,OAAO,CAAC,CAAC;YAChF,OAAO,EAAE,YAAY,EAAE,EAAE,EAAE,aAAa,EAAE,EAAE,EAAE,uBAAuB,EAAE,EAAE,EAAE,oBAAoB,EAAE,EAAE,EAAE,CAAC;QAC1G,CAAC;QACD,IAAI,GAAG,CAAC,MAAM,EAAE,MAAM,EAAE,SAAS,KAAK,SAAS,IAAI,GAAG,CAAC,MAAM,EAAE,MAAM,EAAE,SAAS,KAAK,SAAS,EAAE,CAAC;YAC7F,GAAG,CAAC,MAAM,EAAE,GAAG,EAAE,CAAC,yCAAyC,EAAE,OAAO,CAAC,CAAC;YACtE,OAAO,EAAE,YAAY,EAAE,EAAE,EAAE,aAAa,EAAE,EAAE,EAAE,uBAAuB,EAAE,EAAE,EAAE,oBAAoB,EAAE,EAAE,EAAE,CAAC;QAC1G,CAAC;QAED,MAAM,eAAe,GAAG,GAAG,CAAC,MAAM,CAAC,MAAM,CAAC,SAAS,CAAC;QACpD,MAAM,eAAe,GAAG,GAAG,CAAC,MAAM,CAAC,MAAM,CAAC,SAAS,CAAC;QACpD,MAAM,QAAQ,GAAG,GAAG,CAAC,MAAM,CAAC,MAAM,CAAC,EAAE,CAAC;QACtC,MAAM,QAAQ,GAAG,GAAG,CAAC,MAAM,CAAC,MAAM,CAAC,EAAE,CAAC;QAEtC,IAAI,CAAC,QAAQ,IAAI,CAAC,QAAQ,EAAE,CAAC;YACzB,GAAG,CAAC,MAAM,EAAE,GAAG,EAAE,CAAC,yCAAyC,EAAE,OAAO,CAAC,CAAC;YACtE,OAAO,EAAE,YAAY,EAAE,EAAE,EAAE,aAAa,EAAE,EAAE,EAAE,uBAAuB,EAAE,EAAE,EAAE,oBAAoB,EAAE,EAAE,EAAE,CAAC;QAC1G,CAAC;QAED,mEAAmE;QACnE,wEAAwE;QACxE,MAAM,iBAAiB,GAAG,IAAI,GAAG,EAAE,CAAC;QACpC,MAAM,cAAc,GAAG,IAAI,GAAG,EAAE,CAAC;QAEjC,KAAK,MAAM,KAAK,IAAI,WAAW,EAAE,CAAC;YAC9B,IAAI,CAAC;gBACD,MAAM,MAAM,GAAG,eAAe,CAAC,KAAK,EAAE,GAAG,CAAC,MAAM,CAAC,CAAC;gBAClD,IAAI,CAAC,MAAM;oBAAE,SAAS;gBAEtB,qDAAqD;gBACrD,iBAAiB,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,EAAE,MAAM,CAAC,CAAC;gBACxC,2EAA2E;gBAC3E,cAAc,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,EAAE,KAAK,CAAC,CAAC;YACxC,CAAC;YAAC,OAAO,CAAM,EAAE,CAAC;gBACd,GAAG,CAAC,MAAM,EAAE,GAAG,EAAE,CAAC,sCAAsC,KAAK,CAAC,EAAE,KAAK,CAAC,CAAC,OAAO,EAAE,EAAE,MAAM,CAAC,CAAC;gBAC1F,SAAS;YACb,CAAC;QACL,CAAC;QAED,qEAAqE;QACrE,6EAA6E;QAC7E,MAAM,cAAc,GAAG,IAAI,GAAG,EAAE,CAAC;QACjC,KAAK,MAAM,SAAS,IAAI,GAAG,CAAC,MAAM,CAAC,MAAM,EAAE,EAAE,CAAC;YAC1C,yDAAyD;YACzD,IAAI,SAAS,CAAC,OAAO,EAAE,CAAC;gBACpB,cAAc,CAAC,GAAG,CAAC,SAAS,CAAC,EAAE,CAAC,CAAC;gBACjC,cAAc,CAAC,GAAG,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC;YAC1C,CAAC;YACD,uEAAuE;YACvE,IAAI,SAAS,CAAC,KAAK,KAAK,YAAY,CAAC,MAAM,IAAI,SAAS,CAAC,KAAK,KAAK,YAAY,CAAC,OAAO,EAAE,CAAC;gBACtF,cAAc,CAAC,GAAG,CAAC,SAAS,CAAC,EAAE,CAAC,CAAC;YACrC,CAAC;QACL,CAAC;QAED,MAAM,mBAAmB,GAAG,IAAI,GAAG,EAAU,CAAC;QAC9C,MAAM,mBAAmB,GAAG,IAAI,GAAG,EAAU,CAAC;QAC9C,MAAM,YAAY,GAAG,EAAE,CAAC;QACxB,MAAM,aAAa,GAAG,EAAE,CAAC;QACzB,MAAM,uBAAuB,GAAG,EAAE,CAAC;QACnC,MAAM,oBAAoB,GAAG,EAAE,CAAC;QAEhC,oCAAoC;QACpC,GAAG,CAAC,UAAU,CAAC,CAAC,GAAG,cAAc,CAAC,CAAC,CAAC;QAEpC,0DAA0D;QAC1D,MAAM,cAAc,GAAG,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,mBAAmB,EAAE,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,eAAe,GAAG,CAAC,CAAC,CAAC,CAAC;QACpG,MAAM,iBAAiB,GAAG,GAAG,EAAE;YAC3B,MAAM,SAAS,GAAG,IAAI,CAAC,GAAG,EAAE,GAAG,MAAM,CAAC,eAAe,CAAC;YACtD,KAAK,MAAM,EAAE,IAAI,cAAc,EAAE,CAAC;gBAC9B,GAAG,CAAC,cAAc,CAAC,GAAG,CAAC,EAAE,EAAE,SAAS,CAAC,CAAC;YAC1C,CAAC;YACD,GAAG,CAAC,MAAM,EAAE,GAAG,EAAE,CAAC,6BAA6B,cAAc,CAAC,IAAI,SAAS,EAAE,OAAO,CAAC,CAAC;QAC1F,CAAC,CAAC;QAEF,iBAAiB,EAAE,CAAC;QACpB,MAAM,gBAAgB,GAAG,WAAW,CAAC,iBAAiB,EAAE,cAAc,CAAC,CAAC;QAExE,IAAI,CAAC;YACD,MAAM,iBAAiB,GAAG,KAAK,IAAI,EAAE;gBACjC,GAAG,CAAC,eAAe,EAAE,CAAC;gBACtB,IAAI,CAAC;oBACD,MAAM,IAAI,CAAC,0BAA0B,CACjC,GAAG,EACH,eAAe,EACf,eAAe,EACf,iBAAiB,EACjB,cAAc,EACd,mBAAmB,EACnB,mBAAmB,EACnB,YAAY,EACZ,aAAa,EACb,uBAAuB,EACvB,oBAAoB,EACpB,OAAO,CACV,CAAC;gBACN,CAAC;wBAAS,CAAC;oBACP,MAAM,GAAG,CAAC,gBAAgB,EAAE,CAAC;gBACjC,CAAC;YACL,CAAC,CAAC;YAEF,IAAI,OAAO,EAAE,mBAAmB,EAAE,CAAC;gBAC/B,MAAM,iBAAiB,EAAE,CAAC;YAC9B,CAAC;iBAAM,CAAC;gBACJ,MAAM,GAAG,CAAC,SAAS,CAAC,OAAO,CAAC,iBAAiB,CAAC,CAAC;YACnD,CAAC;QACL,CAAC;gBAAS,CAAC;YACP,aAAa,CAAC,gBAAgB,CAAC,CAAC;YAChC,wCAAwC;YACxC,GAAG,CAAC,YAAY,CAAC,CAAC,GAAG,cAAc,CAAC,CAAC,CAAC;QAC1C,CAAC;QAED,OAAO,EAAE,YAAY,EAAE,aAAa,EAAE,uBAAuB,EAAE,oBAAoB,EAAE,CAAC;IAC1F,CAAC;IAED;;;;;;;;;;;;;;;OAeG;IACH,KAAK,CAAC,0BAA0B,CAAC,GAAQ,EAAE,eAAuB,EAAE,eAAuB,EAAE,iBAAmC,EAAE,cAAgC,EAC9J,mBAAgC,EAAE,mBAAgC,EAAE,YAAmB,EAAE,aAAoB,EAAE,uBAA8B,EAAE,oBAA2B,EAAE,OAA4B;QACxM,MAAM,cAAc,GAAG,OAAO,CAAC,OAAO,EAAE,cAAc,CAAC,CAAC;QAExD,MAAM,eAAe,GAAG,CAAC,KAAK,EAAE,EAAE;YAC9B,uBAAuB,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;YACpC,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,4BAA4B,CAAC;gBAAE,OAAO;YAE7D,MAAM,aAAa,GAAG,GAAG,CAAC,4BAA4B,CAAC,SAAS,CAAC,CAAC,MAAM,EAAE,EAAE,CACxE,MAAM,EAAE,YAAY,KAAK,KAAK,CAAC,YAAY,IAAI,OAAO,CAAC,MAAM,EAAE,SAAS,CAAC,KAAK,OAAO,CAAC,KAAK,CAAC,SAAS,CAAC,CACzG,CAAC;YAEF,IAAI,aAAa,IAAI,CAAC,EAAE,CAAC;gBACrB,GAAG,CAAC,4BAA4B,CAAC,aAAa,CAAC,GAAG;oBAC9C,GAAG,GAAG,CAAC,4BAA4B,CAAC,aAAa,CAAC;oBAClD,GAAG,KAAK;iBACX,CAAC;YACN,CAAC;iBAAM,CAAC;gBACJ,GAAG,CAAC,4BAA4B,CAAC,IAAI,CAAC,EAAE,GAAG,KAAK,EAAE,CAAC,CAAC;YACxD,CAAC;QACL,CAAC,CAAC;QAEF,uEAAuE;QACvE,yDAAyD;QACzD,uEAAuE;QACvE,KAAK,MAAM,SAAS,IAAI,GAAG,CAAC,MAAM,CAAC,MAAM,EAAE,EAAE,CAAC;YAE1C,IAAI,SAAS,CAAC,OAAO,IAAI,iBAAiB,CAAC,GAAG,CAAC,SAAS,CAAC,OAAO,CAAC,EAAE,CAAC;gBAChE,MAAM,UAAU,GAAG,iBAAiB,CAAC,GAAG,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC;gBAC5D,IAAI,YAAY,GAAG,EAAE,GAAG,SAAS,EAAE,CAAC;gBACpC,mBAAmB,CAAC,GAAG,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC;gBAC3C,uEAAuE;gBACvE,0DAA0D;gBAC1D,gEAAgE;gBAChE,iEAAiE;gBACjE,iEAAiE;gBACjE,uCAAuC;gBACvC,MAAM,WAAW,GAAG,cAAc,CAAC,GAAG,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC;gBAC1D,YAAY,CAAC,UAAU,GAAG,WAAW;oBACjC,CAAC,CAAC,EAAE,GAAG,WAAW,EAAE,SAAS,EAAE,IAAI,CAAC,GAAG,EAAE,EAAE;oBAC3C,CAAC,CAAC,WAAW,CAAC;gBAElB,mFAAmF;gBACnF,IAAI,SAAS,CAAC,IAAI,KAAK,UAAU,CAAC,IAAI,EAAE,CAAC;oBACrC,GAAG,CAAC,MAAM,EAAE,GAAG,EAAE,CACb,4BAA4B,SAAS,CAAC,EAAE,UAAU,SAAS,CAAC,IAAI,WAAW,UAAU,CAAC,IAAI,IAAI;wBAC9F,6BAA6B,SAAS,CAAC,OAAO,wDAAwD,EACtG,MAAM,CACT,CAAC;oBACF,eAAe,CAAC;wBACZ,SAAS,EAAE,EAAE,GAAG,SAAS,EAAE;wBAC3B,YAAY,EAAE,SAAS,CAAC,OAAO;wBAC/B,aAAa,EAAE,SAAS,CAAC,KAAK;wBAC9B,WAAW,EAAE,UAAU,CAAC,KAAK;wBAC7B,IAAI,EAAE,UAAU,CAAC,IAAI;wBACrB,IAAI,EAAE,UAAU,CAAC,IAAI;wBACrB,YAAY,EAAE,IAAI;wBAClB,SAAS,EAAE,IAAI;wBACf,WAAW,EAAE,UAAU,CAAC,IAAI;qBAC/B,CAAC,CAAC;oBACH,SAAS;gBACb,CAAC;qBAAM,CAAC;oBACJ,MAAM,cAAc,GAAG,uBAAuB,CAAC,SAAS,CAAC,KAAK,EAAE,SAAS,CAAC,IAAI,EAAE,SAAS,CAAC,IAAI,EAAE,GAAG,CAAC,MAAM,CAAC,CAAC;oBAC5G,MAAM,mBAAmB,GAAG,CAAC,cAAc,KAAK,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,cAAc,CAAC;oBAE3E,qCAAqC;oBACrC,IAAI,IAAI,CAAC,GAAG,CAAC,UAAU,CAAC,KAAK,GAAG,SAAS,CAAC,KAAK,CAAC,GAAG,mBAAmB,EAAE,CAAC;wBACrE,eAAe,CAAC;4BACZ,SAAS,EAAE,EAAE,GAAG,SAAS,EAAE;4BAC3B,YAAY,EAAE,SAAS,CAAC,OAAO;4BAC/B,aAAa,EAAE,SAAS,CAAC,KAAK;4BAC9B,WAAW,EAAE,UAAU,CAAC,KAAK;4BAC7B,IAAI,EAAE,UAAU,CAAC,IAAI;4BACrB,IAAI,EAAE,SAAS,CAAC,IAAI;yBACvB,CAAC,CAAC;oBACP,CAAC;gBACL,CAAC;gBAED,6DAA6D;gBAC7D,MAAM,SAAS,GAAG,CAAC,UAAU,CAAC,IAAI,KAAK,WAAW,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,eAAe,CAAC,CAAC,CAAC,eAAe,CAAC;gBAC7F,MAAM,cAAc,GAAG,oBAAoB,CAAC,SAAS,CAAC,IAAI,EAAE,SAAS,CAAC,CAAC;gBACvE,MAAM,YAAY,GAAG,oBAAoB,CAAC,UAAU,CAAC,IAAI,EAAE,SAAS,CAAC,CAAC;gBAEtE,IAAI,cAAc,KAAK,YAAY,EAAE,CAAC;oBAClC,MAAM,OAAO,GAAG,iBAAiB,CAAC,YAAY,EAAE,SAAS,EAAE,IAAI,CAAC,CAAC;oBACjE,MAAM,MAAM,GAAG,oBAAoB,CAAC,OAAO,EAAE,SAAS,CAAC,CAAC;oBAExD,IAAI,MAAM,GAAG,CAAC,EAAE,CAAC;wBACb,MAAM,SAAS,GAAG,MAAM,yBAAyB,CAAC,GAAG,EAAE,YAAY,EAAE,OAAO,CAAC,CAAC;wBAC9E,IAAI,SAAS,EAAE,CAAC;4BACZ,+CAA+C;4BAC/C,YAAY,GAAG,EAAE,GAAG,YAAY,EAAE,GAAG,SAAS,EAAE,CAAC;wBACrD,CAAC;wBACD,oEAAoE;wBACpE,8DAA8D;wBAC9D,mEAAmE;wBACnE,0DAA0D;wBAC1D,YAAY,CAAC,KAAK,GAAG,CAAC,YAAY,GAAG,cAAc,CAAC;4BAChD,CAAC,CAAC,YAAY,CAAC,OAAO;4BACtB,CAAC,CAAC,SAAS,CAAC,KAAK,CAAC;wBACtB,MAAM,GAAG,CAAC,iBAAiB,CAAC,YAAY,EAAE,oBAAoB,EAAE,EAAE,cAAc,EAAE,GAAG,EAAE,CAAC,EAAE,CAAC,CAAC;oBAChG,CAAC;yBAAM,CAAC;wBACJ,MAAM,WAAW,GAAG,0BAA0B,CAAC,SAAS,CAAC,CAAC;wBAC1D,MAAM,GAAG,CAAC,iBAAiB,CAAC,WAAW,EAAE,mBAAmB,EAAE,EAAE,cAAc,EAAE,GAAG,EAAE,CAAC,EAAE,CAAC,CAAC;wBAC1F,YAAY,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;wBAC/B,aAAa,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;oBACpC,CAAC;gBACL,CAAC;YACL,CAAC;iBAAM,IAAI,SAAS,CAAC,KAAK,KAAK,YAAY,CAAC,MAAM,IAAI,SAAS,CAAC,KAAK,KAAK,YAAY,CAAC,OAAO,EAAE,CAAC;gBAC7F,6DAA6D;gBAC7D,iEAAiE;gBACjE,4DAA4D;gBAC5D,kEAAkE;gBAClE,kEAAkE;gBAClE,6DAA6D;gBAC7D,IAAI,OAAO,CAAC,sBAAsB,IAAI,GAAG,CAAC,kBAAkB,CAAC,GAAG,CAAC,SAAS,CAAC,OAAO,CAAC,EAAE,CAAC;oBAClF,SAAS;gBACb,CAAC;gBACD,MAAM,gBAAgB,GAAG,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,SAAS,CAAC,EAAE,CAAC,IAAI,SAAS,CAAC;gBACnE,MAAM,UAAU,GAAG,OAAO,CAAC,gBAAgB,EAAE,OAAO,CAAC,CAAC;gBACtD,MAAM,WAAW,GAAG,0BAA0B,CAAC,gBAAgB,CAAC,CAAC;gBACjE,MAAM,GAAG,CAAC,iBAAiB,CAAC,WAAW,EAAE,sBAAsB,EAAE,EAAE,cAAc,EAAE,GAAG,EAAE,CAAC,EAAE,CAAC,CAAC;gBAE7F,4DAA4D;gBAC5D,IAAI,UAAU,EAAE,CAAC;oBACb,YAAY,CAAC,IAAI,CAAC,EAAE,GAAG,gBAAgB,EAAE,CAAC,CAAC;gBAC/C,CAAC;YACL,CAAC;QACL,CAAC;QAED,uEAAuE;QACvE,8DAA8D;QAC9D,uEAAuE;QACvE,KAAK,MAAM,CAAC,YAAY,EAAE,UAAU,CAAC,IAAI,iBAAiB,EAAE,CAAC;YACzD,IAAI,mBAAmB,CAAC,GAAG,CAAC,YAAY,CAAC;gBAAE,SAAS;YAEpD,iEAAiE;YACjE,sEAAsE;YACtE,oEAAoE;YACpE,mEAAmE;YACnE,oEAAoE;YACpE,iEAAiE;YACjE,uEAAuE;YACvE,MAAM,mBAAmB,GAAQ,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,MAAM,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,CAAM,EAAE,EAAE,CAC7E,CAAC,CAAC,IAAI,KAAK,UAAU,CAAC,IAAI;gBAC1B,aAAa,CAAC,CAAC,CAAC;gBAChB,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,KAAK,GAAG,UAAU,CAAC,KAAK,CAAC,IAAI,uBAAuB,CAC3D,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,KAAK,EAAE,UAAU,CAAC,KAAK,CAAC,EACnC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,EAAE,UAAU,CAAC,IAAI,CAAC,EACjC,CAAC,CAAC,IAAI,EAAE,GAAG,CAAC,MAAM,CACrB,CACJ,CAAC;YACF,IAAI,mBAAmB,EAAE,CAAC;gBACtB,oBAAoB,CAAC,IAAI,CAAC;oBACtB,YAAY;oBACZ,IAAI,EAAE,UAAU,CAAC,IAAI;oBACrB,KAAK,EAAE,UAAU,CAAC,KAAK;oBACvB,IAAI,EAAE,UAAU,CAAC,IAAI;oBACrB,GAAG,EAAE,cAAc,CAAC,GAAG,CAAC,YAAY,CAAC;oBACrC,MAAM,EAAE,uBAAuB;oBAC/B,eAAe,EAAE,mBAAmB,CAAC,EAAE;iBAC1C,CAAC,CAAC;gBACH,GAAG,CAAC,MAAM,EAAE,GAAG,EAAE,CACb,+BAA+B,YAAY,KAAK,UAAU,CAAC,IAAI,WAAW,UAAU,CAAC,KAAK,IAAI;oBAC9F,QAAQ,UAAU,CAAC,IAAI,oDAAoD;oBAC3E,GAAG,mBAAmB,CAAC,EAAE,KAAK,mBAAmB,CAAC,OAAO,OAAO,mBAAmB,CAAC,KAAK,GAAG,EAC5F,MAAM,CACT,CAAC;gBACF,SAAS;YACb,CAAC;YAED,MAAM,KAAK,GAAG,gCAAgC,CAC1C,EAAE,OAAO,EAAE,YAAY,EAAE,IAAI,EAAE,UAAU,CAAC,IAAI,EAAE,KAAK,EAAE,UAAU,CAAC,KAAK,EAAE,IAAI,EAAE,UAAU,CAAC,IAAI,EAAE,EAChG;gBACI,MAAM,EAAE,GAAG,CAAC,MAAM;gBAClB,MAAM,EAAE,GAAG,CAAC,MAAM;gBAClB,eAAe,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,uBAAuB,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,GAAG,CAAC,MAAM,CAAC;gBAC1E,MAAM,EAAE,GAAG,CAAC,MAAM;gBAClB,qBAAqB,EAAE,IAAI;gBAC3B,oBAAoB,EAAE,IAAI;gBAC1B,mBAAmB,EAAE,mBAAmB;aAC3C,CACJ,CAAC;YAEF,IAAI,KAAK,IAAI,CAAC,mBAAmB,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,CAAC,EAAE,CAAC;gBAC9C,IAAI,SAAS,GAAG,EAAE,GAAG,KAAK,EAAE,CAAC;gBAC7B,MAAM,UAAU,GAAG,KAAK,CAAC,KAAK,KAAK,YAAY,CAAC,OAAO,CAAC;gBACxD,MAAM,UAAU,GAAG,KAAK,CAAC,KAAK,KAAK,YAAY,CAAC,OAAO,CAAC;gBACxD,SAAS,CAAC,OAAO,GAAG,YAAY,CAAC;gBACjC,SAAS,CAAC,KAAK,GAAG,UAAU,CAAC,CAAC,CAAC,YAAY,CAAC,MAAM,CAAC,CAAC,CAAC,KAAK,CAAC,KAAK,CAAC;gBACjE,MAAM,YAAY,GAAG,cAAc,CAAC,GAAG,CAAC,YAAY,CAAC,CAAC;gBACtD,SAAS,CAAC,UAAU,GAAG,YAAY;oBAC/B,CAAC,CAAC,EAAE,GAAG,YAAY,EAAE,SAAS,EAAE,IAAI,CAAC,GAAG,EAAE,EAAE;oBAC5C,CAAC,CAAC,YAAY,CAAC;gBACnB,mBAAmB,CAAC,GAAG,CAAC,SAAS,CAAC,EAAE,CAAC,CAAC;gBAEtC,+DAA+D;gBAC/D,qEAAqE;gBACrE,oEAAoE;gBACpE,uEAAuE;gBACvE,kEAAkE;gBAClE,uEAAuE;gBACvE,sEAAsE;gBACtE,iDAAiD;gBACjD,IAAI,SAAS,CAAC,UAAU,EAAE,CAAC;oBACvB,MAAM,cAAc,GAAG,cAAc,CAAC,SAAS,CAAC,UAAU,CAAC,YAAY,EAAE,IAAI,CAAC,CAAC;oBAC/E,IAAI,cAAc,KAAK,IAAI,IAAI,cAAc,GAAG,CAAC,EAAE,CAAC;wBAChD,SAAS,CAAC,WAAW,GAAG,EAAE,WAAW,EAAE,iBAAiB,CAAC,cAAc,EAAE,aAAa,CAAC,EAAE,CAAC;oBAC9F,CAAC;yBAAM,IAAI,UAAU,IAAI,cAAc,KAAK,IAAI,IAAI,cAAc,IAAI,CAAC,IAAI,SAAS,CAAC,UAAU,CAAC,QAAQ,GAAG,CAAC,EAAE,CAAC;wBAC3G,+EAA+E;wBAC/E,2EAA2E;wBAC3E,SAAS,CAAC,KAAK,GAAG,YAAY,CAAC,OAAO,CAAC;oBAC3C,CAAC;gBACL,CAAC;gBAED,MAAM,SAAS,GAAG,CAAC,SAAS,CAAC,IAAI,KAAK,WAAW,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,eAAe,CAAC,CAAC,CAAC,eAAe,CAAC;gBAC5F,MAAM,SAAS,GAAG,oBAAoB,CAAC,KAAK,CAAC,IAAI,EAAE,SAAS,CAAC,CAAC;gBAC9D,MAAM,QAAQ,GAAG,oBAAoB,CAAC,UAAU,CAAC,IAAI,EAAE,SAAS,CAAC,CAAC;gBAClE,IAAI,SAAS,KAAK,QAAQ,EAAE,CAAC;oBACzB,MAAM,OAAO,GAAG,MAAM,yBAAyB,CAAC,GAAG,EAAE,SAAS,EAAE,UAAU,CAAC,IAAI,CAAC,CAAC;oBACjF,IAAI,OAAO;wBAAE,SAAS,GAAG,EAAE,GAAG,SAAS,EAAE,GAAG,OAAO,EAAE,CAAC;oBAEtD,IAAI,QAAQ,GAAG,CAAC,EAAE,CAAC;wBACf,IAAI,UAAU,EAAE,CAAC;4BACb,qEAAqE;4BACrE,wEAAwE;4BACxE,IAAI,SAAS,CAAC,KAAK,KAAK,YAAY,CAAC,OAAO,EAAE,CAAC;gCAC3C,SAAS,CAAC,KAAK,GAAG,YAAY,CAAC,MAAM,CAAC;4BAC1C,CAAC;wBACL,CAAC;6BAAM,IAAI,QAAQ,GAAG,SAAS,EAAE,CAAC;4BAC9B,SAAS,CAAC,KAAK,GAAG,YAAY,CAAC,OAAO,CAAC;wBAC3C,CAAC;6BAAM,IAAI,UAAU,EAAE,CAAC;4BACpB,SAAS,CAAC,KAAK,GAAG,YAAY,CAAC,OAAO,CAAC;wBAC3C,CAAC;6BAAM,CAAC;4BACJ,SAAS,CAAC,KAAK,GAAG,YAAY,CAAC,MAAM,CAAC;wBAC1C,CAAC;oBACL,CAAC;yBAAM,CAAC;wBACJ,MAAM,WAAW,GAAG,0BAA0B,CAAC,SAAS,CAAC,CAAC;wBAC1D,YAAY,CAAC,IAAI,CAAC,EAAE,GAAG,SAAS,EAAE,CAAC,CAAC;wBACpC,MAAM,GAAG,CAAC,iBAAiB,CAAC,WAAW,EAAE,mBAAmB,EAAE,EAAE,cAAc,EAAE,GAAG,EAAE,CAAC,EAAE,CAAC,CAAC;wBAC1F,aAAa,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;wBAChC,mBAAmB,CAAC,GAAG,CAAC,YAAY,CAAC,CAAC;wBACtC,SAAS;oBACb,CAAC;gBACL,CAAC;qBAAM,IAAI,UAAU,EAAE,CAAC;oBACpB,SAAS,CAAC,KAAK,GAAG,YAAY,CAAC,OAAO,CAAC;gBAC3C,CAAC;gBACD,MAAM,GAAG,CAAC,iBAAiB,CAAC,SAAS,EAAE,mBAAmB,EAAE,EAAE,cAAc,EAAE,GAAG,EAAE,CAAC,EAAE,CAAC,CAAC;gBACxF,aAAa,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;gBAC9B,mBAAmB,CAAC,GAAG,CAAC,YAAY,CAAC,CAAC;YAC1C,CAAC;iBAAM,IAAI,KAAK,EAAE,CAAC;gBACf,GAAG,CAAC,MAAM,EAAE,GAAG,EAAE,CACb,+BAA+B,YAAY,uBAAuB,KAAK,CAAC,EAAE,IAAI;oBAC9E,mGAAmG,EACnG,MAAM,CACT,CAAC;YACN,CAAC;iBAAM,CAAC;gBACJ,6DAA6D;gBAC7D,8DAA8D;gBAC9D,kEAAkE;gBAClE,iEAAiE;gBACjE,iBAAiB;gBAEjB,MAAM,WAAW,GAAG,gCAAgC,CAChD,EAAE,OAAO,EAAE,YAAY,EAAE,IAAI,EAAE,UAAU,CAAC,IAAI,EAAE,KAAK,EAAE,UAAU,CAAC,KAAK,EAAE,IAAI,EAAE,UAAU,CAAC,IAAI,EAAE,EAChG;oBACI,MAAM,EAAE,GAAG,CAAC,MAAM;oBAClB,MAAM,EAAE,GAAG,CAAC,MAAM;oBAClB,eAAe,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,uBAAuB,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,GAAG,CAAC,MAAM,CAAC;oBAC1E,eAAe,EAAE,IAAI;oBACrB,aAAa,EAAE,IAAI;oBACnB,oBAAoB,EAAE,IAAI;oBAC1B,mBAAmB,EAAE,mBAAmB;iBAC3C,CACJ,CAAC;gBAEF,IAAI,WAAW,IAAI,CAAC,mBAAmB,CAAC,GAAG,CAAC,WAAW,CAAC,EAAE,CAAC,IAAI,CAAC,WAAW,CAAC,OAAO,EAAE,CAAC;oBAClF,MAAM,SAAS,GAAG,CAAC,UAAU,CAAC,IAAI,KAAK,WAAW,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,eAAe,CAAC,CAAC,CAAC,eAAe,CAAC;oBAC7F,MAAM,QAAQ,GAAG,oBAAoB,CAAC,UAAU,CAAC,IAAI,EAAE,SAAS,CAAC,CAAC;oBAClE,MAAM,UAAU,GAAG,cAAc,CAAC,GAAG,CAAC,YAAY,CAAC,CAAC;oBACpD,MAAM,YAAY,GAAG,QAAQ,GAAG,CAAC,CAAC,CAAC,CAAC,YAAY,CAAC,OAAO,CAAC,CAAC,CAAC,YAAY,CAAC,OAAO,CAAC;oBAChF,MAAM,kBAAkB,GAAG,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,EAAE;wBAC5C,MAAM,MAAM,GAAG,cAAc,CAAC,UAAU,CAAC,YAAY,EAAE,IAAI,CAAC,CAAC;wBAC7D,OAAO,MAAM,KAAK,IAAI,IAAI,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,WAAW,EAAE,iBAAiB,CAAC,MAAM,EAAE,aAAa,CAAC,EAAE,CAAC,CAAC,CAAC,SAAS,CAAC;oBACjH,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,SAAS,CAAC;oBACjB,MAAM,YAAY,GAAG;wBACjB,GAAG,WAAW;wBACd,OAAO,EAAE,YAAY;wBACrB,IAAI,EAAE,UAAU,CAAC,IAAI;wBACrB,KAAK,EAAE,YAAY;wBACnB,IAAI,EAAE,UAAU,CAAC,IAAI;wBACrB,KAAK,EAAE,UAAU,CAAC,KAAK;wBACvB,UAAU,EAAE,UAAU;4BAClB,CAAC,CAAC,EAAE,GAAG,UAAU,EAAE,SAAS,EAAE,IAAI,CAAC,GAAG,EAAE,EAAE;4BAC1C,CAAC,CAAC,UAAU;wBAChB,GAAG,CAAC,kBAAkB,CAAC,CAAC,CAAC,EAAE,WAAW,EAAE,kBAAkB,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;qBACrE,CAAC;oBACF,mBAAmB,CAAC,GAAG,CAAC,WAAW,CAAC,EAAE,CAAC,CAAC;oBACxC,mBAAmB,CAAC,GAAG,CAAC,YAAY,CAAC,CAAC;oBACtC,MAAM,GAAG,CAAC,iBAAiB,CAAC,YAAY,EAAE,yBAAyB,EAAE,EAAE,cAAc,EAAE,GAAG,EAAE,CAAC,EAAE,CAAC,CAAC;oBACjG,aAAa,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;oBACjC,GAAG,CAAC,MAAM,EAAE,GAAG,EAAE,CACb,+BAA+B,YAAY,KAAK,UAAU,CAAC,IAAI,WAAW,UAAU,CAAC,KAAK,IAAI;wBAC9F,QAAQ,UAAU,CAAC,IAAI,uBAAuB,WAAW,CAAC,EAAE,SAAS,WAAW,CAAC,IAAI,GAAG,EACxF,MAAM,CACT,CAAC;gBACN,CAAC;qBAAM,CAAC;oBACJ,MAAM,SAAS,GAAG,CAAC,UAAU,CAAC,IAAI,KAAK,WAAW,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,eAAe,CAAC,CAAC,CAAC,eAAe,CAAC;oBAC7F,MAAM,oBAAoB,GAAG,iCAAiC,CAC1D,GAAG,EACH,UAAU,EACV,SAAS,EACT,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,uBAAuB,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,GAAG,CAAC,MAAM,CAAC,EACzD,mBAAmB,CACtB,CAAC;oBACF,MAAM,QAAQ,GAAG,6BAA6B,CAC1C,GAAG,EACH,UAAU,EACV,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,uBAAuB,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,GAAG,CAAC,MAAM,CAAC,CAC5D,CAAC;oBACF,MAAM,cAAc,GAAwB;wBACxC,YAAY;wBACZ,IAAI,EAAE,UAAU,CAAC,IAAI;wBACrB,KAAK,EAAE,UAAU,CAAC,KAAK;wBACvB,IAAI,EAAE,UAAU,CAAC,IAAI;wBACrB,GAAG,EAAE,cAAc,CAAC,GAAG,CAAC,YAAY,CAAC;wBACrC,oBAAoB;qBACvB,CAAC;oBACF,IAAI,QAAQ,EAAE,CAAC;wBACX,cAAc,CAAC,MAAM,GAAG,oBAAoB,CAAC;wBAC7C,cAAc,CAAC,eAAe,GAAG,QAAQ,CAAC,eAAe,CAAC;wBAC1D,cAAc,CAAC,kBAAkB,GAAG,QAAQ,CAAC,kBAAkB,CAAC;wBAChE,cAAc,CAAC,SAAS,GAAG,QAAQ,CAAC,SAAS,CAAC;wBAC9C,cAAc,CAAC,SAAS,GAAG,QAAQ,CAAC,SAAS,CAAC;oBAClD,CAAC;oBACD,oBAAoB,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC;oBAC1C,GAAG,CAAC,MAAM,EAAE,GAAG,EAAE,CACb,gCAAgC,YAAY,KAAK,UAAU,CAAC,IAAI,WAAW,UAAU,CAAC,KAAK,IAAI;wBAC/F,QAAQ,UAAU,CAAC,IAAI,4BAA4B;wBACnD,CAAC,QAAQ,CAAC,CAAC,CAAC,6BAA6B,QAAQ,CAAC,eAAe,IAAI,QAAQ,CAAC,kBAAkB,SAAS,QAAQ,CAAC,SAAS,QAAQ,QAAQ,CAAC,SAAS,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC;wBAC9J,yBAAyB,oBAAoB,EAAE,EAC/C,MAAM,CACT,CAAC;gBACN,CAAC;YACL,CAAC;QACL,CAAC;QAED,OAAO,EAAE,YAAY,EAAE,aAAa,EAAE,uBAAuB,EAAE,oBAAoB,EAAE,CAAC;IAC1F,CAAC;IAED;;;;;;OAMG;IACH,KAAK,CAAC,mBAAmB,CAAC,IAAS,EAAE,UAA+B,EAAE;QAClE,MAAM,GAAG,GAAG,IAAI,CAAC,OAAO,CAAC;QACzB,MAAM,eAAe,GAAG,mCAAmC,CAAC,OAAO,CAAC,CAAC;QACrE,IAAI,CAAC,IAAI,IAAI,CAAC,IAAI,CAAC,EAAE,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC;YAAE,OAAO,EAAE,YAAY,EAAE,EAAE,EAAE,aAAa,EAAE,EAAE,EAAE,WAAW,EAAE,KAAK,EAAE,CAAC;QAEzG,MAAM,MAAM,GAAG,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;QAC1B,MAAM,QAAQ,GAAG,IAAI,CAAC,SAAS,CAAC;QAChC,MAAM,SAAS,GAAG,IAAI,CAAC,EAAE,CAAC;QAC1B,MAAM,OAAO,GAAG,MAAM,CAAC,QAAQ,KAAK,KAAK,CAAC,CAAE,gEAAgE;QAC5G,MAAM,OAAO,GAAG,MAAM,CAAC,QAAQ,CAAC;QAChC,MAAM,OAAO,GAAG,YAAY,CAAC,EAAE,OAAO,EAAE,QAAQ,EAAE,SAAS,EAAE,CAAC,CAAC;QAE/D,MAAM,aAAa,GAAG,cAAc,CAAC,MAAM,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;QAC1D,MAAM,WAAW,GAAG,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC;QAC9D,MAAM,iBAAiB,GAAG,cAAc,CAAC,MAAM,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAC;QAClE,MAAM,eAAe,GAAG,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC;QAE1E,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,0BAA0B,SAAS,aAAa,QAAQ,cAAc,OAAO,WAAW,OAAO,WAAW,aAAa,IAAI,WAAW,cAAc,iBAAiB,IAAI,eAAe,EAAE,EAAE,OAAO,CAAC,CAAC;QAEnN,IAAI,CAAC,OAAO,EAAE,CAAC;YACX,GAAG,CAAC,MAAM,CAAC,GAAG,CACV,iDAAiD,OAAO,UAAU,QAAQ,iCAAiC,EAC3G,MAAM,CACT,CAAC;YACF,OAAO,EAAE,YAAY,EAAE,EAAE,EAAE,aAAa,EAAE,EAAE,EAAE,WAAW,EAAE,KAAK,EAAE,sBAAsB,EAAE,IAAI,EAAE,CAAC;QACrG,CAAC;QAED,2DAA2D;QAC3D,6GAA6G;QAC7G,MAAM,iBAAiB,GAAG,MAAM,GAAG,CAAC,UAAU,CAAC,qBAAqB,CAAC,MAAM,EAAE,OAAO,EAAE,EAAE,eAAe,EAAE,CAAC,CAAC;QAC3G,IAAI,CAAC,iBAAiB,EAAE,CAAC;YACrB,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,mCAAmC,OAAO,qCAAqC,EAAE,OAAO,CAAC,CAAC;YACzG,OAAO,EAAE,YAAY,EAAE,EAAE,EAAE,aAAa,EAAE,EAAE,EAAE,WAAW,EAAE,KAAK,EAAE,CAAC;QACvE,CAAC;QAED,uFAAuF;QACvF,uFAAuF;QACvF,MAAM,cAAc,GAAG,IAAI,GAAG,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC;QAC1C,GAAG,CAAC,UAAU,CAAC,CAAC,GAAG,cAAc,CAAC,CAAC,CAAC;QAErC,IAAI,CAAC;YACD,GAAG,CAAC,eAAe,EAAE,CAAC;YACtB,IAAI,CAAC;gBACD,MAAM,UAAU,GAAG,aAAa,CAAC;gBAEjC,MAAM,eAAe,GAAG,GAAG,CAAC,MAAM,EAAE,MAAM,EAAE,SAAS,CAAC;gBACtD,MAAM,eAAe,GAAG,GAAG,CAAC,MAAM,EAAE,MAAM,EAAE,SAAS,CAAC;gBAEtD,IAAI,eAAe,KAAK,SAAS,IAAI,eAAe,KAAK,SAAS,EAAE,CAAC;oBACjE,GAAG,CAAC,MAAM,EAAE,GAAG,EAAE,CAAC,gEAAgE,EAAE,OAAO,CAAC,CAAC;oBAC7F,OAAO,EAAE,YAAY,EAAE,EAAE,EAAE,aAAa,EAAE,EAAE,EAAE,WAAW,EAAE,KAAK,EAAE,CAAC;gBACvE,CAAC;gBAED,IAAI,gBAAgB,GAAG,IAAI,CAAC;gBAC5B,KAAK,MAAM,SAAS,IAAI,GAAG,CAAC,MAAM,CAAC,MAAM,EAAE,EAAE,CAAC;oBAC1C,IAAI,SAAS,CAAC,OAAO,KAAK,OAAO,IAAI,CAAC,SAAS,CAAC,KAAK,KAAK,YAAY,CAAC,MAAM,IAAI,SAAS,CAAC,KAAK,KAAK,YAAY,CAAC,OAAO,CAAC,EAAE,CAAC;wBACzH,gBAAgB,GAAG,SAAS,CAAC;wBAC7B,MAAM;oBACV,CAAC;gBACL,CAAC;gBAED,IAAI,CAAC,gBAAgB,EAAE,CAAC;oBACpB,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,yBAAyB,OAAO,2CAA2C,EAAE,OAAO,CAAC,CAAC;oBACrG,OAAO,EAAE,YAAY,EAAE,EAAE,EAAE,aAAa,EAAE,EAAE,EAAE,WAAW,EAAE,KAAK,EAAE,CAAC;gBACvE,CAAC;gBAED,MAAM,SAAS,GAAG,gBAAgB,CAAC,IAAI,CAAC;gBACxC,MAAM,WAAW,GAAG,cAAc,CAAC,gBAAgB,CAAC,IAAI,CAAC,CAAC;gBAE1D,gEAAgE;gBAChE,MAAM,SAAS,GAAG,CAAC,SAAS,KAAK,WAAW,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,eAAe,CAAC,CAAC,CAAC,eAAe,CAAC;gBAEvF,IAAI,YAAY,GAAG,CAAC,CAAC;gBACrB,IAAI,SAAS,KAAK,WAAW,CAAC,IAAI,EAAE,CAAC;oBACjC,IAAI,WAAW,KAAK,GAAG,CAAC,MAAM,CAAC,MAAM,CAAC,EAAE;wBAAE,YAAY,GAAG,iBAAiB,CAAC,UAAU,EAAE,SAAS,EAAE,IAAI,CAAC,CAAC;gBAC5G,CAAC;qBAAM,CAAC;oBACJ,IAAI,WAAW,KAAK,GAAG,CAAC,MAAM,CAAC,MAAM,CAAC,EAAE;wBAAE,YAAY,GAAG,iBAAiB,CAAC,UAAU,EAAE,SAAS,EAAE,IAAI,CAAC,CAAC;gBAC5G,CAAC;gBAED,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,gBAAgB,OAAO,KAAK,SAAS,iBAAiB,WAAW,kBAAkB,YAAY,EAAE,EAAE,OAAO,CAAC,CAAC;gBAE3H,MAAM,sBAAsB,GAAG,oBAAoB,CAAC,WAAW,EAAE,SAAS,CAAC,CAAC;gBAC5E,MAAM,aAAa,GAAG,cAAc,CAAC,gBAAgB,EAAE,UAAU,EAAE,QAAQ,EAAE,IAAI,CAAC,CAAC;gBACnF,IAAI,mBAAmB,GAAG,aAAa,CAAC;gBACxC,IAAI,kBAAkB,GAAG,KAAK,CAAC;gBAC/B,IAAI,cAAc,GAAG,KAAK,CAAC;gBAE3B,oEAAoE;gBACpE,qEAAqE;gBACrE,sEAAsE;gBACtE,kEAAkE;gBAClE,8DAA8D;gBAC9D,kEAAkE;gBAClE,6DAA6D;gBAC7D,kDAAkD;gBAClD,EAAE;gBACF,gEAAgE;gBAChE,gEAAgE;gBAChE,iEAAiE;gBACjE,gEAAgE;gBAChE,iEAAiE;gBACjE,oBAAoB;gBACpB,oEAAoE;gBACpE,MAAM,WAAW,GAAG,MAAM,CAAC,QAAQ,CAAC,aAAa,CAAC;uBAC3C,IAAI,CAAC,KAAK,CAAC,aAAa,CAAC,GAAG,sBAAsB,CAAC;gBAE1D,IAAI,WAAW,EAAE,CAAC;oBACd,IAAI,CAAC;wBACD,MAAM,EAAE,eAAe,EAAE,GAAG,OAAO,CAAC,iBAAiB,CAAC,CAAC;wBACvD,MAAM,KAAK,GAAG,MAAM,eAAe,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC;wBACnD,IAAI,KAAK,EAAE,CAAC;4BACR,MAAM,YAAY,GAAG,cAAc,CAAC,KAAK,CAAC,QAAQ,EAAE,IAAI,CAAC,CAAC;4BAC1D,IAAI,MAAM,CAAC,QAAQ,CAAC,YAAY,CAAC,EAAE,CAAC;gCAChC,mBAAmB,GAAG,YAAY,CAAC;gCACnC,cAAc,GAAG,IAAI,CAAC;gCACtB,GAAG,CAAC,MAAM,CAAC,GAAG,CACV,6BAA6B,OAAO,YAAY,aAAa,WAAW,sBAAsB,KAAK;oCACnG,sBAAsB,YAAY,EAAE,EACpC,MAAM,CACT,CAAC;4BACN,CAAC;wBACL,CAAC;6BAAM,CAAC;4BACJ,uDAAuD;4BACvD,mDAAmD;4BACnD,uDAAuD;4BACvD,kBAAkB,GAAG,IAAI,CAAC;4BAC1B,GAAG,CAAC,MAAM,CAAC,GAAG,CACV,4BAA4B,OAAO,sCAAsC,EACzE,MAAM,CACT,CAAC;wBACN,CAAC;oBACL,CAAC;oBAAC,OAAO,UAAe,EAAE,CAAC;wBACvB,GAAG,CAAC,MAAM,CAAC,GAAG,CACV,4BAA4B,OAAO,kCAAkC;4BACrE,GAAG,UAAU,EAAE,OAAO,IAAI,UAAU,EAAE,EACtC,MAAM,CACT,CAAC;oBACN,CAAC;gBACL,CAAC;gBAED,+DAA+D;gBAC/D,kEAAkE;gBAClE,2DAA2D;gBAC3D,8DAA8D;gBAC9D,2BAA2B;gBAC3B,IAAI,cAAc;uBACX,MAAM,CAAC,QAAQ,CAAC,mBAAmB,CAAC;uBACpC,IAAI,CAAC,KAAK,CAAC,mBAAmB,CAAC,IAAI,CAAC,EAAE,CAAC;oBAC1C,kBAAkB,GAAG,IAAI,CAAC;gBAC9B,CAAC;gBAED,MAAM,cAAc,GAAG,MAAM,CAAC,QAAQ,CAAC,mBAAmB,CAAC;oBACvD,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,CAAC,KAAK,CAAC,mBAAmB,CAAC,CAAC;oBAC9C,CAAC,CAAC,sBAAsB,CAAC;gBAC7B,MAAM,eAAe,GAAG,oBAAoB,CAAC,YAAY,EAAE,SAAS,CAAC,CAAC;gBACtE,MAAM,UAAU,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,cAAc,GAAG,eAAe,CAAC,CAAC;gBACjE,MAAM,OAAO,GAAG,iBAAiB,CAAC,UAAU,EAAE,SAAS,EAAE,IAAI,CAAC,CAAC,CAAC,2BAA2B;gBAE3F,IAAI,MAAM,CAAC,QAAQ,CAAC,mBAAmB,CAAC,IAAI,cAAc,KAAK,sBAAsB,EAAE,CAAC;oBACpF,GAAG,CAAC,MAAM,CAAC,GAAG,CACV,iDAAiD,OAAO,SAAS,cAAc,UAAU,sBAAsB,EAAE;wBACjH,CAAC,cAAc,CAAC,CAAC,CAAC,cAAc,CAAC,CAAC,CAAC,EAAE,CAAC,EACtC,OAAO,CACV,CAAC;gBACN,CAAC;gBAED,6DAA6D;gBAC7D,4CAA4C;gBAC5C,4DAA4D;gBAC5D,wCAAwC;gBACxC,qEAAqE;gBACrE,kEAAkE;gBAClE,yDAAyD;gBACzD,4DAA4D;gBAC5D,EAAE;gBACF,8DAA8D;gBAC9D,oEAAoE;gBACpE,2DAA2D;gBAC3D,mEAAmE;gBACnE,mBAAmB;gBACnB,MAAM,aAAa,GAAG,sBAAsB,IAAI,CAAC,CAAC;gBAClD,IAAI,iBAAiB,GAAG,kBAAkB,IAAI,aAAa,CAAC;gBAE5D,IAAI,YAAgC,CAAC;gBAErC,IAAI,CAAC,iBAAiB,EAAE,CAAC;oBACrB,6EAA6E;oBAC7E,oFAAoF;oBACpF,MAAM,cAAc,GAAG,CAAC,SAAS,KAAK,WAAW,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,eAAe,CAAC,CAAC,CAAC,eAAe,CAAC;oBAC5F,MAAM,KAAK,GAAG,gBAAgB,CAAC,KAAK,CAAC;oBACrC,MAAM,SAAS,GAAG,CAAC,SAAS,KAAK,WAAW,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,OAAO,GAAG,KAAK,CAAC,CAAC,CAAC,OAAO,GAAG,KAAK,CAAC;oBAEvF,IAAI,oBAAoB,CAAC,SAAS,EAAE,cAAc,CAAC,IAAI,CAAC,EAAE,CAAC;wBACvD,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,gBAAgB,OAAO,UAAU,gBAAgB,CAAC,EAAE,iBAAiB,SAAS,2DAA2D,EAAE,MAAM,CAAC,CAAC;wBAClK,iBAAiB,GAAG,IAAI,CAAC;wBACzB,YAAY,GAAG,gBAAgB,CAAC,OAAO,CAAC;oBAC5C,CAAC;gBACL,CAAC;gBAED,MAAM,YAAY,GAAG,EAAE,CAAC;gBACxB,MAAM,aAAa,GAAG,EAAE,CAAC;gBACzB,IAAI,iBAAiB,EAAE,CAAC;oBACpB,MAAM,WAAW,GAAG;wBAChB,GAAG,gBAAgB;wBACnB,QAAQ,EAAE,QAAQ;wBAClB,SAAS,EAAE,SAAS;wBACpB,OAAO,EAAE,OAAO,CAAE,yDAAyD;qBAC9E,CAAC;oBAEF,IAAI,YAAY,EAAE,CAAC;wBACf,wDAAwD;wBACxD,2DAA2D;wBAC3D,8CAA8C;wBAC9C,0DAA0D;wBAC1D,wDAAwD;wBACxD,uDAAuD;wBACvD,mDAAmD;wBACnD,uBAAuB;wBACvB,GAAG,CAAC,MAAM,CAAC,GAAG,CACV,oCAAoC,OAAO,UAAU,gBAAgB,CAAC,EAAE,KAAK;4BAC7E,sBAAsB,YAAY,wCAAwC,EAC1E,MAAM,CACT,CAAC;wBACF,MAAM,UAAU,GAAG;4BACf,GAAG,gBAAgB;4BACnB,IAAI,EAAE,CAAC;4BACP,KAAK,EAAE,YAAY,CAAC,OAAO;4BAC3B,OAAO,EAAE,YAAY;yBACxB,CAAC;wBACF,MAAM,OAAO,GAAG,MAAM,GAAG,CAAC,YAAY,CAAC,UAAU,EAAE,mBAAmB,EAAE,EAAE,cAAc,EAAE,KAAK,EAAE,GAAG,EAAE,CAAC,EAAE,CAAC,CAAC;wBAC3G,IAAI,OAAO,KAAK,KAAK,EAAE,CAAC;4BACpB,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,qDAAqD,OAAO,EAAE,EAAE,MAAM,CAAC,CAAC;wBAC3F,CAAC;wBACD,YAAY,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;wBAC/B,OAAO,EAAE,YAAY,EAAE,aAAa,EAAE,WAAW,EAAE,KAAK,EAAE,YAAY,EAAE,CAAC;oBAC7E,CAAC;oBAED,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,8BAA8B,OAAO,UAAU,gBAAgB,CAAC,EAAE,IAAI,EAAE,MAAM,CAAC,CAAC;oBAC/F,MAAM,WAAW,GAAG,0BAA0B,CAAC,gBAAgB,CAAC,CAAC;oBACjE,MAAM,MAAM,GAAG,MAAM,GAAG,CAAC,YAAY,CAAC,WAAW,EAAE,kBAAkB,EAAE,EAAE,cAAc,EAAE,KAAK,EAAE,GAAG,EAAE,CAAC,EAAE,CAAC,CAAC;oBAC1G,IAAI,MAAM,KAAK,KAAK,EAAE,CAAC;wBACnB,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,yCAAyC,OAAO,wBAAwB,EAAE,MAAM,CAAC,CAAC;oBACrG,CAAC;oBACD,YAAY,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;oBAC/B,OAAO,EAAE,YAAY,EAAE,aAAa,EAAE,WAAW,EAAE,KAAK,EAAE,CAAC;gBAC/D,CAAC;qBAAM,CAAC;oBACJ,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,iCAAiC,OAAO,UAAU,gBAAgB,CAAC,EAAE,cAAc,OAAO,EAAE,EAAE,MAAM,CAAC,CAAC;oBACrH,MAAM,aAAa,GAAG;wBAClB,GAAG,gBAAgB;wBACnB,IAAI,EAAE,YAAY;wBAClB,SAAS,EAAE,IAAI;wBACf,QAAQ,EAAE,QAAQ;wBAClB,SAAS,EAAE,SAAS;wBACpB,OAAO,EAAE,OAAO,CAAE,yDAAyD;qBAC9E,CAAC;oBACF,MAAM,EAAE,WAAW,EAAE,GAAG,yBAAyB,EAAE,GAAG,gBAAgB,CAAC;oBACvE,IAAI,YAAY,GAAG,EAAE,GAAG,yBAAyB,EAAE,KAAK,EAAE,YAAY,CAAC,OAAO,EAAE,CAAC;oBAEjF,0DAA0D;oBAC1D,6DAA6D;oBAC7D,2DAA2D;oBAC3D,0DAA0D;oBAC1D,IAAI,YAAY,CAAC,UAAU,IAAI,YAAY,CAAC,UAAU,CAAC,QAAQ,KAAK,SAAS,EAAE,CAAC;wBAC5E,MAAM,eAAe,GAAG,CAAC,cAAc,IAAI,MAAM,CAAC,QAAQ,CAAC,mBAAmB,CAAC,CAAC;4BAC5E,CAAC,CAAC,mBAAmB;4BACrB,CAAC,CAAC,cAAc,CAAC,YAAY,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAC;wBACvD,MAAM,cAAc,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,CAAC,KAAK,CAAC,eAAe,CAAC,GAAG,eAAe,CAAC,CAAC;wBAClF,YAAY,CAAC,UAAU,GAAG;4BACtB,GAAG,YAAY,CAAC,UAAU;4BAC1B,QAAQ,EAAE,MAAM,CAAC,cAAc,CAAC;4BAChC,SAAS,EAAE,IAAI,CAAC,GAAG,EAAE;yBACxB,CAAC;oBACN,CAAC;oBAED,MAAM,SAAS,GAAG,MAAM,yBAAyB,CAAC,GAAG,EAAE,YAAY,EAAE,OAAO,CAAC,CAAC;oBAC9E,IAAI,SAAS,EAAE,CAAC;wBACZ,YAAY,GAAG,EAAE,GAAG,YAAY,EAAE,GAAG,SAAS,EAAE,CAAC;oBACrD,CAAC;oBAED,MAAM,SAAS,GAAG,MAAM,GAAG,CAAC,YAAY,CAAC,YAAY,EAAE,qBAAqB,EAAE,EAAE,cAAc,EAAE,KAAK,EAAE,GAAG,EAAE,CAAC,EAAE,CAAC,CAAC;oBACjH,IAAI,SAAS,KAAK,KAAK,EAAE,CAAC;wBACtB,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,kDAAkD,OAAO,EAAE,EAAE,MAAM,CAAC,CAAC;oBACxF,CAAC;oBACD,aAAa,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;oBACjC,YAAY,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC;oBACjC,OAAO,EAAE,YAAY,EAAE,aAAa,EAAE,WAAW,EAAE,IAAI,EAAE,CAAC;gBAC7D,CAAC;YACL,CAAC;oBAAS,CAAC;gBACP,MAAM,GAAG,CAAC,gBAAgB,EAAE,CAAC;YACjC,CAAC;QACN,CAAC;gBAAS,CAAC;YACP,GAAG,CAAC,YAAY,CAAC,CAAC,GAAG,cAAc,CAAC,CAAC,CAAC;QAC1C,CAAC;IACL,CAAC;IAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;OAiDG;IACH,KAAK,CAAC,oBAAoB,CAAC,SAAc,EAAE,MAAc,EAAE,UAA+B,EAAE;QACxF,MAAM,GAAG,GAAG,IAAI,CAAC,OAAO,CAAC;QACzB,IAAI,CAAC,GAAG,CAAC,MAAM;YAAE,OAAO,EAAE,SAAS,EAAE,EAAE,EAAE,uBAAuB,EAAE,EAAE,EAAE,CAAC;QAEvE,QAAQ,MAAM,EAAE,CAAC;YACb,qDAAqD;YACrD,KAAK,aAAa,CAAC,CAAC,CAAC;gBACjB,MAAM,EAAE,WAAW,EAAE,YAAY,EAAE,kBAAkB,EAAE,YAAY,EAAE,GAAG,EAAE,GAAG,SAAS,CAAC;gBACvF,MAAM,SAAS,GAAG,KAAK,IAAI,EAAE;oBACzB,yEAAyE;oBACzE,GAAG,CAAC,UAAU,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC;oBAC9B,IAAI,CAAC;wBACD,MAAM,SAAS,GAAG,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC;wBAC9C,IAAI,SAAS,EAAE,CAAC;4BACZ,mEAAmE;4BACnE,kFAAkF;4BAClF,4FAA4F;4BAC5F,MAAM,aAAa,GAAQ,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,MAAM,EAAW,CAAC,CAAC,IAAI,CACpE,CAAC,CAAM,EAAE,EAAE,CAAC,CAAC,CAAC,OAAO,KAAK,YAAY,IAAI,CAAC,CAAC,EAAE,KAAK,WAAW,CACjE,CAAC;4BACF,MAAM,UAAU,GAAG,CAAC,CAAC,aAAa,CAAC;4BAEnC,yEAAyE;4BACzE,IAAI,UAAU,IAAI,aAAa,EAAE,CAAC;gCAC9B,IAAI,CAAC,cAAc,CAAC,aAAa,CAAC,EAAE,CAAC;oCACjC,MAAM,eAAe,GAAG,EAAE,GAAG,eAAe,CAAC,aAAa,CAAC,EAAE,IAAI,EAAE,CAAC,EAAE,CAAC;oCACvE,MAAM,GAAG,CAAC,iBAAiB,CAAC,eAAe,EAAE,kBAAkB,EAAE;wCAC7D,cAAc,EAAE,SAAS,CAAC,cAAc,IAAI,KAAK;wCACjD,GAAG,EAAE,CAAC;qCACT,CAAC,CAAC;gCACP,CAAC;qCAAM,IAAI,YAAY,CAAC,aAAa,CAAC,EAAE,CAAC;oCACrC,yDAAyD;oCACzD,qDAAqD;oCACrD,MAAM,YAAY,GAAG,EAAE,GAAG,eAAe,CAAC,aAAa,CAAC,EAAE,IAAI,EAAE,CAAC,EAAE,CAAC;oCACpE,MAAM,GAAG,CAAC,iBAAiB,CAAC,YAAY,EAAE,cAAc,EAAE;wCACtD,cAAc,EAAE,SAAS,CAAC,cAAc,IAAI,KAAK;wCACjD,GAAG,EAAE,CAAC;qCACT,CAAC,CAAC;gCACP,CAAC;4BACL,CAAC;4BAED,MAAM,QAAQ,GAAG,kBAAkB,CAAC,CAAC,CAAC,YAAY,CAAC,OAAO,CAAC,CAAC,CAAC,YAAY,CAAC,MAAM,CAAC;4BACjF,MAAM,sBAAsB,GAAG,CAAC,YAAY,KAAK,WAAW,CAAC,GAAG,IAAI,YAAY,KAAK,WAAW,CAAC,IAAI,CAAC;gCAClG,CAAC,CAAC,YAAY;gCACd,CAAC,CAAC,IAAI,CAAC;4BACX,MAAM,YAAY,GAAG;gCACjB,GAAG,SAAS;gCACZ,IAAI,EAAE,sBAAsB,IAAI,SAAS,CAAC,IAAI;gCAC9C,KAAK,EAAE,QAAQ;gCACf,OAAO,EAAE,YAAY;6BACxB,CAAC;4BACF,6DAA6D;4BAC7D,iEAAiE;4BACjE,qEAAqE;4BACrE,qEAAqE;4BACrE,wEAAwE;4BACxE,IAAI,SAAS,CAAC,WAAW,KAAK,SAAS,IAAI,SAAS,CAAC,WAAW,KAAK,IAAI,EAAE,CAAC;gCACxE,YAAY,CAAC,WAAW,GAAG,EAAE,WAAW,EAAE,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,SAAS,CAAC,WAAW,CAAC,EAAE,CAAC;4BACnF,CAAC;4BACD,yFAAyF;4BACzF,MAAM,SAAS,GAAG,GAAG,CAAC;4BACtB,MAAM,GAAG,CAAC,iBAAiB,CAAC,YAAY,EAAE,YAAY,EAAE;gCACpD,cAAc,EAAE,SAAS,CAAC,cAAc,IAAI,KAAK;gCACjD,GAAG,EAAE,SAAS;6BACjB,CAAC,CAAC;wBACP,CAAC;oBACL,CAAC;4BAAS,CAAC;wBACP,GAAG,CAAC,YAAY,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC;oBACpC,CAAC;gBACL,CAAC,CAAC;gBACF,sEAAsE;gBACtE,yEAAyE;gBACzE,0EAA0E;gBAC1E,uEAAuE;gBACvE,2BAA2B;gBAC3B,IAAI,OAAO,EAAE,mBAAmB,EAAE,CAAC;oBAC/B,MAAM,SAAS,EAAE,CAAC;gBACtB,CAAC;qBAAM,IAAI,GAAG,CAAC,SAAS,IAAI,OAAO,GAAG,CAAC,SAAS,CAAC,OAAO,KAAK,UAAU,EAAE,CAAC;oBACtE,MAAM,GAAG,CAAC,SAAS,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;gBAC3C,CAAC;qBAAM,CAAC;oBACJ,MAAM,IAAI,KAAK,CAAC,uFAAuF,CAAC,CAAC;gBAC7G,CAAC;gBACD,MAAM;YACV,CAAC;YACD,KAAK,aAAa,CAAC,CAAC,CAAC;gBACjB,MAAM,OAAO,GAAG,OAAO,SAAS,KAAK,QAAQ,IAAI,SAAS,KAAK,IAAI;oBAC/D,CAAC,CAAC,SAAS,CAAC,OAAO;oBACnB,CAAC,CAAC,SAAS,CAAC;gBAChB,MAAM,SAAS,GAAG,CAAC,CAAC,CAAC,OAAO,SAAS,KAAK,QAAQ,IAAI,SAAS,KAAK,IAAI,IAAI,SAAS,CAAC,SAAS,CAAC,CAAC;gBACjG,IAAI,UAAU,CAAC;gBACf,IAAI,CAAC;oBACD,UAAU,GAAG,YAAY,CAAC,KAAK,CAAC,CAAC;gBACrC,CAAC;gBAAC,OAAO,GAAQ,EAAE,CAAC;oBAChB,GAAG,CAAC,MAAM,EAAE,GAAG,EAAE,CACb,mDAAmD,GAAG,CAAC,OAAO,4BAA4B,EAC1F,MAAM,CACT,CAAC;oBACF,UAAU,GAAG;wBACT,KAAK,EAAE,CAAC;wBACR,SAAS,EAAE,CAAC;wBACZ,SAAS,EAAE,CAAC;wBACZ,SAAS,EAAE,CAAC;wBACZ,WAAW,EAAE,CAAC;wBACd,WAAW,EAAE,CAAC;wBACd,MAAM,EAAE,CAAC;wBACT,OAAO,EAAE,IAAI;qBAChB,CAAC;gBACN,CAAC;gBACD,MAAM,SAAS,GAAG,KAAK,IAAI,EAAE;oBACzB,MAAM,SAAS,GAAG,gCAAgC,CAAC,EAAE,OAAO,EAAE,EAAE,EAAE,MAAM,EAAE,GAAG,CAAC,MAAM,EAAE,MAAM,EAAE,GAAG,CAAC,MAAM,EAAE,eAAe,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,uBAAuB,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,GAAG,CAAC,MAAM,CAAC,EAAE,MAAM,EAAE,GAAG,CAAC,MAAM,EAAE,CAAC,CAAC;oBAC5M,IAAI,SAAS,EAAE,CAAC;wBACZ,gFAAgF;wBAChF,MAAM,QAAQ,GAAG,CAAC,OAAO,EAAE,SAAS,CAAC,EAAE,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;wBACzD,GAAG,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAC;wBACzB,IAAI,CAAC;4BACD,+DAA+D;4BAC/D,MAAM,gBAAgB,GAAG,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,SAAS,CAAC,EAAE,CAAC,CAAC;4BACtD,IAAI,gBAAgB,IAAI,gBAAgB,CAAC,OAAO,KAAK,OAAO,EAAE,CAAC;gCAC3D,MAAM,SAAS,GAAG,SAAS;oCACvB,CAAC,CAAC,EAAE,GAAG,eAAe,CAAC,gBAAgB,CAAC,EAAE,IAAI,EAAE,CAAC,EAAE;oCACnD,CAAC,CAAC,eAAe,CAAC,gBAAgB,CAAC,CAAC;gCACxC,MAAM,GAAG,CAAC,iBAAiB,CAAC,SAAS,EAAE,cAAc,EAAE;oCACnD,cAAc,EAAE,KAAK;oCACrB,GAAG,EAAE,UAAU,EAAE,SAAS,IAAI,CAAC;iCAClC,CAAC,CAAC;4BACP,CAAC;wBACL,CAAC;gCAAS,CAAC;4BACP,GAAG,CAAC,YAAY,CAAC,QAAQ,CAAC,CAAC;wBAC/B,CAAC;oBACL,CAAC;yBAAM,CAAC;wBACJ,yFAAyF;wBACzF,kDAAkD;wBAClD,MAAM,OAAO,GAAG,CAAC,GAAG,CAAC,MAAM,CAAC,MAAM,KAAK,KAAK,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,MAAM,CAAC,MAAM,KAAK,KAAK,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC;wBAC1H,IAAI,OAAO,IAAI,UAAU,EAAE,SAAS,GAAG,CAAC,EAAE,CAAC;4BACvC,MAAM,GAAG,CAAC,UAAU,CAAC,kBAAkB,CAAC,OAAO,EAAE,CAAC,UAAU,CAAC,SAAS,EAAE,4BAA4B,CAAC,CAAC;wBAC1G,CAAC;oBACL,CAAC;gBACL,CAAC,CAAC;gBACF,oEAAoE;gBACpE,IAAI,OAAO,EAAE,mBAAmB,EAAE,CAAC;oBAC/B,MAAM,SAAS,EAAE,CAAC;gBACtB,CAAC;qBAAM,IAAI,GAAG,CAAC,SAAS,IAAI,OAAO,GAAG,CAAC,SAAS,CAAC,OAAO,KAAK,UAAU,EAAE,CAAC;oBACtE,MAAM,GAAG,CAAC,SAAS,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;gBAC3C,CAAC;qBAAM,CAAC;oBACJ,MAAM,IAAI,KAAK,CAAC,uFAAuF,CAAC,CAAC;gBAC7G,CAAC;gBACD,MAAM;YACV,CAAC;YACD,KAAK,gBAAgB;gBACjB,qEAAqE;gBACrE,kDAAkD;gBAClD,OAAO,IAAI,CAAC,kBAAkB,CAAC,SAAS,EAAE;oBACtC,cAAc,EAAE,KAAK;oBACrB,mBAAmB,EAAE,OAAO,EAAE,mBAAmB;oBACjD,sBAAsB,EAAE,OAAO,EAAE,sBAAsB;iBAC1D,CAAC,CAAC;YAEP,KAAK,yBAAyB,CAAC,CAAC,CAAC;gBAC7B,+DAA+D;gBAC/D,8DAA8D;gBAC9D,iEAAiE;gBACjE,kDAAkD;gBAClD,OAAO,IAAI,CAAC,kBAAkB,CAAC,SAAS,EAAE;oBACtC,cAAc,EAAE,IAAI;oBACpB,mBAAmB,EAAE,OAAO,EAAE,mBAAmB;iBACpD,CAAC,CAAC;YACP,CAAC;QACL,CAAC;QACD,OAAO,EAAE,SAAS,EAAE,EAAE,EAAE,uBAAuB,EAAE,EAAE,EAAE,CAAC;IAC1D,CAAC;IAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;OAiDG;IACH,KAAK,CAAC,gCAAgC;QAClC,MAAM,GAAG,GAAG,IAAI,CAAC,OAAO,CAAC;QACzB,IAAI,CAAC;YACD,MAAM,EAAE,SAAS,EAAE,GAAG,OAAO,CAAC,qBAAqB,CAAC,CAAC;YACrD,IAAI,CAAC,SAAS,IAAI,CAAC,SAAS,CAAC,EAAE;gBAAE,OAAO;YACxC,MAAM,eAAe,GAAG,GAAG,CAAC,SAAS,IAAI,GAAG,CAAC,OAAO,IAAI,IAAI,CAAC;YAC7D,IAAI,CAAC,eAAe;gBAAE,OAAO;YAE7B,IAAI,CAAC;gBAAC,MAAM,IAAI,CAAC,gBAAgB,EAAE,CAAC;YAAC,CAAC;YAAC,OAAO,GAAQ,EAAE,CAAC;gBAAC,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,mCAAmC,GAAG,CAAC,OAAO,EAAE,EAAE,MAAM,CAAC,CAAC;YAAC,CAAC;YACrI,MAAM,QAAQ,GAAG,GAAG,CAAC,MAAM,EAAE,MAAM,EAAE,EAAE,CAAC;YACxC,MAAM,QAAQ,GAAG,GAAG,CAAC,MAAM,EAAE,MAAM,EAAE,EAAE,CAAC;YACxC,IAAI,CAAC,QAAQ,IAAI,CAAC,QAAQ;gBAAE,OAAO;YAEnC,MAAM,EAAE,uBAAuB,EAAE,GAAG,OAAO,CAAC,iBAAiB,CAAC,CAAC;YAC/D,MAAM,EAAE,aAAa,EAAE,GAAG,OAAO,CAAC,cAAc,CAAC,CAAC;YAClD,MAAM,SAAS,GAAG,CAAC,QAAQ,EAAE,QAAQ,CAAC,CAAC;YAEvC,4EAA4E;YAC5E,IAAI,GAAG,CAAC,MAAM,CAAC,MAAM,KAAK,KAAK,IAAI,GAAG,CAAC,MAAM,CAAC,MAAM,KAAK,KAAK,EAAE,CAAC;gBAC7D,SAAS,CAAC,IAAI,CAAC,aAAa,CAAC,KAAK,CAAC,aAAa,CAAC,CAAC;YACtD,CAAC;YAED,MAAM,MAAM,GAAG,MAAM,uBAAuB,CAAC,eAAe,EAAE,SAAS,CAAC,CAAC;YACzE,MAAM,KAAK,GAAG,MAAM,EAAE,CAAC,QAAQ,CAAC,IAAI,MAAM,EAAE,CAAC,GAAG,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;YAChE,MAAM,KAAK,GAAG,MAAM,EAAE,CAAC,QAAQ,CAAC,IAAI,MAAM,EAAE,CAAC,GAAG,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;YAE/D,IAAI,KAAK,IAAI,KAAK,EAAE,CAAC;gBACjB,MAAM,GAAG,CAAC,gBAAgB,CAAC,EAAE,IAAI,EAAE,KAAK,CAAC,KAAK,EAAE,QAAQ,EAAE,KAAK,CAAC,IAAI,EAAE,GAAG,EAAE,KAAK,CAAC,KAAK,EAAE,OAAO,EAAE,KAAK,CAAC,IAAI,EAAE,CAAC,CAAC;YACnH,CAAC;YAED,sCAAsC;YACtC,IAAI,GAAG,CAAC,MAAM,CAAC,MAAM,KAAK,KAAK,IAAI,GAAG,CAAC,MAAM,CAAC,MAAM,KAAK,KAAK,EAAE,CAAC;gBAC7D,MAAM,OAAO,GAAG,MAAM,EAAE,CAAC,aAAa,CAAC,KAAK,CAAC,aAAa,CAAC,CAAC;gBAC5D,IAAI,OAAO,EAAE,CAAC;oBACV,GAAG,CAAC,UAAU,GAAG,EAAE,IAAI,EAAE,OAAO,CAAC,IAAI,EAAE,KAAK,EAAE,OAAO,CAAC,KAAK,EAAE,MAAM,EAAE,CAAC,EAAE,CAAC;gBAC7E,CAAC;YACL,CAAC;QACN,CAAC;QAAC,OAAO,GAAQ,EAAE,CAAC;YAChB,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,sCAAsC,GAAG,CAAC,OAAO,EAAE,EAAE,MAAM,CAAC,CAAC;QAChF,CAAC;IACL,CAAC;IAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;OA4CG;IACH,KAAK,CAAC,gBAAgB;QAClB,MAAM,GAAG,GAAG,IAAI,CAAC,OAAO,CAAC;QACzB,IAAI,GAAG,CAAC,MAAM;YAAE,OAAO;QAEvB,MAAM,EAAE,SAAS,EAAE,GAAG,OAAO,CAAC,qBAAqB,CAAC,CAAC;QACrD,MAAM,sBAAsB,GAAG,KAAK,EAAE,MAAM,EAAE,IAAI,EAAE,EAAE;YAClD,IAAI,CAAC;gBACD,OAAO,MAAM,WAAW,CAAC,SAAS,EAAE,MAAM,CAAC,CAAC;YAChD,CAAC;YAAC,OAAO,GAAQ,EAAE,CAAC;gBAChB,2DAA2D;gBAC3D,IAAI,GAAG,CAAC,aAAa,EAAE,CAAC;oBACpB,MAAM,eAAe,GAAG,GAAG,CAAC,aAAa,CAAC,mBAAmB,EAAE,CAAC;oBAChE,MAAM,SAAS,GAAG,CAAC,IAAI,KAAK,GAAG,CAAC,CAAC,CAAC,CAAC,eAAe,EAAE,MAAM,CAAC,CAAC,CAAC,eAAe,EAAE,MAAM,CAAC;oBAErF,IAAI,SAAS,IAAI,SAAS,CAAC,MAAM,KAAK,MAAM,IAAI,OAAO,SAAS,CAAC,SAAS,KAAK,QAAQ,EAAE,CAAC;wBACtF,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,gCAAgC,MAAM,KAAK,GAAG,CAAC,OAAO,wBAAwB,SAAS,CAAC,EAAE,eAAe,SAAS,CAAC,SAAS,4BAA4B,EAAE,OAAO,CAAC,CAAC;oBACtL,CAAC;gBACL,CAAC;gBACD,MAAM,GAAG,CAAC;YACd,CAAC;QACL,CAAC,CAAC;QAEF,IAAI,CAAC;YACD,GAAG,CAAC,MAAM,GAAG;gBACT,MAAM,EAAE,MAAM,sBAAsB,CAAC,GAAG,CAAC,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC;gBAC5D,MAAM,EAAE,MAAM,sBAAsB,CAAC,GAAG,CAAC,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC;aAC/D,CAAC;QACN,CAAC;QAAC,OAAO,GAAQ,EAAE,CAAC;YAChB,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,iCAAiC,GAAG,CAAC,OAAO,EAAE,EAAE,OAAO,CAAC,CAAC;YACxE,MAAM,GAAG,CAAC;QACd,CAAC;IACL,CAAC;CACJ;AAED,iBAAS,UAAU,CAAC"}
1
+ {"version":3,"file":"sync_engine.js","sourceRoot":"","sources":["../../../modules/order/sync_engine.ts"],"names":[],"mappings":"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"}
@@ -507,6 +507,22 @@ declare function buildDelta(masterGrid: any, workingGrid: any, options?: {}): an
507
507
  * @returns {number} New boundary index
508
508
  */
509
509
  declare function deriveTargetBoundary(fills: any, currentBoundaryIdx: any, allSlots: any, config: any, gapSlots: any): number;
510
+ /**
511
+ * Shared BTS fee adjustment math used by both getSideBudget and Grid._getSizingContext.
512
+ *
513
+ * Deducts BTS creation fees from allocated budget when the holding side has BTS,
514
+ * or proportionally shares BTS fee deficits across both sides for non-BTS pairs.
515
+ *
516
+ * @param {number} allocated - Raw allocated budget for this side
517
+ * @param {boolean} isBtsSide - Whether this side holds BTS
518
+ * @param {number} formulaBudget - Pre-calculated BTS fee estimate
519
+ * @param {number} minBtsValue - Configured minimum BTS reserve (or 0)
520
+ * @param {number} btsFree - Available free BTS balance
521
+ * @param {number} sideFree - Free balance of this side's asset
522
+ * @param {number} totalFree - Total free balance across both sides
523
+ * @returns {number} Budget adjusted for BTS fee reservation
524
+ */
525
+ declare function adjustBudgetForBtsFees(allocated: any, isBtsSide: any, formulaBudget: any, minBtsValue: any, btsFree: any, sideFree: any, totalFree: any): any;
510
526
  /**
511
527
  * Calculate side budget after BTS fee deduction.
512
528
  *
@@ -564,6 +580,7 @@ declare const _default: {
564
580
  buildDelta: typeof buildDelta;
565
581
  getOrderSize: typeof getOrderSize;
566
582
  deriveTargetBoundary: typeof deriveTargetBoundary;
583
+ adjustBudgetForBtsFees: typeof adjustBudgetForBtsFees;
567
584
  getSideBudget: typeof getSideBudget;
568
585
  calculateBudgetedSizes: typeof calculateBudgetedSizes;
569
586
  buildCreateOpFingerprint: typeof buildCreateOpFingerprint;
@@ -1 +1 @@
1
- {"version":3,"file":"order.d.ts","sourceRoot":"","sources":["../../../../modules/order/utils/order.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"order.d.ts","sourceRoot":"","sources":["../../../../modules/order/utils/order.ts"],"names":[],"mappings":"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"}