@bnsights/bbsf-admin-portal 1.0.4 → 1.0.8

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 (150) hide show
  1. package/bnsights-bbsf-admin-portal-1.0.8.tgz +0 -0
  2. package/bundles/bnsights-bbsf-admin-portal.umd.js +8335 -3660
  3. package/bundles/bnsights-bbsf-admin-portal.umd.js.map +1 -1
  4. package/esm2015/lib/Pages/ActiveDirectories/active-directory-add/active-directory-add.component.js +2 -2
  5. package/esm2015/lib/Pages/account/account-routing.module.js +9 -1
  6. package/esm2015/lib/Pages/account/account.component.js +15 -6
  7. package/esm2015/lib/Pages/account/account.module.js +19 -8
  8. package/esm2015/lib/Pages/account/activation/activation.component.js +91 -0
  9. package/esm2015/lib/Pages/account/forgot-password/forgot-password.component.js +54 -0
  10. package/esm2015/lib/Pages/account/rest-password/rest-password.component.js +89 -0
  11. package/esm2015/lib/Pages/account/upload-license/upload-license.component.js +70 -0
  12. package/esm2015/lib/Pages/configurations/configuration/configuration.component.js +203 -184
  13. package/esm2015/lib/Pages/core/authentication/auth.guard.js +10 -4
  14. package/esm2015/lib/Pages/core/authentication/auth.service.js +1 -2
  15. package/esm2015/lib/Pages/departments/department/department.component.js +12 -9
  16. package/esm2015/lib/Pages/departments/department-info/department-info.component.js +1 -1
  17. package/esm2015/lib/Pages/departments/departments.module.js +6 -4
  18. package/esm2015/lib/Pages/helpCenter/help-center/help-center.component.js +9 -9
  19. package/esm2015/lib/Pages/helpCenter/help-center-secondlevel/help-center-secondlevel.component.js +9 -9
  20. package/esm2015/lib/Pages/helpCenter/help-center-thirdlevel/help-center-thirdlevel.component.js +9 -9
  21. package/esm2015/lib/Pages/home/home.component.js +2 -2
  22. package/esm2015/lib/Pages/impersonation-rules/impersonation-rules/impersonation-rules.component.js +1 -1
  23. package/esm2015/lib/Pages/jobs/jobs/jobs.component.js +1 -1
  24. package/esm2015/lib/Pages/localizations/localizations.component.js +10 -11
  25. package/esm2015/lib/Pages/lookups/lookup/lookup.component.js +10 -10
  26. package/esm2015/lib/Pages/lookups/lookup-group/lookup-group.component.js +5 -5
  27. package/esm2015/lib/Pages/lookups/lookup-item/lookup-item.component.js +5 -5
  28. package/esm2015/lib/Pages/notifications/add/add.component.js +11 -13
  29. package/esm2015/lib/Pages/notifications/edit/edit.component.js +11 -13
  30. package/esm2015/lib/Pages/notifications/master-layouts/master-layouts.component.js +1 -1
  31. package/esm2015/lib/Pages/notifications/template-info/template-info.component.js +5 -5
  32. package/esm2015/lib/Pages/notifications/templates/templates.component.js +9 -9
  33. package/esm2015/lib/Pages/providers/provider/provider.component.js +2 -1
  34. package/esm2015/lib/Pages/publicHolidays/public-holiday/public-holiday.component.js +78 -84
  35. package/esm2015/lib/Pages/roles/permission-set-info/permission-set-info.component.js +1 -1
  36. package/esm2015/lib/Pages/roles/permissions/permissions.component.js +5 -5
  37. package/esm2015/lib/Pages/roles/permissionsets/permissionsets.component.js +5 -5
  38. package/esm2015/lib/Pages/sectors/department-info/department-info.component.js +1 -1
  39. package/esm2015/lib/Pages/sectors/sector/sector.component.js +5 -5
  40. package/esm2015/lib/Pages/sectors/sector-info/sector-info.component.js +1 -1
  41. package/esm2015/lib/Pages/shared/Enums/ConditionRHSType.js +6 -0
  42. package/esm2015/lib/Pages/shared/Enums/ConfigurationScope.js +8 -0
  43. package/esm2015/lib/Pages/shared/Enums/ConfigurationType.js +8 -0
  44. package/esm2015/lib/Pages/shared/Enums/ConfigurationValueSource.js +6 -0
  45. package/esm2015/lib/Pages/shared/Enums/WFActivityType.js +12 -0
  46. package/esm2015/lib/Pages/shared/Enums/WFVariableDataType.js +14 -0
  47. package/esm2015/lib/Pages/shared/Services/AccountService.service.js +41 -0
  48. package/esm2015/lib/Pages/shared/Services/DepartmentService.service.js +1 -1
  49. package/esm2015/lib/Pages/shared/Services/WorkFlowVersionService.service.js +24 -0
  50. package/esm2015/lib/Pages/shared/Services/WorkflowActivityService.service.js +32 -5
  51. package/esm2015/lib/Pages/shared/Services/WorkflowInstanceService.service.js +24 -0
  52. package/esm2015/lib/Pages/shared/Services/WorkflowLogVariablesService.service.js +24 -0
  53. package/esm2015/lib/Pages/shared/Services/WorkflowService.service.js +12 -4
  54. package/esm2015/lib/Pages/shared/Services/WorkflowVariablesService.service.js +12 -6
  55. package/esm2015/lib/Pages/shared/models/AccountModels/forgotPasswordModel.js +6 -0
  56. package/esm2015/lib/Pages/shared/models/DepartmentModels/DepartmentModel.js +3 -2
  57. package/esm2015/lib/Pages/shared/models/UserModels/ActivationModel.js +3 -0
  58. package/esm2015/lib/Pages/shared/models/WorkflowModels/WFActivityVariablesModel.js +8 -0
  59. package/esm2015/lib/Pages/users/users.component.js +7 -6
  60. package/esm2015/lib/Pages/workflows/activity/workflow-activity-add/workflow-activity-add.component.js +535 -0
  61. package/esm2015/lib/Pages/workflows/activity/workflow-activity-edit/workflow-activity-edit.component.js +852 -0
  62. package/esm2015/lib/Pages/workflows/instance-info/instance-info.component.js +309 -0
  63. package/esm2015/lib/Pages/workflows/tabs/tabs.component.js +611 -430
  64. package/esm2015/lib/Pages/workflows/version-info/version-info.component.js +143 -0
  65. package/esm2015/lib/Pages/workflows/workflow/workflow.component.js +136 -148
  66. package/esm2015/lib/Pages/workflows/workflows-routing.module.js +9 -1
  67. package/esm2015/lib/Pages/workflows/workflows.module.js +7 -3
  68. package/esm2015/lib/masterlayout.component.js +1 -2
  69. package/esm2015/lib/masterlayout.module.js +2 -4
  70. package/esm2015/public-api.js +2 -1
  71. package/fesm2015/bnsights-bbsf-admin-portal.js +7678 -3098
  72. package/fesm2015/bnsights-bbsf-admin-portal.js.map +1 -1
  73. package/lib/Pages/account/account.component.d.ts +5 -1
  74. package/lib/Pages/account/account.module.d.ts +11 -6
  75. package/lib/Pages/account/activation/activation.component.d.ts +32 -0
  76. package/lib/Pages/account/forgot-password/forgot-password.component.d.ts +23 -0
  77. package/lib/Pages/account/rest-password/rest-password.component.d.ts +32 -0
  78. package/lib/Pages/account/upload-license/upload-license.component.d.ts +25 -0
  79. package/lib/Pages/configurations/configuration/configuration.component.d.ts +12 -8
  80. package/lib/Pages/core/authentication/auth.guard.d.ts +1 -0
  81. package/lib/Pages/departments/department/department.component.d.ts +3 -2
  82. package/lib/Pages/departments/department-info/department-info.component.d.ts +1 -1
  83. package/lib/Pages/helpCenter/help-center/help-center.component.d.ts +1 -1
  84. package/lib/Pages/helpCenter/help-center-secondlevel/help-center-secondlevel.component.d.ts +1 -1
  85. package/lib/Pages/helpCenter/help-center-thirdlevel/help-center-thirdlevel.component.d.ts +1 -1
  86. package/lib/Pages/impersonation-rules/impersonation-rules/impersonation-rules.component.d.ts +1 -1
  87. package/lib/Pages/jobs/jobs/jobs.component.d.ts +6 -6
  88. package/lib/Pages/localizations/localizations.component.d.ts +1 -1
  89. package/lib/Pages/lookups/lookup/lookup.component.d.ts +1 -1
  90. package/lib/Pages/lookups/lookup-group/lookup-group.component.d.ts +1 -1
  91. package/lib/Pages/lookups/lookup-item/lookup-item.component.d.ts +1 -1
  92. package/lib/Pages/notifications/master-layouts/master-layouts.component.d.ts +1 -1
  93. package/lib/Pages/notifications/templates/templates.component.d.ts +1 -1
  94. package/lib/Pages/providers/provider/provider.component.d.ts +1 -1
  95. package/lib/Pages/publicHolidays/public-holiday/public-holiday.component.d.ts +12 -15
  96. package/lib/Pages/roles/permission-set-info/permission-set-info.component.d.ts +1 -1
  97. package/lib/Pages/roles/permissions/permissions.component.d.ts +1 -1
  98. package/lib/Pages/roles/permissionsets/permissionsets.component.d.ts +1 -1
  99. package/lib/Pages/sectors/department-info/department-info.component.d.ts +1 -1
  100. package/lib/Pages/sectors/sector/sector.component.d.ts +1 -1
  101. package/lib/Pages/sectors/sector-info/sector-info.component.d.ts +1 -1
  102. package/lib/Pages/shared/Enums/ConditionRHSType.d.ts +4 -0
  103. package/lib/Pages/shared/Enums/ConfigurationScope.d.ts +5 -0
  104. package/lib/Pages/shared/Enums/ConfigurationType.d.ts +6 -0
  105. package/lib/Pages/shared/Enums/ConfigurationValueSource.d.ts +4 -0
  106. package/lib/Pages/shared/Enums/WFActivityType.d.ts +10 -0
  107. package/lib/Pages/shared/Enums/WFVariableDataType.d.ts +12 -0
  108. package/lib/Pages/shared/Services/AccountService.service.d.ts +17 -0
  109. package/lib/Pages/shared/Services/ActiveDirectoryService.service.d.ts +8 -8
  110. package/lib/Pages/shared/Services/ConfigurationsService.service.d.ts +7 -7
  111. package/lib/Pages/shared/Services/DepartmentService.service.d.ts +7 -7
  112. package/lib/Pages/shared/Services/EmailHeaderAndFooterTemplateService.Service.d.ts +5 -5
  113. package/lib/Pages/shared/Services/HelpCenterService.service.d.ts +8 -8
  114. package/lib/Pages/shared/Services/ImpersonationRuleService.service.d.ts +5 -5
  115. package/lib/Pages/shared/Services/JobsService.service.d.ts +1 -1
  116. package/lib/Pages/shared/Services/LicenseService.service.d.ts +2 -2
  117. package/lib/Pages/shared/Services/LogsService.d.ts +1 -1
  118. package/lib/Pages/shared/Services/LookupGroupsService.service.d.ts +4 -4
  119. package/lib/Pages/shared/Services/LookupService.service.d.ts +14 -14
  120. package/lib/Pages/shared/Services/PermissionSetService.service.d.ts +8 -8
  121. package/lib/Pages/shared/Services/PermissionsService.service.d.ts +5 -5
  122. package/lib/Pages/shared/Services/PublicHolidayService.service.d.ts +6 -6
  123. package/lib/Pages/shared/Services/SectorService.service.d.ts +7 -7
  124. package/lib/Pages/shared/Services/TemplateService.service.d.ts +20 -20
  125. package/lib/Pages/shared/Services/WorkFlowVersionService.service.d.ts +10 -0
  126. package/lib/Pages/shared/Services/WorkflowActivityService.service.d.ts +9 -3
  127. package/lib/Pages/shared/Services/WorkflowInstanceService.service.d.ts +10 -0
  128. package/lib/Pages/shared/Services/WorkflowLogVariablesService.service.d.ts +10 -0
  129. package/lib/Pages/shared/Services/WorkflowService.service.d.ts +5 -3
  130. package/lib/Pages/shared/Services/WorkflowVariablesService.service.d.ts +5 -4
  131. package/lib/Pages/shared/Services/localizationsService.service .d.ts +12 -12
  132. package/lib/Pages/shared/Services/provider.service.d.ts +10 -10
  133. package/lib/Pages/shared/Services/userService.service.d.ts +14 -14
  134. package/lib/Pages/shared/models/AccountModels/forgotPasswordModel.d.ts +3 -0
  135. package/lib/Pages/shared/models/DepartmentModels/DepartmentModel.d.ts +9 -8
  136. package/lib/Pages/shared/models/UserModels/ActivationModel.d.ts +10 -0
  137. package/lib/Pages/shared/models/WorkflowModels/WFActivityVariablesModel.d.ts +13 -0
  138. package/lib/Pages/users/users.component.d.ts +1 -1
  139. package/lib/Pages/workflows/activity/workflow-activity-add/workflow-activity-add.component.d.ts +77 -0
  140. package/lib/Pages/workflows/activity/workflow-activity-edit/workflow-activity-edit.component.d.ts +83 -0
  141. package/lib/Pages/workflows/instance-info/instance-info.component.d.ts +81 -0
  142. package/lib/Pages/workflows/tabs/tabs.component.d.ts +73 -80
  143. package/lib/Pages/workflows/version-info/version-info.component.d.ts +41 -0
  144. package/lib/Pages/workflows/workflow/workflow.component.d.ts +26 -29
  145. package/lib/Pages/workflows/workflows.module.d.ts +19 -15
  146. package/package.json +5 -3
  147. package/public-api.d.ts +1 -0
  148. package/src/lib/assets/sass/core/components/_variables.scss +1 -1
  149. package/src/lib/assets/sass/custom-styles-rtl.scss +5 -0
  150. package/src/lib/assets/sass/custom-styles.scss +38 -0
@@ -8,12 +8,18 @@ export class AuthGuard {
8
8
  this.router = router;
9
9
  this.authService = authService;
10
10
  this.allowedPermission = [];
11
+ this.homeURL = "";
11
12
  }
12
13
  canActivate(route, state) {
13
14
  return __awaiter(this, void 0, void 0, function* () {
14
- debugger;
15
- if (yield this.authService.isAuthenticated(this.allowedPermission))
16
- return true;
15
+ if (yield this.authService.isAuthenticated()) {
16
+ if (this.allowedPermission.length == 0 || this.authService.isUserInRole(this.allowedPermission))
17
+ return true;
18
+ else if (this.homeURL) {
19
+ this.router.navigate([this.homeURL]);
20
+ return true;
21
+ }
22
+ }
17
23
  this.authService.setUrl(state.url);
18
24
  this.router.navigate(['/Admin/account/login'], { queryParams: { redirect: state.url }, replaceUrl: true });
19
25
  return false;
@@ -25,4 +31,4 @@ AuthGuard.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "
25
31
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.13", ngImport: i0, type: AuthGuard, decorators: [{
26
32
  type: Injectable
27
33
  }], ctorParameters: function () { return [{ type: i1.Router }, { type: i2.AuthService }]; } });
28
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXV0aC5ndWFyZC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2Jic2YtYWRtaW4tcG9ydGFsL3NyYy9saWIvUGFnZXMvY29yZS9hdXRoZW50aWNhdGlvbi9hdXRoLmd1YXJkLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDOzs7O0FBTTNDLE1BQU0sT0FBTyxTQUFTO0lBRXBCLFlBQW9CLE1BQWMsRUFBVSxXQUF3QjtRQUFoRCxXQUFNLEdBQU4sTUFBTSxDQUFRO1FBQVUsZ0JBQVcsR0FBWCxXQUFXLENBQWE7UUFEOUQsc0JBQWlCLEdBQWEsRUFBRSxDQUFDO0lBRXZDLENBQUM7SUFFSyxXQUFXLENBQUMsS0FBNkIsRUFBRSxLQUEwQjs7WUFFekUsUUFBUSxDQUFDO1lBQ1QsSUFBSSxNQUFNLElBQUksQ0FBQyxXQUFXLENBQUMsZUFBZSxDQUFDLElBQUksQ0FBQyxpQkFBaUIsQ0FBQztnQkFDbEUsT0FBTyxJQUFJLENBQUM7WUFFWixJQUFJLENBQUMsV0FBVyxDQUFDLE1BQU0sQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDLENBQUE7WUFDbEMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxRQUFRLENBQUMsQ0FBQyxzQkFBc0IsQ0FBQyxFQUFFLEVBQUUsV0FBVyxFQUFFLEVBQUUsUUFBUSxFQUFFLEtBQUssQ0FBQyxHQUFHLEVBQUUsRUFBRSxVQUFVLEVBQUUsSUFBSSxFQUFFLENBQUMsQ0FBQztZQUMzRyxPQUFPLEtBQUssQ0FBQztRQUNmLENBQUM7S0FBQTs7dUdBZFUsU0FBUzsyR0FBVCxTQUFTOzRGQUFULFNBQVM7a0JBRHJCLFVBQVUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IFJvdXRlciwgQ2FuQWN0aXZhdGUsIEFjdGl2YXRlZFJvdXRlU25hcHNob3QsIFJvdXRlclN0YXRlU25hcHNob3QgfSBmcm9tICdAYW5ndWxhci9yb3V0ZXInO1xyXG5pbXBvcnQgeyBBdXRoU2VydmljZSB9IGZyb20gJ0BibnNpZ2h0cy9iYnNmLXV0aWxpdGllcyc7XHJcblxyXG5cclxuQEluamVjdGFibGUoKVxyXG5leHBvcnQgY2xhc3MgQXV0aEd1YXJkIGltcGxlbWVudHMgQ2FuQWN0aXZhdGUge1xyXG4gcHVibGljIGFsbG93ZWRQZXJtaXNzaW9uIDogbnVtYmVyW10gPVtdO1xyXG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgcm91dGVyOiBSb3V0ZXIsIHByaXZhdGUgYXV0aFNlcnZpY2U6IEF1dGhTZXJ2aWNlKSB7IFxyXG4gIH1cclxuXHJcbiAgYXN5bmMgY2FuQWN0aXZhdGUocm91dGU6IEFjdGl2YXRlZFJvdXRlU25hcHNob3QsIHN0YXRlOiBSb3V0ZXJTdGF0ZVNuYXBzaG90KTogUHJvbWlzZTxib29sZWFuPiB7XHJcblxyXG4gICAgZGVidWdnZXI7XHJcbiAgICBpZiAoYXdhaXQgdGhpcy5hdXRoU2VydmljZS5pc0F1dGhlbnRpY2F0ZWQodGhpcy5hbGxvd2VkUGVybWlzc2lvbikpICBcclxuICAgIHJldHVybiB0cnVlO1xyXG5cclxuICAgIHRoaXMuYXV0aFNlcnZpY2Uuc2V0VXJsKHN0YXRlLnVybClcclxuICAgIHRoaXMucm91dGVyLm5hdmlnYXRlKFsnL0FkbWluL2FjY291bnQvbG9naW4nXSwgeyBxdWVyeVBhcmFtczogeyByZWRpcmVjdDogc3RhdGUudXJsIH0sIHJlcGxhY2VVcmw6IHRydWUgfSk7XHJcbiAgICByZXR1cm4gZmFsc2U7XHJcbiAgfVxyXG5cclxufVxyXG4iXX0=
34
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXV0aC5ndWFyZC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2Jic2YtYWRtaW4tcG9ydGFsL3NyYy9saWIvUGFnZXMvY29yZS9hdXRoZW50aWNhdGlvbi9hdXRoLmd1YXJkLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDOzs7O0FBTTNDLE1BQU0sT0FBTyxTQUFTO0lBR3BCLFlBQW9CLE1BQWMsRUFBVSxXQUF3QjtRQUFoRCxXQUFNLEdBQU4sTUFBTSxDQUFRO1FBQVUsZ0JBQVcsR0FBWCxXQUFXLENBQWE7UUFGN0Qsc0JBQWlCLEdBQWEsRUFBRSxDQUFDO1FBQ2pDLFlBQU8sR0FBVyxFQUFFLENBQUM7SUFFNUIsQ0FBQztJQUVLLFdBQVcsQ0FBQyxLQUE2QixFQUFFLEtBQTBCOztZQUV6RSxJQUFJLE1BQU0sSUFBSSxDQUFDLFdBQVcsQ0FBQyxlQUFlLEVBQUUsRUFBRTtnQkFDNUMsSUFBSSxJQUFJLENBQUMsaUJBQWlCLENBQUMsTUFBTSxJQUFJLENBQUMsSUFBSSxJQUFJLENBQUMsV0FBVyxDQUFDLFlBQVksQ0FBQyxJQUFJLENBQUMsaUJBQWlCLENBQUM7b0JBQzdGLE9BQU8sSUFBSSxDQUFBO3FCQUNSLElBQUksSUFBSSxDQUFDLE9BQU8sRUFBRTtvQkFDckIsSUFBSSxDQUFDLE1BQU0sQ0FBQyxRQUFRLENBQUMsQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQTtvQkFDcEMsT0FBTyxJQUFJLENBQUE7aUJBQ1o7YUFDRjtZQUNELElBQUksQ0FBQyxXQUFXLENBQUMsTUFBTSxDQUFDLEtBQUssQ0FBQyxHQUFHLENBQUMsQ0FBQTtZQUNsQyxJQUFJLENBQUMsTUFBTSxDQUFDLFFBQVEsQ0FBQyxDQUFDLHNCQUFzQixDQUFDLEVBQUUsRUFBRSxXQUFXLEVBQUUsRUFBRSxRQUFRLEVBQUUsS0FBSyxDQUFDLEdBQUcsRUFBRSxFQUFFLFVBQVUsRUFBRSxJQUFJLEVBQUUsQ0FBQyxDQUFBO1lBQzFHLE9BQU8sS0FBSyxDQUFBO1FBQ2QsQ0FBQztLQUFBOzt1R0FuQlUsU0FBUzsyR0FBVCxTQUFTOzRGQUFULFNBQVM7a0JBRHJCLFVBQVUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IFJvdXRlciwgQ2FuQWN0aXZhdGUsIEFjdGl2YXRlZFJvdXRlU25hcHNob3QsIFJvdXRlclN0YXRlU25hcHNob3QgfSBmcm9tICdAYW5ndWxhci9yb3V0ZXInO1xyXG5pbXBvcnQgeyBBdXRoU2VydmljZSB9IGZyb20gJ0BibnNpZ2h0cy9iYnNmLXV0aWxpdGllcyc7XHJcblxyXG5cclxuQEluamVjdGFibGUoKVxyXG5leHBvcnQgY2xhc3MgQXV0aEd1YXJkIGltcGxlbWVudHMgQ2FuQWN0aXZhdGUge1xyXG4gIHB1YmxpYyBhbGxvd2VkUGVybWlzc2lvbjogbnVtYmVyW10gPSBbXTtcclxuICBwdWJsaWMgaG9tZVVSTDogc3RyaW5nID0gXCJcIjtcclxuICBjb25zdHJ1Y3Rvcihwcml2YXRlIHJvdXRlcjogUm91dGVyLCBwcml2YXRlIGF1dGhTZXJ2aWNlOiBBdXRoU2VydmljZSkge1xyXG4gIH1cclxuXHJcbiAgYXN5bmMgY2FuQWN0aXZhdGUocm91dGU6IEFjdGl2YXRlZFJvdXRlU25hcHNob3QsIHN0YXRlOiBSb3V0ZXJTdGF0ZVNuYXBzaG90KTogUHJvbWlzZTxib29sZWFuPiB7XHJcbiAgICBcclxuICAgIGlmIChhd2FpdCB0aGlzLmF1dGhTZXJ2aWNlLmlzQXV0aGVudGljYXRlZCgpKSB7XHJcbiAgICAgIGlmICh0aGlzLmFsbG93ZWRQZXJtaXNzaW9uLmxlbmd0aCA9PSAwIHx8IHRoaXMuYXV0aFNlcnZpY2UuaXNVc2VySW5Sb2xlKHRoaXMuYWxsb3dlZFBlcm1pc3Npb24pKVxyXG4gICAgICAgIHJldHVybiB0cnVlXHJcbiAgICAgIGVsc2UgaWYgKHRoaXMuaG9tZVVSTCkge1xyXG4gICAgICAgIHRoaXMucm91dGVyLm5hdmlnYXRlKFt0aGlzLmhvbWVVUkxdKVxyXG4gICAgICAgIHJldHVybiB0cnVlXHJcbiAgICAgIH1cclxuICAgIH1cclxuICAgIHRoaXMuYXV0aFNlcnZpY2Uuc2V0VXJsKHN0YXRlLnVybClcclxuICAgIHRoaXMucm91dGVyLm5hdmlnYXRlKFsnL0FkbWluL2FjY291bnQvbG9naW4nXSwgeyBxdWVyeVBhcmFtczogeyByZWRpcmVjdDogc3RhdGUudXJsIH0sIHJlcGxhY2VVcmw6IHRydWUgfSlcclxuICAgIHJldHVybiBmYWxzZVxyXG4gIH1cclxuXHJcbn1cclxuIl19
@@ -66,7 +66,6 @@ export class AuthService extends BaseService {
66
66
  });
67
67
  }
68
68
  register(userRegistration) {
69
- ;
70
69
  return this.http.post('https://localhost:44335/api' + '/account', userRegistration);
71
70
  }
72
71
  refreshToken(token) {
@@ -155,4 +154,4 @@ export function getClientSettings() {
155
154
  // userStore: new WebStorageStateStore({ store: window.localStorage })
156
155
  };
157
156
  }
158
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXV0aC5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYmJzZi1hZG1pbi1wb3J0YWwvc3JjL2xpYi9QYWdlcy9jb3JlL2F1dGhlbnRpY2F0aW9uL2F1dGguc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUMzQyxPQUFPLEVBQWMsV0FBVyxFQUFFLE1BQU0sc0JBQXNCLENBQUM7QUFFL0QsT0FBTyxFQUFFLFdBQVcsRUFBbUQsTUFBTSxhQUFhLENBQUM7QUFDM0YsT0FBTyxFQUFFLGVBQWUsRUFBRSxPQUFPLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFFaEQsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLDJCQUEyQixDQUFDOzs7QUFDeEQsMEZBQTBGO0FBTTFGLE1BQU0sT0FBTyxXQUFZLFNBQVEsV0FBVztJQWdCMUMsWUFBb0IsSUFBZ0I7UUFDbEMsS0FBSyxFQUFFLENBQUM7UUFEVSxTQUFJLEdBQUosSUFBSSxDQUFZO1FBZHBDLDRCQUE0QjtRQUNwQix5QkFBb0IsR0FBRyxJQUFJLGVBQWUsQ0FBVSxLQUFLLENBQUMsQ0FBQztRQUNuRSw0QkFBNEI7UUFDNUIsbUJBQWMsR0FBRyxJQUFJLENBQUMsb0JBQW9CLENBQUMsWUFBWSxFQUFFLENBQUM7UUFFeEQsNEJBQTRCO1FBQ3ZCLGdCQUFXLEdBQWlCLElBQUksT0FBTyxFQUFRLENBQUM7UUFDeEQsZ0JBQVcsR0FBRyxJQUFJLENBQUMsV0FBVyxDQUFDLFlBQVksRUFBRSxDQUFDO1FBRXJDLFlBQU8sR0FBRyxJQUFJLFdBQVcsQ0FBQyxpQkFBaUIsRUFBRSxDQUFDLENBQUM7UUFDaEQsZ0JBQVcsR0FBUSxFQUFFLENBQUE7UUFNekIsQ0FBQztRQUNGLElBQUksQ0FBQyxPQUFPLENBQUMsT0FBTyxFQUFFLENBQUMsSUFBSSxDQUFDLENBQU0sSUFB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QUFzQjtJQUN0Qiw2QkFBNkI7SUFDN0Isa0dBQWtHO0lBQ2xHLHNFQUFzRTtLQUNyRSxDQUFDO0FBQ1YsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgSHR0cENsaWVudCwgSHR0cEhlYWRlcnMgfSBmcm9tICdAYW5ndWxhci9jb21tb24vaHR0cCc7XHJcbmltcG9ydCB7IGNhdGNoRXJyb3IgfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XHJcbmltcG9ydCB7IFVzZXJNYW5hZ2VyLCBVc2VyTWFuYWdlclNldHRpbmdzLCBVc2VyLCBXZWJTdG9yYWdlU3RhdGVTdG9yZSB9IGZyb20gJ29pZGMtY2xpZW50JztcclxuaW1wb3J0IHsgQmVoYXZpb3JTdWJqZWN0LCBTdWJqZWN0IH0gZnJvbSAncnhqcyc7XHJcblxyXG5pbXBvcnQgeyBCYXNlU2VydmljZSB9IGZyb20gXCIuLi8uLi9zaGFyZWQvYmFzZS5zZXJ2aWNlXCI7XHJcbi8vIGltcG9ydCB7IGVudmlyb25tZW50U2VydmljZSB9IGZyb20gJy4uLy4uL3NoYXJlZC9TZXJ2aWNlcy9lbnZpcm9ubWVudHNTZXJ2aWNlLlNlcnZpY2UnO1xyXG5cclxuQEluamVjdGFibGUoe1xyXG4gIHByb3ZpZGVkSW46ICdyb290J1xyXG59KVxyXG5cclxuZXhwb3J0IGNsYXNzIEF1dGhTZXJ2aWNlIGV4dGVuZHMgQmFzZVNlcnZpY2Uge1xyXG5cclxuICAvLyBPYnNlcnZhYmxlIG5hdkl0ZW0gc291cmNlXHJcbiAgcHJpdmF0ZSBfYXV0aE5hdlN0YXR1c1NvdXJjZSA9IG5ldyBCZWhhdmlvclN1YmplY3Q8Ym9vbGVhbj4oZmFsc2UpO1xyXG4gIC8vIE9ic2VydmFibGUgbmF2SXRlbSBzdHJlYW1cclxuICBhdXRoTmF2U3RhdHVzJCA9IHRoaXMuX2F1dGhOYXZTdGF0dXNTb3VyY2UuYXNPYnNlcnZhYmxlKCk7XHJcblxyXG4gICAgLy8gT2JzZXJ2YWJsZSBuYXZJdGVtIHNvdXJjZVxyXG4gcHJpdmF0ZSBfdXNlclNvdXJjZTogU3ViamVjdDxVc2VyPj0gbmV3IFN1YmplY3Q8VXNlcj4oKTtcclxuIFVzZXJTdGF0dXMkID0gdGhpcy5fdXNlclNvdXJjZS5hc09ic2VydmFibGUoKTtcclxuXHJcbiAgcHJpdmF0ZSBtYW5hZ2VyID0gbmV3IFVzZXJNYW5hZ2VyKGdldENsaWVudFNldHRpbmdzKCkpO1xyXG4gIHB1YmxpYyByZWRpcmVjdFVybDpzdHJpbmc9XCJcIlxyXG4gIHN0YXRpYyB1c2VyOiBVc2VyIHwgbnVsbCA9IG51bGw7XHJcbiAgcHJpdmF0ZSB1c2VyOiBVc2VyIHwgbnVsbDtcclxuXHJcbiAgY29uc3RydWN0b3IocHJpdmF0ZSBodHRwOiBIdHRwQ2xpZW50KSB7XHJcbiAgICBzdXBlcigpO1xyXG4gICAgIDtcclxuICAgIHRoaXMubWFuYWdlci5nZXRVc2VyKCkudGhlbihhc3luYyB1c2VyID0+IHtcclxuICAgICAgIDtcclxuICAgICAgdGhpcy5tYW5hZ2VyLnN0b3JlVXNlcih1c2VyKTtcclxuICAgICAgQXV0aFNlcnZpY2UudXNlciA9IHVzZXI7XHJcbiAgICAgIHRoaXMudXNlcj11c2VyO1xyXG4gICAgICB0aGlzLl9hdXRoTmF2U3RhdHVzU291cmNlLm5leHQoYXdhaXQgdGhpcy5pc0F1dGhlbnRpY2F0ZWQoKSk7XHJcbiAgICB9KTtcclxuICB0aGlzLm1hbmFnZXIuZXZlbnRzLmFkZEFjY2Vzc1Rva2VuRXhwaXJlZChfPT57XHJcbiAgICB0aGlzLl9hdXRoTmF2U3RhdHVzU291cmNlLm5leHQoZmFsc2UpO1xyXG4gICAgLy9BdXRoU2VydmljZS51c2VyID0gbnVsbDtcclxuICB9KVxyXG4gIH1cclxuXHJcbiAgbG9naW4oKSB7XHJcbiAgICByZXR1cm4gdGhpcy5tYW5hZ2VyLnNpZ25pblJlZGlyZWN0KCk7XHJcbiAgfVxyXG5cclxuICAgZ2V0VXNlcigpe1xyXG4gICAgdGhpcy5tYW5hZ2VyLmdldFVzZXIoKS50aGVuKGFzeW5jIHVzZXIgPT4ge1xyXG4gICAgICAgO1xyXG4gICAgICBBdXRoU2VydmljZS51c2VyID0gdXNlcjtcclxuICAgICAgdGhpcy51c2VyPXVzZXJcclxuICAgICAgdGhpcy5fYXV0aE5hdlN0YXR1c1NvdXJjZS5uZXh0KGF3YWl0IHRoaXMuaXNBdXRoZW50aWNhdGVkKCkpO1xyXG4gICAgfSk7XHJcbiAgfVxyXG4gIHN0b3JVc2VyKFVzZXI6YW55KVxyXG4gIHtcclxuICAgIHRoaXMubWFuYWdlci5zdG9yZVVzZXIoVXNlcik7XHJcbiAgfVxyXG5cclxuICByZXZva2VBY2Nlc3NUb2tlbigpXHJcbiAge1xyXG4gICAgdGhpcy5tYW5hZ2VyLnJldm9rZUFjY2Vzc1Rva2VuKCk7XHJcbiAgfVxyXG5cclxuICAgc2lnbmluU2lsZW50KCl7XHJcbiAgICAgXHJcbiAgICBsZXQgeD10aGlzLm1hbmFnZXIuc2lnbmluU2lsZW50Q2FsbGJhY2soKVxyXG4gICAgeC50aGVuKHM9PntcclxuICAgICAvL2NvbnNvbGUubG9nKHMpXHJcbiAgICB9KVxyXG4gIH1cclxuXHJcbiAgYXN5bmMgY29tcGxldGVBdXRoZW50aWNhdGlvbigpIHtcclxuXHJcbiAgICAgO1xyXG4gICAgdGhpcy51c2VyID0gYXdhaXQgdGhpcy5tYW5hZ2VyLnNpZ25pblJlZGlyZWN0Q2FsbGJhY2soKTtcclxuICAgIEF1dGhTZXJ2aWNlLnVzZXI9dGhpcy51c2VyXHJcbiAgICAgdGhpcy5fdXNlclNvdXJjZS5uZXh0KEF1dGhTZXJ2aWNlLnVzZXIpXHJcbiAgICB0aGlzLl9hdXRoTmF2U3RhdHVzU291cmNlLm5leHQoYXdhaXQgdGhpcy5pc0F1dGhlbnRpY2F0ZWQoKSk7XHJcbiAgfVxyXG5cclxuICByZWdpc3Rlcih1c2VyUmVnaXN0cmF0aW9uOiBhbnkpIHtcclxuICAgICA7XHJcbiAgICByZXR1cm4gdGhpcy5odHRwLnBvc3QoJ2h0dHBzOi8vbG9jYWxob3N0OjQ0MzM1L2FwaScgKyAnL2FjY291bnQnLCB1c2VyUmVnaXN0cmF0aW9uKTtcclxuICB9XHJcblxyXG5cclxuICBhc3luYyByZWZyZXNoVG9rZW4odG9rZW4pIHtcclxuICAgIGNvbnN0IGh0dHBPcHRpb25zID0ge1xyXG4gICAgICBoZWFkZXJzOiBuZXcgSHR0cEhlYWRlcnMoe1xyXG4gICAgICAgICdDb250ZW50LVR5cGUnOiAgJ2FwcGxpY2F0aW9uL2pzb24nLFxyXG4gICAgICAgICdBdXRob3JpemF0aW9uJzogdG9rZW5cclxuICAgICAgfSlcclxuICAgIH07XHJcbiAgICB0aGlzLm1hbmFnZXIucmV2b2tlQWNjZXNzVG9rZW5cclxuICAgIHJldHVybiBhd2FpdCB0aGlzLmh0dHAucG9zdDxhbnk+KGAkdXNlcnMvcmVmcmVzaC10b2tlbmAsIGh0dHBPcHRpb25zLCB7IHdpdGhDcmVkZW50aWFsczogdHJ1ZSB9KS5zdWJzY3JpYmUoKHVzZXIpPT57XHJcbiAgICAgIHRoaXMuX3VzZXJTb3VyY2UubmV4dCh1c2VyKVxyXG4gICAgICBBdXRoU2VydmljZS51c2VyPXVzZXJcclxuICAgICAgdGhpcy51c2VyPXVzZXI7XHJcbiAgICB9KVxyXG59XHJcblxyXG4gICBhc3luYyBpc0F1dGhlbnRpY2F0ZWQoYWxsb3dlZFBlcm1pc3Npb24/IDogbnVtYmVyW10pOlByb21pc2U8Ym9vbGVhbj4ge1xyXG4gICAgbGV0IHVzZXIgPSBhd2FpdCB0aGlzLm1hbmFnZXIuZ2V0VXNlcigpLnRoZW4odXNlciA9PiB7XHJcbiAgICAgIHJldHVybiB1c2VyO1xyXG4gICAgfSlcclxuICBpZihhbGxvd2VkUGVybWlzc2lvbiE9bnVsbCYmIGFsbG93ZWRQZXJtaXNzaW9uIT11bmRlZmluZWQpIFxyXG4gIHtcclxuICAgIGlmKGFsbG93ZWRQZXJtaXNzaW9uLmxlbmd0aD09MClcclxuICAgIHtcclxuICAgICAgcmV0dXJuIHRoaXMudXNlciAhPSBudWxsICYmICF0aGlzLnVzZXIuZXhwaXJlZDtcclxuICAgIH1cclxuICAgIGVsc2VcclxuICAgIHtcclxuICAgICAgIDtcclxuICAgICAgbGV0IGlzVXNlckluUm9sZSA9dGhpcy5pc1VzZXJJblJvbGUoYWxsb3dlZFBlcm1pc3Npb24pO1xyXG4gICAgICByZXR1cm4gdGhpcy51c2VyICE9IG51bGwgJiYgIXRoaXMudXNlci5leHBpcmVkJiZpc1VzZXJJblJvbGU7XHJcbiAgICB9XHJcblxyXG4gIH1cclxuICBlbHNlXHJcbiAgcmV0dXJuIHRoaXMudXNlciAhPSBudWxsICYmICF0aGlzLnVzZXIuZXhwaXJlZDtcclxuXHJcbiAgICAgICAgXHJcbiAgfVxyXG4gIGlzVXNlckluUm9sZShhbGxvd2VkUGVybWlzc2lvbjogbnVtYmVyW10pXHJcbiAge1xyXG4gICAgIDtcclxuICAgIGxldCBwZXJtaXNzaW9uU2V0U0lEID10aGlzLnVzZXIucHJvZmlsZVtcInBlcm1pc3Npb25TZXRTSURcIl0uc3BsaXRgLGAubWFwKHg9Pit4KSBhcyBudW1iZXJbXVxyXG4gICAgcmV0dXJuIGFsbG93ZWRQZXJtaXNzaW9uLmV2ZXJ5KGkgPT4gcGVybWlzc2lvblNldFNJRC5pbmNsdWRlcyhpKSk7XHJcbiAgfVxyXG5cclxuICBhdXRob3JpemF0aW9uSGVhZGVyVmFsdWUoKTogc3RyaW5nIHtcclxuICAgIHJldHVybiBgJHtBdXRoU2VydmljZS51c2VyLnRva2VuX3R5cGV9ICR7QXV0aFNlcnZpY2UudXNlci5hY2Nlc3NfdG9rZW59YDtcclxuICB9XHJcblxyXG4gIG5hbWUoKTogc3RyaW5nIHtcclxuICAgICByZXR1cm4gQXV0aFNlcnZpY2UudXNlciAhPSBudWxsID8gQXV0aFNlcnZpY2UudXNlci5wcm9maWxlLmdpdmVuX25hbWUgOiAnJztcclxuICB9XHJcbiAgc2V0VXJsKHVybCl7XHJcbiAgICBsb2NhbFN0b3JhZ2Uuc2V0SXRlbShcInJlZGlyZWN0VXJsXCIsdXJsKVxyXG4gICAgXHJcbiAgfVxyXG4gIGdldFVybCgpe1xyXG4gICAgcmV0dXJuIGxvY2FsU3RvcmFnZS5nZXRJdGVtKFwicmVkaXJlY3RVcmxcIik7XHJcbiAgfVxyXG4gIHNpZ25pblNpbGVudENhbGxiYWNrKCl7XHJcbiAgdGhpcy5tYW5hZ2VyLnNpZ25pblNpbGVudENhbGxiYWNrKClcclxuICB9XHJcbiAgYXN5bmMgc2lnbm91dCgpIHtcclxuICAgIGxvY2FsU3RvcmFnZS5jbGVhcigpO1xyXG4gICAgYXdhaXQgdGhpcy5tYW5hZ2VyLnNpZ25vdXRSZWRpcmVjdCgpO1xyXG5cclxuICB9XHJcbn1cclxuXHJcbmV4cG9ydCBmdW5jdGlvbiBnZXRDbGllbnRTZXR0aW5ncygpOiBVc2VyTWFuYWdlclNldHRpbmdzIHtcclxuICByZXR1cm4ge1xyXG4gICAgICAgIC8vIGF1dGhvcml0eTogZW52aXJvbm1lbnRTZXJ2aWNlLmdldElkZW50aXR5U2VydmVyVXJsKCksXHJcbiAgICAgICAgLy8gY2xpZW50X2lkOiAnYW5ndWxhcl9zcGEnLFxyXG4gICAgICAgIC8vIHJlZGlyZWN0X3VyaTogZW52aXJvbm1lbnRTZXJ2aWNlLmdldElkZW50aXR5U2VydmVyVXJsKCkgKycvQWRtaW4vYXV0aGVudGljYXRpb24vYXV0aC1jYWxsYmFjaycsXHJcbiAgICAgICAgLy8gcG9zdF9sb2dvdXRfcmVkaXJlY3RfdXJpOiBlbnZpcm9ubWVudFNlcnZpY2UuZ2V0QmFzZVVybCgpICxcclxuICAgICAgICAvLyByZXNwb25zZV90eXBlOiBcImlkX3Rva2VuIHRva2VuXCIsXHJcbiAgICAgICAgLy8gc2NvcGU6IFwib3BlbmlkIHByb2ZpbGUgZW1haWwgSWRlbnRpdHlTZXJ2ZXJBcGlcIixcclxuICAgICAgICAvLyBmaWx0ZXJQcm90b2NvbENsYWltczogdHJ1ZSxcclxuICAgICAgICAvLyBsb2FkVXNlckluZm86IHRydWUsXHJcbiAgICAgICAgLy8gYXV0b21hdGljU2lsZW50UmVuZXc6dHJ1ZSxcclxuICAgICAgICAvLyBzaWxlbnRfcmVkaXJlY3RfdXJpOiAgZW52aXJvbm1lbnRTZXJ2aWNlLmdldElkZW50aXR5U2VydmVyVXJsKCkrJy9hc3NldHMvc2lsZW50LWNhbGxiYWNrLmh0bWwnLFxyXG4gICAgICAgIC8vIHVzZXJTdG9yZTogbmV3IFdlYlN0b3JhZ2VTdGF0ZVN0b3JlKHsgc3RvcmU6IHdpbmRvdy5sb2NhbFN0b3JhZ2UgfSlcclxuICAgICAgICB9O1xyXG59XHJcbiJdfQ==
157
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXV0aC5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYmJzZi1hZG1pbi1wb3J0YWwvc3JjL2xpYi9QYWdlcy9jb3JlL2F1dGhlbnRpY2F0aW9uL2F1dGguc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUMzQyxPQUFPLEVBQWMsV0FBVyxFQUFFLE1BQU0sc0JBQXNCLENBQUM7QUFFL0QsT0FBTyxFQUFFLFdBQVcsRUFBbUQsTUFBTSxhQUFhLENBQUM7QUFDM0YsT0FBTyxFQUFFLGVBQWUsRUFBRSxPQUFPLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFFaEQsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLDJCQUEyQixDQUFDOzs7QUFDeEQsMEZBQTBGO0FBTTFGLE1BQU0sT0FBTyxXQUFZLFNBQVEsV0FBVztJQWdCMUMsWUFBb0IsSUFBZ0I7UUFDbEMsS0FBSyxFQUFFLENBQUM7UUFEVSxTQUFJLEdBQUosSUFBSSxDQUFZO1FBZHBDLDRCQUE0QjtRQUNwQix5QkFBb0IsR0FBRyxJQUFJLGVBQWUsQ0FBVSxLQUFLLENBQUMsQ0FBQztRQUNuRSw0QkFBNEI7UUFDNUIsbUJBQWMsR0FBRyxJQUFJLENBQUMsb0JBQW9CLENBQUMsWUFBWSxFQUFFLENBQUM7UUFFeEQsNEJBQTRCO1FBQ3ZCLGdCQUFXLEdBQWlCLElBQUksT0FBTyxFQUFRLENBQUM7UUFDeEQsZ0JBQVcsR0FBRyxJQUFJLENBQUMsV0FBVyxDQUFDLFlBQVksRUFBRSxDQUFDO1FBRXJDLFlBQU8sR0FBRyxJQUFJLFdBQVcsQ0FBQyxpQkFBaUIsRUFBRSxDQUFDLENBQUM7UUFDaEQsZ0JBQVcsR0FBUSxFQUFFLENBQUE7UUFNekIsQ0FBQztRQUNGLElBQUksQ0FBQyxPQUFPLENBQUMsT0FBTyxFQUFFLENBQUMsSUFBSSxDQUFDLENBQU0sSUFB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LDZCQUE2QjtJQUM3QixrR0FBa0c7SUFDbEcsc0VBQXNFO0tBQ3JFLENBQUM7QUFDVixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBIdHRwQ2xpZW50LCBIdHRwSGVhZGVycyB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbi9odHRwJztcclxuaW1wb3J0IHsgY2F0Y2hFcnJvciB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcclxuaW1wb3J0IHsgVXNlck1hbmFnZXIsIFVzZXJNYW5hZ2VyU2V0dGluZ3MsIFVzZXIsIFdlYlN0b3JhZ2VTdGF0ZVN0b3JlIH0gZnJvbSAnb2lkYy1jbGllbnQnO1xyXG5pbXBvcnQgeyBCZWhhdmlvclN1YmplY3QsIFN1YmplY3QgfSBmcm9tICdyeGpzJztcclxuXHJcbmltcG9ydCB7IEJhc2VTZXJ2aWNlIH0gZnJvbSBcIi4uLy4uL3NoYXJlZC9iYXNlLnNlcnZpY2VcIjtcclxuLy8gaW1wb3J0IHsgZW52aXJvbm1lbnRTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vc2hhcmVkL1NlcnZpY2VzL2Vudmlyb25tZW50c1NlcnZpY2UuU2VydmljZSc7XHJcblxyXG5ASW5qZWN0YWJsZSh7XHJcbiAgcHJvdmlkZWRJbjogJ3Jvb3QnXHJcbn0pXHJcblxyXG5leHBvcnQgY2xhc3MgQXV0aFNlcnZpY2UgZXh0ZW5kcyBCYXNlU2VydmljZSB7XHJcblxyXG4gIC8vIE9ic2VydmFibGUgbmF2SXRlbSBzb3VyY2VcclxuICBwcml2YXRlIF9hdXRoTmF2U3RhdHVzU291cmNlID0gbmV3IEJlaGF2aW9yU3ViamVjdDxib29sZWFuPihmYWxzZSk7XHJcbiAgLy8gT2JzZXJ2YWJsZSBuYXZJdGVtIHN0cmVhbVxyXG4gIGF1dGhOYXZTdGF0dXMkID0gdGhpcy5fYXV0aE5hdlN0YXR1c1NvdXJjZS5hc09ic2VydmFibGUoKTtcclxuXHJcbiAgICAvLyBPYnNlcnZhYmxlIG5hdkl0ZW0gc291cmNlXHJcbiBwcml2YXRlIF91c2VyU291cmNlOiBTdWJqZWN0PFVzZXI+PSBuZXcgU3ViamVjdDxVc2VyPigpO1xyXG4gVXNlclN0YXR1cyQgPSB0aGlzLl91c2VyU291cmNlLmFzT2JzZXJ2YWJsZSgpO1xyXG5cclxuICBwcml2YXRlIG1hbmFnZXIgPSBuZXcgVXNlck1hbmFnZXIoZ2V0Q2xpZW50U2V0dGluZ3MoKSk7XHJcbiAgcHVibGljIHJlZGlyZWN0VXJsOnN0cmluZz1cIlwiXHJcbiAgc3RhdGljIHVzZXI6IFVzZXIgfCBudWxsID0gbnVsbDtcclxuICBwcml2YXRlIHVzZXI6IFVzZXIgfCBudWxsO1xyXG5cclxuICBjb25zdHJ1Y3Rvcihwcml2YXRlIGh0dHA6IEh0dHBDbGllbnQpIHtcclxuICAgIHN1cGVyKCk7XHJcbiAgICAgO1xyXG4gICAgdGhpcy5tYW5hZ2VyLmdldFVzZXIoKS50aGVuKGFzeW5jIHVzZXIgPT4ge1xyXG4gICAgICAgO1xyXG4gICAgICB0aGlzLm1hbmFnZXIuc3RvcmVVc2VyKHVzZXIpO1xyXG4gICAgICBBdXRoU2VydmljZS51c2VyID0gdXNlcjtcclxuICAgICAgdGhpcy51c2VyPXVzZXI7XHJcbiAgICAgIHRoaXMuX2F1dGhOYXZTdGF0dXNTb3VyY2UubmV4dChhd2FpdCB0aGlzLmlzQXV0aGVudGljYXRlZCgpKTtcclxuICAgIH0pO1xyXG4gIHRoaXMubWFuYWdlci5ldmVudHMuYWRkQWNjZXNzVG9rZW5FeHBpcmVkKF89PntcclxuICAgIHRoaXMuX2F1dGhOYXZTdGF0dXNTb3VyY2UubmV4dChmYWxzZSk7XHJcbiAgICAvL0F1dGhTZXJ2aWNlLnVzZXIgPSBudWxsO1xyXG4gIH0pXHJcbiAgfVxyXG5cclxuICBsb2dpbigpIHtcclxuICAgIHJldHVybiB0aGlzLm1hbmFnZXIuc2lnbmluUmVkaXJlY3QoKTtcclxuICB9XHJcblxyXG4gICBnZXRVc2VyKCl7XHJcbiAgICB0aGlzLm1hbmFnZXIuZ2V0VXNlcigpLnRoZW4oYXN5bmMgdXNlciA9PiB7XHJcbiAgICAgICA7XHJcbiAgICAgIEF1dGhTZXJ2aWNlLnVzZXIgPSB1c2VyO1xyXG4gICAgICB0aGlzLnVzZXI9dXNlclxyXG4gICAgICB0aGlzLl9hdXRoTmF2U3RhdHVzU291cmNlLm5leHQoYXdhaXQgdGhpcy5pc0F1dGhlbnRpY2F0ZWQoKSk7XHJcbiAgICB9KTtcclxuICB9XHJcbiAgc3RvclVzZXIoVXNlcjphbnkpXHJcbiAge1xyXG4gICAgdGhpcy5tYW5hZ2VyLnN0b3JlVXNlcihVc2VyKTtcclxuICB9XHJcblxyXG4gIHJldm9rZUFjY2Vzc1Rva2VuKClcclxuICB7XHJcbiAgICB0aGlzLm1hbmFnZXIucmV2b2tlQWNjZXNzVG9rZW4oKTtcclxuICB9XHJcblxyXG4gICBzaWduaW5TaWxlbnQoKXtcclxuICAgICBcclxuICAgIGxldCB4PXRoaXMubWFuYWdlci5zaWduaW5TaWxlbnRDYWxsYmFjaygpXHJcbiAgICB4LnRoZW4ocz0+e1xyXG4gICAgIC8vY29uc29sZS5sb2cocylcclxuICAgIH0pXHJcbiAgfVxyXG5cclxuICBhc3luYyBjb21wbGV0ZUF1dGhlbnRpY2F0aW9uKCkge1xyXG5cclxuICAgICA7XHJcbiAgICB0aGlzLnVzZXIgPSBhd2FpdCB0aGlzLm1hbmFnZXIuc2lnbmluUmVkaXJlY3RDYWxsYmFjaygpO1xyXG4gICAgQXV0aFNlcnZpY2UudXNlcj10aGlzLnVzZXJcclxuICAgICB0aGlzLl91c2VyU291cmNlLm5leHQoQXV0aFNlcnZpY2UudXNlcilcclxuICAgIHRoaXMuX2F1dGhOYXZTdGF0dXNTb3VyY2UubmV4dChhd2FpdCB0aGlzLmlzQXV0aGVudGljYXRlZCgpKTtcclxuICB9XHJcblxyXG4gIHJlZ2lzdGVyKHVzZXJSZWdpc3RyYXRpb246IGFueSkge1xyXG4gICAgcmV0dXJuIHRoaXMuaHR0cC5wb3N0KCdodHRwczovL2xvY2FsaG9zdDo0NDMzNS9hcGknICsgJy9hY2NvdW50JywgdXNlclJlZ2lzdHJhdGlvbik7XHJcbiAgfVxyXG5cclxuXHJcbiAgYXN5bmMgcmVmcmVzaFRva2VuKHRva2VuKSB7XHJcbiAgICBjb25zdCBodHRwT3B0aW9ucyA9IHtcclxuICAgICAgaGVhZGVyczogbmV3IEh0dHBIZWFkZXJzKHtcclxuICAgICAgICAnQ29udGVudC1UeXBlJzogICdhcHBsaWNhdGlvbi9qc29uJyxcclxuICAgICAgICAnQXV0aG9yaXphdGlvbic6IHRva2VuXHJcbiAgICAgIH0pXHJcbiAgICB9O1xyXG4gICAgdGhpcy5tYW5hZ2VyLnJldm9rZUFjY2Vzc1Rva2VuXHJcbiAgICByZXR1cm4gYXdhaXQgdGhpcy5odHRwLnBvc3Q8YW55PihgJHVzZXJzL3JlZnJlc2gtdG9rZW5gLCBodHRwT3B0aW9ucywgeyB3aXRoQ3JlZGVudGlhbHM6IHRydWUgfSkuc3Vic2NyaWJlKCh1c2VyKT0+e1xyXG4gICAgICB0aGlzLl91c2VyU291cmNlLm5leHQodXNlcilcclxuICAgICAgQXV0aFNlcnZpY2UudXNlcj11c2VyXHJcbiAgICAgIHRoaXMudXNlcj11c2VyO1xyXG4gICAgfSlcclxufVxyXG5cclxuICAgYXN5bmMgaXNBdXRoZW50aWNhdGVkKGFsbG93ZWRQZXJtaXNzaW9uPyA6IG51bWJlcltdKTpQcm9taXNlPGJvb2xlYW4+IHtcclxuICAgIGxldCB1c2VyID0gYXdhaXQgdGhpcy5tYW5hZ2VyLmdldFVzZXIoKS50aGVuKHVzZXIgPT4ge1xyXG4gICAgICByZXR1cm4gdXNlcjtcclxuICAgIH0pXHJcbiAgaWYoYWxsb3dlZFBlcm1pc3Npb24hPW51bGwmJiBhbGxvd2VkUGVybWlzc2lvbiE9dW5kZWZpbmVkKSBcclxuICB7XHJcbiAgICBpZihhbGxvd2VkUGVybWlzc2lvbi5sZW5ndGg9PTApXHJcbiAgICB7XHJcbiAgICAgIHJldHVybiB0aGlzLnVzZXIgIT0gbnVsbCAmJiAhdGhpcy51c2VyLmV4cGlyZWQ7XHJcbiAgICB9XHJcbiAgICBlbHNlXHJcbiAgICB7XHJcbiAgICAgICA7XHJcbiAgICAgIGxldCBpc1VzZXJJblJvbGUgPXRoaXMuaXNVc2VySW5Sb2xlKGFsbG93ZWRQZXJtaXNzaW9uKTtcclxuICAgICAgcmV0dXJuIHRoaXMudXNlciAhPSBudWxsICYmICF0aGlzLnVzZXIuZXhwaXJlZCYmaXNVc2VySW5Sb2xlO1xyXG4gICAgfVxyXG5cclxuICB9XHJcbiAgZWxzZVxyXG4gIHJldHVybiB0aGlzLnVzZXIgIT0gbnVsbCAmJiAhdGhpcy51c2VyLmV4cGlyZWQ7XHJcblxyXG4gICAgICAgIFxyXG4gIH1cclxuICBpc1VzZXJJblJvbGUoYWxsb3dlZFBlcm1pc3Npb246IG51bWJlcltdKVxyXG4gIHtcclxuICAgICA7XHJcbiAgICBsZXQgcGVybWlzc2lvblNldFNJRCA9dGhpcy51c2VyLnByb2ZpbGVbXCJwZXJtaXNzaW9uU2V0U0lEXCJdLnNwbGl0YCxgLm1hcCh4PT4reCkgYXMgbnVtYmVyW11cclxuICAgIHJldHVybiBhbGxvd2VkUGVybWlzc2lvbi5ldmVyeShpID0+IHBlcm1pc3Npb25TZXRTSUQuaW5jbHVkZXMoaSkpO1xyXG4gIH1cclxuXHJcbiAgYXV0aG9yaXphdGlvbkhlYWRlclZhbHVlKCk6IHN0cmluZyB7XHJcbiAgICByZXR1cm4gYCR7QXV0aFNlcnZpY2UudXNlci50b2tlbl90eXBlfSAke0F1dGhTZXJ2aWNlLnVzZXIuYWNjZXNzX3Rva2VufWA7XHJcbiAgfVxyXG5cclxuICBuYW1lKCk6IHN0cmluZyB7XHJcbiAgICAgcmV0dXJuIEF1dGhTZXJ2aWNlLnVzZXIgIT0gbnVsbCA/IEF1dGhTZXJ2aWNlLnVzZXIucHJvZmlsZS5naXZlbl9uYW1lIDogJyc7XHJcbiAgfVxyXG4gIHNldFVybCh1cmwpe1xyXG4gICAgbG9jYWxTdG9yYWdlLnNldEl0ZW0oXCJyZWRpcmVjdFVybFwiLHVybClcclxuICAgIFxyXG4gIH1cclxuICBnZXRVcmwoKXtcclxuICAgIHJldHVybiBsb2NhbFN0b3JhZ2UuZ2V0SXRlbShcInJlZGlyZWN0VXJsXCIpO1xyXG4gIH1cclxuICBzaWduaW5TaWxlbnRDYWxsYmFjaygpe1xyXG4gIHRoaXMubWFuYWdlci5zaWduaW5TaWxlbnRDYWxsYmFjaygpXHJcbiAgfVxyXG4gIGFzeW5jIHNpZ25vdXQoKSB7XHJcbiAgICBsb2NhbFN0b3JhZ2UuY2xlYXIoKTtcclxuICAgIGF3YWl0IHRoaXMubWFuYWdlci5zaWdub3V0UmVkaXJlY3QoKTtcclxuXHJcbiAgfVxyXG59XHJcblxyXG5leHBvcnQgZnVuY3Rpb24gZ2V0Q2xpZW50U2V0dGluZ3MoKTogVXNlck1hbmFnZXJTZXR0aW5ncyB7XHJcbiAgcmV0dXJuIHtcclxuICAgICAgICAvLyBhdXRob3JpdHk6IGVudmlyb25tZW50U2VydmljZS5nZXRJZGVudGl0eVNlcnZlclVybCgpLFxyXG4gICAgICAgIC8vIGNsaWVudF9pZDogJ2FuZ3VsYXJfc3BhJyxcclxuICAgICAgICAvLyByZWRpcmVjdF91cmk6IGVudmlyb25tZW50U2VydmljZS5nZXRJZGVudGl0eVNlcnZlclVybCgpICsnL0FkbWluL2F1dGhlbnRpY2F0aW9uL2F1dGgtY2FsbGJhY2snLFxyXG4gICAgICAgIC8vIHBvc3RfbG9nb3V0X3JlZGlyZWN0X3VyaTogZW52aXJvbm1lbnRTZXJ2aWNlLmdldEJhc2VVcmwoKSAsXHJcbiAgICAgICAgLy8gcmVzcG9uc2VfdHlwZTogXCJpZF90b2tlbiB0b2tlblwiLFxyXG4gICAgICAgIC8vIHNjb3BlOiBcIm9wZW5pZCBwcm9maWxlIGVtYWlsIElkZW50aXR5U2VydmVyQXBpXCIsXHJcbiAgICAgICAgLy8gZmlsdGVyUHJvdG9jb2xDbGFpbXM6IHRydWUsXHJcbiAgICAgICAgLy8gbG9hZFVzZXJJbmZvOiB0cnVlLFxyXG4gICAgICAgIC8vIGF1dG9tYXRpY1NpbGVudFJlbmV3OnRydWUsXHJcbiAgICAgICAgLy8gc2lsZW50X3JlZGlyZWN0X3VyaTogIGVudmlyb25tZW50U2VydmljZS5nZXRJZGVudGl0eVNlcnZlclVybCgpKycvYXNzZXRzL3NpbGVudC1jYWxsYmFjay5odG1sJyxcclxuICAgICAgICAvLyB1c2VyU3RvcmU6IG5ldyBXZWJTdG9yYWdlU3RhdGVTdG9yZSh7IHN0b3JlOiB3aW5kb3cubG9jYWxTdG9yYWdlIH0pXHJcbiAgICAgICAgfTtcclxufVxyXG4iXX0=
@@ -39,9 +39,9 @@ export class DepartmentComponent {
39
39
  let paramArray = [];
40
40
  let ResultModel = this.AddDepartmentForm.value;
41
41
  let AddModel = new DepartmentModel();
42
- AddModel.SamAccount = ResultModel.AddSamAccount;
43
- AddModel.DepartmentNameDTO.Arabic = ResultModel.AddName.ArabicValue;
44
- AddModel.DepartmentNameDTO.English = ResultModel.AddName.EnglishValue;
42
+ AddModel.samAccount = ResultModel.AddSamAccount;
43
+ AddModel.departmentNameDTO.Arabic = ResultModel.AddName.Arabic;
44
+ AddModel.departmentNameDTO.English = ResultModel.AddName.English;
45
45
  paramArray.push(AddModel);
46
46
  return paramArray;
47
47
  };
@@ -58,10 +58,10 @@ export class DepartmentComponent {
58
58
  let paramArray = [];
59
59
  let ResultModel = this.EditDepartmentForm.value;
60
60
  let EditModel = new DepartmentModel();
61
- EditModel.Id = this.DepartmentId;
62
- EditModel.DepartmentNameDTO.English = ResultModel.EditName.EnglishValue;
63
- EditModel.DepartmentNameDTO.Arabic = ResultModel.EditName.ArabicValue;
64
- EditModel.SamAccount = ResultModel.EditSamAccount;
61
+ EditModel.id = this.DepartmentId;
62
+ EditModel.departmentNameDTO.English = ResultModel.EditName.English;
63
+ EditModel.departmentNameDTO.Arabic = ResultModel.EditName.Arabic;
64
+ EditModel.samAccount = ResultModel.EditSamAccount;
65
65
  paramArray.push(EditModel);
66
66
  return paramArray;
67
67
  };
@@ -113,6 +113,7 @@ export class DepartmentComponent {
113
113
  }
114
114
  //Paging functions
115
115
  setDepartmentListResult(result) {
116
+ console.log(result);
116
117
  this.DepartmentPagingResult = result;
117
118
  this.DepartmentFilteredList = this.DepartmentPagingResult;
118
119
  this.utilityService.stopBlockUI();
@@ -141,6 +142,7 @@ export class DepartmentComponent {
141
142
  this.AddSamAccount.Value = null;
142
143
  this.modalService.open(addDepartmentModal);
143
144
  this.utilityService.stopBlockUI();
145
+ console.log(this.AddSamAccount);
144
146
  }
145
147
  //Edit department
146
148
  showEditDepartmentModal(departmentId, departmentIDEnc, editDepartmentModal) {
@@ -153,6 +155,7 @@ export class DepartmentComponent {
153
155
  this.EditDepartmentFormOptions.OnErrorHandler = this.onEditDepartmentError;
154
156
  this.EditDepartmentFormOptions.PagingReference = this.pagingElement;
155
157
  this.DepartmentId = departmentId;
158
+ this.requestHandlerService.getLuckyNumber().subscribe(() => { });
156
159
  this.departmentService.getEditDepartment(departmentIDEnc).subscribe((result) => {
157
160
  let department = result.model;
158
161
  let name = new EnglishArabicDTO();
@@ -198,7 +201,7 @@ export class DepartmentComponent {
198
201
  this.DepartmentFilteredList = this.DepartmentPagingResult;
199
202
  }
200
203
  ngOnDestroy() {
201
- this.requestHandlerService.destroyHandler();
204
+ this.requestHandlerService.onDestroy$.next();
202
205
  }
203
206
  }
204
207
  DepartmentComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.13", ngImport: i0, type: DepartmentComponent, deps: [{ token: i1.EnvironmentService }, { token: i2.DepartmentService }, { token: i3.NgbModal }, { token: i1.AuthService }, { token: i1.UtilityService }, { token: i4.PageInfoService }, { token: i1.RequestHandlerService }], target: i0.ɵɵFactoryTarget.Component });
@@ -216,4 +219,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.13", ngImpo
216
219
  type: ViewChild,
217
220
  args: ['ConfirmationModalControl', { static: false }]
218
221
  }] } });
219
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGVwYXJ0bWVudC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9iYnNmLWFkbWluLXBvcnRhbC9zcmMvbGliL1BhZ2VzL2RlcGFydG1lbnRzL2RlcGFydG1lbnQvZGVwYXJ0bWVudC5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9iYnNmLWFkbWluLXBvcnRhbC9zcmMvbGliL1BhZ2VzL2RlcGFydG1lbnRzL2RlcGFydG1lbnQvZGVwYXJ0bWVudC5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFzQixTQUFTLEVBQWEsTUFBTSxlQUFlLENBQUM7QUFDcEYsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQzNDLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxVQUFVLEVBQUUsVUFBVSxFQUFFLFNBQVMsRUFBRSwwQkFBMEIsRUFBRSxhQUFhLEVBQUUsY0FBYyxFQUFFLFdBQVcsRUFBRSx3QkFBd0IsRUFBRSxNQUFNLHlCQUF5QixDQUFDO0FBRWhNLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSxzREFBc0QsQ0FBQztBQUN2RixPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sb0RBQW9ELENBQUM7Ozs7Ozs7Ozs7Ozs7QUFVckYsTUFBTSxPQUFPLG1CQUFtQjtJQW9DOUIsWUFFVSxrQkFBcUMsRUFDckMsaUJBQW9DLEVBQ3BDLFlBQXNCLEVBQ3RCLFdBQXdCLEVBQ3hCLGNBQThCLEVBQzlCLGVBQStCLEVBQy9CLHFCQUEyQztRQU4zQyx1QkFBa0IsR0FBbEIsa0JBQWtCLENBQW1CO1FBQ3JDLHNCQUFpQixHQUFqQixpQkFBaUIsQ0FBbUI7UUFDcEMsaUJBQVksR0FBWixZQUFZLENBQVU7UUFDdEIsZ0JBQVcsR0FBWCxXQUFXLENBQWE7UUFDeEIsbUJBQWMsR0FBZCxjQUFjLENB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QUFDOztpSEF0UFUsbUJBQW1CO3FHQUFuQixtQkFBbUIsMlNDZmhDLHcrT0E0SkE7NEZEN0lhLG1CQUFtQjtrQkFKL0IsU0FBUzttQkFBQztvQkFDVCxRQUFRLEVBQUUsZ0JBQWdCO29CQUMxQixXQUFXLEVBQUUsNkJBQTZCO2lCQUMzQzt5UkFjOEQsYUFBYTtzQkFBekUsU0FBUzt1QkFBQyw2QkFBNkIsRUFBRSxFQUFFLE1BQU0sRUFBRSxLQUFLLEVBQUU7Z0JBbUJELHdCQUF3QjtzQkFBakYsU0FBUzt1QkFBQywwQkFBMEIsRUFBRSxFQUFFLE1BQU0sRUFBRSxLQUFLLEVBQUUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIEVsZW1lbnRSZWYsIE9uSW5pdCwgVmlld0NoaWxkLCBPbkRlc3Ryb3kgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgRm9ybUdyb3VwIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xyXG5pbXBvcnQgeyBFbmdsaXNoQXJhYmljRFRPLCBGaWx0ZXJJdGVtLCBGaWx0ZXJUeXBlLCBJbnB1dFR5cGUsIE11bHRpTGluZ3VhbFRleHRCb3hPcHRpb25zLCBQYWdpbmdPcHRpb25zLCBUZXh0Qm94T3B0aW9ucywgRm9ybU9wdGlvbnMsIENvbmZpcm1hdGlvbk1vZGFsT3B0aW9ucyB9IGZyb20gJ0BibnNpZ2h0cy9iYnNmLWNvbnRyb2xzJztcclxuaW1wb3J0IHsgRGVwYXJ0bWVudFNlcnZpY2UgfSBmcm9tICcuLi8uLi9zaGFyZWQvU2VydmljZXMvRGVwYXJ0bWVudFNlcnZpY2Uuc2VydmljZSc7XHJcbmltcG9ydCB7IERlcGFydG1lbnRNb2RlbCB9IGZyb20gJy4uLy4uL3NoYXJlZC9tb2RlbHMvRGVwYXJ0bWVudE1vZGVscy9EZXBhcnRtZW50TW9kZWwnO1xyXG5pbXBvcnQgeyBQYWdlSW5mb1NlcnZpY2UgfSBmcm9tICcuLi8uLi8uLi9fbWV0cm9uaWMvY29yZS9zZXJ2aWNlcy9wYWdlLWluZm8uc2VydmljZSc7XHJcbmltcG9ydCB7IE5nYk1vZGFsLCAgfSBmcm9tICdAbmctYm9vdHN0cmFwL25nLWJvb3RzdHJhcCc7XHJcbmltcG9ydCB7IEF1dGhTZXJ2aWNlLCBFbnZpcm9ubWVudFNlcnZpY2UsIFV0aWxpdHlTZXJ2aWNlLCBSZXF1ZXN0SGFuZGxlclNlcnZpY2UgfSBmcm9tICdAYm5zaWdodHMvYmJzZi11dGlsaXRpZXMnO1xyXG5pbXBvcnQgeyBPYnNlcnZhYmxlIH0gZnJvbSAncnhqcyc7XHJcbmltcG9ydCB7IFBhZ2luZ0NvbXBvbmVudCB9IGZyb20gJ0BibnNpZ2h0cy9iYnNmLWNvbnRyb2xzL2xpYi9jb250cm9scy9QYWdpbmcvUGFnaW5nLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IENvbmZpcm1hdGlvbk1vZGFsQ29tcG9uZW50IH0gZnJvbSAnQGJuc2lnaHRzL2Jic2YtY29udHJvbHMvbGliL2NvbnRyb2xzL0NvbmZpcm1hdGlvbk1vZGFsL0NvbmZpcm1hdGlvbk1vZGFsLmNvbXBvbmVudCc7XHJcbkBDb21wb25lbnQoe1xyXG4gIHNlbGVjdG9yOiAnbGliLWRlcGFydG1lbnQnLFxyXG4gIHRlbXBsYXRlVXJsOiAnLi9kZXBhcnRtZW50LmNvbXBvbmVudC5odG1sJyxcclxufSlcclxuZXhwb3J0IGNsYXNzIERlcGFydG1lbnRDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQgLE9uRGVzdHJveSB7XHJcbiAgLy9QYWdlIHJlcXVpcmVtZW50c1xyXG4gIFByb2R1Y3Rpb25Nb2RlOiBib29sZWFuO1xyXG4gIEFwaVVybCA9IHRoaXMuZGVwYXJ0bWVudFNlcnZpY2UuQXBpVXJsXHJcblxyXG4gIC8vRmlsdGVyIGFuZCBwYWdpbmcgY29tcG9uZW50c1xyXG4gIERlcGFydG1lbnRGb3JtID0gbmV3IEZvcm1Hcm91cCh7fSk7XHJcbiAgc2VhcmNoVGV4dEJveDogVGV4dEJveE9wdGlvbnM7XHJcbiAgVGV4dElucHV0RmlsdGVyOiBGaWx0ZXJJdGVtO1xyXG4gIElzRmlsdGVyTG9hZGVkOiBib29sZWFuID0gZmFsc2U7XHJcbiAgRGVwYXJ0bWVudFBhZ2luZzogUGFnaW5nT3B0aW9ucztcclxuICBEZXBhcnRtZW50UGFnaW5nUmVzdWx0OiBhbnlbXSA9IFtdO1xyXG4gIERlcGFydG1lbnRGaWx0ZXJlZExpc3Q6IGFueVtdID0gW107XHJcbiAgQFZpZXdDaGlsZCgnRGVwYXJ0bWVudFBhZ2luZ1ZpZXdFbGVtZW50JywgeyBzdGF0aWM6IGZhbHNlIH0pIHBhZ2luZ0VsZW1lbnQ6IFBhZ2luZ0NvbXBvbmVudDtcclxuXHJcbiAgLy9BZGQgTW9kZWwgQ29udHJvbHNcclxuICBBZGREZXBhcnRtZW50Rm9ybSA9IG5ldyBGb3JtR3JvdXAoe30pO1xyXG4gIEFkZERlcGFydG1lbnRGb3JtT3B0aW9uczogRm9ybU9wdGlvbnNcclxuICBBZGROYW1lOk11bHRpTGluZ3VhbFRleHRCb3hPcHRpb25zXHJcbiAgQWRkU2FtQWNjb3VudDogVGV4dEJveE9wdGlvbnM7XHJcblxyXG4gIC8vRWRpdCBNb2RlbCBDb250cm9sc1xyXG4gIEVkaXREZXBhcnRtZW50Rm9ybSA9IG5ldyBGb3JtR3JvdXAoe30pO1xyXG4gIEVkaXREZXBhcnRtZW50Rm9ybU9wdGlvbnM6IEZvcm1PcHRpb25zXHJcbiAgRWRpdE5hbWU6TXVsdGlMaW5ndWFsVGV4dEJveE9wdGlvbnNcclxuICBFZGl0U2FtQWNjb3VudDogVGV4dEJveE9wdGlvbnM7XHJcbiAgRGVwYXJ0bWVudElkOiBudW1iZXI7XHJcblxyXG4gIC8vZGVsZXRlICBNb2RlbCBDb250cm9sc1xyXG4gIGRlbGV0ZURlcGFydG1lbnRJZDogc3RyaW5nO1xyXG4gIERlbGV0ZUNvbmZpcm1hdGlvbk9wdGlvbnM6IENvbmZpcm1hdGlvbk1vZGFsT3B0aW9ucztcclxuICBkZWxldGVDb250cm9sTG9hZGVkOiBib29sZWFuID0gZmFsc2U7XHJcbiAgQFZpZXdDaGlsZCgnQ29uZmlybWF0aW9uTW9kYWxDb250cm9sJywgeyBzdGF0aWM6IGZhbHNlIH0pIENvbmZpcm1hdGlvbk1vZGFsQ29udHJvbDogQ29uZmlybWF0aW9uTW9kYWxDb21wb25lbnQ7XHJcblxyXG5cclxuXHJcbiAgY29uc3RydWN0b3JcclxuICAoXHJcbiAgICBwcml2YXRlIGVudmlyb25tZW50U2VydmljZTpFbnZpcm9ubWVudFNlcnZpY2UsXHJcbiAgICBwcml2YXRlIGRlcGFydG1lbnRTZXJ2aWNlOiBEZXBhcnRtZW50U2VydmljZSxcclxuICAgIHByaXZhdGUgbW9kYWxTZXJ2aWNlOiBOZ2JNb2RhbCxcclxuICAgIHByaXZhdGUgYXV0aFNlcnZpY2U6IEF1dGhTZXJ2aWNlLFxyXG4gICAgcHVibGljICB1dGlsaXR5U2VydmljZTogVXRpbGl0eVNlcnZpY2UsXHJcbiAgICBwcml2YXRlIHBhZ2VJbmZvU2VydmljZTpQYWdlSW5mb1NlcnZpY2UsXHJcbiAgICBwcml2YXRlIHJlcXVlc3RIYW5kbGVyU2VydmljZTpSZXF1ZXN0SGFuZGxlclNlcnZpY2UsXHJcbiAgICkgXHJcbiAge1xyXG4gIH1cclxuICAgIG5nT25Jbml0KCkge1xyXG4gICAgIC8vUGFnZSBoZWFkZXIgKGJyZWFkY3J1bWIgYW5kIHRpdGxlKVxyXG4gICAgIFBhZ2VJbmZvU2VydmljZS5QYWdlVGl0bGUgPSB0aGlzLnV0aWxpdHlTZXJ2aWNlLmdldFJlc291cmNlVmFsdWUoXCJEZXBhcnRtZW50c1wiKVxyXG4gICAgIFBhZ2VJbmZvU2VydmljZS5QYWdlQnJlYWRjcnVtYnMgPSBbXHJcbiAgICAgICB7IHRpdGxlOiB0aGlzLnV0aWxpdHlTZXJ2aWNlLmdldFJlc291cmNlVmFsdWUoXCJIb21lXCIpLCBwYXRoOiAnL0FkbWluL0hvbWUnLCBpc1NlcGFyYXRvcjogZmFsc2UsIGlzQWN0aXZlOiBmYWxzZSB9LFxyXG4gICAgICAgeyB0aXRsZTogJycsIHBhdGg6ICcnLCBpc1NlcGFyYXRvcjogdHJ1ZSwgaXNBY3RpdmU6IGZhbHNlIH1cclxuXHJcbiAgICAgXTtcclxuICAgICB0aGlzLnBhZ2VJbmZvU2VydmljZS5jYWxjdWxhdGVUaXRsZSgpO1xyXG4gICAgIHRoaXMucGFnZUluZm9TZXJ2aWNlLmNhbGN1bGF0ZUJyZWFkY3J1bWJzKCk7XHJcbiAgICAgdGhpcy5Qcm9kdWN0aW9uTW9kZSA9IHRoaXMuZW52aXJvbm1lbnRTZXJ2aWNlLmdldFByb2R1Y3Rpb25Nb2RlKCk7XHJcblxyXG4gICAgIC8vaW5pdGlhbGl6ZSBwYWdlXHJcbiAgICAgdGhpcy5pbml0aWFsaXplUGFnZSgpO1xyXG4gIH1cclxuXHJcblxyXG4gIC8vSW5pdGlhbGl6ZSBmaWx0ZXJzIGFuZCBwYWdpbmdcclxuICBpbml0aWFsaXplUGFnZSgpIHtcclxuICAgICAgLy8gVGV4dEJveCBpbml0XHJcbiAgICAgIHRoaXMuc2VhcmNoVGV4dEJveCA9IG5ldyBUZXh0Qm94T3B0aW9ucygpO1xyXG4gICAgICB0aGlzLnNlYXJjaFRleHRCb3guTmFtZSA9IFwic2VhcmNoVGV4dEJveFwiXHJcbiAgICAgIHRoaXMuc2VhcmNoVGV4dEJveC5IaWRlTGFiZWwgPSB0cnVlO1xyXG4gICAgICB0aGlzLnNlYXJjaFRleHRCb3guVHlwZSA9IElucHV0VHlwZS5UZXh0XHJcbiAgICAgIHRoaXMuc2VhcmNoVGV4dEJveC5QbGFjZWhvbGRlciA9IHRoaXMudXRpbGl0eVNlcnZpY2UuZ2V0UmVzb3VyY2VWYWx1ZShcIlNlYXJjaEJ5TmFtZVwiKVxyXG5cclxuICAgICAgdGhpcy5UZXh0SW5wdXRGaWx0ZXIgPSBuZXcgRmlsdGVySXRlbSgpO1xyXG4gICAgICB0aGlzLlRleHRJbnB1dEZpbHRlci5Gb3JtQ29udHJvbE5hbWUgPSBcInNlYXJjaFRleHRCb3hcIlxyXG4gICAgICB0aGlzLlRleHRJbnB1dEZpbHRlci5BY3Rpb25QYXJhbWV0ZXJOYW1lID0gXCJzZWFyY2hUZXh0XCJcclxuICAgICAgdGhpcy5UZXh0SW5wdXRGaWx0ZXIuSXNGb3JtQ29udHJvbCA9IHRydWVcclxuICAgICAgdGhpcy5UZXh0SW5wdXRGaWx0ZXIuRmlsdGVyVHlwZSA9IEZpbHRlclR5cGUuVGV4dEJveFxyXG5cclxuICAgICBcclxuICAgICAgdGhpcy5EZXBhcnRtZW50UGFnaW5nID0gbmV3IFBhZ2luZ09wdGlvbnMoKTtcclxuICAgICAgdGhpcy5EZXBhcnRtZW50UGFnaW5nLkFjdGlvblBvc3RVUkwgPSAgdGhpcy5BcGlVcmwgKyAnR2V0RGVwYXJ0bWVudHNCeUZpbHRlcic7XHJcbiAgICAgIHRoaXMuRGVwYXJ0bWVudFBhZ2luZy5PbktleVByZXNzRmlsdGVyc0NvbnRyb2xOYW1lcyA9IFtcInNlYXJjaFRleHRCb3hcIl1cclxuICAgICAgdGhpcy5EZXBhcnRtZW50UGFnaW5nLkZpbHRlcnMgPSBbdGhpcy5UZXh0SW5wdXRGaWx0ZXJdXHJcbiAgICAgIHRoaXMuRGVwYXJ0bWVudFBhZ2luZy5WYWxpZGF0aW9uVG9rZW4gPSB0aGlzLmF1dGhTZXJ2aWNlLmF1dGhvcml6YXRpb25IZWFkZXJWYWx1ZSgpXHJcbiAgICAgIHRoaXMuSXNGaWx0ZXJMb2FkZWQgPSB0cnVlO1xyXG4gICAgICBcclxuICB9XHJcblxyXG4gIC8vUGFnaW5nIGZ1bmN0aW9uc1xyXG4gIHNldERlcGFydG1lbnRMaXN0UmVzdWx0KHJlc3VsdCkge1xyXG4gICAgdGhpcy5EZXBhcnRtZW50UGFnaW5nUmVzdWx0PSByZXN1bHRcclxuICAgIHRoaXMuRGVwYXJ0bWVudEZpbHRlcmVkTGlzdD10aGlzLkRlcGFydG1lbnRQYWdpbmdSZXN1bHQ7XHJcbiAgICB0aGlzLnV0aWxpdHlTZXJ2aWNlLnN0b3BCbG9ja1VJKClcclxuICB9XHJcblxyXG5cclxuICAvL0FkZCBkZXBhcnRtZW50XHJcbiAgc2hvd0FkZERlcGFydG1lbnRNb2RhbChhZGREZXBhcnRtZW50TW9kYWwpIHtcclxuICAgIHRoaXMudXRpbGl0eVNlcnZpY2Uuc3RhcnRCbG9ja1VJKClcclxuICAgIHRoaXMuQWRkRGVwYXJ0bWVudEZvcm0gPSBuZXcgRm9ybUdyb3VwKHt9KVxyXG5cclxuICAgIHRoaXMuQWRkRGVwYXJ0bWVudEZvcm1PcHRpb25zID0gbmV3IEZvcm1PcHRpb25zKCk7XHJcbiAgICB0aGlzLkFkZERlcGFydG1lbnRGb3JtT3B0aW9ucy5Gb3JtR3JvdXAgPSB0aGlzLkFkZERlcGFydG1lbnRGb3JtXHJcbiAgICB0aGlzLkFkZERlcGFydG1lbnRGb3JtT3B0aW9ucy5HZXRNb2RlbEZ1bmN0aW9uID0gdGhpcy5nZXRBZGREZXBhcnRtZW50TW9kZWw7XHJcbiAgICB0aGlzLkFkZERlcGFydG1lbnRGb3JtT3B0aW9ucy5TZXJ2aWNlU3VibWl0RnVuY3Rpb24gPSB0aGlzLmdldEFkZERlcGFydG1lbnRGdW5jdGlvbjtcclxuICAgIHRoaXMuQWRkRGVwYXJ0bWVudEZvcm1PcHRpb25zLk9uU3VjY2Vzc0hhbmRsZXIgPSB0aGlzLm9uQWRkRGVwYXJ0bWVudFN1Y2Nlc3M7XHJcbiAgICB0aGlzLkFkZERlcGFydG1lbnRGb3JtT3B0aW9ucy5PbkVycm9ySGFuZGxlciA9IHRoaXMub25BZGREZXBhcnRtZW50RXJyb3I7XHJcbiAgICB0aGlzLkFkZERlcGFydG1lbnRGb3JtT3B0aW9ucy5QYWdpbmdSZWZlcmVuY2UgPSB0aGlzLnBhZ2luZ0VsZW1lbnQgIFxyXG5cclxuICAgIHRoaXMuQWRkTmFtZSA9IG5ldyBNdWx0aUxpbmd1YWxUZXh0Qm94T3B0aW9ucygpO1xyXG4gICAgdGhpcy5BZGROYW1lLk5hbWUgPSBcIkFkZE5hbWVcIjtcclxuICAgIHRoaXMuQWRkTmFtZS5BcmFiaWNMYWJlbEtleSA9IFwiTmFtZUluQXJhYmljXCI7XHJcbiAgICB0aGlzLkFkZE5hbWUuRW5nbGlzaExhYmVsS2V5ID0gXCJOYW1lSW5FbmdsaXNoXCI7XHJcbiAgICB0aGlzLkFkZE5hbWUuSXNSZXF1aXJlZCA9IHRydWU7XHJcbiAgICB0aGlzLkFkZE5hbWUuVmFsdWUgPSBudWxsO1xyXG4gICAgXHJcbiAgICB0aGlzLkFkZFNhbUFjY291bnQgPSBuZXcgVGV4dEJveE9wdGlvbnMoKTtcclxuICAgIHRoaXMuQWRkU2FtQWNjb3VudC5OYW1lID0gXCJBZGRTYW1BY2NvdW50XCI7XHJcbiAgICB0aGlzLkFkZFNhbUFjY291bnQuTGFiZWxLZXkgPSBcIlNhbUFjY291bnRcIjtcclxuICAgIHRoaXMuQWRkU2FtQWNjb3VudC5UeXBlID0gSW5wdXRUeXBlLlRleHQ7XHJcbiAgICB0aGlzLkFkZFNhbUFjY291bnQuVmFsdWUgPSBudWxsO1xyXG5cclxuICAgIHRoaXMubW9kYWxTZXJ2aWNlLm9wZW4oYWRkRGVwYXJ0bWVudE1vZGFsKTtcclxuICAgIHRoaXMudXRpbGl0eVNlcnZpY2Uuc3RvcEJsb2NrVUkoKTtcclxuICB9XHJcblxyXG4gIGdldEFkZERlcGFydG1lbnRNb2RlbCA9ICgpID0+IHtcclxuICAgIGxldCBwYXJhbUFycmF5OiBhbnlbXSA9IFtdO1xyXG4gICAgbGV0IFJlc3VsdE1vZGVsID0gdGhpcy5BZGREZXBhcnRtZW50Rm9ybS52YWx1ZTtcclxuICAgIGxldCBBZGRNb2RlbDogRGVwYXJ0bWVudE1vZGVsID0gbmV3IERlcGFydG1lbnRNb2RlbCgpO1xyXG4gICAgQWRkTW9kZWwuU2FtQWNjb3VudCA9IFJlc3VsdE1vZGVsLkFkZFNhbUFjY291bnQ7XHJcbiAgICBBZGRNb2RlbC5EZXBhcnRtZW50TmFtZURUTy5BcmFiaWMgPSBSZXN1bHRNb2RlbC5BZGROYW1lLkFyYWJpY1ZhbHVlO1xyXG4gICAgQWRkTW9kZWwuRGVwYXJ0bWVudE5hbWVEVE8uRW5nbGlzaCA9IFJlc3VsdE1vZGVsLkFkZE5hbWUuRW5nbGlzaFZhbHVlO1xyXG4gICAgcGFyYW1BcnJheS5wdXNoKEFkZE1vZGVsKTtcclxuICAgIHJldHVybiBwYXJhbUFycmF5O1xyXG4gIH1cclxuXHJcbiAgZ2V0QWRkRGVwYXJ0bWVudEZ1bmN0aW9uID0gKEFkZE1vZGVsKTogT2JzZXJ2YWJsZTxhbnk+ID0+IHtcclxuICAgIHJldHVybiB0aGlzLmRlcGFydG1lbnRTZXJ2aWNlLmFkZERlcGFydG1lbnQoQWRkTW9kZWwpXHJcbiAgfVxyXG4gIG9uQWRkRGVwYXJ0bWVudFN1Y2Nlc3MgPSAocmVzdWx0KSA9PiB7XHJcbiAgICBjb25zb2xlLmxvZyhyZXN1bHQpO1xyXG4gIH1cclxuICBvbkFkZERlcGFydG1lbnRFcnJvciA9IChlcnJvcikgPT4ge1xyXG4gICAgY29uc29sZS5sb2coZXJyb3IpO1xyXG4gIH1cclxuICAvL0VkaXQgZGVwYXJ0bWVudFxyXG4gIHNob3dFZGl0RGVwYXJ0bWVudE1vZGFsKGRlcGFydG1lbnRJZDogbnVtYmVyLGRlcGFydG1lbnRJREVuYzogc3RyaW5nLCBlZGl0RGVwYXJ0bWVudE1vZGFsKSB7XHJcbiAgICB0aGlzLkVkaXREZXBhcnRtZW50Rm9ybSA9IG5ldyBGb3JtR3JvdXAoe30pO1xyXG5cclxuICAgIHRoaXMuRWRpdERlcGFydG1lbnRGb3JtT3B0aW9ucyA9IG5ldyBGb3JtT3B0aW9ucygpO1xyXG4gICAgdGhpcy5FZGl0RGVwYXJ0bWVudEZvcm1PcHRpb25zLkZvcm1Hcm91cCA9IHRoaXMuRWRpdERlcGFydG1lbnRGb3JtXHJcbiAgICB0aGlzLkVkaXREZXBhcnRtZW50Rm9ybU9wdGlvbnMuR2V0TW9kZWxGdW5jdGlvbiA9IHRoaXMuZ2V0RWRpdERlcGFydG1lbnRNb2RlbDtcclxuICAgIHRoaXMuRWRpdERlcGFydG1lbnRGb3JtT3B0aW9ucy5TZXJ2aWNlU3VibWl0RnVuY3Rpb24gPSB0aGlzLmdldEVkaXREZXBhcnRtZW50RnVuY3Rpb247XHJcbiAgICB0aGlzLkVkaXREZXBhcnRtZW50Rm9ybU9wdGlvbnMuT25TdWNjZXNzSGFuZGxlciA9IHRoaXMub25FZGl0RGVwYXJ0bWVudFN1Y2Nlc3M7XHJcbiAgICB0aGlzLkVkaXREZXBhcnRtZW50Rm9ybU9wdGlvbnMuT25FcnJvckhhbmRsZXIgPSB0aGlzLm9uRWRpdERlcGFydG1lbnRFcnJvcjtcclxuICAgIHRoaXMuRWRpdERlcGFydG1lbnRGb3JtT3B0aW9ucy5QYWdpbmdSZWZlcmVuY2UgPSB0aGlzLnBhZ2luZ0VsZW1lbnRcclxuXHJcbiAgICB0aGlzLkRlcGFydG1lbnRJZCA9IGRlcGFydG1lbnRJZDtcclxuICAgIHRoaXMuZGVwYXJ0bWVudFNlcnZpY2UuZ2V0RWRpdERlcGFydG1lbnQoZGVwYXJ0bWVudElERW5jKS5zdWJzY3JpYmUoKHJlc3VsdDogYW55KSA9PiB7XHJcbiAgICAgIGxldCBkZXBhcnRtZW50ID0gcmVzdWx0Lm1vZGVsIGFzIGFueTtcclxuXHJcbiAgICAgIGxldCBuYW1lID0gbmV3IEVuZ2xpc2hBcmFiaWNEVE8oKTtcclxuICAgICAgbmFtZS5BcmFiaWMgPSBkZXBhcnRtZW50LmRlcGFydG1lbnROYW1lRFRPLmFyYWJpYztcclxuICAgICAgbmFtZS5FbmdsaXNoID0gZGVwYXJ0bWVudC5kZXBhcnRtZW50TmFtZURUTy5lbmdsaXNoO1xyXG5cclxuICAgICAgdGhpcy5FZGl0TmFtZSA9IG5ldyBNdWx0aUxpbmd1YWxUZXh0Qm94T3B0aW9ucygpO1xyXG4gICAgICB0aGlzLkVkaXROYW1lLk5hbWUgPSBcIkVkaXROYW1lXCI7XHJcbiAgICAgIHRoaXMuRWRpdE5hbWUuQXJhYmljTGFiZWxLZXkgPSBcIk5hbWVJbkFyYWJpY1wiO1xyXG4gICAgICB0aGlzLkVkaXROYW1lLkVuZ2xpc2hMYWJlbEtleSA9IFwiTmFtZUluRW5nbGlzaFwiO1xyXG4gICAgICB0aGlzLkVkaXROYW1lLklzUmVxdWlyZWQgPSB0cnVlO1xyXG4gICAgICB0aGlzLkVkaXROYW1lLlZhbHVlID0gbmFtZTtcclxuXHJcblxyXG4gICAgICB0aGlzLkVkaXRTYW1BY2NvdW50ID0gbmV3IFRleHRCb3hPcHRpb25zKCk7XHJcbiAgICAgIHRoaXMuRWRpdFNhbUFjY291bnQuTmFtZSA9IFwiRWRpdFNhbUFjY291bnRcIjtcclxuICAgICAgdGhpcy5FZGl0U2FtQWNjb3VudC5MYWJlbEtleSA9IFwiU2FtQWNjb3VudFwiO1xyXG4gICAgICB0aGlzLkVkaXRTYW1BY2NvdW50LlR5cGUgPSBJbnB1dFR5cGUuVGV4dDtcclxuICAgICAgdGhpcy5FZGl0U2FtQWNjb3VudC5WYWx1ZSA9IGRlcGFydG1lbnQuc2FtQWNjb3VudDtcclxuXHJcbiAgICAgIHRoaXMubW9kYWxTZXJ2aWNlLm9wZW4oZWRpdERlcGFydG1lbnRNb2RhbCk7XHJcblxyXG4gICAgfSk7XHJcblxyXG4gIH1cclxuXHJcbiAgZ2V0RWRpdERlcGFydG1lbnRNb2RlbCA9ICgpID0+IHtcclxuICAgIGxldCBwYXJhbUFycmF5OiBhbnlbXSA9IFtdO1xyXG4gICAgbGV0IFJlc3VsdE1vZGVsID0gdGhpcy5FZGl0RGVwYXJ0bWVudEZvcm0udmFsdWU7XHJcbiAgICBsZXQgRWRpdE1vZGVsOiBEZXBhcnRtZW50TW9kZWwgPSBuZXcgRGVwYXJ0bWVudE1vZGVsKCk7XHJcbiAgICBFZGl0TW9kZWwuSWQgPSB0aGlzLkRlcGFydG1lbnRJZDtcclxuICAgIEVkaXRNb2RlbC5EZXBhcnRtZW50TmFtZURUTy5FbmdsaXNoID0gUmVzdWx0TW9kZWwuRWRpdE5hbWUuRW5nbGlzaFZhbHVlO1xyXG4gICAgRWRpdE1vZGVsLkRlcGFydG1lbnROYW1lRFRPLkFyYWJpYyA9IFJlc3VsdE1vZGVsLkVkaXROYW1lLkFyYWJpY1ZhbHVlO1xyXG4gICAgRWRpdE1vZGVsLlNhbUFjY291bnQgPSBSZXN1bHRNb2RlbC5FZGl0U2FtQWNjb3VudDtcclxuICAgIHBhcmFtQXJyYXkucHVzaChFZGl0TW9kZWwpO1xyXG4gICAgcmV0dXJuIHBhcmFtQXJyYXk7XHJcbiAgfVxyXG5cclxuICBnZXRFZGl0RGVwYXJ0bWVudEZ1bmN0aW9uID0gKEVkaXRNb2RlbCk6IE9ic2VydmFibGU8YW55PiA9PiB7XHJcbiAgICByZXR1cm4gdGhpcy5kZXBhcnRtZW50U2VydmljZS5lZGl0RGVwYXJ0bWVudChFZGl0TW9kZWwpXHJcbiAgfVxyXG4gIG9uRWRpdERlcGFydG1lbnRTdWNjZXNzID0gKHJlc3VsdCkgPT4ge1xyXG4gICAgY29uc29sZS5sb2cocmVzdWx0KTtcclxuICB9XHJcbiAgb25FZGl0RGVwYXJ0bWVudEVycm9yID0gKGVycm9yKSA9PiB7XHJcbiAgICBjb25zb2xlLmxvZyhlcnJvcik7XHJcbiAgfVxyXG5cclxuICAvL0RlbGV0ZSBkZXBhcnRtZW50XHJcbiAgc2hvd0RlbGV0ZURlcGFydG1lbnRNb2RhbChkZXBhcnRtZW50SWRFbmM6IGFueSkge1xyXG4gICAgdGhpcy5kZWxldGVEZXBhcnRtZW50SWQgPSBkZXBhcnRtZW50SWRFbmM7XHJcblxyXG4gICAgLy9hcnJheSBzZW50IHRvIHNlcnZpY2UgZnVuY3Rpb25cclxuICAgIGxldCBwYXJhbUFycmF5OiBhbnlbXSA9IFtdO1xyXG4gICAgcGFyYW1BcnJheS5wdXNoKHRoaXMuZGVsZXRlRGVwYXJ0bWVudElkKTtcclxuXHJcbiAgICB0aGlzLkRlbGV0ZUNvbmZpcm1hdGlvbk9wdGlvbnMgPSBuZXcgQ29uZmlybWF0aW9uTW9kYWxPcHRpb25zKCk7XHJcbiAgICB0aGlzLkRlbGV0ZUNvbmZpcm1hdGlvbk9wdGlvbnMuU2VydmljZVN1Ym1pdEZ1bmN0aW9uID0gdGhpcy5kZWxldGVEZXBhcnRtZW50O1xyXG4gICAgdGhpcy5EZWxldGVDb25maXJtYXRpb25PcHRpb25zLlNlcnZpY2VTdWJtaXRNb2RlbCA9IHBhcmFtQXJyYXk7XHJcbiAgICB0aGlzLkRlbGV0ZUNvbmZpcm1hdGlvbk9wdGlvbnMuUGFnaW5nUmVmZXJlbmNlID0gdGhpcy5wYWdpbmdFbGVtZW50O1xyXG5cclxuICAgIHRoaXMuZGVsZXRlQ29udHJvbExvYWRlZCA9IHRydWU7XHJcbiAgICBzZXRUaW1lb3V0KCgpID0+IHtcclxuICAgICAgdGhpcy5Db25maXJtYXRpb25Nb2RhbENvbnRyb2wuc2hvd01vZGFsKCk7XHJcbiAgICB9LCAyMDApO1xyXG4gIH1cclxuXHJcbiAgZGVsZXRlRGVwYXJ0bWVudCA9IChpZDogc3RyaW5nKTogT2JzZXJ2YWJsZTxhbnk+ID0+IHtcclxuICAgIHJldHVybiB0aGlzLmRlcGFydG1lbnRTZXJ2aWNlLmRlbGV0ZURlcGFydG1lbnQoaWQpO1xyXG4gIH1cclxuXHJcbiAgLyoqRnVuY3Rpb25OYW1lOmZpbHRlckRlcGFydG1lbnRMaXN0ICovXHJcbiAgLyoqRGVjbGFyYXRpb246ZnVuY3Rpb24gdG8gZmlsdGVyIERlcGFydG1lbnRMaXN0IGluIGNsaWVudC1zaWRlICovXHJcbiAgLyoqUGFyYW1ldGVyczoqL1xyXG4gIC8qKnNlYXJjaFZhbHVlOiBjdXJyZW50IHZhbHVlIG9mIHNlYXJjaCBib3gqL1xyXG4gIGZpbHRlckRlcGFydG1lbnRMaXN0KHNlYXJjaFZhbHVlKXtcclxuICAgIGlmKHNlYXJjaFZhbHVlKVxyXG4gICAgdGhpcy5EZXBhcnRtZW50RmlsdGVyZWRMaXN0PSB0aGlzLkRlcGFydG1lbnRQYWdpbmdSZXN1bHQuZmlsdGVyKGl0ZW0gPT4gaXRlbS5kZXBhcnRtZW50TmFtZS50b0xvd2VyQ2FzZSgpLmluY2x1ZGVzKHNlYXJjaFZhbHVlLnRvTG93ZXJDYXNlKCkpKTtcclxuICAgIGVsc2VcclxuICAgIHRoaXMuRGVwYXJ0bWVudEZpbHRlcmVkTGlzdD0gdGhpcy5EZXBhcnRtZW50UGFnaW5nUmVzdWx0XHJcbiAgfVxyXG5cclxuICBuZ09uRGVzdHJveSgpOiB2b2lkIHtcclxuICAgIHRoaXMucmVxdWVzdEhhbmRsZXJTZXJ2aWNlLmRlc3Ryb3lIYW5kbGVyKCk7XHJcbiAgfVxyXG5cclxufVxyXG4iLCI8YmxvY2stdWk+PC9ibG9jay11aT5cclxuPCEtLSBQYWdlIENvbnRlbnQgLS0+XHJcbjxkaXYgIGNsYXNzPVwiY29udGFpbmVyLWZsdWlkXCI+XHJcbiAgPGRpdiBjbGFzcz1cImNhcmQgY2FyZC1jdXN0b20taFwiPlxyXG4gICAgPGRpdiBjbGFzcz1cImNhcmQtaGVhZGVyIGJvcmRlci0wIHB0LTVcIj5cclxuICAgICAgPGRpdiBjbGFzcz1cImNhcmQtdGl0bGUgYWxpZ24taXRlbXMtc3RhcnQgZmxleC1jb2x1bW5cIiAqbmdJZj1cIklzRmlsdGVyTG9hZGVkXCI+XHJcbiAgICAgICAgICA8QkJTRi1UZXh0Qm94IFtvcHRpb25zXT1cInNlYXJjaFRleHRCb3hcIiAgKE9uQ2hhbmdlKT1cImZpbHRlckRlcGFydG1lbnRMaXN0KCRldmVudClcIiBbZ3JvdXBdPVwiRGVwYXJ0bWVudEZvcm1cIj48L0JCU0YtVGV4dEJveD5cclxuICAgICAgPC9kaXY+XHJcbiAgICAgIDxkaXYgY2xhc3M9XCJjYXJkLXRvb2xiYXJcIj5cclxuICAgICAgICA8IS0tIGJlZ2luOjpNZW51IC0tPlxyXG4gICAgICAgIDxidXR0b24gdHlwZT1cImJ1dHRvblwiIGNsYXNzPVwiYnRuIGJ0bi1zbSBidG4tcHJpbWFyeVwiIHRpdGxlPVwiQWRkXCIgKGNsaWNrKT1cInNob3dBZGREZXBhcnRtZW50TW9kYWwoQWRkRGVwYXJ0bWVudE1vZGFsKVwiPlxyXG4gICAgICAgICAgPGkgY2xhc3M9XCJmYXMgZmEtcGx1cyBtZS0xXCI+PC9pPlxyXG4gICAgICAgICAge3t1dGlsaXR5U2VydmljZS5nZXRSZXNvdXJjZVZhbHVlKFwiQWRkXCIpfX1cclxuICAgICAgICA8L2J1dHRvbj5cclxuXHJcbiAgICAgICAgPCEtLSBlbmQ6Ok1lbnUgLS0+XHJcbiAgICAgIDwvZGl2PlxyXG4gICAgPC9kaXY+XHJcbiAgICA8ZGl2IGNsYXNzPVwiY2FyZC1ib2R5IHB5LTNcIj5cclxuICAgICAgPGRpdiBjbGFzcz1cInRhYmxlLXJlc3BvbnNpdmVcIj5cclxuICAgICAgICA8IS0tYmVnaW46OlBlcm1pc3Npb24gbGlzdC0tPlxyXG4gICAgICAgIDx0YWJsZSBjbGFzcz1cInRhYmxlIGFsaWduLW1pZGRsZSB0YWJsZS1yb3ctZGFzaGVkIGZzLTYgZ3ktNSBkYXRhVGFibGUgbm8tZm9vdGVyXCI+XHJcbiAgICAgICAgICA8dGhlYWQ+XHJcbiAgICAgICAgICAgIDx0ciBjbGFzcz1cInRleHQtc3RhcnQgdGV4dC1ncmF5LTQwMCBmdy1ib2xkZXIgZnMtNyB0ZXh0LXVwcGVyY2FzZSBncy0wXCI+XHJcbiAgICAgICAgICAgICAgPHRoIGNsYXNzPVwibWluLXctMTUwcHhcIj57e3V0aWxpdHlTZXJ2aWNlLmdldFJlc291cmNlVmFsdWUoXCJOYW1lXCIpfX08L3RoPlxyXG4gICAgICAgICAgICAgIDx0aCBjbGFzcz1cIm1pbi13LTE1MHB4XCI+e3t1dGlsaXR5U2VydmljZS5nZXRSZXNvdXJjZVZhbHVlKFwiU2FtQWNjb3VudFwiKX19PC90aD5cclxuICAgICAgICAgICAgICA8dGggY2xhc3M9XCJtaW4tdy0xNTBweFwiPnt7dXRpbGl0eVNlcnZpY2UuZ2V0UmVzb3VyY2VWYWx1ZShcIlVzZXJzQ291bnRcIil9fTwvdGg+XHJcbiAgICAgICAgICAgICAgPHRoIGNsYXNzPVwibWluLXctNTBweFwiPnt7dXRpbGl0eVNlcnZpY2UuZ2V0UmVzb3VyY2VWYWx1ZShcIkFjdGlvblwiKX19PC90aD5cclxuICAgICAgICAgICAgPC90cj5cclxuICAgICAgICAgIDwvdGhlYWQ+XHJcbiAgICAgICAgICA8dGJvZHkgaWQ9XCJsaXN0aW5nQ29udGFpbmVyXCIgY2xhc3M9XCJmdy1ib2xkIHRleHQtZ3JheS02MDAgYm9yZGVyLTBcIj5cclxuXHJcbiAgICAgICAgICAgIDx0ciAqbmdGb3I9XCJsZXQgRGVwYXJ0bWVudCBvZiBEZXBhcnRtZW50RmlsdGVyZWRMaXN0XCI+XHJcblxyXG4gICAgICAgICAgICAgIDx0ZD5cclxuICAgICAgICAgICAgICAgIDxhIGhyZWY9XCJqYXZhc2NyaXB0OnZvaWQoMClcIiBbcm91dGVyTGlua109XCJbJy9BZG1pbi9EZXBhcnRtZW50cy9EZXBhcnRtZW50SW5mbycsRGVwYXJ0bWVudC5pZEVuY3J5cHRlZF1cIiByb3V0ZXJMaW5rQWN0aXZlPVwicm91dGVyLWxpbmstYWN0aXZlXCJcclxuICAgICAgICAgICAgICAgICAgIGNsYXNzPVwidGV4dC1kYXJrXCI+e3tEZXBhcnRtZW50LmRlcGFydG1lbnROYW1lfX08L2E+XHJcblxyXG4gICAgICAgICAgICAgIDwvdGQ+XHJcbiAgICAgICAgICAgICAgPHRkPnt7RGVwYXJ0bWVudC5zYW1BY2NvdW50fX08L3RkPlxyXG4gICAgICAgICAgICAgIDx0ZD57e0RlcGFydG1lbnQudXNlcnNDb3VudH19PC90ZD5cclxuICAgICAgICAgICAgICA8dGQ+XHJcbiAgICAgICAgICAgICAgICA8ZGl2PlxyXG4gICAgICAgICAgICAgICAgICA8YnV0dG9uIG1hdC1idXR0b24gW21hdE1lbnVUcmlnZ2VyRm9yXT1cIm1lbnVcIiBjbGFzcz1cImJ0biBidG4tc20gYnRuLWljb24gYnRuLWxpZ2h0IGJ0bi1hY3RpdmUtbGlnaHQtcHJpbWFyeVwiPlxyXG4gICAgICAgICAgICAgICAgICAgIDxpIGNsYXNzPVwiZmEgZmEtZWxsaXBzaXMtaFwiIGFyaWEtaGlkZGVuPVwidHJ1ZVwiPjwvaT5cclxuICAgICAgICAgICAgICAgICAgPC9idXR0b24+XHJcbiAgICAgICAgICAgICAgICAgIDxtYXQtbWVudSAjbWVudT1cIm1hdE1lbnVcIj5cclxuICAgICAgICAgICAgICAgICAgICA8YnV0dG9uIGNsYXNzPVwiZHJvcC1pdGVtIHB4LTNcIiBuZ2JEcm9wZG93bkl0ZW1cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIChjbGljayk9XCJzaG93RWRpdERlcGFydG1lbnRNb2RhbChEZXBhcnRtZW50LmlkLERlcGFydG1lbnQuaWRFbmNyeXB0ZWQsRWRpdERlcGFydG1lbnRNb2RhbClcIj5cclxuICAgICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwiZHJvcC1saW5rIHB4LTNcIj57e3V0aWxpdHlTZXJ2aWNlLmdldFJlc291cmNlVmFsdWUoXCJFZGl0XCIpfX08L3NwYW4+XHJcbiAgICAgICAgICAgICAgICAgICAgPC9idXR0b24+XHJcbiAgICAgICAgICAgICAgICAgICAgPGEgbmdiRHJvcGRvd25JdGVtIGNsYXNzPVwiZHJvcC1pdGVtIHB4LTNcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgIChjbGljayk9XCJzaG93RGVsZXRlRGVwYXJ0bWVudE1vZGFsKERlcGFydG1lbnQuaWRFbmNyeXB0ZWQpXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cImRyb3AtbGluayBweC0zXCI+e3t1dGlsaXR5U2VydmljZS5nZXRSZXNvdXJjZVZhbHVlKFwiRGVsZXRlXCIpfX08L3NwYW4+XHJcbiAgICAgICAgICAgICAgICAgICAgPC9hPlxyXG4gICAgICAgICAgICAgICAgICA8L21hdC1tZW51PlxyXG4gICAgICAgICAgICAgICAgPC9kaXY+XHJcblxyXG4gICAgICAgICAgICAgIDwvdGQ+XHJcbiAgICAgICAgICAgIDwvdHI+XHJcbiAgICAgICAgICAgIDx0ciAqbmdJZj1cIkRlcGFydG1lbnRGaWx0ZXJlZExpc3QubGVuZ3RoID09IDBcIj5cclxuICAgICAgICAgICAgICA8dGQgY29sc3Bhbj1cIjRcIj5cclxuICAgICAgICAgICAgICAgIDxsaWItZW1wdHktZGF0YT48L2xpYi1lbXB0eS1kYXRhPlxyXG4gICAgICAgICAgICAgIDwvdGQ+XHJcbiAgICAgICAgICAgIDwvdHI+XHJcbiAgICAgICAgICA8L3Rib2R5PlxyXG4gICAgICAgIDwvdGFibGU+XHJcblxyXG4gICAgICAgIDwhLS1lbmQ6OlBlcm1pc3Npb24gbGlzdC0tPlxyXG4gICAgICA8L2Rpdj5cclxuXHJcbiAgICA8L2Rpdj5cclxuICAgIDxkaXYgY2xhc3M9XCJjYXJkLWZvb3RlciBib3JkZXItMFwiPlxyXG4gICAgICA8QkJTRi1QYWdpbmcgKEl0ZW1zKT1cInNldERlcGFydG1lbnRMaXN0UmVzdWx0KCRldmVudClcIiAqbmdJZj1cIklzRmlsdGVyTG9hZGVkXCJcclxuICAgICAgICAgICAgICAgICAgIFtvcHRpb25zXT1cIkRlcGFydG1lbnRQYWdpbmdcIiBbZ3JvdXBdPVwiRGVwYXJ0bWVudEZvcm1cIiAjRGVwYXJ0bWVudFBhZ2luZ1ZpZXdFbGVtZW50PlxyXG4gICAgICA8L0JCU0YtUGFnaW5nPlxyXG4gICAgPC9kaXY+XHJcbiAgPC9kaXY+XHJcblxyXG48L2Rpdj5cclxuXHJcbjwhLS1hZGQgTW9kYWwtLT5cclxuPG5nLXRlbXBsYXRlICNBZGREZXBhcnRtZW50TW9kYWwgbGV0LW1vZGFsPlxyXG4gIDxkaXYgY2xhc3M9XCJtb2RhbC1oZWFkZXIgcGItMCBib3JkZXItMCBqdXN0aWZ5LWNvbnRlbnQtZW5kXCI+XHJcbiAgICA8aDUgY2xhc3M9XCJtb2RhbC10aXRsZVwiIGlkPVwiZXhhbXBsZU1vZGFsTGFiZWxcIj48L2g1PlxyXG4gICAgPGJ1dHRvbiB0eXBlPVwiYnV0dG9uXCIgZGF0YS1kaXNtaXNzPVwibW9kYWxcIiBhcmlhLWxhYmVsPVwiQ2xvc2VcIiBjbGFzcz1cImJ0biBidG4tc20gYnRuLWljb24gYnRuLWFjdGl2ZS1jb2xvci1wcmltYXJ5XCIgKGNsaWNrKT1cIm1vZGFsLmRpc21pc3MoKVwiPlxyXG4gICAgICA8c3BhbiBjbGFzcz1cInN2Zy1pY29uIHN2Zy1pY29uLTFcIj5cclxuICAgICAgICA8c3BhbiBbaW5saW5lU1ZHXT1cIicuL3NyYy9hc3NldHMvaW1hZ2VzL2FycjA2MS5zdmcnXCI+PC9zcGFuPlxyXG4gICAgICA8L3NwYW4+XHJcbiAgICA8L2J1dHRvbj5cclxuICA8L2Rpdj5cclxuICA8ZGl2IGNsYXNzPVwibW9kYWwtYm9keSBzY3JvbGwteSBweC0xMCBweC1sZy0xNSBwdC0wIHBiLTE1XCI+XHJcbiAgICA8ZGl2IGNsYXNzPVwibWItMTMgdGV4dC1jZW50ZXJcIj5cclxuICAgICAgPGgxIGNsYXNzPVwibWItM1wiPiB7e3V0aWxpdHlTZXJ2aWNlLmdldFJlc291cmNlVmFsdWUoXCJBZGRcIil9fSB7e3V0aWxpdHlTZXJ2aWNlLmdldFJlc291cmNlVmFsdWUoXCJEZXBhcnRtZW50XCIpfX08L2gxPlxyXG4gICAgPC9kaXY+XHJcbiAgICA8QkJTRi1Gb3JtIFtvcHRpb25zXT1cIkFkZERlcGFydG1lbnRGb3JtT3B0aW9uc1wiPlxyXG5cclxuICAgICAgPGRpdiBjbGFzcz1cInJvd1wiPlxyXG4gICAgICAgIDxkaXYgY2xhc3M9XCJjb2wtbWQtMTJcIj5cclxuICAgICAgICAgIDxCQlNGLU11bHRpTGluZ3VhbFRleHRCb3ggW29wdGlvbnNdPVwiQWRkTmFtZVwiIFtncm91cF09XCJBZGREZXBhcnRtZW50Rm9ybVwiPjwvQkJTRi1NdWx0aUxpbmd1YWxUZXh0Qm94PlxyXG4gICAgICAgIDwvZGl2PlxyXG4gICAgICA8L2Rpdj5cclxuICAgICAgPGRpdiBjbGFzcz1cInJvd1wiPlxyXG4gICAgICAgIDxkaXYgY2xhc3M9XCJjb2wtbWQtMTJcIj5cclxuICAgICAgICAgIDxCQlNGLVRleHRCb3ggW29wdGlvbnNdPVwiQWRkU2FtQWNjb3VudFwiIFtncm91cF09XCJBZGREZXBhcnRtZW50Rm9ybVwiID5cclxuICAgICAgICAgIDwvQkJTRi1UZXh0Qm94PlxyXG4gICAgICAgIDwvZGl2PlxyXG4gICAgICA8L2Rpdj5cclxuICAgICAgPGRpdiBjbGFzcz1cInRleHQtY2VudGVyIHB0LTdcIj5cclxuICAgICAgICA8YnV0dG9uICNDbG9zZURlcGFydG1lbnRNb2RhbCBpZD1cIkNsb3NlRGVwYXJ0bWVudE1vZGFsXCIgdHlwZT1cImJ1dHRvblwiXHJcbiAgICAgICAgICAgICAgICBjbGFzcz1cImJ0biBidG4tbGlnaHQgYnRuLXNtICBtZS0zXCIgZGF0YS1kaXNtaXNzPVwibW9kYWxcIiAoY2xpY2spPVwibW9kYWwuZGlzbWlzcygpXCI+XHJcbiAgICAgICAgICB7e3V0aWxpdHlTZXJ2aWNlLmdldFJlc291cmNlVmFsdWUoXCJDYW5jZWxMYWJlbFwiKX19XHJcbiAgICAgICAgPC9idXR0b24+XHJcbiAgICAgICAgPGJ1dHRvbiB0eXBlPVwic3VibWl0XCIgY2xhc3M9XCJidG4gYnRuLXByaW1hcnkgYnRuLXNtXCI+e3t1dGlsaXR5U2VydmljZS5nZXRSZXNvdXJjZVZhbHVlKFwiU2F2ZUxhYmVsXCIpfX08L2J1dHRvbj5cclxuICAgICAgPC9kaXY+XHJcbiAgICA8L0JCU0YtRm9ybT5cclxuICA8L2Rpdj5cclxuPC9uZy10ZW1wbGF0ZT5cclxuPCEtLUVkaXQgTW9kYWwtLT5cclxuPG5nLXRlbXBsYXRlICNFZGl0RGVwYXJ0bWVudE1vZGFsIGxldC1tb2RhbD5cclxuICA8ZGl2IGNsYXNzPVwibW9kYWwtaGVhZGVyIHBiLTAgYm9yZGVyLTAganVzdGlmeS1jb250ZW50LWVuZFwiPlxyXG4gICAgPGg1IGNsYXNzPVwibW9kYWwtdGl0bGVcIiBpZD1cImV4YW1wbGVNb2RhbExhYmVsXCI+PC9oNT5cclxuICAgIDxidXR0b24gdHlwZT1cImJ1dHRvblwiIGRhdGEtZGlzbWlzcz1cIm1vZGFsXCIgYXJpYS1sYWJlbD1cIkNsb3NlXCIgY2xhc3M9XCJidG4gYnRuLXNtIGJ0bi1pY29uIGJ0bi1hY3RpdmUtY29sb3ItcHJpbWFyeVwiIChjbGljayk9XCJtb2RhbC5kaXNtaXNzKClcIj5cclxuICAgICAgPHNwYW4gY2xhc3M9XCJzdmctaWNvbiBzdmctaWNvbi0xXCI+XHJcbiAgICAgICAgPHNwYW4gW2lubGluZVNWR109XCInLi9zcmMvYXNzZXRzL2ltYWdlcy9hcnIwNjEuc3ZnJ1wiPjwvc3Bhbj5cclxuICAgICAgPC9zcGFuPlxyXG4gICAgPC9idXR0b24+XHJcbiAgPC9kaXY+XHJcbiAgPGRpdiBjbGFzcz1cIm1vZGFsLWJvZHkgc2Nyb2xsLXkgcHgtMTAgcHgtbGctMTUgcHQtMCBwYi0xNVwiPlxyXG4gICAgPGRpdiBjbGFzcz1cIm1iLTEzIHRleHQtY2VudGVyXCI+XHJcbiAgICAgIDxoMSBjbGFzcz1cIm1iLTNcIj57e3V0aWxpdHlTZXJ2aWNlLmdldFJlc291cmNlVmFsdWUoXCJFZGl0XCIpfX0ge3t1dGlsaXR5U2VydmljZS5nZXRSZXNvdXJjZVZhbHVlKFwiRGVwYXJ0bWVudFwiKX19PC9oMT5cclxuICAgIDwvZGl2PlxyXG4gICAgPEJCU0YtRm9ybSBbb3B0aW9uc109XCJFZGl0RGVwYXJ0bWVudEZvcm1PcHRpb25zXCI+XHJcbiAgICAgIDxkaXYgY2xhc3M9XCJyb3dcIj5cclxuICAgICAgICA8ZGl2IGNsYXNzPVwiY29sLW1kLTEyXCI+XHJcbiAgICAgICAgICA8QkJTRi1NdWx0aUxpbmd1YWxUZXh0Qm94IFtvcHRpb25zXT1cIkVkaXROYW1lXCIgW2dyb3VwXT1cIkVkaXREZXBhcnRtZW50Rm9ybVwiPjwvQkJTRi1NdWx0aUxpbmd1YWxUZXh0Qm94PlxyXG4gICAgICAgIDwvZGl2PlxyXG4gICAgICA8L2Rpdj5cclxuICAgICAgPGRpdiBjbGFzcz1cInJvd1wiPlxyXG4gICAgICAgIDxkaXYgY2xhc3M9XCJjb2wtbWQtMTJcIj5cclxuICAgICAgICAgIDxCQlNGLVRleHRCb3ggW29wdGlvbnNdPVwiRWRpdFNhbUFjY291bnRcIiBbZ3JvdXBdPVwiRWRpdERlcGFydG1lbnRGb3JtXCI+XHJcbiAgICAgICAgICA8L0JCU0YtVGV4dEJveD5cclxuICAgICAgICA8L2Rpdj5cclxuICAgICAgPC9kaXY+XHJcbiAgICAgIDxkaXYgY2xhc3M9XCJ0ZXh0LWNlbnRlciBwdC03XCI+XHJcbiAgICAgICAgPGJ1dHRvbiAjQ2xvc2VFZGl0RGVwYXJ0bWVudE1vZGFsIGlkPVwiQ2xvc2VFZGl0RGVwYXJ0bWVudE1vZGFsXCIgdHlwZT1cImJ1dHRvblwiXHJcbiAgICAgICAgICAgICAgICBjbGFzcz1cImJ0biBidG4tbGlnaHQgYnRuLXNtICBtZS0zXCIgZGF0YS1kaXNtaXNzPVwibW9kYWxcIiAoY2xpY2spPVwibW9kYWwuZGlzbWlzcygpXCI+XHJcbiAgICAgICAgICB7e3V0aWxpdHlTZXJ2aWNlLmdldFJlc291cmNlVmFsdWUoXCJDYW5jZWxMYWJlbFwiKX19XHJcbiAgICAgICAgPC9idXR0b24+XHJcbiAgICAgICAgPGJ1dHRvbiB0eXBlPVwic3VibWl0XCIgY2xhc3M9XCJidG4gYnRuLXByaW1hcnkgYnRuLXNtXCI+e3t1dGlsaXR5U2VydmljZS5nZXRSZXNvdXJjZVZhbHVlKFwiU2F2ZUxhYmVsXCIpfX08L2J1dHRvbj5cclxuICAgICAgPC9kaXY+XHJcbiAgICA8L0JCU0YtRm9ybT5cclxuICA8L2Rpdj5cclxuPC9uZy10ZW1wbGF0ZT5cclxuPCEtLWRlbGV0ZSBNb2RhbC0tPlxyXG48QkJTRi1Db25maXJtYXRpb25Nb2RhbCAqbmdJZj1cImRlbGV0ZUNvbnRyb2xMb2FkZWRcIiBbb3B0aW9uc109XCJEZWxldGVDb25maXJtYXRpb25PcHRpb25zXCIgaWQ9XCJDb25maXJtYXRpb25Nb2RhbENvbnRyb2xcIiAjQ29uZmlybWF0aW9uTW9kYWxDb250cm9sPjwvQkJTRi1Db25maXJtYXRpb25Nb2RhbD5cclxuIl19
222
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGVwYXJ0bWVudC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9iYnNmLWFkbWluLXBvcnRhbC9zcmMvbGliL1BhZ2VzL2RlcGFydG1lbnRzL2RlcGFydG1lbnQvZGVwYXJ0bWVudC5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9iYnNmLWFkbWluLXBvcnRhbC9zcmMvbGliL1BhZ2VzL2RlcGFydG1lbnRzL2RlcGFydG1lbnQvZGVwYXJ0bWVudC5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFzQixTQUFTLEVBQWEsTUFBTSxlQUFlLENBQUM7QUFDcEYsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQzNDLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxVQUFVLEVBQUUsVUFBVSxFQUFFLFNBQVMsRUFBRSwwQkFBMEIsRUFBRSxhQUFhLEVBQUUsY0FBYyxFQUFFLFdBQVcsRUFBRSx3QkFBd0IsRUFBRSxNQUFNLHlCQUF5QixDQUFDO0FBRWhNLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSxzREFBc0QsQ0FBQztBQUN2RixPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sb0RBQW9ELENBQUM7Ozs7Ozs7Ozs7Ozs7QUFVckYsTUFBTSxPQUFPLG1CQUFtQjtJQW9DOUIsWUFFVSxrQkFBcUMsRUFDckMsaUJBQW9DLEVBQ3BDLFlBQXNCLEVBQ3RCLFdBQXdCLEVBQ3hCLGNBQThCLEVBQzlCLGVBQStCLEVBQy9CLHFCQUEyQztRQU4zQyx1QkFBa0IsR0FBbEIsa0JBQWtCLENBQW1CO1FBQ3JDLHNCQUFpQixHQUFqQixpQkFBaUIsQ0FBbUI7UUFDcEMsaUJBQVksR0FBWixZQUFZLENBQVU7UUFDdEIsZ0JBQVcsR0FBWCxXQUFXLENBQWE7UUFDeEIsbUJBQWMsR0FBZCxjQUFjLENBQWdCO1FBQzlCLG9CQUFlLEdBQWYsZUFBZSxDQUFnQjtRQUMvQiwwQkFBcUIsR0FBckIscUJBQXFCLENBQXNCO1FBekNyRCxXQUFNLEdBQUcsSUFBSSxDQUFDLGlCQUFpQixDQUFDLE1BQU0sQ0FBQTtRQUV0Qyw4QkFBOEI7UUFDOUIsbUJBQWMsR0FBRyxJQUFJLFNBQVMsQ0FBQyxFQUFFLENBQUMsQ0FBQztRQUduQyxtQkFBYyxHQUFZLEtBQUssQ0FBQztRQUVoQywyQkFBc0IsR0FBVSxFQUFFLENBQUM7UUFDbkMsMkJBQXNCLEdBQVUsRUFBRSxDQUFDO1FBR25DLG9CQUFvQjtRQUNwQixzQkFBaUIsR0FBRyxJQUFJLFNBQVMsQ0FBQyxFQUFFLENBQUMsQ0FBQztRQUt0QyxxQkFBcUI7UUFDckIsdUJBQWtCLEdBQUcsSUFBSSxTQUFTLENBQUMsRUFBRSxDQUFDLENBQUM7UUFTdkMsd0JBQW1CLEdBQVksS0FBSyxDQUFDO1FBa0dyQywwQkFBcUIsR0FBRyxHQUFHLEVBQUU7WUFDM0IsSUFBSSxVQUFVLEdBQVUsRUFBRSxDQUFDO1lBQzNCLElBQUksV0FBVyxHQUFHLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxLQUFLLENBQUM7WUFDL0MsSUFBSSxRQUFRLEdBQW9CLElBQUksZUFBZSxFQUFFLENBQUM7WUFDdEQsUUFBUSxDQUFDLFVBQVUsR0FBRyxXQUFXLENBQUMsYUFBYSxDQUFDO1lBQ2hELFFBQVEsQ0FBQyxpQkFBaUIsQ0FBQyxNQUFNLEdBQUcsV0FBVyxDQUFDLE9BQU8sQ0FBQyxNQUFNLENBQUM7WUFDL0QsUUFBUSxDQUFDLGlCQUFpQixDQUFDLE9BQU8sR0FBRyxXQUFXLENBQUMsT0FBTyxDQUFDLE9BQU8sQ0FBQztZQUNqRSxVQUFVLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxDQUFDO1lBQzFCLE9BQU8sVUFBVSxDQUFDO1FBQ3BCLENBQUMsQ0FBQTtRQUVELDZCQUF3QixHQUFHLENBQUMsUUFBUSxFQUFtQixFQUFFO1lBQ3ZELE9BQU8sSUFBSSxDQUFDLGlCQUFpQixDQUFDLGFBQWEsQ0FBQyxRQUFRLENBQUMsQ0FBQTtRQUN2RCxDQUFDLENBQUE7UUFDRCwyQkFBc0IsR0FBRyxDQUFDLE1BQU0sRUFBRSxFQUFFO1lBQ2xDLE9BQU8sQ0FBQyxHQUFHLENBQUMsTUFBTSxDQUFDLENBQUM7UUFDdEIsQ0FBQyxDQUFBO1FBQ0QseUJBQW9CLEdBQUcsQ0FBQyxLQUFLLEVBQUUsRUFBRTtZQUMvQixPQUFPLENBQUMsR0FBRyxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBQ3JCLENBQUMsQ0FBQTtRQTBDRCwyQkFBc0IsR0FBRyxHQUFHLEVBQUU7WUFDNUIsSUFBSSxVQUFVLEdBQVUsRUFBRSxDQUFDO1lBQzNCLElBQUksV0FBVyxHQUFHLElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxLQUFLLENBQUM7WUFDaEQsSUFBSSxTQUFTLEdBQW9CLElBQUksZUFBZSxFQUFFLENBQUM7WUFDdkQsU0FBUyxDQUFDLEVBQUUsR0FBRyxJQUFJLENBQUMsWUFBWSxDQUFDO1lBQ2pDLFNBQVMsQ0FBQyxpQkFBaUIsQ0FBQyxPQUFPLEdBQUcsV0FBVyxDQUFDLFFBQVEsQ0FBQyxPQUFPLENBQUM7WUFDbkUsU0FBUyxDQUFDLGlCQUFpQixDQUFDLE1BQU0sR0FBRyxXQUFXLENBQUMsUUFBUSxDQUFDLE1BQU0sQ0FBQztZQUNqRSxTQUFTLENBQUMsVUFBVSxHQUFHLFdBQVcsQ0FBQyxjQUFjLENBQUM7WUFDbEQsVUFBVSxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsQ0FBQztZQUMzQixPQUFPLFVBQVUsQ0FBQztRQUNwQixDQUFDLENBQUE7UUFFRCw4QkFBeUIsR0FBRyxDQUFDLFNBQVMsRUFBbUIsRUFBRTtZQUN6RCxPQUFPLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxjQUFjLENBQUMsU0FBUyxDQUFDLENBQUE7UUFDekQsQ0FBQyxDQUFBO1FBQ0QsNEJBQXVCLEdBQUcsQ0FBQyxNQUFNLEVBQUUsRUFBRTtZQUNuQyxPQUFPLENBQUMsR0FBRyxDQUFDLE1BQU0sQ0FBQyxDQUFDO1FBQ3RCLENBQUMsQ0FBQTtRQUNELDBCQUFxQixHQUFHLENBQUMsS0FBSyxFQUFFLEVBQUU7WUFDaEMsT0FBTyxDQUFDLEdBQUcsQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUNyQixDQUFDLENBQUE7UUFxQkQscUJBQWdCLEdBQUcsQ0FBQyxFQUFVLEVBQW1CLEVBQUU7WUFDakQsT0FBTyxJQUFJLENBQUMsaUJBQWlCLENBQUMsZ0JBQWdCLENBQUMsRUFBRSxDQUFDLENBQUM7UUFDckQsQ0FBQyxDQUFBO0lBMUxELENBQUM7SUFDQyxRQUFRO1FBQ1Asb0NBQW9DO1FBQ3BDLGVBQWUsQ0FBQyxTQUFTLEdBQUcsSUFBSSxDQUFDLGNBQWMsQ0FBQyxnQkFBZ0IsQ0FBQyxhQUFhLENBQUMsQ0FBQTtRQUMvRSxlQUFlLENBQUMsZUFBZSxHQUFHO1lBQ2hDLEVBQUUsS0FBSyxFQUFFLElBQUksQ0FBQyxjQUFjLENBQUMsZ0JBQWdCLENBQUMsTUFBTSxDQUFDLEVBQUUsSUFBSSxFQUFFLGFBQWEsRUFBRSxXQUFXLEVBQUUsS0FBSyxFQUFFLFFBQVEsRUFBRSxLQUFLLEVBQUU7WUFDakgsRUFBRSxLQUFLLEVBQUUsRUFBRSxFQUFFLElBQUksRUFBRSxFQUFFLEVBQUUsV0FBVyxFQUFFLElBQUksRUFBRSxRQUFRLEVBQUUsS0FBSyxFQUFFO1NBRTVELENBQUM7UUFDRixJQUFJLENBQUMsZUFBZSxDQUFDLGNBQWMsRUFBRSxDQUFDO1FBQ3RDLElBQUksQ0FBQyxlQUFlLENBQUMsb0JBQW9CLEVBQUUsQ0FBQztRQUM1QyxJQUFJLENBQUMsY0FBYyxHQUFHLElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxpQkFBaUIsRUFBRSxDQUFDO1FBRWxFLGlCQUFpQjtRQUNqQixJQUFJLENBQUMsY0FBYyxFQUFFLENBQUM7SUFDekIsQ0FBQztJQUdELCtCQUErQjtJQUMvQixjQUFjO1FBQ1YsZUFBZTtRQUNmLElBQUksQ0FBQyxhQUFhLEdBQUcsSUFBSSxjQUFjLEVBQUUsQ0FBQztRQUMxQyxJQUFJLENBQUMsYUFBYSxDQUFDLElBQUksR0FBRyxlQUFlLENBQUE7UUFDekMsSUFBSSxDQUFDLGFBQWEsQ0FBQyxTQUFTLEdBQUcsSUFBSSxDQUFDO1FBQ3BDLElBQUksQ0FBQyxhQUFhLENBQUMsSUFBSSxHQUFHLFNBQVMsQ0FBQyxJQUFJLENBQUE7UUFDeEMsSUFBSSxDQUFDLGFBQWEsQ0FBQyxXQUFXLEdBQUcsSUFBSSxDQUFDLGNBQWMsQ0FBQyxnQkFBZ0IsQ0FBQyxjQUFjLENBQUMsQ0FBQTtRQUVyRixJQUFJLENBQUMsZUFBZSxHQUFHLElBQUksVUFBVSxFQUFFLENBQUM7UUFDeEMsSUFBSSxDQUFDLGVBQWUsQ0FBQyxlQUFlLEdBQUcsZUFBZSxDQUFBO1FBQ3RELElBQUksQ0FBQyxlQUFlLENBQUMsbUJBQW1CLEdBQUcsWUFBWSxDQUFBO1FBQ3ZELElBQUksQ0FBQyxlQUFlLENBQUMsYUFBYSxHQUFHLElBQUksQ0FBQTtRQUN6QyxJQUFJLENBQUMsZUFBZSxDQUFDLFVBQVUsR0FBRyxVQUFVLENBQUMsT0FBTyxDQUFBO1FBR3BELElBQUksQ0FBQyxnQkFBZ0IsR0FBRyxJQUFJLGFBQWEsRUFBRSxDQUFDO1FBQzVDLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxhQUFhLEdBQUksSUFBSSxDQUFDLE1BQU0sR0FBRyx3QkFBd0IsQ0FBQztRQUM5RSxJQUFJLENBQUMsZ0JBQWdCLENBQUMsNkJBQTZCLEdBQUcsQ0FBQyxlQUFlLENBQUMsQ0FBQTtRQUN2RSxJQUFJLENBQUMsZ0JBQWdCLENBQUMsT0FBTyxHQUFHLENBQUMsSUFBSSxDQUFDLGVBQWUsQ0FBQyxDQUFBO1FBQ3RELElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxlQUFlLEdBQUcsSUFBSSxDQUFDLFdBQVcsQ0FBQyx3QkFBd0IsRUFBRSxDQUFBO1FBQ25GLElBQUksQ0FBQyxjQUFjLEdBQUcsSUFBSSxDQUFDO0lBRS9CLENBQUM7SUFFRCxrQkFBa0I7SUFDbEIsdUJBQXVCLENBQUMsTUFBd0I7UUFDOUMsT0FBTyxDQUFDLEdBQUcsQ0FBQyxNQUFNLENBQUMsQ0FBQztRQUNwQixJQUFJLENBQUMsc0JBQXNCLEdBQUUsTUFBTSxDQUFBO1FBQ25DLElBQUksQ0FBQyxzQkFBc0IsR0FBQyxJQUFJLENBQUMsc0JBQXNCLENBQUM7UUFDeEQsSUFBSSxDQUFDLGNBQWMsQ0FBQyxXQUFXLEVBQUUsQ0FBQTtJQUNuQyxDQUFDO0lBRUQsZ0JBQWdCO0lBQ2hCLHNCQUFzQixDQUFDLGtCQUFrQjtRQUN2QyxJQUFJLENBQUMsY0FBYyxDQUFDLFlBQVksRUFBRSxDQUFBO1FBQ2xDLElBQUksQ0FBQyxpQkFBaUIsR0FBRyxJQUFJLFNBQVMsQ0FBQyxFQUFFLENBQUMsQ0FBQTtRQUUxQyxJQUFJLENBQUMsd0JBQXdCLEdBQUcsSUFBSSxXQUFXLEVBQUUsQ0FBQztRQUNsRCxJQUFJLENBQUMsd0JBQXdCLENBQUMsU0FBUyxHQUFHLElBQUksQ0FBQyxpQkFBaUIsQ0FBQTtRQUNoRSxJQUFJLENBQUMsd0JBQXdCLENBQUMsZ0JBQWdCLEdBQUcsSUFBSSxDQUFDLHFCQUFxQixDQUFDO1FBQzVFLElBQUksQ0FBQyx3QkFBd0IsQ0FBQyxxQkFBcUIsR0FBRyxJQUFJLENBQUMsd0JBQXdCLENBQUM7UUFDcEYsSUFBSSxDQUFDLHdCQUF3QixDQUFDLGdCQUFnQixHQUFHLElBQUksQ0FBQyxzQkFBc0IsQ0FBQztRQUM3RSxJQUFJLENBQUMsd0JBQXdCLENBQUMsY0FBYyxHQUFHLElBQUksQ0FBQyxvQkFBb0IsQ0FBQztRQUN6RSxJQUFJLENBQUMsd0JBQXdCLENBQUMsZUFBZSxHQUFHLElBQUksQ0FBQyxhQUFhLENBQUE7UUFFbEUsSUFBSSxDQUFDLE9BQU8sR0FBRyxJQUFJLDBCQUEwQixFQUFFLENBQUM7UUFDaEQsSUFBSSxDQUFDLE9BQU8sQ0FBQyxJQUFJLEdBQUcsU0FBUyxDQUFDO1FBQzlCLElBQUksQ0FBQyxPQUFPLENBQUMsY0FBYyxHQUFHLGNBQWMsQ0FBQztRQUM3QyxJQUFJLENBQUMsT0FBTyxDQUFDLGVBQWUsR0FBRyxlQUFlLENBQUM7UUFDL0MsSUFBSSxDQUFDLE9BQU8sQ0FBQyxVQUFVLEdBQUcsSUFBSSxDQUFDO1FBQy9CLElBQUksQ0FBQyxPQUFPLENBQUMsS0FBSyxHQUFHLElBQUksQ0FBQztRQUUxQixJQUFJLENBQUMsYUFBYSxHQUFHLElBQUksY0FBYyxFQUFFLENBQUM7UUFDMUMsSUFBSSxDQUFDLGFBQWEsQ0FBQyxJQUFJLEdBQUcsZUFBZSxDQUFDO1FBQzFDLElBQUksQ0FBQyxhQUFhLENBQUMsUUFBUSxHQUFHLFlBQVksQ0FBQztRQUMzQyxJQUFJLENBQUMsYUFBYSxDQUFDLElBQUksR0FBRyxTQUFTLENBQUMsSUFBSSxDQUFDO1FBQ3pDLElBQUksQ0FBQyxhQUFhLENBQUMsS0FBSyxHQUFHLElBQUksQ0FBQztRQUVoQyxJQUFJLENBQUMsWUFBWSxDQUFDLElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxDQUFDO1FBQzNDLElBQUksQ0FBQyxjQUFjLENBQUMsV0FBVyxFQUFFLENBQUM7UUFDbEMsT0FBTyxDQUFDLEdBQUcsQ0FBRSxJQUFJLENBQUMsYUFBYSxDQUFDLENBQUE7SUFDbEMsQ0FBQztJQXNCRCxpQkFBaUI7SUFDakIsdUJBQXVCLENBQUMsWUFBb0IsRUFBQyxlQUF1QixFQUFFLG1CQUFtQjtRQUN2RixJQUFJLENBQUMsa0JBQWtCLEdBQUcsSUFBSSxTQUFTLENBQUMsRUFBRSxDQUFDLENBQUM7UUFFNUMsSUFBSSxDQUFDLHlCQUF5QixHQUFHLElBQUksV0FBVyxFQUFFLENBQUM7UUFDbkQsSUFBSSxDQUFDLHlCQUF5QixDQUFDLFNBQVMsR0FBRyxJQUFJLENBQUMsa0JBQWtCLENBQUE7UUFDbEUsSUFBSSxDQUFDLHlCQUF5QixDQUFDLGdCQUFnQixHQUFHLElBQUksQ0FBQyxzQkFBc0IsQ0FBQztRQUM5RSxJQUFJLENBQUMseUJBQXlCLENBQUMscUJBQXFCLEdBQUcsSUFBSSxDQUFDLHlCQUF5QixDQUFDO1FBQ3RGLElBQUksQ0FBQyx5QkFBeUIsQ0FBQyxnQkFBZ0IsR0FBRyxJQUFJLENBQUMsdUJBQXVCLENBQUM7UUFDL0UsSUFBSSxDQUFDLHlCQUF5QixDQUFDLGNBQWMsR0FBRyxJQUFJLENBQUMscUJBQXFCLENBQUM7UUFDM0UsSUFBSSxDQUFDLHlCQUF5QixDQUFDLGVBQWUsR0FBRyxJQUFJLENBQUMsYUFBYSxDQUFBO1FBRW5FLElBQUksQ0FBQyxZQUFZLEdBQUcsWUFBWSxDQUFDO1FBQ2pDLElBQUksQ0FBQyxxQkFBcUIsQ0FBQyxjQUFjLEVBQUUsQ0FBQyxTQUFTLENBQUMsR0FBRSxFQUFFLEdBQUMsQ0FBQyxDQUFDLENBQUE7UUFDN0QsSUFBSSxDQUFDLGlCQUFpQixDQUFDLGlCQUFpQixDQUFDLGVBQWUsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxDQUFDLE1BQVcsRUFBRSxFQUFFO1lBQ2xGLElBQUksVUFBVSxHQUFHLE1BQU0sQ0FBQyxLQUFZLENBQUM7WUFFckMsSUFBSSxJQUFJLEdBQUcsSUFBSSxnQkFBZ0IsRUFBRSxDQUFDO1lBQ2xDLElBQUksQ0FBQyxNQUFNLEdBQUcsVUFBVSxDQUFDLGlCQUFpQixDQUFDLE1BQU0sQ0FBQztZQUNsRCxJQUFJLENBQUMsT0FBTyxHQUFHLFVBQVUsQ0FBQyxpQkFBaUIsQ0FBQyxPQUFPLENBQUM7WUFFcEQsSUFBSSxDQUFDLFFBQVEsR0FBRyxJQUFJLDBCQUEwQixFQUFFLENBQUM7WUFDakQsSUFBSSxDQUFDLFFBQVEsQ0FBQyxJQUFJLEdBQUcsVUFBVSxDQUFDO1lBQ2hDLElBQUksQ0FBQyxRQUFRLENBQUMsY0FBYyxHQUFHLGNBQWMsQ0FBQztZQUM5QyxJQUFJLENBQUMsUUFBUSxDQUFDLGVBQWUsR0FBRyxlQUFlLENBQUM7WUFDaEQsSUFBSSxDQUFDLFFBQVEsQ0FBQyxVQUFVLEdBQUcsSUFBSSxDQUFDO1lBQ2hDLElBQUksQ0FBQyxRQUFRLENBQUMsS0FBSyxHQUFHLElBQUksQ0FBQztZQUczQixJQUFJLENBQUMsY0FBYyxHQUFHLElBQUksY0FBYyxFQUFFLENBQUM7WUFDM0MsSUFBSSxDQUFDLGNBQWMsQ0FBQyxJQUFJLEdBQUcsZ0JBQWdCLENBQUM7WUFDNUMsSUFBSSxDQUFDLGNBQWMsQ0FBQyxRQUFRLEdBQUcsWUFBWSxDQUFDO1lBQzVDLElBQUksQ0FBQyxjQUFjLENBQUMsSUFBSSxHQUFHLFNBQVMsQ0FBQyxJQUFJLENBQUM7WUFDMUMsSUFBSSxDQUFDLGNBQWMsQ0FBQyxLQUFLLEdBQUcsVUFBVSxDQUFDLFVBQVUsQ0FBQztZQUVsRCxJQUFJLENBQUMsWUFBWSxDQUFDLElBQUksQ0FBQyxtQkFBbUIsQ0FBQyxDQUFDO1FBRTlDLENBQUMsQ0FBQyxDQUFDO0lBRUwsQ0FBQztJQXdCRCxtQkFBbUI7SUFDbkIseUJBQXlCLENBQUMsZUFBb0I7UUFDNUMsSUFBSSxDQUFDLGtCQUFrQixHQUFHLGVBQWUsQ0FBQztRQUUxQyxnQ0FBZ0M7UUFDaEMsSUFBSSxVQUFVLEdBQVUsRUFBRSxDQUFDO1FBQzNCLFVBQVUsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLGtCQUFrQixDQUFDLENBQUM7UUFFekMsSUFBSSxDQUFDLHlCQUF5QixHQUFHLElBQUksd0JBQXdCLEVBQUUsQ0FBQztRQUNoRSxJQUFJLENBQUMseUJBQXlCLENBQUMscUJBQXFCLEdBQUcsSUFBSSxDQUFDLGdCQUFnQixDQUFDO1FBQzdFLElBQUksQ0FBQyx5QkFBeUIsQ0FBQyxrQkFBa0IsR0FBRyxVQUFVLENBQUM7UUFDL0QsSUFBSSxDQUFDLHlCQUF5QixDQUFDLGVBQWUsR0FBRyxJQUFJLENBQUMsYUFBYSxDQUFDO1FBRXBFLElBQUksQ0FBQyxtQkFBbUIsR0FBRyxJQUFJLENBQUM7UUFDaEMsVUFBVSxDQUFDLEdBQUcsRUFBRTtZQUNkLElBQUksQ0FBQyx3QkFBd0IsQ0FBQyxTQUFTLEVBQUUsQ0FBQztRQUM1QyxDQUFDLEVBQUUsR0FBRyxDQUFDLENBQUM7SUFDVixDQUFDO0lBTUQsdUNBQXVDO0lBQ3ZDLGtFQUFrRTtJQUNsRSxnQkFBZ0I7SUFDaEIsNkNBQTZDO0lBQzdDLG9CQUFvQixDQUFDLFdBQVc7UUFDOUIsSUFBRyxXQUFXO1lBQ2QsSUFBSSxDQUFDLHNCQUFzQixHQUFFLElBQUksQ0FBQyxzQkFBc0IsQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxJQUFJLENBQUMsY0FBYyxDQUFDLFdBQVcsRUFBRSxDQUFDLFFBQVEsQ0FBQyxXQUFXLENBQUMsV0FBVyxFQUFFLENBQUMsQ0FBQyxDQUFDOztZQUUvSSxJQUFJLENBQUMsc0JBQXNCLEdBQUUsSUFBSSxDQUFDLHNCQUFzQixDQUFBO0lBQzFELENBQUM7SUFFRCxXQUFXO1FBQ1QsSUFBSSxDQUFDLHFCQUFxQixDQUFDLFVBQVUsQ0FBQyxJQUFJLEVBQUUsQ0FBQztJQUUvQyxDQUFDOztpSEF6UFUsbUJBQW1CO3FHQUFuQixtQkFBbUIsMlNDZmhDLHcrT0E0SkE7NEZEN0lhLG1CQUFtQjtrQkFKL0IsU0FBUzttQkFBQztvQkFDVCxRQUFRLEVBQUUsZ0JBQWdCO29CQUMxQixXQUFXLEVBQUUsNkJBQTZCO2lCQUMzQzt5UkFjOEQsYUFBYTtzQkFBekUsU0FBUzt1QkFBQyw2QkFBNkIsRUFBRSxFQUFFLE1BQU0sRUFBRSxLQUFLLEVBQUU7Z0JBbUJELHdCQUF3QjtzQkFBakYsU0FBUzt1QkFBQywwQkFBMEIsRUFBRSxFQUFFLE1BQU0sRUFBRSxLQUFLLEVBQUUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIEVsZW1lbnRSZWYsIE9uSW5pdCwgVmlld0NoaWxkLCBPbkRlc3Ryb3kgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgRm9ybUdyb3VwIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xyXG5pbXBvcnQgeyBFbmdsaXNoQXJhYmljRFRPLCBGaWx0ZXJJdGVtLCBGaWx0ZXJUeXBlLCBJbnB1dFR5cGUsIE11bHRpTGluZ3VhbFRleHRCb3hPcHRpb25zLCBQYWdpbmdPcHRpb25zLCBUZXh0Qm94T3B0aW9ucywgRm9ybU9wdGlvbnMsIENvbmZpcm1hdGlvbk1vZGFsT3B0aW9ucyB9IGZyb20gJ0BibnNpZ2h0cy9iYnNmLWNvbnRyb2xzJztcclxuaW1wb3J0IHsgRGVwYXJ0bWVudFNlcnZpY2UgfSBmcm9tICcuLi8uLi9zaGFyZWQvU2VydmljZXMvRGVwYXJ0bWVudFNlcnZpY2Uuc2VydmljZSc7XHJcbmltcG9ydCB7IERlcGFydG1lbnRNb2RlbCB9IGZyb20gJy4uLy4uL3NoYXJlZC9tb2RlbHMvRGVwYXJ0bWVudE1vZGVscy9EZXBhcnRtZW50TW9kZWwnO1xyXG5pbXBvcnQgeyBQYWdlSW5mb1NlcnZpY2UgfSBmcm9tICcuLi8uLi8uLi9fbWV0cm9uaWMvY29yZS9zZXJ2aWNlcy9wYWdlLWluZm8uc2VydmljZSc7XHJcbmltcG9ydCB7IE5nYk1vZGFsLCAgfSBmcm9tICdAbmctYm9vdHN0cmFwL25nLWJvb3RzdHJhcCc7XHJcbmltcG9ydCB7IEF1dGhTZXJ2aWNlLCBFbnZpcm9ubWVudFNlcnZpY2UsIFV0aWxpdHlTZXJ2aWNlLCBSZXF1ZXN0SGFuZGxlclNlcnZpY2UgfSBmcm9tICdAYm5zaWdodHMvYmJzZi11dGlsaXRpZXMnO1xyXG5pbXBvcnQgeyBPYnNlcnZhYmxlIH0gZnJvbSAncnhqcyc7XHJcbmltcG9ydCB7IFBhZ2luZ0NvbXBvbmVudCB9IGZyb20gJ0BibnNpZ2h0cy9iYnNmLWNvbnRyb2xzL2xpYi9jb250cm9scy9QYWdpbmcvUGFnaW5nLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IENvbmZpcm1hdGlvbk1vZGFsQ29tcG9uZW50IH0gZnJvbSAnQGJuc2lnaHRzL2Jic2YtY29udHJvbHMvbGliL2NvbnRyb2xzL0NvbmZpcm1hdGlvbk1vZGFsL0NvbmZpcm1hdGlvbk1vZGFsLmNvbXBvbmVudCc7XHJcbkBDb21wb25lbnQoe1xyXG4gIHNlbGVjdG9yOiAnbGliLWRlcGFydG1lbnQnLFxyXG4gIHRlbXBsYXRlVXJsOiAnLi9kZXBhcnRtZW50LmNvbXBvbmVudC5odG1sJyxcclxufSlcclxuZXhwb3J0IGNsYXNzIERlcGFydG1lbnRDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQgLE9uRGVzdHJveSB7XHJcbiAgLy9QYWdlIHJlcXVpcmVtZW50c1xyXG4gIFByb2R1Y3Rpb25Nb2RlOiBib29sZWFuO1xyXG4gIEFwaVVybCA9IHRoaXMuZGVwYXJ0bWVudFNlcnZpY2UuQXBpVXJsXHJcblxyXG4gIC8vRmlsdGVyIGFuZCBwYWdpbmcgY29tcG9uZW50c1xyXG4gIERlcGFydG1lbnRGb3JtID0gbmV3IEZvcm1Hcm91cCh7fSk7XHJcbiAgc2VhcmNoVGV4dEJveDogVGV4dEJveE9wdGlvbnM7XHJcbiAgVGV4dElucHV0RmlsdGVyOiBGaWx0ZXJJdGVtO1xyXG4gIElzRmlsdGVyTG9hZGVkOiBib29sZWFuID0gZmFsc2U7XHJcbiAgRGVwYXJ0bWVudFBhZ2luZzogUGFnaW5nT3B0aW9ucztcclxuICBEZXBhcnRtZW50UGFnaW5nUmVzdWx0OiBhbnlbXSA9IFtdO1xyXG4gIERlcGFydG1lbnRGaWx0ZXJlZExpc3Q6IGFueVtdID0gW107XHJcbiAgQFZpZXdDaGlsZCgnRGVwYXJ0bWVudFBhZ2luZ1ZpZXdFbGVtZW50JywgeyBzdGF0aWM6IGZhbHNlIH0pIHBhZ2luZ0VsZW1lbnQ6IFBhZ2luZ0NvbXBvbmVudDxEZXBhcnRtZW50TW9kZWw+O1xyXG5cclxuICAvL0FkZCBNb2RlbCBDb250cm9sc1xyXG4gIEFkZERlcGFydG1lbnRGb3JtID0gbmV3IEZvcm1Hcm91cCh7fSk7XHJcbiAgQWRkRGVwYXJ0bWVudEZvcm1PcHRpb25zOiBGb3JtT3B0aW9uc1xyXG4gIEFkZE5hbWU6TXVsdGlMaW5ndWFsVGV4dEJveE9wdGlvbnNcclxuICBBZGRTYW1BY2NvdW50OiBUZXh0Qm94T3B0aW9ucztcclxuXHJcbiAgLy9FZGl0IE1vZGVsIENvbnRyb2xzXHJcbiAgRWRpdERlcGFydG1lbnRGb3JtID0gbmV3IEZvcm1Hcm91cCh7fSk7XHJcbiAgRWRpdERlcGFydG1lbnRGb3JtT3B0aW9uczogRm9ybU9wdGlvbnNcclxuICBFZGl0TmFtZTpNdWx0aUxpbmd1YWxUZXh0Qm94T3B0aW9uc1xyXG4gIEVkaXRTYW1BY2NvdW50OiBUZXh0Qm94T3B0aW9ucztcclxuICBEZXBhcnRtZW50SWQ6IG51bWJlcjtcclxuXHJcbiAgLy9kZWxldGUgIE1vZGVsIENvbnRyb2xzXHJcbiAgZGVsZXRlRGVwYXJ0bWVudElkOiBzdHJpbmc7XHJcbiAgRGVsZXRlQ29uZmlybWF0aW9uT3B0aW9uczogQ29uZmlybWF0aW9uTW9kYWxPcHRpb25zO1xyXG4gIGRlbGV0ZUNvbnRyb2xMb2FkZWQ6IGJvb2xlYW4gPSBmYWxzZTtcclxuICBAVmlld0NoaWxkKCdDb25maXJtYXRpb25Nb2RhbENvbnRyb2wnLCB7IHN0YXRpYzogZmFsc2UgfSkgQ29uZmlybWF0aW9uTW9kYWxDb250cm9sOiBDb25maXJtYXRpb25Nb2RhbENvbXBvbmVudDtcclxuXHJcblxyXG5cclxuICBjb25zdHJ1Y3RvclxyXG4gIChcclxuICAgIHByaXZhdGUgZW52aXJvbm1lbnRTZXJ2aWNlOkVudmlyb25tZW50U2VydmljZSxcclxuICAgIHByaXZhdGUgZGVwYXJ0bWVudFNlcnZpY2U6IERlcGFydG1lbnRTZXJ2aWNlLFxyXG4gICAgcHJpdmF0ZSBtb2RhbFNlcnZpY2U6IE5nYk1vZGFsLFxyXG4gICAgcHJpdmF0ZSBhdXRoU2VydmljZTogQXV0aFNlcnZpY2UsXHJcbiAgICBwdWJsaWMgIHV0aWxpdHlTZXJ2aWNlOiBVdGlsaXR5U2VydmljZSxcclxuICAgIHByaXZhdGUgcGFnZUluZm9TZXJ2aWNlOlBhZ2VJbmZvU2VydmljZSxcclxuICAgIHByaXZhdGUgcmVxdWVzdEhhbmRsZXJTZXJ2aWNlOlJlcXVlc3RIYW5kbGVyU2VydmljZSxcclxuICAgKSBcclxuICB7XHJcbiAgfVxyXG4gICAgbmdPbkluaXQoKSB7XHJcbiAgICAgLy9QYWdlIGhlYWRlciAoYnJlYWRjcnVtYiBhbmQgdGl0bGUpXHJcbiAgICAgUGFnZUluZm9TZXJ2aWNlLlBhZ2VUaXRsZSA9IHRoaXMudXRpbGl0eVNlcnZpY2UuZ2V0UmVzb3VyY2VWYWx1ZShcIkRlcGFydG1lbnRzXCIpXHJcbiAgICAgUGFnZUluZm9TZXJ2aWNlLlBhZ2VCcmVhZGNydW1icyA9IFtcclxuICAgICAgIHsgdGl0bGU6IHRoaXMudXRpbGl0eVNlcnZpY2UuZ2V0UmVzb3VyY2VWYWx1ZShcIkhvbWVcIiksIHBhdGg6ICcvQWRtaW4vSG9tZScsIGlzU2VwYXJhdG9yOiBmYWxzZSwgaXNBY3RpdmU6IGZhbHNlIH0sXHJcbiAgICAgICB7IHRpdGxlOiAnJywgcGF0aDogJycsIGlzU2VwYXJhdG9yOiB0cnVlLCBpc0FjdGl2ZTogZmFsc2UgfVxyXG5cclxuICAgICBdO1xyXG4gICAgIHRoaXMucGFnZUluZm9TZXJ2aWNlLmNhbGN1bGF0ZVRpdGxlKCk7XHJcbiAgICAgdGhpcy5wYWdlSW5mb1NlcnZpY2UuY2FsY3VsYXRlQnJlYWRjcnVtYnMoKTtcclxuICAgICB0aGlzLlByb2R1Y3Rpb25Nb2RlID0gdGhpcy5lbnZpcm9ubWVudFNlcnZpY2UuZ2V0UHJvZHVjdGlvbk1vZGUoKTtcclxuXHJcbiAgICAgLy9pbml0aWFsaXplIHBhZ2VcclxuICAgICB0aGlzLmluaXRpYWxpemVQYWdlKCk7XHJcbiAgfVxyXG5cclxuXHJcbiAgLy9Jbml0aWFsaXplIGZpbHRlcnMgYW5kIHBhZ2luZ1xyXG4gIGluaXRpYWxpemVQYWdlKCkge1xyXG4gICAgICAvLyBUZXh0Qm94IGluaXRcclxuICAgICAgdGhpcy5zZWFyY2hUZXh0Qm94ID0gbmV3IFRleHRCb3hPcHRpb25zKCk7XHJcbiAgICAgIHRoaXMuc2VhcmNoVGV4dEJveC5OYW1lID0gXCJzZWFyY2hUZXh0Qm94XCJcclxuICAgICAgdGhpcy5zZWFyY2hUZXh0Qm94LkhpZGVMYWJlbCA9IHRydWU7XHJcbiAgICAgIHRoaXMuc2VhcmNoVGV4dEJveC5UeXBlID0gSW5wdXRUeXBlLlRleHRcclxuICAgICAgdGhpcy5zZWFyY2hUZXh0Qm94LlBsYWNlaG9sZGVyID0gdGhpcy51dGlsaXR5U2VydmljZS5nZXRSZXNvdXJjZVZhbHVlKFwiU2VhcmNoQnlOYW1lXCIpXHJcblxyXG4gICAgICB0aGlzLlRleHRJbnB1dEZpbHRlciA9IG5ldyBGaWx0ZXJJdGVtKCk7XHJcbiAgICAgIHRoaXMuVGV4dElucHV0RmlsdGVyLkZvcm1Db250cm9sTmFtZSA9IFwic2VhcmNoVGV4dEJveFwiXHJcbiAgICAgIHRoaXMuVGV4dElucHV0RmlsdGVyLkFjdGlvblBhcmFtZXRlck5hbWUgPSBcInNlYXJjaFRleHRcIlxyXG4gICAgICB0aGlzLlRleHRJbnB1dEZpbHRlci5Jc0Zvcm1Db250cm9sID0gdHJ1ZVxyXG4gICAgICB0aGlzLlRleHRJbnB1dEZpbHRlci5GaWx0ZXJUeXBlID0gRmlsdGVyVHlwZS5UZXh0Qm94XHJcblxyXG4gICAgIFxyXG4gICAgICB0aGlzLkRlcGFydG1lbnRQYWdpbmcgPSBuZXcgUGFnaW5nT3B0aW9ucygpO1xyXG4gICAgICB0aGlzLkRlcGFydG1lbnRQYWdpbmcuQWN0aW9uUG9zdFVSTCA9ICB0aGlzLkFwaVVybCArICdHZXREZXBhcnRtZW50c0J5RmlsdGVyJztcclxuICAgICAgdGhpcy5EZXBhcnRtZW50UGFnaW5nLk9uS2V5UHJlc3NGaWx0ZXJzQ29udHJvbE5hbWVzID0gW1wic2VhcmNoVGV4dEJveFwiXVxyXG4gICAgICB0aGlzLkRlcGFydG1lbnRQYWdpbmcuRmlsdGVycyA9IFt0aGlzLlRleHRJbnB1dEZpbHRlcl1cclxuICAgICAgdGhpcy5EZXBhcnRtZW50UGFnaW5nLlZhbGlkYXRpb25Ub2tlbiA9IHRoaXMuYXV0aFNlcnZpY2UuYXV0aG9yaXphdGlvbkhlYWRlclZhbHVlKClcclxuICAgICAgdGhpcy5Jc0ZpbHRlckxvYWRlZCA9IHRydWU7XHJcbiAgICAgIFxyXG4gIH1cclxuXHJcbiAgLy9QYWdpbmcgZnVuY3Rpb25zXHJcbiAgc2V0RGVwYXJ0bWVudExpc3RSZXN1bHQocmVzdWx0OkRlcGFydG1lbnRNb2RlbFtdKSB7XHJcbiAgICBjb25zb2xlLmxvZyhyZXN1bHQpO1xyXG4gICAgdGhpcy5EZXBhcnRtZW50UGFnaW5nUmVzdWx0PSByZXN1bHRcclxuICAgIHRoaXMuRGVwYXJ0bWVudEZpbHRlcmVkTGlzdD10aGlzLkRlcGFydG1lbnRQYWdpbmdSZXN1bHQ7XHJcbiAgICB0aGlzLnV0aWxpdHlTZXJ2aWNlLnN0b3BCbG9ja1VJKClcclxuICB9XHJcblxyXG4gIC8vQWRkIGRlcGFydG1lbnRcclxuICBzaG93QWRkRGVwYXJ0bWVudE1vZGFsKGFkZERlcGFydG1lbnRNb2RhbCkge1xyXG4gICAgdGhpcy51dGlsaXR5U2VydmljZS5zdGFydEJsb2NrVUkoKVxyXG4gICAgdGhpcy5BZGREZXBhcnRtZW50Rm9ybSA9IG5ldyBGb3JtR3JvdXAoe30pXHJcblxyXG4gICAgdGhpcy5BZGREZXBhcnRtZW50Rm9ybU9wdGlvbnMgPSBuZXcgRm9ybU9wdGlvbnMoKTtcclxuICAgIHRoaXMuQWRkRGVwYXJ0bWVudEZvcm1PcHRpb25zLkZvcm1Hcm91cCA9IHRoaXMuQWRkRGVwYXJ0bWVudEZvcm1cclxuICAgIHRoaXMuQWRkRGVwYXJ0bWVudEZvcm1PcHRpb25zLkdldE1vZGVsRnVuY3Rpb24gPSB0aGlzLmdldEFkZERlcGFydG1lbnRNb2RlbDtcclxuICAgIHRoaXMuQWRkRGVwYXJ0bWVudEZvcm1PcHRpb25zLlNlcnZpY2VTdWJtaXRGdW5jdGlvbiA9IHRoaXMuZ2V0QWRkRGVwYXJ0bWVudEZ1bmN0aW9uO1xyXG4gICAgdGhpcy5BZGREZXBhcnRtZW50Rm9ybU9wdGlvbnMuT25TdWNjZXNzSGFuZGxlciA9IHRoaXMub25BZGREZXBhcnRtZW50U3VjY2VzcztcclxuICAgIHRoaXMuQWRkRGVwYXJ0bWVudEZvcm1PcHRpb25zLk9uRXJyb3JIYW5kbGVyID0gdGhpcy5vbkFkZERlcGFydG1lbnRFcnJvcjtcclxuICAgIHRoaXMuQWRkRGVwYXJ0bWVudEZvcm1PcHRpb25zLlBhZ2luZ1JlZmVyZW5jZSA9IHRoaXMucGFnaW5nRWxlbWVudCAgXHJcblxyXG4gICAgdGhpcy5BZGROYW1lID0gbmV3IE11bHRpTGluZ3VhbFRleHRCb3hPcHRpb25zKCk7XHJcbiAgICB0aGlzLkFkZE5hbWUuTmFtZSA9IFwiQWRkTmFtZVwiO1xyXG4gICAgdGhpcy5BZGROYW1lLkFyYWJpY0xhYmVsS2V5ID0gXCJOYW1lSW5BcmFiaWNcIjtcclxuICAgIHRoaXMuQWRkTmFtZS5FbmdsaXNoTGFiZWxLZXkgPSBcIk5hbWVJbkVuZ2xpc2hcIjtcclxuICAgIHRoaXMuQWRkTmFtZS5Jc1JlcXVpcmVkID0gdHJ1ZTtcclxuICAgIHRoaXMuQWRkTmFtZS5WYWx1ZSA9IG51bGw7XHJcbiAgICBcclxuICAgIHRoaXMuQWRkU2FtQWNjb3VudCA9IG5ldyBUZXh0Qm94T3B0aW9ucygpO1xyXG4gICAgdGhpcy5BZGRTYW1BY2NvdW50Lk5hbWUgPSBcIkFkZFNhbUFjY291bnRcIjtcclxuICAgIHRoaXMuQWRkU2FtQWNjb3VudC5MYWJlbEtleSA9IFwiU2FtQWNjb3VudFwiO1xyXG4gICAgdGhpcy5BZGRTYW1BY2NvdW50LlR5cGUgPSBJbnB1dFR5cGUuVGV4dDtcclxuICAgIHRoaXMuQWRkU2FtQWNjb3VudC5WYWx1ZSA9IG51bGw7XHJcblxyXG4gICAgdGhpcy5tb2RhbFNlcnZpY2Uub3BlbihhZGREZXBhcnRtZW50TW9kYWwpO1xyXG4gICAgdGhpcy51dGlsaXR5U2VydmljZS5zdG9wQmxvY2tVSSgpO1xyXG4gICAgY29uc29sZS5sb2coIHRoaXMuQWRkU2FtQWNjb3VudClcclxuICB9XHJcblxyXG4gIGdldEFkZERlcGFydG1lbnRNb2RlbCA9ICgpID0+IHtcclxuICAgIGxldCBwYXJhbUFycmF5OiBhbnlbXSA9IFtdO1xyXG4gICAgbGV0IFJlc3VsdE1vZGVsID0gdGhpcy5BZGREZXBhcnRtZW50Rm9ybS52YWx1ZTtcclxuICAgIGxldCBBZGRNb2RlbDogRGVwYXJ0bWVudE1vZGVsID0gbmV3IERlcGFydG1lbnRNb2RlbCgpO1xyXG4gICAgQWRkTW9kZWwuc2FtQWNjb3VudCA9IFJlc3VsdE1vZGVsLkFkZFNhbUFjY291bnQ7XHJcbiAgICBBZGRNb2RlbC5kZXBhcnRtZW50TmFtZURUTy5BcmFiaWMgPSBSZXN1bHRNb2RlbC5BZGROYW1lLkFyYWJpYztcclxuICAgIEFkZE1vZGVsLmRlcGFydG1lbnROYW1lRFRPLkVuZ2xpc2ggPSBSZXN1bHRNb2RlbC5BZGROYW1lLkVuZ2xpc2g7XHJcbiAgICBwYXJhbUFycmF5LnB1c2goQWRkTW9kZWwpO1xyXG4gICAgcmV0dXJuIHBhcmFtQXJyYXk7XHJcbiAgfVxyXG5cclxuICBnZXRBZGREZXBhcnRtZW50RnVuY3Rpb24gPSAoQWRkTW9kZWwpOiBPYnNlcnZhYmxlPGFueT4gPT4ge1xyXG4gICAgcmV0dXJuIHRoaXMuZGVwYXJ0bWVudFNlcnZpY2UuYWRkRGVwYXJ0bWVudChBZGRNb2RlbClcclxuICB9XHJcbiAgb25BZGREZXBhcnRtZW50U3VjY2VzcyA9IChyZXN1bHQpID0+IHtcclxuICAgIGNvbnNvbGUubG9nKHJlc3VsdCk7XHJcbiAgfVxyXG4gIG9uQWRkRGVwYXJ0bWVudEVycm9yID0gKGVycm9yKSA9PiB7XHJcbiAgICBjb25zb2xlLmxvZyhlcnJvcik7XHJcbiAgfVxyXG4gIC8vRWRpdCBkZXBhcnRtZW50XHJcbiAgc2hvd0VkaXREZXBhcnRtZW50TW9kYWwoZGVwYXJ0bWVudElkOiBudW1iZXIsZGVwYXJ0bWVudElERW5jOiBzdHJpbmcsIGVkaXREZXBhcnRtZW50TW9kYWwpIHtcclxuICAgIHRoaXMuRWRpdERlcGFydG1lbnRGb3JtID0gbmV3IEZvcm1Hcm91cCh7fSk7XHJcblxyXG4gICAgdGhpcy5FZGl0RGVwYXJ0bWVudEZvcm1PcHRpb25zID0gbmV3IEZvcm1PcHRpb25zKCk7XHJcbiAgICB0aGlzLkVkaXREZXBhcnRtZW50Rm9ybU9wdGlvbnMuRm9ybUdyb3VwID0gdGhpcy5FZGl0RGVwYXJ0bWVudEZvcm1cclxuICAgIHRoaXMuRWRpdERlcGFydG1lbnRGb3JtT3B0aW9ucy5HZXRNb2RlbEZ1bmN0aW9uID0gdGhpcy5nZXRFZGl0RGVwYXJ0bWVudE1vZGVsO1xyXG4gICAgdGhpcy5FZGl0RGVwYXJ0bWVudEZvcm1PcHRpb25zLlNlcnZpY2VTdWJtaXRGdW5jdGlvbiA9IHRoaXMuZ2V0RWRpdERlcGFydG1lbnRGdW5jdGlvbjtcclxuICAgIHRoaXMuRWRpdERlcGFydG1lbnRGb3JtT3B0aW9ucy5PblN1Y2Nlc3NIYW5kbGVyID0gdGhpcy5vbkVkaXREZXBhcnRtZW50U3VjY2VzcztcclxuICAgIHRoaXMuRWRpdERlcGFydG1lbnRGb3JtT3B0aW9ucy5PbkVycm9ySGFuZGxlciA9IHRoaXMub25FZGl0RGVwYXJ0bWVudEVycm9yO1xyXG4gICAgdGhpcy5FZGl0RGVwYXJ0bWVudEZvcm1PcHRpb25zLlBhZ2luZ1JlZmVyZW5jZSA9IHRoaXMucGFnaW5nRWxlbWVudFxyXG5cclxuICAgIHRoaXMuRGVwYXJ0bWVudElkID0gZGVwYXJ0bWVudElkO1xyXG4gICAgdGhpcy5yZXF1ZXN0SGFuZGxlclNlcnZpY2UuZ2V0THVja3lOdW1iZXIoKS5zdWJzY3JpYmUoKCk9Pnt9KVxyXG4gICAgdGhpcy5kZXBhcnRtZW50U2VydmljZS5nZXRFZGl0RGVwYXJ0bWVudChkZXBhcnRtZW50SURFbmMpLnN1YnNjcmliZSgocmVzdWx0OiBhbnkpID0+IHtcclxuICAgICAgbGV0IGRlcGFydG1lbnQgPSByZXN1bHQubW9kZWwgYXMgYW55O1xyXG5cclxuICAgICAgbGV0IG5hbWUgPSBuZXcgRW5nbGlzaEFyYWJpY0RUTygpO1xyXG4gICAgICBuYW1lLkFyYWJpYyA9IGRlcGFydG1lbnQuZGVwYXJ0bWVudE5hbWVEVE8uYXJhYmljO1xyXG4gICAgICBuYW1lLkVuZ2xpc2ggPSBkZXBhcnRtZW50LmRlcGFydG1lbnROYW1lRFRPLmVuZ2xpc2g7XHJcblxyXG4gICAgICB0aGlzLkVkaXROYW1lID0gbmV3IE11bHRpTGluZ3VhbFRleHRCb3hPcHRpb25zKCk7XHJcbiAgICAgIHRoaXMuRWRpdE5hbWUuTmFtZSA9IFwiRWRpdE5hbWVcIjtcclxuICAgICAgdGhpcy5FZGl0TmFtZS5BcmFiaWNMYWJlbEtleSA9IFwiTmFtZUluQXJhYmljXCI7XHJcbiAgICAgIHRoaXMuRWRpdE5hbWUuRW5nbGlzaExhYmVsS2V5ID0gXCJOYW1lSW5FbmdsaXNoXCI7XHJcbiAgICAgIHRoaXMuRWRpdE5hbWUuSXNSZXF1aXJlZCA9IHRydWU7XHJcbiAgICAgIHRoaXMuRWRpdE5hbWUuVmFsdWUgPSBuYW1lO1xyXG5cclxuXHJcbiAgICAgIHRoaXMuRWRpdFNhbUFjY291bnQgPSBuZXcgVGV4dEJveE9wdGlvbnMoKTtcclxuICAgICAgdGhpcy5FZGl0U2FtQWNjb3VudC5OYW1lID0gXCJFZGl0U2FtQWNjb3VudFwiO1xyXG4gICAgICB0aGlzLkVkaXRTYW1BY2NvdW50LkxhYmVsS2V5ID0gXCJTYW1BY2NvdW50XCI7XHJcbiAgICAgIHRoaXMuRWRpdFNhbUFjY291bnQuVHlwZSA9IElucHV0VHlwZS5UZXh0O1xyXG4gICAgICB0aGlzLkVkaXRTYW1BY2NvdW50LlZhbHVlID0gZGVwYXJ0bWVudC5zYW1BY2NvdW50O1xyXG5cclxuICAgICAgdGhpcy5tb2RhbFNlcnZpY2Uub3BlbihlZGl0RGVwYXJ0bWVudE1vZGFsKTtcclxuXHJcbiAgICB9KTtcclxuXHJcbiAgfVxyXG5cclxuICBnZXRFZGl0RGVwYXJ0bWVudE1vZGVsID0gKCkgPT4ge1xyXG4gICAgbGV0IHBhcmFtQXJyYXk6IGFueVtdID0gW107XHJcbiAgICBsZXQgUmVzdWx0TW9kZWwgPSB0aGlzLkVkaXREZXBhcnRtZW50Rm9ybS52YWx1ZTtcclxuICAgIGxldCBFZGl0TW9kZWw6IERlcGFydG1lbnRNb2RlbCA9IG5ldyBEZXBhcnRtZW50TW9kZWwoKTtcclxuICAgIEVkaXRNb2RlbC5pZCA9IHRoaXMuRGVwYXJ0bWVudElkO1xyXG4gICAgRWRpdE1vZGVsLmRlcGFydG1lbnROYW1lRFRPLkVuZ2xpc2ggPSBSZXN1bHRNb2RlbC5FZGl0TmFtZS5FbmdsaXNoO1xyXG4gICAgRWRpdE1vZGVsLmRlcGFydG1lbnROYW1lRFRPLkFyYWJpYyA9IFJlc3VsdE1vZGVsLkVkaXROYW1lLkFyYWJpYztcclxuICAgIEVkaXRNb2RlbC5zYW1BY2NvdW50ID0gUmVzdWx0TW9kZWwuRWRpdFNhbUFjY291bnQ7XHJcbiAgICBwYXJhbUFycmF5LnB1c2goRWRpdE1vZGVsKTtcclxuICAgIHJldHVybiBwYXJhbUFycmF5O1xyXG4gIH1cclxuXHJcbiAgZ2V0RWRpdERlcGFydG1lbnRGdW5jdGlvbiA9IChFZGl0TW9kZWwpOiBPYnNlcnZhYmxlPGFueT4gPT4ge1xyXG4gICAgcmV0dXJuIHRoaXMuZGVwYXJ0bWVudFNlcnZpY2UuZWRpdERlcGFydG1lbnQoRWRpdE1vZGVsKVxyXG4gIH1cclxuICBvbkVkaXREZXBhcnRtZW50U3VjY2VzcyA9IChyZXN1bHQpID0+IHtcclxuICAgIGNvbnNvbGUubG9nKHJlc3VsdCk7XHJcbiAgfVxyXG4gIG9uRWRpdERlcGFydG1lbnRFcnJvciA9IChlcnJvcikgPT4ge1xyXG4gICAgY29uc29sZS5sb2coZXJyb3IpO1xyXG4gIH1cclxuXHJcbiAgLy9EZWxldGUgZGVwYXJ0bWVudFxyXG4gIHNob3dEZWxldGVEZXBhcnRtZW50TW9kYWwoZGVwYXJ0bWVudElkRW5jOiBhbnkpIHtcclxuICAgIHRoaXMuZGVsZXRlRGVwYXJ0bWVudElkID0gZGVwYXJ0bWVudElkRW5jO1xyXG5cclxuICAgIC8vYXJyYXkgc2VudCB0byBzZXJ2aWNlIGZ1bmN0aW9uXHJcbiAgICBsZXQgcGFyYW1BcnJheTogYW55W10gPSBbXTtcclxuICAgIHBhcmFtQXJyYXkucHVzaCh0aGlzLmRlbGV0ZURlcGFydG1lbnRJZCk7XHJcblxyXG4gICAgdGhpcy5EZWxldGVDb25maXJtYXRpb25PcHRpb25zID0gbmV3IENvbmZpcm1hdGlvbk1vZGFsT3B0aW9ucygpO1xyXG4gICAgdGhpcy5EZWxldGVDb25maXJtYXRpb25PcHRpb25zLlNlcnZpY2VTdWJtaXRGdW5jdGlvbiA9IHRoaXMuZGVsZXRlRGVwYXJ0bWVudDtcclxuICAgIHRoaXMuRGVsZXRlQ29uZmlybWF0aW9uT3B0aW9ucy5TZXJ2aWNlU3VibWl0TW9kZWwgPSBwYXJhbUFycmF5O1xyXG4gICAgdGhpcy5EZWxldGVDb25maXJtYXRpb25PcHRpb25zLlBhZ2luZ1JlZmVyZW5jZSA9IHRoaXMucGFnaW5nRWxlbWVudDtcclxuXHJcbiAgICB0aGlzLmRlbGV0ZUNvbnRyb2xMb2FkZWQgPSB0cnVlO1xyXG4gICAgc2V0VGltZW91dCgoKSA9PiB7XHJcbiAgICAgIHRoaXMuQ29uZmlybWF0aW9uTW9kYWxDb250cm9sLnNob3dNb2RhbCgpO1xyXG4gICAgfSwgMjAwKTtcclxuICB9XHJcblxyXG4gIGRlbGV0ZURlcGFydG1lbnQgPSAoaWQ6IHN0cmluZyk6IE9ic2VydmFibGU8YW55PiA9PiB7XHJcbiAgICByZXR1cm4gdGhpcy5kZXBhcnRtZW50U2VydmljZS5kZWxldGVEZXBhcnRtZW50KGlkKTtcclxuICB9XHJcblxyXG4gIC8qKkZ1bmN0aW9uTmFtZTpmaWx0ZXJEZXBhcnRtZW50TGlzdCAqL1xyXG4gIC8qKkRlY2xhcmF0aW9uOmZ1bmN0aW9uIHRvIGZpbHRlciBEZXBhcnRtZW50TGlzdCBpbiBjbGllbnQtc2lkZSAqL1xyXG4gIC8qKlBhcmFtZXRlcnM6Ki9cclxuICAvKipzZWFyY2hWYWx1ZTogY3VycmVudCB2YWx1ZSBvZiBzZWFyY2ggYm94Ki9cclxuICBmaWx0ZXJEZXBhcnRtZW50TGlzdChzZWFyY2hWYWx1ZSl7XHJcbiAgICBpZihzZWFyY2hWYWx1ZSlcclxuICAgIHRoaXMuRGVwYXJ0bWVudEZpbHRlcmVkTGlzdD0gdGhpcy5EZXBhcnRtZW50UGFnaW5nUmVzdWx0LmZpbHRlcihpdGVtID0+IGl0ZW0uZGVwYXJ0bWVudE5hbWUudG9Mb3dlckNhc2UoKS5pbmNsdWRlcyhzZWFyY2hWYWx1ZS50b0xvd2VyQ2FzZSgpKSk7XHJcbiAgICBlbHNlXHJcbiAgICB0aGlzLkRlcGFydG1lbnRGaWx0ZXJlZExpc3Q9IHRoaXMuRGVwYXJ0bWVudFBhZ2luZ1Jlc3VsdFxyXG4gIH1cclxuXHJcbiAgbmdPbkRlc3Ryb3koKTogdm9pZCB7XHJcbiAgICB0aGlzLnJlcXVlc3RIYW5kbGVyU2VydmljZS5vbkRlc3Ryb3kkLm5leHQoKTtcclxuIFxyXG4gIH1cclxuXHJcbn1cclxuIiwiPGJsb2NrLXVpPjwvYmxvY2stdWk+XHJcbjwhLS0gUGFnZSBDb250ZW50IC0tPlxyXG48ZGl2ICBjbGFzcz1cImNvbnRhaW5lci1mbHVpZFwiPlxyXG4gIDxkaXYgY2xhc3M9XCJjYXJkIGNhcmQtY3VzdG9tLWhcIj5cclxuICAgIDxkaXYgY2xhc3M9XCJjYXJkLWhlYWRlciBib3JkZXItMCBwdC01XCI+XHJcbiAgICAgIDxkaXYgY2xhc3M9XCJjYXJkLXRpdGxlIGFsaWduLWl0ZW1zLXN0YXJ0IGZsZXgtY29sdW1uXCIgKm5nSWY9XCJJc0ZpbHRlckxvYWRlZFwiPlxyXG4gICAgICAgICAgPEJCU0YtVGV4dEJveCBbb3B0aW9uc109XCJzZWFyY2hUZXh0Qm94XCIgIChPbkNoYW5nZSk9XCJmaWx0ZXJEZXBhcnRtZW50TGlzdCgkZXZlbnQpXCIgW2dyb3VwXT1cIkRlcGFydG1lbnRGb3JtXCI+PC9CQlNGLVRleHRCb3g+XHJcbiAgICAgIDwvZGl2PlxyXG4gICAgICA8ZGl2IGNsYXNzPVwiY2FyZC10b29sYmFyXCI+XHJcbiAgICAgICAgPCEtLSBiZWdpbjo6TWVudSAtLT5cclxuICAgICAgICA8YnV0dG9uIHR5cGU9XCJidXR0b25cIiBjbGFzcz1cImJ0biBidG4tc20gYnRuLXByaW1hcnlcIiB0aXRsZT1cIkFkZFwiIChjbGljayk9XCJzaG93QWRkRGVwYXJ0bWVudE1vZGFsKEFkZERlcGFydG1lbnRNb2RhbClcIj5cclxuICAgICAgICAgIDxpIGNsYXNzPVwiZmFzIGZhLXBsdXMgbWUtMVwiPjwvaT5cclxuICAgICAgICAgIHt7dXRpbGl0eVNlcnZpY2UuZ2V0UmVzb3VyY2VWYWx1ZShcIkFkZFwiKX19XHJcbiAgICAgICAgPC9idXR0b24+XHJcblxyXG4gICAgICAgIDwhLS0gZW5kOjpNZW51IC0tPlxyXG4gICAgICA8L2Rpdj5cclxuICAgIDwvZGl2PlxyXG4gICAgPGRpdiBjbGFzcz1cImNhcmQtYm9keSBweS0zXCI+XHJcbiAgICAgIDxkaXYgY2xhc3M9XCJ0YWJsZS1yZXNwb25zaXZlXCI+XHJcbiAgICAgICAgPCEtLWJlZ2luOjpQZXJtaXNzaW9uIGxpc3QtLT5cclxuICAgICAgICA8dGFibGUgY2xhc3M9XCJ0YWJsZSBhbGlnbi1taWRkbGUgdGFibGUtcm93LWRhc2hlZCBmcy02IGd5LTUgZGF0YVRhYmxlIG5vLWZvb3RlclwiPlxyXG4gICAgICAgICAgPHRoZWFkPlxyXG4gICAgICAgICAgICA8dHIgY2xhc3M9XCJ0ZXh0LXN0YXJ0IHRleHQtZ3JheS00MDAgZnctYm9sZGVyIGZzLTcgdGV4dC11cHBlcmNhc2UgZ3MtMFwiPlxyXG4gICAgICAgICAgICAgIDx0aCBjbGFzcz1cIm1pbi13LTE1MHB4XCI+e3t1dGlsaXR5U2VydmljZS5nZXRSZXNvdXJjZVZhbHVlKFwiTmFtZVwiKX19PC90aD5cclxuICAgICAgICAgICAgICA8dGggY2xhc3M9XCJtaW4tdy0xNTBweFwiPnt7dXRpbGl0eVNlcnZpY2UuZ2V0UmVzb3VyY2VWYWx1ZShcIlNhbUFjY291bnRcIil9fTwvdGg+XHJcbiAgICAgICAgICAgICAgPHRoIGNsYXNzPVwibWluLXctMTUwcHhcIj57e3V0aWxpdHlTZXJ2aWNlLmdldFJlc291cmNlVmFsdWUoXCJVc2Vyc0NvdW50XCIpfX08L3RoPlxyXG4gICAgICAgICAgICAgIDx0aCBjbGFzcz1cIm1pbi13LTUwcHhcIj57e3V0aWxpdHlTZXJ2aWNlLmdldFJlc291cmNlVmFsdWUoXCJBY3Rpb25cIil9fTwvdGg+XHJcbiAgICAgICAgICAgIDwvdHI+XHJcbiAgICAgICAgICA8L3RoZWFkPlxyXG4gICAgICAgICAgPHRib2R5IGlkPVwibGlzdGluZ0NvbnRhaW5lclwiIGNsYXNzPVwiZnctYm9sZCB0ZXh0LWdyYXktNjAwIGJvcmRlci0wXCI+XHJcblxyXG4gICAgICAgICAgICA8dHIgKm5nRm9yPVwibGV0IERlcGFydG1lbnQgb2YgRGVwYXJ0bWVudEZpbHRlcmVkTGlzdFwiPlxyXG5cclxuICAgICAgICAgICAgICA8dGQ+XHJcbiAgICAgICAgICAgICAgICA8YSBocmVmPVwiamF2YXNjcmlwdDp2b2lkKDApXCIgW3JvdXRlckxpbmtdPVwiWycvQWRtaW4vRGVwYXJ0bWVudHMvRGVwYXJ0bWVudEluZm8nLERlcGFydG1lbnQuaWRFbmNyeXB0ZWRdXCIgcm91dGVyTGlua0FjdGl2ZT1cInJvdXRlci1saW5rLWFjdGl2ZVwiXHJcbiAgICAgICAgICAgICAgICAgICBjbGFzcz1cInRleHQtZGFya1wiPnt7RGVwYXJ0bWVudC5kZXBhcnRtZW50TmFtZX19PC9hPlxyXG5cclxuICAgICAgICAgICAgICA8L3RkPlxyXG4gICAgICAgICAgICAgIDx0ZD57e0RlcGFydG1lbnQuc2FtQWNjb3VudH19PC90ZD5cclxuICAgICAgICAgICAgICA8dGQ+e3tEZXBhcnRtZW50LnVzZXJzQ291bnR9fTwvdGQ+XHJcbiAgICAgICAgICAgICAgPHRkPlxyXG4gICAgICAgICAgICAgICAgPGRpdj5cclxuICAgICAgICAgICAgICAgICAgPGJ1dHRvbiBtYXQtYnV0dG9uIFttYXRNZW51VHJpZ2dlckZvcl09XCJtZW51XCIgY2xhc3M9XCJidG4gYnRuLXNtIGJ0bi1pY29uIGJ0bi1saWdodCBidG4tYWN0aXZlLWxpZ2h0LXByaW1hcnlcIj5cclxuICAgICAgICAgICAgICAgICAgICA8aSBjbGFzcz1cImZhIGZhLWVsbGlwc2lzLWhcIiBhcmlhLWhpZGRlbj1cInRydWVcIj48L2k+XHJcbiAgICAgICAgICAgICAgICAgIDwvYnV0dG9uPlxyXG4gICAgICAgICAgICAgICAgICA8bWF0LW1lbnUgI21lbnU9XCJtYXRNZW51XCI+XHJcbiAgICAgICAgICAgICAgICAgICAgPGJ1dHRvbiBjbGFzcz1cImRyb3AtaXRlbSBweC0zXCIgbmdiRHJvcGRvd25JdGVtXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAoY2xpY2spPVwic2hvd0VkaXREZXBhcnRtZW50TW9kYWwoRGVwYXJ0bWVudC5pZCxEZXBhcnRtZW50LmlkRW5jcnlwdGVkLEVkaXREZXBhcnRtZW50TW9kYWwpXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cImRyb3AtbGluayBweC0zXCI+e3t1dGlsaXR5U2VydmljZS5nZXRSZXNvdXJjZVZhbHVlKFwiRWRpdFwiKX19PC9zcGFuPlxyXG4gICAgICAgICAgICAgICAgICAgIDwvYnV0dG9uPlxyXG4gICAgICAgICAgICAgICAgICAgIDxhIG5nYkRyb3Bkb3duSXRlbSBjbGFzcz1cImRyb3AtaXRlbSBweC0zXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAoY2xpY2spPVwic2hvd0RlbGV0ZURlcGFydG1lbnRNb2RhbChEZXBhcnRtZW50LmlkRW5jcnlwdGVkKVwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJkcm9wLWxpbmsgcHgtM1wiPnt7dXRpbGl0eVNlcnZpY2UuZ2V0UmVzb3VyY2VWYWx1ZShcIkRlbGV0ZVwiKX19PC9zcGFuPlxyXG4gICAgICAgICAgICAgICAgICAgIDwvYT5cclxuICAgICAgICAgICAgICAgICAgPC9tYXQtbWVudT5cclxuICAgICAgICAgICAgICAgIDwvZGl2PlxyXG5cclxuICAgICAgICAgICAgICA8L3RkPlxyXG4gICAgICAgICAgICA8L3RyPlxyXG4gICAgICAgICAgICA8dHIgKm5nSWY9XCJEZXBhcnRtZW50RmlsdGVyZWRMaXN0Lmxlbmd0aCA9PSAwXCI+XHJcbiAgICAgICAgICAgICAgPHRkIGNvbHNwYW49XCI0XCI+XHJcbiAgICAgICAgICAgICAgICA8bGliLWVtcHR5LWRhdGE+PC9saWItZW1wdHktZGF0YT5cclxuICAgICAgICAgICAgICA8L3RkPlxyXG4gICAgICAgICAgICA8L3RyPlxyXG4gICAgICAgICAgPC90Ym9keT5cclxuICAgICAgICA8L3RhYmxlPlxyXG5cclxuICAgICAgICA8IS0tZW5kOjpQZXJtaXNzaW9uIGxpc3QtLT5cclxuICAgICAgPC9kaXY+XHJcblxyXG4gICAgPC9kaXY+XHJcbiAgICA8ZGl2IGNsYXNzPVwiY2FyZC1mb290ZXIgYm9yZGVyLTBcIj5cclxuICAgICAgPEJCU0YtUGFnaW5nIChJdGVtcyk9XCJzZXREZXBhcnRtZW50TGlzdFJlc3VsdCgkZXZlbnQpXCIgKm5nSWY9XCJJc0ZpbHRlckxvYWRlZFwiXHJcbiAgICAgICAgICAgICAgICAgICBbb3B0aW9uc109XCJEZXBhcnRtZW50UGFnaW5nXCIgW2dyb3VwXT1cIkRlcGFydG1lbnRGb3JtXCIgI0RlcGFydG1lbnRQYWdpbmdWaWV3RWxlbWVudD5cclxuICAgICAgPC9CQlNGLVBhZ2luZz5cclxuICAgIDwvZGl2PlxyXG4gIDwvZGl2PlxyXG5cclxuPC9kaXY+XHJcblxyXG48IS0tYWRkIE1vZGFsLS0+XHJcbjxuZy10ZW1wbGF0ZSAjQWRkRGVwYXJ0bWVudE1vZGFsIGxldC1tb2RhbD5cclxuICA8ZGl2IGNsYXNzPVwibW9kYWwtaGVhZGVyIHBiLTAgYm9yZGVyLTAganVzdGlmeS1jb250ZW50LWVuZFwiPlxyXG4gICAgPGg1IGNsYXNzPVwibW9kYWwtdGl0bGVcIiBpZD1cImV4YW1wbGVNb2RhbExhYmVsXCI+PC9oNT5cclxuICAgIDxidXR0b24gdHlwZT1cImJ1dHRvblwiIGRhdGEtZGlzbWlzcz1cIm1vZGFsXCIgYXJpYS1sYWJlbD1cIkNsb3NlXCIgY2xhc3M9XCJidG4gYnRuLXNtIGJ0bi1pY29uIGJ0bi1hY3RpdmUtY29sb3ItcHJpbWFyeVwiIChjbGljayk9XCJtb2RhbC5kaXNtaXNzKClcIj5cclxuICAgICAgPHNwYW4gY2xhc3M9XCJzdmctaWNvbiBzdmctaWNvbi0xXCI+XHJcbiAgICAgICAgPHNwYW4gW2lubGluZVNWR109XCInLi9zcmMvYXNzZXRzL2ltYWdlcy9hcnIwNjEuc3ZnJ1wiPjwvc3Bhbj5cclxuICAgICAgPC9zcGFuPlxyXG4gICAgPC9idXR0b24+XHJcbiAgPC9kaXY+XHJcbiAgPGRpdiBjbGFzcz1cIm1vZGFsLWJvZHkgc2Nyb2xsLXkgcHgtMTAgcHgtbGctMTUgcHQtMCBwYi0xNVwiPlxyXG4gICAgPGRpdiBjbGFzcz1cIm1iLTEzIHRleHQtY2VudGVyXCI+XHJcbiAgICAgIDxoMSBjbGFzcz1cIm1iLTNcIj4ge3t1dGlsaXR5U2VydmljZS5nZXRSZXNvdXJjZVZhbHVlKFwiQWRkXCIpfX0ge3t1dGlsaXR5U2VydmljZS5nZXRSZXNvdXJjZVZhbHVlKFwiRGVwYXJ0bWVudFwiKX19PC9oMT5cclxuICAgIDwvZGl2PlxyXG4gICAgPEJCU0YtRm9ybSBbb3B0aW9uc109XCJBZGREZXBhcnRtZW50Rm9ybU9wdGlvbnNcIj5cclxuXHJcbiAgICAgIDxkaXYgY2xhc3M9XCJyb3dcIj5cclxuICAgICAgICA8ZGl2IGNsYXNzPVwiY29sLW1kLTEyXCI+XHJcbiAgICAgICAgICA8QkJTRi1NdWx0aUxpbmd1YWxUZXh0Qm94IFtvcHRpb25zXT1cIkFkZE5hbWVcIiBbZ3JvdXBdPVwiQWRkRGVwYXJ0bWVudEZvcm1cIj48L0JCU0YtTXVsdGlMaW5ndWFsVGV4dEJveD5cclxuICAgICAgICA8L2Rpdj5cclxuICAgICAgPC9kaXY+XHJcbiAgICAgIDxkaXYgY2xhc3M9XCJyb3dcIj5cclxuICAgICAgICA8ZGl2IGNsYXNzPVwiY29sLW1kLTEyXCI+XHJcbiAgICAgICAgICA8QkJTRi1UZXh0Qm94IFtvcHRpb25zXT1cIkFkZFNhbUFjY291bnRcIiBbZ3JvdXBdPVwiQWRkRGVwYXJ0bWVudEZvcm1cIiA+XHJcbiAgICAgICAgICA8L0JCU0YtVGV4dEJveD5cclxuICAgICAgICA8L2Rpdj5cclxuICAgICAgPC9kaXY+XHJcbiAgICAgIDxkaXYgY2xhc3M9XCJ0ZXh0LWNlbnRlciBwdC03XCI+XHJcbiAgICAgICAgPGJ1dHRvbiAjQ2xvc2VEZXBhcnRtZW50TW9kYWwgaWQ9XCJDbG9zZURlcGFydG1lbnRNb2RhbFwiIHR5cGU9XCJidXR0b25cIlxyXG4gICAgICAgICAgICAgICAgY2xhc3M9XCJidG4gYnRuLWxpZ2h0IGJ0bi1zbSAgbWUtM1wiIGRhdGEtZGlzbWlzcz1cIm1vZGFsXCIgKGNsaWNrKT1cIm1vZGFsLmRpc21pc3MoKVwiPlxyXG4gICAgICAgICAge3t1dGlsaXR5U2VydmljZS5nZXRSZXNvdXJjZVZhbHVlKFwiQ2FuY2VsTGFiZWxcIil9fVxyXG4gICAgICAgIDwvYnV0dG9uPlxyXG4gICAgICAgIDxidXR0b24gdHlwZT1cInN1Ym1pdFwiIGNsYXNzPVwiYnRuIGJ0bi1wcmltYXJ5IGJ0bi1zbVwiPnt7dXRpbGl0eVNlcnZpY2UuZ2V0UmVzb3VyY2VWYWx1ZShcIlNhdmVMYWJlbFwiKX19PC9idXR0b24+XHJcbiAgICAgIDwvZGl2PlxyXG4gICAgPC9CQlNGLUZvcm0+XHJcbiAgPC9kaXY+XHJcbjwvbmctdGVtcGxhdGU+XHJcbjwhLS1FZGl0IE1vZGFsLS0+XHJcbjxuZy10ZW1wbGF0ZSAjRWRpdERlcGFydG1lbnRNb2RhbCBsZXQtbW9kYWw+XHJcbiAgPGRpdiBjbGFzcz1cIm1vZGFsLWhlYWRlciBwYi0wIGJvcmRlci0wIGp1c3RpZnktY29udGVudC1lbmRcIj5cclxuICAgIDxoNSBjbGFzcz1cIm1vZGFsLXRpdGxlXCIgaWQ9XCJleGFtcGxlTW9kYWxMYWJlbFwiPjwvaDU+XHJcbiAgICA8YnV0dG9uIHR5cGU9XCJidXR0b25cIiBkYXRhLWRpc21pc3M9XCJtb2RhbFwiIGFyaWEtbGFiZWw9XCJDbG9zZVwiIGNsYXNzPVwiYnRuIGJ0bi1zbSBidG4taWNvbiBidG4tYWN0aXZlLWNvbG9yLXByaW1hcnlcIiAoY2xpY2spPVwibW9kYWwuZGlzbWlzcygpXCI+XHJcbiAgICAgIDxzcGFuIGNsYXNzPVwic3ZnLWljb24gc3ZnLWljb24tMVwiPlxyXG4gICAgICAgIDxzcGFuIFtpbmxpbmVTVkddPVwiJy4vc3JjL2Fzc2V0cy9pbWFnZXMvYXJyMDYxLnN2ZydcIj48L3NwYW4+XHJcbiAgICAgIDwvc3Bhbj5cclxuICAgIDwvYnV0dG9uPlxyXG4gIDwvZGl2PlxyXG4gIDxkaXYgY2xhc3M9XCJtb2RhbC1ib2R5IHNjcm9sbC15IHB4LTEwIHB4LWxnLTE1IHB0LTAgcGItMTVcIj5cclxuICAgIDxkaXYgY2xhc3M9XCJtYi0xMyB0ZXh0LWNlbnRlclwiPlxyXG4gICAgICA8aDEgY2xhc3M9XCJtYi0zXCI+e3t1dGlsaXR5U2VydmljZS5nZXRSZXNvdXJjZVZhbHVlKFwiRWRpdFwiKX19IHt7dXRpbGl0eVNlcnZpY2UuZ2V0UmVzb3VyY2VWYWx1ZShcIkRlcGFydG1lbnRcIil9fTwvaDE+XHJcbiAgICA8L2Rpdj5cclxuICAgIDxCQlNGLUZvcm0gW29wdGlvbnNdPVwiRWRpdERlcGFydG1lbnRGb3JtT3B0aW9uc1wiPlxyXG4gICAgICA8ZGl2IGNsYXNzPVwicm93XCI+XHJcbiAgICAgICAgPGRpdiBjbGFzcz1cImNvbC1tZC0xMlwiPlxyXG4gICAgICAgICAgPEJCU0YtTXVsdGlMaW5ndWFsVGV4dEJveCBbb3B0aW9uc109XCJFZGl0TmFtZVwiIFtncm91cF09XCJFZGl0RGVwYXJ0bWVudEZvcm1cIj48L0JCU0YtTXVsdGlMaW5ndWFsVGV4dEJveD5cclxuICAgICAgICA8L2Rpdj5cclxuICAgICAgPC9kaXY+XHJcbiAgICAgIDxkaXYgY2xhc3M9XCJyb3dcIj5cclxuICAgICAgICA8ZGl2IGNsYXNzPVwiY29sLW1kLTEyXCI+XHJcbiAgICAgICAgICA8QkJTRi1UZXh0Qm94IFtvcHRpb25zXT1cIkVkaXRTYW1BY2NvdW50XCIgW2dyb3VwXT1cIkVkaXREZXBhcnRtZW50Rm9ybVwiPlxyXG4gICAgICAgICAgPC9CQlNGLVRleHRCb3g+XHJcbiAgICAgICAgPC9kaXY+XHJcbiAgICAgIDwvZGl2PlxyXG4gICAgICA8ZGl2IGNsYXNzPVwidGV4dC1jZW50ZXIgcHQtN1wiPlxyXG4gICAgICAgIDxidXR0b24gI0Nsb3NlRWRpdERlcGFydG1lbnRNb2RhbCBpZD1cIkNsb3NlRWRpdERlcGFydG1lbnRNb2RhbFwiIHR5cGU9XCJidXR0b25cIlxyXG4gICAgICAgICAgICAgICAgY2xhc3M9XCJidG4gYnRuLWxpZ2h0IGJ0bi1zbSAgbWUtM1wiIGRhdGEtZGlzbWlzcz1cIm1vZGFsXCIgKGNsaWNrKT1cIm1vZGFsLmRpc21pc3MoKVwiPlxyXG4gICAgICAgICAge3t1dGlsaXR5U2VydmljZS5nZXRSZXNvdXJjZVZhbHVlKFwiQ2FuY2VsTGFiZWxcIil9fVxyXG4gICAgICAgIDwvYnV0dG9uPlxyXG4gICAgICAgIDxidXR0b24gdHlwZT1cInN1Ym1pdFwiIGNsYXNzPVwiYnRuIGJ0bi1wcmltYXJ5IGJ0bi1zbVwiPnt7dXRpbGl0eVNlcnZpY2UuZ2V0UmVzb3VyY2VWYWx1ZShcIlNhdmVMYWJlbFwiKX19PC9idXR0b24+XHJcbiAgICAgIDwvZGl2PlxyXG4gICAgPC9CQlNGLUZvcm0+XHJcbiAgPC9kaXY+XHJcbjwvbmctdGVtcGxhdGU+XHJcbjwhLS1kZWxldGUgTW9kYWwtLT5cclxuPEJCU0YtQ29uZmlybWF0aW9uTW9kYWwgKm5nSWY9XCJkZWxldGVDb250cm9sTG9hZGVkXCIgW29wdGlvbnNdPVwiRGVsZXRlQ29uZmlybWF0aW9uT3B0aW9uc1wiIGlkPVwiQ29uZmlybWF0aW9uTW9kYWxDb250cm9sXCIgI0NvbmZpcm1hdGlvbk1vZGFsQ29udHJvbD48L0JCU0YtQ29uZmlybWF0aW9uTW9kYWw+XHJcbiJdfQ==
@@ -191,4 +191,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.13", ngImpo
191
191
  type: ViewChild,
192
192
  args: ['ConfirmationModalControl', { static: false }]
193
193
  }] } });
194
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGVwYXJ0bWVudC1pbmZvLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2Jic2YtYWRtaW4tcG9ydGFsL3NyYy9saWIvUGFnZXMvZGVwYXJ0bWVudHMvZGVwYXJ0bWVudC1pbmZvL2RlcGFydG1lbnQtaW5mby5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9iYnNmLWFkbWluLXBvcnRhbC9zcmMvbGliL1BhZ2VzL2RlcGFydG1lbnRzL2RlcGFydG1lbnQtaW5mby9kZXBhcnRtZW50LWluZm8uY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBaUMsU0FBUyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ3BGLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUUzQyxPQUFPLEVBQUUsd0JBQXdCLEVBQUUsVUFBVSxFQUFFLFVBQVUsRUFBRSxXQUFXLEVBQUUsU0FBUyxFQUFFLGFBQWEsRUFBRSxnQkFBZ0IsRUFBRSxjQUFjLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQztBQUNwSyxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sb0RBQW9ELENBQUM7QUFDckYsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLHNEQUFzRCxDQUFDO0FBQ3ZGLE9BQU8sRUFBRSw2QkFBNkIsRUFBRSxNQUFNLG9FQUFvRSxDQUFDOzs7Ozs7Ozs7Ozs7O0FBV25ILE1BQU0sT0FBTyx1QkFBdUI7SUFpQ2xDLFlBQ1UsY0FBOEIsRUFDL0IsY0FBOEIsRUFDN0IsaUJBQW9DLEVBQ3BDLGVBQWdDLEVBQ2hDLFdBQXdCLEVBQ3hCLFlBQXNCLEVBQ3RCLHFCQUE0QztRQU41QyxtQkFBYyxHQUFkLGNBQWMsQ0FBZ0I7UUFDL0IsbUJBQWMsR0FBZCxjQUFjLENBQWdCO1FBQzdCLHNCQUFpQixHQUFqQixpQkFBaUIsQ0FB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bkMsU0FBUzttQkFBQztvQkFDVCxRQUFRLEVBQUUscUJBQXFCO29CQUMvQixXQUFXLEVBQUUsa0NBQWtDO2lCQUNoRDtxUkFvQmtFLGFBQWE7c0JBQTdFLFNBQVM7dUJBQUMsaUNBQWlDLEVBQUUsRUFBRSxNQUFNLEVBQUUsS0FBSyxFQUFFO2dCQWFMLHdCQUF3QjtzQkFBakYsU0FBUzt1QkFBQywwQkFBMEIsRUFBRSxFQUFFLE1BQU0sRUFBRSxLQUFLLEVBQUUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIEVsZW1lbnRSZWYsIE9uRGVzdHJveSwgT25Jbml0LCBWaWV3Q2hpbGQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgRm9ybUdyb3VwIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xyXG5pbXBvcnQgeyBBY3RpdmF0ZWRSb3V0ZSB9IGZyb20gJ0Bhbmd1bGFyL3JvdXRlcic7XHJcbmltcG9ydCB7IENvbmZpcm1hdGlvbk1vZGFsT3B0aW9ucywgRmlsdGVySXRlbSwgRmlsdGVyVHlwZSwgRm9ybU9wdGlvbnMsIElucHV0VHlwZSwgUGFnaW5nT3B0aW9ucywgVGFnc0lucHV0T3B0aW9ucywgVGV4dEJveE9wdGlvbnMgfSBmcm9tICdAYm5zaWdodHMvYmJzZi1jb250cm9scyc7XHJcbmltcG9ydCB7IFBhZ2VJbmZvU2VydmljZSB9IGZyb20gJy4uLy4uLy4uL19tZXRyb25pYy9jb3JlL3NlcnZpY2VzL3BhZ2UtaW5mby5zZXJ2aWNlJztcclxuaW1wb3J0IHsgRGVwYXJ0bWVudE1vZGVsIH0gZnJvbSAnLi4vLi4vc2hhcmVkL21vZGVscy9EZXBhcnRtZW50TW9kZWxzL0RlcGFydG1lbnRNb2RlbCc7XHJcbmltcG9ydCB7IERlcGFydG1lbnRVc2Vyc0lEUmVxdWVzdE1vZGVsIH0gZnJvbSAnLi4vLi4vc2hhcmVkL21vZGVscy9EZXBhcnRtZW50TW9kZWxzL0RlcGFydG1lbnRVc2Vyc0lEUmVxdWVzdE1vZGVsJztcclxuaW1wb3J0IHsgRGVwYXJ0bWVudFNlcnZpY2UgfSBmcm9tICcuLi8uLi9zaGFyZWQvU2VydmljZXMvRGVwYXJ0bWVudFNlcnZpY2Uuc2VydmljZSc7XHJcbmltcG9ydCB7IE5nYk1vZGFsIH0gZnJvbSAnQG5nLWJvb3RzdHJhcC9uZy1ib290c3RyYXAnO1xyXG5pbXBvcnQgeyBBdXRoU2VydmljZSAsIFJlcXVlc3RIYW5kbGVyU2VydmljZSwgVXRpbGl0eVNlcnZpY2UgfSBmcm9tICdAYm5zaWdodHMvYmJzZi11dGlsaXRpZXMnO1xyXG5pbXBvcnQgeyBQYWdpbmdDb21wb25lbnQgfSBmcm9tICdAYm5zaWdodHMvYmJzZi1jb250cm9scy9saWIvY29udHJvbHMvUGFnaW5nL1BhZ2luZy5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBPYnNlcnZhYmxlIH0gZnJvbSAncnhqcyc7XHJcbmltcG9ydCB7IENvbmZpcm1hdGlvbk1vZGFsQ29tcG9uZW50IH0gZnJvbSAnQGJuc2lnaHRzL2Jic2YtY29udHJvbHMvbGliL2NvbnRyb2xzL0NvbmZpcm1hdGlvbk1vZGFsL0NvbmZpcm1hdGlvbk1vZGFsLmNvbXBvbmVudCc7XHJcbkBDb21wb25lbnQoe1xyXG4gIHNlbGVjdG9yOiAnbGliLWRlcGFydG1lbnQtaW5mbycsXHJcbiAgdGVtcGxhdGVVcmw6ICcuL2RlcGFydG1lbnQtaW5mby5jb21wb25lbnQuaHRtbCcsXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBEZXBhcnRtZW50SW5mb0NvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCwgT25EZXN0cm95IHtcclxuICAvL1BhZ2UgcmVxdWlyZW1lbnRzXHJcbiAgQXBpVXJsID0gdGhpcy5kZXBhcnRtZW50U2VydmljZS5BcGlVcmxcclxuXHJcbiAgLy9QYXJlbnQgZGVwYXJ0bWVudCBkYXRhXHJcbiAgRGVwYXJ0bWVudElkOiBzdHJpbmcgPSBcIlwiXHJcbiAgRGVwYXJ0bWVudDogRGVwYXJ0bWVudE1vZGVsID0gbmV3IERlcGFydG1lbnRNb2RlbCgpO1xyXG5cclxuICAvL0ZpbHRlciBhbmQgcGFnaW5nIGNvbXBvbmVudHNcclxuICBVc2VyRGVwYXJ0bWVudEZvcm0gPSBuZXcgRm9ybUdyb3VwKHt9KTtcclxuICBzZWFyY2hUZXh0Qm94OiBUZXh0Qm94T3B0aW9ucztcclxuICBUZXh0SW5wdXRGaWx0ZXI6IEZpbHRlckl0ZW07XHJcbiAgRGVwYXJ0bWVudElkVGV4dEJveDogVGV4dEJveE9wdGlvbnM7XHJcbiAgRGVwYXJ0bWVudElkVGV4dElucHV0RmlsdGVyOiBGaWx0ZXJJdGVtO1xyXG4gIElzRmlsdGVyTG9hZGVkOiBib29sZWFuID0gZmFsc2U7XHJcbiAgVXNlckRlcGFydG1lbnRQYWdpbmc6IFBhZ2luZ09wdGlvbnM7XHJcbiAgVXNlckRlcGFydG1lbnRQYWdpbmdSZXN1bHQ6IGFueVtdID0gW107XHJcbiAgRmlsdGVyZWRVc2VyRGVwYXJ0bWVudFBhZ2luZ1Jlc3VsdDogYW55W10gPSBbXTtcclxuXHJcbiAgQFZpZXdDaGlsZCgnVXNlckRlcGFydG1lbnRQYWdpbmdWaWV3RWxlbWVudCcsIHsgc3RhdGljOiBmYWxzZSB9KSBwYWdpbmdFbGVtZW50OiBQYWdpbmdDb21wb25lbnQ7XHJcblxyXG5cclxuXHJcbiAgLy9BZGQgTW9kZWwgQ29udHJvbHNcclxuICBBZGRVc2Vyc1RvRGVwYXJ0bWVudEZvcm0gPSBuZXcgRm9ybUdyb3VwKHt9KTtcclxuICBBZGRVc2VyVG9EZXBhcnRtZW50Rm9ybU9wdGlvbnM6IEZvcm1PcHRpb25zXHJcbiAgVXNlckF1dG9Db21wbGV0ZTogVGFnc0lucHV0T3B0aW9ucztcclxuXHJcbiAgLy9kZWxldGUgIE1vZGVsIENvbnRyb2xzXHJcbiAgZGVsZXRlVXNlcklkOiBzdHJpbmc7XHJcbiAgRGVsZXRlQ29uZmlybWF0aW9uT3B0aW9uczogQ29uZmlybWF0aW9uTW9kYWxPcHRpb25zO1xyXG4gIGRlbGV0ZUNvbnRyb2xMb2FkZWQ6IGJvb2xlYW4gPSBmYWxzZTtcclxuICBAVmlld0NoaWxkKCdDb25maXJtYXRpb25Nb2RhbENvbnRyb2wnLCB7IHN0YXRpYzogZmFsc2UgfSkgQ29uZmlybWF0aW9uTW9kYWxDb250cm9sOiBDb25maXJtYXRpb25Nb2RhbENvbXBvbmVudDtcclxuICBjb25zdHJ1Y3RvcihcclxuICAgIHByaXZhdGUgYWN0aXZhdGVkUm91dGU6IEFjdGl2YXRlZFJvdXRlLFxyXG4gICAgcHVibGljIHV0aWxpdHlTZXJ2aWNlOiBVdGlsaXR5U2VydmljZSxcclxuICAgIHByaXZhdGUgZGVwYXJ0bWVudFNlcnZpY2U6IERlcGFydG1lbnRTZXJ2aWNlLFxyXG4gICAgcHJpdmF0ZSBwYWdlSW5mb1NlcnZpY2U6IFBhZ2VJbmZvU2VydmljZSxcclxuICAgIHByaXZhdGUgYXV0aFNlcnZpY2U6IEF1dGhTZXJ2aWNlLFxyXG4gICAgcHJpdmF0ZSBtb2RhbFNlcnZpY2U6IE5nYk1vZGFsLFxyXG4gICAgcHJpdmF0ZSByZXF1ZXN0SGFuZGxlclNlcnZpY2U6IFJlcXVlc3RIYW5kbGVyU2VydmljZSxcclxuXHJcbiAgKSB7XHJcbiAgICB0aGlzLmFjdGl2YXRlZFJvdXRlLnBhcmFtcy5zdWJzY3JpYmUocGFyYW1zID0+IHtcclxuICAgICAgdGhpcy5EZXBhcnRtZW50SWQgPSBwYXJhbXNbJ2lkJ107XHJcbiAgICB9KTtcclxuICB9XHJcbiAgIG5nT25Jbml0KCk6IHZvaWR7XHJcbiAgICAvL1BhZ2UgaGVhZGVyIChicmVhZGNydW1iIGFuZCB0aXRsZSlcclxuICAgIHRoaXMubG9hZEJyZWFkQ3J1bXBEYXRhKCk7XHJcbiAgIFxyXG5cclxuICB9XHJcblxyXG5cclxuICAvL1BhZ2luZyBmdW5jdGlvbnNcclxuICBzZXRVc2VyRGVwYXJ0bWVudExpc3RSZXN1bHQocmVzdWx0KSB7XHJcbiAgICB0aGlzLlVzZXJEZXBhcnRtZW50UGFnaW5nUmVzdWx0ID0gcmVzdWx0XHJcbiAgICB0aGlzLkZpbHRlcmVkVXNlckRlcGFydG1lbnRQYWdpbmdSZXN1bHQgPSB0aGlzLlVzZXJEZXBhcnRtZW50UGFnaW5nUmVzdWx0O1xyXG4gICAgdGhpcy51dGlsaXR5U2VydmljZS5zdG9wQmxvY2tVSSgpXHJcbiAgfVxyXG4gIC8vUmVzZXQgYWxsIEZpbHRlcnNcclxuICByZXNldEZpbHRlcnMoKSB7XHJcbiAgICB0aGlzLlVzZXJEZXBhcnRtZW50Rm9ybS5jb250cm9sc1tcInNlYXJjaFRleHRCb3hcIl0uc2V0VmFsdWUobnVsbCk7XHJcbiAgICBsZXQgZWxlbWVudCA9IHRoaXMucGFnaW5nRWxlbWVudCBhcyBhbnk7XHJcbiAgICBlbGVtZW50LlJlaW5pdGlhbGl6ZVBhZ2luZygpO1xyXG4gIH1cclxuICAvL0dldCBwYXJlbnQgZGVwYXJ0bWVudCBuYW1lIGFuZCBzZXQgcGFnZSB0aXRsZSBhbmQgYnJlYWRjcnVtYnNcclxuICBsb2FkQnJlYWRDcnVtcERhdGEoKSB7XHJcbiAgICB0aGlzLmRlcGFydG1lbnRTZXJ2aWNlLmdldERlcGFydG1lbnRJbmZvKHRoaXMuRGVwYXJ0bWVudElkKS5zdWJzY3JpYmUoKHJlc3VsdCkgPT4ge1xyXG4gICAgICBsZXQgcmVzdWx0TW9kZWwgPSByZXN1bHQgYXMgYW55XHJcbiAgICAgIFBhZ2VJbmZvU2VydmljZS5QYWdlVGl0bGUgPSByZXN1bHRNb2RlbC52YWwuZGVwYXJ0bWVudE5hbWU7XHJcbiAgICAgIFBhZ2VJbmZvU2VydmljZS5QYWdlQnJlYWRjcnVtYnMgPSBbXHJcbiAgICAgICAgeyB0aXRsZTogdGhpcy51dGlsaXR5U2VydmljZS5nZXRSZXNvdXJjZVZhbHVlKFwiSG9tZVwiKSwgcGF0aDogJy9BZG1pbi9Ib21lJywgaXNTZXBhcmF0b3I6IGZhbHNlLCBpc0FjdGl2ZTogZmFsc2UgfSxcclxuICAgICAgICB7IHRpdGxlOiAnJywgcGF0aDogJycsIGlzU2VwYXJhdG9yOiB0cnVlLCBpc0FjdGl2ZTogZmFsc2UgfSxcclxuICAgICAgICB7IHRpdGxlOiB0aGlzLnV0aWxpdHlTZXJ2aWNlLmdldFJlc291cmNlVmFsdWUoXCJEZXBhcnRtZW50c1wiKSwgcGF0aDogJy9BZG1pbi9EZXBhcnRtZW50cy9EZXBhcnRtZW50cycsIGlzU2VwYXJhdG9yOiBmYWxzZSwgaXNBY3RpdmU6IGZhbHNlIH0sXHJcbiAgICAgICAgeyB0aXRsZTogJycsIHBhdGg6ICcnLCBpc1NlcGFyYXRvcjogdHJ1ZSwgaXNBY3RpdmU6IGZhbHNlIH1cclxuXHJcbiAgICAgIF07XHJcbiAgICAgIHRoaXMucGFnZUluZm9TZXJ2aWNlLmNhbGN1bGF0ZVRpdGxlKCk7XHJcbiAgICAgIHRoaXMucGFnZUluZm9TZXJ2aWNlLmNhbGN1bGF0ZUJyZWFkY3J1bWJzKCk7XHJcbiAgICAgICAvL2luaXRpYWxpemUgcGFnZVxyXG4gICAgICB0aGlzLmluaXRpYWxpemVQYWdlKCk7XHJcbiAgICB9KTtcclxuICB9XHJcblxyXG4gIC8vSW5pdGlhbGl6ZSBmaWx0ZXJzIGFuZCBwYWdpbmdcclxuICBpbml0aWFsaXplUGFnZSgpIHtcclxuICAgIC8vIFRleHRCb3ggaW50aVxyXG4gICAgdGhpcy5zZWFyY2hUZXh0Qm94ID0gbmV3IFRleHRCb3hPcHRpb25zKCk7XHJcbiAgICB0aGlzLnNlYXJjaFRleHRCb3guTmFtZSA9IFwic2VhcmNoVGV4dEJveFwiXHJcbiAgICB0aGlzLnNlYXJjaFRleHRCb3guSGlkZUxhYmVsID0gdHJ1ZVxyXG4gICAgdGhpcy5zZWFyY2hUZXh0Qm94LlR5cGUgPSBJbnB1dFR5cGUuVGV4dFxyXG4gICAgdGhpcy5zZWFyY2hUZXh0Qm94LlBsYWNlaG9sZGVyID0gdGhpcy51dGlsaXR5U2VydmljZS5nZXRSZXNvdXJjZVZhbHVlKFwiU2VhcmNoQnlOYW1lT3JFbWFpbFwiKTtcclxuXHJcbiAgICB0aGlzLkRlcGFydG1lbnRJZFRleHRCb3ggPSBuZXcgVGV4dEJveE9wdGlvbnMoKTtcclxuICAgIHRoaXMuRGVwYXJ0bWVudElkVGV4dEJveC5OYW1lID0gXCJEZXBhcnRtZW50SWRUZXh0Qm94XCJcclxuICAgIHRoaXMuRGVwYXJ0bWVudElkVGV4dEJveC5MYWJlbEtleSA9IFwiRGVwYXJ0bWVudElkVGV4dEJveFwiXHJcbiAgICB0aGlzLkRlcGFydG1lbnRJZFRleHRCb3guVHlwZSA9IElucHV0VHlwZS5UZXh0XHJcbiAgICB0aGlzLkRlcGFydG1lbnRJZFRleHRCb3guVmFsdWUgPSB0aGlzLkRlcGFydG1lbnRJZDtcclxuICAgIHRoaXMuRGVwYXJ0bWVudElkVGV4dEJveC5QbGFjZWhvbGRlciA9IHRoaXMudXRpbGl0eVNlcnZpY2UuZ2V0UmVzb3VyY2VWYWx1ZShcIlNlYXJjaEJ5TmFtZVwiKVxyXG5cclxuICAgIHRoaXMuVGV4dElucHV0RmlsdGVyID0gbmV3IEZpbHRlckl0ZW0oKTtcclxuICAgIHRoaXMuVGV4dElucHV0RmlsdGVyLkZvcm1Db250cm9sTmFtZSA9IFwic2VhcmNoVGV4dEJveFwiXHJcbiAgICB0aGlzLlRleHRJbnB1dEZpbHRlci5BY3Rpb25QYXJhbWV0ZXJOYW1lID0gXCJzZWFyY2hUZXh0XCJcclxuICAgIHRoaXMuVGV4dElucHV0RmlsdGVyLklzRm9ybUNvbnRyb2wgPSB0cnVlXHJcbiAgICB0aGlzLlRleHRJbnB1dEZpbHRlci5GaWx0ZXJUeXBlID0gRmlsdGVyVHlwZS5UZXh0Qm94XHJcblxyXG4gICAgdGhpcy5EZXBhcnRtZW50SWRUZXh0SW5wdXRGaWx0ZXIgPSBuZXcgRmlsdGVySXRlbSgpO1xyXG4gICAgdGhpcy5EZXBhcnRtZW50SWRUZXh0SW5wdXRGaWx0ZXIuRm9ybUNvbnRyb2xOYW1lID0gXCJEZXBhcnRtZW50SWRUZXh0Qm94XCJcclxuICAgIHRoaXMuRGVwYXJ0bWVudElkVGV4dElucHV0RmlsdGVyLkFjdGlvblBhcmFtZXRlck5hbWUgPSBcImRlcGFydG1lbnRJZFwiXHJcbiAgICB0aGlzLkRlcGFydG1lbnRJZFRleHRJbnB1dEZpbHRlci5Jc0Zvcm1Db250cm9sID0gdHJ1ZVxyXG4gICAgdGhpcy5EZXBhcnRtZW50SWRUZXh0SW5wdXRGaWx0ZXIuRmlsdGVyVHlwZSA9IEZpbHRlclR5cGUuVGV4dEJveFxyXG5cclxuICAgXHJcbiAgICB0aGlzLlVzZXJEZXBhcnRtZW50UGFnaW5nID0gbmV3IFBhZ2luZ09wdGlvbnMoKTtcclxuICAgIHRoaXMuVXNlckRlcGFydG1lbnRQYWdpbmcuQWN0aW9uUG9zdFVSTCA9IHRoaXMuQXBpVXJsICsgJ0dldFVzZXJzQnlGaWx0ZXInO1xyXG4gICAgdGhpcy5Vc2VyRGVwYXJ0bWVudFBhZ2luZy5PbktleVByZXNzRmlsdGVyc0NvbnRyb2xOYW1lcyA9IFtcInNlYXJjaFRleHRCb3hcIiwgXCJEZXBhcnRtZW50SWRUZXh0Qm94XCJdXHJcbiAgICB0aGlzLlVzZXJEZXBhcnRtZW50UGFnaW5nLkZpbHRlcnMgPSBbdGhpcy5UZXh0SW5wdXRGaWx0ZXIsIHRoaXMuRGVwYXJ0bWVudElkVGV4dElucHV0RmlsdGVyXVxyXG4gICAgdGhpcy5Vc2VyRGVwYXJ0bWVudFBhZ2luZy5QYWdlU2l6ZSA9IDEwXHJcbiAgICB0aGlzLlVzZXJEZXBhcnRtZW50UGFnaW5nLkhpZGVQYWdpbmF0aW9uV2hlblBhZ2VTaXplRXF1YWxPbmUgPSB0cnVlXHJcbiAgICB0aGlzLlVzZXJEZXBhcnRtZW50UGFnaW5nLlNob3dQYWdlU2l6ZU9wdGlvbiA9IHRydWVcclxuICAgIHRoaXMuVXNlckRlcGFydG1lbnRQYWdpbmcuU2hvd0ZpcnN0QW5kTGFzdCA9IHRydWVcclxuICAgIHRoaXMuVXNlckRlcGFydG1lbnRQYWdpbmcuVmFsaWRhdGlvblRva2VuID0gdGhpcy5hdXRoU2VydmljZS5hdXRob3JpemF0aW9uSGVhZGVyVmFsdWUoKVxyXG5cclxuICAgIHRoaXMuSXNGaWx0ZXJMb2FkZWQgPSB0cnVlO1xyXG4gIH1cclxuXHJcblxyXG4gIC8vQWRkIHVzZXIgdG8gZGVwYXJ0bWVudFxyXG4gIHNob3dBZGRVc2VyVG9EZXBhcnRtZW50TW9kYWwoQWRkVXNlclRvRGVwYXJ0bWVudE1vZGFsKSB7XHJcbiAgICB0aGlzLnV0aWxpdHlTZXJ2aWNlLnN0YXJ0QmxvY2tVSSgpXHJcbiAgICBcclxuICAgIHRoaXMuQWRkVXNlcnNUb0RlcGFydG1lbnRGb3JtID0gbmV3IEZvcm1Hcm91cCh7fSlcclxuICAgIHRoaXMuQWRkVXNlclRvRGVwYXJ0bWVudEZvcm1PcHRpb25zID0gbmV3IEZvcm1PcHRpb25zKCk7XHJcbiAgICB0aGlzLkFkZFVzZXJUb0RlcGFydG1lbnRGb3JtT3B0aW9ucy5Gb3JtR3JvdXAgPSB0aGlzLkFkZFVzZXJzVG9EZXBhcnRtZW50Rm9ybVxyXG4gICAgdGhpcy5BZGRVc2VyVG9EZXBhcnRtZW50Rm9ybU9wdGlvbnMuR2V0TW9kZWxGdW5jdGlvbiA9IHRoaXMuZ2V0QWRkVXNlclRvRGVwYXJ0bWVudE1vZGVsO1xyXG4gICAgdGhpcy5BZGRVc2VyVG9EZXBhcnRtZW50Rm9ybU9wdGlvbnMuU2VydmljZVN1Ym1pdEZ1bmN0aW9uID0gdGhpcy5nZXRBZGRVc2VyVG9EZXBhcnRtZW50RnVuY3Rpb247XHJcbiAgICB0aGlzLkFkZFVzZXJUb0RlcGFydG1lbnRGb3JtT3B0aW9ucy5QYWdpbmdSZWZlcmVuY2UgPSB0aGlzLnBhZ2luZ0VsZW1lbnRcclxuXHJcbiAgICB0aGlzLlVzZXJBdXRvQ29tcGxldGUgPSBuZXcgVGFnc0lucHV0T3B0aW9ucygpO1xyXG4gICAgdGhpcy5Vc2VyQXV0b0NvbXBsZXRlLk5hbWUgPSBcIlVzZXJBdXRvQ29tcGxldGVcIjtcclxuICAgIHRoaXMuVXNlckF1dG9Db21wbGV0ZS5MYWJlbEtleSA9IFwiVXNlcnNcIjtcclxuICAgIHRoaXMuVXNlckF1dG9Db21wbGV0ZS5Jc1JlcXVpcmVkID0gdHJ1ZTtcclxuICAgIHRoaXMuVXNlckF1dG9Db21wbGV0ZS5WYWx1ZSA9IG51bGw7XHJcbiAgICB0aGlzLlVzZXJBdXRvQ29tcGxldGUuQWN0aW9uVVJMID0gdGhpcy5BcGlVcmwgKyBcIkF1dG9Db21wbGV0ZVVzZXJMaXN0XCJcclxuICAgIHRoaXMuVXNlckF1dG9Db21wbGV0ZS5WYWxpZGF0aW9uVG9rZW4gPSB0aGlzLmF1dGhTZXJ2aWNlLmF1dGhvcml6YXRpb25IZWFkZXJWYWx1ZSgpXHJcbiAgICB0aGlzLm1vZGFsU2VydmljZS5vcGVuKEFkZFVzZXJUb0RlcGFydG1lbnRNb2RhbCk7XHJcbiAgICB0aGlzLnV0aWxpdHlTZXJ2aWNlLnN0b3BCbG9ja1VJKClcclxuXHJcblxyXG4gIH1cclxuXHJcbiAgZ2V0QWRkVXNlclRvRGVwYXJ0bWVudE1vZGVsID0gKCkgPT4ge1xyXG4gICAgbGV0IHBhcmFtQXJyYXk6IGFueVtdID0gW107XHJcbiAgICBsZXQgUmVzdWx0TW9kZWwgPSB0aGlzLkFkZFVzZXJzVG9EZXBhcnRtZW50Rm9ybS52YWx1ZTtcclxuICAgIGxldCBBZGRNb2RlbDogRGVwYXJ0bWVudFVzZXJzSURSZXF1ZXN0TW9kZWwgPSBuZXcgRGVwYXJ0bWVudFVzZXJzSURSZXF1ZXN0TW9kZWwoKTtcclxuICAgIGZvciAobGV0IGluZGV4ID0gMDsgaW5kZXggPCBSZXN1bHRNb2RlbC5Vc2VyQXV0b0NvbXBsZXRlLmxlbmd0aDsgaW5kZXgrKykge1xyXG4gICAgICBjb25zdCBrZXkgPSBSZXN1bHRNb2RlbC5Vc2VyQXV0b0NvbXBsZXRlW2luZGV4XS5rZXk7XHJcbiAgICAgIEFkZE1vZGVsLlVzZXJzSURzLnB1c2goTnVtYmVyKGtleSkpXHJcbiAgICB9XHJcbiAgICBBZGRNb2RlbC5EZXBhcnRtZW50SWQgPSB0aGlzLkRlcGFydG1lbnRJZDtcclxuICAgIHBhcmFtQXJyYXkucHVzaChBZGRNb2RlbCk7XHJcbiAgICByZXR1cm4gcGFyYW1BcnJheTtcclxuICB9XHJcblxyXG4gIGdldEFkZFVzZXJUb0RlcGFydG1lbnRGdW5jdGlvbiA9IChBZGRNb2RlbCk6IE9ic2VydmFibGU8YW55PiA9PiB7XHJcbiAgICByZXR1cm4gdGhpcy5kZXBhcnRtZW50U2VydmljZS5hZGRVc2Vyc1RvRGVwYXJ0bWVudChBZGRNb2RlbClcclxuICB9XHJcblxyXG5cclxuICAvL0RlbGV0ZSB1c2VyIGZyb20gZGVwYXJ0bWVudFxyXG4gIHNob3dEZWxldGVVc2VyRnJvbURlcGFydG1lbnRNb2RhbChlbmNyeXB0ZWRVc2VySWQ6IHN0cmluZykge1xyXG4gICAgdGhpcy5kZWxldGVVc2VySWQgPSBlbmNyeXB0ZWRVc2VySWQ7XHJcbiAgICAvL2FycmF5IHNlbnQgdG8gc2VydmljZSBmdW5jdGlvblxyXG4gICAgbGV0IHBhcmFtQXJyYXk6IGFueVtdID0gW107XHJcbiAgICBwYXJhbUFycmF5LnB1c2godGhpcy5kZWxldGVVc2VySWQpO1xyXG5cclxuICAgIHRoaXMuRGVsZXRlQ29uZmlybWF0aW9uT3B0aW9ucyA9IG5ldyBDb25maXJtYXRpb25Nb2RhbE9wdGlvbnMoKTtcclxuICAgIHRoaXMuRGVsZXRlQ29uZmlybWF0aW9uT3B0aW9ucy5TZXJ2aWNlU3VibWl0RnVuY3Rpb24gPSB0aGlzLmRlbGV0ZVVzZXJGcm9tRGVwYXJ0bWVudDtcclxuICAgIHRoaXMuRGVsZXRlQ29uZmlybWF0aW9uT3B0aW9ucy5TZXJ2aWNlU3VibWl0TW9kZWwgPSBwYXJhbUFycmF5O1xyXG4gICAgdGhpcy5EZWxldGVDb25maXJtYXRpb25PcHRpb25zLlBhZ2luZ1JlZmVyZW5jZSA9IHRoaXMucGFnaW5nRWxlbWVudDtcclxuXHJcbiAgICB0aGlzLmRlbGV0ZUNvbnRyb2xMb2FkZWQgPSB0cnVlO1xyXG4gICAgc2V0VGltZW91dCgoKSA9PiB7XHJcbiAgICAgIHRoaXMuQ29uZmlybWF0aW9uTW9kYWxDb250cm9sLnNob3dNb2RhbCgpO1xyXG4gICAgfSwgMjAwKTtcclxuICAgIFxyXG4gIH1cclxuXHJcbiAgZGVsZXRlVXNlckZyb21EZXBhcnRtZW50ID0gKGRlbGV0ZVVzZXJJZDogc3RyaW5nKTogT2JzZXJ2YWJsZTxhbnk+ID0+IHtcclxuICAgIHJldHVybiB0aGlzLmRlcGFydG1lbnRTZXJ2aWNlLmRlbGV0ZVVzZXJGcm9tRGVwYXJ0bWVudChkZWxldGVVc2VySWQpO1xyXG4gIH1cclxuXHJcblxyXG4gIC8qKkZ1bmN0aW9uTmFtZTpmaWx0ZXJVc2VyRGVwYXJ0bWVudExpc3QgKi9cclxuICAvKipEZWNsYXJhdGlvbjpmdW5jdGlvbiB0byBmaWx0ZXIgdXNlciBEZXBhcnRtZW50IExpc3QgaW4gY2xpZW50LXNpZGUgKi9cclxuICAvKipQYXJhbWV0ZXJzOiovXHJcbiAgLyoqc2VhcmNoVmFsdWU6IGN1cnJlbnQgdmFsdWUgb2Ygc2VhcmNoIGJveCovXHJcbiAgZmlsdGVyVXNlckRlcGFydG1lbnRMaXN0KHNlYXJjaFZhbHVlKSB7XHJcbiAgICBpZiAoc2VhcmNoVmFsdWUpXHJcbiAgICAgIHRoaXMuRmlsdGVyZWRVc2VyRGVwYXJ0bWVudFBhZ2luZ1Jlc3VsdCA9IHRoaXMuVXNlckRlcGFydG1lbnRQYWdpbmdSZXN1bHQuZmlsdGVyKGl0ZW0gPT4gaXRlbS51c2VyTmFtZS50b0xvd2VyQ2FzZSgpLmluY2x1ZGVzKHNlYXJjaFZhbHVlLnRvTG93ZXJDYXNlKCkpKTtcclxuICAgIGVsc2VcclxuICAgICAgdGhpcy5GaWx0ZXJlZFVzZXJEZXBhcnRtZW50UGFnaW5nUmVzdWx0ID0gdGhpcy5Vc2VyRGVwYXJ0bWVudFBhZ2luZ1Jlc3VsdFxyXG4gIH1cclxuICBuZ09uRGVzdHJveSgpOiB2b2lkIHtcclxuICAgIHRoaXMucmVxdWVzdEhhbmRsZXJTZXJ2aWNlLmRlc3Ryb3lIYW5kbGVyKCk7XHJcbiAgfVxyXG5cclxufVxyXG4iLCI8YmxvY2stdWk+PC9ibG9jay11aT5cclxuPCEtLSBQYWdlIENvbnRlbnQgLS0+XHJcbjxkaXYgIGNsYXNzPVwiY29udGFpbmVyLWZsdWlkXCI+XHJcbiAgPGRpdiBjbGFzcz1cImNhcmQgY2FyZC1jdXN0b20taFwiPlxyXG4gICAgPGRpdiBjbGFzcz1cImNhcmQtaGVhZGVyIGJvcmRlci0wIHB0LTVcIj5cclxuICAgICAgPGRpdiBjbGFzcz1cImNhcmQtdGl0bGUgYWxpZ24taXRlbXMtc3RhcnQgZmxleC1jb2x1bW5cIiAqbmdJZj1cIklzRmlsdGVyTG9hZGVkXCI+XHJcbiAgICAgICAgICA8QkJTRi1UZXh0Qm94IFtoaWRkZW5dPVwidHJ1ZVwiIFtvcHRpb25zXT1cIkRlcGFydG1lbnRJZFRleHRCb3hcIiBbZ3JvdXBdPVwiVXNlckRlcGFydG1lbnRGb3JtXCI+XHJcbiAgICAgICAgICA8L0JCU0YtVGV4dEJveD5cclxuICAgICAgICAgIDxCQlNGLVRleHRCb3ggW29wdGlvbnNdPVwic2VhcmNoVGV4dEJveFwiIChPbkNoYW5nZSk9XCJmaWx0ZXJVc2VyRGVwYXJ0bWVudExpc3QoJGV2ZW50KVwiICBbZ3JvdXBdPVwiVXNlckRlcGFydG1lbnRGb3JtXCI+PC9CQlNGLVRleHRCb3g+XHJcbiAgICAgIDwvZGl2PlxyXG4gICAgICA8ZGl2IGNsYXNzPVwiY2FyZC10b29sYmFyXCI+XHJcbiAgICAgICAgPCEtLSBiZWdpbjo6TWVudSAtLT5cclxuICAgICAgICA8YnV0dG9uIHR5cGU9XCJidXR0b25cIiBjbGFzcz1cImJ0biBidG4tc20gYnRuLXByaW1hcnlcIiB0aXRsZT1cIkFkZFwiXHJcbiAgICAgICAgICAoY2xpY2spPVwic2hvd0FkZFVzZXJUb0RlcGFydG1lbnRNb2RhbChBZGRVc2VyVG9EZXBhcnRtZW50TW9kYWwpXCI+XHJcbiAgICAgICAgICA8aSBjbGFzcz1cImZhcyBmYS1wbHVzIG1lLTFcIj48L2k+XHJcbiAgICAgICAgICB7e3V0aWxpdHlTZXJ2aWNlLmdldFJlc291cmNlVmFsdWUoXCJBZGRcIil9fVxyXG4gICAgICAgIDwvYnV0dG9uPlxyXG5cclxuICAgICAgICA8IS0tIGVuZDo6TWVudSAtLT5cclxuICAgICAgPC9kaXY+XHJcbiAgICA8L2Rpdj5cclxuICAgIDxkaXYgY2xhc3M9XCJjYXJkLWJvZHkgcHktM1wiPlxyXG4gICAgICA8ZGl2IGNsYXNzPVwidGFibGUtcmVzcG9uc2l2ZVwiPlxyXG4gICAgICAgIDwhLS1iZWdpbjo6UGVybWlzc2lvbiBsaXN0LS0+XHJcbiAgICAgICAgPHRhYmxlIGNsYXNzPVwidGFibGUgYWxpZ24tbWlkZGxlIHRhYmxlLXJvdy1kYXNoZWQgZnMtNiBneS01IGRhdGFUYWJsZSBuby1mb290ZXJcIj5cclxuICAgICAgICAgIDx0aGVhZD5cclxuICAgICAgICAgICAgPHRyIGNsYXNzPVwidGV4dC1zdGFydCB0ZXh0LWdyYXktNDAwIGZ3LWJvbGRlciBmcy03IHRleHQtdXBwZXJjYXNlIGdzLTBcIj5cclxuXHJcbiAgICAgICAgICAgICAgPHRoIGNsYXNzPVwibWluLXctMTUwcHhcIj57e3V0aWxpdHlTZXJ2aWNlLmdldFJlc291cmNlVmFsdWUoXCJOYW1lXCIpfX08L3RoPlxyXG4gICAgICAgICAgICAgIDx0aCBjbGFzcz1cIm1pbi13LTE1MHB4XCI+e3t1dGlsaXR5U2VydmljZS5nZXRSZXNvdXJjZVZhbHVlKFwiRW1haWxcIil9fTwvdGg+XHJcbiAgICAgICAgICAgICAgPHRoIGNsYXNzPVwibWluLXctMTUwcHhcIj57e3V0aWxpdHlTZXJ2aWNlLmdldFJlc291cmNlVmFsdWUoXCJSb2xlc1wiKX19PC90aD5cclxuICAgICAgICAgICAgICA8dGggY2xhc3M9XCJtaW4tdy01MHB4XCI+e3t1dGlsaXR5U2VydmljZS5nZXRSZXNvdXJjZVZhbHVlKFwiQWN0aW9uXCIpfX08L3RoPlxyXG4gICAgICAgICAgICA8L3RyPlxyXG4gICAgICAgICAgPC90aGVhZD5cclxuICAgICAgICAgIDx0Ym9keSBpZD1cImxpc3RpbmdDb250YWluZXJcIiBjbGFzcz1cImZ3LWJvbGQgdGV4dC1ncmF5LTYwMCBib3JkZXItMFwiPlxyXG5cclxuICAgICAgICAgICAgPHRyICpuZ0Zvcj1cImxldCB1c2VyIG9mIEZpbHRlcmVkVXNlckRlcGFydG1lbnRQYWdpbmdSZXN1bHRcIj5cclxuXHJcbiAgICAgICAgICAgICAgPHRkPlxyXG4gICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJ0ZXh0LWRhcmtcIj57e3VzZXIudXNlck5hbWV9fTwvc3Bhbj5cclxuICAgICAgICAgICAgICA8L3RkPlxyXG4gICAgICAgICAgICAgIDx0ZD57e3VzZXIuZW1haWx9fTwvdGQ+XHJcbiAgICAgICAgICAgICAgPHRkPnt7dXNlci51c2VyUGVybXNldHN9fTwvdGQ+XHJcbiAgICAgICAgICAgICAgPHRkPlxyXG4gICAgICAgICAgICAgICAgPGRpdj5cclxuICAgICAgICAgICAgICAgICAgPGJ1dHRvbiBtYXQtYnV0dG9uIFttYXRNZW51VHJpZ2dlckZvcl09XCJtZW51XCJcclxuICAgICAgICAgICAgICAgICAgICBjbGFzcz1cImJ0biBidG4tc20gYnRuLWljb24gYnRuLWxpZ2h0IGJ0bi1hY3RpdmUtbGlnaHQtcHJpbWFyeVwiPlxyXG4gICAgICAgICAgICAgICAgICAgIDxpIGNsYXNzPVwiZmEgZmEtZWxsaXBzaXMtaFwiIGFyaWEtaGlkZGVuPVwidHJ1ZVwiPjwvaT5cclxuICAgICAgICAgICAgICAgICAgPC9idXR0b24+XHJcbiAgICAgICAgICAgICAgICAgIDxtYXQtbWVudSAjbWVudT1cIm1hdE1lbnVcIj5cclxuICAgICAgICAgICAgICAgICAgICA8YSBuZ2JEcm9wZG93bkl0ZW0gY2xhc3M9XCJkcm9wLWl0ZW0gcHgtM1wiXHJcbiAgICAgICAgICAgICAgICAgICAgICAoY2xpY2spPVwic2hvd0RlbGV0ZVVzZXJGcm9tRGVwYXJ0bWVudE1vZGFsKHVzZXIuaWRFbmNyeXB0ZWQpXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cImRyb3AtbGluayBweC0zXCI+e3t1dGlsaXR5U2VydmljZS5nZXRSZXNvdXJjZVZhbHVlKFwiRGVsZXRlXCIpfX08L3NwYW4+XHJcbiAgICAgICAgICAgICAgICAgICAgPC9hPlxyXG4gICAgICAgICAgICAgICAgICA8L21hdC1tZW51PlxyXG4gICAgICAgICAgICAgICAgPC9kaXY+XHJcblxyXG4gICAgICAgICAgICAgIDwvdGQ+XHJcbiAgICAgICAgICAgIDwvdHI+XHJcbiAgICAgICAgICAgIDx0ciAqbmdJZj1cIkZpbHRlcmVkVXNlckRlcGFydG1lbnRQYWdpbmdSZXN1bHQubGVuZ3RoID09IDBcIj5cclxuICAgICAgICAgICAgICA8dGQgY29sc3Bhbj1cIjRcIj5cclxuICAgICAgICAgICAgICAgIDxsaWItZW1wdHktZGF0YT48L2xpYi1lbXB0eS1kYXRhPlxyXG4gICAgICAgICAgICAgIDwvdGQ+XHJcbiAgICAgICAgICAgIDwvdHI+XHJcbiAgICAgICAgICA8L3Rib2R5PlxyXG4gICAgICAgIDwvdGFibGU+XHJcbiAgICAgICAgPCEtLWVuZDo6UGVybWlzc2lvbiBsaXN0LS0+XHJcbiAgICAgIDwvZGl2PlxyXG5cclxuICAgIDwvZGl2PlxyXG4gICAgPGRpdiBjbGFzcz1cImNhcmQtZm9vdGVyIGJvcmRlci0wXCI+XHJcbiAgICAgIDxCQlNGLVBhZ2luZyAoSXRlbXMpPVwic2V0VXNlckRlcGFydG1lbnRMaXN0UmVzdWx0KCRldmVudClcIiAqbmdJZj1cIklzRmlsdGVyTG9hZGVkXCIgW29wdGlvbnNdPVwiVXNlckRlcGFydG1lbnRQYWdpbmdcIlxyXG4gICAgICAgIFtncm91cF09XCJVc2VyRGVwYXJ0bWVudEZvcm1cIiAjVXNlckRlcGFydG1lbnRQYWdpbmdWaWV3RWxlbWVudD5cclxuICAgICAgPC9CQlNGLVBhZ2luZz5cclxuICAgIDwvZGl2PlxyXG4gIDwvZGl2PlxyXG5cclxuPC9kaXY+XHJcblxyXG5cclxuPCEtLWFkZCBNb2RhbC0tPlxyXG48bmctdGVtcGxhdGUgI0FkZFVzZXJUb0RlcGFydG1lbnRNb2RhbCBsZXQtbW9kYWw+XHJcbiAgPGRpdiBjbGFzcz1cIm1vZGFsLWhlYWRlciBwYi0wIGJvcmRlci0wIGp1c3RpZnktY29udGVudC1lbmRcIj5cclxuICAgIDxoNSBjbGFzcz1cIm1vZGFsLXRpdGxlXCIgaWQ9XCJleGFtcGxlTW9kYWxMYWJlbFwiPjwvaDU+XHJcbiAgICA8YnV0dG9uIHR5cGU9XCJidXR0b25cIiBkYXRhLWRpc21pc3M9XCJtb2RhbFwiIGFyaWEtbGFiZWw9XCJDbG9zZVwiIGNsYXNzPVwiYnRuIGJ0bi1zbSBidG4taWNvbiBidG4tYWN0aXZlLWNvbG9yLXByaW1hcnlcIlxyXG4gICAgICAoY2xpY2spPVwibW9kYWwuZGlzbWlzcygpXCI+XHJcbiAgICAgIDxzcGFuIGNsYXNzPVwic3ZnLWljb24gc3ZnLWljb24tMVwiPlxyXG4gICAgICAgIDxzcGFuIFtpbmxpbmVTVkddPVwiJy4vc3JjL2Fzc2V0cy9pbWFnZXMvYXJyMDYxLnN2ZydcIj48L3NwYW4+XHJcbiAgICAgIDwvc3Bhbj5cclxuICAgIDwvYnV0dG9uPlxyXG4gIDwvZGl2PlxyXG4gIDxkaXYgY2xhc3M9XCJtb2RhbC1ib2R5IHNjcm9sbC15IHB4LTEwIHB4LWxnLTE1IHB0LTAgcGItMTVcIj5cclxuICAgIDxkaXYgY2xhc3M9XCJtYi0xMyB0ZXh0LWNlbnRlclwiPlxyXG4gICAgICA8aDEgY2xhc3M9XCJtYi0zXCI+IHt7dXRpbGl0eVNlcnZpY2UuZ2V0UmVzb3VyY2VWYWx1ZShcIkFkZFwiKX19IHt7dXRpbGl0eVNlcnZpY2UuZ2V0UmVzb3VyY2VWYWx1ZShcIlVzZXJcIil9fSA8L2gxPlxyXG4gICAgPC9kaXY+XHJcbiAgICA8QkJTRi1Gb3JtIFtvcHRpb25zXT1cIkFkZFVzZXJUb0RlcGFydG1lbnRGb3JtT3B0aW9uc1wiPlxyXG4gICAgICA8ZGl2IGNsYXNzPVwicm93XCI+XHJcbiAgICAgICAgPGRpdiBjbGFzcz1cImNvbC1tZC0xMlwiPlxyXG4gICAgICAgICAgPEJCU0YtVGFnc0lucHV0IFtvcHRpb25zXT1cIlVzZXJBdXRvQ29tcGxldGVcIiBbZ3JvdXBdPVwiQWRkVXNlcnNUb0RlcGFydG1lbnRGb3JtXCI+XHJcbiAgICAgICAgICA8L0JCU0YtVGFnc0lucHV0PlxyXG4gICAgICAgIDwvZGl2PlxyXG4gICAgICA8L2Rpdj5cclxuICAgICAgPGRpdiBjbGFzcz1cInRleHQtY2VudGVyIHB0LTdcIj5cclxuICAgICAgICA8YnV0dG9uICNDbG9zZUFkZFVzZXJzVG9EZXBhcnRtZW50IGlkPVwiQ2xvc2VBZGRVc2Vyc1RvRGVwYXJ0bWVudFwiIHR5cGU9XCJidXR0b25cIlxyXG4gICAgICAgICAgY2xhc3M9XCJidG4gYnRuLWxpZ2h0IGJ0bi1zbSAgbWUtM1wiIGRhdGEtZGlzbWlzcz1cIm1vZGFsXCIgKGNsaWNrKT1cIm1vZGFsLmRpc21pc3MoKVwiPlxyXG4gICAgICAgICAge3t1dGlsaXR5U2VydmljZS5nZXRSZXNvdXJjZVZhbHVlKFwiQ2FuY2VsTGFiZWxcIil9fVxyXG4gICAgICAgIDwvYnV0dG9uPlxyXG4gICAgICAgIDxidXR0b24gdHlwZT1cInN1Ym1pdFwiIGNsYXNzPVwiYnRuIGJ0bi1wcmltYXJ5IGJ0bi1zbVwiPnt7dXRpbGl0eVNlcnZpY2UuZ2V0UmVzb3VyY2VWYWx1ZShcIlNhdmVMYWJlbFwiKX19PC9idXR0b24+XHJcbiAgICAgIDwvZGl2PlxyXG4gICAgPC9CQlNGLUZvcm0+XHJcbiAgPC9kaXY+XHJcbjwvbmctdGVtcGxhdGU+XHJcblxyXG48IS0tZGVsZXRlIE1vZGFsLS0+XHJcbjxCQlNGLUNvbmZpcm1hdGlvbk1vZGFsICpuZ0lmPVwiZGVsZXRlQ29udHJvbExvYWRlZFwiIFtvcHRpb25zXT1cIkRlbGV0ZUNvbmZpcm1hdGlvbk9wdGlvbnNcIiBpZD1cIkNvbmZpcm1hdGlvbk1vZGFsQ29udHJvbFwiXHJcbiAgI0NvbmZpcm1hdGlvbk1vZGFsQ29udHJvbD48L0JCU0YtQ29uZmlybWF0aW9uTW9kYWw+Il19
194
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGVwYXJ0bWVudC1pbmZvLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2Jic2YtYWRtaW4tcG9ydGFsL3NyYy9saWIvUGFnZXMvZGVwYXJ0bWVudHMvZGVwYXJ0bWVudC1pbmZvL2RlcGFydG1lbnQtaW5mby5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9iYnNmLWFkbWluLXBvcnRhbC9zcmMvbGliL1BhZ2VzL2RlcGFydG1lbnRzL2RlcGFydG1lbnQtaW5mby9kZXBhcnRtZW50LWluZm8uY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBaUMsU0FBUyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ3BGLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUUzQyxPQUFPLEVBQUUsd0JBQXdCLEVBQUUsVUFBVSxFQUFFLFVBQVUsRUFBRSxXQUFXLEVBQUUsU0FBUyxFQUFFLGFBQWEsRUFBRSxnQkFBZ0IsRUFBRSxjQUFjLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQztBQUNwSyxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sb0RBQW9ELENBQUM7QUFDckYsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLHNEQUFzRCxDQUFDO0FBQ3ZGLE9BQU8sRUFBRSw2QkFBNkIsRUFBRSxNQUFNLG9FQUFvRSxDQUFDOzs7Ozs7Ozs7Ozs7O0FBV25ILE1BQU0sT0FBTyx1QkFBdUI7SUFpQ2xDLFlBQ1UsY0FBOEIsRUFDL0IsY0FBOEIsRUFDN0IsaUJBQW9DLEVBQ3BDLGVBQWdDLEVBQ2hDLFdBQXdCLEVBQ3hCLFlBQXNCLEVBQ3RCLHFCQUE0QztRQU41QyxtQkFBYyxHQUFkLGNBQWMsQ0FBZ0I7UUFDL0IsbUJBQWMsR0FBZCxjQUFjLENBQWdCO1FBQzdCLHNCQUFpQixHQUFqQixpQkFBaUIsQ0FB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bkMsU0FBUzttQkFBQztvQkFDVCxRQUFRLEVBQUUscUJBQXFCO29CQUMvQixXQUFXLEVBQUUsa0NBQWtDO2lCQUNoRDtxUkFvQmtFLGFBQWE7c0JBQTdFLFNBQVM7dUJBQUMsaUNBQWlDLEVBQUUsRUFBRSxNQUFNLEVBQUUsS0FBSyxFQUFFO2dCQWFMLHdCQUF3QjtzQkFBakYsU0FBUzt1QkFBQywwQkFBMEIsRUFBRSxFQUFFLE1BQU0sRUFBRSxLQUFLLEVBQUUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIEVsZW1lbnRSZWYsIE9uRGVzdHJveSwgT25Jbml0LCBWaWV3Q2hpbGQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgRm9ybUdyb3VwIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xyXG5pbXBvcnQgeyBBY3RpdmF0ZWRSb3V0ZSB9IGZyb20gJ0Bhbmd1bGFyL3JvdXRlcic7XHJcbmltcG9ydCB7IENvbmZpcm1hdGlvbk1vZGFsT3B0aW9ucywgRmlsdGVySXRlbSwgRmlsdGVyVHlwZSwgRm9ybU9wdGlvbnMsIElucHV0VHlwZSwgUGFnaW5nT3B0aW9ucywgVGFnc0lucHV0T3B0aW9ucywgVGV4dEJveE9wdGlvbnMgfSBmcm9tICdAYm5zaWdodHMvYmJzZi1jb250cm9scyc7XHJcbmltcG9ydCB7IFBhZ2VJbmZvU2VydmljZSB9IGZyb20gJy4uLy4uLy4uL19tZXRyb25pYy9jb3JlL3NlcnZpY2VzL3BhZ2UtaW5mby5zZXJ2aWNlJztcclxuaW1wb3J0IHsgRGVwYXJ0bWVudE1vZGVsIH0gZnJvbSAnLi4vLi4vc2hhcmVkL21vZGVscy9EZXBhcnRtZW50TW9kZWxzL0RlcGFydG1lbnRNb2RlbCc7XHJcbmltcG9ydCB7IERlcGFydG1lbnRVc2Vyc0lEUmVxdWVzdE1vZGVsIH0gZnJvbSAnLi4vLi4vc2hhcmVkL21vZGVscy9EZXBhcnRtZW50TW9kZWxzL0RlcGFydG1lbnRVc2Vyc0lEUmVxdWVzdE1vZGVsJztcclxuaW1wb3J0IHsgRGVwYXJ0bWVudFNlcnZpY2UgfSBmcm9tICcuLi8uLi9zaGFyZWQvU2VydmljZXMvRGVwYXJ0bWVudFNlcnZpY2Uuc2VydmljZSc7XHJcbmltcG9ydCB7IE5nYk1vZGFsIH0gZnJvbSAnQG5nLWJvb3RzdHJhcC9uZy1ib290c3RyYXAnO1xyXG5pbXBvcnQgeyBBdXRoU2VydmljZSAsIFJlcXVlc3RIYW5kbGVyU2VydmljZSwgVXRpbGl0eVNlcnZpY2UgfSBmcm9tICdAYm5zaWdodHMvYmJzZi11dGlsaXRpZXMnO1xyXG5pbXBvcnQgeyBQYWdpbmdDb21wb25lbnQgfSBmcm9tICdAYm5zaWdodHMvYmJzZi1jb250cm9scy9saWIvY29udHJvbHMvUGFnaW5nL1BhZ2luZy5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBPYnNlcnZhYmxlIH0gZnJvbSAncnhqcyc7XHJcbmltcG9ydCB7IENvbmZpcm1hdGlvbk1vZGFsQ29tcG9uZW50IH0gZnJvbSAnQGJuc2lnaHRzL2Jic2YtY29udHJvbHMvbGliL2NvbnRyb2xzL0NvbmZpcm1hdGlvbk1vZGFsL0NvbmZpcm1hdGlvbk1vZGFsLmNvbXBvbmVudCc7XHJcbkBDb21wb25lbnQoe1xyXG4gIHNlbGVjdG9yOiAnbGliLWRlcGFydG1lbnQtaW5mbycsXHJcbiAgdGVtcGxhdGVVcmw6ICcuL2RlcGFydG1lbnQtaW5mby5jb21wb25lbnQuaHRtbCcsXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBEZXBhcnRtZW50SW5mb0NvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCwgT25EZXN0cm95IHtcclxuICAvL1BhZ2UgcmVxdWlyZW1lbnRzXHJcbiAgQXBpVXJsID0gdGhpcy5kZXBhcnRtZW50U2VydmljZS5BcGlVcmxcclxuXHJcbiAgLy9QYXJlbnQgZGVwYXJ0bWVudCBkYXRhXHJcbiAgRGVwYXJ0bWVudElkOiBzdHJpbmcgPSBcIlwiXHJcbiAgRGVwYXJ0bWVudDogRGVwYXJ0bWVudE1vZGVsID0gbmV3IERlcGFydG1lbnRNb2RlbCgpO1xyXG5cclxuICAvL0ZpbHRlciBhbmQgcGFnaW5nIGNvbXBvbmVudHNcclxuICBVc2VyRGVwYXJ0bWVudEZvcm0gPSBuZXcgRm9ybUdyb3VwKHt9KTtcclxuICBzZWFyY2hUZXh0Qm94OiBUZXh0Qm94T3B0aW9ucztcclxuICBUZXh0SW5wdXRGaWx0ZXI6IEZpbHRlckl0ZW07XHJcbiAgRGVwYXJ0bWVudElkVGV4dEJveDogVGV4dEJveE9wdGlvbnM7XHJcbiAgRGVwYXJ0bWVudElkVGV4dElucHV0RmlsdGVyOiBGaWx0ZXJJdGVtO1xyXG4gIElzRmlsdGVyTG9hZGVkOiBib29sZWFuID0gZmFsc2U7XHJcbiAgVXNlckRlcGFydG1lbnRQYWdpbmc6IFBhZ2luZ09wdGlvbnM7XHJcbiAgVXNlckRlcGFydG1lbnRQYWdpbmdSZXN1bHQ6IGFueVtdID0gW107XHJcbiAgRmlsdGVyZWRVc2VyRGVwYXJ0bWVudFBhZ2luZ1Jlc3VsdDogYW55W10gPSBbXTtcclxuXHJcbiAgQFZpZXdDaGlsZCgnVXNlckRlcGFydG1lbnRQYWdpbmdWaWV3RWxlbWVudCcsIHsgc3RhdGljOiBmYWxzZSB9KSBwYWdpbmdFbGVtZW50OiBQYWdpbmdDb21wb25lbnQ8YW55PjtcclxuXHJcblxyXG5cclxuICAvL0FkZCBNb2RlbCBDb250cm9sc1xyXG4gIEFkZFVzZXJzVG9EZXBhcnRtZW50Rm9ybSA9IG5ldyBGb3JtR3JvdXAoe30pO1xyXG4gIEFkZFVzZXJUb0RlcGFydG1lbnRGb3JtT3B0aW9uczogRm9ybU9wdGlvbnNcclxuICBVc2VyQXV0b0NvbXBsZXRlOiBUYWdzSW5wdXRPcHRpb25zO1xyXG5cclxuICAvL2RlbGV0ZSAgTW9kZWwgQ29udHJvbHNcclxuICBkZWxldGVVc2VySWQ6IHN0cmluZztcclxuICBEZWxldGVDb25maXJtYXRpb25PcHRpb25zOiBDb25maXJtYXRpb25Nb2RhbE9wdGlvbnM7XHJcbiAgZGVsZXRlQ29udHJvbExvYWRlZDogYm9vbGVhbiA9IGZhbHNlO1xyXG4gIEBWaWV3Q2hpbGQoJ0NvbmZpcm1hdGlvbk1vZGFsQ29udHJvbCcsIHsgc3RhdGljOiBmYWxzZSB9KSBDb25maXJtYXRpb25Nb2RhbENvbnRyb2w6IENvbmZpcm1hdGlvbk1vZGFsQ29tcG9uZW50O1xyXG4gIGNvbnN0cnVjdG9yKFxyXG4gICAgcHJpdmF0ZSBhY3RpdmF0ZWRSb3V0ZTogQWN0aXZhdGVkUm91dGUsXHJcbiAgICBwdWJsaWMgdXRpbGl0eVNlcnZpY2U6IFV0aWxpdHlTZXJ2aWNlLFxyXG4gICAgcHJpdmF0ZSBkZXBhcnRtZW50U2VydmljZTogRGVwYXJ0bWVudFNlcnZpY2UsXHJcbiAgICBwcml2YXRlIHBhZ2VJbmZvU2VydmljZTogUGFnZUluZm9TZXJ2aWNlLFxyXG4gICAgcHJpdmF0ZSBhdXRoU2VydmljZTogQXV0aFNlcnZpY2UsXHJcbiAgICBwcml2YXRlIG1vZGFsU2VydmljZTogTmdiTW9kYWwsXHJcbiAgICBwcml2YXRlIHJlcXVlc3RIYW5kbGVyU2VydmljZTogUmVxdWVzdEhhbmRsZXJTZXJ2aWNlLFxyXG5cclxuICApIHtcclxuICAgIHRoaXMuYWN0aXZhdGVkUm91dGUucGFyYW1zLnN1YnNjcmliZShwYXJhbXMgPT4ge1xyXG4gICAgICB0aGlzLkRlcGFydG1lbnRJZCA9IHBhcmFtc1snaWQnXTtcclxuICAgIH0pO1xyXG4gIH1cclxuICAgbmdPbkluaXQoKTogdm9pZHtcclxuICAgIC8vUGFnZSBoZWFkZXIgKGJyZWFkY3J1bWIgYW5kIHRpdGxlKVxyXG4gICAgdGhpcy5sb2FkQnJlYWRDcnVtcERhdGEoKTtcclxuICAgXHJcblxyXG4gIH1cclxuXHJcblxyXG4gIC8vUGFnaW5nIGZ1bmN0aW9uc1xyXG4gIHNldFVzZXJEZXBhcnRtZW50TGlzdFJlc3VsdChyZXN1bHQpIHtcclxuICAgIHRoaXMuVXNlckRlcGFydG1lbnRQYWdpbmdSZXN1bHQgPSByZXN1bHRcclxuICAgIHRoaXMuRmlsdGVyZWRVc2VyRGVwYXJ0bWVudFBhZ2luZ1Jlc3VsdCA9IHRoaXMuVXNlckRlcGFydG1lbnRQYWdpbmdSZXN1bHQ7XHJcbiAgICB0aGlzLnV0aWxpdHlTZXJ2aWNlLnN0b3BCbG9ja1VJKClcclxuICB9XHJcbiAgLy9SZXNldCBhbGwgRmlsdGVyc1xyXG4gIHJlc2V0RmlsdGVycygpIHtcclxuICAgIHRoaXMuVXNlckRlcGFydG1lbnRGb3JtLmNvbnRyb2xzW1wic2VhcmNoVGV4dEJveFwiXS5zZXRWYWx1ZShudWxsKTtcclxuICAgIGxldCBlbGVtZW50ID0gdGhpcy5wYWdpbmdFbGVtZW50IGFzIGFueTtcclxuICAgIGVsZW1lbnQuUmVpbml0aWFsaXplUGFnaW5nKCk7XHJcbiAgfVxyXG4gIC8vR2V0IHBhcmVudCBkZXBhcnRtZW50IG5hbWUgYW5kIHNldCBwYWdlIHRpdGxlIGFuZCBicmVhZGNydW1ic1xyXG4gIGxvYWRCcmVhZENydW1wRGF0YSgpIHtcclxuICAgIHRoaXMuZGVwYXJ0bWVudFNlcnZpY2UuZ2V0RGVwYXJ0bWVudEluZm8odGhpcy5EZXBhcnRtZW50SWQpLnN1YnNjcmliZSgocmVzdWx0KSA9PiB7XHJcbiAgICAgIGxldCByZXN1bHRNb2RlbCA9IHJlc3VsdCBhcyBhbnlcclxuICAgICAgUGFnZUluZm9TZXJ2aWNlLlBhZ2VUaXRsZSA9IHJlc3VsdE1vZGVsLnZhbC5kZXBhcnRtZW50TmFtZTtcclxuICAgICAgUGFnZUluZm9TZXJ2aWNlLlBhZ2VCcmVhZGNydW1icyA9IFtcclxuICAgICAgICB7IHRpdGxlOiB0aGlzLnV0aWxpdHlTZXJ2aWNlLmdldFJlc291cmNlVmFsdWUoXCJIb21lXCIpLCBwYXRoOiAnL0FkbWluL0hvbWUnLCBpc1NlcGFyYXRvcjogZmFsc2UsIGlzQWN0aXZlOiBmYWxzZSB9LFxyXG4gICAgICAgIHsgdGl0bGU6ICcnLCBwYXRoOiAnJywgaXNTZXBhcmF0b3I6IHRydWUsIGlzQWN0aXZlOiBmYWxzZSB9LFxyXG4gICAgICAgIHsgdGl0bGU6IHRoaXMudXRpbGl0eVNlcnZpY2UuZ2V0UmVzb3VyY2VWYWx1ZShcIkRlcGFydG1lbnRzXCIpLCBwYXRoOiAnL0FkbWluL0RlcGFydG1lbnRzL0RlcGFydG1lbnRzJywgaXNTZXBhcmF0b3I6IGZhbHNlLCBpc0FjdGl2ZTogZmFsc2UgfSxcclxuICAgICAgICB7IHRpdGxlOiAnJywgcGF0aDogJycsIGlzU2VwYXJhdG9yOiB0cnVlLCBpc0FjdGl2ZTogZmFsc2UgfVxyXG5cclxuICAgICAgXTtcclxuICAgICAgdGhpcy5wYWdlSW5mb1NlcnZpY2UuY2FsY3VsYXRlVGl0bGUoKTtcclxuICAgICAgdGhpcy5wYWdlSW5mb1NlcnZpY2UuY2FsY3VsYXRlQnJlYWRjcnVtYnMoKTtcclxuICAgICAgIC8vaW5pdGlhbGl6ZSBwYWdlXHJcbiAgICAgIHRoaXMuaW5pdGlhbGl6ZVBhZ2UoKTtcclxuICAgIH0pO1xyXG4gIH1cclxuXHJcbiAgLy9Jbml0aWFsaXplIGZpbHRlcnMgYW5kIHBhZ2luZ1xyXG4gIGluaXRpYWxpemVQYWdlKCkge1xyXG4gICAgLy8gVGV4dEJveCBpbnRpXHJcbiAgICB0aGlzLnNlYXJjaFRleHRCb3ggPSBuZXcgVGV4dEJveE9wdGlvbnMoKTtcclxuICAgIHRoaXMuc2VhcmNoVGV4dEJveC5OYW1lID0gXCJzZWFyY2hUZXh0Qm94XCJcclxuICAgIHRoaXMuc2VhcmNoVGV4dEJveC5IaWRlTGFiZWwgPSB0cnVlXHJcbiAgICB0aGlzLnNlYXJjaFRleHRCb3guVHlwZSA9IElucHV0VHlwZS5UZXh0XHJcbiAgICB0aGlzLnNlYXJjaFRleHRCb3guUGxhY2Vob2xkZXIgPSB0aGlzLnV0aWxpdHlTZXJ2aWNlLmdldFJlc291cmNlVmFsdWUoXCJTZWFyY2hCeU5hbWVPckVtYWlsXCIpO1xyXG5cclxuICAgIHRoaXMuRGVwYXJ0bWVudElkVGV4dEJveCA9IG5ldyBUZXh0Qm94T3B0aW9ucygpO1xyXG4gICAgdGhpcy5EZXBhcnRtZW50SWRUZXh0Qm94Lk5hbWUgPSBcIkRlcGFydG1lbnRJZFRleHRCb3hcIlxyXG4gICAgdGhpcy5EZXBhcnRtZW50SWRUZXh0Qm94LkxhYmVsS2V5ID0gXCJEZXBhcnRtZW50SWRUZXh0Qm94XCJcclxuICAgIHRoaXMuRGVwYXJ0bWVudElkVGV4dEJveC5UeXBlID0gSW5wdXRUeXBlLlRleHRcclxuICAgIHRoaXMuRGVwYXJ0bWVudElkVGV4dEJveC5WYWx1ZSA9IHRoaXMuRGVwYXJ0bWVudElkO1xyXG4gICAgdGhpcy5EZXBhcnRtZW50SWRUZXh0Qm94LlBsYWNlaG9sZGVyID0gdGhpcy51dGlsaXR5U2VydmljZS5nZXRSZXNvdXJjZVZhbHVlKFwiU2VhcmNoQnlOYW1lXCIpXHJcblxyXG4gICAgdGhpcy5UZXh0SW5wdXRGaWx0ZXIgPSBuZXcgRmlsdGVySXRlbSgpO1xyXG4gICAgdGhpcy5UZXh0SW5wdXRGaWx0ZXIuRm9ybUNvbnRyb2xOYW1lID0gXCJzZWFyY2hUZXh0Qm94XCJcclxuICAgIHRoaXMuVGV4dElucHV0RmlsdGVyLkFjdGlvblBhcmFtZXRlck5hbWUgPSBcInNlYXJjaFRleHRcIlxyXG4gICAgdGhpcy5UZXh0SW5wdXRGaWx0ZXIuSXNGb3JtQ29udHJvbCA9IHRydWVcclxuICAgIHRoaXMuVGV4dElucHV0RmlsdGVyLkZpbHRlclR5cGUgPSBGaWx0ZXJUeXBlLlRleHRCb3hcclxuXHJcbiAgICB0aGlzLkRlcGFydG1lbnRJZFRleHRJbnB1dEZpbHRlciA9IG5ldyBGaWx0ZXJJdGVtKCk7XHJcbiAgICB0aGlzLkRlcGFydG1lbnRJZFRleHRJbnB1dEZpbHRlci5Gb3JtQ29udHJvbE5hbWUgPSBcIkRlcGFydG1lbnRJZFRleHRCb3hcIlxyXG4gICAgdGhpcy5EZXBhcnRtZW50SWRUZXh0SW5wdXRGaWx0ZXIuQWN0aW9uUGFyYW1ldGVyTmFtZSA9IFwiZGVwYXJ0bWVudElkXCJcclxuICAgIHRoaXMuRGVwYXJ0bWVudElkVGV4dElucHV0RmlsdGVyLklzRm9ybUNvbnRyb2wgPSB0cnVlXHJcbiAgICB0aGlzLkRlcGFydG1lbnRJZFRleHRJbnB1dEZpbHRlci5GaWx0ZXJUeXBlID0gRmlsdGVyVHlwZS5UZXh0Qm94XHJcblxyXG4gICBcclxuICAgIHRoaXMuVXNlckRlcGFydG1lbnRQYWdpbmcgPSBuZXcgUGFnaW5nT3B0aW9ucygpO1xyXG4gICAgdGhpcy5Vc2VyRGVwYXJ0bWVudFBhZ2luZy5BY3Rpb25Qb3N0VVJMID0gdGhpcy5BcGlVcmwgKyAnR2V0VXNlcnNCeUZpbHRlcic7XHJcbiAgICB0aGlzLlVzZXJEZXBhcnRtZW50UGFnaW5nLk9uS2V5UHJlc3NGaWx0ZXJzQ29udHJvbE5hbWVzID0gW1wic2VhcmNoVGV4dEJveFwiLCBcIkRlcGFydG1lbnRJZFRleHRCb3hcIl1cclxuICAgIHRoaXMuVXNlckRlcGFydG1lbnRQYWdpbmcuRmlsdGVycyA9IFt0aGlzLlRleHRJbnB1dEZpbHRlciwgdGhpcy5EZXBhcnRtZW50SWRUZXh0SW5wdXRGaWx0ZXJdXHJcbiAgICB0aGlzLlVzZXJEZXBhcnRtZW50UGFnaW5nLlBhZ2VTaXplID0gMTBcclxuICAgIHRoaXMuVXNlckRlcGFydG1lbnRQYWdpbmcuSGlkZVBhZ2luYXRpb25XaGVuUGFnZVNpemVFcXVhbE9uZSA9IHRydWVcclxuICAgIHRoaXMuVXNlckRlcGFydG1lbnRQYWdpbmcuU2hvd1BhZ2VTaXplT3B0aW9uID0gdHJ1ZVxyXG4gICAgdGhpcy5Vc2VyRGVwYXJ0bWVudFBhZ2luZy5TaG93Rmlyc3RBbmRMYXN0ID0gdHJ1ZVxyXG4gICAgdGhpcy5Vc2VyRGVwYXJ0bWVudFBhZ2luZy5WYWxpZGF0aW9uVG9rZW4gPSB0aGlzLmF1dGhTZXJ2aWNlLmF1dGhvcml6YXRpb25IZWFkZXJWYWx1ZSgpXHJcblxyXG4gICAgdGhpcy5Jc0ZpbHRlckxvYWRlZCA9IHRydWU7XHJcbiAgfVxyXG5cclxuXHJcbiAgLy9BZGQgdXNlciB0byBkZXBhcnRtZW50XHJcbiAgc2hvd0FkZFVzZXJUb0RlcGFydG1lbnRNb2RhbChBZGRVc2VyVG9EZXBhcnRtZW50TW9kYWwpIHtcclxuICAgIHRoaXMudXRpbGl0eVNlcnZpY2Uuc3RhcnRCbG9ja1VJKClcclxuICAgIFxyXG4gICAgdGhpcy5BZGRVc2Vyc1RvRGVwYXJ0bWVudEZvcm0gPSBuZXcgRm9ybUdyb3VwKHt9KVxyXG4gICAgdGhpcy5BZGRVc2VyVG9EZXBhcnRtZW50Rm9ybU9wdGlvbnMgPSBuZXcgRm9ybU9wdGlvbnMoKTtcclxuICAgIHRoaXMuQWRkVXNlclRvRGVwYXJ0bWVudEZvcm1PcHRpb25zLkZvcm1Hcm91cCA9IHRoaXMuQWRkVXNlcnNUb0RlcGFydG1lbnRGb3JtXHJcbiAgICB0aGlzLkFkZFVzZXJUb0RlcGFydG1lbnRGb3JtT3B0aW9ucy5HZXRNb2RlbEZ1bmN0aW9uID0gdGhpcy5nZXRBZGRVc2VyVG9EZXBhcnRtZW50TW9kZWw7XHJcbiAgICB0aGlzLkFkZFVzZXJUb0RlcGFydG1lbnRGb3JtT3B0aW9ucy5TZXJ2aWNlU3VibWl0RnVuY3Rpb24gPSB0aGlzLmdldEFkZFVzZXJUb0RlcGFydG1lbnRGdW5jdGlvbjtcclxuICAgIHRoaXMuQWRkVXNlclRvRGVwYXJ0bWVudEZvcm1PcHRpb25zLlBhZ2luZ1JlZmVyZW5jZSA9IHRoaXMucGFnaW5nRWxlbWVudFxyXG5cclxuICAgIHRoaXMuVXNlckF1dG9Db21wbGV0ZSA9IG5ldyBUYWdzSW5wdXRPcHRpb25zKCk7XHJcbiAgICB0aGlzLlVzZXJBdXRvQ29tcGxldGUuTmFtZSA9IFwiVXNlckF1dG9Db21wbGV0ZVwiO1xyXG4gICAgdGhpcy5Vc2VyQXV0b0NvbXBsZXRlLkxhYmVsS2V5ID0gXCJVc2Vyc1wiO1xyXG4gICAgdGhpcy5Vc2VyQXV0b0NvbXBsZXRlLklzUmVxdWlyZWQgPSB0cnVlO1xyXG4gICAgdGhpcy5Vc2VyQXV0b0NvbXBsZXRlLlZhbHVlID0gbnVsbDtcclxuICAgIHRoaXMuVXNlckF1dG9Db21wbGV0ZS5BY3Rpb25VUkwgPSB0aGlzLkFwaVVybCArIFwiQXV0b0NvbXBsZXRlVXNlckxpc3RcIlxyXG4gICAgdGhpcy5Vc2VyQXV0b0NvbXBsZXRlLlZhbGlkYXRpb25Ub2tlbiA9IHRoaXMuYXV0aFNlcnZpY2UuYXV0aG9yaXphdGlvbkhlYWRlclZhbHVlKClcclxuICAgIHRoaXMubW9kYWxTZXJ2aWNlLm9wZW4oQWRkVXNlclRvRGVwYXJ0bWVudE1vZGFsKTtcclxuICAgIHRoaXMudXRpbGl0eVNlcnZpY2Uuc3RvcEJsb2NrVUkoKVxyXG5cclxuXHJcbiAgfVxyXG5cclxuICBnZXRBZGRVc2VyVG9EZXBhcnRtZW50TW9kZWwgPSAoKSA9PiB7XHJcbiAgICBsZXQgcGFyYW1BcnJheTogYW55W10gPSBbXTtcclxuICAgIGxldCBSZXN1bHRNb2RlbCA9IHRoaXMuQWRkVXNlcnNUb0RlcGFydG1lbnRGb3JtLnZhbHVlO1xyXG4gICAgbGV0IEFkZE1vZGVsOiBEZXBhcnRtZW50VXNlcnNJRFJlcXVlc3RNb2RlbCA9IG5ldyBEZXBhcnRtZW50VXNlcnNJRFJlcXVlc3RNb2RlbCgpO1xyXG4gICAgZm9yIChsZXQgaW5kZXggPSAwOyBpbmRleCA8IFJlc3VsdE1vZGVsLlVzZXJBdXRvQ29tcGxldGUubGVuZ3RoOyBpbmRleCsrKSB7XHJcbiAgICAgIGNvbnN0IGtleSA9IFJlc3VsdE1vZGVsLlVzZXJBdXRvQ29tcGxldGVbaW5kZXhdLmtleTtcclxuICAgICAgQWRkTW9kZWwuVXNlcnNJRHMucHVzaChOdW1iZXIoa2V5KSlcclxuICAgIH1cclxuICAgIEFkZE1vZGVsLkRlcGFydG1lbnRJZCA9IHRoaXMuRGVwYXJ0bWVudElkO1xyXG4gICAgcGFyYW1BcnJheS5wdXNoKEFkZE1vZGVsKTtcclxuICAgIHJldHVybiBwYXJhbUFycmF5O1xyXG4gIH1cclxuXHJcbiAgZ2V0QWRkVXNlclRvRGVwYXJ0bWVudEZ1bmN0aW9uID0gKEFkZE1vZGVsKTogT2JzZXJ2YWJsZTxhbnk+ID0+IHtcclxuICAgIHJldHVybiB0aGlzLmRlcGFydG1lbnRTZXJ2aWNlLmFkZFVzZXJzVG9EZXBhcnRtZW50KEFkZE1vZGVsKVxyXG4gIH1cclxuXHJcblxyXG4gIC8vRGVsZXRlIHVzZXIgZnJvbSBkZXBhcnRtZW50XHJcbiAgc2hvd0RlbGV0ZVVzZXJGcm9tRGVwYXJ0bWVudE1vZGFsKGVuY3J5cHRlZFVzZXJJZDogc3RyaW5nKSB7XHJcbiAgICB0aGlzLmRlbGV0ZVVzZXJJZCA9IGVuY3J5cHRlZFVzZXJJZDtcclxuICAgIC8vYXJyYXkgc2VudCB0byBzZXJ2aWNlIGZ1bmN0aW9uXHJcbiAgICBsZXQgcGFyYW1BcnJheTogYW55W10gPSBbXTtcclxuICAgIHBhcmFtQXJyYXkucHVzaCh0aGlzLmRlbGV0ZVVzZXJJZCk7XHJcblxyXG4gICAgdGhpcy5EZWxldGVDb25maXJtYXRpb25PcHRpb25zID0gbmV3IENvbmZpcm1hdGlvbk1vZGFsT3B0aW9ucygpO1xyXG4gICAgdGhpcy5EZWxldGVDb25maXJtYXRpb25PcHRpb25zLlNlcnZpY2VTdWJtaXRGdW5jdGlvbiA9IHRoaXMuZGVsZXRlVXNlckZyb21EZXBhcnRtZW50O1xyXG4gICAgdGhpcy5EZWxldGVDb25maXJtYXRpb25PcHRpb25zLlNlcnZpY2VTdWJtaXRNb2RlbCA9IHBhcmFtQXJyYXk7XHJcbiAgICB0aGlzLkRlbGV0ZUNvbmZpcm1hdGlvbk9wdGlvbnMuUGFnaW5nUmVmZXJlbmNlID0gdGhpcy5wYWdpbmdFbGVtZW50O1xyXG5cclxuICAgIHRoaXMuZGVsZXRlQ29udHJvbExvYWRlZCA9IHRydWU7XHJcbiAgICBzZXRUaW1lb3V0KCgpID0+IHtcclxuICAgICAgdGhpcy5Db25maXJtYXRpb25Nb2RhbENvbnRyb2wuc2hvd01vZGFsKCk7XHJcbiAgICB9LCAyMDApO1xyXG4gICAgXHJcbiAgfVxyXG5cclxuICBkZWxldGVVc2VyRnJvbURlcGFydG1lbnQgPSAoZGVsZXRlVXNlcklkOiBzdHJpbmcpOiBPYnNlcnZhYmxlPGFueT4gPT4ge1xyXG4gICAgcmV0dXJuIHRoaXMuZGVwYXJ0bWVudFNlcnZpY2UuZGVsZXRlVXNlckZyb21EZXBhcnRtZW50KGRlbGV0ZVVzZXJJZCk7XHJcbiAgfVxyXG5cclxuXHJcbiAgLyoqRnVuY3Rpb25OYW1lOmZpbHRlclVzZXJEZXBhcnRtZW50TGlzdCAqL1xyXG4gIC8qKkRlY2xhcmF0aW9uOmZ1bmN0aW9uIHRvIGZpbHRlciB1c2VyIERlcGFydG1lbnQgTGlzdCBpbiBjbGllbnQtc2lkZSAqL1xyXG4gIC8qKlBhcmFtZXRlcnM6Ki9cclxuICAvKipzZWFyY2hWYWx1ZTogY3VycmVudCB2YWx1ZSBvZiBzZWFyY2ggYm94Ki9cclxuICBmaWx0ZXJVc2VyRGVwYXJ0bWVudExpc3Qoc2VhcmNoVmFsdWUpIHtcclxuICAgIGlmIChzZWFyY2hWYWx1ZSlcclxuICAgICAgdGhpcy5GaWx0ZXJlZFVzZXJEZXBhcnRtZW50UGFnaW5nUmVzdWx0ID0gdGhpcy5Vc2VyRGVwYXJ0bWVudFBhZ2luZ1Jlc3VsdC5maWx0ZXIoaXRlbSA9PiBpdGVtLnVzZXJOYW1lLnRvTG93ZXJDYXNlKCkuaW5jbHVkZXMoc2VhcmNoVmFsdWUudG9Mb3dlckNhc2UoKSkpO1xyXG4gICAgZWxzZVxyXG4gICAgICB0aGlzLkZpbHRlcmVkVXNlckRlcGFydG1lbnRQYWdpbmdSZXN1bHQgPSB0aGlzLlVzZXJEZXBhcnRtZW50UGFnaW5nUmVzdWx0XHJcbiAgfVxyXG4gIG5nT25EZXN0cm95KCk6IHZvaWQge1xyXG4gICAgdGhpcy5yZXF1ZXN0SGFuZGxlclNlcnZpY2UuZGVzdHJveUhhbmRsZXIoKTtcclxuICB9XHJcblxyXG59XHJcbiIsIjxibG9jay11aT48L2Jsb2NrLXVpPlxyXG48IS0tIFBhZ2UgQ29udGVudCAtLT5cclxuPGRpdiAgY2xhc3M9XCJjb250YWluZXItZmx1aWRcIj5cclxuICA8ZGl2IGNsYXNzPVwiY2FyZCBjYXJkLWN1c3RvbS1oXCI+XHJcbiAgICA8ZGl2IGNsYXNzPVwiY2FyZC1oZWFkZXIgYm9yZGVyLTAgcHQtNVwiPlxyXG4gICAgICA8ZGl2IGNsYXNzPVwiY2FyZC10aXRsZSBhbGlnbi1pdGVtcy1zdGFydCBmbGV4LWNvbHVtblwiICpuZ0lmPVwiSXNGaWx0ZXJMb2FkZWRcIj5cclxuICAgICAgICAgIDxCQlNGLVRleHRCb3ggW2hpZGRlbl09XCJ0cnVlXCIgW29wdGlvbnNdPVwiRGVwYXJ0bWVudElkVGV4dEJveFwiIFtncm91cF09XCJVc2VyRGVwYXJ0bWVudEZvcm1cIj5cclxuICAgICAgICAgIDwvQkJTRi1UZXh0Qm94PlxyXG4gICAgICAgICAgPEJCU0YtVGV4dEJveCBbb3B0aW9uc109XCJzZWFyY2hUZXh0Qm94XCIgKE9uQ2hhbmdlKT1cImZpbHRlclVzZXJEZXBhcnRtZW50TGlzdCgkZXZlbnQpXCIgIFtncm91cF09XCJVc2VyRGVwYXJ0bWVudEZvcm1cIj48L0JCU0YtVGV4dEJveD5cclxuICAgICAgPC9kaXY+XHJcbiAgICAgIDxkaXYgY2xhc3M9XCJjYXJkLXRvb2xiYXJcIj5cclxuICAgICAgICA8IS0tIGJlZ2luOjpNZW51IC0tPlxyXG4gICAgICAgIDxidXR0b24gdHlwZT1cImJ1dHRvblwiIGNsYXNzPVwiYnRuIGJ0bi1zbSBidG4tcHJpbWFyeVwiIHRpdGxlPVwiQWRkXCJcclxuICAgICAgICAgIChjbGljayk9XCJzaG93QWRkVXNlclRvRGVwYXJ0bWVudE1vZGFsKEFkZFVzZXJUb0RlcGFydG1lbnRNb2RhbClcIj5cclxuICAgICAgICAgIDxpIGNsYXNzPVwiZmFzIGZhLXBsdXMgbWUtMVwiPjwvaT5cclxuICAgICAgICAgIHt7dXRpbGl0eVNlcnZpY2UuZ2V0UmVzb3VyY2VWYWx1ZShcIkFkZFwiKX19XHJcbiAgICAgICAgPC9idXR0b24+XHJcblxyXG4gICAgICAgIDwhLS0gZW5kOjpNZW51IC0tPlxyXG4gICAgICA8L2Rpdj5cclxuICAgIDwvZGl2PlxyXG4gICAgPGRpdiBjbGFzcz1cImNhcmQtYm9keSBweS0zXCI+XHJcbiAgICAgIDxkaXYgY2xhc3M9XCJ0YWJsZS1yZXNwb25zaXZlXCI+XHJcbiAgICAgICAgPCEtLWJlZ2luOjpQZXJtaXNzaW9uIGxpc3QtLT5cclxuICAgICAgICA8dGFibGUgY2xhc3M9XCJ0YWJsZSBhbGlnbi1taWRkbGUgdGFibGUtcm93LWRhc2hlZCBmcy02IGd5LTUgZGF0YVRhYmxlIG5vLWZvb3RlclwiPlxyXG4gICAgICAgICAgPHRoZWFkPlxyXG4gICAgICAgICAgICA8dHIgY2xhc3M9XCJ0ZXh0LXN0YXJ0IHRleHQtZ3JheS00MDAgZnctYm9sZGVyIGZzLTcgdGV4dC11cHBlcmNhc2UgZ3MtMFwiPlxyXG5cclxuICAgICAgICAgICAgICA8dGggY2xhc3M9XCJtaW4tdy0xNTBweFwiPnt7dXRpbGl0eVNlcnZpY2UuZ2V0UmVzb3VyY2VWYWx1ZShcIk5hbWVcIil9fTwvdGg+XHJcbiAgICAgICAgICAgICAgPHRoIGNsYXNzPVwibWluLXctMTUwcHhcIj57e3V0aWxpdHlTZXJ2aWNlLmdldFJlc291cmNlVmFsdWUoXCJFbWFpbFwiKX19PC90aD5cclxuICAgICAgICAgICAgICA8dGggY2xhc3M9XCJtaW4tdy0xNTBweFwiPnt7dXRpbGl0eVNlcnZpY2UuZ2V0UmVzb3VyY2VWYWx1ZShcIlJvbGVzXCIpfX08L3RoPlxyXG4gICAgICAgICAgICAgIDx0aCBjbGFzcz1cIm1pbi13LTUwcHhcIj57e3V0aWxpdHlTZXJ2aWNlLmdldFJlc291cmNlVmFsdWUoXCJBY3Rpb25cIil9fTwvdGg+XHJcbiAgICAgICAgICAgIDwvdHI+XHJcbiAgICAgICAgICA8L3RoZWFkPlxyXG4gICAgICAgICAgPHRib2R5IGlkPVwibGlzdGluZ0NvbnRhaW5lclwiIGNsYXNzPVwiZnctYm9sZCB0ZXh0LWdyYXktNjAwIGJvcmRlci0wXCI+XHJcblxyXG4gICAgICAgICAgICA8dHIgKm5nRm9yPVwibGV0IHVzZXIgb2YgRmlsdGVyZWRVc2VyRGVwYXJ0bWVudFBhZ2luZ1Jlc3VsdFwiPlxyXG5cclxuICAgICAgICAgICAgICA8dGQ+XHJcbiAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cInRleHQtZGFya1wiPnt7dXNlci51c2VyTmFtZX19PC9zcGFuPlxyXG4gICAgICAgICAgICAgIDwvdGQ+XHJcbiAgICAgICAgICAgICAgPHRkPnt7dXNlci5lbWFpbH19PC90ZD5cclxuICAgICAgICAgICAgICA8dGQ+e3t1c2VyLnVzZXJQZXJtc2V0c319PC90ZD5cclxuICAgICAgICAgICAgICA8dGQ+XHJcbiAgICAgICAgICAgICAgICA8ZGl2PlxyXG4gICAgICAgICAgICAgICAgICA8YnV0dG9uIG1hdC1idXR0b24gW21hdE1lbnVUcmlnZ2VyRm9yXT1cIm1lbnVcIlxyXG4gICAgICAgICAgICAgICAgICAgIGNsYXNzPVwiYnRuIGJ0bi1zbSBidG4taWNvbiBidG4tbGlnaHQgYnRuLWFjdGl2ZS1saWdodC1wcmltYXJ5XCI+XHJcbiAgICAgICAgICAgICAgICAgICAgPGkgY2xhc3M9XCJmYSBmYS1lbGxpcHNpcy1oXCIgYXJpYS1oaWRkZW49XCJ0cnVlXCI+PC9pPlxyXG4gICAgICAgICAgICAgICAgICA8L2J1dHRvbj5cclxuICAgICAgICAgICAgICAgICAgPG1hdC1tZW51ICNtZW51PVwibWF0TWVudVwiPlxyXG4gICAgICAgICAgICAgICAgICAgIDxhIG5nYkRyb3Bkb3duSXRlbSBjbGFzcz1cImRyb3AtaXRlbSBweC0zXCJcclxuICAgICAgICAgICAgICAgICAgICAgIChjbGljayk9XCJzaG93RGVsZXRlVXNlckZyb21EZXBhcnRtZW50TW9kYWwodXNlci5pZEVuY3J5cHRlZClcIj5cclxuICAgICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwiZHJvcC1saW5rIHB4LTNcIj57e3V0aWxpdHlTZXJ2aWNlLmdldFJlc291cmNlVmFsdWUoXCJEZWxldGVcIil9fTwvc3Bhbj5cclxuICAgICAgICAgICAgICAgICAgICA8L2E+XHJcbiAgICAgICAgICAgICAgICAgIDwvbWF0LW1lbnU+XHJcbiAgICAgICAgICAgICAgICA8L2Rpdj5cclxuXHJcbiAgICAgICAgICAgICAgPC90ZD5cclxuICAgICAgICAgICAgPC90cj5cclxuICAgICAgICAgICAgPHRyICpuZ0lmPVwiRmlsdGVyZWRVc2VyRGVwYXJ0bWVudFBhZ2luZ1Jlc3VsdC5sZW5ndGggPT0gMFwiPlxyXG4gICAgICAgICAgICAgIDx0ZCBjb2xzcGFuPVwiNFwiPlxyXG4gICAgICAgICAgICAgICAgPGxpYi1lbXB0eS1kYXRhPjwvbGliLWVtcHR5LWRhdGE+XHJcbiAgICAgICAgICAgICAgPC90ZD5cclxuICAgICAgICAgICAgPC90cj5cclxuICAgICAgICAgIDwvdGJvZHk+XHJcbiAgICAgICAgPC90YWJsZT5cclxuICAgICAgICA8IS0tZW5kOjpQZXJtaXNzaW9uIGxpc3QtLT5cclxuICAgICAgPC9kaXY+XHJcblxyXG4gICAgPC9kaXY+XHJcbiAgICA8ZGl2IGNsYXNzPVwiY2FyZC1mb290ZXIgYm9yZGVyLTBcIj5cclxuICAgICAgPEJCU0YtUGFnaW5nIChJdGVtcyk9XCJzZXRVc2VyRGVwYXJ0bWVudExpc3RSZXN1bHQoJGV2ZW50KVwiICpuZ0lmPVwiSXNGaWx0ZXJMb2FkZWRcIiBbb3B0aW9uc109XCJVc2VyRGVwYXJ0bWVudFBhZ2luZ1wiXHJcbiAgICAgICAgW2dyb3VwXT1cIlVzZXJEZXBhcnRtZW50Rm9ybVwiICNVc2VyRGVwYXJ0bWVudFBhZ2luZ1ZpZXdFbGVtZW50PlxyXG4gICAgICA8L0JCU0YtUGFnaW5nPlxyXG4gICAgPC9kaXY+XHJcbiAgPC9kaXY+XHJcblxyXG48L2Rpdj5cclxuXHJcblxyXG48IS0tYWRkIE1vZGFsLS0+XHJcbjxuZy10ZW1wbGF0ZSAjQWRkVXNlclRvRGVwYXJ0bWVudE1vZGFsIGxldC1tb2RhbD5cclxuICA8ZGl2IGNsYXNzPVwibW9kYWwtaGVhZGVyIHBiLTAgYm9yZGVyLTAganVzdGlmeS1jb250ZW50LWVuZFwiPlxyXG4gICAgPGg1IGNsYXNzPVwibW9kYWwtdGl0bGVcIiBpZD1cImV4YW1wbGVNb2RhbExhYmVsXCI+PC9oNT5cclxuICAgIDxidXR0b24gdHlwZT1cImJ1dHRvblwiIGRhdGEtZGlzbWlzcz1cIm1vZGFsXCIgYXJpYS1sYWJlbD1cIkNsb3NlXCIgY2xhc3M9XCJidG4gYnRuLXNtIGJ0bi1pY29uIGJ0bi1hY3RpdmUtY29sb3ItcHJpbWFyeVwiXHJcbiAgICAgIChjbGljayk9XCJtb2RhbC5kaXNtaXNzKClcIj5cclxuICAgICAgPHNwYW4gY2xhc3M9XCJzdmctaWNvbiBzdmctaWNvbi0xXCI+XHJcbiAgICAgICAgPHNwYW4gW2lubGluZVNWR109XCInLi9zcmMvYXNzZXRzL2ltYWdlcy9hcnIwNjEuc3ZnJ1wiPjwvc3Bhbj5cclxuICAgICAgPC9zcGFuPlxyXG4gICAgPC9idXR0b24+XHJcbiAgPC9kaXY+XHJcbiAgPGRpdiBjbGFzcz1cIm1vZGFsLWJvZHkgc2Nyb2xsLXkgcHgtMTAgcHgtbGctMTUgcHQtMCBwYi0xNVwiPlxyXG4gICAgPGRpdiBjbGFzcz1cIm1iLTEzIHRleHQtY2VudGVyXCI+XHJcbiAgICAgIDxoMSBjbGFzcz1cIm1iLTNcIj4ge3t1dGlsaXR5U2VydmljZS5nZXRSZXNvdXJjZVZhbHVlKFwiQWRkXCIpfX0ge3t1dGlsaXR5U2VydmljZS5nZXRSZXNvdXJjZVZhbHVlKFwiVXNlclwiKX19IDwvaDE+XHJcbiAgICA8L2Rpdj5cclxuICAgIDxCQlNGLUZvcm0gW29wdGlvbnNdPVwiQWRkVXNlclRvRGVwYXJ0bWVudEZvcm1PcHRpb25zXCI+XHJcbiAgICAgIDxkaXYgY2xhc3M9XCJyb3dcIj5cclxuICAgICAgICA8ZGl2IGNsYXNzPVwiY29sLW1kLTEyXCI+XHJcbiAgICAgICAgICA8QkJTRi1UYWdzSW5wdXQgW29wdGlvbnNdPVwiVXNlckF1dG9Db21wbGV0ZVwiIFtncm91cF09XCJBZGRVc2Vyc1RvRGVwYXJ0bWVudEZvcm1cIj5cclxuICAgICAgICAgIDwvQkJTRi1UYWdzSW5wdXQ+XHJcbiAgICAgICAgPC9kaXY+XHJcbiAgICAgIDwvZGl2PlxyXG4gICAgICA8ZGl2IGNsYXNzPVwidGV4dC1jZW50ZXIgcHQtN1wiPlxyXG4gICAgICAgIDxidXR0b24gI0Nsb3NlQWRkVXNlcnNUb0RlcGFydG1lbnQgaWQ9XCJDbG9zZUFkZFVzZXJzVG9EZXBhcnRtZW50XCIgdHlwZT1cImJ1dHRvblwiXHJcbiAgICAgICAgICBjbGFzcz1cImJ0biBidG4tbGlnaHQgYnRuLXNtICBtZS0zXCIgZGF0YS1kaXNtaXNzPVwibW9kYWxcIiAoY2xpY2spPVwibW9kYWwuZGlzbWlzcygpXCI+XHJcbiAgICAgICAgICB7e3V0aWxpdHlTZXJ2aWNlLmdldFJlc291cmNlVmFsdWUoXCJDYW5jZWxMYWJlbFwiKX19XHJcbiAgICAgICAgPC9idXR0b24+XHJcbiAgICAgICAgPGJ1dHRvbiB0eXBlPVwic3VibWl0XCIgY2xhc3M9XCJidG4gYnRuLXByaW1hcnkgYnRuLXNtXCI+e3t1dGlsaXR5U2VydmljZS5nZXRSZXNvdXJjZVZhbHVlKFwiU2F2ZUxhYmVsXCIpfX08L2J1dHRvbj5cclxuICAgICAgPC9kaXY+XHJcbiAgICA8L0JCU0YtRm9ybT5cclxuICA8L2Rpdj5cclxuPC9uZy10ZW1wbGF0ZT5cclxuXHJcbjwhLS1kZWxldGUgTW9kYWwtLT5cclxuPEJCU0YtQ29uZmlybWF0aW9uTW9kYWwgKm5nSWY9XCJkZWxldGVDb250cm9sTG9hZGVkXCIgW29wdGlvbnNdPVwiRGVsZXRlQ29uZmlybWF0aW9uT3B0aW9uc1wiIGlkPVwiQ29uZmlybWF0aW9uTW9kYWxDb250cm9sXCJcclxuICAjQ29uZmlybWF0aW9uTW9kYWxDb250cm9sPjwvQkJTRi1Db25maXJtYXRpb25Nb2RhbD4iXX0=
@@ -15,7 +15,7 @@ import { DataSecretService } from '../shared/Services/data.service';
15
15
  import { NgbModule } from "@ng-bootstrap/ng-bootstrap";
16
16
  import { MatMenuModule } from '@angular/material/menu';
17
17
  import { InlineSVGModule } from 'ng-inline-svg';
18
- import { AuthService, EnvironmentService, UtilityService, BBSFTranslateService } from '@bnsights/bbsf-utilities';
18
+ import { AuthService, EnvironmentService, UtilityService, BBSFTranslateService, RequestHandlerService } from '@bnsights/bbsf-utilities';
19
19
  import { EmptyDataModule } from '../empty-data/empty-data.module';
20
20
  import { DepartmentService } from '../shared/Services/DepartmentService.service';
21
21
  import * as i0 from "@angular/core";
@@ -42,7 +42,8 @@ DepartmentsModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", versi
42
42
  UtilityService,
43
43
  AuthService,
44
44
  BBSFTranslateService,
45
- DepartmentService
45
+ DepartmentService,
46
+ RequestHandlerService
46
47
  ], imports: [[
47
48
  DepartmentsRoutingModule,
48
49
  CommonModule,
@@ -87,8 +88,9 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.13", ngImpo
87
88
  UtilityService,
88
89
  AuthService,
89
90
  BBSFTranslateService,
90
- DepartmentService
91
+ DepartmentService,
92
+ RequestHandlerService
91
93
  ]
92
94
  }]
93
95
  }] });
94
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGVwYXJ0bWVudHMubW9kdWxlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYmJzZi1hZG1pbi1wb3J0YWwvc3JjL2xpYi9QYWdlcy9kZXBhcnRtZW50cy9kZXBhcnRtZW50cy5tb2R1bGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFHLFFBQVEsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUMxQyxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDL0MsT0FBTyxFQUFFLG9CQUFvQixFQUFFLE1BQU0seUJBQXlCLENBQUM7QUFDL0QsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sbUNBQW1DLENBQUM7QUFDeEUsT0FBTyxFQUFFLHVCQUF1QixFQUFFLE1BQU0sNkNBQTZDLENBQUM7QUFDdEYsT0FBTyxFQUFFLHdCQUF3QixFQUFFLE1BQU0sOEJBQThCLENBQUM7QUFDeEUsT0FBTyxFQUFFLFdBQVcsRUFBRSxtQkFBbUIsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQ2xFLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLHNCQUFzQixDQUFDO0FBQ3hELE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUMvQyxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ2hELE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLHlCQUF5QixDQUFDO0FBQzdELE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSxhQUFhLENBQUM7QUFDNUMsdUZBQXVGO0FBQ3ZGLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLGlDQUFpQyxDQUFDO0FBQ3BFLE9BQU8sRUFBWSxTQUFTLEVBQUUsTUFBTSw0QkFBNEIsQ0FBQztBQUNqRSxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sd0JBQXdCLENBQUM7QUFDdkQsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUNoRCxPQUFPLEVBQUUsV0FBVyxFQUFFLGtCQUFrQixFQUFFLGNBQWMsRUFBRSxvQkFBb0IsRUFBRSxNQUFNLDBCQUEwQixDQUFDO0FBQ2pILE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSxpQ0FBaUMsQ0FBQztBQUNsRSxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSw4Q0FBOEMsQ0FBQzs7O0FBOEJqRixNQUFNLE9BQU8saUJBQWlCOzsrR0FBakIsaUJBQWlCO2dIQUFqQixpQkFBaUIsaUJBNUJiLG9CQUFvQixFQUFFLG1CQUFtQixFQUFFLHVCQUF1QixhQUUvRSx3QkFBd0I7UUFDeEIsWUFBWTtRQUNaLG1CQUFtQjtRQUNuQixnQkFBZ0I7UUFDaEIsWUFBWTtRQUNaLFlBQVk7UUFDWixlQUFlLG9CQUVmLG1CQUFtQjtRQUNuQixXQUFXO1FBQ1gsa0JBQWtCO1FBQ2xCLFNBQVM7UUFDVCxhQUFhO1FBQ2IsZUFBZTtRQUNmLGVBQWU7Z0hBWU4saUJBQWlCLGFBVmxCO1FBQ1Isa0JBQWtCO1FBQ2xCLGlCQUFpQjtRQUNqQixjQUFjO1FBQ2QsV0FBVztRQUNYLG9CQUFvQjtRQUNwQixpQkFBaUI7S0FFbEIsWUF6QlE7WUFDUCx3QkFBd0I7WUFDeEIsWUFBWTtZQUNaLG1CQUFtQjtZQUNuQixnQkFBZ0I7WUFDaEIsWUFBWTtZQUNaLFlBQVk7WUFDWixlQUFlO1lBQ2YsYUFBYSxDQUFDLE9BQU8sRUFBRTtZQUN2QixtQkFBbUI7WUFDbkIsV0FBVztZQUNYLGtCQUFrQjtZQUNsQixTQUFTO1lBQ1QsYUFBYTtZQUNiLGVBQWU7WUFDZixlQUFlO1NBQ2hCOzRGQVdVLGlCQUFpQjtrQkE3QjdCLFFBQVE7bUJBQUM7b0JBQ1IsWUFBWSxFQUFFLENBQUMsb0JBQW9CLEVBQUUsbUJBQW1CLEVBQUUsdUJBQXVCLENBQUM7b0JBQ2xGLE9BQU8sRUFBRTt3QkFDUCx3QkFBd0I7d0JBQ3hCLFlBQVk7d0JBQ1osbUJBQW1CO3dCQUNuQixnQkFBZ0I7d0JBQ2hCLFlBQVk7d0JBQ1osWUFBWTt3QkFDWixlQUFlO3dCQUNmLGFBQWEsQ0FBQyxPQUFPLEVBQUU7d0JBQ3ZCLG1CQUFtQjt3QkFDbkIsV0FBVzt3QkFDWCxrQkFBa0I7d0JBQ2xCLFNBQVM7d0JBQ1QsYUFBYTt3QkFDYixlQUFlO3dCQUNmLGVBQWU7cUJBQ2hCO29CQUNELFNBQVMsRUFBQzt3QkFDUixrQkFBa0I7d0JBQ2xCLGlCQUFpQjt3QkFDakIsY0FBYzt3QkFDZCxXQUFXO3dCQUNYLG9CQUFvQjt3QkFDcEIsaUJBQWlCO3FCQUVsQjtpQkFDRiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7ICBOZ01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBDb21tb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xyXG5pbXBvcnQgeyBEZXBhcnRtZW50c0NvbXBvbmVudCB9IGZyb20gJy4vZGVwYXJ0bWVudHMuY29tcG9uZW50JztcclxuaW1wb3J0IHsgRGVwYXJ0bWVudENvbXBvbmVudCB9IGZyb20gJy4vZGVwYXJ0bWVudC9kZXBhcnRtZW50LmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IERlcGFydG1lbnRJbmZvQ29tcG9uZW50IH0gZnJvbSAnLi9kZXBhcnRtZW50LWluZm8vZGVwYXJ0bWVudC1pbmZvLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IERlcGFydG1lbnRzUm91dGluZ01vZHVsZSB9IGZyb20gJy4vZGVwYXJ0bWVudHMtcm91dGluZy5tb2R1bGUnO1xyXG5pbXBvcnQgeyBGb3Jtc01vZHVsZSwgUmVhY3RpdmVGb3Jtc01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcclxuaW1wb3J0IHsgSHR0cENsaWVudE1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbi9odHRwJztcclxuaW1wb3J0IHsgUm91dGVyTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvcm91dGVyJztcclxuaW1wb3J0IHsgQ2xpcGJvYXJkTW9kdWxlIH0gZnJvbSAnbmd4LWNsaXBib2FyZCc7XHJcbmltcG9ydCB7IEJCU0ZDb250cm9sc01vZHVsZSB9IGZyb20gJ0BibnNpZ2h0cy9iYnNmLWNvbnRyb2xzJztcclxuaW1wb3J0IHsgQmxvY2tVSU1vZHVsZSB9IGZyb20gJ25nLWJsb2NrLXVpJztcclxuLy8gaW1wb3J0IHsgZW52aXJvbm1lbnRTZXJ2aWNlIH0gZnJvbSAnLi4vc2hhcmVkL1NlcnZpY2VzL2Vudmlyb25tZW50c1NlcnZpY2UuU2VydmljZSc7XHJcbmltcG9ydCB7IERhdGFTZWNyZXRTZXJ2aWNlIH0gZnJvbSAnLi4vc2hhcmVkL1NlcnZpY2VzL2RhdGEuc2VydmljZSc7XHJcbmltcG9ydCB7IE5nYk1vZGFsLCBOZ2JNb2R1bGUgfSBmcm9tIFwiQG5nLWJvb3RzdHJhcC9uZy1ib290c3RyYXBcIjtcclxuaW1wb3J0IHsgTWF0TWVudU1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL21lbnUnO1xyXG5pbXBvcnQgeyBJbmxpbmVTVkdNb2R1bGUgfSBmcm9tICduZy1pbmxpbmUtc3ZnJztcclxuaW1wb3J0IHsgQXV0aFNlcnZpY2UsIEVudmlyb25tZW50U2VydmljZSwgVXRpbGl0eVNlcnZpY2UsIEJCU0ZUcmFuc2xhdGVTZXJ2aWNlIH0gZnJvbSAnQGJuc2lnaHRzL2Jic2YtdXRpbGl0aWVzJztcclxuaW1wb3J0IHsgRW1wdHlEYXRhTW9kdWxlIH0gZnJvbSAnLi4vZW1wdHktZGF0YS9lbXB0eS1kYXRhLm1vZHVsZSc7XHJcbmltcG9ydCB7IERlcGFydG1lbnRTZXJ2aWNlIH0gZnJvbSAnLi4vc2hhcmVkL1NlcnZpY2VzL0RlcGFydG1lbnRTZXJ2aWNlLnNlcnZpY2UnO1xyXG5ATmdNb2R1bGUoe1xyXG4gIGRlY2xhcmF0aW9uczogW0RlcGFydG1lbnRzQ29tcG9uZW50LCBEZXBhcnRtZW50Q29tcG9uZW50LCBEZXBhcnRtZW50SW5mb0NvbXBvbmVudF0sXHJcbiAgaW1wb3J0czogW1xyXG4gICAgRGVwYXJ0bWVudHNSb3V0aW5nTW9kdWxlLFxyXG4gICAgQ29tbW9uTW9kdWxlLFxyXG4gICAgUmVhY3RpdmVGb3Jtc01vZHVsZSxcclxuICAgIEh0dHBDbGllbnRNb2R1bGUsXHJcbiAgICBSb3V0ZXJNb2R1bGUsXHJcbiAgICBDb21tb25Nb2R1bGUsXHJcbiAgICBDbGlwYm9hcmRNb2R1bGUsXHJcbiAgICBCbG9ja1VJTW9kdWxlLmZvclJvb3QoKSxcclxuICAgIFJlYWN0aXZlRm9ybXNNb2R1bGUsXHJcbiAgICBGb3Jtc01vZHVsZSxcclxuICAgIEJCU0ZDb250cm9sc01vZHVsZSxcclxuICAgIE5nYk1vZHVsZSxcclxuICAgIE1hdE1lbnVNb2R1bGUsXHJcbiAgICBJbmxpbmVTVkdNb2R1bGUsICAgXHJcbiAgICBFbXB0eURhdGFNb2R1bGVcclxuICBdLFxyXG4gIHByb3ZpZGVyczpbXHJcbiAgICBFbnZpcm9ubWVudFNlcnZpY2UsXHJcbiAgICBEYXRhU2VjcmV0U2VydmljZSxcclxuICAgIFV0aWxpdHlTZXJ2aWNlLFxyXG4gICAgQXV0aFNlcnZpY2UsXHJcbiAgICBCQlNGVHJhbnNsYXRlU2VydmljZSxcclxuICAgIERlcGFydG1lbnRTZXJ2aWNlXHJcblxyXG4gIF1cclxufSlcclxuZXhwb3J0IGNsYXNzIERlcGFydG1lbnRzTW9kdWxlIHsgfVxyXG4iXX0=
96
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGVwYXJ0bWVudHMubW9kdWxlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYmJzZi1hZG1pbi1wb3J0YWwvc3JjL2xpYi9QYWdlcy9kZXBhcnRtZW50cy9kZXBhcnRtZW50cy5tb2R1bGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFHLFFBQVEsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUMxQyxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDL0MsT0FBTyxFQUFFLG9CQUFvQixFQUFFLE1BQU0seUJBQXlCLENBQUM7QUFDL0QsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sbUNBQW1DLENBQUM7QUFDeEUsT0FBTyxFQUFFLHVCQUF1QixFQUFFLE1BQU0sNkNBQTZDLENBQUM7QUFDdEYsT0FBTyxFQUFFLHdCQUF3QixFQUFFLE1BQU0sOEJBQThCLENBQUM7QUFDeEUsT0FBTyxFQUFFLFdBQVcsRUFBRSxtQkFBbUIsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQ2xFLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLHNCQUFzQixDQUFDO0FBQ3hELE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUMvQyxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ2hELE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLHlCQUF5QixDQUFDO0FBQzdELE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSxhQUFhLENBQUM7QUFDNUMsdUZBQXVGO0FBQ3ZGLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLGlDQUFpQyxDQUFDO0FBQ3BFLE9BQU8sRUFBWSxTQUFTLEVBQUUsTUFBTSw0QkFBNEIsQ0FBQztBQUNqRSxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sd0JBQXdCLENBQUM7QUFDdkQsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUNoRCxPQUFPLEVBQUUsV0FBVyxFQUFFLGtCQUFrQixFQUFFLGNBQWMsRUFBRSxvQkFBb0IsRUFBRSxxQkFBcUIsRUFBRSxNQUFNLDBCQUEwQixDQUFDO0FBQ3hJLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSxpQ0FBaUMsQ0FBQztBQUNsRSxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSw4Q0FBOEMsQ0FBQzs7O0FBOEJqRixNQUFNLE9BQU8saUJBQWlCOzsrR0FBakIsaUJBQWlCO2dIQUFqQixpQkFBaUIsaUJBNUJiLG9CQUFvQixFQUFFLG1CQUFtQixFQUFFLHVCQUF1QixhQUUvRSx3QkFBd0I7UUFDeEIsWUFBWTtRQUNaLG1CQUFtQjtRQUNuQixnQkFBZ0I7UUFDaEIsWUFBWTtRQUNaLFlBQVk7UUFDWixlQUFlLG9CQUVmLG1CQUFtQjtRQUNuQixXQUFXO1FBQ1gsa0JBQWtCO1FBQ2xCLFNBQVM7UUFDVCxhQUFhO1FBQ2IsZUFBZTtRQUNmLGVBQWU7Z0hBWU4saUJBQWlCLGFBVmxCO1FBQ1Isa0JBQWtCO1FBQ2xCLGlCQUFpQjtRQUNqQixjQUFjO1FBQ2QsV0FBVztRQUNYLG9CQUFvQjtRQUNwQixpQkFBaUI7UUFDakIscUJBQXFCO0tBQ3RCLFlBekJRO1lBQ1Asd0JBQXdCO1lBQ3hCLFlBQVk7WUFDWixtQkFBbUI7WUFDbkIsZ0JBQWdCO1lBQ2hCLFlBQVk7WUFDWixZQUFZO1lBQ1osZUFBZTtZQUNmLGFBQWEsQ0FBQyxPQUFPLEVBQUU7WUFDdkIsbUJBQW1CO1lBQ25CLFdBQVc7WUFDWCxrQkFBa0I7WUFDbEIsU0FBUztZQUNULGFBQWE7WUFDYixlQUFlO1lBQ2YsZUFBZTtTQUNoQjs0RkFXVSxpQkFBaUI7a0JBN0I3QixRQUFRO21CQUFDO29CQUNSLFlBQVksRUFBRSxDQUFDLG9CQUFvQixFQUFFLG1CQUFtQixFQUFFLHVCQUF1QixDQUFDO29CQUNsRixPQUFPLEVBQUU7d0JBQ1Asd0JBQXdCO3dCQUN4QixZQUFZO3dCQUNaLG1CQUFtQjt3QkFDbkIsZ0JBQWdCO3dCQUNoQixZQUFZO3dCQUNaLFlBQVk7d0JBQ1osZUFBZTt3QkFDZixhQUFhLENBQUMsT0FBTyxFQUFFO3dCQUN2QixtQkFBbUI7d0JBQ25CLFdBQVc7d0JBQ1gsa0JBQWtCO3dCQUNsQixTQUFTO3dCQUNULGFBQWE7d0JBQ2IsZUFBZTt3QkFDZixlQUFlO3FCQUNoQjtvQkFDRCxTQUFTLEVBQUM7d0JBQ1Isa0JBQWtCO3dCQUNsQixpQkFBaUI7d0JBQ2pCLGNBQWM7d0JBQ2QsV0FBVzt3QkFDWCxvQkFBb0I7d0JBQ3BCLGlCQUFpQjt3QkFDakIscUJBQXFCO3FCQUN0QjtpQkFDRiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7ICBOZ01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBDb21tb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xyXG5pbXBvcnQgeyBEZXBhcnRtZW50c0NvbXBvbmVudCB9IGZyb20gJy4vZGVwYXJ0bWVudHMuY29tcG9uZW50JztcclxuaW1wb3J0IHsgRGVwYXJ0bWVudENvbXBvbmVudCB9IGZyb20gJy4vZGVwYXJ0bWVudC9kZXBhcnRtZW50LmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IERlcGFydG1lbnRJbmZvQ29tcG9uZW50IH0gZnJvbSAnLi9kZXBhcnRtZW50LWluZm8vZGVwYXJ0bWVudC1pbmZvLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IERlcGFydG1lbnRzUm91dGluZ01vZHVsZSB9IGZyb20gJy4vZGVwYXJ0bWVudHMtcm91dGluZy5tb2R1bGUnO1xyXG5pbXBvcnQgeyBGb3Jtc01vZHVsZSwgUmVhY3RpdmVGb3Jtc01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcclxuaW1wb3J0IHsgSHR0cENsaWVudE1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbi9odHRwJztcclxuaW1wb3J0IHsgUm91dGVyTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvcm91dGVyJztcclxuaW1wb3J0IHsgQ2xpcGJvYXJkTW9kdWxlIH0gZnJvbSAnbmd4LWNsaXBib2FyZCc7XHJcbmltcG9ydCB7IEJCU0ZDb250cm9sc01vZHVsZSB9IGZyb20gJ0BibnNpZ2h0cy9iYnNmLWNvbnRyb2xzJztcclxuaW1wb3J0IHsgQmxvY2tVSU1vZHVsZSB9IGZyb20gJ25nLWJsb2NrLXVpJztcclxuLy8gaW1wb3J0IHsgZW52aXJvbm1lbnRTZXJ2aWNlIH0gZnJvbSAnLi4vc2hhcmVkL1NlcnZpY2VzL2Vudmlyb25tZW50c1NlcnZpY2UuU2VydmljZSc7XHJcbmltcG9ydCB7IERhdGFTZWNyZXRTZXJ2aWNlIH0gZnJvbSAnLi4vc2hhcmVkL1NlcnZpY2VzL2RhdGEuc2VydmljZSc7XHJcbmltcG9ydCB7IE5nYk1vZGFsLCBOZ2JNb2R1bGUgfSBmcm9tIFwiQG5nLWJvb3RzdHJhcC9uZy1ib290c3RyYXBcIjtcclxuaW1wb3J0IHsgTWF0TWVudU1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL21lbnUnO1xyXG5pbXBvcnQgeyBJbmxpbmVTVkdNb2R1bGUgfSBmcm9tICduZy1pbmxpbmUtc3ZnJztcclxuaW1wb3J0IHsgQXV0aFNlcnZpY2UsIEVudmlyb25tZW50U2VydmljZSwgVXRpbGl0eVNlcnZpY2UsIEJCU0ZUcmFuc2xhdGVTZXJ2aWNlLCBSZXF1ZXN0SGFuZGxlclNlcnZpY2UgfSBmcm9tICdAYm5zaWdodHMvYmJzZi11dGlsaXRpZXMnO1xyXG5pbXBvcnQgeyBFbXB0eURhdGFNb2R1bGUgfSBmcm9tICcuLi9lbXB0eS1kYXRhL2VtcHR5LWRhdGEubW9kdWxlJztcclxuaW1wb3J0IHsgRGVwYXJ0bWVudFNlcnZpY2UgfSBmcm9tICcuLi9zaGFyZWQvU2VydmljZXMvRGVwYXJ0bWVudFNlcnZpY2Uuc2VydmljZSc7XHJcbkBOZ01vZHVsZSh7XHJcbiAgZGVjbGFyYXRpb25zOiBbRGVwYXJ0bWVudHNDb21wb25lbnQsIERlcGFydG1lbnRDb21wb25lbnQsIERlcGFydG1lbnRJbmZvQ29tcG9uZW50XSxcclxuICBpbXBvcnRzOiBbXHJcbiAgICBEZXBhcnRtZW50c1JvdXRpbmdNb2R1bGUsXHJcbiAgICBDb21tb25Nb2R1bGUsXHJcbiAgICBSZWFjdGl2ZUZvcm1zTW9kdWxlLFxyXG4gICAgSHR0cENsaWVudE1vZHVsZSxcclxuICAgIFJvdXRlck1vZHVsZSxcclxuICAgIENvbW1vbk1vZHVsZSxcclxuICAgIENsaXBib2FyZE1vZHVsZSxcclxuICAgIEJsb2NrVUlNb2R1bGUuZm9yUm9vdCgpLFxyXG4gICAgUmVhY3RpdmVGb3Jtc01vZHVsZSxcclxuICAgIEZvcm1zTW9kdWxlLFxyXG4gICAgQkJTRkNvbnRyb2xzTW9kdWxlLFxyXG4gICAgTmdiTW9kdWxlLFxyXG4gICAgTWF0TWVudU1vZHVsZSxcclxuICAgIElubGluZVNWR01vZHVsZSwgICBcclxuICAgIEVtcHR5RGF0YU1vZHVsZVxyXG4gIF0sXHJcbiAgcHJvdmlkZXJzOltcclxuICAgIEVudmlyb25tZW50U2VydmljZSxcclxuICAgIERhdGFTZWNyZXRTZXJ2aWNlLFxyXG4gICAgVXRpbGl0eVNlcnZpY2UsXHJcbiAgICBBdXRoU2VydmljZSxcclxuICAgIEJCU0ZUcmFuc2xhdGVTZXJ2aWNlLFxyXG4gICAgRGVwYXJ0bWVudFNlcnZpY2UsXHJcbiAgICBSZXF1ZXN0SGFuZGxlclNlcnZpY2VcclxuICBdXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBEZXBhcnRtZW50c01vZHVsZSB7IH1cclxuIl19