bullmq 5.40.0 → 5.40.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/README.md CHANGED
@@ -44,7 +44,7 @@ Do you need to work with BullMQ on platforms other than Node.js? If so, check ou
44
44
 
45
45
  # Official FrontEnd
46
46
 
47
- [<img src="http://taskforce.sh/assets/logo_square.png" width="150" alt="Taskforce.sh, Inc" style="padding: 200px"/>](https://taskforce.sh)
47
+ [<img src="https://taskforce.sh/assets/logo_square.png" width="150" alt="Taskforce.sh, Inc" style="padding: 200px"/>](https://taskforce.sh)
48
48
 
49
49
  Supercharge your queues with a professional front end:
50
50
 
@@ -238,7 +238,7 @@ Since there are a few job queue solutions, here is a table comparing them:
238
238
 
239
239
  ## Contributing
240
240
 
241
- Fork the repo, make some changes, submit a pull-request! Here is the [contributing](contributing.md) doc that has more details.
241
+ Fork the repo, make some changes, submit a pull-request! Here is the [contributing](https://github.com/taskforcesh/bullmq/blob/master/contributing.md) doc that has more details.
242
242
 
243
243
  # Thanks
244
244
 
@@ -42,6 +42,7 @@ class Worker extends queue_base_1.QueueBase {
42
42
  this.limitUntil = 0;
43
43
  this.waiting = null;
44
44
  this.running = false;
45
+ this.mainLoopRunning = null;
45
46
  if (!opts || !opts.connection) {
46
47
  throw new Error('Worker requires a connection');
47
48
  }
@@ -187,70 +188,74 @@ class Worker extends queue_base_1.QueueBase {
187
188
  }
188
189
  try {
189
190
  this.running = true;
190
- if (this.closing) {
191
+ if (this.closing || this.paused) {
191
192
  return;
192
193
  }
193
194
  await this.startStalledCheckTimer();
194
- const jobsInProgress = new Set();
195
- this.startLockExtenderTimer(jobsInProgress);
196
- const asyncFifoQueue = (this.asyncFifoQueue =
197
- new async_fifo_queue_1.AsyncFifoQueue());
198
- let tokenPostfix = 0;
199
195
  const client = await this.client;
200
196
  const bclient = await this.blockingConnection.client;
197
+ this.mainLoopRunning = this.mainLoop(client, bclient);
198
+ // We must await here or finally will be called too early.
199
+ await this.mainLoopRunning;
200
+ }
201
+ finally {
202
+ this.running = false;
203
+ }
204
+ }
205
+ /**
206
+ * This is the main loop in BullMQ. Its goals are to fetch jobs from the queue
207
+ * as efficiently as possible, providing concurrency and minimal unnecessary calls
208
+ * to Redis.
209
+ */
210
+ async mainLoop(client, bclient) {
211
+ const asyncFifoQueue = (this.asyncFifoQueue = new async_fifo_queue_1.AsyncFifoQueue());
212
+ const jobsInProgress = new Set();
213
+ this.startLockExtenderTimer(jobsInProgress);
214
+ let tokenPostfix = 0;
215
+ while (!this.closing && !this.paused) {
216
+ let numTotal = asyncFifoQueue.numTotal();
201
217
  /**
202
- * This is the main loop in BullMQ. Its goals are to fetch jobs from the queue
203
- * as efficiently as possible, providing concurrency and minimal unnecessary calls
204
- * to Redis.
218
+ * This inner loop tries to fetch jobs concurrently, but if we are waiting for a job
219
+ * to arrive at the queue we should not try to fetch more jobs (as it would be pointless)
205
220
  */
206
- while (!this.closing) {
207
- let numTotal = asyncFifoQueue.numTotal();
208
- /**
209
- * This inner loop tries to fetch jobs concurrently, but if we are waiting for a job
210
- * to arrive at the queue we should not try to fetch more jobs (as it would be pointless)
211
- */
212
- while (!this.waiting &&
213
- numTotal < this._concurrency &&
214
- (!this.limitUntil || numTotal == 0)) {
215
- const token = `${this.id}:${tokenPostfix++}`;
216
- const fetchedJob = this.retryIfFailed(() => this._getNextJob(client, bclient, token, { block: true }), this.opts.runRetryDelay);
217
- asyncFifoQueue.add(fetchedJob);
218
- numTotal = asyncFifoQueue.numTotal();
219
- if (this.waiting && numTotal > 1) {
220
- // We are waiting for jobs but we have others that we could start processing already
221
- break;
222
- }
223
- // We await here so that we fetch jobs in sequence, this is important to avoid unnecessary calls
224
- // to Redis in high concurrency scenarios.
225
- const job = await fetchedJob;
226
- // No more jobs waiting but we have others that could start processing already
227
- if (!job && numTotal > 1) {
228
- break;
229
- }
230
- // If there are potential jobs to be processed and blockUntil is set, we should exit to avoid waiting
231
- // for processing this job.
232
- if (this.blockUntil) {
233
- break;
234
- }
221
+ while (!this.closing &&
222
+ !this.paused &&
223
+ !this.waiting &&
224
+ numTotal < this._concurrency &&
225
+ (!this.limitUntil || numTotal == 0)) {
226
+ const token = `${this.id}:${tokenPostfix++}`;
227
+ const fetchedJob = this.retryIfFailed(() => this._getNextJob(client, bclient, token, { block: true }), this.opts.runRetryDelay);
228
+ asyncFifoQueue.add(fetchedJob);
229
+ numTotal = asyncFifoQueue.numTotal();
230
+ if (this.waiting && numTotal > 1) {
231
+ // We are waiting for jobs but we have others that we could start processing already
232
+ break;
233
+ }
234
+ // We await here so that we fetch jobs in sequence, this is important to avoid unnecessary calls
235
+ // to Redis in high concurrency scenarios.
236
+ const job = await fetchedJob;
237
+ // No more jobs waiting but we have others that could start processing already
238
+ if (!job && numTotal > 1) {
239
+ break;
235
240
  }
236
- // Since there can be undefined jobs in the queue (when a job fails or queue is empty)
237
- // we iterate until we find a job.
238
- let job;
239
- do {
240
- job = await asyncFifoQueue.fetch();
241
- } while (!job && asyncFifoQueue.numQueued() > 0);
242
- if (job) {
243
- const token = job.token;
244
- asyncFifoQueue.add(this.retryIfFailed(() => this.processJob(job, token, () => asyncFifoQueue.numTotal() <= this._concurrency, jobsInProgress), this.opts.runRetryDelay));
241
+ // If there are potential jobs to be processed and blockUntil is set, we should exit to avoid waiting
242
+ // for processing this job.
243
+ if (this.blockUntil) {
244
+ break;
245
245
  }
246
246
  }
247
- this.running = false;
248
- return await asyncFifoQueue.waitAll();
249
- }
250
- catch (error) {
251
- this.running = false;
252
- throw error;
247
+ // Since there can be undefined jobs in the queue (when a job fails or queue is empty)
248
+ // we iterate until we find a job.
249
+ let job;
250
+ do {
251
+ job = await asyncFifoQueue.fetch();
252
+ } while (!job && asyncFifoQueue.numQueued() > 0);
253
+ if (job) {
254
+ const token = job.token;
255
+ asyncFifoQueue.add(this.retryIfFailed(() => this.processJob(job, token, () => asyncFifoQueue.numTotal() <= this._concurrency, jobsInProgress), this.opts.runRetryDelay));
256
+ }
253
257
  }
258
+ return asyncFifoQueue.waitAll();
254
259
  }
255
260
  /**
256
261
  * Returns a promise that resolves to the next job in queue.
@@ -274,12 +279,7 @@ class Worker extends queue_base_1.QueueBase {
274
279
  async _getNextJob(client, bclient, token, { block = true } = {}) {
275
280
  var _a;
276
281
  if (this.paused) {
277
- if (block) {
278
- await this.paused;
279
- }
280
- else {
281
- return;
282
- }
282
+ return;
283
283
  }
284
284
  if (this.closing) {
285
285
  return;
@@ -454,9 +454,6 @@ class Worker extends queue_base_1.QueueBase {
454
454
  }
455
455
  async processJob(job, token, fetchNextCallback = () => true, jobsInProgress) {
456
456
  var _a, _b;
457
- if (!job || this.closing || this.paused) {
458
- return;
459
- }
460
457
  const srcPropagationMedatada = (_b = (_a = job.opts) === null || _a === void 0 ? void 0 : _a.telemetry) === null || _b === void 0 ? void 0 : _b.metadata;
461
458
  return this.trace(enums_1.SpanKind.CONSUMER, 'process', this.name, async (span) => {
462
459
  span === null || span === void 0 ? void 0 : span.setAttributes({
@@ -538,20 +535,16 @@ class Worker extends queue_base_1.QueueBase {
538
535
  */
539
536
  async pause(doNotWaitActive) {
540
537
  await this.trace(enums_1.SpanKind.INTERNAL, 'pause', this.name, async (span) => {
538
+ var _a;
541
539
  span === null || span === void 0 ? void 0 : span.setAttributes({
542
540
  [enums_1.TelemetryAttributes.WorkerId]: this.id,
543
541
  [enums_1.TelemetryAttributes.WorkerName]: this.opts.name,
544
542
  [enums_1.TelemetryAttributes.WorkerDoNotWaitActive]: doNotWaitActive,
545
543
  });
546
544
  if (!this.paused) {
547
- this.paused = new Promise(resolve => {
548
- this.resumeWorker = function () {
549
- resolve();
550
- this.paused = null; // Allow pause to be checked externally for paused state.
551
- this.resumeWorker = null;
552
- };
553
- });
545
+ this.paused = true;
554
546
  await (!doNotWaitActive && this.whenCurrentJobsFinished());
547
+ (_a = this.stalledCheckStopper) === null || _a === void 0 ? void 0 : _a.call(this);
555
548
  this.emit('paused');
556
549
  }
557
550
  });
@@ -561,13 +554,14 @@ class Worker extends queue_base_1.QueueBase {
561
554
  * Resumes processing of this worker (if paused).
562
555
  */
563
556
  resume() {
564
- if (this.resumeWorker) {
557
+ if (!this.running) {
565
558
  this.trace(enums_1.SpanKind.INTERNAL, 'resume', this.name, span => {
566
559
  span === null || span === void 0 ? void 0 : span.setAttributes({
567
560
  [enums_1.TelemetryAttributes.WorkerId]: this.id,
568
561
  [enums_1.TelemetryAttributes.WorkerName]: this.opts.name,
569
562
  });
570
- this.resumeWorker();
563
+ this.paused = false;
564
+ this.run();
571
565
  this.emit('resumed');
572
566
  });
573
567
  }
@@ -671,7 +665,7 @@ class Worker extends queue_base_1.QueueBase {
671
665
  }
672
666
  }
673
667
  async stalledChecker() {
674
- while (!this.closing) {
668
+ while (!(this.closing || this.paused)) {
675
669
  try {
676
670
  await this.checkConnectionError(() => this.moveStalledJobsToWait());
677
671
  }
@@ -735,8 +729,8 @@ class Worker extends queue_base_1.QueueBase {
735
729
  else {
736
730
  reconnect = false;
737
731
  }
738
- if (this.asyncFifoQueue) {
739
- await this.asyncFifoQueue.waitAll();
732
+ if (this.mainLoopRunning) {
733
+ await this.mainLoopRunning;
740
734
  }
741
735
  reconnect && (await this.blockingConnection.reconnect());
742
736
  }
@@ -1 +1 @@
1
- {"version":3,"file":"worker.js","sourceRoot":"","sources":["../../../src/classes/worker.ts"],"names":[],"mappings":";;;AAAA,yBAAyB;AACzB,6BAA0B;AAE1B,6BAA6B;AAC7B,+BAA0B;AAE1B,gEAAgE;AAChE,iEAAwD;AAYxD,oCAKkB;AAClB,6CAAyC;AACzC,qCAAkC;AAClC,6CAAyC;AACzC,+BAA4B;AAC5B,yDAAqD;AACrD,uCAAgC;AAChC,yDAAoD;AACpD,qCAKkB;AAClB,oCAAyD;AACzD,mDAA+C;AAE/C,uDAAuD;AACvD,MAAM,mBAAmB,GAAG,EAAE,CAAC;AAE/B,yCAAyC;AACzC,MAAM,iBAAiB,GAAG,KAAK,CAAC;AAkHhC;;;;;;GAMG;AACH,MAAa,MAIX,SAAQ,sBAAS;IA6BjB,MAAM,CAAC,cAAc;QACnB,OAAO,IAAI,uBAAc,EAAE,CAAC;IAC9B,CAAC;IAED,YACE,IAAY,EACZ,SAA2E,EAC3E,IAAoB,EACpB,UAAmC;QAEnC,KAAK,CACH,IAAI,kCAEC,IAAI,KACP,kBAAkB,EAAE,IAAI,KAE1B,UAAU,CACX,CAAC;QA1CI,yBAAoB,GAA2B,IAAI,CAAC;QAOpD,eAAU,GAAG,CAAC,CAAC;QAGf,YAAO,GAAY,KAAK,CAAC;QACzB,qBAAgB,GAA0B,IAAI,CAAC;QAC/C,eAAU,GAAG,CAAC,CAAC;QAIf,YAAO,GAA2B,IAAI,CAAC;QAOrC,YAAO,GAAG,KAAK,CAAC;QAqBxB,IAAI,CAAC,IAAI,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE;YAC7B,MAAM,IAAI,KAAK,CAAC,8BAA8B,CAAC,CAAC;SACjD;QAED,IAAI,CAAC,IAAI,mBACP,UAAU,EAAE,CAAC,EACb,WAAW,EAAE,CAAC,EACd,YAAY,EAAE,KAAK,EACnB,eAAe,EAAE,CAAC,EAClB,eAAe,EAAE,KAAK,EACtB,OAAO,EAAE,IAAI,EACb,aAAa,EAAE,KAAK,IACjB,IAAI,CAAC,IAAI,CACb,CAAC;QAEF,IAAI,IAAI,CAAC,IAAI,CAAC,eAAe,IAAI,CAAC,EAAE;YAClC,MAAM,IAAI,KAAK,CAAC,wCAAwC,CAAC,CAAC;SAC3D;QAED,IAAI,IAAI,CAAC,IAAI,CAAC,UAAU,IAAI,CAAC,EAAE;YAC7B,MAAM,IAAI,KAAK,CAAC,mCAAmC,CAAC,CAAC;SACtD;QAED,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC,IAAI,CAAC,WAAW,CAAC;QAEzC,IAAI,CAAC,IAAI,CAAC,aAAa;YACrB,IAAI,CAAC,IAAI,CAAC,aAAa,IAAI,IAAI,CAAC,IAAI,CAAC,YAAY,GAAG,CAAC,CAAC;QAExD,IAAI,CAAC,EAAE,GAAG,IAAA,SAAE,GAAE,CAAC;QAEf,IAAI,SAAS,EAAE;YACb,IAAI,OAAO,SAAS,KAAK,UAAU,EAAE;gBACnC,IAAI,CAAC,SAAS,GAAG,SAAS,CAAC;aAC5B;iBAAM;gBACL,YAAY;gBACZ,IAAI,SAAS,YAAY,SAAG,EAAE;oBAC5B,IAAI,CAAC,EAAE,CAAC,UAAU,CAAC,SAAS,CAAC,EAAE;wBAC7B,MAAM,IAAI,KAAK,CACb,OAAO,SAAS,0CAA0C,CAC3D,CAAC;qBACH;oBACD,SAAS,GAAG,SAAS,CAAC,IAAI,CAAC;iBAC5B;qBAAM;oBACL,MAAM,kBAAkB,GAAG,CAAC,KAAK,EAAE,KAAK,EAAE,OAAO,EAAE,MAAM,CAAC,CAAC;oBAC3D,MAAM,aAAa,GACjB,SAAS;wBACT,CAAC,kBAAkB,CAAC,QAAQ,CAAC,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC;oBAEtE,IAAI,CAAC,EAAE,CAAC,UAAU,CAAC,aAAa,CAAC,EAAE;wBACjC,MAAM,IAAI,KAAK,CAAC,QAAQ,aAAa,iBAAiB,CAAC,CAAC;qBACzD;iBACF;gBAED,wEAAwE;gBACxE,MAAM,OAAO,GAAG,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,QAAQ,IAAI,UAAU,CAAC,CAAC;gBAC5D,MAAM,qBAAqB,GAAG,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,gBAAgB,CAAC,CAAC;gBACnE,MAAM,oBAAoB,GAAG,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,SAAS,CAAC,CAAC;gBAE3D,IAAI,YAAY,GAAG,IAAI,CAAC,IAAI,CAAC,gBAAgB;oBAC3C,CAAC,CAAC,qBAAqB;oBACvB,CAAC,CAAC,oBAAoB,CAAC;gBAEzB,IAAI;oBACF,EAAE,CAAC,QAAQ,CAAC,YAAY,CAAC,CAAC,CAAC,iCAAiC;iBAC7D;gBAAC,OAAO,CAAC,EAAE;oBACV,MAAM,QAAQ,GAAG,IAAI,CAAC,IAAI,CAAC,gBAAgB;wBACzC,CAAC,CAAC,gBAAgB;wBAClB,CAAC,CAAC,SAAS,CAAC;oBACd,YAAY,GAAG,IAAI,CAAC,IAAI,CACtB,OAAO,CAAC,GAAG,EAAE,EACb,oBAAoB,QAAQ,EAAE,CAC/B,CAAC;oBACF,EAAE,CAAC,QAAQ,CAAC,YAAY,CAAC,CAAC;iBAC3B;gBAED,IAAI,CAAC,SAAS,GAAG,IAAI,sBAAS,CAAC;oBAC7B,QAAQ,EAAE,YAAY;oBACtB,gBAAgB,EAAE,IAAI,CAAC,IAAI,CAAC,gBAAgB;oBAC5C,iBAAiB,EAAE,IAAI,CAAC,IAAI,CAAC,iBAAiB;oBAC9C,oBAAoB,EAAE,IAAI,CAAC,IAAI,CAAC,oBAAoB;iBACrD,CAAC,CAAC;gBAEH,IAAI,CAAC,SAAS,GAAG,IAAA,iBAAO,EACtB,SAAS,EACT,IAAI,CAAC,SAAS,CACf,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;aACd;YAED,IAAI,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE;gBACrB,IAAI,CAAC,GAAG,EAAE,CAAC,KAAK,CAAC,KAAK,CAAC,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC,CAAC;aACtD;SACF;QAED,MAAM,cAAc,GAClB,IAAI,CAAC,UAAU,EAAE,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,MAAM,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;QACrE,IAAI,CAAC,kBAAkB,GAAG,IAAI,kCAAe,CAC3C,IAAA,uBAAe,EAAC,IAAI,CAAC,UAAU,CAAC;YAC9B,CAAC,CAAS,IAAI,CAAC,UAAW,CAAC,SAAS,CAAC,EAAE,cAAc,EAAE,CAAC;YACxD,CAAC,iCAAM,IAAI,CAAC,UAAU,KAAE,cAAc,GAAE,EAC1C;YACE,MAAM,EAAE,KAAK;YACb,QAAQ,EAAE,IAAI;YACd,gBAAgB,EAAE,IAAI,CAAC,gBAAgB;SACxC,CACF,CAAC;QACF,IAAI,CAAC,kBAAkB,CAAC,EAAE,CAAC,OAAO,EAAE,KAAK,CAAC,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC,CAAC;QACxE,IAAI,CAAC,kBAAkB,CAAC,EAAE,CAAC,OAAO,EAAE,GAAG,EAAE,CACvC,UAAU,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC,CACxC,CAAC;IACJ,CAAC;IAED,IAAI,CACF,KAAQ,EACR,GAAG,IAAmE;QAEtE,OAAO,KAAK,CAAC,IAAI,CAAC,KAAK,EAAE,GAAG,IAAI,CAAC,CAAC;IACpC,CAAC;IAED,GAAG,CACD,SAAY,EACZ,QAA2D;QAE3D,KAAK,CAAC,GAAG,CAAC,SAAS,EAAE,QAAQ,CAAC,CAAC;QAC/B,OAAO,IAAI,CAAC;IACd,CAAC;IAED,EAAE,CACA,KAAQ,EACR,QAA2D;QAE3D,KAAK,CAAC,EAAE,CAAC,KAAK,EAAE,QAAQ,CAAC,CAAC;QAC1B,OAAO,IAAI,CAAC;IACd,CAAC;IAED,IAAI,CACF,KAAQ,EACR,QAA2D;QAE3D,KAAK,CAAC,IAAI,CAAC,KAAK,EAAE,QAAQ,CAAC,CAAC;QAC5B,OAAO,IAAI,CAAC;IACd,CAAC;IAES,cAAc,CACtB,GAAwC,EACxC,KAAa;QAEb,OAAO,IAAI,CAAC,SAAS,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC;IACpC,CAAC;IAES,SAAS,CACjB,IAAgB,EAChB,KAAa;QAEb,OAAO,IAAI,CAAC,GAAG,CAAC,QAAQ,CAAC,IAAoB,EAAE,IAAI,EAAE,KAAK,CAIzD,CAAC;IACJ,CAAC;IAED;;;;;OAKG;IACH,KAAK,CAAC,cAAc;QAClB,MAAM,KAAK,CAAC,cAAc,EAAE,CAAC;QAC7B,OAAO,IAAI,CAAC,kBAAkB,CAAC,MAAM,CAAC;IACxC,CAAC;IAED,IAAI,WAAW,CAAC,WAAmB;QACjC,IACE,OAAO,WAAW,KAAK,QAAQ;YAC/B,WAAW,GAAG,CAAC;YACf,CAAC,QAAQ,CAAC,WAAW,CAAC,EACtB;YACA,MAAM,IAAI,KAAK,CAAC,oDAAoD,CAAC,CAAC;SACvE;QACD,IAAI,CAAC,YAAY,GAAG,WAAW,CAAC;IAClC,CAAC;IAED,IAAI,WAAW;QACb,OAAO,IAAI,CAAC,YAAY,CAAC;IAC3B,CAAC;IAED,IAAI,MAAM;QACR,OAAO,IAAI,OAAO,CAAS,KAAK,EAAC,OAAO,EAAC,EAAE;YACzC,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE;gBACjB,MAAM,UAAU,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC;gBACrC,IAAI,CAAC,OAAO,GAAG,IAAI,eAAM,CAAC,IAAI,CAAC,IAAI,kCAC9B,IAAI,CAAC,IAAI,KACZ,UAAU,IACV,CAAC;gBACH,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC,OAAO,EAAE,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC;aACxD;YACD,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;QACxB,CAAC,CAAC,CAAC;IACL,CAAC;IAED,IAAI,YAAY;QACd,OAAO,IAAI,OAAO,CAAe,KAAK,EAAC,OAAO,EAAC,EAAE;YAC/C,IAAI,CAAC,IAAI,CAAC,aAAa,EAAE;gBACvB,MAAM,UAAU,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC;gBACrC,IAAI,CAAC,aAAa,GAAG,IAAI,4BAAY,CAAC,IAAI,CAAC,IAAI,kCAC1C,IAAI,CAAC,IAAI,KACZ,UAAU,IACV,CAAC;gBACH,IAAI,CAAC,aAAa,CAAC,EAAE,CAAC,OAAO,EAAE,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC;aAC9D;YACD,OAAO,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC;QAC9B,CAAC,CAAC,CAAC;IACL,CAAC;IAED,KAAK,CAAC,GAAG;QACP,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE;YACnB,MAAM,IAAI,KAAK,CAAC,iCAAiC,CAAC,CAAC;SACpD;QAED,IAAI,IAAI,CAAC,OAAO,EAAE;YAChB,MAAM,IAAI,KAAK,CAAC,4BAA4B,CAAC,CAAC;SAC/C;QAED,IAAI;YACF,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC;YAEpB,IAAI,IAAI,CAAC,OAAO,EAAE;gBAChB,OAAO;aACR;YAED,MAAM,IAAI,CAAC,sBAAsB,EAAE,CAAC;YAEpC,MAAM,cAAc,GAAG,IAAI,GAAG,EAA4B,CAAC;YAC3D,IAAI,CAAC,sBAAsB,CAAC,cAAc,CAAC,CAAC;YAE5C,MAAM,cAAc,GAAG,CAAC,IAAI,CAAC,cAAc;gBACzC,IAAI,iCAAc,EAA8C,CAAC,CAAC;YAEpE,IAAI,YAAY,GAAG,CAAC,CAAC;YAErB,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC;YACjC,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,kBAAkB,CAAC,MAAM,CAAC;YAErD;;;;eAIG;YACH,OAAO,CAAC,IAAI,CAAC,OAAO,EAAE;gBACpB,IAAI,QAAQ,GAAG,cAAc,CAAC,QAAQ,EAAE,CAAC;gBAEzC;;;mBAGG;gBACH,OACE,CAAC,IAAI,CAAC,OAAO;oBACb,QAAQ,GAAG,IAAI,CAAC,YAAY;oBAC5B,CAAC,CAAC,IAAI,CAAC,UAAU,IAAI,QAAQ,IAAI,CAAC,CAAC,EACnC;oBACA,MAAM,KAAK,GAAG,GAAG,IAAI,CAAC,EAAE,IAAI,YAAY,EAAE,EAAE,CAAC;oBAE7C,MAAM,UAAU,GAAG,IAAI,CAAC,aAAa,CAKnC,GAAG,EAAE,CAAC,IAAI,CAAC,WAAW,CAAC,MAAM,EAAE,OAAO,EAAE,KAAK,EAAE,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,EAC/D,IAAI,CAAC,IAAI,CAAC,aAAa,CACxB,CAAC;oBACF,cAAc,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC;oBAE/B,QAAQ,GAAG,cAAc,CAAC,QAAQ,EAAE,CAAC;oBAErC,IAAI,IAAI,CAAC,OAAO,IAAI,QAAQ,GAAG,CAAC,EAAE;wBAChC,oFAAoF;wBACpF,MAAM;qBACP;oBAED,gGAAgG;oBAChG,0CAA0C;oBAC1C,MAAM,GAAG,GAAG,MAAM,UAAU,CAAC;oBAE7B,8EAA8E;oBAC9E,IAAI,CAAC,GAAG,IAAI,QAAQ,GAAG,CAAC,EAAE;wBACxB,MAAM;qBACP;oBAED,qGAAqG;oBACrG,2BAA2B;oBAC3B,IAAI,IAAI,CAAC,UAAU,EAAE;wBACnB,MAAM;qBACP;iBACF;gBAED,sFAAsF;gBACtF,kCAAkC;gBAClC,IAAI,GAA+C,CAAC;gBACpD,GAAG;oBACD,GAAG,GAAG,MAAM,cAAc,CAAC,KAAK,EAAE,CAAC;iBACpC,QAAQ,CAAC,GAAG,IAAI,cAAc,CAAC,SAAS,EAAE,GAAG,CAAC,EAAE;gBAEjD,IAAI,GAAG,EAAE;oBACP,MAAM,KAAK,GAAG,GAAG,CAAC,KAAK,CAAC;oBACxB,cAAc,CAAC,GAAG,CAChB,IAAI,CAAC,aAAa,CAChB,GAAG,EAAE,CACH,IAAI,CAAC,UAAU,CACwB,GAAG,EACxC,KAAK,EACL,GAAG,EAAE,CAAC,cAAc,CAAC,QAAQ,EAAE,IAAI,IAAI,CAAC,YAAY,EACpD,cAAc,CACf,EACH,IAAI,CAAC,IAAI,CAAC,aAAa,CACxB,CACF,CAAC;iBACH;aACF;YAED,IAAI,CAAC,OAAO,GAAG,KAAK,CAAC;YACrB,OAAO,MAAM,cAAc,CAAC,OAAO,EAAE,CAAC;SACvC;QAAC,OAAO,KAAK,EAAE;YACd,IAAI,CAAC,OAAO,GAAG,KAAK,CAAC;YACrB,MAAM,KAAK,CAAC;SACb;IACH,CAAC;IAED;;;;OAIG;IACH,KAAK,CAAC,UAAU,CAAC,KAAa,EAAE,EAAE,KAAK,GAAG,IAAI,KAAwB,EAAE;;QACtE,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,WAAW,CACpC,MAAM,IAAI,CAAC,MAAM,EACjB,MAAM,IAAI,CAAC,kBAAkB,CAAC,MAAM,EACpC,KAAK,EACL,EAAE,KAAK,EAAE,CACV,CAAC;QAEF,OAAO,IAAI,CAAC,KAAK,CACf,gBAAQ,CAAC,QAAQ,EACjB,YAAY,EACZ,IAAI,CAAC,IAAI,EACT,KAAK,EAAC,IAAI,EAAC,EAAE;YACX,IAAI,aAAJ,IAAI,uBAAJ,IAAI,CAAE,aAAa,CAAC;gBAClB,CAAC,2BAAmB,CAAC,QAAQ,CAAC,EAAE,IAAI,CAAC,EAAE;gBACvC,CAAC,2BAAmB,CAAC,SAAS,CAAC,EAAE,IAAI,CAAC,IAAI;gBAC1C,CAAC,2BAAmB,CAAC,UAAU,CAAC,EAAE,IAAI,CAAC,IAAI,CAAC,IAAI;gBAChD,CAAC,2BAAmB,CAAC,aAAa,CAAC,EAAE,IAAI,CAAC,SAAS,CAAC,EAAE,KAAK,EAAE,CAAC;gBAC9D,CAAC,2BAAmB,CAAC,KAAK,CAAC,EAAE,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,EAAE;aACzC,CAAC,CAAC;YAEH,OAAO,OAAO,CAAC;QACjB,CAAC,EACD,MAAA,MAAA,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,IAAI,0CAAE,SAAS,0CAAE,QAAQ,CACnC,CAAC;IACJ,CAAC;IAEO,KAAK,CAAC,WAAW,CACvB,MAAmB,EACnB,OAAoB,EACpB,KAAa,EACb,EAAE,KAAK,GAAG,IAAI,KAAwB,EAAE;;QAExC,IAAI,IAAI,CAAC,MAAM,EAAE;YACf,IAAI,KAAK,EAAE;gBACT,MAAM,IAAI,CAAC,MAAM,CAAC;aACnB;iBAAM;gBACL,OAAO;aACR;SACF;QAED,IAAI,IAAI,CAAC,OAAO,EAAE;YAChB,OAAO;SACR;QAED,IAAI,IAAI,CAAC,OAAO,IAAI,KAAK,IAAI,CAAC,IAAI,CAAC,UAAU,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE;YAC9D,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC,UAAU,CAAC,OAAO,EAAE,IAAI,CAAC,UAAU,CAAC,CAAC;YACzD,IAAI;gBACF,IAAI,CAAC,UAAU,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC;gBAErC,IAAI,IAAI,CAAC,UAAU,IAAI,CAAC,IAAI,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC,GAAG,EAAE,GAAG,CAAC,EAAE;oBAC5D,OAAO,MAAM,IAAI,CAAC,YAAY,CAAC,MAAM,EAAE,KAAK,EAAE,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;iBAC/D;aACF;YAAC,OAAO,GAAG,EAAE;gBACZ,4FAA4F;gBAC5F,IACE,CAAC,CAAC,IAAI,CAAC,MAAM,IAAI,IAAI,CAAC,OAAO,CAAC;oBAC9B,IAAA,4BAAoB,EAAQ,GAAG,CAAC,EAChC;oBACA,MAAM,GAAG,CAAC;iBACX;aACF;oBAAS;gBACR,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC;aACrB;SACF;aAAM;YACL,MAAM,UAAU,GAAG,IAAI,CAAC,UAAU,CAAC;YACnC,IAAI,UAAU,EAAE;gBACd,MAAA,IAAI,CAAC,oBAAoB,0CAAE,KAAK,EAAE,CAAC;gBACnC,IAAI,CAAC,oBAAoB,GAAG,IAAI,uCAAe,EAAE,CAAC;gBAClD,MAAM,IAAI,CAAC,KAAK,CACd,IAAI,CAAC,aAAa,CAAC,UAAU,CAAC,EAC9B,IAAI,CAAC,oBAAoB,CAC1B,CAAC;aACH;YACD,OAAO,IAAI,CAAC,YAAY,CAAC,MAAM,EAAE,KAAK,EAAE,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;SACzD;IACH,CAAC;IAED;;;;OAIG;IACH,KAAK,CAAC,SAAS,CAAC,YAAoB;QAClC,MAAM,IAAI,CAAC,KAAK,CACd,gBAAQ,CAAC,QAAQ,EACjB,WAAW,EACX,IAAI,CAAC,IAAI,EACT,KAAK,EAAC,IAAI,EAAC,EAAE;YACX,IAAI,aAAJ,IAAI,uBAAJ,IAAI,CAAE,aAAa,CAAC;gBAClB,CAAC,2BAAmB,CAAC,QAAQ,CAAC,EAAE,IAAI,CAAC,EAAE;gBACvC,CAAC,2BAAmB,CAAC,eAAe,CAAC,EAAE,YAAY;aACpD,CAAC,CAAC;YAEH,MAAM,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,CAC9B,MAAM,CAAC,GAAG,CACR,IAAI,CAAC,IAAI,CAAC,OAAO,EACjB,MAAM,CAAC,gBAAgB,EACvB,IAAI,EACJ,YAAY,CACb,CACF,CAAC;QACJ,CAAC,CACF,CAAC;IACJ,CAAC;IAED,IAAI,mBAAmB;QACrB,OAAO,IAAI,CAAC,kBAAkB,CAAC,YAAY,CAAC,cAAc;YACxD,CAAC,CAAC;;qDAEuC;gBACvC,KAAK;YACP,CAAC,CAAC,KAAK,CAAC;IACZ,CAAC;IAES,KAAK,CAAC,YAAY,CAC1B,MAAmB,EACnB,KAAa,EACb,IAAa;QAEb,MAAM,CAAC,OAAO,EAAE,EAAE,EAAE,UAAU,EAAE,UAAU,CAAC,GACzC,MAAM,IAAI,CAAC,OAAO,CAAC,YAAY,CAAC,MAAM,EAAE,KAAK,EAAE,IAAI,CAAC,CAAC;QACvD,IAAI,CAAC,YAAY,CAAC,UAAU,EAAE,UAAU,CAAC,CAAC;QAE1C,OAAO,IAAI,CAAC,kBAAkB,CAAC,OAAO,EAAE,EAAE,EAAE,KAAK,CAAC,CAAC;IACrD,CAAC;IAEO,KAAK,CAAC,UAAU,CACtB,OAAoB,EACpB,UAAkB;QAElB,IAAI,IAAI,CAAC,MAAM,EAAE;YACf,OAAO,QAAQ,CAAC;SACjB;QAED,IAAI,OAAuB,CAAC;QAC5B,IAAI;YACF,IAAI,CAAC,IAAI,CAAC,OAAO,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE;gBACrC,IAAI,YAAY,GAAG,IAAI,CAAC,eAAe,CAAC,UAAU,CAAC,CAAC;gBAEpD,IAAI,YAAY,GAAG,CAAC,EAAE;oBACpB,YAAY,GAAG,IAAI,CAAC,kBAAkB,CAAC,YAAY,CAAC,gBAAgB;wBAClE,CAAC,CAAC,YAAY;wBACd,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;oBAE5B,sEAAsE;oBACtE,iEAAiE;oBACjE,6CAA6C;oBAC7C,OAAO,GAAG,UAAU,CAAC,KAAK,IAAI,EAAE;wBAC9B,OAAO,CAAC,UAAU,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;oBACpC,CAAC,EAAE,YAAY,GAAG,IAAI,GAAG,IAAI,CAAC,CAAC;oBAE/B,IAAI,CAAC,YAAY,EAAE,CAAC,CAAC,8DAA8D;oBAEnF,8EAA8E;oBAC9E,iBAAiB;oBACjB,MAAM,MAAM,GAAG,MAAM,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,YAAY,CAAC,CAAC;oBAEtE,IAAI,MAAM,EAAE;wBACV,MAAM,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,CAAC,GAAG,MAAM,CAAC;wBAErC,IAAI,MAAM,EAAE;4BACV,OAAO,QAAQ,CAAC,KAAK,CAAC,CAAC;yBACxB;qBACF;iBACF;gBAED,OAAO,CAAC,CAAC;aACV;SACF;QAAC,OAAO,KAAK,EAAE;YACd,IAAI,IAAA,4BAAoB,EAAQ,KAAK,CAAC,EAAE;gBACtC,IAAI,CAAC,IAAI,CAAC,OAAO,EAAS,KAAK,CAAC,CAAC;aAClC;YACD,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE;gBACjB,MAAM,IAAI,CAAC,KAAK,EAAE,CAAC;aACpB;SACF;gBAAS;YACR,YAAY,CAAC,OAAO,CAAC,CAAC;SACvB;QACD,OAAO,QAAQ,CAAC;IAClB,CAAC;IAES,eAAe,CAAC,UAAkB;QAC1C,MAAM,IAAI,GAAiC,IAAI,CAAC,IAAI,CAAC;QAErD,8BAA8B;QAC9B,IAAI,UAAU,EAAE;YACd,MAAM,UAAU,GAAG,UAAU,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;YAC3C,yCAAyC;YACzC,IAAI,UAAU,IAAI,CAAC,EAAE;gBACnB,OAAO,UAAU,CAAC;aACnB;iBAAM,IAAI,UAAU,GAAG,IAAI,CAAC,mBAAmB,GAAG,IAAI,EAAE;gBACvD,OAAO,IAAI,CAAC,mBAAmB,CAAC;aACjC;iBAAM;gBACL,8DAA8D;gBAC9D,oEAAoE;gBACpE,+DAA+D;gBAC/D,OAAO,IAAI,CAAC,GAAG,CAAC,UAAU,GAAG,IAAI,EAAE,mBAAmB,CAAC,CAAC;aACzD;SACF;aAAM;YACL,OAAO,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,UAAU,EAAE,IAAI,CAAC,mBAAmB,CAAC,CAAC;SAC5D;IACH,CAAC;IAES,aAAa,CAAC,UAAkB;QACxC,sDAAsD;QACtD,8DAA8D;QAC9D,OAAO,IAAI,CAAC,GAAG,CAAC,UAAU,EAAE,iBAAiB,CAAC,CAAC;IACjD,CAAC;IAED;;;OAGG;IACH,KAAK,CAAC,KAAK,CACT,YAAqB,EACrB,eAAiC;QAEjC,MAAM,IAAA,aAAK,EAAC,YAAY,IAAI,oBAAY,EAAE,eAAe,CAAC,CAAC;IAC7D,CAAC;IAEO,YAAY,CAAC,UAAU,GAAG,CAAC,EAAE,UAAU,GAAG,CAAC;QACjD,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC,GAAG,CAAC,UAAU,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC;QAC/C,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC,GAAG,CAAC,UAAU,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC;IACjD,CAAC;IAES,KAAK,CAAC,kBAAkB,CAChC,OAAoB,EACpB,KAAc,EACd,KAAc;QAEd,IAAI,CAAC,OAAO,EAAE;YACZ,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE;gBACjB,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;gBACrB,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC;aACrB;SACF;aAAM;YACL,IAAI,CAAC,OAAO,GAAG,KAAK,CAAC;YACrB,MAAM,GAAG,GAAG,IAAI,CAAC,SAAS,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC;YAC3C,GAAG,CAAC,KAAK,GAAG,KAAK,CAAC;YAElB,uCAAuC;YACvC,IAAI,GAAG,CAAC,IAAI,CAAC,MAAM,IAAI,CAAC,GAAG,CAAC,mBAAmB,EAAE;gBAC/C,oCAAoC;gBACpC,IAAI,GAAG,CAAC,YAAY,EAAE;oBACpB,MAAM,YAAY,GAAG,MAAM,IAAI,CAAC,YAAY,CAAC;oBAC7C,MAAM,YAAY,CAAC,kBAAkB,CACnC,GAAG,CAAC,YAAY,EAChB,GAAG,CAAC,IAAI,CAAC,MAAM,EACf,GAAG,CAAC,IAAI,EACR,GAAG,CAAC,IAAI,EACR,GAAG,CAAC,IAAI,EACR,EAAE,QAAQ,EAAE,KAAK,EAAE,UAAU,EAAE,GAAG,CAAC,EAAE,EAAE,CACxC,CAAC;iBACH;qBAAM;oBACL,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC;oBACjC,MAAM,MAAM,CAAC,mBAAmB,CAAC,GAAG,CAAC,IAAI,EAAE,GAAG,CAAC,IAAI,EAAE,GAAG,CAAC,IAAI,EAAE;wBAC7D,QAAQ,EAAE,KAAK;qBAChB,CAAC,CAAC;iBACJ;aACF;YACD,OAAO,GAAG,CAAC;SACZ;IACH,CAAC;IAED,KAAK,CAAC,UAAU,CACd,GAAwC,EACxC,KAAa,EACb,iBAAiB,GAAG,GAAG,EAAE,CAAC,IAAI,EAC9B,cAA6C;;QAE7C,IAAI,CAAC,GAAG,IAAI,IAAI,CAAC,OAAO,IAAI,IAAI,CAAC,MAAM,EAAE;YACvC,OAAO;SACR;QAED,MAAM,sBAAsB,GAAG,MAAA,MAAA,GAAG,CAAC,IAAI,0CAAE,SAAS,0CAAE,QAAQ,CAAC;QAE7D,OAAO,IAAI,CAAC,KAAK,CACf,gBAAQ,CAAC,QAAQ,EACjB,SAAS,EACT,IAAI,CAAC,IAAI,EACT,KAAK,EAAC,IAAI,EAAC,EAAE;YACX,IAAI,aAAJ,IAAI,uBAAJ,IAAI,CAAE,aAAa,CAAC;gBAClB,CAAC,2BAAmB,CAAC,QAAQ,CAAC,EAAE,IAAI,CAAC,EAAE;gBACvC,CAAC,2BAAmB,CAAC,UAAU,CAAC,EAAE,IAAI,CAAC,IAAI,CAAC,IAAI;gBAChD,CAAC,2BAAmB,CAAC,KAAK,CAAC,EAAE,GAAG,CAAC,EAAE;aACpC,CAAC,CAAC;YAEH,MAAM,eAAe,GAAG,KAAK,EAAE,MAAkB,EAAE,EAAE;gBACnD,cAAc,CAAC,MAAM,CAAC,cAAc,CAAC,CAAC;gBAEtC,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,OAAO,EAAE;oBAC5B,MAAM,SAAS,GAAG,MAAM,GAAG,CAAC,eAAe,CACzC,MAAM,EACN,KAAK,EACL,iBAAiB,EAAE,IAAI,CAAC,CAAC,IAAI,CAAC,OAAO,IAAI,IAAI,CAAC,MAAM,CAAC,CACtD,CAAC;oBACF,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,GAAG,EAAE,MAAM,EAAE,QAAQ,CAAC,CAAC;oBAE9C,IAAI,aAAJ,IAAI,uBAAJ,IAAI,CAAE,QAAQ,CAAC,eAAe,EAAE;wBAC9B,CAAC,2BAAmB,CAAC,SAAS,CAAC,EAAE,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC;qBACxD,CAAC,CAAC;oBAEH,MAAM,CAAC,OAAO,EAAE,KAAK,EAAE,UAAU,EAAE,UAAU,CAAC,GAAG,SAAS,IAAI,EAAE,CAAC;oBACjE,IAAI,CAAC,YAAY,CAAC,UAAU,EAAE,UAAU,CAAC,CAAC;oBAE1C,OAAO,IAAI,CAAC,kBAAkB,CAAC,OAAO,EAAE,KAAK,EAAE,KAAK,CAAC,CAAC;iBACvD;YACH,CAAC,CAAC;YAEF,MAAM,YAAY,GAAG,KAAK,EAAE,GAAU,EAAE,EAAE;gBACxC,cAAc,CAAC,MAAM,CAAC,cAAc,CAAC,CAAC;gBAEtC,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,OAAO,EAAE;oBAC5B,IAAI;wBACF,6CAA6C;wBAC7C,IAAI,GAAG,CAAC,OAAO,IAAI,yBAAgB,EAAE;4BACnC,IAAI,CAAC,UAAU,GAAG,MAAM,IAAI,CAAC,qBAAqB,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC;4BAC/D,OAAO;yBACR;wBAED,IACE,GAAG,YAAY,qBAAY;4BAC3B,GAAG,CAAC,IAAI,IAAI,cAAc;4BAC1B,GAAG,YAAY,6BAAoB;4BACnC,GAAG,CAAC,IAAI,IAAI,sBAAsB,EAClC;4BACA,OAAO;yBACR;wBAED,MAAM,MAAM,GAAG,MAAM,GAAG,CAAC,YAAY,CACnC,GAAG,EACH,KAAK,EACL,iBAAiB,EAAE,IAAI,CAAC,CAAC,IAAI,CAAC,OAAO,IAAI,IAAI,CAAC,MAAM,CAAC,CACtD,CAAC;wBACF,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,GAAG,EAAE,GAAG,EAAE,QAAQ,CAAC,CAAC;wBAExC,IAAI,aAAJ,IAAI,uBAAJ,IAAI,CAAE,QAAQ,CAAC,YAAY,EAAE;4BAC3B,CAAC,2BAAmB,CAAC,eAAe,CAAC,EAAE,GAAG,CAAC,OAAO;yBACnD,CAAC,CAAC;wBAEH,IAAI,MAAM,EAAE;4BACV,MAAM,CAAC,OAAO,EAAE,KAAK,EAAE,UAAU,EAAE,UAAU,CAAC,GAAG,MAAM,CAAC;4BACxD,IAAI,CAAC,YAAY,CAAC,UAAU,EAAE,UAAU,CAAC,CAAC;4BAC1C,OAAO,IAAI,CAAC,kBAAkB,CAAC,OAAO,EAAE,KAAK,EAAE,KAAK,CAAC,CAAC;yBACvD;qBACF;oBAAC,OAAO,GAAG,EAAE;wBACZ,IAAI,CAAC,IAAI,CAAC,OAAO,EAAS,GAAG,CAAC,CAAC;wBAC/B,qEAAqE;wBACrE,oDAAoD;wBACpD,mCAAmC;wBACnC,IAAI,aAAJ,IAAI,uBAAJ,IAAI,CAAE,eAAe,CAAS,GAAI,CAAC,OAAO,CAAC,CAAC;qBAC7C;iBACF;YACH,CAAC,CAAC;YAEF,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,GAAG,EAAE,SAAS,CAAC,CAAC;YAEpC,MAAM,WAAW,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;YAC/B,MAAM,cAAc,GAAG,EAAE,GAAG,EAAE,EAAE,EAAE,WAAW,EAAE,CAAC;YAEhD,IAAI;gBACF,cAAc,CAAC,GAAG,CAAC,cAAc,CAAC,CAAC;gBACnC,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,cAAc,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC;gBACrD,OAAO,MAAM,eAAe,CAAC,MAAM,CAAC,CAAC;aACtC;YAAC,OAAO,GAAG,EAAE;gBACZ,MAAM,MAAM,GAAG,MAAM,YAAY,CAAQ,GAAG,CAAC,CAAC;gBAC9C,OAAO,MAAM,CAAC;aACf;oBAAS;gBACR,IAAI,aAAJ,IAAI,uBAAJ,IAAI,CAAE,aAAa,CAAC;oBAClB,CAAC,2BAAmB,CAAC,oBAAoB,CAAC,EAAE,IAAI,CAAC,GAAG,EAAE;oBACtD,CAAC,2BAAmB,CAAC,qBAAqB,CAAC,EAAE,WAAW;iBACzD,CAAC,CAAC;aACJ;QACH,CAAC,EACD,sBAAsB,CACvB,CAAC;IACJ,CAAC;IAED;;;OAGG;IACH,KAAK,CAAC,KAAK,CAAC,eAAyB;QACnC,MAAM,IAAI,CAAC,KAAK,CACd,gBAAQ,CAAC,QAAQ,EACjB,OAAO,EACP,IAAI,CAAC,IAAI,EACT,KAAK,EAAC,IAAI,EAAC,EAAE;YACX,IAAI,aAAJ,IAAI,uBAAJ,IAAI,CAAE,aAAa,CAAC;gBAClB,CAAC,2BAAmB,CAAC,QAAQ,CAAC,EAAE,IAAI,CAAC,EAAE;gBACvC,CAAC,2BAAmB,CAAC,UAAU,CAAC,EAAE,IAAI,CAAC,IAAI,CAAC,IAAI;gBAChD,CAAC,2BAAmB,CAAC,qBAAqB,CAAC,EAAE,eAAe;aAC7D,CAAC,CAAC;YAEH,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE;gBAChB,IAAI,CAAC,MAAM,GAAG,IAAI,OAAO,CAAC,OAAO,CAAC,EAAE;oBAClC,IAAI,CAAC,YAAY,GAAG;wBAClB,OAAO,EAAE,CAAC;wBACV,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,CAAC,yDAAyD;wBAC7E,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC;oBAC3B,CAAC,CAAC;gBACJ,CAAC,CAAC,CAAC;gBACH,MAAM,CAAC,CAAC,eAAe,IAAI,IAAI,CAAC,uBAAuB,EAAE,CAAC,CAAC;gBAC3D,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;aACrB;QACH,CAAC,CACF,CAAC;IACJ,CAAC;IAED;;;OAGG;IACH,MAAM;QACJ,IAAI,IAAI,CAAC,YAAY,EAAE;YACrB,IAAI,CAAC,KAAK,CAAO,gBAAQ,CAAC,QAAQ,EAAE,QAAQ,EAAE,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,EAAE;gBAC9D,IAAI,aAAJ,IAAI,uBAAJ,IAAI,CAAE,aAAa,CAAC;oBAClB,CAAC,2BAAmB,CAAC,QAAQ,CAAC,EAAE,IAAI,CAAC,EAAE;oBACvC,CAAC,2BAAmB,CAAC,UAAU,CAAC,EAAE,IAAI,CAAC,IAAI,CAAC,IAAI;iBACjD,CAAC,CAAC;gBAEH,IAAI,CAAC,YAAY,EAAE,CAAC;gBACpB,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;YACvB,CAAC,CAAC,CAAC;SACJ;IACH,CAAC;IAED;;;;;OAKG;IACH,QAAQ;QACN,OAAO,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC;IACvB,CAAC;IAED;;;;;OAKG;IACH,SAAS;QACP,OAAO,IAAI,CAAC,OAAO,CAAC;IACtB,CAAC;IAED;;;;;;;;;;;OAWG;IACH,KAAK,CAAC,KAAK,CAAC,KAAK,GAAG,KAAK;QACvB,IAAI,IAAI,CAAC,OAAO,EAAE;YAChB,OAAO,IAAI,CAAC,OAAO,CAAC;SACrB;QAED,IAAI,CAAC,OAAO,GAAG,CAAC,KAAK,IAAI,EAAE;YACzB,MAAM,IAAI,CAAC,KAAK,CACd,gBAAQ,CAAC,QAAQ,EACjB,OAAO,EACP,IAAI,CAAC,IAAI,EACT,KAAK,EAAC,IAAI,EAAC,EAAE;;gBACX,IAAI,aAAJ,IAAI,uBAAJ,IAAI,CAAE,aAAa,CAAC;oBAClB,CAAC,2BAAmB,CAAC,QAAQ,CAAC,EAAE,IAAI,CAAC,EAAE;oBACvC,CAAC,2BAAmB,CAAC,UAAU,CAAC,EAAE,IAAI,CAAC,IAAI,CAAC,IAAI;oBAChD,CAAC,2BAAmB,CAAC,gBAAgB,CAAC,EAAE,KAAK;iBAC9C,CAAC,CAAC;gBACH,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,eAAe,CAAC,CAAC;gBACtC,MAAA,IAAI,CAAC,oBAAoB,0CAAE,KAAK,EAAE,CAAC;gBAEnC,IAAI,CAAC,MAAM,EAAE,CAAC;gBAEd,qCAAqC;gBACrC,MAAM,aAAa,GAAG;oBACpB,GAAG,EAAE;wBACH,OAAO,KAAK,IAAI,IAAI,CAAC,uBAAuB,CAAC,KAAK,CAAC,CAAC;oBACtD,CAAC;oBACD,GAAG,EAAE,WAAC,OAAA,MAAA,IAAI,CAAC,SAAS,0CAAE,KAAK,EAAE,CAAA,EAAA;oBAC7B,GAAG,EAAE,CAAC,IAAI,CAAC,kBAAkB,CAAC,KAAK,CAAC,KAAK,CAAC;oBAC1C,GAAG,EAAE,CAAC,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC,KAAK,CAAC;iBACnC,CAAC;gBAEF,kFAAkF;gBAClF,KAAK,MAAM,OAAO,IAAI,aAAa,EAAE;oBACnC,IAAI;wBACF,MAAM,OAAO,EAAE,CAAC;qBACjB;oBAAC,OAAO,GAAG,EAAE;wBACZ,IAAI,CAAC,IAAI,CAAC,OAAO,EAAS,GAAG,CAAC,CAAC;qBAChC;iBACF;gBAED,YAAY,CAAC,IAAI,CAAC,gBAAgB,CAAC,CAAC;gBACpC,MAAA,IAAI,CAAC,mBAAmB,oDAAI,CAAC;gBAE7B,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC;gBACnB,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;YACtB,CAAC,CACF,CAAC;QACJ,CAAC,CAAC,EAAE,CAAC;QAEL,OAAO,MAAM,IAAI,CAAC,OAAO,CAAC;IAC5B,CAAC;IAED;;;;;;;;;;;OAWG;IACH,KAAK,CAAC,sBAAsB;QAC1B,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,gBAAgB,EAAE;YAC/B,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE;gBACjB,MAAM,IAAI,CAAC,KAAK,CACd,gBAAQ,CAAC,QAAQ,EACjB,wBAAwB,EACxB,IAAI,CAAC,IAAI,EACT,KAAK,EAAC,IAAI,EAAC,EAAE;oBACX,IAAI,aAAJ,IAAI,uBAAJ,IAAI,CAAE,aAAa,CAAC;wBAClB,CAAC,2BAAmB,CAAC,QAAQ,CAAC,EAAE,IAAI,CAAC,EAAE;wBACvC,CAAC,2BAAmB,CAAC,UAAU,CAAC,EAAE,IAAI,CAAC,IAAI,CAAC,IAAI;qBACjD,CAAC,CAAC;oBAEH,IAAI,CAAC,cAAc,EAAE,CAAC,KAAK,CAAC,GAAG,CAAC,EAAE;wBAChC,IAAI,CAAC,IAAI,CAAC,OAAO,EAAS,GAAG,CAAC,CAAC;oBACjC,CAAC,CAAC,CAAC;gBACL,CAAC,CACF,CAAC;aACH;SACF;IACH,CAAC;IAEO,KAAK,CAAC,cAAc;QAC1B,OAAO,CAAC,IAAI,CAAC,OAAO,EAAE;YACpB,IAAI;gBACF,MAAM,IAAI,CAAC,oBAAoB,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,qBAAqB,EAAE,CAAC,CAAC;aACrE;YAAC,OAAO,GAAG,EAAE;gBACZ,IAAI,CAAC,IAAI,CAAC,OAAO,EAAS,GAAG,CAAC,CAAC;aAChC;YAED,MAAM,IAAI,OAAO,CAAO,OAAO,CAAC,EAAE;gBAChC,MAAM,OAAO,GAAG,UAAU,CAAC,OAAO,EAAE,IAAI,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC;gBAC/D,IAAI,CAAC,mBAAmB,GAAG,GAAG,EAAE;oBAC9B,YAAY,CAAC,OAAO,CAAC,CAAC;oBACtB,OAAO,EAAE,CAAC;gBACZ,CAAC,CAAC;YACJ,CAAC,CAAC,CAAC;SACJ;IACH,CAAC;IAEO,sBAAsB,CAC5B,cAA6C;QAE7C,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,eAAe,EAAE;YAC9B,YAAY,CAAC,IAAI,CAAC,gBAAgB,CAAC,CAAC;YAEpC,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE;gBAChB,IAAI,CAAC,gBAAgB,GAAG,UAAU,CAAC,KAAK,IAAI,EAAE;oBAC5C,4EAA4E;oBAC5E,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;oBACvB,MAAM,YAAY,GAAG,EAAE,CAAC;oBAExB,KAAK,MAAM,IAAI,IAAI,cAAc,EAAE;wBACjC,MAAM,EAAE,GAAG,EAAE,EAAE,EAAE,GAAG,IAAI,CAAC;wBACzB,IAAI,CAAC,EAAE,EAAE;4BACP,IAAI,CAAC,EAAE,GAAG,GAAG,CAAC;4BACd,SAAS;yBACV;wBAED,IAAI,EAAE,GAAG,IAAI,CAAC,IAAI,CAAC,aAAa,GAAG,CAAC,GAAG,GAAG,EAAE;4BAC1C,IAAI,CAAC,EAAE,GAAG,GAAG,CAAC;4BACd,YAAY,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;yBACxB;qBACF;oBAED,IAAI;wBACF,IAAI,YAAY,CAAC,MAAM,EAAE;4BACvB,MAAM,IAAI,CAAC,WAAW,CAAC,YAAY,CAAC,CAAC;yBACtC;qBACF;oBAAC,OAAO,GAAG,EAAE;wBACZ,IAAI,CAAC,IAAI,CAAC,OAAO,EAAS,GAAG,CAAC,CAAC;qBAChC;oBAED,IAAI,CAAC,sBAAsB,CAAC,cAAc,CAAC,CAAC;gBAC9C,CAAC,EAAE,IAAI,CAAC,IAAI,CAAC,aAAa,GAAG,CAAC,CAAC,CAAC;aACjC;SACF;IACH,CAAC;IAED;;;;OAIG;IACK,KAAK,CAAC,uBAAuB,CAAC,SAAS,GAAG,IAAI;QACpD,EAAE;QACF,sFAAsF;QACtF,EAAE;QACF,IAAI,IAAI,CAAC,OAAO,EAAE;YAChB,4EAA4E;YAC5E,MAAM,IAAI,CAAC,kBAAkB,CAAC,UAAU,CAAC,SAAS,CAAC,CAAC;SACrD;aAAM;YACL,SAAS,GAAG,KAAK,CAAC;SACnB;QAED,IAAI,IAAI,CAAC,cAAc,EAAE;YACvB,MAAM,IAAI,CAAC,cAAc,CAAC,OAAO,EAAE,CAAC;SACrC;QAED,SAAS,IAAI,CAAC,MAAM,IAAI,CAAC,kBAAkB,CAAC,SAAS,EAAE,CAAC,CAAC;IAC3D,CAAC;IAEO,KAAK,CAAC,aAAa,CAAI,EAAoB,EAAE,SAAiB;QACpE,MAAM,KAAK,GAAG,CAAC,CAAC;QAChB,GAAG;YACD,IAAI;gBACF,OAAO,MAAM,EAAE,EAAE,CAAC;aACnB;YAAC,OAAO,GAAG,EAAE;gBACZ,IAAI,CAAC,IAAI,CAAC,OAAO,EAAS,GAAG,CAAC,CAAC;gBAC/B,IAAI,SAAS,EAAE;oBACb,MAAM,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC;iBAC7B;qBAAM;oBACL,OAAO;iBACR;aACF;SACF,QAAQ,KAAK,EAAE;IAClB,CAAC;IAES,KAAK,CAAC,WAAW,CAAC,IAAW;QACrC,MAAM,IAAI,CAAC,KAAK,CACd,gBAAQ,CAAC,QAAQ,EACjB,aAAa,EACb,IAAI,CAAC,IAAI,EACT,KAAK,EAAC,IAAI,EAAC,EAAE;YACX,IAAI,aAAJ,IAAI,uBAAJ,IAAI,CAAE,aAAa,CAAC;gBAClB,CAAC,2BAAmB,CAAC,QAAQ,CAAC,EAAE,IAAI,CAAC,EAAE;gBACvC,CAAC,2BAAmB,CAAC,UAAU,CAAC,EAAE,IAAI,CAAC,IAAI,CAAC,IAAI;gBAChD,CAAC,2BAAmB,CAAC,uBAAuB,CAAC,EAAE,IAAI,CAAC,GAAG,CACrD,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CACd;aACF,CAAC,CAAC;YAEH,IAAI;gBACF,MAAM,aAAa,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,WAAW,CAClD,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,EACvB,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,KAAK,CAAC,EAC1B,IAAI,CAAC,IAAI,CAAC,YAAY,CACvB,CAAC;gBAEF,KAAK,MAAM,KAAK,IAAI,aAAa,EAAE;oBACjC,oEAAoE;oBAEpE,IAAI,CAAC,IAAI,CACP,OAAO,EACP,IAAI,KAAK,CAAC,gCAAgC,KAAK,EAAE,CAAC,CACnD,CAAC;iBACH;aACF;YAAC,OAAO,GAAG,EAAE;gBACZ,IAAI,CAAC,IAAI,CAAC,OAAO,EAAS,GAAG,CAAC,CAAC;aAChC;QACH,CAAC,CACF,CAAC;IACJ,CAAC;IAEO,KAAK,CAAC,qBAAqB;QACjC,MAAM,IAAI,CAAC,KAAK,CACd,gBAAQ,CAAC,QAAQ,EACjB,uBAAuB,EACvB,IAAI,CAAC,IAAI,EACT,KAAK,EAAC,IAAI,EAAC,EAAE;YACX,MAAM,SAAS,GAAG,EAAE,CAAC;YACrB,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,qBAAqB,EAAE,CAAC;YAErE,IAAI,aAAJ,IAAI,uBAAJ,IAAI,CAAE,aAAa,CAAC;gBAClB,CAAC,2BAAmB,CAAC,QAAQ,CAAC,EAAE,IAAI,CAAC,EAAE;gBACvC,CAAC,2BAAmB,CAAC,UAAU,CAAC,EAAE,IAAI,CAAC,IAAI,CAAC,IAAI;gBAChD,CAAC,2BAAmB,CAAC,iBAAiB,CAAC,EAAE,OAAO;gBAChD,CAAC,2BAAmB,CAAC,gBAAgB,CAAC,EAAE,MAAM;aAC/C,CAAC,CAAC;YAEH,OAAO,CAAC,OAAO,CAAC,CAAC,KAAa,EAAE,EAAE;gBAChC,IAAI,aAAJ,IAAI,uBAAJ,IAAI,CAAE,QAAQ,CAAC,aAAa,EAAE;oBAC5B,CAAC,2BAAmB,CAAC,KAAK,CAAC,EAAE,KAAK;iBACnC,CAAC,CAAC;gBACH,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,KAAK,EAAE,QAAQ,CAAC,CAAC;YACxC,CAAC,CAAC,CAAC;YAEH,qDAAqD;YACrD,MAAM,WAAW,GAAmD,EAAE,CAAC;YACvE,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;gBACtC,WAAW,CAAC,IAAI,CACd,SAAG,CAAC,MAAM,CACR,IAAoB,EACpB,MAAM,CAAC,CAAC,CAAC,CACV,CACF,CAAC;gBAEF,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,SAAS,KAAK,CAAC,EAAE;oBAC7B,IAAI,CAAC,gBAAgB,CAAC,MAAM,OAAO,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC,CAAC;oBACtD,WAAW,CAAC,MAAM,GAAG,CAAC,CAAC;iBACxB;aACF;YAED,IAAI,CAAC,gBAAgB,CAAC,MAAM,OAAO,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC,CAAC;QACxD,CAAC,CACF,CAAC;IACJ,CAAC;IAEO,gBAAgB,CACtB,UAAiD,EACjD,IAAW;QAEX,MAAM,YAAY,GAAG,uCAAuC,CAAC;QAE7D,UAAU,CAAC,OAAO,CAAC,CAAC,GAAwC,EAAE,EAAE;YAC9D,IAAI,aAAJ,IAAI,uBAAJ,IAAI,CAAE,QAAQ,CAAC,YAAY,EAAE;gBAC3B,CAAC,2BAAmB,CAAC,KAAK,CAAC,EAAE,GAAG,CAAC,EAAE;gBACnC,CAAC,2BAAmB,CAAC,OAAO,CAAC,EAAE,GAAG,CAAC,IAAI;gBACvC,CAAC,2BAAmB,CAAC,eAAe,CAAC,EAAE,YAAY;aACpD,CAAC,CAAC;YACH,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,GAAG,EAAE,IAAI,KAAK,CAAC,YAAY,CAAC,EAAE,QAAQ,CAAC,CAAC;QAC9D,CAAC,CAAC,CAAC;IACL,CAAC;IAEO,qBAAqB,CAC3B,GAAwC,EACxC,KAAa;QAEb,OAAO,IAAI,CAAC,OAAO,CAAC,uBAAuB,CAAC,GAAG,CAAC,EAAE,EAAE,KAAK,CAAC,CAAC;IAC7D,CAAC;CACF;AAxmCD,wBAwmCC"}
1
+ {"version":3,"file":"worker.js","sourceRoot":"","sources":["../../../src/classes/worker.ts"],"names":[],"mappings":"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"}