@unifylib/ui-lib 1.1.37 → 1.1.39
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/esm2022/lib/base-model/audit-log-entry.mjs +1 -1
- package/esm2022/lib/components/advanced-filter/filter-builder/filter-builder.component.mjs +5 -2
- package/esm2022/lib/components/audit-log-list/audit-log.component.mjs +41 -43
- package/esm2022/lib/components/base-form/base-form.component.mjs +1 -1
- package/fesm2022/unifylib-ui-lib.mjs +133 -131
- package/fesm2022/unifylib-ui-lib.mjs.map +1 -1
- package/lib/base-model/audit-log-entry.d.ts +1 -1
- package/lib/components/audit-log-list/audit-log.component.d.ts +7 -14
- package/package.json +1 -1
|
@@ -1,3 +1,3 @@
|
|
|
1
1
|
export class AuditLogEntry {
|
|
2
2
|
}
|
|
3
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
3
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXVkaXQtbG9nLWVudHJ5LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvaW52b2ljZXEvdWktbGliL3NyYy9saWIvYmFzZS1tb2RlbC9hdWRpdC1sb2ctZW50cnkudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsTUFBTSxPQUFPLGFBQWE7Q0FNekIiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgY2xhc3MgQXVkaXRMb2dFbnRyeSB7XHJcbiAgICBhY3Rpb246IHN0cmluZztcclxuICAgIGNyZWF0ZWRPbjpEYXRlO1xyXG4gICAgY3JlYXRlZEJ5OnN0cmluZztcclxuICAgIHN1YmplY3Q6YW55O1xyXG4gICAgY29tbWVudDpzdHJpbmc7XHJcbn1cclxuIl19
|
|
@@ -109,7 +109,10 @@ export class FilterBuilderComponent {
|
|
|
109
109
|
clearTimeout(this.autoApplyTimeout);
|
|
110
110
|
this.autoApplyTimeout = null;
|
|
111
111
|
}
|
|
112
|
-
|
|
112
|
+
setTimeout(() => {
|
|
113
|
+
this.doSearch();
|
|
114
|
+
this.applyFilter.emit();
|
|
115
|
+
}, 0);
|
|
113
116
|
}
|
|
114
117
|
scheduleAutoApply() {
|
|
115
118
|
if (this.autoApplyTimeout) {
|
|
@@ -282,4 +285,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImpo
|
|
|
282
285
|
type: HostListener,
|
|
283
286
|
args: ['keydown', ['$event']]
|
|
284
287
|
}] } });
|
|
285
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmlsdGVyLWJ1aWxkZXIuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvaW52b2ljZXEvdWktbGliL3NyYy9saWIvY29tcG9uZW50cy9hZHZhbmNlZC1maWx0ZXIvZmlsdGVyLWJ1aWxkZXIvZmlsdGVyLWJ1aWxkZXIuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvaW52b2ljZXEvdWktbGliL3NyYy9saWIvY29tcG9uZW50cy9hZHZhbmNlZC1maWx0ZXIvZmlsdGVyLWJ1aWxkZXIvZmlsdGVyLWJ1aWxkZXIuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFDLFNBQVMsRUFBRSxZQUFZLEVBQUUsWUFBWSxFQUFFLEtBQUssRUFBcUIsTUFBTSxFQUFDLE1BQU0sZUFBZSxDQUFDO0FBQ3RHLE9BQU8sRUFBQyxZQUFZLEVBQUUsVUFBVSxFQUFFLE9BQU8sRUFBQyxNQUFNLGlCQUFpQixDQUFDO0FBR2xFLE9BQU8sRUFBQyxvQkFBb0IsRUFBQyxNQUFNLHdDQUF3QyxDQUFDO0FBQzVFLE9BQU8sRUFBQyxlQUFlLEVBQUMsTUFBTSxxQkFBcUIsQ0FBQztBQUNwRCxPQUFPLEVBQUMsZUFBZSxFQUFDLE1BQU0sMEJBQTBCLENBQUM7QUFDekQsT0FBTyxFQUFDLE9BQU8sRUFBQyxNQUFNLHdCQUF3QixDQUFDO0FBQy9DLE9BQU8sRUFBQyxPQUFPLEVBQUUsV0FBVyxFQUFFLGNBQWMsRUFBQyxNQUFNLHdCQUF3QixDQUFDOzs7OztBQW1CNUUsTUFBTSxPQUFPLHNCQUFzQjtJQXNDakM7UUExQkEsbUJBQWMsR0FBa0IsRUFBRSxDQUFDO1FBR25DLHFCQUFnQixHQUFZLEtBQUssQ0FBQztRQUdsQyxZQUFPLEdBQWtCLEVBQUUsQ0FBQztRQU01QixzQkFBaUIsR0FBZ0UsSUFBSSxZQUFZLEVBQWlELENBQUM7UUFHbkosWUFBTyxHQUEwQixJQUFJLFlBQVksRUFBVyxDQUFDO1FBRzdELGdCQUFXLEdBQXVCLElBQUksWUFBWSxFQUFRLENBQUM7UUFHM0Qsa0JBQWEsR0FBeUIsSUFBSSxZQUFZLEVBQVUsQ0FBQztRQUdqRSxrQkFBYSxHQUF5QixJQUFJLFlBQVksRUFBVSxDQUFDO0lBR2pFLENBQUM7SUFFRCxRQUFRO1FBQ04sT0FBTyxPQUFPLE1BQU0sS0FBSyxXQUFXLElBQUksTUFBTSxDQUFDLFVBQVUsSUFBSSxHQUFHLENBQUM7SUFDbkUsQ0FBQztJQUVELGtCQUFrQjtRQUNoQixJQUFJLENBQUMsSUFBSSxDQUFDLE9BQU8sRUFBRSxDQUFDO1lBQ2xCLE9BQU8sRUFBRSxDQUFDO1FBQ1osQ0FBQztRQUNELE9BQU8sSUFBSSxDQUFDLE9BQU8sQ0FBQyxNQUFNLENBQUMsTUFBTSxDQUFDLEVBQUUsQ0FDbEMsTUFBTSxDQUFDLE9BQU8sS0FBSyxJQUFJLElBQUksTUFBTSxDQUFDLGFBQWEsS0FBSyxJQUFJLENBQ3pELENBQUM7SUFDSixDQUFDO0lBRUQsUUFBUSxDQUFDLE1BQXdCO1FBQy9CLElBQUksQ0FBQyxNQUFNLElBQUksQ0FBQyxNQUFNLENBQUMsUUFBUSxFQUFFLENBQUM7WUFDaEMsT0FBTyxFQUFFLENBQUM7UUFDWixDQUFDO1FBQ0QsTUFBTSxhQUFhLEdBQUcsTUFBTSxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLFFBQVEsQ0FBQztRQUNwRSxJQUFJLENBQUMsSUFBSSxDQUFDLFFBQVEsSUFBSSxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsYUFBYSxFQUFFLENBQUM7WUFDbkQsT0FBTyxhQUFhLENBQUM7UUFDdkIsQ0FBQztRQUNELE9BQU8sYUFBYSxDQUFDLFVBQVUsQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLGFBQWEsQ0FBQztZQUMxRCxDQUFDLENBQUMsR0FBRyxhQUFhLEVBQUU7WUFDcEIsQ0FBQyxDQUFDLEdBQUcsSUFBSSxDQUFDLFFBQVEsQ0FBQyxhQUFhLElBQUksYUFBYSxFQUFFLENBQUM7SUFDeEQsQ0FBQztJQUVELGFBQWEsQ0FBQyxjQUFzQjtRQUNsQyxJQUFJLENBQUMsYUFBYSxDQUFDLElBQUksQ0FBQyxjQUFjLENBQUMsQ0FBQztJQUMxQyxDQUFDO0lBRUQsYUFBYSxDQUFDLFVBQWtCO1FBQzlCLElBQUksQ0FBQyxhQUFhLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxDQUFDO0lBQ3RDLENBQUM7SUFFRCxRQUFRO1FBR04sSUFBSSxDQUFDLGdCQUFnQixFQUFFLENBQUM7UUFDeEIsSUFBSSxDQUFDLElBQUksQ0FBQyxNQUFNLEVBQUUsQ0FBQztZQUNqQixJQUFJLENBQUMsTUFBTSxHQUFHLElBQUksQ0FBQyx3QkFBd0IsRUFBRSxDQUFDO1FBQ2hELENBQUM7UUFDRCxJQUFJLElBQUksQ0FBQyxZQUFZLElBQUksSUFBSSxDQUFDLFlBQVksQ0FBQyxNQUFNLEVBQUUsQ0FBQztZQUNsRCxJQUFJLENBQUMsT0FBTyxHQUFHLElBQUksQ0FBQyxZQUFZLENBQUMsR0FBRyxDQUFDLEdBQUcsRUFBRSxDQUFDLElBQUksQ0FBQyx3QkFBd0IsRUFBRSxDQUFDLENBQUM7UUFDOUUsQ0FBQztJQUNILENBQUM7SUFFRCxXQUFXO1FBQ1QsSUFBSSxJQUFJLENBQUMsYUFBYSxFQUFFLENBQUM7WUFDdkIsWUFBWSxDQUFDLElBQUksQ0FBQyxhQUFhLENBQUMsQ0FBQztZQUNqQyxJQUFJLENBQUMsYUFBYSxHQUFHLElBQUksQ0FBQztRQUM1QixDQUFDO1FBQ0QsSUFBSSxJQUFJLENBQUMsZ0JBQWdCLEVBQUUsQ0FBQztZQUMxQixZQUFZLENBQUMsSUFBSSxDQUFDLGdCQUFnQixDQUFDLENBQUM7WUFDcEMsSUFBSSxDQUFDLGdCQUFnQixHQUFHLElBQUksQ0FBQztRQUMvQixDQUFDO0lBQ0gsQ0FBQztJQUdELFNBQVMsQ0FBQyxLQUFvQjtRQUM1QixJQUFJLEtBQUssQ0FBQyxHQUFHLEtBQUssT0FBTyxJQUFJLENBQUMsS0FBSyxDQUFDLFFBQVEsSUFBSSxDQUFDLEtBQUssQ0FBQyxPQUFPLElBQUksQ0FBQyxLQUFLLENBQUMsT0FBTyxFQUFFLENBQUM7WUFDakYsTUFBTSxNQUFNLEdBQUcsS0FBSyxDQUFDLE1BQXFCLENBQUM7WUFDM0MsTUFBTSxjQUFjLEdBQUcsTUFBTSxDQUFDLE9BQU8sS0FBSyxPQUFPO2dCQUMzQixNQUFNLENBQUMsT0FBTyxLQUFLLFVBQVU7Z0JBQzdCLE1BQU0sQ0FBQyxPQUFPLEtBQUssUUFBUTtnQkFDM0IsTUFBTSxDQUFDLGlCQUFpQixDQUFDO1lBRS9DLElBQUksY0FBYyxFQUFFLENBQUM7Z0JBQ25CLEtBQUssQ0FBQyxjQUFjLEVBQUUsQ0FBQztnQkFDdkIsS0FBSyxDQUFDLGVBQWUsRUFBRSxDQUFDO2dCQUN4QixJQUFJLElBQUksQ0FBQyxhQUFhLEVBQUUsQ0FBQztvQkFDdkIsWUFBWSxDQUFDLElBQUksQ0FBQyxhQUFhLENBQUMsQ0FBQztvQkFDakMsSUFBSSxDQUFDLGFBQWEsR0FBRyxJQUFJLENBQUM7Z0JBQzVCLENBQUM7Z0JBQ0QsVUFBVSxDQUFDLEdBQUcsRUFBRTtvQkFDZCxJQUFJLENBQUMsUUFBUSxFQUFFLENBQUM7b0JBQ2hCLElBQUksQ0FBQyxhQUFhLEVBQUUsQ0FBQztnQkFDdkIsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDO2dCQUNOLE9BQU87WUFDVCxDQUFDO1lBQ0QsSUFBSSxDQUFDLGFBQWEsRUFBRSxDQUFDO1FBQ3ZCLENBQUM7SUFDSCxDQUFDO0lBR0QsUUFBUTtRQUNOLElBQUksU0FBUyxHQUFHLEVBQUUsQ0FBQztRQUNuQixNQUFNLFlBQVksR0FBRyxDQUFDLElBQUksQ0FBQyxPQUFPLElBQUksRUFBRSxDQUFDO2FBQ3RDLE1BQU0sQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLFNBQVMsSUFBSSxDQUFDLENBQUMsV0FBVyxLQUFLLFNBQVMsSUFBSSxDQUFDLENBQUMsV0FBVyxLQUFLLElBQUksSUFBSSxDQUFDLENBQUMsV0FBVyxLQUFLLEVBQUUsQ0FBQzthQUNoSCxHQUFHLENBQUMsQ0FBQyxDQUFDLEVBQUU7WUFDUCxNQUFNLFNBQVMsR0FBRyxJQUFJLENBQUMsWUFBWSxFQUFFLElBQUksQ0FBQyxLQUFLLENBQUMsRUFBRSxDQUFDLEtBQUssQ0FBQyxRQUFRLEtBQUssQ0FBQyxDQUFDLFNBQVMsQ0FBQyxDQUFDO1lBQ25GLElBQUksU0FBUyxFQUFFLHNCQUFzQixJQUFJLENBQUMsQ0FBQyxXQUFXLEVBQUUsQ0FBQztnQkFDdkQsU0FBUyxHQUFHLENBQUMsQ0FBQyxXQUFXLENBQUM7Z0JBQzFCLE9BQU8sSUFBSSxDQUFDO1lBQ2QsQ0FBQztZQUNELE9BQU8sRUFBQyxHQUFHLENBQUMsRUFBQyxDQUFDO1FBQ2hCLENBQUMsQ0FBQzthQUNELE1BQU0sQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsS0FBSyxJQUFJLENBQUMsQ0FBQztRQUUzQixJQUFJLENBQUMsaUJBQWlCLENBQUMsSUFBSSxDQUFDLEVBQUUsT0FBTyxFQUFFLFlBQVksRUFBRSxTQUFTLEVBQUUsQ0FBQyxDQUFDO0lBQ3BFLENBQUM7SUFFRCxhQUFhO1FBQ1gsSUFBSSxJQUFJLENBQUMsZ0JBQWdCLEVBQUUsQ0FBQztZQUMxQixZQUFZLENBQUMsSUFBSSxDQUFDLGdCQUFnQixDQUFDLENBQUM7WUFDcEMsSUFBSSxDQUFDLGdCQUFnQixHQUFHLElBQUksQ0FBQztRQUMvQixDQUFDO1FBQ0QsSUFBSSxDQUFDLFdBQVcsQ0FBQyxJQUFJLEVBQUUsQ0FBQztJQUMxQixDQUFDO0lBRU8saUJBQWlCO1FBQ3ZCLElBQUksSUFBSSxDQUFDLGdCQUFnQixFQUFFLENBQUM7WUFDMUIsWUFBWSxDQUFDLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxDQUFDO1lBQ3BDLElBQUksQ0FBQyxnQkFBZ0IsR0FBRyxJQUFJLENBQUM7UUFDL0IsQ0FBQztRQUNELElBQUksQ0FBQyxnQkFBZ0IsR0FBRyxVQUFVLENBQUMsR0FBRyxFQUFFO1lBQ3RDLElBQUksQ0FBQyxhQUFhLEVBQUUsQ0FBQztZQUNyQixJQUFJLENBQUMsZ0JBQWdCLEdBQUcsSUFBSSxDQUFDO1FBQy9CLENBQUMsRUFBRSxLQUFLLENBQUMsQ0FBQztJQUNaLENBQUM7SUFFTyxjQUFjLENBQUMsVUFBa0IsR0FBRztRQUMxQyxJQUFJLElBQUksQ0FBQyxhQUFhLEVBQUUsQ0FBQztZQUN2QixZQUFZLENBQUMsSUFBSSxDQUFDLGFBQWEsQ0FBQyxDQUFDO1FBQ25DLENBQUM7UUFDRCxJQUFJLENBQUMsYUFBYSxHQUFHLFVBQVUsQ0FBQyxHQUFHLEVBQUU7WUFDbkMsSUFBSSxDQUFDLFFBQVEsRUFBRSxDQUFDO1FBQ2xCLENBQUMsRUFBRSxPQUFPLENBQUMsQ0FBQztJQUNkLENBQUM7SUFFRCxXQUFXLENBQUMsTUFBVyxFQUFFLEtBQWMsRUFBRSxTQUFxQjtRQUM1RCxJQUFJLElBQUksQ0FBQyxnQkFBZ0IsRUFBRSxDQUFDO1lBQzFCLFlBQVksQ0FBQyxJQUFJLENBQUMsZ0JBQWdCLENBQUMsQ0FBQztZQUNwQyxJQUFJLENBQUMsZ0JBQWdCLEdBQUcsSUFBSSxDQUFDO1FBQy9CLENBQUM7UUFFRCxNQUFNLFlBQVksR0FBRyxDQUFDLElBQWEsRUFBRSxLQUFXLEVBQUUsRUFBRTtZQUNsRCxJQUFJLENBQUMsSUFBSSxJQUFJLEtBQUssS0FBSyxTQUFTLElBQUksS0FBSyxLQUFLLElBQUksSUFBSSxLQUFLLEtBQUssRUFBRTtnQkFBRSxPQUFPLEtBQUssQ0FBQztZQUNqRixJQUFJLENBQUMsSUFBSSxJQUFJLEVBQUUsQ0FBQyxDQUFDLFdBQVcsRUFBRSxDQUFDLFFBQVEsQ0FBQyxNQUFNLENBQUMsRUFBRSxDQUFDO2dCQUNoRCxPQUFPLFVBQVUsQ0FBQyxLQUFLLEVBQUUsWUFBWSxFQUFFLE9BQU8sQ0FBQyxDQUFDO1lBQ2xELENBQUM7WUFDRCxPQUFPLEtBQUssQ0FBQztRQUNmLENBQUMsQ0FBQztRQUVGLElBQUksS0FBSyxLQUFLLFNBQVMsSUFBSSxDQUFDLFNBQVMsRUFBRSxDQUFDO1lBQ3RDLElBQUksQ0FBQyxJQUFJLENBQUMsWUFBWSxJQUFJLENBQUMsSUFBSSxDQUFDLFlBQVksQ0FBQyxNQUFNLEVBQUUsQ0FBQztnQkFDcEQsSUFBSSxDQUFDLE9BQU8sR0FBRyxFQUFFLENBQUM7Z0JBQ2xCLElBQUksQ0FBQyxRQUFRLEVBQUUsQ0FBQztnQkFDaEIsT0FBTztZQUNULENBQUM7WUFFRCxJQUFJLENBQUMsT0FBTyxHQUFHLElBQUksQ0FBQyxZQUFZLENBQUMsR0FBRyxDQUFDLENBQUMsRUFBRSxFQUFFLEVBQUU7Z0JBQzFDLE1BQU0sV0FBVyxHQUFHLEVBQUUsQ0FBQyxRQUFRLENBQUM7Z0JBQ2hDLElBQUksS0FBSyxHQUFHLE1BQU0sQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLFdBQVcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxTQUFTLENBQUM7Z0JBQ3JELElBQUksS0FBSyxLQUFLLFNBQVMsSUFBSSxLQUFLLEtBQUssSUFBSSxJQUFJLEtBQUssS0FBSyxFQUFFLEVBQUUsQ0FBQztvQkFDMUQsT0FBTyxJQUFJLENBQUMsd0JBQXdCLEVBQUUsQ0FBQztnQkFDekMsQ0FBQztnQkFDRCxNQUFNLFNBQVMsR0FBRyxXQUFXLEtBQUssTUFBTSxJQUFJLFdBQVcsS0FBSyxJQUFJLENBQUMsQ0FBQyxDQUFFLEVBQUUsQ0FBQyxjQUFjLENBQUMsQ0FBQyxDQUFDLFdBQVcsQ0FBQztnQkFFcEcsT0FBTztvQkFDTCxTQUFTLEVBQUUsU0FBUztvQkFDcEIsUUFBUSxFQUFFLEVBQUUsQ0FBQyxjQUFjLElBQUksUUFBUTtvQkFDdkMsVUFBVSxFQUFFLGNBQWM7b0JBQzFCLFNBQVMsRUFBRSxJQUFJLENBQUMsT0FBTyxDQUFDLEVBQUUsQ0FBQyxJQUFJLENBQVE7b0JBQ3ZDLFdBQVcsRUFBRSxZQUFZLENBQUMsRUFBRSxDQUFDLElBQUksRUFBRSxLQUFLLENBQVE7aUJBQ2xDLENBQUM7WUFDbkIsQ0FBQyxDQUFDLENBQUM7WUFFSCxNQUFNLFlBQVksR0FBRyxDQUFDLElBQUksQ0FBQyxZQUFZLElBQUksRUFBRSxDQUFDLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxJQUFJLElBQUksRUFBRSxDQUFDLENBQUMsV0FBVyxFQUFFLEtBQUssTUFBTSxDQUFDLENBQUMsQ0FBQztZQUN0RyxJQUFJLFlBQVksRUFBRSxDQUFDO2dCQUNqQixJQUFJLENBQUMsY0FBYyxFQUFFLENBQUM7WUFDeEIsQ0FBQztpQkFBTSxDQUFDO2dCQUNOLElBQUksQ0FBQyxRQUFRLEVBQUUsQ0FBQztZQUNsQixDQUFDO1lBQ0QsSUFBSSxDQUFDLGlCQUFpQixFQUFFLENBQUM7WUFDekIsT0FBTztRQUNULENBQUM7UUFFRCxJQUFJLENBQUMsSUFBSSxDQUFDLE9BQU8sRUFBRSxDQUFDO1lBQ2xCLElBQUksQ0FBQyxPQUFPLEdBQUcsRUFBRSxDQUFDO1FBQ3BCLENBQUM7UUFDRCxJQUFJLElBQUksQ0FBQyxPQUFPLENBQUMsTUFBTSxHQUFHLEtBQUssR0FBRyxDQUFDLEVBQUUsQ0FBQztZQUNwQyxJQUFJLENBQUMsT0FBTyxDQUFDLE1BQU0sR0FBRyxLQUFLLEdBQUcsQ0FBQyxDQUFDO1FBQ2xDLENBQUM7UUFFRCxJQUFJLFdBQVcsR0FBRyxTQUFTLENBQUMsUUFBUSxDQUFDO1FBQ3JDLElBQUksS0FBSyxHQUFHLE1BQU0sQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLFdBQVcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxTQUFTLENBQUM7UUFDckQsSUFBSSxNQUFNLElBQUksTUFBTSxDQUFDLFdBQVcsS0FBSyxTQUFTLElBQUksTUFBTSxDQUFDLFNBQVMsS0FBSyxTQUFTLEVBQUUsQ0FBQztZQUNqRixXQUFXLEdBQUcsTUFBTSxDQUFDLFdBQVcsSUFBSSxXQUFXLENBQUM7WUFDaEQsS0FBSyxHQUFHLE1BQU0sQ0FBQyxTQUFTLENBQUM7UUFDM0IsQ0FBQztRQUVELElBQUksS0FBSyxLQUFLLFNBQVMsSUFBSSxLQUFLLEtBQUssSUFBSSxJQUFJLEtBQUssS0FBSyxFQUFFLEVBQUUsQ0FBQztZQUMxRCxJQUFJLENBQUMsT0FBTyxDQUFDLEtBQUssQ0FBQyxHQUFHLElBQUksQ0FBQyx3QkFBd0IsRUFBRSxDQUFDO1FBQ3hELENBQUM7YUFBTSxDQUFDO1lBQ04sSUFBSSxDQUFDLE9BQU8sQ0FBQyxLQUFLLENBQUMsR0FBRztnQkFDcEIsU0FBUyxFQUFFLFdBQVc7Z0JBQ3RCLFFBQVEsRUFBRyxTQUFTLENBQUMsY0FBYyxJQUFJLFFBQVE7Z0JBQy9DLFVBQVUsRUFBRSxjQUFjO2dCQUMxQixTQUFTLEVBQUUsSUFBSSxDQUFDLE9BQU8sQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFRO2dCQUM5QyxXQUFXLEVBQUUsWUFBWSxDQUFDLFNBQVMsQ0FBQyxJQUFJLEVBQUUsS0FBSyxDQUFRO2FBQ3pDLENBQUM7UUFDbkIsQ0FBQztRQUNELE1BQU0sV0FBVyxHQUFHLENBQUMsQ0FBQyxTQUFTLENBQUMsSUFBSSxJQUFJLEVBQUUsQ0FBQyxDQUFDLFdBQVcsRUFBRSxLQUFLLE1BQU0sQ0FBQyxDQUFDO1FBQ3RFLElBQUksV0FBVyxFQUFFLENBQUM7WUFDaEIsSUFBSSxDQUFDLGNBQWMsRUFBRSxDQUFDO1FBQ3hCLENBQUM7YUFBTSxDQUFDO1lBQ04sSUFBSSxDQUFDLFFBQVEsRUFBRSxDQUFDO1FBQ2xCLENBQUM7UUFDRCxJQUFJLENBQUMsaUJBQWlCLEVBQUUsQ0FBQztJQUMzQixDQUFDO0lBQ0QsT0FBTyxDQUFDLE9BQWdCO1FBQ3RCLE1BQU0sQ0FBQyxHQUFHLENBQUMsT0FBTyxJQUFJLEVBQUUsQ0FBQyxDQUFDLFdBQVcsRUFBRSxDQUFDO1FBQ3hDLElBQUksQ0FBQyxDQUFDLFFBQVEsQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLENBQUMsUUFBUSxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsS0FBSyxNQUFNO1lBQUUsT0FBTyxNQUFNLENBQUM7UUFDN0UsSUFBSSxDQUFDLENBQUMsUUFBUSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsQ0FBQyxRQUFRLENBQUMsTUFBTSxDQUFDO1lBQUUsT0FBTyxNQUFNLENBQUM7UUFDNUQsSUFBSSxDQUFDLENBQUMsUUFBUSxDQUFDLE1BQU0sQ0FBQztZQUFFLE9BQU8sU0FBUyxDQUFDO1FBQ3pDLE9BQU8sUUFBUSxDQUFDO0lBQ2xCLENBQUM7SUFFRCxVQUFVLENBQUMsTUFBZTtRQUN4QixPQUFPLElBQUksQ0FBQztJQUNkLENBQUM7SUFHRCxTQUFTO1FBQ1AsSUFBSSxDQUFDLE1BQU0sR0FBRyxJQUFJLENBQUMsd0JBQXdCLEVBQUUsQ0FBQztRQUM5QyxJQUFJLENBQUMsT0FBTyxHQUFHLElBQUksQ0FBQyxZQUFZLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxZQUFZLENBQUMsR0FBRyxDQUFDLEdBQUcsRUFBRSxDQUFDLElBQUksQ0FBQyx3QkFBd0IsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQztRQUNyRyxJQUFJLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQztJQUMxQixDQUFDO0lBR0QsZ0JBQWdCO1FBQ2QsSUFBSSxJQUFJLENBQUMsU0FBUyxFQUFFLENBQUM7WUFDbkIsSUFBSSxDQUFDLElBQUksQ0FBQyxNQUFNLElBQUksTUFBTSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLENBQUMsTUFBTSxLQUFLLENBQUMsRUFBRSxDQUFDO2dCQUMxRCxJQUFJLENBQUMsTUFBTSxHQUFHLElBQUksQ0FBQyx3QkFBd0IsRUFBRSxDQUFDO1lBQ2hELENBQUM7UUFDSCxDQUFDO0lBQ0gsQ0FBQztJQUdPLHdCQUF3QjtRQUM5QixPQUFPO1lBQ0wsU0FBUyxFQUFFLEVBQUU7WUFDYixRQUFRLEVBQUUsRUFBRTtZQUNaLFVBQVUsRUFBRSxFQUFFO1lBQ2QsU0FBUyxFQUFFLEVBQUU7WUFDYixXQUFXLEVBQUUsRUFBRTtTQUNELENBQUM7SUFDbkIsQ0FBQzsrR0FoU1Usc0JBQXNCO21HQUF0QixzQkFBc0IsZ2VDM0JuQywrc0lBdUhBLGt2YkR4R0ksWUFBWSxnUUFDWixvQkFBb0Isc0xBQ3BCLGVBQWUsMkZBQ2YsZUFBZSw0TkFDZixPQUFPLDJJQUNQLE9BQU8sMlFBQ1AsV0FBVyxzSUFDWCxjQUFjOzs0RkFLTCxzQkFBc0I7a0JBakJsQyxTQUFTOytCQUNFLG9CQUFvQixjQUVsQixJQUFJLFdBQ1A7d0JBQ1AsWUFBWTt3QkFDWixvQkFBb0I7d0JBQ3BCLGVBQWU7d0JBQ2YsZUFBZTt3QkFDZixPQUFPO3dCQUNQLE9BQU87d0JBQ1AsV0FBVzt3QkFDWCxjQUFjO3dCQUNkLE9BQU87cUJBQ1I7d0RBTUQsT0FBTztzQkFETixLQUFLO2dCQUlOLFNBQVM7c0JBRFYsS0FBSztnQkFHSixZQUFZO3NCQURYLEtBQUs7Z0JBR04sUUFBUTtzQkFEUCxLQUFLO2dCQUdOLGNBQWM7c0JBRGIsS0FBSztnQkFJTixnQkFBZ0I7c0JBRGYsS0FBSztnQkFVTixpQkFBaUI7c0JBRGhCLE1BQU07Z0JBSVAsT0FBTztzQkFETixNQUFNO2dCQUlQLFdBQVc7c0JBRFYsTUFBTTtnQkFJUCxhQUFhO3NCQURaLE1BQU07Z0JBSVAsYUFBYTtzQkFEWixNQUFNO2dCQWdFUCxTQUFTO3NCQURSLFlBQVk7dUJBQUMsU0FBUyxFQUFFLENBQUMsUUFBUSxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtDb21wb25lbnQsIEV2ZW50RW1pdHRlciwgSG9zdExpc3RlbmVyLCBJbnB1dCwgT25EZXN0cm95LCBPbkluaXQsIE91dHB1dH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7Q29tbW9uTW9kdWxlLCBmb3JtYXREYXRlLCBOZ0Zvck9mfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xyXG5pbXBvcnQge0ZpZWxkSW5mbywgUGFnZUluZm8sIFRhYmxlQ29sdW1ufSBmcm9tIFwiLi4vLi4vLi4vYmFzZS1tb2RlbFwiO1xyXG5pbXBvcnQge0ZpZWxkRmlsdGVyfSBmcm9tIFwiLi4vLi4vLi4vYmFzZS1tb2RlbC9maWVsZC1maWx0ZXIubW9kZWxcIjtcclxuaW1wb3J0IHtGaWVsZEZpbHRlckNvbXBvbmVudH0gZnJvbSBcIi4uL2ZpZWxkLWZpbHRlci9maWVsZC1maWx0ZXIuY29tcG9uZW50XCI7XHJcbmltcG9ydCB7VHJhbnNsYXRlTW9kdWxlfSBmcm9tIFwiQG5neC10cmFuc2xhdGUvY29yZVwiO1xyXG5pbXBvcnQge01hdEJ1dHRvbk1vZHVsZX0gZnJvbSBcIkBhbmd1bGFyL21hdGVyaWFsL2J1dHRvblwiO1xyXG5pbXBvcnQge01hdEljb259IGZyb20gXCJAYW5ndWxhci9tYXRlcmlhbC9pY29uXCI7XHJcbmltcG9ydCB7TWF0TWVudSwgTWF0TWVudUl0ZW0sIE1hdE1lbnVUcmlnZ2VyfSBmcm9tIFwiQGFuZ3VsYXIvbWF0ZXJpYWwvbWVudVwiO1xyXG5cclxuQENvbXBvbmVudCh7XHJcbiAgc2VsZWN0b3I6ICdhcHAtZmlsdGVyLWJ1aWxkZXInLFxyXG4gIHRlbXBsYXRlVXJsOiAnLi9maWx0ZXItYnVpbGRlci5jb21wb25lbnQuaHRtbCcsXHJcbiAgc3RhbmRhbG9uZTogdHJ1ZSxcclxuICBpbXBvcnRzOiBbXHJcbiAgICBDb21tb25Nb2R1bGUsXHJcbiAgICBGaWVsZEZpbHRlckNvbXBvbmVudCxcclxuICAgIFRyYW5zbGF0ZU1vZHVsZSxcclxuICAgIE1hdEJ1dHRvbk1vZHVsZSxcclxuICAgIE1hdEljb24sXHJcbiAgICBNYXRNZW51LFxyXG4gICAgTWF0TWVudUl0ZW0sXHJcbiAgICBNYXRNZW51VHJpZ2dlcixcclxuICAgIE5nRm9yT2ZcclxuICBdLFxyXG4gIHN0eWxlVXJsczogWycuL2ZpbHRlci1idWlsZGVyLmNvbXBvbmVudC5zY3NzJ11cclxufSlcclxuZXhwb3J0IGNsYXNzIEZpbHRlckJ1aWxkZXJDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQsIE9uRGVzdHJveSB7XHJcblxyXG4gIEBJbnB1dCgpXHJcbiAgY29sdW1uczogVGFibGVDb2x1bW48YW55PltdO1xyXG5cclxuQElucHV0KClcclxuICBpc0NoZWNrZWQ6IGJvb2xlYW47XHJcbiAgQElucHV0KClcclxuICBmaWx0ZXJGaWVsZHM6IEZpZWxkSW5mb1tdO1xyXG4gIEBJbnB1dCgpXHJcbiAgcGFnZUluZm86IFBhZ2VJbmZvO1xyXG4gIEBJbnB1dCgpXHJcbiAgcGVuZGluZ0ZpbHRlcnM6IEZpZWxkRmlsdGVyW10gPSBbXTtcclxuXHJcbiAgQElucHV0KClcclxuICBzaG93RXhwb3J0QnV0dG9uOiBib29sZWFuID0gZmFsc2U7XHJcblxyXG4gIGZpbHRlcjogRmllbGRGaWx0ZXI7XHJcbiAgZmlsdGVyczogRmllbGRGaWx0ZXJbXSA9IFtdO1xyXG5cclxuICBwcml2YXRlIHNlYXJjaFRpbWVvdXQ6IGFueTtcclxuICBwcml2YXRlIGF1dG9BcHBseVRpbWVvdXQ6IGFueTtcclxuXHJcbiAgQE91dHB1dCgpXHJcbiAgZmlsdGVySW5mb3JtYXRpb246IEV2ZW50RW1pdHRlcjx7IGZpbHRlcnM6IEZpZWxkRmlsdGVyW10sIHNlYXJjaFN0cjogc3RyaW5nIH0+ID0gbmV3IEV2ZW50RW1pdHRlcjx7IGZpbHRlcnM6IEZpZWxkRmlsdGVyW10sIHNlYXJjaFN0cjogc3RyaW5nIH0+KCk7XHJcblxyXG4gIEBPdXRwdXQoKVxyXG4gIGlzRW1wdHk6IEV2ZW50RW1pdHRlcjxib29sZWFuPiA9IG5ldyBFdmVudEVtaXR0ZXI8Ym9vbGVhbj4oKTtcclxuXHJcbiAgQE91dHB1dCgpXHJcbiAgYXBwbHlGaWx0ZXI6IEV2ZW50RW1pdHRlcjx2b2lkPiA9IG5ldyBFdmVudEVtaXR0ZXI8dm9pZD4oKTtcclxuXHJcbiAgQE91dHB1dCgpXHJcbiAgc29ydEJ5Q2xpY2tlZDogRXZlbnRFbWl0dGVyPHN0cmluZz4gPSBuZXcgRXZlbnRFbWl0dGVyPHN0cmluZz4oKTtcclxuXHJcbiAgQE91dHB1dCgpXHJcbiAgZXhwb3J0Q2xpY2tlZDogRXZlbnRFbWl0dGVyPHN0cmluZz4gPSBuZXcgRXZlbnRFbWl0dGVyPHN0cmluZz4oKTtcclxuXHJcbiAgY29uc3RydWN0b3IoKSB7XHJcbiAgfVxyXG5cclxuICBpc01vYmlsZSgpOiBib29sZWFuIHtcclxuICAgIHJldHVybiB0eXBlb2Ygd2luZG93ICE9PSAndW5kZWZpbmVkJyAmJiB3aW5kb3cuaW5uZXJXaWR0aCA8PSA3Njg7XHJcbiAgfVxyXG5cclxuICBnZXRTb3J0YWJsZUNvbHVtbnMoKTogVGFibGVDb2x1bW48YW55PltdIHtcclxuICAgIGlmICghdGhpcy5jb2x1bW5zKSB7XHJcbiAgICAgIHJldHVybiBbXTtcclxuICAgIH1cclxuICAgIHJldHVybiB0aGlzLmNvbHVtbnMuZmlsdGVyKGNvbHVtbiA9PlxyXG4gICAgICBjb2x1bW4udmlzaWJsZSA9PT0gdHJ1ZSAmJiBjb2x1bW4uZW5hYmxlU29ydGluZyA9PT0gdHJ1ZVxyXG4gICAgKTtcclxuICB9XHJcblxyXG4gIGxhYmVsS2V5KGNvbHVtbjogVGFibGVDb2x1bW48YW55Pik6IHN0cmluZyB7XHJcbiAgICBpZiAoIWNvbHVtbiB8fCAhY29sdW1uLnByb3BlcnR5KSB7XHJcbiAgICAgIHJldHVybiAnJztcclxuICAgIH1cclxuICAgIGNvbnN0IGNvbmZpZ3VyZWRLZXkgPSBjb2x1bW4ubGFiZWwgPyBjb2x1bW4ubGFiZWwgOiBjb2x1bW4ucHJvcGVydHk7XHJcbiAgICBpZiAoIXRoaXMucGFnZUluZm8gfHwgIXRoaXMucGFnZUluZm8ubGFiZWxzU2VjdGlvbikge1xyXG4gICAgICByZXR1cm4gY29uZmlndXJlZEtleTtcclxuICAgIH1cclxuICAgIHJldHVybiBjb25maWd1cmVkS2V5LnN0YXJ0c1dpdGgodGhpcy5wYWdlSW5mby5sYWJlbHNTZWN0aW9uKVxyXG4gICAgICA/IGAke2NvbmZpZ3VyZWRLZXl9YFxyXG4gICAgICA6IGAke3RoaXMucGFnZUluZm8ubGFiZWxzU2VjdGlvbn0uJHtjb25maWd1cmVkS2V5fWA7XHJcbiAgfVxyXG5cclxuICBvblNvcnRCeUNsaWNrKGNvbHVtblByb3BlcnR5OiBzdHJpbmcpOiB2b2lkIHtcclxuICAgIHRoaXMuc29ydEJ5Q2xpY2tlZC5lbWl0KGNvbHVtblByb3BlcnR5KTtcclxuICB9XHJcblxyXG4gIG9uRXhwb3J0Q2xpY2socmVwb3J0VHlwZTogc3RyaW5nKTogdm9pZCB7XHJcbiAgICB0aGlzLmV4cG9ydENsaWNrZWQuZW1pdChyZXBvcnRUeXBlKTtcclxuICB9XHJcblxyXG4gIG5nT25Jbml0KCk6IHZvaWQge1xyXG5cclxuXHJcbiAgICB0aGlzLnN3aXRjaFRvQWR2YW5jZWQoKTtcclxuICAgIGlmICghdGhpcy5maWx0ZXIpIHtcclxuICAgICAgdGhpcy5maWx0ZXIgPSB0aGlzLmNyZWF0ZURlZmF1bHRGaWVsZEZpbHRlcigpO1xyXG4gICAgfVxyXG4gICAgaWYgKHRoaXMuZmlsdGVyRmllbGRzICYmIHRoaXMuZmlsdGVyRmllbGRzLmxlbmd0aCkge1xyXG4gICAgICB0aGlzLmZpbHRlcnMgPSB0aGlzLmZpbHRlckZpZWxkcy5tYXAoKCkgPT4gdGhpcy5jcmVhdGVEZWZhdWx0RmllbGRGaWx0ZXIoKSk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBuZ09uRGVzdHJveSgpOiB2b2lkIHtcclxuICAgIGlmICh0aGlzLnNlYXJjaFRpbWVvdXQpIHtcclxuICAgICAgY2xlYXJUaW1lb3V0KHRoaXMuc2VhcmNoVGltZW91dCk7XHJcbiAgICAgIHRoaXMuc2VhcmNoVGltZW91dCA9IG51bGw7XHJcbiAgICB9XHJcbiAgICBpZiAodGhpcy5hdXRvQXBwbHlUaW1lb3V0KSB7XHJcbiAgICAgIGNsZWFyVGltZW91dCh0aGlzLmF1dG9BcHBseVRpbWVvdXQpO1xyXG4gICAgICB0aGlzLmF1dG9BcHBseVRpbWVvdXQgPSBudWxsO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgQEhvc3RMaXN0ZW5lcigna2V5ZG93bicsIFsnJGV2ZW50J10pXHJcbiAgb25LZXlEb3duKGV2ZW50OiBLZXlib2FyZEV2ZW50KTogdm9pZCB7XHJcbiAgICBpZiAoZXZlbnQua2V5ID09PSAnRW50ZXInICYmICFldmVudC5zaGlmdEtleSAmJiAhZXZlbnQuY3RybEtleSAmJiAhZXZlbnQubWV0YUtleSkge1xyXG4gICAgICBjb25zdCB0YXJnZXQgPSBldmVudC50YXJnZXQgYXMgSFRNTEVsZW1lbnQ7XHJcbiAgICAgIGNvbnN0IGlzSW5wdXRFbGVtZW50ID0gdGFyZ2V0LnRhZ05hbWUgPT09ICdJTlBVVCcgfHxcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRhcmdldC50YWdOYW1lID09PSAnVEVYVEFSRUEnIHx8XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB0YXJnZXQudGFnTmFtZSA9PT0gJ1NFTEVDVCcgfHxcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRhcmdldC5pc0NvbnRlbnRFZGl0YWJsZTtcclxuXHJcbiAgICAgIGlmIChpc0lucHV0RWxlbWVudCkge1xyXG4gICAgICAgIGV2ZW50LnByZXZlbnREZWZhdWx0KCk7XHJcbiAgICAgICAgZXZlbnQuc3RvcFByb3BhZ2F0aW9uKCk7XHJcbiAgICAgICAgaWYgKHRoaXMuc2VhcmNoVGltZW91dCkge1xyXG4gICAgICAgICAgY2xlYXJUaW1lb3V0KHRoaXMuc2VhcmNoVGltZW91dCk7XHJcbiAgICAgICAgICB0aGlzLnNlYXJjaFRpbWVvdXQgPSBudWxsO1xyXG4gICAgICAgIH1cclxuICAgICAgICBzZXRUaW1lb3V0KCgpID0+IHtcclxuICAgICAgICAgIHRoaXMuZG9TZWFyY2goKTtcclxuICAgICAgICAgIHRoaXMub25BcHBseUZpbHRlcigpO1xyXG4gICAgICAgIH0sIDApO1xyXG4gICAgICAgIHJldHVybjtcclxuICAgICAgfVxyXG4gICAgICB0aGlzLm9uQXBwbHlGaWx0ZXIoKTtcclxuICAgIH1cclxuICB9XHJcblxyXG5cclxuICBkb1NlYXJjaCgpIHtcclxuICAgIGxldCBzZWFyY2hTdHIgPSAnJztcclxuICAgIGNvbnN0IGZpbHRlcnNBcnJheSA9ICh0aGlzLmZpbHRlcnMgfHwgW10pXHJcbiAgICAgIC5maWx0ZXIoZiA9PiAhIWYgJiYgZi5maWVsZE5hbWUgJiYgZi52YWx1ZU9iamVjdCAhPT0gdW5kZWZpbmVkICYmIGYudmFsdWVPYmplY3QgIT09IG51bGwgJiYgZi52YWx1ZU9iamVjdCAhPT0gJycpXHJcbiAgICAgIC5tYXAoZiA9PiB7XHJcbiAgICAgICAgY29uc3QgZmllbGRJbmZvID0gdGhpcy5maWx0ZXJGaWVsZHM/LmZpbmQoZmllbGQgPT4gZmllbGQucHJvcGVydHkgPT09IGYuZmllbGROYW1lKTtcclxuICAgICAgICBpZiAoZmllbGRJbmZvPy5tdWx0aUxldmVsU2VhcmNoRW5hYmxlICYmIGYudmFsdWVPYmplY3QpIHtcclxuICAgICAgICAgIHNlYXJjaFN0ciA9IGYudmFsdWVPYmplY3Q7XHJcbiAgICAgICAgICByZXR1cm4gbnVsbDtcclxuICAgICAgICB9XHJcbiAgICAgICAgcmV0dXJuIHsuLi5mfTtcclxuICAgICAgfSlcclxuICAgICAgLmZpbHRlcihmID0+IGYgIT09IG51bGwpO1xyXG5cclxuICAgIHRoaXMuZmlsdGVySW5mb3JtYXRpb24uZW1pdCh7IGZpbHRlcnM6IGZpbHRlcnNBcnJheSwgc2VhcmNoU3RyIH0pO1xyXG4gIH1cclxuXHJcbiAgb25BcHBseUZpbHRlcigpOiB2b2lkIHtcclxuICAgIGlmICh0aGlzLmF1dG9BcHBseVRpbWVvdXQpIHtcclxuICAgICAgY2xlYXJUaW1lb3V0KHRoaXMuYXV0b0FwcGx5VGltZW91dCk7XHJcbiAgICAgIHRoaXMuYXV0b0FwcGx5VGltZW91dCA9IG51bGw7XHJcbiAgICB9XHJcbiAgICB0aGlzLmFwcGx5RmlsdGVyLmVtaXQoKTtcclxuICB9XHJcblxyXG4gIHByaXZhdGUgc2NoZWR1bGVBdXRvQXBwbHkoKTogdm9pZCB7XHJcbiAgICBpZiAodGhpcy5hdXRvQXBwbHlUaW1lb3V0KSB7XHJcbiAgICAgIGNsZWFyVGltZW91dCh0aGlzLmF1dG9BcHBseVRpbWVvdXQpO1xyXG4gICAgICB0aGlzLmF1dG9BcHBseVRpbWVvdXQgPSBudWxsO1xyXG4gICAgfVxyXG4gICAgdGhpcy5hdXRvQXBwbHlUaW1lb3V0ID0gc2V0VGltZW91dCgoKSA9PiB7XHJcbiAgICAgIHRoaXMub25BcHBseUZpbHRlcigpO1xyXG4gICAgICB0aGlzLmF1dG9BcHBseVRpbWVvdXQgPSBudWxsO1xyXG4gICAgfSwgMTAwMDApO1xyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBzY2hlZHVsZVNlYXJjaChkZWxheU1zOiBudW1iZXIgPSA4MDApIHtcclxuICAgIGlmICh0aGlzLnNlYXJjaFRpbWVvdXQpIHtcclxuICAgICAgY2xlYXJUaW1lb3V0KHRoaXMuc2VhcmNoVGltZW91dCk7XHJcbiAgICB9XHJcbiAgICB0aGlzLnNlYXJjaFRpbWVvdXQgPSBzZXRUaW1lb3V0KCgpID0+IHtcclxuICAgICAgdGhpcy5kb1NlYXJjaCgpO1xyXG4gICAgfSwgZGVsYXlNcyk7XHJcbiAgfVxyXG5cclxuICBmb3JtQ2hhbmdlcygkZXZlbnQ6IGFueSwgaW5kZXg/OiBudW1iZXIsIGZpZWxkSW5mbz86IEZpZWxkSW5mbykge1xyXG4gICAgaWYgKHRoaXMuYXV0b0FwcGx5VGltZW91dCkge1xyXG4gICAgICBjbGVhclRpbWVvdXQodGhpcy5hdXRvQXBwbHlUaW1lb3V0KTtcclxuICAgICAgdGhpcy5hdXRvQXBwbHlUaW1lb3V0ID0gbnVsbDtcclxuICAgIH1cclxuXHJcbiAgICBjb25zdCBmb3JtYXRJZkRhdGUgPSAodHlwZT86IHN0cmluZywgdmFsdWU/OiBhbnkpID0+IHtcclxuICAgICAgaWYgKCF0eXBlIHx8IHZhbHVlID09PSB1bmRlZmluZWQgfHwgdmFsdWUgPT09IG51bGwgfHwgdmFsdWUgPT09ICcnKSByZXR1cm4gdmFsdWU7XHJcbiAgICAgIGlmICgodHlwZSB8fCAnJykudG9Mb3dlckNhc2UoKS5pbmNsdWRlcygnZGF0ZScpKSB7XHJcbiAgICAgICAgcmV0dXJuIGZvcm1hdERhdGUodmFsdWUsICd5eXl5LU1NLWRkJywgJ2VuX1VTJyk7XHJcbiAgICAgIH1cclxuICAgICAgcmV0dXJuIHZhbHVlO1xyXG4gICAgfTtcclxuXHJcbiAgICBpZiAoaW5kZXggPT09IHVuZGVmaW5lZCB8fCAhZmllbGRJbmZvKSB7XHJcbiAgICAgIGlmICghdGhpcy5maWx0ZXJGaWVsZHMgfHwgIXRoaXMuZmlsdGVyRmllbGRzLmxlbmd0aCkge1xyXG4gICAgICAgIHRoaXMuZmlsdGVycyA9IFtdO1xyXG4gICAgICAgIHRoaXMuZG9TZWFyY2goKTtcclxuICAgICAgICByZXR1cm47XHJcbiAgICAgIH1cclxuXHJcbiAgICAgIHRoaXMuZmlsdGVycyA9IHRoaXMuZmlsdGVyRmllbGRzLm1hcCgoZmkpID0+IHtcclxuICAgICAgICBjb25zdCBjb250cm9sTmFtZSA9IGZpLnByb3BlcnR5O1xyXG4gICAgICAgIGxldCB2YWx1ZSA9ICRldmVudCA/ICRldmVudFtjb250cm9sTmFtZV0gOiB1bmRlZmluZWQ7XHJcbiAgICAgICAgaWYgKHZhbHVlID09PSB1bmRlZmluZWQgfHwgdmFsdWUgPT09IG51bGwgfHwgdmFsdWUgPT09ICcnKSB7XHJcbiAgICAgICAgICByZXR1cm4gdGhpcy5jcmVhdGVEZWZhdWx0RmllbGRGaWx0ZXIoKTtcclxuICAgICAgICB9XHJcbiAgICAgICAgY29uc3QgZmllbGROYW1lID0gY29udHJvbE5hbWUgPT09ICdmcm9tJyB8fCBjb250cm9sTmFtZSA9PT0gJ3RvJyA/ICBmaS50YXJnZXRQcm9wZXJ0eSA6IGNvbnRyb2xOYW1lO1xyXG5cclxuICAgICAgICByZXR1cm4ge1xyXG4gICAgICAgICAgZmllbGROYW1lOiBmaWVsZE5hbWUsXHJcbiAgICAgICAgICBvcGVyYXRvcjogZmkuZmlsdGVyT3BlcmF0b3IgfHwgJ0VRVUFMUycsXHJcbiAgICAgICAgICBmaWx0ZXJUeXBlOiAnRklMRURfRklMVEVSJyxcclxuICAgICAgICAgIGZpZWxkVHlwZTogdGhpcy50eXBlTWFwKGZpLnR5cGUpIGFzIGFueSxcclxuICAgICAgICAgIHZhbHVlT2JqZWN0OiBmb3JtYXRJZkRhdGUoZmkudHlwZSwgdmFsdWUpIGFzIGFueVxyXG4gICAgICAgIH0gYXMgRmllbGRGaWx0ZXI7XHJcbiAgICAgIH0pO1xyXG5cclxuICAgICAgY29uc3QgaGFzVGV4dEZpZWxkID0gKHRoaXMuZmlsdGVyRmllbGRzIHx8IFtdKS5zb21lKGZpID0+ICgoZmkudHlwZSB8fCAnJykudG9Mb3dlckNhc2UoKSA9PT0gJ3RleHQnKSk7XHJcbiAgICAgIGlmIChoYXNUZXh0RmllbGQpIHtcclxuICAgICAgICB0aGlzLnNjaGVkdWxlU2VhcmNoKCk7XHJcbiAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgdGhpcy5kb1NlYXJjaCgpO1xyXG4gICAgICB9XHJcbiAgICAgIHRoaXMuc2NoZWR1bGVBdXRvQXBwbHkoKTtcclxuICAgICAgcmV0dXJuO1xyXG4gICAgfVxyXG5cclxuICAgIGlmICghdGhpcy5maWx0ZXJzKSB7XHJcbiAgICAgIHRoaXMuZmlsdGVycyA9IFtdO1xyXG4gICAgfVxyXG4gICAgaWYgKHRoaXMuZmlsdGVycy5sZW5ndGggPCBpbmRleCArIDEpIHtcclxuICAgICAgdGhpcy5maWx0ZXJzLmxlbmd0aCA9IGluZGV4ICsgMTtcclxuICAgIH1cclxuXHJcbiAgICBsZXQgY29udHJvbE5hbWUgPSBmaWVsZEluZm8ucHJvcGVydHk7XHJcbiAgICBsZXQgdmFsdWUgPSAkZXZlbnQgPyAkZXZlbnRbY29udHJvbE5hbWVdIDogdW5kZWZpbmVkO1xyXG4gICAgaWYgKCRldmVudCAmJiAkZXZlbnQuZmlsdGVyRmllbGQgIT09IHVuZGVmaW5lZCAmJiAkZXZlbnQuZnJvbVZhbHVlICE9PSB1bmRlZmluZWQpIHtcclxuICAgICAgY29udHJvbE5hbWUgPSAkZXZlbnQuZmlsdGVyRmllbGQgfHwgY29udHJvbE5hbWU7XHJcbiAgICAgIHZhbHVlID0gJGV2ZW50LmZyb21WYWx1ZTtcclxuICAgIH1cclxuXHJcbiAgICBpZiAodmFsdWUgPT09IHVuZGVmaW5lZCB8fCB2YWx1ZSA9PT0gbnVsbCB8fCB2YWx1ZSA9PT0gJycpIHtcclxuICAgICAgdGhpcy5maWx0ZXJzW2luZGV4XSA9IHRoaXMuY3JlYXRlRGVmYXVsdEZpZWxkRmlsdGVyKCk7XHJcbiAgICB9IGVsc2Uge1xyXG4gICAgICB0aGlzLmZpbHRlcnNbaW5kZXhdID0ge1xyXG4gICAgICAgIGZpZWxkTmFtZTogY29udHJvbE5hbWUsXHJcbiAgICAgICAgb3BlcmF0b3I6ICBmaWVsZEluZm8uZmlsdGVyT3BlcmF0b3IgfHwgJ0VRVUFMUycsXHJcbiAgICAgICAgZmlsdGVyVHlwZTogJ0ZJTEVEX0ZJTFRFUicsXHJcbiAgICAgICAgZmllbGRUeXBlOiB0aGlzLnR5cGVNYXAoZmllbGRJbmZvLnR5cGUpIGFzIGFueSxcclxuICAgICAgICB2YWx1ZU9iamVjdDogZm9ybWF0SWZEYXRlKGZpZWxkSW5mby50eXBlLCB2YWx1ZSkgYXMgYW55XHJcbiAgICAgIH0gYXMgRmllbGRGaWx0ZXI7XHJcbiAgICB9XHJcbiAgICBjb25zdCBpc1RleHRGaWVsZCA9ICgoZmllbGRJbmZvLnR5cGUgfHwgJycpLnRvTG93ZXJDYXNlKCkgPT09ICd0ZXh0Jyk7XHJcbiAgICBpZiAoaXNUZXh0RmllbGQpIHtcclxuICAgICAgdGhpcy5zY2hlZHVsZVNlYXJjaCgpO1xyXG4gICAgfSBlbHNlIHtcclxuICAgICAgdGhpcy5kb1NlYXJjaCgpO1xyXG4gICAgfVxyXG4gICAgdGhpcy5zY2hlZHVsZUF1dG9BcHBseSgpO1xyXG4gIH1cclxuICB0eXBlTWFwKGNvbFR5cGU/OiBzdHJpbmcpOiBzdHJpbmcge1xyXG4gICAgY29uc3QgdCA9IChjb2xUeXBlIHx8ICcnKS50b0xvd2VyQ2FzZSgpO1xyXG4gICAgaWYgKHQuaW5jbHVkZXMoJ251bWJlcicpIHx8IHQuaW5jbHVkZXMoJ2ludCcpIHx8IHQgPT09ICdsb25nJykgcmV0dXJuICdMb25nJztcclxuICAgIGlmICh0LmluY2x1ZGVzKCdkYXRlJykgfHwgdC5pbmNsdWRlcygndGltZScpKSByZXR1cm4gJ0RhdGUnO1xyXG4gICAgaWYgKHQuaW5jbHVkZXMoJ2Jvb2wnKSkgcmV0dXJuICdCb29sZWFuJztcclxuICAgIHJldHVybiAnU3RyaW5nJztcclxuICB9XHJcblxyXG4gIGlzRWRpdGFibGUoX2luZGV4PzogbnVtYmVyKSB7XHJcbiAgICByZXR1cm4gdHJ1ZTtcclxuICB9XHJcblxyXG5cclxuICBkZWxldGVBbGwoKSB7XHJcbiAgICB0aGlzLmZpbHRlciA9IHRoaXMuY3JlYXRlRGVmYXVsdEZpZWxkRmlsdGVyKCk7XHJcbiAgICB0aGlzLmZpbHRlcnMgPSB0aGlzLmZpbHRlckZpZWxkcyA/IHRoaXMuZmlsdGVyRmllbGRzLm1hcCgoKSA9PiB0aGlzLmNyZWF0ZURlZmF1bHRGaWVsZEZpbHRlcigpKSA6IFtdO1xyXG4gICAgdGhpcy5pc0VtcHR5LmVtaXQodHJ1ZSk7XHJcbiAgfVxyXG5cclxuXHJcbiAgc3dpdGNoVG9BZHZhbmNlZCgpIHtcclxuICAgIGlmICh0aGlzLmlzQ2hlY2tlZCkge1xyXG4gICAgICBpZiAoIXRoaXMuZmlsdGVyIHx8IE9iamVjdC5rZXlzKHRoaXMuZmlsdGVyKS5sZW5ndGggPT09IDApIHtcclxuICAgICAgICB0aGlzLmZpbHRlciA9IHRoaXMuY3JlYXRlRGVmYXVsdEZpZWxkRmlsdGVyKCk7XHJcbiAgICAgIH1cclxuICAgIH1cclxuICB9XHJcblxyXG5cclxuICBwcml2YXRlIGNyZWF0ZURlZmF1bHRGaWVsZEZpbHRlcigpOiBGaWVsZEZpbHRlciB7XHJcbiAgICByZXR1cm4ge1xyXG4gICAgICBmaWVsZE5hbWU6ICcnLFxyXG4gICAgICBvcGVyYXRvcjogJycsXHJcbiAgICAgIGZpbHRlclR5cGU6ICcnLFxyXG4gICAgICBmaWVsZFR5cGU6ICcnLFxyXG4gICAgICB2YWx1ZU9iamVjdDogJydcclxuICAgIH0gYXMgRmllbGRGaWx0ZXI7XHJcbiAgfVxyXG59XHJcbiIsIjxkaXYgY2xhc3M9XCJtYWluLWZpbHRlci1idWlsZGVyXCI+XHJcblxyXG4gIDwhLS0gRGVza3RvcCBWaWV3IC0tPlxyXG4gIDxkaXYgY2xhc3M9XCJmaWx0ZXJGb3JtIGRlc2t0b3Atdmlld1wiPlxyXG4gICAgPGRpdiBjbGFzcz1cImZpbHRlckZvcm1fX3Jvd1wiPlxyXG4gICAgICA8ZGl2IGNsYXNzPVwiZmlsdGVyRm9ybV9fY29sXCI+XHJcbiAgICAgICAgPGFwcC1maWVsZC1maWx0ZXJcclxuICAgICAgICAgIFtlZGl0YWJsZV09XCJpc0VkaXRhYmxlKClcIlxyXG4gICAgICAgICAgW2ZpbHRlcl09XCJmaWx0ZXJcIlxyXG4gICAgICAgICAgW3BhZ2VJbmZvXT1cInBhZ2VJbmZvXCJcclxuICAgICAgICAgICpuZ0lmPVwiaXNFZGl0YWJsZSgpXCJcclxuICAgICAgICAgIFtmaWx0ZXJGaWVsZHNdPVwiZmlsdGVyRmllbGRzXCJcclxuICAgICAgICAgIChmaWx0ZXJGaWVsZEluZm9ybWF0aW9uKT1cImZvcm1DaGFuZ2VzKCRldmVudClcIlxyXG4gICAgICAgICAgY2xhc3M9XCJmaWx0ZXJGb3JtX19maWxlZC1maWx0ZXJcIlxyXG4gICAgICAgID5cclxuICAgICAgICA8L2FwcC1maWVsZC1maWx0ZXI+XHJcbiAgICAgIDwvZGl2PlxyXG4gICAgICA8ZGl2IGNsYXNzPVwiYnV0dG9uLWdyb3VwXCI+XHJcbiAgICAgICAgPGJ1dHRvblxyXG4gICAgICAgICAgbWF0LWZsYXQtYnV0dG9uXHJcbiAgICAgICAgICBjbGFzcz1cImJ0bi1hcHBseS1maWx0ZXJcIlxyXG4gICAgICAgICAgKGNsaWNrKT1cIm9uQXBwbHlGaWx0ZXIoKVwiPlxyXG4gICAgICAgICAgPGRpdiBjbGFzcz1cImJ1dHRvbi10ZXh0XCI+XHJcbiAgICAgICAgICAgIDxtYXQtaWNvbj5maWx0ZXJfbGlzdDwvbWF0LWljb24+XHJcbiAgICAgICAgICAgIDxzcGFuPnt7ICdGSUxURVItQlVJTERFUi5hcHBseUZpbHRlcicgfCB0cmFuc2xhdGUgfX08L3NwYW4+XHJcbiAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICA8L2J1dHRvbj5cclxuICAgICAgPC9kaXY+XHJcbiAgICA8L2Rpdj5cclxuICA8L2Rpdj5cclxuXHJcbiAgPCEtLSBNb2JpbGUgVmlldyAtLT5cclxuICA8ZGl2IGNsYXNzPVwibW9iaWxlLXZpZXdcIj5cclxuICAgIDwhLS0gTW9iaWxlIFJvdyAxOiBTZWFyY2ggRmllbGQgYW5kIEV4cG9ydCBCdXR0b24gLS0+XHJcbiAgICA8ZGl2IGNsYXNzPVwibW9iaWxlLXNlYXJjaC1yb3dcIj5cclxuICAgICAgPGRpdiBjbGFzcz1cIm1vYmlsZS1zZWFyY2gtZmllbGRcIj5cclxuICAgICAgICA8YXBwLWZpZWxkLWZpbHRlclxyXG4gICAgICAgICAgW2VkaXRhYmxlXT1cImlzRWRpdGFibGUoKVwiXHJcbiAgICAgICAgICBbZmlsdGVyXT1cImZpbHRlclwiXHJcbiAgICAgICAgICBbcGFnZUluZm9dPVwicGFnZUluZm9cIlxyXG4gICAgICAgICAgKm5nSWY9XCJpc0VkaXRhYmxlKClcIlxyXG4gICAgICAgICAgW2ZpbHRlckZpZWxkc109XCJmaWx0ZXJGaWVsZHNcIlxyXG4gICAgICAgICAgKGZpbHRlckZpZWxkSW5mb3JtYXRpb24pPVwiZm9ybUNoYW5nZXMoJGV2ZW50KVwiXHJcbiAgICAgICAgICBjbGFzcz1cIm1vYmlsZS1maWVsZC1maWx0ZXJcIlxyXG4gICAgICAgID5cclxuICAgICAgICA8L2FwcC1maWVsZC1maWx0ZXI+XHJcbiAgICAgIDwvZGl2PlxyXG4gICAgICA8YnV0dG9uXHJcbiAgICAgICAgKm5nSWY9XCJzaG93RXhwb3J0QnV0dG9uXCJcclxuICAgICAgICBtYXQtZmxhdC1idXR0b25cclxuICAgICAgICBjbGFzcz1cImJ0bi1leHBvcnQtbW9iaWxlXCJcclxuICAgICAgICBbbWF0TWVudVRyaWdnZXJGb3JdPVwiZXhwb3J0TWVudVwiPlxyXG4gICAgICAgIDxkaXYgY2xhc3M9XCJidXR0b24tY29udGVudFwiPlxyXG4gICAgICAgICAgPG1hdC1pY29uPmZpbGVfZXhwb3J0PC9tYXQtaWNvbj5cclxuICAgICAgICAgIDxtYXQtaWNvbiBjbGFzcz1cImFycm93LWljb25cIj5rZXlib2FyZF9hcnJvd19kb3duPC9tYXQtaWNvbj5cclxuICAgICAgICA8L2Rpdj5cclxuICAgICAgPC9idXR0b24+XHJcbiAgICAgIDxtYXQtbWVudSAjZXhwb3J0TWVudT1cIm1hdE1lbnVcIj5cclxuICAgICAgICA8YnV0dG9uIG1hdC1tZW51LWl0ZW0gKGNsaWNrKT1cIm9uRXhwb3J0Q2xpY2soJ3BkZicpXCI+UERGPC9idXR0b24+XHJcbiAgICAgICAgPGJ1dHRvbiBtYXQtbWVudS1pdGVtIChjbGljayk9XCJvbkV4cG9ydENsaWNrKCd4bHN4JylcIj5FeGNlbDwvYnV0dG9uPlxyXG4gICAgICAgIDxidXR0b24gbWF0LW1lbnUtaXRlbSAoY2xpY2spPVwib25FeHBvcnRDbGljaygnY3N2JylcIj5DU1Y8L2J1dHRvbj5cclxuICAgICAgPC9tYXQtbWVudT5cclxuICAgIDwvZGl2PlxyXG5cclxuICAgIDwhLS0gTW9iaWxlIFJvdyAyOiBGaWx0ZXIgQnkgYW5kIFNvcnQgQnkgQnV0dG9ucyAtLT5cclxuICAgIDxkaXYgY2xhc3M9XCJtb2JpbGUtZmlsdGVyLXJvd1wiPlxyXG4gICAgICA8YnV0dG9uXHJcbiAgICAgICAgbWF0LWZsYXQtYnV0dG9uXHJcbiAgICAgICAgY2xhc3M9XCJidG4tZmlsdGVyLWJ5XCJcclxuICAgICAgICAoY2xpY2spPVwib25BcHBseUZpbHRlcigpXCI+XHJcbiAgICAgICAgPGRpdiBjbGFzcz1cImJ1dHRvbi1jb250ZW50XCI+XHJcbiAgICAgICAgICA8bWF0LWljb24+ZmlsdGVyX2xpc3Q8L21hdC1pY29uPlxyXG4gICAgICAgICAgPHNwYW4+e3sgJ0ZJTFRFUi1CVUlMREVSLmZpbHRlckJ5JyB8IHRyYW5zbGF0ZSB9fTwvc3Bhbj5cclxuICAgICAgICA8L2Rpdj5cclxuICAgICAgPC9idXR0b24+XHJcbiAgICAgIDxidXR0b25cclxuICAgICAgICBtYXQtZmxhdC1idXR0b25cclxuICAgICAgICBjbGFzcz1cImJ0bi1zb3J0LWJ5XCJcclxuICAgICAgICBbbWF0TWVudVRyaWdnZXJGb3JdPVwic29ydE1lbnVcIj5cclxuICAgICAgICA8ZGl2IGNsYXNzPVwiYnV0dG9uLWNvbnRlbnRcIj5cclxuICAgICAgICAgIDxtYXQtaWNvbj51bmZvbGRfbW9yZTwvbWF0LWljb24+XHJcbiAgICAgICAgICA8c3Bhbj57eyAnRklMVEVSLUJVSUxERVIuc29ydEJ5JyB8IHRyYW5zbGF0ZSB9fTwvc3Bhbj5cclxuICAgICAgICAgIDxtYXQtaWNvbiBjbGFzcz1cImFycm93LWljb25cIj5rZXlib2FyZF9hcnJvd19kb3duPC9tYXQtaWNvbj5cclxuICAgICAgICA8L2Rpdj5cclxuICAgICAgPC9idXR0b24+XHJcbiAgICAgIDxtYXQtbWVudSAjc29ydE1lbnU9XCJtYXRNZW51XCI+XHJcbiAgICAgICAgPGJ1dHRvbiBcclxuICAgICAgICAgICpuZ0Zvcj1cImxldCBjb2x1bW4gb2YgZ2V0U29ydGFibGVDb2x1bW5zKClcIiBcclxuICAgICAgICAgIG1hdC1tZW51LWl0ZW0gXHJcbiAgICAgICAgICAoY2xpY2spPVwib25Tb3J0QnlDbGljayhjb2x1bW4ucHJvcGVydHkpXCI+XHJcbiAgICAgICAgICB7eyBsYWJlbEtleShjb2x1bW4pIHwgdHJhbnNsYXRlIH19XHJcbiAgICAgICAgPC9idXR0b24+XHJcbiAgICAgICAgPGJ1dHRvbiBcclxuICAgICAgICAgICpuZ0lmPVwiZ2V0U29ydGFibGVDb2x1bW5zKCkubGVuZ3RoID09PSAwXCIgXHJcbiAgICAgICAgICBtYXQtbWVudS1pdGVtIFxyXG4gICAgICAgICAgZGlzYWJsZWQ+XHJcbiAgICAgICAgICB7eyAnRklMVEVSLUJVSUxERVIubm9Tb3J0YWJsZUNvbHVtbnMnIHwgdHJhbnNsYXRlIH19XHJcbiAgICAgICAgPC9idXR0b24+XHJcbiAgICAgIDwvbWF0LW1lbnU+XHJcbiAgICA8L2Rpdj5cclxuICA8L2Rpdj5cclxuXHJcbjwhLS0gIDxkaXYgKm5nSWY9XCJjaGVja0lzRW1wdHkoKVwiIGNsYXNzPVwibGluZS10b3BcIj4tLT5cclxuPCEtLSAgICA8bWF0LWRpdmlkZXI+PC9tYXQtZGl2aWRlcj4tLT5cclxuPCEtLSAgPC9kaXY+LS0+XHJcblxyXG48IS0tICA8ZGl2IGNsYXNzPVwibGluZS1ib3R0b21cIj4tLT5cclxuPCEtLSAgICA8bWF0LWRpdmlkZXI+PC9tYXQtZGl2aWRlcj4tLT5cclxuPCEtLSAgPC9kaXY+LS0+XHJcblxyXG48IS0tICA8ZGl2IGNsYXNzPVwiYWN0aW9uXCI+LS0+XHJcbjwhLS0gICAgPGJ1dHRvbiBjbGFzcz1cImJ0bi1ub25lLWJhY2tncm91bmQtcHJpbWFyeSBhY3Rpb25fX2NsZWFyXCIgbWF0LWJ1dHRvbiAoY2xpY2spPVwiZGVsZXRlQWxsKClcIj4tLT5cclxuPCEtLSAgICAgIHt7J0ZJTFRFUi1CVUlMREVSLmNsZWFyQWxsRmlsdGVycycgfCB0cmFuc2xhdGV9fS0tPlxyXG48IS0tICAgIDwvYnV0dG9uPi0tPlxyXG48IS0tICAgIDxidXR0b24gY2xhc3M9XCJidG4tYmFja2dyb3VuZC1wcmltYXJ5XCIgbWF0LWJ1dHRvbiAoY2xpY2spPVwiZG9TZWFyY2goKVwiPi0tPlxyXG48IS0tICAgICAge3snRklMVEVSLUJVSUxERVIuc2VhcmNoJyB8IHRyYW5zbGF0ZX19LS0+XHJcbjwhLS0gICAgPC9idXR0b24+LS0+XHJcbjwhLS0gIDwvZGl2Pi0tPlxyXG48L2Rpdj5cclxuIl19
|
|
288
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmlsdGVyLWJ1aWxkZXIuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvaW52b2ljZXEvdWktbGliL3NyYy9saWIvY29tcG9uZW50cy9hZHZhbmNlZC1maWx0ZXIvZmlsdGVyLWJ1aWxkZXIvZmlsdGVyLWJ1aWxkZXIuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvaW52b2ljZXEvdWktbGliL3NyYy9saWIvY29tcG9uZW50cy9hZHZhbmNlZC1maWx0ZXIvZmlsdGVyLWJ1aWxkZXIvZmlsdGVyLWJ1aWxkZXIuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFDLFNBQVMsRUFBRSxZQUFZLEVBQUUsWUFBWSxFQUFFLEtBQUssRUFBcUIsTUFBTSxFQUFDLE1BQU0sZUFBZSxDQUFDO0FBQ3RHLE9BQU8sRUFBQyxZQUFZLEVBQUUsVUFBVSxFQUFFLE9BQU8sRUFBQyxNQUFNLGlCQUFpQixDQUFDO0FBR2xFLE9BQU8sRUFBQyxvQkFBb0IsRUFBQyxNQUFNLHdDQUF3QyxDQUFDO0FBQzVFLE9BQU8sRUFBQyxlQUFlLEVBQUMsTUFBTSxxQkFBcUIsQ0FBQztBQUNwRCxPQUFPLEVBQUMsZUFBZSxFQUFDLE1BQU0sMEJBQTBCLENBQUM7QUFDekQsT0FBTyxFQUFDLE9BQU8sRUFBQyxNQUFNLHdCQUF3QixDQUFDO0FBQy9DLE9BQU8sRUFBQyxPQUFPLEVBQUUsV0FBVyxFQUFFLGNBQWMsRUFBQyxNQUFNLHdCQUF3QixDQUFDOzs7OztBQW1CNUUsTUFBTSxPQUFPLHNCQUFzQjtJQXNDakM7UUExQkEsbUJBQWMsR0FBa0IsRUFBRSxDQUFDO1FBR25DLHFCQUFnQixHQUFZLEtBQUssQ0FBQztRQUdsQyxZQUFPLEdBQWtCLEVBQUUsQ0FBQztRQU01QixzQkFBaUIsR0FBZ0UsSUFBSSxZQUFZLEVBQWlELENBQUM7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QUFzQixnZUMzQm5DLCtzSUF1SEEsa3ZiRHhHSSxZQUFZLGdRQUNaLG9CQUFvQixzTEFDcEIsZUFBZSwyRkFDZixlQUFlLDROQUNmLE9BQU8sMklBQ1AsT0FBTywyUUFDUCxXQUFXLHNJQUNYLGNBQWM7OzRGQUtMLHNCQUFzQjtrQkFqQmxDLFNBQVM7K0JBQ0Usb0JBQW9CLGNBRWxCLElBQUksV0FDUDt3QkFDUCxZQUFZO3dCQUNaLG9CQUFvQjt3QkFDcEIsZUFBZTt3QkFDZixlQUFlO3dCQUNmLE9BQU87d0JBQ1AsT0FBTzt3QkFDUCxXQUFXO3dCQUNYLGNBQWM7d0JBQ2QsT0FBTztxQkFDUjt3REFNRCxPQUFPO3NCQUROLEtBQUs7Z0JBSU4sU0FBUztzQkFEVixLQUFLO2dCQUdKLFlBQVk7c0JBRFgsS0FBSztnQkFHTixRQUFRO3NCQURQLEtBQUs7Z0JBR04sY0FBYztzQkFEYixLQUFLO2dCQUlOLGdCQUFnQjtzQkFEZixLQUFLO2dCQVVOLGlCQUFpQjtzQkFEaEIsTUFBTTtnQkFJUCxPQUFPO3NCQUROLE1BQU07Z0JBSVAsV0FBVztzQkFEVixNQUFNO2dCQUlQLGFBQWE7c0JBRFosTUFBTTtnQkFJUCxhQUFhO3NCQURaLE1BQU07Z0JBZ0VQLFNBQVM7c0JBRFIsWUFBWTt1QkFBQyxTQUFTLEVBQUUsQ0FBQyxRQUFRLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge0NvbXBvbmVudCwgRXZlbnRFbWl0dGVyLCBIb3N0TGlzdGVuZXIsIElucHV0LCBPbkRlc3Ryb3ksIE9uSW5pdCwgT3V0cHV0fSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHtDb21tb25Nb2R1bGUsIGZvcm1hdERhdGUsIE5nRm9yT2Z9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XHJcbmltcG9ydCB7RmllbGRJbmZvLCBQYWdlSW5mbywgVGFibGVDb2x1bW59IGZyb20gXCIuLi8uLi8uLi9iYXNlLW1vZGVsXCI7XHJcbmltcG9ydCB7RmllbGRGaWx0ZXJ9IGZyb20gXCIuLi8uLi8uLi9iYXNlLW1vZGVsL2ZpZWxkLWZpbHRlci5tb2RlbFwiO1xyXG5pbXBvcnQge0ZpZWxkRmlsdGVyQ29tcG9uZW50fSBmcm9tIFwiLi4vZmllbGQtZmlsdGVyL2ZpZWxkLWZpbHRlci5jb21wb25lbnRcIjtcclxuaW1wb3J0IHtUcmFuc2xhdGVNb2R1bGV9IGZyb20gXCJAbmd4LXRyYW5zbGF0ZS9jb3JlXCI7XHJcbmltcG9ydCB7TWF0QnV0dG9uTW9kdWxlfSBmcm9tIFwiQGFuZ3VsYXIvbWF0ZXJpYWwvYnV0dG9uXCI7XHJcbmltcG9ydCB7TWF0SWNvbn0gZnJvbSBcIkBhbmd1bGFyL21hdGVyaWFsL2ljb25cIjtcclxuaW1wb3J0IHtNYXRNZW51LCBNYXRNZW51SXRlbSwgTWF0TWVudVRyaWdnZXJ9IGZyb20gXCJAYW5ndWxhci9tYXRlcmlhbC9tZW51XCI7XHJcblxyXG5AQ29tcG9uZW50KHtcclxuICBzZWxlY3RvcjogJ2FwcC1maWx0ZXItYnVpbGRlcicsXHJcbiAgdGVtcGxhdGVVcmw6ICcuL2ZpbHRlci1idWlsZGVyLmNvbXBvbmVudC5odG1sJyxcclxuICBzdGFuZGFsb25lOiB0cnVlLFxyXG4gIGltcG9ydHM6IFtcclxuICAgIENvbW1vbk1vZHVsZSxcclxuICAgIEZpZWxkRmlsdGVyQ29tcG9uZW50LFxyXG4gICAgVHJhbnNsYXRlTW9kdWxlLFxyXG4gICAgTWF0QnV0dG9uTW9kdWxlLFxyXG4gICAgTWF0SWNvbixcclxuICAgIE1hdE1lbnUsXHJcbiAgICBNYXRNZW51SXRlbSxcclxuICAgIE1hdE1lbnVUcmlnZ2VyLFxyXG4gICAgTmdGb3JPZlxyXG4gIF0sXHJcbiAgc3R5bGVVcmxzOiBbJy4vZmlsdGVyLWJ1aWxkZXIuY29tcG9uZW50LnNjc3MnXVxyXG59KVxyXG5leHBvcnQgY2xhc3MgRmlsdGVyQnVpbGRlckNvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCwgT25EZXN0cm95IHtcclxuXHJcbiAgQElucHV0KClcclxuICBjb2x1bW5zOiBUYWJsZUNvbHVtbjxhbnk+W107XHJcblxyXG5ASW5wdXQoKVxyXG4gIGlzQ2hlY2tlZDogYm9vbGVhbjtcclxuICBASW5wdXQoKVxyXG4gIGZpbHRlckZpZWxkczogRmllbGRJbmZvW107XHJcbiAgQElucHV0KClcclxuICBwYWdlSW5mbzogUGFnZUluZm87XHJcbiAgQElucHV0KClcclxuICBwZW5kaW5nRmlsdGVyczogRmllbGRGaWx0ZXJbXSA9IFtdO1xyXG5cclxuICBASW5wdXQoKVxyXG4gIHNob3dFeHBvcnRCdXR0b246IGJvb2xlYW4gPSBmYWxzZTtcclxuXHJcbiAgZmlsdGVyOiBGaWVsZEZpbHRlcjtcclxuICBmaWx0ZXJzOiBGaWVsZEZpbHRlcltdID0gW107XHJcblxyXG4gIHByaXZhdGUgc2VhcmNoVGltZW91dDogYW55O1xyXG4gIHByaXZhdGUgYXV0b0FwcGx5VGltZW91dDogYW55O1xyXG5cclxuICBAT3V0cHV0KClcclxuICBmaWx0ZXJJbmZvcm1hdGlvbjogRXZlbnRFbWl0dGVyPHsgZmlsdGVyczogRmllbGRGaWx0ZXJbXSwgc2VhcmNoU3RyOiBzdHJpbmcgfT4gPSBuZXcgRXZlbnRFbWl0dGVyPHsgZmlsdGVyczogRmllbGRGaWx0ZXJbXSwgc2VhcmNoU3RyOiBzdHJpbmcgfT4oKTtcclxuXHJcbiAgQE91dHB1dCgpXHJcbiAgaXNFbXB0eTogRXZlbnRFbWl0dGVyPGJvb2xlYW4+ID0gbmV3IEV2ZW50RW1pdHRlcjxib29sZWFuPigpO1xyXG5cclxuICBAT3V0cHV0KClcclxuICBhcHBseUZpbHRlcjogRXZlbnRFbWl0dGVyPHZvaWQ+ID0gbmV3IEV2ZW50RW1pdHRlcjx2b2lkPigpO1xyXG5cclxuICBAT3V0cHV0KClcclxuICBzb3J0QnlDbGlja2VkOiBFdmVudEVtaXR0ZXI8c3RyaW5nPiA9IG5ldyBFdmVudEVtaXR0ZXI8c3RyaW5nPigpO1xyXG5cclxuICBAT3V0cHV0KClcclxuICBleHBvcnRDbGlja2VkOiBFdmVudEVtaXR0ZXI8c3RyaW5nPiA9IG5ldyBFdmVudEVtaXR0ZXI8c3RyaW5nPigpO1xyXG5cclxuICBjb25zdHJ1Y3RvcigpIHtcclxuICB9XHJcblxyXG4gIGlzTW9iaWxlKCk6IGJvb2xlYW4ge1xyXG4gICAgcmV0dXJuIHR5cGVvZiB3aW5kb3cgIT09ICd1bmRlZmluZWQnICYmIHdpbmRvdy5pbm5lcldpZHRoIDw9IDc2ODtcclxuICB9XHJcblxyXG4gIGdldFNvcnRhYmxlQ29sdW1ucygpOiBUYWJsZUNvbHVtbjxhbnk+W10ge1xyXG4gICAgaWYgKCF0aGlzLmNvbHVtbnMpIHtcclxuICAgICAgcmV0dXJuIFtdO1xyXG4gICAgfVxyXG4gICAgcmV0dXJuIHRoaXMuY29sdW1ucy5maWx0ZXIoY29sdW1uID0+XHJcbiAgICAgIGNvbHVtbi52aXNpYmxlID09PSB0cnVlICYmIGNvbHVtbi5lbmFibGVTb3J0aW5nID09PSB0cnVlXHJcbiAgICApO1xyXG4gIH1cclxuXHJcbiAgbGFiZWxLZXkoY29sdW1uOiBUYWJsZUNvbHVtbjxhbnk+KTogc3RyaW5nIHtcclxuICAgIGlmICghY29sdW1uIHx8ICFjb2x1bW4ucHJvcGVydHkpIHtcclxuICAgICAgcmV0dXJuICcnO1xyXG4gICAgfVxyXG4gICAgY29uc3QgY29uZmlndXJlZEtleSA9IGNvbHVtbi5sYWJlbCA/IGNvbHVtbi5sYWJlbCA6IGNvbHVtbi5wcm9wZXJ0eTtcclxuICAgIGlmICghdGhpcy5wYWdlSW5mbyB8fCAhdGhpcy5wYWdlSW5mby5sYWJlbHNTZWN0aW9uKSB7XHJcbiAgICAgIHJldHVybiBjb25maWd1cmVkS2V5O1xyXG4gICAgfVxyXG4gICAgcmV0dXJuIGNvbmZpZ3VyZWRLZXkuc3RhcnRzV2l0aCh0aGlzLnBhZ2VJbmZvLmxhYmVsc1NlY3Rpb24pXHJcbiAgICAgID8gYCR7Y29uZmlndXJlZEtleX1gXHJcbiAgICAgIDogYCR7dGhpcy5wYWdlSW5mby5sYWJlbHNTZWN0aW9ufS4ke2NvbmZpZ3VyZWRLZXl9YDtcclxuICB9XHJcblxyXG4gIG9uU29ydEJ5Q2xpY2soY29sdW1uUHJvcGVydHk6IHN0cmluZyk6IHZvaWQge1xyXG4gICAgdGhpcy5zb3J0QnlDbGlja2VkLmVtaXQoY29sdW1uUHJvcGVydHkpO1xyXG4gIH1cclxuXHJcbiAgb25FeHBvcnRDbGljayhyZXBvcnRUeXBlOiBzdHJpbmcpOiB2b2lkIHtcclxuICAgIHRoaXMuZXhwb3J0Q2xpY2tlZC5lbWl0KHJlcG9ydFR5cGUpO1xyXG4gIH1cclxuXHJcbiAgbmdPbkluaXQoKTogdm9pZCB7XHJcblxyXG5cclxuICAgIHRoaXMuc3dpdGNoVG9BZHZhbmNlZCgpO1xyXG4gICAgaWYgKCF0aGlzLmZpbHRlcikge1xyXG4gICAgICB0aGlzLmZpbHRlciA9IHRoaXMuY3JlYXRlRGVmYXVsdEZpZWxkRmlsdGVyKCk7XHJcbiAgICB9XHJcbiAgICBpZiAodGhpcy5maWx0ZXJGaWVsZHMgJiYgdGhpcy5maWx0ZXJGaWVsZHMubGVuZ3RoKSB7XHJcbiAgICAgIHRoaXMuZmlsdGVycyA9IHRoaXMuZmlsdGVyRmllbGRzLm1hcCgoKSA9PiB0aGlzLmNyZWF0ZURlZmF1bHRGaWVsZEZpbHRlcigpKTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIG5nT25EZXN0cm95KCk6IHZvaWQge1xyXG4gICAgaWYgKHRoaXMuc2VhcmNoVGltZW91dCkge1xyXG4gICAgICBjbGVhclRpbWVvdXQodGhpcy5zZWFyY2hUaW1lb3V0KTtcclxuICAgICAgdGhpcy5zZWFyY2hUaW1lb3V0ID0gbnVsbDtcclxuICAgIH1cclxuICAgIGlmICh0aGlzLmF1dG9BcHBseVRpbWVvdXQpIHtcclxuICAgICAgY2xlYXJUaW1lb3V0KHRoaXMuYXV0b0FwcGx5VGltZW91dCk7XHJcbiAgICAgIHRoaXMuYXV0b0FwcGx5VGltZW91dCA9IG51bGw7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBASG9zdExpc3RlbmVyKCdrZXlkb3duJywgWyckZXZlbnQnXSlcclxuICBvbktleURvd24oZXZlbnQ6IEtleWJvYXJkRXZlbnQpOiB2b2lkIHtcclxuICAgIGlmIChldmVudC5rZXkgPT09ICdFbnRlcicgJiYgIWV2ZW50LnNoaWZ0S2V5ICYmICFldmVudC5jdHJsS2V5ICYmICFldmVudC5tZXRhS2V5KSB7XHJcbiAgICAgIGNvbnN0IHRhcmdldCA9IGV2ZW50LnRhcmdldCBhcyBIVE1MRWxlbWVudDtcclxuICAgICAgY29uc3QgaXNJbnB1dEVsZW1lbnQgPSB0YXJnZXQudGFnTmFtZSA9PT0gJ0lOUFVUJyB8fFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgdGFyZ2V0LnRhZ05hbWUgPT09ICdURVhUQVJFQScgfHxcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRhcmdldC50YWdOYW1lID09PSAnU0VMRUNUJyB8fFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgdGFyZ2V0LmlzQ29udGVudEVkaXRhYmxlO1xyXG5cclxuICAgICAgaWYgKGlzSW5wdXRFbGVtZW50KSB7XHJcbiAgICAgICAgZXZlbnQucHJldmVudERlZmF1bHQoKTtcclxuICAgICAgICBldmVudC5zdG9wUHJvcGFnYXRpb24oKTtcclxuICAgICAgICBpZiAodGhpcy5zZWFyY2hUaW1lb3V0KSB7XHJcbiAgICAgICAgICBjbGVhclRpbWVvdXQodGhpcy5zZWFyY2hUaW1lb3V0KTtcclxuICAgICAgICAgIHRoaXMuc2VhcmNoVGltZW91dCA9IG51bGw7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIHNldFRpbWVvdXQoKCkgPT4ge1xyXG4gICAgICAgICAgdGhpcy5kb1NlYXJjaCgpO1xyXG4gICAgICAgICAgdGhpcy5vbkFwcGx5RmlsdGVyKCk7XHJcbiAgICAgICAgfSwgMCk7XHJcbiAgICAgICAgcmV0dXJuO1xyXG4gICAgICB9XHJcbiAgICAgIHRoaXMub25BcHBseUZpbHRlcigpO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcblxyXG4gIGRvU2VhcmNoKCkge1xyXG4gICAgbGV0IHNlYXJjaFN0ciA9ICcnO1xyXG4gICAgY29uc3QgZmlsdGVyc0FycmF5ID0gKHRoaXMuZmlsdGVycyB8fCBbXSlcclxuICAgICAgLmZpbHRlcihmID0+ICEhZiAmJiBmLmZpZWxkTmFtZSAmJiBmLnZhbHVlT2JqZWN0ICE9PSB1bmRlZmluZWQgJiYgZi52YWx1ZU9iamVjdCAhPT0gbnVsbCAmJiBmLnZhbHVlT2JqZWN0ICE9PSAnJylcclxuICAgICAgLm1hcChmID0+IHtcclxuICAgICAgICBjb25zdCBmaWVsZEluZm8gPSB0aGlzLmZpbHRlckZpZWxkcz8uZmluZChmaWVsZCA9PiBmaWVsZC5wcm9wZXJ0eSA9PT0gZi5maWVsZE5hbWUpO1xyXG4gICAgICAgIGlmIChmaWVsZEluZm8/Lm11bHRpTGV2ZWxTZWFyY2hFbmFibGUgJiYgZi52YWx1ZU9iamVjdCkge1xyXG4gICAgICAgICAgc2VhcmNoU3RyID0gZi52YWx1ZU9iamVjdDtcclxuICAgICAgICAgIHJldHVybiBudWxsO1xyXG4gICAgICAgIH1cclxuICAgICAgICByZXR1cm4gey4uLmZ9O1xyXG4gICAgICB9KVxyXG4gICAgICAuZmlsdGVyKGYgPT4gZiAhPT0gbnVsbCk7XHJcblxyXG4gICAgdGhpcy5maWx0ZXJJbmZvcm1hdGlvbi5lbWl0KHsgZmlsdGVyczogZmlsdGVyc0FycmF5LCBzZWFyY2hTdHIgfSk7XHJcbiAgfVxyXG5cclxuICBvbkFwcGx5RmlsdGVyKCk6IHZvaWQge1xyXG4gICAgaWYgKHRoaXMuYXV0b0FwcGx5VGltZW91dCkge1xyXG4gICAgICBjbGVhclRpbWVvdXQodGhpcy5hdXRvQXBwbHlUaW1lb3V0KTtcclxuICAgICAgdGhpcy5hdXRvQXBwbHlUaW1lb3V0ID0gbnVsbDtcclxuICAgIH1cclxuICAgIHNldFRpbWVvdXQoKCkgPT4ge1xyXG4gICAgICB0aGlzLmRvU2VhcmNoKCk7XHJcbiAgICAgIHRoaXMuYXBwbHlGaWx0ZXIuZW1pdCgpO1xyXG4gICAgfSwgMCk7XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIHNjaGVkdWxlQXV0b0FwcGx5KCk6IHZvaWQge1xyXG4gICAgaWYgKHRoaXMuYXV0b0FwcGx5VGltZW91dCkge1xyXG4gICAgICBjbGVhclRpbWVvdXQodGhpcy5hdXRvQXBwbHlUaW1lb3V0KTtcclxuICAgICAgdGhpcy5hdXRvQXBwbHlUaW1lb3V0ID0gbnVsbDtcclxuICAgIH1cclxuICAgIHRoaXMuYXV0b0FwcGx5VGltZW91dCA9IHNldFRpbWVvdXQoKCkgPT4ge1xyXG4gICAgICB0aGlzLm9uQXBwbHlGaWx0ZXIoKTtcclxuICAgICAgdGhpcy5hdXRvQXBwbHlUaW1lb3V0ID0gbnVsbDtcclxuICAgIH0sIDEwMDAwKTtcclxuICB9XHJcblxyXG4gIHByaXZhdGUgc2NoZWR1bGVTZWFyY2goZGVsYXlNczogbnVtYmVyID0gODAwKSB7XHJcbiAgICBpZiAodGhpcy5zZWFyY2hUaW1lb3V0KSB7XHJcbiAgICAgIGNsZWFyVGltZW91dCh0aGlzLnNlYXJjaFRpbWVvdXQpO1xyXG4gICAgfVxyXG4gICAgdGhpcy5zZWFyY2hUaW1lb3V0ID0gc2V0VGltZW91dCgoKSA9PiB7XHJcbiAgICAgIHRoaXMuZG9TZWFyY2goKTtcclxuICAgIH0sIGRlbGF5TXMpO1xyXG4gIH1cclxuXHJcbiAgZm9ybUNoYW5nZXMoJGV2ZW50OiBhbnksIGluZGV4PzogbnVtYmVyLCBmaWVsZEluZm8/OiBGaWVsZEluZm8pIHtcclxuICAgIGlmICh0aGlzLmF1dG9BcHBseVRpbWVvdXQpIHtcclxuICAgICAgY2xlYXJUaW1lb3V0KHRoaXMuYXV0b0FwcGx5VGltZW91dCk7XHJcbiAgICAgIHRoaXMuYXV0b0FwcGx5VGltZW91dCA9IG51bGw7XHJcbiAgICB9XHJcblxyXG4gICAgY29uc3QgZm9ybWF0SWZEYXRlID0gKHR5cGU/OiBzdHJpbmcsIHZhbHVlPzogYW55KSA9PiB7XHJcbiAgICAgIGlmICghdHlwZSB8fCB2YWx1ZSA9PT0gdW5kZWZpbmVkIHx8IHZhbHVlID09PSBudWxsIHx8IHZhbHVlID09PSAnJykgcmV0dXJuIHZhbHVlO1xyXG4gICAgICBpZiAoKHR5cGUgfHwgJycpLnRvTG93ZXJDYXNlKCkuaW5jbHVkZXMoJ2RhdGUnKSkge1xyXG4gICAgICAgIHJldHVybiBmb3JtYXREYXRlKHZhbHVlLCAneXl5eS1NTS1kZCcsICdlbl9VUycpO1xyXG4gICAgICB9XHJcbiAgICAgIHJldHVybiB2YWx1ZTtcclxuICAgIH07XHJcblxyXG4gICAgaWYgKGluZGV4ID09PSB1bmRlZmluZWQgfHwgIWZpZWxkSW5mbykge1xyXG4gICAgICBpZiAoIXRoaXMuZmlsdGVyRmllbGRzIHx8ICF0aGlzLmZpbHRlckZpZWxkcy5sZW5ndGgpIHtcclxuICAgICAgICB0aGlzLmZpbHRlcnMgPSBbXTtcclxuICAgICAgICB0aGlzLmRvU2VhcmNoKCk7XHJcbiAgICAgICAgcmV0dXJuO1xyXG4gICAgICB9XHJcblxyXG4gICAgICB0aGlzLmZpbHRlcnMgPSB0aGlzLmZpbHRlckZpZWxkcy5tYXAoKGZpKSA9PiB7XHJcbiAgICAgICAgY29uc3QgY29udHJvbE5hbWUgPSBmaS5wcm9wZXJ0eTtcclxuICAgICAgICBsZXQgdmFsdWUgPSAkZXZlbnQgPyAkZXZlbnRbY29udHJvbE5hbWVdIDogdW5kZWZpbmVkO1xyXG4gICAgICAgIGlmICh2YWx1ZSA9PT0gdW5kZWZpbmVkIHx8IHZhbHVlID09PSBudWxsIHx8IHZhbHVlID09PSAnJykge1xyXG4gICAgICAgICAgcmV0dXJuIHRoaXMuY3JlYXRlRGVmYXVsdEZpZWxkRmlsdGVyKCk7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGNvbnN0IGZpZWxkTmFtZSA9IGNvbnRyb2xOYW1lID09PSAnZnJvbScgfHwgY29udHJvbE5hbWUgPT09ICd0bycgPyAgZmkudGFyZ2V0UHJvcGVydHkgOiBjb250cm9sTmFtZTtcclxuXHJcbiAgICAgICAgcmV0dXJuIHtcclxuICAgICAgICAgIGZpZWxkTmFtZTogZmllbGROYW1lLFxyXG4gICAgICAgICAgb3BlcmF0b3I6IGZpLmZpbHRlck9wZXJhdG9yIHx8ICdFUVVBTFMnLFxyXG4gICAgICAgICAgZmlsdGVyVHlwZTogJ0ZJTEVEX0ZJTFRFUicsXHJcbiAgICAgICAgICBmaWVsZFR5cGU6IHRoaXMudHlwZU1hcChmaS50eXBlKSBhcyBhbnksXHJcbiAgICAgICAgICB2YWx1ZU9iamVjdDogZm9ybWF0SWZEYXRlKGZpLnR5cGUsIHZhbHVlKSBhcyBhbnlcclxuICAgICAgICB9IGFzIEZpZWxkRmlsdGVyO1xyXG4gICAgICB9KTtcclxuXHJcbiAgICAgIGNvbnN0IGhhc1RleHRGaWVsZCA9ICh0aGlzLmZpbHRlckZpZWxkcyB8fCBbXSkuc29tZShmaSA9PiAoKGZpLnR5cGUgfHwgJycpLnRvTG93ZXJDYXNlKCkgPT09ICd0ZXh0JykpO1xyXG4gICAgICBpZiAoaGFzVGV4dEZpZWxkKSB7XHJcbiAgICAgICAgdGhpcy5zY2hlZHVsZVNlYXJjaCgpO1xyXG4gICAgICB9IGVsc2Uge1xyXG4gICAgICAgIHRoaXMuZG9TZWFyY2goKTtcclxuICAgICAgfVxyXG4gICAgICB0aGlzLnNjaGVkdWxlQXV0b0FwcGx5KCk7XHJcbiAgICAgIHJldHVybjtcclxuICAgIH1cclxuXHJcbiAgICBpZiAoIXRoaXMuZmlsdGVycykge1xyXG4gICAgICB0aGlzLmZpbHRlcnMgPSBbXTtcclxuICAgIH1cclxuICAgIGlmICh0aGlzLmZpbHRlcnMubGVuZ3RoIDwgaW5kZXggKyAxKSB7XHJcbiAgICAgIHRoaXMuZmlsdGVycy5sZW5ndGggPSBpbmRleCArIDE7XHJcbiAgICB9XHJcblxyXG4gICAgbGV0IGNvbnRyb2xOYW1lID0gZmllbGRJbmZvLnByb3BlcnR5O1xyXG4gICAgbGV0IHZhbHVlID0gJGV2ZW50ID8gJGV2ZW50W2NvbnRyb2xOYW1lXSA6IHVuZGVmaW5lZDtcclxuICAgIGlmICgkZXZlbnQgJiYgJGV2ZW50LmZpbHRlckZpZWxkICE9PSB1bmRlZmluZWQgJiYgJGV2ZW50LmZyb21WYWx1ZSAhPT0gdW5kZWZpbmVkKSB7XHJcbiAgICAgIGNvbnRyb2xOYW1lID0gJGV2ZW50LmZpbHRlckZpZWxkIHx8IGNvbnRyb2xOYW1lO1xyXG4gICAgICB2YWx1ZSA9ICRldmVudC5mcm9tVmFsdWU7XHJcbiAgICB9XHJcblxyXG4gICAgaWYgKHZhbHVlID09PSB1bmRlZmluZWQgfHwgdmFsdWUgPT09IG51bGwgfHwgdmFsdWUgPT09ICcnKSB7XHJcbiAgICAgIHRoaXMuZmlsdGVyc1tpbmRleF0gPSB0aGlzLmNyZWF0ZURlZmF1bHRGaWVsZEZpbHRlcigpO1xyXG4gICAgfSBlbHNlIHtcclxuICAgICAgdGhpcy5maWx0ZXJzW2luZGV4XSA9IHtcclxuICAgICAgICBmaWVsZE5hbWU6IGNvbnRyb2xOYW1lLFxyXG4gICAgICAgIG9wZXJhdG9yOiAgZmllbGRJbmZvLmZpbHRlck9wZXJhdG9yIHx8ICdFUVVBTFMnLFxyXG4gICAgICAgIGZpbHRlclR5cGU6ICdGSUxFRF9GSUxURVInLFxyXG4gICAgICAgIGZpZWxkVHlwZTogdGhpcy50eXBlTWFwKGZpZWxkSW5mby50eXBlKSBhcyBhbnksXHJcbiAgICAgICAgdmFsdWVPYmplY3Q6IGZvcm1hdElmRGF0ZShmaWVsZEluZm8udHlwZSwgdmFsdWUpIGFzIGFueVxyXG4gICAgICB9IGFzIEZpZWxkRmlsdGVyO1xyXG4gICAgfVxyXG4gICAgY29uc3QgaXNUZXh0RmllbGQgPSAoKGZpZWxkSW5mby50eXBlIHx8ICcnKS50b0xvd2VyQ2FzZSgpID09PSAndGV4dCcpO1xyXG4gICAgaWYgKGlzVGV4dEZpZWxkKSB7XHJcbiAgICAgIHRoaXMuc2NoZWR1bGVTZWFyY2goKTtcclxuICAgIH0gZWxzZSB7XHJcbiAgICAgIHRoaXMuZG9TZWFyY2goKTtcclxuICAgIH1cclxuICAgIHRoaXMuc2NoZWR1bGVBdXRvQXBwbHkoKTtcclxuICB9XHJcbiAgdHlwZU1hcChjb2xUeXBlPzogc3RyaW5nKTogc3RyaW5nIHtcclxuICAgIGNvbnN0IHQgPSAoY29sVHlwZSB8fCAnJykudG9Mb3dlckNhc2UoKTtcclxuICAgIGlmICh0LmluY2x1ZGVzKCdudW1iZXInKSB8fCB0LmluY2x1ZGVzKCdpbnQnKSB8fCB0ID09PSAnbG9uZycpIHJldHVybiAnTG9uZyc7XHJcbiAgICBpZiAodC5pbmNsdWRlcygnZGF0ZScpIHx8IHQuaW5jbHVkZXMoJ3RpbWUnKSkgcmV0dXJuICdEYXRlJztcclxuICAgIGlmICh0LmluY2x1ZGVzKCdib29sJykpIHJldHVybiAnQm9vbGVhbic7XHJcbiAgICByZXR1cm4gJ1N0cmluZyc7XHJcbiAgfVxyXG5cclxuICBpc0VkaXRhYmxlKF9pbmRleD86IG51bWJlcikge1xyXG4gICAgcmV0dXJuIHRydWU7XHJcbiAgfVxyXG5cclxuXHJcbiAgZGVsZXRlQWxsKCkge1xyXG4gICAgdGhpcy5maWx0ZXIgPSB0aGlzLmNyZWF0ZURlZmF1bHRGaWVsZEZpbHRlcigpO1xyXG4gICAgdGhpcy5maWx0ZXJzID0gdGhpcy5maWx0ZXJGaWVsZHMgPyB0aGlzLmZpbHRlckZpZWxkcy5tYXAoKCkgPT4gdGhpcy5jcmVhdGVEZWZhdWx0RmllbGRGaWx0ZXIoKSkgOiBbXTtcclxuICAgIHRoaXMuaXNFbXB0eS5lbWl0KHRydWUpO1xyXG4gIH1cclxuXHJcblxyXG4gIHN3aXRjaFRvQWR2YW5jZWQoKSB7XHJcbiAgICBpZiAodGhpcy5pc0NoZWNrZWQpIHtcclxuICAgICAgaWYgKCF0aGlzLmZpbHRlciB8fCBPYmplY3Qua2V5cyh0aGlzLmZpbHRlcikubGVuZ3RoID09PSAwKSB7XHJcbiAgICAgICAgdGhpcy5maWx0ZXIgPSB0aGlzLmNyZWF0ZURlZmF1bHRGaWVsZEZpbHRlcigpO1xyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuXHJcbiAgcHJpdmF0ZSBjcmVhdGVEZWZhdWx0RmllbGRGaWx0ZXIoKTogRmllbGRGaWx0ZXIge1xyXG4gICAgcmV0dXJuIHtcclxuICAgICAgZmllbGROYW1lOiAnJyxcclxuICAgICAgb3BlcmF0b3I6ICcnLFxyXG4gICAgICBmaWx0ZXJUeXBlOiAnJyxcclxuICAgICAgZmllbGRUeXBlOiAnJyxcclxuICAgICAgdmFsdWVPYmplY3Q6ICcnXHJcbiAgICB9IGFzIEZpZWxkRmlsdGVyO1xyXG4gIH1cclxufVxyXG4iLCI8ZGl2IGNsYXNzPVwibWFpbi1maWx0ZXItYnVpbGRlclwiPlxyXG5cclxuICA8IS0tIERlc2t0b3AgVmlldyAtLT5cclxuICA8ZGl2IGNsYXNzPVwiZmlsdGVyRm9ybSBkZXNrdG9wLXZpZXdcIj5cclxuICAgIDxkaXYgY2xhc3M9XCJmaWx0ZXJGb3JtX19yb3dcIj5cclxuICAgICAgPGRpdiBjbGFzcz1cImZpbHRlckZvcm1fX2NvbFwiPlxyXG4gICAgICAgIDxhcHAtZmllbGQtZmlsdGVyXHJcbiAgICAgICAgICBbZWRpdGFibGVdPVwiaXNFZGl0YWJsZSgpXCJcclxuICAgICAgICAgIFtmaWx0ZXJdPVwiZmlsdGVyXCJcclxuICAgICAgICAgIFtwYWdlSW5mb109XCJwYWdlSW5mb1wiXHJcbiAgICAgICAgICAqbmdJZj1cImlzRWRpdGFibGUoKVwiXHJcbiAgICAgICAgICBbZmlsdGVyRmllbGRzXT1cImZpbHRlckZpZWxkc1wiXHJcbiAgICAgICAgICAoZmlsdGVyRmllbGRJbmZvcm1hdGlvbik9XCJmb3JtQ2hhbmdlcygkZXZlbnQpXCJcclxuICAgICAgICAgIGNsYXNzPVwiZmlsdGVyRm9ybV9fZmlsZWQtZmlsdGVyXCJcclxuICAgICAgICA+XHJcbiAgICAgICAgPC9hcHAtZmllbGQtZmlsdGVyPlxyXG4gICAgICA8L2Rpdj5cclxuICAgICAgPGRpdiBjbGFzcz1cImJ1dHRvbi1ncm91cFwiPlxyXG4gICAgICAgIDxidXR0b25cclxuICAgICAgICAgIG1hdC1mbGF0LWJ1dHRvblxyXG4gICAgICAgICAgY2xhc3M9XCJidG4tYXBwbHktZmlsdGVyXCJcclxuICAgICAgICAgIChjbGljayk9XCJvbkFwcGx5RmlsdGVyKClcIj5cclxuICAgICAgICAgIDxkaXYgY2xhc3M9XCJidXR0b24tdGV4dFwiPlxyXG4gICAgICAgICAgICA8bWF0LWljb24+ZmlsdGVyX2xpc3Q8L21hdC1pY29uPlxyXG4gICAgICAgICAgICA8c3Bhbj57eyAnRklMVEVSLUJVSUxERVIuYXBwbHlGaWx0ZXInIHwgdHJhbnNsYXRlIH19PC9zcGFuPlxyXG4gICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgPC9idXR0b24+XHJcbiAgICAgIDwvZGl2PlxyXG4gICAgPC9kaXY+XHJcbiAgPC9kaXY+XHJcblxyXG4gIDwhLS0gTW9iaWxlIFZpZXcgLS0+XHJcbiAgPGRpdiBjbGFzcz1cIm1vYmlsZS12aWV3XCI+XHJcbiAgICA8IS0tIE1vYmlsZSBSb3cgMTogU2VhcmNoIEZpZWxkIGFuZCBFeHBvcnQgQnV0dG9uIC0tPlxyXG4gICAgPGRpdiBjbGFzcz1cIm1vYmlsZS1zZWFyY2gtcm93XCI+XHJcbiAgICAgIDxkaXYgY2xhc3M9XCJtb2JpbGUtc2VhcmNoLWZpZWxkXCI+XHJcbiAgICAgICAgPGFwcC1maWVsZC1maWx0ZXJcclxuICAgICAgICAgIFtlZGl0YWJsZV09XCJpc0VkaXRhYmxlKClcIlxyXG4gICAgICAgICAgW2ZpbHRlcl09XCJmaWx0ZXJcIlxyXG4gICAgICAgICAgW3BhZ2VJbmZvXT1cInBhZ2VJbmZvXCJcclxuICAgICAgICAgICpuZ0lmPVwiaXNFZGl0YWJsZSgpXCJcclxuICAgICAgICAgIFtmaWx0ZXJGaWVsZHNdPVwiZmlsdGVyRmllbGRzXCJcclxuICAgICAgICAgIChmaWx0ZXJGaWVsZEluZm9ybWF0aW9uKT1cImZvcm1DaGFuZ2VzKCRldmVudClcIlxyXG4gICAgICAgICAgY2xhc3M9XCJtb2JpbGUtZmllbGQtZmlsdGVyXCJcclxuICAgICAgICA+XHJcbiAgICAgICAgPC9hcHAtZmllbGQtZmlsdGVyPlxyXG4gICAgICA8L2Rpdj5cclxuICAgICAgPGJ1dHRvblxyXG4gICAgICAgICpuZ0lmPVwic2hvd0V4cG9ydEJ1dHRvblwiXHJcbiAgICAgICAgbWF0LWZsYXQtYnV0dG9uXHJcbiAgICAgICAgY2xhc3M9XCJidG4tZXhwb3J0LW1vYmlsZVwiXHJcbiAgICAgICAgW21hdE1lbnVUcmlnZ2VyRm9yXT1cImV4cG9ydE1lbnVcIj5cclxuICAgICAgICA8ZGl2IGNsYXNzPVwiYnV0dG9uLWNvbnRlbnRcIj5cclxuICAgICAgICAgIDxtYXQtaWNvbj5maWxlX2V4cG9ydDwvbWF0LWljb24+XHJcbiAgICAgICAgICA8bWF0LWljb24gY2xhc3M9XCJhcnJvdy1pY29uXCI+a2V5Ym9hcmRfYXJyb3dfZG93bjwvbWF0LWljb24+XHJcbiAgICAgICAgPC9kaXY+XHJcbiAgICAgIDwvYnV0dG9uPlxyXG4gICAgICA8bWF0LW1lbnUgI2V4cG9ydE1lbnU9XCJtYXRNZW51XCI+XHJcbiAgICAgICAgPGJ1dHRvbiBtYXQtbWVudS1pdGVtIChjbGljayk9XCJvbkV4cG9ydENsaWNrKCdwZGYnKVwiPlBERjwvYnV0dG9uPlxyXG4gICAgICAgIDxidXR0b24gbWF0LW1lbnUtaXRlbSAoY2xpY2spPVwib25FeHBvcnRDbGljaygneGxzeCcpXCI+RXhjZWw8L2J1dHRvbj5cclxuICAgICAgICA8YnV0dG9uIG1hdC1tZW51LWl0ZW0gKGNsaWNrKT1cIm9uRXhwb3J0Q2xpY2soJ2NzdicpXCI+Q1NWPC9idXR0b24+XHJcbiAgICAgIDwvbWF0LW1lbnU+XHJcbiAgICA8L2Rpdj5cclxuXHJcbiAgICA8IS0tIE1vYmlsZSBSb3cgMjogRmlsdGVyIEJ5IGFuZCBTb3J0IEJ5IEJ1dHRvbnMgLS0+XHJcbiAgICA8ZGl2IGNsYXNzPVwibW9iaWxlLWZpbHRlci1yb3dcIj5cclxuICAgICAgPGJ1dHRvblxyXG4gICAgICAgIG1hdC1mbGF0LWJ1dHRvblxyXG4gICAgICAgIGNsYXNzPVwiYnRuLWZpbHRlci1ieVwiXHJcbiAgICAgICAgKGNsaWNrKT1cIm9uQXBwbHlGaWx0ZXIoKVwiPlxyXG4gICAgICAgIDxkaXYgY2xhc3M9XCJidXR0b24tY29udGVudFwiPlxyXG4gICAgICAgICAgPG1hdC1pY29uPmZpbHRlcl9saXN0PC9tYXQtaWNvbj5cclxuICAgICAgICAgIDxzcGFuPnt7ICdGSUxURVItQlVJTERFUi5maWx0ZXJCeScgfCB0cmFuc2xhdGUgfX08L3NwYW4+XHJcbiAgICAgICAgPC9kaXY+XHJcbiAgICAgIDwvYnV0dG9uPlxyXG4gICAgICA8YnV0dG9uXHJcbiAgICAgICAgbWF0LWZsYXQtYnV0dG9uXHJcbiAgICAgICAgY2xhc3M9XCJidG4tc29ydC1ieVwiXHJcbiAgICAgICAgW21hdE1lbnVUcmlnZ2VyRm9yXT1cInNvcnRNZW51XCI+XHJcbiAgICAgICAgPGRpdiBjbGFzcz1cImJ1dHRvbi1jb250ZW50XCI+XHJcbiAgICAgICAgICA8bWF0LWljb24+dW5mb2xkX21vcmU8L21hdC1pY29uPlxyXG4gICAgICAgICAgPHNwYW4+e3sgJ0ZJTFRFUi1CVUlMREVSLnNvcnRCeScgfCB0cmFuc2xhdGUgfX08L3NwYW4+XHJcbiAgICAgICAgICA8bWF0LWljb24gY2xhc3M9XCJhcnJvdy1pY29uXCI+a2V5Ym9hcmRfYXJyb3dfZG93bjwvbWF0LWljb24+XHJcbiAgICAgICAgPC9kaXY+XHJcbiAgICAgIDwvYnV0dG9uPlxyXG4gICAgICA8bWF0LW1lbnUgI3NvcnRNZW51PVwibWF0TWVudVwiPlxyXG4gICAgICAgIDxidXR0b24gXHJcbiAgICAgICAgICAqbmdGb3I9XCJsZXQgY29sdW1uIG9mIGdldFNvcnRhYmxlQ29sdW1ucygpXCIgXHJcbiAgICAgICAgICBtYXQtbWVudS1pdGVtIFxyXG4gICAgICAgICAgKGNsaWNrKT1cIm9uU29ydEJ5Q2xpY2soY29sdW1uLnByb3BlcnR5KVwiPlxyXG4gICAgICAgICAge3sgbGFiZWxLZXkoY29sdW1uKSB8IHRyYW5zbGF0ZSB9fVxyXG4gICAgICAgIDwvYnV0dG9uPlxyXG4gICAgICAgIDxidXR0b24gXHJcbiAgICAgICAgICAqbmdJZj1cImdldFNvcnRhYmxlQ29sdW1ucygpLmxlbmd0aCA9PT0gMFwiIFxyXG4gICAgICAgICAgbWF0LW1lbnUtaXRlbSBcclxuICAgICAgICAgIGRpc2FibGVkPlxyXG4gICAgICAgICAge3sgJ0ZJTFRFUi1CVUlMREVSLm5vU29ydGFibGVDb2x1bW5zJyB8IHRyYW5zbGF0ZSB9fVxyXG4gICAgICAgIDwvYnV0dG9uPlxyXG4gICAgICA8L21hdC1tZW51PlxyXG4gICAgPC9kaXY+XHJcbiAgPC9kaXY+XHJcblxyXG48IS0tICA8ZGl2ICpuZ0lmPVwiY2hlY2tJc0VtcHR5KClcIiBjbGFzcz1cImxpbmUtdG9wXCI+LS0+XHJcbjwhLS0gICAgPG1hdC1kaXZpZGVyPjwvbWF0LWRpdmlkZXI+LS0+XHJcbjwhLS0gIDwvZGl2Pi0tPlxyXG5cclxuPCEtLSAgPGRpdiBjbGFzcz1cImxpbmUtYm90dG9tXCI+LS0+XHJcbjwhLS0gICAgPG1hdC1kaXZpZGVyPjwvbWF0LWRpdmlkZXI+LS0+XHJcbjwhLS0gIDwvZGl2Pi0tPlxyXG5cclxuPCEtLSAgPGRpdiBjbGFzcz1cImFjdGlvblwiPi0tPlxyXG48IS0tICAgIDxidXR0b24gY2xhc3M9XCJidG4tbm9uZS1iYWNrZ3JvdW5kLXByaW1hcnkgYWN0aW9uX19jbGVhclwiIG1hdC1idXR0b24gKGNsaWNrKT1cImRlbGV0ZUFsbCgpXCI+LS0+XHJcbjwhLS0gICAgICB7eydGSUxURVItQlVJTERFUi5jbGVhckFsbEZpbHRlcnMnIHwgdHJhbnNsYXRlfX0tLT5cclxuPCEtLSAgICA8L2J1dHRvbj4tLT5cclxuPCEtLSAgICA8YnV0dG9uIGNsYXNzPVwiYnRuLWJhY2tncm91bmQtcHJpbWFyeVwiIG1hdC1idXR0b24gKGNsaWNrKT1cImRvU2VhcmNoKClcIj4tLT5cclxuPCEtLSAgICAgIHt7J0ZJTFRFUi1CVUlMREVSLnNlYXJjaCcgfCB0cmFuc2xhdGV9fS0tPlxyXG48IS0tICAgIDwvYnV0dG9uPi0tPlxyXG48IS0tICA8L2Rpdj4tLT5cclxuPC9kaXY+XHJcbiJdfQ==
|
|
@@ -1,31 +1,29 @@
|
|
|
1
1
|
import { Component, Inject, Input } from '@angular/core';
|
|
2
2
|
import { Filter, FilterRequest } from "../../base-model";
|
|
3
3
|
import { TranslateModule } from "@ngx-translate/core";
|
|
4
|
-
import { DatePipe, NgForOf, NgIf } from "@angular/common";
|
|
5
|
-
import {
|
|
4
|
+
import { DatePipe, NgClass, NgForOf, NgIf } from "@angular/common";
|
|
5
|
+
import { MatButtonModule } from "@angular/material/button";
|
|
6
6
|
import { MatIconModule } from "@angular/material/icon";
|
|
7
|
-
import {
|
|
7
|
+
import { MatExpansionPanel, MatExpansionPanelHeader, MatExpansionPanelTitle } from "@angular/material/expansion";
|
|
8
8
|
import * as i0 from "@angular/core";
|
|
9
9
|
import * as i1 from "@angular/material/dialog";
|
|
10
10
|
import * as i2 from "@angular/router";
|
|
11
|
-
import * as i3 from "@angular/
|
|
12
|
-
import * as i4 from "
|
|
13
|
-
import * as i5 from "@angular/
|
|
14
|
-
import * as i6 from "
|
|
15
|
-
import * as i7 from "@angular/material/button";
|
|
11
|
+
import * as i3 from "@angular/cdk/bidi";
|
|
12
|
+
import * as i4 from "../../services";
|
|
13
|
+
import * as i5 from "@angular/material/button";
|
|
14
|
+
import * as i6 from "@ngx-translate/core";
|
|
16
15
|
export class AuditLogComponent {
|
|
17
|
-
constructor(dialog, activatedRoute,
|
|
16
|
+
constructor(dialog, activatedRoute, directionality, securityManager, backendService) {
|
|
18
17
|
this.dialog = dialog;
|
|
19
18
|
this.activatedRoute = activatedRoute;
|
|
20
|
-
this.datePipe = datePipe;
|
|
21
|
-
this.translateService = translateService;
|
|
22
|
-
this.router = router;
|
|
23
19
|
this.directionality = directionality;
|
|
24
20
|
this.securityManager = securityManager;
|
|
25
21
|
this.backendService = backendService;
|
|
26
22
|
this.auditLogEntries = [];
|
|
27
|
-
this.
|
|
28
|
-
this.
|
|
23
|
+
this.fields = [];
|
|
24
|
+
this.showHiddenFields = [];
|
|
25
|
+
this.itemId = 0;
|
|
26
|
+
this.currentDirection = 'ltr';
|
|
29
27
|
}
|
|
30
28
|
ngOnInit() {
|
|
31
29
|
this.currentDirection = this.directionality.value;
|
|
@@ -35,15 +33,14 @@ export class AuditLogComponent {
|
|
|
35
33
|
this.loadItem();
|
|
36
34
|
}
|
|
37
35
|
loadItem() {
|
|
38
|
-
|
|
39
|
-
|
|
36
|
+
const state = history.state.raw;
|
|
37
|
+
if (state && state.id) {
|
|
38
|
+
this.itemId = state.id;
|
|
40
39
|
}
|
|
41
|
-
const filterRequest = new FilterRequest;
|
|
40
|
+
const filterRequest = new FilterRequest();
|
|
42
41
|
if (this.itemId > 0) {
|
|
43
42
|
filterRequest.filters = [];
|
|
44
43
|
filterRequest.sortDirection = "DESC";
|
|
45
|
-
// TODO
|
|
46
|
-
// add pagination support here.
|
|
47
44
|
filterRequest.pageSize = 1000;
|
|
48
45
|
filterRequest.filters.push(new Filter({
|
|
49
46
|
key: 0,
|
|
@@ -54,27 +51,18 @@ export class AuditLogComponent {
|
|
|
54
51
|
operator: 'EQUALS'
|
|
55
52
|
}));
|
|
56
53
|
}
|
|
57
|
-
this.backendService.getItemAuditLog(filterRequest, this.pageInfo.apiUri).subscribe(
|
|
58
|
-
|
|
54
|
+
this.backendService.getItemAuditLog(filterRequest, this.pageInfo.apiUri).subscribe({
|
|
55
|
+
next: (resp) => {
|
|
56
|
+
if (resp?.body?.length > 0) {
|
|
57
|
+
this.auditLogEntries = resp.body.map((entry) => ({
|
|
58
|
+
...entry
|
|
59
|
+
}));
|
|
60
|
+
}
|
|
61
|
+
},
|
|
59
62
|
});
|
|
60
63
|
}
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
data: { pageInfo: this.pageInfo, fields: this.fields, item: auditLog.subject, comment: auditLog.comment, showHiddenFields: this.showHiddenFields },
|
|
64
|
-
width: '800px',
|
|
65
|
-
height: 'auto',
|
|
66
|
-
direction: this.currentDirection
|
|
67
|
-
});
|
|
68
|
-
}
|
|
69
|
-
getDescription(auditLog) {
|
|
70
|
-
return `
|
|
71
|
-
${auditLog.createdBy || this.translateService.instant('system')}
|
|
72
|
-
${this.translateService.instant('on')}
|
|
73
|
-
${this.datePipe.transform(auditLog.createdOn, 'medium')}
|
|
74
|
-
${this.translateService.instant('audit-log.executed')} ${this.translateService.instant(auditLog.action.toString())}`;
|
|
75
|
-
}
|
|
76
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: AuditLogComponent, deps: [{ token: i1.MatDialog }, { token: i2.ActivatedRoute }, { token: i3.DatePipe }, { token: i4.TranslateService }, { token: i2.Router }, { token: i5.Directionality }, { token: 'securityManager' }, { token: i6.BackendService }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
77
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.12", type: AuditLogComponent, isStandalone: true, selector: "app-audit-log", inputs: { pageInfo: "pageInfo", fields: "fields", showHiddenFields: "showHiddenFields" }, providers: [DatePipe], ngImport: i0, template: "<h4>\r\n <span class=\"audit-log-title\">{{ 'audit-log.title' | translate }}</span>\r\n</h4>\r\n\r\n<div class=\"hrdivider-mini\">\r\n <hr class=\"header-hr\" />\r\n</div>\r\n\r\n<div class=\"audit-log-container\" *ngFor=\"let auditLog of auditLogEntries; let i = index\">\r\n <div class=\"audit-log-entry\">\r\n <p *ngIf=\"i === 0\" class=\"audit-log-spacer\"></p>\r\n\r\n <p class=\"audit-log-text\">\r\n {{ getDescription(auditLog) }}\r\n <button mat-stroked-button color=\"secondary\" (click)=\"viewObject(auditLog)\" [attr.id]=\"'audit-view-details-' + i\">\r\n {{ 'audit-log.view_details' | translate }}\r\n </button>\r\n </p>\r\n\r\n <p class=\"invoice-label-text\"></p>\r\n\r\n <div class=\"hrdivider-mini\">\r\n <hr class=\"header-hr\" />\r\n </div>\r\n </div>\r\n</div>\r\n", styles: [".audit-log-title{font-weight:400;color:#222}.hrdivider-mini{width:100%}.header-hr{height:4px;background-color:#339dff;border:none;margin:5px 0}.audit-log-container{display:flex;flex-direction:row;gap:5px;justify-content:flex-start;align-items:flex-start;width:100%;flex-wrap:wrap}.audit-log-entry{display:flex;flex-direction:column;align-items:flex-start;flex:1 1 100%}.audit-log-spacer{margin-bottom:15px;margin-top:0}.audit-log-text{margin:0;word-wrap:break-word}@media (max-width: 960px){.audit-log-container{flex-direction:column;align-items:stretch}}\n"], dependencies: [{ kind: "directive", type: NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "ngmodule", type: MatButtonModule }, { kind: "component", type: i7.MatButton, selector: " button[mat-button], button[mat-raised-button], button[mat-flat-button], button[mat-stroked-button] ", exportAs: ["matButton"] }, { kind: "ngmodule", type: TranslateModule }, { kind: "pipe", type: i4.TranslatePipe, name: "translate" }, { kind: "directive", type: NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "ngmodule", type: MatIconModule }] }); }
|
|
64
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: AuditLogComponent, deps: [{ token: i1.MatDialog }, { token: i2.ActivatedRoute }, { token: i3.Directionality }, { token: 'securityManager' }, { token: i4.BackendService }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
65
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.12", type: AuditLogComponent, isStandalone: true, selector: "app-audit-log", inputs: { pageInfo: "pageInfo", statusName: "statusName", module: "module", identifier: "identifier", fields: "fields", showHiddenFields: "showHiddenFields" }, providers: [DatePipe], ngImport: i0, template: "\r\n\r\n<mat-expansion-panel class=\"location-card\"\r\n #panel=\"matExpansionPanel\"\r\n [expanded]=\"true\"\r\n [hideToggle]=\"true\"\r\n (opened)=\" panel.open() \"\r\n (closed)=\" panel.open()\">\r\n <mat-expansion-panel-header class=\"card-header\" >\r\n <mat-panel-title>\r\n <div class=\"title-container\">\r\n <h3 class=\"card-title\">\r\n {{ 'audit-log.title' | translate }}\r\n </h3>\r\n </div>\r\n </mat-panel-title>\r\n\r\n </mat-expansion-panel-header>\r\n <div class=\"panel-body\">\r\n <hr class=\"divider\"/>\r\n <div class=\"timeline-container\">\r\n <div *ngFor=\"let auditLog of auditLogEntries; let i = index\" class=\"timeline-item\">\r\n <div class=\"timeline-marker\">\r\n <div class=\"timeline-circle\"></div>\r\n <div *ngIf=\"i !== auditLogEntries.length - 1\" class=\"timeline-line\"></div>\r\n </div>\r\n\r\n <div class=\"timeline-content\">\r\n <div class=\"log-main-text\">\r\n <span class=\"actor-name\">{{ auditLog.createdBy || ('system' | translate) }}</span>\r\n <span class=\"action-text\">\r\n {{\r\n 'audit-log.action_' +\r\n auditLog?.action +\r\n '_' +\r\n module\r\n | translate\r\n }}\r\n</span>\r\n <div *ngIf=\"statusName && auditLog.action === 'EDIT'\" style=\"display: inline\">\r\n <span class=\"action-text\"> to </span>\r\n <button [ngClass]=\"auditLog.subject[statusName]\" class=\"stateType\" mat-button>\r\n {{ pageInfo.labelsSection + '.' + auditLog.subject[statusName] | translate }}\r\n </button>\r\n\r\n </div>\r\n </div>\r\n <div class=\"log-timestamp\">\r\n {{ auditLog.createdOn | date: 'dd MMM, yyyy HH:mm a' }}\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n\r\n\r\n </div>\r\n</mat-expansion-panel>\r\n\r\n", styles: [".audit-log-header{font-family:sans-serif;color:#333;margin-bottom:8px;padding-left:10px}.timeline-container{padding:20px;background-color:#fff}.timeline-item{display:flex;margin-bottom:15px;position:relative}.timeline-marker{display:flex;flex-direction:column;align-items:center;margin-right:20px;width:20px;justify-content:center}.timeline-marker .timeline-line{width:1px;background-color:#d1d1d1;flex-grow:1;position:absolute;top:0;height:calc(100% + 80px)}.timeline-circle{width:14px;height:14px;border-radius:50%;border:2px solid #345a7d;background:#fff;z-index:2}.timeline-content{flex-grow:1;background:#fff;border:1px solid #f0f0f0;border-radius:8px;padding:15px 20px;box-shadow:0 2px 4px #0000000d;cursor:pointer;transition:background .2s}.log-main-text{font-size:14px;margin-bottom:4px;color:#333}.log-main-text .actor-name,.log-main-text .target-name{font-weight:800;color:#002c44}.log-timestamp{font-size:12px;color:#888}.location-card{border:1px solid #dcdcdc;border-radius:8px;background:#fff;margin:18px auto;overflow:hidden}.location-card .mat-expansion-panel-header{padding:0 15px}.location-card .mat-expansion-panel-header ::ng-deep .mat-content{margin:0!important}.location-card .panel-body{padding:20px 15px;padding-top:0!important}.location-card .panel-body ::ng-deep app-base-form-canvas .main-form-canvas{margin-top:20px!important}.location-card .panel-description{justify-content:end!important;margin:0!important}.location-card .card-header{display:flex;justify-content:space-between;align-items:center;padding:10px 16px!important}.location-card .card-header .title-container{display:flex;flex-direction:column;gap:8px;align-items:flex-start;justify-content:center}.location-card .card-header .card-title{margin:0;font-size:24px;font-weight:700;line-height:1.2;color:#000;width:fit-content;white-space:nowrap}.location-card .card-header .card-subtitle{margin:0;font-family:lusail-light,sans-serif;font-weight:300;font-size:16px;line-height:1.2;color:#888;width:fit-content}.location-card .card-header .btn-edit{width:120px;min-height:32px!important;border-radius:9999px!important;font-size:16px!important}.location-card .card-header .expand-icon{color:#339dff;font-size:16px}.location-card .divider{border:none;border-top:2px solid var(--primary-color-3nd);margin-bottom:20px;margin-top:0}.flex-auto{flex:1 1 auto;display:flex;flex-direction:column}.row{display:flex;flex-direction:row;width:100%}.gap-20{gap:20px}.buttons-wrapper{display:flex;text-align-last:end;margin:0!important;gap:16px;justify-content:flex-end}.buttons-wrapper .action{min-height:44px!important;min-width:135px!important;width:auto!important}.button-text span{font-size:18px}.button-text mat-icon{font-size:18px!important}.btn-none-background-primary{margin:0!important}@media (max-width: 768px){.desktop-buttons{display:none!important}.desktop-buttons.show-on-mobile{display:flex!important}.mobile-buttons{display:flex;gap:12px;align-items:center;justify-content:flex-end}.btn-download-mobile{width:45px!important;height:44px!important;min-width:45px!important;padding:0!important;border-radius:8px!important;background:#0d4261!important;display:flex;align-items:center;justify-content:center}.btn-download-mobile mat-icon{color:#fff!important;font-size:24px!important;width:24px!important;height:28px!important;margin:0!important}.btn-download-mobile .mdc-button__label{padding:0!important}.btn-menu-mobile{width:44px!important;height:44px!important;min-width:44px!important;padding:0!important;border-radius:8px!important;border:1px solid #3e627b!important;background:#fff!important;display:flex;align-items:center;justify-content:center}.btn-menu-mobile mat-icon{color:#0d4261!important;font-size:24px!important;width:25px!important;height:24px!important;margin:0!important;rotate:90deg}.btn-menu-mobile .mdc-button__label{padding:0!important}}@media (min-width: 769px){.mobile-buttons{display:none!important}}@media (max-width: 600px){::ng-deep .main-form-canvas{display:block!important}}\n"], dependencies: [{ kind: "directive", type: NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "ngmodule", type: MatButtonModule }, { kind: "component", type: i5.MatButton, selector: " button[mat-button], button[mat-raised-button], button[mat-flat-button], button[mat-stroked-button] ", exportAs: ["matButton"] }, { kind: "ngmodule", type: TranslateModule }, { kind: "pipe", type: i6.TranslatePipe, name: "translate" }, { kind: "directive", type: NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "ngmodule", type: MatIconModule }, { kind: "pipe", type: DatePipe, name: "date" }, { kind: "directive", type: NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: MatExpansionPanelTitle, selector: "mat-panel-title" }, { kind: "component", type: MatExpansionPanel, selector: "mat-expansion-panel", inputs: ["hideToggle", "togglePosition"], outputs: ["afterExpand", "afterCollapse"], exportAs: ["matExpansionPanel"] }, { kind: "component", type: MatExpansionPanelHeader, selector: "mat-expansion-panel-header", inputs: ["expandedHeight", "collapsedHeight", "tabIndex"] }] }); }
|
|
78
66
|
}
|
|
79
67
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: AuditLogComponent, decorators: [{
|
|
80
68
|
type: Component,
|
|
@@ -84,16 +72,26 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImpo
|
|
|
84
72
|
TranslateModule,
|
|
85
73
|
NgIf,
|
|
86
74
|
MatIconModule,
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
75
|
+
DatePipe,
|
|
76
|
+
NgClass,
|
|
77
|
+
MatExpansionPanelTitle,
|
|
78
|
+
MatExpansionPanel,
|
|
79
|
+
MatExpansionPanelHeader
|
|
80
|
+
], providers: [DatePipe], template: "\r\n\r\n<mat-expansion-panel class=\"location-card\"\r\n #panel=\"matExpansionPanel\"\r\n [expanded]=\"true\"\r\n [hideToggle]=\"true\"\r\n (opened)=\" panel.open() \"\r\n (closed)=\" panel.open()\">\r\n <mat-expansion-panel-header class=\"card-header\" >\r\n <mat-panel-title>\r\n <div class=\"title-container\">\r\n <h3 class=\"card-title\">\r\n {{ 'audit-log.title' | translate }}\r\n </h3>\r\n </div>\r\n </mat-panel-title>\r\n\r\n </mat-expansion-panel-header>\r\n <div class=\"panel-body\">\r\n <hr class=\"divider\"/>\r\n <div class=\"timeline-container\">\r\n <div *ngFor=\"let auditLog of auditLogEntries; let i = index\" class=\"timeline-item\">\r\n <div class=\"timeline-marker\">\r\n <div class=\"timeline-circle\"></div>\r\n <div *ngIf=\"i !== auditLogEntries.length - 1\" class=\"timeline-line\"></div>\r\n </div>\r\n\r\n <div class=\"timeline-content\">\r\n <div class=\"log-main-text\">\r\n <span class=\"actor-name\">{{ auditLog.createdBy || ('system' | translate) }}</span>\r\n <span class=\"action-text\">\r\n {{\r\n 'audit-log.action_' +\r\n auditLog?.action +\r\n '_' +\r\n module\r\n | translate\r\n }}\r\n</span>\r\n <div *ngIf=\"statusName && auditLog.action === 'EDIT'\" style=\"display: inline\">\r\n <span class=\"action-text\"> to </span>\r\n <button [ngClass]=\"auditLog.subject[statusName]\" class=\"stateType\" mat-button>\r\n {{ pageInfo.labelsSection + '.' + auditLog.subject[statusName] | translate }}\r\n </button>\r\n\r\n </div>\r\n </div>\r\n <div class=\"log-timestamp\">\r\n {{ auditLog.createdOn | date: 'dd MMM, yyyy HH:mm a' }}\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n\r\n\r\n </div>\r\n</mat-expansion-panel>\r\n\r\n", styles: [".audit-log-header{font-family:sans-serif;color:#333;margin-bottom:8px;padding-left:10px}.timeline-container{padding:20px;background-color:#fff}.timeline-item{display:flex;margin-bottom:15px;position:relative}.timeline-marker{display:flex;flex-direction:column;align-items:center;margin-right:20px;width:20px;justify-content:center}.timeline-marker .timeline-line{width:1px;background-color:#d1d1d1;flex-grow:1;position:absolute;top:0;height:calc(100% + 80px)}.timeline-circle{width:14px;height:14px;border-radius:50%;border:2px solid #345a7d;background:#fff;z-index:2}.timeline-content{flex-grow:1;background:#fff;border:1px solid #f0f0f0;border-radius:8px;padding:15px 20px;box-shadow:0 2px 4px #0000000d;cursor:pointer;transition:background .2s}.log-main-text{font-size:14px;margin-bottom:4px;color:#333}.log-main-text .actor-name,.log-main-text .target-name{font-weight:800;color:#002c44}.log-timestamp{font-size:12px;color:#888}.location-card{border:1px solid #dcdcdc;border-radius:8px;background:#fff;margin:18px auto;overflow:hidden}.location-card .mat-expansion-panel-header{padding:0 15px}.location-card .mat-expansion-panel-header ::ng-deep .mat-content{margin:0!important}.location-card .panel-body{padding:20px 15px;padding-top:0!important}.location-card .panel-body ::ng-deep app-base-form-canvas .main-form-canvas{margin-top:20px!important}.location-card .panel-description{justify-content:end!important;margin:0!important}.location-card .card-header{display:flex;justify-content:space-between;align-items:center;padding:10px 16px!important}.location-card .card-header .title-container{display:flex;flex-direction:column;gap:8px;align-items:flex-start;justify-content:center}.location-card .card-header .card-title{margin:0;font-size:24px;font-weight:700;line-height:1.2;color:#000;width:fit-content;white-space:nowrap}.location-card .card-header .card-subtitle{margin:0;font-family:lusail-light,sans-serif;font-weight:300;font-size:16px;line-height:1.2;color:#888;width:fit-content}.location-card .card-header .btn-edit{width:120px;min-height:32px!important;border-radius:9999px!important;font-size:16px!important}.location-card .card-header .expand-icon{color:#339dff;font-size:16px}.location-card .divider{border:none;border-top:2px solid var(--primary-color-3nd);margin-bottom:20px;margin-top:0}.flex-auto{flex:1 1 auto;display:flex;flex-direction:column}.row{display:flex;flex-direction:row;width:100%}.gap-20{gap:20px}.buttons-wrapper{display:flex;text-align-last:end;margin:0!important;gap:16px;justify-content:flex-end}.buttons-wrapper .action{min-height:44px!important;min-width:135px!important;width:auto!important}.button-text span{font-size:18px}.button-text mat-icon{font-size:18px!important}.btn-none-background-primary{margin:0!important}@media (max-width: 768px){.desktop-buttons{display:none!important}.desktop-buttons.show-on-mobile{display:flex!important}.mobile-buttons{display:flex;gap:12px;align-items:center;justify-content:flex-end}.btn-download-mobile{width:45px!important;height:44px!important;min-width:45px!important;padding:0!important;border-radius:8px!important;background:#0d4261!important;display:flex;align-items:center;justify-content:center}.btn-download-mobile mat-icon{color:#fff!important;font-size:24px!important;width:24px!important;height:28px!important;margin:0!important}.btn-download-mobile .mdc-button__label{padding:0!important}.btn-menu-mobile{width:44px!important;height:44px!important;min-width:44px!important;padding:0!important;border-radius:8px!important;border:1px solid #3e627b!important;background:#fff!important;display:flex;align-items:center;justify-content:center}.btn-menu-mobile mat-icon{color:#0d4261!important;font-size:24px!important;width:25px!important;height:24px!important;margin:0!important;rotate:90deg}.btn-menu-mobile .mdc-button__label{padding:0!important}}@media (min-width: 769px){.mobile-buttons{display:none!important}}@media (max-width: 600px){::ng-deep .main-form-canvas{display:block!important}}\n"] }]
|
|
81
|
+
}], ctorParameters: () => [{ type: i1.MatDialog }, { type: i2.ActivatedRoute }, { type: i3.Directionality }, { type: undefined, decorators: [{
|
|
90
82
|
type: Inject,
|
|
91
83
|
args: ['securityManager']
|
|
92
|
-
}] }, { type:
|
|
84
|
+
}] }, { type: i4.BackendService }], propDecorators: { pageInfo: [{
|
|
85
|
+
type: Input
|
|
86
|
+
}], statusName: [{
|
|
87
|
+
type: Input
|
|
88
|
+
}], module: [{
|
|
89
|
+
type: Input
|
|
90
|
+
}], identifier: [{
|
|
93
91
|
type: Input
|
|
94
92
|
}], fields: [{
|
|
95
93
|
type: Input
|
|
96
94
|
}], showHiddenFields: [{
|
|
97
95
|
type: Input
|
|
98
96
|
}] } });
|
|
99
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXVkaXQtbG9nLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2ludm9pY2VxL3VpLWxpYi9zcmMvbGliL2NvbXBvbmVudHMvYXVkaXQtbG9nLWxpc3QvYXVkaXQtbG9nLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2ludm9pY2VxL3VpLWxpYi9zcmMvbGliL2NvbXBvbmVudHMvYXVkaXQtbG9nLWxpc3QvYXVkaXQtbG9nLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBQyxTQUFTLEVBQUUsTUFBTSxFQUFFLEtBQUssRUFBUyxNQUFNLGVBQWUsQ0FBQztBQUMvRCxPQUFPLEVBQVksTUFBTSxFQUFFLGFBQWEsRUFBd0IsTUFBTSxrQkFBa0IsQ0FBQztBQUN6RixPQUFPLEVBQUMsZUFBZSxFQUFtQixNQUFNLHFCQUFxQixDQUFDO0FBRXRFLE9BQU8sRUFBQyxRQUFRLEVBQUUsT0FBTyxFQUFFLElBQUksRUFBQyxNQUFNLGlCQUFpQixDQUFDO0FBQ3hELE9BQU8sRUFBQyxTQUFTLEVBQUUsZUFBZSxFQUFDLE1BQU0sMEJBQTBCLENBQUM7QUFDcEUsT0FBTyxFQUFDLGFBQWEsRUFBQyxNQUFNLHdCQUF3QixDQUFDO0FBSXJELE9BQU8sRUFBQyw4QkFBOEIsRUFBQyxNQUFNLGdFQUFnRSxDQUFDOzs7Ozs7Ozs7QUFrQjlHLE1BQU0sT0FBTyxpQkFBaUI7SUFzQjVCLFlBQW1CLE1BQWlCLEVBQ2QsY0FBOEIsRUFDOUIsUUFBa0IsRUFDbEIsZ0JBQWlDLEVBQ2pDLE1BQWEsRUFDYixjQUE4QixFQUNILGVBQW9CLEVBQ2hELGNBQThCO1FBUGhDLFdBQU0sR0FBTixNQUFNLENBQVc7UUFDZCxtQkFBYyxHQUFkLGNBQWMsQ0FBZ0I7UUFDOUIsYUFBUSxHQUFSLFFBQVEsQ0FBVTtRQUNsQixxQkFBZ0IsR0FBaEIs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QUFTLENBQUMsUUFBUSxDQUFDLFNBQVMsRUFBRSxRQUFRLENBQUM7U0FDckQsSUFBSSxDQUFDLGdCQUFnQixDQUFDLE9BQU8sQ0FBQyxvQkFBb0IsQ0FBQyxJQUFJLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxPQUFPLENBQUMsUUFBUSxDQUFDLE1BQU0sQ0FBQyxRQUFRLEVBQUUsQ0FBQyxFQUFFLENBQUE7SUFDekgsQ0FBQzsrR0FwRlUsaUJBQWlCLHFMQTRCTixpQkFBaUI7bUdBNUI1QixpQkFBaUIsc0pBSmpCLENBQUMsUUFBUSxDQUFDLDBCQ3hCdkIsazBCQTBCQSx1bUJEVEksT0FBTyxrSEFDUCxlQUFlLDJOQUNmLGVBQWUsNEZBQ2YsSUFBSSw0RkFDSixhQUFhOzs0RkFPSixpQkFBaUI7a0JBZjdCLFNBQVM7K0JBQ0ksZUFBZSxjQUNiLElBQUksV0FDVDt3QkFDUCxPQUFPO3dCQUNQLGVBQWU7d0JBQ2YsZUFBZTt3QkFDZixJQUFJO3dCQUNKLGFBQWE7d0JBQ2IsU0FBUztxQkFDVixhQUNVLENBQUMsUUFBUSxDQUFDOzswQkFnQ04sTUFBTTsyQkFBQyxpQkFBaUI7c0VBeEJ2QyxRQUFRO3NCQURQLEtBQUs7Z0JBSU4sTUFBTTtzQkFETCxLQUFLO2dCQUlOLGdCQUFnQjtzQkFEZixLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtDb21wb25lbnQsIEluamVjdCwgSW5wdXQsIE9uSW5pdH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7RmllbGRJbmZvLCBGaWx0ZXIsIEZpbHRlclJlcXVlc3QsIFBhZ2VJbmZvLCBUYWJsZUNvbHVtbn0gZnJvbSBcIi4uLy4uL2Jhc2UtbW9kZWxcIjtcclxuaW1wb3J0IHtUcmFuc2xhdGVNb2R1bGUsIFRyYW5zbGF0ZVNlcnZpY2V9IGZyb20gXCJAbmd4LXRyYW5zbGF0ZS9jb3JlXCI7XHJcbmltcG9ydCB7QmFja2VuZFNlcnZpY2V9IGZyb20gXCIuLi8uLi9zZXJ2aWNlc1wiO1xyXG5pbXBvcnQge0RhdGVQaXBlLCBOZ0Zvck9mLCBOZ0lmfSBmcm9tIFwiQGFuZ3VsYXIvY29tbW9uXCI7XHJcbmltcG9ydCB7TWF0QnV0dG9uLCBNYXRCdXR0b25Nb2R1bGV9IGZyb20gXCJAYW5ndWxhci9tYXRlcmlhbC9idXR0b25cIjtcclxuaW1wb3J0IHtNYXRJY29uTW9kdWxlfSBmcm9tIFwiQGFuZ3VsYXIvbWF0ZXJpYWwvaWNvblwiO1xyXG5pbXBvcnQge01hdERpYWxvZ30gZnJvbSBcIkBhbmd1bGFyL21hdGVyaWFsL2RpYWxvZ1wiO1xyXG5pbXBvcnQge0FjdGl2YXRlZFJvdXRlLCBSb3V0ZXJ9IGZyb20gXCJAYW5ndWxhci9yb3V0ZXJcIjtcclxuaW1wb3J0IHtBdWRpdExvZ0VudHJ5fSBmcm9tIFwiLi4vLi4vYmFzZS1tb2RlbC9hdWRpdC1sb2ctZW50cnlcIjtcclxuaW1wb3J0IHtBdWRpdExvZ0RldGFpbHNEaWFsb2dDb21wb25lbnR9IGZyb20gXCIuLi9hdWRpdC1sb2ctZGV0YWlscy1kaWFsb2cvYXVkaXQtbG9nLWRldGFpbHMtZGlhbG9nLmNvbXBvbmVudFwiO1xyXG5pbXBvcnQge0RpcmVjdGlvbmFsaXR5fSBmcm9tIFwiQGFuZ3VsYXIvY2RrL2JpZGlcIjtcclxuXHJcbkBDb21wb25lbnQoe1xyXG4gICAgc2VsZWN0b3I6ICdhcHAtYXVkaXQtbG9nJyxcclxuICAgIHN0YW5kYWxvbmU6IHRydWUsXHJcbiAgaW1wb3J0czogW1xyXG4gICAgTmdGb3JPZixcclxuICAgIE1hdEJ1dHRvbk1vZHVsZSxcclxuICAgIFRyYW5zbGF0ZU1vZHVsZSxcclxuICAgIE5nSWYsXHJcbiAgICBNYXRJY29uTW9kdWxlLFxyXG4gICAgTWF0QnV0dG9uXHJcbiAgXSxcclxuICBwcm92aWRlcnM6IFtEYXRlUGlwZV0sXHJcbiAgICB0ZW1wbGF0ZVVybDogJy4vYXVkaXQtbG9nLmNvbXBvbmVudC5odG1sJyxcclxuICAgIHN0eWxlVXJsOiAnLi9hdWRpdC1sb2cuY29tcG9uZW50LnNjc3MnXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBBdWRpdExvZ0NvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCB7XHJcbiAgYXVkaXRMb2dFbnRyaWVzOiBBdWRpdExvZ0VudHJ5W10gPSBbXTtcclxuXHJcbiAgQElucHV0KClcclxuICBwYWdlSW5mbyE6IFBhZ2VJbmZvO1xyXG5cclxuICBASW5wdXQoKVxyXG4gIGZpZWxkczogRmllbGRJbmZvW107XHJcblxyXG4gIEBJbnB1dCgpXHJcbiAgc2hvd0hpZGRlbkZpZWxkcyA6IHN0cmluZ1tdO1xyXG5cclxuXHJcbiAgaXRlbUlkOiBudW1iZXI7XHJcblxyXG4gIGl0ZW0gOiBhbnkgPSB7fTtcclxuICBpc0xvYWRlZCA6IGJvb2xlYW4gPSBmYWxzZTtcclxuICBjb2x1bW5zRGVmaW5pdGlvbjogVGFibGVDb2x1bW48YW55PltdO1xyXG5cclxuICBjdXJyZW50RGlyZWN0aW9uOiAnbHRyJyB8ICdydGwnO1xyXG5cclxuXHJcbiAgY29uc3RydWN0b3IocHVibGljIGRpYWxvZzogTWF0RGlhbG9nLFxyXG4gICAgICAgICAgICAgICAgcHJpdmF0ZSBhY3RpdmF0ZWRSb3V0ZTogQWN0aXZhdGVkUm91dGUsXHJcbiAgICAgICAgICAgICAgICBwcml2YXRlIGRhdGVQaXBlOiBEYXRlUGlwZSxcclxuICAgICAgICAgICAgICAgIHByaXZhdGUgdHJhbnNsYXRlU2VydmljZTpUcmFuc2xhdGVTZXJ2aWNlLFxyXG4gICAgICAgICAgICAgICAgcHJpdmF0ZSByb3V0ZXI6Um91dGVyLFxyXG4gICAgICAgICAgICAgICAgcHJpdmF0ZSBkaXJlY3Rpb25hbGl0eTogRGlyZWN0aW9uYWxpdHksXHJcbiAgICAgICAgICAgICAgICBASW5qZWN0KCdzZWN1cml0eU1hbmFnZXInKSBwcml2YXRlIHNlY3VyaXR5TWFuYWdlcjogYW55LFxyXG4gICAgICAgICAgICAgICAgcHVibGljIGJhY2tlbmRTZXJ2aWNlOiBCYWNrZW5kU2VydmljZSkge1xyXG4gICAgfVxyXG5cclxuICAgIG5nT25Jbml0KCk6IHZvaWQge1xyXG4gICAgICB0aGlzLmN1cnJlbnREaXJlY3Rpb24gPSB0aGlzLmRpcmVjdGlvbmFsaXR5LnZhbHVlO1xyXG4gICAgICB0aGlzLmRpcmVjdGlvbmFsaXR5LmNoYW5nZS5zdWJzY3JpYmUoKHZhbHVlKSA9PiB7XHJcbiAgICAgICAgdGhpcy5jdXJyZW50RGlyZWN0aW9uID0gdmFsdWU7XHJcbiAgICAgIH0pXHJcblxyXG4gICAgICB0aGlzLmxvYWRJdGVtKCk7XHJcbiAgICB9XHJcblxyXG5cclxuICBwcml2YXRlIGxvYWRJdGVtKCkge1xyXG4gICAgaWYgKHRoaXMuYWN0aXZhdGVkUm91dGUuc25hcHNob3QucXVlcnlQYXJhbXNbJ3Rva2VuJ10pIHtcclxuICAgICAgdGhpcy5pdGVtSWQgPSB0aGlzLmJhY2tlbmRTZXJ2aWNlLmRlY3J5cHQodGhpcy5hY3RpdmF0ZWRSb3V0ZS5zbmFwc2hvdC5xdWVyeVBhcmFtc1sndG9rZW4nXSk7XHJcbiAgICB9XHJcbiAgICBjb25zdCBmaWx0ZXJSZXF1ZXN0ID0gbmV3IEZpbHRlclJlcXVlc3Q7XHJcbiAgICBpZiAodGhpcy5pdGVtSWQgPiAwKSB7XHJcbiAgICAgIGZpbHRlclJlcXVlc3QuZmlsdGVycyA9IFtdO1xyXG4gICAgICBmaWx0ZXJSZXF1ZXN0LnNvcnREaXJlY3Rpb24gPSBcIkRFU0NcIjtcclxuICAgICAgLy8gVE9ET1xyXG4gICAgICAvLyBhZGQgcGFnaW5hdGlvbiBzdXBwb3J0IGhlcmUuXHJcbiAgICAgIGZpbHRlclJlcXVlc3QucGFnZVNpemUgPSAxMDAwO1xyXG4gICAgICBmaWx0ZXJSZXF1ZXN0LmZpbHRlcnMucHVzaChuZXcgRmlsdGVyKHtcclxuICAgICAgICBrZXk6IDAsXHJcbiAgICAgICAgZmllbGRUeXBlOiAnTG9uZycsXHJcbiAgICAgICAgZmllbGROYW1lOiAnaWQnLFxyXG4gICAgICAgIHZhbHVlT2JqZWN0OiB0aGlzLml0ZW1JZCxcclxuICAgICAgICBmaWx0ZXJUeXBlOiAnRklMRURfRklMVEVSJyxcclxuICAgICAgICBvcGVyYXRvcjogJ0VRVUFMUydcclxuICAgICAgfSkpO1xyXG4gICAgfVxyXG4gICAgICB0aGlzLmJhY2tlbmRTZXJ2aWNlLmdldEl0ZW1BdWRpdExvZyhmaWx0ZXJSZXF1ZXN0LCB0aGlzLnBhZ2VJbmZvIS5hcGlVcmkpLnN1YnNjcmliZShyZXNwID0+IHtcclxuICAgICAgICB0aGlzLmF1ZGl0TG9nRW50cmllcyA9IHJlc3AuYm9keTtcclxuICAgICAgfSk7XHJcbiAgfVxyXG5cclxuXHJcbiAgdmlld09iamVjdChhdWRpdExvZzogQXVkaXRMb2dFbnRyeSkge1xyXG4gICAgY29uc3QgZGlhbG9nUmVmID0gdGhpcy5kaWFsb2cub3BlbihBdWRpdExvZ0RldGFpbHNEaWFsb2dDb21wb25lbnQsIHtcclxuICAgICAgZGF0YToge3BhZ2VJbmZvOiB0aGlzLnBhZ2VJbmZvLCBmaWVsZHM6IHRoaXMuZmllbGRzLCBpdGVtOmF1ZGl0TG9nLnN1YmplY3QsIGNvbW1lbnQ6IGF1ZGl0TG9nLmNvbW1lbnQsIHNob3dIaWRkZW5GaWVsZHM6dGhpcy5zaG93SGlkZGVuRmllbGRzfSxcclxuICAgICAgd2lkdGg6ICc4MDBweCcsXHJcbiAgICAgIGhlaWdodDogJ2F1dG8nLFxyXG4gICAgICBkaXJlY3Rpb246IHRoaXMuY3VycmVudERpcmVjdGlvblxyXG4gICAgfSk7XHJcblxyXG4gIH1cclxuXHJcbiAgZ2V0RGVzY3JpcHRpb24oYXVkaXRMb2c6IEF1ZGl0TG9nRW50cnkpIHtcclxuICAgIHJldHVybiBgXHJcbiAgICAgICAke2F1ZGl0TG9nLmNyZWF0ZWRCeSB8fCB0aGlzLnRyYW5zbGF0ZVNlcnZpY2UuaW5zdGFudCgnc3lzdGVtJyl9XHJcbiAgICAgICAke3RoaXMudHJhbnNsYXRlU2VydmljZS5pbnN0YW50KCdvbicpfVxyXG4gICAgICAgJHt0aGlzLmRhdGVQaXBlLnRyYW5zZm9ybShhdWRpdExvZy5jcmVhdGVkT24sICdtZWRpdW0nKX1cclxuICAgICAgICR7dGhpcy50cmFuc2xhdGVTZXJ2aWNlLmluc3RhbnQoJ2F1ZGl0LWxvZy5leGVjdXRlZCcpfSAke3RoaXMudHJhbnNsYXRlU2VydmljZS5pbnN0YW50KGF1ZGl0TG9nLmFjdGlvbi50b1N0cmluZygpKX1gXHJcbiAgfVxyXG59XHJcbiIsIjxoND5cclxuICA8c3BhbiBjbGFzcz1cImF1ZGl0LWxvZy10aXRsZVwiPnt7ICdhdWRpdC1sb2cudGl0bGUnIHwgdHJhbnNsYXRlIH19PC9zcGFuPlxyXG48L2g0PlxyXG5cclxuPGRpdiBjbGFzcz1cImhyZGl2aWRlci1taW5pXCI+XHJcbiAgPGhyIGNsYXNzPVwiaGVhZGVyLWhyXCIgLz5cclxuPC9kaXY+XHJcblxyXG48ZGl2IGNsYXNzPVwiYXVkaXQtbG9nLWNvbnRhaW5lclwiICpuZ0Zvcj1cImxldCBhdWRpdExvZyBvZiBhdWRpdExvZ0VudHJpZXM7IGxldCBpID0gaW5kZXhcIj5cclxuICA8ZGl2IGNsYXNzPVwiYXVkaXQtbG9nLWVudHJ5XCI+XHJcbiAgICA8cCAqbmdJZj1cImkgPT09IDBcIiBjbGFzcz1cImF1ZGl0LWxvZy1zcGFjZXJcIj48L3A+XHJcblxyXG4gICAgPHAgY2xhc3M9XCJhdWRpdC1sb2ctdGV4dFwiPlxyXG4gICAgICB7eyBnZXREZXNjcmlwdGlvbihhdWRpdExvZykgfX1cclxuICAgICAgPGJ1dHRvbiBtYXQtc3Ryb2tlZC1idXR0b24gY29sb3I9XCJzZWNvbmRhcnlcIiAoY2xpY2spPVwidmlld09iamVjdChhdWRpdExvZylcIiBbYXR0ci5pZF09XCInYXVkaXQtdmlldy1kZXRhaWxzLScgKyBpXCI+XHJcbiAgICAgICAge3sgJ2F1ZGl0LWxvZy52aWV3X2RldGFpbHMnIHwgdHJhbnNsYXRlIH19XHJcbiAgICAgIDwvYnV0dG9uPlxyXG4gICAgPC9wPlxyXG5cclxuICAgIDxwIGNsYXNzPVwiaW52b2ljZS1sYWJlbC10ZXh0XCI+PC9wPlxyXG5cclxuICAgIDxkaXYgY2xhc3M9XCJocmRpdmlkZXItbWluaVwiPlxyXG4gICAgICA8aHIgY2xhc3M9XCJoZWFkZXItaHJcIiAvPlxyXG4gICAgPC9kaXY+XHJcbiAgPC9kaXY+XHJcbjwvZGl2PlxyXG4iXX0=
|
|
97
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXVkaXQtbG9nLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2ludm9pY2VxL3VpLWxpYi9zcmMvbGliL2NvbXBvbmVudHMvYXVkaXQtbG9nLWxpc3QvYXVkaXQtbG9nLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2ludm9pY2VxL3VpLWxpYi9zcmMvbGliL2NvbXBvbmVudHMvYXVkaXQtbG9nLWxpc3QvYXVkaXQtbG9nLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBQyxTQUFTLEVBQUUsTUFBTSxFQUFFLEtBQUssRUFBUyxNQUFNLGVBQWUsQ0FBQztBQUMvRCxPQUFPLEVBQVksTUFBTSxFQUFFLGFBQWEsRUFBVyxNQUFNLGtCQUFrQixDQUFDO0FBQzVFLE9BQU8sRUFBQyxlQUFlLEVBQUMsTUFBTSxxQkFBcUIsQ0FBQztBQUVwRCxPQUFPLEVBQUMsUUFBUSxFQUFFLE9BQU8sRUFBRSxPQUFPLEVBQUUsSUFBSSxFQUFDLE1BQU0saUJBQWlCLENBQUM7QUFDakUsT0FBTyxFQUFDLGVBQWUsRUFBQyxNQUFNLDBCQUEwQixDQUFDO0FBQ3pELE9BQU8sRUFBQyxhQUFhLEVBQUMsTUFBTSx3QkFBd0IsQ0FBQztBQUtyRCxPQUFPLEVBQUMsaUJBQWlCLEVBQUUsdUJBQXVCLEVBQUUsc0JBQXNCLEVBQUMsTUFBTSw2QkFBNkIsQ0FBQzs7Ozs7Ozs7QUFxQi9HLE1BQU0sT0FBTyxpQkFBaUI7SUFhNUIsWUFDUyxNQUFpQixFQUNoQixjQUE4QixFQUM5QixjQUE4QixFQUNILGVBQW9CLEVBQ2hELGNBQThCO1FBSjlCLFdBQU0sR0FBTixNQUFNLENBQVc7UUFDaEIsbUJBQWMsR0FBZCxjQUFjLENBQWdCO1FBQzlCLG1CQUFjLEdBQWQsY0FBYyxDQUFnQjtRQUNILG9CQUFlLEdBQWYsZUFBZSxDQUFLO1FBQ2hE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O3NCQUFsQixLQUFLO2dCQUNHLE1BQU07c0JBQWQsS0FBSztnQkFDRyxVQUFVO3NCQUFsQixLQUFLO2dCQUNHLE1BQU07c0JBQWQsS0FBSztnQkFDRyxnQkFBZ0I7c0JBQXhCLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge0NvbXBvbmVudCwgSW5qZWN0LCBJbnB1dCwgT25Jbml0fSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHtGaWVsZEluZm8sIEZpbHRlciwgRmlsdGVyUmVxdWVzdCwgUGFnZUluZm99IGZyb20gXCIuLi8uLi9iYXNlLW1vZGVsXCI7XHJcbmltcG9ydCB7VHJhbnNsYXRlTW9kdWxlfSBmcm9tIFwiQG5neC10cmFuc2xhdGUvY29yZVwiO1xyXG5pbXBvcnQge0JhY2tlbmRTZXJ2aWNlfSBmcm9tIFwiLi4vLi4vc2VydmljZXNcIjtcclxuaW1wb3J0IHtEYXRlUGlwZSwgTmdDbGFzcywgTmdGb3JPZiwgTmdJZn0gZnJvbSBcIkBhbmd1bGFyL2NvbW1vblwiO1xyXG5pbXBvcnQge01hdEJ1dHRvbk1vZHVsZX0gZnJvbSBcIkBhbmd1bGFyL21hdGVyaWFsL2J1dHRvblwiO1xyXG5pbXBvcnQge01hdEljb25Nb2R1bGV9IGZyb20gXCJAYW5ndWxhci9tYXRlcmlhbC9pY29uXCI7XHJcbmltcG9ydCB7TWF0RGlhbG9nfSBmcm9tIFwiQGFuZ3VsYXIvbWF0ZXJpYWwvZGlhbG9nXCI7XHJcbmltcG9ydCB7QWN0aXZhdGVkUm91dGV9IGZyb20gXCJAYW5ndWxhci9yb3V0ZXJcIjtcclxuaW1wb3J0IHtBdWRpdExvZ0VudHJ5fSBmcm9tIFwiLi4vLi4vYmFzZS1tb2RlbC9hdWRpdC1sb2ctZW50cnlcIjtcclxuaW1wb3J0IHtEaXJlY3Rpb25hbGl0eX0gZnJvbSBcIkBhbmd1bGFyL2Nkay9iaWRpXCI7XHJcbmltcG9ydCB7TWF0RXhwYW5zaW9uUGFuZWwsIE1hdEV4cGFuc2lvblBhbmVsSGVhZGVyLCBNYXRFeHBhbnNpb25QYW5lbFRpdGxlfSBmcm9tIFwiQGFuZ3VsYXIvbWF0ZXJpYWwvZXhwYW5zaW9uXCI7XHJcblxyXG5AQ29tcG9uZW50KHtcclxuICBzZWxlY3RvcjogJ2FwcC1hdWRpdC1sb2cnLFxyXG4gIHN0YW5kYWxvbmU6IHRydWUsXHJcbiAgaW1wb3J0czogW1xyXG4gICAgTmdGb3JPZixcclxuICAgIE1hdEJ1dHRvbk1vZHVsZSxcclxuICAgIFRyYW5zbGF0ZU1vZHVsZSxcclxuICAgIE5nSWYsXHJcbiAgICBNYXRJY29uTW9kdWxlLFxyXG4gICAgRGF0ZVBpcGUsXHJcbiAgICBOZ0NsYXNzLFxyXG4gICAgTWF0RXhwYW5zaW9uUGFuZWxUaXRsZSxcclxuICAgIE1hdEV4cGFuc2lvblBhbmVsLFxyXG4gICAgTWF0RXhwYW5zaW9uUGFuZWxIZWFkZXJcclxuICBdLFxyXG4gIHByb3ZpZGVyczogW0RhdGVQaXBlXSxcclxuICB0ZW1wbGF0ZVVybDogJy4vYXVkaXQtbG9nLmNvbXBvbmVudC5odG1sJyxcclxuICBzdHlsZVVybHM6IFsnLi9hdWRpdC1sb2cuY29tcG9uZW50LnNjc3MnXVxyXG59KVxyXG5leHBvcnQgY2xhc3MgQXVkaXRMb2dDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQge1xyXG4gIGF1ZGl0TG9nRW50cmllczogQXVkaXRMb2dFbnRyeVtdID0gW107XHJcblxyXG4gIEBJbnB1dCgpIHBhZ2VJbmZvITogUGFnZUluZm87XHJcbiAgQElucHV0KCkgc3RhdHVzTmFtZSE6IHN0cmluZztcclxuICBASW5wdXQoKSBtb2R1bGU6IHN0cmluZztcclxuICBASW5wdXQoKSBpZGVudGlmaWVyOiBzdHJpbmc7XHJcbiAgQElucHV0KCkgZmllbGRzOiBGaWVsZEluZm9bXSA9IFtdO1xyXG4gIEBJbnB1dCgpIHNob3dIaWRkZW5GaWVsZHM6IHN0cmluZ1tdID0gW107XHJcblxyXG4gIGl0ZW1JZDogbnVtYmVyID0gMDtcclxuICBjdXJyZW50RGlyZWN0aW9uOiAnbHRyJyB8ICdydGwnID0gJ2x0cic7XHJcblxyXG4gIGNvbnN0cnVjdG9yKFxyXG4gICAgcHVibGljIGRpYWxvZzogTWF0RGlhbG9nLFxyXG4gICAgcHJpdmF0ZSBhY3RpdmF0ZWRSb3V0ZTogQWN0aXZhdGVkUm91dGUsXHJcbiAgICBwcml2YXRlIGRpcmVjdGlvbmFsaXR5OiBEaXJlY3Rpb25hbGl0eSxcclxuICAgIEBJbmplY3QoJ3NlY3VyaXR5TWFuYWdlcicpIHByaXZhdGUgc2VjdXJpdHlNYW5hZ2VyOiBhbnksXHJcbiAgICBwdWJsaWMgYmFja2VuZFNlcnZpY2U6IEJhY2tlbmRTZXJ2aWNlXHJcbiAgKSB7fVxyXG5cclxuICBuZ09uSW5pdCgpOiB2b2lkIHtcclxuICAgIHRoaXMuY3VycmVudERpcmVjdGlvbiA9IHRoaXMuZGlyZWN0aW9uYWxpdHkudmFsdWU7XHJcbiAgICB0aGlzLmRpcmVjdGlvbmFsaXR5LmNoYW5nZS5zdWJzY3JpYmUoKHZhbHVlKSA9PiB7XHJcbiAgICAgIHRoaXMuY3VycmVudERpcmVjdGlvbiA9IHZhbHVlO1xyXG4gICAgfSk7XHJcblxyXG4gICAgdGhpcy5sb2FkSXRlbSgpO1xyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBsb2FkSXRlbSgpIHtcclxuICAgIGNvbnN0IHN0YXRlID0gaGlzdG9yeS5zdGF0ZS5yYXc7XHJcbiAgICBpZiAoc3RhdGUgJiYgc3RhdGUuaWQpIHtcclxuICAgICAgdGhpcy5pdGVtSWQgPSBzdGF0ZS5pZDtcclxuXHJcbiAgICB9XHJcblxyXG5cclxuICAgIGNvbnN0IGZpbHRlclJlcXVlc3QgPSBuZXcgRmlsdGVyUmVxdWVzdCgpO1xyXG4gICAgaWYgKHRoaXMuaXRlbUlkID4gMCkge1xyXG4gICAgICBmaWx0ZXJSZXF1ZXN0LmZpbHRlcnMgPSBbXTtcclxuICAgICAgZmlsdGVyUmVxdWVzdC5zb3J0RGlyZWN0aW9uID0gXCJERVNDXCI7XHJcbiAgICAgIGZpbHRlclJlcXVlc3QucGFnZVNpemUgPSAxMDAwO1xyXG4gICAgICBmaWx0ZXJSZXF1ZXN0LmZpbHRlcnMucHVzaChuZXcgRmlsdGVyKHtcclxuICAgICAgICBrZXk6IDAsXHJcbiAgICAgICAgZmllbGRUeXBlOiAnTG9uZycsXHJcbiAgICAgICAgZmllbGROYW1lOiAnaWQnLFxyXG4gICAgICAgIHZhbHVlT2JqZWN0OiB0aGlzLml0ZW1JZCxcclxuICAgICAgICBmaWx0ZXJUeXBlOiAnRklMRURfRklMVEVSJyxcclxuICAgICAgICBvcGVyYXRvcjogJ0VRVUFMUydcclxuICAgICAgfSkpO1xyXG4gICAgfVxyXG5cclxuICAgIHRoaXMuYmFja2VuZFNlcnZpY2UuZ2V0SXRlbUF1ZGl0TG9nKGZpbHRlclJlcXVlc3QsIHRoaXMucGFnZUluZm8hLmFwaVVyaSkuc3Vic2NyaWJlKHtcclxuICAgICAgbmV4dDogKHJlc3ApID0+IHtcclxuICAgICAgICBpZiAocmVzcD8uYm9keT8ubGVuZ3RoID4gMCkge1xyXG4gICAgICAgICAgdGhpcy5hdWRpdExvZ0VudHJpZXMgPSByZXNwLmJvZHkubWFwKChlbnRyeTogQXVkaXRMb2dFbnRyeSkgPT4gKHtcclxuICAgICAgICAgICAgLi4uZW50cnlcclxuICAgICAgICAgIH0pKTtcclxuICAgICAgICB9XHJcbiAgICAgIH0sXHJcbiAgICB9KTtcclxuICB9XHJcblxyXG5cclxuXHJcbn1cclxuIiwiXHJcblxyXG48bWF0LWV4cGFuc2lvbi1wYW5lbCBjbGFzcz1cImxvY2F0aW9uLWNhcmRcIlxyXG4gICAgICAgICAgICAgICAgICAgICAjcGFuZWw9XCJtYXRFeHBhbnNpb25QYW5lbFwiXHJcbiAgICAgICAgICAgICAgICAgICAgIFtleHBhbmRlZF09XCJ0cnVlXCJcclxuICAgICAgICAgICAgICAgICAgICAgW2hpZGVUb2dnbGVdPVwidHJ1ZVwiXHJcbiAgICAgICAgICAgICAgICAgICAgIChvcGVuZWQpPVwiIHBhbmVsLm9wZW4oKSBcIlxyXG4gICAgICAgICAgICAgICAgICAgICAoY2xvc2VkKT1cIiBwYW5lbC5vcGVuKClcIj5cclxuICA8bWF0LWV4cGFuc2lvbi1wYW5lbC1oZWFkZXIgY2xhc3M9XCJjYXJkLWhlYWRlclwiID5cclxuICAgIDxtYXQtcGFuZWwtdGl0bGU+XHJcbiAgICAgIDxkaXYgY2xhc3M9XCJ0aXRsZS1jb250YWluZXJcIj5cclxuICAgICAgICA8aDMgY2xhc3M9XCJjYXJkLXRpdGxlXCI+XHJcbiAgICAgICAgICB7eyAnYXVkaXQtbG9nLnRpdGxlJyB8IHRyYW5zbGF0ZSB9fVxyXG4gICAgICAgIDwvaDM+XHJcbiAgICAgIDwvZGl2PlxyXG4gICAgPC9tYXQtcGFuZWwtdGl0bGU+XHJcblxyXG4gIDwvbWF0LWV4cGFuc2lvbi1wYW5lbC1oZWFkZXI+XHJcbiAgPGRpdiBjbGFzcz1cInBhbmVsLWJvZHlcIj5cclxuICAgIDxociBjbGFzcz1cImRpdmlkZXJcIi8+XHJcbiAgICA8ZGl2IGNsYXNzPVwidGltZWxpbmUtY29udGFpbmVyXCI+XHJcbiAgICAgIDxkaXYgKm5nRm9yPVwibGV0IGF1ZGl0TG9nIG9mIGF1ZGl0TG9nRW50cmllczsgbGV0IGkgPSBpbmRleFwiIGNsYXNzPVwidGltZWxpbmUtaXRlbVwiPlxyXG4gICAgICAgIDxkaXYgY2xhc3M9XCJ0aW1lbGluZS1tYXJrZXJcIj5cclxuICAgICAgICAgIDxkaXYgY2xhc3M9XCJ0aW1lbGluZS1jaXJjbGVcIj48L2Rpdj5cclxuICAgICAgICAgIDxkaXYgKm5nSWY9XCJpICE9PSBhdWRpdExvZ0VudHJpZXMubGVuZ3RoIC0gMVwiIGNsYXNzPVwidGltZWxpbmUtbGluZVwiPjwvZGl2PlxyXG4gICAgICAgIDwvZGl2PlxyXG5cclxuICAgICAgICA8ZGl2IGNsYXNzPVwidGltZWxpbmUtY29udGVudFwiPlxyXG4gICAgICAgICAgPGRpdiBjbGFzcz1cImxvZy1tYWluLXRleHRcIj5cclxuICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJhY3Rvci1uYW1lXCI+e3sgYXVkaXRMb2cuY3JlYXRlZEJ5IHx8ICgnc3lzdGVtJyB8IHRyYW5zbGF0ZSkgfX08L3NwYW4+XHJcbiAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwiYWN0aW9uLXRleHRcIj5cclxuICB7e1xyXG4gICAgICAgICAgICAgICAgJ2F1ZGl0LWxvZy5hY3Rpb25fJyArXHJcbiAgICAgICAgICAgICAgICBhdWRpdExvZz8uYWN0aW9uICtcclxuICAgICAgICAgICAgICAgICdfJyArXHJcbiAgICAgICAgICAgICAgICBtb2R1bGVcclxuICAgICAgICAgICAgICAgICAgfCB0cmFuc2xhdGVcclxuICAgICAgICAgICAgICB9fVxyXG48L3NwYW4+XHJcbiAgICAgICAgICAgIDxkaXYgKm5nSWY9XCJzdGF0dXNOYW1lICYmIGF1ZGl0TG9nLmFjdGlvbiA9PT0gJ0VESVQnXCIgc3R5bGU9XCJkaXNwbGF5OiBpbmxpbmVcIj5cclxuICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cImFjdGlvbi10ZXh0XCI+IHRvICAgPC9zcGFuPlxyXG4gICAgICAgICAgICAgIDxidXR0b24gW25nQ2xhc3NdPVwiYXVkaXRMb2cuc3ViamVjdFtzdGF0dXNOYW1lXVwiIGNsYXNzPVwic3RhdGVUeXBlXCIgbWF0LWJ1dHRvbj5cclxuICAgICAgICAgICAgICAgIHt7IHBhZ2VJbmZvLmxhYmVsc1NlY3Rpb24gKyAnLicgKyBhdWRpdExvZy5zdWJqZWN0W3N0YXR1c05hbWVdIHwgdHJhbnNsYXRlIH19XHJcbiAgICAgICAgICAgICAgPC9idXR0b24+XHJcblxyXG4gICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgPGRpdiBjbGFzcz1cImxvZy10aW1lc3RhbXBcIj5cclxuICAgICAgICAgICAge3sgYXVkaXRMb2cuY3JlYXRlZE9uIHwgZGF0ZTogJ2RkIE1NTSwgeXl5eSAgSEg6bW0gYScgfX1cclxuICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgIDwvZGl2PlxyXG4gICAgICA8L2Rpdj5cclxuICAgIDwvZGl2PlxyXG5cclxuXHJcbiAgPC9kaXY+XHJcbjwvbWF0LWV4cGFuc2lvbi1wYW5lbD5cclxuXHJcbiJdfQ==
|
|
@@ -241,7 +241,7 @@ export class BaseFormComponent extends BaseUtils {
|
|
|
241
241
|
return (!this.isPending && element.stateType == 'PENDING') && this.pageInfo.draftSupported;
|
|
242
242
|
}
|
|
243
243
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: BaseFormComponent, deps: [{ token: i1.MatDialog }, { token: i2.ActivatedRoute }, { token: i2.Router }, { token: i3.Directionality }, { token: i4.Location }, { token: 'securityManager' }, { token: i5.BackendService }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
244
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.12", type: BaseFormComponent, isStandalone: true, selector: "app-base-form", inputs: { pageInfo: "pageInfo", fields: "fields", errors: "errors", editable: "editable", itemId: "itemId", hideBackButton: "hideBackButton" }, outputs: { actionResultEmitter: "actionResultEmitter", formUpdated: "formUpdated", itemLoaded: "itemLoaded", extraAction: "extraAction", hyperTextEvent: "hyperTextEvent" }, usesInheritance: true, usesOnChanges: true, ngImport: i0, template: "<div class=\"page-container\">\r\n\r\n <div class=\"row full-width mt-2vh\">\r\n <div class=\"column full-width\">\r\n <app-title-bar\r\n [pageTitle]=\"getTitle()\"\r\n [newAction]=\"false\"\r\n [hideBackButton]=\"hideBackButton\">\r\n </app-title-bar>\r\n </div>\r\n </div>\r\n\r\n <app-base-form-canvas\r\n [pageInfo]=\"pageInfo\"\r\n [fields]=\"fields\"\r\n [editable]=\"editable\"\r\n [errors]=\"errors\"\r\n [item]=\"item\"\r\n (formUpdated)=\"updateForm($event)\">\r\n </app-base-form-canvas>\r\n\r\n <div class=\"row main-form-canvas mt-3vh\">\r\n <div class=\"column flex-49\">\r\n <div class=\"row row-center-start\">\r\n <button *ngIf=\"hasWfPositivePermission()\" color=\"primary\" mat-flat-button\r\n (click)=\"doSaveApproveAction()\"\r\n [disabled]=\"disabledSaveButton(item)\"\r\n class=\"action-button\"\r\n id=\"base-form-positive-btn\">\r\n {{ getPositiveWfActionKey(item?.stateType) | translate }}\r\n </button>\r\n <button *ngIf=\"hasWfNegativePermission()\" color=\"second\" mat-raised-button\r\n (click)=\"doCancelRejectAction()\"\r\n [disabled]=\"disabledSaveButton(item)\"\r\n class=\"action-button\"\r\n id=\"base-form-negative-btn\">\r\n {{ getNegativeWfActionKey(item?.stateType) | translate }}\r\n </button>\r\n <button *ngIf=\"pageInfo.hideExtractButton === false && itemId > 0 && editable\" color=\"primary\" mat-raised-button\r\n (click)=\"doExtraAction()\"\r\n class=\"action-button\"\r\n id=\"base-form-extra-btn\">\r\n {{ pageInfo.labelsSection + \".\" + \"EXTRA_BUTTON_NAME\" | translate }}\r\n </button>\r\n </div>\r\n </div>\r\n <div class=\"column flex-49\"></div>\r\n </div>\r\n\r\n\r\n <ng-container *ngIf=\"!pageInfo.hideAuditLog\">\r\n <div class=\"row main-form-canvas mt-4vh pb-5vh\">\r\n <div class=\"column flex-95\">\r\n <app-audit-log [pageInfo]=\"pageInfo\" [fields]=\"fields\"></app-audit-log>\r\n </div>\r\n </div>\r\n </ng-container>\r\n\r\n</div>\r\n", styles: [".page-container{display:flex;flex-direction:column;width:100%}.row{display:flex;flex-direction:row;gap:10px;width:100%;flex-wrap:wrap}.column{display:flex;flex-direction:column}.full-width{width:100%}.flex-49{flex:0 0 49%}.flex-95{flex:0 0 95%}.row-center-start{align-items:center;justify-content:flex-start}.mt-2vh{margin-top:2vh}.mt-3vh{margin-top:3vh}.mt-4vh{margin-top:4vh}.pb-5vh{padding-bottom:5vh}.action-button{font-weight:700;min-width:140px;max-width:200px;margin:0 10px}@media (max-width: 960px){.flex-49,.flex-95{flex:1 1 100%}}@media (max-width: 600px){.row{flex-direction:column;align-items:center}.action-button{width:100%;max-width:300px;margin:5px 0}}\n"], dependencies: [{ kind: "component", type: TitleBarComponent, selector: "app-title-bar", inputs: ["pageTitle", "showExtractButton", "totalElements", "titleMode", "pageInfo", "subTitle", "statusDesc", "newAction", "extraButton", "showDetails", "showImport", "showButton", "extraData", "titleCorporateAdmin", "hideBackButton", "buttons", "buttonsDisplayMode", "draftSupported", "isPending", "onViewModeChange"], outputs: ["newActionClicked", "extraButtonClicked", "extractReport", "buttonClicked", "viewModeChanged"] }, { kind: "component", type: BaseFormCanvasComponent, selector: "app-base-form-canvas", inputs: ["pageInfo", "currency", "fields", "errors", "workflowEditableFields", "isWorkflowEditableManaged", "supportingAttributes", "editable", "emitOnValueChanges", "item", "equationSuggestedFields", "currentEquationValue"], outputs: ["attachmentEmitter", "actionEmitter", "formUpdated", "hyperTextEvent", "currentEquationValueChange"] }, { kind: "ngmodule", type: MatButtonModule }, { kind: "component", type: i6.MatButton, selector: " button[mat-button], button[mat-raised-button], button[mat-flat-button], button[mat-stroked-button] ", exportAs: ["matButton"] }, { kind: "ngmodule", type: TranslateModule }, { kind: "pipe", type: i7.TranslatePipe, name: "translate" }, { kind: "directive", type: NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "ngmodule", type: MatIconModule }, { kind: "component", type: AuditLogComponent, selector: "app-audit-log", inputs: ["pageInfo", "fields", "showHiddenFields"] }] }); }
|
|
244
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.12", type: BaseFormComponent, isStandalone: true, selector: "app-base-form", inputs: { pageInfo: "pageInfo", fields: "fields", errors: "errors", editable: "editable", itemId: "itemId", hideBackButton: "hideBackButton" }, outputs: { actionResultEmitter: "actionResultEmitter", formUpdated: "formUpdated", itemLoaded: "itemLoaded", extraAction: "extraAction", hyperTextEvent: "hyperTextEvent" }, usesInheritance: true, usesOnChanges: true, ngImport: i0, template: "<div class=\"page-container\">\r\n\r\n <div class=\"row full-width mt-2vh\">\r\n <div class=\"column full-width\">\r\n <app-title-bar\r\n [pageTitle]=\"getTitle()\"\r\n [newAction]=\"false\"\r\n [hideBackButton]=\"hideBackButton\">\r\n </app-title-bar>\r\n </div>\r\n </div>\r\n\r\n <app-base-form-canvas\r\n [pageInfo]=\"pageInfo\"\r\n [fields]=\"fields\"\r\n [editable]=\"editable\"\r\n [errors]=\"errors\"\r\n [item]=\"item\"\r\n (formUpdated)=\"updateForm($event)\">\r\n </app-base-form-canvas>\r\n\r\n <div class=\"row main-form-canvas mt-3vh\">\r\n <div class=\"column flex-49\">\r\n <div class=\"row row-center-start\">\r\n <button *ngIf=\"hasWfPositivePermission()\" color=\"primary\" mat-flat-button\r\n (click)=\"doSaveApproveAction()\"\r\n [disabled]=\"disabledSaveButton(item)\"\r\n class=\"action-button\"\r\n id=\"base-form-positive-btn\">\r\n {{ getPositiveWfActionKey(item?.stateType) | translate }}\r\n </button>\r\n <button *ngIf=\"hasWfNegativePermission()\" color=\"second\" mat-raised-button\r\n (click)=\"doCancelRejectAction()\"\r\n [disabled]=\"disabledSaveButton(item)\"\r\n class=\"action-button\"\r\n id=\"base-form-negative-btn\">\r\n {{ getNegativeWfActionKey(item?.stateType) | translate }}\r\n </button>\r\n <button *ngIf=\"pageInfo.hideExtractButton === false && itemId > 0 && editable\" color=\"primary\" mat-raised-button\r\n (click)=\"doExtraAction()\"\r\n class=\"action-button\"\r\n id=\"base-form-extra-btn\">\r\n {{ pageInfo.labelsSection + \".\" + \"EXTRA_BUTTON_NAME\" | translate }}\r\n </button>\r\n </div>\r\n </div>\r\n <div class=\"column flex-49\"></div>\r\n </div>\r\n\r\n\r\n <ng-container *ngIf=\"!pageInfo.hideAuditLog\">\r\n <div class=\"row main-form-canvas mt-4vh pb-5vh\">\r\n <div class=\"column flex-95\">\r\n <app-audit-log [pageInfo]=\"pageInfo\" [fields]=\"fields\"></app-audit-log>\r\n </div>\r\n </div>\r\n </ng-container>\r\n\r\n</div>\r\n", styles: [".page-container{display:flex;flex-direction:column;width:100%}.row{display:flex;flex-direction:row;gap:10px;width:100%;flex-wrap:wrap}.column{display:flex;flex-direction:column}.full-width{width:100%}.flex-49{flex:0 0 49%}.flex-95{flex:0 0 95%}.row-center-start{align-items:center;justify-content:flex-start}.mt-2vh{margin-top:2vh}.mt-3vh{margin-top:3vh}.mt-4vh{margin-top:4vh}.pb-5vh{padding-bottom:5vh}.action-button{font-weight:700;min-width:140px;max-width:200px;margin:0 10px}@media (max-width: 960px){.flex-49,.flex-95{flex:1 1 100%}}@media (max-width: 600px){.row{flex-direction:column;align-items:center}.action-button{width:100%;max-width:300px;margin:5px 0}}\n"], dependencies: [{ kind: "component", type: TitleBarComponent, selector: "app-title-bar", inputs: ["pageTitle", "showExtractButton", "totalElements", "titleMode", "pageInfo", "subTitle", "statusDesc", "newAction", "extraButton", "showDetails", "showImport", "showButton", "extraData", "titleCorporateAdmin", "hideBackButton", "buttons", "buttonsDisplayMode", "draftSupported", "isPending", "onViewModeChange"], outputs: ["newActionClicked", "extraButtonClicked", "extractReport", "buttonClicked", "viewModeChanged"] }, { kind: "component", type: BaseFormCanvasComponent, selector: "app-base-form-canvas", inputs: ["pageInfo", "currency", "fields", "errors", "workflowEditableFields", "isWorkflowEditableManaged", "supportingAttributes", "editable", "emitOnValueChanges", "item", "equationSuggestedFields", "currentEquationValue"], outputs: ["attachmentEmitter", "actionEmitter", "formUpdated", "hyperTextEvent", "currentEquationValueChange"] }, { kind: "ngmodule", type: MatButtonModule }, { kind: "component", type: i6.MatButton, selector: " button[mat-button], button[mat-raised-button], button[mat-flat-button], button[mat-stroked-button] ", exportAs: ["matButton"] }, { kind: "ngmodule", type: TranslateModule }, { kind: "pipe", type: i7.TranslatePipe, name: "translate" }, { kind: "directive", type: NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "ngmodule", type: MatIconModule }, { kind: "component", type: AuditLogComponent, selector: "app-audit-log", inputs: ["pageInfo", "statusName", "module", "identifier", "fields", "showHiddenFields"] }] }); }
|
|
245
245
|
}
|
|
246
246
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: BaseFormComponent, decorators: [{
|
|
247
247
|
type: Component,
|