@eo-sdk/client 10.7.0-rc.3 → 10.7.0-rc.5
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/app/eo-client/dashboard/widgets/charts-widget/charts-setup/charts-setup.component.d.ts +3 -2
- package/app/eo-client/dashboard/widgets/charts-widget/charts-setup/charts-setup.component.d.ts.map +1 -1
- package/app/eo-client/dashboard/widgets/charts-widget/charts-widget.component.d.ts +59 -1
- package/app/eo-client/dashboard/widgets/charts-widget/charts-widget.component.d.ts.map +1 -1
- package/app/eo-client/dashboard/widgets/count-objects-widget/count-objects-setup/count-objects-setup.component.d.ts +1 -0
- package/app/eo-client/dashboard/widgets/count-objects-widget/count-objects-setup/count-objects-setup.component.d.ts.map +1 -1
- package/app/eo-client/dashboard/widgets/count-objects-widget/count-objects-widget.component.d.ts +6 -1
- package/app/eo-client/dashboard/widgets/count-objects-widget/count-objects-widget.component.d.ts.map +1 -1
- package/app/eo-client/dashboard/widgets/count-objects-widget/count-objects.model.d.ts +4 -0
- package/app/eo-client/dashboard/widgets/count-objects-widget/count-objects.model.d.ts.map +1 -1
- package/app/eo-client/dashboard/widgets/hitlist-widget/hitlist-widget.component.d.ts.map +1 -1
- package/app/eo-client/process-state/process-state.component.d.ts.map +1 -1
- package/app/eo-framework/form-elements/datetime-range/datetime-range.component.d.ts +2 -1
- package/app/eo-framework/form-elements/datetime-range/datetime-range.component.d.ts.map +1 -1
- package/app/eo-framework/form-elements/string/string.component.d.ts.map +1 -1
- package/app/eo-framework/object-details/object-details.component.d.ts.map +1 -1
- package/app/eo-framework/quick-search/quick-search/quick-search.component.d.ts.map +1 -1
- package/app/eo-framework/result-list/result-list.component.d.ts.map +1 -1
- package/app/eo-framework/upload-overlay/upload-overlay.component.d.ts.map +1 -1
- package/assets/_default/i18n/de.json +10 -3
- package/assets/_default/i18n/en.json +11 -4
- package/esm2020/app/eo-client/about-state/about-state.component.mjs +3 -3
- package/esm2020/app/eo-client/dashboard/dashboard.component.mjs +2 -2
- package/esm2020/app/eo-client/dashboard/widgets/charts-widget/charts-setup/charts-setup.component.mjs +65 -48
- package/esm2020/app/eo-client/dashboard/widgets/charts-widget/charts-widget.component.mjs +44 -11
- package/esm2020/app/eo-client/dashboard/widgets/count-objects-widget/count-objects-setup/count-objects-setup.component.mjs +17 -4
- package/esm2020/app/eo-client/dashboard/widgets/count-objects-widget/count-objects-widget.component.mjs +38 -6
- package/esm2020/app/eo-client/dashboard/widgets/count-objects-widget/count-objects.model.mjs +1 -1
- package/esm2020/app/eo-client/dashboard/widgets/hitlist-widget/hitlist-widget.component.mjs +17 -21
- package/esm2020/app/eo-client/process-state/process-state.component.mjs +1 -2
- package/esm2020/app/eo-framework/actions/actions/signature-action/sequence-list/sequence-list.component.mjs +3 -3
- package/esm2020/app/eo-framework/app-shell/app-bar/app-search/app-search.component.mjs +4 -4
- package/esm2020/app/eo-framework/form-elements/datetime-range/datetime-range.component.mjs +23 -8
- package/esm2020/app/eo-framework/form-elements/string/string.component.mjs +7 -3
- package/esm2020/app/eo-framework/object-details/object-details.component.mjs +9 -3
- package/esm2020/app/eo-framework/object-form/object-form/form-element-table/form-element-table.component.mjs +2 -2
- package/esm2020/app/eo-framework/object-form/object-form/form-element-table/row-edit/row-edit.component.mjs +2 -2
- package/esm2020/app/eo-framework/quick-search/quick-search/quick-search.component.mjs +3 -1
- package/esm2020/app/eo-framework/result-list/result-list.component.mjs +16 -3
- package/esm2020/app/eo-framework/ui/signature-tab/signature-tab.component.mjs +3 -3
- package/esm2020/app/eo-framework/upload-overlay/upload-overlay.component.mjs +4 -2
- package/esm2020/projects/eo-sdk/core/lib/service/auth/auth.service.mjs +3 -4
- package/esm2020/projects/eo-sdk/core/lib/service/auth/gateway-info.interface.mjs +1 -1
- package/fesm2015/eo-sdk-client-projects-eo-sdk-core.mjs +1 -3
- package/fesm2015/eo-sdk-client-projects-eo-sdk-core.mjs.map +1 -1
- package/fesm2015/eo-sdk-client.mjs +240 -113
- package/fesm2015/eo-sdk-client.mjs.map +1 -1
- package/fesm2020/eo-sdk-client-projects-eo-sdk-core.mjs +1 -3
- package/fesm2020/eo-sdk-client-projects-eo-sdk-core.mjs.map +1 -1
- package/fesm2020/eo-sdk-client.mjs +241 -111
- package/fesm2020/eo-sdk-client.mjs.map +1 -1
- package/package.json +3 -3
- package/projects/eo-sdk/core/lib/service/auth/auth.service.d.ts.map +1 -1
- package/projects/eo-sdk/core/lib/service/auth/gateway-info.interface.d.ts +0 -4
- package/projects/eo-sdk/core/lib/service/auth/gateway-info.interface.d.ts.map +1 -1
|
@@ -82,26 +82,23 @@ let HitlistWidgetComponent = class HitlistWidgetComponent {
|
|
|
82
82
|
return result.hits.hits.map(hit => {
|
|
83
83
|
for (let i = 0; i < propType.length; i++) {
|
|
84
84
|
let formField = i === 0 ? this._widgetConfig?.formValue?.firstLabel : i === 1 ? this._widgetConfig?.formValue?.secondLabel : this._widgetConfig?.formValue?.thirdLabel;
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
hit._source[formField]
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
85
|
+
if (hit._source[formField] !== undefined) {
|
|
86
|
+
switch (propType[i]) {
|
|
87
|
+
case 'DATETIME':
|
|
88
|
+
let datePipe = new LocaleDatePipe(this.translate);
|
|
89
|
+
let format = hit._source[formField].includes('T') ? '' : 'eoShortDate';
|
|
90
|
+
hit._source[formField] = datePipe.transform(hit._source[formField], format);
|
|
91
|
+
break;
|
|
92
|
+
case 'NUMBER':
|
|
93
|
+
let numberPipe = new LocaleNumberPipe(this.translate);
|
|
94
|
+
if (hit._source[formField].toString().includes('.')) {
|
|
95
|
+
hit._source[formField] = numberPipe.numberToString(hit._source[formField]);
|
|
96
|
+
}
|
|
97
|
+
break;
|
|
98
|
+
case 'BOOLEAN':
|
|
99
99
|
hit._source[formField] = hit._source[formField] ? '\u2611' : '\u2610';
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
hit._source[formField] = '';
|
|
103
|
-
}
|
|
104
|
-
break;
|
|
100
|
+
break;
|
|
101
|
+
}
|
|
105
102
|
}
|
|
106
103
|
}
|
|
107
104
|
return {
|
|
@@ -119,7 +116,6 @@ let HitlistWidgetComponent = class HitlistWidgetComponent {
|
|
|
119
116
|
this._query.name = queryName;
|
|
120
117
|
this._query.removeSortOption(this._widgetConfig?.formValue.sortField);
|
|
121
118
|
}, (error) => {
|
|
122
|
-
console.log(error);
|
|
123
119
|
this.hitlistResult = null;
|
|
124
120
|
this.refreshingRequest = false;
|
|
125
121
|
});
|
|
@@ -165,4 +161,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.2", ngImpor
|
|
|
165
161
|
}], widgetConfig: [{
|
|
166
162
|
type: Input
|
|
167
163
|
}] } });
|
|
168
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaGl0bGlzdC13aWRnZXQuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vc3JjL2FwcC9lby1jbGllbnQvZGFzaGJvYXJkL3dpZGdldHMvaGl0bGlzdC13aWRnZXQvaGl0bGlzdC13aWRnZXQuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vc3JjL2FwcC9lby1jbGllbnQvZGFzaGJvYXJkL3dpZGdldHMvaGl0bGlzdC13aWRnZXQvaGl0bGlzdC13aWRnZXQuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBLE9BQU8sRUFBQyxTQUFTLEVBQUUsS0FBSyxFQUFDLE1BQU0sZUFBZSxDQUFDO0FBRy9DLE9BQU8sRUFBaUcsS0FBSyxFQUFDLE1BQU0sY0FBYyxDQUFDO0FBRW5JLE9BQU8sRUFBQyxLQUFLLEVBQUUsR0FBRyxFQUFDLE1BQU0sTUFBTSxDQUFDO0FBRWhDLE9BQU8sRUFBQyxZQUFZLEVBQUUsY0FBYyxFQUFDLE1BQU0sdUJBQXVCLENBQUM7QUFDbkUsT0FBTyxFQUFDLEdBQUcsRUFBQyxNQUFNLGdCQUFnQixDQUFDO0FBQ25DLE9BQU8sRUFBQyxjQUFjLEVBQUUsZ0JBQWdCLEVBQUMsTUFBTSwrQkFBK0IsQ0FBQzs7Ozs7Ozs7OztBQVF4RSxJQUFNLHNCQUFzQixHQUE1QixNQUFNLHNCQUFzQjtJQVNqQyxZQUNVLE1BQWMsRUFDZCxhQUE0QixFQUM1QixnQkFBa0MsRUFDbEMsYUFBNEIsRUFDNUIsb0JBQTBDLEVBQzFDLFNBQTJCO1FBTDNCLFdBQU0sR0FBTixNQUFNLENBQVE7UUFDZCxrQkFBYSxHQUFiLGFBQWEsQ0FBZTtRQUM1QixxQkFBZ0IsR0FBaEIsZ0JBQWdCLENBQWtCO1FBQ2xDLGtCQUFhLEdBQWIsYUFBYSxDQUFlO1FBQzVCLHlCQUFvQixHQUFwQixvQkFBb0IsQ0FBc0I7UUFDMUMsY0FBUyxHQUFULFNBQVMs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LENBQUMsS0FBSztRQUNwQixPQUFPLElBQUksQ0FBQyxNQUFNLENBQUMsTUFBTSxDQUFDO1FBQzFCLE1BQU0sUUFBUSxHQUFHLGtCQUFrQixDQUFDLEtBQUssQ0FBQyxpQkFBaUIsQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLFlBQVksRUFBRSxDQUFDLENBQUMsQ0FBQztRQUN6RixNQUFNLGFBQWEsR0FBcUIsRUFBQyxXQUFXLEVBQUUsRUFBQyxPQUFPLEVBQUUsUUFBUSxFQUFDLEVBQUMsQ0FBQztRQUMzRSxNQUFNLFdBQVcsR0FBRyxJQUFJLGVBQWUsQ0FBQyxhQUFhLENBQUMsV0FBVyxDQUFDLENBQUMsUUFBUSxFQUFFLENBQUM7UUFDOUUsTUFBTSxHQUFHLEdBQUcsTUFBTSxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLFlBQVksQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLFVBQVUsR0FBRyxXQUFXLENBQUM7UUFDbkYsTUFBTSxDQUFDLElBQUksQ0FBQyxHQUFHLEVBQUUsS0FBSyxFQUFFLE9BQU8sSUFBSSxJQUFJLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxDQUFDO0lBQ3pFLENBQUM7O21IQTFKVSxzQkFBc0I7dUdBQXRCLHNCQUFzQix5SENqQm5DLDIyREFxQ0E7QURwQmEsc0JBQXNCO0lBTmxDLFlBQVksRUFBRTtHQU1GLHNCQUFzQixDQTJKbEM7U0EzSlksc0JBQXNCOzJGQUF0QixzQkFBc0I7a0JBTGxDLFNBQVM7K0JBQ0UsbUJBQW1CO3NQQVdwQixRQUFRO3NCQUFoQixLQUFLO2dCQVdPLFlBQVk7c0JBQXhCLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge0NvbXBvbmVudCwgSW5wdXR9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHtJV2lkZ2V0Q29tcG9uZW50fSBmcm9tICdAeXV1dmlzL3dpZGdldC1ncmlkJztcbmltcG9ydCB7SUhpdGxpc3R9IGZyb20gJy4vSUhpdGxpc3QnO1xuaW1wb3J0IHtTZWFyY2hRdWVyeSwgU2VhcmNoU2VydmljZSwgU3RvcmVkUXVlcmllc1NlcnZpY2UsIFN0b3JlZFF1ZXJ5LCBTeXN0ZW1TZXJ2aWNlLCBUcmFuc2xhdGVTZXJ2aWNlLCBVdGlsc30gZnJvbSAnQGVvLXNkay9jb3JlJztcbmltcG9ydCB7QXBwU2VhcmNoU2VydmljZX0gZnJvbSAnLi4vLi4vLi4vLi4vZW8tZnJhbWV3b3JrLWNvcmUvc2VhcmNoL2FwcC1zZWFyY2guc2VydmljZSc7XG5pbXBvcnQge0VNUFRZLCBtYXB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHtOYXZpZ2F0aW9uRXh0cmFzLCBSb3V0ZXJ9IGZyb20gJ0Bhbmd1bGFyL3JvdXRlcic7XG5pbXBvcnQge1VudGlsRGVzdHJveSwgdW50aWxEZXN0cm95ZWR9IGZyb20gJ0BuZ25lYXQvdW50aWwtZGVzdHJveSc7XG5pbXBvcnQge3RhcH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuaW1wb3J0IHtMb2NhbGVEYXRlUGlwZSwgTG9jYWxlTnVtYmVyUGlwZX0gZnJvbSAnLi4vLi4vLi4vLi4vZW8tZnJhbWV3b3JrLWNvcmUnO1xuXG5AVW50aWxEZXN0cm95KClcbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2VvLWhpdGxpc3Qtd2lkZ2V0JyxcbiAgdGVtcGxhdGVVcmw6ICcuL2hpdGxpc3Qtd2lkZ2V0LmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJy4vaGl0bGlzdC13aWRnZXQuY29tcG9uZW50LnNjc3MnXVxufSlcbmV4cG9ydCBjbGFzcyBIaXRsaXN0V2lkZ2V0Q29tcG9uZW50IGltcGxlbWVudHMgSVdpZGdldENvbXBvbmVudCB7XG5cbiAgaGl0bGlzdFJlc3VsdDogW107XG4gIHByaXZhdGUgX3F1ZXJ5OiBTZWFyY2hRdWVyeTtcbiAgcmVmcmVzaGluZ1JlcXVlc3Q6IGJvb2xlYW47XG4gIHByaXZhdGUgX3dpZGdldENvbmZpZzogSUhpdGxpc3Q7XG4gIHN0b3JlZFF1ZXJ5OiBTdG9yZWRRdWVyeTtcbiAgQElucHV0KCkgZWRpdE1vZGUgPSBmYWxzZTtcblxuICBjb25zdHJ1Y3RvcihcbiAgICBwcml2YXRlIHJvdXRlcjogUm91dGVyLFxuICAgIHByaXZhdGUgc2VhcmNoU2VydmljZTogU2VhcmNoU2VydmljZSxcbiAgICBwcml2YXRlIGFwcFNlYXJjaFNlcnZpY2U6IEFwcFNlYXJjaFNlcnZpY2UsXG4gICAgcHJpdmF0ZSBzeXN0ZW1TZXJ2aWNlOiBTeXN0ZW1TZXJ2aWNlLFxuICAgIHByaXZhdGUgc3RvcmVkUXVlcmllc1NlcnZpY2U6IFN0b3JlZFF1ZXJpZXNTZXJ2aWNlLFxuICAgIHByaXZhdGUgdHJhbnNsYXRlOiBUcmFuc2xhdGVTZXJ2aWNlXG4gICkgeyB9XG5cbiAgQElucHV0KCkgc2V0IHdpZGdldENvbmZpZyhjOiBJSGl0bGlzdCkge1xuICAgIHRoaXMuX3dpZGdldENvbmZpZyA9IGM7XG4gICAgaWYgKHRoaXMuX3dpZGdldENvbmZpZz8uc3RvcmVkUXVlcnkpIHtcbiAgICAgIHRoaXMuZ2V0U3RvcmVkUXVlcnkodGhpcy5fd2lkZ2V0Q29uZmlnLnN0b3JlZFF1ZXJ5KS5zdWJzY3JpYmUoKCkgPT4ge1xuICAgICAgICB0aGlzLl9xdWVyeSA9IHRoaXMuc2VhcmNoU2VydmljZS5idWlsZFF1ZXJ5KHRoaXMuc3RvcmVkUXVlcnkpO1xuICAgICAgICB0aGlzLl93aWRnZXRDb25maWcuZm9ybVZhbHVlLnN0b3JlZFF1ZXJ5ID0gdGhpcy5zdG9yZWRRdWVyeS5uYW1lO1xuICAgICAgICB0aGlzLmV4ZWN1dGVRdWVyeSgpO1xuICAgICAgfSwgKGVycm9yKSA9PiB7XG4gICAgICAgIGlmIChlcnJvci5zdGF0dXMgPT09IDQwNCkge1xuICAgICAgICAgIHJldHVybiBFTVBUWTtcbiAgICAgICAgfVxuICAgICAgICB0aHJvdyBlcnJvcjtcbiAgICAgIH0pO1xuICAgIH1cbiAgfVxuXG4gIGdldCB3aWRnZXRDb25maWcoKSB7XG4gICAgcmV0dXJuIHRoaXMuX3dpZGdldENvbmZpZztcbiAgfVxuXG4gIGdldFN0b3JlZFF1ZXJ5KGlkOiBzdHJpbmcpIHtcbiAgICByZXR1cm4gdGhpcy5zdG9yZWRRdWVyaWVzU2VydmljZS5nZXRTdG9yZWRRdWVyeShpZCkucGlwZShcbiAgICAgIHVudGlsRGVzdHJveWVkKHRoaXMpLFxuICAgICAgdGFwKHN0b3JlZFF1ZXJ5ID0+IHtcbiAgICAgICAgdGhpcy5zdG9yZWRRdWVyeSA9IHN0b3JlZFF1ZXJ5O1xuICAgICAgfSlcbiAgICApO1xuICB9XG5cbiAgcHJpdmF0ZSBleGVjdXRlUXVlcnkoKSB7XG4gICAgdGhpcy5yZWZyZXNoaW5nUmVxdWVzdCA9IHRydWU7XG4gICAgY29uc3QgcXVlcnlOYW1lID0gdGhpcy5fcXVlcnkubmFtZTtcbiAgICBkZWxldGUgdGhpcy5fcXVlcnkubmFtZTtcbiAgICB0aGlzLl9xdWVyeS5maWVsZHMgPSBbJ3R5cGUnLCAnaWQnXTtcbiAgICBpZiAodGhpcy5fd2lkZ2V0Q29uZmlnPy5mb3JtVmFsdWU/LmZpcnN0TGFiZWwpIHtcbiAgICAgIHRoaXMuX3F1ZXJ5LmZpZWxkcy5wdXNoKHRoaXMuX3dpZGdldENvbmZpZz8uZm9ybVZhbHVlPy5maXJzdExhYmVsKTtcbiAgICB9XG4gICAgaWYgKHRoaXMuX3dpZGdldENvbmZpZz8uZm9ybVZhbHVlPy5zZWNvbmRMYWJlbCkge1xuICAgICAgdGhpcy5fcXVlcnkuZmllbGRzLnB1c2godGhpcy5fd2lkZ2V0Q29uZmlnPy5mb3JtVmFsdWU/LnNlY29uZExhYmVsKTtcbiAgICB9XG4gICAgaWYgKHRoaXMuX3dpZGdldENvbmZpZz8uZm9ybVZhbHVlPy50aGlyZExhYmVsKSB7XG4gICAgICB0aGlzLl9xdWVyeS5maWVsZHMucHVzaCh0aGlzLl93aWRnZXRDb25maWc/LmZvcm1WYWx1ZT8udGhpcmRMYWJlbCk7XG4gICAgfVxuICAgIGlmICh0aGlzLl9xdWVyeS5maWVsZHMubGVuZ3RoID09PSAyKSB7XG4gICAgICB0aGlzLmhpdGxpc3RSZXN1bHQgPSBudWxsO1xuICAgICAgdGhpcy5yZWZyZXNoaW5nUmVxdWVzdCA9IGZhbHNlO1xuICAgICAgcmV0dXJuO1xuICAgIH1cbiAgICBpZiAodGhpcy5fd2lkZ2V0Q29uZmlnPy5mb3JtVmFsdWUuc29ydEZpZWxkKSB7XG4gICAgICBpZiAodGhpcy5fd2lkZ2V0Q29uZmlnPy5mb3JtVmFsdWUuc29ydFJldmVydCkge1xuICAgICAgICB0aGlzLl9xdWVyeS5hZGRTb3J0T3B0aW9uKHRoaXMuX3dpZGdldENvbmZpZz8uZm9ybVZhbHVlLnNvcnRGaWVsZCwgJ2FzYycpO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgdGhpcy5fcXVlcnkuYWRkU29ydE9wdGlvbih0aGlzLl93aWRnZXRDb25maWc/LmZvcm1WYWx1ZS5zb3J0RmllbGQsICdkZXNjJyk7XG4gICAgICB9XG4gICAgfVxuICAgIHRoaXMuX3F1ZXJ5ID0gdGhpcy5zZWFyY2hTZXJ2aWNlLmJ1aWxkUXVlcnkodGhpcy5fcXVlcnkpO1xuICAgIGxldCBwcm9wVHlwZSA9IFt0aGlzLl93aWRnZXRDb25maWcuZmlyc3RMYWJlbHByb3BlcnR5VHlwZSwgdGhpcy5fd2lkZ2V0Q29uZmlnLnNlY29uZExhYmVscHJvcGVydHlUeXBlLCB0aGlzLl93aWRnZXRDb25maWcudGhpcmRMYWJlbHByb3BlcnR5VHlwZV07XG4gICAgdGhpcy5zZWFyY2hTZXJ2aWNlXG4gICAgICAuZXhlY3V0ZVF1ZXJ5KHRoaXMuX3F1ZXJ5LmdldFF1ZXJ5SnNvbigpLCBmYWxzZSwgdGhpcy5fd2lkZ2V0Q29uZmlnPy5mb3JtVmFsdWUuc2l6ZSlcbiAgICAgIC5waXBlKG1hcChyZXN1bHQgPT4ge1xuICAgICAgICByZXR1cm4gcmVzdWx0LmhpdHMuaGl0cy5tYXAoaGl0ID0+IHtcbiAgICAgICAgICBmb3IgKGxldCBpPTA7IGkgPCBwcm9wVHlwZS5sZW5ndGg7IGkrKykge1xuICAgICAgICAgICAgbGV0IGZvcm1GaWVsZCA9IGkgPT09IDAgPyB0aGlzLl93aWRnZXRDb25maWc/LmZvcm1WYWx1ZT8uZmlyc3RMYWJlbCA6IGkgPT09IDEgPyB0aGlzLl93aWRnZXRDb25maWc/LmZvcm1WYWx1ZT8uc2Vjb25kTGFiZWwgOiB0aGlzLl93aWRnZXRDb25maWc/LmZvcm1WYWx1ZT8udGhpcmRMYWJlbDtcbiAgICAgICAgICAgIHN3aXRjaChwcm9wVHlwZVtpXSkge1xuICAgICAgICAgICAgICBjYXNlICdEQVRFVElNRSc6XG4gICAgICAgICAgICAgICAgbGV0IGRhdGVQaXBlID0gbmV3IExvY2FsZURhdGVQaXBlKHRoaXMudHJhbnNsYXRlKTtcbiAgICAgICAgICAgICAgICBsZXQgZm9ybWF0ID0gaGl0Ll9zb3VyY2VbZm9ybUZpZWxkXS5pbmNsdWRlcygnVCcpID8gJycgOiAnZW9TaG9ydERhdGUnO1xuICAgICAgICAgICAgICAgIGhpdC5fc291cmNlW2Zvcm1GaWVsZF0gPSBkYXRlUGlwZS50cmFuc2Zvcm0oaGl0Ll9zb3VyY2VbZm9ybUZpZWxkXSwgZm9ybWF0KTtcbiAgICAgICAgICAgICAgICBicmVhaztcbiAgICAgICAgICAgICAgY2FzZSAnTlVNQkVSJzpcbiAgICAgICAgICAgICAgICBsZXQgbnVtYmVyUGlwZSA9IG5ldyBMb2NhbGVOdW1iZXJQaXBlKHRoaXMudHJhbnNsYXRlKTtcbiAgICAgICAgICAgICAgICBpZiAoaGl0Ll9zb3VyY2VbZm9ybUZpZWxkXS50b1N0cmluZygpLmluY2x1ZGVzKCcuJykpIHtcbiAgICAgICAgICAgICAgICAgIGhpdC5fc291cmNlW2Zvcm1GaWVsZF0gPSBudW1iZXJQaXBlLm51bWJlclRvU3RyaW5nKGhpdC5fc291cmNlW2Zvcm1GaWVsZF0pO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICBicmVhaztcbiAgICAgICAgICAgICAgY2FzZSAnQk9PTEVBTic6XG4gICAgICAgICAgICAgICAgaWYgKGhpdC5fc291cmNlW2Zvcm1GaWVsZF0gIT09IHVuZGVmaW5lZCkge1xuICAgICAgICAgICAgICAgICAgaGl0Ll9zb3VyY2VbZm9ybUZpZWxkXSA9IGhpdC5fc291cmNlW2Zvcm1GaWVsZF0gPyAnXFx1MjYxMScgOiAnXFx1MjYxMCc7XG4gICAgICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgICAgIGhpdC5fc291cmNlW2Zvcm1GaWVsZF0gPSAnJztcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuICAgICAgICAgIHJldHVybiB7XG4gICAgICAgICAgICAnZmlyc3RMYWJlbCc6IGhpdC5fc291cmNlW3RoaXMuX3dpZGdldENvbmZpZz8uZm9ybVZhbHVlPy5maXJzdExhYmVsXSxcbiAgICAgICAgICAgICdzZWNvbmRMYWJlbCc6IGhpdD8uX3NvdXJjZVt0aGlzLl93aWRnZXRDb25maWc/LmZvcm1WYWx1ZT8uc2Vjb25kTGFiZWxdLFxuICAgICAgICAgICAgJ3RoaXJkTGFiZWwnOiBoaXQ/Ll9zb3VyY2VbdGhpcy5fd2lkZ2V0Q29uZmlnPy5mb3JtVmFsdWU/LnRoaXJkTGFiZWxdLFxuICAgICAgICAgICAgJ3R5cGUnOiB0aGlzLnN5c3RlbVNlcnZpY2UuZ2V0T2JqZWN0VHlwZShoaXQuX3NvdXJjZS50eXBlKSxcbiAgICAgICAgICAgICdpZCc6IGhpdC5fc291cmNlLmlkXG4gICAgICAgICAgfTtcbiAgICAgICAgfSk7XG4gICAgICB9KSlcbiAgICAgIC5zdWJzY3JpYmUoKGhpdHMpID0+IHtcbiAgICAgICAgdGhpcy5yZWZyZXNoaW5nUmVxdWVzdCA9IGZhbHNlO1xuICAgICAgICB0aGlzLmhpdGxpc3RSZXN1bHQgPSBoaXRzO1xuICAgICAgICB0aGlzLl9xdWVyeS5uYW1lID0gcXVlcnlOYW1lO1xuICAgICAgICB0aGlzLl9xdWVyeS5yZW1vdmVTb3J0T3B0aW9uKHRoaXMuX3dpZGdldENvbmZpZz8uZm9ybVZhbHVlLnNvcnRGaWVsZCk7XG4gICAgICB9LFxuICAgICAgICAoZXJyb3IpID0+IHtcbiAgICAgICAgICBjb25zb2xlLmxvZyhlcnJvcik7XG4gICAgICAgICAgXG4gICAgICAgICAgdGhpcy5oaXRsaXN0UmVzdWx0ID0gbnVsbDtcbiAgICAgICAgICB0aGlzLnJlZnJlc2hpbmdSZXF1ZXN0ID0gZmFsc2U7XG4gICAgICAgIH0pO1xuICB9XG5cbiAgc2V0UXVlcnlUb0FwcFNlYXJjaCgpIHtcbiAgICB0aGlzLmFwcFNlYXJjaFNlcnZpY2Uuc2V0UXVlcnkodGhpcy5zdG9yZWRRdWVyeSk7XG4gICAgdGhpcy5yb3V0ZXIubmF2aWdhdGUoW3tvdXRsZXRzOiB7bW9kYWw6ICdzZWFyY2gnfX1dKTtcbiAgfVxuXG4gIHJlZnJlc2goKSB7XG4gICAgdGhpcy5nZXRTdG9yZWRRdWVyeSh0aGlzLl93aWRnZXRDb25maWcuc3RvcmVkUXVlcnkpLnN1YnNjcmliZSgoKSA9PiB7XG4gICAgICB0aGlzLl9xdWVyeSA9IHRoaXMuc2VhcmNoU2VydmljZS5idWlsZFF1ZXJ5KHRoaXMuc3RvcmVkUXVlcnkpO1xuICAgICAgdGhpcy5fd2lkZ2V0Q29uZmlnLmZvcm1WYWx1ZS5zdG9yZWRRdWVyeSA9IHRoaXMuc3RvcmVkUXVlcnkubmFtZTtcbiAgICAgIHRoaXMuZXhlY3V0ZVF1ZXJ5KCk7XG4gICAgfSxcbiAgICAgIChlcnJvcikgPT4ge1xuICAgICAgICB0aGlzLmhpdGxpc3RSZXN1bHQgPSBudWxsO1xuICAgICAgICB0aGlzLnJlZnJlc2hpbmdSZXF1ZXN0ID0gZmFsc2U7XG4gICAgICB9KTtcbiAgfVxuXG4gIG9uSXRlbUNsaWNrKGl0ZW0sIGV2ZW50KSB7XG4gICAgY29uc3QgdXJsID0gd2luZG93LmxvY2F0aW9uLmhyZWYuc3BsaXQoJy9kYXNoYm9hcmQnKVswXSArICcvb2JqZWN0LycgKyBpdGVtLmlkICsgJz90eXBlPScgKyBpdGVtLnR5cGUubmFtZSArICdcXG4nO1xuICAgIHdpbmRvdy5vcGVuKHVybCwgZXZlbnQ/LmN0cmxLZXkgfHwgdGhpcy5lZGl0TW9kZSA/ICdfYmxhbmsnIDogJ19zZWxmJyk7XG4gIH1cblxuICBvbkVtaXRRdWVyeUNsaWNrKGV2ZW50KSB7XG4gICAgZGVsZXRlIHRoaXMuX3F1ZXJ5LmZpZWxkcztcbiAgICBjb25zdCB1cmlQYXJhbSA9IGVuY29kZVVSSUNvbXBvbmVudChVdGlscy5mb3JtRGF0YVN0cmluZ2lmeSh0aGlzLl9xdWVyeS5nZXRRdWVyeUpzb24oKSkpO1xuICAgIGNvbnN0IHVyaVBhcmFtUXVlcnk6IE5hdmlnYXRpb25FeHRyYXMgPSB7cXVlcnlQYXJhbXM6IHsncXVlcnknOiB1cmlQYXJhbX19O1xuICAgIGNvbnN0IHF1ZXJ5UGFyYW1zID0gbmV3IFVSTFNlYXJjaFBhcmFtcyh1cmlQYXJhbVF1ZXJ5LnF1ZXJ5UGFyYW1zKS50b1N0cmluZygpO1xuICAgIGNvbnN0IHVybCA9IHdpbmRvdy5sb2NhdGlvbi5ocmVmLnNwbGl0KCcvZGFzaGJvYXJkJylbMF0gKyAnL3Jlc3VsdD8nICsgcXVlcnlQYXJhbXM7XG4gICAgd2luZG93Lm9wZW4odXJsLCBldmVudD8uY3RybEtleSB8fCB0aGlzLmVkaXRNb2RlID8gJ19ibGFuaycgOiAnX3NlbGYnKTtcbiAgfVxufVxuIiwiPGhlYWRlcj5cbiAgICA8ZGl2IGNsYXNzPVwiaGVhZGVyLXRpdGxlXCI+XG4gICAgICAgIDxkaXYgY2xhc3M9XCJ0aXRsZVwiICpuZ0lmPVwid2lkZ2V0Q29uZmlnPy5mb3JtVmFsdWUuc3RvcmVkUXVlcnlcIj5cbiAgICAgICAgICAgIHt7d2lkZ2V0Q29uZmlnPy5mb3JtVmFsdWUuc3RvcmVkUXVlcnl9fTwvZGl2PlxuICAgICAgICA8ZGl2IGNsYXNzPVwiaWNvbnMtdGl0bGVcIiAqbmdJZj1cInRoaXMud2lkZ2V0Q29uZmlnPy5zdG9yZWRRdWVyeVwiPlxuICAgICAgICAgICAgPGVvLWljb24gY2xhc3M9XCJidXR0b24gcHJpbWFyeVwiIFtpY29uU3JjXT1cIidhc3NldHMvX2RlZmF1bHQvc3ZnL2ljX3NhdmVkX3NlYXJjaC5zdmcnXCJcbiAgICAgICAgICAgICAgICAoY2xpY2spPVwic2V0UXVlcnlUb0FwcFNlYXJjaCgpXCJcbiAgICAgICAgICAgICAgICBbaWNvblRpdGxlXT1cIignZW8ud2lkZ2V0LmhpdGxpc3QudG9vbHRpcC5zYXZlZFNlYXJjaEljb24nfCB0cmFuc2xhdGUpXCI+PC9lby1pY29uPlxuICAgICAgICAgICAgPGVvLWljb24gY2xhc3M9XCJidXR0b24gcHJpbWFyeVwiIFtpY29uU3JjXT1cIidhc3NldHMvX2RlZmF1bHQvc3ZnL2ljX29wZW5fdGFiLnN2ZydcIlxuICAgICAgICAgICAgICAgIChjbGljayk9XCJvbkVtaXRRdWVyeUNsaWNrKCRldmVudClcIlxuICAgICAgICAgICAgICAgIFtpY29uVGl0bGVdPVwiKCdlby53aWRnZXQuaGl0bGlzdC50b29sdGlwLm9wZW5pbnJlc3VsdGxpc3QnfCB0cmFuc2xhdGUpXCI+PC9lby1pY29uPlxuICAgICAgICAgICAgPGVvLWljb24gY2xhc3M9XCJidXR0b24gcHJpbWFyeVwiIFtpY29uU3JjXT1cIidhc3NldHMvX2RlZmF1bHQvc3ZnL2ljX3JlZnJlc2guc3ZnJ1wiIChjbGljayk9XCJyZWZyZXNoKClcIlxuICAgICAgICAgICAgICAgIFtpY29uVGl0bGVdPVwiKCdlby53aWRnZXQuaGl0bGlzdC50b29sdGlwLnJlZnJlc2gnfCB0cmFuc2xhdGUpXCI+PC9lby1pY29uPlxuICAgICAgICA8L2Rpdj5cbiAgICA8L2Rpdj5cbjwvaGVhZGVyPlxuXG48bWFpbiBjbGFzcz1cImxvYWRlci1vdmVybGF5X19tYXNrXCIgKm5nSWY9XCJyZWZyZXNoaW5nUmVxdWVzdFwiPlxuICAgIDxlby1sb2FkaW5nLXNwaW5uZXIgW3NpemVdPVwiJ2xhcmdlJ1wiPjwvZW8tbG9hZGluZy1zcGlubmVyPlxuPC9tYWluPlxuXG48bWFpbiBjbGFzcz1cImhpdGxpc3RcIiAqbmdJZj1cIiFyZWZyZXNoaW5nUmVxdWVzdFwiPlxuICAgIDxkaXYgKm5nSWY9XCJoaXRsaXN0UmVzdWx0OyBlbHNlIHRwbEVtcHR5XCI+XG4gICAgICAgIDxkaXYgY2xhc3M9XCJpdGVtXCIgKm5nRm9yPVwibGV0IGkgb2YgaGl0bGlzdFJlc3VsdFwiIChjbGljayk9XCJvbkl0ZW1DbGljayhpLCAkZXZlbnQpXCI+XG4gICAgICAgICAgPGRpdiBjbGFzcz1cInByZVRpdGxlXCI+e3tpLmZpcnN0TGFiZWx9fTwvZGl2PlxuICAgICAgICAgIDxkaXYgY2xhc3M9XCJ0aXRsZVwiPnt7aS5zZWNvbmRMYWJlbH19PC9kaXY+XG4gICAgICAgICAgPGRpdiBjbGFzcz1cImRlc2NyaXB0aW9uXCI+e3tpLnRoaXJkTGFiZWx9fTwvZGl2PlxuICAgICAgICAgIDxlby1pY29uIFtvYmplY3RUeXBlXT1cImkudHlwZVwiPjwvZW8taWNvbj5cbiAgICAgICAgPC9kaXY+XG4gICAgPC9kaXY+XG4gICAgPG5nLXRlbXBsYXRlICN0cGxFbXB0eT5cbiAgICAgICAgPGRpdiBjbGFzcz1cImVtcHR5XCI+XG4gICAgICAgICAgICA8ZW8tZXJyb3ItbWVzc2FnZVxuICAgICAgICAgICAgICAgIFtlbXB0eVN0YXRlXT1cIntpY29uOiAnaWNfc2F2ZWRfc2VhcmNoLnN2ZycsIHRleHQ6ICdlby53b3Jrc3BhY2Uud2lkZ2V0LmNvbmZpZ3VyYXRpb24ubm90T2snfVwiPjwvZW8tZXJyb3ItbWVzc2FnZT5cbiAgICAgICAgPC9kaXY+XG4gICAgPC9uZy10ZW1wbGF0ZT5cbjwvbWFpbj5cbiJdfQ==
|
|
164
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaGl0bGlzdC13aWRnZXQuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vc3JjL2FwcC9lby1jbGllbnQvZGFzaGJvYXJkL3dpZGdldHMvaGl0bGlzdC13aWRnZXQvaGl0bGlzdC13aWRnZXQuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vc3JjL2FwcC9lby1jbGllbnQvZGFzaGJvYXJkL3dpZGdldHMvaGl0bGlzdC13aWRnZXQvaGl0bGlzdC13aWRnZXQuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBLE9BQU8sRUFBQyxTQUFTLEVBQUUsS0FBSyxFQUFDLE1BQU0sZUFBZSxDQUFDO0FBRy9DLE9BQU8sRUFBaUcsS0FBSyxFQUFDLE1BQU0sY0FBYyxDQUFDO0FBRW5JLE9BQU8sRUFBQyxLQUFLLEVBQUUsR0FBRyxFQUFDLE1BQU0sTUFBTSxDQUFDO0FBRWhDLE9BQU8sRUFBQyxZQUFZLEVBQUUsY0FBYyxFQUFDLE1BQU0sdUJBQXVCLENBQUM7QUFDbkUsT0FBTyxFQUFDLEdBQUcsRUFBQyxNQUFNLGdCQUFnQixDQUFDO0FBQ25DLE9BQU8sRUFBQyxjQUFjLEVBQUUsZ0JBQWdCLEVBQUMsTUFBTSwrQkFBK0IsQ0FBQzs7Ozs7Ozs7OztBQVF4RSxJQUFNLHNCQUFzQixHQUE1QixNQUFNLHNCQUFzQjtJQVNqQyxZQUNVLE1BQWMsRUFDZCxhQUE0QixFQUM1QixnQkFBa0MsRUFDbEMsYUFBNEIsRUFDNUIsb0JBQTBDLEVBQzFDLFNBQTJCO1FBTDNCLFdBQU0sR0FBTixNQUFNLENBQVE7UUFDZCxrQkFBYSxHQUFiLGFBQWEsQ0FBZTtRQUM1QixxQkFBZ0IsR0FBaEIsZ0JBQWdCLENBQWtCO1FBQ2xDLGtCQUFhLEdBQWIsYUFBYSxDQUFlO1FBQzVCLHlCQUFvQixHQUFwQixvQkFBb0IsQ0FBc0I7UUFDMUMsY0FBUyxHQUFULFNBQVMs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QyxJQUFJLENBQUMsTUFBTSxDQUFDLFlBQVksRUFBRSxDQUFDLENBQUMsQ0FBQztRQUN6RixNQUFNLGFBQWEsR0FBcUIsRUFBQyxXQUFXLEVBQUUsRUFBQyxPQUFPLEVBQUUsUUFBUSxFQUFDLEVBQUMsQ0FBQztRQUMzRSxNQUFNLFdBQVcsR0FBRyxJQUFJLGVBQWUsQ0FBQyxhQUFhLENBQUMsV0FBVyxDQUFDLENBQUMsUUFBUSxFQUFFLENBQUM7UUFDOUUsTUFBTSxHQUFHLEdBQUcsTUFBTSxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLFlBQVksQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLFVBQVUsR0FBRyxXQUFXLENBQUM7UUFDbkYsTUFBTSxDQUFDLElBQUksQ0FBQyxHQUFHLEVBQUUsS0FBSyxFQUFFLE9BQU8sSUFBSSxJQUFJLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxDQUFDO0lBQ3pFLENBQUM7O21IQXRKVSxzQkFBc0I7dUdBQXRCLHNCQUFzQix5SENqQm5DLDIyREFxQ0E7QURwQmEsc0JBQXNCO0lBTmxDLFlBQVksRUFBRTtHQU1GLHNCQUFzQixDQXVKbEM7U0F2Slksc0JBQXNCOzJGQUF0QixzQkFBc0I7a0JBTGxDLFNBQVM7K0JBQ0UsbUJBQW1CO3NQQVdwQixRQUFRO3NCQUFoQixLQUFLO2dCQVdPLFlBQVk7c0JBQXhCLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge0NvbXBvbmVudCwgSW5wdXR9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHtJV2lkZ2V0Q29tcG9uZW50fSBmcm9tICdAeXV1dmlzL3dpZGdldC1ncmlkJztcbmltcG9ydCB7SUhpdGxpc3R9IGZyb20gJy4vSUhpdGxpc3QnO1xuaW1wb3J0IHtTZWFyY2hRdWVyeSwgU2VhcmNoU2VydmljZSwgU3RvcmVkUXVlcmllc1NlcnZpY2UsIFN0b3JlZFF1ZXJ5LCBTeXN0ZW1TZXJ2aWNlLCBUcmFuc2xhdGVTZXJ2aWNlLCBVdGlsc30gZnJvbSAnQGVvLXNkay9jb3JlJztcbmltcG9ydCB7QXBwU2VhcmNoU2VydmljZX0gZnJvbSAnLi4vLi4vLi4vLi4vZW8tZnJhbWV3b3JrLWNvcmUvc2VhcmNoL2FwcC1zZWFyY2guc2VydmljZSc7XG5pbXBvcnQge0VNUFRZLCBtYXB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHtOYXZpZ2F0aW9uRXh0cmFzLCBSb3V0ZXJ9IGZyb20gJ0Bhbmd1bGFyL3JvdXRlcic7XG5pbXBvcnQge1VudGlsRGVzdHJveSwgdW50aWxEZXN0cm95ZWR9IGZyb20gJ0BuZ25lYXQvdW50aWwtZGVzdHJveSc7XG5pbXBvcnQge3RhcH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuaW1wb3J0IHtMb2NhbGVEYXRlUGlwZSwgTG9jYWxlTnVtYmVyUGlwZX0gZnJvbSAnLi4vLi4vLi4vLi4vZW8tZnJhbWV3b3JrLWNvcmUnO1xuXG5AVW50aWxEZXN0cm95KClcbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2VvLWhpdGxpc3Qtd2lkZ2V0JyxcbiAgdGVtcGxhdGVVcmw6ICcuL2hpdGxpc3Qtd2lkZ2V0LmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJy4vaGl0bGlzdC13aWRnZXQuY29tcG9uZW50LnNjc3MnXVxufSlcbmV4cG9ydCBjbGFzcyBIaXRsaXN0V2lkZ2V0Q29tcG9uZW50IGltcGxlbWVudHMgSVdpZGdldENvbXBvbmVudCB7XG5cbiAgaGl0bGlzdFJlc3VsdDogW107XG4gIHByaXZhdGUgX3F1ZXJ5OiBTZWFyY2hRdWVyeTtcbiAgcmVmcmVzaGluZ1JlcXVlc3Q6IGJvb2xlYW47XG4gIHByaXZhdGUgX3dpZGdldENvbmZpZzogSUhpdGxpc3Q7XG4gIHN0b3JlZFF1ZXJ5OiBTdG9yZWRRdWVyeTtcbiAgQElucHV0KCkgZWRpdE1vZGUgPSBmYWxzZTtcblxuICBjb25zdHJ1Y3RvcihcbiAgICBwcml2YXRlIHJvdXRlcjogUm91dGVyLFxuICAgIHByaXZhdGUgc2VhcmNoU2VydmljZTogU2VhcmNoU2VydmljZSxcbiAgICBwcml2YXRlIGFwcFNlYXJjaFNlcnZpY2U6IEFwcFNlYXJjaFNlcnZpY2UsXG4gICAgcHJpdmF0ZSBzeXN0ZW1TZXJ2aWNlOiBTeXN0ZW1TZXJ2aWNlLFxuICAgIHByaXZhdGUgc3RvcmVkUXVlcmllc1NlcnZpY2U6IFN0b3JlZFF1ZXJpZXNTZXJ2aWNlLFxuICAgIHByaXZhdGUgdHJhbnNsYXRlOiBUcmFuc2xhdGVTZXJ2aWNlXG4gICkgeyB9XG5cbiAgQElucHV0KCkgc2V0IHdpZGdldENvbmZpZyhjOiBJSGl0bGlzdCkge1xuICAgIHRoaXMuX3dpZGdldENvbmZpZyA9IGM7XG4gICAgaWYgKHRoaXMuX3dpZGdldENvbmZpZz8uc3RvcmVkUXVlcnkpIHtcbiAgICAgIHRoaXMuZ2V0U3RvcmVkUXVlcnkodGhpcy5fd2lkZ2V0Q29uZmlnLnN0b3JlZFF1ZXJ5KS5zdWJzY3JpYmUoKCkgPT4ge1xuICAgICAgICB0aGlzLl9xdWVyeSA9IHRoaXMuc2VhcmNoU2VydmljZS5idWlsZFF1ZXJ5KHRoaXMuc3RvcmVkUXVlcnkpO1xuICAgICAgICB0aGlzLl93aWRnZXRDb25maWcuZm9ybVZhbHVlLnN0b3JlZFF1ZXJ5ID0gdGhpcy5zdG9yZWRRdWVyeS5uYW1lO1xuICAgICAgICB0aGlzLmV4ZWN1dGVRdWVyeSgpO1xuICAgICAgfSwgKGVycm9yKSA9PiB7XG4gICAgICAgIGlmIChlcnJvci5zdGF0dXMgPT09IDQwNCkge1xuICAgICAgICAgIHJldHVybiBFTVBUWTtcbiAgICAgICAgfVxuICAgICAgICB0aHJvdyBlcnJvcjtcbiAgICAgIH0pO1xuICAgIH1cbiAgfVxuXG4gIGdldCB3aWRnZXRDb25maWcoKSB7XG4gICAgcmV0dXJuIHRoaXMuX3dpZGdldENvbmZpZztcbiAgfVxuXG4gIGdldFN0b3JlZFF1ZXJ5KGlkOiBzdHJpbmcpIHtcbiAgICByZXR1cm4gdGhpcy5zdG9yZWRRdWVyaWVzU2VydmljZS5nZXRTdG9yZWRRdWVyeShpZCkucGlwZShcbiAgICAgIHVudGlsRGVzdHJveWVkKHRoaXMpLFxuICAgICAgdGFwKHN0b3JlZFF1ZXJ5ID0+IHtcbiAgICAgICAgdGhpcy5zdG9yZWRRdWVyeSA9IHN0b3JlZFF1ZXJ5O1xuICAgICAgfSlcbiAgICApO1xuICB9XG5cbiAgcHJpdmF0ZSBleGVjdXRlUXVlcnkoKSB7XG4gICAgdGhpcy5yZWZyZXNoaW5nUmVxdWVzdCA9IHRydWU7XG4gICAgY29uc3QgcXVlcnlOYW1lID0gdGhpcy5fcXVlcnkubmFtZTtcbiAgICBkZWxldGUgdGhpcy5fcXVlcnkubmFtZTtcbiAgICB0aGlzLl9xdWVyeS5maWVsZHMgPSBbJ3R5cGUnLCAnaWQnXTtcbiAgICBpZiAodGhpcy5fd2lkZ2V0Q29uZmlnPy5mb3JtVmFsdWU/LmZpcnN0TGFiZWwpIHtcbiAgICAgIHRoaXMuX3F1ZXJ5LmZpZWxkcy5wdXNoKHRoaXMuX3dpZGdldENvbmZpZz8uZm9ybVZhbHVlPy5maXJzdExhYmVsKTtcbiAgICB9XG4gICAgaWYgKHRoaXMuX3dpZGdldENvbmZpZz8uZm9ybVZhbHVlPy5zZWNvbmRMYWJlbCkge1xuICAgICAgdGhpcy5fcXVlcnkuZmllbGRzLnB1c2godGhpcy5fd2lkZ2V0Q29uZmlnPy5mb3JtVmFsdWU/LnNlY29uZExhYmVsKTtcbiAgICB9XG4gICAgaWYgKHRoaXMuX3dpZGdldENvbmZpZz8uZm9ybVZhbHVlPy50aGlyZExhYmVsKSB7XG4gICAgICB0aGlzLl9xdWVyeS5maWVsZHMucHVzaCh0aGlzLl93aWRnZXRDb25maWc/LmZvcm1WYWx1ZT8udGhpcmRMYWJlbCk7XG4gICAgfVxuICAgIGlmICh0aGlzLl9xdWVyeS5maWVsZHMubGVuZ3RoID09PSAyKSB7XG4gICAgICB0aGlzLmhpdGxpc3RSZXN1bHQgPSBudWxsO1xuICAgICAgdGhpcy5yZWZyZXNoaW5nUmVxdWVzdCA9IGZhbHNlO1xuICAgICAgcmV0dXJuO1xuICAgIH1cbiAgICBpZiAodGhpcy5fd2lkZ2V0Q29uZmlnPy5mb3JtVmFsdWUuc29ydEZpZWxkKSB7XG4gICAgICBpZiAodGhpcy5fd2lkZ2V0Q29uZmlnPy5mb3JtVmFsdWUuc29ydFJldmVydCkge1xuICAgICAgICB0aGlzLl9xdWVyeS5hZGRTb3J0T3B0aW9uKHRoaXMuX3dpZGdldENvbmZpZz8uZm9ybVZhbHVlLnNvcnRGaWVsZCwgJ2FzYycpO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgdGhpcy5fcXVlcnkuYWRkU29ydE9wdGlvbih0aGlzLl93aWRnZXRDb25maWc/LmZvcm1WYWx1ZS5zb3J0RmllbGQsICdkZXNjJyk7XG4gICAgICB9XG4gICAgfVxuICAgIHRoaXMuX3F1ZXJ5ID0gdGhpcy5zZWFyY2hTZXJ2aWNlLmJ1aWxkUXVlcnkodGhpcy5fcXVlcnkpO1xuICAgIGxldCBwcm9wVHlwZSA9IFt0aGlzLl93aWRnZXRDb25maWcuZmlyc3RMYWJlbHByb3BlcnR5VHlwZSwgdGhpcy5fd2lkZ2V0Q29uZmlnLnNlY29uZExhYmVscHJvcGVydHlUeXBlLCB0aGlzLl93aWRnZXRDb25maWcudGhpcmRMYWJlbHByb3BlcnR5VHlwZV07XG4gICAgdGhpcy5zZWFyY2hTZXJ2aWNlXG4gICAgICAuZXhlY3V0ZVF1ZXJ5KHRoaXMuX3F1ZXJ5LmdldFF1ZXJ5SnNvbigpLCBmYWxzZSwgdGhpcy5fd2lkZ2V0Q29uZmlnPy5mb3JtVmFsdWUuc2l6ZSlcbiAgICAgIC5waXBlKG1hcChyZXN1bHQgPT4ge1xuICAgICAgICByZXR1cm4gcmVzdWx0LmhpdHMuaGl0cy5tYXAoaGl0ID0+IHtcbiAgICAgICAgICBmb3IgKGxldCBpID0gMDsgaSA8IHByb3BUeXBlLmxlbmd0aDsgaSsrKSB7XG4gICAgICAgICAgICBsZXQgZm9ybUZpZWxkID0gaSA9PT0gMCA/IHRoaXMuX3dpZGdldENvbmZpZz8uZm9ybVZhbHVlPy5maXJzdExhYmVsIDogaSA9PT0gMSA/IHRoaXMuX3dpZGdldENvbmZpZz8uZm9ybVZhbHVlPy5zZWNvbmRMYWJlbCA6IHRoaXMuX3dpZGdldENvbmZpZz8uZm9ybVZhbHVlPy50aGlyZExhYmVsO1xuICAgICAgICAgICAgaWYgKGhpdC5fc291cmNlW2Zvcm1GaWVsZF0gIT09IHVuZGVmaW5lZCkge1xuICAgICAgICAgICAgICBzd2l0Y2ggKHByb3BUeXBlW2ldKSB7XG4gICAgICAgICAgICAgICAgY2FzZSAnREFURVRJTUUnOlxuICAgICAgICAgICAgICAgICAgbGV0IGRhdGVQaXBlID0gbmV3IExvY2FsZURhdGVQaXBlKHRoaXMudHJhbnNsYXRlKTtcbiAgICAgICAgICAgICAgICAgIGxldCBmb3JtYXQgPSBoaXQuX3NvdXJjZVtmb3JtRmllbGRdLmluY2x1ZGVzKCdUJykgPyAnJyA6ICdlb1Nob3J0RGF0ZSc7XG4gICAgICAgICAgICAgICAgICBoaXQuX3NvdXJjZVtmb3JtRmllbGRdID0gZGF0ZVBpcGUudHJhbnNmb3JtKGhpdC5fc291cmNlW2Zvcm1GaWVsZF0sIGZvcm1hdCk7XG4gICAgICAgICAgICAgICAgICBicmVhaztcbiAgICAgICAgICAgICAgICBjYXNlICdOVU1CRVInOlxuICAgICAgICAgICAgICAgICAgbGV0IG51bWJlclBpcGUgPSBuZXcgTG9jYWxlTnVtYmVyUGlwZSh0aGlzLnRyYW5zbGF0ZSk7XG4gICAgICAgICAgICAgICAgICBpZiAoaGl0Ll9zb3VyY2VbZm9ybUZpZWxkXS50b1N0cmluZygpLmluY2x1ZGVzKCcuJykpIHtcbiAgICAgICAgICAgICAgICAgICAgaGl0Ll9zb3VyY2VbZm9ybUZpZWxkXSA9IG51bWJlclBpcGUubnVtYmVyVG9TdHJpbmcoaGl0Ll9zb3VyY2VbZm9ybUZpZWxkXSk7XG4gICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICBicmVhaztcbiAgICAgICAgICAgICAgICBjYXNlICdCT09MRUFOJzpcbiAgICAgICAgICAgICAgICAgIGhpdC5fc291cmNlW2Zvcm1GaWVsZF0gPSBoaXQuX3NvdXJjZVtmb3JtRmllbGRdID8gJ1xcdTI2MTEnIDogJ1xcdTI2MTAnO1xuICAgICAgICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG4gICAgICAgICAgcmV0dXJuIHtcbiAgICAgICAgICAgICdmaXJzdExhYmVsJzogaGl0Ll9zb3VyY2VbdGhpcy5fd2lkZ2V0Q29uZmlnPy5mb3JtVmFsdWU/LmZpcnN0TGFiZWxdLFxuICAgICAgICAgICAgJ3NlY29uZExhYmVsJzogaGl0Py5fc291cmNlW3RoaXMuX3dpZGdldENvbmZpZz8uZm9ybVZhbHVlPy5zZWNvbmRMYWJlbF0sXG4gICAgICAgICAgICAndGhpcmRMYWJlbCc6IGhpdD8uX3NvdXJjZVt0aGlzLl93aWRnZXRDb25maWc/LmZvcm1WYWx1ZT8udGhpcmRMYWJlbF0sXG4gICAgICAgICAgICAndHlwZSc6IHRoaXMuc3lzdGVtU2VydmljZS5nZXRPYmplY3RUeXBlKGhpdC5fc291cmNlLnR5cGUpLFxuICAgICAgICAgICAgJ2lkJzogaGl0Ll9zb3VyY2UuaWRcbiAgICAgICAgICB9O1xuICAgICAgICB9KTtcbiAgICAgIH0pKVxuICAgICAgLnN1YnNjcmliZSgoaGl0cykgPT4ge1xuICAgICAgICB0aGlzLnJlZnJlc2hpbmdSZXF1ZXN0ID0gZmFsc2U7XG4gICAgICAgIHRoaXMuaGl0bGlzdFJlc3VsdCA9IGhpdHM7XG4gICAgICAgIHRoaXMuX3F1ZXJ5Lm5hbWUgPSBxdWVyeU5hbWU7XG4gICAgICAgIHRoaXMuX3F1ZXJ5LnJlbW92ZVNvcnRPcHRpb24odGhpcy5fd2lkZ2V0Q29uZmlnPy5mb3JtVmFsdWUuc29ydEZpZWxkKTtcbiAgICAgIH0sXG4gICAgICAgIChlcnJvcikgPT4ge1xuICAgICAgICAgIHRoaXMuaGl0bGlzdFJlc3VsdCA9IG51bGw7XG4gICAgICAgICAgdGhpcy5yZWZyZXNoaW5nUmVxdWVzdCA9IGZhbHNlO1xuICAgICAgICB9KTtcbiAgfVxuXG4gIHNldFF1ZXJ5VG9BcHBTZWFyY2goKSB7XG4gICAgdGhpcy5hcHBTZWFyY2hTZXJ2aWNlLnNldFF1ZXJ5KHRoaXMuc3RvcmVkUXVlcnkpO1xuICAgIHRoaXMucm91dGVyLm5hdmlnYXRlKFt7b3V0bGV0czoge21vZGFsOiAnc2VhcmNoJ319XSk7XG4gIH1cblxuICByZWZyZXNoKCkge1xuICAgIHRoaXMuZ2V0U3RvcmVkUXVlcnkodGhpcy5fd2lkZ2V0Q29uZmlnLnN0b3JlZFF1ZXJ5KS5zdWJzY3JpYmUoKCkgPT4ge1xuICAgICAgdGhpcy5fcXVlcnkgPSB0aGlzLnNlYXJjaFNlcnZpY2UuYnVpbGRRdWVyeSh0aGlzLnN0b3JlZFF1ZXJ5KTtcbiAgICAgIHRoaXMuX3dpZGdldENvbmZpZy5mb3JtVmFsdWUuc3RvcmVkUXVlcnkgPSB0aGlzLnN0b3JlZFF1ZXJ5Lm5hbWU7XG4gICAgICB0aGlzLmV4ZWN1dGVRdWVyeSgpO1xuICAgIH0sXG4gICAgICAoZXJyb3IpID0+IHtcbiAgICAgICAgdGhpcy5oaXRsaXN0UmVzdWx0ID0gbnVsbDtcbiAgICAgICAgdGhpcy5yZWZyZXNoaW5nUmVxdWVzdCA9IGZhbHNlO1xuICAgICAgfSk7XG4gIH1cblxuICBvbkl0ZW1DbGljayhpdGVtLCBldmVudCkge1xuICAgIGNvbnN0IHVybCA9IHdpbmRvdy5sb2NhdGlvbi5ocmVmLnNwbGl0KCcvZGFzaGJvYXJkJylbMF0gKyAnL29iamVjdC8nICsgaXRlbS5pZCArICc/dHlwZT0nICsgaXRlbS50eXBlLm5hbWUgKyAnXFxuJztcbiAgICB3aW5kb3cub3Blbih1cmwsIGV2ZW50Py5jdHJsS2V5IHx8IHRoaXMuZWRpdE1vZGUgPyAnX2JsYW5rJyA6ICdfc2VsZicpO1xuICB9XG5cbiAgb25FbWl0UXVlcnlDbGljayhldmVudCkge1xuICAgIGRlbGV0ZSB0aGlzLl9xdWVyeS5maWVsZHM7XG4gICAgY29uc3QgdXJpUGFyYW0gPSBlbmNvZGVVUklDb21wb25lbnQoVXRpbHMuZm9ybURhdGFTdHJpbmdpZnkodGhpcy5fcXVlcnkuZ2V0UXVlcnlKc29uKCkpKTtcbiAgICBjb25zdCB1cmlQYXJhbVF1ZXJ5OiBOYXZpZ2F0aW9uRXh0cmFzID0ge3F1ZXJ5UGFyYW1zOiB7J3F1ZXJ5JzogdXJpUGFyYW19fTtcbiAgICBjb25zdCBxdWVyeVBhcmFtcyA9IG5ldyBVUkxTZWFyY2hQYXJhbXModXJpUGFyYW1RdWVyeS5xdWVyeVBhcmFtcykudG9TdHJpbmcoKTtcbiAgICBjb25zdCB1cmwgPSB3aW5kb3cubG9jYXRpb24uaHJlZi5zcGxpdCgnL2Rhc2hib2FyZCcpWzBdICsgJy9yZXN1bHQ/JyArIHF1ZXJ5UGFyYW1zO1xuICAgIHdpbmRvdy5vcGVuKHVybCwgZXZlbnQ/LmN0cmxLZXkgfHwgdGhpcy5lZGl0TW9kZSA/ICdfYmxhbmsnIDogJ19zZWxmJyk7XG4gIH1cbn1cbiIsIjxoZWFkZXI+XG4gICAgPGRpdiBjbGFzcz1cImhlYWRlci10aXRsZVwiPlxuICAgICAgICA8ZGl2IGNsYXNzPVwidGl0bGVcIiAqbmdJZj1cIndpZGdldENvbmZpZz8uZm9ybVZhbHVlLnN0b3JlZFF1ZXJ5XCI+XG4gICAgICAgICAgICB7e3dpZGdldENvbmZpZz8uZm9ybVZhbHVlLnN0b3JlZFF1ZXJ5fX08L2Rpdj5cbiAgICAgICAgPGRpdiBjbGFzcz1cImljb25zLXRpdGxlXCIgKm5nSWY9XCJ0aGlzLndpZGdldENvbmZpZz8uc3RvcmVkUXVlcnlcIj5cbiAgICAgICAgICAgIDxlby1pY29uIGNsYXNzPVwiYnV0dG9uIHByaW1hcnlcIiBbaWNvblNyY109XCInYXNzZXRzL19kZWZhdWx0L3N2Zy9pY19zYXZlZF9zZWFyY2guc3ZnJ1wiXG4gICAgICAgICAgICAgICAgKGNsaWNrKT1cInNldFF1ZXJ5VG9BcHBTZWFyY2goKVwiXG4gICAgICAgICAgICAgICAgW2ljb25UaXRsZV09XCIoJ2VvLndpZGdldC5oaXRsaXN0LnRvb2x0aXAuc2F2ZWRTZWFyY2hJY29uJ3wgdHJhbnNsYXRlKVwiPjwvZW8taWNvbj5cbiAgICAgICAgICAgIDxlby1pY29uIGNsYXNzPVwiYnV0dG9uIHByaW1hcnlcIiBbaWNvblNyY109XCInYXNzZXRzL19kZWZhdWx0L3N2Zy9pY19vcGVuX3RhYi5zdmcnXCJcbiAgICAgICAgICAgICAgICAoY2xpY2spPVwib25FbWl0UXVlcnlDbGljaygkZXZlbnQpXCJcbiAgICAgICAgICAgICAgICBbaWNvblRpdGxlXT1cIignZW8ud2lkZ2V0LmhpdGxpc3QudG9vbHRpcC5vcGVuaW5yZXN1bHRsaXN0J3wgdHJhbnNsYXRlKVwiPjwvZW8taWNvbj5cbiAgICAgICAgICAgIDxlby1pY29uIGNsYXNzPVwiYnV0dG9uIHByaW1hcnlcIiBbaWNvblNyY109XCInYXNzZXRzL19kZWZhdWx0L3N2Zy9pY19yZWZyZXNoLnN2ZydcIiAoY2xpY2spPVwicmVmcmVzaCgpXCJcbiAgICAgICAgICAgICAgICBbaWNvblRpdGxlXT1cIignZW8ud2lkZ2V0LmhpdGxpc3QudG9vbHRpcC5yZWZyZXNoJ3wgdHJhbnNsYXRlKVwiPjwvZW8taWNvbj5cbiAgICAgICAgPC9kaXY+XG4gICAgPC9kaXY+XG48L2hlYWRlcj5cblxuPG1haW4gY2xhc3M9XCJsb2FkZXItb3ZlcmxheV9fbWFza1wiICpuZ0lmPVwicmVmcmVzaGluZ1JlcXVlc3RcIj5cbiAgICA8ZW8tbG9hZGluZy1zcGlubmVyIFtzaXplXT1cIidsYXJnZSdcIj48L2VvLWxvYWRpbmctc3Bpbm5lcj5cbjwvbWFpbj5cblxuPG1haW4gY2xhc3M9XCJoaXRsaXN0XCIgKm5nSWY9XCIhcmVmcmVzaGluZ1JlcXVlc3RcIj5cbiAgICA8ZGl2ICpuZ0lmPVwiaGl0bGlzdFJlc3VsdDsgZWxzZSB0cGxFbXB0eVwiPlxuICAgICAgICA8ZGl2IGNsYXNzPVwiaXRlbVwiICpuZ0Zvcj1cImxldCBpIG9mIGhpdGxpc3RSZXN1bHRcIiAoY2xpY2spPVwib25JdGVtQ2xpY2soaSwgJGV2ZW50KVwiPlxuICAgICAgICAgIDxkaXYgY2xhc3M9XCJwcmVUaXRsZVwiPnt7aS5maXJzdExhYmVsfX08L2Rpdj5cbiAgICAgICAgICA8ZGl2IGNsYXNzPVwidGl0bGVcIj57e2kuc2Vjb25kTGFiZWx9fTwvZGl2PlxuICAgICAgICAgIDxkaXYgY2xhc3M9XCJkZXNjcmlwdGlvblwiPnt7aS50aGlyZExhYmVsfX08L2Rpdj5cbiAgICAgICAgICA8ZW8taWNvbiBbb2JqZWN0VHlwZV09XCJpLnR5cGVcIj48L2VvLWljb24+XG4gICAgICAgIDwvZGl2PlxuICAgIDwvZGl2PlxuICAgIDxuZy10ZW1wbGF0ZSAjdHBsRW1wdHk+XG4gICAgICAgIDxkaXYgY2xhc3M9XCJlbXB0eVwiPlxuICAgICAgICAgICAgPGVvLWVycm9yLW1lc3NhZ2VcbiAgICAgICAgICAgICAgICBbZW1wdHlTdGF0ZV09XCJ7aWNvbjogJ2ljX3NhdmVkX3NlYXJjaC5zdmcnLCB0ZXh0OiAnZW8ud29ya3NwYWNlLndpZGdldC5jb25maWd1cmF0aW9uLm5vdE9rJ31cIj48L2VvLWVycm9yLW1lc3NhZ2U+XG4gICAgICAgIDwvZGl2PlxuICAgIDwvbmctdGVtcGxhdGU+XG48L21haW4+XG4iXX0=
|
|
@@ -140,7 +140,6 @@ export class ProcessStateComponent {
|
|
|
140
140
|
resetFilters() {
|
|
141
141
|
if (this.filterForm) {
|
|
142
142
|
this.filterForm.setValue(this.defaultFilterFormValue);
|
|
143
|
-
this.onPageChanged();
|
|
144
143
|
}
|
|
145
144
|
}
|
|
146
145
|
sort(field, direction) {
|
|
@@ -328,4 +327,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.2", ngImpor
|
|
|
328
327
|
type: ViewChild,
|
|
329
328
|
args: ["eoGrid"]
|
|
330
329
|
}] } });
|
|
331
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHJvY2Vzcy1zdGF0ZS5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9zcmMvYXBwL2VvLWNsaWVudC9wcm9jZXNzLXN0YXRlL3Byb2Nlc3Mtc3RhdGUuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vc3JjL2FwcC9lby1jbGllbnQvcHJvY2Vzcy1zdGF0ZS9wcm9jZXNzLXN0YXRlLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUNBLE9BQU8sRUFBQyxTQUFTLEVBQXFCLFNBQVMsRUFBQyxNQUFNLGVBQWUsQ0FBQztBQUV0RSxPQUFPLEVBQThDLE9BQU8sRUFBRSxVQUFVLEVBQUUsWUFBWSxFQUFvQixLQUFLLEVBQUMsTUFBTSxjQUFjLENBQUM7QUFFckksT0FBTyxFQUFDLEdBQUcsRUFBQyxNQUFNLGdCQUFnQixDQUFDO0FBUW5DLE9BQU8sRUFBQyxtQkFBbUIsRUFBQyxNQUFNLG9CQUFvQixDQUFDOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBT3ZELE1BQU0sT0FBTyxxQkFBcUI7SUFpRGhDLFlBQ1MsU0FBMkIsRUFDM0IsVUFBc0IsRUFDdEIsU0FBMkIsRUFDMUIsS0FBd0IsRUFDeEIsT0FBdUIsRUFDdkIsRUFBc0IsRUFDdEIsWUFBOEIsRUFDOUIsUUFBeUIsRUFDekIsY0FBcUM7UUFSdEMsY0FBUyxHQUFULFNBQVMsQ0FBa0I7UUFDM0IsZUFBVSxHQUFWLFVBQVUsQ0FBWTtRQUN0QixjQUFTLEdBQVQsU0FBUyxDQUFrQjtRQUMxQixVQUFLLEdBQUwsS0FBSyxDQUFtQjtRQUN4QixZQUFPLEdBQVAsT0FBTyxDQUFnQjtRQUN2QixPQUFFLEdBQUYsRUFBRSxDQUFvQjtRQUN0QixpQkFBWSxHQUFaLFlBQVksQ0FBa0I7UUFDOUIsYUFBUSxHQUFSLFFBQVEsQ0FBaUI7UUFDekIsbUJBQWMsR0FBZCxjQUFjLENBQXVCO1FBdkQvQyx1QkFBa0Is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QiwwSkNwQmxDLGc0TEF5R0E7MkZEckZhLHFCQUFxQjtrQkFMakMsU0FBUzsrQkFDRSxrQkFBa0I7OFZBbURQLE1BQU07c0JBQTFCLFNBQVM7dUJBQUMsUUFBUSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7Q29sRGVmLCBHcmlkT3B0aW9uc30gZnJvbSAnQGFnLWdyaWQtY29tbXVuaXR5L2NvcmUnO1xuaW1wb3J0IHtDb21wb25lbnQsIE9uRGVzdHJveSwgT25Jbml0LCBWaWV3Q2hpbGR9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHtVbnR5cGVkRm9ybUJ1aWxkZXIsIFVudHlwZWRGb3JtR3JvdXB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcbmltcG9ydCB7QXBwQ2FjaGVTZXJ2aWNlLCBCYWNrZW5kU2VydmljZSwgQnBtU2VydmljZSwgUHJvY2VzcywgUmFuZ2VWYWx1ZSwgU2VhcmNoRmlsdGVyLCBUcmFuc2xhdGVTZXJ2aWNlLCBVdGlsc30gZnJvbSAnQGVvLXNkay9jb3JlJztcbmltcG9ydCB7T2JzZXJ2YWJsZX0gZnJvbSAncnhqcyc7XG5pbXBvcnQge21hcH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuaW1wb3J0IHtFbXB0eVN0YXRlfSBmcm9tICcuLi8uLi9lby1mcmFtZXdvcmstY29yZS9lbXB0eS1zdGF0ZS9lbXB0eS1zdGF0ZS5pbnRlcmZhY2UnO1xuaW1wb3J0IHtFbXB0eVN0YXRlU2VydmljZX0gZnJvbSAnLi4vLi4vZW8tZnJhbWV3b3JrLWNvcmUvZW1wdHktc3RhdGUvZW1wdHktc3RhdGUuc2VydmljZSc7XG5pbXBvcnQge1BlbmRpbmdDaGFuZ2VzQ29tcG9uZW50fSBmcm9tICcuLi8uLi9lby1mcmFtZXdvcmstY29yZS9wZW5kaW5nLWNoYW5nZXMvcGVuZGluZy1jaGFuZ2VzLWNvbXBvbmVudC5pbnRlcmZhY2UnO1xuaW1wb3J0IHtQZW5kaW5nQ2hhbmdlc1NlcnZpY2V9IGZyb20gJy4uLy4uL2VvLWZyYW1ld29yay1jb3JlL3BlbmRpbmctY2hhbmdlcy9wZW5kaW5nLWNoYW5nZXMuc2VydmljZSc7XG5pbXBvcnQge1NlbGVjdGlvblNlcnZpY2V9IGZyb20gJy4uLy4uL2VvLWZyYW1ld29yay1jb3JlL3NlbGVjdGlvbi9zZWxlY3Rpb24uc2VydmljZSc7XG5pbXBvcnQge1BhZ2VUaXRsZVNlcnZpY2V9IGZyb20gJy4uLy4uL2VvLWZyYW1ld29yay1jb3JlL3RpdGxlL3BhZ2UtdGl0bGUuc2VydmljZSc7XG5pbXBvcnQge0dyaWRDb21wb25lbnR9IGZyb20gJy4uLy4uL2VvLWZyYW1ld29yay9ncmlkL2dyaWQuY29tcG9uZW50JztcbmltcG9ydCB7Q3VzdG9tU29ydENvbXBvbmVudH0gZnJvbSBcIi4uLy4uL2VvLWZyYW1ld29ya1wiO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6IFwiZW8tcHJvY2Vzcy1zdGF0ZVwiLFxuICB0ZW1wbGF0ZVVybDogXCIuL3Byb2Nlc3Mtc3RhdGUuY29tcG9uZW50Lmh0bWxcIixcbiAgc3R5bGVVcmxzOiBbXCIuL3Byb2Nlc3Mtc3RhdGUuY29tcG9uZW50LnNjc3NcIl1cbn0pXG5leHBvcnQgY2xhc3MgUHJvY2Vzc1N0YXRlQ29tcG9uZW50XG4gIGltcGxlbWVudHMgT25Jbml0LCBPbkRlc3Ryb3ksIFBlbmRpbmdDaGFuZ2VzQ29tcG9uZW50IHtcbiAgZ3JpZE9wdGlvbnM6IEdyaWRPcHRpb25zO1xuICBwcm9jZXNzU2VsZWN0aW9uSWQgPSBcInByb2Nlc3NcIjtcbiAgcHJvY2Vzc1NlbGVjdGlvbjogU2VsZWN0aW9uU2VydmljZTtcbiAgZW1wdHlTdGF0ZTE6IEVtcHR5U3RhdGUgPSB7IGljb246IFwiXCIsIHRleHQ6IFwiXCIsIGNsYXNzTmFtZTogXCJcIiB9O1xuICBlbXB0eVN0YXRlMjogRW1wdHlTdGF0ZSA9IHsgaWNvbjogXCJcIiwgdGV4dDogXCJcIiwgY2xhc3NOYW1lOiBcIlwiIH07XG4gIGZpbHRlckNhY2hlS2V5ID0gXCJlby5wcm9jZXNzLmxpc3QuZmlsdGVyXCI7XG4gIHNvcnRDYWNoZUtleSA9IFwiZW8ucHJvY2Vzcy5saXN0LnNvcnRcIjtcbiAgVklSVFVBTF9MSVNUX0NIVU5LX1NJWkUgPSA1MDtcbiAgZmlsdGVyRm9ybTogVW50eXBlZEZvcm1Hcm91cDtcbiAgZGVmYXVsdEZpbHRlckZvcm1WYWx1ZSA9IHtcbiAgICBtb2RlbEZDTjogbnVsbCxcbiAgICBydW5uaW5nRkNOOiB0cnVlLFxuICAgIHBhdXNlZEZDTjogdHJ1ZSxcbiAgICBjcmVhdGVkRkNOOiB0cnVlLFxuICAgIGNhbmNlbGVkRkNOOiB0cnVlLFxuICAgIGZhaWxlZEZDTjogdHJ1ZSxcbiAgICBjb21wbGV0ZWRGQ046IHRydWUsXG4gICAgc3RhcnRUaW1lRkNOOiBudWxsXG4gIH07XG4gIHNvcnRQYXJhbXMgPSB7XG4gICAgc3RhcnRUaW1lOiAnJyxcbiAgICBtb2RlbE5hbWU6ICcnXG4gIH07XG4gIGRlZmF1bHRTb3J0UGFyYW1zID0ge1xuICAgIHN0YXJ0VGltZTogXCJcIixcbiAgICBtb2RlbE5hbWU6IFwiXCJcbiAgfTtcbiAgc29ydEZpZWxkczogQ29sRGVmW107XG4gIHNldHRpbmdzID0ge307XG4gIGNvbERlZnM6IENvbERlZltdID0gW1xuICAgIHtcbiAgICAgIGhlYWRlck5hbWU6IFwiXCIsXG4gICAgICBmaWVsZDogXCJfX2N1c3RvbVwiLFxuICAgICAgY2VsbFJlbmRlcmVyOiB0aGlzLmNlbGxSZW5kZXJlcixcbiAgICAgIGZpbHRlcjogZmFsc2VcbiAgICB9XG4gIF07XG4gIHByb2Nlc3NNb2RlbHNMaXN0T2JqZWN0ID0ge1xuICAgIGVudHJpZXM6IFtdLFxuICAgIGNvbmZpZzoge1xuICAgICAgdmFsdWVGaWVsZDogXCJuYW1lXCIsXG4gICAgICBzdWJFbnRyaWVzRmllbGQ6IFwibW9kZWxzXCJcbiAgICB9XG4gIH07XG5cbiAgQFZpZXdDaGlsZChcImVvR3JpZFwiKSBlb0dyaWQ6IEdyaWRDb21wb25lbnQ7XG5cbiAgY29uc3RydWN0b3IoXG4gICAgcHVibGljIHRyYW5zbGF0ZTogVHJhbnNsYXRlU2VydmljZSxcbiAgICBwdWJsaWMgYnBtU2VydmljZTogQnBtU2VydmljZSxcbiAgICBwdWJsaWMgc2VsZWN0aW9uOiBTZWxlY3Rpb25TZXJ2aWNlLFxuICAgIHByaXZhdGUgZW1wdHk6IEVtcHR5U3RhdGVTZXJ2aWNlLFxuICAgIHByaXZhdGUgYmFja2VuZDogQmFja2VuZFNlcnZpY2UsXG4gICAgcHJpdmF0ZSBmYjogVW50eXBlZEZvcm1CdWlsZGVyLFxuICAgIHByaXZhdGUgdGl0bGVTZXJ2aWNlOiBQYWdlVGl0bGVTZXJ2aWNlLFxuICAgIHByaXZhdGUgYXBwQ2FjaGU6IEFwcENhY2hlU2VydmljZSxcbiAgICBwcml2YXRlIHBlbmRpbmdDaGFuZ2VzOiBQZW5kaW5nQ2hhbmdlc1NlcnZpY2VcbiAgKSB7XG4gICAgdGhpcy50aXRsZVNlcnZpY2Uuc2V0QmFzZVRpdGxlKHRoaXMudHJhbnNsYXRlLmluc3RhbnQoJ2VvLnN0YXRlLnByb2Nlc3MnKSk7XG5cbiAgICAvL3NlY29uZGFyeSBzZWxlY3Rpb24gaW5zdGFuY2UgZm9yIGluYm94IGl0ZW1zXG4gICAgdGhpcy5wcm9jZXNzU2VsZWN0aW9uID0gdGhpcy5zZWxlY3Rpb24uY3JlYXRlTmV3KHRoaXMucHJvY2Vzc1NlbGVjdGlvbklkKTtcblxuICAgIHRoaXMuZmV0Y2hQcm9jZXNzTW9kZWxzKCkuc3Vic2NyaWJlKHByb2Nlc3NNb2RlbHMgPT4ge1xuICAgICAgdGhpcy5wcm9jZXNzTW9kZWxzTGlzdE9iamVjdC5lbnRyaWVzID0gcHJvY2Vzc01vZGVscztcbiAgICB9KTtcblxuICAgIHRoaXMuYXBwQ2FjaGVcbiAgICAgIC5nZXRJdGVtKHRoaXMuZmlsdGVyQ2FjaGVLZXkpXG4gICAgICAuc3Vic2NyaWJlKFxuICAgICAgICBmaWx0ZXJWYWx1ZSA9PlxuICAgICAgICAgIHRoaXMuaW5pdEZpbHRlcihcbiAgICAgICAgICAgIGZpbHRlclZhbHVlID8gZmlsdGVyVmFsdWUgOiB0aGlzLmRlZmF1bHRGaWx0ZXJGb3JtVmFsdWVcbiAgICAgICAgICApLFxuICAgICAgICAoKSA9PiB0aGlzLmluaXRGaWx0ZXIodGhpcy5kZWZhdWx0RmlsdGVyRm9ybVZhbHVlKVxuICAgICAgKTtcblxuICAgIHRoaXMuYXBwQ2FjaGUuZ2V0SXRlbSh0aGlzLnNvcnRDYWNoZUtleSkuc3Vic2NyaWJlKHNvcnRQYXJhbXMgPT4ge1xuICAgICAgaWYgKHNvcnRQYXJhbXMpIHtcbiAgICAgICAgdGhpcy5zb3J0UGFyYW1zID0gc29ydFBhcmFtcztcbiAgICAgIH1cbiAgICB9KTtcbiAgfVxuXG4gIHByaXZhdGUgZmV0Y2hQcm9jZXNzTW9kZWxzKCk6IE9ic2VydmFibGU8YW55PiB7XG4gICAgcmV0dXJuIHRoaXMuYmFja2VuZC5nZXQoXCIvYnBtL21hbmFnZW1lbnQvcHJvamVjdD9pbmNsdWRlTW9kZWxzPXRydWVcIik7XG4gIH1cblxuICBwcml2YXRlIGluaXRGaWx0ZXIoZmlsdGVyVmFsdWUpIHtcbiAgICB0aGlzLmZpbHRlckZvcm0gPSB0aGlzLmZiLmdyb3VwKHtcbiAgICAgIG1vZGVsRkNOOiBbZmlsdGVyVmFsdWUubW9kZWxGQ05dLFxuICAgICAgcnVubmluZ0ZDTjogW2ZpbHRlclZhbHVlLnJ1bm5pbmdGQ05dLFxuICAgICAgcGF1c2VkRkNOOiBbZmlsdGVyVmFsdWUucGF1c2VkRkNOXSxcbiAgICAgIGNyZWF0ZWRGQ046IFtmaWx0ZXJWYWx1ZS5jcmVhdGVkRkNOXSxcbiAgICAgIGNhbmNlbGVkRkNOOiBbZmlsdGVyVmFsdWUuY2FuY2VsZWRGQ05dLFxuICAgICAgZmFpbGVkRkNOOiBbZmlsdGVyVmFsdWUuZmFpbGVkRkNOXSxcbiAgICAgIGNvbXBsZXRlZEZDTjogW2ZpbHRlclZhbHVlLmNvbXBsZXRlZEZDTl0sXG4gICAgICBzdGFydFRpbWVGQ046IFtcbiAgICAgICAgZmlsdGVyVmFsdWUuc3RhcnRUaW1lRkNOID9cbiAgICAgICAgbmV3IFJhbmdlVmFsdWUoXG4gICAgICAgICAgZmlsdGVyVmFsdWUuc3RhcnRUaW1lRkNOLm9wZXJhdG9yLFxuICAgICAgICAgIGZpbHRlclZhbHVlLnN0YXJ0VGltZUZDTi5maXJzdFZhbHVlLFxuICAgICAgICAgIGZpbHRlclZhbHVlLnN0YXJ0VGltZUZDTi5zZWNvbmRWYWx1ZVxuICAgICAgICApIDogbnVsbFxuICAgICAgXVxuICAgIH0pO1xuICAgIHRoaXMuZmlsdGVyRm9ybS52YWx1ZUNoYW5nZXMuc3Vic2NyaWJlKCgpID0+IHtcbiAgICAgIHRoaXMuYXBwQ2FjaGUuc2V0SXRlbSh0aGlzLmZpbHRlckNhY2hlS2V5LCB0aGlzLmZpbHRlckZvcm0udmFsdWUpLnN1YnNjcmliZSgpO1xuICAgICAgdGhpcy5vblBhZ2VDaGFuZ2VkKCk7XG4gICAgfSk7XG4gICAgc2V0VGltZW91dCgoKSA9PiB0aGlzLm9uUGFnZUNoYW5nZWQoKSwgMTAwKTtcbiAgfVxuXG4gIHJlZnJlc2hMaXN0KCkge1xuICAgIHRoaXMub25QYWdlQ2hhbmdlZCgpO1xuICB9XG5cbiAgaW5pdEdyaWQoKSB7XG4gICAgdGhpcy5zZXR0aW5ncyA9IHt0b3RhbDogMCwgc2l6ZTogdGhpcy5WSVJUVUFMX0xJU1RfQ0hVTktfU0laRX07XG4gICAgdGhpcy5zb3J0RmllbGRzID0gW1xuICAgICAge2ZpZWxkOiAnc3RhcnR0aW1lJywgaGVhZGVyTmFtZTogdGhpcy50cmFuc2xhdGUuaW5zdGFudCgnZW8uZ3JpZC5zb3J0LmRhdGUnKSwgc29ydDogJyd9LFxuICAgICAge2ZpZWxkOiAnbW9kZWxuYW1lJywgaGVhZGVyTmFtZTogdGhpcy50cmFuc2xhdGUuaW5zdGFudCgnZW8ucHJvY2Vzcy5zb3J0LnR5cGUnKSwgc29ydDogJyd9XG4gICAgXTtcblxuICAgIGNvbnN0IHNvcnRDb2xEZWZzID0gQ3VzdG9tU29ydENvbXBvbmVudC5zb3J0Q29sRGVmcyh0aGlzLnNvcnRGaWVsZHMpO1xuICAgIHRoaXMuZ3JpZE9wdGlvbnMgPSB7XG4gICAgICBjb250ZXh0OiB7IGNvdW50OiAwIH0sXG4gICAgICBjb2x1bW5EZWZzOiB0aGlzLmNvbERlZnMuY29uY2F0KHNvcnRDb2xEZWZzKSxcbiAgICAgIHJvd0J1ZmZlcjogMjAsXG4gICAgICByb3dIZWlnaHQ6IDgwLFxuICAgICAgcm93U2VsZWN0aW9uOiAnc2luZ2xlJyxcbiAgICAgIHJvd0RhdGE6IFtdXG4gICAgfTtcbiAgfVxuXG4gIHJlc2V0RmlsdGVycygpIHtcbiAgICBpZiAodGhpcy5maWx0ZXJGb3JtKSB7XG4gICAgICB0aGlzLmZpbHRlckZvcm0uc2V0VmFsdWUodGhpcy5kZWZhdWx0RmlsdGVyRm9ybVZhbHVlKTtcbiAgICAgIHRoaXMub25QYWdlQ2hhbmdlZCgpO1xuICAgIH1cbiAgfVxuXG4gIHNvcnQoZmllbGQsIGRpcmVjdGlvbikge1xuICAgIHRoaXMuc29ydFBhcmFtc1tmaWVsZF0gPSBkaXJlY3Rpb247XG4gICAgdGhpcy5hcHBDYWNoZS5zZXRJdGVtKHRoaXMuc29ydENhY2hlS2V5LCB0aGlzLnNvcnRQYXJhbXMpLnN1YnNjcmliZSgpO1xuICAgIHRoaXMub25QYWdlQ2hhbmdlZCgpO1xuICB9XG5cbiAgb25QYWdlQ2hhbmdlZChwYWdlOiBudW1iZXIgPSAxKSB7XG4gICAgdGhpcy5mZXRjaFJvd0RhdGEoe1xuICAgICAgc3RhcnRSb3c6IHRoaXMuVklSVFVBTF9MSVNUX0NIVU5LX1NJWkUgKiAocGFnZSAtIDEpLFxuICAgICAgc3VjY2Vzc0NhbGxiYWNrOiAocm93cywgdG90YWwpID0+IHtcbiAgICAgICAgdGhpcy5lb0dyaWQuYXBpLnNldFJvd0RhdGEocm93cyk7XG4gICAgICAgIHRoaXMuc2V0dGluZ3MgPSB7dG90YWwsIHNpemU6IHRoaXMuVklSVFVBTF9MSVNUX0NIVU5LX1NJWkUsIHBhZ2V9O1xuICAgICAgfVxuICAgIH0pO1xuICB9XG5cbiAgcHJpdmF0ZSBmZXRjaFJvd0RhdGEocGFyYW1zKSB7XG4gICAgY29uc3QgcGFnZSA9IE1hdGguZmxvb3IocGFyYW1zLnN0YXJ0Um93IC8gdGhpcy5WSVJUVUFMX0xJU1RfQ0hVTktfU0laRSk7XG4gICAgdGhpcy5nZXRQcm9jZXNzZXMoeyBzaXplOiB0aGlzLlZJUlRVQUxfTElTVF9DSFVOS19TSVpFLCBwYWdlIH0pLnN1YnNjcmliZSgocHJvY2Vzc2VzKSA9PiB7XG4gICAgICBpZiAocGFyYW1zLnN0YXJ0Um93ID09PSAwKSB7XG4gICAgICAgIHRoaXMuZW1wdHlTdGF0ZTEgPSB0aGlzLmVtcHR5LmdldEVtcHR5U3RhdGUocHJvY2Vzc2VzLmNvbnRlbnQgPyBwcm9jZXNzZXMuY29udGVudC5sZW5ndGggOiAtMSwgdW5kZWZpbmVkLCAnaWNfbm8tZmlsZS5zdmcnKTtcbiAgICAgICAgdGhpcy5lbXB0eVN0YXRlMiA9IHRoaXMuZW1wdHkuZ2V0RW1wdHlTdGF0ZShwcm9jZXNzZXMuY29udGVudCA/IHByb2Nlc3Nlcy5jb250ZW50Lmxlbmd0aCA6IC0xLCB1bmRlZmluZWQsICdpY19uby1maWxlLnN2ZycpO1xuICAgICAgfVxuICAgICAgdGhpcy5lb0dyaWQuZ3JpZE9wdGlvbnMuY29udGV4dC5yb3dDb3VudCA9IHByb2Nlc3Nlcy50b3RhbEVsZW1lbnRzO1xuICAgICAgdGhpcy5lb0dyaWQuZ3JpZE9wdGlvbnMuY29udGV4dC5jb3VudCA9IHByb2Nlc3Nlcy50b3RhbEVsZW1lbnRzO1xuICAgICAgcGFyYW1zLnN1Y2Nlc3NDYWxsYmFjayhwcm9jZXNzZXMucHJvY2Vzc2VzLCBwcm9jZXNzZXMudG90YWxFbGVtZW50cyk7XG4gICAgfSk7XG4gIH1cblxuICBwcml2YXRlIGdldFByb2Nlc3NlcyhvcHRpb25zKSB7XG4gICAgbGV0IHVybCA9IFV0aWxzLmJ1aWxkVXJpKGAvcHJvY2Vzc2VzYCwgb3B0aW9ucyB8fCB7fSk7XG4gICAgdXJsID0gdGhpcy5hZGRGaWx0ZXJQYXJhbXNUb1VybCh1cmwpO1xuICAgIHVybCA9IHRoaXMuYWRkU29ydFBhcmFtc1RvVXJsKHVybCk7XG4gICAgcmV0dXJuIHRoaXMuYmFja2VuZFxuICAgICAgLmdldEpzb24odXJsLCB0aGlzLmJhY2tlbmQuZ2V0QnBtQmFzZSgpKVxuICAgICAgLnBpcGUoXG4gICAgICAgIG1hcChyZXNwb25zZSA9PiB7XG4gICAgICAgICAgbGV0IHByb2Nlc3NlcyA9IHJlc3BvbnNlLmNvbnRlbnQubWFwKGl0ZW0gPT4ge1xuICAgICAgICAgICAgY29uc3QgcHJvY2VzcyA9IG5ldyBQcm9jZXNzKGl0ZW0pO1xuICAgICAgICAgICAgcmV0dXJuIHByb2Nlc3M7XG4gICAgICAgICAgfSk7XG4gICAgICAgICAgcmVzcG9uc2UucHJvY2Vzc2VzID0gdGhpcy5hZGRJY29uVXJsKHByb2Nlc3Nlcyk7XG4gICAgICAgICAgcmV0dXJuIHJlc3BvbnNlO1xuICAgICAgICB9KVxuICAgICAgKTtcbiAgfVxuXG4gIHByaXZhdGUgYWRkRmlsdGVyUGFyYW1zVG9VcmwodXJsKTogc3RyaW5nIHtcbiAgICBpZiAoIXRoaXMuZmlsdGVyRm9ybSB8fCAhdGhpcy5maWx0ZXJGb3JtLnZhbHVlKSB7XG4gICAgICByZXR1cm4gdXJsO1xuICAgIH1cblxuICAgIGlmICh0aGlzLmZpbHRlckZvcm0udmFsdWUuY3JlYXRlZEZDTikge1xuICAgICAgdXJsICs9IFwiJnN0YXRlPTBcIjtcbiAgICB9XG4gICAgaWYgKHRoaXMuZmlsdGVyRm9ybS52YWx1ZS5ydW5uaW5nRkNOKSB7XG4gICAgICB1cmwgKz0gXCImc3RhdGU9MjBcIjtcbiAgICB9XG4gICAgaWYgKHRoaXMuZmlsdGVyRm9ybS52YWx1ZS5jb21wbGV0ZWRGQ04pIHtcbiAgICAgIHVybCArPSBcIiZzdGF0ZT0zMFwiO1xuICAgIH1cbiAgICBpZiAodGhpcy5maWx0ZXJGb3JtLnZhbHVlLnBhdXNlZEZDTikge1xuICAgICAgdXJsICs9IFwiJnN0YXRlPTQwXCI7XG4gICAgfVxuICAgIGlmICh0aGlzLmZpbHRlckZvcm0udmFsdWUuY2FuY2VsZWRGQ04pIHtcbiAgICAgIHVybCArPSBcIiZzdGF0ZT01MFwiO1xuICAgIH1cbiAgICBpZiAodGhpcy5maWx0ZXJGb3JtLnZhbHVlLmZhaWxlZEZDTikge1xuICAgICAgdXJsICs9IFwiJnN0YXRlPTYwXCI7XG4gICAgfVxuICAgIGlmICh0aGlzLmZpbHRlckZvcm0udmFsdWUubW9kZWxGQ04pIHtcbiAgICAgIHVybCArPVxuICAgICAgICBcIiZtb2RlbGlkPVwiICsgdGhpcy5nZXRNb2RlbElkRnJvbU5hbWUodGhpcy5maWx0ZXJGb3JtLnZhbHVlLm1vZGVsRkNOKTtcbiAgICB9XG4gICAgaWYgKHRoaXMuZmlsdGVyRm9ybS52YWx1ZS5zdGFydFRpbWVGQ04gJiYgdGhpcy5maWx0ZXJGb3JtLnZhbHVlLnN0YXJ0VGltZUZDTi5maXJzdFZhbHVlKSB7XG5cbiAgICAgIGNvbnN0IHtvcGVyYXRvciwgZmlyc3RWYWx1ZSwgc2Vjb25kVmFsdWV9ID0gdGhpcy5maWx0ZXJGb3JtLnZhbHVlLnN0YXJ0VGltZUZDTjtcbiAgICAgIGNvbnN0IHF1ZXJ5OiBhbnkgPSBuZXcgU2VhcmNoRmlsdGVyKCdzdGFydHRpbWUnLCBvcGVyYXRvciwgZmlyc3RWYWx1ZSwgc2Vjb25kVmFsdWUsIHt0aW1lOiB0cnVlLCB0aW1lem9uZTogdHJ1ZX0pLnRvRGF0ZVRpbWVRdWVyeSgpO1xuXG4gICAgICBpZiAocXVlcnkubyA9PT0gU2VhcmNoRmlsdGVyLk9QRVJBVE9SLkVRVUFMKSB7XG4gICAgICAgIHVybCArPSAnJnN0YXJ0dGltZV9lcT0nICsgcXVlcnkudjE7XG4gICAgICB9XG4gICAgICBpZiAocXVlcnkuby5tYXRjaChTZWFyY2hGaWx0ZXIuT1BFUkFUT1IuR1JFQVRFUl9PUl9FUVVBTCkpIHtcbiAgICAgICAgdXJsICs9IFwiJnN0YXJ0dGltZV9ndGU9XCIgKyBxdWVyeS52MTtcbiAgICAgIH1cbiAgICAgIGlmIChxdWVyeS5vLm1hdGNoKFNlYXJjaEZpbHRlci5PUEVSQVRPUi5MRVNTX09SX0VRVUFMKSkge1xuICAgICAgICB1cmwgKz0gXCImc3RhcnR0aW1lX2x0ZT1cIiArIChxdWVyeS5vID09PSBTZWFyY2hGaWx0ZXIuT1BFUkFUT1IuSU5URVJWQUxfSU5DTFVERV9CT1RIID8gcXVlcnkudjIgOiBxdWVyeS52MSk7XG4gICAgICB9XG4gICAgfVxuICAgIHJldHVybiB1cmw7XG4gIH1cblxuICBwcml2YXRlIGFkZFNvcnRQYXJhbXNUb1VybCh1cmwpOiBzdHJpbmcge1xuICAgIGlmICh0aGlzLnNvcnRQYXJhbXMuc3RhcnRUaW1lKSB7XG4gICAgICB1cmwgKz0gXCImc29ydD1zdGFydHRpbWUsXCIgKyB0aGlzLnNvcnRQYXJhbXMuc3RhcnRUaW1lO1xuICAgIH1cbiAgICBpZiAodGhpcy5zb3J0UGFyYW1zLm1vZGVsTmFtZSkge1xuICAgICAgdXJsICs9IFwiJnNvcnQ9bmFtZSxcIiArIHRoaXMuc29ydFBhcmFtcy5tb2RlbE5hbWU7XG4gICAgfVxuICAgIHJldHVybiB1cmw7XG4gIH1cblxuICBwcml2YXRlIGdldE1vZGVsSWRGcm9tTmFtZShtb2RlbE5hbWUpOiBzdHJpbmcge1xuICAgIGxldCBpZCA9IFwiXCI7XG4gICAgdGhpcy5wcm9jZXNzTW9kZWxzTGlzdE9iamVjdC5lbnRyaWVzLmZvckVhY2gobW9kZWwgPT4ge1xuICAgICAgaWYgKG1vZGVsLm5hbWUgPT09IG1vZGVsTmFtZSkge1xuICAgICAgICBpZCA9IG1vZGVsLmlkO1xuICAgICAgfSBlbHNlIGlmIChtb2RlbC5tb2RlbHMpIHtcbiAgICAgICAgbW9kZWwubW9kZWxzLmZvckVhY2goc3VibW9kZWwgPT4ge1xuICAgICAgICAgIGlmIChzdWJtb2RlbC5uYW1lID09PSBtb2RlbE5hbWUpIHtcbiAgICAgICAgICAgIGlkID0gc3VibW9kZWwuaWQ7XG4gICAgICAgICAgfVxuICAgICAgICB9KTtcbiAgICAgIH1cbiAgICB9KTtcbiAgICByZXR1cm4gaWQ7XG4gIH1cblxuICBhZGRJY29uVXJsKHByb2Nlc3NlczogUHJvY2Vzc1tdKSB7XG4gICAgcHJvY2Vzc2VzLmZvckVhY2goKHByb2Nlc3M6IFByb2Nlc3MpID0+IHtcbiAgICAgIGlmICghcHJvY2Vzcy5pY29uaWQpIHtcbiAgICAgICAgaWYgKHByb2Nlc3Muc3RhdGUgPT09ICdFUlJPUlNVU1BFTkRFRCcpIHtcbiAgICAgICAgICBwcm9jZXNzLmljb251cmwgPSAnYXNzZXRzL19kZWZhdWx0L3N2Zy9pY19icG1fd2FybmluZy5zdmcnO1xuICAgICAgICB9IGVsc2UgaWYgKHByb2Nlc3Muc3RhdGUgPT09ICdDT01QTEVURUQnKSB7XG4gICAgICAgICAgcHJvY2Vzcy5pY29udXJsID0gJ2Fzc2V0cy9fZGVmYXVsdC9zdmcvaWNfYnBtX2RvbmUuc3ZnJztcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICBwcm9jZXNzLmljb251cmwgPSBcImFzc2V0cy9fZGVmYXVsdC9zdmcvaWNfYnBtLnN2Z1wiO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfSk7XG4gICAgcmV0dXJuIHByb2Nlc3NlcztcbiAgfVxuXG4gIGNlbGxSZW5kZXJlcihwYXJhbXMpIHtcbiAgICBpZiAocGFyYW1zLmRhdGEpIHtcbiAgICAgIGxldCBpY29uID0gcGFyYW1zLmNvbnRleHQuY3IucmVuZGVyKFwiaWNvblwiLCBwYXJhbXMsIHtcbiAgICAgICAgdmFsdWU6IHtcbiAgICAgICAgICB1cmw6IHBhcmFtcy5kYXRhLmljb25pZCA/IFwiXCIgOiBwYXJhbXMuZGF0YS5pY29udXJsLFxuICAgICAgICAgIGljb25JZDogIXBhcmFtcy5kYXRhLmljb25pZCA/IFwiXCIgOiBwYXJhbXMuZGF0YS5pY29uaWQsXG4gICAgICAgICAgbGFiZWw6IHBhcmFtcy5kYXRhLm1vZGVsbmFtZVxuICAgICAgICB9XG4gICAgICB9KTtcblxuICAgICAgY29uc3Qgc3RhcnRUaW1lID0gcGFyYW1zLmNvbnRleHQuY3IucmVuZGVyKCdkYXRlVGltZScsIHBhcmFtcywgeyB2YWx1ZTogcGFyYW1zLmRhdGEuc3RhcnR0aW1lLCBwYXR0ZXJuOiAnZW9TaG9ydERhdGUnIH0pO1xuICAgICAgY29uc3QgZW5kVGltZSA9IHBhcmFtcy5jb250ZXh0LmNyLnJlbmRlcignZGF0ZVRpbWUnLCBwYXJhbXMsIHsgdmFsdWU6IHBhcmFtcy5kYXRhLmVuZHRpbWUsIHBhdHRlcm46ICdlb1Nob3J0RGF0ZScgfSk7XG4gICAgICBjb25zdCBoYXNFcnJvciA9IHBhcmFtcy5kYXRhLnN0YXRlID09PSAnRVJST1JTVVNQRU5ERUQnID8gJ2Vycm9yJyA6ICcnO1xuICAgICAgY29uc3QgaGFzTm90WWV0QmVlblN0YXJ0ZWQgPSBwYXJhbXMuZGF0YS5zdGF0ZSA9PT0gMCA/ICdub3RzdGFydGVkJyA6ICcnO1xuICAgICAgY29uc3QgZW5kVGltZU1hcmt1cDogc3RyaW5nID0gKGVuZFRpbWUubGVuZ3RoKSA/IGA8ZGl2IGNsYXNzPVwiZGF0ZSBlbmRcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3Bhbj4ke3BhcmFtcy5jb250ZXh0LnRyYW5zbGF0ZS5pbnN0YW50KCdlby5wcm9jZXNzLmVuZC50aW1lLmxhYmVsJyl9PC9zcGFuPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJ0aW1lXCI+ICR7ZW5kVGltZX08L2Rpdj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+YFxuICAgICAgICA6IFwiXCI7XG4gICAgICBjb25zdCBzdGFydFRpbWVNYXJrdXA6IHN0cmluZyA9IHN0YXJ0VGltZS5sZW5ndGhcbiAgICAgICAgPyBgPGRpdiBjbGFzcz1cImRhdGVcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3Bhbj4ke3BhcmFtcy5jb250ZXh0LnRyYW5zbGF0ZS5pbnN0YW50KFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXCJlby5wcm9jZXNzLnN0YXJ0LnRpbWUubGFiZWxcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICl9PC9zcGFuPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJ0aW1lXCI+ICR7c3RhcnRUaW1lfTwvZGl2PlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5gXG4gICAgICAgIDogXCJcIjtcblxuICAgICAgcmV0dXJuIGA8ZGl2IGNsYXNzPVwibGlzdC1pdGVtICR7aGFzRXJyb3J9ICR7aGFzTm90WWV0QmVlblN0YXJ0ZWR9XCIgdW5zZWxlY3RhYmxlPlxuICAgICAgICAgICAgJHtpY29ufVxuICAgICAgICAgICAgPGRpdiBjbGFzcz0nY29udGVudCc+XG4gICAgICAgICAgICAgIDxkaXYgY2xhc3M9J3RpdGxlJz4ke3BhcmFtcy5kYXRhLnRpdGxlIHx8IFwiLi4uXCJ9PC9kaXY+XG4gICAgICAgICAgICAgIDxkaXYgY2xhc3M9J2Rlc2NyaXB0aW9uJz4ke3BhcmFtcy5kYXRhLm1vZGVsbmFtZSB8fCBcIi4uLlwifTwvZGl2PlxuICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cIm1ldGFcIj5cbiAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImRhdGVsYWJlbFwiPlxuICAgICAgICAgICAgICAgICR7c3RhcnRUaW1lTWFya3VwfVxuICAgICAgICAgICAgICAgICR7ZW5kVGltZU1hcmt1cH1cbiAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgIDwvZGl2PlxuICAgICAgICBgO1xuICAgIH1cbiAgfVxuXG4gIG5nT25Jbml0KCkge1xuICAgIHRoaXMuaW5pdEdyaWQoKTtcbiAgfVxuXG4gIG5nT25EZXN0cm95KCkge1xuICAgIHRoaXMuc2VsZWN0aW9uLmNsZWFyKCk7XG4gIH1cblxuICBoYXNDaGFuZ2VkKG9WLCBuVik6IGJvb2xlYW4ge1xuICAgIHJldHVybiBKU09OLnN0cmluZ2lmeShvVikgIT09IEpTT04uc3RyaW5naWZ5KG5WKTtcbiAgfVxuXG4gIGhhc1BlbmRpbmdDaGFuZ2VzKCkge1xuICAgIHJldHVybiB0aGlzLnBlbmRpbmdDaGFuZ2VzLmhhc1BlbmRpbmdUYXNrKCk7XG4gIH1cbn1cbiIsIjx5dmMtc3BsaXQtdmlldyBbbGF5b3V0U2V0dGluZ3NJRF09XCInaW5ib3guc3RhdGUnXCI+XG4gIDwhLS0gbGlzdCAtLT5cbiAgPG5nLXRlbXBsYXRlIHl2Y1NwbGl0QXJlYSBbc2l6ZV09XCIzMFwiPlxuICAgIDxlby1saXN0LWNvbnRhaW5lciAjZW9MaXN0IFthcHBseVNlbGVjdGlvbl09XCJ7b3V0OiBwcm9jZXNzU2VsZWN0aW9uSWR9XCI+XG4gICAgICA8ZGl2IGNsYXNzPVwiZW8taGVhZGVyXCI+XG4gICAgICAgIDxlby1pY29uIGNsYXNzPVwiZW8taGVhZGVyLWljb25cIiBbaWNvblNyY109XCInYXNzZXRzL19kZWZhdWx0L3N2Zy9pY19icG0uc3ZnJ1wiPjwvZW8taWNvbj5cbiAgICAgICAgPGRpdiBjbGFzcz1cImVvLWhlYWRlci1pbmZvXCI+XG4gICAgICAgICAgPGRpdiBjbGFzcz1cImVvLWhlYWRlci10aXRsZVwiIHRyYW5zbGF0ZT5lby5zdGF0ZS5wcm9jZXNzPC9kaXY+XG4gICAgICAgIDwvZGl2PlxuICAgICAgICA8ZGl2IGNsYXNzPVwiZW8taGVhZGVyLWFjdGlvbnNcIj5cbiAgICAgICAgICA8ZW8taWNvbiBjbGFzcz1cImJ1dHRvbiByZWZyZXNoLWJ1dHRvblwiIFtpY29uU3JjXT1cIidhc3NldHMvX2RlZmF1bHQvc3ZnL2ljX3JlZnJlc2guc3ZnJ1wiXG4gICAgICAgICAgICAgICAgICAgKGNsaWNrKT1cInJlZnJlc2hMaXN0KClcIlxuICAgICAgICAgICAgICAgICAgIFtpY29uVGl0bGVdPVwiKCdlby5saXN0LnJlZnJlc2gnIHwgdHJhbnNsYXRlKVwiPjwvZW8taWNvbj5cblxuICAgICAgICAgIDxlby1vdmVybGF5ICNvRmlsdGVyIFtpY29uU3JjXT1cIidhc3NldHMvX2RlZmF1bHQvc3ZnL2ljX2ZpbHRlci5zdmcnXCJcbiAgICAgICAgICAgICAgICAgICAgICBjbGFzcz1cIm92ZXJsYXktZmlsdGVyXCJcbiAgICAgICAgICAgICAgICAgICAgICBbaWNvblRpdGxlXT1cIidlby5saXN0LmZpbHRlcicgfCB0cmFuc2xhdGVcIj5cbiAgICAgICAgICAgIDxlby1jdXN0b20tZmlsdGVyICNjRmlsdGVyIChjaGFuZ2UpPVwiY0ZpbHRlci51cGRhdGVHcmlkKGVvTGlzdC5lb0dyaWRTdWJqZWN0LCAkZXZlbnQpXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIChhY3RpdmUpPVwib0ZpbHRlci5vbkFjdGl2ZUNoYW5nZWQoJGV2ZW50KVwiPlxuICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZmlsdGVyLXRpdGxlXCIgdHJhbnNsYXRlPmVvLmZpbHRlci5ieTwvZGl2PlxuICAgICAgICAgICAgICA8Zm9ybSBbZm9ybUdyb3VwXT1cImZpbHRlckZvcm1cIiAqbmdJZj0nZmlsdGVyRm9ybSc+XG4gICAgICAgICAgICAgICAgPGVvLWZvcm0taW5wdXQgW2xhYmVsXT1cIignZW8uc3RhdGUucHJvY2Vzcy5maWx0ZXIubGFiZWxzLm1vZGVsJyB8IHRyYW5zbGF0ZSlcIiAqbmdJZj1cInByb2Nlc3NNb2RlbHNMaXN0T2JqZWN0LmVudHJpZXMubGVuZ3RoXCI+XG4gICAgICAgICAgICAgICAgICA8ZW8tZHluYW1pYy1saXN0IGZvcm1Db250cm9sTmFtZT1cIm1vZGVsRkNOXCIgW3BpY2tlclRpdGxlXT1cIidNb2RlbHMnXCIgW2xpc3RPYmplY3RdPVwicHJvY2Vzc01vZGVsc0xpc3RPYmplY3RcIj48L2VvLWR5bmFtaWMtbGlzdD5cbiAgICAgICAgICAgICAgICA8L2VvLWZvcm0taW5wdXQ+XG4gICAgICAgICAgICAgICAgPGVvLWZvcm0taW5wdXQgW2xhYmVsXT1cIignZW8uc3RhdGUucHJvY2Vzcy5maWx0ZXIubGFiZWxzLnJ1bm5pbmcnIHwgdHJhbnNsYXRlKVwiPlxuICAgICAgICAgICAgICAgICAgPGVvLWNoZWNrYm94IGZvcm1Db250cm9sTmFtZT1cInJ1bm5pbmdGQ05cIiBbdHJpc3RhdGVdPVwiZmFsc2VcIj48L2VvLWNoZWNrYm94PlxuICAgICAgICAgICAgICAgIDwvZW8tZm9ybS1pbnB1dD5cbiAgICAgICAgICAgICAgICA8ZW8tZm9ybS1pbnB1dCBbbGFiZWxdPVwiKCdlby5zdGF0ZS5wcm9jZXNzLmZpbHRlci5sYWJlbHMucGF1c2VkJyB8IHRyYW5zbGF0ZSlcIj5cbiAgICAgICAgICAgICAgICAgIDxlby1jaGVja2JveCBmb3JtQ29udHJvbE5hbWU9XCJwYXVzZWRGQ05cIiBbdHJpc3RhdGVdPVwiZmFsc2VcIj48L2VvLWNoZWNrYm94PlxuICAgICAgICAgICAgICAgIDwvZW8tZm9ybS1pbnB1dD5cbiAgICAgICAgICAgICAgICA8ZW8tZm9ybS1pbnB1dCBbbGFiZWxdPVwiKCdlby5zdGF0ZS5wcm9jZXNzLmZpbHRlci5sYWJlbHMuY3JlYXRlZCcgfCB0cmFuc2xhdGUpXCI+XG4gICAgICAgICAgICAgICAgICA8ZW8tY2hlY2tib3ggZm9ybUNvbnRyb2xOYW1lPVwiY3JlYXRlZEZDTlwiIFt0cmlzdGF0ZV09XCJmYWxzZVwiPjwvZW8tY2hlY2tib3g+XG4gICAgICAgICAgICAgICAgPC9lby1mb3JtLWlucHV0PlxuICAgICAgICAgICAgICAgIDxlby1mb3JtLWlucHV0IFtsYWJlbF09XCIoJ2VvLnN0YXRlLnByb2Nlc3MuZmlsdGVyLmxhYmVscy5jYW5jZWxlZCcgfCB0cmFuc2xhdGUpXCI+XG4gICAgICAgICAgICAgICAgICA8ZW8tY2hlY2tib3ggZm9ybUNvbnRyb2xOYW1lPVwiY2FuY2VsZWRGQ05cIiBbdHJpc3RhdGVdPVwiZmFsc2VcIj48L2VvLWNoZWNrYm94PlxuICAgICAgICAgICAgICAgIDwvZW8tZm9ybS1pbnB1dD5cbiAgICAgICAgICAgICAgICA8ZW8tZm9ybS1pbnB1dCBbbGFiZWxdPVwiKCdlby5zdGF0ZS5wcm9jZXNzLmZpbHRlci5sYWJlbHMuZmFpbGVkJyB8IHRyYW5zbGF0ZSlcIj5cbiAgICAgICAgICAgICAgICAgIDxlby1jaGVja2JveCBmb3JtQ29udHJvbE5hbWU9XCJmYWlsZWRGQ05cIiBbdHJpc3RhdGVdPVwiZmFsc2VcIj48L2VvLWNoZWNrYm94PlxuICAgICAgICAgICAgICAgIDwvZW8tZm9ybS1pbnB1dD5cbiAgICAgICAgICAgICAgICA8ZW8tZm9ybS1pbnB1dCBbbGFiZWxdPVwiKCdlby5zdGF0ZS5wcm9jZXNzLmZpbHRlci5sYWJlbHMuY29tcGxldGVkJyB8IHRyYW5zbGF0ZSlcIj5cbiAgICAgICAgICAgICAgICAgIDxlby1jaGVja2JveCBmb3JtQ29udHJvbE5hbWU9XCJjb21wbGV0ZWRGQ05cIiBbdHJpc3RhdGVdPVwiZmFsc2VcIj48L2VvLWNoZWNrYm94PlxuICAgICAgICAgICAgICAgIDwvZW8tZm9ybS1pbnB1dD5cbiAgICAgICAgICAgICAgICA8ZW8tZm9ybS1pbnB1dCBbbGFiZWxdPVwiKCdlby5zdGF0ZS5wcm9jZXNzLmZpbHRlci5sYWJlbHMuc3RhcnR0aW1lJyB8IHRyYW5zbGF0ZSlcIj5cbiAgICAgICAgICAgICAgICAgIDxlby1kYXRldGltZS1yYW5nZSBmb3JtQ29udHJvbE5hbWU9XCJzdGFydFRpbWVGQ05cIiBbd2l0aFRpbWVdPVwiZmFsc2VcIj48L2VvLWRhdGV0aW1lLXJhbmdlPlxuICAgICAgICAgICAgICAgIDwvZW8tZm9ybS1pbnB1dD5cbiAgICAgICAgICAgICAgPC9mb3JtPlxuICAgICAgICAgICAgICA8YnV0dG9uIGNsYXNzPVwicmVzZXQtZmlsdGVyXCIgKGNsaWNrKT1cInJlc2V0RmlsdGVycygpXCIgKm5nSWY9XCJoYXNDaGFuZ2VkKGRlZmF1bHRGaWx0ZXJGb3JtVmFsdWUsIGZpbHRlckZvcm0/LnZhbHVlKVwiPlJlc2V0IGZpbHRlcjwvYnV0dG9uPlxuICAgICAgICAgICAgPC9lby1jdXN0b20tZmlsdGVyPlxuICAgICAgICAgIDwvZW8tb3ZlcmxheT5cblxuICAgICAgICAgIDxlby1vdmVybGF5ICNvU29ydFxuICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPVwib3ZlcmxheS1zb3J0XCJcbiAgICAgICAgICAgICAgICAgICAgICBbaWNvblNyY109XCInYXNzZXRzL19kZWZhdWx0L3N2Zy9pY19zb3J0LnN2ZydcIlxuICAgICAgICAgICAgICAgICAgICAgIFtpY29uVGl0bGVdPVwiJ2VvLmxpc3Quc29ydCcgfCB0cmFuc2xhdGVcIlxuICAgICAgICAgICAgICAgICAgICAgIFthY3RpdmVdPVwiaGFzQ2hhbmdlZChkZWZhdWx0U29ydFBhcmFtcywgc29ydFBhcmFtcylcIj5cbiAgICAgICAgICAgIDxlby1jdXN0b20tc29ydCAjY1NvcnQgW2lkXT1cIidwcm9jZXNzLnNvcnQnXCIgKGNoYW5nZSk9XCJjU29ydC51cGRhdGVHcmlkKGVvTGlzdC5lb0dyaWQsICRldmVudClcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIChhY3RpdmUpPVwib1NvcnQub25BY3RpdmVDaGFuZ2VkKCRldmVudClcIiBbc29ydEZpZWxkc109XCJzb3J0RmllbGRzXCI+PC9lby1jdXN0b20tc29ydD5cbiAgICAgICAgICA8L2VvLW92ZXJsYXk+XG5cbiAgICAgICAgPC9kaXY+XG4gICAgICA8L2Rpdj5cbiAgICAgIDxkaXYgY2xhc3M9XCJlby1ib2R5XCI+XG4gICAgICAgIDxlby1ncmlkICNlb0dyaWRcbiAgICAgICAgICAgICAgICAgKm5nSWY9XCJncmlkT3B0aW9uc1wiXG4gICAgICAgICAgICAgICAgIFtncmlkT3B0aW9uc109XCJncmlkT3B0aW9uc1wiXG4gICAgICAgICAgICAgICAgIFtmdWxsV2lkdGhdPVwidHJ1ZVwiXG4gICAgICAgICAgICAgICAgIFtzaG93SGVhZGVyXT1cInRydWVcIlxuICAgICAgICAgICAgICAgICBbc2hvd0Zvb3Rlcl09XCJ0cnVlXCJcbiAgICAgICAgICAgICAgICAgW3NlbGVjdEZpcnN0XT1cInRydWVcIlxuICAgICAgICAgICAgICAgICAoZW9HcmlkQ291bnRDaGFuZ2VkKT1cImVvTGlzdC5vbkNvdW50Q2hhbmdlZCgkZXZlbnQpXCJcbiAgICAgICAgICAgICAgICAgKGVvR3JpZFNlbGVjdGlvbkNoYW5nZWQpPVwiZW9MaXN0Lm9uU2VsZWN0aW9uQ2hhbmdlZCgkZXZlbnQpXCJcbiAgICAgICAgICAgICAgICAgKGVvR3JpZEZvY3VzQ2hhbmdlZCk9XCJlb0xpc3Qub25Gb2N1c0NoYW5nZWQoJGV2ZW50KVwiPlxuICAgICAgICAgIDxkaXYgY2xhc3M9XCJoZWFkZXJcIj5cbiAgICAgICAgICA8L2Rpdj5cblxuICAgICAgICAgIDxkaXYgY2xhc3M9XCJmb290ZXJcIj5cbiAgICAgICAgICAgIDxlby10b3RhbC1jb3VudCBbZ3JpZENvdW50XT1cImVvTGlzdC5ncmlkQ291bnRcIiBbb3V0c2lkZUdyaWRdPVwiZmFsc2VcIiBjbGFzcz1cImZsZXgtcm93XCI+PC9lby10b3RhbC1jb3VudD5cbiAgICAgICAgICAgIDxlby1wYWdpbmF0aW9uIFtzZXR0aW5nc109XCJzZXR0aW5nc1wiIChwYWdlQ2hhbmdlZCk9XCJvblBhZ2VDaGFuZ2VkKCRldmVudClcIj48L2VvLXBhZ2luYXRpb24+XG4gICAgICAgICAgPC9kaXY+XG5cbiAgICAgICAgICA8ZGl2IGNsYXNzPVwiZW1wdHlcIj5cbiAgICAgICAgICAgIDxlby1lcnJvci1tZXNzYWdlIFtlbXB0eVN0YXRlXT1cIntpY29uOiAnaWNfYnBtLnN2ZycsIHRleHQ6IG9GaWx0ZXIuYWN0aXZlID8gJ2VvLm5vLmZpbHRlci5yZXN1bHQnIDogJ2VvLnByb2Nlc3MubGlzdC5lbXB0eSd9XCI+PC9lby1lcnJvci1tZXNzYWdlPlxuICAgICAgICAgICAgPGVvLXJlc2V0LWZpbHRlciBbaXNGaWx0ZXJBY3RpdmVdPVwib0ZpbHRlci5hY3RpdmVcIiAoY2xpY2spPVwicmVzZXRGaWx0ZXJzKClcIj48L2VvLXJlc2V0LWZpbHRlcj5cbiAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgPC9lby1ncmlkPlxuICAgICAgPC9kaXY+XG4gICAgPC9lby1saXN0LWNvbnRhaW5lcj5cbiAgPC9uZy10ZW1wbGF0ZT5cblxuICA8IS0tIHByb2Nlc3MgZGV0YWlscyAtLT5cbiAgPG5nLXRlbXBsYXRlIHl2Y1NwbGl0QXJlYSBbc2l6ZV09XCIzMFwiPlxuICAgIDxlby1wcm9jZXNzLWRldGFpbHMgW2FwcGx5U2VsZWN0aW9uXT1cIntpbjogcHJvY2Vzc1NlbGVjdGlvbklkfVwiIFtlbXB0eVN0YXRlXT1cImVtcHR5U3RhdGUxXCJcbiAgICBbcGx1Z2luc109XCIncHJvY2Vzcy1kZXRhaWxzLXRhYi5wcm9jZXNzJyB8IHBsdWdpbnNcIj5cbiAgICA8L2VvLXByb2Nlc3MtZGV0YWlscz5cbiAgPC9uZy10ZW1wbGF0ZT5cblxuICA8IS0tIG9iamVjdCBkZXRhaWxzIC0tPlxuICA8bmctdGVtcGxhdGUgeXZjU3BsaXRBcmVhIFtzaXplXT1cIjQwXCI+XG4gICAgPGVvLW9iamVjdC1kZXRhaWxzIFthcHBseVNlbGVjdGlvbl09XCJ7fVwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICBbY2FjaGVMYXlvdXRdPVwiJ3Byb2Nlc3Muc3RhdGUub2JqZWN0LWRldGFpbHMnXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgIFtlbXB0eVN0YXRlXT1cImVtcHR5U3RhdGUyXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgIFtwbHVnaW5zXT1cIidvYmplY3QtZGV0YWlscy10YWIucHJvY2VzcycgfCBwbHVnaW5zXCI+XG4gICAgICAgIDwvZW8tb2JqZWN0LWRldGFpbHM+XG4gIDwvbmctdGVtcGxhdGU+XG48L3l2Yy1zcGxpdC12aWV3PlxuIl19
|
|
330
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHJvY2Vzcy1zdGF0ZS5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9zcmMvYXBwL2VvLWNsaWVudC9wcm9jZXNzLXN0YXRlL3Byb2Nlc3Mtc3RhdGUuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vc3JjL2FwcC9lby1jbGllbnQvcHJvY2Vzcy1zdGF0ZS9wcm9jZXNzLXN0YXRlLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUNBLE9BQU8sRUFBQyxTQUFTLEVBQXFCLFNBQVMsRUFBQyxNQUFNLGVBQWUsQ0FBQztBQUV0RSxPQUFPLEVBQThDLE9BQU8sRUFBRSxVQUFVLEVBQUUsWUFBWSxFQUFvQixLQUFLLEVBQUMsTUFBTSxjQUFjLENBQUM7QUFFckksT0FBTyxFQUFDLEdBQUcsRUFBQyxNQUFNLGdCQUFnQixDQUFDO0FBUW5DLE9BQU8sRUFBQyxtQkFBbUIsRUFBQyxNQUFNLG9CQUFvQixDQUFDOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBT3ZELE1BQU0sT0FBTyxxQkFBcUI7SUFpRGhDLFlBQ1MsU0FBMkIsRUFDM0IsVUFBc0IsRUFDdEIsU0FBMkIsRUFDMUIsS0FBd0IsRUFDeEIsT0FBdUIsRUFDdkIsRUFBc0IsRUFDdEIsWUFBOEIsRUFDOUIsUUFBeUIsRUFDekIsY0FBcUM7UUFSdEMsY0FBUyxHQUFULFNBQVMsQ0FBa0I7UUFDM0IsZUFBVSxHQUFWLFVBQVUsQ0FBWTtRQUN0QixjQUFTLEdBQVQsU0FBUyxDQUFrQjtRQUMxQixVQUFLLEdBQUwsS0FBSyxDQUFtQjtRQUN4QixZQUFPLEdBQVAsT0FBTyxDQUFnQjtRQUN2QixPQUFFLEdBQUYsRUFBRSxDQUFvQjtRQUN0QixpQkFBWSxHQUFaLFlBQVksQ0FBa0I7UUFDOUIsYUFBUSxHQUFSLFFBQVEsQ0FBaUI7UUFDekIsbUJBQWMsR0FBZCxjQUFjLENBQXVCO1FBdkQvQyx1QkFBa0Is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O2tCQUxqQyxTQUFTOytCQUNFLGtCQUFrQjs4VkFtRFAsTUFBTTtzQkFBMUIsU0FBUzt1QkFBQyxRQUFRIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtDb2xEZWYsIEdyaWRPcHRpb25zfSBmcm9tICdAYWctZ3JpZC1jb21tdW5pdHkvY29yZSc7XG5pbXBvcnQge0NvbXBvbmVudCwgT25EZXN0cm95LCBPbkluaXQsIFZpZXdDaGlsZH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQge1VudHlwZWRGb3JtQnVpbGRlciwgVW50eXBlZEZvcm1Hcm91cH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuaW1wb3J0IHtBcHBDYWNoZVNlcnZpY2UsIEJhY2tlbmRTZXJ2aWNlLCBCcG1TZXJ2aWNlLCBQcm9jZXNzLCBSYW5nZVZhbHVlLCBTZWFyY2hGaWx0ZXIsIFRyYW5zbGF0ZVNlcnZpY2UsIFV0aWxzfSBmcm9tICdAZW8tc2RrL2NvcmUnO1xuaW1wb3J0IHtPYnNlcnZhYmxlfSBmcm9tICdyeGpzJztcbmltcG9ydCB7bWFwfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XG5pbXBvcnQge0VtcHR5U3RhdGV9IGZyb20gJy4uLy4uL2VvLWZyYW1ld29yay1jb3JlL2VtcHR5LXN0YXRlL2VtcHR5LXN0YXRlLmludGVyZmFjZSc7XG5pbXBvcnQge0VtcHR5U3RhdGVTZXJ2aWNlfSBmcm9tICcuLi8uLi9lby1mcmFtZXdvcmstY29yZS9lbXB0eS1zdGF0ZS9lbXB0eS1zdGF0ZS5zZXJ2aWNlJztcbmltcG9ydCB7UGVuZGluZ0NoYW5nZXNDb21wb25lbnR9IGZyb20gJy4uLy4uL2VvLWZyYW1ld29yay1jb3JlL3BlbmRpbmctY2hhbmdlcy9wZW5kaW5nLWNoYW5nZXMtY29tcG9uZW50LmludGVyZmFjZSc7XG5pbXBvcnQge1BlbmRpbmdDaGFuZ2VzU2VydmljZX0gZnJvbSAnLi4vLi4vZW8tZnJhbWV3b3JrLWNvcmUvcGVuZGluZy1jaGFuZ2VzL3BlbmRpbmctY2hhbmdlcy5zZXJ2aWNlJztcbmltcG9ydCB7U2VsZWN0aW9uU2VydmljZX0gZnJvbSAnLi4vLi4vZW8tZnJhbWV3b3JrLWNvcmUvc2VsZWN0aW9uL3NlbGVjdGlvbi5zZXJ2aWNlJztcbmltcG9ydCB7UGFnZVRpdGxlU2VydmljZX0gZnJvbSAnLi4vLi4vZW8tZnJhbWV3b3JrLWNvcmUvdGl0bGUvcGFnZS10aXRsZS5zZXJ2aWNlJztcbmltcG9ydCB7R3JpZENvbXBvbmVudH0gZnJvbSAnLi4vLi4vZW8tZnJhbWV3b3JrL2dyaWQvZ3JpZC5jb21wb25lbnQnO1xuaW1wb3J0IHtDdXN0b21Tb3J0Q29tcG9uZW50fSBmcm9tIFwiLi4vLi4vZW8tZnJhbWV3b3JrXCI7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogXCJlby1wcm9jZXNzLXN0YXRlXCIsXG4gIHRlbXBsYXRlVXJsOiBcIi4vcHJvY2Vzcy1zdGF0ZS5jb21wb25lbnQuaHRtbFwiLFxuICBzdHlsZVVybHM6IFtcIi4vcHJvY2Vzcy1zdGF0ZS5jb21wb25lbnQuc2Nzc1wiXVxufSlcbmV4cG9ydCBjbGFzcyBQcm9jZXNzU3RhdGVDb21wb25lbnRcbiAgaW1wbGVtZW50cyBPbkluaXQsIE9uRGVzdHJveSwgUGVuZGluZ0NoYW5nZXNDb21wb25lbnQge1xuICBncmlkT3B0aW9uczogR3JpZE9wdGlvbnM7XG4gIHByb2Nlc3NTZWxlY3Rpb25JZCA9IFwicHJvY2Vzc1wiO1xuICBwcm9jZXNzU2VsZWN0aW9uOiBTZWxlY3Rpb25TZXJ2aWNlO1xuICBlbXB0eVN0YXRlMTogRW1wdHlTdGF0ZSA9IHsgaWNvbjogXCJcIiwgdGV4dDogXCJcIiwgY2xhc3NOYW1lOiBcIlwiIH07XG4gIGVtcHR5U3RhdGUyOiBFbXB0eVN0YXRlID0geyBpY29uOiBcIlwiLCB0ZXh0OiBcIlwiLCBjbGFzc05hbWU6IFwiXCIgfTtcbiAgZmlsdGVyQ2FjaGVLZXkgPSBcImVvLnByb2Nlc3MubGlzdC5maWx0ZXJcIjtcbiAgc29ydENhY2hlS2V5ID0gXCJlby5wcm9jZXNzLmxpc3Quc29ydFwiO1xuICBWSVJUVUFMX0xJU1RfQ0hVTktfU0laRSA9IDUwO1xuICBmaWx0ZXJGb3JtOiBVbnR5cGVkRm9ybUdyb3VwO1xuICBkZWZhdWx0RmlsdGVyRm9ybVZhbHVlID0ge1xuICAgIG1vZGVsRkNOOiBudWxsLFxuICAgIHJ1bm5pbmdGQ046IHRydWUsXG4gICAgcGF1c2VkRkNOOiB0cnVlLFxuICAgIGNyZWF0ZWRGQ046IHRydWUsXG4gICAgY2FuY2VsZWRGQ046IHRydWUsXG4gICAgZmFpbGVkRkNOOiB0cnVlLFxuICAgIGNvbXBsZXRlZEZDTjogdHJ1ZSxcbiAgICBzdGFydFRpbWVGQ046IG51bGxcbiAgfTtcbiAgc29ydFBhcmFtcyA9IHtcbiAgICBzdGFydFRpbWU6ICcnLFxuICAgIG1vZGVsTmFtZTogJydcbiAgfTtcbiAgZGVmYXVsdFNvcnRQYXJhbXMgPSB7XG4gICAgc3RhcnRUaW1lOiBcIlwiLFxuICAgIG1vZGVsTmFtZTogXCJcIlxuICB9O1xuICBzb3J0RmllbGRzOiBDb2xEZWZbXTtcbiAgc2V0dGluZ3MgPSB7fTtcbiAgY29sRGVmczogQ29sRGVmW10gPSBbXG4gICAge1xuICAgICAgaGVhZGVyTmFtZTogXCJcIixcbiAgICAgIGZpZWxkOiBcIl9fY3VzdG9tXCIsXG4gICAgICBjZWxsUmVuZGVyZXI6IHRoaXMuY2VsbFJlbmRlcmVyLFxuICAgICAgZmlsdGVyOiBmYWxzZVxuICAgIH1cbiAgXTtcbiAgcHJvY2Vzc01vZGVsc0xpc3RPYmplY3QgPSB7XG4gICAgZW50cmllczogW10sXG4gICAgY29uZmlnOiB7XG4gICAgICB2YWx1ZUZpZWxkOiBcIm5hbWVcIixcbiAgICAgIHN1YkVudHJpZXNGaWVsZDogXCJtb2RlbHNcIlxuICAgIH1cbiAgfTtcblxuICBAVmlld0NoaWxkKFwiZW9HcmlkXCIpIGVvR3JpZDogR3JpZENvbXBvbmVudDtcblxuICBjb25zdHJ1Y3RvcihcbiAgICBwdWJsaWMgdHJhbnNsYXRlOiBUcmFuc2xhdGVTZXJ2aWNlLFxuICAgIHB1YmxpYyBicG1TZXJ2aWNlOiBCcG1TZXJ2aWNlLFxuICAgIHB1YmxpYyBzZWxlY3Rpb246IFNlbGVjdGlvblNlcnZpY2UsXG4gICAgcHJpdmF0ZSBlbXB0eTogRW1wdHlTdGF0ZVNlcnZpY2UsXG4gICAgcHJpdmF0ZSBiYWNrZW5kOiBCYWNrZW5kU2VydmljZSxcbiAgICBwcml2YXRlIGZiOiBVbnR5cGVkRm9ybUJ1aWxkZXIsXG4gICAgcHJpdmF0ZSB0aXRsZVNlcnZpY2U6IFBhZ2VUaXRsZVNlcnZpY2UsXG4gICAgcHJpdmF0ZSBhcHBDYWNoZTogQXBwQ2FjaGVTZXJ2aWNlLFxuICAgIHByaXZhdGUgcGVuZGluZ0NoYW5nZXM6IFBlbmRpbmdDaGFuZ2VzU2VydmljZVxuICApIHtcbiAgICB0aGlzLnRpdGxlU2VydmljZS5zZXRCYXNlVGl0bGUodGhpcy50cmFuc2xhdGUuaW5zdGFudCgnZW8uc3RhdGUucHJvY2VzcycpKTtcblxuICAgIC8vc2Vjb25kYXJ5IHNlbGVjdGlvbiBpbnN0YW5jZSBmb3IgaW5ib3ggaXRlbXNcbiAgICB0aGlzLnByb2Nlc3NTZWxlY3Rpb24gPSB0aGlzLnNlbGVjdGlvbi5jcmVhdGVOZXcodGhpcy5wcm9jZXNzU2VsZWN0aW9uSWQpO1xuXG4gICAgdGhpcy5mZXRjaFByb2Nlc3NNb2RlbHMoKS5zdWJzY3JpYmUocHJvY2Vzc01vZGVscyA9PiB7XG4gICAgICB0aGlzLnByb2Nlc3NNb2RlbHNMaXN0T2JqZWN0LmVudHJpZXMgPSBwcm9jZXNzTW9kZWxzO1xuICAgIH0pO1xuXG4gICAgdGhpcy5hcHBDYWNoZVxuICAgICAgLmdldEl0ZW0odGhpcy5maWx0ZXJDYWNoZUtleSlcbiAgICAgIC5zdWJzY3JpYmUoXG4gICAgICAgIGZpbHRlclZhbHVlID0+XG4gICAgICAgICAgdGhpcy5pbml0RmlsdGVyKFxuICAgICAgICAgICAgZmlsdGVyVmFsdWUgPyBmaWx0ZXJWYWx1ZSA6IHRoaXMuZGVmYXVsdEZpbHRlckZvcm1WYWx1ZVxuICAgICAgICAgICksXG4gICAgICAgICgpID0+IHRoaXMuaW5pdEZpbHRlcih0aGlzLmRlZmF1bHRGaWx0ZXJGb3JtVmFsdWUpXG4gICAgICApO1xuXG4gICAgdGhpcy5hcHBDYWNoZS5nZXRJdGVtKHRoaXMuc29ydENhY2hlS2V5KS5zdWJzY3JpYmUoc29ydFBhcmFtcyA9PiB7XG4gICAgICBpZiAoc29ydFBhcmFtcykge1xuICAgICAgICB0aGlzLnNvcnRQYXJhbXMgPSBzb3J0UGFyYW1zO1xuICAgICAgfVxuICAgIH0pO1xuICB9XG5cbiAgcHJpdmF0ZSBmZXRjaFByb2Nlc3NNb2RlbHMoKTogT2JzZXJ2YWJsZTxhbnk+IHtcbiAgICByZXR1cm4gdGhpcy5iYWNrZW5kLmdldChcIi9icG0vbWFuYWdlbWVudC9wcm9qZWN0P2luY2x1ZGVNb2RlbHM9dHJ1ZVwiKTtcbiAgfVxuXG4gIHByaXZhdGUgaW5pdEZpbHRlcihmaWx0ZXJWYWx1ZSkge1xuICAgIHRoaXMuZmlsdGVyRm9ybSA9IHRoaXMuZmIuZ3JvdXAoe1xuICAgICAgbW9kZWxGQ046IFtmaWx0ZXJWYWx1ZS5tb2RlbEZDTl0sXG4gICAgICBydW5uaW5nRkNOOiBbZmlsdGVyVmFsdWUucnVubmluZ0ZDTl0sXG4gICAgICBwYXVzZWRGQ046IFtmaWx0ZXJWYWx1ZS5wYXVzZWRGQ05dLFxuICAgICAgY3JlYXRlZEZDTjogW2ZpbHRlclZhbHVlLmNyZWF0ZWRGQ05dLFxuICAgICAgY2FuY2VsZWRGQ046IFtmaWx0ZXJWYWx1ZS5jYW5jZWxlZEZDTl0sXG4gICAgICBmYWlsZWRGQ046IFtmaWx0ZXJWYWx1ZS5mYWlsZWRGQ05dLFxuICAgICAgY29tcGxldGVkRkNOOiBbZmlsdGVyVmFsdWUuY29tcGxldGVkRkNOXSxcbiAgICAgIHN0YXJ0VGltZUZDTjogW1xuICAgICAgICBmaWx0ZXJWYWx1ZS5zdGFydFRpbWVGQ04gP1xuICAgICAgICBuZXcgUmFuZ2VWYWx1ZShcbiAgICAgICAgICBmaWx0ZXJWYWx1ZS5zdGFydFRpbWVGQ04ub3BlcmF0b3IsXG4gICAgICAgICAgZmlsdGVyVmFsdWUuc3RhcnRUaW1lRkNOLmZpcnN0VmFsdWUsXG4gICAgICAgICAgZmlsdGVyVmFsdWUuc3RhcnRUaW1lRkNOLnNlY29uZFZhbHVlXG4gICAgICAgICkgOiBudWxsXG4gICAgICBdXG4gICAgfSk7XG4gICAgdGhpcy5maWx0ZXJGb3JtLnZhbHVlQ2hhbmdlcy5zdWJzY3JpYmUoKCkgPT4ge1xuICAgICAgdGhpcy5hcHBDYWNoZS5zZXRJdGVtKHRoaXMuZmlsdGVyQ2FjaGVLZXksIHRoaXMuZmlsdGVyRm9ybS52YWx1ZSkuc3Vic2NyaWJlKCk7XG4gICAgICB0aGlzLm9uUGFnZUNoYW5nZWQoKTtcbiAgICB9KTtcbiAgICBzZXRUaW1lb3V0KCgpID0+IHRoaXMub25QYWdlQ2hhbmdlZCgpLCAxMDApO1xuICB9XG5cbiAgcmVmcmVzaExpc3QoKSB7XG4gICAgdGhpcy5vblBhZ2VDaGFuZ2VkKCk7XG4gIH1cblxuICBpbml0R3JpZCgpIHtcbiAgICB0aGlzLnNldHRpbmdzID0ge3RvdGFsOiAwLCBzaXplOiB0aGlzLlZJUlRVQUxfTElTVF9DSFVOS19TSVpFfTtcbiAgICB0aGlzLnNvcnRGaWVsZHMgPSBbXG4gICAgICB7ZmllbGQ6ICdzdGFydHRpbWUnLCBoZWFkZXJOYW1lOiB0aGlzLnRyYW5zbGF0ZS5pbnN0YW50KCdlby5ncmlkLnNvcnQuZGF0ZScpLCBzb3J0OiAnJ30sXG4gICAgICB7ZmllbGQ6ICdtb2RlbG5hbWUnLCBoZWFkZXJOYW1lOiB0aGlzLnRyYW5zbGF0ZS5pbnN0YW50KCdlby5wcm9jZXNzLnNvcnQudHlwZScpLCBzb3J0OiAnJ31cbiAgICBdO1xuXG4gICAgY29uc3Qgc29ydENvbERlZnMgPSBDdXN0b21Tb3J0Q29tcG9uZW50LnNvcnRDb2xEZWZzKHRoaXMuc29ydEZpZWxkcyk7XG4gICAgdGhpcy5ncmlkT3B0aW9ucyA9IHtcbiAgICAgIGNvbnRleHQ6IHsgY291bnQ6IDAgfSxcbiAgICAgIGNvbHVtbkRlZnM6IHRoaXMuY29sRGVmcy5jb25jYXQoc29ydENvbERlZnMpLFxuICAgICAgcm93QnVmZmVyOiAyMCxcbiAgICAgIHJvd0hlaWdodDogODAsXG4gICAgICByb3dTZWxlY3Rpb246ICdzaW5nbGUnLFxuICAgICAgcm93RGF0YTogW11cbiAgICB9O1xuICB9XG5cbiAgcmVzZXRGaWx0ZXJzKCkge1xuICAgIGlmICh0aGlzLmZpbHRlckZvcm0pIHtcbiAgICAgIHRoaXMuZmlsdGVyRm9ybS5zZXRWYWx1ZSh0aGlzLmRlZmF1bHRGaWx0ZXJGb3JtVmFsdWUpO1xuICAgIH1cbiAgfVxuXG4gIHNvcnQoZmllbGQsIGRpcmVjdGlvbikge1xuICAgIHRoaXMuc29ydFBhcmFtc1tmaWVsZF0gPSBkaXJlY3Rpb247XG4gICAgdGhpcy5hcHBDYWNoZS5zZXRJdGVtKHRoaXMuc29ydENhY2hlS2V5LCB0aGlzLnNvcnRQYXJhbXMpLnN1YnNjcmliZSgpO1xuICAgIHRoaXMub25QYWdlQ2hhbmdlZCgpO1xuICB9XG5cbiAgb25QYWdlQ2hhbmdlZChwYWdlOiBudW1iZXIgPSAxKSB7XG4gICAgdGhpcy5mZXRjaFJvd0RhdGEoe1xuICAgICAgc3RhcnRSb3c6IHRoaXMuVklSVFVBTF9MSVNUX0NIVU5LX1NJWkUgKiAocGFnZSAtIDEpLFxuICAgICAgc3VjY2Vzc0NhbGxiYWNrOiAocm93cywgdG90YWwpID0+IHtcbiAgICAgICAgdGhpcy5lb0dyaWQuYXBpLnNldFJvd0RhdGEocm93cyk7XG4gICAgICAgIHRoaXMuc2V0dGluZ3MgPSB7dG90YWwsIHNpemU6IHRoaXMuVklSVFVBTF9MSVNUX0NIVU5LX1NJWkUsIHBhZ2V9O1xuICAgICAgfVxuICAgIH0pO1xuICB9XG5cbiAgcHJpdmF0ZSBmZXRjaFJvd0RhdGEocGFyYW1zKSB7XG4gICAgY29uc3QgcGFnZSA9IE1hdGguZmxvb3IocGFyYW1zLnN0YXJ0Um93IC8gdGhpcy5WSVJUVUFMX0xJU1RfQ0hVTktfU0laRSk7XG4gICAgdGhpcy5nZXRQcm9jZXNzZXMoeyBzaXplOiB0aGlzLlZJUlRVQUxfTElTVF9DSFVOS19TSVpFLCBwYWdlIH0pLnN1YnNjcmliZSgocHJvY2Vzc2VzKSA9PiB7XG4gICAgICBpZiAocGFyYW1zLnN0YXJ0Um93ID09PSAwKSB7XG4gICAgICAgIHRoaXMuZW1wdHlTdGF0ZTEgPSB0aGlzLmVtcHR5LmdldEVtcHR5U3RhdGUocHJvY2Vzc2VzLmNvbnRlbnQgPyBwcm9jZXNzZXMuY29udGVudC5sZW5ndGggOiAtMSwgdW5kZWZpbmVkLCAnaWNfbm8tZmlsZS5zdmcnKTtcbiAgICAgICAgdGhpcy5lbXB0eVN0YXRlMiA9IHRoaXMuZW1wdHkuZ2V0RW1wdHlTdGF0ZShwcm9jZXNzZXMuY29udGVudCA/IHByb2Nlc3Nlcy5jb250ZW50Lmxlbmd0aCA6IC0xLCB1bmRlZmluZWQsICdpY19uby1maWxlLnN2ZycpO1xuICAgICAgfVxuICAgICAgdGhpcy5lb0dyaWQuZ3JpZE9wdGlvbnMuY29udGV4dC5yb3dDb3VudCA9IHByb2Nlc3Nlcy50b3RhbEVsZW1lbnRzO1xuICAgICAgdGhpcy5lb0dyaWQuZ3JpZE9wdGlvbnMuY29udGV4dC5jb3VudCA9IHByb2Nlc3Nlcy50b3RhbEVsZW1lbnRzO1xuICAgICAgcGFyYW1zLnN1Y2Nlc3NDYWxsYmFjayhwcm9jZXNzZXMucHJvY2Vzc2VzLCBwcm9jZXNzZXMudG90YWxFbGVtZW50cyk7XG4gICAgfSk7XG4gIH1cblxuICBwcml2YXRlIGdldFByb2Nlc3NlcyhvcHRpb25zKSB7XG4gICAgbGV0IHVybCA9IFV0aWxzLmJ1aWxkVXJpKGAvcHJvY2Vzc2VzYCwgb3B0aW9ucyB8fCB7fSk7XG4gICAgdXJsID0gdGhpcy5hZGRGaWx0ZXJQYXJhbXNUb1VybCh1cmwpO1xuICAgIHVybCA9IHRoaXMuYWRkU29ydFBhcmFtc1RvVXJsKHVybCk7XG4gICAgcmV0dXJuIHRoaXMuYmFja2VuZFxuICAgICAgLmdldEpzb24odXJsLCB0aGlzLmJhY2tlbmQuZ2V0QnBtQmFzZSgpKVxuICAgICAgLnBpcGUoXG4gICAgICAgIG1hcChyZXNwb25zZSA9PiB7XG4gICAgICAgICAgbGV0IHByb2Nlc3NlcyA9IHJlc3BvbnNlLmNvbnRlbnQubWFwKGl0ZW0gPT4ge1xuICAgICAgICAgICAgY29uc3QgcHJvY2VzcyA9IG5ldyBQcm9jZXNzKGl0ZW0pO1xuICAgICAgICAgICAgcmV0dXJuIHByb2Nlc3M7XG4gICAgICAgICAgfSk7XG4gICAgICAgICAgcmVzcG9uc2UucHJvY2Vzc2VzID0gdGhpcy5hZGRJY29uVXJsKHByb2Nlc3Nlcyk7XG4gICAgICAgICAgcmV0dXJuIHJlc3BvbnNlO1xuICAgICAgICB9KVxuICAgICAgKTtcbiAgfVxuXG4gIHByaXZhdGUgYWRkRmlsdGVyUGFyYW1zVG9VcmwodXJsKTogc3RyaW5nIHtcbiAgICBpZiAoIXRoaXMuZmlsdGVyRm9ybSB8fCAhdGhpcy5maWx0ZXJGb3JtLnZhbHVlKSB7XG4gICAgICByZXR1cm4gdXJsO1xuICAgIH1cblxuICAgIGlmICh0aGlzLmZpbHRlckZvcm0udmFsdWUuY3JlYXRlZEZDTikge1xuICAgICAgdXJsICs9IFwiJnN0YXRlPTBcIjtcbiAgICB9XG4gICAgaWYgKHRoaXMuZmlsdGVyRm9ybS52YWx1ZS5ydW5uaW5nRkNOKSB7XG4gICAgICB1cmwgKz0gXCImc3RhdGU9MjBcIjtcbiAgICB9XG4gICAgaWYgKHRoaXMuZmlsdGVyRm9ybS52YWx1ZS5jb21wbGV0ZWRGQ04pIHtcbiAgICAgIHVybCArPSBcIiZzdGF0ZT0zMFwiO1xuICAgIH1cbiAgICBpZiAodGhpcy5maWx0ZXJGb3JtLnZhbHVlLnBhdXNlZEZDTikge1xuICAgICAgdXJsICs9IFwiJnN0YXRlPTQwXCI7XG4gICAgfVxuICAgIGlmICh0aGlzLmZpbHRlckZvcm0udmFsdWUuY2FuY2VsZWRGQ04pIHtcbiAgICAgIHVybCArPSBcIiZzdGF0ZT01MFwiO1xuICAgIH1cbiAgICBpZiAodGhpcy5maWx0ZXJGb3JtLnZhbHVlLmZhaWxlZEZDTikge1xuICAgICAgdXJsICs9IFwiJnN0YXRlPTYwXCI7XG4gICAgfVxuICAgIGlmICh0aGlzLmZpbHRlckZvcm0udmFsdWUubW9kZWxGQ04pIHtcbiAgICAgIHVybCArPVxuICAgICAgICBcIiZtb2RlbGlkPVwiICsgdGhpcy5nZXRNb2RlbElkRnJvbU5hbWUodGhpcy5maWx0ZXJGb3JtLnZhbHVlLm1vZGVsRkNOKTtcbiAgICB9XG4gICAgaWYgKHRoaXMuZmlsdGVyRm9ybS52YWx1ZS5zdGFydFRpbWVGQ04gJiYgdGhpcy5maWx0ZXJGb3JtLnZhbHVlLnN0YXJ0VGltZUZDTi5maXJzdFZhbHVlKSB7XG5cbiAgICAgIGNvbnN0IHtvcGVyYXRvciwgZmlyc3RWYWx1ZSwgc2Vjb25kVmFsdWV9ID0gdGhpcy5maWx0ZXJGb3JtLnZhbHVlLnN0YXJ0VGltZUZDTjtcbiAgICAgIGNvbnN0IHF1ZXJ5OiBhbnkgPSBuZXcgU2VhcmNoRmlsdGVyKCdzdGFydHRpbWUnLCBvcGVyYXRvciwgZmlyc3RWYWx1ZSwgc2Vjb25kVmFsdWUsIHt0aW1lOiB0cnVlLCB0aW1lem9uZTogdHJ1ZX0pLnRvRGF0ZVRpbWVRdWVyeSgpO1xuXG4gICAgICBpZiAocXVlcnkubyA9PT0gU2VhcmNoRmlsdGVyLk9QRVJBVE9SLkVRVUFMKSB7XG4gICAgICAgIHVybCArPSAnJnN0YXJ0dGltZV9lcT0nICsgcXVlcnkudjE7XG4gICAgICB9XG4gICAgICBpZiAocXVlcnkuby5tYXRjaChTZWFyY2hGaWx0ZXIuT1BFUkFUT1IuR1JFQVRFUl9PUl9FUVVBTCkpIHtcbiAgICAgICAgdXJsICs9IFwiJnN0YXJ0dGltZV9ndGU9XCIgKyBxdWVyeS52MTtcbiAgICAgIH1cbiAgICAgIGlmIChxdWVyeS5vLm1hdGNoKFNlYXJjaEZpbHRlci5PUEVSQVRPUi5MRVNTX09SX0VRVUFMKSkge1xuICAgICAgICB1cmwgKz0gXCImc3RhcnR0aW1lX2x0ZT1cIiArIChxdWVyeS5vID09PSBTZWFyY2hGaWx0ZXIuT1BFUkFUT1IuSU5URVJWQUxfSU5DTFVERV9CT1RIID8gcXVlcnkudjIgOiBxdWVyeS52MSk7XG4gICAgICB9XG4gICAgfVxuICAgIHJldHVybiB1cmw7XG4gIH1cblxuICBwcml2YXRlIGFkZFNvcnRQYXJhbXNUb1VybCh1cmwpOiBzdHJpbmcge1xuICAgIGlmICh0aGlzLnNvcnRQYXJhbXMuc3RhcnRUaW1lKSB7XG4gICAgICB1cmwgKz0gXCImc29ydD1zdGFydHRpbWUsXCIgKyB0aGlzLnNvcnRQYXJhbXMuc3RhcnRUaW1lO1xuICAgIH1cbiAgICBpZiAodGhpcy5zb3J0UGFyYW1zLm1vZGVsTmFtZSkge1xuICAgICAgdXJsICs9IFwiJnNvcnQ9bmFtZSxcIiArIHRoaXMuc29ydFBhcmFtcy5tb2RlbE5hbWU7XG4gICAgfVxuICAgIHJldHVybiB1cmw7XG4gIH1cblxuICBwcml2YXRlIGdldE1vZGVsSWRGcm9tTmFtZShtb2RlbE5hbWUpOiBzdHJpbmcge1xuICAgIGxldCBpZCA9IFwiXCI7XG4gICAgdGhpcy5wcm9jZXNzTW9kZWxzTGlzdE9iamVjdC5lbnRyaWVzLmZvckVhY2gobW9kZWwgPT4ge1xuICAgICAgaWYgKG1vZGVsLm5hbWUgPT09IG1vZGVsTmFtZSkge1xuICAgICAgICBpZCA9IG1vZGVsLmlkO1xuICAgICAgfSBlbHNlIGlmIChtb2RlbC5tb2RlbHMpIHtcbiAgICAgICAgbW9kZWwubW9kZWxzLmZvckVhY2goc3VibW9kZWwgPT4ge1xuICAgICAgICAgIGlmIChzdWJtb2RlbC5uYW1lID09PSBtb2RlbE5hbWUpIHtcbiAgICAgICAgICAgIGlkID0gc3VibW9kZWwuaWQ7XG4gICAgICAgICAgfVxuICAgICAgICB9KTtcbiAgICAgIH1cbiAgICB9KTtcbiAgICByZXR1cm4gaWQ7XG4gIH1cblxuICBhZGRJY29uVXJsKHByb2Nlc3NlczogUHJvY2Vzc1tdKSB7XG4gICAgcHJvY2Vzc2VzLmZvckVhY2goKHByb2Nlc3M6IFByb2Nlc3MpID0+IHtcbiAgICAgIGlmICghcHJvY2Vzcy5pY29uaWQpIHtcbiAgICAgICAgaWYgKHByb2Nlc3Muc3RhdGUgPT09ICdFUlJPUlNVU1BFTkRFRCcpIHtcbiAgICAgICAgICBwcm9jZXNzLmljb251cmwgPSAnYXNzZXRzL19kZWZhdWx0L3N2Zy9pY19icG1fd2FybmluZy5zdmcnO1xuICAgICAgICB9IGVsc2UgaWYgKHByb2Nlc3Muc3RhdGUgPT09ICdDT01QTEVURUQnKSB7XG4gICAgICAgICAgcHJvY2Vzcy5pY29udXJsID0gJ2Fzc2V0cy9fZGVmYXVsdC9zdmcvaWNfYnBtX2RvbmUuc3ZnJztcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICBwcm9jZXNzLmljb251cmwgPSBcImFzc2V0cy9fZGVmYXVsdC9zdmcvaWNfYnBtLnN2Z1wiO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfSk7XG4gICAgcmV0dXJuIHByb2Nlc3NlcztcbiAgfVxuXG4gIGNlbGxSZW5kZXJlcihwYXJhbXMpIHtcbiAgICBpZiAocGFyYW1zLmRhdGEpIHtcbiAgICAgIGxldCBpY29uID0gcGFyYW1zLmNvbnRleHQuY3IucmVuZGVyKFwiaWNvblwiLCBwYXJhbXMsIHtcbiAgICAgICAgdmFsdWU6IHtcbiAgICAgICAgICB1cmw6IHBhcmFtcy5kYXRhLmljb25pZCA/IFwiXCIgOiBwYXJhbXMuZGF0YS5pY29udXJsLFxuICAgICAgICAgIGljb25JZDogIXBhcmFtcy5kYXRhLmljb25pZCA/IFwiXCIgOiBwYXJhbXMuZGF0YS5pY29uaWQsXG4gICAgICAgICAgbGFiZWw6IHBhcmFtcy5kYXRhLm1vZGVsbmFtZVxuICAgICAgICB9XG4gICAgICB9KTtcblxuICAgICAgY29uc3Qgc3RhcnRUaW1lID0gcGFyYW1zLmNvbnRleHQuY3IucmVuZGVyKCdkYXRlVGltZScsIHBhcmFtcywgeyB2YWx1ZTogcGFyYW1zLmRhdGEuc3RhcnR0aW1lLCBwYXR0ZXJuOiAnZW9TaG9ydERhdGUnIH0pO1xuICAgICAgY29uc3QgZW5kVGltZSA9IHBhcmFtcy5jb250ZXh0LmNyLnJlbmRlcignZGF0ZVRpbWUnLCBwYXJhbXMsIHsgdmFsdWU6IHBhcmFtcy5kYXRhLmVuZHRpbWUsIHBhdHRlcm46ICdlb1Nob3J0RGF0ZScgfSk7XG4gICAgICBjb25zdCBoYXNFcnJvciA9IHBhcmFtcy5kYXRhLnN0YXRlID09PSAnRVJST1JTVVNQRU5ERUQnID8gJ2Vycm9yJyA6ICcnO1xuICAgICAgY29uc3QgaGFzTm90WWV0QmVlblN0YXJ0ZWQgPSBwYXJhbXMuZGF0YS5zdGF0ZSA9PT0gMCA/ICdub3RzdGFydGVkJyA6ICcnO1xuICAgICAgY29uc3QgZW5kVGltZU1hcmt1cDogc3RyaW5nID0gKGVuZFRpbWUubGVuZ3RoKSA/IGA8ZGl2IGNsYXNzPVwiZGF0ZSBlbmRcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3Bhbj4ke3BhcmFtcy5jb250ZXh0LnRyYW5zbGF0ZS5pbnN0YW50KCdlby5wcm9jZXNzLmVuZC50aW1lLmxhYmVsJyl9PC9zcGFuPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJ0aW1lXCI+ICR7ZW5kVGltZX08L2Rpdj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+YFxuICAgICAgICA6IFwiXCI7XG4gICAgICBjb25zdCBzdGFydFRpbWVNYXJrdXA6IHN0cmluZyA9IHN0YXJ0VGltZS5sZW5ndGhcbiAgICAgICAgPyBgPGRpdiBjbGFzcz1cImRhdGVcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3Bhbj4ke3BhcmFtcy5jb250ZXh0LnRyYW5zbGF0ZS5pbnN0YW50KFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXCJlby5wcm9jZXNzLnN0YXJ0LnRpbWUubGFiZWxcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICl9PC9zcGFuPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJ0aW1lXCI+ICR7c3RhcnRUaW1lfTwvZGl2PlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5gXG4gICAgICAgIDogXCJcIjtcblxuICAgICAgcmV0dXJuIGA8ZGl2IGNsYXNzPVwibGlzdC1pdGVtICR7aGFzRXJyb3J9ICR7aGFzTm90WWV0QmVlblN0YXJ0ZWR9XCIgdW5zZWxlY3RhYmxlPlxuICAgICAgICAgICAgJHtpY29ufVxuICAgICAgICAgICAgPGRpdiBjbGFzcz0nY29udGVudCc+XG4gICAgICAgICAgICAgIDxkaXYgY2xhc3M9J3RpdGxlJz4ke3BhcmFtcy5kYXRhLnRpdGxlIHx8IFwiLi4uXCJ9PC9kaXY+XG4gICAgICAgICAgICAgIDxkaXYgY2xhc3M9J2Rlc2NyaXB0aW9uJz4ke3BhcmFtcy5kYXRhLm1vZGVsbmFtZSB8fCBcIi4uLlwifTwvZGl2PlxuICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cIm1ldGFcIj5cbiAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImRhdGVsYWJlbFwiPlxuICAgICAgICAgICAgICAgICR7c3RhcnRUaW1lTWFya3VwfVxuICAgICAgICAgICAgICAgICR7ZW5kVGltZU1hcmt1cH1cbiAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgIDwvZGl2PlxuICAgICAgICBgO1xuICAgIH1cbiAgfVxuXG4gIG5nT25Jbml0KCkge1xuICAgIHRoaXMuaW5pdEdyaWQoKTtcbiAgfVxuXG4gIG5nT25EZXN0cm95KCkge1xuICAgIHRoaXMuc2VsZWN0aW9uLmNsZWFyKCk7XG4gIH1cblxuICBoYXNDaGFuZ2VkKG9WLCBuVik6IGJvb2xlYW4ge1xuICAgIHJldHVybiBKU09OLnN0cmluZ2lmeShvVikgIT09IEpTT04uc3RyaW5naWZ5KG5WKTtcbiAgfVxuXG4gIGhhc1BlbmRpbmdDaGFuZ2VzKCkge1xuICAgIHJldHVybiB0aGlzLnBlbmRpbmdDaGFuZ2VzLmhhc1BlbmRpbmdUYXNrKCk7XG4gIH1cbn1cbiIsIjx5dmMtc3BsaXQtdmlldyBbbGF5b3V0U2V0dGluZ3NJRF09XCInaW5ib3guc3RhdGUnXCI+XG4gIDwhLS0gbGlzdCAtLT5cbiAgPG5nLXRlbXBsYXRlIHl2Y1NwbGl0QXJlYSBbc2l6ZV09XCIzMFwiPlxuICAgIDxlby1saXN0LWNvbnRhaW5lciAjZW9MaXN0IFthcHBseVNlbGVjdGlvbl09XCJ7b3V0OiBwcm9jZXNzU2VsZWN0aW9uSWR9XCI+XG4gICAgICA8ZGl2IGNsYXNzPVwiZW8taGVhZGVyXCI+XG4gICAgICAgIDxlby1pY29uIGNsYXNzPVwiZW8taGVhZGVyLWljb25cIiBbaWNvblNyY109XCInYXNzZXRzL19kZWZhdWx0L3N2Zy9pY19icG0uc3ZnJ1wiPjwvZW8taWNvbj5cbiAgICAgICAgPGRpdiBjbGFzcz1cImVvLWhlYWRlci1pbmZvXCI+XG4gICAgICAgICAgPGRpdiBjbGFzcz1cImVvLWhlYWRlci10aXRsZVwiIHRyYW5zbGF0ZT5lby5zdGF0ZS5wcm9jZXNzPC9kaXY+XG4gICAgICAgIDwvZGl2PlxuICAgICAgICA8ZGl2IGNsYXNzPVwiZW8taGVhZGVyLWFjdGlvbnNcIj5cbiAgICAgICAgICA8ZW8taWNvbiBjbGFzcz1cImJ1dHRvbiByZWZyZXNoLWJ1dHRvblwiIFtpY29uU3JjXT1cIidhc3NldHMvX2RlZmF1bHQvc3ZnL2ljX3JlZnJlc2guc3ZnJ1wiXG4gICAgICAgICAgICAgICAgICAgKGNsaWNrKT1cInJlZnJlc2hMaXN0KClcIlxuICAgICAgICAgICAgICAgICAgIFtpY29uVGl0bGVdPVwiKCdlby5saXN0LnJlZnJlc2gnIHwgdHJhbnNsYXRlKVwiPjwvZW8taWNvbj5cblxuICAgICAgICAgIDxlby1vdmVybGF5ICNvRmlsdGVyIFtpY29uU3JjXT1cIidhc3NldHMvX2RlZmF1bHQvc3ZnL2ljX2ZpbHRlci5zdmcnXCJcbiAgICAgICAgICAgICAgICAgICAgICBjbGFzcz1cIm92ZXJsYXktZmlsdGVyXCJcbiAgICAgICAgICAgICAgICAgICAgICBbaWNvblRpdGxlXT1cIidlby5saXN0LmZpbHRlcicgfCB0cmFuc2xhdGVcIj5cbiAgICAgICAgICAgIDxlby1jdXN0b20tZmlsdGVyICNjRmlsdGVyIChjaGFuZ2UpPVwiY0ZpbHRlci51cGRhdGVHcmlkKGVvTGlzdC5lb0dyaWRTdWJqZWN0LCAkZXZlbnQpXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIChhY3RpdmUpPVwib0ZpbHRlci5vbkFjdGl2ZUNoYW5nZWQoJGV2ZW50KVwiPlxuICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZmlsdGVyLXRpdGxlXCIgdHJhbnNsYXRlPmVvLmZpbHRlci5ieTwvZGl2PlxuICAgICAgICAgICAgICA8Zm9ybSBbZm9ybUdyb3VwXT1cImZpbHRlckZvcm1cIiAqbmdJZj0nZmlsdGVyRm9ybSc+XG4gICAgICAgICAgICAgICAgPGVvLWZvcm0taW5wdXQgW2xhYmVsXT1cIignZW8uc3RhdGUucHJvY2Vzcy5maWx0ZXIubGFiZWxzLm1vZGVsJyB8IHRyYW5zbGF0ZSlcIiAqbmdJZj1cInByb2Nlc3NNb2RlbHNMaXN0T2JqZWN0LmVudHJpZXMubGVuZ3RoXCI+XG4gICAgICAgICAgICAgICAgICA8ZW8tZHluYW1pYy1saXN0IGZvcm1Db250cm9sTmFtZT1cIm1vZGVsRkNOXCIgW3BpY2tlclRpdGxlXT1cIidNb2RlbHMnXCIgW2xpc3RPYmplY3RdPVwicHJvY2Vzc01vZGVsc0xpc3RPYmplY3RcIj48L2VvLWR5bmFtaWMtbGlzdD5cbiAgICAgICAgICAgICAgICA8L2VvLWZvcm0taW5wdXQ+XG4gICAgICAgICAgICAgICAgPGVvLWZvcm0taW5wdXQgW2xhYmVsXT1cIignZW8uc3RhdGUucHJvY2Vzcy5maWx0ZXIubGFiZWxzLnJ1bm5pbmcnIHwgdHJhbnNsYXRlKVwiPlxuICAgICAgICAgICAgICAgICAgPGVvLWNoZWNrYm94IGZvcm1Db250cm9sTmFtZT1cInJ1bm5pbmdGQ05cIiBbdHJpc3RhdGVdPVwiZmFsc2VcIj48L2VvLWNoZWNrYm94PlxuICAgICAgICAgICAgICAgIDwvZW8tZm9ybS1pbnB1dD5cbiAgICAgICAgICAgICAgICA8ZW8tZm9ybS1pbnB1dCBbbGFiZWxdPVwiKCdlby5zdGF0ZS5wcm9jZXNzLmZpbHRlci5sYWJlbHMucGF1c2VkJyB8IHRyYW5zbGF0ZSlcIj5cbiAgICAgICAgICAgICAgICAgIDxlby1jaGVja2JveCBmb3JtQ29udHJvbE5hbWU9XCJwYXVzZWRGQ05cIiBbdHJpc3RhdGVdPVwiZmFsc2VcIj48L2VvLWNoZWNrYm94PlxuICAgICAgICAgICAgICAgIDwvZW8tZm9ybS1pbnB1dD5cbiAgICAgICAgICAgICAgICA8ZW8tZm9ybS1pbnB1dCBbbGFiZWxdPVwiKCdlby5zdGF0ZS5wcm9jZXNzLmZpbHRlci5sYWJlbHMuY3JlYXRlZCcgfCB0cmFuc2xhdGUpXCI+XG4gICAgICAgICAgICAgICAgICA8ZW8tY2hlY2tib3ggZm9ybUNvbnRyb2xOYW1lPVwiY3JlYXRlZEZDTlwiIFt0cmlzdGF0ZV09XCJmYWxzZVwiPjwvZW8tY2hlY2tib3g+XG4gICAgICAgICAgICAgICAgPC9lby1mb3JtLWlucHV0PlxuICAgICAgICAgICAgICAgIDxlby1mb3JtLWlucHV0IFtsYWJlbF09XCIoJ2VvLnN0YXRlLnByb2Nlc3MuZmlsdGVyLmxhYmVscy5jYW5jZWxlZCcgfCB0cmFuc2xhdGUpXCI+XG4gICAgICAgICAgICAgICAgICA8ZW8tY2hlY2tib3ggZm9ybUNvbnRyb2xOYW1lPVwiY2FuY2VsZWRGQ05cIiBbdHJpc3RhdGVdPVwiZmFsc2VcIj48L2VvLWNoZWNrYm94PlxuICAgICAgICAgICAgICAgIDwvZW8tZm9ybS1pbnB1dD5cbiAgICAgICAgICAgICAgICA8ZW8tZm9ybS1pbnB1dCBbbGFiZWxdPVwiKCdlby5zdGF0ZS5wcm9jZXNzLmZpbHRlci5sYWJlbHMuZmFpbGVkJyB8IHRyYW5zbGF0ZSlcIj5cbiAgICAgICAgICAgICAgICAgIDxlby1jaGVja2JveCBmb3JtQ29udHJvbE5hbWU9XCJmYWlsZWRGQ05cIiBbdHJpc3RhdGVdPVwiZmFsc2VcIj48L2VvLWNoZWNrYm94PlxuICAgICAgICAgICAgICAgIDwvZW8tZm9ybS1pbnB1dD5cbiAgICAgICAgICAgICAgICA8ZW8tZm9ybS1pbnB1dCBbbGFiZWxdPVwiKCdlby5zdGF0ZS5wcm9jZXNzLmZpbHRlci5sYWJlbHMuY29tcGxldGVkJyB8IHRyYW5zbGF0ZSlcIj5cbiAgICAgICAgICAgICAgICAgIDxlby1jaGVja2JveCBmb3JtQ29udHJvbE5hbWU9XCJjb21wbGV0ZWRGQ05cIiBbdHJpc3RhdGVdPVwiZmFsc2VcIj48L2VvLWNoZWNrYm94PlxuICAgICAgICAgICAgICAgIDwvZW8tZm9ybS1pbnB1dD5cbiAgICAgICAgICAgICAgICA8ZW8tZm9ybS1pbnB1dCBbbGFiZWxdPVwiKCdlby5zdGF0ZS5wcm9jZXNzLmZpbHRlci5sYWJlbHMuc3RhcnR0aW1lJyB8IHRyYW5zbGF0ZSlcIj5cbiAgICAgICAgICAgICAgICAgIDxlby1kYXRldGltZS1yYW5nZSBmb3JtQ29udHJvbE5hbWU9XCJzdGFydFRpbWVGQ05cIiBbd2l0aFRpbWVdPVwiZmFsc2VcIj48L2VvLWRhdGV0aW1lLXJhbmdlPlxuICAgICAgICAgICAgICAgIDwvZW8tZm9ybS1pbnB1dD5cbiAgICAgICAgICAgICAgPC9mb3JtPlxuICAgICAgICAgICAgICA8YnV0dG9uIGNsYXNzPVwicmVzZXQtZmlsdGVyXCIgKGNsaWNrKT1cInJlc2V0RmlsdGVycygpXCIgKm5nSWY9XCJoYXNDaGFuZ2VkKGRlZmF1bHRGaWx0ZXJGb3JtVmFsdWUsIGZpbHRlckZvcm0/LnZhbHVlKVwiPlJlc2V0IGZpbHRlcjwvYnV0dG9uPlxuICAgICAgICAgICAgPC9lby1jdXN0b20tZmlsdGVyPlxuICAgICAgICAgIDwvZW8tb3ZlcmxheT5cblxuICAgICAgICAgIDxlby1vdmVybGF5ICNvU29ydFxuICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPVwib3ZlcmxheS1zb3J0XCJcbiAgICAgICAgICAgICAgICAgICAgICBbaWNvblNyY109XCInYXNzZXRzL19kZWZhdWx0L3N2Zy9pY19zb3J0LnN2ZydcIlxuICAgICAgICAgICAgICAgICAgICAgIFtpY29uVGl0bGVdPVwiJ2VvLmxpc3Quc29ydCcgfCB0cmFuc2xhdGVcIlxuICAgICAgICAgICAgICAgICAgICAgIFthY3RpdmVdPVwiaGFzQ2hhbmdlZChkZWZhdWx0U29ydFBhcmFtcywgc29ydFBhcmFtcylcIj5cbiAgICAgICAgICAgIDxlby1jdXN0b20tc29ydCAjY1NvcnQgW2lkXT1cIidwcm9jZXNzLnNvcnQnXCIgKGNoYW5nZSk9XCJjU29ydC51cGRhdGVHcmlkKGVvTGlzdC5lb0dyaWQsICRldmVudClcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIChhY3RpdmUpPVwib1NvcnQub25BY3RpdmVDaGFuZ2VkKCRldmVudClcIiBbc29ydEZpZWxkc109XCJzb3J0RmllbGRzXCI+PC9lby1jdXN0b20tc29ydD5cbiAgICAgICAgICA8L2VvLW92ZXJsYXk+XG5cbiAgICAgICAgPC9kaXY+XG4gICAgICA8L2Rpdj5cbiAgICAgIDxkaXYgY2xhc3M9XCJlby1ib2R5XCI+XG4gICAgICAgIDxlby1ncmlkICNlb0dyaWRcbiAgICAgICAgICAgICAgICAgKm5nSWY9XCJncmlkT3B0aW9uc1wiXG4gICAgICAgICAgICAgICAgIFtncmlkT3B0aW9uc109XCJncmlkT3B0aW9uc1wiXG4gICAgICAgICAgICAgICAgIFtmdWxsV2lkdGhdPVwidHJ1ZVwiXG4gICAgICAgICAgICAgICAgIFtzaG93SGVhZGVyXT1cInRydWVcIlxuICAgICAgICAgICAgICAgICBbc2hvd0Zvb3Rlcl09XCJ0cnVlXCJcbiAgICAgICAgICAgICAgICAgW3NlbGVjdEZpcnN0XT1cInRydWVcIlxuICAgICAgICAgICAgICAgICAoZW9HcmlkQ291bnRDaGFuZ2VkKT1cImVvTGlzdC5vbkNvdW50Q2hhbmdlZCgkZXZlbnQpXCJcbiAgICAgICAgICAgICAgICAgKGVvR3JpZFNlbGVjdGlvbkNoYW5nZWQpPVwiZW9MaXN0Lm9uU2VsZWN0aW9uQ2hhbmdlZCgkZXZlbnQpXCJcbiAgICAgICAgICAgICAgICAgKGVvR3JpZEZvY3VzQ2hhbmdlZCk9XCJlb0xpc3Qub25Gb2N1c0NoYW5nZWQoJGV2ZW50KVwiPlxuICAgICAgICAgIDxkaXYgY2xhc3M9XCJoZWFkZXJcIj5cbiAgICAgICAgICA8L2Rpdj5cblxuICAgICAgICAgIDxkaXYgY2xhc3M9XCJmb290ZXJcIj5cbiAgICAgICAgICAgIDxlby10b3RhbC1jb3VudCBbZ3JpZENvdW50XT1cImVvTGlzdC5ncmlkQ291bnRcIiBbb3V0c2lkZUdyaWRdPVwiZmFsc2VcIiBjbGFzcz1cImZsZXgtcm93XCI+PC9lby10b3RhbC1jb3VudD5cbiAgICAgICAgICAgIDxlby1wYWdpbmF0aW9uIFtzZXR0aW5nc109XCJzZXR0aW5nc1wiIChwYWdlQ2hhbmdlZCk9XCJvblBhZ2VDaGFuZ2VkKCRldmVudClcIj48L2VvLXBhZ2luYXRpb24+XG4gICAgICAgICAgPC9kaXY+XG5cbiAgICAgICAgICA8ZGl2IGNsYXNzPVwiZW1wdHlcIj5cbiAgICAgICAgICAgIDxlby1lcnJvci1tZXNzYWdlIFtlbXB0eVN0YXRlXT1cIntpY29uOiAnaWNfYnBtLnN2ZycsIHRleHQ6IG9GaWx0ZXIuYWN0aXZlID8gJ2VvLm5vLmZpbHRlci5yZXN1bHQnIDogJ2VvLnByb2Nlc3MubGlzdC5lbXB0eSd9XCI+PC9lby1lcnJvci1tZXNzYWdlPlxuICAgICAgICAgICAgPGVvLXJlc2V0LWZpbHRlciBbaXNGaWx0ZXJBY3RpdmVdPVwib0ZpbHRlci5hY3RpdmVcIiAoY2xpY2spPVwicmVzZXRGaWx0ZXJzKClcIj48L2VvLXJlc2V0LWZpbHRlcj5cbiAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgPC9lby1ncmlkPlxuICAgICAgPC9kaXY+XG4gICAgPC9lby1saXN0LWNvbnRhaW5lcj5cbiAgPC9uZy10ZW1wbGF0ZT5cblxuICA8IS0tIHByb2Nlc3MgZGV0YWlscyAtLT5cbiAgPG5nLXRlbXBsYXRlIHl2Y1NwbGl0QXJlYSBbc2l6ZV09XCIzMFwiPlxuICAgIDxlby1wcm9jZXNzLWRldGFpbHMgW2FwcGx5U2VsZWN0aW9uXT1cIntpbjogcHJvY2Vzc1NlbGVjdGlvbklkfVwiIFtlbXB0eVN0YXRlXT1cImVtcHR5U3RhdGUxXCJcbiAgICBbcGx1Z2luc109XCIncHJvY2Vzcy1kZXRhaWxzLXRhYi5wcm9jZXNzJyB8IHBsdWdpbnNcIj5cbiAgICA8L2VvLXByb2Nlc3MtZGV0YWlscz5cbiAgPC9uZy10ZW1wbGF0ZT5cblxuICA8IS0tIG9iamVjdCBkZXRhaWxzIC0tPlxuICA8bmctdGVtcGxhdGUgeXZjU3BsaXRBcmVhIFtzaXplXT1cIjQwXCI+XG4gICAgPGVvLW9iamVjdC1kZXRhaWxzIFthcHBseVNlbGVjdGlvbl09XCJ7fVwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICBbY2FjaGVMYXlvdXRdPVwiJ3Byb2Nlc3Muc3RhdGUub2JqZWN0LWRldGFpbHMnXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgIFtlbXB0eVN0YXRlXT1cImVtcHR5U3RhdGUyXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgIFtwbHVnaW5zXT1cIidvYmplY3QtZGV0YWlscy10YWIucHJvY2VzcycgfCBwbHVnaW5zXCI+XG4gICAgICAgIDwvZW8tb2JqZWN0LWRldGFpbHM+XG4gIDwvbmctdGVtcGxhdGU+XG48L3l2Yy1zcGxpdC12aWV3PlxuIl19
|
|
@@ -145,7 +145,7 @@ SequenceListComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0",
|
|
|
145
145
|
useExisting: forwardRef(() => SequenceListComponent),
|
|
146
146
|
multi: true
|
|
147
147
|
}
|
|
148
|
-
], ngImport: i0, template: "<div class=\"toolbar\" *ngIf=\"!entryForm; else tplEntryForm\">\n <h4>{{ 'eo.action.signature.signers' | translate }}</h4>\n <button id=\"add-item\" class=\"add primary\" (click)=\"showEntryForm()\" [disabled]=\"maxSigners\">\n <eo-icon [iconTitle]=\"('eo.action.signature.add.button.tooltip' | translate)\"\n [iconSrc]=\"'assets/_default/svg/ic_add.svg'\">\n </eo-icon>\n </button>\n</div>\n\n<div class=\"entries\" cdkDropList (cdkDropListDropped)=\"dragDrop($event)\" [cdkDropListData]=\"entries\">\n <div [ngClass]=\"{ disabled: !!entryForm, single: entries.length === 1 }\" cdkDrag *ngFor=\"let entry of entries; let i = index\">\n <eo-sequence-list-item [index]=\"i\" (changeEntry)=\"changeEntry($event)\" [disableAdd]=\"maxSigners\">\n <ng-template #content>\n <div class=\"signer-list-entry\">\n <div class=\"signer-name\" title=\"{{entry.name}}\">{{ entry.name }}</div>\n <div class=\"signer-email\" title=\"{{entry.email}}\">{{ entry.email }}</div>\n <div class=\"signer-phone\" *ngIf=\"entry.phone\" title=\"{{entry.phone}}\">{{ entry.phone }}</div>\n </div>\n </ng-template>\n </eo-sequence-list-item>\n </div>\n</div>\n\n<ng-template #tplEntryForm>\n <form class=\"entryForm\" [formGroup]=\"entryForm\" (ngSubmit)=\"addSigner()\">\n <div class=\"form-body\">\n <eo-form-input\n class=\"name\"\n [invalid]=\"entryForm.get('name').dirty && entryForm.get('name').invalid\"\n [skipToggle]=\"true\"\n [label]=\"'eo.action.signature.yuvsigners.yuvsignername' | translate\"\n [required]=\"true\"\n >\n <eo-string maxLength=\"100\" [qname]=\"'yuvsigning.yuvsigners.yuvsignername'\" [autocomplete]=\"true\" [autofocus]=\"true\" formControlName=\"name\"></eo-string>\n </eo-form-input>\n\n <eo-form-input\n class=\"task\"\n [invalid]=\"entryForm.get('email').dirty && entryForm.get('email').invalid\"\n [skipToggle]=\"true\"\n [label]=\"'eo.action.signature.yuvsigners.yuvsigneremail' | translate\"\n [required]=\"true\"\n >\n <eo-string maxLength=\"100\" [qname]=\"'yuvsigning.yuvsigners.yuvsigneremail'\" [autocomplete]=\"true\" formControlName=\"email\"></eo-string>\n </eo-form-input>\n <small class=\"errors\" *ngIf=\"entryForm.get('email').hasError('email')\" translate>eo.form.property.string.error.classification.email</small>\n <eo-form-input\n class=\"task\"\n *ngIf=\"phoneRequired\"\n [invalid]=\"entryForm.get('phone').dirty && entryForm.get('phone').invalid\"\n [skipToggle]=\"true\"\n [label]=\"'eo.action.signature.yuvsigners.yuvsignerphone' | translate\"\n [required]=\"true\"\n >\n <eo-string maxLength=\"100\" [qname]=\"'yuvsigning.yuvsigners.yuvsignerphone'\" formControlName=\"phone\"> </eo-string>\n </eo-form-input>\n </div>\n <footer class=\"footer-action\">\n <button class=\"secondary\" type=\"button\" (click)=\"cancel()\" translate>eo.action.signature.cancel</button>\n <ng-container [ngSwitch]=\"mode\">\n <button *ngSwitchCase=\"'edit'\" class=\"primary\" [disabled]=\"entryForm.invalid || entryForm.pristine\" type=\"submit\" translate>eo.action.signature.editSigner</button>\n <button *ngSwitchDefault class=\"primary\" [disabled]=\"entryForm.invalid\" type=\"submit\" translate>eo.action.signature.addSigner</button>\n </ng-container>\n </footer>\n </form>\n</ng-template>\n", styles: [":host{display:block;border:1px solid var(--panel-divider-color);padding:1px;background-color:var(--panel-background)}:host:focus{border-color:var(--color-accent)}:host.ng-invalid{border-color:var(--color-error)}:host.dense form.entryForm{display:flex;flex-flow:column}:host form.entryForm{display:grid;grid-template-rows:auto auto auto auto;grid-template-columns:1fr;padding:calc(var(--app-pane-padding) / 2);gap:calc(var(--app-pane-padding) / 2);grid-template-areas:\"title\" \"task\" \"nextAssignee\" \"expiryDatetime\" \"buttons\";border:1px solid var(--panel-divider-color)}:host form.entryForm eo-form-input.task{grid-area:task}:host form.entryForm eo-form-input.nextAssignee{grid-area:nextAssignee}:host form.entryForm eo-form-input.expiryDatetime{grid-area:expiryDatetime}:host form.entryForm .buttons{grid-area:buttons;display:flex;justify-content:end;margin:0 -2px}:host form.entryForm .buttons button{margin:0 2px}:host form.entryForm .errors{color:var(--color-error)}:host .toolbar{display:flex;justify-content:space-between;align-items:center;padding:calc(var(--app-pane-padding) / 4);border:1px solid var(--panel-divider-color)}:host .toolbar:focus{border-color:var(--color-accent)}:host .toolbar h4{padding:0;margin:0 calc(var(--app-pane-padding) * .75);flex:1;color:var(--color-primary-2)}:host .toolbar button{padding:calc(var(--app-pane-padding) / 4);border-radius:2px}:host .entries .entry{position:relative;transition:background-color .1s ease-in-out;border:1px solid var(--panel-divider-color);display:grid;padding:calc(var(--app-pane-padding) * .75);-moz-column-gap:calc(var(--app-pane-padding) / 2);column-gap:calc(var(--app-pane-padding) / 2);row-gap:calc(var(--app-pane-padding) / 4);grid-template-rows:auto auto;grid-template-columns:auto auto 1fr auto;grid-template-areas:\"handle index content action\" \"handle index content action\";margin-top:1px}:host .entries .entry.disabled{background-color:var(--panel-background-lightgrey);opacity:.85}:host .entries .entry.disabled.current{background-color:var(--panel-background);border-color:var(--color-accent)}:host .entries .entry.disabled .innerAdd:not(.active){opacity:0;pointer-events:none}:host .entries .entry.disabled button,:host .entries .entry.disabled .handle{pointer-events:none;cursor:default;opacity:.5}:host .entries .entry.single .handle,:host .entries .entry.single .index{display:none}:host .entries .entry .innerAdd{position:absolute;top:-12px;left:calc(50% - 12px);border-radius:2px;color:var(--text-color-caption);cursor:pointer;background-color:var(--panel-background);border:1px solid var(--panel-divider-color);width:20px;height:20px}:host .entries .entry .innerAdd.active{background-color:var(--color-accent);border-color:var(--color-accent);color:#fff}:host .entries .entry .index{grid-area:index;display:flex;flex-flow:column;align-items:center;justify-content:center;color:var(--color-accent);padding:0 calc(var(--app-pane-padding) / 4)}:host .entries .entry .handle{grid-area:handle;color:var(--text-color-caption);align-self:center;cursor:n-resize}:host .entries .entry .content{grid-area:content}:host .entries .entry .content ::ng-deep .list-entry .task{word-break:break-all}:host .entries .entry .action{grid-area:action;display:flex;align-items:center}:host .entries .entry .action button{padding:2px}:host .entries .entry .action button eo-icon{width:18px;height:18px}.footer-action{display:flex;justify-content:flex-end;padding:var(--app-pane-padding) 0;background-color:transparent;border-top:none}\n"], dependencies: [{ kind: "directive", type: i3.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i3.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i3.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i3.NgSwitch, selector: "[ngSwitch]", inputs: ["ngSwitch"] }, { kind: "directive", type: i3.NgSwitchCase, selector: "[ngSwitchCase]", inputs: ["ngSwitchCase"] }, { kind: "directive", type: i3.NgSwitchDefault, selector: "[ngSwitchDefault]" }, { kind: "directive", type: i4.TranslateDirective, selector: "[translate],[ngx-translate]", inputs: ["translate", "translateParams"] }, { kind: "component", type: i5.EoIconComponent, selector: "eo-icon", inputs: ["objectType", "iconId", "iconSrc", "badge", "iconTitle"] }, { kind: "directive", type: i1.ɵNgNoValidate, selector: "form:not([ngNoForm]):not([ngNativeValidate])" }, { kind: "directive", type: i1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i1.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "directive", type: i1.FormControlName, selector: "[formControlName]", inputs: ["formControlName", "disabled", "ngModel"], outputs: ["ngModelChange"] }, { kind: "component", type: i6.FormInputComponent, selector: "eo-form-input", inputs: ["label", "tag", "description", "skipToggle", "isNull", "invalid", "disabled", "required"], outputs: ["onToggleLabel"] }, { kind: "component", type: i7.StringComponent, selector: "eo-string", inputs: ["autocomplete", "multiselect", "multiline", "readonly", "autofocus", "classification", "situation", "regex", "qname", "size", "minLength", "maxLength"] }, { kind: "directive", type: i8.CdkDropList, selector: "[cdkDropList], cdk-drop-list", inputs: ["cdkDropListConnectedTo", "cdkDropListData", "cdkDropListOrientation", "id", "cdkDropListLockAxis", "cdkDropListDisabled", "cdkDropListSortingDisabled", "cdkDropListEnterPredicate", "cdkDropListSortPredicate", "cdkDropListAutoScrollDisabled", "cdkDropListAutoScrollStep"], outputs: ["cdkDropListDropped", "cdkDropListEntered", "cdkDropListExited", "cdkDropListSorted"], exportAs: ["cdkDropList"] }, { kind: "directive", type: i8.CdkDrag, selector: "[cdkDrag]", inputs: ["cdkDragData", "cdkDragLockAxis", "cdkDragRootElement", "cdkDragBoundary", "cdkDragStartDelay", "cdkDragFreeDragPosition", "cdkDragDisabled", "cdkDragConstrainPosition", "cdkDragPreviewClass", "cdkDragPreviewContainer"], outputs: ["cdkDragStarted", "cdkDragReleased", "cdkDragEnded", "cdkDragEntered", "cdkDragExited", "cdkDragDropped", "cdkDragMoved"], exportAs: ["cdkDrag"] }, { kind: "component", type: i9.SequenceListItemComponent, selector: "eo-sequence-list-item", inputs: ["index", "disableAdd", "addTargetIndex"], outputs: ["changeEntry", "edit", "delete", "insert"] }, { kind: "pipe", type: i4.TranslatePipe, name: "translate" }] });
|
|
148
|
+
], ngImport: i0, template: "<div class=\"toolbar\" *ngIf=\"!entryForm; else tplEntryForm\">\n <h4>{{ 'eo.action.signature.signers' | translate }}</h4>\n <button id=\"add-item\" class=\"add primary\" (click)=\"showEntryForm()\" [disabled]=\"maxSigners\">\n <eo-icon [iconTitle]=\"('eo.action.signature.add.button.tooltip' | translate)\"\n [iconSrc]=\"'assets/_default/svg/ic_add.svg'\">\n </eo-icon>\n </button>\n</div>\n\n<div class=\"entries\" cdkDropList (cdkDropListDropped)=\"dragDrop($event)\" [cdkDropListData]=\"entries\">\n <div [ngClass]=\"{ disabled: !!entryForm, single: entries.length === 1 }\" cdkDrag *ngFor=\"let entry of entries; let i = index\">\n <eo-sequence-list-item [index]=\"i\" (changeEntry)=\"changeEntry($event)\" [disableAdd]=\"maxSigners\">\n <ng-template #content>\n <div class=\"signer-list-entry\">\n <div class=\"signer-name\" title=\"{{entry.name}}\">{{ entry.name }}</div>\n <div class=\"signer-email\" title=\"{{entry.email}}\">{{ entry.email }}</div>\n <div class=\"signer-phone\" *ngIf=\"entry.phone\" title=\"{{entry.phone}}\">{{ entry.phone }}</div>\n </div>\n </ng-template>\n </eo-sequence-list-item>\n </div>\n</div>\n\n<ng-template #tplEntryForm>\n <form class=\"entryForm\" [formGroup]=\"entryForm\" (ngSubmit)=\"addSigner()\">\n <div class=\"form-body\">\n <eo-form-input\n class=\"name\"\n [invalid]=\"entryForm.get('name').dirty && entryForm.get('name').invalid\"\n [skipToggle]=\"true\"\n [label]=\"'eo.action.signature.yuvsigners.yuvsignername' | translate\"\n [required]=\"true\"\n >\n <eo-string maxLength=\"100\" [qname]=\"'yuvsigning.yuvsigners.yuvsignername'\" [autocomplete]=\"true\" [autofocus]=\"true\" formControlName=\"name\"></eo-string>\n </eo-form-input>\n <small class=\"errors\" *ngIf=\"entryForm.get('name').hasError('maxlength')\" [translateParams]=\"{maxlength: 100}\"\n translate>eo.form.property.maxlength</small>\n <eo-form-input\n class=\"task\"\n [invalid]=\"entryForm.get('email').dirty && entryForm.get('email').invalid\"\n [skipToggle]=\"true\"\n [label]=\"'eo.action.signature.yuvsigners.yuvsigneremail' | translate\"\n [required]=\"true\"\n >\n <eo-string maxLength=\"100\" [qname]=\"'yuvsigning.yuvsigners.yuvsigneremail'\" [autocomplete]=\"true\" formControlName=\"email\"></eo-string>\n </eo-form-input>\n <small class=\"errors\" *ngIf=\"entryForm.get('email').hasError('email')\" translate>eo.form.property.string.error.classification.email</small>\n <small class=\"errors\" *ngIf=\"!entryForm.get('email').hasError('email') && entryForm.get('email').hasError('maxlength')\"\n [translateParams]=\"{maxlength: 100}\" translate>eo.form.property.maxlength</small>\n <eo-form-input\n class=\"task\"\n *ngIf=\"phoneRequired\"\n [invalid]=\"entryForm.get('phone').dirty && entryForm.get('phone').invalid\"\n [skipToggle]=\"true\"\n [label]=\"'eo.action.signature.yuvsigners.yuvsignerphone' | translate\"\n [required]=\"true\"\n >\n <eo-string maxLength=\"100\" [qname]=\"'yuvsigning.yuvsigners.yuvsignerphone'\" formControlName=\"phone\"> </eo-string>\n <small class=\"errors\" *ngIf=\"entryForm.get('phone').hasError('maxlength')\" [translateParams]=\"{maxlength: 100}\"\n translate>eo.form.property.maxlength</small>\n </eo-form-input>\n </div>\n <footer class=\"footer-action\">\n <button class=\"secondary\" type=\"button\" (click)=\"cancel()\" translate>eo.action.signature.cancel</button>\n <ng-container [ngSwitch]=\"mode\">\n <button *ngSwitchCase=\"'edit'\" class=\"primary\" [disabled]=\"entryForm.invalid || entryForm.pristine\" type=\"submit\" translate>eo.action.signature.editSigner</button>\n <button *ngSwitchDefault class=\"primary\" [disabled]=\"entryForm.invalid\" type=\"submit\" translate>eo.action.signature.addSigner</button>\n </ng-container>\n </footer>\n </form>\n</ng-template>\n", styles: [":host{display:block;border:1px solid var(--panel-divider-color);padding:1px;background-color:var(--panel-background)}:host:focus{border-color:var(--color-accent)}:host.ng-invalid{border-color:var(--color-error)}:host.dense form.entryForm{display:flex;flex-flow:column}:host form.entryForm{display:grid;grid-template-rows:auto auto auto auto;grid-template-columns:1fr;padding:calc(var(--app-pane-padding) / 2);gap:calc(var(--app-pane-padding) / 2);grid-template-areas:\"title\" \"task\" \"nextAssignee\" \"expiryDatetime\" \"buttons\";border:1px solid var(--panel-divider-color)}:host form.entryForm eo-form-input.task{grid-area:task}:host form.entryForm eo-form-input.nextAssignee{grid-area:nextAssignee}:host form.entryForm eo-form-input.expiryDatetime{grid-area:expiryDatetime}:host form.entryForm .buttons{grid-area:buttons;display:flex;justify-content:end;margin:0 -2px}:host form.entryForm .buttons button{margin:0 2px}:host form.entryForm .errors{color:var(--color-error)}:host .toolbar{display:flex;justify-content:space-between;align-items:center;padding:calc(var(--app-pane-padding) / 4);border:1px solid var(--panel-divider-color)}:host .toolbar:focus{border-color:var(--color-accent)}:host .toolbar h4{padding:0;margin:0 calc(var(--app-pane-padding) * .75);flex:1;color:var(--color-primary-2)}:host .toolbar button{padding:calc(var(--app-pane-padding) / 4);border-radius:2px}:host .entries .entry{position:relative;transition:background-color .1s ease-in-out;border:1px solid var(--panel-divider-color);display:grid;padding:calc(var(--app-pane-padding) * .75);-moz-column-gap:calc(var(--app-pane-padding) / 2);column-gap:calc(var(--app-pane-padding) / 2);row-gap:calc(var(--app-pane-padding) / 4);grid-template-rows:auto auto;grid-template-columns:auto auto 1fr auto;grid-template-areas:\"handle index content action\" \"handle index content action\";margin-top:1px}:host .entries .entry.disabled{background-color:var(--panel-background-lightgrey);opacity:.85}:host .entries .entry.disabled.current{background-color:var(--panel-background);border-color:var(--color-accent)}:host .entries .entry.disabled .innerAdd:not(.active){opacity:0;pointer-events:none}:host .entries .entry.disabled button,:host .entries .entry.disabled .handle{pointer-events:none;cursor:default;opacity:.5}:host .entries .entry.single .handle,:host .entries .entry.single .index{display:none}:host .entries .entry .innerAdd{position:absolute;top:-12px;left:calc(50% - 12px);border-radius:2px;color:var(--text-color-caption);cursor:pointer;background-color:var(--panel-background);border:1px solid var(--panel-divider-color);width:20px;height:20px}:host .entries .entry .innerAdd.active{background-color:var(--color-accent);border-color:var(--color-accent);color:#fff}:host .entries .entry .index{grid-area:index;display:flex;flex-flow:column;align-items:center;justify-content:center;color:var(--color-accent);padding:0 calc(var(--app-pane-padding) / 4)}:host .entries .entry .handle{grid-area:handle;color:var(--text-color-caption);align-self:center;cursor:n-resize}:host .entries .entry .content{grid-area:content}:host .entries .entry .content ::ng-deep .list-entry .task{word-break:break-all}:host .entries .entry .action{grid-area:action;display:flex;align-items:center}:host .entries .entry .action button{padding:2px}:host .entries .entry .action button eo-icon{width:18px;height:18px}.footer-action{display:flex;justify-content:flex-end;padding:var(--app-pane-padding) 0;background-color:transparent;border-top:none}\n"], dependencies: [{ kind: "directive", type: i3.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i3.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i3.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i3.NgSwitch, selector: "[ngSwitch]", inputs: ["ngSwitch"] }, { kind: "directive", type: i3.NgSwitchCase, selector: "[ngSwitchCase]", inputs: ["ngSwitchCase"] }, { kind: "directive", type: i3.NgSwitchDefault, selector: "[ngSwitchDefault]" }, { kind: "directive", type: i4.TranslateDirective, selector: "[translate],[ngx-translate]", inputs: ["translate", "translateParams"] }, { kind: "component", type: i5.EoIconComponent, selector: "eo-icon", inputs: ["objectType", "iconId", "iconSrc", "badge", "iconTitle"] }, { kind: "directive", type: i1.ɵNgNoValidate, selector: "form:not([ngNoForm]):not([ngNativeValidate])" }, { kind: "directive", type: i1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i1.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "directive", type: i1.FormControlName, selector: "[formControlName]", inputs: ["formControlName", "disabled", "ngModel"], outputs: ["ngModelChange"] }, { kind: "component", type: i6.FormInputComponent, selector: "eo-form-input", inputs: ["label", "tag", "description", "skipToggle", "isNull", "invalid", "disabled", "required"], outputs: ["onToggleLabel"] }, { kind: "component", type: i7.StringComponent, selector: "eo-string", inputs: ["autocomplete", "multiselect", "multiline", "readonly", "autofocus", "classification", "situation", "regex", "qname", "size", "minLength", "maxLength"] }, { kind: "directive", type: i8.CdkDropList, selector: "[cdkDropList], cdk-drop-list", inputs: ["cdkDropListConnectedTo", "cdkDropListData", "cdkDropListOrientation", "id", "cdkDropListLockAxis", "cdkDropListDisabled", "cdkDropListSortingDisabled", "cdkDropListEnterPredicate", "cdkDropListSortPredicate", "cdkDropListAutoScrollDisabled", "cdkDropListAutoScrollStep"], outputs: ["cdkDropListDropped", "cdkDropListEntered", "cdkDropListExited", "cdkDropListSorted"], exportAs: ["cdkDropList"] }, { kind: "directive", type: i8.CdkDrag, selector: "[cdkDrag]", inputs: ["cdkDragData", "cdkDragLockAxis", "cdkDragRootElement", "cdkDragBoundary", "cdkDragStartDelay", "cdkDragFreeDragPosition", "cdkDragDisabled", "cdkDragConstrainPosition", "cdkDragPreviewClass", "cdkDragPreviewContainer"], outputs: ["cdkDragStarted", "cdkDragReleased", "cdkDragEnded", "cdkDragEntered", "cdkDragExited", "cdkDragDropped", "cdkDragMoved"], exportAs: ["cdkDrag"] }, { kind: "component", type: i9.SequenceListItemComponent, selector: "eo-sequence-list-item", inputs: ["index", "disableAdd", "addTargetIndex"], outputs: ["changeEntry", "edit", "delete", "insert"] }, { kind: "pipe", type: i4.TranslatePipe, name: "translate" }] });
|
|
149
149
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.2", ngImport: i0, type: SequenceListComponent, decorators: [{
|
|
150
150
|
type: Component,
|
|
151
151
|
args: [{ selector: 'eo-sequence-list', providers: [
|
|
@@ -161,7 +161,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.2", ngImpor
|
|
|
161
161
|
}
|
|
162
162
|
], host: {
|
|
163
163
|
tabindex: '0'
|
|
164
|
-
}, template: "<div class=\"toolbar\" *ngIf=\"!entryForm; else tplEntryForm\">\n <h4>{{ 'eo.action.signature.signers' | translate }}</h4>\n <button id=\"add-item\" class=\"add primary\" (click)=\"showEntryForm()\" [disabled]=\"maxSigners\">\n <eo-icon [iconTitle]=\"('eo.action.signature.add.button.tooltip' | translate)\"\n [iconSrc]=\"'assets/_default/svg/ic_add.svg'\">\n </eo-icon>\n </button>\n</div>\n\n<div class=\"entries\" cdkDropList (cdkDropListDropped)=\"dragDrop($event)\" [cdkDropListData]=\"entries\">\n <div [ngClass]=\"{ disabled: !!entryForm, single: entries.length === 1 }\" cdkDrag *ngFor=\"let entry of entries; let i = index\">\n <eo-sequence-list-item [index]=\"i\" (changeEntry)=\"changeEntry($event)\" [disableAdd]=\"maxSigners\">\n <ng-template #content>\n <div class=\"signer-list-entry\">\n <div class=\"signer-name\" title=\"{{entry.name}}\">{{ entry.name }}</div>\n <div class=\"signer-email\" title=\"{{entry.email}}\">{{ entry.email }}</div>\n <div class=\"signer-phone\" *ngIf=\"entry.phone\" title=\"{{entry.phone}}\">{{ entry.phone }}</div>\n </div>\n </ng-template>\n </eo-sequence-list-item>\n </div>\n</div>\n\n<ng-template #tplEntryForm>\n <form class=\"entryForm\" [formGroup]=\"entryForm\" (ngSubmit)=\"addSigner()\">\n <div class=\"form-body\">\n <eo-form-input\n class=\"name\"\n [invalid]=\"entryForm.get('name').dirty && entryForm.get('name').invalid\"\n [skipToggle]=\"true\"\n [label]=\"'eo.action.signature.yuvsigners.yuvsignername' | translate\"\n [required]=\"true\"\n >\n <eo-string maxLength=\"100\" [qname]=\"'yuvsigning.yuvsigners.yuvsignername'\" [autocomplete]=\"true\" [autofocus]=\"true\" formControlName=\"name\"></eo-string>\n </eo-form-input>\n\n <eo-form-input\n class=\"task\"\n [invalid]=\"entryForm.get('email').dirty && entryForm.get('email').invalid\"\n [skipToggle]=\"true\"\n [label]=\"'eo.action.signature.yuvsigners.yuvsigneremail' | translate\"\n [required]=\"true\"\n >\n <eo-string maxLength=\"100\" [qname]=\"'yuvsigning.yuvsigners.yuvsigneremail'\" [autocomplete]=\"true\" formControlName=\"email\"></eo-string>\n </eo-form-input>\n <small class=\"errors\" *ngIf=\"entryForm.get('email').hasError('email')\" translate>eo.form.property.string.error.classification.email</small>\n <eo-form-input\n class=\"task\"\n *ngIf=\"phoneRequired\"\n [invalid]=\"entryForm.get('phone').dirty && entryForm.get('phone').invalid\"\n [skipToggle]=\"true\"\n [label]=\"'eo.action.signature.yuvsigners.yuvsignerphone' | translate\"\n [required]=\"true\"\n >\n <eo-string maxLength=\"100\" [qname]=\"'yuvsigning.yuvsigners.yuvsignerphone'\" formControlName=\"phone\"> </eo-string>\n </eo-form-input>\n </div>\n <footer class=\"footer-action\">\n <button class=\"secondary\" type=\"button\" (click)=\"cancel()\" translate>eo.action.signature.cancel</button>\n <ng-container [ngSwitch]=\"mode\">\n <button *ngSwitchCase=\"'edit'\" class=\"primary\" [disabled]=\"entryForm.invalid || entryForm.pristine\" type=\"submit\" translate>eo.action.signature.editSigner</button>\n <button *ngSwitchDefault class=\"primary\" [disabled]=\"entryForm.invalid\" type=\"submit\" translate>eo.action.signature.addSigner</button>\n </ng-container>\n </footer>\n </form>\n</ng-template>\n", styles: [":host{display:block;border:1px solid var(--panel-divider-color);padding:1px;background-color:var(--panel-background)}:host:focus{border-color:var(--color-accent)}:host.ng-invalid{border-color:var(--color-error)}:host.dense form.entryForm{display:flex;flex-flow:column}:host form.entryForm{display:grid;grid-template-rows:auto auto auto auto;grid-template-columns:1fr;padding:calc(var(--app-pane-padding) / 2);gap:calc(var(--app-pane-padding) / 2);grid-template-areas:\"title\" \"task\" \"nextAssignee\" \"expiryDatetime\" \"buttons\";border:1px solid var(--panel-divider-color)}:host form.entryForm eo-form-input.task{grid-area:task}:host form.entryForm eo-form-input.nextAssignee{grid-area:nextAssignee}:host form.entryForm eo-form-input.expiryDatetime{grid-area:expiryDatetime}:host form.entryForm .buttons{grid-area:buttons;display:flex;justify-content:end;margin:0 -2px}:host form.entryForm .buttons button{margin:0 2px}:host form.entryForm .errors{color:var(--color-error)}:host .toolbar{display:flex;justify-content:space-between;align-items:center;padding:calc(var(--app-pane-padding) / 4);border:1px solid var(--panel-divider-color)}:host .toolbar:focus{border-color:var(--color-accent)}:host .toolbar h4{padding:0;margin:0 calc(var(--app-pane-padding) * .75);flex:1;color:var(--color-primary-2)}:host .toolbar button{padding:calc(var(--app-pane-padding) / 4);border-radius:2px}:host .entries .entry{position:relative;transition:background-color .1s ease-in-out;border:1px solid var(--panel-divider-color);display:grid;padding:calc(var(--app-pane-padding) * .75);-moz-column-gap:calc(var(--app-pane-padding) / 2);column-gap:calc(var(--app-pane-padding) / 2);row-gap:calc(var(--app-pane-padding) / 4);grid-template-rows:auto auto;grid-template-columns:auto auto 1fr auto;grid-template-areas:\"handle index content action\" \"handle index content action\";margin-top:1px}:host .entries .entry.disabled{background-color:var(--panel-background-lightgrey);opacity:.85}:host .entries .entry.disabled.current{background-color:var(--panel-background);border-color:var(--color-accent)}:host .entries .entry.disabled .innerAdd:not(.active){opacity:0;pointer-events:none}:host .entries .entry.disabled button,:host .entries .entry.disabled .handle{pointer-events:none;cursor:default;opacity:.5}:host .entries .entry.single .handle,:host .entries .entry.single .index{display:none}:host .entries .entry .innerAdd{position:absolute;top:-12px;left:calc(50% - 12px);border-radius:2px;color:var(--text-color-caption);cursor:pointer;background-color:var(--panel-background);border:1px solid var(--panel-divider-color);width:20px;height:20px}:host .entries .entry .innerAdd.active{background-color:var(--color-accent);border-color:var(--color-accent);color:#fff}:host .entries .entry .index{grid-area:index;display:flex;flex-flow:column;align-items:center;justify-content:center;color:var(--color-accent);padding:0 calc(var(--app-pane-padding) / 4)}:host .entries .entry .handle{grid-area:handle;color:var(--text-color-caption);align-self:center;cursor:n-resize}:host .entries .entry .content{grid-area:content}:host .entries .entry .content ::ng-deep .list-entry .task{word-break:break-all}:host .entries .entry .action{grid-area:action;display:flex;align-items:center}:host .entries .entry .action button{padding:2px}:host .entries .entry .action button eo-icon{width:18px;height:18px}.footer-action{display:flex;justify-content:flex-end;padding:var(--app-pane-padding) 0;background-color:transparent;border-top:none}\n"] }]
|
|
164
|
+
}, template: "<div class=\"toolbar\" *ngIf=\"!entryForm; else tplEntryForm\">\n <h4>{{ 'eo.action.signature.signers' | translate }}</h4>\n <button id=\"add-item\" class=\"add primary\" (click)=\"showEntryForm()\" [disabled]=\"maxSigners\">\n <eo-icon [iconTitle]=\"('eo.action.signature.add.button.tooltip' | translate)\"\n [iconSrc]=\"'assets/_default/svg/ic_add.svg'\">\n </eo-icon>\n </button>\n</div>\n\n<div class=\"entries\" cdkDropList (cdkDropListDropped)=\"dragDrop($event)\" [cdkDropListData]=\"entries\">\n <div [ngClass]=\"{ disabled: !!entryForm, single: entries.length === 1 }\" cdkDrag *ngFor=\"let entry of entries; let i = index\">\n <eo-sequence-list-item [index]=\"i\" (changeEntry)=\"changeEntry($event)\" [disableAdd]=\"maxSigners\">\n <ng-template #content>\n <div class=\"signer-list-entry\">\n <div class=\"signer-name\" title=\"{{entry.name}}\">{{ entry.name }}</div>\n <div class=\"signer-email\" title=\"{{entry.email}}\">{{ entry.email }}</div>\n <div class=\"signer-phone\" *ngIf=\"entry.phone\" title=\"{{entry.phone}}\">{{ entry.phone }}</div>\n </div>\n </ng-template>\n </eo-sequence-list-item>\n </div>\n</div>\n\n<ng-template #tplEntryForm>\n <form class=\"entryForm\" [formGroup]=\"entryForm\" (ngSubmit)=\"addSigner()\">\n <div class=\"form-body\">\n <eo-form-input\n class=\"name\"\n [invalid]=\"entryForm.get('name').dirty && entryForm.get('name').invalid\"\n [skipToggle]=\"true\"\n [label]=\"'eo.action.signature.yuvsigners.yuvsignername' | translate\"\n [required]=\"true\"\n >\n <eo-string maxLength=\"100\" [qname]=\"'yuvsigning.yuvsigners.yuvsignername'\" [autocomplete]=\"true\" [autofocus]=\"true\" formControlName=\"name\"></eo-string>\n </eo-form-input>\n <small class=\"errors\" *ngIf=\"entryForm.get('name').hasError('maxlength')\" [translateParams]=\"{maxlength: 100}\"\n translate>eo.form.property.maxlength</small>\n <eo-form-input\n class=\"task\"\n [invalid]=\"entryForm.get('email').dirty && entryForm.get('email').invalid\"\n [skipToggle]=\"true\"\n [label]=\"'eo.action.signature.yuvsigners.yuvsigneremail' | translate\"\n [required]=\"true\"\n >\n <eo-string maxLength=\"100\" [qname]=\"'yuvsigning.yuvsigners.yuvsigneremail'\" [autocomplete]=\"true\" formControlName=\"email\"></eo-string>\n </eo-form-input>\n <small class=\"errors\" *ngIf=\"entryForm.get('email').hasError('email')\" translate>eo.form.property.string.error.classification.email</small>\n <small class=\"errors\" *ngIf=\"!entryForm.get('email').hasError('email') && entryForm.get('email').hasError('maxlength')\"\n [translateParams]=\"{maxlength: 100}\" translate>eo.form.property.maxlength</small>\n <eo-form-input\n class=\"task\"\n *ngIf=\"phoneRequired\"\n [invalid]=\"entryForm.get('phone').dirty && entryForm.get('phone').invalid\"\n [skipToggle]=\"true\"\n [label]=\"'eo.action.signature.yuvsigners.yuvsignerphone' | translate\"\n [required]=\"true\"\n >\n <eo-string maxLength=\"100\" [qname]=\"'yuvsigning.yuvsigners.yuvsignerphone'\" formControlName=\"phone\"> </eo-string>\n <small class=\"errors\" *ngIf=\"entryForm.get('phone').hasError('maxlength')\" [translateParams]=\"{maxlength: 100}\"\n translate>eo.form.property.maxlength</small>\n </eo-form-input>\n </div>\n <footer class=\"footer-action\">\n <button class=\"secondary\" type=\"button\" (click)=\"cancel()\" translate>eo.action.signature.cancel</button>\n <ng-container [ngSwitch]=\"mode\">\n <button *ngSwitchCase=\"'edit'\" class=\"primary\" [disabled]=\"entryForm.invalid || entryForm.pristine\" type=\"submit\" translate>eo.action.signature.editSigner</button>\n <button *ngSwitchDefault class=\"primary\" [disabled]=\"entryForm.invalid\" type=\"submit\" translate>eo.action.signature.addSigner</button>\n </ng-container>\n </footer>\n </form>\n</ng-template>\n", styles: [":host{display:block;border:1px solid var(--panel-divider-color);padding:1px;background-color:var(--panel-background)}:host:focus{border-color:var(--color-accent)}:host.ng-invalid{border-color:var(--color-error)}:host.dense form.entryForm{display:flex;flex-flow:column}:host form.entryForm{display:grid;grid-template-rows:auto auto auto auto;grid-template-columns:1fr;padding:calc(var(--app-pane-padding) / 2);gap:calc(var(--app-pane-padding) / 2);grid-template-areas:\"title\" \"task\" \"nextAssignee\" \"expiryDatetime\" \"buttons\";border:1px solid var(--panel-divider-color)}:host form.entryForm eo-form-input.task{grid-area:task}:host form.entryForm eo-form-input.nextAssignee{grid-area:nextAssignee}:host form.entryForm eo-form-input.expiryDatetime{grid-area:expiryDatetime}:host form.entryForm .buttons{grid-area:buttons;display:flex;justify-content:end;margin:0 -2px}:host form.entryForm .buttons button{margin:0 2px}:host form.entryForm .errors{color:var(--color-error)}:host .toolbar{display:flex;justify-content:space-between;align-items:center;padding:calc(var(--app-pane-padding) / 4);border:1px solid var(--panel-divider-color)}:host .toolbar:focus{border-color:var(--color-accent)}:host .toolbar h4{padding:0;margin:0 calc(var(--app-pane-padding) * .75);flex:1;color:var(--color-primary-2)}:host .toolbar button{padding:calc(var(--app-pane-padding) / 4);border-radius:2px}:host .entries .entry{position:relative;transition:background-color .1s ease-in-out;border:1px solid var(--panel-divider-color);display:grid;padding:calc(var(--app-pane-padding) * .75);-moz-column-gap:calc(var(--app-pane-padding) / 2);column-gap:calc(var(--app-pane-padding) / 2);row-gap:calc(var(--app-pane-padding) / 4);grid-template-rows:auto auto;grid-template-columns:auto auto 1fr auto;grid-template-areas:\"handle index content action\" \"handle index content action\";margin-top:1px}:host .entries .entry.disabled{background-color:var(--panel-background-lightgrey);opacity:.85}:host .entries .entry.disabled.current{background-color:var(--panel-background);border-color:var(--color-accent)}:host .entries .entry.disabled .innerAdd:not(.active){opacity:0;pointer-events:none}:host .entries .entry.disabled button,:host .entries .entry.disabled .handle{pointer-events:none;cursor:default;opacity:.5}:host .entries .entry.single .handle,:host .entries .entry.single .index{display:none}:host .entries .entry .innerAdd{position:absolute;top:-12px;left:calc(50% - 12px);border-radius:2px;color:var(--text-color-caption);cursor:pointer;background-color:var(--panel-background);border:1px solid var(--panel-divider-color);width:20px;height:20px}:host .entries .entry .innerAdd.active{background-color:var(--color-accent);border-color:var(--color-accent);color:#fff}:host .entries .entry .index{grid-area:index;display:flex;flex-flow:column;align-items:center;justify-content:center;color:var(--color-accent);padding:0 calc(var(--app-pane-padding) / 4)}:host .entries .entry .handle{grid-area:handle;color:var(--text-color-caption);align-self:center;cursor:n-resize}:host .entries .entry .content{grid-area:content}:host .entries .entry .content ::ng-deep .list-entry .task{word-break:break-all}:host .entries .entry .action{grid-area:action;display:flex;align-items:center}:host .entries .entry .action button{padding:2px}:host .entries .entry .action button eo-icon{width:18px;height:18px}.footer-action{display:flex;justify-content:flex-end;padding:var(--app-pane-padding) 0;background-color:transparent;border-top:none}\n"] }]
|
|
165
165
|
}], ctorParameters: function () { return [{ type: undefined, decorators: [{
|
|
166
166
|
type: Attribute,
|
|
167
167
|
args: ['form-open']
|
|
@@ -181,4 +181,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.2", ngImpor
|
|
|
181
181
|
type: HostListener,
|
|
182
182
|
args: ['keydown.escape', ['$event']]
|
|
183
183
|
}] } });
|
|
184
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VxdWVuY2UtbGlzdC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9zcmMvYXBwL2VvLWZyYW1ld29yay9hY3Rpb25zL2FjdGlvbnMvc2lnbmF0dXJlLWFjdGlvbi9zZXF1ZW5jZS1saXN0L3NlcXVlbmNlLWxpc3QuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vc3JjL2FwcC9lby1mcmFtZXdvcmsvYWN0aW9ucy9hY3Rpb25zL3NpZ25hdHVyZS1hY3Rpb24vc2VxdWVuY2UtbGlzdC9zZXF1ZW5jZS1saXN0LmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBZSxlQUFlLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQztBQUN0RSxPQUFPLEVBQUMsU0FBUyxFQUFFLFNBQVMsRUFBYyxZQUFZLEVBQUUsVUFBVSxFQUFFLFlBQVksRUFBRSxLQUFLLEVBQVUsTUFBTSxFQUFDLE1BQU0sZUFBZSxDQUFDO0FBQzlILE9BQU8sRUFBaUUsYUFBYSxFQUFFLGlCQUFpQixFQUErQixVQUFVLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUMxSyxPQUFPLEVBQUMsVUFBVSxFQUF1QixNQUFNLG9CQUFvQixDQUFDOzs7Ozs7Ozs7OztBQXVCcEUsTUFBTSxPQUFPLHFCQUFxQjtJQWNoQyxrQkFBa0IsQ0FBQyxLQUFvQjtRQUNyQyxJQUFJLENBQUMsYUFBYSxFQUFFLENBQUM7UUFDckIsS0FBSyxDQUFDLGNBQWMsRUFBRSxDQUFDO1FBQ3ZCLEtBQUssQ0FBQyxlQUFlLEVBQUUsQ0FBQztJQUMxQixDQUFDO0lBR0QsbUJBQW1CLENBQUMsS0FBb0I7UUFDdEMsSUFBSSxJQUFJLENBQUMsU0FBUyxFQUFFLEtBQUssSUFBSSxJQUFJLENBQUMsU0FBUyxDQUFDLEtBQUssRUFBRTtZQUNqRCxJQUFJLENBQUMsU0FBUyxFQUFFLENBQUM7WUFD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Iiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ2RrRHJhZ0Ryb3AsIG1vdmVJdGVtSW5BcnJheSB9IGZyb20gJ0Bhbmd1bGFyL2Nkay9kcmFnLWRyb3AnO1xuaW1wb3J0IHtBdHRyaWJ1dGUsIENvbXBvbmVudCwgRWxlbWVudFJlZiwgRXZlbnRFbWl0dGVyLCBmb3J3YXJkUmVmLCBIb3N0TGlzdGVuZXIsIElucHV0LCBPbkluaXQsIE91dHB1dH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBBYnN0cmFjdENvbnRyb2wsIENvbnRyb2xWYWx1ZUFjY2Vzc29yLCBGb3JtQnVpbGRlciwgRm9ybUdyb3VwLCBOR19WQUxJREFUT1JTLCBOR19WQUxVRV9BQ0NFU1NPUiwgVmFsaWRhdGlvbkVycm9ycywgVmFsaWRhdG9yLCBWYWxpZGF0b3JzIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuaW1wb3J0IHtDaGFuZ2VNb2RlLCBDaGFuZ2VPdXRwdXQsIFNpZ25lcn0gZnJvbSAnLi4vc2lnbmF0dXJlLm1vZGVsJztcbmltcG9ydCB7VHJhbnNsYXRlU2VydmljZX0gZnJvbSAnQGVvLXNkay9jb3JlJztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnZW8tc2VxdWVuY2UtbGlzdCcsXG4gIHRlbXBsYXRlVXJsOiAnLi9zZXF1ZW5jZS1saXN0LmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJy4vc2VxdWVuY2UtbGlzdC5jb21wb25lbnQuc2NzcyddLFxuICBwcm92aWRlcnM6IFtcbiAgICB7XG4gICAgICBwcm92aWRlOiBOR19WQUxVRV9BQ0NFU1NPUixcbiAgICAgIHVzZUV4aXN0aW5nOiBmb3J3YXJkUmVmKCgpID0+IFNlcXVlbmNlTGlzdENvbXBvbmVudCksXG4gICAgICBtdWx0aTogdHJ1ZVxuICAgIH0sXG4gICAge1xuICAgICAgcHJvdmlkZTogTkdfVkFMSURBVE9SUyxcbiAgICAgIHVzZUV4aXN0aW5nOiBmb3J3YXJkUmVmKCgpID0+IFNlcXVlbmNlTGlzdENvbXBvbmVudCksXG4gICAgICBtdWx0aTogdHJ1ZVxuICAgIH1cbiAgXSxcbiAgaG9zdDoge1xuICAgIHRhYmluZGV4OiAnMCdcbiAgfVxufSlcbmV4cG9ydCBjbGFzcyBTZXF1ZW5jZUxpc3RDb21wb25lbnQgaW1wbGVtZW50cyBDb250cm9sVmFsdWVBY2Nlc3NvciwgVmFsaWRhdG9yLCBPbkluaXQge1xuICBlbnRyeUZvcm06IEZvcm1Hcm91cDtcbiAgZW50cmllczogU2lnbmVyW10gPSBbXTtcbiAgZWRpdEluZGV4OiBudW1iZXI7XG4gIGFkZFRhcmdldEluZGV4OiBudW1iZXI7XG4gIGxlbmd0aFZhbGlkYXRvciA9IHsgbWF4OiAxMDAsIG1pbjogMyB9O1xuICBjaGFuZ2VNb2RlID0gQ2hhbmdlTW9kZTtcbiAgbW9kZTogQ2hhbmdlTW9kZTtcblxuICBASW5wdXQoKSBNQVhfU0lHTkVSUzogbnVtYmVyO1xuICBASW5wdXQoKSBwaG9uZVJlcXVpcmVkOiBib29sZWFuO1xuICBAT3V0cHV0KCkgaXRlbUVkaXQgPSBuZXcgRXZlbnRFbWl0dGVyPGJvb2xlYW4+KCk7XG5cbiAgQEhvc3RMaXN0ZW5lcigna2V5ZG93bi5jb250cm9sLisnLCBbJyRldmVudCddKVxuICBjb250cm9sUGx1c0hhbmRsZXIoZXZlbnQ6IEtleWJvYXJkRXZlbnQpIHtcbiAgICB0aGlzLnNob3dFbnRyeUZvcm0oKTtcbiAgICBldmVudC5wcmV2ZW50RGVmYXVsdCgpO1xuICAgIGV2ZW50LnN0b3BQcm9wYWdhdGlvbigpO1xuICB9XG5cbiAgQEhvc3RMaXN0ZW5lcigna2V5ZG93bi5lbnRlcicsIFsnJGV2ZW50J10pXG4gIGNvbnRyb2xFbnRlckhhbmRsZXIoZXZlbnQ6IEtleWJvYXJkRXZlbnQpIHtcbiAgICBpZiAodGhpcy5lbnRyeUZvcm0/LmRpcnR5ICYmIHRoaXMuZW50cnlGb3JtLnZhbGlkKSB7XG4gICAgICB0aGlzLmFkZFNpZ25lcigpO1xuICAgICAgZXZlbnQucHJldmVudERlZmF1bHQoKTtcbiAgICAgIGV2ZW50LnN0b3BQcm9wYWdhdGlvbigpO1xuICAgIH1cbiAgfVxuXG4gIEBIb3N0TGlzdGVuZXIoJ2tleWRvd24uZXNjYXBlJywgWyckZXZlbnQnXSlcbiAgZXNjYXBlSGFuZGxlcihldmVudDogS2V5Ym9hcmRFdmVudCkge1xuICAgIGlmICh0aGlzLmVudHJ5Rm9ybSkge1xuICAgICAgdGhpcy5oaWRlRW50cnlGb3JtKCk7XG4gICAgICBldmVudC5wcmV2ZW50RGVmYXVsdCgpO1xuICAgICAgZXZlbnQuc3RvcFByb3BhZ2F0aW9uKCk7XG4gICAgfVxuICB9XG5cbiAgZ2V0IG1heFNpZ25lcnMoKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIHRoaXMuZW50cmllcy5sZW5ndGggPT09IHRoaXMuTUFYX1NJR05FUlM7XG4gIH1cblxuICBjb25zdHJ1Y3RvcihAQXR0cmlidXRlKCdmb3JtLW9wZW4nKSBwdWJsaWMgZm9ybU9wZW46IHN0cmluZyxcbiAgICAgICAgICAgICAgcHVibGljIGVsUmVmOiBFbGVtZW50UmVmLFxuICAgICAgICAgICAgICBwdWJsaWMgZmI6IEZvcm1CdWlsZGVyLFxuICAgICAgICAgICAgICBwdWJsaWMgdHJhbnNsYXRlOiBUcmFuc2xhdGVTZXJ2aWNlKSB7fVxuXG4gIHByb3BhZ2F0ZUNoYW5nZSA9IChfOiBhbnkpID0+IHt9O1xuXG4gIHByaXZhdGUgcHJvcGFnYXRlKCkge1xuICAgIHRoaXMucHJvcGFnYXRlQ2hhbmdlKHRoaXMuZW50cmllcyk7XG4gIH1cblxuICB3cml0ZVZhbHVlKHZhbHVlOiBTaWduZXJbXSk6IHZvaWQge1xuICAgIHRoaXMuZW50cmllcyA9IHZhbHVlIHx8IFtdO1xuICB9XG5cbiAgcmVnaXN0ZXJPbkNoYW5nZShmbjogYW55KTogdm9pZCB7XG4gICAgdGhpcy5wcm9wYWdhdGVDaGFuZ2UgPSBmbjtcbiAgfVxuXG4gIHJlZ2lzdGVyT25Ub3VjaGVkKGZuOiBhbnkpOiB2b2lkIHt9XG5cbiAgdmFsaWRhdGUoY29udHJvbDogQWJzdHJhY3RDb250cm9sKTogVmFsaWRhdGlvbkVycm9ycyB8IG51bGwge1xuICAgIHJldHVybiB0aGlzLmVudHJ5Rm9ybT8uZGlydHkgPyB7IHJvdXRpbmdsaXN0OiB7IHBlbmRpbmc6IHRydWUgfSB9IDogbnVsbDtcbiAgfVxuXG4gIGRyYWdEcm9wKGV2ZW50OiBDZGtEcmFnRHJvcDxzdHJpbmdbXT4pIHtcbiAgICBtb3ZlSXRlbUluQXJyYXkodGhpcy5lbnRyaWVzLCBldmVudC5wcmV2aW91c0luZGV4LCBldmVudC5jdXJyZW50SW5kZXgpO1xuICAgIHRoaXMucHJvcGFnYXRlKCk7XG4gIH1cblxuICBzaG93RW50cnlGb3JtKGluZGV4PzogbnVtYmVyLCBhZGRBdEluZGV4PzogYm9vbGVhbikge1xuICAgIGxldCBlbnRyeTtcbiAgICBpZiAoYWRkQXRJbmRleCkge1xuICAgICAgdGhpcy5hZGRUYXJnZXRJbmRleCA9IGluZGV4O1xuICAgIH0gZWxzZSB7XG4gICAgICB0aGlzLmVkaXRJbmRleCA9IGluZGV4O1xuICAgICAgZW50cnkgPSBpbmRleCAhPT0gdW5kZWZpbmVkID8gdGhpcy5lbnRyaWVzW2luZGV4XSA6IHVuZGVmaW5lZDtcbiAgICB9XG5cbiAgICB0aGlzLmVudHJ5Rm9ybSA9IHRoaXMuZmIuZ3JvdXAoe1xuICAgICAgbmFtZTogWycnLCBbVmFsaWRhdG9ycy5yZXF1aXJlZCwgVmFsaWRhdG9ycy5tYXhMZW5ndGgoMTAwKV1dLFxuICAgICAgZW1haWw6IFsnJywgW1ZhbGlkYXRvcnMucmVxdWlyZWQsIFZhbGlkYXRvcnMubWF4TGVuZ3RoKDEwMCksIFZhbGlkYXRvcnMuZW1haWxdXSxcbiAgICAgIHBob25lOiBbJycsIFtWYWxpZGF0b3JzLm1heExlbmd0aCgxMDApXV1cbiAgICB9KTtcblxuICAgIGlmIChlbnRyeSkge1xuICAgICAgdGhpcy5lbnRyeUZvcm0ucGF0Y2hWYWx1ZSh7IG5hbWU6IGVudHJ5Lm5hbWUsIGVtYWlsOiBlbnRyeS5lbWFpbCwgcGhvbmU6IGVudHJ5LnBob25lIH0pO1xuICAgIH1cbiAgICB0aGlzLml0ZW1FZGl0LmVtaXQodHJ1ZSk7XG4gIH1cblxuICBwcml2YXRlIHJlbW92ZUVudHJ5KGluZGV4OiBudW1iZXIpIHtcbiAgICBjb25zdCBlbnRyeSA9IHRoaXMuZW50cmllc1tpbmRleF07XG4gICAgaWYgKCFlbnRyeSkgeyByZXR1cm47IH1cbiAgICB0aGlzLmVudHJpZXMuc3BsaWNlKGluZGV4LCAxKTtcbiAgICB0aGlzLm1vZGUgPSBudWxsO1xuICAgIHRoaXMucHJvcGFnYXRlKCk7XG4gIH1cblxuICBjaGFuZ2VFbnRyeSh7IGluZGV4LCBtb2RlIH06IENoYW5nZU91dHB1dCkge1xuICAgIHRoaXMubW9kZSA9IG1vZGU7XG4gICAgaWYgKG1vZGUgPT09IENoYW5nZU1vZGUuRURJVCkge1xuICAgICAgdGhpcy5zaG93RW50cnlGb3JtKGluZGV4KTtcbiAgICAgIHRoaXMuYWRkVGFyZ2V0SW5kZXggPSBpbmRleDtcbiAgICB9IGVsc2UgaWYgKG1vZGUgPT09IENoYW5nZU1vZGUuREVMRVRFKSB7XG4gICAgICB0aGlzLnJlbW92ZUVudHJ5KGluZGV4KTtcbiAgICB9IGVsc2UgaWYgKG1vZGUgPT09IENoYW5nZU1vZGUuSU5TRVJUICYmICF0aGlzLm1heFNpZ25lcnMpIHtcbiAgICAgIHRoaXMuc2hvd0VudHJ5Rm9ybSgpO1xuICAgICAgdGhpcy5hZGRUYXJnZXRJbmRleCA9IGluZGV4O1xuICAgIH1cbiAgfVxuXG4gIGFkZFNpZ25lcigpIHtcbiAgICBpZiAodGhpcy5lZGl0SW5kZXggIT09IHVuZGVmaW5lZCkge1xuICAgICAgdGhpcy5lbnRyaWVzLnNwbGljZSh0aGlzLmVkaXRJbmRleCwgMSwgdGhpcy5lbnRyeUZvcm0udmFsdWUpO1xuICAgIH0gZWxzZSBpZiAodGhpcy5hZGRUYXJnZXRJbmRleCAhPT0gdW5kZWZpbmVkKSB7XG4gICAgICB0aGlzLmVudHJpZXMuc3BsaWNlKHRoaXMuYWRkVGFyZ2V0SW5kZXgsIDAsIHRoaXMuZW50cnlGb3JtLnZhbHVlKTtcbiAgICB9IGVsc2Uge1xuICAgICAgdGhpcy5lbnRyaWVzLnB1c2godGhpcy5lbnRyeUZvcm0udmFsdWUpO1xuICAgIH1cbiAgICB0aGlzLmhpZGVFbnRyeUZvcm0oKTtcbiAgICB0aGlzLnByb3BhZ2F0ZSgpO1xuICB9XG5cbiAgaGlkZUVudHJ5Rm9ybSgpIHtcbiAgICB0aGlzLmFkZFRhcmdldEluZGV4ID0gdW5kZWZpbmVkO1xuICAgIHRoaXMuZWRpdEluZGV4ID0gdW5kZWZpbmVkO1xuICAgIHRoaXMuZW50cnlGb3JtID0gdW5kZWZpbmVkO1xuICAgIHRoaXMubW9kZSA9IHVuZGVmaW5lZDtcbiAgICB0aGlzLml0ZW1FZGl0LmVtaXQoZmFsc2UpO1xuXG4gICAgc2V0VGltZW91dCgoKSA9PiB0aGlzLmVsUmVmLm5hdGl2ZUVsZW1lbnQucXVlcnlTZWxlY3RvcignI2FkZC1pdGVtICcpPy5mb2N1cygpKTtcbiAgfVxuXG4gIGNhbmNlbCgpIHtcbiAgICB0aGlzLmhpZGVFbnRyeUZvcm0oKTtcbiAgfVxuXG4gIG5nT25Jbml0KCk6IHZvaWQge1xuICAgIHRoaXMuc2hvd0VudHJ5Rm9ybSgpO1xuICB9XG59XG4iLCI8ZGl2IGNsYXNzPVwidG9vbGJhclwiICpuZ0lmPVwiIWVudHJ5Rm9ybTsgZWxzZSB0cGxFbnRyeUZvcm1cIj5cbiAgPGg0Pnt7ICdlby5hY3Rpb24uc2lnbmF0dXJlLnNpZ25lcnMnIHwgdHJhbnNsYXRlIH19PC9oND5cbiAgPGJ1dHRvbiBpZD1cImFkZC1pdGVtXCIgY2xhc3M9XCJhZGQgcHJpbWFyeVwiIChjbGljayk9XCJzaG93RW50cnlGb3JtKClcIiBbZGlzYWJsZWRdPVwibWF4U2lnbmVyc1wiPlxuICAgIDxlby1pY29uIFtpY29uVGl0bGVdPVwiKCdlby5hY3Rpb24uc2lnbmF0dXJlLmFkZC5idXR0b24udG9vbHRpcCcgfCB0cmFuc2xhdGUpXCJcbiAgICAgICAgICAgICBbaWNvblNyY109XCInYXNzZXRzL19kZWZhdWx0L3N2Zy9pY19hZGQuc3ZnJ1wiPlxuICAgIDwvZW8taWNvbj5cbiAgPC9idXR0b24+XG48L2Rpdj5cblxuPGRpdiBjbGFzcz1cImVudHJpZXNcIiBjZGtEcm9wTGlzdCAoY2RrRHJvcExpc3REcm9wcGVkKT1cImRyYWdEcm9wKCRldmVudClcIiBbY2RrRHJvcExpc3REYXRhXT1cImVudHJpZXNcIj5cbiAgPGRpdiBbbmdDbGFzc109XCJ7IGRpc2FibGVkOiAhIWVudHJ5Rm9ybSwgc2luZ2xlOiBlbnRyaWVzLmxlbmd0aCA9PT0gMSB9XCIgY2RrRHJhZyAqbmdGb3I9XCJsZXQgZW50cnkgb2YgZW50cmllczsgbGV0IGkgPSBpbmRleFwiPlxuICAgIDxlby1zZXF1ZW5jZS1saXN0LWl0ZW0gW2luZGV4XT1cImlcIiAoY2hhbmdlRW50cnkpPVwiY2hhbmdlRW50cnkoJGV2ZW50KVwiIFtkaXNhYmxlQWRkXT1cIm1heFNpZ25lcnNcIj5cbiAgICAgIDxuZy10ZW1wbGF0ZSAjY29udGVudD5cbiAgICAgICAgPGRpdiBjbGFzcz1cInNpZ25lci1saXN0LWVudHJ5XCI+XG4gICAgICAgICAgPGRpdiBjbGFzcz1cInNpZ25lci1uYW1lXCIgdGl0bGU9XCJ7e2VudHJ5Lm5hbWV9fVwiPnt7IGVudHJ5Lm5hbWUgfX08L2Rpdj5cbiAgICAgICAgICA8ZGl2IGNsYXNzPVwic2lnbmVyLWVtYWlsXCIgdGl0bGU9XCJ7e2VudHJ5LmVtYWlsfX1cIj57eyBlbnRyeS5lbWFpbCB9fTwvZGl2PlxuICAgICAgICAgIDxkaXYgY2xhc3M9XCJzaWduZXItcGhvbmVcIiAqbmdJZj1cImVudHJ5LnBob25lXCIgdGl0bGU9XCJ7e2VudHJ5LnBob25lfX1cIj57eyBlbnRyeS5waG9uZSB9fTwvZGl2PlxuICAgICAgICA8L2Rpdj5cbiAgICAgIDwvbmctdGVtcGxhdGU+XG4gICAgPC9lby1zZXF1ZW5jZS1saXN0LWl0ZW0+XG4gIDwvZGl2PlxuPC9kaXY+XG5cbjxuZy10ZW1wbGF0ZSAjdHBsRW50cnlGb3JtPlxuICA8Zm9ybSBjbGFzcz1cImVudHJ5Rm9ybVwiIFtmb3JtR3JvdXBdPVwiZW50cnlGb3JtXCIgKG5nU3VibWl0KT1cImFkZFNpZ25lcigpXCI+XG4gICAgPGRpdiBjbGFzcz1cImZvcm0tYm9keVwiPlxuICAgICAgPGVvLWZvcm0taW5wdXRcbiAgICAgICAgY2xhc3M9XCJuYW1lXCJcbiAgICAgICAgW2ludmFsaWRdPVwiZW50cnlGb3JtLmdldCgnbmFtZScpLmRpcnR5ICYmIGVudHJ5Rm9ybS5nZXQoJ25hbWUnKS5pbnZhbGlkXCJcbiAgICAgICAgW3NraXBUb2dnbGVdPVwidHJ1ZVwiXG4gICAgICAgIFtsYWJlbF09XCInZW8uYWN0aW9uLnNpZ25hdHVyZS55dXZzaWduZXJzLnl1dnNpZ25lcm5hbWUnIHwgdHJhbnNsYXRlXCJcbiAgICAgICAgW3JlcXVpcmVkXT1cInRydWVcIlxuICAgICAgPlxuICAgICAgICA8ZW8tc3RyaW5nIG1heExlbmd0aD1cIjEwMFwiIFtxbmFtZV09XCIneXV2c2lnbmluZy55dXZzaWduZXJzLnl1dnNpZ25lcm5hbWUnXCIgW2F1dG9jb21wbGV0ZV09XCJ0cnVlXCIgW2F1dG9mb2N1c109XCJ0cnVlXCIgZm9ybUNvbnRyb2xOYW1lPVwibmFtZVwiPjwvZW8tc3RyaW5nPlxuICAgICAgPC9lby1mb3JtLWlucHV0PlxuXG4gICAgICA8ZW8tZm9ybS1pbnB1dFxuICAgICAgICBjbGFzcz1cInRhc2tcIlxuICAgICAgICBbaW52YWxpZF09XCJlbnRyeUZvcm0uZ2V0KCdlbWFpbCcpLmRpcnR5ICYmIGVudHJ5Rm9ybS5nZXQoJ2VtYWlsJykuaW52YWxpZFwiXG4gICAgICAgIFtza2lwVG9nZ2xlXT1cInRydWVcIlxuICAgICAgICBbbGFiZWxdPVwiJ2VvLmFjdGlvbi5zaWduYXR1cmUueXV2c2lnbmVycy55dXZzaWduZXJlbWFpbCcgfCB0cmFuc2xhdGVcIlxuICAgICAgICBbcmVxdWlyZWRdPVwidHJ1ZVwiXG4gICAgICA+XG4gICAgICAgIDxlby1zdHJpbmcgbWF4TGVuZ3RoPVwiMTAwXCIgW3FuYW1lXT1cIid5dXZzaWduaW5nLnl1dnNpZ25lcnMueXV2c2lnbmVyZW1haWwnXCIgW2F1dG9jb21wbGV0ZV09XCJ0cnVlXCIgZm9ybUNvbnRyb2xOYW1lPVwiZW1haWxcIj48L2VvLXN0cmluZz5cbiAgICAgIDwvZW8tZm9ybS1pbnB1dD5cbiAgICAgIDxzbWFsbCBjbGFzcz1cImVycm9yc1wiICpuZ0lmPVwiZW50cnlGb3JtLmdldCgnZW1haWwnKS5oYXNFcnJvcignZW1haWwnKVwiIHRyYW5zbGF0ZT5lby5mb3JtLnByb3BlcnR5LnN0cmluZy5lcnJvci5jbGFzc2lmaWNhdGlvbi5lbWFpbDwvc21hbGw+XG4gICAgICA8ZW8tZm9ybS1pbnB1dFxuICAgICAgICBjbGFzcz1cInRhc2tcIlxuICAgICAgICAqbmdJZj1cInBob25lUmVxdWlyZWRcIlxuICAgICAgICBbaW52YWxpZF09XCJlbnRyeUZvcm0uZ2V0KCdwaG9uZScpLmRpcnR5ICYmIGVudHJ5Rm9ybS5nZXQoJ3Bob25lJykuaW52YWxpZFwiXG4gICAgICAgIFtza2lwVG9nZ2xlXT1cInRydWVcIlxuICAgICAgICBbbGFiZWxdPVwiJ2VvLmFjdGlvbi5zaWduYXR1cmUueXV2c2lnbmVycy55dXZzaWduZXJwaG9uZScgfCB0cmFuc2xhdGVcIlxuICAgICAgICBbcmVxdWlyZWRdPVwidHJ1ZVwiXG4gICAgICA+XG4gICAgICAgIDxlby1zdHJpbmcgbWF4TGVuZ3RoPVwiMTAwXCIgW3FuYW1lXT1cIid5dXZzaWduaW5nLnl1dnNpZ25lcnMueXV2c2lnbmVycGhvbmUnXCIgZm9ybUNvbnRyb2xOYW1lPVwicGhvbmVcIj4gPC9lby1zdHJpbmc+XG4gICAgICA8L2VvLWZvcm0taW5wdXQ+XG4gICAgPC9kaXY+XG4gICAgPGZvb3RlciBjbGFzcz1cImZvb3Rlci1hY3Rpb25cIj5cbiAgICAgIDxidXR0b24gY2xhc3M9XCJzZWNvbmRhcnlcIiB0eXBlPVwiYnV0dG9uXCIgKGNsaWNrKT1cImNhbmNlbCgpXCIgdHJhbnNsYXRlPmVvLmFjdGlvbi5zaWduYXR1cmUuY2FuY2VsPC9idXR0b24+XG4gICAgICA8bmctY29udGFpbmVyIFtuZ1N3aXRjaF09XCJtb2RlXCI+XG4gICAgICAgIDxidXR0b24gKm5nU3dpdGNoQ2FzZT1cIidlZGl0J1wiIGNsYXNzPVwicHJpbWFyeVwiIFtkaXNhYmxlZF09XCJlbnRyeUZvcm0uaW52YWxpZCB8fCBlbnRyeUZvcm0ucHJpc3RpbmVcIiB0eXBlPVwic3VibWl0XCIgdHJhbnNsYXRlPmVvLmFjdGlvbi5zaWduYXR1cmUuZWRpdFNpZ25lcjwvYnV0dG9uPlxuICAgICAgICA8YnV0dG9uICpuZ1N3aXRjaERlZmF1bHQgY2xhc3M9XCJwcmltYXJ5XCIgW2Rpc2FibGVkXT1cImVudHJ5Rm9ybS5pbnZhbGlkXCIgdHlwZT1cInN1Ym1pdFwiIHRyYW5zbGF0ZT5lby5hY3Rpb24uc2lnbmF0dXJlLmFkZFNpZ25lcjwvYnV0dG9uPlxuICAgICAgPC9uZy1jb250YWluZXI+XG4gICAgPC9mb290ZXI+XG4gIDwvZm9ybT5cbjwvbmctdGVtcGxhdGU+XG4iXX0=
|
|
184
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VxdWVuY2UtbGlzdC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9zcmMvYXBwL2VvLWZyYW1ld29yay9hY3Rpb25zL2FjdGlvbnMvc2lnbmF0dXJlLWFjdGlvbi9zZXF1ZW5jZS1saXN0L3NlcXVlbmNlLWxpc3QuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vc3JjL2FwcC9lby1mcmFtZXdvcmsvYWN0aW9ucy9hY3Rpb25zL3NpZ25hdHVyZS1hY3Rpb24vc2VxdWVuY2UtbGlzdC9zZXF1ZW5jZS1saXN0LmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBZSxlQUFlLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQztBQUN0RSxPQUFPLEVBQUMsU0FBUyxFQUFFLFNBQVMsRUFBYyxZQUFZLEVBQUUsVUFBVSxFQUFFLFlBQVksRUFBRSxLQUFLLEVBQVUsTUFBTSxFQUFDLE1BQU0sZUFBZSxDQUFDO0FBQzlILE9BQU8sRUFBaUUsYUFBYSxFQUFFLGlCQUFpQixFQUErQixVQUFVLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUMxSyxPQUFPLEVBQUMsVUFBVSxFQUF1QixNQUFNLG9CQUFvQixDQUFDOzs7Ozs7Ozs7OztBQXVCcEUsTUFBTSxPQUFPLHFCQUFxQjtJQWNoQyxrQkFBa0IsQ0FBQyxLQUFvQjtRQUNyQyxJQUFJLENBQUMsYUFBYSxFQUFFLENBQUM7UUFDckIsS0FBSyxDQUFDLGNBQWMsRUFBRSxDQUFDO1FBQ3ZCLEtBQUssQ0FBQyxlQUFlLEVBQUUsQ0FBQztJQUMxQixDQUFDO0lBR0QsbUJBQW1CLENBQUMsS0FBb0I7UUFDdEMsSUFBSSxJQUFJLENBQUMsU0FBUyxFQUFFLEtBQUssSUFBSSxJQUFJLENBQUMsU0FBUyxDQUFDLEtBQUssRUFBRTtZQUNqRCxJQUFJLENBQUMsU0FBUyxFQUFFLENBQUM7WUFDakIsS0FBSyxDQUFDLGNBQWMsRUFBRSxDQUFDO1lBQ3ZCLEtBQUssQ0FBQyxlQUFlLEVBQUUsQ0FBQztTQUN6QjtJQUNILENBQUM7SUFHRCxhQUFhLENBQUMsS0FBb0I7UUFDaEMsSUFBSSxJQUFJLENBQUMsU0FBUyxFQUFFO1lBQ2xCLElBQUksQ0FBQyxhQUFhLEVBQUUsQ0FBQztZQUNyQixLQUFLLENBQUMsY0FBYyxFQUFFLENBQUM7WUFDdkIsS0FBSyxDQUFDLGVBQWUsRUFBRSxDQUFDO1NBQ3pCO0lBQ0gsQ0FBQztJQUVELElBQUksVUFBVTtRQUNaLE9BQU8sSUFBSSxDQUFDLE9BQU8sQ0FBQyxNQUFNLEtBQUssSUFBSSxDQUFDLFdBQVcsQ0FBQztJQUNsRCxDQUFDO0lBRUQsWUFBMkMsUUFBZ0IsRUFDeEMsS0FBaUIsRUFDakIsRUFBZSxFQUNmLFNBQTJCO1FBSEgsYUFBUSxHQUFSLFFBQVEsQ0FBUTtRQUN4QyxVQUFLLEdBQUwsS0FBSyxDQUFZO1FBQ2pCLE9BQUUsR0FBRixFQUFFLENBQWE7UUFDZixjQUFTLEdBQVQsU0FBUyxDQUFrQjtRQTNDOUMsWUFBTyxHQUFhLEVBQUUsQ0FBQztRQUd2QixvQkFBZSxHQUFHLEVBQUUsR0FBRyxFQUFFLEdBQUcsRUFBRSxHQUFHLEVBQUUsQ0FBQyxFQUFFLENBQUM7UUFDdkMsZUFBVSxHQUFHLFVBQVUsQ0FBQztRQUtkLGFBQVEsR0FBRyxJQUFJLFlBQVksRUFBVyxDQUFDO1FBb0NqRCxvQkFBZSxHQUFHLENBQUMsQ0FBTSxFQUFFLEVBQUUsR0FBRSxDQUFDLENBQUM7SUFGZ0IsQ0FBQztJQUkxQyxTQUFTO1FBQ2YsSUFBSSxDQUFDLGVBQWUsQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLENBQUM7SUFDckMsQ0FBQztJQUVELFVBQVUsQ0FBQyxLQUFlO1FBQ3hCLElBQUksQ0FBQyxPQUFPLEdBQUcsS0FBSyxJQUFJLEVBQUUsQ0FBQztJQUM3QixDQUFDO0lBRUQsZ0JBQWdCLENBQUMsRUFBTztRQUN0QixJQUFJLENBQUMsZUFBZSxHQUFHLEVBQUUsQ0FBQztJQUM1QixDQUFDO0lBRUQsaUJBQWlCLENBQUMsRUFBTyxJQUFTLENBQUM7SUFFbkMsUUFBUSxDQUFDLE9BQXdCO1FBQy9CLE9BQU8sSUFBSSxDQUFDLFNBQVMsRUFBRSxLQUFLLENBQUMsQ0FBQyxDQUFDLEVBQUUsV0FBVyxFQUFFLEVBQUUsT0FBTyxFQUFFLElBQUksRUFBRSxFQUFFLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQztJQUMzRSxDQUFDO0lBRUQsUUFBUSxDQUFDLEtBQTRCO1FBQ25DLGVBQWUsQ0FBQyxJQUFJLENBQUMsT0FBTyxFQUFFLEtBQUssQ0FBQyxhQUFhLEVBQUUsS0FBSyxDQUFDLFlBQVksQ0FBQyxDQUFDO1FBQ3ZFLElBQUksQ0FBQyxTQUFTLEVBQUUsQ0FBQztJQUNuQixDQUFDO0lBRUQsYUFBYSxDQUFDLEtBQWMsRUFBRSxVQUFvQjtRQUNoRCxJQUFJLEtBQUssQ0FBQztRQUNWLElBQUksVUFBVSxFQUFFO1lBQ2QsSUFBSSxDQUFDLGNBQWMsR0FBRyxLQUFLLENBQUM7U0FDN0I7YUFBTTtZQUNMLElBQUksQ0FBQyxTQUFTLEdBQUcsS0FBSyxDQUFDO1lBQ3ZCLEtBQUssR0FBRyxLQUFLLEtBQUssU0FBUyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxTQUFTLENBQUM7U0FDL0Q7UUFFRCxJQUFJLENBQUMsU0FBUyxHQUFHLElBQUksQ0FBQyxFQUFFLENBQUMsS0FBSyxDQUFDO1lBQzdCLElBQUksRUFBRSxDQUFDLEVBQUUsRUFBRSxDQUFDLFVBQVUsQ0FBQyxRQUFRLEVBQUUsVUFBVSxDQUFDLFNBQVMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDO1lBQzVELEtBQUssRUFBRSxDQUFDLEVBQUUsRUFBRSxDQUFDLFVBQVUsQ0FBQyxRQUFRLEVBQUUsVUFBVSxDQUFDLFNBQVMsQ0FBQyxHQUFHLENBQUMsRUFBRSxVQUFVLENBQUMsS0FBSyxDQUFDLENBQUM7WUFDL0UsS0FBSyxFQUFFLENBQUMsRUFBRSxFQUFFLENBQUMsVUFBVSxDQUFDLFNBQVMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDO1NBQ3pDLENBQUMsQ0FBQztRQUVILElBQUksS0FBSyxFQUFFO1lBQ1QsSUFBSSxDQUFDLFNBQVMsQ0FBQyxVQUFVLENBQUMsRUFBRSxJQUFJLEVBQUUsS0FBSyxDQUFDLElBQUksRUFBRSxLQUFLLEVBQUUsS0FBSyxDQUFDLEtBQUssRUFBRSxLQUFLLEVBQUUsS0FBSyxDQUFDLEtBQUssRUFBRSxDQUFDLENBQUM7U0FDekY7UUFDRCxJQUFJLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQztJQUMzQixDQUFDO0lBRU8sV0FBVyxDQUFDLEtBQWE7UUFDL0IsTUFBTSxLQUFLLEdBQUcsSUFBSSxDQUFDLE9BQU8sQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUNsQyxJQUFJLENBQUMsS0FBSyxFQUFFO1lBQUUsT0FBTztTQUFFO1FBQ3ZCLElBQUksQ0FBQyxPQUFPLENBQUMsTUFBTSxDQUFDLEtBQUssRUFBRSxDQUFDLENBQUMsQ0FBQztRQUM5QixJQUFJLENBQUMsSUFBSSxHQUFHLElBQUksQ0FBQztRQUNqQixJQUFJLENBQUMsU0FBUyxFQUFFLENBQUM7SUFDbkIsQ0FBQztJQUVELFdBQVcsQ0FBQyxFQUFFLEtBQUssRUFBRSxJQUFJLEVBQWdCO1FBQ3ZDLElBQUksQ0FBQyxJQUFJLEdBQUcsSUFBSSxDQUFDO1FBQ2pCLElBQUksSUFBSSxLQUFLLFVBQVUsQ0FBQyxJQUFJLEVBQUU7WUFDNUIsSUFBSSxDQUFDLGFBQWEsQ0FBQyxLQUFLLENBQUMsQ0FBQztZQUMxQixJQUFJLENBQUMsY0FBYyxHQUFHLEtBQUssQ0FBQztTQUM3QjthQUFNLElBQUksSUFBSSxLQUFLLFVBQVUsQ0FBQyxNQUFNLEVBQUU7WUFDckMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxLQUFLLENBQUMsQ0FBQztTQUN6QjthQUFNLElBQUksSUFBSSxLQUFLLFVBQVUsQ0FBQyxNQUFNLElBQUksQ0FBQyxJQUFJLENBQUMsVUFBVSxFQUFFO1lBQ3pELElBQUksQ0FBQyxhQUFhLEVBQUUsQ0FBQztZQUNyQixJQUFJLENBQUMsY0FBYyxHQUFHLEtBQUssQ0FBQztTQUM3QjtJQUNILENBQUM7SUFFRCxTQUFTO1FBQ1AsSUFBSSxJQUFJLENBQUMsU0FBUyxLQUFLLFNBQVMsRUFBRTtZQUNoQyxJQUFJLENBQUMsT0FBTyxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsU0FBUyxFQUFFLENBQUMsRUFBRSxJQUFJLENBQUMsU0FBUyxDQUFDLEtBQUssQ0FBQyxDQUFDO1NBQzlEO2FBQU0sSUFBSSxJQUFJLENBQUMsY0FBYyxLQUFLLFNBQVMsRUFBRTtZQUM1QyxJQUFJLENBQUMsT0FBTyxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsY0FBYyxFQUFFLENBQUMsRUFBRSxJQUFJLENBQUMsU0FBUyxDQUFDLEtBQUssQ0FBQyxDQUFDO1NBQ25FO2FBQU07WUFDTCxJQUFJLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLEtBQUssQ0FBQyxDQUFDO1NBQ3pDO1FBQ0QsSUFBSSxDQUFDLGFBQWEsRUFBRSxDQUFDO1FBQ3JCLElBQUksQ0FBQyxTQUFTLEVBQUUsQ0FBQztJQUNuQixDQUFDO0lBRUQsYUFBYTtRQUNYLElBQUksQ0FBQyxjQUFjLEdBQUcsU0FBUyxDQUFDO1FBQ2hDLElBQUksQ0FBQyxTQUFTLEdBQUcsU0FBUyxDQUFDO1FBQzNCLElBQUksQ0FBQyxTQUFTLEdBQUcsU0FBUyxDQUFDO1FBQzNCLElBQUksQ0FBQyxJQUFJLEdBQUcsU0FBUyxDQUFDO1FBQ3RCLElBQUksQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBRTFCLFVBQVUsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLGFBQWEsQ0FBQyxhQUFhLENBQUMsWUFBWSxDQUFDLEVBQUUsS0FBSyxFQUFFLENBQUMsQ0FBQztJQUNsRixDQUFDO0lBRUQsTUFBTTtRQUNKLElBQUksQ0FBQyxhQUFhLEVBQUUsQ0FBQztJQUN2QixDQUFDO0lBRUQsUUFBUTtRQUNOLElBQUksQ0FBQyxhQUFhLEVBQUUsQ0FBQztJQUN2QixDQUFDOztrSEE5SVUscUJBQXFCLGtCQTBDVCxXQUFXO3NHQTFDdkIscUJBQXFCLDhWQWhCckI7UUFDVDtZQUNFLE9BQU8sRUFBRSxpQkFBaUI7WUFDMUIsV0FBVyxFQUFFLFVBQVUsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxxQkFBcUIsQ0FBQztZQUNwRCxLQUFLLEVBQUUsSUFBSTtTQUNaO1FBQ0Q7WUFDRSxPQUFPLEVBQUUsYUFBYTtZQUN0QixXQUFXLEVBQUUsVUFBVSxDQUFDLEdBQUcsRUFBRSxDQUFDLHFCQUFxQixDQUFDO1lBQ3BELEtBQUssRUFBRSxJQUFJO1NBQ1o7S0FDRiwwQkNyQkgsb2hJQXVFQTsyRkQ3Q2EscUJBQXFCO2tCQXBCakMsU0FBUzsrQkFDRSxrQkFBa0IsYUFHakI7d0JBQ1Q7NEJBQ0UsT0FBTyxFQUFFLGlCQUFpQjs0QkFDMUIsV0FBVyxFQUFFLFVBQVUsQ0FBQyxHQUFHLEVBQUUsc0JBQXNCLENBQUM7NEJBQ3BELEtBQUssRUFBRSxJQUFJO3lCQUNaO3dCQUNEOzRCQUNFLE9BQU8sRUFBRSxhQUFhOzRCQUN0QixXQUFXLEVBQUUsVUFBVSxDQUFDLEdBQUcsRUFBRSxzQkFBc0IsQ0FBQzs0QkFDcEQsS0FBSyxFQUFFLElBQUk7eUJBQ1o7cUJBQ0YsUUFDSzt3QkFDSixRQUFRLEVBQUUsR0FBRztxQkFDZDs7MEJBNENZLFNBQVM7MkJBQUMsV0FBVzs4SEFqQ3pCLFdBQVc7c0JBQW5CLEtBQUs7Z0JBQ0csYUFBYTtzQkFBckIsS0FBSztnQkFDSSxRQUFRO3NCQUFqQixNQUFNO2dCQUdQLGtCQUFrQjtzQkFEakIsWUFBWTt1QkFBQyxtQkFBbUIsRUFBRSxDQUFDLFFBQVEsQ0FBQztnQkFRN0MsbUJBQW1CO3NCQURsQixZQUFZO3VCQUFDLGVBQWUsRUFBRSxDQUFDLFFBQVEsQ0FBQztnQkFVekMsYUFBYTtzQkFEWixZQUFZO3VCQUFDLGdCQUFnQixFQUFFLENBQUMsUUFBUSxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ2RrRHJhZ0Ryb3AsIG1vdmVJdGVtSW5BcnJheSB9IGZyb20gJ0Bhbmd1bGFyL2Nkay9kcmFnLWRyb3AnO1xuaW1wb3J0IHtBdHRyaWJ1dGUsIENvbXBvbmVudCwgRWxlbWVudFJlZiwgRXZlbnRFbWl0dGVyLCBmb3J3YXJkUmVmLCBIb3N0TGlzdGVuZXIsIElucHV0LCBPbkluaXQsIE91dHB1dH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBBYnN0cmFjdENvbnRyb2wsIENvbnRyb2xWYWx1ZUFjY2Vzc29yLCBGb3JtQnVpbGRlciwgRm9ybUdyb3VwLCBOR19WQUxJREFUT1JTLCBOR19WQUxVRV9BQ0NFU1NPUiwgVmFsaWRhdGlvbkVycm9ycywgVmFsaWRhdG9yLCBWYWxpZGF0b3JzIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuaW1wb3J0IHtDaGFuZ2VNb2RlLCBDaGFuZ2VPdXRwdXQsIFNpZ25lcn0gZnJvbSAnLi4vc2lnbmF0dXJlLm1vZGVsJztcbmltcG9ydCB7VHJhbnNsYXRlU2VydmljZX0gZnJvbSAnQGVvLXNkay9jb3JlJztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnZW8tc2VxdWVuY2UtbGlzdCcsXG4gIHRlbXBsYXRlVXJsOiAnLi9zZXF1ZW5jZS1saXN0LmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJy4vc2VxdWVuY2UtbGlzdC5jb21wb25lbnQuc2NzcyddLFxuICBwcm92aWRlcnM6IFtcbiAgICB7XG4gICAgICBwcm92aWRlOiBOR19WQUxVRV9BQ0NFU1NPUixcbiAgICAgIHVzZUV4aXN0aW5nOiBmb3J3YXJkUmVmKCgpID0+IFNlcXVlbmNlTGlzdENvbXBvbmVudCksXG4gICAgICBtdWx0aTogdHJ1ZVxuICAgIH0sXG4gICAge1xuICAgICAgcHJvdmlkZTogTkdfVkFMSURBVE9SUyxcbiAgICAgIHVzZUV4aXN0aW5nOiBmb3J3YXJkUmVmKCgpID0+IFNlcXVlbmNlTGlzdENvbXBvbmVudCksXG4gICAgICBtdWx0aTogdHJ1ZVxuICAgIH1cbiAgXSxcbiAgaG9zdDoge1xuICAgIHRhYmluZGV4OiAnMCdcbiAgfVxufSlcbmV4cG9ydCBjbGFzcyBTZXF1ZW5jZUxpc3RDb21wb25lbnQgaW1wbGVtZW50cyBDb250cm9sVmFsdWVBY2Nlc3NvciwgVmFsaWRhdG9yLCBPbkluaXQge1xuICBlbnRyeUZvcm06IEZvcm1Hcm91cDtcbiAgZW50cmllczogU2lnbmVyW10gPSBbXTtcbiAgZWRpdEluZGV4OiBudW1iZXI7XG4gIGFkZFRhcmdldEluZGV4OiBudW1iZXI7XG4gIGxlbmd0aFZhbGlkYXRvciA9IHsgbWF4OiAxMDAsIG1pbjogMyB9O1xuICBjaGFuZ2VNb2RlID0gQ2hhbmdlTW9kZTtcbiAgbW9kZTogQ2hhbmdlTW9kZTtcblxuICBASW5wdXQoKSBNQVhfU0lHTkVSUzogbnVtYmVyO1xuICBASW5wdXQoKSBwaG9uZVJlcXVpcmVkOiBib29sZWFuO1xuICBAT3V0cHV0KCkgaXRlbUVkaXQgPSBuZXcgRXZlbnRFbWl0dGVyPGJvb2xlYW4+KCk7XG5cbiAgQEhvc3RMaXN0ZW5lcigna2V5ZG93bi5jb250cm9sLisnLCBbJyRldmVudCddKVxuICBjb250cm9sUGx1c0hhbmRsZXIoZXZlbnQ6IEtleWJvYXJkRXZlbnQpIHtcbiAgICB0aGlzLnNob3dFbnRyeUZvcm0oKTtcbiAgICBldmVudC5wcmV2ZW50RGVmYXVsdCgpO1xuICAgIGV2ZW50LnN0b3BQcm9wYWdhdGlvbigpO1xuICB9XG5cbiAgQEhvc3RMaXN0ZW5lcigna2V5ZG93bi5lbnRlcicsIFsnJGV2ZW50J10pXG4gIGNvbnRyb2xFbnRlckhhbmRsZXIoZXZlbnQ6IEtleWJvYXJkRXZlbnQpIHtcbiAgICBpZiAodGhpcy5lbnRyeUZvcm0/LmRpcnR5ICYmIHRoaXMuZW50cnlGb3JtLnZhbGlkKSB7XG4gICAgICB0aGlzLmFkZFNpZ25lcigpO1xuICAgICAgZXZlbnQucHJldmVudERlZmF1bHQoKTtcbiAgICAgIGV2ZW50LnN0b3BQcm9wYWdhdGlvbigpO1xuICAgIH1cbiAgfVxuXG4gIEBIb3N0TGlzdGVuZXIoJ2tleWRvd24uZXNjYXBlJywgWyckZXZlbnQnXSlcbiAgZXNjYXBlSGFuZGxlcihldmVudDogS2V5Ym9hcmRFdmVudCkge1xuICAgIGlmICh0aGlzLmVudHJ5Rm9ybSkge1xuICAgICAgdGhpcy5oaWRlRW50cnlGb3JtKCk7XG4gICAgICBldmVudC5wcmV2ZW50RGVmYXVsdCgpO1xuICAgICAgZXZlbnQuc3RvcFByb3BhZ2F0aW9uKCk7XG4gICAgfVxuICB9XG5cbiAgZ2V0IG1heFNpZ25lcnMoKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIHRoaXMuZW50cmllcy5sZW5ndGggPT09IHRoaXMuTUFYX1NJR05FUlM7XG4gIH1cblxuICBjb25zdHJ1Y3RvcihAQXR0cmlidXRlKCdmb3JtLW9wZW4nKSBwdWJsaWMgZm9ybU9wZW46IHN0cmluZyxcbiAgICAgICAgICAgICAgcHVibGljIGVsUmVmOiBFbGVtZW50UmVmLFxuICAgICAgICAgICAgICBwdWJsaWMgZmI6IEZvcm1CdWlsZGVyLFxuICAgICAgICAgICAgICBwdWJsaWMgdHJhbnNsYXRlOiBUcmFuc2xhdGVTZXJ2aWNlKSB7fVxuXG4gIHByb3BhZ2F0ZUNoYW5nZSA9IChfOiBhbnkpID0+IHt9O1xuXG4gIHByaXZhdGUgcHJvcGFnYXRlKCkge1xuICAgIHRoaXMucHJvcGFnYXRlQ2hhbmdlKHRoaXMuZW50cmllcyk7XG4gIH1cblxuICB3cml0ZVZhbHVlKHZhbHVlOiBTaWduZXJbXSk6IHZvaWQge1xuICAgIHRoaXMuZW50cmllcyA9IHZhbHVlIHx8IFtdO1xuICB9XG5cbiAgcmVnaXN0ZXJPbkNoYW5nZShmbjogYW55KTogdm9pZCB7XG4gICAgdGhpcy5wcm9wYWdhdGVDaGFuZ2UgPSBmbjtcbiAgfVxuXG4gIHJlZ2lzdGVyT25Ub3VjaGVkKGZuOiBhbnkpOiB2b2lkIHt9XG5cbiAgdmFsaWRhdGUoY29udHJvbDogQWJzdHJhY3RDb250cm9sKTogVmFsaWRhdGlvbkVycm9ycyB8IG51bGwge1xuICAgIHJldHVybiB0aGlzLmVudHJ5Rm9ybT8uZGlydHkgPyB7IHJvdXRpbmdsaXN0OiB7IHBlbmRpbmc6IHRydWUgfSB9IDogbnVsbDtcbiAgfVxuXG4gIGRyYWdEcm9wKGV2ZW50OiBDZGtEcmFnRHJvcDxzdHJpbmdbXT4pIHtcbiAgICBtb3ZlSXRlbUluQXJyYXkodGhpcy5lbnRyaWVzLCBldmVudC5wcmV2aW91c0luZGV4LCBldmVudC5jdXJyZW50SW5kZXgpO1xuICAgIHRoaXMucHJvcGFnYXRlKCk7XG4gIH1cblxuICBzaG93RW50cnlGb3JtKGluZGV4PzogbnVtYmVyLCBhZGRBdEluZGV4PzogYm9vbGVhbikge1xuICAgIGxldCBlbnRyeTtcbiAgICBpZiAoYWRkQXRJbmRleCkge1xuICAgICAgdGhpcy5hZGRUYXJnZXRJbmRleCA9IGluZGV4O1xuICAgIH0gZWxzZSB7XG4gICAgICB0aGlzLmVkaXRJbmRleCA9IGluZGV4O1xuICAgICAgZW50cnkgPSBpbmRleCAhPT0gdW5kZWZpbmVkID8gdGhpcy5lbnRyaWVzW2luZGV4XSA6IHVuZGVmaW5lZDtcbiAgICB9XG5cbiAgICB0aGlzLmVudHJ5Rm9ybSA9IHRoaXMuZmIuZ3JvdXAoe1xuICAgICAgbmFtZTogWycnLCBbVmFsaWRhdG9ycy5yZXF1aXJlZCwgVmFsaWRhdG9ycy5tYXhMZW5ndGgoMTAwKV1dLFxuICAgICAgZW1haWw6IFsnJywgW1ZhbGlkYXRvcnMucmVxdWlyZWQsIFZhbGlkYXRvcnMubWF4TGVuZ3RoKDEwMCksIFZhbGlkYXRvcnMuZW1haWxdXSxcbiAgICAgIHBob25lOiBbJycsIFtWYWxpZGF0b3JzLm1heExlbmd0aCgxMDApXV1cbiAgICB9KTtcblxuICAgIGlmIChlbnRyeSkge1xuICAgICAgdGhpcy5lbnRyeUZvcm0ucGF0Y2hWYWx1ZSh7IG5hbWU6IGVudHJ5Lm5hbWUsIGVtYWlsOiBlbnRyeS5lbWFpbCwgcGhvbmU6IGVudHJ5LnBob25lIH0pO1xuICAgIH1cbiAgICB0aGlzLml0ZW1FZGl0LmVtaXQodHJ1ZSk7XG4gIH1cblxuICBwcml2YXRlIHJlbW92ZUVudHJ5KGluZGV4OiBudW1iZXIpIHtcbiAgICBjb25zdCBlbnRyeSA9IHRoaXMuZW50cmllc1tpbmRleF07XG4gICAgaWYgKCFlbnRyeSkgeyByZXR1cm47IH1cbiAgICB0aGlzLmVudHJpZXMuc3BsaWNlKGluZGV4LCAxKTtcbiAgICB0aGlzLm1vZGUgPSBudWxsO1xuICAgIHRoaXMucHJvcGFnYXRlKCk7XG4gIH1cblxuICBjaGFuZ2VFbnRyeSh7IGluZGV4LCBtb2RlIH06IENoYW5nZU91dHB1dCkge1xuICAgIHRoaXMubW9kZSA9IG1vZGU7XG4gICAgaWYgKG1vZGUgPT09IENoYW5nZU1vZGUuRURJVCkge1xuICAgICAgdGhpcy5zaG93RW50cnlGb3JtKGluZGV4KTtcbiAgICAgIHRoaXMuYWRkVGFyZ2V0SW5kZXggPSBpbmRleDtcbiAgICB9IGVsc2UgaWYgKG1vZGUgPT09IENoYW5nZU1vZGUuREVMRVRFKSB7XG4gICAgICB0aGlzLnJlbW92ZUVudHJ5KGluZGV4KTtcbiAgICB9IGVsc2UgaWYgKG1vZGUgPT09IENoYW5nZU1vZGUuSU5TRVJUICYmICF0aGlzLm1heFNpZ25lcnMpIHtcbiAgICAgIHRoaXMuc2hvd0VudHJ5Rm9ybSgpO1xuICAgICAgdGhpcy5hZGRUYXJnZXRJbmRleCA9IGluZGV4O1xuICAgIH1cbiAgfVxuXG4gIGFkZFNpZ25lcigpIHtcbiAgICBpZiAodGhpcy5lZGl0SW5kZXggIT09IHVuZGVmaW5lZCkge1xuICAgICAgdGhpcy5lbnRyaWVzLnNwbGljZSh0aGlzLmVkaXRJbmRleCwgMSwgdGhpcy5lbnRyeUZvcm0udmFsdWUpO1xuICAgIH0gZWxzZSBpZiAodGhpcy5hZGRUYXJnZXRJbmRleCAhPT0gdW5kZWZpbmVkKSB7XG4gICAgICB0aGlzLmVudHJpZXMuc3BsaWNlKHRoaXMuYWRkVGFyZ2V0SW5kZXgsIDAsIHRoaXMuZW50cnlGb3JtLnZhbHVlKTtcbiAgICB9IGVsc2Uge1xuICAgICAgdGhpcy5lbnRyaWVzLnB1c2godGhpcy5lbnRyeUZvcm0udmFsdWUpO1xuICAgIH1cbiAgICB0aGlzLmhpZGVFbnRyeUZvcm0oKTtcbiAgICB0aGlzLnByb3BhZ2F0ZSgpO1xuICB9XG5cbiAgaGlkZUVudHJ5Rm9ybSgpIHtcbiAgICB0aGlzLmFkZFRhcmdldEluZGV4ID0gdW5kZWZpbmVkO1xuICAgIHRoaXMuZWRpdEluZGV4ID0gdW5kZWZpbmVkO1xuICAgIHRoaXMuZW50cnlGb3JtID0gdW5kZWZpbmVkO1xuICAgIHRoaXMubW9kZSA9IHVuZGVmaW5lZDtcbiAgICB0aGlzLml0ZW1FZGl0LmVtaXQoZmFsc2UpO1xuXG4gICAgc2V0VGltZW91dCgoKSA9PiB0aGlzLmVsUmVmLm5hdGl2ZUVsZW1lbnQucXVlcnlTZWxlY3RvcignI2FkZC1pdGVtICcpPy5mb2N1cygpKTtcbiAgfVxuXG4gIGNhbmNlbCgpIHtcbiAgICB0aGlzLmhpZGVFbnRyeUZvcm0oKTtcbiAgfVxuXG4gIG5nT25Jbml0KCk6IHZvaWQge1xuICAgIHRoaXMuc2hvd0VudHJ5Rm9ybSgpO1xuICB9XG59XG4iLCI8ZGl2IGNsYXNzPVwidG9vbGJhclwiICpuZ0lmPVwiIWVudHJ5Rm9ybTsgZWxzZSB0cGxFbnRyeUZvcm1cIj5cbiAgPGg0Pnt7ICdlby5hY3Rpb24uc2lnbmF0dXJlLnNpZ25lcnMnIHwgdHJhbnNsYXRlIH19PC9oND5cbiAgPGJ1dHRvbiBpZD1cImFkZC1pdGVtXCIgY2xhc3M9XCJhZGQgcHJpbWFyeVwiIChjbGljayk9XCJzaG93RW50cnlGb3JtKClcIiBbZGlzYWJsZWRdPVwibWF4U2lnbmVyc1wiPlxuICAgIDxlby1pY29uIFtpY29uVGl0bGVdPVwiKCdlby5hY3Rpb24uc2lnbmF0dXJlLmFkZC5idXR0b24udG9vbHRpcCcgfCB0cmFuc2xhdGUpXCJcbiAgICAgICAgICAgICBbaWNvblNyY109XCInYXNzZXRzL19kZWZhdWx0L3N2Zy9pY19hZGQuc3ZnJ1wiPlxuICAgIDwvZW8taWNvbj5cbiAgPC9idXR0b24+XG48L2Rpdj5cblxuPGRpdiBjbGFzcz1cImVudHJpZXNcIiBjZGtEcm9wTGlzdCAoY2RrRHJvcExpc3REcm9wcGVkKT1cImRyYWdEcm9wKCRldmVudClcIiBbY2RrRHJvcExpc3REYXRhXT1cImVudHJpZXNcIj5cbiAgPGRpdiBbbmdDbGFzc109XCJ7IGRpc2FibGVkOiAhIWVudHJ5Rm9ybSwgc2luZ2xlOiBlbnRyaWVzLmxlbmd0aCA9PT0gMSB9XCIgY2RrRHJhZyAqbmdGb3I9XCJsZXQgZW50cnkgb2YgZW50cmllczsgbGV0IGkgPSBpbmRleFwiPlxuICAgIDxlby1zZXF1ZW5jZS1saXN0LWl0ZW0gW2luZGV4XT1cImlcIiAoY2hhbmdlRW50cnkpPVwiY2hhbmdlRW50cnkoJGV2ZW50KVwiIFtkaXNhYmxlQWRkXT1cIm1heFNpZ25lcnNcIj5cbiAgICAgIDxuZy10ZW1wbGF0ZSAjY29udGVudD5cbiAgICAgICAgPGRpdiBjbGFzcz1cInNpZ25lci1saXN0LWVudHJ5XCI+XG4gICAgICAgICAgPGRpdiBjbGFzcz1cInNpZ25lci1uYW1lXCIgdGl0bGU9XCJ7e2VudHJ5Lm5hbWV9fVwiPnt7IGVudHJ5Lm5hbWUgfX08L2Rpdj5cbiAgICAgICAgICA8ZGl2IGNsYXNzPVwic2lnbmVyLWVtYWlsXCIgdGl0bGU9XCJ7e2VudHJ5LmVtYWlsfX1cIj57eyBlbnRyeS5lbWFpbCB9fTwvZGl2PlxuICAgICAgICAgIDxkaXYgY2xhc3M9XCJzaWduZXItcGhvbmVcIiAqbmdJZj1cImVudHJ5LnBob25lXCIgdGl0bGU9XCJ7e2VudHJ5LnBob25lfX1cIj57eyBlbnRyeS5waG9uZSB9fTwvZGl2PlxuICAgICAgICA8L2Rpdj5cbiAgICAgIDwvbmctdGVtcGxhdGU+XG4gICAgPC9lby1zZXF1ZW5jZS1saXN0LWl0ZW0+XG4gIDwvZGl2PlxuPC9kaXY+XG5cbjxuZy10ZW1wbGF0ZSAjdHBsRW50cnlGb3JtPlxuICA8Zm9ybSBjbGFzcz1cImVudHJ5Rm9ybVwiIFtmb3JtR3JvdXBdPVwiZW50cnlGb3JtXCIgKG5nU3VibWl0KT1cImFkZFNpZ25lcigpXCI+XG4gICAgPGRpdiBjbGFzcz1cImZvcm0tYm9keVwiPlxuICAgICAgPGVvLWZvcm0taW5wdXRcbiAgICAgICAgY2xhc3M9XCJuYW1lXCJcbiAgICAgICAgW2ludmFsaWRdPVwiZW50cnlGb3JtLmdldCgnbmFtZScpLmRpcnR5ICYmIGVudHJ5Rm9ybS5nZXQoJ25hbWUnKS5pbnZhbGlkXCJcbiAgICAgICAgW3NraXBUb2dnbGVdPVwidHJ1ZVwiXG4gICAgICAgIFtsYWJlbF09XCInZW8uYWN0aW9uLnNpZ25hdHVyZS55dXZzaWduZXJzLnl1dnNpZ25lcm5hbWUnIHwgdHJhbnNsYXRlXCJcbiAgICAgICAgW3JlcXVpcmVkXT1cInRydWVcIlxuICAgICAgPlxuICAgICAgICA8ZW8tc3RyaW5nIG1heExlbmd0aD1cIjEwMFwiIFtxbmFtZV09XCIneXV2c2lnbmluZy55dXZzaWduZXJzLnl1dnNpZ25lcm5hbWUnXCIgW2F1dG9jb21wbGV0ZV09XCJ0cnVlXCIgW2F1dG9mb2N1c109XCJ0cnVlXCIgZm9ybUNvbnRyb2xOYW1lPVwibmFtZVwiPjwvZW8tc3RyaW5nPlxuICAgICAgPC9lby1mb3JtLWlucHV0PlxuICAgICAgPHNtYWxsIGNsYXNzPVwiZXJyb3JzXCIgKm5nSWY9XCJlbnRyeUZvcm0uZ2V0KCduYW1lJykuaGFzRXJyb3IoJ21heGxlbmd0aCcpXCIgW3RyYW5zbGF0ZVBhcmFtc109XCJ7bWF4bGVuZ3RoOiAxMDB9XCJcbiAgICAgICAgICAgICB0cmFuc2xhdGU+ZW8uZm9ybS5wcm9wZXJ0eS5tYXhsZW5ndGg8L3NtYWxsPlxuICAgICAgPGVvLWZvcm0taW5wdXRcbiAgICAgICAgY2xhc3M9XCJ0YXNrXCJcbiAgICAgICAgW2ludmFsaWRdPVwiZW50cnlGb3JtLmdldCgnZW1haWwnKS5kaXJ0eSAmJiBlbnRyeUZvcm0uZ2V0KCdlbWFpbCcpLmludmFsaWRcIlxuICAgICAgICBbc2tpcFRvZ2dsZV09XCJ0cnVlXCJcbiAgICAgICAgW2xhYmVsXT1cIidlby5hY3Rpb24uc2lnbmF0dXJlLnl1dnNpZ25lcnMueXV2c2lnbmVyZW1haWwnIHwgdHJhbnNsYXRlXCJcbiAgICAgICAgW3JlcXVpcmVkXT1cInRydWVcIlxuICAgICAgPlxuICAgICAgICA8ZW8tc3RyaW5nIG1heExlbmd0aD1cIjEwMFwiIFtxbmFtZV09XCIneXV2c2lnbmluZy55dXZzaWduZXJzLnl1dnNpZ25lcmVtYWlsJ1wiIFthdXRvY29tcGxldGVdPVwidHJ1ZVwiIGZvcm1Db250cm9sTmFtZT1cImVtYWlsXCI+PC9lby1zdHJpbmc+XG4gICAgICA8L2VvLWZvcm0taW5wdXQ+XG4gICAgICA8c21hbGwgY2xhc3M9XCJlcnJvcnNcIiAqbmdJZj1cImVudHJ5Rm9ybS5nZXQoJ2VtYWlsJykuaGFzRXJyb3IoJ2VtYWlsJylcIiB0cmFuc2xhdGU+ZW8uZm9ybS5wcm9wZXJ0eS5zdHJpbmcuZXJyb3IuY2xhc3NpZmljYXRpb24uZW1haWw8L3NtYWxsPlxuICAgICAgPHNtYWxsIGNsYXNzPVwiZXJyb3JzXCIgKm5nSWY9XCIhZW50cnlGb3JtLmdldCgnZW1haWwnKS5oYXNFcnJvcignZW1haWwnKSAmJiBlbnRyeUZvcm0uZ2V0KCdlbWFpbCcpLmhhc0Vycm9yKCdtYXhsZW5ndGgnKVwiXG4gICAgICAgICAgICAgW3RyYW5zbGF0ZVBhcmFtc109XCJ7bWF4bGVuZ3RoOiAxMDB9XCIgdHJhbnNsYXRlPmVvLmZvcm0ucHJvcGVydHkubWF4bGVuZ3RoPC9zbWFsbD5cbiAgICAgIDxlby1mb3JtLWlucHV0XG4gICAgICAgIGNsYXNzPVwidGFza1wiXG4gICAgICAgICpuZ0lmPVwicGhvbmVSZXF1aXJlZFwiXG4gICAgICAgIFtpbnZhbGlkXT1cImVudHJ5Rm9ybS5nZXQoJ3Bob25lJykuZGlydHkgJiYgZW50cnlGb3JtLmdldCgncGhvbmUnKS5pbnZhbGlkXCJcbiAgICAgICAgW3NraXBUb2dnbGVdPVwidHJ1ZVwiXG4gICAgICAgIFtsYWJlbF09XCInZW8uYWN0aW9uLnNpZ25hdHVyZS55dXZzaWduZXJzLnl1dnNpZ25lcnBob25lJyB8IHRyYW5zbGF0ZVwiXG4gICAgICAgIFtyZXF1aXJlZF09XCJ0cnVlXCJcbiAgICAgID5cbiAgICAgICAgPGVvLXN0cmluZyBtYXhMZW5ndGg9XCIxMDBcIiBbcW5hbWVdPVwiJ3l1dnNpZ25pbmcueXV2c2lnbmVycy55dXZzaWduZXJwaG9uZSdcIiBmb3JtQ29udHJvbE5hbWU9XCJwaG9uZVwiPiA8L2VvLXN0cmluZz5cbiAgICAgICAgPHNtYWxsIGNsYXNzPVwiZXJyb3JzXCIgKm5nSWY9XCJlbnRyeUZvcm0uZ2V0KCdwaG9uZScpLmhhc0Vycm9yKCdtYXhsZW5ndGgnKVwiIFt0cmFuc2xhdGVQYXJhbXNdPVwie21heGxlbmd0aDogMTAwfVwiXG4gICAgICAgICAgICAgICB0cmFuc2xhdGU+ZW8uZm9ybS5wcm9wZXJ0eS5tYXhsZW5ndGg8L3NtYWxsPlxuICAgICAgPC9lby1mb3JtLWlucHV0PlxuICAgIDwvZGl2PlxuICAgIDxmb290ZXIgY2xhc3M9XCJmb290ZXItYWN0aW9uXCI+XG4gICAgICA8YnV0dG9uIGNsYXNzPVwic2Vjb25kYXJ5XCIgdHlwZT1cImJ1dHRvblwiIChjbGljayk9XCJjYW5jZWwoKVwiIHRyYW5zbGF0ZT5lby5hY3Rpb24uc2lnbmF0dXJlLmNhbmNlbDwvYnV0dG9uPlxuICAgICAgPG5nLWNvbnRhaW5lciBbbmdTd2l0Y2hdPVwibW9kZVwiPlxuICAgICAgICA8YnV0dG9uICpuZ1N3aXRjaENhc2U9XCInZWRpdCdcIiBjbGFzcz1cInByaW1hcnlcIiBbZGlzYWJsZWRdPVwiZW50cnlGb3JtLmludmFsaWQgfHwgZW50cnlGb3JtLnByaXN0aW5lXCIgdHlwZT1cInN1Ym1pdFwiIHRyYW5zbGF0ZT5lby5hY3Rpb24uc2lnbmF0dXJlLmVkaXRTaWduZXI8L2J1dHRvbj5cbiAgICAgICAgPGJ1dHRvbiAqbmdTd2l0Y2hEZWZhdWx0IGNsYXNzPVwicHJpbWFyeVwiIFtkaXNhYmxlZF09XCJlbnRyeUZvcm0uaW52YWxpZFwiIHR5cGU9XCJzdWJtaXRcIiB0cmFuc2xhdGU+ZW8uYWN0aW9uLnNpZ25hdHVyZS5hZGRTaWduZXI8L2J1dHRvbj5cbiAgICAgIDwvbmctY29udGFpbmVyPlxuICAgIDwvZm9vdGVyPlxuICA8L2Zvcm0+XG48L25nLXRlbXBsYXRlPlxuIl19
|