tabby-rdp 0.1.0 → 0.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.
@@ -8,6 +8,7 @@ var __decorate = (this && this.__decorate) || function (decorators, target, key,
8
8
  var __metadata = (this && this.__metadata) || function (k, v) {
9
9
  if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
10
10
  };
11
+ var RemoteDesktopService_1;
11
12
  Object.defineProperty(exports, "__esModule", { value: true });
12
13
  exports.RemoteDesktopService = void 0;
13
14
  exports.installStyle = installStyle;
@@ -18,7 +19,9 @@ const path = require("path");
18
19
  const url_1 = require("url");
19
20
  const targets_1 = require("./targets");
20
21
  const deskScript_1 = require("./deskScript");
22
+ const audio_1 = require("./audio");
21
23
  const desktopForm_1 = require("./desktopForm");
24
+ const fileTransfer_1 = require("./fileTransfer");
22
25
  const desktops_1 = require("./desktops");
23
26
  const remoteSetup_1 = require("./remoteSetup");
24
27
  const rdcleanpath_1 = require("./rdcleanpath");
@@ -30,9 +33,12 @@ const STYLE = `
30
33
  .trd-overlay { position: absolute; inset: 0; z-index: 30; display: flex; background: #111; }
31
34
  .trd-host { flex: auto; min-width: 0; min-height: 0; display: flex; }
32
35
  .trd-host iron-remote-desktop { flex: auto; }
33
- .trd-status { position: absolute; inset: 0; display: flex; align-items: center; justify-content: center;
34
- padding: 2em; text-align: center; color: #bbb; font-size: 13px; white-space: pre-line; pointer-events: none; }
35
- .trd-status:empty { display: none; }
36
+ .trd-status { position: absolute; inset: 0; display: flex; flex-direction: column; gap: 14px; align-items: center;
37
+ justify-content: center; padding: 2em; text-align: center; color: #bbb; font-size: 13px; white-space: pre-line;
38
+ pointer-events: none; }
39
+ .trd-status-actions { display: flex; gap: 8px; pointer-events: auto; }
40
+ .trd-status-actions:empty { display: none; }
41
+ .trd-overlay.trd-dim .trd-host { opacity: 0.2; }
36
42
  `;
37
43
  /**
38
44
  * grd ignores the scale factor in RDP monitor layouts, so a Retina-sized remote monitor would render its UI at
@@ -47,21 +53,30 @@ bus = Gio.bus_get_sync(Gio.BusType.SESSION)
47
53
  def call(method, args=None, reply=None):
48
54
  return bus.call_sync('org.gnome.Mutter.DisplayConfig', '/org/gnome/Mutter/DisplayConfig',
49
55
  'org.gnome.Mutter.DisplayConfig', method, args, reply, 0, -1, None)
50
- for _ in range(50):
56
+ # grd can recreate its virtual monitor right after a resize, which resets the scale: keep it applied until it has
57
+ # stayed put for a while (about 2 s).
58
+ applied, steady = 0, 0
59
+ for _ in range(100):
51
60
  serial, monitors, logical, _ = call('GetCurrentState').unpack()
52
61
  if len(monitors) == 1:
53
62
  (connector, _, _, _), modes, _ = monitors[0]
54
63
  mode = next((m for m in modes if m[6].get('is-current')), None)
55
64
  if mode and (mode[1], mode[2]) == (W, H):
56
65
  if logical and abs(logical[0][2] - SCALE) < 0.01:
57
- print('RD_OK scale already set'); sys.exit(0)
58
- if not any(abs(s - SCALE) < 0.01 for s in mode[5]):
59
- print('RD_ERR scale not supported for this mode'); sys.exit(0)
60
- call('ApplyMonitorsConfig', GLib.Variant('(uua(iiduba(ssa{sv}))a{sv})',
61
- (serial, 1, [(0, 0, SCALE, 0, True, [(connector, mode[0], {})])], {})))
62
- print('RD_OK scaled'); sys.exit(0)
66
+ steady += 1
67
+ if steady >= 20 or (steady >= 5 and not applied):
68
+ print('RD_OK scaled' if applied else 'RD_OK scale already set'); sys.exit(0)
69
+ else:
70
+ steady = 0
71
+ if not any(abs(s - SCALE) < 0.01 for s in mode[5]):
72
+ print('RD_ERR scale not supported for this mode'); sys.exit(0)
73
+ if applied >= 5:
74
+ print('RD_ERR the scale kept being reset'); sys.exit(0)
75
+ call('ApplyMonitorsConfig', GLib.Variant('(uua(iiduba(ssa{sv}))a{sv})',
76
+ (serial, 1, [(0, 0, SCALE, 0, True, [(connector, mode[0], {})])], {})))
77
+ applied += 1
63
78
  time.sleep(0.1)
64
- print('RD_ERR the new mode never became current')
79
+ print('RD_OK scaled' if applied else 'RD_ERR the new mode never became current')
65
80
  `;
66
81
  /** The remote display size for a pane of this size under these settings. */
67
82
  function remoteSizeFor(rect, settings) {
@@ -86,6 +101,10 @@ class DesktopSession {
86
101
  /** What the remote display was last set to. */
87
102
  this.remoteSize = null;
88
103
  this.remote = null;
104
+ /** Plays the remote's sound, when the sound setting was on at connect. */
105
+ this.audio = null;
106
+ /** Files through the clipboard (drop on the desktop, or copy on the remote). */
107
+ this.files = null;
89
108
  this.reclaimFocus = (event) => {
90
109
  if (this.visible && !this.overlay.contains(event.target)) {
91
110
  setTimeout(() => this.visible && this.focusDesktop());
@@ -97,7 +116,7 @@ class DesktopSession {
97
116
  this.overlay.className = 'trd-overlay';
98
117
  this.overlay.innerHTML = `
99
118
  <div class="trd-host"></div>
100
- <div class="trd-status"></div>`;
119
+ <div class="trd-status"><div class="trd-status-text"></div><div class="trd-status-actions"></div></div>`;
101
120
  this.host = this.overlay.querySelector('.trd-host');
102
121
  this.statusEl = this.overlay.querySelector('.trd-status');
103
122
  if (getComputedStyle(container).position === 'static') {
@@ -126,9 +145,19 @@ class DesktopSession {
126
145
  setTimeout(() => this.visible && this.focusDesktop());
127
146
  }
128
147
  }
129
- status(msg) {
148
+ /** Shows a message over the desktop (empty: none), with buttons; with buttons the last picture is dimmed. */
149
+ status(msg, actions = []) {
130
150
  this.log.push(`${new Date().toISOString()} ${msg}`);
131
- this.statusEl.textContent = msg;
151
+ this.statusEl.querySelector('.trd-status-text').textContent = msg;
152
+ this.statusEl.querySelector('.trd-status-actions').replaceChildren(...actions.map(action => {
153
+ const button = document.createElement('button');
154
+ button.className = 'btn btn-secondary';
155
+ button.textContent = action.label;
156
+ button.addEventListener('click', () => action.run());
157
+ return button;
158
+ }));
159
+ this.statusEl.style.display = msg || actions.length ? '' : 'none';
160
+ this.overlay.classList.toggle('trd-dim', actions.length > 0);
132
161
  }
133
162
  onDispose(f) {
134
163
  this.disposers.push(f);
@@ -160,6 +189,8 @@ class DesktopSession {
160
189
  this.ui?.shutdown();
161
190
  }
162
191
  catch { }
192
+ this.audio?.close();
193
+ this.files?.dispose();
163
194
  this.proxy?.close();
164
195
  this.overlay.remove();
165
196
  }
@@ -169,7 +200,7 @@ class DesktopSession {
169
200
  * over that pane's terminal. Toggling hides the layer and returns to the console; the RDP session keeps
170
201
  * running until disconnected or the pane closes. One desktop per remote account.
171
202
  */
172
- let RemoteDesktopService = class RemoteDesktopService {
203
+ let RemoteDesktopService = RemoteDesktopService_1 = class RemoteDesktopService {
173
204
  constructor(app, targets, notifications, config, zone) {
174
205
  this.app = app;
175
206
  this.targets = targets;
@@ -181,6 +212,8 @@ let RemoteDesktopService = class RemoteDesktopService {
181
212
  this.sessions = new Map();
182
213
  this.ironrdp = null;
183
214
  this.lastUsed = new Map();
215
+ /** Automatic reconnection after a desktop dropped, per pane: attempts so far and the pending timer. */
216
+ this.reconnects = new Map();
184
217
  }
185
218
  has(pane) {
186
219
  this.prune();
@@ -215,6 +248,14 @@ let RemoteDesktopService = class RemoteDesktopService {
215
248
  const specs = target ? this.desktopsOf(target) : [];
216
249
  return { specs, current: this.desktopOf(pane) ?? (target ? this.defaultDesktop(target) : null) };
217
250
  }
251
+ /** "Send files to the remote desktop…": picks files to paste there. */
252
+ sendFiles(pane) {
253
+ this.sessions.get(pane)?.files?.pickAndSend().catch(() => null);
254
+ }
255
+ /** Whether the pane's desktop is connected (and so can take files). */
256
+ isConnected(pane) {
257
+ return this.sessions.get(pane)?.state === 'connected';
258
+ }
218
259
  /** The desktop this pane shows or has open, if any. */
219
260
  desktopOf(pane) {
220
261
  return this.sessions.get(pane)?.spec ?? null;
@@ -262,7 +303,7 @@ let RemoteDesktopService = class RemoteDesktopService {
262
303
  * Shows a desktop over the pane: `desktopId` (see desktopsOf), or the one it has open, or the default. A pane
263
304
  * holds one desktop at a time; choosing another one replaces it.
264
305
  */
265
- async showDesktop(pane, desktopId) {
306
+ async showDesktop(pane, desktopId, options = {}) {
266
307
  this.prune();
267
308
  let session = this.sessions.get(pane);
268
309
  if (session?.state === 'ended' || session && desktopId && session.spec.id !== desktopId) {
@@ -306,6 +347,9 @@ let RemoteDesktopService = class RemoteDesktopService {
306
347
  created.onDispose(() => focused.unsubscribe());
307
348
  this.connect(pane, target, spec, created);
308
349
  }
350
+ if (options.background) {
351
+ return;
352
+ }
309
353
  session.setVisible(true);
310
354
  this.changed$.next();
311
355
  const shown = session;
@@ -394,6 +438,10 @@ let RemoteDesktopService = class RemoteDesktopService {
394
438
  pane.frontend?.focus();
395
439
  }
396
440
  disconnect(pane) {
441
+ this.cancelReconnect(pane);
442
+ this.drop(pane);
443
+ }
444
+ drop(pane, refocus = true) {
397
445
  const session = this.sessions.get(pane);
398
446
  if (!session) {
399
447
  return;
@@ -402,16 +450,87 @@ let RemoteDesktopService = class RemoteDesktopService {
402
450
  const wasVisible = session.visible;
403
451
  session.dispose();
404
452
  this.changed$.next();
405
- if (wasVisible) {
453
+ if (wasVisible && refocus) {
406
454
  pane.frontend?.focus();
407
455
  }
408
456
  }
457
+ cancelReconnect(pane) {
458
+ clearTimeout(this.reconnects.get(pane)?.timer);
459
+ this.reconnects.delete(pane);
460
+ }
461
+ /** Connects this pane's desktop again, keeping it shown or hidden as it was. */
462
+ async reopen(pane, spec, automatic = false) {
463
+ if (!automatic) {
464
+ this.cancelReconnect(pane);
465
+ }
466
+ const session = this.sessions.get(pane);
467
+ const background = !!session && !session.visible;
468
+ this.drop(pane, false);
469
+ await this.zone.run(() => this.showDesktop(pane, spec.id, { background }));
470
+ }
471
+ /** After a desktop ended: reconnect by itself if it dropped, otherwise offer to. */
472
+ afterEnd(pane, target, spec, session, outcome) {
473
+ session.state = 'ended';
474
+ this.changed$.next();
475
+ if (this.sessions.get(pane) !== session) {
476
+ return;
477
+ }
478
+ const sshDown = !target.isOpen();
479
+ const retrying = this.reconnects.has(pane);
480
+ const again = (label) => ({ label, run: () => this.reopen(pane, spec) });
481
+ if (outcome.connected ? outcome.error !== undefined || sshDown : retrying || sshDown) {
482
+ this.scheduleReconnect(pane, target, spec, session, outcome.connected
483
+ ? `Connection lost${outcome.error ? `: ${outcome.error}` : ''}.`
484
+ : `Couldn't reconnect: ${outcome.error ?? outcome.reason ?? 'unknown error'}.`);
485
+ }
486
+ else if (outcome.connected) {
487
+ session.status(`Remote desktop session ended: ${outcome.reason ?? 'unknown reason'}`, [again('Reconnect')]);
488
+ }
489
+ else {
490
+ session.status(`Remote desktop failed: ${outcome.error ?? 'unknown error'}`, [again('Try again')]);
491
+ }
492
+ }
493
+ scheduleReconnect(pane, target, spec, session, message) {
494
+ const state = this.reconnects.get(pane) ?? { attempts: 0 };
495
+ this.reconnects.set(pane, state);
496
+ clearTimeout(state.timer);
497
+ const current = () => this.sessions.get(pane) === session;
498
+ const stop = {
499
+ label: 'Stop',
500
+ run: () => {
501
+ this.cancelReconnect(pane);
502
+ session.status(message, [{ label: 'Reconnect', run: () => this.reopen(pane, spec) }]);
503
+ },
504
+ };
505
+ if (!target.isOpen()) {
506
+ // The desktop layer hides the console, where Tabby offers to reconnect SSH: offer it here too.
507
+ const actions = [...target.reconnectSSH ? [{ label: 'Reconnect SSH', run: () => target.reconnectSSH().catch(() => null) }] : [], stop];
508
+ session.status(`${message}\nWaiting for the SSH connection to ${target.label}…`, actions);
509
+ state.timer = setTimeout(() => {
510
+ if (current()) {
511
+ target.isOpen() ? this.reopen(pane, spec, true) : this.scheduleReconnect(pane, target, spec, session, message);
512
+ }
513
+ }, 2000);
514
+ return;
515
+ }
516
+ const delays = RemoteDesktopService_1.RECONNECT_DELAYS;
517
+ if (state.attempts >= delays.length) {
518
+ this.reconnects.delete(pane);
519
+ session.status(`${message}\nStopped reconnecting automatically.`, [{ label: 'Reconnect', run: () => this.reopen(pane, spec) }]);
520
+ return;
521
+ }
522
+ const delay = delays[state.attempts++];
523
+ session.status(`${message}\nReconnecting in ${delay} s…`, [{ label: 'Reconnect now', run: () => this.reopen(pane, spec, true) }, stop]);
524
+ state.timer = setTimeout(() => current() && this.reopen(pane, spec, true), delay * 1000);
525
+ }
409
526
  settings() {
410
527
  const store = this.config.store.remoteDesktop ?? {};
411
528
  return {
412
529
  resize: ['live', 'reconnect', 'off'].includes(store.resize) ? store.resize : 'live',
413
530
  sharpness: store.sharpness === 'retina' ? 'retina' : 'standard',
414
531
  desk: store.desk === true,
532
+ macShortcuts: store.macShortcuts !== false,
533
+ sound: store.sound !== false,
415
534
  };
416
535
  }
417
536
  /** Changes a setting, saves it, and applies it to open desktops. */
@@ -534,7 +653,8 @@ let RemoteDesktopService = class RemoteDesktopService {
534
653
  if (!endpoint) {
535
654
  session.state = 'ended';
536
655
  this.changed$.next();
537
- session.status('Sign-in cancelled.\nShow the desktop again to sign in.');
656
+ this.cancelReconnect(pane);
657
+ session.status('Sign-in cancelled.', [{ label: 'Sign in', run: () => this.reopen(pane, spec) }]);
538
658
  return;
539
659
  }
540
660
  session.remote = target;
@@ -545,13 +665,16 @@ let RemoteDesktopService = class RemoteDesktopService {
545
665
  retryError = outcome.signInFailed;
546
666
  continue;
547
667
  }
668
+ if (alive()) {
669
+ this.afterEnd(pane, target, spec, session, outcome);
670
+ }
548
671
  return;
549
672
  }
550
673
  }
551
674
  catch (e) {
552
- session.state = 'ended';
553
- this.changed$.next();
554
- session.status(`Remote desktop failed: ${e?.message ?? e}`);
675
+ if (alive()) {
676
+ this.afterEnd(pane, target, spec, session, { connected: false, error: e?.message ?? String(e) });
677
+ }
555
678
  }
556
679
  }
557
680
  /** One RDP connection attempt, until it ends. */
@@ -566,6 +689,10 @@ let RemoteDesktopService = class RemoteDesktopService {
566
689
  const ready = new Promise(resolve => el.addEventListener('ready', (e) => resolve(e.detail.irgUserInteraction), { once: true }));
567
690
  session.host.replaceChildren(el);
568
691
  session.ui = await ready;
692
+ // Files through the clipboard: registered before connecting, which sets up its channel messages.
693
+ session.files?.dispose();
694
+ session.files = new fileTransfer_1.FileTransfer(rdp, session.overlay, m => session.log.push(m));
695
+ session.ui.enableFileTransfer(session.files.provider);
569
696
  // The component outlines itself while it has the keyboard; the desktop should look like the
570
697
  // terminal it replaces, edge to edge. Its styles live in a shadow root, so adopt a sheet there.
571
698
  // Not a <style> element: the component only forwards keys while its own container is the shadow
@@ -594,11 +721,16 @@ let RemoteDesktopService = class RemoteDesktopService {
594
721
  .withExtension(rdp.displayControl(true))
595
722
  // GNOME Remote Desktop requires the graphics pipeline; Windows does better with bitmaps
596
723
  // (IronRDP decodes EGFX without H.264, which Windows would want).
597
- .withExtension(rdp.graphicsPipeline(spec.kind === 'gnome'))
598
- .build();
724
+ .withExtension(rdp.graphicsPipeline(spec.kind === 'gnome'));
725
+ if (settings.sound) {
726
+ session.audio?.close();
727
+ session.audio = new audio_1.AudioPlayer();
728
+ config.withExtension(rdp.audioPlayback(session.audio.callback));
729
+ }
730
+ const built = config.build();
599
731
  let info;
600
732
  try {
601
- info = await session.ui.connect(config);
733
+ info = await session.ui.connect(built);
602
734
  }
603
735
  catch (e) {
604
736
  // IronErrorKind: 1 WrongPassword, 2 LogonFailure.
@@ -623,28 +755,30 @@ let RemoteDesktopService = class RemoteDesktopService {
623
755
  session.state = 'connected';
624
756
  session.status('');
625
757
  this.changed$.next();
758
+ this.reconnects.delete(pane); // connected again: a later drop starts over
626
759
  if (endpoint.remember) {
627
760
  (0, signin_1.saveCredentials)(session.key, credentials).then(() => session.log.push('sign-in: saved in the keychain'), e => session.log.push(`sign-in: keychain: ${e?.message ?? e}`));
628
761
  }
629
762
  if (session.visible) {
630
763
  session.focusDesktop();
631
764
  }
632
- const end = await info.run();
633
- session.state = 'ended';
634
- this.changed$.next();
635
- session.status(`Remote desktop session ended: ${end.reason()}\nShow the desktop again to reconnect.`);
636
- return { connected: true };
765
+ let end;
766
+ try {
767
+ end = await info.run();
768
+ }
769
+ catch (e) {
770
+ return { connected: true, error: typeof e?.backtrace === 'function' ? e.backtrace().split('\n')[0] : (e?.message ?? String(e)) };
771
+ }
772
+ return { connected: true, reason: end?.reason?.() };
637
773
  }
638
774
  catch (e) {
639
- session.state = 'ended';
640
- this.changed$.next();
641
- session.status(`Remote desktop failed: ${e?.message ?? e}`);
642
- return { connected: false };
775
+ return { connected: false, error: e?.message ?? String(e) };
643
776
  }
644
777
  }
645
778
  };
646
779
  exports.RemoteDesktopService = RemoteDesktopService;
647
- exports.RemoteDesktopService = RemoteDesktopService = __decorate([
780
+ RemoteDesktopService.RECONNECT_DELAYS = [1, 2, 4, 8, 15, 30];
781
+ exports.RemoteDesktopService = RemoteDesktopService = RemoteDesktopService_1 = __decorate([
648
782
  (0, core_1.Injectable)({ providedIn: 'root' }),
649
783
  __metadata("design:paramtypes", [tabby_core_1.AppService,
650
784
  targets_1.RemoteTargets,
@@ -659,7 +793,7 @@ function installStyle() {
659
793
  }
660
794
  styleInstalled = true;
661
795
  const style = document.createElement('style');
662
- style.textContent = STYLE + signin_1.STYLE;
796
+ style.textContent = STYLE + signin_1.STYLE + fileTransfer_1.STYLE;
663
797
  document.head.appendChild(style);
664
798
  }
665
799
  //# sourceMappingURL=desktop.service.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"desktop.service.js","sourceRoot":"","sources":["../src/desktop.service.ts"],"names":[],"mappings":";;;;;;;;;;;;AA0rBA,oCAQC;AAlsBD,wCAAkD;AAClD,+BAA8B;AAC9B,2CAA+F;AAC/F,6BAA4B;AAC5B,6BAAmC;AACnC,uCAAoE;AACpE,6CAAyD;AACzD,+CAA6C;AAC7C,yCAAkG;AAClG,+CAAoD;AACpD,+CAAuE;AACvE,qCAAwJ;AAExJ,kFAAkF;AAClF,MAAM,SAAS,GAAG,IAAI,QAAQ,CAAC,GAAG,EAAE,kBAAkB,CAAgC,CAAA;AACtF,MAAM,MAAM,GAAG,CAAC,CAAS,EAAE,EAAE,CAAC,IAAA,mBAAa,EAAC,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,IAAI,EAAE,QAAQ,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,CAAA;AAEzF,MAAM,KAAK,GAAG;;;;;;;CAOb,CAAA;AAqBD;;;;GAIG;AACH,MAAM,YAAY,GAAG;;;;;;;;;;;;;;;;;;;;;;;CAuBpB,CAAA;AAED,4EAA4E;AAC5E,SAAS,aAAa,CAAE,IAAuC,EAAE,QAAyB;IACtF,MAAM,GAAG,GAAG,QAAQ,CAAC,SAAS,KAAK,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,MAAM,CAAC,gBAAgB,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAA;IAC3F,MAAM,IAAI,GAAG,CAAC,CAAS,EAAE,GAAW,EAAE,GAAW,EAAE,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,EAAE,IAAI,CAAC,GAAG,CAAC,GAAG,EAAE,IAAI,CAAC,KAAK,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAA;IACzG,OAAO;QACH,KAAK,EAAE,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,GAAG,GAAG,EAAE,GAAG,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI;QAC5D,MAAM,EAAE,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,GAAG,GAAG,EAAE,GAAG,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI;QAC/D,KAAK,EAAE,IAAI,CAAC,KAAK,CAAC,GAAG,GAAG,GAAG,CAAC;KAC/B,CAAA;AACL,CAAC;AAED,MAAM,cAAc;IAgBhB,oDAAoD;IACpD,YAAa,SAAsB,EAAW,GAAW,EAAW,IAAiB;QAAvC,QAAG,GAAH,GAAG,CAAQ;QAAW,SAAI,GAAJ,IAAI,CAAa;QAhBrF,UAAK,GAAiB,YAAY,CAAA;QAClC,YAAO,GAAG,KAAK,CAAA;QAIf,UAAK,GAA4B,IAAI,CAAA;QACrC,OAAE,GAAQ,IAAI,CAAA;QACL,QAAG,GAAa,EAAE,CAAA;QAC3B,+CAA+C;QAC/C,eAAU,GAAsB,IAAI,CAAA;QACpC,WAAM,GAAwB,IAAI,CAAA;QA8BjB,iBAAY,GAAG,CAAC,KAAiB,EAAQ,EAAE;YACxD,IAAI,IAAI,CAAC,OAAO,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAC,MAAc,CAAC,EAAE,CAAC;gBAC/D,UAAU,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,OAAO,IAAI,IAAI,CAAC,YAAY,EAAE,CAAC,CAAA;YACzD,CAAC;QACL,CAAC,CAAA;QAuBO,cAAS,GAAmB,EAAE,CAAA;QAlDlC,IAAI,CAAC,QAAQ,GAAG,IAAI,OAAO,CAAC,OAAO,CAAC,EAAE,GAAG,IAAI,CAAC,YAAY,GAAG,OAAO,CAAA,CAAC,CAAC,CAAC,CAAA;QACvE,IAAI,CAAC,OAAO,GAAG,QAAQ,CAAC,aAAa,CAAC,KAAK,CAAC,CAAA;QAC5C,IAAI,CAAC,OAAO,CAAC,SAAS,GAAG,aAAa,CAAA;QACtC,IAAI,CAAC,OAAO,CAAC,SAAS,GAAG;;2CAEU,CAAA;QACnC,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC,OAAO,CAAC,aAAa,CAAC,WAAW,CAAE,CAAA;QACpD,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC,OAAO,CAAC,aAAa,CAAC,aAAa,CAAE,CAAA;QAC1D,IAAI,gBAAgB,CAAC,SAAS,CAAC,CAAC,QAAQ,KAAK,QAAQ,EAAE,CAAC;YACpD,SAAS,CAAC,KAAK,CAAC,QAAQ,GAAG,UAAU,CAAA;QACzC,CAAC;QACD,SAAS,CAAC,WAAW,CAAC,IAAI,CAAC,OAAO,CAAC,CAAA;QAEnC,yFAAyF;QACzF,yFAAyF;QACzF,8FAA8F;QAC9F,IAAI,CAAC,SAAS,GAAG,SAAS,CAAA;QAC1B,SAAS,CAAC,gBAAgB,CAAC,SAAS,EAAE,IAAI,CAAC,YAAY,EAAE,IAAI,CAAC,CAAA;QAC9D,IAAI,CAAC,OAAO,CAAC,gBAAgB,CAAC,WAAW,EAAE,GAAG,EAAE,CAAC,IAAI,CAAC,YAAY,EAAE,CAAC,CAAA;IACzE,CAAC;IAUD;;;;OAIG;IACH,UAAU,CAAE,OAAgB;QACxB,IAAI,CAAC,OAAO,GAAG,OAAO,CAAA;QACtB,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,OAAO,GAAG,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,MAAM,CAAA;QAClD,IAAI,CAAC,SAAS,CAAC,gBAAgB,CAAsB,gCAAgC,CAAC,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE;YACnG,KAAK,CAAC,QAAQ,GAAG,OAAO,CAAA;QAC5B,CAAC,CAAC,CAAA;QACF,IAAI,OAAO,EAAE,CAAC;YACV,UAAU,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,OAAO,IAAI,IAAI,CAAC,YAAY,EAAE,CAAC,CAAA;QACzD,CAAC;IACL,CAAC;IAED,MAAM,CAAE,GAAW;QACf,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,IAAI,GAAG,EAAE,CAAC,CAAA;QACnD,IAAI,CAAC,QAAQ,CAAC,WAAW,GAAG,GAAG,CAAA;IACnC,CAAC;IAID,SAAS,CAAE,CAAa;QACpB,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,CAAC,CAAA;IAC1B,CAAC;IAED,+GAA+G;IAC/G,YAAY,CAAE,QAAQ,GAAG,EAAE;QACvB,0GAA0G;QAC1G,MAAM,MAAM,GAAG,IAAI,CAAC,OAAO,CAAC,aAAa,CAAkB,kBAAkB,CAAC,CAAA;QAC9E,IAAI,MAAM,EAAE,CAAC;YACT,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,QAAQ,CAAC,aAAa,CAAC,EAAE,CAAC;gBAC3C,MAAM,IAAI,GAAG,MAAM,CAAC,aAAa,CAAmB,iBAAiB,CAAE,CACtE;gBAAA,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,CAAC,aAAa,CAAmB,iBAAiB,CAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,KAAK,EAAE,CAAA;YAC7F,CAAC;YACD,OAAM;QACV,CAAC;QACD,MAAM,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC,aAAa,CAAC,qBAAqB,CAAC,CAAA;QAC3D,MAAM,MAAM,GAAG,IAAI,EAAE,UAAU,EAAE,aAAa,CAAC,QAAQ,CAAuB,CAAA;QAC9E,MAAM,EAAE,KAAK,EAAE,CAAA;QACf,IAAI,IAAI,IAAI,QAAQ,CAAC,aAAa,KAAK,IAAI,IAAI,QAAQ,GAAG,CAAC,IAAI,IAAI,CAAC,OAAO,EAAE,CAAC;YAC1E,UAAU,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,OAAO,IAAI,IAAI,CAAC,YAAY,CAAC,QAAQ,GAAG,CAAC,CAAC,EAAE,EAAE,CAAC,CAAA;QACzE,CAAC;IACL,CAAC;IAED,OAAO;QACH,IAAI,CAAC,YAAY,EAAE,CAAA;QACnB,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC,CAAA;QACtB,IAAI,CAAC,SAAS,CAAC,mBAAmB,CAAC,SAAS,EAAE,IAAI,CAAC,YAAY,EAAE,IAAI,CAAC,CAAA;QACtE,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC,CAAA;QAChC,IAAI,CAAC;YAAC,IAAI,CAAC,EAAE,EAAE,QAAQ,EAAE,CAAA;QAAC,CAAC;QAAC,MAAM,CAAC,CAAC,CAAC;QACrC,IAAI,CAAC,KAAK,EAAE,KAAK,EAAE,CAAA;QACnB,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE,CAAA;IACzB,CAAC;CACJ;AAED;;;;GAIG;AAEI,IAAM,oBAAoB,GAA1B,MAAM,oBAAoB;IAM7B,YACY,GAAe,EACf,OAAsB,EACtB,aAAmC,EACnC,MAAqB,EACrB,IAAY;QAJZ,QAAG,GAAH,GAAG,CAAY;QACf,YAAO,GAAP,OAAO,CAAe;QACtB,kBAAa,GAAb,aAAa,CAAsB;QACnC,WAAM,GAAN,MAAM,CAAe;QACrB,SAAI,GAAJ,IAAI,CAAQ;QAVxB,kGAAkG;QACzF,aAAQ,GAAG,IAAI,cAAO,EAAQ,CAAA;QAC/B,aAAQ,GAAG,IAAI,GAAG,EAA+B,CAAA;QACjD,YAAO,GAAwB,IAAI,CAAA;QAqDnC,aAAQ,GAAG,IAAI,GAAG,EAAkB,CAAA;IA7CxC,CAAC;IAEL,GAAG,CAAE,IAAiB;QAClB,IAAI,CAAC,KAAK,EAAE,CAAA;QACZ,OAAO,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,IAAI,CAAC,CAAA;IAClC,CAAC;IAED,SAAS,CAAE,IAAiB;QACxB,OAAO,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,OAAO,CAAA;IAC7C,CAAC;IAED,KAAK,CAAC,MAAM,CAAE,IAAiB;QAC3B,IAAI,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC;YACvB,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,CAAA;QAC1B,CAAC;aAAM,CAAC;YACJ,MAAM,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,CAAA;QAChC,CAAC;IACL,CAAC;IAED,0FAA0F;IAC1F,UAAU,CAAE,MAAoB;QAC5B,OAAO,IAAA,sBAAW,EAAC,MAAM,EAAE,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,aAAa,EAAE,QAAQ,CAAC,CAAA;IACzE,CAAC;IAED,2GAA2G;IAC3G,cAAc,CAAE,MAAoB;QAChC,MAAM,KAAK,GAAG,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,CAAA;QACrC,OAAO,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,KAAK,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,KAAK,CAAC,CAAC,CAAC,CAAA;IAC9E,CAAC;IAED;;;OAGG;IACH,SAAS,CAAE,IAAiB;QACxB,MAAM,MAAM,GAAG,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,IAAI,CAAC,CAAA;QACxC,MAAM,KAAK,GAAG,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,EAAE,CAAA;QACnD,OAAO,EAAE,KAAK,EAAE,OAAO,EAAE,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,cAAc,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,EAAE,CAAA;IACpG,CAAC;IAED,uDAAuD;IACvD,SAAS,CAAE,IAAiB;QACxB,OAAO,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,IAAI,IAAI,IAAI,CAAA;IAChD,CAAC;IAID,0EAA0E;IAC1E,kBAAkB;QACd,MAAM,IAAI,GAAG,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,aAAa,EAAE,QAAQ,CAAA;QACtD,OAAO,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC,EAAE,CAAA;IAC/C,CAAC;IAED,gGAAgG;IAChG,KAAK,CAAC,UAAU,CAAE,IAAiB;QAC/B,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAA;QAChD,IAAI,CAAC,MAAM,EAAE,CAAC;YACV,IAAI,CAAC,aAAa,CAAC,KAAK,CAAC,0CAA0C,CAAC,CAAA;YACpE,OAAM;QACV,CAAC;QACD,IAAI,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC;YACvB,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,CAAA;QAC1B,CAAC;QACD,2FAA2F;QAC3F,MAAM,QAAQ,GAAG,MAAM,CAAC,GAAG,CAAC,OAAO,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC,OAAO,CAAC,SAAS,EAAE,EAAE,CAAC,CAAA;QACvE,MAAM,KAAK,GAAG,MAAM,IAAA,2BAAa,EAAC,IAAI,CAAC,OAAO,CAAC,aAAa,EAAE,QAAQ,EAAE,MAAM,CAAC,KAAK,CAAC,CAAA;QACrF,IAAI,CAAC,KAAK,EAAE,CAAC;YACT,IAAI,CAAC,QAAQ,EAAE,KAAK,EAAE,CAAA;YACtB,OAAM;QACV,CAAC;QACD,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,aAAa,CAAC,QAAQ,GAAG,CAAC,GAAG,IAAI,CAAC,kBAAkB,EAAE,EAAE,KAAK,CAAC,CAAA;QAChF,IAAI,CAAC,MAAM,CAAC,IAAI,EAAE,CAAA;QAClB,IAAI,CAAC,QAAQ,CAAC,IAAI,EAAE,CAAA;QACpB,MAAM,IAAI,CAAC,WAAW,CAAC,IAAI,EAAE,GAAG,KAAK,CAAC,IAAI,IAAI,KAAK,CAAC,IAAI,EAAE,CAAC,CAAA;IAC/D,CAAC;IAED,6FAA6F;IAC7F,aAAa,CAAE,KAAa;QACxB,MAAM,IAAI,GAAG,IAAI,CAAC,kBAAkB,EAAE,CAAA;QACtC,MAAM,CAAC,OAAO,CAAC,GAAG,IAAI,CAAC,MAAM,CAAC,KAAK,EAAE,CAAC,CAAC,CAAA;QACvC,IAAI,CAAC,OAAO,EAAE,CAAC;YACX,OAAM;QACV,CAAC;QACD,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,aAAa,CAAC,QAAQ,GAAG,IAAI,CAAA;QAC/C,IAAI,CAAC,MAAM,CAAC,IAAI,EAAE,CAAA;QAClB,IAAI,CAAC,QAAQ,CAAC,IAAI,EAAE,CAAA;QACpB,IAAA,6BAAoB,EAAC,GAAG,OAAO,CAAC,IAAI,IAAI,WAAW,IAAI,OAAO,CAAC,IAAI,IAAI,IAAI,EAAE,CAAC,CAAA;IAClF,CAAC;IAED;;;OAGG;IACH,KAAK,CAAC,WAAW,CAAE,IAAiB,EAAE,SAAkB;QACpD,IAAI,CAAC,KAAK,EAAE,CAAA;QACZ,IAAI,OAAO,GAAG,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,IAAI,CAAC,CAAA;QACrC,IAAI,OAAO,EAAE,KAAK,KAAK,OAAO,IAAI,OAAO,IAAI,SAAS,IAAI,OAAO,CAAC,IAAI,CAAC,EAAE,KAAK,SAAS,EAAE,CAAC;YACtF,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,CAAA;YACrB,OAAO,GAAG,SAAS,CAAA;QACvB,CAAC;QACD,IAAI,CAAC,OAAO,EAAE,CAAC;YACX,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAA;YAChD,IAAI,CAAC,MAAM,EAAE,CAAC;gBACV,IAAI,CAAC,aAAa,CAAC,KAAK,CAAC,0CAA0C,CAAC,CAAA;gBACpE,OAAM;YACV,CAAC;YACD,IAAI,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC;gBAC1B,wDAAwD;gBACxD,OAAO,IAAI,CAAC,WAAW,CAAC,IAAI,EAAE,SAAS,CAAC,CAAA;YAC5C,CAAC;YACD,MAAM,IAAI,GAAG,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,KAAK,SAAS,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,cAAc,CAAC,MAAM,CAAC,CAAA;YAC5G,IAAI,CAAC,IAAI,EAAE,CAAC;gBACR,IAAI,CAAC,aAAa,CAAC,KAAK,CAAC,oDAAoD,CAAC,CAAA;gBAC9E,OAAM;YACV,CAAC;YACD,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,MAAM,CAAC,GAAG,EAAE,IAAI,CAAC,EAAE,CAAC,CAAA;YACtC,MAAM,GAAG,GAAG,IAAA,qBAAU,EAAC,MAAM,EAAE,IAAI,CAAC,CAAA;YACpC,8FAA8F;YAC9F,8BAA8B;YAC9B,MAAM,QAAQ,GAAG,IAAI,CAAC,kBAAkB,CAAC,GAAG,CAAC,CAAA;YAC7C,IAAI,QAAQ,EAAE,CAAC;gBACX,IAAI,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAA;gBACzB,OAAO,IAAI,CAAC,WAAW,CAAC,QAAQ,CAAC,CAAA;YACrC,CAAC;YACD,MAAM,OAAO,GAAG,IAAI,cAAc,CAAC,IAAI,CAAC,OAAO,CAAC,aAAa,EAAE,GAAG,EAAE,IAAI,CAAC,CAAA;YACzE,OAAO,GAAG,OAAO,CAAA;YACjB,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,IAAI,EAAE,OAAO,CAAC,CAAA;YAChC,IAAI,CAAC,UAAU,CAAC,SAAS,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC,CAAA;YACtD,+FAA+F;YAC/F,MAAM,OAAO,GAAG,IAAI,CAAC,QAAQ,CAAC,SAAS,CAAC,GAAG,EAAE;gBACzC,IAAI,OAAO,CAAC,OAAO,EAAE,CAAC;oBAClB,UAAU,CAAC,GAAG,EAAE,CAAC,OAAO,CAAC,OAAO,IAAI,OAAO,CAAC,YAAY,EAAE,CAAC,CAAA;gBAC/D,CAAC;YACL,CAAC,CAAC,CAAA;YACF,OAAO,CAAC,SAAS,CAAC,GAAG,EAAE,CAAC,OAAO,CAAC,WAAW,EAAE,CAAC,CAAA;YAC9C,IAAI,CAAC,OAAO,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,OAAO,CAAC,CAAA;QAC7C,CAAC;QACD,OAAO,CAAC,UAAU,CAAC,IAAI,CAAC,CAAA;QACxB,IAAI,CAAC,QAAQ,CAAC,IAAI,EAAE,CAAA;QACpB,MAAM,KAAK,GAAG,OAAO,CAAA;QACrB,UAAU,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,UAAU,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC,CAAA;IAClD,CAAC;IAED;;;OAGG;IACH,KAAK,CAAC,WAAW,CAAE,IAAiB,EAAE,OAAoB;QACtD,MAAM,IAAI,CAAC,WAAW,CAAC,IAAI,EAAE,sBAAW,CAAC,CAAA;QACzC,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAA;QAChD,IAAI,CAAC,MAAM,EAAE,CAAC;YACV,OAAM;QACV,CAAC;QACD,wFAAwF;QACxF,IAAI,OAAmC,CAAA;QACvC,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,GAAG,EAAE,CAAC,EAAE,EAAE,CAAC;YAC3B,MAAM,KAAK,GAAG,IAAI,CAAC,kBAAkB,CAAC,MAAM,CAAC,GAAG,CAAC,CAAA,CAAE,yBAAyB;YAC5E,OAAO,GAAG,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,SAAS,CAAA;YACtD,IAAI,CAAC,OAAO,IAAI,OAAO,CAAC,KAAK,KAAK,YAAY,EAAE,CAAC;gBAC7C,MAAK;YACT,CAAC;YACD,MAAM,IAAI,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC,UAAU,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC,CAAA;QAC9C,CAAC;QACD,IAAI,OAAO,EAAE,KAAK,KAAK,WAAW,EAAE,CAAC;YACjC,OAAM;QACV,CAAC;QACD,IAAI,CAAC;YACD,MAAM,GAAG,GAAG,MAAM,MAAM,CAAC,IAAI,CAAC,OAAO,EAAE,IAAA,0BAAa,EAAC,OAAO,CAAC,CAAC,CAAA;YAC9D,MAAM,GAAG,GAAG,gBAAgB,CAAC,IAAI,CAAC,GAAG,CAAC,CAAA;YACtC,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,SAAS,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,SAAS,eAAe,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,WAAW,EAAE,CAAC,CAAA;YACpG,IAAI,GAAG,EAAE,CAAC;gBACN,IAAI,CAAC,aAAa,CAAC,KAAK,CAAC,SAAS,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAA;YAC/C,CAAC;QACL,CAAC;QAAC,OAAO,CAAM,EAAE,CAAC;YACd,IAAI,CAAC,aAAa,CAAC,KAAK,CAAC,SAAS,CAAC,EAAE,OAAO,IAAI,CAAC,EAAE,CAAC,CAAA;QACxD,CAAC;IACL,CAAC;IAED,yGAAyG;IACzG,eAAe,CAAE,IAAiB,EAAE,IAAkB;QAClD,MAAM,MAAM,GAAG,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,IAAI,CAAC,CAAA;QACxC,IAAI,CAAC,MAAM,IAAI,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC;YAC5B,OAAO,KAAK,CAAA;QAChB,CAAC;QACD,OAAO,CAAC,CAAC,IAAI,CAAC,kBAAkB,CAAC,IAAA,qBAAU,EAAC,MAAM,EAAE,IAAI,IAAI,IAAI,CAAC,cAAc,CAAC,MAAM,CAAC,CAAC,CAAC,CAAA;IAC7F,CAAC;IAEO,kBAAkB,CAAE,GAAW;QACnC,KAAK,MAAM,CAAC,IAAI,EAAE,OAAO,CAAC,IAAI,IAAI,CAAC,QAAQ,EAAE,CAAC;YAC1C,IAAI,OAAO,CAAC,GAAG,KAAK,GAAG,IAAI,OAAO,CAAC,KAAK,KAAK,OAAO,EAAE,CAAC;gBACnD,OAAO,IAAI,CAAA;YACf,CAAC;QACL,CAAC;QACD,OAAO,IAAI,CAAA;IACf,CAAC;IAED,iGAAiG;IACzF,KAAK;QACT,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,IAAI,EAAE,CAAC;YACtB,OAAM;QACV,CAAC;QACD,MAAM,KAAK,GAAG,IAAI,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,YAAY,8BAAiB,CAAC,CAAC,CAAC,CAAC,CAAC,UAAU,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAA;QACxG,KAAK,MAAM,CAAC,IAAI,EAAE,OAAO,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC,QAAQ,CAAC,EAAE,CAAC;YAC/C,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC;gBACnB,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,IAAI,CAAC,CAAA;gBAC1B,OAAO,CAAC,OAAO,EAAE,CAAA;YACrB,CAAC;QACL,CAAC;IACL,CAAC;IAED,oFAAoF;IAC5E,UAAU,CAAE,IAAiB;QACjC,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,IAAI,CAAC,CAAC,YAAY,8BAAiB,IAAI,CAAC,CAAC,UAAU,EAAE,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,CAAA;QACpH,IAAI,GAAG,EAAE,CAAC;YACN,IAAI,CAAC,GAAG,CAAC,SAAS,CAAC,GAAG,CAAC,CAAA;QAC3B,CAAC;QACD,IAAI,IAAI,CAAC,MAAM,YAAY,8BAAiB,EAAE,CAAC;YAC3C,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,CAAA;QAC3B,CAAC;IACL,CAAC;IAED,WAAW,CAAE,IAAiB;QAC1B,MAAM,OAAO,GAAG,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,IAAI,CAAC,CAAA;QACvC,IAAI,OAAO,EAAE,CAAC;YACV,OAAO,CAAC,UAAU,CAAC,KAAK,CAAC,CAAA;YACzB,IAAI,CAAC,QAAQ,CAAC,IAAI,EAAE,CAAA;QACxB,CAAC;QACD,IAAI,CAAC,QAAQ,EAAE,KAAK,EAAE,CAAA;IAC1B,CAAC;IAED,UAAU,CAAE,IAAiB;QACzB,MAAM,OAAO,GAAG,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,IAAI,CAAC,CAAA;QACvC,IAAI,CAAC,OAAO,EAAE,CAAC;YACX,OAAM;QACV,CAAC;QACD,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,IAAI,CAAC,CAAA;QAC1B,MAAM,UAAU,GAAG,OAAO,CAAC,OAAO,CAAA;QAClC,OAAO,CAAC,OAAO,EAAE,CAAA;QACjB,IAAI,CAAC,QAAQ,CAAC,IAAI,EAAE,CAAA;QACpB,IAAI,UAAU,EAAE,CAAC;YACb,IAAI,CAAC,QAAQ,EAAE,KAAK,EAAE,CAAA;QAC1B,CAAC;IACL,CAAC;IAED,QAAQ;QACJ,MAAM,KAAK,GAAG,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,aAAa,IAAI,EAAE,CAAA;QACnD,OAAO;YACH,MAAM,EAAE,CAAC,MAAM,EAAE,WAAW,EAAE,KAAK,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM;YACnF,SAAS,EAAE,KAAK,CAAC,SAAS,KAAK,QAAQ,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,UAAU;YAC/D,IAAI,EAAE,KAAK,CAAC,IAAI,KAAK,IAAI;SAC5B,CAAA;IACL,CAAC;IAED,oEAAoE;IACpE,cAAc,CAAE,MAAgC;QAC5C,MAAM,KAAK,GAAG,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,aAAa,CAAA;QAC7C,MAAM,CAAC,MAAM,CAAC,KAAK,EAAE,MAAM,CAAC,CAAA;QAC5B,IAAI,CAAC,MAAM,CAAC,IAAI,EAAE,CAAA;QAClB,KAAK,MAAM,CAAC,IAAI,EAAE,OAAO,CAAC,IAAI,IAAI,CAAC,QAAQ,EAAE,CAAC;YAC1C,IAAI,CAAC,UAAU,CAAC,IAAI,EAAE,OAAO,CAAC,CAAA;QAClC,CAAC;IACL,CAAC;IAED,2FAA2F;IACnF,SAAS,CAAE,IAAiB,EAAE,OAAuB;QACzD,IAAI,KAAU,CAAA;QACd,MAAM,QAAQ,GAAG,IAAI,cAAc,CAAC,GAAG,EAAE;YACrC,wFAAwF;YACxF,IAAI,CAAC;gBAAC,OAAO,CAAC,EAAE,EAAE,QAAQ,CAAC,CAAC,CAAC,qBAAqB,CAAC,CAAA;YAAC,CAAC;YAAC,MAAM,CAAC,CAAC,CAAC;YAC/D,8DAA8D;YAC9D,YAAY,CAAC,KAAK,CAAC,CAAA;YACnB,KAAK,GAAG,UAAU,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,UAAU,CAAC,IAAI,EAAE,OAAO,CAAC,EAAE,GAAG,CAAC,CAAA;QACjE,CAAC,CAAC,CAAA;QACF,QAAQ,CAAC,OAAO,CAAC,OAAO,CAAC,OAAO,CAAC,CAAA;QACjC,OAAO,CAAC,SAAS,CAAC,GAAG,EAAE;YACnB,YAAY,CAAC,KAAK,CAAC,CAAA;YACnB,QAAQ,CAAC,UAAU,EAAE,CAAA;QACzB,CAAC,CAAC,CAAA;IACN,CAAC;IAEO,UAAU,CAAE,IAAiB,EAAE,OAAuB;QAC1D,MAAM,IAAI,GAAG,OAAO,CAAC,OAAO,CAAC,qBAAqB,EAAE,CAAA;QACpD,IAAI,OAAO,CAAC,KAAK,KAAK,WAAW,IAAI,CAAC,OAAO,CAAC,OAAO,IAAI,CAAC,IAAI,CAAC,KAAK,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC;YACnF,OAAM,CAAE,yDAAyD;QACrE,CAAC;QACD,MAAM,QAAQ,GAAG,IAAI,CAAC,QAAQ,EAAE,CAAA;QAChC,MAAM,MAAM,GAAG,aAAa,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAA;QAC5C,MAAM,OAAO,GAAG,OAAO,CAAC,UAAU,CAAA;QAClC,IAAI,QAAQ,CAAC,MAAM,KAAK,KAAK,IAAI,OAAO,IAAI,OAAO,CAAC,KAAK,KAAK,MAAM,CAAC,KAAK,IAAI,OAAO,CAAC,MAAM,KAAK,MAAM,CAAC,MAAM,IAAI,OAAO,CAAC,KAAK,KAAK,MAAM,CAAC,KAAK,EAAE,CAAC;YAC/I,OAAM;QACV,CAAC;QACD,IAAI,QAAQ,CAAC,MAAM,KAAK,WAAW,EAAE,CAAC;YAClC,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,2BAA2B,MAAM,CAAC,KAAK,IAAI,MAAM,CAAC,MAAM,EAAE,CAAC,CAAA;YAC5E,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,EAAE;gBACf,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,CAAA;gBACrB,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,CAAA;YAC1B,CAAC,CAAC,CAAA;YACF,OAAM;QACV,CAAC;QACD,IAAI,CAAC,SAAS,CAAC,OAAO,EAAE,MAAM,CAAC,CAAA;IACnC,CAAC;IAEO,SAAS,CAAE,OAAuB,EAAE,IAAgB;QACxD,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,WAAW,IAAI,CAAC,KAAK,IAAI,IAAI,CAAC,MAAM,KAAK,IAAI,CAAC,KAAK,GAAG,CAAC,CAAA;QACxE,OAAO,CAAC,UAAU,GAAG,IAAI,CAAA;QACzB,OAAO,CAAC,EAAE,CAAC,MAAM,CAAC,IAAI,CAAC,KAAK,EAAE,IAAI,CAAC,MAAM,EAAE,IAAI,CAAC,KAAK,CAAC,CAAA;QACtD,mFAAmF;QACnF,IAAI,IAAI,CAAC,KAAK,KAAK,GAAG,IAAI,OAAO,CAAC,MAAM,IAAI,OAAO,CAAC,IAAI,CAAC,EAAE,KAAK,sBAAW,EAAE,CAAC;YAC1E,OAAO,CAAC,MAAM,CAAC,IAAI,CAAC,aAAa,IAAI,CAAC,KAAK,IAAI,IAAI,CAAC,MAAM,IAAI,IAAI,CAAC,KAAK,GAAG,GAAG,EAAE,EAAE,YAAY,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE;gBACvG,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,UAAU,qBAAqB,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,GAAG,CAAC,IAAI,EAAE,CAAC,KAAK,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC,CAAA;YAChG,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,UAAU,CAAC,EAAE,OAAO,IAAI,CAAC,EAAE,CAAC,CAAC,CAAA;QAC1D,CAAC;IACL,CAAC;IAED,gFAAgF;IAChF,KAAK,CAAE,IAAiB;QACpB,OAAO,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,GAAG,IAAI,EAAE,CAAA;IAC7C,CAAC;IAEO,WAAW;QACf,IAAI,CAAC,OAAO,KAAK,CAAC,KAAK,IAAI,EAAE;YACzB,MAAM,SAAS,CAAC,MAAM,CAAC,wBAAwB,CAAC,CAAC,CAAA;YACjD,MAAM,GAAG,GAAG,MAAM,SAAS,CAAC,MAAM,CAAC,4BAA4B,CAAC,CAAC,CAAA;YACjE,sFAAsF;YACtF,IAAI,KAAK,GAAG,MAAM,CAAA;YAClB,IAAI,CAAC;gBAAC,KAAK,GAAG,YAAY,CAAC,OAAO,CAAC,aAAa,CAAC,IAAI,KAAK,CAAA;YAAC,CAAC;YAAC,MAAM,CAAC,CAAC,CAAC;YACtE,MAAM,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC,CAAA;YACrB,OAAO,GAAG,CAAA;QACd,CAAC,CAAC,EAAE,CAAA;QACJ,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,GAAG,EAAE,GAAG,IAAI,CAAC,OAAO,GAAG,IAAI,CAAA,CAAC,CAAC,CAAC,CAAA;QACjD,OAAO,IAAI,CAAC,OAAO,CAAA;IACvB,CAAC;IAED;;;OAGG;IACK,KAAK,CAAC,WAAW,CAAE,MAAoB,EAAE,IAAiB,EAAE,OAAuB,EAAE,UAAmB;QAC5G,IAAI,IAAI,CAAC,EAAE,KAAK,sBAAW,EAAE,CAAC;YAC1B,OAAO,CAAC,MAAM,CAAC,mCAAmC,MAAM,CAAC,KAAK,GAAG,CAAC,CAAA;YAClE,MAAM,QAAQ,GAAG,MAAM,IAAA,kCAAoB,EAAC,MAAM,EAAE,IAAI,CAAC,QAAQ,EAAE,CAAC,IAAI,EAAE,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,aAAa,EAAE,cAAc,CAAC,CAAA;YAC1H,OAAO,EAAE,IAAI,EAAE,WAAW,EAAE,IAAI,EAAE,QAAQ,CAAC,IAAI,EAAE,WAAW,EAAE,EAAE,QAAQ,EAAE,QAAQ,CAAC,QAAQ,EAAE,QAAQ,EAAE,QAAQ,CAAC,QAAQ,EAAE,EAAE,QAAQ,EAAE,KAAK,EAAE,CAAA;QACjJ,CAAC;QACD,MAAM,KAAK,GAAG,UAAU,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,MAAM,IAAA,wBAAe,EAAC,OAAO,CAAC,GAAG,CAAC,CAAA;QACpE,IAAI,KAAK,EAAE,CAAC;YACR,OAAO,EAAE,IAAI,EAAE,IAAI,CAAC,IAAI,EAAE,IAAI,EAAE,IAAI,CAAC,IAAI,EAAE,WAAW,EAAE,KAAK,EAAE,QAAQ,EAAE,KAAK,EAAE,CAAA;QACpF,CAAC;QACD,OAAO,CAAC,MAAM,CAAC,EAAE,CAAC,CAAA;QAClB,MAAM,KAAK,GAAG,IAAA,uBAAc,EAAC,OAAO,CAAC,OAAO,EAAE;YAC1C,KAAK,EAAE,cAAc,IAAI,CAAC,IAAI,SAAS,MAAM,CAAC,KAAK,GAAG;YACtD,QAAQ,EAAE,IAAI,CAAC,QAAQ;YACvB,KAAK,EAAE,UAAU;YACjB,WAAW,EAAE,IAAI;SACpB,EAAE,OAAO,CAAC,QAAQ,CAAC,CAAA;QACpB,IAAI,OAAO,CAAC,OAAO,EAAE,CAAC;YAClB,UAAU,CAAC,GAAG,EAAE,CAAC,OAAO,CAAC,OAAO,IAAI,OAAO,CAAC,YAAY,EAAE,CAAC,CAAA;QAC/D,CAAC;QACD,MAAM,OAAO,GAAG,MAAM,KAAK,CAAA;QAC3B,OAAO,OAAO,IAAI,EAAE,IAAI,EAAE,IAAI,CAAC,IAAI,EAAE,IAAI,EAAE,IAAI,CAAC,IAAI,EAAE,WAAW,EAAE,OAAO,EAAE,QAAQ,EAAE,OAAO,CAAC,QAAQ,EAAE,CAAA;IAC5G,CAAC;IAEO,KAAK,CAAC,OAAO,CAAE,IAAiB,EAAE,MAAoB,EAAE,IAAiB,EAAE,OAAuB;QACtG,MAAM,KAAK,GAAG,GAAG,EAAE,CAAC,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,IAAI,CAAC,KAAK,OAAO,CAAA;QACvD,IAAI,UAA8B,CAAA;QAClC,IAAI,CAAC;YACD,wGAAwG;YACxG,KAAK,IAAI,OAAO,GAAG,CAAC,GAAI,OAAO,EAAE,EAAE,CAAC;gBAChC,MAAM,CAAC,QAAQ,EAAE,GAAG,CAAC,GAAG,MAAM,OAAO,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,WAAW,CAAC,MAAM,EAAE,IAAI,EAAE,OAAO,EAAE,UAAU,CAAC,EAAE,IAAI,CAAC,WAAW,EAAE,CAAC,CAAC,CAAA;gBACpH,IAAI,CAAC,KAAK,EAAE,EAAE,CAAC;oBACX,OAAM;gBACV,CAAC;gBACD,IAAI,CAAC,QAAQ,EAAE,CAAC;oBACZ,OAAO,CAAC,KAAK,GAAG,OAAO,CAAA;oBACvB,IAAI,CAAC,QAAQ,CAAC,IAAI,EAAE,CAAA;oBACpB,OAAO,CAAC,MAAM,CAAC,wDAAwD,CAAC,CAAA;oBACxE,OAAM;gBACV,CAAC;gBACD,OAAO,CAAC,MAAM,GAAG,MAAM,CAAA;gBACvB,OAAO,CAAC,KAAK,KAAK,MAAM,IAAA,mCAAqB,EAAC,GAAG,EAAE,CAAC,MAAM,CAAC,OAAO,CAAC,QAAQ,CAAC,IAAI,EAAE,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAA;gBAC3H,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,GAAG,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,OAAO,EAAE,GAAG,EAAE,QAAQ,CAAC,CAAA;gBAC1E,IAAI,OAAO,CAAC,YAAY,IAAI,IAAI,CAAC,EAAE,KAAK,sBAAW,IAAI,OAAO,GAAG,CAAC,IAAI,KAAK,EAAE,EAAE,CAAC;oBAC5E,MAAM,IAAA,0BAAiB,EAAC,OAAO,CAAC,GAAG,CAAC,CAAA;oBACpC,UAAU,GAAG,OAAO,CAAC,YAAY,CAAA;oBACjC,SAAQ;gBACZ,CAAC;gBACD,OAAM;YACV,CAAC;QACL,CAAC;QAAC,OAAO,CAAM,EAAE,CAAC;YACd,OAAO,CAAC,KAAK,GAAG,OAAO,CAAA;YACvB,IAAI,CAAC,QAAQ,CAAC,IAAI,EAAE,CAAA;YACpB,OAAO,CAAC,MAAM,CAAC,0BAA0B,CAAC,EAAE,OAAO,IAAI,CAAC,EAAE,CAAC,CAAA;QAC/D,CAAC;IACL,CAAC;IAED,iDAAiD;IACzC,KAAK,CAAC,GAAG,CACb,IAAiB,EAAE,MAAoB,EAAE,IAAiB,EAAE,OAAuB,EAAE,GAAQ,EAC7F,QAAqF;QAErF,MAAM,WAAW,GAAG,QAAQ,CAAC,WAAW,CAAA;QACxC,MAAM,KAAK,GAAG,GAAG,EAAE,CAAC,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,IAAI,CAAC,KAAK,OAAO,CAAA;QACvD,MAAM,EAAE,GAAG,QAAQ,CAAC,aAAa,CAAC,qBAAqB,CAAQ,CAAA;QAC/D,IAAI,CAAC;YACD,EAAE,CAAC,YAAY,CAAC,OAAO,EAAE,KAAK,CAAC,CAAA;YAC/B,EAAE,CAAC,YAAY,CAAC,YAAY,EAAE,MAAM,CAAC,CAAA;YACrC,EAAE,CAAC,MAAM,GAAG,GAAG,CAAC,OAAO,CAAA;YACvB,MAAM,KAAK,GAAG,IAAI,OAAO,CAAM,OAAO,CAAC,EAAE,CAAC,EAAE,CAAC,gBAAgB,CAAC,OAAO,EAAE,CAAC,CAAc,EAAE,EAAE,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,kBAAkB,CAAC,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC,CAAA;YACjJ,OAAO,CAAC,IAAI,CAAC,eAAe,CAAC,EAAE,CAAC,CAAA;YAChC,OAAO,CAAC,EAAE,GAAG,MAAM,KAAK,CAAA;YACxB,4FAA4F;YAC5F,gGAAgG;YAChG,gGAAgG;YAChG,oFAAoF;YACpF,IAAI,EAAE,CAAC,UAAU,EAAE,CAAC;gBAChB,MAAM,KAAK,GAAG,IAAI,aAAa,EAAE,CAAA;gBACjC,KAAK,CAAC,WAAW,CAAC,qFAAqF,CAAC,CAAA;gBACxG,EAAE,CAAC,UAAU,CAAC,kBAAkB,GAAG,CAAC,GAAG,EAAE,CAAC,UAAU,CAAC,kBAAkB,EAAE,KAAK,CAAC,CAAA;YACnF,CAAC;YAED,mEAAmE;YACnE,MAAM,QAAQ,GAAG,IAAI,CAAC,QAAQ,EAAE,CAAA;YAChC,MAAM,IAAI,GAAG,aAAa,CAAC,OAAO,CAAC,OAAO,CAAC,qBAAqB,EAAE,EAAE,QAAQ,CAAC,CAAA;YAC7E,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,GAAG,IAAI,CAAA;YAE9B,yFAAyF;YACzF,MAAM,CAAC,MAAM,EAAE,QAAQ,CAAC,GAAG,kBAAkB,CAAC,IAAI,CAAC,WAAW,CAAC,QAAQ,CAAC,EAAE,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,IAAI,EAAE,EAAE,WAAW,CAAC,QAAQ,CAAC,CAAA;YAC/H,OAAO,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,KAAK,sBAAW,CAAC,CAAC,CAAC,iBAAiB,MAAM,CAAC,KAAK,GAAG,CAAC,CAAC,CAAC,iBAAiB,IAAI,CAAC,IAAI,QAAQ,MAAM,CAAC,KAAK,GAAG,CAAC,CAAA;YAC9H,MAAM,MAAM,GAAG,OAAO,CAAC,EAAE,CAAC,aAAa,EAAE;iBACpC,YAAY,CAAC,QAAQ,CAAC;iBACtB,YAAY,CAAC,WAAW,CAAC,QAAQ,CAAC;iBAClC,eAAe,CAAC,GAAG,IAAI,CAAC,EAAE,KAAK,sBAAW,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,QAAQ,CAAC,IAAI,IAAI,QAAQ,CAAC,IAAI,EAAE,CAAC;iBAC7F,gBAAgB,CAAC,OAAO,CAAC,KAAM,CAAC,GAAG,CAAC;iBACpC,gBAAgB,CAAC,MAAM,CAAC;iBACxB,aAAa,CAAC,OAAO,CAAC,KAAM,CAAC,KAAK,CAAC;iBACnC,eAAe,CAAC,EAAE,KAAK,EAAE,MAAM,EAAE,CAAC;gBACnC,yFAAyF;iBACxF,aAAa,CAAC,GAAG,CAAC,cAAc,CAAC,IAAI,CAAC,CAAC;gBACxC,wFAAwF;gBACxF,kEAAkE;iBACjE,aAAa,CAAC,GAAG,CAAC,gBAAgB,CAAC,IAAI,CAAC,IAAI,KAAK,OAAO,CAAC,CAAC;iBAC1D,KAAK,EAAE,CAAA;YACZ,IAAI,IAAS,CAAA;YACb,IAAI,CAAC;gBACD,IAAI,GAAG,MAAM,OAAO,CAAC,EAAE,CAAC,OAAO,CAAC,MAAM,CAAC,CAAA;YAC3C,CAAC;YAAC,OAAO,CAAM,EAAE,CAAC;gBACd,kDAAkD;gBAClD,MAAM,IAAI,GAAG,OAAO,CAAC,EAAE,IAAI,KAAK,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,SAAS,CAAA;gBACjE,MAAM,MAAM,GAAG,OAAO,CAAC,EAAE,SAAS,KAAK,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,OAAO,IAAI,MAAM,CAAC,CAAC,CAAC,CAAC,CAAA;gBAC7F,IAAI,IAAI,KAAK,CAAC,IAAI,IAAI,KAAK,CAAC,EAAE,CAAC;oBAC3B,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,mBAAmB,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAA;oBAC5D,OAAO,EAAE,SAAS,EAAE,KAAK,EAAE,YAAY,EAAE,IAAI,KAAK,CAAC,CAAC,CAAC,CAAC,8BAA8B,CAAC,CAAC,CAAC,0BAA0B,EAAE,CAAA;gBACvH,CAAC;gBACD,MAAM,IAAI,KAAK,CAAC,MAAM,CAAC,CAAA;YAC3B,CAAC;YACD,IAAI,CAAC,KAAK,EAAE,EAAE,CAAC;gBACX,OAAO,EAAE,SAAS,EAAE,KAAK,EAAE,CAAA;YAC/B,CAAC;YACD,OAAO,CAAC,EAAE,CAAC,aAAa,CAAC,IAAI,CAAC,CAAA;YAC9B,OAAO,CAAC,UAAU,GAAG,EAAE,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,GAAG,EAAE,CAAA;YAClD,IAAI,IAAI,CAAC,KAAK,KAAK,GAAG,EAAE,CAAC;gBACrB,wFAAwF;gBACxF,IAAI,CAAC,SAAS,CAAC,OAAO,EAAE,IAAI,CAAC,CAAA;YACjC,CAAC;YACD,IAAI,CAAC,SAAS,CAAC,IAAI,EAAE,OAAO,CAAC,CAAA;YAC7B,OAAO,CAAC,KAAK,GAAG,WAAW,CAAA;YAC3B,OAAO,CAAC,MAAM,CAAC,EAAE,CAAC,CAAA;YAClB,IAAI,CAAC,QAAQ,CAAC,IAAI,EAAE,CAAA;YACpB,IAAI,QAAQ,CAAC,QAAQ,EAAE,CAAC;gBACpB,IAAA,wBAAe,EAAC,OAAO,CAAC,GAAG,EAAE,WAAW,CAAC,CAAC,IAAI,CAC1C,GAAG,EAAE,CAAC,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,gCAAgC,CAAC,EACxD,CAAC,CAAC,EAAE,CAAC,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,sBAAsB,CAAC,EAAE,OAAO,IAAI,CAAC,EAAE,CAAC,CAAC,CAAA;YACvE,CAAC;YACD,IAAI,OAAO,CAAC,OAAO,EAAE,CAAC;gBAClB,OAAO,CAAC,YAAY,EAAE,CAAA;YAC1B,CAAC;YACD,MAAM,GAAG,GAAG,MAAM,IAAI,CAAC,GAAG,EAAE,CAAA;YAC5B,OAAO,CAAC,KAAK,GAAG,OAAO,CAAA;YACvB,IAAI,CAAC,QAAQ,CAAC,IAAI,EAAE,CAAA;YACpB,OAAO,CAAC,MAAM,CAAC,iCAAiC,GAAG,CAAC,MAAM,EAAE,wCAAwC,CAAC,CAAA;YACrG,OAAO,EAAE,SAAS,EAAE,IAAI,EAAE,CAAA;QAC9B,CAAC;QAAC,OAAO,CAAM,EAAE,CAAC;YACd,OAAO,CAAC,KAAK,GAAG,OAAO,CAAA;YACvB,IAAI,CAAC,QAAQ,CAAC,IAAI,EAAE,CAAA;YACpB,OAAO,CAAC,MAAM,CAAC,0BAA0B,CAAC,EAAE,OAAO,IAAI,CAAC,EAAE,CAAC,CAAA;YAC3D,OAAO,EAAE,SAAS,EAAE,KAAK,EAAE,CAAA;QAC/B,CAAC;IACL,CAAC;CACJ,CAAA;AAnfY,oDAAoB;+BAApB,oBAAoB;IADhC,IAAA,iBAAU,EAAC,EAAE,UAAU,EAAE,MAAM,EAAE,CAAC;qCAQd,uBAAU;QACN,uBAAa;QACP,iCAAoB;QAC3B,0BAAa;QACf,aAAM;GAXf,oBAAoB,CAmfhC;AAED,IAAI,cAAc,GAAG,KAAK,CAAA;AAC1B,SAAgB,YAAY;IACxB,IAAI,cAAc,EAAE,CAAC;QACjB,OAAM;IACV,CAAC;IACD,cAAc,GAAG,IAAI,CAAA;IACrB,MAAM,KAAK,GAAG,QAAQ,CAAC,aAAa,CAAC,OAAO,CAAC,CAAA;IAC7C,KAAK,CAAC,WAAW,GAAG,KAAK,GAAG,cAAY,CAAA;IACxC,QAAQ,CAAC,IAAI,CAAC,WAAW,CAAC,KAAK,CAAC,CAAA;AACpC,CAAC"}
1
+ {"version":3,"file":"desktop.service.js","sourceRoot":"","sources":["../src/desktop.service.ts"],"names":[],"mappings":"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"}