@c8y/ngx-components 1018.0.196 → 1018.0.203
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/core/common/global-config.service.d.ts +1 -1
- package/core/common/permissions.service.d.ts +2 -2
- package/core/i18n/pattern-messages.data.d.ts +20 -20
- package/esm2020/assets-navigator/asset-node.service.mjs +9 -3
- package/esm2020/context-dashboard/add-dashboard.factory.mjs +10 -3
- package/esm2020/context-dashboard/context-dashboard.service.mjs +11 -3
- package/esm2020/context-dashboard/dashboard-detail.component.mjs +7 -2
- package/esm2020/context-dashboard/report-dashboard/report-dashboard-list.component.mjs +4 -2
- package/esm2020/core/common/global-config.service.mjs +6 -2
- package/esm2020/core/common/permissions.service.mjs +2 -2
- package/esm2020/core/common/user-preferences/user-preferences.service.mjs +6 -2
- package/esm2020/core/i18n/pattern-messages.data.mjs +21 -21
- package/esm2020/files-repository/files-repository.guard.mjs +6 -5
- package/esm2020/map/map.model.mjs +3 -3
- package/esm2020/repository/configuration/device-tab/configuration-preview.component.mjs +11 -3
- package/esm2020/sub-assets/add-group/add-group.component.mjs +7 -2
- package/esm2020/sub-assets/groups.component.mjs +5 -2
- package/esm2020/sub-assets/sub-assets.component.mjs +7 -2
- package/esm2020/sub-assets/sub-assets.service.mjs +12 -6
- package/fesm2015/c8y-ngx-components-assets-navigator.mjs +8 -2
- package/fesm2015/c8y-ngx-components-assets-navigator.mjs.map +1 -1
- package/fesm2015/c8y-ngx-components-context-dashboard.mjs +28 -6
- package/fesm2015/c8y-ngx-components-context-dashboard.mjs.map +1 -1
- package/fesm2015/c8y-ngx-components-files-repository.mjs +5 -4
- package/fesm2015/c8y-ngx-components-files-repository.mjs.map +1 -1
- package/fesm2015/c8y-ngx-components-map.mjs +2 -2
- package/fesm2015/c8y-ngx-components-map.mjs.map +1 -1
- package/fesm2015/c8y-ngx-components-repository-configuration.mjs +10 -2
- package/fesm2015/c8y-ngx-components-repository-configuration.mjs.map +1 -1
- package/fesm2015/c8y-ngx-components-sub-assets.mjs +27 -8
- package/fesm2015/c8y-ngx-components-sub-assets.mjs.map +1 -1
- package/fesm2015/c8y-ngx-components.mjs +31 -23
- package/fesm2015/c8y-ngx-components.mjs.map +1 -1
- package/fesm2020/c8y-ngx-components-assets-navigator.mjs +8 -2
- package/fesm2020/c8y-ngx-components-assets-navigator.mjs.map +1 -1
- package/fesm2020/c8y-ngx-components-context-dashboard.mjs +28 -6
- package/fesm2020/c8y-ngx-components-context-dashboard.mjs.map +1 -1
- package/fesm2020/c8y-ngx-components-files-repository.mjs +5 -4
- package/fesm2020/c8y-ngx-components-files-repository.mjs.map +1 -1
- package/fesm2020/c8y-ngx-components-map.mjs +2 -2
- package/fesm2020/c8y-ngx-components-map.mjs.map +1 -1
- package/fesm2020/c8y-ngx-components-repository-configuration.mjs +10 -2
- package/fesm2020/c8y-ngx-components-repository-configuration.mjs.map +1 -1
- package/fesm2020/c8y-ngx-components-sub-assets.mjs +27 -8
- package/fesm2020/c8y-ngx-components-sub-assets.mjs.map +1 -1
- package/fesm2020/c8y-ngx-components.mjs +31 -23
- package/fesm2020/c8y-ngx-components.mjs.map +1 -1
- package/map/map.model.d.ts +1 -1
- package/package.json +1 -1
|
@@ -13,10 +13,11 @@ export class FilesRepositoryGuard {
|
|
|
13
13
|
* @returns True, if the feature should be active.
|
|
14
14
|
*/
|
|
15
15
|
canActivate() {
|
|
16
|
-
return this.permissions.
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
16
|
+
return (this.permissions.hasRole(Permissions.ROLE_INVENTORY_READ) ||
|
|
17
|
+
this.permissions.hasAllRoles([
|
|
18
|
+
Permissions.ROLE_MANAGED_OBJECT_READ,
|
|
19
|
+
Permissions.ROLE_BINARY_READ
|
|
20
|
+
]));
|
|
20
21
|
}
|
|
21
22
|
}
|
|
22
23
|
FilesRepositoryGuard.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.0.6", ngImport: i0, type: FilesRepositoryGuard, deps: [{ token: i1.Permissions }], target: i0.ɵɵFactoryTarget.Injectable });
|
|
@@ -27,4 +28,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.0.6", ngImpor
|
|
|
27
28
|
providedIn: 'root'
|
|
28
29
|
}]
|
|
29
30
|
}], ctorParameters: function () { return [{ type: i1.Permissions }]; } });
|
|
30
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
31
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmlsZXMtcmVwb3NpdG9yeS5ndWFyZC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL2ZpbGVzLXJlcG9zaXRvcnkvZmlsZXMtcmVwb3NpdG9yeS5ndWFyZC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBRTNDLE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQzs7O0FBS2xELE1BQU0sT0FBTyxvQkFBb0I7SUFDL0IsWUFBb0IsV0FBd0I7UUFBeEIsZ0JBQVcsR0FBWCxXQUFXLENBQWE7SUFBRyxDQUFDO0lBRWhEOzs7OztPQUtHO0lBQ0gsV0FBVztRQUNULE9BQU8sQ0FDTCxJQUFJLENBQUMsV0FBVyxDQUFDLE9BQU8sQ0FBQyxXQUFXLENBQUMsbUJBQW1CLENBQUM7WUFDekQsSUFBSSxDQUFDLFdBQVcsQ0FBQyxXQUFXLENBQUM7Z0JBQzNCLFdBQVcsQ0FBQyx3QkFBd0I7Z0JBQ3BDLFdBQVcsQ0FBQyxnQkFBZ0I7YUFDN0IsQ0FBQyxDQUNILENBQUM7SUFDSixDQUFDOztpSEFqQlUsb0JBQW9CO3FIQUFwQixvQkFBb0IsY0FGbkIsTUFBTTsyRkFFUCxvQkFBb0I7a0JBSGhDLFVBQVU7bUJBQUM7b0JBQ1YsVUFBVSxFQUFFLE1BQU07aUJBQ25CIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQ2FuQWN0aXZhdGUgfSBmcm9tICdAYW5ndWxhci9yb3V0ZXInO1xuaW1wb3J0IHsgUGVybWlzc2lvbnMgfSBmcm9tICdAYzh5L25neC1jb21wb25lbnRzJztcblxuQEluamVjdGFibGUoe1xuICBwcm92aWRlZEluOiAncm9vdCdcbn0pXG5leHBvcnQgY2xhc3MgRmlsZXNSZXBvc2l0b3J5R3VhcmQgaW1wbGVtZW50cyBDYW5BY3RpdmF0ZSB7XG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgcGVybWlzc2lvbnM6IFBlcm1pc3Npb25zKSB7fVxuXG4gIC8qKlxuICAgKiBDaGVja3MgaWYgZmlsZXMgcmVwb3NpdG9yeSBzaG91bGQgYmUgYWN0aXZlLFxuICAgKiBpLmUuIHdoZXRoZXIgdGhlIGN1cnJlbnQgdGVuYW50IGNhbiByZWFkIG9yIGFkbWluIGZpbGVzIGluIHJlcG9zaXRvcnkuXG4gICAqXG4gICAqIEByZXR1cm5zIFRydWUsIGlmIHRoZSBmZWF0dXJlIHNob3VsZCBiZSBhY3RpdmUuXG4gICAqL1xuICBjYW5BY3RpdmF0ZSgpOiBib29sZWFuIHtcbiAgICByZXR1cm4gKFxuICAgICAgdGhpcy5wZXJtaXNzaW9ucy5oYXNSb2xlKFBlcm1pc3Npb25zLlJPTEVfSU5WRU5UT1JZX1JFQUQpIHx8XG4gICAgICB0aGlzLnBlcm1pc3Npb25zLmhhc0FsbFJvbGVzKFtcbiAgICAgICAgUGVybWlzc2lvbnMuUk9MRV9NQU5BR0VEX09CSkVDVF9SRUFELFxuICAgICAgICBQZXJtaXNzaW9ucy5ST0xFX0JJTkFSWV9SRUFEXG4gICAgICBdKVxuICAgICk7XG4gIH1cbn1cbiJdfQ==
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { InjectionToken } from '@angular/core';
|
|
2
2
|
export function getStatus(device) {
|
|
3
3
|
if (!device.c8y_ActiveAlarmsStatus) {
|
|
4
|
-
return 'text-
|
|
4
|
+
return 'text-muted';
|
|
5
5
|
}
|
|
6
6
|
if (device.c8y_ActiveAlarmsStatus.critical) {
|
|
7
7
|
return 'status critical';
|
|
@@ -15,7 +15,7 @@ export function getStatus(device) {
|
|
|
15
15
|
if (device.c8y_ActiveAlarmsStatus.minor) {
|
|
16
16
|
return 'status minor';
|
|
17
17
|
}
|
|
18
|
-
return 'text-
|
|
18
|
+
return 'text-muted';
|
|
19
19
|
}
|
|
20
20
|
export function getC8yMarker(marker, asset) {
|
|
21
21
|
marker.asset = asset;
|
|
@@ -44,4 +44,4 @@ export const defaultMapConfig = {
|
|
|
44
44
|
center: [51.23544, 6.79599],
|
|
45
45
|
zoomLevel: 2
|
|
46
46
|
};
|
|
47
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
47
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWFwLm1vZGVsLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vbWFwL21hcC5tb2RlbC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBSS9DLE1BQU0sVUFBVSxTQUFTLENBQUMsTUFBNkI7SUFDckQsSUFBSSxDQUFDLE1BQU0sQ0FBQyxzQkFBc0IsRUFBRTtRQUNsQyxPQUFPLFlBQVksQ0FBQztLQUNyQjtJQUNELElBQUksTUFBTSxDQUFDLHNCQUFzQixDQUFDLFFBQVEsRUFBRTtRQUMxQyxPQUFPLGlCQUFpQixDQUFDO0tBQzFCO0lBQ0QsSUFBSSxNQUFNLENBQUMsc0JBQXNCLENBQUMsS0FBSyxFQUFFO1FBQ3ZDLE9BQU8sY0FBYyxDQUFDO0tBQ3ZCO0lBQ0QsSUFBSSxNQUFNLENBQUMsc0JBQXNCLENBQUMsT0FBTyxFQUFFO1FBQ3pDLE9BQU8sZ0JBQWdCLENBQUM7S0FDekI7SUFDRCxJQUFJLE1BQU0sQ0FBQyxzQkFBc0IsQ0FBQyxLQUFLLEVBQUU7UUFDdkMsT0FBTyxjQUFjLENBQUM7S0FDdkI7SUFDRCxPQUFPLFlBQVksQ0FBQztBQUN0QixDQUFDO0FBRUQsTUFBTSxVQUFVLFlBQVksQ0FBQyxNQUFnQixFQUFFLEtBQTRCO0lBQ3hFLE1BQW9CLENBQUMsS0FBSyxHQUFHLEtBQUssQ0FBQztJQUNwQyxPQUFPLE1BQW1CLENBQUM7QUFDN0IsQ0FBQztBQUVELE1BQU0sQ0FBQyxNQUFNLGNBQWMsR0FBRyxJQUFJLGNBQWMsQ0FBaUIsZ0JBQWdCLENBQUMsQ0FBQztBQUluRixNQUFNLENBQU4sSUFBWSxXQUlYO0FBSkQsV0FBWSxXQUFXO0lBQ3JCLDZDQUFRLENBQUE7SUFDUiw2Q0FBUSxDQUFBO0lBQ1IsbURBQVcsQ0FBQTtBQUNiLENBQUMsRUFKVyxXQUFXLEtBQVgsV0FBVyxRQUl0QjtBQTJDRCxNQUFNLENBQUMsTUFBTSxrQkFBa0IsR0FBRyxJQUFJLGNBQWMsQ0FBbUIsb0JBQW9CLENBQUMsQ0FBQztBQUk3RixNQUFNLENBQUMsTUFBTSxZQUFZLEdBQWlCO0lBQ3hDLFFBQVEsRUFBRSxvREFBb0Q7SUFDOUQsS0FBSyxFQUFFLGVBQWU7SUFDdEIsUUFBUSxFQUFFLElBQUk7SUFDZCxPQUFPLEVBQUU7UUFDUCxPQUFPLEVBQUUsRUFBRTtRQUNYLE9BQU8sRUFBRSxDQUFDO1FBQ1YsV0FBVyxFQUNULG9HQUFvRztRQUN0RyxNQUFNLEVBQUUsSUFBSTtLQUNiO0NBQ0YsQ0FBQztBQUVGLE1BQU0sQ0FBQyxNQUFNLGdCQUFnQixHQUFxQjtJQUNoRCxNQUFNLEVBQUUsQ0FBQyxRQUFRLEVBQUUsT0FBTyxDQUFDO0lBQzNCLFNBQVMsRUFBRSxDQUFDO0NBQ2IsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdGlvblRva2VuIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBJTWFuYWdlZE9iamVjdCB9IGZyb20gJ0BjOHkvY2xpZW50JztcbmltcG9ydCB0eXBlICogYXMgTCBmcm9tICdsZWFmbGV0JztcblxuZXhwb3J0IGZ1bmN0aW9uIGdldFN0YXR1cyhkZXZpY2U6IFBvc2l0aW9uTWFuYWdlZE9iamVjdCkge1xuICBpZiAoIWRldmljZS5jOHlfQWN0aXZlQWxhcm1zU3RhdHVzKSB7XG4gICAgcmV0dXJuICd0ZXh0LW11dGVkJztcbiAgfVxuICBpZiAoZGV2aWNlLmM4eV9BY3RpdmVBbGFybXNTdGF0dXMuY3JpdGljYWwpIHtcbiAgICByZXR1cm4gJ3N0YXR1cyBjcml0aWNhbCc7XG4gIH1cbiAgaWYgKGRldmljZS5jOHlfQWN0aXZlQWxhcm1zU3RhdHVzLm1ham9yKSB7XG4gICAgcmV0dXJuICdzdGF0dXMgbWFqb3InO1xuICB9XG4gIGlmIChkZXZpY2UuYzh5X0FjdGl2ZUFsYXJtc1N0YXR1cy53YXJuaW5nKSB7XG4gICAgcmV0dXJuICdzdGF0dXMgd2FybmluZyc7XG4gIH1cbiAgaWYgKGRldmljZS5jOHlfQWN0aXZlQWxhcm1zU3RhdHVzLm1pbm9yKSB7XG4gICAgcmV0dXJuICdzdGF0dXMgbWlub3InO1xuICB9XG4gIHJldHVybiAndGV4dC1tdXRlZCc7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBnZXRDOHlNYXJrZXIobWFya2VyOiBMLk1hcmtlciwgYXNzZXQ6IFBvc2l0aW9uTWFuYWdlZE9iamVjdCkge1xuICAobWFya2VyIGFzIEM4eU1hcmtlcikuYXNzZXQgPSBhc3NldDtcbiAgcmV0dXJuIG1hcmtlciBhcyBDOHlNYXJrZXI7XG59XG5cbmV4cG9ydCBjb25zdCBNQVBfVElMRV9MQVlFUiA9IG5ldyBJbmplY3Rpb25Ub2tlbjxNYXBUaWxlTGF5ZXJbXT4oJ01BUF9USUxFX0xBWUVSJyk7XG5cbmV4cG9ydCB0eXBlIEM4eU1hcmtlciA9IEwuTWFya2VyICYgeyBhc3NldDogUG9zaXRpb25NYW5hZ2VkT2JqZWN0IH07XG5cbmV4cG9ydCBlbnVtIENsdXN0ZXJTaXplIHtcbiAgTk9ORSA9IDAsXG4gIEZPVVIgPSAxLFxuICBTSVhURUVOID0gMlxufVxuXG5leHBvcnQgaW50ZXJmYWNlIE1hcFRpbGVMYXllciB7XG4gIGxheWVyVXJsOiBzdHJpbmc7XG4gIG9wdGlvbnM6IEwuVGlsZUxheWVyT3B0aW9ucztcbiAgbGFiZWw6IHN0cmluZztcbiAgcHJpb3JpdHk/OiBudW1iZXI7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgUG9zaXRpb25NYW5hZ2VkT2JqZWN0IGV4dGVuZHMgSU1hbmFnZWRPYmplY3Qge1xuICBjOHlfUG9zaXRpb246IHtcbiAgICBsYXQ6IG51bWJlcjtcbiAgICBsbmc6IG51bWJlcjtcbiAgfTtcblxuICBjOHlfQWN0aXZlQWxhcm1zU3RhdHVzPzoge1xuICAgIG1pbm9yOiBudW1iZXI7XG4gICAgbWFqb3I6IG51bWJlcjtcbiAgICB3YXJuaW5nOiBudW1iZXI7XG4gICAgY3JpdGljYWw6IG51bWJlcjtcbiAgfTtcblxuICBpY29uPzoge1xuICAgIG5hbWU6IHN0cmluZztcbiAgfTtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBDbHVzdGVyTWFwQ29uZmlnIGV4dGVuZHMgTWFwQ29uZmlnIHtcbiAgY2VudGVyOiBbbnVtYmVyLCBudW1iZXJdO1xuICByZWZyZXNoSW50ZXJ2YWw/OiBudW1iZXI7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgTWFwQ29uZmlnIHtcbiAgY2VudGVyPzogW251bWJlciwgbnVtYmVyXTtcbiAgZm9sbG93PzogYm9vbGVhbjtcbiAgcmVhbHRpbWU/OiBib29sZWFuO1xuICB6b29tTGV2ZWw/OiBudW1iZXI7XG4gIGljb24/OiBzdHJpbmc7XG4gIGNvbG9yPzogc3RyaW5nO1xuICBkaXNhYmxlWm9vbT86IGJvb2xlYW47XG4gIGRpc2FibGVQYW4/OiBib29sZWFuO1xufVxuXG5leHBvcnQgY29uc3QgTUFQX0RFRkFVTFRfQ09ORklHID0gbmV3IEluamVjdGlvblRva2VuPE1hcERlZmF1bHRDb25maWc+KCdNQVBfREVGQVVMVF9DT05GSUcnKTtcblxuZXhwb3J0IHR5cGUgTWFwRGVmYXVsdENvbmZpZyA9IFBpY2s8TWFwQ29uZmlnLCAnY2VudGVyJyB8ICd6b29tTGV2ZWwnPjtcblxuZXhwb3J0IGNvbnN0IGRlZmF1bHRMYXllcjogTWFwVGlsZUxheWVyID0ge1xuICBsYXllclVybDogJ2h0dHBzOi8ve3N9LnRpbGUub3BlbnN0cmVldG1hcC5vcmcve3p9L3t4fS97eX0ucG5nJyxcbiAgbGFiZWw6ICdPcGVuU3RyZWV0TWFwJyxcbiAgcHJpb3JpdHk6IDEwMDAsXG4gIG9wdGlvbnM6IHtcbiAgICBtYXhab29tOiAxOCxcbiAgICBtaW5ab29tOiAyLFxuICAgIGF0dHJpYnV0aW9uOlxuICAgICAgJyZjb3B5OzxhIGhyZWY9XCJodHRwOi8vd3d3Lm9wZW5zdHJlZXRtYXAub3JnL2NvcHlyaWdodFwiIHJlbD1cIm5vcmVmZXJyZXIgbm9mb2xsb3dcIj5PcGVuU3RyZWV0TWFwPC9hPicsXG4gICAgbm9XcmFwOiB0cnVlXG4gIH1cbn07XG5cbmV4cG9ydCBjb25zdCBkZWZhdWx0TWFwQ29uZmlnOiBNYXBEZWZhdWx0Q29uZmlnID0ge1xuICBjZW50ZXI6IFs1MS4yMzU0NCwgNi43OTU5OV0sIC8vIETDvHNzZWxkb3JmXG4gIHpvb21MZXZlbDogMlxufTtcbiJdfQ==
|
|
@@ -140,10 +140,18 @@ export class ConfigurationPreviewComponent {
|
|
|
140
140
|
}
|
|
141
141
|
}
|
|
142
142
|
hasPermission() {
|
|
143
|
-
return this.user.hasAnyRole(this.appState.currentUser.value, [
|
|
143
|
+
return (this.user.hasAnyRole(this.appState.currentUser.value, [
|
|
144
144
|
Permissions.ROLE_INVENTORY_ADMIN,
|
|
145
145
|
Permissions.ROLE_INVENTORY_CREATE
|
|
146
|
-
])
|
|
146
|
+
]) ||
|
|
147
|
+
(this.user.hasAnyRole(this.appState.currentUser.value, [
|
|
148
|
+
Permissions.ROLE_MANAGED_OBJECT_ADMIN,
|
|
149
|
+
Permissions.ROLE_MANAGED_OBJECT_CREATE
|
|
150
|
+
]) &&
|
|
151
|
+
this.user.hasAnyRole(this.appState.currentUser.value, [
|
|
152
|
+
Permissions.ROLE_BINARY_ADMIN,
|
|
153
|
+
Permissions.ROLE_BINARY_CREATE
|
|
154
|
+
])));
|
|
147
155
|
}
|
|
148
156
|
ngOnDestroy() {
|
|
149
157
|
if (this.operationsSubscription) {
|
|
@@ -179,4 +187,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.0.6", ngImpor
|
|
|
179
187
|
}], operationToTrigger: [{
|
|
180
188
|
type: Input
|
|
181
189
|
}] } });
|
|
182
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29uZmlndXJhdGlvbi1wcmV2aWV3LmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3JlcG9zaXRvcnkvY29uZmlndXJhdGlvbi9kZXZpY2UtdGFiL2NvbmZpZ3VyYXRpb24tcHJldmlldy5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi9yZXBvc2l0b3J5L2NvbmZpZ3VyYXRpb24vZGV2aWNlLXRhYi9jb25maWd1cmF0aW9uLXByZXZpZXcuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxLQUFLLEVBQXFCLE1BQU0sZUFBZSxDQUFDO0FBQ3BFLE9BQU8sRUFFTCw0QkFBNEIsRUFDNUIsaUJBQWlCLEVBQ2xCLE1BQU0sdUNBQXVDLENBQUM7QUFDL0MsT0FBTyxFQUdMLGdCQUFnQixFQUNoQixlQUFlLEVBQ2YsV0FBVyxFQUNaLE1BQU0sYUFBYSxDQUFDO0FBQ3JCLE9BQU8sRUFBRSwwQkFBMEIsRUFBRSxNQUFNLGdDQUFnQyxDQUFDO0FBRTVFLE9BQU8sRUFBRSxHQUFHLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUNyQyxPQUFPLEVBQUUsTUFBTSxFQUFFLE1BQU0sWUFBWSxDQUFDO0FBQ3BDLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQUNyRCxPQUFPLEVBQUUseUJBQXlCLEVBQUUsTUFBTSxnQ0FBZ0MsQ0FBQztBQUMzRSxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sV0FBVyxDQUFDO0FBQ3RDLE9BQU8sRUFDTCxZQUFZLEVBQ1osZUFBZSxFQUNmLHdCQUF3QixFQUN4QixXQUFXLEVBQ1osTUFBTSxxQkFBcUIsQ0FBQzs7Ozs7Ozs7OztBQU03QixNQUFNLE9BQU8sNkJBQTZCO0lBMkJ4QyxZQUNVLDBCQUFzRCxFQUN0RCxpQkFBMkMsRUFDM0MsT0FBdUIsRUFDdkIsSUFBaUIsRUFDakIsUUFBeUIsRUFDekIs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QVMsQ0FBQyw0QkFBNEIsQ0FBQyxhQUFhLENBQUM7WUFDckQsU0FBUyxDQUFDLE1BQU0sS0FBSyxlQUFlLENBQUMsVUFBVSxFQUMvQztZQUNBLElBQUksQ0FBQywwQkFBMEIsQ0FBQyxvQkFBb0IsRUFBRSxDQUFDO1NBQ3hEO0lBQ0gsQ0FBQzs7MEhBaE1VLDZCQUE2Qjs4R0FBN0IsNkJBQTZCLGdXQy9CMUMsazdFQTBFQTsyRkQzQ2EsNkJBQTZCO2tCQUp6QyxTQUFTOytCQUNFLGtDQUFrQzt1VUFJbkMsTUFBTTtzQkFBZCxLQUFLO2dCQUVPLGlCQUFpQjtzQkFBN0IsS0FBSztnQkFTRyxjQUFjO3NCQUF0QixLQUFLO2dCQUNHLGVBQWU7c0JBQXZCLEtBQUs7Z0JBQ0csZ0JBQWdCO3NCQUF4QixLQUFLO2dCQUNHLGdCQUFnQjtzQkFBeEIsS0FBSztnQkFDRyxRQUFRO3NCQUFoQixLQUFLO2dCQUNHLGtCQUFrQjtzQkFBMUIsS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgSW5wdXQsIE9uRGVzdHJveSwgT25Jbml0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQge1xuICBDb25maWd1cmF0aW9uU25hcHNob3QsXG4gIERldmljZUNvbmZpZ3VyYXRpb25PcGVyYXRpb24sXG4gIFJlcG9zaXRvcnlTZXJ2aWNlXG59IGZyb20gJ0BjOHkvbmd4LWNvbXBvbmVudHMvcmVwb3NpdG9yeS9zaGFyZWQnO1xuaW1wb3J0IHtcbiAgSU1hbmFnZWRPYmplY3QsXG4gIElPcGVyYXRpb24sXG4gIE9wZXJhdGlvblNlcnZpY2UsXG4gIE9wZXJhdGlvblN0YXR1cyxcbiAgVXNlclNlcnZpY2Vcbn0gZnJvbSAnQGM4eS9jbGllbnQnO1xuaW1wb3J0IHsgRGV2aWNlQ29uZmlndXJhdGlvblNlcnZpY2UgfSBmcm9tICcuL2RldmljZS1jb25maWd1cmF0aW9uLnNlcnZpY2UnO1xuaW1wb3J0IHsgU3Vic2NyaXB0aW9uIH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBtYXAgfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XG5pbXBvcnQgeyBzYXZlQXMgfSBmcm9tICdmaWxlLXNhdmVyJztcbmltcG9ydCB7IEJzTW9kYWxTZXJ2aWNlIH0gZnJvbSAnbmd4LWJvb3RzdHJhcC9tb2RhbCc7XG5pbXBvcnQgeyBTYXZlVG9SZXBvc2l0b3J5Q29tcG9uZW50IH0gZnJvbSAnLi9zYXZlLXRvLXJlcG9zaXRvcnkuY29tcG9uZW50JztcbmltcG9ydCB7IGNsb25lRGVlcCB9IGZyb20gJ2xvZGFzaC1lcyc7XG5pbXBvcnQge1xuICBBbGVydFNlcnZpY2UsXG4gIEFwcFN0YXRlU2VydmljZSxcbiAgT3BlcmF0aW9uUmVhbHRpbWVTZXJ2aWNlLFxuICBQZXJtaXNzaW9uc1xufSBmcm9tICdAYzh5L25neC1jb21wb25lbnRzJztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnYzh5LWRldmljZS1jb25maWd1cmF0aW9uLXByZXZpZXcnLFxuICB0ZW1wbGF0ZVVybDogJy4vY29uZmlndXJhdGlvbi1wcmV2aWV3LmNvbXBvbmVudC5odG1sJ1xufSlcbmV4cG9ydCBjbGFzcyBDb25maWd1cmF0aW9uUHJldmlld0NvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCwgT25EZXN0cm95IHtcbiAgQElucHV0KCkgZGV2aWNlOiBJTWFuYWdlZE9iamVjdDtcblxuICBASW5wdXQoKSBzZXQgY29uZmlndXJhdGlvblR5cGUodHlwZTogc3RyaW5nKSB7XG4gICAgdGhpcy5fY29uZmlndXJhdGlvblR5cGUgPSB0eXBlO1xuICAgIHRoaXMuc2V0T3BlcmF0aW9uKHR5cGUpO1xuICB9XG5cbiAgZ2V0IGNvbmZpZ3VyYXRpb25UeXBlKCk6IHN0cmluZyB7XG4gICAgcmV0dXJuIHRoaXMuX2NvbmZpZ3VyYXRpb25UeXBlO1xuICB9XG5cbiAgQElucHV0KCkgY29uZmlnU25hcHNob3Q6IENvbmZpZ3VyYXRpb25TbmFwc2hvdDtcbiAgQElucHV0KCkgY2FuU2F2ZVNuYXBzaG90OiBib29sZWFuO1xuICBASW5wdXQoKSBhY3Rpb25CdXR0b25UZXh0OiBzdHJpbmc7XG4gIEBJbnB1dCgpIGFjdGlvbkJ1dHRvbkljb246IHN0cmluZztcbiAgQElucHV0KCkgaXNMZWdhY3kgPSBmYWxzZTtcbiAgQElucHV0KCkgb3BlcmF0aW9uVG9UcmlnZ2VyOlxuICAgIHwgRGV2aWNlQ29uZmlndXJhdGlvbk9wZXJhdGlvbi5VUExPQURfQ09ORklHXG4gICAgfCBEZXZpY2VDb25maWd1cmF0aW9uT3BlcmF0aW9uLkRPV05MT0FEX0NPTkZJRztcblxuICBvcGVyYXRpb246IElPcGVyYXRpb247XG4gIGNhbkNhbGxBY3Rpb24gPSB0cnVlO1xuICBkZXZpY2VDb25maWd1cmF0aW9uT3BlcmF0aW9uID0gRGV2aWNlQ29uZmlndXJhdGlvbk9wZXJhdGlvbjtcbiAgcHJpdmF0ZSBfY29uZmlndXJhdGlvblR5cGU6IHN0cmluZztcbiAgcHJpdmF0ZSBvcGVyYXRpb25zU3Vic2NyaXB0aW9uOiBTdWJzY3JpcHRpb247XG5cbiAgY29uc3RydWN0b3IoXG4gICAgcHJpdmF0ZSBkZXZpY2VDb25maWd1cmF0aW9uU2VydmljZTogRGV2aWNlQ29uZmlndXJhdGlvblNlcnZpY2UsXG4gICAgcHJpdmF0ZSBvcGVyYXRpb25SZWFsdGltZTogT3BlcmF0aW9uUmVhbHRpbWVTZXJ2aWNlLFxuICAgIHByaXZhdGUgYnNNb2RhbDogQnNNb2RhbFNlcnZpY2UsXG4gICAgcHJpdmF0ZSB1c2VyOiBVc2VyU2VydmljZSxcbiAgICBwcml2YXRlIGFwcFN0YXRlOiBBcHBTdGF0ZVNlcnZpY2UsXG4gICAgcHJpdmF0ZSByZXBvc2l0b3J5U2VydmljZTogUmVwb3NpdG9yeVNlcnZpY2UsXG4gICAgcHJpdmF0ZSBvcGVyYXRpb25TZXJ2aWNlOiBPcGVyYXRpb25TZXJ2aWNlLFxuICAgIHByaXZhdGUgYWxlcnRTZXJ2aWNlOiBBbGVydFNlcnZpY2VcbiAgKSB7fVxuXG4gIGFzeW5jIG5nT25Jbml0KCkge1xuICAgIHRoaXMuc2V0Q2FuQ2FsbEFjdGlvbigpO1xuICAgIHRoaXMuc2V0T3BlcmF0aW9uKHRoaXMuX2NvbmZpZ3VyYXRpb25UeXBlKTtcbiAgICB0aGlzLm9wZXJhdGlvbnNTdWJzY3JpcHRpb24gPSB0aGlzLm9wZXJhdGlvblJlYWx0aW1lXG4gICAgICAub25BbGwkKHRoaXMuZGV2aWNlLmlkKVxuICAgICAgLnBpcGUobWFwKCh7IGRhdGEgfSkgPT4gZGF0YSBhcyBJT3BlcmF0aW9uKSlcbiAgICAgIC5zdWJzY3JpYmUob3BlcmF0aW9uID0+IHtcbiAgICAgICAgdGhpcy51cGRhdGVQcmV2aWV3KG9wZXJhdGlvbik7XG4gICAgICB9KTtcbiAgfVxuXG4gIGFzeW5jIHNldE9wZXJhdGlvbihjb25maWdUeXBlKTogUHJvbWlzZTx2b2lkPiB7XG4gICAgY29uc3Qgb3BlcmF0aW9uTGlzdCA9IGF3YWl0IHRoaXMucmVwb3NpdG9yeVNlcnZpY2UuZ2V0Q29uZmlnRmlsZU9wZXJhdGlvbkxpc3QoXG4gICAgICB0aGlzLmRldmljZS5pZCxcbiAgICAgIHRoaXMub3BlcmF0aW9uVG9UcmlnZ2VyXG4gICAgKTtcblxuICAgIGNvbnN0IG9wZXJhdGlvbiA9IHRoaXMuaXNMZWdhY3lcbiAgICAgID8gb3BlcmF0aW9uTGlzdC5maW5kKG9wID0+IG9wW3RoaXMub3BlcmF0aW9uVG9UcmlnZ2VyXSAmJiAhb3BbdGhpcy5vcGVyYXRpb25Ub1RyaWdnZXJdLnR5cGUpXG4gICAgICA6IG9wZXJhdGlvbkxpc3QuZmluZChvcCA9PiBvcFt0aGlzLm9wZXJhdGlvblRvVHJpZ2dlcl0udHlwZSA9PT0gY29uZmlnVHlwZSk7XG5cbiAgICB0aGlzLm9wZXJhdGlvbiA9XG4gICAgICBvcGVyYXRpb24gJiYgb3BlcmF0aW9uLnN0YXR1cyAhPT0gT3BlcmF0aW9uU3RhdHVzLlNVQ0NFU1NGVUwgPyBvcGVyYXRpb24gOiB1bmRlZmluZWQ7XG4gIH1cblxuICBzZXRDYW5DYWxsQWN0aW9uKCk6IHZvaWQge1xuICAgIHRoaXMuY2FuQ2FsbEFjdGlvbiA9IHRoaXMuZGV2aWNlQ29uZmlndXJhdGlvblNlcnZpY2UuaGFzQW55U3VwcG9ydGVkT3BlcmF0aW9uKFxuICAgICAgdGhpcy5kZXZpY2UsXG4gICAgICB0aGlzLm9wZXJhdGlvblRvVHJpZ2dlclxuICAgICk7XG4gIH1cblxuICBhc3luYyBjcmVhdGVEZXZpY2VPcGVyYXRpb24oKSB7XG4gICAgbGV0IG9wZXJhdGlvbkNmZztcbiAgICBpZiAodGhpcy5vcGVyYXRpb25Ub1RyaWdnZXIgPT09IERldmljZUNvbmZpZ3VyYXRpb25PcGVyYXRpb24uRE9XTkxPQURfQ09ORklHKSB7XG4gICAgICBvcGVyYXRpb25DZmcgPSB0aGlzLnJlcG9zaXRvcnlTZXJ2aWNlLmdldERvd25sb2FkQ29uZmlndXJhdGlvbkZpbGVPcGVyYXRpb24oXG4gICAgICAgIHRoaXMuZGV2aWNlLFxuICAgICAgICB0aGlzLl9jb25maWd1cmF0aW9uVHlwZSxcbiAgICAgICAgdGhpcy5jb25maWdTbmFwc2hvdCxcbiAgICAgICAgdGhpcy5pc0xlZ2FjeVxuICAgICAgKTtcbiAgICB9XG4gICAgaWYgKHRoaXMub3BlcmF0aW9uVG9UcmlnZ2VyID09PSBEZXZpY2VDb25maWd1cmF0aW9uT3BlcmF0aW9uLlVQTE9BRF9DT05GSUcpIHtcbiAgICAgIG9wZXJhdGlvbkNmZyA9IHRoaXMucmVwb3NpdG9yeVNlcnZpY2UuZ2V0VXBsb2FkQ29uZmlndXJhdGlvbkZpbGVPcGVyYXRpb24oXG4gICAgICAgIHRoaXMuZGV2aWNlLFxuICAgICAgICB0aGlzLl9jb25maWd1cmF0aW9uVHlwZSxcbiAgICAgICAgdGhpcy5pc0xlZ2FjeVxuICAgICAgKTtcbiAgICB9XG4gICAgdHJ5IHtcbiAgICAgIHRoaXMub3BlcmF0aW9uID0gKGF3YWl0IHRoaXMub3BlcmF0aW9uU2VydmljZS5jcmVhdGUob3BlcmF0aW9uQ2ZnKSkuZGF0YTtcbiAgICB9IGNhdGNoIChleCkge1xuICAgICAgdGhpcy5hbGVydFNlcnZpY2UuYWRkU2VydmVyRmFpbHVyZShleCk7XG4gICAgfVxuICB9XG5cbiAgc2hvd09wZXJhdGlvbigpOiBib29sZWFuIHtcbiAgICBpZiAodGhpcy5vcGVyYXRpb25Ub1RyaWdnZXIgPT09IERldmljZUNvbmZpZ3VyYXRpb25PcGVyYXRpb24uRE9XTkxPQURfQ09ORklHKSB7XG4gICAgICByZXR1cm4gISF0aGlzLm9wZXJhdGlvbjtcbiAgICB9XG4gICAgcmV0dXJuIChcbiAgICAgIHRoaXMub3BlcmF0aW9uICYmXG4gICAgICBbT3BlcmF0aW9uU3RhdHVzLlBFTkRJTkcsIE9wZXJhdGlvblN0YXR1cy5FWEVDVVRJTkcsIE9wZXJhdGlvblN0YXR1cy5GQUlMRURdLmluY2x1ZGVzKFxuICAgICAgICB0aGlzLm9wZXJhdGlvbi5zdGF0dXNcbiAgICAgIClcbiAgICApO1xuICB9XG5cbiAgc2hvd0JpbmFyeSgpOiBib29sZWFuIHtcbiAgICBpZiAodGhpcy5vcGVyYXRpb25Ub1RyaWdnZXIgPT09IERldmljZUNvbmZpZ3VyYXRpb25PcGVyYXRpb24uRE9XTkxPQURfQ09ORklHKSB7XG4gICAgICByZXR1cm4gdHJ1ZTtcbiAgICB9XG4gICAgcmV0dXJuICF0aGlzLnNob3dPcGVyYXRpb24oKTtcbiAgfVxuXG4gIGlzQ3JlYXRlT3BlcmF0aW9uRGlzYWJsZWQoKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIChcbiAgICAgIHRoaXMub3BlcmF0aW9uICYmXG4gICAgICBbT3BlcmF0aW9uU3RhdHVzLlBFTkRJTkcsIE9wZXJhdGlvblN0YXR1cy5FWEVDVVRJTkddLmluY2x1ZGVzKHRoaXMub3BlcmF0aW9uLnN0YXR1cylcbiAgICApO1xuICB9XG5cbiAgdXBkYXRlUHJldmlldyhvcGVyYXRpb246IElPcGVyYXRpb24pIHtcbiAgICBpZiAoXG4gICAgICBvcGVyYXRpb24gJiZcbiAgICAgIG9wZXJhdGlvblt0aGlzLm9wZXJhdGlvblRvVHJpZ2dlcl0gJiZcbiAgICAgICh0aGlzLmlzTGVnYWN5IHx8XG4gICAgICAgIChvcGVyYXRpb25bdGhpcy5vcGVyYXRpb25Ub1RyaWdnZXJdLnR5cGUgJiZcbiAgICAgICAgICBvcGVyYXRpb25bdGhpcy5vcGVyYXRpb25Ub1RyaWdnZXJdLnR5cGUgPT09IHRoaXMuY29uZmlndXJhdGlvblR5cGUpKVxuICAgICkge1xuICAgICAgdGhpcy5vcGVyYXRpb24gPSBvcGVyYXRpb247XG4gICAgICB0aGlzLnVwZGF0ZVNuYXBzaG90c09uQ29uZmlnVXBsb2FkKG9wZXJhdGlvbik7XG4gICAgfVxuICB9XG5cbiAgZG93bmxvYWQoKSB7XG4gICAgY29uc3QgYmxvYiA9IG5ldyBCbG9iKFt0aGlzLmNvbmZpZ1NuYXBzaG90LmJpbmFyeV0sIHsgdHlwZTogdGhpcy5jb25maWdTbmFwc2hvdC5iaW5hcnlUeXBlIH0pO1xuICAgIGxldCBmaWxlTmFtZSA9IHRoaXMuY29uZmlnU25hcHNob3QubmFtZTtcbiAgICBzd2l0Y2ggKHRoaXMuY29uZmlnU25hcHNob3QuYmluYXJ5VHlwZSkge1xuICAgICAgY2FzZSAndGV4dC9jc3YnOlxuICAgICAgY2FzZSAnYXBwbGljYXRpb24vY3N2JzpcbiAgICAgICAgZmlsZU5hbWUgPSBmaWxlTmFtZS5jb25jYXQoJy5jc3YnKTtcbiAgICAgICAgYnJlYWs7XG4gICAgICBjYXNlICd0ZXh0L3lhbWwnOlxuICAgICAgY2FzZSAnYXBwbGljYXRpb24veC15YW1sJzpcbiAgICAgICAgZmlsZU5hbWUgPSBmaWxlTmFtZS5jb25jYXQoJy55YW1sJyk7XG4gICAgICAgIGJyZWFrO1xuICAgICAgY2FzZSAnYXBwbGljYXRpb24vanNvbic6XG4gICAgICAgIGZpbGVOYW1lID0gZmlsZU5hbWUuY29uY2F0KCcuanNvbicpO1xuICAgICAgICBicmVhaztcbiAgICB9XG4gICAgc2F2ZUFzKGJsb2IsIGZpbGVOYW1lKTtcbiAgfVxuXG4gIGFzeW5jIHNhdmVUb1JlcG9zaXRvcnkoKSB7XG4gICAgY29uc3QgaW5pdGlhbFN0YXRlID0ge1xuICAgICAgY29uZmlnU25hcHNob3Q6IGNsb25lRGVlcCh0aGlzLmNvbmZpZ1NuYXBzaG90KVxuICAgIH07XG4gICAgY29uc3QgbW9kYWwgPSB0aGlzLmJzTW9kYWwuc2hvdyhTYXZlVG9SZXBvc2l0b3J5Q29tcG9uZW50LCB7XG4gICAgICBjbGFzczogJ21vZGFsLXNtJyxcbiAgICAgIGFyaWFEZXNjcmliZWRieTogJ21vZGFsLWJvZHknLFxuICAgICAgYXJpYUxhYmVsbGVkQnk6ICdtb2RhbC10aXRsZScsXG4gICAgICBpbml0aWFsU3RhdGUsXG4gICAgICBpZ25vcmVCYWNrZHJvcENsaWNrOiB0cnVlXG4gICAgfSkuY29udGVudCBhcyBTYXZlVG9SZXBvc2l0b3J5Q29tcG9uZW50O1xuICAgIHRyeSB7XG4gICAgICBhd2FpdCBtb2RhbC5yZXN1bHQ7XG4gICAgICB0aGlzLmRldmljZUNvbmZpZ3VyYXRpb25TZXJ2aWNlLnVwZGF0ZUNvbmZpZ3VyYXRpb25zKHRydWUpO1xuICAgICAgbW9kYWwuY2xvc2UoKTtcbiAgICB9IGNhdGNoIChleCkge1xuICAgICAgLy8gZG8gbm90aGluZ1xuICAgIH1cbiAgfVxuXG4gIGhhc1Blcm1pc3Npb24oKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIHRoaXMudXNlci5oYXNBbnlSb2xlKHRoaXMuYXBwU3RhdGUuY3VycmVudFVzZXIudmFsdWUsIFtcbiAgICAgIFBlcm1pc3Npb25zLlJPTEVfSU5WRU5UT1JZX0FETUlOLFxuICAgICAgUGVybWlzc2lvbnMuUk9MRV9JTlZFTlRPUllfQ1JFQVRFXG4gICAgXSk7XG4gIH1cblxuICBuZ09uRGVzdHJveSgpIHtcbiAgICBpZiAodGhpcy5vcGVyYXRpb25zU3Vic2NyaXB0aW9uKSB7XG4gICAgICB0aGlzLm9wZXJhdGlvbnNTdWJzY3JpcHRpb24udW5zdWJzY3JpYmUoKTtcbiAgICB9XG4gIH1cblxuICBwcml2YXRlIGFzeW5jIHVwZGF0ZVNuYXBzaG90c09uQ29uZmlnVXBsb2FkKG9wZXJhdGlvbikge1xuICAgIGlmIChcbiAgICAgIG9wZXJhdGlvbltEZXZpY2VDb25maWd1cmF0aW9uT3BlcmF0aW9uLlVQTE9BRF9DT05GSUddICYmXG4gICAgICBvcGVyYXRpb24uc3RhdHVzID09PSBPcGVyYXRpb25TdGF0dXMuU1VDQ0VTU0ZVTFxuICAgICkge1xuICAgICAgdGhpcy5kZXZpY2VDb25maWd1cmF0aW9uU2VydmljZS51cGRhdGVDb25maWd1cmF0aW9ucygpO1xuICAgIH1cbiAgfVxufVxuIiwiPGRpdiBjbGFzcz1cImNvbnRlbnQtZmxleC01NSBwLWItMTZcIj5cbiAgPGRpdiBjbGFzcz1cImNvbC03IHAtdC00XCI+XG4gICAgPHA+XG4gICAgICA8c3BhbiBjbGFzcz1cInRleHQtbGFiZWwtc21hbGwgdGV4dC11cHBlcmNhc2UgbS1yLTRcIiB0cmFuc2xhdGU+Q29uZmlndXJhdGlvbjwvc3Bhbj5cbiAgICAgIDxzcGFuICpuZ0lmPVwiY29uZmlnU25hcHNob3Q/Lm5hbWU7IGVsc2UgZW1wdHlUZXh0XCI+XG4gICAgICAgIDxzdHJvbmc+e3sgY29uZmlnU25hcHNob3QubmFtZSB9fTwvc3Ryb25nPlxuICAgICAgPC9zcGFuPlxuICAgICAgPG5nLXRlbXBsYXRlICNlbXB0eVRleHQ+LS0tPC9uZy10ZW1wbGF0ZT5cbiAgICA8L3A+XG4gICAgPHA+XG4gICAgICA8c3BhbiBjbGFzcz1cInRleHQtbGFiZWwtc21hbGwgdGV4dC11cHBlcmNhc2UgbS1yLTRcIiB0cmFuc2xhdGU+TGFzdCB1cGRhdGVkPC9zcGFuPlxuICAgICAgPHNtYWxsICpuZ0lmPVwiY29uZmlnU25hcHNob3Q/LnRpbWU7IGVsc2UgZW1wdHlEYXRlXCI+XG4gICAgICAgIHt7IGNvbmZpZ1NuYXBzaG90LnRpbWUgfCBjOHlEYXRlIH19XG4gICAgICA8L3NtYWxsPlxuICAgICAgPG5nLXRlbXBsYXRlICNlbXB0eURhdGU+LS0tPC9uZy10ZW1wbGF0ZT5cbiAgICA8L3A+XG4gIDwvZGl2PlxuICA8ZGl2IGNsYXNzPVwiY29sLTVcIj5cbiAgICA8YnV0dG9uXG4gICAgICBpZD1cImFjdGlvbi1idG5cIlxuICAgICAgY2xhc3M9XCJidG4gYnRuLWRlZmF1bHQgYnRuLXNtIHB1bGwtcmlnaHRcIlxuICAgICAgdHlwZT1cImJ1dHRvblwiXG4gICAgICB0aXRsZT1cInt7IGFjdGlvbkJ1dHRvblRleHQgfCB0cmFuc2xhdGUgfX1cIlxuICAgICAgKGNsaWNrKT1cImNyZWF0ZURldmljZU9wZXJhdGlvbigpXCJcbiAgICAgIFtkaXNhYmxlZF09XCJpc0NyZWF0ZU9wZXJhdGlvbkRpc2FibGVkKClcIlxuICAgICAgKm5nSWY9XCJjYW5DYWxsQWN0aW9uXCJcbiAgICA+XG4gICAgICA8aSBbYzh5SWNvbl09XCJhY3Rpb25CdXR0b25JY29uXCI+PC9pPlxuICAgICAge3sgYWN0aW9uQnV0dG9uVGV4dCB8IHRyYW5zbGF0ZSB9fVxuICAgIDwvYnV0dG9uPlxuICA8L2Rpdj5cbjwvZGl2PlxuPGRpdiBjbGFzcz1cImM4eS1lbXB0eS1zdGF0ZSB0ZXh0LWxlZnRcIiAqbmdJZj1cIiFjb25maWdTbmFwc2hvdD8uYmluYXJ5ICYmIHNob3dCaW5hcnkoKVwiPlxuICA8aDEgW2M4eUljb25dPVwiJ2ZpbGUtaW1hZ2UtbydcIj48L2gxPlxuICA8cD5cbiAgICA8c3Ryb25nIHRyYW5zbGF0ZT5ObyBwcmV2aWV3IGF2YWlsYWJsZS48L3N0cm9uZz5cbiAgICA8YnIgLz5cbiAgICA8c21hbGwgKm5nSWY9XCJjb25maWdTbmFwc2hvdD8uYmluYXJ5ICE9PSAnJzsgZWxzZSBlbXB0eUZpbGVcIiB0cmFuc2xhdGU+XG4gICAgICBUaGUgZmlsZSBpcyBub3QgYXZhaWxhYmxlLlxuICAgIDwvc21hbGw+XG4gICAgPG5nLXRlbXBsYXRlICNlbXB0eUZpbGU+XG4gICAgICA8c21hbGwgdHJhbnNsYXRlPlRoZSBmaWxlIGlzIGVtcHR5Ljwvc21hbGw+XG4gICAgPC9uZy10ZW1wbGF0ZT5cbiAgPC9wPlxuPC9kaXY+XG48ZGl2ICpuZ0lmPVwiY29uZmlnU25hcHNob3Q/LmJpbmFyeSAmJiBzaG93QmluYXJ5KClcIiBjbGFzcz1cImZsZXgtZ3JvdyBkLWZsZXggZC1jb2xcIj5cbiAgPGM4eS1zb3VyY2UtY29kZS1wcmV2aWV3XG4gICAgW3RleHRdPVwiY29uZmlnU25hcHNob3QuYmluYXJ5XCJcbiAgICBbaXNEaXNhYmxlZF09XCJ0cnVlXCJcbiAgICBjbGFzcz1cImQtY29udGVudHNcIlxuICA+PC9jOHktc291cmNlLWNvZGUtcHJldmlldz5cbiAgPGRpdiAqbmdJZj1cImNhblNhdmVTbmFwc2hvdFwiIGNsYXNzPVwicC10LTE2XCI+XG4gICAgPGJ1dHRvblxuICAgICAgdGl0bGU9XCJ7eyAnRG93bmxvYWQnIHwgdHJhbnNsYXRlIH19XCJcbiAgICAgIHR5cGU9XCJidXR0b25cIlxuICAgICAgY2xhc3M9XCJidG4gYnRuLXByaW1hcnkgYnRuLXNtIHB1bGwtcmlnaHQgbS1sLThcIlxuICAgICAgKGNsaWNrKT1cImRvd25sb2FkKClcIlxuICAgID5cbiAgICAgIHt7ICdEb3dubG9hZCcgfCB0cmFuc2xhdGUgfX1cbiAgICA8L2J1dHRvbj5cbiAgICA8YnV0dG9uXG4gICAgICB0aXRsZT1cInt7ICdTYXZlIHRvIHJlcG9zaXRvcnknIHwgdHJhbnNsYXRlIH19XCJcbiAgICAgICpuZ0lmPVwiaGFzUGVybWlzc2lvbigpXCJcbiAgICAgIHR5cGU9XCJidXR0b25cIlxuICAgICAgY2xhc3M9XCJidG4gYnRuLWRlZmF1bHQgYnRuLXNtIHB1bGwtcmlnaHRcIlxuICAgICAgKGNsaWNrKT1cInNhdmVUb1JlcG9zaXRvcnkoKVwiXG4gICAgPlxuICAgICAge3sgJ1NhdmUgdG8gcmVwb3NpdG9yeScgfCB0cmFuc2xhdGUgfX1cbiAgICA8L2J1dHRvbj5cbiAgPC9kaXY+XG48L2Rpdj5cbjxkaXYgKm5nSWY9XCJzaG93T3BlcmF0aW9uKClcIj5cbiAgPGM4eS1vcGVyYXRpb24tZGV0YWlscyBbb3BlcmF0aW9uXT1cIm9wZXJhdGlvblwiPjwvYzh5LW9wZXJhdGlvbi1kZXRhaWxzPlxuPC9kaXY+XG4iXX0=
|
|
190
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29uZmlndXJhdGlvbi1wcmV2aWV3LmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3JlcG9zaXRvcnkvY29uZmlndXJhdGlvbi9kZXZpY2UtdGFiL2NvbmZpZ3VyYXRpb24tcHJldmlldy5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi9yZXBvc2l0b3J5L2NvbmZpZ3VyYXRpb24vZGV2aWNlLXRhYi9jb25maWd1cmF0aW9uLXByZXZpZXcuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxLQUFLLEVBQXFCLE1BQU0sZUFBZSxDQUFDO0FBQ3BFLE9BQU8sRUFFTCw0QkFBNEIsRUFDNUIsaUJBQWlCLEVBQ2xCLE1BQU0sdUNBQXVDLENBQUM7QUFDL0MsT0FBTyxFQUdMLGdCQUFnQixFQUNoQixlQUFlLEVBQ2YsV0FBVyxFQUNaLE1BQU0sYUFBYSxDQUFDO0FBQ3JCLE9BQU8sRUFBRSwwQkFBMEIsRUFBRSxNQUFNLGdDQUFnQyxDQUFDO0FBRTVFLE9BQU8sRUFBRSxHQUFHLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUNyQyxPQUFPLEVBQUUsTUFBTSxFQUFFLE1BQU0sWUFBWSxDQUFDO0FBQ3BDLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQUNyRCxPQUFPLEVBQUUseUJBQXlCLEVBQUUsTUFBTSxnQ0FBZ0MsQ0FBQztBQUMzRSxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sV0FBVyxDQUFDO0FBQ3RDLE9BQU8sRUFDTCxZQUFZLEVBQ1osZUFBZSxFQUNmLHdCQUF3QixFQUN4QixXQUFXLEVBQ1osTUFBTSxxQkFBcUIsQ0FBQzs7Ozs7Ozs7OztBQU03QixNQUFNLE9BQU8sNkJBQTZCO0lBMkJ4QyxZQUNVLDBCQUFzRCxFQUN0RCxpQkFBMkMsRUFDM0MsT0FBdUIsRUFDdkIsSUFBaUIsRUFDakIsUUFBeUIsRUFDekIs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QUFJLENBQUMsVUFBVSxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsV0FBVyxDQUFDLEtBQUssRUFBRTtvQkFDcEQsV0FBVyxDQUFDLGlCQUFpQjtvQkFDN0IsV0FBVyxDQUFDLGtCQUFrQjtpQkFDL0IsQ0FBQyxDQUFDLENBQ04sQ0FBQztJQUNKLENBQUM7SUFFRCxXQUFXO1FBQ1QsSUFBSSxJQUFJLENBQUMsc0JBQXNCLEVBQUU7WUFDL0IsSUFBSSxDQUFDLHNCQUFzQixDQUFDLFdBQVcsRUFBRSxDQUFDO1NBQzNDO0lBQ0gsQ0FBQztJQUVPLEtBQUssQ0FBQyw2QkFBNkIsQ0FBQyxTQUFTO1FBQ25ELElBQ0UsU0FBUyxDQUFDLDRCQUE0QixDQUFDLGFBQWEsQ0FBQztZQUNyRCxTQUFTLENBQUMsTUFBTSxLQUFLLGVBQWUsQ0FBQyxVQUFVLEVBQy9DO1lBQ0EsSUFBSSxDQUFDLDBCQUEwQixDQUFDLG9CQUFvQixFQUFFLENBQUM7U0FDeEQ7SUFDSCxDQUFDOzswSEExTVUsNkJBQTZCOzhHQUE3Qiw2QkFBNkIsZ1dDL0IxQyxrN0VBMEVBOzJGRDNDYSw2QkFBNkI7a0JBSnpDLFNBQVM7K0JBQ0Usa0NBQWtDO3VVQUluQyxNQUFNO3NCQUFkLEtBQUs7Z0JBRU8saUJBQWlCO3NCQUE3QixLQUFLO2dCQVNHLGNBQWM7c0JBQXRCLEtBQUs7Z0JBQ0csZUFBZTtzQkFBdkIsS0FBSztnQkFDRyxnQkFBZ0I7c0JBQXhCLEtBQUs7Z0JBQ0csZ0JBQWdCO3NCQUF4QixLQUFLO2dCQUNHLFFBQVE7c0JBQWhCLEtBQUs7Z0JBQ0csa0JBQWtCO3NCQUExQixLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBJbnB1dCwgT25EZXN0cm95LCBPbkluaXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7XG4gIENvbmZpZ3VyYXRpb25TbmFwc2hvdCxcbiAgRGV2aWNlQ29uZmlndXJhdGlvbk9wZXJhdGlvbixcbiAgUmVwb3NpdG9yeVNlcnZpY2Vcbn0gZnJvbSAnQGM4eS9uZ3gtY29tcG9uZW50cy9yZXBvc2l0b3J5L3NoYXJlZCc7XG5pbXBvcnQge1xuICBJTWFuYWdlZE9iamVjdCxcbiAgSU9wZXJhdGlvbixcbiAgT3BlcmF0aW9uU2VydmljZSxcbiAgT3BlcmF0aW9uU3RhdHVzLFxuICBVc2VyU2VydmljZVxufSBmcm9tICdAYzh5L2NsaWVudCc7XG5pbXBvcnQgeyBEZXZpY2VDb25maWd1cmF0aW9uU2VydmljZSB9IGZyb20gJy4vZGV2aWNlLWNvbmZpZ3VyYXRpb24uc2VydmljZSc7XG5pbXBvcnQgeyBTdWJzY3JpcHRpb24gfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IG1hcCB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcbmltcG9ydCB7IHNhdmVBcyB9IGZyb20gJ2ZpbGUtc2F2ZXInO1xuaW1wb3J0IHsgQnNNb2RhbFNlcnZpY2UgfSBmcm9tICduZ3gtYm9vdHN0cmFwL21vZGFsJztcbmltcG9ydCB7IFNhdmVUb1JlcG9zaXRvcnlDb21wb25lbnQgfSBmcm9tICcuL3NhdmUtdG8tcmVwb3NpdG9yeS5jb21wb25lbnQnO1xuaW1wb3J0IHsgY2xvbmVEZWVwIH0gZnJvbSAnbG9kYXNoLWVzJztcbmltcG9ydCB7XG4gIEFsZXJ0U2VydmljZSxcbiAgQXBwU3RhdGVTZXJ2aWNlLFxuICBPcGVyYXRpb25SZWFsdGltZVNlcnZpY2UsXG4gIFBlcm1pc3Npb25zXG59IGZyb20gJ0BjOHkvbmd4LWNvbXBvbmVudHMnO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdjOHktZGV2aWNlLWNvbmZpZ3VyYXRpb24tcHJldmlldycsXG4gIHRlbXBsYXRlVXJsOiAnLi9jb25maWd1cmF0aW9uLXByZXZpZXcuY29tcG9uZW50Lmh0bWwnXG59KVxuZXhwb3J0IGNsYXNzIENvbmZpZ3VyYXRpb25QcmV2aWV3Q29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0LCBPbkRlc3Ryb3kge1xuICBASW5wdXQoKSBkZXZpY2U6IElNYW5hZ2VkT2JqZWN0O1xuXG4gIEBJbnB1dCgpIHNldCBjb25maWd1cmF0aW9uVHlwZSh0eXBlOiBzdHJpbmcpIHtcbiAgICB0aGlzLl9jb25maWd1cmF0aW9uVHlwZSA9IHR5cGU7XG4gICAgdGhpcy5zZXRPcGVyYXRpb24odHlwZSk7XG4gIH1cblxuICBnZXQgY29uZmlndXJhdGlvblR5cGUoKTogc3RyaW5nIHtcbiAgICByZXR1cm4gdGhpcy5fY29uZmlndXJhdGlvblR5cGU7XG4gIH1cblxuICBASW5wdXQoKSBjb25maWdTbmFwc2hvdDogQ29uZmlndXJhdGlvblNuYXBzaG90O1xuICBASW5wdXQoKSBjYW5TYXZlU25hcHNob3Q6IGJvb2xlYW47XG4gIEBJbnB1dCgpIGFjdGlvbkJ1dHRvblRleHQ6IHN0cmluZztcbiAgQElucHV0KCkgYWN0aW9uQnV0dG9uSWNvbjogc3RyaW5nO1xuICBASW5wdXQoKSBpc0xlZ2FjeSA9IGZhbHNlO1xuICBASW5wdXQoKSBvcGVyYXRpb25Ub1RyaWdnZXI6XG4gICAgfCBEZXZpY2VDb25maWd1cmF0aW9uT3BlcmF0aW9uLlVQTE9BRF9DT05GSUdcbiAgICB8IERldmljZUNvbmZpZ3VyYXRpb25PcGVyYXRpb24uRE9XTkxPQURfQ09ORklHO1xuXG4gIG9wZXJhdGlvbjogSU9wZXJhdGlvbjtcbiAgY2FuQ2FsbEFjdGlvbiA9IHRydWU7XG4gIGRldmljZUNvbmZpZ3VyYXRpb25PcGVyYXRpb24gPSBEZXZpY2VDb25maWd1cmF0aW9uT3BlcmF0aW9uO1xuICBwcml2YXRlIF9jb25maWd1cmF0aW9uVHlwZTogc3RyaW5nO1xuICBwcml2YXRlIG9wZXJhdGlvbnNTdWJzY3JpcHRpb246IFN1YnNjcmlwdGlvbjtcblxuICBjb25zdHJ1Y3RvcihcbiAgICBwcml2YXRlIGRldmljZUNvbmZpZ3VyYXRpb25TZXJ2aWNlOiBEZXZpY2VDb25maWd1cmF0aW9uU2VydmljZSxcbiAgICBwcml2YXRlIG9wZXJhdGlvblJlYWx0aW1lOiBPcGVyYXRpb25SZWFsdGltZVNlcnZpY2UsXG4gICAgcHJpdmF0ZSBic01vZGFsOiBCc01vZGFsU2VydmljZSxcbiAgICBwcml2YXRlIHVzZXI6IFVzZXJTZXJ2aWNlLFxuICAgIHByaXZhdGUgYXBwU3RhdGU6IEFwcFN0YXRlU2VydmljZSxcbiAgICBwcml2YXRlIHJlcG9zaXRvcnlTZXJ2aWNlOiBSZXBvc2l0b3J5U2VydmljZSxcbiAgICBwcml2YXRlIG9wZXJhdGlvblNlcnZpY2U6IE9wZXJhdGlvblNlcnZpY2UsXG4gICAgcHJpdmF0ZSBhbGVydFNlcnZpY2U6IEFsZXJ0U2VydmljZVxuICApIHt9XG5cbiAgYXN5bmMgbmdPbkluaXQoKSB7XG4gICAgdGhpcy5zZXRDYW5DYWxsQWN0aW9uKCk7XG4gICAgdGhpcy5zZXRPcGVyYXRpb24odGhpcy5fY29uZmlndXJhdGlvblR5cGUpO1xuICAgIHRoaXMub3BlcmF0aW9uc1N1YnNjcmlwdGlvbiA9IHRoaXMub3BlcmF0aW9uUmVhbHRpbWVcbiAgICAgIC5vbkFsbCQodGhpcy5kZXZpY2UuaWQpXG4gICAgICAucGlwZShtYXAoKHsgZGF0YSB9KSA9PiBkYXRhIGFzIElPcGVyYXRpb24pKVxuICAgICAgLnN1YnNjcmliZShvcGVyYXRpb24gPT4ge1xuICAgICAgICB0aGlzLnVwZGF0ZVByZXZpZXcob3BlcmF0aW9uKTtcbiAgICAgIH0pO1xuICB9XG5cbiAgYXN5bmMgc2V0T3BlcmF0aW9uKGNvbmZpZ1R5cGUpOiBQcm9taXNlPHZvaWQ+IHtcbiAgICBjb25zdCBvcGVyYXRpb25MaXN0ID0gYXdhaXQgdGhpcy5yZXBvc2l0b3J5U2VydmljZS5nZXRDb25maWdGaWxlT3BlcmF0aW9uTGlzdChcbiAgICAgIHRoaXMuZGV2aWNlLmlkLFxuICAgICAgdGhpcy5vcGVyYXRpb25Ub1RyaWdnZXJcbiAgICApO1xuXG4gICAgY29uc3Qgb3BlcmF0aW9uID0gdGhpcy5pc0xlZ2FjeVxuICAgICAgPyBvcGVyYXRpb25MaXN0LmZpbmQob3AgPT4gb3BbdGhpcy5vcGVyYXRpb25Ub1RyaWdnZXJdICYmICFvcFt0aGlzLm9wZXJhdGlvblRvVHJpZ2dlcl0udHlwZSlcbiAgICAgIDogb3BlcmF0aW9uTGlzdC5maW5kKG9wID0+IG9wW3RoaXMub3BlcmF0aW9uVG9UcmlnZ2VyXS50eXBlID09PSBjb25maWdUeXBlKTtcblxuICAgIHRoaXMub3BlcmF0aW9uID1cbiAgICAgIG9wZXJhdGlvbiAmJiBvcGVyYXRpb24uc3RhdHVzICE9PSBPcGVyYXRpb25TdGF0dXMuU1VDQ0VTU0ZVTCA/IG9wZXJhdGlvbiA6IHVuZGVmaW5lZDtcbiAgfVxuXG4gIHNldENhbkNhbGxBY3Rpb24oKTogdm9pZCB7XG4gICAgdGhpcy5jYW5DYWxsQWN0aW9uID0gdGhpcy5kZXZpY2VDb25maWd1cmF0aW9uU2VydmljZS5oYXNBbnlTdXBwb3J0ZWRPcGVyYXRpb24oXG4gICAgICB0aGlzLmRldmljZSxcbiAgICAgIHRoaXMub3BlcmF0aW9uVG9UcmlnZ2VyXG4gICAgKTtcbiAgfVxuXG4gIGFzeW5jIGNyZWF0ZURldmljZU9wZXJhdGlvbigpIHtcbiAgICBsZXQgb3BlcmF0aW9uQ2ZnO1xuICAgIGlmICh0aGlzLm9wZXJhdGlvblRvVHJpZ2dlciA9PT0gRGV2aWNlQ29uZmlndXJhdGlvbk9wZXJhdGlvbi5ET1dOTE9BRF9DT05GSUcpIHtcbiAgICAgIG9wZXJhdGlvbkNmZyA9IHRoaXMucmVwb3NpdG9yeVNlcnZpY2UuZ2V0RG93bmxvYWRDb25maWd1cmF0aW9uRmlsZU9wZXJhdGlvbihcbiAgICAgICAgdGhpcy5kZXZpY2UsXG4gICAgICAgIHRoaXMuX2NvbmZpZ3VyYXRpb25UeXBlLFxuICAgICAgICB0aGlzLmNvbmZpZ1NuYXBzaG90LFxuICAgICAgICB0aGlzLmlzTGVnYWN5XG4gICAgICApO1xuICAgIH1cbiAgICBpZiAodGhpcy5vcGVyYXRpb25Ub1RyaWdnZXIgPT09IERldmljZUNvbmZpZ3VyYXRpb25PcGVyYXRpb24uVVBMT0FEX0NPTkZJRykge1xuICAgICAgb3BlcmF0aW9uQ2ZnID0gdGhpcy5yZXBvc2l0b3J5U2VydmljZS5nZXRVcGxvYWRDb25maWd1cmF0aW9uRmlsZU9wZXJhdGlvbihcbiAgICAgICAgdGhpcy5kZXZpY2UsXG4gICAgICAgIHRoaXMuX2NvbmZpZ3VyYXRpb25UeXBlLFxuICAgICAgICB0aGlzLmlzTGVnYWN5XG4gICAgICApO1xuICAgIH1cbiAgICB0cnkge1xuICAgICAgdGhpcy5vcGVyYXRpb24gPSAoYXdhaXQgdGhpcy5vcGVyYXRpb25TZXJ2aWNlLmNyZWF0ZShvcGVyYXRpb25DZmcpKS5kYXRhO1xuICAgIH0gY2F0Y2ggKGV4KSB7XG4gICAgICB0aGlzLmFsZXJ0U2VydmljZS5hZGRTZXJ2ZXJGYWlsdXJlKGV4KTtcbiAgICB9XG4gIH1cblxuICBzaG93T3BlcmF0aW9uKCk6IGJvb2xlYW4ge1xuICAgIGlmICh0aGlzLm9wZXJhdGlvblRvVHJpZ2dlciA9PT0gRGV2aWNlQ29uZmlndXJhdGlvbk9wZXJhdGlvbi5ET1dOTE9BRF9DT05GSUcpIHtcbiAgICAgIHJldHVybiAhIXRoaXMub3BlcmF0aW9uO1xuICAgIH1cbiAgICByZXR1cm4gKFxuICAgICAgdGhpcy5vcGVyYXRpb24gJiZcbiAgICAgIFtPcGVyYXRpb25TdGF0dXMuUEVORElORywgT3BlcmF0aW9uU3RhdHVzLkVYRUNVVElORywgT3BlcmF0aW9uU3RhdHVzLkZBSUxFRF0uaW5jbHVkZXMoXG4gICAgICAgIHRoaXMub3BlcmF0aW9uLnN0YXR1c1xuICAgICAgKVxuICAgICk7XG4gIH1cblxuICBzaG93QmluYXJ5KCk6IGJvb2xlYW4ge1xuICAgIGlmICh0aGlzLm9wZXJhdGlvblRvVHJpZ2dlciA9PT0gRGV2aWNlQ29uZmlndXJhdGlvbk9wZXJhdGlvbi5ET1dOTE9BRF9DT05GSUcpIHtcbiAgICAgIHJldHVybiB0cnVlO1xuICAgIH1cbiAgICByZXR1cm4gIXRoaXMuc2hvd09wZXJhdGlvbigpO1xuICB9XG5cbiAgaXNDcmVhdGVPcGVyYXRpb25EaXNhYmxlZCgpOiBib29sZWFuIHtcbiAgICByZXR1cm4gKFxuICAgICAgdGhpcy5vcGVyYXRpb24gJiZcbiAgICAgIFtPcGVyYXRpb25TdGF0dXMuUEVORElORywgT3BlcmF0aW9uU3RhdHVzLkVYRUNVVElOR10uaW5jbHVkZXModGhpcy5vcGVyYXRpb24uc3RhdHVzKVxuICAgICk7XG4gIH1cblxuICB1cGRhdGVQcmV2aWV3KG9wZXJhdGlvbjogSU9wZXJhdGlvbikge1xuICAgIGlmIChcbiAgICAgIG9wZXJhdGlvbiAmJlxuICAgICAgb3BlcmF0aW9uW3RoaXMub3BlcmF0aW9uVG9UcmlnZ2VyXSAmJlxuICAgICAgKHRoaXMuaXNMZWdhY3kgfHxcbiAgICAgICAgKG9wZXJhdGlvblt0aGlzLm9wZXJhdGlvblRvVHJpZ2dlcl0udHlwZSAmJlxuICAgICAgICAgIG9wZXJhdGlvblt0aGlzLm9wZXJhdGlvblRvVHJpZ2dlcl0udHlwZSA9PT0gdGhpcy5jb25maWd1cmF0aW9uVHlwZSkpXG4gICAgKSB7XG4gICAgICB0aGlzLm9wZXJhdGlvbiA9IG9wZXJhdGlvbjtcbiAgICAgIHRoaXMudXBkYXRlU25hcHNob3RzT25Db25maWdVcGxvYWQob3BlcmF0aW9uKTtcbiAgICB9XG4gIH1cblxuICBkb3dubG9hZCgpIHtcbiAgICBjb25zdCBibG9iID0gbmV3IEJsb2IoW3RoaXMuY29uZmlnU25hcHNob3QuYmluYXJ5XSwgeyB0eXBlOiB0aGlzLmNvbmZpZ1NuYXBzaG90LmJpbmFyeVR5cGUgfSk7XG4gICAgbGV0IGZpbGVOYW1lID0gdGhpcy5jb25maWdTbmFwc2hvdC5uYW1lO1xuICAgIHN3aXRjaCAodGhpcy5jb25maWdTbmFwc2hvdC5iaW5hcnlUeXBlKSB7XG4gICAgICBjYXNlICd0ZXh0L2Nzdic6XG4gICAgICBjYXNlICdhcHBsaWNhdGlvbi9jc3YnOlxuICAgICAgICBmaWxlTmFtZSA9IGZpbGVOYW1lLmNvbmNhdCgnLmNzdicpO1xuICAgICAgICBicmVhaztcbiAgICAgIGNhc2UgJ3RleHQveWFtbCc6XG4gICAgICBjYXNlICdhcHBsaWNhdGlvbi94LXlhbWwnOlxuICAgICAgICBmaWxlTmFtZSA9IGZpbGVOYW1lLmNvbmNhdCgnLnlhbWwnKTtcbiAgICAgICAgYnJlYWs7XG4gICAgICBjYXNlICdhcHBsaWNhdGlvbi9qc29uJzpcbiAgICAgICAgZmlsZU5hbWUgPSBmaWxlTmFtZS5jb25jYXQoJy5qc29uJyk7XG4gICAgICAgIGJyZWFrO1xuICAgIH1cbiAgICBzYXZlQXMoYmxvYiwgZmlsZU5hbWUpO1xuICB9XG5cbiAgYXN5bmMgc2F2ZVRvUmVwb3NpdG9yeSgpIHtcbiAgICBjb25zdCBpbml0aWFsU3RhdGUgPSB7XG4gICAgICBjb25maWdTbmFwc2hvdDogY2xvbmVEZWVwKHRoaXMuY29uZmlnU25hcHNob3QpXG4gICAgfTtcbiAgICBjb25zdCBtb2RhbCA9IHRoaXMuYnNNb2RhbC5zaG93KFNhdmVUb1JlcG9zaXRvcnlDb21wb25lbnQsIHtcbiAgICAgIGNsYXNzOiAnbW9kYWwtc20nLFxuICAgICAgYXJpYURlc2NyaWJlZGJ5OiAnbW9kYWwtYm9keScsXG4gICAgICBhcmlhTGFiZWxsZWRCeTogJ21vZGFsLXRpdGxlJyxcbiAgICAgIGluaXRpYWxTdGF0ZSxcbiAgICAgIGlnbm9yZUJhY2tkcm9wQ2xpY2s6IHRydWVcbiAgICB9KS5jb250ZW50IGFzIFNhdmVUb1JlcG9zaXRvcnlDb21wb25lbnQ7XG4gICAgdHJ5IHtcbiAgICAgIGF3YWl0IG1vZGFsLnJlc3VsdDtcbiAgICAgIHRoaXMuZGV2aWNlQ29uZmlndXJhdGlvblNlcnZpY2UudXBkYXRlQ29uZmlndXJhdGlvbnModHJ1ZSk7XG4gICAgICBtb2RhbC5jbG9zZSgpO1xuICAgIH0gY2F0Y2ggKGV4KSB7XG4gICAgICAvLyBkbyBub3RoaW5nXG4gICAgfVxuICB9XG5cbiAgaGFzUGVybWlzc2lvbigpOiBib29sZWFuIHtcbiAgICByZXR1cm4gKFxuICAgICAgdGhpcy51c2VyLmhhc0FueVJvbGUodGhpcy5hcHBTdGF0ZS5jdXJyZW50VXNlci52YWx1ZSwgW1xuICAgICAgICBQZXJtaXNzaW9ucy5ST0xFX0lOVkVOVE9SWV9BRE1JTixcbiAgICAgICAgUGVybWlzc2lvbnMuUk9MRV9JTlZFTlRPUllfQ1JFQVRFXG4gICAgICBdKSB8fFxuICAgICAgKHRoaXMudXNlci5oYXNBbnlSb2xlKHRoaXMuYXBwU3RhdGUuY3VycmVudFVzZXIudmFsdWUsIFtcbiAgICAgICAgUGVybWlzc2lvbnMuUk9MRV9NQU5BR0VEX09CSkVDVF9BRE1JTixcbiAgICAgICAgUGVybWlzc2lvbnMuUk9MRV9NQU5BR0VEX09CSkVDVF9DUkVBVEVcbiAgICAgIF0pICYmXG4gICAgICAgIHRoaXMudXNlci5oYXNBbnlSb2xlKHRoaXMuYXBwU3RhdGUuY3VycmVudFVzZXIudmFsdWUsIFtcbiAgICAgICAgICBQZXJtaXNzaW9ucy5ST0xFX0JJTkFSWV9BRE1JTixcbiAgICAgICAgICBQZXJtaXNzaW9ucy5ST0xFX0JJTkFSWV9DUkVBVEVcbiAgICAgICAgXSkpXG4gICAgKTtcbiAgfVxuXG4gIG5nT25EZXN0cm95KCkge1xuICAgIGlmICh0aGlzLm9wZXJhdGlvbnNTdWJzY3JpcHRpb24pIHtcbiAgICAgIHRoaXMub3BlcmF0aW9uc1N1YnNjcmlwdGlvbi51bnN1YnNjcmliZSgpO1xuICAgIH1cbiAgfVxuXG4gIHByaXZhdGUgYXN5bmMgdXBkYXRlU25hcHNob3RzT25Db25maWdVcGxvYWQob3BlcmF0aW9uKSB7XG4gICAgaWYgKFxuICAgICAgb3BlcmF0aW9uW0RldmljZUNvbmZpZ3VyYXRpb25PcGVyYXRpb24uVVBMT0FEX0NPTkZJR10gJiZcbiAgICAgIG9wZXJhdGlvbi5zdGF0dXMgPT09IE9wZXJhdGlvblN0YXR1cy5TVUNDRVNTRlVMXG4gICAgKSB7XG4gICAgICB0aGlzLmRldmljZUNvbmZpZ3VyYXRpb25TZXJ2aWNlLnVwZGF0ZUNvbmZpZ3VyYXRpb25zKCk7XG4gICAgfVxuICB9XG59XG4iLCI8ZGl2IGNsYXNzPVwiY29udGVudC1mbGV4LTU1IHAtYi0xNlwiPlxuICA8ZGl2IGNsYXNzPVwiY29sLTcgcC10LTRcIj5cbiAgICA8cD5cbiAgICAgIDxzcGFuIGNsYXNzPVwidGV4dC1sYWJlbC1zbWFsbCB0ZXh0LXVwcGVyY2FzZSBtLXItNFwiIHRyYW5zbGF0ZT5Db25maWd1cmF0aW9uPC9zcGFuPlxuICAgICAgPHNwYW4gKm5nSWY9XCJjb25maWdTbmFwc2hvdD8ubmFtZTsgZWxzZSBlbXB0eVRleHRcIj5cbiAgICAgICAgPHN0cm9uZz57eyBjb25maWdTbmFwc2hvdC5uYW1lIH19PC9zdHJvbmc+XG4gICAgICA8L3NwYW4+XG4gICAgICA8bmctdGVtcGxhdGUgI2VtcHR5VGV4dD4tLS08L25nLXRlbXBsYXRlPlxuICAgIDwvcD5cbiAgICA8cD5cbiAgICAgIDxzcGFuIGNsYXNzPVwidGV4dC1sYWJlbC1zbWFsbCB0ZXh0LXVwcGVyY2FzZSBtLXItNFwiIHRyYW5zbGF0ZT5MYXN0IHVwZGF0ZWQ8L3NwYW4+XG4gICAgICA8c21hbGwgKm5nSWY9XCJjb25maWdTbmFwc2hvdD8udGltZTsgZWxzZSBlbXB0eURhdGVcIj5cbiAgICAgICAge3sgY29uZmlnU25hcHNob3QudGltZSB8IGM4eURhdGUgfX1cbiAgICAgIDwvc21hbGw+XG4gICAgICA8bmctdGVtcGxhdGUgI2VtcHR5RGF0ZT4tLS08L25nLXRlbXBsYXRlPlxuICAgIDwvcD5cbiAgPC9kaXY+XG4gIDxkaXYgY2xhc3M9XCJjb2wtNVwiPlxuICAgIDxidXR0b25cbiAgICAgIGlkPVwiYWN0aW9uLWJ0blwiXG4gICAgICBjbGFzcz1cImJ0biBidG4tZGVmYXVsdCBidG4tc20gcHVsbC1yaWdodFwiXG4gICAgICB0eXBlPVwiYnV0dG9uXCJcbiAgICAgIHRpdGxlPVwie3sgYWN0aW9uQnV0dG9uVGV4dCB8IHRyYW5zbGF0ZSB9fVwiXG4gICAgICAoY2xpY2spPVwiY3JlYXRlRGV2aWNlT3BlcmF0aW9uKClcIlxuICAgICAgW2Rpc2FibGVkXT1cImlzQ3JlYXRlT3BlcmF0aW9uRGlzYWJsZWQoKVwiXG4gICAgICAqbmdJZj1cImNhbkNhbGxBY3Rpb25cIlxuICAgID5cbiAgICAgIDxpIFtjOHlJY29uXT1cImFjdGlvbkJ1dHRvbkljb25cIj48L2k+XG4gICAgICB7eyBhY3Rpb25CdXR0b25UZXh0IHwgdHJhbnNsYXRlIH19XG4gICAgPC9idXR0b24+XG4gIDwvZGl2PlxuPC9kaXY+XG48ZGl2IGNsYXNzPVwiYzh5LWVtcHR5LXN0YXRlIHRleHQtbGVmdFwiICpuZ0lmPVwiIWNvbmZpZ1NuYXBzaG90Py5iaW5hcnkgJiYgc2hvd0JpbmFyeSgpXCI+XG4gIDxoMSBbYzh5SWNvbl09XCInZmlsZS1pbWFnZS1vJ1wiPjwvaDE+XG4gIDxwPlxuICAgIDxzdHJvbmcgdHJhbnNsYXRlPk5vIHByZXZpZXcgYXZhaWxhYmxlLjwvc3Ryb25nPlxuICAgIDxiciAvPlxuICAgIDxzbWFsbCAqbmdJZj1cImNvbmZpZ1NuYXBzaG90Py5iaW5hcnkgIT09ICcnOyBlbHNlIGVtcHR5RmlsZVwiIHRyYW5zbGF0ZT5cbiAgICAgIFRoZSBmaWxlIGlzIG5vdCBhdmFpbGFibGUuXG4gICAgPC9zbWFsbD5cbiAgICA8bmctdGVtcGxhdGUgI2VtcHR5RmlsZT5cbiAgICAgIDxzbWFsbCB0cmFuc2xhdGU+VGhlIGZpbGUgaXMgZW1wdHkuPC9zbWFsbD5cbiAgICA8L25nLXRlbXBsYXRlPlxuICA8L3A+XG48L2Rpdj5cbjxkaXYgKm5nSWY9XCJjb25maWdTbmFwc2hvdD8uYmluYXJ5ICYmIHNob3dCaW5hcnkoKVwiIGNsYXNzPVwiZmxleC1ncm93IGQtZmxleCBkLWNvbFwiPlxuICA8Yzh5LXNvdXJjZS1jb2RlLXByZXZpZXdcbiAgICBbdGV4dF09XCJjb25maWdTbmFwc2hvdC5iaW5hcnlcIlxuICAgIFtpc0Rpc2FibGVkXT1cInRydWVcIlxuICAgIGNsYXNzPVwiZC1jb250ZW50c1wiXG4gID48L2M4eS1zb3VyY2UtY29kZS1wcmV2aWV3PlxuICA8ZGl2ICpuZ0lmPVwiY2FuU2F2ZVNuYXBzaG90XCIgY2xhc3M9XCJwLXQtMTZcIj5cbiAgICA8YnV0dG9uXG4gICAgICB0aXRsZT1cInt7ICdEb3dubG9hZCcgfCB0cmFuc2xhdGUgfX1cIlxuICAgICAgdHlwZT1cImJ1dHRvblwiXG4gICAgICBjbGFzcz1cImJ0biBidG4tcHJpbWFyeSBidG4tc20gcHVsbC1yaWdodCBtLWwtOFwiXG4gICAgICAoY2xpY2spPVwiZG93bmxvYWQoKVwiXG4gICAgPlxuICAgICAge3sgJ0Rvd25sb2FkJyB8IHRyYW5zbGF0ZSB9fVxuICAgIDwvYnV0dG9uPlxuICAgIDxidXR0b25cbiAgICAgIHRpdGxlPVwie3sgJ1NhdmUgdG8gcmVwb3NpdG9yeScgfCB0cmFuc2xhdGUgfX1cIlxuICAgICAgKm5nSWY9XCJoYXNQZXJtaXNzaW9uKClcIlxuICAgICAgdHlwZT1cImJ1dHRvblwiXG4gICAgICBjbGFzcz1cImJ0biBidG4tZGVmYXVsdCBidG4tc20gcHVsbC1yaWdodFwiXG4gICAgICAoY2xpY2spPVwic2F2ZVRvUmVwb3NpdG9yeSgpXCJcbiAgICA+XG4gICAgICB7eyAnU2F2ZSB0byByZXBvc2l0b3J5JyB8IHRyYW5zbGF0ZSB9fVxuICAgIDwvYnV0dG9uPlxuICA8L2Rpdj5cbjwvZGl2PlxuPGRpdiAqbmdJZj1cInNob3dPcGVyYXRpb24oKVwiPlxuICA8Yzh5LW9wZXJhdGlvbi1kZXRhaWxzIFtvcGVyYXRpb25dPVwib3BlcmF0aW9uXCI+PC9jOHktb3BlcmF0aW9uLWRldGFpbHM+XG48L2Rpdj5cbiJdfQ==
|
|
@@ -55,7 +55,12 @@ export class AddGroupComponent {
|
|
|
55
55
|
this.subscription = this.onCancel.subscribe(() => this.resetStepper());
|
|
56
56
|
this.canCreateGroup =
|
|
57
57
|
this.subAssetsService.canCreateGroup() ||
|
|
58
|
-
(await this.permissionsService.canEdit([
|
|
58
|
+
(await this.permissionsService.canEdit([
|
|
59
|
+
Permissions.ROLE_INVENTORY_ADMIN,
|
|
60
|
+
Permissions.ROLE_INVENTORY_CREATE,
|
|
61
|
+
Permissions.ROLE_MANAGED_OBJECT_ADMIN,
|
|
62
|
+
Permissions.ROLE_MANAGED_OBJECT_CREATE
|
|
63
|
+
], {
|
|
59
64
|
id: this.currentGroupId
|
|
60
65
|
}));
|
|
61
66
|
this.canAssignDevice = await this.subAssetsService.canAssignDevice({
|
|
@@ -136,4 +141,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.0.6", ngImpor
|
|
|
136
141
|
type: HostListener,
|
|
137
142
|
args: ['document:keydown.escape', ['$event']]
|
|
138
143
|
}] } });
|
|
139
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWRkLWdyb3VwLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3N1Yi1hc3NldHMvYWRkLWdyb3VwL2FkZC1ncm91cC5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi9zdWItYXNzZXRzL2FkZC1ncm91cC9hZGQtZ3JvdXAuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUNMLFNBQVMsRUFDVCxVQUFVLEVBQ1YsWUFBWSxFQUNaLFlBQVksRUFDWixLQUFLLEVBQ0wsTUFBTSxFQUNOLFNBQVMsRUFDVixNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQUUsV0FBVyxFQUFhLFVBQVUsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBRXBFLE9BQU8sRUFDTCxZQUFZLEVBQ1osVUFBVSxFQUNWLGdCQUFnQixFQUVoQixXQUFXLEVBQ1gsT0FBTyxFQUNSLE1BQU0scUJBQXFCLENBQUM7QUFFN0IsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sNEJBQTRCLENBQUM7QUFDaEUsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sdUJBQXVCLENBQUM7QUFDekQsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLHFCQUFxQixDQUFDOzs7Ozs7Ozs7QUFNdEQsTUFBTSxPQUFPLGlCQUFpQjtJQTRCNUIsWUFDVSxFQUFlLEVBQ2YsZUFBZ0MsRUFDaEMsS0FBbUIsRUFDbkIsZ0JBQWtDLEVBQ2xDLGdCQUFrQyxFQUNsQyxrQkFBK0I7UUFML0IsT0FBRSxHQUFGLEVBQUUsQ0FBYTtRQUNmLG9CQUFlLEdBQWYsZUFBZSxDQUFpQjtRQUNoQyxVQUFLLEdBQUwsS0FBSyxDQUFjO1FBQ25CLHFCQUFnQixHQUFoQixnQkFBZ0IsQ0FBa0I7UUFDbEMscUJBQWdCLEdBQWhCLGdCQUFnQixDQUFrQjtRQUNsQyx1QkFBa0IsR0FBbEIsa0JBQWtCLENBQWE7UUFoQ2hDLFlBQU8sR0FBRyxJQUFJLFlBQVksRUFB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RTtZQUNsQixJQUFJLENBQUMsU0FBUyxDQUFDLEtBQUssRUFBRSxDQUFDO1lBQ3ZCLElBQUksQ0FBQyxTQUFTLENBQUMsTUFBTSxFQUFFLENBQUM7U0FDekI7SUFDSCxDQUFDOzs4R0FoSVUsaUJBQWlCO2tHQUFqQixpQkFBaUIsOFhBS2pCLFVBQVUsMElDakN2Qiw0cUpBc0hBOzJGRDFGYSxpQkFBaUI7a0JBSjdCLFNBQVM7K0JBQ0UsZUFBZTttUEFJaEIsY0FBYztzQkFBdEIsS0FBSztnQkFDRyxPQUFPO3NCQUFmLEtBQUs7Z0JBQ0kseUJBQXlCO3NCQUFsQyxNQUFNO2dCQUNHLFFBQVE7c0JBQWpCLE1BQU07Z0JBRVAsT0FBTztzQkFETixTQUFTO3VCQUFDLFVBQVUsRUFBRSxFQUFFLE1BQU0sRUFBRSxLQUFLLEVBQUU7Z0JBR3hDLFlBQVk7c0JBRFgsU0FBUzt1QkFBQyxTQUFTLEVBQUUsRUFBRSxNQUFNLEVBQUUsS0FBSyxFQUFFO2dCQThCYSxjQUFjO3NCQUFqRSxZQUFZO3VCQUFDLHdCQUF3QixFQUFFLENBQUMsUUFBUSxDQUFDO2dCQVNHLGVBQWU7c0JBQW5FLFlBQVk7dUJBQUMseUJBQXlCLEVBQUUsQ0FBQyxRQUFRLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICBDb21wb25lbnQsXG4gIEVsZW1lbnRSZWYsXG4gIEV2ZW50RW1pdHRlcixcbiAgSG9zdExpc3RlbmVyLFxuICBJbnB1dCxcbiAgT3V0cHV0LFxuICBWaWV3Q2hpbGRcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBGb3JtQnVpbGRlciwgRm9ybUdyb3VwLCBWYWxpZGF0b3JzIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuaW1wb3J0IHsgSU1hbmFnZWRPYmplY3QgfSBmcm9tICdAYzh5L2NsaWVudCc7XG5pbXBvcnQge1xuICBBbGVydFNlcnZpY2UsXG4gIEM4eVN0ZXBwZXIsXG4gIEdhaW5zaWdodFNlcnZpY2UsXG4gIFBhZ2luYXRpb24sXG4gIFBlcm1pc3Npb25zLFxuICBnZXR0ZXh0XG59IGZyb20gJ0BjOHkvbmd4LWNvbXBvbmVudHMnO1xuaW1wb3J0IHsgU3Vic2NyaXB0aW9uIH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBQUk9EVUNUX0VYUEVSSUVOQ0UgfSBmcm9tICcuLi9zaGFyZWQvc3ViLWFzc2V0cy5tb2RlbCc7XG5pbXBvcnQgeyBTdWJBc3NldHNTZXJ2aWNlIH0gZnJvbSAnLi4vc3ViLWFzc2V0cy5zZXJ2aWNlJztcbmltcG9ydCB7IEFkZEdyb3VwU2VydmljZSB9IGZyb20gJy4vYWRkLWdyb3VwLnNlcnZpY2UnO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdjOHktYWRkLWdyb3VwJyxcbiAgdGVtcGxhdGVVcmw6ICcuL2FkZC1ncm91cC5jb21wb25lbnQuaHRtbCdcbn0pXG5leHBvcnQgY2xhc3MgQWRkR3JvdXBDb21wb25lbnQge1xuICBASW5wdXQoKSBjdXJyZW50R3JvdXBJZDogc3RyaW5nO1xuICBASW5wdXQoKSByZWZyZXNoID0gbmV3IEV2ZW50RW1pdHRlcjxhbnk+KCk7XG4gIEBPdXRwdXQoKSBvbkRldmljZVF1ZXJ5U3RyaW5nQ2hhbmdlOiBFdmVudEVtaXR0ZXI8c3RyaW5nPiA9IG5ldyBFdmVudEVtaXR0ZXI8c3RyaW5nPigpO1xuICBAT3V0cHV0KCkgb25DYW5jZWwgPSBuZXcgRXZlbnRFbWl0dGVyPGFueT4oKTtcbiAgQFZpZXdDaGlsZChDOHlTdGVwcGVyLCB7IHN0YXRpYzogZmFsc2UgfSlcbiAgc3RlcHBlcjogQzh5U3RlcHBlcjtcbiAgQFZpZXdDaGlsZCgnbmFtZVJlZicsIHsgc3RhdGljOiBmYWxzZSB9KVxuICBuYW1lSW5wdXRSZWY6IEVsZW1lbnRSZWY7XG4gIGRldmljZVF1ZXJ5U3RyaW5nT3V0cHV0OiBzdHJpbmc7XG4gIGZvcm1Hcm91cFN0ZXBPbmU6IEZvcm1Hcm91cDtcbiAgcGVuZGluZ1N0YXR1cyA9IGZhbHNlO1xuICBwYWdpbmF0aW9uOiBQYWdpbmF0aW9uID0geyBwYWdlU2l6ZTogMjAsIGN1cnJlbnRQYWdlOiAxIH07XG4gIHNlbGVjdGVkOiBzdHJpbmdbXSA9IFtdO1xuICBzdWJzY3JpcHRpb246IFN1YnNjcmlwdGlvbjtcbiAgY2FuQ3JlYXRlR3JvdXAgPSBmYWxzZTtcbiAgY2FuQXNzaWduRGV2aWNlID0gZmFsc2U7XG4gIFBST0RVQ1RfRVhQRVJJRU5DRSA9IFBST0RVQ1RfRVhQRVJJRU5DRTtcblxuICByZWFkb25seSBJVEVNU19TRUxFQ1RfTElNSVQ6IG51bWJlciA9IDE1O1xuICByZWFkb25seSBidG5MYWJlbHMgPSB7XG4gICAgbmV4dDogZ2V0dGV4dCgnTmV4dCcpLFxuICAgIGNhbmNlbDogZ2V0dGV4dCgnQ2FuY2VsJyksXG4gICAgY3JlYXRlOiBnZXR0ZXh0KCdDcmVhdGUnKVxuICB9O1xuXG4gIHByaXZhdGUgbmFtZUlucHV0OiBIVE1MSW5wdXRFbGVtZW50O1xuXG4gIGNvbnN0cnVjdG9yKFxuICAgIHByaXZhdGUgZmI6IEZvcm1CdWlsZGVyLFxuICAgIHByaXZhdGUgYWRkR3JvdXBTZXJ2aWNlOiBBZGRHcm91cFNlcnZpY2UsXG4gICAgcHJpdmF0ZSBhbGVydDogQWxlcnRTZXJ2aWNlLFxuICAgIHByaXZhdGUgc3ViQXNzZXRzU2VydmljZTogU3ViQXNzZXRzU2VydmljZSxcbiAgICBwcml2YXRlIGdhaW5zaWdodFNlcnZpY2U6IEdhaW5zaWdodFNlcnZpY2UsXG4gICAgcHJpdmF0ZSBwZXJtaXNzaW9uc1NlcnZpY2U6IFBlcm1pc3Npb25zXG4gICkge31cblxuICBASG9zdExpc3RlbmVyKCdkb2N1bWVudDprZXlkb3duLmVudGVyJywgWyckZXZlbnQnXSkgb25FbnRlcktleURvd24oX2V2ZW50OiBLZXlib2FyZEV2ZW50KSB7XG4gICAgLy8gT3JkZXIgbWF0dGVycyEgTmVlZHMgdG8gYmUgcGxhY2VkIGJlZm9yZSB0aGlzLnN0ZXBwZXIubmV4dFxuICAgIGlmICgodGhpcy5pc0dyb3VwRGV0YWlsc1N0ZXAoKSAmJiAhdGhpcy5jYW5Bc3NpZ25EZXZpY2UpIHx8IHRoaXMuaXNBc3NpZ25EZXZpY2VTdGVwKCkpIHtcbiAgICAgIHRoaXMuY3JlYXRlR3JvdXAoKTtcbiAgICAgIHJldHVybjtcbiAgICB9XG4gICAgdGhpcy5zdGVwcGVyLm5leHQoKTtcbiAgfVxuXG4gIEBIb3N0TGlzdGVuZXIoJ2RvY3VtZW50OmtleWRvd24uZXNjYXBlJywgWyckZXZlbnQnXSkgb25Fc2NhcGVLZXlEb3duKF9ldmVudDogS2V5Ym9hcmRFdmVudCkge1xuICAgIHRoaXMub25DYW5jZWwuZW1pdCgpO1xuICB9XG5cbiAgYXN5bmMgbmdPbkluaXQoKSB7XG4gICAgdGhpcy5mb3JtR3JvdXBTdGVwT25lID0gdGhpcy5mYi5ncm91cCh7XG4gICAgICBuYW1lOiBbJycsIFZhbGlkYXRvcnMucmVxdWlyZWRdLFxuICAgICAgZGVzY3JpcHRpb246IFsnJ11cbiAgICB9KTtcbiAgICB0aGlzLnN1YnNjcmlwdGlvbiA9IHRoaXMub25DYW5jZWwuc3Vic2NyaWJlKCgpID0+IHRoaXMucmVzZXRTdGVwcGVyKCkpO1xuICAgIHRoaXMuY2FuQ3JlYXRlR3JvdXAgPVxuICAgICAgdGhpcy5zdWJBc3NldHNTZXJ2aWNlLmNhbkNyZWF0ZUdyb3VwKCkgfHxcbiAgICAgIChhd2FpdCB0aGlzLnBlcm1pc3Npb25zU2VydmljZS5jYW5FZGl0KFxuICAgICAgICBbUGVybWlzc2lvbnMuUk9MRV9JTlZFTlRPUllfQURNSU4sIFBlcm1pc3Npb25zLlJPTEVfSU5WRU5UT1JZX0NSRUFURV0sXG4gICAgICAgIHtcbiAgICAgICAgICBpZDogdGhpcy5jdXJyZW50R3JvdXBJZFxuICAgICAgICB9XG4gICAgICApKTtcbiAgICB0aGlzLmNhbkFzc2lnbkRldmljZSA9IGF3YWl0IHRoaXMuc3ViQXNzZXRzU2VydmljZS5jYW5Bc3NpZ25EZXZpY2Uoe1xuICAgICAgaWQ6IHRoaXMuY3VycmVudEdyb3VwSWRcbiAgICB9IGFzIElNYW5hZ2VkT2JqZWN0KTtcbiAgfVxuXG4gIG5nQWZ0ZXJWaWV3SW5pdCgpIHtcbiAgICB0aGlzLm5hbWVJbnB1dCA9IHRoaXMubmFtZUlucHV0UmVmLm5hdGl2ZUVsZW1lbnQgYXMgSFRNTElucHV0RWxlbWVudDtcbiAgICB0aGlzLnNldEZvY3VzT25OYW1lSW5wdXQoKTtcbiAgfVxuXG4gIGFzeW5jIGNyZWF0ZUdyb3VwKCkge1xuICAgIGlmICh0aGlzLmNhbkNyZWF0ZUdyb3VwID09PSBmYWxzZSkge1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIHRoaXMucGVuZGluZ1N0YXR1cyA9IHRydWU7XG4gICAgYXdhaXQgdGhpcy5hZGRHcm91cFNlcnZpY2UuY3JlYXRlR3JvdXBBbmRBc3NpZ25EZXZpY2VzKFxuICAgICAgdGhpcy5mb3JtR3JvdXBTdGVwT25lLnZhbHVlLFxuICAgICAgdGhpcy5jdXJyZW50R3JvdXBJZCxcbiAgICAgIHRoaXMuc2VsZWN0ZWRcbiAgICApO1xuXG4gICAgdGhpcy5wZW5kaW5nU3RhdHVzID0gZmFsc2U7XG4gICAgdGhpcy5yZXNldFN0ZXBwZXIoKTtcbiAgICBjb25zdCBhbGVydE1zZyA9IGdldHRleHQoJ0dyb3VwIGNyZWF0ZWQuJyk7XG4gICAgdGhpcy5nYWluc2lnaHRTZXJ2aWNlLnRyaWdnZXJFdmVudChQUk9EVUNUX0VYUEVSSUVOQ0UuRVZFTlQsIHtcbiAgICAgIGNvbXBvbmVudDogUFJPRFVDVF9FWFBFUklFTkNFLkFERF9HUk9VUC5DT01QT05FTlRTLkFERF9HUk9VUCxcbiAgICAgIHVybDogd2luZG93LmxvY2F0aW9uLmhyZWYsXG4gICAgICByZXN1bHQ6IFBST0RVQ1RfRVhQRVJJRU5DRS5BRERfR1JPVVAuUkVTVUxUUy5BRERfU1VDQ0VTU1xuICAgIH0pO1xuICAgIHRoaXMuYWxlcnQuc3VjY2VzcyhhbGVydE1zZyk7XG4gICAgdGhpcy5yZWZyZXNoLmVtaXQoKTtcbiAgICB0aGlzLm9uQ2FuY2VsLmVtaXQoKTtcbiAgfVxuXG4gIG9uU2VsZWN0ZWQoc2VsZWN0ZWREZXZpY2VzSURzOiBzdHJpbmdbXSkge1xuICAgIHRoaXMuc2VsZWN0ZWQgPSBzZWxlY3RlZERldmljZXNJRHM7XG4gIH1cblxuICByZXNldFN0ZXBwZXIoKSB7XG4gICAgdGhpcy5zdGVwcGVyLnJlc2V0KCk7XG4gICAgdGhpcy5zdGVwcGVyLnNlbGVjdGVkSW5kZXggPSAxO1xuICAgIHRoaXMuc2VsZWN0ZWQgPSBbXTtcbiAgfVxuXG4gIG5nT25EZXN0cm95KCkge1xuICAgIGlmICh0aGlzLnN1YnNjcmlwdGlvbikge1xuICAgICAgdGhpcy5zdWJzY3JpcHRpb24udW5zdWJzY3JpYmUoKTtcbiAgICB9XG4gIH1cblxuICBwcml2YXRlIGlzR3JvdXBEZXRhaWxzU3RlcCgpIHtcbiAgICByZXR1cm4gdGhpcy5zdGVwcGVyLnNlbGVjdGVkSW5kZXggPT09IDA7XG4gIH1cblxuICBwcml2YXRlIGlzQXNzaWduRGV2aWNlU3RlcCgpIHtcbiAgICByZXR1cm4gdGhpcy5zdGVwcGVyLnNlbGVjdGVkSW5kZXggPT09IDE7XG4gIH1cblxuICBwcml2YXRlIHNldEZvY3VzT25OYW1lSW5wdXQoKSB7XG4gICAgaWYgKHRoaXMubmFtZUlucHV0KSB7XG4gICAgICB0aGlzLm5hbWVJbnB1dC5mb2N1cygpO1xuICAgICAgdGhpcy5uYW1lSW5wdXQuc2VsZWN0KCk7XG4gICAgfVxuICB9XG59XG4iLCI8ZGl2IGNsYXNzPVwiZC1jb250ZW50c1wiICpuZ0lmPVwiIWN1cnJlbnRHcm91cElkOyBlbHNlIHN0ZXBwZXJcIj5cbiAgPG5nLWNvbnRhaW5lciBbbmdUZW1wbGF0ZU91dGxldF09XCJzdGVwcGVyXCI+PC9uZy1jb250YWluZXI+XG48L2Rpdj5cblxuPG5nLXRlbXBsYXRlICNzdGVwcGVyPlxuICA8Yzh5LXN0ZXBwZXJcbiAgICBjbGFzcz1cImQtY29sIGZsZXgtbm93cmFwIG5vLWFsaWduLWl0ZW1zIGZpdC1oIGM4eS1zdGVwcGVyLS1uby1idG5zXCJcbiAgICBbZGlzYWJsZURlZmF1bHRJY29uc109XCJ7IGVkaXQ6IHRydWUsIGRvbmU6IGZhbHNlIH1cIlxuICAgIFtjdXN0b21DbGFzc2VzXT1cIlsnY29sLW1kLTYnLCAnY29sLW1kLW9mZnNldC0zJywgJ20tdC0yNCcsICdtLWItNDAnLCAncC0wJywgJ2ZsZXgtbm8tc2hyaW5rJ11cIlxuICAgIGxpbmVhclxuICAgIGM4eVByb2R1Y3RFeHBlcmllbmNlXG4gICAgaW5oZXJpdFxuICAgIFthY3Rpb25OYW1lXT1cIlBST0RVQ1RfRVhQRVJJRU5DRS5FVkVOVFwiXG4gICAgW2FjdGlvbkRhdGFdPVwieyBjb21wb25lbnQ6IFBST0RVQ1RfRVhQRVJJRU5DRS5BRERfR1JPVVAuQ09NUE9ORU5UUy5BRERfR1JPVVAgfVwiXG4gID5cbiAgICA8Y2RrLXN0ZXAgW3N0ZXBDb250cm9sXT1cImZvcm1Hcm91cFN0ZXBPbmVcIiBbbGFiZWxdPVwiJ05ldyBncm91cCcgfCB0cmFuc2xhdGVcIj5cbiAgICAgIDxkaXYgY2xhc3M9XCJwLTE2IHAtdC0wIGZsZXgtbm8tc2hyaW5rIHNlcGFyYXRvci1ib3R0b20gY29sLXhzLTEyXCI+XG4gICAgICAgIDxkaXYgY2xhc3M9XCJyb3dcIj5cbiAgICAgICAgICA8ZGl2IGNsYXNzPVwiY29sLW1kLTYgY29sLW1kLW9mZnNldC0zIGNvbC1sZy00IGNvbC1sZy1vZmZzZXQtNFwiPlxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cImg0IHRleHQtY2VudGVyIHRleHQtbWVkaXVtXCI+XG4gICAgICAgICAgICAgIHt7ICdOZXcgZ3JvdXAnIHwgdHJhbnNsYXRlIH19XG4gICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgPC9kaXY+XG4gICAgICA8L2Rpdj5cbiAgICAgIDxkaXYgY2xhc3M9XCJjb2wteHMtMTIgZmxleC1ncm93IG5vLWd1dHRlclwiPlxuICAgICAgICA8ZGl2IGNsYXNzPVwiY2FyZC1pbm5lci1zY3JvbGwgZml0LWhcIj5cbiAgICAgICAgICA8ZGl2IGNsYXNzPVwiY2FyZC1ibG9jayBwLWItMFwiPlxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cInJvd1wiPlxuICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiY29sLW1kLTYgY29sLW1kLW9mZnNldC0zIGNvbC1sZy00IGNvbC1sZy1vZmZzZXQtNFwiPlxuICAgICAgICAgICAgICAgIDxjOHktZm9ybS1ncm91cCBbbm92YWxpZGF0aW9uXT1cInRydWVcIj5cbiAgICAgICAgICAgICAgICAgIDxkaXYgW2Zvcm1Hcm91cF09XCJmb3JtR3JvdXBTdGVwT25lXCI+XG4gICAgICAgICAgICAgICAgICAgIDxjOHktZm9ybS1ncm91cD5cbiAgICAgICAgICAgICAgICAgICAgICA8bGFiZWwgdHJhbnNsYXRlPk5hbWU8L2xhYmVsPlxuICAgICAgICAgICAgICAgICAgICAgIDxpbnB1dFxuICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9XCJmb3JtLWNvbnRyb2xcIlxuICAgICAgICAgICAgICAgICAgICAgICAgdHlwZT1cInRleHRcIlxuICAgICAgICAgICAgICAgICAgICAgICAgZm9ybUNvbnRyb2xOYW1lPVwibmFtZVwiXG4gICAgICAgICAgICAgICAgICAgICAgICBwbGFjZWhvbGRlcj1cInt7ICdlLmcuIEZpcnN0IGZsb29yJyB8IHRyYW5zbGF0ZSB9fSBcIlxuICAgICAgICAgICAgICAgICAgICAgICAgbWF4bGVuZ3RoPVwiMjU0XCJcbiAgICAgICAgICAgICAgICAgICAgICAgICNuYW1lUmVmXG4gICAgICAgICAgICAgICAgICAgICAgICByZXF1aXJlZFxuICAgICAgICAgICAgICAgICAgICAgIC8+XG4gICAgICAgICAgICAgICAgICAgIDwvYzh5LWZvcm0tZ3JvdXA+XG5cbiAgICAgICAgICAgICAgICAgICAgPGM4eS1mb3JtLWdyb3VwPlxuICAgICAgICAgICAgICAgICAgICAgIDxsYWJlbCB0cmFuc2xhdGU+RGVzY3JpcHRpb248L2xhYmVsPlxuICAgICAgICAgICAgICAgICAgICAgIDxpbnB1dFxuICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9XCJmb3JtLWNvbnRyb2xcIlxuICAgICAgICAgICAgICAgICAgICAgICAgdHlwZT1cInRleHRcIlxuICAgICAgICAgICAgICAgICAgICAgICAgZm9ybUNvbnRyb2xOYW1lPVwiZGVzY3JpcHRpb25cIlxuICAgICAgICAgICAgICAgICAgICAgICAgcGxhY2Vob2xkZXI9XCJ7eyAnZS5nLiBmaXJzdCBmbG9vciBkZXZpY2VzJyB8IHRyYW5zbGF0ZSB9fVwiXG4gICAgICAgICAgICAgICAgICAgICAgLz5cbiAgICAgICAgICAgICAgICAgICAgPC9jOHktZm9ybS1ncm91cD5cbiAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgIDwvYzh5LWZvcm0tZ3JvdXA+XG4gICAgICAgICAgICAgICAgPGM4eS1mb3JtLWdyb3VwPlxuICAgICAgICAgICAgICAgICAgPGRpdiBbZm9ybUdyb3VwXT1cImZvcm1Hcm91cFN0ZXBPbmVcIj48L2Rpdj5cbiAgICAgICAgICAgICAgICA8L2M4eS1mb3JtLWdyb3VwPlxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJhbGVydCBhbGVydC1pbmZvIG1heC13aWR0aC0xMDBcIiB0cmFuc2xhdGUgKm5nSWY9XCIhY2FuQXNzaWduRGV2aWNlXCI+XG4gICAgICAgICAgICAgICAgICBZb3UgZG9uJ3QgaGF2ZSBwZXJtaXNzaW9uIHRvIGFzc2lnbiBkZXZpY2VzLlxuICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgIDwvZGl2PlxuICAgICAgICA8L2Rpdj5cbiAgICAgIDwvZGl2PlxuXG4gICAgICA8Yzh5LXN0ZXBwZXItYnV0dG9uc1xuICAgICAgICBjbGFzcz1cImQtYmxvY2sgY2FyZC1mb290ZXIgcC0yNCBzZXBhcmF0b3JcIlxuICAgICAgICAob25DYW5jZWwpPVwib25DYW5jZWwuZW1pdCgpXCJcbiAgICAgICAgKG9uQ3VzdG9tKT1cImNyZWF0ZUdyb3VwKClcIlxuICAgICAgICBbZGlzYWJsZWRdPVwiIWNhbkNyZWF0ZUdyb3VwXCJcbiAgICAgICAgW2xhYmVsc109XCJcbiAgICAgICAgICBjYW5Bc3NpZ25EZXZpY2VcbiAgICAgICAgICAgID8geyBuZXh0OiBidG5MYWJlbHMubmV4dCwgY2FuY2VsOiBidG5MYWJlbHMuY2FuY2VsIH1cbiAgICAgICAgICAgIDogeyBjdXN0b206IGJ0bkxhYmVscy5jcmVhdGUsIGNhbmNlbDogYnRuTGFiZWxzLmNhbmNlbCB9XG4gICAgICAgIFwiXG4gICAgICAgIFtzaG93QnV0dG9uc109XCJcbiAgICAgICAgICBjYW5Bc3NpZ25EZXZpY2UgPyB7IG5leHQ6IHRydWUsIGNhbmNlbDogdHJ1ZSB9IDogeyBjdXN0b206IHRydWUsIGNhbmNlbDogdHJ1ZSB9XG4gICAgICAgIFwiXG4gICAgICA+PC9jOHktc3RlcHBlci1idXR0b25zPlxuICAgIDwvY2RrLXN0ZXA+XG4gICAgPGNkay1zdGVwIFtsYWJlbF09XCInQXNzaWduIGRldmljZXMnIHwgdHJhbnNsYXRlXCI+XG4gICAgICA8ZGl2IGNsYXNzPVwicC0xNiBwLXQtMCBmbGV4LW5vLXNocmluayBzZXBhcmF0b3ItYm90dG9tIGNvbC14cy0xMlwiPlxuICAgICAgICA8ZGl2IGNsYXNzPVwicm93XCI+XG4gICAgICAgICAgPGRpdiBjbGFzcz1cImNvbC1tZC02IGNvbC1tZC1vZmZzZXQtMyBjb2wtbGctNCBjb2wtbGctb2Zmc2V0LTRcIj5cbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJoNCB0ZXh0LWNlbnRlciB0ZXh0LW1lZGl1bVwiPlxuICAgICAgICAgICAgICB7eyAnQXNzaWduIGRldmljZXMnIHwgdHJhbnNsYXRlIH19XG4gICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgPC9kaXY+XG4gICAgICA8L2Rpdj5cbiAgICAgIDxkaXYgY2xhc3M9XCJjb2wteHMtMTIgbm8tZ3V0dGVyIGZsZXgtZ3Jvd1wiPlxuICAgICAgICA8Yzh5LWRldmljZS1ncmlkXG4gICAgICAgICAgW3RpdGxlXT1cIidTZWxlY3QgdGFyZ2V0IGRldmljZXMnIHwgdHJhbnNsYXRlXCJcbiAgICAgICAgICBbYWN0aW9uQ29udHJvbHNdPVwiW11cIlxuICAgICAgICAgIFtpbmZpbml0ZVNjcm9sbF09XCInYXV0bydcIlxuICAgICAgICAgIFtzZWxlY3RhYmxlXT1cInRydWVcIlxuICAgICAgICAgIFtwYWdpbmF0aW9uXT1cInBhZ2luYXRpb25cIlxuICAgICAgICAgIChpdGVtc1NlbGVjdCk9XCJvblNlbGVjdGVkKCRldmVudClcIlxuICAgICAgICAgIFtyZWZyZXNoXT1cInJlZnJlc2hcIlxuICAgICAgICAgIGM4eVByb2R1Y3RFeHBlcmllbmNlXG4gICAgICAgICAgW2FjdGlvbk5hbWVdPVwiUFJPRFVDVF9FWFBFUklFTkNFLkVWRU5UXCJcbiAgICAgICAgICBbYWN0aW9uRGF0YV09XCJ7IGNvbXBvbmVudDogUFJPRFVDVF9FWFBFUklFTkNFLkFERF9HUk9VUC5DT01QT05FTlRTLkFERF9HUk9VUCB9XCJcbiAgICAgICAgPjwvYzh5LWRldmljZS1ncmlkPlxuICAgICAgPC9kaXY+XG4gICAgICA8Yzh5LXN0ZXBwZXItYnV0dG9uc1xuICAgICAgICBjbGFzcz1cImQtYmxvY2sgY2FyZC1mb290ZXIgcC0yNCBzZXBhcmF0b3JcIlxuICAgICAgICAob25DYW5jZWwpPVwib25DYW5jZWwuZW1pdCgpXCJcbiAgICAgICAgKG9uQ3VzdG9tKT1cImNyZWF0ZUdyb3VwKClcIlxuICAgICAgICBbbGFiZWxzXT1cInsgY3VzdG9tOiBidG5MYWJlbHMuY3JlYXRlIH1cIlxuICAgICAgICBbZGlzYWJsZWRdPVwiIWNhbkFzc2lnbkRldmljZVwiXG4gICAgICAgIFtwZW5kaW5nXT1cInBlbmRpbmdTdGF0dXNcIlxuICAgICAgPjwvYzh5LXN0ZXBwZXItYnV0dG9ucz5cbiAgICA8L2Nkay1zdGVwPlxuICA8L2M4eS1zdGVwcGVyPlxuPC9uZy10ZW1wbGF0ZT5cbiJdfQ==
|
|
144
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWRkLWdyb3VwLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3N1Yi1hc3NldHMvYWRkLWdyb3VwL2FkZC1ncm91cC5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi9zdWItYXNzZXRzL2FkZC1ncm91cC9hZGQtZ3JvdXAuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUNMLFNBQVMsRUFDVCxVQUFVLEVBQ1YsWUFBWSxFQUNaLFlBQVksRUFDWixLQUFLLEVBQ0wsTUFBTSxFQUNOLFNBQVMsRUFDVixNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQUUsV0FBVyxFQUFhLFVBQVUsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBRXBFLE9BQU8sRUFDTCxZQUFZLEVBQ1osVUFBVSxFQUNWLGdCQUFnQixFQUVoQixXQUFXLEVBQ1gsT0FBTyxFQUNSLE1BQU0scUJBQXFCLENBQUM7QUFFN0IsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sNEJBQTRCLENBQUM7QUFDaEUsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sdUJBQXVCLENBQUM7QUFDekQsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLHFCQUFxQixDQUFDOzs7Ozs7Ozs7QUFNdEQsTUFBTSxPQUFPLGlCQUFpQjtJQTRCNUIsWUFDVSxFQUFlLEVBQ2YsZUFBZ0MsRUFDaEMsS0FBbUIsRUFDbkIsZ0JBQWtDLEVBQ2xDLGdCQUFrQyxFQUNsQyxrQkFBK0I7UUFML0IsT0FBRSxHQUFGLEVBQUUsQ0FBYTtRQUNmLG9CQUFlLEdBQWYsZUFBZSxDQUFpQjtRQUNoQyxVQUFLLEdBQUwsS0FBSyxDQUFjO1FBQ25CLHFCQUFnQixHQUFoQixnQkFBZ0IsQ0FBa0I7UUFDbEMscUJBQWdCLEdBQWhCLGdCQUFnQixDQUFrQjtRQUNsQyx1QkFBa0IsR0FBbEIsa0JBQWtCLENBQWE7UUFoQ2hDLFlBQU8sR0FBRyxJQUFJLFlBQVksRUFB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SUFDMUMsQ0FBQztJQUVPLG1CQUFtQjtRQUN6QixJQUFJLElBQUksQ0FBQyxTQUFTLEVBQUU7WUFDbEIsSUFBSSxDQUFDLFNBQVMsQ0FBQyxLQUFLLEVBQUUsQ0FBQztZQUN2QixJQUFJLENBQUMsU0FBUyxDQUFDLE1BQU0sRUFBRSxDQUFDO1NBQ3pCO0lBQ0gsQ0FBQzs7OEdBcklVLGlCQUFpQjtrR0FBakIsaUJBQWlCLDhYQUtqQixVQUFVLDBJQ2pDdkIsNHFKQXNIQTsyRkQxRmEsaUJBQWlCO2tCQUo3QixTQUFTOytCQUNFLGVBQWU7bVBBSWhCLGNBQWM7c0JBQXRCLEtBQUs7Z0JBQ0csT0FBTztzQkFBZixLQUFLO2dCQUNJLHlCQUF5QjtzQkFBbEMsTUFBTTtnQkFDRyxRQUFRO3NCQUFqQixNQUFNO2dCQUVQLE9BQU87c0JBRE4sU0FBUzt1QkFBQyxVQUFVLEVBQUUsRUFBRSxNQUFNLEVBQUUsS0FBSyxFQUFFO2dCQUd4QyxZQUFZO3NCQURYLFNBQVM7dUJBQUMsU0FBUyxFQUFFLEVBQUUsTUFBTSxFQUFFLEtBQUssRUFBRTtnQkE4QmEsY0FBYztzQkFBakUsWUFBWTt1QkFBQyx3QkFBd0IsRUFBRSxDQUFDLFFBQVEsQ0FBQztnQkFTRyxlQUFlO3NCQUFuRSxZQUFZO3VCQUFDLHlCQUF5QixFQUFFLENBQUMsUUFBUSxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgQ29tcG9uZW50LFxuICBFbGVtZW50UmVmLFxuICBFdmVudEVtaXR0ZXIsXG4gIEhvc3RMaXN0ZW5lcixcbiAgSW5wdXQsXG4gIE91dHB1dCxcbiAgVmlld0NoaWxkXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgRm9ybUJ1aWxkZXIsIEZvcm1Hcm91cCwgVmFsaWRhdG9ycyB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcbmltcG9ydCB7IElNYW5hZ2VkT2JqZWN0IH0gZnJvbSAnQGM4eS9jbGllbnQnO1xuaW1wb3J0IHtcbiAgQWxlcnRTZXJ2aWNlLFxuICBDOHlTdGVwcGVyLFxuICBHYWluc2lnaHRTZXJ2aWNlLFxuICBQYWdpbmF0aW9uLFxuICBQZXJtaXNzaW9ucyxcbiAgZ2V0dGV4dFxufSBmcm9tICdAYzh5L25neC1jb21wb25lbnRzJztcbmltcG9ydCB7IFN1YnNjcmlwdGlvbiB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgUFJPRFVDVF9FWFBFUklFTkNFIH0gZnJvbSAnLi4vc2hhcmVkL3N1Yi1hc3NldHMubW9kZWwnO1xuaW1wb3J0IHsgU3ViQXNzZXRzU2VydmljZSB9IGZyb20gJy4uL3N1Yi1hc3NldHMuc2VydmljZSc7XG5pbXBvcnQgeyBBZGRHcm91cFNlcnZpY2UgfSBmcm9tICcuL2FkZC1ncm91cC5zZXJ2aWNlJztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnYzh5LWFkZC1ncm91cCcsXG4gIHRlbXBsYXRlVXJsOiAnLi9hZGQtZ3JvdXAuY29tcG9uZW50Lmh0bWwnXG59KVxuZXhwb3J0IGNsYXNzIEFkZEdyb3VwQ29tcG9uZW50IHtcbiAgQElucHV0KCkgY3VycmVudEdyb3VwSWQ6IHN0cmluZztcbiAgQElucHV0KCkgcmVmcmVzaCA9IG5ldyBFdmVudEVtaXR0ZXI8YW55PigpO1xuICBAT3V0cHV0KCkgb25EZXZpY2VRdWVyeVN0cmluZ0NoYW5nZTogRXZlbnRFbWl0dGVyPHN0cmluZz4gPSBuZXcgRXZlbnRFbWl0dGVyPHN0cmluZz4oKTtcbiAgQE91dHB1dCgpIG9uQ2FuY2VsID0gbmV3IEV2ZW50RW1pdHRlcjxhbnk+KCk7XG4gIEBWaWV3Q2hpbGQoQzh5U3RlcHBlciwgeyBzdGF0aWM6IGZhbHNlIH0pXG4gIHN0ZXBwZXI6IEM4eVN0ZXBwZXI7XG4gIEBWaWV3Q2hpbGQoJ25hbWVSZWYnLCB7IHN0YXRpYzogZmFsc2UgfSlcbiAgbmFtZUlucHV0UmVmOiBFbGVtZW50UmVmO1xuICBkZXZpY2VRdWVyeVN0cmluZ091dHB1dDogc3RyaW5nO1xuICBmb3JtR3JvdXBTdGVwT25lOiBGb3JtR3JvdXA7XG4gIHBlbmRpbmdTdGF0dXMgPSBmYWxzZTtcbiAgcGFnaW5hdGlvbjogUGFnaW5hdGlvbiA9IHsgcGFnZVNpemU6IDIwLCBjdXJyZW50UGFnZTogMSB9O1xuICBzZWxlY3RlZDogc3RyaW5nW10gPSBbXTtcbiAgc3Vic2NyaXB0aW9uOiBTdWJzY3JpcHRpb247XG4gIGNhbkNyZWF0ZUdyb3VwID0gZmFsc2U7XG4gIGNhbkFzc2lnbkRldmljZSA9IGZhbHNlO1xuICBQUk9EVUNUX0VYUEVSSUVOQ0UgPSBQUk9EVUNUX0VYUEVSSUVOQ0U7XG5cbiAgcmVhZG9ubHkgSVRFTVNfU0VMRUNUX0xJTUlUOiBudW1iZXIgPSAxNTtcbiAgcmVhZG9ubHkgYnRuTGFiZWxzID0ge1xuICAgIG5leHQ6IGdldHRleHQoJ05leHQnKSxcbiAgICBjYW5jZWw6IGdldHRleHQoJ0NhbmNlbCcpLFxuICAgIGNyZWF0ZTogZ2V0dGV4dCgnQ3JlYXRlJylcbiAgfTtcblxuICBwcml2YXRlIG5hbWVJbnB1dDogSFRNTElucHV0RWxlbWVudDtcblxuICBjb25zdHJ1Y3RvcihcbiAgICBwcml2YXRlIGZiOiBGb3JtQnVpbGRlcixcbiAgICBwcml2YXRlIGFkZEdyb3VwU2VydmljZTogQWRkR3JvdXBTZXJ2aWNlLFxuICAgIHByaXZhdGUgYWxlcnQ6IEFsZXJ0U2VydmljZSxcbiAgICBwcml2YXRlIHN1YkFzc2V0c1NlcnZpY2U6IFN1YkFzc2V0c1NlcnZpY2UsXG4gICAgcHJpdmF0ZSBnYWluc2lnaHRTZXJ2aWNlOiBHYWluc2lnaHRTZXJ2aWNlLFxuICAgIHByaXZhdGUgcGVybWlzc2lvbnNTZXJ2aWNlOiBQZXJtaXNzaW9uc1xuICApIHt9XG5cbiAgQEhvc3RMaXN0ZW5lcignZG9jdW1lbnQ6a2V5ZG93bi5lbnRlcicsIFsnJGV2ZW50J10pIG9uRW50ZXJLZXlEb3duKF9ldmVudDogS2V5Ym9hcmRFdmVudCkge1xuICAgIC8vIE9yZGVyIG1hdHRlcnMhIE5lZWRzIHRvIGJlIHBsYWNlZCBiZWZvcmUgdGhpcy5zdGVwcGVyLm5leHRcbiAgICBpZiAoKHRoaXMuaXNHcm91cERldGFpbHNTdGVwKCkgJiYgIXRoaXMuY2FuQXNzaWduRGV2aWNlKSB8fCB0aGlzLmlzQXNzaWduRGV2aWNlU3RlcCgpKSB7XG4gICAgICB0aGlzLmNyZWF0ZUdyb3VwKCk7XG4gICAgICByZXR1cm47XG4gICAgfVxuICAgIHRoaXMuc3RlcHBlci5uZXh0KCk7XG4gIH1cblxuICBASG9zdExpc3RlbmVyKCdkb2N1bWVudDprZXlkb3duLmVzY2FwZScsIFsnJGV2ZW50J10pIG9uRXNjYXBlS2V5RG93bihfZXZlbnQ6IEtleWJvYXJkRXZlbnQpIHtcbiAgICB0aGlzLm9uQ2FuY2VsLmVtaXQoKTtcbiAgfVxuXG4gIGFzeW5jIG5nT25Jbml0KCkge1xuICAgIHRoaXMuZm9ybUdyb3VwU3RlcE9uZSA9IHRoaXMuZmIuZ3JvdXAoe1xuICAgICAgbmFtZTogWycnLCBWYWxpZGF0b3JzLnJlcXVpcmVkXSxcbiAgICAgIGRlc2NyaXB0aW9uOiBbJyddXG4gICAgfSk7XG4gICAgdGhpcy5zdWJzY3JpcHRpb24gPSB0aGlzLm9uQ2FuY2VsLnN1YnNjcmliZSgoKSA9PiB0aGlzLnJlc2V0U3RlcHBlcigpKTtcbiAgICB0aGlzLmNhbkNyZWF0ZUdyb3VwID1cbiAgICAgIHRoaXMuc3ViQXNzZXRzU2VydmljZS5jYW5DcmVhdGVHcm91cCgpIHx8XG4gICAgICAoYXdhaXQgdGhpcy5wZXJtaXNzaW9uc1NlcnZpY2UuY2FuRWRpdChcbiAgICAgICAgW1xuICAgICAgICAgIFBlcm1pc3Npb25zLlJPTEVfSU5WRU5UT1JZX0FETUlOLFxuICAgICAgICAgIFBlcm1pc3Npb25zLlJPTEVfSU5WRU5UT1JZX0NSRUFURSxcbiAgICAgICAgICBQZXJtaXNzaW9ucy5ST0xFX01BTkFHRURfT0JKRUNUX0FETUlOLFxuICAgICAgICAgIFBlcm1pc3Npb25zLlJPTEVfTUFOQUdFRF9PQkpFQ1RfQ1JFQVRFXG4gICAgICAgIF0sXG4gICAgICAgIHtcbiAgICAgICAgICBpZDogdGhpcy5jdXJyZW50R3JvdXBJZFxuICAgICAgICB9XG4gICAgICApKTtcbiAgICB0aGlzLmNhbkFzc2lnbkRldmljZSA9IGF3YWl0IHRoaXMuc3ViQXNzZXRzU2VydmljZS5jYW5Bc3NpZ25EZXZpY2Uoe1xuICAgICAgaWQ6IHRoaXMuY3VycmVudEdyb3VwSWRcbiAgICB9IGFzIElNYW5hZ2VkT2JqZWN0KTtcbiAgfVxuXG4gIG5nQWZ0ZXJWaWV3SW5pdCgpIHtcbiAgICB0aGlzLm5hbWVJbnB1dCA9IHRoaXMubmFtZUlucHV0UmVmLm5hdGl2ZUVsZW1lbnQgYXMgSFRNTElucHV0RWxlbWVudDtcbiAgICB0aGlzLnNldEZvY3VzT25OYW1lSW5wdXQoKTtcbiAgfVxuXG4gIGFzeW5jIGNyZWF0ZUdyb3VwKCkge1xuICAgIGlmICh0aGlzLmNhbkNyZWF0ZUdyb3VwID09PSBmYWxzZSkge1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIHRoaXMucGVuZGluZ1N0YXR1cyA9IHRydWU7XG4gICAgYXdhaXQgdGhpcy5hZGRHcm91cFNlcnZpY2UuY3JlYXRlR3JvdXBBbmRBc3NpZ25EZXZpY2VzKFxuICAgICAgdGhpcy5mb3JtR3JvdXBTdGVwT25lLnZhbHVlLFxuICAgICAgdGhpcy5jdXJyZW50R3JvdXBJZCxcbiAgICAgIHRoaXMuc2VsZWN0ZWRcbiAgICApO1xuXG4gICAgdGhpcy5wZW5kaW5nU3RhdHVzID0gZmFsc2U7XG4gICAgdGhpcy5yZXNldFN0ZXBwZXIoKTtcbiAgICBjb25zdCBhbGVydE1zZyA9IGdldHRleHQoJ0dyb3VwIGNyZWF0ZWQuJyk7XG4gICAgdGhpcy5nYWluc2lnaHRTZXJ2aWNlLnRyaWdnZXJFdmVudChQUk9EVUNUX0VYUEVSSUVOQ0UuRVZFTlQsIHtcbiAgICAgIGNvbXBvbmVudDogUFJPRFVDVF9FWFBFUklFTkNFLkFERF9HUk9VUC5DT01QT05FTlRTLkFERF9HUk9VUCxcbiAgICAgIHVybDogd2luZG93LmxvY2F0aW9uLmhyZWYsXG4gICAgICByZXN1bHQ6IFBST0RVQ1RfRVhQRVJJRU5DRS5BRERfR1JPVVAuUkVTVUxUUy5BRERfU1VDQ0VTU1xuICAgIH0pO1xuICAgIHRoaXMuYWxlcnQuc3VjY2VzcyhhbGVydE1zZyk7XG4gICAgdGhpcy5yZWZyZXNoLmVtaXQoKTtcbiAgICB0aGlzLm9uQ2FuY2VsLmVtaXQoKTtcbiAgfVxuXG4gIG9uU2VsZWN0ZWQoc2VsZWN0ZWREZXZpY2VzSURzOiBzdHJpbmdbXSkge1xuICAgIHRoaXMuc2VsZWN0ZWQgPSBzZWxlY3RlZERldmljZXNJRHM7XG4gIH1cblxuICByZXNldFN0ZXBwZXIoKSB7XG4gICAgdGhpcy5zdGVwcGVyLnJlc2V0KCk7XG4gICAgdGhpcy5zdGVwcGVyLnNlbGVjdGVkSW5kZXggPSAxO1xuICAgIHRoaXMuc2VsZWN0ZWQgPSBbXTtcbiAgfVxuXG4gIG5nT25EZXN0cm95KCkge1xuICAgIGlmICh0aGlzLnN1YnNjcmlwdGlvbikge1xuICAgICAgdGhpcy5zdWJzY3JpcHRpb24udW5zdWJzY3JpYmUoKTtcbiAgICB9XG4gIH1cblxuICBwcml2YXRlIGlzR3JvdXBEZXRhaWxzU3RlcCgpIHtcbiAgICByZXR1cm4gdGhpcy5zdGVwcGVyLnNlbGVjdGVkSW5kZXggPT09IDA7XG4gIH1cblxuICBwcml2YXRlIGlzQXNzaWduRGV2aWNlU3RlcCgpIHtcbiAgICByZXR1cm4gdGhpcy5zdGVwcGVyLnNlbGVjdGVkSW5kZXggPT09IDE7XG4gIH1cblxuICBwcml2YXRlIHNldEZvY3VzT25OYW1lSW5wdXQoKSB7XG4gICAgaWYgKHRoaXMubmFtZUlucHV0KSB7XG4gICAgICB0aGlzLm5hbWVJbnB1dC5mb2N1cygpO1xuICAgICAgdGhpcy5uYW1lSW5wdXQuc2VsZWN0KCk7XG4gICAgfVxuICB9XG59XG4iLCI8ZGl2IGNsYXNzPVwiZC1jb250ZW50c1wiICpuZ0lmPVwiIWN1cnJlbnRHcm91cElkOyBlbHNlIHN0ZXBwZXJcIj5cbiAgPG5nLWNvbnRhaW5lciBbbmdUZW1wbGF0ZU91dGxldF09XCJzdGVwcGVyXCI+PC9uZy1jb250YWluZXI+XG48L2Rpdj5cblxuPG5nLXRlbXBsYXRlICNzdGVwcGVyPlxuICA8Yzh5LXN0ZXBwZXJcbiAgICBjbGFzcz1cImQtY29sIGZsZXgtbm93cmFwIG5vLWFsaWduLWl0ZW1zIGZpdC1oIGM4eS1zdGVwcGVyLS1uby1idG5zXCJcbiAgICBbZGlzYWJsZURlZmF1bHRJY29uc109XCJ7IGVkaXQ6IHRydWUsIGRvbmU6IGZhbHNlIH1cIlxuICAgIFtjdXN0b21DbGFzc2VzXT1cIlsnY29sLW1kLTYnLCAnY29sLW1kLW9mZnNldC0zJywgJ20tdC0yNCcsICdtLWItNDAnLCAncC0wJywgJ2ZsZXgtbm8tc2hyaW5rJ11cIlxuICAgIGxpbmVhclxuICAgIGM4eVByb2R1Y3RFeHBlcmllbmNlXG4gICAgaW5oZXJpdFxuICAgIFthY3Rpb25OYW1lXT1cIlBST0RVQ1RfRVhQRVJJRU5DRS5FVkVOVFwiXG4gICAgW2FjdGlvbkRhdGFdPVwieyBjb21wb25lbnQ6IFBST0RVQ1RfRVhQRVJJRU5DRS5BRERfR1JPVVAuQ09NUE9ORU5UUy5BRERfR1JPVVAgfVwiXG4gID5cbiAgICA8Y2RrLXN0ZXAgW3N0ZXBDb250cm9sXT1cImZvcm1Hcm91cFN0ZXBPbmVcIiBbbGFiZWxdPVwiJ05ldyBncm91cCcgfCB0cmFuc2xhdGVcIj5cbiAgICAgIDxkaXYgY2xhc3M9XCJwLTE2IHAtdC0wIGZsZXgtbm8tc2hyaW5rIHNlcGFyYXRvci1ib3R0b20gY29sLXhzLTEyXCI+XG4gICAgICAgIDxkaXYgY2xhc3M9XCJyb3dcIj5cbiAgICAgICAgICA8ZGl2IGNsYXNzPVwiY29sLW1kLTYgY29sLW1kLW9mZnNldC0zIGNvbC1sZy00IGNvbC1sZy1vZmZzZXQtNFwiPlxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cImg0IHRleHQtY2VudGVyIHRleHQtbWVkaXVtXCI+XG4gICAgICAgICAgICAgIHt7ICdOZXcgZ3JvdXAnIHwgdHJhbnNsYXRlIH19XG4gICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgPC9kaXY+XG4gICAgICA8L2Rpdj5cbiAgICAgIDxkaXYgY2xhc3M9XCJjb2wteHMtMTIgZmxleC1ncm93IG5vLWd1dHRlclwiPlxuICAgICAgICA8ZGl2IGNsYXNzPVwiY2FyZC1pbm5lci1zY3JvbGwgZml0LWhcIj5cbiAgICAgICAgICA8ZGl2IGNsYXNzPVwiY2FyZC1ibG9jayBwLWItMFwiPlxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cInJvd1wiPlxuICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiY29sLW1kLTYgY29sLW1kLW9mZnNldC0zIGNvbC1sZy00IGNvbC1sZy1vZmZzZXQtNFwiPlxuICAgICAgICAgICAgICAgIDxjOHktZm9ybS1ncm91cCBbbm92YWxpZGF0aW9uXT1cInRydWVcIj5cbiAgICAgICAgICAgICAgICAgIDxkaXYgW2Zvcm1Hcm91cF09XCJmb3JtR3JvdXBTdGVwT25lXCI+XG4gICAgICAgICAgICAgICAgICAgIDxjOHktZm9ybS1ncm91cD5cbiAgICAgICAgICAgICAgICAgICAgICA8bGFiZWwgdHJhbnNsYXRlPk5hbWU8L2xhYmVsPlxuICAgICAgICAgICAgICAgICAgICAgIDxpbnB1dFxuICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9XCJmb3JtLWNvbnRyb2xcIlxuICAgICAgICAgICAgICAgICAgICAgICAgdHlwZT1cInRleHRcIlxuICAgICAgICAgICAgICAgICAgICAgICAgZm9ybUNvbnRyb2xOYW1lPVwibmFtZVwiXG4gICAgICAgICAgICAgICAgICAgICAgICBwbGFjZWhvbGRlcj1cInt7ICdlLmcuIEZpcnN0IGZsb29yJyB8IHRyYW5zbGF0ZSB9fSBcIlxuICAgICAgICAgICAgICAgICAgICAgICAgbWF4bGVuZ3RoPVwiMjU0XCJcbiAgICAgICAgICAgICAgICAgICAgICAgICNuYW1lUmVmXG4gICAgICAgICAgICAgICAgICAgICAgICByZXF1aXJlZFxuICAgICAgICAgICAgICAgICAgICAgIC8+XG4gICAgICAgICAgICAgICAgICAgIDwvYzh5LWZvcm0tZ3JvdXA+XG5cbiAgICAgICAgICAgICAgICAgICAgPGM4eS1mb3JtLWdyb3VwPlxuICAgICAgICAgICAgICAgICAgICAgIDxsYWJlbCB0cmFuc2xhdGU+RGVzY3JpcHRpb248L2xhYmVsPlxuICAgICAgICAgICAgICAgICAgICAgIDxpbnB1dFxuICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9XCJmb3JtLWNvbnRyb2xcIlxuICAgICAgICAgICAgICAgICAgICAgICAgdHlwZT1cInRleHRcIlxuICAgICAgICAgICAgICAgICAgICAgICAgZm9ybUNvbnRyb2xOYW1lPVwiZGVzY3JpcHRpb25cIlxuICAgICAgICAgICAgICAgICAgICAgICAgcGxhY2Vob2xkZXI9XCJ7eyAnZS5nLiBmaXJzdCBmbG9vciBkZXZpY2VzJyB8IHRyYW5zbGF0ZSB9fVwiXG4gICAgICAgICAgICAgICAgICAgICAgLz5cbiAgICAgICAgICAgICAgICAgICAgPC9jOHktZm9ybS1ncm91cD5cbiAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgIDwvYzh5LWZvcm0tZ3JvdXA+XG4gICAgICAgICAgICAgICAgPGM4eS1mb3JtLWdyb3VwPlxuICAgICAgICAgICAgICAgICAgPGRpdiBbZm9ybUdyb3VwXT1cImZvcm1Hcm91cFN0ZXBPbmVcIj48L2Rpdj5cbiAgICAgICAgICAgICAgICA8L2M4eS1mb3JtLWdyb3VwPlxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJhbGVydCBhbGVydC1pbmZvIG1heC13aWR0aC0xMDBcIiB0cmFuc2xhdGUgKm5nSWY9XCIhY2FuQXNzaWduRGV2aWNlXCI+XG4gICAgICAgICAgICAgICAgICBZb3UgZG9uJ3QgaGF2ZSBwZXJtaXNzaW9uIHRvIGFzc2lnbiBkZXZpY2VzLlxuICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgIDwvZGl2PlxuICAgICAgICA8L2Rpdj5cbiAgICAgIDwvZGl2PlxuXG4gICAgICA8Yzh5LXN0ZXBwZXItYnV0dG9uc1xuICAgICAgICBjbGFzcz1cImQtYmxvY2sgY2FyZC1mb290ZXIgcC0yNCBzZXBhcmF0b3JcIlxuICAgICAgICAob25DYW5jZWwpPVwib25DYW5jZWwuZW1pdCgpXCJcbiAgICAgICAgKG9uQ3VzdG9tKT1cImNyZWF0ZUdyb3VwKClcIlxuICAgICAgICBbZGlzYWJsZWRdPVwiIWNhbkNyZWF0ZUdyb3VwXCJcbiAgICAgICAgW2xhYmVsc109XCJcbiAgICAgICAgICBjYW5Bc3NpZ25EZXZpY2VcbiAgICAgICAgICAgID8geyBuZXh0OiBidG5MYWJlbHMubmV4dCwgY2FuY2VsOiBidG5MYWJlbHMuY2FuY2VsIH1cbiAgICAgICAgICAgIDogeyBjdXN0b206IGJ0bkxhYmVscy5jcmVhdGUsIGNhbmNlbDogYnRuTGFiZWxzLmNhbmNlbCB9XG4gICAgICAgIFwiXG4gICAgICAgIFtzaG93QnV0dG9uc109XCJcbiAgICAgICAgICBjYW5Bc3NpZ25EZXZpY2UgPyB7IG5leHQ6IHRydWUsIGNhbmNlbDogdHJ1ZSB9IDogeyBjdXN0b206IHRydWUsIGNhbmNlbDogdHJ1ZSB9XG4gICAgICAgIFwiXG4gICAgICA+PC9jOHktc3RlcHBlci1idXR0b25zPlxuICAgIDwvY2RrLXN0ZXA+XG4gICAgPGNkay1zdGVwIFtsYWJlbF09XCInQXNzaWduIGRldmljZXMnIHwgdHJhbnNsYXRlXCI+XG4gICAgICA8ZGl2IGNsYXNzPVwicC0xNiBwLXQtMCBmbGV4LW5vLXNocmluayBzZXBhcmF0b3ItYm90dG9tIGNvbC14cy0xMlwiPlxuICAgICAgICA8ZGl2IGNsYXNzPVwicm93XCI+XG4gICAgICAgICAgPGRpdiBjbGFzcz1cImNvbC1tZC02IGNvbC1tZC1vZmZzZXQtMyBjb2wtbGctNCBjb2wtbGctb2Zmc2V0LTRcIj5cbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJoNCB0ZXh0LWNlbnRlciB0ZXh0LW1lZGl1bVwiPlxuICAgICAgICAgICAgICB7eyAnQXNzaWduIGRldmljZXMnIHwgdHJhbnNsYXRlIH19XG4gICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgPC9kaXY+XG4gICAgICA8L2Rpdj5cbiAgICAgIDxkaXYgY2xhc3M9XCJjb2wteHMtMTIgbm8tZ3V0dGVyIGZsZXgtZ3Jvd1wiPlxuICAgICAgICA8Yzh5LWRldmljZS1ncmlkXG4gICAgICAgICAgW3RpdGxlXT1cIidTZWxlY3QgdGFyZ2V0IGRldmljZXMnIHwgdHJhbnNsYXRlXCJcbiAgICAgICAgICBbYWN0aW9uQ29udHJvbHNdPVwiW11cIlxuICAgICAgICAgIFtpbmZpbml0ZVNjcm9sbF09XCInYXV0bydcIlxuICAgICAgICAgIFtzZWxlY3RhYmxlXT1cInRydWVcIlxuICAgICAgICAgIFtwYWdpbmF0aW9uXT1cInBhZ2luYXRpb25cIlxuICAgICAgICAgIChpdGVtc1NlbGVjdCk9XCJvblNlbGVjdGVkKCRldmVudClcIlxuICAgICAgICAgIFtyZWZyZXNoXT1cInJlZnJlc2hcIlxuICAgICAgICAgIGM4eVByb2R1Y3RFeHBlcmllbmNlXG4gICAgICAgICAgW2FjdGlvbk5hbWVdPVwiUFJPRFVDVF9FWFBFUklFTkNFLkVWRU5UXCJcbiAgICAgICAgICBbYWN0aW9uRGF0YV09XCJ7IGNvbXBvbmVudDogUFJPRFVDVF9FWFBFUklFTkNFLkFERF9HUk9VUC5DT01QT05FTlRTLkFERF9HUk9VUCB9XCJcbiAgICAgICAgPjwvYzh5LWRldmljZS1ncmlkPlxuICAgICAgPC9kaXY+XG4gICAgICA8Yzh5LXN0ZXBwZXItYnV0dG9uc1xuICAgICAgICBjbGFzcz1cImQtYmxvY2sgY2FyZC1mb290ZXIgcC0yNCBzZXBhcmF0b3JcIlxuICAgICAgICAob25DYW5jZWwpPVwib25DYW5jZWwuZW1pdCgpXCJcbiAgICAgICAgKG9uQ3VzdG9tKT1cImNyZWF0ZUdyb3VwKClcIlxuICAgICAgICBbbGFiZWxzXT1cInsgY3VzdG9tOiBidG5MYWJlbHMuY3JlYXRlIH1cIlxuICAgICAgICBbZGlzYWJsZWRdPVwiIWNhbkFzc2lnbkRldmljZVwiXG4gICAgICAgIFtwZW5kaW5nXT1cInBlbmRpbmdTdGF0dXNcIlxuICAgICAgPjwvYzh5LXN0ZXBwZXItYnV0dG9ucz5cbiAgICA8L2Nkay1zdGVwPlxuICA8L2M4eS1zdGVwcGVyPlxuPC9uZy10ZW1wbGF0ZT5cbiJdfQ==
|
|
@@ -20,7 +20,10 @@ export class GroupsComponent {
|
|
|
20
20
|
this.shouldDisableAddGroup = false;
|
|
21
21
|
}
|
|
22
22
|
ngOnInit() {
|
|
23
|
-
if (!this.permissions.
|
|
23
|
+
if (!this.permissions.hasAnyRole([
|
|
24
|
+
Permissions.ROLE_INVENTORY_READ,
|
|
25
|
+
Permissions.ROLE_MANAGED_OBJECT_READ
|
|
26
|
+
])) {
|
|
24
27
|
this.sortable = false;
|
|
25
28
|
}
|
|
26
29
|
this.shouldDisableAddGroup = !this.subAssetsService.canCreateGroup();
|
|
@@ -35,4 +38,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.0.6", ngImpor
|
|
|
35
38
|
type: Inject,
|
|
36
39
|
args: [SUB_ASSETS_CONFIG]
|
|
37
40
|
}] }]; } });
|
|
38
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
41
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ3JvdXBzLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3N1Yi1hc3NldHMvZ3JvdXBzLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uL3N1Yi1hc3NldHMvZ3JvdXBzLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsWUFBWSxFQUFFLE1BQU0sRUFBVSxNQUFNLGVBQWUsQ0FBQztBQUN4RSxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFDbEQsT0FBTyxFQUFFLGlCQUFpQixFQUFtQixNQUFNLG9CQUFvQixDQUFDO0FBQ3hFLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLHNCQUFzQixDQUFDOzs7Ozs7O0FBTXhELE1BQU0sT0FBTyxlQUFlO0lBTzFCLFlBQ1UsV0FBd0IsRUFDeEIsZ0JBQWtDLEVBQ1IsWUFBNkI7UUFGdkQsZ0JBQVcsR0FBWCxXQUFXLENBQWE7UUFDeEIscUJBQWdCLEdBQWhCLGdCQUFnQixDQUFrQjtRQUNSLGlCQUFZLEdBQVosWUFBWSxDQUFpQjtRQVRqRSxZQUFPLEdBQXNCLElBQUksWUFBWSxFQUFFLENBQUM7UUFDaEQsaUJBQVksR0FBRyxLQUFLLENBQUM7UUFDckIsZUFBVSxHQUFHLElBQUksQ0FBQztRQUNsQixhQUFRLEdBQUcsSUFBSSxDQUFDO1FBQ2hCLDBCQUFxQixHQUFHLEtBQUssQ0FBQztJQU0zQixDQUFDO0lBRUosUUFBUTtRQUNOLElBQ0UsQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFDLFVBQVUsQ0FBQztZQUMzQixXQUFXLENBQUMsbUJBQW1CO1lBQy9CLFdBQVcsQ0FBQyx3QkFBd0I7U0FDckMsQ0FBQyxFQUNGO1lBQ0EsSUFBSSxDQUFDLFFBQVEsR0FBRyxLQUFLLENBQUM7U0FDdkI7UUFDRCxJQUFJLENBQUMscUJBQXFCLEdBQUcsQ0FBQyxJQUFJLENBQUMsZ0JBQWdCLENBQUMsY0FBYyxFQUFFLENBQUM7SUFDdkUsQ0FBQzs7NEdBdkJVLGVBQWUsNkVBVWhCLGlCQUFpQjtnR0FWaEIsZUFBZSx1RENUNUIsaTBDQThDQTsyRkRyQ2EsZUFBZTtrQkFKM0IsU0FBUzsrQkFDRSxpQkFBaUI7OzBCQWF4QixNQUFNOzJCQUFDLGlCQUFpQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgRXZlbnRFbWl0dGVyLCBJbmplY3QsIE9uSW5pdCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgUGVybWlzc2lvbnMgfSBmcm9tICdAYzh5L25neC1jb21wb25lbnRzJztcbmltcG9ydCB7IFNVQl9BU1NFVFNfQ09ORklHLCBTdWJBc3NldHNDb25maWcgfSBmcm9tICcuL3N1Yi1hc3NldHMubW9kZWwnO1xuaW1wb3J0IHsgU3ViQXNzZXRzU2VydmljZSB9IGZyb20gJy4vc3ViLWFzc2V0cy5zZXJ2aWNlJztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnYzh5LWdyb3Vwcy1uYW1lJyxcbiAgdGVtcGxhdGVVcmw6ICcuL2dyb3Vwcy5jb21wb25lbnQuaHRtbCdcbn0pXG5leHBvcnQgY2xhc3MgR3JvdXBzQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0IHtcbiAgcmVmcmVzaDogRXZlbnRFbWl0dGVyPGFueT4gPSBuZXcgRXZlbnRFbWl0dGVyKCk7XG4gIHNob3dBZGRHcm91cCA9IGZhbHNlO1xuICBmaWx0ZXJhYmxlID0gdHJ1ZTtcbiAgc29ydGFibGUgPSB0cnVlO1xuICBzaG91bGREaXNhYmxlQWRkR3JvdXAgPSBmYWxzZTtcblxuICBjb25zdHJ1Y3RvcihcbiAgICBwcml2YXRlIHBlcm1pc3Npb25zOiBQZXJtaXNzaW9ucyxcbiAgICBwcml2YXRlIHN1YkFzc2V0c1NlcnZpY2U6IFN1YkFzc2V0c1NlcnZpY2UsXG4gICAgQEluamVjdChTVUJfQVNTRVRTX0NPTkZJRykgcHVibGljIG1vZHVsZUNvbmZpZzogU3ViQXNzZXRzQ29uZmlnXG4gICkge31cblxuICBuZ09uSW5pdCgpIHtcbiAgICBpZiAoXG4gICAgICAhdGhpcy5wZXJtaXNzaW9ucy5oYXNBbnlSb2xlKFtcbiAgICAgICAgUGVybWlzc2lvbnMuUk9MRV9JTlZFTlRPUllfUkVBRCxcbiAgICAgICAgUGVybWlzc2lvbnMuUk9MRV9NQU5BR0VEX09CSkVDVF9SRUFEXG4gICAgICBdKVxuICAgICkge1xuICAgICAgdGhpcy5zb3J0YWJsZSA9IGZhbHNlO1xuICAgIH1cbiAgICB0aGlzLnNob3VsZERpc2FibGVBZGRHcm91cCA9ICF0aGlzLnN1YkFzc2V0c1NlcnZpY2UuY2FuQ3JlYXRlR3JvdXAoKTtcbiAgfVxufVxuIiwiPGM4eS10aXRsZT5cbiAge3sgbW9kdWxlQ29uZmlnLm5hbWUgfCB0cmFuc2xhdGUgfX1cbjwvYzh5LXRpdGxlPlxuXG48Yzh5LWJyZWFkY3J1bWI+XG4gIDxjOHktYnJlYWRjcnVtYi1pdGVtXG4gICAgbGFiZWw9XCJ7eyBtb2R1bGVDb25maWcubmFtZSB8IHRyYW5zbGF0ZSB9fVwiXG4gICAgaWNvbj1cImM4eS1ncm91cC1vcGVuXCJcbiAgPjwvYzh5LWJyZWFkY3J1bWItaXRlbT5cbjwvYzh5LWJyZWFkY3J1bWI+XG5cbjxjOHktYWN0aW9uLWJhci1pdGVtIFtwbGFjZW1lbnRdPVwiJ3JpZ2h0J1wiICpuZ0lmPVwibW9kdWxlQ29uZmlnLnNob3dBZGRHcm91cEJ0blwiPlxuICA8YnV0dG9uXG4gICAgY2xhc3M9XCJidG4gYnRuLWxpbmtcIlxuICAgIHRpdGxlPVwie3sgJ0FkZCBncm91cCcgfCB0cmFuc2xhdGUgfX1cIlxuICAgIChjbGljayk9XCJzaG93QWRkR3JvdXAgPSAhc2hvd0FkZEdyb3VwXCJcbiAgICBbZGlzYWJsZWRdPVwic2hvdWxkRGlzYWJsZUFkZEdyb3VwXCJcbiAgICBbYXR0ci5kYXRhLWN5XT1cIidncm91cHMtYWRkLWdyb3VwLWJ1dHRvbidcIlxuICA+XG4gICAgPGkgYzh5SWNvbj1cInBsdXMtY2lyY2xlXCIgY2xhc3M9XCJtLXItNFwiPjwvaT5cbiAgICB7eyAnQWRkIGdyb3VwJyB8IHRyYW5zbGF0ZSB9fVxuICA8L2J1dHRvbj5cbjwvYzh5LWFjdGlvbi1iYXItaXRlbT5cblxuPGM4eS1oZWxwXG4gICpuZ0lmPVwibW9kdWxlQ29uZmlnLnNob3dHcm91cHNDb250ZXh0SGVscFwiXG4gIHNyYz1cIi91c2Vycy1ndWlkZS9kZXZpY2UtbWFuYWdlbWVudC8jZ3JvdXBpbmctZGV2aWNlc1wiXG4+PC9jOHktaGVscD5cblxuPGRpdiBbbmdDbGFzc109XCJ7IGRyYXdlck9wZW46IHNob3dBZGRHcm91cCB9XCI+XG4gIDxkaXYgY2xhc3M9XCJib3R0b20tZHJhd2VyXCI+XG4gICAgPGM4eS1hZGQtZ3JvdXBcbiAgICAgIFtyZWZyZXNoXT1cInJlZnJlc2hcIlxuICAgICAgKG9uQ2FuY2VsKT1cInNob3dBZGRHcm91cCA9IGZhbHNlXCJcbiAgICAgICpuZ0lmPVwic2hvd0FkZEdyb3VwXCJcbiAgICA+PC9jOHktYWRkLWdyb3VwPlxuICA8L2Rpdj5cbjwvZGl2PlxuPGM4eS1zdWItYXNzZXRzLWdyaWRcbiAgW3JlZnJlc2hdPVwicmVmcmVzaFwiXG4gIFtmaWx0ZXJhYmxlXT1cImZpbHRlcmFibGVcIlxuICBbc29ydGFibGVdPVwic29ydGFibGVcIlxuICBbY29sdW1uc0NvbmZpZ0tleV09XCInc3ViLWFzc2V0cy1ncmlkJ1wiXG4gIFtiYXNlUXVlcnldPVwibW9kdWxlQ29uZmlnLmJhc2VRdWVyeVwiXG4gIGNsYXNzPVwiY29udGVudC1mdWxscGFnZSBkLWZsZXggZC1jb2wgYm9yZGVyLXRvcCBib3JkZXItYm90dG9tXCJcbj48L2M4eS1zdWItYXNzZXRzLWdyaWQ+XG4iXX0=
|
|
@@ -47,7 +47,12 @@ export class SubAssetsComponent {
|
|
|
47
47
|
this.group = { ...contextData };
|
|
48
48
|
this.title = this.group.name;
|
|
49
49
|
this.currentGroupId = this.group.id;
|
|
50
|
-
this.shouldDisableAddGroup = !(await this.permissionsService.canEdit([
|
|
50
|
+
this.shouldDisableAddGroup = !(await this.permissionsService.canEdit([
|
|
51
|
+
Permissions.ROLE_INVENTORY_ADMIN,
|
|
52
|
+
Permissions.ROLE_INVENTORY_CREATE,
|
|
53
|
+
Permissions.ROLE_MANAGED_OBJECT_ADMIN,
|
|
54
|
+
Permissions.ROLE_MANAGED_OBJECT_CREATE
|
|
55
|
+
], this.group));
|
|
51
56
|
this.shouldDisableAssignDevices = !(await this.subAssetsService.canAssignDevice(this.group));
|
|
52
57
|
this.customProperties = await this.subAssetsService.getCustomProperties(this.group);
|
|
53
58
|
this.shouldShowAssetsProperties =
|
|
@@ -78,4 +83,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.0.6", ngImpor
|
|
|
78
83
|
type: Inject,
|
|
79
84
|
args: [SUB_ASSETS_CONFIG]
|
|
80
85
|
}] }]; } });
|
|
81
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3ViLWFzc2V0cy5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zdWItYXNzZXRzL3N1Yi1hc3NldHMuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vc3ViLWFzc2V0cy9zdWItYXNzZXRzLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsWUFBWSxFQUFFLE1BQU0sRUFBcUIsTUFBTSxlQUFlLENBQUM7QUFDbkYsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBRWpELE9BQU8sRUFBRSxtQkFBbUIsRUFBa0IsV0FBVyxFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFFdkYsT0FBTyxFQUFFLGlCQUFpQixFQUFtQixNQUFNLG9CQUFvQixDQUFDO0FBQ3hFLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLHNCQUFzQixDQUFDOzs7Ozs7Ozs7Ozs7QUFNeEQsTUFBTSxPQUFPLGtCQUFrQjtJQW9CN0IsWUFDVSxLQUFxQixFQUNyQixnQkFBa0MsRUFDbEMsbUJBQXdDLEVBQ3hDLGtCQUErQixFQUNMLFlBQTZCO1FBSnZELFVBQUssR0FBTCxLQUFLLENBQWdCO1FBQ3JCLHFCQUFnQixHQUFoQixnQkFBZ0IsQ0FBa0I7UUFDbEMsd0JBQW1CLEdBQW5CLG1CQUFtQixDQUFxQjtRQUN4Qyx1QkFBa0IsR0FBbEIsa0JBQWtCLENBQWE7UUFDTCxpQkFBWSxHQUFaLFlBQVksQ0FBaUI7UUFwQmpFLFdBQU0sR0FBRyxLQUFLLENBQUM7UUFDZixpQkFBWSxHQUFHLEtBQUssQ0FBQztRQUNyQixzQkFBaUIsR0FBRyxLQUFLLENBQUM7UUFFMUIsMkJBQXNCLEdBQUcsS0FBSyxDQUFDO1FBQy9CLFlBQU8sR0FBc0IsSUFBSSxZQUFZLEVBQUUsQ0FBQztRQUNoRCxlQUFVLEdBQUcsSUFBSSxDQUFDO1FBQ2xCLDBCQUFxQixHQUFHLEtBQUssQ0FBQztRQUM5QiwrQkFBMEIsR0FBRyxLQUFLLENBQUM7UUFDbkMsK0JBQTBCLEdBQUcsS0FBSyxDQUFDO1FBRW5DLHFCQUFnQixHQUFxQixFQUFFLENBQUM7UUFXdEMsSUFBSSxDQUFDLE9BQU8sR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLENBQUMsRUFBRSxXQUFXLEVBQUUsRUFBRSxFQUFFO1lBQ2xFLElBQUksQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFDLENBQUM7UUFDekIsQ0FBQyxDQUFDLENBQUM7SUFDTCxDQUFDO0lBRUQsS0FBSyxDQUFDLFFBQVE7UUFDWixJQUFJLENBQUMsY0FBYyxHQUFHO1lBQ3BCLE9BQU8sRUFBRSxJQUFJO1lBQ2IsUUFBUSxFQUFFLEtBQUs7WUFDZixVQUFVLEVBQUUsSUFBSTtZQUNoQixNQUFNLEVBQUUsSUFBSTtTQUNiLENBQUM7SUFDSixDQUFDO0lBRUQsS0FBSyxDQUFDLElBQUksQ0FBQyxXQUFXO1FBQ3BCLElBQUksQ0FBQyxLQUFLLEdBQUcsRUFBRSxHQUFHLFdBQVcsRUFBRSxDQUFDO1FBQ2hDLElBQUksQ0FBQyxLQUFLLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUM7UUFDN0IsSUFBSSxDQUFDLGNBQWMsR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDLEVBQUUsQ0FBQztRQUNwQyxJQUFJLENBQUMscUJBQXFCLEdBQUcsQ0FBQyxDQUFDLE1BQU0sSUFBSSxDQUFDLGtCQUFrQixDQUFDLE9BQU8sQ0FDbEUsQ0FBQyxXQUFXLENBQUMsb0JBQW9CLEVBQUUsV0FBVyxDQUFDLHFCQUFxQixDQUFDLEVBQ3JFLElBQUksQ0FBQyxLQUFLLENBQ1gsQ0FBQyxDQUFDO1FBQ0gsSUFBSSxDQUFDLDBCQUEwQixHQUFHLENBQUMsQ0FBQyxNQUFNLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxlQUFlLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUM7UUFDN0YsSUFBSSxDQUFDLGdCQUFnQixHQUFHLE1BQU0sSUFBSSxDQUFDLGdCQUFnQixDQUFDLG1CQUFtQixDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUNwRixJQUFJLENBQUMsMEJBQTBCO1lBQzdCLElBQUksQ0FBQyxZQUFZLENBQUMsY0FBYyxJQUFJLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxNQUFNLEdBQUcsQ0FBQyxDQUFDO0lBQ3pFLENBQUM7SUFFRCxXQUFXLENBQUMsS0FBcUI7UUFDL0IsSUFBSSxDQUFDLEtBQUssR0FBRyxLQUFLLENBQUM7UUFDbkIsSUFBSSxDQUFDLEtBQUssR0FBRyxLQUFLLENBQUMsSUFBSSxDQUFDO1FBQ3hCLElBQUksQ0FBQyxtQkFBbUIsQ0FBQyxVQUFVLENBQUMsSUFBSSxDQUFDLEtBQUssRUFBRSxLQUFLLENBQUMsQ0FBQztRQUN2RCxJQUFJLENBQUMsbUJBQW1CLENBQUMsY0FBYyxFQUFFLENBQUM7UUFDMUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxJQUFJLEVBQUUsQ0FBQztJQUN0QixDQUFDO0lBRUQsWUFBWTtRQUNWLE9BQU8sSUFBSSxDQUFDLGdCQUFnQixDQUFDLFlBQVksQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUM7SUFDeEQsQ0FBQztJQUVELFdBQVc7UUFDVCxJQUFJLElBQUksQ0FBQyxPQUFPLEVBQUU7WUFDaEIsSUFBSSxDQUFDLE9BQU8sQ0FBQyxXQUFXLEVBQUUsQ0FBQztTQUM1QjtJQUNILENBQUM7OytHQXZFVSxrQkFBa0IsOElBeUJuQixpQkFBaUI7bUdBekJoQixrQkFBa0Isc0RDWi9CLDJ1R0EwR0E7MkZEOUZhLGtCQUFrQjtrQkFKOUIsU0FBUzsrQkFDRSxnQkFBZ0I7OzBCQTRCdkIsTUFBTTsyQkFBQyxpQkFBaUIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIEV2ZW50RW1pdHRlciwgSW5qZWN0LCBPbkRlc3Ryb3ksIE9uSW5pdCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQWN0aXZhdGVkUm91dGUgfSBmcm9tICdAYW5ndWxhci9yb3V0ZXInO1xuaW1wb3J0IHsgSU1hbmFnZWRPYmplY3QgfSBmcm9tICdAYzh5L2NsaWVudCc7XG5pbXBvcnQgeyBDb250ZXh0Um91dGVTZXJ2aWNlLCBEaXNwbGF5T3B0aW9ucywgUGVybWlzc2lvbnMgfSBmcm9tICdAYzh5L25neC1jb21wb25lbnRzJztcbmltcG9ydCB7IFN1YnNjcmlwdGlvbiB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgU1VCX0FTU0VUU19DT05GSUcsIFN1YkFzc2V0c0NvbmZpZyB9IGZyb20gJy4vc3ViLWFzc2V0cy5tb2RlbCc7XG5pbXBvcnQgeyBTdWJBc3NldHNTZXJ2aWNlIH0gZnJvbSAnLi9zdWItYXNzZXRzLnNlcnZpY2UnO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdjOHktc3ViLWFzc2V0cycsXG4gIHRlbXBsYXRlVXJsOiAnLi9zdWItYXNzZXRzLmNvbXBvbmVudC5odG1sJ1xufSlcbmV4cG9ydCBjbGFzcyBTdWJBc3NldHNDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQsIE9uRGVzdHJveSB7XG4gIGdyb3VwOiBJTWFuYWdlZE9iamVjdDtcbiAgY3VycmVudEdyb3VwSWQ6IHN0cmluZztcbiAgc2hvd0NoaWxkcmVuRm9yRGV2aWNlOiBJTWFuYWdlZE9iamVjdDtcbiAgdGl0bGU6IHN0cmluZztcbiAgdG9nZ2xlID0gZmFsc2U7XG4gIHNob3dBZGRHcm91cCA9IGZhbHNlO1xuICBzaG93QXNzaWduRGV2aWNlcyA9IGZhbHNlO1xuICByZXF1ZXN0SW5Qcm9ncmVzczogYm9vbGVhbjtcbiAgc2hvd0Fzc2lnbkNoaWxkRGV2aWNlcyA9IGZhbHNlO1xuICByZWZyZXNoOiBFdmVudEVtaXR0ZXI8YW55PiA9IG5ldyBFdmVudEVtaXR0ZXIoKTtcbiAgZmlsdGVyYWJsZSA9IHRydWU7XG4gIHNob3VsZERpc2FibGVBZGRHcm91cCA9IGZhbHNlO1xuICBzaG91bGREaXNhYmxlQXNzaWduRGV2aWNlcyA9IGZhbHNlO1xuICBzaG91bGRTaG93QXNzZXRzUHJvcGVydGllcyA9IGZhbHNlO1xuICBkaXNwbGF5T3B0aW9uczogRGlzcGxheU9wdGlvbnM7XG4gIGN1c3RvbVByb3BlcnRpZXM6IElNYW5hZ2VkT2JqZWN0W10gPSBbXTtcblxuICBwcml2YXRlIGRhdGFTdWI6IFN1YnNjcmlwdGlvbjtcblxuICBjb25zdHJ1Y3RvcihcbiAgICBwcml2YXRlIHJvdXRlOiBBY3RpdmF0ZWRSb3V0ZSxcbiAgICBwcml2YXRlIHN1YkFzc2V0c1NlcnZpY2U6IFN1YkFzc2V0c1NlcnZpY2UsXG4gICAgcHJpdmF0ZSBjb250ZXh0Um91dGVTZXJ2aWNlOiBDb250ZXh0Um91dGVTZXJ2aWNlLFxuICAgIHByaXZhdGUgcGVybWlzc2lvbnNTZXJ2aWNlOiBQZXJtaXNzaW9ucyxcbiAgICBASW5qZWN0KFNVQl9BU1NFVFNfQ09ORklHKSBwdWJsaWMgbW9kdWxlQ29uZmlnOiBTdWJBc3NldHNDb25maWdcbiAgKSB7XG4gICAgdGhpcy5kYXRhU3ViID0gdGhpcy5yb3V0ZS5wYXJlbnQuZGF0YS5zdWJzY3JpYmUoKHsgY29udGV4dERhdGEgfSkgPT4ge1xuICAgICAgdGhpcy5pbml0KGNvbnRleHREYXRhKTtcbiAgICB9KTtcbiAgfVxuXG4gIGFzeW5jIG5nT25Jbml0KCkge1xuICAgIHRoaXMuZGlzcGxheU9wdGlvbnMgPSB7XG4gICAgICBzdHJpcGVkOiB0cnVlLFxuICAgICAgYm9yZGVyZWQ6IGZhbHNlLFxuICAgICAgZ3JpZEhlYWRlcjogdHJ1ZSxcbiAgICAgIGZpbHRlcjogdHJ1ZVxuICAgIH07XG4gIH1cblxuICBhc3luYyBpbml0KGNvbnRleHREYXRhKSB7XG4gICAgdGhpcy5ncm91cCA9IHsgLi4uY29udGV4dERhdGEgfTtcbiAgICB0aGlzLnRpdGxlID0gdGhpcy5ncm91cC5uYW1lO1xuICAgIHRoaXMuY3VycmVudEdyb3VwSWQgPSB0aGlzLmdyb3VwLmlkO1xuICAgIHRoaXMuc2hvdWxkRGlzYWJsZUFkZEdyb3VwID0gIShhd2FpdCB0aGlzLnBlcm1pc3Npb25zU2VydmljZS5jYW5FZGl0KFxuICAgICAgW1Blcm1pc3Npb25zLlJPTEVfSU5WRU5UT1JZX0FETUlOLCBQZXJtaXNzaW9ucy5ST0xFX0lOVkVOVE9SWV9DUkVBVEVdLFxuICAgICAgdGhpcy5ncm91cFxuICAgICkpO1xuICAgIHRoaXMuc2hvdWxkRGlzYWJsZUFzc2lnbkRldmljZXMgPSAhKGF3YWl0IHRoaXMuc3ViQXNzZXRzU2VydmljZS5jYW5Bc3NpZ25EZXZpY2UodGhpcy5ncm91cCkpO1xuICAgIHRoaXMuY3VzdG9tUHJvcGVydGllcyA9IGF3YWl0IHRoaXMuc3ViQXNzZXRzU2VydmljZS5nZXRDdXN0b21Qcm9wZXJ0aWVzKHRoaXMuZ3JvdXApO1xuICAgIHRoaXMuc2hvdWxkU2hvd0Fzc2V0c1Byb3BlcnRpZXMgPVxuICAgICAgdGhpcy5tb2R1bGVDb25maWcuc2hvd1Byb3BlcnRpZXMgJiYgdGhpcy5jdXN0b21Qcm9wZXJ0aWVzLmxlbmd0aCA+IDA7XG4gIH1cblxuICBncm91cENoYW5nZShncm91cDogSU1hbmFnZWRPYmplY3QpOiB2b2lkIHtcbiAgICB0aGlzLmdyb3VwID0gZ3JvdXA7XG4gICAgdGhpcy50aXRsZSA9IGdyb3VwLm5hbWU7XG4gICAgdGhpcy5jb250ZXh0Um91dGVTZXJ2aWNlLnNldENvbnRleHQodGhpcy5yb3V0ZSwgZ3JvdXApO1xuICAgIHRoaXMuY29udGV4dFJvdXRlU2VydmljZS5yZWZyZXNoQ29udGV4dCgpO1xuICAgIHRoaXMucmVmcmVzaC5lbWl0KCk7XG4gIH1cblxuICBpc1NtYXJ0R3JvdXAoKSB7XG4gICAgcmV0dXJuIHRoaXMuc3ViQXNzZXRzU2VydmljZS5pc1NtYXJ0R3JvdXAodGhpcy5ncm91cCk7XG4gIH1cblxuICBuZ09uRGVzdHJveSgpOiB2b2lkIHtcbiAgICBpZiAodGhpcy5kYXRhU3ViKSB7XG4gICAgICB0aGlzLmRhdGFTdWIudW5zdWJzY3JpYmUoKTtcbiAgICB9XG4gIH1cbn1cbiIsIjxjOHktdGl0bGU+XG4gIHt7IHRpdGxlIH19XG48L2M4eS10aXRsZT5cblxuPGM4eS1hY3Rpb24tYmFyLWl0ZW0gW3BsYWNlbWVudF09XCIncmlnaHQnXCIgKm5nSWY9XCIhaXNTbWFydEdyb3VwKCkgJiYgbW9kdWxlQ29uZmlnLnNob3dBZGRHcm91cEJ0blwiPlxuICA8YnV0dG9uXG4gICAgY2xhc3M9XCJidG4gYnRuLWxpbmtcIlxuICAgIHRpdGxlPVwie3sgJ0FkZCBncm91cCcgfCB0cmFuc2xhdGUgfX1cIlxuICAgIChjbGljayk9XCJzaG93QWRkR3JvdXAgPSAhc2hvd0FkZEdyb3VwXCJcbiAgICBbZGlzYWJsZWRdPVwic2hvdWxkRGlzYWJsZUFkZEdyb3VwXCJcbiAgPlxuICAgIDxpIGM4eUljb249XCJwbHVzLWNpcmNsZVwiIGNsYXNzPVwibS1yLTRcIj48L2k+XG4gICAgPHNwYW4gdHJhbnNsYXRlPkFkZCBncm91cDwvc3Bhbj5cbiAgPC9idXR0b24+XG48L2M4eS1hY3Rpb24tYmFyLWl0ZW0+XG5cbjxjOHktYWN0aW9uLWJhci1pdGVtXG4gIFtwbGFjZW1lbnRdPVwiJ3JpZ2h0J1wiXG4gICpuZ0lmPVwiIWlzU21hcnRHcm91cCgpICYmIG1vZHVsZUNvbmZpZy5zaG93QXNzaWduRGV2aWNlQnRuXCJcbj5cbiAgPGJ1dHRvblxuICAgIGNsYXNzPVwiYnRuIGJ0bi1saW5rXCJcbiAgICB0aXRsZT1cInt7ICdBc3NpZ24gZGV2aWNlcycgfCB0cmFuc2xhdGUgfX1cIlxuICAgIChjbGljayk9XCJzaG93QXNzaWduRGV2aWNlcyA9ICFzaG93QXNzaWduRGV2aWNlc1wiXG4gICAgW2Rpc2FibGVkXT1cInNob3VsZERpc2FibGVBc3NpZ25EZXZpY2VzXCJcbiAgPlxuICAgIDxpIGM4eUljb249XCJwbHVzLWNpcmNsZVwiIGNsYXNzPVwibS1yLTRcIj48L2k+XG4gICAgPHNwYW4gdHJhbnNsYXRlPkFzc2lnbiBkZXZpY2VzPC9zcGFuPlxuICA8L2J1dHRvbj5cbjwvYzh5LWFjdGlvbi1iYXItaXRlbT5cblxuPGM4eS1oZWxwIHNyYz1cIi91c2Vycy1ndWlkZS9jb2NrcGl0LyNtYW5hZ2luZy1hc3NldHNcIj48L2M4eS1oZWxwPlxuXG48ZGl2XG4gIGNsYXNzPVwiY2FyZCBjb250ZW50LWZ1bGxwYWdlXCJcbiAgW25nQ2xhc3NdPVwie1xuICAgICdjYXJkLS1ncmlkIGdyaWRfX2NvbC0tOC00LS1tZCBncmlkX19yb3ctLWZpdC1hdXRvJzogc2hvdWxkU2hvd0Fzc2V0c1Byb3BlcnRpZXMsXG4gICAgJ2QtZmxleCBkLWNvbCc6ICFzaG91bGRTaG93QXNzZXRzUHJvcGVydGllc1xuICB9XCJcbj5cbiAgPGM4eS1ncm91cC1pbmZvXG4gICAgKm5nSWY9XCJtb2R1bGVDb25maWcuc2hvd0RldGFpbHNcIlxuICAgIFtncm91cF09XCJncm91cFwiXG4gICAgKGdyb3VwQ2hhbmdlKT1cImdyb3VwQ2hhbmdlKCRldmVudClcIlxuICAgIGNsYXNzPVwiZ3JpZF9fY29sLS1mdWxsc3BhblwiXG4gID48L2M4eS1ncm91cC1pbmZvPlxuICA8Yzh5LXN1Yi1hc3NldHMtZ3JpZFxuICAgIFtyZWZyZXNoXT1cInJlZnJlc2hcIlxuICAgIFtwYXJlbnQtZ3JvdXBdPVwiZ3JvdXBcIlxuICAgIFtmaWx0ZXJhYmxlXT1cImZpbHRlcmFibGVcIlxuICAgIFtkaXNwbGF5T3B0aW9uc109XCJkaXNwbGF5T3B0aW9uc1wiXG4gICAgW2NvbHVtbnNDb25maWdLZXldPVwiJ3N1Yi1hc3NldHMtZ3JpZCdcIlxuICAgIFtiYXNlUXVlcnldPVwibW9kdWxlQ29uZmlnLmJhc2VRdWVyeVwiXG4gICAgY2xhc3M9XCJkLWNvbnRlbnRzXCJcbiAgPjwvYzh5LXN1Yi1hc3NldHMtZ3JpZD5cbiAgPGRpdiBjbGFzcz1cImlubmVyLXNjcm9sbCBiZy1sZXZlbC0xXCIgKm5nSWY9XCJzaG91bGRTaG93QXNzZXRzUHJvcGVydGllc1wiPlxuICAgIDxjOHktYXNzZXQtcHJvcGVydGllc1xuICAgICAgW3Byb3BlcnRpZXNdPVwiY3VzdG9tUHJvcGVydGllc1wiXG4gICAgICBbYXNzZXRdPVwiZ3JvdXBcIlxuICAgICAgKGFzc2V0Q2hhbmdlKT1cImdyb3VwQ2hhbmdlKCRldmVudClcIlxuICAgICAgY2xhc3M9XCJkLWNvbnRlbnRzXCJcbiAgICA+PC9jOHktYXNzZXQtcHJvcGVydGllcz5cbiAgPC9kaXY+XG48L2Rpdj5cblxuPGRpdiBbbmdDbGFzc109XCJ7IGRyYXdlck9wZW46IHNob3dBZGRHcm91cCB9XCI+XG4gIDxkaXYgY2xhc3M9XCJib3R0b20tZHJhd2VyXCI+XG4gICAgPGM4eS1hZGQtZ3JvdXBcbiAgICAgIFtjdXJyZW50R3JvdXBJZF09XCJjdXJyZW50R3JvdXBJZFwiXG4gICAgICBbcmVmcmVzaF09XCJyZWZyZXNoXCJcbiAgICAgIChvbkNhbmNlbCk9XCJzaG93QWRkR3JvdXAgPSBmYWxzZVwiXG4gICAgICAqbmdJZj1cInNob3dBZGRHcm91cFwiXG4gICAgPjwvYzh5LWFkZC1ncm91cD5cbiAgPC9kaXY+XG48L2Rpdj5cblxuPGRpdiBbbmdDbGFzc109XCJ7IGRyYXdlck9wZW46IHNob3dBc3NpZ25EZXZpY2VzIH1cIj5cbiAgPGRpdiBjbGFzcz1cImJvdHRvbS1kcmF3ZXJcIj5cbiAgICA8ZGl2IGNsYXNzPVwiZC1mbGV4IGQtY29sIG5vLWFsaWduLWl0ZW1zIGZpdC1oXCI+XG4gICAgICA8Yzh5LWFzc2lnbi1kZXZpY2VzXG4gICAgICAgIGNsYXNzPVwiZC1jb250ZW50c1wiXG4gICAgICAgIChvbkNhbmNlbCk9XCJzaG93QXNzaWduRGV2aWNlcyA9IGZhbHNlXCJcbiAgICAgICAgW3JlZnJlc2hdPVwicmVmcmVzaFwiXG4gICAgICAgIFtjdXJyZW50R3JvdXBJZF09XCJjdXJyZW50R3JvdXBJZFwiXG4gICAgICAgIChvblNob3dDaGlsZERldmljZXMpPVwic2hvd0Fzc2lnbkNoaWxkRGV2aWNlcyA9ICRldmVudFwiXG4gICAgICAgIChzZWxlY3RlZERldmljZSk9XCJzaG93Q2hpbGRyZW5Gb3JEZXZpY2UgPSAkZXZlbnRcIlxuICAgICAgICAqbmdJZj1cInNob3dBc3NpZ25EZXZpY2VzXCJcbiAgICAgID48L2M4eS1hc3NpZ24tZGV2aWNlcz5cbiAgICA8L2Rpdj5cbiAgPC9kaXY+XG48L2Rpdj5cblxuPGRpdiBbbmdDbGFzc109XCJ7IGRyYXdlck9wZW46IHNob3dBc3NpZ25DaGlsZERldmljZXMgfVwiPlxuICA8ZGl2IGNsYXNzPVwiYm90dG9tLWRyYXdlciBtLXQtNDBcIj5cbiAgICA8ZGl2IGNsYXNzPVwiZC1mbGV4IGQtY29sIG5vLWFsaWduLWl0ZW1zIGZpdC1oXCI+XG4gICAgICA8Yzh5LWFzc2lnbi1jaGlsZC1kZXZpY2VzXG4gICAgICAgICpuZ0lmPVwic2hvd0Fzc2lnbkNoaWxkRGV2aWNlc1wiXG4gICAgICAgIGNsYXNzPVwiZC1jb250ZW50c1wiXG4gICAgICAgIChvbkNhbmNlbCk9XCJzaG93QXNzaWduQ2hpbGREZXZpY2VzID0gZmFsc2VcIlxuICAgICAgICBbcmVmcmVzaF09XCJyZWZyZXNoXCJcbiAgICAgICAgW2N1cnJlbnRHcm91cElkXT1cImN1cnJlbnRHcm91cElkXCJcbiAgICAgICAgW3BhcmVudERldmljZV09XCJzaG93Q2hpbGRyZW5Gb3JEZXZpY2VcIlxuICAgICAgPjwvYzh5LWFzc2lnbi1jaGlsZC1kZXZpY2VzPlxuICAgIDwvZGl2PlxuICA8L2Rpdj5cbjwvZGl2PlxuIl19
|
|
86
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3ViLWFzc2V0cy5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zdWItYXNzZXRzL3N1Yi1hc3NldHMuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vc3ViLWFzc2V0cy9zdWItYXNzZXRzLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsWUFBWSxFQUFFLE1BQU0sRUFBcUIsTUFBTSxlQUFlLENBQUM7QUFDbkYsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBRWpELE9BQU8sRUFBRSxtQkFBbUIsRUFBa0IsV0FBVyxFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFFdkYsT0FBTyxFQUFFLGlCQUFpQixFQUFtQixNQUFNLG9CQUFvQixDQUFDO0FBQ3hFLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLHNCQUFzQixDQUFDOzs7Ozs7Ozs7Ozs7QUFNeEQsTUFBTSxPQUFPLGtCQUFrQjtJQW9CN0IsWUFDVSxLQUFxQixFQUNyQixnQkFBa0MsRUFDbEMsbUJBQXdDLEVBQ3hDLGtCQUErQixFQUNMLFlBQTZCO1FBSnZELFVBQUssR0FBTCxLQUFLLENBQWdCO1FBQ3JCLHFCQUFnQixHQUFoQixnQkFBZ0IsQ0FBa0I7UUFDbEMsd0JBQW1CLEdBQW5CLG1CQUFtQixDQUFxQjtRQUN4Qyx1QkFBa0IsR0FBbEIsa0JBQWtCLENBQWE7UUFDTCxpQkFBWSxHQUFaLFlBQVksQ0FBaUI7UUFwQmpFLFdBQU0sR0FBRyxLQUFLLENBQUM7UUFDZixpQkFBWSxHQUFHLEtBQUssQ0FBQztRQUNyQixzQkFBaUIsR0FBRyxLQUFLLENBQUM7UUFFMUIsMkJBQXNCLEdBQUcsS0FBSyxDQUFDO1FBQy9CLFlBQU8sR0FBc0IsSUFBSSxZQUFZLEVBQUUsQ0FBQztRQUNoRCxlQUFVLEdBQUcsSUFBSSxDQUFDO1FBQ2xCLDBCQUFxQixHQUFHLEtBQUssQ0FBQztRQUM5QiwrQkFBMEIsR0FBRyxLQUFLLENBQUM7UUFDbkMsK0JBQTBCLEdBQUcsS0FBSyxDQUFDO1FBRW5DLHFCQUFnQixHQUFxQixFQUFFLENBQUM7UUFXdEMsSUFBSSxDQUFDLE9BQU8sR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLENBQUMsRUFBRSxXQUFXLEVBQUUsRUFBRSxFQUFFO1lBQ2xFLElBQUksQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFDLENBQUM7UUFDekIsQ0FBQyxDQUFDLENBQUM7SUFDTCxDQUFDO0lBRUQsS0FBSyxDQUFDLFFBQVE7UUFDWixJQUFJLENBQUMsY0FBYyxHQUFHO1lBQ3BCLE9BQU8sRUFBRSxJQUFJO1lBQ2IsUUFBUSxFQUFFLEtBQUs7WUFDZixVQUFVLEVBQUUsSUFBSTtZQUNoQixNQUFNLEVBQUUsSUFBSTtTQUNiLENBQUM7SUFDSixDQUFDO0lBRUQsS0FBSyxDQUFDLElBQUksQ0FBQyxXQUFXO1FBQ3BCLElBQUksQ0FBQyxLQUFLLEdBQUcsRUFBRSxHQUFHLFdBQVcsRUFBRSxDQUFDO1FBQ2hDLElBQUksQ0FBQyxLQUFLLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUM7UUFDN0IsSUFBSSxDQUFDLGNBQWMsR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDLEVBQUUsQ0FBQztRQUNwQyxJQUFJLENBQUMscUJBQXFCLEdBQUcsQ0FBQyxDQUFDLE1BQU0sSUFBSSxDQUFDLGtCQUFrQixDQUFDLE9BQU8sQ0FDbEU7WUFDRSxXQUFXLENBQUMsb0JBQW9CO1lBQ2hDLFdBQVcsQ0FBQyxxQkFBcUI7WUFDakMsV0FBVyxDQUFDLHlCQUF5QjtZQUNyQyxXQUFXLENBQUMsMEJBQTBCO1NBQ3ZDLEVBQ0QsSUFBSSxDQUFDLEtBQUssQ0FDWCxDQUFDLENBQUM7UUFDSCxJQUFJLENBQUMsMEJBQTBCLEdBQUcsQ0FBQyxDQUFDLE1BQU0sSUFBSSxDQUFDLGdCQUFnQixDQUFDLGVBQWUsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQztRQUM3RixJQUFJLENBQUMsZ0JBQWdCLEdBQUcsTUFBTSxJQUFJLENBQUMsZ0JBQWdCLENBQUMsbUJBQW1CLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBQ3BGLElBQUksQ0FBQywwQkFBMEI7WUFDN0IsSUFBSSxDQUFDLFlBQVksQ0FBQyxjQUFjLElBQUksSUFBSSxDQUFDLGdCQUFnQixDQUFDLE1BQU0sR0FBRyxDQUFDLENBQUM7SUFDekUsQ0FBQztJQUVELFdBQVcsQ0FBQyxLQUFxQjtRQUMvQixJQUFJLENBQUMsS0FBSyxHQUFHLEtBQUssQ0FBQztRQUNuQixJQUFJLENBQUMsS0FBSyxHQUFHLEtBQUssQ0FBQyxJQUFJLENBQUM7UUFDeEIsSUFBSSxDQUFDLG1CQUFtQixDQUFDLFVBQVUsQ0FBQyxJQUFJLENBQUMsS0FBSyxFQUFFLEtBQUssQ0FBQyxDQUFDO1FBQ3ZELElBQUksQ0FBQyxtQkFBbUIsQ0FBQyxjQUFjLEVBQUUsQ0FBQztRQUMxQyxJQUFJLENBQUMsT0FBTyxDQUFDLElBQUksRUFBRSxDQUFDO0lBQ3RCLENBQUM7SUFFRCxZQUFZO1FBQ1YsT0FBTyxJQUFJLENBQUMsZ0JBQWdCLENBQUMsWUFBWSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUN4RCxDQUFDO0lBRUQsV0FBVztRQUNULElBQUksSUFBSSxDQUFDLE9BQU8sRUFBRTtZQUNoQixJQUFJLENBQUMsT0FBTyxDQUFDLFdBQVcsRUFBRSxDQUFDO1NBQzVCO0lBQ0gsQ0FBQzs7K0dBNUVVLGtCQUFrQiw4SUF5Qm5CLGlCQUFpQjttR0F6QmhCLGtCQUFrQixzRENaL0IsMnVHQTBHQTsyRkQ5RmEsa0JBQWtCO2tCQUo5QixTQUFTOytCQUNFLGdCQUFnQjs7MEJBNEJ2QixNQUFNOzJCQUFDLGlCQUFpQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgRXZlbnRFbWl0dGVyLCBJbmplY3QsIE9uRGVzdHJveSwgT25Jbml0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBBY3RpdmF0ZWRSb3V0ZSB9IGZyb20gJ0Bhbmd1bGFyL3JvdXRlcic7XG5pbXBvcnQgeyBJTWFuYWdlZE9iamVjdCB9IGZyb20gJ0BjOHkvY2xpZW50JztcbmltcG9ydCB7IENvbnRleHRSb3V0ZVNlcnZpY2UsIERpc3BsYXlPcHRpb25zLCBQZXJtaXNzaW9ucyB9IGZyb20gJ0BjOHkvbmd4LWNvbXBvbmVudHMnO1xuaW1wb3J0IHsgU3Vic2NyaXB0aW9uIH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBTVUJfQVNTRVRTX0NPTkZJRywgU3ViQXNzZXRzQ29uZmlnIH0gZnJvbSAnLi9zdWItYXNzZXRzLm1vZGVsJztcbmltcG9ydCB7IFN1YkFzc2V0c1NlcnZpY2UgfSBmcm9tICcuL3N1Yi1hc3NldHMuc2VydmljZSc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2M4eS1zdWItYXNzZXRzJyxcbiAgdGVtcGxhdGVVcmw6ICcuL3N1Yi1hc3NldHMuY29tcG9uZW50Lmh0bWwnXG59KVxuZXhwb3J0IGNsYXNzIFN1YkFzc2V0c0NvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCwgT25EZXN0cm95IHtcbiAgZ3JvdXA6IElNYW5hZ2VkT2JqZWN0O1xuICBjdXJyZW50R3JvdXBJZDogc3RyaW5nO1xuICBzaG93Q2hpbGRyZW5Gb3JEZXZpY2U6IElNYW5hZ2VkT2JqZWN0O1xuICB0aXRsZTogc3RyaW5nO1xuICB0b2dnbGUgPSBmYWxzZTtcbiAgc2hvd0FkZEdyb3VwID0gZmFsc2U7XG4gIHNob3dBc3NpZ25EZXZpY2VzID0gZmFsc2U7XG4gIHJlcXVlc3RJblByb2dyZXNzOiBib29sZWFuO1xuICBzaG93QXNzaWduQ2hpbGREZXZpY2VzID0gZmFsc2U7XG4gIHJlZnJlc2g6IEV2ZW50RW1pdHRlcjxhbnk+ID0gbmV3IEV2ZW50RW1pdHRlcigpO1xuICBmaWx0ZXJhYmxlID0gdHJ1ZTtcbiAgc2hvdWxkRGlzYWJsZUFkZEdyb3VwID0gZmFsc2U7XG4gIHNob3VsZERpc2FibGVBc3NpZ25EZXZpY2VzID0gZmFsc2U7XG4gIHNob3VsZFNob3dBc3NldHNQcm9wZXJ0aWVzID0gZmFsc2U7XG4gIGRpc3BsYXlPcHRpb25zOiBEaXNwbGF5T3B0aW9ucztcbiAgY3VzdG9tUHJvcGVydGllczogSU1hbmFnZWRPYmplY3RbXSA9IFtdO1xuXG4gIHByaXZhdGUgZGF0YVN1YjogU3Vic2NyaXB0aW9uO1xuXG4gIGNvbnN0cnVjdG9yKFxuICAgIHByaXZhdGUgcm91dGU6IEFjdGl2YXRlZFJvdXRlLFxuICAgIHByaXZhdGUgc3ViQXNzZXRzU2VydmljZTogU3ViQXNzZXRzU2VydmljZSxcbiAgICBwcml2YXRlIGNvbnRleHRSb3V0ZVNlcnZpY2U6IENvbnRleHRSb3V0ZVNlcnZpY2UsXG4gICAgcHJpdmF0ZSBwZXJtaXNzaW9uc1NlcnZpY2U6IFBlcm1pc3Npb25zLFxuICAgIEBJbmplY3QoU1VCX0FTU0VUU19DT05GSUcpIHB1YmxpYyBtb2R1bGVDb25maWc6IFN1YkFzc2V0c0NvbmZpZ1xuICApIHtcbiAgICB0aGlzLmRhdGFTdWIgPSB0aGlzLnJvdXRlLnBhcmVudC5kYXRhLnN1YnNjcmliZSgoeyBjb250ZXh0RGF0YSB9KSA9PiB7XG4gICAgICB0aGlzLmluaXQoY29udGV4dERhdGEpO1xuICAgIH0pO1xuICB9XG5cbiAgYXN5bmMgbmdPbkluaXQoKSB7XG4gICAgdGhpcy5kaXNwbGF5T3B0aW9ucyA9IHtcbiAgICAgIHN0cmlwZWQ6IHRydWUsXG4gICAgICBib3JkZXJlZDogZmFsc2UsXG4gICAgICBncmlkSGVhZGVyOiB0cnVlLFxuICAgICAgZmlsdGVyOiB0cnVlXG4gICAgfTtcbiAgfVxuXG4gIGFzeW5jIGluaXQoY29udGV4dERhdGEpIHtcbiAgICB0aGlzLmdyb3VwID0geyAuLi5jb250ZXh0RGF0YSB9O1xuICAgIHRoaXMudGl0bGUgPSB0aGlzLmdyb3VwLm5hbWU7XG4gICAgdGhpcy5jdXJyZW50R3JvdXBJZCA9IHRoaXMuZ3JvdXAuaWQ7XG4gICAgdGhpcy5zaG91bGREaXNhYmxlQWRkR3JvdXAgPSAhKGF3YWl0IHRoaXMucGVybWlzc2lvbnNTZXJ2aWNlLmNhbkVkaXQoXG4gICAgICBbXG4gICAgICAgIFBlcm1pc3Npb25zLlJPTEVfSU5WRU5UT1JZX0FETUlOLFxuICAgICAgICBQZXJtaXNzaW9ucy5ST0xFX0lOVkVOVE9SWV9DUkVBVEUsXG4gICAgICAgIFBlcm1pc3Npb25zLlJPTEVfTUFOQUdFRF9PQkpFQ1RfQURNSU4sXG4gICAgICAgIFBlcm1pc3Npb25zLlJPTEVfTUFOQUdFRF9PQkpFQ1RfQ1JFQVRFXG4gICAgICBdLFxuICAgICAgdGhpcy5ncm91cFxuICAgICkpO1xuICAgIHRoaXMuc2hvdWxkRGlzYWJsZUFzc2lnbkRldmljZXMgPSAhKGF3YWl0IHRoaXMuc3ViQXNzZXRzU2VydmljZS5jYW5Bc3NpZ25EZXZpY2UodGhpcy5ncm91cCkpO1xuICAgIHRoaXMuY3VzdG9tUHJvcGVydGllcyA9IGF3YWl0IHRoaXMuc3ViQXNzZXRzU2VydmljZS5nZXRDdXN0b21Qcm9wZXJ0aWVzKHRoaXMuZ3JvdXApO1xuICAgIHRoaXMuc2hvdWxkU2hvd0Fzc2V0c1Byb3BlcnRpZXMgPVxuICAgICAgdGhpcy5tb2R1bGVDb25maWcuc2hvd1Byb3BlcnRpZXMgJiYgdGhpcy5jdXN0b21Qcm9wZXJ0aWVzLmxlbmd0aCA+IDA7XG4gIH1cblxuICBncm91cENoYW5nZShncm91cDogSU1hbmFnZWRPYmplY3QpOiB2b2lkIHtcbiAgICB0aGlzLmdyb3VwID0gZ3JvdXA7XG4gICAgdGhpcy50aXRsZSA9IGdyb3VwLm5hbWU7XG4gICAgdGhpcy5jb250ZXh0Um91dGVTZXJ2aWNlLnNldENvbnRleHQodGhpcy5yb3V0ZSwgZ3JvdXApO1xuICAgIHRoaXMuY29udGV4dFJvdXRlU2VydmljZS5yZWZyZXNoQ29udGV4dCgpO1xuICAgIHRoaXMucmVmcmVzaC5lbWl0KCk7XG4gIH1cblxuICBpc1NtYXJ0R3JvdXAoKSB7XG4gICAgcmV0dXJuIHRoaXMuc3ViQXNzZXRzU2VydmljZS5pc1NtYXJ0R3JvdXAodGhpcy5ncm91cCk7XG4gIH1cblxuICBuZ09uRGVzdHJveSgpOiB2b2lkIHtcbiAgICBpZiAodGhpcy5kYXRhU3ViKSB7XG4gICAgICB0aGlzLmRhdGFTdWIudW5zdWJzY3JpYmUoKTtcbiAgICB9XG4gIH1cbn1cbiIsIjxjOHktdGl0bGU+XG4gIHt7IHRpdGxlIH19XG48L2M4eS10aXRsZT5cblxuPGM4eS1hY3Rpb24tYmFyLWl0ZW0gW3BsYWNlbWVudF09XCIncmlnaHQnXCIgKm5nSWY9XCIhaXNTbWFydEdyb3VwKCkgJiYgbW9kdWxlQ29uZmlnLnNob3dBZGRHcm91cEJ0blwiPlxuICA8YnV0dG9uXG4gICAgY2xhc3M9XCJidG4gYnRuLWxpbmtcIlxuICAgIHRpdGxlPVwie3sgJ0FkZCBncm91cCcgfCB0cmFuc2xhdGUgfX1cIlxuICAgIChjbGljayk9XCJzaG93QWRkR3JvdXAgPSAhc2hvd0FkZEdyb3VwXCJcbiAgICBbZGlzYWJsZWRdPVwic2hvdWxkRGlzYWJsZUFkZEdyb3VwXCJcbiAgPlxuICAgIDxpIGM4eUljb249XCJwbHVzLWNpcmNsZVwiIGNsYXNzPVwibS1yLTRcIj48L2k+XG4gICAgPHNwYW4gdHJhbnNsYXRlPkFkZCBncm91cDwvc3Bhbj5cbiAgPC9idXR0b24+XG48L2M4eS1hY3Rpb24tYmFyLWl0ZW0+XG5cbjxjOHktYWN0aW9uLWJhci1pdGVtXG4gIFtwbGFjZW1lbnRdPVwiJ3JpZ2h0J1wiXG4gICpuZ0lmPVwiIWlzU21hcnRHcm91cCgpICYmIG1vZHVsZUNvbmZpZy5zaG93QXNzaWduRGV2aWNlQnRuXCJcbj5cbiAgPGJ1dHRvblxuICAgIGNsYXNzPVwiYnRuIGJ0bi1saW5rXCJcbiAgICB0aXRsZT1cInt7ICdBc3NpZ24gZGV2aWNlcycgfCB0cmFuc2xhdGUgfX1cIlxuICAgIChjbGljayk9XCJzaG93QXNzaWduRGV2aWNlcyA9ICFzaG93QXNzaWduRGV2aWNlc1wiXG4gICAgW2Rpc2FibGVkXT1cInNob3VsZERpc2FibGVBc3NpZ25EZXZpY2VzXCJcbiAgPlxuICAgIDxpIGM4eUljb249XCJwbHVzLWNpcmNsZVwiIGNsYXNzPVwibS1yLTRcIj48L2k+XG4gICAgPHNwYW4gdHJhbnNsYXRlPkFzc2lnbiBkZXZpY2VzPC9zcGFuPlxuICA8L2J1dHRvbj5cbjwvYzh5LWFjdGlvbi1iYXItaXRlbT5cblxuPGM4eS1oZWxwIHNyYz1cIi91c2Vycy1ndWlkZS9jb2NrcGl0LyNtYW5hZ2luZy1hc3NldHNcIj48L2M4eS1oZWxwPlxuXG48ZGl2XG4gIGNsYXNzPVwiY2FyZCBjb250ZW50LWZ1bGxwYWdlXCJcbiAgW25nQ2xhc3NdPVwie1xuICAgICdjYXJkLS1ncmlkIGdyaWRfX2NvbC0tOC00LS1tZCBncmlkX19yb3ctLWZpdC1hdXRvJzogc2hvdWxkU2hvd0Fzc2V0c1Byb3BlcnRpZXMsXG4gICAgJ2QtZmxleCBkLWNvbCc6ICFzaG91bGRTaG93QXNzZXRzUHJvcGVydGllc1xuICB9XCJcbj5cbiAgPGM4eS1ncm91cC1pbmZvXG4gICAgKm5nSWY9XCJtb2R1bGVDb25maWcuc2hvd0RldGFpbHNcIlxuICAgIFtncm91cF09XCJncm91cFwiXG4gICAgKGdyb3VwQ2hhbmdlKT1cImdyb3VwQ2hhbmdlKCRldmVudClcIlxuICAgIGNsYXNzPVwiZ3JpZF9fY29sLS1mdWxsc3BhblwiXG4gID48L2M4eS1ncm91cC1pbmZvPlxuICA8Yzh5LXN1Yi1hc3NldHMtZ3JpZFxuICAgIFtyZWZyZXNoXT1cInJlZnJlc2hcIlxuICAgIFtwYXJlbnQtZ3JvdXBdPVwiZ3JvdXBcIlxuICAgIFtmaWx0ZXJhYmxlXT1cImZpbHRlcmFibGVcIlxuICAgIFtkaXNwbGF5T3B0aW9uc109XCJkaXNwbGF5T3B0aW9uc1wiXG4gICAgW2NvbHVtbnNDb25maWdLZXldPVwiJ3N1Yi1hc3NldHMtZ3JpZCdcIlxuICAgIFtiYXNlUXVlcnldPVwibW9kdWxlQ29uZmlnLmJhc2VRdWVyeVwiXG4gICAgY2xhc3M9XCJkLWNvbnRlbnRzXCJcbiAgPjwvYzh5LXN1Yi1hc3NldHMtZ3JpZD5cbiAgPGRpdiBjbGFzcz1cImlubmVyLXNjcm9sbCBiZy1sZXZlbC0xXCIgKm5nSWY9XCJzaG91bGRTaG93QXNzZXRzUHJvcGVydGllc1wiPlxuICAgIDxjOHktYXNzZXQtcHJvcGVydGllc1xuICAgICAgW3Byb3BlcnRpZXNdPVwiY3VzdG9tUHJvcGVydGllc1wiXG4gICAgICBbYXNzZXRdPVwiZ3JvdXBcIlxuICAgICAgKGFzc2V0Q2hhbmdlKT1cImdyb3VwQ2hhbmdlKCRldmVudClcIlxuICAgICAgY2xhc3M9XCJkLWNvbnRlbnRzXCJcbiAgICA+PC9jOHktYXNzZXQtcHJvcGVydGllcz5cbiAgPC9kaXY+XG48L2Rpdj5cblxuPGRpdiBbbmdDbGFzc109XCJ7IGRyYXdlck9wZW46IHNob3dBZGRHcm91cCB9XCI+XG4gIDxkaXYgY2xhc3M9XCJib3R0b20tZHJhd2VyXCI+XG4gICAgPGM4eS1hZGQtZ3JvdXBcbiAgICAgIFtjdXJyZW50R3JvdXBJZF09XCJjdXJyZW50R3JvdXBJZFwiXG4gICAgICBbcmVmcmVzaF09XCJyZWZyZXNoXCJcbiAgICAgIChvbkNhbmNlbCk9XCJzaG93QWRkR3JvdXAgPSBmYWxzZVwiXG4gICAgICAqbmdJZj1cInNob3dBZGRHcm91cFwiXG4gICAgPjwvYzh5LWFkZC1ncm91cD5cbiAgPC9kaXY+XG48L2Rpdj5cblxuPGRpdiBbbmdDbGFzc109XCJ7IGRyYXdlck9wZW46IHNob3dBc3NpZ25EZXZpY2VzIH1cIj5cbiAgPGRpdiBjbGFzcz1cImJvdHRvbS1kcmF3ZXJcIj5cbiAgICA8ZGl2IGNsYXNzPVwiZC1mbGV4IGQtY29sIG5vLWFsaWduLWl0ZW1zIGZpdC1oXCI+XG4gICAgICA8Yzh5LWFzc2lnbi1kZXZpY2VzXG4gICAgICAgIGNsYXNzPVwiZC1jb250ZW50c1wiXG4gICAgICAgIChvbkNhbmNlbCk9XCJzaG93QXNzaWduRGV2aWNlcyA9IGZhbHNlXCJcbiAgICAgICAgW3JlZnJlc2hdPVwicmVmcmVzaFwiXG4gICAgICAgIFtjdXJyZW50R3JvdXBJZF09XCJjdXJyZW50R3JvdXBJZFwiXG4gICAgICAgIChvblNob3dDaGlsZERldmljZXMpPVwic2hvd0Fzc2lnbkNoaWxkRGV2aWNlcyA9ICRldmVudFwiXG4gICAgICAgIChzZWxlY3RlZERldmljZSk9XCJzaG93Q2hpbGRyZW5Gb3JEZXZpY2UgPSAkZXZlbnRcIlxuICAgICAgICAqbmdJZj1cInNob3dBc3NpZ25EZXZpY2VzXCJcbiAgICAgID48L2M4eS1hc3NpZ24tZGV2aWNlcz5cbiAgICA8L2Rpdj5cbiAgPC9kaXY+XG48L2Rpdj5cblxuPGRpdiBbbmdDbGFzc109XCJ7IGRyYXdlck9wZW46IHNob3dBc3NpZ25DaGlsZERldmljZXMgfVwiPlxuICA8ZGl2IGNsYXNzPVwiYm90dG9tLWRyYXdlciBtLXQtNDBcIj5cbiAgICA8ZGl2IGNsYXNzPVwiZC1mbGV4IGQtY29sIG5vLWFsaWduLWl0ZW1zIGZpdC1oXCI+XG4gICAgICA8Yzh5LWFzc2lnbi1jaGlsZC1kZXZpY2VzXG4gICAgICAgICpuZ0lmPVwic2hvd0Fzc2lnbkNoaWxkRGV2aWNlc1wiXG4gICAgICAgIGNsYXNzPVwiZC1jb250ZW50c1wiXG4gICAgICAgIChvbkNhbmNlbCk9XCJzaG93QXNzaWduQ2hpbGREZXZpY2VzID0gZmFsc2VcIlxuICAgICAgICBbcmVmcmVzaF09XCJyZWZyZXNoXCJcbiAgICAgICAgW2N1cnJlbnRHcm91cElkXT1cImN1cnJlbnRHcm91cElkXCJcbiAgICAgICAgW3BhcmVudERldmljZV09XCJzaG93Q2hpbGRyZW5Gb3JEZXZpY2VcIlxuICAgICAgPjwvYzh5LWFzc2lnbi1jaGlsZC1kZXZpY2VzPlxuICAgIDwvZGl2PlxuICA8L2Rpdj5cbjwvZGl2PlxuIl19
|