@bnsights/bbsf-admin-portal 1.1.49 → 1.1.50

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 (256) hide show
  1. package/README.md +4 -0
  2. package/bnsights-bbsf-admin-portal-1.1.50.tgz +0 -0
  3. package/esm2022/lib/Pages/ActiveDirectories/active-directory/active-directory.component.mjs +3 -3
  4. package/esm2022/lib/Pages/ActiveDirectories/active-directory-add/active-directory-add.component.mjs +1 -1
  5. package/esm2022/lib/Pages/_layout/components/aside/aside-menu/aside-menu.component.mjs +16 -9
  6. package/esm2022/lib/Pages/_layout/components/aside/aside.component.mjs +3 -3
  7. package/esm2022/lib/Pages/_layout/components/topbar/topbar.component.mjs +15 -22
  8. package/esm2022/lib/Pages/anonymouslayout/activation/activation.component.mjs +1 -1
  9. package/esm2022/lib/Pages/anonymouslayout/anonymouslayout.component.mjs +1 -1
  10. package/esm2022/lib/Pages/anonymouslayout/anonymouslayout.module.mjs +1 -1
  11. package/esm2022/lib/Pages/anonymouslayout/change-password/change-password.component.mjs +1 -1
  12. package/esm2022/lib/Pages/anonymouslayout/forgot-password/forgot-password.component.mjs +1 -1
  13. package/esm2022/lib/Pages/anonymouslayout/login/login.component.mjs +1 -1
  14. package/esm2022/lib/Pages/anonymouslayout/rest-password/rest-password.component.mjs +1 -1
  15. package/esm2022/lib/Pages/anonymouslayout/upload-license/upload-license.component.mjs +1 -1
  16. package/esm2022/lib/Pages/configurations/auth-configuration/auth-configuration-edit/auth-configuration-edit.component.mjs +4 -4
  17. package/esm2022/lib/Pages/configurations/auth-configuration/auth-configuration.component.mjs +3 -3
  18. package/esm2022/lib/Pages/configurations/configuration/configuration.component.mjs +167 -99
  19. package/esm2022/lib/Pages/core/authentication/admin.guard.mjs +7 -4
  20. package/esm2022/lib/Pages/core/authentication/auth.guard.mjs +1 -1
  21. package/esm2022/lib/Pages/departments/department/department.component.mjs +108 -30
  22. package/esm2022/lib/Pages/departments/department-info/department-info.component.mjs +1 -1
  23. package/esm2022/lib/Pages/documents/add-document/add-document.component.mjs +1 -1
  24. package/esm2022/lib/Pages/documents/document-master-layouts/document-master-layouts.component.mjs +1 -1
  25. package/esm2022/lib/Pages/documents/document-template-info/document-template-info.component.mjs +1 -1
  26. package/esm2022/lib/Pages/documents/edit-document/edit-document.component.mjs +1 -1
  27. package/esm2022/lib/Pages/documents/edit-document-template/edit-document-template.component.mjs +1 -1
  28. package/esm2022/lib/Pages/helpCenter/help-center/help-center.component.mjs +96 -15
  29. package/esm2022/lib/Pages/helpCenter/help-center-preview/help-center-preview.component.mjs +1 -1
  30. package/esm2022/lib/Pages/helpCenter/help-center-secondlevel/help-center-secondlevel.component.mjs +1 -1
  31. package/esm2022/lib/Pages/helpCenter/help-center-thirdlevel/help-center-thirdlevel.component.mjs +1 -1
  32. package/esm2022/lib/Pages/home/home.component.mjs +17 -6
  33. package/esm2022/lib/Pages/home/home.module.mjs +1 -1
  34. package/esm2022/lib/Pages/impersonation-rules/impersonation-rules/impersonation-rules.component.mjs +1 -1
  35. package/esm2022/lib/Pages/jobs/jobs/jobs.component.mjs +1 -1
  36. package/esm2022/lib/Pages/license/license/license.component.mjs +1 -1
  37. package/esm2022/lib/Pages/license/license.module.mjs +1 -1
  38. package/esm2022/lib/Pages/localizations/localizations-replace-text/localizations-replace-text.component.mjs +1 -1
  39. package/esm2022/lib/Pages/localizations/localizations.component.mjs +1 -1
  40. package/esm2022/lib/Pages/localizations/localizations.module.mjs +1 -1
  41. package/esm2022/lib/Pages/logs/log/log.component.mjs +1 -1
  42. package/esm2022/lib/Pages/lookups/lookup/lookup.component.mjs +1 -1
  43. package/esm2022/lib/Pages/lookups/lookup-group/lookup-group.component.mjs +1 -1
  44. package/esm2022/lib/Pages/lookups/lookup-item/lookup-item.component.mjs +1 -1
  45. package/esm2022/lib/Pages/notifications/add-notification/add-notification.component.mjs +85 -58
  46. package/esm2022/lib/Pages/notifications/edit-email/edit-email.component.mjs +1 -1
  47. package/esm2022/lib/Pages/notifications/edit-notification/edit-notification.component.mjs +55 -26
  48. package/esm2022/lib/Pages/notifications/edit-sms/edit-sms.component.mjs +1 -1
  49. package/esm2022/lib/Pages/notifications/master-layouts/master-layouts.component.mjs +68 -16
  50. package/esm2022/lib/Pages/notifications/notifications.module.mjs +2 -2
  51. package/esm2022/lib/Pages/notifications/notifications.routing.mjs +66 -0
  52. package/esm2022/lib/Pages/notifications/template-info/template-info.component.mjs +1 -1
  53. package/esm2022/lib/Pages/notifications/templates/templates.component.mjs +105 -58
  54. package/esm2022/lib/Pages/organization/add-organization/add-organization.component.mjs +107 -0
  55. package/esm2022/lib/Pages/organization/add-organization/index.mjs +2 -0
  56. package/esm2022/lib/Pages/organization/edit-organization/edit-organization.component.mjs +115 -0
  57. package/esm2022/lib/Pages/organization/edit-organization/index.mjs +2 -0
  58. package/esm2022/lib/Pages/organization/index.mjs +7 -0
  59. package/esm2022/lib/Pages/organization/list-organization/index.mjs +2 -0
  60. package/esm2022/lib/Pages/organization/list-organization/list-organization.component.mjs +181 -0
  61. package/esm2022/lib/Pages/organization/organization.component.mjs +15 -0
  62. package/esm2022/lib/Pages/organization/organization.module.mjs +89 -0
  63. package/esm2022/lib/Pages/organization/organization.routing.mjs +36 -0
  64. package/esm2022/lib/Pages/providers/provider/provider.component.mjs +98 -43
  65. package/esm2022/lib/Pages/publicHolidays/public-holiday/public-holiday.component.mjs +1 -1
  66. package/esm2022/lib/Pages/roles/permission-set-info/permission-set-info.component.mjs +3 -3
  67. package/esm2022/lib/Pages/roles/permissions/permissions.component.mjs +73 -33
  68. package/esm2022/lib/Pages/roles/permissionsets/permissionsets.component.mjs +166 -105
  69. package/esm2022/lib/Pages/roles/roles-routing.module.mjs +24 -7
  70. package/esm2022/lib/Pages/sectors/sector/sector.component.mjs +83 -16
  71. package/esm2022/lib/Pages/sectors/sector-info/sector-info.component.mjs +2 -1
  72. package/esm2022/lib/Pages/sectors/sectors-department-info/sectors-department-info.component.mjs +1 -1
  73. package/esm2022/lib/Pages/shared/Services/ActiveDirectoryService.service.mjs +1 -1
  74. package/esm2022/lib/Pages/shared/Services/AnonymousLayoutService.service.mjs +1 -1
  75. package/esm2022/lib/Pages/shared/Services/ConfigurationsService.service.mjs +4 -1
  76. package/esm2022/lib/Pages/shared/Services/DepartmentService.service.mjs +7 -3
  77. package/esm2022/lib/Pages/shared/Services/DocumentHeaderAndFooterTemplate.service.mjs +1 -1
  78. package/esm2022/lib/Pages/shared/Services/DocumentTemplateService.service.mjs +1 -1
  79. package/esm2022/lib/Pages/shared/Services/EmailHeaderAndFooterTemplateService.Service.mjs +6 -1
  80. package/esm2022/lib/Pages/shared/Services/HelpCenterService.service.mjs +7 -3
  81. package/esm2022/lib/Pages/shared/Services/ImpersonationRuleService.service.mjs +1 -1
  82. package/esm2022/lib/Pages/shared/Services/JobsService.service.mjs +1 -1
  83. package/esm2022/lib/Pages/shared/Services/LicenseService.service.mjs +1 -1
  84. package/esm2022/lib/Pages/shared/Services/LogsService.mjs +1 -1
  85. package/esm2022/lib/Pages/shared/Services/LookupGroupsService.service.mjs +1 -1
  86. package/esm2022/lib/Pages/shared/Services/LookupService.service.mjs +1 -1
  87. package/esm2022/lib/Pages/shared/Services/PermissionSetService.service.mjs +7 -3
  88. package/esm2022/lib/Pages/shared/Services/PermissionsService.service.mjs +1 -1
  89. package/esm2022/lib/Pages/shared/Services/PublicHolidayService.service.mjs +1 -1
  90. package/esm2022/lib/Pages/shared/Services/SectorService.service.mjs +4 -1
  91. package/esm2022/lib/Pages/shared/Services/TemplateService.service.mjs +4 -3
  92. package/esm2022/lib/Pages/shared/Services/WorkFlowVersionService.service.mjs +1 -1
  93. package/esm2022/lib/Pages/shared/Services/WorkflowActivityService.service.mjs +1 -1
  94. package/esm2022/lib/Pages/shared/Services/WorkflowInstanceService.service.mjs +1 -1
  95. package/esm2022/lib/Pages/shared/Services/WorkflowLogVariablesService.service.mjs +1 -1
  96. package/esm2022/lib/Pages/shared/Services/WorkflowService.service.mjs +1 -1
  97. package/esm2022/lib/Pages/shared/Services/WorkflowVariablesService.service.mjs +1 -1
  98. package/esm2022/lib/Pages/shared/Services/injectionModuleService.service.mjs +52 -22
  99. package/esm2022/lib/Pages/shared/Services/localizationsService.service .mjs +1 -1
  100. package/esm2022/lib/Pages/shared/Services/organization.service.mjs +36 -0
  101. package/esm2022/lib/Pages/shared/Services/provider.service.mjs +1 -1
  102. package/esm2022/lib/Pages/shared/Services/survey-question.service.mjs +1 -1
  103. package/esm2022/lib/Pages/shared/Services/survey.service.mjs +1 -1
  104. package/esm2022/lib/Pages/shared/Services/userService.service.mjs +1 -1
  105. package/esm2022/lib/Pages/shared/components/external-url/external-url.component.mjs +1 -1
  106. package/esm2022/lib/Pages/shared/components/survey/add-survey/add-survey.component.mjs +1 -1
  107. package/esm2022/lib/Pages/shared/components/survey/delete-survey/delete-survey.component.mjs +1 -1
  108. package/esm2022/lib/Pages/shared/components/survey/duplicate-survey/duplicate-survey.component.mjs +1 -1
  109. package/esm2022/lib/Pages/shared/components/survey/edit-survey/edit-survey.component.mjs +1 -1
  110. package/esm2022/lib/Pages/shared/components/survey/submissions/delete-submission/delete-submission.component.mjs +1 -1
  111. package/esm2022/lib/Pages/shared/components/survey/submissions/eliminate-submission/eliminate-submission.component.mjs +1 -1
  112. package/esm2022/lib/Pages/shared/components/survey/submissions/uneliminate-submission/uneliminate-submission.component.mjs +1 -1
  113. package/esm2022/lib/Pages/shared/components/survey/survey-info/add-question/add-question.component.mjs +1 -1
  114. package/esm2022/lib/Pages/shared/components/survey/survey-info/delete-question/delete-question.component.mjs +1 -1
  115. package/esm2022/lib/Pages/shared/components/survey/survey-info/edit-question/edit-question.component.mjs +1 -1
  116. package/esm2022/lib/Pages/shared/components/survey/survey-info/preview/preview.component.mjs +1 -1
  117. package/esm2022/lib/Pages/shared/components/survey/survey-info/publish-survey/publish-survey.component.mjs +1 -1
  118. package/esm2022/lib/Pages/shared/components/survey/survey-info/result-question/result.component.mjs +1 -1
  119. package/esm2022/lib/Pages/shared/components/survey/survey-info/take-survey/take-survey.component.mjs +1 -1
  120. package/esm2022/lib/Pages/shared/components/survey/survey-info/unpublish-survey/unpublish-survey.component.mjs +1 -1
  121. package/esm2022/lib/Pages/shared/components/survey-form-item/survey-form-item.component.mjs +1 -1
  122. package/esm2022/lib/Pages/shared/config.service.mjs +17 -0
  123. package/esm2022/lib/Pages/shared/constants.mjs +2 -1
  124. package/esm2022/lib/Pages/shared/index.mjs +14 -0
  125. package/esm2022/lib/Pages/shared/models/ConfigurationModels/ConfigurationModel.mjs +36 -3
  126. package/esm2022/lib/Pages/shared/models/DepartmentModels/DepartmentModel.mjs +1 -1
  127. package/esm2022/lib/Pages/shared/models/DocumentsModels/DocumentHeaderAndFooterTemplate.mjs +1 -1
  128. package/esm2022/lib/Pages/shared/models/DocumentsModels/DocumentTemplateDTO.mjs +1 -1
  129. package/esm2022/lib/Pages/shared/models/DocumentsModels/DocumentTemplateInfoDTO.mjs +1 -1
  130. package/esm2022/lib/Pages/shared/models/HelpCenterModels/HelpCenterItemModel.mjs +1 -1
  131. package/esm2022/lib/Pages/shared/models/ImpersonationRuleModels/ImpersonationRuleModel.mjs +1 -1
  132. package/esm2022/lib/Pages/shared/models/ImpersonationRuleModels/ParticipantModel.mjs +1 -1
  133. package/esm2022/lib/Pages/shared/models/InjectedModuleModel/InjectedModule.mjs +1 -1
  134. package/esm2022/lib/Pages/shared/models/LicenseModel/LicenseModel.mjs +1 -1
  135. package/esm2022/lib/Pages/shared/models/LocalizationModels/EditResourceModel.mjs +1 -1
  136. package/esm2022/lib/Pages/shared/models/LocalizationModels/UploadJsonVM.mjs +1 -1
  137. package/esm2022/lib/Pages/shared/models/Lookups/LookupGroupModel.mjs +1 -1
  138. package/esm2022/lib/Pages/shared/models/Lookups/LookupItem.mjs +1 -1
  139. package/esm2022/lib/Pages/shared/models/Lookups/LookupModel.mjs +1 -1
  140. package/esm2022/lib/Pages/shared/models/NotificationsModels/EmailHeaderAndFooterTemplate.mjs +9 -6
  141. package/esm2022/lib/Pages/shared/models/NotificationsModels/EmailTemplateInfoDTO.mjs +1 -1
  142. package/esm2022/lib/Pages/shared/models/NotificationsModels/EmailTemplateTesterModel.mjs +1 -1
  143. package/esm2022/lib/Pages/shared/models/NotificationsModels/SMSTemplateInfoDTO.mjs +1 -1
  144. package/esm2022/lib/Pages/shared/models/NotificationsModels/SMSTemplateTesterModel.mjs +1 -1
  145. package/esm2022/lib/Pages/shared/models/NotificationsModels/SendEmailTemplateModel.mjs +1 -1
  146. package/esm2022/lib/Pages/shared/models/NotificationsModels/TemplateDTO.mjs +1 -2
  147. package/esm2022/lib/Pages/shared/models/NotificationsModels/TemplateEditViewModel.mjs +1 -1
  148. package/esm2022/lib/Pages/shared/models/PermissionsModels/PermissionModel.mjs +17 -3
  149. package/esm2022/lib/Pages/shared/models/PermissionsModels/PermissionSetModel.mjs +17 -3
  150. package/esm2022/lib/Pages/shared/models/PublicHolidayModels/PublicHolidayModel.mjs +1 -1
  151. package/esm2022/lib/Pages/shared/models/SectorModels/SectorModel.mjs +1 -1
  152. package/esm2022/lib/Pages/shared/models/SurveyModels/add-survey-submissio.mjs +1 -1
  153. package/esm2022/lib/Pages/shared/models/SurveyModels/survey-field-options.mjs +1 -1
  154. package/esm2022/lib/Pages/shared/models/SurveyModels/survey-question-option.mjs +1 -1
  155. package/esm2022/lib/Pages/shared/models/SurveyModels/survey-question.mjs +1 -1
  156. package/esm2022/lib/Pages/shared/models/UserModels/AddUserModel.mjs +1 -1
  157. package/esm2022/lib/Pages/shared/models/UserModels/DropdownsResponseModel.mjs +3 -1
  158. package/esm2022/lib/Pages/shared/models/UserModels/EditUserModel.mjs +1 -1
  159. package/esm2022/lib/Pages/shared/models/UserModels/ExportedFileDTO.mjs +3 -0
  160. package/esm2022/lib/Pages/shared/models/UserModels/FilteredUsersRequestModel.mjs +9 -0
  161. package/esm2022/lib/Pages/shared/models/UserModels/UserListingViewModel.mjs +8 -0
  162. package/esm2022/lib/Pages/shared/models/UserModels/UserModelDTO.mjs +41 -0
  163. package/esm2022/lib/Pages/shared/models/UserModels/UserSearchParamDTO.mjs +1 -1
  164. package/esm2022/lib/Pages/shared/models/UserModels/UsersCountsDTO.mjs +3 -0
  165. package/esm2022/lib/Pages/shared/models/UserModels/index.mjs +13 -0
  166. package/esm2022/lib/Pages/shared/models/WorkflowModels/VariableLookupModel.mjs +1 -1
  167. package/esm2022/lib/Pages/shared/models/WorkflowModels/WFActivityModel.mjs +1 -1
  168. package/esm2022/lib/Pages/shared/models/WorkflowModels/WFCreationModel.mjs +1 -1
  169. package/esm2022/lib/Pages/shared/models/WorkflowModels/WFVariableModel.mjs +1 -1
  170. package/esm2022/lib/Pages/shared/models/index.mjs +24 -0
  171. package/esm2022/lib/Pages/shared/models/organization/organization.model.mjs +15 -0
  172. package/esm2022/lib/Pages/shared/modules/public-survey.module.mjs +1 -1
  173. package/esm2022/lib/Pages/shared/modules/survey.module.mjs +1 -1
  174. package/esm2022/lib/Pages/users/users.component.mjs +143 -60
  175. package/esm2022/lib/Pages/users/users.module.mjs +1 -1
  176. package/esm2022/lib/Pages/workflows/activity/workflow-activity-add/workflow-activity-add.component.mjs +1 -1
  177. package/esm2022/lib/Pages/workflows/activity/workflow-activity-edit/workflow-activity-edit.component.mjs +1 -1
  178. package/esm2022/lib/Pages/workflows/instance-info/instance-info.component.mjs +1 -1
  179. package/esm2022/lib/Pages/workflows/tabs/tabs.component.mjs +1 -1
  180. package/esm2022/lib/Pages/workflows/version-info/version-info.component.mjs +1 -1
  181. package/esm2022/lib/Pages/workflows/workflow/workflow.component.mjs +1 -1
  182. package/esm2022/lib/masterlayout.component.mjs +8 -14
  183. package/esm2022/lib/masterlayout.module.mjs +2 -25
  184. package/esm2022/lib/masterlayout.routing.mjs +43 -0
  185. package/fesm2022/bnsights-bbsf-admin-portal.mjs +2516 -1136
  186. package/fesm2022/bnsights-bbsf-admin-portal.mjs.map +1 -1
  187. package/lib/Pages/_layout/components/aside/aside-menu/aside-menu.component.d.ts +5 -2
  188. package/lib/Pages/_layout/components/topbar/topbar.component.d.ts +2 -8
  189. package/lib/Pages/configurations/configuration/configuration.component.d.ts +21 -8
  190. package/lib/Pages/core/authentication/admin.guard.d.ts +3 -2
  191. package/lib/Pages/departments/department/department.component.d.ts +15 -3
  192. package/lib/Pages/helpCenter/help-center/help-center.component.d.ts +16 -3
  193. package/lib/Pages/home/home.component.d.ts +5 -2
  194. package/lib/Pages/notifications/add-notification/add-notification.component.d.ts +16 -5
  195. package/lib/Pages/notifications/edit-notification/edit-notification.component.d.ts +15 -4
  196. package/lib/Pages/notifications/master-layouts/master-layouts.component.d.ts +17 -5
  197. package/lib/Pages/notifications/notifications.module.d.ts +1 -1
  198. package/lib/Pages/notifications/templates/templates.component.d.ts +13 -3
  199. package/lib/Pages/organization/add-organization/add-organization.component.d.ts +36 -0
  200. package/lib/Pages/organization/add-organization/index.d.ts +1 -0
  201. package/lib/Pages/organization/edit-organization/edit-organization.component.d.ts +36 -0
  202. package/lib/Pages/organization/edit-organization/index.d.ts +1 -0
  203. package/lib/Pages/organization/index.d.ts +6 -0
  204. package/lib/Pages/organization/list-organization/index.d.ts +1 -0
  205. package/lib/Pages/organization/list-organization/list-organization.component.d.ts +59 -0
  206. package/lib/Pages/organization/organization.component.d.ts +8 -0
  207. package/lib/Pages/organization/organization.module.d.ts +24 -0
  208. package/lib/Pages/organization/organization.routing.d.ts +7 -0
  209. package/lib/Pages/providers/provider/provider.component.d.ts +17 -8
  210. package/lib/Pages/roles/permissions/permissions.component.d.ts +14 -5
  211. package/lib/Pages/roles/permissionsets/permissionsets.component.d.ts +21 -8
  212. package/lib/Pages/sectors/sector/sector.component.d.ts +12 -1
  213. package/lib/Pages/shared/Services/ConfigurationsService.service.d.ts +2 -1
  214. package/lib/Pages/shared/Services/DepartmentService.service.d.ts +2 -1
  215. package/lib/Pages/shared/Services/EmailHeaderAndFooterTemplateService.Service.d.ts +2 -0
  216. package/lib/Pages/shared/Services/HelpCenterService.service.d.ts +2 -1
  217. package/lib/Pages/shared/Services/PermissionSetService.service.d.ts +2 -1
  218. package/lib/Pages/shared/Services/SectorService.service.d.ts +1 -0
  219. package/lib/Pages/shared/Services/TemplateService.service.d.ts +1 -1
  220. package/lib/Pages/shared/Services/injectionModuleService.service.d.ts +2 -0
  221. package/lib/Pages/shared/Services/organization.service.d.ts +17 -0
  222. package/lib/Pages/shared/Services/userService.service.d.ts +4 -1
  223. package/lib/Pages/shared/config.service.d.ts +8 -0
  224. package/lib/Pages/shared/constants.d.ts +1 -0
  225. package/lib/Pages/shared/index.d.ts +5 -0
  226. package/lib/Pages/shared/models/ConfigurationModels/ConfigurationModel.d.ts +32 -28
  227. package/lib/Pages/shared/models/DepartmentModels/DepartmentModel.d.ts +1 -0
  228. package/lib/Pages/shared/models/HelpCenterModels/HelpCenterItemModel.d.ts +1 -0
  229. package/lib/Pages/shared/models/NotificationsModels/EmailHeaderAndFooterTemplate.d.ts +8 -6
  230. package/lib/Pages/shared/models/NotificationsModels/TemplateDTO.d.ts +0 -1
  231. package/lib/Pages/shared/models/PermissionsModels/PermissionModel.d.ts +17 -5
  232. package/lib/Pages/shared/models/PermissionsModels/PermissionSetModel.d.ts +20 -8
  233. package/lib/Pages/shared/models/SectorModels/SectorModel.d.ts +1 -0
  234. package/lib/Pages/shared/models/UserModels/DropdownsResponseModel.d.ts +2 -0
  235. package/lib/Pages/shared/models/UserModels/EditUserModel.d.ts +1 -0
  236. package/lib/Pages/shared/models/UserModels/ExportedFileDTO.d.ts +4 -0
  237. package/lib/Pages/shared/models/UserModels/FilteredUsersRequestModel.d.ts +7 -0
  238. package/lib/Pages/shared/models/UserModels/UserListingViewModel.d.ts +10 -0
  239. package/lib/Pages/shared/models/UserModels/UserModelDTO.d.ts +38 -0
  240. package/lib/Pages/shared/models/UserModels/UserSearchParamDTO.d.ts +1 -0
  241. package/lib/Pages/shared/models/UserModels/UsersCountsDTO.d.ts +5 -0
  242. package/lib/Pages/shared/models/UserModels/index.d.ts +12 -0
  243. package/lib/Pages/shared/models/index.d.ts +2 -0
  244. package/lib/Pages/shared/models/organization/organization.model.d.ts +22 -0
  245. package/lib/Pages/users/users.component.d.ts +17 -7
  246. package/lib/masterlayout.component.d.ts +1 -2
  247. package/lib/masterlayout.module.d.ts +1 -1
  248. package/package.json +7 -7
  249. package/src/lib/assets/images/menu/organization.svg +16 -0
  250. package/src/lib/assets/sass/custom-styles.scss +2 -2
  251. package/src/lib/assets/sass/style.scss +1 -0
  252. package/bnsights-bbsf-admin-portal-1.1.49.tgz +0 -0
  253. package/esm2022/lib/Pages/notifications/notifications-routing.module.mjs +0 -39
  254. package/esm2022/lib/masterlayout-routing.module.mjs +0 -41
  255. /package/lib/Pages/notifications/{notifications-routing.module.d.ts → notifications.routing.d.ts} +0 -0
  256. /package/lib/{masterlayout-routing.module.d.ts → masterlayout.routing.d.ts} +0 -0
@@ -329,4 +329,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.6", ngImpor
329
329
  type: Component,
330
330
  args: [{ selector: 'lib-document-template-info', template: "<block-ui></block-ui>\r\n\r\n<div class=\"container-fluid\" *ngIf=\"isDataLoaded\">\r\n <div class=\"card card-custom-h\">\r\n <div class=\"card-header border-0 pt-5\">\r\n <div class=\"card-title align-items-start flex-column\">\r\n </div>\r\n <div class=\"card-toolbar\">\r\n <button type=\"button\" id=\"btnSetPass\" class=\"btn btn-sm me-3\r\n btn-light-primary\" (click)=\"showEditTemplateModal(EditTemplateModal)\">\r\n <i class=\"fa fa fa-edit\" aria-hidden=\"true\"></i>\r\n <span>{{utilityService.getResourceValue(\"Edit\")}}</span>\r\n </button>\r\n <button type=\"button\" id=\"btnSetPass\" class=\"btn btn-sm me-3\r\n btn-light-primary\" (click)=\"showTestExportDocumentModal(ExportDocumentModal)\">\r\n <i class=\"fa fa-file-pdf\" aria-hidden=\"true\"></i>\r\n <span>{{utilityService.getResourceValue(\"Export\")}} PDF</span>\r\n </button>\r\n <button type=\"button\" id=\"btnSetPass\" class=\"btn btn-sm me-3\r\n btn-light-primary\" (click)=\"showTestExportDocumentModal(ExportDocumentModal,2)\">\r\n <i class=\"fa fa-file-word\" aria-hidden=\"true\"></i>\r\n <span>{{utilityService.getResourceValue(\"Export\")}} Word</span>\r\n </button>\r\n <button type=\"button\" id=\"btnSetPass\" class=\"btn btn-sm me-3\r\n btn-primary\" *ngIf=\"!ProductionMode\" (click)=\"showGenerateCodeByIdModal(GenerateCodeModal)\">\r\n <i class=\"fa fa-bars\"></i>{{utilityService.getResourceValue(\"GenerateCode\")}}\r\n </button>\r\n <button type=\"button\" id=\"btnSetPass\" class=\"btn btn-sm me-3\r\n btn-primary\" *ngIf=\"!ProductionMode\" (click)=\"showGenerateUpdateCodeByIdModal(GenerateCodeModal)\">\r\n <i class=\"fa fa-key\"></i>{{utilityService.getResourceValue(\"GenerateUpdateCode\")}}\r\n </button>\r\n </div>\r\n </div>\r\n <div class=\"card-body py-3\">\r\n <div class=\"row\">\r\n <div class=\"col-xl-6 mb-10\">\r\n <div class=\"d-flex h-100 align-items-center \">\r\n <!--begin::Option-->\r\n <div class=\"w-100 d-flex flex-column flex-center rounded-3 bg-light\r\n py-10 px-10 h-100\">\r\n <!--begin::Heading-->\r\n <div class=\"mb-7 d-flex justify-content-between w-100\">\r\n <!--begin::Title-->\r\n <a [routerLink]=\"['/Admin/Documents/EditTemplate',TemplateId,'en']\" routerLinkActive=\"router-link-active\" class=\"text-primary mb-5\r\n fw-boldest fs-2\">\r\n English:\r\n {{TemplateInfo.templateNameEN}}\r\n </a>\r\n\r\n <a [routerLink]=\"['/Admin/Documents/EditTemplate',TemplateId,'en']\" routerLinkActive=\"router-link-active\" class=\"btn btn-sm\r\n btn-light-primary btn-icon\">\r\n <i class=\"fa fa-pen\"></i>\r\n </a>\r\n\r\n </div>\r\n <div class=\"w-100 mb-10\">\r\n <!--begin::Item-->\r\n <div class=\"d-flex align-items-center mb-5\">\r\n <div class=\"fw-bold fs-6 text-gray-800 flex-grow-1 pe-3\">\r\n <div innerHTML=\"{{TemplateInfo.headerEN}}\">\r\n </div>\r\n <div innerHTML=\"{{TemplateInfo.bodyEN}}\">\r\n </div>\r\n <div innerHTML=\"{{TemplateInfo.footerEN}}\">\r\n </div>\r\n\r\n </div>\r\n </div>\r\n </div>\r\n\r\n <!--end::Select-->\r\n </div>\r\n <!--end::Option-->\r\n </div>\r\n </div>\r\n <div class=\"col-xl-6 mb-10\">\r\n <div class=\"d-flex h-100 align-items-center\">\r\n <!--begin::Option-->\r\n <div class=\"w-100 d-flex flex-column flex-center rounded-3 bg-light\r\n py-10 px-10 h-100\">\r\n <!--begin::Heading-->\r\n <div class=\"mb-7 d-flex justify-content-between w-100\">\r\n <!--begin::Title-->\r\n <a [routerLink]=\"['/Admin/Documents/EditTemplate',TemplateId,'ar']\" routerLinkActive=\"router-link-active\" class=\"text-primary mb-5\r\n fw-boldest fs-2\">\r\n Arabic:\r\n {{TemplateInfo.templateNameAR}}\r\n </a>\r\n <a [routerLink]=\"['/Admin/Documents/EditTemplate',TemplateId,'ar']\" routerLinkActive=\"router-link-active\" class=\"btn btn-sm\r\n btn-light-primary btn-icon\">\r\n <i class=\"fa fa-pen\"></i>\r\n </a>\r\n </div>\r\n <div class=\"w-100 mb-10\">\r\n <!--begin::Item-->\r\n <div class=\"d-flex align-items-center mb-5\">\r\n <div class=\"fw-bold fs-6 text-gray-800 flex-grow-1 pe-3 ar\">\r\n <div innerHTML=\"{{TemplateInfo.headerAR}}\">\r\n </div>\r\n <div innerHTML=\"{{TemplateInfo.bodyAR}}\">\r\n </div>\r\n <div innerHTML=\"{{TemplateInfo.footerAR}}\">\r\n </div>\r\n\r\n </div>\r\n </div>\r\n </div>\r\n <!--end::Select-->\r\n </div>\r\n <!--end::Option-->\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n</div>\r\n\r\n<!-- edit Modal -->\r\n<ng-template #EditTemplateModal let-modal>\r\n <div class=\"modal-header pb-0 border-0 justify-content-end\">\r\n <h5 class=\"modal-title\" id=\"exampleModalLabel\"></h5>\r\n <button type=\"button\" data-dismiss=\"modal\" aria-label=\"Close\" class=\"btn\r\n btn-sm btn-icon btn-active-color-primary\" (click)=\"modal.dismiss()\">\r\n <span class=\"svg-icon svg-icon-1\">\r\n <span [inlineSVG]=\"'./src/assets/images/arr061.svg'\"></span>\r\n </span>\r\n </button>\r\n </div>\r\n <div class=\"modal-body scroll-y px-10 px-lg-15 pt-0 pb-15\">\r\n <div class=\"mb-13 text-center\">\r\n <h1 class=\"mb-3\">{{utilityService.getResourceValue(\"Edit\")}}\r\n {{utilityService.getResourceValue(\"Template\")}}</h1>\r\n </div>\r\n\r\n <BBSF-Form [options]=\"EditTemplateFormOptions\">\r\n <div class=\"row\">\r\n <div class=\"col-md-12\">\r\n <BBSF-MultiLingualTextBox [options]=\"EditName\" [group]=\"EditTemplateForm\"></BBSF-MultiLingualTextBox>\r\n </div>\r\n </div>\r\n <div class=\"row\">\r\n <div class=\"col-md-12\">\r\n <BBSF-MultiLingualTextArea [options]=\"EditDescription\" [group]=\"EditTemplateForm\">\r\n </BBSF-MultiLingualTextArea>\r\n </div>\r\n </div>\r\n <div class=\"row\" *ngIf=\"!ProductionMode\">\r\n <div class=\"col-md-12\">\r\n <BBSF-TextBox [options]=\"EditSysName\" [group]=\"EditTemplateForm\">\r\n </BBSF-TextBox>\r\n </div>\r\n </div>\r\n <div class=\"row\">\r\n <div class=\"col-md-12\">\r\n <BBSF-DropdownList [options]=\"EditOrganization\" [group]=\"EditTemplateForm\">\r\n </BBSF-DropdownList>\r\n </div>\r\n </div>\r\n <div class=\"row\">\r\n <div class=\"col-md-12\">\r\n <BBSF-DropdownList [options]=\"EditCategory\" [group]=\"EditTemplateForm\">\r\n </BBSF-DropdownList>\r\n </div>\r\n </div>\r\n <div class=\"row\">\r\n <div class=\"col-md-12\">\r\n <BBSF-DropdownList [options]=\"EditMasterLayout\" [group]=\"EditTemplateForm\">\r\n </BBSF-DropdownList>\r\n </div>\r\n </div>\r\n\r\n\r\n <div class=\"text-center pt-7\">\r\n <button #CloseEditTemplateModal id=\"CloseEditTemplateModal\" type=\"button\" class=\"btn btn-light me-3 btn-sm\" (click)=\"modal.dismiss()\">\r\n {{utilityService.getResourceValue(\"CancelLabel\")}}\r\n </button>\r\n <button type=\"submit\" class=\"btn btn-primary btn-sm\">{{utilityService.getResourceValue(\"SaveLabel\")}}</button>\r\n </div>\r\n </BBSF-Form>\r\n </div>\r\n</ng-template>\r\n\r\n\r\n\r\n<!-- Export Document Modal -->\r\n<ng-template #ExportDocumentModal let-modal>\r\n <div class=\"modal-header pb-0 border-0 justify-content-end\">\r\n <h5 class=\"modal-title\" id=\"exampleModalLabel\"></h5>\r\n <button type=\"button\" data-dismiss=\"modal\" aria-label=\"Close\" class=\"btn btn-sm btn-icon btn-active-color-primary\" (click)=\"modal.dismiss()\">\r\n <span class=\"svg-icon svg-icon-1\">\r\n <span [inlineSVG]=\"'./src/assets/images/arr061.svg'\"></span>\r\n </span>\r\n </button>\r\n </div>\r\n <div class=\"modal-body scroll-y px-10 px-lg-15 pt-0 pb-15\">\r\n <div class=\"mb-13 text-center\">\r\n <h1 class=\"mb-3\">{{utilityService.getResourceValue(\"Export\")}}</h1>\r\n </div>\r\n <BBSF-Form [options]=\"TestExportDocumentFormOptions\">\r\n <div class=\"row\">\r\n <div class=\"col-md-12\">\r\n <BBSF-repeater-table [options]=\"addKeyValueRepeaterOptions\" [group]=\"TestExportDocumentForm\">\r\n </BBSF-repeater-table>\r\n </div>\r\n </div>\r\n\r\n <div class=\"text-center pt-7\">\r\n <button #CloseSendEmailForm id=\"CloseSendEmailForm\" type=\"button\" class=\"btn btn-light me-3 btn-sm\" (click)=\"modal.dismiss()\">\r\n {{utilityService.getResourceValue(\"CancelLabel\")}}\r\n </button>\r\n <button type=\"submit\" class=\"btn btn-primary btn-sm\">{{utilityService.getResourceValue(\"Export\")}}</button>\r\n </div>\r\n </BBSF-Form>\r\n </div>\r\n</ng-template>\r\n\r\n\r\n<!-- GenerateCode Modal -->\r\n<ng-template #GenerateCodeModal let-modal>\r\n <div class=\"modal-header pb-0 border-0 justify-content-end\">\r\n <h5 class=\"modal-title\" id=\"exampleModalLabel\"></h5>\r\n <button type=\"button\" data-dismiss=\"modal\" aria-label=\"Close\" class=\"btn\r\n btn-sm btn-icon btn-active-color-primary\" (click)=\"modal.dismiss()\">\r\n <span class=\"svg-icon svg-icon-1\">\r\n <span [inlineSVG]=\"'./src/assets/images/arr061.svg'\"></span>\r\n </span>\r\n </button>\r\n </div>\r\n <div class=\"modal-body scroll-y px-10 px-lg-15 pt-0 pb-15\">\r\n <div class=\"mb-13 text-center\">\r\n <h1 class=\"mb-3\">{{utilityService.getResourceValue(\"GenerateCode\")}}</h1>\r\n </div>\r\n <form [formGroup]=\"GenerateCodeForm\">\r\n\r\n <div class=\"Row\">\r\n <BBSF-TextArea [options]=\"GenerateCodeTextArea\" [group]=\"GenerateCodeForm\" #GenerateCodeInput>\r\n </BBSF-TextArea>\r\n </div>\r\n <div class=\"text-center pt-7\">\r\n <button #CloseGenerateCodeModal id=\"CloseGenerateCodeModal\" type=\"button\" class=\"btn btn-light me-3 btn-sm\" (click)=\"modal.dismiss()\">\r\n {{utilityService.getResourceValue(\"CancelLabel\")}}\r\n </button>\r\n <button type=\"button\" class=\"btn btn-primary btn-sm\" (click)=\"copyInputMessage()\">\r\n {{utilityService.getResourceValue(\"CopyToClipboard\")}}\r\n </button>\r\n </div>\r\n </form>\r\n </div>\r\n</ng-template>" }]
331
331
  }], ctorParameters: () => [{ type: i0.Injector }, { type: i1.UtilityService }, { type: i1.BBSFTranslateService }, { type: i2.ClipboardService }, { type: i3.DocumentTemplateService }, { type: i4.ActivatedRoute }, { type: i5.PageInfoService }, { type: i6.NgbModal }, { type: i7.DatePipe }, { type: i1.RequestHandlerService }, { type: i1.WordDocumentService }] });
332
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZG9jdW1lbnQtdGVtcGxhdGUtaW5mby5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9iYnNmLWFkbWluLXBvcnRhbC9zcmMvbGliL1BhZ2VzL2RvY3VtZW50cy9kb2N1bWVudC10ZW1wbGF0ZS1pbmZvL2RvY3VtZW50LXRlbXBsYXRlLWluZm8uY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYmJzZi1hZG1pbi1wb3J0YWwvc3JjL2xpYi9QYWdlcy9kb2N1bWVudHMvZG9jdW1lbnQtdGVtcGxhdGUtaW5mby9kb2N1bWVudC10ZW1wbGF0ZS1pbmZvLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQW9CLE1BQU0sZUFBZSxDQUFDO0FBRTVELE9BQU8sRUFDTCxnQkFBZ0IsRUFFaEIsYUFBYSxFQUViLFFBQVEsRUFDUixlQUFlLEVBQ2YsZ0JBQWdCLEVBQ2hCLFdBQVcsRUFDWCxTQUFTLEVBQ1QsMkJBQTJCLEVBQzNCLDBCQUEwQixFQUUxQixhQUFhLEVBQ2IsZUFBZSxFQUNmLGVBQWUsRUFDZixjQUFjLEdBQ2YsTUFBTSx5QkFBeUIsQ0FBQztBQUVqQyxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFLM0MsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLG9EQUFvRCxDQUFDO0FBV3JGLE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLHlEQUF5RCxDQUFDO0FBRTlGLE9BQU8sRUFBRSxNQUFNLEVBQUUsTUFBTSxZQUFZLENBQUM7QUFDcEMsT0FBTyxFQUNMLGlCQUFpQixFQUNqQixxQkFBcUIsR0FDdEIsTUFBTSx1REFBdUQsQ0FBQzs7Ozs7Ozs7Ozs7OztBQU0vRCxNQUFNLE9BQU8sNkJBQ1gsU0FBUSxnQkFBZ0I7SUFxQ3hCLFlBQ1UsUUFBa0IsRUFDbkIsY0FBOEIs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SyxDQUNOLEVBQUUsQ0FBQztRQUNKLElBQUksQ0FBQywwQkFBMEIsQ0FBQyxnQkFBZ0IsR0FBRyxDQUFDLENBQUM7UUFDckQsSUFBSSxDQUFDLDBCQUEwQixDQUFDLGFBQWEsR0FBRyxFQUFFLENBQUM7UUFDbkQsSUFBSSxDQUFDLDBCQUEwQixDQUFDLGlCQUFpQixHQUFHO1lBQ2xELFdBQVc7WUFDWCxhQUFhO1NBQ2QsQ0FBQztRQUVGLElBQUksQ0FBQyxZQUFZLENBQUMsSUFBSSxDQUFDLHVCQUF1QixDQUFDLENBQUM7SUFDbEQsQ0FBQztJQStDRCxZQUFZO0lBQ1osV0FBVztRQUNULElBQUksQ0FBQyxxQkFBcUIsQ0FBQyxjQUFjLEVBQUUsQ0FBQztJQUM5QyxDQUFDOzhHQXpXVSw2QkFBNkI7a0dBQTdCLDZCQUE2Qix5RkNqRDFDLG9tV0F3UGM7OzJGRHZNRCw2QkFBNkI7a0JBSnpDLFNBQVM7K0JBQ0UsNEJBQTRCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBJbmplY3RvciwgT25Jbml0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IEFjdGl2YXRlZFJvdXRlIH0gZnJvbSAnQGFuZ3VsYXIvcm91dGVyJztcclxuaW1wb3J0IHtcclxuICBBcHBCYXNlQ29tcG9uZW50LFxyXG4gIENoZWNrQm94T3B0aW9ucyxcclxuICBDb250cm9sTGF5b3V0LFxyXG4gIENvdW50cnksXHJcbiAgRGF0YVR5cGUsXHJcbiAgRHJvcGRvd25PcHRpb25zLFxyXG4gIEVuZ2xpc2hBcmFiaWNEVE8sXHJcbiAgRm9ybU9wdGlvbnMsXHJcbiAgSW5wdXRUeXBlLFxyXG4gIE11bHRpTGluZ3VhbFRleHRBcmVhT3B0aW9ucyxcclxuICBNdWx0aUxpbmd1YWxUZXh0Qm94T3B0aW9ucyxcclxuICBQaG9uZU9wdGlvbnMsXHJcbiAgUmVwZWF0ZXJGaWVsZCxcclxuICBSZXBlYXRlck9wdGlvbnMsXHJcbiAgVGV4dEFyZWFPcHRpb25zLFxyXG4gIFRleHRCb3hPcHRpb25zLFxyXG59IGZyb20gJ0BibnNpZ2h0cy9iYnNmLWNvbnRyb2xzJztcclxuaW1wb3J0IHsgVGVtcGxhdGVTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vc2hhcmVkL1NlcnZpY2VzL1RlbXBsYXRlU2VydmljZS5zZXJ2aWNlJztcclxuaW1wb3J0IHsgRm9ybUdyb3VwIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xyXG5pbXBvcnQgeyBDbGlwYm9hcmRTZXJ2aWNlIH0gZnJvbSAnbmd4LWNsaXBib2FyZCc7XHJcbmltcG9ydCB7IEVtYWlsVGVtcGxhdGVUZXN0ZXJNb2RlbCB9IGZyb20gJy4uLy4uL3NoYXJlZC9tb2RlbHMvTm90aWZpY2F0aW9uc01vZGVscy9FbWFpbFRlbXBsYXRlVGVzdGVyTW9kZWwnO1xyXG5pbXBvcnQgeyBTTVNUZW1wbGF0ZVRlc3Rlck1vZGVsIH0gZnJvbSAnLi4vLi4vc2hhcmVkL21vZGVscy9Ob3RpZmljYXRpb25zTW9kZWxzL1NNU1RlbXBsYXRlVGVzdGVyTW9kZWwnO1xyXG5pbXBvcnQgeyBUZW1wbGF0ZURUTyB9IGZyb20gJy4uLy4uL3NoYXJlZC9tb2RlbHMvTm90aWZpY2F0aW9uc01vZGVscy9UZW1wbGF0ZURUTyc7XHJcbmltcG9ydCB7IFBhZ2VJbmZvU2VydmljZSB9IGZyb20gJy4uLy4uLy4uL19tZXRyb25pYy9jb3JlL3NlcnZpY2VzL3BhZ2UtaW5mby5zZXJ2aWNlJztcclxuaW1wb3J0IHsgTmdiTW9kYWwgfSBmcm9tICdAbmctYm9vdHN0cmFwL25nLWJvb3RzdHJhcCc7XHJcbmltcG9ydCB7XHJcbiAgVXRpbGl0eVNlcnZpY2UsXHJcbiAgQkJTRlRyYW5zbGF0ZVNlcnZpY2UsXHJcbiAgRW52aXJvbm1lbnRTZXJ2aWNlLFxyXG4gIFJlcXVlc3RIYW5kbGVyU2VydmljZSxcclxuICBXb3JkRG9jdW1lbnRTZXJ2aWNlLFxyXG59IGZyb20gJ0BibnNpZ2h0cy9iYnNmLXV0aWxpdGllcyc7XHJcbmltcG9ydCB7IE9ic2VydmFibGUgfSBmcm9tICdyeGpzJztcclxuaW1wb3J0IHsgRG9jdW1lbnRUZW1wbGF0ZVNlcnZpY2UgfSBmcm9tICcuLi8uLi9zaGFyZWQvU2VydmljZXMvRG9jdW1lbnRUZW1wbGF0ZVNlcnZpY2Uuc2VydmljZSc7XHJcbmltcG9ydCB7IERvY3VtZW50VGVtcGxhdGVEVE8gfSBmcm9tICcuLi8uLi9zaGFyZWQvbW9kZWxzL0RvY3VtZW50c01vZGVscy9Eb2N1bWVudFRlbXBsYXRlRFRPJztcclxuaW1wb3J0IHsgRGF0ZVBpcGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xyXG5pbXBvcnQgeyBzYXZlQXMgfSBmcm9tICdmaWxlLXNhdmVyJztcclxuaW1wb3J0IHtcclxuICBEb2N1bWVudEV4cG9ydERUTyxcclxuICBEb2N1bWVudEV4cG9ydEl0ZW1EVE8sXHJcbn0gZnJvbSAnLi4vLi4vc2hhcmVkL21vZGVscy9Eb2N1bWVudHNNb2RlbHMvRG9jdW1lbnRFeHBvcnREVE8nO1xyXG5cclxuQENvbXBvbmVudCh7XHJcbiAgc2VsZWN0b3I6ICdsaWItZG9jdW1lbnQtdGVtcGxhdGUtaW5mbycsXHJcbiAgdGVtcGxhdGVVcmw6ICcuL2RvY3VtZW50LXRlbXBsYXRlLWluZm8uY29tcG9uZW50Lmh0bWwnLFxyXG59KVxyXG5leHBvcnQgY2xhc3MgRG9jdW1lbnRUZW1wbGF0ZUluZm9Db21wb25lbnRcclxuICBleHRlbmRzIEFwcEJhc2VDb21wb25lbnRcclxuICBpbXBsZW1lbnRzIE9uSW5pdCB7XHJcbiAgLy9QYWdlIHJlcXVpcmVtZW50c1xyXG4gIFByb2R1Y3Rpb25Nb2RlOiBib29sZWFuO1xyXG4gIFRlbXBsYXRlSWQ6IHN0cmluZztcclxuICBUZW1wbGF0ZUlkRW5jOiBzdHJpbmcgPSAnJztcclxuICBUZW1wbGF0ZUluZm86IGFueTtcclxuICBUZW1wbGF0ZTogYW55O1xyXG4gIGlzRGF0YUxvYWRlZDogYm9vbGVhbiA9IGZhbHNlO1xyXG4gIHNhdmVBcyA9IHNhdmVBcztcclxuICBleHBvcnRUeXBlOiBudW1iZXIgPSAxO1xyXG4gIC8vUmVxdWlyZWQgbGlzdHNcclxuICBDYXRlZ29yeUxpc3QgPSBbXTtcclxuICBPcmdhbml6YXRpb25MaXN0ID0gW107XHJcbiAgTWFzdGVyTGF5b3V0TGlzdCA9IFtdO1xyXG5cclxuICAvL0dlbmVyYXRlQ29kZSAgTW9kZWwgQ29udHJvbHNcclxuICBHZW5lcmF0ZUNvZGVGb3JtID0gbmV3IEZvcm1Hcm91cCh7fSk7XHJcbiAgSXNPcGVuR2VuZXJhdGVDb2RlTW9kYWw6IGJvb2xlYW47XHJcbiAgR2VuZXJhdGVDb2RlVGV4dEFyZWE6IFRleHRBcmVhT3B0aW9ucztcclxuICBWYWx1ZVRvQ29weTogc3RyaW5nID0gJyc7XHJcblxyXG4gIC8vRWRpdCBNb2RlbCBDb250cm9sc1xyXG4gIEVkaXRUZW1wbGF0ZUZvcm0gPSBuZXcgRm9ybUdyb3VwKHt9KTtcclxuICBFZGl0VGVtcGxhdGVGb3JtT3B0aW9uczogRm9ybU9wdGlvbnM7XHJcbiAgRWRpdE5hbWU6IE11bHRpTGluZ3VhbFRleHRCb3hPcHRpb25zO1xyXG4gIEVkaXRTeXNOYW1lOiBUZXh0Qm94T3B0aW9ucztcclxuICBFZGl0RGVzY3JpcHRpb246IE11bHRpTGluZ3VhbFRleHRBcmVhT3B0aW9ucztcclxuICBFZGl0T3JnYW5pemF0aW9uOiBEcm9wZG93bk9wdGlvbnM7XHJcbiAgRWRpdENhdGVnb3J5OiBEcm9wZG93bk9wdGlvbnM7XHJcbiAgRWRpdE1hc3RlckxheW91dDogRHJvcGRvd25PcHRpb25zO1xyXG5cclxuICAvL1Rlc3QgRXhwb3J0IE1vZGVsIENvbnRyb2xzXHJcbiAgVGVzdEV4cG9ydERvY3VtZW50Rm9ybSA9IG5ldyBGb3JtR3JvdXAoe30pO1xyXG4gIFRlc3RFeHBvcnREb2N1bWVudEZvcm1PcHRpb25zID0gbmV3IEZvcm1PcHRpb25zKCk7XHJcbiAgYWRkS2V5VmFsdWVSZXBlYXRlck9wdGlvbnM6IFJlcGVhdGVyT3B0aW9ucztcclxuXHJcbiAgY29uc3RydWN0b3IoXHJcbiAgICBwcml2YXRlIGluamVjdG9yOiBJbmplY3RvcixcclxuICAgIHB1YmxpYyB1dGlsaXR5U2VydmljZTogVXRpbGl0eVNlcnZpY2UsXHJcbiAgICBwdWJsaWMgYmJzZlRyYW5zbGF0ZVNlcnZpY2U6IEJCU0ZUcmFuc2xhdGVTZXJ2aWNlLFxyXG4gICAgcHVibGljIF9jbGlwYm9hcmRTZXJ2aWNlOiBDbGlwYm9hcmRTZXJ2aWNlLFxyXG4gICAgcHVibGljIHRlbXBsYXRlU2VydmljZTogRG9jdW1lbnRUZW1wbGF0ZVNlcnZpY2UsXHJcbiAgICBwdWJsaWMgYWN0aXZhdGVkUm91dGU6IEFjdGl2YXRlZFJvdXRlLFxyXG4gICAgcHVibGljIHBhZ2VJbmZvU2VydmljZTogUGFnZUluZm9TZXJ2aWNlLFxyXG4gICAgcHVibGljIG1vZGFsU2VydmljZTogTmdiTW9kYWwsXHJcbiAgICBwdWJsaWMgZGF0ZXBpcGU6IERhdGVQaXBlLFxyXG4gICAgcHVibGljIHJlcXVlc3RIYW5kbGVyU2VydmljZTogUmVxdWVzdEhhbmRsZXJTZXJ2aWNlLFxyXG4gICAgcHVibGljIHdvcmREb2N1bWVudFNlcnZpY2U6IFdvcmREb2N1bWVudFNlcnZpY2VcclxuICApIHtcclxuICAgIHN1cGVyKGluamVjdG9yKTtcclxuICAgIHRoaXMuYWN0aXZhdGVkUm91dGUucGFyYW1zLnN1YnNjcmliZSgocGFyYW1zKSA9PiB7XHJcbiAgICAgIHRoaXMuVGVtcGxhdGVJZCA9IHBhcmFtc1snaWQnXTtcclxuICAgIH0pO1xyXG4gIH1cclxuXHJcbiAgYXN5bmMgbmdPbkluaXQoKTogUHJvbWlzZTx2b2lkPiB7XHJcbiAgICB0aGlzLnV0aWxpdHlTZXJ2aWNlLnN0YXJ0QmxvY2tVSSgpO1xyXG4gICAgdGhpcy5iYnNmVHJhbnNsYXRlU2VydmljZS5vbkxhbmdDaGFuZ2Uuc3Vic2NyaWJlKChldmVudCkgPT4ge1xyXG4gICAgICB0aGlzLnV0aWxpdHlTZXJ2aWNlLnN0b3BCbG9ja1VJKCk7XHJcbiAgICAgIHRoaXMubmdPbkluaXQoKTtcclxuICAgIH0pO1xyXG4gICAgdGhpcy5Qcm9kdWN0aW9uTW9kZSA9IHRoaXMuZW52aXJvbm1lbnRTZXJ2aWNlLmdldFByb2R1Y3Rpb25Nb2RlKCk7XHJcbiAgICB0aGlzLmluaXRpYWxpemVQYWdlKCk7XHJcbiAgfVxyXG5cclxuICAvL0luaXRpYWxpemUgcGFnZSBpbmZvXHJcbiAgaW5pdGlhbGl6ZVBhZ2UoKSB7XHJcbiAgICB0aGlzLmlzRGF0YUxvYWRlZCA9IGZhbHNlO1xyXG4gICAgdGhpcy50ZW1wbGF0ZVNlcnZpY2VcclxuICAgICAgLmdldFRlbXBsYXRlSW5mbyh0aGlzLlRlbXBsYXRlSWQpXHJcbiAgICAgIC5zdWJzY3JpYmUoKHJlc3VsdCkgPT4ge1xyXG4gICAgICAgIGxldCBSZXN1bHQ6IGFueSA9IHJlc3VsdDtcclxuICAgICAgICB0aGlzLlRlbXBsYXRlSW5mbyA9IFJlc3VsdC52YWw7XHJcbiAgICAgICAgUGFnZUluZm9TZXJ2aWNlLlBhZ2VUaXRsZSA9IHRoaXMuVGVtcGxhdGVJbmZvLmxvY2FsaXplZFRlbXBsYXRlTmFtZTtcclxuICAgICAgICBQYWdlSW5mb1NlcnZpY2UuUGFnZUJyZWFkY3J1bWJzID0gW1xyXG4gICAgICAgICAge1xyXG4gICAgICAgICAgICB0aXRsZTogdGhpcy51dGlsaXR5U2VydmljZS5nZXRSZXNvdXJjZVZhbHVlKCdIb21lJyksXHJcbiAgICAgICAgICAgIHBhdGg6ICcvQWRtaW4vSG9tZScsXHJcbiAgICAgICAgICAgIGlzU2VwYXJhdG9yOiBmYWxzZSxcclxuICAgICAgICAgICAgaXNBY3RpdmU6IGZhbHNlLFxyXG4gICAgICAgICAgfSxcclxuICAgICAgICAgIHsgdGl0bGU6ICcnLCBwYXRoOiAnJywgaXNTZXBhcmF0b3I6IHRydWUsIGlzQWN0aXZlOiBmYWxzZSB9LFxyXG4gICAgICAgICAge1xyXG4gICAgICAgICAgICB0aXRsZTogdGhpcy51dGlsaXR5U2VydmljZS5nZXRSZXNvdXJjZVZhbHVlKCdUZW1wbGF0ZXMnKSxcclxuICAgICAgICAgICAgcGF0aDogJy9BZG1pbi9Eb2N1bWVudHMvVGVtcGxhdGVzJyxcclxuICAgICAgICAgICAgaXNTZXBhcmF0b3I6IGZhbHNlLFxyXG4gICAgICAgICAgICBpc0FjdGl2ZTogZmFsc2UsXHJcbiAgICAgICAgICB9LFxyXG4gICAgICAgICAgeyB0aXRsZTogJycsIHBhdGg6ICcnLCBpc1NlcGFyYXRvcjogdHJ1ZSwgaXNBY3RpdmU6IGZhbHNlIH0sXHJcbiAgICAgICAgXTtcclxuICAgICAgICB0aGlzLmlzRGF0YUxvYWRlZCA9IHRydWU7XHJcbiAgICAgICAgdGhpcy51dGlsaXR5U2VydmljZS5zdG9wQmxvY2tVSSgpO1xyXG4gICAgICAgIHRoaXMucGFnZUluZm9TZXJ2aWNlLmNhbGN1bGF0ZVRpdGxlKCk7XHJcbiAgICAgICAgdGhpcy5wYWdlSW5mb1NlcnZpY2UuY2FsY3VsYXRlQnJlYWRjcnVtYnMoKTtcclxuICAgICAgfSk7XHJcbiAgfVxyXG5cclxuICAvL0dlbmVyYXRlIENvZGVcclxuICBzaG93R2VuZXJhdGVDb2RlQnlJZE1vZGFsKEdlbmVyYXRlQ29kZU1vZGFsKSB7XHJcbiAgICB0aGlzLnRlbXBsYXRlU2VydmljZVxyXG4gICAgICAuZ2VuZXJhdGVDb2RlQnlJZCh0aGlzLlRlbXBsYXRlSWQpXHJcbiAgICAgIC5zdWJzY3JpYmUoKHJlc3VsdCkgPT4ge1xyXG4gICAgICAgIHZhciBWYWx1ZSA9IHJlc3VsdCBhcyBhbnk7XHJcbiAgICAgICAgdGhpcy5HZW5lcmF0ZUNvZGVUZXh0QXJlYSA9IG5ldyBUZXh0QXJlYU9wdGlvbnMoKTtcclxuICAgICAgICB0aGlzLkdlbmVyYXRlQ29kZVRleHRBcmVhLm5hbWUgPSAnR2VuZXJhdGVDb2RlVGV4dEFyZWEnO1xyXG4gICAgICAgIHRoaXMuR2VuZXJhdGVDb2RlVGV4dEFyZWEudmFsdWUgPSBWYWx1ZS52YWwudG9TdHJpbmcoKTtcclxuICAgICAgICB0aGlzLlZhbHVlVG9Db3B5ID0gVmFsdWUudmFsLnRvU3RyaW5nKCk7XHJcbiAgICAgICAgdGhpcy5HZW5lcmF0ZUNvZGVUZXh0QXJlYS5pc0Rpc2FibGVkID0gdHJ1ZTtcclxuICAgICAgICB0aGlzLkdlbmVyYXRlQ29kZVRleHRBcmVhLmhpZGVMYWJlbCA9IHRydWU7XHJcbiAgICAgICAgdGhpcy5HZW5lcmF0ZUNvZGVUZXh0QXJlYS5yb3dzID0gMjA7XHJcbiAgICAgICAgdGhpcy5HZW5lcmF0ZUNvZGVUZXh0QXJlYS5jb2xzID0gMjA7XHJcbiAgICAgICAgdGhpcy5HZW5lcmF0ZUNvZGVUZXh0QXJlYS5tYXhMZW5ndGggPSAxMDAwMDAwO1xyXG4gICAgICAgIHRoaXMubW9kYWxTZXJ2aWNlLm9wZW4oR2VuZXJhdGVDb2RlTW9kYWwpO1xyXG4gICAgICB9KTtcclxuICB9XHJcblxyXG4gIHNob3dHZW5lcmF0ZVVwZGF0ZUNvZGVCeUlkTW9kYWwoR2VuZXJhdGVDb2RlTW9kYWwpIHtcclxuICAgIHRoaXMuR2VuZXJhdGVDb2RlRm9ybSA9IG5ldyBGb3JtR3JvdXAoe30pO1xyXG4gICAgdGhpcy50ZW1wbGF0ZVNlcnZpY2VcclxuICAgICAgLmdlbmVyYXRlVXBkYXRlQ29kZUJ5SWQodGhpcy5UZW1wbGF0ZUlkKVxyXG4gICAgICAuc3Vic2NyaWJlKChyZXN1bHQpID0+IHtcclxuICAgICAgICB2YXIgVmFsdWUgPSByZXN1bHQgYXMgYW55O1xyXG4gICAgICAgIHRoaXMuR2VuZXJhdGVDb2RlVGV4dEFyZWEgPSBuZXcgVGV4dEFyZWFPcHRpb25zKCk7XHJcbiAgICAgICAgdGhpcy5HZW5lcmF0ZUNvZGVUZXh0QXJlYS5uYW1lID0gJ0dlbmVyYXRlQ29kZVRleHRBcmVhJztcclxuICAgICAgICB0aGlzLkdlbmVyYXRlQ29kZVRleHRBcmVhLnZhbHVlID0gVmFsdWUudmFsLnRvU3RyaW5nKCk7XHJcbiAgICAgICAgdGhpcy5WYWx1ZVRvQ29weSA9IFZhbHVlLnZhbC50b1N0cmluZygpO1xyXG4gICAgICAgIHRoaXMuR2VuZXJhdGVDb2RlVGV4dEFyZWEuaXNEaXNhYmxlZCA9IHRydWU7XHJcbiAgICAgICAgdGhpcy5HZW5lcmF0ZUNvZGVUZXh0QXJlYS5oaWRlTGFiZWwgPSB0cnVlO1xyXG4gICAgICAgIHRoaXMuR2VuZXJhdGVDb2RlVGV4dEFyZWEucm93cyA9IDIwO1xyXG4gICAgICAgIHRoaXMuR2VuZXJhdGVDb2RlVGV4dEFyZWEuY29scyA9IDIwO1xyXG4gICAgICAgIHRoaXMuR2VuZXJhdGVDb2RlVGV4dEFyZWEubWF4TGVuZ3RoID0gMTAwMDAwMDtcclxuICAgICAgICB0aGlzLm1vZGFsU2VydmljZS5vcGVuKEdlbmVyYXRlQ29kZU1vZGFsKTtcclxuICAgICAgfSk7XHJcbiAgfVxyXG5cclxuICBjb3B5SW5wdXRNZXNzYWdlKCkge1xyXG4gICAgdGhpcy5fY2xpcGJvYXJkU2VydmljZS5jb3B5KHRoaXMuVmFsdWVUb0NvcHkudG9TdHJpbmcoKSk7XHJcbiAgfVxyXG4gIC8vRWRpdCBUZW1wbGF0ZVxyXG4gIC8vRWRpdCBUZW1wbGF0ZVxyXG4gIHNob3dFZGl0VGVtcGxhdGVNb2RhbChFZGl0VGVtcGxhdGVNb2RhbCkge1xyXG4gICAgdGhpcy51dGlsaXR5U2VydmljZS5zdGFydEJsb2NrVUkoKTtcclxuICAgIHRoaXMudGVtcGxhdGVTZXJ2aWNlXHJcbiAgICAgIC5nZXRFZGl0VGVtcGxhdGVEYXRhKHRoaXMuVGVtcGxhdGVJZClcclxuICAgICAgLnN1YnNjcmliZSgocmVzdWx0KSA9PiB7XHJcbiAgICAgICAgbGV0IHJlc3VsdE9iaiA9IHJlc3VsdCBhcyBhbnk7XHJcbiAgICAgICAgbGV0IHRlbXBsYXRlID0gcmVzdWx0T2JqLm1vZGVsO1xyXG4gICAgICAgIGxldCBsaXN0cyA9IHJlc3VsdE9iai5saXN0cztcclxuICAgICAgICB0aGlzLk9yZ2FuaXphdGlvbkxpc3QgPSBsaXN0cy5vcmdhbml6YXRpb247XHJcbiAgICAgICAgdGhpcy5NYXN0ZXJMYXlvdXRMaXN0ID0gbGlzdHMuZG9jdW1lbnRIZWFkZXJBbmRGb290ZXJUZW1wbGF0ZTtcclxuICAgICAgICB0aGlzLkNhdGVnb3J5TGlzdCA9IGxpc3RzLmxvb2tVcEl0ZW1zQ2F0ZWdvcnk7XHJcblxyXG4gICAgICAgIHRoaXMuRWRpdFRlbXBsYXRlRm9ybSA9IG5ldyBGb3JtR3JvdXAoe30pO1xyXG4gICAgICAgIHRoaXMuRWRpdFRlbXBsYXRlRm9ybU9wdGlvbnMgPSBuZXcgRm9ybU9wdGlvbnMoKTtcclxuICAgICAgICB0aGlzLkVkaXRUZW1wbGF0ZUZvcm1PcHRpb25zLmZvcm1Hcm91cCA9IHRoaXMuRWRpdFRlbXBsYXRlRm9ybTtcclxuICAgICAgICB0aGlzLkVkaXRUZW1wbGF0ZUZvcm1PcHRpb25zLmdldE1vZGVsRnVuY3Rpb24gPVxyXG4gICAgICAgICAgdGhpcy5nZXRFZGl0VGVtcGxhdGVNb2RlbDtcclxuICAgICAgICB0aGlzLkVkaXRUZW1wbGF0ZUZvcm1PcHRpb25zLnNlcnZpY2VTdWJtaXRGdW5jdGlvbiA9XHJcbiAgICAgICAgICB0aGlzLmdldEVkaXRUZW1wbGF0ZUZ1bmN0aW9uO1xyXG4gICAgICAgIGxldCBOYW1lID0gbmV3IEVuZ2xpc2hBcmFiaWNEVE8oKTtcclxuICAgICAgICBOYW1lLmFyYWJpYyA9IHRlbXBsYXRlLm5hbWUuYXJhYmljO1xyXG4gICAgICAgIE5hbWUuZW5nbGlzaCA9IHRlbXBsYXRlLm5hbWUuZW5nbGlzaDtcclxuXHJcbiAgICAgICAgdGhpcy5FZGl0TmFtZSA9IG5ldyBNdWx0aUxpbmd1YWxUZXh0Qm94T3B0aW9ucygpO1xyXG4gICAgICAgIHRoaXMuRWRpdE5hbWUubmFtZSA9ICdOYW1lJztcclxuICAgICAgICB0aGlzLkVkaXROYW1lLmFyYWJpY0xhYmVsS2V5ID0gJ05hbWVJbkFyYWJpYyc7XHJcbiAgICAgICAgdGhpcy5FZGl0TmFtZS5lbmdsaXNoTGFiZWxLZXkgPSAnTmFtZUluRW5nbGlzaCc7XHJcbiAgICAgICAgdGhpcy5FZGl0TmFtZS5pc1JlcXVpcmVkID0gdHJ1ZTtcclxuICAgICAgICB0aGlzLkVkaXROYW1lLnZhbHVlID0gTmFtZTtcclxuICAgICAgICB0aGlzLkVkaXROYW1lLm1heExlbmd0aCA9IDEwMDtcclxuXHJcbiAgICAgICAgdGhpcy5FZGl0U3lzTmFtZSA9IG5ldyBUZXh0Qm94T3B0aW9ucygpO1xyXG4gICAgICAgIHRoaXMuRWRpdFN5c05hbWUubmFtZSA9ICdTeXNOYW1lJztcclxuICAgICAgICB0aGlzLkVkaXRTeXNOYW1lLmxhYmVsS2V5ID0gJ1N5c05hbWUnO1xyXG4gICAgICAgIHRoaXMuRWRpdFN5c05hbWUudHlwZSA9IElucHV0VHlwZS5UZXh0O1xyXG4gICAgICAgIHRoaXMuRWRpdFN5c05hbWUudmFsdWUgPSB0ZW1wbGF0ZS5zeXNOYW1lO1xyXG4gICAgICAgIHRoaXMuRWRpdFN5c05hbWUubWF4TGVuZ3RoID0gMTAwO1xyXG5cclxuICAgICAgICBsZXQgZGVzY3JpcHRpb24gPSBuZXcgRW5nbGlzaEFyYWJpY0RUTygpO1xyXG4gICAgICAgIGRlc2NyaXB0aW9uLmFyYWJpYyA9IHRlbXBsYXRlLmRlc2NyaXB0aW9uLmFyYWJpYztcclxuICAgICAgICBkZXNjcmlwdGlvbi5lbmdsaXNoID0gdGVtcGxhdGUuZGVzY3JpcHRpb24uZW5nbGlzaDtcclxuXHJcbiAgICAgICAgdGhpcy5FZGl0RGVzY3JpcHRpb24gPSBuZXcgTXVsdGlMaW5ndWFsVGV4dEFyZWFPcHRpb25zKCk7XHJcbiAgICAgICAgdGhpcy5FZGl0RGVzY3JpcHRpb24ubmFtZSA9ICdEZXNjcmlwdGlvbic7XHJcbiAgICAgICAgdGhpcy5FZGl0RGVzY3JpcHRpb24uYXJhYmljTGFiZWxLZXkgPSAnRGVzY3JpcHRpb25JbkFyYWJpYyc7XHJcbiAgICAgICAgdGhpcy5FZGl0RGVzY3JpcHRpb24uZW5nbGlzaExhYmVsS2V5ID0gJ0Rlc2NyaXB0aW9uSW5FbmdsaXNoJztcclxuICAgICAgICB0aGlzLkVkaXREZXNjcmlwdGlvbi52YWx1ZSA9IGRlc2NyaXB0aW9uO1xyXG4gICAgICAgIHRoaXMuRWRpdERlc2NyaXB0aW9uLm1heExlbmd0aCA9IDI1MDtcclxuXHJcbiAgICAgICAgdGhpcy5FZGl0T3JnYW5pemF0aW9uID0gbmV3IERyb3Bkb3duT3B0aW9ucygpO1xyXG4gICAgICAgIHRoaXMuRWRpdE9yZ2FuaXphdGlvbi5uYW1lID0gJ09yZ2FuaXphdGlvbklEX0dVSUQnO1xyXG4gICAgICAgIHRoaXMuRWRpdE9yZ2FuaXphdGlvbi5sYWJlbEtleSA9ICdPcmdhbml6YXRpb24nO1xyXG4gICAgICAgIHRoaXMuRWRpdE9yZ2FuaXphdGlvbi5kYXRhU291cmNlID0gdGhpcy5Pcmdhbml6YXRpb25MaXN0O1xyXG4gICAgICAgIHRoaXMuRWRpdE9yZ2FuaXphdGlvbi5zaW5nbGVTZWxlY3Rpb24gPSB0cnVlO1xyXG4gICAgICAgIHRoaXMuRWRpdE9yZ2FuaXphdGlvbi5hbGxvd1NlYXJjaEZpbHRlciA9IHRydWU7XHJcbiAgICAgICAgdGhpcy5FZGl0T3JnYW5pemF0aW9uLnBsYWNlaG9sZGVyID0gJyc7XHJcbiAgICAgICAgdGhpcy5FZGl0T3JnYW5pemF0aW9uLmlzUmVxdWlyZWQgPSB0cnVlO1xyXG4gICAgICAgIHRoaXMuRWRpdE9yZ2FuaXphdGlvbi5zZWxlY3RlZEl0ZW1zID1cclxuICAgICAgICAgIHRlbXBsYXRlLm9yZ2FuaXphdGlvbklEX0dVSUQ/LnRvTG93ZXJDYXNlKCk7XHJcblxyXG4gICAgICAgIHRoaXMuRWRpdE1hc3RlckxheW91dCA9IG5ldyBEcm9wZG93bk9wdGlvbnMoKTtcclxuICAgICAgICB0aGlzLkVkaXRNYXN0ZXJMYXlvdXQubmFtZSA9ICdEb2N1bWVudEhlYWRlckFuZEZvb3RlclRlbXBsYXRlSURfR1VJRCc7XHJcbiAgICAgICAgdGhpcy5FZGl0TWFzdGVyTGF5b3V0LmxhYmVsS2V5ID0gJ01hc3RlckxheW91dCc7XHJcbiAgICAgICAgdGhpcy5FZGl0TWFzdGVyTGF5b3V0LmRhdGFTb3VyY2UgPSB0aGlzLk1hc3RlckxheW91dExpc3Q7XHJcbiAgICAgICAgdGhpcy5FZGl0TWFzdGVyTGF5b3V0LnNpbmdsZVNlbGVjdGlvbiA9IHRydWU7XHJcbiAgICAgICAgdGhpcy5FZGl0TWFzdGVyTGF5b3V0LmFsbG93U2VhcmNoRmlsdGVyID0gdHJ1ZTtcclxuICAgICAgICB0aGlzLkVkaXRNYXN0ZXJMYXlvdXQucGxhY2Vob2xkZXIgPSAnJztcclxuICAgICAgICB0aGlzLkVkaXRNYXN0ZXJMYXlvdXQuaXNSZXF1aXJlZCA9IHRydWU7XHJcbiAgICAgICAgdGhpcy5FZGl0TWFzdGVyTGF5b3V0LnNlbGVjdGVkSXRlbXMgPVxyXG4gICAgICAgICAgdGVtcGxhdGUuZG9jdW1lbnRIZWFkZXJBbmRGb290ZXJUZW1wbGF0ZUlEX0dVSUQ/LnRvTG93ZXJDYXNlKCk7XHJcblxyXG4gICAgICAgIHRoaXMuRWRpdENhdGVnb3J5ID0gbmV3IERyb3Bkb3duT3B0aW9ucygpO1xyXG4gICAgICAgIHRoaXMuRWRpdENhdGVnb3J5Lm5hbWUgPSAnQ2F0ZWdvcnlJdGVtSURfR1VJRCc7XHJcbiAgICAgICAgdGhpcy5FZGl0Q2F0ZWdvcnkubGFiZWxLZXkgPSAnQ2F0ZWdvcnknO1xyXG4gICAgICAgIHRoaXMuRWRpdENhdGVnb3J5LmRhdGFTb3VyY2UgPSB0aGlzLkNhdGVnb3J5TGlzdDtcclxuICAgICAgICB0aGlzLkVkaXRDYXRlZ29yeS5zaW5nbGVTZWxlY3Rpb24gPSB0cnVlO1xyXG4gICAgICAgIHRoaXMuRWRpdENhdGVnb3J5LmFsbG93U2VhcmNoRmlsdGVyID0gdHJ1ZTtcclxuICAgICAgICB0aGlzLkVkaXRDYXRlZ29yeS5wbGFjZWhvbGRlciA9ICcnO1xyXG4gICAgICAgIHRoaXMuRWRpdENhdGVnb3J5LmlzUmVxdWlyZWQgPSB0cnVlO1xyXG4gICAgICAgIHRoaXMuRWRpdENhdGVnb3J5LnNlbGVjdGVkSXRlbXMgPVxyXG4gICAgICAgICAgdGVtcGxhdGUuY2F0ZWdvcnlJdGVtSURfR1VJRD8udG9Mb3dlckNhc2UoKTtcclxuXHJcbiAgICAgICAgdGhpcy5tb2RhbFNlcnZpY2Uub3BlbihFZGl0VGVtcGxhdGVNb2RhbCk7XHJcbiAgICAgICAgdGhpcy51dGlsaXR5U2VydmljZS5zdG9wQmxvY2tVSSgpO1xyXG4gICAgICB9KTtcclxuICB9XHJcbiAgZ2V0RWRpdFRlbXBsYXRlTW9kZWwgPSAoKSA9PiB7XHJcbiAgICBsZXQgcGFyYW1BcnJheTogYW55W10gPSBbXTtcclxuICAgIGxldCBSZXN1bHRNb2RlbCA9IHRoaXMuRWRpdFRlbXBsYXRlRm9ybS52YWx1ZSBhcyBhbnk7XHJcbiAgICBsZXQgRWRpdE1vZGVsID0gbmV3IERvY3VtZW50VGVtcGxhdGVEVE8oKTtcclxuICAgIEVkaXRNb2RlbC5JRF9HVUlEID0gdGhpcy5UZW1wbGF0ZUlkO1xyXG4gICAgRWRpdE1vZGVsLk5hbWUuYXJhYmljID0gUmVzdWx0TW9kZWwuTmFtZS5BcmFiaWM7XHJcbiAgICBFZGl0TW9kZWwuTmFtZS5lbmdsaXNoID0gUmVzdWx0TW9kZWwuTmFtZS5FbmdsaXNoO1xyXG4gICAgRWRpdE1vZGVsLlN5c05hbWUgPSBSZXN1bHRNb2RlbC5TeXNOYW1lO1xyXG4gICAgRWRpdE1vZGVsLkRvY3VtZW50SGVhZGVyQW5kRm9vdGVyVGVtcGxhdGVJRF9HVUlEID1cclxuICAgICAgUmVzdWx0TW9kZWwuRG9jdW1lbnRIZWFkZXJBbmRGb290ZXJUZW1wbGF0ZUlEX0dVSUQ7XHJcbiAgICBFZGl0TW9kZWwuRGVzY3JpcHRpb24uZW5nbGlzaCA9IFJlc3VsdE1vZGVsLkRlc2NyaXB0aW9uLkVuZ2xpc2g7XHJcbiAgICBFZGl0TW9kZWwuRGVzY3JpcHRpb24uYXJhYmljID0gUmVzdWx0TW9kZWwuRGVzY3JpcHRpb24uQXJhYmljO1xyXG4gICAgRWRpdE1vZGVsLk9yZ2FuaXphdGlvbklEX0dVSUQgPSBSZXN1bHRNb2RlbC5Pcmdhbml6YXRpb25JRF9HVUlEO1xyXG4gICAgRWRpdE1vZGVsLkNhdGVnb3J5SXRlbUlEX0dVSUQgPSBSZXN1bHRNb2RlbC5DYXRlZ29yeUl0ZW1JRF9HVUlEO1xyXG5cclxuICAgIHBhcmFtQXJyYXkucHVzaChFZGl0TW9kZWwpO1xyXG4gICAgcmV0dXJuIHBhcmFtQXJyYXk7XHJcbiAgfTtcclxuXHJcbiAgZ2V0RWRpdFRlbXBsYXRlRnVuY3Rpb24gPSAoRWRpdE1vZGVsKTogT2JzZXJ2YWJsZTxhbnk+ID0+IHtcclxuICAgIHJldHVybiB0aGlzLnRlbXBsYXRlU2VydmljZS5lZGl0RG9jdW1lbnRUZW1wbGF0ZShFZGl0TW9kZWwpO1xyXG4gIH07XHJcblxyXG4gIC8vVGVzdCBTZW5kIEVtYWlsXHJcbiAgc2hvd1Rlc3RFeHBvcnREb2N1bWVudE1vZGFsKFRlc3RFeHBvcnREb2N1bWVudE1vZGFsLCB0eXBlID0gMSkge1xyXG4gICAgdGhpcy5leHBvcnRUeXBlID0gdHlwZTtcclxuICAgIHRoaXMuVGVzdEV4cG9ydERvY3VtZW50Rm9ybSA9IG5ldyBGb3JtR3JvdXAoe30pO1xyXG4gICAgdGhpcy5UZXN0RXhwb3J0RG9jdW1lbnRGb3JtT3B0aW9ucyA9IG5ldyBGb3JtT3B0aW9ucygpO1xyXG4gICAgdGhpcy5UZXN0RXhwb3J0RG9jdW1lbnRGb3JtT3B0aW9ucy5mb3JtR3JvdXAgPSB0aGlzLlRlc3RFeHBvcnREb2N1bWVudEZvcm07XHJcbiAgICB0aGlzLlRlc3RFeHBvcnREb2N1bWVudEZvcm1PcHRpb25zLmdldE1vZGVsRnVuY3Rpb24gPVxyXG4gICAgICB0aGlzLmdldFRlc3RFeHBvcnREb2N1bWVudE1vZGVsO1xyXG4gICAgdGhpcy5UZXN0RXhwb3J0RG9jdW1lbnRGb3JtT3B0aW9ucy5zZXJ2aWNlU3VibWl0RnVuY3Rpb24gPVxyXG4gICAgICB0aGlzLmdldFRlc3RFeHBvcnREb2N1bWVudEZ1bmN0aW9uO1xyXG4gICAgdGhpcy5UZXN0RXhwb3J0RG9jdW1lbnRGb3JtT3B0aW9ucy5vblN1Y2Nlc3NIYW5kbGVyID1cclxuICAgICAgdGhpcy5vblN1Y2Nlc3NFeHBvcnRIYW5kbGVyO1xyXG4gICAgdGhpcy5UZXN0RXhwb3J0RG9jdW1lbnRGb3JtT3B0aW9ucy5kaXNhYmxlU3VjY2Vzc05vdGlmaWNhdGlvbiA9IHRydWU7XHJcblxyXG4gICAgbGV0IEtleSA9IG5ldyBUZXh0Qm94T3B0aW9ucygpO1xyXG4gICAgS2V5Lm5hbWUgPSAnS2V5JztcclxuICAgIEtleS5oaWRlTGFiZWwgPSB0cnVlO1xyXG4gICAgS2V5LnZpZXdUeXBlID0gQ29udHJvbExheW91dC5WZXJ0aWNhbDtcclxuICAgIEtleS50eXBlID0gSW5wdXRUeXBlLlRleHQ7XHJcblxyXG4gICAgbGV0IFZhbHVlID0gbmV3IFRleHRCb3hPcHRpb25zKCk7XHJcbiAgICBWYWx1ZS5uYW1lID0gJ1ZhbHVlJztcclxuICAgIFZhbHVlLmhpZGVMYWJlbCA9IHRydWU7XHJcbiAgICBWYWx1ZS52aWV3VHlwZSA9IENvbnRyb2xMYXlvdXQuVmVydGljYWw7XHJcbiAgICBWYWx1ZS50eXBlID0gSW5wdXRUeXBlLlRleHQ7XHJcblxyXG4gICAgbGV0IEtleVJlcGVhdGVyID0gbmV3IFJlcGVhdGVyRmllbGQoKTtcclxuICAgIEtleVJlcGVhdGVyLmNvbnRyb2xUeXBlID0gRGF0YVR5cGUuVGV4dDtcclxuICAgIEtleVJlcGVhdGVyLmNvbnRyb2xPcHRpb25zID0gS2V5O1xyXG4gICAgS2V5UmVwZWF0ZXIuaGVhZGVyVGl0bGUgPSB0aGlzLnV0aWxpdHlTZXJ2aWNlLmdldFJlc291cmNlVmFsdWUoJ0tleScpO1xyXG5cclxuICAgIGxldCBWYWx1ZVJlcGVhdGVyID0gbmV3IFJlcGVhdGVyRmllbGQoKTtcclxuICAgIFZhbHVlUmVwZWF0ZXIuY29udHJvbFR5cGUgPSBEYXRhVHlwZS5UZXh0O1xyXG4gICAgVmFsdWVSZXBlYXRlci5jb250cm9sT3B0aW9ucyA9IFZhbHVlO1xyXG4gICAgVmFsdWVSZXBlYXRlci5oZWFkZXJUaXRsZSA9IHRoaXMudXRpbGl0eVNlcnZpY2UuZ2V0UmVzb3VyY2VWYWx1ZSgnVmFsdWUnKTtcclxuXHJcbiAgICB0aGlzLmFkZEtleVZhbHVlUmVwZWF0ZXJPcHRpb25zID0gbmV3IFJlcGVhdGVyT3B0aW9ucygpO1xyXG4gICAgdGhpcy5hZGRLZXlWYWx1ZVJlcGVhdGVyT3B0aW9ucy5pc1JlcXVpcmVkID0gZmFsc2U7XHJcbiAgICB0aGlzLmFkZEtleVZhbHVlUmVwZWF0ZXJPcHRpb25zLm5hbWUgPSAndmFsdWVzJztcclxuICAgIHRoaXMuYWRkS2V5VmFsdWVSZXBlYXRlck9wdGlvbnMuZGVsZXRlQnV0dG9uRXh0cmFDbGFzc2VzID1cclxuICAgICAgJ2J0biBidG4tZGFuZ2VyIGJ0bi1zbSBidG4taWNvbic7XHJcbiAgICB0aGlzLmFkZEtleVZhbHVlUmVwZWF0ZXJPcHRpb25zLmRlbGV0ZUJ1dHRvblRleHQgPSBgPGkgY2xhc3M9XCJmYSBmYS10cmFzaFwiPjwvaT5gO1xyXG4gICAgdGhpcy5hZGRLZXlWYWx1ZVJlcGVhdGVyT3B0aW9ucy5yZXBlYXRlclRhYmxlRXh0cmFDbGFzc2VzID1cclxuICAgICAgJ3RhYmxlIGFsaWduLW1pZGRsZSB0YWJsZS1yb3ctZGFzaGVkIGZzLTYgZ3ktOSBkYXRhVGFibGUgbm8tZm9vdGVyIHZhbGlkYXRpb24tdGFibGUtdGV4dCc7XHJcbiAgICB0aGlzLmFkZEtleVZhbHVlUmVwZWF0ZXJPcHRpb25zLnJlcGVhdGVyVGFibGVSb3dFeHRyYUNsYXNzZXMgPVxyXG4gICAgICAndGV4dC1zdGFydCB0ZXh0LWdyYXktNDAwIGZ3LWJvbGRlciBmcy03IHRleHQtdXBwZXJjYXNlIGdzLTAnO1xyXG4gICAgdGhpcy5hZGRLZXlWYWx1ZVJlcGVhdGVyT3B0aW9ucy5hY3Rpb25MYWJlbEtleSA9ICdBY3Rpb24nO1xyXG4gICAgdGhpcy5hZGRLZXlWYWx1ZVJlcGVhdGVyT3B0aW9ucy5hZGRCdXR0b25FeHRyYUNsYXNzZXMgPVxyXG4gICAgICAnYnRuIGJ0bi1wcmltYXJ5IGJ0bi1ibG9jayc7XHJcbiAgICB0aGlzLmFkZEtleVZhbHVlUmVwZWF0ZXJPcHRpb25zLmFkZEJ1dHRvblRleHQgPSBgPGkgY2xhc3M9XCJmYSBmYS1wbHVzXCI+PC9pPiR7dGhpcy51dGlsaXR5U2VydmljZS5nZXRSZXNvdXJjZVZhbHVlKFxyXG4gICAgICAnQWRkJ1xyXG4gICAgKX1gO1xyXG4gICAgdGhpcy5hZGRLZXlWYWx1ZVJlcGVhdGVyT3B0aW9ucy5taW5SZXF1aXJlZEl0ZW1zID0gMTtcclxuICAgIHRoaXMuYWRkS2V5VmFsdWVSZXBlYXRlck9wdGlvbnMucmVwZWF0ZXJWYWx1ZSA9IFtdO1xyXG4gICAgdGhpcy5hZGRLZXlWYWx1ZVJlcGVhdGVyT3B0aW9ucy5yZXBlYXRlclN0cnVjdHVyZSA9IFtcclxuICAgICAgS2V5UmVwZWF0ZXIsXHJcbiAgICAgIFZhbHVlUmVwZWF0ZXIsXHJcbiAgICBdO1xyXG5cclxuICAgIHRoaXMubW9kYWxTZXJ2aWNlLm9wZW4oVGVzdEV4cG9ydERvY3VtZW50TW9kYWwpO1xyXG4gIH1cclxuICBnZXRUZXN0RXhwb3J0RG9jdW1lbnRNb2RlbCA9ICgpID0+IHtcclxuICAgIGxldCBwYXJhbUFycmF5OiBhbnlbXSA9IFtdO1xyXG4gICAgbGV0IFJlc3VsdE1vZGVsID0gdGhpcy5UZXN0RXhwb3J0RG9jdW1lbnRGb3JtLnZhbHVlO1xyXG4gICAgbGV0IEV4cG9ydERvY3VtZW50VGVtcGxhdGVNb2RlbCA9IG5ldyBEb2N1bWVudEV4cG9ydERUTygpO1xyXG4gICAgRXhwb3J0RG9jdW1lbnRUZW1wbGF0ZU1vZGVsLklEX0dVSUQgPSB0aGlzLlRlbXBsYXRlSWQ7XHJcbiAgICBsZXQgcmVzdWx0OiBEb2N1bWVudEV4cG9ydEl0ZW1EVE9bXSA9IFtdO1xyXG4gICAgZm9yIChcclxuICAgICAgbGV0IGluZGV4ID0gMDtcclxuICAgICAgaW5kZXggPCB0aGlzLmFkZEtleVZhbHVlUmVwZWF0ZXJPcHRpb25zLnJlcGVhdGVyVmFsdWUubGVuZ3RoO1xyXG4gICAgICBpbmRleCsrXHJcbiAgICApIHtcclxuICAgICAgY29uc3QgZWxlbWVudCA9IHRoaXMuYWRkS2V5VmFsdWVSZXBlYXRlck9wdGlvbnMucmVwZWF0ZXJWYWx1ZVtpbmRleF07XHJcbiAgICAgIGlmIChlbGVtZW50LktleSAmJiBlbGVtZW50LlZhbHVlKSB7XHJcbiAgICAgICAgbGV0IGl0ZW06IERvY3VtZW50RXhwb3J0SXRlbURUTyA9IG5ldyBEb2N1bWVudEV4cG9ydEl0ZW1EVE8oKTtcclxuICAgICAgICBpdGVtLktleSA9IGVsZW1lbnQuS2V5O1xyXG4gICAgICAgIGl0ZW0uVmFsdWUgPSBlbGVtZW50LlZhbHVlO1xyXG4gICAgICAgIHJlc3VsdC5wdXNoKGl0ZW0pO1xyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgICBFeHBvcnREb2N1bWVudFRlbXBsYXRlTW9kZWwuSXRlbXMgPSByZXN1bHQ7XHJcbiAgICBwYXJhbUFycmF5LnB1c2goRXhwb3J0RG9jdW1lbnRUZW1wbGF0ZU1vZGVsKTtcclxuICAgIHJldHVybiBwYXJhbUFycmF5O1xyXG4gIH07XHJcblxyXG4gIGdldFRlc3RFeHBvcnREb2N1bWVudEZ1bmN0aW9uID0gKFxyXG4gICAgRXhwb3J0RG9jdW1lbnRUZW1wbGF0ZU1vZGVsXHJcbiAgKTogT2JzZXJ2YWJsZTxhbnk+ID0+IHtcclxuICAgIGlmICh0aGlzLmV4cG9ydFR5cGUgPT0gMilcclxuICAgICAgcmV0dXJuIHRoaXMudGVtcGxhdGVTZXJ2aWNlLmV4cG9ydFdvcmQoRXhwb3J0RG9jdW1lbnRUZW1wbGF0ZU1vZGVsKTtcclxuICAgIHJldHVybiB0aGlzLnRlbXBsYXRlU2VydmljZS5leHBvcnRQREYoRXhwb3J0RG9jdW1lbnRUZW1wbGF0ZU1vZGVsKTtcclxuICB9O1xyXG5cclxuICBvblN1Y2Nlc3NFeHBvcnRIYW5kbGVyID0gYXN5bmMgKHJlc3VsdDogYW55KSA9PiB7XHJcbiAgICBsZXQgbm93ID0gbmV3IERhdGUoKS50b0lTT1N0cmluZygpO1xyXG4gICAgbGV0IGxhdGVzdF9kYXRlID0gdGhpcy5kYXRlcGlwZS50cmFuc2Zvcm0obm93LCAnZGQtTU0teXl5eSBISC5tbScpO1xyXG4gICAgaWYgKHRoaXMuZXhwb3J0VHlwZSA9PSAyKSB7XHJcbiAgICAgIGxldCBmaWxlTmFtZSA9IHRoaXMuVGVtcGxhdGVJbmZvLmxvY2FsaXplZFRlbXBsYXRlTmFtZSArICdfJyArIGxhdGVzdF9kYXRlICsgJy5kb2MnO1xyXG4gICAgICB2YXIgZmlsZUJ1ZmZlckxpYiA9IGF3YWl0IHRoaXMud29yZERvY3VtZW50U2VydmljZS5nZW5lcmF0ZVdvcmRCeXRlRmlsZShyZXN1bHQpXHJcbiAgICAgIHRoaXMuZG93bmxvYWRXb3JkKGZpbGVCdWZmZXJMaWIgYXMgYW55LCBcIkxpYlwiICsgZmlsZU5hbWUpO1xyXG4gICAgICByZXR1cm47XHJcbiAgICB9XHJcblxyXG4gICAgbGV0IGZpbGVOYW1lID0gdGhpcy5UZW1wbGF0ZUluZm8ubG9jYWxpemVkVGVtcGxhdGVOYW1lICsgJ18nICsgbGF0ZXN0X2RhdGUgKyAnLnBkZic7XHJcbiAgICB0aGlzLmRvd25sb2FkUERGKHJlc3VsdCBhcyBhbnksIGZpbGVOYW1lKTtcclxuICB9O1xyXG5cclxuICAvL09uIGRlc3Ryb3lcclxuICBuZ09uRGVzdHJveSgpOiB2b2lkIHtcclxuICAgIHRoaXMucmVxdWVzdEhhbmRsZXJTZXJ2aWNlLmRlc3Ryb3lIYW5kbGVyKCk7XHJcbiAgfVxyXG59XHJcbiIsIjxibG9jay11aT48L2Jsb2NrLXVpPlxyXG5cclxuPGRpdiBjbGFzcz1cImNvbnRhaW5lci1mbHVpZFwiICpuZ0lmPVwiaXNEYXRhTG9hZGVkXCI+XHJcbiAgPGRpdiBjbGFzcz1cImNhcmQgY2FyZC1jdXN0b20taFwiPlxyXG4gICAgPGRpdiBjbGFzcz1cImNhcmQtaGVhZGVyIGJvcmRlci0wIHB0LTVcIj5cclxuICAgICAgPGRpdiBjbGFzcz1cImNhcmQtdGl0bGUgYWxpZ24taXRlbXMtc3RhcnQgZmxleC1jb2x1bW5cIj5cclxuICAgICAgPC9kaXY+XHJcbiAgICAgIDxkaXYgY2xhc3M9XCJjYXJkLXRvb2xiYXJcIj5cclxuICAgICAgICA8YnV0dG9uIHR5cGU9XCJidXR0b25cIiBpZD1cImJ0blNldFBhc3NcIiBjbGFzcz1cImJ0biBidG4tc20gbWUtM1xyXG4gICAgICAgICAgYnRuLWxpZ2h0LXByaW1hcnlcIiAoY2xpY2spPVwic2hvd0VkaXRUZW1wbGF0ZU1vZGFsKEVkaXRUZW1wbGF0ZU1vZGFsKVwiPlxyXG4gICAgICAgICAgPGkgY2xhc3M9XCJmYSBmYSBmYS1lZGl0XCIgYXJpYS1oaWRkZW49XCJ0cnVlXCI+PC9pPlxyXG4gICAgICAgICAgPHNwYW4+e3t1dGlsaXR5U2VydmljZS5nZXRSZXNvdXJjZVZhbHVlKFwiRWRpdFwiKX19PC9zcGFuPlxyXG4gICAgICAgIDwvYnV0dG9uPlxyXG4gICAgICAgIDxidXR0b24gdHlwZT1cImJ1dHRvblwiIGlkPVwiYnRuU2V0UGFzc1wiIGNsYXNzPVwiYnRuIGJ0bi1zbSBtZS0zXHJcbiAgICAgICAgICBidG4tbGlnaHQtcHJpbWFyeVwiIChjbGljayk9XCJzaG93VGVzdEV4cG9ydERvY3VtZW50TW9kYWwoRXhwb3J0RG9jdW1lbnRNb2RhbClcIj5cclxuICAgICAgICAgIDxpIGNsYXNzPVwiZmEgZmEtZmlsZS1wZGZcIiBhcmlhLWhpZGRlbj1cInRydWVcIj48L2k+XHJcbiAgICAgICAgICA8c3Bhbj57e3V0aWxpdHlTZXJ2aWNlLmdldFJlc291cmNlVmFsdWUoXCJFeHBvcnRcIil9fSBQREY8L3NwYW4+XHJcbiAgICAgICAgPC9idXR0b24+XHJcbiAgICAgICAgPGJ1dHRvbiB0eXBlPVwiYnV0dG9uXCIgaWQ9XCJidG5TZXRQYXNzXCIgY2xhc3M9XCJidG4gYnRuLXNtIG1lLTNcclxuICAgICAgICAgIGJ0bi1saWdodC1wcmltYXJ5XCIgKGNsaWNrKT1cInNob3dUZXN0RXhwb3J0RG9jdW1lbnRNb2RhbChFeHBvcnREb2N1bWVudE1vZGFsLDIpXCI+XHJcbiAgICAgICAgICA8aSBjbGFzcz1cImZhIGZhLWZpbGUtd29yZFwiIGFyaWEtaGlkZGVuPVwidHJ1ZVwiPjwvaT5cclxuICAgICAgICAgIDxzcGFuPnt7dXRpbGl0eVNlcnZpY2UuZ2V0UmVzb3VyY2VWYWx1ZShcIkV4cG9ydFwiKX19IFdvcmQ8L3NwYW4+XHJcbiAgICAgICAgPC9idXR0b24+XHJcbiAgICAgICAgPGJ1dHRvbiB0eXBlPVwiYnV0dG9uXCIgaWQ9XCJidG5TZXRQYXNzXCIgY2xhc3M9XCJidG4gYnRuLXNtIG1lLTNcclxuICAgICAgICAgIGJ0bi1wcmltYXJ5XCIgKm5nSWY9XCIhUHJvZHVjdGlvbk1vZGVcIiAoY2xpY2spPVwic2hvd0dlbmVyYXRlQ29kZUJ5SWRNb2RhbChHZW5lcmF0ZUNvZGVNb2RhbClcIj5cclxuICAgICAgICAgIDxpIGNsYXNzPVwiZmEgZmEtYmFyc1wiPjwvaT57e3V0aWxpdHlTZXJ2aWNlLmdldFJlc291cmNlVmFsdWUoXCJHZW5lcmF0ZUNvZGVcIil9fVxyXG4gICAgICAgIDwvYnV0dG9uPlxyXG4gICAgICAgIDxidXR0b24gdHlwZT1cImJ1dHRvblwiIGlkPVwiYnRuU2V0UGFzc1wiIGNsYXNzPVwiYnRuIGJ0bi1zbSBtZS0zXHJcbiAgICAgICAgICBidG4tcHJpbWFyeVwiICpuZ0lmPVwiIVByb2R1Y3Rpb25Nb2RlXCIgKGNsaWNrKT1cInNob3dHZW5lcmF0ZVVwZGF0ZUNvZGVCeUlkTW9kYWwoR2VuZXJhdGVDb2RlTW9kYWwpXCI+XHJcbiAgICAgICAgICA8aSBjbGFzcz1cImZhIGZhLWtleVwiPjwvaT57e3V0aWxpdHlTZXJ2aWNlLmdldFJlc291cmNlVmFsdWUoXCJHZW5lcmF0ZVVwZGF0ZUNvZGVcIil9fVxyXG4gICAgICAgIDwvYnV0dG9uPlxyXG4gICAgICA8L2Rpdj5cclxuICAgIDwvZGl2PlxyXG4gICAgPGRpdiBjbGFzcz1cImNhcmQtYm9keSBweS0zXCI+XHJcbiAgICAgIDxkaXYgY2xhc3M9XCJyb3dcIj5cclxuICAgICAgICA8ZGl2IGNsYXNzPVwiY29sLXhsLTYgbWItMTBcIj5cclxuICAgICAgICAgIDxkaXYgY2xhc3M9XCJkLWZsZXggaC0xMDAgYWxpZ24taXRlbXMtY2VudGVyIFwiPlxyXG4gICAgICAgICAgICA8IS0tYmVnaW46Ok9wdGlvbi0tPlxyXG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwidy0xMDAgZC1mbGV4IGZsZXgtY29sdW1uIGZsZXgtY2VudGVyIHJvdW5kZWQtMyBiZy1saWdodFxyXG4gICAgICAgICAgICAgIHB5LTEwIHB4LTEwIGgtMTAwXCI+XHJcbiAgICAgICAgICAgICAgPCEtLWJlZ2luOjpIZWFkaW5nLS0+XHJcbiAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cIm1iLTcgZC1mbGV4IGp1c3RpZnktY29udGVudC1iZXR3ZWVuIHctMTAwXCI+XHJcbiAgICAgICAgICAgICAgICA8IS0tYmVnaW46OlRpdGxlLS0+XHJcbiAgICAgICAgICAgICAgICA8YSBbcm91dGVyTGlua109XCJbJy9BZG1pbi9Eb2N1bWVudHMvRWRpdFRlbXBsYXRlJyxUZW1wbGF0ZUlkLCdlbiddXCIgcm91dGVyTGlua0FjdGl2ZT1cInJvdXRlci1saW5rLWFjdGl2ZVwiIGNsYXNzPVwidGV4dC1wcmltYXJ5IG1iLTVcclxuICAgICAgICAgICAgICAgICAgZnctYm9sZGVzdCBmcy0yXCI+XHJcbiAgICAgICAgICAgICAgICAgIEVuZ2xpc2g6XHJcbiAgICAgICAgICAgICAgICAgIHt7VGVtcGxhdGVJbmZvLnRlbXBsYXRlTmFtZUVOfX1cclxuICAgICAgICAgICAgICAgIDwvYT5cclxuXHJcbiAgICAgICAgICAgICAgICA8YSBbcm91dGVyTGlua109XCJbJy9BZG1pbi9Eb2N1bWVudHMvRWRpdFRlbXBsYXRlJyxUZW1wbGF0ZUlkLCdlbiddXCIgcm91dGVyTGlua0FjdGl2ZT1cInJvdXRlci1saW5rLWFjdGl2ZVwiIGNsYXNzPVwiYnRuIGJ0bi1zbVxyXG4gICAgICAgICAgICAgICAgICBidG4tbGlnaHQtcHJpbWFyeSBidG4taWNvblwiPlxyXG4gICAgICAgICAgICAgICAgICA8aSBjbGFzcz1cImZhIGZhLXBlblwiPjwvaT5cclxuICAgICAgICAgICAgICAgIDwvYT5cclxuXHJcbiAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInctMTAwIG1iLTEwXCI+XHJcbiAgICAgICAgICAgICAgICA8IS0tYmVnaW46Okl0ZW0tLT5cclxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJkLWZsZXggYWxpZ24taXRlbXMtY2VudGVyIG1iLTVcIj5cclxuICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImZ3LWJvbGQgZnMtNiB0ZXh0LWdyYXktODAwIGZsZXgtZ3Jvdy0xIHBlLTNcIj5cclxuICAgICAgICAgICAgICAgICAgICA8ZGl2IGlubmVySFRNTD1cInt7VGVtcGxhdGVJbmZvLmhlYWRlckVOfX1cIj5cclxuICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICA8ZGl2IGlubmVySFRNTD1cInt7VGVtcGxhdGVJbmZvLmJvZHlFTn19XCI+XHJcbiAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgPGRpdiBpbm5lckhUTUw9XCJ7e1RlbXBsYXRlSW5mby5mb290ZXJFTn19XCI+XHJcbiAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcblxyXG4gICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgIDwvZGl2PlxyXG5cclxuICAgICAgICAgICAgICA8IS0tZW5kOjpTZWxlY3QtLT5cclxuICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgIDwhLS1lbmQ6Ok9wdGlvbi0tPlxyXG4gICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgPGRpdiBjbGFzcz1cImNvbC14bC02IG1iLTEwXCI+XHJcbiAgICAgICAgICA8ZGl2IGNsYXNzPVwiZC1mbGV4IGgtMTAwIGFsaWduLWl0ZW1zLWNlbnRlclwiPlxyXG4gICAgICAgICAgICA8IS0tYmVnaW46Ok9wdGlvbi0tPlxyXG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwidy0xMDAgZC1mbGV4IGZsZXgtY29sdW1uIGZsZXgtY2VudGVyIHJvdW5kZWQtMyBiZy1saWdodFxyXG4gICAgICAgICAgICAgIHB5LTEwIHB4LTEwIGgtMTAwXCI+XHJcbiAgICAgICAgICAgICAgPCEtLWJlZ2luOjpIZWFkaW5nLS0+XHJcbiAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cIm1iLTcgZC1mbGV4IGp1c3RpZnktY29udGVudC1iZXR3ZWVuIHctMTAwXCI+XHJcbiAgICAgICAgICAgICAgICA8IS0tYmVnaW46OlRpdGxlLS0+XHJcbiAgICAgICAgICAgICAgICA8YSBbcm91dGVyTGlua109XCJbJy9BZG1pbi9Eb2N1bWVudHMvRWRpdFRlbXBsYXRlJyxUZW1wbGF0ZUlkLCdhciddXCIgcm91dGVyTGlua0FjdGl2ZT1cInJvdXRlci1saW5rLWFjdGl2ZVwiIGNsYXNzPVwidGV4dC1wcmltYXJ5IG1iLTVcclxuICAgICAgICAgICAgICAgICAgZnctYm9sZGVzdCBmcy0yXCI+XHJcbiAgICAgICAgICAgICAgICAgIEFyYWJpYzpcclxuICAgICAgICAgICAgICAgICAge3tUZW1wbGF0ZUluZm8udGVtcGxhdGVOYW1lQVJ9fVxyXG4gICAgICAgICAgICAgICAgPC9hPlxyXG4gICAgICAgICAgICAgICAgPGEgW3JvdXRlckxpbmtdPVwiWycvQWRtaW4vRG9jdW1lbnRzL0VkaXRUZW1wbGF0ZScsVGVtcGxhdGVJZCwnYXInXVwiIHJvdXRlckxpbmtBY3RpdmU9XCJyb3V0ZXItbGluay1hY3RpdmVcIiBjbGFzcz1cImJ0biBidG4tc21cclxuICAgICAgICAgICAgICAgICAgYnRuLWxpZ2h0LXByaW1hcnkgYnRuLWljb25cIj5cclxuICAgICAgICAgICAgICAgICAgPGkgY2xhc3M9XCJmYSBmYS1wZW5cIj48L2k+XHJcbiAgICAgICAgICAgICAgICA8L2E+XHJcbiAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInctMTAwIG1iLTEwXCI+XHJcbiAgICAgICAgICAgICAgICA8IS0tYmVnaW46Okl0ZW0tLT5cclxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJkLWZsZXggYWxpZ24taXRlbXMtY2VudGVyIG1iLTVcIj5cclxuICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImZ3LWJvbGQgZnMtNiB0ZXh0LWdyYXktODAwIGZsZXgtZ3Jvdy0xIHBlLTMgYXJcIj5cclxuICAgICAgICAgICAgICAgICAgICA8ZGl2IGlubmVySFRNTD1cInt7VGVtcGxhdGVJbmZvLmhlYWRlckFSfX1cIj5cclxuICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICA8ZGl2IGlubmVySFRNTD1cInt7VGVtcGxhdGVJbmZvLmJvZHlBUn19XCI+XHJcbiAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgPGRpdiBpbm5lckhUTUw9XCJ7e1RlbXBsYXRlSW5mby5mb290ZXJBUn19XCI+XHJcbiAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcblxyXG4gICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgIDwhLS1lbmQ6OlNlbGVjdC0tPlxyXG4gICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgPCEtLWVuZDo6T3B0aW9uLS0+XHJcbiAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICA8L2Rpdj5cclxuICAgICAgPC9kaXY+XHJcbiAgICA8L2Rpdj5cclxuICA8L2Rpdj5cclxuPC9kaXY+XHJcblxyXG48IS0tIGVkaXQgTW9kYWwgLS0+XHJcbjxuZy10ZW1wbGF0ZSAjRWRpdFRlbXBsYXRlTW9kYWwgbGV0LW1vZGFsPlxyXG4gIDxkaXYgY2xhc3M9XCJtb2RhbC1oZWFkZXIgcGItMCBib3JkZXItMCBqdXN0aWZ5LWNvbnRlbnQtZW5kXCI+XHJcbiAgICA8aDUgY2xhc3M9XCJtb2RhbC10aXRsZVwiIGlkPVwiZXhhbXBsZU1vZGFsTGFiZWxcIj48L2g1PlxyXG4gICAgPGJ1dHRvbiB0eXBlPVwiYnV0dG9uXCIgZGF0YS1kaXNtaXNzPVwibW9kYWxcIiBhcmlhLWxhYmVsPVwiQ2xvc2VcIiBjbGFzcz1cImJ0blxyXG4gICAgICBidG4tc20gYnRuLWljb24gYnRuLWFjdGl2ZS1jb2xvci1wcmltYXJ5XCIgKGNsaWNrKT1cIm1vZGFsLmRpc21pc3MoKVwiPlxyXG4gICAgICA8c3BhbiBjbGFzcz1cInN2Zy1pY29uIHN2Zy1pY29uLTFcIj5cclxuICAgICAgICA8c3BhbiBbaW5saW5lU1ZHXT1cIicuL3NyYy9hc3NldHMvaW1hZ2VzL2FycjA2MS5zdmcnXCI+PC9zcGFuPlxyXG4gICAgICA8L3NwYW4+XHJcbiAgICA8L2J1dHRvbj5cclxuICA8L2Rpdj5cclxuICA8ZGl2IGNsYXNzPVwibW9kYWwtYm9keSBzY3JvbGwteSBweC0xMCBweC1sZy0xNSBwdC0wIHBiLTE1XCI+XHJcbiAgICA8ZGl2IGNsYXNzPVwibWItMTMgdGV4dC1jZW50ZXJcIj5cclxuICAgICAgPGgxIGNsYXNzPVwibWItM1wiPnt7dXRpbGl0eVNlcnZpY2UuZ2V0UmVzb3VyY2VWYWx1ZShcIkVkaXRcIil9fVxyXG4gICAgICAgIHt7dXRpbGl0eVNlcnZpY2UuZ2V0UmVzb3VyY2VWYWx1ZShcIlRlbXBsYXRlXCIpfX08L2gxPlxyXG4gICAgPC9kaXY+XHJcblxyXG4gICAgPEJCU0YtRm9ybSBbb3B0aW9uc109XCJFZGl0VGVtcGxhdGVGb3JtT3B0aW9uc1wiPlxyXG4gICAgICA8ZGl2IGNsYXNzPVwicm93XCI+XHJcbiAgICAgICAgPGRpdiBjbGFzcz1cImNvbC1tZC0xMlwiPlxyXG4gICAgICAgICAgPEJCU0YtTXVsdGlMaW5ndWFsVGV4dEJveCBbb3B0aW9uc109XCJFZGl0TmFtZVwiIFtncm91cF09XCJFZGl0VGVtcGxhdGVGb3JtXCI+PC9CQlNGLU11bHRpTGluZ3VhbFRleHRCb3g+XHJcbiAgICAgICAgPC9kaXY+XHJcbiAgICAgIDwvZGl2PlxyXG4gICAgICA8ZGl2IGNsYXNzPVwicm93XCI+XHJcbiAgICAgICAgPGRpdiBjbGFzcz1cImNvbC1tZC0xMlwiPlxyXG4gICAgICAgICAgPEJCU0YtTXVsdGlMaW5ndWFsVGV4dEFyZWEgW29wdGlvbnNdPVwiRWRpdERlc2NyaXB0aW9uXCIgW2dyb3VwXT1cIkVkaXRUZW1wbGF0ZUZvcm1cIj5cclxuICAgICAgICAgIDwvQkJTRi1NdWx0aUxpbmd1YWxUZXh0QXJlYT5cclxuICAgICAgICA8L2Rpdj5cclxuICAgICAgPC9kaXY+XHJcbiAgICAgIDxkaXYgY2xhc3M9XCJyb3dcIiAqbmdJZj1cIiFQcm9kdWN0aW9uTW9kZVwiPlxyXG4gICAgICAgIDxkaXYgY2xhc3M9XCJjb2wtbWQtMTJcIj5cclxuICAgICAgICAgIDxCQlNGLVRleHRCb3ggW29wdGlvbnNdPVwiRWRpdFN5c05hbWVcIiBbZ3JvdXBdPVwiRWRpdFRlbXBsYXRlRm9ybVwiPlxyXG4gICAgICAgICAgPC9CQlNGLVRleHRCb3g+XHJcbiAgICAgICAgPC9kaXY+XHJcbiAgICAgIDwvZGl2PlxyXG4gICAgICA8ZGl2IGNsYXNzPVwicm93XCI+XHJcbiAgICAgICAgPGRpdiBjbGFzcz1cImNvbC1tZC0xMlwiPlxyXG4gICAgICAgICAgPEJCU0YtRHJvcGRvd25MaXN0IFtvcHRpb25zXT1cIkVkaXRPcmdhbml6YXRpb25cIiBbZ3JvdXBdPVwiRWRpdFRlbXBsYXRlRm9ybVwiPlxyXG4gICAgICAgICAgPC9CQlNGLURyb3Bkb3duTGlzdD5cclxuICAgICAgICA8L2Rpdj5cclxuICAgICAgPC9kaXY+XHJcbiAgICAgIDxkaXYgY2xhc3M9XCJyb3dcIj5cclxuICAgICAgICA8ZGl2IGNsYXNzPVwiY29sLW1kLTEyXCI+XHJcbiAgICAgICAgICA8QkJTRi1Ecm9wZG93bkxpc3QgW29wdGlvbnNdPVwiRWRpdENhdGVnb3J5XCIgW2dyb3VwXT1cIkVkaXRUZW1wbGF0ZUZvcm1cIj5cclxuICAgICAgICAgIDwvQkJTRi1Ecm9wZG93bkxpc3Q+XHJcbiAgICAgICAgPC9kaXY+XHJcbiAgICAgIDwvZGl2PlxyXG4gICAgICA8ZGl2IGNsYXNzPVwicm93XCI+XHJcbiAgICAgICAgPGRpdiBjbGFzcz1cImNvbC1tZC0xMlwiPlxyXG4gICAgICAgICAgPEJCU0YtRHJvcGRvd25MaXN0IFtvcHRpb25zXT1cIkVkaXRNYXN0ZXJMYXlvdXRcIiBbZ3JvdXBdPVwiRWRpdFRlbXBsYXRlRm9ybVwiPlxyXG4gICAgICAgICAgPC9CQlNGLURyb3Bkb3duTGlzdD5cclxuICAgICAgICA8L2Rpdj5cclxuICAgICAgPC9kaXY+XHJcblxyXG5cclxuICAgICAgPGRpdiBjbGFzcz1cInRleHQtY2VudGVyIHB0LTdcIj5cclxuICAgICAgICA8YnV0dG9uICNDbG9zZUVkaXRUZW1wbGF0ZU1vZGFsIGlkPVwiQ2xvc2VFZGl0VGVtcGxhdGVNb2RhbFwiIHR5cGU9XCJidXR0b25cIiBjbGFzcz1cImJ0biBidG4tbGlnaHQgbWUtMyBidG4tc21cIiAoY2xpY2spPVwibW9kYWwuZGlzbWlzcygpXCI+XHJcbiAgICAgICAgICB7e3V0aWxpdHlTZXJ2aWNlLmdldFJlc291cmNlVmFsdWUoXCJDYW5jZWxMYWJlbFwiKX19XHJcbiAgICAgICAgPC9idXR0b24+XHJcbiAgICAgICAgPGJ1dHRvbiB0eXBlPVwic3VibWl0XCIgY2xhc3M9XCJidG4gYnRuLXByaW1hcnkgYnRuLXNtXCI+e3t1dGlsaXR5U2VydmljZS5nZXRSZXNvdXJjZVZhbHVlKFwiU2F2ZUxhYmVsXCIpfX08L2J1dHRvbj5cclxuICAgICAgPC9kaXY+XHJcbiAgICA8L0JCU0YtRm9ybT5cclxuICA8L2Rpdj5cclxuPC9uZy10ZW1wbGF0ZT5cclxuXHJcblxyXG5cclxuPCEtLSBFeHBvcnQgRG9jdW1lbnQgTW9kYWwgLS0+XHJcbjxuZy10ZW1wbGF0ZSAjRXhwb3J0RG9jdW1lbnRNb2RhbCBsZXQtbW9kYWw+XHJcbiAgPGRpdiBjbGFzcz1cIm1vZGFsLWhlYWRlciBwYi0wIGJvcmRlci0wIGp1c3RpZnktY29udGVudC1lbmRcIj5cclxuICAgIDxoNSBjbGFzcz1cIm1vZGFsLXRpdGxlXCIgaWQ9XCJleGFtcGxlTW9kYWxMYWJlbFwiPjwvaDU+XHJcbiAgICA8YnV0dG9uIHR5cGU9XCJidXR0b25cIiBkYXRhLWRpc21pc3M9XCJtb2RhbFwiIGFyaWEtbGFiZWw9XCJDbG9zZVwiIGNsYXNzPVwiYnRuIGJ0bi1zbSBidG4taWNvbiBidG4tYWN0aXZlLWNvbG9yLXByaW1hcnlcIiAoY2xpY2spPVwibW9kYWwuZGlzbWlzcygpXCI+XHJcbiAgICAgIDxzcGFuIGNsYXNzPVwic3ZnLWljb24gc3ZnLWljb24tMVwiPlxyXG4gICAgICAgIDxzcGFuIFtpbmxpbmVTVkddPVwiJy4vc3JjL2Fzc2V0cy9pbWFnZXMvYXJyMDYxLnN2ZydcIj48L3NwYW4+XHJcbiAgICAgIDwvc3Bhbj5cclxuICAgIDwvYnV0dG9uPlxyXG4gIDwvZGl2PlxyXG4gIDxkaXYgY2xhc3M9XCJtb2RhbC1ib2R5IHNjcm9sbC15IHB4LTEwIHB4LWxnLTE1IHB0LTAgcGItMTVcIj5cclxuICAgIDxkaXYgY2xhc3M9XCJtYi0xMyB0ZXh0LWNlbnRlclwiPlxyXG4gICAgICA8aDEgY2xhc3M9XCJtYi0zXCI+e3t1dGlsaXR5U2VydmljZS5nZXRSZXNvdXJjZVZhbHVlKFwiRXhwb3J0XCIpfX08L2gxPlxyXG4gICAgPC9kaXY+XHJcbiAgICA8QkJTRi1Gb3JtIFtvcHRpb25zXT1cIlRlc3RFeHBvcnREb2N1bWVudEZvcm1PcHRpb25zXCI+XHJcbiAgICAgIDxkaXYgY2xhc3M9XCJyb3dcIj5cclxuICAgICAgICA8ZGl2IGNsYXNzPVwiY29sLW1kLTEyXCI+XHJcbiAgICAgICAgICA8QkJTRi1yZXBlYXRlci10YWJsZSBbb3B0aW9uc109XCJhZGRLZXlWYWx1ZVJlcGVhdGVyT3B0aW9uc1wiIFtncm91cF09XCJUZXN0RXhwb3J0RG9jdW1lbnRGb3JtXCI+XHJcbiAgICAgICAgICA8L0JCU0YtcmVwZWF0ZXItdGFibGU+XHJcbiAgICAgICAgPC9kaXY+XHJcbiAgICAgIDwvZGl2PlxyXG5cclxuICAgICAgPGRpdiBjbGFzcz1cInRleHQtY2VudGVyIHB0LTdcIj5cclxuICAgICAgICA8YnV0dG9uICNDbG9zZVNlbmRFbWFpbEZvcm0gaWQ9XCJDbG9zZVNlbmRFbWFpbEZvcm1cIiB0eXBlPVwiYnV0dG9uXCIgY2xhc3M9XCJidG4gYnRuLWxpZ2h0IG1lLTMgYnRuLXNtXCIgKGNsaWNrKT1cIm1vZGFsLmRpc21pc3MoKVwiPlxyXG4gICAgICAgICAge3t1dGlsaXR5U2VydmljZS5nZXRSZXNvdXJjZVZhbHVlKFwiQ2FuY2VsTGFiZWxcIil9fVxyXG4gICAgICAgIDwvYnV0dG9uPlxyXG4gICAgICAgIDxidXR0b24gdHlwZT1cInN1Ym1pdFwiIGNsYXNzPVwiYnRuIGJ0bi1wcmltYXJ5IGJ0bi1zbVwiPnt7dXRpbGl0eVNlcnZpY2UuZ2V0UmVzb3VyY2VWYWx1ZShcIkV4cG9ydFwiKX19PC9idXR0b24+XHJcbiAgICAgIDwvZGl2PlxyXG4gICAgPC9CQlNGLUZvcm0+XHJcbiAgPC9kaXY+XHJcbjwvbmctdGVtcGxhdGU+XHJcblxyXG5cclxuPCEtLSBHZW5lcmF0ZUNvZGUgTW9kYWwgLS0+XHJcbjxuZy10ZW1wbGF0ZSAjR2VuZXJhdGVDb2RlTW9kYWwgbGV0LW1vZGFsPlxyXG4gIDxkaXYgY2xhc3M9XCJtb2RhbC1oZWFkZXIgcGItMCBib3JkZXItMCBqdXN0aWZ5LWNvbnRlbnQtZW5kXCI+XHJcbiAgICA8aDUgY2xhc3M9XCJtb2RhbC10aXRsZVwiIGlkPVwiZXhhbXBsZU1vZGFsTGFiZWxcIj48L2g1PlxyXG4gICAgPGJ1dHRvbiB0eXBlPVwiYnV0dG9uXCIgZGF0YS1kaXNtaXNzPVwibW9kYWxcIiBhcmlhLWxhYmVsPVwiQ2xvc2VcIiBjbGFzcz1cImJ0blxyXG4gICAgICBidG4tc20gYnRuLWljb24gYnRuLWFjdGl2ZS1jb2xvci1wcmltYXJ5XCIgKGNsaWNrKT1cIm1vZGFsLmRpc21pc3MoKVwiPlxyXG4gICAgICA8c3BhbiBjbGFzcz1cInN2Zy1pY29uIHN2Zy1pY29uLTFcIj5cclxuICAgICAgICA8c3BhbiBbaW5saW5lU1ZHXT1cIicuL3NyYy9hc3NldHMvaW1hZ2VzL2FycjA2MS5zdmcnXCI+PC9zcGFuPlxyXG4gICAgICA8L3NwYW4+XHJcbiAgICA8L2J1dHRvbj5cclxuICA8L2Rpdj5cclxuICA8ZGl2IGNsYXNzPVwibW9kYWwtYm9keSBzY3JvbGwteSBweC0xMCBweC1sZy0xNSBwdC0wIHBiLTE1XCI+XHJcbiAgICA8ZGl2IGNsYXNzPVwibWItMTMgdGV4dC1jZW50ZXJcIj5cclxuICAgICAgPGgxIGNsYXNzPVwibWItM1wiPnt7dXRpbGl0eVNlcnZpY2UuZ2V0UmVzb3VyY2VWYWx1ZShcIkdlbmVyYXRlQ29kZVwiKX19PC9oMT5cclxuICAgIDwvZGl2PlxyXG4gICAgPGZvcm0gW2Zvcm1Hcm91cF09XCJHZW5lcmF0ZUNvZGVGb3JtXCI+XHJcblxyXG4gICAgICA8ZGl2IGNsYXNzPVwiUm93XCI+XHJcbiAgICAgICAgPEJCU0YtVGV4dEFyZWEgW29wdGlvbnNdPVwiR2VuZXJhdGVDb2RlVGV4dEFyZWFcIiBbZ3JvdXBdPVwiR2VuZXJhdGVDb2RlRm9ybVwiICNHZW5lcmF0ZUNvZGVJbnB1dD5cclxuICAgICAgICA8L0JCU0YtVGV4dEFyZWE+XHJcbiAgICAgIDwvZGl2PlxyXG4gICAgICA8ZGl2IGNsYXNzPVwidGV4dC1jZW50ZXIgcHQtN1wiPlxyXG4gICAgICAgIDxidXR0b24gI0Nsb3NlR2VuZXJhdGVDb2RlTW9kYWwgaWQ9XCJDbG9zZUdlbmVyYXRlQ29kZU1vZGFsXCIgdHlwZT1cImJ1dHRvblwiIGNsYXNzPVwiYnRuIGJ0bi1saWdodCBtZS0zIGJ0bi1zbVwiIChjbGljayk9XCJtb2RhbC5kaXNtaXNzKClcIj5cclxuICAgICAgICAgIHt7dXRpbGl0eVNlcnZpY2UuZ2V0UmVzb3VyY2VWYWx1ZShcIkNhbmNlbExhYmVsXCIpfX1cclxuICAgICAgICA8L2J1dHRvbj5cclxuICAgICAgICA8YnV0dG9uIHR5cGU9XCJidXR0b25cIiBjbGFzcz1cImJ0biBidG4tcHJpbWFyeSBidG4tc21cIiAoY2xpY2spPVwiY29weUlucHV0TWVzc2FnZSgpXCI+XHJcbiAgICAgICAgICB7e3V0aWxpdHlTZXJ2aWNlLmdldFJlc291cmNlVmFsdWUoXCJDb3B5VG9DbGlwYm9hcmRcIil9fVxyXG4gICAgICAgIDwvYnV0dG9uPlxyXG4gICAgICA8L2Rpdj5cclxuICAgIDwvZm9ybT5cclxuICA8L2Rpdj5cclxuPC9uZy10ZW1wbGF0ZT4iXX0=
332
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZG9jdW1lbnQtdGVtcGxhdGUtaW5mby5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9iYnNmLWFkbWluLXBvcnRhbC9zcmMvbGliL1BhZ2VzL2RvY3VtZW50cy9kb2N1bWVudC10ZW1wbGF0ZS1pbmZvL2RvY3VtZW50LXRlbXBsYXRlLWluZm8uY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYmJzZi1hZG1pbi1wb3J0YWwvc3JjL2xpYi9QYWdlcy9kb2N1bWVudHMvZG9jdW1lbnQtdGVtcGxhdGUtaW5mby9kb2N1bWVudC10ZW1wbGF0ZS1pbmZvLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQW9CLE1BQU0sZUFBZSxDQUFDO0FBRTVELE9BQU8sRUFDTCxnQkFBZ0IsRUFFaEIsYUFBYSxFQUViLFFBQVEsRUFDUixlQUFlLEVBQ2YsZ0JBQWdCLEVBQ2hCLFdBQVcsRUFDWCxTQUFTLEVBQ1QsMkJBQTJCLEVBQzNCLDBCQUEwQixFQUUxQixhQUFhLEVBQ2IsZUFBZSxFQUNmLGVBQWUsRUFDZixjQUFjLEdBQ2YsTUFBTSx5QkFBeUIsQ0FBQztBQUVqQyxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFLM0MsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLG9EQUFvRCxDQUFDO0FBV3JGLE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLHlEQUF5RCxDQUFDO0FBRTlGLE9BQU8sRUFBRSxNQUFNLEVBQUUsTUFBTSxZQUFZLENBQUM7QUFDcEMsT0FBTyxFQUNMLGlCQUFpQixFQUNqQixxQkFBcUIsR0FDdEIsTUFBTSx1REFBdUQsQ0FBQzs7Ozs7Ozs7Ozs7OztBQU0vRCxNQUFNLE9BQU8sNkJBQ1gsU0FBUSxnQkFBZ0I7SUFxQ3hCLFlBQ1UsUUFBa0IsRUFDbkIsY0FBOEIs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SyxDQUNOLEVBQUUsQ0FBQztRQUNKLElBQUksQ0FBQywwQkFBMEIsQ0FBQyxnQkFBZ0IsR0FBRyxDQUFDLENBQUM7UUFDckQsSUFBSSxDQUFDLDBCQUEwQixDQUFDLGFBQWEsR0FBRyxFQUFFLENBQUM7UUFDbkQsSUFBSSxDQUFDLDBCQUEwQixDQUFDLGlCQUFpQixHQUFHO1lBQ2xELFdBQVc7WUFDWCxhQUFhO1NBQ2QsQ0FBQztRQUVGLElBQUksQ0FBQyxZQUFZLENBQUMsSUFBSSxDQUFDLHVCQUF1QixDQUFDLENBQUM7SUFDbEQsQ0FBQztJQStDRCxZQUFZO0lBQ1osV0FBVztRQUNULElBQUksQ0FBQyxxQkFBcUIsQ0FBQyxjQUFjLEVBQUUsQ0FBQztJQUM5QyxDQUFDOzhHQXpXVSw2QkFBNkI7a0dBQTdCLDZCQUE2Qix5RkNqRDFDLG9tV0F3UGM7OzJGRHZNRCw2QkFBNkI7a0JBSnpDLFNBQVM7K0JBQ0UsNEJBQTRCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBJbmplY3RvciwgT25Jbml0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IEFjdGl2YXRlZFJvdXRlIH0gZnJvbSAnQGFuZ3VsYXIvcm91dGVyJztcclxuaW1wb3J0IHtcclxuICBBcHBCYXNlQ29tcG9uZW50LFxyXG4gIENoZWNrQm94T3B0aW9ucyxcclxuICBDb250cm9sTGF5b3V0LFxyXG4gIENvdW50cnksXHJcbiAgRGF0YVR5cGUsXHJcbiAgRHJvcGRvd25PcHRpb25zLFxyXG4gIEVuZ2xpc2hBcmFiaWNEVE8sXHJcbiAgRm9ybU9wdGlvbnMsXHJcbiAgSW5wdXRUeXBlLFxyXG4gIE11bHRpTGluZ3VhbFRleHRBcmVhT3B0aW9ucyxcclxuICBNdWx0aUxpbmd1YWxUZXh0Qm94T3B0aW9ucyxcclxuICBQaG9uZU9wdGlvbnMsXHJcbiAgUmVwZWF0ZXJGaWVsZCxcclxuICBSZXBlYXRlck9wdGlvbnMsXHJcbiAgVGV4dEFyZWFPcHRpb25zLFxyXG4gIFRleHRCb3hPcHRpb25zLFxyXG59IGZyb20gJ0BibnNpZ2h0cy9iYnNmLWNvbnRyb2xzJztcclxuaW1wb3J0IHsgVGVtcGxhdGVTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vc2hhcmVkL1NlcnZpY2VzL1RlbXBsYXRlU2VydmljZS5zZXJ2aWNlJztcclxuaW1wb3J0IHsgRm9ybUdyb3VwIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xyXG5pbXBvcnQgeyBDbGlwYm9hcmRTZXJ2aWNlIH0gZnJvbSAnbmd4LWNsaXBib2FyZCc7XHJcbmltcG9ydCB7IEVtYWlsVGVtcGxhdGVUZXN0ZXJNb2RlbCB9IGZyb20gJy4uLy4uL3NoYXJlZC9tb2RlbHMvTm90aWZpY2F0aW9uc01vZGVscy9FbWFpbFRlbXBsYXRlVGVzdGVyTW9kZWwnO1xyXG5pbXBvcnQgeyBTTVNUZW1wbGF0ZVRlc3Rlck1vZGVsIH0gZnJvbSAnLi4vLi4vc2hhcmVkL21vZGVscy9Ob3RpZmljYXRpb25zTW9kZWxzL1NNU1RlbXBsYXRlVGVzdGVyTW9kZWwnO1xyXG5pbXBvcnQgeyBUZW1wbGF0ZURUTyB9IGZyb20gJy4uLy4uL3NoYXJlZC9tb2RlbHMvTm90aWZpY2F0aW9uc01vZGVscy9UZW1wbGF0ZURUTyc7XHJcbmltcG9ydCB7IFBhZ2VJbmZvU2VydmljZSB9IGZyb20gJy4uLy4uLy4uL19tZXRyb25pYy9jb3JlL3NlcnZpY2VzL3BhZ2UtaW5mby5zZXJ2aWNlJztcclxuaW1wb3J0IHsgTmdiTW9kYWwgfSBmcm9tICdAbmctYm9vdHN0cmFwL25nLWJvb3RzdHJhcCc7XHJcbmltcG9ydCB7XHJcbiAgVXRpbGl0eVNlcnZpY2UsXHJcbiAgQkJTRlRyYW5zbGF0ZVNlcnZpY2UsXHJcbiAgRW52aXJvbm1lbnRTZXJ2aWNlLFxyXG4gIFJlcXVlc3RIYW5kbGVyU2VydmljZSxcclxuICBXb3JkRG9jdW1lbnRTZXJ2aWNlLFxyXG59IGZyb20gJ0BibnNpZ2h0cy9iYnNmLXV0aWxpdGllcyc7XHJcbmltcG9ydCB7IE9ic2VydmFibGUgfSBmcm9tICdyeGpzJztcclxuaW1wb3J0IHsgRG9jdW1lbnRUZW1wbGF0ZVNlcnZpY2UgfSBmcm9tICcuLi8uLi9zaGFyZWQvU2VydmljZXMvRG9jdW1lbnRUZW1wbGF0ZVNlcnZpY2Uuc2VydmljZSc7XHJcbmltcG9ydCB7IERvY3VtZW50VGVtcGxhdGVEVE8gfSBmcm9tICcuLi8uLi9zaGFyZWQvbW9kZWxzL0RvY3VtZW50c01vZGVscy9Eb2N1bWVudFRlbXBsYXRlRFRPJztcclxuaW1wb3J0IHsgRGF0ZVBpcGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xyXG5pbXBvcnQgeyBzYXZlQXMgfSBmcm9tICdmaWxlLXNhdmVyJztcclxuaW1wb3J0IHtcclxuICBEb2N1bWVudEV4cG9ydERUTyxcclxuICBEb2N1bWVudEV4cG9ydEl0ZW1EVE8sXHJcbn0gZnJvbSAnLi4vLi4vc2hhcmVkL21vZGVscy9Eb2N1bWVudHNNb2RlbHMvRG9jdW1lbnRFeHBvcnREVE8nO1xyXG5cclxuQENvbXBvbmVudCh7XHJcbiAgc2VsZWN0b3I6ICdsaWItZG9jdW1lbnQtdGVtcGxhdGUtaW5mbycsXHJcbiAgdGVtcGxhdGVVcmw6ICcuL2RvY3VtZW50LXRlbXBsYXRlLWluZm8uY29tcG9uZW50Lmh0bWwnLFxyXG59KVxyXG5leHBvcnQgY2xhc3MgRG9jdW1lbnRUZW1wbGF0ZUluZm9Db21wb25lbnRcclxuICBleHRlbmRzIEFwcEJhc2VDb21wb25lbnRcclxuICBpbXBsZW1lbnRzIE9uSW5pdCB7XHJcbiAgLy9QYWdlIHJlcXVpcmVtZW50c1xyXG4gIFByb2R1Y3Rpb25Nb2RlOiBib29sZWFuO1xyXG4gIFRlbXBsYXRlSWQ6IHN0cmluZztcclxuICBUZW1wbGF0ZUlkRW5jOiBzdHJpbmcgPSAnJztcclxuICBUZW1wbGF0ZUluZm86IGFueTtcclxuICBUZW1wbGF0ZTogYW55O1xyXG4gIGlzRGF0YUxvYWRlZDogYm9vbGVhbiA9IGZhbHNlO1xyXG4gIHNhdmVBcyA9IHNhdmVBcztcclxuICBleHBvcnRUeXBlOiBudW1iZXIgPSAxO1xyXG4gIC8vUmVxdWlyZWQgbGlzdHNcclxuICBDYXRlZ29yeUxpc3QgPSBbXTtcclxuICBPcmdhbml6YXRpb25MaXN0ID0gW107XHJcbiAgTWFzdGVyTGF5b3V0TGlzdCA9IFtdO1xyXG5cclxuICAvL0dlbmVyYXRlQ29kZSAgTW9kZWwgQ29udHJvbHNcclxuICBHZW5lcmF0ZUNvZGVGb3JtID0gbmV3IEZvcm1Hcm91cCh7fSk7XHJcbiAgSXNPcGVuR2VuZXJhdGVDb2RlTW9kYWw6IGJvb2xlYW47XHJcbiAgR2VuZXJhdGVDb2RlVGV4dEFyZWE6IFRleHRBcmVhT3B0aW9ucztcclxuICBWYWx1ZVRvQ29weTogc3RyaW5nID0gJyc7XHJcblxyXG4gIC8vRWRpdCBNb2RlbCBDb250cm9sc1xyXG4gIEVkaXRUZW1wbGF0ZUZvcm0gPSBuZXcgRm9ybUdyb3VwKHt9KTtcclxuICBFZGl0VGVtcGxhdGVGb3JtT3B0aW9uczogRm9ybU9wdGlvbnM7XHJcbiAgRWRpdE5hbWU6IE11bHRpTGluZ3VhbFRleHRCb3hPcHRpb25zO1xyXG4gIEVkaXRTeXNOYW1lOiBUZXh0Qm94T3B0aW9ucztcclxuICBFZGl0RGVzY3JpcHRpb246IE11bHRpTGluZ3VhbFRleHRBcmVhT3B0aW9ucztcclxuICBFZGl0T3JnYW5pemF0aW9uOiBEcm9wZG93bk9wdGlvbnM7XHJcbiAgRWRpdENhdGVnb3J5OiBEcm9wZG93bk9wdGlvbnM7XHJcbiAgRWRpdE1hc3RlckxheW91dDogRHJvcGRvd25PcHRpb25zO1xyXG5cclxuICAvL1Rlc3QgRXhwb3J0IE1vZGVsIENvbnRyb2xzXHJcbiAgVGVzdEV4cG9ydERvY3VtZW50Rm9ybSA9IG5ldyBGb3JtR3JvdXAoe30pO1xyXG4gIFRlc3RFeHBvcnREb2N1bWVudEZvcm1PcHRpb25zID0gbmV3IEZvcm1PcHRpb25zKCk7XHJcbiAgYWRkS2V5VmFsdWVSZXBlYXRlck9wdGlvbnM6IFJlcGVhdGVyT3B0aW9ucztcclxuXHJcbiAgY29uc3RydWN0b3IoXHJcbiAgICBwcml2YXRlIGluamVjdG9yOiBJbmplY3RvcixcclxuICAgIHB1YmxpYyB1dGlsaXR5U2VydmljZTogVXRpbGl0eVNlcnZpY2UsXHJcbiAgICBwdWJsaWMgYmJzZlRyYW5zbGF0ZVNlcnZpY2U6IEJCU0ZUcmFuc2xhdGVTZXJ2aWNlLFxyXG4gICAgcHVibGljIF9jbGlwYm9hcmRTZXJ2aWNlOiBDbGlwYm9hcmRTZXJ2aWNlLFxyXG4gICAgcHVibGljIHRlbXBsYXRlU2VydmljZTogRG9jdW1lbnRUZW1wbGF0ZVNlcnZpY2UsXHJcbiAgICBwdWJsaWMgYWN0aXZhdGVkUm91dGU6IEFjdGl2YXRlZFJvdXRlLFxyXG4gICAgcHVibGljIHBhZ2VJbmZvU2VydmljZTogUGFnZUluZm9TZXJ2aWNlLFxyXG4gICAgcHVibGljIG1vZGFsU2VydmljZTogTmdiTW9kYWwsXHJcbiAgICBwdWJsaWMgZGF0ZXBpcGU6IERhdGVQaXBlLFxyXG4gICAgcHVibGljIHJlcXVlc3RIYW5kbGVyU2VydmljZTogUmVxdWVzdEhhbmRsZXJTZXJ2aWNlLFxyXG4gICAgcHVibGljIHdvcmREb2N1bWVudFNlcnZpY2U6IFdvcmREb2N1bWVudFNlcnZpY2VcclxuICApIHtcclxuICAgIHN1cGVyKGluamVjdG9yKTtcclxuICAgIHRoaXMuYWN0aXZhdGVkUm91dGUucGFyYW1zLnN1YnNjcmliZSgocGFyYW1zKSA9PiB7XHJcbiAgICAgIHRoaXMuVGVtcGxhdGVJZCA9IHBhcmFtc1snaWQnXTtcclxuICAgIH0pO1xyXG4gIH1cclxuXHJcbiAgYXN5bmMgbmdPbkluaXQoKTogUHJvbWlzZTx2b2lkPiB7XHJcbiAgICB0aGlzLnV0aWxpdHlTZXJ2aWNlLnN0YXJ0QmxvY2tVSSgpO1xyXG4gICAgdGhpcy5iYnNmVHJhbnNsYXRlU2VydmljZS5vbkxhbmdDaGFuZ2Uuc3Vic2NyaWJlKChldmVudCkgPT4ge1xyXG4gICAgICB0aGlzLnV0aWxpdHlTZXJ2aWNlLnN0b3BCbG9ja1VJKCk7XHJcbiAgICAgIHRoaXMubmdPbkluaXQoKTtcclxuICAgIH0pO1xyXG4gICAgdGhpcy5Qcm9kdWN0aW9uTW9kZSA9IHRoaXMuZW52aXJvbm1lbnRTZXJ2aWNlLmdldFByb2R1Y3Rpb25Nb2RlKCk7XHJcbiAgICB0aGlzLmluaXRpYWxpemVQYWdlKCk7XHJcbiAgfVxyXG5cclxuICAvL0luaXRpYWxpemUgcGFnZSBpbmZvXHJcbiAgaW5pdGlhbGl6ZVBhZ2UoKSB7XHJcbiAgICB0aGlzLmlzRGF0YUxvYWRlZCA9IGZhbHNlO1xyXG4gICAgdGhpcy50ZW1wbGF0ZVNlcnZpY2VcclxuICAgICAgLmdldFRlbXBsYXRlSW5mbyh0aGlzLlRlbXBsYXRlSWQpXHJcbiAgICAgIC5zdWJzY3JpYmUoKHJlc3VsdCkgPT4ge1xyXG4gICAgICAgIGxldCBSZXN1bHQ6IGFueSA9IHJlc3VsdDtcclxuICAgICAgICB0aGlzLlRlbXBsYXRlSW5mbyA9IFJlc3VsdC52YWw7XHJcbiAgICAgICAgUGFnZUluZm9TZXJ2aWNlLlBhZ2VUaXRsZSA9IHRoaXMuVGVtcGxhdGVJbmZvLmxvY2FsaXplZFRlbXBsYXRlTmFtZTtcclxuICAgICAgICBQYWdlSW5mb1NlcnZpY2UuUGFnZUJyZWFkY3J1bWJzID0gW1xyXG4gICAgICAgICAge1xyXG4gICAgICAgICAgICB0aXRsZTogdGhpcy51dGlsaXR5U2VydmljZS5nZXRSZXNvdXJjZVZhbHVlKCdIb21lJyksXHJcbiAgICAgICAgICAgIHBhdGg6ICcvQWRtaW4vSG9tZScsXHJcbiAgICAgICAgICAgIGlzU2VwYXJhdG9yOiBmYWxzZSxcclxuICAgICAgICAgICAgaXNBY3RpdmU6IGZhbHNlLFxyXG4gICAgICAgICAgfSxcclxuICAgICAgICAgIHsgdGl0bGU6ICcnLCBwYXRoOiAnJywgaXNTZXBhcmF0b3I6IHRydWUsIGlzQWN0aXZlOiBmYWxzZSB9LFxyXG4gICAgICAgICAge1xyXG4gICAgICAgICAgICB0aXRsZTogdGhpcy51dGlsaXR5U2VydmljZS5nZXRSZXNvdXJjZVZhbHVlKCdUZW1wbGF0ZXMnKSxcclxuICAgICAgICAgICAgcGF0aDogJy9BZG1pbi9Eb2N1bWVudHMvVGVtcGxhdGVzJyxcclxuICAgICAgICAgICAgaXNTZXBhcmF0b3I6IGZhbHNlLFxyXG4gICAgICAgICAgICBpc0FjdGl2ZTogZmFsc2UsXHJcbiAgICAgICAgICB9LFxyXG4gICAgICAgICAgeyB0aXRsZTogJycsIHBhdGg6ICcnLCBpc1NlcGFyYXRvcjogdHJ1ZSwgaXNBY3RpdmU6IGZhbHNlIH0sXHJcbiAgICAgICAgXTtcclxuICAgICAgICB0aGlzLmlzRGF0YUxvYWRlZCA9IHRydWU7XHJcbiAgICAgICAgdGhpcy51dGlsaXR5U2VydmljZS5zdG9wQmxvY2tVSSgpO1xyXG4gICAgICAgIHRoaXMucGFnZUluZm9TZXJ2aWNlLmNhbGN1bGF0ZVRpdGxlKCk7XHJcbiAgICAgICAgdGhpcy5wYWdlSW5mb1NlcnZpY2UuY2FsY3VsYXRlQnJlYWRjcnVtYnMoKTtcclxuICAgICAgfSk7XHJcbiAgfVxyXG5cclxuICAvL0dlbmVyYXRlIENvZGVcclxuICBzaG93R2VuZXJhdGVDb2RlQnlJZE1vZGFsKEdlbmVyYXRlQ29kZU1vZGFsKSB7XHJcbiAgICB0aGlzLnRlbXBsYXRlU2VydmljZVxyXG4gICAgICAuZ2VuZXJhdGVDb2RlQnlJZCh0aGlzLlRlbXBsYXRlSWQpXHJcbiAgICAgIC5zdWJzY3JpYmUoKHJlc3VsdCkgPT4ge1xyXG4gICAgICAgIHZhciBWYWx1ZSA9IHJlc3VsdCBhcyBhbnk7XHJcbiAgICAgICAgdGhpcy5HZW5lcmF0ZUNvZGVUZXh0QXJlYSA9IG5ldyBUZXh0QXJlYU9wdGlvbnMoKTtcclxuICAgICAgICB0aGlzLkdlbmVyYXRlQ29kZVRleHRBcmVhLm5hbWUgPSAnR2VuZXJhdGVDb2RlVGV4dEFyZWEnO1xyXG4gICAgICAgIHRoaXMuR2VuZXJhdGVDb2RlVGV4dEFyZWEudmFsdWUgPSBWYWx1ZS52YWwudG9TdHJpbmcoKTtcclxuICAgICAgICB0aGlzLlZhbHVlVG9Db3B5ID0gVmFsdWUudmFsLnRvU3RyaW5nKCk7XHJcbiAgICAgICAgdGhpcy5HZW5lcmF0ZUNvZGVUZXh0QXJlYS5pc0Rpc2FibGVkID0gdHJ1ZTtcclxuICAgICAgICB0aGlzLkdlbmVyYXRlQ29kZVRleHRBcmVhLmhpZGVMYWJlbCA9IHRydWU7XHJcbiAgICAgICAgdGhpcy5HZW5lcmF0ZUNvZGVUZXh0QXJlYS5yb3dzID0gMjA7XHJcbiAgICAgICAgdGhpcy5HZW5lcmF0ZUNvZGVUZXh0QXJlYS5jb2xzID0gMjA7XHJcbiAgICAgICAgdGhpcy5HZW5lcmF0ZUNvZGVUZXh0QXJlYS5tYXhMZW5ndGggPSAxMDAwMDAwO1xyXG4gICAgICAgIHRoaXMubW9kYWxTZXJ2aWNlLm9wZW4oR2VuZXJhdGVDb2RlTW9kYWwpO1xyXG4gICAgICB9KTtcclxuICB9XHJcblxyXG4gIHNob3dHZW5lcmF0ZVVwZGF0ZUNvZGVCeUlkTW9kYWwoR2VuZXJhdGVDb2RlTW9kYWwpIHtcclxuICAgIHRoaXMuR2VuZXJhdGVDb2RlRm9ybSA9IG5ldyBGb3JtR3JvdXAoe30pO1xyXG4gICAgdGhpcy50ZW1wbGF0ZVNlcnZpY2VcclxuICAgICAgLmdlbmVyYXRlVXBkYXRlQ29kZUJ5SWQodGhpcy5UZW1wbGF0ZUlkKVxyXG4gICAgICAuc3Vic2NyaWJlKChyZXN1bHQpID0+IHtcclxuICAgICAgICB2YXIgVmFsdWUgPSByZXN1bHQgYXMgYW55O1xyXG4gICAgICAgIHRoaXMuR2VuZXJhdGVDb2RlVGV4dEFyZWEgPSBuZXcgVGV4dEFyZWFPcHRpb25zKCk7XHJcbiAgICAgICAgdGhpcy5HZW5lcmF0ZUNvZGVUZXh0QXJlYS5uYW1lID0gJ0dlbmVyYXRlQ29kZVRleHRBcmVhJztcclxuICAgICAgICB0aGlzLkdlbmVyYXRlQ29kZVRleHRBcmVhLnZhbHVlID0gVmFsdWUudmFsLnRvU3RyaW5nKCk7XHJcbiAgICAgICAgdGhpcy5WYWx1ZVRvQ29weSA9IFZhbHVlLnZhbC50b1N0cmluZygpO1xyXG4gICAgICAgIHRoaXMuR2VuZXJhdGVDb2RlVGV4dEFyZWEuaXNEaXNhYmxlZCA9IHRydWU7XHJcbiAgICAgICAgdGhpcy5HZW5lcmF0ZUNvZGVUZXh0QXJlYS5oaWRlTGFiZWwgPSB0cnVlO1xyXG4gICAgICAgIHRoaXMuR2VuZXJhdGVDb2RlVGV4dEFyZWEucm93cyA9IDIwO1xyXG4gICAgICAgIHRoaXMuR2VuZXJhdGVDb2RlVGV4dEFyZWEuY29scyA9IDIwO1xyXG4gICAgICAgIHRoaXMuR2VuZXJhdGVDb2RlVGV4dEFyZWEubWF4TGVuZ3RoID0gMTAwMDAwMDtcclxuICAgICAgICB0aGlzLm1vZGFsU2VydmljZS5vcGVuKEdlbmVyYXRlQ29kZU1vZGFsKTtcclxuICAgICAgfSk7XHJcbiAgfVxyXG5cclxuICBjb3B5SW5wdXRNZXNzYWdlKCkge1xyXG4gICAgdGhpcy5fY2xpcGJvYXJkU2VydmljZS5jb3B5KHRoaXMuVmFsdWVUb0NvcHkudG9TdHJpbmcoKSk7XHJcbiAgfVxyXG4gIC8vRWRpdCBUZW1wbGF0ZVxyXG4gIC8vRWRpdCBUZW1wbGF0ZVxyXG4gIHNob3dFZGl0VGVtcGxhdGVNb2RhbChFZGl0VGVtcGxhdGVNb2RhbCkge1xyXG4gICAgdGhpcy51dGlsaXR5U2VydmljZS5zdGFydEJsb2NrVUkoKTtcclxuICAgIHRoaXMudGVtcGxhdGVTZXJ2aWNlXHJcbiAgICAgIC5nZXRFZGl0VGVtcGxhdGVEYXRhKHRoaXMuVGVtcGxhdGVJZClcclxuICAgICAgLnN1YnNjcmliZSgocmVzdWx0KSA9PiB7XHJcbiAgICAgICAgbGV0IHJlc3VsdE9iaiA9IHJlc3VsdCBhcyBhbnk7XHJcbiAgICAgICAgbGV0IHRlbXBsYXRlID0gcmVzdWx0T2JqLm1vZGVsO1xyXG4gICAgICAgIGxldCBsaXN0cyA9IHJlc3VsdE9iai5saXN0cztcclxuICAgICAgICB0aGlzLk9yZ2FuaXphdGlvbkxpc3QgPSBsaXN0cy5vcmdhbml6YXRpb247XHJcbiAgICAgICAgdGhpcy5NYXN0ZXJMYXlvdXRMaXN0ID0gbGlzdHMuZG9jdW1lbnRIZWFkZXJBbmRGb290ZXJUZW1wbGF0ZTtcclxuICAgICAgICB0aGlzLkNhdGVnb3J5TGlzdCA9IGxpc3RzLmxvb2tVcEl0ZW1zQ2F0ZWdvcnk7XHJcblxyXG4gICAgICAgIHRoaXMuRWRpdFRlbXBsYXRlRm9ybSA9IG5ldyBGb3JtR3JvdXAoe30pO1xyXG4gICAgICAgIHRoaXMuRWRpdFRlbXBsYXRlRm9ybU9wdGlvbnMgPSBuZXcgRm9ybU9wdGlvbnMoKTtcclxuICAgICAgICB0aGlzLkVkaXRUZW1wbGF0ZUZvcm1PcHRpb25zLmZvcm1Hcm91cCA9IHRoaXMuRWRpdFRlbXBsYXRlRm9ybTtcclxuICAgICAgICB0aGlzLkVkaXRUZW1wbGF0ZUZvcm1PcHRpb25zLmdldE1vZGVsRnVuY3Rpb24gPVxyXG4gICAgICAgICAgdGhpcy5nZXRFZGl0VGVtcGxhdGVNb2RlbDtcclxuICAgICAgICB0aGlzLkVkaXRUZW1wbGF0ZUZvcm1PcHRpb25zLnNlcnZpY2VTdWJtaXRGdW5jdGlvbiA9XHJcbiAgICAgICAgICB0aGlzLmdldEVkaXRUZW1wbGF0ZUZ1bmN0aW9uO1xyXG4gICAgICAgIGxldCBOYW1lID0gbmV3IEVuZ2xpc2hBcmFiaWNEVE8oKTtcclxuICAgICAgICBOYW1lLmFyYWJpYyA9IHRlbXBsYXRlLm5hbWUuYXJhYmljO1xyXG4gICAgICAgIE5hbWUuZW5nbGlzaCA9IHRlbXBsYXRlLm5hbWUuZW5nbGlzaDtcclxuXHJcbiAgICAgICAgdGhpcy5FZGl0TmFtZSA9IG5ldyBNdWx0aUxpbmd1YWxUZXh0Qm94T3B0aW9ucygpO1xyXG4gICAgICAgIHRoaXMuRWRpdE5hbWUubmFtZSA9ICdOYW1lJztcclxuICAgICAgICB0aGlzLkVkaXROYW1lLmFyYWJpY0xhYmVsS2V5ID0gJ05hbWVJbkFyYWJpYyc7XHJcbiAgICAgICAgdGhpcy5FZGl0TmFtZS5lbmdsaXNoTGFiZWxLZXkgPSAnTmFtZUluRW5nbGlzaCc7XHJcbiAgICAgICAgdGhpcy5FZGl0TmFtZS5pc1JlcXVpcmVkID0gdHJ1ZTtcclxuICAgICAgICB0aGlzLkVkaXROYW1lLnZhbHVlID0gTmFtZTtcclxuICAgICAgICB0aGlzLkVkaXROYW1lLm1heExlbmd0aCA9IDEwMDtcclxuXHJcbiAgICAgICAgdGhpcy5FZGl0U3lzTmFtZSA9IG5ldyBUZXh0Qm94T3B0aW9ucygpO1xyXG4gICAgICAgIHRoaXMuRWRpdFN5c05hbWUubmFtZSA9ICdTeXNOYW1lJztcclxuICAgICAgICB0aGlzLkVkaXRTeXNOYW1lLmxhYmVsS2V5ID0gJ1N5c05hbWUnO1xyXG4gICAgICAgIHRoaXMuRWRpdFN5c05hbWUudHlwZSA9IElucHV0VHlwZS5UZXh0O1xyXG4gICAgICAgIHRoaXMuRWRpdFN5c05hbWUudmFsdWUgPSB0ZW1wbGF0ZS5zeXNOYW1lO1xyXG4gICAgICAgIHRoaXMuRWRpdFN5c05hbWUubWF4TGVuZ3RoID0gMTAwO1xyXG5cclxuICAgICAgICBsZXQgZGVzY3JpcHRpb24gPSBuZXcgRW5nbGlzaEFyYWJpY0RUTygpO1xyXG4gICAgICAgIGRlc2NyaXB0aW9uLmFyYWJpYyA9IHRlbXBsYXRlLmRlc2NyaXB0aW9uLmFyYWJpYztcclxuICAgICAgICBkZXNjcmlwdGlvbi5lbmdsaXNoID0gdGVtcGxhdGUuZGVzY3JpcHRpb24uZW5nbGlzaDtcclxuXHJcbiAgICAgICAgdGhpcy5FZGl0RGVzY3JpcHRpb24gPSBuZXcgTXVsdGlMaW5ndWFsVGV4dEFyZWFPcHRpb25zKCk7XHJcbiAgICAgICAgdGhpcy5FZGl0RGVzY3JpcHRpb24ubmFtZSA9ICdEZXNjcmlwdGlvbic7XHJcbiAgICAgICAgdGhpcy5FZGl0RGVzY3JpcHRpb24uYXJhYmljTGFiZWxLZXkgPSAnRGVzY3JpcHRpb25JbkFyYWJpYyc7XHJcbiAgICAgICAgdGhpcy5FZGl0RGVzY3JpcHRpb24uZW5nbGlzaExhYmVsS2V5ID0gJ0Rlc2NyaXB0aW9uSW5FbmdsaXNoJztcclxuICAgICAgICB0aGlzLkVkaXREZXNjcmlwdGlvbi52YWx1ZSA9IGRlc2NyaXB0aW9uO1xyXG4gICAgICAgIHRoaXMuRWRpdERlc2NyaXB0aW9uLm1heExlbmd0aCA9IDI1MDtcclxuXHJcbiAgICAgICAgdGhpcy5FZGl0T3JnYW5pemF0aW9uID0gbmV3IERyb3Bkb3duT3B0aW9ucygpO1xyXG4gICAgICAgIHRoaXMuRWRpdE9yZ2FuaXphdGlvbi5uYW1lID0gJ09yZ2FuaXphdGlvbklEX0dVSUQnO1xyXG4gICAgICAgIHRoaXMuRWRpdE9yZ2FuaXphdGlvbi5sYWJlbEtleSA9ICdPcmdhbml6YXRpb24nO1xyXG4gICAgICAgIHRoaXMuRWRpdE9yZ2FuaXphdGlvbi5kYXRhU291cmNlID0gdGhpcy5Pcmdhbml6YXRpb25MaXN0O1xyXG4gICAgICAgIHRoaXMuRWRpdE9yZ2FuaXphdGlvbi5zaW5nbGVTZWxlY3Rpb24gPSB0cnVlO1xyXG4gICAgICAgIHRoaXMuRWRpdE9yZ2FuaXphdGlvbi5hbGxvd1NlYXJjaEZpbHRlciA9IHRydWU7XHJcbiAgICAgICAgdGhpcy5FZGl0T3JnYW5pemF0aW9uLnBsYWNlaG9sZGVyID0gJyc7XHJcbiAgICAgICAgdGhpcy5FZGl0T3JnYW5pemF0aW9uLmlzUmVxdWlyZWQgPSB0cnVlO1xyXG4gICAgICAgIHRoaXMuRWRpdE9yZ2FuaXphdGlvbi5zZWxlY3RlZEl0ZW1zID1cclxuICAgICAgICAgIHRlbXBsYXRlLm9yZ2FuaXphdGlvbklEX0dVSUQ/LnRvTG93ZXJDYXNlKCk7XHJcblxyXG4gICAgICAgIHRoaXMuRWRpdE1hc3RlckxheW91dCA9IG5ldyBEcm9wZG93bk9wdGlvbnMoKTtcclxuICAgICAgICB0aGlzLkVkaXRNYXN0ZXJMYXlvdXQubmFtZSA9ICdEb2N1bWVudEhlYWRlckFuZEZvb3RlclRlbXBsYXRlSURfR1VJRCc7XHJcbiAgICAgICAgdGhpcy5FZGl0TWFzdGVyTGF5b3V0LmxhYmVsS2V5ID0gJ01hc3RlckxheW91dCc7XHJcbiAgICAgICAgdGhpcy5FZGl0TWFzdGVyTGF5b3V0LmRhdGFTb3VyY2UgPSB0aGlzLk1hc3RlckxheW91dExpc3Q7XHJcbiAgICAgICAgdGhpcy5FZGl0TWFzdGVyTGF5b3V0LnNpbmdsZVNlbGVjdGlvbiA9IHRydWU7XHJcbiAgICAgICAgdGhpcy5FZGl0TWFzdGVyTGF5b3V0LmFsbG93U2VhcmNoRmlsdGVyID0gdHJ1ZTtcclxuICAgICAgICB0aGlzLkVkaXRNYXN0ZXJMYXlvdXQucGxhY2Vob2xkZXIgPSAnJztcclxuICAgICAgICB0aGlzLkVkaXRNYXN0ZXJMYXlvdXQuaXNSZXF1aXJlZCA9IHRydWU7XHJcbiAgICAgICAgdGhpcy5FZGl0TWFzdGVyTGF5b3V0LnNlbGVjdGVkSXRlbXMgPVxyXG4gICAgICAgICAgdGVtcGxhdGUuZG9jdW1lbnRIZWFkZXJBbmRGb290ZXJUZW1wbGF0ZUlEX0dVSUQ/LnRvTG93ZXJDYXNlKCk7XHJcblxyXG4gICAgICAgIHRoaXMuRWRpdENhdGVnb3J5ID0gbmV3IERyb3Bkb3duT3B0aW9ucygpO1xyXG4gICAgICAgIHRoaXMuRWRpdENhdGVnb3J5Lm5hbWUgPSAnQ2F0ZWdvcnlJdGVtSURfR1VJRCc7XHJcbiAgICAgICAgdGhpcy5FZGl0Q2F0ZWdvcnkubGFiZWxLZXkgPSAnQ2F0ZWdvcnknO1xyXG4gICAgICAgIHRoaXMuRWRpdENhdGVnb3J5LmRhdGFTb3VyY2UgPSB0aGlzLkNhdGVnb3J5TGlzdDtcclxuICAgICAgICB0aGlzLkVkaXRDYXRlZ29yeS5zaW5nbGVTZWxlY3Rpb24gPSB0cnVlO1xyXG4gICAgICAgIHRoaXMuRWRpdENhdGVnb3J5LmFsbG93U2VhcmNoRmlsdGVyID0gdHJ1ZTtcclxuICAgICAgICB0aGlzLkVkaXRDYXRlZ29yeS5wbGFjZWhvbGRlciA9ICcnO1xyXG4gICAgICAgIHRoaXMuRWRpdENhdGVnb3J5LmlzUmVxdWlyZWQgPSB0cnVlO1xyXG4gICAgICAgIHRoaXMuRWRpdENhdGVnb3J5LnNlbGVjdGVkSXRlbXMgPVxyXG4gICAgICAgICAgdGVtcGxhdGUuY2F0ZWdvcnlJdGVtSURfR1VJRD8udG9Mb3dlckNhc2UoKTtcclxuXHJcbiAgICAgICAgdGhpcy5tb2RhbFNlcnZpY2Uub3BlbihFZGl0VGVtcGxhdGVNb2RhbCk7XHJcbiAgICAgICAgdGhpcy51dGlsaXR5U2VydmljZS5zdG9wQmxvY2tVSSgpO1xyXG4gICAgICB9KTtcclxuICB9XHJcbiAgZ2V0RWRpdFRlbXBsYXRlTW9kZWwgPSAoKSA9PiB7XHJcbiAgICBsZXQgcGFyYW1BcnJheTogYW55W10gPSBbXTtcclxuICAgIGxldCBSZXN1bHRNb2RlbCA9IHRoaXMuRWRpdFRlbXBsYXRlRm9ybS52YWx1ZSBhcyBhbnk7XHJcbiAgICBsZXQgRWRpdE1vZGVsID0gbmV3IERvY3VtZW50VGVtcGxhdGVEVE8oKTtcclxuICAgIEVkaXRNb2RlbC5JRF9HVUlEID0gdGhpcy5UZW1wbGF0ZUlkO1xyXG4gICAgRWRpdE1vZGVsLk5hbWUuYXJhYmljID0gUmVzdWx0TW9kZWwuTmFtZS5BcmFiaWM7XHJcbiAgICBFZGl0TW9kZWwuTmFtZS5lbmdsaXNoID0gUmVzdWx0TW9kZWwuTmFtZS5FbmdsaXNoO1xyXG4gICAgRWRpdE1vZGVsLlN5c05hbWUgPSBSZXN1bHRNb2RlbC5TeXNOYW1lO1xyXG4gICAgRWRpdE1vZGVsLkRvY3VtZW50SGVhZGVyQW5kRm9vdGVyVGVtcGxhdGVJRF9HVUlEID1cclxuICAgICAgUmVzdWx0TW9kZWwuRG9jdW1lbnRIZWFkZXJBbmRGb290ZXJUZW1wbGF0ZUlEX0dVSUQ7XHJcbiAgICBFZGl0TW9kZWwuRGVzY3JpcHRpb24uZW5nbGlzaCA9IFJlc3VsdE1vZGVsLkRlc2NyaXB0aW9uLkVuZ2xpc2g7XHJcbiAgICBFZGl0TW9kZWwuRGVzY3JpcHRpb24uYXJhYmljID0gUmVzdWx0TW9kZWwuRGVzY3JpcHRpb24uQXJhYmljO1xyXG4gICAgRWRpdE1vZGVsLk9yZ2FuaXphdGlvbklEX0dVSUQgPSBSZXN1bHRNb2RlbC5Pcmdhbml6YXRpb25JRF9HVUlEO1xyXG4gICAgRWRpdE1vZGVsLkNhdGVnb3J5SXRlbUlEX0dVSUQgPSBSZXN1bHRNb2RlbC5DYXRlZ29yeUl0ZW1JRF9HVUlEO1xyXG5cclxuICAgIHBhcmFtQXJyYXkucHVzaChFZGl0TW9kZWwpO1xyXG4gICAgcmV0dXJuIHBhcmFtQXJyYXk7XHJcbiAgfTtcclxuXHJcbiAgZ2V0RWRpdFRlbXBsYXRlRnVuY3Rpb24gPSAoRWRpdE1vZGVsKTogT2JzZXJ2YWJsZTxhbnk+ID0+IHtcclxuICAgIHJldHVybiB0aGlzLnRlbXBsYXRlU2VydmljZS5lZGl0RG9jdW1lbnRUZW1wbGF0ZShFZGl0TW9kZWwpO1xyXG4gIH07XHJcblxyXG4gIC8vVGVzdCBTZW5kIEVtYWlsXHJcbiAgc2hvd1Rlc3RFeHBvcnREb2N1bWVudE1vZGFsKFRlc3RFeHBvcnREb2N1bWVudE1vZGFsLCB0eXBlID0gMSkge1xyXG4gICAgdGhpcy5leHBvcnRUeXBlID0gdHlwZTtcclxuICAgIHRoaXMuVGVzdEV4cG9ydERvY3VtZW50Rm9ybSA9IG5ldyBGb3JtR3JvdXAoe30pO1xyXG4gICAgdGhpcy5UZXN0RXhwb3J0RG9jdW1lbnRGb3JtT3B0aW9ucyA9IG5ldyBGb3JtT3B0aW9ucygpO1xyXG4gICAgdGhpcy5UZXN0RXhwb3J0RG9jdW1lbnRGb3JtT3B0aW9ucy5mb3JtR3JvdXAgPSB0aGlzLlRlc3RFeHBvcnREb2N1bWVudEZvcm07XHJcbiAgICB0aGlzLlRlc3RFeHBvcnREb2N1bWVudEZvcm1PcHRpb25zLmdldE1vZGVsRnVuY3Rpb24gPVxyXG4gICAgICB0aGlzLmdldFRlc3RFeHBvcnREb2N1bWVudE1vZGVsO1xyXG4gICAgdGhpcy5UZXN0RXhwb3J0RG9jdW1lbnRGb3JtT3B0aW9ucy5zZXJ2aWNlU3VibWl0RnVuY3Rpb24gPVxyXG4gICAgICB0aGlzLmdldFRlc3RFeHBvcnREb2N1bWVudEZ1bmN0aW9uO1xyXG4gICAgdGhpcy5UZXN0RXhwb3J0RG9jdW1lbnRGb3JtT3B0aW9ucy5vblN1Y2Nlc3NIYW5kbGVyID1cclxuICAgICAgdGhpcy5vblN1Y2Nlc3NFeHBvcnRIYW5kbGVyO1xyXG4gICAgdGhpcy5UZXN0RXhwb3J0RG9jdW1lbnRGb3JtT3B0aW9ucy5kaXNhYmxlU3VjY2Vzc05vdGlmaWNhdGlvbiA9IHRydWU7XHJcblxyXG4gICAgbGV0IEtleSA9IG5ldyBUZXh0Qm94T3B0aW9ucygpO1xyXG4gICAgS2V5Lm5hbWUgPSAnS2V5JztcclxuICAgIEtleS5oaWRlTGFiZWwgPSB0cnVlO1xyXG4gICAgS2V5LnZpZXdUeXBlID0gQ29udHJvbExheW91dC5WZXJ0aWNhbDtcclxuICAgIEtleS50eXBlID0gSW5wdXRUeXBlLlRleHQ7XHJcblxyXG4gICAgbGV0IFZhbHVlID0gbmV3IFRleHRCb3hPcHRpb25zKCk7XHJcbiAgICBWYWx1ZS5uYW1lID0gJ1ZhbHVlJztcclxuICAgIFZhbHVlLmhpZGVMYWJlbCA9IHRydWU7XHJcbiAgICBWYWx1ZS52aWV3VHlwZSA9IENvbnRyb2xMYXlvdXQuVmVydGljYWw7XHJcbiAgICBWYWx1ZS50eXBlID0gSW5wdXRUeXBlLlRleHQ7XHJcblxyXG4gICAgbGV0IEtleVJlcGVhdGVyID0gbmV3IFJlcGVhdGVyRmllbGQoKTtcclxuICAgIEtleVJlcGVhdGVyLmNvbnRyb2xUeXBlID0gRGF0YVR5cGUuVGV4dDtcclxuICAgIEtleVJlcGVhdGVyLmNvbnRyb2xPcHRpb25zID0gS2V5O1xyXG4gICAgS2V5UmVwZWF0ZXIuaGVhZGVyVGl0bGUgPSB0aGlzLnV0aWxpdHlTZXJ2aWNlLmdldFJlc291cmNlVmFsdWUoJ0tleScpO1xyXG5cclxuICAgIGxldCBWYWx1ZVJlcGVhdGVyID0gbmV3IFJlcGVhdGVyRmllbGQoKTtcclxuICAgIFZhbHVlUmVwZWF0ZXIuY29udHJvbFR5cGUgPSBEYXRhVHlwZS5UZXh0O1xyXG4gICAgVmFsdWVSZXBlYXRlci5jb250cm9sT3B0aW9ucyA9IFZhbHVlO1xyXG4gICAgVmFsdWVSZXBlYXRlci5oZWFkZXJUaXRsZSA9IHRoaXMudXRpbGl0eVNlcnZpY2UuZ2V0UmVzb3VyY2VWYWx1ZSgnVmFsdWUnKTtcclxuXHJcbiAgICB0aGlzLmFkZEtleVZhbHVlUmVwZWF0ZXJPcHRpb25zID0gbmV3IFJlcGVhdGVyT3B0aW9ucygpO1xyXG4gICAgdGhpcy5hZGRLZXlWYWx1ZVJlcGVhdGVyT3B0aW9ucy5pc1JlcXVpcmVkID0gZmFsc2U7XHJcbiAgICB0aGlzLmFkZEtleVZhbHVlUmVwZWF0ZXJPcHRpb25zLm5hbWUgPSAndmFsdWVzJztcclxuICAgIHRoaXMuYWRkS2V5VmFsdWVSZXBlYXRlck9wdGlvbnMuZGVsZXRlQnV0dG9uRXh0cmFDbGFzc2VzID1cclxuICAgICAgJ2J0biBidG4tZGFuZ2VyIGJ0bi1zbSBidG4taWNvbic7XHJcbiAgICB0aGlzLmFkZEtleVZhbHVlUmVwZWF0ZXJPcHRpb25zLmRlbGV0ZUJ1dHRvblRleHQgPSBgPGkgY2xhc3M9XCJmYSBmYS10cmFzaFwiPjwvaT5gO1xyXG4gICAgdGhpcy5hZGRLZXlWYWx1ZVJlcGVhdGVyT3B0aW9ucy5yZXBlYXRlclRhYmxlRXh0cmFDbGFzc2VzID1cclxuICAgICAgJ3RhYmxlIGFsaWduLW1pZGRsZSB0YWJsZS1yb3ctZGFzaGVkIGZzLTYgZ3ktOSBkYXRhVGFibGUgbm8tZm9vdGVyIHZhbGlkYXRpb24tdGFibGUtdGV4dCc7XHJcbiAgICB0aGlzLmFkZEtleVZhbHVlUmVwZWF0ZXJPcHRpb25zLnJlcGVhdGVyVGFibGVSb3dFeHRyYUNsYXNzZXMgPVxyXG4gICAgICAndGV4dC1zdGFydCB0ZXh0LWdyYXktNDAwIGZ3LWJvbGRlciBmcy03IHRleHQtdXBwZXJjYXNlIGdzLTAnO1xyXG4gICAgdGhpcy5hZGRLZXlWYWx1ZVJlcGVhdGVyT3B0aW9ucy5hY3Rpb25MYWJlbEtleSA9ICdBY3Rpb24nO1xyXG4gICAgdGhpcy5hZGRLZXlWYWx1ZVJlcGVhdGVyT3B0aW9ucy5hZGRCdXR0b25FeHRyYUNsYXNzZXMgPVxyXG4gICAgICAnYnRuIGJ0bi1wcmltYXJ5IGJ0bi1ibG9jayc7XHJcbiAgICB0aGlzLmFkZEtleVZhbHVlUmVwZWF0ZXJPcHRpb25zLmFkZEJ1dHRvblRleHQgPSBgPGkgY2xhc3M9XCJmYSBmYS1wbHVzXCI+PC9pPiR7dGhpcy51dGlsaXR5U2VydmljZS5nZXRSZXNvdXJjZVZhbHVlKFxyXG4gICAgICAnQWRkJ1xyXG4gICAgKX1gO1xyXG4gICAgdGhpcy5hZGRLZXlWYWx1ZVJlcGVhdGVyT3B0aW9ucy5taW5SZXF1aXJlZEl0ZW1zID0gMTtcclxuICAgIHRoaXMuYWRkS2V5VmFsdWVSZXBlYXRlck9wdGlvbnMucmVwZWF0ZXJWYWx1ZSA9IFtdO1xyXG4gICAgdGhpcy5hZGRLZXlWYWx1ZVJlcGVhdGVyT3B0aW9ucy5yZXBlYXRlclN0cnVjdHVyZSA9IFtcclxuICAgICAgS2V5UmVwZWF0ZXIsXHJcbiAgICAgIFZhbHVlUmVwZWF0ZXIsXHJcbiAgICBdO1xyXG5cclxuICAgIHRoaXMubW9kYWxTZXJ2aWNlLm9wZW4oVGVzdEV4cG9ydERvY3VtZW50TW9kYWwpO1xyXG4gIH1cclxuICBnZXRUZXN0RXhwb3J0RG9jdW1lbnRNb2RlbCA9ICgpID0+IHtcclxuICAgIGxldCBwYXJhbUFycmF5OiBhbnlbXSA9IFtdO1xyXG4gICAgbGV0IFJlc3VsdE1vZGVsID0gdGhpcy5UZXN0RXhwb3J0RG9jdW1lbnRGb3JtLnZhbHVlO1xyXG4gICAgbGV0IEV4cG9ydERvY3VtZW50VGVtcGxhdGVNb2RlbCA9IG5ldyBEb2N1bWVudEV4cG9ydERUTygpO1xyXG4gICAgRXhwb3J0RG9jdW1lbnRUZW1wbGF0ZU1vZGVsLklEX0dVSUQgPSB0aGlzLlRlbXBsYXRlSWQ7XHJcbiAgICBsZXQgcmVzdWx0OiBEb2N1bWVudEV4cG9ydEl0ZW1EVE9bXSA9IFtdO1xyXG4gICAgZm9yIChcclxuICAgICAgbGV0IGluZGV4ID0gMDtcclxuICAgICAgaW5kZXggPCB0aGlzLmFkZEtleVZhbHVlUmVwZWF0ZXJPcHRpb25zLnJlcGVhdGVyVmFsdWUubGVuZ3RoO1xyXG4gICAgICBpbmRleCsrXHJcbiAgICApIHtcclxuICAgICAgY29uc3QgZWxlbWVudCA9IHRoaXMuYWRkS2V5VmFsdWVSZXBlYXRlck9wdGlvbnMucmVwZWF0ZXJWYWx1ZVtpbmRleF07XHJcbiAgICAgIGlmIChlbGVtZW50LktleSAmJiBlbGVtZW50LlZhbHVlKSB7XHJcbiAgICAgICAgbGV0IGl0ZW06IERvY3VtZW50RXhwb3J0SXRlbURUTyA9IG5ldyBEb2N1bWVudEV4cG9ydEl0ZW1EVE8oKTtcclxuICAgICAgICBpdGVtLktleSA9IGVsZW1lbnQuS2V5O1xyXG4gICAgICAgIGl0ZW0uVmFsdWUgPSBlbGVtZW50LlZhbHVlO1xyXG4gICAgICAgIHJlc3VsdC5wdXNoKGl0ZW0pO1xyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgICBFeHBvcnREb2N1bWVudFRlbXBsYXRlTW9kZWwuSXRlbXMgPSByZXN1bHQ7XHJcbiAgICBwYXJhbUFycmF5LnB1c2goRXhwb3J0RG9jdW1lbnRUZW1wbGF0ZU1vZGVsKTtcclxuICAgIHJldHVybiBwYXJhbUFycmF5O1xyXG4gIH07XHJcblxyXG4gIGdldFRlc3RFeHBvcnREb2N1bWVudEZ1bmN0aW9uID0gKFxyXG4gICAgRXhwb3J0RG9jdW1lbnRUZW1wbGF0ZU1vZGVsXHJcbiAgKTogT2JzZXJ2YWJsZTxhbnk+ID0+IHtcclxuICAgIGlmICh0aGlzLmV4cG9ydFR5cGUgPT0gMilcclxuICAgICAgcmV0dXJuIHRoaXMudGVtcGxhdGVTZXJ2aWNlLmV4cG9ydFdvcmQoRXhwb3J0RG9jdW1lbnRUZW1wbGF0ZU1vZGVsKTtcclxuICAgIHJldHVybiB0aGlzLnRlbXBsYXRlU2VydmljZS5leHBvcnRQREYoRXhwb3J0RG9jdW1lbnRUZW1wbGF0ZU1vZGVsKTtcclxuICB9O1xyXG5cclxuICBvblN1Y2Nlc3NFeHBvcnRIYW5kbGVyID0gYXN5bmMgKHJlc3VsdDogYW55KSA9PiB7XHJcbiAgICBsZXQgbm93ID0gbmV3IERhdGUoKS50b0lTT1N0cmluZygpO1xyXG4gICAgbGV0IGxhdGVzdF9kYXRlID0gdGhpcy5kYXRlcGlwZS50cmFuc2Zvcm0obm93LCAnZGQtTU0teXl5eSBISC5tbScpO1xyXG4gICAgaWYgKHRoaXMuZXhwb3J0VHlwZSA9PSAyKSB7XHJcbiAgICAgIGxldCBmaWxlTmFtZSA9IHRoaXMuVGVtcGxhdGVJbmZvLmxvY2FsaXplZFRlbXBsYXRlTmFtZSArICdfJyArIGxhdGVzdF9kYXRlICsgJy5kb2MnO1xyXG4gICAgICB2YXIgZmlsZUJ1ZmZlckxpYiA9IGF3YWl0IHRoaXMud29yZERvY3VtZW50U2VydmljZS5nZW5lcmF0ZVdvcmRCeXRlRmlsZShyZXN1bHQpO1xyXG4gICAgICB0aGlzLmRvd25sb2FkV29yZChmaWxlQnVmZmVyTGliIGFzIGFueSwgXCJMaWJcIiArIGZpbGVOYW1lKTtcclxuICAgICAgcmV0dXJuO1xyXG4gICAgfVxyXG5cclxuICAgIGxldCBmaWxlTmFtZSA9IHRoaXMuVGVtcGxhdGVJbmZvLmxvY2FsaXplZFRlbXBsYXRlTmFtZSArICdfJyArIGxhdGVzdF9kYXRlICsgJy5wZGYnO1xyXG4gICAgdGhpcy5kb3dubG9hZFBERihyZXN1bHQgYXMgYW55LCBmaWxlTmFtZSk7XHJcbiAgfTtcclxuXHJcbiAgLy9PbiBkZXN0cm95XHJcbiAgbmdPbkRlc3Ryb3koKTogdm9pZCB7XHJcbiAgICB0aGlzLnJlcXVlc3RIYW5kbGVyU2VydmljZS5kZXN0cm95SGFuZGxlcigpO1xyXG4gIH1cclxufVxyXG4iLCI8YmxvY2stdWk+PC9ibG9jay11aT5cclxuXHJcbjxkaXYgY2xhc3M9XCJjb250YWluZXItZmx1aWRcIiAqbmdJZj1cImlzRGF0YUxvYWRlZFwiPlxyXG4gIDxkaXYgY2xhc3M9XCJjYXJkIGNhcmQtY3VzdG9tLWhcIj5cclxuICAgIDxkaXYgY2xhc3M9XCJjYXJkLWhlYWRlciBib3JkZXItMCBwdC01XCI+XHJcbiAgICAgIDxkaXYgY2xhc3M9XCJjYXJkLXRpdGxlIGFsaWduLWl0ZW1zLXN0YXJ0IGZsZXgtY29sdW1uXCI+XHJcbiAgICAgIDwvZGl2PlxyXG4gICAgICA8ZGl2IGNsYXNzPVwiY2FyZC10b29sYmFyXCI+XHJcbiAgICAgICAgPGJ1dHRvbiB0eXBlPVwiYnV0dG9uXCIgaWQ9XCJidG5TZXRQYXNzXCIgY2xhc3M9XCJidG4gYnRuLXNtIG1lLTNcclxuICAgICAgICAgIGJ0bi1saWdodC1wcmltYXJ5XCIgKGNsaWNrKT1cInNob3dFZGl0VGVtcGxhdGVNb2RhbChFZGl0VGVtcGxhdGVNb2RhbClcIj5cclxuICAgICAgICAgIDxpIGNsYXNzPVwiZmEgZmEgZmEtZWRpdFwiIGFyaWEtaGlkZGVuPVwidHJ1ZVwiPjwvaT5cclxuICAgICAgICAgIDxzcGFuPnt7dXRpbGl0eVNlcnZpY2UuZ2V0UmVzb3VyY2VWYWx1ZShcIkVkaXRcIil9fTwvc3Bhbj5cclxuICAgICAgICA8L2J1dHRvbj5cclxuICAgICAgICA8YnV0dG9uIHR5cGU9XCJidXR0b25cIiBpZD1cImJ0blNldFBhc3NcIiBjbGFzcz1cImJ0biBidG4tc20gbWUtM1xyXG4gICAgICAgICAgYnRuLWxpZ2h0LXByaW1hcnlcIiAoY2xpY2spPVwic2hvd1Rlc3RFeHBvcnREb2N1bWVudE1vZGFsKEV4cG9ydERvY3VtZW50TW9kYWwpXCI+XHJcbiAgICAgICAgICA8aSBjbGFzcz1cImZhIGZhLWZpbGUtcGRmXCIgYXJpYS1oaWRkZW49XCJ0cnVlXCI+PC9pPlxyXG4gICAgICAgICAgPHNwYW4+e3t1dGlsaXR5U2VydmljZS5nZXRSZXNvdXJjZVZhbHVlKFwiRXhwb3J0XCIpfX0gUERGPC9zcGFuPlxyXG4gICAgICAgIDwvYnV0dG9uPlxyXG4gICAgICAgIDxidXR0b24gdHlwZT1cImJ1dHRvblwiIGlkPVwiYnRuU2V0UGFzc1wiIGNsYXNzPVwiYnRuIGJ0bi1zbSBtZS0zXHJcbiAgICAgICAgICBidG4tbGlnaHQtcHJpbWFyeVwiIChjbGljayk9XCJzaG93VGVzdEV4cG9ydERvY3VtZW50TW9kYWwoRXhwb3J0RG9jdW1lbnRNb2RhbCwyKVwiPlxyXG4gICAgICAgICAgPGkgY2xhc3M9XCJmYSBmYS1maWxlLXdvcmRcIiBhcmlhLWhpZGRlbj1cInRydWVcIj48L2k+XHJcbiAgICAgICAgICA8c3Bhbj57e3V0aWxpdHlTZXJ2aWNlLmdldFJlc291cmNlVmFsdWUoXCJFeHBvcnRcIil9fSBXb3JkPC9zcGFuPlxyXG4gICAgICAgIDwvYnV0dG9uPlxyXG4gICAgICAgIDxidXR0b24gdHlwZT1cImJ1dHRvblwiIGlkPVwiYnRuU2V0UGFzc1wiIGNsYXNzPVwiYnRuIGJ0bi1zbSBtZS0zXHJcbiAgICAgICAgICBidG4tcHJpbWFyeVwiICpuZ0lmPVwiIVByb2R1Y3Rpb25Nb2RlXCIgKGNsaWNrKT1cInNob3dHZW5lcmF0ZUNvZGVCeUlkTW9kYWwoR2VuZXJhdGVDb2RlTW9kYWwpXCI+XHJcbiAgICAgICAgICA8aSBjbGFzcz1cImZhIGZhLWJhcnNcIj48L2k+e3t1dGlsaXR5U2VydmljZS5nZXRSZXNvdXJjZVZhbHVlKFwiR2VuZXJhdGVDb2RlXCIpfX1cclxuICAgICAgICA8L2J1dHRvbj5cclxuICAgICAgICA8YnV0dG9uIHR5cGU9XCJidXR0b25cIiBpZD1cImJ0blNldFBhc3NcIiBjbGFzcz1cImJ0biBidG4tc20gbWUtM1xyXG4gICAgICAgICAgYnRuLXByaW1hcnlcIiAqbmdJZj1cIiFQcm9kdWN0aW9uTW9kZVwiIChjbGljayk9XCJzaG93R2VuZXJhdGVVcGRhdGVDb2RlQnlJZE1vZGFsKEdlbmVyYXRlQ29kZU1vZGFsKVwiPlxyXG4gICAgICAgICAgPGkgY2xhc3M9XCJmYSBmYS1rZXlcIj48L2k+e3t1dGlsaXR5U2VydmljZS5nZXRSZXNvdXJjZVZhbHVlKFwiR2VuZXJhdGVVcGRhdGVDb2RlXCIpfX1cclxuICAgICAgICA8L2J1dHRvbj5cclxuICAgICAgPC9kaXY+XHJcbiAgICA8L2Rpdj5cclxuICAgIDxkaXYgY2xhc3M9XCJjYXJkLWJvZHkgcHktM1wiPlxyXG4gICAgICA8ZGl2IGNsYXNzPVwicm93XCI+XHJcbiAgICAgICAgPGRpdiBjbGFzcz1cImNvbC14bC02IG1iLTEwXCI+XHJcbiAgICAgICAgICA8ZGl2IGNsYXNzPVwiZC1mbGV4IGgtMTAwIGFsaWduLWl0ZW1zLWNlbnRlciBcIj5cclxuICAgICAgICAgICAgPCEtLWJlZ2luOjpPcHRpb24tLT5cclxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cInctMTAwIGQtZmxleCBmbGV4LWNvbHVtbiBmbGV4LWNlbnRlciByb3VuZGVkLTMgYmctbGlnaHRcclxuICAgICAgICAgICAgICBweS0xMCBweC0xMCBoLTEwMFwiPlxyXG4gICAgICAgICAgICAgIDwhLS1iZWdpbjo6SGVhZGluZy0tPlxyXG4gICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJtYi03IGQtZmxleCBqdXN0aWZ5LWNvbnRlbnQtYmV0d2VlbiB3LTEwMFwiPlxyXG4gICAgICAgICAgICAgICAgPCEtLWJlZ2luOjpUaXRsZS0tPlxyXG4gICAgICAgICAgICAgICAgPGEgW3JvdXRlckxpbmtdPVwiWycvQWRtaW4vRG9jdW1lbnRzL0VkaXRUZW1wbGF0ZScsVGVtcGxhdGVJZCwnZW4nXVwiIHJvdXRlckxpbmtBY3RpdmU9XCJyb3V0ZXItbGluay1hY3RpdmVcIiBjbGFzcz1cInRleHQtcHJpbWFyeSBtYi01XHJcbiAgICAgICAgICAgICAgICAgIGZ3LWJvbGRlc3QgZnMtMlwiPlxyXG4gICAgICAgICAgICAgICAgICBFbmdsaXNoOlxyXG4gICAgICAgICAgICAgICAgICB7e1RlbXBsYXRlSW5mby50ZW1wbGF0ZU5hbWVFTn19XHJcbiAgICAgICAgICAgICAgICA8L2E+XHJcblxyXG4gICAgICAgICAgICAgICAgPGEgW3JvdXRlckxpbmtdPVwiWycvQWRtaW4vRG9jdW1lbnRzL0VkaXRUZW1wbGF0ZScsVGVtcGxhdGVJZCwnZW4nXVwiIHJvdXRlckxpbmtBY3RpdmU9XCJyb3V0ZXItbGluay1hY3RpdmVcIiBjbGFzcz1cImJ0biBidG4tc21cclxuICAgICAgICAgICAgICAgICAgYnRuLWxpZ2h0LXByaW1hcnkgYnRuLWljb25cIj5cclxuICAgICAgICAgICAgICAgICAgPGkgY2xhc3M9XCJmYSBmYS1wZW5cIj48L2k+XHJcbiAgICAgICAgICAgICAgICA8L2E+XHJcblxyXG4gICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJ3LTEwMCBtYi0xMFwiPlxyXG4gICAgICAgICAgICAgICAgPCEtLWJlZ2luOjpJdGVtLS0+XHJcbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZC1mbGV4IGFsaWduLWl0ZW1zLWNlbnRlciBtYi01XCI+XHJcbiAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJmdy1ib2xkIGZzLTYgdGV4dC1ncmF5LTgwMCBmbGV4LWdyb3ctMSBwZS0zXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgPGRpdiBpbm5lckhUTUw9XCJ7e1RlbXBsYXRlSW5mby5oZWFkZXJFTn19XCI+XHJcbiAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgPGRpdiBpbm5lckhUTUw9XCJ7e1RlbXBsYXRlSW5mby5ib2R5RU59fVwiPlxyXG4gICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgIDxkaXYgaW5uZXJIVE1MPVwie3tUZW1wbGF0ZUluZm8uZm9vdGVyRU59fVwiPlxyXG4gICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG5cclxuICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICA8L2Rpdj5cclxuXHJcbiAgICAgICAgICAgICAgPCEtLWVuZDo6U2VsZWN0LS0+XHJcbiAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICA8IS0tZW5kOjpPcHRpb24tLT5cclxuICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgIDwvZGl2PlxyXG4gICAgICAgIDxkaXYgY2xhc3M9XCJjb2wteGwtNiBtYi0xMFwiPlxyXG4gICAgICAgICAgPGRpdiBjbGFzcz1cImQtZmxleCBoLTEwMCBhbGlnbi1pdGVtcy1jZW50ZXJcIj5cclxuICAgICAgICAgICAgPCEtLWJlZ2luOjpPcHRpb24tLT5cclxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cInctMTAwIGQtZmxleCBmbGV4LWNvbHVtbiBmbGV4LWNlbnRlciByb3VuZGVkLTMgYmctbGlnaHRcclxuICAgICAgICAgICAgICBweS0xMCBweC0xMCBoLTEwMFwiPlxyXG4gICAgICAgICAgICAgIDwhLS1iZWdpbjo6SGVhZGluZy0tPlxyXG4gICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJtYi03IGQtZmxleCBqdXN0aWZ5LWNvbnRlbnQtYmV0d2VlbiB3LTEwMFwiPlxyXG4gICAgICAgICAgICAgICAgPCEtLWJlZ2luOjpUaXRsZS0tPlxyXG4gICAgICAgICAgICAgICAgPGEgW3JvdXRlckxpbmtdPVwiWycvQWRtaW4vRG9jdW1lbnRzL0VkaXRUZW1wbGF0ZScsVGVtcGxhdGVJZCwnYXInXVwiIHJvdXRlckxpbmtBY3RpdmU9XCJyb3V0ZXItbGluay1hY3RpdmVcIiBjbGFzcz1cInRleHQtcHJpbWFyeSBtYi01XHJcbiAgICAgICAgICAgICAgICAgIGZ3LWJvbGRlc3QgZnMtMlwiPlxyXG4gICAgICAgICAgICAgICAgICBBcmFiaWM6XHJcbiAgICAgICAgICAgICAgICAgIHt7VGVtcGxhdGVJbmZvLnRlbXBsYXRlTmFtZUFSfX1cclxuICAgICAgICAgICAgICAgIDwvYT5cclxuICAgICAgICAgICAgICAgIDxhIFtyb3V0ZXJMaW5rXT1cIlsnL0FkbWluL0RvY3VtZW50cy9FZGl0VGVtcGxhdGUnLFRlbXBsYXRlSWQsJ2FyJ11cIiByb3V0ZXJMaW5rQWN0aXZlPVwicm91dGVyLWxpbmstYWN0aXZlXCIgY2xhc3M9XCJidG4gYnRuLXNtXHJcbiAgICAgICAgICAgICAgICAgIGJ0bi1saWdodC1wcmltYXJ5IGJ0bi1pY29uXCI+XHJcbiAgICAgICAgICAgICAgICAgIDxpIGNsYXNzPVwiZmEgZmEtcGVuXCI+PC9pPlxyXG4gICAgICAgICAgICAgICAgPC9hPlxyXG4gICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJ3LTEwMCBtYi0xMFwiPlxyXG4gICAgICAgICAgICAgICAgPCEtLWJlZ2luOjpJdGVtLS0+XHJcbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZC1mbGV4IGFsaWduLWl0ZW1zLWNlbnRlciBtYi01XCI+XHJcbiAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJmdy1ib2xkIGZzLTYgdGV4dC1ncmF5LTgwMCBmbGV4LWdyb3ctMSBwZS0zIGFyXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgPGRpdiBpbm5lckhUTUw9XCJ7e1RlbXBsYXRlSW5mby5oZWFkZXJBUn19XCI+XHJcbiAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgPGRpdiBpbm5lckhUTUw9XCJ7e1RlbXBsYXRlSW5mby5ib2R5QVJ9fVwiPlxyXG4gICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgIDxkaXYgaW5uZXJIVE1MPVwie3tUZW1wbGF0ZUluZm8uZm9vdGVyQVJ9fVwiPlxyXG4gICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG5cclxuICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICA8IS0tZW5kOjpTZWxlY3QtLT5cclxuICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgIDwhLS1lbmQ6Ok9wdGlvbi0tPlxyXG4gICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgPC9kaXY+XHJcbiAgICAgIDwvZGl2PlxyXG4gICAgPC9kaXY+XHJcbiAgPC9kaXY+XHJcbjwvZGl2PlxyXG5cclxuPCEtLSBlZGl0IE1vZGFsIC0tPlxyXG48bmctdGVtcGxhdGUgI0VkaXRUZW1wbGF0ZU1vZGFsIGxldC1tb2RhbD5cclxuICA8ZGl2IGNsYXNzPVwibW9kYWwtaGVhZGVyIHBiLTAgYm9yZGVyLTAganVzdGlmeS1jb250ZW50LWVuZFwiPlxyXG4gICAgPGg1IGNsYXNzPVwibW9kYWwtdGl0bGVcIiBpZD1cImV4YW1wbGVNb2RhbExhYmVsXCI+PC9oNT5cclxuICAgIDxidXR0b24gdHlwZT1cImJ1dHRvblwiIGRhdGEtZGlzbWlzcz1cIm1vZGFsXCIgYXJpYS1sYWJlbD1cIkNsb3NlXCIgY2xhc3M9XCJidG5cclxuICAgICAgYnRuLXNtIGJ0bi1pY29uIGJ0bi1hY3RpdmUtY29sb3ItcHJpbWFyeVwiIChjbGljayk9XCJtb2RhbC5kaXNtaXNzKClcIj5cclxuICAgICAgPHNwYW4gY2xhc3M9XCJzdmctaWNvbiBzdmctaWNvbi0xXCI+XHJcbiAgICAgICAgPHNwYW4gW2lubGluZVNWR109XCInLi9zcmMvYXNzZXRzL2ltYWdlcy9hcnIwNjEuc3ZnJ1wiPjwvc3Bhbj5cclxuICAgICAgPC9zcGFuPlxyXG4gICAgPC9idXR0b24+XHJcbiAgPC9kaXY+XHJcbiAgPGRpdiBjbGFzcz1cIm1vZGFsLWJvZHkgc2Nyb2xsLXkgcHgtMTAgcHgtbGctMTUgcHQtMCBwYi0xNVwiPlxyXG4gICAgPGRpdiBjbGFzcz1cIm1iLTEzIHRleHQtY2VudGVyXCI+XHJcbiAgICAgIDxoMSBjbGFzcz1cIm1iLTNcIj57e3V0aWxpdHlTZXJ2aWNlLmdldFJlc291cmNlVmFsdWUoXCJFZGl0XCIpfX1cclxuICAgICAgICB7e3V0aWxpdHlTZXJ2aWNlLmdldFJlc291cmNlVmFsdWUoXCJUZW1wbGF0ZVwiKX19PC9oMT5cclxuICAgIDwvZGl2PlxyXG5cclxuICAgIDxCQlNGLUZvcm0gW29wdGlvbnNdPVwiRWRpdFRlbXBsYXRlRm9ybU9wdGlvbnNcIj5cclxuICAgICAgPGRpdiBjbGFzcz1cInJvd1wiPlxyXG4gICAgICAgIDxkaXYgY2xhc3M9XCJjb2wtbWQtMTJcIj5cclxuICAgICAgICAgIDxCQlNGLU11bHRpTGluZ3VhbFRleHRCb3ggW29wdGlvbnNdPVwiRWRpdE5hbWVcIiBbZ3JvdXBdPVwiRWRpdFRlbXBsYXRlRm9ybVwiPjwvQkJTRi1NdWx0aUxpbmd1YWxUZXh0Qm94PlxyXG4gICAgICAgIDwvZGl2PlxyXG4gICAgICA8L2Rpdj5cclxuICAgICAgPGRpdiBjbGFzcz1cInJvd1wiPlxyXG4gICAgICAgIDxkaXYgY2xhc3M9XCJjb2wtbWQtMTJcIj5cclxuICAgICAgICAgIDxCQlNGLU11bHRpTGluZ3VhbFRleHRBcmVhIFtvcHRpb25zXT1cIkVkaXREZXNjcmlwdGlvblwiIFtncm91cF09XCJFZGl0VGVtcGxhdGVGb3JtXCI+XHJcbiAgICAgICAgICA8L0JCU0YtTXVsdGlMaW5ndWFsVGV4dEFyZWE+XHJcbiAgICAgICAgPC9kaXY+XHJcbiAgICAgIDwvZGl2PlxyXG4gICAgICA8ZGl2IGNsYXNzPVwicm93XCIgKm5nSWY9XCIhUHJvZHVjdGlvbk1vZGVcIj5cclxuICAgICAgICA8ZGl2IGNsYXNzPVwiY29sLW1kLTEyXCI+XHJcbiAgICAgICAgICA8QkJTRi1UZXh0Qm94IFtvcHRpb25zXT1cIkVkaXRTeXNOYW1lXCIgW2dyb3VwXT1cIkVkaXRUZW1wbGF0ZUZvcm1cIj5cclxuICAgICAgICAgIDwvQkJTRi1UZXh0Qm94PlxyXG4gICAgICAgIDwvZGl2PlxyXG4gICAgICA8L2Rpdj5cclxuICAgICAgPGRpdiBjbGFzcz1cInJvd1wiPlxyXG4gICAgICAgIDxkaXYgY2xhc3M9XCJjb2wtbWQtMTJcIj5cclxuICAgICAgICAgIDxCQlNGLURyb3Bkb3duTGlzdCBbb3B0aW9uc109XCJFZGl0T3JnYW5pemF0aW9uXCIgW2dyb3VwXT1cIkVkaXRUZW1wbGF0ZUZvcm1cIj5cclxuICAgICAgICAgIDwvQkJTRi1Ecm9wZG93bkxpc3Q+XHJcbiAgICAgICAgPC9kaXY+XHJcbiAgICAgIDwvZGl2PlxyXG4gICAgICA8ZGl2IGNsYXNzPVwicm93XCI+XHJcbiAgICAgICAgPGRpdiBjbGFzcz1cImNvbC1tZC0xMlwiPlxyXG4gICAgICAgICAgPEJCU0YtRHJvcGRvd25MaXN0IFtvcHRpb25zXT1cIkVkaXRDYXRlZ29yeVwiIFtncm91cF09XCJFZGl0VGVtcGxhdGVGb3JtXCI+XHJcbiAgICAgICAgICA8L0JCU0YtRHJvcGRvd25MaXN0PlxyXG4gICAgICAgIDwvZGl2PlxyXG4gICAgICA8L2Rpdj5cclxuICAgICAgPGRpdiBjbGFzcz1cInJvd1wiPlxyXG4gICAgICAgIDxkaXYgY2xhc3M9XCJjb2wtbWQtMTJcIj5cclxuICAgICAgICAgIDxCQlNGLURyb3Bkb3duTGlzdCBbb3B0aW9uc109XCJFZGl0TWFzdGVyTGF5b3V0XCIgW2dyb3VwXT1cIkVkaXRUZW1wbGF0ZUZvcm1cIj5cclxuICAgICAgICAgIDwvQkJTRi1Ecm9wZG93bkxpc3Q+XHJcbiAgICAgICAgPC9kaXY+XHJcbiAgICAgIDwvZGl2PlxyXG5cclxuXHJcbiAgICAgIDxkaXYgY2xhc3M9XCJ0ZXh0LWNlbnRlciBwdC03XCI+XHJcbiAgICAgICAgPGJ1dHRvbiAjQ2xvc2VFZGl0VGVtcGxhdGVNb2RhbCBpZD1cIkNsb3NlRWRpdFRlbXBsYXRlTW9kYWxcIiB0eXBlPVwiYnV0dG9uXCIgY2xhc3M9XCJidG4gYnRuLWxpZ2h0IG1lLTMgYnRuLXNtXCIgKGNsaWNrKT1cIm1vZGFsLmRpc21pc3MoKVwiPlxyXG4gICAgICAgICAge3t1dGlsaXR5U2VydmljZS5nZXRSZXNvdXJjZVZhbHVlKFwiQ2FuY2VsTGFiZWxcIil9fVxyXG4gICAgICAgIDwvYnV0dG9uPlxyXG4gICAgICAgIDxidXR0b24gdHlwZT1cInN1Ym1pdFwiIGNsYXNzPVwiYnRuIGJ0bi1wcmltYXJ5IGJ0bi1zbVwiPnt7dXRpbGl0eVNlcnZpY2UuZ2V0UmVzb3VyY2VWYWx1ZShcIlNhdmVMYWJlbFwiKX19PC9idXR0b24+XHJcbiAgICAgIDwvZGl2PlxyXG4gICAgPC9CQlNGLUZvcm0+XHJcbiAgPC9kaXY+XHJcbjwvbmctdGVtcGxhdGU+XHJcblxyXG5cclxuXHJcbjwhLS0gRXhwb3J0IERvY3VtZW50IE1vZGFsIC0tPlxyXG48bmctdGVtcGxhdGUgI0V4cG9ydERvY3VtZW50TW9kYWwgbGV0LW1vZGFsPlxyXG4gIDxkaXYgY2xhc3M9XCJtb2RhbC1oZWFkZXIgcGItMCBib3JkZXItMCBqdXN0aWZ5LWNvbnRlbnQtZW5kXCI+XHJcbiAgICA8aDUgY2xhc3M9XCJtb2RhbC10aXRsZVwiIGlkPVwiZXhhbXBsZU1vZGFsTGFiZWxcIj48L2g1PlxyXG4gICAgPGJ1dHRvbiB0eXBlPVwiYnV0dG9uXCIgZGF0YS1kaXNtaXNzPVwibW9kYWxcIiBhcmlhLWxhYmVsPVwiQ2xvc2VcIiBjbGFzcz1cImJ0biBidG4tc20gYnRuLWljb24gYnRuLWFjdGl2ZS1jb2xvci1wcmltYXJ5XCIgKGNsaWNrKT1cIm1vZGFsLmRpc21pc3MoKVwiPlxyXG4gICAgICA8c3BhbiBjbGFzcz1cInN2Zy1pY29uIHN2Zy1pY29uLTFcIj5cclxuICAgICAgICA8c3BhbiBbaW5saW5lU1ZHXT1cIicuL3NyYy9hc3NldHMvaW1hZ2VzL2FycjA2MS5zdmcnXCI+PC9zcGFuPlxyXG4gICAgICA8L3NwYW4+XHJcbiAgICA8L2J1dHRvbj5cclxuICA8L2Rpdj5cclxuICA8ZGl2IGNsYXNzPVwibW9kYWwtYm9keSBzY3JvbGwteSBweC0xMCBweC1sZy0xNSBwdC0wIHBiLTE1XCI+XHJcbiAgICA8ZGl2IGNsYXNzPVwibWItMTMgdGV4dC1jZW50ZXJcIj5cclxuICAgICAgPGgxIGNsYXNzPVwibWItM1wiPnt7dXRpbGl0eVNlcnZpY2UuZ2V0UmVzb3VyY2VWYWx1ZShcIkV4cG9ydFwiKX19PC9oMT5cclxuICAgIDwvZGl2PlxyXG4gICAgPEJCU0YtRm9ybSBbb3B0aW9uc109XCJUZXN0RXhwb3J0RG9jdW1lbnRGb3JtT3B0aW9uc1wiPlxyXG4gICAgICA8ZGl2IGNsYXNzPVwicm93XCI+XHJcbiAgICAgICAgPGRpdiBjbGFzcz1cImNvbC1tZC0xMlwiPlxyXG4gICAgICAgICAgPEJCU0YtcmVwZWF0ZXItdGFibGUgW29wdGlvbnNdPVwiYWRkS2V5VmFsdWVSZXBlYXRlck9wdGlvbnNcIiBbZ3JvdXBdPVwiVGVzdEV4cG9ydERvY3VtZW50Rm9ybVwiPlxyXG4gICAgICAgICAgPC9CQlNGLXJlcGVhdGVyLXRhYmxlPlxyXG4gICAgICAgIDwvZGl2PlxyXG4gICAgICA8L2Rpdj5cclxuXHJcbiAgICAgIDxkaXYgY2xhc3M9XCJ0ZXh0LWNlbnRlciBwdC03XCI+XHJcbiAgICAgICAgPGJ1dHRvbiAjQ2xvc2VTZW5kRW1haWxGb3JtIGlkPVwiQ2xvc2VTZW5kRW1haWxGb3JtXCIgdHlwZT1cImJ1dHRvblwiIGNsYXNzPVwiYnRuIGJ0bi1saWdodCBtZS0zIGJ0bi1zbVwiIChjbGljayk9XCJtb2RhbC5kaXNtaXNzKClcIj5cclxuICAgICAgICAgIHt7dXRpbGl0eVNlcnZpY2UuZ2V0UmVzb3VyY2VWYWx1ZShcIkNhbmNlbExhYmVsXCIpfX1cclxuICAgICAgICA8L2J1dHRvbj5cclxuICAgICAgICA8YnV0dG9uIHR5cGU9XCJzdWJtaXRcIiBjbGFzcz1cImJ0biBidG4tcHJpbWFyeSBidG4tc21cIj57e3V0aWxpdHlTZXJ2aWNlLmdldFJlc291cmNlVmFsdWUoXCJFeHBvcnRcIil9fTwvYnV0dG9uPlxyXG4gICAgICA8L2Rpdj5cclxuICAgIDwvQkJTRi1Gb3JtPlxyXG4gIDwvZGl2PlxyXG48L25nLXRlbXBsYXRlPlxyXG5cclxuXHJcbjwhLS0gR2VuZXJhdGVDb2RlIE1vZGFsIC0tPlxyXG48bmctdGVtcGxhdGUgI0dlbmVyYXRlQ29kZU1vZGFsIGxldC1tb2RhbD5cclxuICA8ZGl2IGNsYXNzPVwibW9kYWwtaGVhZGVyIHBiLTAgYm9yZGVyLTAganVzdGlmeS1jb250ZW50LWVuZFwiPlxyXG4gICAgPGg1IGNsYXNzPVwibW9kYWwtdGl0bGVcIiBpZD1cImV4YW1wbGVNb2RhbExhYmVsXCI+PC9oNT5cclxuICAgIDxidXR0b24gdHlwZT1cImJ1dHRvblwiIGRhdGEtZGlzbWlzcz1cIm1vZGFsXCIgYXJpYS1sYWJlbD1cIkNsb3NlXCIgY2xhc3M9XCJidG5cclxuICAgICAgYnRuLXNtIGJ0bi1pY29uIGJ0bi1hY3RpdmUtY29sb3ItcHJpbWFyeVwiIChjbGljayk9XCJtb2RhbC5kaXNtaXNzKClcIj5cclxuICAgICAgPHNwYW4gY2xhc3M9XCJzdmctaWNvbiBzdmctaWNvbi0xXCI+XHJcbiAgICAgICAgPHNwYW4gW2lubGluZVNWR109XCInLi9zcmMvYXNzZXRzL2ltYWdlcy9hcnIwNjEuc3ZnJ1wiPjwvc3Bhbj5cclxuICAgICAgPC9zcGFuPlxyXG4gICAgPC9idXR0b24+XHJcbiAgPC9kaXY+XHJcbiAgPGRpdiBjbGFzcz1cIm1vZGFsLWJvZHkgc2Nyb2xsLXkgcHgtMTAgcHgtbGctMTUgcHQtMCBwYi0xNVwiPlxyXG4gICAgPGRpdiBjbGFzcz1cIm1iLTEzIHRleHQtY2VudGVyXCI+XHJcbiAgICAgIDxoMSBjbGFzcz1cIm1iLTNcIj57e3V0aWxpdHlTZXJ2aWNlLmdldFJlc291cmNlVmFsdWUoXCJHZW5lcmF0ZUNvZGVcIil9fTwvaDE+XHJcbiAgICA8L2Rpdj5cclxuICAgIDxmb3JtIFtmb3JtR3JvdXBdPVwiR2VuZXJhdGVDb2RlRm9ybVwiPlxyXG5cclxuICAgICAgPGRpdiBjbGFzcz1cIlJvd1wiPlxyXG4gICAgICAgIDxCQlNGLVRleHRBcmVhIFtvcHRpb25zXT1cIkdlbmVyYXRlQ29kZVRleHRBcmVhXCIgW2dyb3VwXT1cIkdlbmVyYXRlQ29kZUZvcm1cIiAjR2VuZXJhdGVDb2RlSW5wdXQ+XHJcbiAgICAgICAgPC9CQlNGLVRleHRBcmVhPlxyXG4gICAgICA8L2Rpdj5cclxuICAgICAgPGRpdiBjbGFzcz1cInRleHQtY2VudGVyIHB0LTdcIj5cclxuICAgICAgICA8YnV0dG9uICNDbG9zZUdlbmVyYXRlQ29kZU1vZGFsIGlkPVwiQ2xvc2VHZW5lcmF0ZUNvZGVNb2RhbFwiIHR5cGU9XCJidXR0b25cIiBjbGFzcz1cImJ0biBidG4tbGlnaHQgbWUtMyBidG4tc21cIiAoY2xpY2spPVwibW9kYWwuZGlzbWlzcygpXCI+XHJcbiAgICAgICAgICB7e3V0aWxpdHlTZXJ2aWNlLmdldFJlc291cmNlVmFsdWUoXCJDYW5jZWxMYWJlbFwiKX19XHJcbiAgICAgICAgPC9idXR0b24+XHJcbiAgICAgICAgPGJ1dHRvbiB0eXBlPVwiYnV0dG9uXCIgY2xhc3M9XCJidG4gYnRuLXByaW1hcnkgYnRuLXNtXCIgKGNsaWNrKT1cImNvcHlJbnB1dE1lc3NhZ2UoKVwiPlxyXG4gICAgICAgICAge3t1dGlsaXR5U2VydmljZS5nZXRSZXNvdXJjZVZhbHVlKFwiQ29weVRvQ2xpcGJvYXJkXCIpfX1cclxuICAgICAgICA8L2J1dHRvbj5cclxuICAgICAgPC9kaXY+XHJcbiAgICA8L2Zvcm0+XHJcbiAgPC9kaXY+XHJcbjwvbmctdGVtcGxhdGU+Il19
@@ -166,4 +166,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.6", ngImpor
166
166
  type: Component,
167
167
  args: [{ selector: 'lib-edit-document', template: "\r\n<div class=\"container-fluid\">\r\n <div class=\"card card-custom-h\" *ngIf=\"showPageContent\">\r\n <div class=\"card-body\">\r\n <BBSF-Form [options]=\"editFormOptions\">\r\n <div class=\" row\">\r\n <div class=\"col-md-12\">\r\n <BBSF-MultiLingualTextBox [options]=\"multiLingualName\"\r\n [group]=\"editForm\"></BBSF-MultiLingualTextBox>\r\n\r\n </div>\r\n </div>\r\n\r\n <div class=\" row\">\r\n <div class=\"col-md-12\">\r\n <BBSF-MultiLingualHtmlEditor [options]=\"multiLingualHeader\"\r\n [group]=\"editForm\"></BBSF-MultiLingualHtmlEditor>\r\n </div>\r\n </div>\r\n\r\n <div class=\" row\">\r\n <div class=\"col-md-12 table-dark-skin\">\r\n <BBSF-MultiLingualHtmlEditor [options]=\"multiLingualFooter\"\r\n [group]=\"editForm\"></BBSF-MultiLingualHtmlEditor>\r\n </div>\r\n </div>\r\n\r\n <div class=\" row\">\r\n <div class=\"col-md-12 table-dark-skin\">\r\n <BBSF-MultiLingualHtmlEditor [options]=\"multiLingualHeadContent\"\r\n [group]=\"editForm\"></BBSF-MultiLingualHtmlEditor>\r\n </div>\r\n </div>\r\n <div class=\"row\">\r\n <div class=\"col-md-6\">\r\n <h2> {{utilityService.getResourceValue(\"Options\")}}</h2>\r\n </div>\r\n </div>\r\n <div class=\"row\">\r\n <div class=\"col-md-6\">\r\n <BBSF-TextBox [options]=\"EditTop\" [group]=\"editForm\">\r\n </BBSF-TextBox>\r\n </div>\r\n <div class=\"col-md-6\">\r\n <BBSF-TextBox [options]=\"EditBottom\" [group]=\"editForm\">\r\n </BBSF-TextBox>\r\n </div>\r\n </div>\r\n <div class=\"row\">\r\n <div class=\"col-md-6\">\r\n <BBSF-TextBox [options]=\"EditLeft\" [group]=\"editForm\">\r\n </BBSF-TextBox>\r\n </div>\r\n <div class=\"col-md-6\">\r\n <BBSF-TextBox [options]=\"EditRight\" [group]=\"editForm\">\r\n </BBSF-TextBox>\r\n </div>\r\n </div>\r\n <div class=\"row\">\r\n <div class=\"col-md-6\">\r\n <BBSF-TextBox [options]=\"EditPageHeight\" [group]=\"editForm\">\r\n </BBSF-TextBox>\r\n </div>\r\n <div class=\"col-md-6\">\r\n <BBSF-TextBox [options]=\"EditPageWidth\" [group]=\"editForm\">\r\n </BBSF-TextBox>\r\n </div>\r\n </div>\r\n <div class=\"row\">\r\n <div class=\"col-md-6\">\r\n <BBSF-CheckBox [options]=\"EditIsLandscape\" [group]=\"editForm\">\r\n </BBSF-CheckBox>\r\n </div>\r\n <div class=\"col-md-6\">\r\n <BBSF-CheckBox [options]=\"EditShowPaging\" [group]=\"editForm\">\r\n </BBSF-CheckBox>\r\n </div>\r\n </div>\r\n\r\n\r\n <div class=\"text-center pt-7\">\r\n <button type=\"button\" class=\"btn btn-light-primary btn-sm me-3\"\r\n (click)=\"cancelEdit()\">{{utilityService.getResourceValue(\"CancelLabel\")}}</button>\r\n <button type=\"submit\" class=\"btn btn-primary btn-sm \">{{utilityService.getResourceValue(\"SaveLabel\")}}</button>\r\n </div>\r\n </BBSF-Form>\r\n </div>\r\n </div>\r\n\r\n</div>\r\n" }]
168
168
  }], ctorParameters: () => [{ type: i1.UtilityService }, { type: i1.BBSFTranslateService }, { type: i2.DocumentHeaderAndFooterTemplateService }, { type: i3.ActivatedRoute }, { type: i3.Router }, { type: i1.RequestHandlerService }] });
169
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZWRpdC1kb2N1bWVudC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9iYnNmLWFkbWluLXBvcnRhbC9zcmMvbGliL1BhZ2VzL2RvY3VtZW50cy9lZGl0LWRvY3VtZW50L2VkaXQtZG9jdW1lbnQuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYmJzZi1hZG1pbi1wb3J0YWwvc3JjL2xpYi9QYWdlcy9kb2N1bWVudHMvZWRpdC1kb2N1bWVudC9lZGl0LWRvY3VtZW50LmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQVUsTUFBTSxlQUFlLENBQUM7QUFDbEQsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBRTNDLE9BQU8sRUFBRSxlQUFlLEVBQUUsZ0JBQWdCLEVBQUUsV0FBVyxFQUFFLFNBQVMsRUFBRSw2QkFBNkIsRUFBRSwwQkFBMEIsRUFBRSxjQUFjLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQztBQUMvSyxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sb0RBQW9ELENBQUM7QUFLckYsT0FBTyxFQUFFLCtCQUErQixFQUFFLE1BQU0scUVBQXFFLENBQUM7Ozs7Ozs7QUFNdEgsTUFBTSxPQUFPLHFCQUFxQjtJQW9CaEMsWUFBbUIsY0FBOEIsRUFBVSxvQkFBMEMsRUFDM0Ysc0NBQThFLEVBQVUsY0FBOEIsRUFDdEgsTUFBYyxFQUFVLHFCQUE0QztRQUYzRCxtQkFBYyxHQUFkLGNBQWMsQ0FBZ0I7UUFBVSx5QkFBb0IsR0FBcEIsb0JBQW9CLENBQXNCO1FBQzNGLDJDQUFzQyxHQUF0QyxzQ0FBc0MsQ0FBd0M7UUFBVSxtQkFBYyxHQUFkLGNBQWMsQ0FBZ0I7UUFDdEgsV0FBTSxHQUFOLE1BQU0sQ0FBUTtRQUFVLDBCQUFxQixHQUFyQixxQkFBcUIsQ0FBdUI7UUFyQjlF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LEVBQUUsQ0FBQztJQUM5QyxDQUFDOzhHQTNMVSxxQkFBcUI7a0dBQXJCLHFCQUFxQix5RENmbEMscTFHQTBGQTs7MkZEM0VhLHFCQUFxQjtrQkFKakMsU0FBUzsrQkFDRSxtQkFBbUIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIE9uSW5pdCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBGb3JtR3JvdXAgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XHJcbmltcG9ydCB7IEFjdGl2YXRlZFJvdXRlLCBSb3V0ZXIgfSBmcm9tICdAYW5ndWxhci9yb3V0ZXInO1xyXG5pbXBvcnQgeyBDaGVja0JveE9wdGlvbnMsIEVuZ2xpc2hBcmFiaWNEVE8sIEZvcm1PcHRpb25zLCBJbnB1dFR5cGUsIE11bHRpTGluZ3VhbEh0bWxFZGl0b3JPcHRpb25zLCBNdWx0aUxpbmd1YWxUZXh0Qm94T3B0aW9ucywgVGV4dEJveE9wdGlvbnMgfSBmcm9tICdAYm5zaWdodHMvYmJzZi1jb250cm9scyc7XHJcbmltcG9ydCB7IFBhZ2VJbmZvU2VydmljZSB9IGZyb20gJy4uLy4uLy4uL19tZXRyb25pYy9jb3JlL3NlcnZpY2VzL3BhZ2UtaW5mby5zZXJ2aWNlJztcclxuaW1wb3J0IHsgRW1haWxIZWFkZXJBbmRGb290ZXJUZW1wbGF0ZSB9IGZyb20gJy4uLy4uL3NoYXJlZC9tb2RlbHMvTm90aWZpY2F0aW9uc01vZGVscy9FbWFpbEhlYWRlckFuZEZvb3RlclRlbXBsYXRlJztcclxuaW1wb3J0IHsgVXRpbGl0eVNlcnZpY2UsIEJCU0ZUcmFuc2xhdGVTZXJ2aWNlLCBSZXF1ZXN0SGFuZGxlclNlcnZpY2UgfSBmcm9tICdAYm5zaWdodHMvYmJzZi11dGlsaXRpZXMnO1xyXG5pbXBvcnQgeyBPYnNlcnZhYmxlIH0gZnJvbSAncnhqcyc7XHJcbmltcG9ydCB7IERvY3VtZW50SGVhZGVyQW5kRm9vdGVyVGVtcGxhdGVTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vc2hhcmVkL1NlcnZpY2VzL0RvY3VtZW50SGVhZGVyQW5kRm9vdGVyVGVtcGxhdGUuc2VydmljZSc7XHJcbmltcG9ydCB7IERvY3VtZW50SGVhZGVyQW5kRm9vdGVyVGVtcGxhdGUgfSBmcm9tICcuLi8uLi9zaGFyZWQvbW9kZWxzL0RvY3VtZW50c01vZGVscy9Eb2N1bWVudEhlYWRlckFuZEZvb3RlclRlbXBsYXRlJztcclxuXHJcbkBDb21wb25lbnQoe1xyXG4gIHNlbGVjdG9yOiAnbGliLWVkaXQtZG9jdW1lbnQnLFxyXG4gIHRlbXBsYXRlVXJsOiAnLi9lZGl0LWRvY3VtZW50LmNvbXBvbmVudC5odG1sJ1xyXG59KVxyXG5leHBvcnQgY2xhc3MgRWRpdERvY3VtZW50Q29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0IHtcclxuICAvL1BhZ2UgcmVxdWlyZW1lbnRzXHJcbiAgc2hvd1BhZ2VDb250ZW50OiBib29sZWFuID0gZmFsc2U7XHJcblxyXG4gIC8vRWRpdCBNb2RlbCBDb250cm9sc1xyXG4gIGVkaXRGb3JtID0gbmV3IEZvcm1Hcm91cCh7fSk7XHJcbiAgZWRpdEZvcm1PcHRpb25zID0gbmV3IEZvcm1PcHRpb25zO1xyXG4gIHRlbXBsYXRlSWQ6IHN0cmluZ1xyXG4gIG11bHRpTGluZ3VhbE5hbWU6IE11bHRpTGluZ3VhbFRleHRCb3hPcHRpb25zXHJcbiAgbXVsdGlMaW5ndWFsSGVhZGVyOiBNdWx0aUxpbmd1YWxIdG1sRWRpdG9yT3B0aW9uc1xyXG4gIG11bHRpTGluZ3VhbEZvb3RlcjogTXVsdGlMaW5ndWFsSHRtbEVkaXRvck9wdGlvbnNcclxuICBtdWx0aUxpbmd1YWxIZWFkQ29udGVudDogTXVsdGlMaW5ndWFsSHRtbEVkaXRvck9wdGlvbnNcclxuICBFZGl0VG9wOiBUZXh0Qm94T3B0aW9ucztcclxuICBFZGl0Qm90dG9tOiBUZXh0Qm94T3B0aW9ucztcclxuICBFZGl0TGVmdDogVGV4dEJveE9wdGlvbnM7XHJcbiAgRWRpdFJpZ2h0OiBUZXh0Qm94T3B0aW9ucztcclxuICBFZGl0UGFnZUhlaWdodDogVGV4dEJveE9wdGlvbnM7XHJcbiAgRWRpdFBhZ2VXaWR0aDogVGV4dEJveE9wdGlvbnM7XHJcbiAgRWRpdElzTGFuZHNjYXBlOiBDaGVja0JveE9wdGlvbnM7XHJcbiAgRWRpdFNob3dQYWdpbmc6IENoZWNrQm94T3B0aW9ucztcclxuICBjb25zdHJ1Y3RvcihwdWJsaWMgdXRpbGl0eVNlcnZpY2U6IFV0aWxpdHlTZXJ2aWNlLCBwcml2YXRlIGJic2ZUcmFuc2xhdGVTZXJ2aWNlOiBCQlNGVHJhbnNsYXRlU2VydmljZSxcclxuICAgIHByaXZhdGUgZG9jdW1lbnRIZWFkZXJBbmRGb290ZXJUZW1wbGF0ZVNlcnZpY2U6IERvY3VtZW50SGVhZGVyQW5kRm9vdGVyVGVtcGxhdGVTZXJ2aWNlLCBwcml2YXRlIGFjdGl2YXRlZFJvdXRlOiBBY3RpdmF0ZWRSb3V0ZSxcclxuICAgIHByaXZhdGUgcm91dGVyOiBSb3V0ZXIsIHByaXZhdGUgcmVxdWVzdEhhbmRsZXJTZXJ2aWNlOiBSZXF1ZXN0SGFuZGxlclNlcnZpY2UpIHtcclxuICAgIHRoaXMuYWN0aXZhdGVkUm91dGUucGFyYW1zLnN1YnNjcmliZShwYXJhbXMgPT4ge1xyXG4gICAgICB0aGlzLnRlbXBsYXRlSWQgPSBwYXJhbXNbJ2lkJ107XHJcbiAgICB9KTtcclxuICB9XHJcblxyXG4gIGFzeW5jIG5nT25Jbml0KCk6IFByb21pc2U8dm9pZD4ge1xyXG4gICAgUGFnZUluZm9TZXJ2aWNlLlBhZ2VUaXRsZSA9IFwiXCJcclxuICAgIFBhZ2VJbmZvU2VydmljZS5QYWdlQnJlYWRjcnVtYnMgPSBbXHJcbiAgICBdO1xyXG5cclxuICAgIHRoaXMuYmJzZlRyYW5zbGF0ZVNlcnZpY2Uub25MYW5nQ2hhbmdlLnN1YnNjcmliZSgoZXZlbnQpID0+IHtcclxuICAgICAgdGhpcy5uZ09uSW5pdCgpO1xyXG4gICAgfSlcclxuICAgIHRoaXMuaW5pdGlhbGl6ZVBhZ2UoKTtcclxuICB9XHJcblxyXG5cclxuICAvL0luaXRpYWxpemUgZWRpdCBwYWdlXHJcbiAgaW5pdGlhbGl6ZVBhZ2UoKSB7XHJcbiAgICB0aGlzLmRvY3VtZW50SGVhZGVyQW5kRm9vdGVyVGVtcGxhdGVTZXJ2aWNlLmdldERvY3VtZW50SGVhZGVyQW5kRm9vdGVyVGVtcGxhdGVCeUlkKHRoaXMudGVtcGxhdGVJZCkuc3Vic2NyaWJlKChyZXN1bHQpID0+IHtcclxuICAgICAgdmFyIEVkaXRPYmplY3QgPSByZXN1bHQgYXMgYW55O1xyXG4gICAgICB0aGlzLmVkaXRGb3JtID0gbmV3IEZvcm1Hcm91cCh7fSk7XHJcbiAgICAgIHRoaXMuZWRpdEZvcm1PcHRpb25zID0gbmV3IEZvcm1PcHRpb25zKCk7XHJcbiAgICAgIHRoaXMuZWRpdEZvcm1PcHRpb25zLmZvcm1Hcm91cCA9IHRoaXMuZWRpdEZvcm1cclxuICAgICAgdGhpcy5lZGl0Rm9ybU9wdGlvbnMuZ2V0TW9kZWxGdW5jdGlvbiA9IHRoaXMuZ2V0RWRpdE1vZGVsO1xyXG4gICAgICB0aGlzLmVkaXRGb3JtT3B0aW9ucy5zZXJ2aWNlU3VibWl0RnVuY3Rpb24gPSB0aGlzLmdldEVkaXRGdW5jdGlvbjtcclxuICAgICAgdGhpcy5lZGl0Rm9ybU9wdGlvbnMub25TdWNjZXNzSGFuZGxlciA9IHRoaXMub25FZGl0U3VjY2VzcztcclxuXHJcbiAgICAgIHRoaXMudGVtcGxhdGVJZCA9IEVkaXRPYmplY3QuaURfR1VJRDtcclxuXHJcbiAgICAgIGxldCBOYW1lID0gbmV3IEVuZ2xpc2hBcmFiaWNEVE8oKTtcclxuICAgICAgTmFtZS5hcmFiaWMgPSBFZGl0T2JqZWN0Lm5hbWUuYXJhYmljO1xyXG4gICAgICBOYW1lLmVuZ2xpc2ggPSBFZGl0T2JqZWN0Lm5hbWUuZW5nbGlzaDtcclxuXHJcbiAgICAgIHRoaXMubXVsdGlMaW5ndWFsTmFtZSA9IG5ldyBNdWx0aUxpbmd1YWxUZXh0Qm94T3B0aW9ucygpO1xyXG4gICAgICB0aGlzLm11bHRpTGluZ3VhbE5hbWUubmFtZSA9IFwiTmFtZVwiO1xyXG4gICAgICB0aGlzLm11bHRpTGluZ3VhbE5hbWUuYXJhYmljTGFiZWxLZXkgPSBcIk5hbWVJbkFyYWJpY1wiO1xyXG4gICAgICB0aGlzLm11bHRpTGluZ3VhbE5hbWUuZW5nbGlzaExhYmVsS2V5ID0gXCJOYW1lSW5FbmdsaXNoXCI7XHJcbiAgICAgIHRoaXMubXVsdGlMaW5ndWFsTmFtZS5pc1JlcXVpcmVkID0gdHJ1ZTtcclxuICAgICAgdGhpcy5tdWx0aUxpbmd1YWxOYW1lLnZhbHVlID0gTmFtZTtcclxuICAgICAgdGhpcy5tdWx0aUxpbmd1YWxOYW1lLm1heExlbmd0aCA9IDEwMDtcclxuXHJcbiAgICAgIGxldCBIZWFkZXIgPSBuZXcgRW5nbGlzaEFyYWJpY0RUTygpO1xyXG4gICAgICBIZWFkZXIuYXJhYmljID0gRWRpdE9iamVjdC5oZWFkZXIuYXJhYmljO1xyXG4gICAgICBIZWFkZXIuZW5nbGlzaCA9IEVkaXRPYmplY3QuaGVhZGVyLmVuZ2xpc2g7XHJcblxyXG4gICAgICB0aGlzLm11bHRpTGluZ3VhbEhlYWRlciA9IG5ldyBNdWx0aUxpbmd1YWxIdG1sRWRpdG9yT3B0aW9ucygpO1xyXG4gICAgICB0aGlzLm11bHRpTGluZ3VhbEhlYWRlci5uYW1lID0gXCJIZWFkZXJcIjtcclxuICAgICAgdGhpcy5tdWx0aUxpbmd1YWxIZWFkZXIuYXJhYmljTGFiZWxLZXkgPSBcIkhlYWRlckluQXJhYmljXCI7XHJcbiAgICAgIHRoaXMubXVsdGlMaW5ndWFsSGVhZGVyLmVuZ2xpc2hMYWJlbEtleSA9IFwiSGVhZGVySW5FbmdsaXNoXCI7XHJcbiAgICAgIHRoaXMubXVsdGlMaW5ndWFsSGVhZGVyLmlzUmVxdWlyZWQgPSB0cnVlO1xyXG4gICAgICB0aGlzLm11bHRpTGluZ3VhbEhlYWRlci52YWx1ZSA9IEhlYWRlcjtcclxuXHJcbiAgICAgIGxldCBGb290ZXIgPSBuZXcgRW5nbGlzaEFyYWJpY0RUTygpO1xyXG4gICAgICBGb290ZXIuYXJhYmljID0gRWRpdE9iamVjdC5mb290ZXIuYXJhYmljO1xyXG4gICAgICBGb290ZXIuZW5nbGlzaCA9IEVkaXRPYmplY3QuZm9vdGVyLmVuZ2xpc2g7XHJcblxyXG4gICAgICB0aGlzLm11bHRpTGluZ3VhbEZvb3RlciA9IG5ldyBNdWx0aUxpbmd1YWxIdG1sRWRpdG9yT3B0aW9ucygpO1xyXG4gICAgICB0aGlzLm11bHRpTGluZ3VhbEZvb3Rlci5uYW1lID0gXCJGb290ZXJcIjtcclxuICAgICAgdGhpcy5tdWx0aUxpbmd1YWxGb290ZXIuYXJhYmljTGFiZWxLZXkgPSBcIkZvb3RlckluQXJhYmljXCI7XHJcbiAgICAgIHRoaXMubXVsdGlMaW5ndWFsRm9vdGVyLmVuZ2xpc2hMYWJlbEtleSA9IFwiRm9vdGVySW5FbmdsaXNoXCI7XHJcbiAgICAgIHRoaXMubXVsdGlMaW5ndWFsRm9vdGVyLmlzUmVxdWlyZWQgPSB0cnVlO1xyXG4gICAgICB0aGlzLm11bHRpTGluZ3VhbEZvb3Rlci52YWx1ZSA9IEZvb3RlcjtcclxuXHJcbiAgICAgIGxldCBIZWFkQ29udGVudCA9IG5ldyBFbmdsaXNoQXJhYmljRFRPKCk7XHJcbiAgICAgIEhlYWRDb250ZW50LmFyYWJpYyA9IEVkaXRPYmplY3QuaGVhZENvbnRlbnQuYXJhYmljO1xyXG4gICAgICBIZWFkQ29udGVudC5lbmdsaXNoID0gRWRpdE9iamVjdC5oZWFkQ29udGVudC5lbmdsaXNoO1xyXG4gICAgICB0aGlzLm11bHRpTGluZ3VhbEhlYWRDb250ZW50ID0gbmV3IE11bHRpTGluZ3VhbEh0bWxFZGl0b3JPcHRpb25zKCk7XHJcbiAgICAgIHRoaXMubXVsdGlMaW5ndWFsSGVhZENvbnRlbnQubmFtZSA9IFwiSFRNTEhlYWRDb250ZW50XCI7XHJcbiAgICAgIHRoaXMubXVsdGlMaW5ndWFsSGVhZENvbnRlbnQuYXJhYmljTGFiZWxLZXkgPSBcIkhUTUxIZWFkQ29udGVudEluQXJhYmljXCI7XHJcbiAgICAgIHRoaXMubXVsdGlMaW5ndWFsSGVhZENvbnRlbnQuZW5nbGlzaExhYmVsS2V5ID0gXCJIVE1MSGVhZENvbnRlbnRJbkVuZ2xpc2hcIjtcclxuICAgICAgdGhpcy5tdWx0aUxpbmd1YWxIZWFkQ29udGVudC52YWx1ZSA9IEhlYWRDb250ZW50O1xyXG5cclxuXHJcbiAgICAgIHRoaXMuRWRpdFRvcCA9IG5ldyBUZXh0Qm94T3B0aW9ucygpO1xyXG4gICAgICB0aGlzLkVkaXRUb3AubmFtZSA9ICdUb3AnO1xyXG4gICAgICB0aGlzLkVkaXRUb3AubGFiZWxLZXkgPSAnVG9wJztcclxuICAgICAgdGhpcy5FZGl0VG9wLnR5cGUgPSBJbnB1dFR5cGUuTnVtYmVyO1xyXG4gICAgICB0aGlzLkVkaXRUb3AudmFsdWUgPSBFZGl0T2JqZWN0LnRvcDtcclxuXHJcbiAgICAgIHRoaXMuRWRpdEJvdHRvbSA9IG5ldyBUZXh0Qm94T3B0aW9ucygpO1xyXG4gICAgICB0aGlzLkVkaXRCb3R0b20ubmFtZSA9ICdCb3R0b20nO1xyXG4gICAgICB0aGlzLkVkaXRCb3R0b20ubGFiZWxLZXkgPSAnQm90dG9tJztcclxuICAgICAgdGhpcy5FZGl0Qm90dG9tLnR5cGUgPSBJbnB1dFR5cGUuTnVtYmVyO1xyXG4gICAgICB0aGlzLkVkaXRCb3R0b20udmFsdWUgPSBFZGl0T2JqZWN0LmJvdHRvbTtcclxuXHJcbiAgICAgIHRoaXMuRWRpdExlZnQgPSBuZXcgVGV4dEJveE9wdGlvbnMoKTtcclxuICAgICAgdGhpcy5FZGl0TGVmdC5uYW1lID0gJ0xlZnQnO1xyXG4gICAgICB0aGlzLkVkaXRMZWZ0LmxhYmVsS2V5ID0gJ0xlZnQnO1xyXG4gICAgICB0aGlzLkVkaXRMZWZ0LnR5cGUgPSBJbnB1dFR5cGUuTnVtYmVyO1xyXG4gICAgICB0aGlzLkVkaXRMZWZ0LnZhbHVlID0gRWRpdE9iamVjdC5sZWZ0O1xyXG5cclxuICAgICAgdGhpcy5FZGl0UmlnaHQgPSBuZXcgVGV4dEJveE9wdGlvbnMoKTtcclxuICAgICAgdGhpcy5FZGl0UmlnaHQubmFtZSA9ICdSaWdodCc7XHJcbiAgICAgIHRoaXMuRWRpdFJpZ2h0LmxhYmVsS2V5ID0gJ1JpZ2h0JztcclxuICAgICAgdGhpcy5FZGl0UmlnaHQudHlwZSA9IElucHV0VHlwZS5OdW1iZXI7XHJcbiAgICAgIHRoaXMuRWRpdFJpZ2h0LnZhbHVlID0gRWRpdE9iamVjdC5yaWdodDtcclxuXHJcblxyXG4gICAgICB0aGlzLkVkaXRQYWdlSGVpZ2h0ID0gbmV3IFRleHRCb3hPcHRpb25zKCk7XHJcbiAgICAgIHRoaXMuRWRpdFBhZ2VIZWlnaHQubmFtZSA9ICdQYWdlSGVpZ2h0JztcclxuICAgICAgdGhpcy5FZGl0UGFnZUhlaWdodC5sYWJlbEtleSA9ICdQYWdlSGVpZ2h0JztcclxuICAgICAgdGhpcy5FZGl0UGFnZUhlaWdodC50eXBlID0gSW5wdXRUeXBlLk51bWJlcjtcclxuICAgICAgdGhpcy5FZGl0UGFnZUhlaWdodC52YWx1ZSA9IEVkaXRPYmplY3QucGFnZUhlaWdodDtcclxuXHJcbiAgICAgIHRoaXMuRWRpdFBhZ2VXaWR0aCA9IG5ldyBUZXh0Qm94T3B0aW9ucygpO1xyXG4gICAgICB0aGlzLkVkaXRQYWdlV2lkdGgubmFtZSA9ICdQYWdlV2lkdGgnO1xyXG4gICAgICB0aGlzLkVkaXRQYWdlV2lkdGgubGFiZWxLZXkgPSAnUGFnZVdpZHRoJztcclxuICAgICAgdGhpcy5FZGl0UGFnZVdpZHRoLnR5cGUgPSBJbnB1dFR5cGUuTnVtYmVyO1xyXG4gICAgICB0aGlzLkVkaXRQYWdlV2lkdGgudmFsdWUgPSBFZGl0T2JqZWN0LnBhZ2VXaWR0aDtcclxuXHJcbiAgICAgIHRoaXMuRWRpdElzTGFuZHNjYXBlID0gbmV3IENoZWNrQm94T3B0aW9ucygpO1xyXG4gICAgICB0aGlzLkVkaXRJc0xhbmRzY2FwZS5uYW1lID0gJ0lzTGFuZHNjYXBlJztcclxuICAgICAgdGhpcy5FZGl0SXNMYW5kc2NhcGUubGFiZWxLZXkgPSAnTGFuZHNjYXBlJztcclxuICAgICAgdGhpcy5FZGl0SXNMYW5kc2NhcGUudmFsdWUgPSBFZGl0T2JqZWN0LmlzTGFuZHNjYXBlO1xyXG5cclxuICAgICAgdGhpcy5FZGl0U2hvd1BhZ2luZyA9IG5ldyBDaGVja0JveE9wdGlvbnMoKTtcclxuICAgICAgdGhpcy5FZGl0U2hvd1BhZ2luZy5uYW1lID0gJ1Nob3dQYWdpbmcnO1xyXG4gICAgICB0aGlzLkVkaXRTaG93UGFnaW5nLmxhYmVsS2V5ID0gJ1Nob3dQYWdpbmcnO1xyXG4gICAgICB0aGlzLkVkaXRTaG93UGFnaW5nLnZhbHVlID0gRWRpdE9iamVjdC5zaG93UGFnaW5nO1xyXG5cclxuICAgICAgdGhpcy5zaG93UGFnZUNvbnRlbnQgPSB0cnVlO1xyXG4gICAgfSk7XHJcbiAgfVxyXG4gIGdldEVkaXRNb2RlbCA9ICgpID0+IHtcclxuICAgIGxldCBwYXJhbUFycmF5OiBhbnlbXSA9IFtdO1xyXG4gICAgbGV0IFJlc3VsdE1vZGVsID0gdGhpcy5lZGl0Rm9ybS52YWx1ZSBhcyBhbnk7XHJcbiAgICBsZXQgRWRpdE1vZGVsID0gbmV3IERvY3VtZW50SGVhZGVyQW5kRm9vdGVyVGVtcGxhdGUoKTtcclxuICAgIEVkaXRNb2RlbC5JRF9HVUlEID0gdGhpcy50ZW1wbGF0ZUlkO1xyXG4gICAgRWRpdE1vZGVsLk5hbWUuZW5nbGlzaCA9IFJlc3VsdE1vZGVsLk5hbWUuRW5nbGlzaFxyXG4gICAgRWRpdE1vZGVsLk5hbWUuYXJhYmljID0gUmVzdWx0TW9kZWwuTmFtZS5BcmFiaWNcclxuICAgIEVkaXRNb2RlbC5IZWFkZXIuZW5nbGlzaCA9IFJlc3VsdE1vZGVsLkhlYWRlci5FbmdsaXNoXHJcbiAgICBFZGl0TW9kZWwuSGVhZGVyLmFyYWJpYyA9IFJlc3VsdE1vZGVsLkhlYWRlci5BcmFiaWNcclxuICAgIEVkaXRNb2RlbC5Gb290ZXIuZW5nbGlzaCA9IFJlc3VsdE1vZGVsLkZvb3Rlci5FbmdsaXNoXHJcbiAgICBFZGl0TW9kZWwuRm9vdGVyLmFyYWJpYyA9IFJlc3VsdE1vZGVsLkZvb3Rlci5BcmFiaWNcclxuICAgIEVkaXRNb2RlbC5IZWFkQ29udGVudC5lbmdsaXNoID0gUmVzdWx0TW9kZWwuSFRNTEhlYWRDb250ZW50LkVuZ2xpc2hcclxuICAgIEVkaXRNb2RlbC5IZWFkQ29udGVudC5hcmFiaWMgPSBSZXN1bHRNb2RlbC5IVE1MSGVhZENvbnRlbnQuQXJhYmljXHJcbiAgICBFZGl0TW9kZWwuVE9QID0gUmVzdWx0TW9kZWwuVG9wO1xyXG4gICAgRWRpdE1vZGVsLkJvdHRvbSA9IFJlc3VsdE1vZGVsLkJvdHRvbTtcclxuICAgIEVkaXRNb2RlbC5MZWZ0ID0gUmVzdWx0TW9kZWwuTGVmdDtcclxuICAgIEVkaXRNb2RlbC5SaWdodCA9IFJlc3VsdE1vZGVsLlJpZ2h0O1xyXG4gICAgRWRpdE1vZGVsLlBhZ2VIZWlnaHQgPSBSZXN1bHRNb2RlbC5QYWdlSGVpZ2h0O1xyXG4gICAgRWRpdE1vZGVsLlBhZ2VXaWR0aCA9IFJlc3VsdE1vZGVsLlBhZ2VXaWR0aDtcclxuICAgIEVkaXRNb2RlbC5Jc0xhbmRzY2FwZSA9IFJlc3VsdE1vZGVsLklzTGFuZHNjYXBlO1xyXG4gICAgRWRpdE1vZGVsLlNob3dQYWdpbmcgPSBSZXN1bHRNb2RlbC5TaG93UGFnaW5nO1xyXG4gICAgcGFyYW1BcnJheS5wdXNoKEVkaXRNb2RlbCk7XHJcbiAgICByZXR1cm4gcGFyYW1BcnJheTtcclxuICB9XHJcblxyXG4gIGdldEVkaXRGdW5jdGlvbiA9IChBZGRNb2RlbCk6IE9ic2VydmFibGU8YW55PiA9PiB7XHJcbiAgICByZXR1cm4gdGhpcy5kb2N1bWVudEhlYWRlckFuZEZvb3RlclRlbXBsYXRlU2VydmljZS5lZGl0RG9jdW1lbnRIZWFkZXJBbmRGb290ZXJUZW1wbGF0ZShBZGRNb2RlbClcclxuICB9XHJcblxyXG4gIG9uRWRpdFN1Y2Nlc3MgPSAocmVzdWx0KSA9PiB7XHJcbiAgICB0aGlzLmNhbmNlbEVkaXQoKTtcclxuICB9XHJcblxyXG4gIGNhbmNlbEVkaXQoKSB7XHJcbiAgICB0aGlzLnJvdXRlci5uYXZpZ2F0ZShbJy9BZG1pbi9Eb2N1bWVudHMvTWFzdGVyTGF5b3V0cyddKTtcclxuICB9XHJcblxyXG4gIC8vT24gZGVzdHJveVxyXG4gIG5nT25EZXN0cm95KCk6IHZvaWQge1xyXG4gICAgdGhpcy5yZXF1ZXN0SGFuZGxlclNlcnZpY2UuZGVzdHJveUhhbmRsZXIoKTtcclxuICB9XHJcbn1cclxuIiwiXHJcbjxkaXYgY2xhc3M9XCJjb250YWluZXItZmx1aWRcIj5cclxuICA8ZGl2IGNsYXNzPVwiY2FyZCBjYXJkLWN1c3RvbS1oXCIgKm5nSWY9XCJzaG93UGFnZUNvbnRlbnRcIj5cclxuICAgIDxkaXYgY2xhc3M9XCJjYXJkLWJvZHlcIj5cclxuICAgICAgPEJCU0YtRm9ybSBbb3B0aW9uc109XCJlZGl0Rm9ybU9wdGlvbnNcIj5cclxuICAgICAgICA8ZGl2IGNsYXNzPVwiIHJvd1wiPlxyXG4gICAgICAgICAgPGRpdiBjbGFzcz1cImNvbC1tZC0xMlwiPlxyXG4gICAgICAgICAgICA8QkJTRi1NdWx0aUxpbmd1YWxUZXh0Qm94IFtvcHRpb25zXT1cIm11bHRpTGluZ3VhbE5hbWVcIlxyXG4gICAgICAgICAgICAgIFtncm91cF09XCJlZGl0Rm9ybVwiPjwvQkJTRi1NdWx0aUxpbmd1YWxUZXh0Qm94PlxyXG5cclxuICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgIDwvZGl2PlxyXG5cclxuICAgICAgICA8ZGl2IGNsYXNzPVwiIHJvd1wiPlxyXG4gICAgICAgICAgPGRpdiBjbGFzcz1cImNvbC1tZC0xMlwiPlxyXG4gICAgICAgICAgICA8QkJTRi1NdWx0aUxpbmd1YWxIdG1sRWRpdG9yIFtvcHRpb25zXT1cIm11bHRpTGluZ3VhbEhlYWRlclwiXHJcbiAgICAgICAgICAgICAgW2dyb3VwXT1cImVkaXRGb3JtXCI+PC9CQlNGLU11bHRpTGluZ3VhbEh0bWxFZGl0b3I+XHJcbiAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICA8L2Rpdj5cclxuXHJcbiAgICAgICAgPGRpdiBjbGFzcz1cIiByb3dcIj5cclxuICAgICAgICAgIDxkaXYgY2xhc3M9XCJjb2wtbWQtMTIgdGFibGUtZGFyay1za2luXCI+XHJcbiAgICAgICAgICAgIDxCQlNGLU11bHRpTGluZ3VhbEh0bWxFZGl0b3IgW29wdGlvbnNdPVwibXVsdGlMaW5ndWFsRm9vdGVyXCJcclxuICAgICAgICAgICAgICBbZ3JvdXBdPVwiZWRpdEZvcm1cIj48L0JCU0YtTXVsdGlMaW5ndWFsSHRtbEVkaXRvcj5cclxuICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgIDwvZGl2PlxyXG5cclxuICAgICAgICA8ZGl2IGNsYXNzPVwiIHJvd1wiPlxyXG4gICAgICAgICAgPGRpdiBjbGFzcz1cImNvbC1tZC0xMiB0YWJsZS1kYXJrLXNraW5cIj5cclxuICAgICAgICAgICAgPEJCU0YtTXVsdGlMaW5ndWFsSHRtbEVkaXRvciBbb3B0aW9uc109XCJtdWx0aUxpbmd1YWxIZWFkQ29udGVudFwiXHJcbiAgICAgICAgICAgICAgW2dyb3VwXT1cImVkaXRGb3JtXCI+PC9CQlNGLU11bHRpTGluZ3VhbEh0bWxFZGl0b3I+XHJcbiAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICA8L2Rpdj5cclxuICAgICAgICA8ZGl2IGNsYXNzPVwicm93XCI+XHJcbiAgICAgICAgICA8ZGl2IGNsYXNzPVwiY29sLW1kLTZcIj5cclxuICAgICAgICAgICAgPGgyPiB7e3V0aWxpdHlTZXJ2aWNlLmdldFJlc291cmNlVmFsdWUoXCJPcHRpb25zXCIpfX08L2gyPlxyXG4gICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgPGRpdiBjbGFzcz1cInJvd1wiPlxyXG4gICAgICAgICAgPGRpdiBjbGFzcz1cImNvbC1tZC02XCI+XHJcbiAgICAgICAgICAgIDxCQlNGLVRleHRCb3ggW29wdGlvbnNdPVwiRWRpdFRvcFwiIFtncm91cF09XCJlZGl0Rm9ybVwiPlxyXG4gICAgICAgICAgICA8L0JCU0YtVGV4dEJveD5cclxuICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgPGRpdiBjbGFzcz1cImNvbC1tZC02XCI+XHJcbiAgICAgICAgICAgIDxCQlNGLVRleHRCb3ggW29wdGlvbnNdPVwiRWRpdEJvdHRvbVwiIFtncm91cF09XCJlZGl0Rm9ybVwiPlxyXG4gICAgICAgICAgICA8L0JCU0YtVGV4dEJveD5cclxuICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgIDwvZGl2PlxyXG4gICAgICAgIDxkaXYgY2xhc3M9XCJyb3dcIj5cclxuICAgICAgICAgIDxkaXYgY2xhc3M9XCJjb2wtbWQtNlwiPlxyXG4gICAgICAgICAgICA8QkJTRi1UZXh0Qm94IFtvcHRpb25zXT1cIkVkaXRMZWZ0XCIgW2dyb3VwXT1cImVkaXRGb3JtXCI+XHJcbiAgICAgICAgICAgIDwvQkJTRi1UZXh0Qm94PlxyXG4gICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICA8ZGl2IGNsYXNzPVwiY29sLW1kLTZcIj5cclxuICAgICAgICAgICAgPEJCU0YtVGV4dEJveCBbb3B0aW9uc109XCJFZGl0UmlnaHRcIiBbZ3JvdXBdPVwiZWRpdEZvcm1cIj5cclxuICAgICAgICAgICAgPC9CQlNGLVRleHRCb3g+XHJcbiAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICA8L2Rpdj5cclxuICAgICAgICA8ZGl2IGNsYXNzPVwicm93XCI+XHJcbiAgICAgICAgICA8ZGl2IGNsYXNzPVwiY29sLW1kLTZcIj5cclxuICAgICAgICAgICAgPEJCU0YtVGV4dEJveCBbb3B0aW9uc109XCJFZGl0UGFnZUhlaWdodFwiIFtncm91cF09XCJlZGl0Rm9ybVwiPlxyXG4gICAgICAgICAgICA8L0JCU0YtVGV4dEJveD5cclxuICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgPGRpdiBjbGFzcz1cImNvbC1tZC02XCI+XHJcbiAgICAgICAgICAgIDxCQlNGLVRleHRCb3ggW29wdGlvbnNdPVwiRWRpdFBhZ2VXaWR0aFwiIFtncm91cF09XCJlZGl0Rm9ybVwiPlxyXG4gICAgICAgICAgICA8L0JCU0YtVGV4dEJveD5cclxuICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgIDwvZGl2PlxyXG4gICAgICAgIDxkaXYgY2xhc3M9XCJyb3dcIj5cclxuICAgICAgICAgIDxkaXYgY2xhc3M9XCJjb2wtbWQtNlwiPlxyXG4gICAgICAgICAgICA8QkJTRi1DaGVja0JveCBbb3B0aW9uc109XCJFZGl0SXNMYW5kc2NhcGVcIiBbZ3JvdXBdPVwiZWRpdEZvcm1cIj5cclxuICAgICAgICAgICAgPC9CQlNGLUNoZWNrQm94PlxyXG4gICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICA8ZGl2IGNsYXNzPVwiY29sLW1kLTZcIj5cclxuICAgICAgICAgICAgPEJCU0YtQ2hlY2tCb3ggW29wdGlvbnNdPVwiRWRpdFNob3dQYWdpbmdcIiBbZ3JvdXBdPVwiZWRpdEZvcm1cIj5cclxuICAgICAgICAgICAgPC9CQlNGLUNoZWNrQm94PlxyXG4gICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgPC9kaXY+XHJcblxyXG5cclxuICAgICAgICA8ZGl2IGNsYXNzPVwidGV4dC1jZW50ZXIgcHQtN1wiPlxyXG4gICAgICAgICAgPGJ1dHRvbiB0eXBlPVwiYnV0dG9uXCIgY2xhc3M9XCJidG4gYnRuLWxpZ2h0LXByaW1hcnkgYnRuLXNtIG1lLTNcIlxyXG4gICAgICAgICAgICAoY2xpY2spPVwiY2FuY2VsRWRpdCgpXCI+e3t1dGlsaXR5U2VydmljZS5nZXRSZXNvdXJjZVZhbHVlKFwiQ2FuY2VsTGFiZWxcIil9fTwvYnV0dG9uPlxyXG4gICAgICAgICAgPGJ1dHRvbiB0eXBlPVwic3VibWl0XCIgY2xhc3M9XCJidG4gYnRuLXByaW1hcnkgYnRuLXNtIFwiPnt7dXRpbGl0eVNlcnZpY2UuZ2V0UmVzb3VyY2VWYWx1ZShcIlNhdmVMYWJlbFwiKX19PC9idXR0b24+XHJcbiAgICAgICAgPC9kaXY+XHJcbiAgICAgIDwvQkJTRi1Gb3JtPlxyXG4gICAgPC9kaXY+XHJcbiAgPC9kaXY+XHJcblxyXG48L2Rpdj5cclxuIl19
169
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZWRpdC1kb2N1bWVudC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9iYnNmLWFkbWluLXBvcnRhbC9zcmMvbGliL1BhZ2VzL2RvY3VtZW50cy9lZGl0LWRvY3VtZW50L2VkaXQtZG9jdW1lbnQuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYmJzZi1hZG1pbi1wb3J0YWwvc3JjL2xpYi9QYWdlcy9kb2N1bWVudHMvZWRpdC1kb2N1bWVudC9lZGl0LWRvY3VtZW50LmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQVUsTUFBTSxlQUFlLENBQUM7QUFDbEQsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBRTNDLE9BQU8sRUFBRSxlQUFlLEVBQUUsZ0JBQWdCLEVBQUUsV0FBVyxFQUFFLFNBQVMsRUFBRSw2QkFBNkIsRUFBRSwwQkFBMEIsRUFBRSxjQUFjLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQztBQUMvSyxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sb0RBQW9ELENBQUM7QUFLckYsT0FBTyxFQUFFLCtCQUErQixFQUFFLE1BQU0scUVBQXFFLENBQUM7Ozs7Ozs7QUFNdEgsTUFBTSxPQUFPLHFCQUFxQjtJQW9CaEMsWUFBbUIsY0FBOEIsRUFBVSxvQkFBMEMsRUFDM0Ysc0NBQThFLEVBQVUsY0FBOEIsRUFDdEgsTUFBYyxFQUFVLHFCQUE0QztRQUYzRCxtQkFBYyxHQUFkLGNBQWMsQ0FBZ0I7UUFBVSx5QkFBb0IsR0FBcEIsb0JBQW9CLENBQXNCO1FBQzNGLDJDQUFzQyxHQUF0QyxzQ0FBc0MsQ0FBd0M7UUFBVSxtQkFBYyxHQUFkLGNBQWMsQ0FBZ0I7UUFDdEgsV0FBTSxHQUFOLE1BQU0sQ0FBUTtRQUFVLDBCQUFxQixHQUFyQixxQkFBcUIsQ0FBdUI7UUFyQjlF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LEVBQUUsQ0FBQztJQUM5QyxDQUFDOzhHQTNMVSxxQkFBcUI7a0dBQXJCLHFCQUFxQix5RENmbEMscTFHQTBGQTs7MkZEM0VhLHFCQUFxQjtrQkFKakMsU0FBUzsrQkFDRSxtQkFBbUIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIE9uSW5pdCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBGb3JtR3JvdXAgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XHJcbmltcG9ydCB7IEFjdGl2YXRlZFJvdXRlLCBSb3V0ZXIgfSBmcm9tICdAYW5ndWxhci9yb3V0ZXInO1xyXG5pbXBvcnQgeyBDaGVja0JveE9wdGlvbnMsIEVuZ2xpc2hBcmFiaWNEVE8sIEZvcm1PcHRpb25zLCBJbnB1dFR5cGUsIE11bHRpTGluZ3VhbEh0bWxFZGl0b3JPcHRpb25zLCBNdWx0aUxpbmd1YWxUZXh0Qm94T3B0aW9ucywgVGV4dEJveE9wdGlvbnMgfSBmcm9tICdAYm5zaWdodHMvYmJzZi1jb250cm9scyc7XHJcbmltcG9ydCB7IFBhZ2VJbmZvU2VydmljZSB9IGZyb20gJy4uLy4uLy4uL19tZXRyb25pYy9jb3JlL3NlcnZpY2VzL3BhZ2UtaW5mby5zZXJ2aWNlJztcclxuaW1wb3J0IHsgRW1haWxIZWFkZXJBbmRGb290ZXJUZW1wbGF0ZSB9IGZyb20gJy4uLy4uL3NoYXJlZC9tb2RlbHMvTm90aWZpY2F0aW9uc01vZGVscy9FbWFpbEhlYWRlckFuZEZvb3RlclRlbXBsYXRlJztcclxuaW1wb3J0IHsgVXRpbGl0eVNlcnZpY2UsIEJCU0ZUcmFuc2xhdGVTZXJ2aWNlLCBSZXF1ZXN0SGFuZGxlclNlcnZpY2UgfSBmcm9tICdAYm5zaWdodHMvYmJzZi11dGlsaXRpZXMnO1xyXG5pbXBvcnQgeyBPYnNlcnZhYmxlIH0gZnJvbSAncnhqcyc7XHJcbmltcG9ydCB7IERvY3VtZW50SGVhZGVyQW5kRm9vdGVyVGVtcGxhdGVTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vc2hhcmVkL1NlcnZpY2VzL0RvY3VtZW50SGVhZGVyQW5kRm9vdGVyVGVtcGxhdGUuc2VydmljZSc7XHJcbmltcG9ydCB7IERvY3VtZW50SGVhZGVyQW5kRm9vdGVyVGVtcGxhdGUgfSBmcm9tICcuLi8uLi9zaGFyZWQvbW9kZWxzL0RvY3VtZW50c01vZGVscy9Eb2N1bWVudEhlYWRlckFuZEZvb3RlclRlbXBsYXRlJztcclxuXHJcbkBDb21wb25lbnQoe1xyXG4gIHNlbGVjdG9yOiAnbGliLWVkaXQtZG9jdW1lbnQnLFxyXG4gIHRlbXBsYXRlVXJsOiAnLi9lZGl0LWRvY3VtZW50LmNvbXBvbmVudC5odG1sJ1xyXG59KVxyXG5leHBvcnQgY2xhc3MgRWRpdERvY3VtZW50Q29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0IHtcclxuICAvL1BhZ2UgcmVxdWlyZW1lbnRzXHJcbiAgc2hvd1BhZ2VDb250ZW50OiBib29sZWFuID0gZmFsc2U7XHJcblxyXG4gIC8vRWRpdCBNb2RlbCBDb250cm9sc1xyXG4gIGVkaXRGb3JtID0gbmV3IEZvcm1Hcm91cCh7fSk7XHJcbiAgZWRpdEZvcm1PcHRpb25zID0gbmV3IEZvcm1PcHRpb25zO1xyXG4gIHRlbXBsYXRlSWQ6IHN0cmluZztcclxuICBtdWx0aUxpbmd1YWxOYW1lOiBNdWx0aUxpbmd1YWxUZXh0Qm94T3B0aW9ucztcclxuICBtdWx0aUxpbmd1YWxIZWFkZXI6IE11bHRpTGluZ3VhbEh0bWxFZGl0b3JPcHRpb25zO1xyXG4gIG11bHRpTGluZ3VhbEZvb3RlcjogTXVsdGlMaW5ndWFsSHRtbEVkaXRvck9wdGlvbnM7XHJcbiAgbXVsdGlMaW5ndWFsSGVhZENvbnRlbnQ6IE11bHRpTGluZ3VhbEh0bWxFZGl0b3JPcHRpb25zO1xyXG4gIEVkaXRUb3A6IFRleHRCb3hPcHRpb25zO1xyXG4gIEVkaXRCb3R0b206IFRleHRCb3hPcHRpb25zO1xyXG4gIEVkaXRMZWZ0OiBUZXh0Qm94T3B0aW9ucztcclxuICBFZGl0UmlnaHQ6IFRleHRCb3hPcHRpb25zO1xyXG4gIEVkaXRQYWdlSGVpZ2h0OiBUZXh0Qm94T3B0aW9ucztcclxuICBFZGl0UGFnZVdpZHRoOiBUZXh0Qm94T3B0aW9ucztcclxuICBFZGl0SXNMYW5kc2NhcGU6IENoZWNrQm94T3B0aW9ucztcclxuICBFZGl0U2hvd1BhZ2luZzogQ2hlY2tCb3hPcHRpb25zO1xyXG4gIGNvbnN0cnVjdG9yKHB1YmxpYyB1dGlsaXR5U2VydmljZTogVXRpbGl0eVNlcnZpY2UsIHByaXZhdGUgYmJzZlRyYW5zbGF0ZVNlcnZpY2U6IEJCU0ZUcmFuc2xhdGVTZXJ2aWNlLFxyXG4gICAgcHJpdmF0ZSBkb2N1bWVudEhlYWRlckFuZEZvb3RlclRlbXBsYXRlU2VydmljZTogRG9jdW1lbnRIZWFkZXJBbmRGb290ZXJUZW1wbGF0ZVNlcnZpY2UsIHByaXZhdGUgYWN0aXZhdGVkUm91dGU6IEFjdGl2YXRlZFJvdXRlLFxyXG4gICAgcHJpdmF0ZSByb3V0ZXI6IFJvdXRlciwgcHJpdmF0ZSByZXF1ZXN0SGFuZGxlclNlcnZpY2U6IFJlcXVlc3RIYW5kbGVyU2VydmljZSkge1xyXG4gICAgdGhpcy5hY3RpdmF0ZWRSb3V0ZS5wYXJhbXMuc3Vic2NyaWJlKHBhcmFtcyA9PiB7XHJcbiAgICAgIHRoaXMudGVtcGxhdGVJZCA9IHBhcmFtc1snaWQnXTtcclxuICAgIH0pO1xyXG4gIH1cclxuXHJcbiAgYXN5bmMgbmdPbkluaXQoKTogUHJvbWlzZTx2b2lkPiB7XHJcbiAgICBQYWdlSW5mb1NlcnZpY2UuUGFnZVRpdGxlID0gXCJcIjtcclxuICAgIFBhZ2VJbmZvU2VydmljZS5QYWdlQnJlYWRjcnVtYnMgPSBbXHJcbiAgICBdO1xyXG5cclxuICAgIHRoaXMuYmJzZlRyYW5zbGF0ZVNlcnZpY2Uub25MYW5nQ2hhbmdlLnN1YnNjcmliZSgoZXZlbnQpID0+IHtcclxuICAgICAgdGhpcy5uZ09uSW5pdCgpO1xyXG4gICAgfSk7XHJcbiAgICB0aGlzLmluaXRpYWxpemVQYWdlKCk7XHJcbiAgfVxyXG5cclxuXHJcbiAgLy9Jbml0aWFsaXplIGVkaXQgcGFnZVxyXG4gIGluaXRpYWxpemVQYWdlKCkge1xyXG4gICAgdGhpcy5kb2N1bWVudEhlYWRlckFuZEZvb3RlclRlbXBsYXRlU2VydmljZS5nZXREb2N1bWVudEhlYWRlckFuZEZvb3RlclRlbXBsYXRlQnlJZCh0aGlzLnRlbXBsYXRlSWQpLnN1YnNjcmliZSgocmVzdWx0KSA9PiB7XHJcbiAgICAgIHZhciBFZGl0T2JqZWN0ID0gcmVzdWx0IGFzIGFueTtcclxuICAgICAgdGhpcy5lZGl0Rm9ybSA9IG5ldyBGb3JtR3JvdXAoe30pO1xyXG4gICAgICB0aGlzLmVkaXRGb3JtT3B0aW9ucyA9IG5ldyBGb3JtT3B0aW9ucygpO1xyXG4gICAgICB0aGlzLmVkaXRGb3JtT3B0aW9ucy5mb3JtR3JvdXAgPSB0aGlzLmVkaXRGb3JtO1xyXG4gICAgICB0aGlzLmVkaXRGb3JtT3B0aW9ucy5nZXRNb2RlbEZ1bmN0aW9uID0gdGhpcy5nZXRFZGl0TW9kZWw7XHJcbiAgICAgIHRoaXMuZWRpdEZvcm1PcHRpb25zLnNlcnZpY2VTdWJtaXRGdW5jdGlvbiA9IHRoaXMuZ2V0RWRpdEZ1bmN0aW9uO1xyXG4gICAgICB0aGlzLmVkaXRGb3JtT3B0aW9ucy5vblN1Y2Nlc3NIYW5kbGVyID0gdGhpcy5vbkVkaXRTdWNjZXNzO1xyXG5cclxuICAgICAgdGhpcy50ZW1wbGF0ZUlkID0gRWRpdE9iamVjdC5pRF9HVUlEO1xyXG5cclxuICAgICAgbGV0IE5hbWUgPSBuZXcgRW5nbGlzaEFyYWJpY0RUTygpO1xyXG4gICAgICBOYW1lLmFyYWJpYyA9IEVkaXRPYmplY3QubmFtZS5hcmFiaWM7XHJcbiAgICAgIE5hbWUuZW5nbGlzaCA9IEVkaXRPYmplY3QubmFtZS5lbmdsaXNoO1xyXG5cclxuICAgICAgdGhpcy5tdWx0aUxpbmd1YWxOYW1lID0gbmV3IE11bHRpTGluZ3VhbFRleHRCb3hPcHRpb25zKCk7XHJcbiAgICAgIHRoaXMubXVsdGlMaW5ndWFsTmFtZS5uYW1lID0gXCJOYW1lXCI7XHJcbiAgICAgIHRoaXMubXVsdGlMaW5ndWFsTmFtZS5hcmFiaWNMYWJlbEtleSA9IFwiTmFtZUluQXJhYmljXCI7XHJcbiAgICAgIHRoaXMubXVsdGlMaW5ndWFsTmFtZS5lbmdsaXNoTGFiZWxLZXkgPSBcIk5hbWVJbkVuZ2xpc2hcIjtcclxuICAgICAgdGhpcy5tdWx0aUxpbmd1YWxOYW1lLmlzUmVxdWlyZWQgPSB0cnVlO1xyXG4gICAgICB0aGlzLm11bHRpTGluZ3VhbE5hbWUudmFsdWUgPSBOYW1lO1xyXG4gICAgICB0aGlzLm11bHRpTGluZ3VhbE5hbWUubWF4TGVuZ3RoID0gMTAwO1xyXG5cclxuICAgICAgbGV0IEhlYWRlciA9IG5ldyBFbmdsaXNoQXJhYmljRFRPKCk7XHJcbiAgICAgIEhlYWRlci5hcmFiaWMgPSBFZGl0T2JqZWN0LmhlYWRlci5hcmFiaWM7XHJcbiAgICAgIEhlYWRlci5lbmdsaXNoID0gRWRpdE9iamVjdC5oZWFkZXIuZW5nbGlzaDtcclxuXHJcbiAgICAgIHRoaXMubXVsdGlMaW5ndWFsSGVhZGVyID0gbmV3IE11bHRpTGluZ3VhbEh0bWxFZGl0b3JPcHRpb25zKCk7XHJcbiAgICAgIHRoaXMubXVsdGlMaW5ndWFsSGVhZGVyLm5hbWUgPSBcIkhlYWRlclwiO1xyXG4gICAgICB0aGlzLm11bHRpTGluZ3VhbEhlYWRlci5hcmFiaWNMYWJlbEtleSA9IFwiSGVhZGVySW5BcmFiaWNcIjtcclxuICAgICAgdGhpcy5tdWx0aUxpbmd1YWxIZWFkZXIuZW5nbGlzaExhYmVsS2V5ID0gXCJIZWFkZXJJbkVuZ2xpc2hcIjtcclxuICAgICAgdGhpcy5tdWx0aUxpbmd1YWxIZWFkZXIuaXNSZXF1aXJlZCA9IHRydWU7XHJcbiAgICAgIHRoaXMubXVsdGlMaW5ndWFsSGVhZGVyLnZhbHVlID0gSGVhZGVyO1xyXG5cclxuICAgICAgbGV0IEZvb3RlciA9IG5ldyBFbmdsaXNoQXJhYmljRFRPKCk7XHJcbiAgICAgIEZvb3Rlci5hcmFiaWMgPSBFZGl0T2JqZWN0LmZvb3Rlci5hcmFiaWM7XHJcbiAgICAgIEZvb3Rlci5lbmdsaXNoID0gRWRpdE9iamVjdC5mb290ZXIuZW5nbGlzaDtcclxuXHJcbiAgICAgIHRoaXMubXVsdGlMaW5ndWFsRm9vdGVyID0gbmV3IE11bHRpTGluZ3VhbEh0bWxFZGl0b3JPcHRpb25zKCk7XHJcbiAgICAgIHRoaXMubXVsdGlMaW5ndWFsRm9vdGVyLm5hbWUgPSBcIkZvb3RlclwiO1xyXG4gICAgICB0aGlzLm11bHRpTGluZ3VhbEZvb3Rlci5hcmFiaWNMYWJlbEtleSA9IFwiRm9vdGVySW5BcmFiaWNcIjtcclxuICAgICAgdGhpcy5tdWx0aUxpbmd1YWxGb290ZXIuZW5nbGlzaExhYmVsS2V5ID0gXCJGb290ZXJJbkVuZ2xpc2hcIjtcclxuICAgICAgdGhpcy5tdWx0aUxpbmd1YWxGb290ZXIuaXNSZXF1aXJlZCA9IHRydWU7XHJcbiAgICAgIHRoaXMubXVsdGlMaW5ndWFsRm9vdGVyLnZhbHVlID0gRm9vdGVyO1xyXG5cclxuICAgICAgbGV0IEhlYWRDb250ZW50ID0gbmV3IEVuZ2xpc2hBcmFiaWNEVE8oKTtcclxuICAgICAgSGVhZENvbnRlbnQuYXJhYmljID0gRWRpdE9iamVjdC5oZWFkQ29udGVudC5hcmFiaWM7XHJcbiAgICAgIEhlYWRDb250ZW50LmVuZ2xpc2ggPSBFZGl0T2JqZWN0LmhlYWRDb250ZW50LmVuZ2xpc2g7XHJcbiAgICAgIHRoaXMubXVsdGlMaW5ndWFsSGVhZENvbnRlbnQgPSBuZXcgTXVsdGlMaW5ndWFsSHRtbEVkaXRvck9wdGlvbnMoKTtcclxuICAgICAgdGhpcy5tdWx0aUxpbmd1YWxIZWFkQ29udGVudC5uYW1lID0gXCJIVE1MSGVhZENvbnRlbnRcIjtcclxuICAgICAgdGhpcy5tdWx0aUxpbmd1YWxIZWFkQ29udGVudC5hcmFiaWNMYWJlbEtleSA9IFwiSFRNTEhlYWRDb250ZW50SW5BcmFiaWNcIjtcclxuICAgICAgdGhpcy5tdWx0aUxpbmd1YWxIZWFkQ29udGVudC5lbmdsaXNoTGFiZWxLZXkgPSBcIkhUTUxIZWFkQ29udGVudEluRW5nbGlzaFwiO1xyXG4gICAgICB0aGlzLm11bHRpTGluZ3VhbEhlYWRDb250ZW50LnZhbHVlID0gSGVhZENvbnRlbnQ7XHJcblxyXG5cclxuICAgICAgdGhpcy5FZGl0VG9wID0gbmV3IFRleHRCb3hPcHRpb25zKCk7XHJcbiAgICAgIHRoaXMuRWRpdFRvcC5uYW1lID0gJ1RvcCc7XHJcbiAgICAgIHRoaXMuRWRpdFRvcC5sYWJlbEtleSA9ICdUb3AnO1xyXG4gICAgICB0aGlzLkVkaXRUb3AudHlwZSA9IElucHV0VHlwZS5OdW1iZXI7XHJcbiAgICAgIHRoaXMuRWRpdFRvcC52YWx1ZSA9IEVkaXRPYmplY3QudG9wO1xyXG5cclxuICAgICAgdGhpcy5FZGl0Qm90dG9tID0gbmV3IFRleHRCb3hPcHRpb25zKCk7XHJcbiAgICAgIHRoaXMuRWRpdEJvdHRvbS5uYW1lID0gJ0JvdHRvbSc7XHJcbiAgICAgIHRoaXMuRWRpdEJvdHRvbS5sYWJlbEtleSA9ICdCb3R0b20nO1xyXG4gICAgICB0aGlzLkVkaXRCb3R0b20udHlwZSA9IElucHV0VHlwZS5OdW1iZXI7XHJcbiAgICAgIHRoaXMuRWRpdEJvdHRvbS52YWx1ZSA9IEVkaXRPYmplY3QuYm90dG9tO1xyXG5cclxuICAgICAgdGhpcy5FZGl0TGVmdCA9IG5ldyBUZXh0Qm94T3B0aW9ucygpO1xyXG4gICAgICB0aGlzLkVkaXRMZWZ0Lm5hbWUgPSAnTGVmdCc7XHJcbiAgICAgIHRoaXMuRWRpdExlZnQubGFiZWxLZXkgPSAnTGVmdCc7XHJcbiAgICAgIHRoaXMuRWRpdExlZnQudHlwZSA9IElucHV0VHlwZS5OdW1iZXI7XHJcbiAgICAgIHRoaXMuRWRpdExlZnQudmFsdWUgPSBFZGl0T2JqZWN0LmxlZnQ7XHJcblxyXG4gICAgICB0aGlzLkVkaXRSaWdodCA9IG5ldyBUZXh0Qm94T3B0aW9ucygpO1xyXG4gICAgICB0aGlzLkVkaXRSaWdodC5uYW1lID0gJ1JpZ2h0JztcclxuICAgICAgdGhpcy5FZGl0UmlnaHQubGFiZWxLZXkgPSAnUmlnaHQnO1xyXG4gICAgICB0aGlzLkVkaXRSaWdodC50eXBlID0gSW5wdXRUeXBlLk51bWJlcjtcclxuICAgICAgdGhpcy5FZGl0UmlnaHQudmFsdWUgPSBFZGl0T2JqZWN0LnJpZ2h0O1xyXG5cclxuXHJcbiAgICAgIHRoaXMuRWRpdFBhZ2VIZWlnaHQgPSBuZXcgVGV4dEJveE9wdGlvbnMoKTtcclxuICAgICAgdGhpcy5FZGl0UGFnZUhlaWdodC5uYW1lID0gJ1BhZ2VIZWlnaHQnO1xyXG4gICAgICB0aGlzLkVkaXRQYWdlSGVpZ2h0LmxhYmVsS2V5ID0gJ1BhZ2VIZWlnaHQnO1xyXG4gICAgICB0aGlzLkVkaXRQYWdlSGVpZ2h0LnR5cGUgPSBJbnB1dFR5cGUuTnVtYmVyO1xyXG4gICAgICB0aGlzLkVkaXRQYWdlSGVpZ2h0LnZhbHVlID0gRWRpdE9iamVjdC5wYWdlSGVpZ2h0O1xyXG5cclxuICAgICAgdGhpcy5FZGl0UGFnZVdpZHRoID0gbmV3IFRleHRCb3hPcHRpb25zKCk7XHJcbiAgICAgIHRoaXMuRWRpdFBhZ2VXaWR0aC5uYW1lID0gJ1BhZ2VXaWR0aCc7XHJcbiAgICAgIHRoaXMuRWRpdFBhZ2VXaWR0aC5sYWJlbEtleSA9ICdQYWdlV2lkdGgnO1xyXG4gICAgICB0aGlzLkVkaXRQYWdlV2lkdGgudHlwZSA9IElucHV0VHlwZS5OdW1iZXI7XHJcbiAgICAgIHRoaXMuRWRpdFBhZ2VXaWR0aC52YWx1ZSA9IEVkaXRPYmplY3QucGFnZVdpZHRoO1xyXG5cclxuICAgICAgdGhpcy5FZGl0SXNMYW5kc2NhcGUgPSBuZXcgQ2hlY2tCb3hPcHRpb25zKCk7XHJcbiAgICAgIHRoaXMuRWRpdElzTGFuZHNjYXBlLm5hbWUgPSAnSXNMYW5kc2NhcGUnO1xyXG4gICAgICB0aGlzLkVkaXRJc0xhbmRzY2FwZS5sYWJlbEtleSA9ICdMYW5kc2NhcGUnO1xyXG4gICAgICB0aGlzLkVkaXRJc0xhbmRzY2FwZS52YWx1ZSA9IEVkaXRPYmplY3QuaXNMYW5kc2NhcGU7XHJcblxyXG4gICAgICB0aGlzLkVkaXRTaG93UGFnaW5nID0gbmV3IENoZWNrQm94T3B0aW9ucygpO1xyXG4gICAgICB0aGlzLkVkaXRTaG93UGFnaW5nLm5hbWUgPSAnU2hvd1BhZ2luZyc7XHJcbiAgICAgIHRoaXMuRWRpdFNob3dQYWdpbmcubGFiZWxLZXkgPSAnU2hvd1BhZ2luZyc7XHJcbiAgICAgIHRoaXMuRWRpdFNob3dQYWdpbmcudmFsdWUgPSBFZGl0T2JqZWN0LnNob3dQYWdpbmc7XHJcblxyXG4gICAgICB0aGlzLnNob3dQYWdlQ29udGVudCA9IHRydWU7XHJcbiAgICB9KTtcclxuICB9XHJcbiAgZ2V0RWRpdE1vZGVsID0gKCkgPT4ge1xyXG4gICAgbGV0IHBhcmFtQXJyYXk6IGFueVtdID0gW107XHJcbiAgICBsZXQgUmVzdWx0TW9kZWwgPSB0aGlzLmVkaXRGb3JtLnZhbHVlIGFzIGFueTtcclxuICAgIGxldCBFZGl0TW9kZWwgPSBuZXcgRG9jdW1lbnRIZWFkZXJBbmRGb290ZXJUZW1wbGF0ZSgpO1xyXG4gICAgRWRpdE1vZGVsLklEX0dVSUQgPSB0aGlzLnRlbXBsYXRlSWQ7XHJcbiAgICBFZGl0TW9kZWwuTmFtZS5lbmdsaXNoID0gUmVzdWx0TW9kZWwuTmFtZS5FbmdsaXNoO1xyXG4gICAgRWRpdE1vZGVsLk5hbWUuYXJhYmljID0gUmVzdWx0TW9kZWwuTmFtZS5BcmFiaWM7XHJcbiAgICBFZGl0TW9kZWwuSGVhZGVyLmVuZ2xpc2ggPSBSZXN1bHRNb2RlbC5IZWFkZXIuRW5nbGlzaDtcclxuICAgIEVkaXRNb2RlbC5IZWFkZXIuYXJhYmljID0gUmVzdWx0TW9kZWwuSGVhZGVyLkFyYWJpYztcclxuICAgIEVkaXRNb2RlbC5Gb290ZXIuZW5nbGlzaCA9IFJlc3VsdE1vZGVsLkZvb3Rlci5FbmdsaXNoO1xyXG4gICAgRWRpdE1vZGVsLkZvb3Rlci5hcmFiaWMgPSBSZXN1bHRNb2RlbC5Gb290ZXIuQXJhYmljO1xyXG4gICAgRWRpdE1vZGVsLkhlYWRDb250ZW50LmVuZ2xpc2ggPSBSZXN1bHRNb2RlbC5IVE1MSGVhZENvbnRlbnQuRW5nbGlzaDtcclxuICAgIEVkaXRNb2RlbC5IZWFkQ29udGVudC5hcmFiaWMgPSBSZXN1bHRNb2RlbC5IVE1MSGVhZENvbnRlbnQuQXJhYmljO1xyXG4gICAgRWRpdE1vZGVsLlRPUCA9IFJlc3VsdE1vZGVsLlRvcDtcclxuICAgIEVkaXRNb2RlbC5Cb3R0b20gPSBSZXN1bHRNb2RlbC5Cb3R0b207XHJcbiAgICBFZGl0TW9kZWwuTGVmdCA9IFJlc3VsdE1vZGVsLkxlZnQ7XHJcbiAgICBFZGl0TW9kZWwuUmlnaHQgPSBSZXN1bHRNb2RlbC5SaWdodDtcclxuICAgIEVkaXRNb2RlbC5QYWdlSGVpZ2h0ID0gUmVzdWx0TW9kZWwuUGFnZUhlaWdodDtcclxuICAgIEVkaXRNb2RlbC5QYWdlV2lkdGggPSBSZXN1bHRNb2RlbC5QYWdlV2lkdGg7XHJcbiAgICBFZGl0TW9kZWwuSXNMYW5kc2NhcGUgPSBSZXN1bHRNb2RlbC5Jc0xhbmRzY2FwZTtcclxuICAgIEVkaXRNb2RlbC5TaG93UGFnaW5nID0gUmVzdWx0TW9kZWwuU2hvd1BhZ2luZztcclxuICAgIHBhcmFtQXJyYXkucHVzaChFZGl0TW9kZWwpO1xyXG4gICAgcmV0dXJuIHBhcmFtQXJyYXk7XHJcbiAgfTtcclxuXHJcbiAgZ2V0RWRpdEZ1bmN0aW9uID0gKEFkZE1vZGVsKTogT2JzZXJ2YWJsZTxhbnk+ID0+IHtcclxuICAgIHJldHVybiB0aGlzLmRvY3VtZW50SGVhZGVyQW5kRm9vdGVyVGVtcGxhdGVTZXJ2aWNlLmVkaXREb2N1bWVudEhlYWRlckFuZEZvb3RlclRlbXBsYXRlKEFkZE1vZGVsKTtcclxuICB9O1xyXG5cclxuICBvbkVkaXRTdWNjZXNzID0gKHJlc3VsdCkgPT4ge1xyXG4gICAgdGhpcy5jYW5jZWxFZGl0KCk7XHJcbiAgfTtcclxuXHJcbiAgY2FuY2VsRWRpdCgpIHtcclxuICAgIHRoaXMucm91dGVyLm5hdmlnYXRlKFsnL0FkbWluL0RvY3VtZW50cy9NYXN0ZXJMYXlvdXRzJ10pO1xyXG4gIH1cclxuXHJcbiAgLy9PbiBkZXN0cm95XHJcbiAgbmdPbkRlc3Ryb3koKTogdm9pZCB7XHJcbiAgICB0aGlzLnJlcXVlc3RIYW5kbGVyU2VydmljZS5kZXN0cm95SGFuZGxlcigpO1xyXG4gIH1cclxufVxyXG4iLCJcclxuPGRpdiBjbGFzcz1cImNvbnRhaW5lci1mbHVpZFwiPlxyXG4gIDxkaXYgY2xhc3M9XCJjYXJkIGNhcmQtY3VzdG9tLWhcIiAqbmdJZj1cInNob3dQYWdlQ29udGVudFwiPlxyXG4gICAgPGRpdiBjbGFzcz1cImNhcmQtYm9keVwiPlxyXG4gICAgICA8QkJTRi1Gb3JtIFtvcHRpb25zXT1cImVkaXRGb3JtT3B0aW9uc1wiPlxyXG4gICAgICAgIDxkaXYgY2xhc3M9XCIgcm93XCI+XHJcbiAgICAgICAgICA8ZGl2IGNsYXNzPVwiY29sLW1kLTEyXCI+XHJcbiAgICAgICAgICAgIDxCQlNGLU11bHRpTGluZ3VhbFRleHRCb3ggW29wdGlvbnNdPVwibXVsdGlMaW5ndWFsTmFtZVwiXHJcbiAgICAgICAgICAgICAgW2dyb3VwXT1cImVkaXRGb3JtXCI+PC9CQlNGLU11bHRpTGluZ3VhbFRleHRCb3g+XHJcblxyXG4gICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgPC9kaXY+XHJcblxyXG4gICAgICAgIDxkaXYgY2xhc3M9XCIgcm93XCI+XHJcbiAgICAgICAgICA8ZGl2IGNsYXNzPVwiY29sLW1kLTEyXCI+XHJcbiAgICAgICAgICAgIDxCQlNGLU11bHRpTGluZ3VhbEh0bWxFZGl0b3IgW29wdGlvbnNdPVwibXVsdGlMaW5ndWFsSGVhZGVyXCJcclxuICAgICAgICAgICAgICBbZ3JvdXBdPVwiZWRpdEZvcm1cIj48L0JCU0YtTXVsdGlMaW5ndWFsSHRtbEVkaXRvcj5cclxuICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgIDwvZGl2PlxyXG5cclxuICAgICAgICA8ZGl2IGNsYXNzPVwiIHJvd1wiPlxyXG4gICAgICAgICAgPGRpdiBjbGFzcz1cImNvbC1tZC0xMiB0YWJsZS1kYXJrLXNraW5cIj5cclxuICAgICAgICAgICAgPEJCU0YtTXVsdGlMaW5ndWFsSHRtbEVkaXRvciBbb3B0aW9uc109XCJtdWx0aUxpbmd1YWxGb290ZXJcIlxyXG4gICAgICAgICAgICAgIFtncm91cF09XCJlZGl0Rm9ybVwiPjwvQkJTRi1NdWx0aUxpbmd1YWxIdG1sRWRpdG9yPlxyXG4gICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgPC9kaXY+XHJcblxyXG4gICAgICAgIDxkaXYgY2xhc3M9XCIgcm93XCI+XHJcbiAgICAgICAgICA8ZGl2IGNsYXNzPVwiY29sLW1kLTEyIHRhYmxlLWRhcmstc2tpblwiPlxyXG4gICAgICAgICAgICA8QkJTRi1NdWx0aUxpbmd1YWxIdG1sRWRpdG9yIFtvcHRpb25zXT1cIm11bHRpTGluZ3VhbEhlYWRDb250ZW50XCJcclxuICAgICAgICAgICAgICBbZ3JvdXBdPVwiZWRpdEZvcm1cIj48L0JCU0YtTXVsdGlMaW5ndWFsSHRtbEVkaXRvcj5cclxuICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgIDwvZGl2PlxyXG4gICAgICAgIDxkaXYgY2xhc3M9XCJyb3dcIj5cclxuICAgICAgICAgIDxkaXYgY2xhc3M9XCJjb2wtbWQtNlwiPlxyXG4gICAgICAgICAgICA8aDI+IHt7dXRpbGl0eVNlcnZpY2UuZ2V0UmVzb3VyY2VWYWx1ZShcIk9wdGlvbnNcIil9fTwvaDI+XHJcbiAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICA8L2Rpdj5cclxuICAgICAgICA8ZGl2IGNsYXNzPVwicm93XCI+XHJcbiAgICAgICAgICA8ZGl2IGNsYXNzPVwiY29sLW1kLTZcIj5cclxuICAgICAgICAgICAgPEJCU0YtVGV4dEJveCBbb3B0aW9uc109XCJFZGl0VG9wXCIgW2dyb3VwXT1cImVkaXRGb3JtXCI+XHJcbiAgICAgICAgICAgIDwvQkJTRi1UZXh0Qm94PlxyXG4gICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICA8ZGl2IGNsYXNzPVwiY29sLW1kLTZcIj5cclxuICAgICAgICAgICAgPEJCU0YtVGV4dEJveCBbb3B0aW9uc109XCJFZGl0Qm90dG9tXCIgW2dyb3VwXT1cImVkaXRGb3JtXCI+XHJcbiAgICAgICAgICAgIDwvQkJTRi1UZXh0Qm94PlxyXG4gICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgPGRpdiBjbGFzcz1cInJvd1wiPlxyXG4gICAgICAgICAgPGRpdiBjbGFzcz1cImNvbC1tZC02XCI+XHJcbiAgICAgICAgICAgIDxCQlNGLVRleHRCb3ggW29wdGlvbnNdPVwiRWRpdExlZnRcIiBbZ3JvdXBdPVwiZWRpdEZvcm1cIj5cclxuICAgICAgICAgICAgPC9CQlNGLVRleHRCb3g+XHJcbiAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgIDxkaXYgY2xhc3M9XCJjb2wtbWQtNlwiPlxyXG4gICAgICAgICAgICA8QkJTRi1UZXh0Qm94IFtvcHRpb25zXT1cIkVkaXRSaWdodFwiIFtncm91cF09XCJlZGl0Rm9ybVwiPlxyXG4gICAgICAgICAgICA8L0JCU0YtVGV4dEJveD5cclxuICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgIDwvZGl2PlxyXG4gICAgICAgIDxkaXYgY2xhc3M9XCJyb3dcIj5cclxuICAgICAgICAgIDxkaXYgY2xhc3M9XCJjb2wtbWQtNlwiPlxyXG4gICAgICAgICAgICA8QkJTRi1UZXh0Qm94IFtvcHRpb25zXT1cIkVkaXRQYWdlSGVpZ2h0XCIgW2dyb3VwXT1cImVkaXRGb3JtXCI+XHJcbiAgICAgICAgICAgIDwvQkJTRi1UZXh0Qm94PlxyXG4gICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICA8ZGl2IGNsYXNzPVwiY29sLW1kLTZcIj5cclxuICAgICAgICAgICAgPEJCU0YtVGV4dEJveCBbb3B0aW9uc109XCJFZGl0UGFnZVdpZHRoXCIgW2dyb3VwXT1cImVkaXRGb3JtXCI+XHJcbiAgICAgICAgICAgIDwvQkJTRi1UZXh0Qm94PlxyXG4gICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgPGRpdiBjbGFzcz1cInJvd1wiPlxyXG4gICAgICAgICAgPGRpdiBjbGFzcz1cImNvbC1tZC02XCI+XHJcbiAgICAgICAgICAgIDxCQlNGLUNoZWNrQm94IFtvcHRpb25zXT1cIkVkaXRJc0xhbmRzY2FwZVwiIFtncm91cF09XCJlZGl0Rm9ybVwiPlxyXG4gICAgICAgICAgICA8L0JCU0YtQ2hlY2tCb3g+XHJcbiAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgIDxkaXYgY2xhc3M9XCJjb2wtbWQtNlwiPlxyXG4gICAgICAgICAgICA8QkJTRi1DaGVja0JveCBbb3B0aW9uc109XCJFZGl0U2hvd1BhZ2luZ1wiIFtncm91cF09XCJlZGl0Rm9ybVwiPlxyXG4gICAgICAgICAgICA8L0JCU0YtQ2hlY2tCb3g+XHJcbiAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICA8L2Rpdj5cclxuXHJcblxyXG4gICAgICAgIDxkaXYgY2xhc3M9XCJ0ZXh0LWNlbnRlciBwdC03XCI+XHJcbiAgICAgICAgICA8YnV0dG9uIHR5cGU9XCJidXR0b25cIiBjbGFzcz1cImJ0biBidG4tbGlnaHQtcHJpbWFyeSBidG4tc20gbWUtM1wiXHJcbiAgICAgICAgICAgIChjbGljayk9XCJjYW5jZWxFZGl0KClcIj57e3V0aWxpdHlTZXJ2aWNlLmdldFJlc291cmNlVmFsdWUoXCJDYW5jZWxMYWJlbFwiKX19PC9idXR0b24+XHJcbiAgICAgICAgICA8YnV0dG9uIHR5cGU9XCJzdWJtaXRcIiBjbGFzcz1cImJ0biBidG4tcHJpbWFyeSBidG4tc20gXCI+e3t1dGlsaXR5U2VydmljZS5nZXRSZXNvdXJjZVZhbHVlKFwiU2F2ZUxhYmVsXCIpfX08L2J1dHRvbj5cclxuICAgICAgICA8L2Rpdj5cclxuICAgICAgPC9CQlNGLUZvcm0+XHJcbiAgICA8L2Rpdj5cclxuICA8L2Rpdj5cclxuXHJcbjwvZGl2PlxyXG4iXX0=
@@ -120,4 +120,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.6", ngImpor
120
120
  type: Component,
121
121
  args: [{ selector: 'lib-edit-document-template', template: "<block-ui></block-ui>\r\n <div class=\"container-fluid\">\r\n <div class=\"card card-custom-h\">\r\n <div class=\"card-header border-0 pt-5\">\r\n <div class=\"card-title align-items-start flex-column\">\r\n\r\n </div>\r\n <div class=\"card-toolbar\">\r\n <div class=\"subheadertoolbar\">\r\n <a class=\"btn btn-light-primary btn-sm\" (click)=\"changeCurrentLanguage('ar')\" *ngIf=\"Lang=='en'\">\r\n {{utilityService.getResourceValue(\"Arabic\")}}\r\n\r\n </a>\r\n <a class=\"btn btn-light-primary btn-sm\" (click)=\"changeCurrentLanguage('en')\" *ngIf=\"Lang=='ar'\">\r\n {{utilityService.getResourceValue(\"English\")}}\r\n </a>\r\n </div>\r\n </div>\r\n </div>\r\n <div class=\"card-body\">\r\n <BBSF-Form [options]=\"EditDocumentFormOptions\" *ngIf=\"IsFormLoaded\">\r\n <div class=\"kt-form\">\r\n <div *ngIf=\"Lang=='ar'\">\r\n <div class=\"row\">\r\n <div class=\"form-group col-md-12\">\r\n <BBSF-HtmlEditor [options]=\"DocumentBodyInArabic\" [group]=\"EditDocumentForm\">\r\n </BBSF-HtmlEditor>\r\n </div>\r\n <div class=\"form-group col-md-12\">\r\n <BBSF-HtmlEditor [options]=\"DocumentHeadContentInArabic\" [group]=\"EditDocumentForm\">\r\n </BBSF-HtmlEditor>\r\n </div>\r\n </div>\r\n </div>\r\n\r\n <div *ngIf=\"Lang=='en'\">\r\n <div class=\"row\">\r\n <div class=\"form-group col-md-12\">\r\n <BBSF-HtmlEditor [options]=\"DocumentBodyInEnglish\" [group]=\"EditDocumentForm\">\r\n </BBSF-HtmlEditor>\r\n </div>\r\n\r\n <div class=\"form-group col-md-12\">\r\n <BBSF-HtmlEditor [options]=\"DocumentHeadContentInEnglish\" [group]=\"EditDocumentForm\">\r\n </BBSF-HtmlEditor>\r\n </div>\r\n\r\n </div>\r\n </div>\r\n\r\n </div>\r\n <div class=\"d-flex justify-content-end\">\r\n <button type=\"button\" class=\"btn btn-light-primary btn-sm me-3\" (click)=\"cancelEdit()\">{{utilityService.getResourceValue(\"CancelLabel\")}}</button>\r\n <button type=\"submit\" class=\"btn btn-primary btn-sm \">{{utilityService.getResourceValue(\"SaveLabel\")}}</button>\r\n </div>\r\n </BBSF-Form>\r\n </div>\r\n </div>\r\n\r\n\r\n </div>\r\n\r\n\r\n" }]
122
122
  }], ctorParameters: () => [{ type: i1.PageInfoService }, { type: i2.UtilityService }, { type: i2.BBSFTranslateService }, { type: i3.DocumentTemplateService }, { type: i4.ActivatedRoute }, { type: i4.Router }, { type: i2.RequestHandlerService }] });
123
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZWRpdC1kb2N1bWVudC10ZW1wbGF0ZS5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9iYnNmLWFkbWluLXBvcnRhbC9zcmMvbGliL1BhZ2VzL2RvY3VtZW50cy9lZGl0LWRvY3VtZW50LXRlbXBsYXRlL2VkaXQtZG9jdW1lbnQtdGVtcGxhdGUuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYmJzZi1hZG1pbi1wb3J0YWwvc3JjL2xpYi9QYWdlcy9kb2N1bWVudHMvZWRpdC1kb2N1bWVudC10ZW1wbGF0ZS9lZGl0LWRvY3VtZW50LXRlbXBsYXRlLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQVUsTUFBTSxlQUFlLENBQUM7QUFDbEQsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBRTNDLE9BQU8sRUFBRSxjQUFjLEVBQUUsV0FBVyxFQUFFLGlCQUFpQixFQUE2QixNQUFNLHlCQUF5QixDQUFDO0FBQ3BILE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSxvREFBb0QsQ0FBQztBQUtyRixPQUFPLEVBQUUsdUJBQXVCLEVBQUUsTUFBTSw2REFBNkQsQ0FBQzs7Ozs7Ozs7O0FBTXRHLE1BQU0sT0FBTyw2QkFBNkI7SUFpQnhDLFlBQW9CLGVBQWdDLEVBQVMsY0FBOEIsRUFDakYsb0JBQTBDLEVBQVUsZUFBd0MsRUFDNUYsY0FBOEIsRUFBVSxNQUFjLEVBQVUscUJBQTRDO1FBRmxHLG9CQUFlLEdBQWYsZUFBZSxDQUFpQjtRQUFTLG1CQUFjLEdBQWQsY0FBYyxDQUFnQjtRQUNqRix5QkFBb0IsR0FBcEIsb0JBQW9CLENBQXNCO1FBQVUsb0JBQWUsR0FBZixlQUFlLENBQXlCO1FBQzVGLG1CQUFjLEdBQWQsY0FBYyxDQUFnQjtRQUFVLFdBQU0sR0FBTixNQUFNLENBQVE7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YixxQkFBcUIsQ0FBQyxJQUFZO1FBQ2hDLElBQUksQ0FBQyxJQUFJLEdBQUcsSUFBSSxDQUFDO0lBQ25CLENBQUM7SUFFRCxZQUFZO0lBQ1osV0FBVztRQUNULElBQUksQ0FBQyxxQkFBcUIsQ0FBQyxjQUFjLEVBQUUsQ0FBQztJQUM5QyxDQUFDOzhHQTdIVSw2QkFBNkI7a0dBQTdCLDZCQUE2QixrRUNmMUMsMmpGQStEQTs7MkZEaERhLDZCQUE2QjtrQkFKekMsU0FBUzsrQkFDRSw0QkFBNEIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIE9uSW5pdCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBGb3JtR3JvdXAgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XHJcbmltcG9ydCB7IEFjdGl2YXRlZFJvdXRlLCBSb3V0ZXIgfSBmcm9tICdAYW5ndWxhci9yb3V0ZXInO1xyXG5pbXBvcnQgeyBGb3JjZURpcmVjdGlvbiwgRm9ybU9wdGlvbnMsIEh0bWxFZGl0b3JPcHRpb25zLCBJbnB1dFR5cGUsIFRleHRCb3hPcHRpb25zIH0gZnJvbSAnQGJuc2lnaHRzL2Jic2YtY29udHJvbHMnO1xyXG5pbXBvcnQgeyBQYWdlSW5mb1NlcnZpY2UgfSBmcm9tICcuLi8uLi8uLi9fbWV0cm9uaWMvY29yZS9zZXJ2aWNlcy9wYWdlLWluZm8uc2VydmljZSc7XHJcbmltcG9ydCB7IFRlbXBsYXRlRWRpdFZpZXdNb2RlbCB9IGZyb20gJy4vLi4vLi4vc2hhcmVkL21vZGVscy9Ob3RpZmljYXRpb25zTW9kZWxzL1RlbXBsYXRlRWRpdFZpZXdNb2RlbCc7XHJcbmltcG9ydCB7IFV0aWxpdHlTZXJ2aWNlLCBCQlNGVHJhbnNsYXRlU2VydmljZSwgUmVxdWVzdEhhbmRsZXJTZXJ2aWNlIH0gZnJvbSAnQGJuc2lnaHRzL2Jic2YtdXRpbGl0aWVzJztcclxuaW1wb3J0IHsgT2JzZXJ2YWJsZSB9IGZyb20gJ3J4anMnO1xyXG5pbXBvcnQgeyBEb2N1bWVudFRlbXBsYXRlU2VydmljZSB9IGZyb20gJy4uLy4uL3NoYXJlZC9TZXJ2aWNlcy9Eb2N1bWVudFRlbXBsYXRlU2VydmljZS5zZXJ2aWNlJztcclxuaW1wb3J0IHsgRG9jdW1lbnRUZW1wbGF0ZUluZm9EVE8gfSBmcm9tICcuLi8uLi9zaGFyZWQvbW9kZWxzL0RvY3VtZW50c01vZGVscy9Eb2N1bWVudFRlbXBsYXRlSW5mb0RUTyc7XHJcblxyXG5AQ29tcG9uZW50KHtcclxuICBzZWxlY3RvcjogJ2xpYi1lZGl0LWRvY3VtZW50LXRlbXBsYXRlJyxcclxuICB0ZW1wbGF0ZVVybDogJy4vZWRpdC1kb2N1bWVudC10ZW1wbGF0ZS5jb21wb25lbnQuaHRtbCdcclxufSlcclxuZXhwb3J0IGNsYXNzIEVkaXREb2N1bWVudFRlbXBsYXRlQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0IHtcclxuICAvL1BhZ2UgUmVxdWlyZW1lbnRzXHJcbiAgVGVtcGxhdGVJZDogc3RyaW5nO1xyXG4gIExhbmc6IHN0cmluZyA9IFwiXCJcclxuICBUZW1wbGF0ZUluZm86IGFueVxyXG4gIElzRm9ybUxvYWRlZDogYm9vbGVhblxyXG5cclxuICAvL0luaXRpYWxpemUgZm9ybSBhbmQgY29udHJvbHNcclxuICBFZGl0RG9jdW1lbnRGb3JtID0gbmV3IEZvcm1Hcm91cCh7fSk7XHJcbiAgRWRpdERvY3VtZW50Rm9ybU9wdGlvbnMgPSBuZXcgRm9ybU9wdGlvbnM7XHJcbiAgRG9jdW1lbnRCb2R5SW5FbmdsaXNoOiBIdG1sRWRpdG9yT3B0aW9ucztcclxuICBEb2N1bWVudEJvZHlJbkFyYWJpYzogSHRtbEVkaXRvck9wdGlvbnM7XHJcbiAgRG9jdW1lbnRIZWFkQ29udGVudEluRW5nbGlzaDogSHRtbEVkaXRvck9wdGlvbnM7XHJcbiAgRG9jdW1lbnRIZWFkQ29udGVudEluQXJhYmljOiBIdG1sRWRpdG9yT3B0aW9ucztcclxuXHJcblxyXG5cclxuICBjb25zdHJ1Y3Rvcihwcml2YXRlIHBhZ2VJbmZvU2VydmljZTogUGFnZUluZm9TZXJ2aWNlLCBwdWJsaWMgdXRpbGl0eVNlcnZpY2U6IFV0aWxpdHlTZXJ2aWNlLFxyXG4gICAgcHJpdmF0ZSBiYnNmVHJhbnNsYXRlU2VydmljZTogQkJTRlRyYW5zbGF0ZVNlcnZpY2UsIHByaXZhdGUgdGVtcGxhdGVTZXJ2aWNlOiBEb2N1bWVudFRlbXBsYXRlU2VydmljZSxcclxuICAgIHByaXZhdGUgYWN0aXZhdGVkUm91dGU6IEFjdGl2YXRlZFJvdXRlLCBwcml2YXRlIHJvdXRlcjogUm91dGVyLCBwcml2YXRlIHJlcXVlc3RIYW5kbGVyU2VydmljZTogUmVxdWVzdEhhbmRsZXJTZXJ2aWNlKSB7XHJcbiAgICB0aGlzLmFjdGl2YXRlZFJvdXRlLnBhcmFtcy5zdWJzY3JpYmUocGFyYW1zID0+IHtcclxuICAgICAgdGhpcy5UZW1wbGF0ZUlkID0gcGFyYW1zWydpZCddO1xyXG4gICAgICB0aGlzLkxhbmcgPSBwYXJhbXNbJ2xhbmcnXTtcclxuICAgIH0pO1xyXG4gIH1cclxuXHJcbiAgYXN5bmMgbmdPbkluaXQoKTogUHJvbWlzZTx2b2lkPiB7XHJcbiAgICB0aGlzLmJic2ZUcmFuc2xhdGVTZXJ2aWNlLm9uTGFuZ0NoYW5nZS5zdWJzY3JpYmUoKGV2ZW50KSA9PiB7XHJcbiAgICAgIHRoaXMubmdPbkluaXQoKTtcclxuICAgIH0pXHJcbiAgICB0aGlzLmluaXRpYWxpemVQYWdlKCk7XHJcbiAgfVxyXG5cclxuICBpbml0aWFsaXplUGFnZSgpIHtcclxuICAgIHRoaXMudGVtcGxhdGVTZXJ2aWNlLmdldFRlbXBsYXRlSW5mbyh0aGlzLlRlbXBsYXRlSWQpLnN1YnNjcmliZSgocmVzdWx0KSA9PiB7XHJcbiAgICAgIGxldCBSZXN1bHQ6IGFueSA9IHJlc3VsdFxyXG4gICAgICB0aGlzLlRlbXBsYXRlSW5mbyA9IFJlc3VsdC52YWw7XHJcbiAgICAgIGxldCBUZW1wbGF0ZU5hbWU6IHN0cmluZyA9IHRoaXMuVGVtcGxhdGVJbmZvLmxvY2FsaXplZFRlbXBsYXRlTmFtZTtcclxuICAgICAgaWYgKFRlbXBsYXRlTmFtZSA9PSBudWxsIHx8IFRlbXBsYXRlTmFtZSA9PSB1bmRlZmluZWQpXHJcbiAgICAgICAgVGVtcGxhdGVOYW1lID0gXCJcIjtcclxuXHJcbiAgICAgIFBhZ2VJbmZvU2VydmljZS5QYWdlVGl0bGUgPSB0aGlzLnV0aWxpdHlTZXJ2aWNlLmdldFJlc291cmNlVmFsdWUoXCJFZGl0XCIpXHJcbiAgICAgIFBhZ2VJbmZvU2VydmljZS5QYWdlQnJlYWRjcnVtYnMgPSBbXHJcbiAgICAgICAgeyB0aXRsZTogdGhpcy51dGlsaXR5U2VydmljZS5nZXRSZXNvdXJjZVZhbHVlKFwiSG9tZVwiKSwgcGF0aDogJy9BZG1pbi9Ib21lJywgaXNTZXBhcmF0b3I6IGZhbHNlLCBpc0FjdGl2ZTogZmFsc2UgfSxcclxuICAgICAgICB7IHRpdGxlOiAnJywgcGF0aDogJycsIGlzU2VwYXJhdG9yOiB0cnVlLCBpc0FjdGl2ZTogZmFsc2UgfSxcclxuICAgICAgICB7IHRpdGxlOiB0aGlzLnV0aWxpdHlTZXJ2aWNlLmdldFJlc291cmNlVmFsdWUoXCJUZW1wbGF0ZXNcIiksIHBhdGg6ICcvQWRtaW4vRG9jdW1lbnRzL1RlbXBsYXRlcycsIGlzU2VwYXJhdG9yOiBmYWxzZSwgaXNBY3RpdmU6IGZhbHNlIH0sXHJcbiAgICAgICAgeyB0aXRsZTogJycsIHBhdGg6ICcnLCBpc1NlcGFyYXRvcjogdHJ1ZSwgaXNBY3RpdmU6IGZhbHNlIH0sXHJcbiAgICAgICAgeyB0aXRsZTogVGVtcGxhdGVOYW1lICE9IFwiXCIgPyB0aGlzLnV0aWxpdHlTZXJ2aWNlLmdldFJlc291cmNlVmFsdWUoVGVtcGxhdGVOYW1lKSA6IFwiXCIsIHBhdGg6IFwiL0FkbWluL0RvY3VtZW50cy9UZW1wbGF0ZUluZm8vXCIgKyB0aGlzLlRlbXBsYXRlSWQsIGlzU2VwYXJhdG9yOiBmYWxzZSwgaXNBY3RpdmU6IGZhbHNlIH0sXHJcbiAgICAgICAgeyB0aXRsZTogJycsIHBhdGg6ICcnLCBpc1NlcGFyYXRvcjogdHJ1ZSwgaXNBY3RpdmU6IGZhbHNlIH1cclxuICAgICAgXTtcclxuICAgICAgdGhpcy5wYWdlSW5mb1NlcnZpY2UuY2FsY3VsYXRlVGl0bGUoKTtcclxuICAgICAgdGhpcy5wYWdlSW5mb1NlcnZpY2UuY2FsY3VsYXRlQnJlYWRjcnVtYnMoKTtcclxuXHJcbiAgICAgIC8vSW5pdGlhbGl6ZSBmb3JtIGFuZCBjb250cm9sc1xyXG4gICAgICB0aGlzLkVkaXREb2N1bWVudEZvcm0gPSBuZXcgRm9ybUdyb3VwKHt9KTtcclxuICAgICAgdGhpcy5FZGl0RG9jdW1lbnRGb3JtT3B0aW9ucyA9IG5ldyBGb3JtT3B0aW9ucygpO1xyXG4gICAgICB0aGlzLkVkaXREb2N1bWVudEZvcm1PcHRpb25zLmZvcm1Hcm91cCA9IHRoaXMuRWRpdERvY3VtZW50Rm9ybVxyXG4gICAgICB0aGlzLkVkaXREb2N1bWVudEZvcm1PcHRpb25zLmdldE1vZGVsRnVuY3Rpb24gPSB0aGlzLmdldEVkaXREb2N1bWVudE1vZGVsO1xyXG4gICAgICB0aGlzLkVkaXREb2N1bWVudEZvcm1PcHRpb25zLnNlcnZpY2VTdWJtaXRGdW5jdGlvbiA9IHRoaXMuZ2V0RWRpdERvY3VtZW50RnVuY3Rpb247XHJcbiAgICAgIHRoaXMuRWRpdERvY3VtZW50Rm9ybU9wdGlvbnMub25TdWNjZXNzSGFuZGxlciA9IHRoaXMub25FZGl0RG9jdW1lbnRTdWNjZXNzO1xyXG5cclxuICAgICAgdGhpcy5Eb2N1bWVudEJvZHlJbkVuZ2xpc2ggPSBuZXcgSHRtbEVkaXRvck9wdGlvbnMoKTtcclxuICAgICAgdGhpcy5Eb2N1bWVudEJvZHlJbkVuZ2xpc2gubmFtZSA9IFwiRG9jdW1lbnRCb2R5SW5FbmdsaXNoXCJcclxuICAgICAgdGhpcy5Eb2N1bWVudEJvZHlJbkVuZ2xpc2gubGFiZWxLZXkgPSBcIkRvY3VtZW50Qm9keUluRW5nbGlzaFwiXHJcbiAgICAgIHRoaXMuRG9jdW1lbnRCb2R5SW5FbmdsaXNoLmlzUmVxdWlyZWQgPSB0cnVlXHJcbiAgICAgIHRoaXMuRG9jdW1lbnRCb2R5SW5FbmdsaXNoLnZhbHVlID0gdGhpcy5UZW1wbGF0ZUluZm8uYm9keUVOO1xyXG5cclxuICAgICAgdGhpcy5Eb2N1bWVudEJvZHlJbkFyYWJpYyA9IG5ldyBIdG1sRWRpdG9yT3B0aW9ucygpO1xyXG4gICAgICB0aGlzLkRvY3VtZW50Qm9keUluQXJhYmljLm5hbWUgPSBcIkRvY3VtZW50Qm9keUluQXJhYmljXCJcclxuICAgICAgdGhpcy5Eb2N1bWVudEJvZHlJbkFyYWJpYy5sYWJlbEtleSA9IFwiRG9jdW1lbnRCb2R5SW5BcmFiaWNcIlxyXG4gICAgICB0aGlzLkRvY3VtZW50Qm9keUluQXJhYmljLmlzUmVxdWlyZWQgPSB0cnVlXHJcbiAgICAgIHRoaXMuRG9jdW1lbnRCb2R5SW5BcmFiaWMuZm9yY2VEaXJlY3Rpb24gPSBGb3JjZURpcmVjdGlvbi5BcmFiaWNcclxuICAgICAgdGhpcy5Eb2N1bWVudEJvZHlJbkFyYWJpYy52YWx1ZSA9IHRoaXMuVGVtcGxhdGVJbmZvLmJvZHlBUjtcclxuXHJcbiAgICAgIHRoaXMuRG9jdW1lbnRIZWFkQ29udGVudEluRW5nbGlzaCA9IG5ldyBIdG1sRWRpdG9yT3B0aW9ucygpO1xyXG4gICAgICB0aGlzLkRvY3VtZW50SGVhZENvbnRlbnRJbkVuZ2xpc2gubmFtZSA9IFwiRG9jdW1lbnRIZWFkQ29udGVudEluRW5nbGlzaFwiXHJcbiAgICAgIHRoaXMuRG9jdW1lbnRIZWFkQ29udGVudEluRW5nbGlzaC5sYWJlbEtleSA9IFwiRG9jdW1lbnRIZWFkQ29udGVudEluRW5nbGlzaFwiXHJcbiAgICAgIHRoaXMuRG9jdW1lbnRIZWFkQ29udGVudEluRW5nbGlzaC5pc1JlcXVpcmVkID0gZmFsc2VcclxuICAgICAgdGhpcy5Eb2N1bWVudEhlYWRDb250ZW50SW5FbmdsaXNoLnZhbHVlID0gdGhpcy5UZW1wbGF0ZUluZm8uaGVhZENvbnRlbnRIVE1MRU47XHJcblxyXG4gICAgICB0aGlzLkRvY3VtZW50SGVhZENvbnRlbnRJbkFyYWJpYyA9IG5ldyBIdG1sRWRpdG9yT3B0aW9ucygpO1xyXG4gICAgICB0aGlzLkRvY3VtZW50SGVhZENvbnRlbnRJbkFyYWJpYy5uYW1lID0gXCJEb2N1bWVudEhlYWRDb250ZW50SW5BcmFiaWNcIlxyXG4gICAgICB0aGlzLkRvY3VtZW50SGVhZENvbnRlbnRJbkFyYWJpYy5sYWJlbEtleSA9IFwiRG9jdW1lbnRIZWFkQ29udGVudEluQXJhYmljXCJcclxuICAgICAgdGhpcy5Eb2N1bWVudEhlYWRDb250ZW50SW5BcmFiaWMuaXNSZXF1aXJlZCA9IGZhbHNlXHJcbiAgICAgIHRoaXMuRG9jdW1lbnRIZWFkQ29udGVudEluQXJhYmljLnZhbHVlID0gdGhpcy5UZW1wbGF0ZUluZm8uaGVhZENvbnRlbnRIVE1MQVI7XHJcblxyXG5cclxuXHJcblxyXG5cclxuICAgICAgdGhpcy5Jc0Zvcm1Mb2FkZWQgPSB0cnVlO1xyXG4gICAgfSk7XHJcblxyXG4gIH1cclxuICBnZXRFZGl0RG9jdW1lbnRNb2RlbCA9ICgpID0+IHtcclxuICAgIGxldCBwYXJhbUFycmF5OiBhbnlbXSA9IFtdO1xyXG4gICAgbGV0IFJlc3VsdE1vZGVsID0gdGhpcy5FZGl0RG9jdW1lbnRGb3JtLnZhbHVlO1xyXG4gICAgbGV0IEVkaXRNb2RlbCA9IG5ldyBEb2N1bWVudFRlbXBsYXRlSW5mb0RUTygpO1xyXG4gICAgRWRpdE1vZGVsLklEX0dVSUQgPSB0aGlzLlRlbXBsYXRlSW5mby5pRF9HVUlEO1xyXG4gICAgRWRpdE1vZGVsLkRvY3VtZW50Qm9keS5lbmdsaXNoID0gdGhpcy5MYW5nID09ICdhcicgPyB0aGlzLlRlbXBsYXRlSW5mby5ib2R5RU4gOiBSZXN1bHRNb2RlbFtcIkRvY3VtZW50Qm9keUluRW5nbGlzaFwiXVxyXG4gICAgRWRpdE1vZGVsLkRvY3VtZW50SGVhZENvbnRlbnQuZW5nbGlzaCA9IHRoaXMuTGFuZyA9PSAnYXInID8gdGhpcy5UZW1wbGF0ZUluZm8uaGVhZENvbnRlbnRIVE1MRU4gOiBSZXN1bHRNb2RlbFtcIkRvY3VtZW50SGVhZENvbnRlbnRJbkVuZ2xpc2hcIl1cclxuICAgIEVkaXRNb2RlbC5Eb2N1bWVudEJvZHkuYXJhYmljID0gdGhpcy5MYW5nID09ICdhcicgPyBSZXN1bHRNb2RlbFtcIkRvY3VtZW50Qm9keUluQXJhYmljXCJdIDogdGhpcy5UZW1wbGF0ZUluZm8uYm9keUFSXHJcbiAgICBFZGl0TW9kZWwuRG9jdW1lbnRIZWFkQ29udGVudC5hcmFiaWMgPSB0aGlzLkxhbmcgPT0gJ2FyJyA/IFJlc3VsdE1vZGVsW1wiRG9jdW1lbnRIZWFkQ29udGVudEluQXJhYmljXCJdIDogdGhpcy5UZW1wbGF0ZUluZm8uaGVhZENvbnRlbnRIVE1MQVJcclxuICAgIHBhcmFtQXJyYXkucHVzaChFZGl0TW9kZWwpO1xyXG4gICAgcmV0dXJuIHBhcmFtQXJyYXk7XHJcbiAgfVxyXG5cclxuICBnZXRFZGl0RG9jdW1lbnRGdW5jdGlvbiA9IChFZGl0TW9kZWwpOiBPYnNlcnZhYmxlPGFueT4gPT4ge1xyXG4gICAgcmV0dXJuIHRoaXMudGVtcGxhdGVTZXJ2aWNlLmVkaXRUZW1wbGF0ZUluZm8oRWRpdE1vZGVsKVxyXG4gIH1cclxuICBvbkVkaXREb2N1bWVudFN1Y2Nlc3MgPSAocmVzdWx0KSA9PiB7XHJcbiAgICB0aGlzLmNhbmNlbEVkaXQoKTtcclxuICB9XHJcbiAgY2FuY2VsRWRpdCgpIHtcclxuICAgIHRoaXMucm91dGVyLm5hdmlnYXRlKFsnL0FkbWluL0RvY3VtZW50cy9UZW1wbGF0ZUluZm8nLCB0aGlzLlRlbXBsYXRlSWRdKTtcclxuICB9XHJcblxyXG4gIC8vQ2hhbmdlIExhbmdcclxuICBjaGFuZ2VDdXJyZW50TGFuZ3VhZ2UobGFuZzogc3RyaW5nKSB7XHJcbiAgICB0aGlzLkxhbmcgPSBsYW5nO1xyXG4gIH1cclxuXHJcbiAgLy9PbiBkZXN0cm95XHJcbiAgbmdPbkRlc3Ryb3koKTogdm9pZCB7XHJcbiAgICB0aGlzLnJlcXVlc3RIYW5kbGVyU2VydmljZS5kZXN0cm95SGFuZGxlcigpO1xyXG4gIH1cclxufVxyXG4iLCI8YmxvY2stdWk+PC9ibG9jay11aT5cclxuICA8ZGl2IGNsYXNzPVwiY29udGFpbmVyLWZsdWlkXCI+XHJcbiAgICA8ZGl2IGNsYXNzPVwiY2FyZCBjYXJkLWN1c3RvbS1oXCI+XHJcbiAgICAgIDxkaXYgY2xhc3M9XCJjYXJkLWhlYWRlciBib3JkZXItMCBwdC01XCI+XHJcbiAgICAgICAgPGRpdiBjbGFzcz1cImNhcmQtdGl0bGUgYWxpZ24taXRlbXMtc3RhcnQgZmxleC1jb2x1bW5cIj5cclxuXHJcbiAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgPGRpdiBjbGFzcz1cImNhcmQtdG9vbGJhclwiPlxyXG4gICAgICAgICAgPGRpdiBjbGFzcz1cInN1YmhlYWRlcnRvb2xiYXJcIj5cclxuICAgICAgICAgICAgPGEgY2xhc3M9XCJidG4gYnRuLWxpZ2h0LXByaW1hcnkgYnRuLXNtXCIgKGNsaWNrKT1cImNoYW5nZUN1cnJlbnRMYW5ndWFnZSgnYXInKVwiICpuZ0lmPVwiTGFuZz09J2VuJ1wiPlxyXG4gICAgICAgICAgICAgIHt7dXRpbGl0eVNlcnZpY2UuZ2V0UmVzb3VyY2VWYWx1ZShcIkFyYWJpY1wiKX19XHJcblxyXG4gICAgICAgICAgICA8L2E+XHJcbiAgICAgICAgICAgIDxhIGNsYXNzPVwiYnRuIGJ0bi1saWdodC1wcmltYXJ5IGJ0bi1zbVwiIChjbGljayk9XCJjaGFuZ2VDdXJyZW50TGFuZ3VhZ2UoJ2VuJylcIiAqbmdJZj1cIkxhbmc9PSdhcidcIj5cclxuICAgICAgICAgICAgICB7e3V0aWxpdHlTZXJ2aWNlLmdldFJlc291cmNlVmFsdWUoXCJFbmdsaXNoXCIpfX1cclxuICAgICAgICAgICAgPC9hPlxyXG4gICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgPC9kaXY+XHJcbiAgICAgIDwvZGl2PlxyXG4gICAgICA8ZGl2IGNsYXNzPVwiY2FyZC1ib2R5XCI+XHJcbiAgICAgICAgPEJCU0YtRm9ybSBbb3B0aW9uc109XCJFZGl0RG9jdW1lbnRGb3JtT3B0aW9uc1wiICpuZ0lmPVwiSXNGb3JtTG9hZGVkXCI+XHJcbiAgICAgICAgICA8ZGl2IGNsYXNzPVwia3QtZm9ybVwiPlxyXG4gICAgICAgICAgICA8ZGl2ICpuZ0lmPVwiTGFuZz09J2FyJ1wiPlxyXG4gICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJyb3dcIj5cclxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJmb3JtLWdyb3VwIGNvbC1tZC0xMlwiPlxyXG4gICAgICAgICAgICAgICAgICA8QkJTRi1IdG1sRWRpdG9yIFtvcHRpb25zXT1cIkRvY3VtZW50Qm9keUluQXJhYmljXCIgW2dyb3VwXT1cIkVkaXREb2N1bWVudEZvcm1cIj5cclxuICAgICAgICAgICAgICAgICAgPC9CQlNGLUh0bWxFZGl0b3I+XHJcbiAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJmb3JtLWdyb3VwIGNvbC1tZC0xMlwiPlxyXG4gICAgICAgICAgICAgICAgICA8QkJTRi1IdG1sRWRpdG9yIFtvcHRpb25zXT1cIkRvY3VtZW50SGVhZENvbnRlbnRJbkFyYWJpY1wiIFtncm91cF09XCJFZGl0RG9jdW1lbnRGb3JtXCI+XHJcbiAgICAgICAgICAgICAgICAgIDwvQkJTRi1IdG1sRWRpdG9yPlxyXG4gICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgIDwvZGl2PlxyXG5cclxuICAgICAgICAgICAgPGRpdiAqbmdJZj1cIkxhbmc9PSdlbidcIj5cclxuICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwicm93XCI+XHJcbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZm9ybS1ncm91cCBjb2wtbWQtMTJcIj5cclxuICAgICAgICAgICAgICAgICAgPEJCU0YtSHRtbEVkaXRvciBbb3B0aW9uc109XCJEb2N1bWVudEJvZHlJbkVuZ2xpc2hcIiBbZ3JvdXBdPVwiRWRpdERvY3VtZW50Rm9ybVwiPlxyXG4gICAgICAgICAgICAgICAgICA8L0JCU0YtSHRtbEVkaXRvcj5cclxuICAgICAgICAgICAgICAgIDwvZGl2PlxyXG5cclxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJmb3JtLWdyb3VwIGNvbC1tZC0xMlwiPlxyXG4gICAgICAgICAgICAgICAgICA8QkJTRi1IdG1sRWRpdG9yIFtvcHRpb25zXT1cIkRvY3VtZW50SGVhZENvbnRlbnRJbkVuZ2xpc2hcIiBbZ3JvdXBdPVwiRWRpdERvY3VtZW50Rm9ybVwiPlxyXG4gICAgICAgICAgICAgICAgICA8L0JCU0YtSHRtbEVkaXRvcj5cclxuICAgICAgICAgICAgICAgIDwvZGl2PlxyXG5cclxuICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgPC9kaXY+XHJcblxyXG4gICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICA8ZGl2IGNsYXNzPVwiZC1mbGV4IGp1c3RpZnktY29udGVudC1lbmRcIj5cclxuICAgICAgICAgICAgPGJ1dHRvbiB0eXBlPVwiYnV0dG9uXCIgY2xhc3M9XCJidG4gYnRuLWxpZ2h0LXByaW1hcnkgYnRuLXNtIG1lLTNcIiAoY2xpY2spPVwiY2FuY2VsRWRpdCgpXCI+e3t1dGlsaXR5U2VydmljZS5nZXRSZXNvdXJjZVZhbHVlKFwiQ2FuY2VsTGFiZWxcIil9fTwvYnV0dG9uPlxyXG4gICAgICAgICAgICA8YnV0dG9uIHR5cGU9XCJzdWJtaXRcIiBjbGFzcz1cImJ0biBidG4tcHJpbWFyeSBidG4tc20gXCI+e3t1dGlsaXR5U2VydmljZS5nZXRSZXNvdXJjZVZhbHVlKFwiU2F2ZUxhYmVsXCIpfX08L2J1dHRvbj5cclxuICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgIDwvQkJTRi1Gb3JtPlxyXG4gICAgICA8L2Rpdj5cclxuICAgIDwvZGl2PlxyXG5cclxuXHJcbiAgPC9kaXY+XHJcblxyXG5cclxuIl19
123
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZWRpdC1kb2N1bWVudC10ZW1wbGF0ZS5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9iYnNmLWFkbWluLXBvcnRhbC9zcmMvbGliL1BhZ2VzL2RvY3VtZW50cy9lZGl0LWRvY3VtZW50LXRlbXBsYXRlL2VkaXQtZG9jdW1lbnQtdGVtcGxhdGUuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYmJzZi1hZG1pbi1wb3J0YWwvc3JjL2xpYi9QYWdlcy9kb2N1bWVudHMvZWRpdC1kb2N1bWVudC10ZW1wbGF0ZS9lZGl0LWRvY3VtZW50LXRlbXBsYXRlLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQVUsTUFBTSxlQUFlLENBQUM7QUFDbEQsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBRTNDLE9BQU8sRUFBRSxjQUFjLEVBQUUsV0FBVyxFQUFFLGlCQUFpQixFQUE2QixNQUFNLHlCQUF5QixDQUFDO0FBQ3BILE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSxvREFBb0QsQ0FBQztBQUtyRixPQUFPLEVBQUUsdUJBQXVCLEVBQUUsTUFBTSw2REFBNkQsQ0FBQzs7Ozs7Ozs7O0FBTXRHLE1BQU0sT0FBTyw2QkFBNkI7SUFpQnhDLFlBQW9CLGVBQWdDLEVBQVMsY0FBOEIsRUFDakYsb0JBQTBDLEVBQVUsZUFBd0MsRUFDNUYsY0FBOEIsRUFBVSxNQUFjLEVBQVUscUJBQTRDO1FBRmxHLG9CQUFlLEdBQWYsZUFBZSxDQUFpQjtRQUFTLG1CQUFjLEdBQWQsY0FBYyxDQUFnQjtRQUNqRix5QkFBb0IsR0FBcEIsb0JBQW9CLENBQXNCO1FBQVUsb0JBQWUsR0FBZixlQUFlLENBQXlCO1FBQzVGLG1CQUFjLEdBQWQsY0FBYyxDQUFnQjtRQUFVLFdBQU0sR0FBTixNQUFNLENBQVE7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YixxQkFBcUIsQ0FBQyxJQUFZO1FBQ2hDLElBQUksQ0FBQyxJQUFJLEdBQUcsSUFBSSxDQUFDO0lBQ25CLENBQUM7SUFFRCxZQUFZO0lBQ1osV0FBVztRQUNULElBQUksQ0FBQyxxQkFBcUIsQ0FBQyxjQUFjLEVBQUUsQ0FBQztJQUM5QyxDQUFDOzhHQTdIVSw2QkFBNkI7a0dBQTdCLDZCQUE2QixrRUNmMUMsMmpGQStEQTs7MkZEaERhLDZCQUE2QjtrQkFKekMsU0FBUzsrQkFDRSw0QkFBNEIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIE9uSW5pdCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBGb3JtR3JvdXAgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XHJcbmltcG9ydCB7IEFjdGl2YXRlZFJvdXRlLCBSb3V0ZXIgfSBmcm9tICdAYW5ndWxhci9yb3V0ZXInO1xyXG5pbXBvcnQgeyBGb3JjZURpcmVjdGlvbiwgRm9ybU9wdGlvbnMsIEh0bWxFZGl0b3JPcHRpb25zLCBJbnB1dFR5cGUsIFRleHRCb3hPcHRpb25zIH0gZnJvbSAnQGJuc2lnaHRzL2Jic2YtY29udHJvbHMnO1xyXG5pbXBvcnQgeyBQYWdlSW5mb1NlcnZpY2UgfSBmcm9tICcuLi8uLi8uLi9fbWV0cm9uaWMvY29yZS9zZXJ2aWNlcy9wYWdlLWluZm8uc2VydmljZSc7XHJcbmltcG9ydCB7IFRlbXBsYXRlRWRpdFZpZXdNb2RlbCB9IGZyb20gJy4vLi4vLi4vc2hhcmVkL21vZGVscy9Ob3RpZmljYXRpb25zTW9kZWxzL1RlbXBsYXRlRWRpdFZpZXdNb2RlbCc7XHJcbmltcG9ydCB7IFV0aWxpdHlTZXJ2aWNlLCBCQlNGVHJhbnNsYXRlU2VydmljZSwgUmVxdWVzdEhhbmRsZXJTZXJ2aWNlIH0gZnJvbSAnQGJuc2lnaHRzL2Jic2YtdXRpbGl0aWVzJztcclxuaW1wb3J0IHsgT2JzZXJ2YWJsZSB9IGZyb20gJ3J4anMnO1xyXG5pbXBvcnQgeyBEb2N1bWVudFRlbXBsYXRlU2VydmljZSB9IGZyb20gJy4uLy4uL3NoYXJlZC9TZXJ2aWNlcy9Eb2N1bWVudFRlbXBsYXRlU2VydmljZS5zZXJ2aWNlJztcclxuaW1wb3J0IHsgRG9jdW1lbnRUZW1wbGF0ZUluZm9EVE8gfSBmcm9tICcuLi8uLi9zaGFyZWQvbW9kZWxzL0RvY3VtZW50c01vZGVscy9Eb2N1bWVudFRlbXBsYXRlSW5mb0RUTyc7XHJcblxyXG5AQ29tcG9uZW50KHtcclxuICBzZWxlY3RvcjogJ2xpYi1lZGl0LWRvY3VtZW50LXRlbXBsYXRlJyxcclxuICB0ZW1wbGF0ZVVybDogJy4vZWRpdC1kb2N1bWVudC10ZW1wbGF0ZS5jb21wb25lbnQuaHRtbCdcclxufSlcclxuZXhwb3J0IGNsYXNzIEVkaXREb2N1bWVudFRlbXBsYXRlQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0IHtcclxuICAvL1BhZ2UgUmVxdWlyZW1lbnRzXHJcbiAgVGVtcGxhdGVJZDogc3RyaW5nO1xyXG4gIExhbmc6IHN0cmluZyA9IFwiXCI7XHJcbiAgVGVtcGxhdGVJbmZvOiBhbnk7XHJcbiAgSXNGb3JtTG9hZGVkOiBib29sZWFuO1xyXG5cclxuICAvL0luaXRpYWxpemUgZm9ybSBhbmQgY29udHJvbHNcclxuICBFZGl0RG9jdW1lbnRGb3JtID0gbmV3IEZvcm1Hcm91cCh7fSk7XHJcbiAgRWRpdERvY3VtZW50Rm9ybU9wdGlvbnMgPSBuZXcgRm9ybU9wdGlvbnM7XHJcbiAgRG9jdW1lbnRCb2R5SW5FbmdsaXNoOiBIdG1sRWRpdG9yT3B0aW9ucztcclxuICBEb2N1bWVudEJvZHlJbkFyYWJpYzogSHRtbEVkaXRvck9wdGlvbnM7XHJcbiAgRG9jdW1lbnRIZWFkQ29udGVudEluRW5nbGlzaDogSHRtbEVkaXRvck9wdGlvbnM7XHJcbiAgRG9jdW1lbnRIZWFkQ29udGVudEluQXJhYmljOiBIdG1sRWRpdG9yT3B0aW9ucztcclxuXHJcblxyXG5cclxuICBjb25zdHJ1Y3Rvcihwcml2YXRlIHBhZ2VJbmZvU2VydmljZTogUGFnZUluZm9TZXJ2aWNlLCBwdWJsaWMgdXRpbGl0eVNlcnZpY2U6IFV0aWxpdHlTZXJ2aWNlLFxyXG4gICAgcHJpdmF0ZSBiYnNmVHJhbnNsYXRlU2VydmljZTogQkJTRlRyYW5zbGF0ZVNlcnZpY2UsIHByaXZhdGUgdGVtcGxhdGVTZXJ2aWNlOiBEb2N1bWVudFRlbXBsYXRlU2VydmljZSxcclxuICAgIHByaXZhdGUgYWN0aXZhdGVkUm91dGU6IEFjdGl2YXRlZFJvdXRlLCBwcml2YXRlIHJvdXRlcjogUm91dGVyLCBwcml2YXRlIHJlcXVlc3RIYW5kbGVyU2VydmljZTogUmVxdWVzdEhhbmRsZXJTZXJ2aWNlKSB7XHJcbiAgICB0aGlzLmFjdGl2YXRlZFJvdXRlLnBhcmFtcy5zdWJzY3JpYmUocGFyYW1zID0+IHtcclxuICAgICAgdGhpcy5UZW1wbGF0ZUlkID0gcGFyYW1zWydpZCddO1xyXG4gICAgICB0aGlzLkxhbmcgPSBwYXJhbXNbJ2xhbmcnXTtcclxuICAgIH0pO1xyXG4gIH1cclxuXHJcbiAgYXN5bmMgbmdPbkluaXQoKTogUHJvbWlzZTx2b2lkPiB7XHJcbiAgICB0aGlzLmJic2ZUcmFuc2xhdGVTZXJ2aWNlLm9uTGFuZ0NoYW5nZS5zdWJzY3JpYmUoKGV2ZW50KSA9PiB7XHJcbiAgICAgIHRoaXMubmdPbkluaXQoKTtcclxuICAgIH0pO1xyXG4gICAgdGhpcy5pbml0aWFsaXplUGFnZSgpO1xyXG4gIH1cclxuXHJcbiAgaW5pdGlhbGl6ZVBhZ2UoKSB7XHJcbiAgICB0aGlzLnRlbXBsYXRlU2VydmljZS5nZXRUZW1wbGF0ZUluZm8odGhpcy5UZW1wbGF0ZUlkKS5zdWJzY3JpYmUoKHJlc3VsdCkgPT4ge1xyXG4gICAgICBsZXQgUmVzdWx0OiBhbnkgPSByZXN1bHQ7XHJcbiAgICAgIHRoaXMuVGVtcGxhdGVJbmZvID0gUmVzdWx0LnZhbDtcclxuICAgICAgbGV0IFRlbXBsYXRlTmFtZTogc3RyaW5nID0gdGhpcy5UZW1wbGF0ZUluZm8ubG9jYWxpemVkVGVtcGxhdGVOYW1lO1xyXG4gICAgICBpZiAoVGVtcGxhdGVOYW1lID09IG51bGwgfHwgVGVtcGxhdGVOYW1lID09IHVuZGVmaW5lZClcclxuICAgICAgICBUZW1wbGF0ZU5hbWUgPSBcIlwiO1xyXG5cclxuICAgICAgUGFnZUluZm9TZXJ2aWNlLlBhZ2VUaXRsZSA9IHRoaXMudXRpbGl0eVNlcnZpY2UuZ2V0UmVzb3VyY2VWYWx1ZShcIkVkaXRcIik7XHJcbiAgICAgIFBhZ2VJbmZvU2VydmljZS5QYWdlQnJlYWRjcnVtYnMgPSBbXHJcbiAgICAgICAgeyB0aXRsZTogdGhpcy51dGlsaXR5U2VydmljZS5nZXRSZXNvdXJjZVZhbHVlKFwiSG9tZVwiKSwgcGF0aDogJy9BZG1pbi9Ib21lJywgaXNTZXBhcmF0b3I6IGZhbHNlLCBpc0FjdGl2ZTogZmFsc2UgfSxcclxuICAgICAgICB7IHRpdGxlOiAnJywgcGF0aDogJycsIGlzU2VwYXJhdG9yOiB0cnVlLCBpc0FjdGl2ZTogZmFsc2UgfSxcclxuICAgICAgICB7IHRpdGxlOiB0aGlzLnV0aWxpdHlTZXJ2aWNlLmdldFJlc291cmNlVmFsdWUoXCJUZW1wbGF0ZXNcIiksIHBhdGg6ICcvQWRtaW4vRG9jdW1lbnRzL1RlbXBsYXRlcycsIGlzU2VwYXJhdG9yOiBmYWxzZSwgaXNBY3RpdmU6IGZhbHNlIH0sXHJcbiAgICAgICAgeyB0aXRsZTogJycsIHBhdGg6ICcnLCBpc1NlcGFyYXRvcjogdHJ1ZSwgaXNBY3RpdmU6IGZhbHNlIH0sXHJcbiAgICAgICAgeyB0aXRsZTogVGVtcGxhdGVOYW1lICE9IFwiXCIgPyB0aGlzLnV0aWxpdHlTZXJ2aWNlLmdldFJlc291cmNlVmFsdWUoVGVtcGxhdGVOYW1lKSA6IFwiXCIsIHBhdGg6IFwiL0FkbWluL0RvY3VtZW50cy9UZW1wbGF0ZUluZm8vXCIgKyB0aGlzLlRlbXBsYXRlSWQsIGlzU2VwYXJhdG9yOiBmYWxzZSwgaXNBY3RpdmU6IGZhbHNlIH0sXHJcbiAgICAgICAgeyB0aXRsZTogJycsIHBhdGg6ICcnLCBpc1NlcGFyYXRvcjogdHJ1ZSwgaXNBY3RpdmU6IGZhbHNlIH1cclxuICAgICAgXTtcclxuICAgICAgdGhpcy5wYWdlSW5mb1NlcnZpY2UuY2FsY3VsYXRlVGl0bGUoKTtcclxuICAgICAgdGhpcy5wYWdlSW5mb1NlcnZpY2UuY2FsY3VsYXRlQnJlYWRjcnVtYnMoKTtcclxuXHJcbiAgICAgIC8vSW5pdGlhbGl6ZSBmb3JtIGFuZCBjb250cm9sc1xyXG4gICAgICB0aGlzLkVkaXREb2N1bWVudEZvcm0gPSBuZXcgRm9ybUdyb3VwKHt9KTtcclxuICAgICAgdGhpcy5FZGl0RG9jdW1lbnRGb3JtT3B0aW9ucyA9IG5ldyBGb3JtT3B0aW9ucygpO1xyXG4gICAgICB0aGlzLkVkaXREb2N1bWVudEZvcm1PcHRpb25zLmZvcm1Hcm91cCA9IHRoaXMuRWRpdERvY3VtZW50Rm9ybTtcclxuICAgICAgdGhpcy5FZGl0RG9jdW1lbnRGb3JtT3B0aW9ucy5nZXRNb2RlbEZ1bmN0aW9uID0gdGhpcy5nZXRFZGl0RG9jdW1lbnRNb2RlbDtcclxuICAgICAgdGhpcy5FZGl0RG9jdW1lbnRGb3JtT3B0aW9ucy5zZXJ2aWNlU3VibWl0RnVuY3Rpb24gPSB0aGlzLmdldEVkaXREb2N1bWVudEZ1bmN0aW9uO1xyXG4gICAgICB0aGlzLkVkaXREb2N1bWVudEZvcm1PcHRpb25zLm9uU3VjY2Vzc0hhbmRsZXIgPSB0aGlzLm9uRWRpdERvY3VtZW50U3VjY2VzcztcclxuXHJcbiAgICAgIHRoaXMuRG9jdW1lbnRCb2R5SW5FbmdsaXNoID0gbmV3IEh0bWxFZGl0b3JPcHRpb25zKCk7XHJcbiAgICAgIHRoaXMuRG9jdW1lbnRCb2R5SW5FbmdsaXNoLm5hbWUgPSBcIkRvY3VtZW50Qm9keUluRW5nbGlzaFwiO1xyXG4gICAgICB0aGlzLkRvY3VtZW50Qm9keUluRW5nbGlzaC5sYWJlbEtleSA9IFwiRG9jdW1lbnRCb2R5SW5FbmdsaXNoXCI7XHJcbiAgICAgIHRoaXMuRG9jdW1lbnRCb2R5SW5FbmdsaXNoLmlzUmVxdWlyZWQgPSB0cnVlO1xyXG4gICAgICB0aGlzLkRvY3VtZW50Qm9keUluRW5nbGlzaC52YWx1ZSA9IHRoaXMuVGVtcGxhdGVJbmZvLmJvZHlFTjtcclxuXHJcbiAgICAgIHRoaXMuRG9jdW1lbnRCb2R5SW5BcmFiaWMgPSBuZXcgSHRtbEVkaXRvck9wdGlvbnMoKTtcclxuICAgICAgdGhpcy5Eb2N1bWVudEJvZHlJbkFyYWJpYy5uYW1lID0gXCJEb2N1bWVudEJvZHlJbkFyYWJpY1wiO1xyXG4gICAgICB0aGlzLkRvY3VtZW50Qm9keUluQXJhYmljLmxhYmVsS2V5ID0gXCJEb2N1bWVudEJvZHlJbkFyYWJpY1wiO1xyXG4gICAgICB0aGlzLkRvY3VtZW50Qm9keUluQXJhYmljLmlzUmVxdWlyZWQgPSB0cnVlO1xyXG4gICAgICB0aGlzLkRvY3VtZW50Qm9keUluQXJhYmljLmZvcmNlRGlyZWN0aW9uID0gRm9yY2VEaXJlY3Rpb24uQXJhYmljO1xyXG4gICAgICB0aGlzLkRvY3VtZW50Qm9keUluQXJhYmljLnZhbHVlID0gdGhpcy5UZW1wbGF0ZUluZm8uYm9keUFSO1xyXG5cclxuICAgICAgdGhpcy5Eb2N1bWVudEhlYWRDb250ZW50SW5FbmdsaXNoID0gbmV3IEh0bWxFZGl0b3JPcHRpb25zKCk7XHJcbiAgICAgIHRoaXMuRG9jdW1lbnRIZWFkQ29udGVudEluRW5nbGlzaC5uYW1lID0gXCJEb2N1bWVudEhlYWRDb250ZW50SW5FbmdsaXNoXCI7XHJcbiAgICAgIHRoaXMuRG9jdW1lbnRIZWFkQ29udGVudEluRW5nbGlzaC5sYWJlbEtleSA9IFwiRG9jdW1lbnRIZWFkQ29udGVudEluRW5nbGlzaFwiO1xyXG4gICAgICB0aGlzLkRvY3VtZW50SGVhZENvbnRlbnRJbkVuZ2xpc2guaXNSZXF1aXJlZCA9IGZhbHNlO1xyXG4gICAgICB0aGlzLkRvY3VtZW50SGVhZENvbnRlbnRJbkVuZ2xpc2gudmFsdWUgPSB0aGlzLlRlbXBsYXRlSW5mby5oZWFkQ29udGVudEhUTUxFTjtcclxuXHJcbiAgICAgIHRoaXMuRG9jdW1lbnRIZWFkQ29udGVudEluQXJhYmljID0gbmV3IEh0bWxFZGl0b3JPcHRpb25zKCk7XHJcbiAgICAgIHRoaXMuRG9jdW1lbnRIZWFkQ29udGVudEluQXJhYmljLm5hbWUgPSBcIkRvY3VtZW50SGVhZENvbnRlbnRJbkFyYWJpY1wiO1xyXG4gICAgICB0aGlzLkRvY3VtZW50SGVhZENvbnRlbnRJbkFyYWJpYy5sYWJlbEtleSA9IFwiRG9jdW1lbnRIZWFkQ29udGVudEluQXJhYmljXCI7XHJcbiAgICAgIHRoaXMuRG9jdW1lbnRIZWFkQ29udGVudEluQXJhYmljLmlzUmVxdWlyZWQgPSBmYWxzZTtcclxuICAgICAgdGhpcy5Eb2N1bWVudEhlYWRDb250ZW50SW5BcmFiaWMudmFsdWUgPSB0aGlzLlRlbXBsYXRlSW5mby5oZWFkQ29udGVudEhUTUxBUjtcclxuXHJcblxyXG5cclxuXHJcblxyXG4gICAgICB0aGlzLklzRm9ybUxvYWRlZCA9IHRydWU7XHJcbiAgICB9KTtcclxuXHJcbiAgfVxyXG4gIGdldEVkaXREb2N1bWVudE1vZGVsID0gKCkgPT4ge1xyXG4gICAgbGV0IHBhcmFtQXJyYXk6IGFueVtdID0gW107XHJcbiAgICBsZXQgUmVzdWx0TW9kZWwgPSB0aGlzLkVkaXREb2N1bWVudEZvcm0udmFsdWU7XHJcbiAgICBsZXQgRWRpdE1vZGVsID0gbmV3IERvY3VtZW50VGVtcGxhdGVJbmZvRFRPKCk7XHJcbiAgICBFZGl0TW9kZWwuSURfR1VJRCA9IHRoaXMuVGVtcGxhdGVJbmZvLmlEX0dVSUQ7XHJcbiAgICBFZGl0TW9kZWwuRG9jdW1lbnRCb2R5LmVuZ2xpc2ggPSB0aGlzLkxhbmcgPT0gJ2FyJyA/IHRoaXMuVGVtcGxhdGVJbmZvLmJvZHlFTiA6IFJlc3VsdE1vZGVsW1wiRG9jdW1lbnRCb2R5SW5FbmdsaXNoXCJdO1xyXG4gICAgRWRpdE1vZGVsLkRvY3VtZW50SGVhZENvbnRlbnQuZW5nbGlzaCA9IHRoaXMuTGFuZyA9PSAnYXInID8gdGhpcy5UZW1wbGF0ZUluZm8uaGVhZENvbnRlbnRIVE1MRU4gOiBSZXN1bHRNb2RlbFtcIkRvY3VtZW50SGVhZENvbnRlbnRJbkVuZ2xpc2hcIl07XHJcbiAgICBFZGl0TW9kZWwuRG9jdW1lbnRCb2R5LmFyYWJpYyA9IHRoaXMuTGFuZyA9PSAnYXInID8gUmVzdWx0TW9kZWxbXCJEb2N1bWVudEJvZHlJbkFyYWJpY1wiXSA6IHRoaXMuVGVtcGxhdGVJbmZvLmJvZHlBUjtcclxuICAgIEVkaXRNb2RlbC5Eb2N1bWVudEhlYWRDb250ZW50LmFyYWJpYyA9IHRoaXMuTGFuZyA9PSAnYXInID8gUmVzdWx0TW9kZWxbXCJEb2N1bWVudEhlYWRDb250ZW50SW5BcmFiaWNcIl0gOiB0aGlzLlRlbXBsYXRlSW5mby5oZWFkQ29udGVudEhUTUxBUjtcclxuICAgIHBhcmFtQXJyYXkucHVzaChFZGl0TW9kZWwpO1xyXG4gICAgcmV0dXJuIHBhcmFtQXJyYXk7XHJcbiAgfTtcclxuXHJcbiAgZ2V0RWRpdERvY3VtZW50RnVuY3Rpb24gPSAoRWRpdE1vZGVsKTogT2JzZXJ2YWJsZTxhbnk+ID0+IHtcclxuICAgIHJldHVybiB0aGlzLnRlbXBsYXRlU2VydmljZS5lZGl0VGVtcGxhdGVJbmZvKEVkaXRNb2RlbCk7XHJcbiAgfTtcclxuICBvbkVkaXREb2N1bWVudFN1Y2Nlc3MgPSAocmVzdWx0KSA9PiB7XHJcbiAgICB0aGlzLmNhbmNlbEVkaXQoKTtcclxuICB9O1xyXG4gIGNhbmNlbEVkaXQoKSB7XHJcbiAgICB0aGlzLnJvdXRlci5uYXZpZ2F0ZShbJy9BZG1pbi9Eb2N1bWVudHMvVGVtcGxhdGVJbmZvJywgdGhpcy5UZW1wbGF0ZUlkXSk7XHJcbiAgfVxyXG5cclxuICAvL0NoYW5nZSBMYW5nXHJcbiAgY2hhbmdlQ3VycmVudExhbmd1YWdlKGxhbmc6IHN0cmluZykge1xyXG4gICAgdGhpcy5MYW5nID0gbGFuZztcclxuICB9XHJcblxyXG4gIC8vT24gZGVzdHJveVxyXG4gIG5nT25EZXN0cm95KCk6IHZvaWQge1xyXG4gICAgdGhpcy5yZXF1ZXN0SGFuZGxlclNlcnZpY2UuZGVzdHJveUhhbmRsZXIoKTtcclxuICB9XHJcbn1cclxuIiwiPGJsb2NrLXVpPjwvYmxvY2stdWk+XHJcbiAgPGRpdiBjbGFzcz1cImNvbnRhaW5lci1mbHVpZFwiPlxyXG4gICAgPGRpdiBjbGFzcz1cImNhcmQgY2FyZC1jdXN0b20taFwiPlxyXG4gICAgICA8ZGl2IGNsYXNzPVwiY2FyZC1oZWFkZXIgYm9yZGVyLTAgcHQtNVwiPlxyXG4gICAgICAgIDxkaXYgY2xhc3M9XCJjYXJkLXRpdGxlIGFsaWduLWl0ZW1zLXN0YXJ0IGZsZXgtY29sdW1uXCI+XHJcblxyXG4gICAgICAgIDwvZGl2PlxyXG4gICAgICAgIDxkaXYgY2xhc3M9XCJjYXJkLXRvb2xiYXJcIj5cclxuICAgICAgICAgIDxkaXYgY2xhc3M9XCJzdWJoZWFkZXJ0b29sYmFyXCI+XHJcbiAgICAgICAgICAgIDxhIGNsYXNzPVwiYnRuIGJ0bi1saWdodC1wcmltYXJ5IGJ0bi1zbVwiIChjbGljayk9XCJjaGFuZ2VDdXJyZW50TGFuZ3VhZ2UoJ2FyJylcIiAqbmdJZj1cIkxhbmc9PSdlbidcIj5cclxuICAgICAgICAgICAgICB7e3V0aWxpdHlTZXJ2aWNlLmdldFJlc291cmNlVmFsdWUoXCJBcmFiaWNcIil9fVxyXG5cclxuICAgICAgICAgICAgPC9hPlxyXG4gICAgICAgICAgICA8YSBjbGFzcz1cImJ0biBidG4tbGlnaHQtcHJpbWFyeSBidG4tc21cIiAoY2xpY2spPVwiY2hhbmdlQ3VycmVudExhbmd1YWdlKCdlbicpXCIgKm5nSWY9XCJMYW5nPT0nYXInXCI+XHJcbiAgICAgICAgICAgICAge3t1dGlsaXR5U2VydmljZS5nZXRSZXNvdXJjZVZhbHVlKFwiRW5nbGlzaFwiKX19XHJcbiAgICAgICAgICAgIDwvYT5cclxuICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgIDwvZGl2PlxyXG4gICAgICA8L2Rpdj5cclxuICAgICAgPGRpdiBjbGFzcz1cImNhcmQtYm9keVwiPlxyXG4gICAgICAgIDxCQlNGLUZvcm0gW29wdGlvbnNdPVwiRWRpdERvY3VtZW50Rm9ybU9wdGlvbnNcIiAqbmdJZj1cIklzRm9ybUxvYWRlZFwiPlxyXG4gICAgICAgICAgPGRpdiBjbGFzcz1cImt0LWZvcm1cIj5cclxuICAgICAgICAgICAgPGRpdiAqbmdJZj1cIkxhbmc9PSdhcidcIj5cclxuICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwicm93XCI+XHJcbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZm9ybS1ncm91cCBjb2wtbWQtMTJcIj5cclxuICAgICAgICAgICAgICAgICAgPEJCU0YtSHRtbEVkaXRvciBbb3B0aW9uc109XCJEb2N1bWVudEJvZHlJbkFyYWJpY1wiIFtncm91cF09XCJFZGl0RG9jdW1lbnRGb3JtXCI+XHJcbiAgICAgICAgICAgICAgICAgIDwvQkJTRi1IdG1sRWRpdG9yPlxyXG4gICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZm9ybS1ncm91cCBjb2wtbWQtMTJcIj5cclxuICAgICAgICAgICAgICAgICAgPEJCU0YtSHRtbEVkaXRvciBbb3B0aW9uc109XCJEb2N1bWVudEhlYWRDb250ZW50SW5BcmFiaWNcIiBbZ3JvdXBdPVwiRWRpdERvY3VtZW50Rm9ybVwiPlxyXG4gICAgICAgICAgICAgICAgICA8L0JCU0YtSHRtbEVkaXRvcj5cclxuICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICA8L2Rpdj5cclxuXHJcbiAgICAgICAgICAgIDxkaXYgKm5nSWY9XCJMYW5nPT0nZW4nXCI+XHJcbiAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInJvd1wiPlxyXG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImZvcm0tZ3JvdXAgY29sLW1kLTEyXCI+XHJcbiAgICAgICAgICAgICAgICAgIDxCQlNGLUh0bWxFZGl0b3IgW29wdGlvbnNdPVwiRG9jdW1lbnRCb2R5SW5FbmdsaXNoXCIgW2dyb3VwXT1cIkVkaXREb2N1bWVudEZvcm1cIj5cclxuICAgICAgICAgICAgICAgICAgPC9CQlNGLUh0bWxFZGl0b3I+XHJcbiAgICAgICAgICAgICAgICA8L2Rpdj5cclxuXHJcbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZm9ybS1ncm91cCBjb2wtbWQtMTJcIj5cclxuICAgICAgICAgICAgICAgICAgPEJCU0YtSHRtbEVkaXRvciBbb3B0aW9uc109XCJEb2N1bWVudEhlYWRDb250ZW50SW5FbmdsaXNoXCIgW2dyb3VwXT1cIkVkaXREb2N1bWVudEZvcm1cIj5cclxuICAgICAgICAgICAgICAgICAgPC9CQlNGLUh0bWxFZGl0b3I+XHJcbiAgICAgICAgICAgICAgICA8L2Rpdj5cclxuXHJcbiAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgIDwvZGl2PlxyXG5cclxuICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgPGRpdiBjbGFzcz1cImQtZmxleCBqdXN0aWZ5LWNvbnRlbnQtZW5kXCI+XHJcbiAgICAgICAgICAgIDxidXR0b24gdHlwZT1cImJ1dHRvblwiIGNsYXNzPVwiYnRuIGJ0bi1saWdodC1wcmltYXJ5IGJ0bi1zbSBtZS0zXCIgKGNsaWNrKT1cImNhbmNlbEVkaXQoKVwiPnt7dXRpbGl0eVNlcnZpY2UuZ2V0UmVzb3VyY2VWYWx1ZShcIkNhbmNlbExhYmVsXCIpfX08L2J1dHRvbj5cclxuICAgICAgICAgICAgPGJ1dHRvbiB0eXBlPVwic3VibWl0XCIgY2xhc3M9XCJidG4gYnRuLXByaW1hcnkgYnRuLXNtIFwiPnt7dXRpbGl0eVNlcnZpY2UuZ2V0UmVzb3VyY2VWYWx1ZShcIlNhdmVMYWJlbFwiKX19PC9idXR0b24+XHJcbiAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICA8L0JCU0YtRm9ybT5cclxuICAgICAgPC9kaXY+XHJcbiAgICA8L2Rpdj5cclxuXHJcblxyXG4gIDwvZGl2PlxyXG5cclxuXHJcbiJdfQ==