@progressio_resources/gravity-design-system 3.6.20 → 3.7.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.
@@ -140,6 +140,7 @@ export class GravityTooltipDirective {
140
140
  this.injector = injector;
141
141
  this._options = {};
142
142
  this._contentType = "string";
143
+ this.persistent = false;
143
144
  this.events = new EventEmitter();
144
145
  }
145
146
  onMouseEnter() {
@@ -149,7 +150,7 @@ export class GravityTooltipDirective {
149
150
  this.show();
150
151
  }
151
152
  onMouseLeave() {
152
- if (this.options['trigger'] === 'hover') {
153
+ if (this.options['trigger'] === 'hover' && !this.persistent) {
153
154
  this.destroyTooltip();
154
155
  }
155
156
  }
@@ -158,9 +159,11 @@ export class GravityTooltipDirective {
158
159
  return;
159
160
  }
160
161
  this.show();
161
- this.hideAfterClickTimeoutId = window.setTimeout(() => {
162
- this.destroyTooltip();
163
- }, this.options['hideDelayAfterClick']);
162
+ if (!this.persistent) {
163
+ this.hideAfterClickTimeoutId = window.setTimeout(() => {
164
+ this.destroyTooltip();
165
+ }, this.options['hideDelayAfterClick']);
166
+ }
164
167
  }
165
168
  ngOnChanges(changes) {
166
169
  this.initOptions = this.renameProperties(this.initOptions);
@@ -224,6 +227,9 @@ export class GravityTooltipDirective {
224
227
  destroyTooltip(options = {
225
228
  fast: false
226
229
  }) {
230
+ if (this.persistent) {
231
+ return;
232
+ }
227
233
  this.clearTimeouts();
228
234
  if (this.isTooltipDestroyed == false) {
229
235
  this.hideTimeoutId = window.setTimeout(() => {
@@ -347,8 +353,15 @@ export class GravityTooltipDirective {
347
353
  hide() {
348
354
  this.destroyTooltip();
349
355
  }
356
+ closeFromOutside() {
357
+ if (!this.componentRef || this.isTooltipDestroyed) {
358
+ return;
359
+ }
360
+ this.componentRef.instance.closeTooltip();
361
+ this.destroyTooltip({ fast: true });
362
+ }
350
363
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: GravityTooltipDirective, deps: [{ token: TooltipOptionsService, optional: true }, { token: i0.ElementRef }, { token: i0.ComponentFactoryResolver }, { token: i0.ApplicationRef }, { token: i0.Injector }], target: i0.ɵɵFactoryTarget.Directive }); }
351
- static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "16.2.12", type: GravityTooltipDirective, selector: "[tooltip]", inputs: { options: "options", tooltipValue: ["tooltip", "tooltipValue"], placement: "placement", autoPlacement: "autoPlacement", contentTypeBackwardCompatibility: ["content-type", "contentTypeBackwardCompatibility"], contentType: "contentType", hideDelayMobile: ["hide-delay-mobile", "hideDelayMobile"], hideDelayTouchscreen: "hideDelayTouchscreen", zIndexBackwardCompatibility: ["z-index", "zIndexBackwardCompatibility"], zIndex: "zIndex", animationDurationBackwardCompatibility: ["animation-duration", "animationDurationBackwardCompatibility"], animationDuration: "animationDuration", trigger: "trigger", tooltipClassBackwardCompatibility: ["tooltip-class", "tooltipClassBackwardCompatibility"], tooltipClass: "tooltipClass", display: "display", displayMobile: ["display-mobile", "displayMobile"], displayTouchscreen: "displayTouchscreen", shadow: "shadow", theme: "theme", offset: "offset", width: "width", maxWidthBackwardCompatibility: ["max-width", "maxWidthBackwardCompatibility"], maxWidth: "maxWidth", id: "id", showDelayBackwardCompatibility: ["show-delay", "showDelayBackwardCompatibility"], showDelay: "showDelay", hideDelayBackwardCompatibility: ["hide-delay", "hideDelayBackwardCompatibility"], hideDelay: "hideDelay", hideDelayAfterClick: "hideDelayAfterClick", pointerEvents: "pointerEvents", position: "position" }, outputs: { events: "events" }, host: { listeners: { "focusin": "onMouseEnter()", "mouseenter": "onMouseEnter()", "focusout": "onMouseLeave()", "mouseleave": "onMouseLeave()", "click": "onClick()" } }, exportAs: ["tooltip"], usesOnChanges: true, ngImport: i0 }); }
364
+ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "16.2.12", type: GravityTooltipDirective, selector: "[tooltip]", inputs: { options: "options", tooltipValue: ["tooltip", "tooltipValue"], placement: "placement", autoPlacement: "autoPlacement", contentTypeBackwardCompatibility: ["content-type", "contentTypeBackwardCompatibility"], contentType: "contentType", hideDelayMobile: ["hide-delay-mobile", "hideDelayMobile"], hideDelayTouchscreen: "hideDelayTouchscreen", zIndexBackwardCompatibility: ["z-index", "zIndexBackwardCompatibility"], zIndex: "zIndex", animationDurationBackwardCompatibility: ["animation-duration", "animationDurationBackwardCompatibility"], animationDuration: "animationDuration", trigger: "trigger", tooltipClassBackwardCompatibility: ["tooltip-class", "tooltipClassBackwardCompatibility"], tooltipClass: "tooltipClass", display: "display", displayMobile: ["display-mobile", "displayMobile"], displayTouchscreen: "displayTouchscreen", shadow: "shadow", theme: "theme", offset: "offset", width: "width", persistent: "persistent", maxWidthBackwardCompatibility: ["max-width", "maxWidthBackwardCompatibility"], maxWidth: "maxWidth", id: "id", showDelayBackwardCompatibility: ["show-delay", "showDelayBackwardCompatibility"], showDelay: "showDelay", hideDelayBackwardCompatibility: ["hide-delay", "hideDelayBackwardCompatibility"], hideDelay: "hideDelay", hideDelayAfterClick: "hideDelayAfterClick", pointerEvents: "pointerEvents", position: "position" }, outputs: { events: "events" }, host: { listeners: { "focusin": "onMouseEnter()", "mouseenter": "onMouseEnter()", "focusout": "onMouseLeave()", "mouseleave": "onMouseLeave()", "click": "onClick()" } }, exportAs: ["tooltip"], usesOnChanges: true, ngImport: i0 }); }
352
365
  }
353
366
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: GravityTooltipDirective, decorators: [{
354
367
  type: Directive,
@@ -427,6 +440,9 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImpo
427
440
  }], width: [{
428
441
  type: Input,
429
442
  args: ['width']
443
+ }], persistent: [{
444
+ type: Input,
445
+ args: ['persistent']
430
446
  }], maxWidthBackwardCompatibility: [{
431
447
  type: Input,
432
448
  args: ['max-width']
@@ -475,4 +491,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImpo
475
491
  type: HostListener,
476
492
  args: ['click']
477
493
  }] } });
478
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ3Jhdml0eS10b29sdGlwLmRpcmVjdGl2ZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2dyYXZpdHktZGVzaWduLXN5c3RlbS9zcmMvbGliL3ZlbmRvci9ncmF2aXR5LXRvb2x0aXAvZ3Jhdml0eS10b29sdGlwLmRpcmVjdGl2ZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBR0wsU0FBUyxFQUdULFlBQVksRUFDWixZQUFZLEVBQ1osTUFBTSxFQUVOLEtBQUssRUFFTCxRQUFRLEVBQ1IsTUFBTSxFQUdQLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFBQyx1QkFBdUIsRUFBQyxNQUFNLDZCQUE2QixDQUFDO0FBQ3BFLE9BQU8sRUFBQyxxQkFBcUIsRUFBQyxNQUFNLG1CQUFtQixDQUFDO0FBQ3hELE9BQU8sRUFBQyw0QkFBNEIsRUFBRSxjQUFjLEVBQUMsTUFBTSxXQUFXLENBQUM7O0FBZXZFLE1BQU0sT0FBTyx1QkFBdUI7SUFzQmxDLElBQXNCLE9BQU8sQ0FBQyxLQUFxQjtRQUNqRCxJQUFJLEtBQUssSUFBSSxjQUFjLEVBQUU7WUFDM0IsSUFBSSxDQUFDLFFBQVEsR0FBRyxLQUFLLENBQUM7U0FDdkI7SUFDSCxDQUFDO0lBRUQsSUFBSSxPQUFPO1FBQ1QsT0FBTyxJQUFJLENBQUMsUUFBUSxDQUFDO0lBQ3ZCLENBQUM7SUFNRCxlQUFlO0lBQ2YsSUFBMkIsZ0NBQWdDLENBQUMsS0FBcUM7UUFDL0YsSUFBSSxLQUFLLEVBQUU7WUFDVCxJQUFJLENBQUMsWUFBWSxHQUFHLEtBQUssQ0FBQztTQUMzQjtJQUNILENBQUM7SUFFRCxJQUEwQixXQUFXLENBQUMsS0FBcUM7UUFDekUsSUFBSSxLQUFLLEVBQUU7WUFDVCxJQUFJLENBQUMsWUFBWSxHQUFHLEtBQUssQ0FBQztTQUMzQjtJQUNILENBQUM7SUFFRCxJQUFJLFdBQVc7UUFDYixPQUFPLElBQUksQ0FBQyxZQUFZLENBQUM7SUFDM0IsQ0FBQztJQUtELFVBQVU7SUFDVixJQUFzQiwyQkFBMkIsQ0FBQyxLQUFhO1FBQzdELElBQUksS0FBSyxFQUFFO1lBQ1QsSUFBSSxDQUFDLE9BQU8sR0FBRyxLQUFLLENBQUM7U0FDdEI7SUFDSCxDQUFDO0lBRUQsSUFBcUIsTUFBTSxDQUFDLEtBQWE7UUFDdkMsSUFBSSxLQUFLLEVBQUU7WUFDVCxJQUFJLENBQUMsT0FBTyxHQUFHLEtBQUssQ0FBQztTQUN0QjtJQUNILENBQUM7SUFFRCxJQUFJLE1BQU07UUFDUixPQUFPLElBQUksQ0FBQyxPQUFPLENBQUM7SUFDdEIsQ0FBQztJQUVELHFCQUFxQjtJQUNyQixJQUFpQyxzQ0FBc0MsQ0FBQyxLQUFhO1FBQ25GLElBQUksS0FBSyxFQUFFO1lBQ1QsSUFBSSxDQUFDLGtCQUFrQixHQUFHLEtBQUssQ0FBQztTQUNqQztJQUNILENBQUM7SUFFRCxJQUFnQyxpQkFBaUIsQ0FBQyxLQUFhO1FBQzdELElBQUksS0FBSyxFQUFFO1lBQ1QsSUFBSSxDQUFDLGtCQUFrQixHQUFHLEtBQUssQ0FBQztTQUNqQztJQUNILENBQUM7SUFFRCxJQUFJLGlCQUFpQjtRQUNuQixPQUFPLElBQUksQ0FBQyxrQkFBa0IsQ0FBQztJQUNqQyxDQUFDO0lBS0QsZ0JBQWdCO0lBQ2hCLElBQTRCLGlDQUFpQyxDQUFDLEtBQWE7UUFDekUsSUFBSSxLQUFLLEVBQUU7WUFDVCxJQUFJLENBQUMsYUFBYSxHQUFHLEtBQUssQ0FBQztTQUM1QjtJQUNILENBQUM7SUFFRCxJQUEyQixZQUFZLENBQUMsS0FBYTtRQUNuRCxJQUFJLEtBQUssRUFBRTtZQUNULElBQUksQ0FBQyxhQUFhLEdBQUcsS0FBSyxDQUFDO1NBQzVCO0lBQ0gsQ0FBQztJQUVELElBQUksWUFBWTtRQUNkLE9BQU8sSUFBSSxDQUFDLGFBQWEsQ0FBQztJQUM1QixDQUFDO0lBVUQsWUFBWTtJQUNaLElBQXdCLDZCQUE2QixDQUFDLEtBQWE7UUFDakUsSUFBSSxLQUFLLEVBQUU7WUFDVCxJQUFJLENBQUMsU0FBUyxHQUFHLEtBQUssQ0FBQztTQUN4QjtJQUNILENBQUM7SUFFRCxJQUF1QixRQUFRLENBQUMsS0FBYTtRQUMzQyxJQUFJLEtBQUssRUFBRTtZQUNULElBQUksQ0FBQyxTQUFTLEdBQUcsS0FBSyxDQUFDO1NBQ3hCO0lBQ0gsQ0FBQztJQUVELElBQUksUUFBUTtRQUNWLE9BQU8sSUFBSSxDQUFDLFNBQVMsQ0FBQztJQUN4QixDQUFDO0lBS0QsYUFBYTtJQUNiLElBQXlCLDhCQUE4QixDQUFDLEtBQWE7UUFDbkUsSUFBSSxLQUFLLEVBQUU7WUFDVCxJQUFJLENBQUMsVUFBVSxHQUFHLEtBQUssQ0FBQztTQUN6QjtJQUNILENBQUM7SUFFRCxJQUF3QixTQUFTLENBQUMsS0FBYTtRQUM3QyxJQUFJLEtBQUssRUFBRTtZQUNULElBQUksQ0FBQyxVQUFVLEdBQUcsS0FBSyxDQUFDO1NBQ3pCO0lBQ0gsQ0FBQztJQUVELElBQUksU0FBUztRQUNYLE9BQU8sSUFBSSxDQUFDLFVBQVUsQ0FBQztJQUN6QixDQUFDO0lBRUQsYUFBYTtJQUNiLElBQXlCLDhCQUE4QixDQUFDLEtBQWE7UUFDbkUsSUFBSSxLQUFLLEVBQUU7WUFDVCxJQUFJLENBQUMsVUFBVSxHQUFHLEtBQUssQ0FBQztTQUN6QjtJQUNILENBQUM7SUFFRCxJQUF3QixTQUFTLENBQUMsS0FBYTtRQUM3QyxJQUFJLEtBQUssRUFBRTtZQUNULElBQUksQ0FBQyxVQUFVLEdBQUcsS0FBSyxDQUFDO1NBQ3pCO0lBQ0gsQ0FBQztJQUVELElBQUksU0FBUztRQUNYLE9BQU8sSUFBSSxDQUFDLFVBQVUsQ0FBQztJQUN6QixDQUFDO0lBTUQsSUFBSSxrQkFBa0I7UUFDcEIsT0FBTyxJQUFJLENBQUMsWUFBWSxJQUFJLElBQUksQ0FBQyxZQUFZLENBQUMsUUFBUSxDQUFDLFNBQVMsQ0FBQztJQUNuRSxDQUFDO0lBRUQsSUFBSSxZQUFZO1FBQ2QsSUFBSSxJQUFJLENBQUMsYUFBYSxFQUFFO1lBQ3RCLE9BQU8sSUFBSSxDQUFDLGFBQWEsQ0FBQztTQUMzQjthQUFNO1lBQ0wsT0FBTyxNQUFNLENBQUMsSUFBSSxDQUFDLFlBQVksRUFBRSxDQUFDLEdBQUcsTUFBTSxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsbUJBQW1CLENBQUMsQ0FBQyxDQUFDO1NBQ2hGO0lBQ0gsQ0FBQztJQUVELElBQUksWUFBWSxDQUFDLEtBQWE7UUFDNUIsSUFBSSxDQUFDLGFBQWEsR0FBRyxLQUFLLENBQUM7SUFDN0IsQ0FBQztJQUVELElBQUksZUFBZTtRQUNqQixJQUFJLElBQUksQ0FBQyxPQUFPLENBQUMsVUFBVSxDQUFDLEVBQUU7WUFDNUIsT0FBTyxJQUFJLENBQUMsT0FBTyxDQUFDLFVBQVUsQ0FBQyxDQUFDO1NBQ2pDO2FBQU07WUFDTCxPQUFPLElBQUksQ0FBQyxlQUFlLENBQUM7U0FDN0I7SUFDSCxDQUFDO0lBSUQsWUFDcUQsV0FBZ0IsRUFDM0QsVUFBc0IsRUFDdEIsd0JBQWtELEVBQ2xELE1BQXNCLEVBQ3RCLFFBQWtCO1FBSnlCLGdCQUFXLEdBQVgsV0FBVyxDQUFLO1FBQzNELGVBQVUsR0FBVixVQUFVLENBQVk7UUFDdEIsNkJBQXdCLEdBQXhCLHdCQUF3QixDQUEwQjtRQUNsRCxXQUFNLEdBQU4sTUFBTSxDQUFnQjtRQUN0QixhQUFRLEdBQVIsUUFBUSxDQUFVO1FBck01QixhQUFRLEdBQVEsRUFBRSxDQUFDO1FBSW5CLGlCQUFZLEdBQW1DLFFBQVEsQ0FBQztRQTBMOUMsV0FBTSxHQUFzQixJQUFJLFlBQVksRUFBTyxDQUFDO0lBUTlELENBQUM7SUFJRCxZQUFZO1FBQ1YsSUFBSSxJQUFJLENBQUMsZ0JBQWdCLElBQUksS0FBSyxFQUFFO1lBQ2xDLE9BQU87U0FDUjtRQUVELElBQUksQ0FBQyxJQUFJLEVBQUUsQ0FBQztJQUNkLENBQUM7SUFJRCxZQUFZO1FBQ1YsSUFBSSxJQUFJLENBQUMsT0FBTyxDQUFDLFNBQVMsQ0FBQyxLQUFLLE9BQU8sRUFBRTtZQUN2QyxJQUFJLENBQUMsY0FBYyxFQUFFLENBQUM7U0FDdkI7SUFDSCxDQUFDO0lBR0QsT0FBTztRQUNMLElBQUksSUFBSSxDQUFDLGdCQUFnQixJQUFJLEtBQUssRUFBRTtZQUNsQyxPQUFPO1NBQ1I7UUFFRCxJQUFJLENBQUMsSUFBSSxFQUFFLENBQUM7UUFDWixJQUFJLENBQUMsdUJBQXVCLEdBQUcsTUFBTSxDQUFDLFVBQVUsQ0FBQyxHQUFHLEVBQUU7WUFDcEQsSUFBSSxDQUFDLGNBQWMsRUFBRSxDQUFDO1FBQ3hCLENBQUMsRUFBRSxJQUFJLENBQUMsT0FBTyxDQUFDLHFCQUFxQixDQUFDLENBQUMsQ0FBQTtJQUN6QyxDQUFDO0lBRUQsV0FBVyxDQUFDLE9BQXNCO1FBQ2hDLElBQUksQ0FBQyxXQUFXLEdBQUcsSUFBSSxDQUFDLGdCQUFnQixDQUFDLElBQUksQ0FBQyxXQUFXLENBQUMsQ0FBQztRQUMzRCxJQUFJLGNBQWMsR0FBRyxJQUFJLENBQUMsYUFBYSxDQUFDLE9BQU8sQ0FBQyxDQUFDO1FBQ2pELGNBQWMsR0FBRyxJQUFJLENBQUMsZ0JBQWdCLENBQUMsY0FBYyxDQUFDLENBQUM7UUFFdkQsSUFBSSxDQUFDLG1CQUFtQixDQUFDLGNBQWMsRUFBRSxjQUFjLENBQUMsQ0FBQztJQUMzRCxDQUFDO0lBRUQsV0FBVztRQUNULElBQUksQ0FBQyxjQUFjLENBQUM7WUFDbEIsSUFBSSxFQUFFLElBQUk7U0FDWCxDQUFDLENBQUM7UUFFSCxJQUFJLElBQUksQ0FBQyxrQkFBa0IsRUFBRTtZQUMzQixJQUFJLENBQUMsa0JBQWtCLENBQUMsV0FBVyxFQUFFLENBQUM7U0FDdkM7SUFDSCxDQUFDO0lBRUQsWUFBWTtRQUNWLE9BQU8sSUFBSSxDQUFDLE9BQU8sQ0FBQyxXQUFXLENBQUMsQ0FBQztJQUNuQyxDQUFDO0lBRUQsWUFBWTtRQUNWLE1BQU0sU0FBUyxHQUFHLElBQUksQ0FBQyxPQUFPLENBQUMsV0FBVyxDQUFDLENBQUM7UUFDNUMsTUFBTSxvQkFBb0IsR0FBRyxJQUFJLENBQUMsT0FBTyxDQUFDLHNCQUFzQixDQUFDLENBQUM7UUFFbEUsT0FBTyxJQUFJLENBQUMsYUFBYSxDQUFDLENBQUMsQ0FBQyxvQkFBb0IsQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFDO0lBQy9ELENBQUM7SUFFRCxhQUFhLENBQUMsT0FBc0I7UUFDbEMsSUFBSSxtQkFBbUIsR0FBUSxFQUFFLENBQUM7UUFDbEMsSUFBSSxnQkFBZ0IsR0FBUSxFQUFFLENBQUM7UUFDL0IsSUFBSSxhQUFrQixDQUFDO1FBRXZCLEtBQUssSUFBSSxJQUFJLElBQUksT0FBTyxFQUFFO1lBQ3hCLElBQUksSUFBSSxLQUFLLFNBQVMsSUFBSSxJQUFJLEtBQUssY0FBYyxFQUFFO2dCQUNqRCxtQkFBbUIsQ0FBQyxJQUFJLENBQUMsR0FBRyxPQUFPLENBQUMsSUFBSSxDQUFDLENBQUMsWUFBWSxDQUFDO2FBQ3hEO1lBQ0QsSUFBSSxJQUFJLEtBQUssU0FBUyxFQUFFO2dCQUN0QixnQkFBZ0IsR0FBRyxPQUFPLENBQUMsSUFBSSxDQUFDLENBQUMsWUFBWSxDQUFDO2FBQy9DO1NBQ0Y7UUFFRCxhQUFhLEdBQUcsTUFBTSxDQUFDLE1BQU0sQ0FBQyxFQUFFLEVBQUUsZ0JBQWdCLEVBQUUsbUJBQW1CLENBQUMsQ0FBQztRQUN6RSxPQUFPLGFBQWEsQ0FBQztJQUN2QixDQUFDO0lBRUQsZ0JBQWdCLENBQUMsT0FBWTtRQUMzQixLQUFLLElBQUksSUFBSSxJQUFJLE9BQU8sRUFBRTtZQUN4QixJQUFJLDRCQUE0QixDQUFDLElBQUksQ0FBQyxFQUFFO2dCQUN0QyxPQUFPLENBQUMsNEJBQTRCLENBQUMsSUFBSSxDQUFDLENBQUMsR0FBRyxPQUFPLENBQUMsSUFBSSxDQUFDLENBQUM7Z0JBQzVELE9BQU8sT0FBTyxDQUFDLElBQUksQ0FBQyxDQUFDO2FBQ3RCO1NBQ0Y7UUFFRCxPQUFPLE9BQU8sQ0FBQztJQUNqQixDQUFDO0lBRUQsa0JBQWtCO1FBQ2hCLElBQUksQ0FBQyxlQUFlLEdBQUcsSUFBSSxDQUFDLFVBQVUsQ0FBQyxhQUFhLENBQUMscUJBQXFCLEVBQUUsQ0FBQztJQUMvRSxDQUFDO0lBRUQsYUFBYTtRQUNYLElBQUksQ0FBQyxhQUFhLEVBQUUsQ0FBQztRQUNyQixJQUFJLENBQUMsa0JBQWtCLEVBQUUsQ0FBQztRQUUxQixJQUFJLENBQUMsZUFBZSxHQUFHLE1BQU0sQ0FBQyxVQUFVLENBQUMsR0FBRyxFQUFFO1lBQzVDLElBQUksQ0FBQyxxQkFBcUIsQ0FBQyx1QkFBdUIsQ0FBQyxDQUFDO1FBQ3RELENBQUMsRUFBRSxJQUFJLENBQUMsWUFBWSxFQUFFLENBQUMsQ0FBQztRQUV4QixJQUFJLENBQUMsYUFBYSxHQUFHLE1BQU0sQ0FBQyxVQUFVLENBQUMsR0FBRyxFQUFFO1lBQzFDLElBQUksQ0FBQyxlQUFlLEVBQUUsQ0FBQztRQUN6QixDQUFDLEVBQUUsSUFBSSxDQUFDLFlBQVksRUFBRSxDQUFDLENBQUM7SUFDMUIsQ0FBQztJQUVELGNBQWMsQ0FBQyxPQUFPLEdBQUc7UUFDdkIsSUFBSSxFQUFFLEtBQUs7S0FDWjtRQUNDLElBQUksQ0FBQyxhQUFhLEVBQUUsQ0FBQztRQUVyQixJQUFJLElBQUksQ0FBQyxrQkFBa0IsSUFBSSxLQUFLLEVBQUU7WUFDcEMsSUFBSSxDQUFDLGFBQWEsR0FBRyxNQUFNLENBQUMsVUFBVSxDQUFDLEdBQUcsRUFBRTtnQkFDMUMsSUFBSSxDQUFDLFdBQVcsRUFBRSxDQUFDO1lBQ3JCLENBQUMsRUFBRSxPQUFPLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxZQUFZLEVBQUUsQ0FBQyxDQUFDO1lBRTNDLElBQUksQ0FBQyxnQkFBZ0IsR0FBRyxNQUFNLENBQUMsVUFBVSxDQUFDLEdBQUcsRUFBRTtnQkFDN0MsSUFBSSxDQUFDLElBQUksQ0FBQyxZQUFZLElBQUksSUFBSSxDQUFDLGtCQUFrQixFQUFFO29CQUNqRCxPQUFPO2lCQUNSO2dCQUVELElBQUksQ0FBQyxNQUFNLENBQUMsVUFBVSxDQUFDLElBQUksQ0FBQyxZQUFZLENBQUMsUUFBUSxDQUFDLENBQUM7Z0JBQ25ELElBQUksQ0FBQyxZQUFZLENBQUMsT0FBTyxFQUFFLENBQUM7Z0JBQzVCLElBQUksQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDO29CQUNmLElBQUksRUFBRSxRQUFRO29CQUNkLFFBQVEsRUFBRSxJQUFJLENBQUMsZUFBZTtpQkFDL0IsQ0FBQyxDQUFDO1lBQ0wsQ0FBQyxFQUFFLE9BQU8sQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLFlBQVksQ0FBQyxDQUFDO1NBQzFDO0lBQ0gsQ0FBQztJQUVELGVBQWU7UUFDYixJQUFJLENBQUMsYUFBYSxFQUFFLENBQUM7UUFDUCxJQUFJLENBQUMsWUFBWSxDQUFDLFFBQVMsQ0FBQyxJQUFJLEdBQUcsSUFBSSxDQUFDO1FBQ3RELElBQUksQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDO1lBQ2YsSUFBSSxFQUFFLE1BQU07WUFDWixRQUFRLEVBQUUsSUFBSSxDQUFDLGVBQWU7U0FDL0IsQ0FBQyxDQUFDO0lBQ0wsQ0FBQztJQUVELFdBQVc7UUFDVCxJQUFJLENBQUMsSUFBSSxDQUFDLFlBQVksSUFBSSxJQUFJLENBQUMsa0JBQWtCLEVBQUU7WUFDakQsT0FBTztTQUNSO1FBQ2EsSUFBSSxDQUFDLFlBQVksQ0FBQyxRQUFTLENBQUMsSUFBSSxHQUFHLEtBQUssQ0FBQztRQUN2RCxJQUFJLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQztZQUNmLElBQUksRUFBRSxNQUFNO1lBQ1osUUFBUSxFQUFFLElBQUksQ0FBQyxlQUFlO1NBQy9CLENBQUMsQ0FBQztJQUNMLENBQUM7SUFFRCxxQkFBcUIsQ0FBQyxTQUFjO1FBQ2xDLElBQUksQ0FBQyxZQUFZLEdBQUcsSUFBSSxDQUFDLHdCQUF3QjthQUM5Qyx1QkFBdUIsQ0FBQyxTQUFTLENBQUM7YUFDbEMsTUFBTSxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsQ0FBQztRQUVYLElBQUksQ0FBQyxZQUFZLENBQUMsUUFBUyxDQUFDLElBQUksR0FBRztZQUMvQyxLQUFLLEVBQUUsSUFBSSxDQUFDLFlBQVk7WUFDeEIsT0FBTyxFQUFFLElBQUksQ0FBQyxVQUFVLENBQUMsYUFBYTtZQUN0QyxlQUFlLEVBQUUsSUFBSSxDQUFDLGVBQWU7WUFDckMsT0FBTyxFQUFFLElBQUksQ0FBQyxPQUFPO1NBQ3RCLENBQUE7UUFDRCxJQUFJLENBQUMsTUFBTSxDQUFDLFVBQVUsQ0FBQyxJQUFJLENBQUMsWUFBWSxDQUFDLFFBQVEsQ0FBQyxDQUFDO1FBQ25ELE1BQU0sT0FBTyxHQUFJLElBQUksQ0FBQyxZQUFZLENBQUMsUUFBaUMsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFnQixDQUFDO1FBQ2pHLFFBQVEsQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFDLE9BQU8sQ0FBQyxDQUFDO1FBRW5DLElBQUksQ0FBQyxrQkFBa0IsR0FBaUIsSUFBSSxDQUFDLFlBQVksQ0FBQyxRQUFTLENBQUMsTUFBTSxDQUFDLFNBQVMsQ0FBQyxDQUFDLEtBQVUsRUFBRSxFQUFFO1lBQ2xHLElBQUksQ0FBQyxZQUFZLENBQUMsS0FBSyxDQUFDLENBQUM7UUFDM0IsQ0FBQyxDQUFDLENBQUM7SUFDTCxDQUFDO0lBRUQsYUFBYTtRQUNYLElBQUksSUFBSSxDQUFDLGVBQWUsRUFBRTtZQUN4QixZQUFZLENBQUMsSUFBSSxDQUFDLGVBQWUsQ0FBQyxDQUFDO1NBQ3BDO1FBRUQsSUFBSSxJQUFJLENBQUMsYUFBYSxFQUFFO1lBQ3RCLFlBQVksQ0FBQyxJQUFJLENBQUMsYUFBYSxDQUFDLENBQUM7U0FDbEM7UUFFRCxJQUFJLElBQUksQ0FBQyxhQUFhLEVBQUU7WUFDdEIsWUFBWSxDQUFDLElBQUksQ0FBQyxhQUFhLENBQUMsQ0FBQztTQUNsQztRQUVELElBQUksSUFBSSxDQUFDLGdCQUFnQixFQUFFO1lBQ3pCLFlBQVksQ0FBQyxJQUFJLENBQUMsZ0JBQWdCLENBQUMsQ0FBQztTQUNyQztJQUNILENBQUM7SUFFRCxJQUFJLGdCQUFnQjtRQUNsQixJQUFJLElBQUksQ0FBQyxPQUFPLENBQUMsU0FBUyxDQUFDLElBQUksS0FBSyxFQUFFO1lBQ3BDLE9BQU8sS0FBSyxDQUFDO1NBQ2Q7UUFFRCxJQUFJLElBQUksQ0FBQyxPQUFPLENBQUMsb0JBQW9CLENBQUMsSUFBSSxLQUFLLElBQUksSUFBSSxDQUFDLGFBQWEsRUFBRTtZQUNyRSxPQUFPLEtBQUssQ0FBQztTQUNkO1FBRUQsT0FBTyxJQUFJLENBQUMsT0FBTyxDQUFDLFNBQVMsQ0FBQyxLQUFLLE9BQU8sQ0FBQztJQUM3QyxDQUFDO0lBRUQsSUFBSSxnQkFBZ0I7UUFDbEIsSUFBSSxJQUFJLENBQUMsT0FBTyxDQUFDLFNBQVMsQ0FBQyxJQUFJLEtBQUssRUFBRTtZQUNwQyxPQUFPLEtBQUssQ0FBQztTQUNkO1FBRUQsSUFBSSxJQUFJLENBQUMsT0FBTyxDQUFDLG9CQUFvQixDQUFDLElBQUksS0FBSyxJQUFJLElBQUksQ0FBQyxhQUFhLEVBQUU7WUFDckUsT0FBTyxLQUFLLENBQUM7U0FDZDtRQUVELE9BQU8sSUFBSSxDQUFDLE9BQU8sQ0FBQyxTQUFTLENBQUMsSUFBSSxPQUFPLENBQUM7SUFHNUMsQ0FBQztJQUVELElBQUksYUFBYTtRQUNmLElBQUksUUFBUSxHQUFHLDJCQUEyQixDQUFDLEtBQUssQ0FBQyxHQUFHLENBQUMsQ0FBQztRQUN0RCxJQUFJLEVBQUUsR0FBRyxVQUFVLEtBQVU7WUFDM0IsT0FBTyxNQUFNLENBQUMsVUFBVSxDQUFDLEtBQUssQ0FBQyxDQUFDLE9BQU8sQ0FBQztRQUMxQyxDQUFDLENBQUE7UUFFRCxJQUFJLENBQUMsY0FBYyxJQUFJLE1BQU0sQ0FBQyxFQUFFO1lBQzlCLE9BQU8sSUFBSSxDQUFDO1NBQ2I7UUFFRCxxRkFBcUY7UUFDckYsdUJBQXVCO1FBQ3ZCLElBQUksS0FBSyxHQUFHLENBQUMsR0FBRyxFQUFFLFFBQVEsQ0FBQyxJQUFJLENBQUMsa0JBQWtCLENBQUMsRUFBRSxRQUFRLEVBQUUsR0FBRyxDQUFDLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxDQUFDO1FBQzdFLE9BQU8sRUFBRSxDQUFDLEtBQUssQ0FBQyxDQUFDO0lBQ25CLENBQUM7SUFFRCxtQkFBbUIsQ0FBQyxjQUFtQixFQUFFLE9BQVk7UUFDbkQsSUFBSSxDQUFDLE9BQU8sR0FBRyxNQUFNLENBQUMsTUFBTSxDQUFDLEVBQUUsRUFBRSxjQUFjLEVBQUUsSUFBSSxDQUFDLFdBQVcsSUFBSSxFQUFFLEVBQUUsSUFBSSxDQUFDLE9BQU8sRUFBRSxPQUFPLENBQUMsQ0FBQztJQUNsRyxDQUFDO0lBRUQsWUFBWSxDQUFDLEtBQVU7UUFDckIsSUFBSSxLQUFLLENBQUMsSUFBSSxLQUFLLE9BQU8sRUFBRTtZQUMxQixJQUFJLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQztnQkFDZixJQUFJLEVBQUUsT0FBTztnQkFDYixRQUFRLEVBQUUsSUFBSSxDQUFDLGVBQWU7YUFDL0IsQ0FBQyxDQUFDO1NBQ0o7SUFDSCxDQUFDO0lBRU0sSUFBSTtRQUNULElBQUksQ0FBQyxJQUFJLENBQUMsWUFBWSxFQUFFO1lBQ3RCLE9BQU87U0FDUjtRQUVELElBQUksQ0FBQyxJQUFJLENBQUMsWUFBWSxJQUFJLElBQUksQ0FBQyxrQkFBa0IsRUFBRTtZQUNqRCxJQUFJLENBQUMsYUFBYSxFQUFFLENBQUM7U0FDdEI7YUFBTSxJQUFJLENBQUMsSUFBSSxDQUFDLGtCQUFrQixFQUFFO1lBQ25DLElBQUksQ0FBQyxlQUFlLEVBQUUsQ0FBQztTQUN4QjtJQUNILENBQUM7SUFFTSxJQUFJO1FBQ1QsSUFBSSxDQUFDLGNBQWMsRUFBRSxDQUFDO0lBQ3hCLENBQUM7K0dBbmRVLHVCQUF1QixrQkEyTVoscUJBQXFCO21HQTNNaEMsdUJBQXVCOzs0RkFBdkIsdUJBQXVCO2tCQUxuQyxTQUFTO21CQUFDO29CQUNULFFBQVEsRUFBRSxXQUFXO29CQUNyQixRQUFRLEVBQUUsU0FBUztpQkFDcEI7OzBCQTZNSSxRQUFROzswQkFBSSxNQUFNOzJCQUFDLHFCQUFxQjtnS0FyTHJCLE9BQU87c0JBQTVCLEtBQUs7dUJBQUMsU0FBUztnQkFVRSxZQUFZO3NCQUE3QixLQUFLO3VCQUFDLFNBQVM7Z0JBQ0ksU0FBUztzQkFBNUIsS0FBSzt1QkFBQyxXQUFXO2dCQUNNLGFBQWE7c0JBQXBDLEtBQUs7dUJBQUMsZUFBZTtnQkFHSyxnQ0FBZ0M7c0JBQTFELEtBQUs7dUJBQUMsY0FBYztnQkFNSyxXQUFXO3NCQUFwQyxLQUFLO3VCQUFDLGFBQWE7Z0JBVVEsZUFBZTtzQkFBMUMsS0FBSzt1QkFBQyxtQkFBbUI7Z0JBQ0ssb0JBQW9CO3NCQUFsRCxLQUFLO3VCQUFDLHNCQUFzQjtnQkFHUCwyQkFBMkI7c0JBQWhELEtBQUs7dUJBQUMsU0FBUztnQkFNSyxNQUFNO3NCQUExQixLQUFLO3VCQUFDLFFBQVE7Z0JBV2tCLHNDQUFzQztzQkFBdEUsS0FBSzt1QkFBQyxvQkFBb0I7Z0JBTUssaUJBQWlCO3NCQUFoRCxLQUFLO3VCQUFDLG1CQUFtQjtnQkFXUixPQUFPO3NCQUF4QixLQUFLO3VCQUFDLFNBQVM7Z0JBR1ksaUNBQWlDO3NCQUE1RCxLQUFLO3VCQUFDLGVBQWU7Z0JBTUssWUFBWTtzQkFBdEMsS0FBSzt1QkFBQyxjQUFjO2dCQVVILE9BQU87c0JBQXhCLEtBQUs7dUJBQUMsU0FBUztnQkFDUyxhQUFhO3NCQUFyQyxLQUFLO3VCQUFDLGdCQUFnQjtnQkFDTSxrQkFBa0I7c0JBQTlDLEtBQUs7dUJBQUMsb0JBQW9CO2dCQUNWLE1BQU07c0JBQXRCLEtBQUs7dUJBQUMsUUFBUTtnQkFDQyxLQUFLO3NCQUFwQixLQUFLO3VCQUFDLE9BQU87Z0JBQ0csTUFBTTtzQkFBdEIsS0FBSzt1QkFBQyxRQUFRO2dCQUNDLEtBQUs7c0JBQXBCLEtBQUs7dUJBQUMsT0FBTztnQkFHVSw2QkFBNkI7c0JBQXBELEtBQUs7dUJBQUMsV0FBVztnQkFNSyxRQUFRO3NCQUE5QixLQUFLO3VCQUFDLFVBQVU7Z0JBV0osRUFBRTtzQkFBZCxLQUFLO3VCQUFDLElBQUk7Z0JBR2MsOEJBQThCO3NCQUF0RCxLQUFLO3VCQUFDLFlBQVk7Z0JBTUssU0FBUztzQkFBaEMsS0FBSzt1QkFBQyxXQUFXO2dCQVdPLDhCQUE4QjtzQkFBdEQsS0FBSzt1QkFBQyxZQUFZO2dCQU1LLFNBQVM7c0JBQWhDLEtBQUs7dUJBQUMsV0FBVztnQkFVWSxtQkFBbUI7c0JBQWhELEtBQUs7dUJBQUMscUJBQXFCO2dCQUNKLGFBQWE7c0JBQXBDLEtBQUs7dUJBQUMsZUFBZTtnQkFDSCxRQUFRO3NCQUExQixLQUFLO3VCQUFDLFVBQVU7Z0JBMEJQLE1BQU07c0JBQWYsTUFBTTtnQkFZUCxZQUFZO3NCQUZYLFlBQVk7dUJBQUMsU0FBUzs7c0JBQ3RCLFlBQVk7dUJBQUMsWUFBWTtnQkFXMUIsWUFBWTtzQkFGWCxZQUFZO3VCQUFDLFVBQVU7O3NCQUN2QixZQUFZO3VCQUFDLFlBQVk7Z0JBUTFCLE9BQU87c0JBRE4sWUFBWTt1QkFBQyxPQUFPIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgQXBwbGljYXRpb25SZWYsXG4gIENvbXBvbmVudEZhY3RvcnlSZXNvbHZlcixcbiAgRGlyZWN0aXZlLFxuICBFbGVtZW50UmVmLFxuICBFbWJlZGRlZFZpZXdSZWYsXG4gIEV2ZW50RW1pdHRlcixcbiAgSG9zdExpc3RlbmVyLFxuICBJbmplY3QsXG4gIEluamVjdG9yLFxuICBJbnB1dCxcbiAgT25DaGFuZ2VzLFxuICBPcHRpb25hbCxcbiAgT3V0cHV0LFxuICBTaW1wbGVDaGFuZ2VzLFxuICBUZW1wbGF0ZVJlZlxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7R3Jhdml0eVRvb2x0aXBDb21wb25lbnR9IGZyb20gJy4vZ3Jhdml0eS10b29sdGlwLmNvbXBvbmVudCc7XG5pbXBvcnQge1Rvb2x0aXBPcHRpb25zU2VydmljZX0gZnJvbSAnLi9vcHRpb25zLnNlcnZpY2UnO1xuaW1wb3J0IHtiYWNrd2FyZENvbXBhdGliaWxpdHlPcHRpb25zLCBkZWZhdWx0T3B0aW9uc30gZnJvbSAnLi9vcHRpb25zJztcbmltcG9ydCB7VG9vbHRpcE9wdGlvbnN9IGZyb20gJy4vb3B0aW9ucy5pbnRlcmZhY2UnO1xuXG5leHBvcnQgaW50ZXJmYWNlIEFkQ29tcG9uZW50IHtcbiAgZGF0YTogYW55O1xuICBzaG93OiBib29sZWFuO1xuICBjbG9zZTogYm9vbGVhbjtcbiAgZXZlbnRzOiBhbnk7XG59XG5cbkBEaXJlY3RpdmUoe1xuICBzZWxlY3RvcjogJ1t0b29sdGlwXScsXG4gIGV4cG9ydEFzOiAndG9vbHRpcCcsXG59KVxuXG5leHBvcnQgY2xhc3MgR3Jhdml0eVRvb2x0aXBEaXJlY3RpdmUgaW1wbGVtZW50cyBPbkNoYW5nZXMge1xuXG4gIGhpZGVUaW1lb3V0SWQhOiBudW1iZXI7XG4gIGRlc3Ryb3lUaW1lb3V0SWQhOiBudW1iZXI7XG4gIGhpZGVBZnRlckNsaWNrVGltZW91dElkITogbnVtYmVyO1xuICBjcmVhdGVUaW1lb3V0SWQhOiBudW1iZXI7XG4gIHNob3dUaW1lb3V0SWQhOiBudW1iZXI7XG4gIGNvbXBvbmVudFJlZjogYW55O1xuICBlbGVtZW50UG9zaXRpb246IGFueTtcbiAgX2lkOiBhbnk7XG4gIF9vcHRpb25zOiBhbnkgPSB7fTtcbiAgX2RlZmF1bHRPcHRpb25zOiBhbnk7XG4gIF9kZXN0cm95RGVsYXkhOiBudW1iZXI7XG4gIGNvbXBvbmVudFN1YnNjcmliZTogYW55O1xuICBfY29udGVudFR5cGU6IFwic3RyaW5nXCIgfCBcImh0bWxcIiB8IFwidGVtcGxhdGVcIiA9IFwic3RyaW5nXCI7XG4gIF9zaG93RGVsYXkhOiBudW1iZXI7XG4gIF9oaWRlRGVsYXkhOiBudW1iZXI7XG4gIF96SW5kZXghOiBudW1iZXI7XG4gIF90b29sdGlwQ2xhc3MhOiBzdHJpbmc7XG4gIF9hbmltYXRpb25EdXJhdGlvbiE6IG51bWJlcjtcbiAgX21heFdpZHRoITogc3RyaW5nO1xuXG4gIEBJbnB1dCgnb3B0aW9ucycpIHNldCBvcHRpb25zKHZhbHVlOiBUb29sdGlwT3B0aW9ucykge1xuICAgIGlmICh2YWx1ZSAmJiBkZWZhdWx0T3B0aW9ucykge1xuICAgICAgdGhpcy5fb3B0aW9ucyA9IHZhbHVlO1xuICAgIH1cbiAgfVxuXG4gIGdldCBvcHRpb25zKCkge1xuICAgIHJldHVybiB0aGlzLl9vcHRpb25zO1xuICB9XG5cbiAgQElucHV0KCd0b29sdGlwJykgdG9vbHRpcFZhbHVlITogc3RyaW5nIHwgVGVtcGxhdGVSZWY8YW55PjtcbiAgQElucHV0KCdwbGFjZW1lbnQnKSBwbGFjZW1lbnQhOiBzdHJpbmc7XG4gIEBJbnB1dCgnYXV0b1BsYWNlbWVudCcpIGF1dG9QbGFjZW1lbnQhOiBib29sZWFuO1xuXG4gIC8vIENvbnRlbnQgdHlwZVxuICBASW5wdXQoJ2NvbnRlbnQtdHlwZScpIHNldCBjb250ZW50VHlwZUJhY2t3YXJkQ29tcGF0aWJpbGl0eSh2YWx1ZTogXCJzdHJpbmdcIiB8IFwiaHRtbFwiIHwgXCJ0ZW1wbGF0ZVwiKSB7XG4gICAgaWYgKHZhbHVlKSB7XG4gICAgICB0aGlzLl9jb250ZW50VHlwZSA9IHZhbHVlO1xuICAgIH1cbiAgfVxuXG4gIEBJbnB1dCgnY29udGVudFR5cGUnKSBzZXQgY29udGVudFR5cGUodmFsdWU6IFwic3RyaW5nXCIgfCBcImh0bWxcIiB8IFwidGVtcGxhdGVcIikge1xuICAgIGlmICh2YWx1ZSkge1xuICAgICAgdGhpcy5fY29udGVudFR5cGUgPSB2YWx1ZTtcbiAgICB9XG4gIH1cblxuICBnZXQgY29udGVudFR5cGUoKSB7XG4gICAgcmV0dXJuIHRoaXMuX2NvbnRlbnRUeXBlO1xuICB9XG5cbiAgQElucHV0KCdoaWRlLWRlbGF5LW1vYmlsZScpIGhpZGVEZWxheU1vYmlsZSE6IG51bWJlcjtcbiAgQElucHV0KCdoaWRlRGVsYXlUb3VjaHNjcmVlbicpIGhpZGVEZWxheVRvdWNoc2NyZWVuITogbnVtYmVyO1xuXG4gIC8vIHotaW5kZXhcbiAgQElucHV0KCd6LWluZGV4Jykgc2V0IHpJbmRleEJhY2t3YXJkQ29tcGF0aWJpbGl0eSh2YWx1ZTogbnVtYmVyKSB7XG4gICAgaWYgKHZhbHVlKSB7XG4gICAgICB0aGlzLl96SW5kZXggPSB2YWx1ZTtcbiAgICB9XG4gIH1cblxuICBASW5wdXQoJ3pJbmRleCcpIHNldCB6SW5kZXgodmFsdWU6IG51bWJlcikge1xuICAgIGlmICh2YWx1ZSkge1xuICAgICAgdGhpcy5fekluZGV4ID0gdmFsdWU7XG4gICAgfVxuICB9XG5cbiAgZ2V0IHpJbmRleCgpIHtcbiAgICByZXR1cm4gdGhpcy5fekluZGV4O1xuICB9XG5cbiAgLy8gQW5pbWF0aW9uIGR1cmF0aW9uXG4gIEBJbnB1dCgnYW5pbWF0aW9uLWR1cmF0aW9uJykgc2V0IGFuaW1hdGlvbkR1cmF0aW9uQmFja3dhcmRDb21wYXRpYmlsaXR5KHZhbHVlOiBudW1iZXIpIHtcbiAgICBpZiAodmFsdWUpIHtcbiAgICAgIHRoaXMuX2FuaW1hdGlvbkR1cmF0aW9uID0gdmFsdWU7XG4gICAgfVxuICB9XG5cbiAgQElucHV0KCdhbmltYXRpb25EdXJhdGlvbicpIHNldCBhbmltYXRpb25EdXJhdGlvbih2YWx1ZTogbnVtYmVyKSB7XG4gICAgaWYgKHZhbHVlKSB7XG4gICAgICB0aGlzLl9hbmltYXRpb25EdXJhdGlvbiA9IHZhbHVlO1xuICAgIH1cbiAgfVxuXG4gIGdldCBhbmltYXRpb25EdXJhdGlvbigpIHtcbiAgICByZXR1cm4gdGhpcy5fYW5pbWF0aW9uRHVyYXRpb247XG4gIH1cblxuXG4gIEBJbnB1dCgndHJpZ2dlcicpIHRyaWdnZXIhOiBzdHJpbmc7XG5cbiAgLy8gVG9vbHRpcCBjbGFzc1xuICBASW5wdXQoJ3Rvb2x0aXAtY2xhc3MnKSBzZXQgdG9vbHRpcENsYXNzQmFja3dhcmRDb21wYXRpYmlsaXR5KHZhbHVlOiBzdHJpbmcpIHtcbiAgICBpZiAodmFsdWUpIHtcbiAgICAgIHRoaXMuX3Rvb2x0aXBDbGFzcyA9IHZhbHVlO1xuICAgIH1cbiAgfVxuXG4gIEBJbnB1dCgndG9vbHRpcENsYXNzJykgc2V0IHRvb2x0aXBDbGFzcyh2YWx1ZTogc3RyaW5nKSB7XG4gICAgaWYgKHZhbHVlKSB7XG4gICAgICB0aGlzLl90b29sdGlwQ2xhc3MgPSB2YWx1ZTtcbiAgICB9XG4gIH1cblxuICBnZXQgdG9vbHRpcENsYXNzKCkge1xuICAgIHJldHVybiB0aGlzLl90b29sdGlwQ2xhc3M7XG4gIH1cblxuICBASW5wdXQoJ2Rpc3BsYXknKSBkaXNwbGF5ITogYm9vbGVhbjtcbiAgQElucHV0KCdkaXNwbGF5LW1vYmlsZScpIGRpc3BsYXlNb2JpbGUhOiBib29sZWFuO1xuICBASW5wdXQoJ2Rpc3BsYXlUb3VjaHNjcmVlbicpIGRpc3BsYXlUb3VjaHNjcmVlbiE6IGJvb2xlYW47XG4gIEBJbnB1dCgnc2hhZG93Jykgc2hhZG93ITogYm9vbGVhbjtcbiAgQElucHV0KCd0aGVtZScpIHRoZW1lITogXCJkYXJrXCIgfCBcImxpZ2h0XCI7XG4gIEBJbnB1dCgnb2Zmc2V0Jykgb2Zmc2V0ITogbnVtYmVyO1xuICBASW5wdXQoJ3dpZHRoJykgd2lkdGghOiBzdHJpbmc7XG5cbiAgLy8gTWF4IHdpZHRoXG4gIEBJbnB1dCgnbWF4LXdpZHRoJykgc2V0IG1heFdpZHRoQmFja3dhcmRDb21wYXRpYmlsaXR5KHZhbHVlOiBzdHJpbmcpIHtcbiAgICBpZiAodmFsdWUpIHtcbiAgICAgIHRoaXMuX21heFdpZHRoID0gdmFsdWU7XG4gICAgfVxuICB9XG5cbiAgQElucHV0KCdtYXhXaWR0aCcpIHNldCBtYXhXaWR0aCh2YWx1ZTogc3RyaW5nKSB7XG4gICAgaWYgKHZhbHVlKSB7XG4gICAgICB0aGlzLl9tYXhXaWR0aCA9IHZhbHVlO1xuICAgIH1cbiAgfVxuXG4gIGdldCBtYXhXaWR0aCgpIHtcbiAgICByZXR1cm4gdGhpcy5fbWF4V2lkdGg7XG4gIH1cblxuXG4gIEBJbnB1dCgnaWQnKSBpZDogYW55O1xuXG4gIC8vIFNob3cgZGVsYXlcbiAgQElucHV0KCdzaG93LWRlbGF5Jykgc2V0IHNob3dEZWxheUJhY2t3YXJkQ29tcGF0aWJpbGl0eSh2YWx1ZTogbnVtYmVyKSB7XG4gICAgaWYgKHZhbHVlKSB7XG4gICAgICB0aGlzLl9zaG93RGVsYXkgPSB2YWx1ZTtcbiAgICB9XG4gIH1cblxuICBASW5wdXQoJ3Nob3dEZWxheScpIHNldCBzaG93RGVsYXkodmFsdWU6IG51bWJlcikge1xuICAgIGlmICh2YWx1ZSkge1xuICAgICAgdGhpcy5fc2hvd0RlbGF5ID0gdmFsdWU7XG4gICAgfVxuICB9XG5cbiAgZ2V0IHNob3dEZWxheSgpIHtcbiAgICByZXR1cm4gdGhpcy5fc2hvd0RlbGF5O1xuICB9XG5cbiAgLy8gSGlkZSBkZWxheVxuICBASW5wdXQoJ2hpZGUtZGVsYXknKSBzZXQgaGlkZURlbGF5QmFja3dhcmRDb21wYXRpYmlsaXR5KHZhbHVlOiBudW1iZXIpIHtcbiAgICBpZiAodmFsdWUpIHtcbiAgICAgIHRoaXMuX2hpZGVEZWxheSA9IHZhbHVlO1xuICAgIH1cbiAgfVxuXG4gIEBJbnB1dCgnaGlkZURlbGF5Jykgc2V0IGhpZGVEZWxheSh2YWx1ZTogbnVtYmVyKSB7XG4gICAgaWYgKHZhbHVlKSB7XG4gICAgICB0aGlzLl9oaWRlRGVsYXkgPSB2YWx1ZTtcbiAgICB9XG4gIH1cblxuICBnZXQgaGlkZURlbGF5KCkge1xuICAgIHJldHVybiB0aGlzLl9oaWRlRGVsYXk7XG4gIH1cblxuICBASW5wdXQoJ2hpZGVEZWxheUFmdGVyQ2xpY2snKSBoaWRlRGVsYXlBZnRlckNsaWNrITogbnVtYmVyO1xuICBASW5wdXQoJ3BvaW50ZXJFdmVudHMnKSBwb2ludGVyRXZlbnRzITogJ2F1dG8nIHwgJ25vbmUnO1xuICBASW5wdXQoJ3Bvc2l0aW9uJykgcG9zaXRpb24hOiB7IHRvcDogbnVtYmVyLCBsZWZ0OiBudW1iZXIgfTtcblxuICBnZXQgaXNUb29sdGlwRGVzdHJveWVkKCkge1xuICAgIHJldHVybiB0aGlzLmNvbXBvbmVudFJlZiAmJiB0aGlzLmNvbXBvbmVudFJlZi5ob3N0Vmlldy5kZXN0cm95ZWQ7XG4gIH1cblxuICBnZXQgZGVzdHJveURlbGF5KCkge1xuICAgIGlmICh0aGlzLl9kZXN0cm95RGVsYXkpIHtcbiAgICAgIHJldHVybiB0aGlzLl9kZXN0cm95RGVsYXk7XG4gICAgfSBlbHNlIHtcbiAgICAgIHJldHVybiBOdW1iZXIodGhpcy5nZXRIaWRlRGVsYXkoKSkgKyBOdW1iZXIodGhpcy5vcHRpb25zWydhbmltYXRpb25EdXJhdGlvbiddKTtcbiAgICB9XG4gIH1cblxuICBzZXQgZGVzdHJveURlbGF5KHZhbHVlOiBudW1iZXIpIHtcbiAgICB0aGlzLl9kZXN0cm95RGVsYXkgPSB2YWx1ZTtcbiAgfVxuXG4gIGdldCB0b29sdGlwUG9zaXRpb24oKSB7XG4gICAgaWYgKHRoaXMub3B0aW9uc1sncG9zaXRpb24nXSkge1xuICAgICAgcmV0dXJuIHRoaXMub3B0aW9uc1sncG9zaXRpb24nXTtcbiAgICB9IGVsc2Uge1xuICAgICAgcmV0dXJuIHRoaXMuZWxlbWVudFBvc2l0aW9uO1xuICAgIH1cbiAgfVxuXG4gIEBPdXRwdXQoKSBldmVudHM6IEV2ZW50RW1pdHRlcjxhbnk+ID0gbmV3IEV2ZW50RW1pdHRlcjxhbnk+KCk7XG5cbiAgY29uc3RydWN0b3IoXG4gICAgQE9wdGlvbmFsKCkgQEluamVjdChUb29sdGlwT3B0aW9uc1NlcnZpY2UpIHByaXZhdGUgaW5pdE9wdGlvbnM6IGFueSxcbiAgICBwcml2YXRlIGVsZW1lbnRSZWY6IEVsZW1lbnRSZWYsXG4gICAgcHJpdmF0ZSBjb21wb25lbnRGYWN0b3J5UmVzb2x2ZXI6IENvbXBvbmVudEZhY3RvcnlSZXNvbHZlcixcbiAgICBwcml2YXRlIGFwcFJlZjogQXBwbGljYXRpb25SZWYsXG4gICAgcHJpdmF0ZSBpbmplY3RvcjogSW5qZWN0b3IpIHtcbiAgfVxuXG4gIEBIb3N0TGlzdGVuZXIoJ2ZvY3VzaW4nKVxuICBASG9zdExpc3RlbmVyKCdtb3VzZWVudGVyJylcbiAgb25Nb3VzZUVudGVyKCkge1xuICAgIGlmICh0aGlzLmlzRGlzcGxheU9uSG92ZXIgPT0gZmFsc2UpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICB0aGlzLnNob3coKTtcbiAgfVxuXG4gIEBIb3N0TGlzdGVuZXIoJ2ZvY3Vzb3V0JylcbiAgQEhvc3RMaXN0ZW5lcignbW91c2VsZWF2ZScpXG4gIG9uTW91c2VMZWF2ZSgpIHtcbiAgICBpZiAodGhpcy5vcHRpb25zWyd0cmlnZ2VyJ10gPT09ICdob3ZlcicpIHtcbiAgICAgIHRoaXMuZGVzdHJveVRvb2x0aXAoKTtcbiAgICB9XG4gIH1cblxuICBASG9zdExpc3RlbmVyKCdjbGljaycpXG4gIG9uQ2xpY2soKSB7XG4gICAgaWYgKHRoaXMuaXNEaXNwbGF5T25DbGljayA9PSBmYWxzZSkge1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIHRoaXMuc2hvdygpO1xuICAgIHRoaXMuaGlkZUFmdGVyQ2xpY2tUaW1lb3V0SWQgPSB3aW5kb3cuc2V0VGltZW91dCgoKSA9PiB7XG4gICAgICB0aGlzLmRlc3Ryb3lUb29sdGlwKCk7XG4gICAgfSwgdGhpcy5vcHRpb25zWydoaWRlRGVsYXlBZnRlckNsaWNrJ10pXG4gIH1cblxuICBuZ09uQ2hhbmdlcyhjaGFuZ2VzOiBTaW1wbGVDaGFuZ2VzKSB7XG4gICAgdGhpcy5pbml0T3B0aW9ucyA9IHRoaXMucmVuYW1lUHJvcGVydGllcyh0aGlzLmluaXRPcHRpb25zKTtcbiAgICBsZXQgY2hhbmdlZE9wdGlvbnMgPSB0aGlzLmdldFByb3BlcnRpZXMoY2hhbmdlcyk7XG4gICAgY2hhbmdlZE9wdGlvbnMgPSB0aGlzLnJlbmFtZVByb3BlcnRpZXMoY2hhbmdlZE9wdGlvbnMpO1xuXG4gICAgdGhpcy5hcHBseU9wdGlvbnNEZWZhdWx0KGRlZmF1bHRPcHRpb25zLCBjaGFuZ2VkT3B0aW9ucyk7XG4gIH1cblxuICBuZ09uRGVzdHJveSgpOiB2b2lkIHtcbiAgICB0aGlzLmRlc3Ryb3lUb29sdGlwKHtcbiAgICAgIGZhc3Q6IHRydWVcbiAgICB9KTtcblxuICAgIGlmICh0aGlzLmNvbXBvbmVudFN1YnNjcmliZSkge1xuICAgICAgdGhpcy5jb21wb25lbnRTdWJzY3JpYmUudW5zdWJzY3JpYmUoKTtcbiAgICB9XG4gIH1cblxuICBnZXRTaG93RGVsYXkoKSB7XG4gICAgcmV0dXJuIHRoaXMub3B0aW9uc1snc2hvd0RlbGF5J107XG4gIH1cblxuICBnZXRIaWRlRGVsYXkoKSB7XG4gICAgY29uc3QgaGlkZURlbGF5ID0gdGhpcy5vcHRpb25zWydoaWRlRGVsYXknXTtcbiAgICBjb25zdCBoaWRlRGVsYXlUb3VjaHNjcmVlbiA9IHRoaXMub3B0aW9uc1snaGlkZURlbGF5VG91Y2hzY3JlZW4nXTtcblxuICAgIHJldHVybiB0aGlzLmlzVG91Y2hTY3JlZW4gPyBoaWRlRGVsYXlUb3VjaHNjcmVlbiA6IGhpZGVEZWxheTtcbiAgfVxuXG4gIGdldFByb3BlcnRpZXMoY2hhbmdlczogU2ltcGxlQ2hhbmdlcykge1xuICAgIGxldCBkaXJlY3RpdmVQcm9wZXJ0aWVzOiBhbnkgPSB7fTtcbiAgICBsZXQgY3VzdG9tUHJvcGVydGllczogYW55ID0ge307XG4gICAgbGV0IGFsbFByb3BlcnRpZXM6IGFueTtcblxuICAgIGZvciAodmFyIHByb3AgaW4gY2hhbmdlcykge1xuICAgICAgaWYgKHByb3AgIT09ICdvcHRpb25zJyAmJiBwcm9wICE9PSAndG9vbHRpcFZhbHVlJykge1xuICAgICAgICBkaXJlY3RpdmVQcm9wZXJ0aWVzW3Byb3BdID0gY2hhbmdlc1twcm9wXS5jdXJyZW50VmFsdWU7XG4gICAgICB9XG4gICAgICBpZiAocHJvcCA9PT0gJ29wdGlvbnMnKSB7XG4gICAgICAgIGN1c3RvbVByb3BlcnRpZXMgPSBjaGFuZ2VzW3Byb3BdLmN1cnJlbnRWYWx1ZTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICBhbGxQcm9wZXJ0aWVzID0gT2JqZWN0LmFzc2lnbih7fSwgY3VzdG9tUHJvcGVydGllcywgZGlyZWN0aXZlUHJvcGVydGllcyk7XG4gICAgcmV0dXJuIGFsbFByb3BlcnRpZXM7XG4gIH1cblxuICByZW5hbWVQcm9wZXJ0aWVzKG9wdGlvbnM6IGFueSkge1xuICAgIGZvciAodmFyIHByb3AgaW4gb3B0aW9ucykge1xuICAgICAgaWYgKGJhY2t3YXJkQ29tcGF0aWJpbGl0eU9wdGlvbnNbcHJvcF0pIHtcbiAgICAgICAgb3B0aW9uc1tiYWNrd2FyZENvbXBhdGliaWxpdHlPcHRpb25zW3Byb3BdXSA9IG9wdGlvbnNbcHJvcF07XG4gICAgICAgIGRlbGV0ZSBvcHRpb25zW3Byb3BdO1xuICAgICAgfVxuICAgIH1cblxuICAgIHJldHVybiBvcHRpb25zO1xuICB9XG5cbiAgZ2V0RWxlbWVudFBvc2l0aW9uKCk6IHZvaWQge1xuICAgIHRoaXMuZWxlbWVudFBvc2l0aW9uID0gdGhpcy5lbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQuZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCk7XG4gIH1cblxuICBjcmVhdGVUb29sdGlwKCk6IHZvaWQge1xuICAgIHRoaXMuY2xlYXJUaW1lb3V0cygpO1xuICAgIHRoaXMuZ2V0RWxlbWVudFBvc2l0aW9uKCk7XG5cbiAgICB0aGlzLmNyZWF0ZVRpbWVvdXRJZCA9IHdpbmRvdy5zZXRUaW1lb3V0KCgpID0+IHtcbiAgICAgIHRoaXMuYXBwZW5kQ29tcG9uZW50VG9Cb2R5KEdyYXZpdHlUb29sdGlwQ29tcG9uZW50KTtcbiAgICB9LCB0aGlzLmdldFNob3dEZWxheSgpKTtcblxuICAgIHRoaXMuc2hvd1RpbWVvdXRJZCA9IHdpbmRvdy5zZXRUaW1lb3V0KCgpID0+IHtcbiAgICAgIHRoaXMuc2hvd1Rvb2x0aXBFbGVtKCk7XG4gICAgfSwgdGhpcy5nZXRTaG93RGVsYXkoKSk7XG4gIH1cblxuICBkZXN0cm95VG9vbHRpcChvcHRpb25zID0ge1xuICAgIGZhc3Q6IGZhbHNlXG4gIH0pOiB2b2lkIHtcbiAgICB0aGlzLmNsZWFyVGltZW91dHMoKTtcblxuICAgIGlmICh0aGlzLmlzVG9vbHRpcERlc3Ryb3llZCA9PSBmYWxzZSkge1xuICAgICAgdGhpcy5oaWRlVGltZW91dElkID0gd2luZG93LnNldFRpbWVvdXQoKCkgPT4ge1xuICAgICAgICB0aGlzLmhpZGVUb29sdGlwKCk7XG4gICAgICB9LCBvcHRpb25zLmZhc3QgPyAwIDogdGhpcy5nZXRIaWRlRGVsYXkoKSk7XG5cbiAgICAgIHRoaXMuZGVzdHJveVRpbWVvdXRJZCA9IHdpbmRvdy5zZXRUaW1lb3V0KCgpID0+IHtcbiAgICAgICAgaWYgKCF0aGlzLmNvbXBvbmVudFJlZiB8fCB0aGlzLmlzVG9vbHRpcERlc3Ryb3llZCkge1xuICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuXG4gICAgICAgIHRoaXMuYXBwUmVmLmRldGFjaFZpZXcodGhpcy5jb21wb25lbnRSZWYuaG9zdFZpZXcpO1xuICAgICAgICB0aGlzLmNvbXBvbmVudFJlZi5kZXN0cm95KCk7XG4gICAgICAgIHRoaXMuZXZlbnRzLmVtaXQoe1xuICAgICAgICAgIHR5cGU6ICdoaWRkZW4nLFxuICAgICAgICAgIHBvc2l0aW9uOiB0aGlzLnRvb2x0aXBQb3NpdGlvblxuICAgICAgICB9KTtcbiAgICAgIH0sIG9wdGlvbnMuZmFzdCA/IDAgOiB0aGlzLmRlc3Ryb3lEZWxheSk7XG4gICAgfVxuICB9XG5cbiAgc2hvd1Rvb2x0aXBFbGVtKCk6IHZvaWQge1xuICAgIHRoaXMuY2xlYXJUaW1lb3V0cygpO1xuICAgICg8QWRDb21wb25lbnQ+dGhpcy5jb21wb25lbnRSZWYuaW5zdGFuY2UpLnNob3cgPSB0cnVlO1xuICAgIHRoaXMuZXZlbnRzLmVtaXQoe1xuICAgICAgdHlwZTogJ3Nob3cnLFxuICAgICAgcG9zaXRpb246IHRoaXMudG9vbHRpcFBvc2l0aW9uXG4gICAgfSk7XG4gIH1cblxuICBoaWRlVG9vbHRpcCgpOiB2b2lkIHtcbiAgICBpZiAoIXRoaXMuY29tcG9uZW50UmVmIHx8IHRoaXMuaXNUb29sdGlwRGVzdHJveWVkKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuICAgICg8QWRDb21wb25lbnQ+dGhpcy5jb21wb25lbnRSZWYuaW5zdGFuY2UpLnNob3cgPSBmYWxzZTtcbiAgICB0aGlzLmV2ZW50cy5lbWl0KHtcbiAgICAgIHR5cGU6ICdoaWRlJyxcbiAgICAgIHBvc2l0aW9uOiB0aGlzLnRvb2x0aXBQb3NpdGlvblxuICAgIH0pO1xuICB9XG5cbiAgYXBwZW5kQ29tcG9uZW50VG9Cb2R5KGNvbXBvbmVudDogYW55KTogdm9pZCB7XG4gICAgdGhpcy5jb21wb25lbnRSZWYgPSB0aGlzLmNvbXBvbmVudEZhY3RvcnlSZXNvbHZlclxuICAgICAgLnJlc29sdmVDb21wb25lbnRGYWN0b3J5KGNvbXBvbmVudClcbiAgICAgIC5jcmVhdGUodGhpcy5pbmplY3Rvcik7XG5cbiAgICAoPEFkQ29tcG9uZW50PnRoaXMuY29tcG9uZW50UmVmLmluc3RhbmNlKS5kYXRhID0ge1xuICAgICAgdmFsdWU6IHRoaXMudG9vbHRpcFZhbHVlLFxuICAgICAgZWxlbWVudDogdGhpcy5lbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQsXG4gICAgICBlbGVtZW50UG9zaXRpb246IHRoaXMudG9vbHRpcFBvc2l0aW9uLFxuICAgICAgb3B0aW9uczogdGhpcy5vcHRpb25zXG4gICAgfVxuICAgIHRoaXMuYXBwUmVmLmF0dGFjaFZpZXcodGhpcy5jb21wb25lbnRSZWYuaG9zdFZpZXcpO1xuICAgIGNvbnN0IGRvbUVsZW0gPSAodGhpcy5jb21wb25lbnRSZWYuaG9zdFZpZXcgYXMgRW1iZWRkZWRWaWV3UmVmPGFueT4pLnJvb3ROb2Rlc1swXSBhcyBIVE1MRWxlbWVudDtcbiAgICBkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKGRvbUVsZW0pO1xuXG4gICAgdGhpcy5jb21wb25lbnRTdWJzY3JpYmUgPSAoPEFkQ29tcG9uZW50PnRoaXMuY29tcG9uZW50UmVmLmluc3RhbmNlKS5ldmVudHMuc3Vic2NyaWJlKChldmVudDogYW55KSA9PiB7XG4gICAgICB0aGlzLmhhbmRsZUV2ZW50cyhldmVudCk7XG4gICAgfSk7XG4gIH1cblxuICBjbGVhclRpbWVvdXRzKCk6IHZvaWQge1xuICAgIGlmICh0aGlzLmNyZWF0ZVRpbWVvdXRJZCkge1xuICAgICAgY2xlYXJUaW1lb3V0KHRoaXMuY3JlYXRlVGltZW91dElkKTtcbiAgICB9XG5cbiAgICBpZiAodGhpcy5zaG93VGltZW91dElkKSB7XG4gICAgICBjbGVhclRpbWVvdXQodGhpcy5zaG93VGltZW91dElkKTtcbiAgICB9XG5cbiAgICBpZiAodGhpcy5oaWRlVGltZW91dElkKSB7XG4gICAgICBjbGVhclRpbWVvdXQodGhpcy5oaWRlVGltZW91dElkKTtcbiAgICB9XG5cbiAgICBpZiAodGhpcy5kZXN0cm95VGltZW91dElkKSB7XG4gICAgICBjbGVhclRpbWVvdXQodGhpcy5kZXN0cm95VGltZW91dElkKTtcbiAgICB9XG4gIH1cblxuICBnZXQgaXNEaXNwbGF5T25Ib3ZlcigpOiBib29sZWFuIHtcbiAgICBpZiAodGhpcy5vcHRpb25zWydkaXNwbGF5J10gPT0gZmFsc2UpIHtcbiAgICAgIHJldHVybiBmYWxzZTtcbiAgICB9XG5cbiAgICBpZiAodGhpcy5vcHRpb25zWydkaXNwbGF5VG91Y2hzY3JlZW4nXSA9PSBmYWxzZSAmJiB0aGlzLmlzVG91Y2hTY3JlZW4pIHtcbiAgICAgIHJldHVybiBmYWxzZTtcbiAgICB9XG5cbiAgICByZXR1cm4gdGhpcy5vcHRpb25zWyd0cmlnZ2VyJ10gPT09ICdob3Zlcic7XG4gIH1cblxuICBnZXQgaXNEaXNwbGF5T25DbGljaygpOiBib29sZWFuIHtcbiAgICBpZiAodGhpcy5vcHRpb25zWydkaXNwbGF5J10gPT0gZmFsc2UpIHtcbiAgICAgIHJldHVybiBmYWxzZTtcbiAgICB9XG5cbiAgICBpZiAodGhpcy5vcHRpb25zWydkaXNwbGF5VG91Y2hzY3JlZW4nXSA9PSBmYWxzZSAmJiB0aGlzLmlzVG91Y2hTY3JlZW4pIHtcbiAgICAgIHJldHVybiBmYWxzZTtcbiAgICB9XG5cbiAgICByZXR1cm4gdGhpcy5vcHRpb25zWyd0cmlnZ2VyJ10gPT0gJ2NsaWNrJztcblxuXG4gIH1cblxuICBnZXQgaXNUb3VjaFNjcmVlbigpIHtcbiAgICB2YXIgcHJlZml4ZXMgPSAnIC13ZWJraXQtIC1tb3otIC1vLSAtbXMtICcuc3BsaXQoJyAnKTtcbiAgICB2YXIgbXEgPSBmdW5jdGlvbiAocXVlcnk6IGFueSkge1xuICAgICAgcmV0dXJuIHdpbmRvdy5tYXRjaE1lZGlhKHF1ZXJ5KS5tYXRjaGVzO1xuICAgIH1cblxuICAgIGlmICgoJ29udG91Y2hzdGFydCcgaW4gd2luZG93KSkge1xuICAgICAgcmV0dXJuIHRydWU7XG4gICAgfVxuXG4gICAgLy8gaW5jbHVkZSB0aGUgJ2hlYXJ0eicgYXMgYSB3YXkgdG8gaGF2ZSBhIG5vbiBtYXRjaGluZyBNUSB0byBoZWxwIHRlcm1pbmF0ZSB0aGUgam9pblxuICAgIC8vIGh0dHBzOi8vZ2l0LmlvL3Z6bkZIXG4gICAgdmFyIHF1ZXJ5ID0gWycoJywgcHJlZml4ZXMuam9pbigndG91Y2gtZW5hYmxlZCksKCcpLCAnaGVhcnR6JywgJyknXS5qb2luKCcnKTtcbiAgICByZXR1cm4gbXEocXVlcnkpO1xuICB9XG5cbiAgYXBwbHlPcHRpb25zRGVmYXVsdChkZWZhdWx0T3B0aW9uczogYW55LCBvcHRpb25zOiBhbnkpOiB2b2lkIHtcbiAgICB0aGlzLm9wdGlvbnMgPSBPYmplY3QuYXNzaWduKHt9LCBkZWZhdWx0T3B0aW9ucywgdGhpcy5pbml0T3B0aW9ucyB8fCB7fSwgdGhpcy5vcHRpb25zLCBvcHRpb25zKTtcbiAgfVxuXG4gIGhhbmRsZUV2ZW50cyhldmVudDogYW55KSB7XG4gICAgaWYgKGV2ZW50LnR5cGUgPT09ICdzaG93bicpIHtcbiAgICAgIHRoaXMuZXZlbnRzLmVtaXQoe1xuICAgICAgICB0eXBlOiAnc2hvd24nLFxuICAgICAgICBwb3NpdGlvbjogdGhpcy50b29sdGlwUG9zaXRpb25cbiAgICAgIH0pO1xuICAgIH1cbiAgfVxuXG4gIHB1YmxpYyBzaG93KCkge1xuICAgIGlmICghdGhpcy50b29sdGlwVmFsdWUpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICBpZiAoIXRoaXMuY29tcG9uZW50UmVmIHx8IHRoaXMuaXNUb29sdGlwRGVzdHJveWVkKSB7XG4gICAgICB0aGlzLmNyZWF0ZVRvb2x0aXAoKTtcbiAgICB9IGVsc2UgaWYgKCF0aGlzLmlzVG9vbHRpcERlc3Ryb3llZCkge1xuICAgICAgdGhpcy5zaG93VG9vbHRpcEVsZW0oKTtcbiAgICB9XG4gIH1cblxuICBwdWJsaWMgaGlkZSgpIHtcbiAgICB0aGlzLmRlc3Ryb3lUb29sdGlwKCk7XG4gIH1cbn1cbiJdfQ==
494
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ3Jhdml0eS10b29sdGlwLmRpcmVjdGl2ZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2dyYXZpdHktZGVzaWduLXN5c3RlbS9zcmMvbGliL3ZlbmRvci9ncmF2aXR5LXRvb2x0aXAvZ3Jhdml0eS10b29sdGlwLmRpcmVjdGl2ZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBR0wsU0FBUyxFQUdULFlBQVksRUFDWixZQUFZLEVBQ1osTUFBTSxFQUVOLEtBQUssRUFFTCxRQUFRLEVBQ1IsTUFBTSxFQUdQLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFBQyx1QkFBdUIsRUFBQyxNQUFNLDZCQUE2QixDQUFDO0FBQ3BFLE9BQU8sRUFBQyxxQkFBcUIsRUFBQyxNQUFNLG1CQUFtQixDQUFDO0FBQ3hELE9BQU8sRUFBQyw0QkFBNEIsRUFBRSxjQUFjLEVBQUMsTUFBTSxXQUFXLENBQUM7O0FBZXZFLE1BQU0sT0FBTyx1QkFBdUI7SUFzQmxDLElBQXNCLE9BQU8sQ0FBQyxLQUFxQjtRQUNqRCxJQUFJLEtBQUssSUFBSSxjQUFjLEVBQUU7WUFDM0IsSUFBSSxDQUFDLFFBQVEsR0FBRyxLQUFLLENBQUM7U0FDdkI7SUFDSCxDQUFDO0lBRUQsSUFBSSxPQUFPO1FBQ1QsT0FBTyxJQUFJLENBQUMsUUFBUSxDQUFDO0lBQ3ZCLENBQUM7SUFNRCxlQUFlO0lBQ2YsSUFBMkIsZ0NBQWdDLENBQUMsS0FBcUM7UUFDL0YsSUFBSSxLQUFLLEVBQUU7WUFDVCxJQUFJLENBQUMsWUFBWSxHQUFHLEtBQUssQ0FBQztTQUMzQjtJQUNILENBQUM7SUFFRCxJQUEwQixXQUFXLENBQUMsS0FBcUM7UUFDekUsSUFBSSxLQUFLLEVBQUU7WUFDVCxJQUFJLENBQUMsWUFBWSxHQUFHLEtBQUssQ0FBQztTQUMzQjtJQUNILENBQUM7SUFFRCxJQUFJLFdBQVc7UUFDYixPQUFPLElBQUksQ0FBQyxZQUFZLENBQUM7SUFDM0IsQ0FBQztJQUtELFVBQVU7SUFDVixJQUFzQiwyQkFBMkIsQ0FBQyxLQUFhO1FBQzdELElBQUksS0FBSyxFQUFFO1lBQ1QsSUFBSSxDQUFDLE9BQU8sR0FBRyxLQUFLLENBQUM7U0FDdEI7SUFDSCxDQUFDO0lBRUQsSUFBcUIsTUFBTSxDQUFDLEtBQWE7UUFDdkMsSUFBSSxLQUFLLEVBQUU7WUFDVCxJQUFJLENBQUMsT0FBTyxHQUFHLEtBQUssQ0FBQztTQUN0QjtJQUNILENBQUM7SUFFRCxJQUFJLE1BQU07UUFDUixPQUFPLElBQUksQ0FBQyxPQUFPLENBQUM7SUFDdEIsQ0FBQztJQUVELHFCQUFxQjtJQUNyQixJQUFpQyxzQ0FBc0MsQ0FBQyxLQUFhO1FBQ25GLElBQUksS0FBSyxFQUFFO1lBQ1QsSUFBSSxDQUFDLGtCQUFrQixHQUFHLEtBQUssQ0FBQztTQUNqQztJQUNILENBQUM7SUFFRCxJQUFnQyxpQkFBaUIsQ0FBQyxLQUFhO1FBQzdELElBQUksS0FBSyxFQUFFO1lBQ1QsSUFBSSxDQUFDLGtCQUFrQixHQUFHLEtBQUssQ0FBQztTQUNqQztJQUNILENBQUM7SUFFRCxJQUFJLGlCQUFpQjtRQUNuQixPQUFPLElBQUksQ0FBQyxrQkFBa0IsQ0FBQztJQUNqQyxDQUFDO0lBS0QsZ0JBQWdCO0lBQ2hCLElBQTRCLGlDQUFpQyxDQUFDLEtBQWE7UUFDekUsSUFBSSxLQUFLLEVBQUU7WUFDVCxJQUFJLENBQUMsYUFBYSxHQUFHLEtBQUssQ0FBQztTQUM1QjtJQUNILENBQUM7SUFFRCxJQUEyQixZQUFZLENBQUMsS0FBYTtRQUNuRCxJQUFJLEtBQUssRUFBRTtZQUNULElBQUksQ0FBQyxhQUFhLEdBQUcsS0FBSyxDQUFDO1NBQzVCO0lBQ0gsQ0FBQztJQUVELElBQUksWUFBWTtRQUNkLE9BQU8sSUFBSSxDQUFDLGFBQWEsQ0FBQztJQUM1QixDQUFDO0lBV0QsWUFBWTtJQUNaLElBQXdCLDZCQUE2QixDQUFDLEtBQWE7UUFDakUsSUFBSSxLQUFLLEVBQUU7WUFDVCxJQUFJLENBQUMsU0FBUyxHQUFHLEtBQUssQ0FBQztTQUN4QjtJQUNILENBQUM7SUFFRCxJQUF1QixRQUFRLENBQUMsS0FBYTtRQUMzQyxJQUFJLEtBQUssRUFBRTtZQUNULElBQUksQ0FBQyxTQUFTLEdBQUcsS0FBSyxDQUFDO1NBQ3hCO0lBQ0gsQ0FBQztJQUVELElBQUksUUFBUTtRQUNWLE9BQU8sSUFBSSxDQUFDLFNBQVMsQ0FBQztJQUN4QixDQUFDO0lBS0QsYUFBYTtJQUNiLElBQXlCLDhCQUE4QixDQUFDLEtBQWE7UUFDbkUsSUFBSSxLQUFLLEVBQUU7WUFDVCxJQUFJLENBQUMsVUFBVSxHQUFHLEtBQUssQ0FBQztTQUN6QjtJQUNILENBQUM7SUFFRCxJQUF3QixTQUFTLENBQUMsS0FBYTtRQUM3QyxJQUFJLEtBQUssRUFBRTtZQUNULElBQUksQ0FBQyxVQUFVLEdBQUcsS0FBSyxDQUFDO1NBQ3pCO0lBQ0gsQ0FBQztJQUVELElBQUksU0FBUztRQUNYLE9BQU8sSUFBSSxDQUFDLFVBQVUsQ0FBQztJQUN6QixDQUFDO0lBRUQsYUFBYTtJQUNiLElBQXlCLDhCQUE4QixDQUFDLEtBQWE7UUFDbkUsSUFBSSxLQUFLLEVBQUU7WUFDVCxJQUFJLENBQUMsVUFBVSxHQUFHLEtBQUssQ0FBQztTQUN6QjtJQUNILENBQUM7SUFFRCxJQUF3QixTQUFTLENBQUMsS0FBYTtRQUM3QyxJQUFJLEtBQUssRUFBRTtZQUNULElBQUksQ0FBQyxVQUFVLEdBQUcsS0FBSyxDQUFDO1NBQ3pCO0lBQ0gsQ0FBQztJQUVELElBQUksU0FBUztRQUNYLE9BQU8sSUFBSSxDQUFDLFVBQVUsQ0FBQztJQUN6QixDQUFDO0lBTUQsSUFBSSxrQkFBa0I7UUFDcEIsT0FBTyxJQUFJLENBQUMsWUFBWSxJQUFJLElBQUksQ0FBQyxZQUFZLENBQUMsUUFBUSxDQUFDLFNBQVMsQ0FBQztJQUNuRSxDQUFDO0lBRUQsSUFBSSxZQUFZO1FBQ2QsSUFBSSxJQUFJLENBQUMsYUFBYSxFQUFFO1lBQ3RCLE9BQU8sSUFBSSxDQUFDLGFBQWEsQ0FBQztTQUMzQjthQUFNO1lBQ0wsT0FBTyxNQUFNLENBQUMsSUFBSSxDQUFDLFlBQVksRUFBRSxDQUFDLEdBQUcsTUFBTSxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsbUJBQW1CLENBQUMsQ0FBQyxDQUFDO1NBQ2hGO0lBQ0gsQ0FBQztJQUVELElBQUksWUFBWSxDQUFDLEtBQWE7UUFDNUIsSUFBSSxDQUFDLGFBQWEsR0FBRyxLQUFLLENBQUM7SUFDN0IsQ0FBQztJQUVELElBQUksZUFBZTtRQUNqQixJQUFJLElBQUksQ0FBQyxPQUFPLENBQUMsVUFBVSxDQUFDLEVBQUU7WUFDNUIsT0FBTyxJQUFJLENBQUMsT0FBTyxDQUFDLFVBQVUsQ0FBQyxDQUFDO1NBQ2pDO2FBQU07WUFDTCxPQUFPLElBQUksQ0FBQyxlQUFlLENBQUM7U0FDN0I7SUFDSCxDQUFDO0lBSUQsWUFDcUQsV0FBZ0IsRUFDM0QsVUFBc0IsRUFDdEIsd0JBQWtELEVBQ2xELE1BQXNCLEVBQ3RCLFFBQWtCO1FBSnlCLGdCQUFXLEdBQVgsV0FBVyxDQUFLO1FBQzNELGVBQVUsR0FBVixVQUFVLENBQVk7UUFDdEIsNkJBQXdCLEdBQXhCLHdCQUF3QixDQUEwQjtRQUNsRCxXQUFNLEdBQU4sTUFBTSxDQUFnQjtRQUN0QixhQUFRLEdBQVIsUUFBUSxDQUFVO1FBdE01QixhQUFRLEdBQVEsRUFBRSxDQUFDO1FBSW5CLGlCQUFZLEdBQW1DLFFBQVEsQ0FBQztRQXVHbkMsZUFBVSxHQUFZLEtBQUssQ0FBQztRQW9GdkMsV0FBTSxHQUFzQixJQUFJLFlBQVksRUFBTyxDQUFDO0lBUTlELENBQUM7SUFJRCxZQUFZO1FBQ1YsSUFBSSxJQUFJLENBQUMsZ0JBQWdCLElBQUksS0FBSyxFQUFFO1lBQ2xDLE9BQU87U0FDUjtRQUVELElBQUksQ0FBQyxJQUFJLEVBQUUsQ0FBQztJQUNkLENBQUM7SUFJRCxZQUFZO1FBQ1YsSUFBSSxJQUFJLENBQUMsT0FBTyxDQUFDLFNBQVMsQ0FBQyxLQUFLLE9BQU8sSUFBSSxDQUFDLElBQUksQ0FBQyxVQUFVLEVBQUU7WUFDM0QsSUFBSSxDQUFDLGNBQWMsRUFBRSxDQUFDO1NBQ3ZCO0lBQ0gsQ0FBQztJQUdELE9BQU87UUFDTCxJQUFJLElBQUksQ0FBQyxnQkFBZ0IsSUFBSSxLQUFLLEVBQUU7WUFDbEMsT0FBTztTQUNSO1FBRUQsSUFBSSxDQUFDLElBQUksRUFBRSxDQUFDO1FBRVosSUFBSSxDQUFDLElBQUksQ0FBQyxVQUFVLEVBQUU7WUFDcEIsSUFBSSxDQUFDLHVCQUF1QixHQUFHLE1BQU0sQ0FBQyxVQUFVLENBQUMsR0FBRyxFQUFFO2dCQUNwRCxJQUFJLENBQUMsY0FBYyxFQUFFLENBQUM7WUFDeEIsQ0FBQyxFQUFFLElBQUksQ0FBQyxPQUFPLENBQUMscUJBQXFCLENBQUMsQ0FBQyxDQUFDO1NBQ3pDO0lBQ0gsQ0FBQztJQUVELFdBQVcsQ0FBQyxPQUFzQjtRQUNoQyxJQUFJLENBQUMsV0FBVyxHQUFHLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFDLENBQUM7UUFDM0QsSUFBSSxjQUFjLEdBQUcsSUFBSSxDQUFDLGFBQWEsQ0FBQyxPQUFPLENBQUMsQ0FBQztRQUNqRCxjQUFjLEdBQUcsSUFBSSxDQUFDLGdCQUFnQixDQUFDLGNBQWMsQ0FBQyxDQUFDO1FBRXZELElBQUksQ0FBQyxtQkFBbUIsQ0FBQyxjQUFjLEVBQUUsY0FBYyxDQUFDLENBQUM7SUFDM0QsQ0FBQztJQUVELFdBQVc7UUFDVCxJQUFJLENBQUMsY0FBYyxDQUFDO1lBQ2xCLElBQUksRUFBRSxJQUFJO1NBQ1gsQ0FBQyxDQUFDO1FBRUgsSUFBSSxJQUFJLENBQUMsa0JBQWtCLEVBQUU7WUFDM0IsSUFBSSxDQUFDLGtCQUFrQixDQUFDLFdBQVcsRUFBRSxDQUFDO1NBQ3ZDO0lBQ0gsQ0FBQztJQUVELFlBQVk7UUFDVixPQUFPLElBQUksQ0FBQyxPQUFPLENBQUMsV0FBVyxDQUFDLENBQUM7SUFDbkMsQ0FBQztJQUVELFlBQVk7UUFDVixNQUFNLFNBQVMsR0FBRyxJQUFJLENBQUMsT0FBTyxDQUFDLFdBQVcsQ0FBQyxDQUFDO1FBQzVDLE1BQU0sb0JBQW9CLEdBQUcsSUFBSSxDQUFDLE9BQU8sQ0FBQyxzQkFBc0IsQ0FBQyxDQUFDO1FBRWxFLE9BQU8sSUFBSSxDQUFDLGFBQWEsQ0FBQyxDQUFDLENBQUMsb0JBQW9CLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQztJQUMvRCxDQUFDO0lBRUQsYUFBYSxDQUFDLE9BQXNCO1FBQ2xDLElBQUksbUJBQW1CLEdBQVEsRUFBRSxDQUFDO1FBQ2xDLElBQUksZ0JBQWdCLEdBQVEsRUFBRSxDQUFDO1FBQy9CLElBQUksYUFBa0IsQ0FBQztRQUV2QixLQUFLLElBQUksSUFBSSxJQUFJLE9BQU8sRUFBRTtZQUN4QixJQUFJLElBQUksS0FBSyxTQUFTLElBQUksSUFBSSxLQUFLLGNBQWMsRUFBRTtnQkFDakQsbUJBQW1CLENBQUMsSUFBSSxDQUFDLEdBQUcsT0FBTyxDQUFDLElBQUksQ0FBQyxDQUFDLFlBQVksQ0FBQzthQUN4RDtZQUNELElBQUksSUFBSSxLQUFLLFNBQVMsRUFBRTtnQkFDdEIsZ0JBQWdCLEdBQUcsT0FBTyxDQUFDLElBQUksQ0FBQyxDQUFDLFlBQVksQ0FBQzthQUMvQztTQUNGO1FBRUQsYUFBYSxHQUFHLE1BQU0sQ0FBQyxNQUFNLENBQUMsRUFBRSxFQUFFLGdCQUFnQixFQUFFLG1CQUFtQixDQUFDLENBQUM7UUFDekUsT0FBTyxhQUFhLENBQUM7SUFDdkIsQ0FBQztJQUVELGdCQUFnQixDQUFDLE9BQVk7UUFDM0IsS0FBSyxJQUFJLElBQUksSUFBSSxPQUFPLEVBQUU7WUFDeEIsSUFBSSw0QkFBNEIsQ0FBQyxJQUFJLENBQUMsRUFBRTtnQkFDdEMsT0FBTyxDQUFDLDRCQUE0QixDQUFDLElBQUksQ0FBQyxDQUFDLEdBQUcsT0FBTyxDQUFDLElBQUksQ0FBQyxDQUFDO2dCQUM1RCxPQUFPLE9BQU8sQ0FBQyxJQUFJLENBQUMsQ0FBQzthQUN0QjtTQUNGO1FBRUQsT0FBTyxPQUFPLENBQUM7SUFDakIsQ0FBQztJQUVELGtCQUFrQjtRQUNoQixJQUFJLENBQUMsZUFBZSxHQUFHLElBQUksQ0FBQyxVQUFVLENBQUMsYUFBYSxDQUFDLHFCQUFxQixFQUFFLENBQUM7SUFDL0UsQ0FBQztJQUVELGFBQWE7UUFDWCxJQUFJLENBQUMsYUFBYSxFQUFFLENBQUM7UUFDckIsSUFBSSxDQUFDLGtCQUFrQixFQUFFLENBQUM7UUFFMUIsSUFBSSxDQUFDLGVBQWUsR0FBRyxNQUFNLENBQUMsVUFBVSxDQUFDLEdBQUcsRUFBRTtZQUM1QyxJQUFJLENBQUMscUJBQXFCLENBQUMsdUJBQXVCLENBQUMsQ0FBQztRQUN0RCxDQUFDLEVBQUUsSUFBSSxDQUFDLFlBQVksRUFBRSxDQUFDLENBQUM7UUFFeEIsSUFBSSxDQUFDLGFBQWEsR0FBRyxNQUFNLENBQUMsVUFBVSxDQUFDLEdBQUcsRUFBRTtZQUMxQyxJQUFJLENBQUMsZUFBZSxFQUFFLENBQUM7UUFDekIsQ0FBQyxFQUFFLElBQUksQ0FBQyxZQUFZLEVBQUUsQ0FBQyxDQUFDO0lBQzFCLENBQUM7SUFFRCxjQUFjLENBQUMsT0FBTyxHQUFHO1FBQ3ZCLElBQUksRUFBRSxLQUFLO0tBQ1o7UUFDQyxJQUFJLElBQUksQ0FBQyxVQUFVLEVBQUU7WUFDbkIsT0FBTztTQUNSO1FBRUQsSUFBSSxDQUFDLGFBQWEsRUFBRSxDQUFDO1FBRXJCLElBQUksSUFBSSxDQUFDLGtCQUFrQixJQUFJLEtBQUssRUFBRTtZQUNwQyxJQUFJLENBQUMsYUFBYSxHQUFHLE1BQU0sQ0FBQyxVQUFVLENBQUMsR0FBRyxFQUFFO2dCQUMxQyxJQUFJLENBQUMsV0FBVyxFQUFFLENBQUM7WUFDckIsQ0FBQyxFQUFFLE9BQU8sQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLFlBQVksRUFBRSxDQUFDLENBQUM7WUFFM0MsSUFBSSxDQUFDLGdCQUFnQixHQUFHLE1BQU0sQ0FBQyxVQUFVLENBQUMsR0FBRyxFQUFFO2dCQUM3QyxJQUFJLENBQUMsSUFBSSxDQUFDLFlBQVksSUFBSSxJQUFJLENBQUMsa0JBQWtCLEVBQUU7b0JBQ2pELE9BQU87aUJBQ1I7Z0JBRUQsSUFBSSxDQUFDLE1BQU0sQ0FBQyxVQUFVLENBQUMsSUFBSSxDQUFDLFlBQVksQ0FBQyxRQUFRLENBQUMsQ0FBQztnQkFDbkQsSUFBSSxDQUFDLFlBQVksQ0FBQyxPQUFPLEVBQUUsQ0FBQztnQkFDNUIsSUFBSSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUM7b0JBQ2YsSUFBSSxFQUFFLFFBQVE7b0JBQ2QsUUFBUSxFQUFFLElBQUksQ0FBQyxlQUFlO2lCQUMvQixDQUFDLENBQUM7WUFDTCxDQUFDLEVBQUUsT0FBTyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsWUFBWSxDQUFDLENBQUM7U0FDMUM7SUFDSCxDQUFDO0lBRUQsZUFBZTtRQUNiLElBQUksQ0FBQyxhQUFhLEVBQUUsQ0FBQztRQUNQLElBQUksQ0FBQyxZQUFZLENBQUMsUUFBUyxDQUFDLElBQUksR0FBRyxJQUFJLENBQUM7UUFDdEQsSUFBSSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUM7WUFDZixJQUFJLEVBQUUsTUFBTTtZQUNaLFFBQVEsRUFBRSxJQUFJLENBQUMsZUFBZTtTQUMvQixDQUFDLENBQUM7SUFDTCxDQUFDO0lBRUQsV0FBVztRQUNULElBQUksQ0FBQyxJQUFJLENBQUMsWUFBWSxJQUFJLElBQUksQ0FBQyxrQkFBa0IsRUFBRTtZQUNqRCxPQUFPO1NBQ1I7UUFDYSxJQUFJLENBQUMsWUFBWSxDQUFDLFFBQVMsQ0FBQyxJQUFJLEdBQUcsS0FBSyxDQUFDO1FBQ3ZELElBQUksQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDO1lBQ2YsSUFBSSxFQUFFLE1BQU07WUFDWixRQUFRLEVBQUUsSUFBSSxDQUFDLGVBQWU7U0FDL0IsQ0FBQyxDQUFDO0lBQ0wsQ0FBQztJQUVELHFCQUFxQixDQUFDLFNBQWM7UUFDbEMsSUFBSSxDQUFDLFlBQVksR0FBRyxJQUFJLENBQUMsd0JBQXdCO2FBQzlDLHVCQUF1QixDQUFDLFNBQVMsQ0FBQzthQUNsQyxNQUFNLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxDQUFDO1FBRVgsSUFBSSxDQUFDLFlBQVksQ0FBQyxRQUFTLENBQUMsSUFBSSxHQUFHO1lBQy9DLEtBQUssRUFBRSxJQUFJLENBQUMsWUFBWTtZQUN4QixPQUFPLEVBQUUsSUFBSSxDQUFDLFVBQVUsQ0FBQyxhQUFhO1lBQ3RDLGVBQWUsRUFBRSxJQUFJLENBQUMsZUFBZTtZQUNyQyxPQUFPLEVBQUUsSUFBSSxDQUFDLE9BQU87U0FDdEIsQ0FBQTtRQUNELElBQUksQ0FBQyxNQUFNLENBQUMsVUFBVSxDQUFDLElBQUksQ0FBQyxZQUFZLENBQUMsUUFBUSxDQUFDLENBQUM7UUFDbkQsTUFBTSxPQUFPLEdBQUksSUFBSSxDQUFDLFlBQVksQ0FBQyxRQUFpQyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQWdCLENBQUM7UUFDakcsUUFBUSxDQUFDLElBQUksQ0FBQyxXQUFXLENBQUMsT0FBTyxDQUFDLENBQUM7UUFFbkMsSUFBSSxDQUFDLGtCQUFrQixHQUFpQixJQUFJLENBQUMsWUFBWSxDQUFDLFFBQVMsQ0FBQyxNQUFNLENBQUMsU0FBUyxDQUFDLENBQUMsS0FBVSxFQUFFLEVBQUU7WUFDbEcsSUFBSSxDQUFDLFlBQVksQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUMzQixDQUFDLENBQUMsQ0FBQztJQUNMLENBQUM7SUFFRCxhQUFhO1FBQ1gsSUFBSSxJQUFJLENBQUMsZUFBZSxFQUFFO1lBQ3hCLFlBQVksQ0FBQyxJQUFJLENBQUMsZUFBZSxDQUFDLENBQUM7U0FDcEM7UUFFRCxJQUFJLElBQUksQ0FBQyxhQUFhLEVBQUU7WUFDdEIsWUFBWSxDQUFDLElBQUksQ0FBQyxhQUFhLENBQUMsQ0FBQztTQUNsQztRQUVELElBQUksSUFBSSxDQUFDLGFBQWEsRUFBRTtZQUN0QixZQUFZLENBQUMsSUFBSSxDQUFDLGFBQWEsQ0FBQyxDQUFDO1NBQ2xDO1FBRUQsSUFBSSxJQUFJLENBQUMsZ0JBQWdCLEVBQUU7WUFDekIsWUFBWSxDQUFDLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxDQUFDO1NBQ3JDO0lBQ0gsQ0FBQztJQUVELElBQUksZ0JBQWdCO1FBQ2xCLElBQUksSUFBSSxDQUFDLE9BQU8sQ0FBQyxTQUFTLENBQUMsSUFBSSxLQUFLLEVBQUU7WUFDcEMsT0FBTyxLQUFLLENBQUM7U0FDZDtRQUVELElBQUksSUFBSSxDQUFDLE9BQU8sQ0FBQyxvQkFBb0IsQ0FBQyxJQUFJLEtBQUssSUFBSSxJQUFJLENBQUMsYUFBYSxFQUFFO1lBQ3JFLE9BQU8sS0FBSyxDQUFDO1NBQ2Q7UUFFRCxPQUFPLElBQUksQ0FBQyxPQUFPLENBQUMsU0FBUyxDQUFDLEtBQUssT0FBTyxDQUFDO0lBQzdDLENBQUM7SUFFRCxJQUFJLGdCQUFnQjtRQUNsQixJQUFJLElBQUksQ0FBQyxPQUFPLENBQUMsU0FBUyxDQUFDLElBQUksS0FBSyxFQUFFO1lBQ3BDLE9BQU8sS0FBSyxDQUFDO1NBQ2Q7UUFFRCxJQUFJLElBQUksQ0FBQyxPQUFPLENBQUMsb0JBQW9CLENBQUMsSUFBSSxLQUFLLElBQUksSUFBSSxDQUFDLGFBQWEsRUFBRTtZQUNyRSxPQUFPLEtBQUssQ0FBQztTQUNkO1FBRUQsT0FBTyxJQUFJLENBQUMsT0FBTyxDQUFDLFNBQVMsQ0FBQyxJQUFJLE9BQU8sQ0FBQztJQUc1QyxDQUFDO0lBRUQsSUFBSSxhQUFhO1FBQ2YsSUFBSSxRQUFRLEdBQUcsMkJBQTJCLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQyxDQUFDO1FBQ3RELElBQUksRUFBRSxHQUFHLFVBQVUsS0FBVTtZQUMzQixPQUFPLE1BQU0sQ0FBQyxVQUFVLENBQUMsS0FBSyxDQUFDLENBQUMsT0FBTyxDQUFDO1FBQzFDLENBQUMsQ0FBQTtRQUVELElBQUksQ0FBQyxjQUFjLElBQUksTUFBTSxDQUFDLEVBQUU7WUFDOUIsT0FBTyxJQUFJLENBQUM7U0FDYjtRQUVELHFGQUFxRjtRQUNyRix1QkFBdUI7UUFDdkIsSUFBSSxLQUFLLEdBQUcsQ0FBQyxHQUFHLEVBQUUsUUFBUSxDQUFDLElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxFQUFFLFFBQVEsRUFBRSxHQUFHLENBQUMsQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLENBQUM7UUFDN0UsT0FBTyxFQUFFLENBQUMsS0FBSyxDQUFDLENBQUM7SUFDbkIsQ0FBQztJQUVELG1CQUFtQixDQUFDLGNBQW1CLEVBQUUsT0FBWTtRQUNuRCxJQUFJLENBQUMsT0FBTyxHQUFHLE1BQU0sQ0FBQyxNQUFNLENBQUMsRUFBRSxFQUFFLGNBQWMsRUFBRSxJQUFJLENBQUMsV0FBVyxJQUFJLEVBQUUsRUFBRSxJQUFJLENBQUMsT0FBTyxFQUFFLE9BQU8sQ0FBQyxDQUFDO0lBQ2xHLENBQUM7SUFFRCxZQUFZLENBQUMsS0FBVTtRQUNyQixJQUFJLEtBQUssQ0FBQyxJQUFJLEtBQUssT0FBTyxFQUFFO1lBQzFCLElBQUksQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDO2dCQUNmLElBQUksRUFBRSxPQUFPO2dCQUNiLFFBQVEsRUFBRSxJQUFJLENBQUMsZUFBZTthQUMvQixDQUFDLENBQUM7U0FDSjtJQUNILENBQUM7SUFFTSxJQUFJO1FBQ1QsSUFBSSxDQUFDLElBQUksQ0FBQyxZQUFZLEVBQUU7WUFDdEIsT0FBTztTQUNSO1FBRUQsSUFBSSxDQUFDLElBQUksQ0FBQyxZQUFZLElBQUksSUFBSSxDQUFDLGtCQUFrQixFQUFFO1lBQ2pELElBQUksQ0FBQyxhQUFhLEVBQUUsQ0FBQztTQUN0QjthQUFNLElBQUksQ0FBQyxJQUFJLENBQUMsa0JBQWtCLEVBQUU7WUFDbkMsSUFBSSxDQUFDLGVBQWUsRUFBRSxDQUFDO1NBQ3hCO0lBQ0gsQ0FBQztJQUVNLElBQUk7UUFDVCxJQUFJLENBQUMsY0FBYyxFQUFFLENBQUM7SUFDeEIsQ0FBQztJQUVNLGdCQUFnQjtRQUNyQixJQUFJLENBQUMsSUFBSSxDQUFDLFlBQVksSUFBSSxJQUFJLENBQUMsa0JBQWtCLEVBQUU7WUFDakQsT0FBTztTQUNSO1FBRUEsSUFBSSxDQUFDLFlBQVksQ0FBQyxRQUFnQixDQUFDLFlBQVksRUFBRSxDQUFDO1FBQ25ELElBQUksQ0FBQyxjQUFjLENBQUMsRUFBRSxJQUFJLEVBQUUsSUFBSSxFQUFFLENBQUMsQ0FBQztJQUN0QyxDQUFDOytHQXBlVSx1QkFBdUIsa0JBNE1aLHFCQUFxQjttR0E1TWhDLHVCQUF1Qjs7NEZBQXZCLHVCQUF1QjtrQkFMbkMsU0FBUzttQkFBQztvQkFDVCxRQUFRLEVBQUUsV0FBVztvQkFDckIsUUFBUSxFQUFFLFNBQVM7aUJBQ3BCOzswQkE4TUksUUFBUTs7MEJBQUksTUFBTTsyQkFBQyxxQkFBcUI7Z0tBdExyQixPQUFPO3NCQUE1QixLQUFLO3VCQUFDLFNBQVM7Z0JBVUUsWUFBWTtzQkFBN0IsS0FBSzt1QkFBQyxTQUFTO2dCQUNJLFNBQVM7c0JBQTVCLEtBQUs7dUJBQUMsV0FBVztnQkFDTSxhQUFhO3NCQUFwQyxLQUFLO3VCQUFDLGVBQWU7Z0JBR0ssZ0NBQWdDO3NCQUExRCxLQUFLO3VCQUFDLGNBQWM7Z0JBTUssV0FBVztzQkFBcEMsS0FBSzt1QkFBQyxhQUFhO2dCQVVRLGVBQWU7c0JBQTFDLEtBQUs7dUJBQUMsbUJBQW1CO2dCQUNLLG9CQUFvQjtzQkFBbEQsS0FBSzt1QkFBQyxzQkFBc0I7Z0JBR1AsMkJBQTJCO3NCQUFoRCxLQUFLO3VCQUFDLFNBQVM7Z0JBTUssTUFBTTtzQkFBMUIsS0FBSzt1QkFBQyxRQUFRO2dCQVdrQixzQ0FBc0M7c0JBQXRFLEtBQUs7dUJBQUMsb0JBQW9CO2dCQU1LLGlCQUFpQjtzQkFBaEQsS0FBSzt1QkFBQyxtQkFBbUI7Z0JBV1IsT0FBTztzQkFBeEIsS0FBSzt1QkFBQyxTQUFTO2dCQUdZLGlDQUFpQztzQkFBNUQsS0FBSzt1QkFBQyxlQUFlO2dCQU1LLFlBQVk7c0JBQXRDLEtBQUs7dUJBQUMsY0FBYztnQkFVSCxPQUFPO3NCQUF4QixLQUFLO3VCQUFDLFNBQVM7Z0JBQ1MsYUFBYTtzQkFBckMsS0FBSzt1QkFBQyxnQkFBZ0I7Z0JBQ00sa0JBQWtCO3NCQUE5QyxLQUFLO3VCQUFDLG9CQUFvQjtnQkFDVixNQUFNO3NCQUF0QixLQUFLO3VCQUFDLFFBQVE7Z0JBQ0MsS0FBSztzQkFBcEIsS0FBSzt1QkFBQyxPQUFPO2dCQUNHLE1BQU07c0JBQXRCLEtBQUs7dUJBQUMsUUFBUTtnQkFDQyxLQUFLO3NCQUFwQixLQUFLO3VCQUFDLE9BQU87Z0JBQ08sVUFBVTtzQkFBOUIsS0FBSzt1QkFBQyxZQUFZO2dCQUdLLDZCQUE2QjtzQkFBcEQsS0FBSzt1QkFBQyxXQUFXO2dCQU1LLFFBQVE7c0JBQTlCLEtBQUs7dUJBQUMsVUFBVTtnQkFXSixFQUFFO3NCQUFkLEtBQUs7dUJBQUMsSUFBSTtnQkFHYyw4QkFBOEI7c0JBQXRELEtBQUs7dUJBQUMsWUFBWTtnQkFNSyxTQUFTO3NCQUFoQyxLQUFLO3VCQUFDLFdBQVc7Z0JBV08sOEJBQThCO3NCQUF0RCxLQUFLO3VCQUFDLFlBQVk7Z0JBTUssU0FBUztzQkFBaEMsS0FBSzt1QkFBQyxXQUFXO2dCQVVZLG1CQUFtQjtzQkFBaEQsS0FBSzt1QkFBQyxxQkFBcUI7Z0JBQ0osYUFBYTtzQkFBcEMsS0FBSzt1QkFBQyxlQUFlO2dCQUNILFFBQVE7c0JBQTFCLEtBQUs7dUJBQUMsVUFBVTtnQkEwQlAsTUFBTTtzQkFBZixNQUFNO2dCQVlQLFlBQVk7c0JBRlgsWUFBWTt1QkFBQyxTQUFTOztzQkFDdEIsWUFBWTt1QkFBQyxZQUFZO2dCQVcxQixZQUFZO3NCQUZYLFlBQVk7dUJBQUMsVUFBVTs7c0JBQ3ZCLFlBQVk7dUJBQUMsWUFBWTtnQkFRMUIsT0FBTztzQkFETixZQUFZO3VCQUFDLE9BQU8iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICBBcHBsaWNhdGlvblJlZixcbiAgQ29tcG9uZW50RmFjdG9yeVJlc29sdmVyLFxuICBEaXJlY3RpdmUsXG4gIEVsZW1lbnRSZWYsXG4gIEVtYmVkZGVkVmlld1JlZixcbiAgRXZlbnRFbWl0dGVyLFxuICBIb3N0TGlzdGVuZXIsXG4gIEluamVjdCxcbiAgSW5qZWN0b3IsXG4gIElucHV0LFxuICBPbkNoYW5nZXMsXG4gIE9wdGlvbmFsLFxuICBPdXRwdXQsXG4gIFNpbXBsZUNoYW5nZXMsXG4gIFRlbXBsYXRlUmVmXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHtHcmF2aXR5VG9vbHRpcENvbXBvbmVudH0gZnJvbSAnLi9ncmF2aXR5LXRvb2x0aXAuY29tcG9uZW50JztcbmltcG9ydCB7VG9vbHRpcE9wdGlvbnNTZXJ2aWNlfSBmcm9tICcuL29wdGlvbnMuc2VydmljZSc7XG5pbXBvcnQge2JhY2t3YXJkQ29tcGF0aWJpbGl0eU9wdGlvbnMsIGRlZmF1bHRPcHRpb25zfSBmcm9tICcuL29wdGlvbnMnO1xuaW1wb3J0IHtUb29sdGlwT3B0aW9uc30gZnJvbSAnLi9vcHRpb25zLmludGVyZmFjZSc7XG5cbmV4cG9ydCBpbnRlcmZhY2UgQWRDb21wb25lbnQge1xuICBkYXRhOiBhbnk7XG4gIHNob3c6IGJvb2xlYW47XG4gIGNsb3NlOiBib29sZWFuO1xuICBldmVudHM6IGFueTtcbn1cblxuQERpcmVjdGl2ZSh7XG4gIHNlbGVjdG9yOiAnW3Rvb2x0aXBdJyxcbiAgZXhwb3J0QXM6ICd0b29sdGlwJyxcbn0pXG5cbmV4cG9ydCBjbGFzcyBHcmF2aXR5VG9vbHRpcERpcmVjdGl2ZSBpbXBsZW1lbnRzIE9uQ2hhbmdlcyB7XG5cbiAgaGlkZVRpbWVvdXRJZCE6IG51bWJlcjtcbiAgZGVzdHJveVRpbWVvdXRJZCE6IG51bWJlcjtcbiAgaGlkZUFmdGVyQ2xpY2tUaW1lb3V0SWQhOiBudW1iZXI7XG4gIGNyZWF0ZVRpbWVvdXRJZCE6IG51bWJlcjtcbiAgc2hvd1RpbWVvdXRJZCE6IG51bWJlcjtcbiAgY29tcG9uZW50UmVmOiBhbnk7XG4gIGVsZW1lbnRQb3NpdGlvbjogYW55O1xuICBfaWQ6IGFueTtcbiAgX29wdGlvbnM6IGFueSA9IHt9O1xuICBfZGVmYXVsdE9wdGlvbnM6IGFueTtcbiAgX2Rlc3Ryb3lEZWxheSE6IG51bWJlcjtcbiAgY29tcG9uZW50U3Vic2NyaWJlOiBhbnk7XG4gIF9jb250ZW50VHlwZTogXCJzdHJpbmdcIiB8IFwiaHRtbFwiIHwgXCJ0ZW1wbGF0ZVwiID0gXCJzdHJpbmdcIjtcbiAgX3Nob3dEZWxheSE6IG51bWJlcjtcbiAgX2hpZGVEZWxheSE6IG51bWJlcjtcbiAgX3pJbmRleCE6IG51bWJlcjtcbiAgX3Rvb2x0aXBDbGFzcyE6IHN0cmluZztcbiAgX2FuaW1hdGlvbkR1cmF0aW9uITogbnVtYmVyO1xuICBfbWF4V2lkdGghOiBzdHJpbmc7XG5cbiAgQElucHV0KCdvcHRpb25zJykgc2V0IG9wdGlvbnModmFsdWU6IFRvb2x0aXBPcHRpb25zKSB7XG4gICAgaWYgKHZhbHVlICYmIGRlZmF1bHRPcHRpb25zKSB7XG4gICAgICB0aGlzLl9vcHRpb25zID0gdmFsdWU7XG4gICAgfVxuICB9XG5cbiAgZ2V0IG9wdGlvbnMoKSB7XG4gICAgcmV0dXJuIHRoaXMuX29wdGlvbnM7XG4gIH1cblxuICBASW5wdXQoJ3Rvb2x0aXAnKSB0b29sdGlwVmFsdWUhOiBzdHJpbmcgfCBUZW1wbGF0ZVJlZjxhbnk+O1xuICBASW5wdXQoJ3BsYWNlbWVudCcpIHBsYWNlbWVudCE6IHN0cmluZztcbiAgQElucHV0KCdhdXRvUGxhY2VtZW50JykgYXV0b1BsYWNlbWVudCE6IGJvb2xlYW47XG5cbiAgLy8gQ29udGVudCB0eXBlXG4gIEBJbnB1dCgnY29udGVudC10eXBlJykgc2V0IGNvbnRlbnRUeXBlQmFja3dhcmRDb21wYXRpYmlsaXR5KHZhbHVlOiBcInN0cmluZ1wiIHwgXCJodG1sXCIgfCBcInRlbXBsYXRlXCIpIHtcbiAgICBpZiAodmFsdWUpIHtcbiAgICAgIHRoaXMuX2NvbnRlbnRUeXBlID0gdmFsdWU7XG4gICAgfVxuICB9XG5cbiAgQElucHV0KCdjb250ZW50VHlwZScpIHNldCBjb250ZW50VHlwZSh2YWx1ZTogXCJzdHJpbmdcIiB8IFwiaHRtbFwiIHwgXCJ0ZW1wbGF0ZVwiKSB7XG4gICAgaWYgKHZhbHVlKSB7XG4gICAgICB0aGlzLl9jb250ZW50VHlwZSA9IHZhbHVlO1xuICAgIH1cbiAgfVxuXG4gIGdldCBjb250ZW50VHlwZSgpIHtcbiAgICByZXR1cm4gdGhpcy5fY29udGVudFR5cGU7XG4gIH1cblxuICBASW5wdXQoJ2hpZGUtZGVsYXktbW9iaWxlJykgaGlkZURlbGF5TW9iaWxlITogbnVtYmVyO1xuICBASW5wdXQoJ2hpZGVEZWxheVRvdWNoc2NyZWVuJykgaGlkZURlbGF5VG91Y2hzY3JlZW4hOiBudW1iZXI7XG5cbiAgLy8gei1pbmRleFxuICBASW5wdXQoJ3otaW5kZXgnKSBzZXQgekluZGV4QmFja3dhcmRDb21wYXRpYmlsaXR5KHZhbHVlOiBudW1iZXIpIHtcbiAgICBpZiAodmFsdWUpIHtcbiAgICAgIHRoaXMuX3pJbmRleCA9IHZhbHVlO1xuICAgIH1cbiAgfVxuXG4gIEBJbnB1dCgnekluZGV4Jykgc2V0IHpJbmRleCh2YWx1ZTogbnVtYmVyKSB7XG4gICAgaWYgKHZhbHVlKSB7XG4gICAgICB0aGlzLl96SW5kZXggPSB2YWx1ZTtcbiAgICB9XG4gIH1cblxuICBnZXQgekluZGV4KCkge1xuICAgIHJldHVybiB0aGlzLl96SW5kZXg7XG4gIH1cblxuICAvLyBBbmltYXRpb24gZHVyYXRpb25cbiAgQElucHV0KCdhbmltYXRpb24tZHVyYXRpb24nKSBzZXQgYW5pbWF0aW9uRHVyYXRpb25CYWNrd2FyZENvbXBhdGliaWxpdHkodmFsdWU6IG51bWJlcikge1xuICAgIGlmICh2YWx1ZSkge1xuICAgICAgdGhpcy5fYW5pbWF0aW9uRHVyYXRpb24gPSB2YWx1ZTtcbiAgICB9XG4gIH1cblxuICBASW5wdXQoJ2FuaW1hdGlvbkR1cmF0aW9uJykgc2V0IGFuaW1hdGlvbkR1cmF0aW9uKHZhbHVlOiBudW1iZXIpIHtcbiAgICBpZiAodmFsdWUpIHtcbiAgICAgIHRoaXMuX2FuaW1hdGlvbkR1cmF0aW9uID0gdmFsdWU7XG4gICAgfVxuICB9XG5cbiAgZ2V0IGFuaW1hdGlvbkR1cmF0aW9uKCkge1xuICAgIHJldHVybiB0aGlzLl9hbmltYXRpb25EdXJhdGlvbjtcbiAgfVxuXG5cbiAgQElucHV0KCd0cmlnZ2VyJykgdHJpZ2dlciE6IHN0cmluZztcblxuICAvLyBUb29sdGlwIGNsYXNzXG4gIEBJbnB1dCgndG9vbHRpcC1jbGFzcycpIHNldCB0b29sdGlwQ2xhc3NCYWNrd2FyZENvbXBhdGliaWxpdHkodmFsdWU6IHN0cmluZykge1xuICAgIGlmICh2YWx1ZSkge1xuICAgICAgdGhpcy5fdG9vbHRpcENsYXNzID0gdmFsdWU7XG4gICAgfVxuICB9XG5cbiAgQElucHV0KCd0b29sdGlwQ2xhc3MnKSBzZXQgdG9vbHRpcENsYXNzKHZhbHVlOiBzdHJpbmcpIHtcbiAgICBpZiAodmFsdWUpIHtcbiAgICAgIHRoaXMuX3Rvb2x0aXBDbGFzcyA9IHZhbHVlO1xuICAgIH1cbiAgfVxuXG4gIGdldCB0b29sdGlwQ2xhc3MoKSB7XG4gICAgcmV0dXJuIHRoaXMuX3Rvb2x0aXBDbGFzcztcbiAgfVxuXG4gIEBJbnB1dCgnZGlzcGxheScpIGRpc3BsYXkhOiBib29sZWFuO1xuICBASW5wdXQoJ2Rpc3BsYXktbW9iaWxlJykgZGlzcGxheU1vYmlsZSE6IGJvb2xlYW47XG4gIEBJbnB1dCgnZGlzcGxheVRvdWNoc2NyZWVuJykgZGlzcGxheVRvdWNoc2NyZWVuITogYm9vbGVhbjtcbiAgQElucHV0KCdzaGFkb3cnKSBzaGFkb3chOiBib29sZWFuO1xuICBASW5wdXQoJ3RoZW1lJykgdGhlbWUhOiBcImRhcmtcIiB8IFwibGlnaHRcIjtcbiAgQElucHV0KCdvZmZzZXQnKSBvZmZzZXQhOiBudW1iZXI7XG4gIEBJbnB1dCgnd2lkdGgnKSB3aWR0aCE6IHN0cmluZztcbiAgQElucHV0KCdwZXJzaXN0ZW50JykgcGVyc2lzdGVudDogYm9vbGVhbiA9IGZhbHNlO1xuXG4gIC8vIE1heCB3aWR0aFxuICBASW5wdXQoJ21heC13aWR0aCcpIHNldCBtYXhXaWR0aEJhY2t3YXJkQ29tcGF0aWJpbGl0eSh2YWx1ZTogc3RyaW5nKSB7XG4gICAgaWYgKHZhbHVlKSB7XG4gICAgICB0aGlzLl9tYXhXaWR0aCA9IHZhbHVlO1xuICAgIH1cbiAgfVxuXG4gIEBJbnB1dCgnbWF4V2lkdGgnKSBzZXQgbWF4V2lkdGgodmFsdWU6IHN0cmluZykge1xuICAgIGlmICh2YWx1ZSkge1xuICAgICAgdGhpcy5fbWF4V2lkdGggPSB2YWx1ZTtcbiAgICB9XG4gIH1cblxuICBnZXQgbWF4V2lkdGgoKSB7XG4gICAgcmV0dXJuIHRoaXMuX21heFdpZHRoO1xuICB9XG5cblxuICBASW5wdXQoJ2lkJykgaWQ6IGFueTtcblxuICAvLyBTaG93IGRlbGF5XG4gIEBJbnB1dCgnc2hvdy1kZWxheScpIHNldCBzaG93RGVsYXlCYWNrd2FyZENvbXBhdGliaWxpdHkodmFsdWU6IG51bWJlcikge1xuICAgIGlmICh2YWx1ZSkge1xuICAgICAgdGhpcy5fc2hvd0RlbGF5ID0gdmFsdWU7XG4gICAgfVxuICB9XG5cbiAgQElucHV0KCdzaG93RGVsYXknKSBzZXQgc2hvd0RlbGF5KHZhbHVlOiBudW1iZXIpIHtcbiAgICBpZiAodmFsdWUpIHtcbiAgICAgIHRoaXMuX3Nob3dEZWxheSA9IHZhbHVlO1xuICAgIH1cbiAgfVxuXG4gIGdldCBzaG93RGVsYXkoKSB7XG4gICAgcmV0dXJuIHRoaXMuX3Nob3dEZWxheTtcbiAgfVxuXG4gIC8vIEhpZGUgZGVsYXlcbiAgQElucHV0KCdoaWRlLWRlbGF5Jykgc2V0IGhpZGVEZWxheUJhY2t3YXJkQ29tcGF0aWJpbGl0eSh2YWx1ZTogbnVtYmVyKSB7XG4gICAgaWYgKHZhbHVlKSB7XG4gICAgICB0aGlzLl9oaWRlRGVsYXkgPSB2YWx1ZTtcbiAgICB9XG4gIH1cblxuICBASW5wdXQoJ2hpZGVEZWxheScpIHNldCBoaWRlRGVsYXkodmFsdWU6IG51bWJlcikge1xuICAgIGlmICh2YWx1ZSkge1xuICAgICAgdGhpcy5faGlkZURlbGF5ID0gdmFsdWU7XG4gICAgfVxuICB9XG5cbiAgZ2V0IGhpZGVEZWxheSgpIHtcbiAgICByZXR1cm4gdGhpcy5faGlkZURlbGF5O1xuICB9XG5cbiAgQElucHV0KCdoaWRlRGVsYXlBZnRlckNsaWNrJykgaGlkZURlbGF5QWZ0ZXJDbGljayE6IG51bWJlcjtcbiAgQElucHV0KCdwb2ludGVyRXZlbnRzJykgcG9pbnRlckV2ZW50cyE6ICdhdXRvJyB8ICdub25lJztcbiAgQElucHV0KCdwb3NpdGlvbicpIHBvc2l0aW9uITogeyB0b3A6IG51bWJlciwgbGVmdDogbnVtYmVyIH07XG5cbiAgZ2V0IGlzVG9vbHRpcERlc3Ryb3llZCgpIHtcbiAgICByZXR1cm4gdGhpcy5jb21wb25lbnRSZWYgJiYgdGhpcy5jb21wb25lbnRSZWYuaG9zdFZpZXcuZGVzdHJveWVkO1xuICB9XG5cbiAgZ2V0IGRlc3Ryb3lEZWxheSgpIHtcbiAgICBpZiAodGhpcy5fZGVzdHJveURlbGF5KSB7XG4gICAgICByZXR1cm4gdGhpcy5fZGVzdHJveURlbGF5O1xuICAgIH0gZWxzZSB7XG4gICAgICByZXR1cm4gTnVtYmVyKHRoaXMuZ2V0SGlkZURlbGF5KCkpICsgTnVtYmVyKHRoaXMub3B0aW9uc1snYW5pbWF0aW9uRHVyYXRpb24nXSk7XG4gICAgfVxuICB9XG5cbiAgc2V0IGRlc3Ryb3lEZWxheSh2YWx1ZTogbnVtYmVyKSB7XG4gICAgdGhpcy5fZGVzdHJveURlbGF5ID0gdmFsdWU7XG4gIH1cblxuICBnZXQgdG9vbHRpcFBvc2l0aW9uKCkge1xuICAgIGlmICh0aGlzLm9wdGlvbnNbJ3Bvc2l0aW9uJ10pIHtcbiAgICAgIHJldHVybiB0aGlzLm9wdGlvbnNbJ3Bvc2l0aW9uJ107XG4gICAgfSBlbHNlIHtcbiAgICAgIHJldHVybiB0aGlzLmVsZW1lbnRQb3NpdGlvbjtcbiAgICB9XG4gIH1cblxuICBAT3V0cHV0KCkgZXZlbnRzOiBFdmVudEVtaXR0ZXI8YW55PiA9IG5ldyBFdmVudEVtaXR0ZXI8YW55PigpO1xuXG4gIGNvbnN0cnVjdG9yKFxuICAgIEBPcHRpb25hbCgpIEBJbmplY3QoVG9vbHRpcE9wdGlvbnNTZXJ2aWNlKSBwcml2YXRlIGluaXRPcHRpb25zOiBhbnksXG4gICAgcHJpdmF0ZSBlbGVtZW50UmVmOiBFbGVtZW50UmVmLFxuICAgIHByaXZhdGUgY29tcG9uZW50RmFjdG9yeVJlc29sdmVyOiBDb21wb25lbnRGYWN0b3J5UmVzb2x2ZXIsXG4gICAgcHJpdmF0ZSBhcHBSZWY6IEFwcGxpY2F0aW9uUmVmLFxuICAgIHByaXZhdGUgaW5qZWN0b3I6IEluamVjdG9yKSB7XG4gIH1cblxuICBASG9zdExpc3RlbmVyKCdmb2N1c2luJylcbiAgQEhvc3RMaXN0ZW5lcignbW91c2VlbnRlcicpXG4gIG9uTW91c2VFbnRlcigpIHtcbiAgICBpZiAodGhpcy5pc0Rpc3BsYXlPbkhvdmVyID09IGZhbHNlKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgdGhpcy5zaG93KCk7XG4gIH1cblxuICBASG9zdExpc3RlbmVyKCdmb2N1c291dCcpXG4gIEBIb3N0TGlzdGVuZXIoJ21vdXNlbGVhdmUnKVxuICBvbk1vdXNlTGVhdmUoKSB7XG4gICAgaWYgKHRoaXMub3B0aW9uc1sndHJpZ2dlciddID09PSAnaG92ZXInICYmICF0aGlzLnBlcnNpc3RlbnQpIHtcbiAgICAgIHRoaXMuZGVzdHJveVRvb2x0aXAoKTtcbiAgICB9XG4gIH1cblxuICBASG9zdExpc3RlbmVyKCdjbGljaycpXG4gIG9uQ2xpY2soKSB7XG4gICAgaWYgKHRoaXMuaXNEaXNwbGF5T25DbGljayA9PSBmYWxzZSkge1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIHRoaXMuc2hvdygpO1xuXG4gICAgaWYgKCF0aGlzLnBlcnNpc3RlbnQpIHtcbiAgICAgIHRoaXMuaGlkZUFmdGVyQ2xpY2tUaW1lb3V0SWQgPSB3aW5kb3cuc2V0VGltZW91dCgoKSA9PiB7XG4gICAgICAgIHRoaXMuZGVzdHJveVRvb2x0aXAoKTtcbiAgICAgIH0sIHRoaXMub3B0aW9uc1snaGlkZURlbGF5QWZ0ZXJDbGljayddKTtcbiAgICB9XG4gIH1cblxuICBuZ09uQ2hhbmdlcyhjaGFuZ2VzOiBTaW1wbGVDaGFuZ2VzKSB7XG4gICAgdGhpcy5pbml0T3B0aW9ucyA9IHRoaXMucmVuYW1lUHJvcGVydGllcyh0aGlzLmluaXRPcHRpb25zKTtcbiAgICBsZXQgY2hhbmdlZE9wdGlvbnMgPSB0aGlzLmdldFByb3BlcnRpZXMoY2hhbmdlcyk7XG4gICAgY2hhbmdlZE9wdGlvbnMgPSB0aGlzLnJlbmFtZVByb3BlcnRpZXMoY2hhbmdlZE9wdGlvbnMpO1xuXG4gICAgdGhpcy5hcHBseU9wdGlvbnNEZWZhdWx0KGRlZmF1bHRPcHRpb25zLCBjaGFuZ2VkT3B0aW9ucyk7XG4gIH1cblxuICBuZ09uRGVzdHJveSgpOiB2b2lkIHtcbiAgICB0aGlzLmRlc3Ryb3lUb29sdGlwKHtcbiAgICAgIGZhc3Q6IHRydWVcbiAgICB9KTtcblxuICAgIGlmICh0aGlzLmNvbXBvbmVudFN1YnNjcmliZSkge1xuICAgICAgdGhpcy5jb21wb25lbnRTdWJzY3JpYmUudW5zdWJzY3JpYmUoKTtcbiAgICB9XG4gIH1cblxuICBnZXRTaG93RGVsYXkoKSB7XG4gICAgcmV0dXJuIHRoaXMub3B0aW9uc1snc2hvd0RlbGF5J107XG4gIH1cblxuICBnZXRIaWRlRGVsYXkoKSB7XG4gICAgY29uc3QgaGlkZURlbGF5ID0gdGhpcy5vcHRpb25zWydoaWRlRGVsYXknXTtcbiAgICBjb25zdCBoaWRlRGVsYXlUb3VjaHNjcmVlbiA9IHRoaXMub3B0aW9uc1snaGlkZURlbGF5VG91Y2hzY3JlZW4nXTtcblxuICAgIHJldHVybiB0aGlzLmlzVG91Y2hTY3JlZW4gPyBoaWRlRGVsYXlUb3VjaHNjcmVlbiA6IGhpZGVEZWxheTtcbiAgfVxuXG4gIGdldFByb3BlcnRpZXMoY2hhbmdlczogU2ltcGxlQ2hhbmdlcykge1xuICAgIGxldCBkaXJlY3RpdmVQcm9wZXJ0aWVzOiBhbnkgPSB7fTtcbiAgICBsZXQgY3VzdG9tUHJvcGVydGllczogYW55ID0ge307XG4gICAgbGV0IGFsbFByb3BlcnRpZXM6IGFueTtcblxuICAgIGZvciAodmFyIHByb3AgaW4gY2hhbmdlcykge1xuICAgICAgaWYgKHByb3AgIT09ICdvcHRpb25zJyAmJiBwcm9wICE9PSAndG9vbHRpcFZhbHVlJykge1xuICAgICAgICBkaXJlY3RpdmVQcm9wZXJ0aWVzW3Byb3BdID0gY2hhbmdlc1twcm9wXS5jdXJyZW50VmFsdWU7XG4gICAgICB9XG4gICAgICBpZiAocHJvcCA9PT0gJ29wdGlvbnMnKSB7XG4gICAgICAgIGN1c3RvbVByb3BlcnRpZXMgPSBjaGFuZ2VzW3Byb3BdLmN1cnJlbnRWYWx1ZTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICBhbGxQcm9wZXJ0aWVzID0gT2JqZWN0LmFzc2lnbih7fSwgY3VzdG9tUHJvcGVydGllcywgZGlyZWN0aXZlUHJvcGVydGllcyk7XG4gICAgcmV0dXJuIGFsbFByb3BlcnRpZXM7XG4gIH1cblxuICByZW5hbWVQcm9wZXJ0aWVzKG9wdGlvbnM6IGFueSkge1xuICAgIGZvciAodmFyIHByb3AgaW4gb3B0aW9ucykge1xuICAgICAgaWYgKGJhY2t3YXJkQ29tcGF0aWJpbGl0eU9wdGlvbnNbcHJvcF0pIHtcbiAgICAgICAgb3B0aW9uc1tiYWNrd2FyZENvbXBhdGliaWxpdHlPcHRpb25zW3Byb3BdXSA9IG9wdGlvbnNbcHJvcF07XG4gICAgICAgIGRlbGV0ZSBvcHRpb25zW3Byb3BdO1xuICAgICAgfVxuICAgIH1cblxuICAgIHJldHVybiBvcHRpb25zO1xuICB9XG5cbiAgZ2V0RWxlbWVudFBvc2l0aW9uKCk6IHZvaWQge1xuICAgIHRoaXMuZWxlbWVudFBvc2l0aW9uID0gdGhpcy5lbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQuZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCk7XG4gIH1cblxuICBjcmVhdGVUb29sdGlwKCk6IHZvaWQge1xuICAgIHRoaXMuY2xlYXJUaW1lb3V0cygpO1xuICAgIHRoaXMuZ2V0RWxlbWVudFBvc2l0aW9uKCk7XG5cbiAgICB0aGlzLmNyZWF0ZVRpbWVvdXRJZCA9IHdpbmRvdy5zZXRUaW1lb3V0KCgpID0+IHtcbiAgICAgIHRoaXMuYXBwZW5kQ29tcG9uZW50VG9Cb2R5KEdyYXZpdHlUb29sdGlwQ29tcG9uZW50KTtcbiAgICB9LCB0aGlzLmdldFNob3dEZWxheSgpKTtcblxuICAgIHRoaXMuc2hvd1RpbWVvdXRJZCA9IHdpbmRvdy5zZXRUaW1lb3V0KCgpID0+IHtcbiAgICAgIHRoaXMuc2hvd1Rvb2x0aXBFbGVtKCk7XG4gICAgfSwgdGhpcy5nZXRTaG93RGVsYXkoKSk7XG4gIH1cblxuICBkZXN0cm95VG9vbHRpcChvcHRpb25zID0ge1xuICAgIGZhc3Q6IGZhbHNlXG4gIH0pOiB2b2lkIHtcbiAgICBpZiAodGhpcy5wZXJzaXN0ZW50KSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgdGhpcy5jbGVhclRpbWVvdXRzKCk7XG5cbiAgICBpZiAodGhpcy5pc1Rvb2x0aXBEZXN0cm95ZWQgPT0gZmFsc2UpIHtcbiAgICAgIHRoaXMuaGlkZVRpbWVvdXRJZCA9IHdpbmRvdy5zZXRUaW1lb3V0KCgpID0+IHtcbiAgICAgICAgdGhpcy5oaWRlVG9vbHRpcCgpO1xuICAgICAgfSwgb3B0aW9ucy5mYXN0ID8gMCA6IHRoaXMuZ2V0SGlkZURlbGF5KCkpO1xuXG4gICAgICB0aGlzLmRlc3Ryb3lUaW1lb3V0SWQgPSB3aW5kb3cuc2V0VGltZW91dCgoKSA9PiB7XG4gICAgICAgIGlmICghdGhpcy5jb21wb25lbnRSZWYgfHwgdGhpcy5pc1Rvb2x0aXBEZXN0cm95ZWQpIHtcbiAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cblxuICAgICAgICB0aGlzLmFwcFJlZi5kZXRhY2hWaWV3KHRoaXMuY29tcG9uZW50UmVmLmhvc3RWaWV3KTtcbiAgICAgICAgdGhpcy5jb21wb25lbnRSZWYuZGVzdHJveSgpO1xuICAgICAgICB0aGlzLmV2ZW50cy5lbWl0KHtcbiAgICAgICAgICB0eXBlOiAnaGlkZGVuJyxcbiAgICAgICAgICBwb3NpdGlvbjogdGhpcy50b29sdGlwUG9zaXRpb25cbiAgICAgICAgfSk7XG4gICAgICB9LCBvcHRpb25zLmZhc3QgPyAwIDogdGhpcy5kZXN0cm95RGVsYXkpO1xuICAgIH1cbiAgfVxuXG4gIHNob3dUb29sdGlwRWxlbSgpOiB2b2lkIHtcbiAgICB0aGlzLmNsZWFyVGltZW91dHMoKTtcbiAgICAoPEFkQ29tcG9uZW50PnRoaXMuY29tcG9uZW50UmVmLmluc3RhbmNlKS5zaG93ID0gdHJ1ZTtcbiAgICB0aGlzLmV2ZW50cy5lbWl0KHtcbiAgICAgIHR5cGU6ICdzaG93JyxcbiAgICAgIHBvc2l0aW9uOiB0aGlzLnRvb2x0aXBQb3NpdGlvblxuICAgIH0pO1xuICB9XG5cbiAgaGlkZVRvb2x0aXAoKTogdm9pZCB7XG4gICAgaWYgKCF0aGlzLmNvbXBvbmVudFJlZiB8fCB0aGlzLmlzVG9vbHRpcERlc3Ryb3llZCkge1xuICAgICAgcmV0dXJuO1xuICAgIH1cbiAgICAoPEFkQ29tcG9uZW50PnRoaXMuY29tcG9uZW50UmVmLmluc3RhbmNlKS5zaG93ID0gZmFsc2U7XG4gICAgdGhpcy5ldmVudHMuZW1pdCh7XG4gICAgICB0eXBlOiAnaGlkZScsXG4gICAgICBwb3NpdGlvbjogdGhpcy50b29sdGlwUG9zaXRpb25cbiAgICB9KTtcbiAgfVxuXG4gIGFwcGVuZENvbXBvbmVudFRvQm9keShjb21wb25lbnQ6IGFueSk6IHZvaWQge1xuICAgIHRoaXMuY29tcG9uZW50UmVmID0gdGhpcy5jb21wb25lbnRGYWN0b3J5UmVzb2x2ZXJcbiAgICAgIC5yZXNvbHZlQ29tcG9uZW50RmFjdG9yeShjb21wb25lbnQpXG4gICAgICAuY3JlYXRlKHRoaXMuaW5qZWN0b3IpO1xuXG4gICAgKDxBZENvbXBvbmVudD50aGlzLmNvbXBvbmVudFJlZi5pbnN0YW5jZSkuZGF0YSA9IHtcbiAgICAgIHZhbHVlOiB0aGlzLnRvb2x0aXBWYWx1ZSxcbiAgICAgIGVsZW1lbnQ6IHRoaXMuZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50LFxuICAgICAgZWxlbWVudFBvc2l0aW9uOiB0aGlzLnRvb2x0aXBQb3NpdGlvbixcbiAgICAgIG9wdGlvbnM6IHRoaXMub3B0aW9uc1xuICAgIH1cbiAgICB0aGlzLmFwcFJlZi5hdHRhY2hWaWV3KHRoaXMuY29tcG9uZW50UmVmLmhvc3RWaWV3KTtcbiAgICBjb25zdCBkb21FbGVtID0gKHRoaXMuY29tcG9uZW50UmVmLmhvc3RWaWV3IGFzIEVtYmVkZGVkVmlld1JlZjxhbnk+KS5yb290Tm9kZXNbMF0gYXMgSFRNTEVsZW1lbnQ7XG4gICAgZG9jdW1lbnQuYm9keS5hcHBlbmRDaGlsZChkb21FbGVtKTtcblxuICAgIHRoaXMuY29tcG9uZW50U3Vic2NyaWJlID0gKDxBZENvbXBvbmVudD50aGlzLmNvbXBvbmVudFJlZi5pbnN0YW5jZSkuZXZlbnRzLnN1YnNjcmliZSgoZXZlbnQ6IGFueSkgPT4ge1xuICAgICAgdGhpcy5oYW5kbGVFdmVudHMoZXZlbnQpO1xuICAgIH0pO1xuICB9XG5cbiAgY2xlYXJUaW1lb3V0cygpOiB2b2lkIHtcbiAgICBpZiAodGhpcy5jcmVhdGVUaW1lb3V0SWQpIHtcbiAgICAgIGNsZWFyVGltZW91dCh0aGlzLmNyZWF0ZVRpbWVvdXRJZCk7XG4gICAgfVxuXG4gICAgaWYgKHRoaXMuc2hvd1RpbWVvdXRJZCkge1xuICAgICAgY2xlYXJUaW1lb3V0KHRoaXMuc2hvd1RpbWVvdXRJZCk7XG4gICAgfVxuXG4gICAgaWYgKHRoaXMuaGlkZVRpbWVvdXRJZCkge1xuICAgICAgY2xlYXJUaW1lb3V0KHRoaXMuaGlkZVRpbWVvdXRJZCk7XG4gICAgfVxuXG4gICAgaWYgKHRoaXMuZGVzdHJveVRpbWVvdXRJZCkge1xuICAgICAgY2xlYXJUaW1lb3V0KHRoaXMuZGVzdHJveVRpbWVvdXRJZCk7XG4gICAgfVxuICB9XG5cbiAgZ2V0IGlzRGlzcGxheU9uSG92ZXIoKTogYm9vbGVhbiB7XG4gICAgaWYgKHRoaXMub3B0aW9uc1snZGlzcGxheSddID09IGZhbHNlKSB7XG4gICAgICByZXR1cm4gZmFsc2U7XG4gICAgfVxuXG4gICAgaWYgKHRoaXMub3B0aW9uc1snZGlzcGxheVRvdWNoc2NyZWVuJ10gPT0gZmFsc2UgJiYgdGhpcy5pc1RvdWNoU2NyZWVuKSB7XG4gICAgICByZXR1cm4gZmFsc2U7XG4gICAgfVxuXG4gICAgcmV0dXJuIHRoaXMub3B0aW9uc1sndHJpZ2dlciddID09PSAnaG92ZXInO1xuICB9XG5cbiAgZ2V0IGlzRGlzcGxheU9uQ2xpY2soKTogYm9vbGVhbiB7XG4gICAgaWYgKHRoaXMub3B0aW9uc1snZGlzcGxheSddID09IGZhbHNlKSB7XG4gICAgICByZXR1cm4gZmFsc2U7XG4gICAgfVxuXG4gICAgaWYgKHRoaXMub3B0aW9uc1snZGlzcGxheVRvdWNoc2NyZWVuJ10gPT0gZmFsc2UgJiYgdGhpcy5pc1RvdWNoU2NyZWVuKSB7XG4gICAgICByZXR1cm4gZmFsc2U7XG4gICAgfVxuXG4gICAgcmV0dXJuIHRoaXMub3B0aW9uc1sndHJpZ2dlciddID09ICdjbGljayc7XG5cblxuICB9XG5cbiAgZ2V0IGlzVG91Y2hTY3JlZW4oKSB7XG4gICAgdmFyIHByZWZpeGVzID0gJyAtd2Via2l0LSAtbW96LSAtby0gLW1zLSAnLnNwbGl0KCcgJyk7XG4gICAgdmFyIG1xID0gZnVuY3Rpb24gKHF1ZXJ5OiBhbnkpIHtcbiAgICAgIHJldHVybiB3aW5kb3cubWF0Y2hNZWRpYShxdWVyeSkubWF0Y2hlcztcbiAgICB9XG5cbiAgICBpZiAoKCdvbnRvdWNoc3RhcnQnIGluIHdpbmRvdykpIHtcbiAgICAgIHJldHVybiB0cnVlO1xuICAgIH1cblxuICAgIC8vIGluY2x1ZGUgdGhlICdoZWFydHonIGFzIGEgd2F5IHRvIGhhdmUgYSBub24gbWF0Y2hpbmcgTVEgdG8gaGVscCB0ZXJtaW5hdGUgdGhlIGpvaW5cbiAgICAvLyBodHRwczovL2dpdC5pby92em5GSFxuICAgIHZhciBxdWVyeSA9IFsnKCcsIHByZWZpeGVzLmpvaW4oJ3RvdWNoLWVuYWJsZWQpLCgnKSwgJ2hlYXJ0eicsICcpJ10uam9pbignJyk7XG4gICAgcmV0dXJuIG1xKHF1ZXJ5KTtcbiAgfVxuXG4gIGFwcGx5T3B0aW9uc0RlZmF1bHQoZGVmYXVsdE9wdGlvbnM6IGFueSwgb3B0aW9uczogYW55KTogdm9pZCB7XG4gICAgdGhpcy5vcHRpb25zID0gT2JqZWN0LmFzc2lnbih7fSwgZGVmYXVsdE9wdGlvbnMsIHRoaXMuaW5pdE9wdGlvbnMgfHwge30sIHRoaXMub3B0aW9ucywgb3B0aW9ucyk7XG4gIH1cblxuICBoYW5kbGVFdmVudHMoZXZlbnQ6IGFueSkge1xuICAgIGlmIChldmVudC50eXBlID09PSAnc2hvd24nKSB7XG4gICAgICB0aGlzLmV2ZW50cy5lbWl0KHtcbiAgICAgICAgdHlwZTogJ3Nob3duJyxcbiAgICAgICAgcG9zaXRpb246IHRoaXMudG9vbHRpcFBvc2l0aW9uXG4gICAgICB9KTtcbiAgICB9XG4gIH1cblxuICBwdWJsaWMgc2hvdygpIHtcbiAgICBpZiAoIXRoaXMudG9vbHRpcFZhbHVlKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgaWYgKCF0aGlzLmNvbXBvbmVudFJlZiB8fCB0aGlzLmlzVG9vbHRpcERlc3Ryb3llZCkge1xuICAgICAgdGhpcy5jcmVhdGVUb29sdGlwKCk7XG4gICAgfSBlbHNlIGlmICghdGhpcy5pc1Rvb2x0aXBEZXN0cm95ZWQpIHtcbiAgICAgIHRoaXMuc2hvd1Rvb2x0aXBFbGVtKCk7XG4gICAgfVxuICB9XG5cbiAgcHVibGljIGhpZGUoKSB7XG4gICAgdGhpcy5kZXN0cm95VG9vbHRpcCgpO1xuICB9XG5cbiAgcHVibGljIGNsb3NlRnJvbU91dHNpZGUoKTogdm9pZCB7XG4gICAgaWYgKCF0aGlzLmNvbXBvbmVudFJlZiB8fCB0aGlzLmlzVG9vbHRpcERlc3Ryb3llZCkge1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgICh0aGlzLmNvbXBvbmVudFJlZi5pbnN0YW5jZSBhcyBhbnkpLmNsb3NlVG9vbHRpcCgpO1xuICAgIHRoaXMuZGVzdHJveVRvb2x0aXAoeyBmYXN0OiB0cnVlIH0pO1xuICB9XG59XG4iXX0=
@@ -1,2 +1,2 @@
1
1
  export {};
2
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoib3B0aW9ucy5pbnRlcmZhY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9ncmF2aXR5LWRlc2lnbi1zeXN0ZW0vc3JjL2xpYi92ZW5kb3IvZ3Jhdml0eS10b29sdGlwL29wdGlvbnMuaW50ZXJmYWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiIiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgaW50ZXJmYWNlIFRvb2x0aXBPcHRpb25zIHtcbiAgJ3BsYWNlbWVudCc/OiBzdHJpbmc7XG4gICdhdXRvUGxhY2VtZW50Jz86IGJvb2xlYW47XG4gICdjb250ZW50LXR5cGUnPzogJ3N0cmluZycgfCAnaHRtbCcgfCAndGVtcGxhdGUnO1xuICAnY29udGVudFR5cGUnPzogJ3N0cmluZycgfCAnaHRtbCcgfCAndGVtcGxhdGUnO1xuICAnZGVsYXknPzogbnVtYmVyO1xuICAnc2hvdy1kZWxheSc/OiBudW1iZXI7XG4gICdzaG93RGVsYXknPzogbnVtYmVyO1xuICAnaGlkZS1kZWxheSc/OiBudW1iZXI7XG4gICdoaWRlRGVsYXknPzogbnVtYmVyO1xuICAnaGlkZS1kZWxheS1tb2JpbGUnPzogbnVtYmVyO1xuICAnaGlkZURlbGF5TW9iaWxlJz86IG51bWJlcjtcbiAgJ2hpZGVEZWxheVRvdWNoc2NyZWVuJz86IG51bWJlcjtcbiAgJ3otaW5kZXgnPzogbnVtYmVyO1xuICAnekluZGV4Jz86IG51bWJlcjtcbiAgJ2FuaW1hdGlvbi1kdXJhdGlvbic/OiBudW1iZXI7XG4gICdhbmltYXRpb25EdXJhdGlvbic/OiBudW1iZXI7XG4gICdhbmltYXRpb24tZHVyYXRpb24tZGVmYXVsdCc/OiBudW1iZXI7XG4gICdhbmltYXRpb25EdXJhdGlvbkRlZmF1bHQnPzogbnVtYmVyO1xuICAndHJpZ2dlcic/OiBzdHJpbmc7XG4gICd0b29sdGlwLWNsYXNzJz86IHN0cmluZztcbiAgJ3Rvb2x0aXBDbGFzcyc/OiBzdHJpbmc7XG4gICdkaXNwbGF5Jz86IGJvb2xlYW47XG4gICdkaXNwbGF5LW1vYmlsZSc/OiBib29sZWFuO1xuICAnZGlzcGxheU1vYmlsZSc/OiBib29sZWFuO1xuICAnZGlzcGxheVRvdWNoc2NyZWVuJz86IGJvb2xlYW47XG4gICdzaGFkb3cnPzogYm9vbGVhbjtcbiAgJ3RoZW1lJz86IFwiZGFya1wiIHwgXCJsaWdodFwiO1xuICAnb2Zmc2V0Jz86IG51bWJlcjtcbiAgJ3dpZHRoJz86IHN0cmluZztcbiAgJ21heC13aWR0aCc/OiBzdHJpbmc7XG4gICdtYXhXaWR0aCc/OiBzdHJpbmc7XG4gICdpZCc/OiBzdHJpbmcgfCBudW1iZXI7XG4gICdoaWRlRGVsYXlBZnRlckNsaWNrJz86IG51bWJlcjtcbiAgJ3BvaW50ZXJFdmVudHMnPzogJ2F1dG8nIHwgJ25vbmUnO1xuICAncG9zaXRpb24nPzogeyB0b3A6IG51bWJlciwgbGVmdDogbnVtYmVyIH07XG59XG4iXX0=
2
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoib3B0aW9ucy5pbnRlcmZhY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9ncmF2aXR5LWRlc2lnbi1zeXN0ZW0vc3JjL2xpYi92ZW5kb3IvZ3Jhdml0eS10b29sdGlwL29wdGlvbnMuaW50ZXJmYWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiIiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgaW50ZXJmYWNlIFRvb2x0aXBPcHRpb25zIHtcbiAgJ3BsYWNlbWVudCc/OiBzdHJpbmc7XG4gICdhdXRvUGxhY2VtZW50Jz86IGJvb2xlYW47XG4gICdjb250ZW50LXR5cGUnPzogJ3N0cmluZycgfCAnaHRtbCcgfCAndGVtcGxhdGUnO1xuICAnY29udGVudFR5cGUnPzogJ3N0cmluZycgfCAnaHRtbCcgfCAndGVtcGxhdGUnO1xuICAnZGVsYXknPzogbnVtYmVyO1xuICAnc2hvdy1kZWxheSc/OiBudW1iZXI7XG4gICdzaG93RGVsYXknPzogbnVtYmVyO1xuICAnaGlkZS1kZWxheSc/OiBudW1iZXI7XG4gICdoaWRlRGVsYXknPzogbnVtYmVyO1xuICAnaGlkZS1kZWxheS1tb2JpbGUnPzogbnVtYmVyO1xuICAnaGlkZURlbGF5TW9iaWxlJz86IG51bWJlcjtcbiAgJ2hpZGVEZWxheVRvdWNoc2NyZWVuJz86IG51bWJlcjtcbiAgJ3otaW5kZXgnPzogbnVtYmVyO1xuICAnekluZGV4Jz86IG51bWJlcjtcbiAgJ2FuaW1hdGlvbi1kdXJhdGlvbic/OiBudW1iZXI7XG4gICdhbmltYXRpb25EdXJhdGlvbic/OiBudW1iZXI7XG4gICdhbmltYXRpb24tZHVyYXRpb24tZGVmYXVsdCc/OiBudW1iZXI7XG4gICdhbmltYXRpb25EdXJhdGlvbkRlZmF1bHQnPzogbnVtYmVyO1xuICAndHJpZ2dlcic/OiBzdHJpbmc7XG4gICd0b29sdGlwLWNsYXNzJz86IHN0cmluZztcbiAgJ3Rvb2x0aXBDbGFzcyc/OiBzdHJpbmc7XG4gICdkaXNwbGF5Jz86IGJvb2xlYW47XG4gICdkaXNwbGF5LW1vYmlsZSc/OiBib29sZWFuO1xuICAnZGlzcGxheU1vYmlsZSc/OiBib29sZWFuO1xuICAnZGlzcGxheVRvdWNoc2NyZWVuJz86IGJvb2xlYW47XG4gICdzaGFkb3cnPzogYm9vbGVhbjtcbiAgJ3RoZW1lJz86IFwiZGFya1wiIHwgXCJsaWdodFwiO1xuICAnb2Zmc2V0Jz86IG51bWJlcjtcbiAgJ3dpZHRoJz86IHN0cmluZztcbiAgJ21heC13aWR0aCc/OiBzdHJpbmc7XG4gICdtYXhXaWR0aCc/OiBzdHJpbmc7XG4gICdpZCc/OiBzdHJpbmcgfCBudW1iZXI7XG4gICdoaWRlRGVsYXlBZnRlckNsaWNrJz86IG51bWJlcjtcbiAgJ3BvaW50ZXJFdmVudHMnPzogJ2F1dG8nIHwgJ25vbmUnO1xuICAncG9zaXRpb24nPzogeyB0b3A6IG51bWJlciwgbGVmdDogbnVtYmVyIH07XG4gICdwZXJzaXN0ZW50Jz86IGJvb2xlYW47XG59XG4iXX0=
@@ -45,6 +45,7 @@ export * from './lib/components/gravity-backdrop/gravity-backdrop.component';
45
45
  export * from './lib/components/gravity-segmented-button/gravity-segmented-button.component';
46
46
  export * from './lib/components/gravity-push-notifications/gravity-push-notifications.component';
47
47
  export * from './lib/components/gravity-pagination/gravity-pagination.component';
48
+ export * from './lib/components/gravity-tooltip-container/gravity-tooltip-container.component';
48
49
  //Layout
49
50
  export * from './lib/layout/gravity-header/gravity-header.component';
50
51
  export * from './lib/layout/gravity-menu/gravity-menu.component';
@@ -55,4 +56,4 @@ export * from './lib/vendor/gravity-tooltip';
55
56
  //Models and interfaces
56
57
  export * from './lib/components/gravity-notification/gravity-notification-content.interface';
57
58
  export * from './lib/components/gravity-calendar-v2/datepicker/models';
58
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHVibGljLWFwaS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3Byb2plY3RzL2dyYXZpdHktZGVzaWduLXN5c3RlbS9zcmMvcHVibGljLWFwaS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7R0FFRztBQUVILGNBQWMsb0NBQW9DLENBQUM7QUFFbkQsWUFBWTtBQUNaLGNBQWMsb0VBQW9FLENBQUM7QUFDbkYsY0FBYyxzRUFBc0UsQ0FBQztBQUNyRixjQUFjLDBEQUEwRCxDQUFDO0FBQ3pFLGNBQWMsb0VBQW9FLENBQUM7QUFDbkYsY0FBYyxvRUFBb0UsQ0FBQztBQUNuRixjQUFjLDhEQUE4RCxDQUFDO0FBQzdFLGNBQWMsOERBQThELENBQUM7QUFDN0UsY0FBYyxvRkFBb0YsQ0FBQztBQUNuRyxjQUFjLHdFQUF3RSxDQUFDO0FBQ3ZGLGNBQWMsOEVBQThFLENBQUM7QUFDN0YsY0FBYywwREFBMEQsQ0FBQztBQUN6RSxjQUFjLHdFQUF3RSxDQUFDO0FBQ3ZGLGNBQWMsd0ZBQXdGLENBQUM7QUFDdkcsY0FBYyxzREFBc0QsQ0FBQztBQUNyRSxjQUFjLG9FQUFvRSxDQUFDO0FBQ25GLGNBQWMsMEVBQTBFLENBQUM7QUFDekYsY0FBYyxzRUFBc0UsQ0FBQztBQUNyRixjQUFjLGdHQUFnRyxDQUFDO0FBQy9HLGNBQWMsc0VBQXNFLENBQUM7QUFDckYsY0FBYyw4RUFBOEUsQ0FBQztBQUM3RixjQUFjLDREQUE0RCxDQUFDO0FBQzNFLGNBQWMsMERBQTBELENBQUM7QUFDekUsY0FBYyx3REFBd0QsQ0FBQztBQUN2RSxjQUFjLGdFQUFnRSxDQUFDO0FBQy9FLGNBQWMsa0VBQWtFLENBQUM7QUFDakYsY0FBYywwRkFBMEYsQ0FBQztBQUN6RyxjQUFjLGdFQUFnRSxDQUFDO0FBQy9FLGNBQWMsMEVBQTBFLENBQUM7QUFDekYsY0FBYyx3REFBd0QsQ0FBQztBQUN2RSxjQUFjLHNEQUFzRCxDQUFDO0FBQ3JFLGNBQWMsb0VBQW9FLENBQUE7QUFDbEYsY0FBYyx3RUFBd0UsQ0FBQztBQUN2RixjQUFjLGtFQUFrRSxDQUFDO0FBQ2pGLGNBQWMsMEVBQTBFLENBQUM7QUFDekYsY0FBYyxvRUFBb0UsQ0FBQztBQUNuRixjQUFjLDBFQUEwRSxDQUFDO0FBQ3pGLGNBQWMsNEVBQTRFLENBQUM7QUFDM0YsY0FBYyw4RkFBOEYsQ0FBQTtBQUM1RyxjQUFjLDhEQUE4RCxDQUFDO0FBQzdFLGNBQWMsOEVBQThFLENBQUM7QUFDN0YsY0FBYyxrRkFBa0YsQ0FBQztBQUNqRyxjQUFjLGtFQUFrRSxDQUFDO0FBRWpGLFFBQVE7QUFDUixjQUFjLHNEQUFzRCxDQUFDO0FBQ3JFLGNBQWMsa0RBQWtELENBQUE7QUFFaEUsVUFBVTtBQUNWLGNBQWMsK0NBQStDLENBQUM7QUFFOUQsUUFBUTtBQUNSLGNBQWMsOEJBQThCLENBQUM7QUFFN0MsdUJBQXVCO0FBQ3ZCLGNBQWMsOEVBQThFLENBQUM7QUFDN0YsY0FBYyx3REFBd0QsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbIi8qXG4gKiBQdWJsaWMgQVBJIFN1cmZhY2Ugb2YgZ3Jhdml0eS1kZXNpZ24tc3lzdGVtXG4gKi9cblxuZXhwb3J0ICogZnJvbSAnLi9saWIvZ3Jhdml0eS1kZXNpZ24tc3lzdGVtLm1vZHVsZSc7XG5cbi8vQ29tcG9uZW50c1xuZXhwb3J0ICogZnJvbSAnLi9saWIvY29tcG9uZW50cy9ncmF2aXR5LWF0dGFjaC1maWxlL2dyYXZpdHktYXR0YWNoLWZpbGUuY29tcG9uZW50JztcbmV4cG9ydCAqIGZyb20gJy4vbGliL2NvbXBvbmVudHMvZ3Jhdml0eS1hdmF0YXItc3RhY2svZ3Jhdml0eS1hdmF0YXItc3RhY2suY29tcG9uZW50JztcbmV4cG9ydCAqIGZyb20gJy4vbGliL2NvbXBvbmVudHMvZ3Jhdml0eS1idXR0b24vZ3Jhdml0eS1idXR0b24uY29tcG9uZW50JztcbmV4cG9ydCAqIGZyb20gJy4vbGliL2NvbXBvbmVudHMvZ3Jhdml0eS1jYWxlbmRhci12Mi9ncmF2aXR5LWNhbGVuZGFyLXYyLmNvbXBvbmVudCc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9jb21wb25lbnRzL2dyYXZpdHktZGF0ZS1waWNrZXIvZ3Jhdml0eS1kYXRlLXBpY2tlci5jb21wb25lbnQnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvY29tcG9uZW50cy9ncmF2aXR5LWNoZWNrYm94L2dyYXZpdHktY2hlY2tib3guY29tcG9uZW50JztcbmV4cG9ydCAqIGZyb20gJy4vbGliL2NvbXBvbmVudHMvZ3Jhdml0eS1jdXJyZW5jeS9ncmF2aXR5LWN1cnJlbmN5LmNvbXBvbmVudCc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9jb21wb25lbnRzL2dyYXZpdHktY3VycmVuY3ktZGlzcGxheS12Mi9ncmF2aXR5LWN1cnJlbmN5LWRpc3BsYXktdjIuY29tcG9uZW50JztcbmV4cG9ydCAqIGZyb20gJy4vbGliL2NvbXBvbmVudHMvZ3Jhdml0eS1kYXRhLXZpZXdzLXYyL2dyYXZpdHktZGF0YS12aWV3cy12Mi5jb21wb25lbnQnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvY29tcG9uZW50cy9ncmF2aXR5LWRldGFpbC1jb250YWluZXIvZ3Jhdml0eS1kZXRhaWwtY29udGFpbmVyLmNvbXBvbmVudCc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9jb21wb25lbnRzL2dyYXZpdHktZGlhbG9nL2dyYXZpdHktZGlhbG9nLmNvbXBvbmVudCc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9jb21wb25lbnRzL2dyYXZpdHktZHJvcGRvd24tbGlzdC9ncmF2aXR5LWRyb3Bkb3duLWxpc3QuY29tcG9uZW50JztcbmV4cG9ydCAqIGZyb20gJy4vbGliL2NvbXBvbmVudHMvZ3Jhdml0eS1kcm9wZG93bi1saXN0LWRpc3BsYXkvZ3Jhdml0eS1kcm9wZG93bi1saXN0LWRpc3BsYXkuY29tcG9uZW50JztcbmV4cG9ydCAqIGZyb20gJy4vbGliL2NvbXBvbmVudHMvZ3Jhdml0eS1pY29uL2dyYXZpdHktaWNvbi5jb21wb25lbnQnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvY29tcG9uZW50cy9ncmF2aXR5LWljb24tYnV0dG9uL2dyYXZpdHktaWNvbi1idXR0b24uY29tcG9uZW50JztcbmV4cG9ydCAqIGZyb20gJy4vbGliL2NvbXBvbmVudHMvZ3Jhdml0eS1tdWx0aS1sYW5ndWFnZS9ncmF2aXR5LW11bHRpLWxhbmd1YWdlLmNvbXBvbmVudCc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9jb21wb25lbnRzL2dyYXZpdHktbmV0d29yay1waWxsL2dyYXZpdHktbmV0d29yay1waWxsLmNvbXBvbmVudCc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9jb21wb25lbnRzL2dyYXZpdHktbm90aWZpY2F0aW9uLWluc3RhbnQvZ3Jhdml0eS1ub3RpZmljYXRpb24taW5zdGFudC1jb250YWluZXIuY29tcG9uZW50JztcbmV4cG9ydCAqIGZyb20gJy4vbGliL2NvbXBvbmVudHMvZ3Jhdml0eS1yYWRpby1idXR0b24vZ3Jhdml0eS1yYWRpby1idXR0b24uY29tcG9uZW50JztcbmV4cG9ydCAqIGZyb20gJy4vbGliL2NvbXBvbmVudHMvZ3Jhdml0eS1zdGF0dXMtaW5kaWNhdG9yL2dyYXZpdHktc3RhdHVzLWluZGljYXRvci5jb21wb25lbnQnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvY29tcG9uZW50cy9ncmF2aXR5LXN0ZXBwZXIvZ3Jhdml0eS1zdGVwcGVyLmNvbXBvbmVudCc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9jb21wb25lbnRzL2dyYXZpdHktc3dpdGNoL2dyYXZpdHktc3dpdGNoLmNvbXBvbmVudCc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9jb21wb25lbnRzL2dyYXZpdHktdGFibGUvZ3Jhdml0eS10YWJsZS5jb21wb25lbnQnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvY29tcG9uZW50cy9ncmF2aXR5LXRhYmxlcy12Mi9ncmF2aXR5LXRhYmxlcy12Mi5jb21wb25lbnQnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvY29tcG9uZW50cy9ncmF2aXR5LXRleHQtZmllbGQvZ3Jhdml0eS10ZXh0LWZpZWxkLmNvbXBvbmVudCc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9jb21wb25lbnRzL2dyYXZpdHktdGV4dC1maWVsZC1udW1iZXItb25seS9ncmF2aXR5LXRleHQtZmllbGQtbnVtYmVyLW9ubHkuY29tcG9uZW50JztcbmV4cG9ydCAqIGZyb20gJy4vbGliL2NvbXBvbmVudHMvZ3Jhdml0eS10cmVlLXZpZXcvZ3Jhdml0eS10cmVlLXZpZXcuY29tcG9uZW50JztcbmV4cG9ydCAqIGZyb20gJy4vbGliL2NvbXBvbmVudHMvZ3Jhdml0eS1nZW5lcmljLWF2YXRhci9ncmF2aXR5LWdlbmVyaWMtYXZhdGFyLmNvbXBvbmVudCc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9jb21wb25lbnRzL2dyYXZpdHktbW9kYWwvZ3Jhdml0eS1tb2RhbC5jb21wb25lbnQnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvY29tcG9uZW50cy9ncmF2aXR5LWxpbmsvZ3Jhdml0eS1saW5rLmNvbXBvbmVudCc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9jb21wb25lbnRzL2dyYXZpdHktdGFiLXByaW1hcnkvZ3Jhdml0eS10YWItcHJpbWFyeS5jb21wb25lbnQnXG5leHBvcnQgKiBmcm9tICcuL2xpYi9jb21wb25lbnRzL2dyYXZpdHktdGFiLXNlY29uZGFyeS9ncmF2aXR5LXRhYi1zZWNvbmRhcnkuY29tcG9uZW50JztcbmV4cG9ydCAqIGZyb20gJy4vbGliL2NvbXBvbmVudHMvZ3Jhdml0eS1jaGlwLWdyb3VwL2dyYXZpdHktY2hpcC1ncm91cC5jb21wb25lbnQnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvY29tcG9uZW50cy9ncmF2aXR5LWVkaXRhYmxlLWlucHV0L2dyYXZpdHktZWRpdGFibGUtaW5wdXQuY29tcG9uZW50JztcbmV4cG9ydCAqIGZyb20gJy4vbGliL2NvbXBvbmVudHMvZ3Jhdml0eS1jYXJkLWJ1dHRvbi9ncmF2aXR5LWNhcmQtYnV0dG9uLmNvbXBvbmVudCc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9jb21wb25lbnRzL2dyYXZpdHktZHJvcGRvd24tbGFiZWwvZ3Jhdml0eS1kcm9wZG93bi1sYWJlbC5jb21wb25lbnQnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvY29tcG9uZW50cy9ncmF2aXR5LW5hdmlnYXRpb24tY2FyZC9ncmF2aXR5LW5hdmlnYXRpb24tY2FyZC5jb21wb25lbnQnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvY29tcG9uZW50cy9ncmF2aXR5LWdlbmVyaWMtYXZhdGFyLXNlY29uZGFyeS9ncmF2aXR5LWdlbmVyaWMtYXZhdGFyLXNlY29uZGFyeS5jb21wb25lbnQnXG5leHBvcnQgKiBmcm9tICcuL2xpYi9jb21wb25lbnRzL2dyYXZpdHktYmFja2Ryb3AvZ3Jhdml0eS1iYWNrZHJvcC5jb21wb25lbnQnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvY29tcG9uZW50cy9ncmF2aXR5LXNlZ21lbnRlZC1idXR0b24vZ3Jhdml0eS1zZWdtZW50ZWQtYnV0dG9uLmNvbXBvbmVudCc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9jb21wb25lbnRzL2dyYXZpdHktcHVzaC1ub3RpZmljYXRpb25zL2dyYXZpdHktcHVzaC1ub3RpZmljYXRpb25zLmNvbXBvbmVudCc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9jb21wb25lbnRzL2dyYXZpdHktcGFnaW5hdGlvbi9ncmF2aXR5LXBhZ2luYXRpb24uY29tcG9uZW50JztcblxuLy9MYXlvdXRcbmV4cG9ydCAqIGZyb20gJy4vbGliL2xheW91dC9ncmF2aXR5LWhlYWRlci9ncmF2aXR5LWhlYWRlci5jb21wb25lbnQnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvbGF5b3V0L2dyYXZpdHktbWVudS9ncmF2aXR5LW1lbnUuY29tcG9uZW50J1xuXG4vL1NlcnZpY2VzXG5leHBvcnQgKiBmcm9tICcuL2xpYi9zZXJ2aWNlcy9ncmF2aXR5LWRpYWxvZy1tYW5hZ2VyLnNlcnZpY2UnO1xuXG4vL1ZlbmRvclxuZXhwb3J0ICogZnJvbSAnLi9saWIvdmVuZG9yL2dyYXZpdHktdG9vbHRpcCc7XG5cbi8vTW9kZWxzIGFuZCBpbnRlcmZhY2VzXG5leHBvcnQgKiBmcm9tICcuL2xpYi9jb21wb25lbnRzL2dyYXZpdHktbm90aWZpY2F0aW9uL2dyYXZpdHktbm90aWZpY2F0aW9uLWNvbnRlbnQuaW50ZXJmYWNlJztcbmV4cG9ydCAqIGZyb20gJy4vbGliL2NvbXBvbmVudHMvZ3Jhdml0eS1jYWxlbmRhci12Mi9kYXRlcGlja2VyL21vZGVscyc7XG4iXX0=
59
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHVibGljLWFwaS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3Byb2plY3RzL2dyYXZpdHktZGVzaWduLXN5c3RlbS9zcmMvcHVibGljLWFwaS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7R0FFRztBQUVILGNBQWMsb0NBQW9DLENBQUM7QUFFbkQsWUFBWTtBQUNaLGNBQWMsb0VBQW9FLENBQUM7QUFDbkYsY0FBYyxzRUFBc0UsQ0FBQztBQUNyRixjQUFjLDBEQUEwRCxDQUFDO0FBQ3pFLGNBQWMsb0VBQW9FLENBQUM7QUFDbkYsY0FBYyxvRUFBb0UsQ0FBQztBQUNuRixjQUFjLDhEQUE4RCxDQUFDO0FBQzdFLGNBQWMsOERBQThELENBQUM7QUFDN0UsY0FBYyxvRkFBb0YsQ0FBQztBQUNuRyxjQUFjLHdFQUF3RSxDQUFDO0FBQ3ZGLGNBQWMsOEVBQThFLENBQUM7QUFDN0YsY0FBYywwREFBMEQsQ0FBQztBQUN6RSxjQUFjLHdFQUF3RSxDQUFDO0FBQ3ZGLGNBQWMsd0ZBQXdGLENBQUM7QUFDdkcsY0FBYyxzREFBc0QsQ0FBQztBQUNyRSxjQUFjLG9FQUFvRSxDQUFDO0FBQ25GLGNBQWMsMEVBQTBFLENBQUM7QUFDekYsY0FBYyxzRUFBc0UsQ0FBQztBQUNyRixjQUFjLGdHQUFnRyxDQUFDO0FBQy9HLGNBQWMsc0VBQXNFLENBQUM7QUFDckYsY0FBYyw4RUFBOEUsQ0FBQztBQUM3RixjQUFjLDREQUE0RCxDQUFDO0FBQzNFLGNBQWMsMERBQTBELENBQUM7QUFDekUsY0FBYyx3REFBd0QsQ0FBQztBQUN2RSxjQUFjLGdFQUFnRSxDQUFDO0FBQy9FLGNBQWMsa0VBQWtFLENBQUM7QUFDakYsY0FBYywwRkFBMEYsQ0FBQztBQUN6RyxjQUFjLGdFQUFnRSxDQUFDO0FBQy9FLGNBQWMsMEVBQTBFLENBQUM7QUFDekYsY0FBYyx3REFBd0QsQ0FBQztBQUN2RSxjQUFjLHNEQUFzRCxDQUFDO0FBQ3JFLGNBQWMsb0VBQW9FLENBQUE7QUFDbEYsY0FBYyx3RUFBd0UsQ0FBQztBQUN2RixjQUFjLGtFQUFrRSxDQUFDO0FBQ2pGLGNBQWMsMEVBQTBFLENBQUM7QUFDekYsY0FBYyxvRUFBb0UsQ0FBQztBQUNuRixjQUFjLDBFQUEwRSxDQUFDO0FBQ3pGLGNBQWMsNEVBQTRFLENBQUM7QUFDM0YsY0FBYyw4RkFBOEYsQ0FBQTtBQUM1RyxjQUFjLDhEQUE4RCxDQUFDO0FBQzdFLGNBQWMsOEVBQThFLENBQUM7QUFDN0YsY0FBYyxrRkFBa0YsQ0FBQztBQUNqRyxjQUFjLGtFQUFrRSxDQUFDO0FBQ2pGLGNBQWMsZ0ZBQWdGLENBQUM7QUFFL0YsUUFBUTtBQUNSLGNBQWMsc0RBQXNELENBQUM7QUFDckUsY0FBYyxrREFBa0QsQ0FBQTtBQUVoRSxVQUFVO0FBQ1YsY0FBYywrQ0FBK0MsQ0FBQztBQUU5RCxRQUFRO0FBQ1IsY0FBYyw4QkFBOEIsQ0FBQztBQUU3Qyx1QkFBdUI7QUFDdkIsY0FBYyw4RUFBOEUsQ0FBQztBQUM3RixjQUFjLHdEQUF3RCxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLypcbiAqIFB1YmxpYyBBUEkgU3VyZmFjZSBvZiBncmF2aXR5LWRlc2lnbi1zeXN0ZW1cbiAqL1xuXG5leHBvcnQgKiBmcm9tICcuL2xpYi9ncmF2aXR5LWRlc2lnbi1zeXN0ZW0ubW9kdWxlJztcblxuLy9Db21wb25lbnRzXG5leHBvcnQgKiBmcm9tICcuL2xpYi9jb21wb25lbnRzL2dyYXZpdHktYXR0YWNoLWZpbGUvZ3Jhdml0eS1hdHRhY2gtZmlsZS5jb21wb25lbnQnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvY29tcG9uZW50cy9ncmF2aXR5LWF2YXRhci1zdGFjay9ncmF2aXR5LWF2YXRhci1zdGFjay5jb21wb25lbnQnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvY29tcG9uZW50cy9ncmF2aXR5LWJ1dHRvbi9ncmF2aXR5LWJ1dHRvbi5jb21wb25lbnQnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvY29tcG9uZW50cy9ncmF2aXR5LWNhbGVuZGFyLXYyL2dyYXZpdHktY2FsZW5kYXItdjIuY29tcG9uZW50JztcbmV4cG9ydCAqIGZyb20gJy4vbGliL2NvbXBvbmVudHMvZ3Jhdml0eS1kYXRlLXBpY2tlci9ncmF2aXR5LWRhdGUtcGlja2VyLmNvbXBvbmVudCc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9jb21wb25lbnRzL2dyYXZpdHktY2hlY2tib3gvZ3Jhdml0eS1jaGVja2JveC5jb21wb25lbnQnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvY29tcG9uZW50cy9ncmF2aXR5LWN1cnJlbmN5L2dyYXZpdHktY3VycmVuY3kuY29tcG9uZW50JztcbmV4cG9ydCAqIGZyb20gJy4vbGliL2NvbXBvbmVudHMvZ3Jhdml0eS1jdXJyZW5jeS1kaXNwbGF5LXYyL2dyYXZpdHktY3VycmVuY3ktZGlzcGxheS12Mi5jb21wb25lbnQnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvY29tcG9uZW50cy9ncmF2aXR5LWRhdGEtdmlld3MtdjIvZ3Jhdml0eS1kYXRhLXZpZXdzLXYyLmNvbXBvbmVudCc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9jb21wb25lbnRzL2dyYXZpdHktZGV0YWlsLWNvbnRhaW5lci9ncmF2aXR5LWRldGFpbC1jb250YWluZXIuY29tcG9uZW50JztcbmV4cG9ydCAqIGZyb20gJy4vbGliL2NvbXBvbmVudHMvZ3Jhdml0eS1kaWFsb2cvZ3Jhdml0eS1kaWFsb2cuY29tcG9uZW50JztcbmV4cG9ydCAqIGZyb20gJy4vbGliL2NvbXBvbmVudHMvZ3Jhdml0eS1kcm9wZG93bi1saXN0L2dyYXZpdHktZHJvcGRvd24tbGlzdC5jb21wb25lbnQnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvY29tcG9uZW50cy9ncmF2aXR5LWRyb3Bkb3duLWxpc3QtZGlzcGxheS9ncmF2aXR5LWRyb3Bkb3duLWxpc3QtZGlzcGxheS5jb21wb25lbnQnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvY29tcG9uZW50cy9ncmF2aXR5LWljb24vZ3Jhdml0eS1pY29uLmNvbXBvbmVudCc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9jb21wb25lbnRzL2dyYXZpdHktaWNvbi1idXR0b24vZ3Jhdml0eS1pY29uLWJ1dHRvbi5jb21wb25lbnQnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvY29tcG9uZW50cy9ncmF2aXR5LW11bHRpLWxhbmd1YWdlL2dyYXZpdHktbXVsdGktbGFuZ3VhZ2UuY29tcG9uZW50JztcbmV4cG9ydCAqIGZyb20gJy4vbGliL2NvbXBvbmVudHMvZ3Jhdml0eS1uZXR3b3JrLXBpbGwvZ3Jhdml0eS1uZXR3b3JrLXBpbGwuY29tcG9uZW50JztcbmV4cG9ydCAqIGZyb20gJy4vbGliL2NvbXBvbmVudHMvZ3Jhdml0eS1ub3RpZmljYXRpb24taW5zdGFudC9ncmF2aXR5LW5vdGlmaWNhdGlvbi1pbnN0YW50LWNvbnRhaW5lci5jb21wb25lbnQnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvY29tcG9uZW50cy9ncmF2aXR5LXJhZGlvLWJ1dHRvbi9ncmF2aXR5LXJhZGlvLWJ1dHRvbi5jb21wb25lbnQnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvY29tcG9uZW50cy9ncmF2aXR5LXN0YXR1cy1pbmRpY2F0b3IvZ3Jhdml0eS1zdGF0dXMtaW5kaWNhdG9yLmNvbXBvbmVudCc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9jb21wb25lbnRzL2dyYXZpdHktc3RlcHBlci9ncmF2aXR5LXN0ZXBwZXIuY29tcG9uZW50JztcbmV4cG9ydCAqIGZyb20gJy4vbGliL2NvbXBvbmVudHMvZ3Jhdml0eS1zd2l0Y2gvZ3Jhdml0eS1zd2l0Y2guY29tcG9uZW50JztcbmV4cG9ydCAqIGZyb20gJy4vbGliL2NvbXBvbmVudHMvZ3Jhdml0eS10YWJsZS9ncmF2aXR5LXRhYmxlLmNvbXBvbmVudCc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9jb21wb25lbnRzL2dyYXZpdHktdGFibGVzLXYyL2dyYXZpdHktdGFibGVzLXYyLmNvbXBvbmVudCc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9jb21wb25lbnRzL2dyYXZpdHktdGV4dC1maWVsZC9ncmF2aXR5LXRleHQtZmllbGQuY29tcG9uZW50JztcbmV4cG9ydCAqIGZyb20gJy4vbGliL2NvbXBvbmVudHMvZ3Jhdml0eS10ZXh0LWZpZWxkLW51bWJlci1vbmx5L2dyYXZpdHktdGV4dC1maWVsZC1udW1iZXItb25seS5jb21wb25lbnQnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvY29tcG9uZW50cy9ncmF2aXR5LXRyZWUtdmlldy9ncmF2aXR5LXRyZWUtdmlldy5jb21wb25lbnQnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvY29tcG9uZW50cy9ncmF2aXR5LWdlbmVyaWMtYXZhdGFyL2dyYXZpdHktZ2VuZXJpYy1hdmF0YXIuY29tcG9uZW50JztcbmV4cG9ydCAqIGZyb20gJy4vbGliL2NvbXBvbmVudHMvZ3Jhdml0eS1tb2RhbC9ncmF2aXR5LW1vZGFsLmNvbXBvbmVudCc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9jb21wb25lbnRzL2dyYXZpdHktbGluay9ncmF2aXR5LWxpbmsuY29tcG9uZW50JztcbmV4cG9ydCAqIGZyb20gJy4vbGliL2NvbXBvbmVudHMvZ3Jhdml0eS10YWItcHJpbWFyeS9ncmF2aXR5LXRhYi1wcmltYXJ5LmNvbXBvbmVudCdcbmV4cG9ydCAqIGZyb20gJy4vbGliL2NvbXBvbmVudHMvZ3Jhdml0eS10YWItc2Vjb25kYXJ5L2dyYXZpdHktdGFiLXNlY29uZGFyeS5jb21wb25lbnQnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvY29tcG9uZW50cy9ncmF2aXR5LWNoaXAtZ3JvdXAvZ3Jhdml0eS1jaGlwLWdyb3VwLmNvbXBvbmVudCc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9jb21wb25lbnRzL2dyYXZpdHktZWRpdGFibGUtaW5wdXQvZ3Jhdml0eS1lZGl0YWJsZS1pbnB1dC5jb21wb25lbnQnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvY29tcG9uZW50cy9ncmF2aXR5LWNhcmQtYnV0dG9uL2dyYXZpdHktY2FyZC1idXR0b24uY29tcG9uZW50JztcbmV4cG9ydCAqIGZyb20gJy4vbGliL2NvbXBvbmVudHMvZ3Jhdml0eS1kcm9wZG93bi1sYWJlbC9ncmF2aXR5LWRyb3Bkb3duLWxhYmVsLmNvbXBvbmVudCc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9jb21wb25lbnRzL2dyYXZpdHktbmF2aWdhdGlvbi1jYXJkL2dyYXZpdHktbmF2aWdhdGlvbi1jYXJkLmNvbXBvbmVudCc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9jb21wb25lbnRzL2dyYXZpdHktZ2VuZXJpYy1hdmF0YXItc2Vjb25kYXJ5L2dyYXZpdHktZ2VuZXJpYy1hdmF0YXItc2Vjb25kYXJ5LmNvbXBvbmVudCdcbmV4cG9ydCAqIGZyb20gJy4vbGliL2NvbXBvbmVudHMvZ3Jhdml0eS1iYWNrZHJvcC9ncmF2aXR5LWJhY2tkcm9wLmNvbXBvbmVudCc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9jb21wb25lbnRzL2dyYXZpdHktc2VnbWVudGVkLWJ1dHRvbi9ncmF2aXR5LXNlZ21lbnRlZC1idXR0b24uY29tcG9uZW50JztcbmV4cG9ydCAqIGZyb20gJy4vbGliL2NvbXBvbmVudHMvZ3Jhdml0eS1wdXNoLW5vdGlmaWNhdGlvbnMvZ3Jhdml0eS1wdXNoLW5vdGlmaWNhdGlvbnMuY29tcG9uZW50JztcbmV4cG9ydCAqIGZyb20gJy4vbGliL2NvbXBvbmVudHMvZ3Jhdml0eS1wYWdpbmF0aW9uL2dyYXZpdHktcGFnaW5hdGlvbi5jb21wb25lbnQnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvY29tcG9uZW50cy9ncmF2aXR5LXRvb2x0aXAtY29udGFpbmVyL2dyYXZpdHktdG9vbHRpcC1jb250YWluZXIuY29tcG9uZW50JztcblxuLy9MYXlvdXRcbmV4cG9ydCAqIGZyb20gJy4vbGliL2xheW91dC9ncmF2aXR5LWhlYWRlci9ncmF2aXR5LWhlYWRlci5jb21wb25lbnQnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvbGF5b3V0L2dyYXZpdHktbWVudS9ncmF2aXR5LW1lbnUuY29tcG9uZW50J1xuXG4vL1NlcnZpY2VzXG5leHBvcnQgKiBmcm9tICcuL2xpYi9zZXJ2aWNlcy9ncmF2aXR5LWRpYWxvZy1tYW5hZ2VyLnNlcnZpY2UnO1xuXG4vL1ZlbmRvclxuZXhwb3J0ICogZnJvbSAnLi9saWIvdmVuZG9yL2dyYXZpdHktdG9vbHRpcCc7XG5cbi8vTW9kZWxzIGFuZCBpbnRlcmZhY2VzXG5leHBvcnQgKiBmcm9tICcuL2xpYi9jb21wb25lbnRzL2dyYXZpdHktbm90aWZpY2F0aW9uL2dyYXZpdHktbm90aWZpY2F0aW9uLWNvbnRlbnQuaW50ZXJmYWNlJztcbmV4cG9ydCAqIGZyb20gJy4vbGliL2NvbXBvbmVudHMvZ3Jhdml0eS1jYWxlbmRhci12Mi9kYXRlcGlja2VyL21vZGVscyc7XG4iXX0=
@@ -1573,11 +1573,6 @@ class GravityTooltipComponent {
1573
1573
  this.hostStyleZIndex = this.options['zIndex'];
1574
1574
  }
1575
1575
  }
1576
- setPointerEvents() {
1577
- if (this.options['pointerEvents']) {
1578
- this.hostStylePointerEvents = this.options['pointerEvents'];
1579
- }
1580
- }
1581
1576
  setCustomClass() {
1582
1577
  if (this.options['tooltipClass']) {
1583
1578
  this.options['tooltipClass'].split(' ').forEach((className) => {
@@ -1592,19 +1587,23 @@ class GravityTooltipComponent {
1592
1587
  }
1593
1588
  setStyles() {
1594
1589
  this.setZIndex();
1595
- this.setPointerEvents();
1596
1590
  this.setAnimationDuration();
1597
1591
  this.hostClassShadow = this.options['shadow'];
1598
1592
  this.hostClassLight = this.isThemeLight;
1599
1593
  this.hostStyleMaxWidth = this.options['maxWidth'];
1600
1594
  this.hostStyleWidth = this.options['width'] ? this.options['width'] : '';
1595
+ this.hostClassNoPointer = !this.options['persistent'];
1596
+ }
1597
+ closeTooltip() {
1598
+ this.show = false;
1599
+ this.events.emit({ type: 'hide', position: this.data.elementPosition });
1601
1600
  }
1602
1601
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: GravityTooltipComponent, deps: [{ token: i0.ElementRef }, { token: i0.Renderer2 }], target: i0.ɵɵFactoryTarget.Component }); }
1603
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: GravityTooltipComponent, selector: "tooltip", inputs: { data: "data", show: "show" }, host: { listeners: { "transitionend": "transitionEnd($event)" }, properties: { "style.top": "this.hostStyleTop", "style.left": "this.hostStyleLeft", "style.z-index": "this.hostStyleZIndex", "style.transition": "this.hostStyleTransition", "style.width": "this.hostStyleWidth", "style.max-width": "this.hostStyleMaxWidth", "style.pointer-events": "this.hostStylePointerEvents", "class.tooltip-show": "this.hostClassShow", "class.tooltip-shadow": "this.hostClassShadow", "class.tooltip-light": "this.hostClassLight" }, classAttribute: "tooltip" }, ngImport: i0, template: "<div *ngIf=\"isThemeLight\" class=\"tooltip-arrow\"></div>\n\n<div *ngIf=\"options['contentType'] === 'template' else htmlOrStringTemplate\">\n <ng-container *ngTemplateOutlet=\"value\"></ng-container>\n</div>\n\n<ng-template #htmlOrStringTemplate>\n <div [innerHTML]=\"value\"></div>\n</ng-template>\n", styles: [":host{max-width:200px;background-color:var(--bg-tooltip-primary);color:var(--on-bg-tooltip-primary);text-align:center;border-radius:6px;padding:5px 8px;position:absolute;pointer-events:none;z-index:1000;display:block;opacity:0;transition:opacity .3s;top:0;left:0}:host.tooltip-show{opacity:1}:host.tooltip-shadow{box-shadow:0 7px 15px -5px #0006}:host.tooltip-light.tooltip-shadow{box-shadow:0 5px 15px -5px #0006}:host.tooltip:after{content:\"\";position:absolute;border-style:solid}:host.tooltip-top:after{top:100%;left:50%;margin-left:-5px;border-width:5px;border-color:var(--bg-tooltip-primary) transparent transparent transparent}:host.tooltip-top-left:after{top:100%;left:10%;margin-left:-5px;border-width:5px;border-color:var(--bg-tooltip-primary) transparent transparent transparent}:host.tooltip-top-right:after{top:100%;left:90%;margin-left:-5px;border-width:5px;border-color:var(--bg-tooltip-primary) transparent transparent transparent}:host.tooltip-bottom:after{bottom:100%;left:50%;margin-left:-5px;border-width:5px;border-color:transparent transparent var(--bg-tooltip-primary) transparent}:host.tooltip-bottom-left:after{bottom:100%;left:10%;margin-left:-5px;border-width:5px;border-color:transparent transparent var(--bg-tooltip-primary) transparent}:host.tooltip-bottom-right:after{bottom:100%;left:90%;margin-left:-5px;border-width:5px;border-color:transparent transparent var(--bg-tooltip-primary) transparent}:host.tooltip-left:after{top:50%;left:100%;margin-top:-5px;border-width:5px;border-color:transparent transparent transparent var(--bg-tooltip-primary)}:host.tooltip-left-top:after{top:10%;left:100%;margin-top:-5px;border-width:5px;border-color:transparent transparent transparent var(--bg-tooltip-primary)}:host.tooltip-left-bottom:after{top:90%;left:100%;margin-top:-5px;border-width:5px;border-color:transparent transparent transparent var(--bg-tooltip-primary)}:host.tooltip-right:after{top:50%;right:100%;margin-top:-5px;border-width:5px;border-color:transparent var(--bg-tooltip-primary) transparent transparent}:host.tooltip-right-top:after{top:10%;right:100%;margin-top:-5px;border-width:5px;border-color:transparent var(--bg-tooltip-primary) transparent transparent}:host.tooltip-right-bottom:after{top:90%;right:100%;margin-top:-5px;border-width:5px;border-color:transparent var(--bg-tooltip-primary) transparent transparent}:host.tooltip-light:after{display:none}:host.tooltip-light{border:1px solid rgba(0,0,0,.06);background-color:#fff;color:#000}:host.tooltip-light .tooltip-arrow{position:absolute;width:10px;height:10px;transform:rotate(135deg);background-color:#00000012}:host.tooltip-light .tooltip-arrow:after{background-color:#fff;content:\"\";display:block;position:absolute;width:10px;height:10px}:host.tooltip-top.tooltip-light{margin-top:-2px}:host.tooltip-top.tooltip-light .tooltip-arrow{top:100%;left:50%;margin-top:-4px;margin-left:-5px;background:linear-gradient(to bottom left,rgba(0,0,0,.07) 50%,transparent 50%)}:host.tooltip-top.tooltip-light .tooltip-arrow:after{top:1px;right:1px}:host.tooltip-bottom.tooltip-light .tooltip-arrow{bottom:100%;left:50%;margin-bottom:-4px;margin-left:-5px;background:linear-gradient(to top right,rgba(0,0,0,.1) 50%,transparent 50%)}:host.tooltip-bottom.tooltip-light .tooltip-arrow:after{top:-1px;right:-1px}:host.tooltip-left.tooltip-light .tooltip-arrow{top:50%;left:100%;margin-top:-5px;margin-left:-4px;background:linear-gradient(to bottom right,rgba(0,0,0,.07) 50%,transparent 50%)}:host.tooltip-left.tooltip-light .tooltip-arrow:after{top:1px;right:-1px}:host.tooltip-right.tooltip-light .tooltip-arrow{top:50%;right:100%;margin-top:-5px;margin-right:-4px;background:linear-gradient(to top left,rgba(0,0,0,.07) 50%,transparent 50%)}:host.tooltip-right.tooltip-light .tooltip-arrow:after{top:-1px;right:1px}\n"], dependencies: [{ kind: "directive", type: i1$1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i1$1.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }] }); }
1602
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: GravityTooltipComponent, selector: "tooltip", inputs: { data: "data", show: "show" }, host: { listeners: { "transitionend": "transitionEnd($event)" }, properties: { "style.top": "this.hostStyleTop", "style.left": "this.hostStyleLeft", "style.z-index": "this.hostStyleZIndex", "style.transition": "this.hostStyleTransition", "style.width": "this.hostStyleWidth", "style.max-width": "this.hostStyleMaxWidth", "style.pointer-events": "this.hostStylePointerEvents", "class.tooltip-show": "this.hostClassShow", "class.tooltip-shadow": "this.hostClassShadow", "class.tooltip-light": "this.hostClassLight", "class.tooltip-no-pointer": "this.hostClassNoPointer" }, classAttribute: "tooltip" }, ngImport: i0, template: "<div *ngIf=\"isThemeLight\" class=\"tooltip-arrow\"></div>\n\n<!--Si el contentType es template, se usa el ngTemplate sino usa el htmlOrStringTemplate-->\n<div *ngIf=\"options['contentType'] === 'template' else htmlOrStringTemplate\">\n <ng-container *ngTemplateOutlet=\"value\"></ng-container>\n</div>\n\n<ng-template #htmlOrStringTemplate>\n <div [innerHTML]=\"value\"></div>\n</ng-template>\n", styles: [":host{position:absolute;z-index:1000;display:block;opacity:0;transition:opacity .3s;top:0;left:0;border-radius:5px}:host.tooltip-show{opacity:1}:host.tooltip-shadow{box-shadow:0 4px 10px #151c2938}:host.tooltip-light.tooltip-shadow{box-shadow:0 4px 10px #151c2938}:host.tooltip-no-pointer{pointer-events:none}:host.tooltip:after{content:\"\";position:absolute;border-style:solid}:host.tooltip-top:after{top:100%;left:50%;margin-left:-5px;border-width:5px;border-color:var(--bg-tooltip-primary) transparent transparent transparent}:host.tooltip-top-left:after{top:100%;left:10%;margin-left:-5px;border-width:5px;border-color:var(--bg-tooltip-primary) transparent transparent transparent}:host.tooltip-top-right:after{top:100%;left:90%;margin-left:-5px;border-width:5px;border-color:var(--bg-tooltip-primary) transparent transparent transparent}:host.tooltip-bottom:after{bottom:100%;left:50%;margin-left:-5px;border-width:5px;border-color:transparent transparent var(--bg-tooltip-primary) transparent}:host.tooltip-bottom-left:after{bottom:100%;left:10%;margin-left:-5px;border-width:5px;border-color:transparent transparent var(--bg-tooltip-primary) transparent}:host.tooltip-bottom-right:after{bottom:100%;left:90%;margin-left:-5px;border-width:5px;border-color:transparent transparent var(--bg-tooltip-primary) transparent}:host.tooltip-left:after{top:50%;left:100%;margin-top:-5px;border-width:5px;border-color:transparent transparent transparent var(--bg-tooltip-primary)}:host.tooltip-left-top:after{top:10%;left:100%;margin-top:-5px;border-width:5px;border-color:transparent transparent transparent var(--bg-tooltip-primary)}:host.tooltip-left-bottom:after{top:90%;left:100%;margin-top:-5px;border-width:5px;border-color:transparent transparent transparent var(--bg-tooltip-primary)}:host.tooltip-right:after{top:50%;right:100%;margin-top:-5px;border-width:5px;border-color:transparent var(--bg-tooltip-primary) transparent transparent}:host.tooltip-right-top:after{top:10%;right:100%;margin-top:-5px;border-width:5px;border-color:transparent var(--bg-tooltip-primary) transparent transparent}:host.tooltip-right-bottom:after{top:90%;right:100%;margin-top:-5px;border-width:5px;border-color:transparent var(--bg-tooltip-primary) transparent transparent}:host.tooltip-light:after{display:none}:host.tooltip-light{border:1px solid rgba(0,0,0,.06);background-color:#fff;color:#000}:host.tooltip-light .tooltip-arrow{position:absolute;width:10px;height:10px;transform:rotate(135deg);background-color:#00000012}:host.tooltip-light .tooltip-arrow:after{background-color:#fff;content:\"\";display:block;position:absolute;width:10px;height:10px}:host.tooltip-top.tooltip-light{margin-top:-2px}:host.tooltip-top.tooltip-light .tooltip-arrow{top:100%;left:50%;margin-top:-4px;margin-left:-5px;background:linear-gradient(to bottom left,rgba(0,0,0,.07) 50%,transparent 50%)}:host.tooltip-top.tooltip-light .tooltip-arrow:after{top:1px;right:1px}:host.tooltip-bottom.tooltip-light .tooltip-arrow{bottom:100%;left:50%;margin-bottom:-4px;margin-left:-5px;background:linear-gradient(to top right,rgba(0,0,0,.1) 50%,transparent 50%)}:host.tooltip-bottom.tooltip-light .tooltip-arrow:after{top:-1px;right:-1px}:host.tooltip-left.tooltip-light .tooltip-arrow{top:50%;left:100%;margin-top:-5px;margin-left:-4px;background:linear-gradient(to bottom right,rgba(0,0,0,.07) 50%,transparent 50%)}:host.tooltip-left.tooltip-light .tooltip-arrow:after{top:1px;right:-1px}:host.tooltip-right.tooltip-light .tooltip-arrow{top:50%;right:100%;margin-top:-5px;margin-right:-4px;background:linear-gradient(to top left,rgba(0,0,0,.07) 50%,transparent 50%)}:host.tooltip-right.tooltip-light .tooltip-arrow:after{top:-1px;right:1px}\n"], dependencies: [{ kind: "directive", type: i1$1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i1$1.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }] }); }
1604
1603
  }
1605
1604
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: GravityTooltipComponent, decorators: [{
1606
1605
  type: Component,
1607
- args: [{ selector: 'tooltip', host: { 'class': 'tooltip' }, template: "<div *ngIf=\"isThemeLight\" class=\"tooltip-arrow\"></div>\n\n<div *ngIf=\"options['contentType'] === 'template' else htmlOrStringTemplate\">\n <ng-container *ngTemplateOutlet=\"value\"></ng-container>\n</div>\n\n<ng-template #htmlOrStringTemplate>\n <div [innerHTML]=\"value\"></div>\n</ng-template>\n", styles: [":host{max-width:200px;background-color:var(--bg-tooltip-primary);color:var(--on-bg-tooltip-primary);text-align:center;border-radius:6px;padding:5px 8px;position:absolute;pointer-events:none;z-index:1000;display:block;opacity:0;transition:opacity .3s;top:0;left:0}:host.tooltip-show{opacity:1}:host.tooltip-shadow{box-shadow:0 7px 15px -5px #0006}:host.tooltip-light.tooltip-shadow{box-shadow:0 5px 15px -5px #0006}:host.tooltip:after{content:\"\";position:absolute;border-style:solid}:host.tooltip-top:after{top:100%;left:50%;margin-left:-5px;border-width:5px;border-color:var(--bg-tooltip-primary) transparent transparent transparent}:host.tooltip-top-left:after{top:100%;left:10%;margin-left:-5px;border-width:5px;border-color:var(--bg-tooltip-primary) transparent transparent transparent}:host.tooltip-top-right:after{top:100%;left:90%;margin-left:-5px;border-width:5px;border-color:var(--bg-tooltip-primary) transparent transparent transparent}:host.tooltip-bottom:after{bottom:100%;left:50%;margin-left:-5px;border-width:5px;border-color:transparent transparent var(--bg-tooltip-primary) transparent}:host.tooltip-bottom-left:after{bottom:100%;left:10%;margin-left:-5px;border-width:5px;border-color:transparent transparent var(--bg-tooltip-primary) transparent}:host.tooltip-bottom-right:after{bottom:100%;left:90%;margin-left:-5px;border-width:5px;border-color:transparent transparent var(--bg-tooltip-primary) transparent}:host.tooltip-left:after{top:50%;left:100%;margin-top:-5px;border-width:5px;border-color:transparent transparent transparent var(--bg-tooltip-primary)}:host.tooltip-left-top:after{top:10%;left:100%;margin-top:-5px;border-width:5px;border-color:transparent transparent transparent var(--bg-tooltip-primary)}:host.tooltip-left-bottom:after{top:90%;left:100%;margin-top:-5px;border-width:5px;border-color:transparent transparent transparent var(--bg-tooltip-primary)}:host.tooltip-right:after{top:50%;right:100%;margin-top:-5px;border-width:5px;border-color:transparent var(--bg-tooltip-primary) transparent transparent}:host.tooltip-right-top:after{top:10%;right:100%;margin-top:-5px;border-width:5px;border-color:transparent var(--bg-tooltip-primary) transparent transparent}:host.tooltip-right-bottom:after{top:90%;right:100%;margin-top:-5px;border-width:5px;border-color:transparent var(--bg-tooltip-primary) transparent transparent}:host.tooltip-light:after{display:none}:host.tooltip-light{border:1px solid rgba(0,0,0,.06);background-color:#fff;color:#000}:host.tooltip-light .tooltip-arrow{position:absolute;width:10px;height:10px;transform:rotate(135deg);background-color:#00000012}:host.tooltip-light .tooltip-arrow:after{background-color:#fff;content:\"\";display:block;position:absolute;width:10px;height:10px}:host.tooltip-top.tooltip-light{margin-top:-2px}:host.tooltip-top.tooltip-light .tooltip-arrow{top:100%;left:50%;margin-top:-4px;margin-left:-5px;background:linear-gradient(to bottom left,rgba(0,0,0,.07) 50%,transparent 50%)}:host.tooltip-top.tooltip-light .tooltip-arrow:after{top:1px;right:1px}:host.tooltip-bottom.tooltip-light .tooltip-arrow{bottom:100%;left:50%;margin-bottom:-4px;margin-left:-5px;background:linear-gradient(to top right,rgba(0,0,0,.1) 50%,transparent 50%)}:host.tooltip-bottom.tooltip-light .tooltip-arrow:after{top:-1px;right:-1px}:host.tooltip-left.tooltip-light .tooltip-arrow{top:50%;left:100%;margin-top:-5px;margin-left:-4px;background:linear-gradient(to bottom right,rgba(0,0,0,.07) 50%,transparent 50%)}:host.tooltip-left.tooltip-light .tooltip-arrow:after{top:1px;right:-1px}:host.tooltip-right.tooltip-light .tooltip-arrow{top:50%;right:100%;margin-top:-5px;margin-right:-4px;background:linear-gradient(to top left,rgba(0,0,0,.07) 50%,transparent 50%)}:host.tooltip-right.tooltip-light .tooltip-arrow:after{top:-1px;right:1px}\n"] }]
1606
+ args: [{ selector: 'tooltip', host: { 'class': 'tooltip' }, template: "<div *ngIf=\"isThemeLight\" class=\"tooltip-arrow\"></div>\n\n<!--Si el contentType es template, se usa el ngTemplate sino usa el htmlOrStringTemplate-->\n<div *ngIf=\"options['contentType'] === 'template' else htmlOrStringTemplate\">\n <ng-container *ngTemplateOutlet=\"value\"></ng-container>\n</div>\n\n<ng-template #htmlOrStringTemplate>\n <div [innerHTML]=\"value\"></div>\n</ng-template>\n", styles: [":host{position:absolute;z-index:1000;display:block;opacity:0;transition:opacity .3s;top:0;left:0;border-radius:5px}:host.tooltip-show{opacity:1}:host.tooltip-shadow{box-shadow:0 4px 10px #151c2938}:host.tooltip-light.tooltip-shadow{box-shadow:0 4px 10px #151c2938}:host.tooltip-no-pointer{pointer-events:none}:host.tooltip:after{content:\"\";position:absolute;border-style:solid}:host.tooltip-top:after{top:100%;left:50%;margin-left:-5px;border-width:5px;border-color:var(--bg-tooltip-primary) transparent transparent transparent}:host.tooltip-top-left:after{top:100%;left:10%;margin-left:-5px;border-width:5px;border-color:var(--bg-tooltip-primary) transparent transparent transparent}:host.tooltip-top-right:after{top:100%;left:90%;margin-left:-5px;border-width:5px;border-color:var(--bg-tooltip-primary) transparent transparent transparent}:host.tooltip-bottom:after{bottom:100%;left:50%;margin-left:-5px;border-width:5px;border-color:transparent transparent var(--bg-tooltip-primary) transparent}:host.tooltip-bottom-left:after{bottom:100%;left:10%;margin-left:-5px;border-width:5px;border-color:transparent transparent var(--bg-tooltip-primary) transparent}:host.tooltip-bottom-right:after{bottom:100%;left:90%;margin-left:-5px;border-width:5px;border-color:transparent transparent var(--bg-tooltip-primary) transparent}:host.tooltip-left:after{top:50%;left:100%;margin-top:-5px;border-width:5px;border-color:transparent transparent transparent var(--bg-tooltip-primary)}:host.tooltip-left-top:after{top:10%;left:100%;margin-top:-5px;border-width:5px;border-color:transparent transparent transparent var(--bg-tooltip-primary)}:host.tooltip-left-bottom:after{top:90%;left:100%;margin-top:-5px;border-width:5px;border-color:transparent transparent transparent var(--bg-tooltip-primary)}:host.tooltip-right:after{top:50%;right:100%;margin-top:-5px;border-width:5px;border-color:transparent var(--bg-tooltip-primary) transparent transparent}:host.tooltip-right-top:after{top:10%;right:100%;margin-top:-5px;border-width:5px;border-color:transparent var(--bg-tooltip-primary) transparent transparent}:host.tooltip-right-bottom:after{top:90%;right:100%;margin-top:-5px;border-width:5px;border-color:transparent var(--bg-tooltip-primary) transparent transparent}:host.tooltip-light:after{display:none}:host.tooltip-light{border:1px solid rgba(0,0,0,.06);background-color:#fff;color:#000}:host.tooltip-light .tooltip-arrow{position:absolute;width:10px;height:10px;transform:rotate(135deg);background-color:#00000012}:host.tooltip-light .tooltip-arrow:after{background-color:#fff;content:\"\";display:block;position:absolute;width:10px;height:10px}:host.tooltip-top.tooltip-light{margin-top:-2px}:host.tooltip-top.tooltip-light .tooltip-arrow{top:100%;left:50%;margin-top:-4px;margin-left:-5px;background:linear-gradient(to bottom left,rgba(0,0,0,.07) 50%,transparent 50%)}:host.tooltip-top.tooltip-light .tooltip-arrow:after{top:1px;right:1px}:host.tooltip-bottom.tooltip-light .tooltip-arrow{bottom:100%;left:50%;margin-bottom:-4px;margin-left:-5px;background:linear-gradient(to top right,rgba(0,0,0,.1) 50%,transparent 50%)}:host.tooltip-bottom.tooltip-light .tooltip-arrow:after{top:-1px;right:-1px}:host.tooltip-left.tooltip-light .tooltip-arrow{top:50%;left:100%;margin-top:-5px;margin-left:-4px;background:linear-gradient(to bottom right,rgba(0,0,0,.07) 50%,transparent 50%)}:host.tooltip-left.tooltip-light .tooltip-arrow:after{top:1px;right:-1px}:host.tooltip-right.tooltip-light .tooltip-arrow{top:50%;right:100%;margin-top:-5px;margin-right:-4px;background:linear-gradient(to top left,rgba(0,0,0,.07) 50%,transparent 50%)}:host.tooltip-right.tooltip-light .tooltip-arrow:after{top:-1px;right:1px}\n"] }]
1608
1607
  }], ctorParameters: function () { return [{ type: i0.ElementRef }, { type: i0.Renderer2 }]; }, propDecorators: { data: [{
1609
1608
  type: Input
1610
1609
  }], hostStyleTop: [{
@@ -1637,6 +1636,9 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImpo
1637
1636
  }], hostClassLight: [{
1638
1637
  type: HostBinding,
1639
1638
  args: ['class.tooltip-light']
1639
+ }], hostClassNoPointer: [{
1640
+ type: HostBinding,
1641
+ args: ['class.tooltip-no-pointer']
1640
1642
  }], transitionEnd: [{
1641
1643
  type: HostListener,
1642
1644
  args: ['transitionend', ['$event']]
@@ -1825,6 +1827,7 @@ class GravityTooltipDirective {
1825
1827
  this.injector = injector;
1826
1828
  this._options = {};
1827
1829
  this._contentType = "string";
1830
+ this.persistent = false;
1828
1831
  this.events = new EventEmitter();
1829
1832
  }
1830
1833
  onMouseEnter() {
@@ -1834,7 +1837,7 @@ class GravityTooltipDirective {
1834
1837
  this.show();
1835
1838
  }
1836
1839
  onMouseLeave() {
1837
- if (this.options['trigger'] === 'hover') {
1840
+ if (this.options['trigger'] === 'hover' && !this.persistent) {
1838
1841
  this.destroyTooltip();
1839
1842
  }
1840
1843
  }
@@ -1843,9 +1846,11 @@ class GravityTooltipDirective {
1843
1846
  return;
1844
1847
  }
1845
1848
  this.show();
1846
- this.hideAfterClickTimeoutId = window.setTimeout(() => {
1847
- this.destroyTooltip();
1848
- }, this.options['hideDelayAfterClick']);
1849
+ if (!this.persistent) {
1850
+ this.hideAfterClickTimeoutId = window.setTimeout(() => {
1851
+ this.destroyTooltip();
1852
+ }, this.options['hideDelayAfterClick']);
1853
+ }
1849
1854
  }
1850
1855
  ngOnChanges(changes) {
1851
1856
  this.initOptions = this.renameProperties(this.initOptions);
@@ -1909,6 +1914,9 @@ class GravityTooltipDirective {
1909
1914
  destroyTooltip(options = {
1910
1915
  fast: false
1911
1916
  }) {
1917
+ if (this.persistent) {
1918
+ return;
1919
+ }
1912
1920
  this.clearTimeouts();
1913
1921
  if (this.isTooltipDestroyed == false) {
1914
1922
  this.hideTimeoutId = window.setTimeout(() => {
@@ -2032,8 +2040,15 @@ class GravityTooltipDirective {
2032
2040
  hide() {
2033
2041
  this.destroyTooltip();
2034
2042
  }
2043
+ closeFromOutside() {
2044
+ if (!this.componentRef || this.isTooltipDestroyed) {
2045
+ return;
2046
+ }
2047
+ this.componentRef.instance.closeTooltip();
2048
+ this.destroyTooltip({ fast: true });
2049
+ }
2035
2050
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: GravityTooltipDirective, deps: [{ token: TooltipOptionsService, optional: true }, { token: i0.ElementRef }, { token: i0.ComponentFactoryResolver }, { token: i0.ApplicationRef }, { token: i0.Injector }], target: i0.ɵɵFactoryTarget.Directive }); }
2036
- static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "16.2.12", type: GravityTooltipDirective, selector: "[tooltip]", inputs: { options: "options", tooltipValue: ["tooltip", "tooltipValue"], placement: "placement", autoPlacement: "autoPlacement", contentTypeBackwardCompatibility: ["content-type", "contentTypeBackwardCompatibility"], contentType: "contentType", hideDelayMobile: ["hide-delay-mobile", "hideDelayMobile"], hideDelayTouchscreen: "hideDelayTouchscreen", zIndexBackwardCompatibility: ["z-index", "zIndexBackwardCompatibility"], zIndex: "zIndex", animationDurationBackwardCompatibility: ["animation-duration", "animationDurationBackwardCompatibility"], animationDuration: "animationDuration", trigger: "trigger", tooltipClassBackwardCompatibility: ["tooltip-class", "tooltipClassBackwardCompatibility"], tooltipClass: "tooltipClass", display: "display", displayMobile: ["display-mobile", "displayMobile"], displayTouchscreen: "displayTouchscreen", shadow: "shadow", theme: "theme", offset: "offset", width: "width", maxWidthBackwardCompatibility: ["max-width", "maxWidthBackwardCompatibility"], maxWidth: "maxWidth", id: "id", showDelayBackwardCompatibility: ["show-delay", "showDelayBackwardCompatibility"], showDelay: "showDelay", hideDelayBackwardCompatibility: ["hide-delay", "hideDelayBackwardCompatibility"], hideDelay: "hideDelay", hideDelayAfterClick: "hideDelayAfterClick", pointerEvents: "pointerEvents", position: "position" }, outputs: { events: "events" }, host: { listeners: { "focusin": "onMouseEnter()", "mouseenter": "onMouseEnter()", "focusout": "onMouseLeave()", "mouseleave": "onMouseLeave()", "click": "onClick()" } }, exportAs: ["tooltip"], usesOnChanges: true, ngImport: i0 }); }
2051
+ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "16.2.12", type: GravityTooltipDirective, selector: "[tooltip]", inputs: { options: "options", tooltipValue: ["tooltip", "tooltipValue"], placement: "placement", autoPlacement: "autoPlacement", contentTypeBackwardCompatibility: ["content-type", "contentTypeBackwardCompatibility"], contentType: "contentType", hideDelayMobile: ["hide-delay-mobile", "hideDelayMobile"], hideDelayTouchscreen: "hideDelayTouchscreen", zIndexBackwardCompatibility: ["z-index", "zIndexBackwardCompatibility"], zIndex: "zIndex", animationDurationBackwardCompatibility: ["animation-duration", "animationDurationBackwardCompatibility"], animationDuration: "animationDuration", trigger: "trigger", tooltipClassBackwardCompatibility: ["tooltip-class", "tooltipClassBackwardCompatibility"], tooltipClass: "tooltipClass", display: "display", displayMobile: ["display-mobile", "displayMobile"], displayTouchscreen: "displayTouchscreen", shadow: "shadow", theme: "theme", offset: "offset", width: "width", persistent: "persistent", maxWidthBackwardCompatibility: ["max-width", "maxWidthBackwardCompatibility"], maxWidth: "maxWidth", id: "id", showDelayBackwardCompatibility: ["show-delay", "showDelayBackwardCompatibility"], showDelay: "showDelay", hideDelayBackwardCompatibility: ["hide-delay", "hideDelayBackwardCompatibility"], hideDelay: "hideDelay", hideDelayAfterClick: "hideDelayAfterClick", pointerEvents: "pointerEvents", position: "position" }, outputs: { events: "events" }, host: { listeners: { "focusin": "onMouseEnter()", "mouseenter": "onMouseEnter()", "focusout": "onMouseLeave()", "mouseleave": "onMouseLeave()", "click": "onClick()" } }, exportAs: ["tooltip"], usesOnChanges: true, ngImport: i0 }); }
2037
2052
  }
2038
2053
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: GravityTooltipDirective, decorators: [{
2039
2054
  type: Directive,
@@ -2112,6 +2127,9 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImpo
2112
2127
  }], width: [{
2113
2128
  type: Input,
2114
2129
  args: ['width']
2130
+ }], persistent: [{
2131
+ type: Input,
2132
+ args: ['persistent']
2115
2133
  }], maxWidthBackwardCompatibility: [{
2116
2134
  type: Input,
2117
2135
  args: ['max-width']
@@ -7900,6 +7918,42 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImpo
7900
7918
  type: Output
7901
7919
  }] } });
7902
7920
 
7921
+ class GravityTooltipContainerComponent {
7922
+ constructor() {
7923
+ this.closeBanner = new EventEmitter();
7924
+ this.actionButton = new EventEmitter();
7925
+ this.currentPage = 1;
7926
+ }
7927
+ get currentBanner() {
7928
+ return this.tooltipBanner[this.currentPage - 1] ?? null;
7929
+ }
7930
+ changePage(event) {
7931
+ this.currentPage = event.page;
7932
+ }
7933
+ closeBannerTooltip() {
7934
+ this.closeBanner.emit();
7935
+ }
7936
+ actionButtonClicked() {
7937
+ this.actionButton.emit();
7938
+ }
7939
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: GravityTooltipContainerComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
7940
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: GravityTooltipContainerComponent, selector: "gravity-tooltip-container", inputs: { cypressTag: "cypressTag", tooltipBanner: "tooltipBanner", tooltipSimple: "tooltipSimple" }, outputs: { closeBanner: "closeBanner", actionButton: "actionButton" }, ngImport: i0, template: "<!--Tooltip Banner-->\n<div class=\"gravity-tooltip-container banner\" *ngIf=\"tooltipBanner\">\n <div class=\"top-container\" *ngIf=\"currentBanner?.imageUrl\"\n [ngStyle]=\"{ 'background-image': currentBanner.imageUrl ? 'url(' + currentBanner.imageUrl + ')' : 'none' }\">\n <div class=\"actions-container\">\n <gravity-status-indicator *ngIf=\"currentBanner.actionContent\" [size]=\"'sm'\"\n [text]=\"currentBanner.actionContent.text\"\n [icon]=\"currentBanner.actionContent.icon\"\n [status]=\"currentBanner.actionContent.status\"></gravity-status-indicator>\n <gravity-icon-button [icon]=\"'unsuccess'\" [type]=\"'secondary'\" (click)=\"closeBannerTooltip()\"></gravity-icon-button>\n </div>\n </div>\n\n <div class=\"bottom-container\">\n <div class=\"body\">\n <div class=\"header\">\n <div class=\"title\">\n <gravity-icon *ngIf=\"currentBanner.header.icon\" [iconName]=\"currentBanner.header.icon\"\n [iconSize]=\"'md-16'\"></gravity-icon>\n <p class=\"hr-title md-bold\" *ngIf=\"currentBanner.header.title\" [innerHTML]=\"currentBanner.header.title\"></p>\n <gravity-icon-button *ngIf=\"!currentBanner.imageUrl\" [icon]=\"'unsuccess'\"\n [type]=\"'primary'\" (click)=\"closeBannerTooltip()\"></gravity-icon-button>\n </div>\n <p class=\"hr-body sm-regular subtitle\" *ngIf=\"currentBanner.header.subtitle\"\n [innerHTML]=\"currentBanner.header.subtitle\"></p>\n </div>\n <hr class=\"divider\">\n <p class=\"hr-body sm-regular\" *ngIf=\"currentBanner.body\" [innerHTML]=\"currentBanner.body\"></p>\n </div>\n\n <gravity-button *ngIf=\"currentBanner.button\" [type]=\"currentBanner.button.type\" [size]=\"'sm'\"\n [iconName]=\"currentBanner.button.icon\" (click)=\"actionButtonClicked()\"\n [iconPosition]=\"currentBanner.button.iconPosition\">{{ currentBanner.button.text }}\n </gravity-button>\n\n <gravity-pagination *ngIf=\"tooltipBanner.length > 1\" [totalItems]=\"tooltipBanner.length\" [itemsPerPage]=\"1\"\n [currentPage]=\"currentPage\"\n [type]=\"'dots'\" (pageChanged)=\"changePage($event)\"></gravity-pagination>\n </div>\n</div>\n\n<!--Tooltip Simple-->\n<div class=\"gravity-tooltip-container simple\" *ngIf=\"tooltipSimple\">\n <p class=\"hr-body sm-bold\" *ngIf=\"tooltipSimple?.title\" [innerHTML]=\"tooltipSimple?.title\"></p>\n <p class=\"hr-body sm-regular\" *ngIf=\"tooltipSimple?.text\" [innerHTML]=\"tooltipSimple?.text\"></p>\n</div>", styles: [":root{--gravity-spacing-none: 0;--gravity-spacing-xxxs: .125rem;--gravity-spacing-xxs: .25rem;--gravity-spacing-xs: .5rem;--gravity-spacing-sm: 1rem;--gravity-spacing-md: 1.5rem;--gravity-spacing-lg: 2rem;--gravity-spacing-xl: 2.5rem;--gravity-spacing-xxl: 3rem;--gravity-spacing-xxxl: 4rem;--gravity-spacing-xxxxl: 6rem;--gravity-spacing-xxxxxl: 12rem}.gravity-padding-none{padding:0!important}.gravity-padding-top-none{padding-top:0!important}.gravity-padding-bottom-none{padding-bottom:0!important}.gravity-padding-left-none{padding-left:0!important}.gravity-padding-right-none{padding-right:0!important}.gravity-padding-block-none{padding-block:0!important}.gravity-padding-inline-none{padding-inline:0!important}.gravity-padding-xxs{padding:.25rem!important}.gravity-padding-top-xxs{padding-top:.25rem!important}.gravity-padding-bottom-xxs{padding-bottom:.25rem!important}.gravity-padding-left-xxs{padding-left:.25rem!important}.gravity-padding-right-xxs{padding-right:.25rem!important}.gravity-padding-block-xxs{padding-block:.25rem!important}.gravity-padding-inline-xxs{padding-inline:.25rem!important}.gravity-padding-xs{padding:.5rem!important}.gravity-padding-top-xs{padding-top:.5rem!important}.gravity-padding-bottom-xs{padding-bottom:.5rem!important}.gravity-padding-left-xs{padding-left:.5rem!important}.gravity-padding-right-xs{padding-right:.5rem!important}.gravity-padding-block-xs{padding-block:.5rem!important}.gravity-padding-inline-xs{padding-inline:.5rem!important}.gravity-padding-sm{padding:1rem!important}.gravity-padding-top-sm{padding-top:1rem!important}.gravity-padding-bottom-sm{padding-bottom:1rem!important}.gravity-padding-left-sm{padding-left:1rem!important}.gravity-padding-right-sm{padding-right:1rem!important}.gravity-padding-block-sm{padding-block:1rem!important}.gravity-padding-inline-sm{padding-inline:1rem!important}.gravity-padding-md{padding:1.5rem!important}.gravity-padding-top-md{padding-top:1.5rem!important}.gravity-padding-bottom-md{padding-bottom:1.5rem!important}.gravity-padding-left-md{padding-left:1.5rem!important}.gravity-padding-right-md{padding-right:1.5rem!important}.gravity-padding-block-md{padding-block:1.5rem!important}.gravity-padding-inline-md{padding-inline:1.5rem!important}.gravity-padding-lg{padding:2rem!important}.gravity-padding-top-lg{padding-top:2rem!important}.gravity-padding-bottom-lg{padding-bottom:2rem!important}.gravity-padding-left-lg{padding-left:2rem!important}.gravity-padding-right-lg{padding-right:2rem!important}.gravity-padding-block-lg{padding-block:2rem!important}.gravity-padding-inline-lg{padding-inline:2rem!important}.gravity-padding-xl{padding:2.5rem!important}.gravity-padding-top-xl{padding-top:2.5rem!important}.gravity-padding-bottom-xl{padding-bottom:2.5rem!important}.gravity-padding-left-xl{padding-left:2.5rem!important}.gravity-padding-right-xl{padding-right:2.5rem!important}.gravity-padding-block-xl{padding-block:2.5rem!important}.gravity-padding-inline-xl{padding-inline:2.5rem!important}.gravity-padding-xxl{padding:3rem!important}.gravity-padding-top-xxl{padding-top:3rem!important}.gravity-padding-bottom-xxl{padding-bottom:3rem!important}.gravity-padding-left-xxl{padding-left:3rem!important}.gravity-padding-right-xxl{padding-right:3rem!important}.gravity-padding-block-xxl{padding-block:3rem!important}.gravity-padding-inline-xxl{padding-inline:3rem!important}.gravity-padding-xxxl{padding:4rem!important}.gravity-padding-top-xxxl{padding-top:4rem!important}.gravity-padding-bottom-xxxl{padding-bottom:4rem!important}.gravity-padding-left-xxxl{padding-left:4rem!important}.gravity-padding-right-xxxl{padding-right:4rem!important}.gravity-padding-block-xxxl{padding-block:4rem!important}.gravity-padding-inline-xxxl{padding-inline:4rem!important}.gravity-padding-xxxxl{padding:6rem!important}.gravity-padding-top-xxxxl{padding-top:6rem!important}.gravity-padding-bottom-xxxxl{padding-bottom:6rem!important}.gravity-padding-left-xxxxl{padding-left:6rem!important}.gravity-padding-right-xxxxl{padding-right:6rem!important}.gravity-padding-block-xxxxl{padding-block:6rem!important}.gravity-padding-inline-xxxxl{padding-inline:6rem!important}.gravity-padding-xxxxxl{padding:12rem!important}.gravity-padding-top-xxxxxl{padding-top:12rem!important}.gravity-padding-bottom-xxxxxl{padding-bottom:12rem!important}.gravity-padding-left-xxxxxl{padding-left:12rem!important}.gravity-padding-right-xxxxxl{padding-right:12rem!important}.gravity-padding-block-xxxxxl{padding-block:12rem!important}.gravity-padding-inline-xxxxxl{padding-inline:12rem!important}.gravity-margin-none{margin:0!important}.gravity-margin-top-none{margin-top:0!important}.gravity-margin-bottom-none{margin-bottom:0!important}.gravity-margin-left-none{margin-left:0!important}.gravity-margin-right-none{margin-right:0!important}.gravity-margin-block-none{margin-block:0!important}.gravity-margin-inline-none{margin-inline:0!important}.gravity-margin-xxs{margin:.25rem!important}.gravity-margin-top-xxs{margin-top:.25rem!important}.gravity-margin-bottom-xxs{margin-bottom:.25rem!important}.gravity-margin-left-xxs{margin-left:.25rem!important}.gravity-margin-right-xxs{margin-right:.25rem!important}.gravity-margin-block-xxs{margin-block:.25rem!important}.gravity-margin-inline-xxs{margin-inline:.25rem!important}.gravity-margin-xs{margin:.5rem!important}.gravity-margin-top-xs{margin-top:.5rem!important}.gravity-margin-bottom-xs{margin-bottom:.5rem!important}.gravity-margin-left-xs{margin-left:.5rem!important}.gravity-margin-right-xs{margin-right:.5rem!important}.gravity-margin-block-xs{margin-block:.5rem!important}.gravity-margin-inline-xs{margin-inline:.5rem!important}.gravity-margin-sm{margin:1rem!important}.gravity-margin-top-sm{margin-top:1rem!important}.gravity-margin-bottom-sm{margin-bottom:1rem!important}.gravity-margin-left-sm{margin-left:1rem!important}.gravity-margin-right-sm{margin-right:1rem!important}.gravity-margin-block-sm{margin-block:1rem!important}.gravity-margin-inline-sm{margin-inline:1rem!important}.gravity-margin-md{margin:1.5rem!important}.gravity-margin-top-md{margin-top:1.5rem!important}.gravity-margin-bottom-md{margin-bottom:1.5rem!important}.gravity-margin-left-md{margin-left:1.5rem!important}.gravity-margin-right-md{margin-right:1.5rem!important}.gravity-margin-block-md{margin-block:1.5rem!important}.gravity-margin-inline-md{margin-inline:1.5rem!important}.gravity-margin-lg{margin:2rem!important}.gravity-margin-top-lg{margin-top:2rem!important}.gravity-margin-bottom-lg{margin-bottom:2rem!important}.gravity-margin-left-lg{margin-left:2rem!important}.gravity-margin-right-lg{margin-right:2rem!important}.gravity-margin-block-lg{margin-block:2rem!important}.gravity-margin-inline-lg{margin-inline:2rem!important}.gravity-margin-xl{margin:2.5rem!important}.gravity-margin-top-xl{margin-top:2.5rem!important}.gravity-margin-bottom-xl{margin-bottom:2.5rem!important}.gravity-margin-left-xl{margin-left:2.5rem!important}.gravity-margin-right-xl{margin-right:2.5rem!important}.gravity-margin-block-xl{margin-block:2.5rem!important}.gravity-margin-inline-xl{margin-inline:2.5rem!important}.gravity-margin-xxl{margin:3rem!important}.gravity-margin-top-xxl{margin-top:3rem!important}.gravity-margin-bottom-xxl{margin-bottom:3rem!important}.gravity-margin-left-xxl{margin-left:3rem!important}.gravity-margin-right-xxl{margin-right:3rem!important}.gravity-margin-block-xxl{margin-block:3rem!important}.gravity-margin-inline-xxl{margin-inline:3rem!important}.gravity-margin-xxxl{margin:4rem!important}.gravity-margin-top-xxxl{margin-top:4rem!important}.gravity-margin-bottom-xxxl{margin-bottom:4rem!important}.gravity-margin-left-xxxl{margin-left:4rem!important}.gravity-margin-right-xxxl{margin-right:4rem!important}.gravity-margin-block-xxxl{margin-block:4rem!important}.gravity-margin-inline-xxxl{margin-inline:4rem!important}.gravity-margin-xxxxl{margin:6rem!important}.gravity-margin-top-xxxxl{margin-top:6rem!important}.gravity-margin-bottom-xxxxl{margin-bottom:6rem!important}.gravity-margin-left-xxxxl{margin-left:6rem!important}.gravity-margin-right-xxxxl{margin-right:6rem!important}.gravity-margin-block-xxxxl{margin-block:6rem!important}.gravity-margin-inline-xxxxl{margin-inline:6rem!important}.gravity-margin-xxxxxl{margin:12rem!important}.gravity-margin-top-xxxxxl{margin-top:12rem!important}.gravity-margin-bottom-xxxxxl{margin-bottom:12rem!important}.gravity-margin-left-xxxxxl{margin-left:12rem!important}.gravity-margin-right-xxxxxl{margin-right:12rem!important}.gravity-margin-block-xxxxxl{margin-block:12rem!important}.gravity-margin-inline-xxxxxl{margin-inline:12rem!important}.border-radius-none{border-radius:0}.border-radius-xs{border-radius:.0625rem}.border-radius-sm{border-radius:.3125rem}.border-radius-md{border-radius:.625rem}.border-radius-lg{border-radius:.9375rem}.border-radius-xl{border-radius:1.25rem}.border-radius-xxl{border-radius:2rem}.border-radius-rounded{border-radius:6.25rem}.gravity-tooltip-container{display:flex;flex-direction:column;border-radius:.3125rem;background:var(--color-surface-surface-secondary, #FFF);box-shadow:0 4px 10px #151c2938}.gravity-tooltip-container.banner{width:400px;min-width:400px;max-width:600px}.gravity-tooltip-container.simple{padding:var(--gravity-spacing-xs);justify-content:center;align-items:flex-start;gap:var(--gravity-spacing-xs);width:-moz-fit-content;width:fit-content}.top-container{height:229px;width:100%;border-radius:5px 5px 0 0;background-repeat:no-repeat;background-size:cover;background-position:center}.top-container .actions-container{display:flex;padding:var(--gravity-spacing-sm);justify-content:space-between;align-items:center;align-self:stretch}.bottom-container{display:flex;padding:var(--gravity-spacing-md) var(--gravity-spacing-sm);flex-direction:column;align-items:flex-start;gap:var(--gravity-spacing-md);align-self:stretch}.bottom-container .body{display:flex;flex-direction:column;align-items:flex-start;gap:var(--gravity-spacing-sm);align-self:stretch}.bottom-container .body .header{display:flex;flex-direction:column;gap:var(--gravity-spacing-xs);width:100%}.bottom-container .body .header .title{display:flex;gap:var(--gravity-spacing-xs);align-items:baseline}.bottom-container .body .header .title p{width:100%}.bottom-container .body .header .subtitle{margin-left:var(--gravity-spacing-md)}.bottom-container .body hr.divider{width:100%;border:none;border-top:1px solid var(--cta-primary)}.bottom-container gravity-button{margin-left:auto}.bottom-container gravity-pagination{width:-moz-fit-content;width:fit-content;display:block;margin-inline:auto}\n"], dependencies: [{ kind: "directive", type: i1$1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i1$1.NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }, { kind: "component", type: GravityButtonComponent, selector: "gravity-button", inputs: ["cypressTag", "disabled", "iconName", "isLoading", "showContent", "size", "iconPosition", "customState", "type"] }, { kind: "component", type: GravityIconButtonComponent, selector: "gravity-icon-button", inputs: ["cypressTag", "icon", "supportText", "variant", "size", "type", "state", "badge"], outputs: ["clickOnIcon"] }, { kind: "component", type: GravityIconComponent, selector: "gravity-icon", inputs: ["customIconColorVariable", "iconName", "iconSize", "hoverIcon", "size", "isCoin"] }, { kind: "component", type: GravityStatusIndicatorComponent, selector: "gravity-status-indicator", inputs: ["icon", "text", "cypressTag", "size", "type", "status"] }, { kind: "component", type: GravityPaginationComponent, selector: "gravity-pagination", inputs: ["currentLang", "cypressTag", "totalItems", "itemsPerPage", "currentPage", "type", "showPageCount", "showArrowDots"], outputs: ["pageChanged"] }] }); }
7941
+ }
7942
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: GravityTooltipContainerComponent, decorators: [{
7943
+ type: Component,
7944
+ args: [{ selector: 'gravity-tooltip-container', template: "<!--Tooltip Banner-->\n<div class=\"gravity-tooltip-container banner\" *ngIf=\"tooltipBanner\">\n <div class=\"top-container\" *ngIf=\"currentBanner?.imageUrl\"\n [ngStyle]=\"{ 'background-image': currentBanner.imageUrl ? 'url(' + currentBanner.imageUrl + ')' : 'none' }\">\n <div class=\"actions-container\">\n <gravity-status-indicator *ngIf=\"currentBanner.actionContent\" [size]=\"'sm'\"\n [text]=\"currentBanner.actionContent.text\"\n [icon]=\"currentBanner.actionContent.icon\"\n [status]=\"currentBanner.actionContent.status\"></gravity-status-indicator>\n <gravity-icon-button [icon]=\"'unsuccess'\" [type]=\"'secondary'\" (click)=\"closeBannerTooltip()\"></gravity-icon-button>\n </div>\n </div>\n\n <div class=\"bottom-container\">\n <div class=\"body\">\n <div class=\"header\">\n <div class=\"title\">\n <gravity-icon *ngIf=\"currentBanner.header.icon\" [iconName]=\"currentBanner.header.icon\"\n [iconSize]=\"'md-16'\"></gravity-icon>\n <p class=\"hr-title md-bold\" *ngIf=\"currentBanner.header.title\" [innerHTML]=\"currentBanner.header.title\"></p>\n <gravity-icon-button *ngIf=\"!currentBanner.imageUrl\" [icon]=\"'unsuccess'\"\n [type]=\"'primary'\" (click)=\"closeBannerTooltip()\"></gravity-icon-button>\n </div>\n <p class=\"hr-body sm-regular subtitle\" *ngIf=\"currentBanner.header.subtitle\"\n [innerHTML]=\"currentBanner.header.subtitle\"></p>\n </div>\n <hr class=\"divider\">\n <p class=\"hr-body sm-regular\" *ngIf=\"currentBanner.body\" [innerHTML]=\"currentBanner.body\"></p>\n </div>\n\n <gravity-button *ngIf=\"currentBanner.button\" [type]=\"currentBanner.button.type\" [size]=\"'sm'\"\n [iconName]=\"currentBanner.button.icon\" (click)=\"actionButtonClicked()\"\n [iconPosition]=\"currentBanner.button.iconPosition\">{{ currentBanner.button.text }}\n </gravity-button>\n\n <gravity-pagination *ngIf=\"tooltipBanner.length > 1\" [totalItems]=\"tooltipBanner.length\" [itemsPerPage]=\"1\"\n [currentPage]=\"currentPage\"\n [type]=\"'dots'\" (pageChanged)=\"changePage($event)\"></gravity-pagination>\n </div>\n</div>\n\n<!--Tooltip Simple-->\n<div class=\"gravity-tooltip-container simple\" *ngIf=\"tooltipSimple\">\n <p class=\"hr-body sm-bold\" *ngIf=\"tooltipSimple?.title\" [innerHTML]=\"tooltipSimple?.title\"></p>\n <p class=\"hr-body sm-regular\" *ngIf=\"tooltipSimple?.text\" [innerHTML]=\"tooltipSimple?.text\"></p>\n</div>", styles: [":root{--gravity-spacing-none: 0;--gravity-spacing-xxxs: .125rem;--gravity-spacing-xxs: .25rem;--gravity-spacing-xs: .5rem;--gravity-spacing-sm: 1rem;--gravity-spacing-md: 1.5rem;--gravity-spacing-lg: 2rem;--gravity-spacing-xl: 2.5rem;--gravity-spacing-xxl: 3rem;--gravity-spacing-xxxl: 4rem;--gravity-spacing-xxxxl: 6rem;--gravity-spacing-xxxxxl: 12rem}.gravity-padding-none{padding:0!important}.gravity-padding-top-none{padding-top:0!important}.gravity-padding-bottom-none{padding-bottom:0!important}.gravity-padding-left-none{padding-left:0!important}.gravity-padding-right-none{padding-right:0!important}.gravity-padding-block-none{padding-block:0!important}.gravity-padding-inline-none{padding-inline:0!important}.gravity-padding-xxs{padding:.25rem!important}.gravity-padding-top-xxs{padding-top:.25rem!important}.gravity-padding-bottom-xxs{padding-bottom:.25rem!important}.gravity-padding-left-xxs{padding-left:.25rem!important}.gravity-padding-right-xxs{padding-right:.25rem!important}.gravity-padding-block-xxs{padding-block:.25rem!important}.gravity-padding-inline-xxs{padding-inline:.25rem!important}.gravity-padding-xs{padding:.5rem!important}.gravity-padding-top-xs{padding-top:.5rem!important}.gravity-padding-bottom-xs{padding-bottom:.5rem!important}.gravity-padding-left-xs{padding-left:.5rem!important}.gravity-padding-right-xs{padding-right:.5rem!important}.gravity-padding-block-xs{padding-block:.5rem!important}.gravity-padding-inline-xs{padding-inline:.5rem!important}.gravity-padding-sm{padding:1rem!important}.gravity-padding-top-sm{padding-top:1rem!important}.gravity-padding-bottom-sm{padding-bottom:1rem!important}.gravity-padding-left-sm{padding-left:1rem!important}.gravity-padding-right-sm{padding-right:1rem!important}.gravity-padding-block-sm{padding-block:1rem!important}.gravity-padding-inline-sm{padding-inline:1rem!important}.gravity-padding-md{padding:1.5rem!important}.gravity-padding-top-md{padding-top:1.5rem!important}.gravity-padding-bottom-md{padding-bottom:1.5rem!important}.gravity-padding-left-md{padding-left:1.5rem!important}.gravity-padding-right-md{padding-right:1.5rem!important}.gravity-padding-block-md{padding-block:1.5rem!important}.gravity-padding-inline-md{padding-inline:1.5rem!important}.gravity-padding-lg{padding:2rem!important}.gravity-padding-top-lg{padding-top:2rem!important}.gravity-padding-bottom-lg{padding-bottom:2rem!important}.gravity-padding-left-lg{padding-left:2rem!important}.gravity-padding-right-lg{padding-right:2rem!important}.gravity-padding-block-lg{padding-block:2rem!important}.gravity-padding-inline-lg{padding-inline:2rem!important}.gravity-padding-xl{padding:2.5rem!important}.gravity-padding-top-xl{padding-top:2.5rem!important}.gravity-padding-bottom-xl{padding-bottom:2.5rem!important}.gravity-padding-left-xl{padding-left:2.5rem!important}.gravity-padding-right-xl{padding-right:2.5rem!important}.gravity-padding-block-xl{padding-block:2.5rem!important}.gravity-padding-inline-xl{padding-inline:2.5rem!important}.gravity-padding-xxl{padding:3rem!important}.gravity-padding-top-xxl{padding-top:3rem!important}.gravity-padding-bottom-xxl{padding-bottom:3rem!important}.gravity-padding-left-xxl{padding-left:3rem!important}.gravity-padding-right-xxl{padding-right:3rem!important}.gravity-padding-block-xxl{padding-block:3rem!important}.gravity-padding-inline-xxl{padding-inline:3rem!important}.gravity-padding-xxxl{padding:4rem!important}.gravity-padding-top-xxxl{padding-top:4rem!important}.gravity-padding-bottom-xxxl{padding-bottom:4rem!important}.gravity-padding-left-xxxl{padding-left:4rem!important}.gravity-padding-right-xxxl{padding-right:4rem!important}.gravity-padding-block-xxxl{padding-block:4rem!important}.gravity-padding-inline-xxxl{padding-inline:4rem!important}.gravity-padding-xxxxl{padding:6rem!important}.gravity-padding-top-xxxxl{padding-top:6rem!important}.gravity-padding-bottom-xxxxl{padding-bottom:6rem!important}.gravity-padding-left-xxxxl{padding-left:6rem!important}.gravity-padding-right-xxxxl{padding-right:6rem!important}.gravity-padding-block-xxxxl{padding-block:6rem!important}.gravity-padding-inline-xxxxl{padding-inline:6rem!important}.gravity-padding-xxxxxl{padding:12rem!important}.gravity-padding-top-xxxxxl{padding-top:12rem!important}.gravity-padding-bottom-xxxxxl{padding-bottom:12rem!important}.gravity-padding-left-xxxxxl{padding-left:12rem!important}.gravity-padding-right-xxxxxl{padding-right:12rem!important}.gravity-padding-block-xxxxxl{padding-block:12rem!important}.gravity-padding-inline-xxxxxl{padding-inline:12rem!important}.gravity-margin-none{margin:0!important}.gravity-margin-top-none{margin-top:0!important}.gravity-margin-bottom-none{margin-bottom:0!important}.gravity-margin-left-none{margin-left:0!important}.gravity-margin-right-none{margin-right:0!important}.gravity-margin-block-none{margin-block:0!important}.gravity-margin-inline-none{margin-inline:0!important}.gravity-margin-xxs{margin:.25rem!important}.gravity-margin-top-xxs{margin-top:.25rem!important}.gravity-margin-bottom-xxs{margin-bottom:.25rem!important}.gravity-margin-left-xxs{margin-left:.25rem!important}.gravity-margin-right-xxs{margin-right:.25rem!important}.gravity-margin-block-xxs{margin-block:.25rem!important}.gravity-margin-inline-xxs{margin-inline:.25rem!important}.gravity-margin-xs{margin:.5rem!important}.gravity-margin-top-xs{margin-top:.5rem!important}.gravity-margin-bottom-xs{margin-bottom:.5rem!important}.gravity-margin-left-xs{margin-left:.5rem!important}.gravity-margin-right-xs{margin-right:.5rem!important}.gravity-margin-block-xs{margin-block:.5rem!important}.gravity-margin-inline-xs{margin-inline:.5rem!important}.gravity-margin-sm{margin:1rem!important}.gravity-margin-top-sm{margin-top:1rem!important}.gravity-margin-bottom-sm{margin-bottom:1rem!important}.gravity-margin-left-sm{margin-left:1rem!important}.gravity-margin-right-sm{margin-right:1rem!important}.gravity-margin-block-sm{margin-block:1rem!important}.gravity-margin-inline-sm{margin-inline:1rem!important}.gravity-margin-md{margin:1.5rem!important}.gravity-margin-top-md{margin-top:1.5rem!important}.gravity-margin-bottom-md{margin-bottom:1.5rem!important}.gravity-margin-left-md{margin-left:1.5rem!important}.gravity-margin-right-md{margin-right:1.5rem!important}.gravity-margin-block-md{margin-block:1.5rem!important}.gravity-margin-inline-md{margin-inline:1.5rem!important}.gravity-margin-lg{margin:2rem!important}.gravity-margin-top-lg{margin-top:2rem!important}.gravity-margin-bottom-lg{margin-bottom:2rem!important}.gravity-margin-left-lg{margin-left:2rem!important}.gravity-margin-right-lg{margin-right:2rem!important}.gravity-margin-block-lg{margin-block:2rem!important}.gravity-margin-inline-lg{margin-inline:2rem!important}.gravity-margin-xl{margin:2.5rem!important}.gravity-margin-top-xl{margin-top:2.5rem!important}.gravity-margin-bottom-xl{margin-bottom:2.5rem!important}.gravity-margin-left-xl{margin-left:2.5rem!important}.gravity-margin-right-xl{margin-right:2.5rem!important}.gravity-margin-block-xl{margin-block:2.5rem!important}.gravity-margin-inline-xl{margin-inline:2.5rem!important}.gravity-margin-xxl{margin:3rem!important}.gravity-margin-top-xxl{margin-top:3rem!important}.gravity-margin-bottom-xxl{margin-bottom:3rem!important}.gravity-margin-left-xxl{margin-left:3rem!important}.gravity-margin-right-xxl{margin-right:3rem!important}.gravity-margin-block-xxl{margin-block:3rem!important}.gravity-margin-inline-xxl{margin-inline:3rem!important}.gravity-margin-xxxl{margin:4rem!important}.gravity-margin-top-xxxl{margin-top:4rem!important}.gravity-margin-bottom-xxxl{margin-bottom:4rem!important}.gravity-margin-left-xxxl{margin-left:4rem!important}.gravity-margin-right-xxxl{margin-right:4rem!important}.gravity-margin-block-xxxl{margin-block:4rem!important}.gravity-margin-inline-xxxl{margin-inline:4rem!important}.gravity-margin-xxxxl{margin:6rem!important}.gravity-margin-top-xxxxl{margin-top:6rem!important}.gravity-margin-bottom-xxxxl{margin-bottom:6rem!important}.gravity-margin-left-xxxxl{margin-left:6rem!important}.gravity-margin-right-xxxxl{margin-right:6rem!important}.gravity-margin-block-xxxxl{margin-block:6rem!important}.gravity-margin-inline-xxxxl{margin-inline:6rem!important}.gravity-margin-xxxxxl{margin:12rem!important}.gravity-margin-top-xxxxxl{margin-top:12rem!important}.gravity-margin-bottom-xxxxxl{margin-bottom:12rem!important}.gravity-margin-left-xxxxxl{margin-left:12rem!important}.gravity-margin-right-xxxxxl{margin-right:12rem!important}.gravity-margin-block-xxxxxl{margin-block:12rem!important}.gravity-margin-inline-xxxxxl{margin-inline:12rem!important}.border-radius-none{border-radius:0}.border-radius-xs{border-radius:.0625rem}.border-radius-sm{border-radius:.3125rem}.border-radius-md{border-radius:.625rem}.border-radius-lg{border-radius:.9375rem}.border-radius-xl{border-radius:1.25rem}.border-radius-xxl{border-radius:2rem}.border-radius-rounded{border-radius:6.25rem}.gravity-tooltip-container{display:flex;flex-direction:column;border-radius:.3125rem;background:var(--color-surface-surface-secondary, #FFF);box-shadow:0 4px 10px #151c2938}.gravity-tooltip-container.banner{width:400px;min-width:400px;max-width:600px}.gravity-tooltip-container.simple{padding:var(--gravity-spacing-xs);justify-content:center;align-items:flex-start;gap:var(--gravity-spacing-xs);width:-moz-fit-content;width:fit-content}.top-container{height:229px;width:100%;border-radius:5px 5px 0 0;background-repeat:no-repeat;background-size:cover;background-position:center}.top-container .actions-container{display:flex;padding:var(--gravity-spacing-sm);justify-content:space-between;align-items:center;align-self:stretch}.bottom-container{display:flex;padding:var(--gravity-spacing-md) var(--gravity-spacing-sm);flex-direction:column;align-items:flex-start;gap:var(--gravity-spacing-md);align-self:stretch}.bottom-container .body{display:flex;flex-direction:column;align-items:flex-start;gap:var(--gravity-spacing-sm);align-self:stretch}.bottom-container .body .header{display:flex;flex-direction:column;gap:var(--gravity-spacing-xs);width:100%}.bottom-container .body .header .title{display:flex;gap:var(--gravity-spacing-xs);align-items:baseline}.bottom-container .body .header .title p{width:100%}.bottom-container .body .header .subtitle{margin-left:var(--gravity-spacing-md)}.bottom-container .body hr.divider{width:100%;border:none;border-top:1px solid var(--cta-primary)}.bottom-container gravity-button{margin-left:auto}.bottom-container gravity-pagination{width:-moz-fit-content;width:fit-content;display:block;margin-inline:auto}\n"] }]
7945
+ }], propDecorators: { cypressTag: [{
7946
+ type: Input
7947
+ }], tooltipBanner: [{
7948
+ type: Input
7949
+ }], tooltipSimple: [{
7950
+ type: Input
7951
+ }], closeBanner: [{
7952
+ type: Output
7953
+ }], actionButton: [{
7954
+ type: Output
7955
+ }] } });
7956
+
7903
7957
  class GravityDesignSystemModule {
7904
7958
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: GravityDesignSystemModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
7905
7959
  static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "16.2.12", ngImport: i0, type: GravityDesignSystemModule, declarations: [GravityAttachFileComponent,
@@ -7968,7 +8022,8 @@ class GravityDesignSystemModule {
7968
8022
  GravityHeaderComponent,
7969
8023
  GravityPaginationComponent,
7970
8024
  GravityPushNotificationsComponent,
7971
- GravityMenuComponent], imports: [i1.AngularSvgIconModule, i2$2.AngularSvgIconPreloaderModule, BsDatepickerModule,
8025
+ GravityMenuComponent,
8026
+ GravityTooltipContainerComponent], imports: [i1.AngularSvgIconModule, i2$2.AngularSvgIconPreloaderModule, BsDatepickerModule,
7972
8027
  CommonModule,
7973
8028
  FormsModule, GravityTooltipModule, NgbDatepickerModule,
7974
8029
  NgbOffcanvasModule,
@@ -8018,7 +8073,8 @@ class GravityDesignSystemModule {
8018
8073
  GravityHeaderComponent,
8019
8074
  GravityPaginationComponent,
8020
8075
  GravityPushNotificationsComponent,
8021
- GravityMenuComponent] }); }
8076
+ GravityMenuComponent,
8077
+ GravityTooltipContainerComponent] }); }
8022
8078
  static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: GravityDesignSystemModule, imports: [AngularSvgIconModule.forRoot(),
8023
8079
  AngularSvgIconPreloaderModule.forRoot({
8024
8080
  configUrl: './assets/gravity/json/icons.json',
@@ -8104,6 +8160,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImpo
8104
8160
  GravityPaginationComponent,
8105
8161
  GravityPushNotificationsComponent,
8106
8162
  GravityMenuComponent,
8163
+ GravityTooltipContainerComponent
8107
8164
  ],
8108
8165
  imports: [
8109
8166
  AngularSvgIconModule.forRoot(),
@@ -8166,6 +8223,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImpo
8166
8223
  GravityPaginationComponent,
8167
8224
  GravityPushNotificationsComponent,
8168
8225
  GravityMenuComponent,
8226
+ GravityTooltipContainerComponent
8169
8227
  ]
8170
8228
  }]
8171
8229
  }] });
@@ -8220,5 +8278,5 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImpo
8220
8278
  * Generated bundle index. Do not edit.
8221
8279
  */
8222
8280
 
8223
- export { BsNavigationDirection, GravityAttachFileComponent, GravityAvatarStackComponent, GravityBackdropComponent, GravityButtonComponent, GravityCalendarV2Component, GravityCardButtonComponent, GravityCheckboxComponent, GravityChipGroupComponent, GravityCurrencyComponent, GravityCurrencyDisplayV2Component, GravityDataViewsV2Component, GravityDatePickerComponent, GravityDesignSystemModule, GravityDetailContainerComponent, GravityDialogComponent, GravityDialogManagerService, GravityDropdownLabelComponent, GravityDropdownListComponent, GravityDropdownListDisplayComponent, GravityEditableInputComponent, GravityGenericAvatarComponent, GravityGenericAvatarSecondaryComponent, GravityHeaderComponent, GravityIconButtonComponent, GravityIconComponent, GravityLinkComponent, GravityMenuComponent, GravityModalComponent, GravityMultiLanguageComponent, GravityNavigationCardComponent, GravityNetworkPillComponent, GravityNotificationInstantContainerComponent, GravityPaginationComponent, GravityPushNotificationsComponent, GravityRadioButtonComponent, GravitySegmentedButtonComponent, GravityStatusIndicatorComponent, GravityStepperComponent, GravitySwitchComponent, GravityTabPrimaryComponent, GravityTabSecondaryComponent, GravityTableComponent, GravityTablesV2Component, GravityTextFieldComponent, GravityTextFieldNumberOnlyComponent, GravityTooltipComponent, GravityTooltipDirective, GravityTooltipModule, GravityTreeViewComponent, ICONS, OLD_ICONS };
8281
+ export { BsNavigationDirection, GravityAttachFileComponent, GravityAvatarStackComponent, GravityBackdropComponent, GravityButtonComponent, GravityCalendarV2Component, GravityCardButtonComponent, GravityCheckboxComponent, GravityChipGroupComponent, GravityCurrencyComponent, GravityCurrencyDisplayV2Component, GravityDataViewsV2Component, GravityDatePickerComponent, GravityDesignSystemModule, GravityDetailContainerComponent, GravityDialogComponent, GravityDialogManagerService, GravityDropdownLabelComponent, GravityDropdownListComponent, GravityDropdownListDisplayComponent, GravityEditableInputComponent, GravityGenericAvatarComponent, GravityGenericAvatarSecondaryComponent, GravityHeaderComponent, GravityIconButtonComponent, GravityIconComponent, GravityLinkComponent, GravityMenuComponent, GravityModalComponent, GravityMultiLanguageComponent, GravityNavigationCardComponent, GravityNetworkPillComponent, GravityNotificationInstantContainerComponent, GravityPaginationComponent, GravityPushNotificationsComponent, GravityRadioButtonComponent, GravitySegmentedButtonComponent, GravityStatusIndicatorComponent, GravityStepperComponent, GravitySwitchComponent, GravityTabPrimaryComponent, GravityTabSecondaryComponent, GravityTableComponent, GravityTablesV2Component, GravityTextFieldComponent, GravityTextFieldNumberOnlyComponent, GravityTooltipComponent, GravityTooltipContainerComponent, GravityTooltipDirective, GravityTooltipModule, GravityTreeViewComponent, ICONS, OLD_ICONS };
8224
8282
  //# sourceMappingURL=progressio_resources-gravity-design-system.mjs.map