@c8y/ngx-components 1020.33.1 → 1020.39.0
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/auth-configuration/sso-configuration/sso-configuration.model.d.ts +2 -0
- package/auth-configuration/sso-configuration/sso-configuration.model.d.ts.map +1 -1
- package/auth-configuration/sso-configuration/sso-configuration.service.d.ts.map +1 -1
- package/auth-configuration/sso-configuration/template-parts/access-mapping/access-mapping.component.d.ts +5 -0
- package/auth-configuration/sso-configuration/template-parts/access-mapping/access-mapping.component.d.ts.map +1 -1
- package/auth-configuration/sso-configuration/template-parts/user-data-mapping.component.d.ts +7 -0
- package/auth-configuration/sso-configuration/template-parts/user-data-mapping.component.d.ts.map +1 -1
- package/auth-configuration/sso-configuration/templates/aad-configuration-mapper.d.ts.map +1 -1
- package/auth-configuration/sso-configuration/templates/aad.model.d.ts +1 -0
- package/auth-configuration/sso-configuration/templates/aad.model.d.ts.map +1 -1
- package/auth-configuration/sso-configuration/templates/custom-configuration-mapper.d.ts.map +1 -1
- package/auth-configuration/sso-configuration/templates/custom.model.d.ts +1 -0
- package/auth-configuration/sso-configuration/templates/custom.model.d.ts.map +1 -1
- package/auth-configuration/sso-configuration/templates/key-cloak-configuration-mapper.d.ts.map +1 -1
- package/auth-configuration/sso-configuration/templates/key-cloak.model.d.ts +1 -0
- package/auth-configuration/sso-configuration/templates/key-cloak.model.d.ts.map +1 -1
- package/context-dashboard/context-dashboard.component.d.ts +4 -0
- package/context-dashboard/context-dashboard.component.d.ts.map +1 -1
- package/context-dashboard/context-dashboard.model.d.ts +2 -32
- package/context-dashboard/context-dashboard.model.d.ts.map +1 -1
- package/context-dashboard/dashboard-detail.component.d.ts +2 -0
- package/context-dashboard/dashboard-detail.component.d.ts.map +1 -1
- package/core/dynamic-component/dynamic-component.model.d.ts +135 -1
- package/core/dynamic-component/dynamic-component.model.d.ts.map +1 -1
- package/core/dynamic-forms/typeahead/typeahead.type.component.d.ts.map +1 -1
- package/core/product-experience/gainsight.service.d.ts +1 -0
- package/core/product-experience/gainsight.service.d.ts.map +1 -1
- package/core/select/typeahead.component.d.ts.map +1 -1
- package/esm2022/auth-configuration/sso-configuration/sso-configuration.model.mjs +1 -1
- package/esm2022/auth-configuration/sso-configuration/sso-configuration.service.mjs +5 -3
- package/esm2022/auth-configuration/sso-configuration/template-parts/access-mapping/access-mapping.component.mjs +25 -11
- package/esm2022/auth-configuration/sso-configuration/template-parts/user-data-mapping.component.mjs +18 -8
- package/esm2022/auth-configuration/sso-configuration/templates/aad-configuration-mapper.mjs +5 -3
- package/esm2022/auth-configuration/sso-configuration/templates/aad-template.component.mjs +3 -3
- package/esm2022/auth-configuration/sso-configuration/templates/aad.model.mjs +1 -1
- package/esm2022/auth-configuration/sso-configuration/templates/custom-configuration-mapper.mjs +5 -3
- package/esm2022/auth-configuration/sso-configuration/templates/custom-template.component.mjs +3 -3
- package/esm2022/auth-configuration/sso-configuration/templates/custom.model.mjs +1 -1
- package/esm2022/auth-configuration/sso-configuration/templates/key-cloak-configuration-mapper.mjs +5 -3
- package/esm2022/auth-configuration/sso-configuration/templates/key-cloak-template.component.mjs +3 -3
- package/esm2022/auth-configuration/sso-configuration/templates/key-cloak.model.mjs +1 -1
- package/esm2022/context-dashboard/context-dashboard.component.mjs +85 -23
- package/esm2022/context-dashboard/context-dashboard.model.mjs +1 -1
- package/esm2022/context-dashboard/dashboard-detail.component.mjs +42 -11
- package/esm2022/core/dynamic-component/dynamic-component.model.mjs +28 -1
- package/esm2022/core/dynamic-forms/typeahead/typeahead.type.component.mjs +2 -3
- package/esm2022/core/product-experience/gainsight.service.mjs +15 -1
- package/esm2022/core/select/typeahead.component.mjs +9 -4
- package/esm2022/repository/firmware/list/add-firmware-patch-modal.component.mjs +3 -3
- package/esm2022/trusted-certificates/list/trusted-certificate-list.component.mjs +2 -2
- package/esm2022/widgets/cockpit/index.mjs +1 -1
- package/esm2022/widgets/definitions/alarms/alarm-list/index.mjs +3 -3
- package/esm2022/widgets/definitions/alarms/all-critical-alarms/index.mjs +3 -3
- package/esm2022/widgets/definitions/alarms/recent-alarms/index.mjs +3 -3
- package/esm2022/widgets/definitions/applications/index.mjs +3 -3
- package/esm2022/widgets/definitions/cockpit-legacy-welcome/index.mjs +3 -3
- package/esm2022/widgets/definitions/cockpit-welcome/index.mjs +3 -3
- package/esm2022/widgets/definitions/device-control-message/index.mjs +3 -3
- package/esm2022/widgets/definitions/device-management-welcome/index.mjs +1 -1
- package/esm2022/widgets/definitions/help-and-service/index.mjs +3 -3
- package/esm2022/widgets/definitions/image/index.mjs +3 -3
- package/esm2022/widgets/definitions/info-gauge/index.mjs +3 -3
- package/esm2022/widgets/definitions/kpi/index.mjs +3 -3
- package/esm2022/widgets/definitions/map/index.mjs +3 -3
- package/esm2022/widgets/definitions/markdown/index.mjs +3 -3
- package/esm2022/widgets/definitions/three-d-rotation/index.mjs +3 -3
- package/esm2022/widgets/device-management/index.mjs +1 -1
- package/esm2022/widgets/widgets.module.mjs +3 -3
- package/fesm2022/c8y-ngx-components-auth-configuration.mjs +118 -86
- package/fesm2022/c8y-ngx-components-auth-configuration.mjs.map +1 -1
- package/fesm2022/c8y-ngx-components-context-dashboard.mjs +123 -31
- package/fesm2022/c8y-ngx-components-context-dashboard.mjs.map +1 -1
- package/fesm2022/c8y-ngx-components-repository-firmware.mjs +2 -2
- package/fesm2022/c8y-ngx-components-repository-firmware.mjs.map +1 -1
- package/fesm2022/c8y-ngx-components-trusted-certificates.mjs +1 -1
- package/fesm2022/c8y-ngx-components-trusted-certificates.mjs.map +1 -1
- package/fesm2022/c8y-ngx-components-widgets-cockpit.mjs.map +1 -1
- package/fesm2022/c8y-ngx-components-widgets-definitions-alarms-alarm-list.mjs +2 -2
- package/fesm2022/c8y-ngx-components-widgets-definitions-alarms-alarm-list.mjs.map +1 -1
- package/fesm2022/c8y-ngx-components-widgets-definitions-alarms-all-critical-alarms.mjs +2 -2
- package/fesm2022/c8y-ngx-components-widgets-definitions-alarms-all-critical-alarms.mjs.map +1 -1
- package/fesm2022/c8y-ngx-components-widgets-definitions-alarms-recent-alarms.mjs +2 -2
- package/fesm2022/c8y-ngx-components-widgets-definitions-alarms-recent-alarms.mjs.map +1 -1
- package/fesm2022/c8y-ngx-components-widgets-definitions-applications.mjs +2 -2
- package/fesm2022/c8y-ngx-components-widgets-definitions-applications.mjs.map +1 -1
- package/fesm2022/c8y-ngx-components-widgets-definitions-cockpit-legacy-welcome.mjs +2 -2
- package/fesm2022/c8y-ngx-components-widgets-definitions-cockpit-legacy-welcome.mjs.map +1 -1
- package/fesm2022/c8y-ngx-components-widgets-definitions-cockpit-welcome.mjs +2 -2
- package/fesm2022/c8y-ngx-components-widgets-definitions-cockpit-welcome.mjs.map +1 -1
- package/fesm2022/c8y-ngx-components-widgets-definitions-device-control-message.mjs +2 -2
- package/fesm2022/c8y-ngx-components-widgets-definitions-device-control-message.mjs.map +1 -1
- package/fesm2022/c8y-ngx-components-widgets-definitions-device-management-welcome.mjs.map +1 -1
- package/fesm2022/c8y-ngx-components-widgets-definitions-help-and-service.mjs +2 -2
- package/fesm2022/c8y-ngx-components-widgets-definitions-help-and-service.mjs.map +1 -1
- package/fesm2022/c8y-ngx-components-widgets-definitions-image.mjs +2 -2
- package/fesm2022/c8y-ngx-components-widgets-definitions-image.mjs.map +1 -1
- package/fesm2022/c8y-ngx-components-widgets-definitions-info-gauge.mjs +2 -2
- package/fesm2022/c8y-ngx-components-widgets-definitions-info-gauge.mjs.map +1 -1
- package/fesm2022/c8y-ngx-components-widgets-definitions-kpi.mjs +2 -2
- package/fesm2022/c8y-ngx-components-widgets-definitions-kpi.mjs.map +1 -1
- package/fesm2022/c8y-ngx-components-widgets-definitions-map.mjs +2 -2
- package/fesm2022/c8y-ngx-components-widgets-definitions-map.mjs.map +1 -1
- package/fesm2022/c8y-ngx-components-widgets-definitions-markdown.mjs +2 -2
- package/fesm2022/c8y-ngx-components-widgets-definitions-markdown.mjs.map +1 -1
- package/fesm2022/c8y-ngx-components-widgets-definitions-three-d-rotation.mjs +2 -2
- package/fesm2022/c8y-ngx-components-widgets-definitions-three-d-rotation.mjs.map +1 -1
- package/fesm2022/c8y-ngx-components-widgets-device-management.mjs.map +1 -1
- package/fesm2022/c8y-ngx-components-widgets.mjs +2 -2
- package/fesm2022/c8y-ngx-components-widgets.mjs.map +1 -1
- package/fesm2022/c8y-ngx-components.mjs +49 -4
- package/fesm2022/c8y-ngx-components.mjs.map +1 -1
- package/locales/de.po +46 -12
- package/locales/en.po +7 -7
- package/locales/es.po +40 -12
- package/locales/fr.po +40 -12
- package/locales/ja_JP.po +43 -12
- package/locales/locales.pot +35 -14
- package/locales/nl.po +40 -12
- package/locales/pl.po +40 -12
- package/locales/pt_BR.po +40 -12
- package/package.json +1 -1
- package/widgets/cockpit/index.d.ts.map +1 -1
- package/widgets/definitions/alarms/alarm-list/index.d.ts.map +1 -1
- package/widgets/definitions/alarms/all-critical-alarms/index.d.ts.map +1 -1
- package/widgets/definitions/alarms/recent-alarms/index.d.ts.map +1 -1
- package/widgets/definitions/applications/index.d.ts.map +1 -1
- package/widgets/definitions/cockpit-legacy-welcome/index.d.ts.map +1 -1
- package/widgets/definitions/cockpit-welcome/index.d.ts.map +1 -1
- package/widgets/definitions/device-control-message/index.d.ts.map +1 -1
- package/widgets/definitions/device-management-welcome/index.d.ts.map +1 -1
- package/widgets/definitions/help-and-service/index.d.ts.map +1 -1
- package/widgets/definitions/image/index.d.ts.map +1 -1
- package/widgets/definitions/info-gauge/index.d.ts.map +1 -1
- package/widgets/definitions/kpi/index.d.ts.map +1 -1
- package/widgets/definitions/map/index.d.ts.map +1 -1
- package/widgets/definitions/markdown/index.d.ts.map +1 -1
- package/widgets/definitions/three-d-rotation/index.d.ts.map +1 -1
- package/widgets/device-management/index.d.ts.map +1 -1
- package/widgets/widgets.module.d.ts +2 -2
- package/widgets/widgets.module.d.ts.map +1 -1
|
@@ -67,7 +67,8 @@ export class SsoConfigurationService {
|
|
|
67
67
|
inventoryMappings: [],
|
|
68
68
|
configuration: {
|
|
69
69
|
mapRolesOnlyForNewUser: false,
|
|
70
|
-
manageRolesOnlyFromAccessMapping: false
|
|
70
|
+
manageRolesOnlyFromAccessMapping: false,
|
|
71
|
+
mapFromIdToken: false
|
|
71
72
|
}
|
|
72
73
|
}
|
|
73
74
|
},
|
|
@@ -91,7 +92,8 @@ export class SsoConfigurationService {
|
|
|
91
92
|
accessTokenToUserDataMappings: {},
|
|
92
93
|
externalTokenConfig: {
|
|
93
94
|
enabled: false
|
|
94
|
-
}
|
|
95
|
+
},
|
|
96
|
+
useIdToken: false
|
|
95
97
|
};
|
|
96
98
|
}
|
|
97
99
|
getSsoConfiguration$() {
|
|
@@ -109,4 +111,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.9", ngImpor
|
|
|
109
111
|
providedIn: 'root'
|
|
110
112
|
}]
|
|
111
113
|
}], ctorParameters: () => [{ type: i1.TenantLoginOptionsService }] });
|
|
112
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
114
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3NvLWNvbmZpZ3VyYXRpb24uc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL2F1dGgtY29uZmlndXJhdGlvbi9zc28tY29uZmlndXJhdGlvbi9zc28tY29uZmlndXJhdGlvbi5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDM0MsT0FBTyxFQUNMLFNBQVMsRUFFVCx5QkFBeUIsRUFDekIscUJBQXFCLEVBQ3JCLG9CQUFvQixFQUNyQixNQUFNLGFBQWEsQ0FBQztBQUNyQixPQUFPLEVBQW9CLFlBQVksRUFBRSxNQUFNLDJCQUEyQixDQUFDO0FBQzNFLE9BQU8sRUFBRSxLQUFLLEVBQWMsRUFBRSxFQUFFLFVBQVUsRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUN6RCxPQUFPLEVBQUUsVUFBVSxFQUFFLEdBQUcsRUFBRSxhQUFhLEVBQUUsUUFBUSxFQUFFLElBQUksRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQ2hGLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQzs7O0FBS3RELE1BQU0sT0FBTyx1QkFBdUI7SUErRmxDLFlBQW9CLG1CQUE4QztRQUE5Qyx3QkFBbUIsR0FBbkIsbUJBQW1CLENBQTJCO1FBOUYxRCxzQkFBaUIsR0FBbUMsS0FBSyxDQUFDLEdBQUcsRUFBRSxDQUNyRSxJQUFJLENBQUMsbUJBQW1CLENBQUMsTUFBTSxDQUFDLHFCQUFxQixDQUFDLE1BQU0sQ0FBQyxDQUM5RCxDQUFDLElBQUksQ0FDSixHQUFHLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLEVBQ3BCLFVBQVUsQ0FBQyxDQUFDLEVBQUUsR0FBRyxFQUFFLEVBQUUsRUFBRTtZQUNyQixJQUFJLEdBQUcsQ0FBQyxNQUFNLEtBQUssY0FBYyxDQUFDLFNBQVM7Z0JBQUUsT0FBTyxVQUFVLENBQUMsSUFBSSxL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LHVCQUF1QixjQUZ0QixNQUFNOzsyRkFFUCx1QkFBdUI7a0JBSG5DLFVBQVU7bUJBQUM7b0JBQ1YsVUFBVSxFQUFFLE1BQU07aUJBQ25CIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHtcbiAgR3JhbnRUeXBlLFxuICBJVGVuYW50TG9naW5PcHRpb24sXG4gIFRlbmFudExvZ2luT3B0aW9uc1NlcnZpY2UsXG4gIFRlbmFudExvZ2luT3B0aW9uVHlwZSxcbiAgVXNlck1hbmFnZW1lbnRTb3VyY2Vcbn0gZnJvbSAnQGM4eS9jbGllbnQnO1xuaW1wb3J0IHsgU3NvQ29uZmlndXJhdGlvbiwgVGVtcGxhdGVUeXBlIH0gZnJvbSAnLi9zc28tY29uZmlndXJhdGlvbi5tb2RlbCc7XG5pbXBvcnQgeyBkZWZlciwgT2JzZXJ2YWJsZSwgb2YsIHRocm93RXJyb3IgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IGNhdGNoRXJyb3IsIG1hcCwgcHVibGlzaFJlcGxheSwgcmVmQ291bnQsIHRha2UgfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XG5pbXBvcnQgeyBIdHRwU3RhdHVzQ29kZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbi9odHRwJztcblxuQEluamVjdGFibGUoe1xuICBwcm92aWRlZEluOiAncm9vdCdcbn0pXG5leHBvcnQgY2xhc3MgU3NvQ29uZmlndXJhdGlvblNlcnZpY2Uge1xuICBwcml2YXRlIHNzb0NvbmZpZ3VyYXRpb24kOiBPYnNlcnZhYmxlPElUZW5hbnRMb2dpbk9wdGlvbj4gPSBkZWZlcigoKSA9PlxuICAgIHRoaXMubG9naW5PcHRpb25zU2VydmljZS5kZXRhaWwoVGVuYW50TG9naW5PcHRpb25UeXBlLk9BVVRIMilcbiAgKS5waXBlKFxuICAgIG1hcChyZXMgPT4gcmVzLmRhdGEpLFxuICAgIGNhdGNoRXJyb3IoKHsgcmVzIH0pID0+IHtcbiAgICAgIGlmIChyZXMuc3RhdHVzID09PSBIdHRwU3RhdHVzQ29kZS5Gb3JiaWRkZW4pIHJldHVybiB0aHJvd0Vycm9yKG5ldyBFcnJvcigpKTtcbiAgICAgIGVsc2UgcmV0dXJuIG9mKHRoaXMuZGVmYXVsdENvbmZpZ3VyYXRpb24pO1xuICAgIH0pLFxuICAgIHB1Ymxpc2hSZXBsYXkoMSwgMTAwMCksXG4gICAgcmVmQ291bnQoKSxcbiAgICB0YWtlKDEpXG4gICk7XG5cbiAgcHJpdmF0ZSBkZWZhdWx0Q29uZmlndXJhdGlvbjogU3NvQ29uZmlndXJhdGlvbiA9IHtcbiAgICBhdXRob3JpemF0aW9uUmVxdWVzdDoge1xuICAgICAgYm9keTogJycsXG4gICAgICBoZWFkZXJzOiB7fSxcbiAgICAgIG1ldGhvZDogJ0dFVCcsXG4gICAgICBvcGVyYXRpb246ICdSRURJUkVDVCcsXG4gICAgICByZXF1ZXN0UGFyYW1zOiB7XG4gICAgICAgIHJlc3BvbnNlX3R5cGU6ICdjb2RlJyxcbiAgICAgICAgY2xpZW50X2lkOiAnJHtjbGllbnRJZH0nLFxuICAgICAgICByZWRpcmVjdF91cmk6ICcke3JlZGlyZWN0VXJpfScsXG4gICAgICAgIHNjb3BlOiAnJ1xuICAgICAgfVxuICAgIH0sXG4gICAgdG9rZW5SZXF1ZXN0OiB7XG4gICAgICBib2R5OiAnZ3JhbnRfdHlwZT1hdXRob3JpemF0aW9uX2NvZGUmY29kZT0ke2NvZGV9JnJlZGlyZWN0X3VyaT0ke3JlZGlyZWN0VXJpfSZjbGllbnRfaWQ9JHtjbGllbnRJZH0nLFxuICAgICAgaGVhZGVyczoge30sXG4gICAgICBtZXRob2Q6ICdQT1NUJyxcbiAgICAgIG9wZXJhdGlvbjogJ0VYRUNVVEUnLFxuICAgICAgcmVxdWVzdFBhcmFtczoge1xuICAgICAgICByZXNwb25zZV90eXBlOiAnY29kZScsXG4gICAgICAgIGNsaWVudF9pZDogJyR7Y2xpZW50SWR9JyxcbiAgICAgICAgcmVkaXJlY3RfdXJpOiAnJHtyZWRpcmVjdFVyaX0nLFxuICAgICAgICBzY29wZTogJydcbiAgICAgIH1cbiAgICB9LFxuICAgIHJlZnJlc2hSZXF1ZXN0OiB7XG4gICAgICBib2R5OiAnZ3JhbnRfdHlwZT1yZWZyZXNoX3Rva2VuJnJlZnJlc2hfdG9rZW49JHtyZWZyZXNoVG9rZW59JmNsaWVudF9pZD0ke2NsaWVudElkfScsXG4gICAgICBoZWFkZXJzOiB7XG4gICAgICAgIEF1dGhvcml6YXRpb246ICcnXG4gICAgICB9LFxuICAgICAgbWV0aG9kOiAnUE9TVCcsXG4gICAgICBvcGVyYXRpb246ICdFWEVDVVRFJyxcbiAgICAgIHJlcXVlc3RQYXJhbXM6IHtcbiAgICAgICAgcmVzcG9uc2VfdHlwZTogJ3JlZnJlc2gnLFxuICAgICAgICBjbGllbnRfaWQ6ICcke2NsaWVudElkfSdcbiAgICAgIH1cbiAgICB9LFxuICAgIGxvZ291dFJlcXVlc3Q6IHtcbiAgICAgIGhlYWRlcnM6IHt9LFxuICAgICAgbWV0aG9kOiAnUE9TVCcsXG4gICAgICBvcGVyYXRpb246ICdSRURJUkVDVCcsXG4gICAgICByZXF1ZXN0UGFyYW1zOiB7fVxuICAgIH0sXG4gICAgdHlwZTogVGVuYW50TG9naW5PcHRpb25UeXBlLk9BVVRIMixcbiAgICBncmFudFR5cGU6IEdyYW50VHlwZS5BVVRIT1JJWkFUSU9OX0NPREUsXG4gICAgdXNlck1hbmFnZW1lbnRTb3VyY2U6IFVzZXJNYW5hZ2VtZW50U291cmNlLlJFTU9URSxcbiAgICBvbk5ld1VzZXI6IHtcbiAgICAgIGR5bmFtaWNNYXBwaW5nOiB7XG4gICAgICAgIG1hcHBpbmdzOiBbXSxcbiAgICAgICAgaW52ZW50b3J5TWFwcGluZ3M6IFtdLFxuICAgICAgICBjb25maWd1cmF0aW9uOiB7XG4gICAgICAgICAgbWFwUm9sZXNPbmx5Rm9yTmV3VXNlcjogZmFsc2UsXG4gICAgICAgICAgbWFuYWdlUm9sZXNPbmx5RnJvbUFjY2Vzc01hcHBpbmc6IGZhbHNlLFxuICAgICAgICAgIG1hcEZyb21JZFRva2VuOiBmYWxzZVxuICAgICAgICB9XG4gICAgICB9XG4gICAgfSxcbiAgICB1c2VySWRDb25maWc6IHtcbiAgICAgIGp3dEZpZWxkOiAnJyxcbiAgICAgIHVzZUNvbnN0YW50VmFsdWU6IHRydWVcbiAgICB9LFxuICAgIHNpZ25hdHVyZVZlcmlmaWNhdGlvbkNvbmZpZzoge1xuICAgICAgbWFudWFsOiB7XG4gICAgICAgIGNlcnRJZEZyb21GaWVsZDogZmFsc2VcbiAgICAgIH1cbiAgICB9LFxuICAgIHRlbXBsYXRlOiBUZW1wbGF0ZVR5cGUuQ1VTVE9NLFxuICAgIGNsaWVudElkOiAnJyxcbiAgICBhdWRpZW5jZTogJycsXG4gICAgaXNzdWVyOiAnJyxcbiAgICBidXR0b25OYW1lOiAnJyxcbiAgICByZWRpcmVjdFRvUGxhdGZvcm06ICcnLFxuICAgIHByb3ZpZGVyTmFtZTogJycsXG4gICAgdmlzaWJsZU9uTG9naW5QYWdlOiB0cnVlLFxuICAgIGFjY2Vzc1Rva2VuVG9Vc2VyRGF0YU1hcHBpbmdzOiB7fSxcbiAgICBleHRlcm5hbFRva2VuQ29uZmlnOiB7XG4gICAgICBlbmFibGVkOiBmYWxzZVxuICAgIH0sXG4gICAgdXNlSWRUb2tlbjogZmFsc2VcbiAgfTtcblxuICBjb25zdHJ1Y3Rvcihwcml2YXRlIGxvZ2luT3B0aW9uc1NlcnZpY2U6IFRlbmFudExvZ2luT3B0aW9uc1NlcnZpY2UpIHt9XG5cbiAgZ2V0U3NvQ29uZmlndXJhdGlvbiQoKTogT2JzZXJ2YWJsZTxJVGVuYW50TG9naW5PcHRpb24+IHtcbiAgICByZXR1cm4gdGhpcy5zc29Db25maWd1cmF0aW9uJDtcbiAgfVxuXG4gIHNhdmUoc3NvQ29uZmlndXJhdGlvbjogU3NvQ29uZmlndXJhdGlvbikge1xuICAgIHJldHVybiB0aGlzLmxvZ2luT3B0aW9uc1NlcnZpY2Uuc2F2ZShzc29Db25maWd1cmF0aW9uKTtcbiAgfVxufVxuIl19
|
|
@@ -18,6 +18,8 @@ export class AccessMappingComponent {
|
|
|
18
18
|
this.UPDATE_ROLES_LISTED_IN_ACCESS_MAPPING_ON_EACH_LOG_IN_OPTION = gettext('Roles selected in the rules below will be reassigned to a user on each log in and other ones will be unchanged');
|
|
19
19
|
this.CLEAR_AND_UPDATED_ROLES_ON_EACH_LOG_IN_TOOLTIP = gettext('The access mapping will be executed during the first login. The administrator cannot edit the SSO user roles. During the next login all the roles will be cleared and the mapping will be executed again.');
|
|
20
20
|
this.CLEAR_AND_UPDATED_ROLES_ON_EACH_LOG_IN_OPTION = gettext('Roles selected in the rules below will be reassigned to a user on each log in and other ones will be cleared');
|
|
21
|
+
this.RETRIVE_FROM_ACCESS_TOKEN = gettext('Retrieve from Access token');
|
|
22
|
+
this.RETRIVE_FROM_ID_TOKEN = gettext('Retrieve from ID token');
|
|
21
23
|
}
|
|
22
24
|
ngOnChanges() {
|
|
23
25
|
if (this.templateModel && this.apps && this.groups) {
|
|
@@ -52,34 +54,46 @@ export class AccessMappingComponent {
|
|
|
52
54
|
pull(this.templateModel.onNewUser.dynamicMapping.inventoryMappings, inventoryMapping);
|
|
53
55
|
}
|
|
54
56
|
setDynamicMappingConfiguration(mapRolesOnlyForNewUser, manageRolesOnlyFromAccessMapping = false) {
|
|
55
|
-
this.
|
|
56
|
-
|
|
57
|
-
manageRolesOnlyFromAccessMapping
|
|
58
|
-
};
|
|
57
|
+
this.dynamicMappingConfiguration.mapRolesOnlyForNewUser = mapRolesOnlyForNewUser;
|
|
58
|
+
this.dynamicMappingConfiguration.manageRolesOnlyFromAccessMapping =
|
|
59
|
+
manageRolesOnlyFromAccessMapping;
|
|
59
60
|
this.controlContainer.control.markAsDirty();
|
|
60
61
|
}
|
|
61
62
|
get mapRolesOnlyForNewUser() {
|
|
62
|
-
return this.
|
|
63
|
+
return this.dynamicMappingConfiguration.mapRolesOnlyForNewUser;
|
|
63
64
|
}
|
|
64
65
|
get manageRolesOnlyFromAccessMapping() {
|
|
65
|
-
return this.
|
|
66
|
-
|
|
66
|
+
return this.dynamicMappingConfiguration.manageRolesOnlyFromAccessMapping;
|
|
67
|
+
}
|
|
68
|
+
get mapFromIdToken() {
|
|
69
|
+
return this.dynamicMappingConfiguration.mapFromIdToken;
|
|
70
|
+
}
|
|
71
|
+
setMapFromIdToken(mapFromIdToken) {
|
|
72
|
+
this.dynamicMappingConfiguration.mapFromIdToken = mapFromIdToken;
|
|
73
|
+
this.controlContainer.control.markAsDirty();
|
|
74
|
+
}
|
|
75
|
+
get dynamicMappingConfiguration() {
|
|
76
|
+
return this.templateModel.onNewUser.dynamicMapping.configuration;
|
|
67
77
|
}
|
|
68
78
|
setDynamicMapping() {
|
|
69
79
|
defaultsDeep(this.templateModel.onNewUser, {
|
|
70
80
|
dynamicMapping: {
|
|
71
81
|
mappings: [],
|
|
72
82
|
inventoryMappings: [],
|
|
73
|
-
configuration: {
|
|
83
|
+
configuration: {
|
|
84
|
+
mapRolesOnlyForNewUser: false,
|
|
85
|
+
manageRolesOnlyFromAccessMapping: false,
|
|
86
|
+
mapFromIdToken: true
|
|
87
|
+
}
|
|
74
88
|
}
|
|
75
89
|
});
|
|
76
90
|
}
|
|
77
91
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.9", ngImport: i0, type: AccessMappingComponent, deps: [{ token: i1.ControlContainer }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
78
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.9", type: AccessMappingComponent, selector: "c8y-sso-access-mapping", inputs: { apps: "apps", groups: "groups", inventoryRoles: "inventoryRoles", templateModel: "templateModel" }, usesOnChanges: true, ngImport: i0, template: "<div class=\"p-24\">\n <div class=\"row\">\n <div class=\"col-xs-12 col-sm-3 col-md-2\">\n <div\n class=\"h4 text-normal text-right text-left-xs\"\n translate\n >\n Access mapping\n </div>\n </div>\n\n <div class=\"col-xs-12 col-sm-9 col-md-10 col-lg-9\">\n <c8y-form-group>\n
|
|
92
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.9", type: AccessMappingComponent, selector: "c8y-sso-access-mapping", inputs: { apps: "apps", groups: "groups", inventoryRoles: "inventoryRoles", templateModel: "templateModel" }, usesOnChanges: true, ngImport: i0, template: "<div class=\"p-24\">\n <div class=\"row\">\n <div class=\"col-xs-12 col-sm-3 col-md-2\">\n <div\n class=\"h4 text-normal text-right text-left-xs\"\n translate\n >\n Access mapping\n </div>\n </div>\n\n <div class=\"col-xs-12 col-sm-9 col-md-10 col-lg-9\">\n <fieldset class=\"c8y-fieldset p-24\">\n <legend>{{ 'Source of dynamic access mapping' | translate }}</legend>\n <c8y-form-group>\n <label\n title=\"{{ RETRIVE_FROM_ACCESS_TOKEN | translate }}\"\n class=\"c8y-radio input-sm\"\n >\n <input\n type=\"radio\"\n name=\"dynamicAccessMappingSource\"\n [checked]=\"!mapFromIdToken\"\n (change)=\"setMapFromIdToken(false)\"\n />\n <span></span>\n <span>{{ RETRIVE_FROM_ACCESS_TOKEN | translate }}</span>\n </label>\n <label\n title=\"{{ RETRIVE_FROM_ID_TOKEN | translate }}\"\n class=\"c8y-radio input-sm\"\n >\n <input\n type=\"radio\"\n name=\"dynamicAccessMappingSource\"\n [checked]=\"mapFromIdToken\"\n (change)=\"setMapFromIdToken(true)\"\n />\n <span></span>\n <span>{{ RETRIVE_FROM_ID_TOKEN | translate }}</span>\n </label>\n </c8y-form-group>\n </fieldset>\n\n <fieldset class=\"c8y-fieldset p-24\">\n <legend>{{ 'Dynamic access mapping principle' | translate }}</legend>\n <c8y-form-group>\n <label\n title=\"{{ USE_ACCESS_MAPPING_ON_USER_CREATION_OPTION | translate }}\"\n class=\"c8y-radio input-sm\"\n >\n <input\n type=\"radio\"\n name=\"dynamicAccessMappingConfiguration\"\n data-cy=\"c8y-inventory-roles-mapping--on-user-creation\"\n [checked]=\"mapRolesOnlyForNewUser\"\n (change)=\"setDynamicMappingConfiguration(true)\"\n />\n <span></span>\n <span>{{ USE_ACCESS_MAPPING_ON_USER_CREATION_OPTION | translate }}</span>\n <button\n class=\"btn-help\"\n type=\"button\"\n [attr.aria-label]=\"'Help' | translate\"\n popover=\"{{ USE_ACCESS_MAPPING_ON_USER_CREATION_TOOLTIP | translate }}\"\n placement=\"right\"\n triggers=\"focus\"\n container=\"body\"\n ></button>\n </label>\n <label\n title=\"{{ UPDATE_ROLES_LISTED_IN_ACCESS_MAPPING_ON_EACH_LOG_IN_OPTION | translate }}\"\n class=\"c8y-radio input-sm\"\n >\n <input\n type=\"radio\"\n name=\"dynamicAccessMappingConfiguration\"\n data-cy=\"c8y-inventory-roles-mapping--other-ones-will-be-unchanged\"\n [checked]=\"!mapRolesOnlyForNewUser && manageRolesOnlyFromAccessMapping\"\n (change)=\"setDynamicMappingConfiguration(false, true)\"\n />\n <span></span>\n <span>\n {{ UPDATE_ROLES_LISTED_IN_ACCESS_MAPPING_ON_EACH_LOG_IN_OPTION | translate }}\n </span>\n <button\n type=\"button\"\n class=\"btn-help\"\n [attr.aria-label]=\"'Help' | translate\"\n popover=\"{{ UPDATE_ROLES_LISTED_IN_ACCESS_MAPPING_ON_EACH_LOG_IN_TOOLTIP | translate }}\"\n placement=\"right\"\n triggers=\"focus\"\n container=\"body\"\n ></button>\n </label>\n <label\n title=\"{{ CLEAR_AND_UPDATED_ROLES_ON_EACH_LOG_IN_OPTION | translate }}\"\n class=\"c8y-radio input-sm\"\n >\n <input\n type=\"radio\"\n name=\"dynamicAccessMappingConfiguration\"\n data-cy=\"c8y-inventory-roles-mapping--other-ones-will-be-cleared\"\n [checked]=\"!mapRolesOnlyForNewUser && !manageRolesOnlyFromAccessMapping\"\n (change)=\"setDynamicMappingConfiguration(false, false)\"\n />\n <span></span>\n <span>\n {{ CLEAR_AND_UPDATED_ROLES_ON_EACH_LOG_IN_OPTION | translate }}\n </span>\n <button\n class=\"btn-help\"\n type=\"button\"\n [attr.aria-label]=\"'Help' | translate\"\n popover=\"{{ CLEAR_AND_UPDATED_ROLES_ON_EACH_LOG_IN_TOOLTIP | translate }}\"\n placement=\"right\"\n triggers=\"focus\"\n container=\"body\"\n ></button>\n </label>\n </c8y-form-group>\n </fieldset>\n <fieldset class=\"c8y-fieldset p-16\">\n <legend>{{ 'Dynamic access mapping' | translate }}</legend>\n <c8y-ui-empty-state\n *ngIf=\"templateModel.onNewUser.dynamicMapping.mappings.length === 0\"\n [icon]=\"'list'\"\n [title]=\"'No access mapping rules defined.' | translate\"\n [subtitle]=\"'Click below to add a new mapping.' | translate\"\n [horizontal]=\"true\"\n ></c8y-ui-empty-state>\n <div\n *ngFor=\"\n let accessMapping of templateModel.onNewUser.dynamicMapping.mappings;\n index as idx\n \"\n >\n <c8y-sso-dynamic-access-mapping\n [accessMapping]=\"accessMapping\"\n (onRemoveAccessMapping)=\"onRemove(accessMapping)\"\n [apps]=\"apps\"\n [groups]=\"groups\"\n [accessMappingIndex]=\"idx\"\n ></c8y-sso-dynamic-access-mapping>\n </div>\n <div class=\"p-t-16\">\n <button\n id=\"add-access-mapping-button\"\n class=\"btn btn-default\"\n type=\"button\"\n title=\"{{ 'Add access mapping' | translate }}\"\n (click)=\"addAccessMapping()\"\n >\n <i\n c8yIcon=\"plus-circle\"\n class=\"m-r-4\"\n ></i>\n {{ 'Add access mapping' | translate }}\n </button>\n </div>\n </fieldset>\n <fieldset class=\"c8y-fieldset p-16\">\n <legend>\n {{ 'Inventory roles mapping' | translate }}\n </legend>\n <c8y-ui-empty-state\n *ngIf=\"templateModel.onNewUser.dynamicMapping.inventoryMappings.length === 0\"\n [icon]=\"'list'\"\n [title]=\"'No inventory roles mapping rules defined.' | translate\"\n [subtitle]=\"'Click below to add a new mapping.' | translate\"\n [horizontal]=\"true\"\n ></c8y-ui-empty-state>\n <ng-container\n *ngFor=\"\n let inventoryMapping of templateModel.onNewUser.dynamicMapping.inventoryMappings;\n index as idx\n \"\n >\n <c8y-sso-inventory-roles-mapping\n [inventoryRoles]=\"inventoryRoles\"\n [inventoryMapping]=\"inventoryMapping\"\n (onRemoveInventoryMapping)=\"onRemoveInventoryMapping(inventoryMapping)\"\n [inventoryMappingIndex]=\"idx\"\n ></c8y-sso-inventory-roles-mapping>\n </ng-container>\n <div class=\"p-t-16\">\n <button\n id=\"add-inventory-mapping-button\"\n class=\"btn btn-default\"\n type=\"button\"\n title=\"{{ 'Add inventory roles mapping' | translate }}\"\n (click)=\"addInventoryMapping()\"\n >\n <i\n c8yIcon=\"plus-circle\"\n class=\"m-r-4\"\n ></i>\n {{ 'Add inventory roles mapping' | translate }}\n </button>\n </div>\n </fieldset>\n </div>\n </div>\n</div>\n", dependencies: [{ kind: "component", type: i2.EmptyStateComponent, selector: "c8y-ui-empty-state", inputs: ["icon", "title", "subtitle", "horizontal"] }, { kind: "directive", type: i2.IconDirective, selector: "[c8yIcon]", inputs: ["c8yIcon"] }, { kind: "directive", type: i2.C8yTranslateDirective, selector: "[translate],[ngx-translate]" }, { kind: "directive", type: i3.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i3.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i2.FormGroupComponent, selector: "c8y-form-group", inputs: ["hasError", "hasWarning", "hasSuccess", "novalidation", "status"] }, { kind: "directive", type: i4.PopoverDirective, selector: "[popover]", inputs: ["adaptivePosition", "boundariesElement", "popover", "popoverContext", "popoverTitle", "placement", "outsideClick", "triggers", "container", "containerClass", "isOpen", "delay"], outputs: ["onShown", "onHidden"], exportAs: ["bs-popover"] }, { kind: "component", type: i5.DynamicAccessMappingComponent, selector: "c8y-sso-dynamic-access-mapping", inputs: ["groups", "apps", "accessMapping", "accessMappingIndex"], outputs: ["onRemoveAccessMapping"] }, { kind: "component", type: i6.InventoryRolesMappingComponent, selector: "c8y-sso-inventory-roles-mapping", inputs: ["inventoryMapping", "inventoryMappingIndex", "inventoryRoles"], outputs: ["onRemoveInventoryMapping"] }, { kind: "pipe", type: i2.C8yTranslatePipe, name: "translate" }], viewProviders: [{ provide: ControlContainer, useExisting: NgForm }] }); }
|
|
79
93
|
}
|
|
80
94
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.9", ngImport: i0, type: AccessMappingComponent, decorators: [{
|
|
81
95
|
type: Component,
|
|
82
|
-
args: [{ selector: 'c8y-sso-access-mapping', viewProviders: [{ provide: ControlContainer, useExisting: NgForm }], template: "<div class=\"p-24\">\n <div class=\"row\">\n <div class=\"col-xs-12 col-sm-3 col-md-2\">\n <div\n class=\"h4 text-normal text-right text-left-xs\"\n translate\n >\n Access mapping\n </div>\n </div>\n\n <div class=\"col-xs-12 col-sm-9 col-md-10 col-lg-9\">\n <c8y-form-group>\n
|
|
96
|
+
args: [{ selector: 'c8y-sso-access-mapping', viewProviders: [{ provide: ControlContainer, useExisting: NgForm }], template: "<div class=\"p-24\">\n <div class=\"row\">\n <div class=\"col-xs-12 col-sm-3 col-md-2\">\n <div\n class=\"h4 text-normal text-right text-left-xs\"\n translate\n >\n Access mapping\n </div>\n </div>\n\n <div class=\"col-xs-12 col-sm-9 col-md-10 col-lg-9\">\n <fieldset class=\"c8y-fieldset p-24\">\n <legend>{{ 'Source of dynamic access mapping' | translate }}</legend>\n <c8y-form-group>\n <label\n title=\"{{ RETRIVE_FROM_ACCESS_TOKEN | translate }}\"\n class=\"c8y-radio input-sm\"\n >\n <input\n type=\"radio\"\n name=\"dynamicAccessMappingSource\"\n [checked]=\"!mapFromIdToken\"\n (change)=\"setMapFromIdToken(false)\"\n />\n <span></span>\n <span>{{ RETRIVE_FROM_ACCESS_TOKEN | translate }}</span>\n </label>\n <label\n title=\"{{ RETRIVE_FROM_ID_TOKEN | translate }}\"\n class=\"c8y-radio input-sm\"\n >\n <input\n type=\"radio\"\n name=\"dynamicAccessMappingSource\"\n [checked]=\"mapFromIdToken\"\n (change)=\"setMapFromIdToken(true)\"\n />\n <span></span>\n <span>{{ RETRIVE_FROM_ID_TOKEN | translate }}</span>\n </label>\n </c8y-form-group>\n </fieldset>\n\n <fieldset class=\"c8y-fieldset p-24\">\n <legend>{{ 'Dynamic access mapping principle' | translate }}</legend>\n <c8y-form-group>\n <label\n title=\"{{ USE_ACCESS_MAPPING_ON_USER_CREATION_OPTION | translate }}\"\n class=\"c8y-radio input-sm\"\n >\n <input\n type=\"radio\"\n name=\"dynamicAccessMappingConfiguration\"\n data-cy=\"c8y-inventory-roles-mapping--on-user-creation\"\n [checked]=\"mapRolesOnlyForNewUser\"\n (change)=\"setDynamicMappingConfiguration(true)\"\n />\n <span></span>\n <span>{{ USE_ACCESS_MAPPING_ON_USER_CREATION_OPTION | translate }}</span>\n <button\n class=\"btn-help\"\n type=\"button\"\n [attr.aria-label]=\"'Help' | translate\"\n popover=\"{{ USE_ACCESS_MAPPING_ON_USER_CREATION_TOOLTIP | translate }}\"\n placement=\"right\"\n triggers=\"focus\"\n container=\"body\"\n ></button>\n </label>\n <label\n title=\"{{ UPDATE_ROLES_LISTED_IN_ACCESS_MAPPING_ON_EACH_LOG_IN_OPTION | translate }}\"\n class=\"c8y-radio input-sm\"\n >\n <input\n type=\"radio\"\n name=\"dynamicAccessMappingConfiguration\"\n data-cy=\"c8y-inventory-roles-mapping--other-ones-will-be-unchanged\"\n [checked]=\"!mapRolesOnlyForNewUser && manageRolesOnlyFromAccessMapping\"\n (change)=\"setDynamicMappingConfiguration(false, true)\"\n />\n <span></span>\n <span>\n {{ UPDATE_ROLES_LISTED_IN_ACCESS_MAPPING_ON_EACH_LOG_IN_OPTION | translate }}\n </span>\n <button\n type=\"button\"\n class=\"btn-help\"\n [attr.aria-label]=\"'Help' | translate\"\n popover=\"{{ UPDATE_ROLES_LISTED_IN_ACCESS_MAPPING_ON_EACH_LOG_IN_TOOLTIP | translate }}\"\n placement=\"right\"\n triggers=\"focus\"\n container=\"body\"\n ></button>\n </label>\n <label\n title=\"{{ CLEAR_AND_UPDATED_ROLES_ON_EACH_LOG_IN_OPTION | translate }}\"\n class=\"c8y-radio input-sm\"\n >\n <input\n type=\"radio\"\n name=\"dynamicAccessMappingConfiguration\"\n data-cy=\"c8y-inventory-roles-mapping--other-ones-will-be-cleared\"\n [checked]=\"!mapRolesOnlyForNewUser && !manageRolesOnlyFromAccessMapping\"\n (change)=\"setDynamicMappingConfiguration(false, false)\"\n />\n <span></span>\n <span>\n {{ CLEAR_AND_UPDATED_ROLES_ON_EACH_LOG_IN_OPTION | translate }}\n </span>\n <button\n class=\"btn-help\"\n type=\"button\"\n [attr.aria-label]=\"'Help' | translate\"\n popover=\"{{ CLEAR_AND_UPDATED_ROLES_ON_EACH_LOG_IN_TOOLTIP | translate }}\"\n placement=\"right\"\n triggers=\"focus\"\n container=\"body\"\n ></button>\n </label>\n </c8y-form-group>\n </fieldset>\n <fieldset class=\"c8y-fieldset p-16\">\n <legend>{{ 'Dynamic access mapping' | translate }}</legend>\n <c8y-ui-empty-state\n *ngIf=\"templateModel.onNewUser.dynamicMapping.mappings.length === 0\"\n [icon]=\"'list'\"\n [title]=\"'No access mapping rules defined.' | translate\"\n [subtitle]=\"'Click below to add a new mapping.' | translate\"\n [horizontal]=\"true\"\n ></c8y-ui-empty-state>\n <div\n *ngFor=\"\n let accessMapping of templateModel.onNewUser.dynamicMapping.mappings;\n index as idx\n \"\n >\n <c8y-sso-dynamic-access-mapping\n [accessMapping]=\"accessMapping\"\n (onRemoveAccessMapping)=\"onRemove(accessMapping)\"\n [apps]=\"apps\"\n [groups]=\"groups\"\n [accessMappingIndex]=\"idx\"\n ></c8y-sso-dynamic-access-mapping>\n </div>\n <div class=\"p-t-16\">\n <button\n id=\"add-access-mapping-button\"\n class=\"btn btn-default\"\n type=\"button\"\n title=\"{{ 'Add access mapping' | translate }}\"\n (click)=\"addAccessMapping()\"\n >\n <i\n c8yIcon=\"plus-circle\"\n class=\"m-r-4\"\n ></i>\n {{ 'Add access mapping' | translate }}\n </button>\n </div>\n </fieldset>\n <fieldset class=\"c8y-fieldset p-16\">\n <legend>\n {{ 'Inventory roles mapping' | translate }}\n </legend>\n <c8y-ui-empty-state\n *ngIf=\"templateModel.onNewUser.dynamicMapping.inventoryMappings.length === 0\"\n [icon]=\"'list'\"\n [title]=\"'No inventory roles mapping rules defined.' | translate\"\n [subtitle]=\"'Click below to add a new mapping.' | translate\"\n [horizontal]=\"true\"\n ></c8y-ui-empty-state>\n <ng-container\n *ngFor=\"\n let inventoryMapping of templateModel.onNewUser.dynamicMapping.inventoryMappings;\n index as idx\n \"\n >\n <c8y-sso-inventory-roles-mapping\n [inventoryRoles]=\"inventoryRoles\"\n [inventoryMapping]=\"inventoryMapping\"\n (onRemoveInventoryMapping)=\"onRemoveInventoryMapping(inventoryMapping)\"\n [inventoryMappingIndex]=\"idx\"\n ></c8y-sso-inventory-roles-mapping>\n </ng-container>\n <div class=\"p-t-16\">\n <button\n id=\"add-inventory-mapping-button\"\n class=\"btn btn-default\"\n type=\"button\"\n title=\"{{ 'Add inventory roles mapping' | translate }}\"\n (click)=\"addInventoryMapping()\"\n >\n <i\n c8yIcon=\"plus-circle\"\n class=\"m-r-4\"\n ></i>\n {{ 'Add inventory roles mapping' | translate }}\n </button>\n </div>\n </fieldset>\n </div>\n </div>\n</div>\n" }]
|
|
83
97
|
}], ctorParameters: () => [{ type: i1.ControlContainer }], propDecorators: { apps: [{
|
|
84
98
|
type: Input
|
|
85
99
|
}], groups: [{
|
|
@@ -89,4 +103,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.9", ngImpor
|
|
|
89
103
|
}], templateModel: [{
|
|
90
104
|
type: Input
|
|
91
105
|
}] } });
|
|
92
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWNjZXNzLW1hcHBpbmcuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vYXV0aC1jb25maWd1cmF0aW9uL3Nzby1jb25maWd1cmF0aW9uL3RlbXBsYXRlLXBhcnRzL2FjY2Vzcy1tYXBwaW5nL2FjY2Vzcy1tYXBwaW5nLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uL2F1dGgtY29uZmlndXJhdGlvbi9zc28tY29uZmlndXJhdGlvbi90ZW1wbGF0ZS1wYXJ0cy9hY2Nlc3MtbWFwcGluZy9hY2Nlc3MtbWFwcGluZy5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLEtBQUssRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUNqRCxPQUFPLEVBQUUsT0FBTyxFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFDOUMsT0FBTyxFQUFFLElBQUksRUFBRSxZQUFZLEVBQUUsTUFBTSxXQUFXLENBQUM7QUFFL0MsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sRUFBRSxNQUFNLGdCQUFnQixDQUFDOzs7Ozs7OztBQVExRCxNQUFNLE9BQU8sc0JBQXNCO0lBMkJqQyxZQUFvQixnQkFBa0M7UUFBbEMscUJBQWdCLEdBQWhCLGdCQUFnQixDQUFrQjtRQXJCdEQsZ0RBQTJDLEdBQUcsT0FBTyxDQUNuRCxtTEFBbUwsQ0FDcEwsQ0FBQztRQUNGLCtDQUEwQyxHQUFHLE9BQU8sQ0FDbEQsa0RBQWtELENBQ25ELENBQUM7UUFFRixpRUFBNEQsR0FBRyxPQUFPLENBQ3BFLDJNQUEyTSxDQUM1TSxDQUFDO1FBQ0YsZ0VBQTJELEdBQUcsT0FBTyxDQUNuRSxnSEFBZ0gsQ0FDakgsQ0FBQztRQUVGLG1EQUE4QyxHQUFHLE9BQU8sQ0FDdEQsMk1BQTJNLENBQzVNLENBQUM7UUFDRixrREFBNkMsR0FBRyxPQUFPLENBQ3JELDhHQUE4RyxDQUMvRyxDQUFDO0lBRXVELENB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RUFBRSxNQUFNLEVBQUUsQ0FBQztxRkFHMUQsSUFBSTtzQkFBWixLQUFLO2dCQUNHLE1BQU07c0JBQWQsS0FBSztnQkFDRyxjQUFjO3NCQUF0QixLQUFLO2dCQUNHLGFBQWE7c0JBQXJCLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIElucHV0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBnZXR0ZXh0IH0gZnJvbSAnQGM4eS9uZ3gtY29tcG9uZW50cyc7XG5pbXBvcnQgeyBwdWxsLCBkZWZhdWx0c0RlZXAgfSBmcm9tICdsb2Rhc2gtZXMnO1xuaW1wb3J0IHsgSUFwcGxpY2F0aW9uLCBJSWRlbnRpZmllZCwgSVVzZXJHcm91cCB9IGZyb20gJ0BjOHkvY2xpZW50JztcbmltcG9ydCB7IENvbnRyb2xDb250YWluZXIsIE5nRm9ybSB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcbmltcG9ydCB7IEludmVudG9yeU1hcHBpbmcsIEFjY2Vzc01hcHBpbmcgfSBmcm9tICcuLi8uLi9zc28tY29uZmlndXJhdGlvbi5tb2RlbCc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2M4eS1zc28tYWNjZXNzLW1hcHBpbmcnLFxuICB0ZW1wbGF0ZVVybDogJy4vYWNjZXNzLW1hcHBpbmcuY29tcG9uZW50Lmh0bWwnLFxuICB2aWV3UHJvdmlkZXJzOiBbeyBwcm92aWRlOiBDb250cm9sQ29udGFpbmVyLCB1c2VFeGlzdGluZzogTmdGb3JtIH1dXG59KVxuZXhwb3J0IGNsYXNzIEFjY2Vzc01hcHBpbmdDb21wb25lbnQge1xuICBASW5wdXQoKSBhcHBzOiBJQXBwbGljYXRpb25bXTtcbiAgQElucHV0KCkgZ3JvdXBzOiBJVXNlckdyb3VwW107XG4gIEBJbnB1dCgpIGludmVudG9yeVJvbGVzOiBJSWRlbnRpZmllZFtdO1xuICBASW5wdXQoKSB0ZW1wbGF0ZU1vZGVsO1xuXG4gIFVTRV9BQ0NFU1NfTUFQUElOR19PTl9VU0VSX0NSRUFUSU9OX1RPT0xUSVAgPSBnZXR0ZXh0KFxuICAgICdUaGUgYWNjZXNzIG1hcHBpbmcgd2lsbCBiZSBleGVjdXRlZCBvbmx5IG9uY2UgZHVyaW5nIHRoZSBmaXJzdCBsb2dpbiwgdGhlbiB0aGUgYWRtaW5pc3RyYXRvciBjYW4gZWRpdCB0aGUgdXNlciByb2xlcy4gRHVyaW5nIHRoZSBuZXh0IGxvZ2luLCB0aGVzZSBtYXBwaW5ncyB3aWxsIG5vdCBiZSBleGVjdXRlZC4nXG4gICk7XG4gIFVTRV9BQ0NFU1NfTUFQUElOR19PTl9VU0VSX0NSRUFUSU9OX09QVElPTiA9IGdldHRleHQoXG4gICAgJ1VzZSBkeW5hbWljIGFjY2VzcyBtYXBwaW5nIG9ubHkgb24gdXNlciBjcmVhdGlvbidcbiAgKTtcblxuICBVUERBVEVfUk9MRVNfTElTVEVEX0lOX0FDQ0VTU19NQVBQSU5HX09OX0VBQ0hfTE9HX0lOX1RPT0xUSVAgPSBnZXR0ZXh0KFxuICAgICdUaGUgYWNjZXNzIG1hcHBpbmcgd2lsbCBiZSBleGVjdXRlZCBvbmx5IG9uY2UgZHVyaW5nIHRoZSBmaXJzdCBsb2dpbiwgdGhlbiB0aGUgYWRtaW5pc3RyYXRvciBjYW4gZWRpdCB0aGUgdXNlciByb2xlcy4gRHVyaW5nIHRoZSBuZXh0IGxvZ2luIG9ubHkgdGhlIHJvbGVzIGxpc3RlZCBpbiB0aGUgYWNjZXNzIG1hcHBpbmdzIHdpbGwgYmUgdXBkYXRlZC4nXG4gICk7XG4gIFVQREFURV9ST0xFU19MSVNURURfSU5fQUNDRVNTX01BUFBJTkdfT05fRUFDSF9MT0dfSU5fT1BUSU9OID0gZ2V0dGV4dChcbiAgICAnUm9sZXMgc2VsZWN0ZWQgaW4gdGhlIHJ1bGVzIGJlbG93IHdpbGwgYmUgcmVhc3NpZ25lZCB0byBhIHVzZXIgb24gZWFjaCBsb2cgaW4gYW5kIG90aGVyIG9uZXMgd2lsbCBiZSB1bmNoYW5nZWQnXG4gICk7XG5cbiAgQ0xFQVJfQU5EX1VQREFURURfUk9MRVNfT05fRUFDSF9MT0dfSU5fVE9PTFRJUCA9IGdldHRleHQoXG4gICAgJ1RoZSBhY2Nlc3MgbWFwcGluZyB3aWxsIGJlIGV4ZWN1dGVkIGR1cmluZyB0aGUgZmlyc3QgbG9naW4uIFRoZSBhZG1pbmlzdHJhdG9yIGNhbm5vdCBlZGl0IHRoZSBTU08gdXNlciByb2xlcy4gRHVyaW5nIHRoZSBuZXh0IGxvZ2luIGFsbCB0aGUgcm9sZXMgd2lsbCBiZSBjbGVhcmVkIGFuZCB0aGUgbWFwcGluZyB3aWxsIGJlIGV4ZWN1dGVkIGFnYWluLidcbiAgKTtcbiAgQ0xFQVJfQU5EX1VQREFURURfUk9MRVNfT05fRUFDSF9MT0dfSU5fT1BUSU9OID0gZ2V0dGV4dChcbiAgICAnUm9sZXMgc2VsZWN0ZWQgaW4gdGhlIHJ1bGVzIGJlbG93IHdpbGwgYmUgcmVhc3NpZ25lZCB0byBhIHVzZXIgb24gZWFjaCBsb2cgaW4gYW5kIG90aGVyIG9uZXMgd2lsbCBiZSBjbGVhcmVkJ1xuICApO1xuXG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgY29udHJvbENvbnRhaW5lcjogQ29udHJvbENvbnRhaW5lcikge31cblxuICBuZ09uQ2hhbmdlcygpOiB2b2lkIHtcbiAgICBpZiAodGhpcy50ZW1wbGF0ZU1vZGVsICYmIHRoaXMuYXBwcyAmJiB0aGlzLmdyb3Vwcykge1xuICAgICAgdGhpcy5zZXREeW5hbWljTWFwcGluZygpO1xuICAgIH1cbiAgfVxuXG4gIGFkZEFjY2Vzc01hcHBpbmcoKSB7XG4gICAgY29uc3QgZW1wdHlNYXBwaW5nOiBBY2Nlc3NNYXBwaW5nID0ge1xuICAgICAgd2hlbjoge1xuICAgICAgICBvcGVyYXRvcjogJ0FORCcsXG4gICAgICAgIGNoaWxkUHJlZGljYXRlczogW3sgcGFyYW1ldGVyUGF0aDogJycsIG9wZXJhdG9yOiAnRVEnLCB2YWx1ZTogJycgfV1cbiAgICAgIH0sXG4gICAgICB0aGVuR3JvdXBzOiBbXSxcbiAgICAgIHRoZW5BcHBsaWNhdGlvbnM6IFtdXG4gICAgfTtcbiAgICB0aGlzLnRlbXBsYXRlTW9kZWwub25OZXdVc2VyLmR5bmFtaWNNYXBwaW5nLm1hcHBpbmdzLnB1c2goZW1wdHlNYXBwaW5nKTtcbiAgfVxuXG4gIGFkZEludmVudG9yeU1hcHBpbmcoKSB7XG4gICAgY29uc3QgZW1wdHlJbnZlbnRvcnlNYXBwaW5nOiBJbnZlbnRvcnlNYXBwaW5nID0ge1xuICAgICAgd2hlbjoge1xuICAgICAgICBvcGVyYXRvcjogJ0FORCcsXG4gICAgICAgIGNoaWxkUHJlZGljYXRlczogW3sgcGFyYW1ldGVyUGF0aDogJycsIG9wZXJhdG9yOiAnRVEnLCB2YWx1ZTogJycgfV1cbiAgICAgIH0sXG4gICAgICB0aGVuSW52ZW50b3J5Um9sZXM6IFtdXG4gICAgfTtcbiAgICB0aGlzLnRlbXBsYXRlTW9kZWwub25OZXdVc2VyLmR5bmFtaWNNYXBwaW5nLmludmVudG9yeU1hcHBpbmdzLnB1c2goZW1wdHlJbnZlbnRvcnlNYXBwaW5nKTtcbiAgfVxuXG4gIG9uUmVtb3ZlKGFjY2Vzc01hcHBpbmc6IEFjY2Vzc01hcHBpbmcpIHtcbiAgICBwdWxsKHRoaXMudGVtcGxhdGVNb2RlbC5vbk5ld1VzZXIuZHluYW1pY01hcHBpbmcubWFwcGluZ3MsIGFjY2Vzc01hcHBpbmcpO1xuICB9XG5cbiAgb25SZW1vdmVJbnZlbnRvcnlNYXBwaW5nKGludmVudG9yeU1hcHBpbmc6IEludmVudG9yeU1hcHBpbmcpIHtcbiAgICBwdWxsKHRoaXMudGVtcGxhdGVNb2RlbC5vbk5ld1VzZXIuZHluYW1pY01hcHBpbmcuaW52ZW50b3J5TWFwcGluZ3MsIGludmVudG9yeU1hcHBpbmcpO1xuICB9XG5cbiAgc2V0RHluYW1pY01hcHBpbmdDb25maWd1cmF0aW9uKFxuICAgIG1hcFJvbGVzT25seUZvck5ld1VzZXI6IGJvb2xlYW4sXG4gICAgbWFuYWdlUm9sZXNPbmx5RnJvbUFjY2Vzc01hcHBpbmcgPSBmYWxzZVxuICApIHtcbiAgICB0aGlzLnRlbXBsYXRlTW9kZWwub25OZXdVc2VyLmR5bmFtaWNNYXBwaW5nLmNvbmZpZ3VyYXRpb24gPSB7XG4gICAgICBtYXBSb2xlc09ubHlGb3JOZXdVc2VyLFxuICAgICAgbWFuYWdlUm9sZXNPbmx5RnJvbUFjY2Vzc01hcHBpbmdcbiAgICB9O1xuICAgIHRoaXMuY29udHJvbENvbnRhaW5lci5jb250cm9sLm1hcmtBc0RpcnR5KCk7XG4gIH1cblxuICBnZXQgbWFwUm9sZXNPbmx5Rm9yTmV3VXNlcigpIHtcbiAgICByZXR1cm4gdGhpcy50ZW1wbGF0ZU1vZGVsLm9uTmV3VXNlci5keW5hbWljTWFwcGluZy5jb25maWd1cmF0aW9uLm1hcFJvbGVzT25seUZvck5ld1VzZXI7XG4gIH1cblxuICBnZXQgbWFuYWdlUm9sZXNPbmx5RnJvbUFjY2Vzc01hcHBpbmcoKSB7XG4gICAgcmV0dXJuIHRoaXMudGVtcGxhdGVNb2RlbC5vbk5ld1VzZXIuZHluYW1pY01hcHBpbmcuY29uZmlndXJhdGlvblxuICAgICAgLm1hbmFnZVJvbGVzT25seUZyb21BY2Nlc3NNYXBwaW5nO1xuICB9XG5cbiAgcHJpdmF0ZSBzZXREeW5hbWljTWFwcGluZygpIHtcbiAgICBkZWZhdWx0c0RlZXAodGhpcy50ZW1wbGF0ZU1vZGVsLm9uTmV3VXNlciwge1xuICAgICAgZHluYW1pY01hcHBpbmc6IHtcbiAgICAgICAgbWFwcGluZ3M6IFtdLFxuICAgICAgICBpbnZlbnRvcnlNYXBwaW5nczogW10sXG4gICAgICAgIGNvbmZpZ3VyYXRpb246IHsgbWFwUm9sZXNPbmx5Rm9yTmV3VXNlcjogZmFsc2UsIG1hbmFnZVJvbGVzT25seUZyb21BY2Nlc3NNYXBwaW5nOiBmYWxzZSB9XG4gICAgICB9XG4gICAgfSk7XG4gIH1cbn1cbiIsIjxkaXYgY2xhc3M9XCJwLTI0XCI+XG4gIDxkaXYgY2xhc3M9XCJyb3dcIj5cbiAgICA8ZGl2IGNsYXNzPVwiY29sLXhzLTEyIGNvbC1zbS0zIGNvbC1tZC0yXCI+XG4gICAgICA8ZGl2XG4gICAgICAgIGNsYXNzPVwiaDQgdGV4dC1ub3JtYWwgdGV4dC1yaWdodCB0ZXh0LWxlZnQteHNcIlxuICAgICAgICB0cmFuc2xhdGVcbiAgICAgID5cbiAgICAgICAgQWNjZXNzIG1hcHBpbmdcbiAgICAgIDwvZGl2PlxuICAgIDwvZGl2PlxuXG4gICAgPGRpdiBjbGFzcz1cImNvbC14cy0xMiBjb2wtc20tOSBjb2wtbWQtMTAgY29sLWxnLTlcIj5cbiAgICAgIDxjOHktZm9ybS1ncm91cD5cbiAgICAgICAgPGxhYmVsXG4gICAgICAgICAgdGl0bGU9XCJ7eyBVU0VfQUNDRVNTX01BUFBJTkdfT05fVVNFUl9DUkVBVElPTl9PUFRJT04gfCB0cmFuc2xhdGUgfX1cIlxuICAgICAgICAgIGNsYXNzPVwiYzh5LXJhZGlvIGlucHV0LXNtXCJcbiAgICAgICAgPlxuICAgICAgICAgIDxpbnB1dFxuICAgICAgICAgICAgdHlwZT1cInJhZGlvXCJcbiAgICAgICAgICAgIG5hbWU9XCJkeW5hbWljQWNjZXNzTWFwcGluZ0NvbmZpZ3VyYXRpb25cIlxuICAgICAgICAgICAgZGF0YS1jeT1cImM4eS1pbnZlbnRvcnktcm9sZXMtbWFwcGluZy0tb24tdXNlci1jcmVhdGlvblwiXG4gICAgICAgICAgICBbY2hlY2tlZF09XCJtYXBSb2xlc09ubHlGb3JOZXdVc2VyXCJcbiAgICAgICAgICAgIChjaGFuZ2UpPVwic2V0RHluYW1pY01hcHBpbmdDb25maWd1cmF0aW9uKHRydWUpXCJcbiAgICAgICAgICAvPlxuICAgICAgICAgIDxzcGFuPjwvc3Bhbj5cbiAgICAgICAgICA8c3Bhbj57eyBVU0VfQUNDRVNTX01BUFBJTkdfT05fVVNFUl9DUkVBVElPTl9PUFRJT04gfCB0cmFuc2xhdGUgfX08L3NwYW4+XG4gICAgICAgICAgPGJ1dHRvblxuICAgICAgICAgICAgY2xhc3M9XCJidG4taGVscFwiXG4gICAgICAgICAgICB0eXBlPVwiYnV0dG9uXCJcbiAgICAgICAgICAgIFthdHRyLmFyaWEtbGFiZWxdPVwiJ0hlbHAnIHwgdHJhbnNsYXRlXCJcbiAgICAgICAgICAgIHBvcG92ZXI9XCJ7eyBVU0VfQUNDRVNTX01BUFBJTkdfT05fVVNFUl9DUkVBVElPTl9UT09MVElQIHwgdHJhbnNsYXRlIH19XCJcbiAgICAgICAgICAgIHBsYWNlbWVudD1cInJpZ2h0XCJcbiAgICAgICAgICAgIHRyaWdnZXJzPVwiZm9jdXNcIlxuICAgICAgICAgICAgY29udGFpbmVyPVwiYm9keVwiXG4gICAgICAgICAgPjwvYnV0dG9uPlxuICAgICAgICA8L2xhYmVsPlxuICAgICAgICA8bGFiZWxcbiAgICAgICAgICB0aXRsZT1cInt7IFVQREFURV9ST0xFU19MSVNURURfSU5fQUNDRVNTX01BUFBJTkdfT05fRUFDSF9MT0dfSU5fT1BUSU9OIHwgdHJhbnNsYXRlIH19XCJcbiAgICAgICAgICBjbGFzcz1cImM4eS1yYWRpbyBpbnB1dC1zbVwiXG4gICAgICAgID5cbiAgICAgICAgICA8aW5wdXRcbiAgICAgICAgICAgIHR5cGU9XCJyYWRpb1wiXG4gICAgICAgICAgICBuYW1lPVwiZHluYW1pY0FjY2Vzc01hcHBpbmdDb25maWd1cmF0aW9uXCJcbiAgICAgICAgICAgIGRhdGEtY3k9XCJjOHktaW52ZW50b3J5LXJvbGVzLW1hcHBpbmctLW90aGVyLW9uZXMtd2lsbC1iZS11bmNoYW5nZWRcIlxuICAgICAgICAgICAgW2NoZWNrZWRdPVwiIW1hcFJvbGVzT25seUZvck5ld1VzZXIgJiYgbWFuYWdlUm9sZXNPbmx5RnJvbUFjY2Vzc01hcHBpbmdcIlxuICAgICAgICAgICAgKGNoYW5nZSk9XCJzZXREeW5hbWljTWFwcGluZ0NvbmZpZ3VyYXRpb24oZmFsc2UsIHRydWUpXCJcbiAgICAgICAgICAvPlxuICAgICAgICAgIDxzcGFuPjwvc3Bhbj5cbiAgICAgICAgICA8c3Bhbj5cbiAgICAgICAgICAgIHt7IFVQREFURV9ST0xFU19MSVNURURfSU5fQUNDRVNTX01BUFBJTkdfT05fRUFDSF9MT0dfSU5fT1BUSU9OIHwgdHJhbnNsYXRlIH19XG4gICAgICAgICAgPC9zcGFuPlxuICAgICAgICAgIDxidXR0b25cbiAgICAgICAgICAgIHR5cGU9XCJidXR0b25cIlxuICAgICAgICAgICAgY2xhc3M9XCJidG4taGVscFwiXG4gICAgICAgICAgICBbYXR0ci5hcmlhLWxhYmVsXT1cIidIZWxwJyB8IHRyYW5zbGF0ZVwiXG4gICAgICAgICAgICBwb3BvdmVyPVwie3sgVVBEQVRFX1JPTEVTX0xJU1RFRF9JTl9BQ0NFU1NfTUFQUElOR19PTl9FQUNIX0xPR19JTl9UT09MVElQIHwgdHJhbnNsYXRlIH19XCJcbiAgICAgICAgICAgIHBsYWNlbWVudD1cInJpZ2h0XCJcbiAgICAgICAgICAgIHRyaWdnZXJzPVwiZm9jdXNcIlxuICAgICAgICAgICAgY29udGFpbmVyPVwiYm9keVwiXG4gICAgICAgICAgPjwvYnV0dG9uPlxuICAgICAgICA8L2xhYmVsPlxuICAgICAgICA8bGFiZWxcbiAgICAgICAgICB0aXRsZT1cInt7IENMRUFSX0FORF9VUERBVEVEX1JPTEVTX09OX0VBQ0hfTE9HX0lOX09QVElPTiB8IHRyYW5zbGF0ZSB9fVwiXG4gICAgICAgICAgY2xhc3M9XCJjOHktcmFkaW8gaW5wdXQtc21cIlxuICAgICAgICA+XG4gICAgICAgICAgPGlucHV0XG4gICAgICAgICAgICB0eXBlPVwicmFkaW9cIlxuICAgICAgICAgICAgbmFtZT1cImR5bmFtaWNBY2Nlc3NNYXBwaW5nQ29uZmlndXJhdGlvblwiXG4gICAgICAgICAgICBkYXRhLWN5PVwiYzh5LWludmVudG9yeS1yb2xlcy1tYXBwaW5nLS1vdGhlci1vbmVzLXdpbGwtYmUtY2xlYXJlZFwiXG4gICAgICAgICAgICBbY2hlY2tlZF09XCIhbWFwUm9sZXNPbmx5Rm9yTmV3VXNlciAmJiAhbWFuYWdlUm9sZXNPbmx5RnJvbUFjY2Vzc01hcHBpbmdcIlxuICAgICAgICAgICAgKGNoYW5nZSk9XCJzZXREeW5hbWljTWFwcGluZ0NvbmZpZ3VyYXRpb24oZmFsc2UsIGZhbHNlKVwiXG4gICAgICAgICAgLz5cbiAgICAgICAgICA8c3Bhbj48L3NwYW4+XG4gICAgICAgICAgPHNwYW4+XG4gICAgICAgICAgICB7eyBDTEVBUl9BTkRfVVBEQVRFRF9ST0xFU19PTl9FQUNIX0xPR19JTl9PUFRJT04gfCB0cmFuc2xhdGUgfX1cbiAgICAgICAgICA8L3NwYW4+XG4gICAgICAgICAgPGJ1dHRvblxuICAgICAgICAgICAgY2xhc3M9XCJidG4taGVscFwiXG4gICAgICAgICAgICB0eXBlPVwiYnV0dG9uXCJcbiAgICAgICAgICAgIFthdHRyLmFyaWEtbGFiZWxdPVwiJ0hlbHAnIHwgdHJhbnNsYXRlXCJcbiAgICAgICAgICAgIHBvcG92ZXI9XCJ7eyBDTEVBUl9BTkRfVVBEQVRFRF9ST0xFU19PTl9FQUNIX0xPR19JTl9UT09MVElQIHwgdHJhbnNsYXRlIH19XCJcbiAgICAgICAgICAgIHBsYWNlbWVudD1cInJpZ2h0XCJcbiAgICAgICAgICAgIHRyaWdnZXJzPVwiZm9jdXNcIlxuICAgICAgICAgICAgY29udGFpbmVyPVwiYm9keVwiXG4gICAgICAgICAgPjwvYnV0dG9uPlxuICAgICAgICA8L2xhYmVsPlxuICAgICAgPC9jOHktZm9ybS1ncm91cD5cbiAgICAgIDxmaWVsZHNldCBjbGFzcz1cImM4eS1maWVsZHNldCBwLTE2XCI+XG4gICAgICAgIDxsZWdlbmQ+e3sgJ0R5bmFtaWMgYWNjZXNzIG1hcHBpbmcnIHwgdHJhbnNsYXRlIH19PC9sZWdlbmQ+XG4gICAgICAgIDxjOHktdWktZW1wdHktc3RhdGVcbiAgICAgICAgICAqbmdJZj1cInRlbXBsYXRlTW9kZWwub25OZXdVc2VyLmR5bmFtaWNNYXBwaW5nLm1hcHBpbmdzLmxlbmd0aCA9PT0gMFwiXG4gICAgICAgICAgW2ljb25dPVwiJ2xpc3QnXCJcbiAgICAgICAgICBbdGl0bGVdPVwiJ05vIGFjY2VzcyBtYXBwaW5nIHJ1bGVzIGRlZmluZWQuJyB8IHRyYW5zbGF0ZVwiXG4gICAgICAgICAgW3N1YnRpdGxlXT1cIidDbGljayBiZWxvdyB0byBhZGQgYSBuZXcgbWFwcGluZy4nIHwgdHJhbnNsYXRlXCJcbiAgICAgICAgICBbaG9yaXpvbnRhbF09XCJ0cnVlXCJcbiAgICAgICAgPjwvYzh5LXVpLWVtcHR5LXN0YXRlPlxuICAgICAgICA8ZGl2XG4gICAgICAgICAgKm5nRm9yPVwiXG4gICAgICAgICAgICBsZXQgYWNjZXNzTWFwcGluZyBvZiB0ZW1wbGF0ZU1vZGVsLm9uTmV3VXNlci5keW5hbWljTWFwcGluZy5tYXBwaW5ncztcbiAgICAgICAgICAgIGluZGV4IGFzIGlkeFxuICAgICAgICAgIFwiXG4gICAgICAgID5cbiAgICAgICAgICA8Yzh5LXNzby1keW5hbWljLWFjY2Vzcy1tYXBwaW5nXG4gICAgICAgICAgICBbYWNjZXNzTWFwcGluZ109XCJhY2Nlc3NNYXBwaW5nXCJcbiAgICAgICAgICAgIChvblJlbW92ZUFjY2Vzc01hcHBpbmcpPVwib25SZW1vdmUoYWNjZXNzTWFwcGluZylcIlxuICAgICAgICAgICAgW2FwcHNdPVwiYXBwc1wiXG4gICAgICAgICAgICBbZ3JvdXBzXT1cImdyb3Vwc1wiXG4gICAgICAgICAgICBbYWNjZXNzTWFwcGluZ0luZGV4XT1cImlkeFwiXG4gICAgICAgICAgPjwvYzh5LXNzby1keW5hbWljLWFjY2Vzcy1tYXBwaW5nPlxuICAgICAgICA8L2Rpdj5cbiAgICAgICAgPGRpdiBjbGFzcz1cInAtdC0xNlwiPlxuICAgICAgICAgIDxidXR0b25cbiAgICAgICAgICAgIGlkPVwiYWRkLWFjY2Vzcy1tYXBwaW5nLWJ1dHRvblwiXG4gICAgICAgICAgICBjbGFzcz1cImJ0biBidG4tZGVmYXVsdFwiXG4gICAgICAgICAgICB0eXBlPVwiYnV0dG9uXCJcbiAgICAgICAgICAgIHRpdGxlPVwie3sgJ0FkZCBhY2Nlc3MgbWFwcGluZycgfCB0cmFuc2xhdGUgfX1cIlxuICAgICAgICAgICAgKGNsaWNrKT1cImFkZEFjY2Vzc01hcHBpbmcoKVwiXG4gICAgICAgICAgPlxuICAgICAgICAgICAgPGlcbiAgICAgICAgICAgICAgYzh5SWNvbj1cInBsdXMtY2lyY2xlXCJcbiAgICAgICAgICAgICAgY2xhc3M9XCJtLXItNFwiXG4gICAgICAgICAgICA+PC9pPlxuICAgICAgICAgICAge3sgJ0FkZCBhY2Nlc3MgbWFwcGluZycgfCB0cmFuc2xhdGUgfX1cbiAgICAgICAgICA8L2J1dHRvbj5cbiAgICAgICAgPC9kaXY+XG4gICAgICA8L2ZpZWxkc2V0PlxuICAgICAgPGZpZWxkc2V0IGNsYXNzPVwiYzh5LWZpZWxkc2V0IHAtMTZcIj5cbiAgICAgICAgPGxlZ2VuZD5cbiAgICAgICAgICB7eyAnSW52ZW50b3J5IHJvbGVzIG1hcHBpbmcnIHwgdHJhbnNsYXRlIH19XG4gICAgICAgIDwvbGVnZW5kPlxuICAgICAgICA8Yzh5LXVpLWVtcHR5LXN0YXRlXG4gICAgICAgICAgKm5nSWY9XCJ0ZW1wbGF0ZU1vZGVsLm9uTmV3VXNlci5keW5hbWljTWFwcGluZy5pbnZlbnRvcnlNYXBwaW5ncy5sZW5ndGggPT09IDBcIlxuICAgICAgICAgIFtpY29uXT1cIidsaXN0J1wiXG4gICAgICAgICAgW3RpdGxlXT1cIidObyBpbnZlbnRvcnkgcm9sZXMgbWFwcGluZyBydWxlcyBkZWZpbmVkLicgfCB0cmFuc2xhdGVcIlxuICAgICAgICAgIFtzdWJ0aXRsZV09XCInQ2xpY2sgYmVsb3cgdG8gYWRkIGEgbmV3IG1hcHBpbmcuJyB8IHRyYW5zbGF0ZVwiXG4gICAgICAgICAgW2hvcml6b250YWxdPVwidHJ1ZVwiXG4gICAgICAgID48L2M4eS11aS1lbXB0eS1zdGF0ZT5cbiAgICAgICAgPG5nLWNvbnRhaW5lclxuICAgICAgICAgICpuZ0Zvcj1cIlxuICAgICAgICAgICAgbGV0IGludmVudG9yeU1hcHBpbmcgb2YgdGVtcGxhdGVNb2RlbC5vbk5ld1VzZXIuZHluYW1pY01hcHBpbmcuaW52ZW50b3J5TWFwcGluZ3M7XG4gICAgICAgICAgICBpbmRleCBhcyBpZHhcbiAgICAgICAgICBcIlxuICAgICAgICA+XG4gICAgICAgICAgPGM4eS1zc28taW52ZW50b3J5LXJvbGVzLW1hcHBpbmdcbiAgICAgICAgICAgIFtpbnZlbnRvcnlSb2xlc109XCJpbnZlbnRvcnlSb2xlc1wiXG4gICAgICAgICAgICBbaW52ZW50b3J5TWFwcGluZ109XCJpbnZlbnRvcnlNYXBwaW5nXCJcbiAgICAgICAgICAgIChvblJlbW92ZUludmVudG9yeU1hcHBpbmcpPVwib25SZW1vdmVJbnZlbnRvcnlNYXBwaW5nKGludmVudG9yeU1hcHBpbmcpXCJcbiAgICAgICAgICAgIFtpbnZlbnRvcnlNYXBwaW5nSW5kZXhdPVwiaWR4XCJcbiAgICAgICAgICA+PC9jOHktc3NvLWludmVudG9yeS1yb2xlcy1tYXBwaW5nPlxuICAgICAgICA8L25nLWNvbnRhaW5lcj5cbiAgICAgICAgPGRpdiBjbGFzcz1cInAtdC0xNlwiPlxuICAgICAgICAgIDxidXR0b25cbiAgICAgICAgICAgIGlkPVwiYWRkLWludmVudG9yeS1tYXBwaW5nLWJ1dHRvblwiXG4gICAgICAgICAgICBjbGFzcz1cImJ0biBidG4tZGVmYXVsdFwiXG4gICAgICAgICAgICB0eXBlPVwiYnV0dG9uXCJcbiAgICAgICAgICAgIHRpdGxlPVwie3sgJ0FkZCBpbnZlbnRvcnkgcm9sZXMgbWFwcGluZycgfCB0cmFuc2xhdGUgfX1cIlxuICAgICAgICAgICAgKGNsaWNrKT1cImFkZEludmVudG9yeU1hcHBpbmcoKVwiXG4gICAgICAgICAgPlxuICAgICAgICAgICAgPGlcbiAgICAgICAgICAgICAgYzh5SWNvbj1cInBsdXMtY2lyY2xlXCJcbiAgICAgICAgICAgICAgY2xhc3M9XCJtLXItNFwiXG4gICAgICAgICAgICA+PC9pPlxuICAgICAgICAgICAge3sgJ0FkZCBpbnZlbnRvcnkgcm9sZXMgbWFwcGluZycgfCB0cmFuc2xhdGUgfX1cbiAgICAgICAgICA8L2J1dHRvbj5cbiAgICAgICAgPC9kaXY+XG4gICAgICA8L2ZpZWxkc2V0PlxuICAgIDwvZGl2PlxuICA8L2Rpdj5cbjwvZGl2PlxuIl19
|
|
106
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWNjZXNzLW1hcHBpbmcuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vYXV0aC1jb25maWd1cmF0aW9uL3Nzby1jb25maWd1cmF0aW9uL3RlbXBsYXRlLXBhcnRzL2FjY2Vzcy1tYXBwaW5nL2FjY2Vzcy1tYXBwaW5nLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uL2F1dGgtY29uZmlndXJhdGlvbi9zc28tY29uZmlndXJhdGlvbi90ZW1wbGF0ZS1wYXJ0cy9hY2Nlc3MtbWFwcGluZy9hY2Nlc3MtbWFwcGluZy5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLEtBQUssRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUNqRCxPQUFPLEVBQUUsT0FBTyxFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFDOUMsT0FBTyxFQUFFLElBQUksRUFBRSxZQUFZLEVBQUUsTUFBTSxXQUFXLENBQUM7QUFFL0MsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sRUFBRSxNQUFNLGdCQUFnQixDQUFDOzs7Ozs7OztBQVExRCxNQUFNLE9BQU8sc0JBQXNCO0lBOEJqQyxZQUFvQixnQkFBa0M7UUFBbEMscUJBQWdCLEdBQWhCLGdCQUFnQixDQUFrQjtRQXhCdEQsZ0RBQTJDLEdBQUcsT0FBTyxDQUNuRCxtTEFBbUwsQ0FDcEwsQ0FBQztRQUNGLCtDQUEwQyxHQUFHLE9BQU8sQ0FDbEQsa0RBQWtELENBQ25ELENBQUM7UUFFRixpRUFBNEQsR0FBRyxPQUFPLENBQ3BFLDJNQUEyTSxDQUM1TSxDQUFDO1FBQ0YsZ0VBQTJELEdBQUcsT0FBTyxDQUNuRSxnSEFBZ0gsQ0FDakgsQ0FBQztRQUVGLG1EQUE4QyxHQUFHLE9BQU8sQ0FDdEQsMk1BQTJNLENBQzVNLENBQUM7UUFDRixrREFBNkMsR0FBRyxPQUFPLENBQ3JELDhHQUE4RyxDQUMvRyxDQUFDO1FBRUYsOEJB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RTtnQkFDZCxRQUFRLEVBQUUsRUFBRTtnQkFDWixpQkFBaUIsRUFBRSxFQUFFO2dCQUNyQixhQUFhLEVBQUU7b0JBQ2Isc0JBQXNCLEVBQUUsS0FBSztvQkFDN0IsZ0NBQWdDLEVBQUUsS0FBSztvQkFDdkMsY0FBYyxFQUFFLElBQUk7aUJBQ3JCO2FBQ0Y7U0FDRixDQUFDLENBQUM7SUFDTCxDQUFDOzhHQWhIVSxzQkFBc0I7a0dBQXRCLHNCQUFzQixpTUNabkMsMm5QQTRNQSxraEREbE1pQixDQUFDLEVBQUUsT0FBTyxFQUFFLGdCQUFnQixFQUFFLFdBQVcsRUFBRSxNQUFNLEVBQUUsQ0FBQzs7MkZBRXhELHNCQUFzQjtrQkFMbEMsU0FBUzsrQkFDRSx3QkFBd0IsaUJBRW5CLENBQUMsRUFBRSxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsV0FBVyxFQUFFLE1BQU0sRUFBRSxDQUFDO3FGQUcxRCxJQUFJO3NCQUFaLEtBQUs7Z0JBQ0csTUFBTTtzQkFBZCxLQUFLO2dCQUNHLGNBQWM7c0JBQXRCLEtBQUs7Z0JBQ0csYUFBYTtzQkFBckIsS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgSW5wdXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IGdldHRleHQgfSBmcm9tICdAYzh5L25neC1jb21wb25lbnRzJztcbmltcG9ydCB7IHB1bGwsIGRlZmF1bHRzRGVlcCB9IGZyb20gJ2xvZGFzaC1lcyc7XG5pbXBvcnQgeyBJQXBwbGljYXRpb24sIElJZGVudGlmaWVkLCBJVXNlckdyb3VwIH0gZnJvbSAnQGM4eS9jbGllbnQnO1xuaW1wb3J0IHsgQ29udHJvbENvbnRhaW5lciwgTmdGb3JtIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuaW1wb3J0IHsgSW52ZW50b3J5TWFwcGluZywgQWNjZXNzTWFwcGluZyB9IGZyb20gJy4uLy4uL3Nzby1jb25maWd1cmF0aW9uLm1vZGVsJztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnYzh5LXNzby1hY2Nlc3MtbWFwcGluZycsXG4gIHRlbXBsYXRlVXJsOiAnLi9hY2Nlc3MtbWFwcGluZy5jb21wb25lbnQuaHRtbCcsXG4gIHZpZXdQcm92aWRlcnM6IFt7IHByb3ZpZGU6IENvbnRyb2xDb250YWluZXIsIHVzZUV4aXN0aW5nOiBOZ0Zvcm0gfV1cbn0pXG5leHBvcnQgY2xhc3MgQWNjZXNzTWFwcGluZ0NvbXBvbmVudCB7XG4gIEBJbnB1dCgpIGFwcHM6IElBcHBsaWNhdGlvbltdO1xuICBASW5wdXQoKSBncm91cHM6IElVc2VyR3JvdXBbXTtcbiAgQElucHV0KCkgaW52ZW50b3J5Um9sZXM6IElJZGVudGlmaWVkW107XG4gIEBJbnB1dCgpIHRlbXBsYXRlTW9kZWw7XG5cbiAgVVNFX0FDQ0VTU19NQVBQSU5HX09OX1VTRVJfQ1JFQVRJT05fVE9PTFRJUCA9IGdldHRleHQoXG4gICAgJ1RoZSBhY2Nlc3MgbWFwcGluZyB3aWxsIGJlIGV4ZWN1dGVkIG9ubHkgb25jZSBkdXJpbmcgdGhlIGZpcnN0IGxvZ2luLCB0aGVuIHRoZSBhZG1pbmlzdHJhdG9yIGNhbiBlZGl0IHRoZSB1c2VyIHJvbGVzLiBEdXJpbmcgdGhlIG5leHQgbG9naW4sIHRoZXNlIG1hcHBpbmdzIHdpbGwgbm90IGJlIGV4ZWN1dGVkLidcbiAgKTtcbiAgVVNFX0FDQ0VTU19NQVBQSU5HX09OX1VTRVJfQ1JFQVRJT05fT1BUSU9OID0gZ2V0dGV4dChcbiAgICAnVXNlIGR5bmFtaWMgYWNjZXNzIG1hcHBpbmcgb25seSBvbiB1c2VyIGNyZWF0aW9uJ1xuICApO1xuXG4gIFVQREFURV9ST0xFU19MSVNURURfSU5fQUNDRVNTX01BUFBJTkdfT05fRUFDSF9MT0dfSU5fVE9PTFRJUCA9IGdldHRleHQoXG4gICAgJ1RoZSBhY2Nlc3MgbWFwcGluZyB3aWxsIGJlIGV4ZWN1dGVkIG9ubHkgb25jZSBkdXJpbmcgdGhlIGZpcnN0IGxvZ2luLCB0aGVuIHRoZSBhZG1pbmlzdHJhdG9yIGNhbiBlZGl0IHRoZSB1c2VyIHJvbGVzLiBEdXJpbmcgdGhlIG5leHQgbG9naW4gb25seSB0aGUgcm9sZXMgbGlzdGVkIGluIHRoZSBhY2Nlc3MgbWFwcGluZ3Mgd2lsbCBiZSB1cGRhdGVkLidcbiAgKTtcbiAgVVBEQVRFX1JPTEVTX0xJU1RFRF9JTl9BQ0NFU1NfTUFQUElOR19PTl9FQUNIX0xPR19JTl9PUFRJT04gPSBnZXR0ZXh0KFxuICAgICdSb2xlcyBzZWxlY3RlZCBpbiB0aGUgcnVsZXMgYmVsb3cgd2lsbCBiZSByZWFzc2lnbmVkIHRvIGEgdXNlciBvbiBlYWNoIGxvZyBpbiBhbmQgb3RoZXIgb25lcyB3aWxsIGJlIHVuY2hhbmdlZCdcbiAgKTtcblxuICBDTEVBUl9BTkRfVVBEQVRFRF9ST0xFU19PTl9FQUNIX0xPR19JTl9UT09MVElQID0gZ2V0dGV4dChcbiAgICAnVGhlIGFjY2VzcyBtYXBwaW5nIHdpbGwgYmUgZXhlY3V0ZWQgZHVyaW5nIHRoZSBmaXJzdCBsb2dpbi4gVGhlIGFkbWluaXN0cmF0b3IgY2Fubm90IGVkaXQgdGhlIFNTTyB1c2VyIHJvbGVzLiBEdXJpbmcgdGhlIG5leHQgbG9naW4gYWxsIHRoZSByb2xlcyB3aWxsIGJlIGNsZWFyZWQgYW5kIHRoZSBtYXBwaW5nIHdpbGwgYmUgZXhlY3V0ZWQgYWdhaW4uJ1xuICApO1xuICBDTEVBUl9BTkRfVVBEQVRFRF9ST0xFU19PTl9FQUNIX0xPR19JTl9PUFRJT04gPSBnZXR0ZXh0KFxuICAgICdSb2xlcyBzZWxlY3RlZCBpbiB0aGUgcnVsZXMgYmVsb3cgd2lsbCBiZSByZWFzc2lnbmVkIHRvIGEgdXNlciBvbiBlYWNoIGxvZyBpbiBhbmQgb3RoZXIgb25lcyB3aWxsIGJlIGNsZWFyZWQnXG4gICk7XG5cbiAgUkVUUklWRV9GUk9NX0FDQ0VTU19UT0tFTiA9IGdldHRleHQoJ1JldHJpZXZlIGZyb20gQWNjZXNzIHRva2VuJyk7XG4gIFJFVFJJVkVfRlJPTV9JRF9UT0tFTiA9IGdldHRleHQoJ1JldHJpZXZlIGZyb20gSUQgdG9rZW4nKTtcblxuICBjb25zdHJ1Y3Rvcihwcml2YXRlIGNvbnRyb2xDb250YWluZXI6IENvbnRyb2xDb250YWluZXIpIHt9XG5cbiAgbmdPbkNoYW5nZXMoKTogdm9pZCB7XG4gICAgaWYgKHRoaXMudGVtcGxhdGVNb2RlbCAmJiB0aGlzLmFwcHMgJiYgdGhpcy5ncm91cHMpIHtcbiAgICAgIHRoaXMuc2V0RHluYW1pY01hcHBpbmcoKTtcbiAgICB9XG4gIH1cblxuICBhZGRBY2Nlc3NNYXBwaW5nKCkge1xuICAgIGNvbnN0IGVtcHR5TWFwcGluZzogQWNjZXNzTWFwcGluZyA9IHtcbiAgICAgIHdoZW46IHtcbiAgICAgICAgb3BlcmF0b3I6ICdBTkQnLFxuICAgICAgICBjaGlsZFByZWRpY2F0ZXM6IFt7IHBhcmFtZXRlclBhdGg6ICcnLCBvcGVyYXRvcjogJ0VRJywgdmFsdWU6ICcnIH1dXG4gICAgICB9LFxuICAgICAgdGhlbkdyb3VwczogW10sXG4gICAgICB0aGVuQXBwbGljYXRpb25zOiBbXVxuICAgIH07XG4gICAgdGhpcy50ZW1wbGF0ZU1vZGVsLm9uTmV3VXNlci5keW5hbWljTWFwcGluZy5tYXBwaW5ncy5wdXNoKGVtcHR5TWFwcGluZyk7XG4gIH1cblxuICBhZGRJbnZlbnRvcnlNYXBwaW5nKCkge1xuICAgIGNvbnN0IGVtcHR5SW52ZW50b3J5TWFwcGluZzogSW52ZW50b3J5TWFwcGluZyA9IHtcbiAgICAgIHdoZW46IHtcbiAgICAgICAgb3BlcmF0b3I6ICdBTkQnLFxuICAgICAgICBjaGlsZFByZWRpY2F0ZXM6IFt7IHBhcmFtZXRlclBhdGg6ICcnLCBvcGVyYXRvcjogJ0VRJywgdmFsdWU6ICcnIH1dXG4gICAgICB9LFxuICAgICAgdGhlbkludmVudG9yeVJvbGVzOiBbXVxuICAgIH07XG4gICAgdGhpcy50ZW1wbGF0ZU1vZGVsLm9uTmV3VXNlci5keW5hbWljTWFwcGluZy5pbnZlbnRvcnlNYXBwaW5ncy5wdXNoKGVtcHR5SW52ZW50b3J5TWFwcGluZyk7XG4gIH1cblxuICBvblJlbW92ZShhY2Nlc3NNYXBwaW5nOiBBY2Nlc3NNYXBwaW5nKSB7XG4gICAgcHVsbCh0aGlzLnRlbXBsYXRlTW9kZWwub25OZXdVc2VyLmR5bmFtaWNNYXBwaW5nLm1hcHBpbmdzLCBhY2Nlc3NNYXBwaW5nKTtcbiAgfVxuXG4gIG9uUmVtb3ZlSW52ZW50b3J5TWFwcGluZyhpbnZlbnRvcnlNYXBwaW5nOiBJbnZlbnRvcnlNYXBwaW5nKSB7XG4gICAgcHVsbCh0aGlzLnRlbXBsYXRlTW9kZWwub25OZXdVc2VyLmR5bmFtaWNNYXBwaW5nLmludmVudG9yeU1hcHBpbmdzLCBpbnZlbnRvcnlNYXBwaW5nKTtcbiAgfVxuXG4gIHNldER5bmFtaWNNYXBwaW5nQ29uZmlndXJhdGlvbihcbiAgICBtYXBSb2xlc09ubHlGb3JOZXdVc2VyOiBib29sZWFuLFxuICAgIG1hbmFnZVJvbGVzT25seUZyb21BY2Nlc3NNYXBwaW5nID0gZmFsc2VcbiAgKSB7XG4gICAgdGhpcy5keW5hbWljTWFwcGluZ0NvbmZpZ3VyYXRpb24ubWFwUm9sZXNPbmx5Rm9yTmV3VXNlciA9IG1hcFJvbGVzT25seUZvck5ld1VzZXI7XG4gICAgdGhpcy5keW5hbWljTWFwcGluZ0NvbmZpZ3VyYXRpb24ubWFuYWdlUm9sZXNPbmx5RnJvbUFjY2Vzc01hcHBpbmcgPVxuICAgICAgbWFuYWdlUm9sZXNPbmx5RnJvbUFjY2Vzc01hcHBpbmc7XG4gICAgdGhpcy5jb250cm9sQ29udGFpbmVyLmNvbnRyb2wubWFya0FzRGlydHkoKTtcbiAgfVxuXG4gIGdldCBtYXBSb2xlc09ubHlGb3JOZXdVc2VyKCkge1xuICAgIHJldHVybiB0aGlzLmR5bmFtaWNNYXBwaW5nQ29uZmlndXJhdGlvbi5tYXBSb2xlc09ubHlGb3JOZXdVc2VyO1xuICB9XG5cbiAgZ2V0IG1hbmFnZVJvbGVzT25seUZyb21BY2Nlc3NNYXBwaW5nKCkge1xuICAgIHJldHVybiB0aGlzLmR5bmFtaWNNYXBwaW5nQ29uZmlndXJhdGlvbi5tYW5hZ2VSb2xlc09ubHlGcm9tQWNjZXNzTWFwcGluZztcbiAgfVxuXG4gIGdldCBtYXBGcm9tSWRUb2tlbigpIHtcbiAgICByZXR1cm4gdGhpcy5keW5hbWljTWFwcGluZ0NvbmZpZ3VyYXRpb24ubWFwRnJvbUlkVG9rZW47XG4gIH1cblxuICBzZXRNYXBGcm9tSWRUb2tlbihtYXBGcm9tSWRUb2tlbikge1xuICAgIHRoaXMuZHluYW1pY01hcHBpbmdDb25maWd1cmF0aW9uLm1hcEZyb21JZFRva2VuID0gbWFwRnJvbUlkVG9rZW47XG4gICAgdGhpcy5jb250cm9sQ29udGFpbmVyLmNvbnRyb2wubWFya0FzRGlydHkoKTtcbiAgfVxuXG4gIHByaXZhdGUgZ2V0IGR5bmFtaWNNYXBwaW5nQ29uZmlndXJhdGlvbigpIHtcbiAgICByZXR1cm4gdGhpcy50ZW1wbGF0ZU1vZGVsLm9uTmV3VXNlci5keW5hbWljTWFwcGluZy5jb25maWd1cmF0aW9uO1xuICB9XG5cbiAgcHJpdmF0ZSBzZXREeW5hbWljTWFwcGluZygpIHtcbiAgICBkZWZhdWx0c0RlZXAodGhpcy50ZW1wbGF0ZU1vZGVsLm9uTmV3VXNlciwge1xuICAgICAgZHluYW1pY01hcHBpbmc6IHtcbiAgICAgICAgbWFwcGluZ3M6IFtdLFxuICAgICAgICBpbnZlbnRvcnlNYXBwaW5nczogW10sXG4gICAgICAgIGNvbmZpZ3VyYXRpb246IHtcbiAgICAgICAgICBtYXBSb2xlc09ubHlGb3JOZXdVc2VyOiBmYWxzZSxcbiAgICAgICAgICBtYW5hZ2VSb2xlc09ubHlGcm9tQWNjZXNzTWFwcGluZzogZmFsc2UsXG4gICAgICAgICAgbWFwRnJvbUlkVG9rZW46IHRydWVcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH0pO1xuICB9XG59XG4iLCI8ZGl2IGNsYXNzPVwicC0yNFwiPlxuICA8ZGl2IGNsYXNzPVwicm93XCI+XG4gICAgPGRpdiBjbGFzcz1cImNvbC14cy0xMiBjb2wtc20tMyBjb2wtbWQtMlwiPlxuICAgICAgPGRpdlxuICAgICAgICBjbGFzcz1cImg0IHRleHQtbm9ybWFsIHRleHQtcmlnaHQgdGV4dC1sZWZ0LXhzXCJcbiAgICAgICAgdHJhbnNsYXRlXG4gICAgICA+XG4gICAgICAgIEFjY2VzcyBtYXBwaW5nXG4gICAgICA8L2Rpdj5cbiAgICA8L2Rpdj5cblxuICAgIDxkaXYgY2xhc3M9XCJjb2wteHMtMTIgY29sLXNtLTkgY29sLW1kLTEwIGNvbC1sZy05XCI+XG4gICAgICA8ZmllbGRzZXQgY2xhc3M9XCJjOHktZmllbGRzZXQgcC0yNFwiPlxuICAgICAgICA8bGVnZW5kPnt7ICdTb3VyY2Ugb2YgZHluYW1pYyBhY2Nlc3MgbWFwcGluZycgfCB0cmFuc2xhdGUgfX08L2xlZ2VuZD5cbiAgICAgICAgPGM4eS1mb3JtLWdyb3VwPlxuICAgICAgICAgIDxsYWJlbFxuICAgICAgICAgICAgdGl0bGU9XCJ7eyBSRVRSSVZFX0ZST01fQUNDRVNTX1RPS0VOIHwgdHJhbnNsYXRlIH19XCJcbiAgICAgICAgICAgIGNsYXNzPVwiYzh5LXJhZGlvIGlucHV0LXNtXCJcbiAgICAgICAgICA+XG4gICAgICAgICAgICA8aW5wdXRcbiAgICAgICAgICAgICAgdHlwZT1cInJhZGlvXCJcbiAgICAgICAgICAgICAgbmFtZT1cImR5bmFtaWNBY2Nlc3NNYXBwaW5nU291cmNlXCJcbiAgICAgICAgICAgICAgW2NoZWNrZWRdPVwiIW1hcEZyb21JZFRva2VuXCJcbiAgICAgICAgICAgICAgKGNoYW5nZSk9XCJzZXRNYXBGcm9tSWRUb2tlbihmYWxzZSlcIlxuICAgICAgICAgICAgLz5cbiAgICAgICAgICAgIDxzcGFuPjwvc3Bhbj5cbiAgICAgICAgICAgIDxzcGFuPnt7IFJFVFJJVkVfRlJPTV9BQ0NFU1NfVE9LRU4gfCB0cmFuc2xhdGUgfX08L3NwYW4+XG4gICAgICAgICAgPC9sYWJlbD5cbiAgICAgICAgICA8bGFiZWxcbiAgICAgICAgICAgIHRpdGxlPVwie3sgUkVUUklWRV9GUk9NX0lEX1RPS0VOIHwgdHJhbnNsYXRlIH19XCJcbiAgICAgICAgICAgIGNsYXNzPVwiYzh5LXJhZGlvIGlucHV0LXNtXCJcbiAgICAgICAgICA+XG4gICAgICAgICAgICA8aW5wdXRcbiAgICAgICAgICAgICAgdHlwZT1cInJhZGlvXCJcbiAgICAgICAgICAgICAgbmFtZT1cImR5bmFtaWNBY2Nlc3NNYXBwaW5nU291cmNlXCJcbiAgICAgICAgICAgICAgW2NoZWNrZWRdPVwibWFwRnJvbUlkVG9rZW5cIlxuICAgICAgICAgICAgICAoY2hhbmdlKT1cInNldE1hcEZyb21JZFRva2VuKHRydWUpXCJcbiAgICAgICAgICAgIC8+XG4gICAgICAgICAgICA8c3Bhbj48L3NwYW4+XG4gICAgICAgICAgICA8c3Bhbj57eyBSRVRSSVZFX0ZST01fSURfVE9LRU4gfCB0cmFuc2xhdGUgfX08L3NwYW4+XG4gICAgICAgICAgPC9sYWJlbD5cbiAgICAgICAgPC9jOHktZm9ybS1ncm91cD5cbiAgICAgIDwvZmllbGRzZXQ+XG5cbiAgICAgIDxmaWVsZHNldCBjbGFzcz1cImM4eS1maWVsZHNldCBwLTI0XCI+XG4gICAgICAgIDxsZWdlbmQ+e3sgJ0R5bmFtaWMgYWNjZXNzIG1hcHBpbmcgcHJpbmNpcGxlJyB8IHRyYW5zbGF0ZSB9fTwvbGVnZW5kPlxuICAgICAgICA8Yzh5LWZvcm0tZ3JvdXA+XG4gICAgICAgICAgPGxhYmVsXG4gICAgICAgICAgICB0aXRsZT1cInt7IFVTRV9BQ0NFU1NfTUFQUElOR19PTl9VU0VSX0NSRUFUSU9OX09QVElPTiB8IHRyYW5zbGF0ZSB9fVwiXG4gICAgICAgICAgICBjbGFzcz1cImM4eS1yYWRpbyBpbnB1dC1zbVwiXG4gICAgICAgICAgPlxuICAgICAgICAgICAgPGlucHV0XG4gICAgICAgICAgICAgIHR5cGU9XCJyYWRpb1wiXG4gICAgICAgICAgICAgIG5hbWU9XCJkeW5hbWljQWNjZXNzTWFwcGluZ0NvbmZpZ3VyYXRpb25cIlxuICAgICAgICAgICAgICBkYXRhLWN5PVwiYzh5LWludmVudG9yeS1yb2xlcy1tYXBwaW5nLS1vbi11c2VyLWNyZWF0aW9uXCJcbiAgICAgICAgICAgICAgW2NoZWNrZWRdPVwibWFwUm9sZXNPbmx5Rm9yTmV3VXNlclwiXG4gICAgICAgICAgICAgIChjaGFuZ2UpPVwic2V0RHluYW1pY01hcHBpbmdDb25maWd1cmF0aW9uKHRydWUpXCJcbiAgICAgICAgICAgIC8+XG4gICAgICAgICAgICA8c3Bhbj48L3NwYW4+XG4gICAgICAgICAgICA8c3Bhbj57eyBVU0VfQUNDRVNTX01BUFBJTkdfT05fVVNFUl9DUkVBVElPTl9PUFRJT04gfCB0cmFuc2xhdGUgfX08L3NwYW4+XG4gICAgICAgICAgICA8YnV0dG9uXG4gICAgICAgICAgICAgIGNsYXNzPVwiYnRuLWhlbHBcIlxuICAgICAgICAgICAgICB0eXBlPVwiYnV0dG9uXCJcbiAgICAgICAgICAgICAgW2F0dHIuYXJpYS1sYWJlbF09XCInSGVscCcgfCB0cmFuc2xhdGVcIlxuICAgICAgICAgICAgICBwb3BvdmVyPVwie3sgVVNFX0FDQ0VTU19NQVBQSU5HX09OX1VTRVJfQ1JFQVRJT05fVE9PTFRJUCB8IHRyYW5zbGF0ZSB9fVwiXG4gICAgICAgICAgICAgIHBsYWNlbWVudD1cInJpZ2h0XCJcbiAgICAgICAgICAgICAgdHJpZ2dlcnM9XCJmb2N1c1wiXG4gICAgICAgICAgICAgIGNvbnRhaW5lcj1cImJvZHlcIlxuICAgICAgICAgICAgPjwvYnV0dG9uPlxuICAgICAgICAgIDwvbGFiZWw+XG4gICAgICAgICAgPGxhYmVsXG4gICAgICAgICAgICB0aXRsZT1cInt7IFVQREFURV9ST0xFU19MSVNURURfSU5fQUNDRVNTX01BUFBJTkdfT05fRUFDSF9MT0dfSU5fT1BUSU9OIHwgdHJhbnNsYXRlIH19XCJcbiAgICAgICAgICAgIGNsYXNzPVwiYzh5LXJhZGlvIGlucHV0LXNtXCJcbiAgICAgICAgICA+XG4gICAgICAgICAgICA8aW5wdXRcbiAgICAgICAgICAgICAgdHlwZT1cInJhZGlvXCJcbiAgICAgICAgICAgICAgbmFtZT1cImR5bmFtaWNBY2Nlc3NNYXBwaW5nQ29uZmlndXJhdGlvblwiXG4gICAgICAgICAgICAgIGRhdGEtY3k9XCJjOHktaW52ZW50b3J5LXJvbGVzLW1hcHBpbmctLW90aGVyLW9uZXMtd2lsbC1iZS11bmNoYW5nZWRcIlxuICAgICAgICAgICAgICBbY2hlY2tlZF09XCIhbWFwUm9sZXNPbmx5Rm9yTmV3VXNlciAmJiBtYW5hZ2VSb2xlc09ubHlGcm9tQWNjZXNzTWFwcGluZ1wiXG4gICAgICAgICAgICAgIChjaGFuZ2UpPVwic2V0RHluYW1pY01hcHBpbmdDb25maWd1cmF0aW9uKGZhbHNlLCB0cnVlKVwiXG4gICAgICAgICAgICAvPlxuICAgICAgICAgICAgPHNwYW4+PC9zcGFuPlxuICAgICAgICAgICAgPHNwYW4+XG4gICAgICAgICAgICAgIHt7IFVQREFURV9ST0xFU19MSVNURURfSU5fQUNDRVNTX01BUFBJTkdfT05fRUFDSF9MT0dfSU5fT1BUSU9OIHwgdHJhbnNsYXRlIH19XG4gICAgICAgICAgICA8L3NwYW4+XG4gICAgICAgICAgICA8YnV0dG9uXG4gICAgICAgICAgICAgIHR5cGU9XCJidXR0b25cIlxuICAgICAgICAgICAgICBjbGFzcz1cImJ0bi1oZWxwXCJcbiAgICAgICAgICAgICAgW2F0dHIuYXJpYS1sYWJlbF09XCInSGVscCcgfCB0cmFuc2xhdGVcIlxuICAgICAgICAgICAgICBwb3BvdmVyPVwie3sgVVBEQVRFX1JPTEVTX0xJU1RFRF9JTl9BQ0NFU1NfTUFQUElOR19PTl9FQUNIX0xPR19JTl9UT09MVElQIHwgdHJhbnNsYXRlIH19XCJcbiAgICAgICAgICAgICAgcGxhY2VtZW50PVwicmlnaHRcIlxuICAgICAgICAgICAgICB0cmlnZ2Vycz1cImZvY3VzXCJcbiAgICAgICAgICAgICAgY29udGFpbmVyPVwiYm9keVwiXG4gICAgICAgICAgICA+PC9idXR0b24+XG4gICAgICAgICAgPC9sYWJlbD5cbiAgICAgICAgICA8bGFiZWxcbiAgICAgICAgICAgIHRpdGxlPVwie3sgQ0xFQVJfQU5EX1VQREFURURfUk9MRVNfT05fRUFDSF9MT0dfSU5fT1BUSU9OIHwgdHJhbnNsYXRlIH19XCJcbiAgICAgICAgICAgIGNsYXNzPVwiYzh5LXJhZGlvIGlucHV0LXNtXCJcbiAgICAgICAgICA+XG4gICAgICAgICAgICA8aW5wdXRcbiAgICAgICAgICAgICAgdHlwZT1cInJhZGlvXCJcbiAgICAgICAgICAgICAgbmFtZT1cImR5bmFtaWNBY2Nlc3NNYXBwaW5nQ29uZmlndXJhdGlvblwiXG4gICAgICAgICAgICAgIGRhdGEtY3k9XCJjOHktaW52ZW50b3J5LXJvbGVzLW1hcHBpbmctLW90aGVyLW9uZXMtd2lsbC1iZS1jbGVhcmVkXCJcbiAgICAgICAgICAgICAgW2NoZWNrZWRdPVwiIW1hcFJvbGVzT25seUZvck5ld1VzZXIgJiYgIW1hbmFnZVJvbGVzT25seUZyb21BY2Nlc3NNYXBwaW5nXCJcbiAgICAgICAgICAgICAgKGNoYW5nZSk9XCJzZXREeW5hbWljTWFwcGluZ0NvbmZpZ3VyYXRpb24oZmFsc2UsIGZhbHNlKVwiXG4gICAgICAgICAgICAvPlxuICAgICAgICAgICAgPHNwYW4+PC9zcGFuPlxuICAgICAgICAgICAgPHNwYW4+XG4gICAgICAgICAgICAgIHt7IENMRUFSX0FORF9VUERBVEVEX1JPTEVTX09OX0VBQ0hfTE9HX0lOX09QVElPTiB8IHRyYW5zbGF0ZSB9fVxuICAgICAgICAgICAgPC9zcGFuPlxuICAgICAgICAgICAgPGJ1dHRvblxuICAgICAgICAgICAgICBjbGFzcz1cImJ0bi1oZWxwXCJcbiAgICAgICAgICAgICAgdHlwZT1cImJ1dHRvblwiXG4gICAgICAgICAgICAgIFthdHRyLmFyaWEtbGFiZWxdPVwiJ0hlbHAnIHwgdHJhbnNsYXRlXCJcbiAgICAgICAgICAgICAgcG9wb3Zlcj1cInt7IENMRUFSX0FORF9VUERBVEVEX1JPTEVTX09OX0VBQ0hfTE9HX0lOX1RPT0xUSVAgfCB0cmFuc2xhdGUgfX1cIlxuICAgICAgICAgICAgICBwbGFjZW1lbnQ9XCJyaWdodFwiXG4gICAgICAgICAgICAgIHRyaWdnZXJzPVwiZm9jdXNcIlxuICAgICAgICAgICAgICBjb250YWluZXI9XCJib2R5XCJcbiAgICAgICAgICAgID48L2J1dHRvbj5cbiAgICAgICAgICA8L2xhYmVsPlxuICAgICAgICA8L2M4eS1mb3JtLWdyb3VwPlxuICAgICAgPC9maWVsZHNldD5cbiAgICAgIDxmaWVsZHNldCBjbGFzcz1cImM4eS1maWVsZHNldCBwLTE2XCI+XG4gICAgICAgIDxsZWdlbmQ+e3sgJ0R5bmFtaWMgYWNjZXNzIG1hcHBpbmcnIHwgdHJhbnNsYXRlIH19PC9sZWdlbmQ+XG4gICAgICAgIDxjOHktdWktZW1wdHktc3RhdGVcbiAgICAgICAgICAqbmdJZj1cInRlbXBsYXRlTW9kZWwub25OZXdVc2VyLmR5bmFtaWNNYXBwaW5nLm1hcHBpbmdzLmxlbmd0aCA9PT0gMFwiXG4gICAgICAgICAgW2ljb25dPVwiJ2xpc3QnXCJcbiAgICAgICAgICBbdGl0bGVdPVwiJ05vIGFjY2VzcyBtYXBwaW5nIHJ1bGVzIGRlZmluZWQuJyB8IHRyYW5zbGF0ZVwiXG4gICAgICAgICAgW3N1YnRpdGxlXT1cIidDbGljayBiZWxvdyB0byBhZGQgYSBuZXcgbWFwcGluZy4nIHwgdHJhbnNsYXRlXCJcbiAgICAgICAgICBbaG9yaXpvbnRhbF09XCJ0cnVlXCJcbiAgICAgICAgPjwvYzh5LXVpLWVtcHR5LXN0YXRlPlxuICAgICAgICA8ZGl2XG4gICAgICAgICAgKm5nRm9yPVwiXG4gICAgICAgICAgICBsZXQgYWNjZXNzTWFwcGluZyBvZiB0ZW1wbGF0ZU1vZGVsLm9uTmV3VXNlci5keW5hbWljTWFwcGluZy5tYXBwaW5ncztcbiAgICAgICAgICAgIGluZGV4IGFzIGlkeFxuICAgICAgICAgIFwiXG4gICAgICAgID5cbiAgICAgICAgICA8Yzh5LXNzby1keW5hbWljLWFjY2Vzcy1tYXBwaW5nXG4gICAgICAgICAgICBbYWNjZXNzTWFwcGluZ109XCJhY2Nlc3NNYXBwaW5nXCJcbiAgICAgICAgICAgIChvblJlbW92ZUFjY2Vzc01hcHBpbmcpPVwib25SZW1vdmUoYWNjZXNzTWFwcGluZylcIlxuICAgICAgICAgICAgW2FwcHNdPVwiYXBwc1wiXG4gICAgICAgICAgICBbZ3JvdXBzXT1cImdyb3Vwc1wiXG4gICAgICAgICAgICBbYWNjZXNzTWFwcGluZ0luZGV4XT1cImlkeFwiXG4gICAgICAgICAgPjwvYzh5LXNzby1keW5hbWljLWFjY2Vzcy1tYXBwaW5nPlxuICAgICAgICA8L2Rpdj5cbiAgICAgICAgPGRpdiBjbGFzcz1cInAtdC0xNlwiPlxuICAgICAgICAgIDxidXR0b25cbiAgICAgICAgICAgIGlkPVwiYWRkLWFjY2Vzcy1tYXBwaW5nLWJ1dHRvblwiXG4gICAgICAgICAgICBjbGFzcz1cImJ0biBidG4tZGVmYXVsdFwiXG4gICAgICAgICAgICB0eXBlPVwiYnV0dG9uXCJcbiAgICAgICAgICAgIHRpdGxlPVwie3sgJ0FkZCBhY2Nlc3MgbWFwcGluZycgfCB0cmFuc2xhdGUgfX1cIlxuICAgICAgICAgICAgKGNsaWNrKT1cImFkZEFjY2Vzc01hcHBpbmcoKVwiXG4gICAgICAgICAgPlxuICAgICAgICAgICAgPGlcbiAgICAgICAgICAgICAgYzh5SWNvbj1cInBsdXMtY2lyY2xlXCJcbiAgICAgICAgICAgICAgY2xhc3M9XCJtLXItNFwiXG4gICAgICAgICAgICA+PC9pPlxuICAgICAgICAgICAge3sgJ0FkZCBhY2Nlc3MgbWFwcGluZycgfCB0cmFuc2xhdGUgfX1cbiAgICAgICAgICA8L2J1dHRvbj5cbiAgICAgICAgPC9kaXY+XG4gICAgICA8L2ZpZWxkc2V0PlxuICAgICAgPGZpZWxkc2V0IGNsYXNzPVwiYzh5LWZpZWxkc2V0IHAtMTZcIj5cbiAgICAgICAgPGxlZ2VuZD5cbiAgICAgICAgICB7eyAnSW52ZW50b3J5IHJvbGVzIG1hcHBpbmcnIHwgdHJhbnNsYXRlIH19XG4gICAgICAgIDwvbGVnZW5kPlxuICAgICAgICA8Yzh5LXVpLWVtcHR5LXN0YXRlXG4gICAgICAgICAgKm5nSWY9XCJ0ZW1wbGF0ZU1vZGVsLm9uTmV3VXNlci5keW5hbWljTWFwcGluZy5pbnZlbnRvcnlNYXBwaW5ncy5sZW5ndGggPT09IDBcIlxuICAgICAgICAgIFtpY29uXT1cIidsaXN0J1wiXG4gICAgICAgICAgW3RpdGxlXT1cIidObyBpbnZlbnRvcnkgcm9sZXMgbWFwcGluZyBydWxlcyBkZWZpbmVkLicgfCB0cmFuc2xhdGVcIlxuICAgICAgICAgIFtzdWJ0aXRsZV09XCInQ2xpY2sgYmVsb3cgdG8gYWRkIGEgbmV3IG1hcHBpbmcuJyB8IHRyYW5zbGF0ZVwiXG4gICAgICAgICAgW2hvcml6b250YWxdPVwidHJ1ZVwiXG4gICAgICAgID48L2M4eS11aS1lbXB0eS1zdGF0ZT5cbiAgICAgICAgPG5nLWNvbnRhaW5lclxuICAgICAgICAgICpuZ0Zvcj1cIlxuICAgICAgICAgICAgbGV0IGludmVudG9yeU1hcHBpbmcgb2YgdGVtcGxhdGVNb2RlbC5vbk5ld1VzZXIuZHluYW1pY01hcHBpbmcuaW52ZW50b3J5TWFwcGluZ3M7XG4gICAgICAgICAgICBpbmRleCBhcyBpZHhcbiAgICAgICAgICBcIlxuICAgICAgICA+XG4gICAgICAgICAgPGM4eS1zc28taW52ZW50b3J5LXJvbGVzLW1hcHBpbmdcbiAgICAgICAgICAgIFtpbnZlbnRvcnlSb2xlc109XCJpbnZlbnRvcnlSb2xlc1wiXG4gICAgICAgICAgICBbaW52ZW50b3J5TWFwcGluZ109XCJpbnZlbnRvcnlNYXBwaW5nXCJcbiAgICAgICAgICAgIChvblJlbW92ZUludmVudG9yeU1hcHBpbmcpPVwib25SZW1vdmVJbnZlbnRvcnlNYXBwaW5nKGludmVudG9yeU1hcHBpbmcpXCJcbiAgICAgICAgICAgIFtpbnZlbnRvcnlNYXBwaW5nSW5kZXhdPVwiaWR4XCJcbiAgICAgICAgICA+PC9jOHktc3NvLWludmVudG9yeS1yb2xlcy1tYXBwaW5nPlxuICAgICAgICA8L25nLWNvbnRhaW5lcj5cbiAgICAgICAgPGRpdiBjbGFzcz1cInAtdC0xNlwiPlxuICAgICAgICAgIDxidXR0b25cbiAgICAgICAgICAgIGlkPVwiYWRkLWludmVudG9yeS1tYXBwaW5nLWJ1dHRvblwiXG4gICAgICAgICAgICBjbGFzcz1cImJ0biBidG4tZGVmYXVsdFwiXG4gICAgICAgICAgICB0eXBlPVwiYnV0dG9uXCJcbiAgICAgICAgICAgIHRpdGxlPVwie3sgJ0FkZCBpbnZlbnRvcnkgcm9sZXMgbWFwcGluZycgfCB0cmFuc2xhdGUgfX1cIlxuICAgICAgICAgICAgKGNsaWNrKT1cImFkZEludmVudG9yeU1hcHBpbmcoKVwiXG4gICAgICAgICAgPlxuICAgICAgICAgICAgPGlcbiAgICAgICAgICAgICAgYzh5SWNvbj1cInBsdXMtY2lyY2xlXCJcbiAgICAgICAgICAgICAgY2xhc3M9XCJtLXItNFwiXG4gICAgICAgICAgICA+PC9pPlxuICAgICAgICAgICAge3sgJ0FkZCBpbnZlbnRvcnkgcm9sZXMgbWFwcGluZycgfCB0cmFuc2xhdGUgfX1cbiAgICAgICAgICA8L2J1dHRvbj5cbiAgICAgICAgPC9kaXY+XG4gICAgICA8L2ZpZWxkc2V0PlxuICAgIDwvZGl2PlxuICA8L2Rpdj5cbjwvZGl2PlxuIl19
|
package/esm2022/auth-configuration/sso-configuration/template-parts/user-data-mapping.component.mjs
CHANGED
|
@@ -2,25 +2,35 @@ import { Component, Input } from '@angular/core';
|
|
|
2
2
|
import { gettext } from '@c8y/ngx-components';
|
|
3
3
|
import { ControlContainer, NgForm } from '@angular/forms';
|
|
4
4
|
import * as i0 from "@angular/core";
|
|
5
|
-
import * as i1 from "@
|
|
6
|
-
import * as i2 from "@
|
|
5
|
+
import * as i1 from "@angular/forms";
|
|
6
|
+
import * as i2 from "@c8y/ngx-components";
|
|
7
7
|
import * as i3 from "ngx-bootstrap/popover";
|
|
8
8
|
export class UserDataMappingComponent {
|
|
9
|
-
constructor() {
|
|
9
|
+
constructor(controlContainer) {
|
|
10
|
+
this.controlContainer = controlContainer;
|
|
10
11
|
this.CLAIM_NAMES = gettext('Token claims can be checked in Audit Logs under Single sign-on type.');
|
|
12
|
+
this.RETRIVE_FROM_ACCESS_TOKEN = gettext('Retrieve from Access token');
|
|
13
|
+
this.RETRIVE_FROM_ID_TOKEN = gettext('Retrieve from ID token');
|
|
11
14
|
}
|
|
12
15
|
ngAfterContentInit() {
|
|
13
16
|
if (!this.templateModel.accessTokenToUserDataMappings) {
|
|
14
17
|
this.templateModel.accessTokenToUserDataMappings = {};
|
|
15
18
|
}
|
|
16
19
|
}
|
|
17
|
-
|
|
18
|
-
|
|
20
|
+
get useIdToken() {
|
|
21
|
+
return this.templateModel.useIdToken;
|
|
22
|
+
}
|
|
23
|
+
setUseIdToken(useIdToken) {
|
|
24
|
+
this.templateModel.useIdToken = useIdToken;
|
|
25
|
+
this.controlContainer.control.markAsDirty();
|
|
26
|
+
}
|
|
27
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.9", ngImport: i0, type: UserDataMappingComponent, deps: [{ token: i1.ControlContainer }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
28
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.9", type: UserDataMappingComponent, selector: "c8y-sso-user-data-mapping", inputs: { templateModel: "templateModel" }, ngImport: i0, template: "<div class=\"p-24\">\n <div class=\"row\">\n <div class=\"col-xs-12 col-sm-3 col-md-2\">\n <div\n class=\"h4 text-normal text-right text-left-xs\"\n translate\n >\n User data mappings\n </div>\n </div>\n\n <div class=\"col-xs-12 col-sm-9 col-md-10 col-lg-9\">\n <fieldset class=\"c8y-fieldset p-24\">\n <legend>{{ 'Source of user data mapping' | translate }}</legend>\n <c8y-form-group>\n <label\n title=\"{{ RETRIVE_FROM_ACCESS_TOKEN | translate }}\"\n class=\"c8y-radio input-sm\"\n >\n <input\n type=\"radio\"\n name=\"userAccessMappingSource\"\n [checked]=\"!useIdToken\"\n (change)=\"setUseIdToken(false)\"\n />\n <span></span>\n <span>{{ RETRIVE_FROM_ACCESS_TOKEN | translate }}</span>\n </label>\n <label\n title=\"{{ RETRIVE_FROM_ID_TOKEN | translate }}\"\n class=\"c8y-radio input-sm\"\n >\n <input\n type=\"radio\"\n name=\"userAccessMappingSource\"\n [checked]=\"useIdToken\"\n (change)=\"setUseIdToken(true)\"\n />\n <span></span>\n <span>{{ RETRIVE_FROM_ID_TOKEN | translate }}</span>\n </label>\n </c8y-form-group>\n </fieldset>\n\n <fieldset class=\"c8y-fieldset p-24\">\n <legend>\n {{ 'Claim names' | translate }}\n <button\n class=\"btn-help btn-help--sm\"\n type=\"button\"\n [attr.aria-label]=\"'Help' | translate\"\n popover=\"{{ CLAIM_NAMES | translate }}\"\n placement=\"right\"\n triggers=\"focus\"\n ></button>\n </legend>\n\n <div class=\"row\">\n <div class=\"col-sm-6\">\n <c8y-form-group>\n <label\n for=\"firstName\"\n class=\"control-label\"\n translate\n >\n First name\n </label>\n <input\n class=\"form-control\"\n name=\"firstName\"\n id=\"firstName\"\n [(ngModel)]=\"templateModel.accessTokenToUserDataMappings.firstNameClaimName\"\n [placeholder]=\"'e.g. {{ example }}' | translate: { example: 'given_name' }\"\n />\n </c8y-form-group>\n </div>\n <div class=\"col-sm-6\">\n <c8y-form-group>\n <label\n for=\"lastName\"\n class=\"control-label\"\n translate\n >\n Last name\n </label>\n <input\n class=\"form-control\"\n name=\"lastName\"\n id=\"lastName\"\n [(ngModel)]=\"templateModel.accessTokenToUserDataMappings.lastNameClaimName\"\n [placeholder]=\"'e.g. {{ example }}' | translate: { example: 'family_name' }\"\n />\n </c8y-form-group>\n </div>\n </div>\n <div class=\"row\">\n <div class=\"col-sm-6\">\n <c8y-form-group>\n <label\n for=\"email\"\n class=\"control-label\"\n translate\n >\n Email\n </label>\n <input\n class=\"form-control\"\n name=\"email\"\n id=\"email\"\n [(ngModel)]=\"templateModel.accessTokenToUserDataMappings.emailClaimName\"\n [placeholder]=\"'e.g. {{ example }}' | translate: { example: 'email' }\"\n />\n </c8y-form-group>\n </div>\n <div class=\"col-sm-6\">\n <c8y-form-group>\n <label\n for=\"phoneNumber\"\n class=\"control-label\"\n translate\n >\n Phone number\n </label>\n <input\n class=\"form-control\"\n name=\"phoneNumber\"\n id=\"phoneNumber\"\n [(ngModel)]=\"templateModel.accessTokenToUserDataMappings.phoneNumberClaimName\"\n [placeholder]=\"'e.g. {{ example }}' | translate: { example: 'phone_number' }\"\n />\n </c8y-form-group>\n </div>\n </div>\n </fieldset>\n </div>\n </div>\n</div>\n", dependencies: [{ kind: "directive", type: i2.C8yTranslateDirective, selector: "[translate],[ngx-translate]" }, { kind: "directive", type: i1.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "component", type: i2.FormGroupComponent, selector: "c8y-form-group", inputs: ["hasError", "hasWarning", "hasSuccess", "novalidation", "status"] }, { kind: "directive", type: i3.PopoverDirective, selector: "[popover]", inputs: ["adaptivePosition", "boundariesElement", "popover", "popoverContext", "popoverTitle", "placement", "outsideClick", "triggers", "container", "containerClass", "isOpen", "delay"], outputs: ["onShown", "onHidden"], exportAs: ["bs-popover"] }, { kind: "pipe", type: i2.C8yTranslatePipe, name: "translate" }], viewProviders: [{ provide: ControlContainer, useExisting: NgForm }] }); }
|
|
19
29
|
}
|
|
20
30
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.9", ngImport: i0, type: UserDataMappingComponent, decorators: [{
|
|
21
31
|
type: Component,
|
|
22
|
-
args: [{ selector: 'c8y-sso-user-data-mapping', viewProviders: [{ provide: ControlContainer, useExisting: NgForm }], template: "<div class=\"p-24\">\n <div class=\"row\">\n <div class=\"col-xs-12 col-sm-3 col-md-2\">\n <div\n class=\"h4 text-normal text-right text-left-xs\"\n translate\n >\n User data mappings\n </div>\n </div>\n\n <div class=\"col-xs-12 col-sm-9 col-md-10 col-lg-9\">\n <fieldset class=\"c8y-fieldset p-24\">\n <legend>\n {{ 'Claim names' | translate }}\n <button\n class=\"btn-help btn-help--sm\"\n type=\"button\"\n [attr.aria-label]=\"'Help' | translate\"\n popover=\"{{ CLAIM_NAMES | translate }}\"\n placement=\"right\"\n triggers=\"focus\"\n ></button>\n </legend>\n\n <div class=\"row\">\n <div class=\"col-sm-6\">\n <c8y-form-group>\n <label\n for=\"firstName\"\n class=\"control-label\"\n translate\n >\n First name\n </label>\n <input\n class=\"form-control\"\n name=\"firstName\"\n id=\"firstName\"\n [(ngModel)]=\"templateModel.accessTokenToUserDataMappings.firstNameClaimName\"\n [placeholder]=\"'e.g. {{ example }}' | translate: { example: 'given_name' }\"\n />\n </c8y-form-group>\n </div>\n <div class=\"col-sm-6\">\n <c8y-form-group>\n <label\n for=\"lastName\"\n class=\"control-label\"\n translate\n >\n Last name\n </label>\n <input\n class=\"form-control\"\n name=\"lastName\"\n id=\"lastName\"\n [(ngModel)]=\"templateModel.accessTokenToUserDataMappings.lastNameClaimName\"\n [placeholder]=\"'e.g. {{ example }}' | translate: { example: 'family_name' }\"\n />\n </c8y-form-group>\n </div>\n </div>\n <div class=\"row\">\n <div class=\"col-sm-6\">\n <c8y-form-group>\n <label\n for=\"email\"\n class=\"control-label\"\n translate\n >\n Email\n </label>\n <input\n class=\"form-control\"\n name=\"email\"\n id=\"email\"\n [(ngModel)]=\"templateModel.accessTokenToUserDataMappings.emailClaimName\"\n [placeholder]=\"'e.g. {{ example }}' | translate: { example: 'email' }\"\n />\n </c8y-form-group>\n </div>\n <div class=\"col-sm-6\">\n <c8y-form-group>\n <label\n for=\"phoneNumber\"\n class=\"control-label\"\n translate\n >\n Phone number\n </label>\n <input\n class=\"form-control\"\n name=\"phoneNumber\"\n id=\"phoneNumber\"\n [(ngModel)]=\"templateModel.accessTokenToUserDataMappings.phoneNumberClaimName\"\n [placeholder]=\"'e.g. {{ example }}' | translate: { example: 'phone_number' }\"\n />\n </c8y-form-group>\n </div>\n </div>\n </fieldset>\n </div>\n </div>\n</div>\n" }]
|
|
23
|
-
}], propDecorators: { templateModel: [{
|
|
32
|
+
args: [{ selector: 'c8y-sso-user-data-mapping', viewProviders: [{ provide: ControlContainer, useExisting: NgForm }], template: "<div class=\"p-24\">\n <div class=\"row\">\n <div class=\"col-xs-12 col-sm-3 col-md-2\">\n <div\n class=\"h4 text-normal text-right text-left-xs\"\n translate\n >\n User data mappings\n </div>\n </div>\n\n <div class=\"col-xs-12 col-sm-9 col-md-10 col-lg-9\">\n <fieldset class=\"c8y-fieldset p-24\">\n <legend>{{ 'Source of user data mapping' | translate }}</legend>\n <c8y-form-group>\n <label\n title=\"{{ RETRIVE_FROM_ACCESS_TOKEN | translate }}\"\n class=\"c8y-radio input-sm\"\n >\n <input\n type=\"radio\"\n name=\"userAccessMappingSource\"\n [checked]=\"!useIdToken\"\n (change)=\"setUseIdToken(false)\"\n />\n <span></span>\n <span>{{ RETRIVE_FROM_ACCESS_TOKEN | translate }}</span>\n </label>\n <label\n title=\"{{ RETRIVE_FROM_ID_TOKEN | translate }}\"\n class=\"c8y-radio input-sm\"\n >\n <input\n type=\"radio\"\n name=\"userAccessMappingSource\"\n [checked]=\"useIdToken\"\n (change)=\"setUseIdToken(true)\"\n />\n <span></span>\n <span>{{ RETRIVE_FROM_ID_TOKEN | translate }}</span>\n </label>\n </c8y-form-group>\n </fieldset>\n\n <fieldset class=\"c8y-fieldset p-24\">\n <legend>\n {{ 'Claim names' | translate }}\n <button\n class=\"btn-help btn-help--sm\"\n type=\"button\"\n [attr.aria-label]=\"'Help' | translate\"\n popover=\"{{ CLAIM_NAMES | translate }}\"\n placement=\"right\"\n triggers=\"focus\"\n ></button>\n </legend>\n\n <div class=\"row\">\n <div class=\"col-sm-6\">\n <c8y-form-group>\n <label\n for=\"firstName\"\n class=\"control-label\"\n translate\n >\n First name\n </label>\n <input\n class=\"form-control\"\n name=\"firstName\"\n id=\"firstName\"\n [(ngModel)]=\"templateModel.accessTokenToUserDataMappings.firstNameClaimName\"\n [placeholder]=\"'e.g. {{ example }}' | translate: { example: 'given_name' }\"\n />\n </c8y-form-group>\n </div>\n <div class=\"col-sm-6\">\n <c8y-form-group>\n <label\n for=\"lastName\"\n class=\"control-label\"\n translate\n >\n Last name\n </label>\n <input\n class=\"form-control\"\n name=\"lastName\"\n id=\"lastName\"\n [(ngModel)]=\"templateModel.accessTokenToUserDataMappings.lastNameClaimName\"\n [placeholder]=\"'e.g. {{ example }}' | translate: { example: 'family_name' }\"\n />\n </c8y-form-group>\n </div>\n </div>\n <div class=\"row\">\n <div class=\"col-sm-6\">\n <c8y-form-group>\n <label\n for=\"email\"\n class=\"control-label\"\n translate\n >\n Email\n </label>\n <input\n class=\"form-control\"\n name=\"email\"\n id=\"email\"\n [(ngModel)]=\"templateModel.accessTokenToUserDataMappings.emailClaimName\"\n [placeholder]=\"'e.g. {{ example }}' | translate: { example: 'email' }\"\n />\n </c8y-form-group>\n </div>\n <div class=\"col-sm-6\">\n <c8y-form-group>\n <label\n for=\"phoneNumber\"\n class=\"control-label\"\n translate\n >\n Phone number\n </label>\n <input\n class=\"form-control\"\n name=\"phoneNumber\"\n id=\"phoneNumber\"\n [(ngModel)]=\"templateModel.accessTokenToUserDataMappings.phoneNumberClaimName\"\n [placeholder]=\"'e.g. {{ example }}' | translate: { example: 'phone_number' }\"\n />\n </c8y-form-group>\n </div>\n </div>\n </fieldset>\n </div>\n </div>\n</div>\n" }]
|
|
33
|
+
}], ctorParameters: () => [{ type: i1.ControlContainer }], propDecorators: { templateModel: [{
|
|
24
34
|
type: Input
|
|
25
35
|
}] } });
|
|
26
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
36
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXNlci1kYXRhLW1hcHBpbmcuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vYXV0aC1jb25maWd1cmF0aW9uL3Nzby1jb25maWd1cmF0aW9uL3RlbXBsYXRlLXBhcnRzL3VzZXItZGF0YS1tYXBwaW5nLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uL2F1dGgtY29uZmlndXJhdGlvbi9zc28tY29uZmlndXJhdGlvbi90ZW1wbGF0ZS1wYXJ0cy91c2VyLWRhdGEtbWFwcGluZy5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLEtBQUssRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUNqRCxPQUFPLEVBQUUsT0FBTyxFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFDOUMsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sRUFBRSxNQUFNLGdCQUFnQixDQUFDOzs7OztBQU8xRCxNQUFNLE9BQU8sd0JBQXdCO0lBT25DLFlBQW9CLGdCQUFrQztRQUFsQyxxQkFBZ0IsR0FBaEIsZ0JBQWdCLENBQWtCO1FBTHRELGdCQUFXLEdBQUcsT0FBTyxDQUFDLHNFQUFzRSxDQUFDLENBQUM7UUFFOUYsOEJBQXlCLEdBQUcsT0FBTyxDQUFDLDRCQUE0QixDQUFDLENBQUM7UUFDbEUsMEJBQXFCLEdBQUcsT0FBTyxDQUFDLHdCQUF3QixDQUFDLENBQUM7SUFFRCxDQUFDO0lBRTFELGtCQUFrQjtRQUNoQixJQUFJLENBQUMsSUFBSSxDQUFDLGFBQWEsQ0FBQyw2QkFBNkIsRUFBRSxDQUFDO1lBQ3RELElBQUksQ0FBQyxhQUFhLENBQUMsNkJBQTZCLEdBQUcsRUFBRSxDQUFDO1FBQ3hELENBQUM7SUFDSCxDQUFDO0lBRUQsSUFBSSxVQUFVO1FBQ1osT0FBTyxJQUFJLENBQUMsYUFBYSxDQUFDLFVBQVUsQ0FBQztJQUN2QyxDQUFDO0lBRUQsYUFBYSxDQUFDLFVBQVU7UUFDdEIsSUFBSSxDQUFDLGFBQWEsQ0FBQyxVQUFVLEdBQUcsVUFBVSxDQUFDO1FBQzNDLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxPQUFPLENBQUMsV0FBVyxFQUFFLENBQUM7SUFDOUMsQ0FBQzs4R0F0QlUsd0JBQXdCO2tHQUF4Qix3QkFBd0IsNkdDVHJDLHk4SUF5SUEsNnVDRGxJaUIsQ0FBQyxFQUFFLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxXQUFXLEVBQUUsTUFBTSxFQUFFLENBQUM7OzJGQUV4RCx3QkFBd0I7a0JBTHBDLFNBQVM7K0JBQ0UsMkJBQTJCLGlCQUV0QixDQUFDLEVBQUUsT0FBTyxFQUFFLGdCQUFnQixFQUFFLFdBQVcsRUFBRSxNQUFNLEVBQUUsQ0FBQztxRkFHMUQsYUFBYTtzQkFBckIsS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgSW5wdXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IGdldHRleHQgfSBmcm9tICdAYzh5L25neC1jb21wb25lbnRzJztcbmltcG9ydCB7IENvbnRyb2xDb250YWluZXIsIE5nRm9ybSB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnYzh5LXNzby11c2VyLWRhdGEtbWFwcGluZycsXG4gIHRlbXBsYXRlVXJsOiAnLi91c2VyLWRhdGEtbWFwcGluZy5jb21wb25lbnQuaHRtbCcsXG4gIHZpZXdQcm92aWRlcnM6IFt7IHByb3ZpZGU6IENvbnRyb2xDb250YWluZXIsIHVzZUV4aXN0aW5nOiBOZ0Zvcm0gfV1cbn0pXG5leHBvcnQgY2xhc3MgVXNlckRhdGFNYXBwaW5nQ29tcG9uZW50IHtcbiAgQElucHV0KCkgdGVtcGxhdGVNb2RlbDtcbiAgQ0xBSU1fTkFNRVMgPSBnZXR0ZXh0KCdUb2tlbiBjbGFpbXMgY2FuIGJlIGNoZWNrZWQgaW4gQXVkaXQgTG9ncyB1bmRlciBTaW5nbGUgc2lnbi1vbiB0eXBlLicpO1xuXG4gIFJFVFJJVkVfRlJPTV9BQ0NFU1NfVE9LRU4gPSBnZXR0ZXh0KCdSZXRyaWV2ZSBmcm9tIEFjY2VzcyB0b2tlbicpO1xuICBSRVRSSVZFX0ZST01fSURfVE9LRU4gPSBnZXR0ZXh0KCdSZXRyaWV2ZSBmcm9tIElEIHRva2VuJyk7XG5cbiAgY29uc3RydWN0b3IocHJpdmF0ZSBjb250cm9sQ29udGFpbmVyOiBDb250cm9sQ29udGFpbmVyKSB7fVxuXG4gIG5nQWZ0ZXJDb250ZW50SW5pdCgpIHtcbiAgICBpZiAoIXRoaXMudGVtcGxhdGVNb2RlbC5hY2Nlc3NUb2tlblRvVXNlckRhdGFNYXBwaW5ncykge1xuICAgICAgdGhpcy50ZW1wbGF0ZU1vZGVsLmFjY2Vzc1Rva2VuVG9Vc2VyRGF0YU1hcHBpbmdzID0ge307XG4gICAgfVxuICB9XG5cbiAgZ2V0IHVzZUlkVG9rZW4oKSB7XG4gICAgcmV0dXJuIHRoaXMudGVtcGxhdGVNb2RlbC51c2VJZFRva2VuO1xuICB9XG5cbiAgc2V0VXNlSWRUb2tlbih1c2VJZFRva2VuKSB7XG4gICAgdGhpcy50ZW1wbGF0ZU1vZGVsLnVzZUlkVG9rZW4gPSB1c2VJZFRva2VuO1xuICAgIHRoaXMuY29udHJvbENvbnRhaW5lci5jb250cm9sLm1hcmtBc0RpcnR5KCk7XG4gIH1cbn1cbiIsIjxkaXYgY2xhc3M9XCJwLTI0XCI+XG4gIDxkaXYgY2xhc3M9XCJyb3dcIj5cbiAgICA8ZGl2IGNsYXNzPVwiY29sLXhzLTEyIGNvbC1zbS0zIGNvbC1tZC0yXCI+XG4gICAgICA8ZGl2XG4gICAgICAgIGNsYXNzPVwiaDQgdGV4dC1ub3JtYWwgdGV4dC1yaWdodCB0ZXh0LWxlZnQteHNcIlxuICAgICAgICB0cmFuc2xhdGVcbiAgICAgID5cbiAgICAgICAgVXNlciBkYXRhIG1hcHBpbmdzXG4gICAgICA8L2Rpdj5cbiAgICA8L2Rpdj5cblxuICAgIDxkaXYgY2xhc3M9XCJjb2wteHMtMTIgY29sLXNtLTkgY29sLW1kLTEwIGNvbC1sZy05XCI+XG4gICAgICA8ZmllbGRzZXQgY2xhc3M9XCJjOHktZmllbGRzZXQgcC0yNFwiPlxuICAgICAgICA8bGVnZW5kPnt7ICdTb3VyY2Ugb2YgdXNlciBkYXRhIG1hcHBpbmcnIHwgdHJhbnNsYXRlIH19PC9sZWdlbmQ+XG4gICAgICAgIDxjOHktZm9ybS1ncm91cD5cbiAgICAgICAgICA8bGFiZWxcbiAgICAgICAgICAgIHRpdGxlPVwie3sgUkVUUklWRV9GUk9NX0FDQ0VTU19UT0tFTiB8IHRyYW5zbGF0ZSB9fVwiXG4gICAgICAgICAgICBjbGFzcz1cImM4eS1yYWRpbyBpbnB1dC1zbVwiXG4gICAgICAgICAgPlxuICAgICAgICAgICAgPGlucHV0XG4gICAgICAgICAgICAgIHR5cGU9XCJyYWRpb1wiXG4gICAgICAgICAgICAgIG5hbWU9XCJ1c2VyQWNjZXNzTWFwcGluZ1NvdXJjZVwiXG4gICAgICAgICAgICAgIFtjaGVja2VkXT1cIiF1c2VJZFRva2VuXCJcbiAgICAgICAgICAgICAgKGNoYW5nZSk9XCJzZXRVc2VJZFRva2VuKGZhbHNlKVwiXG4gICAgICAgICAgICAvPlxuICAgICAgICAgICAgPHNwYW4+PC9zcGFuPlxuICAgICAgICAgICAgPHNwYW4+e3sgUkVUUklWRV9GUk9NX0FDQ0VTU19UT0tFTiB8IHRyYW5zbGF0ZSB9fTwvc3Bhbj5cbiAgICAgICAgICA8L2xhYmVsPlxuICAgICAgICAgIDxsYWJlbFxuICAgICAgICAgICAgdGl0bGU9XCJ7eyBSRVRSSVZFX0ZST01fSURfVE9LRU4gfCB0cmFuc2xhdGUgfX1cIlxuICAgICAgICAgICAgY2xhc3M9XCJjOHktcmFkaW8gaW5wdXQtc21cIlxuICAgICAgICAgID5cbiAgICAgICAgICAgIDxpbnB1dFxuICAgICAgICAgICAgICB0eXBlPVwicmFkaW9cIlxuICAgICAgICAgICAgICBuYW1lPVwidXNlckFjY2Vzc01hcHBpbmdTb3VyY2VcIlxuICAgICAgICAgICAgICBbY2hlY2tlZF09XCJ1c2VJZFRva2VuXCJcbiAgICAgICAgICAgICAgKGNoYW5nZSk9XCJzZXRVc2VJZFRva2VuKHRydWUpXCJcbiAgICAgICAgICAgIC8+XG4gICAgICAgICAgICA8c3Bhbj48L3NwYW4+XG4gICAgICAgICAgICA8c3Bhbj57eyBSRVRSSVZFX0ZST01fSURfVE9LRU4gfCB0cmFuc2xhdGUgfX08L3NwYW4+XG4gICAgICAgICAgPC9sYWJlbD5cbiAgICAgICAgPC9jOHktZm9ybS1ncm91cD5cbiAgICAgIDwvZmllbGRzZXQ+XG5cbiAgICAgIDxmaWVsZHNldCBjbGFzcz1cImM4eS1maWVsZHNldCBwLTI0XCI+XG4gICAgICAgIDxsZWdlbmQ+XG4gICAgICAgICAge3sgJ0NsYWltIG5hbWVzJyB8IHRyYW5zbGF0ZSB9fVxuICAgICAgICAgIDxidXR0b25cbiAgICAgICAgICAgIGNsYXNzPVwiYnRuLWhlbHAgYnRuLWhlbHAtLXNtXCJcbiAgICAgICAgICAgIHR5cGU9XCJidXR0b25cIlxuICAgICAgICAgICAgW2F0dHIuYXJpYS1sYWJlbF09XCInSGVscCcgfCB0cmFuc2xhdGVcIlxuICAgICAgICAgICAgcG9wb3Zlcj1cInt7IENMQUlNX05BTUVTIHwgdHJhbnNsYXRlIH19XCJcbiAgICAgICAgICAgIHBsYWNlbWVudD1cInJpZ2h0XCJcbiAgICAgICAgICAgIHRyaWdnZXJzPVwiZm9jdXNcIlxuICAgICAgICAgID48L2J1dHRvbj5cbiAgICAgICAgPC9sZWdlbmQ+XG5cbiAgICAgICAgPGRpdiBjbGFzcz1cInJvd1wiPlxuICAgICAgICAgIDxkaXYgY2xhc3M9XCJjb2wtc20tNlwiPlxuICAgICAgICAgICAgPGM4eS1mb3JtLWdyb3VwPlxuICAgICAgICAgICAgICA8bGFiZWxcbiAgICAgICAgICAgICAgICBmb3I9XCJmaXJzdE5hbWVcIlxuICAgICAgICAgICAgICAgIGNsYXNzPVwiY29udHJvbC1sYWJlbFwiXG4gICAgICAgICAgICAgICAgdHJhbnNsYXRlXG4gICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICBGaXJzdCBuYW1lXG4gICAgICAgICAgICAgIDwvbGFiZWw+XG4gICAgICAgICAgICAgIDxpbnB1dFxuICAgICAgICAgICAgICAgIGNsYXNzPVwiZm9ybS1jb250cm9sXCJcbiAgICAgICAgICAgICAgICBuYW1lPVwiZmlyc3ROYW1lXCJcbiAgICAgICAgICAgICAgICBpZD1cImZpcnN0TmFtZVwiXG4gICAgICAgICAgICAgICAgWyhuZ01vZGVsKV09XCJ0ZW1wbGF0ZU1vZGVsLmFjY2Vzc1Rva2VuVG9Vc2VyRGF0YU1hcHBpbmdzLmZpcnN0TmFtZUNsYWltTmFtZVwiXG4gICAgICAgICAgICAgICAgW3BsYWNlaG9sZGVyXT1cIidlLmcuIHt7IGV4YW1wbGUgfX0nIHwgdHJhbnNsYXRlOiB7IGV4YW1wbGU6ICdnaXZlbl9uYW1lJyB9XCJcbiAgICAgICAgICAgICAgLz5cbiAgICAgICAgICAgIDwvYzh5LWZvcm0tZ3JvdXA+XG4gICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgPGRpdiBjbGFzcz1cImNvbC1zbS02XCI+XG4gICAgICAgICAgICA8Yzh5LWZvcm0tZ3JvdXA+XG4gICAgICAgICAgICAgIDxsYWJlbFxuICAgICAgICAgICAgICAgIGZvcj1cImxhc3ROYW1lXCJcbiAgICAgICAgICAgICAgICBjbGFzcz1cImNvbnRyb2wtbGFiZWxcIlxuICAgICAgICAgICAgICAgIHRyYW5zbGF0ZVxuICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgTGFzdCBuYW1lXG4gICAgICAgICAgICAgIDwvbGFiZWw+XG4gICAgICAgICAgICAgIDxpbnB1dFxuICAgICAgICAgICAgICAgIGNsYXNzPVwiZm9ybS1jb250cm9sXCJcbiAgICAgICAgICAgICAgICBuYW1lPVwibGFzdE5hbWVcIlxuICAgICAgICAgICAgICAgIGlkPVwibGFzdE5hbWVcIlxuICAgICAgICAgICAgICAgIFsobmdNb2RlbCldPVwidGVtcGxhdGVNb2RlbC5hY2Nlc3NUb2tlblRvVXNlckRhdGFNYXBwaW5ncy5sYXN0TmFtZUNsYWltTmFtZVwiXG4gICAgICAgICAgICAgICAgW3BsYWNlaG9sZGVyXT1cIidlLmcuIHt7IGV4YW1wbGUgfX0nIHwgdHJhbnNsYXRlOiB7IGV4YW1wbGU6ICdmYW1pbHlfbmFtZScgfVwiXG4gICAgICAgICAgICAgIC8+XG4gICAgICAgICAgICA8L2M4eS1mb3JtLWdyb3VwPlxuICAgICAgICAgIDwvZGl2PlxuICAgICAgICA8L2Rpdj5cbiAgICAgICAgPGRpdiBjbGFzcz1cInJvd1wiPlxuICAgICAgICAgIDxkaXYgY2xhc3M9XCJjb2wtc20tNlwiPlxuICAgICAgICAgICAgPGM4eS1mb3JtLWdyb3VwPlxuICAgICAgICAgICAgICA8bGFiZWxcbiAgICAgICAgICAgICAgICBmb3I9XCJlbWFpbFwiXG4gICAgICAgICAgICAgICAgY2xhc3M9XCJjb250cm9sLWxhYmVsXCJcbiAgICAgICAgICAgICAgICB0cmFuc2xhdGVcbiAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgIEVtYWlsXG4gICAgICAgICAgICAgIDwvbGFiZWw+XG4gICAgICAgICAgICAgIDxpbnB1dFxuICAgICAgICAgICAgICAgIGNsYXNzPVwiZm9ybS1jb250cm9sXCJcbiAgICAgICAgICAgICAgICBuYW1lPVwiZW1haWxcIlxuICAgICAgICAgICAgICAgIGlkPVwiZW1haWxcIlxuICAgICAgICAgICAgICAgIFsobmdNb2RlbCldPVwidGVtcGxhdGVNb2RlbC5hY2Nlc3NUb2tlblRvVXNlckRhdGFNYXBwaW5ncy5lbWFpbENsYWltTmFtZVwiXG4gICAgICAgICAgICAgICAgW3BsYWNlaG9sZGVyXT1cIidlLmcuIHt7IGV4YW1wbGUgfX0nIHwgdHJhbnNsYXRlOiB7IGV4YW1wbGU6ICdlbWFpbCcgfVwiXG4gICAgICAgICAgICAgIC8+XG4gICAgICAgICAgICA8L2M4eS1mb3JtLWdyb3VwPlxuICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgIDxkaXYgY2xhc3M9XCJjb2wtc20tNlwiPlxuICAgICAgICAgICAgPGM4eS1mb3JtLWdyb3VwPlxuICAgICAgICAgICAgICA8bGFiZWxcbiAgICAgICAgICAgICAgICBmb3I9XCJwaG9uZU51bWJlclwiXG4gICAgICAgICAgICAgICAgY2xhc3M9XCJjb250cm9sLWxhYmVsXCJcbiAgICAgICAgICAgICAgICB0cmFuc2xhdGVcbiAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgIFBob25lIG51bWJlclxuICAgICAgICAgICAgICA8L2xhYmVsPlxuICAgICAgICAgICAgICA8aW5wdXRcbiAgICAgICAgICAgICAgICBjbGFzcz1cImZvcm0tY29udHJvbFwiXG4gICAgICAgICAgICAgICAgbmFtZT1cInBob25lTnVtYmVyXCJcbiAgICAgICAgICAgICAgICBpZD1cInBob25lTnVtYmVyXCJcbiAgICAgICAgICAgICAgICBbKG5nTW9kZWwpXT1cInRlbXBsYXRlTW9kZWwuYWNjZXNzVG9rZW5Ub1VzZXJEYXRhTWFwcGluZ3MucGhvbmVOdW1iZXJDbGFpbU5hbWVcIlxuICAgICAgICAgICAgICAgIFtwbGFjZWhvbGRlcl09XCInZS5nLiB7eyBleGFtcGxlIH19JyB8IHRyYW5zbGF0ZTogeyBleGFtcGxlOiAncGhvbmVfbnVtYmVyJyB9XCJcbiAgICAgICAgICAgICAgLz5cbiAgICAgICAgICAgIDwvYzh5LWZvcm0tZ3JvdXA+XG4gICAgICAgICAgPC9kaXY+XG4gICAgICAgIDwvZGl2PlxuICAgICAgPC9maWVsZHNldD5cbiAgICA8L2Rpdj5cbiAgPC9kaXY+XG48L2Rpdj5cbiJdfQ==
|
|
@@ -91,7 +91,8 @@ export class AadConfigurationMapper {
|
|
|
91
91
|
userManagementSource: UserManagementSource.REMOTE,
|
|
92
92
|
type: TenantLoginOptionType.OAUTH2,
|
|
93
93
|
grantType: GrantType.AUTHORIZATION_CODE,
|
|
94
|
-
externalTokenConfig: templateModel.externalTokenConfig.toExternalTokenConfig()
|
|
94
|
+
externalTokenConfig: templateModel.externalTokenConfig.toExternalTokenConfig(),
|
|
95
|
+
useIdToken: templateModel.useIdToken
|
|
95
96
|
};
|
|
96
97
|
return ssoConfiguration;
|
|
97
98
|
}
|
|
@@ -119,7 +120,8 @@ export class AadConfigurationMapper {
|
|
|
119
120
|
publicKeyDiscoveryUrl: ssoConfigurationForAad.signatureVerificationConfig.aad.publicKeyDiscoveryUrl,
|
|
120
121
|
signatureVerificationConfig: new SignatureConfiguration(ssoConfigurationForAad.signatureVerificationConfig),
|
|
121
122
|
onNewUser: ssoConfigurationForAad.onNewUser,
|
|
122
|
-
externalTokenConfig: new ExternalToken(ssoConfigurationForAad.externalTokenConfig)
|
|
123
|
+
externalTokenConfig: new ExternalToken(ssoConfigurationForAad.externalTokenConfig),
|
|
124
|
+
useIdToken: ssoConfiguration.useIdToken
|
|
123
125
|
};
|
|
124
126
|
return aadConfiguration;
|
|
125
127
|
}
|
|
@@ -194,4 +196,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.9", ngImpor
|
|
|
194
196
|
providedIn: 'root'
|
|
195
197
|
}]
|
|
196
198
|
}] });
|
|
197
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWFkLWNvbmZpZ3VyYXRpb24tbWFwcGVyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vYXV0aC1jb25maWd1cmF0aW9uL3Nzby1jb25maWd1cmF0aW9uL3RlbXBsYXRlcy9hYWQtY29uZmlndXJhdGlvbi1tYXBwZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBRUEsT0FBTyxFQUFvQixZQUFZLEVBQUUsTUFBTSw0QkFBNEIsQ0FBQztBQUM1RSxPQUFPLEVBQ0wsU0FBUyxFQUNULElBQUksRUFDSixRQUFRLEVBQ1IsRUFBRSxFQUNGLEdBQUcsRUFDSCxZQUFZLEVBQ1osR0FBRyxFQUNILElBQUksRUFDSixNQUFNLEVBQ04sV0FBVyxFQUNaLE1BQU0sV0FBVyxDQUFDO0FBQ25CLE9BQU8sRUFBRSxTQUFTLEVBQUUscUJBQXFCLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSxhQUFhLENBQUM7QUFDckYsT0FBTyxFQUFFLHNCQUFzQixFQUFFLE1BQU0saURBQWlELENBQUM7QUFDekYsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUMzQyxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sK0NBQStDLENBQUM7O0FBSzlFLE1BQU0sT0FBTyxzQkFBc0I7SUFIbkM7UUFJVSxhQUFRLEdBQUc7WUFDakIsa0JBQWtCLEVBQUUsSUFBSTtTQUN6QixDQUFDO1FBRU0sZUFBVSxHQUFHLDRDQUE0QyxDQUFDO0tBME1uRTtJQXhNQyxPQUFPLENBQUMsYUFBK0I7UUFDckMsTUFBTSxPQUFPLEdBQUcsR0FBRyxhQUFhLENBQUMsVUFBVSxJQUFJLGFBQWEsQ0FBQyxNQUFNLFNBQVMsQ0FBQztRQUU3RSxNQUFNLGdCQUFnQixHQUFxQjtZQUN6QyxRQUFRLEVBQUUsYUFBYSxDQUFDLGFBQWE7WUFDckMsUUFBUSxFQUFFLGFBQWEsQ0FBQyxhQUFhO1lBQ3JDLGFBQWEsRUFBRSxhQUFhLENBQUMsbUJBQW1CO2dCQUM5QyxDQUFDLENB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dCI6WyJpbXBvcnQgeyBTc29Db25maWd1cmF0aW9uTWFwcGVyIH0gZnJvbSAnLi9zc28tY29uZmlndXJhdGlvbi5tYXBwZXInO1xuaW1wb3J0IHsgQWFkQ29uZmlndXJhdGlvbiB9IGZyb20gJy4vYWFkLm1vZGVsJztcbmltcG9ydCB7IFNzb0NvbmZpZ3VyYXRpb24sIFRlbXBsYXRlVHlwZSB9IGZyb20gJy4uL3Nzby1jb25maWd1cmF0aW9uLm1vZGVsJztcbmltcG9ydCB7XG4gIGNsb25lRGVlcCxcbiAgcGljayxcbiAgZGVmYXVsdHMsXG4gIGF0LFxuICBtYXAsXG4gIGRlZmF1bHRzRGVlcCxcbiAgaGFzLFxuICBoZWFkLFxuICByZWplY3QsXG4gIGlzVW5kZWZpbmVkXG59IGZyb20gJ2xvZGFzaC1lcyc7XG5pbXBvcnQgeyBHcmFudFR5cGUsIFRlbmFudExvZ2luT3B0aW9uVHlwZSwgVXNlck1hbmFnZW1lbnRTb3VyY2UgfSBmcm9tICdAYzh5L2NsaWVudCc7XG5pbXBvcnQgeyBTaWduYXR1cmVDb25maWd1cmF0aW9uIH0gZnJvbSAnLi4vdGVtcGxhdGUtcGFydHMvc2lnbmF0dXJlLWNvbmZpZ3VyYXRpb24ubW9kZWwnO1xuaW1wb3J0IHsgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgRXh0ZXJuYWxUb2tlbiB9IGZyb20gJy4uL3RlbXBsYXRlLXBhcnRzL2V4dGVybmFsLXRva2VuLWNvbmZpZy5tb2RlbCc7XG5cbkBJbmplY3RhYmxlKHtcbiAgcHJvdmlkZWRJbjogJ3Jvb3QnXG59KVxuZXhwb3J0IGNsYXNzIEFhZENvbmZpZ3VyYXRpb25NYXBwZXIgaW1wbGVtZW50cyBTc29Db25maWd1cmF0aW9uTWFwcGVyPEFhZENvbmZpZ3VyYXRpb24+IHtcbiAgcHJpdmF0ZSBkZWZhdWx0cyA9IHtcbiAgICB2aXNpYmxlT25Mb2dpblBhZ2U6IHRydWVcbiAgfTtcblxuICBwcml2YXRlIHVybFBhdHRlcm4gPSAvXiguKylcXC8oKC4rPylcXC9vYXV0aDJcXC8oYXV0aG9yaXplfHRva2VuKSkkLztcblxuICBtYXBGcm9tKHRlbXBsYXRlTW9kZWw6IEFhZENvbmZpZ3VyYXRpb24pOiBTc29Db25maWd1cmF0aW9uIHtcbiAgICBjb25zdCBiYXNlVXJsID0gYCR7dGVtcGxhdGVNb2RlbC5hYWRBZGRyZXNzfS8ke3RlbXBsYXRlTW9kZWwudGVuYW50fS9vYXV0aDJgO1xuXG4gICAgY29uc3Qgc3NvQ29uZmlndXJhdGlvbjogU3NvQ29uZmlndXJhdGlvbiA9IHtcbiAgICAgIGF1ZGllbmNlOiB0ZW1wbGF0ZU1vZGVsLmFwcGxpY2F0aW9uSWQsXG4gICAgICBjbGllbnRJZDogdGVtcGxhdGVNb2RlbC5hcHBsaWNhdGlvbklkLFxuICAgICAgbG9nb3V0UmVxdWVzdDogdGVtcGxhdGVNb2RlbC5yZWRpcmVjdEFmdGVyTG9nb3V0XG4gICAgICAgID8ge1xuICAgICAgICAgICAgbWV0aG9kOiAnUE9TVCcsXG4gICAgICAgICAgICB1cmw6IGAke2Jhc2VVcmx9L2xvZ291dGAsXG4gICAgICAgICAgICByZXF1ZXN0UGFyYW1zOiB7XG4gICAgICAgICAgICAgIHBvc3RfbG9nb3V0X3JlZGlyZWN0X3VyaTogdGVtcGxhdGVNb2RlbC5yZWRpcmVjdEFmdGVyTG9nb3V0VXJsXG4gICAgICAgICAgICB9LFxuICAgICAgICAgICAgaGVhZGVyczoge30sXG4gICAgICAgICAgICBib2R5OiAnJyxcbiAgICAgICAgICAgIG9wZXJhdGlvbjogJ1JFRElSRUNUJ1xuICAgICAgICAgIH1cbiAgICAgICAgOiB7XG4gICAgICAgICAgICBtZXRob2Q6ICdQT1NUJyxcbiAgICAgICAgICAgIGhlYWRlcnM6IHt9LFxuICAgICAgICAgICAgb3BlcmF0aW9uOiAnUkVESVJFQ1QnLFxuICAgICAgICAgICAgcmVxdWVzdFBhcmFtczoge31cbiAgICAgICAgICB9LFxuICAgICAgYXV0aG9yaXphdGlvblJlcXVlc3Q6IHtcbiAgICAgICAgbWV0aG9kOiAnR0VUJyxcbiAgICAgICAgdXJsOiBgJHtiYXNlVXJsfS9hdXRob3JpemVgLFxuICAgICAgICByZXF1ZXN0UGFyYW1zOiB7XG4gICAgICAgICAgcmVkaXJlY3RfdXJpOiAnJHtyZWRpcmVjdFVyaX0nLFxuICAgICAgICAgIGNsaWVudF9pZDogJyR7Y2xpZW50SWR9JyxcbiAgICAgICAgICByZXNwb25zZV90eXBlOiAnY29kZSdcbiAgICAgICAgfSxcbiAgICAgICAgaGVhZGVyczoge30sXG4gICAgICAgIGJvZHk6ICcnLFxuICAgICAgICBvcGVyYXRpb246ICdSRURJUkVDVCdcbiAgICAgIH0sXG4gICAgICB0b2tlblJlcXVlc3Q6IHtcbiAgICAgICAgbWV0aG9kOiAnUE9TVCcsXG4gICAgICAgIHVybDogYCR7YmFzZVVybH0vdG9rZW5gLFxuICAgICAgICByZXF1ZXN0UGFyYW1zOiB7fSxcbiAgICAgICAgaGVhZGVyczoge30sXG4gICAgICAgIGJvZHk6IHRoaXMuZ2V0UXVlcnlTdHJpbmcoe1xuICAgICAgICAgIGdyYW50X3R5cGU6ICdhdXRob3JpemF0aW9uX2NvZGUnLFxuICAgICAgICAgIGNvZGU6ICcke2NvZGV9JyxcbiAgICAgICAgICByZWRpcmVjdF91cmk6ICcke3JlZGlyZWN0VXJpfScsXG4gICAgICAgICAgcmVzb3VyY2U6ICcke2NsaWVudElkfScsXG4gICAgICAgICAgY2xpZW50X2lkOiAnJHtjbGllbnRJZH0nLFxuICAgICAgICAgIGNsaWVudF9zZWNyZXQ6IGVuY29kZVVSSUNvbXBvbmVudCh0ZW1wbGF0ZU1vZGVsLmNsaWVudFNlY3JldClcbiAgICAgICAgfSksXG4gICAgICAgIG9wZXJhdGlvbjogJ0VYRUNVVEUnXG4gICAgICB9LFxuICAgICAgcmVmcmVzaFJlcXVlc3Q6IHtcbiAgICAgICAgbWV0aG9kOiAnUE9TVCcsXG4gICAgICAgIHVybDogYCR7YmFzZVVybH0vdG9rZW5gLFxuICAgICAgICByZXF1ZXN0UGFyYW1zOiB7fSxcbiAgICAgICAgaGVhZGVyczoge30sXG4gICAgICAgIGJvZHk6IHRoaXMuZ2V0UXVlcnlTdHJpbmcoe1xuICAgICAgICAgIGdyYW50X3R5cGU6ICdyZWZyZXNoX3Rva2VuJyxcbiAgICAgICAgICByZWZyZXNoX3Rva2VuOiAnJHtyZWZyZXNoVG9rZW59JyxcbiAgICAgICAgICByZXNvdXJjZTogJyR7Y2xpZW50SWR9JyxcbiAgICAgICAgICBjbGllbnRfaWQ6ICcke2NsaWVudElkfScsXG4gICAgICAgICAgY2xpZW50X3NlY3JldDogZW5jb2RlVVJJQ29tcG9uZW50KHRlbXBsYXRlTW9kZWwuY2xpZW50U2VjcmV0KVxuICAgICAgICB9KSxcbiAgICAgICAgb3BlcmF0aW9uOiAnRVhFQ1VURSdcbiAgICAgIH0sXG4gICAgICBidXR0b25OYW1lOiB0ZW1wbGF0ZU1vZGVsLmJ1dHRvbk5hbWUsXG4gICAgICBwcm92aWRlck5hbWU6ICdBenVyZSBBRCcsXG4gICAgICBpc3N1ZXI6IHRlbXBsYXRlTW9kZWwuaXNzdWVyLFxuICAgICAgb25OZXdVc2VyOiB0ZW1wbGF0ZU1vZGVsLm9uTmV3VXNlcixcbiAgICAgIGFjY2Vzc1Rva2VuVG9Vc2VyRGF0YU1hcHBpbmdzOiB0ZW1wbGF0ZU1vZGVsLmFjY2Vzc1Rva2VuVG9Vc2VyRGF0YU1hcHBpbmdzLFxuICAgICAgcmVkaXJlY3RUb1BsYXRmb3JtOiB0ZW1wbGF0ZU1vZGVsLnJlZGlyZWN0VG9QbGF0Zm9ybSB8fCBudWxsLFxuICAgICAgdGVtcGxhdGU6IFRlbXBsYXRlVHlwZS5BWlVSRSxcbiAgICAgIHVzZXJJZENvbmZpZzoge1xuICAgICAgICB1c2VDb25zdGFudFZhbHVlOiBmYWxzZSxcbiAgICAgICAgand0RmllbGQ6IHRlbXBsYXRlTW9kZWwudXNlcklkQ29uZmlnLmp3dEZpZWxkXG4gICAgICB9LFxuICAgICAgdmlzaWJsZU9uTG9naW5QYWdlOiB0ZW1wbGF0ZU1vZGVsLnZpc2libGVPbkxvZ2luUGFnZSxcbiAgICAgIHNpZ25hdHVyZVZlcmlmaWNhdGlvbkNvbmZpZzpcbiAgICAgICAgdGVtcGxhdGVNb2RlbC5zaWduYXR1cmVWZXJpZmljYXRpb25Db25maWcudG9TaWduYXR1cmVWZXJpZmljYXRpb25Db25maWcoKSxcbiAgICAgIHVzZXJNYW5hZ2VtZW50U291cmNlOiBVc2VyTWFuYWdlbWVudFNvdXJjZS5SRU1PVEUsXG4gICAgICB0eXBlOiBUZW5hbnRMb2dpbk9wdGlvblR5cGUuT0FVVEgyLFxuICAgICAgZ3JhbnRUeXBlOiBHcmFudFR5cGUuQVVUSE9SSVpBVElPTl9DT0RFLFxuICAgICAgZXh0ZXJuYWxUb2tlbkNvbmZpZzogdGVtcGxhdGVNb2RlbC5leHRlcm5hbFRva2VuQ29uZmlnLnRvRXh0ZXJuYWxUb2tlbkNvbmZpZygpXG4gICAgfTtcbiAgICByZXR1cm4gc3NvQ29uZmlndXJhdGlvbjtcbiAgfVxuXG4gIG1hcFRvKHNzb0NvbmZpZ3VyYXRpb246IFNzb0NvbmZpZ3VyYXRpb24pOiBBYWRDb25maWd1cmF0aW9uIHtcbiAgICBjb25zdCBzc29Db25maWd1cmF0aW9uRm9yQWFkID0gY2xvbmVEZWVwKHNzb0NvbmZpZ3VyYXRpb24pO1xuXG4gICAgY29uc3QgYXBwbGljYXRpb25zSWQgPSBhdChzc29Db25maWd1cmF0aW9uRm9yQWFkLCBbJ2F1ZGllbmNlJywgJ2NsaWVudElkJ10pO1xuICAgIHRoaXMuc2V0dXBEZWZhdWx0cyhzc29Db25maWd1cmF0aW9uRm9yQWFkKTtcbiAgICB0aGlzLnNldHVwVXNlcklkQ29uZmlnKHNzb0NvbmZpZ3VyYXRpb25Gb3JBYWQpO1xuICAgIHRoaXMuc2V0dXBTaWduYXR1cmVWZXJpZmljYXRpb25Db25maWcoc3NvQ29uZmlndXJhdGlvbkZvckFhZCk7XG5cbiAgICBjb25zdCBhYWRDb25maWd1cmF0aW9uOiBBYWRDb25maWd1cmF0aW9uID0ge1xuICAgICAgYWFkQWRkcmVzczogdGhpcy5nZXRBYWRBZGRyZXNzKHNzb0NvbmZpZ3VyYXRpb25Gb3JBYWQpLFxuICAgICAgdGVuYW50OiB0aGlzLmdldFRlbmFudChzc29Db25maWd1cmF0aW9uRm9yQWFkKSxcbiAgICAgIGFwcGxpY2F0aW9uSWQ6IHRoaXMuZ2V0Rmlyc3REZWZpbmVkKGFwcGxpY2F0aW9uc0lkKSxcbiAgICAgIHJlZGlyZWN0VG9QbGF0Zm9ybTogc3NvQ29uZmlndXJhdGlvbkZvckFhZC5yZWRpcmVjdFRvUGxhdGZvcm0sXG4gICAgICBjbGllbnRTZWNyZXQ6IHRoaXMuZ2V0Q2xpZW50U2VjcmV0KHNzb0NvbmZpZ3VyYXRpb25Gb3JBYWQpLFxuICAgICAgaXNzdWVyOiBzc29Db25maWd1cmF0aW9uRm9yQWFkLmlzc3VlcixcbiAgICAgIGJ1dHRvbk5hbWU6IHNzb0NvbmZpZ3VyYXRpb25Gb3JBYWQuYnV0dG9uTmFtZSxcbiAgICAgIHZpc2libGVPbkxvZ2luUGFnZTogc3NvQ29uZmlndXJhdGlvbkZvckFhZC52aXNpYmxlT25Mb2dpblBhZ2UsXG4gICAgICByZWRpcmVjdEFmdGVyTG9nb3V0OiB0aGlzLmdldFJlZGlyZWN0QWZ0ZXJMb2dvdXQoc3NvQ29uZmlndXJhdGlvbkZvckFhZCksXG4gICAgICByZWRpcmVjdEFmdGVyTG9nb3V0VXJsOiB0aGlzLmdldFJlZGlyZWN0QWZ0ZXJMb2dvdXRVcmwoc3NvQ29uZmlndXJhdGlvbkZvckFhZCksXG4gICAgICBhY2Nlc3NUb2tlblRvVXNlckRhdGFNYXBwaW5nczogc3NvQ29uZmlndXJhdGlvbkZvckFhZC5hY2Nlc3NUb2tlblRvVXNlckRhdGFNYXBwaW5ncyxcbiAgICAgIHVzZXJJZENvbmZpZzoge1xuICAgICAgICBqd3RGaWVsZDogc3NvQ29uZmlndXJhdGlvbkZvckFhZC51c2VySWRDb25maWcuand0RmllbGRcbiAgICAgIH0sXG4gICAgICBwdWJsaWNLZXlEaXNjb3ZlcnlVcmw6XG4gICAgICAgIHNzb0NvbmZpZ3VyYXRpb25Gb3JBYWQuc2lnbmF0dXJlVmVyaWZpY2F0aW9uQ29uZmlnLmFhZC5wdWJsaWNLZXlEaXNjb3ZlcnlVcmwsXG4gICAgICBzaWduYXR1cmVWZXJpZmljYXRpb25Db25maWc6IG5ldyBTaWduYXR1cmVDb25maWd1cmF0aW9uKFxuICAgICAgICBzc29Db25maWd1cmF0aW9uRm9yQWFkLnNpZ25hdHVyZVZlcmlmaWNhdGlvbkNvbmZpZ1xuICAgICAgKSxcbiAgICAgIG9uTmV3VXNlcjogc3NvQ29uZmlndXJhdGlvbkZvckFhZC5vbk5ld1VzZXIsXG4gICAgICBleHRlcm5hbFRva2VuQ29uZmlnOiBuZXcgRXh0ZXJuYWxUb2tlbihzc29Db25maWd1cmF0aW9uRm9yQWFkLmV4dGVybmFsVG9rZW5Db25maWcpXG4gICAgfTtcbiAgICByZXR1cm4gYWFkQ29uZmlndXJhdGlvbjtcbiAgfVxuXG4gIHByaXZhdGUgc2V0dXBEZWZhdWx0cyhzc29Db25maWd1cmF0aW9uKSB7XG4gICAgZGVmYXVsdHMoc3NvQ29uZmlndXJhdGlvbiwgdGhpcy5kZWZhdWx0cyk7XG4gIH1cblxuICBwcml2YXRlIGdldEFhZEFkZHJlc3Moc3NvQ29uZmlndXJhdGlvbikge1xuICAgIGNvbnN0IHVybHMgPSB0aGlzLmdldFVybHNGcm9tUmVxdWVzdHMoc3NvQ29uZmlndXJhdGlvbik7XG5cbiAgICBjb25zdCBhYWRBZGRyZXNzZXMgPSBtYXAodXJscywgdXJsID0+IHRoaXMuZ2V0QWFkQWRkcmVzc0Zyb21VcmwodXJsKSk7XG4gICAgcmV0dXJuIHRoaXMuZ2V0Rmlyc3REZWZpbmVkKGFhZEFkZHJlc3Nlcyk7XG4gIH1cblxuICBwcml2YXRlIGdldFRlbmFudChzc29Db25maWd1cmF0aW9uKSB7XG4gICAgY29uc3QgdXJscyA9IHRoaXMuZ2V0VXJsc0Zyb21SZXF1ZXN0cyhzc29Db25maWd1cmF0aW9uKTtcblxuICAgIGNvbnN0IHRlbmFudHMgPSBtYXAodXJscywgdXJsID0+IHRoaXMuZ2V0VGVuYW50RnJvbVVybCh1cmwpKTtcbiAgICByZXR1cm4gdGhpcy5nZXRGaXJzdERlZmluZWQodGVuYW50cyk7XG4gIH1cblxuICBwcml2YXRlIGdldFVybHNGcm9tUmVxdWVzdHMoc3NvQ29uZmlndXJhdGlvbikge1xuICAgIHJldHVybiBhdChzc29Db25maWd1cmF0aW9uLCBbXG4gICAgICAnYXV0aG9yaXphdGlvblJlcXVlc3QudXJsJyxcbiAgICAgICd0b2tlblJlcXVlc3QudXJsJyxcbiAgICAgICdyZWZyZXNoUmVxdWVzdC51cmwnXG4gICAgXSk7XG4gIH1cblxuICBwcml2YXRlIGdldEFhZEFkZHJlc3NGcm9tVXJsKHVybCkge1xuICAgIGNvbnN0IFssIGFhZEFkZHJlc3NdID0gKHVybCB8fCAnJykubWF0Y2godGhpcy51cmxQYXR0ZXJuKSB8fCBbXTtcbiAgICByZXR1cm4gYWFkQWRkcmVzcztcbiAgfVxuXG4gIHByaXZhdGUgZ2V0VGVuYW50RnJvbVVybCh1cmwpIHtcbiAgICBjb25zdCBbLCAsICwgdGVuYW50XSA9ICh1cmwgfHwgJycpLm1hdGNoKHRoaXMudXJsUGF0dGVybikgfHwgW107XG4gICAgcmV0dXJuIHRlbmFudDtcbiAgfVxuXG4gIHByaXZhdGUgZ2V0Q2xpZW50U2VjcmV0KHNzb0NvbmZpZ3VyYXRpb24pIHtcbiAgICBjb25zdCBib2RpZXMgPSBhdChzc29Db25maWd1cmF0aW9uLCBbJ3Rva2VuUmVxdWVzdC5ib2R5JywgJ3JlZnJlc2hSZXF1ZXN0LmJvZHknXSk7XG4gICAgY29uc3QgY2xpZW50U2VjcmV0cyA9IG1hcChib2RpZXMsIGJvZHkgPT4gdGhpcy5nZXRDbGllbnRTZWNyZXRGcm9tQm9keShib2R5KSk7XG4gICAgcmV0dXJuIHRoaXMuZ2V0Rmlyc3REZWZpbmVkKGNsaWVudFNlY3JldHMpO1xuICB9XG5cbiAgcHJpdmF0ZSBnZXRDbGllbnRTZWNyZXRGcm9tQm9keShib2R5KSB7XG4gICAgY29uc3QgWywgY2xpZW50U2VjcmV0XSA9IChib2R5IHx8ICcnKS5tYXRjaCgvY2xpZW50X3NlY3JldD0oW14mXSspLykgfHwgW107XG4gICAgcmV0dXJuIGNsaWVudFNlY3JldCA/IGRlY29kZVVSSUNvbXBvbmVudChjbGllbnRTZWNyZXQpIDogdW5kZWZpbmVkO1xuICB9XG5cbiAgcHJpdmF0ZSBzZXR1cFVzZXJJZENvbmZpZyhzc29Db25maWd1cmF0aW9uKSB7XG4gICAgZGVmYXVsdHNEZWVwKHNzb0NvbmZpZ3VyYXRpb24sIHsgdXNlcklkQ29uZmlnOiB7IGp3dEZpZWxkOiAndXBuJyB9IH0pO1xuICB9XG5cbiAgcHJpdmF0ZSBzZXR1cFNpZ25hdHVyZVZlcmlmaWNhdGlvbkNvbmZpZyhzc29Db25maWd1cmF0aW9uKSB7XG4gICAgZGVmYXVsdHNEZWVwKHNzb0NvbmZpZ3VyYXRpb24sIHtcbiAgICAgIHNpZ25hdHVyZVZlcmlmaWNhdGlvbkNvbmZpZzogeyBhYWQ6IHsgcHVibGljS2V5RGlzY292ZXJ5VXJsOiAnJyB9IH1cbiAgICB9KTtcbiAgICBzc29Db25maWd1cmF0aW9uLnNpZ25hdHVyZVZlcmlmaWNhdGlvbkNvbmZpZyA9IHBpY2soXG4gICAgICBzc29Db25maWd1cmF0aW9uLnNpZ25hdHVyZVZlcmlmaWNhdGlvbkNvbmZpZyxcbiAgICAgICdhYWQnXG4gICAgKTtcbiAgfVxuXG4gIHByaXZhdGUgZ2V0UmVkaXJlY3RBZnRlckxvZ291dChzc29Db25maWd1cmF0aW9uKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIGhhcyhzc29Db25maWd1cmF0aW9uLCAnbG9nb3V0UmVxdWVzdC5yZXF1ZXN0UGFyYW1zLnBvc3RfbG9nb3V0X3JlZGlyZWN0X3VyaScpXG4gICAgICA/IHRydWVcbiAgICAgIDogZmFsc2U7XG4gIH1cblxuICBwcml2YXRlIGdldFJlZGlyZWN0QWZ0ZXJMb2dvdXRVcmwoc3NvQ29uZmlndXJhdGlvbik6IHN0cmluZyB7XG4gICAgcmV0dXJuIHNzb0NvbmZpZ3VyYXRpb24ubG9nb3V0UmVxdWVzdC5yZXF1ZXN0UGFyYW1zLnBvc3RfbG9nb3V0X3JlZGlyZWN0X3VyaVxuICAgICAgPyBzc29Db25maWd1cmF0aW9uLmxvZ291dFJlcXVlc3QucmVxdWVzdFBhcmFtcy5wb3N0X2xvZ291dF9yZWRpcmVjdF91cmlcbiAgICAgIDogbnVsbDtcbiAgfVxuXG4gIHByaXZhdGUgZ2V0Rmlyc3REZWZpbmVkKHZhbHVlcykge1xuICAgIHJldHVybiBoZWFkKHJlamVjdCh2YWx1ZXMsIGlzVW5kZWZpbmVkKSk7XG4gIH1cblxuICBwcml2YXRlIGdldFF1ZXJ5U3RyaW5nKHBhcmFtcykge1xuICAgIHJldHVybiBtYXAocGFyYW1zLCAodmFsdWUsIGtleSkgPT4gYCR7a2V5fT0ke3ZhbHVlfWApLmpvaW4oJyYnKTtcbiAgfVxufVxuIl19
|
|
199
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWFkLWNvbmZpZ3VyYXRpb24tbWFwcGVyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vYXV0aC1jb25maWd1cmF0aW9uL3Nzby1jb25maWd1cmF0aW9uL3RlbXBsYXRlcy9hYWQtY29uZmlndXJhdGlvbi1tYXBwZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBRUEsT0FBTyxFQUFvQixZQUFZLEVBQUUsTUFBTSw0QkFBNEIsQ0FBQztBQUM1RSxPQUFPLEVBQ0wsU0FBUyxFQUNULElBQUksRUFDSixRQUFRLEVBQ1IsRUFBRSxFQUNGLEdBQUcsRUFDSCxZQUFZLEVBQ1osR0FBRyxFQUNILElBQUksRUFDSixNQUFNLEVBQ04sV0FBVyxFQUNaLE1BQU0sV0FBVyxDQUFDO0FBQ25CLE9BQU8sRUFBRSxTQUFTLEVBQUUscUJBQXFCLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSxhQUFhLENBQUM7QUFDckYsT0FBTyxFQUFFLHNCQUFzQixFQUFFLE1BQU0saURBQWlELENBQUM7QUFDekYsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUMzQyxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sK0NBQStDLENBQUM7O0FBSzlFLE1BQU0sT0FBTyxzQkFBc0I7SUFIbkM7UUFJVSxhQUFRLEdBQUc7WUFDakIsa0JBQWtCLEVBQUUsSUFBSTtTQUN6QixDQUFDO1FBRU0sZUFBVSxHQUFHLDRDQUE0QyxDQUFDO0tBNE1uRTtJQTFNQyxPQUFPLENBQUMsYUFBK0I7UUFDckMsTUFBTSxPQUFPLEdBQUcsR0FBRyxhQUFhLENBQUMsVUFBVSxJQUFJLGFBQWEsQ0FBQyxNQUFNLFNBQVMsQ0FBQztRQUU3RSxNQUFNLGdCQUFnQixHQUFxQjtZQUN6QyxRQUFRLEVBQUUsYUFBYSxDQUFDLGFBQWE7WUFDckMsUUFBUSxFQUFFLGFBQWEsQ0FBQyxhQUFhO1lBQ3JDLGFBQWEsRUFBRSxhQUFhLENBQUMsbUJBQW1CO2dCQUM5QyxDQUFDLENB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c0I7a0JBSGxDLFVBQVU7bUJBQUM7b0JBQ1YsVUFBVSxFQUFFLE1BQU07aUJBQ25CIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgU3NvQ29uZmlndXJhdGlvbk1hcHBlciB9IGZyb20gJy4vc3NvLWNvbmZpZ3VyYXRpb24ubWFwcGVyJztcbmltcG9ydCB7IEFhZENvbmZpZ3VyYXRpb24gfSBmcm9tICcuL2FhZC5tb2RlbCc7XG5pbXBvcnQgeyBTc29Db25maWd1cmF0aW9uLCBUZW1wbGF0ZVR5cGUgfSBmcm9tICcuLi9zc28tY29uZmlndXJhdGlvbi5tb2RlbCc7XG5pbXBvcnQge1xuICBjbG9uZURlZXAsXG4gIHBpY2ssXG4gIGRlZmF1bHRzLFxuICBhdCxcbiAgbWFwLFxuICBkZWZhdWx0c0RlZXAsXG4gIGhhcyxcbiAgaGVhZCxcbiAgcmVqZWN0LFxuICBpc1VuZGVmaW5lZFxufSBmcm9tICdsb2Rhc2gtZXMnO1xuaW1wb3J0IHsgR3JhbnRUeXBlLCBUZW5hbnRMb2dpbk9wdGlvblR5cGUsIFVzZXJNYW5hZ2VtZW50U291cmNlIH0gZnJvbSAnQGM4eS9jbGllbnQnO1xuaW1wb3J0IHsgU2lnbmF0dXJlQ29uZmlndXJhdGlvbiB9IGZyb20gJy4uL3RlbXBsYXRlLXBhcnRzL3NpZ25hdHVyZS1jb25maWd1cmF0aW9uLm1vZGVsJztcbmltcG9ydCB7IEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEV4dGVybmFsVG9rZW4gfSBmcm9tICcuLi90ZW1wbGF0ZS1wYXJ0cy9leHRlcm5hbC10b2tlbi1jb25maWcubW9kZWwnO1xuXG5ASW5qZWN0YWJsZSh7XG4gIHByb3ZpZGVkSW46ICdyb290J1xufSlcbmV4cG9ydCBjbGFzcyBBYWRDb25maWd1cmF0aW9uTWFwcGVyIGltcGxlbWVudHMgU3NvQ29uZmlndXJhdGlvbk1hcHBlcjxBYWRDb25maWd1cmF0aW9uPiB7XG4gIHByaXZhdGUgZGVmYXVsdHMgPSB7XG4gICAgdmlzaWJsZU9uTG9naW5QYWdlOiB0cnVlXG4gIH07XG5cbiAgcHJpdmF0ZSB1cmxQYXR0ZXJuID0gL14oLispXFwvKCguKz8pXFwvb2F1dGgyXFwvKGF1dGhvcml6ZXx0b2tlbikpJC87XG5cbiAgbWFwRnJvbSh0ZW1wbGF0ZU1vZGVsOiBBYWRDb25maWd1cmF0aW9uKTogU3NvQ29uZmlndXJhdGlvbiB7XG4gICAgY29uc3QgYmFzZVVybCA9IGAke3RlbXBsYXRlTW9kZWwuYWFkQWRkcmVzc30vJHt0ZW1wbGF0ZU1vZGVsLnRlbmFudH0vb2F1dGgyYDtcblxuICAgIGNvbnN0IHNzb0NvbmZpZ3VyYXRpb246IFNzb0NvbmZpZ3VyYXRpb24gPSB7XG4gICAgICBhdWRpZW5jZTogdGVtcGxhdGVNb2RlbC5hcHBsaWNhdGlvbklkLFxuICAgICAgY2xpZW50SWQ6IHRlbXBsYXRlTW9kZWwuYXBwbGljYXRpb25JZCxcbiAgICAgIGxvZ291dFJlcXVlc3Q6IHRlbXBsYXRlTW9kZWwucmVkaXJlY3RBZnRlckxvZ291dFxuICAgICAgICA/IHtcbiAgICAgICAgICAgIG1ldGhvZDogJ1BPU1QnLFxuICAgICAgICAgICAgdXJsOiBgJHtiYXNlVXJsfS9sb2dvdXRgLFxuICAgICAgICAgICAgcmVxdWVzdFBhcmFtczoge1xuICAgICAgICAgICAgICBwb3N0X2xvZ291dF9yZWRpcmVjdF91cmk6IHRlbXBsYXRlTW9kZWwucmVkaXJlY3RBZnRlckxvZ291dFVybFxuICAgICAgICAgICAgfSxcbiAgICAgICAgICAgIGhlYWRlcnM6IHt9LFxuICAgICAgICAgICAgYm9keTogJycsXG4gICAgICAgICAgICBvcGVyYXRpb246ICdSRURJUkVDVCdcbiAgICAgICAgICB9XG4gICAgICAgIDoge1xuICAgICAgICAgICAgbWV0aG9kOiAnUE9TVCcsXG4gICAgICAgICAgICBoZWFkZXJzOiB7fSxcbiAgICAgICAgICAgIG9wZXJhdGlvbjogJ1JFRElSRUNUJyxcbiAgICAgICAgICAgIHJlcXVlc3RQYXJhbXM6IHt9XG4gICAgICAgICAgfSxcbiAgICAgIGF1dGhvcml6YXRpb25SZXF1ZXN0OiB7XG4gICAgICAgIG1ldGhvZDogJ0dFVCcsXG4gICAgICAgIHVybDogYCR7YmFzZVVybH0vYXV0aG9yaXplYCxcbiAgICAgICAgcmVxdWVzdFBhcmFtczoge1xuICAgICAgICAgIHJlZGlyZWN0X3VyaTogJyR7cmVkaXJlY3RVcml9JyxcbiAgICAgICAgICBjbGllbnRfaWQ6ICcke2NsaWVudElkfScsXG4gICAgICAgICAgcmVzcG9uc2VfdHlwZTogJ2NvZGUnXG4gICAgICAgIH0sXG4gICAgICAgIGhlYWRlcnM6IHt9LFxuICAgICAgICBib2R5OiAnJyxcbiAgICAgICAgb3BlcmF0aW9uOiAnUkVESVJFQ1QnXG4gICAgICB9LFxuICAgICAgdG9rZW5SZXF1ZXN0OiB7XG4gICAgICAgIG1ldGhvZDogJ1BPU1QnLFxuICAgICAgICB1cmw6IGAke2Jhc2VVcmx9L3Rva2VuYCxcbiAgICAgICAgcmVxdWVzdFBhcmFtczoge30sXG4gICAgICAgIGhlYWRlcnM6IHt9LFxuICAgICAgICBib2R5OiB0aGlzLmdldFF1ZXJ5U3RyaW5nKHtcbiAgICAgICAgICBncmFudF90eXBlOiAnYXV0aG9yaXphdGlvbl9jb2RlJyxcbiAgICAgICAgICBjb2RlOiAnJHtjb2RlfScsXG4gICAgICAgICAgcmVkaXJlY3RfdXJpOiAnJHtyZWRpcmVjdFVyaX0nLFxuICAgICAgICAgIHJlc291cmNlOiAnJHtjbGllbnRJZH0nLFxuICAgICAgICAgIGNsaWVudF9pZDogJyR7Y2xpZW50SWR9JyxcbiAgICAgICAgICBjbGllbnRfc2VjcmV0OiBlbmNvZGVVUklDb21wb25lbnQodGVtcGxhdGVNb2RlbC5jbGllbnRTZWNyZXQpXG4gICAgICAgIH0pLFxuICAgICAgICBvcGVyYXRpb246ICdFWEVDVVRFJ1xuICAgICAgfSxcbiAgICAgIHJlZnJlc2hSZXF1ZXN0OiB7XG4gICAgICAgIG1ldGhvZDogJ1BPU1QnLFxuICAgICAgICB1cmw6IGAke2Jhc2VVcmx9L3Rva2VuYCxcbiAgICAgICAgcmVxdWVzdFBhcmFtczoge30sXG4gICAgICAgIGhlYWRlcnM6IHt9LFxuICAgICAgICBib2R5OiB0aGlzLmdldFF1ZXJ5U3RyaW5nKHtcbiAgICAgICAgICBncmFudF90eXBlOiAncmVmcmVzaF90b2tlbicsXG4gICAgICAgICAgcmVmcmVzaF90b2tlbjogJyR7cmVmcmVzaFRva2VufScsXG4gICAgICAgICAgcmVzb3VyY2U6ICcke2NsaWVudElkfScsXG4gICAgICAgICAgY2xpZW50X2lkOiAnJHtjbGllbnRJZH0nLFxuICAgICAgICAgIGNsaWVudF9zZWNyZXQ6IGVuY29kZVVSSUNvbXBvbmVudCh0ZW1wbGF0ZU1vZGVsLmNsaWVudFNlY3JldClcbiAgICAgICAgfSksXG4gICAgICAgIG9wZXJhdGlvbjogJ0VYRUNVVEUnXG4gICAgICB9LFxuICAgICAgYnV0dG9uTmFtZTogdGVtcGxhdGVNb2RlbC5idXR0b25OYW1lLFxuICAgICAgcHJvdmlkZXJOYW1lOiAnQXp1cmUgQUQnLFxuICAgICAgaXNzdWVyOiB0ZW1wbGF0ZU1vZGVsLmlzc3VlcixcbiAgICAgIG9uTmV3VXNlcjogdGVtcGxhdGVNb2RlbC5vbk5ld1VzZXIsXG4gICAgICBhY2Nlc3NUb2tlblRvVXNlckRhdGFNYXBwaW5nczogdGVtcGxhdGVNb2RlbC5hY2Nlc3NUb2tlblRvVXNlckRhdGFNYXBwaW5ncyxcbiAgICAgIHJlZGlyZWN0VG9QbGF0Zm9ybTogdGVtcGxhdGVNb2RlbC5yZWRpcmVjdFRvUGxhdGZvcm0gfHwgbnVsbCxcbiAgICAgIHRlbXBsYXRlOiBUZW1wbGF0ZVR5cGUuQVpVUkUsXG4gICAgICB1c2VySWRDb25maWc6IHtcbiAgICAgICAgdXNlQ29uc3RhbnRWYWx1ZTogZmFsc2UsXG4gICAgICAgIGp3dEZpZWxkOiB0ZW1wbGF0ZU1vZGVsLnVzZXJJZENvbmZpZy5qd3RGaWVsZFxuICAgICAgfSxcbiAgICAgIHZpc2libGVPbkxvZ2luUGFnZTogdGVtcGxhdGVNb2RlbC52aXNpYmxlT25Mb2dpblBhZ2UsXG4gICAgICBzaWduYXR1cmVWZXJpZmljYXRpb25Db25maWc6XG4gICAgICAgIHRlbXBsYXRlTW9kZWwuc2lnbmF0dXJlVmVyaWZpY2F0aW9uQ29uZmlnLnRvU2lnbmF0dXJlVmVyaWZpY2F0aW9uQ29uZmlnKCksXG4gICAgICB1c2VyTWFuYWdlbWVudFNvdXJjZTogVXNlck1hbmFnZW1lbnRTb3VyY2UuUkVNT1RFLFxuICAgICAgdHlwZTogVGVuYW50TG9naW5PcHRpb25UeXBlLk9BVVRIMixcbiAgICAgIGdyYW50VHlwZTogR3JhbnRUeXBlLkFVVEhPUklaQVRJT05fQ09ERSxcbiAgICAgIGV4dGVybmFsVG9rZW5Db25maWc6IHRlbXBsYXRlTW9kZWwuZXh0ZXJuYWxUb2tlbkNvbmZpZy50b0V4dGVybmFsVG9rZW5Db25maWcoKSxcbiAgICAgIHVzZUlkVG9rZW46IHRlbXBsYXRlTW9kZWwudXNlSWRUb2tlblxuICAgIH07XG4gICAgcmV0dXJuIHNzb0NvbmZpZ3VyYXRpb247XG4gIH1cblxuICBtYXBUbyhzc29Db25maWd1cmF0aW9uOiBTc29Db25maWd1cmF0aW9uKTogQWFkQ29uZmlndXJhdGlvbiB7XG4gICAgY29uc3Qgc3NvQ29uZmlndXJhdGlvbkZvckFhZCA9IGNsb25lRGVlcChzc29Db25maWd1cmF0aW9uKTtcblxuICAgIGNvbnN0IGFwcGxpY2F0aW9uc0lkID0gYXQoc3NvQ29uZmlndXJhdGlvbkZvckFhZCwgWydhdWRpZW5jZScsICdjbGllbnRJZCddKTtcbiAgICB0aGlzLnNldHVwRGVmYXVsdHMoc3NvQ29uZmlndXJhdGlvbkZvckFhZCk7XG4gICAgdGhpcy5zZXR1cFVzZXJJZENvbmZpZyhzc29Db25maWd1cmF0aW9uRm9yQWFkKTtcbiAgICB0aGlzLnNldHVwU2lnbmF0dXJlVmVyaWZpY2F0aW9uQ29uZmlnKHNzb0NvbmZpZ3VyYXRpb25Gb3JBYWQpO1xuXG4gICAgY29uc3QgYWFkQ29uZmlndXJhdGlvbjogQWFkQ29uZmlndXJhdGlvbiA9IHtcbiAgICAgIGFhZEFkZHJlc3M6IHRoaXMuZ2V0QWFkQWRkcmVzcyhzc29Db25maWd1cmF0aW9uRm9yQWFkKSxcbiAgICAgIHRlbmFudDogdGhpcy5nZXRUZW5hbnQoc3NvQ29uZmlndXJhdGlvbkZvckFhZCksXG4gICAgICBhcHBsaWNhdGlvbklkOiB0aGlzLmdldEZpcnN0RGVmaW5lZChhcHBsaWNhdGlvbnNJZCksXG4gICAgICByZWRpcmVjdFRvUGxhdGZvcm06IHNzb0NvbmZpZ3VyYXRpb25Gb3JBYWQucmVkaXJlY3RUb1BsYXRmb3JtLFxuICAgICAgY2xpZW50U2VjcmV0OiB0aGlzLmdldENsaWVudFNlY3JldChzc29Db25maWd1cmF0aW9uRm9yQWFkKSxcbiAgICAgIGlzc3Vlcjogc3NvQ29uZmlndXJhdGlvbkZvckFhZC5pc3N1ZXIsXG4gICAgICBidXR0b25OYW1lOiBzc29Db25maWd1cmF0aW9uRm9yQWFkLmJ1dHRvbk5hbWUsXG4gICAgICB2aXNpYmxlT25Mb2dpblBhZ2U6IHNzb0NvbmZpZ3VyYXRpb25Gb3JBYWQudmlzaWJsZU9uTG9naW5QYWdlLFxuICAgICAgcmVkaXJlY3RBZnRlckxvZ291dDogdGhpcy5nZXRSZWRpcmVjdEFmdGVyTG9nb3V0KHNzb0NvbmZpZ3VyYXRpb25Gb3JBYWQpLFxuICAgICAgcmVkaXJlY3RBZnRlckxvZ291dFVybDogdGhpcy5nZXRSZWRpcmVjdEFmdGVyTG9nb3V0VXJsKHNzb0NvbmZpZ3VyYXRpb25Gb3JBYWQpLFxuICAgICAgYWNjZXNzVG9rZW5Ub1VzZXJEYXRhTWFwcGluZ3M6IHNzb0NvbmZpZ3VyYXRpb25Gb3JBYWQuYWNjZXNzVG9rZW5Ub1VzZXJEYXRhTWFwcGluZ3MsXG4gICAgICB1c2VySWRDb25maWc6IHtcbiAgICAgICAgand0RmllbGQ6IHNzb0NvbmZpZ3VyYXRpb25Gb3JBYWQudXNlcklkQ29uZmlnLmp3dEZpZWxkXG4gICAgICB9LFxuICAgICAgcHVibGljS2V5RGlzY292ZXJ5VXJsOlxuICAgICAgICBzc29Db25maWd1cmF0aW9uRm9yQWFkLnNpZ25hdHVyZVZlcmlmaWNhdGlvbkNvbmZpZy5hYWQucHVibGljS2V5RGlzY292ZXJ5VXJsLFxuICAgICAgc2lnbmF0dXJlVmVyaWZpY2F0aW9uQ29uZmlnOiBuZXcgU2lnbmF0dXJlQ29uZmlndXJhdGlvbihcbiAgICAgICAgc3NvQ29uZmlndXJhdGlvbkZvckFhZC5zaWduYXR1cmVWZXJpZmljYXRpb25Db25maWdcbiAgICAgICksXG4gICAgICBvbk5ld1VzZXI6IHNzb0NvbmZpZ3VyYXRpb25Gb3JBYWQub25OZXdVc2VyLFxuICAgICAgZXh0ZXJuYWxUb2tlbkNvbmZpZzogbmV3IEV4dGVybmFsVG9rZW4oc3NvQ29uZmlndXJhdGlvbkZvckFhZC5leHRlcm5hbFRva2VuQ29uZmlnKSxcbiAgICAgIHVzZUlkVG9rZW46IHNzb0NvbmZpZ3VyYXRpb24udXNlSWRUb2tlblxuICAgIH07XG4gICAgcmV0dXJuIGFhZENvbmZpZ3VyYXRpb247XG4gIH1cblxuICBwcml2YXRlIHNldHVwRGVmYXVsdHMoc3NvQ29uZmlndXJhdGlvbikge1xuICAgIGRlZmF1bHRzKHNzb0NvbmZpZ3VyYXRpb24sIHRoaXMuZGVmYXVsdHMpO1xuICB9XG5cbiAgcHJpdmF0ZSBnZXRBYWRBZGRyZXNzKHNzb0NvbmZpZ3VyYXRpb24pIHtcbiAgICBjb25zdCB1cmxzID0gdGhpcy5nZXRVcmxzRnJvbVJlcXVlc3RzKHNzb0NvbmZpZ3VyYXRpb24pO1xuXG4gICAgY29uc3QgYWFkQWRkcmVzc2VzID0gbWFwKHVybHMsIHVybCA9PiB0aGlzLmdldEFhZEFkZHJlc3NGcm9tVXJsKHVybCkpO1xuICAgIHJldHVybiB0aGlzLmdldEZpcnN0RGVmaW5lZChhYWRBZGRyZXNzZXMpO1xuICB9XG5cbiAgcHJpdmF0ZSBnZXRUZW5hbnQoc3NvQ29uZmlndXJhdGlvbikge1xuICAgIGNvbnN0IHVybHMgPSB0aGlzLmdldFVybHNGcm9tUmVxdWVzdHMoc3NvQ29uZmlndXJhdGlvbik7XG5cbiAgICBjb25zdCB0ZW5hbnRzID0gbWFwKHVybHMsIHVybCA9PiB0aGlzLmdldFRlbmFudEZyb21VcmwodXJsKSk7XG4gICAgcmV0dXJuIHRoaXMuZ2V0Rmlyc3REZWZpbmVkKHRlbmFudHMpO1xuICB9XG5cbiAgcHJpdmF0ZSBnZXRVcmxzRnJvbVJlcXVlc3RzKHNzb0NvbmZpZ3VyYXRpb24pIHtcbiAgICByZXR1cm4gYXQoc3NvQ29uZmlndXJhdGlvbiwgW1xuICAgICAgJ2F1dGhvcml6YXRpb25SZXF1ZXN0LnVybCcsXG4gICAgICAndG9rZW5SZXF1ZXN0LnVybCcsXG4gICAgICAncmVmcmVzaFJlcXVlc3QudXJsJ1xuICAgIF0pO1xuICB9XG5cbiAgcHJpdmF0ZSBnZXRBYWRBZGRyZXNzRnJvbVVybCh1cmwpIHtcbiAgICBjb25zdCBbLCBhYWRBZGRyZXNzXSA9ICh1cmwgfHwgJycpLm1hdGNoKHRoaXMudXJsUGF0dGVybikgfHwgW107XG4gICAgcmV0dXJuIGFhZEFkZHJlc3M7XG4gIH1cblxuICBwcml2YXRlIGdldFRlbmFudEZyb21VcmwodXJsKSB7XG4gICAgY29uc3QgWywgLCAsIHRlbmFudF0gPSAodXJsIHx8ICcnKS5tYXRjaCh0aGlzLnVybFBhdHRlcm4pIHx8IFtdO1xuICAgIHJldHVybiB0ZW5hbnQ7XG4gIH1cblxuICBwcml2YXRlIGdldENsaWVudFNlY3JldChzc29Db25maWd1cmF0aW9uKSB7XG4gICAgY29uc3QgYm9kaWVzID0gYXQoc3NvQ29uZmlndXJhdGlvbiwgWyd0b2tlblJlcXVlc3QuYm9keScsICdyZWZyZXNoUmVxdWVzdC5ib2R5J10pO1xuICAgIGNvbnN0IGNsaWVudFNlY3JldHMgPSBtYXAoYm9kaWVzLCBib2R5ID0+IHRoaXMuZ2V0Q2xpZW50U2VjcmV0RnJvbUJvZHkoYm9keSkpO1xuICAgIHJldHVybiB0aGlzLmdldEZpcnN0RGVmaW5lZChjbGllbnRTZWNyZXRzKTtcbiAgfVxuXG4gIHByaXZhdGUgZ2V0Q2xpZW50U2VjcmV0RnJvbUJvZHkoYm9keSkge1xuICAgIGNvbnN0IFssIGNsaWVudFNlY3JldF0gPSAoYm9keSB8fCAnJykubWF0Y2goL2NsaWVudF9zZWNyZXQ9KFteJl0rKS8pIHx8IFtdO1xuICAgIHJldHVybiBjbGllbnRTZWNyZXQgPyBkZWNvZGVVUklDb21wb25lbnQoY2xpZW50U2VjcmV0KSA6IHVuZGVmaW5lZDtcbiAgfVxuXG4gIHByaXZhdGUgc2V0dXBVc2VySWRDb25maWcoc3NvQ29uZmlndXJhdGlvbikge1xuICAgIGRlZmF1bHRzRGVlcChzc29Db25maWd1cmF0aW9uLCB7IHVzZXJJZENvbmZpZzogeyBqd3RGaWVsZDogJ3VwbicgfSB9KTtcbiAgfVxuXG4gIHByaXZhdGUgc2V0dXBTaWduYXR1cmVWZXJpZmljYXRpb25Db25maWcoc3NvQ29uZmlndXJhdGlvbikge1xuICAgIGRlZmF1bHRzRGVlcChzc29Db25maWd1cmF0aW9uLCB7XG4gICAgICBzaWduYXR1cmVWZXJpZmljYXRpb25Db25maWc6IHsgYWFkOiB7IHB1YmxpY0tleURpc2NvdmVyeVVybDogJycgfSB9XG4gICAgfSk7XG4gICAgc3NvQ29uZmlndXJhdGlvbi5zaWduYXR1cmVWZXJpZmljYXRpb25Db25maWcgPSBwaWNrKFxuICAgICAgc3NvQ29uZmlndXJhdGlvbi5zaWduYXR1cmVWZXJpZmljYXRpb25Db25maWcsXG4gICAgICAnYWFkJ1xuICAgICk7XG4gIH1cblxuICBwcml2YXRlIGdldFJlZGlyZWN0QWZ0ZXJMb2dvdXQoc3NvQ29uZmlndXJhdGlvbik6IGJvb2xlYW4ge1xuICAgIHJldHVybiBoYXMoc3NvQ29uZmlndXJhdGlvbiwgJ2xvZ291dFJlcXVlc3QucmVxdWVzdFBhcmFtcy5wb3N0X2xvZ291dF9yZWRpcmVjdF91cmknKVxuICAgICAgPyB0cnVlXG4gICAgICA6IGZhbHNlO1xuICB9XG5cbiAgcHJpdmF0ZSBnZXRSZWRpcmVjdEFmdGVyTG9nb3V0VXJsKHNzb0NvbmZpZ3VyYXRpb24pOiBzdHJpbmcge1xuICAgIHJldHVybiBzc29Db25maWd1cmF0aW9uLmxvZ291dFJlcXVlc3QucmVxdWVzdFBhcmFtcy5wb3N0X2xvZ291dF9yZWRpcmVjdF91cmlcbiAgICAgID8gc3NvQ29uZmlndXJhdGlvbi5sb2dvdXRSZXF1ZXN0LnJlcXVlc3RQYXJhbXMucG9zdF9sb2dvdXRfcmVkaXJlY3RfdXJpXG4gICAgICA6IG51bGw7XG4gIH1cblxuICBwcml2YXRlIGdldEZpcnN0RGVmaW5lZCh2YWx1ZXMpIHtcbiAgICByZXR1cm4gaGVhZChyZWplY3QodmFsdWVzLCBpc1VuZGVmaW5lZCkpO1xuICB9XG5cbiAgcHJpdmF0ZSBnZXRRdWVyeVN0cmluZyhwYXJhbXMpIHtcbiAgICByZXR1cm4gbWFwKHBhcmFtcywgKHZhbHVlLCBrZXkpID0+IGAke2tleX09JHt2YWx1ZX1gKS5qb2luKCcmJyk7XG4gIH1cbn1cbiJdfQ==
|