@bnsights/bbsf-admin-portal 1.1.2 → 1.1.3
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/README.md +4 -0
- package/{esm2020 → esm2022}/bnsights-bbsf-admin-portal.mjs +4 -4
- package/{esm2020 → esm2022}/lib/Pages/ActiveDirectories/active-directories.component.mjs +14 -14
- package/esm2022/lib/Pages/ActiveDirectories/active-directory/active-directory.component.mjs +421 -0
- package/esm2022/lib/Pages/ActiveDirectories/active-directory-add/active-directory-add.component.mjs +528 -0
- package/{esm2020 → esm2022}/lib/Pages/ActiveDirectories/active-directory-routing.module.mjs +29 -29
- package/esm2022/lib/Pages/ActiveDirectories/active-directory.module.mjs +108 -0
- package/esm2022/lib/Pages/_layout/components/aside/aside-menu/aside-menu.component.mjs +23 -0
- package/{esm2020 → esm2022}/lib/Pages/_layout/components/aside/aside.component.mjs +65 -65
- package/{esm2020 → esm2022}/lib/Pages/_layout/components/content/content.component.mjs +31 -31
- package/{esm2020 → esm2022}/lib/Pages/_layout/components/footer/footer.component.mjs +32 -32
- package/{esm2020 → esm2022}/lib/Pages/_layout/components/header/header.component.mjs +57 -57
- package/{esm2020 → esm2022}/lib/Pages/_layout/components/header/page-title/page-title.component.mjs +36 -36
- package/{esm2020 → esm2022}/lib/Pages/_layout/components/scripts-init/scripts-init.component.mjs +58 -58
- package/{esm2020 → esm2022}/lib/Pages/_layout/components/subheader/subheader.component.mjs +36 -36
- package/{esm2020 → esm2022}/lib/Pages/_layout/components/subheader/subheader.module.mjs +26 -26
- package/{esm2020 → esm2022}/lib/Pages/_layout/components/toolbar/toolbar.component.mjs +41 -41
- package/{esm2020 → esm2022}/lib/Pages/_layout/components/toolbar/toolbar.module.mjs +25 -25
- package/{esm2020 → esm2022}/lib/Pages/_layout/components/topbar/topbar.component.mjs +71 -71
- package/{esm2020 → esm2022}/lib/Pages/anonymouslayout/activation/activation.component.mjs +92 -92
- package/{esm2020 → esm2022}/lib/Pages/anonymouslayout/anonymouslayout-routing.module.mjs +37 -37
- package/{esm2020 → esm2022}/lib/Pages/anonymouslayout/anonymouslayout.component.mjs +54 -54
- package/esm2022/lib/Pages/anonymouslayout/anonymouslayout.module.mjs +100 -0
- package/{esm2020 → esm2022}/lib/Pages/anonymouslayout/error/error.component.mjs +48 -48
- package/{esm2020 → esm2022}/lib/Pages/anonymouslayout/forgot-password/forgot-password.component.mjs +59 -59
- package/{esm2020 → esm2022}/lib/Pages/anonymouslayout/login/login.component.mjs +94 -94
- package/{esm2020 → esm2022}/lib/Pages/anonymouslayout/rest-password/rest-password.component.mjs +90 -90
- package/{esm2020 → esm2022}/lib/Pages/anonymouslayout/upload-license/upload-license.component.mjs +71 -71
- package/{esm2020 → esm2022}/lib/Pages/authentication/auth-callback/auth-callback.component.mjs +43 -43
- package/{esm2020 → esm2022}/lib/Pages/authentication/authentication.component.mjs +15 -15
- package/{esm2020 → esm2022}/lib/Pages/authentication/authentication.module.mjs +41 -41
- package/{esm2020 → esm2022}/lib/Pages/authentication/authentication.routing.mjs +31 -31
- package/esm2022/lib/Pages/configurations/auth-configuration/auth-configuration-edit/auth-configuration-edit.component.mjs +330 -0
- package/esm2022/lib/Pages/configurations/auth-configuration/auth-configuration.component.mjs +157 -0
- package/esm2022/lib/Pages/configurations/configuration/configuration.component.mjs +801 -0
- package/{esm2020 → esm2022}/lib/Pages/configurations/configurations.component.mjs +15 -15
- package/esm2022/lib/Pages/configurations/configurations.module.mjs +104 -0
- package/{esm2020 → esm2022}/lib/Pages/configurations/configurations.routing.mjs +41 -41
- package/{esm2020 → esm2022}/lib/Pages/configurations/index.mjs +6 -6
- package/{esm2020 → esm2022}/lib/Pages/core/auth.module.mjs +30 -30
- package/esm2022/lib/Pages/core/authentication/admin.guard.mjs +17 -0
- package/{esm2020 → esm2022}/lib/Pages/core/authentication/auth.guard.mjs +46 -46
- package/esm2022/lib/Pages/core/authentication/auth.service.mjs +147 -0
- package/esm2022/lib/Pages/departments/department/department.component.mjs +220 -0
- package/esm2022/lib/Pages/departments/department-info/department-info.component.mjs +185 -0
- package/{esm2020 → esm2022}/lib/Pages/departments/departments-routing.module.mjs +27 -27
- package/{esm2020 → esm2022}/lib/Pages/departments/departments.component.mjs +15 -15
- package/esm2022/lib/Pages/departments/departments.module.mjs +94 -0
- package/esm2022/lib/Pages/documents/add-document/add-document.component.mjs +136 -0
- package/esm2022/lib/Pages/documents/document-master-layouts/document-master-layouts.component.mjs +148 -0
- package/{esm2020 → esm2022}/lib/Pages/documents/document-template-info/document-template-info.component.mjs +332 -332
- package/esm2022/lib/Pages/documents/document-templates/document-templates.component.mjs +437 -0
- package/{esm2020 → esm2022}/lib/Pages/documents/documents.component.mjs +15 -15
- package/esm2022/lib/Pages/documents/documents.module.mjs +114 -0
- package/esm2022/lib/Pages/documents/documents.routing.mjs +37 -0
- package/esm2022/lib/Pages/documents/edit-document/edit-document.component.mjs +169 -0
- package/{esm2020 → esm2022}/lib/Pages/documents/edit-document-template/edit-document-template.component.mjs +123 -123
- package/{esm2020 → esm2022}/lib/Pages/empty-data/empty-data.component.mjs +31 -31
- package/{esm2020 → esm2022}/lib/Pages/empty-data/empty-data.module.mjs +28 -28
- package/esm2022/lib/Pages/helpCenter/help-center/help-center.component.mjs +294 -0
- package/esm2022/lib/Pages/helpCenter/help-center-preview/help-center-preview.component.mjs +43 -0
- package/{esm2020 → esm2022}/lib/Pages/helpCenter/help-center-routing.module.mjs +31 -31
- package/esm2022/lib/Pages/helpCenter/help-center-secondlevel/help-center-secondlevel.component.mjs +242 -0
- package/esm2022/lib/Pages/helpCenter/help-center-thirdlevel/help-center-thirdlevel.component.mjs +243 -0
- package/esm2022/lib/Pages/helpCenter/help-center.module.mjs +99 -0
- package/{esm2020 → esm2022}/lib/Pages/helpCenter/help-centers.component.mjs +15 -15
- package/{esm2020 → esm2022}/lib/Pages/home/filter-pipe.mjs +23 -23
- package/esm2022/lib/Pages/home/home.component.mjs +158 -0
- package/esm2022/lib/Pages/home/home.module.mjs +48 -0
- package/esm2022/lib/Pages/impersonation-rules/impersonation-rules/impersonation-rules.component.mjs +443 -0
- package/esm2022/lib/Pages/impersonation-rules/impersonation-rules.module.mjs +95 -0
- package/esm2022/lib/Pages/jobs/jobs/jobs.component.mjs +223 -0
- package/esm2022/lib/Pages/jobs/jobs.module.mjs +87 -0
- package/{esm2020 → esm2022}/lib/Pages/license/license/license.component.mjs +163 -163
- package/esm2022/lib/Pages/license/license.module.mjs +71 -0
- package/{esm2020 → esm2022}/lib/Pages/localizations/localizations-replace-text/localizations-replace-text.component.mjs +215 -215
- package/esm2022/lib/Pages/localizations/localizations.component.mjs +516 -0
- package/esm2022/lib/Pages/localizations/localizations.module.mjs +79 -0
- package/{esm2020 → esm2022}/lib/Pages/logs/log/log.component.mjs +93 -93
- package/{esm2020 → esm2022}/lib/Pages/logs/logs-routing.module.mjs +27 -27
- package/{esm2020 → esm2022}/lib/Pages/logs/logs.component.mjs +15 -15
- package/esm2022/lib/Pages/logs/logs.module.mjs +87 -0
- package/esm2022/lib/Pages/lookups/lookup/lookup.component.mjs +367 -0
- package/esm2022/lib/Pages/lookups/lookup-group/lookup-group.component.mjs +187 -0
- package/esm2022/lib/Pages/lookups/lookup-item/lookup-item.component.mjs +297 -0
- package/{esm2020 → esm2022}/lib/Pages/lookups/lookups-routing.module.mjs +29 -29
- package/{esm2020 → esm2022}/lib/Pages/lookups/lookups.component.mjs +15 -15
- package/esm2022/lib/Pages/lookups/lookups.module.mjs +100 -0
- package/esm2022/lib/Pages/notifications/add-notification/add-notification.component.mjs +104 -0
- package/{esm2020 → esm2022}/lib/Pages/notifications/edit-email/edit-email.component.mjs +158 -158
- package/esm2022/lib/Pages/notifications/edit-notification/edit-notification.component.mjs +133 -0
- package/{esm2020 → esm2022}/lib/Pages/notifications/edit-sms/edit-sms.component.mjs +115 -115
- package/esm2022/lib/Pages/notifications/master-layouts/master-layouts.component.mjs +148 -0
- package/esm2022/lib/Pages/notifications/notifications-routing.module.mjs +39 -0
- package/{esm2020 → esm2022}/lib/Pages/notifications/notifications.component.mjs +15 -15
- package/esm2022/lib/Pages/notifications/notifications.module.mjs +101 -0
- package/{esm2020 → esm2022}/lib/Pages/notifications/template-info/template-info.component.mjs +391 -391
- package/esm2022/lib/Pages/notifications/templates/templates.component.mjs +495 -0
- package/esm2022/lib/Pages/providers/provider/provider.component.mjs +615 -0
- package/{esm2020 → esm2022}/lib/Pages/providers/providers-routing.module.mjs +27 -27
- package/{esm2020 → esm2022}/lib/Pages/providers/providers.component.mjs +15 -15
- package/esm2022/lib/Pages/providers/providers.module.mjs +91 -0
- package/esm2022/lib/Pages/publicHolidays/public-holiday/public-holiday.component.mjs +334 -0
- package/{esm2020 → esm2022}/lib/Pages/publicHolidays/public-holidays-routing.module.mjs +25 -25
- package/{esm2020 → esm2022}/lib/Pages/publicHolidays/public-holidays.component.mjs +15 -15
- package/esm2022/lib/Pages/publicHolidays/public-holidays.module.mjs +94 -0
- package/esm2022/lib/Pages/roles/permission-set-info/permission-set-info.component.mjs +187 -0
- package/esm2022/lib/Pages/roles/permissions/permissions.component.mjs +226 -0
- package/esm2022/lib/Pages/roles/permissionsets/permissionsets.component.mjs +277 -0
- package/{esm2020 → esm2022}/lib/Pages/roles/roles-routing.module.mjs +29 -29
- package/{esm2020 → esm2022}/lib/Pages/roles/roles.component.mjs +15 -15
- package/esm2022/lib/Pages/roles/roles.module.mjs +105 -0
- package/esm2022/lib/Pages/sectors/sector/sector.component.mjs +193 -0
- package/esm2022/lib/Pages/sectors/sector-info/sector-info.component.mjs +180 -0
- package/esm2022/lib/Pages/sectors/sectors-department-info/sectors-department-info.component.mjs +187 -0
- package/{esm2020 → esm2022}/lib/Pages/sectors/sectors-routing.module.mjs +29 -29
- package/{esm2020 → esm2022}/lib/Pages/sectors/sectors.component.mjs +15 -15
- package/esm2022/lib/Pages/sectors/sectors.module.mjs +96 -0
- package/{esm2020 → esm2022}/lib/Pages/shared/Enums/ADType.mjs +5 -5
- package/{esm2020 → esm2022}/lib/Pages/shared/Enums/Enums.mjs +54 -54
- package/{esm2020 → esm2022}/lib/Pages/shared/Enums/ProviderType.mjs +6 -6
- package/{esm2020 → esm2022}/lib/Pages/shared/Enums/WFActivityType.mjs +11 -11
- package/{esm2020 → esm2022}/lib/Pages/shared/Enums/configuration/ConditionRHSType.mjs +5 -5
- package/{esm2020 → esm2022}/lib/Pages/shared/Enums/configuration/authentecation-configuration.mjs +18 -18
- package/{esm2020 → esm2022}/lib/Pages/shared/Pipes/survey-date.pipe.mjs +22 -22
- package/{esm2020 → esm2022}/lib/Pages/shared/Services/AccountService.service.mjs +55 -55
- package/{esm2020 → esm2022}/lib/Pages/shared/Services/ActiveDirectoryService.service.mjs +51 -51
- package/{esm2020 → esm2022}/lib/Pages/shared/Services/AnonymousLayoutService.service.mjs +29 -29
- package/{esm2020 → esm2022}/lib/Pages/shared/Services/ConfigurationsService.service.mjs +61 -61
- package/{esm2020 → esm2022}/lib/Pages/shared/Services/DepartmentService.service.mjs +46 -46
- package/{esm2020 → esm2022}/lib/Pages/shared/Services/DocumentHeaderAndFooterTemplate.service.mjs +36 -36
- package/{esm2020 → esm2022}/lib/Pages/shared/Services/DocumentTemplateService.service.mjs +81 -81
- package/{esm2020 → esm2022}/lib/Pages/shared/Services/EmailHeaderAndFooterTemplateService.Service.mjs +37 -37
- package/{esm2020 → esm2022}/lib/Pages/shared/Services/ErrorService.service.mjs +15 -15
- package/{esm2020 → esm2022}/lib/Pages/shared/Services/GlobalErrorHandler.service.mjs +36 -36
- package/{esm2020 → esm2022}/lib/Pages/shared/Services/HelpCenterService.service.mjs +47 -47
- package/{esm2020 → esm2022}/lib/Pages/shared/Services/HttpErrorInterceptor.service.mjs +47 -47
- package/{esm2020 → esm2022}/lib/Pages/shared/Services/ImpersonationRuleService.service.mjs +36 -36
- package/{esm2020 → esm2022}/lib/Pages/shared/Services/JobsService.service.mjs +21 -21
- package/{esm2020 → esm2022}/lib/Pages/shared/Services/LicenseService.service.mjs +24 -24
- package/{esm2020 → esm2022}/lib/Pages/shared/Services/LogsService.mjs +24 -24
- package/{esm2020 → esm2022}/lib/Pages/shared/Services/LookupGroupsService.service.mjs +33 -33
- package/{esm2020 → esm2022}/lib/Pages/shared/Services/LookupService.service.mjs +67 -67
- package/{esm2020 → esm2022}/lib/Pages/shared/Services/PermissionSetService.service.mjs +50 -50
- package/{esm2020 → esm2022}/lib/Pages/shared/Services/PermissionsService.service.mjs +36 -36
- package/{esm2020 → esm2022}/lib/Pages/shared/Services/PublicHolidayService.service.mjs +39 -39
- package/{esm2020 → esm2022}/lib/Pages/shared/Services/SectorService.service.mjs +46 -46
- package/{esm2020 → esm2022}/lib/Pages/shared/Services/TemplateService.service.mjs +90 -90
- package/{esm2020 → esm2022}/lib/Pages/shared/Services/WorkFlowVersionService.service.mjs +24 -24
- package/{esm2020 → esm2022}/lib/Pages/shared/Services/WorkflowActivityService.service.mjs +54 -54
- package/{esm2020 → esm2022}/lib/Pages/shared/Services/WorkflowInstanceService.service.mjs +24 -24
- package/{esm2020 → esm2022}/lib/Pages/shared/Services/WorkflowLogVariablesService.service.mjs +24 -24
- package/{esm2020 → esm2022}/lib/Pages/shared/Services/WorkflowService.service.mjs +38 -38
- package/{esm2020 → esm2022}/lib/Pages/shared/Services/WorkflowVariablesService.service.mjs +36 -36
- package/{esm2020 → esm2022}/lib/Pages/shared/Services/data.service.mjs +27 -27
- package/esm2022/lib/Pages/shared/Services/injectionModuleService.service.mjs +163 -0
- package/{esm2020 → esm2022}/lib/Pages/shared/Services/localizationsService.service .mjs +77 -77
- package/{esm2020 → esm2022}/lib/Pages/shared/Services/provider.service.mjs +62 -62
- package/{esm2020 → esm2022}/lib/Pages/shared/Services/survey-question.service.mjs +57 -57
- package/{esm2020 → esm2022}/lib/Pages/shared/Services/survey.service.mjs +140 -140
- package/{esm2020 → esm2022}/lib/Pages/shared/Services/userService.service.mjs +80 -80
- package/{esm2020 → esm2022}/lib/Pages/shared/base.service.mjs +19 -19
- package/{esm2020 → esm2022}/lib/Pages/shared/components/AdDirective.mjs +16 -16
- package/{esm2020 → esm2022}/lib/Pages/shared/components/external-url/external-url.component.mjs +168 -168
- package/{esm2020 → esm2022}/lib/Pages/shared/components/no-results/no-results.component.mjs +19 -19
- package/esm2022/lib/Pages/shared/components/survey/add-survey/add-survey.component.mjs +192 -0
- package/{esm2020 → esm2022}/lib/Pages/shared/components/survey/delete-survey/delete-survey.component.mjs +48 -48
- package/{esm2020 → esm2022}/lib/Pages/shared/components/survey/duplicate-survey/duplicate-survey.component.mjs +50 -50
- package/{esm2020 → esm2022}/lib/Pages/shared/components/survey/edit-survey/edit-survey.component.mjs +217 -217
- package/{esm2020 → esm2022}/lib/Pages/shared/components/survey/submissions/delete-submission/delete-submission.component.mjs +47 -47
- package/{esm2020 → esm2022}/lib/Pages/shared/components/survey/submissions/eliminate-submission/eliminate-submission.component.mjs +49 -49
- package/{esm2020 → esm2022}/lib/Pages/shared/components/survey/submissions/uneliminate-submission/uneliminate-submission.component.mjs +50 -50
- package/{esm2020 → esm2022}/lib/Pages/shared/components/survey/survey-info/add-question/add-question.component.mjs +624 -624
- package/{esm2020 → esm2022}/lib/Pages/shared/components/survey/survey-info/delete-question/delete-question.component.mjs +47 -47
- package/{esm2020 → esm2022}/lib/Pages/shared/components/survey/survey-info/edit-question/edit-question.component.mjs +683 -683
- package/{esm2020 → esm2022}/lib/Pages/shared/components/survey/survey-info/preview/preview.component.mjs +138 -138
- package/{esm2020 → esm2022}/lib/Pages/shared/components/survey/survey-info/publish-survey/publish-survey.component.mjs +102 -102
- package/{esm2020 → esm2022}/lib/Pages/shared/components/survey/survey-info/result-question/result.component.mjs +56 -56
- package/{esm2020 → esm2022}/lib/Pages/shared/components/survey/survey-info/survey-info.component.mjs +532 -532
- package/{esm2020 → esm2022}/lib/Pages/shared/components/survey/survey-info/take-survey/take-survey.component.mjs +113 -113
- package/{esm2020 → esm2022}/lib/Pages/shared/components/survey/survey-info/unpublish-survey/unpublish-survey.component.mjs +114 -114
- package/{esm2020 → esm2022}/lib/Pages/shared/components/survey/survey.component.mjs +292 -292
- package/esm2022/lib/Pages/shared/components/survey-form/survey-form.component.mjs +696 -0
- package/esm2022/lib/Pages/shared/components/survey-form-item/survey-form-item.component.mjs +84 -0
- package/{esm2020 → esm2022}/lib/Pages/shared/components/survey-layout/survey-layout.component.mjs +15 -15
- package/{esm2020 → esm2022}/lib/Pages/shared/config/environment.mjs +11 -11
- package/esm2022/lib/Pages/shared/constants.mjs +130 -0
- package/{esm2020 → esm2022}/lib/Pages/shared/filter/filter.component.mjs +14 -14
- package/{esm2020 → esm2022}/lib/Pages/shared/models/ADModels/ADMappingModel.mjs +3 -3
- package/{esm2020 → esm2022}/lib/Pages/shared/models/ADModels/ActiveDirectoryAddEditModel.mjs +6 -6
- package/{esm2020 → esm2022}/lib/Pages/shared/models/AccountModels/forgotPasswordModel.mjs +5 -5
- package/{esm2020 → esm2022}/lib/Pages/shared/models/ConfigurationModels/ConfigurationModel.mjs +50 -50
- package/{esm2020 → esm2022}/lib/Pages/shared/models/DepartmentModels/DepartmentModel.mjs +2 -2
- package/{esm2020 → esm2022}/lib/Pages/shared/models/DepartmentModels/DepartmentUsersIDRequestModel.mjs +5 -5
- package/{esm2020 → esm2022}/lib/Pages/shared/models/DocumentsModels/DocumentExportDTO.mjs +7 -7
- package/{esm2020 → esm2022}/lib/Pages/shared/models/DocumentsModels/DocumentHeaderAndFooterTemplate.mjs +9 -9
- package/{esm2020 → esm2022}/lib/Pages/shared/models/DocumentsModels/DocumentTemplateDTO.mjs +9 -9
- package/{esm2020 → esm2022}/lib/Pages/shared/models/DocumentsModels/DocumentTemplateInfoDTO.mjs +7 -7
- package/{esm2020 → esm2022}/lib/Pages/shared/models/HelpCenterModels/HelpCenterItemModel.mjs +11 -11
- package/{esm2020 → esm2022}/lib/Pages/shared/models/ImpersonationRuleModels/ImpersonationRuleModel.mjs +7 -7
- package/{esm2020 → esm2022}/lib/Pages/shared/models/ImpersonationRuleModels/ParticipantModel.mjs +8 -8
- package/{esm2020 → esm2022}/lib/Pages/shared/models/InjectedModuleModel/InjectedModule.mjs +6 -6
- package/{esm2020 → esm2022}/lib/Pages/shared/models/JobModels/JobCountsModel.mjs +2 -2
- package/{esm2020 → esm2022}/lib/Pages/shared/models/LicenseModel/LicenseModel.mjs +5 -5
- package/{esm2020 → esm2022}/lib/Pages/shared/models/LocalizationModels/EditResourceModel.mjs +7 -7
- package/{esm2020 → esm2022}/lib/Pages/shared/models/LocalizationModels/LocalizationReplaceTextModel.mjs +5 -5
- package/{esm2020 → esm2022}/lib/Pages/shared/models/LocalizationModels/UploadJsonVM.mjs +2 -2
- package/{esm2020 → esm2022}/lib/Pages/shared/models/Lookups/LookupGroupModel.mjs +6 -6
- package/{esm2020 → esm2022}/lib/Pages/shared/models/Lookups/LookupItem.mjs +7 -7
- package/{esm2020 → esm2022}/lib/Pages/shared/models/Lookups/LookupModel.mjs +8 -8
- package/{esm2020 → esm2022}/lib/Pages/shared/models/NotificationsModels/EmailHeaderAndFooterTemplate.mjs +10 -10
- package/{esm2020 → esm2022}/lib/Pages/shared/models/NotificationsModels/EmailTemplateInfoDTO.mjs +11 -11
- package/{esm2020 → esm2022}/lib/Pages/shared/models/NotificationsModels/EmailTemplateTesterModel.mjs +2 -2
- package/{esm2020 → esm2022}/lib/Pages/shared/models/NotificationsModels/SMSTemplateInfoDTO.mjs +6 -6
- package/{esm2020 → esm2022}/lib/Pages/shared/models/NotificationsModels/SMSTemplateTesterModel.mjs +2 -2
- package/{esm2020 → esm2022}/lib/Pages/shared/models/NotificationsModels/SendEmailTemplateModel.mjs +2 -2
- package/{esm2020 → esm2022}/lib/Pages/shared/models/NotificationsModels/TemplateDTO.mjs +9 -9
- package/{esm2020 → esm2022}/lib/Pages/shared/models/NotificationsModels/TemplateEditViewModel.mjs +8 -8
- package/{esm2020 → esm2022}/lib/Pages/shared/models/PermissionsModels/PermissionModel.mjs +7 -7
- package/{esm2020 → esm2022}/lib/Pages/shared/models/PermissionsModels/PermissionSetModel.mjs +7 -7
- package/{esm2020 → esm2022}/lib/Pages/shared/models/PermissionsModels/PermissionSetUsersIDRequestModel.mjs +5 -5
- package/{esm2020 → esm2022}/lib/Pages/shared/models/ProviderModels/DefaultProviderModel.mjs +5 -5
- package/{esm2020 → esm2022}/lib/Pages/shared/models/ProviderModels/EmailProviderTesterModel.mjs +2 -2
- package/{esm2020 → esm2022}/lib/Pages/shared/models/ProviderModels/ProviderAttributeModel.mjs +2 -2
- package/{esm2020 → esm2022}/lib/Pages/shared/models/ProviderModels/ProviderModel.mjs +5 -5
- package/{esm2020 → esm2022}/lib/Pages/shared/models/ProviderModels/SMSProviderTesterModel.mjs +2 -2
- package/{esm2020 → esm2022}/lib/Pages/shared/models/PublicHolidayModels/PublicHolidayModel.mjs +7 -7
- package/{esm2020 → esm2022}/lib/Pages/shared/models/SectorModels/SectorDepartmentModel.mjs +5 -5
- package/{esm2020 → esm2022}/lib/Pages/shared/models/SectorModels/SectorModel.mjs +6 -6
- package/{esm2020 → esm2022}/lib/Pages/shared/models/SurveyModels/DeleteSurveyDTO.mjs +2 -2
- package/{esm2020 → esm2022}/lib/Pages/shared/models/SurveyModels/add-survey-submissio.mjs +13 -13
- package/{esm2020 → esm2022}/lib/Pages/shared/models/SurveyModels/add-survey.mjs +10 -10
- package/{esm2020 → esm2022}/lib/Pages/shared/models/SurveyModels/model.mjs +2 -2
- package/{esm2020 → esm2022}/lib/Pages/shared/models/SurveyModels/survey-field-options.mjs +6 -6
- package/{esm2020 → esm2022}/lib/Pages/shared/models/SurveyModels/survey-filed-value.mjs +7 -7
- package/{esm2020 → esm2022}/lib/Pages/shared/models/SurveyModels/survey-form-options.mjs +7 -7
- package/{esm2020 → esm2022}/lib/Pages/shared/models/SurveyModels/survey-publish.mjs +4 -4
- package/{esm2020 → esm2022}/lib/Pages/shared/models/SurveyModels/survey-question-option.mjs +17 -17
- package/{esm2020 → esm2022}/lib/Pages/shared/models/SurveyModels/survey-question.mjs +10 -10
- package/esm2022/lib/Pages/shared/models/SurveyModels/survey-utils.mjs +8 -0
- package/{esm2020 → esm2022}/lib/Pages/shared/models/UserModels/ActivationModel.mjs +2 -2
- package/{esm2020 → esm2022}/lib/Pages/shared/models/UserModels/AddUserModel.mjs +36 -36
- package/{esm2020 → esm2022}/lib/Pages/shared/models/UserModels/DropdownsResponseModel.mjs +11 -11
- package/{esm2020 → esm2022}/lib/Pages/shared/models/UserModels/EditUserModel.mjs +8 -8
- package/{esm2020 → esm2022}/lib/Pages/shared/models/UserModels/IdentityModel.mjs +2 -2
- package/{esm2020 → esm2022}/lib/Pages/shared/models/UserModels/UserSearchParamDTO.mjs +2 -2
- package/{esm2020 → esm2022}/lib/Pages/shared/models/UserModels/UsersIDRequestModel.mjs +5 -5
- package/{esm2020 → esm2022}/lib/Pages/shared/models/WorkflowModels/VariableLookupModel.mjs +2 -2
- package/{esm2020 → esm2022}/lib/Pages/shared/models/WorkflowModels/WFActivityModel.mjs +16 -16
- package/{esm2020 → esm2022}/lib/Pages/shared/models/WorkflowModels/WFActivityOutcomeModel.mjs +2 -2
- package/{esm2020 → esm2022}/lib/Pages/shared/models/WorkflowModels/WFActivityVariablesModel.mjs +7 -7
- package/{esm2020 → esm2022}/lib/Pages/shared/models/WorkflowModels/WFCreationModel.mjs +7 -7
- package/{esm2020 → esm2022}/lib/Pages/shared/models/WorkflowModels/WFVariableModel.mjs +8 -8
- package/{esm2020 → esm2022}/lib/Pages/shared/models/user.registration.mjs +7 -7
- package/esm2022/lib/Pages/shared/modules/public-survey.module.mjs +68 -0
- package/{esm2020 → esm2022}/lib/Pages/shared/modules/survey-routing.module.mjs +39 -39
- package/esm2022/lib/Pages/shared/modules/survey.module.mjs +129 -0
- package/esm2022/lib/Pages/shared/shared.module.mjs +31 -0
- package/{esm2020 → esm2022}/lib/Pages/shared/stylesbundle.service.mjs +44 -44
- package/{esm2020 → esm2022}/lib/Pages/start/index/index.component.mjs +25 -25
- package/{esm2020 → esm2022}/lib/Pages/start/start-routing.module.mjs +22 -22
- package/{esm2020 → esm2022}/lib/Pages/start/start.module.mjs +31 -31
- package/esm2022/lib/Pages/users/users.component.mjs +806 -0
- package/esm2022/lib/Pages/users/users.module.mjs +86 -0
- package/{esm2020 → esm2022}/lib/Pages/workflows/activity/workflow-activity-add/workflow-activity-add.component.mjs +535 -535
- package/{esm2020 → esm2022}/lib/Pages/workflows/activity/workflow-activity-edit/workflow-activity-edit.component.mjs +840 -840
- package/{esm2020 → esm2022}/lib/Pages/workflows/instance-info/instance-info.component.mjs +302 -302
- package/esm2022/lib/Pages/workflows/tabs/tabs.component.mjs +793 -0
- package/{esm2020 → esm2022}/lib/Pages/workflows/version-info/version-info.component.mjs +137 -137
- package/esm2022/lib/Pages/workflows/workflow/workflow.component.mjs +209 -0
- package/{esm2020 → esm2022}/lib/Pages/workflows/workflows-routing.module.mjs +35 -35
- package/{esm2020 → esm2022}/lib/Pages/workflows/workflows.component.mjs +15 -15
- package/esm2022/lib/Pages/workflows/workflows.module.mjs +103 -0
- package/{esm2020 → esm2022}/lib/_metronic/configs/default-layout.config.mjs +95 -95
- package/{esm2020 → esm2022}/lib/_metronic/core/_utils/DomHelpers.mjs +270 -270
- package/{esm2020 → esm2022}/lib/_metronic/core/_utils/ElementAnimateUtil.mjs +166 -166
- package/esm2022/lib/_metronic/core/_utils/EventHandlerUtil.mjs +90 -0
- package/esm2022/lib/_metronic/core/_utils/_DOMEventHandlerUtil.mjs +49 -0
- package/esm2022/lib/_metronic/core/_utils/_DataUtil.mjs +48 -0
- package/{esm2020 → esm2022}/lib/_metronic/core/_utils/_ElementStyleUtil.mjs +16 -16
- package/{esm2020 → esm2022}/lib/_metronic/core/_utils/_TypesHelpers.mjs +48 -48
- package/{esm2020 → esm2022}/lib/_metronic/core/_utils/models/OffsetModel.mjs +1 -1
- package/{esm2020 → esm2022}/lib/_metronic/core/_utils/models/ViewPortModel.mjs +1 -1
- package/{esm2020 → esm2022}/lib/_metronic/core/components/MenuComponent.mjs +827 -827
- package/{esm2020 → esm2022}/lib/_metronic/core/components/_CookieComponent.mjs +52 -52
- package/esm2022/lib/_metronic/core/components/_DrawerComponent.mjs +288 -0
- package/{esm2020 → esm2022}/lib/_metronic/core/components/_ScrollComponent.mjs +252 -252
- package/esm2022/lib/_metronic/core/components/_ScrollTopComponent.mjs +113 -0
- package/esm2022/lib/_metronic/core/components/_ToggleComponent.mjs +157 -0
- package/{esm2020 → esm2022}/lib/_metronic/core/services/layout-init.service.mjs +155 -155
- package/{esm2020 → esm2022}/lib/_metronic/core/services/layout.service.mjs +150 -150
- package/esm2022/lib/_metronic/core/services/page-info.service.mjs +119 -0
- package/esm2022/lib/masterlayout-routing.module.mjs +41 -0
- package/{esm2020 → esm2022}/lib/masterlayout.component.mjs +118 -118
- package/esm2022/lib/masterlayout.module.mjs +188 -0
- package/{esm2020 → esm2022}/public-api.mjs +48 -48
- package/{fesm2020 → fesm2022}/bnsights-bbsf-admin-portal.mjs +26884 -26881
- package/fesm2022/bnsights-bbsf-admin-portal.mjs.map +1 -0
- package/index.d.ts +5 -5
- package/lib/Pages/ActiveDirectories/active-directories.component.d.ts +8 -8
- package/lib/Pages/ActiveDirectories/active-directory/active-directory.component.d.ts +85 -87
- package/lib/Pages/ActiveDirectories/active-directory-add/active-directory-add.component.d.ts +97 -99
- package/lib/Pages/ActiveDirectories/active-directory-routing.module.d.ts +7 -7
- package/lib/Pages/ActiveDirectories/active-directory.module.d.ts +26 -26
- package/lib/Pages/_layout/components/aside/aside-menu/aside-menu.component.d.ts +13 -13
- package/lib/Pages/_layout/components/aside/aside.component.d.ts +24 -24
- package/lib/Pages/_layout/components/content/content.component.d.ts +13 -13
- package/lib/Pages/_layout/components/footer/footer.component.d.ts +14 -14
- package/lib/Pages/_layout/components/header/header.component.d.ts +24 -24
- package/lib/Pages/_layout/components/header/page-title/page-title.component.d.ts +22 -22
- package/lib/Pages/_layout/components/scripts-init/scripts-init.component.d.ts +18 -18
- package/lib/Pages/_layout/components/subheader/subheader.component.d.ts +17 -17
- package/lib/Pages/_layout/components/subheader/subheader.module.d.ts +9 -9
- package/lib/Pages/_layout/components/toolbar/toolbar.component.d.ts +18 -18
- package/lib/Pages/_layout/components/toolbar/toolbar.module.d.ts +10 -10
- package/lib/Pages/_layout/components/topbar/topbar.component.d.ts +44 -44
- package/lib/Pages/anonymouslayout/activation/activation.component.d.ts +32 -32
- package/lib/Pages/anonymouslayout/anonymouslayout-routing.module.d.ts +7 -7
- package/lib/Pages/anonymouslayout/anonymouslayout.component.d.ts +24 -24
- package/lib/Pages/anonymouslayout/anonymouslayout.module.d.ts +21 -21
- package/lib/Pages/anonymouslayout/error/error.component.d.ts +25 -25
- package/lib/Pages/anonymouslayout/forgot-password/forgot-password.component.d.ts +24 -24
- package/lib/Pages/anonymouslayout/login/login.component.d.ts +36 -36
- package/lib/Pages/anonymouslayout/rest-password/rest-password.component.d.ts +32 -32
- package/lib/Pages/anonymouslayout/upload-license/upload-license.component.d.ts +25 -25
- package/lib/Pages/authentication/auth-callback/auth-callback.component.d.ts +21 -21
- package/lib/Pages/authentication/authentication.component.d.ts +8 -8
- package/lib/Pages/authentication/authentication.module.d.ts +12 -12
- package/lib/Pages/authentication/authentication.routing.d.ts +7 -7
- package/lib/Pages/configurations/auth-configuration/auth-configuration-edit/auth-configuration-edit.component.d.ts +75 -75
- package/lib/Pages/configurations/auth-configuration/auth-configuration.component.d.ts +57 -58
- package/lib/Pages/configurations/configuration/configuration.component.d.ts +127 -129
- package/lib/Pages/configurations/configurations.component.d.ts +8 -8
- package/lib/Pages/configurations/configurations.module.d.ts +24 -24
- package/lib/Pages/configurations/configurations.routing.d.ts +7 -7
- package/lib/Pages/configurations/index.d.ts +6 -6
- package/lib/Pages/core/auth.module.d.ts +8 -8
- package/lib/Pages/core/authentication/admin.guard.d.ts +9 -9
- package/lib/Pages/core/authentication/auth.guard.d.ts +14 -14
- package/lib/Pages/core/authentication/auth.service.d.ts +35 -35
- package/lib/Pages/departments/department/department.component.d.ts +66 -68
- package/lib/Pages/departments/department-info/department-info.component.d.ts +58 -60
- package/lib/Pages/departments/departments-routing.module.d.ts +7 -7
- package/lib/Pages/departments/departments.component.d.ts +8 -8
- package/lib/Pages/departments/departments.module.d.ts +21 -21
- package/lib/Pages/documents/{add/add.component.d.ts → add-document/add-document.component.d.ts} +40 -40
- package/lib/Pages/documents/document-master-layouts/document-master-layouts.component.d.ts +51 -53
- package/lib/Pages/documents/document-template-info/document-template-info.component.d.ts +67 -67
- package/lib/Pages/documents/document-templates/document-templates.component.d.ts +87 -89
- package/lib/Pages/documents/documents.component.d.ts +8 -8
- package/lib/Pages/documents/documents.module.d.ts +27 -27
- package/lib/Pages/documents/documents.routing.d.ts +7 -7
- package/lib/Pages/documents/{edit/edit.component.d.ts → edit-document/edit-document.component.d.ts} +42 -42
- package/lib/Pages/documents/edit-document-template/edit-document-template.component.d.ts +39 -39
- package/lib/Pages/empty-data/empty-data.component.d.ts +14 -14
- package/lib/Pages/empty-data/empty-data.module.d.ts +8 -8
- package/lib/Pages/helpCenter/help-center/help-center.component.d.ts +69 -71
- package/lib/Pages/helpCenter/help-center-preview/help-center-preview.component.d.ts +23 -23
- package/lib/Pages/helpCenter/help-center-routing.module.d.ts +7 -7
- package/lib/Pages/helpCenter/help-center-secondlevel/help-center-secondlevel.component.d.ts +65 -67
- package/lib/Pages/helpCenter/help-center-thirdlevel/help-center-thirdlevel.component.d.ts +64 -66
- package/lib/Pages/helpCenter/help-center.module.d.ts +25 -25
- package/lib/Pages/helpCenter/help-centers.component.d.ts +8 -8
- package/lib/Pages/home/filter-pipe.d.ts +7 -7
- package/lib/Pages/home/home.component.d.ts +19 -19
- package/lib/Pages/home/home.module.d.ts +14 -14
- package/lib/Pages/impersonation-rules/impersonation-rules/impersonation-rules.component.d.ts +86 -88
- package/lib/Pages/impersonation-rules/impersonation-rules.module.d.ts +19 -19
- package/lib/Pages/jobs/jobs/jobs.component.d.ts +76 -77
- package/lib/Pages/jobs/jobs.module.d.ts +17 -17
- package/lib/Pages/license/license/license.component.d.ts +59 -59
- package/lib/Pages/license/license.module.d.ts +15 -15
- package/lib/Pages/localizations/localizations-replace-text/localizations-replace-text.component.d.ts +53 -53
- package/lib/Pages/localizations/localizations.component.d.ts +108 -110
- package/lib/Pages/localizations/localizations.module.d.ts +18 -18
- package/lib/Pages/logs/log/log.component.d.ts +34 -34
- package/lib/Pages/logs/logs-routing.module.d.ts +7 -7
- package/lib/Pages/logs/logs.component.d.ts +8 -8
- package/lib/Pages/logs/logs.module.d.ts +20 -20
- package/lib/Pages/lookups/lookup/lookup.component.d.ts +83 -85
- package/lib/Pages/lookups/lookup-group/lookup-group.component.d.ts +58 -60
- package/lib/Pages/lookups/lookup-item/lookup-item.component.d.ts +84 -86
- package/lib/Pages/lookups/lookups-routing.module.d.ts +7 -7
- package/lib/Pages/lookups/lookups.component.d.ts +8 -8
- package/lib/Pages/lookups/lookups.module.d.ts +24 -24
- package/lib/Pages/notifications/{add/add.component.d.ts → add-notification/add-notification.component.d.ts} +33 -33
- package/lib/Pages/notifications/edit-email/edit-email.component.d.ts +43 -43
- package/lib/Pages/notifications/{edit/edit.component.d.ts → edit-notification/edit-notification.component.d.ts} +35 -35
- package/lib/Pages/notifications/edit-sms/edit-sms.component.d.ts +37 -37
- package/lib/Pages/notifications/master-layouts/master-layouts.component.d.ts +51 -53
- package/lib/Pages/notifications/notifications-routing.module.d.ts +7 -7
- package/lib/Pages/notifications/notifications.component.d.ts +8 -8
- package/lib/Pages/notifications/notifications.module.d.ts +28 -28
- package/lib/Pages/notifications/template-info/template-info.component.d.ts +86 -86
- package/lib/Pages/notifications/templates/templates.component.d.ts +100 -102
- package/lib/Pages/providers/provider/provider.component.d.ts +118 -120
- package/lib/Pages/providers/providers-routing.module.d.ts +7 -7
- package/lib/Pages/providers/providers.component.d.ts +8 -8
- package/lib/Pages/providers/providers.module.d.ts +21 -21
- package/lib/Pages/publicHolidays/public-holiday/public-holiday.component.d.ts +73 -75
- package/lib/Pages/publicHolidays/public-holidays-routing.module.d.ts +7 -7
- package/lib/Pages/publicHolidays/public-holidays.component.d.ts +8 -8
- package/lib/Pages/publicHolidays/public-holidays.module.d.ts +21 -21
- package/lib/Pages/roles/permission-set-info/permission-set-info.component.d.ts +56 -58
- package/lib/Pages/roles/permissions/permissions.component.d.ts +63 -65
- package/lib/Pages/roles/permissionsets/permissionsets.component.d.ts +67 -69
- package/lib/Pages/roles/roles-routing.module.d.ts +7 -7
- package/lib/Pages/roles/roles.component.d.ts +8 -8
- package/lib/Pages/roles/roles.module.d.ts +24 -24
- package/lib/Pages/sectors/sector/sector.component.d.ts +62 -64
- package/lib/Pages/sectors/sector-info/sector-info.component.d.ts +60 -62
- package/lib/Pages/sectors/{department-info/department-info.component.d.ts → sectors-department-info/sectors-department-info.component.d.ts} +61 -63
- package/lib/Pages/sectors/sectors-routing.module.d.ts +7 -7
- package/lib/Pages/sectors/sectors.component.d.ts +8 -8
- package/lib/Pages/sectors/sectors.module.d.ts +23 -23
- package/lib/Pages/shared/Enums/ADType.d.ts +4 -4
- package/lib/Pages/shared/Enums/Enums.d.ts +47 -47
- package/lib/Pages/shared/Enums/ProviderType.d.ts +5 -5
- package/lib/Pages/shared/Enums/WFActivityType.d.ts +10 -10
- package/lib/Pages/shared/Enums/configuration/ConditionRHSType.d.ts +4 -4
- package/lib/Pages/shared/Enums/configuration/authentecation-configuration.d.ts +15 -15
- package/lib/Pages/shared/Pipes/survey-date.pipe.d.ts +12 -12
- package/lib/Pages/shared/Services/AccountService.service.d.ts +21 -21
- package/lib/Pages/shared/Services/ActiveDirectoryService.service.d.ts +18 -18
- package/lib/Pages/shared/Services/AnonymousLayoutService.service.d.ts +17 -17
- package/lib/Pages/shared/Services/ConfigurationsService.service.d.ts +20 -20
- package/lib/Pages/shared/Services/DepartmentService.service.d.ts +18 -18
- package/lib/Pages/shared/Services/DocumentHeaderAndFooterTemplate.service.d.ts +15 -15
- package/lib/Pages/shared/Services/DocumentTemplateService.service.d.ts +26 -26
- package/lib/Pages/shared/Services/EmailHeaderAndFooterTemplateService.Service.d.ts +15 -15
- package/lib/Pages/shared/Services/ErrorService.service.d.ts +8 -8
- package/lib/Pages/shared/Services/GlobalErrorHandler.service.d.ts +10 -10
- package/lib/Pages/shared/Services/HelpCenterService.service.d.ts +18 -18
- package/lib/Pages/shared/Services/HttpErrorInterceptor.service.d.ts +12 -12
- package/lib/Pages/shared/Services/ImpersonationRuleService.service.d.ts +15 -15
- package/lib/Pages/shared/Services/JobsService.service.d.ts +10 -10
- package/lib/Pages/shared/Services/LicenseService.service.d.ts +12 -12
- package/lib/Pages/shared/Services/LogsService.d.ts +10 -10
- package/lib/Pages/shared/Services/LookupGroupsService.service.d.ts +14 -14
- package/lib/Pages/shared/Services/LookupService.service.d.ts +25 -25
- package/lib/Pages/shared/Services/PermissionSetService.service.d.ts +19 -19
- package/lib/Pages/shared/Services/PermissionsService.service.d.ts +15 -15
- package/lib/Pages/shared/Services/PublicHolidayService.service.d.ts +16 -16
- package/lib/Pages/shared/Services/SectorService.service.d.ts +18 -18
- package/lib/Pages/shared/Services/TemplateService.service.d.ts +34 -34
- package/lib/Pages/shared/Services/WorkFlowVersionService.service.d.ts +10 -10
- package/lib/Pages/shared/Services/WorkflowActivityService.service.d.ts +19 -19
- package/lib/Pages/shared/Services/WorkflowInstanceService.service.d.ts +10 -10
- package/lib/Pages/shared/Services/WorkflowLogVariablesService.service.d.ts +10 -10
- package/lib/Pages/shared/Services/WorkflowService.service.d.ts +15 -15
- package/lib/Pages/shared/Services/WorkflowVariablesService.service.d.ts +15 -15
- package/lib/Pages/shared/Services/data.service.d.ts +9 -9
- package/lib/Pages/shared/Services/injectionModuleService.service.d.ts +50 -50
- package/lib/Pages/shared/Services/localizationsService.service .d.ts +28 -28
- package/lib/Pages/shared/Services/provider.service.d.ts +25 -25
- package/lib/Pages/shared/Services/survey-question.service.d.ts +19 -19
- package/lib/Pages/shared/Services/survey.service.d.ts +38 -38
- package/lib/Pages/shared/Services/userService.service.d.ts +29 -29
- package/lib/Pages/shared/base.service.d.ts +4 -4
- package/lib/Pages/shared/components/AdDirective.d.ts +8 -8
- package/lib/Pages/shared/components/external-url/external-url.component.d.ts +61 -61
- package/lib/Pages/shared/components/no-results/no-results.component.d.ts +10 -10
- package/lib/Pages/shared/components/survey/add-survey/add-survey.component.d.ts +40 -40
- package/lib/Pages/shared/components/survey/delete-survey/delete-survey.component.d.ts +19 -19
- package/lib/Pages/shared/components/survey/duplicate-survey/duplicate-survey.component.d.ts +19 -19
- package/lib/Pages/shared/components/survey/edit-survey/edit-survey.component.d.ts +43 -43
- package/lib/Pages/shared/components/survey/submissions/delete-submission/delete-submission.component.d.ts +19 -19
- package/lib/Pages/shared/components/survey/submissions/eliminate-submission/eliminate-submission.component.d.ts +19 -19
- package/lib/Pages/shared/components/survey/submissions/uneliminate-submission/uneliminate-submission.component.d.ts +19 -19
- package/lib/Pages/shared/components/survey/survey-info/add-question/add-question.component.d.ts +83 -83
- package/lib/Pages/shared/components/survey/survey-info/delete-question/delete-question.component.d.ts +19 -19
- package/lib/Pages/shared/components/survey/survey-info/edit-question/edit-question.component.d.ts +84 -84
- package/lib/Pages/shared/components/survey/survey-info/preview/preview.component.d.ts +40 -40
- package/lib/Pages/shared/components/survey/survey-info/publish-survey/publish-survey.component.d.ts +31 -31
- package/lib/Pages/shared/components/survey/survey-info/result-question/result.component.d.ts +27 -27
- package/lib/Pages/shared/components/survey/survey-info/survey-info.component.d.ts +119 -119
- package/lib/Pages/shared/components/survey/survey-info/take-survey/take-survey.component.d.ts +39 -39
- package/lib/Pages/shared/components/survey/survey-info/unpublish-survey/unpublish-survey.component.d.ts +32 -32
- package/lib/Pages/shared/components/survey/survey.component.d.ts +65 -65
- package/lib/Pages/shared/components/survey-form/survey-form.component.d.ts +41 -41
- package/lib/Pages/shared/components/survey-form-item/survey-form-item.component.d.ts +23 -23
- package/lib/Pages/shared/components/survey-layout/survey-layout.component.d.ts +8 -8
- package/lib/Pages/shared/config/environment.d.ts +1 -1
- package/lib/Pages/shared/constants.d.ts +129 -129
- package/lib/Pages/shared/filter/filter.component.d.ts +8 -8
- package/lib/Pages/shared/models/ADModels/ADMappingModel.d.ts +6 -6
- package/lib/Pages/shared/models/ADModels/ActiveDirectoryAddEditModel.d.ts +28 -28
- package/lib/Pages/shared/models/AccountModels/forgotPasswordModel.d.ts +3 -3
- package/lib/Pages/shared/models/ConfigurationModels/ConfigurationModel.d.ts +64 -64
- package/lib/Pages/shared/models/DepartmentModels/DepartmentModel.d.ts +9 -9
- package/lib/Pages/shared/models/DepartmentModels/DepartmentUsersIDRequestModel.d.ts +4 -4
- package/lib/Pages/shared/models/DocumentsModels/DocumentExportDTO.d.ts +8 -8
- package/lib/Pages/shared/models/DocumentsModels/DocumentHeaderAndFooterTemplate.d.ts +16 -16
- package/lib/Pages/shared/models/DocumentsModels/DocumentTemplateDTO.d.ts +13 -13
- package/lib/Pages/shared/models/DocumentsModels/DocumentTemplateInfoDTO.d.ts +7 -7
- package/lib/Pages/shared/models/HelpCenterModels/HelpCenterItemModel.d.ts +17 -17
- package/lib/Pages/shared/models/ImpersonationRuleModels/ImpersonationRuleModel.d.ts +9 -9
- package/lib/Pages/shared/models/ImpersonationRuleModels/ParticipantModel.d.ts +15 -15
- package/lib/Pages/shared/models/InjectedModuleModel/InjectedModule.d.ts +5 -5
- package/lib/Pages/shared/models/JobModels/JobCountsModel.d.ts +8 -8
- package/lib/Pages/shared/models/LicenseModel/LicenseModel.d.ts +5 -5
- package/lib/Pages/shared/models/LocalizationModels/EditResourceModel.d.ts +7 -7
- package/lib/Pages/shared/models/LocalizationModels/LocalizationReplaceTextModel.d.ts +9 -9
- package/lib/Pages/shared/models/LocalizationModels/UploadJsonVM.d.ts +5 -5
- package/lib/Pages/shared/models/Lookups/LookupGroupModel.d.ts +5 -5
- package/lib/Pages/shared/models/Lookups/LookupItem.d.ts +13 -13
- package/lib/Pages/shared/models/Lookups/LookupModel.d.ts +13 -13
- package/lib/Pages/shared/models/NotificationsModels/EmailHeaderAndFooterTemplate.d.ts +9 -9
- package/lib/Pages/shared/models/NotificationsModels/EmailTemplateInfoDTO.d.ts +15 -15
- package/lib/Pages/shared/models/NotificationsModels/EmailTemplateTesterModel.d.ts +9 -9
- package/lib/Pages/shared/models/NotificationsModels/SMSTemplateInfoDTO.d.ts +9 -9
- package/lib/Pages/shared/models/NotificationsModels/SMSTemplateTesterModel.d.ts +9 -9
- package/lib/Pages/shared/models/NotificationsModels/SendEmailTemplateModel.d.ts +8 -8
- package/lib/Pages/shared/models/NotificationsModels/TemplateDTO.d.ts +22 -22
- package/lib/Pages/shared/models/NotificationsModels/TemplateEditViewModel.d.ts +11 -11
- package/lib/Pages/shared/models/PermissionsModels/PermissionModel.d.ts +8 -8
- package/lib/Pages/shared/models/PermissionsModels/PermissionSetModel.d.ts +10 -10
- package/lib/Pages/shared/models/PermissionsModels/PermissionSetUsersIDRequestModel.d.ts +4 -4
- package/lib/Pages/shared/models/ProviderModels/DefaultProviderModel.d.ts +6 -6
- package/lib/Pages/shared/models/ProviderModels/EmailProviderTesterModel.d.ts +7 -7
- package/lib/Pages/shared/models/ProviderModels/ProviderAttributeModel.d.ts +7 -7
- package/lib/Pages/shared/models/ProviderModels/ProviderModel.d.ts +13 -13
- package/lib/Pages/shared/models/ProviderModels/SMSProviderTesterModel.d.ts +6 -6
- package/lib/Pages/shared/models/PublicHolidayModels/PublicHolidayModel.d.ts +15 -15
- package/lib/Pages/shared/models/SectorModels/SectorDepartmentModel.d.ts +4 -4
- package/lib/Pages/shared/models/SectorModels/SectorModel.d.ts +6 -6
- package/lib/Pages/shared/models/SurveyModels/DeleteSurveyDTO.d.ts +3 -3
- package/lib/Pages/shared/models/SurveyModels/add-survey-submissio.d.ts +21 -21
- package/lib/Pages/shared/models/SurveyModels/add-survey.d.ts +18 -18
- package/lib/Pages/shared/models/SurveyModels/model.d.ts +3 -3
- package/lib/Pages/shared/models/SurveyModels/survey-field-options.d.ts +24 -24
- package/lib/Pages/shared/models/SurveyModels/survey-filed-value.d.ts +22 -22
- package/lib/Pages/shared/models/SurveyModels/survey-form-options.d.ts +8 -8
- package/lib/Pages/shared/models/SurveyModels/survey-publish.d.ts +15 -15
- package/lib/Pages/shared/models/SurveyModels/survey-question-option.d.ts +9 -9
- package/lib/Pages/shared/models/SurveyModels/survey-question.d.ts +21 -21
- package/lib/Pages/shared/models/SurveyModels/survey-utils.d.ts +5 -5
- package/lib/Pages/shared/models/UserModels/ActivationModel.d.ts +10 -10
- package/lib/Pages/shared/models/UserModels/AddUserModel.d.ts +33 -33
- package/lib/Pages/shared/models/UserModels/DropdownsResponseModel.d.ts +9 -9
- package/lib/Pages/shared/models/UserModels/EditUserModel.d.ts +25 -25
- package/lib/Pages/shared/models/UserModels/IdentityModel.d.ts +9 -9
- package/lib/Pages/shared/models/UserModels/UserSearchParamDTO.d.ts +8 -8
- package/lib/Pages/shared/models/UserModels/UsersIDRequestModel.d.ts +3 -3
- package/lib/Pages/shared/models/WorkflowModels/VariableLookupModel.d.ts +9 -9
- package/lib/Pages/shared/models/WorkflowModels/WFActivityModel.d.ts +40 -40
- package/lib/Pages/shared/models/WorkflowModels/WFActivityOutcomeModel.d.ts +13 -13
- package/lib/Pages/shared/models/WorkflowModels/WFActivityVariablesModel.d.ts +13 -13
- package/lib/Pages/shared/models/WorkflowModels/WFCreationModel.d.ts +10 -10
- package/lib/Pages/shared/models/WorkflowModels/WFVariableModel.d.ts +23 -23
- package/lib/Pages/shared/models/user.registration.d.ts +6 -6
- package/lib/Pages/shared/modules/public-survey.module.d.ts +15 -15
- package/lib/Pages/shared/modules/survey-routing.module.d.ts +7 -7
- package/lib/Pages/shared/modules/survey.module.d.ts +35 -35
- package/lib/Pages/shared/shared.module.d.ts +8 -8
- package/lib/Pages/shared/stylesbundle.service.d.ts +9 -9
- package/lib/Pages/start/index/index.component.d.ts +15 -15
- package/lib/Pages/start/start-routing.module.d.ts +7 -7
- package/lib/Pages/start/start.module.d.ts +11 -11
- package/lib/Pages/users/users.component.d.ts +138 -139
- package/lib/Pages/users/users.module.d.ts +18 -18
- package/lib/Pages/workflows/activity/workflow-activity-add/workflow-activity-add.component.d.ts +77 -77
- package/lib/Pages/workflows/activity/workflow-activity-edit/workflow-activity-edit.component.d.ts +82 -82
- package/lib/Pages/workflows/instance-info/instance-info.component.d.ts +81 -81
- package/lib/Pages/workflows/tabs/tabs.component.d.ts +126 -128
- package/lib/Pages/workflows/version-info/version-info.component.d.ts +41 -41
- package/lib/Pages/workflows/workflow/workflow.component.d.ts +54 -55
- package/lib/Pages/workflows/workflows-routing.module.d.ts +7 -7
- package/lib/Pages/workflows/workflows.component.d.ts +8 -8
- package/lib/Pages/workflows/workflows.module.d.ts +27 -27
- package/lib/_metronic/configs/default-layout.config.d.ts +139 -139
- package/lib/_metronic/core/_utils/DomHelpers.d.ts +26 -26
- package/lib/_metronic/core/_utils/ElementAnimateUtil.d.ts +13 -13
- package/lib/_metronic/core/_utils/EventHandlerUtil.d.ts +20 -20
- package/lib/_metronic/core/_utils/_DOMEventHandlerUtil.d.ts +6 -6
- package/lib/_metronic/core/_utils/_DataUtil.d.ts +8 -8
- package/lib/_metronic/core/_utils/_ElementStyleUtil.d.ts +5 -5
- package/lib/_metronic/core/_utils/_TypesHelpers.d.ts +10 -10
- package/lib/_metronic/core/_utils/models/OffsetModel.d.ts +4 -4
- package/lib/_metronic/core/_utils/models/ViewPortModel.d.ts +4 -4
- package/lib/_metronic/core/components/MenuComponent.d.ts +88 -88
- package/lib/_metronic/core/components/_CookieComponent.d.ts +25 -25
- package/lib/_metronic/core/components/_DrawerComponent.d.ts +49 -49
- package/lib/_metronic/core/components/_ScrollComponent.d.ts +31 -31
- package/lib/_metronic/core/components/_ScrollTopComponent.d.ts +24 -24
- package/lib/_metronic/core/components/_ToggleComponent.d.ts +36 -36
- package/lib/_metronic/core/services/layout-init.service.d.ts +18 -18
- package/lib/_metronic/core/services/layout.service.d.ts +38 -38
- package/lib/_metronic/core/services/page-info.service.d.ts +32 -32
- package/lib/masterlayout-routing.module.d.ts +11 -13
- package/lib/masterlayout.component.d.ts +63 -63
- package/lib/masterlayout.module.d.ts +34 -34
- package/package.json +25 -30
- package/public-api.d.ts +41 -41
- package/src/lib/assets/images/menu/Tools.svg +10 -4
- package/src/lib/assets/images/menu/authentication.svg +9 -0
- package/src/lib/assets/sass/style-rtl.scss +3 -3
- package/src/lib/assets/sass/style.scss +3 -3
- package/bnsights-bbsf-admin-portal-1.1.2.tgz +0 -0
- package/esm2020/lib/Pages/ActiveDirectories/active-directory/active-directory.component.mjs +0 -421
- package/esm2020/lib/Pages/ActiveDirectories/active-directory-add/active-directory-add.component.mjs +0 -528
- package/esm2020/lib/Pages/ActiveDirectories/active-directory.module.mjs +0 -108
- package/esm2020/lib/Pages/_layout/components/aside/aside-menu/aside-menu.component.mjs +0 -23
- package/esm2020/lib/Pages/anonymouslayout/anonymouslayout.module.mjs +0 -100
- package/esm2020/lib/Pages/configurations/auth-configuration/auth-configuration-edit/auth-configuration-edit.component.mjs +0 -330
- package/esm2020/lib/Pages/configurations/auth-configuration/auth-configuration.component.mjs +0 -157
- package/esm2020/lib/Pages/configurations/configuration/configuration.component.mjs +0 -801
- package/esm2020/lib/Pages/configurations/configurations.module.mjs +0 -104
- package/esm2020/lib/Pages/core/authentication/admin.guard.mjs +0 -17
- package/esm2020/lib/Pages/core/authentication/auth.service.mjs +0 -147
- package/esm2020/lib/Pages/departments/department/department.component.mjs +0 -220
- package/esm2020/lib/Pages/departments/department-info/department-info.component.mjs +0 -185
- package/esm2020/lib/Pages/departments/departments.module.mjs +0 -94
- package/esm2020/lib/Pages/documents/add/add.component.mjs +0 -136
- package/esm2020/lib/Pages/documents/document-master-layouts/document-master-layouts.component.mjs +0 -148
- package/esm2020/lib/Pages/documents/document-templates/document-templates.component.mjs +0 -437
- package/esm2020/lib/Pages/documents/documents.module.mjs +0 -114
- package/esm2020/lib/Pages/documents/documents.routing.mjs +0 -37
- package/esm2020/lib/Pages/documents/edit/edit.component.mjs +0 -169
- package/esm2020/lib/Pages/helpCenter/help-center/help-center.component.mjs +0 -294
- package/esm2020/lib/Pages/helpCenter/help-center-preview/help-center-preview.component.mjs +0 -43
- package/esm2020/lib/Pages/helpCenter/help-center-secondlevel/help-center-secondlevel.component.mjs +0 -242
- package/esm2020/lib/Pages/helpCenter/help-center-thirdlevel/help-center-thirdlevel.component.mjs +0 -243
- package/esm2020/lib/Pages/helpCenter/help-center.module.mjs +0 -98
- package/esm2020/lib/Pages/home/home.component.mjs +0 -153
- package/esm2020/lib/Pages/home/home.module.mjs +0 -48
- package/esm2020/lib/Pages/impersonation-rules/impersonation-rules/impersonation-rules.component.mjs +0 -443
- package/esm2020/lib/Pages/impersonation-rules/impersonation-rules.module.mjs +0 -95
- package/esm2020/lib/Pages/jobs/jobs/jobs.component.mjs +0 -223
- package/esm2020/lib/Pages/jobs/jobs.module.mjs +0 -87
- package/esm2020/lib/Pages/license/license.module.mjs +0 -71
- package/esm2020/lib/Pages/localizations/localizations.component.mjs +0 -516
- package/esm2020/lib/Pages/localizations/localizations.module.mjs +0 -79
- package/esm2020/lib/Pages/logs/logs.module.mjs +0 -87
- package/esm2020/lib/Pages/lookups/lookup/lookup.component.mjs +0 -367
- package/esm2020/lib/Pages/lookups/lookup-group/lookup-group.component.mjs +0 -187
- package/esm2020/lib/Pages/lookups/lookup-item/lookup-item.component.mjs +0 -297
- package/esm2020/lib/Pages/lookups/lookups.module.mjs +0 -100
- package/esm2020/lib/Pages/notifications/add/add.component.mjs +0 -104
- package/esm2020/lib/Pages/notifications/edit/edit.component.mjs +0 -133
- package/esm2020/lib/Pages/notifications/master-layouts/master-layouts.component.mjs +0 -148
- package/esm2020/lib/Pages/notifications/notifications-routing.module.mjs +0 -39
- package/esm2020/lib/Pages/notifications/notifications.module.mjs +0 -101
- package/esm2020/lib/Pages/notifications/templates/templates.component.mjs +0 -495
- package/esm2020/lib/Pages/providers/provider/provider.component.mjs +0 -615
- package/esm2020/lib/Pages/providers/providers.module.mjs +0 -91
- package/esm2020/lib/Pages/publicHolidays/public-holiday/public-holiday.component.mjs +0 -334
- package/esm2020/lib/Pages/publicHolidays/public-holidays.module.mjs +0 -94
- package/esm2020/lib/Pages/roles/permission-set-info/permission-set-info.component.mjs +0 -187
- package/esm2020/lib/Pages/roles/permissions/permissions.component.mjs +0 -226
- package/esm2020/lib/Pages/roles/permissionsets/permissionsets.component.mjs +0 -277
- package/esm2020/lib/Pages/roles/roles.module.mjs +0 -105
- package/esm2020/lib/Pages/sectors/department-info/department-info.component.mjs +0 -187
- package/esm2020/lib/Pages/sectors/sector/sector.component.mjs +0 -193
- package/esm2020/lib/Pages/sectors/sector-info/sector-info.component.mjs +0 -180
- package/esm2020/lib/Pages/sectors/sectors.module.mjs +0 -96
- package/esm2020/lib/Pages/shared/Enums/WFVariableDataType.mjs +0 -14
- package/esm2020/lib/Pages/shared/Services/injectionModuleService.service.mjs +0 -163
- package/esm2020/lib/Pages/shared/components/survey/add-survey/add-survey.component.mjs +0 -192
- package/esm2020/lib/Pages/shared/components/survey-form/survey-form.component.mjs +0 -696
- package/esm2020/lib/Pages/shared/components/survey-form-item/survey-form-item.component.mjs +0 -84
- package/esm2020/lib/Pages/shared/constants.mjs +0 -130
- package/esm2020/lib/Pages/shared/models/SurveyModels/survey-utils.mjs +0 -8
- package/esm2020/lib/Pages/shared/modules/public-survey.module.mjs +0 -68
- package/esm2020/lib/Pages/shared/modules/survey.module.mjs +0 -126
- package/esm2020/lib/Pages/shared/shared.module.mjs +0 -31
- package/esm2020/lib/Pages/users/users.component.mjs +0 -806
- package/esm2020/lib/Pages/users/users.module.mjs +0 -86
- package/esm2020/lib/Pages/workflows/tabs/tabs.component.mjs +0 -793
- package/esm2020/lib/Pages/workflows/workflow/workflow.component.mjs +0 -209
- package/esm2020/lib/Pages/workflows/workflows.module.mjs +0 -103
- package/esm2020/lib/_metronic/core/_utils/EventHandlerUtil.mjs +0 -90
- package/esm2020/lib/_metronic/core/_utils/_DOMEventHandlerUtil.mjs +0 -49
- package/esm2020/lib/_metronic/core/_utils/_DataUtil.mjs +0 -48
- package/esm2020/lib/_metronic/core/components/_DrawerComponent.mjs +0 -290
- package/esm2020/lib/_metronic/core/components/_ScrollTopComponent.mjs +0 -113
- package/esm2020/lib/_metronic/core/components/_ToggleComponent.mjs +0 -157
- package/esm2020/lib/_metronic/core/services/page-info.service.mjs +0 -119
- package/esm2020/lib/masterlayout-routing.module.mjs +0 -45
- package/esm2020/lib/masterlayout.module.mjs +0 -188
- package/fesm2015/bnsights-bbsf-admin-portal.mjs +0 -27293
- package/fesm2015/bnsights-bbsf-admin-portal.mjs.map +0 -1
- package/fesm2020/bnsights-bbsf-admin-portal.mjs.map +0 -1
- package/lib/Pages/shared/Enums/WFVariableDataType.d.ts +0 -12
package/esm2020/lib/Pages/impersonation-rules/impersonation-rules/impersonation-rules.component.mjs
DELETED
|
@@ -1,443 +0,0 @@
|
|
|
1
|
-
import { Component, ViewChild } from '@angular/core';
|
|
2
|
-
import { FormGroup } from '@angular/forms';
|
|
3
|
-
import { AutocompleteDTO, AutocompleteOptions, CheckBoxOptions, ConfirmationModalOptions, DatePickerOptions, DropdownOptions, FilterItem, FilterType, ForceDirection, FormOptions, InputType, PagingActionMode, PagingOptions, PickerType, SelectMode, StartView, TextBoxOptions } from '@bnsights/bbsf-controls';
|
|
4
|
-
import { ImpersonationRuleModel } from '../../shared/models/ImpersonationRuleModels/ImpersonationRuleModel';
|
|
5
|
-
import { PageInfoService } from '../../../_metronic/core/services/page-info.service';
|
|
6
|
-
import { ParticipantType } from '../../shared/constants';
|
|
7
|
-
import * as i0 from "@angular/core";
|
|
8
|
-
import * as i1 from "@bnsights/bbsf-utilities";
|
|
9
|
-
import * as i2 from "../../../_metronic/core/services/page-info.service";
|
|
10
|
-
import * as i3 from "./../../shared/Services/ImpersonationRuleService.service";
|
|
11
|
-
import * as i4 from "@ng-bootstrap/ng-bootstrap";
|
|
12
|
-
import * as i5 from "@angular/common";
|
|
13
|
-
import * as i6 from "@angular/forms";
|
|
14
|
-
import * as i7 from "ng-block-ui";
|
|
15
|
-
import * as i8 from "@bnsights/bbsf-controls";
|
|
16
|
-
import * as i9 from "@angular/material/menu";
|
|
17
|
-
import * as i10 from "ng-inline-svg";
|
|
18
|
-
import * as i11 from "../../empty-data/empty-data.component";
|
|
19
|
-
export class ImpersonationRulesComponent {
|
|
20
|
-
constructor(authService, pageInfoService, utilityService, bbsfTranslateService, environmentService, ImpersonationRuleService, modalService, requestHandlerService) {
|
|
21
|
-
this.authService = authService;
|
|
22
|
-
this.pageInfoService = pageInfoService;
|
|
23
|
-
this.utilityService = utilityService;
|
|
24
|
-
this.bbsfTranslateService = bbsfTranslateService;
|
|
25
|
-
this.environmentService = environmentService;
|
|
26
|
-
this.ImpersonationRuleService = ImpersonationRuleService;
|
|
27
|
-
this.modalService = modalService;
|
|
28
|
-
this.requestHandlerService = requestHandlerService;
|
|
29
|
-
//Page requirements
|
|
30
|
-
this.ShowPageContent = false;
|
|
31
|
-
this.ApiUrl = "/api/admin/ImpersonationRule/";
|
|
32
|
-
this.ImpersonationForm = new FormGroup({});
|
|
33
|
-
this.ImpersonationPagingResult = [];
|
|
34
|
-
this.clientSidePagingResult = [];
|
|
35
|
-
this.IsFilterLoaded = false;
|
|
36
|
-
//Required lists
|
|
37
|
-
this.PermissionSetList = [];
|
|
38
|
-
this.ParticipantTypeList = [];
|
|
39
|
-
//Add Model Controls
|
|
40
|
-
this.AddImpersonationForm = new FormGroup({});
|
|
41
|
-
this.AddImpersonationFormOptions = new FormOptions;
|
|
42
|
-
this.AddShowSourcePermissionList = false;
|
|
43
|
-
this.AddShowSourceUserAutoComplete = false;
|
|
44
|
-
this.AddShowDestinationPermissionList = false;
|
|
45
|
-
this.AddShowDestinationUserAutoComplete = false;
|
|
46
|
-
//Edit Model Controls
|
|
47
|
-
this.EditImpersonationForm = new FormGroup({});
|
|
48
|
-
this.EditImpersonationFormOptions = new FormOptions;
|
|
49
|
-
this.EditShowSourcePermissionList = false;
|
|
50
|
-
this.EditShowSourceUserAutoComplete = false;
|
|
51
|
-
this.EditShowDestinationPermissionList = false;
|
|
52
|
-
this.EditShowDestinationUserAutoComplete = false;
|
|
53
|
-
this.deleteControlLoaded = false;
|
|
54
|
-
this.getAddImpersonationRuleModel = () => {
|
|
55
|
-
let paramArray = [];
|
|
56
|
-
let ResultModel = this.AddImpersonationForm.value;
|
|
57
|
-
let AddModel = new ImpersonationRuleModel();
|
|
58
|
-
AddModel.SourceParticipantDTO.ParticipantTypeItemID_GUID = ResultModel["SourceParticipantDTO.ParticipantTypeItemID_GUID"];
|
|
59
|
-
AddModel.DestinationParticipantDTO.ParticipantTypeItemID_GUID = ResultModel["DestinationParticipantDTO.ParticipantTypeItemID_GUID"];
|
|
60
|
-
AddModel.ExpiresAt = ResultModel.ExpiresAt;
|
|
61
|
-
AddModel.IsActive = ResultModel.IsActive;
|
|
62
|
-
if (ResultModel["DestinationParticipantDTO.UserID_GUID"])
|
|
63
|
-
AddModel.DestinationParticipantDTO.UserID_GUID = ResultModel["DestinationParticipantDTO.UserID_GUID"].key;
|
|
64
|
-
else
|
|
65
|
-
AddModel.DestinationParticipantDTO.PermissionSetID_GUID = ResultModel["DestinationParticipantDTO.PermissionSetID_GUID"];
|
|
66
|
-
if (ResultModel["SourceParticipantDTO.UserID_GUID"])
|
|
67
|
-
AddModel.SourceParticipantDTO.UserID_GUID = ResultModel["SourceParticipantDTO.UserID_GUID"].key;
|
|
68
|
-
else
|
|
69
|
-
AddModel.SourceParticipantDTO.PermissionSetID_GUID = ResultModel["SourceParticipantDTO.PermissionSetID_GUID"];
|
|
70
|
-
paramArray.push(AddModel);
|
|
71
|
-
return paramArray;
|
|
72
|
-
};
|
|
73
|
-
this.getAddImpersonationRuleFunction = (AddModel) => {
|
|
74
|
-
return this.ImpersonationRuleService.addImpersonationRule(AddModel);
|
|
75
|
-
};
|
|
76
|
-
this.getEditImpersonationRuleModel = () => {
|
|
77
|
-
let paramArray = [];
|
|
78
|
-
let ResultModel = this.EditImpersonationForm.value;
|
|
79
|
-
let EditModel = new ImpersonationRuleModel();
|
|
80
|
-
EditModel.ID_GUID = this.ImpersonationId;
|
|
81
|
-
EditModel.DestinationParticipantDTO.ID_GUID = this.DestinationParticipantId;
|
|
82
|
-
EditModel.SourceParticipantDTO.ID_GUID = this.SourceParticipantId;
|
|
83
|
-
EditModel.SourceParticipantDTO.ParticipantTypeItemID_GUID = ResultModel["SourceParticipantDTO.ParticipantTypeItemID_GUID"];
|
|
84
|
-
EditModel.DestinationParticipantDTO.ParticipantTypeItemID_GUID = ResultModel["DestinationParticipantDTO.ParticipantTypeItemID_GUID"];
|
|
85
|
-
EditModel.ExpiresAt = ResultModel.ExpiresAt;
|
|
86
|
-
EditModel.IsActive = ResultModel.IsActive;
|
|
87
|
-
if (EditModel.DestinationParticipantDTO.ParticipantTypeItemID_GUID == ParticipantType.User)
|
|
88
|
-
EditModel.DestinationParticipantDTO.UserID_GUID = ResultModel["DestinationParticipantDTO.UserID_GUID"].key;
|
|
89
|
-
else
|
|
90
|
-
EditModel.DestinationParticipantDTO.PermissionSetID_GUID = ResultModel["DestinationParticipantDTO.PermissionSetID_GUID"];
|
|
91
|
-
if (EditModel.SourceParticipantDTO.ParticipantTypeItemID_GUID == ParticipantType.User)
|
|
92
|
-
EditModel.SourceParticipantDTO.UserID_GUID = ResultModel["SourceParticipantDTO.UserID_GUID"].key;
|
|
93
|
-
else
|
|
94
|
-
EditModel.SourceParticipantDTO.PermissionSetID_GUID = ResultModel["SourceParticipantDTO.PermissionSetID_GUID"];
|
|
95
|
-
paramArray.push(EditModel);
|
|
96
|
-
return paramArray;
|
|
97
|
-
};
|
|
98
|
-
this.getEditImpersonationRuleFunction = (EditModel) => {
|
|
99
|
-
return this.ImpersonationRuleService.editImpersonationRule(EditModel);
|
|
100
|
-
};
|
|
101
|
-
this.deleteImpersonation = (id) => {
|
|
102
|
-
return this.ImpersonationRuleService.deleteImpersonationRule(id);
|
|
103
|
-
};
|
|
104
|
-
}
|
|
105
|
-
async ngOnInit() {
|
|
106
|
-
this.ShowPageContent = true;
|
|
107
|
-
PageInfoService.PageTitle = this.utilityService.getResourceValue("ImpersonationRules");
|
|
108
|
-
PageInfoService.PageBreadcrumbs = [
|
|
109
|
-
{ title: this.utilityService.getResourceValue("Home"), path: '/Admin/Home', isSeparator: false, isActive: false },
|
|
110
|
-
{ title: '', path: '', isSeparator: true, isActive: false }
|
|
111
|
-
];
|
|
112
|
-
this.pageInfoService.calculateTitle();
|
|
113
|
-
this.pageInfoService.calculateBreadcrumbs();
|
|
114
|
-
this.bbsfTranslateService.onLangChange.subscribe((event) => {
|
|
115
|
-
this.ngOnInit();
|
|
116
|
-
});
|
|
117
|
-
this.initializePage();
|
|
118
|
-
}
|
|
119
|
-
initializePage() {
|
|
120
|
-
// TextBox init
|
|
121
|
-
this.searchTextBox = new TextBoxOptions();
|
|
122
|
-
this.searchTextBox.Name = "searchTextBox";
|
|
123
|
-
this.searchTextBox.HideLabel = true;
|
|
124
|
-
this.searchTextBox.Type = InputType.Text;
|
|
125
|
-
this.searchTextBox.Placeholder = this.utilityService.getResourceValue("SearchBySource");
|
|
126
|
-
this.TextInputFilter = new FilterItem();
|
|
127
|
-
this.TextInputFilter.FormControlName = "searchTextBox";
|
|
128
|
-
this.TextInputFilter.ActionParameterName = "searchText";
|
|
129
|
-
this.TextInputFilter.IsFormControl = true;
|
|
130
|
-
this.TextInputFilter.FilterType = FilterType.TextBox;
|
|
131
|
-
this.ImpersonationPaging = new PagingOptions();
|
|
132
|
-
this.ImpersonationPaging.ActionPostURL = this.ApiUrl + 'GetImpersonationRuleByFilter';
|
|
133
|
-
this.ImpersonationPaging.OnKeyPressFiltersControlNames = ["searchTextBox"];
|
|
134
|
-
this.ImpersonationPaging.Filters = [this.TextInputFilter];
|
|
135
|
-
this.ImpersonationPaging.ValidationToken = this.authService.authorizationHeaderValue();
|
|
136
|
-
this.IsFilterLoaded = true;
|
|
137
|
-
}
|
|
138
|
-
//Paging functions
|
|
139
|
-
setImpersonationListResult(result) {
|
|
140
|
-
this.ImpersonationPagingResult = result;
|
|
141
|
-
this.clientSidePagingResult = result;
|
|
142
|
-
this.ShowPageContent = true;
|
|
143
|
-
this.utilityService.stopBlockUI();
|
|
144
|
-
}
|
|
145
|
-
searchClientSide(searchValue) {
|
|
146
|
-
if (searchValue)
|
|
147
|
-
this.clientSidePagingResult = this.clientSidePagingResult.filter(function (item) {
|
|
148
|
-
var sourceParticipantName = item.sourceParticipantDTO.participantName;
|
|
149
|
-
var destinationParticipantName = item.destinationParticipantDTO.participantName;
|
|
150
|
-
return (sourceParticipantName.english.toLowerCase().includes(searchValue.toLowerCase())
|
|
151
|
-
|| sourceParticipantName.arabic.toLowerCase().includes(searchValue.toLowerCase())
|
|
152
|
-
|| destinationParticipantName.arabic.toLowerCase().includes(searchValue.toLowerCase())
|
|
153
|
-
|| destinationParticipantName.arabic.toLowerCase().includes(searchValue.toLowerCase()));
|
|
154
|
-
});
|
|
155
|
-
else
|
|
156
|
-
this.clientSidePagingResult = this.ImpersonationPagingResult;
|
|
157
|
-
}
|
|
158
|
-
//Add impersonation rule functions
|
|
159
|
-
showAddImpersonationModal(AddImpersonationModal) {
|
|
160
|
-
this.utilityService.startBlockUI();
|
|
161
|
-
this.ImpersonationRuleService.loadAddDropdowns().subscribe((result) => {
|
|
162
|
-
let DropdownLists = result;
|
|
163
|
-
this.PermissionSetList = DropdownLists.permissionList;
|
|
164
|
-
this.ParticipantTypeList = DropdownLists.participantTypeList;
|
|
165
|
-
this.AddImpersonationForm = new FormGroup({});
|
|
166
|
-
this.AddImpersonationFormOptions = new FormOptions();
|
|
167
|
-
this.AddImpersonationFormOptions.FormGroup = this.AddImpersonationForm;
|
|
168
|
-
this.AddImpersonationFormOptions.GetModelFunction = this.getAddImpersonationRuleModel;
|
|
169
|
-
this.AddImpersonationFormOptions.ServiceSubmitFunction = this.getAddImpersonationRuleFunction;
|
|
170
|
-
this.AddImpersonationFormOptions.PagingReference = this.pagingElement;
|
|
171
|
-
this.AddShowDestinationPermissionList = false;
|
|
172
|
-
this.AddShowDestinationUserAutoComplete = false;
|
|
173
|
-
this.AddShowSourcePermissionList = false;
|
|
174
|
-
this.AddShowSourceUserAutoComplete = false;
|
|
175
|
-
this.AddSourceParticipantType = new DropdownOptions();
|
|
176
|
-
this.AddSourceParticipantType.Name = "SourceParticipantDTO.ParticipantTypeItemID_GUID";
|
|
177
|
-
this.AddSourceParticipantType.LabelKey = "SourceParticipantType";
|
|
178
|
-
this.AddSourceParticipantType.SelectedItems = null;
|
|
179
|
-
this.AddSourceParticipantType.DataSource = this.ParticipantTypeList;
|
|
180
|
-
this.AddSourceParticipantType.SingleSelection = true;
|
|
181
|
-
this.AddSourceParticipantType.AllowSearchFilter = true;
|
|
182
|
-
this.AddSourceParticipantType.IsRequired = true;
|
|
183
|
-
this.AddDestinationParticipantType = new DropdownOptions();
|
|
184
|
-
this.AddDestinationParticipantType.Name = "DestinationParticipantDTO.ParticipantTypeItemID_GUID";
|
|
185
|
-
this.AddDestinationParticipantType.LabelKey = "DestinationParticipantType";
|
|
186
|
-
this.AddDestinationParticipantType.SelectedItems = null;
|
|
187
|
-
this.AddDestinationParticipantType.DataSource = this.ParticipantTypeList;
|
|
188
|
-
this.AddDestinationParticipantType.SingleSelection = true;
|
|
189
|
-
this.AddDestinationParticipantType.AllowSearchFilter = true;
|
|
190
|
-
this.AddDestinationParticipantType.IsRequired = true;
|
|
191
|
-
this.AddSourcePermissionSetList = new DropdownOptions();
|
|
192
|
-
this.AddSourcePermissionSetList.Name = "SourceParticipantDTO.PermissionSetID_GUID";
|
|
193
|
-
this.AddSourcePermissionSetList.LabelKey = "SourcePermissionSetList";
|
|
194
|
-
this.AddSourcePermissionSetList.SelectedItems = null;
|
|
195
|
-
this.AddSourcePermissionSetList.DataSource = this.PermissionSetList;
|
|
196
|
-
this.AddSourcePermissionSetList.SingleSelection = true;
|
|
197
|
-
this.AddSourcePermissionSetList.AllowSearchFilter = true;
|
|
198
|
-
this.AddSourcePermissionSetList.IsRequired = true;
|
|
199
|
-
this.AddDestinationPermissionSetList = new DropdownOptions();
|
|
200
|
-
this.AddDestinationPermissionSetList.Name = "DestinationParticipantDTO.PermissionSetID_GUID";
|
|
201
|
-
this.AddDestinationPermissionSetList.LabelValue = "DestinationPermissionSetList";
|
|
202
|
-
this.AddDestinationPermissionSetList.LabelKey = "DestinationPermissionSetList";
|
|
203
|
-
this.AddDestinationPermissionSetList.SelectedItems = null;
|
|
204
|
-
this.AddDestinationPermissionSetList.DataSource = this.PermissionSetList;
|
|
205
|
-
this.AddDestinationPermissionSetList.SingleSelection = true;
|
|
206
|
-
this.AddDestinationPermissionSetList.AllowSearchFilter = true;
|
|
207
|
-
this.AddDestinationPermissionSetList.IsRequired = true;
|
|
208
|
-
this.AddSourceUserAutoComplete = new AutocompleteOptions();
|
|
209
|
-
this.AddSourceUserAutoComplete.Name = "SourceParticipantDTO.UserID_GUID";
|
|
210
|
-
this.AddSourceUserAutoComplete.LabelKey = "User";
|
|
211
|
-
this.AddSourceUserAutoComplete.Type = InputType.Text;
|
|
212
|
-
this.AddSourceUserAutoComplete.IsRequired = true;
|
|
213
|
-
this.AddSourceUserAutoComplete.Value = null;
|
|
214
|
-
this.AddSourceUserAutoComplete.ForceDirection = ForceDirection.English;
|
|
215
|
-
this.AddSourceUserAutoComplete.ActionURL = this.ApiUrl + "AutoCompleteUser";
|
|
216
|
-
this.AddSourceUserAutoComplete.ValidationToken = this.authService.authorizationHeaderValue();
|
|
217
|
-
this.AddDestinationUserAutoComplete = new AutocompleteOptions();
|
|
218
|
-
this.AddDestinationUserAutoComplete.Name = "DestinationParticipantDTO.UserID_GUID";
|
|
219
|
-
this.AddDestinationUserAutoComplete.LabelKey = "User";
|
|
220
|
-
this.AddDestinationUserAutoComplete.Type = InputType.Text;
|
|
221
|
-
this.AddDestinationUserAutoComplete.IsRequired = true;
|
|
222
|
-
this.AddDestinationUserAutoComplete.Value = null;
|
|
223
|
-
this.AddDestinationUserAutoComplete.ActionURL = this.ApiUrl + "AutoCompleteUser";
|
|
224
|
-
this.AddDestinationUserAutoComplete.ValidationToken = this.authService.authorizationHeaderValue();
|
|
225
|
-
this.AddIsActive = new CheckBoxOptions();
|
|
226
|
-
this.AddIsActive.Name = "IsActive";
|
|
227
|
-
this.AddIsActive.LabelKey = "Active";
|
|
228
|
-
this.AddIsActive.Value = true;
|
|
229
|
-
this.AddExpiresAt = new DatePickerOptions();
|
|
230
|
-
this.AddExpiresAt.Name = "ExpiresAt";
|
|
231
|
-
this.AddExpiresAt.LabelKey = "ExpiresAt";
|
|
232
|
-
this.AddExpiresAt.IsRequired = true;
|
|
233
|
-
this.AddExpiresAt.StartView = StartView.Month;
|
|
234
|
-
this.AddExpiresAt.PickerType = PickerType.Calendar;
|
|
235
|
-
this.AddExpiresAt.SelectMode = SelectMode.Single;
|
|
236
|
-
this.AddExpiresAt.StartDate = new Date();
|
|
237
|
-
this.modalService.open(AddImpersonationModal);
|
|
238
|
-
this.utilityService.stopBlockUI();
|
|
239
|
-
});
|
|
240
|
-
}
|
|
241
|
-
addDestinationParticipantOnChange(key) {
|
|
242
|
-
key = key?.toLowerCase();
|
|
243
|
-
switch (key) {
|
|
244
|
-
case ParticipantType.PermissionSet:
|
|
245
|
-
this.AddShowDestinationPermissionList = true;
|
|
246
|
-
this.AddShowDestinationUserAutoComplete = false;
|
|
247
|
-
break;
|
|
248
|
-
case ParticipantType.User:
|
|
249
|
-
this.AddShowDestinationPermissionList = false;
|
|
250
|
-
this.AddShowDestinationUserAutoComplete = true;
|
|
251
|
-
break;
|
|
252
|
-
default:
|
|
253
|
-
break;
|
|
254
|
-
}
|
|
255
|
-
}
|
|
256
|
-
addSourceParticipantOnChange(key) {
|
|
257
|
-
key = key?.toLowerCase();
|
|
258
|
-
switch (key) {
|
|
259
|
-
case ParticipantType.PermissionSet:
|
|
260
|
-
this.AddShowSourcePermissionList = true;
|
|
261
|
-
this.AddShowSourceUserAutoComplete = false;
|
|
262
|
-
break;
|
|
263
|
-
case ParticipantType.User:
|
|
264
|
-
this.AddShowSourcePermissionList = false;
|
|
265
|
-
this.AddShowSourceUserAutoComplete = true;
|
|
266
|
-
break;
|
|
267
|
-
default:
|
|
268
|
-
break;
|
|
269
|
-
}
|
|
270
|
-
}
|
|
271
|
-
//Edit impersonation rule functions
|
|
272
|
-
showEditImpersonationModal(impersonationID, editImpersonationModal) {
|
|
273
|
-
this.ImpersonationId = impersonationID;
|
|
274
|
-
this.ImpersonationRuleService.getEditImpersonationRule(this.ImpersonationId).subscribe((result) => {
|
|
275
|
-
let resultObj = result;
|
|
276
|
-
let impersonation = resultObj.model;
|
|
277
|
-
let lists = resultObj.lists;
|
|
278
|
-
this.PermissionSetList = lists.permissionList;
|
|
279
|
-
this.ParticipantTypeList = lists.participantTypeList;
|
|
280
|
-
this.EditImpersonationForm = new FormGroup({});
|
|
281
|
-
this.EditImpersonationFormOptions = new FormOptions();
|
|
282
|
-
this.EditImpersonationFormOptions.FormGroup = this.EditImpersonationForm;
|
|
283
|
-
this.EditImpersonationFormOptions.GetModelFunction = this.getEditImpersonationRuleModel;
|
|
284
|
-
this.EditImpersonationFormOptions.ServiceSubmitFunction = this.getEditImpersonationRuleFunction;
|
|
285
|
-
this.EditImpersonationFormOptions.PagingReference = this.pagingElement;
|
|
286
|
-
this.EditImpersonationFormOptions.PagingActionMode = PagingActionMode.Update;
|
|
287
|
-
this.EditShowDestinationPermissionList = false;
|
|
288
|
-
this.EditShowDestinationUserAutoComplete = false;
|
|
289
|
-
this.EditShowSourcePermissionList = false;
|
|
290
|
-
this.EditShowSourceUserAutoComplete = false;
|
|
291
|
-
if (impersonation.sourceParticipantDTO.participantTypeItemID_GUID != null && impersonation.destinationParticipantDTO.participantTypeItemID_GUID) {
|
|
292
|
-
this.editDestinationParticipantOnChange(impersonation.destinationParticipantDTO.participantTypeItemID_GUID);
|
|
293
|
-
this.editSourceParticipantOnChange(impersonation.sourceParticipantDTO.participantTypeItemID_GUID);
|
|
294
|
-
}
|
|
295
|
-
this.utilityService.startBlockUI();
|
|
296
|
-
this.SourceParticipantId = impersonation.sourceParticipantDTO.iD_GUID;
|
|
297
|
-
this.DestinationParticipantId = impersonation.destinationParticipantDTO.iD_GUID;
|
|
298
|
-
this.EditSourceParticipantType = new DropdownOptions();
|
|
299
|
-
this.EditSourceParticipantType.Name = "SourceParticipantDTO.ParticipantTypeItemID_GUID";
|
|
300
|
-
this.EditSourceParticipantType.LabelKey = "SourceParticipantType";
|
|
301
|
-
this.EditSourceParticipantType.SelectedItems = impersonation.sourceParticipantDTO.participantTypeItemID_GUID?.toLowerCase();
|
|
302
|
-
this.EditSourceParticipantType.DataSource = this.ParticipantTypeList;
|
|
303
|
-
this.EditSourceParticipantType.SingleSelection = true;
|
|
304
|
-
this.EditSourceParticipantType.AllowSearchFilter = true;
|
|
305
|
-
this.EditSourceParticipantType.IsRequired = true;
|
|
306
|
-
this.EditDestinationParticipantType = new DropdownOptions();
|
|
307
|
-
this.EditDestinationParticipantType.Name = "DestinationParticipantDTO.ParticipantTypeItemID_GUID";
|
|
308
|
-
this.EditDestinationParticipantType.LabelKey = "DestinationParticipantType";
|
|
309
|
-
this.EditDestinationParticipantType.SelectedItems = impersonation.destinationParticipantDTO.participantTypeItemID_GUID?.toLowerCase();
|
|
310
|
-
this.EditDestinationParticipantType.DataSource = this.ParticipantTypeList;
|
|
311
|
-
this.EditDestinationParticipantType.SingleSelection = true;
|
|
312
|
-
this.EditDestinationParticipantType.AllowSearchFilter = true;
|
|
313
|
-
this.EditDestinationParticipantType.IsRequired = true;
|
|
314
|
-
let sourcePermissionSetSelectedItem;
|
|
315
|
-
let sourceUserModel = new AutocompleteDTO();
|
|
316
|
-
if (impersonation.sourceParticipantDTO.participantTypeItemID_GUID?.toLowerCase() == ParticipantType.User) {
|
|
317
|
-
sourceUserModel.key = impersonation.sourceParticipantDTO.userID_GUID;
|
|
318
|
-
sourceUserModel.value = impersonation.sourceParticipantDTO.participantNameStr;
|
|
319
|
-
}
|
|
320
|
-
else {
|
|
321
|
-
sourcePermissionSetSelectedItem = impersonation.sourceParticipantDTO.permissionSetID_GUID?.toLowerCase();
|
|
322
|
-
}
|
|
323
|
-
this.EditSourcePermissionSetList = new DropdownOptions();
|
|
324
|
-
this.EditSourcePermissionSetList.Name = "SourceParticipantDTO.PermissionSetID_GUID";
|
|
325
|
-
this.EditSourcePermissionSetList.LabelKey = "SourcePermissionSetList";
|
|
326
|
-
this.EditSourcePermissionSetList.SelectedItems = sourcePermissionSetSelectedItem;
|
|
327
|
-
this.EditSourcePermissionSetList.DataSource = this.PermissionSetList;
|
|
328
|
-
this.EditSourcePermissionSetList.SingleSelection = true;
|
|
329
|
-
this.EditSourcePermissionSetList.AllowSearchFilter = true;
|
|
330
|
-
this.EditSourcePermissionSetList.IsRequired = true;
|
|
331
|
-
this.EditSourceUserAutoComplete = new AutocompleteOptions();
|
|
332
|
-
this.EditSourceUserAutoComplete.Name = "SourceParticipantDTO.UserID_GUID";
|
|
333
|
-
this.EditSourceUserAutoComplete.LabelKey = "User";
|
|
334
|
-
this.EditSourceUserAutoComplete.Type = InputType.Text;
|
|
335
|
-
this.EditSourceUserAutoComplete.IsRequired = true;
|
|
336
|
-
this.EditSourceUserAutoComplete.SelectedValue = sourceUserModel;
|
|
337
|
-
this.EditSourceUserAutoComplete.ActionURL = this.ApiUrl + "AutoCompleteUser";
|
|
338
|
-
this.EditSourceUserAutoComplete.ValidationToken = this.authService.authorizationHeaderValue();
|
|
339
|
-
let destinationPermissionSetSelectedItem;
|
|
340
|
-
let destinationUserModel = new AutocompleteDTO();
|
|
341
|
-
if (impersonation.destinationParticipantDTO.participantTypeItemID_GUID == ParticipantType.User) {
|
|
342
|
-
destinationUserModel.key = impersonation.destinationParticipantDTO.userID_GUID;
|
|
343
|
-
destinationUserModel.value = impersonation.destinationParticipantDTO.participantNameStr;
|
|
344
|
-
}
|
|
345
|
-
else {
|
|
346
|
-
destinationPermissionSetSelectedItem = impersonation.destinationParticipantDTO.permissionSetID_GUID?.toLowerCase();
|
|
347
|
-
}
|
|
348
|
-
this.EditDestinationPermissionSetList = new DropdownOptions();
|
|
349
|
-
this.EditDestinationPermissionSetList.Name = "DestinationParticipantDTO.PermissionSetID_GUID";
|
|
350
|
-
this.EditDestinationPermissionSetList.LabelKey = "DestinationPermissionSetList";
|
|
351
|
-
this.EditDestinationPermissionSetList.SelectedItems = destinationPermissionSetSelectedItem;
|
|
352
|
-
this.EditDestinationPermissionSetList.DataSource = this.PermissionSetList;
|
|
353
|
-
this.EditDestinationPermissionSetList.SingleSelection = true;
|
|
354
|
-
this.EditDestinationPermissionSetList.AllowSearchFilter = true;
|
|
355
|
-
this.EditDestinationPermissionSetList.IsRequired = true;
|
|
356
|
-
this.EditDestinationUserAutoComplete = new AutocompleteOptions();
|
|
357
|
-
this.EditDestinationUserAutoComplete.Name = "DestinationParticipantDTO.UserID_GUID";
|
|
358
|
-
this.EditDestinationUserAutoComplete.LabelKey = "User";
|
|
359
|
-
this.EditDestinationUserAutoComplete.Type = InputType.Text;
|
|
360
|
-
this.EditDestinationUserAutoComplete.IsRequired = true;
|
|
361
|
-
this.EditDestinationUserAutoComplete.SelectedValue = destinationUserModel;
|
|
362
|
-
this.EditDestinationUserAutoComplete.ActionURL = this.ApiUrl + "AutoCompleteUser";
|
|
363
|
-
this.EditDestinationUserAutoComplete.ValidationToken = this.authService.authorizationHeaderValue();
|
|
364
|
-
this.EditIsActive = new CheckBoxOptions();
|
|
365
|
-
this.EditIsActive.Name = "IsActive";
|
|
366
|
-
this.EditIsActive.LabelKey = "Active";
|
|
367
|
-
this.EditIsActive.Value = impersonation.isActive;
|
|
368
|
-
this.EditExpiresAt = new DatePickerOptions();
|
|
369
|
-
this.EditExpiresAt.Name = "ExpiresAt";
|
|
370
|
-
this.EditExpiresAt.LabelKey = "ExpiresAt";
|
|
371
|
-
this.EditExpiresAt.IsRequired = true;
|
|
372
|
-
this.EditExpiresAt.Value = impersonation.expiresAt;
|
|
373
|
-
this.EditExpiresAt.StartView = StartView.Month;
|
|
374
|
-
this.EditExpiresAt.PickerType = PickerType.Calendar;
|
|
375
|
-
this.EditExpiresAt.SelectMode = SelectMode.Single;
|
|
376
|
-
this.EditExpiresAt.StartDate = new Date();
|
|
377
|
-
this.modalService.open(editImpersonationModal);
|
|
378
|
-
this.utilityService.stopBlockUI();
|
|
379
|
-
});
|
|
380
|
-
}
|
|
381
|
-
editDestinationParticipantOnChange(key) {
|
|
382
|
-
key = key?.toLowerCase();
|
|
383
|
-
switch (key) {
|
|
384
|
-
case ParticipantType.PermissionSet:
|
|
385
|
-
this.EditShowDestinationPermissionList = true;
|
|
386
|
-
this.EditShowDestinationUserAutoComplete = false;
|
|
387
|
-
break;
|
|
388
|
-
case ParticipantType.User:
|
|
389
|
-
this.EditShowDestinationPermissionList = false;
|
|
390
|
-
this.EditShowDestinationUserAutoComplete = true;
|
|
391
|
-
break;
|
|
392
|
-
default:
|
|
393
|
-
break;
|
|
394
|
-
}
|
|
395
|
-
}
|
|
396
|
-
editSourceParticipantOnChange(key) {
|
|
397
|
-
key = key?.toLowerCase();
|
|
398
|
-
switch (key) {
|
|
399
|
-
case ParticipantType.PermissionSet:
|
|
400
|
-
this.EditShowSourcePermissionList = true;
|
|
401
|
-
this.EditShowSourceUserAutoComplete = false;
|
|
402
|
-
break;
|
|
403
|
-
case ParticipantType.User:
|
|
404
|
-
this.EditShowSourcePermissionList = false;
|
|
405
|
-
this.EditShowSourceUserAutoComplete = true;
|
|
406
|
-
break;
|
|
407
|
-
default:
|
|
408
|
-
break;
|
|
409
|
-
}
|
|
410
|
-
}
|
|
411
|
-
//Delete ImpersonationRule
|
|
412
|
-
showDeleteImpersonationModal(impersonationRuleID) {
|
|
413
|
-
this.deleteImpersonationRuleId = impersonationRuleID;
|
|
414
|
-
//array sent to service function
|
|
415
|
-
let paramArray = [];
|
|
416
|
-
paramArray.push(this.deleteImpersonationRuleId);
|
|
417
|
-
this.DeleteConfirmationOptions = new ConfirmationModalOptions();
|
|
418
|
-
this.DeleteConfirmationOptions.ServiceSubmitFunction = this.deleteImpersonation;
|
|
419
|
-
this.DeleteConfirmationOptions.ServiceSubmitModel = paramArray;
|
|
420
|
-
this.DeleteConfirmationOptions.PagingReference = this.pagingElement;
|
|
421
|
-
this.deleteControlLoaded = true;
|
|
422
|
-
setTimeout(() => {
|
|
423
|
-
this.ConfirmationModalControl.showModal();
|
|
424
|
-
}, 200);
|
|
425
|
-
}
|
|
426
|
-
//On destroy
|
|
427
|
-
ngOnDestroy() {
|
|
428
|
-
this.requestHandlerService.destroyHandler();
|
|
429
|
-
}
|
|
430
|
-
}
|
|
431
|
-
ImpersonationRulesComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: ImpersonationRulesComponent, deps: [{ token: i1.AuthService }, { token: i2.PageInfoService }, { token: i1.UtilityService }, { token: i1.BBSFTranslateService }, { token: i1.EnvironmentService }, { token: i3.ImpersonationRuleService }, { token: i4.NgbModal }, { token: i1.RequestHandlerService }], target: i0.ɵɵFactoryTarget.Component });
|
|
432
|
-
ImpersonationRulesComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.10", type: ImpersonationRulesComponent, selector: "lib-impersonation-rules", viewQueries: [{ propertyName: "pagingElement", first: true, predicate: ["ImpersonationPagingViewElement"], descendants: true }, { propertyName: "ConfirmationModalControl", first: true, predicate: ["ConfirmationModalControl"], descendants: true }], ngImport: i0, template: "<block-ui></block-ui>\r\n<!-- Page Content -->\r\n<div *ngIf=\"ShowPageContent\" class=\"container-fluid\">\r\n <div class=\"card card-custom-h\">\r\n <div class=\"card-header border-0 pt-5\">\r\n <div class=\"card-title align-items-start flex-column\" *ngIf=\"IsFilterLoaded\">\r\n <form [formGroup]=\"ImpersonationForm\">\r\n <!--(OnChange)=\"searchClientSide($event)\" -->\r\n <BBSF-TextBox [options]=\"searchTextBox\" [group]=\"ImpersonationForm\"></BBSF-TextBox>\r\n </form>\r\n </div>\r\n <div class=\"card-toolbar\">\r\n <!-- begin::Menu -->\r\n <button type=\"button\" class=\"btn btn-sm btn-primary\" title=\"Add\" (click)=\"showAddImpersonationModal(AddImpersonationModal)\">\r\n <i class=\"fas fa-plus me-1\"></i>\r\n {{utilityService.getResourceValue(\"Add\")}}\r\n </button>\r\n\r\n <!-- end::Menu -->\r\n </div>\r\n </div>\r\n <div class=\"card-body py-3\">\r\n <div class=\"table-responsive\">\r\n <!--begin::Permission list-->\r\n <table class=\"table align-middle table-row-dashed fs-6 gy-5 dataTable no-footer\">\r\n <thead>\r\n <tr class=\"text-start text-gray-400 fw-bolder fs-7 text-uppercase gs-0\">\r\n\r\n <th class=\"min-w-150px\"> [{{utilityService.getResourceValue(\"ParticipantType\")}}] {{utilityService.getResourceValue(\"Source\")}}</th>\r\n <th class=\"min-w-150px\"> [{{utilityService.getResourceValue(\"ParticipantType\")}}] {{utilityService.getResourceValue(\"Destination\")}}</th>\r\n <th class=\"min-w-150px\">{{utilityService.getResourceValue(\"ExpiresAt\")}}</th>\r\n <th class=\"min-w-150px\">{{utilityService.getResourceValue(\"Active\")}}</th>\r\n <th class=\"min-w-50px\">{{utilityService.getResourceValue(\"Action\")}}</th>\r\n </tr>\r\n </thead>\r\n <tbody id=\"listingContainer\" class=\"fw-bold text-gray-600 border-0\">\r\n\r\n <tr *ngFor=\"let Impersonation of clientSidePagingResult\">\r\n\r\n <td>\r\n <span class=\"text-dark\">\r\n [{{Impersonation.sourceParticipantDTO.participantTypeItemNameStr}}] {{Impersonation.sourceParticipantDTO.participantNameStr}}\r\n </span>\r\n\r\n </td>\r\n <td> [{{Impersonation.destinationParticipantDTO.participantTypeItemNameStr}}] {{Impersonation.destinationParticipantDTO.participantNameStr}}</td>\r\n\r\n <td>{{Impersonation.expiresAt}}</td>\r\n <td>{{Impersonation.isActive}}</td>\r\n\r\n <td>\r\n\r\n <div>\r\n <button mat-button [matMenuTriggerFor]=\"menu\" class=\"btn btn-sm btn-icon btn-light btn-active-light-primary\">\r\n <i class=\"fa fa-ellipsis-h\" aria-hidden=\"true\"></i>\r\n </button>\r\n <mat-menu #menu=\"matMenu\">\r\n <a class=\"drop-item px-3\" ngbDropdownItem\r\n (click)=\"showEditImpersonationModal(Impersonation.iD_GUID,EditImpersonationModal)\">\r\n <span class=\"drop-link px-3\">{{utilityService.getResourceValue(\"Edit\")}}</span>\r\n </a>\r\n <a ngbDropdownItem class=\"drop-item px-3\"\r\n (click)=\"showDeleteImpersonationModal(Impersonation.iD_GUID)\">\r\n <span class=\"drop-link px-3\">{{utilityService.getResourceValue(\"Delete\")}}</span>\r\n </a>\r\n </mat-menu>\r\n </div>\r\n </td>\r\n </tr>\r\n <tr *ngIf=\"clientSidePagingResult.length == 0\">\r\n <td colspan=\"5\">\r\n <lib-empty-data></lib-empty-data>\r\n </td>\r\n </tr>\r\n </tbody>\r\n </table>\r\n\r\n <!--end::Permission list-->\r\n </div>\r\n\r\n </div>\r\n <div class=\"card-footer border-0\">\r\n <BBSF-Paging (Items)=\"setImpersonationListResult($event)\" *ngIf=\"IsFilterLoaded\"\r\n [options]=\"ImpersonationPaging\" [group]=\"ImpersonationForm\" #ImpersonationPagingViewElement>\r\n </BBSF-Paging>\r\n </div>\r\n </div>\r\n\r\n</div>\r\n<!-- Add Modal -->\r\n<ng-template #AddImpersonationModal let-modal>\r\n <div class=\"modal-header pb-0 border-0 justify-content-end\">\r\n <h5 class=\"modal-title\" id=\"exampleModalLabel\"></h5>\r\n <button type=\"button\" data-dismiss=\"modal\" aria-label=\"Close\" class=\"btn btn-sm btn-icon btn-active-color-primary\" (click)=\"modal.dismiss()\">\r\n <span class=\"svg-icon svg-icon-1\">\r\n <span [inlineSVG]=\"'./src/assets/images/arr061.svg'\"></span>\r\n </span>\r\n </button>\r\n </div>\r\n <div class=\"modal-body scroll-y px-10 px-lg-15 pt-0 pb-15\">\r\n <div class=\"mb-13 text-center\">\r\n <h1 class=\"mb-3\">{{utilityService.getResourceValue(\"Add\")}} {{utilityService.getResourceValue(\"ImpersonationRule\")}}</h1>\r\n </div>\r\n\r\n <BBSF-Form [options]=\"AddImpersonationFormOptions\">\r\n\r\n <div class=\"row\">\r\n <div class=\"col-md-12\">\r\n <BBSF-DropdownList [options]=\"AddSourceParticipantType\" (OnChange)=\"addSourceParticipantOnChange($event)\" [group]=\"AddImpersonationForm\">\r\n </BBSF-DropdownList>\r\n </div>\r\n <div class=\"col-md-12\">\r\n <BBSF-DropdownList [options]=\"AddSourcePermissionSetList\" *ngIf=\"AddShowSourcePermissionList\" [group]=\"AddImpersonationForm\">\r\n </BBSF-DropdownList>\r\n </div>\r\n <div class=\"col-md-12\">\r\n <BBSF-AutocompleteTextBox [options]=\"AddSourceUserAutoComplete\" *ngIf=\"AddShowSourceUserAutoComplete\" [group]=\"AddImpersonationForm\">\r\n </BBSF-AutocompleteTextBox>\r\n </div>\r\n </div>\r\n\r\n <div class=\"row\">\r\n <div class=\"col-md-12\">\r\n <BBSF-DropdownList [options]=\"AddDestinationParticipantType\" (OnChange)=\"addDestinationParticipantOnChange($event)\" [group]=\"AddImpersonationForm\">\r\n </BBSF-DropdownList>\r\n </div>\r\n <div class=\"col-md-12\">\r\n <BBSF-DropdownList [options]=\"AddDestinationPermissionSetList\" *ngIf=\"AddShowDestinationPermissionList\" [group]=\"AddImpersonationForm\">\r\n </BBSF-DropdownList>\r\n </div>\r\n <div class=\"col-md-12\">\r\n <BBSF-AutocompleteTextBox [options]=\"AddDestinationUserAutoComplete\" *ngIf=\"AddShowDestinationUserAutoComplete\" [group]=\"AddImpersonationForm\">\r\n </BBSF-AutocompleteTextBox>\r\n </div>\r\n </div>\r\n <div class=\"row\">\r\n <div class=\"col-md-12\">\r\n <BBSF-CheckBox [options]=\"AddIsActive\" [group]=\"AddImpersonationForm\">\r\n </BBSF-CheckBox>\r\n </div>\r\n </div>\r\n\r\n <div class=\"row\">\r\n <div class=\"col-md-12\">\r\n <BBSF-DateTimePicker [options]=\"AddExpiresAt\" [group]=\"AddImpersonationForm\">\r\n\r\n </BBSF-DateTimePicker>\r\n </div>\r\n </div>\r\n <div class=\"text-center pt-7\">\r\n <button CloseImpersonationModal id=\"CloseImpersonationModal\" type=\"button\" class=\"btn btn-light me-3 btn-sm\"\r\n (click)=\"modal.dismiss()\">\r\n {{utilityService.getResourceValue(\"CancelLabel\")}}\r\n </button>\r\n <button type=\"submit\" class=\"btn btn-primary btn-sm\">{{utilityService.getResourceValue(\"SaveLabel\")}}</button>\r\n </div>\r\n </BBSF-Form>\r\n </div>\r\n</ng-template>\r\n\r\n<!--Edit Modal-->\r\n<ng-template #EditImpersonationModal let-modal>\r\n <div class=\"modal-header pb-0 border-0 justify-content-end\">\r\n <h5 class=\"modal-title\" id=\"exampleModalLabel\"></h5>\r\n <button type=\"button\" data-dismiss=\"modal\" aria-label=\"Close\" class=\"btn btn-sm btn-icon btn-active-color-primary\" (click)=\"modal.dismiss()\">\r\n <span class=\"svg-icon svg-icon-1\">\r\n <span [inlineSVG]=\"'./src/assets/images/arr061.svg'\"></span>\r\n </span>\r\n </button>\r\n </div>\r\n <div class=\"modal-body scroll-y px-10 px-lg-15 pt-0 pb-15\">\r\n <div class=\"mb-13 text-center\">\r\n <h1 class=\"mb-3\">{{utilityService.getResourceValue(\"Edit\")}} {{utilityService.getResourceValue(\"ImpersonationRule\")}}</h1>\r\n </div>\r\n <BBSF-Form [options]=\"EditImpersonationFormOptions\">\r\n <div class=\"row\">\r\n <div class=\"col-md-12\">\r\n <BBSF-DropdownList [options]=\"EditSourceParticipantType\" (OnChange)=\"editSourceParticipantOnChange($event)\" [group]=\"EditImpersonationForm\">\r\n </BBSF-DropdownList>\r\n </div>\r\n <div class=\"col-md-12\">\r\n <BBSF-DropdownList [options]=\"EditSourcePermissionSetList\" *ngIf=\"EditShowSourcePermissionList\" [group]=\"EditImpersonationForm\">\r\n </BBSF-DropdownList>\r\n </div>\r\n <div class=\"col-md-12\">\r\n <BBSF-AutocompleteTextBox [options]=\"EditSourceUserAutoComplete\" *ngIf=\"EditShowSourceUserAutoComplete\" [group]=\"EditImpersonationForm\">\r\n </BBSF-AutocompleteTextBox>\r\n </div>\r\n </div>\r\n <div class=\"row\">\r\n <div class=\"col-md-12\">\r\n <BBSF-DropdownList [options]=\"EditDestinationParticipantType\" (OnChange)=\"editDestinationParticipantOnChange($event)\" [group]=\"EditImpersonationForm\">\r\n </BBSF-DropdownList>\r\n </div>\r\n <div class=\"col-md-12\">\r\n <BBSF-DropdownList [options]=\"EditDestinationPermissionSetList\" *ngIf=\"EditShowDestinationPermissionList\" [group]=\"EditImpersonationForm\">\r\n </BBSF-DropdownList>\r\n </div>\r\n <div class=\"col-md-12\">\r\n <BBSF-AutocompleteTextBox [options]=\"EditDestinationUserAutoComplete\" *ngIf=\"EditShowDestinationUserAutoComplete\" [group]=\"EditImpersonationForm\">\r\n </BBSF-AutocompleteTextBox>\r\n </div>\r\n </div>\r\n <div class=\"row\">\r\n <div class=\"col-md-12\">\r\n <BBSF-CheckBox [options]=\"EditIsActive\" [group]=\"EditImpersonationForm\">\r\n </BBSF-CheckBox>\r\n </div>\r\n </div>\r\n\r\n <div class=\"row\">\r\n <div class=\"col-md-12\">\r\n <BBSF-DateTimePicker [options]=\"EditExpiresAt\" [group]=\"EditImpersonationForm\">\r\n\r\n </BBSF-DateTimePicker>\r\n </div>\r\n </div>\r\n <div class=\"text-center pt-7\">\r\n <button #CloseEditImpersonationModal id=\"CloseEditImpersonationModal\" type=\"button\"\r\n class=\"btn btn-light btn-sm me-3\" data-dismiss=\"modal\" (click)=\"modal.dismiss()\">\r\n {{utilityService.getResourceValue(\"CancelLabel\")}}\r\n </button>\r\n <button type=\"submit\" class=\"btn btn-primary btn-sm\">{{utilityService.getResourceValue(\"SaveLabel\")}}</button>\r\n </div>\r\n </BBSF-Form>\r\n </div>\r\n</ng-template>\r\n\r\n\r\n<!--delete Modal-->\r\n<BBSF-ConfirmationModal *ngIf=\"deleteControlLoaded\" [options]=\"DeleteConfirmationOptions\" id=\"ConfirmationModalControl\" #ConfirmationModalControl></BBSF-ConfirmationModal>\r\n\r\n", dependencies: [{ kind: "directive", type: i5.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i5.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i6.ɵNgNoValidate, selector: "form:not([ngNoForm]):not([ngNativeValidate])" }, { kind: "directive", type: i6.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i6.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "component", type: i7.BlockUIComponent, selector: "block-ui", inputs: ["name", "template", "message", "delayStart", "delayStop"] }, { kind: "component", type: i8.DateInputComponent, selector: "BBSF-DateTimePicker", inputs: ["group", "options"], outputs: ["OnChange"] }, { kind: "component", type: i8.TextboxComponent, selector: "BBSF-TextBox", inputs: ["group", "options"], outputs: ["OnChange", "OnBlur"] }, { kind: "component", type: i8.CheckBoxComponent, selector: "BBSF-CheckBox", inputs: ["group", "options"], outputs: ["OnChange"] }, { kind: "component", type: i8.DropdownListComponent, selector: "BBSF-DropdownList", inputs: ["group", "options"], outputs: ["OnChange", "onClear"] }, { kind: "component", type: i8.AutocompleteTextBoxComponent, selector: "BBSF-AutocompleteTextBox", inputs: ["group", "options"], outputs: ["OnChange"] }, { kind: "component", type: i8.PagingComponent, selector: "BBSF-Paging", inputs: ["options", "group"], outputs: ["Items"] }, { kind: "component", type: i8.FormComponent, selector: "BBSF-Form", inputs: ["options"], outputs: ["OnChange"] }, { kind: "component", type: i8.ConfirmationModalComponent, selector: "BBSF-ConfirmationModal", inputs: ["options"] }, { kind: "directive", type: i4.NgbDropdownItem, selector: "[ngbDropdownItem]", inputs: ["disabled"] }, { kind: "component", type: i9.MatMenu, selector: "mat-menu", exportAs: ["matMenu"] }, { kind: "directive", type: i9.MatMenuTrigger, selector: "[mat-menu-trigger-for], [matMenuTriggerFor]", exportAs: ["matMenuTrigger"] }, { kind: "directive", type: i10.InlineSVGDirective, selector: "[inlineSVG]", inputs: ["resolveSVGUrl", "replaceContents", "prepend", "injectComponent", "cacheSVG", "forceEvalStyles", "evalScripts", "inlineSVG", "setSVGAttributes", "removeSVGAttributes", "fallbackImgUrl", "onSVGLoaded"], outputs: ["onSVGInserted", "onSVGFailed"] }, { kind: "component", type: i11.EmptyDataComponent, selector: "lib-empty-data", inputs: ["Message", "ShowImage", "ImgURL"] }] });
|
|
433
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: ImpersonationRulesComponent, decorators: [{
|
|
434
|
-
type: Component,
|
|
435
|
-
args: [{ selector: 'lib-impersonation-rules', template: "<block-ui></block-ui>\r\n<!-- Page Content -->\r\n<div *ngIf=\"ShowPageContent\" class=\"container-fluid\">\r\n <div class=\"card card-custom-h\">\r\n <div class=\"card-header border-0 pt-5\">\r\n <div class=\"card-title align-items-start flex-column\" *ngIf=\"IsFilterLoaded\">\r\n <form [formGroup]=\"ImpersonationForm\">\r\n <!--(OnChange)=\"searchClientSide($event)\" -->\r\n <BBSF-TextBox [options]=\"searchTextBox\" [group]=\"ImpersonationForm\"></BBSF-TextBox>\r\n </form>\r\n </div>\r\n <div class=\"card-toolbar\">\r\n <!-- begin::Menu -->\r\n <button type=\"button\" class=\"btn btn-sm btn-primary\" title=\"Add\" (click)=\"showAddImpersonationModal(AddImpersonationModal)\">\r\n <i class=\"fas fa-plus me-1\"></i>\r\n {{utilityService.getResourceValue(\"Add\")}}\r\n </button>\r\n\r\n <!-- end::Menu -->\r\n </div>\r\n </div>\r\n <div class=\"card-body py-3\">\r\n <div class=\"table-responsive\">\r\n <!--begin::Permission list-->\r\n <table class=\"table align-middle table-row-dashed fs-6 gy-5 dataTable no-footer\">\r\n <thead>\r\n <tr class=\"text-start text-gray-400 fw-bolder fs-7 text-uppercase gs-0\">\r\n\r\n <th class=\"min-w-150px\"> [{{utilityService.getResourceValue(\"ParticipantType\")}}] {{utilityService.getResourceValue(\"Source\")}}</th>\r\n <th class=\"min-w-150px\"> [{{utilityService.getResourceValue(\"ParticipantType\")}}] {{utilityService.getResourceValue(\"Destination\")}}</th>\r\n <th class=\"min-w-150px\">{{utilityService.getResourceValue(\"ExpiresAt\")}}</th>\r\n <th class=\"min-w-150px\">{{utilityService.getResourceValue(\"Active\")}}</th>\r\n <th class=\"min-w-50px\">{{utilityService.getResourceValue(\"Action\")}}</th>\r\n </tr>\r\n </thead>\r\n <tbody id=\"listingContainer\" class=\"fw-bold text-gray-600 border-0\">\r\n\r\n <tr *ngFor=\"let Impersonation of clientSidePagingResult\">\r\n\r\n <td>\r\n <span class=\"text-dark\">\r\n [{{Impersonation.sourceParticipantDTO.participantTypeItemNameStr}}] {{Impersonation.sourceParticipantDTO.participantNameStr}}\r\n </span>\r\n\r\n </td>\r\n <td> [{{Impersonation.destinationParticipantDTO.participantTypeItemNameStr}}] {{Impersonation.destinationParticipantDTO.participantNameStr}}</td>\r\n\r\n <td>{{Impersonation.expiresAt}}</td>\r\n <td>{{Impersonation.isActive}}</td>\r\n\r\n <td>\r\n\r\n <div>\r\n <button mat-button [matMenuTriggerFor]=\"menu\" class=\"btn btn-sm btn-icon btn-light btn-active-light-primary\">\r\n <i class=\"fa fa-ellipsis-h\" aria-hidden=\"true\"></i>\r\n </button>\r\n <mat-menu #menu=\"matMenu\">\r\n <a class=\"drop-item px-3\" ngbDropdownItem\r\n (click)=\"showEditImpersonationModal(Impersonation.iD_GUID,EditImpersonationModal)\">\r\n <span class=\"drop-link px-3\">{{utilityService.getResourceValue(\"Edit\")}}</span>\r\n </a>\r\n <a ngbDropdownItem class=\"drop-item px-3\"\r\n (click)=\"showDeleteImpersonationModal(Impersonation.iD_GUID)\">\r\n <span class=\"drop-link px-3\">{{utilityService.getResourceValue(\"Delete\")}}</span>\r\n </a>\r\n </mat-menu>\r\n </div>\r\n </td>\r\n </tr>\r\n <tr *ngIf=\"clientSidePagingResult.length == 0\">\r\n <td colspan=\"5\">\r\n <lib-empty-data></lib-empty-data>\r\n </td>\r\n </tr>\r\n </tbody>\r\n </table>\r\n\r\n <!--end::Permission list-->\r\n </div>\r\n\r\n </div>\r\n <div class=\"card-footer border-0\">\r\n <BBSF-Paging (Items)=\"setImpersonationListResult($event)\" *ngIf=\"IsFilterLoaded\"\r\n [options]=\"ImpersonationPaging\" [group]=\"ImpersonationForm\" #ImpersonationPagingViewElement>\r\n </BBSF-Paging>\r\n </div>\r\n </div>\r\n\r\n</div>\r\n<!-- Add Modal -->\r\n<ng-template #AddImpersonationModal let-modal>\r\n <div class=\"modal-header pb-0 border-0 justify-content-end\">\r\n <h5 class=\"modal-title\" id=\"exampleModalLabel\"></h5>\r\n <button type=\"button\" data-dismiss=\"modal\" aria-label=\"Close\" class=\"btn btn-sm btn-icon btn-active-color-primary\" (click)=\"modal.dismiss()\">\r\n <span class=\"svg-icon svg-icon-1\">\r\n <span [inlineSVG]=\"'./src/assets/images/arr061.svg'\"></span>\r\n </span>\r\n </button>\r\n </div>\r\n <div class=\"modal-body scroll-y px-10 px-lg-15 pt-0 pb-15\">\r\n <div class=\"mb-13 text-center\">\r\n <h1 class=\"mb-3\">{{utilityService.getResourceValue(\"Add\")}} {{utilityService.getResourceValue(\"ImpersonationRule\")}}</h1>\r\n </div>\r\n\r\n <BBSF-Form [options]=\"AddImpersonationFormOptions\">\r\n\r\n <div class=\"row\">\r\n <div class=\"col-md-12\">\r\n <BBSF-DropdownList [options]=\"AddSourceParticipantType\" (OnChange)=\"addSourceParticipantOnChange($event)\" [group]=\"AddImpersonationForm\">\r\n </BBSF-DropdownList>\r\n </div>\r\n <div class=\"col-md-12\">\r\n <BBSF-DropdownList [options]=\"AddSourcePermissionSetList\" *ngIf=\"AddShowSourcePermissionList\" [group]=\"AddImpersonationForm\">\r\n </BBSF-DropdownList>\r\n </div>\r\n <div class=\"col-md-12\">\r\n <BBSF-AutocompleteTextBox [options]=\"AddSourceUserAutoComplete\" *ngIf=\"AddShowSourceUserAutoComplete\" [group]=\"AddImpersonationForm\">\r\n </BBSF-AutocompleteTextBox>\r\n </div>\r\n </div>\r\n\r\n <div class=\"row\">\r\n <div class=\"col-md-12\">\r\n <BBSF-DropdownList [options]=\"AddDestinationParticipantType\" (OnChange)=\"addDestinationParticipantOnChange($event)\" [group]=\"AddImpersonationForm\">\r\n </BBSF-DropdownList>\r\n </div>\r\n <div class=\"col-md-12\">\r\n <BBSF-DropdownList [options]=\"AddDestinationPermissionSetList\" *ngIf=\"AddShowDestinationPermissionList\" [group]=\"AddImpersonationForm\">\r\n </BBSF-DropdownList>\r\n </div>\r\n <div class=\"col-md-12\">\r\n <BBSF-AutocompleteTextBox [options]=\"AddDestinationUserAutoComplete\" *ngIf=\"AddShowDestinationUserAutoComplete\" [group]=\"AddImpersonationForm\">\r\n </BBSF-AutocompleteTextBox>\r\n </div>\r\n </div>\r\n <div class=\"row\">\r\n <div class=\"col-md-12\">\r\n <BBSF-CheckBox [options]=\"AddIsActive\" [group]=\"AddImpersonationForm\">\r\n </BBSF-CheckBox>\r\n </div>\r\n </div>\r\n\r\n <div class=\"row\">\r\n <div class=\"col-md-12\">\r\n <BBSF-DateTimePicker [options]=\"AddExpiresAt\" [group]=\"AddImpersonationForm\">\r\n\r\n </BBSF-DateTimePicker>\r\n </div>\r\n </div>\r\n <div class=\"text-center pt-7\">\r\n <button CloseImpersonationModal id=\"CloseImpersonationModal\" type=\"button\" class=\"btn btn-light me-3 btn-sm\"\r\n (click)=\"modal.dismiss()\">\r\n {{utilityService.getResourceValue(\"CancelLabel\")}}\r\n </button>\r\n <button type=\"submit\" class=\"btn btn-primary btn-sm\">{{utilityService.getResourceValue(\"SaveLabel\")}}</button>\r\n </div>\r\n </BBSF-Form>\r\n </div>\r\n</ng-template>\r\n\r\n<!--Edit Modal-->\r\n<ng-template #EditImpersonationModal let-modal>\r\n <div class=\"modal-header pb-0 border-0 justify-content-end\">\r\n <h5 class=\"modal-title\" id=\"exampleModalLabel\"></h5>\r\n <button type=\"button\" data-dismiss=\"modal\" aria-label=\"Close\" class=\"btn btn-sm btn-icon btn-active-color-primary\" (click)=\"modal.dismiss()\">\r\n <span class=\"svg-icon svg-icon-1\">\r\n <span [inlineSVG]=\"'./src/assets/images/arr061.svg'\"></span>\r\n </span>\r\n </button>\r\n </div>\r\n <div class=\"modal-body scroll-y px-10 px-lg-15 pt-0 pb-15\">\r\n <div class=\"mb-13 text-center\">\r\n <h1 class=\"mb-3\">{{utilityService.getResourceValue(\"Edit\")}} {{utilityService.getResourceValue(\"ImpersonationRule\")}}</h1>\r\n </div>\r\n <BBSF-Form [options]=\"EditImpersonationFormOptions\">\r\n <div class=\"row\">\r\n <div class=\"col-md-12\">\r\n <BBSF-DropdownList [options]=\"EditSourceParticipantType\" (OnChange)=\"editSourceParticipantOnChange($event)\" [group]=\"EditImpersonationForm\">\r\n </BBSF-DropdownList>\r\n </div>\r\n <div class=\"col-md-12\">\r\n <BBSF-DropdownList [options]=\"EditSourcePermissionSetList\" *ngIf=\"EditShowSourcePermissionList\" [group]=\"EditImpersonationForm\">\r\n </BBSF-DropdownList>\r\n </div>\r\n <div class=\"col-md-12\">\r\n <BBSF-AutocompleteTextBox [options]=\"EditSourceUserAutoComplete\" *ngIf=\"EditShowSourceUserAutoComplete\" [group]=\"EditImpersonationForm\">\r\n </BBSF-AutocompleteTextBox>\r\n </div>\r\n </div>\r\n <div class=\"row\">\r\n <div class=\"col-md-12\">\r\n <BBSF-DropdownList [options]=\"EditDestinationParticipantType\" (OnChange)=\"editDestinationParticipantOnChange($event)\" [group]=\"EditImpersonationForm\">\r\n </BBSF-DropdownList>\r\n </div>\r\n <div class=\"col-md-12\">\r\n <BBSF-DropdownList [options]=\"EditDestinationPermissionSetList\" *ngIf=\"EditShowDestinationPermissionList\" [group]=\"EditImpersonationForm\">\r\n </BBSF-DropdownList>\r\n </div>\r\n <div class=\"col-md-12\">\r\n <BBSF-AutocompleteTextBox [options]=\"EditDestinationUserAutoComplete\" *ngIf=\"EditShowDestinationUserAutoComplete\" [group]=\"EditImpersonationForm\">\r\n </BBSF-AutocompleteTextBox>\r\n </div>\r\n </div>\r\n <div class=\"row\">\r\n <div class=\"col-md-12\">\r\n <BBSF-CheckBox [options]=\"EditIsActive\" [group]=\"EditImpersonationForm\">\r\n </BBSF-CheckBox>\r\n </div>\r\n </div>\r\n\r\n <div class=\"row\">\r\n <div class=\"col-md-12\">\r\n <BBSF-DateTimePicker [options]=\"EditExpiresAt\" [group]=\"EditImpersonationForm\">\r\n\r\n </BBSF-DateTimePicker>\r\n </div>\r\n </div>\r\n <div class=\"text-center pt-7\">\r\n <button #CloseEditImpersonationModal id=\"CloseEditImpersonationModal\" type=\"button\"\r\n class=\"btn btn-light btn-sm me-3\" data-dismiss=\"modal\" (click)=\"modal.dismiss()\">\r\n {{utilityService.getResourceValue(\"CancelLabel\")}}\r\n </button>\r\n <button type=\"submit\" class=\"btn btn-primary btn-sm\">{{utilityService.getResourceValue(\"SaveLabel\")}}</button>\r\n </div>\r\n </BBSF-Form>\r\n </div>\r\n</ng-template>\r\n\r\n\r\n<!--delete Modal-->\r\n<BBSF-ConfirmationModal *ngIf=\"deleteControlLoaded\" [options]=\"DeleteConfirmationOptions\" id=\"ConfirmationModalControl\" #ConfirmationModalControl></BBSF-ConfirmationModal>\r\n\r\n" }]
|
|
436
|
-
}], ctorParameters: function () { return [{ type: i1.AuthService }, { type: i2.PageInfoService }, { type: i1.UtilityService }, { type: i1.BBSFTranslateService }, { type: i1.EnvironmentService }, { type: i3.ImpersonationRuleService }, { type: i4.NgbModal }, { type: i1.RequestHandlerService }]; }, propDecorators: { pagingElement: [{
|
|
437
|
-
type: ViewChild,
|
|
438
|
-
args: ['ImpersonationPagingViewElement', { static: false }]
|
|
439
|
-
}], ConfirmationModalControl: [{
|
|
440
|
-
type: ViewChild,
|
|
441
|
-
args: ['ConfirmationModalControl', { static: false }]
|
|
442
|
-
}] } });
|
|
443
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW1wZXJzb25hdGlvbi1ydWxlcy5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9iYnNmLWFkbWluLXBvcnRhbC9zcmMvbGliL1BhZ2VzL2ltcGVyc29uYXRpb24tcnVsZXMvaW1wZXJzb25hdGlvbi1ydWxlcy9pbXBlcnNvbmF0aW9uLXJ1bGVzLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2Jic2YtYWRtaW4tcG9ydGFsL3NyYy9saWIvUGFnZXMvaW1wZXJzb25hdGlvbi1ydWxlcy9pbXBlcnNvbmF0aW9uLXJ1bGVzL2ltcGVyc29uYXRpb24tcnVsZXMuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBVSxTQUFTLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDN0QsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQzNDLE9BQU8sRUFBRSxlQUFlLEVBQUUsbUJBQW1CLEVBQUUsZUFBZSxFQUFFLHdCQUF3QixFQUFFLGlCQUFpQixFQUFFLGVBQWUsRUFBRSxVQUFVLEVBQUUsVUFBVSxFQUFFLGNBQWMsRUFBRSxXQUFXLEVBQUUsU0FBUyxFQUFFLGdCQUFnQixFQUFFLGFBQWEsRUFBRSxVQUFVLEVBQUUsVUFBVSxFQUFFLFNBQVMsRUFBRSxjQUFjLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQztBQUNsVCxPQUFPLEVBQUUsc0JBQXNCLEVBQUUsTUFBTSxvRUFBb0UsQ0FBQztBQUU1RyxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sb0RBQW9ELENBQUM7QUFNckYsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLHdCQUF3QixDQUFDOzs7Ozs7Ozs7Ozs7O0FBTXpELE1BQU0sT0FBTywyQkFBMkI7SUE2RHRDLFlBQW9CLFdBQXdCLEVBQVUsZUFBZ0MsRUFBUyxjQUE4QixFQUNuSCxv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NkdBQTNCLDJCQUEyQix1VENqQnhDLG9vV0F3T0E7NEZEdk5hLDJCQUEyQjtrQkFKdkMsU0FBUzsrQkFDRSx5QkFBeUI7bVVBZ0I2QixhQUFhO3NCQUE1RSxTQUFTO3VCQUFDLGdDQUFnQyxFQUFFLEVBQUUsTUFBTSxFQUFFLEtBQUssRUFBRTtnQkE4Q0osd0JBQXdCO3NCQUFqRixTQUFTO3VCQUFDLDBCQUEwQixFQUFFLEVBQUUsTUFBTSxFQUFFLEtBQUssRUFBRSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgT25Jbml0LCBWaWV3Q2hpbGQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgRm9ybUdyb3VwIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xyXG5pbXBvcnQgeyBBdXRvY29tcGxldGVEVE8sIEF1dG9jb21wbGV0ZU9wdGlvbnMsIENoZWNrQm94T3B0aW9ucywgQ29uZmlybWF0aW9uTW9kYWxPcHRpb25zLCBEYXRlUGlja2VyT3B0aW9ucywgRHJvcGRvd25PcHRpb25zLCBGaWx0ZXJJdGVtLCBGaWx0ZXJUeXBlLCBGb3JjZURpcmVjdGlvbiwgRm9ybU9wdGlvbnMsIElucHV0VHlwZSwgUGFnaW5nQWN0aW9uTW9kZSwgUGFnaW5nT3B0aW9ucywgUGlja2VyVHlwZSwgU2VsZWN0TW9kZSwgU3RhcnRWaWV3LCBUZXh0Qm94T3B0aW9ucyB9IGZyb20gJ0BibnNpZ2h0cy9iYnNmLWNvbnRyb2xzJztcclxuaW1wb3J0IHsgSW1wZXJzb25hdGlvblJ1bGVNb2RlbCB9IGZyb20gJy4uLy4uL3NoYXJlZC9tb2RlbHMvSW1wZXJzb25hdGlvblJ1bGVNb2RlbHMvSW1wZXJzb25hdGlvblJ1bGVNb2RlbCc7XHJcbmltcG9ydCB7IEltcGVyc29uYXRpb25SdWxlU2VydmljZSB9IGZyb20gJy4vLi4vLi4vc2hhcmVkL1NlcnZpY2VzL0ltcGVyc29uYXRpb25SdWxlU2VydmljZS5zZXJ2aWNlJztcclxuaW1wb3J0IHsgUGFnZUluZm9TZXJ2aWNlIH0gZnJvbSAnLi4vLi4vLi4vX21ldHJvbmljL2NvcmUvc2VydmljZXMvcGFnZS1pbmZvLnNlcnZpY2UnO1xyXG5pbXBvcnQgeyBOZ2JNb2RhbCB9IGZyb20gJ0BuZy1ib290c3RyYXAvbmctYm9vdHN0cmFwJztcclxuaW1wb3J0IHsgQXV0aFNlcnZpY2UsIFV0aWxpdHlTZXJ2aWNlLCBCQlNGVHJhbnNsYXRlU2VydmljZSwgRW52aXJvbm1lbnRTZXJ2aWNlLCBSZXF1ZXN0SGFuZGxlclNlcnZpY2UgfSBmcm9tICdAYm5zaWdodHMvYmJzZi11dGlsaXRpZXMnO1xyXG5pbXBvcnQgeyBQYWdpbmdDb21wb25lbnQgfSBmcm9tICdAYm5zaWdodHMvYmJzZi1jb250cm9scy9saWIvY29udHJvbHMvUGFnaW5nL1BhZ2luZy5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBPYnNlcnZhYmxlIH0gZnJvbSAncnhqcyc7XHJcbmltcG9ydCB7IENvbmZpcm1hdGlvbk1vZGFsQ29tcG9uZW50IH0gZnJvbSAnQGJuc2lnaHRzL2Jic2YtY29udHJvbHMvbGliL2NvbnRyb2xzL0NvbmZpcm1hdGlvbk1vZGFsL0NvbmZpcm1hdGlvbk1vZGFsLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IFBhcnRpY2lwYW50VHlwZSB9IGZyb20gJy4uLy4uL3NoYXJlZC9jb25zdGFudHMnO1xyXG5cclxuQENvbXBvbmVudCh7XHJcbiAgc2VsZWN0b3I6ICdsaWItaW1wZXJzb25hdGlvbi1ydWxlcycsXHJcbiAgdGVtcGxhdGVVcmw6ICcuL2ltcGVyc29uYXRpb24tcnVsZXMuY29tcG9uZW50Lmh0bWwnXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBJbXBlcnNvbmF0aW9uUnVsZXNDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQge1xyXG4gIC8vUGFnZSByZXF1aXJlbWVudHNcclxuICBTaG93UGFnZUNvbnRlbnQ6IGJvb2xlYW4gPSBmYWxzZTtcclxuICBBcGlVcmwgPSBcIi9hcGkvYWRtaW4vSW1wZXJzb25hdGlvblJ1bGUvXCJcclxuXHJcbiAgLy9GaWx0ZXIgYW5kIHBhZ2luZyBjb21wb25lbnRzXHJcbiAgc2VhcmNoVGV4dEJveDogVGV4dEJveE9wdGlvbnM7XHJcbiAgVGV4dElucHV0RmlsdGVyOiBGaWx0ZXJJdGVtO1xyXG4gIEltcGVyc29uYXRpb25Gb3JtID0gbmV3IEZvcm1Hcm91cCh7fSk7XHJcbiAgSW1wZXJzb25hdGlvblBhZ2luZ1Jlc3VsdDogYW55W10gPSBbXTtcclxuICBjbGllbnRTaWRlUGFnaW5nUmVzdWx0OiBhbnlbXSA9IFtdO1xyXG4gIEltcGVyc29uYXRpb25QYWdpbmc6IFBhZ2luZ09wdGlvbnM7XHJcbiAgSXNGaWx0ZXJMb2FkZWQ6IGJvb2xlYW4gPSBmYWxzZTtcclxuICBAVmlld0NoaWxkKCdJbXBlcnNvbmF0aW9uUGFnaW5nVmlld0VsZW1lbnQnLCB7IHN0YXRpYzogZmFsc2UgfSkgcGFnaW5nRWxlbWVudDogUGFnaW5nQ29tcG9uZW50PGFueT47XHJcblxyXG4gIC8vUmVxdWlyZWQgbGlzdHNcclxuICBQZXJtaXNzaW9uU2V0TGlzdDogYW55W10gPSBbXTtcclxuICBQYXJ0aWNpcGFudFR5cGVMaXN0OiBhbnlbXSA9IFtdO1xyXG5cclxuICAvL0FkZCBNb2RlbCBDb250cm9sc1xyXG4gIEFkZEltcGVyc29uYXRpb25Gb3JtID0gbmV3IEZvcm1Hcm91cCh7fSk7XHJcbiAgQWRkSW1wZXJzb25hdGlvbkZvcm1PcHRpb25zID0gbmV3IEZvcm1PcHRpb25zO1xyXG4gIEFkZFNvdXJjZVBhcnRpY2lwYW50VHlwZTogRHJvcGRvd25PcHRpb25zO1xyXG4gIEFkZERlc3RpbmF0aW9uUGFydGljaXBhbnRUeXBlOiBEcm9wZG93bk9wdGlvbnM7XHJcbiAgQWRkU291cmNlUGVybWlzc2lvblNldExpc3Q6IERyb3Bkb3duT3B0aW9ucztcclxuICBBZGREZXN0aW5hdGlvblBlcm1pc3Npb25TZXRMaXN0OiBEcm9wZG93bk9wdGlvbnM7XHJcbiAgQWRkU291cmNlVXNlckF1dG9Db21wbGV0ZTogQXV0b2NvbXBsZXRlT3B0aW9ucztcclxuICBBZGREZXN0aW5hdGlvblVzZXJBdXRvQ29tcGxldGU6IEF1dG9jb21wbGV0ZU9wdGlvbnM7XHJcbiAgQWRkSXNBY3RpdmU6IENoZWNrQm94T3B0aW9ucztcclxuICBBZGRFeHBpcmVzQXQ6IERhdGVQaWNrZXJPcHRpb25zO1xyXG4gIEFkZFNob3dTb3VyY2VQZXJtaXNzaW9uTGlzdDogYm9vbGVhbiA9IGZhbHNlO1xyXG4gIEFkZFNob3dTb3VyY2VVc2VyQXV0b0NvbXBsZXRlOiBib29sZWFuID0gZmFsc2U7XHJcbiAgQWRkU2hvd0Rlc3RpbmF0aW9uUGVybWlzc2lvbkxpc3Q6IGJvb2xlYW4gPSBmYWxzZTtcclxuICBBZGRTaG93RGVzdGluYXRpb25Vc2VyQXV0b0NvbXBsZXRlOiBib29sZWFuID0gZmFsc2U7XHJcblxyXG5cclxuICAvL0VkaXQgTW9kZWwgQ29udHJvbHNcclxuICBFZGl0SW1wZXJzb25hdGlvbkZvcm0gPSBuZXcgRm9ybUdyb3VwKHt9KTtcclxuICBFZGl0SW1wZXJzb25hdGlvbkZvcm1PcHRpb25zID0gbmV3IEZvcm1PcHRpb25zO1xyXG4gIEVkaXRTb3VyY2VQYXJ0aWNpcGFudFR5cGU6IERyb3Bkb3duT3B0aW9ucztcclxuICBFZGl0RGVzdGluYXRpb25QYXJ0aWNpcGFudFR5cGU6IERyb3Bkb3duT3B0aW9ucztcclxuICBFZGl0U291cmNlUGVybWlzc2lvblNldExpc3Q6IERyb3Bkb3duT3B0aW9ucztcclxuICBFZGl0RGVzdGluYXRpb25QZXJtaXNzaW9uU2V0TGlzdDogRHJvcGRvd25PcHRpb25zO1xyXG4gIEVkaXRTb3VyY2VVc2VyQXV0b0NvbXBsZXRlOiBBdXRvY29tcGxldGVPcHRpb25zO1xyXG4gIEVkaXREZXN0aW5hdGlvblVzZXJBdXRvQ29tcGxldGU6IEF1dG9jb21wbGV0ZU9wdGlvbnM7XHJcbiAgRWRpdElzQWN0aXZlOiBDaGVja0JveE9wdGlvbnM7XHJcbiAgRWRpdEV4cGlyZXNBdDogRGF0ZVBpY2tlck9wdGlvbnM7XHJcbiAgRWRpdFNob3dTb3VyY2VQZXJtaXNzaW9uTGlzdDogYm9vbGVhbiA9IGZhbHNlO1xyXG4gIEVkaXRTaG93U291cmNlVXNlckF1dG9Db21wbGV0ZTogYm9vbGVhbiA9IGZhbHNlO1xyXG4gIEVkaXRTaG93RGVzdGluYXRpb25QZXJtaXNzaW9uTGlzdDogYm9vbGVhbiA9IGZhbHNlO1xyXG4gIEVkaXRTaG93RGVzdGluYXRpb25Vc2VyQXV0b0NvbXBsZXRlOiBib29sZWFuID0gZmFsc2U7XHJcbiAgSW1wZXJzb25hdGlvbklkOiBzdHJpbmc7XHJcbiAgU291cmNlUGFydGljaXBhbnRJZDogc3RyaW5nO1xyXG4gIERlc3RpbmF0aW9uUGFydGljaXBhbnRJZDogc3RyaW5nO1xyXG5cclxuICAvL2RlbGV0ZSAgTW9kZWwgQ29udHJvbHNcclxuICBkZWxldGVJbXBlcnNvbmF0aW9uUnVsZUlkOiBzdHJpbmc7XHJcbiAgRGVsZXRlQ29uZmlybWF0aW9uT3B0aW9uczogQ29uZmlybWF0aW9uTW9kYWxPcHRpb25zO1xyXG4gIGRlbGV0ZUNvbnRyb2xMb2FkZWQ6IGJvb2xlYW4gPSBmYWxzZTtcclxuICBAVmlld0NoaWxkKCdDb25maXJtYXRpb25Nb2RhbENvbnRyb2wnLCB7IHN0YXRpYzogZmFsc2UgfSkgQ29uZmlybWF0aW9uTW9kYWxDb250cm9sOiBDb25maXJtYXRpb25Nb2RhbENvbXBvbmVudDtcclxuXHJcbiAgY29uc3RydWN0b3IocHJpdmF0ZSBhdXRoU2VydmljZTogQXV0aFNlcnZpY2UsIHByaXZhdGUgcGFnZUluZm9TZXJ2aWNlOiBQYWdlSW5mb1NlcnZpY2UsIHB1YmxpYyB1dGlsaXR5U2VydmljZTogVXRpbGl0eVNlcnZpY2UsXHJcbiAgICBwcml2YXRlIGJic2ZUcmFuc2xhdGVTZXJ2aWNlOiBCQlNGVHJhbnNsYXRlU2VydmljZSwgcHJpdmF0ZSBlbnZpcm9ubWVudFNlcnZpY2U6IEVudmlyb25tZW50U2VydmljZSxcclxuICAgIHByaXZhdGUgSW1wZXJzb25hdGlvblJ1bGVTZXJ2aWNlOiBJbXBlcnNvbmF0aW9uUnVsZVNlcnZpY2UsIHByaXZhdGUgbW9kYWxTZXJ2aWNlOiBOZ2JNb2RhbCwgcHJpdmF0ZSByZXF1ZXN0SGFuZGxlclNlcnZpY2U6IFJlcXVlc3RIYW5kbGVyU2VydmljZSkge1xyXG4gIH1cclxuXHJcbiAgYXN5bmMgbmdPbkluaXQoKTogUHJvbWlzZTx2b2lkPiB7XHJcbiAgICB0aGlzLlNob3dQYWdlQ29udGVudCA9IHRydWU7XHJcbiAgICBQYWdlSW5mb1NlcnZpY2UuUGFnZVRpdGxlID0gdGhpcy51dGlsaXR5U2VydmljZS5nZXRSZXNvdXJjZVZhbHVlKFwiSW1wZXJzb25hdGlvblJ1bGVzXCIpXHJcbiAgICBQYWdlSW5mb1NlcnZpY2UuUGFnZUJyZWFkY3J1bWJzID0gW1xyXG4gICAgICB7IHRpdGxlOiB0aGlzLnV0aWxpdHlTZXJ2aWNlLmdldFJlc291cmNlVmFsdWUoXCJIb21lXCIpLCBwYXRoOiAnL0FkbWluL0hvbWUnLCBpc1NlcGFyYXRvcjogZmFsc2UsIGlzQWN0aXZlOiBmYWxzZSB9LFxyXG4gICAgICB7IHRpdGxlOiAnJywgcGF0aDogJycsIGlzU2VwYXJhdG9yOiB0cnVlLCBpc0FjdGl2ZTogZmFsc2UgfVxyXG5cclxuICAgIF07XHJcbiAgICB0aGlzLnBhZ2VJbmZvU2VydmljZS5jYWxjdWxhdGVUaXRsZSgpO1xyXG4gICAgdGhpcy5wYWdlSW5mb1NlcnZpY2UuY2FsY3VsYXRlQnJlYWRjcnVtYnMoKTtcclxuICAgIHRoaXMuYmJzZlRyYW5zbGF0ZVNlcnZpY2Uub25MYW5nQ2hhbmdlLnN1YnNjcmliZSgoZXZlbnQpID0+IHtcclxuICAgICAgdGhpcy5uZ09uSW5pdCgpO1xyXG4gICAgfSlcclxuICAgIHRoaXMuaW5pdGlhbGl6ZVBhZ2UoKTtcclxuICB9XHJcblxyXG4gIGluaXRpYWxpemVQYWdlKCkge1xyXG4gICAgLy8gVGV4dEJveCBpbml0XHJcbiAgICB0aGlzLnNlYXJjaFRleHRCb3ggPSBuZXcgVGV4dEJveE9wdGlvbnMoKTtcclxuICAgIHRoaXMuc2VhcmNoVGV4dEJveC5OYW1lID0gXCJzZWFyY2hUZXh0Qm94XCJcclxuICAgIHRoaXMuc2VhcmNoVGV4dEJveC5IaWRlTGFiZWwgPSB0cnVlXHJcbiAgICB0aGlzLnNlYXJjaFRleHRCb3guVHlwZSA9IElucHV0VHlwZS5UZXh0XHJcbiAgICB0aGlzLnNlYXJjaFRleHRCb3guUGxhY2Vob2xkZXIgPSB0aGlzLnV0aWxpdHlTZXJ2aWNlLmdldFJlc291cmNlVmFsdWUoXCJTZWFyY2hCeVNvdXJjZVwiKVxyXG5cclxuICAgIHRoaXMuVGV4dElucHV0RmlsdGVyID0gbmV3IEZpbHRlckl0ZW0oKTtcclxuICAgIHRoaXMuVGV4dElucHV0RmlsdGVyLkZvcm1Db250cm9sTmFtZSA9IFwic2VhcmNoVGV4dEJveFwiXHJcbiAgICB0aGlzLlRleHRJbnB1dEZpbHRlci5BY3Rpb25QYXJhbWV0ZXJOYW1lID0gXCJzZWFyY2hUZXh0XCJcclxuICAgIHRoaXMuVGV4dElucHV0RmlsdGVyLklzRm9ybUNvbnRyb2wgPSB0cnVlXHJcbiAgICB0aGlzLlRleHRJbnB1dEZpbHRlci5GaWx0ZXJUeXBlID0gRmlsdGVyVHlwZS5UZXh0Qm94XHJcblxyXG4gICAgdGhpcy5JbXBlcnNvbmF0aW9uUGFnaW5nID0gbmV3IFBhZ2luZ09wdGlvbnMoKTtcclxuICAgIHRoaXMuSW1wZXJzb25hdGlvblBhZ2luZy5BY3Rpb25Qb3N0VVJMID0gdGhpcy5BcGlVcmwgKyAnR2V0SW1wZXJzb25hdGlvblJ1bGVCeUZpbHRlcic7XHJcbiAgICB0aGlzLkltcGVyc29uYXRpb25QYWdpbmcuT25LZXlQcmVzc0ZpbHRlcnNDb250cm9sTmFtZXMgPSBbXCJzZWFyY2hUZXh0Qm94XCJdXHJcbiAgICB0aGlzLkltcGVyc29uYXRpb25QYWdpbmcuRmlsdGVycyA9IFt0aGlzLlRleHRJbnB1dEZpbHRlcl1cclxuICAgIHRoaXMuSW1wZXJzb25hdGlvblBhZ2luZy5WYWxpZGF0aW9uVG9rZW4gPSB0aGlzLmF1dGhTZXJ2aWNlLmF1dGhvcml6YXRpb25IZWFkZXJWYWx1ZSgpXHJcbiAgICB0aGlzLklzRmlsdGVyTG9hZGVkID0gdHJ1ZTtcclxuICB9XHJcblxyXG4gIC8vUGFnaW5nIGZ1bmN0aW9uc1xyXG4gIHNldEltcGVyc29uYXRpb25MaXN0UmVzdWx0KHJlc3VsdCkge1xyXG4gICAgdGhpcy5JbXBlcnNvbmF0aW9uUGFnaW5nUmVzdWx0ID0gcmVzdWx0O1xyXG4gICAgdGhpcy5jbGllbnRTaWRlUGFnaW5nUmVzdWx0ID0gcmVzdWx0O1xyXG4gICAgdGhpcy5TaG93UGFnZUNvbnRlbnQgPSB0cnVlO1xyXG4gICAgdGhpcy51dGlsaXR5U2VydmljZS5zdG9wQmxvY2tVSSgpXHJcbiAgfVxyXG5cclxuICBzZWFyY2hDbGllbnRTaWRlKHNlYXJjaFZhbHVlKSB7XHJcbiAgICBpZiAoc2VhcmNoVmFsdWUpXHJcbiAgICAgIHRoaXMuY2xpZW50U2lkZVBhZ2luZ1Jlc3VsdCA9IHRoaXMuY2xpZW50U2lkZVBhZ2luZ1Jlc3VsdC5maWx0ZXIoXHJcbiAgICAgICAgZnVuY3Rpb24gKGl0ZW0pIHtcclxuICAgICAgICAgIHZhciBzb3VyY2VQYXJ0aWNpcGFudE5hbWUgPSBpdGVtLnNvdXJjZVBhcnRpY2lwYW50RFRPLnBhcnRpY2lwYW50TmFtZTtcclxuICAgICAgICAgIHZhciBkZXN0aW5hdGlvblBhcnRpY2lwYW50TmFtZSA9IGl0ZW0uZGVzdGluYXRpb25QYXJ0aWNpcGFudERUTy5wYXJ0aWNpcGFudE5hbWU7XHJcbiAgICAgICAgICByZXR1cm4gKFxyXG4gICAgICAgICAgICBzb3VyY2VQYXJ0aWNpcGFudE5hbWUuZW5nbGlzaC50b0xvd2VyQ2FzZSgpLmluY2x1ZGVzKHNlYXJjaFZhbHVlLnRvTG93ZXJDYXNlKCkpXHJcbiAgICAgICAgICAgIHx8IHNvdXJjZVBhcnRpY2lwYW50TmFtZS5hcmFiaWMudG9Mb3dlckNhc2UoKS5pbmNsdWRlcyhzZWFyY2hWYWx1ZS50b0xvd2VyQ2FzZSgpKVxyXG4gICAgICAgICAgICB8fCBkZXN0aW5hdGlvblBhcnRpY2lwYW50TmFtZS5hcmFiaWMudG9Mb3dlckNhc2UoKS5pbmNsdWRlcyhzZWFyY2hWYWx1ZS50b0xvd2VyQ2FzZSgpKVxyXG4gICAgICAgICAgICB8fCBkZXN0aW5hdGlvblBhcnRpY2lwYW50TmFtZS5hcmFiaWMudG9Mb3dlckNhc2UoKS5pbmNsdWRlcyhzZWFyY2hWYWx1ZS50b0xvd2VyQ2FzZSgpKSk7XHJcbiAgICAgICAgfSlcclxuICAgIGVsc2VcclxuICAgICAgdGhpcy5jbGllbnRTaWRlUGFnaW5nUmVzdWx0ID0gdGhpcy5JbXBlcnNvbmF0aW9uUGFnaW5nUmVzdWx0O1xyXG4gIH1cclxuXHJcbiAgLy9BZGQgaW1wZXJzb25hdGlvbiBydWxlIGZ1bmN0aW9uc1xyXG4gIHNob3dBZGRJbXBlcnNvbmF0aW9uTW9kYWwoQWRkSW1wZXJzb25hdGlvbk1vZGFsKSB7XHJcbiAgICB0aGlzLnV0aWxpdHlTZXJ2aWNlLnN0YXJ0QmxvY2tVSSgpO1xyXG5cclxuICAgIHRoaXMuSW1wZXJzb25hdGlvblJ1bGVTZXJ2aWNlLmxvYWRBZGREcm9wZG93bnMoKS5zdWJzY3JpYmUoKHJlc3VsdCkgPT4ge1xyXG4gICAgICBsZXQgRHJvcGRvd25MaXN0cyA9IHJlc3VsdCBhcyBhbnk7XHJcbiAgICAgIHRoaXMuUGVybWlzc2lvblNldExpc3QgPSBEcm9wZG93bkxpc3RzLnBlcm1pc3Npb25MaXN0O1xyXG4gICAgICB0aGlzLlBhcnRpY2lwYW50VHlwZUxpc3QgPSBEcm9wZG93bkxpc3RzLnBhcnRpY2lwYW50VHlwZUxpc3Q7XHJcbiAgICAgIHRoaXMuQWRkSW1wZXJzb25hdGlvbkZvcm0gPSBuZXcgRm9ybUdyb3VwKHt9KVxyXG5cclxuICAgICAgdGhpcy5BZGRJbXBlcnNvbmF0aW9uRm9ybU9wdGlvbnMgPSBuZXcgRm9ybU9wdGlvbnMoKTtcclxuICAgICAgdGhpcy5BZGRJbXBlcnNvbmF0aW9uRm9ybU9wdGlvbnMuRm9ybUdyb3VwID0gdGhpcy5BZGRJbXBlcnNvbmF0aW9uRm9ybVxyXG4gICAgICB0aGlzLkFkZEltcGVyc29uYXRpb25Gb3JtT3B0aW9ucy5HZXRNb2RlbEZ1bmN0aW9uID0gdGhpcy5nZXRBZGRJbXBlcnNvbmF0aW9uUnVsZU1vZGVsO1xyXG4gICAgICB0aGlzLkFkZEltcGVyc29uYXRpb25Gb3JtT3B0aW9ucy5TZXJ2aWNlU3VibWl0RnVuY3Rpb24gPSB0aGlzLmdldEFkZEltcGVyc29uYXRpb25SdWxlRnVuY3Rpb247XHJcbiAgICAgIHRoaXMuQWRkSW1wZXJzb25hdGlvbkZvcm1PcHRpb25zLlBhZ2luZ1JlZmVyZW5jZSA9IHRoaXMucGFnaW5nRWxlbWVudFxyXG5cclxuICAgICAgdGhpcy5BZGRTaG93RGVzdGluYXRpb25QZXJtaXNzaW9uTGlzdCA9IGZhbHNlO1xyXG4gICAgICB0aGlzLkFkZFNob3dEZXN0aW5hdGlvblVzZXJBdXRvQ29tcGxldGUgPSBmYWxzZTtcclxuICAgICAgdGhpcy5BZGRTaG93U291cmNlUGVybWlzc2lvbkxpc3QgPSBmYWxzZVxyXG4gICAgICB0aGlzLkFkZFNob3dTb3VyY2VVc2VyQXV0b0NvbXBsZXRlID0gZmFsc2VcclxuXHJcbiAgICAgIHRoaXMuQWRkU291cmNlUGFydGljaXBhbnRUeXBlID0gbmV3IERyb3Bkb3duT3B0aW9ucygpO1xyXG4gICAgICB0aGlzLkFkZFNvdXJjZVBhcnRpY2lwYW50VHlwZS5OYW1lID0gXCJTb3VyY2VQYXJ0aWNpcGFudERUTy5QYXJ0aWNpcGFudFR5cGVJdGVtSURfR1VJRFwiXHJcbiAgICAgIHRoaXMuQWRkU291cmNlUGFydGljaXBhbnRUeXBlLkxhYmVsS2V5ID0gXCJTb3VyY2VQYXJ0aWNpcGFudFR5cGVcIlxyXG4gICAgICB0aGlzLkFkZFNvdXJjZVBhcnRpY2lwYW50VHlwZS5TZWxlY3RlZEl0ZW1zID0gbnVsbDtcclxuICAgICAgdGhpcy5BZGRTb3VyY2VQYXJ0aWNpcGFudFR5cGUuRGF0YVNvdXJjZSA9IHRoaXMuUGFydGljaXBhbnRUeXBlTGlzdFxyXG4gICAgICB0aGlzLkFkZFNvdXJjZVBhcnRpY2lwYW50VHlwZS5TaW5nbGVTZWxlY3Rpb24gPSB0cnVlO1xyXG4gICAgICB0aGlzLkFkZFNvdXJjZVBhcnRpY2lwYW50VHlwZS5BbGxvd1NlYXJjaEZpbHRlciA9IHRydWU7XHJcbiAgICAgIHRoaXMuQWRkU291cmNlUGFydGljaXBhbnRUeXBlLklzUmVxdWlyZWQgPSB0cnVlO1xyXG5cclxuICAgICAgdGhpcy5BZGREZXN0aW5hdGlvblBhcnRpY2lwYW50VHlwZSA9IG5ldyBEcm9wZG93bk9wdGlvbnMoKTtcclxuICAgICAgdGhpcy5BZGREZXN0aW5hdGlvblBhcnRpY2lwYW50VHlwZS5OYW1lID0gXCJEZXN0aW5hdGlvblBhcnRpY2lwYW50RFRPLlBhcnRpY2lwYW50VHlwZUl0ZW1JRF9HVUlEXCJcclxuICAgICAgdGhpcy5BZGREZXN0aW5hdGlvblBhcnRpY2lwYW50VHlwZS5MYWJlbEtleSA9IFwiRGVzdGluYXRpb25QYXJ0aWNpcGFudFR5cGVcIlxyXG4gICAgICB0aGlzLkFkZERlc3RpbmF0aW9uUGFydGljaXBhbnRUeXBlLlNlbGVjdGVkSXRlbXMgPSBudWxsO1xyXG4gICAgICB0aGlzLkFkZERlc3RpbmF0aW9uUGFydGljaXBhbnRUeXBlLkRhdGFTb3VyY2UgPSB0aGlzLlBhcnRpY2lwYW50VHlwZUxpc3RcclxuICAgICAgdGhpcy5BZGREZXN0aW5hdGlvblBhcnRpY2lwYW50VHlwZS5TaW5nbGVTZWxlY3Rpb24gPSB0cnVlO1xyXG4gICAgICB0aGlzLkFkZERlc3RpbmF0aW9uUGFydGljaXBhbnRUeXBlLkFsbG93U2VhcmNoRmlsdGVyID0gdHJ1ZTtcclxuICAgICAgdGhpcy5BZGREZXN0aW5hdGlvblBhcnRpY2lwYW50VHlwZS5Jc1JlcXVpcmVkID0gdHJ1ZTtcclxuXHJcbiAgICAgIHRoaXMuQWRkU291cmNlUGVybWlzc2lvblNldExpc3QgPSBuZXcgRHJvcGRvd25PcHRpb25zKCk7XHJcbiAgICAgIHRoaXMuQWRkU291cmNlUGVybWlzc2lvblNldExpc3QuTmFtZSA9IFwiU291cmNlUGFydGljaXBhbnREVE8uUGVybWlzc2lvblNldElEX0dVSURcIlxyXG4gICAgICB0aGlzLkFkZFNvdXJjZVBlcm1pc3Npb25TZXRMaXN0LkxhYmVsS2V5ID0gXCJTb3VyY2VQZXJtaXNzaW9uU2V0TGlzdFwiXHJcbiAgICAgIHRoaXMuQWRkU291cmNlUGVybWlzc2lvblNldExpc3QuU2VsZWN0ZWRJdGVtcyA9IG51bGw7XHJcbiAgICAgIHRoaXMuQWRkU291cmNlUGVybWlzc2lvblNldExpc3QuRGF0YVNvdXJjZSA9IHRoaXMuUGVybWlzc2lvblNldExpc3RcclxuICAgICAgdGhpcy5BZGRTb3VyY2VQZXJtaXNzaW9uU2V0TGlzdC5TaW5nbGVTZWxlY3Rpb24gPSB0cnVlO1xyXG4gICAgICB0aGlzLkFkZFNvdXJjZVBlcm1pc3Npb25TZXRMaXN0LkFsbG93U2VhcmNoRmlsdGVyID0gdHJ1ZTtcclxuICAgICAgdGhpcy5BZGRTb3VyY2VQZXJtaXNzaW9uU2V0TGlzdC5Jc1JlcXVpcmVkID0gdHJ1ZTtcclxuXHJcbiAgICAgIHRoaXMuQWRkRGVzdGluYXRpb25QZXJtaXNzaW9uU2V0TGlzdCA9IG5ldyBEcm9wZG93bk9wdGlvbnMoKTtcclxuICAgICAgdGhpcy5BZGREZXN0aW5hdGlvblBlcm1pc3Npb25TZXRMaXN0Lk5hbWUgPSBcIkRlc3RpbmF0aW9uUGFydGljaXBhbnREVE8uUGVybWlzc2lvblNldElEX0dVSURcIlxyXG4gICAgICB0aGlzLkFkZERlc3RpbmF0aW9uUGVybWlzc2lvblNldExpc3QuTGFiZWxWYWx1ZSA9IFwiRGVzdGluYXRpb25QZXJtaXNzaW9uU2V0TGlzdFwiXHJcbiAgICAgIHRoaXMuQWRkRGVzdGluYXRpb25QZXJtaXNzaW9uU2V0TGlzdC5MYWJlbEtleSA9IFwiRGVzdGluYXRpb25QZXJtaXNzaW9uU2V0TGlzdFwiXHJcbiAgICAgIHRoaXMuQWRkRGVzdGluYXRpb25QZXJtaXNzaW9uU2V0TGlzdC5TZWxlY3RlZEl0ZW1zID0gbnVsbDtcclxuICAgICAgdGhpcy5BZGREZXN0aW5hdGlvblBlcm1pc3Npb25TZXRMaXN0LkRhdGFTb3VyY2UgPSB0aGlzLlBlcm1pc3Npb25TZXRMaXN0XHJcbiAgICAgIHRoaXMuQWRkRGVzdGluYXRpb25QZXJtaXNzaW9uU2V0TGlzdC5TaW5nbGVTZWxlY3Rpb24gPSB0cnVlO1xyXG4gICAgICB0aGlzLkFkZERlc3RpbmF0aW9uUGVybWlzc2lvblNldExpc3QuQWxsb3dTZWFyY2hGaWx0ZXIgPSB0cnVlO1xyXG4gICAgICB0aGlzLkFkZERlc3RpbmF0aW9uUGVybWlzc2lvblNldExpc3QuSXNSZXF1aXJlZCA9IHRydWU7XHJcblxyXG4gICAgICB0aGlzLkFkZFNvdXJjZVVzZXJBdXRvQ29tcGxldGUgPSBuZXcgQXV0b2NvbXBsZXRlT3B0aW9ucygpO1xyXG4gICAgICB0aGlzLkFkZFNvdXJjZVVzZXJBdXRvQ29tcGxldGUuTmFtZSA9IFwiU291cmNlUGFydGljaXBhbnREVE8uVXNlcklEX0dVSURcIjtcclxuICAgICAgdGhpcy5BZGRTb3VyY2VVc2VyQXV0b0NvbXBsZXRlLkxhYmVsS2V5ID0gXCJVc2VyXCI7XHJcbiAgICAgIHRoaXMuQWRkU291cmNlVXNlckF1dG9Db21wbGV0ZS5UeXBlID0gSW5wdXRUeXBlLlRleHQ7XHJcbiAgICAgIHRoaXMuQWRkU291cmNlVXNlckF1dG9Db21wbGV0ZS5Jc1JlcXVpcmVkID0gdHJ1ZTtcclxuICAgICAgdGhpcy5BZGRTb3VyY2VVc2VyQXV0b0NvbXBsZXRlLlZhbHVlID0gbnVsbDtcclxuICAgICAgdGhpcy5BZGRTb3VyY2VVc2VyQXV0b0NvbXBsZXRlLkZvcmNlRGlyZWN0aW9uID0gRm9yY2VEaXJlY3Rpb24uRW5nbGlzaDtcclxuICAgICAgdGhpcy5BZGRTb3VyY2VVc2VyQXV0b0NvbXBsZXRlLkFjdGlvblVSTCA9IHRoaXMuQXBpVXJsICsgXCJBdXRvQ29tcGxldGVVc2VyXCJcclxuICAgICAgdGhpcy5BZGRTb3VyY2VVc2VyQXV0b0NvbXBsZXRlLlZhbGlkYXRpb25Ub2tlbiA9IHRoaXMuYXV0aFNlcnZpY2UuYXV0aG9yaXphdGlvbkhlYWRlclZhbHVlKClcclxuXHJcbiAgICAgIHRoaXMuQWRkRGVzdGluYXRpb25Vc2VyQXV0b0NvbXBsZXRlID0gbmV3IEF1dG9jb21wbGV0ZU9wdGlvbnMoKTtcclxuICAgICAgdGhpcy5BZGREZXN0aW5hdGlvblVzZXJBdXRvQ29tcGxldGUuTmFtZSA9IFwiRGVzdGluYXRpb25QYXJ0aWNpcGFudERUTy5Vc2VySURfR1VJRFwiO1xyXG4gICAgICB0aGlzLkFkZERlc3RpbmF0aW9uVXNlckF1dG9Db21wbGV0ZS5MYWJlbEtleSA9IFwiVXNlclwiO1xyXG4gICAgICB0aGlzLkFkZERlc3RpbmF0aW9uVXNlckF1dG9Db21wbGV0ZS5UeXBlID0gSW5wdXRUeXBlLlRleHQ7XHJcbiAgICAgIHRoaXMuQWRkRGVzdGluYXRpb25Vc2VyQXV0b0NvbXBsZXRlLklzUmVxdWlyZWQgPSB0cnVlO1xyXG4gICAgICB0aGlzLkFkZERlc3RpbmF0aW9uVXNlckF1dG9Db21wbGV0ZS5WYWx1ZSA9IG51bGw7XHJcbiAgICAgIHRoaXMuQWRkRGVzdGluYXRpb25Vc2VyQXV0b0NvbXBsZXRlLkFjdGlvblVSTCA9IHRoaXMuQXBpVXJsICsgXCJBdXRvQ29tcGxldGVVc2VyXCJcclxuICAgICAgdGhpcy5BZGREZXN0aW5hdGlvblVzZXJBdXRvQ29tcGxldGUuVmFsaWRhdGlvblRva2VuID0gdGhpcy5hdXRoU2VydmljZS5hdXRob3JpemF0aW9uSGVhZGVyVmFsdWUoKVxyXG5cclxuICAgICAgdGhpcy5BZGRJc0FjdGl2ZSA9IG5ldyBDaGVja0JveE9wdGlvbnMoKTtcclxuICAgICAgdGhpcy5BZGRJc0FjdGl2ZS5OYW1lID0gXCJJc0FjdGl2ZVwiXHJcbiAgICAgIHRoaXMuQWRkSXNBY3RpdmUuTGFiZWxLZXkgPSBcIkFjdGl2ZVwiXHJcbiAgICAgIHRoaXMuQWRkSXNBY3RpdmUuVmFsdWUgPSB0cnVlXHJcblxyXG4gICAgICB0aGlzLkFkZEV4cGlyZXNBdCA9IG5ldyBEYXRlUGlja2VyT3B0aW9ucygpO1xyXG4gICAgICB0aGlzLkFkZEV4cGlyZXNBdC5OYW1lID0gXCJFeHBpcmVzQXRcIlxyXG4gICAgICB0aGlzLkFkZEV4cGlyZXNBdC5MYWJlbEtleSA9IFwiRXhwaXJlc0F0XCJcclxuICAgICAgdGhpcy5BZGRFeHBpcmVzQXQuSXNSZXF1aXJlZCA9IHRydWVcclxuICAgICAgdGhpcy5BZGRFeHBpcmVzQXQuU3RhcnRWaWV3ID0gU3RhcnRWaWV3Lk1vbnRoXHJcbiAgICAgIHRoaXMuQWRkRXhwaXJlc0F0LlBpY2tlclR5cGUgPSBQaWNrZXJUeXBlLkNhbGVuZGFyXHJcbiAgICAgIHRoaXMuQWRkRXhwaXJlc0F0LlNlbGVjdE1vZGUgPSBTZWxlY3RNb2RlLlNpbmdsZVxyXG4gICAgICB0aGlzLkFkZEV4cGlyZXNBdC5TdGFydERhdGUgPSBuZXcgRGF0ZSgpXHJcblxyXG4gICAgICB0aGlzLm1vZGFsU2VydmljZS5vcGVuKEFkZEltcGVyc29uYXRpb25Nb2RhbCk7XHJcbiAgICAgIHRoaXMudXRpbGl0eVNlcnZpY2Uuc3RvcEJsb2NrVUkoKTtcclxuICAgIH0pO1xyXG5cclxuXHJcbiAgfVxyXG4gIGdldEFkZEltcGVyc29uYXRpb25SdWxlTW9kZWwgPSAoKSA9PiB7XHJcbiAgICBsZXQgcGFyYW1BcnJheTogYW55W10gPSBbXTtcclxuICAgIGxldCBSZXN1bHRNb2RlbCA9IHRoaXMuQWRkSW1wZXJzb25hdGlvbkZvcm0udmFsdWUgIGFzIGFueTtcclxuXHJcbiAgICBsZXQgQWRkTW9kZWw6IEltcGVyc29uYXRpb25SdWxlTW9kZWwgPSBuZXcgSW1wZXJzb25hdGlvblJ1bGVNb2RlbCgpO1xyXG4gICAgQWRkTW9kZWwuU291cmNlUGFydGljaXBhbnREVE8uUGFydGljaXBhbnRUeXBlSXRlbUlEX0dVSUQgPSBSZXN1bHRNb2RlbFtcIlNvdXJjZVBhcnRpY2lwYW50RFRPLlBhcnRpY2lwYW50VHlwZUl0ZW1JRF9HVUlEXCJdXHJcbiAgICBBZGRNb2RlbC5EZXN0aW5hdGlvblBhcnRpY2lwYW50RFRPLlBhcnRpY2lwYW50VHlwZUl0ZW1JRF9HVUlEID0gUmVzdWx0TW9kZWxbXCJEZXN0aW5hdGlvblBhcnRpY2lwYW50RFRPLlBhcnRpY2lwYW50VHlwZUl0ZW1JRF9HVUlEXCJdXHJcbiAgICBBZGRNb2RlbC5FeHBpcmVzQXQgPSBSZXN1bHRNb2RlbC5FeHBpcmVzQXRcclxuICAgIEFkZE1vZGVsLklzQWN0aXZlID0gUmVzdWx0TW9kZWwuSXNBY3RpdmVcclxuICAgIGlmIChSZXN1bHRNb2RlbFtcIkRlc3RpbmF0aW9uUGFydGljaXBhbnREVE8uVXNlcklEX0dVSURcIl0pXHJcbiAgICAgIEFkZE1vZGVsLkRlc3RpbmF0aW9uUGFydGljaXBhbnREVE8uVXNlcklEX0dVSUQgPSBSZXN1bHRNb2RlbFtcIkRlc3RpbmF0aW9uUGFydGljaXBhbnREVE8uVXNlcklEX0dVSURcIl0ua2V5XHJcbiAgICBlbHNlXHJcbiAgICAgIEFkZE1vZGVsLkRlc3RpbmF0aW9uUGFydGljaXBhbnREVE8uUGVybWlzc2lvblNldElEX0dVSUQgPSBSZXN1bHRNb2RlbFtcIkRlc3RpbmF0aW9uUGFydGljaXBhbnREVE8uUGVybWlzc2lvblNldElEX0dVSURcIl1cclxuXHJcbiAgICBpZiAoUmVzdWx0TW9kZWxbXCJTb3VyY2VQYXJ0aWNpcGFudERUTy5Vc2VySURfR1VJRFwiXSlcclxuICAgICAgQWRkTW9kZWwuU291cmNlUGFydGljaXBhbnREVE8uVXNlcklEX0dVSUQgPSBSZXN1bHRNb2RlbFtcIlNvdXJjZVBhcnRpY2lwYW50RFRPLlVzZXJJRF9HVUlEXCJdLmtleVxyXG4gICAgZWxzZVxyXG4gICAgICBBZGRNb2RlbC5Tb3VyY2VQYXJ0aWNpcGFudERUTy5QZXJtaXNzaW9uU2V0SURfR1VJRCA9IFJlc3VsdE1vZGVsW1wiU291cmNlUGFydGljaXBhbnREVE8uUGVybWlzc2lvblNldElEX0dVSURcIl1cclxuICAgIHBhcmFtQXJyYXkucHVzaChBZGRNb2RlbCk7XHJcbiAgICByZXR1cm4gcGFyYW1BcnJheTtcclxuICB9XHJcblxyXG4gIGdldEFkZEltcGVyc29uYXRpb25SdWxlRnVuY3Rpb24gPSAoQWRkTW9kZWwpOiBPYnNlcnZhYmxlPGFueT4gPT4ge1xyXG4gICAgcmV0dXJuIHRoaXMuSW1wZXJzb25hdGlvblJ1bGVTZXJ2aWNlLmFkZEltcGVyc29uYXRpb25SdWxlKEFkZE1vZGVsKVxyXG4gIH1cclxuXHJcblxyXG4gIGFkZERlc3RpbmF0aW9uUGFydGljaXBhbnRPbkNoYW5nZShrZXkpIHtcclxuICAgIGtleSA9IGtleT8udG9Mb3dlckNhc2UoKTtcclxuICAgIHN3aXRjaCAoa2V5KSB7XHJcbiAgICAgIGNhc2UgUGFydGljaXBhbnRUeXBlLlBlcm1pc3Npb25TZXQ6XHJcbiAgICAgICAgdGhpcy5BZGRTaG93RGVzdGluYXRpb25QZXJtaXNzaW9uTGlzdCA9IHRydWU7XHJcbiAgICAgICAgdGhpcy5BZGRTaG93RGVzdGluYXRpb25Vc2VyQXV0b0NvbXBsZXRlID0gZmFsc2U7XHJcbiAgICAgICAgYnJlYWs7XHJcbiAgICAgIGNhc2UgUGFydGljaXBhbnRUeXBlLlVzZXI6XHJcbiAgICAgICAgdGhpcy5BZGRTaG93RGVzdGluYXRpb25QZXJtaXNzaW9uTGlzdCA9IGZhbHNlO1xyXG4gICAgICAgIHRoaXMuQWRkU2hvd0Rlc3RpbmF0aW9uVXNlckF1dG9Db21wbGV0ZSA9IHRydWU7XHJcbiAgICAgICAgYnJlYWs7XHJcblxyXG4gICAgICBkZWZhdWx0OlxyXG4gICAgICAgIGJyZWFrO1xyXG4gICAgfVxyXG5cclxuICB9XHJcblxyXG4gIGFkZFNvdXJjZVBhcnRpY2lwYW50T25DaGFuZ2Uoa2V5KSB7XHJcbiAgICBrZXkgPSBrZXk/LnRvTG93ZXJDYXNlKCk7XHJcbiAgICBzd2l0Y2ggKGtleSkge1xyXG4gICAgICBjYXNlIFBhcnRpY2lwYW50VHlwZS5QZXJtaXNzaW9uU2V0OlxyXG4gICAgICAgIHRoaXMuQWRkU2hvd1NvdXJjZVBlcm1pc3Npb25MaXN0ID0gdHJ1ZTtcclxuICAgICAgICB0aGlzLkFkZFNob3dTb3VyY2VVc2VyQXV0b0NvbXBsZXRlID0gZmFsc2U7XHJcbiAgICAgICAgYnJlYWs7XHJcbiAgICAgIGNhc2UgUGFydGljaXBhbnRUeXBlLlVzZXI6XHJcbiAgICAgICAgdGhpcy5BZGRTaG93U291cmNlUGVybWlzc2lvbkxpc3QgPSBmYWxzZTtcclxuICAgICAgICB0aGlzLkFkZFNob3dTb3VyY2VVc2VyQXV0b0NvbXBsZXRlID0gdHJ1ZTtcclxuICAgICAgICBicmVhaztcclxuXHJcbiAgICAgIGRlZmF1bHQ6XHJcbiAgICAgICAgYnJlYWs7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICAvL0VkaXQgaW1wZXJzb25hdGlvbiBydWxlIGZ1bmN0aW9uc1xyXG4gIHNob3dFZGl0SW1wZXJzb25hdGlvbk1vZGFsKGltcGVyc29uYXRpb25JRDogc3RyaW5nLCBlZGl0SW1wZXJzb25hdGlvbk1vZGFsKSB7XHJcbiAgICB0aGlzLkltcGVyc29uYXRpb25JZCA9IGltcGVyc29uYXRpb25JRDtcclxuXHJcbiAgICB0aGlzLkltcGVyc29uYXRpb25SdWxlU2VydmljZS5nZXRFZGl0SW1wZXJzb25hdGlvblJ1bGUodGhpcy5JbXBlcnNvbmF0aW9uSWQpLnN1YnNjcmliZSgocmVzdWx0KSA9PiB7XHJcbiAgICAgIGxldCByZXN1bHRPYmogPSByZXN1bHQgYXMgYW55O1xyXG4gICAgICBsZXQgaW1wZXJzb25hdGlvbiA9IHJlc3VsdE9iai5tb2RlbDtcclxuICAgICAgbGV0IGxpc3RzID0gcmVzdWx0T2JqLmxpc3RzO1xyXG4gICAgICB0aGlzLlBlcm1pc3Npb25TZXRMaXN0ID0gbGlzdHMucGVybWlzc2lvbkxpc3Q7XHJcbiAgICAgIHRoaXMuUGFydGljaXBhbnRUeXBlTGlzdCA9IGxpc3RzLnBhcnRpY2lwYW50VHlwZUxpc3Q7XHJcblxyXG4gICAgICB0aGlzLkVkaXRJbXBlcnNvbmF0aW9uRm9ybSA9IG5ldyBGb3JtR3JvdXAoe30pXHJcblxyXG4gICAgICB0aGlzLkVkaXRJbXBlcnNvbmF0aW9uRm9ybU9wdGlvbnMgPSBuZXcgRm9ybU9wdGlvbnMoKTtcclxuICAgICAgdGhpcy5FZGl0SW1wZXJzb25hdGlvbkZvcm1PcHRpb25zLkZvcm1Hcm91cCA9IHRoaXMuRWRpdEltcGVyc29uYXRpb25Gb3JtXHJcbiAgICAgIHRoaXMuRWRpdEltcGVyc29uYXRpb25Gb3JtT3B0aW9ucy5HZXRNb2RlbEZ1bmN0aW9uID0gdGhpcy5nZXRFZGl0SW1wZXJzb25hdGlvblJ1bGVNb2RlbDtcclxuICAgICAgdGhpcy5FZGl0SW1wZXJzb25hdGlvbkZvcm1PcHRpb25zLlNlcnZpY2VTdWJtaXRGdW5jdGlvbiA9IHRoaXMuZ2V0RWRpdEltcGVyc29uYXRpb25SdWxlRnVuY3Rpb247XHJcbiAgICAgIHRoaXMuRWRpdEltcGVyc29uYXRpb25Gb3JtT3B0aW9ucy5QYWdpbmdSZWZlcmVuY2UgPSB0aGlzLnBhZ2luZ0VsZW1lbnRcclxuICAgICAgdGhpcy5FZGl0SW1wZXJzb25hdGlvbkZvcm1PcHRpb25zLlBhZ2luZ0FjdGlvbk1vZGUgPSBQYWdpbmdBY3Rpb25Nb2RlLlVwZGF0ZVxyXG5cclxuICAgICAgdGhpcy5FZGl0U2hvd0Rlc3RpbmF0aW9uUGVybWlzc2lvbkxpc3QgPSBmYWxzZTtcclxuICAgICAgdGhpcy5FZGl0U2hvd0Rlc3RpbmF0aW9uVXNlckF1dG9Db21wbGV0ZSA9IGZhbHNlO1xyXG4gICAgICB0aGlzLkVkaXRTaG93U291cmNlUGVybWlzc2lvbkxpc3QgPSBmYWxzZVxyXG4gICAgICB0aGlzLkVkaXRTaG93U291cmNlVXNlckF1dG9Db21wbGV0ZSA9IGZhbHNlXHJcblxyXG4gICAgICBpZiAoaW1wZXJzb25hdGlvbi5zb3VyY2VQYXJ0aWNpcGFudERUTy5wYXJ0aWNpcGFudFR5cGVJdGVtSURfR1VJRCAhPSBudWxsICYmIGltcGVyc29uYXRpb24uZGVzdGluYXRpb25QYXJ0aWNpcGFudERUTy5wYXJ0aWNpcGFudFR5cGVJdGVtSURfR1VJRCkge1xyXG4gICAgICAgIHRoaXMuZWRpdERlc3RpbmF0aW9uUGFydGljaXBhbnRPbkNoYW5nZShpbXBlcnNvbmF0aW9uLmRlc3RpbmF0aW9uUGFydGljaXBhbnREVE8ucGFydGljaXBhbnRUeXBlSXRlbUlEX0dVSUQpO1xyXG4gICAgICAgIHRoaXMuZWRpdFNvdXJjZVBhcnRpY2lwYW50T25DaGFuZ2UoaW1wZXJzb25hdGlvbi5zb3VyY2VQYXJ0aWNpcGFudERUTy5wYXJ0aWNpcGFudFR5cGVJdGVtSURfR1VJRCk7XHJcbiAgICAgIH1cclxuXHJcbiAgICAgIHRoaXMudXRpbGl0eVNlcnZpY2Uuc3RhcnRCbG9ja1VJKCk7XHJcblxyXG4gICAgICB0aGlzLlNvdXJjZVBhcnRpY2lwYW50SWQgPSBpbXBlcnNvbmF0aW9uLnNvdXJjZVBhcnRpY2lwYW50RFRPLmlEX0dVSUQ7XHJcbiAgICAgIHRoaXMuRGVzdGluYXRpb25QYXJ0aWNpcGFudElkID0gaW1wZXJzb25hdGlvbi5kZXN0aW5hdGlvblBhcnRpY2lwYW50RFRPLmlEX0dVSUQ7XHJcbiAgICAgIHRoaXMuRWRpdFNvdXJjZVBhcnRpY2lwYW50VHlwZSA9IG5ldyBEcm9wZG93bk9wdGlvbnMoKTtcclxuICAgICAgdGhpcy5FZGl0U291cmNlUGFydGljaXBhbnRUeXBlLk5hbWUgPSBcIlNvdXJjZVBhcnRpY2lwYW50RFRPLlBhcnRpY2lwYW50VHlwZUl0ZW1JRF9HVUlEXCJcclxuICAgICAgdGhpcy5FZGl0U291cmNlUGFydGljaXBhbnRUeXBlLkxhYmVsS2V5ID0gXCJTb3VyY2VQYXJ0aWNpcGFudFR5cGVcIlxyXG4gICAgICB0aGlzLkVkaXRTb3VyY2VQYXJ0aWNpcGFudFR5cGUuU2VsZWN0ZWRJdGVtcyA9IGltcGVyc29uYXRpb24uc291cmNlUGFydGljaXBhbnREVE8ucGFydGljaXBhbnRUeXBlSXRlbUlEX0dVSUQ/LnRvTG93ZXJDYXNlKCk7XHJcbiAgICAgIHRoaXMuRWRpdFNvdXJjZVBhcnRpY2lwYW50VHlwZS5EYXRhU291cmNlID0gdGhpcy5QYXJ0aWNpcGFudFR5cGVMaXN0XHJcbiAgICAgIHRoaXMuRWRpdFNvdXJjZVBhcnRpY2lwYW50VHlwZS5TaW5nbGVTZWxlY3Rpb24gPSB0cnVlO1xyXG4gICAgICB0aGlzLkVkaXRTb3VyY2VQYXJ0aWNpcGFudFR5cGUuQWxsb3dTZWFyY2hGaWx0ZXIgPSB0cnVlO1xyXG4gICAgICB0aGlzLkVkaXRTb3VyY2VQYXJ0aWNpcGFudFR5cGUuSXNSZXF1aXJlZCA9IHRydWU7XHJcblxyXG4gICAgICB0aGlzLkVkaXREZXN0aW5hdGlvblBhcnRpY2lwYW50VHlwZSA9IG5ldyBEcm9wZG93bk9wdGlvbnMoKTtcclxuICAgICAgdGhpcy5FZGl0RGVzdGluYXRpb25QYXJ0aWNpcGFudFR5cGUuTmFtZSA9IFwiRGVzdGluYXRpb25QYXJ0aWNpcGFudERUTy5QYXJ0aWNpcGFudFR5cGVJdGVtSURfR1VJRFwiXHJcbiAgICAgIHRoaXMuRWRpdERlc3RpbmF0aW9uUGFydGljaXBhbnRUeXBlLkxhYmVsS2V5ID0gXCJEZXN0aW5hdGlvblBhcnRpY2lwYW50VHlwZVwiXHJcbiAgICAgIHRoaXMuRWRpdERlc3RpbmF0aW9uUGFydGljaXBhbnRUeXBlLlNlbGVjdGVkSXRlbXMgPSBpbXBlcnNvbmF0aW9uLmRlc3RpbmF0aW9uUGFydGljaXBhbnREVE8ucGFydGljaXBhbnRUeXBlSXRlbUlEX0dVSUQ/LnRvTG93ZXJDYXNlKCk7XHJcbiAgICAgIHRoaXMuRWRpdERlc3RpbmF0aW9uUGFydGljaXBhbnRUeXBlLkRhdGFTb3VyY2UgPSB0aGlzLlBhcnRpY2lwYW50VHlwZUxpc3RcclxuICAgICAgdGhpcy5FZGl0RGVzdGluYXRpb25QYXJ0aWNpcGFudFR5cGUuU2luZ2xlU2VsZWN0aW9uID0gdHJ1ZTtcclxuICAgICAgdGhpcy5FZGl0RGVzdGluYXRpb25QYXJ0aWNpcGFudFR5cGUuQWxsb3dTZWFyY2hGaWx0ZXIgPSB0cnVlO1xyXG4gICAgICB0aGlzLkVkaXREZXN0aW5hdGlvblBhcnRpY2lwYW50VHlwZS5Jc1JlcXVpcmVkID0gdHJ1ZTtcclxuXHJcbiAgICAgIGxldCBzb3VyY2VQZXJtaXNzaW9uU2V0U2VsZWN0ZWRJdGVtO1xyXG4gICAgICBsZXQgc291cmNlVXNlck1vZGVsID0gbmV3IEF1dG9jb21wbGV0ZURUTygpO1xyXG4gICAgICBpZiAoaW1wZXJzb25hdGlvbi5zb3VyY2VQYXJ0aWNpcGFudERUTy5wYXJ0aWNpcGFudFR5cGVJdGVtSURfR1VJRD8udG9Mb3dlckNhc2UoKSA9PSBQYXJ0aWNpcGFudFR5cGUuVXNlcikge1xyXG4gICAgICAgIHNvdXJjZVVzZXJNb2RlbC5rZXkgPSBpbXBlcnNvbmF0aW9uLnNvdXJjZVBhcnRpY2lwYW50RFRPLnVzZXJJRF9HVUlEXHJcbiAgICAgICAgc291cmNlVXNlck1vZGVsLnZhbHVlID0gaW1wZXJzb25hdGlvbi5zb3VyY2VQYXJ0aWNpcGFudERUTy5wYXJ0aWNpcGFudE5hbWVTdHI7XHJcbiAgICAgIH1cclxuICAgICAgZWxzZSB7XHJcbiAgICAgICAgc291cmNlUGVybWlzc2lvblNldFNlbGVjdGVkSXRlbSA9IGltcGVyc29uYXRpb24uc291cmNlUGFydGljaXBhbnREVE8ucGVybWlzc2lvblNldElEX0dVSUQ/LnRvTG93ZXJDYXNlKCk7XHJcbiAgICAgIH1cclxuICAgICAgdGhpcy5FZGl0U291cmNlUGVybWlzc2lvblNldExpc3QgPSBuZXcgRHJvcGRvd25PcHRpb25zKCk7XHJcbiAgICAgIHRoaXMuRWRpdFNvdXJjZVBlcm1pc3Npb25TZXRMaXN0Lk5hbWUgPSBcIlNvdXJjZVBhcnRpY2lwYW50RFRPLlBlcm1pc3Npb25TZXRJRF9HVUlEXCJcclxuICAgICAgdGhpcy5FZGl0U291cmNlUGVybWlzc2lvblNldExpc3QuTGFiZWxLZXkgPSBcIlNvdXJjZVBlcm1pc3Npb25TZXRMaXN0XCJcclxuICAgICAgdGhpcy5FZGl0U291cmNlUGVybWlzc2lvblNldExpc3QuU2VsZWN0ZWRJdGVtcyA9IHNvdXJjZVBlcm1pc3Npb25TZXRTZWxlY3RlZEl0ZW07XHJcbiAgICAgIHRoaXMuRWRpdFNvdXJjZVBlcm1pc3Npb25TZXRMaXN0LkRhdGFTb3VyY2UgPSB0aGlzLlBlcm1pc3Npb25TZXRMaXN0XHJcbiAgICAgIHRoaXMuRWRpdFNvdXJjZVBlcm1pc3Npb25TZXRMaXN0LlNpbmdsZVNlbGVjdGlvbiA9IHRydWU7XHJcbiAgICAgIHRoaXMuRWRpdFNvdXJjZVBlcm1pc3Npb25TZXRMaXN0LkFsbG93U2VhcmNoRmlsdGVyID0gdHJ1ZTtcclxuICAgICAgdGhpcy5FZGl0U291cmNlUGVybWlzc2lvblNldExpc3QuSXNSZXF1aXJlZCA9IHRydWU7XHJcblxyXG4gICAgICB0aGlzLkVkaXRTb3VyY2VVc2VyQXV0b0NvbXBsZXRlID0gbmV3IEF1dG9jb21wbGV0ZU9wdGlvbnMoKTtcclxuICAgICAgdGhpcy5FZGl0U291cmNlVXNlckF1dG9Db21wbGV0ZS5OYW1lID0gXCJTb3VyY2VQYXJ0aWNpcGFudERUTy5Vc2VySURfR1VJRFwiO1xyXG4gICAgICB0aGlzLkVkaXRTb3VyY2VVc2VyQXV0b0NvbXBsZXRlLkxhYmVsS2V5ID0gXCJVc2VyXCI7XHJcbiAgICAgIHRoaXMuRWRpdFNvdXJjZVVzZXJBdXRvQ29tcGxldGUuVHlwZSA9IElucHV0VHlwZS5UZXh0O1xyXG4gICAgICB0aGlzLkVkaXRTb3VyY2VVc2VyQXV0b0NvbXBsZXRlLklzUmVxdWlyZWQgPSB0cnVlO1xyXG4gICAgICB0aGlzLkVkaXRTb3VyY2VVc2VyQXV0b0NvbXBsZXRlLlNlbGVjdGVkVmFsdWUgPSBzb3VyY2VVc2VyTW9kZWw7XHJcbiAgICAgIHRoaXMuRWRpdFNvdXJjZVVzZXJBdXRvQ29tcGxldGUuQWN0aW9uVVJMID0gIHRoaXMuQXBpVXJsICsgXCJBdXRvQ29tcGxldGVVc2VyXCJcclxuICAgICAgdGhpcy5FZGl0U291cmNlVXNlckF1dG9Db21wbGV0ZS5WYWxpZGF0aW9uVG9rZW4gPSB0aGlzLmF1dGhTZXJ2aWNlLmF1dGhvcml6YXRpb25IZWFkZXJWYWx1ZSgpXHJcblxyXG4gICAgICBsZXQgZGVzdGluYXRpb25QZXJtaXNzaW9uU2V0U2VsZWN0ZWRJdGVtO1xyXG4gICAgICBsZXQgZGVzdGluYXRpb25Vc2VyTW9kZWwgPSBuZXcgQXV0b2NvbXBsZXRlRFRPKCk7XHJcbiAgICAgIGlmIChpbXBlcnNvbmF0aW9uLmRlc3RpbmF0aW9uUGFydGljaXBhbnREVE8ucGFydGljaXBhbnRUeXBlSXRlbUlEX0dVSUQgPT0gUGFydGljaXBhbnRUeXBlLlVzZXIpIHtcclxuICAgICAgICBkZXN0aW5hdGlvblVzZXJNb2RlbC5rZXkgPSBpbXBlcnNvbmF0aW9uLmRlc3RpbmF0aW9uUGFydGljaXBhbnREVE8udXNlcklEX0dVSURcclxuICAgICAgICBkZXN0aW5hdGlvblVzZXJNb2RlbC52YWx1ZSA9IGltcGVyc29uYXRpb24uZGVzdGluYXRpb25QYXJ0aWNpcGFudERUTy5wYXJ0aWNpcGFudE5hbWVTdHI7XHJcbiAgICAgIH1cclxuICAgICAgZWxzZSB7XHJcbiAgICAgICAgZGVzdGluYXRpb25QZXJtaXNzaW9uU2V0U2VsZWN0ZWRJdGVtID0gaW1wZXJzb25hdGlvbi5kZXN0aW5hdGlvblBhcnRpY2lwYW50RFRPLnBlcm1pc3Npb25TZXRJRF9HVUlEPy50b0xvd2VyQ2FzZSgpO1xyXG4gICAgICB9XHJcbiAgICAgIHRoaXMuRWRpdERlc3RpbmF0aW9uUGVybWlzc2lvblNldExpc3QgPSBuZXcgRHJvcGRvd25PcHRpb25zKCk7XHJcbiAgICAgIHRoaXMuRWRpdERlc3RpbmF0aW9uUGVybWlzc2lvblNldExpc3QuTmFtZSA9IFwiRGVzdGluYXRpb25QYXJ0aWNpcGFudERUTy5QZXJtaXNzaW9uU2V0SURfR1VJRFwiXHJcbiAgICAgIHRoaXMuRWRpdERlc3RpbmF0aW9uUGVybWlzc2lvblNldExpc3QuTGFiZWxLZXkgPSBcIkRlc3RpbmF0aW9uUGVybWlzc2lvblNldExpc3RcIlxyXG4gICAgICB0aGlzLkVkaXREZXN0aW5hdGlvblBlcm1pc3Npb25TZXRMaXN0LlNlbGVjdGVkSXRlbXMgPSBkZXN0aW5hdGlvblBlcm1pc3Npb25TZXRTZWxlY3RlZEl0ZW1cclxuICAgICAgdGhpcy5FZGl0RGVzdGluYXRpb25QZXJtaXNzaW9uU2V0TGlzdC5EYXRhU291cmNlID0gdGhpcy5QZXJtaXNzaW9uU2V0TGlzdFxyXG4gICAgICB0aGlzLkVkaXREZXN0aW5hdGlvblBlcm1pc3Npb25TZXRMaXN0LlNpbmdsZVNlbGVjdGlvbiA9IHRydWU7XHJcbiAgICAgIHRoaXMuRWRpdERlc3RpbmF0aW9uUGVybWlzc2lvblNldExpc3QuQWxsb3dTZWFyY2hGaWx0ZXIgPSB0cnVlO1xyXG4gICAgICB0aGlzLkVkaXREZXN0aW5hdGlvblBlcm1pc3Npb25TZXRMaXN0LklzUmVxdWlyZWQgPSB0cnVlO1xyXG5cclxuXHJcbiAgICAgIHRoaXMuRWRpdERlc3RpbmF0aW9uVXNlckF1dG9Db21wbGV0ZSA9IG5ldyBBdXRvY29tcGxldGVPcHRpb25zKCk7XHJcbiAgICAgIHRoaXMuRWRpdERlc3RpbmF0aW9uVXNlckF1dG9Db21wbGV0ZS5OYW1lID0gXCJEZXN0aW5hdGlvblBhcnRpY2lwYW50RFRPLlVzZXJJRF9HVUlEXCI7XHJcbiAgICAgIHRoaXMuRWRpdERlc3RpbmF0aW9uVXNlckF1dG9Db21wbGV0ZS5MYWJlbEtleSA9IFwiVXNlclwiO1xyXG4gICAgICB0aGlzLkVkaXREZXN0aW5hdGlvblVzZXJBdXRvQ29tcGxldGUuVHlwZSA9IElucHV0VHlwZS5UZXh0O1xyXG4gICAgICB0aGlzLkVkaXREZXN0aW5hdGlvblVzZXJBdXRvQ29tcGxldGUuSXNSZXF1aXJlZCA9IHRydWU7XHJcbiAgICAgIHRoaXMuRWRpdERlc3RpbmF0aW9uVXNlckF1dG9Db21wbGV0ZS5TZWxlY3RlZFZhbHVlID0gZGVzdGluYXRpb25Vc2VyTW9kZWxcclxuICAgICAgdGhpcy5FZGl0RGVzdGluYXRpb25Vc2VyQXV0b0NvbXBsZXRlLkFjdGlvblVSTCA9IHRoaXMuQXBpVXJsICsgXCJBdXRvQ29tcGxldGVVc2VyXCJcclxuICAgICAgdGhpcy5FZGl0RGVzdGluYXRpb25Vc2VyQXV0b0NvbXBsZXRlLlZhbGlkYXRpb25Ub2tlbiA9IHRoaXMuYXV0aFNlcnZpY2UuYXV0aG9yaXphdGlvbkhlYWRlclZhbHVlKClcclxuXHJcbiAgICAgIHRoaXMuRWRpdElzQWN0aXZlID0gbmV3IENoZWNrQm94T3B0aW9ucygpO1xyXG4gICAgICB0aGlzLkVkaXRJc0FjdGl2ZS5OYW1lID0gXCJJc0FjdGl2ZVwiXHJcbiAgICAgIHRoaXMuRWRpdElzQWN0aXZlLkxhYmVsS2V5ID0gXCJBY3RpdmVcIlxyXG4gICAgICB0aGlzLkVkaXRJc0FjdGl2ZS5WYWx1ZSA9IGltcGVyc29uYXRpb24uaXNBY3RpdmVcclxuXHJcbiAgICAgIHRoaXMuRWRpdEV4cGlyZXNBdCA9IG5ldyBEYXRlUGlja2VyT3B0aW9ucygpO1xyXG4gICAgICB0aGlzLkVkaXRFeHBpcmVzQXQuTmFtZSA9IFwiRXhwaXJlc0F0XCJcclxuICAgICAgdGhpcy5FZGl0RXhwaXJlc0F0LkxhYmVsS2V5ID0gXCJFeHBpcmVzQXRcIlxyXG4gICAgICB0aGlzLkVkaXRFeHBpcmVzQXQuSXNSZXF1aXJlZCA9IHRydWVcclxuICAgICAgdGhpcy5FZGl0RXhwaXJlc0F0LlZhbHVlID0gaW1wZXJzb25hdGlvbi5leHBpcmVzQXRcclxuICAgICAgdGhpcy5FZGl0RXhwaXJlc0F0LlN0YXJ0VmlldyA9IFN0YXJ0Vmlldy5Nb250aFxyXG4gICAgICB0aGlzLkVkaXRFeHBpcmVzQXQuUGlja2VyVHlwZSA9IFBpY2tlclR5cGUuQ2FsZW5kYXJcclxuICAgICAgdGhpcy5FZGl0RXhwaXJlc0F0LlNlbGVjdE1vZGUgPSBTZWxlY3RNb2RlLlNpbmdsZVxyXG4gICAgICB0aGlzLkVkaXRFeHBpcmVzQXQuU3RhcnREYXRlID0gbmV3IERhdGUoKVxyXG5cclxuXHJcbiAgICAgIHRoaXMubW9kYWxTZXJ2aWNlLm9wZW4oZWRpdEltcGVyc29uYXRpb25Nb2RhbCk7XHJcbiAgICAgIHRoaXMudXRpbGl0eVNlcnZpY2Uuc3RvcEJsb2NrVUkoKVxyXG4gICAgfSk7XHJcblxyXG4gIH1cclxuXHJcbiAgZ2V0RWRpdEltcGVyc29uYXRpb25SdWxlTW9kZWwgPSAoKSA9PiB7XHJcbiAgICBsZXQgcGFyYW1BcnJheTogYW55W10gPSBbXTtcclxuICAgIGxldCBSZXN1bHRNb2RlbCA9IHRoaXMuRWRpdEltcGVyc29uYXRpb25Gb3JtLnZhbHVlIGFzIGFueTtcclxuXHJcbiAgICBsZXQgRWRpdE1vZGVsOiBJbXBlcnNvbmF0aW9uUnVsZU1vZGVsID0gbmV3IEltcGVyc29uYXRpb25SdWxlTW9kZWwoKTtcclxuICAgIEVkaXRNb2RlbC5JRF9HVUlEID0gdGhpcy5JbXBlcnNvbmF0aW9uSWRcclxuICAgIEVkaXRNb2RlbC5EZXN0aW5hdGlvblBhcnRpY2lwYW50RFRPLklEX0dVSUQgPSB0aGlzLkRlc3RpbmF0aW9uUGFydGljaXBhbnRJZFxyXG4gICAgRWRpdE1vZGVsLlNvdXJjZVBhcnRpY2lwYW50RFRPLklEX0dVSUQgPSB0aGlzLlNvdXJjZVBhcnRpY2lwYW50SWRcclxuICAgIEVkaXRNb2RlbC5Tb3VyY2VQYXJ0aWNpcGFudERUTy5QYXJ0aWNpcGFudFR5cGVJdGVtSURfR1VJRCA9IFJlc3VsdE1vZGVsW1wiU291cmNlUGFydGljaXBhbnREVE8uUGFydGljaXBhbnRUeXBlSXRlbUlEX0dVSURcIl1cclxuICAgIEVkaXRNb2RlbC5EZXN0aW5hdGlvblBhcnRpY2lwYW50RFRPLlBhcnRpY2lwYW50VHlwZUl0ZW1JRF9HVUlEID0gUmVzdWx0TW9kZWxbXCJEZXN0aW5hdGlvblBhcnRpY2lwYW50RFRPLlBhcnRpY2lwYW50VHlwZUl0ZW1JRF9HVUlEXCJdXHJcbiAgICBFZGl0TW9kZWwuRXhwaXJlc0F0ID0gUmVzdWx0TW9kZWwuRXhwaXJlc0F0XHJcbiAgICBFZGl0TW9kZWwuSXNBY3RpdmUgPSBSZXN1bHRNb2RlbC5Jc0FjdGl2ZVxyXG4gICAgIGlmIChFZGl0TW9kZWwuRGVzdGluYXRpb25QYXJ0aWNpcGFudERUTy5QYXJ0aWNpcGFudFR5cGVJdGVtSURfR1VJRCA9PSBQYXJ0aWNpcGFudFR5cGUuVXNlcilcclxuICAgICAgRWRpdE1vZGVsLkRlc3RpbmF0aW9uUGFydGljaXBhbnREVE8uVXNlcklEX0dVSUQgPSBSZXN1bHRNb2RlbFtcIkRlc3RpbmF0aW9uUGFydGljaXBhbnREVE8uVXNlcklEX0dVSURcIl0ua2V5XHJcbiAgICBlbHNlXHJcbiAgICAgIEVkaXRNb2RlbC5EZXN0aW5hdGlvblBhcnRpY2lwYW50RFRPLlBlcm1pc3Npb25TZXRJRF9HVUlEID0gUmVzdWx0TW9kZWxbXCJEZXN0aW5hdGlvblBhcnRpY2lwYW50RFRPLlBlcm1pc3Npb25TZXRJRF9HVUlEXCJdXHJcbiAgICBpZiAoRWRpdE1vZGVsLlNvdXJjZVBhcnRpY2lwYW50RFRPLlBhcnRpY2lwYW50VHlwZUl0ZW1JRF9HVUlEID09IFBhcnRpY2lwYW50VHlwZS5Vc2VyKVxyXG4gICAgICBFZGl0TW9kZWwuU291cmNlUGFydGljaXBhbnREVE8uVXNlcklEX0dVSUQgPSBSZXN1bHRNb2RlbFtcIlNvdXJjZVBhcnRpY2lwYW50RFRPLlVzZXJJRF9HVUlEXCJdLmtleVxyXG4gICAgZWxzZVxyXG4gICAgICBFZGl0TW9kZWwuU291cmNlUGFydGljaXBhbnREVE8uUGVybWlzc2lvblNldElEX0dVSUQgPSBSZXN1bHRNb2RlbFtcIlNvdXJjZVBhcnRpY2lwYW50RFRPLlBlcm1pc3Npb25TZXRJRF9HVUlEXCJdXHJcbiAgICBwYXJhbUFycmF5LnB1c2goRWRpdE1vZGVsKTtcclxuICAgIHJldHVybiBwYXJhbUFycmF5O1xyXG4gIH1cclxuXHJcbiAgZ2V0RWRpdEltcGVyc29uYXRpb25SdWxlRnVuY3Rpb24gPSAoRWRpdE1vZGVsKTogT2JzZXJ2YWJsZTxhbnk+ID0+IHtcclxuICAgIHJldHVybiB0aGlzLkltcGVyc29uYXRpb25SdWxlU2VydmljZS5lZGl0SW1wZXJzb25hdGlvblJ1bGUoRWRpdE1vZGVsKVxyXG4gIH1cclxuXHJcbiAgZWRpdERlc3RpbmF0aW9uUGFydGljaXBhbnRPbkNoYW5nZShrZXkpIHtcclxuICAgIGtleSA9IGtleT8udG9Mb3dlckNhc2UoKTtcclxuICAgIHN3aXRjaCAoa2V5KSB7XHJcbiAgICAgIGNhc2UgUGFydGljaXBhbnRUeXBlLlBlcm1pc3Npb25TZXQ6XHJcbiAgICAgICAgdGhpcy5FZGl0U2hvd0Rlc3RpbmF0aW9uUGVybWlzc2lvbkxpc3QgPSB0cnVlO1xyXG4gICAgICAgIHRoaXMuRWRpdFNob3dEZXN0aW5hdGlvblVzZXJBdXRvQ29tcGxldGUgPSBmYWxzZTtcclxuICAgICAgICBicmVhaztcclxuICAgICAgY2FzZSBQYXJ0aWNpcGFudFR5cGUuVXNlcjpcclxuICAgICAgICB0aGlzLkVkaXRTaG93RGVzdGluYXRpb25QZXJtaXNzaW9uTGlzdCA9IGZhbHNlO1xyXG4gICAgICAgIHRoaXMuRWRpdFNob3dEZXN0aW5hdGlvblVzZXJBdXRvQ29tcGxldGUgPSB0cnVlO1xyXG4gICAgICAgIGJyZWFrO1xyXG4gICAgICBkZWZhdWx0OlxyXG4gICAgICAgIGJyZWFrO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgZWRpdFNvdXJjZVBhcnRpY2lwYW50T25DaGFuZ2Uoa2V5KSB7XHJcbiAgICBrZXkgPSBrZXk/LnRvTG93ZXJDYXNlKCk7XHJcbiAgICBzd2l0Y2ggKGtleSkge1xyXG4gICAgICBjYXNlIFBhcnRpY2lwYW50VHlwZS5QZXJtaXNzaW9uU2V0OlxyXG4gICAgICAgIHRoaXMuRWRpdFNob3dTb3VyY2VQZXJtaXNzaW9uTGlzdCA9IHRydWU7XHJcbiAgICAgICAgdGhpcy5FZGl0U2hvd1NvdXJjZVVzZXJBdXRvQ29tcGxldGUgPSBmYWxzZTtcclxuICAgICAgICBicmVhaztcclxuICAgICAgY2FzZSBQYXJ0aWNpcGFudFR5cGUuVXNlcjpcclxuICAgICAgICB0aGlzLkVkaXRTaG93U291cmNlUGVybWlzc2lvbkxpc3QgPSBmYWxzZTtcclxuICAgICAgICB0aGlzLkVkaXRTaG93U291cmNlVXNlckF1dG9Db21wbGV0ZSA9IHRydWU7XHJcbiAgICAgICAgYnJlYWs7XHJcbiAgICAgIGRlZmF1bHQ6XHJcbiAgICAgICAgYnJlYWs7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICAvL0RlbGV0ZSBJbXBlcnNvbmF0aW9uUnVsZVxyXG4gIHNob3dEZWxldGVJbXBlcnNvbmF0aW9uTW9kYWwoaW1wZXJzb25hdGlvblJ1bGVJRDogc3RyaW5nKSB7XHJcbiAgICB0aGlzLmRlbGV0ZUltcGVyc29uYXRpb25SdWxlSWQgPSBpbXBlcnNvbmF0aW9uUnVsZUlEO1xyXG5cclxuICAgIC8vYXJyYXkgc2VudCB0byBzZXJ2aWNlIGZ1bmN0aW9uXHJcbiAgICBsZXQgcGFyYW1BcnJheTogYW55W10gPSBbXTtcclxuICAgIHBhcmFtQXJyYXkucHVzaCh0aGlzLmRlbGV0ZUltcGVyc29uYXRpb25SdWxlSWQpO1xyXG5cclxuICAgIHRoaXMuRGVsZXRlQ29uZmlybWF0aW9uT3B0aW9ucyA9IG5ldyBDb25maXJtYXRpb25Nb2RhbE9wdGlvbnMoKTtcclxuICAgIHRoaXMuRGVsZXRlQ29uZmlybWF0aW9uT3B0aW9ucy5TZXJ2aWNlU3VibWl0RnVuY3Rpb24gPSB0aGlzLmRlbGV0ZUltcGVyc29uYXRpb247XHJcbiAgICB0aGlzLkRlbGV0ZUNvbmZpcm1hdGlvbk9wdGlvbnMuU2VydmljZVN1Ym1pdE1vZGVsID0gcGFyYW1BcnJheTtcclxuICAgIHRoaXMuRGVsZXRlQ29uZmlybWF0aW9uT3B0aW9ucy5QYWdpbmdSZWZlcmVuY2UgPSB0aGlzLnBhZ2luZ0VsZW1lbnQ7XHJcblxyXG4gICAgdGhpcy5kZWxldGVDb250cm9sTG9hZGVkID0gdHJ1ZTtcclxuICAgIHNldFRpbWVvdXQoKCkgPT4ge1xyXG4gICAgICB0aGlzLkNvbmZpcm1hdGlvbk1vZGFsQ29udHJvbC5zaG93TW9kYWwoKTtcclxuICAgIH0sIDIwMCk7XHJcbiAgfVxyXG5cclxuICBkZWxldGVJbXBlcnNvbmF0aW9uID0gKGlkOiBzdHJpbmcpOiBPYnNlcnZhYmxlPGFueT4gPT4ge1xyXG4gICAgcmV0dXJuIHRoaXMuSW1wZXJzb25hdGlvblJ1bGVTZXJ2aWNlLmRlbGV0ZUltcGVyc29uYXRpb25SdWxlKGlkKTtcclxuICB9XHJcblxyXG4gIC8vT24gZGVzdHJveVxyXG4gIG5nT25EZXN0cm95KCk6IHZvaWQge1xyXG4gICAgdGhpcy5yZXF1ZXN0SGFuZGxlclNlcnZpY2UuZGVzdHJveUhhbmRsZXIoKTtcclxuICB9XHJcblxyXG59XHJcbiIsIjxibG9jay11aT48L2Jsb2NrLXVpPlxyXG48IS0tIFBhZ2UgQ29udGVudCAtLT5cclxuPGRpdiAqbmdJZj1cIlNob3dQYWdlQ29udGVudFwiIGNsYXNzPVwiY29udGFpbmVyLWZsdWlkXCI+XHJcbiAgPGRpdiBjbGFzcz1cImNhcmQgY2FyZC1jdXN0b20taFwiPlxyXG4gICAgPGRpdiBjbGFzcz1cImNhcmQtaGVhZGVyIGJvcmRlci0wIHB0LTVcIj5cclxuICAgICAgPGRpdiBjbGFzcz1cImNhcmQtdGl0bGUgYWxpZ24taXRlbXMtc3RhcnQgZmxleC1jb2x1bW5cIiAqbmdJZj1cIklzRmlsdGVyTG9hZGVkXCI+XHJcbiAgICAgICAgPGZvcm0gW2Zvcm1Hcm91cF09XCJJbXBlcnNvbmF0aW9uRm9ybVwiPlxyXG4gICAgICAgICAgPCEtLShPbkNoYW5nZSk9XCJzZWFyY2hDbGllbnRTaWRlKCRldmVudClcIiAtLT5cclxuICAgICAgICAgIDxCQlNGLVRleHRCb3ggW29wdGlvbnNdPVwic2VhcmNoVGV4dEJveFwiIFtncm91cF09XCJJbXBlcnNvbmF0aW9uRm9ybVwiPjwvQkJTRi1UZXh0Qm94PlxyXG4gICAgICAgIDwvZm9ybT5cclxuICAgICAgPC9kaXY+XHJcbiAgICAgIDxkaXYgY2xhc3M9XCJjYXJkLXRvb2xiYXJcIj5cclxuICAgICAgICA8IS0tIGJlZ2luOjpNZW51IC0tPlxyXG4gICAgICAgIDxidXR0b24gdHlwZT1cImJ1dHRvblwiIGNsYXNzPVwiYnRuIGJ0bi1zbSBidG4tcHJpbWFyeVwiIHRpdGxlPVwiQWRkXCIgKGNsaWNrKT1cInNob3dBZGRJbXBlcnNvbmF0aW9uTW9kYWwoQWRkSW1wZXJzb25hdGlvbk1vZGFsKVwiPlxyXG4gICAgICAgICAgPGkgY2xhc3M9XCJmYXMgZmEtcGx1cyBtZS0xXCI+PC9pPlxyXG4gICAgICAgICAge3t1dGlsaXR5U2VydmljZS5nZXRSZXNvdXJjZVZhbHVlKFwiQWRkXCIpfX1cclxuICAgICAgICA8L2J1dHRvbj5cclxuXHJcbiAgICAgICAgPCEtLSBlbmQ6Ok1lbnUgLS0+XHJcbiAgICAgIDwvZGl2PlxyXG4gICAgPC9kaXY+XHJcbiAgICA8ZGl2IGNsYXNzPVwiY2FyZC1ib2R5IHB5LTNcIj5cclxuICAgICAgPGRpdiBjbGFzcz1cInRhYmxlLXJlc3BvbnNpdmVcIj5cclxuICAgICAgICA8IS0tYmVnaW46OlBlcm1pc3Npb24gbGlzdC0tPlxyXG4gICAgICAgIDx0YWJsZSBjbGFzcz1cInRhYmxlIGFsaWduLW1pZGRsZSB0YWJsZS1yb3ctZGFzaGVkIGZzLTYgZ3ktNSBkYXRhVGFibGUgbm8tZm9vdGVyXCI+XHJcbiAgICAgICAgICA8dGhlYWQ+XHJcbiAgICAgICAgICAgIDx0ciBjbGFzcz1cInRleHQtc3RhcnQgdGV4dC1ncmF5LTQwMCBmdy1ib2xkZXIgZnMtNyB0ZXh0LXVwcGVyY2FzZSBncy0wXCI+XHJcblxyXG4gICAgICAgICAgICAgIDx0aCBjbGFzcz1cIm1pbi13LTE1MHB4XCI+IFt7e3V0aWxpdHlTZXJ2aWNlLmdldFJlc291cmNlVmFsdWUoXCJQYXJ0aWNpcGFudFR5cGVcIil9fV0ge3t1dGlsaXR5U2VydmljZS5nZXRSZXNvdXJjZVZhbHVlKFwiU291cmNlXCIpfX08L3RoPlxyXG4gICAgICAgICAgICAgIDx0aCBjbGFzcz1cIm1pbi13LTE1MHB4XCI+IFt7e3V0aWxpdHlTZXJ2aWNlLmdldFJlc291cmNlVmFsdWUoXCJQYXJ0aWNpcGFudFR5cGVcIil9fV0ge3t1dGlsaXR5U2VydmljZS5nZXRSZXNvdXJjZVZhbHVlKFwiRGVzdGluYXRpb25cIil9fTwvdGg+XHJcbiAgICAgICAgICAgICAgPHRoIGNsYXNzPVwibWluLXctMTUwcHhcIj57e3V0aWxpdHlTZXJ2aWNlLmdldFJlc291cmNlVmFsdWUoXCJFeHBpcmVzQXRcIil9fTwvdGg+XHJcbiAgICAgICAgICAgICAgPHRoIGNsYXNzPVwibWluLXctMTUwcHhcIj57e3V0aWxpdHlTZXJ2aWNlLmdldFJlc291cmNlVmFsdWUoXCJBY3RpdmVcIil9fTwvdGg+XHJcbiAgICAgICAgICAgICAgPHRoIGNsYXNzPVwibWluLXctNTBweFwiPnt7dXRpbGl0eVNlcnZpY2UuZ2V0UmVzb3VyY2VWYWx1ZShcIkFjdGlvblwiKX19PC90aD5cclxuICAgICAgICAgICAgPC90cj5cclxuICAgICAgICAgIDwvdGhlYWQ+XHJcbiAgICAgICAgICA8dGJvZHkgaWQ9XCJsaXN0aW5nQ29udGFpbmVyXCIgY2xhc3M9XCJmdy1ib2xkIHRleHQtZ3JheS02MDAgYm9yZGVyLTBcIj5cclxuXHJcbiAgICAgICAgICAgIDx0ciAqbmdGb3I9XCJsZXQgSW1wZXJzb25hdGlvbiBvZiBjbGllbnRTaWRlUGFnaW5nUmVzdWx0XCI+XHJcblxyXG4gICAgICAgICAgICAgIDx0ZD5cclxuICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwidGV4dC1kYXJrXCI+XHJcbiAgICAgICAgICAgICAgICAgIFt7e0ltcGVyc29uYXRpb24uc291cmNlUGFydGljaXBhbnREVE8ucGFydGljaXBhbnRUeXBlSXRlbU5hbWVTdHJ9fV0ge3tJbXBlcnNvbmF0aW9uLnNvdXJjZVBhcnRpY2lwYW50RFRPLnBhcnRpY2lwYW50TmFtZVN0cn19XHJcbiAgICAgICAgICAgICAgICA8L3NwYW4+XHJcblxyXG4gICAgICAgICAgICAgIDwvdGQ+XHJcbiAgICAgICAgICAgICAgPHRkPiAgW3t7SW1wZXJzb25hdGlvbi5kZXN0aW5hdGlvblBhcnRpY2lwYW50RFRPLnBhcnRpY2lwYW50VHlwZUl0ZW1OYW1lU3RyfX1dIHt7SW1wZXJzb25hdGlvbi5kZXN0aW5hdGlvblBhcnRpY2lwYW50RFRPLnBhcnRpY2lwYW50TmFtZVN0cn19PC90ZD5cclxuXHJcbiAgICAgICAgICAgICAgPHRkPnt7SW1wZXJzb25hdGlvbi5leHBpcmVzQXR9fTwvdGQ+XHJcbiAgICAgICAgICAgICAgPHRkPnt7SW1wZXJzb25hdGlvbi5pc0FjdGl2ZX19PC90ZD5cclxuXHJcbiAgICAgICAgICAgICAgPHRkPlxyXG5cclxuICAgICAgICAgICAgICAgIDxkaXY+XHJcbiAgICAgICAgICAgICAgICAgIDxidXR0b24gbWF0LWJ1dHRvbiBbbWF0TWVudVRyaWdnZXJGb3JdPVwibWVudVwiIGNsYXNzPVwiYnRuIGJ0bi1zbSBidG4taWNvbiBidG4tbGlnaHQgYnRuLWFjdGl2ZS1saWdodC1wcmltYXJ5XCI+XHJcbiAgICAgICAgICAgICAgICAgICAgPGkgY2xhc3M9XCJmYSBmYS1lbGxpcHNpcy1oXCIgYXJpYS1oaWRkZW49XCJ0cnVlXCI+PC9pPlxyXG4gICAgICAgICAgICAgICAgICA8L2J1dHRvbj5cclxuICAgICAgICAgICAgICAgICAgPG1hdC1tZW51ICNtZW51PVwibWF0TWVudVwiPlxyXG4gICAgICAgICAgICAgICAgICAgIDxhIGNsYXNzPVwiZHJvcC1pdGVtIHB4LTNcIiBuZ2JEcm9wZG93bkl0ZW1cclxuICAgICAgICAgICAgICAgICAgICAgICAoY2xpY2spPVwic2hvd0VkaXRJbXBlcnNvbmF0aW9uTW9kYWwoSW1wZXJzb25hdGlvbi5pRF9HVUlELEVkaXRJbXBlcnNvbmF0aW9uTW9kYWwpXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cImRyb3AtbGluayBweC0zXCI+e3t1dGlsaXR5U2VydmljZS5nZXRSZXNvdXJjZVZhbHVlKFwiRWRpdFwiKX19PC9zcGFuPlxyXG4gICAgICAgICAgICAgICAgICAgIDwvYT5cclxuICAgICAgICAgICAgICAgICAgICA8YSBuZ2JEcm9wZG93bkl0ZW0gY2xhc3M9XCJkcm9wLWl0ZW0gcHgtM1wiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgKGNsaWNrKT1cInNob3dEZWxldGVJbXBlcnNvbmF0aW9uTW9kYWwoSW1wZXJzb25hdGlvbi5pRF9HVUlEKVwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJkcm9wLWxpbmsgcHgtM1wiPnt7dXRpbGl0eVNlcnZpY2UuZ2V0UmVzb3VyY2VWYWx1ZShcIkRlbGV0ZVwiKX19PC9zcGFuPlxyXG4gICAgICAgICAgICAgICAgICAgIDwvYT5cclxuICAgICAgICAgICAgICAgICAgPC9tYXQtbWVudT5cclxuICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgIDwvdGQ+XHJcbiAgICAgICAgICAgIDwvdHI+XHJcbiAgICAgICAgICAgIDx0ciAqbmdJZj1cImNsaWVudFNpZGVQYWdpbmdSZXN1bHQubGVuZ3RoID09IDBcIj5cclxuICAgICAgICAgICAgICA8dGQgY29sc3Bhbj1cIjVcIj5cclxuICAgICAgICAgICAgICAgIDxsaWItZW1wdHktZGF0YT48L2xpYi1lbXB0eS1kYXRhPlxyXG4gICAgICAgICAgICAgIDwvdGQ+XHJcbiAgICAgICAgICAgIDwvdHI+XHJcbiAgICAgICAgICA8L3Rib2R5PlxyXG4gICAgICAgIDwvdGFibGU+XHJcblxyXG4gICAgICAgIDwhLS1lbmQ6OlBlcm1pc3Npb24gbGlzdC0tPlxyXG4gICAgICA8L2Rpdj5cclxuXHJcbiAgICA8L2Rpdj5cclxuICAgIDxkaXYgY2xhc3M9XCJjYXJkLWZvb3RlciBib3JkZXItMFwiPlxyXG4gICAgICA8QkJTRi1QYWdpbmcgKEl0ZW1zKT1cInNldEltcGVyc29uYXRpb25MaXN0UmVzdWx0KCRldmVudClcIiAqbmdJZj1cIklzRmlsdGVyTG9hZGVkXCJcclxuICAgICAgICAgICAgICAgICAgIFtvcHRpb25zXT1cIkltcGVyc29uYXRpb25QYWdpbmdcIiBbZ3JvdXBdPVwiSW1wZXJzb25hdGlvbkZvcm1cIiAjSW1wZXJzb25hdGlvblBhZ2luZ1ZpZXdFbGVtZW50PlxyXG4gICAgICA8L0JCU0YtUGFnaW5nPlxyXG4gICAgPC9kaXY+XHJcbiAgPC9kaXY+XHJcblxyXG48L2Rpdj5cclxuPCEtLSBBZGQgTW9kYWwgLS0+XHJcbjxuZy10ZW1wbGF0ZSAjQWRkSW1wZXJzb25hdGlvbk1vZGFsIGxldC1tb2RhbD5cclxuICA8ZGl2IGNsYXNzPVwibW9kYWwtaGVhZGVyIHBiLTAgYm9yZGVyLTAganVzdGlmeS1jb250ZW50LWVuZFwiPlxyXG4gICAgPGg1IGNsYXNzPVwibW9kYWwtdGl0bGVcIiBpZD1cImV4YW1wbGVNb2RhbExhYmVsXCI+PC9oNT5cclxuICAgIDxidXR0b24gdHlwZT1cImJ1dHRvblwiIGRhdGEtZGlzbWlzcz1cIm1vZGFsXCIgYXJpYS1sYWJlbD1cIkNsb3NlXCIgY2xhc3M9XCJidG4gYnRuLXNtIGJ0bi1pY29uIGJ0bi1hY3RpdmUtY29sb3ItcHJpbWFyeVwiIChjbGljayk9XCJtb2RhbC5kaXNtaXNzKClcIj5cclxuICAgICAgPHNwYW4gY2xhc3M9XCJzdmctaWNvbiBzdmctaWNvbi0xXCI+XHJcbiAgICAgICAgPHNwYW4gW2lubGluZVNWR109XCInLi9zcmMvYXNzZXRzL2ltYWdlcy9hcnIwNjEuc3ZnJ1wiPjwvc3Bhbj5cclxuICAgICAgPC9zcGFuPlxyXG4gICAgPC9idXR0b24+XHJcbiAgPC9kaXY+XHJcbiAgPGRpdiBjbGFzcz1cIm1vZGFsLWJvZHkgc2Nyb2xsLXkgcHgtMTAgcHgtbGctMTUgcHQtMCBwYi0xNVwiPlxyXG4gICAgPGRpdiBjbGFzcz1cIm1iLTEzIHRleHQtY2VudGVyXCI+XHJcbiAgICAgIDxoMSBjbGFzcz1cIm1iLTNcIj57e3V0aWxpdHlTZXJ2aWNlLmdldFJlc291cmNlVmFsdWUoXCJBZGRcIil9fSB7e3V0aWxpdHlTZXJ2aWNlLmdldFJlc291cmNlVmFsdWUoXCJJbXBlcnNvbmF0aW9uUnVsZVwiKX19PC9oMT5cclxuICAgIDwvZGl2PlxyXG5cclxuICAgIDxCQlNGLUZvcm0gW29wdGlvbnNdPVwiQWRkSW1wZXJzb25hdGlvbkZvcm1PcHRpb25zXCI+XHJcblxyXG4gICAgICA8ZGl2IGNsYXNzPVwicm93XCI+XHJcbiAgICAgICAgPGRpdiBjbGFzcz1cImNvbC1tZC0xMlwiPlxyXG4gICAgICAgICAgPEJCU0YtRHJvcGRvd25MaXN0IFtvcHRpb25zXT1cIkFkZFNvdXJjZVBhcnRpY2lwYW50VHlwZVwiIChPbkNoYW5nZSk9XCJhZGRTb3VyY2VQYXJ0aWNpcGFudE9uQ2hhbmdlKCRldmVudClcIiBbZ3JvdXBdPVwiQWRkSW1wZXJzb25hdGlvbkZvcm1cIj5cclxuICAgICAgICAgIDwvQkJTRi1Ecm9wZG93bkxpc3Q+XHJcbiAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgPGRpdiBjbGFzcz1cImNvbC1tZC0xMlwiPlxyXG4gICAgICAgICAgPEJCU0YtRHJvcGRvd25MaXN0IFtvcHRpb25zXT1cIkFkZFNvdXJjZVBlcm1pc3Npb25TZXRMaXN0XCIgKm5nSWY9XCJBZGRTaG93U291cmNlUGVybWlzc2lvbkxpc3RcIiBbZ3JvdXBdPVwiQWRkSW1wZXJzb25hdGlvbkZvcm1cIj5cclxuICAgICAgICAgIDwvQkJTRi1Ecm9wZG93bkxpc3Q+XHJcbiAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgPGRpdiBjbGFzcz1cImNvbC1tZC0xMlwiPlxyXG4gICAgICAgICAgPEJCU0YtQXV0b2NvbXBsZXRlVGV4dEJveCBbb3B0aW9uc109XCJBZGRTb3VyY2VVc2VyQXV0b0NvbXBsZXRlXCIgKm5nSWY9XCJBZGRTaG93U291cmNlVXNlckF1dG9Db21wbGV0ZVwiIFtncm91cF09XCJBZGRJbXBlcnNvbmF0aW9uRm9ybVwiPlxyXG4gICAgICAgICAgPC9CQlNGLUF1dG9jb21wbGV0ZVRleHRCb3g+XHJcbiAgICAgICAgPC9kaXY+XHJcbiAgICAgIDwvZGl2PlxyXG5cclxuICAgICAgPGRpdiBjbGFzcz1cInJvd1wiPlxyXG4gICAgICAgIDxkaXYgY2xhc3M9XCJjb2wtbWQtMTJcIj5cclxuICAgICAgICAgIDxCQlNGLURyb3Bkb3duTGlzdCBbb3B0aW9uc109XCJBZGREZXN0aW5hdGlvblBhcnRpY2lwYW50VHlwZVwiIChPbkNoYW5nZSk9XCJhZGREZXN0aW5hdGlvblBhcnRpY2lwYW50T25DaGFuZ2UoJGV2ZW50KVwiIFtncm91cF09XCJBZGRJbXBlcnNvbmF0aW9uRm9ybVwiPlxyXG4gICAgICAgICAgPC9CQlNGLURyb3Bkb3duTGlzdD5cclxuICAgICAgICA8L2Rpdj5cclxuICAgICAgICA8ZGl2IGNsYXNzPVwiY29sLW1kLTEyXCI+XHJcbiAgICAgICAgICA8QkJTRi1Ecm9wZG93bkxpc3QgW29wdGlvbnNdPVwiQWRkRGVzdGluYXRpb25QZXJtaXNzaW9uU2V0TGlzdFwiICpuZ0lmPVwiQWRkU2hvd0Rlc3RpbmF0aW9uUGVybWlzc2lvbkxpc3RcIiBbZ3JvdXBdPVwiQWRkSW1wZXJzb25hdGlvbkZvcm1cIj5cclxuICAgICAgICAgIDwvQkJTRi1Ecm9wZG93bkxpc3Q+XHJcbiAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgPGRpdiBjbGFzcz1cImNvbC1tZC0xMlwiPlxyXG4gICAgICAgICAgPEJCU0YtQXV0b2NvbXBsZXRlVGV4dEJveCBbb3B0aW9uc109XCJBZGREZXN0aW5hdGlvblVzZXJBdXRvQ29tcGxldGVcIiAqbmdJZj1cIkFkZFNob3dEZXN0aW5hdGlvblVzZXJBdXRvQ29tcGxldGVcIiBbZ3JvdXBdPVwiQWRkSW1wZXJzb25hdGlvbkZvcm1cIj5cclxuICAgICAgICAgIDwvQkJTRi1BdXRvY29tcGxldGVUZXh0Qm94PlxyXG4gICAgICAgIDwvZGl2PlxyXG4gICAgICA8L2Rpdj5cclxuICAgICAgPGRpdiBjbGFzcz1cInJvd1wiPlxyXG4gICAgICAgIDxkaXYgY2xhc3M9XCJjb2wtbWQtMTJcIj5cclxuICAgICAgICAgIDxCQlNGLUNoZWNrQm94IFtvcHRpb25zXT1cIkFkZElzQWN0aXZlXCIgW2dyb3VwXT1cIkFkZEltcGVyc29uYXRpb25Gb3JtXCI+XHJcbiAgICAgICAgICA8L0JCU0YtQ2hlY2tCb3g+XHJcbiAgICAgICAgPC9kaXY+XHJcbiAgICAgIDwvZGl2PlxyXG5cclxuICAgICAgPGRpdiBjbGFzcz1cInJvd1wiPlxyXG4gICAgICAgIDxkaXYgY2xhc3M9XCJjb2wtbWQtMTJcIj5cclxuICAgICAgICAgIDxCQlNGLURhdGVUaW1lUGlja2VyIFtvcHRpb25zXT1cIkFkZEV4cGlyZXNBdFwiIFtncm91cF09XCJBZGRJbXBlcnNvbmF0aW9uRm9ybVwiPlxyXG5cclxuICAgICAgICAgIDwvQkJTRi1EYXRlVGltZVBpY2tlcj5cclxuICAgICAgICA8L2Rpdj5cclxuICAgICAgPC9kaXY+XHJcbiAgICAgIDxkaXYgY2xhc3M9XCJ0ZXh0LWNlbnRlciBwdC03XCI+XHJcbiAgICAgICAgPGJ1dHRvbiBDbG9zZUltcGVyc29uYXRpb25Nb2RhbCBpZD1cIkNsb3NlSW1wZXJzb25hdGlvbk1vZGFsXCIgdHlwZT1cImJ1dHRvblwiIGNsYXNzPVwiYnRuIGJ0bi1saWdodCBtZS0zIGJ0bi1zbVwiXHJcbiAgICAgICAgICAgICAgICAoY2xpY2spPVwibW9kYWwuZGlzbWlzcygpXCI+XHJcbiAgICAgICAgICB7e3V0aWxpdHlTZXJ2aWNlLmdldFJlc291cmNlVmFsdWUoXCJDYW5jZWxMYWJlbFwiKX19XHJcbiAgICAgICAgPC9idXR0b24+XHJcbiAgICAgICAgPGJ1dHRvbiB0eXBlPVwic3VibWl0XCIgY2xhc3M9XCJidG4gYnRuLXByaW1hcnkgYnRuLXNtXCI+e3t1dGlsaXR5U2VydmljZS5nZXRSZXNvdXJjZVZhbHVlKFwiU2F2ZUxhYmVsXCIpfX08L2J1dHRvbj5cclxuICAgICAgPC9kaXY+XHJcbiAgICA8L0JCU0YtRm9ybT5cclxuICA8L2Rpdj5cclxuPC9uZy10ZW1wbGF0ZT5cclxuXHJcbjwhLS1FZGl0IE1vZGFsLS0+XHJcbjxuZy10ZW1wbGF0ZSAjRWRpdEltcGVyc29uYXRpb25Nb2RhbCBsZXQtbW9kYWw+XHJcbiAgPGRpdiBjbGFzcz1cIm1vZGFsLWhlYWRlciBwYi0wIGJvcmRlci0wIGp1c3RpZnktY29udGVudC1lbmRcIj5cclxuICAgIDxoNSBjbGFzcz1cIm1vZGFsLXRpdGxlXCIgaWQ9XCJleGFtcGxlTW9kYWxMYWJlbFwiPjwvaDU+XHJcbiAgICA8YnV0dG9uIHR5cGU9XCJidXR0b25cIiBkYXRhLWRpc21pc3M9XCJtb2RhbFwiIGFyaWEtbGFiZWw9XCJDbG9zZVwiIGNsYXNzPVwiYnRuIGJ0bi1zbSBidG4taWNvbiBidG4tYWN0aXZlLWNvbG9yLXByaW1hcnlcIiAoY2xpY2spPVwibW9kYWwuZGlzbWlzcygpXCI+XHJcbiAgICAgIDxzcGFuIGNsYXNzPVwic3ZnLWljb24gc3ZnLWljb24tMVwiPlxyXG4gICAgICAgIDxzcGFuIFtpbmxpbmVTVkddPVwiJy4vc3JjL2Fzc2V0cy9pbWFnZXMvYXJyMDYxLnN2ZydcIj48L3NwYW4+XHJcbiAgICAgIDwvc3Bhbj5cclxuICAgIDwvYnV0dG9uPlxyXG4gIDwvZGl2PlxyXG4gIDxkaXYgY2xhc3M9XCJtb2RhbC1ib2R5IHNjcm9sbC15IHB4LTEwIHB4LWxnLTE1IHB0LTAgcGItMTVcIj5cclxuICAgIDxkaXYgY2xhc3M9XCJtYi0xMyB0ZXh0LWNlbnRlclwiPlxyXG4gICAgICA8aDEgY2xhc3M9XCJtYi0zXCI+e3t1dGlsaXR5U2VydmljZS5nZXRSZXNvdXJjZVZhbHVlKFwiRWRpdFwiKX19IHt7dXRpbGl0eVNlcnZpY2UuZ2V0UmVzb3VyY2VWYWx1ZShcIkltcGVyc29uYXRpb25SdWxlXCIpfX08L2gxPlxyXG4gICAgPC9kaXY+XHJcbiAgICA8QkJTRi1Gb3JtIFtvcHRpb25zXT1cIkVkaXRJbXBlcnNvbmF0aW9uRm9ybU9wdGlvbnNcIj5cclxuICAgICAgPGRpdiBjbGFzcz1cInJvd1wiPlxyXG4gICAgICAgIDxkaXYgY2xhc3M9XCJjb2wtbWQtMTJcIj5cclxuICAgICAgICAgIDxCQlNGLURyb3Bkb3duTGlzdCBbb3B0aW9uc109XCJFZGl0U291cmNlUGFydGljaXBhbnRUeXBlXCIgKE9uQ2hhbmdlKT1cImVkaXRTb3VyY2VQYXJ0aWNpcGFudE9uQ2hhbmdlKCRldmVudClcIiBbZ3JvdXBdPVwiRWRpdEltcGVyc29uYXRpb25Gb3JtXCI+XHJcbiAgICAgICAgICA8L0JCU0YtRHJvcGRvd25MaXN0PlxyXG4gICAgICAgIDwvZGl2PlxyXG4gICAgICAgIDxkaXYgY2xhc3M9XCJjb2wtbWQtMTJcIj5cclxuICAgICAgICAgIDxCQlNGLURyb3Bkb3duTGlzdCBbb3B0aW9uc109XCJFZGl0U291cmNlUGVybWlzc2lvblNldExpc3RcIiAqbmdJZj1cIkVkaXRTaG93U291cmNlUGVybWlzc2lvbkxpc3RcIiBbZ3JvdXBdPVwiRWRpdEltcGVyc29uYXRpb25Gb3JtXCI+XHJcbiAgICAgICAgICA8L0JCU0YtRHJvcGRvd25MaXN0PlxyXG4gICAgICAgIDwvZGl2PlxyXG4gICAgICAgIDxkaXYgY2xhc3M9XCJjb2wtbWQtMTJcIj5cclxuICAgICAgICAgIDxCQlNGLUF1dG9jb21wbGV0ZVRleHRCb3ggW29wdGlvbnNdPVwiRWRpdFNvdXJjZVVzZXJBdXRvQ29tcGxldGVcIiAqbmdJZj1cIkVkaXRTaG93U291cmNlVXNlckF1dG9Db21wbGV0ZVwiIFtncm91cF09XCJFZGl0SW1wZXJzb25hdGlvbkZvcm1cIj5cclxuICAgICAgICAgIDwvQkJTRi1BdXRvY29tcGxldGVUZXh0Qm94PlxyXG4gICAgICAgIDwvZGl2PlxyXG4gICAgICA8L2Rpdj5cclxuICAgICAgPGRpdiBjbGFzcz1cInJvd1wiPlxyXG4gICAgICAgIDxkaXYgY2xhc3M9XCJjb2wtbWQtMTJcIj5cclxuICAgICAgICAgIDxCQlNGLURyb3Bkb3duTGlzdCBbb3B0aW9uc109XCJFZGl0RGVzdGluYXRpb25QYXJ0aWNpcGFudFR5cGVcIiAoT25DaGFuZ2UpPVwiZWRpdERlc3RpbmF0aW9uUGFydGljaXBhbnRPbkNoYW5nZSgkZXZlbnQpXCIgW2dyb3VwXT1cIkVkaXRJbXBlcnNvbmF0aW9uRm9ybVwiPlxyXG4gICAgICAgICAgPC9CQlNGLURyb3Bkb3duTGlzdD5cclxuICAgICAgICA8L2Rpdj5cclxuICAgICAgICA8ZGl2IGNsYXNzPVwiY29sLW1kLTEyXCI+XHJcbiAgICAgICAgICA8QkJTRi1Ecm9wZG93bkxpc3QgW29wdGlvbnNdPVwiRWRpdERlc3RpbmF0aW9uUGVybWlzc2lvblNldExpc3RcIiAqbmdJZj1cIkVkaXRTaG93RGVzdGluYXRpb25QZXJtaXNzaW9uTGlzdFwiIFtncm91cF09XCJFZGl0SW1wZXJzb25hdGlvbkZvcm1cIj5cclxuICAgICAgICAgIDwvQkJTRi1Ecm9wZG93bkxpc3Q+XHJcbiAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgPGRpdiBjbGFzcz1cImNvbC1tZC0xMlwiPlxyXG4gICAgICAgICAgPEJCU0YtQXV0b2NvbXBsZXRlVGV4dEJveCBbb3B0aW9uc109XCJFZGl0RGVzdGluYXRpb25Vc2VyQXV0b0NvbXBsZXRlXCIgKm5nSWY9XCJFZGl0U2hvd0Rlc3RpbmF0aW9uVXNlckF1dG9Db21wbGV0ZVwiIFtncm91cF09XCJFZGl0SW1wZXJzb25hdGlvbkZvcm1cIj5cclxuICAgICAgICAgIDwvQkJTRi1BdXRvY29tcGxldGVUZXh0Qm94PlxyXG4gICAgICAgIDwvZGl2PlxyXG4gICAgICA8L2Rpdj5cclxuICAgICAgPGRpdiBjbGFzcz1cInJvd1wiPlxyXG4gICAgICAgIDxkaXYgY2xhc3M9XCJjb2wtbWQtMTJcIj5cclxuICAgICAgICAgIDxCQlNGLUNoZWNrQm94IFtvcHRpb25zXT1cIkVkaXRJc0FjdGl2ZVwiIFtncm91cF09XCJFZGl0SW1wZXJzb25hdGlvbkZvcm1cIj5cclxuICAgICAgICAgIDwvQkJTRi1DaGVja0JveD5cclxuICAgICAgICA8L2Rpdj5cclxuICAgICAgPC9kaXY+XHJcblxyXG4gICAgICA8ZGl2IGNsYXNzPVwicm93XCI+XHJcbiAgICAgICAgPGRpdiBjbGFzcz1cImNvbC1tZC0xMlwiPlxyXG4gICAgICAgICAgPEJCU0YtRGF0ZVRpbWVQaWNrZXIgW29wdGlvbnNdPVwiRWRpdEV4cGlyZXNBdFwiIFtncm91cF09XCJFZGl0SW1wZXJzb25hdGlvbkZvcm1cIj5cclxuXHJcbiAgICAgICAgICA8L0JCU0YtRGF0ZVRpbWVQaWNrZXI+XHJcbiAgICAgICAgPC9kaXY+XHJcbiAgICAgIDwvZGl2PlxyXG4gICAgICA8ZGl2IGNsYXNzPVwidGV4dC1jZW50ZXIgcHQtN1wiPlxyXG4gICAgICAgIDxidXR0b24gI0Nsb3NlRWRpdEltcGVyc29uYXRpb25Nb2RhbCBpZD1cIkNsb3NlRWRpdEltcGVyc29uYXRpb25Nb2RhbFwiIHR5cGU9XCJidXR0b25cIlxyXG4gICAgICAgICAgICAgICAgY2xhc3M9XCJidG4gYnRuLWxpZ2h0IGJ0bi1zbSAgbWUtM1wiIGRhdGEtZGlzbWlzcz1cIm1vZGFsXCIgKGNsaWNrKT1cIm1vZGFsLmRpc21pc3MoKVwiPlxyXG4gICAgICAgICAge3t1dGlsaXR5U2VydmljZS5nZXRSZXNvdXJjZVZhbHVlKFwiQ2FuY2VsTGFiZWxcIil9fVxyXG4gICAgICAgIDwvYnV0dG9uPlxyXG4gICAgICAgIDxidXR0b24gdHlwZT1cInN1Ym1pdFwiIGNsYXNzPVwiYnRuIGJ0bi1wcmltYXJ5IGJ0bi1zbVwiPnt7dXRpbGl0eVNlcnZpY2UuZ2V0UmVzb3VyY2VWYWx1ZShcIlNhdmVMYWJlbFwiKX19PC9idXR0b24+XHJcbiAgICAgIDwvZGl2PlxyXG4gICAgPC9CQlNGLUZvcm0+XHJcbiAgPC9kaXY+XHJcbjwvbmctdGVtcGxhdGU+XHJcblxyXG5cclxuPCEtLWRlbGV0ZSBNb2RhbC0tPlxyXG48QkJTRi1Db25maXJtYXRpb25Nb2RhbCAqbmdJZj1cImRlbGV0ZUNvbnRyb2xMb2FkZWRcIiBbb3B0aW9uc109XCJEZWxldGVDb25maXJtYXRpb25PcHRpb25zXCIgaWQ9XCJDb25maXJtYXRpb25Nb2RhbENvbnRyb2xcIiAjQ29uZmlybWF0aW9uTW9kYWxDb250cm9sPjwvQkJTRi1Db25maXJtYXRpb25Nb2RhbD5cclxuXHJcbiJdfQ==
|