@acorex/components 3.0.11 → 3.0.15

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.
Files changed (34) hide show
  1. package/acorex-components.metadata.json +1 -1
  2. package/bundles/acorex-components.umd.js +30 -20
  3. package/bundles/acorex-components.umd.js.map +1 -1
  4. package/bundles/acorex-components.umd.min.js +1 -1
  5. package/bundles/acorex-components.umd.min.js.map +1 -1
  6. package/esm2015/lib/base/element.class.js +5 -1
  7. package/esm2015/lib/button/button.component.js +2 -2
  8. package/esm2015/lib/calendar/calendar-box/calendar-box.component.js +2 -2
  9. package/esm2015/lib/checkbox/checkbox.component.js +16 -11
  10. package/esm2015/lib/date-picker/date-picker.component.js +3 -3
  11. package/esm2015/lib/dialog/dialog.component.js +2 -2
  12. package/esm2015/lib/dropdown/dropdown.component.js +2 -2
  13. package/esm2015/lib/number-box/number-box.component.js +2 -2
  14. package/esm2015/lib/password-box/password-box.component.js +2 -2
  15. package/esm2015/lib/popup/popup.component.js +1 -1
  16. package/esm2015/lib/searchbox/searchbox.component.js +2 -2
  17. package/esm5/lib/base/element.class.js +5 -1
  18. package/esm5/lib/button/button.component.js +2 -2
  19. package/esm5/lib/calendar/calendar-box/calendar-box.component.js +2 -2
  20. package/esm5/lib/checkbox/checkbox.component.js +17 -11
  21. package/esm5/lib/date-picker/date-picker.component.js +3 -3
  22. package/esm5/lib/dialog/dialog.component.js +2 -2
  23. package/esm5/lib/dropdown/dropdown.component.js +2 -2
  24. package/esm5/lib/number-box/number-box.component.js +2 -2
  25. package/esm5/lib/password-box/password-box.component.js +2 -2
  26. package/esm5/lib/popup/popup.component.js +1 -1
  27. package/esm5/lib/searchbox/searchbox.component.js +2 -2
  28. package/fesm2015/acorex-components.js +29 -20
  29. package/fesm2015/acorex-components.js.map +1 -1
  30. package/fesm5/acorex-components.js +30 -20
  31. package/fesm5/acorex-components.js.map +1 -1
  32. package/lib/base/element.class.d.ts +1 -0
  33. package/lib/dialog/dialog.component.d.ts +1 -1
  34. package/package.json +1 -1
@@ -8,6 +8,10 @@ export class AXBaseComponent {
8
8
  this.uid = AXHtmlUtil.getUID();
9
9
  }
10
10
  }
11
+ __decorate([
12
+ Input(),
13
+ __metadata("design:type", String)
14
+ ], AXBaseComponent.prototype, "cssClass", void 0);
11
15
  export class AXBaseInputChangeEvent extends AXValueEvent {
12
16
  }
13
17
  export class AXValidatableComponent extends AXBaseComponent {
@@ -313,4 +317,4 @@ __decorate([
313
317
  Input(),
314
318
  __metadata("design:type", Boolean)
315
319
  ], AXBaseDropdownComponent.prototype, "showDropDownButton", void 0);
316
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZWxlbWVudC5jbGFzcy5qcyIsInNvdXJjZVJvb3QiOiJuZzovL0BhY29yZXgvY29tcG9uZW50cy8iLCJzb3VyY2VzIjpbImxpYi9iYXNlL2VsZW1lbnQuY2xhc3MudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBLE9BQU8sRUFBRSxLQUFLLEVBQUUsTUFBTSxFQUFFLFlBQVksRUFBcUIsU0FBUyxFQUFFLFVBQVUsRUFBRSxZQUFZLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDcEgsT0FBTyxFQUF5QixZQUFZLEVBQUUsTUFBTSxvQ0FBb0MsQ0FBQztBQUV6RixPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sY0FBYyxDQUFDO0FBQzFDLE9BQU8sRUFBd0IsWUFBWSxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFJcEUsTUFBTSxPQUFnQixlQUFlO0lBRW5DO1FBREEsUUFBRyxHQUFXLFVBQVUsQ0FBQyxNQUFNLEVBQUUsQ0FBQztJQUVsQyxDQUFDO0NBQ0Y7QUFHRCxNQUFNLE9BQU8sc0JBQXVCLFNBQVEsWUFBaUI7Q0FFNUQ7QUEyQkQsTUFBTSxPQUFnQixzQkFBdUIsU0FBUSxlQUFlO0lBQXBFOztRQUVVLGlCQUFZLEdBQVcsT0FBTyxDQUFDO1FBTXZDLGFBQVEsR0FBVyxDQUFDLENBQUM7SUE4RXZCLENBQUM7SUE1RVcsY0FBYyxDQUN0QixVQUFzQixFQUN0QixVQUFrQixFQUNsQixVQUF3QjtRQUV4QixJQUFJLENBQUMsZUFBZSxHQUFHLFVBQVUsQ0FBQyxhQUFhLENBQUM7UUFDaEQsSUFBSSxDQUFDLFlBQVksR0FBRyxVQUFVLENBQUM7UUFDL0IsSUFBSSxDQUFDLFlBQVksR0FBRyxVQUFVLENBQUM7UUFDL0IsTUFBTSxLQUFLLEdBQUcsSUFBSSxDQUFDLElBQUksQ0FBQyxZQUFZLENBQUMsQ0FBQTtRQUNyQyxJQUFJLENBQUMsQ0FBQyxLQUFLLENBQUMsT0FBTyxDQUFDLEtBQUssQ0FBQyxJQUFJLEtBQUssQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLE9B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cUJBQXNCLFNBQVEsZUFBZTtJQUFuRTs7UUFNRSxVQUFLLEdBQTBDLElBQUksWUFBWSxFQUEyQixDQUFDO1FBTTNGLGFBQVEsR0FBVyxDQUFDLENBQUM7SUFFdkIsQ0FBQztDQUFBO0FBWEM7SUFEQyxLQUFLLEVBQUU7O3VEQUNVO0FBR2xCO0lBREMsTUFBTSxFQUFFOzhCQUNGLFlBQVk7b0RBQXdFO0FBRzNGO0lBREMsS0FBSyxFQUFFOzttREFDWTtBQUdwQjtJQURDLEtBQUssRUFBRTs7dURBQ2E7QUFJdkIsTUFBTSxPQUFnQix1QkFBd0IsU0FBUSxlQUFlO0lBQXJFOztRQVNFLGNBQVMsR0FBWSxJQUFJLENBQUM7UUFHMUIsYUFBUSxHQUFXLENBQUMsQ0FBQztRQUdyQix1QkFBa0IsR0FBWSxJQUFJLENBQUM7SUFJckMsQ0FBQztDQUFBO0FBaEJDO0lBREMsS0FBSyxFQUFFOzt5REFDVTtBQUdsQjtJQURDLEtBQUssRUFBRTs7cURBQ1k7QUFHcEI7SUFEQyxLQUFLLEVBQUU7OzBEQUNrQjtBQUcxQjtJQURDLEtBQUssRUFBRTs7eURBQ2E7QUFHckI7SUFEQyxLQUFLLEVBQUU7O21FQUMyQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IElucHV0LCBPdXRwdXQsIEV2ZW50RW1pdHRlciwgQ2hhbmdlRGV0ZWN0b3JSZWYsIFZpZXdDaGlsZCwgRWxlbWVudFJlZiwgQ29udGVudENoaWxkIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IEFYVmFsaWRhdGlvbkNvbXBvbmVudCwgQVhWYWxpZGF0aW9uIH0gZnJvbSAnLi4vdmFsaWRhdGlvbi92YWxpZGF0aW9uLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IEFYVmFsaWRhdGlvblJ1bGVSZXN1bHQgfSBmcm9tICcuLi92YWxpZGF0aW9uL3ZhbGlkYXRpb24uY2xhc3MnO1xyXG5pbXBvcnQgeyBBWEh0bWxVdGlsIH0gZnJvbSAnQGFjb3JleC9jb3JlJztcclxuaW1wb3J0IHsgQVhFdmVudCwgQVhIdG1sRXZlbnQsIEFYVmFsdWVFdmVudCB9IGZyb20gJy4vZXZlbnRzLmNsYXNzJztcclxuXHJcbmV4cG9ydCB0eXBlIEFYRWxlbWVudFNpemUgPSAneHMnIHwgJ3NtJyB8ICdtZCcgfCAnbGcnIHwgJ3hsJztcclxuXHJcbmV4cG9ydCBhYnN0cmFjdCBjbGFzcyBBWEJhc2VDb21wb25lbnQge1xyXG4gIHVpZDogc3RyaW5nID0gQVhIdG1sVXRpbC5nZXRVSUQoKTtcclxuICBjb25zdHJ1Y3RvcigpIHtcclxuICB9XHJcbn1cclxuXHJcblxyXG5leHBvcnQgY2xhc3MgQVhCYXNlSW5wdXRDaGFuZ2VFdmVudCBleHRlbmRzIEFYVmFsdWVFdmVudDxhbnk+IHtcclxuICBpc1VzZXJDaGFuZ2U/OiBib29sZWFuO1xyXG59XHJcblxyXG5leHBvcnQgaW50ZXJmYWNlIEFYQmFzZVNpemFibGVDb21wb25lbnQge1xyXG4gIHNpemU6IEFYRWxlbWVudFNpemU7XHJcbn1cclxuXHJcbmV4cG9ydCBpbnRlcmZhY2UgQVhCYXNlSW50ZXJhY3RpdmVDb21wb25lbnQge1xyXG4gIGRpc2FibGVkOiBib29sZWFuO1xyXG4gIHRhYkluZGV4OiBudW1iZXI7XHJcbn1cclxuXHJcbmV4cG9ydCBpbnRlcmZhY2UgQVhCYXNlSW5wdXRDb21wb25lbnQgZXh0ZW5kcyBBWEJhc2VJbnRlcmFjdGl2ZUNvbXBvbmVudCB7XHJcbiAgcmVhZG9ubHk6IGJvb2xlYW47XHJcbiAgZm9jdXMoKTogdm9pZDtcclxufVxyXG5cclxuXHJcbmV4cG9ydCBpbnRlcmZhY2UgQVhCYXNlVmFsdWVDb21wb25lbnQ8VD4gZXh0ZW5kcyBBWEJhc2VJbnB1dENvbXBvbmVudCB7XHJcbiAgb25WYWx1ZUNoYW5nZWQ/OiBFdmVudEVtaXR0ZXI8QVhWYWx1ZUV2ZW50PFQ+PjtcclxuICB2YWx1ZUNoYW5nZT86IEV2ZW50RW1pdHRlcjxUPjtcclxuICB2YWx1ZTogVDtcclxufVxyXG5cclxuZXhwb3J0IGludGVyZmFjZSBBWEJhc2VDbGlja2FibGVDb21wb25lbnQgZXh0ZW5kcyBBWEJhc2VJbnRlcmFjdGl2ZUNvbXBvbmVudCB7XHJcbiAgY2xpY2s6IEV2ZW50RW1pdHRlcjxBWEh0bWxFdmVudDxNb3VzZUV2ZW50Pj47XHJcbn1cclxuXHJcbmV4cG9ydCBhYnN0cmFjdCBjbGFzcyBBWFZhbGlkYXRhYmxlQ29tcG9uZW50IGV4dGVuZHMgQVhCYXNlQ29tcG9uZW50IHtcclxuXHJcbiAgcHJpdmF0ZSBfX3ZhbHVlRmllbGQ6IHN0cmluZyA9ICd2YWx1ZSc7XHJcbiAgcHJpdmF0ZSBfX25hdGl2ZUVsZW1lbnQ6IEhUTUxFbGVtZW50O1xyXG4gIHByaXZhdGUgX192YWxpZGF0aW9uOiBBWFZhbGlkYXRpb247XHJcblxyXG5cclxuICBASW5wdXQoKVxyXG4gIHRhYkluZGV4OiBudW1iZXIgPSAwO1xyXG5cclxuICBwcm90ZWN0ZWQgaW5pdFZhbGlkYXRpb24oXHJcbiAgICBlbGVtZW50UmVmOiBFbGVtZW50UmVmLFxyXG4gICAgdmFsdWVGaWVsZDogc3RyaW5nLFxyXG4gICAgdmFsaWRhdGlvbjogQVhWYWxpZGF0aW9uXHJcbiAgKSB7XHJcbiAgICB0aGlzLl9fbmF0aXZlRWxlbWVudCA9IGVsZW1lbnRSZWYubmF0aXZlRWxlbWVudDtcclxuICAgIHRoaXMuX192YWx1ZUZpZWxkID0gdmFsdWVGaWVsZDtcclxuICAgIHRoaXMuX192YWxpZGF0aW9uID0gdmFsaWRhdGlvbjtcclxuICAgIGNvbnN0IHZhbHVlID0gdGhpc1t0aGlzLl9fdmFsdWVGaWVsZF1cclxuICAgIGlmICgoIUFycmF5LmlzQXJyYXkodmFsdWUpICYmIHZhbHVlKSB8fCAoQXJyYXkuaXNBcnJheSh2YWx1ZSkgJiYgdmFsdWUubGVuZ3RoID4gMCkpXHJcbiAgICAgIHRoaXMudmFsaWRhdGUoKTtcclxuICB9XHJcblxyXG4gIGdldCB2YWxpZGF0aW9uKCkge1xyXG4gICAgcmV0dXJuIHRoaXMuX192YWxpZGF0aW9uO1xyXG4gIH1cclxuXHJcbiAgdmFsaWRhdGUoKTogUHJvbWlzZTxBWFZhbGlkYXRpb25SdWxlUmVzdWx0PiB7XHJcbiAgICBpZiAodGhpcy5fX3ZhbGlkYXRpb24gIT09IHVuZGVmaW5lZCAmJiAodGhpcy5fX3ZhbGlkYXRpb24ucnVsZXMgfHwgW10pLmxlbmd0aCA+IDApIHtcclxuICAgICAgY29uc3QgcmVzdWx0ID0gdGhpcy5fX3ZhbGlkYXRpb24udmFsaWRhdGUodGhpc1t0aGlzLl9fdmFsdWVGaWVsZF0pO1xyXG4gICAgICByZXN1bHQudGhlbihjID0+IHtcclxuICAgICAgICBpZiAoYy5yZXN1bHQpIHtcclxuICAgICAgICAgIHRoaXMuY2xlYXJWYWxpZGF0aW9uU3R5bGUodGhpcy5fX25hdGl2ZUVsZW1lbnQpO1xyXG4gICAgICAgIH1cclxuICAgICAgICBlbHNlIHtcclxuICAgICAgICAgIHRoaXMuYXBwbHlWYWxpZGF0aW9uU3R5bGUodGhpcy5fX25hdGl2ZUVsZW1lbnQsIGMpO1xyXG4gICAgICAgIH1cclxuICAgICAgfSk7XHJcbiAgICAgIHJldHVybiByZXN1bHQ7XHJcbiAgICB9XHJcbiAgICBlbHNlIHtcclxuICAgICAgcmV0dXJuIFByb21pc2UucmVzb2x2ZSh7IHJlc3VsdDogdHJ1ZSB9KTtcclxuICAgIH1cclxuICB9XHJcblxyXG5cclxuICBwcm90ZWN0ZWQgY2xlYXJWYWxpZGF0aW9uU3R5bGUoZWxlbWVudDogSFRNTEVsZW1lbnQsIGNsZWFyOiBib29sZWFuID0gZmFsc2UpIHtcclxuICAgIGlmICh0aGlzLl9fdmFsaWRhdGlvbiAhPT0gdW5kZWZpbmVkICYmICh0aGlzLl9fdmFsaWRhdGlvbi5ydWxlcyB8fCBbXSkubGVuZ3RoID4gMCkge1xyXG4gICAgICBjb25zdCBmb3JtR3JvdXAgPSBlbGVtZW50LmNsb3Nlc3QoJy5mb3JtLWdyb3VwJyk7XHJcbiAgICAgIGNvbnN0IGZvcm1JdGVtID0gZm9ybUdyb3VwPy5xdWVyeVNlbGVjdG9yKCcuZm9ybS1pdGVtJykgfHwgZWxlbWVudC5jbG9zZXN0KCcuZm9ybS1pdGVtJykgfHwgZWxlbWVudC5xdWVyeVNlbGVjdG9yKCcuZm9ybS1pdGVtJyk7O1xyXG4gICAgICBjb25zdCBsYWJlbCA9IGZvcm1Hcm91cD8ucXVlcnlTZWxlY3RvcignLmZvcm0tZ3JvdXAtbGFiZWwnKTtcclxuICAgICAgY29uc3QgcGFyZW50ID0gZm9ybUl0ZW0/LnBhcmVudEVsZW1lbnQgfHwgZWxlbWVudC5wYXJlbnRFbGVtZW50O1xyXG5cclxuICAgICAgZm9ybUl0ZW0/LmNsYXNzTGlzdC5yZW1vdmUoJ3N1Y2Nlc3Mtc3RhdGUnKTtcclxuICAgICAgZm9ybUl0ZW0/LmNsYXNzTGlzdC5yZW1vdmUoJ2Vycm9yLXN0YXRlJyk7XHJcbiAgICAgIC8vZm9ybUl0ZW0/LmNsYXNzTGlzdC5yZW1vdmUoJ3JlcXVpcmVkLXN0YXRlJyk7XHJcbiAgICAgIGlmICghY2xlYXIpIHtcclxuICAgICAgICBmb3JtSXRlbT8uY2xhc3NMaXN0LmFkZCgnc3VjY2Vzcy1zdGF0ZScpO1xyXG4gICAgICB9XHJcbiAgICAgIC8vIGxhYmVsPy5jbGFzc0xpc3QucmVtb3ZlKCdlcnJvci10ZXh0Jyk7XHJcbiAgICAgIGlmIChwYXJlbnQucXVlcnlTZWxlY3Rvcignc3Bhbi5lcnJvci10ZXh0JykpIHtcclxuICAgICAgICBwYXJlbnQucmVtb3ZlQ2hpbGQocGFyZW50LnF1ZXJ5U2VsZWN0b3IoJ3NwYW4uZXJyb3ItdGV4dCcpKTtcclxuICAgICAgfVxyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgcHJvdGVjdGVkIGFwcGx5VmFsaWRhdGlvblN0eWxlKGVsZW1lbnQ6IEhUTUxFbGVtZW50LCB2OiBBWFZhbGlkYXRpb25SdWxlUmVzdWx0KTogdm9pZCB7XHJcbiAgICBpZiAodGhpcy5fX3ZhbGlkYXRpb24gIT09IHVuZGVmaW5lZCAmJiAodGhpcy5fX3ZhbGlkYXRpb24ucnVsZXMgfHwgW10pLmxlbmd0aCA+IDApIHtcclxuICAgICAgY29uc3QgZm9ybUdyb3VwID0gZWxlbWVudC5jbG9zZXN0KCcuZm9ybS1ncm91cCcpO1xyXG4gICAgICBjb25zdCBmb3JtSXRlbSA9IGZvcm1Hcm91cD8ucXVlcnlTZWxlY3RvcignLmZvcm0taXRlbScpIHx8IGVsZW1lbnQuY2xvc2VzdCgnLmZvcm0taXRlbScpIHx8IGVsZW1lbnQucXVlcnlTZWxlY3RvcignLmZvcm0taXRlbScpO1xyXG4gICAgICBjb25zdCBsYWJlbCA9IGZvcm1Hcm91cD8ucXVlcnlTZWxlY3RvcignLmZvcm0tZ3JvdXAtbGFiZWwnKTtcclxuICAgICAgY29uc3QgcGFyZW50ID0gZm9ybUl0ZW0/LnBhcmVudEVsZW1lbnQgfHwgZWxlbWVudC5wYXJlbnRFbGVtZW50O1xyXG4gICAgICBmb3JtSXRlbT8uY2xhc3NMaXN0LmFkZCgnZXJyb3Itc3RhdGUnKTtcclxuICAgICAgZm9ybUl0ZW0/LmNsYXNzTGlzdC5yZW1vdmUoJ3N1Y2Nlc3Mtc3RhdGUnKTtcclxuICAgICAgaWYgKHBhcmVudC5xdWVyeVNlbGVjdG9yKCdzcGFuLmVycm9yLXRleHQnKSkge1xyXG4gICAgICAgIHBhcmVudC5yZW1vdmVDaGlsZChwYXJlbnQucXVlcnlTZWxlY3Rvcignc3Bhbi5lcnJvci10ZXh0JykpO1xyXG4gICAgICB9XHJcbiAgICAgIGlmICh0aGlzLl9fdmFsaWRhdGlvbi5zaG93TWVzc2FnZSkge1xyXG4gICAgICAgIGNvbnN0IHNwYW4gPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCdzcGFuJyk7XHJcbiAgICAgICAgc3Bhbi5pbm5lclRleHQgPSB2Lm1lc3NhZ2U7XHJcbiAgICAgICAgc3Bhbi5jbGFzc0xpc3QuYWRkKCdheCcsICdlcnJvci10ZXh0Jyk7XHJcbiAgICAgICAgcGFyZW50LmFwcGVuZENoaWxkKHNwYW4pO1xyXG4gICAgICB9XHJcbiAgICAgIC8vIGxhYmVsPy5jbGFzc0xpc3QuYWRkKCdlcnJvci10ZXh0Jyk7XHJcbiAgICB9XHJcbiAgfVxyXG59XHJcblxyXG5cclxuXHJcblxyXG5leHBvcnQgYWJzdHJhY3QgY2xhc3MgQVhCYXNlVGV4dENvbXBvbmVudCBleHRlbmRzIEFYVmFsaWRhdGFibGVDb21wb25lbnQgaW1wbGVtZW50cyBBWEJhc2VTaXphYmxlQ29tcG9uZW50LCBBWEJhc2VWYWx1ZUNvbXBvbmVudDxzdHJpbmc+IHtcclxuXHJcbiAgbmdBZnRlclZpZXdJbml0KCkge1xyXG4gICAgaWYgKHRoaXMuaW5wdXQpIHtcclxuICAgICAgdGhpcy5pbnB1dC5uYXRpdmVFbGVtZW50Lm9ua2V5dXAgPSAoZSkgPT4ge1xyXG4gICAgICAgIHRoaXMudXNlckNoYW5nZSA9IHRydWU7XHJcbiAgICAgICAgdGhpcy52YWx1ZSA9IChlLnRhcmdldCBhcyBhbnkpLnZhbHVlO1xyXG4gICAgICAgIHRoaXMub25rZXkuZW1pdChlKTtcclxuICAgICAgfTtcclxuICAgICAgdGhpcy5pbnB1dC5uYXRpdmVFbGVtZW50Lm9ua2V5ZG93biA9IChlKSA9PiB7XHJcbiAgICAgICAgdGhpcy51c2VyQ2hhbmdlID0gdHJ1ZTtcclxuXHJcbiAgICAgICAgdGhpcy52YWx1ZSA9IChlLnRhcmdldCBhcyBhbnkpLnZhbHVlO1xyXG4gICAgICAgIHRoaXMub25rZXkuZW1pdChlKTtcclxuICAgICAgfTtcclxuICAgICAgdGhpcy5pbnB1dC5uYXRpdmVFbGVtZW50Lm9ua2V5cHJlc3MgPSAoZSkgPT4ge1xyXG4gICAgICAgIHRoaXMudXNlckNoYW5nZSA9IHRydWU7XHJcblxyXG4gICAgICAgIHRoaXMudmFsdWUgPSAoZS50YXJnZXQgYXMgYW55KS52YWx1ZTtcclxuICAgICAgICB0aGlzLm9ua2V5LmVtaXQoZSk7XHJcbiAgICAgIH07XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuXHJcbiAgbmdBZnRlckNvbnRlbnRJbml0KCk6IHZvaWQge1xyXG4gICAgdGhpcy5pbml0VmFsaWRhdGlvbih0aGlzLnJlZiwgJ3ZhbHVlJywgdGhpcy52YWxpZGF0aW9uKTtcclxuICB9XHJcblxyXG5cclxuICBASW5wdXQoKVxyXG4gIHRhYkluZGV4OiBudW1iZXIgPSAwO1xyXG5cclxuICBAVmlld0NoaWxkKCdpbnB1dCcsIHsgc3RhdGljOiB0cnVlIH0pXHJcbiAgQENvbnRlbnRDaGlsZCgnaW5wdXQnLCB7IHN0YXRpYzogdHJ1ZSB9KVxyXG4gIGlucHV0OiBFbGVtZW50UmVmPEhUTUxJbnB1dEVsZW1lbnQ+O1xyXG5cclxuICBAQ29udGVudENoaWxkKEFYVmFsaWRhdGlvbiwgeyBzdGF0aWM6IHRydWUgfSlcclxuICBwcml2YXRlIF9jb250ZW50VmFsaWRhdGlvbjogQVhWYWxpZGF0aW9uO1xyXG5cclxuICBwcml2YXRlIF92YWxpZGF0aW9uOiBBWFZhbGlkYXRpb247XHJcblxyXG4gIEBJbnB1dCgpXHJcbiAgcHVibGljIGdldCB2YWxpZGF0aW9uKCk6IEFYVmFsaWRhdGlvbiB7XHJcbiAgICByZXR1cm4gdGhpcy5fdmFsaWRhdGlvbiA/IHRoaXMuX3ZhbGlkYXRpb24gOiB0aGlzLl9jb250ZW50VmFsaWRhdGlvbjtcclxuICB9XHJcblxyXG4gIHB1YmxpYyBzZXQgdmFsaWRhdGlvbih2OiBBWFZhbGlkYXRpb24pIHtcclxuICAgIHRoaXMuX3ZhbGlkYXRpb24gPSB2O1xyXG4gICAgdGhpcy5pbml0VmFsaWRhdGlvbih0aGlzLnJlZiwgJ3ZhbHVlJywgdik7XHJcbiAgfVxyXG5cclxuXHJcbiAgQElucHV0KClcclxuICBkaXNhYmxlZDogYm9vbGVhbiA9IGZhbHNlO1xyXG5cclxuICBASW5wdXQoKVxyXG4gIHJlYWRvbmx5OiBib29sZWFuID0gZmFsc2U7XHJcblxyXG4gIEBJbnB1dCgpXHJcbiAgdGV4dEFsaWduOiAncmlnaHQnIHwgJ2xlZnQnIHwgbnVsbCA9IG51bGw7XHJcblxyXG4gIEBJbnB1dCgpXHJcbiAgc2l6ZTogJ3hzJyB8ICdzbScgfCAnbWQnIHwgJ2xnJyB8ICd4bCcgPSAnbWQnO1xyXG5cclxuICBASW5wdXQoKVxyXG4gIHBsYWNlaG9sZGVyOiBzdHJpbmc7XHJcblxyXG4gIHVzZXJDaGFuZ2U6IGJvb2xlYW4gPSBmYWxzZTtcclxuXHJcbiAgY29uc3RydWN0b3IocHJvdGVjdGVkIGNkcjogQ2hhbmdlRGV0ZWN0b3JSZWYsIHByb3RlY3RlZCByZWY6IEVsZW1lbnRSZWYpIHtcclxuICAgIHN1cGVyKCk7XHJcbiAgfVxyXG5cclxuICBAT3V0cHV0KClcclxuICBwdWJsaWMgb25rZXk6IEV2ZW50RW1pdHRlcjxLZXlib2FyZEV2ZW50PiA9IG5ldyBFdmVudEVtaXR0ZXI8S2V5Ym9hcmRFdmVudD4oKTtcclxuXHJcbiAgQE91dHB1dCgpXHJcbiAgcHVibGljIG9uQmx1cjogRXZlbnRFbWl0dGVyPEFYSHRtbEV2ZW50PEV2ZW50Pj4gPSBuZXcgRXZlbnRFbWl0dGVyPEFYSHRtbEV2ZW50PEV2ZW50Pj4oKTtcclxuXHJcbiAgQE91dHB1dCgpXHJcbiAgcHVibGljIG9uRm9jdXM6IEV2ZW50RW1pdHRlcjxBWEh0bWxFdmVudDxFdmVudD4+ID0gbmV3IEV2ZW50RW1pdHRlcjxBWEh0bWxFdmVudDxFdmVudD4+KCk7XHJcblxyXG4gIEBPdXRwdXQoKVxyXG4gIHB1YmxpYyBvblZhbHVlQ2hhbmdlZDogRXZlbnRFbWl0dGVyPEFYQmFzZUlucHV0Q2hhbmdlRXZlbnQ+ID0gbmV3IEV2ZW50RW1pdHRlcjxBWEJhc2VJbnB1dENoYW5nZUV2ZW50PigpO1xyXG5cclxuICBAT3V0cHV0KClcclxuICB2YWx1ZUNoYW5nZTogRXZlbnRFbWl0dGVyPGFueT4gPSBuZXcgRXZlbnRFbWl0dGVyPGFueT4oKTtcclxuXHJcblxyXG4gIEBJbnB1dCgpXHJcbiAgaWNvbjogc3RyaW5nID0gJyc7XHJcblxyXG4gIEBJbnB1dCgpXHJcbiAgYWxsb3dDbGVhcjogYm9vbGVhbiA9IGZhbHNlO1xyXG5cclxuICBwcml2YXRlIF92YWx1ZTogc3RyaW5nO1xyXG4gIEBJbnB1dCgpXHJcbiAgcHVibGljIGdldCB2YWx1ZSgpOiBzdHJpbmcge1xyXG4gICAgcmV0dXJuIHRoaXMuX3ZhbHVlO1xyXG4gIH1cclxuICBwdWJsaWMgc2V0IHZhbHVlKHY6IHN0cmluZykge1xyXG4gICAgaWYgKHYgIT09IHRoaXMuX3ZhbHVlKSB7XHJcbiAgICAgIGNvbnN0IG9sZCA9IHRoaXMuX3ZhbHVlO1xyXG4gICAgICB0aGlzLl92YWx1ZSA9IHY7XHJcblxyXG4gICAgICB0aGlzLnZhbHVlQ2hhbmdlLmVtaXQodik7XHJcbiAgICAgIHRoaXMub25WYWx1ZUNoYW5nZWQuZW1pdCh7XHJcbiAgICAgICAgY29tcG9uZW50OiB0aGlzLFxyXG4gICAgICAgIHZhbHVlOiB2LFxyXG4gICAgICAgIG9sZFZhbHVlOiBvbGQsXHJcbiAgICAgICAgaXNVc2VyQ2hhbmdlOiB0aGlzLnVzZXJDaGFuZ2VcclxuICAgICAgfSk7XHJcbiAgICAgIHRoaXMudXNlckNoYW5nZSA9IGZhbHNlO1xyXG4gICAgICB0aGlzLmNsZWFyVmFsaWRhdGlvblN0eWxlKHRoaXMuaW5wdXQubmF0aXZlRWxlbWVudCwgdiA/IGZhbHNlIDogdHJ1ZSk7XHJcbiAgICAgIHRoaXMuY2RyLmRldGVjdENoYW5nZXMoKTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIGZvY3VzKCkge1xyXG4gICAgdGhpcy5pbnB1dC5uYXRpdmVFbGVtZW50LmZvY3VzKCk7XHJcbiAgfVxyXG5cclxuICBjbGVhcigpIHtcclxuICAgIHRoaXMudXNlckNoYW5nZSA9IHRydWU7XHJcblxyXG4gICAgdGhpcy52YWx1ZSA9IG51bGw7XHJcbiAgICB0aGlzLmlucHV0Lm5hdGl2ZUVsZW1lbnQudmFsdWUgPSBudWxsO1xyXG4gIH1cclxuXHJcbiAgaXNGb2N1c2VkKCk6IGJvb2xlYW4ge1xyXG4gICAgcmV0dXJuIHRoaXMuaW5wdXQubmF0aXZlRWxlbWVudCA9PT0gZG9jdW1lbnQuYWN0aXZlRWxlbWVudDtcclxuICB9XHJcblxyXG4gIHNldFRleHRBbGlnbigpIHtcclxuICAgIGlmICh0aGlzLnRleHRBbGlnbiA9PT0gJ2xlZnQnKSB7XHJcbiAgICAgIHJldHVybiAndGV4dC1sZWZ0JztcclxuICAgIH1cclxuICAgIGlmICh0aGlzLnRleHRBbGlnbiA9PT0gJ3JpZ2h0Jykge1xyXG4gICAgICByZXR1cm4gJ3RleHQtcmlnaHQnO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgaGFuZGxlSW5wdXRCbHVyKGU6IEV2ZW50KSB7XHJcbiAgICB0aGlzLm9uQmx1ci5lbWl0KHtcclxuICAgICAgY29tcG9uZW50OiB0aGlzLFxyXG4gICAgICBodG1sRWxlbWVudDogdGhpcy5yZWYubmF0aXZlRWxlbWVudCxcclxuICAgICAgaHRtbEV2ZW50OiBlXHJcbiAgICB9KTtcclxuICB9XHJcblxyXG4gIGhhbmRsZUlucHV0Rm9jdXMoZTogRXZlbnQpIHtcclxuICAgIHRoaXMub25Gb2N1cy5lbWl0KHtcclxuICAgICAgY29tcG9uZW50OiB0aGlzLFxyXG4gICAgICBodG1sRWxlbWVudDogdGhpcy5yZWYubmF0aXZlRWxlbWVudCxcclxuICAgICAgaHRtbEV2ZW50OiBlXHJcbiAgICB9KTtcclxuICB9XHJcbn1cclxuXHJcbmV4cG9ydCBhYnN0cmFjdCBjbGFzcyBBWEJhc2VCdXR0b25Db21wb25lbnQgZXh0ZW5kcyBBWEJhc2VDb21wb25lbnQgaW1wbGVtZW50cyBBWEJhc2VDbGlja2FibGVDb21wb25lbnQsIEFYQmFzZVNpemFibGVDb21wb25lbnQge1xyXG5cclxuICBASW5wdXQoKVxyXG4gIGRpc2FibGVkOiBib29sZWFuO1xyXG5cclxuICBAT3V0cHV0KClcclxuICBjbGljazogRXZlbnRFbWl0dGVyPEFYSHRtbEV2ZW50PE1vdXNlRXZlbnQ+PiA9IG5ldyBFdmVudEVtaXR0ZXI8QVhIdG1sRXZlbnQ8TW91c2VFdmVudD4+KCk7XHJcblxyXG4gIEBJbnB1dCgpXHJcbiAgc2l6ZTogQVhFbGVtZW50U2l6ZTtcclxuXHJcbiAgQElucHV0KClcclxuICB0YWJJbmRleDogbnVtYmVyID0gMDtcclxuXHJcbn1cclxuXHJcbmV4cG9ydCBhYnN0cmFjdCBjbGFzcyBBWEJhc2VEcm9wZG93bkNvbXBvbmVudCBleHRlbmRzIEFYQmFzZUNvbXBvbmVudCBpbXBsZW1lbnRzIEFYQmFzZUludGVyYWN0aXZlQ29tcG9uZW50LCBBWEJhc2VTaXphYmxlQ29tcG9uZW50IHtcclxuXHJcbiAgQElucHV0KClcclxuICBkaXNhYmxlZDogYm9vbGVhbjtcclxuXHJcbiAgQElucHV0KClcclxuICBzaXplOiBBWEVsZW1lbnRTaXplO1xyXG5cclxuICBASW5wdXQoKVxyXG4gIGZpdFBhcmVudDogYm9vbGVhbiA9IHRydWU7XHJcblxyXG4gIEBJbnB1dCgpXHJcbiAgdGFiSW5kZXg6IG51bWJlciA9IDA7XHJcblxyXG4gIEBJbnB1dCgpXHJcbiAgc2hvd0Ryb3BEb3duQnV0dG9uOiBib29sZWFuID0gdHJ1ZTtcclxuXHJcbiAgYWJzdHJhY3QgY2xvc2UoKTtcclxuICBhYnN0cmFjdCBvcGVuKCk7XHJcbn1cclxuIl19
320
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZWxlbWVudC5jbGFzcy5qcyIsInNvdXJjZVJvb3QiOiJuZzovL0BhY29yZXgvY29tcG9uZW50cy8iLCJzb3VyY2VzIjpbImxpYi9iYXNlL2VsZW1lbnQuY2xhc3MudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBLE9BQU8sRUFBRSxLQUFLLEVBQUUsTUFBTSxFQUFFLFlBQVksRUFBcUIsU0FBUyxFQUFFLFVBQVUsRUFBRSxZQUFZLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDcEgsT0FBTyxFQUF5QixZQUFZLEVBQUUsTUFBTSxvQ0FBb0MsQ0FBQztBQUV6RixPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sY0FBYyxDQUFDO0FBQzFDLE9BQU8sRUFBd0IsWUFBWSxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFJcEUsTUFBTSxPQUFnQixlQUFlO0lBR25DO1FBREEsUUFBRyxHQUFXLFVBQVUsQ0FBQyxNQUFNLEVBQUUsQ0FBQztJQUVsQyxDQUFDO0NBQ0Y7QUFKVTtJQUFSLEtBQUssRUFBRTs7aURBQWtCO0FBTzVCLE1BQU0sT0FBTyxzQkFBdUIsU0FBUSxZQUFpQjtDQUU1RDtBQTJCRCxNQUFNLE9BQWdCLHNCQUF1QixTQUFRLGVBQWU7SUFBcEU7O1FBRVUsaUJBQVksR0FBVyxPQUFPLENBQUM7UUFNdkMsYUFBUSxHQUFXLENBQUMsQ0FBQztJQThFdkIsQ0FBQztJQTVFVyxjQUFjLENBQ3RCLFVBQXNCLEVBQ3RCLFVBQWtCLEVBQ2xCLFVBQXdCO1FBRXhCLElBQUksQ0FBQyxlQUFlLEdBQUcsVUFBVSxDQUFDLGFBQWEsQ0FBQztRQUNoRCxJQUFJLENBQUMsWUFBWSxHQUFHLFVBQVUsQ0FBQztRQUMvQixJQUFJLENBQUMsWUFBWSxHQUFHLFVBQVUsQ0FBQztRQUMvQixNQUFNLEtBQUssR0FBRyxJQUFJLENBQUMsSUFBSSxDQUFDLFlBQVksQ0FBQyxDQUFBO1FBQ3JDLElBQUksQ0FBQyxDQUFDLEtBQUssQ0FBQyxPQUFPLENBQUMsS0FBSyxDQUFDLElBQUksS0FBSyxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsT0FBTyxDQUFDLEtBQUssQ0FBQyxJQUFJLEtBQUssQ0FBQyxNQUFNLEdBQUcsQ0FBQyxDQUFDO1lBQ2hGLElBQUksQ0FBQyxRQUFRLEVBQUUsQ0FBQztJQUNwQixDQUFDO0lBRUQsSUFBSSxVQUFVO1FBQ1osT0FBTyxJQUFJLENBQUMsWUFBWSxDQUFDO0lBQzNCLENBQUM7SUFFRCxRQUFRO1FBQ04sSUFBSSxJQUFJLENBQUMsWUFBWSxLQUFLLFNBQVMsSUFBSSxDQUFDLElBQUksQ0FBQyxZQUFZLENBQUMsS0FBSyxJQUFJLEVBQUUsQ0FBQyxDQUFDLE1BQU0sR0FBRyxDQUFDLEVBQUU7WUFDakYsTUFBTSxNQUFNLEdBQUcsSUFBSSxDQUFDLFlBQVksQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxZQUFZLENBQUMsQ0FBQyxDQUFDO1lBQ25FLE1BQU0sQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLEVBQUU7Z0JBQ2QsSUFBSSxDQUFDLENBQUMsTUFBTSxFQUFFO29CQUNaLElBQUksQ0FBQyxvQkFBb0IsQ0FBQyxJQUFJLENBQUMsZUFBZSxDQUFDLENBQUM7aUJBQ2pEO3FCQUNJO29CQUNILElBQUksQ0FBQyxvQkFBb0IsQ0FBQyxJQUFJLENBQUMsZUFBZSxFQUFFLENBQUMsQ0FBQyxDQUFDO2lCQUNwRDtZQUNILENBQUMsQ0FBQyxDQUFDO1lBQ0gsT0FBTyxNQUFNLENBQUM7U0FDZjthQUNJO1lBQ0gsT0FBTyxPQUFPLENBQUMsT0FBTyxDQUFDLEVBQUUsTUFBTSxFQUFFLElBQUksRUFBRSxDQUFDLENBQUM7U0FDMUM7SUFDSCxDQUFDO0lBR1Msb0JBQW9CLENBQUMsT0FBb0IsRUFBRSxRQUFpQixLQUFLOztRQUN6RSxJQUFJLElBQUksQ0FBQyxZQUFZLEtBQUssU0FBUyxJQUFJLENBQUMsSUFBSSxDQUFDLFlBQVksQ0FBQyxLQUFLLElBQUksRUFBRSxDQUFDLENBQUMsTUFBTSxHQUFHLENBQUMsRUFBRTtZQUNqRixNQUFNLFNBQVMsR0FBRyxPQUFPLENBQUMsT0FBTyxDQUFDLGFBQWEsQ0FBQyxDQUFDO1lBQ2pELE1BQU0sUUFBUSxHQUFHLE9BQUEsU0FBUywwQ0FBRSxhQUFhLENBQUMsWUFBWSxNQUFLLE9BQU8sQ0FBQyxPQUFPLENBQUMsWUFBWSxDQUFDLElBQUksT0FBTyxDQUFDLGFBQWEsQ0FBQyxZQUFZLENBQUMsQ0FBQztZQUFBLENBQUM7WUFDakksTUFBTSxLQUFLLFNBQUcsU0FBUywwQ0FBRSxhQUFhLENBQUMsbUJBQW1CLENBQUMsQ0FBQztZQUM1RCxNQUFNLE1BQU0sR0FBRyxPQUFBLFFBQVEsMENBQUUsYUFBYSxLQUFJLE9BQU8sQ0FBQyxhQUFhLENBQUM7WUFFaEUsTUFBQSxRQUFRLDBDQUFFLFNBQVMsQ0FBQyxNQUFNLENBQUMsZUFBZSxFQUFFO1lBQzVDLE1BQUEsUUFBUSwwQ0FBRSxTQUFTLENBQUMsTUFBTSxDQUFDLGFBQWEsRUFBRTtZQUMxQywrQ0FBK0M7WUFDL0MsSUFBSSxDQUFDLEtBQUssRUFBRTtnQkFDVixNQUFBLFFBQVEsMENBQUUsU0FBUyxDQUFDLEdBQUcsQ0FBQyxlQUFlLEVBQUU7YUFDMUM7WUFDRCx5Q0FBeUM7WUFDekMsSUFBSSxNQUFNLENBQUMsYUFBYSxDQUFDLGlCQUFpQixDQUFDLEVBQUU7Z0JBQzNDLE1BQU0sQ0FBQyxXQUFXLENBQUMsTUFBTSxDQUFDLGFBQWEsQ0FBQyxpQkFBaUIsQ0FBQyxDQUFDLENBQUM7YUFDN0Q7U0FDRjtJQUNILENBQUM7SUFFUyxvQkFBb0IsQ0FBQyxPQUFvQixFQUFFLENBQXlCOztRQUM1RSxJQUFJLElBQUksQ0FBQyxZQUFZLEtBQUssU0FBUyxJQUFJLENBQUMsSUFBSSxDQUFDLFlBQVksQ0FBQyxLQUFLLElBQUksRUFBRSxDQUFDLENBQUMsTUFBTSxHQUFHLENBQUMsRUFBRTtZQUNqRixNQUFNLFNBQVMsR0FBRyxPQUFPLENBQUMsT0FBTyxDQUFDLGFBQWEsQ0FBQyxDQUFDO1lBQ2pELE1BQU0sUUFBUSxHQUFHLE9BQUEsU0FBUywwQ0FBRSxhQUFhLENBQUMsWUFBWSxNQUFLLE9BQU8sQ0FBQyxPQUFPLENBQUMsWUFBWSxDQUFDLElBQUksT0FBTyxDQUFDLGFBQWEsQ0FBQyxZQUFZLENBQUMsQ0FBQztZQUNoSSxNQUFNLEtBQUssU0FBRyxTQUFTLDBDQUFFLGFBQWEsQ0FBQyxtQkFBbUIsQ0FBQyxDQUFDO1lBQzVELE1BQU0sTUFBTSxHQUFHLE9BQUEsUUFBUSwwQ0FBRSxhQUFhLEtBQUksT0FBTyxDQUFDLGFBQWEsQ0FBQztZQUNoRSxNQUFBLFFBQVEsMENBQUUsU0FBUyxDQUFDLEdBQUcsQ0FBQyxhQUFhLEVBQUU7WUFDdkMsTUFBQSxRQUFRLDBDQUFFLFNBQVMsQ0FBQyxNQUFNLENBQUMsZUFBZSxFQUFFO1lBQzVDLElBQUksTUFBTSxDQUFDLGFBQWEsQ0FBQyxpQkFBaUIsQ0FBQyxFQUFFO2dCQUMzQyxNQUFNLENBQUMsV0FBVyxDQUFDLE1BQU0sQ0FBQyxhQUFhLENBQUMsaUJBQWlCLENBQUMsQ0FBQyxDQUFDO2FBQzdEO1lBQ0QsSUFBSSxJQUFJLENBQUMsWUFBWSxDQUFDLFdBQVcsRUFBRTtnQkFDakMsTUFBTSxJQUFJLEdBQUcsUUFBUSxDQUFDLGFBQWEsQ0FBQyxNQUFNLENBQUMsQ0FBQztnQkFDNUMsSUFBSSxDQUFDLFNBQVMsR0FBRyxDQUFDLENBQUMsT0FBTyxDQUFDO2dCQUMzQixJQUFJLENBQUMsU0FBUyxDQUFDLEdBQUcsQ0FBQyxJQUFJLEVBQUUsWUFBWSxDQUFDLENBQUM7Z0JBQ3ZDLE1BQU0sQ0FBQyxXQUFXLENBQUMsSUFBSSxDQUFDLENBQUM7YUFDMUI7WUFDRCxzQ0FBc0M7U0FDdkM7SUFDSCxDQUFDO0NBQ0Y7QUE5RUM7SUFEQyxLQUFLLEVBQUU7O3dEQUNhO0FBbUZ2QixNQUFNLE9BQWdCLG1CQUFvQixTQUFRLHNCQUFzQjtJQXNFdEUsWUFBc0IsR0FBc0IsRUFBWSxHQUFlO1FBQ3JFLEtBQUssRUFBRSxDQUFDO1FBRFksUUFBRyxHQUFILEdBQUcsQ0FBbUI7UUFBWSxRQUFHLEdBQUgsR0FBRyxDQUFZO1FBdkN2RSxhQUFRLEdBQVcsQ0FBQyxDQUFDO1FBdUJyQixhQUFRLEdBQVksS0FBSyxDQUFDO1FBRzFCLGFBQVEsR0FBWSxLQUFLLENBQUM7UUFHMUIsY0FBUyxHQUE0QixJQUFJLENBQUM7UUFHMUMsU0FBSSxHQUFxQyxJQUFJLENBQUM7UUFLOUMsZUFBVSxHQUFZLEtBQUssQ0FBQztRQU9yQixVQUFLLEdBQWdDLElBQUksWUFBWSxFQUFpQixDQUFDO1FBR3ZFLFdBQU0sR0FBcUMsSUFBSSxZQUFZLEVBQXNCLENBQUM7UUFHbEYsWUFBTyxHQUFxQyxJQUFJLFlBQVksRUFBc0IsQ0FBQztRQUduRixtQkFBYyxHQUF5QyxJQUFJLFlBQVksRUFBMEIsQ0FBQztRQUd6RyxnQkFBVyxHQUFzQixJQUFJLFlBQVksRUFBTyxDQUFDO1FBSXpELFNBQUksR0FBVyxFQUFFLENBQUM7UUFHbEIsZUFBVSxHQUFZLEtBQUssQ0FBQztJQXRCNUIsQ0FBQztJQXRFRCxlQUFlO1FBQ2IsSUFBSSxJQUFJLENBQUMsS0FBSyxFQUFFO1lBQ2QsSUFBSSxDQUFDLEtBQUssQ0FBQyxhQUFhLENBQUMsT0FBTyxHQUFHLENBQUMsQ0FBQyxFQUFFLEVBQUU7Z0JBQ3ZDLElBQUksQ0FBQyxVQUFVLEdBQUcsSUFBSSxDQUFDO2dCQUN2QixJQUFJLENBQUMsS0FBSyxHQUFJLENBQUMsQ0FBQyxNQUFjLENBQUMsS0FBSyxDQUFDO2dCQUNyQyxJQUFJLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQztZQUNyQixDQUFDLENBQUM7WUFDRixJQUFJLENBQUMsS0FBSyxDQUFDLGFBQWEsQ0FBQyxTQUFTLEdBQUcsQ0FBQyxDQUFDLEVBQUUsRUFBRTtnQkFDekMsSUFBSSxDQUFDLFVBQVUsR0FBRyxJQUFJLENBQUM7Z0JBRXZCLElBQUksQ0FBQyxLQUFLLEdBQUksQ0FBQyxDQUFDLE1BQWMsQ0FBQyxLQUFLLENBQUM7Z0JBQ3JDLElBQUksQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDO1lBQ3JCLENBQUMsQ0FBQztZQUNGLElBQUksQ0FBQyxLQUFLLENBQUMsYUFBYSxDQUFDLFVBQVUsR0FBRyxDQUFDLENBQUMsRUFBRSxFQUFFO2dCQUMxQyxJQUFJLENBQUMsVUFBVSxHQUFHLElBQUksQ0FBQztnQkFFdkIsSUFBSSxDQUFDLEtBQUssR0FBSSxDQUFDLENBQUMsTUFBYyxDQUFDLEtBQUssQ0FBQztnQkFDckMsSUFBSSxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUM7WUFDckIsQ0FBQyxDQUFDO1NBQ0g7SUFDSCxDQUFDO0lBR0Qsa0JBQWtCO1FBQ2hCLElBQUksQ0FBQyxjQUFjLENBQUMsSUFBSSxDQUFDLEdBQUcsRUFBRSxPQUFPLEVBQUUsSUFBSSxDQUFDLFVBQVUsQ0FBQyxDQUFDO0lBQzFELENBQUM7SUFnQkQsSUFBVyxVQUFVO1FBQ25CLE9BQU8sSUFBSSxDQUFDLFdBQVcsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLGtCQUFrQixDQUFDO0lBQ3ZFLENBQUM7SUFFRCxJQUFXLFVBQVUsQ0FBQyxDQUFlO1FBQ25DLElBQUksQ0FBQyxXQUFXLEdBQUcsQ0FBQyxDQUFDO1FBQ3JCLElBQUksQ0FBQyxjQUFjLENBQUMsSUFBSSxDQUFDLEdBQUcsRUFBRSxPQUFPLEVBQUUsQ0FBQyxDQUFDLENBQUM7SUFDNUMsQ0FBQztJQWdERCxJQUFXLEtBQUs7UUFDZCxPQUFPLElBQUksQ0FBQyxNQUFNLENBQUM7SUFDckIsQ0FBQztJQUNELElBQVcsS0FBSyxDQUFDLENBQVM7UUFDeEIsSUFBSSxDQUFDLEtBQUssSUFBSSxDQUFDLE1BQU0sRUFBRTtZQUNyQixNQUFNLEdBQUcsR0FBRyxJQUFJLENBQUMsTUFBTSxDQUFDO1lBQ3hCLElBQUksQ0FBQyxNQUFNLEdBQUcsQ0FBQyxDQUFDO1lBRWhCLElBQUksQ0FBQyxXQUFXLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDO1lBQ3pCLElBQUksQ0FBQyxjQUFjLENBQUMsSUFBSSxDQUFDO2dCQUN2QixTQUFTLEVBQUUsSUFBSTtnQkFDZixLQUFLLEVBQUUsQ0FBQztnQkFDUixRQUFRLEVBQUUsR0FBRztnQkFDYixZQUFZLEVBQUUsSUFBSSxDQUFDLFVBQVU7YUFDOUIsQ0FBQyxDQUFDO1lBQ0gsSUFBSSxDQUFDLFVBQVUsR0FBRyxLQUFLLENBQUM7WUFDeEIsSUFBSSxDQUFDLG9CQUFvQixDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsYUFBYSxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQztZQUN0RSxJQUFJLENBQUMsR0FBRyxDQUFDLGFBQWEsRUFBRSxDQUFDO1NBQzFCO0lBQ0gsQ0FBQztJQUVELEtBQUs7UUFDSCxJQUFJLENBQUMsS0FBSyxDQUFDLGFBQWEsQ0FBQyxLQUFLLEVBQUUsQ0FBQztJQUNuQyxDQUFDO0lBRUQsS0FBSztRQUNILElBQUksQ0FBQyxVQUFVLEdBQUcsSUFBSSxDQUFDO1FBRXZCLElBQUksQ0FBQyxLQUFLLEdBQUcsSUFBSSxDQUFDO1FBQ2xCLElBQUksQ0FBQyxLQUFLLENBQUMsYUFBYSxDQUFDLEtBQUssR0FBRyxJQUFJLENBQUM7SUFDeEMsQ0FBQztJQUVELFNBQVM7UUFDUCxPQUFPLElBQUksQ0FBQyxLQUFLLENBQUMsYUFBYSxLQUFLLFFBQVEsQ0FBQyxhQUFhLENBQUM7SUFDN0QsQ0FBQztJQUVELFlBQVk7UUFDVixJQUFJLElBQUksQ0FBQyxTQUFTLEtBQUssTUFBTSxFQUFFO1lBQzdCLE9BQU8sV0FBVyxDQUFDO1NBQ3BCO1FBQ0QsSUFBSSxJQUFJLENBQUMsU0FBUyxLQUFLLE9BQU8sRUFBRTtZQUM5QixPQUFPLFlBQVksQ0FBQztTQUNyQjtJQUNILENBQUM7SUFFRCxlQUFlLENBQUMsQ0FBUTtRQUN0QixJQUFJLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQztZQUNmLFNBQVMsRUFBRSxJQUFJO1lBQ2YsV0FBVyxFQUFFLElBQUksQ0FBQyxHQUFHLENBQUMsYUFBYTtZQUNuQyxTQUFTLEVBQUUsQ0FBQztTQUNiLENBQUMsQ0FBQztJQUNMLENBQUM7SUFFRCxnQkFBZ0IsQ0FBQyxDQUFRO1FBQ3ZCLElBQUksQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDO1lBQ2hCLFNBQVMsRUFBRSxJQUFJO1lBQ2YsV0FBVyxFQUFFLElBQUksQ0FBQyxHQUFHLENBQUMsYUFBYTtZQUNuQyxTQUFTLEVBQUUsQ0FBQztTQUNiLENBQUMsQ0FBQztJQUNMLENBQUM7Q0FDRjtBQS9IQztJQURDLEtBQUssRUFBRTs7cURBQ2E7QUFJckI7SUFGQyxTQUFTLENBQUMsT0FBTyxFQUFFLEVBQUUsTUFBTSxFQUFFLElBQUksRUFBRSxDQUFDO0lBQ3BDLFlBQVksQ0FBQyxPQUFPLEVBQUUsRUFBRSxNQUFNLEVBQUUsSUFBSSxFQUFFLENBQUM7OEJBQ2pDLFVBQVU7a0RBQW1CO0FBR3BDO0lBREMsWUFBWSxDQUFDLFlBQVksRUFBRSxFQUFFLE1BQU0sRUFBRSxJQUFJLEVBQUUsQ0FBQzs4QkFDakIsWUFBWTsrREFBQztBQUt6QztJQURDLEtBQUssRUFBRTs4QkFLaUIsWUFBWTtxQ0FBWixZQUFZO3FEQUZwQztBQVNEO0lBREMsS0FBSyxFQUFFOztxREFDa0I7QUFHMUI7SUFEQyxLQUFLLEVBQUU7O3FEQUNrQjtBQUcxQjtJQURDLEtBQUssRUFBRTs7c0RBQ2tDO0FBRzFDO0lBREMsS0FBSyxFQUFFOztpREFDc0M7QUFHOUM7SUFEQyxLQUFLLEVBQUU7O3dEQUNZO0FBU3BCO0lBREMsTUFBTSxFQUFFOzhCQUNLLFlBQVk7a0RBQW9EO0FBRzlFO0lBREMsTUFBTSxFQUFFOzhCQUNNLFlBQVk7bURBQThEO0FBR3pGO0lBREMsTUFBTSxFQUFFOzhCQUNPLFlBQVk7b0RBQThEO0FBRzFGO0lBREMsTUFBTSxFQUFFOzhCQUNjLFlBQVk7MkRBQXNFO0FBR3pHO0lBREMsTUFBTSxFQUFFOzhCQUNJLFlBQVk7d0RBQWdDO0FBSXpEO0lBREMsS0FBSyxFQUFFOztpREFDVTtBQUdsQjtJQURDLEtBQUssRUFBRTs7dURBQ29CO0FBSTVCO0lBREMsS0FBSyxFQUFFOzs7Z0RBR1A7QUE0REgsTUFBTSxPQUFnQixxQkFBc0IsU0FBUSxlQUFlO0lBQW5FOztRQU1FLFVBQUssR0FBMEMsSUFBSSxZQUFZLEVBQTJCLENBQUM7UUFNM0YsYUFBUSxHQUFXLENBQUMsQ0FBQztJQUV2QixDQUFDO0NBQUE7QUFYQztJQURDLEtBQUssRUFBRTs7dURBQ1U7QUFHbEI7SUFEQyxNQUFNLEVBQUU7OEJBQ0YsWUFBWTtvREFBd0U7QUFHM0Y7SUFEQyxLQUFLLEVBQUU7O21EQUNZO0FBR3BCO0lBREMsS0FBSyxFQUFFOzt1REFDYTtBQUl2QixNQUFNLE9BQWdCLHVCQUF3QixTQUFRLGVBQWU7SUFBckU7O1FBU0UsY0FBUyxHQUFZLElBQUksQ0FBQztRQUcxQixhQUFRLEdBQVcsQ0FBQyxDQUFDO1FBR3JCLHVCQUFrQixHQUFZLElBQUksQ0FBQztJQUlyQyxDQUFDO0NBQUE7QUFoQkM7SUFEQyxLQUFLLEVBQUU7O3lEQUNVO0FBR2xCO0lBREMsS0FBSyxFQUFFOztxREFDWTtBQUdwQjtJQURDLEtBQUssRUFBRTs7MERBQ2tCO0FBRzFCO0lBREMsS0FBSyxFQUFFOzt5REFDYTtBQUdyQjtJQURDLEtBQUssRUFBRTs7bUVBQzJCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5wdXQsIE91dHB1dCwgRXZlbnRFbWl0dGVyLCBDaGFuZ2VEZXRlY3RvclJlZiwgVmlld0NoaWxkLCBFbGVtZW50UmVmLCBDb250ZW50Q2hpbGQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgQVhWYWxpZGF0aW9uQ29tcG9uZW50LCBBWFZhbGlkYXRpb24gfSBmcm9tICcuLi92YWxpZGF0aW9uL3ZhbGlkYXRpb24uY29tcG9uZW50JztcclxuaW1wb3J0IHsgQVhWYWxpZGF0aW9uUnVsZVJlc3VsdCB9IGZyb20gJy4uL3ZhbGlkYXRpb24vdmFsaWRhdGlvbi5jbGFzcyc7XHJcbmltcG9ydCB7IEFYSHRtbFV0aWwgfSBmcm9tICdAYWNvcmV4L2NvcmUnO1xyXG5pbXBvcnQgeyBBWEV2ZW50LCBBWEh0bWxFdmVudCwgQVhWYWx1ZUV2ZW50IH0gZnJvbSAnLi9ldmVudHMuY2xhc3MnO1xyXG5cclxuZXhwb3J0IHR5cGUgQVhFbGVtZW50U2l6ZSA9ICd4cycgfCAnc20nIHwgJ21kJyB8ICdsZycgfCAneGwnO1xyXG5cclxuZXhwb3J0IGFic3RyYWN0IGNsYXNzIEFYQmFzZUNvbXBvbmVudCB7XHJcbiAgQElucHV0KCkgY3NzQ2xhc3M6IHN0cmluZztcclxuICB1aWQ6IHN0cmluZyA9IEFYSHRtbFV0aWwuZ2V0VUlEKCk7XHJcbiAgY29uc3RydWN0b3IoKSB7XHJcbiAgfVxyXG59XHJcblxyXG5cclxuZXhwb3J0IGNsYXNzIEFYQmFzZUlucHV0Q2hhbmdlRXZlbnQgZXh0ZW5kcyBBWFZhbHVlRXZlbnQ8YW55PiB7XHJcbiAgaXNVc2VyQ2hhbmdlPzogYm9vbGVhbjtcclxufVxyXG5cclxuZXhwb3J0IGludGVyZmFjZSBBWEJhc2VTaXphYmxlQ29tcG9uZW50IHtcclxuICBzaXplOiBBWEVsZW1lbnRTaXplO1xyXG59XHJcblxyXG5leHBvcnQgaW50ZXJmYWNlIEFYQmFzZUludGVyYWN0aXZlQ29tcG9uZW50IHtcclxuICBkaXNhYmxlZDogYm9vbGVhbjtcclxuICB0YWJJbmRleDogbnVtYmVyO1xyXG59XHJcblxyXG5leHBvcnQgaW50ZXJmYWNlIEFYQmFzZUlucHV0Q29tcG9uZW50IGV4dGVuZHMgQVhCYXNlSW50ZXJhY3RpdmVDb21wb25lbnQge1xyXG4gIHJlYWRvbmx5OiBib29sZWFuO1xyXG4gIGZvY3VzKCk6IHZvaWQ7XHJcbn1cclxuXHJcblxyXG5leHBvcnQgaW50ZXJmYWNlIEFYQmFzZVZhbHVlQ29tcG9uZW50PFQ+IGV4dGVuZHMgQVhCYXNlSW5wdXRDb21wb25lbnQge1xyXG4gIG9uVmFsdWVDaGFuZ2VkPzogRXZlbnRFbWl0dGVyPEFYVmFsdWVFdmVudDxUPj47XHJcbiAgdmFsdWVDaGFuZ2U/OiBFdmVudEVtaXR0ZXI8VD47XHJcbiAgdmFsdWU6IFQ7XHJcbn1cclxuXHJcbmV4cG9ydCBpbnRlcmZhY2UgQVhCYXNlQ2xpY2thYmxlQ29tcG9uZW50IGV4dGVuZHMgQVhCYXNlSW50ZXJhY3RpdmVDb21wb25lbnQge1xyXG4gIGNsaWNrOiBFdmVudEVtaXR0ZXI8QVhIdG1sRXZlbnQ8TW91c2VFdmVudD4+O1xyXG59XHJcblxyXG5leHBvcnQgYWJzdHJhY3QgY2xhc3MgQVhWYWxpZGF0YWJsZUNvbXBvbmVudCBleHRlbmRzIEFYQmFzZUNvbXBvbmVudCB7XHJcblxyXG4gIHByaXZhdGUgX192YWx1ZUZpZWxkOiBzdHJpbmcgPSAndmFsdWUnO1xyXG4gIHByaXZhdGUgX19uYXRpdmVFbGVtZW50OiBIVE1MRWxlbWVudDtcclxuICBwcml2YXRlIF9fdmFsaWRhdGlvbjogQVhWYWxpZGF0aW9uO1xyXG5cclxuXHJcbiAgQElucHV0KClcclxuICB0YWJJbmRleDogbnVtYmVyID0gMDtcclxuXHJcbiAgcHJvdGVjdGVkIGluaXRWYWxpZGF0aW9uKFxyXG4gICAgZWxlbWVudFJlZjogRWxlbWVudFJlZixcclxuICAgIHZhbHVlRmllbGQ6IHN0cmluZyxcclxuICAgIHZhbGlkYXRpb246IEFYVmFsaWRhdGlvblxyXG4gICkge1xyXG4gICAgdGhpcy5fX25hdGl2ZUVsZW1lbnQgPSBlbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQ7XHJcbiAgICB0aGlzLl9fdmFsdWVGaWVsZCA9IHZhbHVlRmllbGQ7XHJcbiAgICB0aGlzLl9fdmFsaWRhdGlvbiA9IHZhbGlkYXRpb247XHJcbiAgICBjb25zdCB2YWx1ZSA9IHRoaXNbdGhpcy5fX3ZhbHVlRmllbGRdXHJcbiAgICBpZiAoKCFBcnJheS5pc0FycmF5KHZhbHVlKSAmJiB2YWx1ZSkgfHwgKEFycmF5LmlzQXJyYXkodmFsdWUpICYmIHZhbHVlLmxlbmd0aCA+IDApKVxyXG4gICAgICB0aGlzLnZhbGlkYXRlKCk7XHJcbiAgfVxyXG5cclxuICBnZXQgdmFsaWRhdGlvbigpIHtcclxuICAgIHJldHVybiB0aGlzLl9fdmFsaWRhdGlvbjtcclxuICB9XHJcblxyXG4gIHZhbGlkYXRlKCk6IFByb21pc2U8QVhWYWxpZGF0aW9uUnVsZVJlc3VsdD4ge1xyXG4gICAgaWYgKHRoaXMuX192YWxpZGF0aW9uICE9PSB1bmRlZmluZWQgJiYgKHRoaXMuX192YWxpZGF0aW9uLnJ1bGVzIHx8IFtdKS5sZW5ndGggPiAwKSB7XHJcbiAgICAgIGNvbnN0IHJlc3VsdCA9IHRoaXMuX192YWxpZGF0aW9uLnZhbGlkYXRlKHRoaXNbdGhpcy5fX3ZhbHVlRmllbGRdKTtcclxuICAgICAgcmVzdWx0LnRoZW4oYyA9PiB7XHJcbiAgICAgICAgaWYgKGMucmVzdWx0KSB7XHJcbiAgICAgICAgICB0aGlzLmNsZWFyVmFsaWRhdGlvblN0eWxlKHRoaXMuX19uYXRpdmVFbGVtZW50KTtcclxuICAgICAgICB9XHJcbiAgICAgICAgZWxzZSB7XHJcbiAgICAgICAgICB0aGlzLmFwcGx5VmFsaWRhdGlvblN0eWxlKHRoaXMuX19uYXRpdmVFbGVtZW50LCBjKTtcclxuICAgICAgICB9XHJcbiAgICAgIH0pO1xyXG4gICAgICByZXR1cm4gcmVzdWx0O1xyXG4gICAgfVxyXG4gICAgZWxzZSB7XHJcbiAgICAgIHJldHVybiBQcm9taXNlLnJlc29sdmUoeyByZXN1bHQ6IHRydWUgfSk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuXHJcbiAgcHJvdGVjdGVkIGNsZWFyVmFsaWRhdGlvblN0eWxlKGVsZW1lbnQ6IEhUTUxFbGVtZW50LCBjbGVhcjogYm9vbGVhbiA9IGZhbHNlKSB7XHJcbiAgICBpZiAodGhpcy5fX3ZhbGlkYXRpb24gIT09IHVuZGVmaW5lZCAmJiAodGhpcy5fX3ZhbGlkYXRpb24ucnVsZXMgfHwgW10pLmxlbmd0aCA+IDApIHtcclxuICAgICAgY29uc3QgZm9ybUdyb3VwID0gZWxlbWVudC5jbG9zZXN0KCcuZm9ybS1ncm91cCcpO1xyXG4gICAgICBjb25zdCBmb3JtSXRlbSA9IGZvcm1Hcm91cD8ucXVlcnlTZWxlY3RvcignLmZvcm0taXRlbScpIHx8IGVsZW1lbnQuY2xvc2VzdCgnLmZvcm0taXRlbScpIHx8IGVsZW1lbnQucXVlcnlTZWxlY3RvcignLmZvcm0taXRlbScpOztcclxuICAgICAgY29uc3QgbGFiZWwgPSBmb3JtR3JvdXA/LnF1ZXJ5U2VsZWN0b3IoJy5mb3JtLWdyb3VwLWxhYmVsJyk7XHJcbiAgICAgIGNvbnN0IHBhcmVudCA9IGZvcm1JdGVtPy5wYXJlbnRFbGVtZW50IHx8IGVsZW1lbnQucGFyZW50RWxlbWVudDtcclxuXHJcbiAgICAgIGZvcm1JdGVtPy5jbGFzc0xpc3QucmVtb3ZlKCdzdWNjZXNzLXN0YXRlJyk7XHJcbiAgICAgIGZvcm1JdGVtPy5jbGFzc0xpc3QucmVtb3ZlKCdlcnJvci1zdGF0ZScpO1xyXG4gICAgICAvL2Zvcm1JdGVtPy5jbGFzc0xpc3QucmVtb3ZlKCdyZXF1aXJlZC1zdGF0ZScpO1xyXG4gICAgICBpZiAoIWNsZWFyKSB7XHJcbiAgICAgICAgZm9ybUl0ZW0/LmNsYXNzTGlzdC5hZGQoJ3N1Y2Nlc3Mtc3RhdGUnKTtcclxuICAgICAgfVxyXG4gICAgICAvLyBsYWJlbD8uY2xhc3NMaXN0LnJlbW92ZSgnZXJyb3ItdGV4dCcpO1xyXG4gICAgICBpZiAocGFyZW50LnF1ZXJ5U2VsZWN0b3IoJ3NwYW4uZXJyb3ItdGV4dCcpKSB7XHJcbiAgICAgICAgcGFyZW50LnJlbW92ZUNoaWxkKHBhcmVudC5xdWVyeVNlbGVjdG9yKCdzcGFuLmVycm9yLXRleHQnKSk7XHJcbiAgICAgIH1cclxuICAgIH1cclxuICB9XHJcblxyXG4gIHByb3RlY3RlZCBhcHBseVZhbGlkYXRpb25TdHlsZShlbGVtZW50OiBIVE1MRWxlbWVudCwgdjogQVhWYWxpZGF0aW9uUnVsZVJlc3VsdCk6IHZvaWQge1xyXG4gICAgaWYgKHRoaXMuX192YWxpZGF0aW9uICE9PSB1bmRlZmluZWQgJiYgKHRoaXMuX192YWxpZGF0aW9uLnJ1bGVzIHx8IFtdKS5sZW5ndGggPiAwKSB7XHJcbiAgICAgIGNvbnN0IGZvcm1Hcm91cCA9IGVsZW1lbnQuY2xvc2VzdCgnLmZvcm0tZ3JvdXAnKTtcclxuICAgICAgY29uc3QgZm9ybUl0ZW0gPSBmb3JtR3JvdXA/LnF1ZXJ5U2VsZWN0b3IoJy5mb3JtLWl0ZW0nKSB8fCBlbGVtZW50LmNsb3Nlc3QoJy5mb3JtLWl0ZW0nKSB8fCBlbGVtZW50LnF1ZXJ5U2VsZWN0b3IoJy5mb3JtLWl0ZW0nKTtcclxuICAgICAgY29uc3QgbGFiZWwgPSBmb3JtR3JvdXA/LnF1ZXJ5U2VsZWN0b3IoJy5mb3JtLWdyb3VwLWxhYmVsJyk7XHJcbiAgICAgIGNvbnN0IHBhcmVudCA9IGZvcm1JdGVtPy5wYXJlbnRFbGVtZW50IHx8IGVsZW1lbnQucGFyZW50RWxlbWVudDtcclxuICAgICAgZm9ybUl0ZW0/LmNsYXNzTGlzdC5hZGQoJ2Vycm9yLXN0YXRlJyk7XHJcbiAgICAgIGZvcm1JdGVtPy5jbGFzc0xpc3QucmVtb3ZlKCdzdWNjZXNzLXN0YXRlJyk7XHJcbiAgICAgIGlmIChwYXJlbnQucXVlcnlTZWxlY3Rvcignc3Bhbi5lcnJvci10ZXh0JykpIHtcclxuICAgICAgICBwYXJlbnQucmVtb3ZlQ2hpbGQocGFyZW50LnF1ZXJ5U2VsZWN0b3IoJ3NwYW4uZXJyb3ItdGV4dCcpKTtcclxuICAgICAgfVxyXG4gICAgICBpZiAodGhpcy5fX3ZhbGlkYXRpb24uc2hvd01lc3NhZ2UpIHtcclxuICAgICAgICBjb25zdCBzcGFuID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnc3BhbicpO1xyXG4gICAgICAgIHNwYW4uaW5uZXJUZXh0ID0gdi5tZXNzYWdlO1xyXG4gICAgICAgIHNwYW4uY2xhc3NMaXN0LmFkZCgnYXgnLCAnZXJyb3ItdGV4dCcpO1xyXG4gICAgICAgIHBhcmVudC5hcHBlbmRDaGlsZChzcGFuKTtcclxuICAgICAgfVxyXG4gICAgICAvLyBsYWJlbD8uY2xhc3NMaXN0LmFkZCgnZXJyb3ItdGV4dCcpO1xyXG4gICAgfVxyXG4gIH1cclxufVxyXG5cclxuXHJcblxyXG5cclxuZXhwb3J0IGFic3RyYWN0IGNsYXNzIEFYQmFzZVRleHRDb21wb25lbnQgZXh0ZW5kcyBBWFZhbGlkYXRhYmxlQ29tcG9uZW50IGltcGxlbWVudHMgQVhCYXNlU2l6YWJsZUNvbXBvbmVudCwgQVhCYXNlVmFsdWVDb21wb25lbnQ8c3RyaW5nPiB7XHJcblxyXG4gIG5nQWZ0ZXJWaWV3SW5pdCgpIHtcclxuICAgIGlmICh0aGlzLmlucHV0KSB7XHJcbiAgICAgIHRoaXMuaW5wdXQubmF0aXZlRWxlbWVudC5vbmtleXVwID0gKGUpID0+IHtcclxuICAgICAgICB0aGlzLnVzZXJDaGFuZ2UgPSB0cnVlO1xyXG4gICAgICAgIHRoaXMudmFsdWUgPSAoZS50YXJnZXQgYXMgYW55KS52YWx1ZTtcclxuICAgICAgICB0aGlzLm9ua2V5LmVtaXQoZSk7XHJcbiAgICAgIH07XHJcbiAgICAgIHRoaXMuaW5wdXQubmF0aXZlRWxlbWVudC5vbmtleWRvd24gPSAoZSkgPT4ge1xyXG4gICAgICAgIHRoaXMudXNlckNoYW5nZSA9IHRydWU7XHJcblxyXG4gICAgICAgIHRoaXMudmFsdWUgPSAoZS50YXJnZXQgYXMgYW55KS52YWx1ZTtcclxuICAgICAgICB0aGlzLm9ua2V5LmVtaXQoZSk7XHJcbiAgICAgIH07XHJcbiAgICAgIHRoaXMuaW5wdXQubmF0aXZlRWxlbWVudC5vbmtleXByZXNzID0gKGUpID0+IHtcclxuICAgICAgICB0aGlzLnVzZXJDaGFuZ2UgPSB0cnVlO1xyXG5cclxuICAgICAgICB0aGlzLnZhbHVlID0gKGUudGFyZ2V0IGFzIGFueSkudmFsdWU7XHJcbiAgICAgICAgdGhpcy5vbmtleS5lbWl0KGUpO1xyXG4gICAgICB9O1xyXG4gICAgfVxyXG4gIH1cclxuXHJcblxyXG4gIG5nQWZ0ZXJDb250ZW50SW5pdCgpOiB2b2lkIHtcclxuICAgIHRoaXMuaW5pdFZhbGlkYXRpb24odGhpcy5yZWYsICd2YWx1ZScsIHRoaXMudmFsaWRhdGlvbik7XHJcbiAgfVxyXG5cclxuXHJcbiAgQElucHV0KClcclxuICB0YWJJbmRleDogbnVtYmVyID0gMDtcclxuXHJcbiAgQFZpZXdDaGlsZCgnaW5wdXQnLCB7IHN0YXRpYzogdHJ1ZSB9KVxyXG4gIEBDb250ZW50Q2hpbGQoJ2lucHV0JywgeyBzdGF0aWM6IHRydWUgfSlcclxuICBpbnB1dDogRWxlbWVudFJlZjxIVE1MSW5wdXRFbGVtZW50PjtcclxuXHJcbiAgQENvbnRlbnRDaGlsZChBWFZhbGlkYXRpb24sIHsgc3RhdGljOiB0cnVlIH0pXHJcbiAgcHJpdmF0ZSBfY29udGVudFZhbGlkYXRpb246IEFYVmFsaWRhdGlvbjtcclxuXHJcbiAgcHJpdmF0ZSBfdmFsaWRhdGlvbjogQVhWYWxpZGF0aW9uO1xyXG5cclxuICBASW5wdXQoKVxyXG4gIHB1YmxpYyBnZXQgdmFsaWRhdGlvbigpOiBBWFZhbGlkYXRpb24ge1xyXG4gICAgcmV0dXJuIHRoaXMuX3ZhbGlkYXRpb24gPyB0aGlzLl92YWxpZGF0aW9uIDogdGhpcy5fY29udGVudFZhbGlkYXRpb247XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgc2V0IHZhbGlkYXRpb24odjogQVhWYWxpZGF0aW9uKSB7XHJcbiAgICB0aGlzLl92YWxpZGF0aW9uID0gdjtcclxuICAgIHRoaXMuaW5pdFZhbGlkYXRpb24odGhpcy5yZWYsICd2YWx1ZScsIHYpO1xyXG4gIH1cclxuXHJcblxyXG4gIEBJbnB1dCgpXHJcbiAgZGlzYWJsZWQ6IGJvb2xlYW4gPSBmYWxzZTtcclxuXHJcbiAgQElucHV0KClcclxuICByZWFkb25seTogYm9vbGVhbiA9IGZhbHNlO1xyXG5cclxuICBASW5wdXQoKVxyXG4gIHRleHRBbGlnbjogJ3JpZ2h0JyB8ICdsZWZ0JyB8IG51bGwgPSBudWxsO1xyXG5cclxuICBASW5wdXQoKVxyXG4gIHNpemU6ICd4cycgfCAnc20nIHwgJ21kJyB8ICdsZycgfCAneGwnID0gJ21kJztcclxuXHJcbiAgQElucHV0KClcclxuICBwbGFjZWhvbGRlcjogc3RyaW5nO1xyXG5cclxuICB1c2VyQ2hhbmdlOiBib29sZWFuID0gZmFsc2U7XHJcblxyXG4gIGNvbnN0cnVjdG9yKHByb3RlY3RlZCBjZHI6IENoYW5nZURldGVjdG9yUmVmLCBwcm90ZWN0ZWQgcmVmOiBFbGVtZW50UmVmKSB7XHJcbiAgICBzdXBlcigpO1xyXG4gIH1cclxuXHJcbiAgQE91dHB1dCgpXHJcbiAgcHVibGljIG9ua2V5OiBFdmVudEVtaXR0ZXI8S2V5Ym9hcmRFdmVudD4gPSBuZXcgRXZlbnRFbWl0dGVyPEtleWJvYXJkRXZlbnQ+KCk7XHJcblxyXG4gIEBPdXRwdXQoKVxyXG4gIHB1YmxpYyBvbkJsdXI6IEV2ZW50RW1pdHRlcjxBWEh0bWxFdmVudDxFdmVudD4+ID0gbmV3IEV2ZW50RW1pdHRlcjxBWEh0bWxFdmVudDxFdmVudD4+KCk7XHJcblxyXG4gIEBPdXRwdXQoKVxyXG4gIHB1YmxpYyBvbkZvY3VzOiBFdmVudEVtaXR0ZXI8QVhIdG1sRXZlbnQ8RXZlbnQ+PiA9IG5ldyBFdmVudEVtaXR0ZXI8QVhIdG1sRXZlbnQ8RXZlbnQ+PigpO1xyXG5cclxuICBAT3V0cHV0KClcclxuICBwdWJsaWMgb25WYWx1ZUNoYW5nZWQ6IEV2ZW50RW1pdHRlcjxBWEJhc2VJbnB1dENoYW5nZUV2ZW50PiA9IG5ldyBFdmVudEVtaXR0ZXI8QVhCYXNlSW5wdXRDaGFuZ2VFdmVudD4oKTtcclxuXHJcbiAgQE91dHB1dCgpXHJcbiAgdmFsdWVDaGFuZ2U6IEV2ZW50RW1pdHRlcjxhbnk+ID0gbmV3IEV2ZW50RW1pdHRlcjxhbnk+KCk7XHJcblxyXG5cclxuICBASW5wdXQoKVxyXG4gIGljb246IHN0cmluZyA9ICcnO1xyXG5cclxuICBASW5wdXQoKVxyXG4gIGFsbG93Q2xlYXI6IGJvb2xlYW4gPSBmYWxzZTtcclxuXHJcbiAgcHJpdmF0ZSBfdmFsdWU6IHN0cmluZztcclxuICBASW5wdXQoKVxyXG4gIHB1YmxpYyBnZXQgdmFsdWUoKTogc3RyaW5nIHtcclxuICAgIHJldHVybiB0aGlzLl92YWx1ZTtcclxuICB9XHJcbiAgcHVibGljIHNldCB2YWx1ZSh2OiBzdHJpbmcpIHtcclxuICAgIGlmICh2ICE9PSB0aGlzLl92YWx1ZSkge1xyXG4gICAgICBjb25zdCBvbGQgPSB0aGlzLl92YWx1ZTtcclxuICAgICAgdGhpcy5fdmFsdWUgPSB2O1xyXG5cclxuICAgICAgdGhpcy52YWx1ZUNoYW5nZS5lbWl0KHYpO1xyXG4gICAgICB0aGlzLm9uVmFsdWVDaGFuZ2VkLmVtaXQoe1xyXG4gICAgICAgIGNvbXBvbmVudDogdGhpcyxcclxuICAgICAgICB2YWx1ZTogdixcclxuICAgICAgICBvbGRWYWx1ZTogb2xkLFxyXG4gICAgICAgIGlzVXNlckNoYW5nZTogdGhpcy51c2VyQ2hhbmdlXHJcbiAgICAgIH0pO1xyXG4gICAgICB0aGlzLnVzZXJDaGFuZ2UgPSBmYWxzZTtcclxuICAgICAgdGhpcy5jbGVhclZhbGlkYXRpb25TdHlsZSh0aGlzLmlucHV0Lm5hdGl2ZUVsZW1lbnQsIHYgPyBmYWxzZSA6IHRydWUpO1xyXG4gICAgICB0aGlzLmNkci5kZXRlY3RDaGFuZ2VzKCk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBmb2N1cygpIHtcclxuICAgIHRoaXMuaW5wdXQubmF0aXZlRWxlbWVudC5mb2N1cygpO1xyXG4gIH1cclxuXHJcbiAgY2xlYXIoKSB7XHJcbiAgICB0aGlzLnVzZXJDaGFuZ2UgPSB0cnVlO1xyXG5cclxuICAgIHRoaXMudmFsdWUgPSBudWxsO1xyXG4gICAgdGhpcy5pbnB1dC5uYXRpdmVFbGVtZW50LnZhbHVlID0gbnVsbDtcclxuICB9XHJcblxyXG4gIGlzRm9jdXNlZCgpOiBib29sZWFuIHtcclxuICAgIHJldHVybiB0aGlzLmlucHV0Lm5hdGl2ZUVsZW1lbnQgPT09IGRvY3VtZW50LmFjdGl2ZUVsZW1lbnQ7XHJcbiAgfVxyXG5cclxuICBzZXRUZXh0QWxpZ24oKSB7XHJcbiAgICBpZiAodGhpcy50ZXh0QWxpZ24gPT09ICdsZWZ0Jykge1xyXG4gICAgICByZXR1cm4gJ3RleHQtbGVmdCc7XHJcbiAgICB9XHJcbiAgICBpZiAodGhpcy50ZXh0QWxpZ24gPT09ICdyaWdodCcpIHtcclxuICAgICAgcmV0dXJuICd0ZXh0LXJpZ2h0JztcclxuICAgIH1cclxuICB9XHJcblxyXG4gIGhhbmRsZUlucHV0Qmx1cihlOiBFdmVudCkge1xyXG4gICAgdGhpcy5vbkJsdXIuZW1pdCh7XHJcbiAgICAgIGNvbXBvbmVudDogdGhpcyxcclxuICAgICAgaHRtbEVsZW1lbnQ6IHRoaXMucmVmLm5hdGl2ZUVsZW1lbnQsXHJcbiAgICAgIGh0bWxFdmVudDogZVxyXG4gICAgfSk7XHJcbiAgfVxyXG5cclxuICBoYW5kbGVJbnB1dEZvY3VzKGU6IEV2ZW50KSB7XHJcbiAgICB0aGlzLm9uRm9jdXMuZW1pdCh7XHJcbiAgICAgIGNvbXBvbmVudDogdGhpcyxcclxuICAgICAgaHRtbEVsZW1lbnQ6IHRoaXMucmVmLm5hdGl2ZUVsZW1lbnQsXHJcbiAgICAgIGh0bWxFdmVudDogZVxyXG4gICAgfSk7XHJcbiAgfVxyXG59XHJcblxyXG5leHBvcnQgYWJzdHJhY3QgY2xhc3MgQVhCYXNlQnV0dG9uQ29tcG9uZW50IGV4dGVuZHMgQVhCYXNlQ29tcG9uZW50IGltcGxlbWVudHMgQVhCYXNlQ2xpY2thYmxlQ29tcG9uZW50LCBBWEJhc2VTaXphYmxlQ29tcG9uZW50IHtcclxuXHJcbiAgQElucHV0KClcclxuICBkaXNhYmxlZDogYm9vbGVhbjtcclxuXHJcbiAgQE91dHB1dCgpXHJcbiAgY2xpY2s6IEV2ZW50RW1pdHRlcjxBWEh0bWxFdmVudDxNb3VzZUV2ZW50Pj4gPSBuZXcgRXZlbnRFbWl0dGVyPEFYSHRtbEV2ZW50PE1vdXNlRXZlbnQ+PigpO1xyXG5cclxuICBASW5wdXQoKVxyXG4gIHNpemU6IEFYRWxlbWVudFNpemU7XHJcblxyXG4gIEBJbnB1dCgpXHJcbiAgdGFiSW5kZXg6IG51bWJlciA9IDA7XHJcblxyXG59XHJcblxyXG5leHBvcnQgYWJzdHJhY3QgY2xhc3MgQVhCYXNlRHJvcGRvd25Db21wb25lbnQgZXh0ZW5kcyBBWEJhc2VDb21wb25lbnQgaW1wbGVtZW50cyBBWEJhc2VJbnRlcmFjdGl2ZUNvbXBvbmVudCwgQVhCYXNlU2l6YWJsZUNvbXBvbmVudCB7XHJcblxyXG4gIEBJbnB1dCgpXHJcbiAgZGlzYWJsZWQ6IGJvb2xlYW47XHJcblxyXG4gIEBJbnB1dCgpXHJcbiAgc2l6ZTogQVhFbGVtZW50U2l6ZTtcclxuXHJcbiAgQElucHV0KClcclxuICBmaXRQYXJlbnQ6IGJvb2xlYW4gPSB0cnVlO1xyXG5cclxuICBASW5wdXQoKVxyXG4gIHRhYkluZGV4OiBudW1iZXIgPSAwO1xyXG5cclxuICBASW5wdXQoKVxyXG4gIHNob3dEcm9wRG93bkJ1dHRvbjogYm9vbGVhbiA9IHRydWU7XHJcblxyXG4gIGFic3RyYWN0IGNsb3NlKCk7XHJcbiAgYWJzdHJhY3Qgb3BlbigpO1xyXG59XHJcbiJdfQ==
@@ -86,9 +86,9 @@ AXButtonComponent = __decorate([
86
86
  Component({
87
87
  selector: 'ax-button',
88
88
  encapsulation: ViewEncapsulation.None,
89
- template: "<button #container class=\"ax button form-control {{type}} {{size}}\" [class.selected]=\"selected\" [class.icon]=\"icon\"\r\n [class.icon]=\"loading\" [class.disabled]=\"disabled || loading\" (click)=\"handleClick($event)\" [disabled]=\"disabled\"\r\n [ngStyle]=\"{'width.%': block ? 100 : 'auto'}\" [attr.tabindex]=\"tabIndex\">\r\n <div class=\"button-inner-content\">\r\n <ng-container *ngIf=\"icon && !loading\">\r\n <i class=\"{{icon}} icon\"></i>\r\n <ng-container *ngIf=\"refContent.innerText.length==0 && refContent.children.length == 0\"></ng-container>\r\n </ng-container>\r\n <ng-container *ngIf=\"loading\">\r\n <i class=\"far fa-circle-notch fa-spin icon\"></i>\r\n <ng-container *ngIf=\"refContent.innerText.length==0 && refContent.children.length == 0\"></ng-container>\r\n </ng-container>\r\n <div class=\"ax-wrapper\" #refContent>\r\n <ng-content></ng-content>\r\n </div>\r\n </div>\r\n</button>"
89
+ template: "<button #container class=\"ax button form-control {{type}} {{size}} {{cssClass}}\" [class.ax-button-icon]=\"refContent.innerText.length==0 && refContent.children.length == 0\" [class.selected]=\"selected\" [class.icon]=\"icon\"\r\n [class.icon]=\"loading\" [class.disabled]=\"disabled || loading\" (click)=\"handleClick($event)\" [disabled]=\"disabled\"\r\n [ngStyle]=\"{'width.%': block ? 100 : 'auto'}\" [attr.tabindex]=\"tabIndex\">\r\n <div class=\"button-inner-content\">\r\n <ng-container *ngIf=\"icon && !loading\">\r\n <i class=\"{{icon}} icon\"></i>\r\n <ng-container *ngIf=\"refContent.innerText.length==0 && refContent.children.length == 0\"></ng-container>\r\n </ng-container>\r\n <ng-container *ngIf=\"loading\">\r\n <i class=\"far fa-circle-notch fa-spin icon\"></i>\r\n <ng-container *ngIf=\"refContent.innerText.length==0 && refContent.children.length == 0\"></ng-container>\r\n </ng-container>\r\n <div class=\"ax-wrapper\" #refContent>\r\n <ng-content></ng-content>\r\n </div>\r\n </div>\r\n</button>"
90
90
  }),
91
91
  __metadata("design:paramtypes", [ElementRef])
92
92
  ], AXButtonComponent);
93
93
  export { AXButtonComponent };
94
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYnV0dG9uLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiJuZzovL0BhY29yZXgvY29tcG9uZW50cy8iLCJzb3VyY2VzIjpbImxpYi9idXR0b24vYnV0dG9uLmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxLQUFLLEVBQUUsaUJBQWlCLEVBQUUsVUFBVSxFQUFFLFNBQVMsRUFBRSxZQUFZLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDekcsT0FBTyxFQUFFLHFCQUFxQixFQUFFLE1BQU0sdUJBQXVCLENBQUM7QUFPOUQsSUFBYSxpQkFBaUIsR0FBOUIsTUFBYSxpQkFBa0IsU0FBUSxxQkFBcUI7SUFFMUQsWUFBb0IsRUFBYztRQUNoQyxLQUFLLEVBQUUsQ0FBQztRQURVLE9BQUUsR0FBRixFQUFFLENBQVk7UUFPbEMsU0FBSSxHQUFXLFNBQVMsQ0FBQztRQU16QixtQkFBYyxHQUFZLEtBQUssQ0FBQztRQUdoQyxtQkFBYyxHQUFZLEtBQUssQ0FBQztRQUdoQyxVQUFLLEdBQVksS0FBSyxDQUFDO1FBR3ZCLFlBQU8sR0FBWSxLQUFLLENBQUM7UUFHekIsYUFBUSxHQUFZLEtBQUssQ0FBQztJQXZCMUIsQ0FBQztJQXlCRCxlQUFlO1FBQ2IsSUFBSSxJQUFJLENBQUMsY0FBYyxFQUFFO1lBQ3ZCLFVBQVUsQ0FBQyxHQUFHLEVBQUU7Z0JBQ2QsSUFBSSxDQUFDLFdBQVcsRUFBRSxDQUFDO1lBQ3JCLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQztTQUNSO0lBQ0gsQ0FBQztJQUlELFdBQVcsQ0FBQyxDQUFhO1FBQ3ZCLElBQUksSUFBSSxDQUFDLFFBQVEsS0FBSyxJQUFJLEVBQUU7WUFDMUIsSUFBSSxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUM7Z0JBQ2QsU0FBUyxFQUFFLElBQUk7Z0JBQ2YsV0FBVyxFQUFFLElBQUksQ0FBQyxFQUFFLENBQUMsYUFBYTtnQkFDbEMsU0FBUyxFQUFFLENBQUM7YUFDYixDQUFDLENBQUM7WUFDSCxDQUFDLENBQUMsZUFBZSxFQUFFLENBQUM7U0FDckI7SUFDSCxDQUFDO0lBR0QsZ0JBQWdCLENBQUMsQ0FBZ0I7UUFDL0IsSUFBSSxJQUFJLENBQUMsY0FBYyxFQUFFO1lBQ3ZCLElBQUksQ0FBQyxXQUFXLENBQUMsSUFBSSxDQUFDLENBQUM7WUFDdkIsQ0FBQyxDQUFDLGVBQWUsRUFBRSxDQUFDO1lBQ3BCLENBQUMsQ0FBQyxjQUFjLEVBQUUsQ0FBQztZQUNuQixPQUFPLEtBQUssQ0FBQztTQUNkO0lBQ0gsQ0FBQztJQUVELFdBQVc7UUFDVCxJQUFJLENBQUMsU0FBUyxDQUFDLGFBQWEsQ0FBQyxLQUFLLEVBQUUsQ0FBQztJQUN2QyxDQUFDO0NBQ0YsQ0FBQTs7WUE3RHlCLFVBQVU7O0FBSVE7SUFBekMsU0FBUyxDQUFDLFdBQVcsRUFBRSxFQUFFLE1BQU0sRUFBRSxJQUFJLEVBQUUsQ0FBQzs4QkFBWSxVQUFVO29EQUFvQjtBQUduRjtJQURDLEtBQUssRUFBRTs7K0NBQ2lCO0FBR3pCO0lBREMsS0FBSyxFQUFFOzsrQ0FDSztBQUdiO0lBREMsS0FBSyxFQUFFOzt5REFDd0I7QUFHaEM7SUFEQyxLQUFLLEVBQUU7O3lEQUN3QjtBQUdoQztJQURDLEtBQUssRUFBRTs7Z0RBQ2U7QUFHdkI7SUFEQyxLQUFLLEVBQUU7O2tEQUNpQjtBQUd6QjtJQURDLEtBQUssRUFBRTs7bURBQ2tCO0FBd0IxQjtJQURDLFlBQVksQ0FBQyx5QkFBeUIsRUFBRSxDQUFDLFFBQVEsQ0FBQyxDQUFDOztxQ0FDaEMsYUFBYTs7eURBT2hDO0FBMURVLGlCQUFpQjtJQUw3QixTQUFTLENBQUM7UUFDVCxRQUFRLEVBQUUsV0FBVztRQUNyQixhQUFhLEVBQUUsaUJBQWlCLENBQUMsSUFBSTtRQUNyQyx5Z0NBQXNDO0tBQ3ZDLENBQUM7cUNBR3dCLFVBQVU7R0FGdkIsaUJBQWlCLENBK0Q3QjtTQS9EWSxpQkFBaUIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIElucHV0LCBWaWV3RW5jYXBzdWxhdGlvbiwgRWxlbWVudFJlZiwgVmlld0NoaWxkLCBIb3N0TGlzdGVuZXIgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgQVhCYXNlQnV0dG9uQ29tcG9uZW50IH0gZnJvbSAnLi4vYmFzZS9lbGVtZW50LmNsYXNzJztcclxuXHJcbkBDb21wb25lbnQoe1xyXG4gIHNlbGVjdG9yOiAnYXgtYnV0dG9uJyxcclxuICBlbmNhcHN1bGF0aW9uOiBWaWV3RW5jYXBzdWxhdGlvbi5Ob25lLFxyXG4gIHRlbXBsYXRlVXJsOiAnLi9idXR0b24uY29tcG9uZW50Lmh0bWwnXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBBWEJ1dHRvbkNvbXBvbmVudCBleHRlbmRzIEFYQmFzZUJ1dHRvbkNvbXBvbmVudCB7XHJcblxyXG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgZWw6IEVsZW1lbnRSZWYpIHtcclxuICAgIHN1cGVyKCk7XHJcbiAgfVxyXG5cclxuICBAVmlld0NoaWxkKCdjb250YWluZXInLCB7IHN0YXRpYzogdHJ1ZSB9KSBjb250YWluZXI6IEVsZW1lbnRSZWY8SFRNTEJ1dHRvbkVsZW1lbnQ+O1xyXG5cclxuICBASW5wdXQoKVxyXG4gIHR5cGU6IHN0cmluZyA9ICdwcmltYXJ5JztcclxuXHJcbiAgQElucHV0KClcclxuICBpY29uOiBzdHJpbmc7XHJcblxyXG4gIEBJbnB1dCgpXHJcbiAgc3VibWl0QmVoYXZpb3I6IGJvb2xlYW4gPSBmYWxzZTtcclxuXHJcbiAgQElucHV0KClcclxuICBjYW5jZWxCZWhhdmlvcjogYm9vbGVhbiA9IGZhbHNlO1xyXG5cclxuICBASW5wdXQoKVxyXG4gIGJsb2NrOiBib29sZWFuID0gZmFsc2U7XHJcblxyXG4gIEBJbnB1dCgpXHJcbiAgbG9hZGluZzogYm9vbGVhbiA9IGZhbHNlO1xyXG5cclxuICBASW5wdXQoKVxyXG4gIHNlbGVjdGVkOiBib29sZWFuID0gZmFsc2U7XHJcblxyXG4gIG5nQWZ0ZXJWaWV3SW5pdCgpOiB2b2lkIHtcclxuICAgIGlmICh0aGlzLnN1Ym1pdEJlaGF2aW9yKSB7XHJcbiAgICAgIHNldFRpbWVvdXQoKCkgPT4ge1xyXG4gICAgICAgIHRoaXMuZm9jdXNCdXR0b24oKTtcclxuICAgICAgfSwgMTApO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcblxyXG5cclxuICBoYW5kbGVDbGljayhlOiBNb3VzZUV2ZW50KSB7XHJcbiAgICBpZiAodGhpcy5kaXNhYmxlZCA9PT0gdHJ1ZSkge1xyXG4gICAgICB0aGlzLmNsaWNrLmVtaXQoe1xyXG4gICAgICAgIGNvbXBvbmVudDogdGhpcyxcclxuICAgICAgICBodG1sRWxlbWVudDogdGhpcy5lbC5uYXRpdmVFbGVtZW50LFxyXG4gICAgICAgIGh0bWxFdmVudDogZSxcclxuICAgICAgfSk7XHJcbiAgICAgIGUuc3RvcFByb3BhZ2F0aW9uKCk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBASG9zdExpc3RlbmVyKCdkb2N1bWVudDprZXlkb3duLmVzY2FwZScsIFsnJGV2ZW50J10pXHJcbiAgb25LZXlkb3duSGFuZGxlcihlOiBLZXlib2FyZEV2ZW50KSB7XHJcbiAgICBpZiAodGhpcy5jYW5jZWxCZWhhdmlvcikge1xyXG4gICAgICB0aGlzLmhhbmRsZUNsaWNrKG51bGwpO1xyXG4gICAgICBlLnN0b3BQcm9wYWdhdGlvbigpO1xyXG4gICAgICBlLnByZXZlbnREZWZhdWx0KCk7XHJcbiAgICAgIHJldHVybiBmYWxzZTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIGZvY3VzQnV0dG9uKCkge1xyXG4gICAgdGhpcy5jb250YWluZXIubmF0aXZlRWxlbWVudC5mb2N1cygpO1xyXG4gIH1cclxufVxyXG4iXX0=
94
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYnV0dG9uLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiJuZzovL0BhY29yZXgvY29tcG9uZW50cy8iLCJzb3VyY2VzIjpbImxpYi9idXR0b24vYnV0dG9uLmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxLQUFLLEVBQUUsaUJBQWlCLEVBQUUsVUFBVSxFQUFFLFNBQVMsRUFBRSxZQUFZLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDekcsT0FBTyxFQUFFLHFCQUFxQixFQUFFLE1BQU0sdUJBQXVCLENBQUM7QUFPOUQsSUFBYSxpQkFBaUIsR0FBOUIsTUFBYSxpQkFBa0IsU0FBUSxxQkFBcUI7SUFFMUQsWUFBb0IsRUFBYztRQUNoQyxLQUFLLEVBQUUsQ0FBQztRQURVLE9BQUUsR0FBRixFQUFFLENBQVk7UUFPbEMsU0FBSSxHQUFXLFNBQVMsQ0FBQztRQU16QixtQkFBYyxHQUFZLEtBQUssQ0FBQztRQUdoQyxtQkFBYyxHQUFZLEtBQUssQ0FBQztRQUdoQyxVQUFLLEdBQVksS0FBSyxDQUFDO1FBR3ZCLFlBQU8sR0FBWSxLQUFLLENBQUM7UUFHekIsYUFBUSxHQUFZLEtBQUssQ0FBQztJQXZCMUIsQ0FBQztJQXlCRCxlQUFlO1FBQ2IsSUFBSSxJQUFJLENBQUMsY0FBYyxFQUFFO1lBQ3ZCLFVBQVUsQ0FBQyxHQUFHLEVBQUU7Z0JBQ2QsSUFBSSxDQUFDLFdBQVcsRUFBRSxDQUFDO1lBQ3JCLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQztTQUNSO0lBQ0gsQ0FBQztJQUlELFdBQVcsQ0FBQyxDQUFhO1FBQ3ZCLElBQUksSUFBSSxDQUFDLFFBQVEsS0FBSyxJQUFJLEVBQUU7WUFDMUIsSUFBSSxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUM7Z0JBQ2QsU0FBUyxFQUFFLElBQUk7Z0JBQ2YsV0FBVyxFQUFFLElBQUksQ0FBQyxFQUFFLENBQUMsYUFBYTtnQkFDbEMsU0FBUyxFQUFFLENBQUM7YUFDYixDQUFDLENBQUM7WUFDSCxDQUFDLENBQUMsZUFBZSxFQUFFLENBQUM7U0FDckI7SUFDSCxDQUFDO0lBR0QsZ0JBQWdCLENBQUMsQ0FBZ0I7UUFDL0IsSUFBSSxJQUFJLENBQUMsY0FBYyxFQUFFO1lBQ3ZCLElBQUksQ0FBQyxXQUFXLENBQUMsSUFBSSxDQUFDLENBQUM7WUFDdkIsQ0FBQyxDQUFDLGVBQWUsRUFBRSxDQUFDO1lBQ3BCLENBQUMsQ0FBQyxjQUFjLEVBQUUsQ0FBQztZQUNuQixPQUFPLEtBQUssQ0FBQztTQUNkO0lBQ0gsQ0FBQztJQUVELFdBQVc7UUFDVCxJQUFJLENBQUMsU0FBUyxDQUFDLGFBQWEsQ0FBQyxLQUFLLEVBQUUsQ0FBQztJQUN2QyxDQUFDO0NBQ0YsQ0FBQTs7WUE3RHlCLFVBQVU7O0FBSVE7SUFBekMsU0FBUyxDQUFDLFdBQVcsRUFBRSxFQUFFLE1BQU0sRUFBRSxJQUFJLEVBQUUsQ0FBQzs4QkFBWSxVQUFVO29EQUFvQjtBQUduRjtJQURDLEtBQUssRUFBRTs7K0NBQ2lCO0FBR3pCO0lBREMsS0FBSyxFQUFFOzsrQ0FDSztBQUdiO0lBREMsS0FBSyxFQUFFOzt5REFDd0I7QUFHaEM7SUFEQyxLQUFLLEVBQUU7O3lEQUN3QjtBQUdoQztJQURDLEtBQUssRUFBRTs7Z0RBQ2U7QUFHdkI7SUFEQyxLQUFLLEVBQUU7O2tEQUNpQjtBQUd6QjtJQURDLEtBQUssRUFBRTs7bURBQ2tCO0FBd0IxQjtJQURDLFlBQVksQ0FBQyx5QkFBeUIsRUFBRSxDQUFDLFFBQVEsQ0FBQyxDQUFDOztxQ0FDaEMsYUFBYTs7eURBT2hDO0FBMURVLGlCQUFpQjtJQUw3QixTQUFTLENBQUM7UUFDVCxRQUFRLEVBQUUsV0FBVztRQUNyQixhQUFhLEVBQUUsaUJBQWlCLENBQUMsSUFBSTtRQUNyQyxtbkNBQXNDO0tBQ3ZDLENBQUM7cUNBR3dCLFVBQVU7R0FGdkIsaUJBQWlCLENBK0Q3QjtTQS9EWSxpQkFBaUIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIElucHV0LCBWaWV3RW5jYXBzdWxhdGlvbiwgRWxlbWVudFJlZiwgVmlld0NoaWxkLCBIb3N0TGlzdGVuZXIgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgQVhCYXNlQnV0dG9uQ29tcG9uZW50IH0gZnJvbSAnLi4vYmFzZS9lbGVtZW50LmNsYXNzJztcclxuXHJcbkBDb21wb25lbnQoe1xyXG4gIHNlbGVjdG9yOiAnYXgtYnV0dG9uJyxcclxuICBlbmNhcHN1bGF0aW9uOiBWaWV3RW5jYXBzdWxhdGlvbi5Ob25lLFxyXG4gIHRlbXBsYXRlVXJsOiAnLi9idXR0b24uY29tcG9uZW50Lmh0bWwnXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBBWEJ1dHRvbkNvbXBvbmVudCBleHRlbmRzIEFYQmFzZUJ1dHRvbkNvbXBvbmVudCB7XHJcblxyXG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgZWw6IEVsZW1lbnRSZWYpIHtcclxuICAgIHN1cGVyKCk7XHJcbiAgfVxyXG5cclxuICBAVmlld0NoaWxkKCdjb250YWluZXInLCB7IHN0YXRpYzogdHJ1ZSB9KSBjb250YWluZXI6IEVsZW1lbnRSZWY8SFRNTEJ1dHRvbkVsZW1lbnQ+O1xyXG5cclxuICBASW5wdXQoKVxyXG4gIHR5cGU6IHN0cmluZyA9ICdwcmltYXJ5JztcclxuXHJcbiAgQElucHV0KClcclxuICBpY29uOiBzdHJpbmc7XHJcblxyXG4gIEBJbnB1dCgpXHJcbiAgc3VibWl0QmVoYXZpb3I6IGJvb2xlYW4gPSBmYWxzZTtcclxuXHJcbiAgQElucHV0KClcclxuICBjYW5jZWxCZWhhdmlvcjogYm9vbGVhbiA9IGZhbHNlO1xyXG5cclxuICBASW5wdXQoKVxyXG4gIGJsb2NrOiBib29sZWFuID0gZmFsc2U7XHJcblxyXG4gIEBJbnB1dCgpXHJcbiAgbG9hZGluZzogYm9vbGVhbiA9IGZhbHNlO1xyXG5cclxuICBASW5wdXQoKVxyXG4gIHNlbGVjdGVkOiBib29sZWFuID0gZmFsc2U7XHJcblxyXG4gIG5nQWZ0ZXJWaWV3SW5pdCgpOiB2b2lkIHtcclxuICAgIGlmICh0aGlzLnN1Ym1pdEJlaGF2aW9yKSB7XHJcbiAgICAgIHNldFRpbWVvdXQoKCkgPT4ge1xyXG4gICAgICAgIHRoaXMuZm9jdXNCdXR0b24oKTtcclxuICAgICAgfSwgMTApO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcblxyXG5cclxuICBoYW5kbGVDbGljayhlOiBNb3VzZUV2ZW50KSB7XHJcbiAgICBpZiAodGhpcy5kaXNhYmxlZCA9PT0gdHJ1ZSkge1xyXG4gICAgICB0aGlzLmNsaWNrLmVtaXQoe1xyXG4gICAgICAgIGNvbXBvbmVudDogdGhpcyxcclxuICAgICAgICBodG1sRWxlbWVudDogdGhpcy5lbC5uYXRpdmVFbGVtZW50LFxyXG4gICAgICAgIGh0bWxFdmVudDogZSxcclxuICAgICAgfSk7XHJcbiAgICAgIGUuc3RvcFByb3BhZ2F0aW9uKCk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBASG9zdExpc3RlbmVyKCdkb2N1bWVudDprZXlkb3duLmVzY2FwZScsIFsnJGV2ZW50J10pXHJcbiAgb25LZXlkb3duSGFuZGxlcihlOiBLZXlib2FyZEV2ZW50KSB7XHJcbiAgICBpZiAodGhpcy5jYW5jZWxCZWhhdmlvcikge1xyXG4gICAgICB0aGlzLmhhbmRsZUNsaWNrKG51bGwpO1xyXG4gICAgICBlLnN0b3BQcm9wYWdhdGlvbigpO1xyXG4gICAgICBlLnByZXZlbnREZWZhdWx0KCk7XHJcbiAgICAgIHJldHVybiBmYWxzZTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIGZvY3VzQnV0dG9uKCkge1xyXG4gICAgdGhpcy5jb250YWluZXIubmF0aXZlRWxlbWVudC5mb2N1cygpO1xyXG4gIH1cclxufVxyXG4iXX0=
@@ -434,11 +434,11 @@ __decorate([
434
434
  AXCalendarBoxComponent = __decorate([
435
435
  Component({
436
436
  selector: 'ax-calendar-box',
437
- template: "<!-- <div class=\"calendar-body ax {{size}}\" [ngClass]=\"type\">\r\n <div class=\"calendar-selector\">\r\n <div class=\"arrows left-arrow\" (click)=\"prev()\">\r\n <i class=\"far fa-chevron-left\"></i>\r\n </div>\r\n <div class=\"selector-name\" (click)=\"changeView()\" [ngSwitch]=\"view\">\r\n <ng-container *ngSwitchCase=\"'day'\">\r\n {{viewRange.startTime.add('day',10) | dt:\"MMM YYYY\"}}\r\n </ng-container>\r\n <ng-container *ngSwitchCase=\"'month'\">\r\n {{viewRange.startTime | dt:\"YYYY\"}}\r\n </ng-container>\r\n <ng-container *ngSwitchDefault>\r\n {{viewRange.startTime | dt:\"YYYY\"}} - {{viewRange.endTime | dt:\"YYYY\"}}\r\n </ng-container>\r\n </div>\r\n <div class=\"arrows right-arrow\" (click)=\"next()\">\r\n <i class=\"far fa-chevron-right\"></i>\r\n </div>\r\n </div>\r\n <div class=\"view\">\r\n <ng-container [ngSwitch]=\"view\">\r\n <ng-container *ngSwitchCase=\"'day'\">\r\n <table>\r\n <thead>\r\n <tr class=\"days-name calendar-row\">\r\n <th class=\"calendar-item\" *ngFor='let w of weekdays'>{{w}}</th>\r\n </tr>\r\n </thead>\r\n <tbody>\r\n <tr class=\"calendar-row\" *ngFor=\"let r of matrix\">\r\n <td *ngFor=\"let d of r;trackBy:trackByFn\" class=\"calendar-item \" [title]=\"getTitle(d.date)\" [ngClass]=\"{'selected': d.selected,'focused':d.focused,'today':d.today,'next-month':d.nextMonth , 'holiday':d.holiday , 'unselect':d.unselect}\" [ngStyle]=\"(findDay(d.date)) ? getStyle(d.date):''\"\r\n (click)=\"setDayClick($event,d)\">\r\n <div>\r\n {{d.date.dayInMonth}}\r\n </div>\r\n </td>\r\n </tr>\r\n </tbody>\r\n </table>\r\n </ng-container>\r\n <ng-container *ngSwitchCase=\"'month'\">\r\n <table>\r\n <tbody>\r\n <tr class=\"calendar-row\" *ngFor=\"let r of matrix\">\r\n <td class=\"calendar-item month-item\" *ngFor=\"let d of r;trackBy:trackByFn\" [ngClass]=\"{'selected': d.selected,'focused':d.focused,'today':d.today}\" (click)=\"setMonthClick($event,d.date)\">\r\n <div>\r\n {{d.date| dt:\"MMM\"}}\r\n </div>\r\n </td>\r\n </tr>\r\n </tbody>\r\n </table>\r\n </ng-container>\r\n <ng-container *ngSwitchCase=\"'year'\">\r\n <table>\r\n <tbody>\r\n <tr class=\"calendar-row\" *ngFor=\"let r of matrix\">\r\n <td class=\"calendar-item year-item\" *ngFor=\"let d of r;trackBy:trackByFn\" [ngClass]=\"{'selected': d.selected,'focused':d.focused,'today':d.today}\" (click)=\"setYearClick($event,d.date)\">\r\n <div>\r\n {{d.date | dt:\"YYYY\"}}\r\n </div>\r\n </td>\r\n </tr>\r\n </tbody>\r\n </table>\r\n </ng-container>\r\n </ng-container>\r\n </div>\r\n <div style=\"padding: 5px;\">\r\n <ax-button (click)=\"setToday()\" *ngIf=\"showTodayButton\" size=\"sm\" type=\"primary\" block=\"'true'\">\r\n {{getTodayName()}}\r\n </ax-button>\r\n </div>\r\n</div> -->\r\n\r\n\r\n\r\n<div class=\"ax-calendar {{size}}\" [ngClass]=\"type\">\r\n <div class=\"ax-calendar-header\">\r\n\r\n <div class=\"ax-nav-button\" [ngSwitch]=\"view\">\r\n <ax-button type=\"light twotone\" (click)=\"changeView()\">\r\n <ng-container *ngSwitchCase=\"'day'\">\r\n {{viewRange.startTime.add('day',10) | dt:\"MMM YYYY\"}}\r\n </ng-container>\r\n <ng-container *ngSwitchCase=\"'month'\">\r\n {{viewRange.startTime | dt:\"YYYY\"}}\r\n </ng-container>\r\n <ng-container *ngSwitchDefault>\r\n {{viewRange.startTime | dt:\"YYYY\"}} - {{viewRange.endTime | dt:\"YYYY\"}}\r\n </ng-container>\r\n </ax-button>\r\n </div>\r\n\r\n <div class=\"ax-controll-button\">\r\n <ax-button type=\"light twotone\" (click)=\"next()\"><i class=\"fas fa-chevron-down\"></i></ax-button>\r\n\r\n </div>\r\n <div class=\"ax-controll-button\">\r\n <ax-button type=\"light twotone\" (click)=\"prev()\"><i class=\"fas fa-chevron-up\"></i></ax-button>\r\n\r\n </div>\r\n </div>\r\n <div class=\"ax-calendar-body\">\r\n <ng-container [ngSwitch]=\"view\">\r\n <ng-container *ngSwitchCase=\"'day'\">\r\n <div class=\"ax-month-items\">\r\n <ng-container *ngFor='let w of weekdays'>\r\n <div class=\"ax-month-item\"><strong>{{w}}</strong></div>\r\n </ng-container>\r\n </div>\r\n <div class=\"ax-day-items\">\r\n <ng-container *ngFor=\"let r of matrix\">\r\n <div class=\"ax-day-item ax-state-event\" *ngFor=\"let d of r;trackBy:trackByFn\" [title]=\"getTitle(d.date)\" [ngClass]=\"{'selected': d.selected,'focused':d.focused,'today':d.today,'next-month':d.nextMonth , 'holiday':d.holiday , 'unselect':d.unselect}\" [ngStyle]=\"(findDay(d.date)) ? getStyle(d.date):''\"\r\n (click)=\"setDayClick($event,d)\">\r\n {{d.date.dayInMonth}}</div>\r\n </ng-container>\r\n\r\n </div>\r\n </ng-container>\r\n <div class=\"ax-month-container\" *ngSwitchCase=\"'month'\">\r\n <ng-container *ngFor=\"let r of matrix\">\r\n <div class=\"ax-month-item\" *ngFor=\"let d of r;trackBy:trackByFn\" [ngClass]=\"{'selected': d.selected,'focused':d.focused,'today':d.today}\" (click)=\"setMonthClick($event,d.date)\">\r\n <strong>\r\n {{d.date| dt:\"MMM\"}}\r\n </strong>\r\n </div>\r\n </ng-container>\r\n </div>\r\n <div class=\"ax-year-container\" *ngSwitchCase=\"'year'\">\r\n <ng-container class=\"calendar-row\" *ngFor=\"let r of matrix\">\r\n <div class=\"ax-year-item\" *ngFor=\"let d of r;trackBy:trackByFn\" [ngClass]=\"{'selected': d.selected,'focused':d.focused,'today':d.today}\" (click)=\"setYearClick($event,d.date)\">\r\n <strong>{{d.date | dt:\"YYYY\"}}</strong>\r\n </div>\r\n </ng-container>\r\n </div>\r\n </ng-container>\r\n\r\n </div>\r\n <div class=\"ax-calendar-footer\">\r\n <ax-button (click)=\"setToday()\" *ngIf=\"showTodayButton\" type=\"dark\">\r\n {{getTodayName()}}\r\n </ax-button>\r\n </div>\r\n</div>",
437
+ template: "<!-- <div class=\"calendar-body ax {{size}}\" [ngClass]=\"type\">\r\n <div class=\"calendar-selector\">\r\n <div class=\"arrows left-arrow\" (click)=\"prev()\">\r\n <i class=\"far fa-chevron-left\"></i>\r\n </div>\r\n <div class=\"selector-name\" (click)=\"changeView()\" [ngSwitch]=\"view\">\r\n <ng-container *ngSwitchCase=\"'day'\">\r\n {{viewRange.startTime.add('day',10) | dt:\"MMM YYYY\"}}\r\n </ng-container>\r\n <ng-container *ngSwitchCase=\"'month'\">\r\n {{viewRange.startTime | dt:\"YYYY\"}}\r\n </ng-container>\r\n <ng-container *ngSwitchDefault>\r\n {{viewRange.startTime | dt:\"YYYY\"}} - {{viewRange.endTime | dt:\"YYYY\"}}\r\n </ng-container>\r\n </div>\r\n <div class=\"arrows right-arrow\" (click)=\"next()\">\r\n <i class=\"far fa-chevron-right\"></i>\r\n </div>\r\n </div>\r\n <div class=\"view\">\r\n <ng-container [ngSwitch]=\"view\">\r\n <ng-container *ngSwitchCase=\"'day'\">\r\n <table>\r\n <thead>\r\n <tr class=\"days-name calendar-row\">\r\n <th class=\"calendar-item\" *ngFor='let w of weekdays'>{{w}}</th>\r\n </tr>\r\n </thead>\r\n <tbody>\r\n <tr class=\"calendar-row\" *ngFor=\"let r of matrix\">\r\n <td *ngFor=\"let d of r;trackBy:trackByFn\" class=\"calendar-item \" [title]=\"getTitle(d.date)\" [ngClass]=\"{'selected': d.selected,'focused':d.focused,'today':d.today,'next-month':d.nextMonth , 'holiday':d.holiday , 'unselect':d.unselect}\" [ngStyle]=\"(findDay(d.date)) ? getStyle(d.date):''\"\r\n (click)=\"setDayClick($event,d)\">\r\n <div>\r\n {{d.date.dayInMonth}}\r\n </div>\r\n </td>\r\n </tr>\r\n </tbody>\r\n </table>\r\n </ng-container>\r\n <ng-container *ngSwitchCase=\"'month'\">\r\n <table>\r\n <tbody>\r\n <tr class=\"calendar-row\" *ngFor=\"let r of matrix\">\r\n <td class=\"calendar-item month-item\" *ngFor=\"let d of r;trackBy:trackByFn\" [ngClass]=\"{'selected': d.selected,'focused':d.focused,'today':d.today}\" (click)=\"setMonthClick($event,d.date)\">\r\n <div>\r\n {{d.date| dt:\"MMM\"}}\r\n </div>\r\n </td>\r\n </tr>\r\n </tbody>\r\n </table>\r\n </ng-container>\r\n <ng-container *ngSwitchCase=\"'year'\">\r\n <table>\r\n <tbody>\r\n <tr class=\"calendar-row\" *ngFor=\"let r of matrix\">\r\n <td class=\"calendar-item year-item\" *ngFor=\"let d of r;trackBy:trackByFn\" [ngClass]=\"{'selected': d.selected,'focused':d.focused,'today':d.today}\" (click)=\"setYearClick($event,d.date)\">\r\n <div>\r\n {{d.date | dt:\"YYYY\"}}\r\n </div>\r\n </td>\r\n </tr>\r\n </tbody>\r\n </table>\r\n </ng-container>\r\n </ng-container>\r\n </div>\r\n <div style=\"padding: 5px;\">\r\n <ax-button (click)=\"setToday()\" *ngIf=\"showTodayButton\" size=\"sm\" type=\"primary\" block=\"'true'\">\r\n {{getTodayName()}}\r\n </ax-button>\r\n </div>\r\n</div> -->\r\n\r\n\r\n\r\n<div class=\"ax-calendar-container {{size}}\" [ngClass]=\"type\">\r\n <div class=\"ax-calendar-header\">\r\n\r\n <div class=\"ax-nav-button\" [ngSwitch]=\"view\">\r\n <ax-button type=\"light blank\" (click)=\"changeView()\">\r\n <ng-container *ngSwitchCase=\"'day'\">\r\n {{viewRange.startTime.add('day',10) | dt:\"MMM YYYY\"}}\r\n </ng-container>\r\n <ng-container *ngSwitchCase=\"'month'\">\r\n {{viewRange.startTime | dt:\"YYYY\"}}\r\n </ng-container>\r\n <ng-container *ngSwitchDefault>\r\n {{viewRange.startTime | dt:\"YYYY\"}} - {{viewRange.endTime | dt:\"YYYY\"}}\r\n </ng-container>\r\n </ax-button>\r\n </div>\r\n\r\n <div class=\"ax-controll-button\">\r\n <ax-button type=\"light blank\" icon=\"fas fa-chevron-down\" (click)=\"next()\"></ax-button>\r\n </div>\r\n <div class=\"ax-controll-button\">\r\n <ax-button type=\"light blank\" icon=\"fas fa-chevron-up\" (click)=\"prev()\"></ax-button>\r\n </div>\r\n </div>\r\n <div class=\"ax-calendar-body\">\r\n <ng-container [ngSwitch]=\"view\">\r\n <ng-container *ngSwitchCase=\"'day'\">\r\n <div class=\"ax-month-items\">\r\n <ng-container *ngFor='let w of weekdays'>\r\n <div class=\"ax-month-item\"><strong>{{w}}</strong></div>\r\n </ng-container>\r\n </div>\r\n <div class=\"ax-day-items\">\r\n <ng-container *ngFor=\"let r of matrix\">\r\n <div class=\"ax-day-item ax-state-event\" *ngFor=\"let d of r;trackBy:trackByFn\" [title]=\"getTitle(d.date)\" [ngClass]=\"{'selected': d.selected,'focused':d.focused,'today':d.today,'next-month':d.nextMonth , 'holiday':d.holiday , 'unselect':d.unselect}\" [ngStyle]=\"(findDay(d.date)) ? getStyle(d.date):''\"\r\n (click)=\"setDayClick($event,d)\">\r\n {{d.date.dayInMonth}}</div>\r\n </ng-container>\r\n\r\n </div>\r\n </ng-container>\r\n <div class=\"ax-month-container\" *ngSwitchCase=\"'month'\">\r\n <ng-container *ngFor=\"let r of matrix\">\r\n <div class=\"ax-month-item\" *ngFor=\"let d of r;trackBy:trackByFn\" [ngClass]=\"{'selected': d.selected,'focused':d.focused,'today':d.today}\" (click)=\"setMonthClick($event,d.date)\">\r\n <strong>\r\n {{d.date| dt:\"MMM\"}}\r\n </strong>\r\n </div>\r\n </ng-container>\r\n </div>\r\n <div class=\"ax-year-container\" *ngSwitchCase=\"'year'\">\r\n <ng-container class=\"calendar-row\" *ngFor=\"let r of matrix\">\r\n <div class=\"ax-year-item\" *ngFor=\"let d of r;trackBy:trackByFn\" [ngClass]=\"{'selected': d.selected,'focused':d.focused,'today':d.today}\" (click)=\"setYearClick($event,d.date)\">\r\n <strong>{{d.date | dt:\"YYYY\"}}</strong>\r\n </div>\r\n </ng-container>\r\n </div>\r\n </ng-container>\r\n\r\n </div>\r\n <div class=\"ax-calendar-footer\">\r\n <ax-button (click)=\"setToday()\" *ngIf=\"showTodayButton\" type=\"dark\">\r\n {{getTodayName()}}\r\n </ax-button>\r\n </div>\r\n</div>",
438
438
  encapsulation: ViewEncapsulation.None,
439
439
  changeDetection: ChangeDetectionStrategy.OnPush
440
440
  }),
441
441
  __metadata("design:paramtypes", [ChangeDetectorRef, ElementRef])
442
442
  ], AXCalendarBoxComponent);
443
443
  export { AXCalendarBoxComponent };
444
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2FsZW5kYXItYm94LmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiJuZzovL0BhY29yZXgvY29tcG9uZW50cy8iLCJzb3VyY2VzIjpbImxpYi9jYWxlbmRhci9jYWxlbmRhci1ib3gvY2FsZW5kYXItYm94LmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxLQUFLLEVBQUUsTUFBTSxFQUFFLFlBQVksRUFBRSx1QkFBdUIsRUFBRSxpQkFBaUIsRUFBRSxpQkFBaUIsRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDbEosT0FBTyxFQUFFLFVBQVUsRUFBRSxlQUFlLEVBQWtCLFlBQVksRUFBRSxNQUFNLGNBQWMsQ0FBQztBQUd6RixPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sY0FBYyxDQUFDO0FBeUJ4QyxJQUFhLHNCQUFzQixHQUFuQyxNQUFhLHNCQUFzQjtJQWtJakMsWUFBb0IsR0FBc0IsRUFBVSxHQUFlO1FBQS9DLFFBQUcsR0FBSCxHQUFHLENBQW1CO1FBQVUsUUFBRyxHQUFILEdBQUcsQ0FBWTtRQWpJbkUsYUFBUSxHQUFhLEVBQUUsQ0FBQztRQUVoQixNQUFDLEdBQUc7WUFDVixNQUFNLEVBQUU7Z0JBQ04sTUFBTSxFQUFFLFFBQVEsQ0FBQyxHQUFHLENBQUMsd0JBQXdCLENBQUMsSUFBSSxJQUFJO2dCQUN0RCxHQUFHLEVBQUUsS0FBSztnQkFDVixNQUFNLEVBQUUsQ0FBQzthQUNWO1lBQ0QsU0FBUyxFQUFFO2dCQUNULE1BQU0sRUFBRSxRQUFRLENBQUMsR0FBRyxDQUFDLDJCQUEyQixDQUFDLElBQUksSUFBSTtnQkFDekQsR0FBRyxFQUFFLEtBQUs7Z0JBQ1YsTUFBTSxFQUFFLENBQUM7YUFDVjtTQUNGLENBQUM7UUFLRixTQUFJLEdBQWtCLElBQUksQ0FBQztRQWtCM0Isc0JBQWlCLEdBQVksSUFBSSxDQUFDO1FBR2xDLGFBQVEsR0FBRyxFQUFFLENBQUM7UUFPUCxvQkFBZSxHQUFZLEtBQUssQ0FBQztRQUV4QyxXQUFNLEdBQVUsRUFBRSxDQUFDO1FBQ25CLFlBQU8sR0FBWSxLQUFLLENBQUM7UUFDakIsVUFBSyxHQUF1QixLQUFLLENBQUM7UUFVbEMsV0FBTSxHQUF1QixLQUFLLENBQUM7UUFZbkMsYUFBUSxHQUF3QixFQUFFLENBQUM7UUFDbkMsYUFBUSxHQUF3QixFQUFFLENBQUM7UUFHM0MsbUJBQWMsR0FBcUMsSUFBSSxZQUFZLEVBQXNCLENBQUM7UUFHMUYsWUFBTyxHQUFxQyxJQUFJLFlBQVksRUFBc0IsQ0FBQztRQUduRixnQkFBVyxHQUF1QixJQUFJLFlBQVksRUFBUSxDQUFDO1FBZ0R6RCxlQUFlO1FBQ2YsSUFBSSxDQUFDLFVBQVUsR0FBRyxRQUFRLENBQUMsR0FBRyxDQUFDLG1CQUFtQixDQUFDLENBQUM7UUFDcEQsSUFBSSxDQUFDLFVBQVUsR0FBRyxRQUFRLENBQUMsR0FBRyxDQUFDLG1CQUFtQixDQUFDLENBQUM7SUFDdEQsQ0FBQztJQWpGRCxJQUFXLElBQUk7UUFDYixPQUFPLElBQUksQ0FBQyxLQUFLLENBQUM7SUFDcEIsQ0FBQztJQUNELElBQVcsSUFBSSxDQUFDLENBQXFCO1FBQ25DLElBQUksQ0FBQyxLQUFLLEdBQUcsQ0FBQyxDQUFDO1FBQ2YsSUFBSSxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsQ0FBQztJQUNuQixDQUFDO0lBS0QsSUFBVyxLQUFLO1FBQ2QsT0FBTyxJQUFJLENBQUMsTUFBTSxDQUFDO0lBQ3JCLENBQUM7SUFDRCxJQUFXLEtBQUssQ0FBQyxDQUFxQjtRQUNwQyxJQUFJLENBQUMsTUFBTSxHQUFHLENBQUMsQ0FBQztRQUNoQixJQUFJLENBQUMsSUFBSSxHQUFHLENBQUMsQ0FBQztJQUNoQixDQUFDO0lBaUJELElBQVcsS0FBSzs7UUFDZCxhQUFPLElBQUksQ0FBQyxNQUFNLDBDQUFFLElBQUksQ0FBQztJQUMzQixDQUFDO0lBQ0QsSUFBVyxLQUFLLENBQUMsQ0FBTzs7UUFDdEIsSUFBSSxFQUFjLENBQUM7UUFDbkIsSUFBSSxDQUFDLEVBQUU7WUFDTCxFQUFFLEdBQUcsVUFBVSxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsQ0FBQztTQUM1QjtRQUNELElBQUksV0FBVyxHQUFHLEtBQUssQ0FBQztRQUN4QixJQUFJLElBQUksQ0FBQyxHQUFHLElBQUksSUFBSSxDQUFDLEdBQUcsRUFBRTtZQUN4QixXQUFXLEdBQUcsSUFBSSxDQUFDLGVBQWUsQ0FBQyxFQUFFLENBQUMsQ0FBQztTQUN4QztRQUNELElBQUksQ0FBQyxXQUFXLEVBQUU7WUFDaEIsSUFBSSxFQUFFLElBQUksQ0FBQyxFQUFFLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsRUFBRTtnQkFDaEMsSUFBSSxDQUFDLE1BQU0sR0FBRyxFQUFFLENBQUM7Z0JBQ2pCLElBQUksQ0FBQyxNQUFNLENBQUMsSUFBSSxHQUFHLElBQUksQ0FBQyxJQUFJLENBQUM7Z0JBQzdCLElBQUksQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxLQUFLLEVBQUUsQ0FBQyxDQUFDO2dCQUNuQyxJQUFJLENBQUMsV0FBVyxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsSUFBSSxDQUFDLENBQUM7Z0JBQy9CLElBQUksQ0FBQyxjQUFjLENBQUMsSUFBSSxDQUFDO29CQUN2QixTQUFTLEVBQUUsSUFBSTtvQkFDZixLQUFLLFFBQUUsSUFBSSxDQUFDLE1BQU0sMENBQUUsSUFBSTtvQkFDeEIsV0FBVyxFQUFFLElBQUksQ0FBQyxHQUFHLENBQUMsYUFBYTtpQkFDcEMsQ0FBQyxDQUFDO2FBQ0o7WUFDRCxJQUFJLENBQUMsSUFBSSxTQUFTLEVBQUU7Z0JBQ2xCLElBQUksQ0FBQyxNQUFNLEdBQUcsSUFBSSxDQUFDO2dCQUNuQixJQUFJLENBQUMsWUFBWSxHQUFHLElBQUksQ0FBQyxLQUFLLENBQUM7Z0JBQy9CLElBQUksQ0FBQyxTQUFTLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQyxLQUFLLENBQUMsS0FBSyxDQUFDO2dCQUN4QyxJQUFJLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxDQUFDO2FBQ2xCO1lBQ0QsSUFBSSxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUM7Z0JBQ2hCLFNBQVMsRUFBRSxJQUFJO2dCQUNmLEtBQUssUUFBRSxJQUFJLENBQUMsTUFBTSwwQ0FBRSxJQUFJO2dCQUN4QixXQUFXLEVBQUUsSUFBSSxDQUFDLEdBQUcsQ0FBQyxhQUFhO2FBQ3BDLENBQUMsQ0FBQztTQUNKO0lBQ0gsQ0FBQztJQUdELElBQUksS0FBSztRQUNQLE9BQU8sSUFBSSxVQUFVLENBQUMsSUFBSSxJQUFJLEVBQUUsRUFBRSxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUM7SUFDL0MsQ0FBQztJQU9ELE9BQU8sQ0FBQyxJQUFnQjtRQUN0QixJQUFJLElBQUksQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDLENBQUMsSUFBSSxJQUFJLElBQUksQ0FBQyxXQUFXLEVBQUUsQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRTtZQUN6RSxPQUFPLElBQUksQ0FBQztTQUNiO2FBQU07WUFDTCxPQUFPLEtBQUssQ0FBQztTQUNkO0lBQ0gsQ0FBQztJQUNELFFBQVEsQ0FBQyxJQUFnQjtRQUN2QixJQUFJLElBQUksQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDLENBQUMsSUFBSSxJQUFJLElBQUksQ0FBQyxXQUFXLEVBQUUsQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRTtZQUN6RSxPQUFPLElBQUksQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDLENBQUMsSUFBSSxJQUFJLElBQUksQ0FBQyxXQUFXLEVBQUUsQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUM7U0FDcEY7YUFBTTtZQUNMLE9BQU8sRUFBRSxDQUFDO1NBQ1g7SUFDSCxDQUFDO0lBRUQsUUFBUSxDQUFDLElBQWdCO1FBQ3ZCLElBQUksSUFBSSxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDLENBQUMsQ0FBQyxJQUFJLElBQUksSUFBSSxDQUFDLFdBQVcsRUFBRSxDQUFDLEtBQUssQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFO1lBQ3pFLE9BQU8sSUFBSSxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDLENBQUMsQ0FBQyxJQUFJLElBQUksSUFBSSxDQUFDLFdBQVcsRUFBRSxDQUFDLEtBQUssQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQztTQUNuRjthQUFNO1lBQ0wsT0FBTyxFQUFFLENBQUM7U0FDWDtJQUNILENBQUM7SUFFRCxRQUFRO1FBQ04sSUFBSSxDQUFDLFlBQVksR0FBRyxJQUFJLFVBQVUsQ0FBQyxJQUFJLElBQUksRUFBRSxFQUFFLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUMxRCxFQUFFO1FBQ0YsSUFBSSxDQUFDLFVBQVUsRUFBRSxDQUFDO1FBQ2xCLEVBQUU7UUFDRixJQUFJLENBQUMsU0FBUyxHQUFHLElBQUksQ0FBQyxLQUFLLENBQUMsS0FBSyxDQUFDLEtBQUssQ0FBQztRQUN4QyxJQUFJLElBQUksQ0FBQyxLQUFLLEVBQUU7WUFDZCxJQUFJLENBQUMsUUFBUSxDQUFDLElBQUksVUFBVSxDQUFDLElBQUksQ0FBQyxLQUFLLEVBQUUsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUM7U0FDdEQ7YUFBTTtZQUNMLElBQUksQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDO1NBQzNCO1FBRUQsSUFBSSxDQUFDLElBQUksR0FBRyxLQUFLLENBQUM7SUFDcEIsQ0FBQztJQUVELGVBQWUsQ0FBQyxJQUF3QjtRQUN0QyxRQUFRLElBQUksRUFBRTtZQUNaLEtBQUssS0FBSztnQkFDUixPQUFPLEtBQUssQ0FBQztZQUNmLEtBQUssT0FBTztnQkFDVixPQUFPLElBQUksQ0FBQztZQUNkLEtBQUssTUFBTTtnQkFDVCxPQUFPLEdBQUcsQ0FBQztTQUNkO0lBQ0gsQ0FBQztJQUVELGVBQWU7UUFDYixJQUFJLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxDQUFDO0lBQ25CLENBQUM7SUFFTyxVQUFVOztRQUNoQixJQUFJLENBQUMsSUFBSSxDQUFDLElBQUksRUFBRTtZQUNkLElBQUksQ0FBQyxJQUFJLEdBQUcsUUFBUSxDQUFDLEdBQUcsQ0FBQyxlQUFlLENBQUMsSUFBSSxXQUFXLENBQUM7U0FDMUQ7UUFDRCxJQUFJLENBQUMsSUFBSSxDQUFDLE1BQU0sRUFBRTtZQUNoQixJQUFJLENBQUMsTUFBTSxHQUFHLE9BQUEsSUFBSSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLDBDQUFFLE1BQU0sS0FBSSxJQUFJLENBQUMsTUFBTSxDQUFDO1NBQ3hEO1FBQ0QsSUFBSSxDQUFDLElBQUksQ0FBQyxHQUFHLEVBQUU7WUFDYixJQUFJLENBQUMsR0FBRyxHQUFHLE9BQUEsSUFBSSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLDBDQUFFLEdBQUcsS0FBSSxLQUFLLENBQUM7U0FDNUM7UUFDRCxJQUFJLENBQUMsU0FBUyxHQUFHLE9BQUEsSUFBSSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLDBDQUFFLE1BQU0sS0FBSSxDQUFDLENBQUM7UUFDaEQsTUFBTSxJQUFJLEdBQUcsd0JBQXdCLENBQUM7UUFDdEMsSUFBSSxDQUFDLFFBQVEsR0FBRztZQUNkLFlBQVksQ0FBQyxHQUFHLENBQUMsR0FBRyxJQUFJLE1BQU0sRUFBRSxJQUFJLENBQUMsTUFBTSxDQUFDO1lBQzVDLFlBQVksQ0FBQyxHQUFHLENBQUMsR0FBRyxJQUFJLE1BQU0sRUFBRSxJQUFJLENBQUMsTUFBTSxDQUFDO1lBQzVDLFlBQVksQ0FBQyxHQUFHLENBQUMsR0FBRyxJQUFJLE1BQU0sRUFBRSxJQUFJLENBQUMsTUFBTSxDQUFDO1lBQzVDLFlBQVksQ0FBQyxHQUFHLENBQUMsR0FBRyxJQUFJLE1BQU0sRUFBRSxJQUFJLENBQUMsTUFBTSxDQUFDO1lBQzVDLFlBQVksQ0FBQyxHQUFHLENBQUMsR0FBRyxJQUFJLE1BQU0sRUFBRSxJQUFJLENBQUMsTUFBTSxDQUFDO1lBQzVDLFlBQVksQ0FBQyxHQUFHLENBQUMsR0FBRyxJQUFJLE1BQU0sRUFBRSxJQUFJLENBQUMsTUFBTSxDQUFDO1lBQzVDLFlBQVksQ0FBQyxHQUFHLENBQUMsR0FBRyxJQUFJLE1BQU0sRUFBRSxJQUFJLENBQUMsTUFBTSxDQUFDO1NBQzdDLENBQUM7SUFDSixDQUFDO0lBRUQsWUFBWTtRQUNWLE9BQU8sWUFBWSxDQUFDLEdBQUcsQ0FBQyxnQkFBZ0IsRUFBRSxJQUFJLENBQUMsTUFBTSxDQUFDLENBQUM7SUFDekQsQ0FBQztJQUVELElBQUk7UUFDRixJQUFJLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7SUFDcEIsQ0FBQztJQUVELElBQUk7UUFDRixJQUFJLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxDQUFDO0lBQ25CLENBQUM7SUFFRCxNQUFNLENBQUMsS0FBSyxFQUFFLENBQUM7UUFDYixNQUFNLEdBQUcsR0FBRyxLQUFLLENBQUMsTUFBTSxDQUFDO1FBQ3pCLE9BQU8sQ0FBQyxDQUFDLENBQUMsR0FBRyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsR0FBRyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsR0FBRyxDQUFDLENBQUMsR0FBRyxHQUFHLENBQUMsR0FBRyxDQUFDLENBQUMsR0FBRyxHQUFHLENBQUMsQ0FBQyxHQUFHLEdBQUcsQ0FBQyxDQUFDLENBQUM7SUFDaEosQ0FBQztJQUVELFFBQVEsQ0FBQyxLQUEwQjtRQUNqQyxJQUFJLEtBQWlCLENBQUM7UUFDdEIsSUFBSSxHQUFlLENBQUM7UUFDcEIsSUFBSSxJQUFJLENBQUMsSUFBSSxLQUFLLEtBQUssRUFBRTtZQUN2QixJQUFJLEVBQWMsQ0FBQztZQUNuQixJQUFJLEtBQUssWUFBWSxVQUFVLEVBQUU7Z0JBQy9CLEVBQUUsR0FBRyxLQUFLLENBQUMsT0FBTyxDQUFDLE9BQU8sQ0FBQyxDQUFDO2FBQzdCO2lCQUFNO2dCQUNMLEVBQUUsR0FBRyxJQUFJLENBQUMsU0FBUyxDQUFDLFNBQVMsQ0FBQyxHQUFHLENBQUMsS0FBSyxFQUFFLEVBQUUsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxPQUFPLEVBQUUsS0FBSyxDQUFDLENBQUMsT0FBTyxDQUFDLE9BQU8sQ0FBQyxDQUFDO2FBQ25GO1lBRUQsS0FBSyxHQUFHLEVBQUUsQ0FBQyxjQUFjLENBQUM7WUFDMUIsR0FBRyxHQUFHLEVBQUUsQ0FBQyxLQUFLLENBQUMsT0FBTyxDQUFDLENBQUMsWUFBWSxDQUFDO1lBRXJDLEtBQUssR0FBRyxLQUFLLENBQUMsR0FBRyxDQUFDLEtBQUssRUFBRSxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsQ0FBQztZQUMxQyxHQUFHLEdBQUcsR0FBRyxDQUFDLEdBQUcsQ0FBQyxLQUFLLEVBQUUsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLEtBQUssRUFBRSxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsQ0FBQztZQUVwRCw0QkFBNEI7WUFDNUIsSUFBSSxDQUFDLElBQUksQ0FBQyxPQUFPLElBQUksSUFBSSxDQUFDLFFBQVEsQ0FBQyxNQUFNLEdBQUcsQ0FBQyxFQUFFO2dCQUM3QyxJQUFJLElBQUksQ0FBQyxJQUFJLEtBQUssUUFBUSxFQUFFO29CQUMxQixJQUFJLENBQUMsUUFBUSxHQUFHLElBQUksQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLFFBQVEsRUFBRSxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsQ0FBQztpQkFDN0Q7cUJBQU07b0JBQ0wsSUFBSSxDQUFDLFFBQVEsR0FBRyxJQUFJLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxRQUFRLEVBQUUsSUFBSSxDQUFDLFNBQVMsQ0FBQyxDQUFDO2lCQUM1RDtnQkFFRCxJQUFJLENBQUMsT0FBTyxHQUFHLElBQUksQ0FBQzthQUNyQjtTQUNGO2FBQU0sSUFBSSxJQUFJLENBQUMsSUFBSSxLQUFLLE9BQU8sRUFBRTtZQUNoQyxJQUFJLEVBQWMsQ0FBQztZQUNuQixJQUFJLEtBQUssWUFBWSxVQUFVLEVBQUU7Z0JBQy9CLEVBQUUsR0FBRyxLQUFLLENBQUMsT0FBTyxDQUFDLE1BQU0sQ0FBQyxDQUFDO2FBQzVCO2lCQUFNO2dCQUNMLEVBQUUsR0FBRyxJQUFJLENBQUMsU0FBUyxDQUFDLFNBQVMsQ0FBQyxHQUFHLENBQUMsS0FBSyxFQUFFLEVBQUUsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxNQUFNLEVBQUUsS0FBSyxDQUFDLENBQUMsT0FBTyxDQUFDLE1BQU0sQ0FBQyxDQUFDO2FBQ2pGO1lBQ0QsS0FBSyxHQUFHLEVBQUUsQ0FBQztZQUNYLEdBQUcsR0FBRyxFQUFFLENBQUMsS0FBSyxDQUFDLE1BQU0sQ0FBQyxDQUFDO1NBQ3hCO2FBQU0sSUFBSSxJQUFJLENBQUMsSUFBSSxLQUFLLE1BQU0sRUFBRTtZQUMvQixJQUFJLEVBQWMsQ0FBQztZQUNuQixJQUFJLEtBQUssWUFBWSxVQUFVLEVBQUU7Z0JBQy9CLEVBQUUsR0FBRyxLQUFLLENBQUMsT0FBTyxDQUFDLE1BQU0sQ0FBQyxDQUFDO2FBQzVCO2lCQUFNO2dCQUNMLEVBQUUsR0FBRyxJQUFJLENBQUMsU0FBUyxDQUFDLFNBQVM7cUJBQzFCLEdBQUcsQ0FBQyxLQUFLLEVBQUUsRUFBRSxDQUFDO3FCQUNkLEdBQUcsQ0FBQyxNQUFNLEVBQUUsS0FBSyxHQUFHLEVBQUUsQ0FBQztxQkFDdkIsT0FBTyxDQUFDLE1BQU0sQ0FBQyxDQUFDO2FBQ3BCO1lBQ0QsS0FBSyxHQUFHLEVBQUUsQ0FBQyxHQUFHLENBQUMsTUFBTSxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUM7WUFDM0IsR0FBRyxHQUFHLEtBQUssQ0FBQyxHQUFHLENBQUMsTUFBTSxFQUFFLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxNQUFNLENBQUMsQ0FBQztTQUMxQztRQUNELElBQUksQ0FBQyxTQUFTLEdBQUcsSUFBSSxlQUFlLENBQUMsS0FBSyxFQUFFLEdBQUcsQ0FBQyxDQUFDO1FBQ2pELEVBQUU7UUFDRixJQUFJLElBQUksQ0FBQyxVQUFVLElBQUksT0FBTyxJQUFJLENBQUMsVUFBVSxLQUFLLFVBQVUsRUFBRTtZQUM1RCxJQUFJLENBQUMsUUFBUSxHQUFHLElBQUksQ0FBQyxVQUFVLENBQUMsS0FBSyxDQUFDLElBQUksRUFBRSxHQUFHLENBQUMsSUFBSSxFQUFFLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQztTQUNsRTtRQUVELElBQUksSUFBSSxDQUFDLFVBQVUsSUFBSSxPQUFPLElBQUksQ0FBQyxVQUFVLEtBQUssVUFBVSxFQUFFO1lBQzVELElBQUksQ0FBQyxRQUFRLEdBQUcsSUFBSSxDQUFDLFVBQVUsQ0FBQyxLQUFLLENBQUMsSUFBSSxFQUFFLEdBQUcsQ0FBQyxJQUFJLEVBQUUsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDO1NBQ2xFO1FBRUQsRUFBRTtRQUNGLElBQUksSUFBSSxDQUFDLElBQUksS0FBSyxLQUFLLEVBQUU7WUFDdkIsSUFBSSxDQUFDLE1BQU0sR0FBRyxJQUFJLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxTQUFTLENBQUMsS0FBSyxFQUFFLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDO1lBQzdGLElBQUksSUFBSSxDQUFDLE1BQU0s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T3V0cHV0LCBFdmVudEVtaXR0ZXIsIENoYW5nZURldGVjdGlvblN0cmF0ZWd5LCBDaGFuZ2VEZXRlY3RvclJlZiwgVmlld0VuY2Fwc3VsYXRpb24sIEVsZW1lbnRSZWYgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgQVhEYXRlVGltZSwgQVhEYXRlVGltZVJhbmdlLCBBWENhbGVuZGFyVHlwZSwgQVhUcmFuc2xhdG9yIH0gZnJvbSAnQGFjb3JleC9jb3JlJztcclxuaW1wb3J0IHsgQVhCYXNlU2l6YWJsZUNvbXBvbmVudCwgQVhFbGVtZW50U2l6ZSB9IGZyb20gJy4uLy4uL2Jhc2UvZWxlbWVudC5jbGFzcyc7XHJcbmltcG9ydCB7IEFYVmFsdWVFdmVudCB9IGZyb20gJy4uLy4uL2Jhc2UvZXZlbnRzLmNsYXNzJztcclxuaW1wb3J0IHsgQVhDb25maWcgfSBmcm9tICdAYWNvcmV4L2NvcmUnO1xyXG5cclxuZXhwb3J0IHR5cGUgQVhDYWxlbmRhclZpZXdUeXBlID0gJ3llYXInIHwgJ21vbnRoJyB8ICdkYXknO1xyXG5cclxuZXhwb3J0IHR5cGUgQVhDYWxlbmRhckhvbGlkYXlzID0gQVhDYWxlbmRhckhvbGlkYXlbXTtcclxuZXhwb3J0IHR5cGUgQVhDYWxlbmRhckhvbGlkYXlzRnVuYyA9IChzdGFydDogRGF0ZSwgZW5kOiBEYXRlLCB0eXBlOiBBWENhbGVuZGFyVHlwZSkgPT4gQVhDYWxlbmRhckhvbGlkYXlbXTtcclxuZXhwb3J0IGludGVyZmFjZSBBWENhbGVuZGFySG9saWRheSB7XHJcbiAgZGF0ZTogRGF0ZTtcclxuICB0aXRsZTogc3RyaW5nO1xyXG4gIGRlc2NyaXB0aW9uPzogc3RyaW5nO1xyXG59XHJcblxyXG5leHBvcnQgdHlwZSBBWENhbGVuZGFyV2Vla2VuZHMgPSBBWENhbGVuZGFyV2Vla2VuZFtdO1xyXG5leHBvcnQgdHlwZSBBWENhbGVuZGFyV2Vla2VuZHNGdW5jID0gKHN0YXJ0OiBEYXRlLCBlbmQ6IERhdGUsIHR5cGU6IEFYQ2FsZW5kYXJUeXBlKSA9PiBBWENhbGVuZGFyV2Vla2VuZFtdO1xyXG5cclxuZXhwb3J0IGludGVyZmFjZSBBWENhbGVuZGFyV2Vla2VuZCB7XHJcbiAgaW5kZXhEYXk6IG51bWJlcjtcclxufVxyXG5cclxuQENvbXBvbmVudCh7XHJcbiAgc2VsZWN0b3I6ICdheC1jYWxlbmRhci1ib3gnLFxyXG4gIHRlbXBsYXRlVXJsOiAnLi9jYWxlbmRhci1ib3guY29tcG9uZW50Lmh0bWwnLFxyXG4gIGVuY2Fwc3VsYXRpb246IFZpZXdFbmNhcHN1bGF0aW9uLk5vbmUsXHJcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2hcclxufSlcclxuZXhwb3J0IGNsYXNzIEFYQ2FsZW5kYXJCb3hDb21wb25lbnQgaW1wbGVtZW50cyBBWEJhc2VTaXphYmxlQ29tcG9uZW50IHtcclxuICB3ZWVrZGF5czogc3RyaW5nW10gPSBbXTtcclxuXHJcbiAgcHJpdmF0ZSBkID0ge1xyXG4gICAgamFsYWxpOiB7XHJcbiAgICAgIGxvY2FsZTogQVhDb25maWcuZ2V0KCdkYXRlVGltZS5qYWxhbGkubG9jYWxlJykgfHwgJ2ZhJyxcclxuICAgICAgZGlyOiAncnRsJyxcclxuICAgICAgbnVtYmVyOiAxXHJcbiAgICB9LFxyXG4gICAgZ3JlZ29yaWFuOiB7XHJcbiAgICAgIGxvY2FsZTogQVhDb25maWcuZ2V0KCdkYXRlVGltZS5ncmVnb3JpYW4ubG9jYWxlJykgfHwgJ2VuJyxcclxuICAgICAgZGlyOiAnbHRyJyxcclxuICAgICAgbnVtYmVyOiAwXHJcbiAgICB9XHJcbiAgfTtcclxuXHJcbiAgbnVtUm90YXRlOiBudW1iZXI7XHJcblxyXG4gIEBJbnB1dCgpXHJcbiAgc2l6ZTogQVhFbGVtZW50U2l6ZSA9ICdtZCc7XHJcblxyXG4gIEBJbnB1dCgpXHJcbiAgdHlwZTogQVhDYWxlbmRhclR5cGU7XHJcblxyXG4gIEBJbnB1dCgpXHJcbiAgbG9jYWxlOiBzdHJpbmc7XHJcblxyXG4gIEBJbnB1dCgpXHJcbiAgZGlyOiBzdHJpbmc7XHJcblxyXG4gIEBJbnB1dCgpXHJcbiAgbWluOiBEYXRlO1xyXG5cclxuICBASW5wdXQoKVxyXG4gIG1heDogRGF0ZTtcclxuXHJcbiAgQElucHV0KClcclxuICBzZWxlY3RhYmxlSG9saWRheTogYm9vbGVhbiA9IHRydWU7XHJcblxyXG4gIEBJbnB1dCgpXHJcbiAgZGF5U3R5bGUgPSBbXTtcclxuXHJcbiAgcHJpdmF0ZSBnZXRIb2xpZGF5OiBBWENhbGVuZGFySG9saWRheXMgfCBBWENhbGVuZGFySG9saWRheXNGdW5jO1xyXG5cclxuICBwcml2YXRlIGdldFdlZWtlbmQ6IEFYQ2FsZW5kYXJXZWVrZW5kcyB8IEFYQ2FsZW5kYXJXZWVrZW5kc0Z1bmM7XHJcblxyXG4gIEBJbnB1dCgnc2hvd1RvZGF5QnV0dG9uJylcclxuICBwdWJsaWMgc2hvd1RvZGF5QnV0dG9uOiBib29sZWFuID0gZmFsc2U7XHJcblxyXG4gIG1hdHJpeDogYW55W10gPSBbXTtcclxuICByb3RhdGVkOiBib29sZWFuID0gZmFsc2U7XHJcbiAgcHJpdmF0ZSBfdmlldzogQVhDYWxlbmRhclZpZXdUeXBlID0gJ2RheSc7XHJcbiAgQElucHV0KClcclxuICBwdWJsaWMgZ2V0IHZpZXcoKTogQVhDYWxlbmRhclZpZXdUeXBlIHtcclxuICAgIHJldHVybiB0aGlzLl92aWV3O1xyXG4gIH1cclxuICBwdWJsaWMgc2V0IHZpZXcodjogQVhDYWxlbmRhclZpZXdUeXBlKSB7XHJcbiAgICB0aGlzLl92aWV3ID0gdjtcclxuICAgIHRoaXMubmF2aWdhdGUoMCk7XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIF9kZXB0aDogQVhDYWxlbmRhclZpZXdUeXBlID0gJ2RheSc7XHJcblxyXG4gIEBJbnB1dCgpXHJcbiAgcHVibGljIGdldCBkZXB0aCgpOiBBWENhbGVuZGFyVmlld1R5cGUge1xyXG4gICAgcmV0dXJuIHRoaXMuX2RlcHRoO1xyXG4gIH1cclxuICBwdWJsaWMgc2V0IGRlcHRoKHY6IEFYQ2FsZW5kYXJWaWV3VHlwZSkge1xyXG4gICAgdGhpcy5fZGVwdGggPSB2O1xyXG4gICAgdGhpcy52aWV3ID0gdjtcclxuICB9XHJcblxyXG4gIHZpZXdSYW5nZTogQVhEYXRlVGltZVJhbmdlO1xyXG4gIHByaXZhdGUgaG9saWRheXM6IEFYQ2FsZW5kYXJIb2xpZGF5W10gPSBbXTtcclxuICBwcml2YXRlIHdlZWtlbmRzOiBBWENhbGVuZGFyV2Vla2VuZFtdID0gW107XHJcblxyXG4gIEBPdXRwdXQoKVxyXG4gIG9uVmFsdWVDaGFuZ2VkOiBFdmVudEVtaXR0ZXI8QVhWYWx1ZUV2ZW50PERhdGU+PiA9IG5ldyBFdmVudEVtaXR0ZXI8QVhWYWx1ZUV2ZW50PERhdGU+PigpO1xyXG5cclxuICBAT3V0cHV0KClcclxuICBvbkNsaWNrOiBFdmVudEVtaXR0ZXI8QVhWYWx1ZUV2ZW50PERhdGU+PiA9IG5ldyBFdmVudEVtaXR0ZXI8QVhWYWx1ZUV2ZW50PERhdGU+PigpO1xyXG5cclxuICBAT3V0cHV0KClcclxuICB2YWx1ZUNoYW5nZTogRXZlbnRFbWl0dGVyPERhdGU+ID0gbmV3IEV2ZW50RW1pdHRlcjxEYXRlPigpO1xyXG5cclxuICBwcml2YXRlIF92YWx1ZTogQVhEYXRlVGltZTtcclxuICBASW5wdXQoKVxyXG4gIHB1YmxpYyBnZXQgdmFsdWUoKTogRGF0ZSB7XHJcbiAgICByZXR1cm4gdGhpcy5fdmFsdWU/LmRhdGU7XHJcbiAgfVxyXG4gIHB1YmxpYyBzZXQgdmFsdWUodjogRGF0ZSkge1xyXG4gICAgbGV0IHZ2OiBBWERhdGVUaW1lO1xyXG4gICAgaWYgKHYpIHtcclxuICAgICAgdnYgPSBBWERhdGVUaW1lLmNvbnZlcnQodik7XHJcbiAgICB9XHJcbiAgICBsZXQgdW5WYWxpZERhdGUgPSBmYWxzZTtcclxuICAgIGlmICh0aGlzLm1heCB8fCB0aGlzLm1pbikge1xyXG4gICAgICB1blZhbGlkRGF0ZSA9IHRoaXMuaXNJbk1Jbk1heFJhbmdlKHZ2KTtcclxuICAgIH1cclxuICAgIGlmICghdW5WYWxpZERhdGUpIHtcclxuICAgICAgaWYgKHZ2ICYmICF2di5lcXVhbCh0aGlzLl92YWx1ZSkpIHtcclxuICAgICAgICB0aGlzLl92YWx1ZSA9IHZ2O1xyXG4gICAgICAgIHRoaXMuX3ZhbHVlLnR5cGUgPSB0aGlzLnR5cGU7XHJcbiAgICAgICAgdGhpcy5zZXRGb2N1cyh0aGlzLl92YWx1ZS5jbG9uZSgpKTtcclxuICAgICAgICB0aGlzLnZhbHVlQ2hhbmdlLmVtaXQodnYuZGF0ZSk7XHJcbiAgICAgICAgdGhpcy5vblZhbHVlQ2hhbmdlZC5lbWl0KHtcclxuICAgICAgICAgIGNvbXBvbmVudDogdGhpcyxcclxuICAgICAgICAgIHZhbHVlOiB0aGlzLl92YWx1ZT8uZGF0ZSxcclxuICAgICAgICAgIGh0bWxFbGVtZW50OiB0aGlzLnJlZi5uYXRpdmVFbGVtZW50XHJcbiAgICAgICAgfSk7XHJcbiAgICAgIH1cclxuICAgICAgaWYgKHYgPT0gdW5kZWZpbmVkKSB7XHJcbiAgICAgICAgdGhpcy5fdmFsdWUgPSBudWxsO1xyXG4gICAgICAgIHRoaXMuZm9jdXNlZFZhbHVlID0gdGhpcy50b2RheTtcclxuICAgICAgICB0aGlzLnZpZXdSYW5nZSA9IHRoaXMudG9kYXkubW9udGgucmFuZ2U7XHJcbiAgICAgICAgdGhpcy5uYXZpZ2F0ZSgwKTtcclxuICAgICAgfVxyXG4gICAgICB0aGlzLm9uQ2xpY2suZW1pdCh7XHJcbiAgICAgICAgY29tcG9uZW50OiB0aGlzLFxyXG4gICAgICAgIHZhbHVlOiB0aGlzLl92YWx1ZT8uZGF0ZSxcclxuICAgICAgICBodG1sRWxlbWVudDogdGhpcy5yZWYubmF0aXZlRWxlbWVudFxyXG4gICAgICB9KTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIGZvY3VzZWRWYWx1ZTogQVhEYXRlVGltZTtcclxuICBnZXQgdG9kYXkoKTogQVhEYXRlVGltZSB7XHJcbiAgICByZXR1cm4gbmV3IEFYRGF0ZVRpbWUobmV3IERhdGUoKSwgdGhpcy50eXBlKTtcclxuICB9XHJcblxyXG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgY2RyOiBDaGFuZ2VEZXRlY3RvclJlZiwgcHJpdmF0ZSByZWY6IEVsZW1lbnRSZWYpIHtcclxuICAgIC8vIHNldCBkZWZhdWx0c1xyXG4gICAgdGhpcy5nZXRIb2xpZGF5ID0gQVhDb25maWcuZ2V0KCdkYXRlVGltZS5ob2xpZGF5cycpO1xyXG4gICAgdGhpcy5nZXRXZWVrZW5kID0gQVhDb25maWcuZ2V0KCdkYXRlVGltZS53ZWVrZW5kcycpO1xyXG4gIH1cclxuICBmaW5kRGF5KGRhdGU6IEFYRGF0ZVRpbWUpIHtcclxuICAgIGlmICh0aGlzLmRheVN0eWxlLmZpbmQoKGMpID0+IGMuZGF0ZSA9PSBkYXRlLnRvSVNPU3RyaW5nKCkuc3BsaXQoJ1QnKVswXSkpIHtcclxuICAgICAgcmV0dXJuIHRydWU7XHJcbiAgICB9IGVsc2Uge1xyXG4gICAgICByZXR1cm4gZmFsc2U7XHJcbiAgICB9XHJcbiAgfVxyXG4gIGdldFN0eWxlKGRhdGU6IEFYRGF0ZVRpbWUpIHtcclxuICAgIGlmICh0aGlzLmRheVN0eWxlLmZpbmQoKGMpID0+IGMuZGF0ZSA9PSBkYXRlLnRvSVNPU3RyaW5nKCkuc3BsaXQoJ1QnKVswXSkpIHtcclxuICAgICAgcmV0dXJuIHRoaXMuZGF5U3R5bGUuZmluZCgoYykgPT4gYy5kYXRlID09IGRhdGUudG9JU09TdHJpbmcoKS5zcGxpdCgnVCcpWzBdKS5zdHlsZTtcclxuICAgIH0gZWxzZSB7XHJcbiAgICAgIHJldHVybiAnJztcclxuICAgIH1cclxuICB9XHJcblxyXG4gIGdldFRpdGxlKGRhdGU6IEFYRGF0ZVRpbWUpIHtcclxuICAgIGlmICh0aGlzLmRheVN0eWxlLmZpbmQoKGMpID0+IGMuZGF0ZSA9PSBkYXRlLnRvSVNPU3RyaW5nKCkuc3BsaXQoJ1QnKVswXSkpIHtcclxuICAgICAgcmV0dXJuIHRoaXMuZGF5U3R5bGUuZmluZCgoYykgPT4gYy5kYXRlID09IGRhdGUudG9JU09TdHJpbmcoKS5zcGxpdCgnVCcpWzBdKS50ZXh0O1xyXG4gICAgfSBlbHNlIHtcclxuICAgICAgcmV0dXJuICcnO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgbmdPbkluaXQoKSB7XHJcbiAgICB0aGlzLmZvY3VzZWRWYWx1ZSA9IG5ldyBBWERhdGVUaW1lKG5ldyBEYXRlKCksIHRoaXMudHlwZSk7XHJcbiAgICAvL1xyXG4gICAgdGhpcy5pbml0TGF5b3V0KCk7XHJcbiAgICAvL1xyXG4gICAgdGhpcy52aWV3UmFuZ2UgPSB0aGlzLnRvZGF5Lm1vbnRoLnJhbmdlO1xyXG4gICAgaWYgKHRoaXMudmFsdWUpIHtcclxuICAgICAgdGhpcy5zZXRGb2N1cyhuZXcgQVhEYXRlVGltZSh0aGlzLnZhbHVlLCB0aGlzLnR5cGUpKTtcclxuICAgIH0gZWxzZSB7XHJcbiAgICAgIHRoaXMuc2V0Rm9jdXModGhpcy50b2RheSk7XHJcbiAgICB9XHJcblxyXG4gICAgdGhpcy52aWV3ID0gJ2RheSc7XHJcbiAgfVxyXG5cclxuICBnZXRWaWV3Q29tcGFpcmUodmlldzogQVhDYWxlbmRhclZpZXdUeXBlKSB7XHJcbiAgICBzd2l0Y2ggKHZpZXcpIHtcclxuICAgICAgY2FzZSAnZGF5JzpcclxuICAgICAgICByZXR1cm4gJ1lNRCc7XHJcbiAgICAgIGNhc2UgJ21vbnRoJzpcclxuICAgICAgICByZXR1cm4gJ1lNJztcclxuICAgICAgY2FzZSAneWVhcic6XHJcbiAgICAgICAgcmV0dXJuICdZJztcclxuICAgIH1cclxuICB9XHJcblxyXG4gIG5nQWZ0ZXJWaWV3SW5pdCgpOiB2b2lkIHtcclxuICAgIHRoaXMubmF2aWdhdGUoMCk7XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIGluaXRMYXlvdXQoKSB7XHJcbiAgICBpZiAoIXRoaXMudHlwZSkge1xyXG4gICAgICB0aGlzLnR5cGUgPSBBWENvbmZpZy5nZXQoJ2RhdGVUaW1lLnR5cGUnKSB8fCAnZ3JlZ29yaWFuJztcclxuICAgIH1cclxuICAgIGlmICghdGhpcy5sb2NhbGUpIHtcclxuICAgICAgdGhpcy5sb2NhbGUgPSB0aGlzLmRbdGhpcy50eXBlXT8ubG9jYWxlIHx8IHRoaXMubG9jYWxlO1xyXG4gICAgfVxyXG4gICAgaWYgKCF0aGlzLmRpcikge1xyXG4gICAgICB0aGlzLmRpciA9IHRoaXMuZFt0aGlzLnR5cGVdPy5kaXIgfHwgJ2x0cic7XHJcbiAgICB9XHJcbiAgICB0aGlzLm51bVJvdGF0ZSA9IHRoaXMuZFt0aGlzLnR5cGVdPy5udW1iZXIgfHwgMDtcclxuICAgIGNvbnN0IHBhdGggPSAnZGF0ZVRpbWUud2Vla2RheXNTaG9ydCc7XHJcbiAgICB0aGlzLndlZWtkYXlzID0gW1xyXG4gICAgICBBWFRyYW5zbGF0b3IuZ2V0KGAke3BhdGh9LnN1bmAsIHRoaXMubG9jYWxlKSxcclxuICAgICAgQVhUcmFuc2xhdG9yLmdldChgJHtwYXRofS5tb25gLCB0aGlzLmxvY2FsZSksXHJcbiAgICAgIEFYVHJhbnNsYXRvci5nZXQoYCR7cGF0aH0udHVlYCwgdGhpcy5sb2NhbGUpLFxyXG4gICAgICBBWFRyYW5zbGF0b3IuZ2V0KGAke3BhdGh9LndlZGAsIHRoaXMubG9jYWxlKSxcclxuICAgICAgQVhUcmFuc2xhdG9yLmdldChgJHtwYXRofS50aHVgLCB0aGlzLmxvY2FsZSksXHJcbiAgICAgIEFYVHJhbnNsYXRvci5nZXQoYCR7cGF0aH0uZnJpYCwgdGhpcy5sb2NhbGUpLFxyXG4gICAgICBBWFRyYW5zbGF0b3IuZ2V0KGAke3BhdGh9LnNhdGAsIHRoaXMubG9jYWxlKVxyXG4gICAgXTtcclxuICB9XHJcblxyXG4gIGdldFRvZGF5TmFtZSgpIHtcclxuICAgIHJldHVybiBBWFRyYW5zbGF0b3IuZ2V0KCdkYXRlVGltZS50b2RheScsIHRoaXMubG9jYWxlKTtcclxuICB9XHJcblxyXG4gIHByZXYoKSB7XHJcbiAgICB0aGlzLm5hdmlnYXRlKC0xKTtcclxuICB9XHJcblxyXG4gIG5leHQoKSB7XHJcbiAgICB0aGlzLm5hdmlnYXRlKDEpO1xyXG4gIH1cclxuXHJcbiAgcm90YXRlKGFycmF5LCBuKSB7XHJcbiAgICBjb25zdCBsZW4gPSBhcnJheS5sZW5ndGg7XHJcbiAgICByZXR1cm4gIShuICUgbGVuKSA/IGFycmF5IDogbiA+IDAgPyBhcnJheS5tYXAoKGUsIGksIGEpID0+IGFbKGkgKyBuKSAlIGxlbl0pIDogYXJyYXkubWFwKChlLCBpLCBhKSA9PiBhWyhsZW4gLSAoKGxlbiAtIGkgLSBuKSAlIGxlbikpICUgbGVuXSk7XHJcbiAgfVxyXG5cclxuICBuYXZpZ2F0ZSh2YWx1ZTogbnVtYmVyIHwgQVhEYXRlVGltZSkge1xyXG4gICAgbGV0IHN0YXJ0OiBBWERhdGVUaW1lO1xyXG4gICAgbGV0IGVuZDogQVhEYXRlVGltZTtcclxuICAgIGlmICh0aGlzLnZpZXcgPT09ICdkYXknKSB7XHJcbiAgICAgIGxldCBmZDogQVhEYXRlVGltZTtcclxuICAgICAgaWYgKHZhbHVlIGluc3RhbmNlb2YgQVhEYXRlVGltZSkge1xyXG4gICAgICAgIGZkID0gdmFsdWUuc3RhcnRPZignbW9udGgnKTtcclxuICAgICAgfSBlbHNlIHtcclxuICAgICAgICBmZCA9IHRoaXMudmlld1JhbmdlLnN0YXJ0VGltZS5hZGQoJ2RheScsIDE1KS5hZGQoJ21vbnRoJywgdmFsdWUpLnN0YXJ0T2YoJ21vbnRoJyk7XHJcbiAgICAgIH1cclxuXHJcbiAgICAgIHN0YXJ0ID0gZmQuZmlyc3REYXlPZldlZWs7XHJcbiAgICAgIGVuZCA9IGZkLmVuZE9mKCdtb250aCcpLmVuZERheU9mV2VlaztcclxuXHJcbiAgICAgIHN0YXJ0ID0gc3RhcnQuYWRkKCdkYXknLCAtdGhpcy5udW1Sb3RhdGUpO1xyXG4gICAgICBlbmQgPSBlbmQuYWRkKCdkYXknLCA3KS5hZGQoJ2RheScsIC10aGlzLm51bVJvdGF0ZSk7XHJcblxyXG4gICAgICAvLyBUT0RPOiBhcHBseSBzdGFydCBvZiB3ZWVrXHJcbiAgICAgIGlmICghdGhpcy5yb3RhdGVkICYmIHRoaXMud2Vla2RheXMubGVuZ3RoID4gMCkge1xyXG4gICAgICAgIGlmICh0aGlzLnR5cGUgPT09ICdqYWxhbGknKSB7XHJcbiAgICAgICAgICB0aGlzLndlZWtkYXlzID0gdGhpcy5yb3RhdGUodGhpcy53ZWVrZGF5cywgLXRoaXMubnVtUm90YXRlKTtcclxuICAgICAgICB9IGVsc2Uge1xyXG4gICAgICAgICAgdGhpcy53ZWVrZGF5cyA9IHRoaXMucm90YXRlKHRoaXMud2Vla2RheXMsIHRoaXMubnVtUm90YXRlKTtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIHRoaXMucm90YXRlZCA9IHRydWU7XHJcbiAgICAgIH1cclxuICAgIH0gZWxzZSBpZiAodGhpcy52aWV3ID09PSAnbW9udGgnKSB7XHJcbiAgICAgIGxldCBmZDogQVhEYXRlVGltZTtcclxuICAgICAgaWYgKHZhbHVlIGluc3RhbmNlb2YgQVhEYXRlVGltZSkge1xyXG4gICAgICAgIGZkID0gdmFsdWUuc3RhcnRPZigneWVhcicpO1xyXG4gICAgICB9IGVsc2Uge1xyXG4gICAgICAgIGZkID0gdGhpcy52aWV3UmFuZ2Uuc3RhcnRUaW1lLmFkZCgnZGF5JywgMTUpLmFkZCgneWVhcicsIHZhbHVlKS5zdGFydE9mKCd5ZWFyJyk7XHJcbiAgICAgIH1cclxuICAgICAgc3RhcnQgPSBmZDtcclxuICAgICAgZW5kID0gZmQuZW5kT2YoJ3llYXInKTtcclxuICAgIH0gZWxzZSBpZiAodGhpcy52aWV3ID09PSAneWVhcicpIHtcclxuICAgICAgbGV0IGZkOiBBWERhdGVUaW1lO1xyXG4gICAgICBpZiAodmFsdWUgaW5zdGFuY2VvZiBBWERhdGVUaW1lKSB7XHJcbiAgICAgICAgZmQgPSB2YWx1ZS5zdGFydE9mKCd5ZWFyJyk7XHJcbiAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgZmQgPSB0aGlzLnZpZXdSYW5nZS5zdGFydFRpbWVcclxuICAgICAgICAgIC5hZGQoJ2RheScsIDE1KVxyXG4gICAgICAgICAgLmFkZCgneWVhcicsIHZhbHVlICogMTApXHJcbiAgICAgICAgICAuc3RhcnRPZigneWVhcicpO1xyXG4gICAgICB9XHJcbiAgICAgIHN0YXJ0ID0gZmQuYWRkKCd5ZWFyJywgLTQpO1xyXG4gICAgICBlbmQgPSBzdGFydC5hZGQoJ3llYXInLCA4KS5lbmRPZigneWVhcicpO1xyXG4gICAgfVxyXG4gICAgdGhpcy52aWV3UmFuZ2UgPSBuZXcgQVhEYXRlVGltZVJhbmdlKHN0YXJ0LCBlbmQpO1xyXG4gICAgLy9cclxuICAgIGlmICh0aGlzLmdldEhvbGlkYXkgJiYgdHlwZW9mIHRoaXMuZ2V0SG9saWRheSA9PT0gJ2Z1bmN0aW9uJykge1xyXG4gICAgICB0aGlzLmhvbGlkYXlzID0gdGhpcy5nZXRIb2xpZGF5KHN0YXJ0LmRhdGUsIGVuZC5kYXRlLCB0aGlzLnR5cGUpO1xyXG4gICAgfVxyXG5cclxuICAgIGlmICh0aGlzLmdldFdlZWtlbmQgJiYgdHlwZW9mIHRoaXMuZ2V0V2Vla2VuZCA9PT0gJ2Z1bmN0aW9uJykge1xyXG4gICAgICB0aGlzLndlZWtlbmRzID0gdGhpcy5nZXRXZWVrZW5kKHN0YXJ0LmRhdGUsIGVuZC5kYXRlLCB0aGlzLnR5cGUpO1xyXG4gICAgfVxyXG5cclxuICAgIC8vXHJcbiAgICBpZiAodGhpcy52aWV3ID09PSAnZGF5Jykge1xyXG4gICAgICB0aGlzLm1hdHJpeCA9IHRoaXMubWF0cml4aWZ5KHRoaXMuYXBwbHlTdHlsZSh0aGlzLnZpZXdSYW5nZS5lbnVtdXJhdGUoJ2RheScsIHRoaXMudHlwZSkpLCA3KTtcclxuICAgICAgaWYgKHRoaXMubWF0cml4Lmxlbmd0aCA+IDAgJiYgdGhpcy5tYXRyaXhbMF0uZmluZCgoYykgPT4gYy5uZXh0TW9udGggPT09IGZhbHNlKSA9PT0gdW5kZWZpbmVkKSB7XHJcbiAgICAgICAgdGhpcy5tYXRyaXguc3BsaWNlKDAsIDEpO1xyXG4gICAgICB9XHJcbiAgICAgIGlmICh0aGlzLm1hdHJpeFt0aGlzLm1hdHJpeC5sZW5ndGggLSAxXS5maW5kKChjKSA9PiBjLm5leHRNb250aCA9PT0gZmFsc2UpID09PSB1bmRlZmluZWQpIHtcclxuICAgICAgICB0aGlzLm1hdHJpeC5zcGxpY2UodGhpcy5tYXRyaXgubGVuZ3RoIC0gMSwgMSk7XHJcbiAgICAgIH1cclxuICAgIH0gZWxzZSBpZiAodGhpcy52aWV3ID09PSAnbW9udGgnKSB7XHJcbiAgICAgIHRoaXMubWF0cml4ID0gdGhpcy5tYXRyaXhpZnkodGhpcy5hcHBseVN0eWxlKHRoaXMudmlld1JhbmdlLmVudW11cmF0ZSgnbW9udGgnLCB0aGlzLnR5cGUpKSwgMyk7XHJcbiAgICB9IGVsc2UgaWYgKHRoaXMudmlldyA9PT0gJ3llYXInKSB7XHJcbiAgICAgIHRoaXMubWF0cml4ID0gdGhpcy5tYXRyaXhpZnkodGhpcy5hcHBseVN0eWxlKHRoaXMudmlld1JhbmdlLmVudW11cmF0ZSgneWVhcicsIHRoaXMudHlwZSkpLCAzKTtcclxuICAgIH1cclxuICAgIHRoaXMuY2RyLmRldGVjdENoYW5nZXMoKTtcclxuICB9XHJcblxyXG4gIHByaXZhdGUgYXBwbHlTdHlsZShkYXRlczogQVhEYXRlVGltZVtdKTogYW55W10ge1xyXG4gICAgY29uc3QgaXRlbXM6IGFueVtdID0gW107XHJcbiAgICBkYXRlcy5mb3JFYWNoKChkLCBpLCBqKSA9PiB7XHJcbiAgICAgIGNvbnN0IGl0ZW06IGFueSA9IHt9O1xyXG4gICAgICBpdGVtLmRhdGUgPSBkO1xyXG5cclxuICAgICAgaXRlbS5zZWxlY3RlZCA9IGQuY29tcGFpcmVOZXcobmV3IEFYRGF0ZVRpbWUodGhpcy52YWx1ZSwgdGhpcy50eXBlKSwgdGhpcy5nZXRWaWV3Q29tcGFpcmUodGhpcy52aWV3KSwgdGhpcy50eXBlKSA9PT0gMDtcclxuICAgICAgaXRlbS5mb2N1c2VkID0gZC5jb21wYWlyZU5ldyh0aGlzLmZvY3VzZWRWYWx1ZSwgdGhpcy5nZXRWaWV3Q29tcGFpcmUodGhpcy52aWV3KSwgdGhpcy50eXBlKSA9PT0gMDtcclxuICAgICAgaXRlbS50b2RheSA9IHRoaXMudG9kYXkgJiYgZC5jb21wYWlyZU5ldyh0aGlzLnRvZGF5LCB0aGlzLmdldFZpZXdDb21wYWlyZSh0aGlzLnZpZXcpLCB0aGlzLnR5cGUpID09PSAwO1xyXG4gICAgICBpZiAodGhpcy52aWV3ID09PSAnZGF5Jykge1xyXG4gICAgICAgIC8vICBpdGVtLm5leHRNb250aCA9IGQuY29tcGFpcmVOZXcodGhpcy52aWV3UmFuZ2Uuc3RhcnRUaW1lLmFkZCgnZGF5JywgMTApLCAnWU0nKSAhPT0gMDtcclxuICAgICAgICBpdGVtLm5leHRNb250aCA9IGQuY29tcGFpcmVOZXcodGhpcy52aWV3UmFuZ2Uuc3RhcnRUaW1lLmFkZCgnZGF5JywgMTApLCAnWU0nLCB0aGlzLnR5cGUpICE9PSAwO1xyXG5cclxuICAgICAgICBpdGVtLnVuc2VsZWN0ID0gdGhpcy5pc0luTUluTWF4UmFuZ2UoZCk7XHJcbiAgICAgICAgdGhpcy5ob2xpZGF5cy5mb3JFYWNoKChoKSA9PiB7XHJcbiAgICAgICAgICBjb25zdCBjb21wID0gZC5jb21wYWlyZU5ldyhuZXcgQVhEYXRlVGltZShoLmRhdGUsIHRoaXMudHlwZSksICdZTUQnLCB0aGlzLnR5cGUpO1xyXG4gICAgICAgICAgaWYgKGNvbXAgPT09IDApIHtcclxuICAgICAgICAgICAgaXRlbS5ob2xpZGF5ID0gdHJ1ZTtcclxuICAgICAgICAgICAgaWYgKHRoaXMuc2VsZWN0YWJsZUhvbGlkYXkgPT09IGZhbHNlKSB7XHJcbiAgICAgICAgICAgICAgaXRlbS51bnNlbGVjdCA9IHRydWU7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgIH1cclxuICAgICAgICB9KTtcclxuXHJcbiAgICAgICAgY29uc3QgaW5kZXhEYXkgPSBpIC0gTWF0aC5mbG9vcihpIC8gNykgKiA3O1xyXG4gICAgICAgIHRoaXMud2Vla2VuZHMuZm9yRWFjaCgoY2MpID0+IHtcclxuICAgICAgICAgIGlmIChOdW1iZXIoY2MpID09PSBpbmRleERheSkge1xyXG4gICAgICAgICAgICBpdGVtLmhvbGlkYXkgPSB0cnVlO1xyXG4gICAgICAgICAgICBpZiAodGhpcy5zZWxlY3RhYmxlSG9saWRheSA9PT0gZmFsc2UpIHtcclxuICAgICAgICAgICAgICBpdGVtLnVuc2VsZWN0ID0gdHJ1ZTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgfVxyXG4gICAgICAgIH0pO1xyXG4gICAgICB9XHJcbiAgICAgIGl0ZW1zLnB1c2goaXRlbSk7XHJcbiAgICB9KTtcclxuICAgIHJldHVybiBpdGVtcztcclxuICB9XHJcblxyXG4gIGNoYW5nZVZpZXcoKSB7XHJcbiAgICBpZiAodGhpcy52aWV3ID09PSAnZGF5Jykge1xyXG4gICAgICB0aGlzLnZpZXcgPSAnbW9udGgnO1xyXG4gICAgfSBlbHNlIGlmICh0aGlzLnZpZXcgPT09ICdtb250aCcpIHtcclxuICAgICAgdGhpcy52aWV3ID0gJ3llYXInO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgbWF0cml4aWZ5KGFycjogYW55W10sIGNvbHMpIHtcclxuICAgIGNvbnN0IHJvd3MgPSBNYXRoLmNlaWwoYXJyLmxlbmd0aCAvIGNvbHMpO1xyXG4gICAgY29uc3QgbWF0cml4ID0gW107XHJcbiAgICBpZiAocm93cyAqIGNvbHMgPT09IGFyci5sZW5ndGgpIHtcclxuICAgICAgZm9yIChsZXQgaSA9IDA7IGkgPCBhcnIubGVuZ3RoOyBpICs9IGNvbHMpIHtcclxuICAgICAgICBtYXRyaXgucHVzaChhcnIuc2xpY2UoaSwgY29scyArIGkpKTtcclxuICAgICAgfVxyXG4gICAgfVxyXG4gICAgcmV0dXJuIG1hdHJpeDtcclxuICB9XHJcblxyXG4gIHNldERheUNsaWNrKGV2ZW50OiBNb3VzZUV2ZW50LCBpdGVtKSB7XHJcbiAgICBpZiAoaXRlbS51bnNlbGVjdCAhPT0gdHJ1ZSkge1xyXG4gICAgICB0aGlzLnZhbHVlID0gaXRlbS5kYXRlLmRhdGU7XHJcbiAgICB9XHJcblxyXG4gICAgZXZlbnQuc3RvcFByb3BhZ2F0aW9uKCk7XHJcbiAgfVxyXG5cclxuICBpc0luTUluTWF4UmFuZ2UoZCkge1xyXG4gICAgbGV0IHIgPSBmYWxzZTtcclxuICAgIGlmIChkICE9PSB1bmRlZmluZWQpIHtcclxuICAgICAgaWYgKHRoaXMubWluICYmICF0aGlzLm1heCkge1xyXG4gICAgICAgIHIgPSBkLmNvbXBhaXJlTmV3KG5ldyBBWERhdGVUaW1lKHRoaXMubWluLCB0aGlzLnR5cGUpLCB0aGlzLmdldFZpZXdDb21wYWlyZSh0aGlzLnZpZXcpLCB0aGlzLnR5cGUpID09PSAtMTtcclxuICAgICAgfVxyXG4gICAgICBpZiAodGhpcy5tYXggJiYgIXRoaXMubWluKSB7XHJcbiAgICAgICAgciA9IGQuY29tcGFpcmVOZXcobmV3IEFYRGF0ZVRpbWUodGhpcy5tYXgsIHRoaXMudHlwZSksIHRoaXMuZ2V0Vmlld0NvbXBhaXJlKHRoaXMudmlldyksIHRoaXMudHlwZSkgPT09IDE7XHJcbiAgICAgIH1cclxuICAgICAgaWYgKHRoaXMubWluICYmIHRoaXMubWF4KSB7XHJcbiAgICAgICAgciA9XHJcbiAgICAgICAgICBkLmNvbXBhaXJlTmV3KG5ldyBBWERhdGVUaW1lKHRoaXMubWluLCB0aGlzLnR5cGUpLCB0aGlzLmdldFZpZXdDb21wYWlyZSh0aGlzLnZpZXcpLCB0aGlzLnR5cGUpID09PSAtMSB8fFxyXG4gICAgICAgICAgZC5jb21wYWlyZU5ldyhuZXcgQVhEYXRlVGltZSh0aGlzLm1heCwgdGhpcy50eXBlKSwgdGhpcy5nZXRWaWV3Q29tcGFpcmUodGhpcy52aWV3KSwgdGhpcy50eXBlKSA9PT0gMTtcclxuICAgICAgfVxyXG4gICAgfVxyXG4gICAgcmV0dXJuIHI7XHJcbiAgfVxyXG5cclxuICBzZXRNb250aENsaWNrKGV2ZW50OiBNb3VzZUV2ZW50LCBkYXRlOiBBWERhdGVUaW1lKSB7XHJcbiAgICBpZiAodGhpcy5kZXB0aCA9PT0gJ21vbnRoJykge1xyXG4gICAgICB0aGlzLnZhbHVlID0gZGF0ZS5kYXRlO1xyXG4gICAgfSBlbHNlIHtcclxuICAgICAgdGhpcy52aWV3ID0gJ2RheSc7XHJcbiAgICAgIHRoaXMuc2V0Rm9jdXMobmV3IEFYRGF0ZVRpbWUodGhpcy52YWx1ZSwgdGhpcy50eXBlKS5zZXQoJ3llYXInLCBkYXRlLnllYXIpLnNldCgnbW9udGgnLCBkYXRlLm1vbnRoT2ZZZWFyKSk7XHJcbiAgICB9XHJcbiAgICBldmVudC5zdG9wUHJvcGFnYXRpb24oKTtcclxuICB9XHJcblxyXG4gIHNldFllYXJDbGljayhldmVudDogTW91c2VFdmVudCwgZGF0ZTogQVhEYXRlVGltZSkge1xyXG4gICAgaWYgKHRoaXMuZGVwdGggPT09ICd5ZWFyJykge1xyXG4gICAgICB0aGlzLnZhbHVlID0gZGF0ZS5kYXRlO1xyXG4gICAgfSBlbHNlIHtcclxuICAgICAgdGhpcy52aWV3ID0gJ21vbnRoJztcclxuICAgICAgdGhpcy5zZXRGb2N1cyhuZXcgQVhEYXRlVGltZSh0aGlzLnZhbHVlLCB0aGlzLnR5cGUpLnNldCgneWVhcicsIGRhdGUueWVhcikpO1xyXG4gICAgfVxyXG4gICAgZXZlbnQuc3RvcFByb3BhZ2F0aW9uKCk7XHJcbiAgfVxyXG5cclxuICBzZXRGb2N1cyhkYXRlOiBBWERhdGVUaW1lKSB7XHJcbiAgICB0aGlzLmZvY3VzZWRWYWx1ZSA9IGRhdGU7XHJcbiAgICB0aGlzLm5hdmlnYXRlKHRoaXMuZm9jdXNlZFZhbHVlKTtcclxuICB9XHJcblxyXG4gIHNldFRvZGF5KCkge1xyXG4gICAgdGhpcy52YWx1ZSA9IHRoaXMudG9kYXkuZGF0ZTtcclxuICAgIHRoaXMudmlldyA9ICdkYXknO1xyXG4gIH1cclxuXHJcbiAgdHJhY2tCeUZuKGluZGV4LCBpdGVtOiBhbnkpIHtcclxuICAgIHJldHVybiBpdGVtLmRhdGUuZGF0ZS5nZXRUaW1lKCk7XHJcbiAgfVxyXG59XHJcbiJdfQ==
444
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2FsZW5kYXItYm94LmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiJuZzovL0BhY29yZXgvY29tcG9uZW50cy8iLCJzb3VyY2VzIjpbImxpYi9jYWxlbmRhci9jYWxlbmRhci1ib3gvY2FsZW5kYXItYm94LmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxLQUFLLEVBQUUsTUFBTSxFQUFFLFlBQVksRUFBRSx1QkFBdUIsRUFBRSxpQkFBaUIsRUFBRSxpQkFBaUIsRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDbEosT0FBTyxFQUFFLFVBQVUsRUFBRSxlQUFlLEVBQWtCLFlBQVksRUFBRSxNQUFNLGNBQWMsQ0FBQztBQUd6RixPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sY0FBYyxDQUFDO0FBeUJ4QyxJQUFhLHNCQUFzQixHQUFuQyxNQUFhLHNCQUFzQjtJQWtJakMsWUFBb0IsR0FBc0IsRUFBVSxHQUFlO1FBQS9DLFFBQUcsR0FBSCxHQUFHLENBQW1CO1FBQVUsUUFBRyxHQUFILEdBQUcsQ0FBWTtRQWpJbkUsYUFBUSxHQUFhLEVBQUUsQ0FBQztRQUVoQixNQUFDLEdBQUc7WUFDVixNQUFNLEVBQUU7Z0JBQ04sTUFBTSxFQUFFLFFBQVEsQ0FBQyxHQUFHLENBQUMsd0JBQXdCLENBQUMsSUFBSSxJQUFJO2dCQUN0RCxHQUFHLEVBQUUsS0FBSztnQkFDVixNQUFNLEVBQUUsQ0FBQzthQUNWO1lBQ0QsU0FBUyxFQUFFO2dCQUNULE1BQU0sRUFBRSxRQUFRLENBQUMsR0FBRyxDQUFDLDJCQUEyQixDQUFDLElBQUksSUFBSTtnQkFDekQsR0FBRyxFQUFFLEtBQUs7Z0JBQ1YsTUFBTSxFQUFFLENBQUM7YUFDVjtTQUNGLENBQUM7UUFLRixTQUFJLEdBQWtCLElBQUksQ0FBQztRQWtCM0Isc0JBQWlCLEdBQVksSUFBSSxDQUFDO1FBR2xDLGFBQVEsR0FBRyxFQUFFLENBQUM7UUFPUCxvQkFBZSxHQUFZLEtBQUssQ0FBQztRQUV4QyxXQUFNLEdBQVUsRUFBRSxDQUFDO1FBQ25CLFlBQU8sR0FBWSxLQUFLLENBQUM7UUFDakIsVUFBSyxHQUF1QixLQUFLLENBQUM7UUFVbEMsV0FBTSxHQUF1QixLQUFLLENBQUM7UUFZbkMsYUFBUSxHQUF3QixFQUFFLENBQUM7UUFDbkMsYUFBUSxHQUF3QixFQUFFLENBQUM7UUFHM0MsbUJBQWMsR0FBcUMsSUFBSSxZQUFZLEVBQXNCLENBQUM7UUFHMUYsWUFBTyxHQUFxQyxJQUFJLFlBQVksRUFBc0IsQ0FBQztRQUduRixnQkFBVyxHQUF1QixJQUFJLFlBQVksRUFBUSxDQUFDO1FBZ0R6RCxlQUFlO1FBQ2YsSUFBSSxDQUFDLFVBQVUsR0FBRyxRQUFRLENBQUMsR0FBRyxDQUFDLG1CQUFtQixDQUFDLENBQUM7UUFDcEQsSUFBSSxDQUFDLFVBQVUsR0FBRyxRQUFRLENBQUMsR0FBRyxDQUFDLG1CQUFtQixDQUFDLENBQUM7SUFDdEQsQ0FBQztJQWpGRCxJQUFXLElBQUk7UUFDYixPQUFPLElBQUksQ0FBQyxLQUFLLENBQUM7SUFDcEIsQ0FBQztJQUNELElBQVcsSUFBSSxDQUFDLENBQXFCO1FBQ25DLElBQUksQ0FBQyxLQUFLLEdBQUcsQ0FBQyxDQUFDO1FBQ2YsSUFBSSxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsQ0FBQztJQUNuQixDQUFDO0lBS0QsSUFBVyxLQUFLO1FBQ2QsT0FBTyxJQUFJLENBQUMsTUFBTSxDQUFDO0lBQ3JCLENBQUM7SUFDRCxJQUFXLEtBQUssQ0FBQyxDQUFxQjtRQUNwQyxJQUFJLENBQUMsTUFBTSxHQUFHLENBQUMsQ0FBQztRQUNoQixJQUFJLENBQUMsSUFBSSxHQUFHLENBQUMsQ0FBQztJQUNoQixDQUFDO0lBaUJELElBQVcsS0FBSzs7UUFDZCxhQUFPLElBQUksQ0FBQyxNQUFNLDBDQUFFLElBQUksQ0FBQztJQUMzQixDQUFDO0lBQ0QsSUFBVyxLQUFLLENBQUMsQ0FBTzs7UUFDdEIsSUFBSSxFQUFjLENBQUM7UUFDbkIsSUFBSSxDQUFDLEVBQUU7WUFDTCxFQUFFLEdBQUcsVUFBVSxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsQ0FBQztTQUM1QjtRQUNELElBQUksV0FBVyxHQUFHLEtBQUssQ0FBQztRQUN4QixJQUFJLElBQUksQ0FBQyxHQUFHLElBQUksSUFBSSxDQUFDLEdBQUcsRUFBRTtZQUN4QixXQUFXLEdBQUcsSUFBSSxDQUFDLGVBQWUsQ0FBQyxFQUFFLENBQUMsQ0FBQztTQUN4QztRQUNELElBQUksQ0FBQyxXQUFXLEVBQUU7WUFDaEIsSUFBSSxFQUFFLElBQUksQ0FBQyxFQUFFLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsRUFBRTtnQkFDaEMsSUFBSSxDQUFDLE1BQU0sR0FBRyxFQUFFLENBQUM7Z0JBQ2pCLElBQUksQ0FBQyxNQUFNLENBQUMsSUFBSSxHQUFHLElBQUksQ0FBQyxJQUFJLENBQUM7Z0JBQzdCLElBQUksQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxLQUFLLEVBQUUsQ0FBQyxDQUFDO2dCQUNuQyxJQUFJLENBQUMsV0FBVyxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsSUFBSSxDQUFDLENBQUM7Z0JBQy9CLElBQUksQ0FBQyxjQUFjLENBQUMsSUFBSSxDQUFDO29CQUN2QixTQUFTLEVBQUUsSUFBSTtvQkFDZixLQUFLLFFBQUUsSUFBSSxDQUFDLE1BQU0sMENBQUUsSUFBSTtvQkFDeEIsV0FBVyxFQUFFLElBQUksQ0FBQyxHQUFHLENBQUMsYUFBYTtpQkFDcEMsQ0FBQyxDQUFDO2FBQ0o7WUFDRCxJQUFJLENBQUMsSUFBSSxTQUFTLEVBQUU7Z0JBQ2xCLElBQUksQ0FBQyxNQUFNLEdBQUcsSUFBSSxDQUFDO2dCQUNuQixJQUFJLENBQUMsWUFBWSxHQUFHLElBQUksQ0FBQyxLQUFLLENBQUM7Z0JBQy9CLElBQUksQ0FBQyxTQUFTLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQyxLQUFLLENBQUMsS0FBSyxDQUFDO2dCQUN4QyxJQUFJLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxDQUFDO2FBQ2xCO1lBQ0QsSUFBSSxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUM7Z0JBQ2hCLFNBQVMsRUFBRSxJQUFJO2dCQUNmLEtBQUssUUFBRSxJQUFJLENBQUMsTUFBTSwwQ0FBRSxJQUFJO2dCQUN4QixXQUFXLEVBQUUsSUFBSSxDQUFDLEdBQUcsQ0FBQyxhQUFhO2FBQ3BDLENBQUMsQ0FBQztTQUNKO0lBQ0gsQ0FBQztJQUdELElBQUksS0FBSztRQUNQLE9BQU8sSUFBSSxVQUFVLENBQUMsSUFBSSxJQUFJLEVBQUUsRUFBRSxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUM7SUFDL0MsQ0FBQztJQU9ELE9BQU8sQ0FBQyxJQUFnQjtRQUN0QixJQUFJLElBQUksQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDLENBQUMsSUFBSSxJQUFJLElBQUksQ0FBQyxXQUFXLEVBQUUsQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRTtZQUN6RSxPQUFPLElBQUksQ0FBQztTQUNiO2FBQU07WUFDTCxPQUFPLEtBQUssQ0FBQztTQUNkO0lBQ0gsQ0FBQztJQUNELFFBQVEsQ0FBQyxJQUFnQjtRQUN2QixJQUFJLElBQUksQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDLENBQUMsSUFBSSxJQUFJLElBQUksQ0FBQyxXQUFXLEVBQUUsQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRTtZQUN6RSxPQUFPLElBQUksQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDLENBQUMsSUFBSSxJQUFJLElBQUksQ0FBQyxXQUFXLEVBQUUsQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUM7U0FDcEY7YUFBTTtZQUNMLE9BQU8sRUFBRSxDQUFDO1NBQ1g7SUFDSCxDQUFDO0lBRUQsUUFBUSxDQUFDLElBQWdCO1FBQ3ZCLElBQUksSUFBSSxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDLENBQUMsQ0FBQyxJQUFJLElBQUksSUFBSSxDQUFDLFdBQVcsRUFBRSxDQUFDLEtBQUssQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFO1lBQ3pFLE9BQU8sSUFBSSxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDLENBQUMsQ0FBQyxJQUFJLElBQUksSUFBSSxDQUFDLFdBQVcsRUFBRSxDQUFDLEtBQUssQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQztTQUNuRjthQUFNO1lBQ0wsT0FBTyxFQUFFLENBQUM7U0FDWDtJQUNILENBQUM7SUFFRCxRQUFRO1FBQ04sSUFBSSxDQUFDLFlBQVksR0FBRyxJQUFJLFVBQVUsQ0FBQyxJQUFJLElBQUksRUFBRSxFQUFFLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUMxRCxFQUFFO1FBQ0YsSUFBSSxDQUFDLFVBQVUsRUFBRSxDQUFDO1FBQ2xCLEVBQUU7UUFDRixJQUFJLENBQUMsU0FBUyxHQUFHLElBQUksQ0FBQyxLQUFLLENBQUMsS0FBSyxDQUFDLEtBQUssQ0FBQztRQUN4QyxJQUFJLElBQUksQ0FBQyxLQUFLLEVBQUU7WUFDZCxJQUFJLENBQUMsUUFBUSxDQUFDLElBQUksVUFBVSxDQUFDLElBQUksQ0FBQyxLQUFLLEVBQUUsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUM7U0FDdEQ7YUFBTTtZQUNMLElBQUksQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDO1NBQzNCO1FBRUQsSUFBSSxDQUFDLElBQUksR0FBRyxLQUFLLENBQUM7SUFDcEIsQ0FBQztJQUVELGVBQWUsQ0FBQyxJQUF3QjtRQUN0QyxRQUFRLElBQUksRUFBRTtZQUNaLEtBQUssS0FBSztnQkFDUixPQUFPLEtBQUssQ0FBQztZQUNmLEtBQUssT0FBTztnQkFDVixPQUFPLElBQUksQ0FBQztZQUNkLEtBQUssTUFBTTtnQkFDVCxPQUFPLEdBQUcsQ0FBQztTQUNkO0lBQ0gsQ0FBQztJQUVELGVBQWU7UUFDYixJQUFJLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxDQUFDO0lBQ25CLENBQUM7SUFFTyxVQUFVOztRQUNoQixJQUFJLENBQUMsSUFBSSxDQUFDLElBQUksRUFBRTtZQUNkLElBQUksQ0FBQyxJQUFJLEdBQUcsUUFBUSxDQUFDLEdBQUcsQ0FBQyxlQUFlLENBQUMsSUFBSSxXQUFXLENBQUM7U0FDMUQ7UUFDRCxJQUFJLENBQUMsSUFBSSxDQUFDLE1BQU0sRUFBRTtZQUNoQixJQUFJLENBQUMsTUFBTSxHQUFHLE9BQUEsSUFBSSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLDBDQUFFLE1BQU0sS0FBSSxJQUFJLENBQUMsTUFBTSxDQUFDO1NBQ3hEO1FBQ0QsSUFBSSxDQUFDLElBQUksQ0FBQyxHQUFHLEVBQUU7WUFDYixJQUFJLENBQUMsR0FBRyxHQUFHLE9BQUEsSUFBSSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLDBDQUFFLEdBQUcsS0FBSSxLQUFLLENBQUM7U0FDNUM7UUFDRCxJQUFJLENBQUMsU0FBUyxHQUFHLE9BQUEsSUFBSSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLDBDQUFFLE1BQU0sS0FBSSxDQUFDLENBQUM7UUFDaEQsTUFBTSxJQUFJLEdBQUcsd0JBQXdCLENBQUM7UUFDdEMsSUFBSSxDQUFDLFFBQVEsR0FBRztZQUNkLFlBQVksQ0FBQyxHQUFHLENBQUMsR0FBRyxJQUFJLE1BQU0sRUFBRSxJQUFJLENBQUMsTUFBTSxDQUFDO1lBQzVDLFlBQVksQ0FBQyxHQUFHLENBQUMsR0FBRyxJQUFJLE1BQU0sRUFBRSxJQUFJLENBQUMsTUFBTSxDQUFDO1lBQzVDLFlBQVksQ0FBQyxHQUFHLENBQUMsR0FBRyxJQUFJLE1BQU0sRUFBRSxJQUFJLENBQUMsTUFBTSxDQUFDO1lBQzVDLFlBQVksQ0FBQyxHQUFHLENBQUMsR0FBRyxJQUFJLE1BQU0sRUFBRSxJQUFJLENBQUMsTUFBTSxDQUFDO1lBQzVDLFlBQVksQ0FBQyxHQUFHLENBQUMsR0FBRyxJQUFJLE1BQU0sRUFBRSxJQUFJLENBQUMsTUFBTSxDQUFDO1lBQzVDLFlBQVksQ0FBQyxHQUFHLENBQUMsR0FBRyxJQUFJLE1BQU0sRUFBRSxJQUFJLENBQUMsTUFBTSxDQUFDO1lBQzVDLFlBQVksQ0FBQyxHQUFHLENBQUMsR0FBRyxJQUFJLE1BQU0sRUFBRSxJQUFJLENBQUMsTUFBTSxDQUFDO1NBQzdDLENBQUM7SUFDSixDQUFDO0lBRUQsWUFBWTtRQUNWLE9BQU8sWUFBWSxDQUFDLEdBQUcsQ0FBQyxnQkFBZ0IsRUFBRSxJQUFJLENBQUMsTUFBTSxDQUFDLENBQUM7SUFDekQsQ0FBQztJQUVELElBQUk7UUFDRixJQUFJLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7SUFDcEIsQ0FBQztJQUVELElBQUk7UUFDRixJQUFJLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxDQUFDO0lBQ25CLENBQUM7SUFFRCxNQUFNLENBQUMsS0FBSyxFQUFFLENBQUM7UUFDYixNQUFNLEdBQUcsR0FBRyxLQUFLLENBQUMsTUFBTSxDQUFDO1FBQ3pCLE9BQU8sQ0FBQyxDQUFDLENBQUMsR0FBRyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsR0FBRyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsR0FBRyxDQUFDLENBQUMsR0FBRyxHQUFHLENBQUMsR0FBRyxDQUFDLENBQUMsR0FBRyxHQUFHLENBQUMsQ0FBQyxHQUFHLEdBQUcsQ0FBQyxDQUFDLENBQUM7SUFDaEosQ0FBQztJQUVELFFBQVEsQ0FBQyxLQUEwQjtRQUNqQyxJQUFJLEtBQWlCLENBQUM7UUFDdEIsSUFBSSxHQUFlLENBQUM7UUFDcEIsSUFBSSxJQUFJLENBQUMsSUFBSSxLQUFLLEtBQUssRUFBRTtZQUN2QixJQUFJLEVBQWMsQ0FBQztZQUNuQixJQUFJLEtBQUssWUFBWSxVQUFVLEVBQUU7Z0JBQy9CLEVBQUUsR0FBRyxLQUFLLENBQUMsT0FBTyxDQUFDLE9BQU8sQ0FBQyxDQUFDO2FBQzdCO2lCQUFNO2dCQUNMLEVBQUUsR0FBRyxJQUFJLENBQUMsU0FBUyxDQUFDLFNBQVMsQ0FBQyxHQUFHLENBQUMsS0FBSyxFQUFFLEVBQUUsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxPQUFPLEVBQUUsS0FBSyxDQUFDLENBQUMsT0FBTyxDQUFDLE9BQU8sQ0FBQyxDQUFDO2FBQ25GO1lBRUQsS0FBSyxHQUFHLEVBQUUsQ0FBQyxjQUFjLENBQUM7WUFDMUIsR0FBRyxHQUFHLEVBQUUsQ0FBQyxLQUFLLENBQUMsT0FBTyxDQUFDLENBQUMsWUFBWSxDQUFDO1lBRXJDLEtBQUssR0FBRyxLQUFLLENBQUMsR0FBRyxDQUFDLEtBQUssRUFBRSxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsQ0FBQztZQUMxQyxHQUFHLEdBQUcsR0FBRyxDQUFDLEdBQUcsQ0FBQyxLQUFLLEVBQUUsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLEtBQUssRUFBRSxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsQ0FBQztZQUVwRCw0QkFBNEI7WUFDNUIsSUFBSSxDQUFDLElBQUksQ0FBQyxPQUFPLElBQUksSUFBSSxDQUFDLFFBQVEsQ0FBQyxNQUFNLEdBQUcsQ0FBQyxFQUFFO2dCQUM3QyxJQUFJLElBQUksQ0FBQyxJQUFJLEtBQUssUUFBUSxFQUFFO29CQUMxQixJQUFJLENBQUMsUUFBUSxHQUFHLElBQUksQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLFFBQVEsRUFBRSxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsQ0FBQztpQkFDN0Q7cUJBQU07b0JBQ0wsSUFBSSxDQUFDLFFBQVEsR0FBRyxJQUFJLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxRQUFRLEVBQUUsSUFBSSxDQUFDLFNBQVMsQ0FBQyxDQUFDO2lCQUM1RDtnQkFFRCxJQUFJLENBQUMsT0FBTyxHQUFHLElBQUksQ0FBQzthQUNyQjtTQUNGO2FBQU0sSUFBSSxJQUFJLENBQUMsSUFBSSxLQUFLLE9BQU8sRUFBRTtZQUNoQyxJQUFJLEVBQWMsQ0FBQztZQUNuQixJQUFJLEtBQUssWUFBWSxVQUFVLEVBQUU7Z0JBQy9CLEVBQUUsR0FBRyxLQUFLLENBQUMsT0FBTyxDQUFDLE1BQU0sQ0FBQyxDQUFDO2FBQzVCO2lCQUFNO2dCQUNMLEVBQUUsR0FBRyxJQUFJLENBQUMsU0FBUyxDQUFDLFNBQVMsQ0FBQyxHQUFHLENBQUMsS0FBSyxFQUFFLEVBQUUsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxNQUFNLEVBQUUsS0FBSyxDQUFDLENBQUMsT0FBTyxDQUFDLE1BQU0sQ0FBQyxDQUFDO2FBQ2pGO1lBQ0QsS0FBSyxHQUFHLEVBQUUsQ0FBQztZQUNYLEdBQUcsR0FBRyxFQUFFLENBQUMsS0FBSyxDQUFDLE1BQU0sQ0FBQyxDQUFDO1NBQ3hCO2FBQU0sSUFBSSxJQUFJLENBQUMsSUFBSSxLQUFLLE1BQU0sRUFBRTtZQUMvQixJQUFJLEVBQWMsQ0FBQztZQUNuQixJQUFJLEtBQUssWUFBWSxVQUFVLEVBQUU7Z0JBQy9CLEVBQUUsR0FBRyxLQUFLLENBQUMsT0FBTyxDQUFDLE1BQU0sQ0FBQyxDQUFDO2FBQzVCO2lCQUFNO2dCQUNMLEVBQUUsR0FBRyxJQUFJLENBQUMsU0FBUyxDQUFDLFNBQVM7cUJBQzFCLEdBQUcsQ0FBQyxLQUFLLEVBQUUsRUFBRSxDQUFDO3FCQUNkLEdBQUcsQ0FBQyxNQUFNLEVBQUUsS0FBSyxHQUFHLEVBQUUsQ0FBQztxQkFDdkIsT0FBTyxDQUFDLE1BQU0sQ0FBQyxDQUFDO2FBQ3BCO1lBQ0QsS0FBSyxHQUFHLEVBQUUsQ0FBQyxHQUFHLENBQUMsTUFBTSxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUM7WUFDM0IsR0FBRyxHQUFHLEtBQUssQ0FBQyxHQUFHLENBQUMsTUFBTSxFQUFFLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxNQUFNLENBQUMsQ0FBQztTQUMxQztRQUNELElBQUksQ0FBQyxTQUFTLEdBQUcsSUFBSSxlQUFlLENBQUMsS0FBSyxFQUFFLEdBQUcsQ0FBQyxDQUFDO1FBQ2pELEVBQUU7UUFDRixJQUFJLElBQUksQ0FBQyxVQUFVLElBQUksT0FBTyxJQUFJLENBQUMsVUFBVSxLQUFLLFVBQVUsRUFBRTtZQUM1RCxJQUFJLENBQUMsUUFBUSxHQUFHLElBQUksQ0FBQyxVQUFVLENBQUMsS0FBSyxDQUFDLElBQUksRUFBRSxHQUFHLENBQUMsSUFBSSxFQUFFLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQztTQUNsRTtRQUVELElBQUksSUFBSSxDQUFDLFVBQVUsSUFBSSxPQUFPLElBQUksQ0FBQyxVQUFVLEtBQUssVUFBVSxFQUFFO1lBQzVELElBQUksQ0FBQyxRQUFRLEdBQUcsSUFBSSxDQUFDLFVBQVUsQ0FBQyxLQUFLLENBQUMsSUFBSSxFQUFFLEdBQUcsQ0FBQyxJQUFJLEVBQUUsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDO1NBQ2xFO1FBRUQsRUFBRTtRQUNGLElBQUksSUFBSSxDQUFDLElBQUksS0FBSyxLQUFLLEVBQUU7WUFDdkIsSUFBSSxDQUFDLE1BQU0sR0FBRyxJQUFJLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxTQUFTLENBQUMsS0FBSyxFQUFFLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDO1lBQzdGLElBQUksSUFBSSxDQUFDLE1BQU0sQ0FBQyxNQUFNLEdBQUcsQ0FBQyxJQUFJLElBQUksQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDLENBQUMsU0FBUyxLQUFLLEtBQUssQ0FBQyxLQUFLLFNBQVMsRUFBRTtnQkFDN0YsSUFBSSxDQUFDLE1BQU0sQ0FBQyxNQUFNLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDO2FBQzFCO1lBQ0QsSUFBSSxJQUFJLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsTUFBTSxHQUFHLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQyxDQUFDLFNBQVMsS0FBSyxLQUFLLENBQUMsS0FBSyxTQUFTLEVBQUU7Z0JBQ3hGLElBQUksQ0FBQyxNQUFNLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsTUFBTSxHQUFHLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQzthQUMvQztTQUNGO2FBQU0sSUFBSSxJQUFJLENBQUMsSUFBSSxLQUFLLE9BQU8sRUFBRTtZQUNoQyxJQUFJLENBQUMsTUFBTSxHQUFHLElBQUksQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLFNBQVMsQ0FBQyxPQUFPLEVBQUUsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUM7U0FDaEc7YUFBTSxJQUFJLElBQUksQ0FBQyxJQUFJLEtBQUssTUFBTSxFQUFFO1lBQy9CLElBQUksQ0FBQyxNQUFNLEdBQUcsSUFBSSxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsU0FBUyxDQUFDLE1BQU0sRUFBRSxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQztTQUMvRjtRQUNELElBQUksQ0FBQyxHQUFHLENBQUMsYUFBYSxFQUFFLENBQUM7SUFDM0IsQ0FBQztJQUVPLFVBQVUsQ0FBQyxLQUFtQjtRQUNwQyxNQUFNLEtBQUssR0FBVSxFQUFFLENBQUM7UUFDeEIsS0FBSyxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLEVBQUU7WUFDeEIsTUFBTSxJQUFJLEdBQVEsRUFBRSxDQUFDO1lBQ3JCLElBQUksQ0FBQyxJQUFJLEdBQUcsQ0FBQyxDQUFDO1lBRWQsSUFBSSxDQUFDLFFBQVEsR0FBRyxDQUFDLENBQUMsV0FBVyxDQUFDLElBQUksVUFBVSxDQUFDLElBQUksQ0FBQyxLQUFLLEVBQUUsSUFBSSxDQUFDLElBQUksQ0FBQyxFQUFFLElBQUksQ0FBQyxlQUFlLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxFQUFFLElBQUksQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUM7WUFDdkgsSUFBSSxDQUFDLE9BQU8sR0FBRyxDQUFDLENBQUMsV0FBVyxDQUFDLElBQUksQ0FBQyxZQUFZLEVBQUUsSUFBSSxDQUFDLGVBQWUsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLEVBQUUsSUFBSSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQztZQUNsRyxJQUFJLENBQUMsS0FBSyxHQUFHLElBQUksQ0FBQyxLQUFLLElBQUksQ0FBQyxDQUFDLFdBQVcsQ0FBQyxJQUFJLENBQUMsS0FBSyxFQUFFLElBQUksQ0FBQyxlQUFlLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxFQUFFLElBQUksQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUM7WUFDdkcsSUFBSSxJQUFJLENBQUMsSUFBSSxLQUFLLEtBQUssRUFBRTtnQkFDdkIsd0ZBQXdGO2dCQUN4RixJQUFJLENBQUMsU0FBUyxHQUFHLENBQUMsQ0FBQyxXQUFXLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxTQUFTLENBQUMsR0FBRyxDQUFDLEtBQUssRUFBRSxFQUFFLENBQUMsRUFBRSxJQUFJLEVBQUUsSUFBSSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQztnQkFFL0YsSUFBSSxDQUFDLFFBQVEsR0FBRyxJQUFJLENBQUMsZUFBZSxDQUFDLENBQUMsQ0FBQyxDQUFDO2dCQUN4QyxJQUFJLENBQUMsUUFBUSxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFO29CQUMxQixNQUFNLElBQUksR0FBRyxDQUFDLENBQUMsV0FBVyxDQUFDLElBQUksVUFBVSxDQUFDLENBQUMsQ0FBQyxJQUFJLEVBQUUsSUFBSSxDQUFDLElBQUksQ0FBQyxFQUFFLEtBQUssRUFBRSxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUM7b0JBQ2hGLElBQUksSUFBSSxLQUFLLENBQUMsRUFBRTt3QkFDZCxJQUFJLENBQUMsT0FBTyxHQUFHLElBQUksQ0FBQzt3QkFDcEIsSUFBSSxJQUFJLENBQUMsaUJBQWlCLEtBQUssS0FBSyxFQUFFOzRCQUNwQyxJQUFJLENBQUMsUUFBUSxHQUFHLElBQUksQ0FBQzt5QkFDdEI7cUJBQ0Y7Z0JBQ0gsQ0FBQyxDQUFDLENBQUM7Z0JBRUgsTUFBTSxRQUFRLEdBQUcsQ0FBQyxHQUFHLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQztnQkFDM0MsSUFBSSxDQUFDLFFBQVEsQ0FBQyxPQUFPLENBQUMsQ0FBQyxFQUFFLEVBQUUsRUFBRTtvQkFDM0IsSUFBSSxNQUFNLENBQUMsRUFBRSxDQUFDLEtBQUssUUFBUSxFQUFFO3dCQUMzQixJQUFJLENBQUMsT0FBTyxHQUFHLElBQUksQ0FBQzt3QkFDcEIsSUFBSSxJQUFJLENBQUMsaUJBQWlCLEtBQUssS0FBSyxFQUFFOzRCQUNwQyxJQUFJLENBQUMsUUFBUSxHQUFHLElBQUksQ0FBQzt5QkFDdEI7cUJBQ0Y7Z0JBQ0gsQ0FBQyxDQUFDLENBQUM7YUFDSjtZQUNELEtBQUssQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUM7UUFDbkIsQ0FBQyxDQUFDLENBQUM7UUFDSCxPQUFPLEtBQUssQ0FBQztJQUNmLENBQUM7SUFFRCxVQUFVO1FBQ1IsSUFBSSxJQUFJLENBQUMsSUFBSSxLQUFLLEtBQUssRUFBRTtZQUN2QixJQUFJLENBQUMsSUFBSSxHQUFHLE9BQU8sQ0FBQztTQUNyQjthQUFNLElBQUksSUFBSSxDQUFDLElBQUksS0FBSyxPQUFPLEVBQUU7WUFDaEMsSUFBSSxDQUFDLElBQUksR0FBRyxNQUFNLENBQUM7U0FDcEI7SUFDSCxDQUFDO0lBRUQsU0FBUyxDQUFDLEdBQVUsRUFBRSxJQUFJO1FBQ3hCLE1BQU0sSUFBSSxHQUFHLElBQUksQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLE1BQU0sR0FBRyxJQUFJLENBQUMsQ0FBQztRQUMxQyxNQUFNLE1BQU0sR0FBRyxFQUFFLENBQUM7UUFDbEIsSUFBSSxJQUFJLEdBQUcsSUFBSSxLQUFLLEdBQUcsQ0FBQyxNQUFNLEVBQUU7WUFDOUIsS0FBSyxJQUFJLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxHQUFHLEdBQUcsQ0FBQyxNQUFNLEVBQUUsQ0FBQyxJQUFJLElBQUksRUFBRTtnQkFDekMsTUFBTSxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsS0FBSyxDQUFDLENBQUMsRUFBRSxJQUFJLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQzthQUNyQztTQUNGO1FBQ0QsT0FBTyxNQUFNLENBQUM7SUFDaEIsQ0FBQztJQUVELFdBQVcsQ0FBQyxLQUFpQixFQUFFLElBQUk7UUFDakMsSUFBSSxJQUFJLENBQUMsUUFBUSxLQUFLLElBQUksRUFBRTtZQUMxQixJQUFJLENBQUMsS0FBSyxHQUFHLElBQUksQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDO1NBQzdCO1FBRUQsS0FBSyxDQUFDLGVBQWUsRUFBRSxDQUFDO0lBQzFCLENBQUM7SUFFRCxlQUFlLENBQUMsQ0FBQztRQUNmLElBQUksQ0FBQyxHQUFHLEtBQUssQ0FBQztRQUNkLElBQUksQ0FBQyxLQUFLLFNBQVMsRUFBRTtZQUNuQixJQUFJLElBQUksQ0FBQyxHQUFHLElBQUksQ0FBQyxJQUFJLENBQUMsR0FBRyxFQUFFO2dCQUN6QixDQUFDLEdBQUcsQ0FBQyxDQUFDLFdBQVcsQ0FBQyxJQUFJLFVBQVUsQ0FBQyxJQUFJLENBQUMsR0FBRyxFQUFFLElBQUksQ0FBQyxJQUFJLENBQUMsRUFBRSxJQUFJLENBQUMsZUFBZSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsRUFBRSxJQUFJLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUM7YUFDM0c7WUFDRCxJQUFJLElBQUksQ0FBQyxHQUFHLElBQUksQ0FBQyxJQUFJLENBQUMsR0FBRyxFQUFFO2dCQUN6QixDQUFDLEdBQUcsQ0FBQyxDQUFDLFdBQVcsQ0FBQyxJQUFJLFVBQVUsQ0FBQyxJQUFJLENBQUMsR0FBRyxFQUFFLElBQUksQ0FBQyxJQUFJLENBQUMsRUFBRSxJQUFJLENBQUMsZUFBZSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsRUFBRSxJQUFJLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDO2FBQzFHO1lBQ0QsSUFBSSxJQUFJLENBQUMsR0FBRyxJQUFJLElBQUksQ0FBQyxHQUFHLEVBQUU7Z0JBQ3hCLENBQUM7b0JBQ0MsQ0FBQyxDQUFDLFdBQVcsQ0FBQyxJQUFJLFVBQVUsQ0FBQyxJQUFJLENBQUMsR0FBRyxFQUFFLElBQUksQ0FBQyxJQUFJLENBQUMsRUFBRSxJQUFJLENBQUMsZUFBZSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsRUFBRSxJQUFJLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDO3dCQUNyRyxDQUFDLENBQUMsV0FBVyxDQUFDLElBQUksVUFBVSxDQUFDLElBQUksQ0FBQyxHQUFHLEVBQUUsSUFBSSxDQUFDLElBQUksQ0FBQyxFQUFFLElBQUksQ0FBQyxlQUFlLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxFQUFFLElBQUksQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUM7YUFDeEc7U0FDRjtRQUNELE9BQU8sQ0FBQyxDQUFDO0lBQ1gsQ0FBQztJQUVELGFBQWEsQ0FBQyxLQUFpQixFQUFFLElBQWdCO1FBQy9DLElBQUksSUFBSSxDQUFDLEtBQUssS0FBSyxPQUFPLEVBQUU7WUFDMUIsSUFBSSxDQUFDLEtBQUssR0FBRyxJQUFJLENBQUMsSUFBSSxDQUFDO1NBQ3hCO2FBQU07WUFDTCxJQUFJLENBQUMsSUFBSSxHQUFHLEtBQUssQ0FBQztZQUNsQixJQUFJLENBQUMsUUFBUSxDQUFDLElBQUksVUFBVSxDQUFDLElBQUksQ0FBQyxLQUFLLEVBQUUsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDLEdBQUcsQ0FBQyxNQUFNLEVBQUUsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDLEdBQUcsQ0FBQyxPQUFPLEVBQUUsSUFBSSxDQUFDLFdBQVcsQ0FBQyxDQUFDLENBQUM7U0FDNUc7UUFDRCxLQUFLLENBQUMsZUFBZSxFQUFFLENBQUM7SUFDMUIsQ0FBQztJQUVELFlBQVksQ0FBQyxLQUFpQixFQUFFLElBQWdCO1FBQzlDLElBQUksSUFBSSxDQUFDLEtBQUssS0FBSyxNQUFNLEVBQUU7WUFDekIsSUFBSSxDQUFDLEtBQUssR0FBRyxJQUFJLENBQUMsSUFBSSxDQUFDO1NBQ3hCO2FBQU07WUFDTCxJQUFJLENBQUMsSUFBSSxHQUFHLE9BQU8sQ0FBQztZQUNwQixJQUFJLENBQUMsUUFBUSxDQUFDLElBQUksVUFBVSxDQUFDLElBQUksQ0FBQyxLQUFLLEVBQUUsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDLEdBQUcsQ0FBQyxNQUFNLEVBQUUsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUM7U0FDN0U7UUFDRCxLQUFLLENBQUMsZUFBZSxFQUFFLENBQUM7SUFDMUIsQ0FBQztJQUVELFFBQVEsQ0FBQyxJQUFnQjtRQUN2QixJQUFJLENBQUMsWUFBWSxHQUFHLElBQUksQ0FBQztRQUN6QixJQUFJLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxZQUFZLENBQUMsQ0FBQztJQUNuQyxDQUFDO0lBRUQsUUFBUTtRQUNOLElBQUksQ0FBQyxLQUFLLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUM7UUFDN0IsSUFBSSxDQUFDLElBQUksR0FBRyxLQUFLLENBQUM7SUFDcEIsQ0FBQztJQUVELFNBQVMsQ0FBQyxLQUFLLEVBQUUsSUFBUztRQUN4QixPQUFPLElBQUksQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLE9BQU8sRUFBRSxDQUFDO0lBQ2xDLENBQUM7Q0FDRixDQUFBOztZQW5TMEIsaUJBQWlCO1lBQWUsVUFBVTs7QUEvR25FO0lBREMsS0FBSyxFQUFFOztvREFDbUI7QUFHM0I7SUFEQyxLQUFLLEVBQUU7O29EQUNhO0FBR3JCO0lBREMsS0FBSyxFQUFFOztzREFDTztBQUdmO0lBREMsS0FBSyxFQUFFOzttREFDSTtBQUdaO0lBREMsS0FBSyxFQUFFOzhCQUNILElBQUk7bURBQUM7QUFHVjtJQURDLEtBQUssRUFBRTs4QkFDSCxJQUFJO21EQUFDO0FBR1Y7SUFEQyxLQUFLLEVBQUU7O2lFQUMwQjtBQUdsQztJQURDLEtBQUssRUFBRTs7d0RBQ007QUFPZDtJQURDLEtBQUssQ0FBQyxpQkFBaUIsQ0FBQzs7K0RBQ2U7QUFNeEM7SUFEQyxLQUFLLEVBQUU7OztrREFHUDtBQVNEO0lBREMsS0FBSyxFQUFFOzs7bURBR1A7QUFXRDtJQURDLE1BQU0sRUFBRTs4QkFDTyxZQUFZOzhEQUE4RDtBQUcxRjtJQURDLE1BQU0sRUFBRTs4QkFDQSxZQUFZO3VEQUE4RDtBQUduRjtJQURDLE1BQU0sRUFBRTs4QkFDSSxZQUFZOzJEQUFrQztBQUkzRDtJQURDLEtBQUssRUFBRTs4QkFJWSxJQUFJO3FDQUFKLElBQUk7bURBRHZCO0FBekZVLHNCQUFzQjtJQU5sQyxTQUFTLENBQUM7UUFDVCxRQUFRLEVBQUUsaUJBQWlCO1FBQzNCLCszT0FBNEM7UUFDNUMsYUFBYSxFQUFFLGlCQUFpQixDQUFDLElBQUk7UUFDckMsZUFBZSxFQUFFLHVCQUF1QixDQUFDLE1BQU07S0FDaEQsQ0FBQztxQ0FtSXlCLGlCQUFpQixFQUFlLFVBQVU7R0FsSXhELHNCQUFzQixDQXFhbEM7U0FyYVksc0JBQXNCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBJbnB1dCwgT3V0cHV0LCBFdmVudEVtaXR0ZXIsIENoYW5nZURldGVjdGlvblN0cmF0ZWd5LCBDaGFuZ2VEZXRlY3RvclJlZiwgVmlld0VuY2Fwc3VsYXRpb24sIEVsZW1lbnRSZWYgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgQVhEYXRlVGltZSwgQVhEYXRlVGltZVJhbmdlLCBBWENhbGVuZGFyVHlwZSwgQVhUcmFuc2xhdG9yIH0gZnJvbSAnQGFjb3JleC9jb3JlJztcclxuaW1wb3J0IHsgQVhCYXNlU2l6YWJsZUNvbXBvbmVudCwgQVhFbGVtZW50U2l6ZSB9IGZyb20gJy4uLy4uL2Jhc2UvZWxlbWVudC5jbGFzcyc7XHJcbmltcG9ydCB7IEFYVmFsdWVFdmVudCB9IGZyb20gJy4uLy4uL2Jhc2UvZXZlbnRzLmNsYXNzJztcclxuaW1wb3J0IHsgQVhDb25maWcgfSBmcm9tICdAYWNvcmV4L2NvcmUnO1xyXG5cclxuZXhwb3J0IHR5cGUgQVhDYWxlbmRhclZpZXdUeXBlID0gJ3llYXInIHwgJ21vbnRoJyB8ICdkYXknO1xyXG5cclxuZXhwb3J0IHR5cGUgQVhDYWxlbmRhckhvbGlkYXlzID0gQVhDYWxlbmRhckhvbGlkYXlbXTtcclxuZXhwb3J0IHR5cGUgQVhDYWxlbmRhckhvbGlkYXlzRnVuYyA9IChzdGFydDogRGF0ZSwgZW5kOiBEYXRlLCB0eXBlOiBBWENhbGVuZGFyVHlwZSkgPT4gQVhDYWxlbmRhckhvbGlkYXlbXTtcclxuZXhwb3J0IGludGVyZmFjZSBBWENhbGVuZGFySG9saWRheSB7XHJcbiAgZGF0ZTogRGF0ZTtcclxuICB0aXRsZTogc3RyaW5nO1xyXG4gIGRlc2NyaXB0aW9uPzogc3RyaW5nO1xyXG59XHJcblxyXG5leHBvcnQgdHlwZSBBWENhbGVuZGFyV2Vla2VuZHMgPSBBWENhbGVuZGFyV2Vla2VuZFtdO1xyXG5leHBvcnQgdHlwZSBBWENhbGVuZGFyV2Vla2VuZHNGdW5jID0gKHN0YXJ0OiBEYXRlLCBlbmQ6IERhdGUsIHR5cGU6IEFYQ2FsZW5kYXJUeXBlKSA9PiBBWENhbGVuZGFyV2Vla2VuZFtdO1xyXG5cclxuZXhwb3J0IGludGVyZmFjZSBBWENhbGVuZGFyV2Vla2VuZCB7XHJcbiAgaW5kZXhEYXk6IG51bWJlcjtcclxufVxyXG5cclxuQENvbXBvbmVudCh7XHJcbiAgc2VsZWN0b3I6ICdheC1jYWxlbmRhci1ib3gnLFxyXG4gIHRlbXBsYXRlVXJsOiAnLi9jYWxlbmRhci1ib3guY29tcG9uZW50Lmh0bWwnLFxyXG4gIGVuY2Fwc3VsYXRpb246IFZpZXdFbmNhcHN1bGF0aW9uLk5vbmUsXHJcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2hcclxufSlcclxuZXhwb3J0IGNsYXNzIEFYQ2FsZW5kYXJCb3hDb21wb25lbnQgaW1wbGVtZW50cyBBWEJhc2VTaXphYmxlQ29tcG9uZW50IHtcclxuICB3ZWVrZGF5czogc3RyaW5nW10gPSBbXTtcclxuXHJcbiAgcHJpdmF0ZSBkID0ge1xyXG4gICAgamFsYWxpOiB7XHJcbiAgICAgIGxvY2FsZTogQVhDb25maWcuZ2V0KCdkYXRlVGltZS5qYWxhbGkubG9jYWxlJykgfHwgJ2ZhJyxcclxuICAgICAgZGlyOiAncnRsJyxcclxuICAgICAgbnVtYmVyOiAxXHJcbiAgICB9LFxyXG4gICAgZ3JlZ29yaWFuOiB7XHJcbiAgICAgIGxvY2FsZTogQVhDb25maWcuZ2V0KCdkYXRlVGltZS5ncmVnb3JpYW4ubG9jYWxlJykgfHwgJ2VuJyxcclxuICAgICAgZGlyOiAnbHRyJyxcclxuICAgICAgbnVtYmVyOiAwXHJcbiAgICB9XHJcbiAgfTtcclxuXHJcbiAgbnVtUm90YXRlOiBudW1iZXI7XHJcblxyXG4gIEBJbnB1dCgpXHJcbiAgc2l6ZTogQVhFbGVtZW50U2l6ZSA9ICdtZCc7XHJcblxyXG4gIEBJbnB1dCgpXHJcbiAgdHlwZTogQVhDYWxlbmRhclR5cGU7XHJcblxyXG4gIEBJbnB1dCgpXHJcbiAgbG9jYWxlOiBzdHJpbmc7XHJcblxyXG4gIEBJbnB1dCgpXHJcbiAgZGlyOiBzdHJpbmc7XHJcblxyXG4gIEBJbnB1dCgpXHJcbiAgbWluOiBEYXRlO1xyXG5cclxuICBASW5wdXQoKVxyXG4gIG1heDogRGF0ZTtcclxuXHJcbiAgQElucHV0KClcclxuICBzZWxlY3RhYmxlSG9saWRheTogYm9vbGVhbiA9IHRydWU7XHJcblxyXG4gIEBJbnB1dCgpXHJcbiAgZGF5U3R5bGUgPSBbXTtcclxuXHJcbiAgcHJpdmF0ZSBnZXRIb2xpZGF5OiBBWENhbGVuZGFySG9saWRheXMgfCBBWENhbGVuZGFySG9saWRheXNGdW5jO1xyXG5cclxuICBwcml2YXRlIGdldFdlZWtlbmQ6IEFYQ2FsZW5kYXJXZWVrZW5kcyB8IEFYQ2FsZW5kYXJXZWVrZW5kc0Z1bmM7XHJcblxyXG4gIEBJbnB1dCgnc2hvd1RvZGF5QnV0dG9uJylcclxuICBwdWJsaWMgc2hvd1RvZGF5QnV0dG9uOiBib29sZWFuID0gZmFsc2U7XHJcblxyXG4gIG1hdHJpeDogYW55W10gPSBbXTtcclxuICByb3RhdGVkOiBib29sZWFuID0gZmFsc2U7XHJcbiAgcHJpdmF0ZSBfdmlldzogQVhDYWxlbmRhclZpZXdUeXBlID0gJ2RheSc7XHJcbiAgQElucHV0KClcclxuICBwdWJsaWMgZ2V0IHZpZXcoKTogQVhDYWxlbmRhclZpZXdUeXBlIHtcclxuICAgIHJldHVybiB0aGlzLl92aWV3O1xyXG4gIH1cclxuICBwdWJsaWMgc2V0IHZpZXcodjogQVhDYWxlbmRhclZpZXdUeXBlKSB7XHJcbiAgICB0aGlzLl92aWV3ID0gdjtcclxuICAgIHRoaXMubmF2aWdhdGUoMCk7XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIF9kZXB0aDogQVhDYWxlbmRhclZpZXdUeXBlID0gJ2RheSc7XHJcblxyXG4gIEBJbnB1dCgpXHJcbiAgcHVibGljIGdldCBkZXB0aCgpOiBBWENhbGVuZGFyVmlld1R5cGUge1xyXG4gICAgcmV0dXJuIHRoaXMuX2RlcHRoO1xyXG4gIH1cclxuICBwdWJsaWMgc2V0IGRlcHRoKHY6IEFYQ2FsZW5kYXJWaWV3VHlwZSkge1xyXG4gICAgdGhpcy5fZGVwdGggPSB2O1xyXG4gICAgdGhpcy52aWV3ID0gdjtcclxuICB9XHJcblxyXG4gIHZpZXdSYW5nZTogQVhEYXRlVGltZVJhbmdlO1xyXG4gIHByaXZhdGUgaG9saWRheXM6IEFYQ2FsZW5kYXJIb2xpZGF5W10gPSBbXTtcclxuICBwcml2YXRlIHdlZWtlbmRzOiBBWENhbGVuZGFyV2Vla2VuZFtdID0gW107XHJcblxyXG4gIEBPdXRwdXQoKVxyXG4gIG9uVmFsdWVDaGFuZ2VkOiBFdmVudEVtaXR0ZXI8QVhWYWx1ZUV2ZW50PERhdGU+PiA9IG5ldyBFdmVudEVtaXR0ZXI8QVhWYWx1ZUV2ZW50PERhdGU+PigpO1xyXG5cclxuICBAT3V0cHV0KClcclxuICBvbkNsaWNrOiBFdmVudEVtaXR0ZXI8QVhWYWx1ZUV2ZW50PERhdGU+PiA9IG5ldyBFdmVudEVtaXR0ZXI8QVhWYWx1ZUV2ZW50PERhdGU+PigpO1xyXG5cclxuICBAT3V0cHV0KClcclxuICB2YWx1ZUNoYW5nZTogRXZlbnRFbWl0dGVyPERhdGU+ID0gbmV3IEV2ZW50RW1pdHRlcjxEYXRlPigpO1xyXG5cclxuICBwcml2YXRlIF92YWx1ZTogQVhEYXRlVGltZTtcclxuICBASW5wdXQoKVxyXG4gIHB1YmxpYyBnZXQgdmFsdWUoKTogRGF0ZSB7XHJcbiAgICByZXR1cm4gdGhpcy5fdmFsdWU/LmRhdGU7XHJcbiAgfVxyXG4gIHB1YmxpYyBzZXQgdmFsdWUodjogRGF0ZSkge1xyXG4gICAgbGV0IHZ2OiBBWERhdGVUaW1lO1xyXG4gICAgaWYgKHYpIHtcclxuICAgICAgdnYgPSBBWERhdGVUaW1lLmNvbnZlcnQodik7XHJcbiAgICB9XHJcbiAgICBsZXQgdW5WYWxpZERhdGUgPSBmYWxzZTtcclxuICAgIGlmICh0aGlzLm1heCB8fCB0aGlzLm1pbikge1xyXG4gICAgICB1blZhbGlkRGF0ZSA9IHRoaXMuaXNJbk1Jbk1heFJhbmdlKHZ2KTtcclxuICAgIH1cclxuICAgIGlmICghdW5WYWxpZERhdGUpIHtcclxuICAgICAgaWYgKHZ2ICYmICF2di5lcXVhbCh0aGlzLl92YWx1ZSkpIHtcclxuICAgICAgICB0aGlzLl92YWx1ZSA9IHZ2O1xyXG4gICAgICAgIHRoaXMuX3ZhbHVlLnR5cGUgPSB0aGlzLnR5cGU7XHJcbiAgICAgICAgdGhpcy5zZXRGb2N1cyh0aGlzLl92YWx1ZS5jbG9uZSgpKTtcclxuICAgICAgICB0aGlzLnZhbHVlQ2hhbmdlLmVtaXQodnYuZGF0ZSk7XHJcbiAgICAgICAgdGhpcy5vblZhbHVlQ2hhbmdlZC5lbWl0KHtcclxuICAgICAgICAgIGNvbXBvbmVudDogdGhpcyxcclxuICAgICAgICAgIHZhbHVlOiB0aGlzLl92YWx1ZT8uZGF0ZSxcclxuICAgICAgICAgIGh0bWxFbGVtZW50OiB0aGlzLnJlZi5uYXRpdmVFbGVtZW50XHJcbiAgICAgICAgfSk7XHJcbiAgICAgIH1cclxuICAgICAgaWYgKHYgPT0gdW5kZWZpbmVkKSB7XHJcbiAgICAgICAgdGhpcy5fdmFsdWUgPSBudWxsO1xyXG4gICAgICAgIHRoaXMuZm9jdXNlZFZhbHVlID0gdGhpcy50b2RheTtcclxuICAgICAgICB0aGlzLnZpZXdSYW5nZSA9IHRoaXMudG9kYXkubW9udGgucmFuZ2U7XHJcbiAgICAgICAgdGhpcy5uYXZpZ2F0ZSgwKTtcclxuICAgICAgfVxyXG4gICAgICB0aGlzLm9uQ2xpY2suZW1pdCh7XHJcbiAgICAgICAgY29tcG9uZW50OiB0aGlzLFxyXG4gICAgICAgIHZhbHVlOiB0aGlzLl92YWx1ZT8uZGF0ZSxcclxuICAgICAgICBodG1sRWxlbWVudDogdGhpcy5yZWYubmF0aXZlRWxlbWVudFxyXG4gICAgICB9KTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIGZvY3VzZWRWYWx1ZTogQVhEYXRlVGltZTtcclxuICBnZXQgdG9kYXkoKTogQVhEYXRlVGltZSB7XHJcbiAgICByZXR1cm4gbmV3IEFYRGF0ZVRpbWUobmV3IERhdGUoKSwgdGhpcy50eXBlKTtcclxuICB9XHJcblxyXG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgY2RyOiBDaGFuZ2VEZXRlY3RvclJlZiwgcHJpdmF0ZSByZWY6IEVsZW1lbnRSZWYpIHtcclxuICAgIC8vIHNldCBkZWZhdWx0c1xyXG4gICAgdGhpcy5nZXRIb2xpZGF5ID0gQVhDb25maWcuZ2V0KCdkYXRlVGltZS5ob2xpZGF5cycpO1xyXG4gICAgdGhpcy5nZXRXZWVrZW5kID0gQVhDb25maWcuZ2V0KCdkYXRlVGltZS53ZWVrZW5kcycpO1xyXG4gIH1cclxuICBmaW5kRGF5KGRhdGU6IEFYRGF0ZVRpbWUpIHtcclxuICAgIGlmICh0aGlzLmRheVN0eWxlLmZpbmQoKGMpID0+IGMuZGF0ZSA9PSBkYXRlLnRvSVNPU3RyaW5nKCkuc3BsaXQoJ1QnKVswXSkpIHtcclxuICAgICAgcmV0dXJuIHRydWU7XHJcbiAgICB9IGVsc2Uge1xyXG4gICAgICByZXR1cm4gZmFsc2U7XHJcbiAgICB9XHJcbiAgfVxyXG4gIGdldFN0eWxlKGRhdGU6IEFYRGF0ZVRpbWUpIHtcclxuICAgIGlmICh0aGlzLmRheVN0eWxlLmZpbmQoKGMpID0+IGMuZGF0ZSA9PSBkYXRlLnRvSVNPU3RyaW5nKCkuc3BsaXQoJ1QnKVswXSkpIHtcclxuICAgICAgcmV0dXJuIHRoaXMuZGF5U3R5bGUuZmluZCgoYykgPT4gYy5kYXRlID09IGRhdGUudG9JU09TdHJpbmcoKS5zcGxpdCgnVCcpWzBdKS5zdHlsZTtcclxuICAgIH0gZWxzZSB7XHJcbiAgICAgIHJldHVybiAnJztcclxuICAgIH1cclxuICB9XHJcblxyXG4gIGdldFRpdGxlKGRhdGU6IEFYRGF0ZVRpbWUpIHtcclxuICAgIGlmICh0aGlzLmRheVN0eWxlLmZpbmQoKGMpID0+IGMuZGF0ZSA9PSBkYXRlLnRvSVNPU3RyaW5nKCkuc3BsaXQoJ1QnKVswXSkpIHtcclxuICAgICAgcmV0dXJuIHRoaXMuZGF5U3R5bGUuZmluZCgoYykgPT4gYy5kYXRlID09IGRhdGUudG9JU09TdHJpbmcoKS5zcGxpdCgnVCcpWzBdKS50ZXh0O1xyXG4gICAgfSBlbHNlIHtcclxuICAgICAgcmV0dXJuICcnO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgbmdPbkluaXQoKSB7XHJcbiAgICB0aGlzLmZvY3VzZWRWYWx1ZSA9IG5ldyBBWERhdGVUaW1lKG5ldyBEYXRlKCksIHRoaXMudHlwZSk7XHJcbiAgICAvL1xyXG4gICAgdGhpcy5pbml0TGF5b3V0KCk7XHJcbiAgICAvL1xyXG4gICAgdGhpcy52aWV3UmFuZ2UgPSB0aGlzLnRvZGF5Lm1vbnRoLnJhbmdlO1xyXG4gICAgaWYgKHRoaXMudmFsdWUpIHtcclxuICAgICAgdGhpcy5zZXRGb2N1cyhuZXcgQVhEYXRlVGltZSh0aGlzLnZhbHVlLCB0aGlzLnR5cGUpKTtcclxuICAgIH0gZWxzZSB7XHJcbiAgICAgIHRoaXMuc2V0Rm9jdXModGhpcy50b2RheSk7XHJcbiAgICB9XHJcblxyXG4gICAgdGhpcy52aWV3ID0gJ2RheSc7XHJcbiAgfVxyXG5cclxuICBnZXRWaWV3Q29tcGFpcmUodmlldzogQVhDYWxlbmRhclZpZXdUeXBlKSB7XHJcbiAgICBzd2l0Y2ggKHZpZXcpIHtcclxuICAgICAgY2FzZSAnZGF5JzpcclxuICAgICAgICByZXR1cm4gJ1lNRCc7XHJcbiAgICAgIGNhc2UgJ21vbnRoJzpcclxuICAgICAgICByZXR1cm4gJ1lNJztcclxuICAgICAgY2FzZSAneWVhcic6XHJcbiAgICAgICAgcmV0dXJuICdZJztcclxuICAgIH1cclxuICB9XHJcblxyXG4gIG5nQWZ0ZXJWaWV3SW5pdCgpOiB2b2lkIHtcclxuICAgIHRoaXMubmF2aWdhdGUoMCk7XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIGluaXRMYXlvdXQoKSB7XHJcbiAgICBpZiAoIXRoaXMudHlwZSkge1xyXG4gICAgICB0aGlzLnR5cGUgPSBBWENvbmZpZy5nZXQoJ2RhdGVUaW1lLnR5cGUnKSB8fCAnZ3JlZ29yaWFuJztcclxuICAgIH1cclxuICAgIGlmICghdGhpcy5sb2NhbGUpIHtcclxuICAgICAgdGhpcy5sb2NhbGUgPSB0aGlzLmRbdGhpcy50eXBlXT8ubG9jYWxlIHx8IHRoaXMubG9jYWxlO1xyXG4gICAgfVxyXG4gICAgaWYgKCF0aGlzLmRpcikge1xyXG4gICAgICB0aGlzLmRpciA9IHRoaXMuZFt0aGlzLnR5cGVdPy5kaXIgfHwgJ2x0cic7XHJcbiAgICB9XHJcbiAgICB0aGlzLm51bVJvdGF0ZSA9IHRoaXMuZFt0aGlzLnR5cGVdPy5udW1iZXIgfHwgMDtcclxuICAgIGNvbnN0IHBhdGggPSAnZGF0ZVRpbWUud2Vla2RheXNTaG9ydCc7XHJcbiAgICB0aGlzLndlZWtkYXlzID0gW1xyXG4gICAgICBBWFRyYW5zbGF0b3IuZ2V0KGAke3BhdGh9LnN1bmAsIHRoaXMubG9jYWxlKSxcclxuICAgICAgQVhUcmFuc2xhdG9yLmdldChgJHtwYXRofS5tb25gLCB0aGlzLmxvY2FsZSksXHJcbiAgICAgIEFYVHJhbnNsYXRvci5nZXQoYCR7cGF0aH0udHVlYCwgdGhpcy5sb2NhbGUpLFxyXG4gICAgICBBWFRyYW5zbGF0b3IuZ2V0KGAke3BhdGh9LndlZGAsIHRoaXMubG9jYWxlKSxcclxuICAgICAgQVhUcmFuc2xhdG9yLmdldChgJHtwYXRofS50aHVgLCB0aGlzLmxvY2FsZSksXHJcbiAgICAgIEFYVHJhbnNsYXRvci5nZXQoYCR7cGF0aH0uZnJpYCwgdGhpcy5sb2NhbGUpLFxyXG4gICAgICBBWFRyYW5zbGF0b3IuZ2V0KGAke3BhdGh9LnNhdGAsIHRoaXMubG9jYWxlKVxyXG4gICAgXTtcclxuICB9XHJcblxyXG4gIGdldFRvZGF5TmFtZSgpIHtcclxuICAgIHJldHVybiBBWFRyYW5zbGF0b3IuZ2V0KCdkYXRlVGltZS50b2RheScsIHRoaXMubG9jYWxlKTtcclxuICB9XHJcblxyXG4gIHByZXYoKSB7XHJcbiAgICB0aGlzLm5hdmlnYXRlKC0xKTtcclxuICB9XHJcblxyXG4gIG5leHQoKSB7XHJcbiAgICB0aGlzLm5hdmlnYXRlKDEpO1xyXG4gIH1cclxuXHJcbiAgcm90YXRlKGFycmF5LCBuKSB7XHJcbiAgICBjb25zdCBsZW4gPSBhcnJheS5sZW5ndGg7XHJcbiAgICByZXR1cm4gIShuICUgbGVuKSA/IGFycmF5IDogbiA+IDAgPyBhcnJheS5tYXAoKGUsIGksIGEpID0+IGFbKGkgKyBuKSAlIGxlbl0pIDogYXJyYXkubWFwKChlLCBpLCBhKSA9PiBhWyhsZW4gLSAoKGxlbiAtIGkgLSBuKSAlIGxlbikpICUgbGVuXSk7XHJcbiAgfVxyXG5cclxuICBuYXZpZ2F0ZSh2YWx1ZTogbnVtYmVyIHwgQVhEYXRlVGltZSkge1xyXG4gICAgbGV0IHN0YXJ0OiBBWERhdGVUaW1lO1xyXG4gICAgbGV0IGVuZDogQVhEYXRlVGltZTtcclxuICAgIGlmICh0aGlzLnZpZXcgPT09ICdkYXknKSB7XHJcbiAgICAgIGxldCBmZDogQVhEYXRlVGltZTtcclxuICAgICAgaWYgKHZhbHVlIGluc3RhbmNlb2YgQVhEYXRlVGltZSkge1xyXG4gICAgICAgIGZkID0gdmFsdWUuc3RhcnRPZignbW9udGgnKTtcclxuICAgICAgfSBlbHNlIHtcclxuICAgICAgICBmZCA9IHRoaXMudmlld1JhbmdlLnN0YXJ0VGltZS5hZGQoJ2RheScsIDE1KS5hZGQoJ21vbnRoJywgdmFsdWUpLnN0YXJ0T2YoJ21vbnRoJyk7XHJcbiAgICAgIH1cclxuXHJcbiAgICAgIHN0YXJ0ID0gZmQuZmlyc3REYXlPZldlZWs7XHJcbiAgICAgIGVuZCA9IGZkLmVuZE9mKCdtb250aCcpLmVuZERheU9mV2VlaztcclxuXHJcbiAgICAgIHN0YXJ0ID0gc3RhcnQuYWRkKCdkYXknLCAtdGhpcy5udW1Sb3RhdGUpO1xyXG4gICAgICBlbmQgPSBlbmQuYWRkKCdkYXknLCA3KS5hZGQoJ2RheScsIC10aGlzLm51bVJvdGF0ZSk7XHJcblxyXG4gICAgICAvLyBUT0RPOiBhcHBseSBzdGFydCBvZiB3ZWVrXHJcbiAgICAgIGlmICghdGhpcy5yb3RhdGVkICYmIHRoaXMud2Vla2RheXMubGVuZ3RoID4gMCkge1xyXG4gICAgICAgIGlmICh0aGlzLnR5cGUgPT09ICdqYWxhbGknKSB7XHJcbiAgICAgICAgICB0aGlzLndlZWtkYXlzID0gdGhpcy5yb3RhdGUodGhpcy53ZWVrZGF5cywgLXRoaXMubnVtUm90YXRlKTtcclxuICAgICAgICB9IGVsc2Uge1xyXG4gICAgICAgICAgdGhpcy53ZWVrZGF5cyA9IHRoaXMucm90YXRlKHRoaXMud2Vla2RheXMsIHRoaXMubnVtUm90YXRlKTtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIHRoaXMucm90YXRlZCA9IHRydWU7XHJcbiAgICAgIH1cclxuICAgIH0gZWxzZSBpZiAodGhpcy52aWV3ID09PSAnbW9udGgnKSB7XHJcbiAgICAgIGxldCBmZDogQVhEYXRlVGltZTtcclxuICAgICAgaWYgKHZhbHVlIGluc3RhbmNlb2YgQVhEYXRlVGltZSkge1xyXG4gICAgICAgIGZkID0gdmFsdWUuc3RhcnRPZigneWVhcicpO1xyXG4gICAgICB9IGVsc2Uge1xyXG4gICAgICAgIGZkID0gdGhpcy52aWV3UmFuZ2Uuc3RhcnRUaW1lLmFkZCgnZGF5JywgMTUpLmFkZCgneWVhcicsIHZhbHVlKS5zdGFydE9mKCd5ZWFyJyk7XHJcbiAgICAgIH1cclxuICAgICAgc3RhcnQgPSBmZDtcclxuICAgICAgZW5kID0gZmQuZW5kT2YoJ3llYXInKTtcclxuICAgIH0gZWxzZSBpZiAodGhpcy52aWV3ID09PSAneWVhcicpIHtcclxuICAgICAgbGV0IGZkOiBBWERhdGVUaW1lO1xyXG4gICAgICBpZiAodmFsdWUgaW5zdGFuY2VvZiBBWERhdGVUaW1lKSB7XHJcbiAgICAgICAgZmQgPSB2YWx1ZS5zdGFydE9mKCd5ZWFyJyk7XHJcbiAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgZmQgPSB0aGlzLnZpZXdSYW5nZS5zdGFydFRpbWVcclxuICAgICAgICAgIC5hZGQoJ2RheScsIDE1KVxyXG4gICAgICAgICAgLmFkZCgneWVhcicsIHZhbHVlICogMTApXHJcbiAgICAgICAgICAuc3RhcnRPZigneWVhcicpO1xyXG4gICAgICB9XHJcbiAgICAgIHN0YXJ0ID0gZmQuYWRkKCd5ZWFyJywgLTQpO1xyXG4gICAgICBlbmQgPSBzdGFydC5hZGQoJ3llYXInLCA4KS5lbmRPZigneWVhcicpO1xyXG4gICAgfVxyXG4gICAgdGhpcy52aWV3UmFuZ2UgPSBuZXcgQVhEYXRlVGltZVJhbmdlKHN0YXJ0LCBlbmQpO1xyXG4gICAgLy9cclxuICAgIGlmICh0aGlzLmdldEhvbGlkYXkgJiYgdHlwZW9mIHRoaXMuZ2V0SG9saWRheSA9PT0gJ2Z1bmN0aW9uJykge1xyXG4gICAgICB0aGlzLmhvbGlkYXlzID0gdGhpcy5nZXRIb2xpZGF5KHN0YXJ0LmRhdGUsIGVuZC5kYXRlLCB0aGlzLnR5cGUpO1xyXG4gICAgfVxyXG5cclxuICAgIGlmICh0aGlzLmdldFdlZWtlbmQgJiYgdHlwZW9mIHRoaXMuZ2V0V2Vla2VuZCA9PT0gJ2Z1bmN0aW9uJykge1xyXG4gICAgICB0aGlzLndlZWtlbmRzID0gdGhpcy5nZXRXZWVrZW5kKHN0YXJ0LmRhdGUsIGVuZC5kYXRlLCB0aGlzLnR5cGUpO1xyXG4gICAgfVxyXG5cclxuICAgIC8vXHJcbiAgICBpZiAodGhpcy52aWV3ID09PSAnZGF5Jykge1xyXG4gICAgICB0aGlzLm1hdHJpeCA9IHRoaXMubWF0cml4aWZ5KHRoaXMuYXBwbHlTdHlsZSh0aGlzLnZpZXdSYW5nZS5lbnVtdXJhdGUoJ2RheScsIHRoaXMudHlwZSkpLCA3KTtcclxuICAgICAgaWYgKHRoaXMubWF0cml4Lmxlbmd0aCA+IDAgJiYgdGhpcy5tYXRyaXhbMF0uZmluZCgoYykgPT4gYy5uZXh0TW9udGggPT09IGZhbHNlKSA9PT0gdW5kZWZpbmVkKSB7XHJcbiAgICAgICAgdGhpcy5tYXRyaXguc3BsaWNlKDAsIDEpO1xyXG4gICAgICB9XHJcbiAgICAgIGlmICh0aGlzLm1hdHJpeFt0aGlzLm1hdHJpeC5sZW5ndGggLSAxXS5maW5kKChjKSA9PiBjLm5leHRNb250aCA9PT0gZmFsc2UpID09PSB1bmRlZmluZWQpIHtcclxuICAgICAgICB0aGlzLm1hdHJpeC5zcGxpY2UodGhpcy5tYXRyaXgubGVuZ3RoIC0gMSwgMSk7XHJcbiAgICAgIH1cclxuICAgIH0gZWxzZSBpZiAodGhpcy52aWV3ID09PSAnbW9udGgnKSB7XHJcbiAgICAgIHRoaXMubWF0cml4ID0gdGhpcy5tYXRyaXhpZnkodGhpcy5hcHBseVN0eWxlKHRoaXMudmlld1JhbmdlLmVudW11cmF0ZSgnbW9udGgnLCB0aGlzLnR5cGUpKSwgMyk7XHJcbiAgICB9IGVsc2UgaWYgKHRoaXMudmlldyA9PT0gJ3llYXInKSB7XHJcbiAgICAgIHRoaXMubWF0cml4ID0gdGhpcy5tYXRyaXhpZnkodGhpcy5hcHBseVN0eWxlKHRoaXMudmlld1JhbmdlLmVudW11cmF0ZSgneWVhcicsIHRoaXMudHlwZSkpLCAzKTtcclxuICAgIH1cclxuICAgIHRoaXMuY2RyLmRldGVjdENoYW5nZXMoKTtcclxuICB9XHJcblxyXG4gIHByaXZhdGUgYXBwbHlTdHlsZShkYXRlczogQVhEYXRlVGltZVtdKTogYW55W10ge1xyXG4gICAgY29uc3QgaXRlbXM6IGFueVtdID0gW107XHJcbiAgICBkYXRlcy5mb3JFYWNoKChkLCBpLCBqKSA9PiB7XHJcbiAgICAgIGNvbnN0IGl0ZW06IGFueSA9IHt9O1xyXG4gICAgICBpdGVtLmRhdGUgPSBkO1xyXG5cclxuICAgICAgaXRlbS5zZWxlY3RlZCA9IGQuY29tcGFpcmVOZXcobmV3IEFYRGF0ZVRpbWUodGhpcy52YWx1ZSwgdGhpcy50eXBlKSwgdGhpcy5nZXRWaWV3Q29tcGFpcmUodGhpcy52aWV3KSwgdGhpcy50eXBlKSA9PT0gMDtcclxuICAgICAgaXRlbS5mb2N1c2VkID0gZC5jb21wYWlyZU5ldyh0aGlzLmZvY3VzZWRWYWx1ZSwgdGhpcy5nZXRWaWV3Q29tcGFpcmUodGhpcy52aWV3KSwgdGhpcy50eXBlKSA9PT0gMDtcclxuICAgICAgaXRlbS50b2RheSA9IHRoaXMudG9kYXkgJiYgZC5jb21wYWlyZU5ldyh0aGlzLnRvZGF5LCB0aGlzLmdldFZpZXdDb21wYWlyZSh0aGlzLnZpZXcpLCB0aGlzLnR5cGUpID09PSAwO1xyXG4gICAgICBpZiAodGhpcy52aWV3ID09PSAnZGF5Jykge1xyXG4gICAgICAgIC8vICBpdGVtLm5leHRNb250aCA9IGQuY29tcGFpcmVOZXcodGhpcy52aWV3UmFuZ2Uuc3RhcnRUaW1lLmFkZCgnZGF5JywgMTApLCAnWU0nKSAhPT0gMDtcclxuICAgICAgICBpdGVtLm5leHRNb250aCA9IGQuY29tcGFpcmVOZXcodGhpcy52aWV3UmFuZ2Uuc3RhcnRUaW1lLmFkZCgnZGF5JywgMTApLCAnWU0nLCB0aGlzLnR5cGUpICE9PSAwO1xyXG5cclxuICAgICAgICBpdGVtLnVuc2VsZWN0ID0gdGhpcy5pc0luTUluTWF4UmFuZ2UoZCk7XHJcbiAgICAgICAgdGhpcy5ob2xpZGF5cy5mb3JFYWNoKChoKSA9PiB7XHJcbiAgICAgICAgICBjb25zdCBjb21wID0gZC5jb21wYWlyZU5ldyhuZXcgQVhEYXRlVGltZShoLmRhdGUsIHRoaXMudHlwZSksICdZTUQnLCB0aGlzLnR5cGUpO1xyXG4gICAgICAgICAgaWYgKGNvbXAgPT09IDApIHtcclxuICAgICAgICAgICAgaXRlbS5ob2xpZGF5ID0gdHJ1ZTtcclxuICAgICAgICAgICAgaWYgKHRoaXMuc2VsZWN0YWJsZUhvbGlkYXkgPT09IGZhbHNlKSB7XHJcbiAgICAgICAgICAgICAgaXRlbS51bnNlbGVjdCA9IHRydWU7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgIH1cclxuICAgICAgICB9KTtcclxuXHJcbiAgICAgICAgY29uc3QgaW5kZXhEYXkgPSBpIC0gTWF0aC5mbG9vcihpIC8gNykgKiA3O1xyXG4gICAgICAgIHRoaXMud2Vla2VuZHMuZm9yRWFjaCgoY2MpID0+IHtcclxuICAgICAgICAgIGlmIChOdW1iZXIoY2MpID09PSBpbmRleERheSkge1xyXG4gICAgICAgICAgICBpdGVtLmhvbGlkYXkgPSB0cnVlO1xyXG4gICAgICAgICAgICBpZiAodGhpcy5zZWxlY3RhYmxlSG9saWRheSA9PT0gZmFsc2UpIHtcclxuICAgICAgICAgICAgICBpdGVtLnVuc2VsZWN0ID0gdHJ1ZTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgfVxyXG4gICAgICAgIH0pO1xyXG4gICAgICB9XHJcbiAgICAgIGl0ZW1zLnB1c2goaXRlbSk7XHJcbiAgICB9KTtcclxuICAgIHJldHVybiBpdGVtcztcclxuICB9XHJcblxyXG4gIGNoYW5nZVZpZXcoKSB7XHJcbiAgICBpZiAodGhpcy52aWV3ID09PSAnZGF5Jykge1xyXG4gICAgICB0aGlzLnZpZXcgPSAnbW9udGgnO1xyXG4gICAgfSBlbHNlIGlmICh0aGlzLnZpZXcgPT09ICdtb250aCcpIHtcclxuICAgICAgdGhpcy52aWV3ID0gJ3llYXInO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgbWF0cml4aWZ5KGFycjogYW55W10sIGNvbHMpIHtcclxuICAgIGNvbnN0IHJvd3MgPSBNYXRoLmNlaWwoYXJyLmxlbmd0aCAvIGNvbHMpO1xyXG4gICAgY29uc3QgbWF0cml4ID0gW107XHJcbiAgICBpZiAocm93cyAqIGNvbHMgPT09IGFyci5sZW5ndGgpIHtcclxuICAgICAgZm9yIChsZXQgaSA9IDA7IGkgPCBhcnIubGVuZ3RoOyBpICs9IGNvbHMpIHtcclxuICAgICAgICBtYXRyaXgucHVzaChhcnIuc2xpY2UoaSwgY29scyArIGkpKTtcclxuICAgICAgfVxyXG4gICAgfVxyXG4gICAgcmV0dXJuIG1hdHJpeDtcclxuICB9XHJcblxyXG4gIHNldERheUNsaWNrKGV2ZW50OiBNb3VzZUV2ZW50LCBpdGVtKSB7XHJcbiAgICBpZiAoaXRlbS51bnNlbGVjdCAhPT0gdHJ1ZSkge1xyXG4gICAgICB0aGlzLnZhbHVlID0gaXRlbS5kYXRlLmRhdGU7XHJcbiAgICB9XHJcblxyXG4gICAgZXZlbnQuc3RvcFByb3BhZ2F0aW9uKCk7XHJcbiAgfVxyXG5cclxuICBpc0luTUluTWF4UmFuZ2UoZCkge1xyXG4gICAgbGV0IHIgPSBmYWxzZTtcclxuICAgIGlmIChkICE9PSB1bmRlZmluZWQpIHtcclxuICAgICAgaWYgKHRoaXMubWluICYmICF0aGlzLm1heCkge1xyXG4gICAgICAgIHIgPSBkLmNvbXBhaXJlTmV3KG5ldyBBWERhdGVUaW1lKHRoaXMubWluLCB0aGlzLnR5cGUpLCB0aGlzLmdldFZpZXdDb21wYWlyZSh0aGlzLnZpZXcpLCB0aGlzLnR5cGUpID09PSAtMTtcclxuICAgICAgfVxyXG4gICAgICBpZiAodGhpcy5tYXggJiYgIXRoaXMubWluKSB7XHJcbiAgICAgICAgciA9IGQuY29tcGFpcmVOZXcobmV3IEFYRGF0ZVRpbWUodGhpcy5tYXgsIHRoaXMudHlwZSksIHRoaXMuZ2V0Vmlld0NvbXBhaXJlKHRoaXMudmlldyksIHRoaXMudHlwZSkgPT09IDE7XHJcbiAgICAgIH1cclxuICAgICAgaWYgKHRoaXMubWluICYmIHRoaXMubWF4KSB7XHJcbiAgICAgICAgciA9XHJcbiAgICAgICAgICBkLmNvbXBhaXJlTmV3KG5ldyBBWERhdGVUaW1lKHRoaXMubWluLCB0aGlzLnR5cGUpLCB0aGlzLmdldFZpZXdDb21wYWlyZSh0aGlzLnZpZXcpLCB0aGlzLnR5cGUpID09PSAtMSB8fFxyXG4gICAgICAgICAgZC5jb21wYWlyZU5ldyhuZXcgQVhEYXRlVGltZSh0aGlzLm1heCwgdGhpcy50eXBlKSwgdGhpcy5nZXRWaWV3Q29tcGFpcmUodGhpcy52aWV3KSwgdGhpcy50eXBlKSA9PT0gMTtcclxuICAgICAgfVxyXG4gICAgfVxyXG4gICAgcmV0dXJuIHI7XHJcbiAgfVxyXG5cclxuICBzZXRNb250aENsaWNrKGV2ZW50OiBNb3VzZUV2ZW50LCBkYXRlOiBBWERhdGVUaW1lKSB7XHJcbiAgICBpZiAodGhpcy5kZXB0aCA9PT0gJ21vbnRoJykge1xyXG4gICAgICB0aGlzLnZhbHVlID0gZGF0ZS5kYXRlO1xyXG4gICAgfSBlbHNlIHtcclxuICAgICAgdGhpcy52aWV3ID0gJ2RheSc7XHJcbiAgICAgIHRoaXMuc2V0Rm9jdXMobmV3IEFYRGF0ZVRpbWUodGhpcy52YWx1ZSwgdGhpcy50eXBlKS5zZXQoJ3llYXInLCBkYXRlLnllYXIpLnNldCgnbW9udGgnLCBkYXRlLm1vbnRoT2ZZZWFyKSk7XHJcbiAgICB9XHJcbiAgICBldmVudC5zdG9wUHJvcGFnYXRpb24oKTtcclxuICB9XHJcblxyXG4gIHNldFllYXJDbGljayhldmVudDogTW91c2VFdmVudCwgZGF0ZTogQVhEYXRlVGltZSkge1xyXG4gICAgaWYgKHRoaXMuZGVwdGggPT09ICd5ZWFyJykge1xyXG4gICAgICB0aGlzLnZhbHVlID0gZGF0ZS5kYXRlO1xyXG4gICAgfSBlbHNlIHtcclxuICAgICAgdGhpcy52aWV3ID0gJ21vbnRoJztcclxuICAgICAgdGhpcy5zZXRGb2N1cyhuZXcgQVhEYXRlVGltZSh0aGlzLnZhbHVlLCB0aGlzLnR5cGUpLnNldCgneWVhcicsIGRhdGUueWVhcikpO1xyXG4gICAgfVxyXG4gICAgZXZlbnQuc3RvcFByb3BhZ2F0aW9uKCk7XHJcbiAgfVxyXG5cclxuICBzZXRGb2N1cyhkYXRlOiBBWERhdGVUaW1lKSB7XHJcbiAgICB0aGlzLmZvY3VzZWRWYWx1ZSA9IGRhdGU7XHJcbiAgICB0aGlzLm5hdmlnYXRlKHRoaXMuZm9jdXNlZFZhbHVlKTtcclxuICB9XHJcblxyXG4gIHNldFRvZGF5KCkge1xyXG4gICAgdGhpcy52YWx1ZSA9IHRoaXMudG9kYXkuZGF0ZTtcclxuICAgIHRoaXMudmlldyA9ICdkYXknO1xyXG4gIH1cclxuXHJcbiAgdHJhY2tCeUZuKGluZGV4LCBpdGVtOiBhbnkpIHtcclxuICAgIHJldHVybiBpdGVtLmRhdGUuZGF0ZS5nZXRUaW1lKCk7XHJcbiAgfVxyXG59XHJcbiJdfQ==
@@ -27,7 +27,7 @@ let AXCheckBoxComponent = class AXCheckBoxComponent extends AXBaseComponent {
27
27
  return this._value;
28
28
  }
29
29
  set value(v) {
30
- if (v != this._value && v != undefined) {
30
+ if (v != this._value || v !== undefined) {
31
31
  const old = this._value;
32
32
  this._value = v;
33
33
  this.valueChange.emit(v);
@@ -49,15 +49,20 @@ let AXCheckBoxComponent = class AXCheckBoxComponent extends AXBaseComponent {
49
49
  }
50
50
  }
51
51
  handleClick(e) {
52
- if (!this.disabled && !this.readonly) {
53
- //TODO: check intermddiate;
54
- this.onClick.emit({
55
- component: this,
56
- htmlElement: this.ref.nativeElement,
57
- htmlEvent: e,
58
- value: this.value
59
- });
60
- }
52
+ // e.preventDefault();
53
+ // e.stopPropagation();
54
+ setTimeout(() => {
55
+ if (!this.disabled && !this.readonly) {
56
+ //TODO: check intermddiate;
57
+ // this.value = !this.value;
58
+ this.onClick.emit({
59
+ component: this,
60
+ htmlElement: this.ref.nativeElement,
61
+ htmlEvent: e,
62
+ value: this.value
63
+ });
64
+ }
65
+ }, 100);
61
66
  }
62
67
  };
63
68
  AXCheckBoxComponent.ctorParameters = () => [
@@ -119,4 +124,4 @@ AXCheckBoxComponent = __decorate([
119
124
  __metadata("design:paramtypes", [ChangeDetectorRef, ElementRef])
120
125
  ], AXCheckBoxComponent);
121
126
  export { AXCheckBoxComponent };
122
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2hlY2tib3guY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6Im5nOi8vQGFjb3JleC9jb21wb25lbnRzLyIsInNvdXJjZXMiOlsibGliL2NoZWNrYm94L2NoZWNrYm94LmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUEsT0FBTyxFQUNMLFNBQVMsRUFDVCxpQkFBaUIsRUFDakIsTUFBTSxFQUNOLFlBQVksRUFDWixLQUFLLEVBQ0wsdUJBQXVCLEVBQ3ZCLGlCQUFpQixFQUNqQixTQUFTLEVBQ1QsVUFBVSxFQUNYLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFBRSxlQUFlLEVBQStELE1BQU0sdUJBQXVCLENBQUM7QUFDckgsT0FBTyxFQUFnQixXQUFXLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQztBQUVqRSxNQUFNLE9BQU8sbUJBQW9CLFNBQVEsV0FBdUI7Q0FFL0Q7QUFRRCxJQUFhLG1CQUFtQixHQUFoQyxNQUFhLG1CQUFvQixTQUFRLGVBQWU7SUFzQnRELFlBQXNCLEdBQXNCLEVBQVUsR0FBZTtRQUNuRSxLQUFLLEVBQUUsQ0FBQztRQURZLFFBQUcsR0FBSCxHQUFHLENBQW1CO1FBQVUsUUFBRyxHQUFILEdBQUcsQ0FBWTtRQWxCckUsYUFBUSxHQUFZLEtBQUssQ0FBQztRQUcxQixhQUFRLEdBQVksS0FBSyxDQUFDO1FBRzFCLFNBQUksR0FBa0IsSUFBSSxDQUFDO1FBRzNCLFVBQUssR0FBVyxFQUFFLENBQUM7UUFHbkIsYUFBUSxHQUFXLENBQUMsQ0FBQztRQUdyQixrQkFBYSxHQUFZLEtBQUssQ0FBQztRQU0vQixRQUFRO1FBRVIsbUJBQWMsR0FBd0MsSUFBSSxZQUFZLEVBQXlCLENBQUM7UUFFaEcsZ0JBQVcsR0FBMEIsSUFBSSxZQUFZLEVBQVcsQ0FBQztRQUNqRSxFQUFFO1FBRUYsWUFBTyxHQUFzQyxJQUFJLFlBQVksRUFBdUIsQ0FBQztRQUU3RSxXQUFNLEdBQWEsS0FBSyxDQUFDO0lBVmpDLENBQUM7SUFIRCxLQUFLLEtBQVUsQ0FBQztJQWNoQixJQUFXLEtBQUs7UUFDZCxPQUFPLElBQUksQ0FBQyxNQUFNLENBQUM7SUFDckIsQ0FBQztJQUdELElBQVcsS0FBSyxDQUFDLENBQVU7UUFDekIsSUFBSSxDQUFDLElBQUksSUFBSSxDQUFDLE1BQU0sSUFBSSxDQUFDLElBQUksU0FBUyxFQUFFO1lBQ3RDLE1BQU0sR0FBRyxHQUFHLElBQUksQ0FBQyxNQUFNLENBQUM7WUFDeEIsSUFBSSxDQUFDLE1BQU0sR0FBRyxDQUFDLENBQUM7WUFDaEIsSUFBSSxDQUFDLFdBQVcsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUM7WUFDekIsSUFBSSxDQUFDLGNBQWMsQ0FBQyxJQUFJLENBQUM7Z0JBQ3ZCLFNBQVMsRUFBRSxJQUFJO2dCQUNmLEtBQUssRUFBRSxDQUFDO2dCQUNSLFFBQVEsRUFBRSxHQUFHO2dCQUNiLFdBQVcsRUFBRSxJQUFJLENBQUMsR0FBRyxDQUFDLGFBQWE7YUFDcEMsQ0FBQyxDQUFDO1NBQ0o7SUFDSCxDQUFDO0lBRUQsb0JBQW9CO0lBQ3BCLGtDQUFrQztJQUNsQyxzQkFBc0I7SUFDdEIsSUFBSTtJQUVKLFFBQVE7UUFDTixJQUFJLENBQUMsSUFBSSxDQUFDLGFBQWEsSUFBSSxJQUFJLENBQUMsS0FBSyxJQUFJLElBQUksRUFBRTtZQUM3QyxJQUFJLENBQUMsS0FBSyxHQUFHLEtBQUssQ0FBQztTQUNwQjtJQUNILENBQUM7SUFFRCxXQUFXLENBQUMsQ0FBYTtRQUN2QixJQUFJLENBQUMsSUFBSSxDQUFDLFFBQVEsSUFBSSxDQUFDLElBQUksQ0FBQyxRQUFRLEVBQUU7WUFDcEMsMkJBQTJCO1lBQzNCLElBQUksQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDO2dCQUNoQixTQUFTLEVBQUUsSUFBSTtnQkFDZixXQUFXLEVBQUUsSUFBSSxDQUFDLEdBQUcsQ0FBQyxhQUFhO2dCQUNuQyxTQUFTLEVBQUUsQ0FBQztnQkFDWixLQUFLLEVBQUUsSUFBSSxDQUFDLEtBQUs7YUFDbEIsQ0FBQyxDQUFDO1NBQ0o7SUFDSCxDQUFDO0NBQ0YsQ0FBQTs7WUF0RDRCLGlCQUFpQjtZQUFlLFVBQVU7O0FBckIvQjtJQUFyQyxTQUFTLENBQUMsT0FBTyxFQUFFLEVBQUUsTUFBTSxFQUFFLElBQUksRUFBRSxDQUFDOzhCQUFRLFVBQVU7a0RBQW1CO0FBRzFFO0lBREMsS0FBSyxFQUFFOztxREFDa0I7QUFHMUI7SUFEQyxLQUFLLEVBQUU7O3FEQUNrQjtBQUcxQjtJQURDLEtBQUssRUFBRTs7aURBQ21CO0FBRzNCO0lBREMsS0FBSyxFQUFFOztrREFDVztBQUduQjtJQURDLEtBQUssRUFBRTs7cURBQ2E7QUFHckI7SUFEQyxLQUFLLEVBQUU7OzBEQUN1QjtBQVEvQjtJQURDLE1BQU0sRUFBRTs4QkFDTyxZQUFZOzJEQUFvRTtBQUVoRztJQURDLE1BQU0sRUFBRTs4QkFDSSxZQUFZO3dEQUF3QztBQUdqRTtJQURDLE1BQU0sRUFBRTs4QkFDQSxZQUFZO29EQUFnRTtBQVFyRjtJQURDLEtBQUssRUFBRTs7O2dEQWFQO0FBcERVLG1CQUFtQjtJQU4vQixTQUFTLENBQUM7UUFDVCxRQUFRLEVBQUUsY0FBYztRQUN4Qix5MUJBQXdDO1FBQ3hDLGFBQWEsRUFBRSxpQkFBaUIsQ0FBQyxJQUFJO1FBQ3JDLGVBQWUsRUFBRSx1QkFBdUIsQ0FBQyxNQUFNO0tBQ2hELENBQUM7cUNBdUIyQixpQkFBaUIsRUFBZSxVQUFVO0dBdEIxRCxtQkFBbUIsQ0E0RS9CO1NBNUVZLG1CQUFtQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XHJcbiAgQ29tcG9uZW50LFxyXG4gIFZpZXdFbmNhcHN1bGF0aW9uLFxyXG4gIE91dHB1dCxcclxuICBFdmVudEVtaXR0ZXIsXHJcbiAgSW5wdXQsXHJcbiAgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksXHJcbiAgQ2hhbmdlRGV0ZWN0b3JSZWYsXHJcbiAgVmlld0NoaWxkLFxyXG4gIEVsZW1lbnRSZWZcclxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgQVhCYXNlQ29tcG9uZW50LCBBWEJhc2VTaXphYmxlQ29tcG9uZW50LCBBWEJhc2VWYWx1ZUNvbXBvbmVudCwgQVhFbGVtZW50U2l6ZSB9IGZyb20gJy4uL2Jhc2UvZWxlbWVudC5jbGFzcyc7XHJcbmltcG9ydCB7IEFYVmFsdWVFdmVudCwgQVhIdG1sRXZlbnQgfSBmcm9tICcuLi9iYXNlL2V2ZW50cy5jbGFzcyc7XHJcblxyXG5leHBvcnQgY2xhc3MgQVhDaGVja0JveEl0ZW1DbGljayBleHRlbmRzIEFYSHRtbEV2ZW50PE1vdXNlRXZlbnQ+IHtcclxuICB2YWx1ZT86IGJvb2xlYW47XHJcbn1cclxuXHJcbkBDb21wb25lbnQoe1xyXG4gIHNlbGVjdG9yOiAnYXgtY2hlY2stYm94JyxcclxuICB0ZW1wbGF0ZVVybDogJy4vY2hlY2tib3guY29tcG9uZW50Lmh0bWwnLFxyXG4gIGVuY2Fwc3VsYXRpb246IFZpZXdFbmNhcHN1bGF0aW9uLk5vbmUsXHJcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2hcclxufSlcclxuZXhwb3J0IGNsYXNzIEFYQ2hlY2tCb3hDb21wb25lbnQgZXh0ZW5kcyBBWEJhc2VDb21wb25lbnQgaW1wbGVtZW50cyBBWEJhc2VTaXphYmxlQ29tcG9uZW50LCBBWEJhc2VWYWx1ZUNvbXBvbmVudDxib29sZWFuPiB7XHJcbiAgQFZpZXdDaGlsZCgnaW5wdXQnLCB7IHN0YXRpYzogdHJ1ZSB9KSBpbnB1dDogRWxlbWVudFJlZjxIVE1MSW5wdXRFbGVtZW50PjtcclxuXHJcbiAgQElucHV0KClcclxuICByZWFkb25seTogYm9vbGVhbiA9IGZhbHNlO1xyXG5cclxuICBASW5wdXQoKVxyXG4gIGRpc2FibGVkOiBib29sZWFuID0gZmFsc2U7XHJcblxyXG4gIEBJbnB1dCgpXHJcbiAgc2l6ZTogQVhFbGVtZW50U2l6ZSA9ICdtZCc7XHJcblxyXG4gIEBJbnB1dCgpXHJcbiAgbGFiZWw6IHN0cmluZyA9ICcnO1xyXG5cclxuICBASW5wdXQoKVxyXG4gIHRhYkluZGV4OiBudW1iZXIgPSAwO1xyXG5cclxuICBASW5wdXQoKVxyXG4gIGluZGV0ZXJtaW5hdGU6IGJvb2xlYW4gPSBmYWxzZTtcclxuXHJcbiAgZm9jdXMoKTogdm9pZCB7fVxyXG4gIGNvbnN0cnVjdG9yKHByb3RlY3RlZCBjZHI6IENoYW5nZURldGVjdG9yUmVmLCBwcml2YXRlIHJlZjogRWxlbWVudFJlZikge1xyXG4gICAgc3VwZXIoKTtcclxuICB9XHJcbiAgLy8gVmFsdWVcclxuICBAT3V0cHV0KClcclxuICBvblZhbHVlQ2hhbmdlZDogRXZlbnRFbWl0dGVyPEFYVmFsdWVFdmVudDxib29sZWFuPj4gPSBuZXcgRXZlbnRFbWl0dGVyPEFYVmFsdWVFdmVudDxib29sZWFuPj4oKTtcclxuICBAT3V0cHV0KClcclxuICB2YWx1ZUNoYW5nZTogRXZlbnRFbWl0dGVyPGJvb2xlYW4+ID0gbmV3IEV2ZW50RW1pdHRlcjxib29sZWFuPigpO1xyXG4gIC8vXHJcbiAgQE91dHB1dCgpXHJcbiAgb25DbGljazogRXZlbnRFbWl0dGVyPEFYQ2hlY2tCb3hJdGVtQ2xpY2s+ID0gbmV3IEV2ZW50RW1pdHRlcjxBWENoZWNrQm94SXRlbUNsaWNrPigpO1xyXG5cclxuICBwcml2YXRlIF92YWx1ZT86IGJvb2xlYW4gPSBmYWxzZTtcclxuICBwdWJsaWMgZ2V0IHZhbHVlKCk6IGJvb2xlYW4ge1xyXG4gICAgcmV0dXJuIHRoaXMuX3ZhbHVlO1xyXG4gIH1cclxuXHJcbiAgQElucHV0KClcclxuICBwdWJsaWMgc2V0IHZhbHVlKHY6IGJvb2xlYW4pIHtcclxuICAgIGlmICh2ICE9IHRoaXMuX3ZhbHVlICYmIHYgIT0gdW5kZWZpbmVkKSB7XHJcbiAgICAgIGNvbnN0IG9sZCA9IHRoaXMuX3ZhbHVlO1xyXG4gICAgICB0aGlzLl92YWx1ZSA9IHY7XHJcbiAgICAgIHRoaXMudmFsdWVDaGFuZ2UuZW1pdCh2KTtcclxuICAgICAgdGhpcy5vblZhbHVlQ2hhbmdlZC5lbWl0KHtcclxuICAgICAgICBjb21wb25lbnQ6IHRoaXMsXHJcbiAgICAgICAgdmFsdWU6IHYsXHJcbiAgICAgICAgb2xkVmFsdWU6IG9sZCxcclxuICAgICAgICBodG1sRWxlbWVudDogdGhpcy5yZWYubmF0aXZlRWxlbWVudFxyXG4gICAgICB9KTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIC8vIGhhbmRlbENoYW5nZShlKSB7XHJcbiAgLy8gICBjb25zdCB2YWwgPSBlLnRhcmdldC5jaGVja2VkO1xyXG4gIC8vICAgdGhpcy52YWx1ZSA9IHZhbDtcclxuICAvLyB9XHJcblxyXG4gIG5nT25Jbml0KCk6IHZvaWQge1xyXG4gICAgaWYgKCF0aGlzLmluZGV0ZXJtaW5hdGUgJiYgdGhpcy52YWx1ZSA9PSBudWxsKSB7XHJcbiAgICAgIHRoaXMudmFsdWUgPSBmYWxzZTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIGhhbmRsZUNsaWNrKGU6IE1vdXNlRXZlbnQpIHtcclxuICAgIGlmICghdGhpcy5kaXNhYmxlZCAmJiAhdGhpcy5yZWFkb25seSkge1xyXG4gICAgICAvL1RPRE86IGNoZWNrIGludGVybWRkaWF0ZTtcclxuICAgICAgdGhpcy5vbkNsaWNrLmVtaXQoe1xyXG4gICAgICAgIGNvbXBvbmVudDogdGhpcyxcclxuICAgICAgICBodG1sRWxlbWVudDogdGhpcy5yZWYubmF0aXZlRWxlbWVudCxcclxuICAgICAgICBodG1sRXZlbnQ6IGUsXHJcbiAgICAgICAgdmFsdWU6IHRoaXMudmFsdWVcclxuICAgICAgfSk7XHJcbiAgICB9XHJcbiAgfVxyXG59XHJcbiJdfQ==
127
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2hlY2tib3guY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6Im5nOi8vQGFjb3JleC9jb21wb25lbnRzLyIsInNvdXJjZXMiOlsibGliL2NoZWNrYm94L2NoZWNrYm94LmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUEsT0FBTyxFQUNMLFNBQVMsRUFDVCxpQkFBaUIsRUFDakIsTUFBTSxFQUNOLFlBQVksRUFDWixLQUFLLEVBQ0wsdUJBQXVCLEVBQ3ZCLGlCQUFpQixFQUNqQixTQUFTLEVBQ1QsVUFBVSxFQUNYLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFBRSxlQUFlLEVBQStELE1BQU0sdUJBQXVCLENBQUM7QUFDckgsT0FBTyxFQUFnQixXQUFXLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQztBQUVqRSxNQUFNLE9BQU8sbUJBQW9CLFNBQVEsV0FBdUI7Q0FFL0Q7QUFRRCxJQUFhLG1CQUFtQixHQUFoQyxNQUFhLG1CQUFvQixTQUFRLGVBQWU7SUFzQnRELFlBQXNCLEdBQXNCLEVBQVUsR0FBZTtRQUNuRSxLQUFLLEVBQUUsQ0FBQztRQURZLFFBQUcsR0FBSCxHQUFHLENBQW1CO1FBQVUsUUFBRyxHQUFILEdBQUcsQ0FBWTtRQWxCckUsYUFBUSxHQUFZLEtBQUssQ0FBQztRQUcxQixhQUFRLEdBQVksS0FBSyxDQUFDO1FBRzFCLFNBQUksR0FBa0IsSUFBSSxDQUFDO1FBRzNCLFVBQUssR0FBVyxFQUFFLENBQUM7UUFHbkIsYUFBUSxHQUFXLENBQUMsQ0FBQztRQUdyQixrQkFBYSxHQUFZLEtBQUssQ0FBQztRQU0vQixRQUFRO1FBRVIsbUJBQWMsR0FBd0MsSUFBSSxZQUFZLEVBQXlCLENBQUM7UUFFaEcsZ0JBQVcsR0FBMEIsSUFBSSxZQUFZLEVBQVcsQ0FBQztRQUNqRSxFQUFFO1FBRUYsWUFBTyxHQUFzQyxJQUFJLFlBQVksRUFBdUIsQ0FBQztRQUU3RSxXQUFNLEdBQWEsS0FBSyxDQUFDO0lBVmpDLENBQUM7SUFIRCxLQUFLLEtBQVUsQ0FBQztJQWNoQixJQUFXLEtBQUs7UUFDZCxPQUFPLElBQUksQ0FBQyxNQUFNLENBQUM7SUFDckIsQ0FBQztJQUdELElBQVcsS0FBSyxDQUFDLENBQVU7UUFDekIsSUFBSSxDQUFDLElBQUksSUFBSSxDQUFDLE1BQU0sSUFBSSxDQUFDLEtBQUssU0FBUyxFQUFFO1lBQ3ZDLE1BQU0sR0FBRyxHQUFHLElBQUksQ0FBQyxNQUFNLENBQUM7WUFDeEIsSUFBSSxDQUFDLE1BQU0sR0FBRyxDQUFDLENBQUM7WUFDaEIsSUFBSSxDQUFDLFdBQVcsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUM7WUFDekIsSUFBSSxDQUFDLGNBQWMsQ0FBQyxJQUFJLENBQUM7Z0JBQ3ZCLFNBQVMsRUFBRSxJQUFJO2dCQUNmLEtBQUssRUFBRSxDQUFDO2dCQUNSLFFBQVEsRUFBRSxHQUFHO2dCQUNiLFdBQVcsRUFBRSxJQUFJLENBQUMsR0FBRyxDQUFDLGFBQWE7YUFDcEMsQ0FBQyxDQUFDO1NBQ0o7SUFDSCxDQUFDO0lBRUQsb0JBQW9CO0lBQ3BCLGtDQUFrQztJQUNsQyxzQkFBc0I7SUFDdEIsSUFBSTtJQUVKLFFBQVE7UUFDTixJQUFJLENBQUMsSUFBSSxDQUFDLGFBQWEsSUFBSSxJQUFJLENBQUMsS0FBSyxJQUFJLElBQUksRUFBRTtZQUM3QyxJQUFJLENBQUMsS0FBSyxHQUFHLEtBQUssQ0FBQztTQUNwQjtJQUNILENBQUM7SUFFRCxXQUFXLENBQUMsQ0FBYTtRQUN2QixzQkFBc0I7UUFDdEIsdUJBQXVCO1FBQ3ZCLFVBQVUsQ0FBQyxHQUFHLEVBQUU7WUFDZCxJQUFJLENBQUMsSUFBSSxDQUFDLFFBQVEsSUFBSSxDQUFDLElBQUksQ0FBQyxRQUFRLEVBQUU7Z0JBQ3BDLDJCQUEyQjtnQkFDM0IsNEJBQTRCO2dCQUM1QixJQUFJLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQztvQkFDaEIsU0FBUyxFQUFFLElBQUk7b0JBQ2YsV0FBVyxFQUFFLElBQUksQ0FBQyxHQUFHLENBQUMsYUFBYTtvQkFDbkMsU0FBUyxFQUFFLENBQUM7b0JBQ1osS0FBSyxFQUFFLElBQUksQ0FBQyxLQUFLO2lCQUNsQixDQUFDLENBQUM7YUFDSjtRQUNILENBQUMsRUFBRSxHQUFHLENBQUMsQ0FBQztJQUNWLENBQUM7Q0FDRixDQUFBOztZQTNENEIsaUJBQWlCO1lBQWUsVUFBVTs7QUFyQi9CO0lBQXJDLFNBQVMsQ0FBQyxPQUFPLEVBQUUsRUFBRSxNQUFNLEVBQUUsSUFBSSxFQUFFLENBQUM7OEJBQVEsVUFBVTtrREFBbUI7QUFHMUU7SUFEQyxLQUFLLEVBQUU7O3FEQUNrQjtBQUcxQjtJQURDLEtBQUssRUFBRTs7cURBQ2tCO0FBRzFCO0lBREMsS0FBSyxFQUFFOztpREFDbUI7QUFHM0I7SUFEQyxLQUFLLEVBQUU7O2tEQUNXO0FBR25CO0lBREMsS0FBSyxFQUFFOztxREFDYTtBQUdyQjtJQURDLEtBQUssRUFBRTs7MERBQ3VCO0FBUS9CO0lBREMsTUFBTSxFQUFFOzhCQUNPLFlBQVk7MkRBQW9FO0FBRWhHO0lBREMsTUFBTSxFQUFFOzhCQUNJLFlBQVk7d0RBQXdDO0FBR2pFO0lBREMsTUFBTSxFQUFFOzhCQUNBLFlBQVk7b0RBQWdFO0FBUXJGO0lBREMsS0FBSyxFQUFFOzs7Z0RBYVA7QUFwRFUsbUJBQW1CO0lBTi9CLFNBQVMsQ0FBQztRQUNULFFBQVEsRUFBRSxjQUFjO1FBQ3hCLHkxQkFBd0M7UUFDeEMsYUFBYSxFQUFFLGlCQUFpQixDQUFDLElBQUk7UUFDckMsZUFBZSxFQUFFLHVCQUF1QixDQUFDLE1BQU07S0FDaEQsQ0FBQztxQ0F1QjJCLGlCQUFpQixFQUFlLFVBQVU7R0F0QjFELG1CQUFtQixDQWlGL0I7U0FqRlksbUJBQW1CIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcclxuICBDb21wb25lbnQsXHJcbiAgVmlld0VuY2Fwc3VsYXRpb24sXHJcbiAgT3V0cHV0LFxyXG4gIEV2ZW50RW1pdHRlcixcclxuICBJbnB1dCxcclxuICBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSxcclxuICBDaGFuZ2VEZXRlY3RvclJlZixcclxuICBWaWV3Q2hpbGQsXHJcbiAgRWxlbWVudFJlZlxyXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBBWEJhc2VDb21wb25lbnQsIEFYQmFzZVNpemFibGVDb21wb25lbnQsIEFYQmFzZVZhbHVlQ29tcG9uZW50LCBBWEVsZW1lbnRTaXplIH0gZnJvbSAnLi4vYmFzZS9lbGVtZW50LmNsYXNzJztcclxuaW1wb3J0IHsgQVhWYWx1ZUV2ZW50LCBBWEh0bWxFdmVudCB9IGZyb20gJy4uL2Jhc2UvZXZlbnRzLmNsYXNzJztcclxuXHJcbmV4cG9ydCBjbGFzcyBBWENoZWNrQm94SXRlbUNsaWNrIGV4dGVuZHMgQVhIdG1sRXZlbnQ8TW91c2VFdmVudD4ge1xyXG4gIHZhbHVlPzogYm9vbGVhbjtcclxufVxyXG5cclxuQENvbXBvbmVudCh7XHJcbiAgc2VsZWN0b3I6ICdheC1jaGVjay1ib3gnLFxyXG4gIHRlbXBsYXRlVXJsOiAnLi9jaGVja2JveC5jb21wb25lbnQuaHRtbCcsXHJcbiAgZW5jYXBzdWxhdGlvbjogVmlld0VuY2Fwc3VsYXRpb24uTm9uZSxcclxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaFxyXG59KVxyXG5leHBvcnQgY2xhc3MgQVhDaGVja0JveENvbXBvbmVudCBleHRlbmRzIEFYQmFzZUNvbXBvbmVudCBpbXBsZW1lbnRzIEFYQmFzZVNpemFibGVDb21wb25lbnQsIEFYQmFzZVZhbHVlQ29tcG9uZW50PGJvb2xlYW4+IHtcclxuICBAVmlld0NoaWxkKCdpbnB1dCcsIHsgc3RhdGljOiB0cnVlIH0pIGlucHV0OiBFbGVtZW50UmVmPEhUTUxJbnB1dEVsZW1lbnQ+O1xyXG5cclxuICBASW5wdXQoKVxyXG4gIHJlYWRvbmx5OiBib29sZWFuID0gZmFsc2U7XHJcblxyXG4gIEBJbnB1dCgpXHJcbiAgZGlzYWJsZWQ6IGJvb2xlYW4gPSBmYWxzZTtcclxuXHJcbiAgQElucHV0KClcclxuICBzaXplOiBBWEVsZW1lbnRTaXplID0gJ21kJztcclxuXHJcbiAgQElucHV0KClcclxuICBsYWJlbDogc3RyaW5nID0gJyc7XHJcblxyXG4gIEBJbnB1dCgpXHJcbiAgdGFiSW5kZXg6IG51bWJlciA9IDA7XHJcblxyXG4gIEBJbnB1dCgpXHJcbiAgaW5kZXRlcm1pbmF0ZTogYm9vbGVhbiA9IGZhbHNlO1xyXG5cclxuICBmb2N1cygpOiB2b2lkIHt9XHJcbiAgY29uc3RydWN0b3IocHJvdGVjdGVkIGNkcjogQ2hhbmdlRGV0ZWN0b3JSZWYsIHByaXZhdGUgcmVmOiBFbGVtZW50UmVmKSB7XHJcbiAgICBzdXBlcigpO1xyXG4gIH1cclxuICAvLyBWYWx1ZVxyXG4gIEBPdXRwdXQoKVxyXG4gIG9uVmFsdWVDaGFuZ2VkOiBFdmVudEVtaXR0ZXI8QVhWYWx1ZUV2ZW50PGJvb2xlYW4+PiA9IG5ldyBFdmVudEVtaXR0ZXI8QVhWYWx1ZUV2ZW50PGJvb2xlYW4+PigpO1xyXG4gIEBPdXRwdXQoKVxyXG4gIHZhbHVlQ2hhbmdlOiBFdmVudEVtaXR0ZXI8Ym9vbGVhbj4gPSBuZXcgRXZlbnRFbWl0dGVyPGJvb2xlYW4+KCk7XHJcbiAgLy9cclxuICBAT3V0cHV0KClcclxuICBvbkNsaWNrOiBFdmVudEVtaXR0ZXI8QVhDaGVja0JveEl0ZW1DbGljaz4gPSBuZXcgRXZlbnRFbWl0dGVyPEFYQ2hlY2tCb3hJdGVtQ2xpY2s+KCk7XHJcblxyXG4gIHByaXZhdGUgX3ZhbHVlPzogYm9vbGVhbiA9IGZhbHNlO1xyXG4gIHB1YmxpYyBnZXQgdmFsdWUoKTogYm9vbGVhbiB7XHJcbiAgICByZXR1cm4gdGhpcy5fdmFsdWU7XHJcbiAgfVxyXG5cclxuICBASW5wdXQoKVxyXG4gIHB1YmxpYyBzZXQgdmFsdWUodjogYm9vbGVhbikge1xyXG4gICAgaWYgKHYgIT0gdGhpcy5fdmFsdWUgfHwgdiAhPT0gdW5kZWZpbmVkKSB7XHJcbiAgICAgIGNvbnN0IG9sZCA9IHRoaXMuX3ZhbHVlO1xyXG4gICAgICB0aGlzLl92YWx1ZSA9IHY7XHJcbiAgICAgIHRoaXMudmFsdWVDaGFuZ2UuZW1pdCh2KTtcclxuICAgICAgdGhpcy5vblZhbHVlQ2hhbmdlZC5lbWl0KHtcclxuICAgICAgICBjb21wb25lbnQ6IHRoaXMsXHJcbiAgICAgICAgdmFsdWU6IHYsXHJcbiAgICAgICAgb2xkVmFsdWU6IG9sZCxcclxuICAgICAgICBodG1sRWxlbWVudDogdGhpcy5yZWYubmF0aXZlRWxlbWVudFxyXG4gICAgICB9KTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIC8vIGhhbmRlbENoYW5nZShlKSB7XHJcbiAgLy8gICBjb25zdCB2YWwgPSBlLnRhcmdldC5jaGVja2VkO1xyXG4gIC8vICAgdGhpcy52YWx1ZSA9IHZhbDtcclxuICAvLyB9XHJcblxyXG4gIG5nT25Jbml0KCk6IHZvaWQge1xyXG4gICAgaWYgKCF0aGlzLmluZGV0ZXJtaW5hdGUgJiYgdGhpcy52YWx1ZSA9PSBudWxsKSB7XHJcbiAgICAgIHRoaXMudmFsdWUgPSBmYWxzZTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIGhhbmRsZUNsaWNrKGU6IE1vdXNlRXZlbnQpIHtcclxuICAgIC8vIGUucHJldmVudERlZmF1bHQoKTtcclxuICAgIC8vIGUuc3RvcFByb3BhZ2F0aW9uKCk7XHJcbiAgICBzZXRUaW1lb3V0KCgpID0+IHtcclxuICAgICAgaWYgKCF0aGlzLmRpc2FibGVkICYmICF0aGlzLnJlYWRvbmx5KSB7XHJcbiAgICAgICAgLy9UT0RPOiBjaGVjayBpbnRlcm1kZGlhdGU7XHJcbiAgICAgICAgLy8gdGhpcy52YWx1ZSA9ICF0aGlzLnZhbHVlO1xyXG4gICAgICAgIHRoaXMub25DbGljay5lbWl0KHtcclxuICAgICAgICAgIGNvbXBvbmVudDogdGhpcyxcclxuICAgICAgICAgIGh0bWxFbGVtZW50OiB0aGlzLnJlZi5uYXRpdmVFbGVtZW50LFxyXG4gICAgICAgICAgaHRtbEV2ZW50OiBlLFxyXG4gICAgICAgICAgdmFsdWU6IHRoaXMudmFsdWVcclxuICAgICAgICB9KTtcclxuICAgICAgfVxyXG4gICAgfSwgMTAwKTtcclxuICB9XHJcbn1cclxuIl19