mmhglobal-dynamicform 2.23.1 → 2.23.3

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.
package/README.md CHANGED
@@ -2,7 +2,17 @@
2
2
 
3
3
  This library was generated with [Angular CLI](https://github.com/angular/angular-cli) version 11.2.13.
4
4
 
5
- ## Changelog
5
+ ## Changelog
6
+ `2.23.3`<br/>
7
+ [textarea]- Fix bug readonly textarea not scrollable #3481.<br/>
8
+ [textarea]- Character counter allow to ignore white space. #2934<br/>
9
+ [uicontainer]- allow to disable scrollX and scrollY for ion-content #3482<br/>
10
+ [addons]- allow to config tooltip position by using ToolTipPosition. #3580<br/>
11
+
12
+ `2.23.2`<br/>
13
+ [zgrid]- removed unused beforeGridGetData function.<br/>
14
+ [zchip]- Change setupDataSource() from private to public.
15
+
6
16
  `2.23.1`<br/>[
7
17
  [zgrid] - fix grid filter on change if function not found; changed loggingservice method.
8
18
 
@@ -4,7 +4,7 @@ import { Validators } from "@angular/forms";
4
4
  /********** Ionic **********/
5
5
  /********** Plugin **********/
6
6
  import { forkJoin } from "rxjs";
7
- import { ZComponentHelper, ZComponentProperties } from "mmhglobal-zcore";
7
+ import { ComponentType, ZComponentHelper, ZComponentProperties } from "mmhglobal-zcore";
8
8
  import * as i0 from "@angular/core";
9
9
  import * as i1 from "../services/zcomponent.service";
10
10
  // For: app-error, zgauge, zprogressbar, zreport
@@ -15,7 +15,8 @@ export class FieldBase {
15
15
  //#endregion
16
16
  this.setEnable = (status) => {
17
17
  const fc = this.group?.form?.controls[this.data.Value];
18
- if (fc) {
18
+ const componentTypeNotToDisable = [ComponentType.textarea.toString()];
19
+ if (fc && !componentTypeNotToDisable.includes(this.data.Type)) {
19
20
  status ? fc.enable() : fc.disable();
20
21
  }
21
22
  this.componentProperties.isReadOnly = !status;
@@ -171,4 +172,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.4.0", ngImpor
171
172
  }], componentProperties: [{
172
173
  type: Input
173
174
  }] } });
174
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmllbGRiYXNlLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL21taGdsb2JhbC1keW5hbWljZm9ybS9zcmMvbGliL2NvbXBvbmVudHMvZmllbGRiYXNlLmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSwrQkFBK0I7QUFDL0IsT0FBTyxFQUFFLFNBQVMsRUFBRSxLQUFLLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDakQsT0FBTyxFQUFhLFVBQVUsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBRXZELDZCQUE2QjtBQUU3Qiw4QkFBOEI7QUFDOUIsT0FBTyxFQUFFLFFBQVEsRUFBNEIsTUFBTSxNQUFNLENBQUM7QUFJMUQsT0FBTyxFQUVMLGdCQUFnQixFQUF5QixvQkFBb0IsRUFDOUQsTUFBTSxpQkFBaUIsQ0FBQzs7O0FBTXpCLGdEQUFnRDtBQUNoRCxNQUFNLE9BQU8sU0FBUztJQVNwQixZQUNTLGdCQUFtQztRQUFuQyxxQkFBZ0IsR0FBaEIsZ0JBQWdCLENBQW1CO1FBSHJDLGNBQVMsR0FBRyxJQUFJLENBQUM7UUFtSHhCLFlBQVk7UUFFTCxjQUFTLEdBQUcsQ0FBQyxNQUFlLEVBQUUsRUFBRTtZQUNyQyxNQUFNLEVBQUUsR0FBRyxJQUFJLENBQUMsS0FBSyxFQUFFLElBQUksRUFBRSxRQUFRLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQztZQUN2RCxJQUFJLEVBQUUsRUFBRTtnQkFDTixNQUFNLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxNQUFNLEVBQUUsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLE9BQU8sRUFBRSxDQUFDO2FBQ3JDO1lBQ0QsSUFBSSxDQUFDLG1CQUFtQixDQUFDLFVBQVUsR0FBRyxDQUFDLE1BQU0sQ0FBQztRQUNoRCxDQUFDLENBQUE7UUFFTSxlQUFVLEdBQUcsQ0FBQyxNQUFlLEVBQUUsRUFBRTtZQUN0QyxJQUFJ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Q0FBQyxLQUFVLEVBQUUsVUFBZ0I7UUFDbEQsSUFBSSxVQUFVLElBQUksSUFBSSxJQUFJLFVBQVUsSUFBSSxTQUFTLEVBQUU7WUFDakQsT0FBTyxLQUFLLEVBQUUsS0FBSyxJQUFJLEtBQUssRUFBRSxNQUFNLEVBQUUsS0FBSyxDQUFBO1NBQzVDO1FBQ0QsT0FBTyxVQUFVLENBQUM7SUFDcEIsQ0FBQzs7c0dBakxVLFNBQVM7MEZBQVQsU0FBUywwTEFKVixFQUFFOzJGQUlELFNBQVM7a0JBTHJCLFNBQVM7bUJBQUM7b0JBQ1QsUUFBUSxFQUFFLEVBQUU7aUJBQ2I7d0dBSVUsSUFBSTtzQkFBWixLQUFLO2dCQUNHLEtBQUs7c0JBQWIsS0FBSztnQkFDRyxJQUFJO3NCQUFaLEtBQUs7Z0JBQ0csY0FBYztzQkFBdEIsS0FBSztnQkFDRyxtQkFBbUI7c0JBQTNCLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyIvKioqKioqKioqKiBBbmd1bGFyICoqKioqKioqKiovXHJcbmltcG9ydCB7IENvbXBvbmVudCwgSW5wdXQgfSBmcm9tIFwiQGFuZ3VsYXIvY29yZVwiO1xyXG5pbXBvcnQgeyBGb3JtR3JvdXAsIFZhbGlkYXRvcnMgfSBmcm9tIFwiQGFuZ3VsYXIvZm9ybXNcIjtcclxuXHJcbi8qKioqKioqKioqIElvbmljICoqKioqKioqKiovXHJcblxyXG4vKioqKioqKioqKiBQbHVnaW4gKioqKioqKioqKi9cclxuaW1wb3J0IHsgZm9ya0pvaW4sIE9ic2VydmFibGUsIFN1YnNjcmlwdGlvbiB9IGZyb20gXCJyeGpzXCI7XHJcblxyXG4vKioqKioqKioqKiBDb21wb25lbnQgJiBTZXJ2aWNlICoqKioqKioqKiovXHJcbmltcG9ydCB7IFpDb21wb25lbnRTZXJ2aWNlIH0gZnJvbSBcIi4uL3NlcnZpY2VzL3pjb21wb25lbnQuc2VydmljZVwiO1xyXG5pbXBvcnQge1xyXG4gIEZvbnRBd2VTb21lU2VydmljZSxcclxuICBaQ29tcG9uZW50SGVscGVyLCBaQ29tcG9uZW50T3V0cHV0RXZlbnQsIFpDb21wb25lbnRQcm9wZXJ0aWVzLCBaRmllbGQsIFpHcm91cFxyXG59IGZyb20gXCJtbWhnbG9iYWwtemNvcmVcIjtcclxuXHJcbkBDb21wb25lbnQoe1xyXG4gIHRlbXBsYXRlOiBgYCxcclxufSlcclxuXHJcbi8vIEZvcjogYXBwLWVycm9yLCB6Z2F1Z2UsIHpwcm9ncmVzc2JhciwgenJlcG9ydFxyXG5leHBvcnQgY2xhc3MgRmllbGRCYXNlIHtcclxuICBASW5wdXQoKSBkYXRhOiBaRmllbGQ7XHJcbiAgQElucHV0KCkgZ3JvdXA6IFpHcm91cDtcclxuICBASW5wdXQoKSBmb3JtOiBGb3JtR3JvdXA7XHJcbiAgQElucHV0KCkgY29udGFpbmVyRmllbGQ6IFpGaWVsZDtcclxuICBASW5wdXQoKSBjb21wb25lbnRQcm9wZXJ0aWVzOiBaQ29tcG9uZW50UHJvcGVydGllcztcclxuXHJcbiAgcHVibGljIGlzTG9hZGluZyA9IHRydWU7XHJcblxyXG4gIGNvbnN0cnVjdG9yKFxyXG4gICAgcHVibGljIGNvbXBvbmVudFNlcnZpY2U6IFpDb21wb25lbnRTZXJ2aWNlXHJcbiAgKSB7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgaW5pdENvbXBvbmVudChvcHRpb25zPzogRmllbGRTZXR1cE9wdGlvbik6IE9ic2VydmFibGU8YW55PiB7XHJcbiAgICB0aGlzLmlzTG9hZGluZyA9IHRydWU7XHJcbiAgICB0aGlzLmNvbXBvbmVudFByb3BlcnRpZXMgPSB0aGlzLmNvbXBvbmVudFByb3BlcnRpZXMgfHwgbmV3IFpDb21wb25lbnRQcm9wZXJ0aWVzKCk7XHJcbiAgICBaQ29tcG9uZW50SGVscGVyLnNldENvbXBvbmVudFByb3BlcnRpZXModGhpcyk7XHJcbiAgICAvLyBpZiAoIShvcHRpb25zICYmIG9wdGlvbnMuaXNSZWdpc3RlckNvbXBvbmVudCA9PSBmYWxzZSkpIHtcclxuICAgIC8vICAgWkNvbXBvbmVudEhlbHBlci5yZWdpc3RlckNvbXBvbmVudCh0aGlzKTtcclxuICAgIC8vIH1cclxuICAgIFpDb21wb25lbnRIZWxwZXIucmVnaXN0ZXJDb21wb25lbnQodGhpcyk7XHJcbiAgICB0aGlzLmNvbXBvbmVudFNlcnZpY2Uuc2V0Q29tcG9uZW50QWRkaXRpb25hbFByb3BlcnRpZXModGhpcyk7XHJcbiAgICB0aGlzLmNvbXBvbmVudFNlcnZpY2Uuc2V0Q29tcFN0eWxlc0J5SW5kZXgodGhpcyk7XHJcbiAgICB0aGlzLmRhdGEuQ29tcG9uZW50U3R5bGVUeXBlID0gdGhpcy5kYXRhLkNvbXBvbmVudFN0eWxlVHlwZSB8fCBcInN0eWxlMVwiO1xyXG4gICAgcmV0dXJuIGZvcmtKb2luKFt0aGlzLmNvbXBvbmVudFNlcnZpY2UudHJhbnNsYXRlQ29tcG9uZW50RmllbGQodGhpcy5kYXRhLCB0aGlzLmdyb3VwKSwgdGhpcy5jb21wb25lbnRTZXJ2aWNlLnRyYW5zbGF0ZUNvbXBvbmVudFByb3BlcnRpZXModGhpcy5jb21wb25lbnRQcm9wZXJ0aWVzLCB0aGlzLmdyb3VwKV0pO1xyXG4gIH1cclxuXHJcbiAgcHJvdGVjdGVkIHNldHVwQ29tcG9uZW50U2V0dGluZ3MoY29tcG9uZW50U2V0dGluZ3M6IGFueSkge1xyXG4gICAgaWYgKHRoaXMuZGF0YVsnQ29tcG9uZW50U2V0dGluZ3MnXSkge1xyXG4gICAgICBpZiAodHlwZW9mIHRoaXMuZGF0YVsnQ29tcG9uZW50U2V0dGluZ3MnXSA9PSAnc3RyaW5nJykge1xyXG4gICAgICAgIGNvbnN0IG9wdGlvbiA9IFpDb21wb25lbnRIZWxwZXIuZ2V0R3JvdXBWYWx1ZSh0aGlzLmRhdGFbJ0NvbXBvbmVudFNldHRpbmdzJ10sIHRoaXMuZ3JvdXApO1xyXG4gICAgICAgIE9iamVjdC5hc3NpZ24oY29tcG9uZW50U2V0dGluZ3MsIG9wdGlvbik7XHJcbiAgICAgIH1cclxuICAgICAgZWxzZSBpZiAodHlwZW9mIHRoaXMuZGF0YVsnQ29tcG9uZW50U2V0dGluZ3MnXSA9PSAnb2JqZWN0Jykge1xyXG4gICAgICAgIE9iamVjdC5hc3NpZ24oY29tcG9uZW50U2V0dGluZ3MsIHRoaXMuZGF0YVsnQ29tcG9uZW50U2V0dGluZ3MnXSk7XHJcbiAgICAgIH1cclxuICAgIH1cclxuICB9XHJcblxyXG4gIHB1YmxpYyBzZXR1cElubmVyRmllbGQoKSB7XHJcbiAgICBaQ29tcG9uZW50SGVscGVyLnJlZ2lzdGVyQ29tcG9uZW50KHRoaXMpO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIGlzTW9iaWxlU2NyZWVuKCkge1xyXG4gICAgcmV0dXJuIHRoaXMuY29tcG9uZW50U2VydmljZS5pc01vYmlsZVNjcmVlbigpO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIGdldENsYXNzKGZvcm06IEZvcm1Hcm91cCwgZGF0YTogWkZpZWxkKSB7XHJcbiAgICByZXR1cm4gYCR7WkNvbXBvbmVudEhlbHBlci5nZXRJb25fSW52YWxpZENsYXNzKGZvcm0sIGRhdGEpfSAke2RhdGEuRGl2Q2xhc3N9ICR7ZGF0YS5DbGFzc31gO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIGdldElvbl9JbnZhbGlkQ2xhc3MoZm9ybTogRm9ybUdyb3VwLCBkYXRhOiBaRmllbGQpIHtcclxuICAgIHJldHVybiBaQ29tcG9uZW50SGVscGVyLmdldElvbl9JbnZhbGlkQ2xhc3MoZm9ybSwgZGF0YSk7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgc2V0SWNvbihpY29uOiBzdHJpbmcpIHtcclxuICAgIHRoaXMuY29tcG9uZW50UHJvcGVydGllcy5pY29uID0gaWNvbjtcclxuICB9XHJcblxyXG4gIHB1YmxpYyBzZXRMYWJlbFRleHQobGFiZWw6IHN0cmluZykge1xyXG4gICAgdGhpcy5jb21wb25lbnRQcm9wZXJ0aWVzLmxhYmVsID0gbGFiZWw7XHJcbiAgfVxyXG5cclxuICAvLyNyZWdpb24gU3R5bGVcclxuICBwdWJsaWMgZ2V0U3R5bGUoaW5kOiBzdHJpbmcgPSBcIlwiKTogc3RyaW5nIHtcclxuICAgIHJldHVybiB0aGlzLmNvbXBvbmVudFByb3BlcnRpZXMuc3R5bGVbYHN0eWxlJHtpbmR9YF0gfHwgJyc7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgc2V0U3R5bGUoc3R5bGU6IHN0cmluZywgaW5kOiBzdHJpbmcgPSBcIlwiKSB7XHJcbiAgICB0aGlzLmNvbXBvbmVudFNlcnZpY2Uuc2V0U3R5bGVCeUluZGV4KHRoaXMsIGluZCwgc3R5bGUpO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIGFwcGVuZFN0eWxlKHN0eWxlOiBzdHJpbmcsIGluZDogc3RyaW5nID0gXCJcIikge1xyXG4gICAgY29uc3QgY3VycmVudFN0eWxlID0gdGhpcy5nZXRTdHlsZShpbmQpO1xyXG4gICAgY29uc3QgY29tYmluZWRTdHlsZSA9IChjdXJyZW50U3R5bGUuZW5kc1dpdGgoJzsnKSA/IGN1cnJlbnRTdHlsZSA6IGAke2N1cnJlbnRTdHlsZX07YCkgKyBzdHlsZTtcclxuICAgIHRoaXMuY29tcG9uZW50U2VydmljZS5zZXRTdHlsZUJ5SW5kZXgodGhpcywgaW5kLCBjb21iaW5lZFN0eWxlKTtcclxuICB9XHJcblxyXG4gIHB1YmxpYyByZW1vdmVTdHlsZShzdHlsZTogc3RyaW5nLCBpbmQ6IHN0cmluZyA9IFwiXCIpIHtcclxuICAgIGNvbnN0IGN1cnJlbnRTdHlsZSA9IHRoaXMuZ2V0U3R5bGUoaW5kKTtcclxuICAgIHRoaXMuY29tcG9uZW50U2VydmljZS5zZXRTdHlsZUJ5SW5kZXgodGhpcywgaW5kLCBjdXJyZW50U3R5bGUucmVwbGFjZUFsbChzdHlsZSwgJycpKTtcclxuICB9XHJcblxyXG4gIHB1YmxpYyByZW1vdmVTdHlsZUJ5UHJvcGVydHkocHJvcGVydHk6IHN0cmluZywgaW5kOiBzdHJpbmcgPSBcIlwiKSB7XHJcbiAgICBjb25zdCBjdXJyZW50U3R5bGUgPSB0aGlzLmdldFN0eWxlKGluZCk7XHJcbiAgICBpZiAoY3VycmVudFN0eWxlKSB7XHJcbiAgICAgIGNvbnN0IGN1cnJlbnRTdHlsZUxpc3QgPSBjdXJyZW50U3R5bGUuc3BsaXQoJzsnKTtcclxuICAgICAgY29uc3Qgc3R5bGVUb1JldGFpbiA9IGN1cnJlbnRTdHlsZUxpc3QuZmlsdGVyKHggPT4gIXguc3RhcnRzV2l0aChgJHtwcm9wZXJ0eX06YCkpLmpvaW4oJzsnKTtcclxuICAgICAgdGhpcy5jb21wb25lbnRTZXJ2aWNlLnNldFN0eWxlQnlJbmRleCh0aGlzLCBpbmQsIHN0eWxlVG9SZXRhaW4pO1xyXG4gICAgfVxyXG4gIH1cclxuICAvLyNlbmRyZWdpb25cclxuXHJcbiAgLy8jcmVnaW9uIENvbnRhaW5lciBTdHlsZVxyXG4gIHB1YmxpYyBnZXRDb250YWluZXJTdHlsZShpbmQ6IHN0cmluZyA9IFwiXCIpOiBzdHJpbmcge1xyXG4gICAgcmV0dXJuIHRoaXMuY29tcG9uZW50UHJvcGVydGllcy5jb250YWluZXJTdHlsZVtgc3R5bGUke2luZH1gXSB8fCAnJztcclxuICB9XHJcblxyXG4gIHB1YmxpYyBzZXRDb250YWluZXJTdHlsZShzdHlsZTogc3RyaW5nLCBpbmQ6IHN0cmluZyA9IFwiXCIpIHtcclxuICAgIHRoaXMuY29tcG9uZW50U2VydmljZS5zZXRDb250YWluZXJTdHlsZUJ5SW5kZXgodGhpcywgaW5kLCBzdHlsZSk7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgYXBwZW5kQ29udGFpbmVyU3R5bGUoc3R5bGU6IHN0cmluZywgaW5kOiBzdHJpbmcgPSBcIlwiKSB7XHJcbiAgICBjb25zdCBjdXJyZW50U3R5bGUgPSB0aGlzLmdldENvbnRhaW5lclN0eWxlKGluZCk7XHJcbiAgICBjb25zdCBjb21iaW5lZFN0eWxlID0gKGN1cnJlbnRTdHlsZS5lbmRzV2l0aCgnOycpID8gY3VycmVudFN0eWxlIDogYCR7Y3VycmVudFN0eWxlfTtgKSArIHN0eWxlO1xyXG4gICAgdGhpcy5jb21wb25lbnRTZXJ2aWNlLnNldENvbnRhaW5lclN0eWxlQnlJbmRleCh0aGlzLCBpbmQsIGNvbWJpbmVkU3R5bGUpO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIHJlbW92ZUNvbnRhaW5lclN0eWxlKHN0eWxlOiBzdHJpbmcsIGluZDogc3RyaW5nID0gXCJcIikge1xyXG4gICAgY29uc3QgY3VycmVudFN0eWxlID0gdGhpcy5nZXRDb250YWluZXJTdHlsZShpbmQpO1xyXG4gICAgdGhpcy5jb21wb25lbnRTZXJ2aWNlLnNldENvbnRhaW5lclN0eWxlQnlJbmRleCh0aGlzLCBpbmQsIGN1cnJlbnRTdHlsZS5yZXBsYWNlQWxsKHN0eWxlLCAnJykpO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIHJlbW92ZUNvbnRhaW5lclN0eWxlQnlQcm9wZXJ0eShwcm9wZXJ0eTogc3RyaW5nLCBpbmQ6IHN0cmluZyA9IFwiXCIpIHtcclxuICAgIGNvbnN0IGN1cnJlbnRTdHlsZSA9IHRoaXMuZ2V0Q29udGFpbmVyU3R5bGUoaW5kKTtcclxuICAgIGlmIChjdXJyZW50U3R5bGUpIHtcclxuICAgICAgY29uc3QgY3VycmVudFN0eWxlTGlzdCA9IGN1cnJlbnRTdHlsZS5zcGxpdCgnOycpO1xyXG4gICAgICBjb25zdCBzdHlsZVRvUmV0YWluID0gY3VycmVudFN0eWxlTGlzdC5maWx0ZXIoeCA9PiAheC5zdGFydHNXaXRoKGAke3Byb3BlcnR5fTpgKSkuam9pbignOycpO1xyXG4gICAgICB0aGlzLmNvbXBvbmVudFNlcnZpY2Uuc2V0Q29udGFpbmVyU3R5bGVCeUluZGV4KHRoaXMsIGluZCwgc3R5bGVUb1JldGFpbik7XHJcbiAgICB9XHJcbiAgfVxyXG4gIC8vI2VuZHJlZ2lvblxyXG5cclxuICBwdWJsaWMgc2V0RW5hYmxlID0gKHN0YXR1czogYm9vbGVhbikgPT4ge1xyXG4gICAgY29uc3QgZmMgPSB0aGlzLmdyb3VwPy5mb3JtPy5jb250cm9sc1t0aGlzLmRhdGEuVmFsdWVdO1xyXG4gICAgaWYgKGZjKSB7XHJcbiAgICAgIHN0YXR1cyA/IGZjLmVuYWJsZSgpIDogZmMuZGlzYWJsZSgpO1xyXG4gICAgfVxyXG4gICAgdGhpcy5jb21wb25lbnRQcm9wZXJ0aWVzLmlzUmVhZE9ubHkgPSAhc3RhdHVzO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIHNldFZpc2libGUgPSAoc3RhdHVzOiBib29sZWFuKSA9PiB7XHJcbiAgICB0aGlzLmNvbXBvbmVudFByb3BlcnRpZXMuaXNWaXNpYmxlID0gc3RhdHVzO1xyXG4gICAgdGhpcy5kYXRhLlZpc2libGUgPSBzdGF0dXM7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgc2V0UmVxdWlyZSA9IChzdGF0dXM6IGJvb2xlYW4pID0+IHtcclxuICAgIHRoaXMuY29tcG9uZW50UHJvcGVydGllcy5pc1JlcXVpcmVkID0gc3RhdHVzO1xyXG4gICAgWkNvbXBvbmVudEhlbHBlci5jaGFuZ2VWYWxpZGF0b3Ioc3RhdHVzLCB0aGlzLmdyb3VwLCB0aGlzLmRhdGEuVmFsdWUsIHRoaXMuY29tcG9uZW50UHJvcGVydGllcywgVmFsaWRhdG9ycy5yZXF1aXJlZCk7XHJcblxyXG4gICAgaWYgKHRoaXMuZGF0YS5UeXBlID09PSAnenRleHRlZGl0b3InKSB7XHJcbiAgICAgIFpDb21wb25lbnRIZWxwZXIuY2hhbmdlVmFsaWRhdG9yKHN0YXR1cywgdGhpcy5ncm91cCwgdGhpcy5kYXRhLlZhbHVlLCB0aGlzLmNvbXBvbmVudFByb3BlcnRpZXMsIFpDb21wb25lbnRIZWxwZXIucmVxdWlyZWRWYWxpZGF0b3JfV2l0aG91dFdoaXRlU3BhY2VzX1RleHRFZGl0b3IpO1xyXG4gICAgfVxyXG4gICAgZWxzZSB7XHJcbiAgICAgIFpDb21wb25lbnRIZWxwZXIuY2hhbmdlVmFsaWRhdG9yKHN0YXR1cywgdGhpcy5ncm91cCwgdGhpcy5kYXRhLlZhbHVlLCB0aGlzLmNvbXBvbmVudFByb3BlcnRpZXMsIFpDb21wb25lbnRIZWxwZXIucmVxdWlyZWRWYWxpZGF0b3JfV2l0aG91dFdoaXRlU3BhY2VzKTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIHB1YmxpYyBnZXRGb250QXdlc29tZShpY29uTmFtZTogYW55LCBmb250QXdlc29tZVNlcnZpY2U6IEZvbnRBd2VTb21lU2VydmljZSkge1xyXG4gICAgY29uc3QgaWNvbk5hbWVWYWx1ZSA9IFpDb21wb25lbnRIZWxwZXIuZ2V0R3JvdXBWYWx1ZShpY29uTmFtZSwgdGhpcy5ncm91cCk7XHJcbiAgICBpZiAoaWNvbk5hbWVWYWx1ZSkge1xyXG4gICAgICByZXR1cm4gWkNvbXBvbmVudEhlbHBlci5nZXRGb250QXdlc29tZShpY29uTmFtZVZhbHVlLCBmb250QXdlc29tZVNlcnZpY2UpO1xyXG4gICAgfVxyXG4gICAgcmV0dXJuIGljb25OYW1lO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIHRvZ2dsZUVkaXRNb2RlKCkge1xyXG4gICAgdGhpcy5kYXRhW2BfRWRpdE1vZGVgXS52YWx1ZSA9ICF0aGlzLmRhdGFbYF9FZGl0TW9kZWBdLnZhbHVlO1xyXG4gIH1cclxuXHJcbiAgcHJvdGVjdGVkIHRyaWdnZXJFdmVudCh0eXBlOiBzdHJpbmcsIHRhcmdldDogYW55LCBldmVudDogYW55LCBmaWVsZFZhbHVlPzogYW55KSB7XHJcbiAgICBpZiAodGFyZ2V0KSB7XHJcbiAgICAgIHRoaXMuZ3JvdXAuc3ViamVjdC5uZXh0KHtcclxuICAgICAgICB0eXBlOiB0eXBlLFxyXG4gICAgICAgIHRhcmdldDogdGFyZ2V0LFxyXG4gICAgICAgIGV2ZW50LFxyXG4gICAgICAgIGRhdGE6IHsgdmFsdWU6IHRoaXMuZ2V0RmllbGRWYWx1ZShldmVudCwgZmllbGRWYWx1ZSksIGZpZWxkOiB0aGlzLmRhdGEsIGNvbXA6IHRoaXMgfVxyXG4gICAgICB9IGFzIFpDb21wb25lbnRPdXRwdXRFdmVudCk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBwcm90ZWN0ZWQgZ2V0RmllbGRWYWx1ZShldmVudDogYW55LCBmaWVsZFZhbHVlPzogYW55KSB7XHJcbiAgICBpZiAoZmllbGRWYWx1ZSA9PSBudWxsIHx8IGZpZWxkVmFsdWUgPT0gdW5kZWZpbmVkKSB7XHJcbiAgICAgIHJldHVybiBldmVudD8udmFsdWUgfHwgZXZlbnQ/LnRhcmdldD8udmFsdWVcclxuICAgIH1cclxuICAgIHJldHVybiBmaWVsZFZhbHVlO1xyXG4gIH1cclxufVxyXG5cclxuZXhwb3J0IGludGVyZmFjZSBGaWVsZFNldHVwT3B0aW9uIHtcclxuICBpc1JlZ2lzdGVyQ29tcG9uZW50PzogYm9vbGVhbjtcclxufVxyXG4iXX0=
175
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmllbGRiYXNlLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL21taGdsb2JhbC1keW5hbWljZm9ybS9zcmMvbGliL2NvbXBvbmVudHMvZmllbGRiYXNlLmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSwrQkFBK0I7QUFDL0IsT0FBTyxFQUFFLFNBQVMsRUFBRSxLQUFLLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDakQsT0FBTyxFQUFhLFVBQVUsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBRXZELDZCQUE2QjtBQUU3Qiw4QkFBOEI7QUFDOUIsT0FBTyxFQUFFLFFBQVEsRUFBNEIsTUFBTSxNQUFNLENBQUM7QUFJMUQsT0FBTyxFQUNMLGFBQWEsRUFFYixnQkFBZ0IsRUFBeUIsb0JBQW9CLEVBQzlELE1BQU0saUJBQWlCLENBQUM7OztBQU16QixnREFBZ0Q7QUFDaEQsTUFBTSxPQUFPLFNBQVM7SUFTcEIsWUFDUyxnQkFBbUM7UUFBbkMscUJBQWdCLEdBQWhCLGdCQUFnQixDQUFtQjtRQUhyQyxjQUFTLEdBQUcsSUFBSSxDQUFDO1FBbUh4QixZQUFZO1FBRUwsY0FBUyxHQUFHLENBQUMsTUFBZSxFQUFFLEVBQUU7WUFDckMsTUFBTSxFQUFFLEdBQUcsSUFBSSxDQUFDLEtBQUssRUFBRSxJQUFJLEVBQUUsUUFBUSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUM7WUFDdkQsTUFBTSx5QkFBeUIsR0FBRyxDQUFDLGFBQWEsQ0FBQyxRQUFRLENBQUMsUUFBUSxFQUFFLENBQUMsQ0FBQztZQUN0RSxJQUFJLEVBQUUsSUFBSSxDQUFDLHlCQUF5QixDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxFQUFFO2dCQUM3RCxNQUFNLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxNQUFNLEVBQUUsQ0FBQyxDQUFDLENBQUMsRUFB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QUFFLElBQUksQ0FBQyxhQUFhLENBQUMsS0FBSyxFQUFFLFVBQVUsQ0FBQyxFQUFFLEtBQUssRUFBRSxJQUFJLENBQUMsSUFBSSxFQUFFLElBQUksRUFBRSxJQUFJLEVBQUU7YUFDNUQsQ0FBQyxDQUFDO1NBQzdCO0lBQ0gsQ0FBQztJQUVTLGFBQWEsQ0FBQyxLQUFVLEVBQUUsVUFBZ0I7UUFDbEQsSUFBSSxVQUFVLElBQUksSUFBSSxJQUFJLFVBQVUsSUFBSSxTQUFTLEVBQUU7WUFDakQsT0FBTyxLQUFLLEVBQUUsS0FBSyxJQUFJLEtBQUssRUFBRSxNQUFNLEVBQUUsS0FBSyxDQUFBO1NBQzVDO1FBQ0QsT0FBTyxVQUFVLENBQUM7SUFDcEIsQ0FBQzs7c0dBbExVLFNBQVM7MEZBQVQsU0FBUywwTEFKVixFQUFFOzJGQUlELFNBQVM7a0JBTHJCLFNBQVM7bUJBQUM7b0JBQ1QsUUFBUSxFQUFFLEVBQUU7aUJBQ2I7d0dBSVUsSUFBSTtzQkFBWixLQUFLO2dCQUNHLEtBQUs7c0JBQWIsS0FBSztnQkFDRyxJQUFJO3NCQUFaLEtBQUs7Z0JBQ0csY0FBYztzQkFBdEIsS0FBSztnQkFDRyxtQkFBbUI7c0JBQTNCLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyIvKioqKioqKioqKiBBbmd1bGFyICoqKioqKioqKiovXHJcbmltcG9ydCB7IENvbXBvbmVudCwgSW5wdXQgfSBmcm9tIFwiQGFuZ3VsYXIvY29yZVwiO1xyXG5pbXBvcnQgeyBGb3JtR3JvdXAsIFZhbGlkYXRvcnMgfSBmcm9tIFwiQGFuZ3VsYXIvZm9ybXNcIjtcclxuXHJcbi8qKioqKioqKioqIElvbmljICoqKioqKioqKiovXHJcblxyXG4vKioqKioqKioqKiBQbHVnaW4gKioqKioqKioqKi9cclxuaW1wb3J0IHsgZm9ya0pvaW4sIE9ic2VydmFibGUsIFN1YnNjcmlwdGlvbiB9IGZyb20gXCJyeGpzXCI7XHJcblxyXG4vKioqKioqKioqKiBDb21wb25lbnQgJiBTZXJ2aWNlICoqKioqKioqKiovXHJcbmltcG9ydCB7IFpDb21wb25lbnRTZXJ2aWNlIH0gZnJvbSBcIi4uL3NlcnZpY2VzL3pjb21wb25lbnQuc2VydmljZVwiO1xyXG5pbXBvcnQge1xyXG4gIENvbXBvbmVudFR5cGUsXHJcbiAgRm9udEF3ZVNvbWVTZXJ2aWNlLFxyXG4gIFpDb21wb25lbnRIZWxwZXIsIFpDb21wb25lbnRPdXRwdXRFdmVudCwgWkNvbXBvbmVudFByb3BlcnRpZXMsIFpGaWVsZCwgWkdyb3VwXHJcbn0gZnJvbSBcIm1taGdsb2JhbC16Y29yZVwiO1xyXG5cclxuQENvbXBvbmVudCh7XHJcbiAgdGVtcGxhdGU6IGBgLFxyXG59KVxyXG5cclxuLy8gRm9yOiBhcHAtZXJyb3IsIHpnYXVnZSwgenByb2dyZXNzYmFyLCB6cmVwb3J0XHJcbmV4cG9ydCBjbGFzcyBGaWVsZEJhc2Uge1xyXG4gIEBJbnB1dCgpIGRhdGE6IFpGaWVsZDtcclxuICBASW5wdXQoKSBncm91cDogWkdyb3VwO1xyXG4gIEBJbnB1dCgpIGZvcm06IEZvcm1Hcm91cDtcclxuICBASW5wdXQoKSBjb250YWluZXJGaWVsZDogWkZpZWxkO1xyXG4gIEBJbnB1dCgpIGNvbXBvbmVudFByb3BlcnRpZXM6IFpDb21wb25lbnRQcm9wZXJ0aWVzO1xyXG5cclxuICBwdWJsaWMgaXNMb2FkaW5nID0gdHJ1ZTtcclxuXHJcbiAgY29uc3RydWN0b3IoXHJcbiAgICBwdWJsaWMgY29tcG9uZW50U2VydmljZTogWkNvbXBvbmVudFNlcnZpY2VcclxuICApIHtcclxuICB9XHJcblxyXG4gIHB1YmxpYyBpbml0Q29tcG9uZW50KG9wdGlvbnM/OiBGaWVsZFNldHVwT3B0aW9uKTogT2JzZXJ2YWJsZTxhbnk+IHtcclxuICAgIHRoaXMuaXNMb2FkaW5nID0gdHJ1ZTtcclxuICAgIHRoaXMuY29tcG9uZW50UHJvcGVydGllcyA9IHRoaXMuY29tcG9uZW50UHJvcGVydGllcyB8fCBuZXcgWkNvbXBvbmVudFByb3BlcnRpZXMoKTtcclxuICAgIFpDb21wb25lbnRIZWxwZXIuc2V0Q29tcG9uZW50UHJvcGVydGllcyh0aGlzKTtcclxuICAgIC8vIGlmICghKG9wdGlvbnMgJiYgb3B0aW9ucy5pc1JlZ2lzdGVyQ29tcG9uZW50ID09IGZhbHNlKSkge1xyXG4gICAgLy8gICBaQ29tcG9uZW50SGVscGVyLnJlZ2lzdGVyQ29tcG9uZW50KHRoaXMpO1xyXG4gICAgLy8gfVxyXG4gICAgWkNvbXBvbmVudEhlbHBlci5yZWdpc3RlckNvbXBvbmVudCh0aGlzKTtcclxuICAgIHRoaXMuY29tcG9uZW50U2VydmljZS5zZXRDb21wb25lbnRBZGRpdGlvbmFsUHJvcGVydGllcyh0aGlzKTtcclxuICAgIHRoaXMuY29tcG9uZW50U2VydmljZS5zZXRDb21wU3R5bGVzQnlJbmRleCh0aGlzKTtcclxuICAgIHRoaXMuZGF0YS5Db21wb25lbnRTdHlsZVR5cGUgPSB0aGlzLmRhdGEuQ29tcG9uZW50U3R5bGVUeXBlIHx8IFwic3R5bGUxXCI7XHJcbiAgICByZXR1cm4gZm9ya0pvaW4oW3RoaXMuY29tcG9uZW50U2VydmljZS50cmFuc2xhdGVDb21wb25lbnRGaWVsZCh0aGlzLmRhdGEsIHRoaXMuZ3JvdXApLCB0aGlzLmNvbXBvbmVudFNlcnZpY2UudHJhbnNsYXRlQ29tcG9uZW50UHJvcGVydGllcyh0aGlzLmNvbXBvbmVudFByb3BlcnRpZXMsIHRoaXMuZ3JvdXApXSk7XHJcbiAgfVxyXG5cclxuICBwcm90ZWN0ZWQgc2V0dXBDb21wb25lbnRTZXR0aW5ncyhjb21wb25lbnRTZXR0aW5nczogYW55KSB7XHJcbiAgICBpZiAodGhpcy5kYXRhWydDb21wb25lbnRTZXR0aW5ncyddKSB7XHJcbiAgICAgIGlmICh0eXBlb2YgdGhpcy5kYXRhWydDb21wb25lbnRTZXR0aW5ncyddID09ICdzdHJpbmcnKSB7XHJcbiAgICAgICAgY29uc3Qgb3B0aW9uID0gWkNvbXBvbmVudEhlbHBlci5nZXRHcm91cFZhbHVlKHRoaXMuZGF0YVsnQ29tcG9uZW50U2V0dGluZ3MnXSwgdGhpcy5ncm91cCk7XHJcbiAgICAgICAgT2JqZWN0LmFzc2lnbihjb21wb25lbnRTZXR0aW5ncywgb3B0aW9uKTtcclxuICAgICAgfVxyXG4gICAgICBlbHNlIGlmICh0eXBlb2YgdGhpcy5kYXRhWydDb21wb25lbnRTZXR0aW5ncyddID09ICdvYmplY3QnKSB7XHJcbiAgICAgICAgT2JqZWN0LmFzc2lnbihjb21wb25lbnRTZXR0aW5ncywgdGhpcy5kYXRhWydDb21wb25lbnRTZXR0aW5ncyddKTtcclxuICAgICAgfVxyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgcHVibGljIHNldHVwSW5uZXJGaWVsZCgpIHtcclxuICAgIFpDb21wb25lbnRIZWxwZXIucmVnaXN0ZXJDb21wb25lbnQodGhpcyk7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgaXNNb2JpbGVTY3JlZW4oKSB7XHJcbiAgICByZXR1cm4gdGhpcy5jb21wb25lbnRTZXJ2aWNlLmlzTW9iaWxlU2NyZWVuKCk7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgZ2V0Q2xhc3MoZm9ybTogRm9ybUdyb3VwLCBkYXRhOiBaRmllbGQpIHtcclxuICAgIHJldHVybiBgJHtaQ29tcG9uZW50SGVscGVyLmdldElvbl9JbnZhbGlkQ2xhc3MoZm9ybSwgZGF0YSl9ICR7ZGF0YS5EaXZDbGFzc30gJHtkYXRhLkNsYXNzfWA7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgZ2V0SW9uX0ludmFsaWRDbGFzcyhmb3JtOiBGb3JtR3JvdXAsIGRhdGE6IFpGaWVsZCkge1xyXG4gICAgcmV0dXJuIFpDb21wb25lbnRIZWxwZXIuZ2V0SW9uX0ludmFsaWRDbGFzcyhmb3JtLCBkYXRhKTtcclxuICB9XHJcblxyXG4gIHB1YmxpYyBzZXRJY29uKGljb246IHN0cmluZykge1xyXG4gICAgdGhpcy5jb21wb25lbnRQcm9wZXJ0aWVzLmljb24gPSBpY29uO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIHNldExhYmVsVGV4dChsYWJlbDogc3RyaW5nKSB7XHJcbiAgICB0aGlzLmNvbXBvbmVudFByb3BlcnRpZXMubGFiZWwgPSBsYWJlbDtcclxuICB9XHJcblxyXG4gIC8vI3JlZ2lvbiBTdHlsZVxyXG4gIHB1YmxpYyBnZXRTdHlsZShpbmQ6IHN0cmluZyA9IFwiXCIpOiBzdHJpbmcge1xyXG4gICAgcmV0dXJuIHRoaXMuY29tcG9uZW50UHJvcGVydGllcy5zdHlsZVtgc3R5bGUke2luZH1gXSB8fCAnJztcclxuICB9XHJcblxyXG4gIHB1YmxpYyBzZXRTdHlsZShzdHlsZTogc3RyaW5nLCBpbmQ6IHN0cmluZyA9IFwiXCIpIHtcclxuICAgIHRoaXMuY29tcG9uZW50U2VydmljZS5zZXRTdHlsZUJ5SW5kZXgodGhpcywgaW5kLCBzdHlsZSk7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgYXBwZW5kU3R5bGUoc3R5bGU6IHN0cmluZywgaW5kOiBzdHJpbmcgPSBcIlwiKSB7XHJcbiAgICBjb25zdCBjdXJyZW50U3R5bGUgPSB0aGlzLmdldFN0eWxlKGluZCk7XHJcbiAgICBjb25zdCBjb21iaW5lZFN0eWxlID0gKGN1cnJlbnRTdHlsZS5lbmRzV2l0aCgnOycpID8gY3VycmVudFN0eWxlIDogYCR7Y3VycmVudFN0eWxlfTtgKSArIHN0eWxlO1xyXG4gICAgdGhpcy5jb21wb25lbnRTZXJ2aWNlLnNldFN0eWxlQnlJbmRleCh0aGlzLCBpbmQsIGNvbWJpbmVkU3R5bGUpO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIHJlbW92ZVN0eWxlKHN0eWxlOiBzdHJpbmcsIGluZDogc3RyaW5nID0gXCJcIikge1xyXG4gICAgY29uc3QgY3VycmVudFN0eWxlID0gdGhpcy5nZXRTdHlsZShpbmQpO1xyXG4gICAgdGhpcy5jb21wb25lbnRTZXJ2aWNlLnNldFN0eWxlQnlJbmRleCh0aGlzLCBpbmQsIGN1cnJlbnRTdHlsZS5yZXBsYWNlQWxsKHN0eWxlLCAnJykpO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIHJlbW92ZVN0eWxlQnlQcm9wZXJ0eShwcm9wZXJ0eTogc3RyaW5nLCBpbmQ6IHN0cmluZyA9IFwiXCIpIHtcclxuICAgIGNvbnN0IGN1cnJlbnRTdHlsZSA9IHRoaXMuZ2V0U3R5bGUoaW5kKTtcclxuICAgIGlmIChjdXJyZW50U3R5bGUpIHtcclxuICAgICAgY29uc3QgY3VycmVudFN0eWxlTGlzdCA9IGN1cnJlbnRTdHlsZS5zcGxpdCgnOycpO1xyXG4gICAgICBjb25zdCBzdHlsZVRvUmV0YWluID0gY3VycmVudFN0eWxlTGlzdC5maWx0ZXIoeCA9PiAheC5zdGFydHNXaXRoKGAke3Byb3BlcnR5fTpgKSkuam9pbignOycpO1xyXG4gICAgICB0aGlzLmNvbXBvbmVudFNlcnZpY2Uuc2V0U3R5bGVCeUluZGV4KHRoaXMsIGluZCwgc3R5bGVUb1JldGFpbik7XHJcbiAgICB9XHJcbiAgfVxyXG4gIC8vI2VuZHJlZ2lvblxyXG5cclxuICAvLyNyZWdpb24gQ29udGFpbmVyIFN0eWxlXHJcbiAgcHVibGljIGdldENvbnRhaW5lclN0eWxlKGluZDogc3RyaW5nID0gXCJcIik6IHN0cmluZyB7XHJcbiAgICByZXR1cm4gdGhpcy5jb21wb25lbnRQcm9wZXJ0aWVzLmNvbnRhaW5lclN0eWxlW2BzdHlsZSR7aW5kfWBdIHx8ICcnO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIHNldENvbnRhaW5lclN0eWxlKHN0eWxlOiBzdHJpbmcsIGluZDogc3RyaW5nID0gXCJcIikge1xyXG4gICAgdGhpcy5jb21wb25lbnRTZXJ2aWNlLnNldENvbnRhaW5lclN0eWxlQnlJbmRleCh0aGlzLCBpbmQsIHN0eWxlKTtcclxuICB9XHJcblxyXG4gIHB1YmxpYyBhcHBlbmRDb250YWluZXJTdHlsZShzdHlsZTogc3RyaW5nLCBpbmQ6IHN0cmluZyA9IFwiXCIpIHtcclxuICAgIGNvbnN0IGN1cnJlbnRTdHlsZSA9IHRoaXMuZ2V0Q29udGFpbmVyU3R5bGUoaW5kKTtcclxuICAgIGNvbnN0IGNvbWJpbmVkU3R5bGUgPSAoY3VycmVudFN0eWxlLmVuZHNXaXRoKCc7JykgPyBjdXJyZW50U3R5bGUgOiBgJHtjdXJyZW50U3R5bGV9O2ApICsgc3R5bGU7XHJcbiAgICB0aGlzLmNvbXBvbmVudFNlcnZpY2Uuc2V0Q29udGFpbmVyU3R5bGVCeUluZGV4KHRoaXMsIGluZCwgY29tYmluZWRTdHlsZSk7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgcmVtb3ZlQ29udGFpbmVyU3R5bGUoc3R5bGU6IHN0cmluZywgaW5kOiBzdHJpbmcgPSBcIlwiKSB7XHJcbiAgICBjb25zdCBjdXJyZW50U3R5bGUgPSB0aGlzLmdldENvbnRhaW5lclN0eWxlKGluZCk7XHJcbiAgICB0aGlzLmNvbXBvbmVudFNlcnZpY2Uuc2V0Q29udGFpbmVyU3R5bGVCeUluZGV4KHRoaXMsIGluZCwgY3VycmVudFN0eWxlLnJlcGxhY2VBbGwoc3R5bGUsICcnKSk7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgcmVtb3ZlQ29udGFpbmVyU3R5bGVCeVByb3BlcnR5KHByb3BlcnR5OiBzdHJpbmcsIGluZDogc3RyaW5nID0gXCJcIikge1xyXG4gICAgY29uc3QgY3VycmVudFN0eWxlID0gdGhpcy5nZXRDb250YWluZXJTdHlsZShpbmQpO1xyXG4gICAgaWYgKGN1cnJlbnRTdHlsZSkge1xyXG4gICAgICBjb25zdCBjdXJyZW50U3R5bGVMaXN0ID0gY3VycmVudFN0eWxlLnNwbGl0KCc7Jyk7XHJcbiAgICAgIGNvbnN0IHN0eWxlVG9SZXRhaW4gPSBjdXJyZW50U3R5bGVMaXN0LmZpbHRlcih4ID0+ICF4LnN0YXJ0c1dpdGgoYCR7cHJvcGVydHl9OmApKS5qb2luKCc7Jyk7XHJcbiAgICAgIHRoaXMuY29tcG9uZW50U2VydmljZS5zZXRDb250YWluZXJTdHlsZUJ5SW5kZXgodGhpcywgaW5kLCBzdHlsZVRvUmV0YWluKTtcclxuICAgIH1cclxuICB9XHJcbiAgLy8jZW5kcmVnaW9uXHJcblxyXG4gIHB1YmxpYyBzZXRFbmFibGUgPSAoc3RhdHVzOiBib29sZWFuKSA9PiB7XHJcbiAgICBjb25zdCBmYyA9IHRoaXMuZ3JvdXA/LmZvcm0/LmNvbnRyb2xzW3RoaXMuZGF0YS5WYWx1ZV07XHJcbiAgICBjb25zdCBjb21wb25lbnRUeXBlTm90VG9EaXNhYmxlID0gW0NvbXBvbmVudFR5cGUudGV4dGFyZWEudG9TdHJpbmcoKV07XHJcbiAgICBpZiAoZmMgJiYgIWNvbXBvbmVudFR5cGVOb3RUb0Rpc2FibGUuaW5jbHVkZXModGhpcy5kYXRhLlR5cGUpKSB7XHJcbiAgICAgIHN0YXR1cyA/IGZjLmVuYWJsZSgpIDogZmMuZGlzYWJsZSgpO1xyXG4gICAgfVxyXG4gICAgdGhpcy5jb21wb25lbnRQcm9wZXJ0aWVzLmlzUmVhZE9ubHkgPSAhc3RhdHVzO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIHNldFZpc2libGUgPSAoc3RhdHVzOiBib29sZWFuKSA9PiB7XHJcbiAgICB0aGlzLmNvbXBvbmVudFByb3BlcnRpZXMuaXNWaXNpYmxlID0gc3RhdHVzO1xyXG4gICAgdGhpcy5kYXRhLlZpc2libGUgPSBzdGF0dXM7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgc2V0UmVxdWlyZSA9IChzdGF0dXM6IGJvb2xlYW4pID0+IHtcclxuICAgIHRoaXMuY29tcG9uZW50UHJvcGVydGllcy5pc1JlcXVpcmVkID0gc3RhdHVzO1xyXG4gICAgWkNvbXBvbmVudEhlbHBlci5jaGFuZ2VWYWxpZGF0b3Ioc3RhdHVzLCB0aGlzLmdyb3VwLCB0aGlzLmRhdGEuVmFsdWUsIHRoaXMuY29tcG9uZW50UHJvcGVydGllcywgVmFsaWRhdG9ycy5yZXF1aXJlZCk7XHJcblxyXG4gICAgaWYgKHRoaXMuZGF0YS5UeXBlID09PSAnenRleHRlZGl0b3InKSB7XHJcbiAgICAgIFpDb21wb25lbnRIZWxwZXIuY2hhbmdlVmFsaWRhdG9yKHN0YXR1cywgdGhpcy5ncm91cCwgdGhpcy5kYXRhLlZhbHVlLCB0aGlzLmNvbXBvbmVudFByb3BlcnRpZXMsIFpDb21wb25lbnRIZWxwZXIucmVxdWlyZWRWYWxpZGF0b3JfV2l0aG91dFdoaXRlU3BhY2VzX1RleHRFZGl0b3IpO1xyXG4gICAgfVxyXG4gICAgZWxzZSB7XHJcbiAgICAgIFpDb21wb25lbnRIZWxwZXIuY2hhbmdlVmFsaWRhdG9yKHN0YXR1cywgdGhpcy5ncm91cCwgdGhpcy5kYXRhLlZhbHVlLCB0aGlzLmNvbXBvbmVudFByb3BlcnRpZXMsIFpDb21wb25lbnRIZWxwZXIucmVxdWlyZWRWYWxpZGF0b3JfV2l0aG91dFdoaXRlU3BhY2VzKTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIHB1YmxpYyBnZXRGb250QXdlc29tZShpY29uTmFtZTogYW55LCBmb250QXdlc29tZVNlcnZpY2U6IEZvbnRBd2VTb21lU2VydmljZSkge1xyXG4gICAgY29uc3QgaWNvbk5hbWVWYWx1ZSA9IFpDb21wb25lbnRIZWxwZXIuZ2V0R3JvdXBWYWx1ZShpY29uTmFtZSwgdGhpcy5ncm91cCk7XHJcbiAgICBpZiAoaWNvbk5hbWVWYWx1ZSkge1xyXG4gICAgICByZXR1cm4gWkNvbXBvbmVudEhlbHBlci5nZXRGb250QXdlc29tZShpY29uTmFtZVZhbHVlLCBmb250QXdlc29tZVNlcnZpY2UpO1xyXG4gICAgfVxyXG4gICAgcmV0dXJuIGljb25OYW1lO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIHRvZ2dsZUVkaXRNb2RlKCkge1xyXG4gICAgdGhpcy5kYXRhW2BfRWRpdE1vZGVgXS52YWx1ZSA9ICF0aGlzLmRhdGFbYF9FZGl0TW9kZWBdLnZhbHVlO1xyXG4gIH1cclxuXHJcbiAgcHJvdGVjdGVkIHRyaWdnZXJFdmVudCh0eXBlOiBzdHJpbmcsIHRhcmdldDogYW55LCBldmVudDogYW55LCBmaWVsZFZhbHVlPzogYW55KSB7XHJcbiAgICBpZiAodGFyZ2V0KSB7XHJcbiAgICAgIHRoaXMuZ3JvdXAuc3ViamVjdC5uZXh0KHtcclxuICAgICAgICB0eXBlOiB0eXBlLFxyXG4gICAgICAgIHRhcmdldDogdGFyZ2V0LFxyXG4gICAgICAgIGV2ZW50LFxyXG4gICAgICAgIGRhdGE6IHsgdmFsdWU6IHRoaXMuZ2V0RmllbGRWYWx1ZShldmVudCwgZmllbGRWYWx1ZSksIGZpZWxkOiB0aGlzLmRhdGEsIGNvbXA6IHRoaXMgfVxyXG4gICAgICB9IGFzIFpDb21wb25lbnRPdXRwdXRFdmVudCk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBwcm90ZWN0ZWQgZ2V0RmllbGRWYWx1ZShldmVudDogYW55LCBmaWVsZFZhbHVlPzogYW55KSB7XHJcbiAgICBpZiAoZmllbGRWYWx1ZSA9PSBudWxsIHx8IGZpZWxkVmFsdWUgPT0gdW5kZWZpbmVkKSB7XHJcbiAgICAgIHJldHVybiBldmVudD8udmFsdWUgfHwgZXZlbnQ/LnRhcmdldD8udmFsdWVcclxuICAgIH1cclxuICAgIHJldHVybiBmaWVsZFZhbHVlO1xyXG4gIH1cclxufVxyXG5cclxuZXhwb3J0IGludGVyZmFjZSBGaWVsZFNldHVwT3B0aW9uIHtcclxuICBpc1JlZ2lzdGVyQ29tcG9uZW50PzogYm9vbGVhbjtcclxufVxyXG4iXX0=
@@ -81,13 +81,13 @@ export class InputFieldAddOnsComponent extends InputFieldBase {
81
81
  }
82
82
  }
83
83
  InputFieldAddOnsComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.4.0", ngImport: i0, type: InputFieldAddOnsComponent, deps: [{ token: i1.ZComponentService }, { token: i2.FontAweSomeService }, { token: i2.TranslationService }], target: i0.ɵɵFactoryTarget.Component });
84
- InputFieldAddOnsComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.4.0", type: InputFieldAddOnsComponent, selector: "app-input-field-addons", inputs: { position: "position", addOn: "addOn" }, usesInheritance: true, usesOnChanges: true, ngImport: i0, template: "<div [class]=\"'addons-container ' + position\" *ngIf=\"addOn\">\r\n <div class=\"addons-icon\" *ngIf=\"addOn.IconList\">\r\n <div *ngFor=\"let item of addOn.IconList\">\r\n <div kendoTooltip class=\"icon-button\" showOn=\"hover\" [tooltipWidth]=\"item.Width\" [position]=\"item.Position\">\r\n <span (click)=\"onIconClick(item.Click)\" [title]=\"item.ToolTipText\" [style]=\"item.Style\">\r\n <fa-icon [icon]=\"item.Icon\">\r\n </fa-icon>\r\n </span>\r\n </div>\r\n </div>\r\n </div>\r\n\r\n <div class=\"addons-text\" *ngIf=\"addOn.TextList\">\r\n <div *ngFor=\"let item of addOn.TextList\">\r\n <div kendoTooltip class=\"icon-button\" showOn=\"hover\" [tooltipWidth]=\"item.Width\" [position]=\"item.Position\">\r\n <span (click)=\"onIconClick(item.Click)\" [title]=\"item.ToolTipText\" [style]=\"item.Style\">\r\n {{item.Text}}\r\n </span>\r\n </div>\r\n </div>\r\n </div>\r\n\r\n <div class=\"addons-buttons\" *ngIf=\"addOn.ButtonList\">\r\n <ion-button *ngFor=\"let button of addOn.ButtonList; let i = button\" [fill]=\"button.fill\" [ngClass]=\"button.class\"\r\n [color]=\"button.color\" [size]=\"button.Size || 'small'\" strong=\"false\" (click)=\"onIconClick(button.Click)\"\r\n [hidden]=\"!button.Visible\" [disabled]=\"group.isTriggered || button.Disabled\" [style]=\"button.Style\">\r\n <fa-icon *ngIf=\"button.Icon\" [icon]=\"getFontAwesome(button.Icon, fontAweSomeService)\"\r\n [style.padding-right]=\"button.Text ? '5px' : '0px'\"></fa-icon>\r\n <span class=\"ion-text-capitalize\">{{ button.Text }}</span>\r\n </ion-button>\r\n </div>\r\n</div>\r\n", styles: [".addons-container{display:flex}.addons-container .addons-icon{display:flex;flex-direction:row}.addons-container .addons-icon fa-icon{padding:4px 6px;font-size:calc(var(--content-font-size) - 2px)}.addons-container .addons-buttons>ion-button{margin:0 0 0 5px;height:20px;font-size:calc(var(--content-font-size) - 2px)}.addons-container .addons-text{padding-left:6px;padding-top:3px;font-size:calc(var(--content-font-size) - 2px)}.addons-container.top .addons-buttons>ion-button{top:-3px;position:relative}.addons-container.left .addons-buttons>ion-button{margin:0 5px 0 0}.addons-buttons ion-button{font-size:var(--button-font-size);margin-left:10px;--border-radius: var(--button-border-radius);--box-shadow: 1px 2px 4px 0px rgba(0, 0, 0, .25)}.addons-buttons ion-button.useCustomClass{--background-hover-opacity: 1;--border-width: 2px;--border-style: solid;--background: #fff;--background-hover: rgba(var(--ion-color-primary-rgb), .05);--color: var(--ion-color-primary);--border-color: var(--ion-color-primary)}.addons-buttons ion-button.primary-light{--background: rgba(var(--ion-color-primary-rgb), .05);--background-hover: #fff;--color: var(--ion-color-primary);--border-color: var(--ion-color-primary)}.addons-buttons ion-button.primary{--background: var(--ion-color-primary);--background-hover: var(--ion-color-primary-tint);--color: var(--ion-color-primary-contrast);--border-color: var(--ion-color-primary-shade)}.addons-buttons ion-button.success{--background: var(--ion-color-success);--background-hover: var(--ion-color-success-tint);--color: var(--ion-color-success-contrast);--border-color: var(--ion-color-success-shade)}.addons-buttons ion-button.danger{--background: var(--ion-color-danger);--background-hover: var(--ion-color-danger-tint2);--color: var(--ion-color-danger-contrast);--border-color: var(--ion-color-danger-shade)}.addons-buttons ion-button.warning{--background: var(--ion-color-warning);--background-hover: var(--ion-color-warning-tint);--color: #000;--border-color: var(--ion-color-warning-shade)}.addons-buttons ion-button.no-shadow{--box-shadow: none}\n"], components: [{ type: i3.FaIconComponent, selector: "fa-icon", inputs: ["icon", "title", "spin", "pulse", "mask", "styles", "flip", "size", "pull", "border", "inverse", "symbol", "rotate", "fixedWidth", "classes", "transform", "a11yRole"] }, { type: i4.IonButton, selector: "ion-button", inputs: ["buttonType", "color", "disabled", "download", "expand", "fill", "form", "href", "mode", "rel", "routerAnimation", "routerDirection", "shape", "size", "strong", "target", "type"] }], directives: [{ type: i5.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i5.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { type: i6.TooltipDirective, selector: "[kendoTooltip]", inputs: ["filter", "position", "titleTemplate", "showOn", "showAfter", "callout", "closable", "offset", "tooltipWidth", "tooltipHeight", "tooltipClass", "collision", "closeTitle", "tooltipTemplate"], exportAs: ["kendoTooltip"] }, { type: i5.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { type: i7.DefaultClassDirective, selector: " [ngClass], [ngClass.xs], [ngClass.sm], [ngClass.md], [ngClass.lg], [ngClass.xl], [ngClass.lt-sm], [ngClass.lt-md], [ngClass.lt-lg], [ngClass.lt-xl], [ngClass.gt-xs], [ngClass.gt-sm], [ngClass.gt-md], [ngClass.gt-lg]", inputs: ["ngClass", "ngClass.xs", "ngClass.sm", "ngClass.md", "ngClass.lg", "ngClass.xl", "ngClass.lt-sm", "ngClass.lt-md", "ngClass.lt-lg", "ngClass.lt-xl", "ngClass.gt-xs", "ngClass.gt-sm", "ngClass.gt-md", "ngClass.gt-lg"] }] });
84
+ InputFieldAddOnsComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.4.0", type: InputFieldAddOnsComponent, selector: "app-input-field-addons", inputs: { position: "position", addOn: "addOn" }, usesInheritance: true, usesOnChanges: true, ngImport: i0, template: "<div [class]=\"'addons-container ' + position\" *ngIf=\"addOn\">\r\n <div class=\"addons-icon\" *ngIf=\"addOn.IconList\">\r\n <div *ngFor=\"let item of addOn.IconList\">\r\n <div kendoTooltip class=\"icon-button\" showOn=\"hover\" [position]=\"item.ToolTipPosition ?? 'top'\">\r\n <span (click)=\"onIconClick(item.Click)\" [title]=\"item.ToolTipText\" [style]=\"item.Style\">\r\n <fa-icon [icon]=\"item.Icon\">\r\n </fa-icon>\r\n </span>\r\n </div>\r\n </div>\r\n </div>\r\n\r\n <div class=\"addons-text\" *ngIf=\"addOn.TextList\">\r\n <div *ngFor=\"let item of addOn.TextList\">\r\n <div kendoTooltip class=\"icon-button\" showOn=\"hover\" [position]=\"item.ToolTipPosition ?? 'top'\">\r\n <span (click)=\"onIconClick(item.Click)\" [title]=\"item.ToolTipText\" [style]=\"item.Style\">\r\n {{item.Text}}\r\n </span>\r\n </div>\r\n </div>\r\n </div>\r\n\r\n <div class=\"addons-buttons\" *ngIf=\"addOn.ButtonList\">\r\n <ion-button *ngFor=\"let button of addOn.ButtonList; let i = button\" [fill]=\"button.fill\" [ngClass]=\"button.class\"\r\n [color]=\"button.color\" [size]=\"button.Size || 'small'\" strong=\"false\" (click)=\"onIconClick(button.Click)\"\r\n [hidden]=\"!button.Visible\" [disabled]=\"group.isTriggered || button.Disabled\" [style]=\"button.Style\">\r\n <fa-icon *ngIf=\"button.Icon\" [icon]=\"getFontAwesome(button.Icon, fontAweSomeService)\"\r\n [style.padding-right]=\"button.Text ? '5px' : '0px'\"></fa-icon>\r\n <span class=\"ion-text-capitalize\">{{ button.Text }}</span>\r\n </ion-button>\r\n </div>\r\n</div>\r\n", styles: [".addons-container{display:flex}.addons-container .addons-icon{display:flex;flex-direction:row}.addons-container .addons-icon fa-icon{padding:4px 6px;font-size:calc(var(--content-font-size) - 2px)}.addons-container .addons-buttons>ion-button{margin:0 0 0 5px;font-size:calc(var(--content-font-size) - 2px)}.addons-container .addons-text{padding-left:6px;padding-top:3px;font-size:calc(var(--content-font-size) - 2px)}.addons-container.top .addons-buttons>ion-button{top:-3px;position:relative}.addons-container.left .addons-buttons>ion-button{margin:0 5px 0 0}.addons-buttons ion-button{font-size:var(--button-font-size);margin-left:10px;--border-radius: var(--button-border-radius);--box-shadow: 1px 2px 4px 0px rgba(0, 0, 0, .25)}.addons-buttons ion-button.useCustomClass{--background-hover-opacity: 1;--border-width: 2px;--border-style: solid;--background: #fff;--background-hover: rgba(var(--ion-color-primary-rgb), .05);--color: var(--ion-color-primary);--border-color: var(--ion-color-primary)}.addons-buttons ion-button.primary-light{--background: rgba(var(--ion-color-primary-rgb), .05);--background-hover: #fff;--color: var(--ion-color-primary);--border-color: var(--ion-color-primary)}.addons-buttons ion-button.primary{--background: var(--ion-color-primary);--background-hover: var(--ion-color-primary-tint);--color: var(--ion-color-primary-contrast);--border-color: var(--ion-color-primary-shade)}.addons-buttons ion-button.success{--background: var(--ion-color-success);--background-hover: var(--ion-color-success-tint);--color: var(--ion-color-success-contrast);--border-color: var(--ion-color-success-shade)}.addons-buttons ion-button.danger{--background: var(--ion-color-danger);--background-hover: var(--ion-color-danger-tint2);--color: var(--ion-color-danger-contrast);--border-color: var(--ion-color-danger-shade)}.addons-buttons ion-button.warning{--background: var(--ion-color-warning);--background-hover: var(--ion-color-warning-tint);--color: #000;--border-color: var(--ion-color-warning-shade)}.addons-buttons ion-button.no-shadow{--box-shadow: none}\n"], components: [{ type: i3.FaIconComponent, selector: "fa-icon", inputs: ["icon", "title", "spin", "pulse", "mask", "styles", "flip", "size", "pull", "border", "inverse", "symbol", "rotate", "fixedWidth", "classes", "transform", "a11yRole"] }, { type: i4.IonButton, selector: "ion-button", inputs: ["buttonType", "color", "disabled", "download", "expand", "fill", "form", "href", "mode", "rel", "routerAnimation", "routerDirection", "shape", "size", "strong", "target", "type"] }], directives: [{ type: i5.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i5.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { type: i6.TooltipDirective, selector: "[kendoTooltip]", inputs: ["filter", "position", "titleTemplate", "showOn", "showAfter", "callout", "closable", "offset", "tooltipWidth", "tooltipHeight", "tooltipClass", "collision", "closeTitle", "tooltipTemplate"], exportAs: ["kendoTooltip"] }, { type: i5.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { type: i7.DefaultClassDirective, selector: " [ngClass], [ngClass.xs], [ngClass.sm], [ngClass.md], [ngClass.lg], [ngClass.xl], [ngClass.lt-sm], [ngClass.lt-md], [ngClass.lt-lg], [ngClass.lt-xl], [ngClass.gt-xs], [ngClass.gt-sm], [ngClass.gt-md], [ngClass.gt-lg]", inputs: ["ngClass", "ngClass.xs", "ngClass.sm", "ngClass.md", "ngClass.lg", "ngClass.xl", "ngClass.lt-sm", "ngClass.lt-md", "ngClass.lt-lg", "ngClass.lt-xl", "ngClass.gt-xs", "ngClass.gt-sm", "ngClass.gt-md", "ngClass.gt-lg"] }] });
85
85
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.4.0", ngImport: i0, type: InputFieldAddOnsComponent, decorators: [{
86
86
  type: Component,
87
- args: [{ selector: "app-input-field-addons", template: "<div [class]=\"'addons-container ' + position\" *ngIf=\"addOn\">\r\n <div class=\"addons-icon\" *ngIf=\"addOn.IconList\">\r\n <div *ngFor=\"let item of addOn.IconList\">\r\n <div kendoTooltip class=\"icon-button\" showOn=\"hover\" [tooltipWidth]=\"item.Width\" [position]=\"item.Position\">\r\n <span (click)=\"onIconClick(item.Click)\" [title]=\"item.ToolTipText\" [style]=\"item.Style\">\r\n <fa-icon [icon]=\"item.Icon\">\r\n </fa-icon>\r\n </span>\r\n </div>\r\n </div>\r\n </div>\r\n\r\n <div class=\"addons-text\" *ngIf=\"addOn.TextList\">\r\n <div *ngFor=\"let item of addOn.TextList\">\r\n <div kendoTooltip class=\"icon-button\" showOn=\"hover\" [tooltipWidth]=\"item.Width\" [position]=\"item.Position\">\r\n <span (click)=\"onIconClick(item.Click)\" [title]=\"item.ToolTipText\" [style]=\"item.Style\">\r\n {{item.Text}}\r\n </span>\r\n </div>\r\n </div>\r\n </div>\r\n\r\n <div class=\"addons-buttons\" *ngIf=\"addOn.ButtonList\">\r\n <ion-button *ngFor=\"let button of addOn.ButtonList; let i = button\" [fill]=\"button.fill\" [ngClass]=\"button.class\"\r\n [color]=\"button.color\" [size]=\"button.Size || 'small'\" strong=\"false\" (click)=\"onIconClick(button.Click)\"\r\n [hidden]=\"!button.Visible\" [disabled]=\"group.isTriggered || button.Disabled\" [style]=\"button.Style\">\r\n <fa-icon *ngIf=\"button.Icon\" [icon]=\"getFontAwesome(button.Icon, fontAweSomeService)\"\r\n [style.padding-right]=\"button.Text ? '5px' : '0px'\"></fa-icon>\r\n <span class=\"ion-text-capitalize\">{{ button.Text }}</span>\r\n </ion-button>\r\n </div>\r\n</div>\r\n", styles: [".addons-container{display:flex}.addons-container .addons-icon{display:flex;flex-direction:row}.addons-container .addons-icon fa-icon{padding:4px 6px;font-size:calc(var(--content-font-size) - 2px)}.addons-container .addons-buttons>ion-button{margin:0 0 0 5px;height:20px;font-size:calc(var(--content-font-size) - 2px)}.addons-container .addons-text{padding-left:6px;padding-top:3px;font-size:calc(var(--content-font-size) - 2px)}.addons-container.top .addons-buttons>ion-button{top:-3px;position:relative}.addons-container.left .addons-buttons>ion-button{margin:0 5px 0 0}.addons-buttons ion-button{font-size:var(--button-font-size);margin-left:10px;--border-radius: var(--button-border-radius);--box-shadow: 1px 2px 4px 0px rgba(0, 0, 0, .25)}.addons-buttons ion-button.useCustomClass{--background-hover-opacity: 1;--border-width: 2px;--border-style: solid;--background: #fff;--background-hover: rgba(var(--ion-color-primary-rgb), .05);--color: var(--ion-color-primary);--border-color: var(--ion-color-primary)}.addons-buttons ion-button.primary-light{--background: rgba(var(--ion-color-primary-rgb), .05);--background-hover: #fff;--color: var(--ion-color-primary);--border-color: var(--ion-color-primary)}.addons-buttons ion-button.primary{--background: var(--ion-color-primary);--background-hover: var(--ion-color-primary-tint);--color: var(--ion-color-primary-contrast);--border-color: var(--ion-color-primary-shade)}.addons-buttons ion-button.success{--background: var(--ion-color-success);--background-hover: var(--ion-color-success-tint);--color: var(--ion-color-success-contrast);--border-color: var(--ion-color-success-shade)}.addons-buttons ion-button.danger{--background: var(--ion-color-danger);--background-hover: var(--ion-color-danger-tint2);--color: var(--ion-color-danger-contrast);--border-color: var(--ion-color-danger-shade)}.addons-buttons ion-button.warning{--background: var(--ion-color-warning);--background-hover: var(--ion-color-warning-tint);--color: #000;--border-color: var(--ion-color-warning-shade)}.addons-buttons ion-button.no-shadow{--box-shadow: none}\n"] }]
87
+ args: [{ selector: "app-input-field-addons", template: "<div [class]=\"'addons-container ' + position\" *ngIf=\"addOn\">\r\n <div class=\"addons-icon\" *ngIf=\"addOn.IconList\">\r\n <div *ngFor=\"let item of addOn.IconList\">\r\n <div kendoTooltip class=\"icon-button\" showOn=\"hover\" [position]=\"item.ToolTipPosition ?? 'top'\">\r\n <span (click)=\"onIconClick(item.Click)\" [title]=\"item.ToolTipText\" [style]=\"item.Style\">\r\n <fa-icon [icon]=\"item.Icon\">\r\n </fa-icon>\r\n </span>\r\n </div>\r\n </div>\r\n </div>\r\n\r\n <div class=\"addons-text\" *ngIf=\"addOn.TextList\">\r\n <div *ngFor=\"let item of addOn.TextList\">\r\n <div kendoTooltip class=\"icon-button\" showOn=\"hover\" [position]=\"item.ToolTipPosition ?? 'top'\">\r\n <span (click)=\"onIconClick(item.Click)\" [title]=\"item.ToolTipText\" [style]=\"item.Style\">\r\n {{item.Text}}\r\n </span>\r\n </div>\r\n </div>\r\n </div>\r\n\r\n <div class=\"addons-buttons\" *ngIf=\"addOn.ButtonList\">\r\n <ion-button *ngFor=\"let button of addOn.ButtonList; let i = button\" [fill]=\"button.fill\" [ngClass]=\"button.class\"\r\n [color]=\"button.color\" [size]=\"button.Size || 'small'\" strong=\"false\" (click)=\"onIconClick(button.Click)\"\r\n [hidden]=\"!button.Visible\" [disabled]=\"group.isTriggered || button.Disabled\" [style]=\"button.Style\">\r\n <fa-icon *ngIf=\"button.Icon\" [icon]=\"getFontAwesome(button.Icon, fontAweSomeService)\"\r\n [style.padding-right]=\"button.Text ? '5px' : '0px'\"></fa-icon>\r\n <span class=\"ion-text-capitalize\">{{ button.Text }}</span>\r\n </ion-button>\r\n </div>\r\n</div>\r\n", styles: [".addons-container{display:flex}.addons-container .addons-icon{display:flex;flex-direction:row}.addons-container .addons-icon fa-icon{padding:4px 6px;font-size:calc(var(--content-font-size) - 2px)}.addons-container .addons-buttons>ion-button{margin:0 0 0 5px;font-size:calc(var(--content-font-size) - 2px)}.addons-container .addons-text{padding-left:6px;padding-top:3px;font-size:calc(var(--content-font-size) - 2px)}.addons-container.top .addons-buttons>ion-button{top:-3px;position:relative}.addons-container.left .addons-buttons>ion-button{margin:0 5px 0 0}.addons-buttons ion-button{font-size:var(--button-font-size);margin-left:10px;--border-radius: var(--button-border-radius);--box-shadow: 1px 2px 4px 0px rgba(0, 0, 0, .25)}.addons-buttons ion-button.useCustomClass{--background-hover-opacity: 1;--border-width: 2px;--border-style: solid;--background: #fff;--background-hover: rgba(var(--ion-color-primary-rgb), .05);--color: var(--ion-color-primary);--border-color: var(--ion-color-primary)}.addons-buttons ion-button.primary-light{--background: rgba(var(--ion-color-primary-rgb), .05);--background-hover: #fff;--color: var(--ion-color-primary);--border-color: var(--ion-color-primary)}.addons-buttons ion-button.primary{--background: var(--ion-color-primary);--background-hover: var(--ion-color-primary-tint);--color: var(--ion-color-primary-contrast);--border-color: var(--ion-color-primary-shade)}.addons-buttons ion-button.success{--background: var(--ion-color-success);--background-hover: var(--ion-color-success-tint);--color: var(--ion-color-success-contrast);--border-color: var(--ion-color-success-shade)}.addons-buttons ion-button.danger{--background: var(--ion-color-danger);--background-hover: var(--ion-color-danger-tint2);--color: var(--ion-color-danger-contrast);--border-color: var(--ion-color-danger-shade)}.addons-buttons ion-button.warning{--background: var(--ion-color-warning);--background-hover: var(--ion-color-warning-tint);--color: #000;--border-color: var(--ion-color-warning-shade)}.addons-buttons ion-button.no-shadow{--box-shadow: none}\n"] }]
88
88
  }], ctorParameters: function () { return [{ type: i1.ZComponentService }, { type: i2.FontAweSomeService }, { type: i2.TranslationService }]; }, propDecorators: { position: [{
89
89
  type: Input
90
90
  }], addOn: [{
91
91
  type: Input
92
92
  }] } });
93
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5wdXQtZmllbGQtYWRkb25zLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL21taGdsb2JhbC1keW5hbWljZm9ybS9zcmMvbGliL2VtYmVkLWNvbXBvbmVudHMvaW5wdXQtZmllbGQtYWRkb25zL2lucHV0LWZpZWxkLWFkZG9ucy5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9tbWhnbG9iYWwtZHluYW1pY2Zvcm0vc3JjL2xpYi9lbWJlZC1jb21wb25lbnRzL2lucHV0LWZpZWxkLWFkZG9ucy9pbnB1dC1maWVsZC1hZGRvbnMuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsK0JBQStCO0FBQy9CLE9BQU8sRUFBRSxTQUFTLEVBQUUsS0FBSyxFQUF5QixNQUFNLGVBQWUsQ0FBQztBQUV4RSw2QkFBNkI7QUFFN0IsOEJBQThCO0FBRTlCLDJDQUEyQztBQUMzQyxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sMkNBQTJDLENBQUM7QUFFM0UsT0FBTyxFQUF3RSxnQkFBZ0IsRUFBRSxNQUFNLGlCQUFpQixDQUFDOzs7Ozs7Ozs7QUFTekgsTUFBTSxPQUFPLHlCQUEwQixTQUFRLGNBQWM7SUFHM0QsWUFDRSxnQkFBbUMsRUFDNUIsa0JBQXNDLEVBQ3JDLGtCQUFzQztRQUU5QyxLQUFLLENBQUMsZ0JBQWdCLENBQUMsQ0FBQztRQUhqQix1QkFBa0IsR0FBbEIsa0JBQWtCLENBQW9CO1FBQ3JDLHVCQUFrQixHQUFsQixrQkFBa0IsQ0FBb0I7SUFHaEQsQ0FBQztJQUVELFFBQVE7SUFDUixDQUFDO0lBRUQsV0FBVyxDQUFDLE9BQXNCO1FBQ2hDLElBQUksSUFBSSxDQUFDLEtBQUssRUFBRTtZQUNkLElBQUksQ0FBQyxRQUFRLEdBQUcsSUFBSSxDQUFDLFFBQVEsSUFBSSxLQUFLLENBQUM7WUFDdkMsSUFBSSxDQUFDLGFBQWEsRUFBRSxD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RUFBRSxFQUFFLFdBQVcsRUFBRSxJQUFJLENBQUMsS0FBSyxDQUFDLFNBQVMsRUFBRSxLQUFLLEVBQUUsSUFBSSxDQUFDLEtBQUssRUFBRSxDQUFDLENBQUMsU0FBUyxFQUFFLENBQUM7WUFDOUksSUFBSSxDQUFDLGtCQUFrQixDQUFDLGtCQUFrQixDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsUUFBUSxFQUFFLGFBQWEsRUFBRSxFQUFFLFdBQVcsRUFBRSxJQUFJLENBQUMsS0FBSyxDQUFDLFNBQVMsRUFBRSxLQUFLLEVBQUUsSUFBSSxDQUFDLEtBQUssRUFBRSxDQUFDLENBQUMsU0FBUyxFQUFFLENBQUM7U0FDdEo7SUFDSCxDQUFDOztzSEFsRlUseUJBQXlCOzBHQUF6Qix5QkFBeUIsNEpDbkJ0Qyw4cERBZ0NBOzJGRGJhLHlCQUF5QjtrQkFOckMsU0FBUzsrQkFDRSx3QkFBd0I7MEtBTXpCLFFBQVE7c0JBQWhCLEtBQUs7Z0JBQ0csS0FBSztzQkFBYixLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiLyoqKioqKioqKiogQW5ndWxhciAqKioqKioqKioqL1xyXG5pbXBvcnQgeyBDb21wb25lbnQsIElucHV0LCBPbkluaXQsIFNpbXBsZUNoYW5nZXMgfSBmcm9tIFwiQGFuZ3VsYXIvY29yZVwiO1xyXG5cclxuLyoqKioqKioqKiogSW9uaWMgKioqKioqKioqKi9cclxuXHJcbi8qKioqKioqKioqIFBsdWdpbiAqKioqKioqKioqL1xyXG5cclxuLyoqKioqKioqKiogQ29tcG9uZW50ICYgU2VydmljZSAqKioqKioqKioqL1xyXG5pbXBvcnQgeyBJbnB1dEZpZWxkQmFzZSB9IGZyb20gXCIuLi8uLi9jb21wb25lbnRzL2lucHV0ZmllbGRiYXNlLmNvbXBvbmVudFwiO1xyXG5pbXBvcnQgeyBaQ29tcG9uZW50U2VydmljZSB9IGZyb20gXCIuLi8uLi9zZXJ2aWNlcy96Y29tcG9uZW50LnNlcnZpY2VcIjtcclxuaW1wb3J0IHsgRm9udEF3ZVNvbWVTZXJ2aWNlLCBJbnB1dEZpZWxkQWRkT25zLCBUcmFuc2xhdGlvblNlcnZpY2UsIFpDb21wb25lbnQsIFpDb21wb25lbnRIZWxwZXIgfSBmcm9tICdtbWhnbG9iYWwtemNvcmUnO1xyXG5cclxuXHJcbkBDb21wb25lbnQoe1xyXG4gIHNlbGVjdG9yOiBcImFwcC1pbnB1dC1maWVsZC1hZGRvbnNcIixcclxuICB0ZW1wbGF0ZVVybDogXCIuL2lucHV0LWZpZWxkLWFkZG9ucy5jb21wb25lbnQuaHRtbFwiLFxyXG4gIHN0eWxlVXJsczogW1wiLi9pbnB1dC1maWVsZC1hZGRvbnMuY29tcG9uZW50LnNjc3NcIl1cclxufSlcclxuXHJcbmV4cG9ydCBjbGFzcyBJbnB1dEZpZWxkQWRkT25zQ29tcG9uZW50IGV4dGVuZHMgSW5wdXRGaWVsZEJhc2UgaW1wbGVtZW50cyBaQ29tcG9uZW50LCBPbkluaXQge1xyXG4gIEBJbnB1dCgpIHBvc2l0aW9uOiAndG9wJyB8ICdsZWZ0JyB8ICdyaWdodCcgfCAnYm90dG9tJzsgLy8gZGVmYXVsdCB0b3BcclxuICBASW5wdXQoKSBhZGRPbjogSW5wdXRGaWVsZEFkZE9ucztcclxuICBjb25zdHJ1Y3RvcihcclxuICAgIGNvbXBvbmVudFNlcnZpY2U6IFpDb21wb25lbnRTZXJ2aWNlLFxyXG4gICAgcHVibGljIGZvbnRBd2VTb21lU2VydmljZTogRm9udEF3ZVNvbWVTZXJ2aWNlLFxyXG4gICAgcHJpdmF0ZSB0cmFuc2xhdGlvblNlcnZpY2U6IFRyYW5zbGF0aW9uU2VydmljZVxyXG4gICkge1xyXG4gICAgc3VwZXIoY29tcG9uZW50U2VydmljZSk7XHJcbiAgfVxyXG5cclxuICBuZ09uSW5pdCgpIHtcclxuICB9XHJcblxyXG4gIG5nT25DaGFuZ2VzKGNoYW5nZXM6IFNpbXBsZUNoYW5nZXMpIHtcclxuICAgIGlmICh0aGlzLmFkZE9uKSB7XHJcbiAgICAgIHRoaXMucG9zaXRpb24gPSB0aGlzLnBvc2l0aW9uIHx8ICd0b3AnO1xyXG4gICAgICB0aGlzLnNldHVwSWNvbkxpc3QoKTtcclxuICAgICAgdGhpcy5zZXR1cEJ1dHRvbkxpc3QoKTtcclxuICAgICAgdGhpcy5zZXR1cFRleHRMaXN0KCk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIHNldHVwSWNvbkxpc3QoKSB7XHJcbiAgICAvLyB0aGlzLmFkZE9uLkljb25MaXN0ID0gW3sgSWNvbjogXCJ1c2VyXCIsIENsaWNrOiBudWxsLCBTdHlsZTogXCJjb2xvcjpibHVlO1wiLCBUb29sVGlwVGV4dDogXCJ0ZXh0XCIgfV07IC8vIEZvciBUZXN0aW5nXHJcblxyXG4gICAgaWYgKHRoaXMuYWRkT24uSWNvbkxpc3QpIHtcclxuICAgICAgdGhpcy5hZGRPbi5JY29uTGlzdCA9IHRoaXMuYWRkT24uSWNvbkxpc3QuZmlsdGVyKHggPT4geCk7XHJcbiAgICAgIHRoaXMuYWRkT24uSWNvbkxpc3QuZm9yRWFjaCgoaTogYW55KSA9PiB7XHJcbiAgICAgICAgaWYgKGkuVG9vbFRpcFRleHQgPT09IHVuZGVmaW5lZCkge1xyXG4gICAgICAgICAgaS5Ub29sVGlwVGV4dCA9IFwiXCI7XHJcbiAgICAgICAgfSBlbHNlIGlmIChpLlRvb2xUaXBUZXh0LmluZGV4T2YoXCJncm91cC5cIikgIT09IC0xKSB7XHJcbiAgICAgICAgICBpLlRvb2xUaXBUZXh0ID0gWkNvbXBvbmVudEhlbHBlci5nZXRHcm91cEV2YWxWYWx1ZS5jYWxsKHRoaXMsIGkuVG9vbFRpcFRleHQpO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgdGhpcy50cmFuc2xhdGlvblNlcnZpY2UuJHRyYW5zbGF0ZVRleHQoaS5Ub29sVGlwVGV4dCwgeyBlbGVtZW50TmFtZTogdGhpcy5ncm91cC5maWVsZE5hbWUsIGdyb3VwOiB0aGlzLmdyb3VwIH0pLnN1YnNjcmliZSgpO1xyXG5cclxuICAgICAgICAvLyBEZWZhdWx0IHBvc2l0aW9uIHRvcC4gcmlnaHQgfCBib3R0b20gfCB0b3AgfCBsZWZ0XHJcbiAgICAgICAgaS5Qb3NpdGlvbiA9IGkuUG9zaXRpb24gfHwgXCJ0b3BcIjtcclxuICAgICAgfSk7XHJcblxyXG4gICAgICB0aGlzLnRyYW5zbGF0aW9uU2VydmljZS4kdHJhbnNsYXRlSXRlbUxpc3QodGhpcy5hZGRPbi5JY29uTGlzdCwgXCJUb29sVGlwVGV4dFwiLCB7IGVsZW1lbnROYW1lOiB0aGlzLmdyb3VwLmZpZWxkTmFtZSwgZ3JvdXA6IHRoaXMuZ3JvdXAgfSkuc3Vic2NyaWJlKCk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIHNldHVwQnV0dG9uTGlzdCgpIHtcclxuICAgIC8vIHRoaXMuYWRkT24uQnV0dG9uTGlzdCA9IFt7IFRleHQ6ICd0ZXN0JywgSWNvbjogJ3VzZXInLCBTdHlsZTogJycsIENsaWNrOiBudWxsIH1dOyAgLy8gRm9yIFRlc3RpbmdcclxuXHJcbiAgICBpZiAodGhpcy5hZGRPbi5CdXR0b25MaXN0KSB7XHJcbiAgICAgIHRoaXMuYWRkT24uQnV0dG9uTGlzdCA9IHRoaXMuYWRkT24uQnV0dG9uTGlzdC5maWx0ZXIoeCA9PiB4KTtcclxuICAgICAgdGhpcy5hZGRPbi5CdXR0b25MaXN0LmZvckVhY2goYnV0dG9uID0+IHtcclxuICAgICAgICBjb25zdCBpc1VzZUN1c3RvbUNsYXNzID0gYnV0dG9uLkNvbG9yID8gZmFsc2UgOiB0cnVlO1xyXG4gICAgICAgIGJ1dHRvblsnY29sb3InXSA9IGlzVXNlQ3VzdG9tQ2xhc3MgPyAnJyA6IChidXR0b24uQ29sb3IgfHwgJ3ByaW1hcnknKTtcclxuICAgICAgICBidXR0b25bJ2ZpbGwnXSA9IGlzVXNlQ3VzdG9tQ2xhc3MgPyAnJyA6IChidXR0b24uRmlsbCB8fCAnc29saWQnKTtcclxuICAgICAgICBidXR0b25bJ2NsYXNzJ10gPSBpc1VzZUN1c3RvbUNsYXNzID8gYCR7YnV0dG9uLkNsYXNzfSB1c2VDdXN0b21DbGFzc2AgOiBidXR0b24uQ2xhc3M7XHJcblxyXG4gICAgICAgIGJ1dHRvbi5WaXNpYmxlID0gWkNvbXBvbmVudEhlbHBlci5pc051bGxVbmRlZmluZWRFbXB0eShidXR0b24uVmlzaWJsZSkgPyAndHJ1ZScgOiBidXR0b24uVmlzaWJsZTtcclxuICAgICAgfSk7XHJcblxyXG4gICAgICB0aGlzLnRyYW5zbGF0aW9uU2VydmljZS4kdHJhbnNsYXRlSXRlbUxpc3QodGhpcy5hZGRPbi5CdXR0b25MaXN0LCBcIlRleHRcIiwgeyBlbGVtZW50TmFtZTogdGhpcy5ncm91cC5maWVsZE5hbWUsIGdyb3VwOiB0aGlzLmdyb3VwIH0pLnN1YnNjcmliZSgpO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBzZXR1cFRleHRMaXN0KCkge1xyXG4gICAgLy8gdGhpcy5hZGRPbi5UZXh0TGlzdCA9IFt7IFRleHQ6ICd0ZXN0JywgU3R5bGU6ICcnLCBUb29sdGlwVGV4dDogJ3Rlc3QnIH1dOyAgLy8gRm9yIFRlc3RpbmdcclxuXHJcbiAgICBpZiAodGhpcy5hZGRPbi5UZXh0TGlzdCkge1xyXG4gICAgICB0aGlzLmFkZE9uLlRleHRMaXN0ID0gdGhpcy5hZGRPbi5UZXh0TGlzdC5maWx0ZXIoeCA9PiB4KTtcclxuICAgICAgdGhpcy5hZGRPbi5UZXh0TGlzdC5mb3JFYWNoKChpOiBhbnkpID0+IHtcclxuICAgICAgICBpZiAoaS5Ub29sVGlwVGV4dCA9PT0gdW5kZWZpbmVkKSB7XHJcbiAgICAgICAgICBpLlRvb2xUaXBUZXh0ID0gXCJcIjtcclxuICAgICAgICB9IGVsc2UgaWYgKGkuVG9vbFRpcFRleHQuaW5kZXhPZihcImdyb3VwLlwiKSAhPT0gLTEpIHtcclxuICAgICAgICAgIGkuVG9vbFRpcFRleHQgPSBaQ29tcG9uZW50SGVscGVyLmdldEdyb3VwRXZhbFZhbHVlLmNhbGwodGhpcywgaS5Ub29sVGlwVGV4dCk7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICAvLyBEZWZhdWx0IHBvc2l0aW9uIHRvcC4gcmlnaHQgfCBib3R0b20gfCB0b3AgfCBsZWZ0XHJcbiAgICAgICAgaS5Qb3NpdGlvbiA9IGkuUG9zaXRpb24gfHwgXCJ0b3BcIjtcclxuICAgICAgfSk7XHJcblxyXG4gICAgICB0aGlzLnRyYW5zbGF0aW9uU2VydmljZS4kdHJhbnNsYXRlSXRlbUxpc3QodGhpcy5hZGRPbi5UZXh0TGlzdCwgXCJUZXh0XCIsIHsgZWxlbWVudE5hbWU6IHRoaXMuZ3JvdXAuZmllbGROYW1lLCBncm91cDogdGhpcy5ncm91cCB9KS5zdWJzY3JpYmUoKTtcclxuICAgICAgdGhpcy50cmFuc2xhdGlvblNlcnZpY2UuJHRyYW5zbGF0ZUl0ZW1MaXN0KHRoaXMuYWRkT24uVGV4dExpc3QsIFwiVG9vbFRpcFRleHRcIiwgeyBlbGVtZW50TmFtZTogdGhpcy5ncm91cC5maWVsZE5hbWUsIGdyb3VwOiB0aGlzLmdyb3VwIH0pLnN1YnNjcmliZSgpO1xyXG4gICAgfVxyXG4gIH1cclxufVxyXG4iLCI8ZGl2IFtjbGFzc109XCInYWRkb25zLWNvbnRhaW5lciAnICsgcG9zaXRpb25cIiAqbmdJZj1cImFkZE9uXCI+XHJcbiAgPGRpdiBjbGFzcz1cImFkZG9ucy1pY29uXCIgKm5nSWY9XCJhZGRPbi5JY29uTGlzdFwiPlxyXG4gICAgPGRpdiAqbmdGb3I9XCJsZXQgaXRlbSBvZiBhZGRPbi5JY29uTGlzdFwiPlxyXG4gICAgICA8ZGl2IGtlbmRvVG9vbHRpcCBjbGFzcz1cImljb24tYnV0dG9uXCIgc2hvd09uPVwiaG92ZXJcIiBbdG9vbHRpcFdpZHRoXT1cIml0ZW0uV2lkdGhcIiBbcG9zaXRpb25dPVwiaXRlbS5Qb3NpdGlvblwiPlxyXG4gICAgICAgIDxzcGFuIChjbGljayk9XCJvbkljb25DbGljayhpdGVtLkNsaWNrKVwiIFt0aXRsZV09XCJpdGVtLlRvb2xUaXBUZXh0XCIgW3N0eWxlXT1cIml0ZW0uU3R5bGVcIj5cclxuICAgICAgICAgIDxmYS1pY29uIFtpY29uXT1cIml0ZW0uSWNvblwiPlxyXG4gICAgICAgICAgPC9mYS1pY29uPlxyXG4gICAgICAgIDwvc3Bhbj5cclxuICAgICAgPC9kaXY+XHJcbiAgICA8L2Rpdj5cclxuICA8L2Rpdj5cclxuXHJcbiAgPGRpdiBjbGFzcz1cImFkZG9ucy10ZXh0XCIgKm5nSWY9XCJhZGRPbi5UZXh0TGlzdFwiPlxyXG4gICAgPGRpdiAqbmdGb3I9XCJsZXQgaXRlbSBvZiBhZGRPbi5UZXh0TGlzdFwiPlxyXG4gICAgICA8ZGl2IGtlbmRvVG9vbHRpcCBjbGFzcz1cImljb24tYnV0dG9uXCIgc2hvd09uPVwiaG92ZXJcIiBbdG9vbHRpcFdpZHRoXT1cIml0ZW0uV2lkdGhcIiBbcG9zaXRpb25dPVwiaXRlbS5Qb3NpdGlvblwiPlxyXG4gICAgICAgIDxzcGFuIChjbGljayk9XCJvbkljb25DbGljayhpdGVtLkNsaWNrKVwiIFt0aXRsZV09XCJpdGVtLlRvb2xUaXBUZXh0XCIgW3N0eWxlXT1cIml0ZW0uU3R5bGVcIj5cclxuICAgICAgICAgIHt7aXRlbS5UZXh0fX1cclxuICAgICAgICA8L3NwYW4+XHJcbiAgICAgIDwvZGl2PlxyXG4gICAgPC9kaXY+XHJcbiAgPC9kaXY+XHJcblxyXG4gIDxkaXYgY2xhc3M9XCJhZGRvbnMtYnV0dG9uc1wiICpuZ0lmPVwiYWRkT24uQnV0dG9uTGlzdFwiPlxyXG4gICAgPGlvbi1idXR0b24gKm5nRm9yPVwibGV0IGJ1dHRvbiBvZiBhZGRPbi5CdXR0b25MaXN0OyBsZXQgaSA9IGJ1dHRvblwiIFtmaWxsXT1cImJ1dHRvbi5maWxsXCIgW25nQ2xhc3NdPVwiYnV0dG9uLmNsYXNzXCJcclxuICAgICAgW2NvbG9yXT1cImJ1dHRvbi5jb2xvclwiIFtzaXplXT1cImJ1dHRvbi5TaXplIHx8ICdzbWFsbCdcIiBzdHJvbmc9XCJmYWxzZVwiIChjbGljayk9XCJvbkljb25DbGljayhidXR0b24uQ2xpY2spXCJcclxuICAgICAgW2hpZGRlbl09XCIhYnV0dG9uLlZpc2libGVcIiBbZGlzYWJsZWRdPVwiZ3JvdXAuaXNUcmlnZ2VyZWQgfHwgYnV0dG9uLkRpc2FibGVkXCIgW3N0eWxlXT1cImJ1dHRvbi5TdHlsZVwiPlxyXG4gICAgICA8ZmEtaWNvbiAqbmdJZj1cImJ1dHRvbi5JY29uXCIgW2ljb25dPVwiZ2V0Rm9udEF3ZXNvbWUoYnV0dG9uLkljb24sIGZvbnRBd2VTb21lU2VydmljZSlcIlxyXG4gICAgICAgIFtzdHlsZS5wYWRkaW5nLXJpZ2h0XT1cImJ1dHRvbi5UZXh0ID8gJzVweCcgOiAnMHB4J1wiPjwvZmEtaWNvbj5cclxuICAgICAgPHNwYW4gY2xhc3M9XCJpb24tdGV4dC1jYXBpdGFsaXplXCI+e3sgYnV0dG9uLlRleHQgfX08L3NwYW4+XHJcbiAgICA8L2lvbi1idXR0b24+XHJcbiAgPC9kaXY+XHJcbjwvZGl2PlxyXG4iXX0=
93
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5wdXQtZmllbGQtYWRkb25zLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL21taGdsb2JhbC1keW5hbWljZm9ybS9zcmMvbGliL2VtYmVkLWNvbXBvbmVudHMvaW5wdXQtZmllbGQtYWRkb25zL2lucHV0LWZpZWxkLWFkZG9ucy5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9tbWhnbG9iYWwtZHluYW1pY2Zvcm0vc3JjL2xpYi9lbWJlZC1jb21wb25lbnRzL2lucHV0LWZpZWxkLWFkZG9ucy9pbnB1dC1maWVsZC1hZGRvbnMuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsK0JBQStCO0FBQy9CLE9BQU8sRUFBRSxTQUFTLEVBQUUsS0FBSyxFQUF5QixNQUFNLGVBQWUsQ0FBQztBQUV4RSw2QkFBNkI7QUFFN0IsOEJBQThCO0FBRTlCLDJDQUEyQztBQUMzQyxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sMkNBQTJDLENBQUM7QUFFM0UsT0FBTyxFQUF3RSxnQkFBZ0IsRUFBRSxNQUFNLGlCQUFpQixDQUFDOzs7Ozs7Ozs7QUFTekgsTUFBTSxPQUFPLHlCQUEwQixTQUFRLGNBQWM7SUFHM0QsWUFDRSxnQkFBbUMsRUFDNUIsa0JBQXNDLEVBQ3JDLGtCQUFzQztRQUU5QyxLQUFLLENBQUMsZ0JBQWdCLENBQUMsQ0FBQztRQUhqQix1QkFBa0IsR0FBbEIsa0JBQWtCLENBQW9CO1FBQ3JDLHVCQUFrQixHQUFsQixrQkFBa0IsQ0FBb0I7SUFHaEQsQ0FBQztJQUVELFFBQVE7SUFDUixDQUFDO0lBRUQsV0FBVyxDQUFDLE9BQXNCO1FBQ2hDLElBQUksSUFBSSxDQUFDLEtBQUssRUFBRTtZQUNkLElBQUksQ0FBQyxRQUFRLEdBQUcsSUFBSSxDQUFDLFFBQVEsSUFBSSxLQUFLLENBQUM7WUFDdkMsSUFBSSxDQUFDLGFBQWEsRUFBRSxD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RUFBRSxFQUFFLFdBQVcsRUFBRSxJQUFJLENBQUMsS0FBSyxDQUFDLFNBQVMsRUFBRSxLQUFLLEVBQUUsSUFBSSxDQUFDLEtBQUssRUFBRSxDQUFDLENBQUMsU0FBUyxFQUFFLENBQUM7WUFDOUksSUFBSSxDQUFDLGtCQUFrQixDQUFDLGtCQUFrQixDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsUUFBUSxFQUFFLGFBQWEsRUFBRSxFQUFFLFdBQVcsRUFBRSxJQUFJLENBQUMsS0FBSyxDQUFDLFNBQVMsRUFBRSxLQUFLLEVBQUUsSUFBSSxDQUFDLEtBQUssRUFBRSxDQUFDLENBQUMsU0FBUyxFQUFFLENBQUM7U0FDdEo7SUFDSCxDQUFDOztzSEFsRlUseUJBQXlCOzBHQUF6Qix5QkFBeUIsNEpDbkJ0Qyxrb0RBZ0NBOzJGRGJhLHlCQUF5QjtrQkFOckMsU0FBUzsrQkFDRSx3QkFBd0I7MEtBTXpCLFFBQVE7c0JBQWhCLEtBQUs7Z0JBQ0csS0FBSztzQkFBYixLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiLyoqKioqKioqKiogQW5ndWxhciAqKioqKioqKioqL1xyXG5pbXBvcnQgeyBDb21wb25lbnQsIElucHV0LCBPbkluaXQsIFNpbXBsZUNoYW5nZXMgfSBmcm9tIFwiQGFuZ3VsYXIvY29yZVwiO1xyXG5cclxuLyoqKioqKioqKiogSW9uaWMgKioqKioqKioqKi9cclxuXHJcbi8qKioqKioqKioqIFBsdWdpbiAqKioqKioqKioqL1xyXG5cclxuLyoqKioqKioqKiogQ29tcG9uZW50ICYgU2VydmljZSAqKioqKioqKioqL1xyXG5pbXBvcnQgeyBJbnB1dEZpZWxkQmFzZSB9IGZyb20gXCIuLi8uLi9jb21wb25lbnRzL2lucHV0ZmllbGRiYXNlLmNvbXBvbmVudFwiO1xyXG5pbXBvcnQgeyBaQ29tcG9uZW50U2VydmljZSB9IGZyb20gXCIuLi8uLi9zZXJ2aWNlcy96Y29tcG9uZW50LnNlcnZpY2VcIjtcclxuaW1wb3J0IHsgRm9udEF3ZVNvbWVTZXJ2aWNlLCBJbnB1dEZpZWxkQWRkT25zLCBUcmFuc2xhdGlvblNlcnZpY2UsIFpDb21wb25lbnQsIFpDb21wb25lbnRIZWxwZXIgfSBmcm9tICdtbWhnbG9iYWwtemNvcmUnO1xyXG5cclxuXHJcbkBDb21wb25lbnQoe1xyXG4gIHNlbGVjdG9yOiBcImFwcC1pbnB1dC1maWVsZC1hZGRvbnNcIixcclxuICB0ZW1wbGF0ZVVybDogXCIuL2lucHV0LWZpZWxkLWFkZG9ucy5jb21wb25lbnQuaHRtbFwiLFxyXG4gIHN0eWxlVXJsczogW1wiLi9pbnB1dC1maWVsZC1hZGRvbnMuY29tcG9uZW50LnNjc3NcIl1cclxufSlcclxuXHJcbmV4cG9ydCBjbGFzcyBJbnB1dEZpZWxkQWRkT25zQ29tcG9uZW50IGV4dGVuZHMgSW5wdXRGaWVsZEJhc2UgaW1wbGVtZW50cyBaQ29tcG9uZW50LCBPbkluaXQge1xyXG4gIEBJbnB1dCgpIHBvc2l0aW9uOiAndG9wJyB8ICdsZWZ0JyB8ICdyaWdodCcgfCAnYm90dG9tJzsgLy8gZGVmYXVsdCB0b3BcclxuICBASW5wdXQoKSBhZGRPbjogSW5wdXRGaWVsZEFkZE9ucztcclxuICBjb25zdHJ1Y3RvcihcclxuICAgIGNvbXBvbmVudFNlcnZpY2U6IFpDb21wb25lbnRTZXJ2aWNlLFxyXG4gICAgcHVibGljIGZvbnRBd2VTb21lU2VydmljZTogRm9udEF3ZVNvbWVTZXJ2aWNlLFxyXG4gICAgcHJpdmF0ZSB0cmFuc2xhdGlvblNlcnZpY2U6IFRyYW5zbGF0aW9uU2VydmljZVxyXG4gICkge1xyXG4gICAgc3VwZXIoY29tcG9uZW50U2VydmljZSk7XHJcbiAgfVxyXG5cclxuICBuZ09uSW5pdCgpIHtcclxuICB9XHJcblxyXG4gIG5nT25DaGFuZ2VzKGNoYW5nZXM6IFNpbXBsZUNoYW5nZXMpIHtcclxuICAgIGlmICh0aGlzLmFkZE9uKSB7XHJcbiAgICAgIHRoaXMucG9zaXRpb24gPSB0aGlzLnBvc2l0aW9uIHx8ICd0b3AnO1xyXG4gICAgICB0aGlzLnNldHVwSWNvbkxpc3QoKTtcclxuICAgICAgdGhpcy5zZXR1cEJ1dHRvbkxpc3QoKTtcclxuICAgICAgdGhpcy5zZXR1cFRleHRMaXN0KCk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIHNldHVwSWNvbkxpc3QoKSB7XHJcbiAgICAvLyB0aGlzLmFkZE9uLkljb25MaXN0ID0gW3sgSWNvbjogXCJ1c2VyXCIsIENsaWNrOiBudWxsLCBTdHlsZTogXCJjb2xvcjpibHVlO1wiLCBUb29sVGlwVGV4dDogXCJ0ZXh0XCIgfV07IC8vIEZvciBUZXN0aW5nXHJcblxyXG4gICAgaWYgKHRoaXMuYWRkT24uSWNvbkxpc3QpIHtcclxuICAgICAgdGhpcy5hZGRPbi5JY29uTGlzdCA9IHRoaXMuYWRkT24uSWNvbkxpc3QuZmlsdGVyKHggPT4geCk7XHJcbiAgICAgIHRoaXMuYWRkT24uSWNvbkxpc3QuZm9yRWFjaCgoaTogYW55KSA9PiB7XHJcbiAgICAgICAgaWYgKGkuVG9vbFRpcFRleHQgPT09IHVuZGVmaW5lZCkge1xyXG4gICAgICAgICAgaS5Ub29sVGlwVGV4dCA9IFwiXCI7XHJcbiAgICAgICAgfSBlbHNlIGlmIChpLlRvb2xUaXBUZXh0LmluZGV4T2YoXCJncm91cC5cIikgIT09IC0xKSB7XHJcbiAgICAgICAgICBpLlRvb2xUaXBUZXh0ID0gWkNvbXBvbmVudEhlbHBlci5nZXRHcm91cEV2YWxWYWx1ZS5jYWxsKHRoaXMsIGkuVG9vbFRpcFRleHQpO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgdGhpcy50cmFuc2xhdGlvblNlcnZpY2UuJHRyYW5zbGF0ZVRleHQoaS5Ub29sVGlwVGV4dCwgeyBlbGVtZW50TmFtZTogdGhpcy5ncm91cC5maWVsZE5hbWUsIGdyb3VwOiB0aGlzLmdyb3VwIH0pLnN1YnNjcmliZSgpO1xyXG5cclxuICAgICAgICAvLyBEZWZhdWx0IHBvc2l0aW9uIHRvcC4gcmlnaHQgfCBib3R0b20gfCB0b3AgfCBsZWZ0XHJcbiAgICAgICAgaS5Qb3NpdGlvbiA9IGkuUG9zaXRpb24gfHwgXCJ0b3BcIjtcclxuICAgICAgfSk7XHJcblxyXG4gICAgICB0aGlzLnRyYW5zbGF0aW9uU2VydmljZS4kdHJhbnNsYXRlSXRlbUxpc3QodGhpcy5hZGRPbi5JY29uTGlzdCwgXCJUb29sVGlwVGV4dFwiLCB7IGVsZW1lbnROYW1lOiB0aGlzLmdyb3VwLmZpZWxkTmFtZSwgZ3JvdXA6IHRoaXMuZ3JvdXAgfSkuc3Vic2NyaWJlKCk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIHNldHVwQnV0dG9uTGlzdCgpIHtcclxuICAgIC8vIHRoaXMuYWRkT24uQnV0dG9uTGlzdCA9IFt7IFRleHQ6ICd0ZXN0JywgSWNvbjogJ3VzZXInLCBTdHlsZTogJycsIENsaWNrOiBudWxsIH1dOyAgLy8gRm9yIFRlc3RpbmdcclxuXHJcbiAgICBpZiAodGhpcy5hZGRPbi5CdXR0b25MaXN0KSB7XHJcbiAgICAgIHRoaXMuYWRkT24uQnV0dG9uTGlzdCA9IHRoaXMuYWRkT24uQnV0dG9uTGlzdC5maWx0ZXIoeCA9PiB4KTtcclxuICAgICAgdGhpcy5hZGRPbi5CdXR0b25MaXN0LmZvckVhY2goYnV0dG9uID0+IHtcclxuICAgICAgICBjb25zdCBpc1VzZUN1c3RvbUNsYXNzID0gYnV0dG9uLkNvbG9yID8gZmFsc2UgOiB0cnVlO1xyXG4gICAgICAgIGJ1dHRvblsnY29sb3InXSA9IGlzVXNlQ3VzdG9tQ2xhc3MgPyAnJyA6IChidXR0b24uQ29sb3IgfHwgJ3ByaW1hcnknKTtcclxuICAgICAgICBidXR0b25bJ2ZpbGwnXSA9IGlzVXNlQ3VzdG9tQ2xhc3MgPyAnJyA6IChidXR0b24uRmlsbCB8fCAnc29saWQnKTtcclxuICAgICAgICBidXR0b25bJ2NsYXNzJ10gPSBpc1VzZUN1c3RvbUNsYXNzID8gYCR7YnV0dG9uLkNsYXNzfSB1c2VDdXN0b21DbGFzc2AgOiBidXR0b24uQ2xhc3M7XHJcblxyXG4gICAgICAgIGJ1dHRvbi5WaXNpYmxlID0gWkNvbXBvbmVudEhlbHBlci5pc051bGxVbmRlZmluZWRFbXB0eShidXR0b24uVmlzaWJsZSkgPyAndHJ1ZScgOiBidXR0b24uVmlzaWJsZTtcclxuICAgICAgfSk7XHJcblxyXG4gICAgICB0aGlzLnRyYW5zbGF0aW9uU2VydmljZS4kdHJhbnNsYXRlSXRlbUxpc3QodGhpcy5hZGRPbi5CdXR0b25MaXN0LCBcIlRleHRcIiwgeyBlbGVtZW50TmFtZTogdGhpcy5ncm91cC5maWVsZE5hbWUsIGdyb3VwOiB0aGlzLmdyb3VwIH0pLnN1YnNjcmliZSgpO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBzZXR1cFRleHRMaXN0KCkge1xyXG4gICAgLy8gdGhpcy5hZGRPbi5UZXh0TGlzdCA9IFt7IFRleHQ6ICd0ZXN0JywgU3R5bGU6ICcnLCBUb29sdGlwVGV4dDogJ3Rlc3QnIH1dOyAgLy8gRm9yIFRlc3RpbmdcclxuXHJcbiAgICBpZiAodGhpcy5hZGRPbi5UZXh0TGlzdCkge1xyXG4gICAgICB0aGlzLmFkZE9uLlRleHRMaXN0ID0gdGhpcy5hZGRPbi5UZXh0TGlzdC5maWx0ZXIoeCA9PiB4KTtcclxuICAgICAgdGhpcy5hZGRPbi5UZXh0TGlzdC5mb3JFYWNoKChpOiBhbnkpID0+IHtcclxuICAgICAgICBpZiAoaS5Ub29sVGlwVGV4dCA9PT0gdW5kZWZpbmVkKSB7XHJcbiAgICAgICAgICBpLlRvb2xUaXBUZXh0ID0gXCJcIjtcclxuICAgICAgICB9IGVsc2UgaWYgKGkuVG9vbFRpcFRleHQuaW5kZXhPZihcImdyb3VwLlwiKSAhPT0gLTEpIHtcclxuICAgICAgICAgIGkuVG9vbFRpcFRleHQgPSBaQ29tcG9uZW50SGVscGVyLmdldEdyb3VwRXZhbFZhbHVlLmNhbGwodGhpcywgaS5Ub29sVGlwVGV4dCk7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICAvLyBEZWZhdWx0IHBvc2l0aW9uIHRvcC4gcmlnaHQgfCBib3R0b20gfCB0b3AgfCBsZWZ0XHJcbiAgICAgICAgaS5Qb3NpdGlvbiA9IGkuUG9zaXRpb24gfHwgXCJ0b3BcIjtcclxuICAgICAgfSk7XHJcblxyXG4gICAgICB0aGlzLnRyYW5zbGF0aW9uU2VydmljZS4kdHJhbnNsYXRlSXRlbUxpc3QodGhpcy5hZGRPbi5UZXh0TGlzdCwgXCJUZXh0XCIsIHsgZWxlbWVudE5hbWU6IHRoaXMuZ3JvdXAuZmllbGROYW1lLCBncm91cDogdGhpcy5ncm91cCB9KS5zdWJzY3JpYmUoKTtcclxuICAgICAgdGhpcy50cmFuc2xhdGlvblNlcnZpY2UuJHRyYW5zbGF0ZUl0ZW1MaXN0KHRoaXMuYWRkT24uVGV4dExpc3QsIFwiVG9vbFRpcFRleHRcIiwgeyBlbGVtZW50TmFtZTogdGhpcy5ncm91cC5maWVsZE5hbWUsIGdyb3VwOiB0aGlzLmdyb3VwIH0pLnN1YnNjcmliZSgpO1xyXG4gICAgfVxyXG4gIH1cclxufVxyXG4iLCI8ZGl2IFtjbGFzc109XCInYWRkb25zLWNvbnRhaW5lciAnICsgcG9zaXRpb25cIiAqbmdJZj1cImFkZE9uXCI+XHJcbiAgPGRpdiBjbGFzcz1cImFkZG9ucy1pY29uXCIgKm5nSWY9XCJhZGRPbi5JY29uTGlzdFwiPlxyXG4gICAgPGRpdiAqbmdGb3I9XCJsZXQgaXRlbSBvZiBhZGRPbi5JY29uTGlzdFwiPlxyXG4gICAgICA8ZGl2IGtlbmRvVG9vbHRpcCBjbGFzcz1cImljb24tYnV0dG9uXCIgc2hvd09uPVwiaG92ZXJcIiBbcG9zaXRpb25dPVwiaXRlbS5Ub29sVGlwUG9zaXRpb24gPz8gJ3RvcCdcIj5cclxuICAgICAgICA8c3BhbiAoY2xpY2spPVwib25JY29uQ2xpY2soaXRlbS5DbGljaylcIiBbdGl0bGVdPVwiaXRlbS5Ub29sVGlwVGV4dFwiIFtzdHlsZV09XCJpdGVtLlN0eWxlXCI+XHJcbiAgICAgICAgICA8ZmEtaWNvbiBbaWNvbl09XCJpdGVtLkljb25cIj5cclxuICAgICAgICAgIDwvZmEtaWNvbj5cclxuICAgICAgICA8L3NwYW4+XHJcbiAgICAgIDwvZGl2PlxyXG4gICAgPC9kaXY+XHJcbiAgPC9kaXY+XHJcblxyXG4gIDxkaXYgY2xhc3M9XCJhZGRvbnMtdGV4dFwiICpuZ0lmPVwiYWRkT24uVGV4dExpc3RcIj5cclxuICAgIDxkaXYgKm5nRm9yPVwibGV0IGl0ZW0gb2YgYWRkT24uVGV4dExpc3RcIj5cclxuICAgICAgPGRpdiBrZW5kb1Rvb2x0aXAgY2xhc3M9XCJpY29uLWJ1dHRvblwiIHNob3dPbj1cImhvdmVyXCIgW3Bvc2l0aW9uXT1cIml0ZW0uVG9vbFRpcFBvc2l0aW9uID8/ICd0b3AnXCI+XHJcbiAgICAgICAgPHNwYW4gKGNsaWNrKT1cIm9uSWNvbkNsaWNrKGl0ZW0uQ2xpY2spXCIgW3RpdGxlXT1cIml0ZW0uVG9vbFRpcFRleHRcIiBbc3R5bGVdPVwiaXRlbS5TdHlsZVwiPlxyXG4gICAgICAgICAge3tpdGVtLlRleHR9fVxyXG4gICAgICAgIDwvc3Bhbj5cclxuICAgICAgPC9kaXY+XHJcbiAgICA8L2Rpdj5cclxuICA8L2Rpdj5cclxuXHJcbiAgPGRpdiBjbGFzcz1cImFkZG9ucy1idXR0b25zXCIgKm5nSWY9XCJhZGRPbi5CdXR0b25MaXN0XCI+XHJcbiAgICA8aW9uLWJ1dHRvbiAqbmdGb3I9XCJsZXQgYnV0dG9uIG9mIGFkZE9uLkJ1dHRvbkxpc3Q7IGxldCBpID0gYnV0dG9uXCIgW2ZpbGxdPVwiYnV0dG9uLmZpbGxcIiBbbmdDbGFzc109XCJidXR0b24uY2xhc3NcIlxyXG4gICAgICBbY29sb3JdPVwiYnV0dG9uLmNvbG9yXCIgW3NpemVdPVwiYnV0dG9uLlNpemUgfHwgJ3NtYWxsJ1wiIHN0cm9uZz1cImZhbHNlXCIgKGNsaWNrKT1cIm9uSWNvbkNsaWNrKGJ1dHRvbi5DbGljaylcIlxyXG4gICAgICBbaGlkZGVuXT1cIiFidXR0b24uVmlzaWJsZVwiIFtkaXNhYmxlZF09XCJncm91cC5pc1RyaWdnZXJlZCB8fCBidXR0b24uRGlzYWJsZWRcIiBbc3R5bGVdPVwiYnV0dG9uLlN0eWxlXCI+XHJcbiAgICAgIDxmYS1pY29uICpuZ0lmPVwiYnV0dG9uLkljb25cIiBbaWNvbl09XCJnZXRGb250QXdlc29tZShidXR0b24uSWNvbiwgZm9udEF3ZVNvbWVTZXJ2aWNlKVwiXHJcbiAgICAgICAgW3N0eWxlLnBhZGRpbmctcmlnaHRdPVwiYnV0dG9uLlRleHQgPyAnNXB4JyA6ICcwcHgnXCI+PC9mYS1pY29uPlxyXG4gICAgICA8c3BhbiBjbGFzcz1cImlvbi10ZXh0LWNhcGl0YWxpemVcIj57eyBidXR0b24uVGV4dCB9fTwvc3Bhbj5cclxuICAgIDwvaW9uLWJ1dHRvbj5cclxuICA8L2Rpdj5cclxuPC9kaXY+XHJcbiJdfQ==
@@ -14,6 +14,8 @@ import * as i6 from "@angular/common";
14
14
  export class UicontainerComponent {
15
15
  constructor(uiSignalService) {
16
16
  this.uiSignalService = uiSignalService;
17
+ this.scrollX = true;
18
+ this.scrollY = true;
17
19
  this.isEmbeddedPage = false;
18
20
  }
19
21
  ngOnInit() {
@@ -25,11 +27,15 @@ export class UicontainerComponent {
25
27
  }
26
28
  }
27
29
  UicontainerComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.4.0", ngImport: i0, type: UicontainerComponent, deps: [{ token: i1.UISignalService }], target: i0.ɵɵFactoryTarget.Component });
28
- UicontainerComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.4.0", type: UicontainerComponent, selector: "app-uicontainer", inputs: { group: "group" }, ngImport: i0, template: "<ng-template #mainPage>\r\n <div id=\"mainPage\">\r\n <div class=\"loadingPage\" *ngIf=\"group.isTriggered\">\r\n <processing-record-loader></processing-record-loader>\r\n </div>\r\n <div class=\"recordpage\">\r\n <app-uiheader [group]=\"group\"></app-uiheader>\r\n\r\n <ion-content class=\"app-contain\" id=\"ion-content-main-page\" [scrollEvents]=\"true\"\r\n (ionScrollStart)=\"handleScrollStart($event)\">\r\n <app-uicontent [group]=\"group\"></app-uicontent>\r\n </ion-content>\r\n </div>\r\n </div>\r\n</ng-template>\r\n\r\n<ng-template #embeddedPage>\r\n <app-uicontent id=\"ion-content-form-page\" [group]=\"group\"></app-uicontent>\r\n</ng-template>\r\n\r\n<ng-container *ngTemplateOutlet=\"isEmbeddedPage ? embeddedPage : mainPage\"></ng-container>\r\n", styles: ["#ion-content-main-page{height:calc(100vh - var(--ion-header-height))}\n"], components: [{ type: i2.ProcessingRecordLoaderComponent, selector: "processing-record-loader" }, { type: i3.UiheaderComponent, selector: "app-uiheader", inputs: ["group", "topFormHeader"] }, { type: i4.IonContent, selector: "ion-content", inputs: ["color", "forceOverscroll", "fullscreen", "scrollEvents", "scrollX", "scrollY"] }, { type: i5.UicontentComponent, selector: "app-uicontent", inputs: ["group", "cssClass"] }], directives: [{ type: i6.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i6.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet"] }] });
30
+ UicontainerComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.4.0", type: UicontainerComponent, selector: "app-uicontainer", inputs: { group: "group", scrollX: "scrollX", scrollY: "scrollY" }, ngImport: i0, template: "<ng-template #mainPage>\r\n <div id=\"mainPage\">\r\n <div class=\"loadingPage\" *ngIf=\"group.isTriggered\">\r\n <processing-record-loader></processing-record-loader>\r\n </div>\r\n <div class=\"recordpage\">\r\n <app-uiheader [group]=\"group\"></app-uiheader>\r\n\r\n <ion-content class=\"app-contain\" id=\"ion-content-main-page\" [scrollEvents]=\"true\"\r\n (ionScrollStart)=\"handleScrollStart($event)\" [scrollX]=\"scrollX\" [scrollY]=\"scrollY\">\r\n <app-uicontent [group]=\"group\"></app-uicontent>\r\n </ion-content>\r\n </div>\r\n </div>\r\n</ng-template>\r\n\r\n<ng-template #embeddedPage>\r\n <app-uicontent id=\"ion-content-form-page\" [group]=\"group\"></app-uicontent>\r\n</ng-template>\r\n\r\n<ng-container *ngTemplateOutlet=\"isEmbeddedPage ? embeddedPage : mainPage\"></ng-container>\r\n", styles: ["#ion-content-main-page{height:calc(100vh - var(--ion-header-height))}\n"], components: [{ type: i2.ProcessingRecordLoaderComponent, selector: "processing-record-loader" }, { type: i3.UiheaderComponent, selector: "app-uiheader", inputs: ["group", "topFormHeader"] }, { type: i4.IonContent, selector: "ion-content", inputs: ["color", "forceOverscroll", "fullscreen", "scrollEvents", "scrollX", "scrollY"] }, { type: i5.UicontentComponent, selector: "app-uicontent", inputs: ["group", "cssClass"] }], directives: [{ type: i6.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i6.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet"] }] });
29
31
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.4.0", ngImport: i0, type: UicontainerComponent, decorators: [{
30
32
  type: Component,
31
- args: [{ selector: 'app-uicontainer', template: "<ng-template #mainPage>\r\n <div id=\"mainPage\">\r\n <div class=\"loadingPage\" *ngIf=\"group.isTriggered\">\r\n <processing-record-loader></processing-record-loader>\r\n </div>\r\n <div class=\"recordpage\">\r\n <app-uiheader [group]=\"group\"></app-uiheader>\r\n\r\n <ion-content class=\"app-contain\" id=\"ion-content-main-page\" [scrollEvents]=\"true\"\r\n (ionScrollStart)=\"handleScrollStart($event)\">\r\n <app-uicontent [group]=\"group\"></app-uicontent>\r\n </ion-content>\r\n </div>\r\n </div>\r\n</ng-template>\r\n\r\n<ng-template #embeddedPage>\r\n <app-uicontent id=\"ion-content-form-page\" [group]=\"group\"></app-uicontent>\r\n</ng-template>\r\n\r\n<ng-container *ngTemplateOutlet=\"isEmbeddedPage ? embeddedPage : mainPage\"></ng-container>\r\n", styles: ["#ion-content-main-page{height:calc(100vh - var(--ion-header-height))}\n"] }]
33
+ args: [{ selector: 'app-uicontainer', template: "<ng-template #mainPage>\r\n <div id=\"mainPage\">\r\n <div class=\"loadingPage\" *ngIf=\"group.isTriggered\">\r\n <processing-record-loader></processing-record-loader>\r\n </div>\r\n <div class=\"recordpage\">\r\n <app-uiheader [group]=\"group\"></app-uiheader>\r\n\r\n <ion-content class=\"app-contain\" id=\"ion-content-main-page\" [scrollEvents]=\"true\"\r\n (ionScrollStart)=\"handleScrollStart($event)\" [scrollX]=\"scrollX\" [scrollY]=\"scrollY\">\r\n <app-uicontent [group]=\"group\"></app-uicontent>\r\n </ion-content>\r\n </div>\r\n </div>\r\n</ng-template>\r\n\r\n<ng-template #embeddedPage>\r\n <app-uicontent id=\"ion-content-form-page\" [group]=\"group\"></app-uicontent>\r\n</ng-template>\r\n\r\n<ng-container *ngTemplateOutlet=\"isEmbeddedPage ? embeddedPage : mainPage\"></ng-container>\r\n", styles: ["#ion-content-main-page{height:calc(100vh - var(--ion-header-height))}\n"] }]
32
34
  }], ctorParameters: function () { return [{ type: i1.UISignalService }]; }, propDecorators: { group: [{
33
35
  type: Input
36
+ }], scrollX: [{
37
+ type: Input
38
+ }], scrollY: [{
39
+ type: Input
34
40
  }] } });
35
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidWljb250YWluZXIuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbW1oZ2xvYmFsLWR5bmFtaWNmb3JtL3NyYy9saWIvdWljb250YWluZXIvdWljb250YWluZXIuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbW1oZ2xvYmFsLWR5bmFtaWNmb3JtL3NyYy9saWIvdWljb250YWluZXIvdWljb250YWluZXIuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsK0JBQStCO0FBQy9CLE9BQU8sRUFBRSxTQUFTLEVBQVUsS0FBSyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBRXpELDZCQUE2QjtBQUU3Qiw4QkFBOEI7QUFFOUIsMkNBQTJDO0FBQzNDLE9BQU8sRUFBRSxVQUFVLEVBQTJCLE1BQU0saUJBQWlCLENBQUM7Ozs7Ozs7O0FBUXRFLE1BQU0sT0FBTyxvQkFBb0I7SUFJL0IsWUFBb0IsZUFBZ0M7UUFBaEMsb0JBQWUsR0FBZixlQUFlLENBQWlCO1FBRnBELG1CQUFjLEdBQVksS0FBSyxDQUFDO0lBRXdCLENBQUM7SUFFekQsUUFBUTtRQUNOLElBQUksQ0FBQyxjQUFjLEdBQUcsQ0FBQyxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsZ0JBQWdCLENBQUMsQ0FBQztJQUN2RCxDQUFDO0lBRU0saUJBQWlCLENBQUMsS0FBSztRQUM1QixvQ0FBb0M7UUFDcEMsSUFBSSxDQUFDLGVBQWUsQ0FBQyxjQUFjLENBQUMsVUFBVSxDQUFDLGVBQWUsRUFBRSxLQUFLLENBQUMsQ0FBQztJQUN6RSxDQUFDOztpSEFiVSxvQkFBb0I7cUdBQXBCLG9CQUFvQixtRkNoQmpDLDZ5QkFxQkE7MkZETGEsb0JBQW9CO2tCQU5oQyxTQUFTOytCQUNFLGlCQUFpQjtzR0FNbEIsS0FBSztzQkFBYixLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiLyoqKioqKioqKiogQW5ndWxhciAqKioqKioqKioqL1xyXG5pbXBvcnQgeyBDb21wb25lbnQsIE9uSW5pdCwgSW5wdXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuXHJcbi8qKioqKioqKioqIElvbmljICoqKioqKioqKiovXHJcblxyXG4vKioqKioqKioqKiBQbHVnaW4gKioqKioqKioqKi9cclxuXHJcbi8qKioqKioqKioqIENvbXBvbmVudCAmIFNlcnZpY2UgKioqKioqKioqKi9cclxuaW1wb3J0IHsgU2lnbmFsVHlwZSwgVUlTaWduYWxTZXJ2aWNlLCBaR3JvdXAgfSBmcm9tICdtbWhnbG9iYWwtemNvcmUnO1xyXG5cclxuQENvbXBvbmVudCh7XHJcbiAgc2VsZWN0b3I6ICdhcHAtdWljb250YWluZXInLFxyXG4gIHRlbXBsYXRlVXJsOiAnLi91aWNvbnRhaW5lci5jb21wb25lbnQuaHRtbCcsXHJcbiAgc3R5bGVVcmxzOiBbJy4vdWljb250YWluZXIuY29tcG9uZW50LnNjc3MnXSxcclxufSlcclxuXHJcbmV4cG9ydCBjbGFzcyBVaWNvbnRhaW5lckNvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCB7XHJcbiAgQElucHV0KCkgZ3JvdXA6IFpHcm91cDtcclxuICBpc0VtYmVkZGVkUGFnZTogYm9vbGVhbiA9IGZhbHNlO1xyXG5cclxuICBjb25zdHJ1Y3Rvcihwcml2YXRlIHVpU2lnbmFsU2VydmljZTogVUlTaWduYWxTZXJ2aWNlKSB7IH1cclxuXHJcbiAgbmdPbkluaXQoKSB7XHJcbiAgICB0aGlzLmlzRW1iZWRkZWRQYWdlID0gISF0aGlzLmdyb3VwW1wiaXNFbWJlZGRlZFBhZ2VcIl07XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgaGFuZGxlU2Nyb2xsU3RhcnQoZXZlbnQpIHtcclxuICAgIC8vIGNvbnNvbGUubG9nKCdoYW5kbGVTY3JvbGxTdGFydCcpO1xyXG4gICAgdGhpcy51aVNpZ25hbFNlcnZpY2UuYnJvYWRDYXN0RXZlbnQoU2lnbmFsVHlwZS5QYWdlU2Nyb2xsU3RhcnQsIGV2ZW50KTtcclxuICB9XHJcbn1cclxuIiwiPG5nLXRlbXBsYXRlICNtYWluUGFnZT5cclxuICA8ZGl2IGlkPVwibWFpblBhZ2VcIj5cclxuICAgIDxkaXYgY2xhc3M9XCJsb2FkaW5nUGFnZVwiICpuZ0lmPVwiZ3JvdXAuaXNUcmlnZ2VyZWRcIj5cclxuICAgICAgPHByb2Nlc3NpbmctcmVjb3JkLWxvYWRlcj48L3Byb2Nlc3NpbmctcmVjb3JkLWxvYWRlcj5cclxuICAgIDwvZGl2PlxyXG4gICAgPGRpdiBjbGFzcz1cInJlY29yZHBhZ2VcIj5cclxuICAgICAgPGFwcC11aWhlYWRlciBbZ3JvdXBdPVwiZ3JvdXBcIj48L2FwcC11aWhlYWRlcj5cclxuXHJcbiAgICAgIDxpb24tY29udGVudCBjbGFzcz1cImFwcC1jb250YWluXCIgaWQ9XCJpb24tY29udGVudC1tYWluLXBhZ2VcIiBbc2Nyb2xsRXZlbnRzXT1cInRydWVcIlxyXG4gICAgICAgIChpb25TY3JvbGxTdGFydCk9XCJoYW5kbGVTY3JvbGxTdGFydCgkZXZlbnQpXCI+XHJcbiAgICAgICAgPGFwcC11aWNvbnRlbnQgW2dyb3VwXT1cImdyb3VwXCI+PC9hcHAtdWljb250ZW50PlxyXG4gICAgICA8L2lvbi1jb250ZW50PlxyXG4gICAgPC9kaXY+XHJcbiAgPC9kaXY+XHJcbjwvbmctdGVtcGxhdGU+XHJcblxyXG48bmctdGVtcGxhdGUgI2VtYmVkZGVkUGFnZT5cclxuICA8YXBwLXVpY29udGVudCBpZD1cImlvbi1jb250ZW50LWZvcm0tcGFnZVwiIFtncm91cF09XCJncm91cFwiPjwvYXBwLXVpY29udGVudD5cclxuPC9uZy10ZW1wbGF0ZT5cclxuXHJcbjxuZy1jb250YWluZXIgKm5nVGVtcGxhdGVPdXRsZXQ9XCJpc0VtYmVkZGVkUGFnZSA/IGVtYmVkZGVkUGFnZSA6IG1haW5QYWdlXCI+PC9uZy1jb250YWluZXI+XHJcbiJdfQ==
41
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidWljb250YWluZXIuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbW1oZ2xvYmFsLWR5bmFtaWNmb3JtL3NyYy9saWIvdWljb250YWluZXIvdWljb250YWluZXIuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbW1oZ2xvYmFsLWR5bmFtaWNmb3JtL3NyYy9saWIvdWljb250YWluZXIvdWljb250YWluZXIuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsK0JBQStCO0FBQy9CLE9BQU8sRUFBRSxTQUFTLEVBQVUsS0FBSyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBRXpELDZCQUE2QjtBQUU3Qiw4QkFBOEI7QUFFOUIsMkNBQTJDO0FBQzNDLE9BQU8sRUFBRSxVQUFVLEVBQTJCLE1BQU0saUJBQWlCLENBQUM7Ozs7Ozs7O0FBUXRFLE1BQU0sT0FBTyxvQkFBb0I7SUFNL0IsWUFBb0IsZUFBZ0M7UUFBaEMsb0JBQWUsR0FBZixlQUFlLENBQWlCO1FBSnBDLFlBQU8sR0FBWSxJQUFJLENBQUM7UUFDeEIsWUFBTyxHQUFZLElBQUksQ0FBQztRQUN4QyxtQkFBYyxHQUFZLEtBQUssQ0FBQztJQUV3QixDQUFDO0lBRXpELFFBQVE7UUFDTixJQUFJLENBQUMsY0FBYyxHQUFHLENBQUMsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLGdCQUFnQixDQUFDLENBQUM7SUFDdkQsQ0FBQztJQUVNLGlCQUFpQixDQUFDLEtBQUs7UUFDNUIsb0NBQW9DO1FBQ3BDLElBQUksQ0FBQyxlQUFlLENBQUMsY0FBYyxDQUFDLFVBQVUsQ0FBQyxlQUFlLEVBQUUsS0FBSyxDQUFDLENBQUM7SUFDekUsQ0FBQzs7aUhBZlUsb0JBQW9CO3FHQUFwQixvQkFBb0IsMkhDaEJqQyx5MUJBcUJBOzJGRExhLG9CQUFvQjtrQkFOaEMsU0FBUzsrQkFDRSxpQkFBaUI7c0dBTWxCLEtBQUs7c0JBQWIsS0FBSztnQkFDVSxPQUFPO3NCQUF0QixLQUFLO2dCQUNVLE9BQU87c0JBQXRCLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyIvKioqKioqKioqKiBBbmd1bGFyICoqKioqKioqKiovXHJcbmltcG9ydCB7IENvbXBvbmVudCwgT25Jbml0LCBJbnB1dCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5cclxuLyoqKioqKioqKiogSW9uaWMgKioqKioqKioqKi9cclxuXHJcbi8qKioqKioqKioqIFBsdWdpbiAqKioqKioqKioqL1xyXG5cclxuLyoqKioqKioqKiogQ29tcG9uZW50ICYgU2VydmljZSAqKioqKioqKioqL1xyXG5pbXBvcnQgeyBTaWduYWxUeXBlLCBVSVNpZ25hbFNlcnZpY2UsIFpHcm91cCB9IGZyb20gJ21taGdsb2JhbC16Y29yZSc7XHJcblxyXG5AQ29tcG9uZW50KHtcclxuICBzZWxlY3RvcjogJ2FwcC11aWNvbnRhaW5lcicsXHJcbiAgdGVtcGxhdGVVcmw6ICcuL3VpY29udGFpbmVyLmNvbXBvbmVudC5odG1sJyxcclxuICBzdHlsZVVybHM6IFsnLi91aWNvbnRhaW5lci5jb21wb25lbnQuc2NzcyddLFxyXG59KVxyXG5cclxuZXhwb3J0IGNsYXNzIFVpY29udGFpbmVyQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0IHtcclxuICBASW5wdXQoKSBncm91cDogWkdyb3VwO1xyXG4gIEBJbnB1dCgpIHB1YmxpYyBzY3JvbGxYOiBib29sZWFuID0gdHJ1ZTtcclxuICBASW5wdXQoKSBwdWJsaWMgc2Nyb2xsWTogYm9vbGVhbiA9IHRydWU7XHJcbiAgaXNFbWJlZGRlZFBhZ2U6IGJvb2xlYW4gPSBmYWxzZTtcclxuXHJcbiAgY29uc3RydWN0b3IocHJpdmF0ZSB1aVNpZ25hbFNlcnZpY2U6IFVJU2lnbmFsU2VydmljZSkgeyB9XHJcblxyXG4gIG5nT25Jbml0KCkge1xyXG4gICAgdGhpcy5pc0VtYmVkZGVkUGFnZSA9ICEhdGhpcy5ncm91cFtcImlzRW1iZWRkZWRQYWdlXCJdO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIGhhbmRsZVNjcm9sbFN0YXJ0KGV2ZW50KSB7XHJcbiAgICAvLyBjb25zb2xlLmxvZygnaGFuZGxlU2Nyb2xsU3RhcnQnKTtcclxuICAgIHRoaXMudWlTaWduYWxTZXJ2aWNlLmJyb2FkQ2FzdEV2ZW50KFNpZ25hbFR5cGUuUGFnZVNjcm9sbFN0YXJ0LCBldmVudCk7XHJcbiAgfVxyXG59XHJcbiIsIjxuZy10ZW1wbGF0ZSAjbWFpblBhZ2U+XHJcbiAgPGRpdiBpZD1cIm1haW5QYWdlXCI+XHJcbiAgICA8ZGl2IGNsYXNzPVwibG9hZGluZ1BhZ2VcIiAqbmdJZj1cImdyb3VwLmlzVHJpZ2dlcmVkXCI+XHJcbiAgICAgIDxwcm9jZXNzaW5nLXJlY29yZC1sb2FkZXI+PC9wcm9jZXNzaW5nLXJlY29yZC1sb2FkZXI+XHJcbiAgICA8L2Rpdj5cclxuICAgIDxkaXYgY2xhc3M9XCJyZWNvcmRwYWdlXCI+XHJcbiAgICAgIDxhcHAtdWloZWFkZXIgW2dyb3VwXT1cImdyb3VwXCI+PC9hcHAtdWloZWFkZXI+XHJcblxyXG4gICAgICA8aW9uLWNvbnRlbnQgY2xhc3M9XCJhcHAtY29udGFpblwiIGlkPVwiaW9uLWNvbnRlbnQtbWFpbi1wYWdlXCIgW3Njcm9sbEV2ZW50c109XCJ0cnVlXCJcclxuICAgICAgICAoaW9uU2Nyb2xsU3RhcnQpPVwiaGFuZGxlU2Nyb2xsU3RhcnQoJGV2ZW50KVwiIFtzY3JvbGxYXT1cInNjcm9sbFhcIiBbc2Nyb2xsWV09XCJzY3JvbGxZXCI+XHJcbiAgICAgICAgPGFwcC11aWNvbnRlbnQgW2dyb3VwXT1cImdyb3VwXCI+PC9hcHAtdWljb250ZW50PlxyXG4gICAgICA8L2lvbi1jb250ZW50PlxyXG4gICAgPC9kaXY+XHJcbiAgPC9kaXY+XHJcbjwvbmctdGVtcGxhdGU+XHJcblxyXG48bmctdGVtcGxhdGUgI2VtYmVkZGVkUGFnZT5cclxuICA8YXBwLXVpY29udGVudCBpZD1cImlvbi1jb250ZW50LWZvcm0tcGFnZVwiIFtncm91cF09XCJncm91cFwiPjwvYXBwLXVpY29udGVudD5cclxuPC9uZy10ZW1wbGF0ZT5cclxuXHJcbjxuZy1jb250YWluZXIgKm5nVGVtcGxhdGVPdXRsZXQ9XCJpc0VtYmVkZGVkUGFnZSA/IGVtYmVkZGVkUGFnZSA6IG1haW5QYWdlXCI+PC9uZy1jb250YWluZXI+XHJcbiJdfQ==
@@ -116,4 +116,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.4.0", ngImpor
116
116
  type: ViewChild,
117
117
  args: [ChipListComponent]
118
118
  }] } });
119
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiemNoaXAuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbW1oZ2xvYmFsLWR5bmFtaWNmb3JtL3NyYy9saWIvemNoaXAvemNoaXAuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbW1oZ2xvYmFsLWR5bmFtaWNmb3JtL3NyYy9saWIvemNoaXAvemNoaXAuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsK0JBQStCO0FBQy9CLE9BQU8sRUFBRSxTQUFTLEVBQVUsU0FBUyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBRTdELDZCQUE2QjtBQUU3Qiw4QkFBOEI7QUFDOUIsT0FBTyxFQUFFLEdBQUcsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBRXJDLDJDQUEyQztBQUMzQyxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sd0NBQXdDLENBQUM7QUFFeEUsT0FBTyxFQUFjLGdCQUFnQixFQUE2QyxNQUFNLGlCQUFpQixDQUFDO0FBQzFHLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLGlDQUFpQyxDQUFDOzs7Ozs7Ozs7OztBQVNwRSxNQUFNLE9BQU8sY0FBZSxTQUFRLGNBQWM7SUFJaEQsWUFDUyxnQkFBbUMsRUFDbkMsa0JBQXNDO1FBRTdDLEtBQUssQ0FBQyxnQkFBZ0IsQ0FBQyxDQUFDO1FBSGpCLHFCQUFnQixHQUFoQixnQkFBZ0IsQ0FBbUI7UUFDbkMsdUJBQWtCLEdBQWxCLGtCQUFrQixDQUFvQjtJQUcvQyxDQUFDO0lBRUQsUUFBUTtRQUNOLEtBQUssQ0FBQyxhQUFhLEVBQUUsQ0FBQyxJQUFJLENBQ3hCLEdBQUcsQ0FBQyxHQUFHLEVBQUU7WUFDUCxJQUFJLENBQUMsZUFBZSxFQUFFLENBQUM7WUFDdkIsSUFBSSxJQUFJLENBQUMsVUFBVSxJQUFJLElBQUksQ0FBQyxVQUFVLENBQUMsTUFBTSxHQUFHLENBQUMsRUFBRTtnQkFDakQsSUFBSSxD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QUUsU0FBUztnQkFDZixNQUFNLEVBQUUsSUFBSSxDQUFDLElBQUksQ0FBQyxPQUFPO2dCQUN6QixJQUFJLEVBQUUsRUFBRSxLQUFLLEVBQUUsSUFBSSxDQUFDLFVBQVUsRUFBRSxZQUFZLEVBQUUsSUFBSSxFQUFFLEtBQUssRUFBRSxJQUFJLENBQUMsSUFBSSxFQUFFO2FBQzlDLENBQUMsQ0FBQztTQUM3QjtJQUNILENBQUM7SUFFTSxRQUFRLENBQUMsSUFBUztRQUN2QixNQUFNLEtBQUssR0FBRyxJQUFJLENBQUMsVUFBVSxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQyxDQUFDLEtBQUssS0FBSyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUM7UUFDdkUsSUFBSSxDQUFDLFVBQVUsQ0FBQyxNQUFNLENBQUMsS0FBSyxFQUFFLENBQUMsQ0FBQyxDQUFDO0lBQ25DLENBQUM7OzJHQTVHVSxjQUFjOytGQUFkLGNBQWMsMkZBQ2QsaUJBQWlCLHVFQ3RCOUIsa21EQXNCQTsyRkREYSxjQUFjO2tCQU4xQixTQUFTOytCQUNFLFdBQVc7eUlBTWdCLFFBQVE7c0JBQTVDLFNBQVM7dUJBQUMsaUJBQWlCIiwic291cmNlc0NvbnRlbnQiOlsiLyoqKioqKioqKiogQW5ndWxhciAqKioqKioqKioqL1xyXG5pbXBvcnQgeyBDb21wb25lbnQsIE9uSW5pdCwgVmlld0NoaWxkIH0gZnJvbSBcIkBhbmd1bGFyL2NvcmVcIjtcclxuXHJcbi8qKioqKioqKioqIElvbmljICoqKioqKioqKiovXHJcblxyXG4vKioqKioqKioqKiBQbHVnaW4gKioqKioqKioqKi9cclxuaW1wb3J0IHsgdGFwIH0gZnJvbSBcInJ4anMvb3BlcmF0b3JzXCI7XHJcblxyXG4vKioqKioqKioqKiBDb21wb25lbnQgJiBTZXJ2aWNlICoqKioqKioqKiovXHJcbmltcG9ydCB7IElucHV0RmllbGRCYXNlIH0gZnJvbSBcIi4uL2NvbXBvbmVudHMvaW5wdXRmaWVsZGJhc2UuY29tcG9uZW50XCI7XHJcbmltcG9ydCB7IFpDb21wb25lbnRTZXJ2aWNlIH0gZnJvbSBcIi4uL3NlcnZpY2VzL3pjb21wb25lbnQuc2VydmljZVwiO1xyXG5pbXBvcnQgeyBaQ29tcG9uZW50LCBaQ29tcG9uZW50SGVscGVyLCBaQ29tcG9uZW50T3V0cHV0RXZlbnQsIEZvbnRBd2VTb21lU2VydmljZSB9IGZyb20gJ21taGdsb2JhbC16Y29yZSc7XHJcbmltcG9ydCB7IENoaXBMaXN0Q29tcG9uZW50IH0gZnJvbSBcIkBwcm9ncmVzcy9rZW5kby1hbmd1bGFyLWJ1dHRvbnNcIjtcclxuXHJcblxyXG5AQ29tcG9uZW50KHtcclxuICBzZWxlY3RvcjogJ2FwcC16Y2hpcCcsXHJcbiAgdGVtcGxhdGVVcmw6ICcuL3pjaGlwLmNvbXBvbmVudC5odG1sJyxcclxuICBzdHlsZVVybHM6IFsnLi96Y2hpcC5jb21wb25lbnQuc2NzcyddLFxyXG59KVxyXG5cclxuZXhwb3J0IGNsYXNzIFpDaGlwQ29tcG9uZW50IGV4dGVuZHMgSW5wdXRGaWVsZEJhc2UgaW1wbGVtZW50cyBaQ29tcG9uZW50LCBPbkluaXQge1xyXG4gIEBWaWV3Q2hpbGQoQ2hpcExpc3RDb21wb25lbnQpIHB1YmxpYyBjaGlwTGlzdDogQ2hpcExpc3RDb21wb25lbnQ7XHJcbiAgcHVibGljIGRhdGFTb3VyY2U7XHJcblxyXG4gIGNvbnN0cnVjdG9yKFxyXG4gICAgcHVibGljIGNvbXBvbmVudFNlcnZpY2U6IFpDb21wb25lbnRTZXJ2aWNlLFxyXG4gICAgcHVibGljIGZvbnRBd2VTb21lU2VydmljZTogRm9udEF3ZVNvbWVTZXJ2aWNlXHJcbiAgKSB7XHJcbiAgICBzdXBlcihjb21wb25lbnRTZXJ2aWNlKTtcclxuICB9XHJcblxyXG4gIG5nT25Jbml0KCkge1xyXG4gICAgc3VwZXIuaW5pdENvbXBvbmVudCgpLnBpcGUoXHJcbiAgICAgIHRhcCgoKSA9PiB7XHJcbiAgICAgICAgdGhpcy5zZXR1cERhdGFTb3VyY2UoKTtcclxuICAgICAgICBpZiAodGhpcy5kYXRhU291cmNlICYmIHRoaXMuZGF0YVNvdXJjZS5sZW5ndGggPiAwKSB7XHJcbiAgICAgICAgICB0aGlzLnNldHVwRGF0YVNvdXJjZUJ5ek1vZGVsKCk7XHJcbiAgICAgICAgICB0aGlzLnNldHVwRGF0YVNvdXJjZUZvckljb25DaGFuZ2UoKTtcclxuICAgICAgICB9XHJcbiAgICAgIH0pXHJcbiAgICApLnN1YnNjcmliZSgpO1xyXG4gIH1cclxuXHJcbiAgbmdBZnRlclZpZXdJbml0KCkge1xyXG4gICAgdGhpcy5jb21wb25lbnRTZXJ2aWNlLmRlY3JlbWVudENvbXBvbmVudENvdW50ZXJGb3JGaWVsZCh0aGlzLmRhdGEpO1xyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBzZXR1cERhdGFTb3VyY2UoKSB7XHJcbiAgICBpZiAoIXRoaXMuZGF0YS5EYXRhU291cmNlKSB7XHJcbiAgICAgIGNvbnNvbGUuZXJyb3IoXCJObyBkYXRhIHNvdXJjZSBmb3VuZCBmb3IgemNoaXBcIik7XHJcbiAgICAgIHJldHVybjtcclxuICAgIH1cclxuXHJcbiAgICB0aGlzLmRhdGFTb3VyY2UgPSB0aGlzLmRhdGEuRGF0YVNvdXJjZTtcclxuICAgIGlmICh0eXBlb2YgdGhpcy5kYXRhLkRhdGFTb3VyY2UgPT0gJ3N0cmluZycgJiYgdGhpcy5kYXRhLkRhdGFTb3VyY2Uuc3RhcnRzV2l0aCgnZ3JvdXAuJykpIHtcclxuICAgICAgdGhpcy5kYXRhU291cmNlID0gWkNvbXBvbmVudEhlbHBlci5nZXRHcm91cFZhbHVlKHRoaXMuZGF0YS5EYXRhU291cmNlLCB0aGlzLmdyb3VwKTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIHByaXZhdGUgc2V0dXBEYXRhU291cmNlQnl6TW9kZWwoKSB7XHJcbiAgICBjb25zdCBtb2RlbERhdGEgPSB0aGlzLmdyb3VwLnpNb2RlbFt0aGlzLmRhdGEuVmFsdWVdO1xyXG4gICAgaWYgKCFaQ29tcG9uZW50SGVscGVyLmlzTnVsbFVuZGVmaW5lZEVtcHR5KG1vZGVsRGF0YSkpIHtcclxuICAgICAgY29uc3QgbW9kZWxWYWx1ZUtleUxpc3QgPSBtb2RlbERhdGEubWFwKHggPT4geC5MYWJlbCk7XHJcblxyXG4gICAgICBmb3IgKGNvbnN0IGl0ZW0gb2YgdGhpcy5kYXRhU291cmNlKSB7XHJcbiAgICAgICAgaXRlbS5TZWxlY3RlZCA9IG1vZGVsVmFsdWVLZXlMaXN0LmluY2x1ZGVzKGl0ZW0uTGFiZWwpO1xyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgICBlbHNlIHtcclxuICAgICAgdGhpcy5kYXRhU291cmNlLmZvckVhY2goeCA9PiB4LlNlbGVjdGVkID0gZmFsc2UpO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgcHVibGljIHNldERhdGEoZGF0YTogYW55KSB7XHJcbiAgICB0aGlzLnNldHVwRGF0YVNvdXJjZUJ5ek1vZGVsKCk7XHJcbiAgICB0aGlzLmRhdGFTb3VyY2UgPSBbLi4udGhpcy5kYXRhU291cmNlXTtcclxuXHJcbiAgICAvLyBOZWVkIHRvIHNldCBpbiB0aGlzIHdheSBhcyB0aGUgY2hpcHMgYXJlIFF1ZXJ5TGlzdFxyXG4gICAgaWYgKHRoaXMuY2hpcExpc3QgJiYgdGhpcy5jaGlwTGlzdC5jaGlwcyAmJiB0aGlzLmNoaXBMaXN0LmNoaXBzLmxlbmd0aCA+IDApIHtcclxuICAgICAgbGV0IGluZGV4ID0gMDtcclxuICAgICAgZm9yIChjb25zdCBjaGlwIG9mIHRoaXMuY2hpcExpc3QuY2hpcHMpIHtcclxuICAgICAgICBjaGlwLnNlbGVjdGVkID0gISF0aGlzLmRhdGFTb3VyY2VbaW5kZXhdPy5TZWxlY3RlZCB8fCBmYWxzZTtcclxuICAgICAgICBpbmRleCsrO1xyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIHNldHVwRGF0YVNvdXJjZUZvckljb25DaGFuZ2UoKSB7XHJcbiAgICBpZiAodGhpcy5kYXRhWydDaGFuZ2VJY29uVXBvblNlbGVjdGVkJ10pIHtcclxuICAgICAgaWYgKEFycmF5LmlzQXJyYXkodGhpcy5kYXRhU291cmNlKSkge1xyXG4gICAgICAgIGZvciAoY29uc3QgeCBvZiB0aGlzLmRhdGFTb3VyY2UpIHtcclxuICAgICAgICAgIHguX0ljb24gPSB4Lkljb247XHJcbiAgICAgICAgICB4Lkljb24gPSAhIXguU2VsZWN0ZWQgPyB4LlNlbGVjdGVkSWNvbiA6IHguX0ljb247XHJcbiAgICAgICAgfVxyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICAvLyNyZWdpb24gRXZlbnRzXHJcbiAgcHVibGljIGNoaXBMaXN0Q2hhbmdlU2VsZWN0aW9uKHNlbGVjdGVkQ2hpcEluZGV4ZXM6IGFueSk6IHZvaWQge1xyXG4gICAgY29uc3Qgc2VsZWN0ZWRDaGlwcyA9IHRoaXMuZGF0YVNvdXJjZS5maWx0ZXIoKHgsIGkpID0+IHNlbGVjdGVkQ2hpcEluZGV4ZXMuaW5jbHVkZXMoaSkpO1xyXG4gICAgaWYgKHRoaXMuZGF0YVsnQ2hhbmdlSWNvblVwb25TZWxlY3RlZCddKSB7XHJcbiAgICAgIGZvciAoY29uc3QgY2hpcCBvZiBzZWxlY3RlZENoaXBzKSB7XHJcbiAgICAgICAgY2hpcC5JY29uID0gY2hpcC5TZWxlY3RlZEljb247XHJcbiAgICAgIH1cclxuXHJcbiAgICAgIGNvbnN0IG5vdFNlbGVjdGVkQ2hpcHMgPSB0aGlzLmRhdGFTb3VyY2UuZmlsdGVyKCh4LCBpKSA9PiAhc2VsZWN0ZWRDaGlwSW5kZXhlcy5pbmNsdWRlcyhpKSk7XHJcbiAgICAgIGZvciAoY29uc3QgY2hpcCBvZiBub3RTZWxlY3RlZENoaXBzKSB7XHJcbiAgICAgICAgY2hpcC5JY29uID0gdGhpcy5kYXRhU291cmNlLmZpbmQoeCA9PiB4LkxhYmVsID09PSBjaGlwLkxhYmVsKS5fSWNvbjtcclxuICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIHN1cGVyLm9uQ2hhbmdlKG51bGwsIHNlbGVjdGVkQ2hpcHMpO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIG1vdXNlb3ZlcihldmVudDogYW55LCBjaGlwOiBhbnkpIHtcclxuICAgIGlmICh0aGlzLmRhdGEuT25Ib3Zlcikge1xyXG4gICAgICB0aGlzLmdyb3VwLnN1YmplY3QubmV4dCh7XHJcbiAgICAgICAgdHlwZTogXCJvbkhvdmVyXCIsXHJcbiAgICAgICAgdGFyZ2V0OiB0aGlzLmRhdGEuT25Ib3ZlcixcclxuICAgICAgICBkYXRhOiB7IHZhbHVlOiB0aGlzLmRhdGFTb3VyY2UsIHNlbGVjdGVkSXRlbTogY2hpcCwgZmllbGQ6IHRoaXMuZGF0YSB9XHJcbiAgICAgIH0gYXMgWkNvbXBvbmVudE91dHB1dEV2ZW50KTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIHB1YmxpYyBvblJlbW92ZShjaGlwOiBhbnkpOiB2b2lkIHtcclxuICAgIGNvbnN0IGluZGV4ID0gdGhpcy5kYXRhU291cmNlLmZpbmRJbmRleCgoYykgPT4gYy5MYWJlbCA9PT0gY2hpcC5MYWJlbCk7XHJcbiAgICB0aGlzLmRhdGFTb3VyY2Uuc3BsaWNlKGluZGV4LCAxKTtcclxuICB9XHJcbiAgLy8jZW5kcmVnaW9uXHJcbn1cclxuIiwiPGRpdiBbZm9ybUdyb3VwXT1cImZvcm1cIiBjbGFzcz1cImUxdGFnLXN0eWxlXCJcclxuICAqbmdJZj1cIighIWNvbXBvbmVudFByb3BlcnRpZXMuaXNWaXNpYmxlRmllbGQgPyBncm91cFtjb21wb25lbnRQcm9wZXJ0aWVzLmlzVmlzaWJsZUZpZWxkXSA6IGNvbXBvbmVudFByb3BlcnRpZXMuaXNWaXNpYmxlKVwiXHJcbiAgW25nQ2xhc3NdPVwiZ2V0Q2xhc3MoZm9ybSwgZGF0YSlcIiBbc3R5bGVdPVwiY29tcG9uZW50UHJvcGVydGllcy5zdHlsZS5zdHlsZVwiPlxyXG4gIDxkaXYga2VuZG9Ub29sdGlwIGNsYXNzPVwiZTF0YWctc3R5bGUxXCIgW3N0eWxlXT1cImNvbXBvbmVudFByb3BlcnRpZXMuc3R5bGUuc3R5bGUxXCI+XHJcbiAgICA8a2VuZG8tY2hpcC1saXN0IFtzZWxlY3Rpb25dPVwiZGF0YS5NdWx0aXBsZSA/ICdtdWx0aXBsZScgOiAnc2luZ2xlJ1wiXHJcbiAgICAgIChzZWxlY3RlZENoYW5nZSk9XCJjaGlwTGlzdENoYW5nZVNlbGVjdGlvbigkZXZlbnQpXCIgW3N0eWxlXT1cImNvbXBvbmVudFByb3BlcnRpZXMuc3R5bGUuc3R5bGUyXCJcclxuICAgICAgY2xhc3M9XCJlMXRhZy1zdHlsZTJcIj5cclxuICAgICAgPGtlbmRvLWNoaXAgKm5nRm9yPVwibGV0IGNoaXAgb2YgZGF0YVNvdXJjZVwiIFtzZWxlY3RlZF09XCJjaGlwLlNlbGVjdGVkXCIgW25nQ2xhc3NdPVwiY2hpcC5DbGFzc1wiXHJcbiAgICAgICAgW3JlbW92YWJsZV09XCJjaGlwLlJlbW92YWJsZVwiIChyZW1vdmUpPVwib25SZW1vdmUoY2hpcClcIlxyXG4gICAgICAgIChtb3VzZW92ZXIpPVwibW91c2VvdmVyKCRldmVudCwgY2hpcClcIiAoY29udGVudENsaWNrKT1cIm9uSXRlbUNsaWNrKCRldmVudCwgY2hpcClcIlxyXG4gICAgICAgIFtzdHlsZV09XCJjb21wb25lbnRQcm9wZXJ0aWVzLnN0eWxlLnN0eWxlM1wiIGNsYXNzPVwiZTF0YWctc3R5bGUzXCI+XHJcbiAgICAgICAgPGRpdiBjbGFzcz1cImUxLWNoaXAtY29udGVudC1jb250YWluZXIgZTF0YWctc3R5bGU0XCIgW3N0eWxlXT1cImNvbXBvbmVudFByb3BlcnRpZXMuc3R5bGUuc3R5bGU0XCI+XHJcbiAgICAgICAgICA8ZGl2ICpuZ0lmPVwiY2hpcC5MYWJlbFwiIFtpbm5lckhUTUxdPVwiY2hpcC5MYWJlbCB8IGh0bWxTYW5pdGl6ZVwiIFtzdHlsZV09XCJjb21wb25lbnRQcm9wZXJ0aWVzLnN0eWxlLnN0eWxlNVwiXHJcbiAgICAgICAgICAgIGNsYXNzPVwiZTF0YWctc3R5bGU1XCI+PC9kaXY+XHJcbiAgICAgICAgICA8IS0tIDxkaXYgKm5nSWY9XCJjaGlwLkxhYmVsXCIgW3N0eWxlXT1cImNvbXBvbmVudFByb3BlcnRpZXMuc3R5bGUuc3R5bGU1XCIgY2xhc3M9XCJlMXRhZy1zdHlsZTVcIj57e2NoaXAuTGFiZWx9fTwvZGl2PiAtLT5cclxuICAgICAgICAgIDxmYS1pY29uICpuZ0lmPVwiY2hpcC5JY29uXCIgW2ljb25dPVwiZ2V0Rm9udEF3ZXNvbWUoY2hpcC5JY29uLCBmb250QXdlU29tZVNlcnZpY2UpXCJcclxuICAgICAgICAgICAgW3N0eWxlXT1cImNvbXBvbmVudFByb3BlcnRpZXMuc3R5bGUuc3R5bGU2XCIgY2xhc3M9XCJlMXRhZy1zdHlsZTZcIj48L2ZhLWljb24+XHJcbiAgICAgICAgPC9kaXY+XHJcbiAgICAgIDwva2VuZG8tY2hpcD5cclxuICAgIDwva2VuZG8tY2hpcC1saXN0PlxyXG4gIDwvZGl2PlxyXG48L2Rpdj5cclxuIl19
119
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiemNoaXAuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbW1oZ2xvYmFsLWR5bmFtaWNmb3JtL3NyYy9saWIvemNoaXAvemNoaXAuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbW1oZ2xvYmFsLWR5bmFtaWNmb3JtL3NyYy9saWIvemNoaXAvemNoaXAuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsK0JBQStCO0FBQy9CLE9BQU8sRUFBRSxTQUFTLEVBQVUsU0FBUyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBRTdELDZCQUE2QjtBQUU3Qiw4QkFBOEI7QUFDOUIsT0FBTyxFQUFFLEdBQUcsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBRXJDLDJDQUEyQztBQUMzQyxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sd0NBQXdDLENBQUM7QUFFeEUsT0FBTyxFQUFjLGdCQUFnQixFQUE2QyxNQUFNLGlCQUFpQixDQUFDO0FBQzFHLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLGlDQUFpQyxDQUFDOzs7Ozs7Ozs7OztBQVNwRSxNQUFNLE9BQU8sY0FBZSxTQUFRLGNBQWM7SUFJaEQsWUFDUyxnQkFBbUMsRUFDbkMsa0JBQXNDO1FBRTdDLEtBQUssQ0FBQyxnQkFBZ0IsQ0FBQyxDQUFDO1FBSGpCLHFCQUFnQixHQUFoQixnQkFBZ0IsQ0FBbUI7UUFDbkMsdUJBQWtCLEdBQWxCLGtCQUFrQixDQUFvQjtJQUcvQyxDQUFDO0lBRUQsUUFBUTtRQUNOLEtBQUssQ0FBQyxhQUFhLEVBQUUsQ0FBQyxJQUFJLENBQ3hCLEdBQUcsQ0FBQyxHQUFHLEVBQUU7WUFDUCxJQUFJLENBQUMsZUFBZSxFQUFFLENBQUM7WUFDdkIsSUFBSSxJQUFJLENBQUMsVUFBVSxJQUFJLElBQUksQ0FBQyxVQUFVLENBQUMsTUFBTSxHQUFHLENBQUMsRUFBRTtnQkFDakQsSUFBSSxD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QUUsU0FBUztnQkFDZixNQUFNLEVBQUUsSUFBSSxDQUFDLElBQUksQ0FBQyxPQUFPO2dCQUN6QixJQUFJLEVBQUUsRUFBRSxLQUFLLEVBQUUsSUFBSSxDQUFDLFVBQVUsRUFBRSxZQUFZLEVBQUUsSUFBSSxFQUFFLEtBQUssRUFBRSxJQUFJLENBQUMsSUFBSSxFQUFFO2FBQzlDLENBQUMsQ0FBQztTQUM3QjtJQUNILENBQUM7SUFFTSxRQUFRLENBQUMsSUFBUztRQUN2QixNQUFNLEtBQUssR0FBRyxJQUFJLENBQUMsVUFBVSxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQyxDQUFDLEtBQUssS0FBSyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUM7UUFDdkUsSUFBSSxDQUFDLFVBQVUsQ0FBQyxNQUFNLENBQUMsS0FBSyxFQUFFLENBQUMsQ0FBQyxDQUFDO0lBQ25DLENBQUM7OzJHQTVHVSxjQUFjOytGQUFkLGNBQWMsMkZBQ2QsaUJBQWlCLHVFQ3RCOUIsa21EQXNCQTsyRkREYSxjQUFjO2tCQU4xQixTQUFTOytCQUNFLFdBQVc7eUlBTWdCLFFBQVE7c0JBQTVDLFNBQVM7dUJBQUMsaUJBQWlCIiwic291cmNlc0NvbnRlbnQiOlsiLyoqKioqKioqKiogQW5ndWxhciAqKioqKioqKioqL1xyXG5pbXBvcnQgeyBDb21wb25lbnQsIE9uSW5pdCwgVmlld0NoaWxkIH0gZnJvbSBcIkBhbmd1bGFyL2NvcmVcIjtcclxuXHJcbi8qKioqKioqKioqIElvbmljICoqKioqKioqKiovXHJcblxyXG4vKioqKioqKioqKiBQbHVnaW4gKioqKioqKioqKi9cclxuaW1wb3J0IHsgdGFwIH0gZnJvbSBcInJ4anMvb3BlcmF0b3JzXCI7XHJcblxyXG4vKioqKioqKioqKiBDb21wb25lbnQgJiBTZXJ2aWNlICoqKioqKioqKiovXHJcbmltcG9ydCB7IElucHV0RmllbGRCYXNlIH0gZnJvbSBcIi4uL2NvbXBvbmVudHMvaW5wdXRmaWVsZGJhc2UuY29tcG9uZW50XCI7XHJcbmltcG9ydCB7IFpDb21wb25lbnRTZXJ2aWNlIH0gZnJvbSBcIi4uL3NlcnZpY2VzL3pjb21wb25lbnQuc2VydmljZVwiO1xyXG5pbXBvcnQgeyBaQ29tcG9uZW50LCBaQ29tcG9uZW50SGVscGVyLCBaQ29tcG9uZW50T3V0cHV0RXZlbnQsIEZvbnRBd2VTb21lU2VydmljZSB9IGZyb20gJ21taGdsb2JhbC16Y29yZSc7XHJcbmltcG9ydCB7IENoaXBMaXN0Q29tcG9uZW50IH0gZnJvbSBcIkBwcm9ncmVzcy9rZW5kby1hbmd1bGFyLWJ1dHRvbnNcIjtcclxuXHJcblxyXG5AQ29tcG9uZW50KHtcclxuICBzZWxlY3RvcjogJ2FwcC16Y2hpcCcsXHJcbiAgdGVtcGxhdGVVcmw6ICcuL3pjaGlwLmNvbXBvbmVudC5odG1sJyxcclxuICBzdHlsZVVybHM6IFsnLi96Y2hpcC5jb21wb25lbnQuc2NzcyddLFxyXG59KVxyXG5cclxuZXhwb3J0IGNsYXNzIFpDaGlwQ29tcG9uZW50IGV4dGVuZHMgSW5wdXRGaWVsZEJhc2UgaW1wbGVtZW50cyBaQ29tcG9uZW50LCBPbkluaXQge1xyXG4gIEBWaWV3Q2hpbGQoQ2hpcExpc3RDb21wb25lbnQpIHB1YmxpYyBjaGlwTGlzdDogQ2hpcExpc3RDb21wb25lbnQ7XHJcbiAgcHVibGljIGRhdGFTb3VyY2U7XHJcblxyXG4gIGNvbnN0cnVjdG9yKFxyXG4gICAgcHVibGljIGNvbXBvbmVudFNlcnZpY2U6IFpDb21wb25lbnRTZXJ2aWNlLFxyXG4gICAgcHVibGljIGZvbnRBd2VTb21lU2VydmljZTogRm9udEF3ZVNvbWVTZXJ2aWNlXHJcbiAgKSB7XHJcbiAgICBzdXBlcihjb21wb25lbnRTZXJ2aWNlKTtcclxuICB9XHJcblxyXG4gIG5nT25Jbml0KCkge1xyXG4gICAgc3VwZXIuaW5pdENvbXBvbmVudCgpLnBpcGUoXHJcbiAgICAgIHRhcCgoKSA9PiB7XHJcbiAgICAgICAgdGhpcy5zZXR1cERhdGFTb3VyY2UoKTtcclxuICAgICAgICBpZiAodGhpcy5kYXRhU291cmNlICYmIHRoaXMuZGF0YVNvdXJjZS5sZW5ndGggPiAwKSB7XHJcbiAgICAgICAgICB0aGlzLnNldHVwRGF0YVNvdXJjZUJ5ek1vZGVsKCk7XHJcbiAgICAgICAgICB0aGlzLnNldHVwRGF0YVNvdXJjZUZvckljb25DaGFuZ2UoKTtcclxuICAgICAgICB9XHJcbiAgICAgIH0pXHJcbiAgICApLnN1YnNjcmliZSgpO1xyXG4gIH1cclxuXHJcbiAgbmdBZnRlclZpZXdJbml0KCkge1xyXG4gICAgdGhpcy5jb21wb25lbnRTZXJ2aWNlLmRlY3JlbWVudENvbXBvbmVudENvdW50ZXJGb3JGaWVsZCh0aGlzLmRhdGEpO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIHNldHVwRGF0YVNvdXJjZSgpIHtcclxuICAgIGlmICghdGhpcy5kYXRhLkRhdGFTb3VyY2UpIHtcclxuICAgICAgY29uc29sZS5lcnJvcihcIk5vIGRhdGEgc291cmNlIGZvdW5kIGZvciB6Y2hpcFwiKTtcclxuICAgICAgcmV0dXJuO1xyXG4gICAgfVxyXG5cclxuICAgIHRoaXMuZGF0YVNvdXJjZSA9IHRoaXMuZGF0YS5EYXRhU291cmNlO1xyXG4gICAgaWYgKHR5cGVvZiB0aGlzLmRhdGEuRGF0YVNvdXJjZSA9PSAnc3RyaW5nJyAmJiB0aGlzLmRhdGEuRGF0YVNvdXJjZS5zdGFydHNXaXRoKCdncm91cC4nKSkge1xyXG4gICAgICB0aGlzLmRhdGFTb3VyY2UgPSBaQ29tcG9uZW50SGVscGVyLmdldEdyb3VwVmFsdWUodGhpcy5kYXRhLkRhdGFTb3VyY2UsIHRoaXMuZ3JvdXApO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBzZXR1cERhdGFTb3VyY2VCeXpNb2RlbCgpIHtcclxuICAgIGNvbnN0IG1vZGVsRGF0YSA9IHRoaXMuZ3JvdXAuek1vZGVsW3RoaXMuZGF0YS5WYWx1ZV07XHJcbiAgICBpZiAoIVpDb21wb25lbnRIZWxwZXIuaXNOdWxsVW5kZWZpbmVkRW1wdHkobW9kZWxEYXRhKSkge1xyXG4gICAgICBjb25zdCBtb2RlbFZhbHVlS2V5TGlzdCA9IG1vZGVsRGF0YS5tYXAoeCA9PiB4LkxhYmVsKTtcclxuXHJcbiAgICAgIGZvciAoY29uc3QgaXRlbSBvZiB0aGlzLmRhdGFTb3VyY2UpIHtcclxuICAgICAgICBpdGVtLlNlbGVjdGVkID0gbW9kZWxWYWx1ZUtleUxpc3QuaW5jbHVkZXMoaXRlbS5MYWJlbCk7XHJcbiAgICAgIH1cclxuICAgIH1cclxuICAgIGVsc2Uge1xyXG4gICAgICB0aGlzLmRhdGFTb3VyY2UuZm9yRWFjaCh4ID0+IHguU2VsZWN0ZWQgPSBmYWxzZSk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgc2V0RGF0YShkYXRhOiBhbnkpIHtcclxuICAgIHRoaXMuc2V0dXBEYXRhU291cmNlQnl6TW9kZWwoKTtcclxuICAgIHRoaXMuZGF0YVNvdXJjZSA9IFsuLi50aGlzLmRhdGFTb3VyY2VdO1xyXG5cclxuICAgIC8vIE5lZWQgdG8gc2V0IGluIHRoaXMgd2F5IGFzIHRoZSBjaGlwcyBhcmUgUXVlcnlMaXN0XHJcbiAgICBpZiAodGhpcy5jaGlwTGlzdCAmJiB0aGlzLmNoaXBMaXN0LmNoaXBzICYmIHRoaXMuY2hpcExpc3QuY2hpcHMubGVuZ3RoID4gMCkge1xyXG4gICAgICBsZXQgaW5kZXggPSAwO1xyXG4gICAgICBmb3IgKGNvbnN0IGNoaXAgb2YgdGhpcy5jaGlwTGlzdC5jaGlwcykge1xyXG4gICAgICAgIGNoaXAuc2VsZWN0ZWQgPSAhIXRoaXMuZGF0YVNvdXJjZVtpbmRleF0/LlNlbGVjdGVkIHx8IGZhbHNlO1xyXG4gICAgICAgIGluZGV4Kys7XHJcbiAgICAgIH1cclxuICAgIH1cclxuICB9XHJcblxyXG4gIHByaXZhdGUgc2V0dXBEYXRhU291cmNlRm9ySWNvbkNoYW5nZSgpIHtcclxuICAgIGlmICh0aGlzLmRhdGFbJ0NoYW5nZUljb25VcG9uU2VsZWN0ZWQnXSkge1xyXG4gICAgICBpZiAoQXJyYXkuaXNBcnJheSh0aGlzLmRhdGFTb3VyY2UpKSB7XHJcbiAgICAgICAgZm9yIChjb25zdCB4IG9mIHRoaXMuZGF0YVNvdXJjZSkge1xyXG4gICAgICAgICAgeC5fSWNvbiA9IHguSWNvbjtcclxuICAgICAgICAgIHguSWNvbiA9ICEheC5TZWxlY3RlZCA/IHguU2VsZWN0ZWRJY29uIDogeC5fSWNvbjtcclxuICAgICAgICB9XHJcbiAgICAgIH1cclxuICAgIH1cclxuICB9XHJcblxyXG4gIC8vI3JlZ2lvbiBFdmVudHNcclxuICBwdWJsaWMgY2hpcExpc3RDaGFuZ2VTZWxlY3Rpb24oc2VsZWN0ZWRDaGlwSW5kZXhlczogYW55KTogdm9pZCB7XHJcbiAgICBjb25zdCBzZWxlY3RlZENoaXBzID0gdGhpcy5kYXRhU291cmNlLmZpbHRlcigoeCwgaSkgPT4gc2VsZWN0ZWRDaGlwSW5kZXhlcy5pbmNsdWRlcyhpKSk7XHJcbiAgICBpZiAodGhpcy5kYXRhWydDaGFuZ2VJY29uVXBvblNlbGVjdGVkJ10pIHtcclxuICAgICAgZm9yIChjb25zdCBjaGlwIG9mIHNlbGVjdGVkQ2hpcHMpIHtcclxuICAgICAgICBjaGlwLkljb24gPSBjaGlwLlNlbGVjdGVkSWNvbjtcclxuICAgICAgfVxyXG5cclxuICAgICAgY29uc3Qgbm90U2VsZWN0ZWRDaGlwcyA9IHRoaXMuZGF0YVNvdXJjZS5maWx0ZXIoKHgsIGkpID0+ICFzZWxlY3RlZENoaXBJbmRleGVzLmluY2x1ZGVzKGkpKTtcclxuICAgICAgZm9yIChjb25zdCBjaGlwIG9mIG5vdFNlbGVjdGVkQ2hpcHMpIHtcclxuICAgICAgICBjaGlwLkljb24gPSB0aGlzLmRhdGFTb3VyY2UuZmluZCh4ID0+IHguTGFiZWwgPT09IGNoaXAuTGFiZWwpLl9JY29uO1xyXG4gICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgc3VwZXIub25DaGFuZ2UobnVsbCwgc2VsZWN0ZWRDaGlwcyk7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgbW91c2VvdmVyKGV2ZW50OiBhbnksIGNoaXA6IGFueSkge1xyXG4gICAgaWYgKHRoaXMuZGF0YS5PbkhvdmVyKSB7XHJcbiAgICAgIHRoaXMuZ3JvdXAuc3ViamVjdC5uZXh0KHtcclxuICAgICAgICB0eXBlOiBcIm9uSG92ZXJcIixcclxuICAgICAgICB0YXJnZXQ6IHRoaXMuZGF0YS5PbkhvdmVyLFxyXG4gICAgICAgIGRhdGE6IHsgdmFsdWU6IHRoaXMuZGF0YVNvdXJjZSwgc2VsZWN0ZWRJdGVtOiBjaGlwLCBmaWVsZDogdGhpcy5kYXRhIH1cclxuICAgICAgfSBhcyBaQ29tcG9uZW50T3V0cHV0RXZlbnQpO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgcHVibGljIG9uUmVtb3ZlKGNoaXA6IGFueSk6IHZvaWQge1xyXG4gICAgY29uc3QgaW5kZXggPSB0aGlzLmRhdGFTb3VyY2UuZmluZEluZGV4KChjKSA9PiBjLkxhYmVsID09PSBjaGlwLkxhYmVsKTtcclxuICAgIHRoaXMuZGF0YVNvdXJjZS5zcGxpY2UoaW5kZXgsIDEpO1xyXG4gIH1cclxuICAvLyNlbmRyZWdpb25cclxufVxyXG4iLCI8ZGl2IFtmb3JtR3JvdXBdPVwiZm9ybVwiIGNsYXNzPVwiZTF0YWctc3R5bGVcIlxyXG4gICpuZ0lmPVwiKCEhY29tcG9uZW50UHJvcGVydGllcy5pc1Zpc2libGVGaWVsZCA/IGdyb3VwW2NvbXBvbmVudFByb3BlcnRpZXMuaXNWaXNpYmxlRmllbGRdIDogY29tcG9uZW50UHJvcGVydGllcy5pc1Zpc2libGUpXCJcclxuICBbbmdDbGFzc109XCJnZXRDbGFzcyhmb3JtLCBkYXRhKVwiIFtzdHlsZV09XCJjb21wb25lbnRQcm9wZXJ0aWVzLnN0eWxlLnN0eWxlXCI+XHJcbiAgPGRpdiBrZW5kb1Rvb2x0aXAgY2xhc3M9XCJlMXRhZy1zdHlsZTFcIiBbc3R5bGVdPVwiY29tcG9uZW50UHJvcGVydGllcy5zdHlsZS5zdHlsZTFcIj5cclxuICAgIDxrZW5kby1jaGlwLWxpc3QgW3NlbGVjdGlvbl09XCJkYXRhLk11bHRpcGxlID8gJ211bHRpcGxlJyA6ICdzaW5nbGUnXCJcclxuICAgICAgKHNlbGVjdGVkQ2hhbmdlKT1cImNoaXBMaXN0Q2hhbmdlU2VsZWN0aW9uKCRldmVudClcIiBbc3R5bGVdPVwiY29tcG9uZW50UHJvcGVydGllcy5zdHlsZS5zdHlsZTJcIlxyXG4gICAgICBjbGFzcz1cImUxdGFnLXN0eWxlMlwiPlxyXG4gICAgICA8a2VuZG8tY2hpcCAqbmdGb3I9XCJsZXQgY2hpcCBvZiBkYXRhU291cmNlXCIgW3NlbGVjdGVkXT1cImNoaXAuU2VsZWN0ZWRcIiBbbmdDbGFzc109XCJjaGlwLkNsYXNzXCJcclxuICAgICAgICBbcmVtb3ZhYmxlXT1cImNoaXAuUmVtb3ZhYmxlXCIgKHJlbW92ZSk9XCJvblJlbW92ZShjaGlwKVwiXHJcbiAgICAgICAgKG1vdXNlb3Zlcik9XCJtb3VzZW92ZXIoJGV2ZW50LCBjaGlwKVwiIChjb250ZW50Q2xpY2spPVwib25JdGVtQ2xpY2soJGV2ZW50LCBjaGlwKVwiXHJcbiAgICAgICAgW3N0eWxlXT1cImNvbXBvbmVudFByb3BlcnRpZXMuc3R5bGUuc3R5bGUzXCIgY2xhc3M9XCJlMXRhZy1zdHlsZTNcIj5cclxuICAgICAgICA8ZGl2IGNsYXNzPVwiZTEtY2hpcC1jb250ZW50LWNvbnRhaW5lciBlMXRhZy1zdHlsZTRcIiBbc3R5bGVdPVwiY29tcG9uZW50UHJvcGVydGllcy5zdHlsZS5zdHlsZTRcIj5cclxuICAgICAgICAgIDxkaXYgKm5nSWY9XCJjaGlwLkxhYmVsXCIgW2lubmVySFRNTF09XCJjaGlwLkxhYmVsIHwgaHRtbFNhbml0aXplXCIgW3N0eWxlXT1cImNvbXBvbmVudFByb3BlcnRpZXMuc3R5bGUuc3R5bGU1XCJcclxuICAgICAgICAgICAgY2xhc3M9XCJlMXRhZy1zdHlsZTVcIj48L2Rpdj5cclxuICAgICAgICAgIDwhLS0gPGRpdiAqbmdJZj1cImNoaXAuTGFiZWxcIiBbc3R5bGVdPVwiY29tcG9uZW50UHJvcGVydGllcy5zdHlsZS5zdHlsZTVcIiBjbGFzcz1cImUxdGFnLXN0eWxlNVwiPnt7Y2hpcC5MYWJlbH19PC9kaXY+IC0tPlxyXG4gICAgICAgICAgPGZhLWljb24gKm5nSWY9XCJjaGlwLkljb25cIiBbaWNvbl09XCJnZXRGb250QXdlc29tZShjaGlwLkljb24sIGZvbnRBd2VTb21lU2VydmljZSlcIlxyXG4gICAgICAgICAgICBbc3R5bGVdPVwiY29tcG9uZW50UHJvcGVydGllcy5zdHlsZS5zdHlsZTZcIiBjbGFzcz1cImUxdGFnLXN0eWxlNlwiPjwvZmEtaWNvbj5cclxuICAgICAgICA8L2Rpdj5cclxuICAgICAgPC9rZW5kby1jaGlwPlxyXG4gICAgPC9rZW5kby1jaGlwLWxpc3Q+XHJcbiAgPC9kaXY+XHJcbjwvZGl2PlxyXG4iXX0=