common-tg-service 1.1.95 → 1.1.97

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.

Potentially problematic release.


This version of common-tg-service might be problematic. Click here for more details.

@@ -61,11 +61,13 @@ export declare class BufferClientService implements OnModuleDestroy {
61
61
  updateInfo(): Promise<void>;
62
62
  joinchannelForBufferClients(skipExisting?: boolean): Promise<string>;
63
63
  joinChannelQueue(): Promise<void>;
64
+ private processJoinChannelInterval;
64
65
  private processJoinChannelSequentially;
65
66
  clearJoinChannelInterval(): void;
66
67
  removeFromLeaveMap(key: string): void;
67
68
  clearLeaveMap(): void;
68
69
  leaveChannelQueue(): Promise<void>;
70
+ private processLeaveChannelInterval;
69
71
  private processLeaveChannelSequentially;
70
72
  clearLeaveChannelInterval(): void;
71
73
  setAsBufferClient(mobile: string, availableDate?: string): Promise<string>;
@@ -95,11 +95,13 @@ let BufferClientService = BufferClientService_1 = class BufferClientService {
95
95
  try {
96
96
  for (const [mobile, channels] of this.joinChannelMap.entries()) {
97
97
  if (!channels || channels.length === 0) {
98
+ console.log(`Cleaning up joinChannelMap entry for mobile: ${mobile} as channels : ${channels}`);
98
99
  this.joinChannelMap.delete(mobile);
99
100
  }
100
101
  }
101
102
  for (const [mobile, channels] of this.leaveChannelMap.entries()) {
102
103
  if (!channels || channels.length === 0) {
104
+ console.log(`Cleaning up leaveChannelMap entry for mobile: ${mobile} as channels : ${channels}`);
103
105
  this.leaveChannelMap.delete(mobile);
104
106
  }
105
107
  }
@@ -113,7 +115,7 @@ let BufferClientService = BufferClientService_1 = class BufferClientService {
113
115
  keysToRemove.forEach(key => this.leaveChannelMap.delete(key));
114
116
  this.logger.warn(`Cleaned up ${keysToRemove.length} entries from leaveChannelMap to prevent memory leak`);
115
117
  }
116
- this.logger.debug(`Memory cleanup completed. Maps sizes - Join: ${this.joinChannelMap.size}, Leave: ${this.leaveChannelMap.size}, Active timeouts: ${this.activeTimeouts.size}`);
118
+ this.logger.debug(`Map Memory Check completed. Maps sizes - Join: ${this.joinChannelMap.size}, Leave: ${this.leaveChannelMap.size}, Active timeouts: ${this.activeTimeouts.size}`);
117
119
  }
118
120
  catch (error) {
119
121
  this.logger.error('Error during memory cleanup:', error);
@@ -440,6 +442,29 @@ let BufferClientService = BufferClientService_1 = class BufferClientService {
440
442
  return;
441
443
  }
442
444
  this.checkMemoryHealth();
445
+ if (!this.joinChannelIntervalId) {
446
+ this.logger.debug('Starting join channel interval');
447
+ this.joinChannelIntervalId = setInterval(async () => {
448
+ await this.processJoinChannelInterval();
449
+ }, this.JOIN_CHANNEL_INTERVAL);
450
+ this.activeTimeouts.add(this.joinChannelIntervalId);
451
+ await this.processJoinChannelInterval();
452
+ }
453
+ else {
454
+ this.logger.warn('Join channel interval is already running');
455
+ }
456
+ }
457
+ async processJoinChannelInterval() {
458
+ if (this.isJoinChannelProcessing) {
459
+ this.logger.debug('Join channel process already running, skipping interval');
460
+ return;
461
+ }
462
+ const existingKeys = Array.from(this.joinChannelMap.keys());
463
+ if (existingKeys.length === 0) {
464
+ this.logger.debug('No channels to join, clearing interval');
465
+ this.clearJoinChannelInterval();
466
+ return;
467
+ }
443
468
  this.isJoinChannelProcessing = true;
444
469
  try {
445
470
  await this.processJoinChannelSequentially();
@@ -449,11 +474,9 @@ let BufferClientService = BufferClientService_1 = class BufferClientService {
449
474
  }
450
475
  finally {
451
476
  this.isJoinChannelProcessing = false;
452
- if (this.joinChannelMap.size > 0) {
453
- this.logger.debug('Scheduling next join channel process');
454
- this.createTimeout(() => {
455
- this.joinChannelQueue();
456
- }, this.JOIN_CHANNEL_INTERVAL);
477
+ if (this.joinChannelMap.size === 0) {
478
+ this.logger.debug('No more channels to join, clearing interval');
479
+ this.clearJoinChannelInterval();
457
480
  }
458
481
  }
459
482
  }
@@ -559,6 +582,29 @@ let BufferClientService = BufferClientService_1 = class BufferClientService {
559
582
  return;
560
583
  }
561
584
  this.checkMemoryHealth();
585
+ if (!this.leaveChannelIntervalId) {
586
+ this.logger.debug('Starting leave channel interval');
587
+ this.leaveChannelIntervalId = setInterval(async () => {
588
+ await this.processLeaveChannelInterval();
589
+ }, this.LEAVE_CHANNEL_INTERVAL);
590
+ this.activeTimeouts.add(this.leaveChannelIntervalId);
591
+ await this.processLeaveChannelInterval();
592
+ }
593
+ else {
594
+ this.logger.debug('Leave channel interval is already running');
595
+ }
596
+ }
597
+ async processLeaveChannelInterval() {
598
+ if (this.isLeaveChannelProcessing) {
599
+ this.logger.debug('Leave channel process already running, skipping interval');
600
+ return;
601
+ }
602
+ const existingKeys = Array.from(this.leaveChannelMap.keys());
603
+ if (existingKeys.length === 0) {
604
+ this.logger.debug('No channels to leave, clearing interval');
605
+ this.clearLeaveChannelInterval();
606
+ return;
607
+ }
562
608
  this.isLeaveChannelProcessing = true;
563
609
  try {
564
610
  await this.processLeaveChannelSequentially();
@@ -568,11 +614,9 @@ let BufferClientService = BufferClientService_1 = class BufferClientService {
568
614
  }
569
615
  finally {
570
616
  this.isLeaveChannelProcessing = false;
571
- if (this.leaveChannelMap.size > 0) {
572
- this.logger.debug('Scheduling next leave channel process');
573
- this.createTimeout(() => {
574
- this.leaveChannelQueue();
575
- }, this.LEAVE_CHANNEL_INTERVAL);
617
+ if (this.leaveChannelMap.size === 0) {
618
+ this.logger.debug('No more channels to leave, clearing interval');
619
+ this.clearLeaveChannelInterval();
576
620
  }
577
621
  }
578
622
  }
@@ -1 +1 @@
1
- {"version":3,"file":"buffer-client.service.js","sourceRoot":"","sources":["../../../src/components/buffer-clients/buffer-client.service.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"buffer-client.service.js","sourceRoot":"","sources":["../../../src/components/buffer-clients/buffer-client.service.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,qEAAiE;AAEjE,2CAGwB;AACxB,+CAA+C;AAC/C,uCAAiC;AAGjC,mEAA+D;AAC/D,8CAAyC;AACzC,0DAAsD;AACtD,wFAAmF;AACnF,8DAA0D;AAE1D,sFAAiF;AACjF,uDAAoD;AACpD,mEAAgE;AAChE,iDAA+C;AAC/C,6EAAyE;AACzE,wDAAoD;AACpD,uCAAuC;AAGhC,IAAM,mBAAmB,2BAAzB,MAAM,mBAAmB;IAwB5B,YAA+C,iBAAsD,EAEjG,eAAwC,EAExC,YAAkC,EAElC,qBAAoD,EAEpD,aAAoC,EAEpC,eAAwC,EAExC,oBAAkD,EAElD,cAAsC;QAda,sBAAiB,GAAjB,iBAAiB,CAA6B;QAEzF,oBAAe,GAAf,eAAe,CAAiB;QAEhC,iBAAY,GAAZ,YAAY,CAAc;QAE1B,0BAAqB,GAArB,qBAAqB,CAAuB;QAE5C,kBAAa,GAAb,aAAa,CAAe;QAE5B,oBAAe,GAAf,eAAe,CAAiB;QAEhC,yBAAoB,GAApB,oBAAoB,CAAsB;QAE1C,mBAAc,GAAd,cAAc,CAAgB;QArCzB,WAAM,GAAG,IAAI,eAAM,CAAC,qBAAmB,CAAC,IAAI,CAAC,CAAC;QACvD,mBAAc,GAA2B,IAAI,GAAG,EAAE,CAAC;QACnD,0BAAqB,GAA0B,IAAI,CAAC;QACpD,oBAAe,GAA0B,IAAI,GAAG,EAAE,CAAC;QACnD,2BAAsB,GAA0B,IAAI,CAAC;QACrD,4BAAuB,GAAY,KAAK,CAAC;QACzC,6BAAwB,GAAY,KAAK,CAAC;QAG1C,mBAAc,GAAwB,IAAI,GAAG,EAAE,CAAC;QAGvC,0BAAqB,GAAG,CAAC,GAAG,EAAE,GAAG,IAAI,CAAC;QACtC,2BAAsB,GAAG,EAAE,GAAG,IAAI,CAAC;QACnC,6BAAwB,GAAG,EAAE,CAAC;QAC9B,4BAAuB,GAAG,IAAI,CAAC;QAC/B,6BAAwB,GAAG,KAAK,CAAC;QAGjC,iBAAY,GAAG,GAAG,CAAC;QACnB,qBAAgB,GAAG,EAAE,GAAG,EAAE,GAAG,IAAI,CAAC;QAC3C,sBAAiB,GAA0B,IAAI,CAAC;QAmBpD,IAAI,CAAC,kBAAkB,EAAE,CAAC;IAC9B,CAAC;IAED,KAAK,CAAC,eAAe;QACjB,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,2CAA2C,CAAC,CAAC;QAC7D,MAAM,IAAI,CAAC,OAAO,EAAE,CAAC;IACzB,CAAC;IAEO,KAAK,CAAC,OAAO;QACjB,IAAI,CAAC;YAED,IAAI,CAAC,gBAAgB,EAAE,CAAC;YAGxB,IAAI,CAAC,wBAAwB,EAAE,CAAC;YAChC,IAAI,CAAC,yBAAyB,EAAE,CAAC;YACjC,IAAI,CAAC,kBAAkB,EAAE,CAAC;YAG1B,IAAI,CAAC,cAAc,EAAE,CAAC;YACtB,IAAI,CAAC,aAAa,EAAE,CAAC;YAGrB,IAAI,CAAC,uBAAuB,GAAG,KAAK,CAAC;YACrC,IAAI,CAAC,wBAAwB,GAAG,KAAK,CAAC;YAEtC,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,uCAAuC,CAAC,CAAC;QAC7D,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACb,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,uBAAuB,EAAE,KAAK,CAAC,CAAC;QACtD,CAAC;IACL,CAAC;IAEO,kBAAkB;QACtB,IAAI,CAAC,iBAAiB,GAAG,WAAW,CAAC,GAAG,EAAE;YACtC,IAAI,CAAC,oBAAoB,EAAE,CAAC;QAChC,CAAC,EAAE,IAAI,CAAC,gBAAgB,CAAC,CAAC;QAE1B,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC,IAAI,CAAC,iBAAiB,CAAC,CAAC;IACpD,CAAC;IAEO,kBAAkB;QACtB,IAAI,IAAI,CAAC,iBAAiB,EAAE,CAAC;YACzB,aAAa,CAAC,IAAI,CAAC,iBAAiB,CAAC,CAAC;YACtC,IAAI,CAAC,cAAc,CAAC,MAAM,CAAC,IAAI,CAAC,iBAAiB,CAAC,CAAC;YACnD,IAAI,CAAC,iBAAiB,GAAG,IAAI,CAAC;QAClC,CAAC;IACL,CAAC;IAEO,oBAAoB;QACxB,IAAI,CAAC;YAED,KAAK,MAAM,CAAC,MAAM,EAAE,QAAQ,CAAC,IAAI,IAAI,CAAC,cAAc,CAAC,OAAO,EAAE,EAAE,CAAC;gBAC7D,IAAI,CAAC,QAAQ,IAAI,QAAQ,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;oBACrC,OAAO,CAAC,GAAG,CAAC,gDAAgD,MAAM,kBAAkB,QAAQ,EAAE,CAAC,CAAC;oBAChG,IAAI,CAAC,cAAc,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;gBACvC,CAAC;YACL,CAAC;YAGD,KAAK,MAAM,CAAC,MAAM,EAAE,QAAQ,CAAC,IAAI,IAAI,CAAC,eAAe,CAAC,OAAO,EAAE,EAAE,CAAC;gBAC9D,IAAI,CAAC,QAAQ,IAAI,QAAQ,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;oBACrC,OAAO,CAAC,GAAG,CAAC,iDAAiD,MAAM,kBAAkB,QAAQ,EAAE,CAAC,CAAC;oBACjG,IAAI,CAAC,eAAe,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;gBACxC,CAAC;YACL,CAAC;YAGD,IAAI,IAAI,CAAC,cAAc,CAAC,IAAI,GAAG,IAAI,CAAC,YAAY,EAAE,CAAC;gBAC/C,MAAM,YAAY,GAAG,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,cAAc,CAAC,IAAI,EAAE,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;gBACrF,YAAY,CAAC,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,IAAI,CAAC,cAAc,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC;gBAC7D,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,cAAc,YAAY,CAAC,MAAM,qDAAqD,CAAC,CAAC;YAC7G,CAAC;YAED,IAAI,IAAI,CAAC,eAAe,CAAC,IAAI,GAAG,IAAI,CAAC,YAAY,EAAE,CAAC;gBAChD,MAAM,YAAY,GAAG,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,eAAe,CAAC,IAAI,EAAE,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;gBACtF,YAAY,CAAC,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,IAAI,CAAC,eAAe,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC;gBAC9D,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,cAAc,YAAY,CAAC,MAAM,sDAAsD,CAAC,CAAC;YAC9G,CAAC;YAED,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,kDAAkD,IAAI,CAAC,cAAc,CAAC,IAAI,YAAY,IAAI,CAAC,eAAe,CAAC,IAAI,sBAAsB,IAAI,CAAC,cAAc,CAAC,IAAI,EAAE,CAAC,CAAC;QACvL,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACb,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,8BAA8B,EAAE,KAAK,CAAC,CAAC;QAC7D,CAAC;IACL,CAAC;IAEO,aAAa,CAAC,QAAoB,EAAE,KAAa;QACrD,MAAM,OAAO,GAAG,UAAU,CAAC,GAAG,EAAE;YAC5B,IAAI,CAAC,cAAc,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;YACpC,QAAQ,EAAE,CAAC;QACf,CAAC,EAAE,KAAK,CAAC,CAAC;QACV,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;QACjC,OAAO,OAAO,CAAC;IACnB,CAAC;IAEO,gBAAgB;QACpB,IAAI,CAAC,cAAc,CAAC,OAAO,CAAC,OAAO,CAAC,EAAE;YAClC,YAAY,CAAC,OAAO,CAAC,CAAC;QAC1B,CAAC,CAAC,CAAC;QACH,IAAI,CAAC,cAAc,CAAC,KAAK,EAAE,CAAC;QAC5B,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,6BAA6B,CAAC,CAAC;IACrD,CAAC;IAEO,iBAAiB;QACrB,MAAM,WAAW,GAAG;YAChB,WAAW,EAAE,IAAI,CAAC,cAAc,CAAC,IAAI;YACrC,YAAY,EAAE,IAAI,CAAC,eAAe,CAAC,IAAI;YACvC,cAAc,EAAE,IAAI,CAAC,cAAc,CAAC,IAAI;YACxC,gBAAgB,EAAE,IAAI,CAAC,uBAAuB;YAC9C,iBAAiB,EAAE,IAAI,CAAC,wBAAwB;SACnD,CAAC;QAEF,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,sBAAsB,EAAE,WAAW,CAAC,CAAC;QAGvD,IAAI,WAAW,CAAC,WAAW,GAAG,IAAI,CAAC,YAAY,GAAG,GAAG,EAAE,CAAC;YACpD,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,iEAAiE,CAAC,CAAC;YACpF,IAAI,CAAC,oBAAoB,EAAE,CAAC;QAChC,CAAC;QAED,IAAI,WAAW,CAAC,YAAY,GAAG,IAAI,CAAC,YAAY,GAAG,GAAG,EAAE,CAAC;YACrD,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,kEAAkE,CAAC,CAAC;YACrF,IAAI,CAAC,oBAAoB,EAAE,CAAC;QAChC,CAAC;IACL,CAAC;IAED,KAAK,CAAC,MAAM,CAAC,YAAmC;QAE5C,MAAM,OAAO,GAAG,IAAI,IAAI,CAAC,iBAAiB,CAAC;YACvC,GAAG,YAAY;YACf,MAAM,EAAE,YAAY,CAAC,MAAM,IAAI,QAAQ;SAC1C,CAAC,CAAC;QACH,OAAO,OAAO,CAAC,IAAI,EAAE,CAAC;IAC1B,CAAC;IAGD,KAAK,CAAC,OAAO,CAAC,MAA8B;QACxC,MAAM,MAAM,GAAG,MAAM,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QACxC,OAAO,IAAI,CAAC,iBAAiB,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE,CAAC;IACtD,CAAC;IAED,KAAK,CAAC,OAAO,CAAC,MAAc,EAAE,WAAoB,IAAI;QAClD,MAAM,IAAI,GAAG,CAAC,MAAM,IAAI,CAAC,iBAAiB,CAAC,OAAO,CAAC,EAAE,MAAM,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC,EAAE,MAAM,EAAE,CAAC;QACjF,IAAI,CAAC,IAAI,IAAI,QAAQ,EAAE,CAAC;YACpB,MAAM,IAAI,0BAAiB,CAAC,4BAA4B,MAAM,YAAY,CAAC,CAAC;QAChF,CAAC;QACD,OAAO,IAAI,CAAC;IAChB,CAAC;IAGD,KAAK,CAAC,MAAM,CAAC,MAAc,EAAE,eAAsC;QAE/D,MAAM,WAAW,GAAG,MAAM,IAAI,CAAC,iBAAiB,CAAC,gBAAgB,CAC7D,EAAE,MAAM,EAAE,EACV,EAAE,IAAI,EAAE,eAAe,EAAE,EACzB,EAAE,GAAG,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,cAAc,EAAE,OAAO,EAAE,CACvD,CAAC,IAAI,EAAE,CAAC;QAET,IAAI,CAAC,WAAW,EAAE,CAAC;YACf,MAAM,IAAI,0BAAiB,CAAC,oBAAoB,MAAM,YAAY,CAAC,CAAC;QACxE,CAAC;QAED,OAAO,WAAW,CAAC;IACvB,CAAC;IAED,KAAK,CAAC,cAAc,CAAC,MAAc,EAAE,qBAAoE;QACrG,MAAM,YAAY,GAAG,CAAC,MAAM,IAAI,CAAC,iBAAiB,CAAC,OAAO,CAAC,EAAE,MAAM,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC,EAAE,MAAM,EAAE,CAAC;QACzF,IAAI,YAAY,EAAE,CAAC;YACf,OAAO,CAAC,GAAG,CAAC,UAAU,CAAC,CAAA;YACvB,OAAO,IAAI,CAAC,MAAM,CAAC,YAAY,CAAC,MAAM,EAAE,qBAA8C,CAAC,CAAC;QAC5F,CAAC;aAAM,CAAC;YACJ,OAAO,CAAC,GAAG,CAAC,UAAU,CAAC,CAAA;YAEvB,OAAO,IAAI,CAAC,MAAM,CAAC,EAAE,GAAG,qBAAqB,EAAE,MAAM,EAAG,qBAA6B,CAAC,MAAM,IAAI,QAAQ,EAA2B,CAAC,CAAC;QACzI,CAAC;IACL,CAAC;IAED,KAAK,CAAC,MAAM,CAAC,MAAc;QACvB,IAAI,CAAC;YACD,MAAM,YAAY,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC;YACvD,IAAI,CAAC,YAAY,EAAE,CAAC;gBAChB,MAAM,IAAI,0BAAiB,CAAC,4BAA4B,MAAM,YAAY,CAAC,CAAC;YAChF,CAAC;YACD,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,sCAAsC,MAAM,EAAE,CAAC,CAAC;YAChE,MAAM,IAAA,mCAAgB,EAAC,GAAG,IAAA,kBAAQ,GAAE,SAAS,kBAAkB,CAAC,4BAA4B,MAAM,cAAc,YAAY,CAAC,OAAO,EAAE,CAAC,EAAE,CAAC,CAAC;YAC3I,MAAM,IAAI,CAAC,iBAAiB,CAAC,SAAS,CAAC,EAAE,MAAM,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC;QAC9D,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACb,MAAM,YAAY,GAAG,IAAA,uBAAU,EAAC,KAAK,CAAC,CAAC;YACvC,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,2CAA2C,MAAM,KAAK,YAAY,CAAC,OAAO,EAAE,CAAC,CAAC;YAChG,MAAM,IAAI,sBAAa,CAAC,YAAY,CAAC,OAAO,EAAE,YAAY,CAAC,MAAM,CAAC,CAAC;QACvE,CAAC;QACD,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,4BAA4B,MAAM,uBAAuB,CAAC,CAAC;IAC/E,CAAC;IACD,KAAK,CAAC,MAAM,CAAC,MAAW;QAEpB,IAAI,MAAM,CAAC,SAAS,EAAE,CAAC;YACnB,MAAM,CAAC,SAAS,GAAG,EAAE,MAAM,EAAE,IAAI,MAAM,CAAC,MAAM,CAAC,SAAS,EAAE,GAAG,CAAC,EAAE,CAAA;QACpE,CAAC;QACD,IAAI,MAAM,CAAC,MAAM,EAAE,CAAC;YAChB,MAAM,CAAC,MAAM,GAAG,MAAM,CAAC,MAAM,CAAC;QAClC,CAAC;QACD,OAAO,IAAI,CAAC,iBAAiB,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE,CAAC;IACtD,CAAC;IAED,KAAK,CAAC,YAAY,CAAC,KAAU,EAAE,IAAU,EAAE,KAAc,EAAE,IAAa;QACpE,IAAI,CAAC;YAED,IAAI,CAAC,KAAK,EAAE,CAAC;gBACT,MAAM,IAAI,4BAAmB,CAAC,mBAAmB,CAAC,CAAC;YACvD,CAAC;YACD,MAAM,SAAS,GAAG,IAAI,CAAC,iBAAiB,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;YACrD,IAAI,IAAI,EAAE,CAAC;gBACP,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YACzB,CAAC;YAED,IAAI,KAAK,EAAE,CAAC;gBACR,SAAS,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;YAC3B,CAAC;YAED,IAAI,IAAI,EAAE,CAAC;gBACP,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YACzB,CAAC;YAED,OAAO,MAAM,SAAS,CAAC,IAAI,EAAE,CAAC;QAClC,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACb,MAAM,IAAI,qCAA4B,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;QAC1D,CAAC;IACL,CAAC;IAED,mBAAmB,CAAC,GAAW;QAC3B,IAAI,CAAC,cAAc,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;IACpC,CAAC;IAEO,qBAAqB,CAAC,MAAc,EAAE,QAAmB;QAC7D,IAAI,IAAI,CAAC,cAAc,CAAC,IAAI,IAAI,IAAI,CAAC,YAAY,IAAI,CAAC,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC;YACpF,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,wCAAwC,IAAI,CAAC,YAAY,iBAAiB,MAAM,EAAE,CAAC,CAAC;YACrG,OAAO,KAAK,CAAC;QACjB,CAAC;QACD,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAC;QAC1C,OAAO,IAAI,CAAC;IAChB,CAAC;IAEO,sBAAsB,CAAC,MAAc,EAAE,QAAkB;QAC7D,IAAI,IAAI,CAAC,eAAe,CAAC,IAAI,IAAI,IAAI,CAAC,YAAY,IAAI,CAAC,IAAI,CAAC,eAAe,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC;YACtF,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,yCAAyC,IAAI,CAAC,YAAY,iBAAiB,MAAM,EAAE,CAAC,CAAC;YACtG,OAAO,KAAK,CAAC;QACjB,CAAC;QACD,IAAI,CAAC,eAAe,CAAC,GAAG,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAC;QAC3C,OAAO,IAAI,CAAC;IAChB,CAAC;IAED,cAAc;QACV,MAAM,OAAO,GAAG,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC;QACzC,IAAI,CAAC,cAAc,CAAC,KAAK,EAAE,CAAC;QAC5B,IAAI,CAAC,wBAAwB,EAAE,CAAC;QAChC,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,8BAA8B,OAAO,UAAU,CAAC,CAAC;IACvE,CAAC;IAGD,KAAK,CAAC,YAAY,CAAC,MAAc,EAAE,MAAc,EAAE,OAAgB;QAC/D,MAAM,UAAU,GAAQ,EAAE,MAAM,EAAE,CAAC;QACnC,IAAI,OAAO,EAAE,CAAC;YACV,UAAU,CAAC,OAAO,GAAG,OAAO,CAAC;QACjC,CAAC;QAED,OAAO,IAAI,CAAC,MAAM,CAAC,MAAM,EAAE,UAAU,CAAC,CAAC;IAC3C,CAAC;IAED,KAAK,CAAC,cAAc,CAAC,MAAc,EAAE,MAAc;QAC/C,OAAO,IAAI,CAAC,YAAY,CAAC,MAAM,EAAE,UAAU,EAAE,MAAM,CAAC,CAAC;IACzD,CAAC;IAED,KAAK,CAAC,UAAU;QACZ,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,iBAAiB,CAAC,IAAI,CAAC;YAC9C,MAAM,EAAE,QAAQ;SACnB,CAAC,CAAC,IAAI,CAAC,EAAE,QAAQ,EAAE,CAAC,EAAE,CAAC,CAAC;QAEzB,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,qBAAqB,OAAO,CAAC,MAAM,iBAAiB,CAAC,CAAC;QAExE,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;YACtC,MAAM,MAAM,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC;YAC1B,MAAM,MAAM,GAAG,MAAM,CAAC,MAAM,CAAC;YAE7B,IAAI,CAAC;gBACD,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,4BAA4B,CAAC,GAAG,CAAC,IAAI,OAAO,CAAC,MAAM,KAAK,MAAM,EAAE,CAAC,CAAC;gBAGpF,MAAM,IAAA,eAAK,EAAC,IAAI,CAAC,CAAC;gBAClB,MAAM,cAAc,GAAG,MAAM,sCAAiB,CAAC,SAAS,CAAC,MAAM,EAAE,EAAE,cAAc,EAAE,KAAK,EAAE,OAAO,EAAE,KAAK,EAAE,CAAC,CAAC;gBAE5G,MAAM,IAAA,eAAK,EAAC,IAAI,CAAC,CAAC;gBAClB,MAAM,QAAQ,GAAG,MAAM,cAAc,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC;gBACxD,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,GAAG,MAAM,WAAW,QAAQ,CAAC,GAAG,CAAC,MAAM,oBAAoB,CAAC,CAAC;gBAE/E,MAAM,IAAA,eAAK,EAAC,IAAI,CAAC,CAAC;gBAClB,MAAM,IAAI,CAAC,MAAM,CAAC,MAAM,EAAE,EAAE,QAAQ,EAAE,QAAQ,CAAC,GAAG,CAAC,MAAM,EAAE,CAAC,CAAC;YAEjE,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBACb,MAAM,YAAY,GAAG,IAAA,uBAAU,EAAC,KAAK,CAAC,CAAC;gBACvC,IAAI,CAAC;oBACD,MAAM,IAAI,CAAC,cAAc,CAAC,MAAM,EAAE,GAAG,YAAY,CAAC,OAAO,EAAE,CAAC,CAAC;gBACjE,CAAC;gBAAC,OAAO,SAAS,EAAE,CAAC;oBACjB,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,wBAAwB,MAAM,eAAe,EAAE,SAAS,CAAC,CAAC;gBAChF,CAAC;gBACD,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,kCAAkC,MAAM,GAAG,EAAE,YAAY,CAAC,CAAC;YACjF,CAAC;oBAAS,CAAC;gBACP,IAAI,CAAC;oBACD,MAAM,sCAAiB,CAAC,gBAAgB,CAAC,MAAM,CAAC,CAAC;gBACrD,CAAC;gBAAC,OAAO,eAAe,EAAE,CAAC;oBACvB,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,8BAA8B,MAAM,GAAG,EAAE,eAAe,CAAC,CAAC;gBAChF,CAAC;gBAGD,IAAI,CAAC,GAAG,OAAO,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;oBACzB,MAAM,IAAA,eAAK,EAAC,IAAI,CAAC,CAAC;gBACtB,CAAC;YACL,CAAC;QACL,CAAC;QAED,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,gDAAgD,CAAC,CAAC;IACxE,CAAC;IAED,KAAK,CAAC,2BAA2B,CAAC,eAAwB,IAAI;QAC1D,IAAI,IAAI,CAAC,eAAe,CAAC,oBAAoB,EAAE,EAAE,CAAC;YAC9C,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,oEAAoE,CAAC,CAAC;YACvF,OAAO,uDAAuD,CAAC;QACnE,CAAC;QAED,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,kDAAkD,CAAC,CAAC;QAEpE,IAAI,CAAC,cAAc,CAAC,KAAK,EAAE,CAAC;QAC5B,IAAI,CAAC,eAAe,CAAC,KAAK,EAAE,CAAC;QAC7B,IAAI,CAAC,wBAAwB,EAAE,CAAC;QAChC,IAAI,CAAC,yBAAyB,EAAE,CAAC;QACjC,MAAM,IAAA,eAAK,EAAC,IAAI,CAAC,CAAC;QAElB,MAAM,YAAY,GAAG,YAAY,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,cAAc,CAAC,IAAI,EAAE,CAAC,CAAC;QAChF,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,iBAAiB,CAAC,IAAI,CAAC;YAC9C,QAAQ,EAAE,EAAE,GAAG,EAAE,GAAG,EAAE;YACtB,MAAM,EAAE,EAAE,IAAI,EAAE,YAAY,EAAE;SACjC,CAAC,CAAC,IAAI,CAAC,EAAE,QAAQ,EAAE,CAAC,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;QAElC,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,SAAS,OAAO,CAAC,MAAM,4BAA4B,CAAC,CAAC;QAEvE,MAAM,OAAO,GAAG,IAAI,GAAG,EAAU,CAAC;QAClC,MAAM,QAAQ,GAAG,IAAI,GAAG,EAAU,CAAC;QAEnC,IAAI,YAAY,GAAG,CAAC,CAAC;QACrB,IAAI,SAAS,GAAG,CAAC,CAAC;QAGlB,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;YACtC,MAAM,QAAQ,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC;YAC5B,MAAM,MAAM,GAAG,QAAQ,CAAC,MAAM,CAAC;YAC/B,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,4BAA4B,CAAC,GAAG,CAAC,IAAI,OAAO,CAAC,MAAM,KAAK,MAAM,EAAE,CAAC,CAAC;YAEpF,IAAI,CAAC;gBACD,MAAM,MAAM,GAAG,MAAM,sCAAiB,CAAC,SAAS,CAAC,MAAM,EAAE;oBACrD,cAAc,EAAE,KAAK;oBACrB,OAAO,EAAE,KAAK;iBACjB,CAAC,CAAC;gBAGH,MAAM,IAAA,eAAK,EAAC,IAAI,CAAC,CAAC;gBAClB,MAAM,QAAQ,GAAG,MAAM,MAAM,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC;gBAChD,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,UAAU,MAAM,QAAQ,QAAQ,CAAC,GAAG,CAAC,MAAM,oBAAoB,CAAC,CAAC;gBACnF,MAAM,IAAI,CAAC,MAAM,CAAC,MAAM,EAAE,EAAE,QAAQ,EAAE,QAAQ,CAAC,GAAG,CAAC,MAAM,EAAE,CAAC,CAAC;gBAE7D,IAAI,QAAQ,CAAC,iBAAiB,GAAG,EAAE,EAAE,CAAC;oBAClC,MAAM,WAAW,GAAG,QAAQ,CAAC,GAAG,CAAC;oBACjC,MAAM,MAAM,GAAG,QAAQ,CAAC,GAAG,CAAC,MAAM,GAAG,GAAG;wBACpC,CAAC,CAAC,MAAM,IAAI,CAAC,eAAe,CAAC,iBAAiB,CAAC,GAAG,EAAE,CAAC,EAAE,WAAW,CAAC;wBACnE,CAAC,CAAC,MAAM,IAAI,CAAC,qBAAqB,CAAC,iBAAiB,CAAC,GAAG,EAAE,CAAC,EAAE,WAAW,CAAC,CAAC;oBAE9E,IAAI,CAAC,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC;wBACnC,IAAI,IAAI,CAAC,qBAAqB,CAAC,MAAM,EAAE,MAAM,CAAC,EAAE,CAAC;4BAC7C,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;4BACpB,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,SAAS,MAAM,CAAC,MAAM,+BAA+B,MAAM,EAAE,CAAC,CAAC;wBACrF,CAAC;6BAAM,CAAC;4BACJ,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,iBAAiB,MAAM,qCAAqC,CAAC,CAAC;wBACnF,CAAC;oBACL,CAAC;yBAAM,CAAC;wBACJ,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,GAAG,MAAM,yCAAyC,CAAC,CAAC;oBAC1E,CAAC;gBAEL,CAAC;qBAAM,CAAC;oBACJ,IAAI,CAAC,IAAI,CAAC,eAAe,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC;wBACpC,IAAI,IAAI,CAAC,sBAAsB,CAAC,MAAM,EAAE,QAAQ,CAAC,iBAAiB,CAAC,EAAE,CAAC;4BAClE,QAAQ,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;4BACrB,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,UAAU,MAAM,QAAQ,QAAQ,CAAC,iBAAiB,CAAC,MAAM,4CAA4C,CAAC,CAAC;wBAC5H,CAAC;6BAAM,CAAC;4BACJ,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,iBAAiB,MAAM,sCAAsC,CAAC,CAAC;wBACpF,CAAC;oBACL,CAAC;yBAAM,CAAC;wBACJ,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,GAAG,MAAM,0CAA0C,CAAC,CAAC;oBAC3E,CAAC;gBACL,CAAC;gBAED,YAAY,EAAE,CAAC;YAEnB,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBACb,SAAS,EAAE,CAAC;gBAEZ,MAAM,YAAY,GAAG,IAAA,uBAAU,EAAC,KAAK,CAAC,CAAC;gBACvC,MAAM,QAAQ,GAAG,YAAY,EAAE,OAAO,IAAI,KAAK,EAAE,YAAY,IAAI,eAAe,CAAC;gBAEjF,IAAI,IAAA,gBAAQ,EAAC,QAAQ,EAAE;oBACnB,iBAAiB;oBACjB,uBAAuB;oBACvB,kBAAkB;oBAClB,sBAAsB;oBACtB,uBAAuB;iBAC1B,CAAC,EAAE,CAAC;oBACD,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,uBAAuB,MAAM,WAAW,QAAQ,mBAAmB,CAAC,CAAC;oBACvF,IAAI,CAAC;wBACD,MAAM,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;wBAC1B,MAAM,IAAA,eAAK,EAAC,IAAI,CAAC,CAAC;oBACtB,CAAC;oBAAC,OAAO,SAAS,EAAE,CAAC;wBACjB,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,2BAA2B,MAAM,GAAG,EAAE,SAAS,CAAC,CAAC;oBACvE,CAAC;gBACL,CAAC;qBAAM,CAAC;oBACJ,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,uBAAuB,MAAM,KAAK,QAAQ,EAAE,CAAC,CAAC;gBACnE,CAAC;YACL,CAAC;oBAAS,CAAC;gBACP,IAAI,CAAC;oBACD,MAAM,sCAAiB,CAAC,gBAAgB,CAAC,MAAM,CAAC,CAAC;gBACrD,CAAC;gBAAC,OAAO,eAAe,EAAE,CAAC;oBACvB,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,8BAA8B,MAAM,GAAG,EAAE,eAAe,CAAC,CAAC;gBAChF,CAAC;gBAGD,IAAI,CAAC,GAAG,OAAO,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;oBACzB,MAAM,IAAA,eAAK,EAAC,IAAI,CAAC,uBAAuB,CAAC,CAAC;gBAC9C,CAAC;YACL,CAAC;QACL,CAAC;QAGD,MAAM,IAAA,eAAK,EAAC,IAAI,CAAC,CAAC;QAElB,IAAI,OAAO,CAAC,IAAI,GAAG,CAAC,EAAE,CAAC;YACnB,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,2BAA2B,OAAO,CAAC,IAAI,iBAAiB,CAAC,CAAC;YAC5E,IAAI,CAAC,aAAa,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,gBAAgB,EAAE,EAAE,IAAI,CAAC,CAAC;QAC5D,CAAC;QAED,IAAI,QAAQ,CAAC,IAAI,GAAG,CAAC,EAAE,CAAC;YACpB,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,4BAA4B,QAAQ,CAAC,IAAI,iBAAiB,CAAC,CAAC;YAC9E,IAAI,CAAC,aAAa,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,iBAAiB,EAAE,EAAE,IAAI,CAAC,CAAC;QAC7D,CAAC;QAED,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,oCAAoC,YAAY,WAAW,SAAS,EAAE,CAAC,CAAC;QACxF,OAAO,2BAA2B,OAAO,CAAC,IAAI,uBAAuB,QAAQ,CAAC,IAAI,EAAE,CAAC;IACzF,CAAC;IAED,KAAK,CAAC,gBAAgB;QAClB,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,wCAAwC,CAAC,CAAC;QAC5D,IAAI,IAAI,CAAC,uBAAuB,EAAE,CAAC;YAC/B,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,yCAAyC,CAAC,CAAC;YAC5D,OAAO;QACX,CAAC;QAED,MAAM,YAAY,GAAG,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,cAAc,CAAC,IAAI,EAAE,CAAC,CAAC;QAC5D,IAAI,YAAY,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YAC5B,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,yCAAyC,CAAC,CAAC;YAC7D,OAAO;QACX,CAAC;QAGD,IAAI,CAAC,iBAAiB,EAAE,CAAC;QAGzB,IAAI,CAAC,IAAI,CAAC,qBAAqB,EAAE,CAAC;YAC9B,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,gCAAgC,CAAC,CAAC;YACpD,IAAI,CAAC,qBAAqB,GAAG,WAAW,CAAC,KAAK,IAAI,EAAE;gBAChD,MAAM,IAAI,CAAC,0BAA0B,EAAE,CAAC;YAC5C,CAAC,EAAE,IAAI,CAAC,qBAAqB,CAAC,CAAC;YAC/B,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC,IAAI,CAAC,qBAAqB,CAAC,CAAC;YACpD,MAAM,IAAI,CAAC,0BAA0B,EAAE,CAAC;QAC5C,CAAC;aAAM,CAAC;YACJ,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,0CAA0C,CAAC,CAAC;QACjE,CAAC;IACL,CAAC;IAEO,KAAK,CAAC,0BAA0B;QACpC,IAAI,IAAI,CAAC,uBAAuB,EAAE,CAAC;YAC/B,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,yDAAyD,CAAC,CAAC;YAC7E,OAAO;QACX,CAAC;QAED,MAAM,YAAY,GAAG,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,cAAc,CAAC,IAAI,EAAE,CAAC,CAAC;QAC5D,IAAI,YAAY,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YAC5B,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,wCAAwC,CAAC,CAAC;YAC5D,IAAI,CAAC,wBAAwB,EAAE,CAAC;YAChC,OAAO;QACX,CAAC;QAED,IAAI,CAAC,uBAAuB,GAAG,IAAI,CAAC;QAEpC,IAAI,CAAC;YACD,MAAM,IAAI,CAAC,8BAA8B,EAAE,CAAC;QAChD,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACb,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,6BAA6B,EAAE,KAAK,CAAC,CAAC;QAC5D,CAAC;gBAAS,CAAC;YACP,IAAI,CAAC,uBAAuB,GAAG,KAAK,CAAC;YAGrC,IAAI,IAAI,CAAC,cAAc,CAAC,IAAI,KAAK,CAAC,EAAE,CAAC;gBACjC,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,6CAA6C,CAAC,CAAC;gBACjE,IAAI,CAAC,wBAAwB,EAAE,CAAC;YACpC,CAAC;QACL,CAAC;IACL,CAAC;IAEO,KAAK,CAAC,8BAA8B;QACxC,MAAM,IAAI,GAAG,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,cAAc,CAAC,IAAI,EAAE,CAAC,CAAC;QACpD,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,kDAAkD,IAAI,CAAC,MAAM,UAAU,CAAC,CAAC;QAE3F,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;YACnC,MAAM,MAAM,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC;YACvB,IAAI,cAAc,GAAmB,IAAI,CAAC;YAE1C,IAAI,CAAC;gBACD,MAAM,QAAQ,GAAG,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;gBACjD,IAAI,CAAC,QAAQ,IAAI,QAAQ,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;oBACrC,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,gCAAgC,MAAM,uBAAuB,CAAC,CAAC;oBACjF,IAAI,CAAC,mBAAmB,CAAC,MAAM,CAAC,CAAC;oBACjC,SAAS;gBACb,CAAC;gBAED,cAAc,GAAG,QAAQ,CAAC,KAAK,EAAE,CAAC;gBAClC,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,GAAG,MAAM,QAAQ,QAAQ,CAAC,MAAM,2CAA2C,cAAc,CAAC,QAAQ,EAAE,CAAC,CAAC;gBACxH,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAC;gBAC1C,MAAM,IAAI,CAAC,eAAe,CAAC,iBAAiB,CAAC,MAAM,EAAE,cAAc,CAAC,CAAC;YACzE,CAAC;YAAC,OAAO,KAAU,EAAE,CAAC;gBAClB,MAAM,YAAY,GAAG,IAAA,uBAAU,EAAC,KAAK,EAAE,GAAG,MAAM,IAAI,cAAc,CAAC,CAAC,CAAC,IAAI,cAAc,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC,EAAE,uBAAuB,EAAE,KAAK,CAAC,CAAC;gBACvI,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,6BAA6B,MAAM,KAAK,KAAK,CAAC,OAAO,EAAE,CAAC,CAAC;gBAE3E,IAAI,YAAY,CAAC,KAAK,KAAK,gBAAgB,IAAI,KAAK,CAAC,YAAY,KAAK,mBAAmB,EAAE,CAAC;oBACxF,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,MAAM,sEAAsE,CAAC,CAAC;oBAClG,IAAI,CAAC,mBAAmB,CAAC,MAAM,CAAC,CAAC;oBAEjC,IAAI,CAAC;wBACD,MAAM,IAAA,eAAK,EAAC,IAAI,CAAC,CAAC;wBAClB,MAAM,YAAY,GAAG,MAAM,IAAI,CAAC,eAAe,CAAC,cAAc,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC;wBAC7E,MAAM,IAAI,CAAC,MAAM,CAAC,MAAM,EAAE,EAAE,QAAQ,EAAE,YAAY,CAAC,GAAG,CAAC,MAAM,EAAE,CAAC,CAAC;oBACrE,CAAC;oBAAC,OAAO,WAAW,EAAE,CAAC;wBACnB,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,oCAAoC,MAAM,GAAG,EAAE,WAAW,CAAC,CAAC;oBAClF,CAAC;gBACL,CAAC;gBAED,IAAI,IAAA,gBAAQ,EAAC,YAAY,CAAC,OAAO,EAAE;oBAC/B,iBAAiB;oBACjB,uBAAuB;oBACvB,kBAAkB;oBAClB,sBAAsB;oBACtB,uBAAuB;iBAC1B,CAAC,EAAE,CAAC;oBACD,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,uBAAuB,MAAM,mBAAmB,CAAC,CAAC;oBACpE,IAAI,CAAC,mBAAmB,CAAC,MAAM,CAAC,CAAC;oBACjC,IAAI,CAAC;wBACD,MAAM,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;wBAC1B,MAAM,IAAA,eAAK,EAAC,IAAI,CAAC,CAAC;oBACtB,CAAC;oBAAC,OAAO,WAAW,EAAE,CAAC;wBACnB,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,yBAAyB,MAAM,GAAG,EAAE,WAAW,CAAC,CAAC;oBACvE,CAAC;gBACL,CAAC;YAEL,CAAC;oBAAS,CAAC;gBACP,IAAI,CAAC;oBACD,MAAM,sCAAiB,CAAC,gBAAgB,CAAC,MAAM,CAAC,CAAC;gBACrD,CAAC;gBAAC,OAAO,eAAe,EAAE,CAAC;oBACvB,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,8BAA8B,MAAM,GAAG,EAAE,eAAe,CAAC,CAAC;gBAChF,CAAC;gBAGD,IAAI,CAAC,GAAG,IAAI,CAAC,MAAM,GAAG,CAAC,IAAI,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE,MAAM,GAAG,CAAC,EAAE,CAAC;oBACrE,OAAO,CAAC,GAAG,CAAC,gBAAgB,IAAI,CAAC,wBAAwB,qCAAqC,CAAC,CAAA;oBAC/F,MAAM,IAAA,eAAK,EAAC,IAAI,CAAC,wBAAwB,CAAC,CAAC;gBAC/C,CAAC;qBAAM,CAAC;oBACJ,OAAO,CAAC,GAAG,CAAC,iDAAiD,CAAC,CAAA;gBAClE,CAAC;YACL,CAAC;QACL,CAAC;IACL,CAAC;IAED,wBAAwB;QACpB,IAAI,IAAI,CAAC,qBAAqB,EAAE,CAAC;YAC7B,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,mCAAmC,IAAI,CAAC,qBAAqB,EAAE,CAAC,CAAC;YACnF,aAAa,CAAC,IAAI,CAAC,qBAAqB,CAAC,CAAC;YAC1C,IAAI,CAAC,cAAc,CAAC,MAAM,CAAC,IAAI,CAAC,qBAAqB,CAAC,CAAC;YACvD,IAAI,CAAC,qBAAqB,GAAG,IAAI,CAAC;QACtC,CAAC;QACD,IAAI,CAAC,uBAAuB,GAAG,KAAK,CAAC;QACrC,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,gDAAgD,CAAC,CAAC;IACxE,CAAC;IAED,kBAAkB,CAAC,GAAW;QAC1B,IAAI,CAAC,eAAe,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;QACjC,IAAI,IAAI,CAAC,eAAe,CAAC,IAAI,KAAK,CAAC,EAAE,CAAC;YAClC,IAAI,CAAC,yBAAyB,EAAE,CAAC;QACrC,CAAC;IACL,CAAC;IAED,aAAa;QACT,MAAM,OAAO,GAAG,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC;QAC1C,IAAI,CAAC,eAAe,CAAC,KAAK,EAAE,CAAC;QAC7B,IAAI,CAAC,yBAAyB,EAAE,CAAC;QACjC,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,6BAA6B,OAAO,UAAU,CAAC,CAAC;IACtE,CAAC;IAED,KAAK,CAAC,iBAAiB;QACnB,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,yCAAyC,CAAC,CAAC;QAC7D,IAAI,IAAI,CAAC,wBAAwB,EAAE,CAAC;YAChC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,0CAA0C,CAAC,CAAC;YAC7D,OAAO;QACX,CAAC;QAED,MAAM,YAAY,GAAG,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,eAAe,CAAC,IAAI,EAAE,CAAC,CAAC;QAC7D,IAAI,YAAY,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YAC5B,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,0CAA0C,CAAC,CAAC;YAC9D,OAAO;QACX,CAAC;QAGD,IAAI,CAAC,iBAAiB,EAAE,CAAC;QAGzB,IAAI,CAAC,IAAI,CAAC,sBAAsB,EAAE,CAAC;YAC/B,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,iCAAiC,CAAC,CAAC;YACrD,IAAI,CAAC,sBAAsB,GAAG,WAAW,CAAC,KAAK,IAAI,EAAE;gBACjD,MAAM,IAAI,CAAC,2BAA2B,EAAE,CAAC;YAC7C,CAAC,EAAE,IAAI,CAAC,sBAAsB,CAAC,CAAC;YAChC,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC,IAAI,CAAC,sBAAsB,CAAC,CAAC;YACrD,MAAM,IAAI,CAAC,2BAA2B,EAAE,CAAC;QAC7C,CAAC;aAAM,CAAC;YACJ,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,2CAA2C,CAAC,CAAC;QACnE,CAAC;IACL,CAAC;IAEO,KAAK,CAAC,2BAA2B;QACrC,IAAI,IAAI,CAAC,wBAAwB,EAAE,CAAC;YAChC,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,0DAA0D,CAAC,CAAC;YAC9E,OAAO;QACX,CAAC;QAED,MAAM,YAAY,GAAG,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,eAAe,CAAC,IAAI,EAAE,CAAC,CAAC;QAC7D,IAAI,YAAY,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YAC5B,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,yCAAyC,CAAC,CAAC;YAC7D,IAAI,CAAC,yBAAyB,EAAE,CAAC;YACjC,OAAO;QACX,CAAC;QAED,IAAI,CAAC,wBAAwB,GAAG,IAAI,CAAC;QAErC,IAAI,CAAC;YACD,MAAM,IAAI,CAAC,+BAA+B,EAAE,CAAC;QACjD,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACb,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,8BAA8B,EAAE,KAAK,CAAC,CAAC;QAC7D,CAAC;gBAAS,CAAC;YACP,IAAI,CAAC,wBAAwB,GAAG,KAAK,CAAC;YAGtC,IAAI,IAAI,CAAC,eAAe,CAAC,IAAI,KAAK,CAAC,EAAE,CAAC;gBAClC,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,8CAA8C,CAAC,CAAC;gBAClE,IAAI,CAAC,yBAAyB,EAAE,CAAC;YACrC,CAAC;QACL,CAAC;IACL,CAAC;IAEO,KAAK,CAAC,+BAA+B;QACzC,MAAM,IAAI,GAAG,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,eAAe,CAAC,IAAI,EAAE,CAAC,CAAC;QACrD,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,mDAAmD,IAAI,CAAC,MAAM,UAAU,CAAC,CAAC;QAE5F,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;YACnC,MAAM,MAAM,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC;YAEvB,IAAI,CAAC;gBACD,MAAM,QAAQ,GAAG,IAAI,CAAC,eAAe,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;gBAClD,IAAI,CAAC,QAAQ,IAAI,QAAQ,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;oBACrC,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,iCAAiC,MAAM,uBAAuB,CAAC,CAAC;oBAClF,IAAI,CAAC,kBAAkB,CAAC,MAAM,CAAC,CAAC;oBAChC,SAAS;gBACb,CAAC;gBAGD,MAAM,iBAAiB,GAAG,QAAQ,CAAC,MAAM,CAAC,CAAC,EAAE,IAAI,CAAC,wBAAwB,CAAC,CAAC;gBAC5E,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,GAAG,MAAM,QAAQ,QAAQ,CAAC,MAAM,0CAA0C,iBAAiB,CAAC,MAAM,WAAW,CAAC,CAAC;gBAGjI,IAAI,QAAQ,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;oBACtB,IAAI,CAAC,eAAe,CAAC,GAAG,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAC;gBAC/C,CAAC;qBAAM,CAAC;oBACJ,IAAI,CAAC,kBAAkB,CAAC,MAAM,CAAC,CAAC;gBACpC,CAAC;gBAGD,MAAM,IAAA,eAAK,EAAC,IAAI,CAAC,CAAC;gBAClB,MAAM,MAAM,GAAG,MAAM,sCAAiB,CAAC,SAAS,CAAC,MAAM,EAAE,EAAE,cAAc,EAAE,KAAK,EAAE,OAAO,EAAE,KAAK,EAAE,CAAC,CAAC;gBAEpG,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,GAAG,MAAM,wBAAwB,iBAAiB,CAAC,MAAM,WAAW,CAAC,CAAC;gBAGxF,MAAM,IAAA,eAAK,EAAC,IAAI,CAAC,CAAC;gBAClB,MAAM,MAAM,CAAC,aAAa,CAAC,iBAAiB,CAAC,CAAC;gBAE9C,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,GAAG,MAAM,SAAS,iBAAiB,CAAC,MAAM,wBAAwB,CAAC,CAAC;YAE1F,CAAC;YAAC,OAAO,KAAU,EAAE,CAAC;gBAClB,MAAM,YAAY,GAAG,IAAA,uBAAU,EAAC,KAAK,EAAE,GAAG,MAAM,sBAAsB,EAAE,KAAK,CAAC,CAAC;gBAE/E,IAAI,IAAA,gBAAQ,EAAC,YAAY,CAAC,OAAO,EAAE;oBAC/B,iBAAiB;oBACjB,uBAAuB;oBACvB,kBAAkB;oBAClB,sBAAsB;oBACtB,uBAAuB;iBAC1B,CAAC,EAAE,CAAC;oBACD,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,uBAAuB,MAAM,mBAAmB,CAAC,CAAC;oBACpE,IAAI,CAAC;wBACD,MAAM,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;wBAC1B,MAAM,IAAA,eAAK,EAAC,IAAI,CAAC,CAAC;oBACtB,CAAC;oBAAC,OAAO,WAAW,EAAE,CAAC;wBACnB,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,yBAAyB,MAAM,GAAG,EAAE,WAAW,CAAC,CAAC;oBACvE,CAAC;oBACD,IAAI,CAAC,kBAAkB,CAAC,MAAM,CAAC,CAAC;gBACpC,CAAC;qBAAM,CAAC;oBACJ,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,uBAAuB,MAAM,KAAK,YAAY,CAAC,OAAO,EAAE,CAAC,CAAC;gBAC/E,CAAC;YAEL,CAAC;oBAAS,CAAC;gBACP,IAAI,CAAC;oBACD,MAAM,sCAAiB,CAAC,gBAAgB,CAAC,MAAM,CAAC,CAAC;gBACrD,CAAC;gBAAC,OAAO,eAAe,EAAE,CAAC;oBACvB,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,8BAA8B,MAAM,KAAK,eAAe,CAAC,OAAO,EAAE,CAAC,CAAC;gBAC1F,CAAC;gBAGD,IAAI,CAAC,GAAG,IAAI,CAAC,MAAM,GAAG,CAAC,IAAI,IAAI,CAAC,eAAe,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE,MAAM,GAAG,CAAC,EAAE,CAAC;oBACtE,MAAM,IAAA,eAAK,EAAC,IAAI,CAAC,sBAAsB,GAAG,CAAC,CAAC,CAAC;gBACjD,CAAC;YACL,CAAC;QACL,CAAC;IACL,CAAC;IAED,yBAAyB;QACrB,IAAI,IAAI,CAAC,sBAAsB,EAAE,CAAC;YAC9B,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,oCAAoC,IAAI,CAAC,sBAAsB,EAAE,CAAC,CAAC;YACrF,aAAa,CAAC,IAAI,CAAC,sBAAsB,CAAC,CAAC;YAC3C,IAAI,CAAC,cAAc,CAAC,MAAM,CAAC,IAAI,CAAC,sBAAsB,CAAC,CAAC;YACxD,IAAI,CAAC,sBAAsB,GAAG,IAAI,CAAC;QACvC,CAAC;QACD,IAAI,CAAC,wBAAwB,GAAG,KAAK,CAAC;QACtC,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,0DAA0D,CAAC,CAAC;IAClF,CAAC;IAED,KAAK,CAAC,iBAAiB,CACnB,MAAc,EACd,gBAAwB,CAAC,IAAI,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,GAAG,CAAC,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC,WAAW,EAAE,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;QAElG,MAAM,IAAI,GAAG,CAAC,MAAM,IAAI,CAAC,YAAY,CAAC,MAAM,CAAC,EAAE,MAAM,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QAC7D,IAAI,CAAC,IAAI,EAAE,CAAC;YACR,MAAM,IAAI,4BAAmB,CAAC,gBAAgB,CAAC,CAAC;QACpD,CAAC;QACD,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE,KAAK,CAAC,CAAA;QACjD,IAAI,OAAO,EAAE,CAAC;YACV,MAAM,IAAI,0BAAiB,CAAC,4BAA4B,CAAC,CAAC;QAC9D,CAAC;QACD,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,aAAa,CAAC,OAAO,EAAE,CAAC;QACnD,MAAM,aAAa,GAAG,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;QAG5D,MAAM,iBAAiB,GAAG,EAAE,CAAC;QAC7B,KAAK,MAAM,MAAM,IAAI,OAAO,EAAE,CAAC;YAC3B,MAAM,oBAAoB,GAAG,MAAM,IAAI,CAAC,aAAa,CAAC,iBAAiB,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;YACzF,iBAAiB,CAAC,IAAI,CAAC,GAAG,oBAAoB,CAAC,CAAC;QACpD,CAAC;QAED,IAAI,CAAC,iBAAiB,CAAC,QAAQ,CAAC,MAAM,CAAC,IAAI,CAAC,aAAa,CAAC,QAAQ,CAAC,MAAM,CAAC,EAAE,CAAC;YACzE,IAAI,CAAC;gBACD,MAAM,cAAc,GAAG,MAAM,sCAAiB,CAAC,SAAS,CAAC,MAAM,EAAE,EAAE,cAAc,EAAE,KAAK,EAAE,CAAC,CAAA;gBAC3F,MAAM,cAAc,CAAC,MAAM,EAAE,CAAC;gBAC9B,MAAM,IAAA,eAAK,EAAC,KAAK,CAAC,CAAA;gBAClB,MAAM,cAAc,CAAC,cAAc,CAAC,EAAE,CAAC,CAAC;gBACxC,MAAM,IAAA,eAAK,EAAC,IAAI,CAAC,CAAA;gBACjB,MAAM,cAAc,CAAC,8BAA8B,EAAE,CAAC;gBACtD,MAAM,IAAA,eAAK,EAAC,IAAI,CAAC,CAAA;gBACjB,MAAM,cAAc,CAAC,aAAa,CAAC,iBAAiB,EAAE,iBAAiB,CAAC,CAAC;gBACzE,MAAM,IAAA,eAAK,EAAC,IAAI,CAAC,CAAA;gBACjB,MAAM,cAAc,CAAC,mBAAmB,EAAE,CAAC;gBAC3C,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,eAAe,CAAC,cAAc,CAAC,MAAM,EAAE,IAAI,CAAC,CAAA;gBACxE,MAAM,YAAY,GAAG;oBACjB,IAAI,EAAE,IAAI,CAAC,IAAI;oBACf,OAAO,EAAE,IAAI,CAAC,OAAO;oBACrB,MAAM,EAAE,IAAI,CAAC,MAAM;oBACnB,aAAa;oBACb,QAAQ,EAAE,QAAQ,CAAC,GAAG,CAAC,MAAM;oBAC7B,MAAM,EAAE,QAAQ;iBACnB,CAAC;gBACF,MAAM,IAAI,CAAC,iBAAiB,CAAC,gBAAgB,CAAC,EAAE,IAAI,EAAE,IAAI,CAAC,IAAI,EAAE,EAAE,EAAE,IAAI,EAAE,YAAY,EAAE,EAAE,EAAE,GAAG,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC;YACnI,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBACb,MAAM,YAAY,GAAG,IAAA,uBAAU,EAAC,KAAK,CAAC,CAAA;gBACtC,MAAM,IAAI,sBAAa,CAAC,YAAY,CAAC,OAAO,EAAE,YAAY,CAAC,MAAM,CAAC,CAAA;YACtE,CAAC;YACD,MAAM,sCAAiB,CAAC,gBAAgB,CAAC,MAAM,CAAC,CAAA;YAChD,OAAO,mCAAmC,CAAC;QAC/C,CAAC;aAAM,CAAC;YACJ,MAAM,IAAI,4BAAmB,CAAC,2BAA2B,CAAC,CAAA;QAC9D,CAAC;IACL,CAAC;IAED,KAAK,CAAC,kBAAkB;QACpB,IAAI,IAAI,CAAC,eAAe,CAAC,oBAAoB,EAAE,EAAE,CAAC;YAC9C,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,oEAAoE,CAAC,CAAC;YACvF,OAAO;QACX,CAAC;QAED,MAAM,IAAA,eAAK,EAAC,IAAI,CAAC,CAAC;QAClB,MAAM,aAAa,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC;QACnD,MAAM,MAAM,GAAa,EAAE,CAAC;QAC5B,IAAI,OAAO,GAAa,EAAE,CAAC;QAE3B,IAAI,aAAa,CAAC,MAAM,GAAG,EAAE,EAAE,CAAC;YAC5B,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,EAAE,GAAG,aAAa,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;gBACjD,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,QAAQ,EAAE,CAAC,CAAC;YAC9B,CAAC;QACL,CAAC;QAED,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,aAAa,CAAC,OAAO,EAAE,CAAC;QACnD,MAAM,cAAc,GAAG,MAAM,IAAI,CAAC,oBAAoB,CAAC,OAAO,EAAE,CAAC;QAGjE,MAAM,iBAAiB,GAAG,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC;QACrD,MAAM,iBAAiB,GAAG,EAAE,CAAC;QAC7B,KAAK,MAAM,MAAM,IAAI,OAAO,EAAE,CAAC;YAC3B,MAAM,oBAAoB,GAAG,MAAM,IAAI,CAAC,aAAa,CAAC,iBAAiB,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;YACzF,iBAAiB,CAAC,IAAI,CAAC,GAAG,oBAAoB,CAAC,CAAC;QACpD,CAAC;QACD,MAAM,SAAS,GAAG,CAAC,GAAG,iBAAiB,EAAE,GAAG,iBAAiB,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;QAE/E,MAAM,gBAAgB,GAAG,cAAc,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC;QAE3D,MAAM,SAAS,GAAG,aAAa,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE,CACzC,CAAC,SAAS,CAAC,QAAQ,CAAC,GAAG,CAAC,MAAM,CAAC;YAC/B,CAAC,gBAAgB,CAAC,QAAQ,CAAC,GAAG,CAAC,MAAM,CAAC,CACzC,CAAC;QAGF,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,cAAc,SAAS,CAAC,MAAM,8BAA8B,CAAC,CAAC;QAChF,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,SAAS,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;YACxC,MAAM,GAAG,GAAG,SAAS,CAAC,CAAC,CAAC,CAAC;YACzB,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,4BAA4B,CAAC,GAAG,CAAC,IAAI,SAAS,CAAC,MAAM,KAAK,GAAG,CAAC,MAAM,EAAE,CAAC,CAAC;YAE1F,IAAI,CAAC;gBACD,MAAM,IAAI,CAAC,mBAAmB,CAAC,GAAG,EAAE,MAAM,EAAE,OAAO,CAAC,CAAC;YACzD,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBACb,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,kCAAkC,GAAG,CAAC,MAAM,GAAG,EAAE,KAAK,CAAC,CAAC;gBAC1E,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;YAC5B,CAAC;YAGD,IAAI,CAAC,GAAG,SAAS,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBAC3B,MAAM,IAAA,eAAK,EAAC,IAAI,CAAC,CAAC;YACtB,CAAC;QACL,CAAC;QAGD,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,aAAa,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;YAC5C,MAAM,GAAG,GAAG,aAAa,CAAC,CAAC,CAAC,CAAC;YAC7B,IAAI,SAAS,CAAC,QAAQ,CAAC,GAAG,CAAC,MAAM,CAAC,IAAI,gBAAgB,CAAC,QAAQ,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC;gBAC1E,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,UAAU,GAAG,CAAC,MAAM,sBAAsB,CAAC,CAAC;gBAC7D,OAAO,CAAC,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;gBACzB,IAAI,CAAC;oBACD,MAAM,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;oBAC9B,MAAM,IAAA,eAAK,EAAC,IAAI,CAAC,CAAC;gBACtB,CAAC;gBAAC,OAAO,WAAW,EAAE,CAAC;oBACnB,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,gCAAgC,GAAG,CAAC,MAAM,GAAG,EAAE,WAAW,CAAC,CAAC;gBAClF,CAAC;YACL,CAAC;QACL,CAAC;QAED,OAAO,GAAG,CAAC,GAAG,IAAI,GAAG,CAAC,CAAC,GAAG,OAAO,EAAE,GAAG,SAAS,EAAE,GAAG,gBAAgB,CAAC,CAAC,CAAC,CAAC;QACxE,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,YAAY,OAAO,CAAC,MAAM,aAAa,MAAM,CAAC,MAAM,EAAE,CAAC,CAAC;QAG1E,MAAM,IAAA,eAAK,EAAC,IAAI,CAAC,CAAC;QAClB,MAAM,IAAI,CAAC,0BAA0B,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAC3D,CAAC;IAEO,KAAK,CAAC,mBAAmB,CAAC,GAAQ,EAAE,MAAgB,EAAE,OAAiB;QAC3E,IAAI,CAAC;YACD,MAAM,GAAG,GAAG,MAAM,sCAAiB,CAAC,SAAS,CAAC,GAAG,CAAC,MAAM,EAAE,EAAE,cAAc,EAAE,IAAI,EAAE,OAAO,EAAE,KAAK,EAAE,CAAC,CAAC;YAEpG,IAAI,CAAC;gBACD,MAAM,EAAE,GAAG,MAAM,GAAG,CAAC,KAAK,EAAE,CAAC;gBAE7B,IAAI,EAAE,CAAC,QAAQ,EAAE,CAAC;oBACd,MAAM,IAAI,CAAC,eAAe,CAAC,cAAc,CAAC,GAAG,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC;oBAC1D,MAAM,IAAA,eAAK,EAAC,IAAI,CAAC,CAAC;gBACtB,CAAC;gBAED,IAAI,EAAE,CAAC,SAAS,KAAK,iBAAiB,EAAE,CAAC;oBACrC,MAAM,IAAI,CAAC,eAAe,CAAC,gBAAgB,CAAC,GAAG,CAAC,MAAM,EAAE,iBAAiB,EAAE,EAAE,CAAC,CAAC;oBAC/E,MAAM,IAAA,eAAK,EAAC,IAAI,CAAC,CAAC;gBACtB,CAAC;gBAED,MAAM,IAAI,CAAC,eAAe,CAAC,mBAAmB,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;gBAC3D,MAAM,WAAW,GAAG,MAAM,GAAG,CAAC,WAAW,EAAE,CAAC;gBAE5C,IAAI,CAAC,WAAW,EAAE,CAAC;oBACf,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,UAAU,GAAG,CAAC,MAAM,yBAAyB,CAAC,CAAC;oBAChE,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;gBAC5B,CAAC;qBAAM,CAAC;oBACJ,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,GAAG,GAAG,CAAC,MAAM,YAAY,CAAC,CAAC;oBAC7C,OAAO,CAAC,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;gBAC7B,CAAC;YACL,CAAC;YAAC,OAAO,UAAe,EAAE,CAAC;gBACvB,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,2BAA2B,GAAG,CAAC,MAAM,KAAK,UAAU,CAAC,OAAO,EAAE,CAAC,CAAC;gBAClF,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;gBACxB,IAAI,CAAC;oBACD,MAAM,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;oBAC9B,MAAM,IAAA,eAAK,EAAC,IAAI,CAAC,CAAC;gBACtB,CAAC;gBAAC,OAAO,WAAW,EAAE,CAAC;oBACnB,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,yBAAyB,GAAG,CAAC,MAAM,GAAG,EAAE,WAAW,CAAC,CAAC;gBAC3E,CAAC;YACL,CAAC;oBAAS,CAAC;gBACP,IAAI,CAAC;oBACD,MAAM,sCAAiB,CAAC,gBAAgB,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;gBACzD,CAAC;gBAAC,OAAO,eAAe,EAAE,CAAC;oBACvB,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,8BAA8B,GAAG,CAAC,MAAM,KAAK,eAAe,CAAC,OAAO,EAAE,CAAC,CAAC;gBAC9F,CAAC;YACL,CAAC;YAED,MAAM,IAAA,eAAK,EAAC,IAAI,CAAC,CAAC;QAEtB,CAAC;QAAC,OAAO,KAAU,EAAE,CAAC;YAClB,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,qBAAqB,GAAG,CAAC,MAAM,KAAK,KAAK,CAAC,OAAO,EAAE,CAAC,CAAC;YACvE,IAAA,uBAAU,EAAC,KAAK,CAAC,CAAC;YAClB,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;YAExB,IAAI,CAAC;gBACD,MAAM,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;gBAC9B,MAAM,IAAA,eAAK,EAAC,IAAI,CAAC,CAAC;YACtB,CAAC;YAAC,OAAO,WAAW,EAAE,CAAC;gBACnB,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,yBAAyB,GAAG,CAAC,MAAM,GAAG,EAAE,WAAW,CAAC,CAAC;YAC3E,CAAC;YAED,IAAI,CAAC;gBACD,MAAM,sCAAiB,CAAC,gBAAgB,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;YACzD,CAAC;YAAC,OAAO,eAAe,EAAE,CAAC;gBACvB,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,8BAA8B,GAAG,CAAC,MAAM,KAAK,eAAe,CAAC,OAAO,EAAE,CAAC,CAAC;YAC9F,CAAC;QACL,CAAC;IACL,CAAC;IAGD,KAAK,CAAC,0BAA0B,CAAC,MAAgB,EAAE,OAAiB;QAChE,MAAM,YAAY,GAAG,CAAC,IAAI,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,GAAG,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,IAAI,CAAC,CAAC,CAAC,WAAW,EAAE,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;QACvG,MAAM,SAAS,GAAG,MAAM,IAAI,CAAC,YAAY,CAAC,YAAY,CAClD;YACI,MAAM,EAAE,EAAE,IAAI,EAAE,OAAO,EAAE;YACzB,OAAO,EAAE,KAAK;YACd,KAAK,EAAE,KAAK;YACZ,UAAU,EAAE,EAAE,GAAG,EAAE,YAAY,EAAE;YACjC,UAAU,EAAE,EAAE,GAAG,EAAE,GAAG,EAAE;SAC3B,EACD,EAAE,IAAI,EAAE,CAAC,EAAE,EACX,MAAM,CAAC,MAAM,GAAG,CAAC,CACpB,CAAC;QAEF,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,qCAAqC,SAAS,CAAC,MAAM,EAAE,CAAC,CAAC;QAE3E,IAAI,cAAc,GAAG,CAAC,CAAC;QACvB,OAAO,MAAM,CAAC,MAAM,GAAG,CAAC,IAAI,SAAS,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YAC/C,MAAM,QAAQ,GAAG,SAAS,CAAC,KAAK,EAAE,CAAC;YACnC,cAAc,EAAE,CAAC;YAEjB,IAAI,CAAC,QAAQ,IAAI,CAAC,QAAQ,CAAC,MAAM,IAAI,CAAC,QAAQ,CAAC,IAAI,IAAI,CAAC,QAAQ,CAAC,OAAO,EAAE,CAAC;gBACvE,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,kCAAkC,CAAC,CAAC;gBACrD,SAAS;YACb,CAAC;YAED,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,gCAAgC,cAAc,KAAK,QAAQ,CAAC,MAAM,EAAE,CAAC,CAAC;YAExF,IAAI,CAAC;gBACD,MAAM,MAAM,GAAG,MAAM,sCAAiB,CAAC,SAAS,CAAC,QAAQ,CAAC,MAAM,EAAE,EAAE,cAAc,EAAE,KAAK,EAAE,CAAC,CAAC;gBAE7F,IAAI,CAAC;oBACD,MAAM,WAAW,GAAG,MAAM,MAAM,CAAC,WAAW,EAAE,CAAC;oBAC/C,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,mBAAmB,QAAQ,CAAC,MAAM,KAAK,WAAW,EAAE,CAAC,CAAC;oBAExE,IAAI,CAAC,WAAW,EAAE,CAAC;wBACf,MAAM,MAAM,CAAC,gBAAgB,EAAE,CAAC;wBAChC,MAAM,MAAM,CAAC,MAAM,EAAE,CAAC;wBACtB,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,yBAAyB,CAAC,CAAC;wBAC7C,MAAM,IAAA,eAAK,EAAC,KAAK,CAAC,CAAC;wBAEnB,MAAM,MAAM,CAAC,cAAc,CAAC,EAAE,CAAC,CAAC;wBAChC,MAAM,IAAA,eAAK,EAAC,IAAI,CAAC,CAAC;wBAElB,MAAM,MAAM,CAAC,8BAA8B,EAAE,CAAC;wBAC9C,MAAM,IAAA,eAAK,EAAC,IAAI,CAAC,CAAC;wBAElB,MAAM,MAAM,CAAC,aAAa,CAAC,iBAAiB,EAAE,iBAAiB,CAAC,CAAC;wBACjE,MAAM,IAAA,eAAK,EAAC,IAAI,CAAC,CAAC;wBAElB,MAAM,MAAM,CAAC,mBAAmB,EAAE,CAAC;wBACnC,MAAM,IAAA,eAAK,EAAC,IAAI,CAAC,CAAC;wBAElB,MAAM,IAAI,CAAC,eAAe,CAAC,gBAAgB,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC;wBAC7D,MAAM,QAAQ,GAAG,MAAM,MAAM,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC;wBAEhD,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,uCAAuC,QAAQ,CAAC,MAAM,EAAE,CAAC,CAAC;wBAC5E,MAAM,YAAY,GAA0B;4BACxC,IAAI,EAAE,QAAQ,CAAC,IAAI;4BACnB,OAAO,EAAE,QAAQ,CAAC,OAAO;4BACzB,MAAM,EAAE,QAAQ,CAAC,MAAM;4BACvB,aAAa,EAAE,CAAC,IAAI,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,GAAG,CAAC,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC,WAAW,EAAE,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;4BACzF,QAAQ,EAAE,QAAQ,CAAC,GAAG,CAAC,MAAM;4BAC7B,MAAM,EAAE,QAAQ;yBACnB,CAAC;wBAEF,MAAM,IAAA,eAAK,EAAC,IAAI,CAAC,CAAC;wBAClB,MAAM,IAAI,CAAC,MAAM,CAAC,YAAY,CAAC,CAAC;wBAEhC,MAAM,IAAA,eAAK,EAAC,IAAI,CAAC,CAAC;wBAClB,MAAM,IAAI,CAAC,YAAY,CAAC,MAAM,CAAC,QAAQ,CAAC,IAAI,EAAE,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC;wBAE/D,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,4BAA4B,QAAQ,CAAC,MAAM,EAAE,CAAC,CAAC;wBACjE,MAAM,CAAC,GAAG,EAAE,CAAC;oBACjB,CAAC;yBAAM,CAAC;wBACJ,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,uCAAuC,QAAQ,CAAC,MAAM,uBAAuB,CAAC,CAAC;wBACjG,MAAM,IAAA,eAAK,EAAC,IAAI,CAAC,CAAC;wBAClB,MAAM,IAAI,CAAC,YAAY,CAAC,MAAM,CAAC,QAAQ,CAAC,IAAI,EAAE,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC;oBACnE,CAAC;gBACL,CAAC;gBAAC,OAAO,KAAU,EAAE,CAAC;oBAClB,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,2BAA2B,QAAQ,CAAC,MAAM,KAAK,KAAK,CAAC,OAAO,EAAE,CAAC,CAAC;oBAClF,IAAA,uBAAU,EAAC,KAAK,CAAC,CAAC;gBACtB,CAAC;wBAAS,CAAC;oBACP,IAAI,CAAC;wBACD,MAAM,sCAAiB,CAAC,gBAAgB,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC;wBAC1D,MAAM,IAAA,eAAK,EAAC,IAAI,CAAC,CAAC;oBACtB,CAAC;oBAAC,OAAO,eAAoB,EAAE,CAAC;wBAC5B,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,8BAA8B,QAAQ,CAAC,MAAM,KAAK,eAAe,CAAC,OAAO,EAAE,CAAC,CAAC;oBACnG,CAAC;gBACL,CAAC;YACL,CAAC;YAAC,OAAO,KAAU,EAAE,CAAC;gBAClB,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,wCAAwC,QAAQ,CAAC,MAAM,KAAK,KAAK,CAAC,OAAO,EAAE,CAAC,CAAC;gBAC/F,IAAA,uBAAU,EAAC,KAAK,CAAC,CAAC;YACtB,CAAC;YAGD,IAAI,MAAM,CAAC,MAAM,GAAG,CAAC,IAAI,SAAS,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBAC5C,MAAM,IAAA,eAAK,EAAC,IAAI,CAAC,CAAC;YACtB,CAAC;QACL,CAAC;QAGD,IAAI,CAAC,aAAa,CAAC,GAAG,EAAE;YACpB,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,2DAA2D,CAAC,CAAC;YAC7E,IAAI,CAAC,2BAA2B,EAAE,CAAC;QACvC,CAAC,EAAE,CAAC,GAAG,EAAE,GAAG,IAAI,CAAC,CAAC;IACtB,CAAC;CACJ,CAAA;AA9kCY,kDAAmB;8BAAnB,mBAAmB;IAD/B,IAAA,mBAAU,GAAE;IAyBI,WAAA,IAAA,sBAAW,EAAC,oBAAoB,CAAC,CAAA;IACzC,WAAA,IAAA,eAAM,EAAC,IAAA,mBAAU,EAAC,GAAG,EAAE,CAAC,kCAAe,CAAC,CAAC,CAAA;IAEzC,WAAA,IAAA,eAAM,EAAC,IAAA,mBAAU,EAAC,GAAG,EAAE,CAAC,4BAAY,CAAC,CAAC,CAAA;IAEtC,WAAA,IAAA,eAAM,EAAC,IAAA,mBAAU,EAAC,GAAG,EAAE,CAAC,+CAAqB,CAAC,CAAC,CAAA;IAE/C,WAAA,IAAA,eAAM,EAAC,IAAA,mBAAU,EAAC,GAAG,EAAE,CAAC,8BAAa,CAAC,CAAC,CAAA;IAEvC,WAAA,IAAA,eAAM,EAAC,IAAA,mBAAU,EAAC,GAAG,EAAE,CAAC,kCAAe,CAAC,CAAC,CAAA;IAEzC,WAAA,IAAA,eAAM,EAAC,IAAA,mBAAU,EAAC,GAAG,EAAE,CAAC,6CAAoB,CAAC,CAAC,CAAA;IAE9C,WAAA,IAAA,eAAM,EAAC,IAAA,mBAAU,EAAC,GAAG,EAAE,CAAC,gCAAc,CAAC,CAAC,CAAA;qCAb6B,gBAAK;QAElD,kCAAe;QAElB,4BAAY;QAEH,+CAAqB;QAE7B,8BAAa;QAEX,kCAAe;QAEV,6CAAoB;QAE1B,gCAAc;GAtCjC,mBAAmB,CA8kC/B"}
@@ -54,21 +54,22 @@ export declare class PromoteClientService implements OnModuleDestroy {
54
54
  executeQuery(query: any, sort?: any, limit?: number, skip?: number): Promise<PromoteClient[]>;
55
55
  removeFromPromoteMap(key: string): void;
56
56
  clearPromoteMap(): void;
57
- private createManagedTimeout;
58
- private clearAllTimeouts;
59
57
  updateInfo(): Promise<void>;
60
58
  joinchannelForPromoteClients(skipExisting?: boolean): Promise<string>;
61
59
  joinChannelQueue(): Promise<void>;
60
+ private processJoinChannelInterval;
62
61
  private processJoinChannelSequentially;
63
62
  clearJoinChannelInterval(): void;
64
63
  removeFromLeaveMap(key: string): void;
65
64
  clearLeaveMap(): void;
66
65
  leaveChannelQueue(): Promise<void>;
66
+ private processLeaveChannelInterval;
67
67
  private processLeaveChannelSequentially;
68
68
  clearLeaveChannelInterval(): void;
69
69
  setAsPromoteClient(mobile: string, availableDate?: string): Promise<string>;
70
70
  checkPromoteClients(): Promise<void>;
71
71
  addNewUserstoPromoteClients(badIds: string[], goodIds: string[], clientsNeedingPromoteClients?: string[], promoteClientsPerClient?: Map<string, number>): Promise<void>;
72
+ private clearAllTimeouts;
72
73
  private cleanup;
73
74
  onModuleDestroy(): Promise<void>;
74
75
  getPromoteClientDistribution(): Promise<{
@@ -93,11 +93,13 @@ let PromoteClientService = PromoteClientService_1 = class PromoteClientService {
93
93
  try {
94
94
  for (const [mobile, channels] of this.joinChannelMap.entries()) {
95
95
  if (!channels || channels.length === 0) {
96
+ console.log(`Cleaning up joinChannelMap entry for mobile: ${mobile} as channels : ${channels}`);
96
97
  this.joinChannelMap.delete(mobile);
97
98
  }
98
99
  }
99
100
  for (const [mobile, channels] of this.leaveChannelMap.entries()) {
100
101
  if (!channels || channels.length === 0) {
102
+ console.log(`Cleaning up leaveChannelMap entry for mobile: ${mobile} as channels : ${channels}`);
101
103
  this.leaveChannelMap.delete(mobile);
102
104
  }
103
105
  }
@@ -111,7 +113,7 @@ let PromoteClientService = PromoteClientService_1 = class PromoteClientService {
111
113
  keysToRemove.forEach(key => this.leaveChannelMap.delete(key));
112
114
  this.logger.warn(`Cleaned up ${keysToRemove.length} entries from leaveChannelMap to prevent memory leak`);
113
115
  }
114
- this.logger.debug(`Memory cleanup completed. Maps sizes - Join: ${this.joinChannelMap.size}, Leave: ${this.leaveChannelMap.size}, Active timeouts: ${this.activeTimeouts.size}`);
116
+ this.logger.debug(`Map Memory Check completed. Maps sizes - Join: ${this.joinChannelMap.size}, Leave: ${this.leaveChannelMap.size}, Active timeouts: ${this.activeTimeouts.size}`);
115
117
  }
116
118
  catch (error) {
117
119
  this.logger.error('Error during memory cleanup:', error);
@@ -237,25 +239,6 @@ let PromoteClientService = PromoteClientService_1 = class PromoteClientService {
237
239
  this.joinChannelMap.clear();
238
240
  this.clearJoinChannelInterval();
239
241
  }
240
- createManagedTimeout(callback, delay) {
241
- const timeout = setTimeout(() => {
242
- this.activeTimeouts.delete(timeout);
243
- callback();
244
- }, delay);
245
- this.activeTimeouts.add(timeout);
246
- return timeout;
247
- }
248
- clearAllTimeouts() {
249
- this.activeTimeouts.forEach(timeout => {
250
- try {
251
- clearTimeout(timeout);
252
- }
253
- catch (error) {
254
- this.logger.warn('Error clearing timeout:', error);
255
- }
256
- });
257
- this.activeTimeouts.clear();
258
- }
259
242
  async updateInfo() {
260
243
  const clients = await this.promoteClientModel.find({
261
244
  status: 'active'
@@ -380,14 +363,12 @@ let PromoteClientService = PromoteClientService_1 = class PromoteClientService {
380
363
  }
381
364
  await (0, Helpers_1.sleep)(3000);
382
365
  if (joinSet.size > 0) {
383
- this.logger.debug(`Starting join queue for ${joinSet.size} clients`);
384
- await (0, Helpers_1.sleep)(2000);
385
- this.joinChannelQueue();
366
+ this.logger.debug(`Starting join queue for ${joinSet.size} buffer clients`);
367
+ this.createTimeout(() => this.joinChannelQueue(), 2000);
386
368
  }
387
369
  if (leaveSet.size > 0) {
388
- this.logger.debug(`Starting leave queue for ${leaveSet.size} clients`);
389
- await (0, Helpers_1.sleep)(5000);
390
- this.leaveChannelQueue();
370
+ this.logger.debug(`Starting leave queue for ${leaveSet.size} buffer clients`);
371
+ this.createTimeout(() => this.leaveChannelQueue(), 5000);
391
372
  }
392
373
  this.logger.log(`Join channel process completed for ${clients.length} clients (Success: ${successCount}, Failed: ${failCount})`);
393
374
  return `Initiated Joining channels for ${joinSet.size} | Queued for leave: ${leaveSet.size}`;
@@ -411,6 +392,29 @@ let PromoteClientService = PromoteClientService_1 = class PromoteClientService {
411
392
  return;
412
393
  }
413
394
  this.checkMemoryHealth();
395
+ if (!this.joinChannelIntervalId) {
396
+ this.logger.debug('Starting join channel interval');
397
+ this.joinChannelIntervalId = setInterval(async () => {
398
+ await this.processJoinChannelInterval();
399
+ }, this.JOIN_CHANNEL_INTERVAL);
400
+ this.activeTimeouts.add(this.joinChannelIntervalId);
401
+ await this.processJoinChannelInterval();
402
+ }
403
+ else {
404
+ this.logger.warn('Join channel interval is already running');
405
+ }
406
+ }
407
+ async processJoinChannelInterval() {
408
+ if (this.isJoinChannelProcessing) {
409
+ this.logger.debug('Join channel process already running, skipping interval');
410
+ return;
411
+ }
412
+ const existingKeys = Array.from(this.joinChannelMap.keys());
413
+ if (existingKeys.length === 0) {
414
+ this.logger.debug('No channels to join, clearing interval');
415
+ this.clearJoinChannelInterval();
416
+ return;
417
+ }
414
418
  this.isJoinChannelProcessing = true;
415
419
  try {
416
420
  await this.processJoinChannelSequentially();
@@ -420,11 +424,9 @@ let PromoteClientService = PromoteClientService_1 = class PromoteClientService {
420
424
  }
421
425
  finally {
422
426
  this.isJoinChannelProcessing = false;
423
- if (this.joinChannelMap.size > 0) {
424
- this.logger.debug('Scheduling next join channel process');
425
- this.createTimeout(() => {
426
- this.joinChannelQueue();
427
- }, this.JOIN_CHANNEL_INTERVAL);
427
+ if (this.joinChannelMap.size === 0) {
428
+ this.logger.debug('No more channels to join, clearing interval');
429
+ this.clearJoinChannelInterval();
428
430
  }
429
431
  }
430
432
  }
@@ -530,6 +532,29 @@ let PromoteClientService = PromoteClientService_1 = class PromoteClientService {
530
532
  return;
531
533
  }
532
534
  this.checkMemoryHealth();
535
+ if (!this.leaveChannelIntervalId) {
536
+ this.logger.debug('Starting leave channel interval');
537
+ this.leaveChannelIntervalId = setInterval(async () => {
538
+ await this.processLeaveChannelInterval();
539
+ }, this.LEAVE_CHANNEL_INTERVAL);
540
+ this.activeTimeouts.add(this.leaveChannelIntervalId);
541
+ await this.processLeaveChannelInterval();
542
+ }
543
+ else {
544
+ this.logger.warn('Leave channel interval is already running');
545
+ }
546
+ }
547
+ async processLeaveChannelInterval() {
548
+ if (this.isLeaveChannelProcessing) {
549
+ this.logger.debug('Leave channel process already running, skipping interval');
550
+ return;
551
+ }
552
+ const existingKeys = Array.from(this.leaveChannelMap.keys());
553
+ if (existingKeys.length === 0) {
554
+ this.logger.debug('No channels to leave, clearing interval');
555
+ this.clearLeaveChannelInterval();
556
+ return;
557
+ }
533
558
  this.isLeaveChannelProcessing = true;
534
559
  try {
535
560
  await this.processLeaveChannelSequentially();
@@ -539,11 +564,9 @@ let PromoteClientService = PromoteClientService_1 = class PromoteClientService {
539
564
  }
540
565
  finally {
541
566
  this.isLeaveChannelProcessing = false;
542
- if (this.leaveChannelMap.size > 0) {
543
- this.logger.debug('Scheduling next leave channel process');
544
- this.createTimeout(() => {
545
- this.leaveChannelQueue();
546
- }, this.LEAVE_CHANNEL_INTERVAL);
567
+ if (this.leaveChannelMap.size === 0) {
568
+ this.logger.debug('No more channels to leave, clearing interval');
569
+ this.clearLeaveChannelInterval();
547
570
  }
548
571
  }
549
572
  }
@@ -889,9 +912,13 @@ let PromoteClientService = PromoteClientService_1 = class PromoteClientService {
889
912
  else {
890
913
  this.logger.log(`🎉 All clients now have sufficient promote clients!`);
891
914
  }
892
- this.createManagedTimeout(() => {
893
- this.joinchannelForPromoteClients();
894
- }, 2 * 60 * 1000);
915
+ }
916
+ clearAllTimeouts() {
917
+ this.activeTimeouts.forEach(timeout => {
918
+ clearTimeout(timeout);
919
+ });
920
+ this.activeTimeouts.clear();
921
+ this.logger.debug('Cleared all active timeouts');
895
922
  }
896
923
  async cleanup() {
897
924
  try {