@c8y/ngx-components 1006.6.36 → 1006.6.40

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.
Files changed (105) hide show
  1. package/bundles/c8y-ngx-components-connectivity.umd.js +1 -1
  2. package/bundles/c8y-ngx-components-connectivity.umd.js.map +1 -1
  3. package/bundles/c8y-ngx-components-connectivity.umd.min.js +1 -1
  4. package/bundles/c8y-ngx-components-connectivity.umd.min.js.map +1 -1
  5. package/bundles/c8y-ngx-components-context-dashboard.umd.js +1 -1
  6. package/bundles/c8y-ngx-components-context-dashboard.umd.js.map +1 -1
  7. package/bundles/c8y-ngx-components-context-dashboard.umd.min.js +1 -1
  8. package/bundles/c8y-ngx-components-context-dashboard.umd.min.js.map +1 -1
  9. package/bundles/c8y-ngx-components-repository.umd.js +1 -1
  10. package/bundles/c8y-ngx-components-repository.umd.js.map +1 -1
  11. package/bundles/c8y-ngx-components-repository.umd.min.js +1 -1
  12. package/bundles/c8y-ngx-components-repository.umd.min.js.map +1 -1
  13. package/bundles/c8y-ngx-components-sensor-phone.umd.js +1 -1
  14. package/bundles/c8y-ngx-components-sensor-phone.umd.js.map +1 -1
  15. package/bundles/c8y-ngx-components-sensor-phone.umd.min.js +1 -1
  16. package/bundles/c8y-ngx-components-sensor-phone.umd.min.js.map +1 -1
  17. package/bundles/c8y-ngx-components.umd.js +400 -131
  18. package/bundles/c8y-ngx-components.umd.js.map +1 -1
  19. package/bundles/c8y-ngx-components.umd.min.js +2 -2
  20. package/bundles/c8y-ngx-components.umd.min.js.map +1 -1
  21. package/c8y-ngx-components.d.ts +90 -87
  22. package/c8y-ngx-components.metadata.json +1 -1
  23. package/connectivity/c8y-ngx-components-connectivity.metadata.json +1 -1
  24. package/context-dashboard/c8y-ngx-components-context-dashboard.metadata.json +1 -1
  25. package/core/authentication/new-password.component.d.ts +8 -6
  26. package/core/docs/guide-docs.component.d.ts +25 -3
  27. package/core/forms/validation-pattern.d.ts +1 -0
  28. package/core/i18n/force-html-translate.directive.d.ts +32 -0
  29. package/core/login/change-password.component.d.ts +1 -1
  30. package/core/login/login.service.d.ts +15 -2
  31. package/core/login/password-strength-validator.directive.d.ts +9 -0
  32. package/core/login/strength-validator-service.d.ts +7 -0
  33. package/core/user/user-edit.component.d.ts +4 -2
  34. package/esm2015/c8y-ngx-components.js +90 -87
  35. package/esm2015/connectivity/impact/impact-provider-settings.component.js +2 -2
  36. package/esm2015/context-dashboard/legacy-welcome/legacy-welcome.component.js +2 -2
  37. package/esm2015/core/authentication/new-password.component.js +15 -20
  38. package/esm2015/core/dashboard/widgets-dashboard.component.js +2 -2
  39. package/esm2015/core/docs/guide-docs.component.js +69 -4
  40. package/esm2015/core/forms/validation-pattern.js +2 -1
  41. package/esm2015/core/i18n/force-html-translate.directive.js +99 -0
  42. package/esm2015/core/i18n/i18n.module.js +5 -3
  43. package/esm2015/core/i18n/pattern-messages.data.js +2 -2
  44. package/esm2015/core/login/change-password.component.js +5 -5
  45. package/esm2015/core/login/credentials.component.js +2 -2
  46. package/esm2015/core/login/login.module.js +4 -2
  47. package/esm2015/core/login/login.service.js +40 -6
  48. package/esm2015/core/login/password-strength-validator.directive.js +32 -0
  49. package/esm2015/core/login/strength-validator-service.js +28 -0
  50. package/esm2015/core/user/user-edit.component.js +10 -5
  51. package/esm2015/repository/configuration/configuration-list.component.js +2 -2
  52. package/esm2015/sensor-phone/sensor-phone-modal.component.js +2 -2
  53. package/esm5/c8y-ngx-components.js +90 -87
  54. package/esm5/connectivity/impact/impact-provider-settings.component.js +2 -2
  55. package/esm5/context-dashboard/legacy-welcome/legacy-welcome.component.js +2 -2
  56. package/esm5/core/authentication/new-password.component.js +21 -25
  57. package/esm5/core/dashboard/widgets-dashboard.component.js +2 -2
  58. package/esm5/core/docs/guide-docs.component.js +72 -4
  59. package/esm5/core/forms/validation-pattern.js +2 -1
  60. package/esm5/core/i18n/force-html-translate.directive.js +105 -0
  61. package/esm5/core/i18n/i18n.module.js +5 -3
  62. package/esm5/core/i18n/pattern-messages.data.js +2 -2
  63. package/esm5/core/login/change-password.component.js +5 -5
  64. package/esm5/core/login/credentials.component.js +2 -2
  65. package/esm5/core/login/login.module.js +4 -2
  66. package/esm5/core/login/login.service.js +43 -6
  67. package/esm5/core/login/password-strength-validator.directive.js +38 -0
  68. package/esm5/core/login/strength-validator-service.js +29 -0
  69. package/esm5/core/user/user-edit.component.js +19 -9
  70. package/esm5/repository/configuration/configuration-list.component.js +2 -2
  71. package/esm5/sensor-phone/sensor-phone-modal.component.js +2 -2
  72. package/fesm2015/c8y-ngx-components-connectivity.js +1 -1
  73. package/fesm2015/c8y-ngx-components-connectivity.js.map +1 -1
  74. package/fesm2015/c8y-ngx-components-context-dashboard.js +1 -1
  75. package/fesm2015/c8y-ngx-components-context-dashboard.js.map +1 -1
  76. package/fesm2015/c8y-ngx-components-repository.js +1 -1
  77. package/fesm2015/c8y-ngx-components-repository.js.map +1 -1
  78. package/fesm2015/c8y-ngx-components-sensor-phone.js +1 -1
  79. package/fesm2015/c8y-ngx-components-sensor-phone.js.map +1 -1
  80. package/fesm2015/c8y-ngx-components.js +281 -40
  81. package/fesm2015/c8y-ngx-components.js.map +1 -1
  82. package/fesm5/c8y-ngx-components-connectivity.js +1 -1
  83. package/fesm5/c8y-ngx-components-connectivity.js.map +1 -1
  84. package/fesm5/c8y-ngx-components-context-dashboard.js +1 -1
  85. package/fesm5/c8y-ngx-components-context-dashboard.js.map +1 -1
  86. package/fesm5/c8y-ngx-components-repository.js +1 -1
  87. package/fesm5/c8y-ngx-components-repository.js.map +1 -1
  88. package/fesm5/c8y-ngx-components-sensor-phone.js +1 -1
  89. package/fesm5/c8y-ngx-components-sensor-phone.js.map +1 -1
  90. package/fesm5/c8y-ngx-components.js +315 -49
  91. package/fesm5/c8y-ngx-components.js.map +1 -1
  92. package/locales/de.po +71 -60
  93. package/locales/es.po +120 -85
  94. package/locales/fr.po +107 -72
  95. package/locales/ja_JP.po +89 -78
  96. package/locales/ko.po +92 -57
  97. package/locales/locales.pot +9 -9
  98. package/locales/nl.po +95 -60
  99. package/locales/pl.po +88 -53
  100. package/locales/pt_BR.po +174 -138
  101. package/locales/ru.po +120 -85
  102. package/locales/zh_CN.po +87 -52
  103. package/package.json +2 -2
  104. package/repository/c8y-ngx-components-repository.metadata.json +1 -1
  105. package/sensor-phone/c8y-ngx-components-sensor-phone.metadata.json +1 -1
@@ -65,10 +65,23 @@ export declare class LoginService {
65
65
  */
66
66
  getGreenMinLength(): number;
67
67
  /**
68
- * Checks if password strength is enforced.
69
- * @return true if enforced.
68
+ * Checks if password strength is enforced for system
69
+ * by retrieving value of `enforceStrength` property from loginOptions response
70
+ * @return boolean value, true if enforced, false otherwise.
70
71
  */
71
72
  getEnforcePasswordStrength(): boolean;
73
+ /**
74
+ * Checks if password strength is enforced for particular tenant
75
+ * by retrieving value of `strengthValidity` property from loginOptions response
76
+ * @return boolean value, true if enforced, false otherwise.
77
+ */
78
+ getPasswordStrengthValidity(): Promise<boolean>;
79
+ /**
80
+ * Function determines if enforced strength checks should be enabled for current tenant
81
+ * based on properties retrieved from loginOptions
82
+ * @return boolean value, true if strength is enforced for tenant, false otherwise.
83
+ */
84
+ getPasswordStrengthEnforced(): true | Promise<boolean>;
72
85
  /**
73
86
  * Clears all backend errors.
74
87
  */
@@ -0,0 +1,9 @@
1
+ import { AbstractControl, ValidationErrors, Validator } from '@angular/forms';
2
+ import { StrengthValidatorService } from './strength-validator-service';
3
+ export declare class PasswordStrengthValidatorDirective implements Validator {
4
+ passwordService: StrengthValidatorService;
5
+ private forced;
6
+ passwordStrengthEnforced: any;
7
+ constructor(passwordService: StrengthValidatorService);
8
+ validate(control: AbstractControl): ValidationErrors | null;
9
+ }
@@ -0,0 +1,7 @@
1
+ import { PasswordService } from '../authentication/password.service';
2
+ export declare class StrengthValidatorService {
3
+ private passwordService;
4
+ constructor(passwordService: PasswordService);
5
+ isStrong(password: string): boolean;
6
+ private isPasswordGreen;
7
+ }
@@ -1,5 +1,5 @@
1
1
  import { EventEmitter, OnInit } from '@angular/core';
2
- import { IUser, UserService, TenantLoginOptionsService } from '@c8y/client';
2
+ import { IUser, UserService, TenantLoginOptionsService, TenantService } from '@c8y/client';
3
3
  import { AppStateService } from '../common/ui-state.service';
4
4
  import { TranslateService } from '../i18n/translate.service';
5
5
  import { NewPassword } from '../authentication/password.model';
@@ -21,6 +21,7 @@ export declare class UserEditComponent implements OnInit {
21
21
  private alert;
22
22
  private userService;
23
23
  private tenantLoginOptionsService;
24
+ private tenantService;
24
25
  lang: string;
25
26
  loading: boolean;
26
27
  user: User;
@@ -30,8 +31,9 @@ export declare class UserEditComponent implements OnInit {
30
31
  userHasActiveTotp: boolean;
31
32
  userCanSetupTotp: boolean;
32
33
  userIsExternal: any;
34
+ isTfaEnabled: boolean;
33
35
  private _user;
34
- constructor(state: AppStateService, translate: TranslateService, passwordService: PasswordService, modalConfirmService: ModalService, bsModalService: BsModalService, alert: AlertService, userService: UserService, tenantLoginOptionsService: TenantLoginOptionsService);
36
+ constructor(state: AppStateService, translate: TranslateService, passwordService: PasswordService, modalConfirmService: ModalService, bsModalService: BsModalService, alert: AlertService, userService: UserService, tenantLoginOptionsService: TenantLoginOptionsService, tenantService: TenantService);
35
37
  ngOnInit(): Promise<void>;
36
38
  readonly langs: any;
37
39
  setupTotp(): void;
@@ -2,92 +2,95 @@
2
2
  * Generated bundle index. Do not edit.
3
3
  */
4
4
  export * from './index';
5
- export { ActionBarItemComponent as ɵy } from './core/action-bar/action-bar-item.component';
6
- export { ActionBarComponent as ɵx } from './core/action-bar/action-bar.component';
7
- export { ActionBarModule as ɵw } from './core/action-bar/action-bar.module';
8
- export { ActionOutletComponent as ɵba } from './core/action/action-outlet.component';
9
- export { ActionComponent as ɵbb } from './core/action/action.component';
10
- export { ActionModule as ɵz } from './core/action/action.module';
11
- export { AlertDetailsComponent as ɵbf } from './core/alert/alert-details.component';
12
- export { AlertOutletComponent as ɵbd } from './core/alert/alert-outlet.component';
13
- export { AlertTextComponent as ɵbg } from './core/alert/alert-text.component';
14
- export { AlertComponent as ɵbe } from './core/alert/alert.component';
15
- export { AlertModule as ɵbc } from './core/alert/alert.module';
16
- export { BootstrapModule as ɵbh } from './core/bootstrap/bootstrap.module';
17
- export { CookieBannerComponent as ɵbi } from './core/bootstrap/cookie-banner/cookie-banner.component';
18
- export { BreadcrumbItemComponent as ɵcc } from './core/breadcrumb/breadcrumb-item.component';
19
- export { BreadcrumbOutletComponent as ɵcd } from './core/breadcrumb/breadcrumb-outlet.component';
20
- export { BreadcrumbComponent as ɵcb } from './core/breadcrumb/breadcrumb.component';
21
- export { BreadcrumbModule as ɵca } from './core/breadcrumb/breadcrumb.module';
5
+ export { ActionBarItemComponent as ɵz } from './core/action-bar/action-bar-item.component';
6
+ export { ActionBarComponent as ɵy } from './core/action-bar/action-bar.component';
7
+ export { ActionBarModule as ɵx } from './core/action-bar/action-bar.module';
8
+ export { ActionOutletComponent as ɵbb } from './core/action/action-outlet.component';
9
+ export { ActionComponent as ɵbc } from './core/action/action.component';
10
+ export { ActionModule as ɵba } from './core/action/action.module';
11
+ export { AlertDetailsComponent as ɵbg } from './core/alert/alert-details.component';
12
+ export { AlertOutletComponent as ɵbe } from './core/alert/alert-outlet.component';
13
+ export { AlertTextComponent as ɵbh } from './core/alert/alert-text.component';
14
+ export { AlertComponent as ɵbf } from './core/alert/alert.component';
15
+ export { AlertModule as ɵbd } from './core/alert/alert.module';
16
+ export { BootstrapModule as ɵbi } from './core/bootstrap/bootstrap.module';
17
+ export { CookieBannerComponent as ɵbj } from './core/bootstrap/cookie-banner/cookie-banner.component';
18
+ export { BreadcrumbItemComponent as ɵcd } from './core/breadcrumb/breadcrumb-item.component';
19
+ export { BreadcrumbOutletComponent as ɵce } from './core/breadcrumb/breadcrumb-outlet.component';
20
+ export { BreadcrumbComponent as ɵcc } from './core/breadcrumb/breadcrumb.component';
21
+ export { BreadcrumbModule as ɵcb } from './core/breadcrumb/breadcrumb.module';
22
22
  export { ApplicationOptions as ɵa } from './core/common/ApplicationOptions';
23
- export { ForOfDirective as ɵr } from './core/common/forOf.directive';
24
- export { ICONS as ɵo, IconDirective as ɵn } from './core/common/icon.directive';
25
- export { LoadMoreComponent as ɵs } from './core/common/load-more.component';
26
- export { MapFunctionPipe as ɵt } from './core/common/map-function.pipe';
27
- export { OutletDirective as ɵp } from './core/common/outlet.directive';
28
- export { ProgressBarComponent as ɵu } from './core/common/progress-bar.component';
29
- export { ShortenUserNamePipe as ɵq } from './core/common/shorten-user-name.pipe';
30
- export { UserPreferencesService as ɵv } from './core/common/user-preferences/user-preferences.service';
31
- export { CellRendererComponent as ɵcq } from './core/data-grid/column/cell-renderer.component';
32
- export { ColumnDirective as ɵct } from './core/data-grid/column/column.directive';
33
- export { FilteringFormRendererDefDirective as ɵcr } from './core/data-grid/column/filtering-form-renderer';
34
- export { FilteringFormRendererComponent as ɵcs } from './core/data-grid/column/filtering-form-renderer.component';
35
- export { AlarmsCellRendererComponent as ɵdb } from './core/device-grid/columns/alarms.cell-renderer.component';
36
- export { GroupCellRendererComponent as ɵcz } from './core/device-grid/columns/group.cell-renderer.component';
37
- export { ModelCellRendererComponent as ɵcx } from './core/device-grid/columns/model.cell-renderer.component';
38
- export { NameCellRendererComponent as ɵcw } from './core/device-grid/columns/name.cell-renderer.component';
39
- export { RegistrationDateCellRendererComponent as ɵda } from './core/device-grid/columns/registration-date.cell-renderer.component';
40
- export { SerialNumberCellRendererComponent as ɵcy } from './core/device-grid/columns/serial-number.cell-renderer.component';
41
- export { StatusCellRendererComponent as ɵcv } from './core/device-grid/columns/status.cell-renderer.component';
42
- export { FilteringFormComponent as ɵcu } from './core/device-grid/filtering-form.component';
43
- export { FilterInputComponent as ɵbw } from './core/forms/filter-input.component';
44
- export { InputGroupListContainerDirective as ɵbt } from './core/forms/input-group-list-container.directive';
45
- export { IpRangeInputListComponent as ɵbv } from './core/forms/ip-range-input-list.component';
46
- export { RequiredInputPlaceholderDirective as ɵbu } from './core/forms/required-input-placeholder.directive';
47
- export { AppIconComponent as ɵbk } from './core/header/application/app-icon.component';
48
- export { AppSwitcherComponent as ɵbl } from './core/header/application/app-switcher.component';
49
- export { RightDrawerComponent as ɵbm } from './core/header/right-drawer/right-drawer.component';
50
- export { TitleOutletComponent as ɵbj } from './core/header/title/title-outlet.component';
23
+ export { ForOfDirective as ɵs } from './core/common/forOf.directive';
24
+ export { ICONS as ɵp, IconDirective as ɵo } from './core/common/icon.directive';
25
+ export { LoadMoreComponent as ɵt } from './core/common/load-more.component';
26
+ export { MapFunctionPipe as ɵu } from './core/common/map-function.pipe';
27
+ export { OutletDirective as ɵq } from './core/common/outlet.directive';
28
+ export { ProgressBarComponent as ɵv } from './core/common/progress-bar.component';
29
+ export { ShortenUserNamePipe as ɵr } from './core/common/shorten-user-name.pipe';
30
+ export { UserPreferencesService as ɵw } from './core/common/user-preferences/user-preferences.service';
31
+ export { CellRendererComponent as ɵct } from './core/data-grid/column/cell-renderer.component';
32
+ export { ColumnDirective as ɵcw } from './core/data-grid/column/column.directive';
33
+ export { FilteringFormRendererDefDirective as ɵcu } from './core/data-grid/column/filtering-form-renderer';
34
+ export { FilteringFormRendererComponent as ɵcv } from './core/data-grid/column/filtering-form-renderer.component';
35
+ export { AlarmsCellRendererComponent as ɵde } from './core/device-grid/columns/alarms.cell-renderer.component';
36
+ export { GroupCellRendererComponent as ɵdc } from './core/device-grid/columns/group.cell-renderer.component';
37
+ export { ModelCellRendererComponent as ɵda } from './core/device-grid/columns/model.cell-renderer.component';
38
+ export { NameCellRendererComponent as ɵcz } from './core/device-grid/columns/name.cell-renderer.component';
39
+ export { RegistrationDateCellRendererComponent as ɵdd } from './core/device-grid/columns/registration-date.cell-renderer.component';
40
+ export { SerialNumberCellRendererComponent as ɵdb } from './core/device-grid/columns/serial-number.cell-renderer.component';
41
+ export { StatusCellRendererComponent as ɵcy } from './core/device-grid/columns/status.cell-renderer.component';
42
+ export { FilteringFormComponent as ɵcx } from './core/device-grid/filtering-form.component';
43
+ export { FilterInputComponent as ɵbx } from './core/forms/filter-input.component';
44
+ export { InputGroupListContainerDirective as ɵbu } from './core/forms/input-group-list-container.directive';
45
+ export { IpRangeInputListComponent as ɵbw } from './core/forms/ip-range-input-list.component';
46
+ export { RequiredInputPlaceholderDirective as ɵbv } from './core/forms/required-input-placeholder.directive';
47
+ export { AppIconComponent as ɵbl } from './core/header/application/app-icon.component';
48
+ export { AppSwitcherComponent as ɵbm } from './core/header/application/app-switcher.component';
49
+ export { RightDrawerComponent as ɵbn } from './core/header/right-drawer/right-drawer.component';
50
+ export { TitleOutletComponent as ɵbk } from './core/header/title/title-outlet.component';
51
+ export { ForceHtmlTranslateDirective as ɵg } from './core/i18n/force-html-translate.directive';
51
52
  export { I18nModule as ɵf, languagesFactory as ɵd, localeId as ɵe, localePathFactory as ɵc, translateLoaderFactory as ɵb } from './core/i18n/i18n.module';
52
- export { LANGUAGES as ɵi } from './core/i18n/languages';
53
- export { LOCALE_PATH as ɵh } from './core/i18n/locale.path';
54
- export { MissingTranslationCustomHandler as ɵl } from './core/i18n/missing-translation-custom.handler';
55
- export { MESSAGES as ɵg } from './core/i18n/pattern-messages.data';
56
- export { PatternMessagesService as ɵm } from './core/i18n/pattern-messages.service';
57
- export { TranslateCustomLoader as ɵj } from './core/i18n/translate.loader';
58
- export { TranslateParserCustom as ɵk } from './core/i18n/translate.parser';
59
- export { ListItemActionComponent as ɵde } from './core/list-group/list-item-action.component';
60
- export { ListItemBodyComponent as ɵdh } from './core/list-group/list-item-body.component';
61
- export { ListItemCheckboxComponent as ɵdi } from './core/list-group/list-item-checkbox.component';
62
- export { ListItemCollapseComponent as ɵdf } from './core/list-group/list-item-collapse.component';
63
- export { ListItemFooterComponent as ɵdd } from './core/list-group/list-item-footer.component';
64
- export { ListItemIconComponent as ɵdg } from './core/list-group/list-item-icon.component';
65
- export { ListItemRadioComponent as ɵdj } from './core/list-group/list-item-radio.component';
66
- export { ListItemComponent as ɵdc } from './core/list-group/list-item.component';
67
- export { ChangePasswordComponent as ɵck } from './core/login/change-password.component';
68
- export { CredentialsComponent as ɵcl } from './core/login/credentials.component';
69
- export { LoginComponent as ɵci } from './core/login/login.component';
70
- export { LoginModule as ɵch } from './core/login/login.module';
71
- export { RecoverPasswordComponent as ɵcj } from './core/login/recover-password.component';
72
- export { TotpAuthComponent as ɵcm } from './core/login/totp-auth.component';
73
- export { ModalComponent as ɵbx } from './core/modal/modal.component';
74
- export { NavigatorNodeComponent as ɵcg } from './core/navigator/navigator-node.component';
75
- export { NavigatorOutletComponent as ɵcf } from './core/navigator/navigator-outlet.component';
76
- export { NavigatorModule as ɵce } from './core/navigator/navigator.module';
77
- export { QuickLinkComponent as ɵdp } from './core/quicklink/quick-link.component';
78
- export { ContextRouteGuard as ɵdo } from './core/router/context-route.guard';
79
- export { RouterTabsResolver as ɵdn } from './core/router/router-tabs.resolver';
80
- export { SearchOutletComponent as ɵby } from './core/search/search-outlet.component';
81
- export { SearchComponent as ɵbz } from './core/search/search.component';
82
- export { C8yStepperIcon as ɵdk } from './core/stepper/stepper-icon.directive';
83
- export { C8yStepperProgress as ɵdl } from './core/stepper/stepper-progress.component';
84
- export { TabComponent as ɵcp } from './core/tabs/tab.component';
85
- export { TabsOutletComponent as ɵco } from './core/tabs/tabs-outlet.component';
86
- export { TabsModule as ɵcn } from './core/tabs/tabs.module';
87
- export { UserEditModalComponent as ɵbq } from './core/user/user-edit-modal.component';
88
- export { UserEditComponent as ɵbp } from './core/user/user-edit.component';
89
- export { UserMenuItemComponent as ɵbr } from './core/user/user-menu-item.component';
90
- export { UserMenuOutletComponent as ɵbo } from './core/user/user-menu-outlet.component';
91
- export { UserTotpSetupComponent as ɵbs } from './core/user/user-totp-setup.component';
92
- export { UserModule as ɵbn } from './core/user/user.module';
93
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYzh5LW5neC1jb21wb25lbnRzLmpzIiwic291cmNlUm9vdCI6Im5nOi8vQGM4eS9uZ3gtY29tcG9uZW50cy8iLCJzb3VyY2VzIjpbImM4eS1uZ3gtY29tcG9uZW50cy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7R0FFRztBQUVILGNBQWMsU0FBUyxDQUFDO0FBRXhCLE9BQU8sRUFBQyxzQkFBc0IsSUFBSSxFQUFFLEVBQUMsTUFBTSw2Q0FBNkMsQ0FBQztBQUN6RixPQUFPLEVBQUMsa0JBQWtCLElBQUksRUFBRSxFQUFDLE1BQU0sd0NBQXdDLENBQUM7QUFDaEYsT0FBTyxFQUFDLGVBQWUsSUFBSSxFQUFFLEVBQUMsTUFBTSxxQ0FBcUMsQ0FBQztBQUMxRSxPQUFPLEVBQUMscUJBQXFCLElBQUksR0FBRyxFQUFDLE1BQU0sdUNBQXVDLENBQUM7QUFDbkYsT0FBTyxFQUFDLGVBQWUsSUFBSSxHQUFHLEVBQUMsTUFBTSxnQ0FBZ0MsQ0FBQztBQUN0RSxPQUFPLEVBQUMsWUFBWSxJQUFJLEVBQUUsRUFBQyxNQUFNLDZCQUE2QixDQUFDO0FBQy9ELE9BQU8sRUFBQyxxQkFBcUIsSUFBSSxHQUFHLEVBQUMsTUFBTSxzQ0FBc0MsQ0FBQztBQUNsRixPQUFPLEVBQUMsb0JBQW9CLElBQUksR0FBRyxFQUFDLE1BQU0scUNBQXFDLENBQUM7QUFDaEYsT0FBTyxFQUFDLGtCQUFrQixJQUFJLEdBQUcsRUFBQyxNQUFNLG1DQUFtQyxDQUFDO0FBQzVFLE9BQU8sRUFBQyxjQUFjLElBQUksR0FBRyxFQUFDLE1BQU0sOEJBQThCLENBQUM7QUFDbkUsT0FBTyxFQUFDLFdBQVcsSUFBSSxHQUFHLEVBQUMsTUFBTSwyQkFBMkIsQ0FBQztBQUM3RCxPQUFPLEVBQUMsZUFBZSxJQUFJLEdBQUcsRUFBQyxNQUFNLG1DQUFtQyxDQUFDO0FBQ3pFLE9BQU8sRUFBQyxxQkFBcUIsSUFBSSxHQUFHLEVBQUMsTUFBTSx3REFBd0QsQ0FBQztBQUNwRyxPQUFPLEVBQUMsdUJBQXVC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SSxHQUFHLEVBQUMsTUFBTSx1Q0FBdUMsQ0FBQztBQUM1RSxPQUFPLEVBQUMsa0JBQWtCLElBQUksR0FBRyxFQUFDLE1BQU0sMkNBQTJDLENBQUM7QUFDcEYsT0FBTyxFQUFDLFlBQVksSUFBSSxHQUFHLEVBQUMsTUFBTSwyQkFBMkIsQ0FBQztBQUM5RCxPQUFPLEVBQUMsbUJBQW1CLElBQUksR0FBRyxFQUFDLE1BQU0sbUNBQW1DLENBQUM7QUFDN0UsT0FBTyxFQUFDLFVBQVUsSUFBSSxHQUFHLEVBQUMsTUFBTSx5QkFBeUIsQ0FBQztBQUMxRCxPQUFPLEVBQUMsc0JBQXNCLElBQUksR0FBRyxFQUFDLE1BQU0sdUNBQXVDLENBQUM7QUFDcEYsT0FBTyxFQUFDLGlCQUFpQixJQUFJLEdBQUcsRUFBQyxNQUFNLGlDQUFpQyxDQUFDO0FBQ3pFLE9BQU8sRUFBQyxxQkFBcUIsSUFBSSxHQUFHLEVBQUMsTUFBTSxzQ0FBc0MsQ0FBQztBQUNsRixPQUFPLEVBQUMsdUJBQXVCLElBQUksR0FBRyxFQUFDLE1BQU0sd0NBQXdDLENBQUM7QUFDdEYsT0FBTyxFQUFDLHNCQUFzQixJQUFJLEdBQUcsRUFBQyxNQUFNLHVDQUF1QyxDQUFDO0FBQ3BGLE9BQU8sRUFBQyxVQUFVLElBQUksR0FBRyxFQUFDLE1BQU0seUJBQXlCLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIEdlbmVyYXRlZCBidW5kbGUgaW5kZXguIERvIG5vdCBlZGl0LlxuICovXG5cbmV4cG9ydCAqIGZyb20gJy4vaW5kZXgnO1xuXG5leHBvcnQge0FjdGlvbkJhckl0ZW1Db21wb25lbnQgYXMgybV5fSBmcm9tICcuL2NvcmUvYWN0aW9uLWJhci9hY3Rpb24tYmFyLWl0ZW0uY29tcG9uZW50JztcbmV4cG9ydCB7QWN0aW9uQmFyQ29tcG9uZW50IGFzIMm1eH0gZnJvbSAnLi9jb3JlL2FjdGlvbi1iYXIvYWN0aW9uLWJhci5jb21wb25lbnQnO1xuZXhwb3J0IHtBY3Rpb25CYXJNb2R1bGUgYXMgybV3fSBmcm9tICcuL2NvcmUvYWN0aW9uLWJhci9hY3Rpb24tYmFyLm1vZHVsZSc7XG5leHBvcnQge0FjdGlvbk91dGxldENvbXBvbmVudCBhcyDJtWJhfSBmcm9tICcuL2NvcmUvYWN0aW9uL2FjdGlvbi1vdXRsZXQuY29tcG9uZW50JztcbmV4cG9ydCB7QWN0aW9uQ29tcG9uZW50IGFzIMm1YmJ9IGZyb20gJy4vY29yZS9hY3Rpb24vYWN0aW9uLmNvbXBvbmVudCc7XG5leHBvcnQge0FjdGlvbk1vZHVsZSBhcyDJtXp9IGZyb20gJy4vY29yZS9hY3Rpb24vYWN0aW9uLm1vZHVsZSc7XG5leHBvcnQge0FsZXJ0RGV0YWlsc0NvbXBvbmVudCBhcyDJtWJmfSBmcm9tICcuL2NvcmUvYWxlcnQvYWxlcnQtZGV0YWlscy5jb21wb25lbnQnO1xuZXhwb3J0IHtBbGVydE91dGxldENvbXBvbmVudCBhcyDJtWJkfSBmcm9tICcuL2NvcmUvYWxlcnQvYWxlcnQtb3V0bGV0LmNvbXBvbmVudCc7XG5leHBvcnQge0FsZXJ0VGV4dENvbXBvbmVudCBhcyDJtWJnfSBmcm9tICcuL2NvcmUvYWxlcnQvYWxlcnQtdGV4dC5jb21wb25lbnQnO1xuZXhwb3J0IHtBbGVydENvbXBvbmVudCBhcyDJtWJlfSBmcm9tICcuL2NvcmUvYWxlcnQvYWxlcnQuY29tcG9uZW50JztcbmV4cG9ydCB7QWxlcnRNb2R1bGUgYXMgybViY30gZnJvbSAnLi9jb3JlL2FsZXJ0L2FsZXJ0Lm1vZHVsZSc7XG5leHBvcnQge0Jvb3RzdHJhcE1vZHVsZSBhcyDJtWJofSBmcm9tICcuL2NvcmUvYm9vdHN0cmFwL2Jvb3RzdHJhcC5tb2R1bGUnO1xuZXhwb3J0IHtDb29raWVCYW5uZXJDb21wb25lbnQgYXMgybViaX0gZnJvbSAnLi9jb3JlL2Jvb3RzdHJhcC9jb29raWUtYmFubmVyL2Nvb2tpZS1iYW5uZXIuY29tcG9uZW50JztcbmV4cG9ydCB7QnJlYWRjcnVtYkl0ZW1Db21wb25lbnQgYXMgybVjY30gZnJvbSAnLi9jb3JlL2JyZWFkY3J1bWIvYnJlYWRjcnVtYi1pdGVtLmNvbXBvbmVudCc7XG5leHBvcnQge0JyZWFkY3J1bWJPdXRsZXRDb21wb25lbnQgYXMgybVjZH0gZnJvbSAnLi9jb3JlL2JyZWFkY3J1bWIvYnJlYWRjcnVtYi1vdXRsZXQuY29tcG9uZW50JztcbmV4cG9ydCB7QnJlYWRjcnVtYkNvbXBvbmVudCBhcyDJtWNifSBmcm9tICcuL2NvcmUvYnJlYWRjcnVtYi9icmVhZGNydW1iLmNvbXBvbmVudCc7XG5leHBvcnQge0JyZWFkY3J1bWJNb2R1bGUgYXMgybVjYX0gZnJvbSAnLi9jb3JlL2JyZWFkY3J1bWIvYnJlYWRjcnVtYi5tb2R1bGUnO1xuZXhwb3J0IHtBcHBsaWNhdGlvbk9wdGlvbnMgYXMgybVhfSBmcm9tICcuL2NvcmUvY29tbW9uL0FwcGxpY2F0aW9uT3B0aW9ucyc7XG5leHBvcnQge0Zvck9mRGlyZWN0aXZlIGFzIMm1cn0gZnJvbSAnLi9jb3JlL2NvbW1vbi9mb3JPZi5kaXJlY3RpdmUnO1xuZXhwb3J0IHtJQ09OUyBhcyDJtW8sSWNvbkRpcmVjdGl2ZSBhcyDJtW59IGZyb20gJy4vY29yZS9jb21tb24vaWNvbi5kaXJlY3RpdmUnO1xuZXhwb3J0IHtMb2FkTW9yZUNvbXBvbmVudCBhcyDJtXN9IGZyb20gJy4vY29yZS9jb21tb24vbG9hZC1tb3JlLmNvbXBvbmVudCc7XG5leHBvcnQge01hcEZ1bmN0aW9uUGlwZSBhcyDJtXR9IGZyb20gJy4vY29yZS9jb21tb24vbWFwLWZ1bmN0aW9uLnBpcGUnO1xuZXhwb3J0IHtPdXRsZXREaXJlY3RpdmUgYXMgybVwfSBmcm9tICcuL2NvcmUvY29tbW9uL291dGxldC5kaXJlY3RpdmUnO1xuZXhwb3J0IHtQcm9ncmVzc0JhckNvbXBvbmVudCBhcyDJtXV9IGZyb20gJy4vY29yZS9jb21tb24vcHJvZ3Jlc3MtYmFyLmNvbXBvbmVudCc7XG5leHBvcnQge1Nob3J0ZW5Vc2VyTmFtZVBpcGUgYXMgybVxfSBmcm9tICcuL2NvcmUvY29tbW9uL3Nob3J0ZW4tdXNlci1uYW1lLnBpcGUnO1xuZXhwb3J0IHtVc2VyUHJlZmVyZW5jZXNTZXJ2aWNlIGFzIMm1dn0gZnJvbSAnLi9jb3JlL2NvbW1vbi91c2VyLXByZWZlcmVuY2VzL3VzZXItcHJlZmVyZW5jZXMuc2VydmljZSc7XG5leHBvcnQge0NlbGxSZW5kZXJlckNvbXBvbmVudCBhcyDJtWNxfSBmcm9tICcuL2NvcmUvZGF0YS1ncmlkL2NvbHVtbi9jZWxsLXJlbmRlcmVyLmNvbXBvbmVudCc7XG5leHBvcnQge0NvbHVtbkRpcmVjdGl2ZSBhcyDJtWN0fSBmcm9tICcuL2NvcmUvZGF0YS1ncmlkL2NvbHVtbi9jb2x1bW4uZGlyZWN0aXZlJztcbmV4cG9ydCB7RmlsdGVyaW5nRm9ybVJlbmRlcmVyRGVmRGlyZWN0aXZlIGFzIMm1Y3J9IGZyb20gJy4vY29yZS9kYXRhLWdyaWQvY29sdW1uL2ZpbHRlcmluZy1mb3JtLXJlbmRlcmVyJztcbmV4cG9ydCB7RmlsdGVyaW5nRm9ybVJlbmRlcmVyQ29tcG9uZW50IGFzIMm1Y3N9IGZyb20gJy4vY29yZS9kYXRhLWdyaWQvY29sdW1uL2ZpbHRlcmluZy1mb3JtLXJlbmRlcmVyLmNvbXBvbmVudCc7XG5leHBvcnQge0FsYXJtc0NlbGxSZW5kZXJlckNvbXBvbmVudCBhcyDJtWRifSBmcm9tICcuL2NvcmUvZGV2aWNlLWdyaWQvY29sdW1ucy9hbGFybXMuY2VsbC1yZW5kZXJlci5jb21wb25lbnQnO1xuZXhwb3J0IHtHcm91cENlbGxSZW5kZXJlckNvbXBvbmVudCBhcyDJtWN6fSBmcm9tICcuL2NvcmUvZGV2aWNlLWdyaWQvY29sdW1ucy9ncm91cC5jZWxsLXJlbmRlcmVyLmNvbXBvbmVudCc7XG5leHBvcnQge01vZGVsQ2VsbFJlbmRlcmVyQ29tcG9uZW50IGFzIMm1Y3h9IGZyb20gJy4vY29yZS9kZXZpY2UtZ3JpZC9jb2x1bW5zL21vZGVsLmNlbGwtcmVuZGVyZXIuY29tcG9uZW50JztcbmV4cG9ydCB7TmFtZUNlbGxSZW5kZXJlckNvbXBvbmVudCBhcyDJtWN3fSBmcm9tICcuL2NvcmUvZGV2aWNlLWdyaWQvY29sdW1ucy9uYW1lLmNlbGwtcmVuZGVyZXIuY29tcG9uZW50JztcbmV4cG9ydCB7UmVnaXN0cmF0aW9uRGF0ZUNlbGxSZW5kZXJlckNvbXBvbmVudCBhcyDJtWRhfSBmcm9tICcuL2NvcmUvZGV2aWNlLWdyaWQvY29sdW1ucy9yZWdpc3RyYXRpb24tZGF0ZS5jZWxsLXJlbmRlcmVyLmNvbXBvbmVudCc7XG5leHBvcnQge1NlcmlhbE51bWJlckNlbGxSZW5kZXJlckNvbXBvbmVudCBhcyDJtWN5fSBmcm9tICcuL2NvcmUvZGV2aWNlLWdyaWQvY29sdW1ucy9zZXJpYWwtbnVtYmVyLmNlbGwtcmVuZGVyZXIuY29tcG9uZW50JztcbmV4cG9ydCB7U3RhdHVzQ2VsbFJlbmRlcmVyQ29tcG9uZW50IGFzIMm1Y3Z9IGZyb20gJy4vY29yZS9kZXZpY2UtZ3JpZC9jb2x1bW5zL3N0YXR1cy5jZWxsLXJlbmRlcmVyLmNvbXBvbmVudCc7XG5leHBvcnQge0ZpbHRlcmluZ0Zvcm1Db21wb25lbnQgYXMgybVjdX0gZnJvbSAnLi9jb3JlL2RldmljZS1ncmlkL2ZpbHRlcmluZy1mb3JtLmNvbXBvbmVudCc7XG5leHBvcnQge0ZpbHRlcklucHV0Q29tcG9uZW50IGFzIMm1Ynd9IGZyb20gJy4vY29yZS9mb3Jtcy9maWx0ZXItaW5wdXQuY29tcG9uZW50JztcbmV4cG9ydCB7SW5wdXRHcm91cExpc3RDb250YWluZXJEaXJlY3RpdmUgYXMgybVidH0gZnJvbSAnLi9jb3JlL2Zvcm1zL2lucHV0LWdyb3VwLWxpc3QtY29udGFpbmVyLmRpcmVjdGl2ZSc7XG5leHBvcnQge0lwUmFuZ2VJbnB1dExpc3RDb21wb25lbnQgYXMgybVidn0gZnJvbSAnLi9jb3JlL2Zvcm1zL2lwLXJhbmdlLWlucHV0LWxpc3QuY29tcG9uZW50JztcbmV4cG9ydCB7UmVxdWlyZWRJbnB1dFBsYWNlaG9sZGVyRGlyZWN0aXZlIGFzIMm1YnV9IGZyb20gJy4vY29yZS9mb3Jtcy9yZXF1aXJlZC1pbnB1dC1wbGFjZWhvbGRlci5kaXJlY3RpdmUnO1xuZXhwb3J0IHtBcHBJY29uQ29tcG9uZW50IGFzIMm1Ymt9IGZyb20gJy4vY29yZS9oZWFkZXIvYXBwbGljYXRpb24vYXBwLWljb24uY29tcG9uZW50JztcbmV4cG9ydCB7QXBwU3dpdGNoZXJDb21wb25lbnQgYXMgybVibH0gZnJvbSAnLi9jb3JlL2hlYWRlci9hcHBsaWNhdGlvbi9hcHAtc3dpdGNoZXIuY29tcG9uZW50JztcbmV4cG9ydCB7UmlnaHREcmF3ZXJDb21wb25lbnQgYXMgybVibX0gZnJvbSAnLi9jb3JlL2hlYWRlci9yaWdodC1kcmF3ZXIvcmlnaHQtZHJhd2VyLmNvbXBvbmVudCc7XG5leHBvcnQge1RpdGxlT3V0bGV0Q29tcG9uZW50IGFzIMm1Ymp9IGZyb20gJy4vY29yZS9oZWFkZXIvdGl0bGUvdGl0bGUtb3V0bGV0LmNvbXBvbmVudCc7XG5leHBvcnQge0kxOG5Nb2R1bGUgYXMgybVmLGxhbmd1YWdlc0ZhY3RvcnkgYXMgybVkLGxvY2FsZUlkIGFzIMm1ZSxsb2NhbGVQYXRoRmFjdG9yeSBhcyDJtWMsdHJhbnNsYXRlTG9hZGVyRmFjdG9yeSBhcyDJtWJ9IGZyb20gJy4vY29yZS9pMThuL2kxOG4ubW9kdWxlJztcbmV4cG9ydCB7TEFOR1VBR0VTIGFzIMm1aX0gZnJvbSAnLi9jb3JlL2kxOG4vbGFuZ3VhZ2VzJztcbmV4cG9ydCB7TE9DQUxFX1BBVEggYXMgybVofSBmcm9tICcuL2NvcmUvaTE4bi9sb2NhbGUucGF0aCc7XG5leHBvcnQge01pc3NpbmdUcmFuc2xhdGlvbkN1c3RvbUhhbmRsZXIgYXMgybVsfSBmcm9tICcuL2NvcmUvaTE4bi9taXNzaW5nLXRyYW5zbGF0aW9uLWN1c3RvbS5oYW5kbGVyJztcbmV4cG9ydCB7TUVTU0FHRVMgYXMgybVnfSBmcm9tICcuL2NvcmUvaTE4bi9wYXR0ZXJuLW1lc3NhZ2VzLmRhdGEnO1xuZXhwb3J0IHtQYXR0ZXJuTWVzc2FnZXNTZXJ2aWNlIGFzIMm1bX0gZnJvbSAnLi9jb3JlL2kxOG4vcGF0dGVybi1tZXNzYWdlcy5zZXJ2aWNlJztcbmV4cG9ydCB7VHJhbnNsYXRlQ3VzdG9tTG9hZGVyIGFzIMm1an0gZnJvbSAnLi9jb3JlL2kxOG4vdHJhbnNsYXRlLmxvYWRlcic7XG5leHBvcnQge1RyYW5zbGF0ZVBhcnNlckN1c3RvbSBhcyDJtWt9IGZyb20gJy4vY29yZS9pMThuL3RyYW5zbGF0ZS5wYXJzZXInO1xuZXhwb3J0IHtMaXN0SXRlbUFjdGlvbkNvbXBvbmVudCBhcyDJtWRlfSBmcm9tICcuL2NvcmUvbGlzdC1ncm91cC9saXN0LWl0ZW0tYWN0aW9uLmNvbXBvbmVudCc7XG5leHBvcnQge0xpc3RJdGVtQm9keUNvbXBvbmVudCBhcyDJtWRofSBmcm9tICcuL2NvcmUvbGlzdC1ncm91cC9saXN0LWl0ZW0tYm9keS5jb21wb25lbnQnO1xuZXhwb3J0IHtMaXN0SXRlbUNoZWNrYm94Q29tcG9uZW50IGFzIMm1ZGl9IGZyb20gJy4vY29yZS9saXN0LWdyb3VwL2xpc3QtaXRlbS1jaGVja2JveC5jb21wb25lbnQnO1xuZXhwb3J0IHtMaXN0SXRlbUNvbGxhcHNlQ29tcG9uZW50IGFzIMm1ZGZ9IGZyb20gJy4vY29yZS9saXN0LWdyb3VwL2xpc3QtaXRlbS1jb2xsYXBzZS5jb21wb25lbnQnO1xuZXhwb3J0IHtMaXN0SXRlbUZvb3RlckNvbXBvbmVudCBhcyDJtWRkfSBmcm9tICcuL2NvcmUvbGlzdC1ncm91cC9saXN0LWl0ZW0tZm9vdGVyLmNvbXBvbmVudCc7XG5leHBvcnQge0xpc3RJdGVtSWNvbkNvbXBvbmVudCBhcyDJtWRnfSBmcm9tICcuL2NvcmUvbGlzdC1ncm91cC9saXN0LWl0ZW0taWNvbi5jb21wb25lbnQnO1xuZXhwb3J0IHtMaXN0SXRlbVJhZGlvQ29tcG9uZW50IGFzIMm1ZGp9IGZyb20gJy4vY29yZS9saXN0LWdyb3VwL2xpc3QtaXRlbS1yYWRpby5jb21wb25lbnQnO1xuZXhwb3J0IHtMaXN0SXRlbUNvbXBvbmVudCBhcyDJtWRjfSBmcm9tICcuL2NvcmUvbGlzdC1ncm91cC9saXN0LWl0ZW0uY29tcG9uZW50JztcbmV4cG9ydCB7Q2hhbmdlUGFzc3dvcmRDb21wb25lbnQgYXMgybVja30gZnJvbSAnLi9jb3JlL2xvZ2luL2NoYW5nZS1wYXNzd29yZC5jb21wb25lbnQnO1xuZXhwb3J0IHtDcmVkZW50aWFsc0NvbXBvbmVudCBhcyDJtWNsfSBmcm9tICcuL2NvcmUvbG9naW4vY3JlZGVudGlhbHMuY29tcG9uZW50JztcbmV4cG9ydCB7TG9naW5Db21wb25lbnQgYXMgybVjaX0gZnJvbSAnLi9jb3JlL2xvZ2luL2xvZ2luLmNvbXBvbmVudCc7XG5leHBvcnQge0xvZ2luTW9kdWxlIGFzIMm1Y2h9IGZyb20gJy4vY29yZS9sb2dpbi9sb2dpbi5tb2R1bGUnO1xuZXhwb3J0IHtSZWNvdmVyUGFzc3dvcmRDb21wb25lbnQgYXMgybVjan0gZnJvbSAnLi9jb3JlL2xvZ2luL3JlY292ZXItcGFzc3dvcmQuY29tcG9uZW50JztcbmV4cG9ydCB7VG90cEF1dGhDb21wb25lbnQgYXMgybVjbX0gZnJvbSAnLi9jb3JlL2xvZ2luL3RvdHAtYXV0aC5jb21wb25lbnQnO1xuZXhwb3J0IHtNb2RhbENvbXBvbmVudCBhcyDJtWJ4fSBmcm9tICcuL2NvcmUvbW9kYWwvbW9kYWwuY29tcG9uZW50JztcbmV4cG9ydCB7TmF2aWdhdG9yTm9kZURhdGEgYXMgybVkbX0gZnJvbSAnLi9jb3JlL25hdmlnYXRvci9uYXZpZ2F0b3Itbm9kZS1kYXRhJztcbmV4cG9ydCB7TmF2aWdhdG9yTm9kZUNvbXBvbmVudCBhcyDJtWNnfSBmcm9tICcuL2NvcmUvbmF2aWdhdG9yL25hdmlnYXRvci1ub2RlLmNvbXBvbmVudCc7XG5leHBvcnQge05hdmlnYXRvck91dGxldENvbXBvbmVudCBhcyDJtWNmfSBmcm9tICcuL2NvcmUvbmF2aWdhdG9yL25hdmlnYXRvci1vdXRsZXQuY29tcG9uZW50JztcbmV4cG9ydCB7TmF2aWdhdG9yTW9kdWxlIGFzIMm1Y2V9IGZyb20gJy4vY29yZS9uYXZpZ2F0b3IvbmF2aWdhdG9yLm1vZHVsZSc7XG5leHBvcnQge1F1aWNrTGlua0NvbXBvbmVudCBhcyDJtWRwfSBmcm9tICcuL2NvcmUvcXVpY2tsaW5rL3F1aWNrLWxpbmsuY29tcG9uZW50JztcbmV4cG9ydCB7Q29udGV4dFJvdXRlR3VhcmQgYXMgybVkb30gZnJvbSAnLi9jb3JlL3JvdXRlci9jb250ZXh0LXJvdXRlLmd1YXJkJztcbmV4cG9ydCB7Um91dGVyVGFic1Jlc29sdmVyIGFzIMm1ZG59IGZyb20gJy4vY29yZS9yb3V0ZXIvcm91dGVyLXRhYnMucmVzb2x2ZXInO1xuZXhwb3J0IHtTZWFyY2hPdXRsZXRDb21wb25lbnQgYXMgybVieX0gZnJvbSAnLi9jb3JlL3NlYXJjaC9zZWFyY2gtb3V0bGV0LmNvbXBvbmVudCc7XG5leHBvcnQge1NlYXJjaENvbXBvbmVudCBhcyDJtWJ6fSBmcm9tICcuL2NvcmUvc2VhcmNoL3NlYXJjaC5jb21wb25lbnQnO1xuZXhwb3J0IHtDOHlTdGVwcGVySWNvbiBhcyDJtWRrfSBmcm9tICcuL2NvcmUvc3RlcHBlci9zdGVwcGVyLWljb24uZGlyZWN0aXZlJztcbmV4cG9ydCB7Qzh5U3RlcHBlclByb2dyZXNzIGFzIMm1ZGx9IGZyb20gJy4vY29yZS9zdGVwcGVyL3N0ZXBwZXItcHJvZ3Jlc3MuY29tcG9uZW50JztcbmV4cG9ydCB7VGFiQ29tcG9uZW50IGFzIMm1Y3B9IGZyb20gJy4vY29yZS90YWJzL3RhYi5jb21wb25lbnQnO1xuZXhwb3J0IHtUYWJzT3V0bGV0Q29tcG9uZW50IGFzIMm1Y299IGZyb20gJy4vY29yZS90YWJzL3RhYnMtb3V0bGV0LmNvbXBvbmVudCc7XG5leHBvcnQge1RhYnNNb2R1bGUgYXMgybVjbn0gZnJvbSAnLi9jb3JlL3RhYnMvdGFicy5tb2R1bGUnO1xuZXhwb3J0IHtVc2VyRWRpdE1vZGFsQ29tcG9uZW50IGFzIMm1YnF9IGZyb20gJy4vY29yZS91c2VyL3VzZXItZWRpdC1tb2RhbC5jb21wb25lbnQnO1xuZXhwb3J0IHtVc2VyRWRpdENvbXBvbmVudCBhcyDJtWJwfSBmcm9tICcuL2NvcmUvdXNlci91c2VyLWVkaXQuY29tcG9uZW50JztcbmV4cG9ydCB7VXNlck1lbnVJdGVtQ29tcG9uZW50IGFzIMm1YnJ9IGZyb20gJy4vY29yZS91c2VyL3VzZXItbWVudS1pdGVtLmNvbXBvbmVudCc7XG5leHBvcnQge1VzZXJNZW51T3V0bGV0Q29tcG9uZW50IGFzIMm1Ym99IGZyb20gJy4vY29yZS91c2VyL3VzZXItbWVudS1vdXRsZXQuY29tcG9uZW50JztcbmV4cG9ydCB7VXNlclRvdHBTZXR1cENvbXBvbmVudCBhcyDJtWJzfSBmcm9tICcuL2NvcmUvdXNlci91c2VyLXRvdHAtc2V0dXAuY29tcG9uZW50JztcbmV4cG9ydCB7VXNlck1vZHVsZSBhcyDJtWJufSBmcm9tICcuL2NvcmUvdXNlci91c2VyLm1vZHVsZSc7Il19
53
+ export { LANGUAGES as ɵj } from './core/i18n/languages';
54
+ export { LOCALE_PATH as ɵi } from './core/i18n/locale.path';
55
+ export { MissingTranslationCustomHandler as ɵm } from './core/i18n/missing-translation-custom.handler';
56
+ export { MESSAGES as ɵh } from './core/i18n/pattern-messages.data';
57
+ export { PatternMessagesService as ɵn } from './core/i18n/pattern-messages.service';
58
+ export { TranslateCustomLoader as ɵk } from './core/i18n/translate.loader';
59
+ export { TranslateParserCustom as ɵl } from './core/i18n/translate.parser';
60
+ export { ListItemActionComponent as ɵdh } from './core/list-group/list-item-action.component';
61
+ export { ListItemBodyComponent as ɵdk } from './core/list-group/list-item-body.component';
62
+ export { ListItemCheckboxComponent as ɵdl } from './core/list-group/list-item-checkbox.component';
63
+ export { ListItemCollapseComponent as ɵdi } from './core/list-group/list-item-collapse.component';
64
+ export { ListItemFooterComponent as ɵdg } from './core/list-group/list-item-footer.component';
65
+ export { ListItemIconComponent as ɵdj } from './core/list-group/list-item-icon.component';
66
+ export { ListItemRadioComponent as ɵdm } from './core/list-group/list-item-radio.component';
67
+ export { ListItemComponent as ɵdf } from './core/list-group/list-item.component';
68
+ export { ChangePasswordComponent as ɵcl } from './core/login/change-password.component';
69
+ export { CredentialsComponent as ɵcm } from './core/login/credentials.component';
70
+ export { LoginComponent as ɵcj } from './core/login/login.component';
71
+ export { LoginModule as ɵci } from './core/login/login.module';
72
+ export { PasswordStrengthValidatorDirective as ɵco } from './core/login/password-strength-validator.directive';
73
+ export { RecoverPasswordComponent as ɵck } from './core/login/recover-password.component';
74
+ export { StrengthValidatorService as ɵcp } from './core/login/strength-validator-service';
75
+ export { TotpAuthComponent as ɵcn } from './core/login/totp-auth.component';
76
+ export { ModalComponent as ɵby } from './core/modal/modal.component';
77
+ export { NavigatorNodeComponent as ɵch } from './core/navigator/navigator-node.component';
78
+ export { NavigatorOutletComponent as ɵcg } from './core/navigator/navigator-outlet.component';
79
+ export { NavigatorModule as ɵcf } from './core/navigator/navigator.module';
80
+ export { QuickLinkComponent as ɵds } from './core/quicklink/quick-link.component';
81
+ export { ContextRouteGuard as ɵdr } from './core/router/context-route.guard';
82
+ export { RouterTabsResolver as ɵdq } from './core/router/router-tabs.resolver';
83
+ export { SearchOutletComponent as ɵbz } from './core/search/search-outlet.component';
84
+ export { SearchComponent as ɵca } from './core/search/search.component';
85
+ export { C8yStepperIcon as ɵdn } from './core/stepper/stepper-icon.directive';
86
+ export { C8yStepperProgress as ɵdo } from './core/stepper/stepper-progress.component';
87
+ export { TabComponent as ɵcs } from './core/tabs/tab.component';
88
+ export { TabsOutletComponent as ɵcr } from './core/tabs/tabs-outlet.component';
89
+ export { TabsModule as ɵcq } from './core/tabs/tabs.module';
90
+ export { UserEditModalComponent as ɵbr } from './core/user/user-edit-modal.component';
91
+ export { UserEditComponent as ɵbq } from './core/user/user-edit.component';
92
+ export { UserMenuItemComponent as ɵbs } from './core/user/user-menu-item.component';
93
+ export { UserMenuOutletComponent as ɵbp } from './core/user/user-menu-outlet.component';
94
+ export { UserTotpSetupComponent as ɵbt } from './core/user/user-totp-setup.component';
95
+ export { UserModule as ɵbo } from './core/user/user.module';
96
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYzh5LW5neC1jb21wb25lbnRzLmpzIiwic291cmNlUm9vdCI6Im5nOi8vQGM4eS9uZ3gtY29tcG9uZW50cy8iLCJzb3VyY2VzIjpbImM4eS1uZ3gtY29tcG9uZW50cy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7R0FFRztBQUVILGNBQWMsU0FBUyxDQUFDO0FBRXhCLE9BQU8sRUFBQyxzQkFBc0IsSUFBSSxFQUFFLEVBQUMsTUFBTSw2Q0FBNkMsQ0FBQztBQUN6RixPQUFPLEVBQUMsa0JBQWtCLElBQUksRUFBRSxFQUFDLE1BQU0sd0NBQXdDLENBQUM7QUFDaEYsT0FBTyxFQUFDLGVBQWUsSUFBSSxFQUFFLEVBQUMsTUFBTSxxQ0FBcUMsQ0FBQztBQUMxRSxPQUFPLEVBQUMscUJBQXFCLElBQUksR0FBRyxFQUFDLE1BQU0sdUNBQXVDLENBQUM7QUFDbkYsT0FBTyxFQUFDLGVBQWUsSUFBSSxHQUFHLEVBQUMsTUFBTSxnQ0FBZ0MsQ0FBQztBQUN0RSxPQUFPLEVBQUMsWUFBWSxJQUFJLEdBQUcsRUFBQyxNQUFNLDZCQUE2QixDQUFDO0FBQ2hFLE9BQU8sRUFBQyxxQkFBcUIsSUFBSSxHQUFHLEVBQUMsTUFBTSxzQ0FBc0MsQ0FBQztBQUNsRixPQUFPLEVBQUMsb0JBQW9CLElBQUksR0FBRyxFQUFDLE1BQU0scUNBQXFDLENBQUM7QUFDaEYsT0FBTyxFQUFDLGtCQUFrQixJQUFJLEdBQUcsRUFBQyxNQUFNLG1DQUFtQyxDQUFDO0FBQzVFLE9BQU8sRUFBQyxjQUFjLElBQUksR0FBRyxFQUFDLE1BQU0sOEJBQThCLENBQUM7QUFDbkUsT0FBTyxFQUFDLFdBQVcsSUFBSSxHQUFHLEVBQUMsTUFBTSwyQkFBMkIsQ0FBQztBQUM3RCxPQUFPLEVBQUMsZUFBZSxJQUFJLEdBQUcsRUFBQyxNQUFNLG1DQUFtQyxDQUFDO0FBQ3pFLE9BQU8sRUFBQyxxQkFBcUIsSUFBSSxHQUFHLEVBQUMsTUFBTSx3REFBd0QsQ0FBQztBQUNwRyxPQUFPLEVBQUMsdUJBQXVC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LElBQUksR0FBRyxFQUFDLE1BQU0sb0NBQW9DLENBQUM7QUFDN0UsT0FBTyxFQUFDLHFCQUFxQixJQUFJLEdBQUcsRUFBQyxNQUFNLHVDQUF1QyxDQUFDO0FBQ25GLE9BQU8sRUFBQyxlQUFlLElBQUksR0FBRyxFQUFDLE1BQU0sZ0NBQWdDLENBQUM7QUFDdEUsT0FBTyxFQUFDLGNBQWMsSUFBSSxHQUFHLEVBQUMsTUFBTSx1Q0FBdUMsQ0FBQztBQUM1RSxPQUFPLEVBQUMsa0JBQWtCLElBQUksR0FBRyxFQUFDLE1BQU0sMkNBQTJDLENBQUM7QUFDcEYsT0FBTyxFQUFDLFlBQVksSUFBSSxHQUFHLEVBQUMsTUFBTSwyQkFBMkIsQ0FBQztBQUM5RCxPQUFPLEVBQUMsbUJBQW1CLElBQUksR0FBRyxFQUFDLE1BQU0sbUNBQW1DLENBQUM7QUFDN0UsT0FBTyxFQUFDLFVBQVUsSUFBSSxHQUFHLEVBQUMsTUFBTSx5QkFBeUIsQ0FBQztBQUMxRCxPQUFPLEVBQUMsc0JBQXNCLElBQUksR0FBRyxFQUFDLE1BQU0sdUNBQXVDLENBQUM7QUFDcEYsT0FBTyxFQUFDLGlCQUFpQixJQUFJLEdBQUcsRUFBQyxNQUFNLGlDQUFpQyxDQUFDO0FBQ3pFLE9BQU8sRUFBQyxxQkFBcUIsSUFBSSxHQUFHLEVBQUMsTUFBTSxzQ0FBc0MsQ0FBQztBQUNsRixPQUFPLEVBQUMsdUJBQXVCLElBQUksR0FBRyxFQUFDLE1BQU0sd0NBQXdDLENBQUM7QUFDdEYsT0FBTyxFQUFDLHNCQUFzQixJQUFJLEdBQUcsRUFBQyxNQUFNLHVDQUF1QyxDQUFDO0FBQ3BGLE9BQU8sRUFBQyxVQUFVLElBQUksR0FBRyxFQUFDLE1BQU0seUJBQXlCLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIEdlbmVyYXRlZCBidW5kbGUgaW5kZXguIERvIG5vdCBlZGl0LlxuICovXG5cbmV4cG9ydCAqIGZyb20gJy4vaW5kZXgnO1xuXG5leHBvcnQge0FjdGlvbkJhckl0ZW1Db21wb25lbnQgYXMgybV6fSBmcm9tICcuL2NvcmUvYWN0aW9uLWJhci9hY3Rpb24tYmFyLWl0ZW0uY29tcG9uZW50JztcbmV4cG9ydCB7QWN0aW9uQmFyQ29tcG9uZW50IGFzIMm1eX0gZnJvbSAnLi9jb3JlL2FjdGlvbi1iYXIvYWN0aW9uLWJhci5jb21wb25lbnQnO1xuZXhwb3J0IHtBY3Rpb25CYXJNb2R1bGUgYXMgybV4fSBmcm9tICcuL2NvcmUvYWN0aW9uLWJhci9hY3Rpb24tYmFyLm1vZHVsZSc7XG5leHBvcnQge0FjdGlvbk91dGxldENvbXBvbmVudCBhcyDJtWJifSBmcm9tICcuL2NvcmUvYWN0aW9uL2FjdGlvbi1vdXRsZXQuY29tcG9uZW50JztcbmV4cG9ydCB7QWN0aW9uQ29tcG9uZW50IGFzIMm1YmN9IGZyb20gJy4vY29yZS9hY3Rpb24vYWN0aW9uLmNvbXBvbmVudCc7XG5leHBvcnQge0FjdGlvbk1vZHVsZSBhcyDJtWJhfSBmcm9tICcuL2NvcmUvYWN0aW9uL2FjdGlvbi5tb2R1bGUnO1xuZXhwb3J0IHtBbGVydERldGFpbHNDb21wb25lbnQgYXMgybViZ30gZnJvbSAnLi9jb3JlL2FsZXJ0L2FsZXJ0LWRldGFpbHMuY29tcG9uZW50JztcbmV4cG9ydCB7QWxlcnRPdXRsZXRDb21wb25lbnQgYXMgybViZX0gZnJvbSAnLi9jb3JlL2FsZXJ0L2FsZXJ0LW91dGxldC5jb21wb25lbnQnO1xuZXhwb3J0IHtBbGVydFRleHRDb21wb25lbnQgYXMgybViaH0gZnJvbSAnLi9jb3JlL2FsZXJ0L2FsZXJ0LXRleHQuY29tcG9uZW50JztcbmV4cG9ydCB7QWxlcnRDb21wb25lbnQgYXMgybViZn0gZnJvbSAnLi9jb3JlL2FsZXJ0L2FsZXJ0LmNvbXBvbmVudCc7XG5leHBvcnQge0FsZXJ0TW9kdWxlIGFzIMm1YmR9IGZyb20gJy4vY29yZS9hbGVydC9hbGVydC5tb2R1bGUnO1xuZXhwb3J0IHtCb290c3RyYXBNb2R1bGUgYXMgybViaX0gZnJvbSAnLi9jb3JlL2Jvb3RzdHJhcC9ib290c3RyYXAubW9kdWxlJztcbmV4cG9ydCB7Q29va2llQmFubmVyQ29tcG9uZW50IGFzIMm1Ymp9IGZyb20gJy4vY29yZS9ib290c3RyYXAvY29va2llLWJhbm5lci9jb29raWUtYmFubmVyLmNvbXBvbmVudCc7XG5leHBvcnQge0JyZWFkY3J1bWJJdGVtQ29tcG9uZW50IGFzIMm1Y2R9IGZyb20gJy4vY29yZS9icmVhZGNydW1iL2JyZWFkY3J1bWItaXRlbS5jb21wb25lbnQnO1xuZXhwb3J0IHtCcmVhZGNydW1iT3V0bGV0Q29tcG9uZW50IGFzIMm1Y2V9IGZyb20gJy4vY29yZS9icmVhZGNydW1iL2JyZWFkY3J1bWItb3V0bGV0LmNvbXBvbmVudCc7XG5leHBvcnQge0JyZWFkY3J1bWJDb21wb25lbnQgYXMgybVjY30gZnJvbSAnLi9jb3JlL2JyZWFkY3J1bWIvYnJlYWRjcnVtYi5jb21wb25lbnQnO1xuZXhwb3J0IHtCcmVhZGNydW1iTW9kdWxlIGFzIMm1Y2J9IGZyb20gJy4vY29yZS9icmVhZGNydW1iL2JyZWFkY3J1bWIubW9kdWxlJztcbmV4cG9ydCB7QXBwbGljYXRpb25PcHRpb25zIGFzIMm1YX0gZnJvbSAnLi9jb3JlL2NvbW1vbi9BcHBsaWNhdGlvbk9wdGlvbnMnO1xuZXhwb3J0IHtGb3JPZkRpcmVjdGl2ZSBhcyDJtXN9IGZyb20gJy4vY29yZS9jb21tb24vZm9yT2YuZGlyZWN0aXZlJztcbmV4cG9ydCB7SUNPTlMgYXMgybVwLEljb25EaXJlY3RpdmUgYXMgybVvfSBmcm9tICcuL2NvcmUvY29tbW9uL2ljb24uZGlyZWN0aXZlJztcbmV4cG9ydCB7TG9hZE1vcmVDb21wb25lbnQgYXMgybV0fSBmcm9tICcuL2NvcmUvY29tbW9uL2xvYWQtbW9yZS5jb21wb25lbnQnO1xuZXhwb3J0IHtNYXBGdW5jdGlvblBpcGUgYXMgybV1fSBmcm9tICcuL2NvcmUvY29tbW9uL21hcC1mdW5jdGlvbi5waXBlJztcbmV4cG9ydCB7T3V0bGV0RGlyZWN0aXZlIGFzIMm1cX0gZnJvbSAnLi9jb3JlL2NvbW1vbi9vdXRsZXQuZGlyZWN0aXZlJztcbmV4cG9ydCB7UHJvZ3Jlc3NCYXJDb21wb25lbnQgYXMgybV2fSBmcm9tICcuL2NvcmUvY29tbW9uL3Byb2dyZXNzLWJhci5jb21wb25lbnQnO1xuZXhwb3J0IHtTaG9ydGVuVXNlck5hbWVQaXBlIGFzIMm1cn0gZnJvbSAnLi9jb3JlL2NvbW1vbi9zaG9ydGVuLXVzZXItbmFtZS5waXBlJztcbmV4cG9ydCB7VXNlclByZWZlcmVuY2VzU2VydmljZSBhcyDJtXd9IGZyb20gJy4vY29yZS9jb21tb24vdXNlci1wcmVmZXJlbmNlcy91c2VyLXByZWZlcmVuY2VzLnNlcnZpY2UnO1xuZXhwb3J0IHtDZWxsUmVuZGVyZXJDb21wb25lbnQgYXMgybVjdH0gZnJvbSAnLi9jb3JlL2RhdGEtZ3JpZC9jb2x1bW4vY2VsbC1yZW5kZXJlci5jb21wb25lbnQnO1xuZXhwb3J0IHtDb2x1bW5EaXJlY3RpdmUgYXMgybVjd30gZnJvbSAnLi9jb3JlL2RhdGEtZ3JpZC9jb2x1bW4vY29sdW1uLmRpcmVjdGl2ZSc7XG5leHBvcnQge0ZpbHRlcmluZ0Zvcm1SZW5kZXJlckRlZkRpcmVjdGl2ZSBhcyDJtWN1fSBmcm9tICcuL2NvcmUvZGF0YS1ncmlkL2NvbHVtbi9maWx0ZXJpbmctZm9ybS1yZW5kZXJlcic7XG5leHBvcnQge0ZpbHRlcmluZ0Zvcm1SZW5kZXJlckNvbXBvbmVudCBhcyDJtWN2fSBmcm9tICcuL2NvcmUvZGF0YS1ncmlkL2NvbHVtbi9maWx0ZXJpbmctZm9ybS1yZW5kZXJlci5jb21wb25lbnQnO1xuZXhwb3J0IHtBbGFybXNDZWxsUmVuZGVyZXJDb21wb25lbnQgYXMgybVkZX0gZnJvbSAnLi9jb3JlL2RldmljZS1ncmlkL2NvbHVtbnMvYWxhcm1zLmNlbGwtcmVuZGVyZXIuY29tcG9uZW50JztcbmV4cG9ydCB7R3JvdXBDZWxsUmVuZGVyZXJDb21wb25lbnQgYXMgybVkY30gZnJvbSAnLi9jb3JlL2RldmljZS1ncmlkL2NvbHVtbnMvZ3JvdXAuY2VsbC1yZW5kZXJlci5jb21wb25lbnQnO1xuZXhwb3J0IHtNb2RlbENlbGxSZW5kZXJlckNvbXBvbmVudCBhcyDJtWRhfSBmcm9tICcuL2NvcmUvZGV2aWNlLWdyaWQvY29sdW1ucy9tb2RlbC5jZWxsLXJlbmRlcmVyLmNvbXBvbmVudCc7XG5leHBvcnQge05hbWVDZWxsUmVuZGVyZXJDb21wb25lbnQgYXMgybVjen0gZnJvbSAnLi9jb3JlL2RldmljZS1ncmlkL2NvbHVtbnMvbmFtZS5jZWxsLXJlbmRlcmVyLmNvbXBvbmVudCc7XG5leHBvcnQge1JlZ2lzdHJhdGlvbkRhdGVDZWxsUmVuZGVyZXJDb21wb25lbnQgYXMgybVkZH0gZnJvbSAnLi9jb3JlL2RldmljZS1ncmlkL2NvbHVtbnMvcmVnaXN0cmF0aW9uLWRhdGUuY2VsbC1yZW5kZXJlci5jb21wb25lbnQnO1xuZXhwb3J0IHtTZXJpYWxOdW1iZXJDZWxsUmVuZGVyZXJDb21wb25lbnQgYXMgybVkYn0gZnJvbSAnLi9jb3JlL2RldmljZS1ncmlkL2NvbHVtbnMvc2VyaWFsLW51bWJlci5jZWxsLXJlbmRlcmVyLmNvbXBvbmVudCc7XG5leHBvcnQge1N0YXR1c0NlbGxSZW5kZXJlckNvbXBvbmVudCBhcyDJtWN5fSBmcm9tICcuL2NvcmUvZGV2aWNlLWdyaWQvY29sdW1ucy9zdGF0dXMuY2VsbC1yZW5kZXJlci5jb21wb25lbnQnO1xuZXhwb3J0IHtGaWx0ZXJpbmdGb3JtQ29tcG9uZW50IGFzIMm1Y3h9IGZyb20gJy4vY29yZS9kZXZpY2UtZ3JpZC9maWx0ZXJpbmctZm9ybS5jb21wb25lbnQnO1xuZXhwb3J0IHtGaWx0ZXJJbnB1dENvbXBvbmVudCBhcyDJtWJ4fSBmcm9tICcuL2NvcmUvZm9ybXMvZmlsdGVyLWlucHV0LmNvbXBvbmVudCc7XG5leHBvcnQge0lucHV0R3JvdXBMaXN0Q29udGFpbmVyRGlyZWN0aXZlIGFzIMm1YnV9IGZyb20gJy4vY29yZS9mb3Jtcy9pbnB1dC1ncm91cC1saXN0LWNvbnRhaW5lci5kaXJlY3RpdmUnO1xuZXhwb3J0IHtJcFJhbmdlSW5wdXRMaXN0Q29tcG9uZW50IGFzIMm1Ynd9IGZyb20gJy4vY29yZS9mb3Jtcy9pcC1yYW5nZS1pbnB1dC1saXN0LmNvbXBvbmVudCc7XG5leHBvcnQge1JlcXVpcmVkSW5wdXRQbGFjZWhvbGRlckRpcmVjdGl2ZSBhcyDJtWJ2fSBmcm9tICcuL2NvcmUvZm9ybXMvcmVxdWlyZWQtaW5wdXQtcGxhY2Vob2xkZXIuZGlyZWN0aXZlJztcbmV4cG9ydCB7QXBwSWNvbkNvbXBvbmVudCBhcyDJtWJsfSBmcm9tICcuL2NvcmUvaGVhZGVyL2FwcGxpY2F0aW9uL2FwcC1pY29uLmNvbXBvbmVudCc7XG5leHBvcnQge0FwcFN3aXRjaGVyQ29tcG9uZW50IGFzIMm1Ym19IGZyb20gJy4vY29yZS9oZWFkZXIvYXBwbGljYXRpb24vYXBwLXN3aXRjaGVyLmNvbXBvbmVudCc7XG5leHBvcnQge1JpZ2h0RHJhd2VyQ29tcG9uZW50IGFzIMm1Ym59IGZyb20gJy4vY29yZS9oZWFkZXIvcmlnaHQtZHJhd2VyL3JpZ2h0LWRyYXdlci5jb21wb25lbnQnO1xuZXhwb3J0IHtUaXRsZU91dGxldENvbXBvbmVudCBhcyDJtWJrfSBmcm9tICcuL2NvcmUvaGVhZGVyL3RpdGxlL3RpdGxlLW91dGxldC5jb21wb25lbnQnO1xuZXhwb3J0IHtGb3JjZUh0bWxUcmFuc2xhdGVEaXJlY3RpdmUgYXMgybVnfSBmcm9tICcuL2NvcmUvaTE4bi9mb3JjZS1odG1sLXRyYW5zbGF0ZS5kaXJlY3RpdmUnO1xuZXhwb3J0IHtJMThuTW9kdWxlIGFzIMm1ZixsYW5ndWFnZXNGYWN0b3J5IGFzIMm1ZCxsb2NhbGVJZCBhcyDJtWUsbG9jYWxlUGF0aEZhY3RvcnkgYXMgybVjLHRyYW5zbGF0ZUxvYWRlckZhY3RvcnkgYXMgybVifSBmcm9tICcuL2NvcmUvaTE4bi9pMThuLm1vZHVsZSc7XG5leHBvcnQge0xBTkdVQUdFUyBhcyDJtWp9IGZyb20gJy4vY29yZS9pMThuL2xhbmd1YWdlcyc7XG5leHBvcnQge0xPQ0FMRV9QQVRIIGFzIMm1aX0gZnJvbSAnLi9jb3JlL2kxOG4vbG9jYWxlLnBhdGgnO1xuZXhwb3J0IHtNaXNzaW5nVHJhbnNsYXRpb25DdXN0b21IYW5kbGVyIGFzIMm1bX0gZnJvbSAnLi9jb3JlL2kxOG4vbWlzc2luZy10cmFuc2xhdGlvbi1jdXN0b20uaGFuZGxlcic7XG5leHBvcnQge01FU1NBR0VTIGFzIMm1aH0gZnJvbSAnLi9jb3JlL2kxOG4vcGF0dGVybi1tZXNzYWdlcy5kYXRhJztcbmV4cG9ydCB7UGF0dGVybk1lc3NhZ2VzU2VydmljZSBhcyDJtW59IGZyb20gJy4vY29yZS9pMThuL3BhdHRlcm4tbWVzc2FnZXMuc2VydmljZSc7XG5leHBvcnQge1RyYW5zbGF0ZUN1c3RvbUxvYWRlciBhcyDJtWt9IGZyb20gJy4vY29yZS9pMThuL3RyYW5zbGF0ZS5sb2FkZXInO1xuZXhwb3J0IHtUcmFuc2xhdGVQYXJzZXJDdXN0b20gYXMgybVsfSBmcm9tICcuL2NvcmUvaTE4bi90cmFuc2xhdGUucGFyc2VyJztcbmV4cG9ydCB7TGlzdEl0ZW1BY3Rpb25Db21wb25lbnQgYXMgybVkaH0gZnJvbSAnLi9jb3JlL2xpc3QtZ3JvdXAvbGlzdC1pdGVtLWFjdGlvbi5jb21wb25lbnQnO1xuZXhwb3J0IHtMaXN0SXRlbUJvZHlDb21wb25lbnQgYXMgybVka30gZnJvbSAnLi9jb3JlL2xpc3QtZ3JvdXAvbGlzdC1pdGVtLWJvZHkuY29tcG9uZW50JztcbmV4cG9ydCB7TGlzdEl0ZW1DaGVja2JveENvbXBvbmVudCBhcyDJtWRsfSBmcm9tICcuL2NvcmUvbGlzdC1ncm91cC9saXN0LWl0ZW0tY2hlY2tib3guY29tcG9uZW50JztcbmV4cG9ydCB7TGlzdEl0ZW1Db2xsYXBzZUNvbXBvbmVudCBhcyDJtWRpfSBmcm9tICcuL2NvcmUvbGlzdC1ncm91cC9saXN0LWl0ZW0tY29sbGFwc2UuY29tcG9uZW50JztcbmV4cG9ydCB7TGlzdEl0ZW1Gb290ZXJDb21wb25lbnQgYXMgybVkZ30gZnJvbSAnLi9jb3JlL2xpc3QtZ3JvdXAvbGlzdC1pdGVtLWZvb3Rlci5jb21wb25lbnQnO1xuZXhwb3J0IHtMaXN0SXRlbUljb25Db21wb25lbnQgYXMgybVkan0gZnJvbSAnLi9jb3JlL2xpc3QtZ3JvdXAvbGlzdC1pdGVtLWljb24uY29tcG9uZW50JztcbmV4cG9ydCB7TGlzdEl0ZW1SYWRpb0NvbXBvbmVudCBhcyDJtWRtfSBmcm9tICcuL2NvcmUvbGlzdC1ncm91cC9saXN0LWl0ZW0tcmFkaW8uY29tcG9uZW50JztcbmV4cG9ydCB7TGlzdEl0ZW1Db21wb25lbnQgYXMgybVkZn0gZnJvbSAnLi9jb3JlL2xpc3QtZ3JvdXAvbGlzdC1pdGVtLmNvbXBvbmVudCc7XG5leHBvcnQge0NoYW5nZVBhc3N3b3JkQ29tcG9uZW50IGFzIMm1Y2x9IGZyb20gJy4vY29yZS9sb2dpbi9jaGFuZ2UtcGFzc3dvcmQuY29tcG9uZW50JztcbmV4cG9ydCB7Q3JlZGVudGlhbHNDb21wb25lbnQgYXMgybVjbX0gZnJvbSAnLi9jb3JlL2xvZ2luL2NyZWRlbnRpYWxzLmNvbXBvbmVudCc7XG5leHBvcnQge0xvZ2luQ29tcG9uZW50IGFzIMm1Y2p9IGZyb20gJy4vY29yZS9sb2dpbi9sb2dpbi5jb21wb25lbnQnO1xuZXhwb3J0IHtMb2dpbk1vZHVsZSBhcyDJtWNpfSBmcm9tICcuL2NvcmUvbG9naW4vbG9naW4ubW9kdWxlJztcbmV4cG9ydCB7UGFzc3dvcmRTdHJlbmd0aFZhbGlkYXRvckRpcmVjdGl2ZSBhcyDJtWNvfSBmcm9tICcuL2NvcmUvbG9naW4vcGFzc3dvcmQtc3RyZW5ndGgtdmFsaWRhdG9yLmRpcmVjdGl2ZSc7XG5leHBvcnQge1JlY292ZXJQYXNzd29yZENvbXBvbmVudCBhcyDJtWNrfSBmcm9tICcuL2NvcmUvbG9naW4vcmVjb3Zlci1wYXNzd29yZC5jb21wb25lbnQnO1xuZXhwb3J0IHtTdHJlbmd0aFZhbGlkYXRvclNlcnZpY2UgYXMgybVjcH0gZnJvbSAnLi9jb3JlL2xvZ2luL3N0cmVuZ3RoLXZhbGlkYXRvci1zZXJ2aWNlJztcbmV4cG9ydCB7VG90cEF1dGhDb21wb25lbnQgYXMgybVjbn0gZnJvbSAnLi9jb3JlL2xvZ2luL3RvdHAtYXV0aC5jb21wb25lbnQnO1xuZXhwb3J0IHtNb2RhbENvbXBvbmVudCBhcyDJtWJ5fSBmcm9tICcuL2NvcmUvbW9kYWwvbW9kYWwuY29tcG9uZW50JztcbmV4cG9ydCB7TmF2aWdhdG9yTm9kZURhdGEgYXMgybVkcH0gZnJvbSAnLi9jb3JlL25hdmlnYXRvci9uYXZpZ2F0b3Itbm9kZS1kYXRhJztcbmV4cG9ydCB7TmF2aWdhdG9yTm9kZUNvbXBvbmVudCBhcyDJtWNofSBmcm9tICcuL2NvcmUvbmF2aWdhdG9yL25hdmlnYXRvci1ub2RlLmNvbXBvbmVudCc7XG5leHBvcnQge05hdmlnYXRvck91dGxldENvbXBvbmVudCBhcyDJtWNnfSBmcm9tICcuL2NvcmUvbmF2aWdhdG9yL25hdmlnYXRvci1vdXRsZXQuY29tcG9uZW50JztcbmV4cG9ydCB7TmF2aWdhdG9yTW9kdWxlIGFzIMm1Y2Z9IGZyb20gJy4vY29yZS9uYXZpZ2F0b3IvbmF2aWdhdG9yLm1vZHVsZSc7XG5leHBvcnQge1F1aWNrTGlua0NvbXBvbmVudCBhcyDJtWRzfSBmcm9tICcuL2NvcmUvcXVpY2tsaW5rL3F1aWNrLWxpbmsuY29tcG9uZW50JztcbmV4cG9ydCB7Q29udGV4dFJvdXRlR3VhcmQgYXMgybVkcn0gZnJvbSAnLi9jb3JlL3JvdXRlci9jb250ZXh0LXJvdXRlLmd1YXJkJztcbmV4cG9ydCB7Um91dGVyVGFic1Jlc29sdmVyIGFzIMm1ZHF9IGZyb20gJy4vY29yZS9yb3V0ZXIvcm91dGVyLXRhYnMucmVzb2x2ZXInO1xuZXhwb3J0IHtTZWFyY2hPdXRsZXRDb21wb25lbnQgYXMgybVien0gZnJvbSAnLi9jb3JlL3NlYXJjaC9zZWFyY2gtb3V0bGV0LmNvbXBvbmVudCc7XG5leHBvcnQge1NlYXJjaENvbXBvbmVudCBhcyDJtWNhfSBmcm9tICcuL2NvcmUvc2VhcmNoL3NlYXJjaC5jb21wb25lbnQnO1xuZXhwb3J0IHtDOHlTdGVwcGVySWNvbiBhcyDJtWRufSBmcm9tICcuL2NvcmUvc3RlcHBlci9zdGVwcGVyLWljb24uZGlyZWN0aXZlJztcbmV4cG9ydCB7Qzh5U3RlcHBlclByb2dyZXNzIGFzIMm1ZG99IGZyb20gJy4vY29yZS9zdGVwcGVyL3N0ZXBwZXItcHJvZ3Jlc3MuY29tcG9uZW50JztcbmV4cG9ydCB7VGFiQ29tcG9uZW50IGFzIMm1Y3N9IGZyb20gJy4vY29yZS90YWJzL3RhYi5jb21wb25lbnQnO1xuZXhwb3J0IHtUYWJzT3V0bGV0Q29tcG9uZW50IGFzIMm1Y3J9IGZyb20gJy4vY29yZS90YWJzL3RhYnMtb3V0bGV0LmNvbXBvbmVudCc7XG5leHBvcnQge1RhYnNNb2R1bGUgYXMgybVjcX0gZnJvbSAnLi9jb3JlL3RhYnMvdGFicy5tb2R1bGUnO1xuZXhwb3J0IHtVc2VyRWRpdE1vZGFsQ29tcG9uZW50IGFzIMm1YnJ9IGZyb20gJy4vY29yZS91c2VyL3VzZXItZWRpdC1tb2RhbC5jb21wb25lbnQnO1xuZXhwb3J0IHtVc2VyRWRpdENvbXBvbmVudCBhcyDJtWJxfSBmcm9tICcuL2NvcmUvdXNlci91c2VyLWVkaXQuY29tcG9uZW50JztcbmV4cG9ydCB7VXNlck1lbnVJdGVtQ29tcG9uZW50IGFzIMm1YnN9IGZyb20gJy4vY29yZS91c2VyL3VzZXItbWVudS1pdGVtLmNvbXBvbmVudCc7XG5leHBvcnQge1VzZXJNZW51T3V0bGV0Q29tcG9uZW50IGFzIMm1YnB9IGZyb20gJy4vY29yZS91c2VyL3VzZXItbWVudS1vdXRsZXQuY29tcG9uZW50JztcbmV4cG9ydCB7VXNlclRvdHBTZXR1cENvbXBvbmVudCBhcyDJtWJ0fSBmcm9tICcuL2NvcmUvdXNlci91c2VyLXRvdHAtc2V0dXAuY29tcG9uZW50JztcbmV4cG9ydCB7VXNlck1vZHVsZSBhcyDJtWJvfSBmcm9tICcuL2NvcmUvdXNlci91c2VyLm1vZHVsZSc7Il19
@@ -121,8 +121,8 @@ ImpactProviderSettingsComponent.ctorParameters = () => [
121
121
  ImpactProviderSettingsComponent = tslib_1.__decorate([
122
122
  Component({
123
123
  selector: 'c8y-impact-provider-settings',
124
- template: "<div class=\"row\">\n <div class=\"col-xs-12 col-md-8 col-lg-6\">\n <form class=\"card\" [formGroup]=\"formGroup\" novalidate>\n <div class=\"card-header separator\">\n <h4 class=\"card-title\" translate>Credentials</h4>\n </div>\n <div class=\"card-block\" *ngIf=\"isEdit\">\n <c8y-form-group>\n <label for=\"baseUrl\" translate>\n Base URL\n </label>\n <input\n id=\"baseUrl\"\n name=\"baseUrl\"\n type=\"text\"\n class=\"form-control\"\n placeholder=\"{{ 'e.g. https://impact.example.com' | translate }}\"\n autocomplete=\"off\"\n formControlName=\"baseUrl\"\n />\n </c8y-form-group>\n <c8y-form-group>\n <label for=\"user\" translate>\n User\n </label>\n <input\n id=\"user\"\n name=\"user\"\n type=\"text\"\n class=\"form-control\"\n placeholder=\"{{ 'e.g. joe`LOCALIZE`' | translate }}\"\n required\n autocomplete=\"off\"\n formControlName=\"user\"\n />\n <c8y-messages>\n <c8y-message *ngIf=\"formGroup?.controls?.user?.errors?.required\" translate>\n This field is required.\n </c8y-message>\n </c8y-messages>\n </c8y-form-group>\n <c8y-form-group>\n <label for=\"password\" translate>\n Password\n </label>\n <input\n id=\"password\"\n name=\"password\"\n type=\"password\"\n class=\"form-control\"\n placeholder=\"{{ 'e.g. my_password' | translate }}\"\n required\n autocomplete=\"off\"\n formControlName=\"password\"\n />\n <c8y-messages>\n <c8y-message *ngIf=\"formGroup?.controls?.password?.errors?.required\" translate>\n This field is required.\n </c8y-message>\n </c8y-messages>\n </c8y-form-group>\n <c8y-form-group>\n <label for=\"groupName\" translate>\n IMPACT group name prefix\n </label>\n <input\n id=\"groupName\"\n name=\"groupName\"\n type=\"text\"\n class=\"form-control\"\n placeholder=\"{{ 'e.g. Europe.Nokia`LOCALIZE`' | translate }}\"\n formControlName=\"groupName\"\n />\n </c8y-form-group>\n </div>\n <div class=\"card-block bg-gray-white\">\n <div class=\"d-flex\">\n <c8y-status-display\n [status]=\"connectionStatus?.status\"\n [baseUrl]=\"connectionStatus?.options?.baseUrl\"\n ></c8y-status-display>\n\n <div class=\"d-flex flex-item-middle flex-item-right\">\n <label class=\"c8y-switch\">\n <input type=\"checkbox\" formControlName=\"initializeDevices\" />\n <span></span> {{ 'Refresh devices' | translate }}\n </label>\n <a\n container=\"body\"\n class=\"btn-clean m-l-4 flex-item-middle\"\n popover=\"{{ 'Refresh device resources as part of connecting' | translate }}\"\n placement=\"right\"\n outsideClick=\"false\"\n >\n <i c8yIcon=\"question-circle-o text-primary\"></i>\n </a>\n </div>\n </div>\n </div>\n <div class=\"card-block\" *ngIf=\"credentialsExist && !isEdit\">\n <p translate>\n Credentials already provided.<br />\n Click \"Replace credentials\" below to overwrite them.\n </p>\n </div>\n <div class=\"card-footer\">\n <button\n title=\"{{ 'Replace credentials' | translate }}\"\n type=\"submit\"\n class=\"btn btn-default\"\n translate\n *ngIf=\"!isEdit\"\n (click)=\"replaceCredentials()\"\n >\n Replace credentials\n </button>\n <button\n title=\"{{ 'Delete credentials' | translate }}\"\n type=\"button\"\n class=\"btn btn-danger\"\n translate\n *ngIf=\"credentialsExist && isEdit\"\n (click)=\"deleteCredentials()\"\n >\n Delete credentials\n </button>\n <button\n title=\"{{ 'Save credentials & connect' | translate }}\"\n type=\"button\"\n class=\"btn btn-primary\"\n translate\n *ngIf=\"isEdit\"\n [disabled]=\"formGroup.invalid\"\n (click)=\"saveCredentials()\"\n >\n Save credentials & connect\n </button>\n </div>\n </form>\n </div>\n</div>\n"
124
+ template: "<div class=\"row\">\n <div class=\"col-xs-12 col-md-8 col-lg-6\">\n <form class=\"card\" [formGroup]=\"formGroup\" novalidate>\n <div class=\"card-header separator\">\n <h4 class=\"card-title\" translate>Credentials</h4>\n </div>\n <div class=\"card-block\" *ngIf=\"isEdit\">\n <c8y-form-group>\n <label for=\"baseUrl\" translate>\n Base URL\n </label>\n <input\n id=\"baseUrl\"\n name=\"baseUrl\"\n type=\"text\"\n class=\"form-control\"\n placeholder=\"{{ 'e.g. https://impact.example.com' | translate }}\"\n autocomplete=\"off\"\n formControlName=\"baseUrl\"\n />\n </c8y-form-group>\n <c8y-form-group>\n <label for=\"user\" translate>\n User\n </label>\n <input\n id=\"user\"\n name=\"user\"\n type=\"text\"\n class=\"form-control\"\n placeholder=\"{{ 'e.g. joe`LOCALIZE`' | translate }}\"\n required\n autocomplete=\"off\"\n formControlName=\"user\"\n />\n <c8y-messages>\n <c8y-message *ngIf=\"formGroup?.controls?.user?.errors?.required\" translate>\n This field is required.\n </c8y-message>\n </c8y-messages>\n </c8y-form-group>\n <c8y-form-group>\n <label for=\"password\" translate>\n Password\n </label>\n <input\n id=\"password\"\n name=\"password\"\n type=\"password\"\n class=\"form-control\"\n placeholder=\"{{ 'e.g. my_password' | translate }}\"\n required\n autocomplete=\"off\"\n formControlName=\"password\"\n />\n <c8y-messages>\n <c8y-message *ngIf=\"formGroup?.controls?.password?.errors?.required\" translate>\n This field is required.\n </c8y-message>\n </c8y-messages>\n </c8y-form-group>\n <c8y-form-group>\n <label for=\"groupName\" translate>\n IMPACT group name prefix\n </label>\n <input\n id=\"groupName\"\n name=\"groupName\"\n type=\"text\"\n class=\"form-control\"\n placeholder=\"{{ 'e.g. Europe.Nokia`LOCALIZE`' | translate }}\"\n formControlName=\"groupName\"\n />\n </c8y-form-group>\n </div>\n <div class=\"card-block bg-gray-white\">\n <div class=\"d-flex\">\n <c8y-status-display\n [status]=\"connectionStatus?.status\"\n [baseUrl]=\"connectionStatus?.options?.baseUrl\"\n ></c8y-status-display>\n\n <div class=\"d-flex flex-item-middle flex-item-right\">\n <label class=\"c8y-switch\">\n <input type=\"checkbox\" formControlName=\"initializeDevices\" />\n <span></span> {{ 'Refresh devices' | translate }}\n </label>\n <a\n container=\"body\"\n class=\"btn-clean m-l-4 flex-item-middle\"\n popover=\"{{ 'Refresh device resources as part of connecting' | translate }}\"\n placement=\"right\"\n outsideClick=\"false\"\n >\n <i c8yIcon=\"question-circle-o text-primary\"></i>\n </a>\n </div>\n </div>\n </div>\n <div class=\"card-block\" *ngIf=\"credentialsExist && !isEdit\">\n <p forceHtmlTranslate>\n Credentials already provided.<br />\n Click \"Replace credentials\" below to overwrite them.\n </p>\n </div>\n <div class=\"card-footer\">\n <button\n title=\"{{ 'Replace credentials' | translate }}\"\n type=\"submit\"\n class=\"btn btn-default\"\n translate\n *ngIf=\"!isEdit\"\n (click)=\"replaceCredentials()\"\n >\n Replace credentials\n </button>\n <button\n title=\"{{ 'Delete credentials' | translate }}\"\n type=\"button\"\n class=\"btn btn-danger\"\n translate\n *ngIf=\"credentialsExist && isEdit\"\n (click)=\"deleteCredentials()\"\n >\n Delete credentials\n </button>\n <button\n title=\"{{ 'Save credentials & connect' | translate }}\"\n type=\"button\"\n class=\"btn btn-primary\"\n translate\n *ngIf=\"isEdit\"\n [disabled]=\"formGroup.invalid\"\n (click)=\"saveCredentials()\"\n >\n Save credentials & connect\n </button>\n </div>\n </form>\n </div>\n</div>\n"
125
125
  })
126
126
  ], ImpactProviderSettingsComponent);
127
127
  export { ImpactProviderSettingsComponent };
128
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW1wYWN0LXByb3ZpZGVyLXNldHRpbmdzLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiJuZzovL0BjOHkvbmd4LWNvbXBvbmVudHMvY29ubmVjdGl2aXR5LyIsInNvdXJjZXMiOlsiaW1wYWN0L2ltcGFjdC1wcm92aWRlci1zZXR0aW5ncy5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQVUsTUFBTSxlQUFlLENBQUM7QUFDbEQsT0FBTyxFQUFFLFdBQVcsRUFBRSxTQUFTLEVBQUUsVUFBVSxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFFcEUsT0FBTyxFQUFFLFlBQVksRUFBRSxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sRUFBRSxNQUFNLHFCQUFxQixDQUFDO0FBQ2xGLE9BQU8sRUFBRSx5QkFBeUIsRUFBRSxNQUFNLCtCQUErQixDQUFDO0FBQzFFLE9BQU8sRUFFTCxzQkFBc0IsRUFFdkIsTUFBTSxnQkFBZ0IsQ0FBQztBQU14QixJQUFhLCtCQUErQixHQUE1QyxNQUFhLCtCQUErQjtJQU8xQyxZQUNVLGFBQXdDLEVBQ3hDLFdBQXdCLEVBQ3hCLEtBQW1CLEVBQ25CLEtBQW1CO1FBSG5CLGtCQUFhLEdBQWIsYUFBYSxDQUEyQjtRQUN4QyxnQkFBVyxHQUFYLFdBQVcsQ0FBYTtRQUN4QixVQUFLLEdBQUwsS0FBSyxDQUFjO1FBQ25CLFVBQUssR0FBTCxLQUFLLENBQWM7UUFQN0IsV0FBTSxHQUFZLEtBQUssQ0FBQztRQUN4QixxQkFBZ0IsR0FBWSxLQUFLLENBQUM7SUFPL0IsQ0FBQztJQUVFLFFBQVE7O1lBQ1osSUFBSSxDQUFDLFFBQVEsRUFBRSxDQUFDO1lBQ2hCLE1BQU0sUUFBUSxHQUFtQixNQUFNLElBQUksQ0FBQyxhQUFhLENBQUMsVUFBVSxFQUFFLENBQUM7WUFDdkUsSUFBSSxDQUFDLGdCQUFnQixHQUFHLE1BQU0sUUFBUSxDQUFDLElBQUksRUFBRSxDQUFDO1lBRTlDLElBQUksSUFB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Q1gsSUFBSSxDQUFDLEtBQUssQ0FBQyxnQkFBZ0IsQ0FBQyxFQUFFLENBQUMsQ0FBQzthQUNqQztRQUNILENBQUM7S0FBQTtDQUNGLENBQUE7O1lBM0cwQix5QkFBeUI7WUFDM0IsV0FBVztZQUNqQixZQUFZO1lBQ1osWUFBWTs7QUFYbEIsK0JBQStCO0lBSjNDLFNBQVMsQ0FBQztRQUNULFFBQVEsRUFBRSw4QkFBOEI7UUFDeEMsNHFKQUF3RDtLQUN6RCxDQUFDO0dBQ1csK0JBQStCLENBbUgzQztTQW5IWSwrQkFBK0IiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIE9uSW5pdCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgRm9ybUJ1aWxkZXIsIEZvcm1Hcm91cCwgVmFsaWRhdG9ycyB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcbmltcG9ydCB7IElGZXRjaFJlc3BvbnNlIH0gZnJvbSAnQGM4eS9jbGllbnQnO1xuaW1wb3J0IHsgQWxlcnRTZXJ2aWNlLCBnZXR0ZXh0LCBNb2RhbFNlcnZpY2UsIFN0YXR1cyB9IGZyb20gJ0BjOHkvbmd4LWNvbXBvbmVudHMnO1xuaW1wb3J0IHsgSW1wYWN0Q29ubmVjdGl2aXR5U2VydmljZSB9IGZyb20gJy4vaW1wYWN0LWNvbm5lY3Rpdml0eS5zZXJ2aWNlJztcbmltcG9ydCB7XG4gIEltcGFjdE9wdGlvbnMsXG4gIFRlbmFudENvbm5lY3Rpb25TdGF0dXMsXG4gIFRlbmFudENvbm5lY3Rpb25TdGF0dXNSZXNwb25zZVxufSBmcm9tICcuL2ltcGFjdC5tb2RlbCc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2M4eS1pbXBhY3QtcHJvdmlkZXItc2V0dGluZ3MnLFxuICB0ZW1wbGF0ZVVybDogJy4vaW1wYWN0LXByb3ZpZGVyLXNldHRpbmdzLmNvbXBvbmVudC5odG1sJ1xufSlcbmV4cG9ydCBjbGFzcyBJbXBhY3RQcm92aWRlclNldHRpbmdzQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0IHtcbiAgY29ubmVjdGlvblN0YXR1czogVGVuYW50Q29ubmVjdGlvblN0YXR1c1Jlc3BvbnNlO1xuICBmb3JtR3JvdXA6IEZvcm1Hcm91cDtcblxuICBpc0VkaXQ6IGJvb2xlYW4gPSBmYWxzZTtcbiAgY3JlZGVudGlhbHNFeGlzdDogYm9vbGVhbiA9IGZhbHNlO1xuXG4gIGNvbnN0cnVjdG9yKFxuICAgIHByaXZhdGUgaW1wYWN0U2VydmljZTogSW1wYWN0Q29ubmVjdGl2aXR5U2VydmljZSxcbiAgICBwcml2YXRlIGZvcm1CdWlsZGVyOiBGb3JtQnVpbGRlcixcbiAgICBwcml2YXRlIG1vZGFsOiBNb2RhbFNlcnZpY2UsXG4gICAgcHJpdmF0ZSBhbGVydDogQWxlcnRTZXJ2aWNlXG4gICkge31cblxuICBhc3luYyBuZ09uSW5pdCgpIHtcbiAgICB0aGlzLmluaXRGb3JtKCk7XG4gICAgY29uc3QgcmVzcG9uc2U6IElGZXRjaFJlc3BvbnNlID0gYXdhaXQgdGhpcy5pbXBhY3RTZXJ2aWNlLmdldE9wdGlvbnMoKTtcbiAgICB0aGlzLmNvbm5lY3Rpb25TdGF0dXMgPSBhd2FpdCByZXNwb25zZS5qc29uKCk7XG5cbiAgICBpZiAodGhpcy5jb25uZWN0aW9uU3RhdHVzICYmIHRoaXMuY29ubmVjdGlvblN0YXR1cy5vcHRpb25zKSB7XG4gICAgICB0aGlzLmZvcm1Hcm91cC5wYXRjaFZhbHVlKHsgLi4udGhpcy5jb25uZWN0aW9uU3RhdHVzLm9wdGlvbnMgfSk7XG4gICAgICB0aGlzLmNyZWRlbnRpYWxzRXhpc3QgPSB0cnVlO1xuICAgIH0gZWxzZSB7XG4gICAgICB0aGlzLmlzRWRpdCA9IHRydWU7XG4gICAgfVxuICB9XG5cbiAgcmVwbGFjZUNyZWRlbnRpYWxzKCk6IHZvaWQge1xuICAgIHRoaXMuaXNFZGl0ID0gdHJ1ZTtcbiAgfVxuXG4gIGFzeW5jIHNhdmVDcmVkZW50aWFscygpIHtcbiAgICBpZiAodGhpcy5mb3JtR3JvdXAudmFsaWQpIHtcbiAgICAgIHRoaXMuY29ubmVjdGlvblN0YXR1cy5zdGF0dXMgPSBUZW5hbnRDb25uZWN0aW9uU3RhdHVzLkNPTk5FQ1RJTkdfSU5fUFJPR1JFU1M7XG4gICAgICBjb25zdCB1cGRhdGVkOiBib29sZWFuID0gYXdhaXQgdGhpcy5zYWZlbHlVcGRhdGVDcmVkZW50aWFscyh0aGlzLmZvcm1Hcm91cC52YWx1ZSk7XG5cbiAgICAgIGlmICh1cGRhdGVkKSB7XG4gICAgICAgIGNvbnN0IHJlc3BvbnNlOiBJRmV0Y2hSZXNwb25zZSA9IGF3YWl0IHRoaXMuaW1wYWN0U2VydmljZS5nZXRPcHRpb25zKCk7XG4gICAgICAgIHRoaXMuY29ubmVjdGlvblN0YXR1cyA9IGF3YWl0IHJlc3BvbnNlLmpzb24oKTtcblxuICAgICAgICBpZiAodGhpcy5jb25uZWN0aW9uU3RhdHVzLnN0YXR1cyA9PT0gVGVuYW50Q29ubmVjdGlvblN0YXR1cy5DT05ORUNURURfU1VDQ0VTU0ZVTExZKSB7XG4gICAgICAgICAgdGhpcy5pc0VkaXQgPSBmYWxzZTtcbiAgICAgICAgfVxuXG4gICAgICAgIHRoaXMuYWxlcnQuc3VjY2VzcyhnZXR0ZXh0KCdDcmVkZW50aWFscyBzYXZlZC4nKSk7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICB0aGlzLmNvbm5lY3Rpb25TdGF0dXMuc3RhdHVzID0gVGVuYW50Q29ubmVjdGlvblN0YXR1cy5VTktOT1dOO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIGFzeW5jIGRlbGV0ZUNyZWRlbnRpYWxzKCkge1xuICAgIHRyeSB7XG4gICAgICBhd2FpdCB0aGlzLm1vZGFsLmNvbmZpcm0oXG4gICAgICAgIGdldHRleHQoJ0RlbGV0ZSBjcmVkZW50aWFscycpLFxuICAgICAgICBnZXR0ZXh0KFxuICAgICAgICAgICdZb3UgYXJlIGFib3V0IHRvIGRlbGV0ZSB5b3VyIElNUEFDVCBjcmVkZW50aWFscy4gRGVsZXRpbmcgY3JlZGVudGlhbHMgd2lsbCBicmVhayBjb25uZWN0aW9uIHRvIElNUEFDVCBpbnN0YW5jZS4gRG8geW91IHdhbnQgdG8gcHJvY2VlZD8nXG4gICAgICAgICksXG4gICAgICAgIFN0YXR1cy5EQU5HRVIsXG4gICAgICAgIHsgb2s6IGdldHRleHQoJ0RlbGV0ZScpLCBjYW5jZWw6IGdldHRleHQoJ0NhbmNlbCcpIH1cbiAgICAgICk7XG4gICAgICBhd2FpdCB0aGlzLnNhZmVseURlbGV0ZUNyZWRlbnRpYWxzKCk7XG4gICAgfSBjYXRjaCAoZXgpIHtcbiAgICAgIC8vIEludGVudGlvbmFsbHkgZW1wdHlcbiAgICB9XG4gIH1cblxuICBwcml2YXRlIGluaXRGb3JtKCk6IHZvaWQge1xuICAgIHRoaXMuZm9ybUdyb3VwID0gdGhpcy5mb3JtQnVpbGRlci5ncm91cCh7XG4gICAgICBiYXNlVXJsOiBbXSxcbiAgICAgIHVzZXI6IFsnJywgVmFsaWRhdG9ycy5yZXF1aXJlZF0sXG4gICAgICBwYXNzd29yZDogWycnLCBWYWxpZGF0b3JzLnJlcXVpcmVkXSxcbiAgICAgIGdyb3VwTmFtZTogW10sXG4gICAgICBpbml0aWFsaXplRGV2aWNlczogW2ZhbHNlXVxuICAgIH0pO1xuICB9XG5cbiAgcHJpdmF0ZSByZXNldEZvcm0oKTogdm9pZCB7XG4gICAgdGhpcy5mb3JtR3JvdXAucmVzZXQoKTtcbiAgfVxuXG4gIHByaXZhdGUgYXN5bmMgc2FmZWx5VXBkYXRlQ3JlZGVudGlhbHMob3B0aW9uczogSW1wYWN0T3B0aW9ucyk6IFByb21pc2U8Ym9vbGVhbj4ge1xuICAgIHRyeSB7XG4gICAgICBjb25zdCByZXMgPSBhd2FpdCB0aGlzLmltcGFjdFNlcnZpY2UudXBkYXRlT3B0aW9ucyhvcHRpb25zKTtcbiAgICAgIGlmIChyZXMgJiYgcmVzLnN0YXR1cyAhPT0gMjAwKSB7XG4gICAgICAgIGNvbnN0IGRhdGEgPSByZXMuanNvbiA/IGF3YWl0IHJlcy5qc29uKCkgOiB1bmRlZmluZWQ7XG4gICAgICAgIHRoaXMuYWxlcnQuYWRkU2VydmVyRmFpbHVyZSh7IGRhdGEsIHJlcyB9KTtcblxuICAgICAgICByZXR1cm4gUHJvbWlzZS5yZXNvbHZlKGZhbHNlKTtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIHJldHVybiBQcm9taXNlLnJlc29sdmUodHJ1ZSk7XG4gICAgICB9XG4gICAgfSBjYXRjaCAoZXgpIHtcbiAgICAgIHRoaXMuYWxlcnQuYWRkU2VydmVyRmFpbHVyZShleCk7XG5cbiAgICAgIHJldHVybiBQcm9taXNlLnJlc29sdmUoZmFsc2UpO1xuICAgIH1cbiAgfVxuXG4gIHByaXZhdGUgYXN5bmMgc2FmZWx5RGVsZXRlQ3JlZGVudGlhbHMoKSB7XG4gICAgdHJ5IHtcbiAgICAgIGNvbnN0IHJlcyA9IGF3YWl0IHRoaXMuaW1wYWN0U2VydmljZS5kZWxldGVPcHRpb25zKCk7XG4gICAgICBpZiAocmVzICYmIHJlcy5zdGF0dXMgIT09IDIwMCkge1xuICAgICAgICBjb25zdCBkYXRhID0gcmVzLmpzb24gPyBhd2FpdCByZXMuanNvbigpIDogdW5kZWZpbmVkO1xuICAgICAgICB0aGlzLmFsZXJ0LmFkZFNlcnZlckZhaWx1cmUoeyBkYXRhLCByZXMgfSk7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICB0aGlzLmNyZWRlbnRpYWxzRXhpc3QgPSBmYWxzZTtcbiAgICAgICAgdGhpcy5yZXNldEZvcm0oKTtcbiAgICAgICAgdGhpcy5jb25uZWN0aW9uU3RhdHVzID0gbnVsbDtcbiAgICAgICAgdGhpcy5hbGVydC5zdWNjZXNzKGdldHRleHQoJ0NyZWRlbnRpYWxzIGRlbGV0ZWQuJykpO1xuICAgICAgfVxuICAgIH0gY2F0Y2ggKGV4KSB7XG4gICAgICB0aGlzLmFsZXJ0LmFkZFNlcnZlckZhaWx1cmUoZXgpO1xuICAgIH1cbiAgfVxufVxuIl19
128
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW1wYWN0LXByb3ZpZGVyLXNldHRpbmdzLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiJuZzovL0BjOHkvbmd4LWNvbXBvbmVudHMvY29ubmVjdGl2aXR5LyIsInNvdXJjZXMiOlsiaW1wYWN0L2ltcGFjdC1wcm92aWRlci1zZXR0aW5ncy5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQVUsTUFBTSxlQUFlLENBQUM7QUFDbEQsT0FBTyxFQUFFLFdBQVcsRUFBRSxTQUFTLEVBQUUsVUFBVSxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFFcEUsT0FBTyxFQUFFLFlBQVksRUFBRSxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sRUFBRSxNQUFNLHFCQUFxQixDQUFDO0FBQ2xGLE9BQU8sRUFBRSx5QkFBeUIsRUFBRSxNQUFNLCtCQUErQixDQUFDO0FBQzFFLE9BQU8sRUFFTCxzQkFBc0IsRUFFdkIsTUFBTSxnQkFBZ0IsQ0FBQztBQU14QixJQUFhLCtCQUErQixHQUE1QyxNQUFhLCtCQUErQjtJQU8xQyxZQUNVLGFBQXdDLEVBQ3hDLFdBQXdCLEVBQ3hCLEtBQW1CLEVBQ25CLEtBQW1CO1FBSG5CLGtCQUFhLEdBQWIsYUFBYSxDQUEyQjtRQUN4QyxnQkFBVyxHQUFYLFdBQVcsQ0FBYTtRQUN4QixVQUFLLEdBQUwsS0FBSyxDQUFjO1FBQ25CLFVBQUssR0FBTCxLQUFLLENBQWM7UUFQN0IsV0FBTSxHQUFZLEtBQUssQ0FBQztRQUN4QixxQkFBZ0IsR0FBWSxLQUFLLENBQUM7SUFPL0IsQ0FBQztJQUVFLFFBQVE7O1lBQ1osSUFBSSxDQUFDLFFBQVEsRUFBRSxDQUFDO1lBQ2hCLE1BQU0sUUFBUSxHQUFtQixNQUFNLElBQUksQ0FBQyxhQUFhLENBQUMsVUFBVSxFQUFFLENBQUM7WUFDdkUsSUFBSSxDQUFDLGdCQUFnQixHQUFHLE1BQU0sUUFBUSxDQUFDLElBQUksRUFBRSxDQUFDO1lBRTlDLElBQUksSUFB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Q1gsSUFBSSxDQUFDLEtBQUssQ0FBQyxnQkFBZ0IsQ0FBQyxFQUFFLENBQUMsQ0FBQzthQUNqQztRQUNILENBQUM7S0FBQTtDQUNGLENBQUE7O1lBM0cwQix5QkFBeUI7WUFDM0IsV0FBVztZQUNqQixZQUFZO1lBQ1osWUFBWTs7QUFYbEIsK0JBQStCO0lBSjNDLFNBQVMsQ0FBQztRQUNULFFBQVEsRUFBRSw4QkFBOEI7UUFDeEMscXJKQUF3RDtLQUN6RCxDQUFDO0dBQ1csK0JBQStCLENBbUgzQztTQW5IWSwrQkFBK0IiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIE9uSW5pdCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgRm9ybUJ1aWxkZXIsIEZvcm1Hcm91cCwgVmFsaWRhdG9ycyB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcbmltcG9ydCB7IElGZXRjaFJlc3BvbnNlIH0gZnJvbSAnQGM4eS9jbGllbnQnO1xuaW1wb3J0IHsgQWxlcnRTZXJ2aWNlLCBnZXR0ZXh0LCBNb2RhbFNlcnZpY2UsIFN0YXR1cyB9IGZyb20gJ0BjOHkvbmd4LWNvbXBvbmVudHMnO1xuaW1wb3J0IHsgSW1wYWN0Q29ubmVjdGl2aXR5U2VydmljZSB9IGZyb20gJy4vaW1wYWN0LWNvbm5lY3Rpdml0eS5zZXJ2aWNlJztcbmltcG9ydCB7XG4gIEltcGFjdE9wdGlvbnMsXG4gIFRlbmFudENvbm5lY3Rpb25TdGF0dXMsXG4gIFRlbmFudENvbm5lY3Rpb25TdGF0dXNSZXNwb25zZVxufSBmcm9tICcuL2ltcGFjdC5tb2RlbCc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2M4eS1pbXBhY3QtcHJvdmlkZXItc2V0dGluZ3MnLFxuICB0ZW1wbGF0ZVVybDogJy4vaW1wYWN0LXByb3ZpZGVyLXNldHRpbmdzLmNvbXBvbmVudC5odG1sJ1xufSlcbmV4cG9ydCBjbGFzcyBJbXBhY3RQcm92aWRlclNldHRpbmdzQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0IHtcbiAgY29ubmVjdGlvblN0YXR1czogVGVuYW50Q29ubmVjdGlvblN0YXR1c1Jlc3BvbnNlO1xuICBmb3JtR3JvdXA6IEZvcm1Hcm91cDtcblxuICBpc0VkaXQ6IGJvb2xlYW4gPSBmYWxzZTtcbiAgY3JlZGVudGlhbHNFeGlzdDogYm9vbGVhbiA9IGZhbHNlO1xuXG4gIGNvbnN0cnVjdG9yKFxuICAgIHByaXZhdGUgaW1wYWN0U2VydmljZTogSW1wYWN0Q29ubmVjdGl2aXR5U2VydmljZSxcbiAgICBwcml2YXRlIGZvcm1CdWlsZGVyOiBGb3JtQnVpbGRlcixcbiAgICBwcml2YXRlIG1vZGFsOiBNb2RhbFNlcnZpY2UsXG4gICAgcHJpdmF0ZSBhbGVydDogQWxlcnRTZXJ2aWNlXG4gICkge31cblxuICBhc3luYyBuZ09uSW5pdCgpIHtcbiAgICB0aGlzLmluaXRGb3JtKCk7XG4gICAgY29uc3QgcmVzcG9uc2U6IElGZXRjaFJlc3BvbnNlID0gYXdhaXQgdGhpcy5pbXBhY3RTZXJ2aWNlLmdldE9wdGlvbnMoKTtcbiAgICB0aGlzLmNvbm5lY3Rpb25TdGF0dXMgPSBhd2FpdCByZXNwb25zZS5qc29uKCk7XG5cbiAgICBpZiAodGhpcy5jb25uZWN0aW9uU3RhdHVzICYmIHRoaXMuY29ubmVjdGlvblN0YXR1cy5vcHRpb25zKSB7XG4gICAgICB0aGlzLmZvcm1Hcm91cC5wYXRjaFZhbHVlKHsgLi4udGhpcy5jb25uZWN0aW9uU3RhdHVzLm9wdGlvbnMgfSk7XG4gICAgICB0aGlzLmNyZWRlbnRpYWxzRXhpc3QgPSB0cnVlO1xuICAgIH0gZWxzZSB7XG4gICAgICB0aGlzLmlzRWRpdCA9IHRydWU7XG4gICAgfVxuICB9XG5cbiAgcmVwbGFjZUNyZWRlbnRpYWxzKCk6IHZvaWQge1xuICAgIHRoaXMuaXNFZGl0ID0gdHJ1ZTtcbiAgfVxuXG4gIGFzeW5jIHNhdmVDcmVkZW50aWFscygpIHtcbiAgICBpZiAodGhpcy5mb3JtR3JvdXAudmFsaWQpIHtcbiAgICAgIHRoaXMuY29ubmVjdGlvblN0YXR1cy5zdGF0dXMgPSBUZW5hbnRDb25uZWN0aW9uU3RhdHVzLkNPTk5FQ1RJTkdfSU5fUFJPR1JFU1M7XG4gICAgICBjb25zdCB1cGRhdGVkOiBib29sZWFuID0gYXdhaXQgdGhpcy5zYWZlbHlVcGRhdGVDcmVkZW50aWFscyh0aGlzLmZvcm1Hcm91cC52YWx1ZSk7XG5cbiAgICAgIGlmICh1cGRhdGVkKSB7XG4gICAgICAgIGNvbnN0IHJlc3BvbnNlOiBJRmV0Y2hSZXNwb25zZSA9IGF3YWl0IHRoaXMuaW1wYWN0U2VydmljZS5nZXRPcHRpb25zKCk7XG4gICAgICAgIHRoaXMuY29ubmVjdGlvblN0YXR1cyA9IGF3YWl0IHJlc3BvbnNlLmpzb24oKTtcblxuICAgICAgICBpZiAodGhpcy5jb25uZWN0aW9uU3RhdHVzLnN0YXR1cyA9PT0gVGVuYW50Q29ubmVjdGlvblN0YXR1cy5DT05ORUNURURfU1VDQ0VTU0ZVTExZKSB7XG4gICAgICAgICAgdGhpcy5pc0VkaXQgPSBmYWxzZTtcbiAgICAgICAgfVxuXG4gICAgICAgIHRoaXMuYWxlcnQuc3VjY2VzcyhnZXR0ZXh0KCdDcmVkZW50aWFscyBzYXZlZC4nKSk7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICB0aGlzLmNvbm5lY3Rpb25TdGF0dXMuc3RhdHVzID0gVGVuYW50Q29ubmVjdGlvblN0YXR1cy5VTktOT1dOO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIGFzeW5jIGRlbGV0ZUNyZWRlbnRpYWxzKCkge1xuICAgIHRyeSB7XG4gICAgICBhd2FpdCB0aGlzLm1vZGFsLmNvbmZpcm0oXG4gICAgICAgIGdldHRleHQoJ0RlbGV0ZSBjcmVkZW50aWFscycpLFxuICAgICAgICBnZXR0ZXh0KFxuICAgICAgICAgICdZb3UgYXJlIGFib3V0IHRvIGRlbGV0ZSB5b3VyIElNUEFDVCBjcmVkZW50aWFscy4gRGVsZXRpbmcgY3JlZGVudGlhbHMgd2lsbCBicmVhayBjb25uZWN0aW9uIHRvIElNUEFDVCBpbnN0YW5jZS4gRG8geW91IHdhbnQgdG8gcHJvY2VlZD8nXG4gICAgICAgICksXG4gICAgICAgIFN0YXR1cy5EQU5HRVIsXG4gICAgICAgIHsgb2s6IGdldHRleHQoJ0RlbGV0ZScpLCBjYW5jZWw6IGdldHRleHQoJ0NhbmNlbCcpIH1cbiAgICAgICk7XG4gICAgICBhd2FpdCB0aGlzLnNhZmVseURlbGV0ZUNyZWRlbnRpYWxzKCk7XG4gICAgfSBjYXRjaCAoZXgpIHtcbiAgICAgIC8vIEludGVudGlvbmFsbHkgZW1wdHlcbiAgICB9XG4gIH1cblxuICBwcml2YXRlIGluaXRGb3JtKCk6IHZvaWQge1xuICAgIHRoaXMuZm9ybUdyb3VwID0gdGhpcy5mb3JtQnVpbGRlci5ncm91cCh7XG4gICAgICBiYXNlVXJsOiBbXSxcbiAgICAgIHVzZXI6IFsnJywgVmFsaWRhdG9ycy5yZXF1aXJlZF0sXG4gICAgICBwYXNzd29yZDogWycnLCBWYWxpZGF0b3JzLnJlcXVpcmVkXSxcbiAgICAgIGdyb3VwTmFtZTogW10sXG4gICAgICBpbml0aWFsaXplRGV2aWNlczogW2ZhbHNlXVxuICAgIH0pO1xuICB9XG5cbiAgcHJpdmF0ZSByZXNldEZvcm0oKTogdm9pZCB7XG4gICAgdGhpcy5mb3JtR3JvdXAucmVzZXQoKTtcbiAgfVxuXG4gIHByaXZhdGUgYXN5bmMgc2FmZWx5VXBkYXRlQ3JlZGVudGlhbHMob3B0aW9uczogSW1wYWN0T3B0aW9ucyk6IFByb21pc2U8Ym9vbGVhbj4ge1xuICAgIHRyeSB7XG4gICAgICBjb25zdCByZXMgPSBhd2FpdCB0aGlzLmltcGFjdFNlcnZpY2UudXBkYXRlT3B0aW9ucyhvcHRpb25zKTtcbiAgICAgIGlmIChyZXMgJiYgcmVzLnN0YXR1cyAhPT0gMjAwKSB7XG4gICAgICAgIGNvbnN0IGRhdGEgPSByZXMuanNvbiA/IGF3YWl0IHJlcy5qc29uKCkgOiB1bmRlZmluZWQ7XG4gICAgICAgIHRoaXMuYWxlcnQuYWRkU2VydmVyRmFpbHVyZSh7IGRhdGEsIHJlcyB9KTtcblxuICAgICAgICByZXR1cm4gUHJvbWlzZS5yZXNvbHZlKGZhbHNlKTtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIHJldHVybiBQcm9taXNlLnJlc29sdmUodHJ1ZSk7XG4gICAgICB9XG4gICAgfSBjYXRjaCAoZXgpIHtcbiAgICAgIHRoaXMuYWxlcnQuYWRkU2VydmVyRmFpbHVyZShleCk7XG5cbiAgICAgIHJldHVybiBQcm9taXNlLnJlc29sdmUoZmFsc2UpO1xuICAgIH1cbiAgfVxuXG4gIHByaXZhdGUgYXN5bmMgc2FmZWx5RGVsZXRlQ3JlZGVudGlhbHMoKSB7XG4gICAgdHJ5IHtcbiAgICAgIGNvbnN0IHJlcyA9IGF3YWl0IHRoaXMuaW1wYWN0U2VydmljZS5kZWxldGVPcHRpb25zKCk7XG4gICAgICBpZiAocmVzICYmIHJlcy5zdGF0dXMgIT09IDIwMCkge1xuICAgICAgICBjb25zdCBkYXRhID0gcmVzLmpzb24gPyBhd2FpdCByZXMuanNvbigpIDogdW5kZWZpbmVkO1xuICAgICAgICB0aGlzLmFsZXJ0LmFkZFNlcnZlckZhaWx1cmUoeyBkYXRhLCByZXMgfSk7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICB0aGlzLmNyZWRlbnRpYWxzRXhpc3QgPSBmYWxzZTtcbiAgICAgICAgdGhpcy5yZXNldEZvcm0oKTtcbiAgICAgICAgdGhpcy5jb25uZWN0aW9uU3RhdHVzID0gbnVsbDtcbiAgICAgICAgdGhpcy5hbGVydC5zdWNjZXNzKGdldHRleHQoJ0NyZWRlbnRpYWxzIGRlbGV0ZWQuJykpO1xuICAgICAgfVxuICAgIH0gY2F0Y2ggKGV4KSB7XG4gICAgICB0aGlzLmFsZXJ0LmFkZFNlcnZlckZhaWx1cmUoZXgpO1xuICAgIH1cbiAgfVxufVxuIl19
@@ -15,9 +15,9 @@ LegacyWelcomeComponent.ctorParameters = () => [
15
15
  LegacyWelcomeComponent = tslib_1.__decorate([
16
16
  Component({
17
17
  selector: 'c8y-legacy-welcome-widget',
18
- template: "<div class=\"card-block\">\r\n <p class=\"lead\" c8y-guide-docs>\r\n <span>{{ 'Welcome to Cockpit' | translate }}.</span>\r\n <span title=\"{{ 'Browse the manual' | translate }}\" class=\"cockpit-welcome-manual\" translate\r\n >Browse the manual <a c8y-guide-href=\"users-guide/cockpit/\">here</a>.</span\r\n >\r\n </p>\r\n <p class=\"m-t-16\">\r\n <em>{{ 'New default dashboard available.' | translate }} </em>\r\n </p>\r\n <button class=\"btn btn-primary btn-sm m-t-16\" (click)=\"restore(); (false)\" translate>\r\n Get new dashboard\r\n </button>\r\n</div>\r\n"
18
+ template: "<div class=\"card-block\">\n <p class=\"lead\" c8y-guide-docs>\n <span>{{ 'Welcome to Cockpit' | translate }}.</span>\n <span title=\"{{ 'Browse the manual' | translate }}\" class=\"cockpit-welcome-manual\" forceHtmlTranslate ngNonBindable\n >Browse the manual <a c8y-guide-href=\"users-guide/cockpit/\">here</a>.</span\n >\n </p>\n <p class=\"m-t-16\">\n <em>{{ 'New default dashboard available.' | translate }} </em>\n </p>\n <button class=\"btn btn-primary btn-sm m-t-16\" (click)=\"restore(); (false)\" translate>\n Get new dashboard\n </button>\n</div>\n"
19
19
  }),
20
20
  tslib_1.__param(0, Host())
21
21
  ], LegacyWelcomeComponent);
22
22
  export { LegacyWelcomeComponent };
23
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGVnYWN5LXdlbGNvbWUuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6Im5nOi8vQGM4eS9uZ3gtY29tcG9uZW50cy9jb250ZXh0LWRhc2hib2FyZC8iLCJzb3VyY2VzIjpbImxlZ2FjeS13ZWxjb21lL2xlZ2FjeS13ZWxjb21lLmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxJQUFJLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDaEQsT0FBTyxFQUFFLHlCQUF5QixFQUFFLE1BQU0sZ0NBQWdDLENBQUM7QUFNM0UsSUFBYSxzQkFBc0IsR0FBbkMsTUFBYSxzQkFBc0I7SUFDakMsWUFBNEIsU0FBb0M7UUFBcEMsY0FBUyxHQUFULFNBQVMsQ0FBMkI7SUFBRyxDQUFDO0lBRXBFLE9BQU87UUFDTCxJQUFJLENBQUMsU0FBUyxDQUFDLE9BQU8sRUFBRSxDQUFDO0lBQzNCLENBQUM7Q0FDRixDQUFBOztZQUx3Qyx5QkFBeUIsdUJBQW5ELElBQUk7O0FBRE4sc0JBQXNCO0lBSmxDLFNBQVMsQ0FBQztRQUNULFFBQVEsRUFBRSwyQkFBMkI7UUFDckMsMGxCQUE4QztLQUMvQyxDQUFDO0lBRWEsbUJBQUEsSUFBSSxFQUFFLENBQUE7R0FEUixzQkFBc0IsQ0FNbEM7U0FOWSxzQkFBc0IiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIEhvc3QgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgQ29udGV4dERhc2hib2FyZENvbXBvbmVudCB9IGZyb20gJy4uL2NvbnRleHQtZGFzaGJvYXJkLmNvbXBvbmVudCc7XHJcblxyXG5AQ29tcG9uZW50KHtcclxuICBzZWxlY3RvcjogJ2M4eS1sZWdhY3ktd2VsY29tZS13aWRnZXQnLFxyXG4gIHRlbXBsYXRlVXJsOiAnLi9sZWdhY3ktd2VsY29tZS5jb21wb25lbnQuaHRtbCdcclxufSlcclxuZXhwb3J0IGNsYXNzIExlZ2FjeVdlbGNvbWVDb21wb25lbnQge1xyXG4gIGNvbnN0cnVjdG9yKEBIb3N0KCkgcHJpdmF0ZSBkYXNoYm9hcmQ6IENvbnRleHREYXNoYm9hcmRDb21wb25lbnQpIHt9XHJcblxyXG4gIHJlc3RvcmUoKSB7XHJcbiAgICB0aGlzLmRhc2hib2FyZC5yZXN0b3JlKCk7XHJcbiAgfVxyXG59XHJcbiJdfQ==
23
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGVnYWN5LXdlbGNvbWUuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6Im5nOi8vQGM4eS9uZ3gtY29tcG9uZW50cy9jb250ZXh0LWRhc2hib2FyZC8iLCJzb3VyY2VzIjpbImxlZ2FjeS13ZWxjb21lL2xlZ2FjeS13ZWxjb21lLmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxJQUFJLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDaEQsT0FBTyxFQUFFLHlCQUF5QixFQUFFLE1BQU0sZ0NBQWdDLENBQUM7QUFNM0UsSUFBYSxzQkFBc0IsR0FBbkMsTUFBYSxzQkFBc0I7SUFDakMsWUFBNEIsU0FBb0M7UUFBcEMsY0FBUyxHQUFULFNBQVMsQ0FBMkI7SUFBRyxDQUFDO0lBRXBFLE9BQU87UUFDTCxJQUFJLENBQUMsU0FBUyxDQUFDLE9BQU8sRUFBRSxDQUFDO0lBQzNCLENBQUM7Q0FDRixDQUFBOztZQUx3Qyx5QkFBeUIsdUJBQW5ELElBQUk7O0FBRE4sc0JBQXNCO0lBSmxDLFNBQVMsQ0FBQztRQUNULFFBQVEsRUFBRSwyQkFBMkI7UUFDckMscWxCQUE4QztLQUMvQyxDQUFDO0lBRWEsbUJBQUEsSUFBSSxFQUFFLENBQUE7R0FEUixzQkFBc0IsQ0FNbEM7U0FOWSxzQkFBc0IiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIEhvc3QgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgQ29udGV4dERhc2hib2FyZENvbXBvbmVudCB9IGZyb20gJy4uL2NvbnRleHQtZGFzaGJvYXJkLmNvbXBvbmVudCc7XHJcblxyXG5AQ29tcG9uZW50KHtcclxuICBzZWxlY3RvcjogJ2M4eS1sZWdhY3ktd2VsY29tZS13aWRnZXQnLFxyXG4gIHRlbXBsYXRlVXJsOiAnLi9sZWdhY3ktd2VsY29tZS5jb21wb25lbnQuaHRtbCdcclxufSlcclxuZXhwb3J0IGNsYXNzIExlZ2FjeVdlbGNvbWVDb21wb25lbnQge1xyXG4gIGNvbnN0cnVjdG9yKEBIb3N0KCkgcHJpdmF0ZSBkYXNoYm9hcmQ6IENvbnRleHREYXNoYm9hcmRDb21wb25lbnQpIHt9XHJcblxyXG4gIHJlc3RvcmUoKSB7XHJcbiAgICB0aGlzLmRhc2hib2FyZC5yZXN0b3JlKCk7XHJcbiAgfVxyXG59XHJcbiJdfQ==
@@ -1,17 +1,18 @@
1
1
  import * as tslib_1 from "tslib";
2
- import { Component, Output, EventEmitter } from '@angular/core';
3
- import { SystemOptionsService } from '@c8y/client';
2
+ import { Component, EventEmitter, Output } from '@angular/core';
4
3
  import { ControlContainer, NgForm } from '@angular/forms';
4
+ import { LoginService } from '../login/login.service';
5
5
  let NewPasswordComponent = class NewPasswordComponent {
6
- constructor(systemOptions) {
7
- this.systemOptions = systemOptions;
6
+ constructor(loginService) {
7
+ this.loginService = loginService;
8
8
  this.password = new EventEmitter();
9
9
  this.model = {};
10
- this.enforcePasswordStrength = false;
11
10
  this.changePassword = false;
11
+ this.passwordEnforced = false;
12
12
  }
13
13
  ngOnInit() {
14
- this.loadEnforcePasswordStrength();
14
+ this.loadPasswordStrengthSettings();
15
+ this.minlength = this.loginService.getGreenMinLength();
15
16
  }
16
17
  newPasswordChanged() {
17
18
  this.password.emit({
@@ -19,20 +20,14 @@ let NewPasswordComponent = class NewPasswordComponent {
19
20
  passwordStrength: this.model.strength
20
21
  });
21
22
  }
22
- loadEnforcePasswordStrength() {
23
+ loadPasswordStrengthSettings() {
23
24
  return tslib_1.__awaiter(this, void 0, void 0, function* () {
24
- try {
25
- const { data } = yield this.systemOptions.detail({
26
- category: 'password',
27
- key: 'enforce.strength'
28
- });
29
- this.enforcePasswordStrength = data.value === 'true';
30
- }
31
- catch (e) {
32
- // do nothing;
33
- }
25
+ this.passwordEnforced = yield this.loginService.getEnforcePasswordStrength();
34
26
  });
35
27
  }
28
+ showPasswordStrength() {
29
+ return this.model.newPassword && this.model.newPassword.length >= this.minlength;
30
+ }
36
31
  toggleChangePassword() {
37
32
  this.changePassword = !this.changePassword;
38
33
  if (!this.changePassword) {
@@ -42,7 +37,7 @@ let NewPasswordComponent = class NewPasswordComponent {
42
37
  }
43
38
  };
44
39
  NewPasswordComponent.ctorParameters = () => [
45
- { type: SystemOptionsService }
40
+ { type: LoginService }
46
41
  ];
47
42
  tslib_1.__decorate([
48
43
  Output()
@@ -50,9 +45,9 @@ tslib_1.__decorate([
50
45
  NewPasswordComponent = tslib_1.__decorate([
51
46
  Component({
52
47
  selector: 'c8y-new-password',
53
- template: "<div class=\"form-group\">\n <button type=\"button\" class=\"btn btn-default\" (click)=\"toggleChangePassword()\">\n <ng-container *ngIf=\"!changePassword\">\n {{ 'Change password' | translate }}\n </ng-container>\n <ng-container *ngIf=\"changePassword\">\n {{ 'Cancel password change' | translate }}\n </ng-container>\n </button>\n</div>\n\n<div *ngIf=\"changePassword\">\n <c8y-form-group>\n <label for=\"newPassword\" translate>Password</label>\n <input\n id=\"newPassword\"\n [(ngModel)]=\"model.newPassword\"\n #newPassword=\"ngModel\"\n (change)=\"newPasswordChanged()\"\n type=\"password\"\n name=\"newPassword\"\n class=\"form-control\"\n placeholder=\"{{ 'e.g. my_new_password' | translate }}\"\n required\n c8yDefaultValidation=\"password\"\n autocomplete=\"new-password\"\n />\n </c8y-form-group>\n\n <c8y-form-group>\n <label for=\"newConfirmPassword\" translate>Confirm password</label>\n <input\n id=\"newConfirmPassword\"\n [(ngModel)]=\"model.newPasswordConfirm\"\n #newPasswordConfirm=\"ngModel\"\n type=\"password\"\n name=\"newPasswordConfirm\"\n class=\"form-control\"\n placeholder=\"{{ 'e.g. my_new_password' | translate }}\"\n required\n passwordConfirm=\"newPassword\"\n autocomplete=\"new-password\"\n />\n </c8y-form-group>\n\n <c8y-password-strength\n [password]=\"model.newPassword\"\n [hidden]=\"!model.newPassword\"\n (strength)=\"model.strength = $event\"\n ></c8y-password-strength>\n\n <c8y-password-check-list\n [password]=\"model.newPassword\"\n [hidden]=\"!enforcePasswordStrength\"\n ></c8y-password-check-list>\n</div>\n",
48
+ template: "<div class=\"form-group\">\n <button type=\"button\" class=\"btn btn-default\" (click)=\"toggleChangePassword()\">\n <ng-container *ngIf=\"!changePassword\">\n {{ 'Change password' | translate }}\n </ng-container>\n <ng-container *ngIf=\"changePassword\">\n {{ 'Cancel password change' | translate }}\n </ng-container>\n </button>\n</div>\n\n<div *ngIf=\"changePassword\">\n <c8y-form-group>\n <label for=\"newPassword\" translate>Password</label>\n <input\n id=\"newPassword\"\n [(ngModel)]=\"model.newPassword\"\n #newPassword=\"ngModel\"\n (change)=\"newPasswordChanged()\"\n type=\"password\"\n name=\"newPassword\"\n class=\"form-control\"\n placeholder=\"{{ 'e.g. my_new_password' | translate }}\"\n required\n c8yDefaultValidation=\"password\"\n autocomplete=\"new-password\"\n />\n </c8y-form-group>\n\n <c8y-form-group>\n <label for=\"newConfirmPassword\" translate>Confirm password</label>\n <input\n id=\"newConfirmPassword\"\n [(ngModel)]=\"model.newPasswordConfirm\"\n #newPasswordConfirm=\"ngModel\"\n type=\"password\"\n name=\"newPasswordConfirm\"\n class=\"form-control\"\n placeholder=\"{{ 'e.g. my_new_password' | translate }}\"\n required\n passwordConfirm=\"newPassword\"\n autocomplete=\"new-password\"\n />\n </c8y-form-group>\n\n <c8y-password-strength\n [password]=\"model.newPassword\"\n [hidden]=\"!showPasswordStrength()\"\n (strength)=\"model.strength = $event\"\n ></c8y-password-strength>\n\n <c8y-password-check-list\n [password]=\"model.newPassword\"\n [hidden]=\"!passwordEnforced\"\n ></c8y-password-check-list>\n</div>\n",
54
49
  viewProviders: [{ provide: ControlContainer, useExisting: NgForm }]
55
50
  })
56
51
  ], NewPasswordComponent);
57
52
  export { NewPasswordComponent };
58
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibmV3LXBhc3N3b3JkLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiJuZzovL0BjOHkvbmd4LWNvbXBvbmVudHMvIiwic291cmNlcyI6WyJjb3JlL2F1dGhlbnRpY2F0aW9uL25ldy1wYXNzd29yZC5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQVUsTUFBTSxFQUFFLFlBQVksRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUV4RSxPQUFPLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSxhQUFhLENBQUM7QUFDbkQsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBTzFELElBQWEsb0JBQW9CLEdBQWpDLE1BQWEsb0JBQW9CO0lBTS9CLFlBQW9CLGFBQW1DO1FBQW5DLGtCQUFhLEdBQWIsYUFBYSxDQUFzQjtRQUw3QyxhQUFRLEdBQUcsSUFBSSxZQUFZLEVBQW9CLENBQUM7UUFDMUQsVUFBSyxHQUFRLEVBQUUsQ0FBQztRQUNoQiw0QkFBdUIsR0FBWSxLQUFLLENBQUM7UUFDekMsbUJBQWMsR0FBWSxLQUFLLENBQUM7SUFFMEIsQ0FBQztJQUUzRCxRQUFRO1FBQ04sSUFBSSxDQUFDLDJCQUEyQixFQUFFLENBQUM7SUFDckMsQ0FBQztJQUVELGtCQUFrQjtRQUNoQixJQUFJLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQztZQUNqQixRQUFRLEVBQUUsSUFBSSxDQUFDLEtBQUssQ0FBQyxXQUFXO1lBQ2hDLGdCQUFnQixFQUFFLElBQUksQ0FBQyxLQUFLLENBQUMsUUFBUTtTQUN0QyxDQUFDLENBQUM7SUFDTCxDQUFDO0lBRUssMkJBQTJCOztZQUMvQixJQUFJO2dCQUNGLE1BQU0sRUFBRSxJQUFJLEVBQUUsR0FBRyxNQUFNLElBQUksQ0FBQyxhQUFhLENBQUMsTUFBTSxDQUFDO29CQUMvQyxRQUFRLEVBQUUsVUFBVTtvQkFDcEIsR0FBRyxFQUFFLGtCQUFrQjtpQkFDeEIsQ0FBQyxDQUFDO2dCQUNILElBQUksQ0FBQyx1QkFBdUIsR0FBRyxJQUFJLENBQUMsS0FBSyxLQUFLLE1BQU0sQ0FBQzthQUN0RDtZQUFDLE9BQU8sQ0FBQyxFQUFFO2dCQUNWLGNBQWM7YUFDZjtRQUNILENBQUM7S0FBQTtJQUVELG9CQUFvQjtRQUNsQixJQUFJLENBQUMsY0FBYyxHQUFHLENBQUMsSUFBSSxDQUFDLGNBQWMsQ0FBQztRQUMzQyxJQUFJLENBQUMsSUFBSSxDQUFDLGNBQWMsRUFBRTtZQUN4QixJQUFJLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsQ0FBQztZQUN2QixJQUFJLENBQUMsS0FBSyxHQUFHLEVBQUUsQ0FBQztTQUNqQjtJQUNILENBQUM7Q0FDRixDQUFBOztZQWhDb0Msb0JBQW9COztBQUw3QztJQUFULE1BQU0sRUFBRTtzREFBaUQ7QUFEL0Msb0JBQW9CO0lBTGhDLFNBQVMsQ0FBQztRQUNULFFBQVEsRUFBRSxrQkFBa0I7UUFDNUIsNHNEQUE0QztRQUM1QyxhQUFhLEVBQUUsQ0FBQyxFQUFFLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxXQUFXLEVBQUUsTUFBTSxFQUFFLENBQUM7S0FDcEUsQ0FBQztHQUNXLG9CQUFvQixDQXNDaEM7U0F0Q1ksb0JBQW9CIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBPbkluaXQsIE91dHB1dCwgRXZlbnRFbWl0dGVyIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IE5ld1Bhc3N3b3JkIH0gZnJvbSAnLi9wYXNzd29yZC5tb2RlbCc7XHJcbmltcG9ydCB7IFN5c3RlbU9wdGlvbnNTZXJ2aWNlIH0gZnJvbSAnQGM4eS9jbGllbnQnO1xyXG5pbXBvcnQgeyBDb250cm9sQ29udGFpbmVyLCBOZ0Zvcm0gfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XHJcblxyXG5AQ29tcG9uZW50KHtcclxuICBzZWxlY3RvcjogJ2M4eS1uZXctcGFzc3dvcmQnLFxyXG4gIHRlbXBsYXRlVXJsOiAnLi9uZXctcGFzc3dvcmQuY29tcG9uZW50Lmh0bWwnLFxyXG4gIHZpZXdQcm92aWRlcnM6IFt7IHByb3ZpZGU6IENvbnRyb2xDb250YWluZXIsIHVzZUV4aXN0aW5nOiBOZ0Zvcm0gfV1cclxufSlcclxuZXhwb3J0IGNsYXNzIE5ld1Bhc3N3b3JkQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0IHtcclxuICBAT3V0cHV0KCkgcGFzc3dvcmQgPSBuZXcgRXZlbnRFbWl0dGVyPE5ld1Bhc3N3b3JkIHwge30+KCk7XHJcbiAgbW9kZWw6IGFueSA9IHt9O1xyXG4gIGVuZm9yY2VQYXNzd29yZFN0cmVuZ3RoOiBib29sZWFuID0gZmFsc2U7XHJcbiAgY2hhbmdlUGFzc3dvcmQ6IGJvb2xlYW4gPSBmYWxzZTtcclxuXHJcbiAgY29uc3RydWN0b3IocHJpdmF0ZSBzeXN0ZW1PcHRpb25zOiBTeXN0ZW1PcHRpb25zU2VydmljZSkge31cclxuXHJcbiAgbmdPbkluaXQoKSB7XHJcbiAgICB0aGlzLmxvYWRFbmZvcmNlUGFzc3dvcmRTdHJlbmd0aCgpO1xyXG4gIH1cclxuXHJcbiAgbmV3UGFzc3dvcmRDaGFuZ2VkKCkge1xyXG4gICAgdGhpcy5wYXNzd29yZC5lbWl0KHtcclxuICAgICAgcGFzc3dvcmQ6IHRoaXMubW9kZWwubmV3UGFzc3dvcmQsXHJcbiAgICAgIHBhc3N3b3JkU3RyZW5ndGg6IHRoaXMubW9kZWwuc3RyZW5ndGhcclxuICAgIH0pO1xyXG4gIH1cclxuXHJcbiAgYXN5bmMgbG9hZEVuZm9yY2VQYXNzd29yZFN0cmVuZ3RoKCkge1xyXG4gICAgdHJ5IHtcclxuICAgICAgY29uc3QgeyBkYXRhIH0gPSBhd2FpdCB0aGlzLnN5c3RlbU9wdGlvbnMuZGV0YWlsKHtcclxuICAgICAgICBjYXRlZ29yeTogJ3Bhc3N3b3JkJyxcclxuICAgICAgICBrZXk6ICdlbmZvcmNlLnN0cmVuZ3RoJ1xyXG4gICAgICB9KTtcclxuICAgICAgdGhpcy5lbmZvcmNlUGFzc3dvcmRTdHJlbmd0aCA9IGRhdGEudmFsdWUgPT09ICd0cnVlJztcclxuICAgIH0gY2F0Y2ggKGUpIHtcclxuICAgICAgLy8gZG8gbm90aGluZztcclxuICAgIH1cclxuICB9XHJcblxyXG4gIHRvZ2dsZUNoYW5nZVBhc3N3b3JkKCkge1xyXG4gICAgdGhpcy5jaGFuZ2VQYXNzd29yZCA9ICF0aGlzLmNoYW5nZVBhc3N3b3JkO1xyXG4gICAgaWYgKCF0aGlzLmNoYW5nZVBhc3N3b3JkKSB7XHJcbiAgICAgIHRoaXMucGFzc3dvcmQuZW1pdCh7fSk7XHJcbiAgICAgIHRoaXMubW9kZWwgPSB7fTtcclxuICAgIH1cclxuICB9XHJcbn1cclxuIl19
53
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibmV3LXBhc3N3b3JkLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiJuZzovL0BjOHkvbmd4LWNvbXBvbmVudHMvIiwic291cmNlcyI6WyJjb3JlL2F1dGhlbnRpY2F0aW9uL25ldy1wYXNzd29yZC5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsWUFBWSxFQUFVLE1BQU0sRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUV4RSxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDMUQsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLHdCQUF3QixDQUFDO0FBT3RELElBQWEsb0JBQW9CLEdBQWpDLE1BQWEsb0JBQW9CO0lBTy9CLFlBQ1UsWUFBMEI7UUFBMUIsaUJBQVksR0FBWixZQUFZLENBQWM7UUFQMUIsYUFBUSxHQUFHLElBQUksWUFBWSxFQUFvQixDQUFDO1FBQzFELFVBQUssR0FBUSxFQUFFLENBQUM7UUFDaEIsbUJBQWMsR0FBWSxLQUFLLENBQUM7UUFDaEMscUJBQWdCLEdBQVksS0FBSyxDQUFDO0lBTWxDLENBQUM7SUFFRCxRQUFRO1FBQ04sSUFBSSxDQUFDLDRCQUE0QixFQUFFLENBQUM7UUFDcEMsSUFBSSxDQUFDLFNBQVMsR0FBRyxJQUFJLENBQUMsWUFBWSxDQUFDLGlCQUFpQixFQUFFLENBQUM7SUFDekQsQ0FBQztJQUVELGtCQUFrQjtRQUNoQixJQUFJLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQztZQUNqQixRQUFRLEVBQUUsSUFBSSxDQUFDLEtBQUssQ0FBQyxXQUFXO1lBQ2hDLGdCQUFnQixFQUFFLElBQUksQ0FBQyxLQUFLLENBQUMsUUFBUTtTQUN0QyxDQUFDLENBQUM7SUFDTCxDQUFDO0lBRUssNEJBQTRCOztZQUNoQyxJQUFJLENBQUMsZ0JBQWdCLEdBQUcsTUFBTSxJQUFJLENBQUMsWUFBWSxDQUFDLDBCQUEwQixFQUFFLENBQUM7UUFDL0UsQ0FBQztLQUFBO0lBRUQsb0JBQW9CO1FBQ2xCLE9BQU8sSUFBSSxDQUFDLEtBQUssQ0FBQyxXQUFXLElBQUksSUFBSSxDQUFDLEtBQUssQ0FBQyxXQUFXLENBQUMsTUFBTSxJQUFJLElBQUksQ0FBQyxTQUFTLENBQUM7SUFDbkYsQ0FBQztJQUVELG9CQUFvQjtRQUNsQixJQUFJLENBQUMsY0FBYyxHQUFHLENBQUMsSUFBSSxDQUFDLGNBQWMsQ0FBQztRQUMzQyxJQUFJLENBQUMsSUFBSSxDQUFDLGNBQWMsRUFBRTtZQUN4QixJQUFJLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsQ0FBQztZQUN2QixJQUFJLENBQUMsS0FBSyxHQUFHLEVBQUUsQ0FBQztTQUNqQjtJQUNILENBQUM7Q0FDRixDQUFBOztZQS9CeUIsWUFBWTs7QUFQMUI7SUFBVCxNQUFNLEVBQUU7c0RBQWlEO0FBRC9DLG9CQUFvQjtJQUxoQyxTQUFTLENBQUM7UUFDVCxRQUFRLEVBQUUsa0JBQWtCO1FBQzVCLDBzREFBNEM7UUFDNUMsYUFBYSxFQUFFLENBQUMsRUFBRSxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsV0FBVyxFQUFFLE1BQU0sRUFBRSxDQUFDO0tBQ3BFLENBQUM7R0FDVyxvQkFBb0IsQ0F1Q2hDO1NBdkNZLG9CQUFvQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgRXZlbnRFbWl0dGVyLCBPbkluaXQsIE91dHB1dCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgTmV3UGFzc3dvcmQgfSBmcm9tICcuL3Bhc3N3b3JkLm1vZGVsJztcbmltcG9ydCB7IENvbnRyb2xDb250YWluZXIsIE5nRm9ybSB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcbmltcG9ydCB7IExvZ2luU2VydmljZSB9IGZyb20gJy4uL2xvZ2luL2xvZ2luLnNlcnZpY2UnO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdjOHktbmV3LXBhc3N3b3JkJyxcbiAgdGVtcGxhdGVVcmw6ICcuL25ldy1wYXNzd29yZC5jb21wb25lbnQuaHRtbCcsXG4gIHZpZXdQcm92aWRlcnM6IFt7IHByb3ZpZGU6IENvbnRyb2xDb250YWluZXIsIHVzZUV4aXN0aW5nOiBOZ0Zvcm0gfV1cbn0pXG5leHBvcnQgY2xhc3MgTmV3UGFzc3dvcmRDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQge1xuICBAT3V0cHV0KCkgcGFzc3dvcmQgPSBuZXcgRXZlbnRFbWl0dGVyPE5ld1Bhc3N3b3JkIHwge30+KCk7XG4gIG1vZGVsOiBhbnkgPSB7fTtcbiAgY2hhbmdlUGFzc3dvcmQ6IGJvb2xlYW4gPSBmYWxzZTtcbiAgcGFzc3dvcmRFbmZvcmNlZDogYm9vbGVhbiA9IGZhbHNlO1xuICBtaW5sZW5ndGg6IG51bWJlcjtcblxuICBjb25zdHJ1Y3RvcihcbiAgICBwcml2YXRlIGxvZ2luU2VydmljZTogTG9naW5TZXJ2aWNlXG4gICkge1xuICB9XG5cbiAgbmdPbkluaXQoKSB7XG4gICAgdGhpcy5sb2FkUGFzc3dvcmRTdHJlbmd0aFNldHRpbmdzKCk7XG4gICAgdGhpcy5taW5sZW5ndGggPSB0aGlzLmxvZ2luU2VydmljZS5nZXRHcmVlbk1pbkxlbmd0aCgpO1xuICB9XG5cbiAgbmV3UGFzc3dvcmRDaGFuZ2VkKCkge1xuICAgIHRoaXMucGFzc3dvcmQuZW1pdCh7XG4gICAgICBwYXNzd29yZDogdGhpcy5tb2RlbC5uZXdQYXNzd29yZCxcbiAgICAgIHBhc3N3b3JkU3RyZW5ndGg6IHRoaXMubW9kZWwuc3RyZW5ndGhcbiAgICB9KTtcbiAgfVxuXG4gIGFzeW5jIGxvYWRQYXNzd29yZFN0cmVuZ3RoU2V0dGluZ3MoKSB7XG4gICAgdGhpcy5wYXNzd29yZEVuZm9yY2VkID0gYXdhaXQgdGhpcy5sb2dpblNlcnZpY2UuZ2V0RW5mb3JjZVBhc3N3b3JkU3RyZW5ndGgoKTtcbiAgfVxuXG4gIHNob3dQYXNzd29yZFN0cmVuZ3RoKCkge1xuICAgIHJldHVybiB0aGlzLm1vZGVsLm5ld1Bhc3N3b3JkICYmIHRoaXMubW9kZWwubmV3UGFzc3dvcmQubGVuZ3RoID49IHRoaXMubWlubGVuZ3RoO1xuICB9XG5cbiAgdG9nZ2xlQ2hhbmdlUGFzc3dvcmQoKSB7XG4gICAgdGhpcy5jaGFuZ2VQYXNzd29yZCA9ICF0aGlzLmNoYW5nZVBhc3N3b3JkO1xuICAgIGlmICghdGhpcy5jaGFuZ2VQYXNzd29yZCkge1xuICAgICAgdGhpcy5wYXNzd29yZC5lbWl0KHt9KTtcbiAgICAgIHRoaXMubW9kZWwgPSB7fTtcbiAgICB9XG4gIH1cbn1cbiJdfQ==