@sapphire-ion/framework 0.30.17 → 0.30.22
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/esm2022/lib/classes/inputs/table-field.mjs +8 -2
- package/esm2022/lib/components/default/default-table/default-table.component.mjs +13 -2
- package/esm2022/lib/components/default/default-table/th-filter/th-filter.component.mjs +4 -3
- package/esm2022/lib/guards/error.interceptor.mjs +2 -2
- package/esm2022/lib/services/web/api-url-provider.service.mjs +2 -2
- package/fesm2022/sapphire-ion-framework.mjs +24 -6
- package/fesm2022/sapphire-ion-framework.mjs.map +1 -1
- package/lib/classes/inputs/table-field.d.ts +1 -0
- package/package.json +1 -1
|
@@ -6,8 +6,14 @@ import { InputDateConfiguration } from '../../components/inputs/input-date/input
|
|
|
6
6
|
import { InputFileConfiguration } from '../../components/inputs/input-file/input-file.configuration';
|
|
7
7
|
import { InputBoolConfiguration } from '../../components/inputs/input-bool/input-bool.configuration';
|
|
8
8
|
export class TableField {
|
|
9
|
+
SelectDisableMultiple() {
|
|
10
|
+
if (this.type == InputType.Select && this.configuration) {
|
|
11
|
+
return this.configuration.multiple;
|
|
12
|
+
}
|
|
13
|
+
return false;
|
|
14
|
+
}
|
|
9
15
|
disabledChange() {
|
|
10
|
-
return this.filter.
|
|
16
|
+
return this.filter.some(p => p.disableChange) || this.SelectDisableMultiple();
|
|
11
17
|
}
|
|
12
18
|
;
|
|
13
19
|
constructor(header, index, formControl, type, configuration = null, disabled = false) {
|
|
@@ -60,4 +66,4 @@ export class TableField {
|
|
|
60
66
|
}
|
|
61
67
|
static { this.dateTypes = [InputType.Date, InputType.DateTime, InputType.Time]; }
|
|
62
68
|
}
|
|
63
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
69
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGFibGUtZmllbGQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9zcmMvbGliL2NsYXNzZXMvaW5wdXRzL3RhYmxlLWZpZWxkLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUVBLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxvQ0FBb0MsQ0FBQztBQUUvRCxPQUFPLEVBQUUseUJBQXlCLEVBQUUsMEJBQTBCLEVBQUUsd0JBQXdCLEVBQUUsTUFBTSxtRUFBbUUsQ0FBQztBQUNwSyxPQUFPLEVBQUUsd0JBQXdCLEVBQUUsTUFBTSxpRUFBaUUsQ0FBQztBQUMzRyxPQUFPLEVBQUUsd0JBQXdCLEVBQUUsTUFBTSxpRUFBaUUsQ0FBQztBQUMzRyxPQUFPLEVBQUUsc0JBQXNCLEVBQUUsTUFBTSw2REFBNkQsQ0FBQztBQUNyRyxPQUFPLEVBQUUsc0JBQXNCLEVBQUUsTUFBTSw2REFBNkQsQ0FBQztBQUNyRyxPQUFPLEVBQUUsc0JBQXNCLEVBQUUsTUFBTSw2REFBNkQsQ0FBQztBQUdyRyxNQUFNLE9BQU8sVUFBVTtJQU1iLHFCQUFxQjtRQUMzQixJQUFHLElBQUksQ0FBQyxJQUFJLElBQUksU0FBUyxDQUFDLE1BQU0sSUFBSSxJQUFJLENBQUMsYUFBYSxFQUFDLENBQUM7WUFDdEQsT0FBTyxJQUFJLENBQUMsYUFBYSxDQUFDLFFBQVEsQ0FBQztRQUNyQyxDQUFDO1FBQ0QsT0FBTyxLQUFLLENBQUM7SUFDZixDQUFDO0lBQ0QsY0FBYztRQUNaLE9BQU8sSUFBSSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsYUFBYSxDQUFDLElBQUksSUFBSSxDQUFDLHFCQUFxQixFQUFFLENBQUM7SUFDaEYsQ0FBQztJQUFBLENBQUM7SUFHRixZQUNTLE1BQWMsRUFDZCxLQUFjLEVBQ2QsV0FBaUMsRUFDakMsSUFBaUMsRUFDakMsZ0JBQTJDLElBQUksRUFDL0MsV0FBeUIsS0FBSztRQUw5QixXQUFNLEdBQU4sTUFBTSxDQUFRO1FBQ2QsVUFBSyxHQUFMLEtBQUssQ0FBUztRQUNkLGdCQUFXLEdBQVgsV0FBVyxDQUFzQjtRQUNqQyxTQUFJLEdBQUosSUFBSSxDQUE2QjtRQUNqQyxrQkFBYSxHQUFiLGFBQWEsQ0FBa0M7UUFDL0MsYUFBUSxHQUFSLFFBQVEsQ0FBc0I7UUF0QnZDLFVBQUssR0FBZ0IsMkNBQTJDLENBQUE7UUFDaEUsZUFBVSxHQUFZLEtBQUssQ0FBQztRQUM1QixXQUFNLEdBQWdCLEtBQUssQ0FBQztRQUM1QixXQUFNLEdBQXFCLEVBQUUsQ0FBQztRQXFCNUIsSUFBRyxhQUFhLEVBQUMsQ0FBQztZQUFDLElBQUksQ0FBQyxhQUFhLEdBQUcsYUFBYSxDQUFBO1FBQUMsQ0FBQzthQUNuRCxDQUFDO1lBQ0gsSUFBRyxVQUFVLENBQUMsU0FBUyxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsRUFBQyxDQUFDO2dCQUFDLElBQUksQ0FBQyxhQUFhLEdBQUcsSUFBSSxzQkFBc0IsRUFBRSxDQUFBO1lBQUMsQ0FBQztpQkFDNUYsSUFBRyxJQUFJLElBQUksU0FBUyxDQUFDLElBQUksRUFBSyxDQUFDO2dCQUFDLElBQUksQ0FBQyxhQUFhLEdBQUcsSUFBSSxzQkFBc0IsRUFBRSxDQUFBO1lBQUssQ0FBQztpQkFDdkYsSUFBRyxJQUFJLElBQUksU0FBUyxDQUFDLE1BQU0sRUFBRyxDQUFDO2dCQUFDLElBQUksQ0FBQyxhQUFhLEdBQUcsSUFBSSx3QkFBd0IsRUFBRSxDQUFBO1lBQUcsQ0FBQztpQkFDdkYsSUFBRyxJQUFJLElBQUksU0FBUyxDQUFDLE9BQU8sRUFBRSxDQUFDO2dCQUFDLElBQUksQ0FBQyxhQUFhLEdBQUcsSUFBSSx5QkFBeUIsRUFBRSxDQUFBO1lBQUUsQ0FBQztpQkFDdkYsSUFBRyxJQUFJLElBQUksU0FBUyxDQUFDLFFBQVEsRUFBQyxDQUFDO2dCQUFDLElBQUksQ0FBQyxhQUFhLEdBQUcsSUFBSSwwQkFBMEIsRUFBRSxDQUFBO1lBQUMsQ0FBQztpQkFDdkYsSUFBRyxJQUFJLElBQUksU0FBUyxDQUFDLE1BQU0sRUFBRyxDQUFDO2dCQUFDLElBQUksQ0FBQyxhQUFhLEdBQUcsSUFBSSx3QkFBd0IsRUFBRSxDQUFBO1lBQUcsQ0FBQztpQkFDdkYsSUFBRyxJQUFJLElBQUksU0FBUyxDQUFDLE1BQU0sRUFBRyxDQUFDO2dCQUFDLElBQUksQ0FBQyxhQUFhLEdBQUcsSUFBSSx3QkFBd0IsRUFBRSxDQUFBO1lBQUcsQ0FBQztpQkFDdkYsSUFBRyxJQUFJLElBQUksU0FBUyxDQUFDLFFBQVEsRUFBQyxDQUFDO2dCQUM3QixJQUFJLENBQUMsYUFBYSxHQUFHLElBQUksd0JBQXdCLEVBQUUsQ0FBQztnQkFDcEQsSUFBSSxDQUFDLEtBQUssR0FBRyxlQUFlLENBQUE7WUFDOUIsQ0FBQztpQkFDRCxJQUFHLElBQUksSUFBSSxTQUFTLENBQUMsSUFBSSxFQUFLLENBQUM7Z0JBQzdCLElBQUksQ0FBQyxhQUFhLEdBQUcsSUFBSSxzQkFBc0IsRUFBRSxDQUFDO2dCQUNsRCxJQUFHLElBQUksQ0FBQyxXQUFXLENBQUMsS0FBSyxJQUFJLElBQUksRUFBQyxDQUFDO29CQUFDLElBQUksQ0FBQyxXQUFXLENBQUMsUUFBUSxDQUFDLEtBQUssQ0FBQyxDQUFDO2dCQUFDLENBQUM7WUFDekUsQ0FBQztRQUNILENBQUM7SUFDSCxDQUFDO2FBQ3VCLGNBQVMsR0FBRyxDQUFDLFNBQVMsQ0FBQyxJQUFJLEVBQUUsU0FBUyxDQUFDLFFBQVEsRUFBRSxTQUFTLENBQUMsSUFBSSxDQUFDLEFBQXZELENBQXdEIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgRm9ybUNvbnRyb2wgfSBmcm9tIFwiQGFuZ3VsYXIvZm9ybXNcIjtcclxuaW1wb3J0IHsgQ29tcGFyaXNvbiB9IGZyb20gXCIuLi9jb21wYXJpc29uL2NvbXBhcmlzb25cIjtcclxuaW1wb3J0IHsgSW5wdXRUeXBlIH0gZnJvbSBcIi4uLy4uL2NvbXBvbmVudHMvaW5wdXRzL2lucHV0LXR5cGVcIjtcclxuXHJcbmltcG9ydCB7IElucHV0RGVjaW1hbENvbmZpZ3VyYXRpb24sIElucHV0Q3VycmVuY3lDb25maWd1cmF0aW9uLCBJbnB1dE51bWJlckNvbmZpZ3VyYXRpb24gfSBmcm9tICcuLi8uLi9jb21wb25lbnRzL2lucHV0cy9pbnB1dC1kZWNpbWFsL2lucHV0LWRlY2ltYWwuY29uZmlndXJhdGlvbic7XHJcbmltcG9ydCB7IElucHV0U3RyaW5nQ29uZmlndXJhdGlvbiB9IGZyb20gJy4uLy4uL2NvbXBvbmVudHMvaW5wdXRzL2lucHV0LXN0cmluZy9pbnB1dC1zdHJpbmcuY29uZmlndXJhdGlvbic7XHJcbmltcG9ydCB7IElucHV0U2VsZWN0Q29uZmlndXJhdGlvbiB9IGZyb20gJy4uLy4uL2NvbXBvbmVudHMvaW5wdXRzL2lucHV0LXNlbGVjdC9pbnB1dC5zZWxlY3QuY29uZmlndXJhdGlvbic7XHJcbmltcG9ydCB7IElucHV0RGF0ZUNvbmZpZ3VyYXRpb24gfSBmcm9tICcuLi8uLi9jb21wb25lbnRzL2lucHV0cy9pbnB1dC1kYXRlL2lucHV0LWRhdGUuY29uZmlndXJhdGlvbic7XHJcbmltcG9ydCB7IElucHV0RmlsZUNvbmZpZ3VyYXRpb24gfSBmcm9tICcuLi8uLi9jb21wb25lbnRzL2lucHV0cy9pbnB1dC1maWxlL2lucHV0LWZpbGUuY29uZmlndXJhdGlvbic7XHJcbmltcG9ydCB7IElucHV0Qm9vbENvbmZpZ3VyYXRpb24gfSBmcm9tICcuLi8uLi9jb21wb25lbnRzL2lucHV0cy9pbnB1dC1ib29sL2lucHV0LWJvb2wuY29uZmlndXJhdGlvbic7XHJcbmltcG9ydCB7IElucHV0Q29uZmlndXJhdGlvbiB9IGZyb20gXCIuLi8uLi9jb21wb25lbnRzL2lucHV0cy9pbnB1dC1jb25maWd1cmF0aW9uXCI7XHJcblxyXG5leHBvcnQgY2xhc3MgVGFibGVGaWVsZHtcclxuICBjbGFzcyAgICAgOiBzdHJpbmcgPSBcInhsOmNvbC1zcGFuLTMgbWQ6Y29sLXNwYW4tNiBjb2wtc3Bhbi1mdWxsXCJcclxuICBoaWRkZW5WaWV3OiBib29sZWFuID0gZmFsc2U7XHJcbiAgaGlkZGVuICAgIDogYm9vbGVhbiA9IGZhbHNlO1xyXG4gIGZpbHRlciAgICA6IENvbXBhcmlzb25bXSA9IFtdO1xyXG5cclxuICBwcml2YXRlIFNlbGVjdERpc2FibGVNdWx0aXBsZSgpe1xyXG4gICAgaWYodGhpcy50eXBlID09IElucHV0VHlwZS5TZWxlY3QgJiYgdGhpcy5jb25maWd1cmF0aW9uKXtcclxuICAgICAgcmV0dXJuIHRoaXMuY29uZmlndXJhdGlvbi5tdWx0aXBsZTtcclxuICAgIH1cclxuICAgIHJldHVybiBmYWxzZTtcclxuICB9XHJcbiAgZGlzYWJsZWRDaGFuZ2UoKTogYm9vbGVhbiB7XHJcbiAgICByZXR1cm4gdGhpcy5maWx0ZXIuc29tZShwID0+IHAuZGlzYWJsZUNoYW5nZSkgfHwgdGhpcy5TZWxlY3REaXNhYmxlTXVsdGlwbGUoKTtcclxuICB9O1xyXG5cclxuXHJcbiAgY29uc3RydWN0b3IoXHJcbiAgICBwdWJsaWMgaGVhZGVyOiBzdHJpbmcsIFxyXG4gICAgcHVibGljIGluZGV4IDogc3RyaW5nLCBcclxuICAgIHB1YmxpYyBmb3JtQ29udHJvbCAgOiBGb3JtQ29udHJvbCB8IG51bGwsIFxyXG4gICAgcHVibGljIHR5cGUgICAgICAgICA6IElucHV0VHlwZSAgIHwgbnVsbCwgXHJcbiAgICBwdWJsaWMgY29uZmlndXJhdGlvbjogSW5wdXRDb25maWd1cmF0aW9uIHwgbnVsbCA9IG51bGwsXHJcbiAgICBwdWJsaWMgZGlzYWJsZWQgICAgIDogYm9vbGVhbiA9IGZhbHNlXHJcbiAgKXtcclxuICAgIGlmKGNvbmZpZ3VyYXRpb24peyB0aGlzLmNvbmZpZ3VyYXRpb24gPSBjb25maWd1cmF0aW9uIH1cclxuICAgIGVsc2V7XHJcbiAgICAgIGlmKFRhYmxlRmllbGQuZGF0ZVR5cGVzLmluY2x1ZGVzKHR5cGUpKXsgdGhpcy5jb25maWd1cmF0aW9uID0gbmV3IElucHV0RGF0ZUNvbmZpZ3VyYXRpb24oKSB9IGVsc2VcclxuICAgICAgaWYodHlwZSA9PSBJbnB1dFR5cGUuRmlsZSAgICApeyB0aGlzLmNvbmZpZ3VyYXRpb24gPSBuZXcgSW5wdXRGaWxlQ29uZmlndXJhdGlvbigpICAgICB9ZWxzZVxyXG4gICAgICBpZih0eXBlID09IElucHV0VHlwZS5OdW1iZXIgICl7IHRoaXMuY29uZmlndXJhdGlvbiA9IG5ldyBJbnB1dE51bWJlckNvbmZpZ3VyYXRpb24oKSAgIH1lbHNlXHJcbiAgICAgIGlmKHR5cGUgPT0gSW5wdXRUeXBlLkRlY2ltYWwgKXsgdGhpcy5jb25maWd1cmF0aW9uID0gbmV3IElucHV0RGVjaW1hbENvbmZpZ3VyYXRpb24oKSAgfWVsc2VcclxuICAgICAgaWYodHlwZSA9PSBJbnB1dFR5cGUuQ3VycmVuY3kpeyB0aGlzLmNvbmZpZ3VyYXRpb24gPSBuZXcgSW5wdXRDdXJyZW5jeUNvbmZpZ3VyYXRpb24oKSB9ZWxzZVxyXG4gICAgICBpZih0eXBlID09IElucHV0VHlwZS5TdHJpbmcgICl7IHRoaXMuY29uZmlndXJhdGlvbiA9IG5ldyBJbnB1dFN0cmluZ0NvbmZpZ3VyYXRpb24oKSAgIH1lbHNlXHJcbiAgICAgIGlmKHR5cGUgPT0gSW5wdXRUeXBlLlNlbGVjdCAgKXsgdGhpcy5jb25maWd1cmF0aW9uID0gbmV3IElucHV0U2VsZWN0Q29uZmlndXJhdGlvbigpICAgfWVsc2VcclxuICAgICAgaWYodHlwZSA9PSBJbnB1dFR5cGUuVGV4dEFyZWEpeyBcclxuICAgICAgICB0aGlzLmNvbmZpZ3VyYXRpb24gPSBuZXcgSW5wdXRTdHJpbmdDb25maWd1cmF0aW9uKCk7IFxyXG4gICAgICAgIHRoaXMuY2xhc3MgPSBcImNvbC1zcGFuLWZ1bGxcIiAgICAgICAgICAgICAgICAgICAgICAgICAgXHJcbiAgICAgIH1lbHNlIFxyXG4gICAgICBpZih0eXBlID09IElucHV0VHlwZS5Cb29sICAgICl7IFxyXG4gICAgICAgIHRoaXMuY29uZmlndXJhdGlvbiA9IG5ldyBJbnB1dEJvb2xDb25maWd1cmF0aW9uKCk7IFxyXG4gICAgICAgIGlmKHRoaXMuZm9ybUNvbnRyb2wudmFsdWUgPT0gbnVsbCl7IHRoaXMuZm9ybUNvbnRyb2wuc2V0VmFsdWUoZmFsc2UpOyB9IFxyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgfVxyXG4gIHByaXZhdGUgc3RhdGljIHJlYWRvbmx5IGRhdGVUeXBlcyA9IFtJbnB1dFR5cGUuRGF0ZSwgSW5wdXRUeXBlLkRhdGVUaW1lLCBJbnB1dFR5cGUuVGltZV07XHJcbn0iXX0=
|
|
@@ -118,7 +118,18 @@ export class DefaultTableComponent {
|
|
|
118
118
|
}
|
|
119
119
|
GetSelectLabel(item, tField) {
|
|
120
120
|
const configuration = tField.configuration;
|
|
121
|
-
|
|
121
|
+
if (!configuration.multiple) {
|
|
122
|
+
return configuration.loader.GetLabel(this.GetField(item, tField));
|
|
123
|
+
}
|
|
124
|
+
else {
|
|
125
|
+
const values = this.GetField(item, tField);
|
|
126
|
+
if (values && values.length > 0) {
|
|
127
|
+
return values.map(v => configuration.loader.GetLabel(v)).join(", ");
|
|
128
|
+
}
|
|
129
|
+
else {
|
|
130
|
+
return "";
|
|
131
|
+
}
|
|
132
|
+
}
|
|
122
133
|
}
|
|
123
134
|
GetTypeOf(val) {
|
|
124
135
|
return typeof (val);
|
|
@@ -203,4 +214,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImpo
|
|
|
203
214
|
}], itemPath: [{
|
|
204
215
|
type: Input
|
|
205
216
|
}] } });
|
|
206
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGVmYXVsdC10YWJsZS5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9zcmMvbGliL2NvbXBvbmVudHMvZGVmYXVsdC9kZWZhdWx0LXRhYmxlL2RlZmF1bHQtdGFibGUuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vc3JjL2xpYi9jb21wb25lbnRzL2RlZmF1bHQvZGVmYXVsdC10YWJsZS9kZWZhdWx0LXRhYmxlLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsWUFBWSxFQUFFLEtBQUssRUFBVSxNQUFNLEVBQUUsV0FBVyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzVGLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDekQsT0FBTyxFQUFFLFlBQVksRUFBRyxNQUFNLGlCQUFpQixDQUFDO0FBRWhELE9BQU8sRUFBYyxvQkFBb0IsRUFBRSxNQUFNLHdDQUF3QyxDQUFDO0FBRTFGLE9BQU8sRUFBRSx3QkFBd0IsRUFBRSxNQUFNLG9FQUFvRSxDQUFDO0FBQzlHLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSx1Q0FBdUMsQ0FBQztBQUd2RSxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0seUJBQXlCLENBQUM7QUFDcEQsT0FBTyxFQUFFLEtBQUssRUFBRSxNQUFNLGlDQUFpQyxDQUFDOzs7Ozs7Ozs7OztBQUV4RCxrQ0FBa0M7QUFNbEMsTUFBTSxPQUFPLHFCQUFxQjtJQTBEaEMsWUFDUyxjQUErQixFQUM5QixjQUE4QixFQUM5QixNQUFzQjtRQUZ2QixtQkFBYyxHQUFkLGNBQWMsQ0FBaUI7UUFDOUIsbUJBQWMsR0FBZCxjQUFjLENBQWdCO1FBQzlCLFdBQU0sR0FBTixNQUFNLENBQWdCO1FBaER0QixnQkFBVyxHQUF5QixJQUFJLFlBQVksRUFBVSxDQUFDO1FBSS9ELGVBQVUsR0FBeUIs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QW5CLEtBQUs7Z0JBRUcsWUFBWTtzQkFBcEIsS0FBSztnQkFFRyxRQUFRO3NCQUFoQixLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBFdmVudEVtaXR0ZXIsIElucHV0LCBPbkluaXQsIE91dHB1dCwgVGVtcGxhdGVSZWYgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgQWN0aXZhdGVkUm91dGUsIFJvdXRlciB9IGZyb20gJ0Bhbmd1bGFyL3JvdXRlcic7XHJcbmltcG9ydCB7IGZvcm1hdE51bWJlciAgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xyXG5cclxuaW1wb3J0IHsgQ29tcGFyaXNvbiwgQ29tcGlsZUxzdFRhYmxlRmllbGQgfSBmcm9tICcuLi8uLi8uLi9jbGFzc2VzL2NvbXBhcmlzb24vY29tcGFyaXNvbic7XHJcbmltcG9ydCB7IElucHV0RGVjaW1hbENvbmZpZ3VyYXRpb24gfSBmcm9tICcuLi8uLi8uLi9jb21wb25lbnRzL2lucHV0cy9pbnB1dC1kZWNpbWFsL2lucHV0LWRlY2ltYWwuY29uZmlndXJhdGlvbic7XHJcbmltcG9ydCB7IElucHV0U2VsZWN0Q29uZmlndXJhdGlvbiB9IGZyb20gJy4uLy4uLy4uL2NvbXBvbmVudHMvaW5wdXRzL2lucHV0LXNlbGVjdC9pbnB1dC5zZWxlY3QuY29uZmlndXJhdGlvbic7XHJcbmltcG9ydCB7IFN0b3JhZ2VTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vLi4vc2VydmljZXMvd2ViL3N0b3JhZ2Uuc2VydmljZSc7XHJcbmltcG9ydCB7IEh0dHBTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vLi4vc2VydmljZXMvd2ViL2h0dHAuc2VydmljZSc7XHJcbmltcG9ydCB7IFRhYmxlRmllbGQgfSBmcm9tICcuLi8uLi8uLi9jbGFzc2VzL2lucHV0cy90YWJsZS1maWVsZCc7XHJcbmltcG9ydCB7IElucHV0VHlwZSB9IGZyb20gJy4uLy4uL2lucHV0cy9pbnB1dC10eXBlJztcclxuaW1wb3J0IHsgVXRpbHMgfSBmcm9tICcuLi8uLi8uLi9zZXJ2aWNlcy91dGlscy5zZXJ2aWNlJztcclxuXHJcbi8qKiBDb21wb25lbnRlIGRlIHRhYmVsYSBwYWRyw6NvICovXHJcbkBDb21wb25lbnQoe1xyXG4gIHNlbGVjdG9yOiAnZGVmYXVsdC10YWJsZScsXHJcbiAgdGVtcGxhdGVVcmw6ICcuL2RlZmF1bHQtdGFibGUuY29tcG9uZW50Lmh0bWwnLFxyXG4gIHN0eWxlVXJsczogWycuL2RlZmF1bHQtdGFibGUuY29tcG9uZW50LnNjc3MnXSxcclxufSlcclxuZXhwb3J0IGNsYXNzIERlZmF1bHRUYWJsZUNvbXBvbmVudDxUIGV4dGVuZHMgSHR0cFNlcnZpY2U+IGltcGxlbWVudHMgT25Jbml0IHtcclxuICBcclxuICAvKiogU2VydmljZSBhIHNlciB1dGlsaXphZG8gbmEgbGlzdGFnZW0gKi9cclxuICBASW5wdXQoJ3NlcnZpY2UnKSBkZWZhdWx0U2VydmljZTogVDtcclxuLyoqIFRlbXBsYXRlIGRlIGHDp8O1ZXMsIGRldmUgc2VyIHVtIGVsZW1lbnRvIGBgYDxuZy10ZW1wbGF0ZT5gYGAgKi9cclxuICBASW5wdXQoKSBhY29lc1RlbXBsYXRlOiBUZW1wbGF0ZVJlZjxhbnk+O1xyXG5cclxuICAvLyNyZWdpb24gWyBQYWdpbmF0aW9uIF1cclxuICAvKiogVmFsb3IgdG90YWwgZGUgZGFkb3MgKi9cclxuICBASW5wdXQoKSB0b3RhbDogbnVtYmVyO1xyXG5cclxuICAvKiogTsO6bWVybyBkZSBww6FnaW5hcyBtw6F4aW1vICh1c2FuZG8gdHdvIHdheSBkYXRhIGJpbmRpbmcpICovXHJcbiAgQElucHV0KCkgbGltaXQ6IG51bWJlcjtcclxuICBAT3V0cHV0KCkgbGltaXRDaGFuZ2U6IEV2ZW50RW1pdHRlcjxudW1iZXI+ID0gbmV3IEV2ZW50RW1pdHRlcjxudW1iZXI+KCk7XHJcbiAgXHJcbiAgLyoqIFZhbG9yIGRhIHBhZ2luYSwgc2V0YWRvID0gMSBxdWFuZG8gdHJvY2Etc2UgbyB2YWxvciBkZSBsaW1pdGUgZGUgcGFnaW5hcyAodXNhbmRvIHR3byB3YXkgZGF0YSBiaW5kaW5nKSAqL1xyXG4gIEBJbnB1dCgpIHBhZ2U6IG51bWJlcjtcclxuICBAT3V0cHV0KCkgcGFnZUNoYW5nZTogRXZlbnRFbWl0dGVyPG51bWJlcj4gPSBuZXcgRXZlbnRFbWl0dGVyPG51bWJlcj4oKTtcclxuICBcclxuICAvKiogUHJvcHJpZWRhZGUgZGUgb3JkZW5hw6fDo28gKHVzYW5kbyB0d28gd2F5IGRhdGEgYmluZGluZykgKi9cclxuICBASW5wdXQoKSBvcmRlckJ5UHJvcGVydHk6IHN0cmluZyB8IG51bGw7XHJcbiAgQE91dHB1dCgpIG9yZGVyQnlQcm9wZXJ0eUNoYW5nZTogRXZlbnRFbWl0dGVyPHN0cmluZyB8IG51bGw+ID0gbmV3IEV2ZW50RW1pdHRlcjxzdHJpbmcgfCBudWxsPigpO1xyXG4gIFxyXG4gIC8qKiBQcm9wcmllZGFkZSBkZSBvcmRlbmHDp8Ojb1xyXG4gICAqIFNlID0gdHJ1ZSAgT3JkZW5hcsOhIGRlIG1lbm9yIGFvIG1haW9yIFxyXG4gICAqIFNlID0gZmFsc2UgT3JkZW5hcsOhIGRlIG1haW9yIGFvIG1lbm9yICh1c2FuZG8gdHdvIHdheSBkYXRhIGJpbmRpbmcpICovXHJcbiAgQElucHV0KCkgYXNjZW5kaW5nOiBib29sZWFuO1xyXG4gIEBPdXRwdXQoKSBhc2NlbmRpbmdDaGFuZ2U6IEV2ZW50RW1pdHRlcjxib29sZWFuPiA9IG5ldyBFdmVudEVtaXR0ZXI8Ym9vbGVhbj4oKTtcclxuICAvLyNlbmRyZWdpb24gWyBQYWdpbmF0aW9uIF1cclxuXHJcbiAgLyoqIEZpbHRyb3MgKHVzYW5kbyB0d28gd2F5IGRhdGEgYmluZGluZykgKi8gIFxyXG4gIEBJbnB1dCgnZmlsdGVyJykgZmlsdGVyOiBDb21wYXJpc29uW10gPSBbXTtcclxuICBAT3V0cHV0KCkgZmlsdGVyQ2hhbmdlOiBFdmVudEVtaXR0ZXI8Q29tcGFyaXNvbltdPiA9IG5ldyBFdmVudEVtaXR0ZXI8Q29tcGFyaXNvbltdPigpO1xyXG4gIFxyXG4gIC8qKiBFdmVudG8gZW1pdGlkbyBxdWFuZG8gdW0gZG9zIGRhZG9zIMOpIGF0aXZhZG8uIEVtaXRlIG8gaWQgZG8gZGFkbyAqLyAgXHJcbiAgQE91dHB1dCgnYXRpdmFyJykgYXRpdmFyRW1pdHRlcjogRXZlbnRFbWl0dGVyPG51bWJlcj4gPSBuZXcgRXZlbnRFbWl0dGVyPG51bWJlcj47XHJcbiAgQE91dHB1dCgncmVmcmVzaCcpIHJlZnJlc2hFbWl0dGVyOiBFdmVudEVtaXR0ZXI8dm9pZD4gPSBuZXcgRXZlbnRFbWl0dGVyPHZvaWQ+KCk7XHJcbiAgQElucHV0KCkgbG9hZGluZzogYm9vbGVhbjtcclxuXHJcbiAgLyoqIExpc3RhIGRlIGRhZG9zIGEgc2VyIGV4aWJpZG9zICovXHJcbiAgQElucHV0KCkgaXRlbXM6IGFueVtdID0gW107XHJcbiAgXHJcbiAgLyoqIExpc3RhIGRlIGNhbXBvcyBhIHNlciBleGliaWRvcyAqL1xyXG4gIEBJbnB1dCgpIGxzdFRhYmxlRmllbGRzOiBUYWJsZUZpZWxkW10gPSBbXTtcclxuXHJcbiAgLyoqIFJlbW92ZSBvcyBmaWx0cm9zIG5vIGNhYmXDp2FsaG8gZGEgdGFiZWxhICAqL1xyXG4gIEBJbnB1dCgpIG5vRmlsdGVyczogYm9vbGVhbiA9IGZhbHNlO1xyXG4gIFxyXG4gIC8qKiBBcGxpY2EgY2xhc3NlcyBkZSBDU1MgbmEgY29sdW5hIGRlIGFjaXJkbyBjb20gbyByZXRvcm5vIGRhIGZ1bsOnw6NvIHBhc3NhZGEgY29tbyBwYXJhbWV0cm8gICovXHJcbiAgQElucHV0KCkgY29sdW1uQ2xhc3M6ICgoaW5kZXg6c3RyaW5nLCBvYmplY3Q6IGFueSkgPT4gc3RyaW5nKSB8IG51bGwgPSBudWxsO1xyXG4gIC8qKiBBcGxpY2Egc3R5bGUgZGUgQ1NTIG5hIGNvbHVuYSBkZSBhY2lyZG8gY29tIG8gcmV0b3JubyBkYSBmdW7Dp8OjbyBwYXNzYWRhIGNvbW8gcGFyYW1ldHJvICAqL1xyXG4gIEBJbnB1dCgpIGNvbHVtblN0eWxlOiAoKGluZGV4OnN0cmluZywgb2JqZWN0OiBhbnkpID0+IHN0cmluZykgfCBudWxsID0gbnVsbDtcclxuICAvKiogUmVtb3ZlIGEgcGFnaW5hw6fDo28gZGEgbGlzdGFnZW0gKi9cclxuICBASW5wdXQoKSBub1BhZ2luYXRpb246IGJvb2xlYW4gPSBmYWxzZTtcclxuICAvKiogQ2FtaW5obyBkZSByZWRpcmVjaW9uYW1lbnRvIGRvIGl0ZW0gKi9cclxuICBASW5wdXQoKSBpdGVtUGF0aDogc3RyaW5nIHwgbnVsbCA9IFwidmlldy86aWRcIlxyXG4gIElucHV0VHlwZUZpbGUgPSBJbnB1dFR5cGUuRmlsZVxyXG5cclxuICBjb25zdHJ1Y3RvcihcclxuICAgIHB1YmxpYyBzdG9yYWdlU2VydmljZSA6IFN0b3JhZ2VTZXJ2aWNlLFxyXG4gICAgcHJpdmF0ZSBhY3RpdmF0ZWRSb3V0ZTogQWN0aXZhdGVkUm91dGUsXHJcbiAgICBwcml2YXRlIHJvdXRlciAgICAgICAgOiBSb3V0ZXIsXHJcbiAgKSB7IH1cclxuXHJcbiAgUmVkaXJlY3QoZmllbGQ6IFRhYmxlRmllbGQsIGl0ZW06IGFueSk6IHZvaWR7XHJcbiAgICBpZihmaWVsZC5pbmRleCA9PSAnYXRpdm8nKXtcclxuICAgICAgcmV0dXJuO1xyXG4gICAgfWVsc2VcclxuICAgIGlmKGZpZWxkLnR5cGUgID09ICdGaWxlJyl7XHJcbiAgICAgIHJldHVybjtcclxuICAgIH1lbHNle1xyXG4gICAgICBpZih0aGlzLml0ZW1QYXRoKXtcclxuICAgICAgICBjb25zdCBpZCA9IGl0ZW0uaWQ7IFxyXG4gICAgICAgIGNvbnN0IHBhdGggPSB0aGlzLml0ZW1QYXRoLnJlcGxhY2UoXCI6aWRcIiwgaWQudG9TdHJpbmcoKSk7XHJcbiAgICAgICAgdGhpcy5yb3V0ZXIubmF2aWdhdGUoW2AuLyR7cGF0aH1gXSwgeyByZWxhdGl2ZVRvOiB0aGlzLmFjdGl2YXRlZFJvdXRlIH0pXHJcbiAgICAgIH1cclxuICAgIH1cclxuICB9XHJcblxyXG4gIG5nT25Jbml0KCkge1xyXG4gICAgaWYodGhpcy5kZWZhdWx0U2VydmljZSAmJiB0aGlzLmxzdFRhYmxlRmllbGRzLmxlbmd0aCA9PSAwKXtcclxuICAgICAgdGhpcy5sc3RUYWJsZUZpZWxkcyA9IHRoaXMuZGVmYXVsdFNlcnZpY2UubHN0VGFibGVGaWVsZHM7XHJcbiAgICB9XHJcbiAgICBpZih0aGlzLmxzdFRhYmxlRmllbGRzLmxlbmd0aCA9PSAwKXsgY29uc29sZS53YXJuKFwiWyBXYXJuaW5nISBdIFsgVGFibGUgY29uZmlndXJhdGlvbiBpcyBlbXB0eV1cIikgfVxyXG5cclxuICAgIHRoaXMubHN0VGFibGVGaWVsZHMuZmlsdGVyKHRmID0+IHRmLmNvbmZpZ3VyYXRpb24gaW5zdGFuY2VvZiBJbnB1dFNlbGVjdENvbmZpZ3VyYXRpb24pLmZvckVhY2godGYgPT4gdGYuY29uZmlndXJhdGlvbi5sb2FkZXIuUmVmcmVzaCgpKTtcclxuICB9XHJcblxyXG4gIFN3aXRjaE9yZGVyKGZpZWxkOiBUYWJsZUZpZWxkKTogdm9pZHtcclxuICAgIGlmKHRoaXMub3JkZXJCeVByb3BlcnR5ICE9IGZpZWxkLmluZGV4KXtcclxuICAgICAgdGhpcy5vcmRlckJ5UHJvcGVydHkgPSBmaWVsZC5pbmRleDtcclxuICAgICAgdGhpcy5hc2NlbmRpbmcgPSB0cnVlO1xyXG4gICAgfVxyXG4gICAgZWxzZSBpZih0aGlzLmFzY2VuZGluZyl7XHJcbiAgICAgIHRoaXMuYXNjZW5kaW5nID0gZmFsc2U7XHJcbiAgICB9XHJcbiAgICBlbHNleyB0aGlzLm9yZGVyQnlQcm9wZXJ0eSA9IG51bGw7IH1cclxuXHJcbiAgICB0aGlzLm9yZGVyQnlQcm9wZXJ0eUNoYW5nZS5lbWl0KHRoaXMub3JkZXJCeVByb3BlcnR5KVxyXG4gICAgdGhpcy5hc2NlbmRpbmdDaGFuZ2UuZW1pdCh0aGlzLmFzY2VuZGluZyk7XHJcblxyXG4gICAgdGhpcy5FbWl0Q2hhbmdlKCk7XHJcbiAgfVxyXG5cclxuICBFbWl0UGFnZSh2YWx1ZTogbnVtYmVyKTogdm9pZHtcclxuICAgIHRoaXMucGFnZUNoYW5nZS5lbWl0KHZhbHVlKTtcclxuICAgIHRoaXMuRW1pdENoYW5nZSgpXHJcbiAgfVxyXG5cclxuICBFbWl0Q2hhbmdlKCk6IHZvaWR7XHJcbiAgICB0aGlzLnJlZnJlc2hFbWl0dGVyLmVtaXQoKTtcclxuICB9XHJcblxyXG4gIEdldEZpZWxkKGl0ZW06IGFueSwgZmllbGQgOiBUYWJsZUZpZWxkKTogYW55e1xyXG4gICAgY29uc3QgdmFsdWUgPSBpdGVtW2ZpZWxkLmluZGV4XTtcclxuICAgIGNvbnN0IHR5cGUgPSBmaWVsZC50eXBlO1xyXG4gICAgaWYoWydOdW1iZXInLCdEZWNpbWFsJywnQ3VycmVuY3knXS5pbmNsdWRlcyh0eXBlKSl7XHJcbiAgICAgIGNvbnN0IGNvbmZpZzogSW5wdXREZWNpbWFsQ29uZmlndXJhdGlvbiA9IChmaWVsZC5jb25maWd1cmF0aW9uIGFzIElucHV0RGVjaW1hbENvbmZpZ3VyYXRpb24pXHJcbiAgICAgIHJldHVybiBjb25maWcucHJlZml4ICsgJyAnICsgZm9ybWF0TnVtYmVyKHZhbHVlLCBcInB0LUJSXCIsIGAxLiR7Y29uZmlnLnByZWNpc2lvbn0tJHtjb25maWcucHJlY2lzaW9ufWApICsgJyAnICsgY29uZmlnLnN1Zml4O1xyXG4gICAgfWVsc2VcclxuICAgIGlmKHR5cGUgPT0gJ0RhdGVUaW1lJyl7XHJcbiAgICAgIGlmKCF2YWx1ZSl7IHJldHVybiBcIi1cIjsgfVxyXG4gICAgICByZXR1cm4gVXRpbHMuRGF0ZUlTT1RvRERNTVlZWVlISE1NKHZhbHVlKTtcclxuICAgIH1lbHNlXHJcbiAgICBpZih0eXBlID09ICdEYXRlJyl7XHJcbiAgICAgIGlmKCF2YWx1ZSl7IHJldHVybiBcIi1cIjsgfVxyXG4gICAgICByZXR1cm4gVXRpbHMuRGF0ZUlTT1RvRERNTVlZWVkodmFsdWUpO1xyXG4gICAgfVxyXG4gICAgcmV0dXJuIHZhbHVlO1xyXG4gIH1cclxuXHJcbiAgR2V0U2VsZWN0TGFiZWwoaXRlbTogYW55LCB0RmllbGQ6IFRhYmxlRmllbGQpOiBzdHJpbmd7XHJcbiAgICBjb25zdCBjb25maWd1cmF0aW9uOiBJbnB1dFNlbGVjdENvbmZpZ3VyYXRpb24gPSB0RmllbGQuY29uZmlndXJhdGlvbjtcclxuICAgIHJldHVybiBjb25maWd1cmF0aW9uLmxvYWRlci5HZXRMYWJlbCh0aGlzLkdldEZpZWxkKGl0ZW0sIHRGaWVsZCkpO1xyXG4gIH1cclxuXHJcbiAgR2V0VHlwZU9mKHZhbCk6IHN0cmluZ3tcclxuICAgIHJldHVybiB0eXBlb2YodmFsKVxyXG4gIH1cclxuXHJcbiAgQXRpdmFyKGlkKTogdm9pZHtcclxuICAgIHRoaXMuYXRpdmFyRW1pdHRlci5lbWl0KGlkKTtcclxuICB9XHJcblxyXG4gIENoYW5nZUZpbHRlcigpOiB2b2lke1xyXG4gICAgdGhpcy5maWx0ZXJDaGFuZ2UuZW1pdChDb21waWxlTHN0VGFibGVGaWVsZCh0aGlzLmxzdFRhYmxlRmllbGRzKSk7XHJcbiAgICB0aGlzLnJlZnJlc2hFbWl0dGVyLmVtaXQoKTtcclxuICB9XHJcblxyXG4gIEdldFRkQ2xhc3NlcyhmaWVsZCwgaXRlbSk6IHN0cmluZ3tcclxuICAgIHZhciBjbGFzc2VzIDogc3RyaW5nID0gXCJcIjtcclxuICAgIGlmKFsnRGF0ZVRpbWUnLCAnVGltZScsICdEYXRlJ10uaW5jbHVkZXMoZmllbGQudHlwZSkpe1xyXG4gICAgICBjbGFzc2VzICs9ICdmb250LW1vbm8gJztcclxuICAgIH1cclxuICAgIGlmKHRoaXMuY29sdW1uQ2xhc3Mpe1xyXG4gICAgICBjbGFzc2VzICs9IHRoaXMuY29sdW1uQ2xhc3MoZmllbGQuaW5kZXgsIGl0ZW0pO1xyXG4gICAgfVxyXG4gICAgcmV0dXJuIGNsYXNzZXM7XHJcbiAgfVxyXG4gIEdldFRkU3R5bGUoZmllbGQsIGl0ZW0pOiBzdHJpbmd7XHJcbiAgICBpZih0aGlzLmNvbHVtblN0eWxlKXtcclxuICAgICAgcmV0dXJuIHRoaXMuY29sdW1uU3R5bGUoZmllbGQsIGl0ZW0pO1xyXG4gICAgfVxyXG4gICAgcmV0dXJuIFwiXCI7XHJcbiAgfVxyXG59IiwiPHNlY3Rpb24gY2xhc3M9XCJ3LWZ1bGwgaC1mdWxsIHJvdW5kZWQtMnhsIGZsZXggZmxleC1jb2wgb3ZlcmZsb3cteS1oaWRkZW4gcmVsYXRpdmVcIiBbbmdDbGFzc109XCJ7ICdsb2FkaW5nJyA6IGxvYWRpbmcgfVwiPlxyXG4gICAgXHJcbiAgICA8ZGl2IGNsYXNzPVwidW5pcXVlLWNvbnRlaW5lciBkZWZhdWx0LXRyYW5zaXRpb25cIiBbbmdDbGFzc109XCJ7JyEtei01MCAhLXRyYW5zbGF0ZS15LTEyICFvcGFjaXR5LTAnOiAhbG9hZGluZyB9XCI+XHJcbiAgICAgICAgPGxvYWRpbmcgW3R5cGVdPVwiMlwiPjwvbG9hZGluZz5cclxuICAgIDwvZGl2PlxyXG4gICAgPGRpdiBjbGFzcz1cInVuaXF1ZS1jb250ZWluZXIgZGVmYXVsdC10cmFuc2l0aW9uXCIgW25nQ2xhc3NdPVwieychLXotNTAgIS10cmFuc2xhdGUteS0xMiAhb3BhY2l0eS0wJzogaXRlbXMubGVuZ3RoICE9IDAgfHwgbG9hZGluZyB9XCI+XHJcbiAgICAgICAgPGI+PGlvbi1pY29uIGNsYXNzPVwiYWxpZ24tc3ViXCIgbmFtZT1cInJlbW92ZS1jaXJjbGVcIj48L2lvbi1pY29uPiBTZW0gZGFkb3M8L2I+XHJcbiAgICA8L2Rpdj5cclxuXHJcbiAgICA8ZGl2IGlkPVwid3JhcHBlclwiIGNsYXNzPVwicmVsYXRpdmUgb3ZlcmZsb3cteS1hdXRvIHctZnVsbCBncm93LTAgbWItYXV0byBwYi0yXCI+XHJcbiAgICAgICAgPHRhYmxlIGNsYXNzPVwiei0yMFwiPlxyXG4gICAgICAgICAgICA8dGhlYWQ+XHJcbiAgICAgICAgICAgICAgICA8dHI+XHJcbiAgICAgICAgICAgICAgICAgICAgPHRoIHNjb3BlPVwiY29sXCIgY2xhc3M9XCJweC0zICFoLTEwXCIgKm5nSWY9XCJhY29lc1RlbXBsYXRlXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuPkHDp8O1ZXM8L3NwYW4+XHJcbiAgICAgICAgICAgICAgICAgICAgPC90aD5cclxuICAgICAgICAgICAgICAgICAgICBAZm9yIChmaWVsZCBvZiBsc3RUYWJsZUZpZWxkczsgbGV0IGkgPSAkaW5kZXg7IHRyYWNrIGkpIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgQGlmICghZmllbGQuaGlkZGVuKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dGggc2NvcGU9XCJjb2xcIiBjbGFzcz1cInAtMiBweC0zXCIgaWQ9XCJ0aC1maWx0ZXItc2VsZWN0XCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImZsZXggaXRlbXMtY2VudGVyIGp1c3RpZnktc3RhcnQgaC1mdWxsXCIgc3R5bGU9XCJ3aGl0ZS1zcGFjZTogdmFyKC0taW9uLXRhYmxlLWZpbHRlci13cmFwKTtcIj4gXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEBpZighbm9GaWx0ZXJzKXtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx0aC1maWx0ZXIgKm5nSWY9XCIoZmllbGQudHlwZSAhPSBJbnB1dFR5cGVGaWxlKSAmJiAhKGZpZWxkLmZpbHRlciAmJiBmaWVsZC5kaXNhYmxlZENoYW5nZSgpKSAmJiAhbm9GaWx0ZXJzXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtmaWVsZF09XCJmaWVsZFwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoY2hhbmdlKT1cIkNoYW5nZUZpbHRlcigpXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgID48L3RoLWZpbHRlcj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3Bhbj57e2ZpZWxkLmhlYWRlcn19PC9zcGFuPlxyXG5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGEgKm5nSWY9XCIhKCEoZmllbGQudHlwZSAhPSBJbnB1dFR5cGVGaWxlKSAmJiAhKGZpZWxkLmZpbHRlciAmJiBmaWVsZC5kaXNhYmxlZENoYW5nZSgpKSkgJiYgIW5vRmlsdGVyc1wiIGNsYXNzPVwib3JkZXItc3dpdGNoIGgtNSBmbGV4IGl0ZW1zLWNlbnRlciBqdXN0aWZ5LWNlbnRlciBweC0xIG1sLTIgc2hyaW5rLTAgY3Vyc29yLXBvaW50ZXIgcm91bmRlZC0yeGxcIiAoY2xpY2spPVwiU3dpdGNoT3JkZXIoZmllbGQpXCIgW25nQ2xhc3NdPVwieyAnb3JkZXJpbmctYXNjJyA6IG9yZGVyQnlQcm9wZXJ0eSA9PSBmaWVsZC5pbmRleCAmJiBhc2NlbmRpbmcsICdvcmRlcmluZy1kZXNjJyA6IG9yZGVyQnlQcm9wZXJ0eSA9PSBmaWVsZC5pbmRleCAmJiAhYXNjZW5kaW5nfVwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGlvbi1pY29uIGlkPVwidXBcIiAgIG5hbWU9XCJhcnJvdy11cFwiICAgY2xhc3M9XCItbXQtMVwiPjwvaW9uLWljb24+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8aW9uLWljb24gaWQ9XCJkb3duXCIgbmFtZT1cImFycm93LWRvd25cIiBjbGFzcz1cIi1tbC0xIC1tYi0xXCI+PC9pb24taWNvbj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9hPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPC90aD5cclxuICAgICAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIDwvdHI+XHJcbiAgICAgICAgICAgIDwvdGhlYWQ+XHJcbiAgICAgICAgICAgIDx0Ym9keT5cclxuICAgICAgICAgICAgICAgIDx0ciBbaGlkZGVuXT1cImxvYWRpbmdcIiAqbmdGb3I9XCJsZXQgaXRlbSBvZiBpdGVtc1wiPlxyXG4gICAgICAgICAgICAgICAgICAgIEBpZihhY29lc1RlbXBsYXRlKXtcclxuICAgICAgICAgICAgICAgICAgICAgICAgPHRkIGNsYXNzPVwid2hpdGVzcGFjZS1ub3dyYXAgcHktMSBweC0zXCIgW3N0eWxlXT1cIkdldFRkU3R5bGUoJ0Fjb2VzJywgaXRlbSlcIiA+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bmctY29udGFpbmVyICpuZ1RlbXBsYXRlT3V0bGV0PVwiYWNvZXNUZW1wbGF0ZTsgY29udGV4dDogeyAkaW1wbGljaXQ6IGl0ZW0gfVwiPjwvbmctY29udGFpbmVyPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8L3RkPlxyXG4gICAgICAgICAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICAgICAgICAgICAgQGZvciAoZmllbGQgb2YgbHN0VGFibGVGaWVsZHM7IHRyYWNrICRpbmRleCkge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBAaWYgKCFmaWVsZC5oaWRkZW4pIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx0ZCBjbGFzcz1cInB4LTMgcHktMlwiIFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtuZ0NsYXNzXT1cIkdldFRkQ2xhc3NlcyhmaWVsZCwgaXRlbSlcIiBcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbc3R5bGVdPVwiR2V0VGRTdHlsZShmaWVsZCwgaXRlbSlcIiBcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoY2xpY2spPVwiUmVkaXJlY3QoZmllbGQsIGl0ZW0pXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT1cIndoaXRlLXNwYWNlOiB2YXIoLS1pb24tdGFibGUtcm93LXdyYXApO1wiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgQGlmIChmaWVsZC5pbmRleCA9PSAnYXRpdm8nKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJ3LWZ1bGwgaC1mdWxsIGZsZXggaXRlbXMtY2VudGVyIGp1c3RpZnktc3RhcnRcIiBbcm91dGVyTGlua109XCJudWxsXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8aW9uLXRvZ2dsZSBbY2hlY2tlZF09XCJpdGVtW2ZpZWxkLmluZGV4XVwiIFtkaXNhYmxlZF09XCJsb2FkaW5nXCIgKGlvbkNoYW5nZSk9XCJBdGl2YXIoaXRlbS5pZClcIiA+PC9pb24tdG9nZ2xlPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9IEBlbHNlIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgQHN3aXRjaCAoZmllbGQudHlwZSkge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgQGNhc2UgKFwiQm9vbFwiKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgQGlmIChmaWVsZC5jb25maWd1cmF0aW9uLnR5cGUgPT0gXCJ0b2dnbGVcIikge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiLWZ1bGwgaC1mdWxsIGZsZXggaXRlbXMtY2VudGVyIGp1c3RpZnktc3RhcnRcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxpb24tdG9nZ2xlIFtjaGVja2VkXT1cIml0ZW1bZmllbGQuaW5kZXhdXCIgW2Rpc2FibGVkXT1cInRydWVcIj48L2lvbi10b2dnbGU+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBAZWxzZSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCItZnVsbCBoLWZ1bGwgZmxleCBpdGVtcy1jZW50ZXIganVzdGlmeS1zdGFydFwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGlvbi1jaGVja2JveCBbY2hlY2tlZF09XCJpdGVtW2ZpZWxkLmluZGV4XVwiIFtkaXNhYmxlZF09XCJ0cnVlXCI+PC9pb24tY2hlY2tib3g+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEBjYXNlIChcIkZpbGVcIikge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkb3dubG9hZC1idXR0b24gWyhuZ01vZGVsKV09XCJpdGVtW2ZpZWxkLmluZGV4XVwiIFtjb25maWd1cmF0aW9uXT1cImZpZWxkLmNvbmZpZ3VyYXRpb25cIj48L2Rvd25sb2FkLWJ1dHRvbj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEBjYXNlIChcIlNlbGVjdFwiKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAge3tHZXRTZWxlY3RMYWJlbChpdGVtLCBmaWVsZCl9fVxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgQGRlZmF1bHQge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHt7R2V0RmllbGQoaXRlbSwgZmllbGQpfX0gXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3RkPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgPC90cj5cclxuXHJcbiAgICAgICAgICAgICAgICA8bmctY29udGVudCBzZWxlY3Q9XCJbc2xvdD1pdGVtLWVuZF1cIj48L25nLWNvbnRlbnQ+XHJcbiAgICAgICAgICAgIDwvdGJvZHk+XHJcbiAgICAgICAgPC90YWJsZT5cclxuICAgIDwvZGl2PlxyXG4gICAgQGlmKCFub1BhZ2luYXRpb24pe1xyXG4gICAgICAgIDxkaXYgY2xhc3M9XCJzaHJpbmstMCBtdC1hdXRvIHctZnVsbFwiPlxyXG4gICAgICAgICAgICA8ZGVmYXVsdC1wYWdpbmF0aW9uXHJcbiAgICAgICAgICAgICAgICBbcGFnZV09XCJwYWdlXCJcclxuICAgICAgICAgICAgICAgIChwYWdlQ2hhbmdlKT1cIkVtaXRQYWdlKCRldmVudClcIlxyXG4gICAgICAgICAgICAgICAgW3RvdGFsXT1cInRvdGFsXCJcclxuICAgICAgICAgICAgICAgIFtsaW1pdF09XCJsaW1pdFwiXHJcbiAgICAgICAgICAgICAgICBbbGVuZ3RoXT1cIml0ZW1zLmxlbmd0aFwiXHJcbiAgICAgICAgICAgICAgICBbbG9hZGluZ109XCJsb2FkaW5nXCJcclxuICAgICAgICAgICAgPjwvZGVmYXVsdC1wYWdpbmF0aW9uPlxyXG4gICAgICAgIDwvZGl2PlxyXG4gICAgfVxyXG48L3NlY3Rpb24+XHJcbiJdfQ==
|
|
217
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGVmYXVsdC10YWJsZS5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9zcmMvbGliL2NvbXBvbmVudHMvZGVmYXVsdC9kZWZhdWx0LXRhYmxlL2RlZmF1bHQtdGFibGUuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vc3JjL2xpYi9jb21wb25lbnRzL2RlZmF1bHQvZGVmYXVsdC10YWJsZS9kZWZhdWx0LXRhYmxlLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsWUFBWSxFQUFFLEtBQUssRUFBVSxNQUFNLEVBQUUsV0FBVyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzVGLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDekQsT0FBTyxFQUFFLFlBQVksRUFBRyxNQUFNLGlCQUFpQixDQUFDO0FBRWhELE9BQU8sRUFBYyxvQkFBb0IsRUFBRSxNQUFNLHdDQUF3QyxDQUFDO0FBRTFGLE9BQU8sRUFBRSx3QkFBd0IsRUFBRSxNQUFNLG9FQUFvRSxDQUFDO0FBQzlHLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSx1Q0FBdUMsQ0FBQztBQUd2RSxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0seUJBQXlCLENBQUM7QUFDcEQsT0FBTyxFQUFFLEtBQUssRUFBRSxNQUFNLGlDQUFpQyxDQUFDOzs7Ozs7Ozs7OztBQUV4RCxrQ0FBa0M7QUFNbEMsTUFBTSxPQUFPLHFCQUFxQjtJQTBEaEMsWUFDUyxjQUErQixFQUM5QixjQUE4QixFQUM5QixNQUFzQjtRQUZ2QixtQkFBYyxHQUFkLGNBQWMsQ0FBaUI7UUFDOUIsbUJBQWMsR0FBZCxjQUFjLENBQWdCO1FBQzlCLFdBQU0sR0FBTixNQUFNLENBQWdCO1FBaER0QixnQkFBVyxHQUF5QixJQUFJLFlBQVksRUFBVSxDQUFDO1FBSS9ELGVBQVUsR0FBeUIs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QUs7Z0JBQ0ksVUFBVTtzQkFBbkIsTUFBTTtnQkFHRSxlQUFlO3NCQUF2QixLQUFLO2dCQUNJLHFCQUFxQjtzQkFBOUIsTUFBTTtnQkFLRSxTQUFTO3NCQUFqQixLQUFLO2dCQUNJLGVBQWU7c0JBQXhCLE1BQU07Z0JBSVUsTUFBTTtzQkFBdEIsS0FBSzt1QkFBQyxRQUFRO2dCQUNMLFlBQVk7c0JBQXJCLE1BQU07Z0JBR1csYUFBYTtzQkFBOUIsTUFBTTt1QkFBQyxRQUFRO2dCQUNHLGNBQWM7c0JBQWhDLE1BQU07dUJBQUMsU0FBUztnQkFDUixPQUFPO3NCQUFmLEtBQUs7Z0JBR0csS0FBSztzQkFBYixLQUFLO2dCQUdHLGNBQWM7c0JBQXRCLEtBQUs7Z0JBR0csU0FBUztzQkFBakIsS0FBSztnQkFHRyxXQUFXO3NCQUFuQixLQUFLO2dCQUVHLFdBQVc7c0JBQW5CLEtBQUs7Z0JBRUcsWUFBWTtzQkFBcEIsS0FBSztnQkFFRyxRQUFRO3NCQUFoQixLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBFdmVudEVtaXR0ZXIsIElucHV0LCBPbkluaXQsIE91dHB1dCwgVGVtcGxhdGVSZWYgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgQWN0aXZhdGVkUm91dGUsIFJvdXRlciB9IGZyb20gJ0Bhbmd1bGFyL3JvdXRlcic7XHJcbmltcG9ydCB7IGZvcm1hdE51bWJlciAgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xyXG5cclxuaW1wb3J0IHsgQ29tcGFyaXNvbiwgQ29tcGlsZUxzdFRhYmxlRmllbGQgfSBmcm9tICcuLi8uLi8uLi9jbGFzc2VzL2NvbXBhcmlzb24vY29tcGFyaXNvbic7XHJcbmltcG9ydCB7IElucHV0RGVjaW1hbENvbmZpZ3VyYXRpb24gfSBmcm9tICcuLi8uLi8uLi9jb21wb25lbnRzL2lucHV0cy9pbnB1dC1kZWNpbWFsL2lucHV0LWRlY2ltYWwuY29uZmlndXJhdGlvbic7XHJcbmltcG9ydCB7IElucHV0U2VsZWN0Q29uZmlndXJhdGlvbiB9IGZyb20gJy4uLy4uLy4uL2NvbXBvbmVudHMvaW5wdXRzL2lucHV0LXNlbGVjdC9pbnB1dC5zZWxlY3QuY29uZmlndXJhdGlvbic7XHJcbmltcG9ydCB7IFN0b3JhZ2VTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vLi4vc2VydmljZXMvd2ViL3N0b3JhZ2Uuc2VydmljZSc7XHJcbmltcG9ydCB7IEh0dHBTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vLi4vc2VydmljZXMvd2ViL2h0dHAuc2VydmljZSc7XHJcbmltcG9ydCB7IFRhYmxlRmllbGQgfSBmcm9tICcuLi8uLi8uLi9jbGFzc2VzL2lucHV0cy90YWJsZS1maWVsZCc7XHJcbmltcG9ydCB7IElucHV0VHlwZSB9IGZyb20gJy4uLy4uL2lucHV0cy9pbnB1dC10eXBlJztcclxuaW1wb3J0IHsgVXRpbHMgfSBmcm9tICcuLi8uLi8uLi9zZXJ2aWNlcy91dGlscy5zZXJ2aWNlJztcclxuXHJcbi8qKiBDb21wb25lbnRlIGRlIHRhYmVsYSBwYWRyw6NvICovXHJcbkBDb21wb25lbnQoe1xyXG4gIHNlbGVjdG9yOiAnZGVmYXVsdC10YWJsZScsXHJcbiAgdGVtcGxhdGVVcmw6ICcuL2RlZmF1bHQtdGFibGUuY29tcG9uZW50Lmh0bWwnLFxyXG4gIHN0eWxlVXJsczogWycuL2RlZmF1bHQtdGFibGUuY29tcG9uZW50LnNjc3MnXSxcclxufSlcclxuZXhwb3J0IGNsYXNzIERlZmF1bHRUYWJsZUNvbXBvbmVudDxUIGV4dGVuZHMgSHR0cFNlcnZpY2U+IGltcGxlbWVudHMgT25Jbml0IHtcclxuICBcclxuICAvKiogU2VydmljZSBhIHNlciB1dGlsaXphZG8gbmEgbGlzdGFnZW0gKi9cclxuICBASW5wdXQoJ3NlcnZpY2UnKSBkZWZhdWx0U2VydmljZTogVDtcclxuLyoqIFRlbXBsYXRlIGRlIGHDp8O1ZXMsIGRldmUgc2VyIHVtIGVsZW1lbnRvIGBgYDxuZy10ZW1wbGF0ZT5gYGAgKi9cclxuICBASW5wdXQoKSBhY29lc1RlbXBsYXRlOiBUZW1wbGF0ZVJlZjxhbnk+O1xyXG5cclxuICAvLyNyZWdpb24gWyBQYWdpbmF0aW9uIF1cclxuICAvKiogVmFsb3IgdG90YWwgZGUgZGFkb3MgKi9cclxuICBASW5wdXQoKSB0b3RhbDogbnVtYmVyO1xyXG5cclxuICAvKiogTsO6bWVybyBkZSBww6FnaW5hcyBtw6F4aW1vICh1c2FuZG8gdHdvIHdheSBkYXRhIGJpbmRpbmcpICovXHJcbiAgQElucHV0KCkgbGltaXQ6IG51bWJlcjtcclxuICBAT3V0cHV0KCkgbGltaXRDaGFuZ2U6IEV2ZW50RW1pdHRlcjxudW1iZXI+ID0gbmV3IEV2ZW50RW1pdHRlcjxudW1iZXI+KCk7XHJcbiAgXHJcbiAgLyoqIFZhbG9yIGRhIHBhZ2luYSwgc2V0YWRvID0gMSBxdWFuZG8gdHJvY2Etc2UgbyB2YWxvciBkZSBsaW1pdGUgZGUgcGFnaW5hcyAodXNhbmRvIHR3byB3YXkgZGF0YSBiaW5kaW5nKSAqL1xyXG4gIEBJbnB1dCgpIHBhZ2U6IG51bWJlcjtcclxuICBAT3V0cHV0KCkgcGFnZUNoYW5nZTogRXZlbnRFbWl0dGVyPG51bWJlcj4gPSBuZXcgRXZlbnRFbWl0dGVyPG51bWJlcj4oKTtcclxuICBcclxuICAvKiogUHJvcHJpZWRhZGUgZGUgb3JkZW5hw6fDo28gKHVzYW5kbyB0d28gd2F5IGRhdGEgYmluZGluZykgKi9cclxuICBASW5wdXQoKSBvcmRlckJ5UHJvcGVydHk6IHN0cmluZyB8IG51bGw7XHJcbiAgQE91dHB1dCgpIG9yZGVyQnlQcm9wZXJ0eUNoYW5nZTogRXZlbnRFbWl0dGVyPHN0cmluZyB8IG51bGw+ID0gbmV3IEV2ZW50RW1pdHRlcjxzdHJpbmcgfCBudWxsPigpO1xyXG4gIFxyXG4gIC8qKiBQcm9wcmllZGFkZSBkZSBvcmRlbmHDp8Ojb1xyXG4gICAqIFNlID0gdHJ1ZSAgT3JkZW5hcsOhIGRlIG1lbm9yIGFvIG1haW9yIFxyXG4gICAqIFNlID0gZmFsc2UgT3JkZW5hcsOhIGRlIG1haW9yIGFvIG1lbm9yICh1c2FuZG8gdHdvIHdheSBkYXRhIGJpbmRpbmcpICovXHJcbiAgQElucHV0KCkgYXNjZW5kaW5nOiBib29sZWFuO1xyXG4gIEBPdXRwdXQoKSBhc2NlbmRpbmdDaGFuZ2U6IEV2ZW50RW1pdHRlcjxib29sZWFuPiA9IG5ldyBFdmVudEVtaXR0ZXI8Ym9vbGVhbj4oKTtcclxuICAvLyNlbmRyZWdpb24gWyBQYWdpbmF0aW9uIF1cclxuXHJcbiAgLyoqIEZpbHRyb3MgKHVzYW5kbyB0d28gd2F5IGRhdGEgYmluZGluZykgKi8gIFxyXG4gIEBJbnB1dCgnZmlsdGVyJykgZmlsdGVyOiBDb21wYXJpc29uW10gPSBbXTtcclxuICBAT3V0cHV0KCkgZmlsdGVyQ2hhbmdlOiBFdmVudEVtaXR0ZXI8Q29tcGFyaXNvbltdPiA9IG5ldyBFdmVudEVtaXR0ZXI8Q29tcGFyaXNvbltdPigpO1xyXG4gIFxyXG4gIC8qKiBFdmVudG8gZW1pdGlkbyBxdWFuZG8gdW0gZG9zIGRhZG9zIMOpIGF0aXZhZG8uIEVtaXRlIG8gaWQgZG8gZGFkbyAqLyAgXHJcbiAgQE91dHB1dCgnYXRpdmFyJykgYXRpdmFyRW1pdHRlcjogRXZlbnRFbWl0dGVyPG51bWJlcj4gPSBuZXcgRXZlbnRFbWl0dGVyPG51bWJlcj47XHJcbiAgQE91dHB1dCgncmVmcmVzaCcpIHJlZnJlc2hFbWl0dGVyOiBFdmVudEVtaXR0ZXI8dm9pZD4gPSBuZXcgRXZlbnRFbWl0dGVyPHZvaWQ+KCk7XHJcbiAgQElucHV0KCkgbG9hZGluZzogYm9vbGVhbjtcclxuXHJcbiAgLyoqIExpc3RhIGRlIGRhZG9zIGEgc2VyIGV4aWJpZG9zICovXHJcbiAgQElucHV0KCkgaXRlbXM6IGFueVtdID0gW107XHJcbiAgXHJcbiAgLyoqIExpc3RhIGRlIGNhbXBvcyBhIHNlciBleGliaWRvcyAqL1xyXG4gIEBJbnB1dCgpIGxzdFRhYmxlRmllbGRzOiBUYWJsZUZpZWxkW10gPSBbXTtcclxuXHJcbiAgLyoqIFJlbW92ZSBvcyBmaWx0cm9zIG5vIGNhYmXDp2FsaG8gZGEgdGFiZWxhICAqL1xyXG4gIEBJbnB1dCgpIG5vRmlsdGVyczogYm9vbGVhbiA9IGZhbHNlO1xyXG4gIFxyXG4gIC8qKiBBcGxpY2EgY2xhc3NlcyBkZSBDU1MgbmEgY29sdW5hIGRlIGFjaXJkbyBjb20gbyByZXRvcm5vIGRhIGZ1bsOnw6NvIHBhc3NhZGEgY29tbyBwYXJhbWV0cm8gICovXHJcbiAgQElucHV0KCkgY29sdW1uQ2xhc3M6ICgoaW5kZXg6c3RyaW5nLCBvYmplY3Q6IGFueSkgPT4gc3RyaW5nKSB8IG51bGwgPSBudWxsO1xyXG4gIC8qKiBBcGxpY2Egc3R5bGUgZGUgQ1NTIG5hIGNvbHVuYSBkZSBhY2lyZG8gY29tIG8gcmV0b3JubyBkYSBmdW7Dp8OjbyBwYXNzYWRhIGNvbW8gcGFyYW1ldHJvICAqL1xyXG4gIEBJbnB1dCgpIGNvbHVtblN0eWxlOiAoKGluZGV4OnN0cmluZywgb2JqZWN0OiBhbnkpID0+IHN0cmluZykgfCBudWxsID0gbnVsbDtcclxuICAvKiogUmVtb3ZlIGEgcGFnaW5hw6fDo28gZGEgbGlzdGFnZW0gKi9cclxuICBASW5wdXQoKSBub1BhZ2luYXRpb246IGJvb2xlYW4gPSBmYWxzZTtcclxuICAvKiogQ2FtaW5obyBkZSByZWRpcmVjaW9uYW1lbnRvIGRvIGl0ZW0gKi9cclxuICBASW5wdXQoKSBpdGVtUGF0aDogc3RyaW5nIHwgbnVsbCA9IFwidmlldy86aWRcIlxyXG4gIElucHV0VHlwZUZpbGUgPSBJbnB1dFR5cGUuRmlsZVxyXG5cclxuICBjb25zdHJ1Y3RvcihcclxuICAgIHB1YmxpYyBzdG9yYWdlU2VydmljZSA6IFN0b3JhZ2VTZXJ2aWNlLFxyXG4gICAgcHJpdmF0ZSBhY3RpdmF0ZWRSb3V0ZTogQWN0aXZhdGVkUm91dGUsXHJcbiAgICBwcml2YXRlIHJvdXRlciAgICAgICAgOiBSb3V0ZXIsXHJcbiAgKSB7IH1cclxuXHJcbiAgUmVkaXJlY3QoZmllbGQ6IFRhYmxlRmllbGQsIGl0ZW06IGFueSk6IHZvaWR7XHJcbiAgICBpZihmaWVsZC5pbmRleCA9PSAnYXRpdm8nKXtcclxuICAgICAgcmV0dXJuO1xyXG4gICAgfWVsc2VcclxuICAgIGlmKGZpZWxkLnR5cGUgID09ICdGaWxlJyl7XHJcbiAgICAgIHJldHVybjtcclxuICAgIH1lbHNle1xyXG4gICAgICBpZih0aGlzLml0ZW1QYXRoKXtcclxuICAgICAgICBjb25zdCBpZCA9IGl0ZW0uaWQ7IFxyXG4gICAgICAgIGNvbnN0IHBhdGggPSB0aGlzLml0ZW1QYXRoLnJlcGxhY2UoXCI6aWRcIiwgaWQudG9TdHJpbmcoKSk7XHJcbiAgICAgICAgdGhpcy5yb3V0ZXIubmF2aWdhdGUoW2AuLyR7cGF0aH1gXSwgeyByZWxhdGl2ZVRvOiB0aGlzLmFjdGl2YXRlZFJvdXRlIH0pXHJcbiAgICAgIH1cclxuICAgIH1cclxuICB9XHJcblxyXG4gIG5nT25Jbml0KCkge1xyXG4gICAgaWYodGhpcy5kZWZhdWx0U2VydmljZSAmJiB0aGlzLmxzdFRhYmxlRmllbGRzLmxlbmd0aCA9PSAwKXtcclxuICAgICAgdGhpcy5sc3RUYWJsZUZpZWxkcyA9IHRoaXMuZGVmYXVsdFNlcnZpY2UubHN0VGFibGVGaWVsZHM7XHJcbiAgICB9XHJcbiAgICBpZih0aGlzLmxzdFRhYmxlRmllbGRzLmxlbmd0aCA9PSAwKXsgY29uc29sZS53YXJuKFwiWyBXYXJuaW5nISBdIFsgVGFibGUgY29uZmlndXJhdGlvbiBpcyBlbXB0eV1cIikgfVxyXG5cclxuICAgIHRoaXMubHN0VGFibGVGaWVsZHMuZmlsdGVyKHRmID0+IHRmLmNvbmZpZ3VyYXRpb24gaW5zdGFuY2VvZiBJbnB1dFNlbGVjdENvbmZpZ3VyYXRpb24pLmZvckVhY2godGYgPT4gdGYuY29uZmlndXJhdGlvbi5sb2FkZXIuUmVmcmVzaCgpKTtcclxuICB9XHJcblxyXG4gIFN3aXRjaE9yZGVyKGZpZWxkOiBUYWJsZUZpZWxkKTogdm9pZHtcclxuICAgIGlmKHRoaXMub3JkZXJCeVByb3BlcnR5ICE9IGZpZWxkLmluZGV4KXtcclxuICAgICAgdGhpcy5vcmRlckJ5UHJvcGVydHkgPSBmaWVsZC5pbmRleDtcclxuICAgICAgdGhpcy5hc2NlbmRpbmcgPSB0cnVlO1xyXG4gICAgfVxyXG4gICAgZWxzZSBpZih0aGlzLmFzY2VuZGluZyl7XHJcbiAgICAgIHRoaXMuYXNjZW5kaW5nID0gZmFsc2U7XHJcbiAgICB9XHJcbiAgICBlbHNleyB0aGlzLm9yZGVyQnlQcm9wZXJ0eSA9IG51bGw7IH1cclxuXHJcbiAgICB0aGlzLm9yZGVyQnlQcm9wZXJ0eUNoYW5nZS5lbWl0KHRoaXMub3JkZXJCeVByb3BlcnR5KVxyXG4gICAgdGhpcy5hc2NlbmRpbmdDaGFuZ2UuZW1pdCh0aGlzLmFzY2VuZGluZyk7XHJcblxyXG4gICAgdGhpcy5FbWl0Q2hhbmdlKCk7XHJcbiAgfVxyXG5cclxuICBFbWl0UGFnZSh2YWx1ZTogbnVtYmVyKTogdm9pZHtcclxuICAgIHRoaXMucGFnZUNoYW5nZS5lbWl0KHZhbHVlKTtcclxuICAgIHRoaXMuRW1pdENoYW5nZSgpXHJcbiAgfVxyXG5cclxuICBFbWl0Q2hhbmdlKCk6IHZvaWR7XHJcbiAgICB0aGlzLnJlZnJlc2hFbWl0dGVyLmVtaXQoKTtcclxuICB9XHJcblxyXG4gIEdldEZpZWxkKGl0ZW06IGFueSwgZmllbGQgOiBUYWJsZUZpZWxkKTogYW55e1xyXG4gICAgY29uc3QgdmFsdWUgPSBpdGVtW2ZpZWxkLmluZGV4XTtcclxuICAgIGNvbnN0IHR5cGUgPSBmaWVsZC50eXBlO1xyXG4gICAgaWYoWydOdW1iZXInLCdEZWNpbWFsJywnQ3VycmVuY3knXS5pbmNsdWRlcyh0eXBlKSl7XHJcbiAgICAgIGNvbnN0IGNvbmZpZzogSW5wdXREZWNpbWFsQ29uZmlndXJhdGlvbiA9IChmaWVsZC5jb25maWd1cmF0aW9uIGFzIElucHV0RGVjaW1hbENvbmZpZ3VyYXRpb24pXHJcbiAgICAgIHJldHVybiBjb25maWcucHJlZml4ICsgJyAnICsgZm9ybWF0TnVtYmVyKHZhbHVlLCBcInB0LUJSXCIsIGAxLiR7Y29uZmlnLnByZWNpc2lvbn0tJHtjb25maWcucHJlY2lzaW9ufWApICsgJyAnICsgY29uZmlnLnN1Zml4O1xyXG4gICAgfWVsc2VcclxuICAgIGlmKHR5cGUgPT0gJ0RhdGVUaW1lJyl7XHJcbiAgICAgIGlmKCF2YWx1ZSl7IHJldHVybiBcIi1cIjsgfVxyXG4gICAgICByZXR1cm4gVXRpbHMuRGF0ZUlTT1RvRERNTVlZWVlISE1NKHZhbHVlKTtcclxuICAgIH1lbHNlXHJcbiAgICBpZih0eXBlID09ICdEYXRlJyl7XHJcbiAgICAgIGlmKCF2YWx1ZSl7IHJldHVybiBcIi1cIjsgfVxyXG4gICAgICByZXR1cm4gVXRpbHMuRGF0ZUlTT1RvRERNTVlZWVkodmFsdWUpO1xyXG4gICAgfSBcclxuICAgIHJldHVybiB2YWx1ZTtcclxuICB9XHJcblxyXG4gIEdldFNlbGVjdExhYmVsKGl0ZW06IGFueSwgdEZpZWxkOiBUYWJsZUZpZWxkKTogc3RyaW5ne1xyXG4gICAgY29uc3QgY29uZmlndXJhdGlvbjogSW5wdXRTZWxlY3RDb25maWd1cmF0aW9uID0gdEZpZWxkLmNvbmZpZ3VyYXRpb247XHJcbiAgICBpZighY29uZmlndXJhdGlvbi5tdWx0aXBsZSl7XHJcbiAgICAgIHJldHVybiBjb25maWd1cmF0aW9uLmxvYWRlci5HZXRMYWJlbCh0aGlzLkdldEZpZWxkKGl0ZW0sIHRGaWVsZCkpO1xyXG4gICAgfWVsc2V7XHJcbiAgICAgIGNvbnN0IHZhbHVlcyA9IHRoaXMuR2V0RmllbGQoaXRlbSwgdEZpZWxkKTtcclxuICAgICAgaWYodmFsdWVzICYmIHZhbHVlcy5sZW5ndGggPiAwKXtcclxuICAgICAgICByZXR1cm4gdmFsdWVzLm1hcCh2ID0+IGNvbmZpZ3VyYXRpb24ubG9hZGVyLkdldExhYmVsKHYpKS5qb2luKFwiLCBcIik7XHJcbiAgICAgIH1lbHNle1xyXG4gICAgICAgIHJldHVybiBcIlwiO1xyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBHZXRUeXBlT2YodmFsKTogc3RyaW5ne1xyXG4gICAgcmV0dXJuIHR5cGVvZih2YWwpXHJcbiAgfVxyXG5cclxuICBBdGl2YXIoaWQpOiB2b2lke1xyXG4gICAgdGhpcy5hdGl2YXJFbWl0dGVyLmVtaXQoaWQpO1xyXG4gIH1cclxuXHJcbiAgQ2hhbmdlRmlsdGVyKCk6IHZvaWR7XHJcbiAgICB0aGlzLmZpbHRlckNoYW5nZS5lbWl0KENvbXBpbGVMc3RUYWJsZUZpZWxkKHRoaXMubHN0VGFibGVGaWVsZHMpKTtcclxuICAgIHRoaXMucmVmcmVzaEVtaXR0ZXIuZW1pdCgpO1xyXG4gIH1cclxuXHJcbiAgR2V0VGRDbGFzc2VzKGZpZWxkLCBpdGVtKTogc3RyaW5ne1xyXG4gICAgdmFyIGNsYXNzZXMgOiBzdHJpbmcgPSBcIlwiO1xyXG4gICAgaWYoWydEYXRlVGltZScsICdUaW1lJywgJ0RhdGUnXS5pbmNsdWRlcyhmaWVsZC50eXBlKSl7XHJcbiAgICAgIGNsYXNzZXMgKz0gJ2ZvbnQtbW9ubyAnO1xyXG4gICAgfVxyXG4gICAgaWYodGhpcy5jb2x1bW5DbGFzcyl7XHJcbiAgICAgIGNsYXNzZXMgKz0gdGhpcy5jb2x1bW5DbGFzcyhmaWVsZC5pbmRleCwgaXRlbSk7XHJcbiAgICB9XHJcbiAgICByZXR1cm4gY2xhc3NlcztcclxuICB9XHJcbiAgR2V0VGRTdHlsZShmaWVsZCwgaXRlbSk6IHN0cmluZ3tcclxuICAgIGlmKHRoaXMuY29sdW1uU3R5bGUpe1xyXG4gICAgICByZXR1cm4gdGhpcy5jb2x1bW5TdHlsZShmaWVsZCwgaXRlbSk7XHJcbiAgICB9XHJcbiAgICByZXR1cm4gXCJcIjtcclxuICB9XHJcbn0iLCI8c2VjdGlvbiBjbGFzcz1cInctZnVsbCBoLWZ1bGwgcm91bmRlZC0yeGwgZmxleCBmbGV4LWNvbCBvdmVyZmxvdy15LWhpZGRlbiByZWxhdGl2ZVwiIFtuZ0NsYXNzXT1cInsgJ2xvYWRpbmcnIDogbG9hZGluZyB9XCI+XHJcbiAgICBcclxuICAgIDxkaXYgY2xhc3M9XCJ1bmlxdWUtY29udGVpbmVyIGRlZmF1bHQtdHJhbnNpdGlvblwiIFtuZ0NsYXNzXT1cInsnIS16LTUwICEtdHJhbnNsYXRlLXktMTIgIW9wYWNpdHktMCc6ICFsb2FkaW5nIH1cIj5cclxuICAgICAgICA8bG9hZGluZyBbdHlwZV09XCIyXCI+PC9sb2FkaW5nPlxyXG4gICAgPC9kaXY+XHJcbiAgICA8ZGl2IGNsYXNzPVwidW5pcXVlLWNvbnRlaW5lciBkZWZhdWx0LXRyYW5zaXRpb25cIiBbbmdDbGFzc109XCJ7JyEtei01MCAhLXRyYW5zbGF0ZS15LTEyICFvcGFjaXR5LTAnOiBpdGVtcy5sZW5ndGggIT0gMCB8fCBsb2FkaW5nIH1cIj5cclxuICAgICAgICA8Yj48aW9uLWljb24gY2xhc3M9XCJhbGlnbi1zdWJcIiBuYW1lPVwicmVtb3ZlLWNpcmNsZVwiPjwvaW9uLWljb24+IFNlbSBkYWRvczwvYj5cclxuICAgIDwvZGl2PlxyXG5cclxuICAgIDxkaXYgaWQ9XCJ3cmFwcGVyXCIgY2xhc3M9XCJyZWxhdGl2ZSBvdmVyZmxvdy15LWF1dG8gdy1mdWxsIGdyb3ctMCBtYi1hdXRvIHBiLTJcIj5cclxuICAgICAgICA8dGFibGUgY2xhc3M9XCJ6LTIwXCI+XHJcbiAgICAgICAgICAgIDx0aGVhZD5cclxuICAgICAgICAgICAgICAgIDx0cj5cclxuICAgICAgICAgICAgICAgICAgICA8dGggc2NvcGU9XCJjb2xcIiBjbGFzcz1cInB4LTMgIWgtMTBcIiAqbmdJZj1cImFjb2VzVGVtcGxhdGVcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4+QcOnw7Vlczwvc3Bhbj5cclxuICAgICAgICAgICAgICAgICAgICA8L3RoPlxyXG4gICAgICAgICAgICAgICAgICAgIEBmb3IgKGZpZWxkIG9mIGxzdFRhYmxlRmllbGRzOyBsZXQgaSA9ICRpbmRleDsgdHJhY2sgaSkge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBAaWYgKCFmaWVsZC5oaWRkZW4pIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx0aCBzY29wZT1cImNvbFwiIGNsYXNzPVwicC0yIHB4LTNcIiBpZD1cInRoLWZpbHRlci1zZWxlY3RcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZmxleCBpdGVtcy1jZW50ZXIganVzdGlmeS1zdGFydCBoLWZ1bGxcIiBzdHlsZT1cIndoaXRlLXNwYWNlOiB2YXIoLS1pb24tdGFibGUtZmlsdGVyLXdyYXApO1wiPiBcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgQGlmKCFub0ZpbHRlcnMpe1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHRoLWZpbHRlciAqbmdJZj1cIihmaWVsZC50eXBlICE9IElucHV0VHlwZUZpbGUpICYmICEoZmllbGQuZmlsdGVyICYmIGZpZWxkLmRpc2FibGVkQ2hhbmdlKCkpICYmICFub0ZpbHRlcnNcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW2ZpZWxkXT1cImZpZWxkXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIChjaGFuZ2UpPVwiQ2hhbmdlRmlsdGVyKClcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPjwvdGgtZmlsdGVyPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuPnt7ZmllbGQuaGVhZGVyfX08L3NwYW4+XHJcblxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YSAqbmdJZj1cIiEoIShmaWVsZC50eXBlICE9IElucHV0VHlwZUZpbGUpICYmICEoZmllbGQuZmlsdGVyICYmIGZpZWxkLmRpc2FibGVkQ2hhbmdlKCkpKSAmJiAhbm9GaWx0ZXJzXCIgY2xhc3M9XCJvcmRlci1zd2l0Y2ggaC01IGZsZXggaXRlbXMtY2VudGVyIGp1c3RpZnktY2VudGVyIHB4LTEgbWwtMiBzaHJpbmstMCBjdXJzb3ItcG9pbnRlciByb3VuZGVkLTJ4bFwiIChjbGljayk9XCJTd2l0Y2hPcmRlcihmaWVsZClcIiBbbmdDbGFzc109XCJ7ICdvcmRlcmluZy1hc2MnIDogb3JkZXJCeVByb3BlcnR5ID09IGZpZWxkLmluZGV4ICYmIGFzY2VuZGluZywgJ29yZGVyaW5nLWRlc2MnIDogb3JkZXJCeVByb3BlcnR5ID09IGZpZWxkLmluZGV4ICYmICFhc2NlbmRpbmd9XCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8aW9uLWljb24gaWQ9XCJ1cFwiICAgbmFtZT1cImFycm93LXVwXCIgICBjbGFzcz1cIi1tdC0xXCI+PC9pb24taWNvbj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxpb24taWNvbiBpZD1cImRvd25cIiBuYW1lPVwiYXJyb3ctZG93blwiIGNsYXNzPVwiLW1sLTEgLW1iLTFcIj48L2lvbi1pY29uPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2E+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3RoPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgPC90cj5cclxuICAgICAgICAgICAgPC90aGVhZD5cclxuICAgICAgICAgICAgPHRib2R5PlxyXG4gICAgICAgICAgICAgICAgPHRyIFtoaWRkZW5dPVwibG9hZGluZ1wiICpuZ0Zvcj1cImxldCBpdGVtIG9mIGl0ZW1zXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgQGlmKGFjb2VzVGVtcGxhdGUpe1xyXG4gICAgICAgICAgICAgICAgICAgICAgICA8dGQgY2xhc3M9XCJ3aGl0ZXNwYWNlLW5vd3JhcCBweS0xIHB4LTNcIiBbc3R5bGVdPVwiR2V0VGRTdHlsZSgnQWNvZXMnLCBpdGVtKVwiID5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxuZy1jb250YWluZXIgKm5nVGVtcGxhdGVPdXRsZXQ9XCJhY29lc1RlbXBsYXRlOyBjb250ZXh0OiB7ICRpbXBsaWNpdDogaXRlbSB9XCI+PC9uZy1jb250YWluZXI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDwvdGQ+XHJcbiAgICAgICAgICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICAgICAgICAgICAgICBAZm9yIChmaWVsZCBvZiBsc3RUYWJsZUZpZWxkczsgdHJhY2sgJGluZGV4KSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIEBpZiAoIWZpZWxkLmhpZGRlbikge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPHRkIGNsYXNzPVwicHgtMyBweS0yXCIgXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW25nQ2xhc3NdPVwiR2V0VGRDbGFzc2VzKGZpZWxkLCBpdGVtKVwiIFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtzdHlsZV09XCJHZXRUZFN0eWxlKGZpZWxkLCBpdGVtKVwiIFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIChjbGljayk9XCJSZWRpcmVjdChmaWVsZCwgaXRlbSlcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPVwid2hpdGUtc3BhY2U6IHZhcigtLWlvbi10YWJsZS1yb3ctd3JhcCk7XCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgID5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBAaWYgKGZpZWxkLmluZGV4ID09ICdhdGl2bycpIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInctZnVsbCBoLWZ1bGwgZmxleCBpdGVtcy1jZW50ZXIganVzdGlmeS1zdGFydFwiIFtyb3V0ZXJMaW5rXT1cIm51bGxcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxpb24tdG9nZ2xlIFtjaGVja2VkXT1cIml0ZW1bZmllbGQuaW5kZXhdXCIgW2Rpc2FibGVkXT1cImxvYWRpbmdcIiAoaW9uQ2hhbmdlKT1cIkF0aXZhcihpdGVtLmlkKVwiID48L2lvbi10b2dnbGU+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0gQGVsc2Uge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBAc3dpdGNoIChmaWVsZC50eXBlKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBAY2FzZSAoXCJCb29sXCIpIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBAaWYgKGZpZWxkLmNvbmZpZ3VyYXRpb24udHlwZSA9PSBcInRvZ2dsZVwiKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCItZnVsbCBoLWZ1bGwgZmxleCBpdGVtcy1jZW50ZXIganVzdGlmeS1zdGFydFwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGlvbi10b2dnbGUgW2NoZWNrZWRdPVwiaXRlbVtmaWVsZC5pbmRleF1cIiBbZGlzYWJsZWRdPVwidHJ1ZVwiPjwvaW9uLXRvZ2dsZT5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEBlbHNlIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cIi1mdWxsIGgtZnVsbCBmbGV4IGl0ZW1zLWNlbnRlciBqdXN0aWZ5LXN0YXJ0XCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8aW9uLWNoZWNrYm94IFtjaGVja2VkXT1cIml0ZW1bZmllbGQuaW5kZXhdXCIgW2Rpc2FibGVkXT1cInRydWVcIj48L2lvbi1jaGVja2JveD5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgQGNhc2UgKFwiRmlsZVwiKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRvd25sb2FkLWJ1dHRvbiBbKG5nTW9kZWwpXT1cIml0ZW1bZmllbGQuaW5kZXhdXCIgW2NvbmZpZ3VyYXRpb25dPVwiZmllbGQuY29uZmlndXJhdGlvblwiPjwvZG93bmxvYWQtYnV0dG9uPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgQGNhc2UgKFwiU2VsZWN0XCIpIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB7e0dldFNlbGVjdExhYmVsKGl0ZW0sIGZpZWxkKX19XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBAZGVmYXVsdCB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAge3tHZXRGaWVsZChpdGVtLCBmaWVsZCl9fSBcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvdGQ+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICA8L3RyPlxyXG5cclxuICAgICAgICAgICAgICAgIDxuZy1jb250ZW50IHNlbGVjdD1cIltzbG90PWl0ZW0tZW5kXVwiPjwvbmctY29udGVudD5cclxuICAgICAgICAgICAgPC90Ym9keT5cclxuICAgICAgICA8L3RhYmxlPlxyXG4gICAgPC9kaXY+XHJcbiAgICBAaWYoIW5vUGFnaW5hdGlvbil7XHJcbiAgICAgICAgPGRpdiBjbGFzcz1cInNocmluay0wIG10LWF1dG8gdy1mdWxsXCI+XHJcbiAgICAgICAgICAgIDxkZWZhdWx0LXBhZ2luYXRpb25cclxuICAgICAgICAgICAgICAgIFtwYWdlXT1cInBhZ2VcIlxyXG4gICAgICAgICAgICAgICAgKHBhZ2VDaGFuZ2UpPVwiRW1pdFBhZ2UoJGV2ZW50KVwiXHJcbiAgICAgICAgICAgICAgICBbdG90YWxdPVwidG90YWxcIlxyXG4gICAgICAgICAgICAgICAgW2xpbWl0XT1cImxpbWl0XCJcclxuICAgICAgICAgICAgICAgIFtsZW5ndGhdPVwiaXRlbXMubGVuZ3RoXCJcclxuICAgICAgICAgICAgICAgIFtsb2FkaW5nXT1cImxvYWRpbmdcIlxyXG4gICAgICAgICAgICA+PC9kZWZhdWx0LXBhZ2luYXRpb24+XHJcbiAgICAgICAgPC9kaXY+XHJcbiAgICB9XHJcbjwvc2VjdGlvbj5cclxuIl19
|
|
@@ -82,6 +82,7 @@ export class ThFilterComponent {
|
|
|
82
82
|
]);
|
|
83
83
|
}
|
|
84
84
|
}
|
|
85
|
+
this.isFilterActive = this.field.filter != null && this.field.filter.length > 0;
|
|
85
86
|
}
|
|
86
87
|
Change() {
|
|
87
88
|
if (((typeof (this.model) == 'string' && !this.model) ||
|
|
@@ -111,7 +112,7 @@ export class ThFilterComponent {
|
|
|
111
112
|
this.changeEmitter.emit();
|
|
112
113
|
return;
|
|
113
114
|
}
|
|
114
|
-
else if ([InputType.String].includes(this.field.type)) {
|
|
115
|
+
else if ([InputType.String, InputType.TextArea].includes(this.field.type)) {
|
|
115
116
|
this.field.filter = [new StringProperty(this.field.index).IsContainedIn(this.model)];
|
|
116
117
|
this.isFilterActive = true;
|
|
117
118
|
this.changeEmitter.emit();
|
|
@@ -129,7 +130,7 @@ export class ThFilterComponent {
|
|
|
129
130
|
this.changeEmitter.emit();
|
|
130
131
|
return;
|
|
131
132
|
}
|
|
132
|
-
else if (
|
|
133
|
+
else if ([InputType.Date, InputType.DateTime].includes(this.field.type)) {
|
|
133
134
|
if (this.modelMinimum) {
|
|
134
135
|
if (this.field.type == InputType.Date) {
|
|
135
136
|
this.modelMinimum = this.modelMinimum.split("T")[0] + "T23:59:59";
|
|
@@ -179,4 +180,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImpo
|
|
|
179
180
|
type: Output,
|
|
180
181
|
args: ['change']
|
|
181
182
|
}] } });
|
|
182
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGgtZmlsdGVyLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3NyYy9saWIvY29tcG9uZW50cy9kZWZhdWx0L2RlZmF1bHQtdGFibGUvdGgtZmlsdGVyL3RoLWZpbHRlci5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi9zcmMvbGliL2NvbXBvbmVudHMvZGVmYXVsdC9kZWZhdWx0LXRhYmxlL3RoLWZpbHRlci90aC1maWx0ZXIuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxZQUFZLEVBQUUsS0FBSyxFQUFVLE1BQU0sRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUUvRSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sd0NBQXdDLENBQUM7QUFDcEUsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLDRCQUE0QixDQUFDO0FBQ3ZELE9BQU8sRUFBRSxLQUFLLEVBQUUsTUFBTSxvQ0FBb0MsQ0FBQztBQUUzRCxPQUFPLEVBQUUseUJBQXlCLEVBQUUsMEJBQTBCLEVBQUUsd0JBQXdCLEVBQUUsTUFBTSwyREFBMkQsQ0FBQztBQUM1SixPQUFPLEVBQUUsd0JBQXdCLEVBQUUsTUFBTSx5REFBeUQsQ0FBQztBQUNuRyxPQUFPLEVBQUUsd0JBQXdCLEVBQUUsTUFBTSx5REFBeUQsQ0FBQztBQUNuRyxPQUFPLEVBQUUsc0JBQXNCLEVBQUUsTUFBTSxxREFBcUQsQ0FBQztBQUM3RixPQUFPLEVBQUUsc0JBQXNCLEVBQUUsTUFBTSxxREFBcUQsQ0FBQztBQUM3RixPQUFPLEVBQUUsc0JBQXNCLEVBQUUsTUFBTSxxREFBcUQsQ0FBQztBQUc3RixPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSw2REFBNkQsQ0FBQztBQUMvRixPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sNERBQTRELENBQUM7QUFDN0YsT0FBTyxFQUFFLGNBQWMsRUFBRSxN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dHRlciwgSW5wdXQsIE9uSW5pdCwgT3V0cHV0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcblxyXG5pbXBvcnQgeyBUYWJsZUZpZWxkIH0gZnJvbSAnLi4vLi4vLi4vLi4vY2xhc3Nlcy9pbnB1dHMvdGFibGUtZmllbGQnO1xyXG5pbXBvcnQgeyBJbnB1dFR5cGUgfSBmcm9tICcuLi8uLi8uLi9pbnB1dHMvaW5wdXQtdHlwZSc7XHJcbmltcG9ydCB7IFV0aWxzIH0gZnJvbSAnLi4vLi4vLi4vLi4vc2VydmljZXMvdXRpbHMuc2VydmljZSc7XHJcblxyXG5pbXBvcnQgeyBJbnB1dERlY2ltYWxDb25maWd1cmF0aW9uLCBJbnB1dEN1cnJlbmN5Q29uZmlndXJhdGlvbiwgSW5wdXROdW1iZXJDb25maWd1cmF0aW9uIH0gZnJvbSAnLi4vLi4vLi4vaW5wdXRzL2lucHV0LWRlY2ltYWwvaW5wdXQtZGVjaW1hbC5jb25maWd1cmF0aW9uJztcclxuaW1wb3J0IHsgSW5wdXRTdHJpbmdDb25maWd1cmF0aW9uIH0gZnJvbSAnLi4vLi4vLi4vaW5wdXRzL2lucHV0LXN0cmluZy9pbnB1dC1zdHJpbmcuY29uZmlndXJhdGlvbic7XHJcbmltcG9ydCB7IElucHV0U2VsZWN0Q29uZmlndXJhdGlvbiB9IGZyb20gJy4uLy4uLy4uL2lucHV0cy9pbnB1dC1zZWxlY3QvaW5wdXQuc2VsZWN0LmNvbmZpZ3VyYXRpb24nO1xyXG5pbXBvcnQgeyBJbnB1dERhdGVDb25maWd1cmF0aW9uIH0gZnJvbSAnLi4vLi4vLi4vaW5wdXRzL2lucHV0LWRhdGUvaW5wdXQtZGF0ZS5jb25maWd1cmF0aW9uJztcclxuaW1wb3J0IHsgSW5wdXRGaWxlQ29uZmlndXJhdGlvbiB9IGZyb20gJy4uLy4uLy4uL2lucHV0cy9pbnB1dC1maWxlL2lucHV0LWZpbGUuY29uZmlndXJhdGlvbic7XHJcbmltcG9ydCB7IElucHV0Qm9vbENvbmZpZ3VyYXRpb24gfSBmcm9tICcuLi8uLi8uLi9pbnB1dHMvaW5wdXQtYm9vbC9pbnB1dC1ib29sLmNvbmZpZ3VyYXRpb24nO1xyXG5pbXBvcnQgeyBJbnB1dENvbmZpZ3VyYXRpb24gfSBmcm9tICcuLi8uLi8uLi9pbnB1dHMvaW5wdXQtY29uZmlndXJhdGlvbic7XHJcblxyXG5pbXBvcnQgeyBJbXBsaWNpdFByb3BlcnR5IH0gZnJvbSAnLi4vLi4vLi4vLi4vY2xhc3Nlcy9jb21wYXJpc29uL3Byb3BlcnRpZXMvaW1wbGljaXQtcHJvcGVydHknO1xyXG5pbXBvcnQgeyBEZWNpbWFsUHJvcGVydHkgfSBmcm9tICcuLi8uLi8uLi8uLi9jbGFzc2VzL2NvbXBhcmlzb24vcHJvcGVydGllcy9kZWNpbWFsLXByb3BlcnR5JztcclxuaW1wb3J0IHsgU3RyaW5nUHJvcGVydHkgfSBmcm9tICcuLi8uLi8uLi8uLi9jbGFzc2VzL2NvbXBhcmlzb24vcHJvcGVydGllcy9zdHJpbmctcHJvcGVydHknO1xyXG5pbXBvcnQgeyBCb29sUHJvcGVydHkgfSBmcm9tICcuLi8uLi8uLi8uLi9jbGFzc2VzL2NvbXBhcmlzb24vcHJvcGVydGllcy9ib29sLXByb3BlcnR5JztcclxuaW1wb3J0IHsgRGF0ZVByb3BlcnR5IH0gZnJvbSAnLi4vLi4vLi4vLi4vY2xhc3Nlcy9jb21wYXJpc29uL3Byb3BlcnRpZXMvZGF0ZS1wcm9wZXJ0eSc7XHJcblxyXG5pbXBvcnQgeyBDb21wYXJpc29uIH0gZnJvbSAnLi4vLi4vLi4vLi4vY2xhc3Nlcy9jb21wYXJpc29uL2NvbXBhcmlzb24nO1xyXG5cclxuQENvbXBvbmVudCh7XHJcbiAgc2VsZWN0b3I6ICd0aC1maWx0ZXInLFxyXG4gIHRlbXBsYXRlVXJsOiAnLi90aC1maWx0ZXIuY29tcG9uZW50Lmh0bWwnLFxyXG4gIHN0eWxlVXJsczogWycuL3RoLWZpbHRlci5jb21wb25lbnQuc2NzcyddLFxyXG59KVxyXG5leHBvcnQgY2xhc3MgVGhGaWx0ZXJDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQge1xyXG5cclxuICBASW5wdXQoKSBmaWVsZCA6IFRhYmxlRmllbGQgXHJcblxyXG4gIGd1aWQ6IHN0cmluZyA9IFV0aWxzLkdlbmVyYXRlR1VJRCgpO1xyXG4gIGNvbmZpZ3VyYXRpb246IElucHV0Q29uZmlndXJhdGlvbjtcclxuXHJcbiAgY29uc3RydWN0b3IoKSB7IH1cclxuXHJcbiAgbmdPbkluaXQoKSB7XHJcbiAgICB0aGlzLmNvbmZpZ3VyYXRpb24gPSB0aGlzLmZpZWxkLmNvbmZpZ3VyYXRpb247XHJcbiAgICBcclxuICAgIGlmKCF0aGlzLmNvbmZpZ3VyYXRpb24pe1xyXG4gICAgICBpZihbSW5wdXRUeXBlLkRhdGUsIElucHV0VHlwZS5EYXRlVGltZSwgSW5wdXRUeXBlLlRpbWVdLmluY2x1ZGVzKHRoaXMuZmllbGQudHlwZSkpeyB0aGlzLmNvbmZpZ3VyYXRpb24gPSBuZXcgSW5wdXREYXRlQ29uZmlndXJhdGlvbigpIH0gZWxzZVxyXG4gICAgICBpZih0aGlzLmZpZWxkLnR5cGUgPT0gSW5wdXRUeXBlLkZpbGUgICAgKXsgdGhpcy5jb25maWd1cmF0aW9uID0gbmV3IElucHV0RmlsZUNvbmZpZ3VyYXRpb24oKSAgICAgfWVsc2VcclxuICAgICAgaWYodGhpcy5maWVsZC50eXBlID09IElucHV0VHlwZS5OdW1iZXIgICl7IHRoaXMuY29uZmlndXJhdGlvbiA9IG5ldyBJbnB1dE51bWJlckNvbmZpZ3VyYXRpb24oKSAgIH1lbHNlXHJcbiAgICAgIGlmKHRoaXMuZmllbGQudHlwZSA9PSBJbnB1dFR5cGUuRGVjaW1hbCApeyB0aGlzLmNvbmZpZ3VyYXRpb24gPSBuZXcgSW5wdXREZWNpbWFsQ29uZmlndXJhdGlvbigpICB9ZWxzZVxyXG4gICAgICBpZih0aGlzLmZpZWxkLnR5cGUgPT0gSW5wdXRUeXBlLkN1cnJlbmN5KXsgdGhpcy5jb25maWd1cmF0aW9uID0gbmV3IElucHV0Q3VycmVuY3lDb25maWd1cmF0aW9uKCkgfWVsc2VcclxuICAgICAgaWYodGhpcy5maWVsZC50eXBlID09IElucHV0VHlwZS5TdHJpbmcgICl7IHRoaXMuY29uZmlndXJhdGlvbiA9IG5ldyBJbnB1dFN0cmluZ0NvbmZpZ3VyYXRpb24oKSAgIH1lbHNlXHJcbiAgICAgIGlmKHRoaXMuZmllbGQudHlwZSA9PSBJbnB1dFR5cGUuU2VsZWN0ICApeyB0aGlzLmNvbmZpZ3VyYXRpb24gPSBuZXcgSW5wdXRTZWxlY3RDb25maWd1cmF0aW9uKCkgICB9ZWxzZVxyXG4gICAgICBpZih0aGlzLmZpZWxkLnR5cGUgPT0gSW5wdXRUeXBlLlRleHRBcmVhKXsgXHJcbiAgICAgICAgdGhpcy5jb25maWd1cmF0aW9uID0gbmV3IElucHV0U3RyaW5nQ29uZmlndXJhdGlvbigpOyBcclxuICAgICAgfWVsc2UgXHJcbiAgICAgIGlmKHRoaXMuZmllbGQudHlwZSA9PSBJbnB1dFR5cGUuQm9vbCAgICApeyBcclxuICAgICAgICB0aGlzLmNvbmZpZ3VyYXRpb24gPSBuZXcgSW5wdXRCb29sQ29uZmlndXJhdGlvbigpOyBcclxuICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIGlmKHRoaXMuY29uZmlndXJhdGlvbiBpbnN0YW5jZW9mIElucHV0U2VsZWN0Q29uZmlndXJhdGlvbil7XHJcbiAgICAgIHRoaXMuY29uZmlndXJhdGlvbiA9IG5ldyBJbnB1dFNlbGVjdENvbmZpZ3VyYXRpb24oXHJcbiAgICAgICAgdGhpcy5jb25maWd1cmF0aW9uLmJpbmRWYWx1ZSxcclxuICAgICAgICB0aGlzLmNvbmZpZ3VyYXRpb24uYmluZExhYmVsLFxyXG4gICAgICAgIHRydWUsXHJcbiAgICAgICAgdHJ1ZSxcclxuICAgICAgICB0aGlzLmNvbmZpZ3VyYXRpb24ubG9hZEZyb20sXHJcbiAgICAgICAgdHJ1ZSxcclxuICAgICAgKTtcclxuICAgIH1cclxuXHJcbiAgICBpZih0aGlzLmNvbmZpZ3VyYXRpb24gaW5zdGFuY2VvZiBJbnB1dERhdGVDb25maWd1cmF0aW9uKXtcclxuICAgICAgdGhpcy5jb25maWd1cmF0aW9uID0gbmV3IElucHV0RGF0ZUNvbmZpZ3VyYXRpb24odHJ1ZSk7XHJcbiAgICB9XHJcblxyXG4gICAgaWYodGhpcy5maWVsZC50eXBlID09IElucHV0VHlwZS5Cb29sKXtcclxuICAgICAgaWYodGhpcy5maWVsZC5pbmRleCA9PSBcImF0aXZvXCIpe1xyXG4gICAgICAgIHRoaXMuY29uZmlndXJhdGlvbiA9IHRoaXMuY29uZmlndXJhdGlvbiA9IG5ldyBJbnB1dFNlbGVjdENvbmZpZ3VyYXRpb24oJ3ZhbHVlJywgJ2xhYmVsJywgdHJ1ZSwgdHJ1ZSwgW1xyXG4gICAgICAgICAgeyBsYWJlbDogJ1NvbWVudGUgQXRpdm9zJyAgICAsIHZhbHVlOiB0cnVlICB9LFxyXG4gICAgICAgICAgeyBsYWJlbDogJ1NvbWVudGUgTsOjbyBBdGl2b3MnLCB2YWx1ZTogZmFsc2UgfSxcclxuICAgICAgICBdKTtcclxuICAgICAgICB0aGlzLm1vZGVsID0gdHJ1ZTtcclxuICAgICAgfVxyXG4gICAgICBlbHNle1xyXG4gICAgICAgIHRoaXMuY29uZmlndXJhdGlvbiA9IG5ldyBJbnB1dFNlbGVjdENvbmZpZ3VyYXRpb24oJ3ZhbHVlJywgJ2xhYmVsJywgdHJ1ZSwgZmFsc2UsIFtcclxuICAgICAgICAgIHsgbGFiZWw6ICdTaW0nLCB2YWx1ZTogdHJ1ZSAgfSxcclxuICAgICAgICAgIHsgbGFiZWw6ICdOw6NvJywgdmFsdWU6IGZhbHNlIH0sXHJcbiAgICAgICAgXSlcclxuICAgICAgfVxyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgaXNGaWx0ZXJBY3RpdmU6IGJvb2xlYW4gPSBmYWxzZTtcclxuXHJcbiAgbW9kZWw6IGFueSB8IG51bGwgPSBudWxsO1xyXG4gIG1vZGVsTWluaW11bTogYW55IHwgbnVsbCA9IG51bGw7XHJcbiAgbW9kZWxNYXhpbXVtOiBhbnkgfCBudWxsID0gbnVsbDtcclxuICBAT3V0cHV0KCdjaGFuZ2UnKSBjaGFuZ2VFbWl0dGVyOiBFdmVudEVtaXR0ZXI8dm9pZD4gPSBuZXcgRXZlbnRFbWl0dGVyPHZvaWQ+KCk7XHJcblxyXG4gIENoYW5nZSgpOiB2b2lke1xyXG4gICAgaWYoKCh0eXBlb2YodGhpcy5tb2RlbCkgPT0gJ3N0cmluZycgJiYgIXRoaXMubW9kZWwpIHx8IFxyXG4gICAgICAgICB0aGlzLm1vZGVsID09IG51bGwgfHwgXHJcbiAgICAgICAgIChBcnJheS5pc0FycmF5KHRoaXMubW9kZWwpICYmIHRoaXMubW9kZWwubGVuZ3RoID09IDApKSAmJiBcclxuICAgICAgIXRoaXMubW9kZWxNaW5pbXVtICYmICF0aGlzLm1vZGVsTWF4aW11bSlcclxuICAgIHtcclxuICAgICAgdGhpcy5TZXRJbmFjdGl2ZSgpO1xyXG4gICAgICByZXR1cm47XHJcbiAgICB9XHJcblxyXG4gICAgaWYoW0lucHV0VHlwZS5DdXJyZW5jeSwgSW5wdXRUeXBlLkRlY2ltYWwsIElucHV0VHlwZS5OdW1iZXJdLmluY2x1ZGVzKHRoaXMuZmllbGQudHlwZSkpe1xyXG4gICAgICB2YXIgQ29tcGFyaXNvbjogQ29tcGFyaXNvbltdID0gW107XHJcbiAgICAgIGlmKHRoaXMubW9kZWxNaW5pbXVtKXtcclxuICAgICAgICB2YXIgQmlnZ2VyICA9IG5ldyBEZWNpbWFsUHJvcGVydHkodGhpcy5maWVsZC5pbmRleCkuR3JlYXRlclRoYW5PckVxdWFsKHRoaXMubW9kZWxNaW5pbXVtKTtcclxuICAgICAgICBDb21wYXJpc29uID0gW0JpZ2dlcl07XHJcbiAgICAgIH1cclxuICAgICAgaWYodGhpcy5tb2RlbE1heGltdW0pe1xyXG4gICAgICAgIHZhciBTbWFsbGVyID0gbmV3IERlY2ltYWxQcm9wZXJ0eSh0aGlzLmZpZWxkLmluZGV4KS5MZXNzVGhhbk9yRXF1YWwodGhpcy5tb2RlbE1heGltdW0pO1xyXG4gICAgICAgIGlmKENvbXBhcmlzb24ubGVuZ3RoKXsgQ29tcGFyaXNvbi5wdXNoKFNtYWxsZXIpOyB9IFxyXG4gICAgICAgIGVsc2UgICAgICAgICAgICAgICAgIHsgQ29tcGFyaXNvbiA9IFtTbWFsbGVyXTsgfVxyXG4gICAgICB9XHJcblxyXG4gICAgICB0aGlzLmZpZWxkLmZpbHRlciA9IENvbXBhcmlzb247XHJcbiAgICAgIHRoaXMuaXNGaWx0ZXJBY3RpdmUgPSB0cnVlO1xyXG4gICAgICB0aGlzLmNoYW5nZUVtaXR0ZXIuZW1pdCgpO1xyXG4gICAgICByZXR1cm47XHJcbiAgICB9ZWxzZVxyXG4gICAgaWYoW0lucHV0VHlwZS5TdHJpbmddLmluY2x1ZGVzKHRoaXMuZmllbGQudHlwZSkpe1xyXG4gICAgICB0aGlzLmZpZWxkLmZpbHRlciAgID0gW25ldyBTdHJpbmdQcm9wZXJ0eSh0aGlzLmZpZWxkLmluZGV4KS5Jc0NvbnRhaW5lZEluKHRoaXMubW9kZWwpXTtcclxuICAgICAgdGhpcy5pc0ZpbHRlckFjdGl2ZSA9IHRydWU7XHJcbiAgICAgIHRoaXMuY2hhbmdlRW1pdHRlci5lbWl0KCk7XHJcbiAgICAgIHJldHVybjtcclxuICAgIH1lbHNlXHJcbiAgICBpZih0aGlzLmZpZWxkLnR5cGUgPT0gSW5wdXRUeXBlLlNlbGVjdCl7XHJcbiAgICAgIHRoaXMuZmllbGQuZmlsdGVyICAgPSBbbmV3IEltcGxpY2l0UHJvcGVydHkodGhpcy5maWVsZC5pbmRleCkuSXNDb250YWluZWRJbih0aGlzLm1vZGVsKV07XHJcbiAgICAgIHRoaXMuaXNGaWx0ZXJBY3RpdmUgPSB0cnVlO1xyXG4gICAgICB0aGlzLmNoYW5nZUVtaXR0ZXIuZW1pdCgpO1xyXG4gICAgICByZXR1cm47XHJcbiAgICB9ZWxzZVxyXG4gICAgaWYodGhpcy5maWVsZC50eXBlID09IElucHV0VHlwZS5Cb29sKXtcclxuICAgICAgdGhpcy5maWVsZC5maWx0ZXIgICA9IFtuZXcgQm9vbFByb3BlcnR5KHRoaXMuZmllbGQuaW5kZXgpLkVxdWFscyh0aGlzLm1vZGVsKV07XHJcbiAgICAgIHRoaXMuaXNGaWx0ZXJBY3RpdmUgPSB0cnVlO1xyXG4gICAgICB0aGlzLmNoYW5nZUVtaXR0ZXIuZW1pdCgpO1xyXG4gICAgICByZXR1cm47XHJcbiAgICB9IGVsc2VcclxuICAgIGlmICh0aGlzLmZpZWxkLnR5cGUgPT0gSW5wdXRUeXBlLkRhdGUgfHwgdGhpcy5maWVsZC50eXBlID09IElucHV0VHlwZS5EYXRlVGltZSl7XHJcbiAgICAgIGlmKHRoaXMubW9kZWxNaW5pbXVtKXtcclxuICAgICAgICBpZih0aGlzLmZpZWxkLnR5cGUgPT0gSW5wdXRUeXBlLkRhdGUpeyB0aGlzLm1vZGVsTWluaW11bSA9IHRoaXMubW9kZWxNaW5pbXVtLnNwbGl0KFwiVFwiKVswXSArIFwiVDIzOjU5OjU5XCIgfVxyXG4gICAgICB9XHJcbiAgICAgIGlmKHRoaXMubW9kZWxNYXhpbXVtKXtcclxuICAgICAgICBpZih0aGlzLmZpZWxkLnR5cGUgPT0gSW5wdXRUeXBlLkRhdGUpeyB0aGlzLm1vZGVsTWF4aW11bSA9IHRoaXMubW9kZWxNYXhpbXVtLnNwbGl0KFwiVFwiKVswXSArIFwiVDIzOjU5OjU5XCIgfVxyXG4gICAgICB9XHJcbiAgICBcclxuICAgICAgdmFyIENvbXBhcmlzb246IENvbXBhcmlzb25bXSA9IFtdO1xyXG4gICAgICBpZih0aGlzLm1vZGVsTWluaW11bSl7XHJcbiAgICAgICAgdmFyIEJpZ2dlckRhdGUgID0gbmV3IERhdGVQcm9wZXJ0eSh0aGlzLmZpZWxkLmluZGV4KS5HcmVhdGVyVGhhbk9yRXF1YWwodGhpcy5tb2RlbE1pbmltdW0pO1xyXG4gICAgICAgIENvbXBhcmlzb24gPSBbQmlnZ2VyRGF0ZV07XHJcbiAgICAgIH1cclxuICAgICAgaWYodGhpcy5tb2RlbE1heGltdW0pe1xyXG4gICAgICAgIHZhciBTbWFsbGVyRGF0ZSA9IG5ldyBEYXRlUHJvcGVydHkodGhpcy5maWVsZC5pbmRleCkuTGVzc1RoYW5PckVxdWFsKHRoaXMubW9kZWxNYXhpbXVtKTtcclxuICAgICAgICBpZihDb21wYXJpc29uLmxlbmd0aCl7IENvbXBhcmlzb24ucHVzaChTbWFsbGVyRGF0ZSk7IH0gXHJcbiAgICAgICAgZWxzZSAgICAgICAgICAgICAgICAgeyBDb21wYXJpc29uID0gW1NtYWxsZXJEYXRlXSAgOyB9XHJcbiAgICAgIH1cclxuICAgICAgdGhpcy5maWVsZC5maWx0ZXIgPSBDb21wYXJpc29uO1xyXG4gICAgICB0aGlzLmlzRmlsdGVyQWN0aXZlID0gdHJ1ZTtcclxuICAgICAgdGhpcy5jaGFuZ2VFbWl0dGVyLmVtaXQoKTtcclxuICAgICAgcmV0dXJuO1xyXG4gICAgfVxyXG5cclxuICAgIHRoaXMuY2hhbmdlRW1pdHRlci5lbWl0KCk7XHJcbiAgfVxyXG5cclxuICBTZXRJbmFjdGl2ZSgpOiB2b2lke1xyXG4gICAgdGhpcy5maWVsZC5maWx0ZXIgPSBudWxsO1xyXG4gICAgdGhpcy5pc0ZpbHRlckFjdGl2ZSA9IGZhbHNlO1xyXG4gICAgdGhpcy5jaGFuZ2VFbWl0dGVyLmVtaXQoKTtcclxuICAgIHJldHVybjtcclxuICB9XHJcbn1cclxuIiwiPGRpdiBjbGFzcz1cImgtNSBhc3BlY3Qtc3F1YXJlIG1yLTEgZmxleCBpdGVtcy1jZW50ZXIganVzdGlmeS1jZW50ZXIgY3Vyc29yLXBvaW50ZXJcIj5cclxuICA8aW9uLWljb24gaWQ9XCJ7e2d1aWR9fS10cmlnZ2VyXCIgbmFtZT1cImZpbHRlci1jaXJjbGVcIiBjbGFzcz1cInRleHQteGwgYWxpZ24tc3ViIHNpemUtZnVsbFwiIFtjb2xvcl09XCJpc0ZpbHRlckFjdGl2ZSA/ICdzZWNvbmRhcnknIDogJ21lZGl1bScgXCI+PC9pb24taWNvbj5cclxuPC9kaXY+XHJcblxyXG48aW9uLXBvcG92ZXIgW2tlZXBDb250ZW50c01vdW50ZWRdPVwidHJ1ZVwiIGNsYXNzPVwicG9wb3Zlci1maWx0ZXJcIiB0cmlnZ2VyPVwie3tndWlkfX0tdHJpZ2dlclwiIHRyaWdnZXJBY3Rpb249XCJjbGlja1wiPlxyXG4gIDxuZy10ZW1wbGF0ZT5cclxuICAgIDxpb24tY2FyZCBjbGFzcz1cIm0tMCAhYm9yZGVyLTAgYmctcHJpbWFyeS8zMFwiPlxyXG4gICAgICA8aW9uLWNhcmQtaGVhZGVyIGNsYXNzPVwiYmctdHJhbnNwYXJlbnRcIj5cclxuICAgICAgICA8aW9uLWNhcmQtdGl0bGUgY2xhc3M9XCJ0ZXh0LWNlbnRlciB0ZXh0LXNtXCI+XHJcbiAgICAgICAgICBGaWx0cm8gLSB7e2ZpZWxkLmhlYWRlcn19XHJcbiAgICAgICAgPC9pb24tY2FyZC10aXRsZT5cclxuICAgICAgPC9pb24tY2FyZC1oZWFkZXI+XHJcbiAgICAgIDxpb24tY2FyZC1jb250ZW50IFtuZ0NsYXNzXT1cInsnIXAtMCc6IFsnU2VsZWN0JywgJ0Jvb2wnLCAnU3RyaW5nJywgJ1RleHRBcmVhJ10uaW5jbHVkZXMoZmllbGQudHlwZSl9XCIgY2xhc3M9XCIhcC0yIGJnLWxpZ2h0IHJvdW5kZWQtdC0yeGxcIj5cclxuICAgICAgICBAc3dpdGNoIChmaWVsZC50eXBlKSB7XHJcbiAgICAgICAgICBAY2FzZSAoJ1N0cmluZycpIHtcclxuICAgICAgICAgICAgPGlucHV0LXN0cmluZyBbKG5nTW9kZWwpXT1cIm1vZGVsXCIgY2xhc3M9XCJ0aC1zZWxlY3RcIiBsYWJlbD1cIlwiIChibHVyKT1cIkNoYW5nZSgpXCI+PC9pbnB1dC1zdHJpbmc+XHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgICBAY2FzZSAoJ051bWJlcicpIHtcclxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cImdyaWQgZ3JpZC1jb2xzLTEgZ2FwLTJcIj5cclxuICAgICAgICAgICAgICA8aW5wdXQtbnVtYmVyIChjaGFuZ2UpPVwiQ2hhbmdlKClcIiBbKG5nTW9kZWwpXT1cIm1vZGVsTWluaW11bVwiIGxhYmVsPVwiVmFsb3IgTcOtbmltb1wiIFtjb25maWd1cmF0aW9uXT1cImZpZWxkLmNvbmZpZ3VyYXRpb25cIj48L2lucHV0LW51bWJlcj5cclxuICAgICAgICAgICAgICA8aW5wdXQtbnVtYmVyIChjaGFuZ2UpPVwiQ2hhbmdlKClcIiBbKG5nTW9kZWwpXT1cIm1vZGVsTWF4aW11bVwiIGxhYmVsPVwiVmFsb3IgTWF4aW1vXCIgW2NvbmZpZ3VyYXRpb25dPVwiZmllbGQuY29uZmlndXJhdGlvblwiPjwvaW5wdXQtbnVtYmVyPlxyXG4gICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgIH1cclxuICAgICAgICAgIEBjYXNlICgnRGVjaW1hbCcpIHtcclxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cImdyaWQgZ3JpZC1jb2xzLTEgZ2FwLTJcIj5cclxuICAgICAgICAgICAgICA8aW5wdXQtZGVjaW1hbCAoY2hhbmdlKT1cIkNoYW5nZSgpXCIgWyhuZ01vZGVsKV09XCJtb2RlbE1pbmltdW1cIiBsYWJlbD1cIlZhbG9yIE3DrW5pbW9cIiBbY29uZmlndXJhdGlvbl09XCJmaWVsZC5jb25maWd1cmF0aW9uXCI+PC9pbnB1dC1kZWNpbWFsPlxyXG4gICAgICAgICAgICAgIDxpbnB1dC1kZWNpbWFsIChjaGFuZ2UpPVwiQ2hhbmdlKClcIiBbKG5nTW9kZWwpXT1cIm1vZGVsTWF4aW11bVwiIGxhYmVsPVwiVmFsb3IgTWF4aW1vXCIgW2NvbmZpZ3VyYXRpb25dPVwiZmllbGQuY29uZmlndXJhdGlvblwiPjwvaW5wdXQtZGVjaW1hbD5cclxuICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgICBAY2FzZSAoJ0N1cnJlbmN5Jykge1xyXG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZ3JpZCBncmlkLWNvbHMtMSBnYXAtMlwiPlxyXG4gICAgICAgICAgICAgIDxpbnB1dC1jdXJyZW5jeSAoY2hhbmdlKT1cIkNoYW5nZSgpXCIgWyhuZ01vZGVsKV09XCJtb2RlbE1pbmltdW1cIiBsYWJlbD1cIlZhbG9yIE3DrW5pbW9cIiBbY29uZmlndXJhdGlvbl09XCJmaWVsZC5jb25maWd1cmF0aW9uXCI+PC9pbnB1dC1jdXJyZW5jeT5cclxuICAgICAgICAgICAgICA8aW5wdXQtY3VycmVuY3kgKGNoYW5nZSk9XCJDaGFuZ2UoKVwiIFsobmdNb2RlbCldPVwibW9kZWxNYXhpbXVtXCIgbGFiZWw9XCJWYWxvciBNYXhpbW9cIiBbY29uZmlndXJhdGlvbl09XCJmaWVsZC5jb25maWd1cmF0aW9uXCI+PC9pbnB1dC1jdXJyZW5jeT5cclxuICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgICBAY2FzZSAoJ1NlbGVjdCcpIHtcclxuICAgICAgICAgICAgPGlucHV0LXNlbGVjdCAoY2hhbmdlKT1cIkNoYW5nZSgpXCIgWyhuZ01vZGVsKV09XCJtb2RlbFwiIGNsYXNzPVwidGgtc2VsZWN0XCIgbGFiZWw9XCJcIiBbY29uZmlndXJhdGlvbl09XCJjb25maWd1cmF0aW9uXCI+PC9pbnB1dC1zZWxlY3Q+XHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgICBAY2FzZSAoJ1RleHRBcmVhJykge1xyXG4gICAgICAgICAgICA8aW5wdXQtc3RyaW5nIChjaGFuZ2UpPVwiQ2hhbmdlKClcIiBbKG5nTW9kZWwpXT1cIm1vZGVsXCIgY2xhc3M9XCJ0aC1zZWxlY3RcIiBsYWJlbD1cIlwiPjwvaW5wdXQtc3RyaW5nPlxyXG4gICAgICAgICAgfVxyXG4gICAgICAgICAgQGNhc2UgKCdCb29sJykge1xyXG4gICAgICAgICAgICA8aW5wdXQtc2VsZWN0IChjaGFuZ2UpPVwiQ2hhbmdlKClcIiBbKG5nTW9kZWwpXT1cIm1vZGVsXCIgY2xhc3M9XCJ0aC1zZWxlY3RcIiBsYWJlbD1cIlwiIHBsYWNlaG9sZGVyPVwiXCIgW2NvbmZpZ3VyYXRpb25dPVwiY29uZmlndXJhdGlvblwiPjwvaW5wdXQtc2VsZWN0PlxyXG4gICAgICAgICAgfVxyXG4gICAgICAgICAgQGNhc2UgKCdEYXRlJykge1xyXG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwic2l6ZS1mdWxsIGdyaWQgZ3JpZC1jb2xzLTEgZ2FwLTJcIj5cclxuICAgICAgICAgICAgICA8aW5wdXQtZGF0ZSAoY2hhbmdlKT1cIkNoYW5nZSgpXCIgWyhuZ01vZGVsKV09XCJtb2RlbE1pbmltdW1cIiBsYWJlbD1cIkRhdGEgTcOtbmltYVwiIFtjb25maWd1cmF0aW9uXT1cImNvbmZpZ3VyYXRpb25cIj48L2lucHV0LWRhdGU+XHJcbiAgICAgICAgICAgICAgPGlucHV0LWRhdGUgKGNoYW5nZSk9XCJDaGFuZ2UoKVwiIFsobmdNb2RlbCldPVwibW9kZWxNYXhpbXVtXCIgbGFiZWw9XCJEYXRhIE1heGltYVwiIFtjb25maWd1cmF0aW9uXT1cImNvbmZpZ3VyYXRpb25cIj48L2lucHV0LWRhdGU+XHJcbiAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgfVxyXG4gICAgICAgICAgQGNhc2UgKCdEYXRlVGltZScpIHtcclxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cImdyaWQgZ3JpZC1jb2xzLTEgZ2FwLTJcIj5cclxuICAgICAgICAgICAgICA8aW5wdXQtZGF0ZS10aW1lIChjaGFuZ2UpPVwiQ2hhbmdlKClcIiBbKG5nTW9kZWwpXT1cIm1vZGVsTWluaW11bVwiIGxhYmVsPVwiRGF0YSBNw61uaW1hXCIgW2NvbmZpZ3VyYXRpb25dPVwiY29uZmlndXJhdGlvblwiPjwvaW5wdXQtZGF0ZS10aW1lPlxyXG4gICAgICAgICAgICAgIDxpbnB1dC1kYXRlLXRpbWUgKGNoYW5nZSk9XCJDaGFuZ2UoKVwiIFsobmdNb2RlbCldPVwibW9kZWxNYXhpbXVtXCIgbGFiZWw9XCJEYXRhIE1heGltYVwiIFtjb25maWd1cmF0aW9uXT1cImNvbmZpZ3VyYXRpb25cIj48L2lucHV0LWRhdGUtdGltZT5cclxuICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICA8L2lvbi1jYXJkLWNvbnRlbnQ+XHJcbiAgICA8L2lvbi1jYXJkPlxyXG4gIDwvbmctdGVtcGxhdGU+XHJcbjwvaW9uLXBvcG92ZXI+XHJcbiJdfQ==
|
|
183
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGgtZmlsdGVyLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3NyYy9saWIvY29tcG9uZW50cy9kZWZhdWx0L2RlZmF1bHQtdGFibGUvdGgtZmlsdGVyL3RoLWZpbHRlci5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi9zcmMvbGliL2NvbXBvbmVudHMvZGVmYXVsdC9kZWZhdWx0LXRhYmxlL3RoLWZpbHRlci90aC1maWx0ZXIuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxZQUFZLEVBQUUsS0FBSyxFQUFVLE1BQU0sRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUUvRSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sd0NBQXdDLENBQUM7QUFDcEUsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLDRCQUE0QixDQUFDO0FBQ3ZELE9BQU8sRUFBRSxLQUFLLEVBQUUsTUFBTSxvQ0FBb0MsQ0FBQztBQUUzRCxPQUFPLEVBQUUseUJBQXlCLEVBQUUsMEJBQTBCLEVBQUUsd0JBQXdCLEVBQUUsTUFBTSwyREFBMkQsQ0FBQztBQUM1SixPQUFPLEVBQUUsd0JBQXdCLEVBQUUsTUFBTSx5REFBeUQsQ0FBQztBQUNuRyxPQUFPLEVBQUUsd0JBQXdCLEVBQUUsTUFBTSx5REFBeUQsQ0FBQztBQUNuRyxPQUFPLEVBQUUsc0JBQXNCLEVBQUUsTUFBTSxxREFBcUQsQ0FBQztBQUM3RixPQUFPLEVBQUUsc0JBQXNCLEVBQUUsTUFBTSxxREFBcUQsQ0FBQztBQUM3RixPQUFPLEVBQUUsc0JBQXNCLEVBQUUsTUFBTSxxREFBcUQsQ0FBQztBQUc3RixPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSw2REFBNkQsQ0FBQztBQUMvRixPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sNERBQTRELENBQUM7QUFDN0YsT0FBTyxFQUFFLGNBQWMsRUFBRSxN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aUI7a0JBTDdCLFNBQVM7K0JBQ0UsV0FBVzt3REFNWixLQUFLO3NCQUFiLEtBQUs7Z0JBaUVZLGFBQWE7c0JBQTlCLE1BQU07dUJBQUMsUUFBUSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgRXZlbnRFbWl0dGVyLCBJbnB1dCwgT25Jbml0LCBPdXRwdXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuXHJcbmltcG9ydCB7IFRhYmxlRmllbGQgfSBmcm9tICcuLi8uLi8uLi8uLi9jbGFzc2VzL2lucHV0cy90YWJsZS1maWVsZCc7XHJcbmltcG9ydCB7IElucHV0VHlwZSB9IGZyb20gJy4uLy4uLy4uL2lucHV0cy9pbnB1dC10eXBlJztcclxuaW1wb3J0IHsgVXRpbHMgfSBmcm9tICcuLi8uLi8uLi8uLi9zZXJ2aWNlcy91dGlscy5zZXJ2aWNlJztcclxuXHJcbmltcG9ydCB7IElucHV0RGVjaW1hbENvbmZpZ3VyYXRpb24sIElucHV0Q3VycmVuY3lDb25maWd1cmF0aW9uLCBJbnB1dE51bWJlckNvbmZpZ3VyYXRpb24gfSBmcm9tICcuLi8uLi8uLi9pbnB1dHMvaW5wdXQtZGVjaW1hbC9pbnB1dC1kZWNpbWFsLmNvbmZpZ3VyYXRpb24nO1xyXG5pbXBvcnQgeyBJbnB1dFN0cmluZ0NvbmZpZ3VyYXRpb24gfSBmcm9tICcuLi8uLi8uLi9pbnB1dHMvaW5wdXQtc3RyaW5nL2lucHV0LXN0cmluZy5jb25maWd1cmF0aW9uJztcclxuaW1wb3J0IHsgSW5wdXRTZWxlY3RDb25maWd1cmF0aW9uIH0gZnJvbSAnLi4vLi4vLi4vaW5wdXRzL2lucHV0LXNlbGVjdC9pbnB1dC5zZWxlY3QuY29uZmlndXJhdGlvbic7XHJcbmltcG9ydCB7IElucHV0RGF0ZUNvbmZpZ3VyYXRpb24gfSBmcm9tICcuLi8uLi8uLi9pbnB1dHMvaW5wdXQtZGF0ZS9pbnB1dC1kYXRlLmNvbmZpZ3VyYXRpb24nO1xyXG5pbXBvcnQgeyBJbnB1dEZpbGVDb25maWd1cmF0aW9uIH0gZnJvbSAnLi4vLi4vLi4vaW5wdXRzL2lucHV0LWZpbGUvaW5wdXQtZmlsZS5jb25maWd1cmF0aW9uJztcclxuaW1wb3J0IHsgSW5wdXRCb29sQ29uZmlndXJhdGlvbiB9IGZyb20gJy4uLy4uLy4uL2lucHV0cy9pbnB1dC1ib29sL2lucHV0LWJvb2wuY29uZmlndXJhdGlvbic7XHJcbmltcG9ydCB7IElucHV0Q29uZmlndXJhdGlvbiB9IGZyb20gJy4uLy4uLy4uL2lucHV0cy9pbnB1dC1jb25maWd1cmF0aW9uJztcclxuXHJcbmltcG9ydCB7IEltcGxpY2l0UHJvcGVydHkgfSBmcm9tICcuLi8uLi8uLi8uLi9jbGFzc2VzL2NvbXBhcmlzb24vcHJvcGVydGllcy9pbXBsaWNpdC1wcm9wZXJ0eSc7XHJcbmltcG9ydCB7IERlY2ltYWxQcm9wZXJ0eSB9IGZyb20gJy4uLy4uLy4uLy4uL2NsYXNzZXMvY29tcGFyaXNvbi9wcm9wZXJ0aWVzL2RlY2ltYWwtcHJvcGVydHknO1xyXG5pbXBvcnQgeyBTdHJpbmdQcm9wZXJ0eSB9IGZyb20gJy4uLy4uLy4uLy4uL2NsYXNzZXMvY29tcGFyaXNvbi9wcm9wZXJ0aWVzL3N0cmluZy1wcm9wZXJ0eSc7XHJcbmltcG9ydCB7IEJvb2xQcm9wZXJ0eSB9IGZyb20gJy4uLy4uLy4uLy4uL2NsYXNzZXMvY29tcGFyaXNvbi9wcm9wZXJ0aWVzL2Jvb2wtcHJvcGVydHknO1xyXG5pbXBvcnQgeyBEYXRlUHJvcGVydHkgfSBmcm9tICcuLi8uLi8uLi8uLi9jbGFzc2VzL2NvbXBhcmlzb24vcHJvcGVydGllcy9kYXRlLXByb3BlcnR5JztcclxuXHJcbmltcG9ydCB7IENvbXBhcmlzb24gfSBmcm9tICcuLi8uLi8uLi8uLi9jbGFzc2VzL2NvbXBhcmlzb24vY29tcGFyaXNvbic7XHJcblxyXG5AQ29tcG9uZW50KHtcclxuICBzZWxlY3RvcjogJ3RoLWZpbHRlcicsXHJcbiAgdGVtcGxhdGVVcmw6ICcuL3RoLWZpbHRlci5jb21wb25lbnQuaHRtbCcsXHJcbiAgc3R5bGVVcmxzOiBbJy4vdGgtZmlsdGVyLmNvbXBvbmVudC5zY3NzJ10sXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBUaEZpbHRlckNvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCB7XHJcblxyXG4gIEBJbnB1dCgpIGZpZWxkIDogVGFibGVGaWVsZCBcclxuXHJcbiAgZ3VpZDogc3RyaW5nID0gVXRpbHMuR2VuZXJhdGVHVUlEKCk7XHJcbiAgY29uZmlndXJhdGlvbjogSW5wdXRDb25maWd1cmF0aW9uO1xyXG5cclxuICBjb25zdHJ1Y3RvcigpIHsgfVxyXG5cclxuICBuZ09uSW5pdCgpIHtcclxuICAgIHRoaXMuY29uZmlndXJhdGlvbiA9IHRoaXMuZmllbGQuY29uZmlndXJhdGlvbjtcclxuICAgIFxyXG4gICAgaWYoIXRoaXMuY29uZmlndXJhdGlvbil7XHJcbiAgICAgIGlmKFtJbnB1dFR5cGUuRGF0ZSwgSW5wdXRUeXBlLkRhdGVUaW1lLCBJbnB1dFR5cGUuVGltZV0uaW5jbHVkZXModGhpcy5maWVsZC50eXBlKSl7IHRoaXMuY29uZmlndXJhdGlvbiA9IG5ldyBJbnB1dERhdGVDb25maWd1cmF0aW9uKCkgfSBlbHNlXHJcbiAgICAgIGlmKHRoaXMuZmllbGQudHlwZSA9PSBJbnB1dFR5cGUuRmlsZSAgICApeyB0aGlzLmNvbmZpZ3VyYXRpb24gPSBuZXcgSW5wdXRGaWxlQ29uZmlndXJhdGlvbigpICAgICB9ZWxzZVxyXG4gICAgICBpZih0aGlzLmZpZWxkLnR5cGUgPT0gSW5wdXRUeXBlLk51bWJlciAgKXsgdGhpcy5jb25maWd1cmF0aW9uID0gbmV3IElucHV0TnVtYmVyQ29uZmlndXJhdGlvbigpICAgfWVsc2VcclxuICAgICAgaWYodGhpcy5maWVsZC50eXBlID09IElucHV0VHlwZS5EZWNpbWFsICl7IHRoaXMuY29uZmlndXJhdGlvbiA9IG5ldyBJbnB1dERlY2ltYWxDb25maWd1cmF0aW9uKCkgIH1lbHNlXHJcbiAgICAgIGlmKHRoaXMuZmllbGQudHlwZSA9PSBJbnB1dFR5cGUuQ3VycmVuY3kpeyB0aGlzLmNvbmZpZ3VyYXRpb24gPSBuZXcgSW5wdXRDdXJyZW5jeUNvbmZpZ3VyYXRpb24oKSB9ZWxzZVxyXG4gICAgICBpZih0aGlzLmZpZWxkLnR5cGUgPT0gSW5wdXRUeXBlLlN0cmluZyAgKXsgdGhpcy5jb25maWd1cmF0aW9uID0gbmV3IElucHV0U3RyaW5nQ29uZmlndXJhdGlvbigpICAgfWVsc2VcclxuICAgICAgaWYodGhpcy5maWVsZC50eXBlID09IElucHV0VHlwZS5TZWxlY3QgICl7IHRoaXMuY29uZmlndXJhdGlvbiA9IG5ldyBJbnB1dFNlbGVjdENvbmZpZ3VyYXRpb24oKSAgIH1lbHNlXHJcbiAgICAgIGlmKHRoaXMuZmllbGQudHlwZSA9PSBJbnB1dFR5cGUuVGV4dEFyZWEpeyBcclxuICAgICAgICB0aGlzLmNvbmZpZ3VyYXRpb24gPSBuZXcgSW5wdXRTdHJpbmdDb25maWd1cmF0aW9uKCk7IFxyXG4gICAgICB9ZWxzZSBcclxuICAgICAgaWYodGhpcy5maWVsZC50eXBlID09IElucHV0VHlwZS5Cb29sICAgICl7IFxyXG4gICAgICAgIHRoaXMuY29uZmlndXJhdGlvbiA9IG5ldyBJbnB1dEJvb2xDb25maWd1cmF0aW9uKCk7IFxyXG4gICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgaWYodGhpcy5jb25maWd1cmF0aW9uIGluc3RhbmNlb2YgSW5wdXRTZWxlY3RDb25maWd1cmF0aW9uKXtcclxuICAgICAgdGhpcy5jb25maWd1cmF0aW9uID0gbmV3IElucHV0U2VsZWN0Q29uZmlndXJhdGlvbihcclxuICAgICAgICB0aGlzLmNvbmZpZ3VyYXRpb24uYmluZFZhbHVlLFxyXG4gICAgICAgIHRoaXMuY29uZmlndXJhdGlvbi5iaW5kTGFiZWwsXHJcbiAgICAgICAgdHJ1ZSxcclxuICAgICAgICB0cnVlLFxyXG4gICAgICAgIHRoaXMuY29uZmlndXJhdGlvbi5sb2FkRnJvbSxcclxuICAgICAgICB0cnVlLFxyXG4gICAgICApO1xyXG4gICAgfVxyXG5cclxuICAgIGlmKHRoaXMuY29uZmlndXJhdGlvbiBpbnN0YW5jZW9mIElucHV0RGF0ZUNvbmZpZ3VyYXRpb24pe1xyXG4gICAgICB0aGlzLmNvbmZpZ3VyYXRpb24gPSBuZXcgSW5wdXREYXRlQ29uZmlndXJhdGlvbih0cnVlKTtcclxuICAgIH1cclxuXHJcbiAgICBpZih0aGlzLmZpZWxkLnR5cGUgPT0gSW5wdXRUeXBlLkJvb2wpe1xyXG4gICAgICBpZih0aGlzLmZpZWxkLmluZGV4ID09IFwiYXRpdm9cIil7XHJcbiAgICAgICAgdGhpcy5jb25maWd1cmF0aW9uID0gdGhpcy5jb25maWd1cmF0aW9uID0gbmV3IElucHV0U2VsZWN0Q29uZmlndXJhdGlvbigndmFsdWUnLCAnbGFiZWwnLCB0cnVlLCB0cnVlLCBbXHJcbiAgICAgICAgICB7IGxhYmVsOiAnU29tZW50ZSBBdGl2b3MnICAgICwgdmFsdWU6IHRydWUgIH0sXHJcbiAgICAgICAgICB7IGxhYmVsOiAnU29tZW50ZSBOw6NvIEF0aXZvcycsIHZhbHVlOiBmYWxzZSB9LFxyXG4gICAgICAgIF0pO1xyXG4gICAgICAgIHRoaXMubW9kZWwgPSB0cnVlO1xyXG4gICAgICB9XHJcbiAgICAgIGVsc2V7XHJcbiAgICAgICAgdGhpcy5jb25maWd1cmF0aW9uID0gbmV3IElucHV0U2VsZWN0Q29uZmlndXJhdGlvbigndmFsdWUnLCAnbGFiZWwnLCB0cnVlLCBmYWxzZSwgW1xyXG4gICAgICAgICAgeyBsYWJlbDogJ1NpbScsIHZhbHVlOiB0cnVlICB9LFxyXG4gICAgICAgICAgeyBsYWJlbDogJ07Do28nLCB2YWx1ZTogZmFsc2UgfSxcclxuICAgICAgICBdKVxyXG4gICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgdGhpcy5pc0ZpbHRlckFjdGl2ZSA9IHRoaXMuZmllbGQuZmlsdGVyICE9IG51bGwgJiYgdGhpcy5maWVsZC5maWx0ZXIubGVuZ3RoID4gMDtcclxuICB9XHJcblxyXG4gIGlzRmlsdGVyQWN0aXZlOiBib29sZWFuID0gZmFsc2U7XHJcblxyXG4gIG1vZGVsOiBhbnkgfCBudWxsID0gbnVsbDtcclxuICBtb2RlbE1pbmltdW06IGFueSB8IG51bGwgPSBudWxsO1xyXG4gIG1vZGVsTWF4aW11bTogYW55IHwgbnVsbCA9IG51bGw7XHJcbiAgQE91dHB1dCgnY2hhbmdlJykgY2hhbmdlRW1pdHRlcjogRXZlbnRFbWl0dGVyPHZvaWQ+ID0gbmV3IEV2ZW50RW1pdHRlcjx2b2lkPigpO1xyXG5cclxuICBDaGFuZ2UoKTogdm9pZHtcclxuICAgIGlmKCgodHlwZW9mKHRoaXMubW9kZWwpID09ICdzdHJpbmcnICYmICF0aGlzLm1vZGVsKSB8fCBcclxuICAgICAgICAgdGhpcy5tb2RlbCA9PSBudWxsIHx8IFxyXG4gICAgICAgICAoQXJyYXkuaXNBcnJheSh0aGlzLm1vZGVsKSAmJiB0aGlzLm1vZGVsLmxlbmd0aCA9PSAwKSkgJiYgXHJcbiAgICAgICF0aGlzLm1vZGVsTWluaW11bSAmJiAhdGhpcy5tb2RlbE1heGltdW0pXHJcbiAgICB7XHJcbiAgICAgIHRoaXMuU2V0SW5hY3RpdmUoKTtcclxuICAgICAgcmV0dXJuO1xyXG4gICAgfVxyXG5cclxuICAgIGlmKFtJbnB1dFR5cGUuQ3VycmVuY3ksIElucHV0VHlwZS5EZWNpbWFsLCBJbnB1dFR5cGUuTnVtYmVyXS5pbmNsdWRlcyh0aGlzLmZpZWxkLnR5cGUpKXtcclxuICAgICAgdmFyIENvbXBhcmlzb246IENvbXBhcmlzb25bXSA9IFtdO1xyXG4gICAgICBpZih0aGlzLm1vZGVsTWluaW11bSl7XHJcbiAgICAgICAgdmFyIEJpZ2dlciAgPSBuZXcgRGVjaW1hbFByb3BlcnR5KHRoaXMuZmllbGQuaW5kZXgpLkdyZWF0ZXJUaGFuT3JFcXVhbCh0aGlzLm1vZGVsTWluaW11bSk7XHJcbiAgICAgICAgQ29tcGFyaXNvbiA9IFtCaWdnZXJdO1xyXG4gICAgICB9XHJcbiAgICAgIGlmKHRoaXMubW9kZWxNYXhpbXVtKXtcclxuICAgICAgICB2YXIgU21hbGxlciA9IG5ldyBEZWNpbWFsUHJvcGVydHkodGhpcy5maWVsZC5pbmRleCkuTGVzc1RoYW5PckVxdWFsKHRoaXMubW9kZWxNYXhpbXVtKTtcclxuICAgICAgICBpZihDb21wYXJpc29uLmxlbmd0aCl7IENvbXBhcmlzb24ucHVzaChTbWFsbGVyKTsgfSBcclxuICAgICAgICBlbHNlICAgICAgICAgICAgICAgICB7IENvbXBhcmlzb24gPSBbU21hbGxlcl07IH1cclxuICAgICAgfVxyXG5cclxuICAgICAgdGhpcy5maWVsZC5maWx0ZXIgPSBDb21wYXJpc29uO1xyXG4gICAgICB0aGlzLmlzRmlsdGVyQWN0aXZlID0gdHJ1ZTtcclxuICAgICAgdGhpcy5jaGFuZ2VFbWl0dGVyLmVtaXQoKTtcclxuICAgICAgcmV0dXJuO1xyXG4gICAgfWVsc2VcclxuICAgIGlmKFtJbnB1dFR5cGUuU3RyaW5nLCBJbnB1dFR5cGUuVGV4dEFyZWFdLmluY2x1ZGVzKHRoaXMuZmllbGQudHlwZSkpe1xyXG4gICAgICB0aGlzLmZpZWxkLmZpbHRlciAgID0gW25ldyBTdHJpbmdQcm9wZXJ0eSh0aGlzLmZpZWxkLmluZGV4KS5Jc0NvbnRhaW5lZEluKHRoaXMubW9kZWwpXTtcclxuICAgICAgdGhpcy5pc0ZpbHRlckFjdGl2ZSA9IHRydWU7XHJcbiAgICAgIHRoaXMuY2hhbmdlRW1pdHRlci5lbWl0KCk7XHJcbiAgICAgIHJldHVybjtcclxuICAgIH1lbHNlXHJcbiAgICBpZih0aGlzLmZpZWxkLnR5cGUgPT0gSW5wdXRUeXBlLlNlbGVjdCl7XHJcbiAgICAgIHRoaXMuZmllbGQuZmlsdGVyICAgPSBbbmV3IEltcGxpY2l0UHJvcGVydHkodGhpcy5maWVsZC5pbmRleCkuSXNDb250YWluZWRJbih0aGlzLm1vZGVsKV07XHJcbiAgICAgIHRoaXMuaXNGaWx0ZXJBY3RpdmUgPSB0cnVlO1xyXG4gICAgICB0aGlzLmNoYW5nZUVtaXR0ZXIuZW1pdCgpO1xyXG4gICAgICByZXR1cm47XHJcbiAgICB9ZWxzZVxyXG4gICAgaWYodGhpcy5maWVsZC50eXBlID09IElucHV0VHlwZS5Cb29sKXtcclxuICAgICAgdGhpcy5maWVsZC5maWx0ZXIgICA9IFtuZXcgQm9vbFByb3BlcnR5KHRoaXMuZmllbGQuaW5kZXgpLkVxdWFscyh0aGlzLm1vZGVsKV07XHJcbiAgICAgIHRoaXMuaXNGaWx0ZXJBY3RpdmUgPSB0cnVlO1xyXG4gICAgICB0aGlzLmNoYW5nZUVtaXR0ZXIuZW1pdCgpO1xyXG4gICAgICByZXR1cm47XHJcbiAgICB9IGVsc2VcclxuICAgIGlmKFtJbnB1dFR5cGUuRGF0ZSwgSW5wdXRUeXBlLkRhdGVUaW1lXS5pbmNsdWRlcyh0aGlzLmZpZWxkLnR5cGUpKXtcclxuICAgICAgaWYodGhpcy5tb2RlbE1pbmltdW0pe1xyXG4gICAgICAgIGlmKHRoaXMuZmllbGQudHlwZSA9PSBJbnB1dFR5cGUuRGF0ZSl7IHRoaXMubW9kZWxNaW5pbXVtID0gdGhpcy5tb2RlbE1pbmltdW0uc3BsaXQoXCJUXCIpWzBdICsgXCJUMjM6NTk6NTlcIiB9XHJcbiAgICAgIH1cclxuICAgICAgaWYodGhpcy5tb2RlbE1heGltdW0pe1xyXG4gICAgICAgIGlmKHRoaXMuZmllbGQudHlwZSA9PSBJbnB1dFR5cGUuRGF0ZSl7IHRoaXMubW9kZWxNYXhpbXVtID0gdGhpcy5tb2RlbE1heGltdW0uc3BsaXQoXCJUXCIpWzBdICsgXCJUMjM6NTk6NTlcIiB9XHJcbiAgICAgIH1cclxuICAgIFxyXG4gICAgICB2YXIgQ29tcGFyaXNvbjogQ29tcGFyaXNvbltdID0gW107XHJcbiAgICAgIGlmKHRoaXMubW9kZWxNaW5pbXVtKXtcclxuICAgICAgICB2YXIgQmlnZ2VyRGF0ZSAgPSBuZXcgRGF0ZVByb3BlcnR5KHRoaXMuZmllbGQuaW5kZXgpLkdyZWF0ZXJUaGFuT3JFcXVhbCh0aGlzLm1vZGVsTWluaW11bSk7XHJcbiAgICAgICAgQ29tcGFyaXNvbiA9IFtCaWdnZXJEYXRlXTtcclxuICAgICAgfVxyXG4gICAgICBpZih0aGlzLm1vZGVsTWF4aW11bSl7XHJcbiAgICAgICAgdmFyIFNtYWxsZXJEYXRlID0gbmV3IERhdGVQcm9wZXJ0eSh0aGlzLmZpZWxkLmluZGV4KS5MZXNzVGhhbk9yRXF1YWwodGhpcy5tb2RlbE1heGltdW0pO1xyXG4gICAgICAgIGlmKENvbXBhcmlzb24ubGVuZ3RoKXsgQ29tcGFyaXNvbi5wdXNoKFNtYWxsZXJEYXRlKTsgfSBcclxuICAgICAgICBlbHNlICAgICAgICAgICAgICAgICB7IENvbXBhcmlzb24gPSBbU21hbGxlckRhdGVdICA7IH1cclxuICAgICAgfVxyXG4gICAgICB0aGlzLmZpZWxkLmZpbHRlciA9IENvbXBhcmlzb247XHJcbiAgICAgIHRoaXMuaXNGaWx0ZXJBY3RpdmUgPSB0cnVlO1xyXG4gICAgICB0aGlzLmNoYW5nZUVtaXR0ZXIuZW1pdCgpO1xyXG4gICAgICByZXR1cm47XHJcbiAgICB9XHJcblxyXG4gICAgdGhpcy5jaGFuZ2VFbWl0dGVyLmVtaXQoKTtcclxuICB9XHJcblxyXG4gIFNldEluYWN0aXZlKCk6IHZvaWR7XHJcbiAgICB0aGlzLmZpZWxkLmZpbHRlciA9IG51bGw7XHJcbiAgICB0aGlzLmlzRmlsdGVyQWN0aXZlID0gZmFsc2U7XHJcbiAgICB0aGlzLmNoYW5nZUVtaXR0ZXIuZW1pdCgpO1xyXG4gICAgcmV0dXJuO1xyXG4gIH1cclxufVxyXG4iLCI8ZGl2IGNsYXNzPVwiaC01IGFzcGVjdC1zcXVhcmUgbXItMSBmbGV4IGl0ZW1zLWNlbnRlciBqdXN0aWZ5LWNlbnRlciBjdXJzb3ItcG9pbnRlclwiPlxyXG4gIDxpb24taWNvbiBpZD1cInt7Z3VpZH19LXRyaWdnZXJcIiBuYW1lPVwiZmlsdGVyLWNpcmNsZVwiIGNsYXNzPVwidGV4dC14bCBhbGlnbi1zdWIgc2l6ZS1mdWxsXCIgW2NvbG9yXT1cImlzRmlsdGVyQWN0aXZlID8gJ3NlY29uZGFyeScgOiAnbWVkaXVtJyBcIj48L2lvbi1pY29uPlxyXG48L2Rpdj5cclxuXHJcbjxpb24tcG9wb3ZlciBba2VlcENvbnRlbnRzTW91bnRlZF09XCJ0cnVlXCIgY2xhc3M9XCJwb3BvdmVyLWZpbHRlclwiIHRyaWdnZXI9XCJ7e2d1aWR9fS10cmlnZ2VyXCIgdHJpZ2dlckFjdGlvbj1cImNsaWNrXCI+XHJcbiAgPG5nLXRlbXBsYXRlPlxyXG4gICAgPGlvbi1jYXJkIGNsYXNzPVwibS0wICFib3JkZXItMCBiZy1wcmltYXJ5LzMwXCI+XHJcbiAgICAgIDxpb24tY2FyZC1oZWFkZXIgY2xhc3M9XCJiZy10cmFuc3BhcmVudFwiPlxyXG4gICAgICAgIDxpb24tY2FyZC10aXRsZSBjbGFzcz1cInRleHQtY2VudGVyIHRleHQtc21cIj5cclxuICAgICAgICAgIEZpbHRybyAtIHt7ZmllbGQuaGVhZGVyfX1cclxuICAgICAgICA8L2lvbi1jYXJkLXRpdGxlPlxyXG4gICAgICA8L2lvbi1jYXJkLWhlYWRlcj5cclxuICAgICAgPGlvbi1jYXJkLWNvbnRlbnQgW25nQ2xhc3NdPVwieychcC0wJzogWydTZWxlY3QnLCAnQm9vbCcsICdTdHJpbmcnLCAnVGV4dEFyZWEnXS5pbmNsdWRlcyhmaWVsZC50eXBlKX1cIiBjbGFzcz1cIiFwLTIgYmctbGlnaHQgcm91bmRlZC10LTJ4bFwiPlxyXG4gICAgICAgIEBzd2l0Y2ggKGZpZWxkLnR5cGUpIHtcclxuICAgICAgICAgIEBjYXNlICgnU3RyaW5nJykge1xyXG4gICAgICAgICAgICA8aW5wdXQtc3RyaW5nIFsobmdNb2RlbCldPVwibW9kZWxcIiBjbGFzcz1cInRoLXNlbGVjdFwiIGxhYmVsPVwiXCIgKGJsdXIpPVwiQ2hhbmdlKClcIj48L2lucHV0LXN0cmluZz5cclxuICAgICAgICAgIH1cclxuICAgICAgICAgIEBjYXNlICgnTnVtYmVyJykge1xyXG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZ3JpZCBncmlkLWNvbHMtMSBnYXAtMlwiPlxyXG4gICAgICAgICAgICAgIDxpbnB1dC1udW1iZXIgKGNoYW5nZSk9XCJDaGFuZ2UoKVwiIFsobmdNb2RlbCldPVwibW9kZWxNaW5pbXVtXCIgbGFiZWw9XCJWYWxvciBNw61uaW1vXCIgW2NvbmZpZ3VyYXRpb25dPVwiZmllbGQuY29uZmlndXJhdGlvblwiPjwvaW5wdXQtbnVtYmVyPlxyXG4gICAgICAgICAgICAgIDxpbnB1dC1udW1iZXIgKGNoYW5nZSk9XCJDaGFuZ2UoKVwiIFsobmdNb2RlbCldPVwibW9kZWxNYXhpbXVtXCIgbGFiZWw9XCJWYWxvciBNYXhpbW9cIiBbY29uZmlndXJhdGlvbl09XCJmaWVsZC5jb25maWd1cmF0aW9uXCI+PC9pbnB1dC1udW1iZXI+XHJcbiAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgfVxyXG4gICAgICAgICAgQGNhc2UgKCdEZWNpbWFsJykge1xyXG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZ3JpZCBncmlkLWNvbHMtMSBnYXAtMlwiPlxyXG4gICAgICAgICAgICAgIDxpbnB1dC1kZWNpbWFsIChjaGFuZ2UpPVwiQ2hhbmdlKClcIiBbKG5nTW9kZWwpXT1cIm1vZGVsTWluaW11bVwiIGxhYmVsPVwiVmFsb3IgTcOtbmltb1wiIFtjb25maWd1cmF0aW9uXT1cImZpZWxkLmNvbmZpZ3VyYXRpb25cIj48L2lucHV0LWRlY2ltYWw+XHJcbiAgICAgICAgICAgICAgPGlucHV0LWRlY2ltYWwgKGNoYW5nZSk9XCJDaGFuZ2UoKVwiIFsobmdNb2RlbCldPVwibW9kZWxNYXhpbXVtXCIgbGFiZWw9XCJWYWxvciBNYXhpbW9cIiBbY29uZmlndXJhdGlvbl09XCJmaWVsZC5jb25maWd1cmF0aW9uXCI+PC9pbnB1dC1kZWNpbWFsPlxyXG4gICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgIH1cclxuICAgICAgICAgIEBjYXNlICgnQ3VycmVuY3knKSB7XHJcbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJncmlkIGdyaWQtY29scy0xIGdhcC0yXCI+XHJcbiAgICAgICAgICAgICAgPGlucHV0LWN1cnJlbmN5IChjaGFuZ2UpPVwiQ2hhbmdlKClcIiBbKG5nTW9kZWwpXT1cIm1vZGVsTWluaW11bVwiIGxhYmVsPVwiVmFsb3IgTcOtbmltb1wiIFtjb25maWd1cmF0aW9uXT1cImZpZWxkLmNvbmZpZ3VyYXRpb25cIj48L2lucHV0LWN1cnJlbmN5PlxyXG4gICAgICAgICAgICAgIDxpbnB1dC1jdXJyZW5jeSAoY2hhbmdlKT1cIkNoYW5nZSgpXCIgWyhuZ01vZGVsKV09XCJtb2RlbE1heGltdW1cIiBsYWJlbD1cIlZhbG9yIE1heGltb1wiIFtjb25maWd1cmF0aW9uXT1cImZpZWxkLmNvbmZpZ3VyYXRpb25cIj48L2lucHV0LWN1cnJlbmN5PlxyXG4gICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgIH1cclxuICAgICAgICAgIEBjYXNlICgnU2VsZWN0Jykge1xyXG4gICAgICAgICAgICA8aW5wdXQtc2VsZWN0IChjaGFuZ2UpPVwiQ2hhbmdlKClcIiBbKG5nTW9kZWwpXT1cIm1vZGVsXCIgY2xhc3M9XCJ0aC1zZWxlY3RcIiBsYWJlbD1cIlwiIFtjb25maWd1cmF0aW9uXT1cImNvbmZpZ3VyYXRpb25cIj48L2lucHV0LXNlbGVjdD5cclxuICAgICAgICAgIH1cclxuICAgICAgICAgIEBjYXNlICgnVGV4dEFyZWEnKSB7XHJcbiAgICAgICAgICAgIDxpbnB1dC1zdHJpbmcgKGNoYW5nZSk9XCJDaGFuZ2UoKVwiIFsobmdNb2RlbCldPVwibW9kZWxcIiBjbGFzcz1cInRoLXNlbGVjdFwiIGxhYmVsPVwiXCI+PC9pbnB1dC1zdHJpbmc+XHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgICBAY2FzZSAoJ0Jvb2wnKSB7XHJcbiAgICAgICAgICAgIDxpbnB1dC1zZWxlY3QgKGNoYW5nZSk9XCJDaGFuZ2UoKVwiIFsobmdNb2RlbCldPVwibW9kZWxcIiBjbGFzcz1cInRoLXNlbGVjdFwiIGxhYmVsPVwiXCIgcGxhY2Vob2xkZXI9XCJcIiBbY29uZmlndXJhdGlvbl09XCJjb25maWd1cmF0aW9uXCI+PC9pbnB1dC1zZWxlY3Q+XHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgICBAY2FzZSAoJ0RhdGUnKSB7XHJcbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJzaXplLWZ1bGwgZ3JpZCBncmlkLWNvbHMtMSBnYXAtMlwiPlxyXG4gICAgICAgICAgICAgIDxpbnB1dC1kYXRlIChjaGFuZ2UpPVwiQ2hhbmdlKClcIiBbKG5nTW9kZWwpXT1cIm1vZGVsTWluaW11bVwiIGxhYmVsPVwiRGF0YSBNw61uaW1hXCIgW2NvbmZpZ3VyYXRpb25dPVwiY29uZmlndXJhdGlvblwiPjwvaW5wdXQtZGF0ZT5cclxuICAgICAgICAgICAgICA8aW5wdXQtZGF0ZSAoY2hhbmdlKT1cIkNoYW5nZSgpXCIgWyhuZ01vZGVsKV09XCJtb2RlbE1heGltdW1cIiBsYWJlbD1cIkRhdGEgTWF4aW1hXCIgW2NvbmZpZ3VyYXRpb25dPVwiY29uZmlndXJhdGlvblwiPjwvaW5wdXQtZGF0ZT5cclxuICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgICBAY2FzZSAoJ0RhdGVUaW1lJykge1xyXG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZ3JpZCBncmlkLWNvbHMtMSBnYXAtMlwiPlxyXG4gICAgICAgICAgICAgIDxpbnB1dC1kYXRlLXRpbWUgKGNoYW5nZSk9XCJDaGFuZ2UoKVwiIFsobmdNb2RlbCldPVwibW9kZWxNaW5pbXVtXCIgbGFiZWw9XCJEYXRhIE3DrW5pbWFcIiBbY29uZmlndXJhdGlvbl09XCJjb25maWd1cmF0aW9uXCI+PC9pbnB1dC1kYXRlLXRpbWU+XHJcbiAgICAgICAgICAgICAgPGlucHV0LWRhdGUtdGltZSAoY2hhbmdlKT1cIkNoYW5nZSgpXCIgWyhuZ01vZGVsKV09XCJtb2RlbE1heGltdW1cIiBsYWJlbD1cIkRhdGEgTWF4aW1hXCIgW2NvbmZpZ3VyYXRpb25dPVwiY29uZmlndXJhdGlvblwiPjwvaW5wdXQtZGF0ZS10aW1lPlxyXG4gICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgIDwvaW9uLWNhcmQtY29udGVudD5cclxuICAgIDwvaW9uLWNhcmQ+XHJcbiAgPC9uZy10ZW1wbGF0ZT5cclxuPC9pb24tcG9wb3Zlcj5cclxuIl19
|
|
@@ -35,7 +35,7 @@ export class ErrorInterceptor {
|
|
|
35
35
|
else if (error.status == 403) {
|
|
36
36
|
this.router.navigate(['/403']);
|
|
37
37
|
}
|
|
38
|
-
if (error.status != 404) {
|
|
38
|
+
else if (error.status != 404) {
|
|
39
39
|
this.PresentErrorToast(error.error, req, error);
|
|
40
40
|
}
|
|
41
41
|
throw error;
|
|
@@ -103,4 +103,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImpo
|
|
|
103
103
|
}], ctorParameters: () => [{ type: i1.AuthService }, { type: i2.HttpClient }, { type: i3.GenericService }, { type: i4.ToastController }, { type: i5.ApiUrlProviderService }, { type: i6.Router }] });
|
|
104
104
|
class ApiErrorReturn {
|
|
105
105
|
}
|
|
106
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
106
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXJyb3IuaW50ZXJjZXB0b3IuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvbGliL2d1YXJkcy9lcnJvci5pbnRlcmNlcHRvci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsVUFBVSxFQUEyRSxNQUFNLHNCQUFzQixDQUFDO0FBQzNILE9BQU8sRUFBYyxVQUFVLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDOUMsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQ2pELE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFFM0MsT0FBTyxFQUFFLHFCQUFxQixFQUFFLE1BQU0sMENBQTBDLENBQUM7QUFDakYsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLDhCQUE4QixDQUFDO0FBQzlELE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQztBQUN2RCxPQUFPLEVBQUUsTUFBTSxFQUFFLE1BQU0saUJBQWlCLENBQUM7Ozs7Ozs7O0FBS3pDLE1BQU0sT0FBTyxnQkFBZ0I7SUFFM0IsWUFDVSxJQUFpQixFQUNqQixJQUFnQixFQUNoQixjQUE4QixFQUM5QixlQUFnQyxFQUNoQyxxQkFBNEMsRUFDNUMsTUFBYztRQUxkLFNBQUksR0FBSixJQUFJLENBQWE7UUFDakIsU0FBSSxHQUFKLElBQUksQ0FBWTtRQUNoQixtQkFBYyxHQUFkLGNBQWMsQ0FBZ0I7UUFDOUIsb0JBQWUsR0FBZixlQUFlLENBQWlCO1FBQ2hDLDBCQUFxQixHQUFyQixxQkFBcUIsQ0FBdUI7UUFDNUMsV0FBTSxHQUFOLE1BQU0sQ0FBUTtRQXVCaEIsaUJBQVksR0FBVyxxQkFBcUIsQ0FBQztRQUM3QyxrQkFBYSxHQUFXLHNCQUFzQixDQUFDO0lBdkJwRCxDQUFDO0lBRUosU0FBUyxDQUFDLEdBQXFCLEVBQUUsSUFBaUI7UUFDaEQsT0FBTyxJQUFJLENBQUMsTUFBTSxDQUFDLEdBQUcsQ0FB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O1lBQ2pDLFVBQVUsRUFBRSxJQUFJLENBQUMsSUFBSSxDQUFDLGNBQWMsRUFBRTtZQUN0QyxVQUFVLEVBQUUsTUFBTSxDQUFDLFFBQVEsQ0FBQyxJQUFJO1lBQ2hDLE1BQU0sRUFBTSxDQUFDLE1BQU0sSUFBSSxDQUFDLElBQUksQ0FBQyxTQUFTLEVBQUUsQ0FBQyxDQUFDLEVBQUU7WUFDNUMsUUFBUSxFQUFJLFlBQVksQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLGFBQWEsQ0FBQztZQUNwRCxPQUFPLEVBQUssWUFBWSxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsWUFBWSxDQUFDO1lBQ25ELE9BQU8sRUFBSyxPQUFPO1lBQ25CLEtBQUssRUFBTyxTQUFTO1lBQ3JCLE1BQU0sRUFBTSxJQUFJLENBQUMscUJBQXFCLENBQUMsTUFBTTtTQUM5QyxDQUFDLENBQUM7SUFDTCxDQUFDOytHQXRGVSxnQkFBZ0I7bUhBQWhCLGdCQUFnQixjQUZmLE1BQU07OzRGQUVQLGdCQUFnQjtrQkFINUIsVUFBVTttQkFBQztvQkFDVixVQUFVLEVBQUUsTUFBTTtpQkFDbkI7O0FBMEZELE1BQU0sY0FBYztDQUluQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEh0dHBDbGllbnQsIEh0dHBFcnJvclJlc3BvbnNlLCBIdHRwRXZlbnQsIEh0dHBIYW5kbGVyLCBIdHRwSW50ZXJjZXB0b3IsIEh0dHBSZXF1ZXN0IH0gZnJvbSBcIkBhbmd1bGFyL2NvbW1vbi9odHRwXCI7XHJcbmltcG9ydCB7IE9ic2VydmFibGUsIGNhdGNoRXJyb3IgfSBmcm9tIFwicnhqc1wiO1xyXG5pbXBvcnQgeyBUb2FzdENvbnRyb2xsZXIgfSBmcm9tIFwiQGlvbmljL2FuZ3VsYXJcIjtcclxuaW1wb3J0IHsgSW5qZWN0YWJsZSB9IGZyb20gXCJAYW5ndWxhci9jb3JlXCI7XHJcblxyXG5pbXBvcnQgeyBBcGlVcmxQcm92aWRlclNlcnZpY2UgfSBmcm9tIFwiLi4vc2VydmljZXMvd2ViL2FwaS11cmwtcHJvdmlkZXIuc2VydmljZVwiO1xyXG5pbXBvcnQgeyBHZW5lcmljU2VydmljZSB9IGZyb20gXCIuLi9zZXJ2aWNlcy9nZW5lcmljcy5zZXJ2aWNlXCI7XHJcbmltcG9ydCB7IEF1dGhTZXJ2aWNlIH0gZnJvbSBcIi4uL3NlcnZpY2VzL2F1dGguc2VydmljZVwiO1xyXG5pbXBvcnQgeyBSb3V0ZXIgfSBmcm9tIFwiQGFuZ3VsYXIvcm91dGVyXCI7XHJcblxyXG5ASW5qZWN0YWJsZSh7XHJcbiAgcHJvdmlkZWRJbjogJ3Jvb3QnXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBFcnJvckludGVyY2VwdG9yIGltcGxlbWVudHMgSHR0cEludGVyY2VwdG9yIHtcclxuXHJcbiAgY29uc3RydWN0b3IoXHJcbiAgICBwcml2YXRlIGF1dGg6IEF1dGhTZXJ2aWNlLFxyXG4gICAgcHJpdmF0ZSBodHRwOiBIdHRwQ2xpZW50LFxyXG4gICAgcHJpdmF0ZSBnZW5lcmljU2VydmljZTogR2VuZXJpY1NlcnZpY2UsXHJcbiAgICBwcml2YXRlIHRvYXN0Q29udHJvbGxlcjogVG9hc3RDb250cm9sbGVyLFxyXG4gICAgcHJpdmF0ZSBhcGlVcmxQcm92aWRlclNlcnZpY2U6IEFwaVVybFByb3ZpZGVyU2VydmljZSxcclxuICAgIHByaXZhdGUgcm91dGVyOiBSb3V0ZXJcclxuICApIHt9XHJcblxyXG4gIGludGVyY2VwdChyZXE6IEh0dHBSZXF1ZXN0PGFueT4sIG5leHQ6IEh0dHBIYW5kbGVyKTogT2JzZXJ2YWJsZTxIdHRwRXZlbnQ8YW55Pj4ge1xyXG4gICAgcmV0dXJuIG5leHQuaGFuZGxlKHJlcSkucGlwZShcclxuICAgICAgY2F0Y2hFcnJvcigoZXJyb3I6IEh0dHBFcnJvclJlc3BvbnNlKSA9PiB7IFxyXG4gICAgICAgIC8vIGlmKGVycm9yLnN0YXR1cyA9PSAwKXtcclxuICAgICAgICAvLyAgIHRoaXMuUHJlc2VudEVycm9yVG9hc3QoZXJyb3IuZXJyb3IsIHJlcSwgZXJyb3IpO1xyXG4gICAgICAgIC8vIH1cclxuICAgICAgICBpZihlcnJvci5zdGF0dXMgPT0gNDAxKXsgXHJcbiAgICAgICAgICB0aGlzLmF1dGguTG9nZ291dCgpOyBcclxuICAgICAgICB9ZWxzZSBcclxuICAgICAgICBpZihlcnJvci5zdGF0dXMgPT0gNDAzKXtcclxuICAgICAgICAgIHRoaXMucm91dGVyLm5hdmlnYXRlKFsnLzQwMyddKVxyXG4gICAgICAgIH0gZWxzZVxyXG4gICAgICAgIGlmKGVycm9yLnN0YXR1cyAhPSA0MDQpeyBcclxuICAgICAgICAgIHRoaXMuUHJlc2VudEVycm9yVG9hc3QoZXJyb3IuZXJyb3IsIHJlcSwgZXJyb3IpO1xyXG4gICAgICAgIH1cclxuICAgICAgICB0aHJvdyBlcnJvcjtcclxuICAgICAgfSlcclxuICAgICk7XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIGxvY2FsVXNlcktleTogc3RyaW5nID0gXCJBUExJQ0FUSU9OX1VTRVJfS0VZXCI7XHJcbiAgcHJpdmF0ZSBsb2NhbEFkbWluS2V5OiBzdHJpbmcgPSBcIkFQTElDQVRJT05fQURNSU5fS0VZXCI7XHJcbiAgYXN5bmMgUHJlc2VudEVycm9yVG9hc3QoanNvbjogc3RyaW5nLCByZXF1ZXN0OiBhbnksIGZ1bGxFcnJvcjogYW55KSB7XHJcbiAgICB2YXIgcmVzOiBBcGlFcnJvclJldHVybiA9IG51bGw7XHJcbiAgICB0cnl7XHJcbiAgICAgIHJlcyA9IEpTT04ucGFyc2UoanNvbikgYXMgQXBpRXJyb3JSZXR1cm5cclxuICAgIH1jYXRjaHtcclxuICAgICAgcmVzID0geyBFcnJvOiBcIk7Do28gZm9pIHBvc3NpdmVsIGNvbnZlcnRlciBvIEpTT04gZGUgcmV0b3JubyFcIiwgTWVuc2FnZW06IFwiT2NvcnJldSB1bSBlcnJvIGluZXNwZXJhZG8hXCIsIF9JbmZvOiBcIlwiIH1cclxuICAgIH1cclxuICAgIHJlcy5fSW5mbyA9IGF3YWl0IHRoaXMuR2V0SW5mbyhyZXF1ZXN0LCBmdWxsRXJyb3IpO1xyXG5cclxuICAgIGNvbnN0IHRvYXN0ID0gYXdhaXQgdGhpcy50b2FzdENvbnRyb2xsZXIuY3JlYXRlKHtcclxuICAgICAgbWVzc2FnZTogcmVzLk1lbnNhZ2VtLFxyXG4gICAgICBkdXJhdGlvbjogNTAwMCxcclxuICAgICAgaWNvbjogXCJidWdcIixcclxuICAgICAgcG9zaXRpb246ICdib3R0b20nLFxyXG4gICAgICB0cmFuc2x1Y2VudDogZmFsc2UsIFxyXG4gICAgICBjc3NDbGFzczogJ2lvbmljLXRvYXN0JyxcclxuICAgICAgYnV0dG9uczogW1xyXG4gICAgICAgIHsgXHJcbiAgICAgICAgICB0ZXh0OiBcIlJlcG9ydGFyIEVycm9cIixcclxuICAgICAgICAgIGljb246IFwiZG9jdW1lbnRcIixcclxuICAgICAgICAgIHNpZGU6IFwiZW5kXCIsXHJcbiAgICAgICAgICBoYW5kbGVyOiAoKSA9PiB7XHJcbiAgICAgICAgICAgIHRoaXMuUmVwb3J0KHJlcyk7XHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICBdXHJcbiAgICB9KTtcclxuXHJcbiAgICBhd2FpdCB0b2FzdC5wcmVzZW50KCk7XHJcbiAgfVxyXG5cclxuICBwcm90ZWN0ZWQgZ2V0IGZ1bGxSb3V0ZSgpOiBzdHJpbmd7XHJcbiAgICByZXR1cm4gdGhpcy5hcGlVcmxQcm92aWRlclNlcnZpY2UuYXBpVXJsICsgJ2Vycm9yJ1xyXG4gIH1cclxuICBSZXBvcnQocmVzOiBBcGlFcnJvclJldHVybik6IHZvaWR7XHJcbiAgICB0aGlzLmh0dHAucG9zdCh0aGlzLmZ1bGxSb3V0ZSwgcmVzKS5zdWJzY3JpYmUoe1xyXG4gICAgICBuZXh0OiAocmVzKSA9PiB7IHRoaXMuZ2VuZXJpY1NlcnZpY2UuUHJlc2VudFRvYXN0KFwiRXJybyBpbmZvcm1hZG8gY29tIHN1Y2Vzc28hXCIsIFwiY2hlY2ttYXJrLWNpcmNsZVwiKTsgfSxcclxuICAgICAgZXJyb3I6KGVycikgPT4geyB0aGlzLmdlbmVyaWNTZXJ2aWNlLlByZXNlbnRUb2FzdChcIk9jb3JyZXUgdW0gZXJybyBpbmVzcGVyYWRvIG5vIHJldG9ybm8gZG8gZXJybyFcIik7IH1cclxuICAgIH0pO1xyXG4gIH1cclxuXHJcbiAgYXN5bmMgR2V0SW5mbyhyZXF1ZXN0OiBhbnksIGZ1bGxFcnJvcjogYW55KTogUHJvbWlzZTxzdHJpbmc+e1xyXG4gICAgcmV0dXJuIEpTT04uc3RyaW5naWZ5KHtcclxuICAgICAgdG9rZW4gICAgIDogdGhpcy5hdXRoLkxvYWRUb2tlbigpLFxyXG4gICAgICB0b2tlbkFkbWluOiB0aGlzLmF1dGguTG9hZFRva2VuQWRtaW4oKSxcclxuICAgICAgY3VycmVudFVybDogd2luZG93LmxvY2F0aW9uLmhyZWYsXHJcbiAgICAgIHVzZXJJZCAgICA6IChhd2FpdCB0aGlzLmF1dGguTG9hZFRva2VuKCkpLmlkLFxyXG4gICAgICBqd3RBZG1pbiAgOiBsb2NhbFN0b3JhZ2UuZ2V0SXRlbSh0aGlzLmxvY2FsQWRtaW5LZXkpLFxyXG4gICAgICBqd3RVc2VyICAgOiBsb2NhbFN0b3JhZ2UuZ2V0SXRlbSh0aGlzLmxvY2FsVXNlcktleSksXHJcbiAgICAgIHJlcXVlc3QgICA6IHJlcXVlc3QsXHJcbiAgICAgIGVycm9yICAgICA6IGZ1bGxFcnJvcixcclxuICAgICAgYXBpVXJsICAgIDogdGhpcy5hcGlVcmxQcm92aWRlclNlcnZpY2UuYXBpVXJsXHJcbiAgICB9KTtcclxuICB9XHJcbn1cclxuXHJcbmNsYXNzIEFwaUVycm9yUmV0dXJuIHtcclxuICBNZW5zYWdlbTogc3RyaW5nO1xyXG4gIEVycm86IHN0cmluZztcclxuICBfSW5mbzogc3RyaW5nO1xyXG59Il19
|
|
@@ -10,7 +10,7 @@ export class ApiUrlProviderService {
|
|
|
10
10
|
this._production = coreService.environment.production;
|
|
11
11
|
this.apiUrl = this.coreService.environment.apiUrl;
|
|
12
12
|
;
|
|
13
|
-
console.log(`%c [ sapphire-ion
|
|
13
|
+
console.log(`%c [ @sapphire-ion/framework : ${this.coreService.environment.applicationName} started @ development ] | Conectado em: ${this.apiUrl}`, "background-color: #2fdf75; color: black;");
|
|
14
14
|
}
|
|
15
15
|
get apiUrl() { return this._apiUrl; }
|
|
16
16
|
set apiUrl(value) {
|
|
@@ -26,4 +26,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImpo
|
|
|
26
26
|
providedIn: 'root'
|
|
27
27
|
}]
|
|
28
28
|
}], ctorParameters: () => [{ type: i1.EnvironmentService }] });
|
|
29
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
29
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXBpLXVybC1wcm92aWRlci5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vc3JjL2xpYi9zZXJ2aWNlcy93ZWIvYXBpLXVybC1wcm92aWRlci5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQVUsTUFBTSxlQUFlLENBQUM7QUFDbkQsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sd0JBQXdCLENBQUM7OztBQU01RCxNQUFNLE9BQU8scUJBQXFCO0lBRWhDLFlBQ1UsV0FBK0I7UUFBL0IsZ0JBQVcsR0FBWCxXQUFXLENBQW9CO1FBU3pDLHFCQUFxQjtRQUNkLFlBQU8sR0FBVyxFQUFFLENBQUM7UUFSMUIsSUFBSSxDQUFDLFdBQVcsR0FBRyxXQUFXLENBQUMsV0FBVyxDQUFDLFVBQVUsQ0FBQztRQUV0RCxJQUFJLENBQUMsTUFBTSxHQUFHLElBQUksQ0FBQyxXQUFXLENBQUMsV0FBVyxDQUFDLE1BQU0sQ0FBQztRQUFBLENBQUM7UUFFbkQsT0FBTyxDQUFDLEdBQUcsQ0FBQyxrQ0FBa0MsSUFBSSxDQUFDLFdBQVcsQ0FBQyxXQUFXLENBQUMsZUFBZSw0Q0FBNEMsSUFBSSxDQUFDLE1BQU0sRUFBRSxFQUFFLDBDQUEwQyxDQUFDLENBQUE7SUFDbE0sQ0FBQztJQUtELElBQVcsTUFBTSxLQUFZLE9BQU8sSUFBSSxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUM7SUFDbkQsSUFBVyxNQUFNLENBQUMsS0FBYTtRQUM3QixJQUFJLENBQUMsT0FBTyxHQUFHLEtBQUssQ0FBQztJQUN2QixDQUFDO0lBSUQsSUFBVyxVQUFVLEtBQUssT0FBTyxJQUFJLENBQUMsV0FBVyxDQUFDLENBQUMsQ0FBQzsrR0F0QnpDLHFCQUFxQjttSEFBckIscUJBQXFCLGNBRnBCLE1BQU07OzRGQUVQLHFCQUFxQjtrQkFIakMsVUFBVTttQkFBQztvQkFDVixVQUFVLEVBQUUsTUFBTTtpQkFDbkIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3RhYmxlLCBPbkluaXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgRW52aXJvbm1lbnRTZXJ2aWNlIH0gZnJvbSAnLi4vZW52aXJvbm1lbnQuc2VydmljZSc7XHJcbmltcG9ydCB7IFByZWZlcmVuY2VzIH0gZnJvbSAnQGNhcGFjaXRvci9wcmVmZXJlbmNlcyc7XHJcblxyXG5ASW5qZWN0YWJsZSh7XHJcbiAgcHJvdmlkZWRJbjogJ3Jvb3QnXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBBcGlVcmxQcm92aWRlclNlcnZpY2Uge1xyXG5cclxuICBjb25zdHJ1Y3RvcihcclxuICAgIHByaXZhdGUgY29yZVNlcnZpY2U6IEVudmlyb25tZW50U2VydmljZSxcclxuICApIHsgXHJcbiAgICB0aGlzLl9wcm9kdWN0aW9uID0gY29yZVNlcnZpY2UuZW52aXJvbm1lbnQucHJvZHVjdGlvbjtcclxuXHJcbiAgICB0aGlzLmFwaVVybCA9IHRoaXMuY29yZVNlcnZpY2UuZW52aXJvbm1lbnQuYXBpVXJsOztcclxuXHJcbiAgICBjb25zb2xlLmxvZyhgJWMgWyBAc2FwcGhpcmUtaW9uL2ZyYW1ld29yayA6ICR7dGhpcy5jb3JlU2VydmljZS5lbnZpcm9ubWVudC5hcHBsaWNhdGlvbk5hbWV9IHN0YXJ0ZWQgQCBkZXZlbG9wbWVudCBdIHwgQ29uZWN0YWRvIGVtOiAke3RoaXMuYXBpVXJsfWAsIFwiYmFja2dyb3VuZC1jb2xvcjogIzJmZGY3NTsgY29sb3I6IGJsYWNrO1wiKVxyXG4gIH1cclxuXHJcbiAgLy8jcmVnaW9uIFsgQVBJIFVSTCBdXHJcbiAgcHVibGljIF9hcGlVcmw6IHN0cmluZyA9ICcnO1xyXG5cclxuICBwdWJsaWMgZ2V0IGFwaVVybCgpOiBzdHJpbmd7IHJldHVybiB0aGlzLl9hcGlVcmw7IH1cclxuICBwdWJsaWMgc2V0IGFwaVVybCh2YWx1ZTogc3RyaW5nKXtcclxuICAgIHRoaXMuX2FwaVVybCA9IHZhbHVlO1xyXG4gIH1cclxuICBcclxuICBwcml2YXRlIF9wcm9kdWN0aW9uOiBib29sZWFuO1xyXG5cclxuICBwdWJsaWMgZ2V0IHByb2R1Y3Rpb24oKSB7IHJldHVybiB0aGlzLl9wcm9kdWN0aW9uOyB9XHJcbiAgLy8jZW5kcmVnaW9uIFsgQVBJIFVSTCBdXHJcbn1cclxuXHJcbi8vIGV4cG9ydCBjbGFzcyBBcGlVcmx7XHJcbi8vICAgbGFiZWwgICAgIDogc3RyaW5nOyBcclxuLy8gICB2YWx1ZSAgICAgOiBzdHJpbmc7XHJcbi8vICAgcHJvZHVjdGlvbjogYm9vbGVhbjtcclxuLy8gICBjb25zdHJ1Y3Rvcih2YWx1ZTogc3RyaW5nLCBwb3J0OiBudW1iZXIsIHByb2R1Y3Rpb246IGJvb2xlYW4sIGh0dHBzOiBib29sZWFuID0gZmFsc2Upe1xyXG4vLyAgICAgdGhpcy5wcm9kdWN0aW9uID0gcHJvZHVjdGlvbjtcclxuLy8gICAgIGlmKCFwcm9kdWN0aW9uKXtcclxuLy8gICAgICAgdGhpcy52YWx1ZSA9IGBodHRwJHtodHRwcyA/ICdzJyA6ICcnfTovLyR7dmFsdWV9OiR7cG9ydH0vYDtcclxuLy8gICAgICAgdGhpcy5sYWJlbCA9IHZhbHVlO1xyXG4vLyAgICAgfWVsc2V7XHJcbi8vICAgICAgIHRoaXMudmFsdWUgPSBgaHR0cCR7aHR0cHMgPyAncycgOiAnJ306Ly8ke3ZhbHVlfS9gO1xyXG4vLyAgICAgICB0aGlzLmxhYmVsID0gJ1Byb2R1w6fDo28nXHJcbi8vICAgICB9XHJcbi8vICAgfVxyXG4vLyB9Il19
|
|
@@ -644,7 +644,7 @@ class ApiUrlProviderService {
|
|
|
644
644
|
this._production = coreService.environment.production;
|
|
645
645
|
this.apiUrl = this.coreService.environment.apiUrl;
|
|
646
646
|
;
|
|
647
|
-
console.log(`%c [ sapphire-ion
|
|
647
|
+
console.log(`%c [ @sapphire-ion/framework : ${this.coreService.environment.applicationName} started @ development ] | Conectado em: ${this.apiUrl}`, "background-color: #2fdf75; color: black;");
|
|
648
648
|
}
|
|
649
649
|
get apiUrl() { return this._apiUrl; }
|
|
650
650
|
set apiUrl(value) {
|
|
@@ -1125,8 +1125,14 @@ class InputFileConfiguration {
|
|
|
1125
1125
|
}
|
|
1126
1126
|
|
|
1127
1127
|
class TableField {
|
|
1128
|
+
SelectDisableMultiple() {
|
|
1129
|
+
if (this.type == InputType.Select && this.configuration) {
|
|
1130
|
+
return this.configuration.multiple;
|
|
1131
|
+
}
|
|
1132
|
+
return false;
|
|
1133
|
+
}
|
|
1128
1134
|
disabledChange() {
|
|
1129
|
-
return this.filter.
|
|
1135
|
+
return this.filter.some(p => p.disableChange) || this.SelectDisableMultiple();
|
|
1130
1136
|
}
|
|
1131
1137
|
;
|
|
1132
1138
|
constructor(header, index, formControl, type, configuration = null, disabled = false) {
|
|
@@ -3425,6 +3431,7 @@ class ThFilterComponent {
|
|
|
3425
3431
|
]);
|
|
3426
3432
|
}
|
|
3427
3433
|
}
|
|
3434
|
+
this.isFilterActive = this.field.filter != null && this.field.filter.length > 0;
|
|
3428
3435
|
}
|
|
3429
3436
|
Change() {
|
|
3430
3437
|
if (((typeof (this.model) == 'string' && !this.model) ||
|
|
@@ -3454,7 +3461,7 @@ class ThFilterComponent {
|
|
|
3454
3461
|
this.changeEmitter.emit();
|
|
3455
3462
|
return;
|
|
3456
3463
|
}
|
|
3457
|
-
else if ([InputType.String].includes(this.field.type)) {
|
|
3464
|
+
else if ([InputType.String, InputType.TextArea].includes(this.field.type)) {
|
|
3458
3465
|
this.field.filter = [new StringProperty(this.field.index).IsContainedIn(this.model)];
|
|
3459
3466
|
this.isFilterActive = true;
|
|
3460
3467
|
this.changeEmitter.emit();
|
|
@@ -3472,7 +3479,7 @@ class ThFilterComponent {
|
|
|
3472
3479
|
this.changeEmitter.emit();
|
|
3473
3480
|
return;
|
|
3474
3481
|
}
|
|
3475
|
-
else if (
|
|
3482
|
+
else if ([InputType.Date, InputType.DateTime].includes(this.field.type)) {
|
|
3476
3483
|
if (this.modelMinimum) {
|
|
3477
3484
|
if (this.field.type == InputType.Date) {
|
|
3478
3485
|
this.modelMinimum = this.modelMinimum.split("T")[0] + "T23:59:59";
|
|
@@ -3625,7 +3632,18 @@ class DefaultTableComponent {
|
|
|
3625
3632
|
}
|
|
3626
3633
|
GetSelectLabel(item, tField) {
|
|
3627
3634
|
const configuration = tField.configuration;
|
|
3628
|
-
|
|
3635
|
+
if (!configuration.multiple) {
|
|
3636
|
+
return configuration.loader.GetLabel(this.GetField(item, tField));
|
|
3637
|
+
}
|
|
3638
|
+
else {
|
|
3639
|
+
const values = this.GetField(item, tField);
|
|
3640
|
+
if (values && values.length > 0) {
|
|
3641
|
+
return values.map(v => configuration.loader.GetLabel(v)).join(", ");
|
|
3642
|
+
}
|
|
3643
|
+
else {
|
|
3644
|
+
return "";
|
|
3645
|
+
}
|
|
3646
|
+
}
|
|
3629
3647
|
}
|
|
3630
3648
|
GetTypeOf(val) {
|
|
3631
3649
|
return typeof (val);
|
|
@@ -6086,7 +6104,7 @@ class ErrorInterceptor {
|
|
|
6086
6104
|
else if (error.status == 403) {
|
|
6087
6105
|
this.router.navigate(['/403']);
|
|
6088
6106
|
}
|
|
6089
|
-
if (error.status != 404) {
|
|
6107
|
+
else if (error.status != 404) {
|
|
6090
6108
|
this.PresentErrorToast(error.error, req, error);
|
|
6091
6109
|
}
|
|
6092
6110
|
throw error;
|