@naniteninja/dashboard-components-lib 1.0.4 → 1.0.5

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.
@@ -74,7 +74,9 @@ export class ChatComponent {
74
74
  }
75
75
  ngOnDestroy() {
76
76
  this.removeEmojiPickerClickListener();
77
- this.popupModalService.hide();
77
+ if (this.popupModalService.getInstance()) {
78
+ this.popupModalService.hide();
79
+ }
78
80
  }
79
81
  ngAfterViewInit() {
80
82
  if (this.emojiPickerConfig?.style) {
@@ -305,4 +307,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImpo
305
307
  type: ViewChild,
306
308
  args: ['chatInput']
307
309
  }] } });
308
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2hhdC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9kYXNoYm9hcmQtY29tcG9uZW50cy1saWIvc3JjL2xpYi9jb21wb25lbnRzL2NoYXQvY2hhdC5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9kYXNoYm9hcmQtY29tcG9uZW50cy1saWIvc3JjL2xpYi9jb21wb25lbnRzL2NoYXQvY2hhdC5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBRUwsdUJBQXVCLEVBQ3ZCLGlCQUFpQixFQUNqQixTQUFTLEVBQ1QsVUFBVSxFQUNWLFlBQVksRUFDWixNQUFNLEVBQ04sS0FBSyxFQUlMLE1BQU0sRUFDTixTQUFTLEVBRVQsU0FBUyxHQUNWLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFBRSxXQUFXLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUNoRSxPQUFPLHNCQUFzQixDQUFDO0FBQzlCLE9BQU8sRUFBRSxLQUFLLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFFN0IsT0FBTyxFQUFFLHdCQUF3QixFQUFFLE1BQU0sMkRBQTJELENBQUM7QUFDckcsT0FBTyxFQUF1QixpQkFBaUIsRUFBRSxNQUFNLHdCQUF3QixDQUFDO0FBQ2hGLE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUM3QyxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sMkJBQTJCLENBQUM7QUFHeEQsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLHFDQUFxQyxDQUFDOzs7Ozs7OztBQWV0RSxNQUFNLE9BQU8sYUFBYTtJQWIxQjtRQWNXLFlBQU8sR0FBYSxLQUFLLENBQUM7UUFDMUIsaUJBQVksR0FBWSxhQUFhLENBQUM7UUFTL0MscURBQXFEO1FBQzVDLHNCQUFpQixHQUFZLElBQUksQ0FBQztRQUMzQyxvREFBb0Q7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QUFnQjtzQkFBeEIsS0FBSztnQkFHSSxXQUFXO3NCQUFwQixNQUFNO2dCQUVHLFdBQVc7c0JBQXBCLE1BQU07Z0JBRUUsUUFBUTtzQkFBaEIsS0FBSztnQkFFb0IsY0FBYztzQkFBdkMsU0FBUzt1QkFBQyxhQUFhO2dCQUNVLG1CQUFtQjtzQkFBcEQsU0FBUzt1QkFBQyxxQkFBcUI7Z0JBQ1IsU0FBUztzQkFBaEMsU0FBUzt1QkFBQyxXQUFXIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgQWZ0ZXJWaWV3SW5pdCxcbiAgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksXG4gIENoYW5nZURldGVjdG9yUmVmLFxuICBDb21wb25lbnQsXG4gIEVsZW1lbnRSZWYsXG4gIEV2ZW50RW1pdHRlcixcbiAgaW5qZWN0LFxuICBJbnB1dCxcbiAgT25DaGFuZ2VzLFxuICBPbkRlc3Ryb3ksXG4gIE9uSW5pdCxcbiAgT3V0cHV0LFxuICBSZW5kZXJlcjIsXG4gIFNpbXBsZUNoYW5nZXMsXG4gIFZpZXdDaGlsZCxcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBGb3JtQ29udHJvbCwgTkdfVkFMVUVfQUNDRVNTT1IgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5pbXBvcnQgJ2Vtb2ppLXBpY2tlci1lbGVtZW50JztcbmltcG9ydCB7IGZpcnN0IH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBFbW9qaVBpY2tlckNvbmZpZyB9IGZyb20gJ0BuYW5pdGVuaW5qYS9pb25pYy1saWInO1xuaW1wb3J0IHsgTGliTWVzc2FnZU1vZGFsQ29tcG9uZW50IH0gZnJvbSAnLi4vLi4vc2hhcmVkL3NoYXJlZC9tZXNzYWdlLW1vZGFsL21lc3NhZ2UtbW9kYWwuY29tcG9uZW50JztcbmltcG9ydCB7IElucHV0RmllbGRDb21wb25lbnQsIFBvcHVwTW9kYWxTZXJ2aWNlIH0gZnJvbSAnQG5hbml0ZW5pbmphL2lvbmljLWxpYic7XG5pbXBvcnQgeyBDaGF0U2VydmljZSB9IGZyb20gJy4vY2hhdC5zZXJ2aWNlJztcbmltcG9ydCB7IFNlbmRlclR5cGVzIH0gZnJvbSAnLi9lbnVtcy9zZW5kZXItdHlwZXMuZW51bSc7XG5pbXBvcnQgeyBJRGF0ZU1lc3NhZ2VzIH0gZnJvbSAnLi9pbnRlcmZhY2VzL2RhdGUtbWVzc2FnZXMuaW50ZXJmYWNlJztcbmltcG9ydCB7IElNZXNzYWdlIH0gZnJvbSAnLi9pbnRlcmZhY2VzL21lc3NhZ2UuaW50ZXJmYWNlJztcbmltcG9ydCB7IFNlbmRNZXNzYWdlVHlwZSB9IGZyb20gJy4vaW50ZXJmYWNlcy90eXBlLXNlbmQtbWVzc2FnZS5lbnVtJztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnbGliLWNoYXQnLFxuICBwcm92aWRlcnM6IFtcbiAgICB7XG4gICAgICBwcm92aWRlOiBOR19WQUxVRV9BQ0NFU1NPUixcbiAgICAgIHVzZUV4aXN0aW5nOiBDaGF0Q29tcG9uZW50LFxuICAgICAgbXVsdGk6IHRydWUsXG4gICAgfSxcbiAgXSxcbiAgdGVtcGxhdGVVcmw6ICcuL2NoYXQuY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi9jaGF0LmNvbXBvbmVudC5zY3NzJ10sXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxufSlcbmV4cG9ydCBjbGFzcyBDaGF0Q29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0LCBBZnRlclZpZXdJbml0LCBPbkNoYW5nZXMsIE9uRGVzdHJveSB7XG4gIEBJbnB1dCgpIGRlZmF1bHQ/OiBib29sZWFuID0gZmFsc2U7XG4gIEBJbnB1dCgpIHJlc3BvbnNlVGltZT86IHN0cmluZyA9ICcwNWggMDRtIDM1cyc7XG4gIC8vIFByZS1maWxsZWQgaW5wdXQgdmFsdWVcbiAgQElucHV0KCkgc2V0IGlucHV0VmFsdWUodmFsdWU6IHN0cmluZykge1xuICAgIGlmICh2YWx1ZSkge1xuICAgICAgdGhpcy50ZXh0Q29udHJvbC5zZXRWYWx1ZSh2YWx1ZSk7XG4gICAgfVxuICB9XG4gIC8vIENvbmZpZ3VyYXRpb24gb2YgZW1vamlQaWNrZXIuIE11c3QgYmUgYWRkZWRcbiAgQElucHV0KCkgZW1vamlQaWNrZXJDb25maWc6IEVtb2ppUGlja2VyQ29uZmlnO1xuICAvLyB3aGV0aGVyIGdpZnMgYXMgYSBtZXNzYWdlIHNob3VsZCBiZSBhbGxvd2VkIG9yIG5vdFxuICBASW5wdXQoKSBpbmNsdWRlR2lmTWVzc2FnZTogYm9vbGVhbiA9IHRydWU7XG4gIC8vIHdoZXRoZXIgdGltZXN0YW1wIHN0eWxlcyBzaG91bGQgYmUgYWxsb3dlZCBvciBub3RcbiAgQElucHV0KCkgaW5jbHVkZVRpbWU6IGJvb2xlYW4gPSB0cnVlO1xuICAvLyBpbnRlcmZhY2UgZm9yIG1lc3NhZ2VzIHRvIGdyb3VwbSB0aGVtIGluIGRhdGVzXG4gIEBJbnB1dCgpIHNldCBkYXRlTWVzc2FnZXModmFsdWU6IElNZXNzYWdlW10pIHtcbiAgICB0aGlzLm1lc3NhZ2VzID0gdGhpcy5jaGF0U2VydmljZS50cmFuc2Zvcm1NZXNzYWdlcyh2YWx1ZSk7XG4gIH1cbiAgLy8gbWF4IGxlbmd0aCBmb3IgdGV4dGFyZWEgaW5wdXRcbiAgQElucHV0KCkgbWF4TGVuZ3RoOiBudW1iZXIgPSAxMDA7XG5cbiAgQElucHV0KCkgZW5hYmxlR2lmUGlja2VyOiBib29sZWFuID0gZmFsc2U7XG5cbiAgQElucHV0KCkgcHJvc3BlY3RKb2luRGF0ZTogRGF0ZTtcblxuICAvLyBzZW5kIG1lc3NhZ2UgZW1pdHRlclxuICBAT3V0cHV0KCkgc2VuZE1lc3NhZ2UgPSBuZXcgRXZlbnRFbWl0dGVyPElNZXNzYWdlPigpO1xuICAvLyBzY3JvbGxlci11cCBldmVudCB0byBnZXQgb2xkZXIgbWVzc2FnZXNcbiAgQE91dHB1dCgpIGdldE1lc3NhZ2VzID0gbmV3IEV2ZW50RW1pdHRlcjxib29sZWFuPigpO1xuXG4gIEBJbnB1dCgpIGRpc2FibGVkOiBib29sZWFuID0gZmFsc2U7XG5cbiAgQFZpZXdDaGlsZCgnZW1vamlQaWNrZXInKSBlbW9qaVBpY2tlclJlZjogRWxlbWVudFJlZjtcbiAgQFZpZXdDaGlsZCgnc2Nyb2xsYWJsZUNvbnRhaW5lcicpIHNjcm9sbGFibGVDb250YWluZXI6IEVsZW1lbnRSZWY7XG4gIEBWaWV3Q2hpbGQoJ2NoYXRJbnB1dCcpIGNoYXRJbnB1dDogSW5wdXRGaWVsZENvbXBvbmVudDtcblxuICBwcml2YXRlIGNkciA9IGluamVjdChDaGFuZ2VEZXRlY3RvclJlZik7XG4gIHByaXZhdGUgZWxlbWVudFJlZiA9IGluamVjdChFbGVtZW50UmVmKTtcbiAgcHJpdmF0ZSBwb3B1cE1vZGFsU2VydmljZSA9IGluamVjdChQb3B1cE1vZGFsU2VydmljZSk7XG4gIHByaXZhdGUgY2hhdFNlcnZpY2UgPSBpbmplY3QoQ2hhdFNlcnZpY2UpO1xuICBwcml2YXRlIHBlbmRpbmdNZXNzYWdlOiBJTWVzc2FnZSB8IG51bGw7XG4gIHByaXZhdGUgcmVuZGVyZXIgPSBpbmplY3QoUmVuZGVyZXIyKTtcblxuICBwdWJsaWMgc2Nyb2xsVGhyZXNob2xkID0gMjAwO1xuICBwdWJsaWMgbWVzc2FnZXM6IElEYXRlTWVzc2FnZXNbXSA9IFtdO1xuXG4gIHB1YmxpYyB0ZXh0Q29udHJvbDogRm9ybUNvbnRyb2w8c3RyaW5nPiA9IG5ldyBGb3JtQ29udHJvbCgnJyk7XG5cbiAgcHVibGljIGJhc2U2NEltYWdlOiBzdHJpbmcgfCBudWxsID0gbnVsbDtcblxuICBwdWJsaWMgZW1vamlWaXNpYmlsaXR5OiBib29sZWFuID0gZmFsc2U7XG4gIHB1YmxpYyBnaWZWaXNpYmlsaXR5OiBib29sZWFuID0gZmFsc2U7XG4gIHB1YmxpYyBpc0F0U3RhcnRDaGF0OiBib29sZWFuID0gZmFsc2U7XG4gIHB1YmxpYyBlbW9qaVBpY2tlck9wZW5lZDogYm9vbGVhbiA9IGZhbHNlO1xuXG4gIHB1YmxpYyBwb3M6IHN0cmluZyA9ICcnO1xuXG4gIHB1YmxpYyBsb25nUHJlc3NFbmFibGVkOiBib29sZWFuO1xuICBwdWJsaWMgdGhyb3R0bGUgPSAwO1xuICBwdWJsaWMgZGlzdGFuY2UgPSAwO1xuICBwdWJsaWMgcmVhZG9ubHkgTW9kYWxDb21wb25lbnQgPSBMaWJNZXNzYWdlTW9kYWxDb21wb25lbnQ7XG5cbiAgcHJpdmF0ZSBkb2N1bWVudENsaWNrTGlzdGVuZXI6ICgoKSA9PiB2b2lkKSB8IG51bGwgPSBudWxsO1xuXG4gIG5nT25Jbml0KCk6IHZvaWQge1xuICAgIGlmICghdGhpcy5wcm9zcGVjdEpvaW5EYXRlKSB7XG4gICAgICB0aGlzLnByb3NwZWN0Sm9pbkRhdGUgPSBudWxsO1xuICAgIH1cblxuICAgIHRoaXMuY2hhdFNlcnZpY2UuaXNMb25nUHJlc3NGb3JTZW5kSW1tZWRpYXRlbHkoKS5zdWJzY3JpYmUoe1xuICAgICAgbmV4dDogKHJlcykgPT4ge1xuICAgICAgICB0aGlzLmxvbmdQcmVzc0VuYWJsZWQgPSByZXM7XG4gICAgICB9LFxuICAgIH0pO1xuXG4gICAgaWYgKHRoaXMuZGlzYWJsZWQpIHtcbiAgICAgIHRoaXMudGV4dENvbnRyb2wuZGlzYWJsZSgpO1xuICAgIH1cbiAgfVxuXG4gIG5nT25EZXN0cm95KCk6IHZvaWQge1xuICAgIHRoaXMucmVtb3ZlRW1vamlQaWNrZXJDbGlja0xpc3RlbmVyKCk7XG4gICAgdGhpcy5wb3B1cE1vZGFsU2VydmljZS5oaWRlKCk7XG4gIH1cblxuICBuZ0FmdGVyVmlld0luaXQoKTogdm9pZCB7XG4gICAgaWYgKHRoaXMuZW1vamlQaWNrZXJDb25maWc/LnN0eWxlKSB7XG4gICAgICBpZiAodGhpcy5lbW9qaVBpY2tlclJlZj8ubmF0aXZlRWxlbWVudCkge1xuICAgICAgICBjb25zdCBzdHlsZSA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ3N0eWxlJyk7XG4gICAgICAgIHN0eWxlLnRleHRDb250ZW50ID0gdGhpcy5lbW9qaVBpY2tlckNvbmZpZy5zdHlsZTtcbiAgICAgICAgdGhpcy5lbW9qaVBpY2tlclJlZi5uYXRpdmVFbGVtZW50LnNoYWRvd1Jvb3QuYXBwZW5kQ2hpbGQoc3R5bGUpO1xuICAgICAgfVxuICAgIH1cblxuICAgIHRoaXMuc2Nyb2xsVG9Cb3R0b20oKTtcbiAgfVxuXG4gIG5nT25DaGFuZ2VzKGNoYW5nZXM6IFNpbXBsZUNoYW5nZXMpOiB2b2lkIHtcbiAgICBpZiAoIXRoaXMuc2Nyb2xsYWJsZUNvbnRhaW5lcikgcmV0dXJuO1xuICAgIGNvbnN0IGNvbnRhaW5lciA9IHRoaXMuc2Nyb2xsYWJsZUNvbnRhaW5lci5uYXRpdmVFbGVtZW50O1xuICAgIGNvbnN0IHNjcm9sbFRvcCA9IGNvbnRhaW5lci5zY3JvbGxUb3A7XG4gICAgY29uc3Qgc2Nyb2xsSGVpZ2h0ID0gY29udGFpbmVyLnNjcm9sbEhlaWdodDtcbiAgICBjb25zdCBjbGllbnRIZWlnaHQgPSBjb250YWluZXIuY2xpZW50SGVpZ2h0O1xuXG4gICAgaWYgKCEoc2Nyb2xsVG9wIDwgc2Nyb2xsSGVpZ2h0IC0gY2xpZW50SGVpZ2h0IC0gdGhpcy5zY3JvbGxUaHJlc2hvbGQpKSB7XG4gICAgICBzZXRUaW1lb3V0KCgpID0+IHtcbiAgICAgICAgdGhpcy5zY3JvbGxUb0JvdHRvbSgpO1xuICAgICAgfSwgMjAwKTtcbiAgICB9XG4gIH1cblxuICBwdWJsaWMgb25TY3JvbGxDaGF0cygpOiB2b2lkIHtcbiAgICB0aGlzLmdldE1lc3NhZ2VzLmVtaXQodHJ1ZSk7XG4gIH1cblxuICBoYW5kbGVTY3JvbGxOZXdNZXNzYWdlKCk6IHZvaWQge1xuICAgIHNldFRpbWVvdXQoKCkgPT4ge1xuICAgICAgaWYgKCF0aGlzLmlzQXRTdGFydENoYXQpIHRoaXMuc2Nyb2xsVG9Cb3R0b20oKTtcbiAgICB9LCAyMDApO1xuICB9XG5cbiAgb25TY3JvbGxNZXNzYWdlcyhldmVudDogRXZlbnQpOiB2b2lkIHtcbiAgICBjb25zdCBjb250YWluZXIgPSB0aGlzLnNjcm9sbGFibGVDb250YWluZXIubmF0aXZlRWxlbWVudDtcbiAgICBjb25zdCBzY3JvbGxUb3AgPSBjb250YWluZXIuc2Nyb2xsVG9wO1xuICAgIGNvbnN0IHNjcm9sbEhlaWdodCA9IGNvbnRhaW5lci5zY3JvbGxIZWlnaHQ7XG4gICAgY29uc3QgY2xpZW50SGVpZ2h0ID0gY29udGFpbmVyLmNsaWVudEhlaWdodDtcblxuICAgIHRoaXMuaXNBdFN0YXJ0Q2hhdCA9IHNjcm9sbFRvcCA8IHNjcm9sbEhlaWdodCAtIGNsaWVudEhlaWdodCAtIHRoaXMuc2Nyb2xsVGhyZXNob2xkO1xuICB9XG5cbiAgc2Nyb2xsVG9Cb3R0b20oKTogdm9pZCB7XG4gICAgY29uc3QgY29udGFpbmVyID0gdGhpcy5zY3JvbGxhYmxlQ29udGFpbmVyLm5hdGl2ZUVsZW1lbnQ7XG4gICAgY29udGFpbmVyLnNjcm9sbFRvcCA9IGNvbnRhaW5lci5zY3JvbGxIZWlnaHQ7XG4gIH1cblxuICBwdWJsaWMgb25FbW9qaWNsaWNrKGV2ZW50OiBDdXN0b21FdmVudCk6IHZvaWQge1xuICAgIGNvbnN0IGVtb2ppID0gZXZlbnQuZGV0YWlsLnVuaWNvZGU7XG4gICAgaWYgKHRoaXMuY2hhdElucHV0LmlucHV0RmllbGRSZWYpIHtcbiAgICAgIGNvbnN0IHRleHRBcmVhRWxlbWVudCA9IHRoaXMuY2hhdElucHV0LmlucHV0RmllbGRSZWYubmF0aXZlRWxlbWVudDtcbiAgICAgIGNvbnN0IHN0YXJ0ID0gdGV4dEFyZWFFbGVtZW50LnNlbGVjdGlvblN0YXJ0ID8/IDA7XG4gICAgICBjb25zdCBlbmQgPSB0ZXh0QXJlYUVsZW1lbnQuc2VsZWN0aW9uRW5kID8/IDA7XG5cbiAgICAgIGNvbnN0IGN1cnJlbnRUZXh0ID0gdGhpcy50ZXh0Q29udHJvbC52YWx1ZSB8fCAnJztcbiAgICAgIGNvbnN0IG5ld1RleHQgPSBjdXJyZW50VGV4dC5zbGljZSgwLCBzdGFydCkgKyBlbW9qaSArIGN1cnJlbnRUZXh0LnNsaWNlKGVuZCk7XG5cbiAgICAgIHRoaXMudGV4dENvbnRyb2wuc2V0VmFsdWUobmV3VGV4dCk7XG5cbiAgICAgIC8vIFJlcG9zaWNpb25hIGVsIGN1cnNvciBkZXNwdcOpcyBkZWwgZW1vamlcbiAgICAgIHNldFRpbWVvdXQoKCkgPT4ge1xuICAgICAgICB0ZXh0QXJlYUVsZW1lbnQuZm9jdXMoKTsgLy8gQXNlZ3VyYSBxdWUgZWwgdGV4dGFyZWEgcmVjdXBlcmUgZWwgZm9jb1xuICAgICAgICB0ZXh0QXJlYUVsZW1lbnQuc2V0U2VsZWN0aW9uUmFuZ2Uoc3RhcnQgKyBlbW9qaS5sZW5ndGgsIHN0YXJ0ICsgZW1vamkubGVuZ3RoKTtcbiAgICAgIH0pO1xuICAgIH1cbiAgfVxuXG4gIHB1YmxpYyBoYW5kbGVFbW9qaVBpY2tlckNsaWNrKCk6IHZvaWQge1xuICAgIGlmICh0aGlzLmRlZmF1bHQpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICB0aGlzLmVtb2ppUGlja2VyT3BlbmVkID0gdHJ1ZTtcblxuICAgIGlmICh0aGlzLmdpZlZpc2liaWxpdHkpIHtcbiAgICAgIHRoaXMuZ2lmVmlzaWJpbGl0eSA9ICF0aGlzLmdpZlZpc2liaWxpdHk7XG4gICAgfVxuICAgIHRoaXMuZW1vamlWaXNpYmlsaXR5ID0gIXRoaXMuZW1vamlWaXNpYmlsaXR5O1xuXG4gICAgaWYgKHRoaXMuZ2lmVmlzaWJpbGl0eSB8fCB0aGlzLmVtb2ppVmlzaWJpbGl0eSkge1xuICAgICAgdGhpcy5zZXR1cEVtb2ppUGlja2VyQ2xpY2tMaXN0ZW5lcigpO1xuICAgIH1cbiAgfVxuXG4gIHB1YmxpYyBoYW5kbGVHaWZQaWNrZXJDbGljaygpOiB2b2lkIHtcbiAgICBpZiAodGhpcy5lbW9qaVZpc2liaWxpdHkpIHtcbiAgICAgIHRoaXMuZW1vamlWaXNpYmlsaXR5ID0gIXRoaXMuZW1vamlWaXNpYmlsaXR5O1xuICAgIH1cblxuICAgIHRoaXMuZ2lmVmlzaWJpbGl0eSA9ICF0aGlzLmdpZlZpc2liaWxpdHk7XG5cbiAgICBpZiAodGhpcy5naWZWaXNpYmlsaXR5IHx8IHRoaXMuZW1vamlWaXNpYmlsaXR5KSB7XG4gICAgICB0aGlzLnNldHVwRW1vamlQaWNrZXJDbGlja0xpc3RlbmVyKCk7XG4gICAgfVxuICB9XG5cbiAgcHVibGljIG9uR2lmQ2xpY2sodXJsOiBzdHJpbmcpOiB2b2lkIHtcbiAgICBpZiAodGhpcy5kZWZhdWx0KSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuICAgIGNvbnN0IG5ld01lc3NhZ2U6IElNZXNzYWdlID0ge1xuICAgICAgc2VuZGVyOiBTZW5kZXJUeXBlcy5VU0VSLFxuICAgICAgdGltZXN0YW1wOiBuZXcgRGF0ZSgpLFxuICAgICAgbWVzc2FnZTogJycsXG4gICAgICBhdHRhY2htZW50czogW1xuICAgICAgICB7XG4gICAgICAgICAgdHlwZTogJ2dpZicsXG4gICAgICAgICAgdXJsLFxuICAgICAgICB9LFxuICAgICAgXSxcbiAgICB9O1xuXG4gICAgdGhpcy5wZW5kaW5nTWVzc2FnZSA9IG5ld01lc3NhZ2U7XG4gICAgdGhpcy5vblNlbmRNZXNzYWdlTW9kYWwoKTtcbiAgfVxuXG4gIHB1YmxpYyBvblNlbmRNZXNzYWdlTW9kYWwoKTogdm9pZCB7XG4gICAgY29uc3QgbW9kYWxEYXRhID0ge1xuICAgICAgZGF0YToge1xuICAgICAgICByZXNwb25zZVRpbWU6IHRoaXMucmVzcG9uc2VUaW1lLFxuICAgICAgfSxcbiAgICB9O1xuICAgIFxuICAgIHRoaXMucG9wdXBNb2RhbFNlcnZpY2Uuc2V0VmFsdWVzKHsgY3VzdG9tQ2xhc3M6ICdtZXNzYWdlLW1vZGFsLWNvbnRhaW5lcicgfSk7XG5cbiAgICB0aGlzLnBvcHVwTW9kYWxTZXJ2aWNlXG4gICAgICAuc2hvdyh0aGlzLk1vZGFsQ29tcG9uZW50LCBtb2RhbERhdGEpXG4gICAgICAuYWZ0ZXJDbG9zZS5waXBlKGZpcnN0KCkpXG4gICAgICAuc3Vic2NyaWJlKChkYXRhKSA9PiB7XG4gICAgICAgIHRoaXMucGVuZGluZ01lc3NhZ2Uuc2VuZE9wdGlvbnMgPSB7XG4gICAgICAgICAgdHlwZTogZGF0YS50eXBlLFxuICAgICAgICAgIGFycml2YWxEYXRlOiBkYXRhLmFycml2YWxEYXRlLFxuICAgICAgICB9O1xuXG4gICAgICAgIHRoaXMubG9uZ1ByZXNzRW5hYmxlZCA9IGRhdGEubG9uZ1ByZXNzRW5hYmxlZDtcblxuICAgICAgICB0aGlzLm9uU2VuZCgpO1xuICAgICAgfSk7XG4gICAgXG4gIH1cblxuICBwdWJsaWMgb25TZW5kVGV4dCgpOiB2b2lkIHtcbiAgICB0aGlzLnNhdmVQZW5kaW5nTWVzc2FnZSgpO1xuICAgIHRoaXMub25TZW5kTWVzc2FnZU1vZGFsKCk7XG4gIH1cblxuICBwdWJsaWMgc2F2ZVBlbmRpbmdNZXNzYWdlKCk6IHZvaWQge1xuICAgIGNvbnN0IG1lc3NhZ2UgPSB0aGlzLnRleHRDb250cm9sLnZhbHVlLnRyaW0oKTtcbiAgICBpZiAobWVzc2FnZS50cmltKCkpIHtcbiAgICAgIGNvbnN0IG5ld01lc3NhZ2U6IElNZXNzYWdlID0ge1xuICAgICAgICBzZW5kZXI6IFNlbmRlclR5cGVzLlVTRVIsXG4gICAgICAgIHRpbWVzdGFtcDogbmV3IERhdGUoKSxcbiAgICAgICAgbWVzc2FnZTogbWVzc2FnZSxcbiAgICAgICAgYXR0YWNobWVudHM6IFtdLFxuICAgICAgfTtcblxuICAgICAgdGhpcy5wZW5kaW5nTWVzc2FnZSA9IG5ld01lc3NhZ2U7XG4gICAgfVxuICB9XG5cbiAgcHVibGljIG9uU2VuZCgpOiB2b2lkIHtcbiAgICB0aGlzLmdpZlZpc2liaWxpdHkgPSBmYWxzZTtcbiAgICB0aGlzLmVtb2ppVmlzaWJpbGl0eSA9IGZhbHNlO1xuICAgIHRoaXMudGV4dENvbnRyb2wuc2V0VmFsdWUoJycpO1xuICAgIHRoaXMuaGFuZGxlU2Nyb2xsTmV3TWVzc2FnZSgpO1xuICAgIHRoaXMuc2VuZE1lc3NhZ2UuZW1pdCh0aGlzLnBlbmRpbmdNZXNzYWdlKTtcbiAgfVxuXG4gIHB1YmxpYyBvbktleURvd24oZXZlbnQ6IEtleWJvYXJkRXZlbnQpOiB2b2lkIHtcbiAgICBpZiAoZXZlbnQua2V5ID09PSAnRW50ZXInKSB7XG4gICAgICB0aGlzLm9uU2VuZFRleHQoKTtcbiAgICB9XG4gIH1cblxuICBwcml2YXRlIG9uTG9uZ1ByZXNzKCk6IHZvaWQge1xuICAgIHRoaXMuc2F2ZVBlbmRpbmdNZXNzYWdlKCk7XG4gICAgdGhpcy5wZW5kaW5nTWVzc2FnZS5zZW5kT3B0aW9ucyA9IHtcbiAgICAgIHR5cGU6IFNlbmRNZXNzYWdlVHlwZS5JTk1FRElBVEVMWSxcbiAgICAgIGFycml2YWxEYXRlOiBuZXcgRGF0ZSgpLFxuICAgIH07XG4gICAgdGhpcy5vblNlbmQoKTtcbiAgfVxuXG4gIHByaXZhdGUgb25CbHVyUGlja2VyU3BhY2UoKTogdm9pZCB7XG4gICAgdGhpcy5naWZWaXNpYmlsaXR5ID0gZmFsc2U7XG4gICAgdGhpcy5lbW9qaVZpc2liaWxpdHkgPSBmYWxzZTtcbiAgICB0aGlzLmNkci5tYXJrRm9yQ2hlY2soKTtcbiAgICB0aGlzLnJlbW92ZUVtb2ppUGlja2VyQ2xpY2tMaXN0ZW5lcigpO1xuICB9XG5cbiAgcHJpdmF0ZSBzZXR1cEVtb2ppUGlja2VyQ2xpY2tMaXN0ZW5lcigpOiB2b2lkIHtcbiAgICBpZiAodGhpcy5kb2N1bWVudENsaWNrTGlzdGVuZXIpIHJldHVybjtcblxuICAgIHRoaXMuZG9jdW1lbnRDbGlja0xpc3RlbmVyID0gdGhpcy5yZW5kZXJlci5saXN0ZW4oJ2RvY3VtZW50JywgJ2NsaWNrJywgKGV2ZW50OiBFdmVudCkgPT4ge1xuICAgICAgaWYgKCF0aGlzLmVsZW1lbnRSZWYubmF0aXZlRWxlbWVudC5jb250YWlucyhldmVudC50YXJnZXQpKSB7XG4gICAgICAgIHRoaXMub25CbHVyUGlja2VyU3BhY2UoKTtcbiAgICAgIH1cbiAgICB9KTtcbiAgfVxuXG4gIHByaXZhdGUgcmVtb3ZlRW1vamlQaWNrZXJDbGlja0xpc3RlbmVyKCk6IHZvaWQge1xuICAgIGlmICh0aGlzLmRvY3VtZW50Q2xpY2tMaXN0ZW5lcikge1xuICAgICAgdGhpcy5kb2N1bWVudENsaWNrTGlzdGVuZXIoKTtcbiAgICAgIHRoaXMuZG9jdW1lbnRDbGlja0xpc3RlbmVyID0gbnVsbDtcbiAgICB9XG4gIH1cbn1cbiIsIjxkaXYgY2xhc3M9XCJjaGF0LWNvbXBvbmVudFwiPlxuICA8ZGl2IGNsYXNzPVwiY2hhdC1jb250YWluZXJcIj5cbiAgICA8ZGl2IGNsYXNzPVwiZ28tYnV0dG9uXCIgKm5nSWY9XCJpc0F0U3RhcnRDaGF0XCIgKGNsaWNrKT1cInNjcm9sbFRvQm90dG9tKClcIj7ihpM8L2Rpdj5cbiAgICA8ZGl2XG4gICAgICBjbGFzcz1cImRhdGVNZXNzYWdlc1wiXG4gICAgICAjc2Nyb2xsYWJsZUNvbnRhaW5lclxuICAgICAgaW5maW5pdGVTY3JvbGxcbiAgICAgIFtpbmZpbml0ZVNjcm9sbERpc3RhbmNlXT1cImRpc3RhbmNlXCJcbiAgICAgIFtpbmZpbml0ZVNjcm9sbFRocm90dGxlXT1cInRocm90dGxlXCJcbiAgICAgIFtzY3JvbGxXaW5kb3ddPVwiZmFsc2VcIlxuICAgICAgKHNjcm9sbGVkVXApPVwib25TY3JvbGxDaGF0cygpXCJcbiAgICAgIChzY3JvbGwpPVwib25TY3JvbGxNZXNzYWdlcygkZXZlbnQpXCJcbiAgICA+XG4gICAgICA8ZGl2IGNsYXNzPVwiY2hhdC1pdGVtLWNvbnRhaW5lciBjaGF0LWl0ZW0tY29udGFpbmVyX2luaXRcIj5cbiAgICAgICAgPGRpdiBjbGFzcz1cImRhdGUtbWVzc2FnZVwiPlxuICAgICAgICAgIDxzcGFuPnt7IHByb3NwZWN0Sm9pbkRhdGUgPyAocHJvc3BlY3RKb2luRGF0ZSB8IGRhdGU6ICdNTU0gZCwgSEg6bW0nKSA6ICctJyB9fTwvc3Bhbj5cbiAgICAgICAgPC9kaXY+XG4gICAgICAgIDxkaXYgY2xhc3M9XCJjaGF0LWl0ZW0gaW5pdC1jaGF0XCI+XG4gICAgICAgICAgPGRpdiBjbGFzcz1cImNoYXQtaXRlbV90ZXh0XCI+e3sgJ0NIQVQuSU5JVElBTF9URVhUJyB8IHRyYW5zbGF0ZSB9fTwvZGl2PlxuICAgICAgICA8L2Rpdj5cbiAgICAgIDwvZGl2PlxuICAgICAgPGRpdlxuICAgICAgICAqbmdGb3I9XCJsZXQgZGF0ZU1lc3NhZ2Ugb2YgbWVzc2FnZXNcIlxuICAgICAgICBjbGFzcz1cImNoYXQtaXRlbS1jb250YWluZXJcIlxuICAgICAgICBbY2xhc3MuY2hhdC1pdGVtLWNvbnRhaW5lcl91c2VyXT1cImRhdGVNZXNzYWdlLm1lc3NhZ2Uuc2VuZGVyID09PSAndXNlcidcIlxuICAgICAgICBbY2xhc3MuY2hhdC1pdGVtLWNvbnRhaW5lcl9vdGhlcl09XCJkYXRlTWVzc2FnZS5tZXNzYWdlLnNlbmRlciA9PT0gJ290aGVyJ1wiXG4gICAgICA+XG4gICAgICAgIDxkaXYgY2xhc3M9XCJkYXRlLW1lc3NhZ2VcIiAqbmdJZj1cImRhdGVNZXNzYWdlLmlzRmlyc3RNZXNzYWdlICYmIGluY2x1ZGVUaW1lXCI+XG4gICAgICAgICAgPHNwYW4+e3sgZGF0ZU1lc3NhZ2UuZGF0ZSB8IGRhdGU6ICdNTU0gZCcgfX08L3NwYW4+XG4gICAgICAgIDwvZGl2PlxuICAgICAgICA8ZGl2IGNsYXNzPVwiY2hhdC1pdGVtXCIgW2NsYXNzLnVzZXItY2hhdF09XCJkYXRlTWVzc2FnZS5tZXNzYWdlLnNlbmRlciA9PT0gJ3VzZXInXCIgW2NsYXNzLm90aGVyLWNoYXRdPVwiZGF0ZU1lc3NhZ2UubWVzc2FnZS5zZW5kZXIgPT09ICdvdGhlcidcIj5cbiAgICAgICAgICBAaWYgKGRhdGVNZXNzYWdlLm1lc3NhZ2UubWVzc2FnZSAhPT0gJycpIHtcbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJjaGF0LWl0ZW1fdGV4dFwiPnt7IGRhdGVNZXNzYWdlLm1lc3NhZ2UubWVzc2FnZSB9fTwvZGl2PlxuICAgICAgICAgIH0gQGVsc2UgaWYgKGRhdGVNZXNzYWdlLm1lc3NhZ2UuYXR0YWNobWVudHNbMF0udXJsICE9PSAnJykge1xuICAgICAgICAgICAgPGltZyBjbGFzcz1cImNoYXQtaXRlbV9pbWFnZVwiIFtzcmNdPVwiZGF0ZU1lc3NhZ2UubWVzc2FnZS5hdHRhY2htZW50c1swXS51cmxcIiBhbHQ9XCJcIiAvPlxuICAgICAgICAgIH1cbiAgICAgICAgICA8ZGl2IGNsYXNzPVwiY2hhdC1pdGVtX3RpbWVzdGFtcFwiICpuZ0lmPVwiaW5jbHVkZVRpbWVcIj5cbiAgICAgICAgICAgIHt7IGRhdGVNZXNzYWdlLm1lc3NhZ2UudGltZXN0YW1wIHwgZGF0ZTogJ3Nob3J0VGltZScgfX1cbiAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgPC9kaXY+XG4gICAgICA8L2Rpdj5cbiAgICA8L2Rpdj5cbiAgICA8ZGl2IGNsYXNzPVwiYm90dG9tLWdyYWRpZW50LWZhZGVcIj48L2Rpdj5cbiAgPC9kaXY+XG4gIDxmb3JtIGF1dG9jb21wbGV0ZT1cIm9mZlwiIGxpYkZvY3VzSW52YWxpZElucHV0ICpuZ0lmPVwidGV4dENvbnRyb2xcIiBjbGFzcz1cIm1lc3NhZ2Utc2VuZGVyXCI+XG4gICAgPGxpYi1pbnB1dC1maWVsZFxuICAgICAgI2NoYXRJbnB1dFxuICAgICAgW2Zvcm1Db250cm9sXT1cInRleHRDb250cm9sXCJcbiAgICAgIFt2YWx1ZV09XCJuZXdUZXh0TWVzc2FnZVwiXG4gICAgICBbbGFiZWxdPVwiXCJcbiAgICAgIFt0ZXh0YXJlYV09XCJ0cnVlXCJcbiAgICAgIHBsYWNlaG9sZGVyPVwiU2VuZCBNZXNzYWdlIHRvIENsaWVudCBQcm9zcGVjdFwiXG4gICAgICAoa2V5RG93bik9XCJvbktleURvd24oJGV2ZW50KVwiXG4gICAgICBbbWF4TGVuZ3RoXT1cIm1heExlbmd0aFwiXG4gICAgPlxuICAgIDwvbGliLWlucHV0LWZpZWxkPlxuICAgIDxkaXYgY2xhc3M9XCJjaGF0LWJ1dHRvbnNcIj5cbiAgICAgIDxkaXYgY2xhc3M9XCJzZW5kXCIgbGliTG9uZ1ByZXNzIFtsb25nUHJlc3NFbmFibGVkXT1cImxvbmdQcmVzc0VuYWJsZWRcIiAoc2hvcnRQcmVzcyk9XCJvblNlbmRUZXh0KClcIiAobG9uZ1ByZXNzKT1cIm9uTG9uZ1ByZXNzKClcIj5cbiAgICAgICAgPHN2ZyB4bWxucz1cImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnXCIgdmlld0JveD1cIjAgMCAyMyAyMlwiIGZpbGw9XCJub25lXCI+XG4gICAgICAgICAgPGcgZmlsdGVyPVwidXJsKCNmaWx0ZXIwX2RfNzQ4XzMzODcpXCI+XG4gICAgICAgICAgICA8cGF0aFxuICAgICAgICAgICAgICBkPVwiTTE0LjYzMTEgMTcuMDU0NUwxOC4zMjI5IDUuODU5OTZDMTguNjkyIDQuNzc4NjcgMTcuNjQ2IDMuNjk3MzggMTYuNjAwMSA0LjA3OTAxTDUuNzcwOTIgNy44OTUzM0M0LjU0MDMzIDguMzQwNTYgNC41NDAzMyAxMC4xMjE1IDUuODMyNDQgMTAuNTAzMkw5LjQ2MjY2IDExLjUyMDhDMTAuMjYyNSAxMS43NzUzIDEwLjkzOTQgMTIuNDExMyAxMS4xMjM5IDEzLjIzODFMMTIuMTA4NCAxNi45OTA4QzEyLjQ3NzYgMTguMzI2NiAxNC4yMDA0IDE4LjMyNjYgMTQuNjMxMSAxNy4wNTQ1WlwiXG4gICAgICAgICAgICAgIGZpbGw9XCJ1cmwoI3BhaW50MF9saW5lYXJfNzQ4XzMzODcpXCJcbiAgICAgICAgICAgIC8+XG4gICAgICAgICAgPC9nPlxuICAgICAgICAgIDxkZWZzPlxuICAgICAgICAgICAgPGZpbHRlciBpZD1cImZpbHRlcjBfZF83NDhfMzM4N1wiIHg9XCIwLjg1NTUzXCIgeT1cIjAuMDAwNzMyNDIyXCIgZmlsdGVyVW5pdHM9XCJ1c2VyU3BhY2VPblVzZVwiIGNvbG9yLWludGVycG9sYXRpb24tZmlsdGVycz1cInNSR0JcIj5cbiAgICAgICAgICAgICAgPGZlRmxvb2QgZmxvb2Qtb3BhY2l0eT1cIjBcIiByZXN1bHQ9XCJCYWNrZ3JvdW5kSW1hZ2VGaXhcIiAvPlxuICAgICAgICAgICAgICA8ZmVDb2xvck1hdHJpeCBpbj1cIlNvdXJjZUFscGhhXCIgdHlwZT1cIm1hdHJpeFwiIHZhbHVlcz1cIjAgMCAwIDAgMCAwIDAgMCAwIDAgMCAwIDAgMCAwIDAgMCAwIDEyNyAwXCIgcmVzdWx0PVwiaGFyZEFscGhhXCIgLz5cbiAgICAgICAgICAgICAgPGZlT2Zmc2V0IC8+XG4gICAgICAgICAgICAgIDxmZUdhdXNzaWFuQmx1ciBzdGREZXZpYXRpb249XCIyXCIgLz5cbiAgICAgICAgICAgICAgPGZlQ29tcG9zaXRlIGluMj1cImhhcmRBbHBoYVwiIG9wZXJhdG9yPVwib3V0XCIgLz5cbiAgICAgICAgICAgICAgPGZlQ29sb3JNYXRyaXggdHlwZT1cIm1hdHJpeFwiIHZhbHVlcz1cIjAgMCAwIDAgMSAwIDAgMCAwIDAuMDk2MTUzOCAwIDAgMCAwIDAuNTkzMjY5IDAgMCAwIDEgMFwiIC8+XG4gICAgICAgICAgICAgIDxmZUJsZW5kIG1vZGU9XCJub3JtYWxcIiBpbjI9XCJCYWNrZ3JvdW5kSW1hZ2VGaXhcIiByZXN1bHQ9XCJlZmZlY3QxX2Ryb3BTaGFkb3dfNzQ4XzMzODdcIiAvPlxuICAgICAgICAgICAgICA8ZmVCbGVuZCBtb2RlPVwibm9ybWFsXCIgaW49XCJTb3VyY2VHcmFwaGljXCIgaW4yPVwiZWZmZWN0MV9kcm9wU2hhZG93Xzc0OF8zMzg3XCIgcmVzdWx0PVwic2hhcGVcIiAvPlxuICAgICAgICAgICAgPC9maWx0ZXI+XG4gICAgICAgICAgICA8bGluZWFyR3JhZGllbnQgaWQ9XCJwYWludDBfbGluZWFyXzc0OF8zMzg3XCIgeDE9XCIxOC41MTM0XCIgeTE9XCIyLjgxMDk3XCIgeDI9XCIwLjE2Mjc3M1wiIHkyPVwiMzUuMzU1NlwiIGdyYWRpZW50VW5pdHM9XCJ1c2VyU3BhY2VPblVzZVwiPlxuICAgICAgICAgICAgICA8c3RvcCBzdG9wLWNvbG9yPVwiI0ZFM0M3MlwiIC8+XG4gICAgICAgICAgICAgIDxzdG9wIG9mZnNldD1cIjAuMzg0NjE1XCIgc3RvcC1jb2xvcj1cIiNGRkI1RTlcIiAvPlxuICAgICAgICAgICAgPC9saW5lYXJHcmFkaWVudD5cbiAgICAgICAgICA8L2RlZnM+XG4gICAgICAgIDwvc3ZnPlxuICAgICAgPC9kaXY+XG4gICAgICA8bGliLXBvcHVwIGN1c3RvbUNsYXNzPVwibWVzc2FnZS1tb2RhbC1jb250YWluZXJcIiBbaXNPcGVuXT1cInRvZ2dsZU1lc3NhZ2VNb2RhbFwiIFttb2RhbENvbXBvbmVudF09XCJNb2RhbENvbXBvbmVudFwiIFttb2RhbENvbXBvbmVudERhdGFdPVwieyBtb2RhbDoge30gfVwiPiA8L2xpYi1wb3B1cD5cbiAgICAgIDxkaXZcbiAgICAgICAgW25nQ2xhc3NdPVwieyAnZW1vamktcGlja2VyLXRyaWdnZXInOiB0cnVlLCBhY3RpdmU6IGVtb2ppVmlzaWJpbGl0eSB9XCJcbiAgICAgICAgW25hbWVdPVwiZW1vamlQaWNrZXJDb25maWc/LnBpY2tlckljb24gPyAnJyA6ICdib2R5LW91dGxpbmUnXCJcbiAgICAgICAgKGNsaWNrKT1cImhhbmRsZUVtb2ppUGlja2VyQ2xpY2soKVwiXG4gICAgICAgIFtzcmNdPVwiZW1vamlQaWNrZXJDb25maWc/LnBpY2tlckljb25cIlxuICAgICAgICBjbGFzcz1cImVtb2ppXCJcbiAgICAgID5cbiAgICAgICAgPHN2ZyB4bWxucz1cImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnXCIgdmlld0JveD1cIjAgMCAxNiAxNlwiIGZpbGw9XCJub25lXCIgb3ZlcmZsb3c9XCJhdXRvXCI+XG4gICAgICAgICAgPGc+XG4gICAgICAgICAgICA8bWFzayBpZD1cInBhdGgtMS1vdXRzaWRlLTFfNDIyXzM0MTRcIiBtYXNrVW5pdHM9XCJ1c2VyU3BhY2VPblVzZVwiIHg9XCItMC43MjU1MVwiIHk9XCItMC43MTM3NzZcIiBmaWxsPVwidXJsKCNwYWludDBfbGluZWFyXzc0OF8zMzg3KVwiPlxuICAgICAgICAgICAgICA8cGF0aFxuICAgICAgICAgICAgICAgIGQ9XCJNNS4xMzA1NyAwLjI4NjIyNEM3LjgxMjUzIDAuMjg2MjI0IDkuOTg2NjUgMi41MzM3MyA5Ljk4NjY1IDUuMzA2MjNDOS45ODY2NSA4LjA3ODIzIDcuODEyMDUgMTAuMzI1MiA1LjEzMDU3IDEwLjMyNTJDMi40NDg2MSAxMC4zMjU3IDAuMjc0NDkgOC4wNzgyMyAwLjI3NDQ5IDUuMzA2MjNDMC4yNzQ0OSAyLjUzMzczIDIuNDQ4NjEgMC4yODYyMjQgNS4xMzA1NyAwLjI4NjIyNFpNNS4xMzA1NyAxLjAzOTA4QzQuNTg0NzYgMS4wMzI5NiA0LjA0MzIgMS4xMzg4IDMuNTM3MjMgMS4zNTA0OUMzLjAzMTI2IDEuNTYyMTggMi41NzA5MiAxLjg3NTUgMi4xODI4NyAyLjI3MjMzQzEuNzk0ODIgMi42NjkxNSAxLjQ4Njc1IDMuMTQxNiAxLjI3NjUgMy42NjIzM0MxLjA2NjI1IDQuMTgzMDUgMC45NTc5OSA0Ljc0MTcyIDAuOTU3OTkgNS4zMDU5OEMwLjk1Nzk5IDUuODcwMjUgMS4wNjYyNSA2LjQyODkxIDEuMjc2NSA2Ljk0OTY0QzEuNDg2NzUgNy40NzAzNiAxLjc5NDgyIDcuOTQyODEgMi4xODI4NyA4LjMzOTY0QzIuNTcwOTIgOC43MzY0NiAzLjAzMTI2IDkuMDQ5NzkgMy41MzcyMyA5LjI2MTQ3QzQuMDQzMiA5LjQ3MzE2IDQuNTg0NzYgOS41NzkwMSA1LjEzMDU3IDkuNTcyODlDNi4yMTc1MiA5LjU2MDcgNy4yNTU5NCA5LjEwNTc5IDguMDIwMzkgOC4zMDY5MUM4Ljc4NDg1IDcuNTA4MDQgOS4yMTM2MiA2LjQyOTY5IDkuMjEzNjIgNS4zMDU5OEM5LjIxMzYyIDQuMTgyMjggOC43ODQ4NSAzLjEwMzkzIDguMDIwMzkgMi4zMDUwNUM3LjI1NTk0IDEuNTA2MTggNi4yMTc1MiAxLjA1MTI2IDUuMTMwNTcgMS4wMzkwOFpNMy40MTI4MyA2LjcwMzAyQzMuNjE3MTggNi45NzE5MyAzLjg3ODAzIDcuMTg5MjUgNC4xNzU2MyA3LjMzODU1QzQuNDczMjMgNy40ODc4NSA0Ljc5OTc4IDcuNTY1MjIgNS4xMzA1NyA3LjU2NDc5QzUuNDYxIDcuNTY1MiA1Ljc4NzIxIDcuNDg3OTggNi4wODQ1MyA3LjMzODk1QzYuMzgxODYgNy4xODk5MiA2LjY0MjUzIDYuOTcyOTggNi44NDY4NSA2LjcwNDUzQzYuODc2NSA2LjY2NTc0IDYuOTEzMjUgNi42MzMzNyA2Ljk1NSA2LjYwOTI2QzYuOTk2NzUgNi41ODUxNSA3LjA0MjY4IDYuNTY5NzggNy4wOTAxOCA2LjU2NDAzQzcuMTM3NjcgNi41NTgyNyA3LjE4NTggNi41NjIyNCA3LjIzMTgxIDYuNTc1NzFDNy4yNzc4MiA2LjU4OTE5IDcuMzIwODIgNi42MTE5IDcuMzU4MzQgNi42NDI1NEM3LjM5NTg2IDYuNjczMTkgNy40MjcxNyA2LjcxMTE4IDcuNDUwNDkgNi43NTQzNEM3LjQ3MzgxIDYuNzk3NSA3LjQ4ODY4IDYuODQ0OTggNy40OTQyNSA2Ljg5NDA4QzcuNDk5ODIgNi45NDMxOCA3LjQ5NTk4IDYuOTkyOTMgNy40ODI5NCA3LjA0MDVDNy40Njk5MSA3LjA4ODA2IDcuNDQ3OTUgNy4xMzI1MSA3LjQxODMgNy4xNzEzQzcuMTQ1ODIgNy41Mjg5NyA2Ljc5ODMzIDcuODE4IDYuNDAyMDIgOC4wMTY1OEM2LjAwNTcyIDguMjE1MTYgNS41NzA5NyA4LjMxODEgNS4xMzA1NyA4LjMxNzY0QzQuNjg5NTMgOC4zMTgwOCA0LjI1NDE2IDguMjE0ODQgMy44NTc0IDguMDE1NzJDMy40NjA2NCA3LjgxNjYgMy4xMTI4NyA3LjUyNjgxIDIuODQwNDIgNy4xNjgyOEMyLjgxMDgzIDcuMTI5NDMgMi43ODg5NCA3LjA4NDkzIDIuNzc1OTkgNy4wMzczM0MyLjc2MzA0IDYuOTg5NzMgMi43NTkyOSA2LjkzOTk2IDIuNzY0OTUgNi44OTA4NkMyLjc3MDYxIDYuODQxNzYgMi43ODU1NiA2Ljc5NDMgMi44MDg5NyA2Ljc1MTE3QzIuODMyMzcgNi43MDgwNSAyLjg2Mzc2IDYuNjcwMTEgMi45MDEzNSA2LjYzOTUzQzIuOTM4OTMgNi42MDg5NSAyLjk4MTk4IDYuNTg2MzIgMy4wMjgwMiA2LjU3MjkzQzMuMDc0MDcgNi41NTk1NSAzLjEyMjIxIDYuNTU1NjcgMy4xNjk3MSA2LjU2MTUyQzMuMjE3MjEgNi41NjczNyAzLjI2MzEyIDYuNTgyODMgMy4zMDQ4NCA2LjYwNzAyQzMuMzQ2NTUgNi42MzEyMiAzLjM4MzI1IDYuNjYzNjcgMy40MTI4MyA2LjcwMjUyVjYuNzAzMDJaTTMuNjc0MDQgMy42NzUwNkMzLjc1NTE1IDMuNjcyNjggMy44MzU4OSAzLjY4NzE1IDMuOTExNSAzLjcxNzZDMy45ODcxMSAzLjc0ODA1IDQuMDU2MDQgMy43OTM4NiA0LjExNDIyIDMuODUyMzNDNC4xNzI0MSAzLjkxMDggNC4yMTg2NiAzLjk4MDczIDQuMjUwMjQgNC4wNThDNC4yODE4MiA0LjEzNTI3IDQuMjk4MDkgNC4yMTgzIDQuMjk4MDkgNC4zMDIxOEM0LjI5ODA5IDQuMzg2MDYgNC4yODE4MiA0LjQ2OTA5IDQuMjUwMjQgNC41NDYzNkM0LjIxODY2IDQuNjIzNjMgNC4xNzI0MSA0LjY5MzU2IDQuMTE0MjIgNC43NTIwM0M0LjA1NjA0IDQuODEwNSAzLjk4NzExIDQuODU2MzEgMy45MTE1IDQuODg2NzZDMy44MzU4OSA0LjkxNzIxIDMuNzU1MTUgNC45MzE2OCAzLjY3NDA0IDQuOTI5MzFDMy41MTYxMiA0LjkyNDY5IDMuMzY2MTYgNC44NTY1OSAzLjI1NjA0IDQuNzM5NDhDMy4xNDU5MiA0LjYyMjM4IDMuMDg0MzEgNC40NjU1IDMuMDg0MzEgNC4zMDIxOEMzLjA4NDMxIDQuMTM4ODYgMy4xNDU5MiAzLjk4MTk4IDMuMjU2MDQgMy44NjQ4OEMzLjM2NjE2IDMuNzQ3NzcgMy41MTYxMiAzLjY3OTY4IDMuNjc0MDQgMy42NzUwNlpNNi41ODcxIDMuNjc1MDZDNi42NjgyMSAzLjY3MjY4IDYuNzQ4OTYgMy42ODcxNSA2LjgyNDU3IDMuNzE3NkM2LjkwMDE4IDMuNzQ4MDUgNi45NjkxMSAzLjc5Mzg2IDcuMDI3MjkgMy44NTIzM0M3LjA4NTQ3IDMuOTEwOCA3LjEzMTcyIDMuOTgwNzMgNy4xNjMzIDQuMDU4QzcuMTk0ODggNC4xMzUyNyA3LjIxMTE2IDQuMjE4MyA3LjIxMTE2IDQuMzAyMThDNy4yMTExNiA0LjM4NjA2IDcuMTk0ODggNC40NjkwOSA3LjE2MzMgNC41NDYzNkM3LjEzMTcyIDQuNjIzNjMgNy4wODU0NyA0LjY5MzU2IDcuMDI3MjkgNC43NTIwM0M2Ljk2OTExIDQuODEwNSA2LjkwMDE4IDQuODU2MzEgNi44MjQ1NyA0Ljg4Njc2QzYuNzQ4OTYgNC45MTcyMSA2LjY2ODIxIDQuOTMxNjggNi41ODcxIDQuOTI5MzFDNi40MjkxOCA0LjkyNDY5IDYuMjc5MjMgNC44NTY1OSA2LjE2OTExIDQuNzM5NDhDNi4wNTg5OCA0LjYyMjM4IDUuOTk3MzggNC40NjU1IDUuOTk3MzggNC4zMDIxOEM1Ljk5NzM4IDQuMTM4ODYgNi4wNTg5OCAzLjk4MTk4IDYuMTY5MTEgMy44NjQ4OEM2LjI3OTIzIDMuNzQ3NzcgNi40MjkxOCAzLjY3OTY4IDYuNTg3MSAzLjY3NTA2WlwiXG4gICAgICAgICAgICAgIC8+XG4gICAgICAgICAgICA8L21hc2s+XG4gICAgICAgICAgICA8cGF0aFxuICAgICAgICAgICAgICBfbmdjb250ZW50LW5nLWM0MzM2MzY4OTE9XCJcIlxuICAgICAgICAgICAgICBkPVwiTTUuMTMwNTcgMC4yODYyMjRDNy44MTI1MyAwLjI4NjIyNCA5Ljk4NjY1IDIuNTMzNzMgOS45ODY2NSA1LjMwNjIzQzkuOTg2NjUgOC4wNzgyMyA3LjgxMjA1IDEwLjMyNTIgNS4xMzA1NyAxMC4zMjUyQzIuNDQ4NjEgMTAuMzI1NyAwLjI3NDQ5IDguMDc4MjMgMC4yNzQ0OSA1LjMwNjIzQzAuMjc0NDkgMi41MzM3MyAyLjQ0ODYxIDAuMjg2MjI0IDUuMTMwNTcgMC4yODYyMjRaTTUuMTMwNTcgMS4wMzkwOEM0LjU4NDc2IDEuMDMyOTYgNC4wNDMyIDEuMTM4OCAzLjUzNzIzIDEuMzUwNDlDMy4wMzEyNiAxLjU2MjE4IDIuNTcwOTIgMS44NzU1IDIuMTgyODcgMi4yNzIzM0MxLjc5NDgyIDIuNjY5MTUgMS40ODY3NSAzLjE0MTYgMS4yNzY1IDMuNjYyMzNDMS4wNjYyNSA0LjE4MzA1IDAuOTU3OTkgNC43NDE3MiAwLjk1Nzk5IDUuMzA1OThDMC45NTc5OSA1Ljg3MDI1IDEuMDY2MjUgNi40Mjg5MSAxLjI3NjUgNi45NDk2NEMxLjQ4Njc1IDcuNDcwMzYgMS43OTQ4MiA3Ljk0MjgxIDIuMTgyODcgOC4zMzk2NEMyLjU3MDkyIDguNzM2NDYgMy4wMzEyNiA5LjA0OTc5IDMuNTM3MjMgOS4yNjE0N0M0LjA0MzIgOS40NzMxNiA0LjU4NDc2IDkuNTc5MDEgNS4xMzA1NyA5LjU3Mjg5QzYuMjE3NTIgOS41NjA3IDcuMjU1OTQgOS4xMDU3OSA4LjAyMDM5IDguMzA2OTFDOC43ODQ4NSA3LjUwODA0IDkuMjEzNjIgNi40Mjk2OSA5LjIxMzYyIDUuMzA1OThDOS4yMTM2MiA0LjE4MjI4IDguNzg0ODUgMy4xMDM5MyA4LjAyMDM5IDIuMzA1MDVDNy4yNTU5NCAxLjUwNjE4IDYuMjE3NTIgMS4wNTEyNiA1LjEzMDU3IDEuMDM5MDhaTTMuNDEyODMgNi43MDMwMkMzLjYxNzE4IDYuOTcxOTMgMy44NzgwMyA3LjE4OTI1IDQuMTc1NjMgNy4zMzg1NUM0LjQ3MzIzIDcuNDg3ODUgNC43OTk3OCA3LjU2NTIyIDUuMTMwNTcgNy41NjQ3OUM1LjQ2MSA3LjU2NTIgNS43ODcyMSA3LjQ4Nzk4IDYuMDg0NTMgNy4zMzg5NUM2LjM4MTg2IDcuMTg5OTIgNi42NDI1MyA2Ljk3Mjk4IDYuODQ2ODUgNi43MDQ1M0M2Ljg3NjUgNi42NjU3NCA2LjkxMzI1IDYuNjMzMzcgNi45NTUgNi42MDkyNkM2Ljk5Njc1IDYuNTg1MTUgNy4wNDI2OCA2LjU2OTc4IDcuMDkwMTggNi41NjQwM0M3LjEzNzY3IDYuNTU4MjcgNy4xODU4IDYuNTYyMjQgNy4yMzE4MSA2LjU3NTcxQzcuMjc3ODIgNi41ODkxOSA3LjMyMDgyIDYuNjExOSA3LjM1ODM0IDYuNjQyNTRDNy4zOTU4NiA2LjY3MzE5IDcuNDI3MTcgNi43MTExOCA3LjQ1MDQ5IDYuNzU0MzRDNy40NzM4MSA2Ljc5NzUgNy40ODg2OCA2Ljg0NDk4IDcuNDk0MjUgNi44OTQwOEM3LjQ5OTgyIDYuOTQzMTggNy40OTU5OCA2Ljk5MjkzIDcuNDgyOTQgNy4wNDA1QzcuNDY5OTEgNy4wODgwNiA3LjQ0Nzk1IDcuMTMyNTEgNy40MTgzIDcuMTcxM0M3LjE0NTgyIDcuNTI4OTcgNi43OTgzMyA3LjgxOCA2LjQwMjAyIDguMDE2NThDNi4wMDU3MiA4LjIxNTE2IDUuNTcwOTcgOC4zMTgxIDUuMTMwNTcgOC4zMTc2NEM0LjY4OTUzIDguMzE4MDggNC4yNTQxNiA4LjIxNDg0IDMuODU3NCA4LjAxNTcyQzMuNDYwNjQgNy44MTY2IDMuMTEyODcgNy41MjY4MSAyLjg0MDQyIDcuMTY4MjhDMi44MTA4MyA3LjEyOTQzIDIuNzg4OTQgNy4wODQ5MyAyLjc3NTk5IDcuMDM3MzNDMi43NjMwNCA2Ljk4OTczIDIuNzU5MjkgNi45Mzk5NiAyLjc2NDk1IDYuODkwODZDMi43NzA2MSA2Ljg0MTc2IDIuNzg1NTYgNi43OTQzIDIuODA4OTcgNi43NTExN0MyLjgzMjM3IDYuNzA4MDUgMi44NjM3NiA2LjY3MDExIDIuOTAxMzUgNi42Mzk1M0MyLjkzODkzIDYuNjA4OTUgMi45ODE5OCA2LjU4NjMyIDMuMDI4MDIgNi41NzI5M0MzLjA3NDA3IDYuNTU5NTUgMy4xMjIyMSA2LjU1NTY3IDMuMTY5NzEgNi41NjE1MkMzLjIxNzIxIDYuNTY3MzcgMy4yNjMxMiA2LjU4MjgzIDMuMzA0ODQgNi42MDcwMkMzLjM0NjU1IDYuNjMxMjIgMy4zODMyNSA2LjY2MzY3IDMuNDEyODMgNi43MDI1MlY2LjcwMzAyWk0zLjY3NDA0IDMuNjc1MDZDMy43NTUxNSAzLjY3MjY4IDMuODM1ODkgMy42ODcxNSAzLjkxMTUgMy43MTc2QzMuOTg3MTEgMy43NDgwNSA0LjA1NjA0IDMuNzkzODYgNC4xMTQyMiAzLjg1MjMzQzQuMTcyNDEgMy45MTA4IDQuMjE4NjYgMy45ODA3MyA0LjI1MDI0IDQuMDU4QzQuMjgxODIgNC4xMzUyNyA0LjI5ODA5IDQuMjE4MyA0LjI5ODA5IDQuMzAyMThDNC4yOTgwOSA0LjM4NjA2IDQuMjgxODIgNC40NjkwOSA0LjI1MDI0IDQuNTQ2MzZDNC4yMTg2NiA0LjYyMzYzIDQuMTcyNDEgNC42OTM1NiA0LjExNDIyIDQuNzUyMDNDNC4wNTYwNCA0LjgxMDUgMy45ODcxMSA0Ljg1NjMxIDMuOTExNSA0Ljg4Njc2QzMuODM1ODkgNC45MTcyMSAzLjc1NTE1IDQuOTMxNjggMy42NzQwNCA0LjkyOTMxQzMuNTE2MTIgNC45MjQ2OSAzLjM2NjE2IDQuODU2NTkgMy4yNTYwNCA0LjczOTQ4QzMuMTQ1OTIgNC42MjIzOCAzLjA4NDMxIDQuNDY1NSAzLjA4NDMxIDQuMzAyMThDMy4wODQzMSA0LjEzODg2IDMuMTQ1OTIgMy45ODE5OCAzLjI1NjA0IDMuODY0ODhDMy4zNjYxNiAzLjc0Nzc3IDMuNTE2MTIgMy42Nzk2OCAzLjY3NDA0IDMuNjc1MDZaTTYuNTg3MSAzLjY3NTA2QzYuNjY4MjEgMy42NzI2OCA2Ljc0ODk2IDMuNjg3MTUgNi44MjQ1NyAzLjcxNzZDNi45MDAxOCAzLjc0ODA1IDYuOTY5MTEgMy43OTM4NiA3LjAyNzI5IDMuODUyMzNDNy4wODU0NyAzLjkxMDggNy4xMzE3MiAzLjk4MDczIDcuMTYzMyA0LjA1OEM3LjE5NDg4IDQuMTM1MjcgNy4yMTExNiA0LjIxODMgNy4yMTExNiA0LjMwMjE4QzcuMjExMTYgNC4zODYwNiA3LjE5NDg4IDQuNDY5MDkgNy4xNjMzIDQuNTQ2MzZDNy4xMzE3MiA0LjYyMzYzIDcuMDg1NDcgNC42OTM1NiA3LjAyNzI5IDQuNzUyMDNDNi45NjkxMSA0LjgxMDUgNi45MDAxOCA0Ljg1NjMxIDYuODI0NTcgNC44ODY3NkM2Ljc0ODk2IDQuOTE3MjEgNi42NjgyMSA0LjkzMTY4IDYuNTg3MSA0LjkyOTMxQzYuNDI5MTggNC45MjQ2OSA2LjI3OTIzIDQuODU2NTkgNi4xNjkxMSA0LjczOTQ4QzYuMDU4OTggNC42MjIzOCA1Ljk5NzM4IDQuNDY1NSA1Ljk5NzM4IDQuMzAyMThDNS45OTczOCA0LjEzODg2IDYuMDU4OTggMy45ODE5OCA2LjE2OTExIDMuODY0ODhDNi4yNzkyMyAzLjc0Nzc3IDYuNDI5MTggMy42Nzk2OCA2LjU4NzEgMy42NzUwNlpcIlxuICAgICAgICAgICAgICBmaWxsPVwidXJsKCNwYWludDBfbGluZWFyXzc0OF8zMzg3KVwiXG4gICAgICAgICAgICA+PC9wYXRoPlxuICAgICAgICAgICAgPHBhdGhcbiAgICAgICAgICAgICAgX25nY29udGVudC1uZy1jNDMzNjM2ODkxPVwiXCJcbiAgICAgICAgICAgICAgZD1cIk01LjEzMDU3IDAuMjg2MjI0QzcuODEyNTMgMC4yODYyMjQgOS45ODY2NSAyLjUzMzczIDkuOTg2NjUgNS4zMDYyM0M5Ljk4NjY1IDguMDc4MjMgNy44MTIwNSAxMC4zMjUyIDUuMTMwNTcgMTAuMzI1MkMyLjQ0ODYxIDEwLjMyNTcgMC4yNzQ0OSA4LjA3ODIzIDAuMjc0NDkgNS4zMDYyM0MwLjI3NDQ5IDIuNTMzNzMgMi40NDg2MSAwLjI4NjIyNCA1LjEzMDU3IDAuMjg2MjI0Wk01LjEzMDU3IDEuMDM5MDhDNC41ODQ3NiAxLjAzMjk2IDQuMDQzMiAxLjEzODggMy41MzcyMyAxLjM1MDQ5QzMuMDMxMjYgMS41NjIxOCAyLjU3MDkyIDEuODc1NSAyLjE4Mjg3IDIuMjcyMzNDMS43OTQ4MiAyLjY2OTE1IDEuNDg2NzUgMy4xNDE2IDEuMjc2NSAzLjY2MjMzQzEuMDY2MjUgNC4xODMwNSAwLjk1Nzk5IDQuNzQxNzIgMC45NTc5OSA1LjMwNTk4QzAuOTU3OTkgNS44NzAyNSAxLjA2NjI1IDYuNDI4OTEgMS4yNzY1IDYuOTQ5NjRDMS40ODY3NSA3LjQ3MDM2IDEuNzk0ODIgNy45NDI4MSAyLjE4Mjg3IDguMzM5NjRDMi41NzA5MiA4LjczNjQ2IDMuMDMxMjYgOS4wNDk3OSAzLjUzNzIzIDkuMjYxNDdDNC4wNDMyIDkuNDczMTYgNC41ODQ3NiA5LjU3OTAxIDUuMTMwNTcgOS41NzI4OUM2LjIxNzUyIDkuNTYwNyA3LjI1NTk0IDkuMTA1NzkgOC4wMjAzOSA4LjMwNjkxQzguNzg0ODUgNy41MDgwNCA5LjIxMzYyIDYuNDI5NjkgOS4yMTM2MiA1LjMwNTk4QzkuMjEzNjIgNC4xODIyOCA4Ljc4NDg1IDMuMTAzOTMgOC4wMjAzOSAyLjMwNTA1QzcuMjU1OTQgMS41MDYxOCA2LjIxNzUyIDEuMDUxMjYgNS4xMzA1NyAxLjAzOTA4Wk0zLjQxMjgzIDYuNzAzMDJDMy42MTcxOCA2Ljk3MTkzIDMuODc4MDMgNy4xODkyNSA0LjE3NTYzIDcuMzM4NTVDNC40NzMyMyA3LjQ4Nzg1IDQuNzk5NzggNy41NjUyMiA1LjEzMDU3IDcuNTY0NzlDNS40NjEgNy41NjUyIDUuNzg3MjEgNy40ODc5OCA2LjA4NDUzIDcuMzM4OTVDNi4zODE4NiA3LjE4OTkyIDYuNjQyNTMgNi45NzI5OCA2Ljg0Njg1IDYuNzA0NTNDNi44NzY1IDYuNjY1NzQgNi45MTMyNSA2LjYzMzM3IDYuOTU1IDYuNjA5MjZDNi45OTY3NSA2LjU4NTE1IDcuMDQyNjggNi41Njk3OCA3LjA5MDE4IDYuNTY0MDNDNy4xMzc2NyA2LjU1ODI3IDcuMTg1OCA2LjU2MjI0IDcuMjMxODEgNi41NzU3MUM3LjI3NzgyIDYuNTg5MTkgNy4zMjA4MiA2LjYxMTkgNy4zNTgzNCA2LjY0MjU0QzcuMzk1ODYgNi42NzMxOSA3LjQyNzE3IDYuNzExMTggNy40NTA0OSA2Ljc1NDM0QzcuNDczODEgNi43OTc1IDcuNDg4NjggNi44NDQ5OCA3LjQ5NDI1IDYuODk0MDhDNy40OTk4MiA2Ljk0MzE4IDcuNDk1OTggNi45OTI5MyA3LjQ4Mjk0IDcuMDQwNUM3LjQ2OTkxIDcuMDg4MDYgNy40NDc5NSA3LjEzMjUxIDcuNDE4MyA3LjE3MTNDNy4xNDU4MiA3LjUyODk3IDYuNzk4MzMgNy44MTggNi40MDIwMiA4LjAxNjU4QzYuMDA1NzIgOC4yMTUxNiA1LjU3MDk3IDguMzE4MSA1LjEzMDU3IDguMzE3NjRDNC42ODk1MyA4LjMxODA4IDQuMjU0MTYgOC4yMTQ4NCAzLjg1NzQgOC4wMTU3MkMzLjQ2MDY0IDcuODE2NiAzLjExMjg3IDcuNTI2ODEgMi44NDA0MiA3LjE2ODI4QzIuODEwODMgNy4xMjk0MyAyLjc4ODk0IDcuMDg0OTMgMi43NzU5OSA3LjAzNzMzQzIuNzYzMDQgNi45ODk3MyAyLjc1OTI5IDYuOTM5OTYgMi43NjQ5NSA2Ljg5MDg2QzIuNzcwNjEgNi44NDE3NiAyLjc4NTU2IDYuNzk0MyAyLjgwODk3IDYuNzUxMTdDMi44MzIzNyA2LjcwODA1IDIuODYzNzYgNi42NzAxMSAyLjkwMTM1IDYuNjM5NTNDMi45Mzg5MyA2LjYwODk1IDIuOTgxOTggNi41ODYzMiAzLjAyODAyIDYuNTcyOTNDMy4wNzQwNyA2LjU1OTU1IDMuMTIyMjEgNi41NTU2NyAzLjE2OTcxIDYuNTYxNTJDMy4yMTcyMSA2LjU2NzM3IDMuMjYzMTIgNi41ODI4MyAzLjMwNDg0IDYuNjA3MDJDMy4zNDY1NSA2LjYzMTIyIDMuMzgzMjUgNi42NjM2NyAzLjQxMjgzIDYuNzAyNTJWNi43MDMwMlpNMy42NzQwNCAzLjY3NTA2QzMuNzU1MTUgMy42NzI2OCAzLjgzNTg5IDMuNjg3MTUgMy45MTE1IDMuNzE3NkMzLjk4NzExIDMuNzQ4MDUgNC4wNTYwNCAzLjc5Mzg2IDQuMTE0MjIgMy44NTIzM0M0LjE3MjQxIDMuOTEwOCA0LjIxODY2IDMuOTgwNzMgNC4yNTAyNCA0LjA1OEM0LjI4MTgyIDQuMTM1MjcgNC4yOTgwOSA0LjIxODMgNC4yOTgwOSA0LjMwMjE4QzQuMjk4MDkgNC4zODYwNiA0LjI4MTgyIDQuNDY5MDkgNC4yNTAyNCA0LjU0NjM2QzQuMjE4NjYgNC42MjM2MyA0LjE3MjQxIDQuNjkzNTYgNC4xMTQyMiA0Ljc1MjAzQzQuMDU2MDQgNC44MTA1IDMuOTg3MTEgNC44NTYzMSAzLjkxMTUgNC44ODY3NkMzLjgzNTg5IDQuOTE3MjEgMy43NTUxNSA0LjkzMTY4IDMuNjc0MDQgNC45MjkzMUMzLjUxNjEyIDQuOTI0NjkgMy4zNjYxNiA0Ljg1NjU5IDMuMjU2MDQgNC43Mzk0OEMzLjE0NTkyIDQuNjIyMzggMy4wODQzMSA0LjQ2NTUgMy4wODQzMSA0LjMwMjE4QzMuMDg0MzEgNC4xMzg4NiAzLjE0NTkyIDMuOTgxOTggMy4yNTYwNCAzLjg2NDg4QzMuMzY2MTYgMy43NDc3NyAzLjUxNjEyIDMuNjc5NjggMy42NzQwNCAzLjY3NTA2Wk02LjU4NzEgMy42NzUwNkM2LjY2ODIxIDMuNjcyNjggNi43NDg5NiAzLjY4NzE1IDYuODI0NTcgMy43MTc2QzYuOTAwMTggMy43NDgwNSA2Ljk2OTExIDMuNzkzODYgNy4wMjcyOSAzLjg1MjMzQzcuMDg1NDcgMy45MTA4IDcuMTMxNzIgMy45ODA3MyA3LjE2MzMgNC4wNThDNy4xOTQ4OCA0LjEzNTI3IDcuMjExMTYgNC4yMTgzIDcuMjExMTYgNC4zMDIxOEM3LjIxMTE2IDQuMzg2MDYgNy4xOTQ4OCA0LjQ2OTA5IDcuMTYzMyA0LjU0NjM2QzcuMTMxNzIgNC42MjM2MyA3LjA4NTQ3IDQuNjkzNTYgNy4wMjcyOSA0Ljc1MjAzQzYuOTY5MTEgNC44MTA1IDYuOTAwMTggNC44NTYzMSA2LjgyNDU3IDQuODg2NzZDNi43NDg5NiA0LjkxNzIxIDYuNjY4MjEgNC45MzE2OCA2LjU4NzEgNC45MjkzMUM2LjQyOTE4IDQuOTI0NjkgNi4yNzkyMyA0Ljg1NjU5IDYuMTY5MTEgNC43Mzk0OEM2LjA1ODk4IDQuNjIyMzggNS45OTczOCA0LjQ2NTUgNS45OTczOCA0LjMwMjE4QzUuOTk3MzggNC4xMzg4NiA2LjA1ODk4IDMuOTgxOTggNi4xNjkxMSAzLjg2NDg4QzYuMjc5MjMgMy43NDc3NyA2LjQyOTE4IDMuNjc5NjggNi41ODcxIDMuNjc1MDZaXCJcbiAgICAgICAgICAgICAgc3Ryb2tlPVwidXJsKCNwYWludDBfbGluZWFyXzc0OF8zMzg3KVwiXG4gICAgICAgICAgICAgIGZpbGw9XCJ1cmwoI3BhaW50MF9saW5lYXJfNzQ4XzMzODcpXCJcbiAgICAgICAgICAgICAgc3Ryb2tlLXdpZHRoPVwiMC40OTI1MzVcIlxuICAgICAgICAgICAgICBtYXNrPVwidXJsKCNwYXRoLTEtb3V0c2lkZS0xXzQyMl8zNDE0KVwiXG4gICAgICAgICAgICA+PC9wYXRoPlxuICAgICAgICAgIDwvZz5cbiAgICAgICAgICA8ZGVmcyB4bWxucz1cImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnXCI+XG4gICAgICAgICAgICA8ZmlsdGVyIGlkPVwiZmlsdGVyMF9kXzc0OF83Njg1XCIgeD1cIjBcIiB5PVwiMFwiIHdpZHRoPVwiMzBcIiBoZWlnaHQ9XCIzMFwiIGZpbHRlclVuaXRzPVwidXNlclNwYWNlT25Vc2VcIiBjb2xvci1pbnRlcnBvbGF0aW9uLWZpbHRlcnM9XCJzUkdCXCI+XG4gICAgICAgICAgICAgIDxmZUZsb29kIGZsb29kLW9wYWNpdHk9XCIwXCIgcmVzdWx0PVwiQmFja2dyb3VuZEltYWdlRml4XCIgLz5cbiAgICAgICAgICAgICAgPGZlQ29sb3JNYXRyaXggaW49XCJTb3VyY2VBbHBoYVwiIHR5cGU9XCJtYXRyaXhcIiB2YWx1ZXM9XCIwIDAgMCAwIDAgMCAwIDAgMCAwIDAgMCAwIDAgMCAwIDAgMCAxMjcgMFwiIHJlc3VsdD1cImhhcmRBbHBoYVwiIC8+XG4gICAgICAgICAgICAgIDxmZU9mZnNldCAvPlxuICAgICAgICAgICAgICA8ZmVHYXVzc2lhbkJsdXIgc3RkRGV2aWF0aW9uPVwiMlwiIC8+XG4gICAgICAgICAgICAgIDxmZUNvbXBvc2l0ZSBpbjI9XCJoYXJkQWxwaGFcIiBvcGVyYXRvcj1cIm91dFwiIC8+XG4gICAgICAgICAgICAgIDxmZUNvbG9yTWF0cml4IHR5cGU9XCJtYXRyaXhcIiB2YWx1ZXM9XCIwIDAgMCAwIDEgMCAwIDAgMCAwLjA5NjE1MzggMCAwIDAgMCAwLjU5MzI2OSAwIDAgMCAxIDBcIiAvPlxuICAgICAgICAgICAgICA8ZmVCbGVuZCBtb2RlPVwibm9ybWFsXCIgaW4yPVwiQmFja2dyb3VuZEltYWdlRml4XCIgcmVzdWx0PVwiZWZmZWN0MV9kcm9wU2hhZG93Xzc0OF83Njg1XCIgLz5cbiAgICAgICAgICAgICAgPGZlQmxlbmQgbW9kZT1cIm5vcm1hbFwiIGluPVwiU291cmNlR3JhcGhpY1wiIGluMj1cImVmZmVjdDFfZHJvcFNoYWRvd183NDhfNzY4NVwiIHJlc3VsdD1cInNoYXBlXCIgLz5cbiAgICAgICAgICAgIDwvZmlsdGVyPlxuICAgICAgICAgICAgPGxpbmVhckdyYWRpZW50IGlkPVwicGFpbnQwX2xpbmVhcl83NDhfNzY4NVwiIHgxPVwiMTQuMTUwOVwiIHkxPVwiMy40MzM3MlwiIHgyPVwiMC45OTI3OTlcIiB5Mj1cIjI2Ljc3MTVcIiBncmFkaWVudFVuaXRzPVwidXNlclNwYWNlT25Vc2VcIj5cbiAgICAgICAgICAgICAgPHN0b3Agc3RvcC1jb2xvcj1cIiNGRTNDNzJcIiAvPlxuICAgICAgICAgICAgICA8c3RvcCBvZmZzZXQ9XCIwLjM4NDYxNVwiIHN0b3AtY29sb3I9XCIjRkZCNUU5XCIgLz5cbiAgICAgICAgICAgIDwvbGluZWFyR3JhZGllbnQ+XG4gICAgICAgICAgICA8bGluZWFyR3JhZGllbnQgaWQ9XCJwYWludDBfbGluZWFyXzc0OF8zMzg3XCIgeDE9XCIxOC41MTM0XCIgeTE9XCIyLjgxMDk3XCIgeDI9XCIwLjE2Mjc3M1wiIHkyPVwiMzUuMzU1NlwiIGdyYWRpZW50VW5pdHM9XCJ1c2VyU3BhY2VPblVzZVwiPlxuICAgICAgICAgICAgICA8c3RvcCBzdG9wLWNvbG9yPVwiI0ZFM0M3MlwiIC8+XG4gICAgICAgICAgICAgIDxzdG9wIG9mZnNldD1cIjAuMzg0NjE1XCIgc3RvcC1jb2xvcj1cIiNGRkI1RTlcIiAvPlxuICAgICAgICAgICAgPC9saW5lYXJHcmFkaWVudD5cbiAgICAgICAgICA8L2RlZnM+XG4gICAgICAgIDwvc3ZnPlxuICAgICAgPC9kaXY+XG4gICAgICBAaWYgKGVuYWJsZUdpZlBpY2tlcikge1xuICAgICAgICA8ZGl2IGNsYXNzPVwiZ2lmc1wiIChjbGljayk9XCJoYW5kbGVHaWZQaWNrZXJDbGljaygpXCI+PC9kaXY+XG4gICAgICAgIDxkaXYgY2xhc3M9XCJnaWZzXCIgKm5nSWY9XCJpbmNsdWRlR2lmTWVzc2FnZVwiIChjbGljayk9XCJoYW5kbGVHaWZQaWNrZXJDbGljaygpXCI+XG4gICAgICAgICAgPHN2ZyB2aWV3Qm94PVwiMCAwIDExIDEyXCIgZmlsbD1cIm5vbmVcIiB4bWxucz1cImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnXCI+XG4gICAgICAgICAgICA8Zz5cbiAgICAgICAgICAgICAgPHBhdGhcbiAgICAgICAgICAgICAgICBkPVwiTTcuMDU1IDEwLjk5OTVINC44OTlDMy4yNTM1IDEwLjk5OTUgMi40MzA1IDEwLjk5OTUgMS44NTkgMTAuNjAwNUMxLjY5Njk0IDEwLjQ4NzMgMS41NTE2NyAxMC4zNTE4IDEuNDI3NSAxMC4xOThDMSA5LjY2NTAxIDEgOC44OTgwMSAxIDcuMzYzMDFWNi4wOTA1MUMxIDQuNjA5MDEgMSAzLjg2ODAxIDEuMjM2NSAzLjI3NjUxQzEuNjE3IDIuMzI1MDEgMi40MjE1IDEuNTc1MDEgMy40NDE1IDEuMjIwMDFDNC4wNzUgMC45OTk1MTIgNC44NyAwLjk5OTUxMiA2LjQ1ODUgMC45OTk1MTJDNy4zNjY1IDAuOTk5NTEyIDcuODIgMC45OTk1MTIgOC4xODI1IDEuMTI1NTFDOC43NjU1IDEuMzI4NTEgOS4yMjUgMS43NTcwMSA5LjQ0MjUgMi4zMDA1MUM5LjU3NzUgMi42Mzg1MSA5LjU3NzUgMy4wNjIwMSA5LjU3NzUgMy45MDg1MVY0Ljk5OTUxXCJcbiAgICAgICAgICAgICAgICBzdHJva2U9XCJ1cmwoI3BhaW50MF9saW5lYXJfNzQ4XzMzODcpXCJcbiAgICAgICAgICAgICAgICBzdHJva2Utd2lkdGg9XCIwLjc1XCJcbiAgICAgICAgICAgICAgICBzdHJva2UtbGluZWNhcD1cInJvdW5kXCJcbiAgICAgICAgICAgICAgICBzdHJva2UtbGluZWpvaW49XCJyb3VuZFwiXG4gICAgICAgICAgICAgIC8+XG4gICAgICAgICAgICAgIDxwYXRoXG4gICAgICAgICAgICAgICAgZD1cIk0xIDUuOTk5NTFDMSA1LjA3OTUxIDEuNzUzIDQuMzMzMDEgMi42ODIgNC4zMzMwMUMzLjAxOCA0LjMzMzAxIDMuNDE0IDQuMzkxMDEgMy43NDA1IDQuMzA0NTFDMy44ODI4MSA0LjI2NzM2IDQuMDEyNzggNC4xOTMyOCA0LjExNzI2IDQuMDg5NzZDNC4yMjE3NCAzLjk4NjI0IDQuMjk3MDMgMy44NTY5NyA0LjMzNTUgMy43MTUwMUM0LjQyMjUgMy4zOTE1MSA0LjM2NCAyLjk5OTAxIDQuMzY0IDIuNjY2MDFDNC4zNjQgMS43NDYwMSA1LjExNyAwLjk5OTUxMiA2LjA0NSAwLjk5OTUxMk02LjA0NiA4Ljk5OTUxSDcuMzA3NU00LjgzMyA2LjkyNDUxQzQuNzcgNi41MjQ1MSA0LjY5MjUgNi41MjQwMSA0LjAyOCA2LjQ5OTUxSDMuNTIzQzMuMjQ0NSA2LjQ5OTUxIDMuMDE4NSA2LjcyMzUxIDMuMDE4NSA2Ljk5OTUxVjguNDk5NTFDMy4wMTg1IDguNzc1NTEgMy4yNDQ1IDguOTk5NTEgMy41MjM1IDguOTk5NTFINC40MzE1QzQuNjI2NSA4Ljk5OTUxIDQuODMzIDguODQzMDEgNC44MzMgOC42NDk1MVY4LjA5OTUxQzQuODMzIDguMDQ0NTEgNC43NzY1IDcuOTQ3NTEgNC43MjEgNy45NDc1MUg0LjE1OU02LjA0NiA2LjQ5OTUxSDYuNjc2NU02LjY3NjUgNi40OTk1MUg3LjMwNzVNNi42NzY1IDYuNDk5NTFWOC45MzcwMU0xMC4yNTA1IDYuNDk5NTFIOC45ODlDOC43MTA1IDYuNDk5NTEgOC40ODQ1IDYuNzIzNTEgOC40ODQ1IDYuOTk5NTFWNy43NDk1MU04LjQ4NDUgNy43NDk1MVY4Ljk5OTUxTTguNDg0NSA3Ljc0OTUxSDkuNzQ2XCJcbiAgICAgICAgICAgICAgICBzdHJva2U9XCJ1cmwoI3BhaW50MF9saW5lYXJfNzQ4XzMzODcpXCJcbiAgICAgICAgICAgICAgICBzdHJva2Utd2lkdGg9XCIwLjc1XCJcbiAgICAgICAgICAgICAgICBzdHJva2UtbGluZWNhcD1cInJvdW5kXCJcbiAgICAgICAgICAgICAgICBzdHJva2UtbGluZWpvaW49XCJyb3VuZFwiXG4gICAgICAgICAgICAgIC8+XG4gICAgICAgICAgICA8L2c+XG4gICAgICAgICAgICA8ZGVmcyB4bWxucz1cImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnXCI+XG4gICAgICAgICAgICAgIDxmaWx0ZXIgaWQ9XCJmaWx0ZXIwX2RfNzQ4Xzc2ODVcIiB4PVwiMFwiIHk9XCIwXCIgd2lkdGg9XCIzMFwiIGhlaWdodD1cIjMwXCIgZmlsdGVyVW5pdHM9XCJ1c2VyU3BhY2VPblVzZVwiIGNvbG9yLWludGVycG9sYXRpb24tZmlsdGVycz1cInNSR0JcIj5cbiAgICAgICAgICAgICAgICA8ZmVGbG9vZCBmbG9vZC1vcGFjaXR5PVwiMFwiIHJlc3VsdD1cIkJhY2tncm91bmRJbWFnZUZpeFwiIC8+XG4gICAgICAgICAgICAgICAgPGZlQ29sb3JNYXRyaXggaW49XCJTb3VyY2VBbHBoYVwiIHR5cGU9XCJtYXRyaXhcIiB2YWx1ZXM9XCIwIDAgMCAwIDAgMCAwIDAgMCAwIDAgMCAwIDAgMCAwIDAgMCAxMjcgMFwiIHJlc3VsdD1cImhhcmRBbHBoYVwiIC8+XG4gICAgICAgICAgICAgICAgPGZlT2Zmc2V0IC8+XG4gICAgICAgICAgICAgICAgPGZlR2F1c3NpYW5CbHVyIHN0ZERldmlhdGlvbj1cIjJcIiAvPlxuICAgICAgICAgICAgICAgIDxmZUNvbXBvc2l0ZSBpbjI9XCJoYXJkQWxwaGFcIiBvcGVyYXRvcj1cIm91dFwiIC8+XG4gICAgICAgICAgICAgICAgPGZlQ29sb3JNYXRyaXggdHlwZT1cIm1hdHJpeFwiIHZhbHVlcz1cIjAgMCAwIDAgMSAwIDAgMCAwIDAuMDk2MTUzOCAwIDAgMCAwIDAuNTkzMjY5IDAgMCAwIDEgMFwiIC8+XG4gICAgICAgICAgICAgICAgPGZlQmxlbmQgbW9kZT1cIm5vcm1hbFwiIGluMj1cIkJhY2tncm91bmRJbWFnZUZpeFwiIHJlc3VsdD1cImVmZmVjdDFfZHJvcFNoYWRvd183NDhfNzY4NVwiIC8+XG4gICAgICAgICAgICAgICAgPGZlQmxlbmQgbW9kZT1cIm5vcm1hbFwiIGluPVwiU291cmNlR3JhcGhpY1wiIGluMj1cImVmZmVjdDFfZHJvcFNoYWRvd183NDhfNzY4NVwiIHJlc3VsdD1cInNoYXBlXCIgLz5cbiAgICAgICAgICAgICAgPC9maWx0ZXI+XG4gICAgICAgICAgICAgIDxsaW5lYXJHcmFkaWVudCBpZD1cInBhaW50MF9saW5lYXJfNzQ4Xzc2ODVcIiB4MT1cIjE0LjE1MDlcIiB5MT1cIjMuNDMzNzJcIiB4Mj1cIjAuOTkyNzk5XCIgeTI9XCIyNi43NzE1XCIgZ3JhZGllbnRVbml0cz1cInVzZXJTcGFjZU9uVXNlXCI+XG4gICAgICAgICAgICAgICAgPHN0b3Agc3RvcC1jb2xvcj1cIiNGRTNDNzJcIiAvPlxuICAgICAgICAgICAgICAgIDxzdG9wIG9mZnNldD1cIjAuMzg0NjE1XCIgc3RvcC1jb2xvcj1cIiNGRkI1RTlcIiAvPlxuICAgICAgICAgICAgICA8L2xpbmVhckdyYWRpZW50PlxuICAgICAgICAgICAgICA8bGluZWFyR3JhZGllbnQgaWQ9XCJwYWludDBfbGluZWFyXzc0OF8zMzg3XCIgeDE9XCIxOC41MTM0XCIgeTE9XCIyLjgxMDk3XCIgeDI9XCIwLjE2Mjc3M1wiIHkyPVwiMzUuMzU1NlwiIGdyYWRpZW50VW5pdHM9XCJ1c2VyU3BhY2VPblVzZVwiPlxuICAgICAgICAgICAgICAgIDxzdG9wIHN0b3AtY29sb3I9XCIjRkUzQzcyXCIgLz5cbiAgICAgICAgICAgICAgICA8c3RvcCBvZmZzZXQ9XCIwLjM4NDYxNVwiIHN0b3AtY29sb3I9XCIjRkZCNUU5XCIgLz5cbiAgICAgICAgICAgICAgPC9saW5lYXJHcmFkaWVudD5cbiAgICAgICAgICAgIDwvZGVmcz5cbiAgICAgICAgICA8L3N2Zz5cbiAgICAgICAgPC9kaXY+XG4gICAgICB9XG4gICAgPC9kaXY+XG4gICAgPGRpdiBjbGFzcz1cImVtb2ppLXBpY2tlci1zcGFjZVwiIFtuZ1N0eWxlXT1cInsgJ3otaW5kZXgnOiAhKGdpZlZpc2liaWxpdHkgfHwgZW1vamlWaXNpYmlsaXR5KSA/IC0xIDogMTEgfVwiIChibHVyKT1cIm9uQmx1clBpY2tlclNwYWNlKClcIj5cbiAgICAgIEBpZiAoZ2lmVmlzaWJpbGl0eSAmJiBlbmFibGVHaWZQaWNrZXIpIHtcbiAgICAgICAgPGxpYi1naWYtc2VsZWN0b3IgKHNlbGVjdEdpZik9XCJvbkdpZkNsaWNrKCRldmVudClcIj48L2xpYi1naWYtc2VsZWN0b3I+XG4gICAgICB9XG4gICAgICBAaWYgKGVtb2ppUGlja2VyT3BlbmVkKSB7XG4gICAgICAgIDxlbW9qaS1waWNrZXIgI2Vtb2ppUGlja2VyIFtuZ1N0eWxlXT1cInsgZGlzcGxheTogZW1vamlWaXNpYmlsaXR5ID8gJycgOiAnbm9uZScgfVwiIGVtb2ppLXZlcnNpb249XCIxNS4wXCIgKGVtb2ppLWNsaWNrKT1cIm9uRW1vamljbGljaygkZXZlbnQpXCI+PC9lbW9qaS1waWNrZXI+XG4gICAgICB9XG4gICAgPC9kaXY+XG4gIDwvZm9ybT5cbjwvZGl2PlxuIl19
310
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2hhdC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9kYXNoYm9hcmQtY29tcG9uZW50cy1saWIvc3JjL2xpYi9jb21wb25lbnRzL2NoYXQvY2hhdC5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9kYXNoYm9hcmQtY29tcG9uZW50cy1saWIvc3JjL2xpYi9jb21wb25lbnRzL2NoYXQvY2hhdC5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBRUwsdUJBQXVCLEVBQ3ZCLGlCQUFpQixFQUNqQixTQUFTLEVBQ1QsVUFBVSxFQUNWLFlBQVksRUFDWixNQUFNLEVBQ04sS0FBSyxFQUlMLE1BQU0sRUFDTixTQUFTLEVBRVQsU0FBUyxHQUNWLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFBRSxXQUFXLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUNoRSxPQUFPLHNCQUFzQixDQUFDO0FBQzlCLE9BQU8sRUFBRSxLQUFLLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFFN0IsT0FBTyxFQUFFLHdCQUF3QixFQUFFLE1BQU0sMkRBQTJELENBQUM7QUFDckcsT0FBTyxFQUF1QixpQkFBaUIsRUFBRSxNQUFNLHdCQUF3QixDQUFDO0FBQ2hGLE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUM3QyxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sMkJBQTJCLENBQUM7QUFHeEQsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLHFDQUFxQyxDQUFDOzs7Ozs7OztBQWV0RSxNQUFNLE9BQU8sYUFBYTtJQWIxQjtRQWNXLFlBQU8sR0FBYSxLQUFLLENBQUM7UUFDMUIsaUJBQVksR0FBWSxhQUFhLENBQUM7UUFTL0MscURBQXFEO1FBQzVDLHNCQUFpQixHQUFZLElBQUksQ0FBQztRQUMzQyxvREFBb0Q7UUFDM0MsZ0JBQVcsR0FBWSxJQUFJLENBQUM7UUFLckMsZ0NBQWdDO1FBQ3ZCLGNBQVMsR0FBVyxHQUFHLENBQUM7UUFFeEIsb0JBQWUsR0FBWSxLQUFLLENBQUM7UUFJMUMsdUJBQXVCO1FBQ2IsZ0JBQVcsR0FBRyxJQUFJLFlBQVksRUFBWSxDQUFDO1FBQ3JELDBDQUEwQztRQUNoQyxnQkFBVyxHQUFHLElBQUksWUFBWSxFQUFXLENBQUM7UUFFM0MsYUFBUSxHQUFZLEtBQUssQ0FBQztRQU0zQixRQUFHLEdBQUcsTUFBTSxDQUFDLGlCQUFpQixDQUFDLENBQUM7UUFDaEMsZUFBVSxHQUFHLE1BQU0sQ0FBQyxVQUFVLENBQUMsQ0FBQztRQUNoQyxzQkFBaUIsR0FBRyxNQUFNLENBQUMsaUJBQWlCLENBQUMsQ0FBQztRQUM5QyxnQkFBVyxHQUFHLE1BQU0sQ0FBQyxXQUFXLENBQUMsQ0FBQztRQUVsQyxhQUFRLEdBQUcsTUFBTSxDQUFDLFNBQVMsQ0FBQyxDQUFDO1FBRTlCLG9CQUFlLEdBQUcsR0FBRyxDQUFDO1FBQ3RCLGFBQVEsR0FBb0IsRUFBRSxDQUFDO1FBRS9CLGdCQUFXLEdBQXdCLElBQUksV0FBVyxDQUFDLEVBQUUsQ0FBQyxDQUFDO1FBRXZELGdCQUFXLEdBQWtCLElBQUksQ0FBQztRQUVsQyxvQkFBZSxHQUFZLEtBQUssQ0FBQztRQUNqQyxrQkFBYSxHQUFZLEtBQUssQ0FBQztRQUMvQixrQkFBYSxHQUFZLEtBQUssQ0FBQztRQUMvQixzQkFBaUIsR0FBWSxLQUFLLENBQUM7UUFFbkMsUUFBRyxHQUFXLEVBQUUsQ0FBQztRQUdqQixhQUFRLEdBQUcsQ0FBQyxDQUFDO1FBQ2IsYUFBUSxHQUFHLENBQUMsQ0FBQztRQUNKLG1CQUFjLEdBQUcsd0JBQXdCLENBQUM7UUFFbEQsMEJBQXFCLEdBQXdCLElBQUksQ0FBQztLQXlPM0Q7SUFyU0MseUJBQXlCO0lBQ3pCLElBQWEsVUFBVSxDQUFDLEtBQWE7UUFDbkMsSUFBSSxLQUFLLEVBQUUsQ0FBQztZQUNWLElBQUksQ0FBQyxXQUFXLENBQUMsUUFBUSxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBQ25DLENBQUM7SUFDSCxDQUFDO0lBT0QsaURBQWlEO0lBQ2pELElBQWEsWUFBWSxDQUFDLEtBQWlCO1FBQ3pDLElBQUksQ0FBQyxRQUFRLEdBQUcsSUFBSSxDQUFDLFdBQVcsQ0FBQyxpQkFBaUIsQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUM1RCxDQUFDO0lBK0NELFFBQVE7UUFDTixJQUFJLENBQUMsSUFBSSxDQUFDLGdCQUFnQixFQUFFLENBQUM7WUFDM0IsSUFBSSxDQUFDLGdCQUFnQixHQUFHLElBQUksQ0FBQztRQUMvQixDQUFDO1FBRUQsSUFBSSxDQUFDLFdBQVcsQ0FBQyw2QkFBNkIsRUFBRSxDQUFDLFNBQVMsQ0FBQztZQUN6RCxJQUFJLEVBQUUsQ0FBQyxHQUFHLEVBQUUsRUFBRTtnQkFDWixJQUFJLENBQUMsZ0JBQWdCLEdBQUcsR0FBRyxDQUFDO1lBQzlCLENBQUM7U0FDRixDQUFDLENBQUM7UUFFSCxJQUFJLElBQUksQ0FBQyxRQUFRLEVBQUUsQ0FBQztZQUNsQixJQUFJLENBQUMsV0FBVyxDQUFDLE9BQU8sRUFBRSxDQUFDO1FBQzdCLENBQUM7SUFDSCxDQUFDO0lBRUQsV0FBVztRQUNULElBQUksQ0FBQyw4QkFBOEIsRUFBRSxDQUFDO1FBQ3RDLElBQUksSUFBSSxDQUFDLGlCQUFpQixDQUFDLFdBQVcsRUFBRSxFQUFFLENBQUM7WUFDekMsSUFBSSxDQUFDLGlCQUFpQixDQUFDLElBQUksRUFBRSxDQUFDO1FBQ2hDLENBQUM7SUFDSCxDQUFDO0lBRUQsZUFBZTtRQUNiLElBQUksSUFBSSxDQUFDLGlCQUFpQixFQUFFLEtBQUssRUFBRSxDQUFDO1lBQ2xDLElBQUksSUFBSSxDQUFDLGNBQWMsRUFBRSxhQUFhLEVBQUUsQ0FBQztnQkFDdkMsTUFBTSxLQUFLLEdBQUcsUUFBUSxDQUFDLGFBQWEsQ0FBQyxPQUFPLENBQUMsQ0FBQztnQkFDOUMsS0FBSyxDQUFDLFdBQVcsR0FBRyxJQUFJLENBQUMsaUJBQWlCLENBQUMsS0FBSyxDQUFDO2dCQUNqRCxJQUFJLENBQUMsY0FBYyxDQUFDLGFBQWEsQ0FBQyxVQUFVLENBQUMsV0FBVyxDQUFDLEtBQUssQ0FBQyxDQUFDO1lBQ2xFLENBQUM7UUFDSCxDQUFDO1FBRUQsSUFBSSxDQUFDLGNBQWMsRUFBRSxDQUFDO0lBQ3hCLENBQUM7SUFFRCxXQUFXLENBQUMsT0FBc0I7UUFDaEMsSUFBSSxDQUFDLElBQUksQ0FBQyxtQkFBbUI7WUFBRSxPQUFPO1FBQ3RDLE1BQU0sU0FBUyxHQUFHLElBQUksQ0FBQyxtQkFBbUIsQ0FBQyxhQUFhLENBQUM7UUFDekQsTUFBTSxTQUFTLEdBQUcsU0FBUyxDQUFDLFNBQVMsQ0FBQztRQUN0QyxNQUFNLFlBQVksR0FBRyxTQUFTLENBQUMsWUFBWSxDQUFDO1FBQzVDLE1BQU0sWUFBWSxHQUFHLFNBQVMsQ0FBQyxZQUFZLENBQUM7UUFFNUMsSUFBSSxDQUFDLENBQUMsU0FBUyxHQUFHLFlBQVksR0FBRyxZQUFZLEdBQUcsSUFBSSxDQUFDLGVBQWUsQ0FBQyxFQUFFLENBQUM7WUFDdEUsVUFBVSxDQUFDLEdBQUcsRUFBRTtnQkFDZCxJQUFJLENBQUMsY0FBYyxFQUFFLENBQUM7WUFDeEIsQ0FBQyxFQUFFLEdBQUcsQ0FBQyxDQUFDO1FBQ1YsQ0FBQztJQUNILENBQUM7SUFFTSxhQUFhO1FBQ2xCLElBQUksQ0FBQyxXQUFXLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDO0lBQzlCLENBQUM7SUFFRCxzQkFBc0I7UUFDcEIsVUFBVSxDQUFDLEdBQUcsRUFBRTtZQUNkLElBQUksQ0FBQyxJQUFJLENBQUMsYUFBYTtnQkFBRSxJQUFJLENBQUMsY0FBYyxFQUFFLENBQUM7UUFDakQsQ0FBQyxFQUFFLEdBQUcsQ0FBQyxDQUFDO0lBQ1YsQ0FBQztJQUVELGdCQUFnQixDQUFDLEtBQVk7UUFDM0IsTUFBTSxTQUFTLEdBQUcsSUFBSSxDQUFDLG1CQUFtQixDQUFDLGFBQWEsQ0FBQztRQUN6RCxNQUFNLFNBQVMsR0FBRyxTQUFTLENBQUMsU0FBUyxDQUFDO1FBQ3RDLE1BQU0sWUFBWSxHQUFHLFNBQVMsQ0FBQyxZQUFZLENBQUM7UUFDNUMsTUFBTSxZQUFZLEdBQUcsU0FBUyxDQUFDLFlBQVksQ0FBQztRQUU1QyxJQUFJLENBQUMsYUFBYSxHQUFHLFNBQVMsR0FBRyxZQUFZLEdBQUcsWUFBWSxHQUFHLElBQUksQ0FBQyxlQUFlLENBQUM7SUFDdEYsQ0FBQztJQUVELGNBQWM7UUFDWixNQUFNLFNBQVMsR0FBRyxJQUFJLENBQUMsbUJBQW1CLENBQUMsYUFBYSxDQUFDO1FBQ3pELFNBQVMsQ0FBQyxTQUFTLEdBQUcsU0FBUyxDQUFDLFlBQVksQ0FBQztJQUMvQyxDQUFDO0lBRU0sWUFBWSxDQUFDLEtBQWtCO1FBQ3BDLE1BQU0sS0FBSyxHQUFHLEtBQUssQ0FBQyxNQUFNLENBQUMsT0FBTyxDQUFDO1FBQ25DLElBQUksSUFBSSxDQUFDLFNBQVMsQ0FBQyxhQUFhLEVBQUUsQ0FBQztZQUNqQyxNQUFNLGVBQWUsR0FBRyxJQUFJLENBQUMsU0FBUyxDQUFDLGFBQWEsQ0FBQyxhQUFhLENBQUM7WUFDbkUsTUFBTSxLQUFLLEdBQUcsZUFBZSxDQUFDLGNBQWMsSUFBSSxDQUFDLENBQUM7WUFDbEQsTUFBTSxHQUFHLEdBQUcsZUFBZSxDQUFDLFlBQVksSUFBSSxDQUFDLENBQUM7WUFFOUMsTUFBTSxXQUFXLEdBQUcsSUFBSSxDQUFDLFdBQVcsQ0FBQyxLQUFLLElBQUksRUFBRSxDQUFDO1lBQ2pELE1BQU0sT0FBTyxHQUFHLFdBQVcsQ0FBQyxLQUFLLENBQUMsQ0FBQyxFQUFFLEtBQUssQ0FBQyxHQUFHLEtBQUssR0FBRyxXQUFXLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQyxDQUFDO1lBRTdFLElBQUksQ0FBQyxXQUFXLENBQUMsUUFBUSxDQUFDLE9BQU8sQ0FBQyxDQUFDO1lBRW5DLDBDQUEwQztZQUMxQyxVQUFVLENBQUMsR0FBRyxFQUFFO2dCQUNkLGVBQWUsQ0FBQyxLQUFLLEVBQUUsQ0FBQyxDQUFDLDJDQUEyQztnQkFDcEUsZUFBZSxDQUFDLGlCQUFpQixDQUFDLEtBQUssR0FBRyxLQUFLLENBQUMsTUFBTSxFQUFFLEtBQUssR0FBRyxLQUFLLENBQUMsTUFBTSxDQUFDLENBQUM7WUFDaEYsQ0FBQyxDQUFDLENBQUM7UUFDTCxDQUFDO0lBQ0gsQ0FBQztJQUVNLHNCQUFzQjtRQUMzQixJQUFJLElBQUksQ0FBQyxPQUFPLEVBQUUsQ0FBQztZQUNqQixPQUFPO1FBQ1QsQ0FBQztRQUVELElBQUksQ0FBQyxpQkFBaUIsR0FBRyxJQUFJLENBQUM7UUFFOUIsSUFBSSxJQUFJLENBQUMsYUFBYSxFQUFFLENBQUM7WUFDdkIsSUFBSSxDQUFDLGFBQWEsR0FBRyxDQUFDLElBQUksQ0FBQyxhQUFhLENBQUM7UUFDM0MsQ0FBQztRQUNELElBQUksQ0FBQyxlQUFlLEdBQUcsQ0FBQyxJQUFJLENBQUMsZUFBZSxDQUFDO1FBRTdDLElBQUksSUFBSSxDQUFDLGFBQWEsSUFBSSxJQUFJLENBQUMsZUFBZSxFQUFFLENBQUM7WUFDL0MsSUFBSSxDQUFDLDZCQUE2QixFQUFFLENBQUM7UUFDdkMsQ0FBQztJQUNILENBQUM7SUFFTSxvQkFBb0I7UUFDekIsSUFBSSxJQUFJLENBQUMsZUFBZSxFQUFFLENBQUM7WUFDekIsSUFBSSxDQUFDLGVBQWUsR0FBRyxDQUFDLElBQUksQ0FBQyxlQUFlLENBQUM7UUFDL0MsQ0FBQztRQUVELElBQUksQ0FBQyxhQUFhLEdBQUcsQ0FBQyxJQUFJLENBQUMsYUFBYSxDQUFDO1FBRXpDLElBQUksSUFBSSxDQUFDLGFBQWEsSUFBSSxJQUFJLENBQUMsZUFBZSxFQUFFLENBQUM7WUFDL0MsSUFBSSxDQUFDLDZCQUE2QixFQUFFLENBQUM7UUFDdkMsQ0FBQztJQUNILENBQUM7SUFFTSxVQUFVLENBQUMsR0FBVztRQUMzQixJQUFJLElBQUksQ0FBQyxPQUFPLEVBQUUsQ0FBQztZQUNqQixPQUFPO1FBQ1QsQ0FBQztRQUNELE1BQU0sVUFBVSxHQUFhO1lBQzNCLE1BQU0sRUFBRSxXQUFXLENBQUMsSUFBSTtZQUN4QixTQUFTLEVBQUUsSUFBSSxJQUFJLEVBQUU7WUFDckIsT0FBTyxFQUFFLEVBQUU7WUFDWCxXQUFXLEVBQUU7Z0JBQ1g7b0JBQ0UsSUFBSSxFQUFFLEtBQUs7b0JBQ1gsR0FBRztpQkFDSjthQUNGO1NBQ0YsQ0FBQztRQUVGLElBQUksQ0FBQyxjQUFjLEdBQUcsVUFBVSxDQUFDO1FBQ2pDLElBQUksQ0FBQyxrQkFBa0IsRUFBRSxDQUFDO0lBQzVCLENBQUM7SUFFTSxrQkFBa0I7UUFDdkIsTUFBTSxTQUFTLEdBQUc7WUFDaEIsSUFBSSxFQUFFO2dCQUNKLFlBQVksRUFBRSxJQUFJLENBQUMsWUFBWTthQUNoQztTQUNGLENBQUM7UUFFRixJQUFJLENBQUMsaUJBQWlCLENBQUMsU0FBUyxDQUFDLEVBQUUsV0FBVyxFQUFFLHlCQUF5QixFQUFFLENBQUMsQ0FBQztRQUU3RSxJQUFJLENBQUMsaUJBQWlCO2FBQ25CLElBQUksQ0FBQyxJQUFJLENBQUMsY0FBYyxFQUFFLFNBQVMsQ0FBQzthQUNwQyxVQUFVLENBQUMsSUFBSSxDQUFDLEtBQUssRUFBRSxDQUFDO2FBQ3hCLFNBQVMsQ0FBQyxDQUFDLElBQUksRUFBRSxFQUFFO1lBQ2xCLElBQUksQ0FBQyxjQUFjLENBQUMsV0FBVyxHQUFHO2dCQUNoQyxJQUFJLEVBQUUsSUFBSSxDQUFDLElBQUk7Z0JBQ2YsV0FBVyxFQUFFLElBQUksQ0FBQyxXQUFXO2FBQzlCLENBQUM7WUFFRixJQUFJLENBQUMsZ0JBQWdCLEdBQUcsSUFBSSxDQUFDLGdCQUFnQixDQUFDO1lBRTlDLElBQUksQ0FBQyxNQUFNLEVBQUUsQ0FBQztRQUNoQixDQUFDLENBQUMsQ0FBQztJQUNQLENBQUM7SUFFTSxVQUFVO1FBQ2YsSUFBSSxDQUFDLGtCQUFrQixFQUFFLENBQUM7UUFDMUIsSUFBSSxDQUFDLGtCQUFrQixFQUFFLENBQUM7SUFDNUIsQ0FBQztJQUVNLGtCQUFrQjtRQUN2QixNQUFNLE9BQU8sR0FBRyxJQUFJLENBQUMsV0FBVyxDQUFDLEtBQUssQ0FBQyxJQUFJLEVBQUUsQ0FBQztRQUM5QyxJQUFJLE9BQU8sQ0FBQyxJQUFJLEVBQUUsRUFBRSxDQUFDO1lBQ25CLE1BQU0sVUFBVSxHQUFhO2dCQUMzQixNQUFNLEVBQUUsV0FBVyxDQUFDLElBQUk7Z0JBQ3hCLFNBQVMsRUFBRSxJQUFJLElBQUksRUFBRTtnQkFDckIsT0FBTyxFQUFFLE9BQU87Z0JBQ2hCLFdBQVcsRUFBRSxFQUFFO2FBQ2hCLENBQUM7WUFFRixJQUFJLENBQUMsY0FBYyxHQUFHLFVBQVUsQ0FBQztRQUNuQyxDQUFDO0lBQ0gsQ0FBQztJQUVNLE1BQU07UUFDWCxJQUFJLENBQUMsYUFBYSxHQUFHLEtBQUssQ0FBQztRQUMzQixJQUFJLENBQUMsZUFBZSxHQUFHLEtBQUssQ0FBQztRQUM3QixJQUFJLENBQUMsV0FBVyxDQUFDLFFBQVEsQ0FBQyxFQUFFLENBQUMsQ0FBQztRQUM5QixJQUFJLENBQUMsc0JBQXNCLEVBQUUsQ0FBQztRQUM5QixJQUFJLENBQUMsV0FBVyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsY0FBYyxDQUFDLENBQUM7SUFDN0MsQ0FBQztJQUVNLFNBQVMsQ0FBQyxLQUFvQjtRQUNuQyxJQUFJLEtBQUssQ0FBQyxHQUFHLEtBQUssT0FBTyxFQUFFLENBQUM7WUFDMUIsSUFBSSxDQUFDLFVBQVUsRUFBRSxDQUFDO1FBQ3BCLENBQUM7SUFDSCxDQUFDO0lBRU8sV0FBVztRQUNqQixJQUFJLENBQUMsa0JBQWtCLEVBQUUsQ0FBQztRQUMxQixJQUFJLENBQUMsY0FBYyxDQUFDLFdBQVcsR0FBRztZQUNoQyxJQUFJLEVBQUUsZUFBZSxDQUFDLFdBQVc7WUFDakMsV0FBVyxFQUFFLElBQUksSUFBSSxFQUFFO1NBQ3hCLENBQUM7UUFDRixJQUFJLENBQUMsTUFBTSxFQUFFLENBQUM7SUFDaEIsQ0FBQztJQUVPLGlCQUFpQjtRQUN2QixJQUFJLENBQUMsYUFBYSxHQUFHLEtBQUssQ0FBQztRQUMzQixJQUFJLENBQUMsZUFBZSxHQUFHLEtBQUssQ0FBQztRQUM3QixJQUFJLENBQUMsR0FBRyxDQUFDLFlBQVksRUFBRSxDQUFDO1FBQ3hCLElBQUksQ0FBQyw4QkFBOEIsRUFBRSxDQUFDO0lBQ3hDLENBQUM7SUFFTyw2QkFBNkI7UUFDbkMsSUFBSSxJQUFJLENBQUMscUJBQXFCO1lBQUUsT0FBTztRQUV2QyxJQUFJLENBQUMscUJBQXFCLEdBQUcsSUFBSSxDQUFDLFFBQVEsQ0FBQyxNQUFNLENBQUMsVUFBVSxFQUFFLE9BQU8sRUFBRSxDQUFDLEtBQVksRUFBRSxFQUFFO1lBQ3RGLElBQUksQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLGFBQWEsQ0FBQyxRQUFRLENBQUMsS0FBSyxDQUFDLE1BQU0sQ0FBQyxFQUFFLENBQUM7Z0JBQzFELElBQUksQ0FBQyxpQkFBaUIsRUFBRSxDQUFDO1lBQzNCLENBQUM7UUFDSCxDQUFDLENBQUMsQ0FBQztJQUNMLENBQUM7SUFFTyw4QkFBOEI7UUFDcEMsSUFBSSxJQUFJLENBQUMscUJBQXFCLEVBQUUsQ0FBQztZQUMvQixJQUFJLENBQUMscUJBQXFCLEVBQUUsQ0FBQztZQUM3QixJQUFJLENBQUMscUJBQXFCLEdBQUcsSUFBSSxDQUFDO1FBQ3BDLENBQUM7SUFDSCxDQUFDOytHQXZTVSxhQUFhO21HQUFiLGFBQWEsa2NBWGI7WUFDVDtnQkFDRSxPQUFPLEVBQUUsaUJBQWlCO2dCQUMxQixXQUFXLEVBQUUsYUFBYTtnQkFDMUIsS0FBSyxFQUFFLElBQUk7YUFDWjtTQUNGLG9XQ3JDSCxpMm9CQTRMQTs7NEZEbEphLGFBQWE7a0JBYnpCLFNBQVM7K0JBQ0UsVUFBVSxhQUNUO3dCQUNUOzRCQUNFLE9BQU8sRUFBRSxpQkFBaUI7NEJBQzFCLFdBQVcsZUFBZTs0QkFDMUIsS0FBSyxFQUFFLElBQUk7eUJBQ1o7cUJBQ0YsbUJBR2dCLHVCQUF1QixDQUFDLE1BQU07OEJBR3RDLE9BQU87c0JBQWYsS0FBSztnQkFDRyxZQUFZO3NCQUFwQixLQUFLO2dCQUVPLFVBQVU7c0JBQXRCLEtBQUs7Z0JBTUcsaUJBQWlCO3NCQUF6QixLQUFLO2dCQUVHLGlCQUFpQjtzQkFBekIsS0FBSztnQkFFRyxXQUFXO3NCQUFuQixLQUFLO2dCQUVPLFlBQVk7c0JBQXhCLEtBQUs7Z0JBSUcsU0FBUztzQkFBakIsS0FBSztnQkFFRyxlQUFlO3NCQUF2QixLQUFLO2dCQUVHLGdCQUFnQjtzQkFBeEIsS0FBSztnQkFHSSxXQUFXO3NCQUFwQixNQUFNO2dCQUVHLFdBQVc7c0JBQXBCLE1BQU07Z0JBRUUsUUFBUTtzQkFBaEIsS0FBSztnQkFFb0IsY0FBYztzQkFBdkMsU0FBUzt1QkFBQyxhQUFhO2dCQUNVLG1CQUFtQjtzQkFBcEQsU0FBUzt1QkFBQyxxQkFBcUI7Z0JBQ1IsU0FBUztzQkFBaEMsU0FBUzt1QkFBQyxXQUFXIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgQWZ0ZXJWaWV3SW5pdCxcbiAgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksXG4gIENoYW5nZURldGVjdG9yUmVmLFxuICBDb21wb25lbnQsXG4gIEVsZW1lbnRSZWYsXG4gIEV2ZW50RW1pdHRlcixcbiAgaW5qZWN0LFxuICBJbnB1dCxcbiAgT25DaGFuZ2VzLFxuICBPbkRlc3Ryb3ksXG4gIE9uSW5pdCxcbiAgT3V0cHV0LFxuICBSZW5kZXJlcjIsXG4gIFNpbXBsZUNoYW5nZXMsXG4gIFZpZXdDaGlsZCxcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBGb3JtQ29udHJvbCwgTkdfVkFMVUVfQUNDRVNTT1IgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5pbXBvcnQgJ2Vtb2ppLXBpY2tlci1lbGVtZW50JztcbmltcG9ydCB7IGZpcnN0IH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBFbW9qaVBpY2tlckNvbmZpZyB9IGZyb20gJ0BuYW5pdGVuaW5qYS9pb25pYy1saWInO1xuaW1wb3J0IHsgTGliTWVzc2FnZU1vZGFsQ29tcG9uZW50IH0gZnJvbSAnLi4vLi4vc2hhcmVkL3NoYXJlZC9tZXNzYWdlLW1vZGFsL21lc3NhZ2UtbW9kYWwuY29tcG9uZW50JztcbmltcG9ydCB7IElucHV0RmllbGRDb21wb25lbnQsIFBvcHVwTW9kYWxTZXJ2aWNlIH0gZnJvbSAnQG5hbml0ZW5pbmphL2lvbmljLWxpYic7XG5pbXBvcnQgeyBDaGF0U2VydmljZSB9IGZyb20gJy4vY2hhdC5zZXJ2aWNlJztcbmltcG9ydCB7IFNlbmRlclR5cGVzIH0gZnJvbSAnLi9lbnVtcy9zZW5kZXItdHlwZXMuZW51bSc7XG5pbXBvcnQgeyBJRGF0ZU1lc3NhZ2VzIH0gZnJvbSAnLi9pbnRlcmZhY2VzL2RhdGUtbWVzc2FnZXMuaW50ZXJmYWNlJztcbmltcG9ydCB7IElNZXNzYWdlIH0gZnJvbSAnLi9pbnRlcmZhY2VzL21lc3NhZ2UuaW50ZXJmYWNlJztcbmltcG9ydCB7IFNlbmRNZXNzYWdlVHlwZSB9IGZyb20gJy4vaW50ZXJmYWNlcy90eXBlLXNlbmQtbWVzc2FnZS5lbnVtJztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnbGliLWNoYXQnLFxuICBwcm92aWRlcnM6IFtcbiAgICB7XG4gICAgICBwcm92aWRlOiBOR19WQUxVRV9BQ0NFU1NPUixcbiAgICAgIHVzZUV4aXN0aW5nOiBDaGF0Q29tcG9uZW50LFxuICAgICAgbXVsdGk6IHRydWUsXG4gICAgfSxcbiAgXSxcbiAgdGVtcGxhdGVVcmw6ICcuL2NoYXQuY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi9jaGF0LmNvbXBvbmVudC5zY3NzJ10sXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxufSlcbmV4cG9ydCBjbGFzcyBDaGF0Q29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0LCBBZnRlclZpZXdJbml0LCBPbkNoYW5nZXMsIE9uRGVzdHJveSB7XG4gIEBJbnB1dCgpIGRlZmF1bHQ/OiBib29sZWFuID0gZmFsc2U7XG4gIEBJbnB1dCgpIHJlc3BvbnNlVGltZT86IHN0cmluZyA9ICcwNWggMDRtIDM1cyc7XG4gIC8vIFByZS1maWxsZWQgaW5wdXQgdmFsdWVcbiAgQElucHV0KCkgc2V0IGlucHV0VmFsdWUodmFsdWU6IHN0cmluZykge1xuICAgIGlmICh2YWx1ZSkge1xuICAgICAgdGhpcy50ZXh0Q29udHJvbC5zZXRWYWx1ZSh2YWx1ZSk7XG4gICAgfVxuICB9XG4gIC8vIENvbmZpZ3VyYXRpb24gb2YgZW1vamlQaWNrZXIuIE11c3QgYmUgYWRkZWRcbiAgQElucHV0KCkgZW1vamlQaWNrZXJDb25maWc6IEVtb2ppUGlja2VyQ29uZmlnO1xuICAvLyB3aGV0aGVyIGdpZnMgYXMgYSBtZXNzYWdlIHNob3VsZCBiZSBhbGxvd2VkIG9yIG5vdFxuICBASW5wdXQoKSBpbmNsdWRlR2lmTWVzc2FnZTogYm9vbGVhbiA9IHRydWU7XG4gIC8vIHdoZXRoZXIgdGltZXN0YW1wIHN0eWxlcyBzaG91bGQgYmUgYWxsb3dlZCBvciBub3RcbiAgQElucHV0KCkgaW5jbHVkZVRpbWU6IGJvb2xlYW4gPSB0cnVlO1xuICAvLyBpbnRlcmZhY2UgZm9yIG1lc3NhZ2VzIHRvIGdyb3VwbSB0aGVtIGluIGRhdGVzXG4gIEBJbnB1dCgpIHNldCBkYXRlTWVzc2FnZXModmFsdWU6IElNZXNzYWdlW10pIHtcbiAgICB0aGlzLm1lc3NhZ2VzID0gdGhpcy5jaGF0U2VydmljZS50cmFuc2Zvcm1NZXNzYWdlcyh2YWx1ZSk7XG4gIH1cbiAgLy8gbWF4IGxlbmd0aCBmb3IgdGV4dGFyZWEgaW5wdXRcbiAgQElucHV0KCkgbWF4TGVuZ3RoOiBudW1iZXIgPSAxMDA7XG5cbiAgQElucHV0KCkgZW5hYmxlR2lmUGlja2VyOiBib29sZWFuID0gZmFsc2U7XG5cbiAgQElucHV0KCkgcHJvc3BlY3RKb2luRGF0ZTogRGF0ZTtcblxuICAvLyBzZW5kIG1lc3NhZ2UgZW1pdHRlclxuICBAT3V0cHV0KCkgc2VuZE1lc3NhZ2UgPSBuZXcgRXZlbnRFbWl0dGVyPElNZXNzYWdlPigpO1xuICAvLyBzY3JvbGxlci11cCBldmVudCB0byBnZXQgb2xkZXIgbWVzc2FnZXNcbiAgQE91dHB1dCgpIGdldE1lc3NhZ2VzID0gbmV3IEV2ZW50RW1pdHRlcjxib29sZWFuPigpO1xuXG4gIEBJbnB1dCgpIGRpc2FibGVkOiBib29sZWFuID0gZmFsc2U7XG5cbiAgQFZpZXdDaGlsZCgnZW1vamlQaWNrZXInKSBlbW9qaVBpY2tlclJlZjogRWxlbWVudFJlZjtcbiAgQFZpZXdDaGlsZCgnc2Nyb2xsYWJsZUNvbnRhaW5lcicpIHNjcm9sbGFibGVDb250YWluZXI6IEVsZW1lbnRSZWY7XG4gIEBWaWV3Q2hpbGQoJ2NoYXRJbnB1dCcpIGNoYXRJbnB1dDogSW5wdXRGaWVsZENvbXBvbmVudDtcblxuICBwcml2YXRlIGNkciA9IGluamVjdChDaGFuZ2VEZXRlY3RvclJlZik7XG4gIHByaXZhdGUgZWxlbWVudFJlZiA9IGluamVjdChFbGVtZW50UmVmKTtcbiAgcHJpdmF0ZSBwb3B1cE1vZGFsU2VydmljZSA9IGluamVjdChQb3B1cE1vZGFsU2VydmljZSk7XG4gIHByaXZhdGUgY2hhdFNlcnZpY2UgPSBpbmplY3QoQ2hhdFNlcnZpY2UpO1xuICBwcml2YXRlIHBlbmRpbmdNZXNzYWdlOiBJTWVzc2FnZSB8IG51bGw7XG4gIHByaXZhdGUgcmVuZGVyZXIgPSBpbmplY3QoUmVuZGVyZXIyKTtcblxuICBwdWJsaWMgc2Nyb2xsVGhyZXNob2xkID0gMjAwO1xuICBwdWJsaWMgbWVzc2FnZXM6IElEYXRlTWVzc2FnZXNbXSA9IFtdO1xuXG4gIHB1YmxpYyB0ZXh0Q29udHJvbDogRm9ybUNvbnRyb2w8c3RyaW5nPiA9IG5ldyBGb3JtQ29udHJvbCgnJyk7XG5cbiAgcHVibGljIGJhc2U2NEltYWdlOiBzdHJpbmcgfCBudWxsID0gbnVsbDtcblxuICBwdWJsaWMgZW1vamlWaXNpYmlsaXR5OiBib29sZWFuID0gZmFsc2U7XG4gIHB1YmxpYyBnaWZWaXNpYmlsaXR5OiBib29sZWFuID0gZmFsc2U7XG4gIHB1YmxpYyBpc0F0U3RhcnRDaGF0OiBib29sZWFuID0gZmFsc2U7XG4gIHB1YmxpYyBlbW9qaVBpY2tlck9wZW5lZDogYm9vbGVhbiA9IGZhbHNlO1xuXG4gIHB1YmxpYyBwb3M6IHN0cmluZyA9ICcnO1xuXG4gIHB1YmxpYyBsb25nUHJlc3NFbmFibGVkOiBib29sZWFuO1xuICBwdWJsaWMgdGhyb3R0bGUgPSAwO1xuICBwdWJsaWMgZGlzdGFuY2UgPSAwO1xuICBwdWJsaWMgcmVhZG9ubHkgTW9kYWxDb21wb25lbnQgPSBMaWJNZXNzYWdlTW9kYWxDb21wb25lbnQ7XG5cbiAgcHJpdmF0ZSBkb2N1bWVudENsaWNrTGlzdGVuZXI6ICgoKSA9PiB2b2lkKSB8IG51bGwgPSBudWxsO1xuXG4gIG5nT25Jbml0KCk6IHZvaWQge1xuICAgIGlmICghdGhpcy5wcm9zcGVjdEpvaW5EYXRlKSB7XG4gICAgICB0aGlzLnByb3NwZWN0Sm9pbkRhdGUgPSBudWxsO1xuICAgIH1cblxuICAgIHRoaXMuY2hhdFNlcnZpY2UuaXNMb25nUHJlc3NGb3JTZW5kSW1tZWRpYXRlbHkoKS5zdWJzY3JpYmUoe1xuICAgICAgbmV4dDogKHJlcykgPT4ge1xuICAgICAgICB0aGlzLmxvbmdQcmVzc0VuYWJsZWQgPSByZXM7XG4gICAgICB9LFxuICAgIH0pO1xuXG4gICAgaWYgKHRoaXMuZGlzYWJsZWQpIHtcbiAgICAgIHRoaXMudGV4dENvbnRyb2wuZGlzYWJsZSgpO1xuICAgIH1cbiAgfVxuXG4gIG5nT25EZXN0cm95KCk6IHZvaWQge1xuICAgIHRoaXMucmVtb3ZlRW1vamlQaWNrZXJDbGlja0xpc3RlbmVyKCk7XG4gICAgaWYgKHRoaXMucG9wdXBNb2RhbFNlcnZpY2UuZ2V0SW5zdGFuY2UoKSkge1xuICAgICAgdGhpcy5wb3B1cE1vZGFsU2VydmljZS5oaWRlKCk7XG4gICAgfVxuICB9XG5cbiAgbmdBZnRlclZpZXdJbml0KCk6IHZvaWQge1xuICAgIGlmICh0aGlzLmVtb2ppUGlja2VyQ29uZmlnPy5zdHlsZSkge1xuICAgICAgaWYgKHRoaXMuZW1vamlQaWNrZXJSZWY/Lm5hdGl2ZUVsZW1lbnQpIHtcbiAgICAgICAgY29uc3Qgc3R5bGUgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCdzdHlsZScpO1xuICAgICAgICBzdHlsZS50ZXh0Q29udGVudCA9IHRoaXMuZW1vamlQaWNrZXJDb25maWcuc3R5bGU7XG4gICAgICAgIHRoaXMuZW1vamlQaWNrZXJSZWYubmF0aXZlRWxlbWVudC5zaGFkb3dSb290LmFwcGVuZENoaWxkKHN0eWxlKTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICB0aGlzLnNjcm9sbFRvQm90dG9tKCk7XG4gIH1cblxuICBuZ09uQ2hhbmdlcyhjaGFuZ2VzOiBTaW1wbGVDaGFuZ2VzKTogdm9pZCB7XG4gICAgaWYgKCF0aGlzLnNjcm9sbGFibGVDb250YWluZXIpIHJldHVybjtcbiAgICBjb25zdCBjb250YWluZXIgPSB0aGlzLnNjcm9sbGFibGVDb250YWluZXIubmF0aXZlRWxlbWVudDtcbiAgICBjb25zdCBzY3JvbGxUb3AgPSBjb250YWluZXIuc2Nyb2xsVG9wO1xuICAgIGNvbnN0IHNjcm9sbEhlaWdodCA9IGNvbnRhaW5lci5zY3JvbGxIZWlnaHQ7XG4gICAgY29uc3QgY2xpZW50SGVpZ2h0ID0gY29udGFpbmVyLmNsaWVudEhlaWdodDtcblxuICAgIGlmICghKHNjcm9sbFRvcCA8IHNjcm9sbEhlaWdodCAtIGNsaWVudEhlaWdodCAtIHRoaXMuc2Nyb2xsVGhyZXNob2xkKSkge1xuICAgICAgc2V0VGltZW91dCgoKSA9PiB7XG4gICAgICAgIHRoaXMuc2Nyb2xsVG9Cb3R0b20oKTtcbiAgICAgIH0sIDIwMCk7XG4gICAgfVxuICB9XG5cbiAgcHVibGljIG9uU2Nyb2xsQ2hhdHMoKTogdm9pZCB7XG4gICAgdGhpcy5nZXRNZXNzYWdlcy5lbWl0KHRydWUpO1xuICB9XG5cbiAgaGFuZGxlU2Nyb2xsTmV3TWVzc2FnZSgpOiB2b2lkIHtcbiAgICBzZXRUaW1lb3V0KCgpID0+IHtcbiAgICAgIGlmICghdGhpcy5pc0F0U3RhcnRDaGF0KSB0aGlzLnNjcm9sbFRvQm90dG9tKCk7XG4gICAgfSwgMjAwKTtcbiAgfVxuXG4gIG9uU2Nyb2xsTWVzc2FnZXMoZXZlbnQ6IEV2ZW50KTogdm9pZCB7XG4gICAgY29uc3QgY29udGFpbmVyID0gdGhpcy5zY3JvbGxhYmxlQ29udGFpbmVyLm5hdGl2ZUVsZW1lbnQ7XG4gICAgY29uc3Qgc2Nyb2xsVG9wID0gY29udGFpbmVyLnNjcm9sbFRvcDtcbiAgICBjb25zdCBzY3JvbGxIZWlnaHQgPSBjb250YWluZXIuc2Nyb2xsSGVpZ2h0O1xuICAgIGNvbnN0IGNsaWVudEhlaWdodCA9IGNvbnRhaW5lci5jbGllbnRIZWlnaHQ7XG5cbiAgICB0aGlzLmlzQXRTdGFydENoYXQgPSBzY3JvbGxUb3AgPCBzY3JvbGxIZWlnaHQgLSBjbGllbnRIZWlnaHQgLSB0aGlzLnNjcm9sbFRocmVzaG9sZDtcbiAgfVxuXG4gIHNjcm9sbFRvQm90dG9tKCk6IHZvaWQge1xuICAgIGNvbnN0IGNvbnRhaW5lciA9IHRoaXMuc2Nyb2xsYWJsZUNvbnRhaW5lci5uYXRpdmVFbGVtZW50O1xuICAgIGNvbnRhaW5lci5zY3JvbGxUb3AgPSBjb250YWluZXIuc2Nyb2xsSGVpZ2h0O1xuICB9XG5cbiAgcHVibGljIG9uRW1vamljbGljayhldmVudDogQ3VzdG9tRXZlbnQpOiB2b2lkIHtcbiAgICBjb25zdCBlbW9qaSA9IGV2ZW50LmRldGFpbC51bmljb2RlO1xuICAgIGlmICh0aGlzLmNoYXRJbnB1dC5pbnB1dEZpZWxkUmVmKSB7XG4gICAgICBjb25zdCB0ZXh0QXJlYUVsZW1lbnQgPSB0aGlzLmNoYXRJbnB1dC5pbnB1dEZpZWxkUmVmLm5hdGl2ZUVsZW1lbnQ7XG4gICAgICBjb25zdCBzdGFydCA9IHRleHRBcmVhRWxlbWVudC5zZWxlY3Rpb25TdGFydCA/PyAwO1xuICAgICAgY29uc3QgZW5kID0gdGV4dEFyZWFFbGVtZW50LnNlbGVjdGlvbkVuZCA/PyAwO1xuXG4gICAgICBjb25zdCBjdXJyZW50VGV4dCA9IHRoaXMudGV4dENvbnRyb2wudmFsdWUgfHwgJyc7XG4gICAgICBjb25zdCBuZXdUZXh0ID0gY3VycmVudFRleHQuc2xpY2UoMCwgc3RhcnQpICsgZW1vamkgKyBjdXJyZW50VGV4dC5zbGljZShlbmQpO1xuXG4gICAgICB0aGlzLnRleHRDb250cm9sLnNldFZhbHVlKG5ld1RleHQpO1xuXG4gICAgICAvLyBSZXBvc2ljaW9uYSBlbCBjdXJzb3IgZGVzcHXDqXMgZGVsIGVtb2ppXG4gICAgICBzZXRUaW1lb3V0KCgpID0+IHtcbiAgICAgICAgdGV4dEFyZWFFbGVtZW50LmZvY3VzKCk7IC8vIEFzZWd1cmEgcXVlIGVsIHRleHRhcmVhIHJlY3VwZXJlIGVsIGZvY29cbiAgICAgICAgdGV4dEFyZWFFbGVtZW50LnNldFNlbGVjdGlvblJhbmdlKHN0YXJ0ICsgZW1vamkubGVuZ3RoLCBzdGFydCArIGVtb2ppLmxlbmd0aCk7XG4gICAgICB9KTtcbiAgICB9XG4gIH1cblxuICBwdWJsaWMgaGFuZGxlRW1vamlQaWNrZXJDbGljaygpOiB2b2lkIHtcbiAgICBpZiAodGhpcy5kZWZhdWx0KSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgdGhpcy5lbW9qaVBpY2tlck9wZW5lZCA9IHRydWU7XG5cbiAgICBpZiAodGhpcy5naWZWaXNpYmlsaXR5KSB7XG4gICAgICB0aGlzLmdpZlZpc2liaWxpdHkgPSAhdGhpcy5naWZWaXNpYmlsaXR5O1xuICAgIH1cbiAgICB0aGlzLmVtb2ppVmlzaWJpbGl0eSA9ICF0aGlzLmVtb2ppVmlzaWJpbGl0eTtcblxuICAgIGlmICh0aGlzLmdpZlZpc2liaWxpdHkgfHwgdGhpcy5lbW9qaVZpc2liaWxpdHkpIHtcbiAgICAgIHRoaXMuc2V0dXBFbW9qaVBpY2tlckNsaWNrTGlzdGVuZXIoKTtcbiAgICB9XG4gIH1cblxuICBwdWJsaWMgaGFuZGxlR2lmUGlja2VyQ2xpY2soKTogdm9pZCB7XG4gICAgaWYgKHRoaXMuZW1vamlWaXNpYmlsaXR5KSB7XG4gICAgICB0aGlzLmVtb2ppVmlzaWJpbGl0eSA9ICF0aGlzLmVtb2ppVmlzaWJpbGl0eTtcbiAgICB9XG5cbiAgICB0aGlzLmdpZlZpc2liaWxpdHkgPSAhdGhpcy5naWZWaXNpYmlsaXR5O1xuXG4gICAgaWYgKHRoaXMuZ2lmVmlzaWJpbGl0eSB8fCB0aGlzLmVtb2ppVmlzaWJpbGl0eSkge1xuICAgICAgdGhpcy5zZXR1cEVtb2ppUGlja2VyQ2xpY2tMaXN0ZW5lcigpO1xuICAgIH1cbiAgfVxuXG4gIHB1YmxpYyBvbkdpZkNsaWNrKHVybDogc3RyaW5nKTogdm9pZCB7XG4gICAgaWYgKHRoaXMuZGVmYXVsdCkge1xuICAgICAgcmV0dXJuO1xuICAgIH1cbiAgICBjb25zdCBuZXdNZXNzYWdlOiBJTWVzc2FnZSA9IHtcbiAgICAgIHNlbmRlcjogU2VuZGVyVHlwZXMuVVNFUixcbiAgICAgIHRpbWVzdGFtcDogbmV3IERhdGUoKSxcbiAgICAgIG1lc3NhZ2U6ICcnLFxuICAgICAgYXR0YWNobWVudHM6IFtcbiAgICAgICAge1xuICAgICAgICAgIHR5cGU6ICdnaWYnLFxuICAgICAgICAgIHVybCxcbiAgICAgICAgfSxcbiAgICAgIF0sXG4gICAgfTtcblxuICAgIHRoaXMucGVuZGluZ01lc3NhZ2UgPSBuZXdNZXNzYWdlO1xuICAgIHRoaXMub25TZW5kTWVzc2FnZU1vZGFsKCk7XG4gIH1cblxuICBwdWJsaWMgb25TZW5kTWVzc2FnZU1vZGFsKCk6IHZvaWQge1xuICAgIGNvbnN0IG1vZGFsRGF0YSA9IHtcbiAgICAgIGRhdGE6IHtcbiAgICAgICAgcmVzcG9uc2VUaW1lOiB0aGlzLnJlc3BvbnNlVGltZSxcbiAgICAgIH0sXG4gICAgfTtcblxuICAgIHRoaXMucG9wdXBNb2RhbFNlcnZpY2Uuc2V0VmFsdWVzKHsgY3VzdG9tQ2xhc3M6ICdtZXNzYWdlLW1vZGFsLWNvbnRhaW5lcicgfSk7XG5cbiAgICB0aGlzLnBvcHVwTW9kYWxTZXJ2aWNlXG4gICAgICAuc2hvdyh0aGlzLk1vZGFsQ29tcG9uZW50LCBtb2RhbERhdGEpXG4gICAgICAuYWZ0ZXJDbG9zZS5waXBlKGZpcnN0KCkpXG4gICAgICAuc3Vic2NyaWJlKChkYXRhKSA9PiB7XG4gICAgICAgIHRoaXMucGVuZGluZ01lc3NhZ2Uuc2VuZE9wdGlvbnMgPSB7XG4gICAgICAgICAgdHlwZTogZGF0YS50eXBlLFxuICAgICAgICAgIGFycml2YWxEYXRlOiBkYXRhLmFycml2YWxEYXRlLFxuICAgICAgICB9O1xuXG4gICAgICAgIHRoaXMubG9uZ1ByZXNzRW5hYmxlZCA9IGRhdGEubG9uZ1ByZXNzRW5hYmxlZDtcblxuICAgICAgICB0aGlzLm9uU2VuZCgpO1xuICAgICAgfSk7XG4gIH1cblxuICBwdWJsaWMgb25TZW5kVGV4dCgpOiB2b2lkIHtcbiAgICB0aGlzLnNhdmVQZW5kaW5nTWVzc2FnZSgpO1xuICAgIHRoaXMub25TZW5kTWVzc2FnZU1vZGFsKCk7XG4gIH1cblxuICBwdWJsaWMgc2F2ZVBlbmRpbmdNZXNzYWdlKCk6IHZvaWQge1xuICAgIGNvbnN0IG1lc3NhZ2UgPSB0aGlzLnRleHRDb250cm9sLnZhbHVlLnRyaW0oKTtcbiAgICBpZiAobWVzc2FnZS50cmltKCkpIHtcbiAgICAgIGNvbnN0IG5ld01lc3NhZ2U6IElNZXNzYWdlID0ge1xuICAgICAgICBzZW5kZXI6IFNlbmRlclR5cGVzLlVTRVIsXG4gICAgICAgIHRpbWVzdGFtcDogbmV3IERhdGUoKSxcbiAgICAgICAgbWVzc2FnZTogbWVzc2FnZSxcbiAgICAgICAgYXR0YWNobWVudHM6IFtdLFxuICAgICAgfTtcblxuICAgICAgdGhpcy5wZW5kaW5nTWVzc2FnZSA9IG5ld01lc3NhZ2U7XG4gICAgfVxuICB9XG5cbiAgcHVibGljIG9uU2VuZCgpOiB2b2lkIHtcbiAgICB0aGlzLmdpZlZpc2liaWxpdHkgPSBmYWxzZTtcbiAgICB0aGlzLmVtb2ppVmlzaWJpbGl0eSA9IGZhbHNlO1xuICAgIHRoaXMudGV4dENvbnRyb2wuc2V0VmFsdWUoJycpO1xuICAgIHRoaXMuaGFuZGxlU2Nyb2xsTmV3TWVzc2FnZSgpO1xuICAgIHRoaXMuc2VuZE1lc3NhZ2UuZW1pdCh0aGlzLnBlbmRpbmdNZXNzYWdlKTtcbiAgfVxuXG4gIHB1YmxpYyBvbktleURvd24oZXZlbnQ6IEtleWJvYXJkRXZlbnQpOiB2b2lkIHtcbiAgICBpZiAoZXZlbnQua2V5ID09PSAnRW50ZXInKSB7XG4gICAgICB0aGlzLm9uU2VuZFRleHQoKTtcbiAgICB9XG4gIH1cblxuICBwcml2YXRlIG9uTG9uZ1ByZXNzKCk6IHZvaWQge1xuICAgIHRoaXMuc2F2ZVBlbmRpbmdNZXNzYWdlKCk7XG4gICAgdGhpcy5wZW5kaW5nTWVzc2FnZS5zZW5kT3B0aW9ucyA9IHtcbiAgICAgIHR5cGU6IFNlbmRNZXNzYWdlVHlwZS5JTk1FRElBVEVMWSxcbiAgICAgIGFycml2YWxEYXRlOiBuZXcgRGF0ZSgpLFxuICAgIH07XG4gICAgdGhpcy5vblNlbmQoKTtcbiAgfVxuXG4gIHByaXZhdGUgb25CbHVyUGlja2VyU3BhY2UoKTogdm9pZCB7XG4gICAgdGhpcy5naWZWaXNpYmlsaXR5ID0gZmFsc2U7XG4gICAgdGhpcy5lbW9qaVZpc2liaWxpdHkgPSBmYWxzZTtcbiAgICB0aGlzLmNkci5tYXJrRm9yQ2hlY2soKTtcbiAgICB0aGlzLnJlbW92ZUVtb2ppUGlja2VyQ2xpY2tMaXN0ZW5lcigpO1xuICB9XG5cbiAgcHJpdmF0ZSBzZXR1cEVtb2ppUGlja2VyQ2xpY2tMaXN0ZW5lcigpOiB2b2lkIHtcbiAgICBpZiAodGhpcy5kb2N1bWVudENsaWNrTGlzdGVuZXIpIHJldHVybjtcblxuICAgIHRoaXMuZG9jdW1lbnRDbGlja0xpc3RlbmVyID0gdGhpcy5yZW5kZXJlci5saXN0ZW4oJ2RvY3VtZW50JywgJ2NsaWNrJywgKGV2ZW50OiBFdmVudCkgPT4ge1xuICAgICAgaWYgKCF0aGlzLmVsZW1lbnRSZWYubmF0aXZlRWxlbWVudC5jb250YWlucyhldmVudC50YXJnZXQpKSB7XG4gICAgICAgIHRoaXMub25CbHVyUGlja2VyU3BhY2UoKTtcbiAgICAgIH1cbiAgICB9KTtcbiAgfVxuXG4gIHByaXZhdGUgcmVtb3ZlRW1vamlQaWNrZXJDbGlja0xpc3RlbmVyKCk6IHZvaWQge1xuICAgIGlmICh0aGlzLmRvY3VtZW50Q2xpY2tMaXN0ZW5lcikge1xuICAgICAgdGhpcy5kb2N1bWVudENsaWNrTGlzdGVuZXIoKTtcbiAgICAgIHRoaXMuZG9jdW1lbnRDbGlja0xpc3RlbmVyID0gbnVsbDtcbiAgICB9XG4gIH1cbn1cbiIsIjxkaXYgY2xhc3M9XCJjaGF0LWNvbXBvbmVudFwiPlxuICA8ZGl2IGNsYXNzPVwiY2hhdC1jb250YWluZXJcIj5cbiAgICA8ZGl2IGNsYXNzPVwiZ28tYnV0dG9uXCIgKm5nSWY9XCJpc0F0U3RhcnRDaGF0XCIgKGNsaWNrKT1cInNjcm9sbFRvQm90dG9tKClcIj7ihpM8L2Rpdj5cbiAgICA8ZGl2XG4gICAgICBjbGFzcz1cImRhdGVNZXNzYWdlc1wiXG4gICAgICAjc2Nyb2xsYWJsZUNvbnRhaW5lclxuICAgICAgaW5maW5pdGVTY3JvbGxcbiAgICAgIFtpbmZpbml0ZVNjcm9sbERpc3RhbmNlXT1cImRpc3RhbmNlXCJcbiAgICAgIFtpbmZpbml0ZVNjcm9sbFRocm90dGxlXT1cInRocm90dGxlXCJcbiAgICAgIFtzY3JvbGxXaW5kb3ddPVwiZmFsc2VcIlxuICAgICAgKHNjcm9sbGVkVXApPVwib25TY3JvbGxDaGF0cygpXCJcbiAgICAgIChzY3JvbGwpPVwib25TY3JvbGxNZXNzYWdlcygkZXZlbnQpXCJcbiAgICA+XG4gICAgICA8ZGl2IGNsYXNzPVwiY2hhdC1pdGVtLWNvbnRhaW5lciBjaGF0LWl0ZW0tY29udGFpbmVyX2luaXRcIj5cbiAgICAgICAgPGRpdiBjbGFzcz1cImRhdGUtbWVzc2FnZVwiPlxuICAgICAgICAgIDxzcGFuPnt7IHByb3NwZWN0Sm9pbkRhdGUgPyAocHJvc3BlY3RKb2luRGF0ZSB8IGRhdGU6ICdNTU0gZCwgSEg6bW0nKSA6ICctJyB9fTwvc3Bhbj5cbiAgICAgICAgPC9kaXY+XG4gICAgICAgIDxkaXYgY2xhc3M9XCJjaGF0LWl0ZW0gaW5pdC1jaGF0XCI+XG4gICAgICAgICAgPGRpdiBjbGFzcz1cImNoYXQtaXRlbV90ZXh0XCI+e3sgJ0NIQVQuSU5JVElBTF9URVhUJyB8IHRyYW5zbGF0ZSB9fTwvZGl2PlxuICAgICAgICA8L2Rpdj5cbiAgICAgIDwvZGl2PlxuICAgICAgPGRpdlxuICAgICAgICAqbmdGb3I9XCJsZXQgZGF0ZU1lc3NhZ2Ugb2YgbWVzc2FnZXNcIlxuICAgICAgICBjbGFzcz1cImNoYXQtaXRlbS1jb250YWluZXJcIlxuICAgICAgICBbY2xhc3MuY2hhdC1pdGVtLWNvbnRhaW5lcl91c2VyXT1cImRhdGVNZXNzYWdlLm1lc3NhZ2Uuc2VuZGVyID09PSAndXNlcidcIlxuICAgICAgICBbY2xhc3MuY2hhdC1pdGVtLWNvbnRhaW5lcl9vdGhlcl09XCJkYXRlTWVzc2FnZS5tZXNzYWdlLnNlbmRlciA9PT0gJ290aGVyJ1wiXG4gICAgICA+XG4gICAgICAgIDxkaXYgY2xhc3M9XCJkYXRlLW1lc3NhZ2VcIiAqbmdJZj1cImRhdGVNZXNzYWdlLmlzRmlyc3RNZXNzYWdlICYmIGluY2x1ZGVUaW1lXCI+XG4gICAgICAgICAgPHNwYW4+e3sgZGF0ZU1lc3NhZ2UuZGF0ZSB8IGRhdGU6ICdNTU0gZCcgfX08L3NwYW4+XG4gICAgICAgIDwvZGl2PlxuICAgICAgICA8ZGl2IGNsYXNzPVwiY2hhdC1pdGVtXCIgW2NsYXNzLnVzZXItY2hhdF09XCJkYXRlTWVzc2FnZS5tZXNzYWdlLnNlbmRlciA9PT0gJ3VzZXInXCIgW2NsYXNzLm90aGVyLWNoYXRdPVwiZGF0ZU1lc3NhZ2UubWVzc2FnZS5zZW5kZXIgPT09ICdvdGhlcidcIj5cbiAgICAgICAgICBAaWYgKGRhdGVNZXNzYWdlLm1lc3NhZ2UubWVzc2FnZSAhPT0gJycpIHtcbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJjaGF0LWl0ZW1fdGV4dFwiPnt7IGRhdGVNZXNzYWdlLm1lc3NhZ2UubWVzc2FnZSB9fTwvZGl2PlxuICAgICAgICAgIH0gQGVsc2UgaWYgKGRhdGVNZXNzYWdlLm1lc3NhZ2UuYXR0YWNobWVudHNbMF0udXJsICE9PSAnJykge1xuICAgICAgICAgICAgPGltZyBjbGFzcz1cImNoYXQtaXRlbV9pbWFnZVwiIFtzcmNdPVwiZGF0ZU1lc3NhZ2UubWVzc2FnZS5hdHRhY2htZW50c1swXS51cmxcIiBhbHQ9XCJcIiAvPlxuICAgICAgICAgIH1cbiAgICAgICAgICA8ZGl2IGNsYXNzPVwiY2hhdC1pdGVtX3RpbWVzdGFtcFwiICpuZ0lmPVwiaW5jbHVkZVRpbWVcIj5cbiAgICAgICAgICAgIHt7IGRhdGVNZXNzYWdlLm1lc3NhZ2UudGltZXN0YW1wIHwgZGF0ZTogJ3Nob3J0VGltZScgfX1cbiAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgPC9kaXY+XG4gICAgICA8L2Rpdj5cbiAgICA8L2Rpdj5cbiAgICA8ZGl2IGNsYXNzPVwiYm90dG9tLWdyYWRpZW50LWZhZGVcIj48L2Rpdj5cbiAgPC9kaXY+XG4gIDxmb3JtIGF1dG9jb21wbGV0ZT1cIm9mZlwiIGxpYkZvY3VzSW52YWxpZElucHV0ICpuZ0lmPVwidGV4dENvbnRyb2xcIiBjbGFzcz1cIm1lc3NhZ2Utc2VuZGVyXCI+XG4gICAgPGxpYi1pbnB1dC1maWVsZFxuICAgICAgI2NoYXRJbnB1dFxuICAgICAgW2Zvcm1Db250cm9sXT1cInRleHRDb250cm9sXCJcbiAgICAgIFt2YWx1ZV09XCJuZXdUZXh0TWVzc2FnZVwiXG4gICAgICBbbGFiZWxdPVwiXCJcbiAgICAgIFt0ZXh0YXJlYV09XCJ0cnVlXCJcbiAgICAgIHBsYWNlaG9sZGVyPVwiU2VuZCBNZXNzYWdlIHRvIENsaWVudCBQcm9zcGVjdFwiXG4gICAgICAoa2V5RG93bik9XCJvbktleURvd24oJGV2ZW50KVwiXG4gICAgICBbbWF4TGVuZ3RoXT1cIm1heExlbmd0aFwiXG4gICAgPlxuICAgIDwvbGliLWlucHV0LWZpZWxkPlxuICAgIDxkaXYgY2xhc3M9XCJjaGF0LWJ1dHRvbnNcIj5cbiAgICAgIDxkaXYgY2xhc3M9XCJzZW5kXCIgbGliTG9uZ1ByZXNzIFtsb25nUHJlc3NFbmFibGVkXT1cImxvbmdQcmVzc0VuYWJsZWRcIiAoc2hvcnRQcmVzcyk9XCJvblNlbmRUZXh0KClcIiAobG9uZ1ByZXNzKT1cIm9uTG9uZ1ByZXNzKClcIj5cbiAgICAgICAgPHN2ZyB4bWxucz1cImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnXCIgdmlld0JveD1cIjAgMCAyMyAyMlwiIGZpbGw9XCJub25lXCI+XG4gICAgICAgICAgPGcgZmlsdGVyPVwidXJsKCNmaWx0ZXIwX2RfNzQ4XzMzODcpXCI+XG4gICAgICAgICAgICA8cGF0aFxuICAgICAgICAgICAgICBkPVwiTTE0LjYzMTEgMTcuMDU0NUwxOC4zMjI5IDUuODU5OTZDMTguNjkyIDQuNzc4NjcgMTcuNjQ2IDMuNjk3MzggMTYuNjAwMSA0LjA3OTAxTDUuNzcwOTIgNy44OTUzM0M0LjU0MDMzIDguMzQwNTYgNC41NDAzMyAxMC4xMjE1IDUuODMyNDQgMTAuNTAzMkw5LjQ2MjY2IDExLjUyMDhDMTAuMjYyNSAxMS43NzUzIDEwLjkzOTQgMTIuNDExMyAxMS4xMjM5IDEzLjIzODFMMTIuMTA4NCAxNi45OTA4QzEyLjQ3NzYgMTguMzI2NiAxNC4yMDA0IDE4LjMyNjYgMTQuNjMxMSAxNy4wNTQ1WlwiXG4gICAgICAgICAgICAgIGZpbGw9XCJ1cmwoI3BhaW50MF9saW5lYXJfNzQ4XzMzODcpXCJcbiAgICAgICAgICAgIC8+XG4gICAgICAgICAgPC9nPlxuICAgICAgICAgIDxkZWZzPlxuICAgICAgICAgICAgPGZpbHRlciBpZD1cImZpbHRlcjBfZF83NDhfMzM4N1wiIHg9XCIwLjg1NTUzXCIgeT1cIjAuMDAwNzMyNDIyXCIgZmlsdGVyVW5pdHM9XCJ1c2VyU3BhY2VPblVzZVwiIGNvbG9yLWludGVycG9sYXRpb24tZmlsdGVycz1cInNSR0JcIj5cbiAgICAgICAgICAgICAgPGZlRmxvb2QgZmxvb2Qtb3BhY2l0eT1cIjBcIiByZXN1bHQ9XCJCYWNrZ3JvdW5kSW1hZ2VGaXhcIiAvPlxuICAgICAgICAgICAgICA8ZmVDb2xvck1hdHJpeCBpbj1cIlNvdXJjZUFscGhhXCIgdHlwZT1cIm1hdHJpeFwiIHZhbHVlcz1cIjAgMCAwIDAgMCAwIDAgMCAwIDAgMCAwIDAgMCAwIDAgMCAwIDEyNyAwXCIgcmVzdWx0PVwiaGFyZEFscGhhXCIgLz5cbiAgICAgICAgICAgICAgPGZlT2Zmc2V0IC8+XG4gICAgICAgICAgICAgIDxmZUdhdXNzaWFuQmx1ciBzdGREZXZpYXRpb249XCIyXCIgLz5cbiAgICAgICAgICAgICAgPGZlQ29tcG9zaXRlIGluMj1cImhhcmRBbHBoYVwiIG9wZXJhdG9yPVwib3V0XCIgLz5cbiAgICAgICAgICAgICAgPGZlQ29sb3JNYXRyaXggdHlwZT1cIm1hdHJpeFwiIHZhbHVlcz1cIjAgMCAwIDAgMSAwIDAgMCAwIDAuMDk2MTUzOCAwIDAgMCAwIDAuNTkzMjY5IDAgMCAwIDEgMFwiIC8+XG4gICAgICAgICAgICAgIDxmZUJsZW5kIG1vZGU9XCJub3JtYWxcIiBpbjI9XCJCYWNrZ3JvdW5kSW1hZ2VGaXhcIiByZXN1bHQ9XCJlZmZlY3QxX2Ryb3BTaGFkb3dfNzQ4XzMzODdcIiAvPlxuICAgICAgICAgICAgICA8ZmVCbGVuZCBtb2RlPVwibm9ybWFsXCIgaW49XCJTb3VyY2VHcmFwaGljXCIgaW4yPVwiZWZmZWN0MV9kcm9wU2hhZG93Xzc0OF8zMzg3XCIgcmVzdWx0PVwic2hhcGVcIiAvPlxuICAgICAgICAgICAgPC9maWx0ZXI+XG4gICAgICAgICAgICA8bGluZWFyR3JhZGllbnQgaWQ9XCJwYWludDBfbGluZWFyXzc0OF8zMzg3XCIgeDE9XCIxOC41MTM0XCIgeTE9XCIyLjgxMDk3XCIgeDI9XCIwLjE2Mjc3M1wiIHkyPVwiMzUuMzU1NlwiIGdyYWRpZW50VW5pdHM9XCJ1c2VyU3BhY2VPblVzZVwiPlxuICAgICAgICAgICAgICA8c3RvcCBzdG9wLWNvbG9yPVwiI0ZFM0M3MlwiIC8+XG4gICAgICAgICAgICAgIDxzdG9wIG9mZnNldD1cIjAuMzg0NjE1XCIgc3RvcC1jb2xvcj1cIiNGRkI1RTlcIiAvPlxuICAgICAgICAgICAgPC9saW5lYXJHcmFkaWVudD5cbiAgICAgICAgICA8L2RlZnM+XG4gICAgICAgIDwvc3ZnPlxuICAgICAgPC9kaXY+XG4gICAgICA8bGliLXBvcHVwIGN1c3RvbUNsYXNzPVwibWVzc2FnZS1tb2RhbC1jb250YWluZXJcIiBbaXNPcGVuXT1cInRvZ2dsZU1lc3NhZ2VNb2RhbFwiIFttb2RhbENvbXBvbmVudF09XCJNb2RhbENvbXBvbmVudFwiIFttb2RhbENvbXBvbmVudERhdGFdPVwieyBtb2RhbDoge30gfVwiPiA8L2xpYi1wb3B1cD5cbiAgICAgIDxkaXZcbiAgICAgICAgW25nQ2xhc3NdPVwieyAnZW1vamktcGlja2VyLXRyaWdnZXInOiB0cnVlLCBhY3RpdmU6IGVtb2ppVmlzaWJpbGl0eSB9XCJcbiAgICAgICAgW25hbWVdPVwiZW1vamlQaWNrZXJDb25maWc/LnBpY2tlckljb24gPyAnJyA6ICdib2R5LW91dGxpbmUnXCJcbiAgICAgICAgKGNsaWNrKT1cImhhbmRsZUVtb2ppUGlja2VyQ2xpY2soKVwiXG4gICAgICAgIFtzcmNdPVwiZW1vamlQaWNrZXJDb25maWc/LnBpY2tlckljb25cIlxuICAgICAgICBjbGFzcz1cImVtb2ppXCJcbiAgICAgID5cbiAgICAgICAgPHN2ZyB4bWxucz1cImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnXCIgdmlld0JveD1cIjAgMCAxNiAxNlwiIGZpbGw9XCJub25lXCIgb3ZlcmZsb3c9XCJhdXRvXCI+XG4gICAgICAgICAgPGc+XG4gICAgICAgICAgICA8bWFzayBpZD1cInBhdGgtMS1vdXRzaWRlLTFfNDIyXzM0MTRcIiBtYXNrVW5pdHM9XCJ1c2VyU3BhY2VPblVzZVwiIHg9XCItMC43MjU1MVwiIHk9XCItMC43MTM3NzZcIiBmaWxsPVwidXJsKCNwYWludDBfbGluZWFyXzc0OF8zMzg3KVwiPlxuICAgICAgICAgICAgICA8cGF0aFxuICAgICAgICAgICAgICAgIGQ9XCJNNS4xMzA1NyAwLjI4NjIyNEM3LjgxMjUzIDAuMjg2MjI0IDkuOTg2NjUgMi41MzM3MyA5Ljk4NjY1IDUuMzA2MjNDOS45ODY2NSA4LjA3ODIzIDcuODEyMDUgMTAuMzI1MiA1LjEzMDU3IDEwLjMyNTJDMi40NDg2MSAxMC4zMjU3IDAuMjc0NDkgOC4wNzgyMyAwLjI3NDQ5IDUuMzA2MjNDMC4yNzQ0OSAyLjUzMzczIDIuNDQ4NjEgMC4yODYyMjQgNS4xMzA1NyAwLjI4NjIyNFpNNS4xMzA1NyAxLjAzOTA4QzQuNTg0NzYgMS4wMzI5NiA0LjA0MzIgMS4xMzg4IDMuNTM3MjMgMS4zNTA0OUMzLjAzMTI2IDEuNTYyMTggMi41NzA5MiAxLjg3NTUgMi4xODI4NyAyLjI3MjMzQzEuNzk0ODIgMi42NjkxNSAxLjQ4Njc1IDMuMTQxNiAxLjI3NjUgMy42NjIzM0MxLjA2NjI1IDQuMTgzMDUgMC45NTc5OSA0Ljc0MTcyIDAuOTU3OTkgNS4zMDU5OEMwLjk1Nzk5IDUuODcwMjUgMS4wNjYyNSA2LjQyODkxIDEuMjc2NSA2Ljk0OTY0QzEuNDg2NzUgNy40NzAzNiAxLjc5NDgyIDcuOTQyODEgMi4xODI4NyA4LjMzOTY0QzIuNTcwOTIgOC43MzY0NiAzLjAzMTI2IDkuMDQ5NzkgMy41MzcyMyA5LjI2MTQ3QzQuMDQzMiA5LjQ3MzE2IDQuNTg0NzYgOS41NzkwMSA1LjEzMDU3IDkuNTcyODlDNi4yMTc1MiA5LjU2MDcgNy4yNTU5NCA5LjEwNTc5IDguMDIwMzkgOC4zMDY5MUM4Ljc4NDg1IDcuNTA4MDQgOS4yMTM2MiA2LjQyOTY5IDkuMjEzNjIgNS4zMDU5OEM5LjIxMzYyIDQuMTgyMjggOC43ODQ4NSAzLjEwMzkzIDguMDIwMzkgMi4zMDUwNUM3LjI1NTk0IDEuNTA2MTggNi4yMTc1MiAxLjA1MTI2IDUuMTMwNTcgMS4wMzkwOFpNMy40MTI4MyA2LjcwMzAyQzMuNjE3MTggNi45NzE5MyAzLjg3ODAzIDcuMTg5MjUgNC4xNzU2MyA3LjMzODU1QzQuNDczMjMgNy40ODc4NSA0Ljc5OTc4IDcuNTY1MjIgNS4xMzA1NyA3LjU2NDc5QzUuNDYxIDcuNTY1MiA1Ljc4NzIxIDcuNDg3OTggNi4wODQ1MyA3LjMzODk1QzYuMzgxODYgNy4xODk5MiA2LjY0MjUzIDYuOTcyOTggNi44NDY4NSA2LjcwNDUzQzYuODc2NSA2LjY2NTc0IDYuOTEzMjUgNi42MzMzNyA2Ljk1NSA2LjYwOTI2QzYuOTk2NzUgNi41ODUxNSA3LjA0MjY4IDYuNTY5NzggNy4wOTAxOCA2LjU2NDAzQzcuMTM3NjcgNi41NTgyNyA3LjE4NTggNi41NjIyNCA3LjIzMTgxIDYuNTc1NzFDNy4yNzc4MiA2LjU4OTE5IDcuMzIwODIgNi42MTE5IDcuMzU4MzQgNi42NDI1NEM3LjM5NTg2IDYuNjczMTkgNy40MjcxNyA2LjcxMTE4IDcuNDUwNDkgNi43NTQzNEM3LjQ3MzgxIDYuNzk3NSA3LjQ4ODY4IDYuODQ0OTggNy40OTQyNSA2Ljg5NDA4QzcuNDk5ODIgNi45NDMxOCA3LjQ5NTk4IDYuOTkyOTMgNy40ODI5NCA3LjA0MDVDNy40Njk5MSA3LjA4ODA2IDcuNDQ3OTUgNy4xMzI1MSA3LjQxODMgNy4xNzEzQzcuMTQ1ODIgNy41Mjg5NyA2Ljc5ODMzIDcuODE4IDYuNDAyMDIgOC4wMTY1OEM2LjAwNTcyIDguMjE1MTYgNS41NzA5NyA4LjMxODEgNS4xMzA1NyA4LjMxNzY0QzQuNjg5NTMgOC4zMTgwOCA0LjI1NDE2IDguMjE0ODQgMy44NTc0IDguMDE1NzJDMy40NjA2NCA3LjgxNjYgMy4xMTI4NyA3LjUyNjgxIDIuODQwNDIgNy4xNjgyOEMyLjgxMDgzIDcuMTI5NDMgMi43ODg5NCA3LjA4NDkzIDIuNzc1OTkgNy4wMzczM0MyLjc2MzA0IDYuOTg5NzMgMi43NTkyOSA2LjkzOTk2IDIuNzY0OTUgNi44OTA4NkMyLjc3MDYxIDYuODQxNzYgMi43ODU1NiA2Ljc5NDMgMi44MDg5NyA2Ljc1MTE3QzIuODMyMzcgNi43MDgwNSAyLjg2Mzc2IDYuNjcwMTEgMi45MDEzNSA2LjYzOTUzQzIuOTM4OTMgNi42MDg5NSAyLjk4MTk4IDYuNTg2MzIgMy4wMjgwMiA2LjU3MjkzQzMuMDc0MDcgNi41NTk1NSAzLjEyMjIxIDYuNTU1NjcgMy4xNjk3MSA2LjU2MTUyQzMuMjE3MjEgNi41NjczNyAzLjI2MzEyIDYuNTgyODMgMy4zMDQ4NCA2LjYwNzAyQzMuMzQ2NTUgNi42MzEyMiAzLjM4MzI1IDYuNjYzNjcgMy40MTI4MyA2LjcwMjUyVjYuNzAzMDJaTTMuNjc0MDQgMy42NzUwNkMzLjc1NTE1IDMuNjcyNjggMy44MzU4OSAzLjY4NzE1IDMuOTExNSAzLjcxNzZDMy45ODcxMSAzLjc0ODA1IDQuMDU2MDQgMy43OTM4NiA0LjExNDIyIDMuODUyMzNDNC4xNzI0MSAzLjkxMDggNC4yMTg2NiAzLjk4MDczIDQuMjUwMjQgNC4wNThDNC4yODE4MiA0LjEzNTI3IDQuMjk4MDkgNC4yMTgzIDQuMjk4MDkgNC4zMDIxOEM0LjI5ODA5IDQuMzg2MDYgNC4yODE4MiA0LjQ2OTA5IDQuMjUwMjQgNC41NDYzNkM0LjIxODY2IDQuNjIzNjMgNC4xNzI0MSA0LjY5MzU2IDQuMTE0MjIgNC43NTIwM0M0LjA1NjA0IDQuODEwNSAzLjk4NzExIDQuODU2MzEgMy45MTE1IDQuODg2NzZDMy44MzU4OSA0LjkxNzIxIDMuNzU1MTUgNC45MzE2OCAzLjY3NDA0IDQuOTI5MzFDMy41MTYxMiA0LjkyNDY5IDMuMzY2MTYgNC44NTY1OSAzLjI1NjA0IDQuNzM5NDhDMy4xNDU5MiA0LjYyMjM4IDMuMDg0MzEgNC40NjU1IDMuMDg0MzEgNC4zMDIxOEMzLjA4NDMxIDQuMTM4ODYgMy4xNDU5MiAzLjk4MTk4IDMuMjU2MDQgMy44NjQ4OEMzLjM2NjE2IDMuNzQ3NzcgMy41MTYxMiAzLjY3OTY4IDMuNjc0MDQgMy42NzUwNlpNNi41ODcxIDMuNjc1MDZDNi42NjgyMSAzLjY3MjY4IDYuNzQ4OTYgMy42ODcxNSA2LjgyNDU3IDMuNzE3NkM2LjkwMDE4IDMuNzQ4MDUgNi45NjkxMSAzLjc5Mzg2IDcuMDI3MjkgMy44NTIzM0M3LjA4NTQ3IDMuOTEwOCA3LjEzMTcyIDMuOTgwNzMgNy4xNjMzIDQuMDU4QzcuMTk0ODggNC4xMzUyNyA3LjIxMTE2IDQuMjE4MyA3LjIxMTE2IDQuMzAyMThDNy4yMTExNiA0LjM4NjA2IDcuMTk0ODggNC40NjkwOSA3LjE2MzMgNC41NDYzNkM3LjEzMTcyIDQuNjIzNjMgNy4wODU0NyA0LjY5MzU2IDcuMDI3MjkgNC43NTIwM0M2Ljk2OTExIDQuODEwNSA2LjkwMDE4IDQuODU2MzEgNi44MjQ1NyA0Ljg4Njc2QzYuNzQ4OTYgNC45MTcyMSA2LjY2ODIxIDQuOTMxNjggNi41ODcxIDQuOTI5MzFDNi40MjkxOCA0LjkyNDY5IDYuMjc5MjMgNC44NTY1OSA2LjE2OTExIDQuNzM5NDhDNi4wNTg5OCA0LjYyMjM4IDUuOTk3MzggNC40NjU1IDUuOTk3MzggNC4zMDIxOEM1Ljk5NzM4IDQuMTM4ODYgNi4wNTg5OCAzLjk4MTk4IDYuMTY5MTEgMy44NjQ4OEM2LjI3OTIzIDMuNzQ3NzcgNi40MjkxOCAzLjY3OTY4IDYuNTg3MSAzLjY3NTA2WlwiXG4gICAgICAgICAgICAgIC8+XG4gICAgICAgICAgICA8L21hc2s+XG4gICAgICAgICAgICA8cGF0aFxuICAgICAgICAgICAgICBfbmdjb250ZW50LW5nLWM0MzM2MzY4OTE9XCJcIlxuICAgICAgICAgICAgICBkPVwiTTUuMTMwNTcgMC4yODYyMjRDNy44MTI1MyAwLjI4NjIyNCA5Ljk4NjY1IDIuNTMzNzMgOS45ODY2NSA1LjMwNjIzQzkuOTg2NjUgOC4wNzgyMyA3LjgxMjA1IDEwLjMyNTIgNS4xMzA1NyAxMC4zMjUyQzIuNDQ4NjEgMTAuMzI1NyAwLjI3NDQ5IDguMDc4MjMgMC4yNzQ0OSA1LjMwNjIzQzAuMjc0NDkgMi41MzM3MyAyLjQ0ODYxIDAuMjg2MjI0IDUuMTMwNTcgMC4yODYyMjRaTTUuMTMwNTcgMS4wMzkwOEM0LjU4NDc2IDEuMDMyOTYgNC4wNDMyIDEuMTM4OCAzLjUzNzIzIDEuMzUwNDlDMy4wMzEyNiAxLjU2MjE4IDIuNTcwOTIgMS44NzU1IDIuMTgyODcgMi4yNzIzM0MxLjc5NDgyIDIuNjY5MTUgMS40ODY3NSAzLjE0MTYgMS4yNzY1IDMuNjYyMzNDMS4wNjYyNSA0LjE4MzA1IDAuOTU3OTkgNC43NDE3MiAwLjk1Nzk5IDUuMzA1OThDMC45NTc5OSA1Ljg3MDI1IDEuMDY2MjUgNi40Mjg5MSAxLjI3NjUgNi45NDk2NEMxLjQ4Njc1IDcuNDcwMzYgMS43OTQ4MiA3Ljk0MjgxIDIuMTgyODcgOC4zMzk2NEMyLjU3MDkyIDguNzM2NDYgMy4wMzEyNiA5LjA0OTc5IDMuNTM3MjMgOS4yNjE0N0M0LjA0MzIgOS40NzMxNiA0LjU4NDc2IDkuNTc5MDEgNS4xMzA1NyA5LjU3Mjg5QzYuMjE3NTIgOS41NjA3IDcuMjU1OTQgOS4xMDU3OSA4LjAyMDM5IDguMzA2OTFDOC43ODQ4NSA3LjUwODA0IDkuMjEzNjIgNi40Mjk2OSA5LjIxMzYyIDUuMzA1OThDOS4yMTM2MiA0LjE4MjI4IDguNzg0ODUgMy4xMDM5MyA4LjAyMDM5IDIuMzA1MDVDNy4yNTU5NCAxLjUwNjE4IDYuMjE3NTIgMS4wNTEyNiA1LjEzMDU3IDEuMDM5MDhaTTMuNDEyODMgNi43MDMwMkMzLjYxNzE4IDYuOTcxOTMgMy44NzgwMyA3LjE4OTI1IDQuMTc1NjMgNy4zMzg1NUM0LjQ3MzIzIDcuNDg3ODUgNC43OTk3OCA3LjU2NTIyIDUuMTMwNTcgNy41NjQ3OUM1LjQ2MSA3LjU2NTIgNS43ODcyMSA3LjQ4Nzk4IDYuMDg0NTMgNy4zMzg5NUM2LjM4MTg2IDcuMTg5OTIgNi42NDI1MyA2Ljk3Mjk4IDYuODQ2ODUgNi43MDQ1M0M2Ljg3NjUgNi42NjU3NCA2LjkxMzI1IDYuNjMzMzcgNi45NTUgNi42MDkyNkM2Ljk5Njc1IDYuNTg1MTUgNy4wNDI2OCA2LjU2OTc4IDcuMDkwMTggNi41NjQwM0M3LjEzNzY3IDYuNTU4MjcgNy4xODU4IDYuNTYyMjQgNy4yMzE4MSA2LjU3NTcxQzcuMjc3ODIgNi41ODkxOSA3LjMyMDgyIDYuNjExOSA3LjM1ODM0IDYuNjQyNTRDNy4zOTU4NiA2LjY3MzE5IDcuNDI3MTcgNi43MTExOCA3LjQ1MDQ5IDYuNzU0MzRDNy40NzM4MSA2Ljc5NzUgNy40ODg2OCA2Ljg0NDk4IDcuNDk0MjUgNi44OTQwOEM3LjQ5OTgyIDYuOTQzMTggNy40OTU5OCA2Ljk5MjkzIDcuNDgyOTQgNy4wNDA1QzcuNDY5OTEgNy4wODgwNiA3LjQ0Nzk1IDcuMTMyNTEgNy40MTgzIDcuMTcxM0M3LjE0NTgyIDcuNTI4OTcgNi43OTgzMyA3LjgxOCA2LjQwMjAyIDguMDE2NThDNi4wMDU3MiA4LjIxNTE2IDUuNTcwOTcgOC4zMTgxIDUuMTMwNTcgOC4zMTc2NEM0LjY4OTUzIDguMzE4MDggNC4yNTQxNiA4LjIxNDg0IDMuODU3NCA4LjAxNTcyQzMuNDYwNjQgNy44MTY2IDMuMTEyODcgNy41MjY4MSAyLjg0MDQyIDcuMTY4MjhDMi44MTA4MyA3LjEyOTQzIDIuNzg4OTQgNy4wODQ5MyAyLjc3NTk5IDcuMDM3MzNDMi43NjMwNCA2Ljk4OTczIDIuNzU5MjkgNi45Mzk5NiAyLjc2NDk1IDYuODkwODZDMi43NzA2MSA2Ljg0MTc2IDIuNzg1NTYgNi43OTQzIDIuODA4OTcgNi43NTExN0MyLjgzMjM3IDYuNzA4MDUgMi44NjM3NiA2LjY3MDExIDIuOTAxMzUgNi42Mzk1M0MyLjkzODkzIDYuNjA4OTUgMi45ODE5OCA2LjU4NjMyIDMuMDI4MDIgNi41NzI5M0MzLjA3NDA3IDYuNTU5NTUgMy4xMjIyMSA2LjU1NTY3IDMuMTY5NzEgNi41NjE1MkMzLjIxNzIxIDYuNTY3MzcgMy4yNjMxMiA2LjU4MjgzIDMuMzA0ODQgNi42MDcwMkMzLjM0NjU1IDYuNjMxMjIgMy4zODMyNSA2LjY2MzY3IDMuNDEyODMgNi43MDI1MlY2LjcwMzAyWk0zLjY3NDA0IDMuNjc1MDZDMy43NTUxNSAzLjY3MjY4IDMuODM1ODkgMy42ODcxNSAzLjkxMTUgMy43MTc2QzMuOTg3MTEgMy43NDgwNSA0LjA1NjA0IDMuNzkzODYgNC4xMTQyMiAzLjg1MjMzQzQuMTcyNDEgMy45MTA4IDQuMjE4NjYgMy45ODA3MyA0LjI1MDI0IDQuMDU4QzQuMjgxODIgNC4xMzUyNyA0LjI5ODA5IDQuMjE4MyA0LjI5ODA5IDQuMzAyMThDNC4yOTgwOSA0LjM4NjA2IDQuMjgxODIgNC40NjkwOSA0LjI1MDI0IDQuNTQ2MzZDNC4yMTg2NiA0LjYyMzYzIDQuMTcyNDEgNC42OTM1NiA0LjExNDIyIDQuNzUyMDNDNC4wNTYwNCA0LjgxMDUgMy45ODcxMSA0Ljg1NjMxIDMuOTExNSA0Ljg4Njc2QzMuODM1ODkgNC45MTcyMSAzLjc1NTE1IDQuOTMxNjggMy42NzQwNCA0LjkyOTMxQzMuNTE2MTIgNC45MjQ2OSAzLjM2NjE2IDQuODU2NTkgMy4yNTYwNCA0LjczOTQ4QzMuMTQ1OTIgNC42MjIzOCAzLjA4NDMxIDQuNDY1NSAzLjA4NDMxIDQuMzAyMThDMy4wODQzMSA0LjEzODg2IDMuMTQ1OTIgMy45ODE5OCAzLjI1NjA0IDMuODY0ODhDMy4zNjYxNiAzLjc0Nzc3IDMuNTE2MTIgMy42Nzk2OCAzLjY3NDA0IDMuNjc1MDZaTTYuNTg3MSAzLjY3NTA2QzYuNjY4MjEgMy42NzI2OCA2Ljc0ODk2IDMuNjg3MTUgNi44MjQ1NyAzLjcxNzZDNi45MDAxOCAzLjc0ODA1IDYuOTY5MTEgMy43OTM4NiA3LjAyNzI5IDMuODUyMzNDNy4wODU0NyAzLjkxMDggNy4xMzE3MiAzLjk4MDczIDcuMTYzMyA0LjA1OEM3LjE5NDg4IDQuMTM1MjcgNy4yMTExNiA0LjIxODMgNy4yMTExNiA0LjMwMjE4QzcuMjExMTYgNC4zODYwNiA3LjE5NDg4IDQuNDY5MDkgNy4xNjMzIDQuNTQ2MzZDNy4xMzE3MiA0LjYyMzYzIDcuMDg1NDcgNC42OTM1NiA3LjAyNzI5IDQuNzUyMDNDNi45NjkxMSA0LjgxMDUgNi45MDAxOCA0Ljg1NjMxIDYuODI0NTcgNC44ODY3NkM2Ljc0ODk2IDQuOTE3MjEgNi42NjgyMSA0LjkzMTY4IDYuNTg3MSA0LjkyOTMxQzYuNDI5MTggNC45MjQ2OSA2LjI3OTIzIDQuODU2NTkgNi4xNjkxMSA0LjczOTQ4QzYuMDU4OTggNC42MjIzOCA1Ljk5NzM4IDQuNDY1NSA1Ljk5NzM4IDQuMzAyMThDNS45OTczOCA0LjEzODg2IDYuMDU4OTggMy45ODE5OCA2LjE2OTExIDMuODY0ODhDNi4yNzkyMyAzLjc0Nzc3IDYuNDI5MTggMy42Nzk2OCA2LjU4NzEgMy42NzUwNlpcIlxuICAgICAgICAgICAgICBmaWxsPVwidXJsKCNwYWludDBfbGluZWFyXzc0OF8zMzg3KVwiXG4gICAgICAgICAgICA+PC9wYXRoPlxuICAgICAgICAgICAgPHBhdGhcbiAgICAgICAgICAgICAgX25nY29udGVudC1uZy1jNDMzNjM2ODkxPVwiXCJcbiAgICAgICAgICAgICAgZD1cIk01LjEzMDU3IDAuMjg2MjI0QzcuODEyNTMgMC4yODYyMjQgOS45ODY2NSAyLjUzMzczIDkuOTg2NjUgNS4zMDYyM0M5Ljk4NjY1IDguMDc4MjMgNy44MTIwNSAxMC4zMjUyIDUuMTMwNTcgMTAuMzI1MkMyLjQ0ODYxIDEwLjMyNTcgMC4yNzQ0OSA4LjA3ODIzIDAuMjc0NDkgNS4zMDYyM0MwLjI3NDQ5IDIuNTMzNzMgMi40NDg2MSAwLjI4NjIyNCA1LjEzMDU3IDAuMjg2MjI0Wk01LjEzMDU3IDEuMDM5MDhDNC41ODQ3NiAxLjAzMjk2IDQuMDQzMiAxLjEzODggMy41MzcyMyAxLjM1MDQ5QzMuMDMxMjYgMS41NjIxOCAyLjU3MDkyIDEuODc1NSAyLjE4Mjg3IDIuMjcyMzNDMS43OTQ4MiAyLjY2OTE1IDEuNDg2NzUgMy4xNDE2IDEuMjc2NSAzLjY2MjMzQzEuMDY2MjUgNC4xODMwNSAwLjk1Nzk5IDQuNzQxNzIgMC45NTc5OSA1LjMwNTk4QzAuOTU3OTkgNS44NzAyNSAxLjA2NjI1IDYuNDI4OTEgMS4yNzY1IDYuOTQ5NjRDMS40ODY3NSA3LjQ3MDM2IDEuNzk0ODIgNy45NDI4MSAyLjE4Mjg3IDguMzM5NjRDMi41NzA5MiA4LjczNjQ2IDMuMDMxMjYgOS4wNDk3OSAzLjUzNzIzIDkuMjYxNDdDNC4wNDMyIDkuNDczMTYgNC41ODQ3NiA5LjU3OTAxIDUuMTMwNTcgOS41NzI4OUM2LjIxNzUyIDkuNTYwNyA3LjI1NTk0IDkuMTA1NzkgOC4wMjAzOSA4LjMwNjkxQzguNzg0ODUgNy41MDgwNCA5LjIxMzYyIDYuNDI5NjkgOS4yMTM2MiA1LjMwNTk4QzkuMjEzNjIgNC4xODIyOCA4Ljc4NDg1IDMuMTAzOTMgOC4wMjAzOSAyLjMwNTA1QzcuMjU1OTQgMS41MDYxOCA2LjIxNzUyIDEuMDUxMjYgNS4xMzA1NyAxLjAzOTA4Wk0zLjQxMjgzIDYuNzAzMDJDMy42MTcxOCA2Ljk3MTkzIDMuODc4MDMgNy4xODkyNSA0LjE3NTYzIDcuMzM4NTVDNC40NzMyMyA3LjQ4Nzg1IDQuNzk5NzggNy41NjUyMiA1LjEzMDU3IDcuNTY0NzlDNS40NjEgNy41NjUyIDUuNzg3MjEgNy40ODc5OCA2LjA4NDUzIDcuMzM4OTVDNi4zODE4NiA3LjE4OTkyIDYuNjQyNTMgNi45NzI5OCA2Ljg0Njg1IDYuNzA0NTNDNi44NzY1IDYuNjY1NzQgNi45MTMyNSA2LjYzMzM3IDYuOTU1IDYuNjA5MjZDNi45OTY3NSA2LjU4NTE1IDcuMDQyNjggNi41Njk3OCA3LjA5MDE4IDYuNTY0MDNDNy4xMzc2NyA2LjU1ODI3IDcuMTg1OCA2LjU2MjI0IDcuMjMxODEgNi41NzU3MUM3LjI3NzgyIDYuNTg5MTkgNy4zMjA4MiA2LjYxMTkgNy4zNTgzNCA2LjY0MjU0QzcuMzk1ODYgNi42NzMxOSA3LjQyNzE3IDYuNzExMTggNy40NTA0OSA2Ljc1NDM0QzcuNDczODEgNi43OTc1IDcuNDg4NjggNi44NDQ5OCA3LjQ5NDI1IDYuODk0MDhDNy40OTk4MiA2Ljk0MzE4IDcuNDk1OTggNi45OTI5MyA3LjQ4Mjk0IDcuMDQwNUM3LjQ2OTkxIDcuMDg4MDYgNy40NDc5NSA3LjEzMjUxIDcuNDE4MyA3LjE3MTNDNy4xNDU4MiA3LjUyODk3IDYuNzk4MzMgNy44MTggNi40MDIwMiA4LjAxNjU4QzYuMDA1NzIgOC4yMTUxNiA1LjU3MDk3IDguMzE4MSA1LjEzMDU3IDguMzE3NjRDNC42ODk1MyA4LjMxODA4IDQuMjU0MTYgOC4yMTQ4NCAzLjg1NzQgOC4wMTU3MkMzLjQ2MDY0IDcuODE2NiAzLjExMjg3IDcuNTI2ODEgMi44NDA0MiA3LjE2ODI4QzIuODEwODMgNy4xMjk0MyAyLjc4ODk0IDcuMDg0OTMgMi43NzU5OSA3LjAzNzMzQzIuNzYzMDQgNi45ODk3MyAyLjc1OTI5IDYuOTM5OTYgMi43NjQ5NSA2Ljg5MDg2QzIuNzcwNjEgNi44NDE3NiAyLjc4NTU2IDYuNzk0MyAyLjgwODk3IDYuNzUxMTdDMi44MzIzNyA2LjcwODA1IDIuODYzNzYgNi42NzAxMSAyLjkwMTM1IDYuNjM5NTNDMi45Mzg5MyA2LjYwODk1IDIuOTgxOTggNi41ODYzMiAzLjAyODAyIDYuNTcyOTNDMy4wNzQwNyA2LjU1OTU1IDMuMTIyMjEgNi41NTU2NyAzLjE2OTcxIDYuNTYxNTJDMy4yMTcyMSA2LjU2NzM3IDMuMjYzMTIgNi41ODI4MyAzLjMwNDg0IDYuNjA3MDJDMy4zNDY1NSA2LjYzMTIyIDMuMzgzMjUgNi42NjM2NyAzLjQxMjgzIDYuNzAyNTJWNi43MDMwMlpNMy42NzQwNCAzLjY3NTA2QzMuNzU1MTUgMy42NzI2OCAzLjgzNTg5IDMuNjg3MTUgMy45MTE1IDMuNzE3NkMzLjk4NzExIDMuNzQ4MDUgNC4wNTYwNCAzLjc5Mzg2IDQuMTE0MjIgMy44NTIzM0M0LjE3MjQxIDMuOTEwOCA0LjIxODY2IDMuOTgwNzMgNC4yNTAyNCA0LjA1OEM0LjI4MTgyIDQuMTM1MjcgNC4yOTgwOSA0LjIxODMgNC4yOTgwOSA0LjMwMjE4QzQuMjk4MDkgNC4zODYwNiA0LjI4MTgyIDQuNDY5MDkgNC4yNTAyNCA0LjU0NjM2QzQuMjE4NjYgNC42MjM2MyA0LjE3MjQxIDQuNjkzNTYgNC4xMTQyMiA0Ljc1MjAzQzQuMDU2MDQgNC44MTA1IDMuOTg3MTEgNC44NTYzMSAzLjkxMTUgNC44ODY3NkMzLjgzNTg5IDQuOTE3MjEgMy43NTUxNSA0LjkzMTY4IDMuNjc0MDQgNC45MjkzMUMzLjUxNjEyIDQuOTI0NjkgMy4zNjYxNiA0Ljg1NjU5IDMuMjU2MDQgNC43Mzk0OEMzLjE0NTkyIDQuNjIyMzggMy4wODQzMSA0LjQ2NTUgMy4wODQzMSA0LjMwMjE4QzMuMDg0MzEgNC4xMzg4NiAzLjE0NTkyIDMuOTgxOTggMy4yNTYwNCAzLjg2NDg4QzMuMzY2MTYgMy43NDc3NyAzLjUxNjEyIDMuNjc5NjggMy42NzQwNCAzLjY3NTA2Wk02LjU4NzEgMy42NzUwNkM2LjY2ODIxIDMuNjcyNjggNi43NDg5NiAzLjY4NzE1IDYuODI0NTcgMy43MTc2QzYuOTAwMTggMy43NDgwNSA2Ljk2OTExIDMuNzkzODYgNy4wMjcyOSAzLjg1MjMzQzcuMDg1NDcgMy45MTA4IDcuMTMxNzIgMy45ODA3MyA3LjE2MzMgNC4wNThDNy4xOTQ4OCA0LjEzNTI3IDcuMjExMTYgNC4yMTgzIDcuMjExMTYgNC4zMDIxOEM3LjIxMTE2IDQuMzg2MDYgNy4xOTQ4OCA0LjQ2OTA5IDcuMTYzMyA0LjU0NjM2QzcuMTMxNzIgNC42MjM2MyA3LjA4NTQ3IDQuNjkzNTYgNy4wMjcyOSA0Ljc1MjAzQzYuOTY5MTEgNC44MTA1IDYuOTAwMTggNC44NTYzMSA2LjgyNDU3IDQuODg2NzZDNi43NDg5NiA0LjkxNzIxIDYuNjY4MjEgNC45MzE2OCA2LjU4NzEgNC45MjkzMUM2LjQyOTE4IDQuOTI0NjkgNi4yNzkyMyA0Ljg1NjU5IDYuMTY5MTEgNC43Mzk0OEM2LjA1ODk4IDQuNjIyMzggNS45OTczOCA0LjQ2NTUgNS45OTczOCA0LjMwMjE4QzUuOTk3MzggNC4xMzg4NiA2LjA1ODk4IDMuOTgxOTggNi4xNjkxMSAzLjg2NDg4QzYuMjc5MjMgMy43NDc3NyA2LjQyOTE4IDMuNjc5NjggNi41ODcxIDMuNjc1MDZaXCJcbiAgICAgICAgICAgICAgc3Ryb2tlPVwidXJsKCNwYWludDBfbGluZWFyXzc0OF8zMzg3KVwiXG4gICAgICAgICAgICAgIGZpbGw9XCJ1cmwoI3BhaW50MF9saW5lYXJfNzQ4XzMzODcpXCJcbiAgICAgICAgICAgICAgc3Ryb2tlLXdpZHRoPVwiMC40OTI1MzVcIlxuICAgICAgICAgICAgICBtYXNrPVwidXJsKCNwYXRoLTEtb3V0c2lkZS0xXzQyMl8zNDE0KVwiXG4gICAgICAgICAgICA+PC9wYXRoPlxuICAgICAgICAgIDwvZz5cbiAgICAgICAgICA8ZGVmcyB4bWxucz1cImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnXCI+XG4gICAgICAgICAgICA8ZmlsdGVyIGlkPVwiZmlsdGVyMF9kXzc0OF83Njg1XCIgeD1cIjBcIiB5PVwiMFwiIHdpZHRoPVwiMzBcIiBoZWlnaHQ9XCIzMFwiIGZpbHRlclVuaXRzPVwidXNlclNwYWNlT25Vc2VcIiBjb2xvci1pbnRlcnBvbGF0aW9uLWZpbHRlcnM9XCJzUkdCXCI+XG4gICAgICAgICAgICAgIDxmZUZsb29kIGZsb29kLW9wYWNpdHk9XCIwXCIgcmVzdWx0PVwiQmFja2dyb3VuZEltYWdlRml4XCIgLz5cbiAgICAgICAgICAgICAgPGZlQ29sb3JNYXRyaXggaW49XCJTb3VyY2VBbHBoYVwiIHR5cGU9XCJtYXRyaXhcIiB2YWx1ZXM9XCIwIDAgMCAwIDAgMCAwIDAgMCAwIDAgMCAwIDAgMCAwIDAgMCAxMjcgMFwiIHJlc3VsdD1cImhhcmRBbHBoYVwiIC8+XG4gICAgICAgICAgICAgIDxmZU9mZnNldCAvPlxuICAgICAgICAgICAgICA8ZmVHYXVzc2lhbkJsdXIgc3RkRGV2aWF0aW9uPVwiMlwiIC8+XG4gICAgICAgICAgICAgIDxmZUNvbXBvc2l0ZSBpbjI9XCJoYXJkQWxwaGFcIiBvcGVyYXRvcj1cIm91dFwiIC8+XG4gICAgICAgICAgICAgIDxmZUNvbG9yTWF0cml4IHR5cGU9XCJtYXRyaXhcIiB2YWx1ZXM9XCIwIDAgMCAwIDEgMCAwIDAgMCAwLjA5NjE1MzggMCAwIDAgMCAwLjU5MzI2OSAwIDAgMCAxIDBcIiAvPlxuICAgICAgICAgICAgICA8ZmVCbGVuZCBtb2RlPVwibm9ybWFsXCIgaW4yPVwiQmFja2dyb3VuZEltYWdlRml4XCIgcmVzdWx0PVwiZWZmZWN0MV9kcm9wU2hhZG93Xzc0OF83Njg1XCIgLz5cbiAgICAgICAgICAgICAgPGZlQmxlbmQgbW9kZT1cIm5vcm1hbFwiIGluPVwiU291cmNlR3JhcGhpY1wiIGluMj1cImVmZmVjdDFfZHJvcFNoYWRvd183NDhfNzY4NVwiIHJlc3VsdD1cInNoYXBlXCIgLz5cbiAgICAgICAgICAgIDwvZmlsdGVyPlxuICAgICAgICAgICAgPGxpbmVhckdyYWRpZW50IGlkPVwicGFpbnQwX2xpbmVhcl83NDhfNzY4NVwiIHgxPVwiMTQuMTUwOVwiIHkxPVwiMy40MzM3MlwiIHgyPVwiMC45OTI3OTlcIiB5Mj1cIjI2Ljc3MTVcIiBncmFkaWVudFVuaXRzPVwidXNlclNwYWNlT25Vc2VcIj5cbiAgICAgICAgICAgICAgPHN0b3Agc3RvcC1jb2xvcj1cIiNGRTNDNzJcIiAvPlxuICAgICAgICAgICAgICA8c3RvcCBvZmZzZXQ9XCIwLjM4NDYxNVwiIHN0b3AtY29sb3I9XCIjRkZCNUU5XCIgLz5cbiAgICAgICAgICAgIDwvbGluZWFyR3JhZGllbnQ+XG4gICAgICAgICAgICA8bGluZWFyR3JhZGllbnQgaWQ9XCJwYWludDBfbGluZWFyXzc0OF8zMzg3XCIgeDE9XCIxOC41MTM0XCIgeTE9XCIyLjgxMDk3XCIgeDI9XCIwLjE2Mjc3M1wiIHkyPVwiMzUuMzU1NlwiIGdyYWRpZW50VW5pdHM9XCJ1c2VyU3BhY2VPblVzZVwiPlxuICAgICAgICAgICAgICA8c3RvcCBzdG9wLWNvbG9yPVwiI0ZFM0M3MlwiIC8+XG4gICAgICAgICAgICAgIDxzdG9wIG9mZnNldD1cIjAuMzg0NjE1XCIgc3RvcC1jb2xvcj1cIiNGRkI1RTlcIiAvPlxuICAgICAgICAgICAgPC9saW5lYXJHcmFkaWVudD5cbiAgICAgICAgICA8L2RlZnM+XG4gICAgICAgIDwvc3ZnPlxuICAgICAgPC9kaXY+XG4gICAgICBAaWYgKGVuYWJsZUdpZlBpY2tlcikge1xuICAgICAgICA8ZGl2IGNsYXNzPVwiZ2lmc1wiIChjbGljayk9XCJoYW5kbGVHaWZQaWNrZXJDbGljaygpXCI+PC9kaXY+XG4gICAgICAgIDxkaXYgY2xhc3M9XCJnaWZzXCIgKm5nSWY9XCJpbmNsdWRlR2lmTWVzc2FnZVwiIChjbGljayk9XCJoYW5kbGVHaWZQaWNrZXJDbGljaygpXCI+XG4gICAgICAgICAgPHN2ZyB2aWV3Qm94PVwiMCAwIDExIDEyXCIgZmlsbD1cIm5vbmVcIiB4bWxucz1cImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnXCI+XG4gICAgICAgICAgICA8Zz5cbiAgICAgICAgICAgICAgPHBhdGhcbiAgICAgICAgICAgICAgICBkPVwiTTcuMDU1IDEwLjk5OTVINC44OTlDMy4yNTM1IDEwLjk5OTUgMi40MzA1IDEwLjk5OTUgMS44NTkgMTAuNjAwNUMxLjY5Njk0IDEwLjQ4NzMgMS41NTE2NyAxMC4zNTE4IDEuNDI3NSAxMC4xOThDMSA5LjY2NTAxIDEgOC44OTgwMSAxIDcuMzYzMDFWNi4wOTA1MUMxIDQuNjA5MDEgMSAzLjg2ODAxIDEuMjM2NSAzLjI3NjUxQzEuNjE3IDIuMzI1MDEgMi40MjE1IDEuNTc1MDEgMy40NDE1IDEuMjIwMDFDNC4wNzUgMC45OTk1MTIgNC44NyAwLjk5OTUxMiA2LjQ1ODUgMC45OTk1MTJDNy4zNjY1IDAuOTk5NTEyIDcuODIgMC45OTk1MTIgOC4xODI1IDEuMTI1NTFDOC43NjU1IDEuMzI4NTEgOS4yMjUgMS43NTcwMSA5LjQ0MjUgMi4zMDA1MUM5LjU3NzUgMi42Mzg1MSA5LjU3NzUgMy4wNjIwMSA5LjU3NzUgMy45MDg1MVY0Ljk5OTUxXCJcbiAgICAgICAgICAgICAgICBzdHJva2U9XCJ1cmwoI3BhaW50MF9saW5lYXJfNzQ4XzMzODcpXCJcbiAgICAgICAgICAgICAgICBzdHJva2Utd2lkdGg9XCIwLjc1XCJcbiAgICAgICAgICAgICAgICBzdHJva2UtbGluZWNhcD1cInJvdW5kXCJcbiAgICAgICAgICAgICAgICBzdHJva2UtbGluZWpvaW49XCJyb3VuZFwiXG4gICAgICAgICAgICAgIC8+XG4gICAgICAgICAgICAgIDxwYXRoXG4gICAgICAgICAgICAgICAgZD1cIk0xIDUuOTk5NTFDMSA1LjA3OTUxIDEuNzUzIDQuMzMzMDEgMi42ODIgNC4zMzMwMUMzLjAxOCA0LjMzMzAxIDMuNDE0IDQuMzkxMDEgMy43NDA1IDQuMzA0NTFDMy44ODI4MSA0LjI2NzM2IDQuMDEyNzggNC4xOTMyOCA0LjExNzI2IDQuMDg5NzZDNC4yMjE3NCAzLjk4NjI0IDQuMjk3MDMgMy44NTY5NyA0LjMzNTUgMy43MTUwMUM0LjQyMjUgMy4zOTE1MSA0LjM2NCAyLjk5OTAxIDQuMzY0IDIuNjY2MDFDNC4zNjQgMS43NDYwMSA1LjExNyAwLjk5OTUxMiA2LjA0NSAwLjk5OTUxMk02LjA0NiA4Ljk5OTUxSDcuMzA3NU00LjgzMyA2LjkyNDUxQzQuNzcgNi41MjQ1MSA0LjY5MjUgNi41MjQwMSA0LjAyOCA2LjQ5OTUxSDMuNTIzQzMuMjQ0NSA2LjQ5OTUxIDMuMDE4NSA2LjcyMzUxIDMuMDE4NSA2Ljk5OTUxVjguNDk5NTFDMy4wMTg1IDguNzc1NTEgMy4yNDQ1IDguOTk5NTEgMy41MjM1IDguOTk5NTFINC40MzE1QzQuNjI2NSA4Ljk5OTUxIDQuODMzIDguODQzMDEgNC44MzMgOC42NDk1MVY4LjA5OTUxQzQuODMzIDguMDQ0NTEgNC43NzY1IDcuOTQ3NTEgNC43MjEgNy45NDc1MUg0LjE1OU02LjA0NiA2LjQ5OTUxSDYuNjc2NU02LjY3NjUgNi40OTk1MUg3LjMwNzVNNi42NzY1IDYuNDk5NTFWOC45MzcwMU0xMC4yNTA1IDYuNDk5NTFIOC45ODlDOC43MTA1IDYuNDk5NTEgOC40ODQ1IDYuNzIzNTEgOC40ODQ1IDYuOTk5NTFWNy43NDk1MU04LjQ4NDUgNy43NDk1MVY4Ljk5OTUxTTguNDg0NSA3Ljc0OTUxSDkuNzQ2XCJcbiAgICAgICAgICAgICAgICBzdHJva2U9XCJ1cmwoI3BhaW50MF9saW5lYXJfNzQ4XzMzODcpXCJcbiAgICAgICAgICAgICAgICBzdHJva2Utd2lkdGg9XCIwLjc1XCJcbiAgICAgICAgICAgICAgICBzdHJva2UtbGluZWNhcD1cInJvdW5kXCJcbiAgICAgICAgICAgICAgICBzdHJva2UtbGluZWpvaW49XCJyb3VuZFwiXG4gICAgICAgICAgICAgIC8+XG4gICAgICAgICAgICA8L2c+XG4gICAgICAgICAgICA8ZGVmcyB4bWxucz1cImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnXCI+XG4gICAgICAgICAgICAgIDxmaWx0ZXIgaWQ9XCJmaWx0ZXIwX2RfNzQ4Xzc2ODVcIiB4PVwiMFwiIHk9XCIwXCIgd2lkdGg9XCIzMFwiIGhlaWdodD1cIjMwXCIgZmlsdGVyVW5pdHM9XCJ1c2VyU3BhY2VPblVzZVwiIGNvbG9yLWludGVycG9sYXRpb24tZmlsdGVycz1cInNSR0JcIj5cbiAgICAgICAgICAgICAgICA8ZmVGbG9vZCBmbG9vZC1vcGFjaXR5PVwiMFwiIHJlc3VsdD1cIkJhY2tncm91bmRJbWFnZUZpeFwiIC8+XG4gICAgICAgICAgICAgICAgPGZlQ29sb3JNYXRyaXggaW49XCJTb3VyY2VBbHBoYVwiIHR5cGU9XCJtYXRyaXhcIiB2YWx1ZXM9XCIwIDAgMCAwIDAgMCAwIDAgMCAwIDAgMCAwIDAgMCAwIDAgMCAxMjcgMFwiIHJlc3VsdD1cImhhcmRBbHBoYVwiIC8+XG4gICAgICAgICAgICAgICAgPGZlT2Zmc2V0IC8+XG4gICAgICAgICAgICAgICAgPGZlR2F1c3NpYW5CbHVyIHN0ZERldmlhdGlvbj1cIjJcIiAvPlxuICAgICAgICAgICAgICAgIDxmZUNvbXBvc2l0ZSBpbjI9XCJoYXJkQWxwaGFcIiBvcGVyYXRvcj1cIm91dFwiIC8+XG4gICAgICAgICAgICAgICAgPGZlQ29sb3JNYXRyaXggdHlwZT1cIm1hdHJpeFwiIHZhbHVlcz1cIjAgMCAwIDAgMSAwIDAgMCAwIDAuMDk2MTUzOCAwIDAgMCAwIDAuNTkzMjY5IDAgMCAwIDEgMFwiIC8+XG4gICAgICAgICAgICAgICAgPGZlQmxlbmQgbW9kZT1cIm5vcm1hbFwiIGluMj1cIkJhY2tncm91bmRJbWFnZUZpeFwiIHJlc3VsdD1cImVmZmVjdDFfZHJvcFNoYWRvd183NDhfNzY4NVwiIC8+XG4gICAgICAgICAgICAgICAgPGZlQmxlbmQgbW9kZT1cIm5vcm1hbFwiIGluPVwiU291cmNlR3JhcGhpY1wiIGluMj1cImVmZmVjdDFfZHJvcFNoYWRvd183NDhfNzY4NVwiIHJlc3VsdD1cInNoYXBlXCIgLz5cbiAgICAgICAgICAgICAgPC9maWx0ZXI+XG4gICAgICAgICAgICAgIDxsaW5lYXJHcmFkaWVudCBpZD1cInBhaW50MF9saW5lYXJfNzQ4Xzc2ODVcIiB4MT1cIjE0LjE1MDlcIiB5MT1cIjMuNDMzNzJcIiB4Mj1cIjAuOTkyNzk5XCIgeTI9XCIyNi43NzE1XCIgZ3JhZGllbnRVbml0cz1cInVzZXJTcGFjZU9uVXNlXCI+XG4gICAgICAgICAgICAgICAgPHN0b3Agc3RvcC1jb2xvcj1cIiNGRTNDNzJcIiAvPlxuICAgICAgICAgICAgICAgIDxzdG9wIG9mZnNldD1cIjAuMzg0NjE1XCIgc3RvcC1jb2xvcj1cIiNGRkI1RTlcIiAvPlxuICAgICAgICAgICAgICA8L2xpbmVhckdyYWRpZW50PlxuICAgICAgICAgICAgICA8bGluZWFyR3JhZGllbnQgaWQ9XCJwYWludDBfbGluZWFyXzc0OF8zMzg3XCIgeDE9XCIxOC41MTM0XCIgeTE9XCIyLjgxMDk3XCIgeDI9XCIwLjE2Mjc3M1wiIHkyPVwiMzUuMzU1NlwiIGdyYWRpZW50VW5pdHM9XCJ1c2VyU3BhY2VPblVzZVwiPlxuICAgICAgICAgICAgICAgIDxzdG9wIHN0b3AtY29sb3I9XCIjRkUzQzcyXCIgLz5cbiAgICAgICAgICAgICAgICA8c3RvcCBvZmZzZXQ9XCIwLjM4NDYxNVwiIHN0b3AtY29sb3I9XCIjRkZCNUU5XCIgLz5cbiAgICAgICAgICAgICAgPC9saW5lYXJHcmFkaWVudD5cbiAgICAgICAgICAgIDwvZGVmcz5cbiAgICAgICAgICA8L3N2Zz5cbiAgICAgICAgPC9kaXY+XG4gICAgICB9XG4gICAgPC9kaXY+XG4gICAgPGRpdiBjbGFzcz1cImVtb2ppLXBpY2tlci1zcGFjZVwiIFtuZ1N0eWxlXT1cInsgJ3otaW5kZXgnOiAhKGdpZlZpc2liaWxpdHkgfHwgZW1vamlWaXNpYmlsaXR5KSA/IC0xIDogMTEgfVwiIChibHVyKT1cIm9uQmx1clBpY2tlclNwYWNlKClcIj5cbiAgICAgIEBpZiAoZ2lmVmlzaWJpbGl0eSAmJiBlbmFibGVHaWZQaWNrZXIpIHtcbiAgICAgICAgPGxpYi1naWYtc2VsZWN0b3IgKHNlbGVjdEdpZik9XCJvbkdpZkNsaWNrKCRldmVudClcIj48L2xpYi1naWYtc2VsZWN0b3I+XG4gICAgICB9XG4gICAgICBAaWYgKGVtb2ppUGlja2VyT3BlbmVkKSB7XG4gICAgICAgIDxlbW9qaS1waWNrZXIgI2Vtb2ppUGlja2VyIFtuZ1N0eWxlXT1cInsgZGlzcGxheTogZW1vamlWaXNpYmlsaXR5ID8gJycgOiAnbm9uZScgfVwiIGVtb2ppLXZlcnNpb249XCIxNS4wXCIgKGVtb2ppLWNsaWNrKT1cIm9uRW1vamljbGljaygkZXZlbnQpXCI+PC9lbW9qaS1waWNrZXI+XG4gICAgICB9XG4gICAgPC9kaXY+XG4gIDwvZm9ybT5cbjwvZGl2PlxuIl19
@@ -215,11 +215,11 @@ export class SpiderChartComponent {
215
215
  this.createPolygons(this.svg, datasets, rScale, angleSlice);
216
216
  }
217
217
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: SpiderChartComponent, deps: [{ token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component }); }
218
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "17.3.12", type: SpiderChartComponent, isStandalone: true, selector: "lib-spider-chart", inputs: { datasets: "datasets", config: "config", polygon_colors: "polygon_colors", showChartInfo: "showChartInfo" }, viewQueries: [{ propertyName: "d3Chart", first: true, predicate: ["D3Chart"], descendants: true }], usesOnChanges: true, ngImport: i0, template: "<div id=\"tooltip\">\n <lib-alert-popup [title]=\"titleAlertPopup\" [description]=\"descriptionAlertPopup\" [timeState]=\"timeStateAlertPopup\" [number]=\"numberAlertPopup\"></lib-alert-popup>\n</div>\n\n<div class=\"container\">\n <div class=\"d3-container\">\n <div class=\"d3-chart\" #D3Chart></div>\n @if (showChartInfo) {\n <div class=\"chartInfo\">\n @if (datasets.length > 0) {\n <div class=\"datachart\">\n @for (dataset of datasets; let j = $index; track dataset) {\n <div class=\"legend-item\">\n <div [style.border]=\"'5px solid ' + polygon_colors?.[j]?.value\" [style.boxShadow]=\"'0px 0px 12px ' + polygon_colors?.[j]?.value\" class=\"legend-color\"></div>\n {{ dataset.title }}\n </div>\n }\n </div>\n }\n </div>\n }\n </div>\n</div>\n", styles: [".align-chart{display:flex;justify-content:center;align-items:center}.d3-container{width:100%;position:relative;min-height:300px;display:flex;align-items:center;transition:all .5s ease}.d3-chart{width:100%;height:clamp(300px,30vh,400px);display:flex;justify-content:center;align-items:center;transition:all .5s ease}.chartInfo{margin-top:20px}.datachart{display:flex;flex-wrap:wrap;gap:10px}.legend-item{display:flex;align-items:center;gap:8px;font-size:14px;padding:4px}.legend-color{width:15px;height:15px;border-radius:50%;background-color:#fff}#tooltip{position:absolute;display:none;z-index:1000}\n"], dependencies: [{ kind: "ngmodule", type: SharedModule }, { kind: "component", type: i1.AlertPopupComponent, selector: "lib-alert-popup", inputs: ["title", "description", "timeState", "number"], outputs: ["closed"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
218
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "17.3.12", type: SpiderChartComponent, isStandalone: true, selector: "lib-spider-chart", inputs: { datasets: "datasets", config: "config", polygon_colors: "polygon_colors", showChartInfo: "showChartInfo" }, providers: [InitialsPipe], viewQueries: [{ propertyName: "d3Chart", first: true, predicate: ["D3Chart"], descendants: true }], usesOnChanges: true, ngImport: i0, template: "<div id=\"tooltip\">\n <lib-alert-popup [title]=\"titleAlertPopup\" [description]=\"descriptionAlertPopup\" [timeState]=\"timeStateAlertPopup\" [number]=\"numberAlertPopup\"></lib-alert-popup>\n</div>\n\n<div class=\"container\">\n <div class=\"d3-container\">\n <div class=\"d3-chart\" #D3Chart></div>\n @if (showChartInfo) {\n <div class=\"chartInfo\">\n @if (datasets.length > 0) {\n <div class=\"datachart\">\n @for (dataset of datasets; let j = $index; track dataset) {\n <div class=\"legend-item\">\n <div [style.border]=\"'5px solid ' + polygon_colors?.[j]?.value\" [style.boxShadow]=\"'0px 0px 12px ' + polygon_colors?.[j]?.value\" class=\"legend-color\"></div>\n {{ dataset.title }}\n </div>\n }\n </div>\n }\n </div>\n }\n </div>\n</div>\n", styles: [".align-chart{display:flex;justify-content:center;align-items:center}.d3-container{width:100%;position:relative;min-height:300px;display:flex;align-items:center;transition:all .5s ease}.d3-chart{width:100%;height:clamp(300px,30vh,400px);display:flex;justify-content:center;align-items:center;transition:all .5s ease}.chartInfo{margin-top:20px}.datachart{display:flex;flex-wrap:wrap;gap:10px}.legend-item{display:flex;align-items:center;gap:8px;font-size:14px;padding:4px}.legend-color{width:15px;height:15px;border-radius:50%;background-color:#fff}#tooltip{position:absolute;display:none;z-index:1000}\n"], dependencies: [{ kind: "ngmodule", type: SharedModule }, { kind: "component", type: i1.AlertPopupComponent, selector: "lib-alert-popup", inputs: ["title", "description", "timeState", "number"], outputs: ["closed"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
219
219
  }
220
220
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: SpiderChartComponent, decorators: [{
221
221
  type: Component,
222
- args: [{ selector: 'lib-spider-chart', standalone: true, imports: [SharedModule], changeDetection: ChangeDetectionStrategy.OnPush, template: "<div id=\"tooltip\">\n <lib-alert-popup [title]=\"titleAlertPopup\" [description]=\"descriptionAlertPopup\" [timeState]=\"timeStateAlertPopup\" [number]=\"numberAlertPopup\"></lib-alert-popup>\n</div>\n\n<div class=\"container\">\n <div class=\"d3-container\">\n <div class=\"d3-chart\" #D3Chart></div>\n @if (showChartInfo) {\n <div class=\"chartInfo\">\n @if (datasets.length > 0) {\n <div class=\"datachart\">\n @for (dataset of datasets; let j = $index; track dataset) {\n <div class=\"legend-item\">\n <div [style.border]=\"'5px solid ' + polygon_colors?.[j]?.value\" [style.boxShadow]=\"'0px 0px 12px ' + polygon_colors?.[j]?.value\" class=\"legend-color\"></div>\n {{ dataset.title }}\n </div>\n }\n </div>\n }\n </div>\n }\n </div>\n</div>\n", styles: [".align-chart{display:flex;justify-content:center;align-items:center}.d3-container{width:100%;position:relative;min-height:300px;display:flex;align-items:center;transition:all .5s ease}.d3-chart{width:100%;height:clamp(300px,30vh,400px);display:flex;justify-content:center;align-items:center;transition:all .5s ease}.chartInfo{margin-top:20px}.datachart{display:flex;flex-wrap:wrap;gap:10px}.legend-item{display:flex;align-items:center;gap:8px;font-size:14px;padding:4px}.legend-color{width:15px;height:15px;border-radius:50%;background-color:#fff}#tooltip{position:absolute;display:none;z-index:1000}\n"] }]
222
+ args: [{ selector: 'lib-spider-chart', standalone: true, imports: [SharedModule], changeDetection: ChangeDetectionStrategy.OnPush, providers: [InitialsPipe], template: "<div id=\"tooltip\">\n <lib-alert-popup [title]=\"titleAlertPopup\" [description]=\"descriptionAlertPopup\" [timeState]=\"timeStateAlertPopup\" [number]=\"numberAlertPopup\"></lib-alert-popup>\n</div>\n\n<div class=\"container\">\n <div class=\"d3-container\">\n <div class=\"d3-chart\" #D3Chart></div>\n @if (showChartInfo) {\n <div class=\"chartInfo\">\n @if (datasets.length > 0) {\n <div class=\"datachart\">\n @for (dataset of datasets; let j = $index; track dataset) {\n <div class=\"legend-item\">\n <div [style.border]=\"'5px solid ' + polygon_colors?.[j]?.value\" [style.boxShadow]=\"'0px 0px 12px ' + polygon_colors?.[j]?.value\" class=\"legend-color\"></div>\n {{ dataset.title }}\n </div>\n }\n </div>\n }\n </div>\n }\n </div>\n</div>\n", styles: [".align-chart{display:flex;justify-content:center;align-items:center}.d3-container{width:100%;position:relative;min-height:300px;display:flex;align-items:center;transition:all .5s ease}.d3-chart{width:100%;height:clamp(300px,30vh,400px);display:flex;justify-content:center;align-items:center;transition:all .5s ease}.chartInfo{margin-top:20px}.datachart{display:flex;flex-wrap:wrap;gap:10px}.legend-item{display:flex;align-items:center;gap:8px;font-size:14px;padding:4px}.legend-color{width:15px;height:15px;border-radius:50%;background-color:#fff}#tooltip{position:absolute;display:none;z-index:1000}\n"] }]
223
223
  }], ctorParameters: () => [{ type: i0.ChangeDetectorRef }], propDecorators: { d3Chart: [{
224
224
  type: ViewChild,
225
225
  args: ['D3Chart']
@@ -232,4 +232,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImpo
232
232
  }], showChartInfo: [{
233
233
  type: Input
234
234
  }] } });
235
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3BpZGVyLWNoYXJ0LmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2Rhc2hib2FyZC1jb21wb25lbnRzLWxpYi9zcmMvbGliL2NvbXBvbmVudHMvc3BpZGVyLWNoYXJ0L3NwaWRlci1jaGFydC5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9kYXNoYm9hcmQtY29tcG9uZW50cy1saWIvc3JjL2xpYi9jb21wb25lbnRzL3NwaWRlci1jaGFydC9zcGlkZXItY2hhcnQuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFpQix1QkFBdUIsRUFBcUIsU0FBUyxFQUFjLE1BQU0sRUFBRSxLQUFLLEVBQXVDLFNBQVMsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUNoTCxPQUFPLEtBQUssRUFBRSxNQUFNLElBQUksQ0FBQztBQUN6QixPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sNEJBQTRCLENBQUM7QUFDMUQsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLG9DQUFvQyxDQUFDO0FBQ2xFLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLHdEQUF3RCxDQUFDO0FBUzNGLE9BQU8sRUFBRSxVQUFVLEVBQUUsS0FBSyxFQUFFLE1BQU0sRUFBRSxNQUFNLEVBQUUsTUFBTSw0QkFBNEIsQ0FBQzs7O0FBVS9FLE1BQU0sT0FBTyxvQkFBb0I7SUFxQi9CLFlBQW9CLEdBQXNCO1FBQXRCLFFBQUcsR0FBSCxHQUFHLENBQW1CO1FBbkJqQyxhQUFRLEdBQWUsRUFBRSxDQUFDO1FBRTFCLG1CQUFjLEdBQW9CLEVBQUUsQ0FBQztRQUNyQyxrQkFBYSxHQUFZLElBQUksQ0FBQztRQUVoQyxzQkFBaUIsR0FBRyxpQkFBaUIsQ0FBQztRQUN0QyxvQkFBZSxHQUFHLEVBQUUsQ0FBQztRQUNyQiwwQkFBcUIsR0FBRyxFQUFFLENBQUM7UUFDM0Isd0JBQW1C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QUFDLENBQUMsRUFBRSxHQUFHLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsRUFBRSxRQUFRLENBQUMsQ0FBQyxDQUFDO1FBRXRFLElBQUksQ0FBQyxVQUFVLENBQUMsSUFBSSxDQUFDLEdBQUcsRUFBRSxPQUFPLEVBQUUsUUFBUSxFQUFFLFVBQVUsRUFBRSxNQUFNLENBQUMsQ0FBQztRQUNqRSxJQUFJLENBQUMsVUFBVSxDQUFDLElBQUksQ0FBQyxHQUFHLEVBQUUsT0FBTyxFQUFFLE1BQU0sRUFBRSxRQUFRLEVBQUUsVUFBVSxDQUFDLENBQUM7UUFDakUsSUFBSSxDQUFDLGNBQWMsQ0FBQyxJQUFJLENBQUMsR0FBRyxFQUFFLFFBQVEsRUFBRSxNQUFNLEVBQUUsVUFBVSxDQUFDLENBQUM7SUFDOUQsQ0FBQzsrR0E1UFUsb0JBQW9CO21HQUFwQixvQkFBb0IsMlRDdkJqQyxtM0JBdUJBLG1wQkRIWSxZQUFZOzs0RkFHWCxvQkFBb0I7a0JBUmhDLFNBQVM7K0JBQ0Usa0JBQWtCLGNBR2hCLElBQUksV0FDUCxDQUFDLFlBQVksQ0FBQyxtQkFDTix1QkFBdUIsQ0FBQyxNQUFNO3NGQUd6QixPQUFPO3NCQUE1QixTQUFTO3VCQUFDLFNBQVM7Z0JBQ1gsUUFBUTtzQkFBaEIsS0FBSztnQkFDRyxNQUFNO3NCQUFkLEtBQUs7Z0JBQ0csY0FBYztzQkFBdEIsS0FBSztnQkFDRyxhQUFhO3NCQUFyQixLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQWZ0ZXJWaWV3SW5pdCwgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksIENoYW5nZURldGVjdG9yUmVmLCBDb21wb25lbnQsIEVsZW1lbnRSZWYsIGluamVjdCwgSW5wdXQsIE9uQ2hhbmdlcywgT25EZXN0cm95LCBTaW1wbGVDaGFuZ2VzLCBWaWV3Q2hpbGQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCAqIGFzIGQzIGZyb20gJ2QzJztcbmltcG9ydCB7IFNoYXJlZE1vZHVsZSB9IGZyb20gJy4uLy4uL3NoYXJlZC9zaGFyZWQubW9kdWxlJztcbmltcG9ydCB7IEluaXRpYWxzUGlwZSB9IGZyb20gJy4uLy4uL3BpcGVzL2luaXRpYWxzL2luaXRpYWxzLnBpcGUnO1xuaW1wb3J0IHsgQWxlcnRTdGF0dXNGaWVsZHMgfSBmcm9tICcuLi9saWItY2xpZW50LWRhc2hib2FyZC9lbnVtcy9hbGVydC1zdGF0dXMtZmllbGRzLmVudW0nO1xuaW1wb3J0IHsgSUNpcmNsZURhdGEgfSBmcm9tICcuL2ludGVyZmFjZXMvY2hhcnQtZGF0YS1jaXJjbGUuaW50ZXJmYWNlJztcbmltcG9ydCB7IElEZWZzRiB9IGZyb20gJy4vaW50ZXJmYWNlcy9jaGFydC1kYXRhLWRlZnMtZi5pbnRlcmZhY2UnO1xuaW1wb3J0IHsgSURlZnNMRyB9IGZyb20gJy4vaW50ZXJmYWNlcy9jaGFydC1kYXRhLWRlZnMtbGcuaW50ZXJmYWNlJztcbmltcG9ydCB7IElEZWZzUkcgfSBmcm9tICcuL2ludGVyZmFjZXMvY2hhcnQtZGF0YS1kZWZzLXJnLmludGVyZmFjZSc7XG5pbXBvcnQgeyBJU3BpZGVyQ2hhcnRDb25maWcgfSBmcm9tICcuL2ludGVyZmFjZXMvY29uZmlnLmludGVyZmFjZSc7XG5pbXBvcnQgeyBJRGF0YXNldCB9IGZyb20gJy4vaW50ZXJmYWNlcy9kYXRhc2V0LmludGVyZmFjZSc7XG5pbXBvcnQgeyBJUG9seWdvbkNvbG9yIH0gZnJvbSAnLi9pbnRlcmZhY2VzL3BvbHlnb24tY29sb3IuaW50ZXJmYWNlJztcbmltcG9ydCB7IElTcGlkZXJDaGFydEF0dHJpYnV0ZSB9IGZyb20gJy4vaW50ZXJmYWNlcy9zcGlkZXItY2hhcnQtYXR0cmlidXRlLmludGVyZmFjZSc7XG5pbXBvcnQgeyBjaXJjbGVEYXRhLCBkZWZzRiwgZGVmc0xHLCBkZWZzUkcgfSBmcm9tICcuL2xvb2t1cC9zdmctY29uZmlnLmxvb2t1cCc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2xpYi1zcGlkZXItY2hhcnQnLFxuICB0ZW1wbGF0ZVVybDogJy4vc3BpZGVyLWNoYXJ0LmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmw6ICcuL3NwaWRlci1jaGFydC5jb21wb25lbnQuc2NzcycsXG4gIHN0YW5kYWxvbmU6IHRydWUsXG4gIGltcG9ydHM6IFtTaGFyZWRNb2R1bGVdLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbn0pXG5leHBvcnQgY2xhc3MgU3BpZGVyQ2hhcnRDb21wb25lbnQgaW1wbGVtZW50cyBPbkNoYW5nZXMsIE9uRGVzdHJveSwgQWZ0ZXJWaWV3SW5pdCB7XG4gIEBWaWV3Q2hpbGQoJ0QzQ2hhcnQnKSBkM0NoYXJ0OiBFbGVtZW50UmVmO1xuICBASW5wdXQoKSBkYXRhc2V0czogSURhdGFzZXRbXSA9IFtdO1xuICBASW5wdXQoKSBjb25maWc6IElTcGlkZXJDaGFydENvbmZpZztcbiAgQElucHV0KCkgcG9seWdvbl9jb2xvcnM6IElQb2x5Z29uQ29sb3JbXSA9IFtdO1xuICBASW5wdXQoKSBzaG93Q2hhcnRJbmZvOiBib29sZWFuID0gdHJ1ZTtcblxuICBwdWJsaWMgYWxlcnRTdGF0dXNGaWVsZHMgPSBBbGVydFN0YXR1c0ZpZWxkcztcbiAgcHVibGljIHRpdGxlQWxlcnRQb3B1cCA9ICcnO1xuICBwdWJsaWMgZGVzY3JpcHRpb25BbGVydFBvcHVwID0gJyc7XG4gIHB1YmxpYyBpc0FsZXJ0UG9wdXBDbG9zaW5nID0gZmFsc2U7XG4gIHB1YmxpYyB0aW1lU3RhdGVBbGVydFBvcHVwID0gMDtcbiAgcHVibGljIG51bWJlckFsZXJ0UG9wdXA6IG51bWJlcjtcblxuICBwdWJsaWMgc3ZnOiBkMy5TZWxlY3Rpb248U1ZHU1ZHRWxlbWVudCwgdW5rbm93biwgSFRNTEVsZW1lbnQsIHVua25vd24+O1xuICBwdWJsaWMgZGVmc1JHOiBJRGVmc1JHW10gPSBbXTtcbiAgcHVibGljIGRlZnNGOiBJRGVmc0ZbXSA9IFtdO1xuICBwdWJsaWMgZGVmc0xHOiBJRGVmc0xHW10gPSBbXTtcbiAgcHVibGljIGNpcmNsZURhdGE6IElDaXJjbGVEYXRhW10gPSBbXTtcbiAgcHVibGljIHJlYWRvbmx5IGluaXRpYWxzUGlwZTogSW5pdGlhbHNQaXBlID0gaW5qZWN0KEluaXRpYWxzUGlwZSk7XG5cbiAgY29uc3RydWN0b3IocHJpdmF0ZSBjZHI6IENoYW5nZURldGVjdG9yUmVmKSB7fVxuXG4gIG5nT25DaGFuZ2VzKGNoYW5nZXM6IFNpbXBsZUNoYW5nZXMpOiB2b2lkIHtcbiAgICBpZiAoKGNoYW5nZXNbJ2RhdGFzZXRzJ10gfHwgY2hhbmdlc1snY29uZmlnJ10pICYmIHRoaXMuc3ZnKSB7XG4gICAgICBpZiAodGhpcy5kYXRhc2V0cy5sZW5ndGggJiYgdGhpcy5jb25maWcpIHtcbiAgICAgICAgdGhpcy5jcmVhdGVSYWRhckNoYXJ0KCk7XG4gICAgICB9IGVsc2UgaWYgKGNoYW5nZXNbJ2NvbmZpZyddPy5jdXJyZW50VmFsdWU/LlsnZnVsbFNjcmVlbiddICE9PSBjaGFuZ2VzWydjb25maWcnXT8ucHJldmlvdXNWYWx1ZT8uWydmdWxsU2NyZWVuJ10pIHtcbiAgICAgICAgdGhpcy5jcmVhdGVSYWRhckNoYXJ0KCk7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgbmdBZnRlclZpZXdJbml0KCk6IHZvaWQge1xuICAgIHRoaXMuZGVmc1JHID0gZGVmc1JHO1xuICAgIHRoaXMuZGVmc0YgPSBkZWZzRjtcbiAgICB0aGlzLmRlZnNMRyA9IGRlZnNMRztcbiAgICB0aGlzLmNpcmNsZURhdGEgPSBjaXJjbGVEYXRhO1xuICAgIHRoaXMuaW5pdGlhbGl6ZUNoYXJ0KCk7XG4gIH1cblxuICBuZ09uRGVzdHJveSgpOiB2b2lkIHtcbiAgICBpZiAodGhpcy5zdmcpIHtcbiAgICAgIHRoaXMuc3ZnLnJlbW92ZSgpO1xuICAgICAgdGhpcy5zdmcgPSBudWxsO1xuICAgIH1cbiAgfVxuXG4gIHB1YmxpYyBvbkNsb3NlZEFsZXJ0KGRhdGE6IHsgZXZlbnQ6IGJvb2xlYW47IGZpZWxkOiBBbGVydFN0YXR1c0ZpZWxkcyB9KTogdm9pZCB7XG4gICAgY29uc29sZS5sb2coZGF0YSk7XG4gIH1cblxuICBwcml2YXRlIGluaXRpYWxpemVDaGFydCgpOiB2b2lkIHtcbiAgICB0aGlzLnN2ZyA9IHRoaXMuY3JlYXRlU3ZnT2JqZWN0KCk7XG4gICAgY29uc3QgZGVmc0dyb3VwID0gdGhpcy5zdmcuYXBwZW5kKCdnJyk7XG5cbiAgICB0aGlzLmRlZnNMRy5mb3JFYWNoKChkZWZEYXRhKSA9PiB7XG4gICAgICB0aGlzLmNyZWF0ZURlZnNBbmRMaW5lYXJHcmFkaWVudChkZWZzR3JvdXAsIGRlZkRhdGEpO1xuICAgIH0pO1xuXG4gICAgdGhpcy5kZWZzRi5mb3JFYWNoKChkZWZEYXRhKSA9PiB7XG4gICAgICB0aGlzLmNyZWF0ZURlZnNBbmRGaWx0ZXIoZGVmc0dyb3VwLCBkZWZEYXRhKTtcbiAgICB9KTtcblxuICAgIHRoaXMuZGVmc1JHLmZvckVhY2goKGRlZkRhdGEpID0+IHtcbiAgICAgIHRoaXMuY3JlYXRlRGVmc0FuZFJhZGlhbEdyYWRpZW50KGRlZnNHcm91cCwgZGVmRGF0YSk7XG4gICAgfSk7XG5cbiAgICBjb25zdCBjaXJjbGVHcm91cCA9IHRoaXMuc3ZnLmFwcGVuZCgnZycpO1xuICAgIHRoaXMuY3JlYXRlQ2lyY2xlKGNpcmNsZUdyb3VwLCB0aGlzLmNpcmNsZURhdGEpO1xuICAgIGlmICghdGhpcy5jb25maWcpIHJldHVybjtcbiAgICB0aGlzLmNyZWF0ZVJhZGFyQ2hhcnQoKTtcbiAgfVxuXG4gIHByaXZhdGUgY3JlYXRlU3ZnT2JqZWN0KCk6IGQzLlNlbGVjdGlvbjxTVkdTVkdFbGVtZW50LCB1bmtub3duLCBIVE1MRWxlbWVudCwgdW5rbm93bj4ge1xuICAgIHJldHVybiBkMy5zZWxlY3QodGhpcy5kM0NoYXJ0Py5uYXRpdmVFbGVtZW50KS5hcHBlbmQoJ3N2ZycpLmF0dHIoJ2NsYXNzJywgJ3N2ZycpLmF0dHIoJ2hlaWdodCcsIDMwMCkuYXR0cignd2lkdGgnLCAzMDApO1xuICB9XG5cbiAgcHJpdmF0ZSBjcmVhdGVMaW5lKFxuICAgIGdyb3VwOiBkMy5TZWxlY3Rpb248U1ZHR0VsZW1lbnQsIHVua25vd24sIEhUTUxFbGVtZW50LCB1bmtub3duPixcbiAgICBkYXRhOiBJU3BpZGVyQ2hhcnRBdHRyaWJ1dGVbXSxcbiAgICBNYXhWYWx1ZTogbnVtYmVyLFxuICAgIGFuZ2xlU2xpY2U6IG51bWJlcixcbiAgICByU2NhbGU6IGQzLlNjYWxlTGluZWFyPG51bWJlciwgbnVtYmVyPixcbiAgKTogdm9pZCB7XG4gICAgZ3JvdXAuc2VsZWN0QWxsKCdsaW5lJykucmVtb3ZlKCk7XG4gICAgcmV0dXJuIGdyb3VwXG4gICAgICAuc2VsZWN0QWxsKCdsaW5lJylcbiAgICAgIC5kYXRhKGRhdGEpXG4gICAgICAuZW50ZXIoKVxuICAgICAgLmFwcGVuZCgnZycpXG4gICAgICAuYXBwZW5kKCdsaW5lJylcbiAgICAgIC5hdHRyKCdjbGFzcycsICdsaW5lJylcbiAgICAgIC5hdHRyKCdjbGFzcycsICdsaW5lLWdyb3VwJylcbiAgICAgIC5hdHRyKCd4MScsIDApXG4gICAgICAuYXR0cigneTEnLCAwKVxuICAgICAgLmF0dHIoJ3gyJywgKF9kLCBpKSA9PiByU2NhbGUoTWF4VmFsdWUgKiAxLjQpICogTWF0aC5jb3MoYW5nbGVTbGljZSAqIGkgKyAwLjAxIC0gTWF0aC5QSSAvIDIpKVxuICAgICAgLmF0dHIoJ3kyJywgKF9kLCBpKSA9PiByU2NhbGUoTWF4VmFsdWUgKiAxLjQpICogTWF0aC5zaW4oYW5nbGVTbGljZSAqIGkgKyAwLjAxIC0gTWF0aC5QSSAvIDIpKVxuICAgICAgLmF0dHIoJ3N0cm9rZScsICd1cmwoI25lZWRsZVJhZGlhbnQpJylcbiAgICAgIC5hdHRyKCd0cmFuc2Zvcm0nLCAndHJhbnNsYXRlKDE1MCwxNTApJyk7XG4gIH1cblxuICBwcml2YXRlIGNyZWF0ZUNpcmNsZShncm91cDogZDMuU2VsZWN0aW9uPFNWR0dFbGVtZW50LCB1bmtub3duLCBIVE1MRWxlbWVudCwgdW5rbm93bj4sIGRhdGE6IElDaXJjbGVEYXRhW10pOiB2b2lkIHtcbiAgICBkYXRhPy5mb3JFYWNoKChkYXR1bSkgPT4ge1xuICAgICAgY29uc3QgZyA9IGdyb3VwLmFwcGVuZCgnY2lyY2xlJyk7XG4gICAgICBPYmplY3Qua2V5cyhkYXR1bSkuZm9yRWFjaCgoa2V5KSA9PiB7XG4gICAgICAgIGcuYXR0cihrZXksIGRhdHVtW2tleV0pO1xuICAgICAgfSk7XG4gICAgfSk7XG4gICAgcmV0dXJuIGdyb3VwO1xuICB9XG5cbiAgcHJpdmF0ZSBjcmVhdGVUZXh0KFxuICAgIGdyb3VwOiBkMy5TZWxlY3Rpb248U1ZHR0VsZW1lbnQsIHVua25vd24sIEhUTUxFbGVtZW50LCB1bmtub3duPixcbiAgICBkYXRhOiBJU3BpZGVyQ2hhcnRBdHRyaWJ1dGVbXSxcbiAgICByU2NhbGU6IGQzLlNjYWxlTGluZWFyPG51bWJlciwgbnVtYmVyPixcbiAgICBNYXhWYWx1ZTogbnVtYmVyLFxuICAgIGFuZ2xlU2xpY2U6IG51bWJlcixcbiAgKSB7XG4gICAgY29uc3QgdG9vbFRpcCA9IGQzLnNlbGVjdCgnI3Rvb2x0aXAnKTtcbiAgICBncm91cC5zZWxlY3RBbGwoJ3RleHQnKS5yZW1vdmUoKTtcblxuICAgIGNvbnN0IGlzRnVsbFNjcmVlbkFjdGl2ZTogYm9vbGVhbiA9IHRoaXMuY29uZmlnLmZ1bGxTY3JlZW47XG5cbiAgICAvLyBUT0RPIGxlZnQgYmFzZWQgb24gcG9zaXRpb24gb2YgbW9kYWxcbiAgICBjb25zdCBsZWZ0ID0gaXNGdWxsU2NyZWVuQWN0aXZlID8gMCA6IDA7XG4gICAgY29uc3QgdG9wID0gaXNGdWxsU2NyZWVuQWN0aXZlID8gLTgwIDogLTIyMDtcbiAgICByZXR1cm4gZ3JvdXBcbiAgICAgIC5zZWxlY3RBbGwoJ3RleHQnKVxuICAgICAgLmRhdGEoZGF0YSlcbiAgICAgIC5lbnRlcigpXG4gICAgICAuYXBwZW5kKCd0ZXh0JylcbiAgICAgIC50ZXh0KChkKSA9PiB0aGlzLmluaXRpYWxzUGlwZS50cmFuc2Zvcm0oZC50ZXh0KSlcbiAgICAgIC5hdHRyKCd4JywgKF9kLCBpKSA9PiB7XG4gICAgICAgIGNvbnN0IHgyID0gclNjYWxlKE1heFZhbHVlICogMS4yKSAqIE1hdGguY29zKGFuZ2xlU2xpY2UgKiBpICsgMC4xIC0gTWF0aC5QSSAvIDIpO1xuICAgICAgICByZXR1cm4geDI7XG4gICAgICB9KVxuICAgICAgLmF0dHIoJ3knLCAoX2QsIGkpID0+IHtcbiAgICAgICAgY29uc3QgeTIgPSByU2NhbGUoTWF4VmFsdWUgKiAxLjIpICogTWF0aC5zaW4oYW5nbGVTbGljZSAqIGkgKyAwLjEgLSBNYXRoLlBJIC8gMik7XG4gICAgICAgIHJldHVybiB5MjtcbiAgICAgIH0pXG4gICAgICAuYXR0cignZHknLCAnMC4zNWVtJylcbiAgICAgIC5hdHRyKCd0cmFuc2Zvcm0nLCAndHJhbnNsYXRlKDE1MCwxNTApJylcbiAgICAgIC5zdHlsZSgnZmlsbCcsICcjRkUzQzcyJylcbiAgICAgIC5zdHlsZSgndGV4dC1zaGFkb3cnLCAnMXB4IDJweCAxcHggIzAwMCcpXG4gICAgICAuYXR0cignY2xhc3MnLCAnbGluZS1sYWJlbCcpXG4gICAgICAub24oJ3BvaW50ZXJkb3duJywgKGV2ZW50LCBkOiBJU3BpZGVyQ2hhcnRBdHRyaWJ1dGUpID0+IHtcbiAgICAgICAgY29uc3QgeyB0aXRsZUFsZXJ0UG9wdXAsIGRlc2NyaXB0aW9uQWxlcnRQb3B1cCB9ID0gZDtcbiAgICAgICAgdGhpcy50aXRsZUFsZXJ0UG9wdXAgPSB0aXRsZUFsZXJ0UG9wdXA7XG4gICAgICAgIHRoaXMuZGVzY3JpcHRpb25BbGVydFBvcHVwID0gZGVzY3JpcHRpb25BbGVydFBvcHVwO1xuICAgICAgICB0aGlzLmlzQWxlcnRQb3B1cENsb3NpbmcgPSBmYWxzZTtcbiAgICAgICAgdGhpcy50aW1lU3RhdGVBbGVydFBvcHVwID0gbmV3IERhdGUoKS5nZXRUaW1lKCk7XG4gICAgICAgIHRoaXMubnVtYmVyQWxlcnRQb3B1cCA9IE1hdGguZmxvb3IoTWF0aC5yYW5kb20oKSAqIDEwKTtcbiAgICAgICAgdGhpcy5jZHIuZGV0ZWN0Q2hhbmdlcygpO1xuICAgICAgICB0b29sVGlwXG4gICAgICAgICAgLnN0eWxlKCdkaXNwbGF5JywgJ2Jsb2NrJylcbiAgICAgICAgICAuc3R5bGUoJ2xlZnQnLCBldmVudC5wYWdlWCArIGxlZnQgKyAncHgnKVxuICAgICAgICAgIC5zdHlsZSgndG9wJywgZXZlbnQucGFnZVkgKyB0b3AgPCAwID8gMCA6IGV2ZW50LnBhZ2VZICsgdG9wICsgJ3B4Jyk7XG4gICAgICB9KVxuICAgICAgLm9uKCdwb2ludGVydXAnLCAoZXZlbnQsIGQ6IElTcGlkZXJDaGFydEF0dHJpYnV0ZSkgPT4ge30pO1xuICB9XG5cbiAgcHJpdmF0ZSBjcmVhdGVQb2x5Z29ucyhncm91cDogZDMuU2VsZWN0aW9uPFNWR0dFbGVtZW50LCB1bmtub3duLCBIVE1MRWxlbWVudCwgdW5rbm93bj4sIGRhdGFzZXRzOiBJRGF0YXNldFtdLCByU2NhbGU6IGQzLlNjYWxlTGluZWFyPG51bWJlciwgbnVtYmVyPiwgYW5nbGVTbGljZTogbnVtYmVyKTogdm9pZCB7XG4gICAgZ3JvdXAuc2VsZWN0QWxsKCdwb2x5Z29uJykucmVtb3ZlKCk7XG4gICAgZ3JvdXAuc2VsZWN0QWxsKCcucmFkYXJDaXJjbGUnKS5yZW1vdmUoKTtcblxuICAgIGNvbnN0IHBvbHlnb25Qb2ludHMgPSAoZGF0YSkgPT4ge1xuICAgICAgY29uc3QgcG9pbnRzID0gZGF0YT8ua2V5cz8ubWFwKChrZXksIGkpID0+IHtcbiAgICAgICAgY29uc3QgciA9IHJTY2FsZShkYXRhPy52YWx1ZXNba2V5XSA/PyAxICogMSk7XG4gICAgICAgIGNvbnN0IHggPSByICogTWF0aC5jb3MoYW5nbGVTbGljZSAqIGkgKyAwLjAxIC0gTWF0aC5QSSAvIDIpO1xuICAgICAgICBjb25zdCB5ID0gciAqIE1hdGguc2luKGFuZ2xlU2xpY2UgKiBpICsgMC4wMSAtIE1hdGguUEkgLyAyKTtcbiAgICAgICAgcmV0dXJuIGAke3h9LCR7eX1gO1xuICAgICAgfSk7XG4gICAgICByZXR1cm4gcG9pbnRzLmpvaW4oJyAnKTtcbiAgICB9O1xuICAgIGdyb3VwXG4gICAgICAuc2VsZWN0QWxsKCdwb2x5Z29uJylcbiAgICAgIC5kYXRhKGRhdGFzZXRzKVxuICAgICAgLmVudGVyKClcbiAgICAgIC5hcHBlbmQoJ3BvbHlnb24nKVxuICAgICAgLmF0dHIoJ3BvaW50cycsIChkKSA9PiBwb2x5Z29uUG9pbnRzKGQgPz8ge30pKVxuICAgICAgLmF0dHIoJ3N0cm9rZScsIChfLCBpKSA9PiBfLnBvbHlnb25fY29sb3I/LnZhbHVlKVxuICAgICAgLmF0dHIoJ3RyYW5zZm9ybScsICd0cmFuc2xhdGUoMTUwLDE1MCknKVxuXG4gICAgICAuYXR0cignZmlsbCcsIChfLCBpKSA9PiBgdXJsKCR7dGhpcy5wb2x5Z29uX2NvbG9ycz8uW2ldPy5sYWJlbH0pYCk7XG4gICAgZGF0YXNldHMuZm9yRWFjaCgoZGF0YSwgaikgPT4ge1xuICAgICAgY29uc3QgYWxsVmFsdWVzQXJlWmVybyA9IGRhdGEua2V5cy5ldmVyeSgoa2V5KSA9PiBkYXRhLnZhbHVlc1trZXldID09PSAwKTtcbiAgICAgIGlmICghYWxsVmFsdWVzQXJlWmVybykge1xuICAgICAgICBncm91cFxuICAgICAgICAgIC5hcHBlbmQoJ2cnKVxuICAgICAgICAgIC5zZWxlY3RBbGwoJ2NpcmNsZScpXG4gICAgICAgICAgLmRhdGEoZGF0YS5rZXlzKVxuICAgICAgICAgIC5lbnRlcigpXG4gICAgICAgICAgLmFwcGVuZCgnY2lyY2xlJylcbiAgICAgICAgICAuYXR0cignY2xhc3MnLCAncmFkYXJDaXJjbGUnKVxuICAgICAgICAgIC5hdHRyKCdyJywgMylcbiAgICAgICAgICAuYXR0cignY3gnLCAoa2V5LCBpKSA9PiByU2NhbGUoZGF0YS52YWx1ZXNba2V5XSA/PyAwKSAqIE1hdGguY29zKGFuZ2xlU2xpY2UgKiBpIC0gTWF0aC5QSSAvIDIpKVxuICAgICAgICAgIC5hdHRyKCdjeScsIChrZXksIGkpID0+IHJTY2FsZShkYXRhLnZhbHVlc1trZXldID8/IDApICogTWF0aC5zaW4oYW5nbGVTbGljZSAqIGkgLSBNYXRoLlBJIC8gMikpXG4gICAgICAgICAgLnN0eWxlKCdmaWxsJywgJ3doaXRlJylcbiAgICAgICAgICAuc3R5bGUoJ3N0cm9rZScsICgpID0+IHRoaXMucG9seWdvbl9jb2xvcnM/LltqXT8udmFsdWUpIC8vIFVzaW5nIHN0cm9rZSBjb2xvcnMgZnJvbSB0aGUgc3Ryb2tlQ29sb3JzIGFycmF5XG4gICAgICAgICAgLmF0dHIoJ3RyYW5zZm9ybScsICd0cmFuc2xhdGUoMTUwLDE1MCknKVxuICAgICAgICAgIC5hdHRyKCdmaWx0ZXInLCAnYmx1cigxcHgpJylcbiAgICAgICAgICAuc3R5bGUoJ3N0cm9rZS13aWR0aCcsIDIpXG4gICAgICAgICAgLnN0eWxlKCdmaWxsLW9wYWNpdHknLCAwLjgpO1xuICAgICAgfVxuICAgIH0pO1xuICB9XG5cbiAgcHJpdmF0ZSBjcmVhdGVEZWZzQW5kTGluZWFyR3JhZGllbnQoZ3JvdXA6IGQzLlNlbGVjdGlvbjxTVkdHRWxlbWVudCwgdW5rbm93biwgSFRNTEVsZW1lbnQsIHVua25vd24+LCBkYXRhOiBJRGVmc0xHKTogdm9pZCB7XG4gICAgY29uc3QgZGVmcyA9IGdyb3VwLmFwcGVuZCgnZGVmcycpLmFwcGVuZCgnbGluZWFyR3JhZGllbnQnKS5hdHRyKCdpZCcsIGRhdGEuaWQpLmF0dHIoJ3gxJywgZGF0YS54MSkuYXR0cigneTEnLCBkYXRhLnkxKS5hdHRyKCd4MicsIGRhdGEueDIpLmF0dHIoJ3kyJywgZGF0YS55Mik7XG5cbiAgICBkYXRhLnN0b3BUYWdzLmZvckVhY2goKGVsZW0pID0+IHtcbiAgICAgIGRlZnMuYXBwZW5kKCdzdG9wJykuYXR0cignb2Zmc2V0JywgZWxlbS5vZmZzZXQpLmF0dHIoJ3N0eWxlJywgZWxlbS5zdHlsZSk7XG4gICAgfSk7XG4gIH1cblxuICBwcml2YXRlIGNyZWF0ZURlZnNBbmRGaWx0ZXIoZ3JvdXA6IGQzLlNlbGVjdGlvbjxTVkdHRWxlbWVudCwgdW5rbm93biwgSFRNTEVsZW1lbnQsIHVua25vd24+LCBkYXRhOiBJRGVmc0YpOiB2b2lkIHtcbiAgICBjb25zdCBkZWZzID0gZ3JvdXAuYXBwZW5kKCdkZWZzJykuYXBwZW5kKCdmaWx0ZXInKS5hdHRyKCdpZCcsIGRhdGEuaWQpLmF0dHIoJ3gnLCBkYXRhLngpLmF0dHIoJ3knLCBkYXRhLnkpLmF0dHIoJ2hlaWdodCcsIGRhdGEuaGVpZ2h0KS5hdHRyKCd3aWR0aCcsIGRhdGEud2lkdGgpO1xuXG4gICAgZGF0YS5mZUdhdXNzaWFuVGFncy5mb3JFYWNoKChlbGVtKSA9PiB7XG4gICAgICBkZWZzLmFwcGVuZCgnZmVHYXVzc2lhbkJsdXInKS5hdHRyKCdpbicsIGVsZW0uaW4pLmF0dHIoJ3N0ZERldmlhdGlvbicsIGVsZW0uc3RkRGV2aWF0aW9uKTtcbiAgICB9KTtcbiAgfVxuXG4gIHByaXZhdGUgY3JlYXRlRGVmc0FuZFJhZGlhbEdyYWRpZW50KGdyb3VwOiBkMy5TZWxlY3Rpb248U1ZHR0VsZW1lbnQsIHVua25vd24sIEhUTUxFbGVtZW50LCB1bmtub3duPiwgZGF0YTogSURlZnNSRyk6IHZvaWQge1xuICAgIGNvbnN0IGRlZnMgPSBncm91cC5hcHBlbmQoJ2RlZnMnKS5hcHBlbmQoJ3JhZGlhbEdyYWRpZW50JykuYXR0cignaWQnLCBkYXRhLmlkKS5hdHRyKCdjeCcsIGRhdGEuY3kpLmF0dHIoJ2N5JywgZGF0YS5jeCkuYXR0cigncicsIGRhdGEucik7XG5cbiAgICBkYXRhLnN0b3BUYWdzLmZvckVhY2goKGVsZW0pID0+IHtcbiAgICAgIGRlZnMuYXBwZW5kKCdzdG9wJykuYXR0cignb2Zmc2V0JywgZWxlbS5vZmZzZXQpLmF0dHIoJ3N0eWxlJywgZWxlbS5zdHlsZSk7XG4gICAgfSk7XG4gIH1cblxuICBwcml2YXRlIGNyZWF0ZVJhZGFyQ2hhcnQoKTogdm9pZCB7XG4gICAgY29uc3QgeyBtYXhWYWx1ZSwgZGF0YXNldHMsIGF0dHJpYnV0ZXMgfSA9IHRoaXMuY29uZmlnO1xuICAgIGNvbnN0IGFsbEF4aXMgPSBbLi4ubmV3IFNldChhdHRyaWJ1dGVzKV0ubWFwKChpKSA9PiBpKTtcbiAgICBjb25zdCB0b3RhbCA9IGFsbEF4aXMubGVuZ3RoO1xuICAgIGNvbnN0IGFuZ2xlU2xpY2UgPSAoTWF0aC5QSSAqIDIpIC8gdG90YWw7XG4gICAgbGV0IE1heFZhbHVlID1cbiAgICAgIGRhdGFzZXRzLmxlbmd0aCA+IDBcbiAgICAgICAgPyBNYXRoLm1heChcbiAgICAgICAgICAgIC4uLmRhdGFzZXRzLnJlZHVjZSgoYSwgaSkgPT4ge1xuICAgICAgICAgICAgICByZXR1cm4gWy4uLmEsIC4uLk9iamVjdC52YWx1ZXMoaS52YWx1ZXMpXTtcbiAgICAgICAgICAgIH0sIFtdKSxcbiAgICAgICAgICApXG4gICAgICAgIDogbWF4VmFsdWU7XG4gICAgTWF4VmFsdWUgPSBNYXhWYWx1ZSA+IDAgPyBNYXhWYWx1ZSA6IDI1O1xuXG4gICAgY29uc3QgclNjYWxlID0gZDMuc2NhbGVMaW5lYXIoKS5yYW5nZShbMCwgMTAwXSkuZG9tYWluKFswLCBNYXhWYWx1ZV0pO1xuXG4gICAgdGhpcy5jcmVhdGVMaW5lKHRoaXMuc3ZnLCBhbGxBeGlzLCBNYXhWYWx1ZSwgYW5nbGVTbGljZSwgclNjYWxlKTtcbiAgICB0aGlzLmNyZWF0ZVRleHQodGhpcy5zdmcsIGFsbEF4aXMsIHJTY2FsZSwgTWF4VmFsdWUsIGFuZ2xlU2xpY2UpO1xuICAgIHRoaXMuY3JlYXRlUG9seWdvbnModGhpcy5zdmcsIGRhdGFzZXRzLCByU2NhbGUsIGFuZ2xlU2xpY2UpO1xuICB9XG59XG4iLCI8ZGl2IGlkPVwidG9vbHRpcFwiPlxuICA8bGliLWFsZXJ0LXBvcHVwIFt0aXRsZV09XCJ0aXRsZUFsZXJ0UG9wdXBcIiBbZGVzY3JpcHRpb25dPVwiZGVzY3JpcHRpb25BbGVydFBvcHVwXCIgW3RpbWVTdGF0ZV09XCJ0aW1lU3RhdGVBbGVydFBvcHVwXCIgW251bWJlcl09XCJudW1iZXJBbGVydFBvcHVwXCI+PC9saWItYWxlcnQtcG9wdXA+XG48L2Rpdj5cblxuPGRpdiBjbGFzcz1cImNvbnRhaW5lclwiPlxuICA8ZGl2IGNsYXNzPVwiZDMtY29udGFpbmVyXCI+XG4gICAgPGRpdiBjbGFzcz1cImQzLWNoYXJ0XCIgI0QzQ2hhcnQ+PC9kaXY+XG4gICAgQGlmIChzaG93Q2hhcnRJbmZvKSB7XG4gICAgICA8ZGl2IGNsYXNzPVwiY2hhcnRJbmZvXCI+XG4gICAgICAgIEBpZiAoZGF0YXNldHMubGVuZ3RoID4gMCkge1xuICAgICAgICAgIDxkaXYgY2xhc3M9XCJkYXRhY2hhcnRcIj5cbiAgICAgICAgICAgIEBmb3IgKGRhdGFzZXQgb2YgZGF0YXNldHM7IGxldCBqID0gJGluZGV4OyB0cmFjayBkYXRhc2V0KSB7XG4gICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJsZWdlbmQtaXRlbVwiPlxuICAgICAgICAgICAgICAgIDxkaXYgW3N0eWxlLmJvcmRlcl09XCInNXB4IHNvbGlkICcgKyBwb2x5Z29uX2NvbG9ycz8uW2pdPy52YWx1ZVwiIFtzdHlsZS5ib3hTaGFkb3ddPVwiJzBweCAwcHggMTJweCAnICsgcG9seWdvbl9jb2xvcnM/LltqXT8udmFsdWVcIiBjbGFzcz1cImxlZ2VuZC1jb2xvclwiPjwvZGl2PlxuICAgICAgICAgICAgICAgIHt7IGRhdGFzZXQudGl0bGUgfX1cbiAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICB9XG4gICAgICAgICAgPC9kaXY+XG4gICAgICAgIH1cbiAgICAgIDwvZGl2PlxuICAgIH1cbiAgPC9kaXY+XG48L2Rpdj5cbiJdfQ==
235
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3BpZGVyLWNoYXJ0LmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2Rhc2hib2FyZC1jb21wb25lbnRzLWxpYi9zcmMvbGliL2NvbXBvbmVudHMvc3BpZGVyLWNoYXJ0L3NwaWRlci1jaGFydC5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9kYXNoYm9hcmQtY29tcG9uZW50cy1saWIvc3JjL2xpYi9jb21wb25lbnRzL3NwaWRlci1jaGFydC9zcGlkZXItY2hhcnQuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFpQix1QkFBdUIsRUFBcUIsU0FBUyxFQUFjLE1BQU0sRUFBRSxLQUFLLEVBQXVDLFNBQVMsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUNoTCxPQUFPLEtBQUssRUFBRSxNQUFNLElBQUksQ0FBQztBQUN6QixPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sNEJBQTRCLENBQUM7QUFDMUQsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLG9DQUFvQyxDQUFDO0FBQ2xFLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLHdEQUF3RCxDQUFDO0FBUzNGLE9BQU8sRUFBRSxVQUFVLEVBQUUsS0FBSyxFQUFFLE1BQU0sRUFBRSxNQUFNLEVBQUUsTUFBTSw0QkFBNEIsQ0FBQzs7O0FBVy9FLE1BQU0sT0FBTyxvQkFBb0I7SUFxQi9CLFlBQW9CLEdBQXNCO1FBQXRCLFFBQUcsR0FBSCxHQUFHLENBQW1CO1FBbkJqQyxhQUFRLEdBQWUsRUFBRSxDQUFDO1FBRTFCLG1CQUFjLEdBQW9CLEVBQUUsQ0FBQztRQUNyQyxrQkFBYSxHQUFZLElBQUksQ0FBQztRQUVoQyxzQkFBaUIsR0FBRyxpQkFBaUIsQ0FBQztRQUN0QyxvQkFBZSxHQUFHLEVBQUUsQ0FBQztRQUNyQiwwQkFBcUIsR0FBRyxFQUFFLENBQUM7UUFDM0Isd0JBQW1C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QUFDLENBQUMsRUFBRSxHQUFHLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsRUFBRSxRQUFRLENBQUMsQ0FBQyxDQUFDO1FBRXRFLElBQUksQ0FBQyxVQUFVLENBQUMsSUFBSSxDQUFDLEdBQUcsRUFBRSxPQUFPLEVBQUUsUUFBUSxFQUFFLFVBQVUsRUFBRSxNQUFNLENBQUMsQ0FBQztRQUNqRSxJQUFJLENBQUMsVUFBVSxDQUFDLElBQUksQ0FBQyxHQUFHLEVBQUUsT0FBTyxFQUFFLE1BQU0sRUFBRSxRQUFRLEVBQUUsVUFBVSxDQUFDLENBQUM7UUFDakUsSUFBSSxDQUFDLGNBQWMsQ0FBQyxJQUFJLENBQUMsR0FBRyxFQUFFLFFBQVEsRUFBRSxNQUFNLEVBQUUsVUFBVSxDQUFDLENBQUM7SUFDOUQsQ0FBQzsrR0E1UFUsb0JBQW9CO21HQUFwQixvQkFBb0IscUxBRnBCLENBQUMsWUFBWSxDQUFDLG1KQ3RCM0IsbTNCQXVCQSxtcEJESFksWUFBWTs7NEZBSVgsb0JBQW9CO2tCQVRoQyxTQUFTOytCQUNFLGtCQUFrQixjQUdoQixJQUFJLFdBQ1AsQ0FBQyxZQUFZLENBQUMsbUJBQ04sdUJBQXVCLENBQUMsTUFBTSxhQUNwQyxDQUFDLFlBQVksQ0FBQztzRkFHSCxPQUFPO3NCQUE1QixTQUFTO3VCQUFDLFNBQVM7Z0JBQ1gsUUFBUTtzQkFBaEIsS0FBSztnQkFDRyxNQUFNO3NCQUFkLEtBQUs7Z0JBQ0csY0FBYztzQkFBdEIsS0FBSztnQkFDRyxhQUFhO3NCQUFyQixLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQWZ0ZXJWaWV3SW5pdCwgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksIENoYW5nZURldGVjdG9yUmVmLCBDb21wb25lbnQsIEVsZW1lbnRSZWYsIGluamVjdCwgSW5wdXQsIE9uQ2hhbmdlcywgT25EZXN0cm95LCBTaW1wbGVDaGFuZ2VzLCBWaWV3Q2hpbGQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCAqIGFzIGQzIGZyb20gJ2QzJztcbmltcG9ydCB7IFNoYXJlZE1vZHVsZSB9IGZyb20gJy4uLy4uL3NoYXJlZC9zaGFyZWQubW9kdWxlJztcbmltcG9ydCB7IEluaXRpYWxzUGlwZSB9IGZyb20gJy4uLy4uL3BpcGVzL2luaXRpYWxzL2luaXRpYWxzLnBpcGUnO1xuaW1wb3J0IHsgQWxlcnRTdGF0dXNGaWVsZHMgfSBmcm9tICcuLi9saWItY2xpZW50LWRhc2hib2FyZC9lbnVtcy9hbGVydC1zdGF0dXMtZmllbGRzLmVudW0nO1xuaW1wb3J0IHsgSUNpcmNsZURhdGEgfSBmcm9tICcuL2ludGVyZmFjZXMvY2hhcnQtZGF0YS1jaXJjbGUuaW50ZXJmYWNlJztcbmltcG9ydCB7IElEZWZzRiB9IGZyb20gJy4vaW50ZXJmYWNlcy9jaGFydC1kYXRhLWRlZnMtZi5pbnRlcmZhY2UnO1xuaW1wb3J0IHsgSURlZnNMRyB9IGZyb20gJy4vaW50ZXJmYWNlcy9jaGFydC1kYXRhLWRlZnMtbGcuaW50ZXJmYWNlJztcbmltcG9ydCB7IElEZWZzUkcgfSBmcm9tICcuL2ludGVyZmFjZXMvY2hhcnQtZGF0YS1kZWZzLXJnLmludGVyZmFjZSc7XG5pbXBvcnQgeyBJU3BpZGVyQ2hhcnRDb25maWcgfSBmcm9tICcuL2ludGVyZmFjZXMvY29uZmlnLmludGVyZmFjZSc7XG5pbXBvcnQgeyBJRGF0YXNldCB9IGZyb20gJy4vaW50ZXJmYWNlcy9kYXRhc2V0LmludGVyZmFjZSc7XG5pbXBvcnQgeyBJUG9seWdvbkNvbG9yIH0gZnJvbSAnLi9pbnRlcmZhY2VzL3BvbHlnb24tY29sb3IuaW50ZXJmYWNlJztcbmltcG9ydCB7IElTcGlkZXJDaGFydEF0dHJpYnV0ZSB9IGZyb20gJy4vaW50ZXJmYWNlcy9zcGlkZXItY2hhcnQtYXR0cmlidXRlLmludGVyZmFjZSc7XG5pbXBvcnQgeyBjaXJjbGVEYXRhLCBkZWZzRiwgZGVmc0xHLCBkZWZzUkcgfSBmcm9tICcuL2xvb2t1cC9zdmctY29uZmlnLmxvb2t1cCc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2xpYi1zcGlkZXItY2hhcnQnLFxuICB0ZW1wbGF0ZVVybDogJy4vc3BpZGVyLWNoYXJ0LmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmw6ICcuL3NwaWRlci1jaGFydC5jb21wb25lbnQuc2NzcycsXG4gIHN0YW5kYWxvbmU6IHRydWUsXG4gIGltcG9ydHM6IFtTaGFyZWRNb2R1bGVdLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgcHJvdmlkZXJzOiBbSW5pdGlhbHNQaXBlXSxcbn0pXG5leHBvcnQgY2xhc3MgU3BpZGVyQ2hhcnRDb21wb25lbnQgaW1wbGVtZW50cyBPbkNoYW5nZXMsIE9uRGVzdHJveSwgQWZ0ZXJWaWV3SW5pdCB7XG4gIEBWaWV3Q2hpbGQoJ0QzQ2hhcnQnKSBkM0NoYXJ0OiBFbGVtZW50UmVmO1xuICBASW5wdXQoKSBkYXRhc2V0czogSURhdGFzZXRbXSA9IFtdO1xuICBASW5wdXQoKSBjb25maWc6IElTcGlkZXJDaGFydENvbmZpZztcbiAgQElucHV0KCkgcG9seWdvbl9jb2xvcnM6IElQb2x5Z29uQ29sb3JbXSA9IFtdO1xuICBASW5wdXQoKSBzaG93Q2hhcnRJbmZvOiBib29sZWFuID0gdHJ1ZTtcblxuICBwdWJsaWMgYWxlcnRTdGF0dXNGaWVsZHMgPSBBbGVydFN0YXR1c0ZpZWxkcztcbiAgcHVibGljIHRpdGxlQWxlcnRQb3B1cCA9ICcnO1xuICBwdWJsaWMgZGVzY3JpcHRpb25BbGVydFBvcHVwID0gJyc7XG4gIHB1YmxpYyBpc0FsZXJ0UG9wdXBDbG9zaW5nID0gZmFsc2U7XG4gIHB1YmxpYyB0aW1lU3RhdGVBbGVydFBvcHVwID0gMDtcbiAgcHVibGljIG51bWJlckFsZXJ0UG9wdXA6IG51bWJlcjtcblxuICBwdWJsaWMgc3ZnOiBkMy5TZWxlY3Rpb248U1ZHU1ZHRWxlbWVudCwgdW5rbm93biwgSFRNTEVsZW1lbnQsIHVua25vd24+O1xuICBwdWJsaWMgZGVmc1JHOiBJRGVmc1JHW10gPSBbXTtcbiAgcHVibGljIGRlZnNGOiBJRGVmc0ZbXSA9IFtdO1xuICBwdWJsaWMgZGVmc0xHOiBJRGVmc0xHW10gPSBbXTtcbiAgcHVibGljIGNpcmNsZURhdGE6IElDaXJjbGVEYXRhW10gPSBbXTtcbiAgcHVibGljIHJlYWRvbmx5IGluaXRpYWxzUGlwZTogSW5pdGlhbHNQaXBlID0gaW5qZWN0KEluaXRpYWxzUGlwZSk7XG5cbiAgY29uc3RydWN0b3IocHJpdmF0ZSBjZHI6IENoYW5nZURldGVjdG9yUmVmKSB7fVxuXG4gIG5nT25DaGFuZ2VzKGNoYW5nZXM6IFNpbXBsZUNoYW5nZXMpOiB2b2lkIHtcbiAgICBpZiAoKGNoYW5nZXNbJ2RhdGFzZXRzJ10gfHwgY2hhbmdlc1snY29uZmlnJ10pICYmIHRoaXMuc3ZnKSB7XG4gICAgICBpZiAodGhpcy5kYXRhc2V0cy5sZW5ndGggJiYgdGhpcy5jb25maWcpIHtcbiAgICAgICAgdGhpcy5jcmVhdGVSYWRhckNoYXJ0KCk7XG4gICAgICB9IGVsc2UgaWYgKGNoYW5nZXNbJ2NvbmZpZyddPy5jdXJyZW50VmFsdWU/LlsnZnVsbFNjcmVlbiddICE9PSBjaGFuZ2VzWydjb25maWcnXT8ucHJldmlvdXNWYWx1ZT8uWydmdWxsU2NyZWVuJ10pIHtcbiAgICAgICAgdGhpcy5jcmVhdGVSYWRhckNoYXJ0KCk7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgbmdBZnRlclZpZXdJbml0KCk6IHZvaWQge1xuICAgIHRoaXMuZGVmc1JHID0gZGVmc1JHO1xuICAgIHRoaXMuZGVmc0YgPSBkZWZzRjtcbiAgICB0aGlzLmRlZnNMRyA9IGRlZnNMRztcbiAgICB0aGlzLmNpcmNsZURhdGEgPSBjaXJjbGVEYXRhO1xuICAgIHRoaXMuaW5pdGlhbGl6ZUNoYXJ0KCk7XG4gIH1cblxuICBuZ09uRGVzdHJveSgpOiB2b2lkIHtcbiAgICBpZiAodGhpcy5zdmcpIHtcbiAgICAgIHRoaXMuc3ZnLnJlbW92ZSgpO1xuICAgICAgdGhpcy5zdmcgPSBudWxsO1xuICAgIH1cbiAgfVxuXG4gIHB1YmxpYyBvbkNsb3NlZEFsZXJ0KGRhdGE6IHsgZXZlbnQ6IGJvb2xlYW47IGZpZWxkOiBBbGVydFN0YXR1c0ZpZWxkcyB9KTogdm9pZCB7XG4gICAgY29uc29sZS5sb2coZGF0YSk7XG4gIH1cblxuICBwcml2YXRlIGluaXRpYWxpemVDaGFydCgpOiB2b2lkIHtcbiAgICB0aGlzLnN2ZyA9IHRoaXMuY3JlYXRlU3ZnT2JqZWN0KCk7XG4gICAgY29uc3QgZGVmc0dyb3VwID0gdGhpcy5zdmcuYXBwZW5kKCdnJyk7XG5cbiAgICB0aGlzLmRlZnNMRy5mb3JFYWNoKChkZWZEYXRhKSA9PiB7XG4gICAgICB0aGlzLmNyZWF0ZURlZnNBbmRMaW5lYXJHcmFkaWVudChkZWZzR3JvdXAsIGRlZkRhdGEpO1xuICAgIH0pO1xuXG4gICAgdGhpcy5kZWZzRi5mb3JFYWNoKChkZWZEYXRhKSA9PiB7XG4gICAgICB0aGlzLmNyZWF0ZURlZnNBbmRGaWx0ZXIoZGVmc0dyb3VwLCBkZWZEYXRhKTtcbiAgICB9KTtcblxuICAgIHRoaXMuZGVmc1JHLmZvckVhY2goKGRlZkRhdGEpID0+IHtcbiAgICAgIHRoaXMuY3JlYXRlRGVmc0FuZFJhZGlhbEdyYWRpZW50KGRlZnNHcm91cCwgZGVmRGF0YSk7XG4gICAgfSk7XG5cbiAgICBjb25zdCBjaXJjbGVHcm91cCA9IHRoaXMuc3ZnLmFwcGVuZCgnZycpO1xuICAgIHRoaXMuY3JlYXRlQ2lyY2xlKGNpcmNsZUdyb3VwLCB0aGlzLmNpcmNsZURhdGEpO1xuICAgIGlmICghdGhpcy5jb25maWcpIHJldHVybjtcbiAgICB0aGlzLmNyZWF0ZVJhZGFyQ2hhcnQoKTtcbiAgfVxuXG4gIHByaXZhdGUgY3JlYXRlU3ZnT2JqZWN0KCk6IGQzLlNlbGVjdGlvbjxTVkdTVkdFbGVtZW50LCB1bmtub3duLCBIVE1MRWxlbWVudCwgdW5rbm93bj4ge1xuICAgIHJldHVybiBkMy5zZWxlY3QodGhpcy5kM0NoYXJ0Py5uYXRpdmVFbGVtZW50KS5hcHBlbmQoJ3N2ZycpLmF0dHIoJ2NsYXNzJywgJ3N2ZycpLmF0dHIoJ2hlaWdodCcsIDMwMCkuYXR0cignd2lkdGgnLCAzMDApO1xuICB9XG5cbiAgcHJpdmF0ZSBjcmVhdGVMaW5lKFxuICAgIGdyb3VwOiBkMy5TZWxlY3Rpb248U1ZHR0VsZW1lbnQsIHVua25vd24sIEhUTUxFbGVtZW50LCB1bmtub3duPixcbiAgICBkYXRhOiBJU3BpZGVyQ2hhcnRBdHRyaWJ1dGVbXSxcbiAgICBNYXhWYWx1ZTogbnVtYmVyLFxuICAgIGFuZ2xlU2xpY2U6IG51bWJlcixcbiAgICByU2NhbGU6IGQzLlNjYWxlTGluZWFyPG51bWJlciwgbnVtYmVyPixcbiAgKTogdm9pZCB7XG4gICAgZ3JvdXAuc2VsZWN0QWxsKCdsaW5lJykucmVtb3ZlKCk7XG4gICAgcmV0dXJuIGdyb3VwXG4gICAgICAuc2VsZWN0QWxsKCdsaW5lJylcbiAgICAgIC5kYXRhKGRhdGEpXG4gICAgICAuZW50ZXIoKVxuICAgICAgLmFwcGVuZCgnZycpXG4gICAgICAuYXBwZW5kKCdsaW5lJylcbiAgICAgIC5hdHRyKCdjbGFzcycsICdsaW5lJylcbiAgICAgIC5hdHRyKCdjbGFzcycsICdsaW5lLWdyb3VwJylcbiAgICAgIC5hdHRyKCd4MScsIDApXG4gICAgICAuYXR0cigneTEnLCAwKVxuICAgICAgLmF0dHIoJ3gyJywgKF9kLCBpKSA9PiByU2NhbGUoTWF4VmFsdWUgKiAxLjQpICogTWF0aC5jb3MoYW5nbGVTbGljZSAqIGkgKyAwLjAxIC0gTWF0aC5QSSAvIDIpKVxuICAgICAgLmF0dHIoJ3kyJywgKF9kLCBpKSA9PiByU2NhbGUoTWF4VmFsdWUgKiAxLjQpICogTWF0aC5zaW4oYW5nbGVTbGljZSAqIGkgKyAwLjAxIC0gTWF0aC5QSSAvIDIpKVxuICAgICAgLmF0dHIoJ3N0cm9rZScsICd1cmwoI25lZWRsZVJhZGlhbnQpJylcbiAgICAgIC5hdHRyKCd0cmFuc2Zvcm0nLCAndHJhbnNsYXRlKDE1MCwxNTApJyk7XG4gIH1cblxuICBwcml2YXRlIGNyZWF0ZUNpcmNsZShncm91cDogZDMuU2VsZWN0aW9uPFNWR0dFbGVtZW50LCB1bmtub3duLCBIVE1MRWxlbWVudCwgdW5rbm93bj4sIGRhdGE6IElDaXJjbGVEYXRhW10pOiB2b2lkIHtcbiAgICBkYXRhPy5mb3JFYWNoKChkYXR1bSkgPT4ge1xuICAgICAgY29uc3QgZyA9IGdyb3VwLmFwcGVuZCgnY2lyY2xlJyk7XG4gICAgICBPYmplY3Qua2V5cyhkYXR1bSkuZm9yRWFjaCgoa2V5KSA9PiB7XG4gICAgICAgIGcuYXR0cihrZXksIGRhdHVtW2tleV0pO1xuICAgICAgfSk7XG4gICAgfSk7XG4gICAgcmV0dXJuIGdyb3VwO1xuICB9XG5cbiAgcHJpdmF0ZSBjcmVhdGVUZXh0KFxuICAgIGdyb3VwOiBkMy5TZWxlY3Rpb248U1ZHR0VsZW1lbnQsIHVua25vd24sIEhUTUxFbGVtZW50LCB1bmtub3duPixcbiAgICBkYXRhOiBJU3BpZGVyQ2hhcnRBdHRyaWJ1dGVbXSxcbiAgICByU2NhbGU6IGQzLlNjYWxlTGluZWFyPG51bWJlciwgbnVtYmVyPixcbiAgICBNYXhWYWx1ZTogbnVtYmVyLFxuICAgIGFuZ2xlU2xpY2U6IG51bWJlcixcbiAgKSB7XG4gICAgY29uc3QgdG9vbFRpcCA9IGQzLnNlbGVjdCgnI3Rvb2x0aXAnKTtcbiAgICBncm91cC5zZWxlY3RBbGwoJ3RleHQnKS5yZW1vdmUoKTtcblxuICAgIGNvbnN0IGlzRnVsbFNjcmVlbkFjdGl2ZTogYm9vbGVhbiA9IHRoaXMuY29uZmlnLmZ1bGxTY3JlZW47XG5cbiAgICAvLyBUT0RPIGxlZnQgYmFzZWQgb24gcG9zaXRpb24gb2YgbW9kYWxcbiAgICBjb25zdCBsZWZ0ID0gaXNGdWxsU2NyZWVuQWN0aXZlID8gMCA6IDA7XG4gICAgY29uc3QgdG9wID0gaXNGdWxsU2NyZWVuQWN0aXZlID8gLTgwIDogLTIyMDtcbiAgICByZXR1cm4gZ3JvdXBcbiAgICAgIC5zZWxlY3RBbGwoJ3RleHQnKVxuICAgICAgLmRhdGEoZGF0YSlcbiAgICAgIC5lbnRlcigpXG4gICAgICAuYXBwZW5kKCd0ZXh0JylcbiAgICAgIC50ZXh0KChkKSA9PiB0aGlzLmluaXRpYWxzUGlwZS50cmFuc2Zvcm0oZC50ZXh0KSlcbiAgICAgIC5hdHRyKCd4JywgKF9kLCBpKSA9PiB7XG4gICAgICAgIGNvbnN0IHgyID0gclNjYWxlKE1heFZhbHVlICogMS4yKSAqIE1hdGguY29zKGFuZ2xlU2xpY2UgKiBpICsgMC4xIC0gTWF0aC5QSSAvIDIpO1xuICAgICAgICByZXR1cm4geDI7XG4gICAgICB9KVxuICAgICAgLmF0dHIoJ3knLCAoX2QsIGkpID0+IHtcbiAgICAgICAgY29uc3QgeTIgPSByU2NhbGUoTWF4VmFsdWUgKiAxLjIpICogTWF0aC5zaW4oYW5nbGVTbGljZSAqIGkgKyAwLjEgLSBNYXRoLlBJIC8gMik7XG4gICAgICAgIHJldHVybiB5MjtcbiAgICAgIH0pXG4gICAgICAuYXR0cignZHknLCAnMC4zNWVtJylcbiAgICAgIC5hdHRyKCd0cmFuc2Zvcm0nLCAndHJhbnNsYXRlKDE1MCwxNTApJylcbiAgICAgIC5zdHlsZSgnZmlsbCcsICcjRkUzQzcyJylcbiAgICAgIC5zdHlsZSgndGV4dC1zaGFkb3cnLCAnMXB4IDJweCAxcHggIzAwMCcpXG4gICAgICAuYXR0cignY2xhc3MnLCAnbGluZS1sYWJlbCcpXG4gICAgICAub24oJ3BvaW50ZXJkb3duJywgKGV2ZW50LCBkOiBJU3BpZGVyQ2hhcnRBdHRyaWJ1dGUpID0+IHtcbiAgICAgICAgY29uc3QgeyB0aXRsZUFsZXJ0UG9wdXAsIGRlc2NyaXB0aW9uQWxlcnRQb3B1cCB9ID0gZDtcbiAgICAgICAgdGhpcy50aXRsZUFsZXJ0UG9wdXAgPSB0aXRsZUFsZXJ0UG9wdXA7XG4gICAgICAgIHRoaXMuZGVzY3JpcHRpb25BbGVydFBvcHVwID0gZGVzY3JpcHRpb25BbGVydFBvcHVwO1xuICAgICAgICB0aGlzLmlzQWxlcnRQb3B1cENsb3NpbmcgPSBmYWxzZTtcbiAgICAgICAgdGhpcy50aW1lU3RhdGVBbGVydFBvcHVwID0gbmV3IERhdGUoKS5nZXRUaW1lKCk7XG4gICAgICAgIHRoaXMubnVtYmVyQWxlcnRQb3B1cCA9IE1hdGguZmxvb3IoTWF0aC5yYW5kb20oKSAqIDEwKTtcbiAgICAgICAgdGhpcy5jZHIuZGV0ZWN0Q2hhbmdlcygpO1xuICAgICAgICB0b29sVGlwXG4gICAgICAgICAgLnN0eWxlKCdkaXNwbGF5JywgJ2Jsb2NrJylcbiAgICAgICAgICAuc3R5bGUoJ2xlZnQnLCBldmVudC5wYWdlWCArIGxlZnQgKyAncHgnKVxuICAgICAgICAgIC5zdHlsZSgndG9wJywgZXZlbnQucGFnZVkgKyB0b3AgPCAwID8gMCA6IGV2ZW50LnBhZ2VZICsgdG9wICsgJ3B4Jyk7XG4gICAgICB9KVxuICAgICAgLm9uKCdwb2ludGVydXAnLCAoZXZlbnQsIGQ6IElTcGlkZXJDaGFydEF0dHJpYnV0ZSkgPT4ge30pO1xuICB9XG5cbiAgcHJpdmF0ZSBjcmVhdGVQb2x5Z29ucyhncm91cDogZDMuU2VsZWN0aW9uPFNWR0dFbGVtZW50LCB1bmtub3duLCBIVE1MRWxlbWVudCwgdW5rbm93bj4sIGRhdGFzZXRzOiBJRGF0YXNldFtdLCByU2NhbGU6IGQzLlNjYWxlTGluZWFyPG51bWJlciwgbnVtYmVyPiwgYW5nbGVTbGljZTogbnVtYmVyKTogdm9pZCB7XG4gICAgZ3JvdXAuc2VsZWN0QWxsKCdwb2x5Z29uJykucmVtb3ZlKCk7XG4gICAgZ3JvdXAuc2VsZWN0QWxsKCcucmFkYXJDaXJjbGUnKS5yZW1vdmUoKTtcblxuICAgIGNvbnN0IHBvbHlnb25Qb2ludHMgPSAoZGF0YSkgPT4ge1xuICAgICAgY29uc3QgcG9pbnRzID0gZGF0YT8ua2V5cz8ubWFwKChrZXksIGkpID0+IHtcbiAgICAgICAgY29uc3QgciA9IHJTY2FsZShkYXRhPy52YWx1ZXNba2V5XSA/PyAxICogMSk7XG4gICAgICAgIGNvbnN0IHggPSByICogTWF0aC5jb3MoYW5nbGVTbGljZSAqIGkgKyAwLjAxIC0gTWF0aC5QSSAvIDIpO1xuICAgICAgICBjb25zdCB5ID0gciAqIE1hdGguc2luKGFuZ2xlU2xpY2UgKiBpICsgMC4wMSAtIE1hdGguUEkgLyAyKTtcbiAgICAgICAgcmV0dXJuIGAke3h9LCR7eX1gO1xuICAgICAgfSk7XG4gICAgICByZXR1cm4gcG9pbnRzLmpvaW4oJyAnKTtcbiAgICB9O1xuICAgIGdyb3VwXG4gICAgICAuc2VsZWN0QWxsKCdwb2x5Z29uJylcbiAgICAgIC5kYXRhKGRhdGFzZXRzKVxuICAgICAgLmVudGVyKClcbiAgICAgIC5hcHBlbmQoJ3BvbHlnb24nKVxuICAgICAgLmF0dHIoJ3BvaW50cycsIChkKSA9PiBwb2x5Z29uUG9pbnRzKGQgPz8ge30pKVxuICAgICAgLmF0dHIoJ3N0cm9rZScsIChfLCBpKSA9PiBfLnBvbHlnb25fY29sb3I/LnZhbHVlKVxuICAgICAgLmF0dHIoJ3RyYW5zZm9ybScsICd0cmFuc2xhdGUoMTUwLDE1MCknKVxuXG4gICAgICAuYXR0cignZmlsbCcsIChfLCBpKSA9PiBgdXJsKCR7dGhpcy5wb2x5Z29uX2NvbG9ycz8uW2ldPy5sYWJlbH0pYCk7XG4gICAgZGF0YXNldHMuZm9yRWFjaCgoZGF0YSwgaikgPT4ge1xuICAgICAgY29uc3QgYWxsVmFsdWVzQXJlWmVybyA9IGRhdGEua2V5cy5ldmVyeSgoa2V5KSA9PiBkYXRhLnZhbHVlc1trZXldID09PSAwKTtcbiAgICAgIGlmICghYWxsVmFsdWVzQXJlWmVybykge1xuICAgICAgICBncm91cFxuICAgICAgICAgIC5hcHBlbmQoJ2cnKVxuICAgICAgICAgIC5zZWxlY3RBbGwoJ2NpcmNsZScpXG4gICAgICAgICAgLmRhdGEoZGF0YS5rZXlzKVxuICAgICAgICAgIC5lbnRlcigpXG4gICAgICAgICAgLmFwcGVuZCgnY2lyY2xlJylcbiAgICAgICAgICAuYXR0cignY2xhc3MnLCAncmFkYXJDaXJjbGUnKVxuICAgICAgICAgIC5hdHRyKCdyJywgMylcbiAgICAgICAgICAuYXR0cignY3gnLCAoa2V5LCBpKSA9PiByU2NhbGUoZGF0YS52YWx1ZXNba2V5XSA/PyAwKSAqIE1hdGguY29zKGFuZ2xlU2xpY2UgKiBpIC0gTWF0aC5QSSAvIDIpKVxuICAgICAgICAgIC5hdHRyKCdjeScsIChrZXksIGkpID0+IHJTY2FsZShkYXRhLnZhbHVlc1trZXldID8/IDApICogTWF0aC5zaW4oYW5nbGVTbGljZSAqIGkgLSBNYXRoLlBJIC8gMikpXG4gICAgICAgICAgLnN0eWxlKCdmaWxsJywgJ3doaXRlJylcbiAgICAgICAgICAuc3R5bGUoJ3N0cm9rZScsICgpID0+IHRoaXMucG9seWdvbl9jb2xvcnM/LltqXT8udmFsdWUpIC8vIFVzaW5nIHN0cm9rZSBjb2xvcnMgZnJvbSB0aGUgc3Ryb2tlQ29sb3JzIGFycmF5XG4gICAgICAgICAgLmF0dHIoJ3RyYW5zZm9ybScsICd0cmFuc2xhdGUoMTUwLDE1MCknKVxuICAgICAgICAgIC5hdHRyKCdmaWx0ZXInLCAnYmx1cigxcHgpJylcbiAgICAgICAgICAuc3R5bGUoJ3N0cm9rZS13aWR0aCcsIDIpXG4gICAgICAgICAgLnN0eWxlKCdmaWxsLW9wYWNpdHknLCAwLjgpO1xuICAgICAgfVxuICAgIH0pO1xuICB9XG5cbiAgcHJpdmF0ZSBjcmVhdGVEZWZzQW5kTGluZWFyR3JhZGllbnQoZ3JvdXA6IGQzLlNlbGVjdGlvbjxTVkdHRWxlbWVudCwgdW5rbm93biwgSFRNTEVsZW1lbnQsIHVua25vd24+LCBkYXRhOiBJRGVmc0xHKTogdm9pZCB7XG4gICAgY29uc3QgZGVmcyA9IGdyb3VwLmFwcGVuZCgnZGVmcycpLmFwcGVuZCgnbGluZWFyR3JhZGllbnQnKS5hdHRyKCdpZCcsIGRhdGEuaWQpLmF0dHIoJ3gxJywgZGF0YS54MSkuYXR0cigneTEnLCBkYXRhLnkxKS5hdHRyKCd4MicsIGRhdGEueDIpLmF0dHIoJ3kyJywgZGF0YS55Mik7XG5cbiAgICBkYXRhLnN0b3BUYWdzLmZvckVhY2goKGVsZW0pID0+IHtcbiAgICAgIGRlZnMuYXBwZW5kKCdzdG9wJykuYXR0cignb2Zmc2V0JywgZWxlbS5vZmZzZXQpLmF0dHIoJ3N0eWxlJywgZWxlbS5zdHlsZSk7XG4gICAgfSk7XG4gIH1cblxuICBwcml2YXRlIGNyZWF0ZURlZnNBbmRGaWx0ZXIoZ3JvdXA6IGQzLlNlbGVjdGlvbjxTVkdHRWxlbWVudCwgdW5rbm93biwgSFRNTEVsZW1lbnQsIHVua25vd24+LCBkYXRhOiBJRGVmc0YpOiB2b2lkIHtcbiAgICBjb25zdCBkZWZzID0gZ3JvdXAuYXBwZW5kKCdkZWZzJykuYXBwZW5kKCdmaWx0ZXInKS5hdHRyKCdpZCcsIGRhdGEuaWQpLmF0dHIoJ3gnLCBkYXRhLngpLmF0dHIoJ3knLCBkYXRhLnkpLmF0dHIoJ2hlaWdodCcsIGRhdGEuaGVpZ2h0KS5hdHRyKCd3aWR0aCcsIGRhdGEud2lkdGgpO1xuXG4gICAgZGF0YS5mZUdhdXNzaWFuVGFncy5mb3JFYWNoKChlbGVtKSA9PiB7XG4gICAgICBkZWZzLmFwcGVuZCgnZmVHYXVzc2lhbkJsdXInKS5hdHRyKCdpbicsIGVsZW0uaW4pLmF0dHIoJ3N0ZERldmlhdGlvbicsIGVsZW0uc3RkRGV2aWF0aW9uKTtcbiAgICB9KTtcbiAgfVxuXG4gIHByaXZhdGUgY3JlYXRlRGVmc0FuZFJhZGlhbEdyYWRpZW50KGdyb3VwOiBkMy5TZWxlY3Rpb248U1ZHR0VsZW1lbnQsIHVua25vd24sIEhUTUxFbGVtZW50LCB1bmtub3duPiwgZGF0YTogSURlZnNSRyk6IHZvaWQge1xuICAgIGNvbnN0IGRlZnMgPSBncm91cC5hcHBlbmQoJ2RlZnMnKS5hcHBlbmQoJ3JhZGlhbEdyYWRpZW50JykuYXR0cignaWQnLCBkYXRhLmlkKS5hdHRyKCdjeCcsIGRhdGEuY3kpLmF0dHIoJ2N5JywgZGF0YS5jeCkuYXR0cigncicsIGRhdGEucik7XG5cbiAgICBkYXRhLnN0b3BUYWdzLmZvckVhY2goKGVsZW0pID0+IHtcbiAgICAgIGRlZnMuYXBwZW5kKCdzdG9wJykuYXR0cignb2Zmc2V0JywgZWxlbS5vZmZzZXQpLmF0dHIoJ3N0eWxlJywgZWxlbS5zdHlsZSk7XG4gICAgfSk7XG4gIH1cblxuICBwcml2YXRlIGNyZWF0ZVJhZGFyQ2hhcnQoKTogdm9pZCB7XG4gICAgY29uc3QgeyBtYXhWYWx1ZSwgZGF0YXNldHMsIGF0dHJpYnV0ZXMgfSA9IHRoaXMuY29uZmlnO1xuICAgIGNvbnN0IGFsbEF4aXMgPSBbLi4ubmV3IFNldChhdHRyaWJ1dGVzKV0ubWFwKChpKSA9PiBpKTtcbiAgICBjb25zdCB0b3RhbCA9IGFsbEF4aXMubGVuZ3RoO1xuICAgIGNvbnN0IGFuZ2xlU2xpY2UgPSAoTWF0aC5QSSAqIDIpIC8gdG90YWw7XG4gICAgbGV0IE1heFZhbHVlID1cbiAgICAgIGRhdGFzZXRzLmxlbmd0aCA+IDBcbiAgICAgICAgPyBNYXRoLm1heChcbiAgICAgICAgICAgIC4uLmRhdGFzZXRzLnJlZHVjZSgoYSwgaSkgPT4ge1xuICAgICAgICAgICAgICByZXR1cm4gWy4uLmEsIC4uLk9iamVjdC52YWx1ZXMoaS52YWx1ZXMpXTtcbiAgICAgICAgICAgIH0sIFtdKSxcbiAgICAgICAgICApXG4gICAgICAgIDogbWF4VmFsdWU7XG4gICAgTWF4VmFsdWUgPSBNYXhWYWx1ZSA+IDAgPyBNYXhWYWx1ZSA6IDI1O1xuXG4gICAgY29uc3QgclNjYWxlID0gZDMuc2NhbGVMaW5lYXIoKS5yYW5nZShbMCwgMTAwXSkuZG9tYWluKFswLCBNYXhWYWx1ZV0pO1xuXG4gICAgdGhpcy5jcmVhdGVMaW5lKHRoaXMuc3ZnLCBhbGxBeGlzLCBNYXhWYWx1ZSwgYW5nbGVTbGljZSwgclNjYWxlKTtcbiAgICB0aGlzLmNyZWF0ZVRleHQodGhpcy5zdmcsIGFsbEF4aXMsIHJTY2FsZSwgTWF4VmFsdWUsIGFuZ2xlU2xpY2UpO1xuICAgIHRoaXMuY3JlYXRlUG9seWdvbnModGhpcy5zdmcsIGRhdGFzZXRzLCByU2NhbGUsIGFuZ2xlU2xpY2UpO1xuICB9XG59XG4iLCI8ZGl2IGlkPVwidG9vbHRpcFwiPlxuICA8bGliLWFsZXJ0LXBvcHVwIFt0aXRsZV09XCJ0aXRsZUFsZXJ0UG9wdXBcIiBbZGVzY3JpcHRpb25dPVwiZGVzY3JpcHRpb25BbGVydFBvcHVwXCIgW3RpbWVTdGF0ZV09XCJ0aW1lU3RhdGVBbGVydFBvcHVwXCIgW251bWJlcl09XCJudW1iZXJBbGVydFBvcHVwXCI+PC9saWItYWxlcnQtcG9wdXA+XG48L2Rpdj5cblxuPGRpdiBjbGFzcz1cImNvbnRhaW5lclwiPlxuICA8ZGl2IGNsYXNzPVwiZDMtY29udGFpbmVyXCI+XG4gICAgPGRpdiBjbGFzcz1cImQzLWNoYXJ0XCIgI0QzQ2hhcnQ+PC9kaXY+XG4gICAgQGlmIChzaG93Q2hhcnRJbmZvKSB7XG4gICAgICA8ZGl2IGNsYXNzPVwiY2hhcnRJbmZvXCI+XG4gICAgICAgIEBpZiAoZGF0YXNldHMubGVuZ3RoID4gMCkge1xuICAgICAgICAgIDxkaXYgY2xhc3M9XCJkYXRhY2hhcnRcIj5cbiAgICAgICAgICAgIEBmb3IgKGRhdGFzZXQgb2YgZGF0YXNldHM7IGxldCBqID0gJGluZGV4OyB0cmFjayBkYXRhc2V0KSB7XG4gICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJsZWdlbmQtaXRlbVwiPlxuICAgICAgICAgICAgICAgIDxkaXYgW3N0eWxlLmJvcmRlcl09XCInNXB4IHNvbGlkICcgKyBwb2x5Z29uX2NvbG9ycz8uW2pdPy52YWx1ZVwiIFtzdHlsZS5ib3hTaGFkb3ddPVwiJzBweCAwcHggMTJweCAnICsgcG9seWdvbl9jb2xvcnM/LltqXT8udmFsdWVcIiBjbGFzcz1cImxlZ2VuZC1jb2xvclwiPjwvZGl2PlxuICAgICAgICAgICAgICAgIHt7IGRhdGFzZXQudGl0bGUgfX1cbiAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICB9XG4gICAgICAgICAgPC9kaXY+XG4gICAgICAgIH1cbiAgICAgIDwvZGl2PlxuICAgIH1cbiAgPC9kaXY+XG48L2Rpdj5cbiJdfQ==
@@ -13,13 +13,14 @@ export class InitialsPipe {
13
13
  .join('');
14
14
  }
15
15
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: InitialsPipe, deps: [], target: i0.ɵɵFactoryTarget.Pipe }); }
16
- static { this.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "17.3.12", ngImport: i0, type: InitialsPipe, name: "initials" }); }
16
+ static { this.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "17.3.12", ngImport: i0, type: InitialsPipe, isStandalone: true, name: "initials" }); }
17
17
  }
18
18
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: InitialsPipe, decorators: [{
19
19
  type: Pipe,
20
20
  args: [{
21
21
  name: 'initials',
22
22
  pure: true,
23
+ standalone: true,
23
24
  }]
24
25
  }] });
25
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5pdGlhbHMucGlwZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2Rhc2hib2FyZC1jb21wb25lbnRzLWxpYi9zcmMvbGliL3BpcGVzL2luaXRpYWxzL2luaXRpYWxzLnBpcGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLElBQUksRUFBaUIsTUFBTSxlQUFlLENBQUM7O0FBTXBELE1BQU0sT0FBTyxZQUFZO0lBQ3ZCLFNBQVMsQ0FBQyxRQUFnQixFQUFFLFdBQW1CLENBQUM7UUFDOUMsSUFBSSxDQUFDLFFBQVEsRUFBRSxJQUFJLEVBQUUsRUFBRSxDQUFDO1lBQ3RCLE9BQU8sRUFBRSxDQUFDO1FBQ1osQ0FBQztRQUNELE9BQU8sUUFBUTthQUNaLElBQUksRUFBRTthQUNOLEtBQUssQ0FBQyxLQUFLLENBQUM7YUFDWixLQUFLLENBQUMsQ0FBQyxFQUFFLFFBQVEsQ0FBQzthQUNsQixHQUFHLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDLENBQUMsQ0FBQyxTQUFTLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLFdBQVcsRUFBRSxDQUFDO2FBQzNDLElBQUksQ0FBQyxFQUFFLENBQUMsQ0FBQztJQUNkLENBQUM7K0dBWFUsWUFBWTs2R0FBWixZQUFZOzs0RkFBWixZQUFZO2tCQUp4QixJQUFJO21CQUFDO29CQUNKLElBQUksRUFBRSxVQUFVO29CQUNoQixJQUFJLEVBQUUsSUFBSTtpQkFDWCIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IFBpcGUsIFBpcGVUcmFuc2Zvcm0gfSBmcm9tICdAYW5ndWxhci9jb3JlJztcblxuQFBpcGUoe1xuICBuYW1lOiAnaW5pdGlhbHMnLFxuICBwdXJlOiB0cnVlLFxufSlcbmV4cG9ydCBjbGFzcyBJbml0aWFsc1BpcGUgaW1wbGVtZW50cyBQaXBlVHJhbnNmb3JtIHtcbiAgdHJhbnNmb3JtKGZ1bGxOYW1lOiBzdHJpbmcsIG51bUNoYXJzOiBudW1iZXIgPSAyKTogc3RyaW5nIHtcbiAgICBpZiAoIWZ1bGxOYW1lPy50cmltKCkpIHtcbiAgICAgIHJldHVybiAnJztcbiAgICB9XG4gICAgcmV0dXJuIGZ1bGxOYW1lXG4gICAgICAudHJpbSgpXG4gICAgICAuc3BsaXQoL1xccysvKVxuICAgICAgLnNsaWNlKDAsIG51bUNoYXJzKVxuICAgICAgLm1hcCgobikgPT4gbi5zdWJzdHJpbmcoMCwgMikudG9VcHBlckNhc2UoKSlcbiAgICAgIC5qb2luKCcnKTtcbiAgfVxufVxuIl19
26
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5pdGlhbHMucGlwZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2Rhc2hib2FyZC1jb21wb25lbnRzLWxpYi9zcmMvbGliL3BpcGVzL2luaXRpYWxzL2luaXRpYWxzLnBpcGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLElBQUksRUFBaUIsTUFBTSxlQUFlLENBQUM7O0FBT3BELE1BQU0sT0FBTyxZQUFZO0lBQ3ZCLFNBQVMsQ0FBQyxRQUFnQixFQUFFLFdBQW1CLENBQUM7UUFDOUMsSUFBSSxDQUFDLFFBQVEsRUFBRSxJQUFJLEVBQUUsRUFBRSxDQUFDO1lBQ3RCLE9BQU8sRUFBRSxDQUFDO1FBQ1osQ0FBQztRQUNELE9BQU8sUUFBUTthQUNaLElBQUksRUFBRTthQUNOLEtBQUssQ0FBQyxLQUFLLENBQUM7YUFDWixLQUFLLENBQUMsQ0FBQyxFQUFFLFFBQVEsQ0FBQzthQUNsQixHQUFHLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDLENBQUMsQ0FBQyxTQUFTLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLFdBQVcsRUFBRSxDQUFDO2FBQzNDLElBQUksQ0FBQyxFQUFFLENBQUMsQ0FBQztJQUNkLENBQUM7K0dBWFUsWUFBWTs2R0FBWixZQUFZOzs0RkFBWixZQUFZO2tCQUx4QixJQUFJO21CQUFDO29CQUNKLElBQUksRUFBRSxVQUFVO29CQUNoQixJQUFJLEVBQUUsSUFBSTtvQkFDVixVQUFVLEVBQUUsSUFBSTtpQkFDakIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBQaXBlLCBQaXBlVHJhbnNmb3JtIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5cbkBQaXBlKHtcbiAgbmFtZTogJ2luaXRpYWxzJyxcbiAgcHVyZTogdHJ1ZSxcbiAgc3RhbmRhbG9uZTogdHJ1ZSxcbn0pXG5leHBvcnQgY2xhc3MgSW5pdGlhbHNQaXBlIGltcGxlbWVudHMgUGlwZVRyYW5zZm9ybSB7XG4gIHRyYW5zZm9ybShmdWxsTmFtZTogc3RyaW5nLCBudW1DaGFyczogbnVtYmVyID0gMik6IHN0cmluZyB7XG4gICAgaWYgKCFmdWxsTmFtZT8udHJpbSgpKSB7XG4gICAgICByZXR1cm4gJyc7XG4gICAgfVxuICAgIHJldHVybiBmdWxsTmFtZVxuICAgICAgLnRyaW0oKVxuICAgICAgLnNwbGl0KC9cXHMrLylcbiAgICAgIC5zbGljZSgwLCBudW1DaGFycylcbiAgICAgIC5tYXAoKG4pID0+IG4uc3Vic3RyaW5nKDAsIDIpLnRvVXBwZXJDYXNlKCkpXG4gICAgICAuam9pbignJyk7XG4gIH1cbn1cbiJdfQ==
@@ -1821,7 +1821,9 @@ class ChatComponent {
1821
1821
  }
1822
1822
  ngOnDestroy() {
1823
1823
  this.removeEmojiPickerClickListener();
1824
- this.popupModalService.hide();
1824
+ if (this.popupModalService.getInstance()) {
1825
+ this.popupModalService.hide();
1826
+ }
1825
1827
  }
1826
1828
  ngAfterViewInit() {
1827
1829
  if (this.emojiPickerConfig?.style) {
@@ -2768,13 +2770,14 @@ class InitialsPipe {
2768
2770
  .join('');
2769
2771
  }
2770
2772
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: InitialsPipe, deps: [], target: i0.ɵɵFactoryTarget.Pipe }); }
2771
- static { this.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "17.3.12", ngImport: i0, type: InitialsPipe, name: "initials" }); }
2773
+ static { this.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "17.3.12", ngImport: i0, type: InitialsPipe, isStandalone: true, name: "initials" }); }
2772
2774
  }
2773
2775
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: InitialsPipe, decorators: [{
2774
2776
  type: Pipe,
2775
2777
  args: [{
2776
2778
  name: 'initials',
2777
2779
  pure: true,
2780
+ standalone: true,
2778
2781
  }]
2779
2782
  }] });
2780
2783
 
@@ -3264,11 +3267,11 @@ class SpiderChartComponent {
3264
3267
  this.createPolygons(this.svg, datasets, rScale, angleSlice);
3265
3268
  }
3266
3269
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: SpiderChartComponent, deps: [{ token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component }); }
3267
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "17.3.12", type: SpiderChartComponent, isStandalone: true, selector: "lib-spider-chart", inputs: { datasets: "datasets", config: "config", polygon_colors: "polygon_colors", showChartInfo: "showChartInfo" }, viewQueries: [{ propertyName: "d3Chart", first: true, predicate: ["D3Chart"], descendants: true }], usesOnChanges: true, ngImport: i0, template: "<div id=\"tooltip\">\n <lib-alert-popup [title]=\"titleAlertPopup\" [description]=\"descriptionAlertPopup\" [timeState]=\"timeStateAlertPopup\" [number]=\"numberAlertPopup\"></lib-alert-popup>\n</div>\n\n<div class=\"container\">\n <div class=\"d3-container\">\n <div class=\"d3-chart\" #D3Chart></div>\n @if (showChartInfo) {\n <div class=\"chartInfo\">\n @if (datasets.length > 0) {\n <div class=\"datachart\">\n @for (dataset of datasets; let j = $index; track dataset) {\n <div class=\"legend-item\">\n <div [style.border]=\"'5px solid ' + polygon_colors?.[j]?.value\" [style.boxShadow]=\"'0px 0px 12px ' + polygon_colors?.[j]?.value\" class=\"legend-color\"></div>\n {{ dataset.title }}\n </div>\n }\n </div>\n }\n </div>\n }\n </div>\n</div>\n", styles: [".align-chart{display:flex;justify-content:center;align-items:center}.d3-container{width:100%;position:relative;min-height:300px;display:flex;align-items:center;transition:all .5s ease}.d3-chart{width:100%;height:clamp(300px,30vh,400px);display:flex;justify-content:center;align-items:center;transition:all .5s ease}.chartInfo{margin-top:20px}.datachart{display:flex;flex-wrap:wrap;gap:10px}.legend-item{display:flex;align-items:center;gap:8px;font-size:14px;padding:4px}.legend-color{width:15px;height:15px;border-radius:50%;background-color:#fff}#tooltip{position:absolute;display:none;z-index:1000}\n"], dependencies: [{ kind: "ngmodule", type: SharedModule }, { kind: "component", type: AlertPopupComponent, selector: "lib-alert-popup", inputs: ["title", "description", "timeState", "number"], outputs: ["closed"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
3270
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "17.3.12", type: SpiderChartComponent, isStandalone: true, selector: "lib-spider-chart", inputs: { datasets: "datasets", config: "config", polygon_colors: "polygon_colors", showChartInfo: "showChartInfo" }, providers: [InitialsPipe], viewQueries: [{ propertyName: "d3Chart", first: true, predicate: ["D3Chart"], descendants: true }], usesOnChanges: true, ngImport: i0, template: "<div id=\"tooltip\">\n <lib-alert-popup [title]=\"titleAlertPopup\" [description]=\"descriptionAlertPopup\" [timeState]=\"timeStateAlertPopup\" [number]=\"numberAlertPopup\"></lib-alert-popup>\n</div>\n\n<div class=\"container\">\n <div class=\"d3-container\">\n <div class=\"d3-chart\" #D3Chart></div>\n @if (showChartInfo) {\n <div class=\"chartInfo\">\n @if (datasets.length > 0) {\n <div class=\"datachart\">\n @for (dataset of datasets; let j = $index; track dataset) {\n <div class=\"legend-item\">\n <div [style.border]=\"'5px solid ' + polygon_colors?.[j]?.value\" [style.boxShadow]=\"'0px 0px 12px ' + polygon_colors?.[j]?.value\" class=\"legend-color\"></div>\n {{ dataset.title }}\n </div>\n }\n </div>\n }\n </div>\n }\n </div>\n</div>\n", styles: [".align-chart{display:flex;justify-content:center;align-items:center}.d3-container{width:100%;position:relative;min-height:300px;display:flex;align-items:center;transition:all .5s ease}.d3-chart{width:100%;height:clamp(300px,30vh,400px);display:flex;justify-content:center;align-items:center;transition:all .5s ease}.chartInfo{margin-top:20px}.datachart{display:flex;flex-wrap:wrap;gap:10px}.legend-item{display:flex;align-items:center;gap:8px;font-size:14px;padding:4px}.legend-color{width:15px;height:15px;border-radius:50%;background-color:#fff}#tooltip{position:absolute;display:none;z-index:1000}\n"], dependencies: [{ kind: "ngmodule", type: SharedModule }, { kind: "component", type: AlertPopupComponent, selector: "lib-alert-popup", inputs: ["title", "description", "timeState", "number"], outputs: ["closed"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
3268
3271
  }
3269
3272
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: SpiderChartComponent, decorators: [{
3270
3273
  type: Component,
3271
- args: [{ selector: 'lib-spider-chart', standalone: true, imports: [SharedModule], changeDetection: ChangeDetectionStrategy.OnPush, template: "<div id=\"tooltip\">\n <lib-alert-popup [title]=\"titleAlertPopup\" [description]=\"descriptionAlertPopup\" [timeState]=\"timeStateAlertPopup\" [number]=\"numberAlertPopup\"></lib-alert-popup>\n</div>\n\n<div class=\"container\">\n <div class=\"d3-container\">\n <div class=\"d3-chart\" #D3Chart></div>\n @if (showChartInfo) {\n <div class=\"chartInfo\">\n @if (datasets.length > 0) {\n <div class=\"datachart\">\n @for (dataset of datasets; let j = $index; track dataset) {\n <div class=\"legend-item\">\n <div [style.border]=\"'5px solid ' + polygon_colors?.[j]?.value\" [style.boxShadow]=\"'0px 0px 12px ' + polygon_colors?.[j]?.value\" class=\"legend-color\"></div>\n {{ dataset.title }}\n </div>\n }\n </div>\n }\n </div>\n }\n </div>\n</div>\n", styles: [".align-chart{display:flex;justify-content:center;align-items:center}.d3-container{width:100%;position:relative;min-height:300px;display:flex;align-items:center;transition:all .5s ease}.d3-chart{width:100%;height:clamp(300px,30vh,400px);display:flex;justify-content:center;align-items:center;transition:all .5s ease}.chartInfo{margin-top:20px}.datachart{display:flex;flex-wrap:wrap;gap:10px}.legend-item{display:flex;align-items:center;gap:8px;font-size:14px;padding:4px}.legend-color{width:15px;height:15px;border-radius:50%;background-color:#fff}#tooltip{position:absolute;display:none;z-index:1000}\n"] }]
3274
+ args: [{ selector: 'lib-spider-chart', standalone: true, imports: [SharedModule], changeDetection: ChangeDetectionStrategy.OnPush, providers: [InitialsPipe], template: "<div id=\"tooltip\">\n <lib-alert-popup [title]=\"titleAlertPopup\" [description]=\"descriptionAlertPopup\" [timeState]=\"timeStateAlertPopup\" [number]=\"numberAlertPopup\"></lib-alert-popup>\n</div>\n\n<div class=\"container\">\n <div class=\"d3-container\">\n <div class=\"d3-chart\" #D3Chart></div>\n @if (showChartInfo) {\n <div class=\"chartInfo\">\n @if (datasets.length > 0) {\n <div class=\"datachart\">\n @for (dataset of datasets; let j = $index; track dataset) {\n <div class=\"legend-item\">\n <div [style.border]=\"'5px solid ' + polygon_colors?.[j]?.value\" [style.boxShadow]=\"'0px 0px 12px ' + polygon_colors?.[j]?.value\" class=\"legend-color\"></div>\n {{ dataset.title }}\n </div>\n }\n </div>\n }\n </div>\n }\n </div>\n</div>\n", styles: [".align-chart{display:flex;justify-content:center;align-items:center}.d3-container{width:100%;position:relative;min-height:300px;display:flex;align-items:center;transition:all .5s ease}.d3-chart{width:100%;height:clamp(300px,30vh,400px);display:flex;justify-content:center;align-items:center;transition:all .5s ease}.chartInfo{margin-top:20px}.datachart{display:flex;flex-wrap:wrap;gap:10px}.legend-item{display:flex;align-items:center;gap:8px;font-size:14px;padding:4px}.legend-color{width:15px;height:15px;border-radius:50%;background-color:#fff}#tooltip{position:absolute;display:none;z-index:1000}\n"] }]
3272
3275
  }], ctorParameters: () => [{ type: i0.ChangeDetectorRef }], propDecorators: { d3Chart: [{
3273
3276
  type: ViewChild,
3274
3277
  args: ['D3Chart']