keevo-components 1.8.424 → 1.8.425

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.
@@ -109,10 +109,12 @@ export class KvInputCalendarComponent extends BaseComponentInput {
109
109
  month.length === 2 &&
110
110
  year.length === 4) {
111
111
  const objDate = new Date(+year, +month - 1, +day);
112
- if (!isNaN(objDate.getTime())) {
113
- // Verifica se a data é válida
112
+ if ((!isNaN(objDate.getTime())) && !(+month > 12 || +day > 31)) {
114
113
  this.dateFilter.value = objDate; // Atribui a data sem barras ao dateFilter
115
114
  }
115
+ else {
116
+ this.formControl?.setErrors({ invalidDate: true, erroMessage: 'Data Invalida!' });
117
+ }
116
118
  }
117
119
  }
118
120
  }
@@ -161,4 +163,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.8", ngImpor
161
163
  type: HostListener,
162
164
  args: ['window:resize', ['$event']]
163
165
  }] } });
164
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoia3YtaW5wdXQtY2FsZW5kYXIuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMva2Vldm8tY29tcG9uZW50cy9zcmMvbGliL2NvbXBvbmVudHMva3YtaW5wdXRzL2t2LWlucHV0LWNhbGVuZGFyL2t2LWlucHV0LWNhbGVuZGFyLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2tlZXZvLWNvbXBvbmVudHMvc3JjL2xpYi9jb21wb25lbnRzL2t2LWlucHV0cy9rdi1pbnB1dC1jYWxlbmRhci9rdi1pbnB1dC1jYWxlbmRhci5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQ0wsU0FBUyxFQUNULFlBQVksRUFDWixZQUFZLEVBQ1osS0FBSyxFQUVMLE1BQU0sRUFDTixTQUFTLEdBQ1YsTUFBTSxlQUFlLENBQUM7QUFJdkIsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sbURBQW1ELENBQUM7QUFDdkYsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sMENBQTBDLENBQUM7Ozs7Ozs7QUFZOUUsTUFBTSxPQUFPLHdCQUNYLFNBQVEsa0JBQXdCO0lBd0JoQyxZQUFZLGdCQUFrQztRQUM1QyxLQUFLLENBQUMsZ0JBQWdCLENBQUMsQ0FBQztRQXRCakIsV0FBTSxHQUFZLEtBQUssQ0FBQztRQUN4QixnQkFBVyxHQUFZLEtBQUssQ0FBQztRQUs3QixrQkFBYSxHQUFZLEtBQUssQ0FBQztRQUMvQixhQUFRLEdBQVksSUFBSSxDQUFDO1FBQ3pCLGFBQVEsR0FBWSxLQUFLLENBQUM7UUFDMUIsa0JBQWEsR0FBb0MsUUFBUSxDQUFDO1FBRXpELHNCQUFpQixHQUFzQixJQUFJLFlBQVksRUFBRSxDQUFDO1FBQzFELHFCQUFnQixHQUFzQixJQUFJLFlBQVksRUFBRSxDQUFDO1FBSW5FLGFBQVEsR0FBcUIsTUFBTSxDQUFDO1FB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LDBCQUEwQjtxRkFNOUMsTUFBTTtzQkFBZCxLQUFLO2dCQUNHLFdBQVc7c0JBQW5CLEtBQUs7Z0JBRUcsT0FBTztzQkFBZixLQUFLO2dCQUNHLE9BQU87c0JBQWYsS0FBSztnQkFFRyxhQUFhO3NCQUFyQixLQUFLO2dCQUNHLFFBQVE7c0JBQWhCLEtBQUs7Z0JBQ0csUUFBUTtzQkFBaEIsS0FBSztnQkFDRyxhQUFhO3NCQUFyQixLQUFLO2dCQUVJLGlCQUFpQjtzQkFBMUIsTUFBTTtnQkFDRyxnQkFBZ0I7c0JBQXpCLE1BQU07Z0JBRTBCLFVBQVU7c0JBQTFDLFNBQVM7dUJBQUMsWUFBWTtnQkFZdkIsY0FBYztzQkFEYixZQUFZO3VCQUFDLGVBQWUsRUFBRSxDQUFDLFFBQVEsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XHJcbiAgQ29tcG9uZW50LFxyXG4gIEV2ZW50RW1pdHRlcixcclxuICBIb3N0TGlzdGVuZXIsXHJcbiAgSW5wdXQsXHJcbiAgT25Jbml0LFxyXG4gIE91dHB1dCxcclxuICBWaWV3Q2hpbGQsXHJcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcblxyXG5pbXBvcnQgeyBDYWxlbmRhclR5cGVWaWV3IH0gZnJvbSAncHJpbWVuZy9jYWxlbmRhcic7XHJcblxyXG5pbXBvcnQgeyBCYXNlQ29tcG9uZW50SW5wdXQgfSBmcm9tICcuLi8uLi8uLi9hcGkvYmFzZS1jb21wb25lbnRzL2Jhc2UtY29tcG9uZW50LWlucHV0JztcclxuaW1wb3J0IHsgQ29tcG9uZW50UHJvdmlkZXJzIH0gZnJvbSAnLi4vLi4vLi4vYXBpL2hlbHBlcnMvY29tcG9uZW50LXByb3ZpZGVycyc7XHJcbmltcG9ydCB7IENvbXBvbmVudFNlcnZpY2UgfSBmcm9tICcuLi8uLi8uLi9hcGkvc2VydmljZXMvY29tcG9uZW50LnNlcnZpY2UnO1xyXG5cclxuQENvbXBvbmVudCh7XHJcbiAgc2VsZWN0b3I6ICdrdi1pbnB1dC1jYWxlbmRhcicsXHJcbiAgdGVtcGxhdGVVcmw6ICcuL2t2LWlucHV0LWNhbGVuZGFyLmNvbXBvbmVudC5odG1sJyxcclxuICBzdHlsZVVybHM6IFtcclxuICAgICcuL2t2LWlucHV0LWNhbGVuZGFyLmNvbXBvbmVudC5zY3NzJyxcclxuICAgICcuLi8uLi9rZWV2by1jb21wb25lbnRzLXN0eWxlcy5zY3NzJyxcclxuICBdLFxyXG4gIHByb3ZpZGVyczogQ29tcG9uZW50UHJvdmlkZXJzKEt2SW5wdXRDYWxlbmRhckNvbXBvbmVudCksXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBLdklucHV0Q2FsZW5kYXJDb21wb25lbnRcclxuICBleHRlbmRzIEJhc2VDb21wb25lbnRJbnB1dDxEYXRlPlxyXG4gIGltcGxlbWVudHMgT25Jbml0XHJcbntcclxuICBASW5wdXQoKSBpc1llYXI6IGJvb2xlYW4gPSBmYWxzZTtcclxuICBASW5wdXQoKSBpc01vbnRoWWVhcjogYm9vbGVhbiA9IGZhbHNlO1xyXG5cclxuICBASW5wdXQoKSBtaW5EYXRlITogRGF0ZTtcclxuICBASW5wdXQoKSBtYXhEYXRlITogRGF0ZTtcclxuXHJcbiAgQElucHV0KCkgc2hvd0J1dHRvbkJhcjogYm9vbGVhbiA9IGZhbHNlO1xyXG4gIEBJbnB1dCgpIHNob3dJY29uOiBib29sZWFuID0gdHJ1ZTtcclxuICBASW5wdXQoKSBzaG93VGltZTogYm9vbGVhbiA9IGZhbHNlO1xyXG4gIEBJbnB1dCgpIHNlbGVjdGlvbk1vZGU6ICdzaW5nbGUnIHwgJ211bHRpcGxlJyB8ICdyYW5nZScgPSAnc2luZ2xlJztcclxuICBcclxuICBAT3V0cHV0KCkgb25TZWxlY3Rpb25DaGFuZ2U6IEV2ZW50RW1pdHRlcjxhbnk+ID0gbmV3IEV2ZW50RW1pdHRlcigpO1xyXG4gIEBPdXRwdXQoKSBvblNlbGVjdGlvblZhbHVlOiBFdmVudEVtaXR0ZXI8YW55PiA9IG5ldyBFdmVudEVtaXR0ZXIoKTtcclxuICBcclxuICBAVmlld0NoaWxkKCdkYXRlRmlsdGVyJykgcHJpdmF0ZSBkYXRlRmlsdGVyOiBhbnk7XHJcblxyXG4gIHR5cGVWaWV3OiBDYWxlbmRhclR5cGVWaWV3ID0gJ2RhdGUnO1xyXG4gIGRhdGVGb3JtYXQ6IHN0cmluZyA9ICdkZC9tbS95eSc7XHJcblxyXG4gIHNjcmVlbldpZHRoITogbnVtYmVyO1xyXG5cclxuICBjb25zdHJ1Y3Rvcihjb21wb25lbnRTZXJ2aWNlOiBDb21wb25lbnRTZXJ2aWNlKSB7XHJcbiAgICBzdXBlcihjb21wb25lbnRTZXJ2aWNlKTtcclxuICB9XHJcblxyXG4gIEBIb3N0TGlzdGVuZXIoJ3dpbmRvdzpyZXNpemUnLCBbJyRldmVudCddKVxyXG4gIG9uV2luZG93UmVzaXplKCkge1xyXG4gICAgdGhpcy5zY3JlZW5XaWR0aCA9IHdpbmRvdy5pbm5lcldpZHRoO1xyXG4gIH1cclxuXHJcbiAgb3ZlcnJpZGUgd3JpdGVWYWx1ZSh2YWx1ZTogRGF0ZSk6IHZvaWQge1xyXG4gICAgdGhpcy52YWx1ZSA9IHZhbHVlO1xyXG5cclxuICAgIGlmICh2YWx1ZSAmJiB0eXBlb2YgdmFsdWUgPT09ICdzdHJpbmcnKSB7XHJcbiAgICAgIHRoaXMudmFsdWUgPSBuZXcgRGF0ZSh2YWx1ZSk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBvdmVycmlkZSBuZ09uSW5pdCgpOiB2b2lkIHtcclxuICAgIHN1cGVyLm5nT25Jbml0KCk7XHJcblxyXG4gICAgaWYgKHRoaXMuaXNZZWFyKSB7XHJcbiAgICAgIHRoaXMudHlwZVZpZXcgPSAneWVhcic7XHJcbiAgICAgIHRoaXMuZGF0ZUZvcm1hdCA9ICd5eSc7XHJcbiAgICB9IGVsc2UgaWYgKHRoaXMuaXNNb250aFllYXIpIHtcclxuICAgICAgdGhpcy50eXBlVmlldyA9ICdtb250aCc7XHJcbiAgICAgIHRoaXMuZGF0ZUZvcm1hdCA9ICdtbS95eSc7XHJcbiAgICB9IGVsc2Uge1xyXG4gICAgICB0aGlzLnR5cGVWaWV3ID0gJ2RhdGUnO1xyXG4gICAgICB0aGlzLmRhdGVGb3JtYXQgPSAnZGQvbW0veXknO1xyXG4gICAgfVxyXG5cclxuICAgIHRoaXMuc2NyZWVuV2lkdGggPSB3aW5kb3cuaW5uZXJXaWR0aDtcclxuICB9XHJcblxyXG4gIHByb3RlY3RlZCBvbklucHV0Q2hhbmdlKGV2ZW50OiBhbnkpIHtcclxuICAgIHRoaXMuaGlkZU9uUmFuZ2VNb2RlKCk7XHJcbiAgICB0aGlzLm9uU2VsZWN0aW9uVmFsdWUuZW1pdChldmVudCk7XHJcblxyXG4gICAgaWYgKHRoaXMuZm9ybUNvbnRyb2wpIHtcclxuICAgICAgdGhpcy5vblNlbGVjdGlvbkNoYW5nZS5lbWl0KHRoaXMuZm9ybUNvbnRyb2wudmFsdWUpO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgaGlkZU9uUmFuZ2VNb2RlKCkge1xyXG4gICAgaWYgKHRoaXMuc2VsZWN0aW9uTW9kZSA9PSAncmFuZ2UnKSB7XHJcbiAgICAgIGlmICh0aGlzLmRhdGVGaWx0ZXIudmFsdWVbMV0pIHtcclxuICAgICAgICB0aGlzLmRhdGVGaWx0ZXIuaGlkZU92ZXJsYXkoKTtcclxuICAgICAgfVxyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgbGFzdElucHV0VmFsdWU6IHN0cmluZyA9ICcnO1xyXG4gIG9uS2V5RGF0ZShldmVudDogYW55KSB7XHJcbiAgICBpZiAodGhpcy50eXBlVmlldyA9PT0gJ2RhdGUnKSB7XHJcblxyXG4gICAgICBjb25zdCBpbnB1dEVsZW1lbnQgPSBldmVudC50YXJnZXQ7XHJcblxyXG4gICAgICBsZXQgaW5wdXRWYWx1ZSA9IGlucHV0RWxlbWVudC52YWx1ZS5yZXBsYWNlKC9cXEQvZywgJycpOyAvLyBSZW1vdmUgdHVkbyBxdWUgbsOjbyBzZWphIGTDrWdpdG9cclxuXHJcbiAgICAgIGNvbnN0IGN1cnNvclBvc2l0aW9uID0gaW5wdXRFbGVtZW50LnNlbGVjdGlvblN0YXJ0OyAvLyBQZWdhIGEgcG9zacOnw6NvIGF0dWFsIGRvIGN1cnNvclxyXG5cclxuICAgICAgLy8gTGltaXRhIGEgZW50cmFkYSBhIDggY2FyYWN0ZXJlcyAoZGRtbXl5eXkpXHJcbiAgICAgIGlmIChpbnB1dFZhbHVlLmxlbmd0aCA+IDgpIHtcclxuICAgICAgICBpbnB1dFZhbHVlID0gaW5wdXRWYWx1ZS5zdWJzdHJpbmcoMCwgOCk7XHJcbiAgICAgIH1cclxuXHJcbiAgICAgIGlucHV0VmFsdWUgPSB0aGlzLm1hc2tEYXRlKGlucHV0VmFsdWUpO1xyXG4gICAgICBsZXQgaW5kQWRpY2FvID1cclxuICAgICAgICBpbnB1dFZhbHVlLmxlbmd0aCA+IHRoaXMubGFzdElucHV0VmFsdWUubGVuZ3RoID8gdHJ1ZSA6IGZhbHNlO1xyXG5cclxuICAgICAgdGhpcy5sYXN0SW5wdXRWYWx1ZSA9IGlucHV0VmFsdWU7XHJcblxyXG4gICAgICAvLyBDYWxjdWxhIGEgZGlmZXJlbsOnYSBkZSB0YW1hbmhvIGFww7NzIGFwbGljYXIgYSBtw6FzY2FyYVxyXG4gICAgICBjb25zdCBtYXNrZWRMZW5ndGggPSBpbnB1dFZhbHVlLmxlbmd0aDtcclxuICAgICAgY29uc3QgbGVuZ3RoRGlmZiA9IG1hc2tlZExlbmd0aCAtIHRoaXMubGFzdElucHV0VmFsdWUubGVuZ3RoO1xyXG5cclxuICAgICAgLy8gQXR1YWxpemEgbyB2YWxvciBkbyBpbnB1dCBzZW0gcGVyZGVyIGEgcG9zacOnw6NvIGRvIGN1cnNvclxyXG4gICAgICBpbnB1dEVsZW1lbnQudmFsdWUgPSBpbnB1dFZhbHVlO1xyXG5cclxuICAgICAgLy8gQWp1c3RhIGEgcG9zacOnw6NvIGRvIGN1cnNvciBkZSBhY29yZG8gY29tIGEgbXVkYW7Dp2EgY2F1c2FkYSBwZWxhIG3DoXNjYXJhXHJcbiAgICAgIGxldCBuZXdDdXJzb3JQb3NpdGlvbiA9IGN1cnNvclBvc2l0aW9uICsgbGVuZ3RoRGlmZjtcclxuXHJcbiAgICAgIC8vIFNlIG8gY3Vyc29yIGVzdGF2YSBleGF0YW1lbnRlIGVtIHVtYSBwb3Npw6fDo28gZGUgYmFycmEgZSBmb2kgdW1hIGFkacOnw6NvLCBhanVzdGEgcGFyYSBwdWxhciBhIGJhcnJhICggc29tZW50ZSBuYSBhZGnDp8OjbyBkZSBjYXJhY3RlcmVzIClcclxuICAgICAgaWYgKGluZEFkaWNhbykge1xyXG4gICAgICAgIGlmIChjdXJzb3JQb3NpdGlvbiA9PT0gMyB8fCBjdXJzb3JQb3NpdGlvbiA9PT0gNikge1xyXG4gICAgICAgICAgbmV3Q3Vyc29yUG9zaXRpb24gKz0gMTtcclxuICAgICAgICB9XHJcbiAgICAgIH1cclxuICAgICAgLy8gRXZpdGEgcXVlIG8gY3Vyc29yIHbDoSBhbMOpbSBkbyBmaW5hbCBkbyB2YWxvciBkaWdpdGFkb1xyXG4gICAgICBpZiAobmV3Q3Vyc29yUG9zaXRpb24gPiBpbnB1dEVsZW1lbnQudmFsdWUubGVuZ3RoKSB7XHJcbiAgICAgICAgbmV3Q3Vyc29yUG9zaXRpb24gPSBpbnB1dEVsZW1lbnQudmFsdWUubGVuZ3RoO1xyXG4gICAgICB9XHJcblxyXG4gICAgICAvLyBEZWZpbmUgYSBub3ZhIHBvc2nDp8OjbyBkbyBjdXJzb3JcclxuICAgICAgaW5wdXRFbGVtZW50LnNldFNlbGVjdGlvblJhbmdlKG5ld0N1cnNvclBvc2l0aW9uLCBuZXdDdXJzb3JQb3NpdGlvbik7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBvdmVycmlkZSBvbklucHV0Qmx1cihldmVudDogRXZlbnQpOiB2b2lkIHtcclxuICAgIHN1cGVyLm9uSW5wdXRCbHVyKGV2ZW50KTtcclxuICAgIFxyXG4gICAgaWYgKHRoaXMudHlwZVZpZXcgPT09ICdkYXRlJykge1xyXG4gICAgICBjb25zdCBpbnB1dCA9IGV2ZW50LnRhcmdldCBhcyBIVE1MSW5wdXRFbGVtZW50OyAvLyBDYXN0IHBhcmEgSFRNTElucHV0RWxlbWVudFxyXG4gICAgICBpZiAoaW5wdXQgJiYgaW5wdXQudmFsdWUpIHtcclxuICAgICAgICBjb25zdCBkYXRlU3RyaW5nID0gaW5wdXQudmFsdWU7IC8vIFBlZ2EgbyB2YWxvciBkbyBpbnB1dFxyXG4gICAgICAgIGNvbnN0IFtkYXksIG1vbnRoLCB5ZWFyXSA9IGRhdGVTdHJpbmcuc3BsaXQoJy8nKTtcclxuXHJcbiAgICAgICAgLy8gVmVyaWZpY2Egc2Ugw6kgdW1hIGRhdGEgdsOhbGlkYVxyXG4gICAgICAgIGlmIChcclxuICAgICAgICAgIGRheSAmJlxyXG4gICAgICAgICAgbW9udGggJiZcclxuICAgICAgICAgIHllYXIgJiZcclxuICAgICAgICAgIGRheS5sZW5ndGggPT09IDIgJiZcclxuICAgICAgICAgIG1vbnRoLmxlbmd0aCA9PT0gMiAmJlxyXG4gICAgICAgICAgeWVhci5sZW5ndGggPT09IDRcclxuICAgICAgICApIHtcclxuICAgICAgICAgIGNvbnN0IG9iakRhdGUgPSBuZXcgRGF0ZSgreWVhciwgK21vbnRoIC0gMSwgK2RheSk7XHJcbiAgICAgICAgICBpZiAoIWlzTmFOKG9iakRhdGUuZ2V0VGltZSgpKSkge1xyXG4gICAgICAgICAgICAvLyBWZXJpZmljYSBzZSBhIGRhdGEgw6kgdsOhbGlkYVxyXG4gICAgICAgICAgICB0aGlzLmRhdGVGaWx0ZXIudmFsdWUgPSBvYmpEYXRlOyAvLyBBdHJpYnVpIGEgZGF0YSBzZW0gYmFycmFzIGFvIGRhdGVGaWx0ZXJcclxuICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgfVxyXG5cclxuICBtYXNrRGF0ZShkYXRlOiBzdHJpbmcpOiBzdHJpbmcge1xyXG4gICAgLy8gQXBsaWNhIGEgbcOhc2NhcmEgKGRkL21tL3l5eXkpXHJcbiAgICBsZXQgZGF0ZU1hc2tlZCA9IGRhdGU7XHJcbiAgICBpZiAoZGF0ZS5sZW5ndGggPj0gNSkge1xyXG4gICAgICBkYXRlTWFza2VkID0gZGF0ZS5yZXBsYWNlKC9eKFxcZHsyfSkoXFxkezJ9KShcXGR7MCw0fSkvLCAnJDEvJDIvJDMnKTsgLy8gRm9ybWF0YSBjb21vIGRkL21tL3l5eXlcclxuICAgIH0gZWxzZSBpZiAoZGF0ZS5sZW5ndGggPj0gMykge1xyXG4gICAgICBkYXRlTWFza2VkID0gZGF0ZS5yZXBsYWNlKC9eKFxcZHsyfSkoXFxkezAsMn0pLywgJyQxLyQyJyk7IC8vIEZvcm1hdGEgY29tbyBkZC9tbVxyXG4gICAgfVxyXG4gICAgcmV0dXJuIGRhdGVNYXNrZWQ7XHJcbiAgfVxyXG59XHJcbiIsIjxzcGFuPlxyXG4gIDxrdi1sYWJlbFxyXG4gICAgW2NvbXBvbmVudElkXT1cImNvbXBvbmVudElkXCJcclxuICAgIFtsYWJlbF09XCJsYWJlbCAmJiBsYWJlbCArIChzaG93QXN0ZXJpc2sgPyAnKicgOiAnJylcIlxyXG4gIC8+XHJcbiAgPHAtY2FsZW5kYXJcclxuXHJcbiAgICBkYXRlTWFza1xyXG4gICAgKG9uSW5wdXQpPVwib25LZXlEYXRlKCRldmVudClcIlxyXG5cclxuICAgICNkYXRlRmlsdGVyXHJcbiAgICBhcHBlbmRUbz1cImJvZHlcIlxyXG4gICAgW2NsYXNzXT1cImJhc2VJbnB1dENsYXNzXCJcclxuICAgIFtpZF09XCJjb21wb25lbnRJZFwiXHJcbiAgICBbKG5nTW9kZWwpXT1cInZhbHVlXCJcclxuICAgIFtkaXNhYmxlZF09XCJkaXNhYmxlZFwiXHJcbiAgICBbbWluRGF0ZV09XCJtaW5EYXRlXCJcclxuICAgIFttYXhEYXRlXT1cIm1heERhdGVcIlxyXG4gICAgW3NlbGVjdGlvbk1vZGVdPVwic2VsZWN0aW9uTW9kZVwiXHJcbiAgICBbc2hvd0J1dHRvbkJhcl09XCJzaG93QnV0dG9uQmFyXCJcclxuICAgIFtzaG93SWNvbl09XCJzaG93SWNvblwiXHJcbiAgICBbc2hvd1RpbWVdPVwic2hvd1RpbWVcIlxyXG4gICAgW3Nob3dPbkZvY3VzXT1cInNob3dUaW1lIHx8IHNjcmVlbldpZHRoID4gMTM2NiB8fCBzZWxlY3Rpb25Nb2RlID09ICdyYW5nZSdcIlxyXG4gICAgW3ZpZXddPVwidHlwZVZpZXdcIlxyXG4gICAgW2RhdGVGb3JtYXRdPVwiZGF0ZUZvcm1hdFwiXHJcbiAgICAob25CbHVyKT1cIm9uSW5wdXRCbHVyKCRldmVudClcIlxyXG4gICAgKG9uQ2xvc2UpPVwib25JbnB1dENsb3NlKCRldmVudClcIlxyXG4gICAgKG9uU2VsZWN0KT1cIm9uSW5wdXRDaGFuZ2UoJGV2ZW50KVwiXHJcbiAgICBzdHlsZUNsYXNzPVwiaW5wdXRzXCJcclxuICAgIFtwbGFjZWhvbGRlcl09XCJwbGFjZWhvbGRlclwiXHJcbiAgPlxyXG4gIDwvcC1jYWxlbmRhcj5cclxuXHJcbiAgPGt2LWVycm9yIFtoYXNFcnJvcl09XCJoYXNDb250cm9sRXJyb3IoKVwiPnt7IGVycm9NZXNzYWdlKCkgfX08L2t2LWVycm9yPlxyXG48L3NwYW4+XHJcbjxuZy1jb250ZW50PjwvbmctY29udGVudD5cclxuIl19
166
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoia3YtaW5wdXQtY2FsZW5kYXIuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMva2Vldm8tY29tcG9uZW50cy9zcmMvbGliL2NvbXBvbmVudHMva3YtaW5wdXRzL2t2LWlucHV0LWNhbGVuZGFyL2t2LWlucHV0LWNhbGVuZGFyLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2tlZXZvLWNvbXBvbmVudHMvc3JjL2xpYi9jb21wb25lbnRzL2t2LWlucHV0cy9rdi1pbnB1dC1jYWxlbmRhci9rdi1pbnB1dC1jYWxlbmRhci5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQ0wsU0FBUyxFQUNULFlBQVksRUFDWixZQUFZLEVBQ1osS0FBSyxFQUVMLE1BQU0sRUFDTixTQUFTLEdBQ1YsTUFBTSxlQUFlLENBQUM7QUFJdkIsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sbURBQW1ELENBQUM7QUFDdkYsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sMENBQTBDLENBQUM7Ozs7Ozs7QUFZOUUsTUFBTSxPQUFPLHdCQUNYLFNBQVEsa0JBQXdCO0lBd0JoQyxZQUFZLGdCQUFrQztRQUM1QyxLQUFLLENBQUMsZ0JBQWdCLENBQUMsQ0FBQztRQXRCakIsV0FBTSxHQUFZLEtBQUssQ0FBQztRQUN4QixnQkFBVyxHQUFZLEtBQUssQ0FBQztRQUs3QixrQkFBYSxHQUFZLEtBQUssQ0FBQztRQUMvQixhQUFRLEdBQVksSUFBSSxDQUFDO1FBQ3pCLGFBQVEsR0FBWSxLQUFLLENBQUM7UUFDMUIsa0JBQWEsR0FBb0MsUUFBUSxDQUFDO1FBRXpELHNCQUFpQixHQUFzQixJQUFJLFlBQVksRUFBRSxDQUFDO1FBQzFELHFCQUFnQixHQUFzQixJQUFJLFlBQVksRUFBRSxDQUFDO1FBSW5FLGFBQVEsR0FBcUIsTUFBTSxDQUFDO1FBQ3BDLGVBQVUsR0FBVyxVQUFVLENBQUM7UUF1RGhDLG1CQUFjLEdBQVcsRUFBRSxDQUFDO0lBakQ1QixDQUFDO0lBR0QsY0FBYztRQUNaLElBQUksQ0FBQyxXQUFXLEdBQUcsTUFBTSxDQUFDLFVBQVUsQ0FBQztJQUN2QyxDQUFDO0lBRVEsVUFBVSxDQUFDLEtBQVc7UUFDN0IsSUFBSSxDQUFDLEtBQUssR0FBRyxLQUFLLENBQUM7UUFFbkIsSUFBSSxLQUFLLElBQUksT0FBTyxLQUFLLEtBQUssUUFBUSxFQUFFLENBQUM7WUFDdkMsSUFBSSxDQUFDLEtBQUssR0FBRyxJQUFJLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUMvQixDQUFDO0lBQ0gsQ0FBQztJQUVRLFFBQVE7UUFDZixLQUFLLENBQUMsUUFBUSxFQUFFLENBQUM7UUFFakIsSUFBSSxJQUFJLENBQUMsTUFBTSxFQUFFLENBQUM7WUFDaEIsSUFBSSxDQUFDLFFBQVEsR0FBRyxNQUFNLENBQUM7WUFDdkIsSUFBSSxDQUFDLFVBQVUsR0FBRyxJQUFJLENBQUM7UUFDekIsQ0FBQzthQUFNLElBQUksSUFBSSxDQUFDLFdBQVcsRUFBRSxDQUFDO1lBQzVCLElBQUksQ0FBQyxRQUFRLEdBQUcsT0FBTyxDQUFDO1lBQ3hCLElBQUksQ0FBQyxVQUFVLEdBQUcsT0FBTyxDQUFDO1FBQzVCLENBQUM7YUFBTSxDQUFDO1lBQ04sSUFBSSxDQUFDLFFBQVEsR0FBRyxNQUFNLENBQUM7WUFDdkIsSUFBSSxDQUFDLFVBQVUsR0FBRyxVQUFVLENBQUM7UUFDL0IsQ0FBQztRQUVELElBQUksQ0FBQyxXQUFXLEdBQUcsTUFBTSxDQUFDLFVBQVUsQ0FBQztJQUN2QyxDQUFDO0lBRVMsYUFBYSxDQUFDLEtBQVU7UUFDaEMsSUFBSSxDQUFDLGVBQWUsRUFBRSxDQUFDO1FBQ3ZCLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUM7UUFFbEMsSUFBSSxJQUFJLENBQUMsV0FBVyxFQUFFLENBQUM7WUFDckIsSUFBSSxDQUFDLGlCQUFpQixDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBQ3RELENBQUM7SUFDSCxDQUFDO0lBRUQsZUFBZTtRQUNiLElBQUksSUFBSSxDQUFDLGFBQWEsSUFBSSxPQUFPLEVBQUUsQ0FBQztZQUNsQyxJQUFJLElBQUksQ0FBQyxVQUFVLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUM7Z0JBQzdCLElBQUksQ0FBQyxVQUFVLENBQUMsV0FBVyxFQUFFLENBQUM7WUFDaEMsQ0FBQztRQUNILENBQUM7SUFDSCxDQUFDO0lBR0QsU0FBUyxDQUFDLEtBQVU7UUFDbEIsSUFBSSxJQUFJLENBQUMsUUFBUSxLQUFLLE1BQU0sRUFBRSxDQUFDO1lBRTdCLE1BQU0sWUFBWSxHQUFHLEtBQUssQ0FBQyxNQUFNLENBQUM7WUFFbEMsSUFBSSxVQUFVLEdBQUcsWUFBWSxDQUFDLEtBQUssQ0FBQyxPQUFPLENBQUMsS0FBSyxFQUFFLEVBQUUsQ0FBQyxDQUFDLENBQUMsa0NBQWtDO1lBRTFGLE1BQU0sY0FBYyxHQUFHLFlBQVksQ0FBQyxjQUFjLENBQUMsQ0FBQyxpQ0FBaUM7WUFFckYsNkNBQTZDO1lBQzdDLElBQUksVUFBVSxDQUFDLE1BQU0sR0FBRyxDQUFDLEVBQUUsQ0FBQztnQkFDMUIsVUFBVSxHQUFHLFVBQVUsQ0FBQyxTQUFTLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDO1lBQzFDLENBQUM7WUFFRCxVQUFVLEdBQUcsSUFBSSxDQUFDLFFBQVEsQ0FBQyxVQUFVLENBQUMsQ0FBQztZQUN2QyxJQUFJLFNBQVMsR0FDWCxVQUFVLENBQUMsTUFBTSxHQUFHLElBQUksQ0FBQyxjQUFjLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQztZQUVoRSxJQUFJLENBQUMsY0FBYyxHQUFHLFVBQVUsQ0FBQztZQUVqQyx3REFBd0Q7WUFDeEQsTUFBTSxZQUFZLEdBQUcsVUFBVSxDQUFDLE1BQU0sQ0FBQztZQUN2QyxNQUFNLFVBQVUsR0FBRyxZQUFZLEdBQUcsSUFBSSxDQUFDLGNBQWMsQ0FBQyxNQUFNLENBQUM7WUFFN0QsMkRBQTJEO1lBQzNELFlBQVksQ0FBQyxLQUFLLEdBQUcsVUFBVSxDQUFDO1lBRWhDLDBFQUEwRTtZQUMxRSxJQUFJLGlCQUFpQixHQUFHLGNBQWMsR0FBRyxVQUFVLENBQUM7WUFFcEQsd0lBQXdJO1lBQ3hJLElBQUksU0FBUyxFQUFFLENBQUM7Z0JBQ2QsSUFBSSxjQUFjLEtBQUssQ0FBQyxJQUFJLGNBQWMsS0FBSyxDQUFDLEVBQUUsQ0FBQztvQkFDakQsaUJBQWlCLElBQUksQ0FBQyxDQUFDO2dCQUN6QixDQUFDO1lBQ0gsQ0FBQztZQUNELHdEQUF3RDtZQUN4RCxJQUFJLGlCQUFpQixHQUFHLFlBQVksQ0FBQyxLQUFLLENBQUMsTUFBTSxFQUFFLENBQUM7Z0JBQ2xELGlCQUFpQixHQUFHLFlBQVksQ0FBQyxLQUFLLENBQUMsTUFBTSxDQUFDO1lBQ2hELENBQUM7WUFFRCxrQ0FBa0M7WUFDbEMsWUFBWSxDQUFDLGlCQUFpQixDQUFDLGlCQUFpQixFQUFFLGlCQUFpQixDQUFDLENBQUM7UUFDdkUsQ0FBQztJQUNILENBQUM7SUFFUSxXQUFXLENBQUMsS0FBWTtRQUMvQixLQUFLLENBQUMsV0FBVyxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBRXpCLElBQUksSUFBSSxDQUFDLFFBQVEsS0FBSyxNQUFNLEVBQUUsQ0FBQztZQUM3QixNQUFNLEtBQUssR0FBRyxLQUFLLENBQUMsTUFBMEIsQ0FBQyxDQUFDLDZCQUE2QjtZQUM3RSxJQUFJLEtBQUssSUFBSSxLQUFLLENBQUMsS0FBSyxFQUFFLENBQUM7Z0JBQ3pCLE1BQU0sVUFBVSxHQUFHLEtBQUssQ0FBQyxLQUFLLENBQUMsQ0FBQyx3QkFBd0I7Z0JBQ3hELE1BQU0sQ0FBQyxHQUFHLEVBQUUsS0FBSyxFQUFFLElBQUksQ0FBQyxHQUFHLFVBQVUsQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDLENBQUM7Z0JBR2pELGdDQUFnQztnQkFDaEMsSUFDRSxHQUFHO29CQUNILEtBQUs7b0JBQ0wsSUFBSTtvQkFDSixHQUFHLENBQUMsTUFBTSxLQUFLLENBQUM7b0JBQ2hCLEtBQUssQ0FBQyxNQUFNLEtBQUssQ0FBQztvQkFDbEIsSUFBSSxDQUFDLE1BQU0sS0FBSyxDQUFDLEVBQ2pCLENBQUM7b0JBRUQsTUFBTSxPQUFPLEdBQUcsSUFBSSxJQUFJLENBQUMsQ0FBQyxJQUFJLEVBQUUsQ0FBQyxLQUFLLEdBQUcsQ0FBQyxFQUFFLENBQUMsR0FBRyxDQUFDLENBQUM7b0JBRWxELElBQUksQ0FBQyxDQUFDLEtBQUssQ0FBQyxPQUFPLENBQUMsT0FBTyxFQUFFLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLEtBQUssR0FBRyxFQUFFLElBQUksQ0FBQyxHQUFHLEdBQUcsRUFBRSxDQUFDLEVBQUUsQ0FBQzt3QkFDL0QsSUFBSSxDQUFDLFVBQVUsQ0FBQyxLQUFLLEdBQUcsT0FBTyxDQUFDLENBQUMsMENBQTBDO29CQUM3RSxDQUFDO3lCQUFJLENBQUM7d0JBQ0osSUFBSSxDQUFDLFdBQVcsRUFBRSxTQUFTLENBQUMsRUFBRSxXQUFXLEVBQUUsSUFBSSxFQUFFLFdBQVcsRUFBRSxnQkFBZ0IsRUFBRSxDQUFDLENBQUM7b0JBQ3BGLENBQUM7Z0JBQ0gsQ0FBQztZQU1ILENBQUM7UUFDSCxDQUFDO0lBRUgsQ0FBQztJQUVELFFBQVEsQ0FBQyxJQUFZO1FBQ25CLGdDQUFnQztRQUNoQyxJQUFJLFVBQVUsR0FBRyxJQUFJLENBQUM7UUFDdEIsSUFBSSxJQUFJLENBQUMsTUFBTSxJQUFJLENBQUMsRUFBRSxDQUFDO1lBQ3JCLFVBQVUsR0FBRyxJQUFJLENBQUMsT0FBTyxDQUFDLDBCQUEwQixFQUFFLFVBQVUsQ0FBQyxDQUFDLENBQUMsMEJBQTBCO1FBQy9GLENBQUM7YUFBTSxJQUFJLElBQUksQ0FBQyxNQUFNLElBQUksQ0FBQyxFQUFFLENBQUM7WUFDNUIsVUFBVSxHQUFHLElBQUksQ0FBQyxPQUFPLENBQUMsbUJBQW1CLEVBQUUsT0FBTyxDQUFDLENBQUMsQ0FBQyxxQkFBcUI7UUFDaEYsQ0FBQztRQUNELE9BQU8sVUFBVSxDQUFDO0lBQ3BCLENBQUM7OEdBMUtVLHdCQUF3QjtrR0FBeEIsd0JBQXdCLHlaQUZ4QixrQkFBa0IsQ0FBQyx3QkFBd0IsQ0FBQywySkN2QnpELDZpQ0FvQ0E7OzJGRFhhLHdCQUF3QjtrQkFUcEMsU0FBUzsrQkFDRSxtQkFBbUIsYUFNbEIsa0JBQWtCLDBCQUEwQjtxRkFNOUMsTUFBTTtzQkFBZCxLQUFLO2dCQUNHLFdBQVc7c0JBQW5CLEtBQUs7Z0JBRUcsT0FBTztzQkFBZixLQUFLO2dCQUNHLE9BQU87c0JBQWYsS0FBSztnQkFFRyxhQUFhO3NCQUFyQixLQUFLO2dCQUNHLFFBQVE7c0JBQWhCLEtBQUs7Z0JBQ0csUUFBUTtzQkFBaEIsS0FBSztnQkFDRyxhQUFhO3NCQUFyQixLQUFLO2dCQUVJLGlCQUFpQjtzQkFBMUIsTUFBTTtnQkFDRyxnQkFBZ0I7c0JBQXpCLE1BQU07Z0JBRTBCLFVBQVU7c0JBQTFDLFNBQVM7dUJBQUMsWUFBWTtnQkFZdkIsY0FBYztzQkFEYixZQUFZO3VCQUFDLGVBQWUsRUFBRSxDQUFDLFFBQVEsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XHJcbiAgQ29tcG9uZW50LFxyXG4gIEV2ZW50RW1pdHRlcixcclxuICBIb3N0TGlzdGVuZXIsXHJcbiAgSW5wdXQsXHJcbiAgT25Jbml0LFxyXG4gIE91dHB1dCxcclxuICBWaWV3Q2hpbGQsXHJcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcblxyXG5pbXBvcnQgeyBDYWxlbmRhclR5cGVWaWV3IH0gZnJvbSAncHJpbWVuZy9jYWxlbmRhcic7XHJcblxyXG5pbXBvcnQgeyBCYXNlQ29tcG9uZW50SW5wdXQgfSBmcm9tICcuLi8uLi8uLi9hcGkvYmFzZS1jb21wb25lbnRzL2Jhc2UtY29tcG9uZW50LWlucHV0JztcclxuaW1wb3J0IHsgQ29tcG9uZW50UHJvdmlkZXJzIH0gZnJvbSAnLi4vLi4vLi4vYXBpL2hlbHBlcnMvY29tcG9uZW50LXByb3ZpZGVycyc7XHJcbmltcG9ydCB7IENvbXBvbmVudFNlcnZpY2UgfSBmcm9tICcuLi8uLi8uLi9hcGkvc2VydmljZXMvY29tcG9uZW50LnNlcnZpY2UnO1xyXG5cclxuQENvbXBvbmVudCh7XHJcbiAgc2VsZWN0b3I6ICdrdi1pbnB1dC1jYWxlbmRhcicsXHJcbiAgdGVtcGxhdGVVcmw6ICcuL2t2LWlucHV0LWNhbGVuZGFyLmNvbXBvbmVudC5odG1sJyxcclxuICBzdHlsZVVybHM6IFtcclxuICAgICcuL2t2LWlucHV0LWNhbGVuZGFyLmNvbXBvbmVudC5zY3NzJyxcclxuICAgICcuLi8uLi9rZWV2by1jb21wb25lbnRzLXN0eWxlcy5zY3NzJyxcclxuICBdLFxyXG4gIHByb3ZpZGVyczogQ29tcG9uZW50UHJvdmlkZXJzKEt2SW5wdXRDYWxlbmRhckNvbXBvbmVudCksXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBLdklucHV0Q2FsZW5kYXJDb21wb25lbnRcclxuICBleHRlbmRzIEJhc2VDb21wb25lbnRJbnB1dDxEYXRlPlxyXG4gIGltcGxlbWVudHMgT25Jbml0XHJcbntcclxuICBASW5wdXQoKSBpc1llYXI6IGJvb2xlYW4gPSBmYWxzZTtcclxuICBASW5wdXQoKSBpc01vbnRoWWVhcjogYm9vbGVhbiA9IGZhbHNlO1xyXG5cclxuICBASW5wdXQoKSBtaW5EYXRlITogRGF0ZTtcclxuICBASW5wdXQoKSBtYXhEYXRlITogRGF0ZTtcclxuXHJcbiAgQElucHV0KCkgc2hvd0J1dHRvbkJhcjogYm9vbGVhbiA9IGZhbHNlO1xyXG4gIEBJbnB1dCgpIHNob3dJY29uOiBib29sZWFuID0gdHJ1ZTtcclxuICBASW5wdXQoKSBzaG93VGltZTogYm9vbGVhbiA9IGZhbHNlO1xyXG4gIEBJbnB1dCgpIHNlbGVjdGlvbk1vZGU6ICdzaW5nbGUnIHwgJ211bHRpcGxlJyB8ICdyYW5nZScgPSAnc2luZ2xlJztcclxuICBcclxuICBAT3V0cHV0KCkgb25TZWxlY3Rpb25DaGFuZ2U6IEV2ZW50RW1pdHRlcjxhbnk+ID0gbmV3IEV2ZW50RW1pdHRlcigpO1xyXG4gIEBPdXRwdXQoKSBvblNlbGVjdGlvblZhbHVlOiBFdmVudEVtaXR0ZXI8YW55PiA9IG5ldyBFdmVudEVtaXR0ZXIoKTtcclxuICBcclxuICBAVmlld0NoaWxkKCdkYXRlRmlsdGVyJykgcHJpdmF0ZSBkYXRlRmlsdGVyOiBhbnk7XHJcblxyXG4gIHR5cGVWaWV3OiBDYWxlbmRhclR5cGVWaWV3ID0gJ2RhdGUnO1xyXG4gIGRhdGVGb3JtYXQ6IHN0cmluZyA9ICdkZC9tbS95eSc7XHJcblxyXG4gIHNjcmVlbldpZHRoITogbnVtYmVyO1xyXG5cclxuICBjb25zdHJ1Y3Rvcihjb21wb25lbnRTZXJ2aWNlOiBDb21wb25lbnRTZXJ2aWNlKSB7XHJcbiAgICBzdXBlcihjb21wb25lbnRTZXJ2aWNlKTtcclxuICB9XHJcblxyXG4gIEBIb3N0TGlzdGVuZXIoJ3dpbmRvdzpyZXNpemUnLCBbJyRldmVudCddKVxyXG4gIG9uV2luZG93UmVzaXplKCkge1xyXG4gICAgdGhpcy5zY3JlZW5XaWR0aCA9IHdpbmRvdy5pbm5lcldpZHRoO1xyXG4gIH1cclxuXHJcbiAgb3ZlcnJpZGUgd3JpdGVWYWx1ZSh2YWx1ZTogRGF0ZSk6IHZvaWQge1xyXG4gICAgdGhpcy52YWx1ZSA9IHZhbHVlO1xyXG5cclxuICAgIGlmICh2YWx1ZSAmJiB0eXBlb2YgdmFsdWUgPT09ICdzdHJpbmcnKSB7XHJcbiAgICAgIHRoaXMudmFsdWUgPSBuZXcgRGF0ZSh2YWx1ZSk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBvdmVycmlkZSBuZ09uSW5pdCgpOiB2b2lkIHtcclxuICAgIHN1cGVyLm5nT25Jbml0KCk7XHJcblxyXG4gICAgaWYgKHRoaXMuaXNZZWFyKSB7XHJcbiAgICAgIHRoaXMudHlwZVZpZXcgPSAneWVhcic7XHJcbiAgICAgIHRoaXMuZGF0ZUZvcm1hdCA9ICd5eSc7XHJcbiAgICB9IGVsc2UgaWYgKHRoaXMuaXNNb250aFllYXIpIHtcclxuICAgICAgdGhpcy50eXBlVmlldyA9ICdtb250aCc7XHJcbiAgICAgIHRoaXMuZGF0ZUZvcm1hdCA9ICdtbS95eSc7XHJcbiAgICB9IGVsc2Uge1xyXG4gICAgICB0aGlzLnR5cGVWaWV3ID0gJ2RhdGUnO1xyXG4gICAgICB0aGlzLmRhdGVGb3JtYXQgPSAnZGQvbW0veXknO1xyXG4gICAgfVxyXG5cclxuICAgIHRoaXMuc2NyZWVuV2lkdGggPSB3aW5kb3cuaW5uZXJXaWR0aDtcclxuICB9XHJcblxyXG4gIHByb3RlY3RlZCBvbklucHV0Q2hhbmdlKGV2ZW50OiBhbnkpIHtcclxuICAgIHRoaXMuaGlkZU9uUmFuZ2VNb2RlKCk7XHJcbiAgICB0aGlzLm9uU2VsZWN0aW9uVmFsdWUuZW1pdChldmVudCk7XHJcblxyXG4gICAgaWYgKHRoaXMuZm9ybUNvbnRyb2wpIHtcclxuICAgICAgdGhpcy5vblNlbGVjdGlvbkNoYW5nZS5lbWl0KHRoaXMuZm9ybUNvbnRyb2wudmFsdWUpO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgaGlkZU9uUmFuZ2VNb2RlKCkge1xyXG4gICAgaWYgKHRoaXMuc2VsZWN0aW9uTW9kZSA9PSAncmFuZ2UnKSB7XHJcbiAgICAgIGlmICh0aGlzLmRhdGVGaWx0ZXIudmFsdWVbMV0pIHtcclxuICAgICAgICB0aGlzLmRhdGVGaWx0ZXIuaGlkZU92ZXJsYXkoKTtcclxuICAgICAgfVxyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgbGFzdElucHV0VmFsdWU6IHN0cmluZyA9ICcnO1xyXG4gIG9uS2V5RGF0ZShldmVudDogYW55KSB7XHJcbiAgICBpZiAodGhpcy50eXBlVmlldyA9PT0gJ2RhdGUnKSB7XHJcblxyXG4gICAgICBjb25zdCBpbnB1dEVsZW1lbnQgPSBldmVudC50YXJnZXQ7XHJcblxyXG4gICAgICBsZXQgaW5wdXRWYWx1ZSA9IGlucHV0RWxlbWVudC52YWx1ZS5yZXBsYWNlKC9cXEQvZywgJycpOyAvLyBSZW1vdmUgdHVkbyBxdWUgbsOjbyBzZWphIGTDrWdpdG9cclxuXHJcbiAgICAgIGNvbnN0IGN1cnNvclBvc2l0aW9uID0gaW5wdXRFbGVtZW50LnNlbGVjdGlvblN0YXJ0OyAvLyBQZWdhIGEgcG9zacOnw6NvIGF0dWFsIGRvIGN1cnNvclxyXG5cclxuICAgICAgLy8gTGltaXRhIGEgZW50cmFkYSBhIDggY2FyYWN0ZXJlcyAoZGRtbXl5eXkpXHJcbiAgICAgIGlmIChpbnB1dFZhbHVlLmxlbmd0aCA+IDgpIHtcclxuICAgICAgICBpbnB1dFZhbHVlID0gaW5wdXRWYWx1ZS5zdWJzdHJpbmcoMCwgOCk7XHJcbiAgICAgIH1cclxuXHJcbiAgICAgIGlucHV0VmFsdWUgPSB0aGlzLm1hc2tEYXRlKGlucHV0VmFsdWUpO1xyXG4gICAgICBsZXQgaW5kQWRpY2FvID1cclxuICAgICAgICBpbnB1dFZhbHVlLmxlbmd0aCA+IHRoaXMubGFzdElucHV0VmFsdWUubGVuZ3RoID8gdHJ1ZSA6IGZhbHNlO1xyXG5cclxuICAgICAgdGhpcy5sYXN0SW5wdXRWYWx1ZSA9IGlucHV0VmFsdWU7XHJcblxyXG4gICAgICAvLyBDYWxjdWxhIGEgZGlmZXJlbsOnYSBkZSB0YW1hbmhvIGFww7NzIGFwbGljYXIgYSBtw6FzY2FyYVxyXG4gICAgICBjb25zdCBtYXNrZWRMZW5ndGggPSBpbnB1dFZhbHVlLmxlbmd0aDtcclxuICAgICAgY29uc3QgbGVuZ3RoRGlmZiA9IG1hc2tlZExlbmd0aCAtIHRoaXMubGFzdElucHV0VmFsdWUubGVuZ3RoO1xyXG5cclxuICAgICAgLy8gQXR1YWxpemEgbyB2YWxvciBkbyBpbnB1dCBzZW0gcGVyZGVyIGEgcG9zacOnw6NvIGRvIGN1cnNvclxyXG4gICAgICBpbnB1dEVsZW1lbnQudmFsdWUgPSBpbnB1dFZhbHVlO1xyXG5cclxuICAgICAgLy8gQWp1c3RhIGEgcG9zacOnw6NvIGRvIGN1cnNvciBkZSBhY29yZG8gY29tIGEgbXVkYW7Dp2EgY2F1c2FkYSBwZWxhIG3DoXNjYXJhXHJcbiAgICAgIGxldCBuZXdDdXJzb3JQb3NpdGlvbiA9IGN1cnNvclBvc2l0aW9uICsgbGVuZ3RoRGlmZjtcclxuXHJcbiAgICAgIC8vIFNlIG8gY3Vyc29yIGVzdGF2YSBleGF0YW1lbnRlIGVtIHVtYSBwb3Npw6fDo28gZGUgYmFycmEgZSBmb2kgdW1hIGFkacOnw6NvLCBhanVzdGEgcGFyYSBwdWxhciBhIGJhcnJhICggc29tZW50ZSBuYSBhZGnDp8OjbyBkZSBjYXJhY3RlcmVzIClcclxuICAgICAgaWYgKGluZEFkaWNhbykge1xyXG4gICAgICAgIGlmIChjdXJzb3JQb3NpdGlvbiA9PT0gMyB8fCBjdXJzb3JQb3NpdGlvbiA9PT0gNikge1xyXG4gICAgICAgICAgbmV3Q3Vyc29yUG9zaXRpb24gKz0gMTtcclxuICAgICAgICB9XHJcbiAgICAgIH1cclxuICAgICAgLy8gRXZpdGEgcXVlIG8gY3Vyc29yIHbDoSBhbMOpbSBkbyBmaW5hbCBkbyB2YWxvciBkaWdpdGFkb1xyXG4gICAgICBpZiAobmV3Q3Vyc29yUG9zaXRpb24gPiBpbnB1dEVsZW1lbnQudmFsdWUubGVuZ3RoKSB7XHJcbiAgICAgICAgbmV3Q3Vyc29yUG9zaXRpb24gPSBpbnB1dEVsZW1lbnQudmFsdWUubGVuZ3RoO1xyXG4gICAgICB9XHJcblxyXG4gICAgICAvLyBEZWZpbmUgYSBub3ZhIHBvc2nDp8OjbyBkbyBjdXJzb3JcclxuICAgICAgaW5wdXRFbGVtZW50LnNldFNlbGVjdGlvblJhbmdlKG5ld0N1cnNvclBvc2l0aW9uLCBuZXdDdXJzb3JQb3NpdGlvbik7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBvdmVycmlkZSBvbklucHV0Qmx1cihldmVudDogRXZlbnQpOiB2b2lkIHtcclxuICAgIHN1cGVyLm9uSW5wdXRCbHVyKGV2ZW50KTtcclxuICAgIFxyXG4gICAgaWYgKHRoaXMudHlwZVZpZXcgPT09ICdkYXRlJykge1xyXG4gICAgICBjb25zdCBpbnB1dCA9IGV2ZW50LnRhcmdldCBhcyBIVE1MSW5wdXRFbGVtZW50OyAvLyBDYXN0IHBhcmEgSFRNTElucHV0RWxlbWVudFxyXG4gICAgICBpZiAoaW5wdXQgJiYgaW5wdXQudmFsdWUpIHtcclxuICAgICAgICBjb25zdCBkYXRlU3RyaW5nID0gaW5wdXQudmFsdWU7IC8vIFBlZ2EgbyB2YWxvciBkbyBpbnB1dFxyXG4gICAgICAgIGNvbnN0IFtkYXksIG1vbnRoLCB5ZWFyXSA9IGRhdGVTdHJpbmcuc3BsaXQoJy8nKTtcclxuXHJcblxyXG4gICAgICAgIC8vIFZlcmlmaWNhIHNlIMOpIHVtYSBkYXRhIHbDoWxpZGFcclxuICAgICAgICBpZiAoXHJcbiAgICAgICAgICBkYXkgJiZcclxuICAgICAgICAgIG1vbnRoICYmXHJcbiAgICAgICAgICB5ZWFyICYmXHJcbiAgICAgICAgICBkYXkubGVuZ3RoID09PSAyICYmXHJcbiAgICAgICAgICBtb250aC5sZW5ndGggPT09IDIgJiZcclxuICAgICAgICAgIHllYXIubGVuZ3RoID09PSA0XHJcbiAgICAgICAgKSB7XHJcblxyXG4gICAgICAgICAgY29uc3Qgb2JqRGF0ZSA9IG5ldyBEYXRlKCt5ZWFyLCArbW9udGggLSAxLCArZGF5KTtcclxuXHJcbiAgICAgICAgICBpZiAoKCFpc05hTihvYmpEYXRlLmdldFRpbWUoKSkpICYmICEoK21vbnRoID4gMTIgfHwgK2RheSA+IDMxKSkge1xyXG4gICAgICAgICAgICB0aGlzLmRhdGVGaWx0ZXIudmFsdWUgPSBvYmpEYXRlOyAvLyBBdHJpYnVpIGEgZGF0YSBzZW0gYmFycmFzIGFvIGRhdGVGaWx0ZXJcclxuICAgICAgICAgIH1lbHNle1xyXG4gICAgICAgICAgICB0aGlzLmZvcm1Db250cm9sPy5zZXRFcnJvcnMoeyBpbnZhbGlkRGF0ZTogdHJ1ZSwgZXJyb01lc3NhZ2U6ICdEYXRhIEludmFsaWRhIScgfSk7XHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG5cclxuXHJcbiAgICAgICAgXHJcblxyXG5cclxuICAgICAgfVxyXG4gICAgfVxyXG5cclxuICB9XHJcblxyXG4gIG1hc2tEYXRlKGRhdGU6IHN0cmluZyk6IHN0cmluZyB7XHJcbiAgICAvLyBBcGxpY2EgYSBtw6FzY2FyYSAoZGQvbW0veXl5eSlcclxuICAgIGxldCBkYXRlTWFza2VkID0gZGF0ZTtcclxuICAgIGlmIChkYXRlLmxlbmd0aCA+PSA1KSB7XHJcbiAgICAgIGRhdGVNYXNrZWQgPSBkYXRlLnJlcGxhY2UoL14oXFxkezJ9KShcXGR7Mn0pKFxcZHswLDR9KS8sICckMS8kMi8kMycpOyAvLyBGb3JtYXRhIGNvbW8gZGQvbW0veXl5eVxyXG4gICAgfSBlbHNlIGlmIChkYXRlLmxlbmd0aCA+PSAzKSB7XHJcbiAgICAgIGRhdGVNYXNrZWQgPSBkYXRlLnJlcGxhY2UoL14oXFxkezJ9KShcXGR7MCwyfSkvLCAnJDEvJDInKTsgLy8gRm9ybWF0YSBjb21vIGRkL21tXHJcbiAgICB9XHJcbiAgICByZXR1cm4gZGF0ZU1hc2tlZDtcclxuICB9XHJcbn1cclxuIiwiPHNwYW4+XHJcbiAgPGt2LWxhYmVsXHJcbiAgICBbY29tcG9uZW50SWRdPVwiY29tcG9uZW50SWRcIlxyXG4gICAgW2xhYmVsXT1cImxhYmVsICYmIGxhYmVsICsgKHNob3dBc3RlcmlzayA/ICcqJyA6ICcnKVwiXHJcbiAgLz5cclxuICA8cC1jYWxlbmRhclxyXG5cclxuICAgIGRhdGVNYXNrXHJcbiAgICAob25JbnB1dCk9XCJvbktleURhdGUoJGV2ZW50KVwiXHJcblxyXG4gICAgI2RhdGVGaWx0ZXJcclxuICAgIGFwcGVuZFRvPVwiYm9keVwiXHJcbiAgICBbY2xhc3NdPVwiYmFzZUlucHV0Q2xhc3NcIlxyXG4gICAgW2lkXT1cImNvbXBvbmVudElkXCJcclxuICAgIFsobmdNb2RlbCldPVwidmFsdWVcIlxyXG4gICAgW2Rpc2FibGVkXT1cImRpc2FibGVkXCJcclxuICAgIFttaW5EYXRlXT1cIm1pbkRhdGVcIlxyXG4gICAgW21heERhdGVdPVwibWF4RGF0ZVwiXHJcbiAgICBbc2VsZWN0aW9uTW9kZV09XCJzZWxlY3Rpb25Nb2RlXCJcclxuICAgIFtzaG93QnV0dG9uQmFyXT1cInNob3dCdXR0b25CYXJcIlxyXG4gICAgW3Nob3dJY29uXT1cInNob3dJY29uXCJcclxuICAgIFtzaG93VGltZV09XCJzaG93VGltZVwiXHJcbiAgICBbc2hvd09uRm9jdXNdPVwic2hvd1RpbWUgfHwgc2NyZWVuV2lkdGggPiAxMzY2IHx8IHNlbGVjdGlvbk1vZGUgPT0gJ3JhbmdlJ1wiXHJcbiAgICBbdmlld109XCJ0eXBlVmlld1wiXHJcbiAgICBbZGF0ZUZvcm1hdF09XCJkYXRlRm9ybWF0XCJcclxuICAgIChvbkJsdXIpPVwib25JbnB1dEJsdXIoJGV2ZW50KVwiXHJcbiAgICAob25DbG9zZSk9XCJvbklucHV0Q2xvc2UoJGV2ZW50KVwiXHJcbiAgICAob25TZWxlY3QpPVwib25JbnB1dENoYW5nZSgkZXZlbnQpXCJcclxuICAgIHN0eWxlQ2xhc3M9XCJpbnB1dHNcIlxyXG4gICAgW3BsYWNlaG9sZGVyXT1cInBsYWNlaG9sZGVyXCJcclxuICA+XHJcbiAgPC9wLWNhbGVuZGFyPlxyXG5cclxuICA8a3YtZXJyb3IgW2hhc0Vycm9yXT1cImhhc0NvbnRyb2xFcnJvcigpXCI+e3sgZXJyb01lc3NhZ2UoKSB9fTwva3YtZXJyb3I+XHJcbjwvc3Bhbj5cclxuPG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50PlxyXG4iXX0=