@c8y/ngx-components 1018.0.194 → 1018.0.201
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 +69 -2
- package/core/common/tenant-ui.service.d.ts +1 -1
- package/core/i18n/pattern-messages.data.d.ts +20 -20
- package/esm2020/assets-navigator/asset-node.service.mjs +11 -4
- package/esm2020/auth-configuration/auth-configuration.guard.mjs +5 -2
- package/esm2020/auth-configuration/factories/navigation.factory.mjs +3 -3
- package/esm2020/cockpit-config/cockpit-config.guard.mjs +2 -2
- package/esm2020/cockpit-config/cockpit-config.service.mjs +2 -2
- package/esm2020/context-dashboard/add-dashboard.factory.mjs +13 -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 +5 -3
- package/esm2020/core/common/global-config.service.mjs +7 -2
- package/esm2020/core/common/permissions.service.mjs +69 -2
- package/esm2020/core/common/tenant-ui.service.mjs +3 -2
- package/esm2020/core/common/user-preferences/user-preferences.service.mjs +10 -2
- package/esm2020/core/i18n/pattern-messages.data.mjs +21 -21
- package/esm2020/ecosystem/application-properties/application-properties.component.mjs +2 -2
- package/esm2020/ecosystem/ecosystem-navigation.factory.mjs +3 -3
- package/esm2020/ecosystem/packages/package-list/packages-list.component.mjs +2 -2
- package/esm2020/ecosystem/packages/package-versions/package-versions-list/package-versions-list.component.mjs +2 -2
- package/esm2020/files-repository/files-repository.guard.mjs +6 -3
- package/esm2020/protocol-lwm2m/components/bootstrap-parameters/lwm2m-bootstrap-parameters.component.mjs +2 -2
- package/esm2020/register-device/register-device-navigation.factory.mjs +3 -3
- package/esm2020/reports/export-schedules.component.mjs +3 -3
- package/esm2020/repository/configuration/device-tab/configuration-preview.component.mjs +14 -6
- package/esm2020/sms-gateway/sms-gateway.guard.mjs +2 -2
- package/esm2020/sms-gateway/sms-gateway.module.mjs +6 -6
- 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 +22 -10
- package/esm2020/tenants/tenant-list/tenant-list.component.mjs +12 -7
- package/esm2020/upgrade/ng1/downgraded.services.mjs +3 -2
- package/esm2020/upgrade/ng1/index.mjs +4 -3
- package/fesm2015/c8y-ngx-components-assets-navigator.mjs +10 -3
- package/fesm2015/c8y-ngx-components-assets-navigator.mjs.map +1 -1
- package/fesm2015/c8y-ngx-components-auth-configuration.mjs +7 -4
- package/fesm2015/c8y-ngx-components-auth-configuration.mjs.map +1 -1
- package/fesm2015/c8y-ngx-components-cockpit-config.mjs +3 -3
- package/fesm2015/c8y-ngx-components-cockpit-config.mjs.map +1 -1
- package/fesm2015/c8y-ngx-components-context-dashboard.mjs +33 -8
- package/fesm2015/c8y-ngx-components-context-dashboard.mjs.map +1 -1
- package/fesm2015/c8y-ngx-components-ecosystem.mjs +6 -6
- package/fesm2015/c8y-ngx-components-ecosystem.mjs.map +1 -1
- package/fesm2015/c8y-ngx-components-files-repository.mjs +6 -3
- package/fesm2015/c8y-ngx-components-files-repository.mjs.map +1 -1
- package/fesm2015/c8y-ngx-components-protocol-lwm2m-components-bootstrap-parameters.mjs +2 -2
- package/fesm2015/c8y-ngx-components-protocol-lwm2m-components-bootstrap-parameters.mjs.map +1 -1
- package/fesm2015/c8y-ngx-components-register-device.mjs +3 -3
- package/fesm2015/c8y-ngx-components-register-device.mjs.map +1 -1
- package/fesm2015/c8y-ngx-components-reports.mjs +2 -2
- package/fesm2015/c8y-ngx-components-reports.mjs.map +1 -1
- package/fesm2015/c8y-ngx-components-repository-configuration.mjs +13 -5
- package/fesm2015/c8y-ngx-components-repository-configuration.mjs.map +1 -1
- package/fesm2015/c8y-ngx-components-sms-gateway.mjs +6 -6
- package/fesm2015/c8y-ngx-components-sms-gateway.mjs.map +1 -1
- package/fesm2015/c8y-ngx-components-sub-assets.mjs +38 -13
- package/fesm2015/c8y-ngx-components-sub-assets.mjs.map +1 -1
- package/fesm2015/c8y-ngx-components-tenants.mjs +11 -6
- package/fesm2015/c8y-ngx-components-tenants.mjs.map +1 -1
- package/fesm2015/c8y-ngx-components-upgrade.mjs +4 -2
- package/fesm2015/c8y-ngx-components-upgrade.mjs.map +1 -1
- package/fesm2015/c8y-ngx-components.mjs +103 -24
- package/fesm2015/c8y-ngx-components.mjs.map +1 -1
- package/fesm2020/c8y-ngx-components-assets-navigator.mjs +10 -3
- package/fesm2020/c8y-ngx-components-assets-navigator.mjs.map +1 -1
- package/fesm2020/c8y-ngx-components-auth-configuration.mjs +7 -4
- package/fesm2020/c8y-ngx-components-auth-configuration.mjs.map +1 -1
- package/fesm2020/c8y-ngx-components-cockpit-config.mjs +3 -3
- package/fesm2020/c8y-ngx-components-cockpit-config.mjs.map +1 -1
- package/fesm2020/c8y-ngx-components-context-dashboard.mjs +34 -9
- package/fesm2020/c8y-ngx-components-context-dashboard.mjs.map +1 -1
- package/fesm2020/c8y-ngx-components-ecosystem.mjs +6 -6
- package/fesm2020/c8y-ngx-components-ecosystem.mjs.map +1 -1
- package/fesm2020/c8y-ngx-components-files-repository.mjs +6 -3
- package/fesm2020/c8y-ngx-components-files-repository.mjs.map +1 -1
- package/fesm2020/c8y-ngx-components-protocol-lwm2m-components-bootstrap-parameters.mjs +2 -2
- package/fesm2020/c8y-ngx-components-protocol-lwm2m-components-bootstrap-parameters.mjs.map +1 -1
- package/fesm2020/c8y-ngx-components-register-device.mjs +3 -3
- package/fesm2020/c8y-ngx-components-register-device.mjs.map +1 -1
- package/fesm2020/c8y-ngx-components-reports.mjs +2 -2
- package/fesm2020/c8y-ngx-components-reports.mjs.map +1 -1
- package/fesm2020/c8y-ngx-components-repository-configuration.mjs +13 -5
- package/fesm2020/c8y-ngx-components-repository-configuration.mjs.map +1 -1
- package/fesm2020/c8y-ngx-components-sms-gateway.mjs +6 -6
- package/fesm2020/c8y-ngx-components-sms-gateway.mjs.map +1 -1
- package/fesm2020/c8y-ngx-components-sub-assets.mjs +38 -13
- package/fesm2020/c8y-ngx-components-sub-assets.mjs.map +1 -1
- package/fesm2020/c8y-ngx-components-tenants.mjs +11 -6
- package/fesm2020/c8y-ngx-components-tenants.mjs.map +1 -1
- package/fesm2020/c8y-ngx-components-upgrade.mjs +4 -2
- package/fesm2020/c8y-ngx-components-upgrade.mjs.map +1 -1
- package/fesm2020/c8y-ngx-components.mjs +103 -24
- package/fesm2020/c8y-ngx-components.mjs.map +1 -1
- package/package.json +1 -1
- package/tenants/tenant-list/tenant-list.component.d.ts +4 -2
- package/upgrade/ng1/downgraded.services.d.ts +1 -0
|
@@ -8,7 +8,12 @@ export class GlobalConfigService {
|
|
|
8
8
|
this.fragmentTypeMapping = {
|
|
9
9
|
c8y_Software: 'c8y_SoftwareAsGlobal',
|
|
10
10
|
c8y_Firmware: 'c8y_FirmwareAsGlobal',
|
|
11
|
-
c8y_ConfigurationDump: 'c8y_ConfigurationAsGlobal'
|
|
11
|
+
c8y_ConfigurationDump: 'c8y_ConfigurationAsGlobal',
|
|
12
|
+
c8y_DeviceShellTemplate: 'c8y_ShellTemplateAsGlobal',
|
|
13
|
+
c8y_ModbusDeviceType: 'c8y_FieldbusAsGlobal',
|
|
14
|
+
c8y_CANopenDeviceType: 'c8y_CANOpenAsGlobal',
|
|
15
|
+
c8y_LoraDeviceType: 'c8y_LoraAsGlobal',
|
|
16
|
+
c8y_SigfoxDeviceType: 'c8y_SigfoxAsGlobal'
|
|
12
17
|
};
|
|
13
18
|
this.cache = undefined;
|
|
14
19
|
}
|
|
@@ -48,4 +53,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.0.6", ngImpor
|
|
|
48
53
|
type: Injectable,
|
|
49
54
|
args: [{ providedIn: 'root' }]
|
|
50
55
|
}], ctorParameters: function () { return [{ type: i1.InventoryService }]; } });
|
|
51
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
56
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ2xvYmFsLWNvbmZpZy5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vY29yZS9jb21tb24vZ2xvYmFsLWNvbmZpZy5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDM0MsT0FBTyxFQUFrQixnQkFBZ0IsRUFBZSxNQUFNLGFBQWEsQ0FBQzs7O0FBWTVFLE1BQU0sT0FBTyxtQkFBbUI7SUFjOUIsWUFBb0IsU0FBMkI7UUFBM0IsY0FBUyxHQUFULFNBQVMsQ0FBa0I7UUFYdkMsd0JBQW1CLEdBQW9EO1lBQzdFLFlBQVksRUFBRSxzQkFBc0I7WUFDcEMsWUFBWSxFQUFFLHNCQUFzQjtZQUNwQyxxQkFBcUIsRUFBRSwyQkFBMkI7WUFDbEQsdUJBQXVCLEVBQUUsMkJBQTJCO1lBQ3BELG9CQUFvQixFQUFFLHNCQUFzQjtZQUM1QyxxQkFBcUIsRUFBRSxxQkFBcUI7WUFDNUMsa0JBQWtCLEVBQUUsa0JBQWtCO1lBQ3RDLG9CQUFvQixFQUFFLG9CQUFvQjtTQUNsQyxDQUFDO1FBR1QsSUFBSSxDQUFDLEtBQUssR0FBRyxTQUFTLENBQUM7SUFDekIsQ0FBQztJQUVEOzs7O09BSUc7SUFDSCxLQUFLLENBQUMsZUFBZSxDQUFDLFlBQW9CO1FBQ3hDLE1BQU0sV0FBVyxHQUFHO1lBQ2xCLFFBQVEsRUFBRSxDQUFDO1lBQ1gsSUFBSSxFQUFFLCtCQUErQjtZQUNyQyxXQUFXLEVBQUUsWUFBWTtZQUN6QixZQUFZO1NBQ2IsQ0FBQztRQUVGLElBQUksQ0FBQyxJQUFJLENBQUMsS0FBSyxFQUFFO1lBQ2YsSUFBSSxDQUFDLEtBQUssR0FBRyxJQUFJLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxXQUFXLENBQUMsQ0FBQztTQUMvQztRQUVELE9BQU8sQ0FBQyxNQUFNLElBQUksQ0FBQyxLQUFLLENBQUMsRUFBRSxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUM7SUFDckMsQ0FBQztJQUVEOzs7Ozs7O09BT0c7SUFDSCxjQUFjLENBQUMsVUFBc0M7UUFDbkQsTUFBTSxZQUFZLEdBQUcsSUFBSSxDQUFDLG1CQUFtQixDQUFDLFVBQVUsQ0FBQyxDQUFDO1FBRTFELE9BQU8sSUFBSSxDQUFDLGVBQWUsQ0FBQyxZQUFZLENBQUMsQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLEVBQUUsQ0FDdEQsTUFBTSxJQUFJLE1BQU0sQ0FBQyxZQUFZLENBQUMsS0FBSyxTQUFTLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsWUFBWSxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FDN0UsQ0FBQztJQUNKLENBQUM7O2dIQXBEVSxtQkFBbUI7b0hBQW5CLG1CQUFtQixjQUROLE1BQU07MkZBQ25CLG1CQUFtQjtrQkFEL0IsVUFBVTttQkFBQyxFQUFFLFVBQVUsRUFBRSxNQUFNLEVBQUUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBJTWFuYWdlZE9iamVjdCwgSW52ZW50b3J5U2VydmljZSwgSVJlc3VsdExpc3QgfSBmcm9tICdAYzh5L2NsaWVudCc7XG5cbmV4cG9ydCB0eXBlIE1hbmFnZWRPYmplY3RUeXBlRm9yQ29uZmlnID1cbiAgfCAnYzh5X1NvZnR3YXJlJ1xuICB8ICdjOHlfRmlybXdhcmUnXG4gIHwgJ2M4eV9Db25maWd1cmF0aW9uRHVtcCdcbiAgfCAnYzh5X01vZGJ1c0RldmljZVR5cGUnXG4gIHwgJ2M4eV9DQU5vcGVuRGV2aWNlVHlwZSdcbiAgfCAnYzh5X0xvcmFEZXZpY2VUeXBlJ1xuICB8ICdjOHlfU2lnZm94RGV2aWNlVHlwZSdcbiAgfCAnYzh5X0RldmljZVNoZWxsVGVtcGxhdGUnO1xuQEluamVjdGFibGUoeyBwcm92aWRlZEluOiAncm9vdCcgfSlcbmV4cG9ydCBjbGFzcyBHbG9iYWxDb25maWdTZXJ2aWNlIHtcbiAgcHJvdGVjdGVkIGNhY2hlOiBQcm9taXNlPElSZXN1bHRMaXN0PElNYW5hZ2VkT2JqZWN0IHwgdW5kZWZpbmVkPj47XG5cbiAgcHJpdmF0ZSBmcmFnbWVudFR5cGVNYXBwaW5nOiB7IFtrZXkgaW4gTWFuYWdlZE9iamVjdFR5cGVGb3JDb25maWddOiBzdHJpbmcgfSA9IHtcbiAgICBjOHlfU29mdHdhcmU6ICdjOHlfU29mdHdhcmVBc0dsb2JhbCcsXG4gICAgYzh5X0Zpcm13YXJlOiAnYzh5X0Zpcm13YXJlQXNHbG9iYWwnLFxuICAgIGM4eV9Db25maWd1cmF0aW9uRHVtcDogJ2M4eV9Db25maWd1cmF0aW9uQXNHbG9iYWwnLFxuICAgIGM4eV9EZXZpY2VTaGVsbFRlbXBsYXRlOiAnYzh5X1NoZWxsVGVtcGxhdGVBc0dsb2JhbCcsXG4gICAgYzh5X01vZGJ1c0RldmljZVR5cGU6ICdjOHlfRmllbGRidXNBc0dsb2JhbCcsXG4gICAgYzh5X0NBTm9wZW5EZXZpY2VUeXBlOiAnYzh5X0NBTk9wZW5Bc0dsb2JhbCcsXG4gICAgYzh5X0xvcmFEZXZpY2VUeXBlOiAnYzh5X0xvcmFBc0dsb2JhbCcsXG4gICAgYzh5X1NpZ2ZveERldmljZVR5cGU6ICdjOHlfU2lnZm94QXNHbG9iYWwnXG4gIH0gYXMgY29uc3Q7XG5cbiAgY29uc3RydWN0b3IocHJpdmF0ZSBpbnZlbnRvcnk6IEludmVudG9yeVNlcnZpY2UpIHtcbiAgICB0aGlzLmNhY2hlID0gdW5kZWZpbmVkO1xuICB9XG5cbiAgLyoqXG4gICAqIFJldHJpZXZlcyB0aGUgZ2xvYmFsIGNvbmZpZ3VyYXRpb24gZm9yIGEgc3BlY2lmaWMgZnJhZ21lbnQgdHlwZS5cbiAgICogQHBhcmFtIGZyYWdtZW50VHlwZSAtIFRoZSBmcmFnbWVudCB0eXBlIG9uIHdoaWNoIHRoZSBtYW5hZ2VkIG9iamVjdCB0eXBlIGNvcnJlc3BvbmRzLlxuICAgKiBAcmV0dXJucyBBIHByb21pc2UgdGhhdCByZXNvbHZlcyBpbiB0aGUgZmlyc3QgZ2xvYmFsIGNvbmZpZ3VyYXRpb24gbWFuYWdlZCBvYmplY3QuXG4gICAqL1xuICBhc3luYyBnZXRHbG9iYWxDb25maWcoZnJhZ21lbnRUeXBlOiBzdHJpbmcpOiBQcm9taXNlPElNYW5hZ2VkT2JqZWN0IHwgdW5kZWZpbmVkPiB7XG4gICAgY29uc3QgcXVlcnlQYXJhbXMgPSB7XG4gICAgICBwYWdlU2l6ZTogMSxcbiAgICAgIHR5cGU6ICdjOHlfR2xvYmFsT2JqZWN0Q29uZmlndXJhdGlvbicsXG4gICAgICBjcmVhdGVkRnJvbTogJzE5OTAtMDEtMDEnLFxuICAgICAgZnJhZ21lbnRUeXBlXG4gICAgfTtcblxuICAgIGlmICghdGhpcy5jYWNoZSkge1xuICAgICAgdGhpcy5jYWNoZSA9IHRoaXMuaW52ZW50b3J5Lmxpc3QocXVlcnlQYXJhbXMpO1xuICAgIH1cblxuICAgIHJldHVybiAoYXdhaXQgdGhpcy5jYWNoZSk/LmRhdGFbMF07XG4gIH1cblxuICAvKipcbiAgICogUmV0cmlldmVzIHdoZXRoZXIgYW4gb2JqZWN0IHNob3VsZCBpbmNsdWRlIHRoZSBjOHlfR2xvYmFsIGZyYWdtZW50IGluIGl0cyBkZWNsYXJhdGlvbi5cbiAgICogSWYgdGhlIGZyYWdtZW50IGlzIHNldCB0byBmYWxzZSBpdCBzaG91bGQgcmV0dXJuIGZhbHNlO1xuICAgKiBJZiB0aGUgZnJhZ21lbnQgaXMgc2V0IHRvIHRydWUgIGl0IHNob3VsZCByZXR1cm4gdHJ1ZTtcbiAgICogSWYgbm8gZnJhZ21lbnQgaXMgYXZhaWxhYmxlICBpdCBzaG91bGQgcmV0dXJuIHRydWU7XG4gICAqIEBwYXJhbSBvYmplY3RUeXBlIC0gVGhlIHR5cGUgb2YgbWFuYWdlZCBvYmplY3QuXG4gICAqIEByZXR1cm5zIEEgcHJvbWlzZSB0aGF0IHJlc29sdmVzIGludG8gYSBib29sZWFuIHZhbHVlIGluZGljYXRpbmcgd2hldGhlciB0aGUgZ2xvYmFsIHBhcmFtZXRlciBzaG91bGQgYmUgc2V0LlxuICAgKi9cbiAgZ2V0R2xvYmFsUGFyYW0ob2JqZWN0VHlwZTogTWFuYWdlZE9iamVjdFR5cGVGb3JDb25maWcpOiBQcm9taXNlPGJvb2xlYW4+IHtcbiAgICBjb25zdCBmcmFnbWVudFR5cGUgPSB0aGlzLmZyYWdtZW50VHlwZU1hcHBpbmdbb2JqZWN0VHlwZV07XG5cbiAgICByZXR1cm4gdGhpcy5nZXRHbG9iYWxDb25maWcoZnJhZ21lbnRUeXBlKS50aGVuKHJlc3VsdCA9PlxuICAgICAgcmVzdWx0ICYmIHJlc3VsdFtmcmFnbWVudFR5cGVdICE9PSB1bmRlZmluZWQgPyAhIXJlc3VsdFtmcmFnbWVudFR5cGVdIDogdHJ1ZVxuICAgICk7XG4gIH1cbn1cbiJdfQ==
|
|
@@ -18,7 +18,7 @@ export class Permissions {
|
|
|
18
18
|
* Checks if the current user has write permissions for the given mo.
|
|
19
19
|
* (either through global role, individual device permissions or via inventory roles).
|
|
20
20
|
*
|
|
21
|
-
* @param
|
|
21
|
+
* @param roleIds The array of role ids to check if the current user have at least one of them.
|
|
22
22
|
* @param {IManagedObject | IIdentified} mo The managed object for which we are checking whether the user has access.
|
|
23
23
|
* @param {CanEditConfig} config A configuration object that can take the following values:
|
|
24
24
|
* - `skipRolesCheck`: `boolean` - skips roles check,
|
|
@@ -94,6 +94,73 @@ export class Permissions {
|
|
|
94
94
|
return false;
|
|
95
95
|
}
|
|
96
96
|
}
|
|
97
|
+
Permissions.ROLE_ADVANCED_SOFTWARE_ADMIN = 'ROLE_ADVANCED_SOFTWARE_ADMIN';
|
|
98
|
+
Permissions.ROLE_ADVANCED_SOFTWARE_READ = 'ROLE_ADVANCED_SOFTWARE_READ';
|
|
99
|
+
Permissions.ROLE_ALARM_ADMIN = 'ROLE_ALARM_ADMIN';
|
|
100
|
+
Permissions.ROLE_ALARM_READ = 'ROLE_ALARM_READ';
|
|
101
|
+
Permissions.ROLE_ANALYTICSBUILDER_READ = 'ROLE_ANALYTICSBUILDER_READ';
|
|
102
|
+
Permissions.ROLE_APPLICATION_MANAGEMENT_ADMIN = 'ROLE_APPLICATION_MANAGEMENT_ADMIN';
|
|
103
|
+
Permissions.ROLE_APPLICATION_MANAGEMENT_READ = 'ROLE_APPLICATION_MANAGEMENT_READ';
|
|
104
|
+
Permissions.ROLE_AUDIT_ADMIN = 'ROLE_AUDIT_ADMIN';
|
|
105
|
+
Permissions.ROLE_AUDIT_READ = 'ROLE_AUDIT_READ';
|
|
106
|
+
Permissions.ROLE_BINARY_ADMIN = 'ROLE_BINARY_ADMIN';
|
|
107
|
+
Permissions.ROLE_BINARY_CREATE = 'ROLE_BINARY_CREATE';
|
|
108
|
+
Permissions.ROLE_BINARY_READ = 'ROLE_BINARY_READ';
|
|
109
|
+
Permissions.ROLE_BULK_OPERATION_ADMIN = 'ROLE_BULK_OPERATION_ADMIN';
|
|
110
|
+
Permissions.ROLE_BULK_OPERATION_READ = 'ROLE_BULK_OPERATION_READ';
|
|
111
|
+
Permissions.ROLE_CEP_MANAGEMENT_ADMIN = 'ROLE_CEP_MANAGEMENT_ADMIN';
|
|
112
|
+
Permissions.ROLE_CEP_MANAGEMENT_READ = 'ROLE_CEP_MANAGEMENT_READ';
|
|
113
|
+
Permissions.ROLE_DATA_BROKER_ADMIN = 'ROLE_DATA_BROKER_ADMIN';
|
|
114
|
+
Permissions.ROLE_DATA_BROKER_READ = 'ROLE_DATA_BROKER_READ';
|
|
115
|
+
Permissions.ROLE_DEVICE_CONTROL_ADMIN = 'ROLE_DEVICE_CONTROL_ADMIN';
|
|
116
|
+
Permissions.ROLE_DEVICE_CONTROL_READ = 'ROLE_DEVICE_CONTROL_READ';
|
|
117
|
+
Permissions.ROLE_EMAIL_CREATE = 'ROLE_EMAIL_CREATE';
|
|
118
|
+
Permissions.ROLE_EPLAPPS_READ = 'ROLE_EPLAPPS_READ';
|
|
119
|
+
Permissions.ROLE_EVENT_ADMIN = 'ROLE_EVENT_ADMIN';
|
|
120
|
+
Permissions.ROLE_EVENT_READ = 'ROLE_EVENT_READ';
|
|
121
|
+
Permissions.ROLE_GENERIC_MQTT_ADMIN = 'ROLE_GENERIC_MQTT_ADMIN';
|
|
122
|
+
Permissions.ROLE_IDENTITY_ADMIN = 'ROLE_IDENTITY_ADMIN';
|
|
123
|
+
Permissions.ROLE_IDENTITY_READ = 'ROLE_IDENTITY_READ';
|
|
124
|
+
Permissions.ROLE_INVENTORY_ADMIN = 'ROLE_INVENTORY_ADMIN';
|
|
125
|
+
Permissions.ROLE_INVENTORY_CREATE = 'ROLE_INVENTORY_CREATE';
|
|
126
|
+
Permissions.ROLE_INVENTORY_READ = 'ROLE_INVENTORY_READ';
|
|
127
|
+
Permissions.ROLE_MACHINE_LEARNING_READ = 'ROLE_MACHINE_LEARNING_READ';
|
|
128
|
+
Permissions.ROLE_MANAGED_OBJECT_ADMIN = 'ROLE_MANAGED_OBJECT_ADMIN';
|
|
129
|
+
Permissions.ROLE_MANAGED_OBJECT_CREATE = 'ROLE_MANAGED_OBJECT_CREATE';
|
|
130
|
+
Permissions.ROLE_MANAGED_OBJECT_READ = 'ROLE_MANAGED_OBJECT_READ';
|
|
131
|
+
Permissions.ROLE_MEASUREMENT_ADMIN = 'ROLE_MEASUREMENT_ADMIN';
|
|
132
|
+
Permissions.ROLE_MEASUREMENT_READ = 'ROLE_MEASUREMENT_READ';
|
|
133
|
+
Permissions.ROLE_MQTT_CONNECT_ADMIN = 'ROLE_MQTT_CONNECT_ADMIN';
|
|
134
|
+
Permissions.ROLE_MQTT_SERVICE_ADMIN = 'ROLE_MQTT_SERVICE_ADMIN';
|
|
135
|
+
Permissions.ROLE_NOTIFICATION_2_ADMIN = 'ROLE_NOTIFICATION_2_ADMIN';
|
|
136
|
+
Permissions.ROLE_OPTION_MANAGEMENT_ADMIN = 'ROLE_OPTION_MANAGEMENT_ADMIN';
|
|
137
|
+
Permissions.ROLE_OPTION_MANAGEMENT_READ = 'ROLE_OPTION_MANAGEMENT_READ';
|
|
138
|
+
Permissions.ROLE_PROVISIONING_CREATE = 'ROLE_PROVISIONING_CREATE';
|
|
139
|
+
Permissions.ROLE_PROVISIONING_READ = 'ROLE_PROVISIONING_READ';
|
|
140
|
+
Permissions.ROLE_PROVISIONING_UPDATE = 'ROLE_PROVISIONING_UPDATE';
|
|
141
|
+
Permissions.ROLE_REMOTE_ACCESS_ADMIN = 'ROLE_REMOTE_ACCESS_ADMIN';
|
|
142
|
+
Permissions.ROLE_RETENTION_RULE_ADMIN = 'ROLE_RETENTION_RULE_ADMIN';
|
|
143
|
+
Permissions.ROLE_RETENTION_RULE_READ = 'ROLE_RETENTION_RULE_READ';
|
|
144
|
+
Permissions.ROLE_SCHEDULE_REPORT_ADMIN = 'ROLE_SCHEDULE_REPORT_ADMIN';
|
|
145
|
+
Permissions.ROLE_SIMULATOR_ADMIN = 'ROLE_SIMULATOR_ADMIN';
|
|
146
|
+
Permissions.ROLE_SMARTGROUP_ADMIN = 'ROLE_SMARTGROUP_ADMIN';
|
|
147
|
+
Permissions.ROLE_SMARTGROUP_CREATE = 'ROLE_SMARTGROUP_CREATE';
|
|
148
|
+
Permissions.ROLE_SMARTGROUP_UPDATE = 'ROLE_SMARTGROUP_UPDATE';
|
|
149
|
+
Permissions.ROLE_SMARTRULE_ADMIN = 'ROLE_SMARTRULE_ADMIN';
|
|
150
|
+
Permissions.ROLE_SMARTRULE_READ = 'ROLE_SMARTRULE_READ';
|
|
151
|
+
Permissions.ROLE_SMS_ADMIN = 'ROLE_SMS_ADMIN';
|
|
152
|
+
Permissions.ROLE_SMS_READ = 'ROLE_SMS_READ';
|
|
153
|
+
Permissions.ROLE_TENANT_ADMIN = 'ROLE_TENANT_ADMIN';
|
|
154
|
+
Permissions.ROLE_TENANT_MANAGEMENT_ADMIN = 'ROLE_TENANT_MANAGEMENT_ADMIN';
|
|
155
|
+
Permissions.ROLE_TENANT_MANAGEMENT_CREATE = 'ROLE_TENANT_MANAGEMENT_CREATE';
|
|
156
|
+
Permissions.ROLE_TENANT_MANAGEMENT_READ = 'ROLE_TENANT_MANAGEMENT_READ';
|
|
157
|
+
Permissions.ROLE_TENANT_MANAGEMENT_UPDATE = 'ROLE_TENANT_MANAGEMENT_UPDATE';
|
|
158
|
+
Permissions.ROLE_TENANT_STATISTICS_READ = 'ROLE_TENANT_STATISTICS_READ';
|
|
159
|
+
Permissions.ROLE_USER_MANAGEMENT_ADMIN = 'ROLE_USER_MANAGEMENT_ADMIN';
|
|
160
|
+
Permissions.ROLE_USER_MANAGEMENT_CREATE = 'ROLE_USER_MANAGEMENT_CREATE';
|
|
161
|
+
Permissions.ROLE_USER_MANAGEMENT_OWN_ADMIN = 'ROLE_USER_MANAGEMENT_OWN_ADMIN';
|
|
162
|
+
Permissions.ROLE_USER_MANAGEMENT_OWN_READ = 'ROLE_USER_MANAGEMENT_OWN_READ';
|
|
163
|
+
Permissions.ROLE_USER_MANAGEMENT_READ = 'ROLE_USER_MANAGEMENT_READ';
|
|
97
164
|
Permissions.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.0.6", ngImport: i0, type: Permissions, deps: [{ token: i1.AppStateService }, { token: i2.InventoryService }, { token: i2.UserService }], target: i0.ɵɵFactoryTarget.Injectable });
|
|
98
165
|
Permissions.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "14.0.6", ngImport: i0, type: Permissions, providedIn: 'root' });
|
|
99
166
|
__decorate([
|
|
@@ -112,4 +179,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.0.6", ngImpor
|
|
|
112
179
|
type: Injectable,
|
|
113
180
|
args: [{ providedIn: 'root' }]
|
|
114
181
|
}], ctorParameters: function () { return [{ type: i1.AppStateService }, { type: i2.InventoryService }, { type: i2.UserService }]; }, propDecorators: { checkIfOwner: [], checkWithRequest: [] } });
|
|
115
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGVybWlzc2lvbnMuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL2NvcmUvY29tbW9uL3Blcm1pc3Npb25zLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDM0MsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLG9CQUFvQixDQUFDO0FBQ3JELE9BQU8sRUFBK0IsZ0JBQWdCLEVBQUUsTUFBTSxhQUFhLENBQUM7QUFDNUUsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLFdBQVcsQ0FBQztBQUNyQyxPQUFPLEVBQUUsT0FBTyxFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFDOUMsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLGFBQWEsQ0FBQzs7OztBQWtCMUMsTUFBTSxPQUFPLFdBQVc7SUFDdEIsWUFDVSxRQUF5QixFQUN6QixTQUEyQixFQUMzQixJQUFpQjtRQUZqQixhQUFRLEdBQVIsUUFBUSxDQUFpQjtRQUN6QixjQUFTLEdBQVQsU0FBUyxDQUFrQjtRQUMzQixTQUFJLEdBQUosSUFBSSxDQUFhO0lBQ3hCLENBQUM7SUFFSjs7Ozs7Ozs7Ozs7O09BWUc7SUFDSCxPQUFPLENBQ0wsT0FBTyxFQUNQLEVBQWdDLEVBQ2hDLFNBQXdCO1FBQ3RCLGNBQWMsRUFBRSxLQUFLO1FBQ3JCLGNBQWMsRUFBRSxLQUFLO1FBQ3JCLGdCQUFnQixFQUFFLEtBQUs7S0FDeEI7UUFFRCxPQUFPLElBQUksQ0FBQyxjQUFjLENBQUMsT0FBTyxFQUFFLEVBQUUsRUFBRSxNQUFNLENBQUMsQ0FBQztJQUNsRCxDQUFDO0lBRUQsT0FBTyxDQUFDLE1BQWM7UUFDcEIsTUFBTSxXQUFXLEdBQUcsSUFBSSxDQUFDLFFBQVEsQ0FBQyxXQUFXLENBQUMsS0FBSyxDQUFDO1FBQ3BELElBQUksQ0FBQyxXQUFXLEVBQUU7WUFDaEIsTUFBTSxJQUFJLEtBQUssQ0FBQyx1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Y0FERSxNQUFNO0FBa0U5QjtJQURDLE9BQU8sQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLENBQUM7Ozs7K0NBS3ZCO0FBR0Q7SUFEQyxPQUFPLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxDQUFDOzs7O21EQWN2QjsyRkFyRlUsV0FBVztrQkFEdkIsVUFBVTttQkFBQyxFQUFFLFVBQVUsRUFBRSxNQUFNLEVBQUU7K0pBa0VoQixZQUFZLE1BT2xCLGdCQUFnQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEFwcFN0YXRlU2VydmljZSB9IGZyb20gJy4vdWktc3RhdGUuc2VydmljZSc7XG5pbXBvcnQgeyBJSWRlbnRpZmllZCwgSU1hbmFnZWRPYmplY3QsIEludmVudG9yeVNlcnZpY2UgfSBmcm9tICdAYzh5L2NsaWVudCc7XG5pbXBvcnQgeyBwcm9wZXJ0eSB9IGZyb20gJ2xvZGFzaC1lcyc7XG5pbXBvcnQgeyBtZW1vaXplIH0gZnJvbSAnLi9tZW1vaXplLmRlY29yYXRvcic7XG5pbXBvcnQgeyBVc2VyU2VydmljZSB9IGZyb20gJ0BjOHkvY2xpZW50JztcblxuZXhwb3J0IHR5cGUgQ2FuRWRpdENvbmZpZyA9IHtcbiAgLyoqXG4gICAqIFNraXBzIHJvbGVzIGNoZWNrLlxuICAgKi9cbiAgc2tpcFJvbGVzQ2hlY2s/OiBib29sZWFuO1xuICAvKipcbiAgICogU2tpcHMgbWFuYWdlZCBvYmplY3Qgb3duZXJzaGlwIGNoZWNrLlxuICAgKi9cbiAgc2tpcE93bmVyQ2hlY2s/OiBib29sZWFuO1xuICAvKipcbiAgICogU2tpcHMgY2hlY2tzIHdpdGggYSBxdWVyeSB0byB0aGUgaW52ZW50b3J5IEFQSS5cbiAgICovXG4gIHNraXBSZXF1ZXN0Q2hlY2s/OiBib29sZWFuO1xufTtcblxuQEluamVjdGFibGUoeyBwcm92aWRlZEluOiAncm9vdCcgfSlcbmV4cG9ydCBjbGFzcyBQZXJtaXNzaW9ucyB7XG4gIGNvbnN0cnVjdG9yKFxuICAgIHByaXZhdGUgYXBwU3RhdGU6IEFwcFN0YXRlU2VydmljZSxcbiAgICBwcml2YXRlIGludmVudG9yeTogSW52ZW50b3J5U2VydmljZSxcbiAgICBwcml2YXRlIHVzZXI6IFVzZXJTZXJ2aWNlXG4gICkge31cblxuICAvKipcbiAgICogQ2hlY2tzIGlmIHRoZSBjdXJyZW50IHVzZXIgaGFzIHdyaXRlIHBlcm1pc3Npb25zIGZvciB0aGUgZ2l2ZW4gbW8uXG4gICAqIChlaXRoZXIgdGhyb3VnaCBnbG9iYWwgcm9sZSwgaW5kaXZpZHVhbCBkZXZpY2UgcGVybWlzc2lvbnMgb3IgdmlhIGludmVudG9yeSByb2xlcykuXG4gICAqXG4gICAqIEBwYXJhbSB7YXJyYXl9IHJvbGVJZHMgQXJyYXkgb2Ygcm9sZXMgd2hpY2ggdGhlIGN1cnJlbnQgdXNlciBzaG91bGQgaGF2ZS5cbiAgICogQHBhcmFtIHtJTWFuYWdlZE9iamVjdCB8IElJZGVudGlmaWVkfSBtbyBUaGUgbWFuYWdlZCBvYmplY3QgZm9yIHdoaWNoIHdlIGFyZSBjaGVja2luZyB3aGV0aGVyIHRoZSB1c2VyIGhhcyBhY2Nlc3MuXG4gICAqIEBwYXJhbSB7Q2FuRWRpdENvbmZpZ30gY29uZmlnIEEgY29uZmlndXJhdGlvbiBvYmplY3QgdGhhdCBjYW4gdGFrZSB0aGUgZm9sbG93aW5nIHZhbHVlczpcbiAgICogLSBgc2tpcFJvbGVzQ2hlY2tgOiBgYm9vbGVhbmAgLSBza2lwcyByb2xlcyBjaGVjayxcbiAgICogLSBgc2tpcE93bmVyQ2hlY2tgOiBgYm9vbGVhbmAgLSBza2lwcyBvd25lcnNoaXAgY2hlY2ssXG4gICAqIC0gYHNraXBSZXF1ZXN0Q2hlY2tgOiBgYm9vbGVhbmAgLSBza2lwcyBjaGVja3Mgd2l0aCBhIHF1ZXJ5IHRvIHRoZSBpbnZlbnRvcnkgQVBJLlxuICAgKiAgIFVJIHdpbGwgbWFrZSBhIHF1ZXJ5IHRvIGJhY2tlbmQgd2hldGhlciB0aGUgdXNlciBjYW4gZWRpdCB0aGUgbWFuYWdlZCBvYmplY3QuXG4gICAqICAgQSByZWplY3Rpb24gZnJvbSBCRSBpbmRpY2F0ZXMgYSBsYWNrIG9mIHBlcm1pc3Npb24uXG4gICAqL1xuICBjYW5FZGl0KFxuICAgIHJvbGVJZHMsXG4gICAgbW86IElNYW5hZ2VkT2JqZWN0IHwgSUlkZW50aWZpZWQsXG4gICAgY29uZmlnOiBDYW5FZGl0Q29uZmlnID0ge1xuICAgICAgc2tpcFJvbGVzQ2hlY2s6IGZhbHNlLFxuICAgICAgc2tpcE93bmVyQ2hlY2s6IGZhbHNlLFxuICAgICAgc2tpcFJlcXVlc3RDaGVjazogZmFsc2VcbiAgICB9XG4gICkge1xuICAgIHJldHVybiB0aGlzLmNoZWNrSWZDYW5FZGl0KHJvbGVJZHMsIG1vLCBjb25maWcpO1xuICB9XG5cbiAgaGFzUm9sZShyb2xlSWQ6IHN0cmluZykge1xuICAgIGNvbnN0IGN1cnJlbnRVc2VyID0gdGhpcy5hcHBTdGF0ZS5jdXJyZW50VXNlci52YWx1ZTtcbiAgICBpZiAoIWN1cnJlbnRVc2VyKSB7XG4gICAgICB0aHJvdyBuZXcgRXJyb3IoJ1JvbGVzIGNhbiBvbmx5IGJlIHJlcXVlc3RlZCBpZiB0aGUgdXNlciBpcyBsb2dnZWQgaW4uJyk7XG4gICAgfVxuICAgIHJldHVybiB0aGlzLnVzZXIuaGFzUm9sZShjdXJyZW50VXNlciwgcm9sZUlkKTtcbiAgfVxuXG4gIGhhc0FsbFJvbGVzKHJvbGVJZHM6IHN0cmluZ1tdKSB7XG4gICAgY29uc3QgY3VycmVudFVzZXIgPSB0aGlzLmFwcFN0YXRlLmN1cnJlbnRVc2VyLnZhbHVlO1xuICAgIGlmICghY3VycmVudFVzZXIpIHtcbiAgICAgIHRocm93IG5ldyBFcnJvcignUm9sZXMgY2FuIG9ubHkgYmUgcmVxdWVzdGVkIGlmIHRoZSB1c2VyIGlzIGxvZ2dlZCBpbi4nKTtcbiAgICB9XG4gICAgcmV0dXJuIHRoaXMudXNlci5oYXNBbGxSb2xlcyhjdXJyZW50VXNlciwgcm9sZUlkcyk7XG4gIH1cblxuICBoYXNBbnlSb2xlKHJvbGVJZHM6IHN0cmluZ1tdKSB7XG4gICAgY29uc3QgY3VycmVudFVzZXIgPSB0aGlzLmFwcFN0YXRlLmN1cnJlbnRVc2VyLnZhbHVlO1xuICAgIGlmICghY3VycmVudFVzZXIpIHtcbiAgICAgIHRocm93IG5ldyBFcnJvcignUm9sZXMgY2FuIG9ubHkgYmUgcmVxdWVzdGVkIGlmIHRoZSB1c2VyIGlzIGxvZ2dlZCBpbi4nKTtcbiAgICB9XG4gICAgcmV0dXJuIHRoaXMudXNlci5oYXNBbnlSb2xlKGN1cnJlbnRVc2VyLCByb2xlSWRzKTtcbiAgfVxuXG4gIGhhc0FueUdsb2JhbFJvbGUoZ2xvYmFsUm9sZXNJZHM6IG51bWJlcltdKSB7XG4gICAgY29uc3QgY3VycmVudFVzZXIgPSB0aGlzLmFwcFN0YXRlLmN1cnJlbnRVc2VyLnZhbHVlO1xuICAgIGlmICghY3VycmVudFVzZXIpIHtcbiAgICAgIHRocm93IG5ldyBFcnJvcignR2xvYmFsIHJvbGVzIGNhbiBvbmx5IGJlIHJlcXVlc3RlZCBpZiB0aGUgdXNlciBpcyBsb2dnZWQgaW4uJyk7XG4gICAgfVxuICAgIHJldHVybiB0aGlzLnVzZXIuaGFzQW55R2xvYmFsUm9sZShjdXJyZW50VXNlciwgZ2xvYmFsUm9sZXNJZHMpO1xuICB9XG5cbiAgQG1lbW9pemUocHJvcGVydHkoJ2lkJykpXG4gIHByb3RlY3RlZCBhc3luYyBjaGVja0lmT3duZXIobW8pIHtcbiAgICBjb25zdCBjdXJyZW50VXNlck5hbWUgPSBhd2FpdCB0aGlzLmFwcFN0YXRlLmN1cnJlbnRVc2VyLnZhbHVlLnVzZXJOYW1lO1xuICAgIGNvbnN0IHsgZGF0YSB9ID0gYXdhaXQgdGhpcy5pbnZlbnRvcnkuZGV0YWlsKG1vLmlkKTtcbiAgICByZXR1cm4gY3VycmVudFVzZXJOYW1lID09PSBkYXRhLm93bmVyO1xuICB9XG5cbiAgQG1lbW9pemUocHJvcGVydHkoJ2lkJykpXG4gIHByb3RlY3RlZCBjaGVja1dpdGhSZXF1ZXN0KG1vKSB7XG4gICAgY29uc3QgbW9JZCA9IG1vLmlkO1xuICAgIGNvbnN0IHBhcnRpYWxVcGRhdGVPYmplY3Q6IFBhcnRpYWw8SU1hbmFnZWRPYmplY3Q+ID0ge1xuICAgICAgaWQ6IG1vSWRcbiAgICB9O1xuICAgIHJldHVybiB0aGlzLmludmVudG9yeVxuICAgICAgLnVwZGF0ZShwYXJ0aWFsVXBkYXRlT2JqZWN0KVxuICAgICAgLnRoZW4oKCkgPT4ge1xuICAgICAgICByZXR1cm4gdHJ1ZTtcbiAgICAgIH0pXG4gICAgICAuY2F0Y2goKCkgPT4ge1xuICAgICAgICByZXR1cm4gZmFsc2U7XG4gICAgICB9KTtcbiAgfVxuXG4gIHByaXZhdGUgYXN5bmMgY2hlY2tJZkNhbkVkaXQocm9sZUlkcywgbW8sIGNvbmZpZzogQ2FuRWRpdENvbmZpZykge1xuICAgIGlmICghY29uZmlnPy5za2lwUm9sZXNDaGVjayAmJiAoYXdhaXQgdGhpcy5oYXNBbnlSb2xlKHJvbGVJZHMpKSkge1xuICAgICAgcmV0dXJuIHRydWU7XG4gICAgfSBlbHNlIGlmICghY29uZmlnPy5za2lwT3duZXJDaGVjayAmJiAoYXdhaXQgdGhpcy5jaGVja0lmT3duZXIobW8pKSkge1xuICAgICAgcmV0dXJuIHRydWU7XG4gICAgfSBlbHNlIGlmICghY29uZmlnPy5za2lwUmVxdWVzdENoZWNrICYmIChhd2FpdCB0aGlzLmNoZWNrV2l0aFJlcXVlc3QobW8pKSkge1xuICAgICAgcmV0dXJuIHRydWU7XG4gICAgfVxuICAgIHJldHVybiBmYWxzZTtcbiAgfVxufVxuIl19
|
|
182
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGVybWlzc2lvbnMuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL2NvcmUvY29tbW9uL3Blcm1pc3Npb25zLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDM0MsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLG9CQUFvQixDQUFDO0FBQ3JELE9BQU8sRUFBK0IsZ0JBQWdCLEVBQUUsTUFBTSxhQUFhLENBQUM7QUFDNUUsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLFdBQVcsQ0FBQztBQUNyQyxPQUFPLEVBQUUsT0FBTyxFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFDOUMsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLGFBQWEsQ0FBQzs7OztBQWtCMUMsTUFBTSxPQUFPLFdBQVc7SUFxRXRCLFlBQ1UsUUFBeUIsRUFDekIsU0FBMkIsRUFDM0IsSUFBaUI7UUFGakIsYUFBUSxHQUFSLFFBQVEsQ0FBaUI7UUFDekIsY0FBUyxHQUFULFNBQVMsQ0FBa0I7UUFDM0IsU0FBSSxHQUFKLElBQUksQ0FBYTtJQUN4QixDQUFDO0lBRUo7Ozs7Ozs7Ozs7OztPQVlHO0lBQ0gsT0FBTyxDQUNMLE9BQWlCLEVBQ2pCLEVBQWdDLEVBQ2hDLFNBQXdCO1FBQ3RCLGNBQWMsRUFBRSxLQUFLO1FBQ3JCLGNBQWMsRUFBRSxLQUFLO1FBQ3JCLGdCQUFnQixFQUFFLEtBQUs7S0FDeEI7UUFFRCxPQUFPLElBQUksQ0FBQyxjQUFjLENBQUMsT0FBTyxFQUFFLEVBQUUsRUFBRSxNQUFNLENBQUMsQ0FBQztJQUNsRCxDQUFDO0lBRUQsT0FBTyxDQUFDLE1BQWM7UUFDcEIsTUFBTSxXQUFXLEdBQUcsSUFBSSxDQUFDLFFBQVEsQ0FBQyxXQUFXLENBQUMsS0FBSyxDQUFDO1FBQ3BELElBQUksQ0FBQyxXQUFXLEVBQUU7WUFDaEIsTUFBTSxJQUFJLEtBQUssQ0FB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QUM7QUFDaEUsdUNBQTJCLEdBQUcsNkJBQTZCLENBQUM7QUFDNUQsc0NBQTBCLEdBQUcsNEJBQTRCLENBQUM7QUFDMUQsdUNBQTJCLEdBQUcsNkJBQTZCLENBQUM7QUFDNUQsMENBQThCLEdBQUcsZ0NBQWdDLENBQUM7QUFDbEUseUNBQTZCLEdBQUcsK0JBQStCLENBQUM7QUFDaEUscUNBQXlCLEdBQUcsMkJBQTJCLENBQUM7d0dBbkVwRCxXQUFXOzRHQUFYLFdBQVcsY0FERSxNQUFNO0FBc0k5QjtJQURDLE9BQU8sQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLENBQUM7Ozs7K0NBS3ZCO0FBR0Q7SUFEQyxPQUFPLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxDQUFDOzs7O21EQWN2QjsyRkF6SlUsV0FBVztrQkFEdkIsVUFBVTttQkFBQyxFQUFFLFVBQVUsRUFBRSxNQUFNLEVBQUU7K0pBc0loQixZQUFZLE1BT2xCLGdCQUFnQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEFwcFN0YXRlU2VydmljZSB9IGZyb20gJy4vdWktc3RhdGUuc2VydmljZSc7XG5pbXBvcnQgeyBJSWRlbnRpZmllZCwgSU1hbmFnZWRPYmplY3QsIEludmVudG9yeVNlcnZpY2UgfSBmcm9tICdAYzh5L2NsaWVudCc7XG5pbXBvcnQgeyBwcm9wZXJ0eSB9IGZyb20gJ2xvZGFzaC1lcyc7XG5pbXBvcnQgeyBtZW1vaXplIH0gZnJvbSAnLi9tZW1vaXplLmRlY29yYXRvcic7XG5pbXBvcnQgeyBVc2VyU2VydmljZSB9IGZyb20gJ0BjOHkvY2xpZW50JztcblxuZXhwb3J0IHR5cGUgQ2FuRWRpdENvbmZpZyA9IHtcbiAgLyoqXG4gICAqIFNraXBzIHJvbGVzIGNoZWNrLlxuICAgKi9cbiAgc2tpcFJvbGVzQ2hlY2s/OiBib29sZWFuO1xuICAvKipcbiAgICogU2tpcHMgbWFuYWdlZCBvYmplY3Qgb3duZXJzaGlwIGNoZWNrLlxuICAgKi9cbiAgc2tpcE93bmVyQ2hlY2s/OiBib29sZWFuO1xuICAvKipcbiAgICogU2tpcHMgY2hlY2tzIHdpdGggYSBxdWVyeSB0byB0aGUgaW52ZW50b3J5IEFQSS5cbiAgICovXG4gIHNraXBSZXF1ZXN0Q2hlY2s/OiBib29sZWFuO1xufTtcblxuQEluamVjdGFibGUoeyBwcm92aWRlZEluOiAncm9vdCcgfSlcbmV4cG9ydCBjbGFzcyBQZXJtaXNzaW9ucyB7XG4gIHN0YXRpYyBST0xFX0FEVkFOQ0VEX1NPRlRXQVJFX0FETUlOID0gJ1JPTEVfQURWQU5DRURfU09GVFdBUkVfQURNSU4nO1xuICBzdGF0aWMgUk9MRV9BRFZBTkNFRF9TT0ZUV0FSRV9SRUFEID0gJ1JPTEVfQURWQU5DRURfU09GVFdBUkVfUkVBRCc7XG4gIHN0YXRpYyBST0xFX0FMQVJNX0FETUlOID0gJ1JPTEVfQUxBUk1fQURNSU4nO1xuICBzdGF0aWMgUk9MRV9BTEFSTV9SRUFEID0gJ1JPTEVfQUxBUk1fUkVBRCc7XG4gIHN0YXRpYyBST0xFX0FOQUxZVElDU0JVSUxERVJfUkVBRCA9ICdST0xFX0FOQUxZVElDU0JVSUxERVJfUkVBRCc7XG4gIHN0YXRpYyBST0xFX0FQUExJQ0FUSU9OX01BTkFHRU1FTlRfQURNSU4gPSAnUk9MRV9BUFBMSUNBVElPTl9NQU5BR0VNRU5UX0FETUlOJztcbiAgc3RhdGljIFJPTEVfQVBQTElDQVRJT05fTUFOQUdFTUVOVF9SRUFEID0gJ1JPTEVfQVBQTElDQVRJT05fTUFOQUdFTUVOVF9SRUFEJztcbiAgc3RhdGljIFJPTEVfQVVESVRfQURNSU4gPSAnUk9MRV9BVURJVF9BRE1JTic7XG4gIHN0YXRpYyBST0xFX0FVRElUX1JFQUQgPSAnUk9MRV9BVURJVF9SRUFEJztcbiAgc3RhdGljIFJPTEVfQklOQVJZX0FETUlOID0gJ1JPTEVfQklOQVJZX0FETUlOJztcbiAgc3RhdGljIFJPTEVfQklOQVJZX0NSRUFURSA9ICdST0xFX0JJTkFSWV9DUkVBVEUnO1xuICBzdGF0aWMgUk9MRV9CSU5BUllfUkVBRCA9ICdST0xFX0JJTkFSWV9SRUFEJztcbiAgc3RhdGljIFJPTEVfQlVMS19PUEVSQVRJT05fQURNSU4gPSAnUk9MRV9CVUxLX09QRVJBVElPTl9BRE1JTic7XG4gIHN0YXRpYyBST0xFX0JVTEtfT1BFUkFUSU9OX1JFQUQgPSAnUk9MRV9CVUxLX09QRVJBVElPTl9SRUFEJztcbiAgc3RhdGljIFJPTEVfQ0VQX01BTkFHRU1FTlRfQURNSU4gPSAnUk9MRV9DRVBfTUFOQUdFTUVOVF9BRE1JTic7XG4gIHN0YXRpYyBST0xFX0NFUF9NQU5BR0VNRU5UX1JFQUQgPSAnUk9MRV9DRVBfTUFOQUdFTUVOVF9SRUFEJztcbiAgc3RhdGljIFJPTEVfREFUQV9CUk9LRVJfQURNSU4gPSAnUk9MRV9EQVRBX0JST0tFUl9BRE1JTic7XG4gIHN0YXRpYyBST0xFX0RBVEFfQlJPS0VSX1JFQUQgPSAnUk9MRV9EQVRBX0JST0tFUl9SRUFEJztcbiAgc3RhdGljIFJPTEVfREVWSUNFX0NPTlRST0xfQURNSU4gPSAnUk9MRV9ERVZJQ0VfQ09OVFJPTF9BRE1JTic7XG4gIHN0YXRpYyBST0xFX0RFVklDRV9DT05UUk9MX1JFQUQgPSAnUk9MRV9ERVZJQ0VfQ09OVFJPTF9SRUFEJztcbiAgc3RhdGljIFJPTEVfRU1BSUxfQ1JFQVRFID0gJ1JPTEVfRU1BSUxfQ1JFQVRFJztcbiAgc3RhdGljIFJPTEVfRVBMQVBQU19SRUFEID0gJ1JPTEVfRVBMQVBQU19SRUFEJztcbiAgc3RhdGljIFJPTEVfRVZFTlRfQURNSU4gPSAnUk9MRV9FVkVOVF9BRE1JTic7XG4gIHN0YXRpYyBST0xFX0VWRU5UX1JFQUQgPSAnUk9MRV9FVkVOVF9SRUFEJztcbiAgc3RhdGljIFJPTEVfR0VORVJJQ19NUVRUX0FETUlOID0gJ1JPTEVfR0VORVJJQ19NUVRUX0FETUlOJztcbiAgc3RhdGljIFJPTEVfSURFTlRJVFlfQURNSU4gPSAnUk9MRV9JREVOVElUWV9BRE1JTic7XG4gIHN0YXRpYyBST0xFX0lERU5USVRZX1JFQUQgPSAnUk9MRV9JREVOVElUWV9SRUFEJztcbiAgc3RhdGljIFJPTEVfSU5WRU5UT1JZX0FETUlOID0gJ1JPTEVfSU5WRU5UT1JZX0FETUlOJztcbiAgc3RhdGljIFJPTEVfSU5WRU5UT1JZX0NSRUFURSA9ICdST0xFX0lOVkVOVE9SWV9DUkVBVEUnO1xuICBzdGF0aWMgUk9MRV9JTlZFTlRPUllfUkVBRCA9ICdST0xFX0lOVkVOVE9SWV9SRUFEJztcbiAgc3RhdGljIFJPTEVfTUFDSElORV9MRUFSTklOR19SRUFEID0gJ1JPTEVfTUFDSElORV9MRUFSTklOR19SRUFEJztcbiAgc3RhdGljIFJPTEVfTUFOQUdFRF9PQkpFQ1RfQURNSU4gPSAnUk9MRV9NQU5BR0VEX09CSkVDVF9BRE1JTic7XG4gIHN0YXRpYyBST0xFX01BTkFHRURfT0JKRUNUX0NSRUFURSA9ICdST0xFX01BTkFHRURfT0JKRUNUX0NSRUFURSc7XG4gIHN0YXRpYyBST0xFX01BTkFHRURfT0JKRUNUX1JFQUQgPSAnUk9MRV9NQU5BR0VEX09CSkVDVF9SRUFEJztcbiAgc3RhdGljIFJPTEVfTUVBU1VSRU1FTlRfQURNSU4gPSAnUk9MRV9NRUFTVVJFTUVOVF9BRE1JTic7XG4gIHN0YXRpYyBST0xFX01FQVNVUkVNRU5UX1JFQUQgPSAnUk9MRV9NRUFTVVJFTUVOVF9SRUFEJztcbiAgc3RhdGljIFJPTEVfTVFUVF9DT05ORUNUX0FETUlOID0gJ1JPTEVfTVFUVF9DT05ORUNUX0FETUlOJztcbiAgc3RhdGljIFJPTEVfTVFUVF9TRVJWSUNFX0FETUlOID0gJ1JPTEVfTVFUVF9TRVJWSUNFX0FETUlOJztcbiAgc3RhdGljIFJPTEVfTk9USUZJQ0FUSU9OXzJfQURNSU4gPSAnUk9MRV9OT1RJRklDQVRJT05fMl9BRE1JTic7XG4gIHN0YXRpYyBST0xFX09QVElPTl9NQU5BR0VNRU5UX0FETUlOID0gJ1JPTEVfT1BUSU9OX01BTkFHRU1FTlRfQURNSU4nO1xuICBzdGF0aWMgUk9MRV9PUFRJT05fTUFOQUdFTUVOVF9SRUFEID0gJ1JPTEVfT1BUSU9OX01BTkFHRU1FTlRfUkVBRCc7XG4gIHN0YXRpYyBST0xFX1BST1ZJU0lPTklOR19DUkVBVEUgPSAnUk9MRV9QUk9WSVNJT05JTkdfQ1JFQVRFJztcbiAgc3RhdGljIFJPTEVfUFJPVklTSU9OSU5HX1JFQUQgPSAnUk9MRV9QUk9WSVNJT05JTkdfUkVBRCc7XG4gIHN0YXRpYyBST0xFX1BST1ZJU0lPTklOR19VUERBVEUgPSAnUk9MRV9QUk9WSVNJT05JTkdfVVBEQVRFJztcbiAgc3RhdGljIFJPTEVfUkVNT1RFX0FDQ0VTU19BRE1JTiA9ICdST0xFX1JFTU9URV9BQ0NFU1NfQURNSU4nO1xuICBzdGF0aWMgUk9MRV9SRVRFTlRJT05fUlVMRV9BRE1JTiA9ICdST0xFX1JFVEVOVElPTl9SVUxFX0FETUlOJztcbiAgc3RhdGljIFJPTEVfUkVURU5USU9OX1JVTEVfUkVBRCA9ICdST0xFX1JFVEVOVElPTl9SVUxFX1JFQUQnO1xuICBzdGF0aWMgUk9MRV9TQ0hFRFVMRV9SRVBPUlRfQURNSU4gPSAnUk9MRV9TQ0hFRFVMRV9SRVBPUlRfQURNSU4nO1xuICBzdGF0aWMgUk9MRV9TSU1VTEFUT1JfQURNSU4gPSAnUk9MRV9TSU1VTEFUT1JfQURNSU4nO1xuICBzdGF0aWMgUk9MRV9TTUFSVEdST1VQX0FETUlOID0gJ1JPTEVfU01BUlRHUk9VUF9BRE1JTic7XG4gIHN0YXRpYyBST0xFX1NNQVJUR1JPVVBfQ1JFQVRFID0gJ1JPTEVfU01BUlRHUk9VUF9DUkVBVEUnO1xuICBzdGF0aWMgUk9MRV9TTUFSVEdST1VQX1VQREFURSA9ICdST0xFX1NNQVJUR1JPVVBfVVBEQVRFJztcbiAgc3RhdGljIFJPTEVfU01BUlRSVUxFX0FETUlOID0gJ1JPTEVfU01BUlRSVUxFX0FETUlOJztcbiAgc3RhdGljIFJPTEVfU01BUlRSVUxFX1JFQUQgPSAnUk9MRV9TTUFSVFJVTEVfUkVBRCc7XG4gIHN0YXRpYyBST0xFX1NNU19BRE1JTiA9ICdST0xFX1NNU19BRE1JTic7XG4gIHN0YXRpYyBST0xFX1NNU19SRUFEID0gJ1JPTEVfU01TX1JFQUQnO1xuICBzdGF0aWMgUk9MRV9URU5BTlRfQURNSU4gPSAnUk9MRV9URU5BTlRfQURNSU4nO1xuICBzdGF0aWMgUk9MRV9URU5BTlRfTUFOQUdFTUVOVF9BRE1JTiA9ICdST0xFX1RFTkFOVF9NQU5BR0VNRU5UX0FETUlOJztcbiAgc3RhdGljIFJPTEVfVEVOQU5UX01BTkFHRU1FTlRfQ1JFQVRFID0gJ1JPTEVfVEVOQU5UX01BTkFHRU1FTlRfQ1JFQVRFJztcbiAgc3RhdGljIFJPTEVfVEVOQU5UX01BTkFHRU1FTlRfUkVBRCA9ICdST0xFX1RFTkFOVF9NQU5BR0VNRU5UX1JFQUQnO1xuICBzdGF0aWMgUk9MRV9URU5BTlRfTUFOQUdFTUVOVF9VUERBVEUgPSAnUk9MRV9URU5BTlRfTUFOQUdFTUVOVF9VUERBVEUnO1xuICBzdGF0aWMgUk9MRV9URU5BTlRfU1RBVElTVElDU19SRUFEID0gJ1JPTEVfVEVOQU5UX1NUQVRJU1RJQ1NfUkVBRCc7XG4gIHN0YXRpYyBST0xFX1VTRVJfTUFOQUdFTUVOVF9BRE1JTiA9ICdST0xFX1VTRVJfTUFOQUdFTUVOVF9BRE1JTic7XG4gIHN0YXRpYyBST0xFX1VTRVJfTUFOQUdFTUVOVF9DUkVBVEUgPSAnUk9MRV9VU0VSX01BTkFHRU1FTlRfQ1JFQVRFJztcbiAgc3RhdGljIFJPTEVfVVNFUl9NQU5BR0VNRU5UX09XTl9BRE1JTiA9ICdST0xFX1VTRVJfTUFOQUdFTUVOVF9PV05fQURNSU4nO1xuICBzdGF0aWMgUk9MRV9VU0VSX01BTkFHRU1FTlRfT1dOX1JFQUQgPSAnUk9MRV9VU0VSX01BTkFHRU1FTlRfT1dOX1JFQUQnO1xuICBzdGF0aWMgUk9MRV9VU0VSX01BTkFHRU1FTlRfUkVBRCA9ICdST0xFX1VTRVJfTUFOQUdFTUVOVF9SRUFEJztcblxuICBjb25zdHJ1Y3RvcihcbiAgICBwcml2YXRlIGFwcFN0YXRlOiBBcHBTdGF0ZVNlcnZpY2UsXG4gICAgcHJpdmF0ZSBpbnZlbnRvcnk6IEludmVudG9yeVNlcnZpY2UsXG4gICAgcHJpdmF0ZSB1c2VyOiBVc2VyU2VydmljZVxuICApIHt9XG5cbiAgLyoqXG4gICAqIENoZWNrcyBpZiB0aGUgY3VycmVudCB1c2VyIGhhcyB3cml0ZSBwZXJtaXNzaW9ucyBmb3IgdGhlIGdpdmVuIG1vLlxuICAgKiAoZWl0aGVyIHRocm91Z2ggZ2xvYmFsIHJvbGUsIGluZGl2aWR1YWwgZGV2aWNlIHBlcm1pc3Npb25zIG9yIHZpYSBpbnZlbnRvcnkgcm9sZXMpLlxuICAgKlxuICAgKiBAcGFyYW0gcm9sZUlkcyBUaGUgYXJyYXkgb2Ygcm9sZSBpZHMgdG8gY2hlY2sgaWYgdGhlIGN1cnJlbnQgdXNlciBoYXZlIGF0IGxlYXN0IG9uZSBvZiB0aGVtLlxuICAgKiBAcGFyYW0ge0lNYW5hZ2VkT2JqZWN0IHwgSUlkZW50aWZpZWR9IG1vIFRoZSBtYW5hZ2VkIG9iamVjdCBmb3Igd2hpY2ggd2UgYXJlIGNoZWNraW5nIHdoZXRoZXIgdGhlIHVzZXIgaGFzIGFjY2Vzcy5cbiAgICogQHBhcmFtIHtDYW5FZGl0Q29uZmlnfSBjb25maWcgQSBjb25maWd1cmF0aW9uIG9iamVjdCB0aGF0IGNhbiB0YWtlIHRoZSBmb2xsb3dpbmcgdmFsdWVzOlxuICAgKiAtIGBza2lwUm9sZXNDaGVja2A6IGBib29sZWFuYCAtIHNraXBzIHJvbGVzIGNoZWNrLFxuICAgKiAtIGBza2lwT3duZXJDaGVja2A6IGBib29sZWFuYCAtIHNraXBzIG93bmVyc2hpcCBjaGVjayxcbiAgICogLSBgc2tpcFJlcXVlc3RDaGVja2A6IGBib29sZWFuYCAtIHNraXBzIGNoZWNrcyB3aXRoIGEgcXVlcnkgdG8gdGhlIGludmVudG9yeSBBUEkuXG4gICAqICAgVUkgd2lsbCBtYWtlIGEgcXVlcnkgdG8gYmFja2VuZCB3aGV0aGVyIHRoZSB1c2VyIGNhbiBlZGl0IHRoZSBtYW5hZ2VkIG9iamVjdC5cbiAgICogICBBIHJlamVjdGlvbiBmcm9tIEJFIGluZGljYXRlcyBhIGxhY2sgb2YgcGVybWlzc2lvbi5cbiAgICovXG4gIGNhbkVkaXQoXG4gICAgcm9sZUlkczogc3RyaW5nW10sXG4gICAgbW86IElNYW5hZ2VkT2JqZWN0IHwgSUlkZW50aWZpZWQsXG4gICAgY29uZmlnOiBDYW5FZGl0Q29uZmlnID0ge1xuICAgICAgc2tpcFJvbGVzQ2hlY2s6IGZhbHNlLFxuICAgICAgc2tpcE93bmVyQ2hlY2s6IGZhbHNlLFxuICAgICAgc2tpcFJlcXVlc3RDaGVjazogZmFsc2VcbiAgICB9XG4gICkge1xuICAgIHJldHVybiB0aGlzLmNoZWNrSWZDYW5FZGl0KHJvbGVJZHMsIG1vLCBjb25maWcpO1xuICB9XG5cbiAgaGFzUm9sZShyb2xlSWQ6IHN0cmluZykge1xuICAgIGNvbnN0IGN1cnJlbnRVc2VyID0gdGhpcy5hcHBTdGF0ZS5jdXJyZW50VXNlci52YWx1ZTtcbiAgICBpZiAoIWN1cnJlbnRVc2VyKSB7XG4gICAgICB0aHJvdyBuZXcgRXJyb3IoJ1JvbGVzIGNhbiBvbmx5IGJlIHJlcXVlc3RlZCBpZiB0aGUgdXNlciBpcyBsb2dnZWQgaW4uJyk7XG4gICAgfVxuICAgIHJldHVybiB0aGlzLnVzZXIuaGFzUm9sZShjdXJyZW50VXNlciwgcm9sZUlkKTtcbiAgfVxuXG4gIGhhc0FsbFJvbGVzKHJvbGVJZHM6IHN0cmluZ1tdKSB7XG4gICAgY29uc3QgY3VycmVudFVzZXIgPSB0aGlzLmFwcFN0YXRlLmN1cnJlbnRVc2VyLnZhbHVlO1xuICAgIGlmICghY3VycmVudFVzZXIpIHtcbiAgICAgIHRocm93IG5ldyBFcnJvcignUm9sZXMgY2FuIG9ubHkgYmUgcmVxdWVzdGVkIGlmIHRoZSB1c2VyIGlzIGxvZ2dlZCBpbi4nKTtcbiAgICB9XG4gICAgcmV0dXJuIHRoaXMudXNlci5oYXNBbGxSb2xlcyhjdXJyZW50VXNlciwgcm9sZUlkcyk7XG4gIH1cblxuICBoYXNBbnlSb2xlKHJvbGVJZHM6IHN0cmluZ1tdKSB7XG4gICAgY29uc3QgY3VycmVudFVzZXIgPSB0aGlzLmFwcFN0YXRlLmN1cnJlbnRVc2VyLnZhbHVlO1xuICAgIGlmICghY3VycmVudFVzZXIpIHtcbiAgICAgIHRocm93IG5ldyBFcnJvcignUm9sZXMgY2FuIG9ubHkgYmUgcmVxdWVzdGVkIGlmIHRoZSB1c2VyIGlzIGxvZ2dlZCBpbi4nKTtcbiAgICB9XG4gICAgcmV0dXJuIHRoaXMudXNlci5oYXNBbnlSb2xlKGN1cnJlbnRVc2VyLCByb2xlSWRzKTtcbiAgfVxuXG4gIGhhc0FueUdsb2JhbFJvbGUoZ2xvYmFsUm9sZXNJZHM6IG51bWJlcltdKSB7XG4gICAgY29uc3QgY3VycmVudFVzZXIgPSB0aGlzLmFwcFN0YXRlLmN1cnJlbnRVc2VyLnZhbHVlO1xuICAgIGlmICghY3VycmVudFVzZXIpIHtcbiAgICAgIHRocm93IG5ldyBFcnJvcignR2xvYmFsIHJvbGVzIGNhbiBvbmx5IGJlIHJlcXVlc3RlZCBpZiB0aGUgdXNlciBpcyBsb2dnZWQgaW4uJyk7XG4gICAgfVxuICAgIHJldHVybiB0aGlzLnVzZXIuaGFzQW55R2xvYmFsUm9sZShjdXJyZW50VXNlciwgZ2xvYmFsUm9sZXNJZHMpO1xuICB9XG5cbiAgQG1lbW9pemUocHJvcGVydHkoJ2lkJykpXG4gIHByb3RlY3RlZCBhc3luYyBjaGVja0lmT3duZXIobW8pIHtcbiAgICBjb25zdCBjdXJyZW50VXNlck5hbWUgPSBhd2FpdCB0aGlzLmFwcFN0YXRlLmN1cnJlbnRVc2VyLnZhbHVlLnVzZXJOYW1lO1xuICAgIGNvbnN0IHsgZGF0YSB9ID0gYXdhaXQgdGhpcy5pbnZlbnRvcnkuZGV0YWlsKG1vLmlkKTtcbiAgICByZXR1cm4gY3VycmVudFVzZXJOYW1lID09PSBkYXRhLm93bmVyO1xuICB9XG5cbiAgQG1lbW9pemUocHJvcGVydHkoJ2lkJykpXG4gIHByb3RlY3RlZCBjaGVja1dpdGhSZXF1ZXN0KG1vKSB7XG4gICAgY29uc3QgbW9JZCA9IG1vLmlkO1xuICAgIGNvbnN0IHBhcnRpYWxVcGRhdGVPYmplY3Q6IFBhcnRpYWw8SU1hbmFnZWRPYmplY3Q+ID0ge1xuICAgICAgaWQ6IG1vSWRcbiAgICB9O1xuICAgIHJldHVybiB0aGlzLmludmVudG9yeVxuICAgICAgLnVwZGF0ZShwYXJ0aWFsVXBkYXRlT2JqZWN0KVxuICAgICAgLnRoZW4oKCkgPT4ge1xuICAgICAgICByZXR1cm4gdHJ1ZTtcbiAgICAgIH0pXG4gICAgICAuY2F0Y2goKCkgPT4ge1xuICAgICAgICByZXR1cm4gZmFsc2U7XG4gICAgICB9KTtcbiAgfVxuXG4gIHByaXZhdGUgYXN5bmMgY2hlY2tJZkNhbkVkaXQocm9sZUlkcywgbW8sIGNvbmZpZzogQ2FuRWRpdENvbmZpZykge1xuICAgIGlmICghY29uZmlnPy5za2lwUm9sZXNDaGVjayAmJiAoYXdhaXQgdGhpcy5oYXNBbnlSb2xlKHJvbGVJZHMpKSkge1xuICAgICAgcmV0dXJuIHRydWU7XG4gICAgfSBlbHNlIGlmICghY29uZmlnPy5za2lwT3duZXJDaGVjayAmJiAoYXdhaXQgdGhpcy5jaGVja0lmT3duZXIobW8pKSkge1xuICAgICAgcmV0dXJuIHRydWU7XG4gICAgfSBlbHNlIGlmICghY29uZmlnPy5za2lwUmVxdWVzdENoZWNrICYmIChhd2FpdCB0aGlzLmNoZWNrV2l0aFJlcXVlc3QobW8pKSkge1xuICAgICAgcmV0dXJuIHRydWU7XG4gICAgfVxuICAgIHJldHVybiBmYWxzZTtcbiAgfVxufVxuIl19
|
|
@@ -3,6 +3,7 @@ import { ApplicationType, GrantType, TenantLoginOptionType, UserManagementSource
|
|
|
3
3
|
import { get } from 'lodash-es';
|
|
4
4
|
import { AppStateService } from './ui-state.service';
|
|
5
5
|
import { take } from 'rxjs/operators';
|
|
6
|
+
import { Permissions } from '../common/permissions.service';
|
|
6
7
|
import * as i0 from "@angular/core";
|
|
7
8
|
import * as i1 from "@c8y/client";
|
|
8
9
|
import * as i2 from "./ui-state.service";
|
|
@@ -12,7 +13,7 @@ export class TenantUiService {
|
|
|
12
13
|
this.userService = userService;
|
|
13
14
|
this.appStateService = appStateService;
|
|
14
15
|
this.MANAGEMENT = 'management';
|
|
15
|
-
this.ROLE_TENANT_MANAGEMENT_READ =
|
|
16
|
+
this.ROLE_TENANT_MANAGEMENT_READ = Permissions.ROLE_TENANT_MANAGEMENT_READ;
|
|
16
17
|
}
|
|
17
18
|
/**
|
|
18
19
|
* Returns current tenant
|
|
@@ -237,4 +238,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.0.6", ngImpor
|
|
|
237
238
|
type: Injectable,
|
|
238
239
|
args: [{ providedIn: 'root' }]
|
|
239
240
|
}], ctorParameters: function () { return [{ type: i1.UserService }, { type: i2.AppStateService }]; } });
|
|
240
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGVuYW50LXVpLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9jb3JlL2NvbW1vbi90ZW5hbnQtdWkuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzNDLE9BQU8sRUFDTCxlQUFlLEVBQ2YsU0FBUyxFQUtULHFCQUFxQixFQUNyQixvQkFBb0IsRUFDcEIsV0FBVyxFQUNaLE1BQU0sYUFBYSxDQUFDO0FBQ3JCLE9BQU8sRUFBRSxHQUFHLEVBQUUsTUFBTSxXQUFXLENBQUM7QUFDaEMsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLG9CQUFvQixDQUFDO0FBQ3JELE9BQU8sRUFBRSxJQUFJLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQzs7OztBQUV0QyxtRkFBbUY7QUFFbkYsTUFBTSxPQUFPLGVBQWU7SUFJMUIsWUFBb0IsV0FBd0IsRUFBVSxlQUFnQztRQUFsRSxnQkFBVyxHQUFYLFdBQVcsQ0FBYTtRQUFVLG9CQUFlLEdBQWYsZUFBZSxDQUFpQjtRQUg3RSxlQUFVLEdBQUcsWUFBWSxDQUFDO1FBQzFCLGdDQUEyQixHQUFHLDZCQUE2QixDQUFDO0lBRW9CLENBQUM7SUFFMUY7O09BRUc7SUFDSCxJQUFJLGFBQWE7UUFDZixPQUFPLElBQUksQ0FBQyxlQUFlLENBQUMsYUFBYSxDQUFDLEtBQUssQ0FBQztJQUNsRCxDQUFDO0lBRUQ7OztPQUdHO0lBQ0gsS0FBSyxDQUFDLGtCQUFrQjtRQUN0QixNQUFNLGFBQWEsR0FBRyxJQUFJLENBQUMsZUFBZSxDQUFDLGFBQWEsQ0FBQyxLQUFLLENBQUM7UUFDL0QsT0FBTyxJQUFJLENBQUMsWUFBWSxDQUFDLGFBQWEsQ0FBQyxDQUFDO0lBQzFDLENBQUM7SUFFRDs7Ozs7Ozs7Ozs7T0FXRztJQUNILEtBQUssQ0FBQyxrQkFBa0I7UUFDdEIsTUFBTSxtQkFBbUIsR0FBRyxNQUFNLElBQUksQ0FB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QixFQUFFLENBQ0gsQ0FBQztRQUNGLE9BQU8sVUFBVTthQUNkLEdBQUcsQ0FBQyxNQUFNLENBQUMsRUFBRSxDQUFDLE1BQU0sQ0FBQyxXQUFXLENBQUM7YUFDakMsTUFBTSxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsR0FBRyxDQUFDLElBQUksS0FBSyxlQUFlLENBQUMsWUFBWSxDQUFDLENBQUM7SUFDOUQsQ0FBQztJQUVPLE1BQU0sQ0FBQyxJQUFvQixFQUFFLGVBQXVCO1FBQzFELElBQUksQ0FBQyxJQUFJLEVBQUUsTUFBTSxFQUFFO1lBQ2pCLE9BQU8sS0FBSyxDQUFDO1NBQ2Q7UUFDRCxPQUFPLElBQUksQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxHQUFHLENBQUMsSUFBSSxLQUFLLGVBQWUsQ0FBQyxDQUFDO0lBQ3hELENBQUM7SUFFTyxZQUFZLENBQUMsYUFBNkI7UUFDaEQsT0FBTyxhQUFhLENBQUMsSUFBSSxLQUFLLElBQUksQ0FBQyxVQUFVLENBQUM7SUFDaEQsQ0FBQzs7NEdBL1BVLGVBQWU7Z0hBQWYsZUFBZSxjQURGLE1BQU07MkZBQ25CLGVBQWU7a0JBRDNCLFVBQVU7bUJBQUMsRUFBRSxVQUFVLEVBQUUsTUFBTSxFQUFFIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHtcbiAgQXBwbGljYXRpb25UeXBlLFxuICBHcmFudFR5cGUsXG4gIElBcHBsaWNhdGlvbixcbiAgSUFwcGxpY2F0aW9uUmVmZXJlbmNlLFxuICBJQ3VycmVudFRlbmFudCxcbiAgSVRlbmFudExvZ2luT3B0aW9uLFxuICBUZW5hbnRMb2dpbk9wdGlvblR5cGUsXG4gIFVzZXJNYW5hZ2VtZW50U291cmNlLFxuICBVc2VyU2VydmljZVxufSBmcm9tICdAYzh5L2NsaWVudCc7XG5pbXBvcnQgeyBnZXQgfSBmcm9tICdsb2Rhc2gtZXMnO1xuaW1wb3J0IHsgQXBwU3RhdGVTZXJ2aWNlIH0gZnJvbSAnLi91aS1zdGF0ZS5zZXJ2aWNlJztcbmltcG9ydCB7IHRha2UgfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XG5cbi8qKiBUaGUgaGVscGVyIFVJIHNlcnZpY2UgZm9yIHRlbmFudCByZWxhdGVkIG1ldGhvZHMgYnVpbHQgdXBvbiBjbGllbnQgc2VydmljZXMuICovXG5ASW5qZWN0YWJsZSh7IHByb3ZpZGVkSW46ICdyb290JyB9KVxuZXhwb3J0IGNsYXNzIFRlbmFudFVpU2VydmljZSB7XG4gIHJlYWRvbmx5IE1BTkFHRU1FTlQgPSAnbWFuYWdlbWVudCc7XG4gIHJlYWRvbmx5IFJPTEVfVEVOQU5UX01BTkFHRU1FTlRfUkVBRCA9ICdST0xFX1RFTkFOVF9NQU5BR0VNRU5UX1JFQUQnO1xuXG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgdXNlclNlcnZpY2U6IFVzZXJTZXJ2aWNlLCBwcml2YXRlIGFwcFN0YXRlU2VydmljZTogQXBwU3RhdGVTZXJ2aWNlKSB7fVxuXG4gIC8qKlxuICAgKiBSZXR1cm5zIGN1cnJlbnQgdGVuYW50XG4gICAqL1xuICBnZXQgY3VycmVudFRlbmFudCgpOiBJQ3VycmVudFRlbmFudCB7XG4gICAgcmV0dXJuIHRoaXMuYXBwU3RhdGVTZXJ2aWNlLmN1cnJlbnRUZW5hbnQudmFsdWU7XG4gIH1cblxuICAvKipcbiAgICogQ2hlY2tzIHdoZXRoZXIgY3VycmVudCB0ZW5hbnQgaXMgdGhlIG1hbmFnZW1lbnQgdGVuYW50LlxuICAgKiBAcmV0dXJucyBUcnVlIGlmIGN1cnJlbnQgdGVuYW50IGlzIHRoZSBtYW5hZ2VtZW50IHRlbmFudC5cbiAgICovXG4gIGFzeW5jIGlzTWFuYWdlbWVudFRlbmFudCgpOiBQcm9taXNlPGJvb2xlYW4+IHtcbiAgICBjb25zdCBjdXJyZW50VGVuYW50ID0gdGhpcy5hcHBTdGF0ZVNlcnZpY2UuY3VycmVudFRlbmFudC52YWx1ZTtcbiAgICByZXR1cm4gdGhpcy5pc01hbmFnZW1lbnQoY3VycmVudFRlbmFudCk7XG4gIH1cblxuICAvKipcbiAgICogQ2hlY2tzIHdoZXRoZXIgY3VycmVudCB0ZW5hbnQgaXMgYW4gZW50ZXJwcmlzZSB0ZW5hbnQuXG4gICAqIEFuIGVudGVycHJpc2UgdGVuYW50IGlzIGEgdGVuYW50IHdoaWNoIGhhcyBzdWJzY3JpYmVkOlxuICAgKiAtIGBicmFuZGluZ2AgbWljcm9zZXJ2aWNlIG9yIGBmZWF0dXJlLWJyYW5kaW5nYCBmZWF0dXJlIGFwcCxcbiAgICogLSBgc3NsbWFuYWdlbWVudGAgbWljcm9zZXJ2aWNlLFxuICAgKiAtIGBmZWF0dXJlLXVzZXItaGllcmFyY2h5YCBmZWF0dXJlIGFwcCxcbiAgICogLSBgZmVhdHVyZS1icm9rZXJgIGZlYXR1cmUgYXBwLlxuICAgKlxuICAgKiBTZWUgaHR0cHM6Ly9jdW11bG9jaXR5LmNvbS9ndWlkZXMvdXNlcnMtZ3VpZGUvZW50ZXJwcmlzZS1lZGl0aW9uLyBmb3IgZGV0YWlscyBhYm91dCBzdWNoIHRlbmFudHMuXG4gICAqXG4gICAqIEByZXR1cm5zIFRydWUsIGlmIGN1cnJlbnQgdGVuYW50IGlzIGFuIGVudGVycHJpc2UgdGVuYW50LlxuICAgKi9cbiAgYXN5bmMgaXNFbnRlcnByaXNlVGVuYW50KCk6IFByb21pc2U8Ym9vbGVhbj4ge1xuICAgIGNvbnN0IGF2YWlsYWJsZUFwcHNPZlVzZXIgPSBhd2FpdCB0aGlzLmFwcFN0YXRlU2VydmljZS5jdXJyZW50QXBwc09mVXNlclxuICAgICAgLnBpcGUodGFrZSgxKSlcbiAgICAgIC50b1Byb21pc2UoKTtcblxuICAgIGNvbnN0IGJyYW5kaW5nQXZhaWxhYmxlID1cbiAgICAgIHRoaXMuaGFzQXBwKGF2YWlsYWJsZUFwcHNPZlVzZXIsICdicmFuZGluZycpIHx8XG4gICAgICB0aGlzLmhhc0FwcChhdmFpbGFibGVBcHBzT2ZVc2VyLCAnZmVhdHVyZS1icmFuZGluZycpO1xuXG4gICAgY29uc3QgcmVxdWlyZWRBcHBzQW5kRmVhdHVyZXNBdmFpbGFibGUgPVxuICAgICAgYnJhbmRpbmdBdmFpbGFibGUgJiZcbiAgICAgIHRoaXMuaGFzQXBwKGF2YWlsYWJsZUFwcHNPZlVzZXIsICdzc2xtYW5hZ2VtZW50JykgJiZcbiAgICAgIHRoaXMuaGFzQXBwKGF2YWlsYWJsZUFwcHNPZlVzZXIsICdmZWF0dXJlLXVzZXItaGllcmFyY2h5JykgJiZcbiAgICAgIHRoaXMuaGFzQXBwKGF2YWlsYWJsZUFwcHNPZlVzZXIsICdmZWF0dXJlLWJyb2tlcicpO1xuXG4gICAgcmV0dXJuIHJlcXVpcmVkQXBwc0FuZEZlYXR1cmVzQXZhaWxhYmxlO1xuICB9XG5cbiAgLyoqXG4gICAqIENoZWNrcyB3aGV0aGVyIHRoZSBjdXJyZW50IHVzZXIgaGFzIHJlYWQgYWNjZXNzIHRvIHRlbmFudHMsIGkuZS46XG4gICAqIC0gdGhlIGN1cnJlbnQgdGVuYW50IGNhbiBjcmVhdGUgc3VidGVuYW50cyBvciBpdCdzIHRoZSBtYW5hZ2VtZW50IHRlbmFudCxcbiAgICogLSB0aGUgY3VycmVudCB1c2VyIGhhcyBST0xFX1RFTkFOVF9NQU5BR0VNRU5UX1JFQUQgcm9sZS5cbiAgICogQHJldHVybnMgVHJ1ZSwgaWYgdGhlIGN1cnJlbnQgdXNlciBoYXMgcmVhZCBhY2Nlc3MgdG8gdGVuYW50cy5cbiAgICovXG4gIGNhblJlYWRUZW5hbnRzKCk6IGJvb2xlYW4ge1xuICAgIGNvbnN0IGN1cnJlbnRUZW5hbnQgPSB0aGlzLmFwcFN0YXRlU2VydmljZS5jdXJyZW50VGVuYW50LnZhbHVlO1xuICAgIGNvbnN0IGN1cnJlbnRVc2VyID0gdGhpcy5hcHBTdGF0ZVNlcnZpY2UuY3VycmVudFVzZXIudmFsdWU7XG4gICAgcmV0dXJuIChcbiAgICAgICh0aGlzLmlzTWFuYWdlbWVudChjdXJyZW50VGVuYW50KSB8fCBjdXJyZW50VGVuYW50LmFsbG93Q3JlYXRlVGVuYW50cykgJiZcbiAgICAgIHRoaXMudXNlclNlcnZpY2UuaGFzUm9sZShjdXJyZW50VXNlciwgdGhpcy5ST0xFX1RFTkFOVF9NQU5BR0VNRU5UX1JFQUQpXG4gICAgKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBSZXR1cm5zIGN1cnJlbnQgdGVuYW50IHByZWZlcnJlZCBsb2dpbiBtb2RlLlxuICAgKi9cbiAgZ2V0Q3VycmVudFRlbmFudFByZWZlcnJlZExvZ2luT3B0aW9uKCk6IElUZW5hbnRMb2dpbk9wdGlvbiB7XG4gICAgcmV0dXJuIHRoaXMuZ2V0UHJlZmVycmVkTG9naW5PcHRpb24odGhpcy5hcHBTdGF0ZVNlcnZpY2Uuc3RhdGUubG9naW5PcHRpb25zKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBSZXR1cm5zIGN1cnJlbnQgdXNlciBsb2dpbiBtb2RlLlxuICAgKi9cbiAgZ2V0Q3VycmVudFVzZXJMb2dpbk1vZGUoKTogVGVuYW50TG9naW5PcHRpb25UeXBlIHtcbiAgICBjb25zdCBwcmVmZXJyZWRMb2dpbk9wdGlvbiA9IHRoaXMuZ2V0Q3VycmVudFRlbmFudFByZWZlcnJlZExvZ2luT3B0aW9uKCk7XG4gICAgY29uc3QgY3VycmVudFVzZXIgPSB0aGlzLmFwcFN0YXRlU2VydmljZS5jdXJyZW50VXNlci52YWx1ZTtcbiAgICBpZiAoY3VycmVudFVzZXIuY3VzdG9tUHJvcGVydGllcy51c2VyT3JpZ2luID09PSAnT0FVVEgyJykge1xuICAgICAgcmV0dXJuIFRlbmFudExvZ2luT3B0aW9uVHlwZS5PQVVUSDI7XG4gICAgfVxuICAgIHJldHVybiB0aGlzLmlzQmFzaWMocHJlZmVycmVkTG9naW5PcHRpb24pXG4gICAgICA/IFRlbmFudExvZ2luT3B0aW9uVHlwZS5CQVNJQ1xuICAgICAgOiBUZW5hbnRMb2dpbk9wdGlvblR5cGUuT0FVVEgyX0lOVEVSTkFMO1xuICB9XG5cbiAgLyoqXG4gICAqIFJldHVybnMgdGVuYW50IGxvZ2luIG9wdGlvbiB3aGljaCBpcyBwcmVmZXJyZWQuXG4gICAqXG4gICAqIEBwYXJhbSBsb2dpbk9wdGlvbnMgVGhlIGxpc3Qgb2YgYWxsIGF2YWlsYWJsZSB0ZW5hbnQncyBsb2dpbiBvcHRpb25zLlxuICAgKlxuICAgKiBAcmV0dXJucyBSZXR1cm5zIElUZW5hbnRMb2dpbk9wdGlvbi5cbiAgICpcbiAgICogKipFeGFtcGxlKipcbiAgICogYGBgdHlwZXNjcmlwdFxuICAgKlxuICAgKiAgICAoKCkgPT4ge1xuICAgKiAgICAgIGNvbnN0IHByZWZlcnJlZExvZ2luT3B0aW9uID0gdGVuYW50TG9naW5PcHRpb25zU2VydmljZS5nZXRQcmVmZXJyZWRMb2dpbk9wdGlvbihsb2dpbk9wdGlvbnMpO1xuICAgKiAgIH0pKCk7XG4gICAqIGBgYFxuICAgKi9cbiAgZ2V0UHJlZmVycmVkTG9naW5PcHRpb24obG9naW5PcHRpb25zOiBJVGVuYW50TG9naW5PcHRpb25bXSk6IElUZW5hbnRMb2dpbk9wdGlvbiB7XG4gICAgY29uc3QgZGVmYXVsdEZhbGxiYWNrID0ge1xuICAgICAgdHlwZTogVGVuYW50TG9naW5PcHRpb25UeXBlLkJBU0lDLFxuICAgICAgdXNlck1hbmFnZW1lbnRTb3VyY2U6IFVzZXJNYW5hZ2VtZW50U291cmNlLklOVEVSTkFMXG4gICAgfTtcbiAgICBpZiAoIWxvZ2luT3B0aW9ucykge1xuICAgICAgcmV0dXJuIGRlZmF1bHRGYWxsYmFjaztcbiAgICB9IGVsc2Uge1xuICAgICAgY29uc3QgdmlzaWJsZUxvZ2luT3B0aW9ucyA9IGxvZ2luT3B0aW9ucy5maWx0ZXIodGhpcy5pc1Zpc2libGVPbkxvZ2luUGFnZSk7XG5cbiAgICAgIHJldHVybiAoXG4gICAgICAgIHZpc2libGVMb2dpbk9wdGlvbnMuZmluZCh0aGlzLmlzT2F1dGhJbnRlcm5hbCkgfHxcbiAgICAgICAgdmlzaWJsZUxvZ2luT3B0aW9ucy5maW5kKHRoaXMuaXNCYXNpYykgfHxcbiAgICAgICAgdmlzaWJsZUxvZ2luT3B0aW9ucy5maW5kKHRoaXMuaXNPYXV0aDIpIHx8XG4gICAgICAgIGRlZmF1bHRGYWxsYmFja1xuICAgICAgKTtcbiAgICB9XG4gIH1cblxuICAvKipcbiAgICogUmV0dXJucyBPYXV0aDIgbG9naW4gb3B0aW9uIGlmIGl0IGNhbiBiZSB1c2VkIGJ5IFVJLlxuICAgKlxuICAgKiBAcGFyYW0gbG9naW5PcHRpb25zIFRoZSBsaXN0IG9mIGFsbCBhdmFpbGFibGUgdGVuYW50J3MgbG9naW4gb3B0aW9ucy5cbiAgICpcbiAgICogQHJldHVybnMgUmV0dXJucyBJVGVuYW50TG9naW5PcHRpb24uXG4gICAqXG4gICAqICoqRXhhbXBsZSoqXG4gICAqIGBgYHR5cGVzY3JpcHRcbiAgICpcbiAgICogICAgKCgpID0+IHtcbiAgICogICAgICBjb25zdCBvYXV0aDIgPSB0ZW5hbnRMb2dpbk9wdGlvbnNTZXJ2aWNlLmdldE9hdXRoMk9wdGlvbihsb2dpbk9wdGlvbnMpO1xuICAgKiAgIH0pKCk7XG4gICAqIGBgYFxuICAgKi9cbiAgZ2V0T2F1dGgyT3B0aW9uKGxvZ2luT3B0aW9uczogSVRlbmFudExvZ2luT3B0aW9uW10pOiBJVGVuYW50TG9naW5PcHRpb24ge1xuICAgIHJldHVybiBsb2dpbk9wdGlvbnMuZmluZChcbiAgICAgIGxvZ2luT3B0aW9uID0+IHRoaXMuaXNWaXNpYmxlT25Mb2dpblBhZ2UobG9naW5PcHRpb24pICYmIHRoaXMuaXNPYXV0aDIobG9naW5PcHRpb24pXG4gICAgKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBDYWxsYmFjayB3aGljaCBjaGVja3MgaWYgbG9naW4gb3B0aW9uIGlzIHZpc2libGUgb24gbG9naW4gcGFnZS5cbiAgICpcbiAgICogQHBhcmFtIGxvZ2luT3B0aW9uIFRoZSB0ZW5hbnQgbG9naW4gb3B0aW9uLlxuICAgKlxuICAgKiAqKkV4YW1wbGUqKlxuICAgKiBgYGB0eXBlc2NyaXB0XG4gICAqXG4gICAqICAgICgoKSA9PiB7XG4gICAqICAgICAgY29uc3QgbG9naW5PcHRpb25zVmlzaWJsZU9uTG9naW5QYWdlID0gbG9naW5PcHRpb25zLmZpbHRlcih0ZW5hbnRMb2dpbk9wdGlvbnNTZXJ2aWNlLmlzVmlzaWJsZU9uTG9naW5QYWdlKTtcbiAgICogICB9KSgpO1xuICAgKiBgYGBcbiAgICovXG4gIGlzVmlzaWJsZU9uTG9naW5QYWdlKGxvZ2luT3B0aW9uOiBJVGVuYW50TG9naW5PcHRpb24pOiBib29sZWFuIHtcbiAgICByZXR1cm4gbG9naW5PcHRpb24udmlzaWJsZU9uTG9naW5QYWdlO1xuICB9XG5cbiAgLyoqXG4gICAqIENhbGxiYWNrIHdoaWNoIGNoZWNrcyBpZiBsb2dpbiBvcHRpb24gdHlwZSBpcyAnT0FVVEgyX0lOVEVSTkFMJy5cbiAgICpcbiAgICogQHBhcmFtIGxvZ2luT3B0aW9uIFRoZSB0ZW5hbnQgbG9naW4gb3B0aW9uLlxuICAgKlxuICAgKiAqKkV4YW1wbGUqKlxuICAgKiBgYGB0eXBlc2NyaXB0XG4gICAqXG4gICAqICAgICgoKSA9PiB7XG4gICAqICAgICAgY29uc3Qgb2F1dGgySW50ZXJuYWxMb2dpbk9wdGlvbnMgPSBsb2dpbk9wdGlvbnMuZmlsdGVyKHRlbmFudExvZ2luT3B0aW9uc1NlcnZpY2UuaXNPYXV0aEludGVybmFsKTtcbiAgICogICB9KSgpO1xuICAgKiBgYGBcbiAgICovXG4gIGlzT2F1dGhJbnRlcm5hbChsb2dpbk9wdGlvbjogSVRlbmFudExvZ2luT3B0aW9uKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIGxvZ2luT3B0aW9uLnR5cGUgPT09IFRlbmFudExvZ2luT3B0aW9uVHlwZS5PQVVUSDJfSU5URVJOQUw7XG4gIH1cblxuICAvKipcbiAgICogQ2FsbGJhY2sgd2hpY2ggY2hlY2tzIGlmIGxvZ2luIG9wdGlvbiB0eXBlIGlzICdCQVNJQycuXG4gICAqXG4gICAqIEBwYXJhbSBsb2dpbk9wdGlvbiBUaGUgdGVuYW50IGxvZ2luIG9wdGlvbi5cbiAgICpcbiAgICogKipFeGFtcGxlKipcbiAgICogYGBgdHlwZXNjcmlwdFxuICAgKlxuICAgKiAgICAoKCkgPT4ge1xuICAgKiAgICAgIGNvbnN0IGJhc2ljTG9naW5PcHRpb25zID0gbG9naW5PcHRpb25zLmZpbHRlcih0ZW5hbnRMb2dpbk9wdGlvbnNTZXJ2aWNlLmlzQmFzaWMpO1xuICAgKiAgIH0pKCk7XG4gICAqIGBgYFxuICAgKi9cbiAgaXNCYXNpYyhsb2dpbk9wdGlvbjogSVRlbmFudExvZ2luT3B0aW9uKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIGxvZ2luT3B0aW9uLnR5cGUgPT09IFRlbmFudExvZ2luT3B0aW9uVHlwZS5CQVNJQztcbiAgfVxuXG4gIC8qKlxuICAgKiBDYWxsYmFjayB3aGljaCBjaGVja3MgaWYgbG9naW4gb3B0aW9uIHR5cGUgaXMgJ09BVVRIMicgYW5kIGdyYW50VHlwZSBpcyAnQVVUSE9SSVpBVElPTl9DT0RFJy5cbiAgICpcbiAgICogQHBhcmFtIGxvZ2luT3B0aW9uIFRoZSB0ZW5hbnQgbG9naW4gb3B0aW9uLlxuICAgKlxuICAgKiAqKkV4YW1wbGUqKlxuICAgKiBgYGB0eXBlc2NyaXB0XG4gICAqXG4gICAqICAgICgoKSA9PiB7XG4gICAqICAgICAgY29uc3Qgb2F1dGgyTG9naW5PcHRpb25zID0gbG9naW5PcHRpb25zLmZpbHRlcih0ZW5hbnRMb2dpbk9wdGlvbnNTZXJ2aWNlLk9BVVRIMik7XG4gICAqICAgfSkoKTtcbiAgICogYGBgXG4gICAqL1xuICBpc09hdXRoMihsb2dpbk9wdGlvbjogSVRlbmFudExvZ2luT3B0aW9uKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIChcbiAgICAgIGxvZ2luT3B0aW9uLnR5cGUgPT09IFRlbmFudExvZ2luT3B0aW9uVHlwZS5PQVVUSDIgJiZcbiAgICAgIGxvZ2luT3B0aW9uLmdyYW50VHlwZSA9PT0gR3JhbnRUeXBlLkFVVEhPUklaQVRJT05fQ09ERVxuICAgICk7XG4gIH1cblxuICAvKipcbiAgICogQ2hlY2tzIGlmIGFwcGxpY2F0aW9uIG9mIHR5cGUgTUlDUk9TRVJWSUNFIGlzIHN1YnNjcmliZWQgdG8gdGhlIGN1cnJlbnQgdGVuYW50LlxuICAgKiBJdCBjaGVja3MgdGhlIGFwcGxpY2F0aW9uIHJlZmVyZW5jZXMgb2YgdGhlIGN1cnJlbnRUZW5hbnQgZnJvbSB0aGUgYXBwbGljYXRpb24gc3RhdGUuXG4gICAqIE5vIGFkZGl0aW9uYWwgcmVxdWVzdC5cbiAgICogQHBhcmFtIGlkZW50aWZpZXIgYXBwbGljYXRpb24gbmFtZSBvciBjb250ZXh0UGF0aFxuICAgKi9cbiAgaXNNaWNyb3NlcnZpY2VTdWJzY3JpYmVkSW5DdXJyZW50VGVuYW50KGlkZW50aWZpZXI6IHN0cmluZyk6IGJvb2xlYW4ge1xuICAgIGlmIChpZGVudGlmaWVyPy5sZW5ndGggPiAwKSB7XG4gICAgICBjb25zdCBtaWNyb3NlcnZpY2VzID0gdGhpcy5nZXRTdWJzY3JpYmVkTWljcm9zZXJ2aWNlc0luQ3VycmVudFRlbmFudCgpO1xuICAgICAgcmV0dXJuIG1pY3Jvc2VydmljZXMuc29tZSgoeyBuYW1lLCBjb250ZXh0UGF0aCB9KSA9PlxuICAgICAgICBbbmFtZSwgY29udGV4dFBhdGhdLmluY2x1ZGVzKGlkZW50aWZpZXIpXG4gICAgICApO1xuICAgIH1cbiAgICByZXR1cm4gZmFsc2U7XG4gIH1cblxuICAvKipcbiAgICogR2V0cyBhbGwgYXBwbGljYXRpb24gb2YgdHlwZSBNSUNST1NFUlZJQ0Ugc3Vic2NyaWJlZCB0byB0aGUgY3VycmVudCB0ZW5hbnQuXG4gICAqIEl0IGNoZWNrcyB0aGUgYXBwbGljYXRpb24gcmVmZXJlbmNlcyBvZiB0aGUgY3VycmVudFRlbmFudCBmcm9tIHRoZSBhcHBsaWNhdGlvbiBzdGF0ZS5cbiAgICogTm8gYWRkaXRpb25hbCByZXF1ZXN0LlxuICAgKi9cbiAgZ2V0U3Vic2NyaWJlZE1pY3Jvc2VydmljZXNJbkN1cnJlbnRUZW5hbnQoKTogSUFwcGxpY2F0aW9uW10ge1xuICAgIGNvbnN0IHJlZmVyZW5jZXM6IElBcHBsaWNhdGlvblJlZmVyZW5jZVtdID0gZ2V0KFxuICAgICAgdGhpcy5hcHBTdGF0ZVNlcnZpY2UuY3VycmVudFRlbmFudCxcbiAgICAgICd2YWx1ZS5hcHBsaWNhdGlvbnMucmVmZXJlbmNlcycsXG4gICAgICBbXVxuICAgICk7XG4gICAgcmV0dXJuIHJlZmVyZW5jZXNcbiAgICAgIC5tYXAoYXBwUmVmID0+IGFwcFJlZi5hcHBsaWNhdGlvbilcbiAgICAgIC5maWx0ZXIoYXBwID0+IGFwcC50eXBlID09PSBBcHBsaWNhdGlvblR5cGUuTUlDUk9TRVJWSUNFKTtcbiAgfVxuXG4gIHByaXZhdGUgaGFzQXBwKGFwcHM6IElBcHBsaWNhdGlvbltdLCByZXF1aXJlZEFwcE5hbWU6IHN0cmluZyk6IGJvb2xlYW4ge1xuICAgIGlmICghYXBwcz8ubGVuZ3RoKSB7XG4gICAgICByZXR1cm4gZmFsc2U7XG4gICAgfVxuICAgIHJldHVybiBhcHBzLnNvbWUoYXBwID0+IGFwcC5uYW1lID09PSByZXF1aXJlZEFwcE5hbWUpO1xuICB9XG5cbiAgcHJpdmF0ZSBpc01hbmFnZW1lbnQoY3VycmVudFRlbmFudDogSUN1cnJlbnRUZW5hbnQpIHtcbiAgICByZXR1cm4gY3VycmVudFRlbmFudC5uYW1lID09PSB0aGlzLk1BTkFHRU1FTlQ7XG4gIH1cbn1cbiJdfQ==
|
|
241
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGVuYW50LXVpLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9jb3JlL2NvbW1vbi90ZW5hbnQtdWkuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzNDLE9BQU8sRUFDTCxlQUFlLEVBQ2YsU0FBUyxFQUtULHFCQUFxQixFQUNyQixvQkFBb0IsRUFDcEIsV0FBVyxFQUNaLE1BQU0sYUFBYSxDQUFDO0FBQ3JCLE9BQU8sRUFBRSxHQUFHLEVBQUUsTUFBTSxXQUFXLENBQUM7QUFDaEMsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLG9CQUFvQixDQUFDO0FBQ3JELE9BQU8sRUFBRSxJQUFJLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUN0QyxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sK0JBQStCLENBQUM7Ozs7QUFFNUQsbUZBQW1GO0FBRW5GLE1BQU0sT0FBTyxlQUFlO0lBSTFCLFlBQW9CLFdBQXdCLEVBQVUsZUFBZ0M7UUFBbEUsZ0JBQVcsR0FBWCxXQUFXLENBQWE7UUFBVSxvQkFBZSxHQUFmLGVBQWUsQ0FBaUI7UUFIN0UsZUFBVSxHQUFHLFlBQVksQ0FBQztRQUMxQixnQ0FBMkIsR0FBRyxXQUFXLENBQUMsMkJBQTJCLENBQUM7SUFFVSxDQUFDO0lBRTFGOztPQUVHO0lBQ0gsSUFBSSxhQUFhO1FBQ2YsT0FBTyxJQUFJLENBQUMsZUFBZSxDQUFDLGFBQWEsQ0FBQyxLQUFLLENBQUM7SUFDbEQsQ0FBQztJQUVEOzs7T0FHRztJQUNILEtBQUssQ0FBQyxrQkFBa0I7UUFDdEIsTUFBTSxhQUFhLEdBQUcsSUFBSSxDQUFDLGVBQWUsQ0FBQyxhQUFhLENBQUMsS0FBSyxDQUFDO1FBQy9ELE9BQU8sSUFBSSxDQUFDLFlBQVksQ0FBQyxhQUFhLENBQUMsQ0FBQztJQUMxQyxDQUFDO0lBRUQ7Ozs7Ozs7Ozs7O09BV0c7SUFDSCxL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QUFHLENBQzdDLElBQUksQ0FBQyxlQUFlLENBQUMsYUFBYSxFQUNsQywrQkFBK0IsRUFDL0IsRUFBRSxDQUNILENBQUM7UUFDRixPQUFPLFVBQVU7YUFDZCxHQUFHLENBQUMsTUFBTSxDQUFDLEVBQUUsQ0FBQyxNQUFNLENBQUMsV0FBVyxDQUFDO2FBQ2pDLE1BQU0sQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLEdBQUcsQ0FBQyxJQUFJLEtBQUssZUFBZSxDQUFDLFlBQVksQ0FBQyxDQUFDO0lBQzlELENBQUM7SUFFTyxNQUFNLENBQUMsSUFBb0IsRUFBRSxlQUF1QjtRQUMxRCxJQUFJLENBQUMsSUFBSSxFQUFFLE1BQU0sRUFBRTtZQUNqQixPQUFPLEtBQUssQ0FBQztTQUNkO1FBQ0QsT0FBTyxJQUFJLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsR0FBRyxDQUFDLElBQUksS0FBSyxlQUFlLENBQUMsQ0FBQztJQUN4RCxDQUFDO0lBRU8sWUFBWSxDQUFDLGFBQTZCO1FBQ2hELE9BQU8sYUFBYSxDQUFDLElBQUksS0FBSyxJQUFJLENBQUMsVUFBVSxDQUFDO0lBQ2hELENBQUM7OzRHQS9QVSxlQUFlO2dIQUFmLGVBQWUsY0FERixNQUFNOzJGQUNuQixlQUFlO2tCQUQzQixVQUFVO21CQUFDLEVBQUUsVUFBVSxFQUFFLE1BQU0sRUFBRSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7XG4gIEFwcGxpY2F0aW9uVHlwZSxcbiAgR3JhbnRUeXBlLFxuICBJQXBwbGljYXRpb24sXG4gIElBcHBsaWNhdGlvblJlZmVyZW5jZSxcbiAgSUN1cnJlbnRUZW5hbnQsXG4gIElUZW5hbnRMb2dpbk9wdGlvbixcbiAgVGVuYW50TG9naW5PcHRpb25UeXBlLFxuICBVc2VyTWFuYWdlbWVudFNvdXJjZSxcbiAgVXNlclNlcnZpY2Vcbn0gZnJvbSAnQGM4eS9jbGllbnQnO1xuaW1wb3J0IHsgZ2V0IH0gZnJvbSAnbG9kYXNoLWVzJztcbmltcG9ydCB7IEFwcFN0YXRlU2VydmljZSB9IGZyb20gJy4vdWktc3RhdGUuc2VydmljZSc7XG5pbXBvcnQgeyB0YWtlIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuaW1wb3J0IHsgUGVybWlzc2lvbnMgfSBmcm9tICcuLi9jb21tb24vcGVybWlzc2lvbnMuc2VydmljZSc7XG5cbi8qKiBUaGUgaGVscGVyIFVJIHNlcnZpY2UgZm9yIHRlbmFudCByZWxhdGVkIG1ldGhvZHMgYnVpbHQgdXBvbiBjbGllbnQgc2VydmljZXMuICovXG5ASW5qZWN0YWJsZSh7IHByb3ZpZGVkSW46ICdyb290JyB9KVxuZXhwb3J0IGNsYXNzIFRlbmFudFVpU2VydmljZSB7XG4gIHJlYWRvbmx5IE1BTkFHRU1FTlQgPSAnbWFuYWdlbWVudCc7XG4gIHJlYWRvbmx5IFJPTEVfVEVOQU5UX01BTkFHRU1FTlRfUkVBRCA9IFBlcm1pc3Npb25zLlJPTEVfVEVOQU5UX01BTkFHRU1FTlRfUkVBRDtcblxuICBjb25zdHJ1Y3Rvcihwcml2YXRlIHVzZXJTZXJ2aWNlOiBVc2VyU2VydmljZSwgcHJpdmF0ZSBhcHBTdGF0ZVNlcnZpY2U6IEFwcFN0YXRlU2VydmljZSkge31cblxuICAvKipcbiAgICogUmV0dXJucyBjdXJyZW50IHRlbmFudFxuICAgKi9cbiAgZ2V0IGN1cnJlbnRUZW5hbnQoKTogSUN1cnJlbnRUZW5hbnQge1xuICAgIHJldHVybiB0aGlzLmFwcFN0YXRlU2VydmljZS5jdXJyZW50VGVuYW50LnZhbHVlO1xuICB9XG5cbiAgLyoqXG4gICAqIENoZWNrcyB3aGV0aGVyIGN1cnJlbnQgdGVuYW50IGlzIHRoZSBtYW5hZ2VtZW50IHRlbmFudC5cbiAgICogQHJldHVybnMgVHJ1ZSBpZiBjdXJyZW50IHRlbmFudCBpcyB0aGUgbWFuYWdlbWVudCB0ZW5hbnQuXG4gICAqL1xuICBhc3luYyBpc01hbmFnZW1lbnRUZW5hbnQoKTogUHJvbWlzZTxib29sZWFuPiB7XG4gICAgY29uc3QgY3VycmVudFRlbmFudCA9IHRoaXMuYXBwU3RhdGVTZXJ2aWNlLmN1cnJlbnRUZW5hbnQudmFsdWU7XG4gICAgcmV0dXJuIHRoaXMuaXNNYW5hZ2VtZW50KGN1cnJlbnRUZW5hbnQpO1xuICB9XG5cbiAgLyoqXG4gICAqIENoZWNrcyB3aGV0aGVyIGN1cnJlbnQgdGVuYW50IGlzIGFuIGVudGVycHJpc2UgdGVuYW50LlxuICAgKiBBbiBlbnRlcnByaXNlIHRlbmFudCBpcyBhIHRlbmFudCB3aGljaCBoYXMgc3Vic2NyaWJlZDpcbiAgICogLSBgYnJhbmRpbmdgIG1pY3Jvc2VydmljZSBvciBgZmVhdHVyZS1icmFuZGluZ2AgZmVhdHVyZSBhcHAsXG4gICAqIC0gYHNzbG1hbmFnZW1lbnRgIG1pY3Jvc2VydmljZSxcbiAgICogLSBgZmVhdHVyZS11c2VyLWhpZXJhcmNoeWAgZmVhdHVyZSBhcHAsXG4gICAqIC0gYGZlYXR1cmUtYnJva2VyYCBmZWF0dXJlIGFwcC5cbiAgICpcbiAgICogU2VlIGh0dHBzOi8vY3VtdWxvY2l0eS5jb20vZ3VpZGVzL3VzZXJzLWd1aWRlL2VudGVycHJpc2UtZWRpdGlvbi8gZm9yIGRldGFpbHMgYWJvdXQgc3VjaCB0ZW5hbnRzLlxuICAgKlxuICAgKiBAcmV0dXJucyBUcnVlLCBpZiBjdXJyZW50IHRlbmFudCBpcyBhbiBlbnRlcnByaXNlIHRlbmFudC5cbiAgICovXG4gIGFzeW5jIGlzRW50ZXJwcmlzZVRlbmFudCgpOiBQcm9taXNlPGJvb2xlYW4+IHtcbiAgICBjb25zdCBhdmFpbGFibGVBcHBzT2ZVc2VyID0gYXdhaXQgdGhpcy5hcHBTdGF0ZVNlcnZpY2UuY3VycmVudEFwcHNPZlVzZXJcbiAgICAgIC5waXBlKHRha2UoMSkpXG4gICAgICAudG9Qcm9taXNlKCk7XG5cbiAgICBjb25zdCBicmFuZGluZ0F2YWlsYWJsZSA9XG4gICAgICB0aGlzLmhhc0FwcChhdmFpbGFibGVBcHBzT2ZVc2VyLCAnYnJhbmRpbmcnKSB8fFxuICAgICAgdGhpcy5oYXNBcHAoYXZhaWxhYmxlQXBwc09mVXNlciwgJ2ZlYXR1cmUtYnJhbmRpbmcnKTtcblxuICAgIGNvbnN0IHJlcXVpcmVkQXBwc0FuZEZlYXR1cmVzQXZhaWxhYmxlID1cbiAgICAgIGJyYW5kaW5nQXZhaWxhYmxlICYmXG4gICAgICB0aGlzLmhhc0FwcChhdmFpbGFibGVBcHBzT2ZVc2VyLCAnc3NsbWFuYWdlbWVudCcpICYmXG4gICAgICB0aGlzLmhhc0FwcChhdmFpbGFibGVBcHBzT2ZVc2VyLCAnZmVhdHVyZS11c2VyLWhpZXJhcmNoeScpICYmXG4gICAgICB0aGlzLmhhc0FwcChhdmFpbGFibGVBcHBzT2ZVc2VyLCAnZmVhdHVyZS1icm9rZXInKTtcblxuICAgIHJldHVybiByZXF1aXJlZEFwcHNBbmRGZWF0dXJlc0F2YWlsYWJsZTtcbiAgfVxuXG4gIC8qKlxuICAgKiBDaGVja3Mgd2hldGhlciB0aGUgY3VycmVudCB1c2VyIGhhcyByZWFkIGFjY2VzcyB0byB0ZW5hbnRzLCBpLmUuOlxuICAgKiAtIHRoZSBjdXJyZW50IHRlbmFudCBjYW4gY3JlYXRlIHN1YnRlbmFudHMgb3IgaXQncyB0aGUgbWFuYWdlbWVudCB0ZW5hbnQsXG4gICAqIC0gdGhlIGN1cnJlbnQgdXNlciBoYXMgUk9MRV9URU5BTlRfTUFOQUdFTUVOVF9SRUFEIHJvbGUuXG4gICAqIEByZXR1cm5zIFRydWUsIGlmIHRoZSBjdXJyZW50IHVzZXIgaGFzIHJlYWQgYWNjZXNzIHRvIHRlbmFudHMuXG4gICAqL1xuICBjYW5SZWFkVGVuYW50cygpOiBib29sZWFuIHtcbiAgICBjb25zdCBjdXJyZW50VGVuYW50ID0gdGhpcy5hcHBTdGF0ZVNlcnZpY2UuY3VycmVudFRlbmFudC52YWx1ZTtcbiAgICBjb25zdCBjdXJyZW50VXNlciA9IHRoaXMuYXBwU3RhdGVTZXJ2aWNlLmN1cnJlbnRVc2VyLnZhbHVlO1xuICAgIHJldHVybiAoXG4gICAgICAodGhpcy5pc01hbmFnZW1lbnQoY3VycmVudFRlbmFudCkgfHwgY3VycmVudFRlbmFudC5hbGxvd0NyZWF0ZVRlbmFudHMpICYmXG4gICAgICB0aGlzLnVzZXJTZXJ2aWNlLmhhc1JvbGUoY3VycmVudFVzZXIsIHRoaXMuUk9MRV9URU5BTlRfTUFOQUdFTUVOVF9SRUFEKVxuICAgICk7XG4gIH1cblxuICAvKipcbiAgICogUmV0dXJucyBjdXJyZW50IHRlbmFudCBwcmVmZXJyZWQgbG9naW4gbW9kZS5cbiAgICovXG4gIGdldEN1cnJlbnRUZW5hbnRQcmVmZXJyZWRMb2dpbk9wdGlvbigpOiBJVGVuYW50TG9naW5PcHRpb24ge1xuICAgIHJldHVybiB0aGlzLmdldFByZWZlcnJlZExvZ2luT3B0aW9uKHRoaXMuYXBwU3RhdGVTZXJ2aWNlLnN0YXRlLmxvZ2luT3B0aW9ucyk7XG4gIH1cblxuICAvKipcbiAgICogUmV0dXJucyBjdXJyZW50IHVzZXIgbG9naW4gbW9kZS5cbiAgICovXG4gIGdldEN1cnJlbnRVc2VyTG9naW5Nb2RlKCk6IFRlbmFudExvZ2luT3B0aW9uVHlwZSB7XG4gICAgY29uc3QgcHJlZmVycmVkTG9naW5PcHRpb24gPSB0aGlzLmdldEN1cnJlbnRUZW5hbnRQcmVmZXJyZWRMb2dpbk9wdGlvbigpO1xuICAgIGNvbnN0IGN1cnJlbnRVc2VyID0gdGhpcy5hcHBTdGF0ZVNlcnZpY2UuY3VycmVudFVzZXIudmFsdWU7XG4gICAgaWYgKGN1cnJlbnRVc2VyLmN1c3RvbVByb3BlcnRpZXMudXNlck9yaWdpbiA9PT0gJ09BVVRIMicpIHtcbiAgICAgIHJldHVybiBUZW5hbnRMb2dpbk9wdGlvblR5cGUuT0FVVEgyO1xuICAgIH1cbiAgICByZXR1cm4gdGhpcy5pc0Jhc2ljKHByZWZlcnJlZExvZ2luT3B0aW9uKVxuICAgICAgPyBUZW5hbnRMb2dpbk9wdGlvblR5cGUuQkFTSUNcbiAgICAgIDogVGVuYW50TG9naW5PcHRpb25UeXBlLk9BVVRIMl9JTlRFUk5BTDtcbiAgfVxuXG4gIC8qKlxuICAgKiBSZXR1cm5zIHRlbmFudCBsb2dpbiBvcHRpb24gd2hpY2ggaXMgcHJlZmVycmVkLlxuICAgKlxuICAgKiBAcGFyYW0gbG9naW5PcHRpb25zIFRoZSBsaXN0IG9mIGFsbCBhdmFpbGFibGUgdGVuYW50J3MgbG9naW4gb3B0aW9ucy5cbiAgICpcbiAgICogQHJldHVybnMgUmV0dXJucyBJVGVuYW50TG9naW5PcHRpb24uXG4gICAqXG4gICAqICoqRXhhbXBsZSoqXG4gICAqIGBgYHR5cGVzY3JpcHRcbiAgICpcbiAgICogICAgKCgpID0+IHtcbiAgICogICAgICBjb25zdCBwcmVmZXJyZWRMb2dpbk9wdGlvbiA9IHRlbmFudExvZ2luT3B0aW9uc1NlcnZpY2UuZ2V0UHJlZmVycmVkTG9naW5PcHRpb24obG9naW5PcHRpb25zKTtcbiAgICogICB9KSgpO1xuICAgKiBgYGBcbiAgICovXG4gIGdldFByZWZlcnJlZExvZ2luT3B0aW9uKGxvZ2luT3B0aW9uczogSVRlbmFudExvZ2luT3B0aW9uW10pOiBJVGVuYW50TG9naW5PcHRpb24ge1xuICAgIGNvbnN0IGRlZmF1bHRGYWxsYmFjayA9IHtcbiAgICAgIHR5cGU6IFRlbmFudExvZ2luT3B0aW9uVHlwZS5CQVNJQyxcbiAgICAgIHVzZXJNYW5hZ2VtZW50U291cmNlOiBVc2VyTWFuYWdlbWVudFNvdXJjZS5JTlRFUk5BTFxuICAgIH07XG4gICAgaWYgKCFsb2dpbk9wdGlvbnMpIHtcbiAgICAgIHJldHVybiBkZWZhdWx0RmFsbGJhY2s7XG4gICAgfSBlbHNlIHtcbiAgICAgIGNvbnN0IHZpc2libGVMb2dpbk9wdGlvbnMgPSBsb2dpbk9wdGlvbnMuZmlsdGVyKHRoaXMuaXNWaXNpYmxlT25Mb2dpblBhZ2UpO1xuXG4gICAgICByZXR1cm4gKFxuICAgICAgICB2aXNpYmxlTG9naW5PcHRpb25zLmZpbmQodGhpcy5pc09hdXRoSW50ZXJuYWwpIHx8XG4gICAgICAgIHZpc2libGVMb2dpbk9wdGlvbnMuZmluZCh0aGlzLmlzQmFzaWMpIHx8XG4gICAgICAgIHZpc2libGVMb2dpbk9wdGlvbnMuZmluZCh0aGlzLmlzT2F1dGgyKSB8fFxuICAgICAgICBkZWZhdWx0RmFsbGJhY2tcbiAgICAgICk7XG4gICAgfVxuICB9XG5cbiAgLyoqXG4gICAqIFJldHVybnMgT2F1dGgyIGxvZ2luIG9wdGlvbiBpZiBpdCBjYW4gYmUgdXNlZCBieSBVSS5cbiAgICpcbiAgICogQHBhcmFtIGxvZ2luT3B0aW9ucyBUaGUgbGlzdCBvZiBhbGwgYXZhaWxhYmxlIHRlbmFudCdzIGxvZ2luIG9wdGlvbnMuXG4gICAqXG4gICAqIEByZXR1cm5zIFJldHVybnMgSVRlbmFudExvZ2luT3B0aW9uLlxuICAgKlxuICAgKiAqKkV4YW1wbGUqKlxuICAgKiBgYGB0eXBlc2NyaXB0XG4gICAqXG4gICAqICAgICgoKSA9PiB7XG4gICAqICAgICAgY29uc3Qgb2F1dGgyID0gdGVuYW50TG9naW5PcHRpb25zU2VydmljZS5nZXRPYXV0aDJPcHRpb24obG9naW5PcHRpb25zKTtcbiAgICogICB9KSgpO1xuICAgKiBgYGBcbiAgICovXG4gIGdldE9hdXRoMk9wdGlvbihsb2dpbk9wdGlvbnM6IElUZW5hbnRMb2dpbk9wdGlvbltdKTogSVRlbmFudExvZ2luT3B0aW9uIHtcbiAgICByZXR1cm4gbG9naW5PcHRpb25zLmZpbmQoXG4gICAgICBsb2dpbk9wdGlvbiA9PiB0aGlzLmlzVmlzaWJsZU9uTG9naW5QYWdlKGxvZ2luT3B0aW9uKSAmJiB0aGlzLmlzT2F1dGgyKGxvZ2luT3B0aW9uKVxuICAgICk7XG4gIH1cblxuICAvKipcbiAgICogQ2FsbGJhY2sgd2hpY2ggY2hlY2tzIGlmIGxvZ2luIG9wdGlvbiBpcyB2aXNpYmxlIG9uIGxvZ2luIHBhZ2UuXG4gICAqXG4gICAqIEBwYXJhbSBsb2dpbk9wdGlvbiBUaGUgdGVuYW50IGxvZ2luIG9wdGlvbi5cbiAgICpcbiAgICogKipFeGFtcGxlKipcbiAgICogYGBgdHlwZXNjcmlwdFxuICAgKlxuICAgKiAgICAoKCkgPT4ge1xuICAgKiAgICAgIGNvbnN0IGxvZ2luT3B0aW9uc1Zpc2libGVPbkxvZ2luUGFnZSA9IGxvZ2luT3B0aW9ucy5maWx0ZXIodGVuYW50TG9naW5PcHRpb25zU2VydmljZS5pc1Zpc2libGVPbkxvZ2luUGFnZSk7XG4gICAqICAgfSkoKTtcbiAgICogYGBgXG4gICAqL1xuICBpc1Zpc2libGVPbkxvZ2luUGFnZShsb2dpbk9wdGlvbjogSVRlbmFudExvZ2luT3B0aW9uKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIGxvZ2luT3B0aW9uLnZpc2libGVPbkxvZ2luUGFnZTtcbiAgfVxuXG4gIC8qKlxuICAgKiBDYWxsYmFjayB3aGljaCBjaGVja3MgaWYgbG9naW4gb3B0aW9uIHR5cGUgaXMgJ09BVVRIMl9JTlRFUk5BTCcuXG4gICAqXG4gICAqIEBwYXJhbSBsb2dpbk9wdGlvbiBUaGUgdGVuYW50IGxvZ2luIG9wdGlvbi5cbiAgICpcbiAgICogKipFeGFtcGxlKipcbiAgICogYGBgdHlwZXNjcmlwdFxuICAgKlxuICAgKiAgICAoKCkgPT4ge1xuICAgKiAgICAgIGNvbnN0IG9hdXRoMkludGVybmFsTG9naW5PcHRpb25zID0gbG9naW5PcHRpb25zLmZpbHRlcih0ZW5hbnRMb2dpbk9wdGlvbnNTZXJ2aWNlLmlzT2F1dGhJbnRlcm5hbCk7XG4gICAqICAgfSkoKTtcbiAgICogYGBgXG4gICAqL1xuICBpc09hdXRoSW50ZXJuYWwobG9naW5PcHRpb246IElUZW5hbnRMb2dpbk9wdGlvbik6IGJvb2xlYW4ge1xuICAgIHJldHVybiBsb2dpbk9wdGlvbi50eXBlID09PSBUZW5hbnRMb2dpbk9wdGlvblR5cGUuT0FVVEgyX0lOVEVSTkFMO1xuICB9XG5cbiAgLyoqXG4gICAqIENhbGxiYWNrIHdoaWNoIGNoZWNrcyBpZiBsb2dpbiBvcHRpb24gdHlwZSBpcyAnQkFTSUMnLlxuICAgKlxuICAgKiBAcGFyYW0gbG9naW5PcHRpb24gVGhlIHRlbmFudCBsb2dpbiBvcHRpb24uXG4gICAqXG4gICAqICoqRXhhbXBsZSoqXG4gICAqIGBgYHR5cGVzY3JpcHRcbiAgICpcbiAgICogICAgKCgpID0+IHtcbiAgICogICAgICBjb25zdCBiYXNpY0xvZ2luT3B0aW9ucyA9IGxvZ2luT3B0aW9ucy5maWx0ZXIodGVuYW50TG9naW5PcHRpb25zU2VydmljZS5pc0Jhc2ljKTtcbiAgICogICB9KSgpO1xuICAgKiBgYGBcbiAgICovXG4gIGlzQmFzaWMobG9naW5PcHRpb246IElUZW5hbnRMb2dpbk9wdGlvbik6IGJvb2xlYW4ge1xuICAgIHJldHVybiBsb2dpbk9wdGlvbi50eXBlID09PSBUZW5hbnRMb2dpbk9wdGlvblR5cGUuQkFTSUM7XG4gIH1cblxuICAvKipcbiAgICogQ2FsbGJhY2sgd2hpY2ggY2hlY2tzIGlmIGxvZ2luIG9wdGlvbiB0eXBlIGlzICdPQVVUSDInIGFuZCBncmFudFR5cGUgaXMgJ0FVVEhPUklaQVRJT05fQ09ERScuXG4gICAqXG4gICAqIEBwYXJhbSBsb2dpbk9wdGlvbiBUaGUgdGVuYW50IGxvZ2luIG9wdGlvbi5cbiAgICpcbiAgICogKipFeGFtcGxlKipcbiAgICogYGBgdHlwZXNjcmlwdFxuICAgKlxuICAgKiAgICAoKCkgPT4ge1xuICAgKiAgICAgIGNvbnN0IG9hdXRoMkxvZ2luT3B0aW9ucyA9IGxvZ2luT3B0aW9ucy5maWx0ZXIodGVuYW50TG9naW5PcHRpb25zU2VydmljZS5PQVVUSDIpO1xuICAgKiAgIH0pKCk7XG4gICAqIGBgYFxuICAgKi9cbiAgaXNPYXV0aDIobG9naW5PcHRpb246IElUZW5hbnRMb2dpbk9wdGlvbik6IGJvb2xlYW4ge1xuICAgIHJldHVybiAoXG4gICAgICBsb2dpbk9wdGlvbi50eXBlID09PSBUZW5hbnRMb2dpbk9wdGlvblR5cGUuT0FVVEgyICYmXG4gICAgICBsb2dpbk9wdGlvbi5ncmFudFR5cGUgPT09IEdyYW50VHlwZS5BVVRIT1JJWkFUSU9OX0NPREVcbiAgICApO1xuICB9XG5cbiAgLyoqXG4gICAqIENoZWNrcyBpZiBhcHBsaWNhdGlvbiBvZiB0eXBlIE1JQ1JPU0VSVklDRSBpcyBzdWJzY3JpYmVkIHRvIHRoZSBjdXJyZW50IHRlbmFudC5cbiAgICogSXQgY2hlY2tzIHRoZSBhcHBsaWNhdGlvbiByZWZlcmVuY2VzIG9mIHRoZSBjdXJyZW50VGVuYW50IGZyb20gdGhlIGFwcGxpY2F0aW9uIHN0YXRlLlxuICAgKiBObyBhZGRpdGlvbmFsIHJlcXVlc3QuXG4gICAqIEBwYXJhbSBpZGVudGlmaWVyIGFwcGxpY2F0aW9uIG5hbWUgb3IgY29udGV4dFBhdGhcbiAgICovXG4gIGlzTWljcm9zZXJ2aWNlU3Vic2NyaWJlZEluQ3VycmVudFRlbmFudChpZGVudGlmaWVyOiBzdHJpbmcpOiBib29sZWFuIHtcbiAgICBpZiAoaWRlbnRpZmllcj8ubGVuZ3RoID4gMCkge1xuICAgICAgY29uc3QgbWljcm9zZXJ2aWNlcyA9IHRoaXMuZ2V0U3Vic2NyaWJlZE1pY3Jvc2VydmljZXNJbkN1cnJlbnRUZW5hbnQoKTtcbiAgICAgIHJldHVybiBtaWNyb3NlcnZpY2VzLnNvbWUoKHsgbmFtZSwgY29udGV4dFBhdGggfSkgPT5cbiAgICAgICAgW25hbWUsIGNvbnRleHRQYXRoXS5pbmNsdWRlcyhpZGVudGlmaWVyKVxuICAgICAgKTtcbiAgICB9XG4gICAgcmV0dXJuIGZhbHNlO1xuICB9XG5cbiAgLyoqXG4gICAqIEdldHMgYWxsIGFwcGxpY2F0aW9uIG9mIHR5cGUgTUlDUk9TRVJWSUNFIHN1YnNjcmliZWQgdG8gdGhlIGN1cnJlbnQgdGVuYW50LlxuICAgKiBJdCBjaGVja3MgdGhlIGFwcGxpY2F0aW9uIHJlZmVyZW5jZXMgb2YgdGhlIGN1cnJlbnRUZW5hbnQgZnJvbSB0aGUgYXBwbGljYXRpb24gc3RhdGUuXG4gICAqIE5vIGFkZGl0aW9uYWwgcmVxdWVzdC5cbiAgICovXG4gIGdldFN1YnNjcmliZWRNaWNyb3NlcnZpY2VzSW5DdXJyZW50VGVuYW50KCk6IElBcHBsaWNhdGlvbltdIHtcbiAgICBjb25zdCByZWZlcmVuY2VzOiBJQXBwbGljYXRpb25SZWZlcmVuY2VbXSA9IGdldChcbiAgICAgIHRoaXMuYXBwU3RhdGVTZXJ2aWNlLmN1cnJlbnRUZW5hbnQsXG4gICAgICAndmFsdWUuYXBwbGljYXRpb25zLnJlZmVyZW5jZXMnLFxuICAgICAgW11cbiAgICApO1xuICAgIHJldHVybiByZWZlcmVuY2VzXG4gICAgICAubWFwKGFwcFJlZiA9PiBhcHBSZWYuYXBwbGljYXRpb24pXG4gICAgICAuZmlsdGVyKGFwcCA9PiBhcHAudHlwZSA9PT0gQXBwbGljYXRpb25UeXBlLk1JQ1JPU0VSVklDRSk7XG4gIH1cblxuICBwcml2YXRlIGhhc0FwcChhcHBzOiBJQXBwbGljYXRpb25bXSwgcmVxdWlyZWRBcHBOYW1lOiBzdHJpbmcpOiBib29sZWFuIHtcbiAgICBpZiAoIWFwcHM/Lmxlbmd0aCkge1xuICAgICAgcmV0dXJuIGZhbHNlO1xuICAgIH1cbiAgICByZXR1cm4gYXBwcy5zb21lKGFwcCA9PiBhcHAubmFtZSA9PT0gcmVxdWlyZWRBcHBOYW1lKTtcbiAgfVxuXG4gIHByaXZhdGUgaXNNYW5hZ2VtZW50KGN1cnJlbnRUZW5hbnQ6IElDdXJyZW50VGVuYW50KSB7XG4gICAgcmV0dXJuIGN1cnJlbnRUZW5hbnQubmFtZSA9PT0gdGhpcy5NQU5BR0VNRU5UO1xuICB9XG59XG4iXX0=
|
|
@@ -5,6 +5,7 @@ import { filter, first, map, switchMap } from 'rxjs/operators';
|
|
|
5
5
|
import { AppStateService } from '../ui-state.service';
|
|
6
6
|
import { UserPreferencesStorageLocal } from './user-preferences-storage-local';
|
|
7
7
|
import { UserPreferencesStorageInventory } from './user-preferences-store-inventory';
|
|
8
|
+
import { Permissions } from '../permissions.service';
|
|
8
9
|
import * as i0 from "@angular/core";
|
|
9
10
|
import * as i1 from "@c8y/client";
|
|
10
11
|
import * as i2 from "../ui-state.service";
|
|
@@ -89,7 +90,14 @@ export class UserPreferencesService {
|
|
|
89
90
|
* @returns A proper storage.
|
|
90
91
|
*/
|
|
91
92
|
getStorage(user) {
|
|
92
|
-
return this.user.hasAllRoles(user, [
|
|
93
|
+
return this.user.hasAllRoles(user, [
|
|
94
|
+
Permissions.ROLE_INVENTORY_READ,
|
|
95
|
+
Permissions.ROLE_INVENTORY_ADMIN
|
|
96
|
+
]) ||
|
|
97
|
+
this.user.hasAllRoles(user, [
|
|
98
|
+
Permissions.ROLE_MANAGED_OBJECT_ADMIN,
|
|
99
|
+
Permissions.ROLE_MANAGED_OBJECT_READ
|
|
100
|
+
])
|
|
93
101
|
? this.storage.inventory
|
|
94
102
|
: this.storage.local;
|
|
95
103
|
}
|
|
@@ -100,4 +108,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.0.6", ngImpor
|
|
|
100
108
|
type: Injectable,
|
|
101
109
|
args: [{ providedIn: 'root' }]
|
|
102
110
|
}], ctorParameters: function () { return [{ type: i1.UserService }, { type: i1.InventoryService }, { type: i2.AppStateService }]; } });
|
|
103
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXNlci1wcmVmZXJlbmNlcy5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vY29yZS9jb21tb24vdXNlci1wcmVmZXJlbmNlcy91c2VyLXByZWZlcmVuY2VzLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUMzQyxPQUFPLEVBQUUsZ0JBQWdCLEVBQVMsV0FBVyxFQUFFLE1BQU0sYUFBYSxDQUFDO0FBQ25FLE9BQU8sRUFBRSxNQUFNLEVBQUUsSUFBSSxFQUFjLE9BQU8sRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUN6RCxPQUFPLEVBQUUsTUFBTSxFQUFFLEtBQUssRUFBRSxHQUFHLEVBQUUsU0FBUyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDL0QsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLHFCQUFxQixDQUFDO0FBQ3RELE9BQU8sRUFBRSwyQkFBMkIsRUFBRSxNQUFNLGtDQUFrQyxDQUFDO0FBQy9FLE9BQU8sRUFBRSwrQkFBK0IsRUFBRSxNQUFNLG9DQUFvQyxDQUFDOzs7O0FBSXJGLE1BQU0sT0FBTyxzQkFBc0I7SUFPakMsWUFDVSxJQUFpQixFQUNqQixTQUEyQixFQUMzQixRQUF5QjtRQUZ6QixTQUFJLEdBQUosSUFBSSxDQUFhO1FBQ2pCLGNBQVMsR0FBVCxTQUFTLENBQWtCO1FBQzNCLGFBQVEsR0FBUixRQUFRLENBQWlCO1FBUm5DLHVCQUFrQixHQUE0QixJQUFJLE9BQU8sRUFBRSxDQUFDO1FBVTFELElBQUksQ0FBQyxPQUFPLEdBQUc7WUFDYixLQUFLLEVBQUUsSUFBSSwyQkFBMkIsRUFBRTtZQUN4QyxTQUFTLEVBQUUsSUFBSSwrQkFBK0IsQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDO1NBQy9ELENBQUM7UUFDRixJQUFJLENBQUMsV0FBVyxHQUFHLElBQUksQ0FBQyxRQUFRLENBQUMsV0FBVyxDQUFDLElB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Q0FBQztJQUN6QixDQUFDOzttSEExR1Usc0JBQXNCO3VIQUF0QixzQkFBc0IsY0FEVCxNQUFNOzJGQUNuQixzQkFBc0I7a0JBRGxDLFVBQVU7bUJBQUMsRUFBRSxVQUFVLEVBQUUsTUFBTSxFQUFFIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgSW52ZW50b3J5U2VydmljZSwgSVVzZXIsIFVzZXJTZXJ2aWNlIH0gZnJvbSAnQGM4eS9jbGllbnQnO1xuaW1wb3J0IHsgY29uY2F0LCBmcm9tLCBPYnNlcnZhYmxlLCBTdWJqZWN0IH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBmaWx0ZXIsIGZpcnN0LCBtYXAsIHN3aXRjaE1hcCB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcbmltcG9ydCB7IEFwcFN0YXRlU2VydmljZSB9IGZyb20gJy4uL3VpLXN0YXRlLnNlcnZpY2UnO1xuaW1wb3J0IHsgVXNlclByZWZlcmVuY2VzU3RvcmFnZUxvY2FsIH0gZnJvbSAnLi91c2VyLXByZWZlcmVuY2VzLXN0b3JhZ2UtbG9jYWwnO1xuaW1wb3J0IHsgVXNlclByZWZlcmVuY2VzU3RvcmFnZUludmVudG9yeSB9IGZyb20gJy4vdXNlci1wcmVmZXJlbmNlcy1zdG9yZS1pbnZlbnRvcnknO1xuaW1wb3J0IHsgVXNlclByZWZlcmVuY2UgfSBmcm9tICcuL3VzZXItcHJlZmVyZW5jZS5tb2RlbCc7XG5cbkBJbmplY3RhYmxlKHsgcHJvdmlkZWRJbjogJ3Jvb3QnIH0pXG5leHBvcnQgY2xhc3MgVXNlclByZWZlcmVuY2VzU2VydmljZSB7XG4gIGN1cnJlbnRVc2VyOiBPYnNlcnZhYmxlPElVc2VyPjtcbiAgcHJlZmVyZW5jZUNoYW5nZXMkOiBTdWJqZWN0PFVzZXJQcmVmZXJlbmNlPiA9IG5ldyBTdWJqZWN0KCk7XG4gIHByaXZhdGUgc3RvcmFnZToge1xuICAgIGxvY2FsOiBVc2VyUHJlZmVyZW5jZXNTdG9yYWdlTG9jYWw7XG4gICAgaW52ZW50b3J5OiBVc2VyUHJlZmVyZW5jZXNTdG9yYWdlSW52ZW50b3J5O1xuICB9O1xuICBjb25zdHJ1Y3RvcihcbiAgICBwcml2YXRlIHVzZXI6IFVzZXJTZXJ2aWNlLFxuICAgIHByaXZhdGUgaW52ZW50b3J5OiBJbnZlbnRvcnlTZXJ2aWNlLFxuICAgIHByaXZhdGUgYXBwU3RhdGU6IEFwcFN0YXRlU2VydmljZVxuICApIHtcbiAgICB0aGlzLnN0b3JhZ2UgPSB7XG4gICAgICBsb2NhbDogbmV3IFVzZXJQcmVmZXJlbmNlc1N0b3JhZ2VMb2NhbCgpLFxuICAgICAgaW52ZW50b3J5OiBuZXcgVXNlclByZWZlcmVuY2VzU3RvcmFnZUludmVudG9yeSh0aGlzLmludmVudG9yeSlcbiAgICB9O1xuICAgIHRoaXMuY3VycmVudFVzZXIgPSB0aGlzLmFwcFN0YXRlLmN1cnJlbnRVc2VyLnBpcGUoZmlsdGVyKGN1cnJlbnRVc2VyID0+IGN1cnJlbnRVc2VyICE9PSBudWxsKSk7XG4gIH1cblxuICAvKipcbiAgICogUmV0dXJucyBhbiBvYnNlcnZhYmxlIG9mIGEgdXNlciBwcmVmZXJlbmNlIHdpdGggZ2l2ZW4ga2V5LlxuICAgKiBFbWl0cyBpdHMgaW5pdGlhbCB2YWx1ZSBmaXJzdCBhbmQgdGhlbiB1cGRhdGVkIHZhbHVlcyB3aGVuIHNldCBieSB1c2VyLlxuICAgKiBAcGFyYW0ga2V5IFRoZSBzdG9yYWdlIGtleSBmb3Igc2VhcmNoZWQgdmFsdWUuXG4gICAqIEByZXR1cm5zIEFuIE9ic2VydmFibGUgb2YgYSB1c2VyIHByZWZlcmVuY2UuXG4gICAqL1xuICBvYnNlcnZlPFQ+KGtleTogc3RyaW5nKTogT2JzZXJ2YWJsZTxUPiB7XG4gICAgcmV0dXJuIGNvbmNhdChcbiAgICAgIHRoaXMuZ2V0KGtleSksXG4gICAgICB0aGlzLnByZWZlcmVuY2VDaGFuZ2VzJC5waXBlKFxuICAgICAgICBmaWx0ZXIoY2hhbmdlID0+IGNoYW5nZS5rZXkgPT09IGtleSksXG4gICAgICAgIG1hcChjaGFuZ2UgPT4gY2hhbmdlLnZhbHVlKVxuICAgICAgKVxuICAgICk7XG4gIH1cblxuICAvKipcbiAgICogR2V0IGFuIE9ic2VydmFibGUgdmFsdWUgZm9yIHNlYXJjaGVkIGtleSBmb3IgY3VycmVudCB1c2VyLlxuICAgKiBAcGFyYW0ga2V5IFRoZSBzdG9yYWdlIGtleSBmb3Igc2VhcmNoZWQgdmFsdWUuXG4gICAqIEByZXR1cm5zIEFuIE9ic2VydmFibGUgd2l0aCB0aGUgdmFsdWUgb2YgcHJlZmVyZW5jZS5cbiAgICovXG4gIGdldChrZXk6IHN0cmluZyk6IE9ic2VydmFibGU8YW55PiB7XG4gICAgcmV0dXJuIHRoaXMuY3VycmVudFVzZXIucGlwZShcbiAgICAgIGZpcnN0KCksXG4gICAgICBzd2l0Y2hNYXAodXNlciA9PiB0aGlzLmdldEZvclVzZXIoa2V5LCB1c2VyKSlcbiAgICApO1xuICB9XG5cbiAgLyoqXG4gICAqIFNldHMgYSB2YWx1ZSBpbiBzdG9yYWdlIGZvciBjdXJyZW50IHVzZXIuXG4gICAqIEBwYXJhbSBrZXkgVGhlIHN0b3JhZ2Uga2V5IGZvciB0aGUgdmFsdWUgdG8gYmUgc2V0LlxuICAgKiBAcGFyYW0gdmFsdWUgVGhlIHN0b3JhZ2UgdmFsdWUgdG8gYmUgc2V0LlxuICAgKiBAcmV0dXJucyBBIHByb21pc2Ugd2l0aCBzYXZlZCB2YWx1ZS5cbiAgICovXG4gIHNldChrZXk6IHN0cmluZywgdmFsdWU6IGFueSk6IFByb21pc2U8YW55PiB7XG4gICAgcmV0dXJuIG5ldyBQcm9taXNlKChyZXNvbHZlLCByZWplY3QpID0+IHtcbiAgICAgIHRoaXMuY3VycmVudFVzZXIucGlwZShmaXJzdCgpKS5zdWJzY3JpYmUodXNlciA9PiB7XG4gICAgICAgIHRoaXMucHJlZmVyZW5jZUNoYW5nZXMkLm5leHQoeyBrZXksIHZhbHVlIH0pO1xuICAgICAgICByZXNvbHZlKHRoaXMuc2V0Rm9yVXNlcihrZXksIHZhbHVlLCB1c2VyKSk7XG4gICAgICB9LCByZWplY3QpO1xuICAgIH0pO1xuICB9XG5cbiAgLyoqXG4gICAqIEdldCBhbiBPYnNlcnZhYmxlIHZhbHVlIG9mIHNlYXJjaGVkIGtleSBmb3IgYSBzcGVjaWZpYyB1c2VyLlxuICAgKiBAcGFyYW0ga2V5IFRoZSBzdG9yYWdlIGtleSBmb3Igc2VhcmNoZWQgdmFsdWUuXG4gICAqIEBwYXJhbSB1c2VyIFRoZSB1c2VyIGZvciB3aG9tIHRoZSBzZWFyY2ggaXMgZG9uZS5cbiAgICogQHJldHVybnMgQW4gT2JzZXJ2YWJsZSB3aXRoIHRoZSB2YWx1ZSBvZiBwcmVmZXJlbmNlLlxuICAgKi9cbiAgZ2V0Rm9yVXNlcihrZXk6IHN0cmluZywgdXNlcjogSVVzZXIpOiBPYnNlcnZhYmxlPGFueT4ge1xuICAgIGNvbnN0IHJhd0tleSA9IHRoaXMuZ2V0UmF3S2V5KGtleSwgdXNlcik7XG4gICAgY29uc3Qgc3RvcmFnZSA9IHRoaXMuZ2V0U3RvcmFnZSh1c2VyKTtcbiAgICByZXR1cm4gZnJvbShzdG9yYWdlLmdldChyYXdLZXkpKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBTZXRzIGEgdmFsdWUgaW4gc3RvcmFnZSBmb3IgYSBzcGVjaWZpYyB1c2VyLlxuICAgKiBAcGFyYW0ga2V5IFRoZSBzdG9yYWdlIGtleSBmb3IgdGhlIHZhbHVlIHRvIGJlIHNldC5cbiAgICogQHBhcmFtIHZhbHVlIFRoZSBzdG9yYWdlIHZhbHVlIHRvIGJlIHNldC5cbiAgICogQHJldHVybnMgQSBwcm9taXNlIHdpdGggc2F2ZWQgdmFsdWUuXG4gICAqL1xuICBzZXRGb3JVc2VyKGtleTogc3RyaW5nLCB2YWx1ZTogYW55LCB1c2VyOiBJVXNlcik6IFByb21pc2U8YW55PiB7XG4gICAgY29uc3QgcmF3S2V5ID0gdGhpcy5nZXRSYXdLZXkoa2V5LCB1c2VyKTtcbiAgICBjb25zdCBzdG9yYWdlID0gdGhpcy5nZXRTdG9yYWdlKHVzZXIpO1xuICAgIHJldHVybiBQcm9taXNlLnJlc29sdmUoc3RvcmFnZS5zZXQocmF3S2V5LCB2YWx1ZSkpO1xuICB9XG5cbiAgLyoqXG4gICAqIEdldCBhIHN0cmluZyBvZiBrZXkgY29uY2F0ZW5hdGVkIHdpdGggdXNlcm5hbWUuXG4gICAqIEBwYXJhbSBrZXkgVGhlIHN0b3JhZ2Uga2V5IGZvciBzZWFyY2hlZCB2YWx1ZS5cbiAgICogQHBhcmFtIHVzZXIgVGhlIHVzZXIgZm9yIHdob20gdGhlIHNlYXJjaCBpcyBkb25lLlxuICAgKiBAcmV0dXJucyBBIHN0cmluZyBvZiBrZXkgY29uY2F0ZW5hdGVkIHdpdGggdXNlcm5hbWUuXG4gICAqL1xuICBwcml2YXRlIGdldFJhd0tleShrZXk6IHN0cmluZywgdXNlcjogSVVzZXIpOiBzdHJpbmcge1xuICAgIGNvbnN0IHVzZXJuYW1lID0gdXNlci51c2VyTmFtZS5yZXBsYWNlKC9cXC4vZywgJ19fJyk7XG4gICAgcmV0dXJuIGAke2tleX0ke3VzZXJuYW1lfWA7XG4gIH1cblxuICAvKipcbiAgICogR2V0cyBhIHByb3BlciBzdG9yYWdlIGRlcGVuZGluZyBvbiB0aGUgdXNlciByb2xlcy5cbiAgICogQHBhcmFtIHVzZXIgVGhlIHVzZXIgZm9yIHdob20gdGhlIHJvbGUgY2hlY2sgaXMgZG9uZS5cbiAgICogQHJldHVybnMgQSBwcm9wZXIgc3RvcmFnZS5cbiAgICovXG4gIHByaXZhdGUgZ2V0U3RvcmFnZSh1c2VyOiBJVXNlcik6IFVzZXJQcmVmZXJlbmNlc1N0b3JhZ2VJbnZlbnRvcnkgfCBVc2VyUHJlZmVyZW5jZXNTdG9yYWdlTG9jYWwge1xuICAgIHJldHVybiB0aGlzLnVzZXIuaGFzQWxsUm9sZXModXNlciwgWydST0xFX0lOVkVOVE9SWV9SRUFEJywgJ1JPTEVfSU5WRU5UT1JZX0FETUlOJ10pXG4gICAgICA/IHRoaXMuc3RvcmFnZS5pbnZlbnRvcnlcbiAgICAgIDogdGhpcy5zdG9yYWdlLmxvY2FsO1xuICB9XG59XG4iXX0=
|
|
111
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXNlci1wcmVmZXJlbmNlcy5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vY29yZS9jb21tb24vdXNlci1wcmVmZXJlbmNlcy91c2VyLXByZWZlcmVuY2VzLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUMzQyxPQUFPLEVBQUUsZ0JBQWdCLEVBQVMsV0FBVyxFQUFFLE1BQU0sYUFBYSxDQUFDO0FBQ25FLE9BQU8sRUFBRSxNQUFNLEVBQUUsSUFBSSxFQUFjLE9BQU8sRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUN6RCxPQUFPLEVBQUUsTUFBTSxFQUFFLEtBQUssRUFBRSxHQUFHLEVBQUUsU0FBUyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDL0QsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLHFCQUFxQixDQUFDO0FBQ3RELE9BQU8sRUFBRSwyQkFBMkIsRUFBRSxNQUFNLGtDQUFrQyxDQUFDO0FBQy9FLE9BQU8sRUFBRSwrQkFBK0IsRUFBRSxNQUFNLG9DQUFvQyxDQUFDO0FBRXJGLE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQzs7OztBQUdyRCxNQUFNLE9BQU8sc0JBQXNCO0lBUWpDLFlBQ1UsSUFBaUIsRUFDakIsU0FBMkIsRUFDM0IsUUFBeUI7UUFGekIsU0FBSSxHQUFKLElBQUksQ0FBYTtRQUNqQixjQUFTLEdBQVQsU0FBUyxDQUFrQjtRQUMzQixhQUFRLEdBQVIsUUFBUSxDQUFpQjtRQVRuQyx1QkFBa0IsR0FBNEIsSUFBSSxPQUFPLEVBQUUsQ0FBQztRQVcxRCxJQUFJLENBQUMsT0FBTyxHQUFHO1lBQ2IsS0FBSyxFQUFFLElBQUksMkJBQTJCLEVBQUU7WUFDeEMsU0FBUyxFQUFFLElBQUksK0JBQStCLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQztTQUMvRCxDQUFDO1FBQ0YsSUFBSSxDQUFD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QUFJLENBQUMsV0FBVyxDQUFDLElBQUksRUFBRTtnQkFDMUIsV0FBVyxDQUFDLHlCQUF5QjtnQkFDckMsV0FBVyxDQUFDLHdCQUF3QjthQUNyQyxDQUFDO1lBQ0YsQ0FBQyxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsU0FBUztZQUN4QixDQUFDLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxLQUFLLENBQUM7SUFDekIsQ0FBQzs7bUhBbEhVLHNCQUFzQjt1SEFBdEIsc0JBQXNCLGNBRFQsTUFBTTsyRkFDbkIsc0JBQXNCO2tCQURsQyxVQUFVO21CQUFDLEVBQUUsVUFBVSxFQUFFLE1BQU0sRUFBRSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEludmVudG9yeVNlcnZpY2UsIElVc2VyLCBVc2VyU2VydmljZSB9IGZyb20gJ0BjOHkvY2xpZW50JztcbmltcG9ydCB7IGNvbmNhdCwgZnJvbSwgT2JzZXJ2YWJsZSwgU3ViamVjdCB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgZmlsdGVyLCBmaXJzdCwgbWFwLCBzd2l0Y2hNYXAgfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XG5pbXBvcnQgeyBBcHBTdGF0ZVNlcnZpY2UgfSBmcm9tICcuLi91aS1zdGF0ZS5zZXJ2aWNlJztcbmltcG9ydCB7IFVzZXJQcmVmZXJlbmNlc1N0b3JhZ2VMb2NhbCB9IGZyb20gJy4vdXNlci1wcmVmZXJlbmNlcy1zdG9yYWdlLWxvY2FsJztcbmltcG9ydCB7IFVzZXJQcmVmZXJlbmNlc1N0b3JhZ2VJbnZlbnRvcnkgfSBmcm9tICcuL3VzZXItcHJlZmVyZW5jZXMtc3RvcmUtaW52ZW50b3J5JztcbmltcG9ydCB7IFVzZXJQcmVmZXJlbmNlIH0gZnJvbSAnLi91c2VyLXByZWZlcmVuY2UubW9kZWwnO1xuaW1wb3J0IHsgUGVybWlzc2lvbnMgfSBmcm9tICcuLi9wZXJtaXNzaW9ucy5zZXJ2aWNlJztcblxuQEluamVjdGFibGUoeyBwcm92aWRlZEluOiAncm9vdCcgfSlcbmV4cG9ydCBjbGFzcyBVc2VyUHJlZmVyZW5jZXNTZXJ2aWNlIHtcbiAgY3VycmVudFVzZXI6IE9ic2VydmFibGU8SVVzZXI+O1xuICBwcmVmZXJlbmNlQ2hhbmdlcyQ6IFN1YmplY3Q8VXNlclByZWZlcmVuY2U+ID0gbmV3IFN1YmplY3QoKTtcbiAgcHJpdmF0ZSBzdG9yYWdlOiB7XG4gICAgbG9jYWw6IFVzZXJQcmVmZXJlbmNlc1N0b3JhZ2VMb2NhbDtcbiAgICBpbnZlbnRvcnk6IFVzZXJQcmVmZXJlbmNlc1N0b3JhZ2VJbnZlbnRvcnk7XG4gIH07XG5cbiAgY29uc3RydWN0b3IoXG4gICAgcHJpdmF0ZSB1c2VyOiBVc2VyU2VydmljZSxcbiAgICBwcml2YXRlIGludmVudG9yeTogSW52ZW50b3J5U2VydmljZSxcbiAgICBwcml2YXRlIGFwcFN0YXRlOiBBcHBTdGF0ZVNlcnZpY2VcbiAgKSB7XG4gICAgdGhpcy5zdG9yYWdlID0ge1xuICAgICAgbG9jYWw6IG5ldyBVc2VyUHJlZmVyZW5jZXNTdG9yYWdlTG9jYWwoKSxcbiAgICAgIGludmVudG9yeTogbmV3IFVzZXJQcmVmZXJlbmNlc1N0b3JhZ2VJbnZlbnRvcnkodGhpcy5pbnZlbnRvcnkpXG4gICAgfTtcbiAgICB0aGlzLmN1cnJlbnRVc2VyID0gdGhpcy5hcHBTdGF0ZS5jdXJyZW50VXNlci5waXBlKGZpbHRlcihjdXJyZW50VXNlciA9PiBjdXJyZW50VXNlciAhPT0gbnVsbCkpO1xuICB9XG5cbiAgLyoqXG4gICAqIFJldHVybnMgYW4gb2JzZXJ2YWJsZSBvZiBhIHVzZXIgcHJlZmVyZW5jZSB3aXRoIGdpdmVuIGtleS5cbiAgICogRW1pdHMgaXRzIGluaXRpYWwgdmFsdWUgZmlyc3QgYW5kIHRoZW4gdXBkYXRlZCB2YWx1ZXMgd2hlbiBzZXQgYnkgdXNlci5cbiAgICogQHBhcmFtIGtleSBUaGUgc3RvcmFnZSBrZXkgZm9yIHNlYXJjaGVkIHZhbHVlLlxuICAgKiBAcmV0dXJucyBBbiBPYnNlcnZhYmxlIG9mIGEgdXNlciBwcmVmZXJlbmNlLlxuICAgKi9cbiAgb2JzZXJ2ZTxUPihrZXk6IHN0cmluZyk6IE9ic2VydmFibGU8VD4ge1xuICAgIHJldHVybiBjb25jYXQoXG4gICAgICB0aGlzLmdldChrZXkpLFxuICAgICAgdGhpcy5wcmVmZXJlbmNlQ2hhbmdlcyQucGlwZShcbiAgICAgICAgZmlsdGVyKGNoYW5nZSA9PiBjaGFuZ2Uua2V5ID09PSBrZXkpLFxuICAgICAgICBtYXAoY2hhbmdlID0+IGNoYW5nZS52YWx1ZSlcbiAgICAgIClcbiAgICApO1xuICB9XG5cbiAgLyoqXG4gICAqIEdldCBhbiBPYnNlcnZhYmxlIHZhbHVlIGZvciBzZWFyY2hlZCBrZXkgZm9yIGN1cnJlbnQgdXNlci5cbiAgICogQHBhcmFtIGtleSBUaGUgc3RvcmFnZSBrZXkgZm9yIHNlYXJjaGVkIHZhbHVlLlxuICAgKiBAcmV0dXJucyBBbiBPYnNlcnZhYmxlIHdpdGggdGhlIHZhbHVlIG9mIHByZWZlcmVuY2UuXG4gICAqL1xuICBnZXQoa2V5OiBzdHJpbmcpOiBPYnNlcnZhYmxlPGFueT4ge1xuICAgIHJldHVybiB0aGlzLmN1cnJlbnRVc2VyLnBpcGUoXG4gICAgICBmaXJzdCgpLFxuICAgICAgc3dpdGNoTWFwKHVzZXIgPT4gdGhpcy5nZXRGb3JVc2VyKGtleSwgdXNlcikpXG4gICAgKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBTZXRzIGEgdmFsdWUgaW4gc3RvcmFnZSBmb3IgY3VycmVudCB1c2VyLlxuICAgKiBAcGFyYW0ga2V5IFRoZSBzdG9yYWdlIGtleSBmb3IgdGhlIHZhbHVlIHRvIGJlIHNldC5cbiAgICogQHBhcmFtIHZhbHVlIFRoZSBzdG9yYWdlIHZhbHVlIHRvIGJlIHNldC5cbiAgICogQHJldHVybnMgQSBwcm9taXNlIHdpdGggc2F2ZWQgdmFsdWUuXG4gICAqL1xuICBzZXQoa2V5OiBzdHJpbmcsIHZhbHVlOiBhbnkpOiBQcm9taXNlPGFueT4ge1xuICAgIHJldHVybiBuZXcgUHJvbWlzZSgocmVzb2x2ZSwgcmVqZWN0KSA9PiB7XG4gICAgICB0aGlzLmN1cnJlbnRVc2VyLnBpcGUoZmlyc3QoKSkuc3Vic2NyaWJlKHVzZXIgPT4ge1xuICAgICAgICB0aGlzLnByZWZlcmVuY2VDaGFuZ2VzJC5uZXh0KHsga2V5LCB2YWx1ZSB9KTtcbiAgICAgICAgcmVzb2x2ZSh0aGlzLnNldEZvclVzZXIoa2V5LCB2YWx1ZSwgdXNlcikpO1xuICAgICAgfSwgcmVqZWN0KTtcbiAgICB9KTtcbiAgfVxuXG4gIC8qKlxuICAgKiBHZXQgYW4gT2JzZXJ2YWJsZSB2YWx1ZSBvZiBzZWFyY2hlZCBrZXkgZm9yIGEgc3BlY2lmaWMgdXNlci5cbiAgICogQHBhcmFtIGtleSBUaGUgc3RvcmFnZSBrZXkgZm9yIHNlYXJjaGVkIHZhbHVlLlxuICAgKiBAcGFyYW0gdXNlciBUaGUgdXNlciBmb3Igd2hvbSB0aGUgc2VhcmNoIGlzIGRvbmUuXG4gICAqIEByZXR1cm5zIEFuIE9ic2VydmFibGUgd2l0aCB0aGUgdmFsdWUgb2YgcHJlZmVyZW5jZS5cbiAgICovXG4gIGdldEZvclVzZXIoa2V5OiBzdHJpbmcsIHVzZXI6IElVc2VyKTogT2JzZXJ2YWJsZTxhbnk+IHtcbiAgICBjb25zdCByYXdLZXkgPSB0aGlzLmdldFJhd0tleShrZXksIHVzZXIpO1xuICAgIGNvbnN0IHN0b3JhZ2UgPSB0aGlzLmdldFN0b3JhZ2UodXNlcik7XG4gICAgcmV0dXJuIGZyb20oc3RvcmFnZS5nZXQocmF3S2V5KSk7XG4gIH1cblxuICAvKipcbiAgICogU2V0cyBhIHZhbHVlIGluIHN0b3JhZ2UgZm9yIGEgc3BlY2lmaWMgdXNlci5cbiAgICogQHBhcmFtIGtleSBUaGUgc3RvcmFnZSBrZXkgZm9yIHRoZSB2YWx1ZSB0byBiZSBzZXQuXG4gICAqIEBwYXJhbSB2YWx1ZSBUaGUgc3RvcmFnZSB2YWx1ZSB0byBiZSBzZXQuXG4gICAqIEByZXR1cm5zIEEgcHJvbWlzZSB3aXRoIHNhdmVkIHZhbHVlLlxuICAgKi9cbiAgc2V0Rm9yVXNlcihrZXk6IHN0cmluZywgdmFsdWU6IGFueSwgdXNlcjogSVVzZXIpOiBQcm9taXNlPGFueT4ge1xuICAgIGNvbnN0IHJhd0tleSA9IHRoaXMuZ2V0UmF3S2V5KGtleSwgdXNlcik7XG4gICAgY29uc3Qgc3RvcmFnZSA9IHRoaXMuZ2V0U3RvcmFnZSh1c2VyKTtcbiAgICByZXR1cm4gUHJvbWlzZS5yZXNvbHZlKHN0b3JhZ2Uuc2V0KHJhd0tleSwgdmFsdWUpKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBHZXQgYSBzdHJpbmcgb2Yga2V5IGNvbmNhdGVuYXRlZCB3aXRoIHVzZXJuYW1lLlxuICAgKiBAcGFyYW0ga2V5IFRoZSBzdG9yYWdlIGtleSBmb3Igc2VhcmNoZWQgdmFsdWUuXG4gICAqIEBwYXJhbSB1c2VyIFRoZSB1c2VyIGZvciB3aG9tIHRoZSBzZWFyY2ggaXMgZG9uZS5cbiAgICogQHJldHVybnMgQSBzdHJpbmcgb2Yga2V5IGNvbmNhdGVuYXRlZCB3aXRoIHVzZXJuYW1lLlxuICAgKi9cbiAgcHJpdmF0ZSBnZXRSYXdLZXkoa2V5OiBzdHJpbmcsIHVzZXI6IElVc2VyKTogc3RyaW5nIHtcbiAgICBjb25zdCB1c2VybmFtZSA9IHVzZXIudXNlck5hbWUucmVwbGFjZSgvXFwuL2csICdfXycpO1xuICAgIHJldHVybiBgJHtrZXl9JHt1c2VybmFtZX1gO1xuICB9XG5cbiAgLyoqXG4gICAqIEdldHMgYSBwcm9wZXIgc3RvcmFnZSBkZXBlbmRpbmcgb24gdGhlIHVzZXIgcm9sZXMuXG4gICAqIEBwYXJhbSB1c2VyIFRoZSB1c2VyIGZvciB3aG9tIHRoZSByb2xlIGNoZWNrIGlzIGRvbmUuXG4gICAqIEByZXR1cm5zIEEgcHJvcGVyIHN0b3JhZ2UuXG4gICAqL1xuICBwcml2YXRlIGdldFN0b3JhZ2UodXNlcjogSVVzZXIpOiBVc2VyUHJlZmVyZW5jZXNTdG9yYWdlSW52ZW50b3J5IHwgVXNlclByZWZlcmVuY2VzU3RvcmFnZUxvY2FsIHtcbiAgICByZXR1cm4gdGhpcy51c2VyLmhhc0FsbFJvbGVzKHVzZXIsIFtcbiAgICAgIFBlcm1pc3Npb25zLlJPTEVfSU5WRU5UT1JZX1JFQUQsXG4gICAgICBQZXJtaXNzaW9ucy5ST0xFX0lOVkVOVE9SWV9BRE1JTlxuICAgIF0pIHx8XG4gICAgICB0aGlzLnVzZXIuaGFzQWxsUm9sZXModXNlciwgW1xuICAgICAgICBQZXJtaXNzaW9ucy5ST0xFX01BTkFHRURfT0JKRUNUX0FETUlOLFxuICAgICAgICBQZXJtaXNzaW9ucy5ST0xFX01BTkFHRURfT0JKRUNUX1JFQURcbiAgICAgIF0pXG4gICAgICA/IHRoaXMuc3RvcmFnZS5pbnZlbnRvcnlcbiAgICAgIDogdGhpcy5zdG9yYWdlLmxvY2FsO1xuICB9XG59XG4iXX0=
|