zek 17.3.58 → 17.3.60

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.
@@ -32,6 +32,14 @@ export class BaseComponent extends CoreComponent {
32
32
  getQueryParam(name) {
33
33
  return this.route.snapshot.queryParamMap.get(name);
34
34
  }
35
+ reload() {
36
+ this._redirectTo(this.router.url);
37
+ }
38
+ _redirectTo(url) {
39
+ this.router.navigateByUrl('/', { skipLocationChange: true }).then(() => {
40
+ this.router.navigateByUrl(url);
41
+ });
42
+ }
35
43
  navigateReturnUrl() {
36
44
  const returnUrl = this.getQueryParam('returnUrl') || this.getParam('returnUrl');
37
45
  if (returnUrl) {
@@ -83,4 +91,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.4", ngImpor
83
91
  }], modelChange: [{
84
92
  type: Output
85
93
  }] } });
86
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYmFzZS5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy96ZWsvc3JjL2xpYi9jb21wb25lbnRzL2Jhc2UuY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxLQUFLLEVBQUUsU0FBUyxFQUFFLE1BQU0sRUFBRSxZQUFZLEVBQUUsTUFBTSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQy9FLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFFekQsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLHVCQUF1QixDQUFDO0FBQ2xELE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxhQUFhLENBQUM7QUFDM0MsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLGtCQUFrQixDQUFDO0FBRWpELE9BQU8sRUFBRSxPQUFPLEVBQUUsVUFBVSxFQUFFLFNBQVMsRUFBRSxNQUFNLFVBQVUsQ0FBQzs7QUFHMUQsTUFBTSxPQUFPLGFBQTRCLFNBQVEsYUFBYTtJQUQ5RDs7UUFFcUIsU0FBSSxHQUFHLE1BQU0sQ0FBQyxZQUFZLENBQUMsQ0FBQztRQUMxQixVQUFLLEdBQUcsTUFBTSxDQUFDLGNBQWMsQ0FBQyxDQUFDO1FBQy9CLFdBQU0sR0FBRyxNQUFNLENBQUMsTUFBTSxDQUFDLENBQUM7UUFFbkMsY0FBUyxHQUFHLEtBQUssQ0FBQztRQVNsQixTQUFJLEdBQWtCLElBQUksQ0FBQztRQVF6QixnQkFBVyxHQUFHLElBQUksWUFBWSxFQUE2QixDQUFDO0tBd0R6RTtJQXhFRyxJQUNJLFFBQVE7UUFDUixPQUFPLElBQUksQ0FBQyxTQUFTLENBQUM7SUFDMUIsQ0FBQztJQUNELElBQUksUUFBUSxDQUFDLENBQWU7UUFDeEIsSUFBSSxDQUFDLFNBQVMsR0FBRyxPQUFPLENBQUMsaUJBQWlCLENBQUMsQ0FBQyxDQUFDLENBQUM7SUFDbEQsQ0FBQztJQUdELElBQWMsR0FBRztRQUNiLElBQUksQ0FBQyxJQUFJLENBQUMsSUFBSTtZQUNWLElBQUksQ0FBQyxJQUFJLEdBQUcsU0FBUyxDQUFDLFVBQVUsQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLEdBQUcsQ0FBQyxDQUFDO1FBQ3RELE9BQU8sSUFBSSxDQUFDLElBQUksQ0FBQztJQUNyQixDQUFDO0lBS1MsUUFBUSxDQUFDLElBQVk7UUFDM0IsT0FBTyxJQUFJLENBQUMsS0FBSyxDQUFDLFFBQVEsQ0FBQyxRQUFRLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxDQUFDO0lBQ2xELENBQUM7SUFDUyxhQUFhLENBQUMsSUFBWTtRQUNoQyxPQUFPLElBQUksQ0FBQyxLQUFLLENBQUMsUUFBUSxDQUFDLGFBQWEsQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLENBQUM7SUFDdkQsQ0FBQztJQUdTLGlCQUFpQjtRQUN2QixNQUFNLFNBQVMsR0FBRyxJQUFJLENBQUMsYUFBYSxDQUFDLFdBQVcsQ0FBQyxJQUFJLElBQUksQ0FBQyxRQUFRLENBQUMsV0FBVyxDQUFDLENBQUM7UUFDaEYsSUFBSSxTQUFTLEVBQUUsQ0FBQztZQUNaLElBQUksQ0FBQyxNQUFNLENBQUMsYUFBYSxDQUFDLFNBQVMsQ0FBQyxDQUFDO1lBQ3JDLGlEQUFpRDtZQUNqRCx1R0FBdUc7WUFDdkcsa0tBQWtLO1lBQ2xLLE9BQU87UUFDWCxDQUFDO1FBRUQsSUFBSSxDQUFDLE1BQU0sQ0FBQyxRQUFRLENBQUMsQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLEdBQUcsQ0FBQyxTQUFTLENBQUMsQ0FBQyxFQUFFLElBQUksQ0FBQyxNQUFNLENBQUMsR0FBRyxDQUFDLFdBQVcsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztJQUMzRixDQUFDO0lBR0QsTUFBTTtRQUNGLElBQUksQ0FBQyxpQkFBaUIsRUFBRSxDQUFDO0lBQzdCLENBQUM7SUFFRCxZQUFZLENBQUMsSUFBaUIsRUFBRSxRQUFnQixFQUFFLElBQW9CO1FBQ2xFLFVBQVUsQ0FBQyxRQUFRLENBQUMsSUFBSSxFQUFFLFFBQVEsQ0FBQyxDQUFDO0lBQ3hDLENBQUM7SUFDRCxLQUFLLENBQUMsRUFBa0IsRUFBRSxTQUFxQjtRQUMzQyxNQUFNLEtBQUssR0FBRyxJQUFJLENBQUMsR0FBRyxDQUFDLEtBQUssQ0FBQyxHQUFHLENBQUMsQ0FBQztRQUNsQyxJQUFJLEtBQUssQ0FBQyxNQUFNLEdBQUcsQ0FBQyxFQUFFLENBQUM7WUFDbkIsT0FBTztRQUNYLENBQUM7UUFDRCxNQUFNLFFBQVEsR0FBRyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUM7UUFDMUIsa0NBQWtDO1FBRWxDLElBQUksVUFBa0IsQ0FBQztRQUV2QixRQUFRLFNBQVMsRUFBRSxDQUFDO1lBQ2hCLEtBQUssU0FBUyxDQUFDLEdBQUc7Z0JBQ2QsVUFBVSxHQUFHLGdCQUFnQixDQUFDO2dCQUM5QixNQUFNO1lBRVY7Z0JBQ0ksVUFBVSxHQUFHLFlBQVksQ0FBQTtnQkFDekIsTUFBTTtRQUNkLENBQUM7UUFDRCxJQUFJLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxlQUFlLFVBQVUsRUFBRSxFQUFFLEVBQUUsUUFBUSxFQUFFLEVBQUUsRUFBRSxDQUFDLENBQUMsU0FBUyxDQUFDLEdBQUcsQ0FBQyxFQUFFO1lBQy9FLElBQUksR0FBRyxFQUFFLENBQUM7Z0JBQ04sTUFBTSxDQUFDLElBQUksQ0FBQyxHQUFHLEVBQUUsUUFBUSxDQUFDLENBQUM7WUFDL0IsQ0FBQztRQUNMLENBQUMsQ0FBQyxDQUFDO0lBQ1AsQ0FBQzs4R0E3RVEsYUFBYTtrR0FBYixhQUFhOzsyRkFBYixhQUFhO2tCQUR6QixTQUFTOzhCQVFGLFFBQVE7c0JBRFgsS0FBSztnQkFlRyxLQUFLO3NCQUFiLEtBQUs7Z0JBQ0ksV0FBVztzQkFBcEIsTUFBTSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IElucHV0LCBEaXJlY3RpdmUsIGluamVjdCwgRXZlbnRFbWl0dGVyLCBPdXRwdXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgQWN0aXZhdGVkUm91dGUsIFJvdXRlciB9IGZyb20gJ0Bhbmd1bGFyL3JvdXRlcic7XHJcblxyXG5pbXBvcnQgeyBQcmludFR5cGUgfSBmcm9tICcuLi9tb2RlbHMvcHJpbnQubW9kZWwnO1xyXG5pbXBvcnQgeyBXZWJBcGlDbGllbnQgfSBmcm9tICcuLi9zZXJ2aWNlcyc7XHJcbmltcG9ydCB7IENvcmVDb21wb25lbnQgfSBmcm9tICcuL2NvcmUuY29tcG9uZW50JztcclxuaW1wb3J0IHsgQm9vbGVhbklucHV0IH0gZnJvbSAnLi90eXBlcyc7XHJcbmltcG9ydCB7IENvbnZlcnQsIEZpbGVIZWxwZXIsIFVybEhlbHBlciB9IGZyb20gJy4uL3V0aWxzJztcclxuXHJcbkBEaXJlY3RpdmUoKVxyXG5leHBvcnQgY2xhc3MgQmFzZUNvbXBvbmVudDxUTW9kZWwgPSBhbnk+IGV4dGVuZHMgQ29yZUNvbXBvbmVudCB7XHJcbiAgICBwcml2YXRlIHJlYWRvbmx5IF9hcGkgPSBpbmplY3QoV2ViQXBpQ2xpZW50KTtcclxuICAgIHByb3RlY3RlZCByZWFkb25seSByb3V0ZSA9IGluamVjdChBY3RpdmF0ZWRSb3V0ZSk7XHJcbiAgICBwcm90ZWN0ZWQgcmVhZG9ubHkgcm91dGVyID0gaW5qZWN0KFJvdXRlcik7XHJcblxyXG4gICAgcHJpdmF0ZSBfcmVhZE9ubHkgPSBmYWxzZTtcclxuICAgIEBJbnB1dCgpXHJcbiAgICBnZXQgcmVhZE9ubHkoKTogYm9vbGVhbiB7XHJcbiAgICAgICAgcmV0dXJuIHRoaXMuX3JlYWRPbmx5O1xyXG4gICAgfVxyXG4gICAgc2V0IHJlYWRPbmx5KHY6IEJvb2xlYW5JbnB1dCkge1xyXG4gICAgICAgIHRoaXMuX3JlYWRPbmx5ID0gQ29udmVydC50b0Jvb2xlYW5Qcm9wZXJ0eSh2KTtcclxuICAgIH1cclxuXHJcbiAgICBwcml2YXRlIF91cmw6IHN0cmluZyB8IG51bGwgPSBudWxsO1xyXG4gICAgcHJvdGVjdGVkIGdldCB1cmwoKTogc3RyaW5nIHtcclxuICAgICAgICBpZiAoIXRoaXMuX3VybClcclxuICAgICAgICAgICAgdGhpcy5fdXJsID0gVXJsSGVscGVyLmdldE5vUGFyYW0odGhpcy5yb3V0ZXIudXJsKTtcclxuICAgICAgICByZXR1cm4gdGhpcy5fdXJsO1xyXG4gICAgfVxyXG5cclxuICAgIEBJbnB1dCgpIG1vZGVsPzogVE1vZGVsIHwgbnVsbDtcclxuICAgIEBPdXRwdXQoKSBtb2RlbENoYW5nZSA9IG5ldyBFdmVudEVtaXR0ZXI8VE1vZGVsIHwgbnVsbCB8IHVuZGVmaW5lZD4oKTtcclxuXHJcbiAgICBwcm90ZWN0ZWQgZ2V0UGFyYW0obmFtZTogc3RyaW5nKSB7XHJcbiAgICAgICAgcmV0dXJuIHRoaXMucm91dGUuc25hcHNob3QucGFyYW1NYXAuZ2V0KG5hbWUpO1xyXG4gICAgfVxyXG4gICAgcHJvdGVjdGVkIGdldFF1ZXJ5UGFyYW0obmFtZTogc3RyaW5nKSB7XHJcbiAgICAgICAgcmV0dXJuIHRoaXMucm91dGUuc25hcHNob3QucXVlcnlQYXJhbU1hcC5nZXQobmFtZSk7XHJcbiAgICB9XHJcblxyXG5cclxuICAgIHByb3RlY3RlZCBuYXZpZ2F0ZVJldHVyblVybCgpIHtcclxuICAgICAgICBjb25zdCByZXR1cm5VcmwgPSB0aGlzLmdldFF1ZXJ5UGFyYW0oJ3JldHVyblVybCcpIHx8IHRoaXMuZ2V0UGFyYW0oJ3JldHVyblVybCcpO1xyXG4gICAgICAgIGlmIChyZXR1cm5VcmwpIHtcclxuICAgICAgICAgICAgdGhpcy5yb3V0ZXIubmF2aWdhdGVCeVVybChyZXR1cm5VcmwpO1xyXG4gICAgICAgICAgICAvLyBsZXQgdXJsVHJlZSA9IHRoaXMucm91dGVyLnBhcnNlVXJsKHJldHVyblVybCk7XHJcbiAgICAgICAgICAgIC8vIGNvbnN0IHVybFdpdGhvdXRQYXJhbXMgPSB1cmxUcmVlLnJvb3QuY2hpbGRyZW5bUFJJTUFSWV9PVVRMRVRdLnNlZ21lbnRzLm1hcChpdCA9PiBpdC5wYXRoKS5qb2luKCcvJylcclxuICAgICAgICAgICAgLy8gdGhpcy5yb3V0ZXIubmF2aWdhdGUoW3VybFdpdGhvdXRQYXJhbXMsIHVybFRyZWUucm9vdC5jaGlsZHJlbltQUklNQVJZX09VVExFVF0uc2VnbWVudHNbdXJsVHJlZS5yb290LmNoaWxkcmVuW1BSSU1BUllfT1VUTEVUXS5zZWdtZW50cy5sZW5ndGggLSAxXS5wYXJhbWV0ZXJzXSk7XHJcbiAgICAgICAgICAgIHJldHVybjtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIHRoaXMucm91dGVyLm5hdmlnYXRlKFt0aGlzLnJvdXRlci51cmwuc3Vic3RyaW5nKDAsIHRoaXMucm91dGVyLnVybC5sYXN0SW5kZXhPZignLycpKV0pO1xyXG4gICAgfVxyXG5cclxuXHJcbiAgICBjYW5jZWwoKSB7XHJcbiAgICAgICAgdGhpcy5uYXZpZ2F0ZVJldHVyblVybCgpO1xyXG4gICAgfVxyXG5cclxuICAgIGRvd25sb2FkRmlsZShibG9iOiBCbG9iIHwgbnVsbCwgZmlsZU5hbWU6IHN0cmluZywgdHlwZT86IHN0cmluZyB8IG51bGwpIHtcclxuICAgICAgICBGaWxlSGVscGVyLmRvd25sb2FkKGJsb2IsIGZpbGVOYW1lKTtcclxuICAgIH1cclxuICAgIHByaW50KGlkPzogbnVtYmVyIHwgbnVsbCwgcHJpbnRUeXBlPzogUHJpbnRUeXBlKSB7XHJcbiAgICAgICAgY29uc3Qgc3BsaXQgPSB0aGlzLnVybC5zcGxpdCgnLycpO1xyXG4gICAgICAgIGlmIChzcGxpdC5sZW5ndGggPCAyKSB7XHJcbiAgICAgICAgICAgIHJldHVybjtcclxuICAgICAgICB9XHJcbiAgICAgICAgY29uc3QgdGVtcGxhdGUgPSBzcGxpdFsxXTtcclxuICAgICAgICAvLyBsZXQgYXBpID0gaW5qZWN0KFdlYkFwaUNsaWVudCk7XHJcblxyXG4gICAgICAgIGxldCBhY3Rpb25OYW1lOiBzdHJpbmc7XHJcblxyXG4gICAgICAgIHN3aXRjaCAocHJpbnRUeXBlKSB7XHJcbiAgICAgICAgICAgIGNhc2UgUHJpbnRUeXBlLlBkZjpcclxuICAgICAgICAgICAgICAgIGFjdGlvbk5hbWUgPSAnUHJpbnRQZGZJZExpbmsnO1xyXG4gICAgICAgICAgICAgICAgYnJlYWs7XHJcblxyXG4gICAgICAgICAgICBkZWZhdWx0OlxyXG4gICAgICAgICAgICAgICAgYWN0aW9uTmFtZSA9ICdTaG93SWRMaW5rJ1xyXG4gICAgICAgICAgICAgICAgYnJlYWs7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIHRoaXMuX2FwaS5nZXRTdHJpbmcoYGFwaS9SZXBvcnRzLyR7YWN0aW9uTmFtZX1gLCB7IHRlbXBsYXRlLCBpZCB9KS5zdWJzY3JpYmUodXJsID0+IHtcclxuICAgICAgICAgICAgaWYgKHVybCkge1xyXG4gICAgICAgICAgICAgICAgd2luZG93Lm9wZW4odXJsLCAnX2JsYW5rJyk7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9KTtcclxuICAgIH1cclxufVxyXG4iXX0=
94
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYmFzZS5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy96ZWsvc3JjL2xpYi9jb21wb25lbnRzL2Jhc2UuY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxLQUFLLEVBQUUsU0FBUyxFQUFFLE1BQU0sRUFBRSxZQUFZLEVBQUUsTUFBTSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQy9FLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFFekQsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLHVCQUF1QixDQUFDO0FBQ2xELE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxhQUFhLENBQUM7QUFDM0MsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLGtCQUFrQixDQUFDO0FBRWpELE9BQU8sRUFBRSxPQUFPLEVBQUUsVUFBVSxFQUFFLFNBQVMsRUFBRSxNQUFNLFVBQVUsQ0FBQzs7QUFHMUQsTUFBTSxPQUFPLGFBQTRCLFNBQVEsYUFBYTtJQUQ5RDs7UUFFcUIsU0FBSSxHQUFHLE1BQU0sQ0FBQyxZQUFZLENBQUMsQ0FBQztRQUMxQixVQUFLLEdBQUcsTUFBTSxDQUFDLGNBQWMsQ0FBQyxDQUFDO1FBQy9CLFdBQU0sR0FBRyxNQUFNLENBQUMsTUFBTSxDQUFDLENBQUM7UUFFbkMsY0FBUyxHQUFHLEtBQUssQ0FBQztRQVNsQixTQUFJLEdBQWtCLElBQUksQ0FBQztRQVF6QixnQkFBVyxHQUFHLElBQUksWUFBWSxFQUE2QixDQUFDO0tBZ0V6RTtJQWhGRyxJQUNJLFFBQVE7UUFDUixPQUFPLElBQUksQ0FBQyxTQUFTLENBQUM7SUFDMUIsQ0FBQztJQUNELElBQUksUUFBUSxDQUFDLENBQWU7UUFDeEIsSUFBSSxDQUFDLFNBQVMsR0FBRyxPQUFPLENBQUMsaUJBQWlCLENBQUMsQ0FBQyxDQUFDLENBQUM7SUFDbEQsQ0FBQztJQUdE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QVEsQ0FBQyxDQUFDO1lBQy9CLENBQUM7UUFDTCxDQUFDLENBQUMsQ0FBQztJQUNQLENBQUM7OEdBckZRLGFBQWE7a0dBQWIsYUFBYTs7MkZBQWIsYUFBYTtrQkFEekIsU0FBUzs4QkFRRixRQUFRO3NCQURYLEtBQUs7Z0JBZUcsS0FBSztzQkFBYixLQUFLO2dCQUNJLFdBQVc7c0JBQXBCLE1BQU0iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbnB1dCwgRGlyZWN0aXZlLCBpbmplY3QsIEV2ZW50RW1pdHRlciwgT3V0cHV0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IEFjdGl2YXRlZFJvdXRlLCBSb3V0ZXIgfSBmcm9tICdAYW5ndWxhci9yb3V0ZXInO1xyXG5cclxuaW1wb3J0IHsgUHJpbnRUeXBlIH0gZnJvbSAnLi4vbW9kZWxzL3ByaW50Lm1vZGVsJztcclxuaW1wb3J0IHsgV2ViQXBpQ2xpZW50IH0gZnJvbSAnLi4vc2VydmljZXMnO1xyXG5pbXBvcnQgeyBDb3JlQ29tcG9uZW50IH0gZnJvbSAnLi9jb3JlLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IEJvb2xlYW5JbnB1dCB9IGZyb20gJy4vdHlwZXMnO1xyXG5pbXBvcnQgeyBDb252ZXJ0LCBGaWxlSGVscGVyLCBVcmxIZWxwZXIgfSBmcm9tICcuLi91dGlscyc7XHJcblxyXG5ARGlyZWN0aXZlKClcclxuZXhwb3J0IGNsYXNzIEJhc2VDb21wb25lbnQ8VE1vZGVsID0gYW55PiBleHRlbmRzIENvcmVDb21wb25lbnQge1xyXG4gICAgcHJpdmF0ZSByZWFkb25seSBfYXBpID0gaW5qZWN0KFdlYkFwaUNsaWVudCk7XHJcbiAgICBwcm90ZWN0ZWQgcmVhZG9ubHkgcm91dGUgPSBpbmplY3QoQWN0aXZhdGVkUm91dGUpO1xyXG4gICAgcHJvdGVjdGVkIHJlYWRvbmx5IHJvdXRlciA9IGluamVjdChSb3V0ZXIpO1xyXG5cclxuICAgIHByaXZhdGUgX3JlYWRPbmx5ID0gZmFsc2U7XHJcbiAgICBASW5wdXQoKVxyXG4gICAgZ2V0IHJlYWRPbmx5KCk6IGJvb2xlYW4ge1xyXG4gICAgICAgIHJldHVybiB0aGlzLl9yZWFkT25seTtcclxuICAgIH1cclxuICAgIHNldCByZWFkT25seSh2OiBCb29sZWFuSW5wdXQpIHtcclxuICAgICAgICB0aGlzLl9yZWFkT25seSA9IENvbnZlcnQudG9Cb29sZWFuUHJvcGVydHkodik7XHJcbiAgICB9XHJcblxyXG4gICAgcHJpdmF0ZSBfdXJsOiBzdHJpbmcgfCBudWxsID0gbnVsbDtcclxuICAgIHByb3RlY3RlZCBnZXQgdXJsKCk6IHN0cmluZyB7XHJcbiAgICAgICAgaWYgKCF0aGlzLl91cmwpXHJcbiAgICAgICAgICAgIHRoaXMuX3VybCA9IFVybEhlbHBlci5nZXROb1BhcmFtKHRoaXMucm91dGVyLnVybCk7XHJcbiAgICAgICAgcmV0dXJuIHRoaXMuX3VybDtcclxuICAgIH1cclxuXHJcbiAgICBASW5wdXQoKSBtb2RlbD86IFRNb2RlbCB8IG51bGw7XHJcbiAgICBAT3V0cHV0KCkgbW9kZWxDaGFuZ2UgPSBuZXcgRXZlbnRFbWl0dGVyPFRNb2RlbCB8IG51bGwgfCB1bmRlZmluZWQ+KCk7XHJcblxyXG4gICAgcHJvdGVjdGVkIGdldFBhcmFtKG5hbWU6IHN0cmluZykge1xyXG4gICAgICAgIHJldHVybiB0aGlzLnJvdXRlLnNuYXBzaG90LnBhcmFtTWFwLmdldChuYW1lKTtcclxuICAgIH1cclxuICAgIHByb3RlY3RlZCBnZXRRdWVyeVBhcmFtKG5hbWU6IHN0cmluZykge1xyXG4gICAgICAgIHJldHVybiB0aGlzLnJvdXRlLnNuYXBzaG90LnF1ZXJ5UGFyYW1NYXAuZ2V0KG5hbWUpO1xyXG4gICAgfVxyXG5cclxuICAgIHJlbG9hZCgpe1xyXG4gICAgICAgIHRoaXMuX3JlZGlyZWN0VG8odGhpcy5yb3V0ZXIudXJsKTtcclxuICAgIH1cclxuICAgIHByaXZhdGUgX3JlZGlyZWN0VG8odXJsOiBzdHJpbmcpIHtcclxuICAgICAgICB0aGlzLnJvdXRlci5uYXZpZ2F0ZUJ5VXJsKCcvJywgeyBza2lwTG9jYXRpb25DaGFuZ2U6IHRydWUgfSkudGhlbigoKSA9PiB7XHJcbiAgICAgICAgICAgIHRoaXMucm91dGVyLm5hdmlnYXRlQnlVcmwodXJsKTtcclxuICAgICAgICB9KTtcclxuICAgIH1cclxuXHJcbiAgICBwcm90ZWN0ZWQgbmF2aWdhdGVSZXR1cm5VcmwoKSB7XHJcbiAgICAgICAgY29uc3QgcmV0dXJuVXJsID0gdGhpcy5nZXRRdWVyeVBhcmFtKCdyZXR1cm5VcmwnKSB8fCB0aGlzLmdldFBhcmFtKCdyZXR1cm5VcmwnKTtcclxuICAgICAgICBpZiAocmV0dXJuVXJsKSB7XHJcbiAgICAgICAgICAgIHRoaXMucm91dGVyLm5hdmlnYXRlQnlVcmwocmV0dXJuVXJsKTtcclxuICAgICAgICAgICAgLy8gbGV0IHVybFRyZWUgPSB0aGlzLnJvdXRlci5wYXJzZVVybChyZXR1cm5VcmwpO1xyXG4gICAgICAgICAgICAvLyBjb25zdCB1cmxXaXRob3V0UGFyYW1zID0gdXJsVHJlZS5yb290LmNoaWxkcmVuW1BSSU1BUllfT1VUTEVUXS5zZWdtZW50cy5tYXAoaXQgPT4gaXQucGF0aCkuam9pbignLycpXHJcbiAgICAgICAgICAgIC8vIHRoaXMucm91dGVyLm5hdmlnYXRlKFt1cmxXaXRob3V0UGFyYW1zLCB1cmxUcmVlLnJvb3QuY2hpbGRyZW5bUFJJTUFSWV9PVVRMRVRdLnNlZ21lbnRzW3VybFRyZWUucm9vdC5jaGlsZHJlbltQUklNQVJZX09VVExFVF0uc2VnbWVudHMubGVuZ3RoIC0gMV0ucGFyYW1ldGVyc10pO1xyXG4gICAgICAgICAgICByZXR1cm47XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICB0aGlzLnJvdXRlci5uYXZpZ2F0ZShbdGhpcy5yb3V0ZXIudXJsLnN1YnN0cmluZygwLCB0aGlzLnJvdXRlci51cmwubGFzdEluZGV4T2YoJy8nKSldKTtcclxuICAgIH1cclxuXHJcblxyXG4gICAgY2FuY2VsKCkge1xyXG4gICAgICAgIHRoaXMubmF2aWdhdGVSZXR1cm5VcmwoKTtcclxuICAgIH1cclxuXHJcbiAgICBkb3dubG9hZEZpbGUoYmxvYjogQmxvYiB8IG51bGwsIGZpbGVOYW1lOiBzdHJpbmcsIHR5cGU/OiBzdHJpbmcgfCBudWxsKSB7XHJcbiAgICAgICAgRmlsZUhlbHBlci5kb3dubG9hZChibG9iLCBmaWxlTmFtZSk7XHJcbiAgICB9XHJcbiAgICBwcmludChpZD86IG51bWJlciB8IG51bGwsIHByaW50VHlwZT86IFByaW50VHlwZSkge1xyXG4gICAgICAgIGNvbnN0IHNwbGl0ID0gdGhpcy51cmwuc3BsaXQoJy8nKTtcclxuICAgICAgICBpZiAoc3BsaXQubGVuZ3RoIDwgMikge1xyXG4gICAgICAgICAgICByZXR1cm47XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGNvbnN0IHRlbXBsYXRlID0gc3BsaXRbMV07XHJcbiAgICAgICAgLy8gbGV0IGFwaSA9IGluamVjdChXZWJBcGlDbGllbnQpO1xyXG5cclxuICAgICAgICBsZXQgYWN0aW9uTmFtZTogc3RyaW5nO1xyXG5cclxuICAgICAgICBzd2l0Y2ggKHByaW50VHlwZSkge1xyXG4gICAgICAgICAgICBjYXNlIFByaW50VHlwZS5QZGY6XHJcbiAgICAgICAgICAgICAgICBhY3Rpb25OYW1lID0gJ1ByaW50UGRmSWRMaW5rJztcclxuICAgICAgICAgICAgICAgIGJyZWFrO1xyXG5cclxuICAgICAgICAgICAgZGVmYXVsdDpcclxuICAgICAgICAgICAgICAgIGFjdGlvbk5hbWUgPSAnU2hvd0lkTGluaydcclxuICAgICAgICAgICAgICAgIGJyZWFrO1xyXG4gICAgICAgIH1cclxuICAgICAgICB0aGlzLl9hcGkuZ2V0U3RyaW5nKGBhcGkvUmVwb3J0cy8ke2FjdGlvbk5hbWV9YCwgeyB0ZW1wbGF0ZSwgaWQgfSkuc3Vic2NyaWJlKHVybCA9PiB7XHJcbiAgICAgICAgICAgIGlmICh1cmwpIHtcclxuICAgICAgICAgICAgICAgIHdpbmRvdy5vcGVuKHVybCwgJ19ibGFuaycpO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfSk7XHJcbiAgICB9XHJcbn1cclxuIl19
@@ -207,11 +207,11 @@ export class ZekModal extends CoreComponent {
207
207
  this.ok();
208
208
  }
209
209
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.4", ngImport: i0, type: ZekModal, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
210
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.4", type: ZekModal, selector: "zek-modal", inputs: { id: "id", model: "model", showOk: "showOk", disabledOk: "disabledOk", showCancel: "showCancel", autoHide: "autoHide", title: "title", text: "text", icon: "icon", okButtonText: "okButtonText", componentType: "componentType", size: "size", large: "large", xl: "xl", scrollable: "scrollable", fullscreen: "fullscreen", showHeader: "showHeader", showFooter: "showFooter" }, outputs: { onShown: "onShown", onHidden: "onHidden", onOk: "onOk", onCancel: "onCancel", onValidating: "onValidating" }, usesInheritance: true, ngImport: i0, template: "<div (keydown.enter)=\"keyDown($event)\" class=\"modal fade\" data-bs-backdrop=\"static\" id=\"{{modalId}}\" tabindex=\"-1\" attr.aria-labelledby=\"{{lableId}}\" aria-hidden=\"true\">\r\n <div class=\"modal-dialog\" [ngClass]=\"{\r\n 'modal-sm': size === 'sm',\r\n 'modal-lg': size === 'lg', \r\n 'modal-xl': size === 'xl'\r\n }\" [class.modal-dialog-scrollable]=\"scrollable\" [class.modal-fullscreen]=\"fullscreen\">\r\n <div class=\"modal-content\">\r\n <div class=\"modal-header\" *ngIf=\"showHeader\">\r\n <ng-content select=\"header\"></ng-content>\r\n <h5 class=\"modal-title\" id=\"{{lableId}}\">{{title}}</h5>\r\n <button type=\"button\" class=\"btn-close\" data-bs-dismiss=\"modal\" aria-label=\"Close\"></button>\r\n </div>\r\n <div class=\"modal-body\">\r\n {{text}}\r\n <ng-content></ng-content>\r\n </div>\r\n <div class=\"modal-footer\" *ngIf=\"showFooter\">\r\n <ng-content select=\"footer\"></ng-content>\r\n <button [class.visually-hidden]=\"!showOk\" [disabled]=\"disabledOk\" type=\"button\" class=\"btn {{cssButton()}}\" id=\"{{okButtonId}}\"\r\n (click)=\"ok()\">\r\n <i *ngIf=\"icon\" class=\"{{ icon }}\"></i> {{ okButtonText }}\r\n </button>\r\n <button [class.visually-hidden]=\"!showCancel\" type=\"button\" class=\"btn btn-secondary\"\r\n (click)=\"cancel()\">\r\n <i class=\"fa-solid fa-ban\"></i> {{ 'Action.Cancel' | translate }}\r\n </button>\r\n <button type=\"button\" class=\"d-none\" id=\"{{cancelButtonId}}\" data-bs-dismiss=\"modal\"></button>\r\n </div>\r\n </div>\r\n </div>\r\n</div>", dependencies: [{ kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "pipe", type: i2.TranslatePipe, name: "translate" }] }); }
210
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.4", type: ZekModal, selector: "zek-modal", inputs: { id: "id", model: "model", showOk: "showOk", disabledOk: "disabledOk", showCancel: "showCancel", autoHide: "autoHide", title: "title", text: "text", icon: "icon", okButtonText: "okButtonText", componentType: "componentType", size: "size", large: "large", xl: "xl", scrollable: "scrollable", fullscreen: "fullscreen", showHeader: "showHeader", showFooter: "showFooter" }, outputs: { onShown: "onShown", onHidden: "onHidden", onOk: "onOk", onCancel: "onCancel", onValidating: "onValidating" }, usesInheritance: true, ngImport: i0, template: "<div (keydown.enter)=\"keyDown($event)\" class=\"modal fade\" data-bs-backdrop=\"static\" id=\"{{modalId}}\" tabindex=\"-1\" attr.aria-labelledby=\"{{lableId}}\" aria-hidden=\"true\">\r\n <div class=\"modal-dialog\" [ngClass]=\"{\r\n 'modal-sm': size === 'sm',\r\n 'modal-lg': size === 'lg', \r\n 'modal-xl': size === 'xl'\r\n }\" [class.modal-dialog-scrollable]=\"scrollable\" [class.modal-fullscreen]=\"fullscreen\">\r\n <div class=\"modal-content\">\r\n <div class=\"modal-header\" *ngIf=\"showHeader\">\r\n <ng-content select=\"header\"></ng-content>\r\n <h5 class=\"modal-title\" id=\"{{lableId}}\">{{title}}</h5>\r\n <button type=\"button\" class=\"btn-close\" (click)=\"cancel()\" aria-label=\"Close\"></button>\r\n </div>\r\n <div class=\"modal-body\">\r\n {{text}}\r\n <ng-content></ng-content>\r\n </div>\r\n <div class=\"modal-footer\" *ngIf=\"showFooter\">\r\n <ng-content select=\"footer\"></ng-content>\r\n <button [class.visually-hidden]=\"!showOk\" [disabled]=\"disabledOk\" type=\"button\" class=\"btn {{cssButton()}}\" id=\"{{okButtonId}}\"\r\n (click)=\"ok()\">\r\n <i *ngIf=\"icon\" class=\"{{ icon }}\"></i> {{ okButtonText }}\r\n </button>\r\n <button [class.visually-hidden]=\"!showCancel\" type=\"button\" class=\"btn btn-secondary\"\r\n (click)=\"cancel()\">\r\n <i class=\"fa-solid fa-ban\"></i> {{ 'Action.Cancel' | translate }}\r\n </button>\r\n <button type=\"button\" class=\"d-none\" id=\"{{cancelButtonId}}\" data-bs-dismiss=\"modal\"></button>\r\n </div>\r\n </div>\r\n </div>\r\n</div>", dependencies: [{ kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "pipe", type: i2.TranslatePipe, name: "translate" }] }); }
211
211
  }
212
212
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.4", ngImport: i0, type: ZekModal, decorators: [{
213
213
  type: Component,
214
- args: [{ selector: 'zek-modal', template: "<div (keydown.enter)=\"keyDown($event)\" class=\"modal fade\" data-bs-backdrop=\"static\" id=\"{{modalId}}\" tabindex=\"-1\" attr.aria-labelledby=\"{{lableId}}\" aria-hidden=\"true\">\r\n <div class=\"modal-dialog\" [ngClass]=\"{\r\n 'modal-sm': size === 'sm',\r\n 'modal-lg': size === 'lg', \r\n 'modal-xl': size === 'xl'\r\n }\" [class.modal-dialog-scrollable]=\"scrollable\" [class.modal-fullscreen]=\"fullscreen\">\r\n <div class=\"modal-content\">\r\n <div class=\"modal-header\" *ngIf=\"showHeader\">\r\n <ng-content select=\"header\"></ng-content>\r\n <h5 class=\"modal-title\" id=\"{{lableId}}\">{{title}}</h5>\r\n <button type=\"button\" class=\"btn-close\" data-bs-dismiss=\"modal\" aria-label=\"Close\"></button>\r\n </div>\r\n <div class=\"modal-body\">\r\n {{text}}\r\n <ng-content></ng-content>\r\n </div>\r\n <div class=\"modal-footer\" *ngIf=\"showFooter\">\r\n <ng-content select=\"footer\"></ng-content>\r\n <button [class.visually-hidden]=\"!showOk\" [disabled]=\"disabledOk\" type=\"button\" class=\"btn {{cssButton()}}\" id=\"{{okButtonId}}\"\r\n (click)=\"ok()\">\r\n <i *ngIf=\"icon\" class=\"{{ icon }}\"></i> {{ okButtonText }}\r\n </button>\r\n <button [class.visually-hidden]=\"!showCancel\" type=\"button\" class=\"btn btn-secondary\"\r\n (click)=\"cancel()\">\r\n <i class=\"fa-solid fa-ban\"></i> {{ 'Action.Cancel' | translate }}\r\n </button>\r\n <button type=\"button\" class=\"d-none\" id=\"{{cancelButtonId}}\" data-bs-dismiss=\"modal\"></button>\r\n </div>\r\n </div>\r\n </div>\r\n</div>" }]
214
+ args: [{ selector: 'zek-modal', template: "<div (keydown.enter)=\"keyDown($event)\" class=\"modal fade\" data-bs-backdrop=\"static\" id=\"{{modalId}}\" tabindex=\"-1\" attr.aria-labelledby=\"{{lableId}}\" aria-hidden=\"true\">\r\n <div class=\"modal-dialog\" [ngClass]=\"{\r\n 'modal-sm': size === 'sm',\r\n 'modal-lg': size === 'lg', \r\n 'modal-xl': size === 'xl'\r\n }\" [class.modal-dialog-scrollable]=\"scrollable\" [class.modal-fullscreen]=\"fullscreen\">\r\n <div class=\"modal-content\">\r\n <div class=\"modal-header\" *ngIf=\"showHeader\">\r\n <ng-content select=\"header\"></ng-content>\r\n <h5 class=\"modal-title\" id=\"{{lableId}}\">{{title}}</h5>\r\n <button type=\"button\" class=\"btn-close\" (click)=\"cancel()\" aria-label=\"Close\"></button>\r\n </div>\r\n <div class=\"modal-body\">\r\n {{text}}\r\n <ng-content></ng-content>\r\n </div>\r\n <div class=\"modal-footer\" *ngIf=\"showFooter\">\r\n <ng-content select=\"footer\"></ng-content>\r\n <button [class.visually-hidden]=\"!showOk\" [disabled]=\"disabledOk\" type=\"button\" class=\"btn {{cssButton()}}\" id=\"{{okButtonId}}\"\r\n (click)=\"ok()\">\r\n <i *ngIf=\"icon\" class=\"{{ icon }}\"></i> {{ okButtonText }}\r\n </button>\r\n <button [class.visually-hidden]=\"!showCancel\" type=\"button\" class=\"btn btn-secondary\"\r\n (click)=\"cancel()\">\r\n <i class=\"fa-solid fa-ban\"></i> {{ 'Action.Cancel' | translate }}\r\n </button>\r\n <button type=\"button\" class=\"d-none\" id=\"{{cancelButtonId}}\" data-bs-dismiss=\"modal\"></button>\r\n </div>\r\n </div>\r\n </div>\r\n</div>" }]
215
215
  }], propDecorators: { id: [{
216
216
  type: Input
217
217
  }], model: [{
@@ -271,11 +271,11 @@ export class ZekDeleteModal extends ZekModal {
271
271
  this.componentType = ComponentType.Delete;
272
272
  }
273
273
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.4", ngImport: i0, type: ZekDeleteModal, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
274
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.4", type: ZekDeleteModal, selector: "zek-delete-modal", usesInheritance: true, ngImport: i0, template: "<div (keydown.enter)=\"keyDown($event)\" class=\"modal fade\" data-bs-backdrop=\"static\" id=\"{{modalId}}\" tabindex=\"-1\" attr.aria-labelledby=\"{{lableId}}\" aria-hidden=\"true\">\r\n <div class=\"modal-dialog\" [ngClass]=\"{\r\n 'modal-sm': size === 'sm',\r\n 'modal-lg': size === 'lg', \r\n 'modal-xl': size === 'xl'\r\n }\" [class.modal-dialog-scrollable]=\"scrollable\" [class.modal-fullscreen]=\"fullscreen\">\r\n <div class=\"modal-content\">\r\n <div class=\"modal-header\" *ngIf=\"showHeader\">\r\n <ng-content select=\"header\"></ng-content>\r\n <h5 class=\"modal-title\" id=\"{{lableId}}\">{{title}}</h5>\r\n <button type=\"button\" class=\"btn-close\" data-bs-dismiss=\"modal\" aria-label=\"Close\"></button>\r\n </div>\r\n <div class=\"modal-body\">\r\n {{text}}\r\n <ng-content></ng-content>\r\n </div>\r\n <div class=\"modal-footer\" *ngIf=\"showFooter\">\r\n <ng-content select=\"footer\"></ng-content>\r\n <button [class.visually-hidden]=\"!showOk\" [disabled]=\"disabledOk\" type=\"button\" class=\"btn {{cssButton()}}\" id=\"{{okButtonId}}\"\r\n (click)=\"ok()\">\r\n <i *ngIf=\"icon\" class=\"{{ icon }}\"></i> {{ okButtonText }}\r\n </button>\r\n <button [class.visually-hidden]=\"!showCancel\" type=\"button\" class=\"btn btn-secondary\"\r\n (click)=\"cancel()\">\r\n <i class=\"fa-solid fa-ban\"></i> {{ 'Action.Cancel' | translate }}\r\n </button>\r\n <button type=\"button\" class=\"d-none\" id=\"{{cancelButtonId}}\" data-bs-dismiss=\"modal\"></button>\r\n </div>\r\n </div>\r\n </div>\r\n</div>", dependencies: [{ kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "pipe", type: i2.TranslatePipe, name: "translate" }] }); }
274
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.4", type: ZekDeleteModal, selector: "zek-delete-modal", usesInheritance: true, ngImport: i0, template: "<div (keydown.enter)=\"keyDown($event)\" class=\"modal fade\" data-bs-backdrop=\"static\" id=\"{{modalId}}\" tabindex=\"-1\" attr.aria-labelledby=\"{{lableId}}\" aria-hidden=\"true\">\r\n <div class=\"modal-dialog\" [ngClass]=\"{\r\n 'modal-sm': size === 'sm',\r\n 'modal-lg': size === 'lg', \r\n 'modal-xl': size === 'xl'\r\n }\" [class.modal-dialog-scrollable]=\"scrollable\" [class.modal-fullscreen]=\"fullscreen\">\r\n <div class=\"modal-content\">\r\n <div class=\"modal-header\" *ngIf=\"showHeader\">\r\n <ng-content select=\"header\"></ng-content>\r\n <h5 class=\"modal-title\" id=\"{{lableId}}\">{{title}}</h5>\r\n <button type=\"button\" class=\"btn-close\" (click)=\"cancel()\" aria-label=\"Close\"></button>\r\n </div>\r\n <div class=\"modal-body\">\r\n {{text}}\r\n <ng-content></ng-content>\r\n </div>\r\n <div class=\"modal-footer\" *ngIf=\"showFooter\">\r\n <ng-content select=\"footer\"></ng-content>\r\n <button [class.visually-hidden]=\"!showOk\" [disabled]=\"disabledOk\" type=\"button\" class=\"btn {{cssButton()}}\" id=\"{{okButtonId}}\"\r\n (click)=\"ok()\">\r\n <i *ngIf=\"icon\" class=\"{{ icon }}\"></i> {{ okButtonText }}\r\n </button>\r\n <button [class.visually-hidden]=\"!showCancel\" type=\"button\" class=\"btn btn-secondary\"\r\n (click)=\"cancel()\">\r\n <i class=\"fa-solid fa-ban\"></i> {{ 'Action.Cancel' | translate }}\r\n </button>\r\n <button type=\"button\" class=\"d-none\" id=\"{{cancelButtonId}}\" data-bs-dismiss=\"modal\"></button>\r\n </div>\r\n </div>\r\n </div>\r\n</div>", dependencies: [{ kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "pipe", type: i2.TranslatePipe, name: "translate" }] }); }
275
275
  }
276
276
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.4", ngImport: i0, type: ZekDeleteModal, decorators: [{
277
277
  type: Component,
278
- args: [{ selector: 'zek-delete-modal', template: "<div (keydown.enter)=\"keyDown($event)\" class=\"modal fade\" data-bs-backdrop=\"static\" id=\"{{modalId}}\" tabindex=\"-1\" attr.aria-labelledby=\"{{lableId}}\" aria-hidden=\"true\">\r\n <div class=\"modal-dialog\" [ngClass]=\"{\r\n 'modal-sm': size === 'sm',\r\n 'modal-lg': size === 'lg', \r\n 'modal-xl': size === 'xl'\r\n }\" [class.modal-dialog-scrollable]=\"scrollable\" [class.modal-fullscreen]=\"fullscreen\">\r\n <div class=\"modal-content\">\r\n <div class=\"modal-header\" *ngIf=\"showHeader\">\r\n <ng-content select=\"header\"></ng-content>\r\n <h5 class=\"modal-title\" id=\"{{lableId}}\">{{title}}</h5>\r\n <button type=\"button\" class=\"btn-close\" data-bs-dismiss=\"modal\" aria-label=\"Close\"></button>\r\n </div>\r\n <div class=\"modal-body\">\r\n {{text}}\r\n <ng-content></ng-content>\r\n </div>\r\n <div class=\"modal-footer\" *ngIf=\"showFooter\">\r\n <ng-content select=\"footer\"></ng-content>\r\n <button [class.visually-hidden]=\"!showOk\" [disabled]=\"disabledOk\" type=\"button\" class=\"btn {{cssButton()}}\" id=\"{{okButtonId}}\"\r\n (click)=\"ok()\">\r\n <i *ngIf=\"icon\" class=\"{{ icon }}\"></i> {{ okButtonText }}\r\n </button>\r\n <button [class.visually-hidden]=\"!showCancel\" type=\"button\" class=\"btn btn-secondary\"\r\n (click)=\"cancel()\">\r\n <i class=\"fa-solid fa-ban\"></i> {{ 'Action.Cancel' | translate }}\r\n </button>\r\n <button type=\"button\" class=\"d-none\" id=\"{{cancelButtonId}}\" data-bs-dismiss=\"modal\"></button>\r\n </div>\r\n </div>\r\n </div>\r\n</div>" }]
278
+ args: [{ selector: 'zek-delete-modal', template: "<div (keydown.enter)=\"keyDown($event)\" class=\"modal fade\" data-bs-backdrop=\"static\" id=\"{{modalId}}\" tabindex=\"-1\" attr.aria-labelledby=\"{{lableId}}\" aria-hidden=\"true\">\r\n <div class=\"modal-dialog\" [ngClass]=\"{\r\n 'modal-sm': size === 'sm',\r\n 'modal-lg': size === 'lg', \r\n 'modal-xl': size === 'xl'\r\n }\" [class.modal-dialog-scrollable]=\"scrollable\" [class.modal-fullscreen]=\"fullscreen\">\r\n <div class=\"modal-content\">\r\n <div class=\"modal-header\" *ngIf=\"showHeader\">\r\n <ng-content select=\"header\"></ng-content>\r\n <h5 class=\"modal-title\" id=\"{{lableId}}\">{{title}}</h5>\r\n <button type=\"button\" class=\"btn-close\" (click)=\"cancel()\" aria-label=\"Close\"></button>\r\n </div>\r\n <div class=\"modal-body\">\r\n {{text}}\r\n <ng-content></ng-content>\r\n </div>\r\n <div class=\"modal-footer\" *ngIf=\"showFooter\">\r\n <ng-content select=\"footer\"></ng-content>\r\n <button [class.visually-hidden]=\"!showOk\" [disabled]=\"disabledOk\" type=\"button\" class=\"btn {{cssButton()}}\" id=\"{{okButtonId}}\"\r\n (click)=\"ok()\">\r\n <i *ngIf=\"icon\" class=\"{{ icon }}\"></i> {{ okButtonText }}\r\n </button>\r\n <button [class.visually-hidden]=\"!showCancel\" type=\"button\" class=\"btn btn-secondary\"\r\n (click)=\"cancel()\">\r\n <i class=\"fa-solid fa-ban\"></i> {{ 'Action.Cancel' | translate }}\r\n </button>\r\n <button type=\"button\" class=\"d-none\" id=\"{{cancelButtonId}}\" data-bs-dismiss=\"modal\"></button>\r\n </div>\r\n </div>\r\n </div>\r\n</div>" }]
279
279
  }], ctorParameters: () => [] });
280
280
  /**
281
281
  * @deprecated Please use ZekModal
@@ -289,11 +289,11 @@ export class ZekApproveModal extends ZekModal {
289
289
  this.componentType = ComponentType.Success;
290
290
  }
291
291
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.4", ngImport: i0, type: ZekApproveModal, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
292
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.4", type: ZekApproveModal, selector: "zek-approve-modal", usesInheritance: true, ngImport: i0, template: "<div (keydown.enter)=\"keyDown($event)\" class=\"modal fade\" data-bs-backdrop=\"static\" id=\"{{modalId}}\" tabindex=\"-1\" attr.aria-labelledby=\"{{lableId}}\" aria-hidden=\"true\">\r\n <div class=\"modal-dialog\" [ngClass]=\"{\r\n 'modal-sm': size === 'sm',\r\n 'modal-lg': size === 'lg', \r\n 'modal-xl': size === 'xl'\r\n }\" [class.modal-dialog-scrollable]=\"scrollable\" [class.modal-fullscreen]=\"fullscreen\">\r\n <div class=\"modal-content\">\r\n <div class=\"modal-header\" *ngIf=\"showHeader\">\r\n <ng-content select=\"header\"></ng-content>\r\n <h5 class=\"modal-title\" id=\"{{lableId}}\">{{title}}</h5>\r\n <button type=\"button\" class=\"btn-close\" data-bs-dismiss=\"modal\" aria-label=\"Close\"></button>\r\n </div>\r\n <div class=\"modal-body\">\r\n {{text}}\r\n <ng-content></ng-content>\r\n </div>\r\n <div class=\"modal-footer\" *ngIf=\"showFooter\">\r\n <ng-content select=\"footer\"></ng-content>\r\n <button [class.visually-hidden]=\"!showOk\" [disabled]=\"disabledOk\" type=\"button\" class=\"btn {{cssButton()}}\" id=\"{{okButtonId}}\"\r\n (click)=\"ok()\">\r\n <i *ngIf=\"icon\" class=\"{{ icon }}\"></i> {{ okButtonText }}\r\n </button>\r\n <button [class.visually-hidden]=\"!showCancel\" type=\"button\" class=\"btn btn-secondary\"\r\n (click)=\"cancel()\">\r\n <i class=\"fa-solid fa-ban\"></i> {{ 'Action.Cancel' | translate }}\r\n </button>\r\n <button type=\"button\" class=\"d-none\" id=\"{{cancelButtonId}}\" data-bs-dismiss=\"modal\"></button>\r\n </div>\r\n </div>\r\n </div>\r\n</div>", dependencies: [{ kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "pipe", type: i2.TranslatePipe, name: "translate" }] }); }
292
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.4", type: ZekApproveModal, selector: "zek-approve-modal", usesInheritance: true, ngImport: i0, template: "<div (keydown.enter)=\"keyDown($event)\" class=\"modal fade\" data-bs-backdrop=\"static\" id=\"{{modalId}}\" tabindex=\"-1\" attr.aria-labelledby=\"{{lableId}}\" aria-hidden=\"true\">\r\n <div class=\"modal-dialog\" [ngClass]=\"{\r\n 'modal-sm': size === 'sm',\r\n 'modal-lg': size === 'lg', \r\n 'modal-xl': size === 'xl'\r\n }\" [class.modal-dialog-scrollable]=\"scrollable\" [class.modal-fullscreen]=\"fullscreen\">\r\n <div class=\"modal-content\">\r\n <div class=\"modal-header\" *ngIf=\"showHeader\">\r\n <ng-content select=\"header\"></ng-content>\r\n <h5 class=\"modal-title\" id=\"{{lableId}}\">{{title}}</h5>\r\n <button type=\"button\" class=\"btn-close\" (click)=\"cancel()\" aria-label=\"Close\"></button>\r\n </div>\r\n <div class=\"modal-body\">\r\n {{text}}\r\n <ng-content></ng-content>\r\n </div>\r\n <div class=\"modal-footer\" *ngIf=\"showFooter\">\r\n <ng-content select=\"footer\"></ng-content>\r\n <button [class.visually-hidden]=\"!showOk\" [disabled]=\"disabledOk\" type=\"button\" class=\"btn {{cssButton()}}\" id=\"{{okButtonId}}\"\r\n (click)=\"ok()\">\r\n <i *ngIf=\"icon\" class=\"{{ icon }}\"></i> {{ okButtonText }}\r\n </button>\r\n <button [class.visually-hidden]=\"!showCancel\" type=\"button\" class=\"btn btn-secondary\"\r\n (click)=\"cancel()\">\r\n <i class=\"fa-solid fa-ban\"></i> {{ 'Action.Cancel' | translate }}\r\n </button>\r\n <button type=\"button\" class=\"d-none\" id=\"{{cancelButtonId}}\" data-bs-dismiss=\"modal\"></button>\r\n </div>\r\n </div>\r\n </div>\r\n</div>", dependencies: [{ kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "pipe", type: i2.TranslatePipe, name: "translate" }] }); }
293
293
  }
294
294
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.4", ngImport: i0, type: ZekApproveModal, decorators: [{
295
295
  type: Component,
296
- args: [{ selector: 'zek-approve-modal', template: "<div (keydown.enter)=\"keyDown($event)\" class=\"modal fade\" data-bs-backdrop=\"static\" id=\"{{modalId}}\" tabindex=\"-1\" attr.aria-labelledby=\"{{lableId}}\" aria-hidden=\"true\">\r\n <div class=\"modal-dialog\" [ngClass]=\"{\r\n 'modal-sm': size === 'sm',\r\n 'modal-lg': size === 'lg', \r\n 'modal-xl': size === 'xl'\r\n }\" [class.modal-dialog-scrollable]=\"scrollable\" [class.modal-fullscreen]=\"fullscreen\">\r\n <div class=\"modal-content\">\r\n <div class=\"modal-header\" *ngIf=\"showHeader\">\r\n <ng-content select=\"header\"></ng-content>\r\n <h5 class=\"modal-title\" id=\"{{lableId}}\">{{title}}</h5>\r\n <button type=\"button\" class=\"btn-close\" data-bs-dismiss=\"modal\" aria-label=\"Close\"></button>\r\n </div>\r\n <div class=\"modal-body\">\r\n {{text}}\r\n <ng-content></ng-content>\r\n </div>\r\n <div class=\"modal-footer\" *ngIf=\"showFooter\">\r\n <ng-content select=\"footer\"></ng-content>\r\n <button [class.visually-hidden]=\"!showOk\" [disabled]=\"disabledOk\" type=\"button\" class=\"btn {{cssButton()}}\" id=\"{{okButtonId}}\"\r\n (click)=\"ok()\">\r\n <i *ngIf=\"icon\" class=\"{{ icon }}\"></i> {{ okButtonText }}\r\n </button>\r\n <button [class.visually-hidden]=\"!showCancel\" type=\"button\" class=\"btn btn-secondary\"\r\n (click)=\"cancel()\">\r\n <i class=\"fa-solid fa-ban\"></i> {{ 'Action.Cancel' | translate }}\r\n </button>\r\n <button type=\"button\" class=\"d-none\" id=\"{{cancelButtonId}}\" data-bs-dismiss=\"modal\"></button>\r\n </div>\r\n </div>\r\n </div>\r\n</div>" }]
296
+ args: [{ selector: 'zek-approve-modal', template: "<div (keydown.enter)=\"keyDown($event)\" class=\"modal fade\" data-bs-backdrop=\"static\" id=\"{{modalId}}\" tabindex=\"-1\" attr.aria-labelledby=\"{{lableId}}\" aria-hidden=\"true\">\r\n <div class=\"modal-dialog\" [ngClass]=\"{\r\n 'modal-sm': size === 'sm',\r\n 'modal-lg': size === 'lg', \r\n 'modal-xl': size === 'xl'\r\n }\" [class.modal-dialog-scrollable]=\"scrollable\" [class.modal-fullscreen]=\"fullscreen\">\r\n <div class=\"modal-content\">\r\n <div class=\"modal-header\" *ngIf=\"showHeader\">\r\n <ng-content select=\"header\"></ng-content>\r\n <h5 class=\"modal-title\" id=\"{{lableId}}\">{{title}}</h5>\r\n <button type=\"button\" class=\"btn-close\" (click)=\"cancel()\" aria-label=\"Close\"></button>\r\n </div>\r\n <div class=\"modal-body\">\r\n {{text}}\r\n <ng-content></ng-content>\r\n </div>\r\n <div class=\"modal-footer\" *ngIf=\"showFooter\">\r\n <ng-content select=\"footer\"></ng-content>\r\n <button [class.visually-hidden]=\"!showOk\" [disabled]=\"disabledOk\" type=\"button\" class=\"btn {{cssButton()}}\" id=\"{{okButtonId}}\"\r\n (click)=\"ok()\">\r\n <i *ngIf=\"icon\" class=\"{{ icon }}\"></i> {{ okButtonText }}\r\n </button>\r\n <button [class.visually-hidden]=\"!showCancel\" type=\"button\" class=\"btn btn-secondary\"\r\n (click)=\"cancel()\">\r\n <i class=\"fa-solid fa-ban\"></i> {{ 'Action.Cancel' | translate }}\r\n </button>\r\n <button type=\"button\" class=\"d-none\" id=\"{{cancelButtonId}}\" data-bs-dismiss=\"modal\"></button>\r\n </div>\r\n </div>\r\n </div>\r\n</div>" }]
297
297
  }], ctorParameters: () => [] });
298
298
  /**
299
299
  * @deprecated Please use ZekModal
@@ -307,11 +307,11 @@ export class ZekSubmitModal extends ZekModal {
307
307
  this.componentType = ComponentType.Success;
308
308
  }
309
309
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.4", ngImport: i0, type: ZekSubmitModal, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
310
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.4", type: ZekSubmitModal, selector: "zek-submit-modal", usesInheritance: true, ngImport: i0, template: "<div (keydown.enter)=\"keyDown($event)\" class=\"modal fade\" data-bs-backdrop=\"static\" id=\"{{modalId}}\" tabindex=\"-1\" attr.aria-labelledby=\"{{lableId}}\" aria-hidden=\"true\">\r\n <div class=\"modal-dialog\" [ngClass]=\"{\r\n 'modal-sm': size === 'sm',\r\n 'modal-lg': size === 'lg', \r\n 'modal-xl': size === 'xl'\r\n }\" [class.modal-dialog-scrollable]=\"scrollable\" [class.modal-fullscreen]=\"fullscreen\">\r\n <div class=\"modal-content\">\r\n <div class=\"modal-header\" *ngIf=\"showHeader\">\r\n <ng-content select=\"header\"></ng-content>\r\n <h5 class=\"modal-title\" id=\"{{lableId}}\">{{title}}</h5>\r\n <button type=\"button\" class=\"btn-close\" data-bs-dismiss=\"modal\" aria-label=\"Close\"></button>\r\n </div>\r\n <div class=\"modal-body\">\r\n {{text}}\r\n <ng-content></ng-content>\r\n </div>\r\n <div class=\"modal-footer\" *ngIf=\"showFooter\">\r\n <ng-content select=\"footer\"></ng-content>\r\n <button [class.visually-hidden]=\"!showOk\" [disabled]=\"disabledOk\" type=\"button\" class=\"btn {{cssButton()}}\" id=\"{{okButtonId}}\"\r\n (click)=\"ok()\">\r\n <i *ngIf=\"icon\" class=\"{{ icon }}\"></i> {{ okButtonText }}\r\n </button>\r\n <button [class.visually-hidden]=\"!showCancel\" type=\"button\" class=\"btn btn-secondary\"\r\n (click)=\"cancel()\">\r\n <i class=\"fa-solid fa-ban\"></i> {{ 'Action.Cancel' | translate }}\r\n </button>\r\n <button type=\"button\" class=\"d-none\" id=\"{{cancelButtonId}}\" data-bs-dismiss=\"modal\"></button>\r\n </div>\r\n </div>\r\n </div>\r\n</div>", dependencies: [{ kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "pipe", type: i2.TranslatePipe, name: "translate" }] }); }
310
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.4", type: ZekSubmitModal, selector: "zek-submit-modal", usesInheritance: true, ngImport: i0, template: "<div (keydown.enter)=\"keyDown($event)\" class=\"modal fade\" data-bs-backdrop=\"static\" id=\"{{modalId}}\" tabindex=\"-1\" attr.aria-labelledby=\"{{lableId}}\" aria-hidden=\"true\">\r\n <div class=\"modal-dialog\" [ngClass]=\"{\r\n 'modal-sm': size === 'sm',\r\n 'modal-lg': size === 'lg', \r\n 'modal-xl': size === 'xl'\r\n }\" [class.modal-dialog-scrollable]=\"scrollable\" [class.modal-fullscreen]=\"fullscreen\">\r\n <div class=\"modal-content\">\r\n <div class=\"modal-header\" *ngIf=\"showHeader\">\r\n <ng-content select=\"header\"></ng-content>\r\n <h5 class=\"modal-title\" id=\"{{lableId}}\">{{title}}</h5>\r\n <button type=\"button\" class=\"btn-close\" (click)=\"cancel()\" aria-label=\"Close\"></button>\r\n </div>\r\n <div class=\"modal-body\">\r\n {{text}}\r\n <ng-content></ng-content>\r\n </div>\r\n <div class=\"modal-footer\" *ngIf=\"showFooter\">\r\n <ng-content select=\"footer\"></ng-content>\r\n <button [class.visually-hidden]=\"!showOk\" [disabled]=\"disabledOk\" type=\"button\" class=\"btn {{cssButton()}}\" id=\"{{okButtonId}}\"\r\n (click)=\"ok()\">\r\n <i *ngIf=\"icon\" class=\"{{ icon }}\"></i> {{ okButtonText }}\r\n </button>\r\n <button [class.visually-hidden]=\"!showCancel\" type=\"button\" class=\"btn btn-secondary\"\r\n (click)=\"cancel()\">\r\n <i class=\"fa-solid fa-ban\"></i> {{ 'Action.Cancel' | translate }}\r\n </button>\r\n <button type=\"button\" class=\"d-none\" id=\"{{cancelButtonId}}\" data-bs-dismiss=\"modal\"></button>\r\n </div>\r\n </div>\r\n </div>\r\n</div>", dependencies: [{ kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "pipe", type: i2.TranslatePipe, name: "translate" }] }); }
311
311
  }
312
312
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.4", ngImport: i0, type: ZekSubmitModal, decorators: [{
313
313
  type: Component,
314
- args: [{ selector: 'zek-submit-modal', template: "<div (keydown.enter)=\"keyDown($event)\" class=\"modal fade\" data-bs-backdrop=\"static\" id=\"{{modalId}}\" tabindex=\"-1\" attr.aria-labelledby=\"{{lableId}}\" aria-hidden=\"true\">\r\n <div class=\"modal-dialog\" [ngClass]=\"{\r\n 'modal-sm': size === 'sm',\r\n 'modal-lg': size === 'lg', \r\n 'modal-xl': size === 'xl'\r\n }\" [class.modal-dialog-scrollable]=\"scrollable\" [class.modal-fullscreen]=\"fullscreen\">\r\n <div class=\"modal-content\">\r\n <div class=\"modal-header\" *ngIf=\"showHeader\">\r\n <ng-content select=\"header\"></ng-content>\r\n <h5 class=\"modal-title\" id=\"{{lableId}}\">{{title}}</h5>\r\n <button type=\"button\" class=\"btn-close\" data-bs-dismiss=\"modal\" aria-label=\"Close\"></button>\r\n </div>\r\n <div class=\"modal-body\">\r\n {{text}}\r\n <ng-content></ng-content>\r\n </div>\r\n <div class=\"modal-footer\" *ngIf=\"showFooter\">\r\n <ng-content select=\"footer\"></ng-content>\r\n <button [class.visually-hidden]=\"!showOk\" [disabled]=\"disabledOk\" type=\"button\" class=\"btn {{cssButton()}}\" id=\"{{okButtonId}}\"\r\n (click)=\"ok()\">\r\n <i *ngIf=\"icon\" class=\"{{ icon }}\"></i> {{ okButtonText }}\r\n </button>\r\n <button [class.visually-hidden]=\"!showCancel\" type=\"button\" class=\"btn btn-secondary\"\r\n (click)=\"cancel()\">\r\n <i class=\"fa-solid fa-ban\"></i> {{ 'Action.Cancel' | translate }}\r\n </button>\r\n <button type=\"button\" class=\"d-none\" id=\"{{cancelButtonId}}\" data-bs-dismiss=\"modal\"></button>\r\n </div>\r\n </div>\r\n </div>\r\n</div>" }]
314
+ args: [{ selector: 'zek-submit-modal', template: "<div (keydown.enter)=\"keyDown($event)\" class=\"modal fade\" data-bs-backdrop=\"static\" id=\"{{modalId}}\" tabindex=\"-1\" attr.aria-labelledby=\"{{lableId}}\" aria-hidden=\"true\">\r\n <div class=\"modal-dialog\" [ngClass]=\"{\r\n 'modal-sm': size === 'sm',\r\n 'modal-lg': size === 'lg', \r\n 'modal-xl': size === 'xl'\r\n }\" [class.modal-dialog-scrollable]=\"scrollable\" [class.modal-fullscreen]=\"fullscreen\">\r\n <div class=\"modal-content\">\r\n <div class=\"modal-header\" *ngIf=\"showHeader\">\r\n <ng-content select=\"header\"></ng-content>\r\n <h5 class=\"modal-title\" id=\"{{lableId}}\">{{title}}</h5>\r\n <button type=\"button\" class=\"btn-close\" (click)=\"cancel()\" aria-label=\"Close\"></button>\r\n </div>\r\n <div class=\"modal-body\">\r\n {{text}}\r\n <ng-content></ng-content>\r\n </div>\r\n <div class=\"modal-footer\" *ngIf=\"showFooter\">\r\n <ng-content select=\"footer\"></ng-content>\r\n <button [class.visually-hidden]=\"!showOk\" [disabled]=\"disabledOk\" type=\"button\" class=\"btn {{cssButton()}}\" id=\"{{okButtonId}}\"\r\n (click)=\"ok()\">\r\n <i *ngIf=\"icon\" class=\"{{ icon }}\"></i> {{ okButtonText }}\r\n </button>\r\n <button [class.visually-hidden]=\"!showCancel\" type=\"button\" class=\"btn btn-secondary\"\r\n (click)=\"cancel()\">\r\n <i class=\"fa-solid fa-ban\"></i> {{ 'Action.Cancel' | translate }}\r\n </button>\r\n <button type=\"button\" class=\"d-none\" id=\"{{cancelButtonId}}\" data-bs-dismiss=\"modal\"></button>\r\n </div>\r\n </div>\r\n </div>\r\n</div>" }]
315
315
  }], ctorParameters: () => [] });
316
316
  /**
317
317
  * @deprecated Please use ZekModal
@@ -325,11 +325,11 @@ export class ZekDisapproveModal extends ZekModal {
325
325
  this.componentType = ComponentType.Delete;
326
326
  }
327
327
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.4", ngImport: i0, type: ZekDisapproveModal, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
328
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.4", type: ZekDisapproveModal, selector: "zek-disapprove-modal", usesInheritance: true, ngImport: i0, template: "<div (keydown.enter)=\"keyDown($event)\" class=\"modal fade\" data-bs-backdrop=\"static\" id=\"{{modalId}}\" tabindex=\"-1\" attr.aria-labelledby=\"{{lableId}}\" aria-hidden=\"true\">\r\n <div class=\"modal-dialog\" [ngClass]=\"{\r\n 'modal-sm': size === 'sm',\r\n 'modal-lg': size === 'lg', \r\n 'modal-xl': size === 'xl'\r\n }\" [class.modal-dialog-scrollable]=\"scrollable\" [class.modal-fullscreen]=\"fullscreen\">\r\n <div class=\"modal-content\">\r\n <div class=\"modal-header\" *ngIf=\"showHeader\">\r\n <ng-content select=\"header\"></ng-content>\r\n <h5 class=\"modal-title\" id=\"{{lableId}}\">{{title}}</h5>\r\n <button type=\"button\" class=\"btn-close\" data-bs-dismiss=\"modal\" aria-label=\"Close\"></button>\r\n </div>\r\n <div class=\"modal-body\">\r\n {{text}}\r\n <ng-content></ng-content>\r\n </div>\r\n <div class=\"modal-footer\" *ngIf=\"showFooter\">\r\n <ng-content select=\"footer\"></ng-content>\r\n <button [class.visually-hidden]=\"!showOk\" [disabled]=\"disabledOk\" type=\"button\" class=\"btn {{cssButton()}}\" id=\"{{okButtonId}}\"\r\n (click)=\"ok()\">\r\n <i *ngIf=\"icon\" class=\"{{ icon }}\"></i> {{ okButtonText }}\r\n </button>\r\n <button [class.visually-hidden]=\"!showCancel\" type=\"button\" class=\"btn btn-secondary\"\r\n (click)=\"cancel()\">\r\n <i class=\"fa-solid fa-ban\"></i> {{ 'Action.Cancel' | translate }}\r\n </button>\r\n <button type=\"button\" class=\"d-none\" id=\"{{cancelButtonId}}\" data-bs-dismiss=\"modal\"></button>\r\n </div>\r\n </div>\r\n </div>\r\n</div>", dependencies: [{ kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "pipe", type: i2.TranslatePipe, name: "translate" }] }); }
328
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.4", type: ZekDisapproveModal, selector: "zek-disapprove-modal", usesInheritance: true, ngImport: i0, template: "<div (keydown.enter)=\"keyDown($event)\" class=\"modal fade\" data-bs-backdrop=\"static\" id=\"{{modalId}}\" tabindex=\"-1\" attr.aria-labelledby=\"{{lableId}}\" aria-hidden=\"true\">\r\n <div class=\"modal-dialog\" [ngClass]=\"{\r\n 'modal-sm': size === 'sm',\r\n 'modal-lg': size === 'lg', \r\n 'modal-xl': size === 'xl'\r\n }\" [class.modal-dialog-scrollable]=\"scrollable\" [class.modal-fullscreen]=\"fullscreen\">\r\n <div class=\"modal-content\">\r\n <div class=\"modal-header\" *ngIf=\"showHeader\">\r\n <ng-content select=\"header\"></ng-content>\r\n <h5 class=\"modal-title\" id=\"{{lableId}}\">{{title}}</h5>\r\n <button type=\"button\" class=\"btn-close\" (click)=\"cancel()\" aria-label=\"Close\"></button>\r\n </div>\r\n <div class=\"modal-body\">\r\n {{text}}\r\n <ng-content></ng-content>\r\n </div>\r\n <div class=\"modal-footer\" *ngIf=\"showFooter\">\r\n <ng-content select=\"footer\"></ng-content>\r\n <button [class.visually-hidden]=\"!showOk\" [disabled]=\"disabledOk\" type=\"button\" class=\"btn {{cssButton()}}\" id=\"{{okButtonId}}\"\r\n (click)=\"ok()\">\r\n <i *ngIf=\"icon\" class=\"{{ icon }}\"></i> {{ okButtonText }}\r\n </button>\r\n <button [class.visually-hidden]=\"!showCancel\" type=\"button\" class=\"btn btn-secondary\"\r\n (click)=\"cancel()\">\r\n <i class=\"fa-solid fa-ban\"></i> {{ 'Action.Cancel' | translate }}\r\n </button>\r\n <button type=\"button\" class=\"d-none\" id=\"{{cancelButtonId}}\" data-bs-dismiss=\"modal\"></button>\r\n </div>\r\n </div>\r\n </div>\r\n</div>", dependencies: [{ kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "pipe", type: i2.TranslatePipe, name: "translate" }] }); }
329
329
  }
330
330
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.4", ngImport: i0, type: ZekDisapproveModal, decorators: [{
331
331
  type: Component,
332
- args: [{ selector: 'zek-disapprove-modal', template: "<div (keydown.enter)=\"keyDown($event)\" class=\"modal fade\" data-bs-backdrop=\"static\" id=\"{{modalId}}\" tabindex=\"-1\" attr.aria-labelledby=\"{{lableId}}\" aria-hidden=\"true\">\r\n <div class=\"modal-dialog\" [ngClass]=\"{\r\n 'modal-sm': size === 'sm',\r\n 'modal-lg': size === 'lg', \r\n 'modal-xl': size === 'xl'\r\n }\" [class.modal-dialog-scrollable]=\"scrollable\" [class.modal-fullscreen]=\"fullscreen\">\r\n <div class=\"modal-content\">\r\n <div class=\"modal-header\" *ngIf=\"showHeader\">\r\n <ng-content select=\"header\"></ng-content>\r\n <h5 class=\"modal-title\" id=\"{{lableId}}\">{{title}}</h5>\r\n <button type=\"button\" class=\"btn-close\" data-bs-dismiss=\"modal\" aria-label=\"Close\"></button>\r\n </div>\r\n <div class=\"modal-body\">\r\n {{text}}\r\n <ng-content></ng-content>\r\n </div>\r\n <div class=\"modal-footer\" *ngIf=\"showFooter\">\r\n <ng-content select=\"footer\"></ng-content>\r\n <button [class.visually-hidden]=\"!showOk\" [disabled]=\"disabledOk\" type=\"button\" class=\"btn {{cssButton()}}\" id=\"{{okButtonId}}\"\r\n (click)=\"ok()\">\r\n <i *ngIf=\"icon\" class=\"{{ icon }}\"></i> {{ okButtonText }}\r\n </button>\r\n <button [class.visually-hidden]=\"!showCancel\" type=\"button\" class=\"btn btn-secondary\"\r\n (click)=\"cancel()\">\r\n <i class=\"fa-solid fa-ban\"></i> {{ 'Action.Cancel' | translate }}\r\n </button>\r\n <button type=\"button\" class=\"d-none\" id=\"{{cancelButtonId}}\" data-bs-dismiss=\"modal\"></button>\r\n </div>\r\n </div>\r\n </div>\r\n</div>" }]
332
+ args: [{ selector: 'zek-disapprove-modal', template: "<div (keydown.enter)=\"keyDown($event)\" class=\"modal fade\" data-bs-backdrop=\"static\" id=\"{{modalId}}\" tabindex=\"-1\" attr.aria-labelledby=\"{{lableId}}\" aria-hidden=\"true\">\r\n <div class=\"modal-dialog\" [ngClass]=\"{\r\n 'modal-sm': size === 'sm',\r\n 'modal-lg': size === 'lg', \r\n 'modal-xl': size === 'xl'\r\n }\" [class.modal-dialog-scrollable]=\"scrollable\" [class.modal-fullscreen]=\"fullscreen\">\r\n <div class=\"modal-content\">\r\n <div class=\"modal-header\" *ngIf=\"showHeader\">\r\n <ng-content select=\"header\"></ng-content>\r\n <h5 class=\"modal-title\" id=\"{{lableId}}\">{{title}}</h5>\r\n <button type=\"button\" class=\"btn-close\" (click)=\"cancel()\" aria-label=\"Close\"></button>\r\n </div>\r\n <div class=\"modal-body\">\r\n {{text}}\r\n <ng-content></ng-content>\r\n </div>\r\n <div class=\"modal-footer\" *ngIf=\"showFooter\">\r\n <ng-content select=\"footer\"></ng-content>\r\n <button [class.visually-hidden]=\"!showOk\" [disabled]=\"disabledOk\" type=\"button\" class=\"btn {{cssButton()}}\" id=\"{{okButtonId}}\"\r\n (click)=\"ok()\">\r\n <i *ngIf=\"icon\" class=\"{{ icon }}\"></i> {{ okButtonText }}\r\n </button>\r\n <button [class.visually-hidden]=\"!showCancel\" type=\"button\" class=\"btn btn-secondary\"\r\n (click)=\"cancel()\">\r\n <i class=\"fa-solid fa-ban\"></i> {{ 'Action.Cancel' | translate }}\r\n </button>\r\n <button type=\"button\" class=\"d-none\" id=\"{{cancelButtonId}}\" data-bs-dismiss=\"modal\"></button>\r\n </div>\r\n </div>\r\n </div>\r\n</div>" }]
333
333
  }], ctorParameters: () => [] });
334
334
  /**
335
335
  * @deprecated Please use ZekModal
@@ -343,10 +343,10 @@ export class ZekRestoreModal extends ZekModal {
343
343
  this.componentType = ComponentType.Success;
344
344
  }
345
345
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.4", ngImport: i0, type: ZekRestoreModal, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
346
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.4", type: ZekRestoreModal, selector: "zek-restore-modal", usesInheritance: true, ngImport: i0, template: "<div (keydown.enter)=\"keyDown($event)\" class=\"modal fade\" data-bs-backdrop=\"static\" id=\"{{modalId}}\" tabindex=\"-1\" attr.aria-labelledby=\"{{lableId}}\" aria-hidden=\"true\">\r\n <div class=\"modal-dialog\" [ngClass]=\"{\r\n 'modal-sm': size === 'sm',\r\n 'modal-lg': size === 'lg', \r\n 'modal-xl': size === 'xl'\r\n }\" [class.modal-dialog-scrollable]=\"scrollable\" [class.modal-fullscreen]=\"fullscreen\">\r\n <div class=\"modal-content\">\r\n <div class=\"modal-header\" *ngIf=\"showHeader\">\r\n <ng-content select=\"header\"></ng-content>\r\n <h5 class=\"modal-title\" id=\"{{lableId}}\">{{title}}</h5>\r\n <button type=\"button\" class=\"btn-close\" data-bs-dismiss=\"modal\" aria-label=\"Close\"></button>\r\n </div>\r\n <div class=\"modal-body\">\r\n {{text}}\r\n <ng-content></ng-content>\r\n </div>\r\n <div class=\"modal-footer\" *ngIf=\"showFooter\">\r\n <ng-content select=\"footer\"></ng-content>\r\n <button [class.visually-hidden]=\"!showOk\" [disabled]=\"disabledOk\" type=\"button\" class=\"btn {{cssButton()}}\" id=\"{{okButtonId}}\"\r\n (click)=\"ok()\">\r\n <i *ngIf=\"icon\" class=\"{{ icon }}\"></i> {{ okButtonText }}\r\n </button>\r\n <button [class.visually-hidden]=\"!showCancel\" type=\"button\" class=\"btn btn-secondary\"\r\n (click)=\"cancel()\">\r\n <i class=\"fa-solid fa-ban\"></i> {{ 'Action.Cancel' | translate }}\r\n </button>\r\n <button type=\"button\" class=\"d-none\" id=\"{{cancelButtonId}}\" data-bs-dismiss=\"modal\"></button>\r\n </div>\r\n </div>\r\n </div>\r\n</div>", dependencies: [{ kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "pipe", type: i2.TranslatePipe, name: "translate" }] }); }
346
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.4", type: ZekRestoreModal, selector: "zek-restore-modal", usesInheritance: true, ngImport: i0, template: "<div (keydown.enter)=\"keyDown($event)\" class=\"modal fade\" data-bs-backdrop=\"static\" id=\"{{modalId}}\" tabindex=\"-1\" attr.aria-labelledby=\"{{lableId}}\" aria-hidden=\"true\">\r\n <div class=\"modal-dialog\" [ngClass]=\"{\r\n 'modal-sm': size === 'sm',\r\n 'modal-lg': size === 'lg', \r\n 'modal-xl': size === 'xl'\r\n }\" [class.modal-dialog-scrollable]=\"scrollable\" [class.modal-fullscreen]=\"fullscreen\">\r\n <div class=\"modal-content\">\r\n <div class=\"modal-header\" *ngIf=\"showHeader\">\r\n <ng-content select=\"header\"></ng-content>\r\n <h5 class=\"modal-title\" id=\"{{lableId}}\">{{title}}</h5>\r\n <button type=\"button\" class=\"btn-close\" (click)=\"cancel()\" aria-label=\"Close\"></button>\r\n </div>\r\n <div class=\"modal-body\">\r\n {{text}}\r\n <ng-content></ng-content>\r\n </div>\r\n <div class=\"modal-footer\" *ngIf=\"showFooter\">\r\n <ng-content select=\"footer\"></ng-content>\r\n <button [class.visually-hidden]=\"!showOk\" [disabled]=\"disabledOk\" type=\"button\" class=\"btn {{cssButton()}}\" id=\"{{okButtonId}}\"\r\n (click)=\"ok()\">\r\n <i *ngIf=\"icon\" class=\"{{ icon }}\"></i> {{ okButtonText }}\r\n </button>\r\n <button [class.visually-hidden]=\"!showCancel\" type=\"button\" class=\"btn btn-secondary\"\r\n (click)=\"cancel()\">\r\n <i class=\"fa-solid fa-ban\"></i> {{ 'Action.Cancel' | translate }}\r\n </button>\r\n <button type=\"button\" class=\"d-none\" id=\"{{cancelButtonId}}\" data-bs-dismiss=\"modal\"></button>\r\n </div>\r\n </div>\r\n </div>\r\n</div>", dependencies: [{ kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "pipe", type: i2.TranslatePipe, name: "translate" }] }); }
347
347
  }
348
348
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.4", ngImport: i0, type: ZekRestoreModal, decorators: [{
349
349
  type: Component,
350
- args: [{ selector: 'zek-restore-modal', template: "<div (keydown.enter)=\"keyDown($event)\" class=\"modal fade\" data-bs-backdrop=\"static\" id=\"{{modalId}}\" tabindex=\"-1\" attr.aria-labelledby=\"{{lableId}}\" aria-hidden=\"true\">\r\n <div class=\"modal-dialog\" [ngClass]=\"{\r\n 'modal-sm': size === 'sm',\r\n 'modal-lg': size === 'lg', \r\n 'modal-xl': size === 'xl'\r\n }\" [class.modal-dialog-scrollable]=\"scrollable\" [class.modal-fullscreen]=\"fullscreen\">\r\n <div class=\"modal-content\">\r\n <div class=\"modal-header\" *ngIf=\"showHeader\">\r\n <ng-content select=\"header\"></ng-content>\r\n <h5 class=\"modal-title\" id=\"{{lableId}}\">{{title}}</h5>\r\n <button type=\"button\" class=\"btn-close\" data-bs-dismiss=\"modal\" aria-label=\"Close\"></button>\r\n </div>\r\n <div class=\"modal-body\">\r\n {{text}}\r\n <ng-content></ng-content>\r\n </div>\r\n <div class=\"modal-footer\" *ngIf=\"showFooter\">\r\n <ng-content select=\"footer\"></ng-content>\r\n <button [class.visually-hidden]=\"!showOk\" [disabled]=\"disabledOk\" type=\"button\" class=\"btn {{cssButton()}}\" id=\"{{okButtonId}}\"\r\n (click)=\"ok()\">\r\n <i *ngIf=\"icon\" class=\"{{ icon }}\"></i> {{ okButtonText }}\r\n </button>\r\n <button [class.visually-hidden]=\"!showCancel\" type=\"button\" class=\"btn btn-secondary\"\r\n (click)=\"cancel()\">\r\n <i class=\"fa-solid fa-ban\"></i> {{ 'Action.Cancel' | translate }}\r\n </button>\r\n <button type=\"button\" class=\"d-none\" id=\"{{cancelButtonId}}\" data-bs-dismiss=\"modal\"></button>\r\n </div>\r\n </div>\r\n </div>\r\n</div>" }]
350
+ args: [{ selector: 'zek-restore-modal', template: "<div (keydown.enter)=\"keyDown($event)\" class=\"modal fade\" data-bs-backdrop=\"static\" id=\"{{modalId}}\" tabindex=\"-1\" attr.aria-labelledby=\"{{lableId}}\" aria-hidden=\"true\">\r\n <div class=\"modal-dialog\" [ngClass]=\"{\r\n 'modal-sm': size === 'sm',\r\n 'modal-lg': size === 'lg', \r\n 'modal-xl': size === 'xl'\r\n }\" [class.modal-dialog-scrollable]=\"scrollable\" [class.modal-fullscreen]=\"fullscreen\">\r\n <div class=\"modal-content\">\r\n <div class=\"modal-header\" *ngIf=\"showHeader\">\r\n <ng-content select=\"header\"></ng-content>\r\n <h5 class=\"modal-title\" id=\"{{lableId}}\">{{title}}</h5>\r\n <button type=\"button\" class=\"btn-close\" (click)=\"cancel()\" aria-label=\"Close\"></button>\r\n </div>\r\n <div class=\"modal-body\">\r\n {{text}}\r\n <ng-content></ng-content>\r\n </div>\r\n <div class=\"modal-footer\" *ngIf=\"showFooter\">\r\n <ng-content select=\"footer\"></ng-content>\r\n <button [class.visually-hidden]=\"!showOk\" [disabled]=\"disabledOk\" type=\"button\" class=\"btn {{cssButton()}}\" id=\"{{okButtonId}}\"\r\n (click)=\"ok()\">\r\n <i *ngIf=\"icon\" class=\"{{ icon }}\"></i> {{ okButtonText }}\r\n </button>\r\n <button [class.visually-hidden]=\"!showCancel\" type=\"button\" class=\"btn btn-secondary\"\r\n (click)=\"cancel()\">\r\n <i class=\"fa-solid fa-ban\"></i> {{ 'Action.Cancel' | translate }}\r\n </button>\r\n <button type=\"button\" class=\"d-none\" id=\"{{cancelButtonId}}\" data-bs-dismiss=\"modal\"></button>\r\n </div>\r\n </div>\r\n </div>\r\n</div>" }]
351
351
  }], ctorParameters: () => [] });
352
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibW9kYWwuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvemVrL3NyYy9saWIvbW9kdWxlcy9tb2RhbC9tb2RhbC9tb2RhbC5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy96ZWsvc3JjL2xpYi9tb2R1bGVzL21vZGFsL21vZGFsL21vZGFsLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxFQUFFLFlBQVksRUFBRSxLQUFLLEVBQUUsTUFBTSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQy9FLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLHFCQUFxQixDQUFDO0FBQ3ZELE9BQU8sRUFBZ0IsYUFBYSxFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFDbEUsT0FBTyxFQUFFLGVBQWUsRUFBRSxhQUFhLEVBQUUsT0FBTyxFQUFFLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUNoRyxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sd0NBQXdDLENBQUM7Ozs7QUFJeEUsSUFBSSxRQUFRLEdBQUcsQ0FBQyxDQUFDO0FBTWpCLE1BQU0sT0FBTyxRQUFTLFNBQVEsYUFBYTtJQUozQzs7UUFLdUIsY0FBUyxHQUFHLE1BQU0sQ0FBQyxnQkFBZ0IsQ0FBQyxDQUFDO1FBb0NoRCxjQUFTLEdBQVcsYUFBYSxFQUFFLFFBQVEsRUFBRSxDQUFDO1FBQ3RELDBDQUEwQztRQUNqQyxPQUFFLEdBQVcsSUFBSSxDQUFDLFNBQVMsQ0FBQztRQUNyQyxZQUFPLEdBQUcsR0FBRyxJQUFJLENBQUMsRUFBRSxRQUFRLENBQUM7UUFDN0IsWUFBTyxHQUFHLEdBQUcsSUFBSSxDQUFDLEVBQUUsUUFBUSxDQUFDO1FBQzdCLG1CQUFjLEdBQUcsR0FBRyxJQUFJLENBQUMsRUFBRSxnQkFBZ0IsQ0FB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U0FBUyxDQUFDLEdBQUcsQ0FBQywwQkFBMEIsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxDQUFDLEdBQVcsRUFBRSxFQUFFLENBQUMsSUFBSSxDQUFDLElBQUksR0FBRyxHQUFHLENBQUMsQ0FBQztRQUMzRixJQUFJLENBQUMsYUFBYSxHQUFHLGFBQWEsQ0FBQyxNQUFNLENBQUM7SUFDOUMsQ0FBQzs4R0FQUSxrQkFBa0I7a0dBQWxCLGtCQUFrQixtRkN4Vi9CLHExREE4Qk07OzJGRDBUTyxrQkFBa0I7a0JBSjlCLFNBQVM7K0JBQ0ksc0JBQXNCOztBQWNwQzs7R0FFRztBQUtILE1BQU0sT0FBTyxlQUFnQixTQUFRLFFBQVE7SUFDekM7UUFDSSxLQUFLLEVBQUUsQ0FBQztRQUNSLElBQUksQ0FBQyxJQUFJLEdBQUcsMEJBQTBCLENBQUM7UUFDdkMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxHQUFHLENBQUMsZ0JBQWdCLENBQUMsQ0FBQyxTQUFTLENBQUMsQ0FBQyxHQUFXLEVBQUUsRUFBRSxDQUFDLElBQUksQ0FBQyxLQUFLLEdBQUcsR0FBRyxDQUFDLENBQUM7UUFDbEYsSUFBSSxDQUFDLFNBQVMsQ0FBQyxHQUFHLENBQUMsd0JBQXdCLENBQUMsQ0FBQyxTQUFTLENBQUMsQ0FBQyxHQUFXLEVBQUUsRUFBRSxDQUFDLElBQUksQ0FBQyxJQUFJLEdBQUcsR0FBRyxDQUFDLENBQUM7UUFDekYsSUFBSSxDQUFDLGFBQWEsR0FBRyxhQUFhLENBQUMsT0FBTyxDQUFDO0lBQy9DLENBQUM7OEdBUFEsZUFBZTtrR0FBZixlQUFlLGdGQzFXNUIscTFEQThCTTs7MkZENFVPLGVBQWU7a0JBSjNCLFNBQVM7K0JBQ0ksbUJBQW1CIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBPdXRwdXQsIEV2ZW50RW1pdHRlciwgSW5wdXQsIGluamVjdCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBUcmFuc2xhdGVTZXJ2aWNlIH0gZnJvbSAnQG5neC10cmFuc2xhdGUvY29yZSc7XHJcbmltcG9ydCB7IEJvb2xlYW5JbnB1dCwgQ29yZUNvbXBvbmVudCB9IGZyb20gJy4uLy4uLy4uL2NvbXBvbmVudHMnO1xyXG5pbXBvcnQgeyBCb290c3RyYXBIZWxwZXIsIENvbXBvbmVudFR5cGUsIENvbnZlcnQsIGhhbmRsZXIsIFJhbmRvbUhlbHBlciB9IGZyb20gJy4uLy4uLy4uL3V0aWxzJztcclxuaW1wb3J0IHsgVmFsaWRFdmVudEFyZ3MgfSBmcm9tICcuLi8uLi8uLi9tb2RlbHMvdmFsaWQtZXZlbnQtYXJncy5tb2RlbCc7XHJcbmltcG9ydCB7IE1vZGFsU2l6ZSB9IGZyb20gJy4uLy4uLy4uL21vZGVscyc7XHJcblxyXG5kZWNsYXJlIGxldCBib290c3RyYXA6IGFueTtcclxubGV0IHVuaXF1ZUlkID0gMDtcclxuXHJcbkBDb21wb25lbnQoe1xyXG4gICAgc2VsZWN0b3I6ICd6ZWstbW9kYWwnLFxyXG4gICAgdGVtcGxhdGVVcmw6ICcuL21vZGFsLmNvbXBvbmVudC5odG1sJ1xyXG59KVxyXG5leHBvcnQgY2xhc3MgWmVrTW9kYWwgZXh0ZW5kcyBDb3JlQ29tcG9uZW50IHtcclxuICAgIHByb3RlY3RlZCByZWFkb25seSB0cmFuc2xhdGUgPSBpbmplY3QoVHJhbnNsYXRlU2VydmljZSk7XHJcblxyXG4gICAgb3ZlcnJpZGUgYXN5bmMgZGVzdHJveSgpIHtcclxuICAgICAgICBhd2FpdCBzdXBlci5kZXN0cm95KCk7XHJcbiAgICAgICAgdGhpcy5fbW9kYWw/LmRpc3Bvc2UoKTtcclxuICAgICAgICB0aGlzLl9tb2RhbCA9IG51bGw7XHJcblxyXG4gICAgICAgIGlmICh0aGlzLmhpZGRlbkhhbmRsZXIpIHtcclxuICAgICAgICAgICAgaGFuZGxlci5yZW1vdmVMaXN0ZW5lcih0aGlzLmhpZGRlbkhhbmRsZXIpO1xyXG4gICAgICAgIH1cclxuICAgICAgICBpZiAodGhpcy5zaG93bkhhbmRsZXIpIHtcclxuICAgICAgICAgICAgaGFuZGxlci5yZW1vdmVMaXN0ZW5lcih0aGlzLnNob3duSGFuZGxlcik7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgb3ZlcnJpZGUgaW5pdCgpIHtcclxuICAgICAgICBzdXBlci5pbml0KClcclxuICAgICAgICBpZiAoIXRoaXMub2tCdXR0b25UZXh0KSB7XHJcbiAgICAgICAgICAgIHRoaXMudHJhbnNsYXRlLmdldCgnQWN0aW9uLk9rJykuc3Vic2NyaWJlKHRleHQgPT4ge1xyXG4gICAgICAgICAgICAgICAgdGhpcy5va0J1dHRvblRleHQgPSB0ZXh0O1xyXG4gICAgICAgICAgICB9KTtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIHNldFRpbWVvdXQoKCkgPT4ge1xyXG4gICAgICAgICAgICBjb25zdCBtb2RhbEVsID0gdGhpcy5nZXRNb2RhbEVsZW1lbnQoKTtcclxuICAgICAgICAgICAgaWYgKG1vZGFsRWwpIHtcclxuICAgICAgICAgICAgICAgIHRoaXMuc2hvd25IYW5kbGVyID0gaGFuZGxlci5hZGRMaXN0ZW5lcihtb2RhbEVsLCAnc2hvd24uYnMubW9kYWwnLCAoKSA9PiB7XHJcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5vblNob3duLmVtaXQoKTtcclxuICAgICAgICAgICAgICAgIH0pO1xyXG5cclxuICAgICAgICAgICAgICAgIHRoaXMuaGlkZGVuSGFuZGxlciA9IGhhbmRsZXIuYWRkTGlzdGVuZXIobW9kYWxFbCwgJ2hpZGRlbi5icy5tb2RhbCcsICgpID0+IHtcclxuICAgICAgICAgICAgICAgICAgICB0aGlzLm9uSGlkZGVuLmVtaXQoKTtcclxuICAgICAgICAgICAgICAgIH0pO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfSwgMSk7XHJcbiAgICB9XHJcblxyXG4gICAgcHJpdmF0ZSBfdW5pcXVlSWQ6IHN0cmluZyA9IGB6ZWstbW9kYWwtJHsrK3VuaXF1ZUlkfWA7XHJcbiAgICAvKiogVGhlIHVuaXF1ZSBJRCBmb3IgdGhlIHJhZGlvIGJ1dHRvbi4gKi9cclxuICAgIEBJbnB1dCgpIGlkOiBzdHJpbmcgPSB0aGlzLl91bmlxdWVJZDtcclxuICAgIG1vZGFsSWQgPSBgJHt0aGlzLmlkfS1tb2RhbGA7XHJcbiAgICBsYWJsZUlkID0gYCR7dGhpcy5pZH0tbGFibGVgO1xyXG4gICAgY2FuY2VsQnV0dG9uSWQgPSBgJHt0aGlzLmlkfS1jYW5jZWwtYnV0dG9uYDtcclxuICAgIG9rQnV0dG9uSWQgPSBgJHt0aGlzLmlkfS1vay1idXR0b25gO1xyXG5cclxuICAgIHNob3duSGFuZGxlcj86IG51bWJlciB8IG51bGw7XHJcbiAgICBoaWRkZW5IYW5kbGVyPzogbnVtYmVyIHwgbnVsbDtcclxuXHJcbiAgICBASW5wdXQoKSBtb2RlbDogYW55O1xyXG4gICAgcmVhZG9ubHkgZWxlbWVudElkID0gUmFuZG9tSGVscGVyLnJhbmRvbUhleCgpO1xyXG5cclxuXHJcbiAgICBwcml2YXRlIF9zaG93T2sgPSB0cnVlO1xyXG4gICAgQElucHV0KClcclxuICAgIGdldCBzaG93T2soKTogYm9vbGVhbiB7XHJcbiAgICAgICAgcmV0dXJuIHRoaXMuX3Nob3dPaztcclxuICAgIH1cclxuICAgIHNldCBzaG93T2sodjogQm9vbGVhbklucHV0KSB7XHJcbiAgICAgICAgdGhpcy5fc2hvd09rID0gQ29udmVydC50b0Jvb2xlYW5Qcm9wZXJ0eSh2KTtcclxuICAgIH1cclxuXHJcbiAgICBwcml2YXRlIF9kaXNhYmxlZE9rID0gZmFsc2U7XHJcbiAgICBASW5wdXQoKVxyXG4gICAgZ2V0IGRpc2FibGVkT2soKTogYm9vbGVhbiB7XHJcbiAgICAgICAgcmV0dXJuIHRoaXMuX2Rpc2FibGVkT2s7XHJcbiAgICB9XHJcbiAgICBzZXQgZGlzYWJsZWRPayh2OiBCb29sZWFuSW5wdXQpIHtcclxuICAgICAgICB0aGlzLl9kaXNhYmxlZE9rID0gQ29udmVydC50b0Jvb2xlYW5Qcm9wZXJ0eSh2KTtcclxuICAgIH1cclxuXHJcbiAgICBwcml2YXRlIF9zaG93Q2FuY2VsID0gdHJ1ZTtcclxuICAgIEBJbnB1dCgpXHJcbiAgICBnZXQgc2hvd0NhbmNlbCgpOiBib29sZWFuIHtcclxuICAgICAgICByZXR1cm4gdGhpcy5fc2hvd0NhbmNlbDtcclxuICAgIH1cclxuICAgIHNldCBzaG93Q2FuY2VsKHY6IEJvb2xlYW5JbnB1dCkge1xyXG4gICAgICAgIHRoaXMuX3Nob3dDYW5jZWwgPSBDb252ZXJ0LnRvQm9vbGVhblByb3BlcnR5KHYpO1xyXG4gICAgfVxyXG5cclxuICAgIHByaXZhdGUgX2F1dG9IaWRlID0gdHJ1ZTtcclxuICAgIEBJbnB1dCgpXHJcbiAgICBnZXQgYXV0b0hpZGUoKTogYm9vbGVhbiB7XHJcbiAgICAgICAgcmV0dXJuIHRoaXMuX2F1dG9IaWRlO1xyXG4gICAgfVxyXG4gICAgc2V0IGF1dG9IaWRlKHY6IEJvb2xlYW5JbnB1dCkge1xyXG4gICAgICAgIHRoaXMuX2F1dG9IaWRlID0gQ29udmVydC50b0Jvb2xlYW5Qcm9wZXJ0eSh2KTtcclxuICAgIH1cclxuXHJcbiAgICBASW5wdXQoKSB0aXRsZT86IHN0cmluZyB8IG51bGw7XHJcblxyXG4gICAgQElucHV0KCkgdGV4dD86IHN0cmluZyB8IG51bGw7XHJcblxyXG4gICAgQElucHV0KCkgaWNvbj86IHN0cmluZyB8IG51bGw7XHJcblxyXG4gICAgQElucHV0KCkgb2tCdXR0b25UZXh0Pzogc3RyaW5nIHwgbnVsbDtcclxuXHJcbiAgICBAT3V0cHV0KCkgb25TaG93biA9IG5ldyBFdmVudEVtaXR0ZXI8dm9pZD4oKTtcclxuXHJcbiAgICBAT3V0cHV0KCkgb25IaWRkZW4gPSBuZXcgRXZlbnRFbWl0dGVyPHZvaWQ+KCk7XHJcblxyXG4gICAgQE91dHB1dCgpIG9uT2sgPSBuZXcgRXZlbnRFbWl0dGVyPGFueT4oKTtcclxuICAgIEBPdXRwdXQoKSBvbkNhbmNlbCA9IG5ldyBFdmVudEVtaXR0ZXI8dm9pZD4oKTtcclxuXHJcbiAgICBASW5wdXQoKSBjb21wb25lbnRUeXBlID0gQ29tcG9uZW50VHlwZS5QcmltYXJ5O1xyXG5cclxuXHJcblxyXG4gICAgcHJpdmF0ZSBfc2l6ZTogTW9kYWxTaXplID0gJyc7XHJcbiAgICBASW5wdXQoKVxyXG4gICAgZ2V0IHNpemUoKSB7XHJcbiAgICAgICAgcmV0dXJuIHRoaXMuX3NpemU7XHJcbiAgICB9XHJcbiAgICBzZXQgc2l6ZSh2OiBNb2RhbFNpemUpIHtcclxuICAgICAgICB0aGlzLl9zaXplID0gdjtcclxuICAgIH1cclxuXHJcbiAgICAvKipcclxuICAgICAqIEBkZXByZWNhdGVkIFBsZWFzZSB1c2Ugc2l6ZSBwcm9wZXJ0eVxyXG4gICAgICovXHJcbiAgICBASW5wdXQoKVxyXG4gICAgZ2V0IGxhcmdlKCk6IGJvb2xlYW4ge1xyXG4gICAgICAgIHJldHVybiB0aGlzLl9zaXplID09PSAnbGcnO1xyXG4gICAgfVxyXG4gICAgc2V0IGxhcmdlKHY6IEJvb2xlYW5JbnB1dCkge1xyXG4gICAgICAgIHRoaXMuX3NpemUgPSBDb252ZXJ0LnRvQm9vbGVhblByb3BlcnR5KHYpID8gJ2xnJyA6ICcnO1xyXG4gICAgfVxyXG5cclxuICAgIC8qKlxyXG4gICAgICogQGRlcHJlY2F0ZWQgUGxlYXNlIHVzZSBzaXplIHByb3BlcnR5XHJcbiAgICAgKi9cclxuICAgIEBJbnB1dCgpXHJcbiAgICBnZXQgeGwoKTogYm9vbGVhbiB7XHJcbiAgICAgICAgcmV0dXJuIHRoaXMuX3NpemUgPT09ICd4bCc7XHJcbiAgICB9XHJcbiAgICBzZXQgeGwodjogQm9vbGVhbklucHV0KSB7XHJcbiAgICAgICAgdGhpcy5fc2l6ZSA9IENvbnZlcnQudG9Cb29sZWFuUHJvcGVydHkodikgPyAneGwnIDogJyc7XHJcbiAgICB9XHJcblxyXG5cclxuICAgIHByaXZhdGUgX3Njcm9sbGFibGUgPSBmYWxzZTtcclxuICAgIEBJbnB1dCgpXHJcbiAgICBnZXQgc2Nyb2xsYWJsZSgpOiBib29sZWFuIHtcclxuICAgICAgICByZXR1cm4gdGhpcy5fc2Nyb2xsYWJsZTtcclxuICAgIH1cclxuICAgIHNldCBzY3JvbGxhYmxlKHY6IEJvb2xlYW5JbnB1dCkge1xyXG4gICAgICAgIHRoaXMuX3Njcm9sbGFibGUgPSBDb252ZXJ0LnRvQm9vbGVhblByb3BlcnR5KHYpO1xyXG4gICAgfVxyXG5cclxuICAgIHByaXZhdGUgX2Z1bGxzY3JlZW4gPSBmYWxzZTtcclxuICAgIEBJbnB1dCgpXHJcbiAgICBnZXQgZnVsbHNjcmVlbigpOiBib29sZWFuIHtcclxuICAgICAgICByZXR1cm4gdGhpcy5fZnVsbHNjcmVlbjtcclxuICAgIH1cclxuICAgIHNldCBmdWxsc2NyZWVuKHY6IEJvb2xlYW5JbnB1dCkge1xyXG4gICAgICAgIHRoaXMuX2Z1bGxzY3JlZW4gPSBDb252ZXJ0LnRvQm9vbGVhblByb3BlcnR5KHYpO1xyXG4gICAgfVxyXG5cclxuICAgIHByaXZhdGUgX3Nob3dIZWFkZXIgPSB0cnVlO1xyXG4gICAgQElucHV0KClcclxuICAgIGdldCBzaG93SGVhZGVyKCk6IGJvb2xlYW4ge1xyXG4gICAgICAgIHJldHVybiB0aGlzLl9zaG93SGVhZGVyO1xyXG4gICAgfVxyXG4gICAgc2V0IHNob3dIZWFkZXIodjogQm9vbGVhbklucHV0KSB7XHJcbiAgICAgICAgdGhpcy5fc2hvd0hlYWRlciA9IENvbnZlcnQudG9Cb29sZWFuUHJvcGVydHkodik7XHJcbiAgICB9XHJcblxyXG4gICAgcHJpdmF0ZSBfc2hvd0Zvb3RlciA9IHRydWU7XHJcbiAgICBASW5wdXQoKVxyXG4gICAgZ2V0IHNob3dGb290ZXIoKTogYm9vbGVhbiB7XHJcbiAgICAgICAgcmV0dXJuIHRoaXMuX3Nob3dGb290ZXI7XHJcbiAgICB9XHJcbiAgICBzZXQgc2hvd0Zvb3Rlcih2OiBCb29sZWFuSW5wdXQpIHtcclxuICAgICAgICB0aGlzLl9zaG93Rm9vdGVyID0gQ29udmVydC50b0Jvb2xlYW5Qcm9wZXJ0eSh2KTtcclxuICAgIH1cclxuXHJcblxyXG5cclxuXHJcbiAgICBAT3V0cHV0KCkgb25WYWxpZGF0aW5nID0gbmV3IEV2ZW50RW1pdHRlcjxWYWxpZEV2ZW50QXJncz4oZmFsc2UpO1xyXG4gICAgLy8gQElucHV0KCkgeHhsOiBib29sZWFuO1xyXG5cclxuICAgIHByaXZhdGUgX21vZGFsOiBhbnk7XHJcbiAgICAvLyBwdWJsaWMgZ2V0IG1vZGFsKCk6IGFueSB7XHJcbiAgICAvLyAgICAgaWYgKCF0aGlzLl9tb2RhbCkge1xyXG4gICAgLy8gICAgICAgICB0aGlzLmdldE1vZGFsKCk7XHJcbiAgICAvLyAgICAgfVxyXG4gICAgLy8gICAgIHJldHVybiB0aGlzLl9tb2RhbDtcclxuICAgIC8vIH1cclxuICAgIC8vIHB1YmxpYyBzZXQgbW9kYWwodjogYW55KSB7XHJcbiAgICAvLyAgICAgdGhpcy5fbW9kYWwgPSB2O1xyXG4gICAgLy8gfVxyXG5cclxuICAgIHByb3RlY3RlZCBnZXRNb2RhbEVsZW1lbnQoKSB7XHJcbiAgICAgICAgcmV0dXJuIGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKHRoaXMubW9kYWxJZCk7XHJcbiAgICB9XHJcbiAgICBwcm90ZWN0ZWQgZ2V0TW9kYWwoKSB7XHJcbiAgICAgICAgY29uc3QgbW9kYWxFbCA9IHRoaXMuZ2V0TW9kYWxFbGVtZW50KCk7XHJcbiAgICAgICAgcmV0dXJuIG5ldyBib290c3RyYXAuTW9kYWwobW9kYWxFbCwgeyBiYWNrZHJvcDogJ3N0YXRpYycgfSk7XHJcbiAgICB9XHJcblxyXG5cclxuXHJcblxyXG4gICAgY3NzQnV0dG9uKCkge1xyXG4gICAgICAgIHJldHVybiBCb290c3RyYXBIZWxwZXIuY3NzQnV0dG9uKHRoaXMuY29tcG9uZW50VHlwZSk7XHJcbiAgICB9XHJcblxyXG4gICAgLy8gcHJpdmF0ZSBpc1Nob3duID0gZmFsc2U7XHJcbiAgICBzaG93KG1vZGVsPzogYW55KSB7XHJcbiAgICAgICAgaWYgKCFtb2RlbCkgbW9kZWwgPSB7fTtcclxuICAgICAgICB0aGlzLm1vZGVsID0gbW9kZWw7XHJcblxyXG4gICAgICAgIC8vIHRoaXMubW9kYWw/LnNob3coKTtcclxuXHJcblxyXG4gICAgICAgIGlmICghdGhpcy5fbW9kYWwpIHtcclxuICAgICAgICAgICAgdGhpcy5fbW9kYWwgPSB0aGlzLmdldE1vZGFsKCk7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGlmICh0aGlzLl9tb2RhbCkge1xyXG4gICAgICAgICAgICB0aGlzLl9tb2RhbC5zaG93KCk7XHJcbiAgICAgICAgICAgIC8vIHRoaXMuaXNTaG93biA9IHRydWU7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuXHJcbiAgICBjYW5jZWwoKXtcclxuICAgICAgICB0aGlzLm9uQ2FuY2VsLmVtaXQoKTtcclxuICAgICAgICB0aGlzLmhpZGUoKTtcclxuICAgIH1cclxuICAgIGhpZGUoKSB7XHJcbiAgICAgICAgLy8gdGhpcy5tb2RhbD8uaGlkZSgpO1xyXG5cclxuICAgICAgICAvLyBpZiAodGhpcy5pc1Nob3duKSB7XHJcbiAgICAgICAgLy8gICAgIGlmICh0aGlzLl9tb2RhbCkge1xyXG4gICAgICAgIC8vICAgICAgICAgdGhpcy5fbW9kYWwuaGlkZSgpO1xyXG4gICAgICAgIC8vICAgICAgICAgdGhpcy5pc1Nob3duID0gZmFsc2U7XHJcbiAgICAgICAgLy8gICAgIH1cclxuICAgICAgICAvLyB9IGVsc2Uge1xyXG5cclxuICAgICAgICAvLyB9XHJcblxyXG4gICAgICAgIGlmICh0aGlzLl9tb2RhbCkge1xyXG4gICAgICAgICAgICB0aGlzLl9tb2RhbC5oaWRlKCk7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGVsc2Uge1xyXG4gICAgICAgICAgICBjb25zdCBidG4gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCh0aGlzLmNhbmNlbEJ1dHRvbklkKTtcclxuICAgICAgICAgICAgaWYgKGJ0bikge1xyXG4gICAgICAgICAgICAgICAgYnRuLmNsaWNrKCk7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG5cclxuXHJcbiAgICBvaygpIHtcclxuICAgICAgICBjb25zdCBldmVudCA9IG5ldyBWYWxpZEV2ZW50QXJncygpO1xyXG4gICAgICAgIHRoaXMub25WYWxpZGF0aW5nLmVtaXQoZXZlbnQpO1xyXG4gICAgICAgIGlmICghZXZlbnQudmFsaWQpIHJldHVybjtcclxuXHJcbiAgICAgICAgaWYgKHRoaXMuYXV0b0hpZGUpXHJcbiAgICAgICAgICAgIHRoaXMuaGlkZSgpO1xyXG5cclxuICAgICAgICB0aGlzLm9uT2suZW1pdCh0aGlzLm1vZGVsKTtcclxuICAgIH1cclxuXHJcblxyXG4gICAga2V5RG93bihlOiBFdmVudCkge1xyXG4gICAgICAgIGUucHJldmVudERlZmF1bHQoKTtcclxuICAgICAgICB0aGlzLm9rKCk7XHJcbiAgICB9XHJcbn1cclxuXHJcbi8qKlxyXG4gKiBAZGVwcmVjYXRlZCBQbGVhc2UgdXNlIFpla01vZGFsXHJcbiAqL1xyXG5AQ29tcG9uZW50KHtcclxuICAgIHNlbGVjdG9yOiAnemVrLWRlbGV0ZS1tb2RhbCcsXHJcbiAgICB0ZW1wbGF0ZVVybDogJy4vbW9kYWwuY29tcG9uZW50Lmh0bWwnXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBaZWtEZWxldGVNb2RhbCBleHRlbmRzIFpla01vZGFsIHtcclxuICAgIGNvbnN0cnVjdG9yKCkge1xyXG4gICAgICAgIHN1cGVyKCk7XHJcbiAgICAgICAgdGhpcy5pY29uID0gJ2ZhLXNvbGlkIGZhLXRyYXNoJztcclxuICAgICAgICB0aGlzLnRyYW5zbGF0ZS5nZXQoJ0FjdGlvbi5EZWxldGUnKS5zdWJzY3JpYmUoKHJlczogc3RyaW5nKSA9PiB0aGlzLnRpdGxlID0gcmVzKTtcclxuICAgICAgICB0aGlzLnRyYW5zbGF0ZS5nZXQoJ0FsZXJ0LkRlbGV0ZVF1ZXN0aW9uJykuc3Vic2NyaWJlKChyZXM6IHN0cmluZykgPT4gdGhpcy50ZXh0ID0gcmVzKTtcclxuICAgICAgICB0aGlzLmNvbXBvbmVudFR5cGUgPSBDb21wb25lbnRUeXBlLkRlbGV0ZTtcclxuICAgIH1cclxufVxyXG5cclxuLyoqXHJcbiAqIEBkZXByZWNhdGVkIFBsZWFzZSB1c2UgWmVrTW9kYWxcclxuICovXHJcbkBDb21wb25lbnQoe1xyXG4gICAgc2VsZWN0b3I6ICd6ZWstYXBwcm92ZS1tb2RhbCcsXHJcbiAgICB0ZW1wbGF0ZVVybDogJy4vbW9kYWwuY29tcG9uZW50Lmh0bWwnXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBaZWtBcHByb3ZlTW9kYWwgZXh0ZW5kcyBaZWtNb2RhbCB7XHJcbiAgICBjb25zdHJ1Y3RvcigpIHtcclxuICAgICAgICBzdXBlcigpO1xyXG4gICAgICAgIHRoaXMuaWNvbiA9ICdmYS1zb2xpZCBmYS10aHVtYnMtdXAnO1xyXG4gICAgICAgIHRoaXMudHJhbnNsYXRlLmdldCgnQWN0aW9uLkFwcHJvdmUnKS5zdWJzY3JpYmUoKHJlczogc3RyaW5nKSA9PiB0aGlzLnRpdGxlID0gcmVzKTtcclxuICAgICAgICB0aGlzLnRyYW5zbGF0ZS5nZXQoJ0FsZXJ0LkFwcHJvdmVRdWVzdGlvbicpLnN1YnNjcmliZSgocmVzOiBzdHJpbmcpID0+IHRoaXMudGV4dCA9IHJlcyk7XHJcbiAgICAgICAgdGhpcy5jb21wb25lbnRUeXBlID0gQ29tcG9uZW50VHlwZS5TdWNjZXNzO1xyXG4gICAgfVxyXG59XHJcblxyXG4vKipcclxuICogQGRlcHJlY2F0ZWQgUGxlYXNlIHVzZSBaZWtNb2RhbFxyXG4gKi9cclxuQENvbXBvbmVudCh7XHJcbiAgICBzZWxlY3RvcjogJ3play1zdWJtaXQtbW9kYWwnLFxyXG4gICAgdGVtcGxhdGVVcmw6ICcuL21vZGFsLmNvbXBvbmVudC5odG1sJ1xyXG59KVxyXG5leHBvcnQgY2xhc3MgWmVrU3VibWl0TW9kYWwgZXh0ZW5kcyBaZWtNb2RhbCB7XHJcbiAgICBjb25zdHJ1Y3RvcigpIHtcclxuICAgICAgICBzdXBlcigpO1xyXG4gICAgICAgIHRoaXMuaWNvbiA9ICdmYS1zb2xpZCBmYS10aHVtYnMtdXAnO1xyXG4gICAgICAgIHRoaXMudHJhbnNsYXRlLmdldCgnQWN0aW9uLlN1Ym1pdCcpLnN1YnNjcmliZSgocmVzOiBzdHJpbmcpID0+IHRoaXMudGl0bGUgPSByZXMpO1xyXG4gICAgICAgIHRoaXMudHJhbnNsYXRlLmdldCgnQWxlcnQuU3VibWl0UXVlc3Rpb24nKS5zdWJzY3JpYmUoKHJlczogc3RyaW5nKSA9PiB0aGlzLnRleHQgPSByZXMpO1xyXG4gICAgICAgIHRoaXMuY29tcG9uZW50VHlwZSA9IENvbXBvbmVudFR5cGUuU3VjY2VzcztcclxuICAgIH1cclxufVxyXG5cclxuLyoqXHJcbiAqIEBkZXByZWNhdGVkIFBsZWFzZSB1c2UgWmVrTW9kYWxcclxuICovXHJcbkBDb21wb25lbnQoe1xyXG4gICAgc2VsZWN0b3I6ICd6ZWstZGlzYXBwcm92ZS1tb2RhbCcsXHJcbiAgICB0ZW1wbGF0ZVVybDogJy4vbW9kYWwuY29tcG9uZW50Lmh0bWwnXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBaZWtEaXNhcHByb3ZlTW9kYWwgZXh0ZW5kcyBaZWtNb2RhbCB7XHJcbiAgICBjb25zdHJ1Y3RvcigpIHtcclxuICAgICAgICBzdXBlcigpO1xyXG4gICAgICAgIHRoaXMuaWNvbiA9ICdmYS1zb2xpZCBmYS10aHVtYnMtZG93bic7XHJcbiAgICAgICAgdGhpcy50cmFuc2xhdGUuZ2V0KCdBY3Rpb24uRGlzYXBwcm92ZScpLnN1YnNjcmliZSgocmVzOiBzdHJpbmcpID0+IHRoaXMudGl0bGUgPSByZXMpO1xyXG4gICAgICAgIHRoaXMudHJhbnNsYXRlLmdldCgnQWxlcnQuRGlzYXBwcm92ZVF1ZXN0aW9uJykuc3Vic2NyaWJlKChyZXM6IHN0cmluZykgPT4gdGhpcy50ZXh0ID0gcmVzKTtcclxuICAgICAgICB0aGlzLmNvbXBvbmVudFR5cGUgPSBDb21wb25lbnRUeXBlLkRlbGV0ZTtcclxuICAgIH1cclxufVxyXG5cclxuXHJcbi8qKlxyXG4gKiBAZGVwcmVjYXRlZCBQbGVhc2UgdXNlIFpla01vZGFsXHJcbiAqL1xyXG5AQ29tcG9uZW50KHtcclxuICAgIHNlbGVjdG9yOiAnemVrLXJlc3RvcmUtbW9kYWwnLFxyXG4gICAgdGVtcGxhdGVVcmw6ICcuL21vZGFsLmNvbXBvbmVudC5odG1sJ1xyXG59KVxyXG5leHBvcnQgY2xhc3MgWmVrUmVzdG9yZU1vZGFsIGV4dGVuZHMgWmVrTW9kYWwge1xyXG4gICAgY29uc3RydWN0b3IoKSB7XHJcbiAgICAgICAgc3VwZXIoKTtcclxuICAgICAgICB0aGlzLmljb24gPSAnZmEtc29saWQgZmEtcm90YXRlLXJpZ2h0JztcclxuICAgICAgICB0aGlzLnRyYW5zbGF0ZS5nZXQoJ0FjdGlvbi5SZXN0b3JlJykuc3Vic2NyaWJlKChyZXM6IHN0cmluZykgPT4gdGhpcy50aXRsZSA9IHJlcyk7XHJcbiAgICAgICAgdGhpcy50cmFuc2xhdGUuZ2V0KCdBY3Rpb24uUmVzdG9yZVF1ZXN0aW9uJykuc3Vic2NyaWJlKChyZXM6IHN0cmluZykgPT4gdGhpcy50ZXh0ID0gcmVzKTtcclxuICAgICAgICB0aGlzLmNvbXBvbmVudFR5cGUgPSBDb21wb25lbnRUeXBlLlN1Y2Nlc3M7XHJcbiAgICB9XHJcbn0iLCI8ZGl2IChrZXlkb3duLmVudGVyKT1cImtleURvd24oJGV2ZW50KVwiIGNsYXNzPVwibW9kYWwgZmFkZVwiIGRhdGEtYnMtYmFja2Ryb3A9XCJzdGF0aWNcIiBpZD1cInt7bW9kYWxJZH19XCIgdGFiaW5kZXg9XCItMVwiIGF0dHIuYXJpYS1sYWJlbGxlZGJ5PVwie3tsYWJsZUlkfX1cIiBhcmlhLWhpZGRlbj1cInRydWVcIj5cclxuICAgIDxkaXYgY2xhc3M9XCJtb2RhbC1kaWFsb2dcIiBbbmdDbGFzc109XCJ7XHJcbiAgICAgICAgJ21vZGFsLXNtJzogc2l6ZSA9PT0gJ3NtJyxcclxuICAgICAgICAnbW9kYWwtbGcnOiBzaXplID09PSAnbGcnLCBcclxuICAgICAgICAnbW9kYWwteGwnOiBzaXplID09PSAneGwnXHJcbiAgICB9XCIgW2NsYXNzLm1vZGFsLWRpYWxvZy1zY3JvbGxhYmxlXT1cInNjcm9sbGFibGVcIiBbY2xhc3MubW9kYWwtZnVsbHNjcmVlbl09XCJmdWxsc2NyZWVuXCI+XHJcbiAgICAgICAgPGRpdiBjbGFzcz1cIm1vZGFsLWNvbnRlbnRcIj5cclxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cIm1vZGFsLWhlYWRlclwiICpuZ0lmPVwic2hvd0hlYWRlclwiPlxyXG4gICAgICAgICAgICAgICAgPG5nLWNvbnRlbnQgc2VsZWN0PVwiaGVhZGVyXCI+PC9uZy1jb250ZW50PlxyXG4gICAgICAgICAgICAgICAgPGg1IGNsYXNzPVwibW9kYWwtdGl0bGVcIiBpZD1cInt7bGFibGVJZH19XCI+e3t0aXRsZX19PC9oNT5cclxuICAgICAgICAgICAgICAgIDxidXR0b24gdHlwZT1cImJ1dHRvblwiIGNsYXNzPVwiYnRuLWNsb3NlXCIgZGF0YS1icy1kaXNtaXNzPVwibW9kYWxcIiBhcmlhLWxhYmVsPVwiQ2xvc2VcIj48L2J1dHRvbj5cclxuICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJtb2RhbC1ib2R5XCI+XHJcbiAgICAgICAgICAgICAgICB7e3RleHR9fVxyXG4gICAgICAgICAgICAgICAgPG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50PlxyXG4gICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cIm1vZGFsLWZvb3RlclwiICpuZ0lmPVwic2hvd0Zvb3RlclwiPlxyXG4gICAgICAgICAgICAgICAgPG5nLWNvbnRlbnQgc2VsZWN0PVwiZm9vdGVyXCI+PC9uZy1jb250ZW50PlxyXG4gICAgICAgICAgICAgICAgPGJ1dHRvbiBbY2xhc3MudmlzdWFsbHktaGlkZGVuXT1cIiFzaG93T2tcIiBbZGlzYWJsZWRdPVwiZGlzYWJsZWRPa1wiIHR5cGU9XCJidXR0b25cIiBjbGFzcz1cImJ0biB7e2Nzc0J1dHRvbigpfX1cIiBpZD1cInt7b2tCdXR0b25JZH19XCJcclxuICAgICAgICAgICAgICAgICAgICAoY2xpY2spPVwib2soKVwiPlxyXG4gICAgICAgICAgICAgICAgICAgIDxpICpuZ0lmPVwiaWNvblwiIGNsYXNzPVwie3sgaWNvbiB9fVwiPjwvaT4ge3sgb2tCdXR0b25UZXh0IH19XHJcbiAgICAgICAgICAgICAgICA8L2J1dHRvbj5cclxuICAgICAgICAgICAgICAgIDxidXR0b24gW2NsYXNzLnZpc3VhbGx5LWhpZGRlbl09XCIhc2hvd0NhbmNlbFwiIHR5cGU9XCJidXR0b25cIiBjbGFzcz1cImJ0biBidG4tc2Vjb25kYXJ5XCJcclxuICAgICAgICAgICAgICAgICAgICAoY2xpY2spPVwiY2FuY2VsKClcIj5cclxuICAgICAgICAgICAgICAgICAgICA8aSBjbGFzcz1cImZhLXNvbGlkIGZhLWJhblwiPjwvaT4ge3sgJ0FjdGlvbi5DYW5jZWwnIHwgdHJhbnNsYXRlIH19XHJcbiAgICAgICAgICAgICAgICA8L2J1dHRvbj5cclxuICAgICAgICAgICAgICAgIDxidXR0b24gdHlwZT1cImJ1dHRvblwiIGNsYXNzPVwiZC1ub25lXCIgaWQ9XCJ7e2NhbmNlbEJ1dHRvbklkfX1cIiBkYXRhLWJzLWRpc21pc3M9XCJtb2RhbFwiPjwvYnV0dG9uPlxyXG4gICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICA8L2Rpdj5cclxuICAgIDwvZGl2PlxyXG48L2Rpdj4iXX0=
352
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibW9kYWwuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvemVrL3NyYy9saWIvbW9kdWxlcy9tb2RhbC9tb2RhbC9tb2RhbC5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy96ZWsvc3JjL2xpYi9tb2R1bGVzL21vZGFsL21vZGFsL21vZGFsLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxFQUFFLFlBQVksRUFBRSxLQUFLLEVBQUUsTUFBTSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQy9FLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLHFCQUFxQixDQUFDO0FBQ3ZELE9BQU8sRUFBZ0IsYUFBYSxFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFDbEUsT0FBTyxFQUFFLGVBQWUsRUFBRSxhQUFhLEVBQUUsT0FBTyxFQUFFLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUNoRyxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sd0NBQXdDLENBQUM7Ozs7QUFJeEUsSUFBSSxRQUFRLEdBQUcsQ0FBQyxDQUFDO0FBTWpCLE1BQU0sT0FBTyxRQUFTLFNBQVEsYUFBYTtJQUozQzs7UUFLdUIsY0FBUyxHQUFHLE1BQU0sQ0FBQyxnQkFBZ0IsQ0FBQyxDQUFDO1FBb0NoRCxjQUFTLEdBQVcsYUFBYSxFQUFFLFFBQVEsRUFBRSxDQUFDO1FBQ3RELDBDQUEwQztRQUNqQyxPQUFFLEdBQVcsSUFBSSxDQUFDLFNBQVMsQ0FBQztRQUNyQyxZQUFPLEdBQUcsR0FBRyxJQUFJLENBQUMsRUFBRSxRQUFRLENBQUM7UUFDN0IsWUFBTyxHQUFHLEdBQUcsSUFBSSxDQUFDLEVBQUUsUUFBUSxDQUFDO1FBQzdCLG1CQUFjLEdBQUcsR0FBRyxJQUFJLENBQUMsRUFBRSxnQkFBZ0IsQ0FB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U0FBUyxDQUFDLEdBQUcsQ0FBQywwQkFBMEIsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxDQUFDLEdBQVcsRUFBRSxFQUFFLENBQUMsSUFBSSxDQUFDLElBQUksR0FBRyxHQUFHLENBQUMsQ0FBQztRQUMzRixJQUFJLENBQUMsYUFBYSxHQUFHLGFBQWEsQ0FBQyxNQUFNLENBQUM7SUFDOUMsQ0FBQzs4R0FQUSxrQkFBa0I7a0dBQWxCLGtCQUFrQixtRkN4Vi9CLGcxREE4Qk07OzJGRDBUTyxrQkFBa0I7a0JBSjlCLFNBQVM7K0JBQ0ksc0JBQXNCOztBQWNwQzs7R0FFRztBQUtILE1BQU0sT0FBTyxlQUFnQixTQUFRLFFBQVE7SUFDekM7UUFDSSxLQUFLLEVBQUUsQ0FBQztRQUNSLElBQUksQ0FBQyxJQUFJLEdBQUcsMEJBQTBCLENBQUM7UUFDdkMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxHQUFHLENBQUMsZ0JBQWdCLENBQUMsQ0FBQyxTQUFTLENBQUMsQ0FBQyxHQUFXLEVBQUUsRUFBRSxDQUFDLElBQUksQ0FBQyxLQUFLLEdBQUcsR0FBRyxDQUFDLENBQUM7UUFDbEYsSUFBSSxDQUFDLFNBQVMsQ0FBQyxHQUFHLENBQUMsd0JBQXdCLENBQUMsQ0FBQyxTQUFTLENBQUMsQ0FBQyxHQUFXLEVBQUUsRUFBRSxDQUFDLElBQUksQ0FBQyxJQUFJLEdBQUcsR0FBRyxDQUFDLENBQUM7UUFDekYsSUFBSSxDQUFDLGFBQWEsR0FBRyxhQUFhLENBQUMsT0FBTyxDQUFDO0lBQy9DLENBQUM7OEdBUFEsZUFBZTtrR0FBZixlQUFlLGdGQzFXNUIsZzFEQThCTTs7MkZENFVPLGVBQWU7a0JBSjNCLFNBQVM7K0JBQ0ksbUJBQW1CIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBPdXRwdXQsIEV2ZW50RW1pdHRlciwgSW5wdXQsIGluamVjdCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBUcmFuc2xhdGVTZXJ2aWNlIH0gZnJvbSAnQG5neC10cmFuc2xhdGUvY29yZSc7XHJcbmltcG9ydCB7IEJvb2xlYW5JbnB1dCwgQ29yZUNvbXBvbmVudCB9IGZyb20gJy4uLy4uLy4uL2NvbXBvbmVudHMnO1xyXG5pbXBvcnQgeyBCb290c3RyYXBIZWxwZXIsIENvbXBvbmVudFR5cGUsIENvbnZlcnQsIGhhbmRsZXIsIFJhbmRvbUhlbHBlciB9IGZyb20gJy4uLy4uLy4uL3V0aWxzJztcclxuaW1wb3J0IHsgVmFsaWRFdmVudEFyZ3MgfSBmcm9tICcuLi8uLi8uLi9tb2RlbHMvdmFsaWQtZXZlbnQtYXJncy5tb2RlbCc7XHJcbmltcG9ydCB7IE1vZGFsU2l6ZSB9IGZyb20gJy4uLy4uLy4uL21vZGVscyc7XHJcblxyXG5kZWNsYXJlIGxldCBib290c3RyYXA6IGFueTtcclxubGV0IHVuaXF1ZUlkID0gMDtcclxuXHJcbkBDb21wb25lbnQoe1xyXG4gICAgc2VsZWN0b3I6ICd6ZWstbW9kYWwnLFxyXG4gICAgdGVtcGxhdGVVcmw6ICcuL21vZGFsLmNvbXBvbmVudC5odG1sJ1xyXG59KVxyXG5leHBvcnQgY2xhc3MgWmVrTW9kYWwgZXh0ZW5kcyBDb3JlQ29tcG9uZW50IHtcclxuICAgIHByb3RlY3RlZCByZWFkb25seSB0cmFuc2xhdGUgPSBpbmplY3QoVHJhbnNsYXRlU2VydmljZSk7XHJcblxyXG4gICAgb3ZlcnJpZGUgYXN5bmMgZGVzdHJveSgpIHtcclxuICAgICAgICBhd2FpdCBzdXBlci5kZXN0cm95KCk7XHJcbiAgICAgICAgdGhpcy5fbW9kYWw/LmRpc3Bvc2UoKTtcclxuICAgICAgICB0aGlzLl9tb2RhbCA9IG51bGw7XHJcblxyXG4gICAgICAgIGlmICh0aGlzLmhpZGRlbkhhbmRsZXIpIHtcclxuICAgICAgICAgICAgaGFuZGxlci5yZW1vdmVMaXN0ZW5lcih0aGlzLmhpZGRlbkhhbmRsZXIpO1xyXG4gICAgICAgIH1cclxuICAgICAgICBpZiAodGhpcy5zaG93bkhhbmRsZXIpIHtcclxuICAgICAgICAgICAgaGFuZGxlci5yZW1vdmVMaXN0ZW5lcih0aGlzLnNob3duSGFuZGxlcik7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgb3ZlcnJpZGUgaW5pdCgpIHtcclxuICAgICAgICBzdXBlci5pbml0KClcclxuICAgICAgICBpZiAoIXRoaXMub2tCdXR0b25UZXh0KSB7XHJcbiAgICAgICAgICAgIHRoaXMudHJhbnNsYXRlLmdldCgnQWN0aW9uLk9rJykuc3Vic2NyaWJlKHRleHQgPT4ge1xyXG4gICAgICAgICAgICAgICAgdGhpcy5va0J1dHRvblRleHQgPSB0ZXh0O1xyXG4gICAgICAgICAgICB9KTtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIHNldFRpbWVvdXQoKCkgPT4ge1xyXG4gICAgICAgICAgICBjb25zdCBtb2RhbEVsID0gdGhpcy5nZXRNb2RhbEVsZW1lbnQoKTtcclxuICAgICAgICAgICAgaWYgKG1vZGFsRWwpIHtcclxuICAgICAgICAgICAgICAgIHRoaXMuc2hvd25IYW5kbGVyID0gaGFuZGxlci5hZGRMaXN0ZW5lcihtb2RhbEVsLCAnc2hvd24uYnMubW9kYWwnLCAoKSA9PiB7XHJcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5vblNob3duLmVtaXQoKTtcclxuICAgICAgICAgICAgICAgIH0pO1xyXG5cclxuICAgICAgICAgICAgICAgIHRoaXMuaGlkZGVuSGFuZGxlciA9IGhhbmRsZXIuYWRkTGlzdGVuZXIobW9kYWxFbCwgJ2hpZGRlbi5icy5tb2RhbCcsICgpID0+IHtcclxuICAgICAgICAgICAgICAgICAgICB0aGlzLm9uSGlkZGVuLmVtaXQoKTtcclxuICAgICAgICAgICAgICAgIH0pO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfSwgMSk7XHJcbiAgICB9XHJcblxyXG4gICAgcHJpdmF0ZSBfdW5pcXVlSWQ6IHN0cmluZyA9IGB6ZWstbW9kYWwtJHsrK3VuaXF1ZUlkfWA7XHJcbiAgICAvKiogVGhlIHVuaXF1ZSBJRCBmb3IgdGhlIHJhZGlvIGJ1dHRvbi4gKi9cclxuICAgIEBJbnB1dCgpIGlkOiBzdHJpbmcgPSB0aGlzLl91bmlxdWVJZDtcclxuICAgIG1vZGFsSWQgPSBgJHt0aGlzLmlkfS1tb2RhbGA7XHJcbiAgICBsYWJsZUlkID0gYCR7dGhpcy5pZH0tbGFibGVgO1xyXG4gICAgY2FuY2VsQnV0dG9uSWQgPSBgJHt0aGlzLmlkfS1jYW5jZWwtYnV0dG9uYDtcclxuICAgIG9rQnV0dG9uSWQgPSBgJHt0aGlzLmlkfS1vay1idXR0b25gO1xyXG5cclxuICAgIHNob3duSGFuZGxlcj86IG51bWJlciB8IG51bGw7XHJcbiAgICBoaWRkZW5IYW5kbGVyPzogbnVtYmVyIHwgbnVsbDtcclxuXHJcbiAgICBASW5wdXQoKSBtb2RlbDogYW55O1xyXG4gICAgcmVhZG9ubHkgZWxlbWVudElkID0gUmFuZG9tSGVscGVyLnJhbmRvbUhleCgpO1xyXG5cclxuXHJcbiAgICBwcml2YXRlIF9zaG93T2sgPSB0cnVlO1xyXG4gICAgQElucHV0KClcclxuICAgIGdldCBzaG93T2soKTogYm9vbGVhbiB7XHJcbiAgICAgICAgcmV0dXJuIHRoaXMuX3Nob3dPaztcclxuICAgIH1cclxuICAgIHNldCBzaG93T2sodjogQm9vbGVhbklucHV0KSB7XHJcbiAgICAgICAgdGhpcy5fc2hvd09rID0gQ29udmVydC50b0Jvb2xlYW5Qcm9wZXJ0eSh2KTtcclxuICAgIH1cclxuXHJcbiAgICBwcml2YXRlIF9kaXNhYmxlZE9rID0gZmFsc2U7XHJcbiAgICBASW5wdXQoKVxyXG4gICAgZ2V0IGRpc2FibGVkT2soKTogYm9vbGVhbiB7XHJcbiAgICAgICAgcmV0dXJuIHRoaXMuX2Rpc2FibGVkT2s7XHJcbiAgICB9XHJcbiAgICBzZXQgZGlzYWJsZWRPayh2OiBCb29sZWFuSW5wdXQpIHtcclxuICAgICAgICB0aGlzLl9kaXNhYmxlZE9rID0gQ29udmVydC50b0Jvb2xlYW5Qcm9wZXJ0eSh2KTtcclxuICAgIH1cclxuXHJcbiAgICBwcml2YXRlIF9zaG93Q2FuY2VsID0gdHJ1ZTtcclxuICAgIEBJbnB1dCgpXHJcbiAgICBnZXQgc2hvd0NhbmNlbCgpOiBib29sZWFuIHtcclxuICAgICAgICByZXR1cm4gdGhpcy5fc2hvd0NhbmNlbDtcclxuICAgIH1cclxuICAgIHNldCBzaG93Q2FuY2VsKHY6IEJvb2xlYW5JbnB1dCkge1xyXG4gICAgICAgIHRoaXMuX3Nob3dDYW5jZWwgPSBDb252ZXJ0LnRvQm9vbGVhblByb3BlcnR5KHYpO1xyXG4gICAgfVxyXG5cclxuICAgIHByaXZhdGUgX2F1dG9IaWRlID0gdHJ1ZTtcclxuICAgIEBJbnB1dCgpXHJcbiAgICBnZXQgYXV0b0hpZGUoKTogYm9vbGVhbiB7XHJcbiAgICAgICAgcmV0dXJuIHRoaXMuX2F1dG9IaWRlO1xyXG4gICAgfVxyXG4gICAgc2V0IGF1dG9IaWRlKHY6IEJvb2xlYW5JbnB1dCkge1xyXG4gICAgICAgIHRoaXMuX2F1dG9IaWRlID0gQ29udmVydC50b0Jvb2xlYW5Qcm9wZXJ0eSh2KTtcclxuICAgIH1cclxuXHJcbiAgICBASW5wdXQoKSB0aXRsZT86IHN0cmluZyB8IG51bGw7XHJcblxyXG4gICAgQElucHV0KCkgdGV4dD86IHN0cmluZyB8IG51bGw7XHJcblxyXG4gICAgQElucHV0KCkgaWNvbj86IHN0cmluZyB8IG51bGw7XHJcblxyXG4gICAgQElucHV0KCkgb2tCdXR0b25UZXh0Pzogc3RyaW5nIHwgbnVsbDtcclxuXHJcbiAgICBAT3V0cHV0KCkgb25TaG93biA9IG5ldyBFdmVudEVtaXR0ZXI8dm9pZD4oKTtcclxuXHJcbiAgICBAT3V0cHV0KCkgb25IaWRkZW4gPSBuZXcgRXZlbnRFbWl0dGVyPHZvaWQ+KCk7XHJcblxyXG4gICAgQE91dHB1dCgpIG9uT2sgPSBuZXcgRXZlbnRFbWl0dGVyPGFueT4oKTtcclxuICAgIEBPdXRwdXQoKSBvbkNhbmNlbCA9IG5ldyBFdmVudEVtaXR0ZXI8dm9pZD4oKTtcclxuXHJcbiAgICBASW5wdXQoKSBjb21wb25lbnRUeXBlID0gQ29tcG9uZW50VHlwZS5QcmltYXJ5O1xyXG5cclxuXHJcblxyXG4gICAgcHJpdmF0ZSBfc2l6ZTogTW9kYWxTaXplID0gJyc7XHJcbiAgICBASW5wdXQoKVxyXG4gICAgZ2V0IHNpemUoKSB7XHJcbiAgICAgICAgcmV0dXJuIHRoaXMuX3NpemU7XHJcbiAgICB9XHJcbiAgICBzZXQgc2l6ZSh2OiBNb2RhbFNpemUpIHtcclxuICAgICAgICB0aGlzLl9zaXplID0gdjtcclxuICAgIH1cclxuXHJcbiAgICAvKipcclxuICAgICAqIEBkZXByZWNhdGVkIFBsZWFzZSB1c2Ugc2l6ZSBwcm9wZXJ0eVxyXG4gICAgICovXHJcbiAgICBASW5wdXQoKVxyXG4gICAgZ2V0IGxhcmdlKCk6IGJvb2xlYW4ge1xyXG4gICAgICAgIHJldHVybiB0aGlzLl9zaXplID09PSAnbGcnO1xyXG4gICAgfVxyXG4gICAgc2V0IGxhcmdlKHY6IEJvb2xlYW5JbnB1dCkge1xyXG4gICAgICAgIHRoaXMuX3NpemUgPSBDb252ZXJ0LnRvQm9vbGVhblByb3BlcnR5KHYpID8gJ2xnJyA6ICcnO1xyXG4gICAgfVxyXG5cclxuICAgIC8qKlxyXG4gICAgICogQGRlcHJlY2F0ZWQgUGxlYXNlIHVzZSBzaXplIHByb3BlcnR5XHJcbiAgICAgKi9cclxuICAgIEBJbnB1dCgpXHJcbiAgICBnZXQgeGwoKTogYm9vbGVhbiB7XHJcbiAgICAgICAgcmV0dXJuIHRoaXMuX3NpemUgPT09ICd4bCc7XHJcbiAgICB9XHJcbiAgICBzZXQgeGwodjogQm9vbGVhbklucHV0KSB7XHJcbiAgICAgICAgdGhpcy5fc2l6ZSA9IENvbnZlcnQudG9Cb29sZWFuUHJvcGVydHkodikgPyAneGwnIDogJyc7XHJcbiAgICB9XHJcblxyXG5cclxuICAgIHByaXZhdGUgX3Njcm9sbGFibGUgPSBmYWxzZTtcclxuICAgIEBJbnB1dCgpXHJcbiAgICBnZXQgc2Nyb2xsYWJsZSgpOiBib29sZWFuIHtcclxuICAgICAgICByZXR1cm4gdGhpcy5fc2Nyb2xsYWJsZTtcclxuICAgIH1cclxuICAgIHNldCBzY3JvbGxhYmxlKHY6IEJvb2xlYW5JbnB1dCkge1xyXG4gICAgICAgIHRoaXMuX3Njcm9sbGFibGUgPSBDb252ZXJ0LnRvQm9vbGVhblByb3BlcnR5KHYpO1xyXG4gICAgfVxyXG5cclxuICAgIHByaXZhdGUgX2Z1bGxzY3JlZW4gPSBmYWxzZTtcclxuICAgIEBJbnB1dCgpXHJcbiAgICBnZXQgZnVsbHNjcmVlbigpOiBib29sZWFuIHtcclxuICAgICAgICByZXR1cm4gdGhpcy5fZnVsbHNjcmVlbjtcclxuICAgIH1cclxuICAgIHNldCBmdWxsc2NyZWVuKHY6IEJvb2xlYW5JbnB1dCkge1xyXG4gICAgICAgIHRoaXMuX2Z1bGxzY3JlZW4gPSBDb252ZXJ0LnRvQm9vbGVhblByb3BlcnR5KHYpO1xyXG4gICAgfVxyXG5cclxuICAgIHByaXZhdGUgX3Nob3dIZWFkZXIgPSB0cnVlO1xyXG4gICAgQElucHV0KClcclxuICAgIGdldCBzaG93SGVhZGVyKCk6IGJvb2xlYW4ge1xyXG4gICAgICAgIHJldHVybiB0aGlzLl9zaG93SGVhZGVyO1xyXG4gICAgfVxyXG4gICAgc2V0IHNob3dIZWFkZXIodjogQm9vbGVhbklucHV0KSB7XHJcbiAgICAgICAgdGhpcy5fc2hvd0hlYWRlciA9IENvbnZlcnQudG9Cb29sZWFuUHJvcGVydHkodik7XHJcbiAgICB9XHJcblxyXG4gICAgcHJpdmF0ZSBfc2hvd0Zvb3RlciA9IHRydWU7XHJcbiAgICBASW5wdXQoKVxyXG4gICAgZ2V0IHNob3dGb290ZXIoKTogYm9vbGVhbiB7XHJcbiAgICAgICAgcmV0dXJuIHRoaXMuX3Nob3dGb290ZXI7XHJcbiAgICB9XHJcbiAgICBzZXQgc2hvd0Zvb3Rlcih2OiBCb29sZWFuSW5wdXQpIHtcclxuICAgICAgICB0aGlzLl9zaG93Rm9vdGVyID0gQ29udmVydC50b0Jvb2xlYW5Qcm9wZXJ0eSh2KTtcclxuICAgIH1cclxuXHJcblxyXG5cclxuXHJcbiAgICBAT3V0cHV0KCkgb25WYWxpZGF0aW5nID0gbmV3IEV2ZW50RW1pdHRlcjxWYWxpZEV2ZW50QXJncz4oZmFsc2UpO1xyXG4gICAgLy8gQElucHV0KCkgeHhsOiBib29sZWFuO1xyXG5cclxuICAgIHByaXZhdGUgX21vZGFsOiBhbnk7XHJcbiAgICAvLyBwdWJsaWMgZ2V0IG1vZGFsKCk6IGFueSB7XHJcbiAgICAvLyAgICAgaWYgKCF0aGlzLl9tb2RhbCkge1xyXG4gICAgLy8gICAgICAgICB0aGlzLmdldE1vZGFsKCk7XHJcbiAgICAvLyAgICAgfVxyXG4gICAgLy8gICAgIHJldHVybiB0aGlzLl9tb2RhbDtcclxuICAgIC8vIH1cclxuICAgIC8vIHB1YmxpYyBzZXQgbW9kYWwodjogYW55KSB7XHJcbiAgICAvLyAgICAgdGhpcy5fbW9kYWwgPSB2O1xyXG4gICAgLy8gfVxyXG5cclxuICAgIHByb3RlY3RlZCBnZXRNb2RhbEVsZW1lbnQoKSB7XHJcbiAgICAgICAgcmV0dXJuIGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKHRoaXMubW9kYWxJZCk7XHJcbiAgICB9XHJcbiAgICBwcm90ZWN0ZWQgZ2V0TW9kYWwoKSB7XHJcbiAgICAgICAgY29uc3QgbW9kYWxFbCA9IHRoaXMuZ2V0TW9kYWxFbGVtZW50KCk7XHJcbiAgICAgICAgcmV0dXJuIG5ldyBib290c3RyYXAuTW9kYWwobW9kYWxFbCwgeyBiYWNrZHJvcDogJ3N0YXRpYycgfSk7XHJcbiAgICB9XHJcblxyXG5cclxuXHJcblxyXG4gICAgY3NzQnV0dG9uKCkge1xyXG4gICAgICAgIHJldHVybiBCb290c3RyYXBIZWxwZXIuY3NzQnV0dG9uKHRoaXMuY29tcG9uZW50VHlwZSk7XHJcbiAgICB9XHJcblxyXG4gICAgLy8gcHJpdmF0ZSBpc1Nob3duID0gZmFsc2U7XHJcbiAgICBzaG93KG1vZGVsPzogYW55KSB7XHJcbiAgICAgICAgaWYgKCFtb2RlbCkgbW9kZWwgPSB7fTtcclxuICAgICAgICB0aGlzLm1vZGVsID0gbW9kZWw7XHJcblxyXG4gICAgICAgIC8vIHRoaXMubW9kYWw/LnNob3coKTtcclxuXHJcblxyXG4gICAgICAgIGlmICghdGhpcy5fbW9kYWwpIHtcclxuICAgICAgICAgICAgdGhpcy5fbW9kYWwgPSB0aGlzLmdldE1vZGFsKCk7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGlmICh0aGlzLl9tb2RhbCkge1xyXG4gICAgICAgICAgICB0aGlzLl9tb2RhbC5zaG93KCk7XHJcbiAgICAgICAgICAgIC8vIHRoaXMuaXNTaG93biA9IHRydWU7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuXHJcbiAgICBjYW5jZWwoKXtcclxuICAgICAgICB0aGlzLm9uQ2FuY2VsLmVtaXQoKTtcclxuICAgICAgICB0aGlzLmhpZGUoKTtcclxuICAgIH1cclxuICAgIGhpZGUoKSB7XHJcbiAgICAgICAgLy8gdGhpcy5tb2RhbD8uaGlkZSgpO1xyXG5cclxuICAgICAgICAvLyBpZiAodGhpcy5pc1Nob3duKSB7XHJcbiAgICAgICAgLy8gICAgIGlmICh0aGlzLl9tb2RhbCkge1xyXG4gICAgICAgIC8vICAgICAgICAgdGhpcy5fbW9kYWwuaGlkZSgpO1xyXG4gICAgICAgIC8vICAgICAgICAgdGhpcy5pc1Nob3duID0gZmFsc2U7XHJcbiAgICAgICAgLy8gICAgIH1cclxuICAgICAgICAvLyB9IGVsc2Uge1xyXG5cclxuICAgICAgICAvLyB9XHJcblxyXG4gICAgICAgIGlmICh0aGlzLl9tb2RhbCkge1xyXG4gICAgICAgICAgICB0aGlzLl9tb2RhbC5oaWRlKCk7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGVsc2Uge1xyXG4gICAgICAgICAgICBjb25zdCBidG4gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCh0aGlzLmNhbmNlbEJ1dHRvbklkKTtcclxuICAgICAgICAgICAgaWYgKGJ0bikge1xyXG4gICAgICAgICAgICAgICAgYnRuLmNsaWNrKCk7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG5cclxuXHJcbiAgICBvaygpIHtcclxuICAgICAgICBjb25zdCBldmVudCA9IG5ldyBWYWxpZEV2ZW50QXJncygpO1xyXG4gICAgICAgIHRoaXMub25WYWxpZGF0aW5nLmVtaXQoZXZlbnQpO1xyXG4gICAgICAgIGlmICghZXZlbnQudmFsaWQpIHJldHVybjtcclxuXHJcbiAgICAgICAgaWYgKHRoaXMuYXV0b0hpZGUpXHJcbiAgICAgICAgICAgIHRoaXMuaGlkZSgpO1xyXG5cclxuICAgICAgICB0aGlzLm9uT2suZW1pdCh0aGlzLm1vZGVsKTtcclxuICAgIH1cclxuXHJcblxyXG4gICAga2V5RG93bihlOiBFdmVudCkge1xyXG4gICAgICAgIGUucHJldmVudERlZmF1bHQoKTtcclxuICAgICAgICB0aGlzLm9rKCk7XHJcbiAgICB9XHJcbn1cclxuXHJcbi8qKlxyXG4gKiBAZGVwcmVjYXRlZCBQbGVhc2UgdXNlIFpla01vZGFsXHJcbiAqL1xyXG5AQ29tcG9uZW50KHtcclxuICAgIHNlbGVjdG9yOiAnemVrLWRlbGV0ZS1tb2RhbCcsXHJcbiAgICB0ZW1wbGF0ZVVybDogJy4vbW9kYWwuY29tcG9uZW50Lmh0bWwnXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBaZWtEZWxldGVNb2RhbCBleHRlbmRzIFpla01vZGFsIHtcclxuICAgIGNvbnN0cnVjdG9yKCkge1xyXG4gICAgICAgIHN1cGVyKCk7XHJcbiAgICAgICAgdGhpcy5pY29uID0gJ2ZhLXNvbGlkIGZhLXRyYXNoJztcclxuICAgICAgICB0aGlzLnRyYW5zbGF0ZS5nZXQoJ0FjdGlvbi5EZWxldGUnKS5zdWJzY3JpYmUoKHJlczogc3RyaW5nKSA9PiB0aGlzLnRpdGxlID0gcmVzKTtcclxuICAgICAgICB0aGlzLnRyYW5zbGF0ZS5nZXQoJ0FsZXJ0LkRlbGV0ZVF1ZXN0aW9uJykuc3Vic2NyaWJlKChyZXM6IHN0cmluZykgPT4gdGhpcy50ZXh0ID0gcmVzKTtcclxuICAgICAgICB0aGlzLmNvbXBvbmVudFR5cGUgPSBDb21wb25lbnRUeXBlLkRlbGV0ZTtcclxuICAgIH1cclxufVxyXG5cclxuLyoqXHJcbiAqIEBkZXByZWNhdGVkIFBsZWFzZSB1c2UgWmVrTW9kYWxcclxuICovXHJcbkBDb21wb25lbnQoe1xyXG4gICAgc2VsZWN0b3I6ICd6ZWstYXBwcm92ZS1tb2RhbCcsXHJcbiAgICB0ZW1wbGF0ZVVybDogJy4vbW9kYWwuY29tcG9uZW50Lmh0bWwnXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBaZWtBcHByb3ZlTW9kYWwgZXh0ZW5kcyBaZWtNb2RhbCB7XHJcbiAgICBjb25zdHJ1Y3RvcigpIHtcclxuICAgICAgICBzdXBlcigpO1xyXG4gICAgICAgIHRoaXMuaWNvbiA9ICdmYS1zb2xpZCBmYS10aHVtYnMtdXAnO1xyXG4gICAgICAgIHRoaXMudHJhbnNsYXRlLmdldCgnQWN0aW9uLkFwcHJvdmUnKS5zdWJzY3JpYmUoKHJlczogc3RyaW5nKSA9PiB0aGlzLnRpdGxlID0gcmVzKTtcclxuICAgICAgICB0aGlzLnRyYW5zbGF0ZS5nZXQoJ0FsZXJ0LkFwcHJvdmVRdWVzdGlvbicpLnN1YnNjcmliZSgocmVzOiBzdHJpbmcpID0+IHRoaXMudGV4dCA9IHJlcyk7XHJcbiAgICAgICAgdGhpcy5jb21wb25lbnRUeXBlID0gQ29tcG9uZW50VHlwZS5TdWNjZXNzO1xyXG4gICAgfVxyXG59XHJcblxyXG4vKipcclxuICogQGRlcHJlY2F0ZWQgUGxlYXNlIHVzZSBaZWtNb2RhbFxyXG4gKi9cclxuQENvbXBvbmVudCh7XHJcbiAgICBzZWxlY3RvcjogJ3play1zdWJtaXQtbW9kYWwnLFxyXG4gICAgdGVtcGxhdGVVcmw6ICcuL21vZGFsLmNvbXBvbmVudC5odG1sJ1xyXG59KVxyXG5leHBvcnQgY2xhc3MgWmVrU3VibWl0TW9kYWwgZXh0ZW5kcyBaZWtNb2RhbCB7XHJcbiAgICBjb25zdHJ1Y3RvcigpIHtcclxuICAgICAgICBzdXBlcigpO1xyXG4gICAgICAgIHRoaXMuaWNvbiA9ICdmYS1zb2xpZCBmYS10aHVtYnMtdXAnO1xyXG4gICAgICAgIHRoaXMudHJhbnNsYXRlLmdldCgnQWN0aW9uLlN1Ym1pdCcpLnN1YnNjcmliZSgocmVzOiBzdHJpbmcpID0+IHRoaXMudGl0bGUgPSByZXMpO1xyXG4gICAgICAgIHRoaXMudHJhbnNsYXRlLmdldCgnQWxlcnQuU3VibWl0UXVlc3Rpb24nKS5zdWJzY3JpYmUoKHJlczogc3RyaW5nKSA9PiB0aGlzLnRleHQgPSByZXMpO1xyXG4gICAgICAgIHRoaXMuY29tcG9uZW50VHlwZSA9IENvbXBvbmVudFR5cGUuU3VjY2VzcztcclxuICAgIH1cclxufVxyXG5cclxuLyoqXHJcbiAqIEBkZXByZWNhdGVkIFBsZWFzZSB1c2UgWmVrTW9kYWxcclxuICovXHJcbkBDb21wb25lbnQoe1xyXG4gICAgc2VsZWN0b3I6ICd6ZWstZGlzYXBwcm92ZS1tb2RhbCcsXHJcbiAgICB0ZW1wbGF0ZVVybDogJy4vbW9kYWwuY29tcG9uZW50Lmh0bWwnXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBaZWtEaXNhcHByb3ZlTW9kYWwgZXh0ZW5kcyBaZWtNb2RhbCB7XHJcbiAgICBjb25zdHJ1Y3RvcigpIHtcclxuICAgICAgICBzdXBlcigpO1xyXG4gICAgICAgIHRoaXMuaWNvbiA9ICdmYS1zb2xpZCBmYS10aHVtYnMtZG93bic7XHJcbiAgICAgICAgdGhpcy50cmFuc2xhdGUuZ2V0KCdBY3Rpb24uRGlzYXBwcm92ZScpLnN1YnNjcmliZSgocmVzOiBzdHJpbmcpID0+IHRoaXMudGl0bGUgPSByZXMpO1xyXG4gICAgICAgIHRoaXMudHJhbnNsYXRlLmdldCgnQWxlcnQuRGlzYXBwcm92ZVF1ZXN0aW9uJykuc3Vic2NyaWJlKChyZXM6IHN0cmluZykgPT4gdGhpcy50ZXh0ID0gcmVzKTtcclxuICAgICAgICB0aGlzLmNvbXBvbmVudFR5cGUgPSBDb21wb25lbnRUeXBlLkRlbGV0ZTtcclxuICAgIH1cclxufVxyXG5cclxuXHJcbi8qKlxyXG4gKiBAZGVwcmVjYXRlZCBQbGVhc2UgdXNlIFpla01vZGFsXHJcbiAqL1xyXG5AQ29tcG9uZW50KHtcclxuICAgIHNlbGVjdG9yOiAnemVrLXJlc3RvcmUtbW9kYWwnLFxyXG4gICAgdGVtcGxhdGVVcmw6ICcuL21vZGFsLmNvbXBvbmVudC5odG1sJ1xyXG59KVxyXG5leHBvcnQgY2xhc3MgWmVrUmVzdG9yZU1vZGFsIGV4dGVuZHMgWmVrTW9kYWwge1xyXG4gICAgY29uc3RydWN0b3IoKSB7XHJcbiAgICAgICAgc3VwZXIoKTtcclxuICAgICAgICB0aGlzLmljb24gPSAnZmEtc29saWQgZmEtcm90YXRlLXJpZ2h0JztcclxuICAgICAgICB0aGlzLnRyYW5zbGF0ZS5nZXQoJ0FjdGlvbi5SZXN0b3JlJykuc3Vic2NyaWJlKChyZXM6IHN0cmluZykgPT4gdGhpcy50aXRsZSA9IHJlcyk7XHJcbiAgICAgICAgdGhpcy50cmFuc2xhdGUuZ2V0KCdBY3Rpb24uUmVzdG9yZVF1ZXN0aW9uJykuc3Vic2NyaWJlKChyZXM6IHN0cmluZykgPT4gdGhpcy50ZXh0ID0gcmVzKTtcclxuICAgICAgICB0aGlzLmNvbXBvbmVudFR5cGUgPSBDb21wb25lbnRUeXBlLlN1Y2Nlc3M7XHJcbiAgICB9XHJcbn0iLCI8ZGl2IChrZXlkb3duLmVudGVyKT1cImtleURvd24oJGV2ZW50KVwiIGNsYXNzPVwibW9kYWwgZmFkZVwiIGRhdGEtYnMtYmFja2Ryb3A9XCJzdGF0aWNcIiBpZD1cInt7bW9kYWxJZH19XCIgdGFiaW5kZXg9XCItMVwiIGF0dHIuYXJpYS1sYWJlbGxlZGJ5PVwie3tsYWJsZUlkfX1cIiBhcmlhLWhpZGRlbj1cInRydWVcIj5cclxuICAgIDxkaXYgY2xhc3M9XCJtb2RhbC1kaWFsb2dcIiBbbmdDbGFzc109XCJ7XHJcbiAgICAgICAgJ21vZGFsLXNtJzogc2l6ZSA9PT0gJ3NtJyxcclxuICAgICAgICAnbW9kYWwtbGcnOiBzaXplID09PSAnbGcnLCBcclxuICAgICAgICAnbW9kYWwteGwnOiBzaXplID09PSAneGwnXHJcbiAgICB9XCIgW2NsYXNzLm1vZGFsLWRpYWxvZy1zY3JvbGxhYmxlXT1cInNjcm9sbGFibGVcIiBbY2xhc3MubW9kYWwtZnVsbHNjcmVlbl09XCJmdWxsc2NyZWVuXCI+XHJcbiAgICAgICAgPGRpdiBjbGFzcz1cIm1vZGFsLWNvbnRlbnRcIj5cclxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cIm1vZGFsLWhlYWRlclwiICpuZ0lmPVwic2hvd0hlYWRlclwiPlxyXG4gICAgICAgICAgICAgICAgPG5nLWNvbnRlbnQgc2VsZWN0PVwiaGVhZGVyXCI+PC9uZy1jb250ZW50PlxyXG4gICAgICAgICAgICAgICAgPGg1IGNsYXNzPVwibW9kYWwtdGl0bGVcIiBpZD1cInt7bGFibGVJZH19XCI+e3t0aXRsZX19PC9oNT5cclxuICAgICAgICAgICAgICAgIDxidXR0b24gdHlwZT1cImJ1dHRvblwiIGNsYXNzPVwiYnRuLWNsb3NlXCIgKGNsaWNrKT1cImNhbmNlbCgpXCIgYXJpYS1sYWJlbD1cIkNsb3NlXCI+PC9idXR0b24+XHJcbiAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwibW9kYWwtYm9keVwiPlxyXG4gICAgICAgICAgICAgICAge3t0ZXh0fX1cclxuICAgICAgICAgICAgICAgIDxuZy1jb250ZW50PjwvbmctY29udGVudD5cclxuICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJtb2RhbC1mb290ZXJcIiAqbmdJZj1cInNob3dGb290ZXJcIj5cclxuICAgICAgICAgICAgICAgIDxuZy1jb250ZW50IHNlbGVjdD1cImZvb3RlclwiPjwvbmctY29udGVudD5cclxuICAgICAgICAgICAgICAgIDxidXR0b24gW2NsYXNzLnZpc3VhbGx5LWhpZGRlbl09XCIhc2hvd09rXCIgW2Rpc2FibGVkXT1cImRpc2FibGVkT2tcIiB0eXBlPVwiYnV0dG9uXCIgY2xhc3M9XCJidG4ge3tjc3NCdXR0b24oKX19XCIgaWQ9XCJ7e29rQnV0dG9uSWR9fVwiXHJcbiAgICAgICAgICAgICAgICAgICAgKGNsaWNrKT1cIm9rKClcIj5cclxuICAgICAgICAgICAgICAgICAgICA8aSAqbmdJZj1cImljb25cIiBjbGFzcz1cInt7IGljb24gfX1cIj48L2k+IHt7IG9rQnV0dG9uVGV4dCB9fVxyXG4gICAgICAgICAgICAgICAgPC9idXR0b24+XHJcbiAgICAgICAgICAgICAgICA8YnV0dG9uIFtjbGFzcy52aXN1YWxseS1oaWRkZW5dPVwiIXNob3dDYW5jZWxcIiB0eXBlPVwiYnV0dG9uXCIgY2xhc3M9XCJidG4gYnRuLXNlY29uZGFyeVwiXHJcbiAgICAgICAgICAgICAgICAgICAgKGNsaWNrKT1cImNhbmNlbCgpXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgPGkgY2xhc3M9XCJmYS1zb2xpZCBmYS1iYW5cIj48L2k+IHt7ICdBY3Rpb24uQ2FuY2VsJyB8IHRyYW5zbGF0ZSB9fVxyXG4gICAgICAgICAgICAgICAgPC9idXR0b24+XHJcbiAgICAgICAgICAgICAgICA8YnV0dG9uIHR5cGU9XCJidXR0b25cIiBjbGFzcz1cImQtbm9uZVwiIGlkPVwie3tjYW5jZWxCdXR0b25JZH19XCIgZGF0YS1icy1kaXNtaXNzPVwibW9kYWxcIj48L2J1dHRvbj5cclxuICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgPC9kaXY+XHJcbiAgICA8L2Rpdj5cclxuPC9kaXY+Il19