@thetradeengineorg1/snova-shell-module 0.0.260 → 0.0.261

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 (290) hide show
  1. package/README.md +24 -24
  2. package/bundles/thetradeengineorg1-snova-shell-module.umd.js +18874 -18874
  3. package/bundles/thetradeengineorg1-snova-shell-module.umd.js.map +1 -1
  4. package/esm2015/lib/globaldependencies/components/avatar.component.js +33 -33
  5. package/esm2015/lib/globaldependencies/components/componentbase.js +538 -538
  6. package/esm2015/lib/globaldependencies/constants/feature-ids.js +449 -449
  7. package/esm2015/lib/globaldependencies/constants/localstorage-properties.js +38 -38
  8. package/esm2015/lib/globaldependencies/helpers/dom.helper.js +70 -70
  9. package/esm2015/lib/globaldependencies/helpers/fontawesome-icons.js +144 -144
  10. package/esm2015/lib/globaldependencies/helpers/moment-utc-date-adapter.js +37 -37
  11. package/esm2015/lib/globaldependencies/helpers/window.helper.js +32 -32
  12. package/esm2015/lib/globaldependencies/intercepter/jwt.interceptor.js +40 -40
  13. package/esm2015/lib/globaldependencies/pipes/fetchSizedAndCachedImage.pipe.js +36 -36
  14. package/esm2015/lib/globaldependencies/pipes/highLightText.pipe.js +24 -24
  15. package/esm2015/lib/globaldependencies/pipes/orderby-pipe.js +24 -24
  16. package/esm2015/lib/globaldependencies/pipes/removeSpecialCharacters.pipe.js +22 -22
  17. package/esm2015/lib/globaldependencies/pipes/sanitize.pipe.js +24 -24
  18. package/esm2015/lib/globaldependencies/pipes/softlabels.pipes.js +346 -346
  19. package/esm2015/lib/globaldependencies/pipes/utctolocaltime.pipe.js +23 -23
  20. package/esm2015/lib/globaldependencies/pipes/utctolocaltimewithdate.pipe.js +25 -25
  21. package/esm2015/lib/globaldependencies/pipes/workflowstatus.pipes.js +27 -27
  22. package/esm2015/lib/shell-components/components/Payments/account.component.js +121 -121
  23. package/esm2015/lib/shell-components/components/Payments/company-information.js +558 -558
  24. package/esm2015/lib/shell-components/components/Payments/company-plans.component.js +636 -636
  25. package/esm2015/lib/shell-components/components/Payments/document.component.js +129 -129
  26. package/esm2015/lib/shell-components/components/Payments/payment-method.component.js +90 -90
  27. package/esm2015/lib/shell-components/components/Payments/product-service.component.js +438 -438
  28. package/esm2015/lib/shell-components/components/Payments/purchase-more-licenses.js +249 -249
  29. package/esm2015/lib/shell-components/components/Payments/transactions.component.js +172 -172
  30. package/esm2015/lib/shell-components/components/admin-layout/admin-layout.component.js +350 -350
  31. package/esm2015/lib/shell-components/components/all-work-items-dialog/all-work-items-dialog.component.js +102 -102
  32. package/esm2015/lib/shell-components/components/confirmation-dialog/confirmation-dialog.component.js +126 -126
  33. package/esm2015/lib/shell-components/components/export-import-configuration/export-configuration.component.js +502 -502
  34. package/esm2015/lib/shell-components/components/feed-time/feed-time-dialog.component.js +98 -98
  35. package/esm2015/lib/shell-components/components/feed-time/feed-time.component.js +87 -87
  36. package/esm2015/lib/shell-components/components/header-side/header-side.component.js +2342 -2342
  37. package/esm2015/lib/shell-components/components/header-top/header-top.component.js +489 -489
  38. package/esm2015/lib/shell-components/components/lives/lives-welcome-page.js +55 -55
  39. package/esm2015/lib/shell-components/components/menu/menu.component.js +3413 -3413
  40. package/esm2015/lib/shell-components/components/menu/searchTask.enum.js +10 -10
  41. package/esm2015/lib/shell-components/components/notifications/announcement-dialog.component.js +110 -110
  42. package/esm2015/lib/shell-components/components/notifications/notifications.component.js +534 -534
  43. package/esm2015/lib/shell-components/components/sidebar-top/sidebar-top.component.js +39 -39
  44. package/esm2015/lib/shell-components/components/sidenav/side-bar.component.js +148 -148
  45. package/esm2015/lib/shell-components/components/sidenav/sidenav.component.js +439 -439
  46. package/esm2015/lib/shell-components/components/submit-feedback/submit-feedback.component.js +75 -75
  47. package/esm2015/lib/shell-components/constants/api-urls.js +1052 -1052
  48. package/esm2015/lib/shell-components/constants/available-languages.js +25 -25
  49. package/esm2015/lib/shell-components/constants/channel-names.js +38 -38
  50. package/esm2015/lib/shell-components/constants/menu-categories.js +6 -6
  51. package/esm2015/lib/shell-components/constants/notification-routes.js +6 -6
  52. package/esm2015/lib/shell-components/constants/notification-type-ids.js +42 -42
  53. package/esm2015/lib/shell-components/enum/recentSearchType.enum.js +13 -13
  54. package/esm2015/lib/shell-components/models/AppMenuItemModel.js +3 -3
  55. package/esm2015/lib/shell-components/models/AppNotification.js +17 -17
  56. package/esm2015/lib/shell-components/models/AssetAssignedNotificationModel.js +12 -12
  57. package/esm2015/lib/shell-components/models/ChannelUpdateModel.js +3 -3
  58. package/esm2015/lib/shell-components/models/EmployeeStatusModel.js +3 -3
  59. package/esm2015/lib/shell-components/models/IAdjust-screen-options.js +2 -2
  60. package/esm2015/lib/shell-components/models/IBadge.js +2 -2
  61. package/esm2015/lib/shell-components/models/IChildItem.js +2 -2
  62. package/esm2015/lib/shell-components/models/ILayout-change-options.js +2 -2
  63. package/esm2015/lib/shell-components/models/IMenuItem.js +2 -2
  64. package/esm2015/lib/shell-components/models/IlayoutConf.js +2 -2
  65. package/esm2015/lib/shell-components/models/IntroModel.js +3 -3
  66. package/esm2015/lib/shell-components/models/MessageDetails.js +3 -3
  67. package/esm2015/lib/shell-components/models/MessageTypingDetails.js +3 -3
  68. package/esm2015/lib/shell-components/models/NewProjectCreatedNotificationModel.js +10 -10
  69. package/esm2015/lib/shell-components/models/NewProjectFeatureNotificationModel.js +10 -10
  70. package/esm2015/lib/shell-components/models/NotificationsOutPutModel.js +22 -22
  71. package/esm2015/lib/shell-components/models/ProjectSearchCriteriaInputModel.js +3 -3
  72. package/esm2015/lib/shell-components/models/RecentSearchModel.js +5 -5
  73. package/esm2015/lib/shell-components/models/ReportConfigAssignedNotification.js +11 -11
  74. package/esm2015/lib/shell-components/models/ReportSubmittedNotification.js +12 -12
  75. package/esm2015/lib/shell-components/models/RoleUpdatedNotification.js +9 -9
  76. package/esm2015/lib/shell-components/models/UserStoryAssignedNotification.js +13 -13
  77. package/esm2015/lib/shell-components/models/archiveUserStoryModel.js +10 -10
  78. package/esm2015/lib/shell-components/models/companieslist.model.js +3 -3
  79. package/esm2015/lib/shell-components/models/company-model.js +7 -7
  80. package/esm2015/lib/shell-components/models/company-payment-model.js +3 -3
  81. package/esm2015/lib/shell-components/models/dragedWidget.js +3 -3
  82. package/esm2015/lib/shell-components/models/employee-List.js +3 -3
  83. package/esm2015/lib/shell-components/models/employee.js +4 -4
  84. package/esm2015/lib/shell-components/models/entityRoleFeature.js +3 -3
  85. package/esm2015/lib/shell-components/models/export-configuration-model.js +3 -3
  86. package/esm2015/lib/shell-components/models/export-data.module.js +8 -8
  87. package/esm2015/lib/shell-components/models/goalApprovedNotificationModel.js +9 -9
  88. package/esm2015/lib/shell-components/models/import-configuration-model.js +3 -3
  89. package/esm2015/lib/shell-components/models/initialStatusofUsers.js +3 -3
  90. package/esm2015/lib/shell-components/models/invoiceOutput-model.js +3 -3
  91. package/esm2015/lib/shell-components/models/leaveApplicationNotifiction.js +9 -9
  92. package/esm2015/lib/shell-components/models/multiChartsScheduling.js +11 -11
  93. package/esm2015/lib/shell-components/models/parkUserStoryInputModel.js +10 -10
  94. package/esm2015/lib/shell-components/models/project.js +3 -3
  95. package/esm2015/lib/shell-components/models/recentSearchApiModel.js +3 -3
  96. package/esm2015/lib/shell-components/models/searchCriteriaInputModelBase.js +3 -3
  97. package/esm2015/lib/shell-components/models/shellModulesInfo.js +7 -7
  98. package/esm2015/lib/shell-components/models/softlabels-model.js +7 -7
  99. package/esm2015/lib/shell-components/models/sprintReplanRequestedModel.js +9 -9
  100. package/esm2015/lib/shell-components/models/sprintStartedNotificationModel.js +9 -9
  101. package/esm2015/lib/shell-components/models/store-model.js +3 -3
  102. package/esm2015/lib/shell-components/models/store-search-model.js +4 -4
  103. package/esm2015/lib/shell-components/models/themes.model.js +3 -3
  104. package/esm2015/lib/shell-components/models/timesheetenabledisable.js +4 -4
  105. package/esm2015/lib/shell-components/models/user.js +8 -8
  106. package/esm2015/lib/shell-components/models/userStory.js +3 -3
  107. package/esm2015/lib/shell-components/models/userStoryCommentNotificationModel.js +9 -9
  108. package/esm2015/lib/shell-components/models/userStoryUpdateNotificationModel.js +9 -9
  109. package/esm2015/lib/shell-components/models/userstory-custom-fields.model.js +3 -3
  110. package/esm2015/lib/shell-components/models/validation.model.js +2 -2
  111. package/esm2015/lib/shell-components/models/widgetlist.js +6 -6
  112. package/esm2015/lib/shell-components/models/workspaceList.js +3 -3
  113. package/esm2015/lib/shell-components/services/authentication.service.js +96 -96
  114. package/esm2015/lib/shell-components/services/chat.service.js +67 -67
  115. package/esm2015/lib/shell-components/services/common-used.service.js +263 -263
  116. package/esm2015/lib/shell-components/services/feature.service.js +101 -101
  117. package/esm2015/lib/shell-components/services/google-analytics.service.js +24 -24
  118. package/esm2015/lib/shell-components/services/layout.service.js +68 -68
  119. package/esm2015/lib/shell-components/services/payment.service.js +103 -103
  120. package/esm2015/lib/shell-components/services/recentSearch.service.js +90 -90
  121. package/esm2015/lib/shell-components/services/shell.modules.service.js +24 -24
  122. package/esm2015/lib/shell-components/services/signalr.service.js +113 -113
  123. package/esm2015/lib/shell-components/services/theme.service.js +161 -161
  124. package/esm2015/lib/shell-components/shell.module.js +450 -450
  125. package/esm2015/lib/shell-components/shell.routing.js +16 -16
  126. package/esm2015/lib/shell-components/store/actions/authentication.actions.js +260 -260
  127. package/esm2015/lib/shell-components/store/actions/chat.actions.js +248 -248
  128. package/esm2015/lib/shell-components/store/actions/menuitems.actions.js +39 -39
  129. package/esm2015/lib/shell-components/store/actions/notification-validator.action.js +19 -19
  130. package/esm2015/lib/shell-components/store/actions/notifications.actions.js +74 -74
  131. package/esm2015/lib/shell-components/store/effects/authentication.effects.js +503 -503
  132. package/esm2015/lib/shell-components/store/effects/chat.effects.js +139 -139
  133. package/esm2015/lib/shell-components/store/effects/index.js +13 -13
  134. package/esm2015/lib/shell-components/store/effects/menuitems.effects.js +53 -53
  135. package/esm2015/lib/shell-components/store/effects/notification-validator.effects.js +56 -56
  136. package/esm2015/lib/shell-components/store/effects/notifications.effects.js +116 -116
  137. package/esm2015/lib/shell-components/store/reducers/authentication.reducers.js +86 -86
  138. package/esm2015/lib/shell-components/store/reducers/chat.reducers.js +68 -68
  139. package/esm2015/lib/shell-components/store/reducers/index.js +80 -80
  140. package/esm2015/lib/shell-components/store/reducers/menuitems.reducers.js +56 -56
  141. package/esm2015/lib/shell-components/store/reducers/notification-validator.reducers.js +13 -13
  142. package/esm2015/lib/shell-components/store/reducers/notifications.reducers.js +38 -38
  143. package/esm2015/public-api.js +92 -92
  144. package/esm2015/store/reducers/index.js +47 -47
  145. package/esm2015/thetradeengineorg1-snova-shell-module.js +4 -4
  146. package/fesm2015/thetradeengineorg1-snova-shell-module.js +16979 -16979
  147. package/fesm2015/thetradeengineorg1-snova-shell-module.js.map +1 -1
  148. package/lib/globaldependencies/components/avatar.component.d.ts +10 -10
  149. package/lib/globaldependencies/components/componentbase.d.ts +455 -455
  150. package/lib/globaldependencies/constants/feature-ids.d.ts +448 -448
  151. package/lib/globaldependencies/constants/localstorage-properties.d.ts +37 -37
  152. package/lib/globaldependencies/helpers/dom.helper.d.ts +7 -7
  153. package/lib/globaldependencies/helpers/fontawesome-icons.d.ts +1 -1
  154. package/lib/globaldependencies/helpers/moment-utc-date-adapter.d.ts +9 -9
  155. package/lib/globaldependencies/helpers/window.helper.d.ts +12 -12
  156. package/lib/globaldependencies/intercepter/jwt.interceptor.d.ts +11 -11
  157. package/lib/globaldependencies/pipes/fetchSizedAndCachedImage.pipe.d.ts +8 -8
  158. package/lib/globaldependencies/pipes/highLightText.pipe.d.ts +8 -8
  159. package/lib/globaldependencies/pipes/orderby-pipe.d.ts +9 -9
  160. package/lib/globaldependencies/pipes/removeSpecialCharacters.pipe.d.ts +8 -8
  161. package/lib/globaldependencies/pipes/sanitize.pipe.d.ts +11 -11
  162. package/lib/globaldependencies/pipes/softlabels.pipes.d.ts +8 -8
  163. package/lib/globaldependencies/pipes/utctolocaltime.pipe.d.ts +8 -8
  164. package/lib/globaldependencies/pipes/utctolocaltimewithdate.pipe.d.ts +8 -8
  165. package/lib/globaldependencies/pipes/workflowstatus.pipes.d.ts +8 -8
  166. package/lib/shell-components/components/Payments/account.component.d.ts +14 -14
  167. package/lib/shell-components/components/Payments/company-information.d.ts +62 -62
  168. package/lib/shell-components/components/Payments/company-plans.component.d.ts +47 -47
  169. package/lib/shell-components/components/Payments/document.component.d.ts +20 -20
  170. package/lib/shell-components/components/Payments/payment-method.component.d.ts +15 -15
  171. package/lib/shell-components/components/Payments/product-service.component.d.ts +48 -48
  172. package/lib/shell-components/components/Payments/purchase-more-licenses.d.ts +37 -37
  173. package/lib/shell-components/components/Payments/transactions.component.d.ts +28 -28
  174. package/lib/shell-components/components/admin-layout/admin-layout.component.d.ts +67 -67
  175. package/lib/shell-components/components/all-work-items-dialog/all-work-items-dialog.component.d.ts +32 -32
  176. package/lib/shell-components/components/confirmation-dialog/confirmation-dialog.component.d.ts +32 -32
  177. package/lib/shell-components/components/export-import-configuration/export-configuration.component.d.ts +60 -60
  178. package/lib/shell-components/components/feed-time/feed-time-dialog.component.d.ts +33 -33
  179. package/lib/shell-components/components/feed-time/feed-time.component.d.ts +27 -27
  180. package/lib/shell-components/components/header-side/header-side.component.d.ts +220 -220
  181. package/lib/shell-components/components/header-top/header-top.component.d.ts +40 -40
  182. package/lib/shell-components/components/lives/lives-welcome-page.d.ts +14 -14
  183. package/lib/shell-components/components/menu/menu.component.d.ts +220 -220
  184. package/lib/shell-components/components/menu/searchTask.enum.d.ts +8 -8
  185. package/lib/shell-components/components/notifications/announcement-dialog.component.d.ts +27 -27
  186. package/lib/shell-components/components/notifications/notifications.component.d.ts +53 -53
  187. package/lib/shell-components/components/sidebar-top/sidebar-top.component.d.ts +10 -10
  188. package/lib/shell-components/components/sidenav/side-bar.component.d.ts +23 -23
  189. package/lib/shell-components/components/sidenav/sidenav.component.d.ts +17 -17
  190. package/lib/shell-components/components/submit-feedback/submit-feedback.component.d.ts +25 -25
  191. package/lib/shell-components/constants/api-urls.d.ts +1051 -1051
  192. package/lib/shell-components/constants/available-languages.d.ts +7 -7
  193. package/lib/shell-components/constants/channel-names.d.ts +37 -37
  194. package/lib/shell-components/constants/menu-categories.d.ts +5 -5
  195. package/lib/shell-components/constants/notification-routes.d.ts +5 -5
  196. package/lib/shell-components/constants/notification-type-ids.d.ts +41 -41
  197. package/lib/shell-components/enum/recentSearchType.enum.d.ts +11 -11
  198. package/lib/shell-components/models/AppMenuItemModel.d.ts +12 -12
  199. package/lib/shell-components/models/AppNotification.d.ts +12 -12
  200. package/lib/shell-components/models/AssetAssignedNotificationModel.d.ts +10 -10
  201. package/lib/shell-components/models/ChannelUpdateModel.d.ts +47 -47
  202. package/lib/shell-components/models/EmployeeStatusModel.d.ts +11 -11
  203. package/lib/shell-components/models/IAdjust-screen-options.d.ts +4 -4
  204. package/lib/shell-components/models/IBadge.d.ts +4 -4
  205. package/lib/shell-components/models/IChildItem.d.ts +7 -7
  206. package/lib/shell-components/models/ILayout-change-options.d.ts +4 -4
  207. package/lib/shell-components/models/IMenuItem.d.ts +14 -14
  208. package/lib/shell-components/models/IlayoutConf.d.ts +10 -10
  209. package/lib/shell-components/models/IntroModel.d.ts +3 -3
  210. package/lib/shell-components/models/MessageDetails.d.ts +55 -55
  211. package/lib/shell-components/models/MessageTypingDetails.d.ts +9 -9
  212. package/lib/shell-components/models/NewProjectCreatedNotificationModel.d.ts +8 -8
  213. package/lib/shell-components/models/NewProjectFeatureNotificationModel.d.ts +8 -8
  214. package/lib/shell-components/models/NotificationsOutPutModel.d.ts +41 -41
  215. package/lib/shell-components/models/ProjectSearchCriteriaInputModel.d.ts +10 -10
  216. package/lib/shell-components/models/RecentSearchModel.d.ts +14 -14
  217. package/lib/shell-components/models/ReportConfigAssignedNotification.d.ts +9 -9
  218. package/lib/shell-components/models/ReportSubmittedNotification.d.ts +10 -10
  219. package/lib/shell-components/models/RoleUpdatedNotification.d.ts +7 -7
  220. package/lib/shell-components/models/UserStoryAssignedNotification.d.ts +8 -8
  221. package/lib/shell-components/models/archiveUserStoryModel.d.ts +7 -7
  222. package/lib/shell-components/models/companieslist.model.d.ts +8 -8
  223. package/lib/shell-components/models/company-model.d.ts +31 -31
  224. package/lib/shell-components/models/company-payment-model.d.ts +18 -18
  225. package/lib/shell-components/models/dragedWidget.d.ts +16 -16
  226. package/lib/shell-components/models/employee-List.d.ts +8 -8
  227. package/lib/shell-components/models/employee.d.ts +60 -60
  228. package/lib/shell-components/models/entityRoleFeature.d.ts +9 -9
  229. package/lib/shell-components/models/export-configuration-model.d.ts +8 -8
  230. package/lib/shell-components/models/export-data.module.d.ts +6 -6
  231. package/lib/shell-components/models/goalApprovedNotificationModel.d.ts +8 -8
  232. package/lib/shell-components/models/import-configuration-model.d.ts +3 -3
  233. package/lib/shell-components/models/initialStatusofUsers.d.ts +5 -5
  234. package/lib/shell-components/models/invoiceOutput-model.d.ts +9 -9
  235. package/lib/shell-components/models/leaveApplicationNotifiction.d.ts +7 -7
  236. package/lib/shell-components/models/multiChartsScheduling.d.ts +9 -9
  237. package/lib/shell-components/models/parkUserStoryInputModel.d.ts +7 -7
  238. package/lib/shell-components/models/project.d.ts +28 -28
  239. package/lib/shell-components/models/recentSearchApiModel.d.ts +6 -6
  240. package/lib/shell-components/models/searchCriteriaInputModelBase.d.ts +10 -10
  241. package/lib/shell-components/models/shellModulesInfo.d.ts +16 -16
  242. package/lib/shell-components/models/softlabels-model.d.ts +66 -66
  243. package/lib/shell-components/models/sprintReplanRequestedModel.d.ts +7 -7
  244. package/lib/shell-components/models/sprintStartedNotificationModel.d.ts +7 -7
  245. package/lib/shell-components/models/store-model.d.ts +13 -13
  246. package/lib/shell-components/models/store-search-model.d.ts +7 -7
  247. package/lib/shell-components/models/themes.model.d.ts +9 -9
  248. package/lib/shell-components/models/timesheetenabledisable.d.ts +16 -16
  249. package/lib/shell-components/models/user.d.ts +40 -40
  250. package/lib/shell-components/models/userStory.d.ts +188 -188
  251. package/lib/shell-components/models/userStoryCommentNotificationModel.d.ts +6 -6
  252. package/lib/shell-components/models/userStoryUpdateNotificationModel.d.ts +6 -6
  253. package/lib/shell-components/models/userstory-custom-fields.model.d.ts +6 -6
  254. package/lib/shell-components/models/validation.model.d.ts +5 -5
  255. package/lib/shell-components/models/widgetlist.d.ts +28 -28
  256. package/lib/shell-components/models/workspaceList.d.ts +19 -19
  257. package/lib/shell-components/services/authentication.service.d.ts +18 -18
  258. package/lib/shell-components/services/chat.service.d.ts +16 -16
  259. package/lib/shell-components/services/common-used.service.d.ts +45 -45
  260. package/lib/shell-components/services/feature.service.d.ts +19 -19
  261. package/lib/shell-components/services/google-analytics.service.d.ts +9 -9
  262. package/lib/shell-components/services/layout.service.d.ts +23 -23
  263. package/lib/shell-components/services/payment.service.d.ts +19 -19
  264. package/lib/shell-components/services/recentSearch.service.d.ts +16 -16
  265. package/lib/shell-components/services/shell.modules.service.d.ts +9 -9
  266. package/lib/shell-components/services/signalr.service.d.ts +25 -25
  267. package/lib/shell-components/services/theme.service.d.ts +14 -14
  268. package/lib/shell-components/shell.module.d.ts +119 -119
  269. package/lib/shell-components/shell.routing.d.ts +2 -2
  270. package/lib/shell-components/store/actions/authentication.actions.d.ts +327 -327
  271. package/lib/shell-components/store/actions/chat.actions.d.ts +399 -399
  272. package/lib/shell-components/store/actions/menuitems.actions.d.ts +51 -51
  273. package/lib/shell-components/store/actions/notification-validator.action.d.ts +25 -25
  274. package/lib/shell-components/store/actions/notifications.actions.d.ts +116 -116
  275. package/lib/shell-components/store/effects/authentication.effects.d.ts +54 -54
  276. package/lib/shell-components/store/effects/chat.effects.d.ts +30 -30
  277. package/lib/shell-components/store/effects/index.d.ts +1 -1
  278. package/lib/shell-components/store/effects/menuitems.effects.d.ts +17 -17
  279. package/lib/shell-components/store/effects/notification-validator.effects.d.ts +21 -21
  280. package/lib/shell-components/store/effects/notifications.effects.d.ts +23 -23
  281. package/lib/shell-components/store/reducers/authentication.reducers.d.ts +30 -30
  282. package/lib/shell-components/store/reducers/chat.reducers.d.ts +17 -17
  283. package/lib/shell-components/store/reducers/index.d.ts +59 -59
  284. package/lib/shell-components/store/reducers/menuitems.reducers.d.ts +11 -11
  285. package/lib/shell-components/store/reducers/notification-validator.reducers.d.ts +5 -5
  286. package/lib/shell-components/store/reducers/notifications.reducers.d.ts +10 -10
  287. package/package.json +1 -1
  288. package/public-api.d.ts +82 -82
  289. package/store/reducers/index.d.ts +24 -24
  290. package/thetradeengineorg1-snova-shell-module.d.ts +5 -5
@@ -1,346 +1,346 @@
1
- import { Injectable, Pipe } from "@angular/core";
2
- import * as i0 from "@angular/core";
3
- export class SoftLabelPipe {
4
- transform(searchText, softLabels) {
5
- let replaceText;
6
- if (!softLabels || softLabels.length === 0) {
7
- return searchText;
8
- }
9
- if (searchText && searchText.trim()) {
10
- if (searchText.toLowerCase().match(/(^|\W)project($|\W)/)) {
11
- replaceText = softLabels[0].projectLabel;
12
- let re = /project/gi;
13
- if (replaceText) {
14
- searchText = searchText.replace(re, replaceText);
15
- }
16
- }
17
- if (searchText.toLowerCase().match(/(^|\W)deadline($|\W)/)) {
18
- replaceText = softLabels[0].deadlineLabel;
19
- let re = /deadline/gi;
20
- if (replaceText) {
21
- searchText = searchText.replace(re, replaceText);
22
- }
23
- }
24
- if (searchText.toLowerCase().match(/(^|\W)goal($|\W)/)) {
25
- replaceText = softLabels[0].goalLabel;
26
- let re = /goal/gi;
27
- if (replaceText) {
28
- searchText = searchText.replace(re, replaceText);
29
- }
30
- }
31
- if (searchText.toLowerCase().match(/(^|\W)work item($|\W)/)) {
32
- replaceText = softLabels[0].userStoryLabel;
33
- let re = /work item/gi;
34
- if (replaceText) {
35
- searchText = searchText.replace(re, replaceText);
36
- }
37
- }
38
- if (searchText.toLowerCase().match(/(^|\W)employee($|\W)/)) {
39
- replaceText = softLabels[0].employeeLabel;
40
- let re = /employee/gi;
41
- if (replaceText) {
42
- searchText = searchText.replace(re, replaceText);
43
- }
44
- }
45
- if (searchText.toLowerCase().match(/(^|\W)projects($|\W)/)) {
46
- replaceText = softLabels[0].projectsLabel;
47
- let re = /projects/gi;
48
- if (replaceText) {
49
- searchText = searchText.replace(re, replaceText);
50
- }
51
- }
52
- if (searchText.toLowerCase().match(/(^|\W)deadlines($|\W)/)) {
53
- replaceText = softLabels[0].deadlinesLabel;
54
- let re = /deadlines/gi;
55
- if (replaceText) {
56
- searchText = searchText.replace(re, replaceText);
57
- }
58
- }
59
- if (searchText.toLowerCase().match(/(^|\W)goals($|\W)/)) {
60
- replaceText = softLabels[0].goalsLabel;
61
- let re = /goals/gi;
62
- if (replaceText) {
63
- searchText = searchText.replace(re, replaceText);
64
- }
65
- }
66
- if (searchText.toLowerCase().match(/(^|\W)work items($|\W)/)) {
67
- replaceText = softLabels[0].userStoriesLabel;
68
- let re = /work items/gi;
69
- if (replaceText) {
70
- searchText = searchText.replace(re, replaceText);
71
- }
72
- }
73
- if (searchText.toLowerCase().match(/(^|\W)employees($|\W)/)) {
74
- replaceText = softLabels[0].employeesLabel;
75
- let re = /employees/gi;
76
- if (replaceText) {
77
- searchText = searchText.replace(re, replaceText);
78
- }
79
- }
80
- if (searchText.toLowerCase().match(/(^|\W)scenario($|\W)/)) {
81
- replaceText = softLabels[0].scenarioLabel;
82
- let re = /scenario/gi;
83
- if (replaceText) {
84
- searchText = searchText.replace(re, replaceText);
85
- }
86
- }
87
- if (searchText.toLowerCase().match(/(^|\W)test suite($|\W)/)) {
88
- replaceText = softLabels[0].scenariosLabel;
89
- let re = /test suite/gi;
90
- if (replaceText) {
91
- searchText = searchText.replace(re, replaceText);
92
- }
93
- }
94
- if (searchText.toLowerCase().match(/(^|\W)test suites($|\W)/)) {
95
- replaceText = softLabels[0].scenarioLabel;
96
- let re = /test suites/gi;
97
- if (replaceText) {
98
- searchText = searchText.replace(re, replaceText);
99
- }
100
- }
101
- if (searchText.toLowerCase().match(/(^|\W)scenarios($|\W)/)) {
102
- replaceText = softLabels[0].scenariosLabel;
103
- let re = /scenarios/gi;
104
- if (replaceText) {
105
- searchText = searchText.replace(re, replaceText);
106
- }
107
- }
108
- if (searchText.toLowerCase().match(/(^|\W)run($|\W)/)) {
109
- replaceText = softLabels[0].runLabel;
110
- let re = /run/gi;
111
- if (replaceText) {
112
- searchText = searchText.replace(re, replaceText);
113
- }
114
- }
115
- if (searchText.toLowerCase().match(/(^|\W)runs($|\W)/)) {
116
- replaceText = softLabels[0].runsLabel;
117
- let re = /runs/gi;
118
- if (replaceText) {
119
- searchText = searchText.replace(re, replaceText);
120
- }
121
- }
122
- if (searchText.toLowerCase().match(/(^|\W)test suite($|\W)/)) {
123
- replaceText = softLabels[0].runLabel;
124
- let re = /run/gi;
125
- if (replaceText) {
126
- searchText = searchText.replace(re, replaceText);
127
- }
128
- }
129
- if (searchText.toLowerCase().match(/(^|\W)test suites($|\W)/)) {
130
- replaceText = softLabels[0].runsLabel;
131
- let re = /runs/gi;
132
- if (replaceText) {
133
- searchText = searchText.replace(re, replaceText);
134
- }
135
- }
136
- if (searchText.toLowerCase().match(/(^|\W)version($|\W)/)) {
137
- replaceText = softLabels[0].versionLabel;
138
- let re = /version/gi;
139
- if (replaceText) {
140
- searchText = searchText.replace(re, replaceText);
141
- }
142
- }
143
- if (searchText.toLowerCase().match(/(^|\W)versions($|\W)/)) {
144
- replaceText = softLabels[0].versionsLabel;
145
- let re = /versions/gi;
146
- if (replaceText) {
147
- searchText = searchText.replace(re, replaceText);
148
- }
149
- }
150
- if (searchText.toLowerCase().match(/(^|\W)test report($|\W)/)) {
151
- replaceText = softLabels[0].testReportLabel;
152
- let re = /test report/gi;
153
- if (replaceText) {
154
- searchText = searchText.replace(re, replaceText);
155
- }
156
- }
157
- if (searchText.toLowerCase().match(/(^|\W)test reports($|\W)/)) {
158
- replaceText = softLabels[0].testReportsLabel;
159
- let re = /test reports/gi;
160
- if (replaceText) {
161
- searchText = searchText.replace(re, replaceText);
162
- }
163
- }
164
- if (searchText.toLowerCase().match(/(^|\W)estimated time($|\W)/)) {
165
- replaceText = softLabels[0].estimatedTimeLabel;
166
- let re = /estimated time/gi;
167
- if (replaceText) {
168
- searchText = searchText.replace(re, replaceText);
169
- }
170
- }
171
- if (searchText.toLowerCase().match(/(^|\W)estimation($|\W)/)) {
172
- replaceText = softLabels[0].estimationLabel;
173
- let re = /estimation/gi;
174
- if (replaceText) {
175
- searchText = searchText.replace(re, replaceText);
176
- }
177
- }
178
- if (searchText.toLowerCase().match(/(^|\W)estimations($|\W)/)) {
179
- replaceText = softLabels[0].estimationsLabel;
180
- let re = /estimations/gi;
181
- if (replaceText) {
182
- searchText = searchText.replace(re, replaceText);
183
- }
184
- }
185
- if (searchText.toLowerCase().match(/(^|\W)estimate($|\W)/)) {
186
- replaceText = softLabels[0].estimateLabel;
187
- let re = /estimate/gi;
188
- if (replaceText) {
189
- searchText = searchText.replace(re, replaceText);
190
- }
191
- }
192
- if (searchText.toLowerCase().match(/(^|\W)estimates($|\W)/)) {
193
- replaceText = softLabels[0].estimatesLabel;
194
- let re = /estimates/gi;
195
- if (replaceText) {
196
- searchText = searchText.replace(re, replaceText);
197
- }
198
- }
199
- if (searchText.toLowerCase().match(/(^|\W)audits($|\W)/)) {
200
- replaceText = softLabels[0].auditsLabel;
201
- let re = /audits/gi;
202
- if (replaceText) {
203
- searchText = searchText.replace(re, replaceText);
204
- }
205
- }
206
- if (searchText.toLowerCase().match(/(^|\W)conduct($|\W)/)) {
207
- replaceText = softLabels[0].conductLabel;
208
- let re = /conduct/gi;
209
- if (replaceText) {
210
- searchText = searchText.replace(re, replaceText);
211
- }
212
- }
213
- if (searchText.toLowerCase().match(/(^|\W)conducts($|\W)/)) {
214
- replaceText = softLabels[0].conductsLabel;
215
- let re = /conducts/gi;
216
- if (replaceText) {
217
- searchText = searchText.replace(re, replaceText);
218
- }
219
- }
220
- if (searchText.toLowerCase().match(/(^|\W)action($|\W)/)) {
221
- replaceText = softLabels[0].actionLabel;
222
- let re = /action/gi;
223
- if (replaceText) {
224
- searchText = searchText.replace(re, replaceText);
225
- }
226
- }
227
- if (searchText.toLowerCase().match(/(^|\W)actions($|\W)/)) {
228
- replaceText = softLabels[0].actionsLabel;
229
- let re = /actions/gi;
230
- if (replaceText) {
231
- searchText = searchText.replace(re, replaceText);
232
- }
233
- }
234
- if (searchText.toLowerCase().match(/(^|\W)timeline($|\W)/)) {
235
- replaceText = softLabels[0].timelineLabel;
236
- let re = /timeline/gi;
237
- if (replaceText) {
238
- searchText = searchText.replace(re, replaceText);
239
- }
240
- }
241
- if (searchText.toLowerCase() == "audit report") {
242
- replaceText = softLabels[0].auditReportLabel;
243
- let re = /audit report/gi;
244
- if (replaceText) {
245
- searchText = searchText.replace(re, replaceText);
246
- }
247
- }
248
- if (searchText.toLowerCase() == "audit reports") {
249
- replaceText = softLabels[0].auditReportsLabel;
250
- let re = /audit reports/gi;
251
- if (replaceText) {
252
- searchText = searchText.replace(re, replaceText);
253
- }
254
- }
255
- if (searchText.toLowerCase().match(/(^|\W)audit activity($|\W)/)) {
256
- replaceText = softLabels[0].auditActivityLabel;
257
- let re = /audit activity/gi;
258
- if (replaceText) {
259
- searchText = searchText.replace(re, replaceText);
260
- }
261
- }
262
- if (searchText.toLowerCase().match(/(^|\W)audit analytics($|\W)/)) {
263
- replaceText = softLabels[0].auditAnalyticsLabel;
264
- let re = /audit analytics/gi;
265
- if (replaceText) {
266
- searchText = searchText.replace(re, replaceText);
267
- }
268
- }
269
- if (searchText.toLowerCase().match(/(^|\W)client($|\W)/)) {
270
- replaceText = softLabels[0].clientLabel;
271
- let re = /client/gi;
272
- if (replaceText) {
273
- searchText = searchText.replace(re, replaceText);
274
- }
275
- }
276
- if (searchText.toLowerCase().match(/(^|\W)clients($|\W)/)) {
277
- replaceText = softLabels[0].clientsLabel;
278
- let re = /clients/gi;
279
- if (replaceText) {
280
- searchText = searchText.replace(re, replaceText);
281
- }
282
- }
283
- if (searchText.toLowerCase().match(/(^|\W)question($|\W)/)) {
284
- replaceText = softLabels[0].auditQuestionLabel;
285
- let re = /question/gi;
286
- if (replaceText) {
287
- searchText = searchText.replace(re, replaceText);
288
- }
289
- }
290
- if (searchText.toLowerCase().match(/(^|\W)questions($|\W)/)) {
291
- replaceText = softLabels[0].auditQuestionsLabel;
292
- let re = /questions/gi;
293
- if (replaceText) {
294
- searchText = searchText.replace(re, replaceText);
295
- }
296
- }
297
- if (searchText.toLowerCase().match(/(^|\W)report($|\W)/) && searchText.toLowerCase() != "audit report" && searchText.toLowerCase() != "audit reports") {
298
- replaceText = softLabels[0].reportLabel;
299
- let re = /report/gi;
300
- if (replaceText) {
301
- searchText = searchText.replace(re, replaceText);
302
- }
303
- }
304
- if (searchText.toLowerCase().match(/(^|\W)reports($|\W)/) && searchText.toLowerCase() != "audit report" && searchText.toLowerCase() != "audit reports") {
305
- replaceText = softLabels[0].reportsLabel;
306
- let re = /reports/gi;
307
- if (replaceText) {
308
- searchText = searchText.replace(re, replaceText);
309
- }
310
- }
311
- if (searchText.toLowerCase().match(/(^|\W)audit($|\W)/) && searchText.toLowerCase() != "audit report" && searchText.toLowerCase() != "audit reports") {
312
- replaceText = softLabels[0].auditLabel;
313
- let re = /audit/gi;
314
- if (replaceText) {
315
- searchText = searchText.replace(re, replaceText);
316
- }
317
- }
318
- if (!searchText.includes('estimated time')) {
319
- let searchString = searchText.split('.');
320
- let str = "";
321
- searchString.forEach(function (item) {
322
- if (item.trim() != "") {
323
- if (item != "HR" && !item.includes('h'))
324
- item = item.trim().charAt(0).toUpperCase() + item.trim().substr(1).toLowerCase();
325
- str = str != "" ? (str + ". " + item + ".") : item;
326
- }
327
- });
328
- searchText = str;
329
- }
330
- }
331
- return searchText;
332
- }
333
- }
334
- SoftLabelPipe.ɵfac = function SoftLabelPipe_Factory(t) { return new (t || SoftLabelPipe)(); };
335
- SoftLabelPipe.ɵpipe = /*@__PURE__*/ i0.ɵɵdefinePipe({ name: "softLabelsPipe", type: SoftLabelPipe, pure: true });
336
- SoftLabelPipe.ɵprov = /*@__PURE__*/ i0.ɵɵdefineInjectable({ token: SoftLabelPipe, factory: SoftLabelPipe.ɵfac, providedIn: 'root' });
337
- (function () { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(SoftLabelPipe, [{
338
- type: Pipe,
339
- args: [{
340
- name: "softLabelsPipe"
341
- }]
342
- }, {
343
- type: Injectable,
344
- args: [{ providedIn: 'root' }]
345
- }], null, null); })();
346
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic29mdGxhYmVscy5waXBlcy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3NoZWxsLW1vZHVsZS1jb21wb25lbnRzL3NoZWxsLWNvbXBvbmVudHMvc3JjL2xpYi9nbG9iYWxkZXBlbmRlbmNpZXMvcGlwZXMvc29mdGxhYmVscy5waXBlcy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFFLElBQUksRUFBaUIsTUFBTSxlQUFlLENBQUM7O0FBTWhFLE1BQU0sT0FBTyxhQUFhO0lBQ3hCLFNBQVMsQ0FBQyxVQUFrQixFQUFFLFVBQWlCO1FBQzdDLElBQUksV0FBVyxDQUFDO1FBQ2hCLElBQUksQ0FBQyxVQUFVLElBQUksVUFBVSxDQUFDLE1BQU0sS0FBSyxDQUFDLEVBQUU7WUFDMUMsT0FBTyxVQUFVLENBQUM7U0FDbkI7UUFDRCxJQUFJLFVBQVUsSUFBSSxVQUFVLENBQUMsSUFBSSxFQUFFLEVBQUU7WUFDbkMsSUFBSSxVQUFVLENBQUMsV0FBVyxFQUFFLENBQUMsS0FBSyxDQUFDLHFCQUFxQixDQUFDLEVBQUU7Z0JBQ3pELFdBQVcsR0FBRyxVQUFVLENBQUMsQ0FBQyxDQUFDLENBQUMsWUFBWSxDQUFDO2dCQUN6QyxJQUFJLEVBQUUsR0FBRyxXQUFXLENBQUM7Z0JBQ3JCLElBQUksV0FBVyxFQUFFO29CQUNmLFVBQVUsR0FBRyxVQUFVLENBQUMsT0FBTyxDQUFDLEVBQUUsRUFBRSxXQUFXLENBQUMsQ0FBQztpQkFDbEQ7YUFDRjtZQUNELElBQUksVUFBVSxDQUFDLFdBQVcsRUFBRSxDQUFDLEtBQUssQ0FBQyxzQkFBc0IsQ0FBQyxFQUFFO2dCQUMxRCxXQUFXLEdBQUcsVUFBVSxDQUFDLENBQUMsQ0FBQyxDQUFDLGFBQWEsQ0FBQztnQkFDMUMsSUFBSSxFQUFFLEdBQUcsWUFBWSxDQUFDO2dCQUN0QixJQUFJLFdBQVcsRUFBRTtvQkFDZixVQUFVLEdBQUcsVUFBVSxDQUFDLE9B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QVcsRUFBRSxDQUFDO3dCQUNuRixHQUFHLEdBQUcsR0FBRyxJQUFJLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLEdBQUcsSUFBSSxHQUFHLElBQUksR0FBRyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDO3FCQUNwRDtnQkFDSCxDQUFDLENBQUMsQ0FBQztnQkFFSCxVQUFVLEdBQUcsR0FBRyxDQUFDO2FBQ2xCO1NBQ0Y7UUFFRCxPQUFPLFVBQVUsQ0FBQztJQUNwQixDQUFDOzswRUE3VVUsYUFBYTtvRkFBYixhQUFhO21FQUFiLGFBQWEsV0FBYixhQUFhLG1CQURBLE1BQU07dUZBQ25CLGFBQWE7Y0FKekIsSUFBSTtlQUFDO2dCQUNKLElBQUksRUFBRSxnQkFBZ0I7YUFDdkI7O2NBQ0EsVUFBVTtlQUFDLEVBQUUsVUFBVSxFQUFFLE1BQU0sRUFBRSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdGFibGUsIFBpcGUsIFBpcGVUcmFuc2Zvcm0gfSBmcm9tIFwiQGFuZ3VsYXIvY29yZVwiO1xyXG5pbXBvcnQgKiBhcyBfIGZyb20gXCJ1bmRlcnNjb3JlXCI7XHJcbkBQaXBlKHtcclxuICBuYW1lOiBcInNvZnRMYWJlbHNQaXBlXCJcclxufSlcclxuQEluamVjdGFibGUoeyBwcm92aWRlZEluOiAncm9vdCcgfSlcclxuZXhwb3J0IGNsYXNzIFNvZnRMYWJlbFBpcGUgaW1wbGVtZW50cyBQaXBlVHJhbnNmb3JtIHtcclxuICB0cmFuc2Zvcm0oc2VhcmNoVGV4dDogc3RyaW5nLCBzb2Z0TGFiZWxzOiBhbnlbXSk6IHN0cmluZyB7XHJcbiAgICBsZXQgcmVwbGFjZVRleHQ7XHJcbiAgICBpZiAoIXNvZnRMYWJlbHMgfHwgc29mdExhYmVscy5sZW5ndGggPT09IDApIHtcclxuICAgICAgcmV0dXJuIHNlYXJjaFRleHQ7XHJcbiAgICB9XHJcbiAgICBpZiAoc2VhcmNoVGV4dCAmJiBzZWFyY2hUZXh0LnRyaW0oKSkge1xyXG4gICAgICBpZiAoc2VhcmNoVGV4dC50b0xvd2VyQ2FzZSgpLm1hdGNoKC8oXnxcXFcpcHJvamVjdCgkfFxcVykvKSkge1xyXG4gICAgICAgIHJlcGxhY2VUZXh0ID0gc29mdExhYmVsc1swXS5wcm9qZWN0TGFiZWw7XHJcbiAgICAgICAgbGV0IHJlID0gL3Byb2plY3QvZ2k7XHJcbiAgICAgICAgaWYgKHJlcGxhY2VUZXh0KSB7XHJcbiAgICAgICAgICBzZWFyY2hUZXh0ID0gc2VhcmNoVGV4dC5yZXBsYWNlKHJlLCByZXBsYWNlVGV4dCk7XHJcbiAgICAgICAgfVxyXG4gICAgICB9XHJcbiAgICAgIGlmIChzZWFyY2hUZXh0LnRvTG93ZXJDYXNlKCkubWF0Y2goLyhefFxcVylkZWFkbGluZSgkfFxcVykvKSkge1xyXG4gICAgICAgIHJlcGxhY2VUZXh0ID0gc29mdExhYmVsc1swXS5kZWFkbGluZUxhYmVsO1xyXG4gICAgICAgIGxldCByZSA9IC9kZWFkbGluZS9naTtcclxuICAgICAgICBpZiAocmVwbGFjZVRleHQpIHtcclxuICAgICAgICAgIHNlYXJjaFRleHQgPSBzZWFyY2hUZXh0LnJlcGxhY2UocmUsIHJlcGxhY2VUZXh0KTtcclxuICAgICAgICB9XHJcbiAgICAgIH1cclxuICAgICAgaWYgKHNlYXJjaFRleHQudG9Mb3dlckNhc2UoKS5tYXRjaCgvKF58XFxXKWdvYWwoJHxcXFcpLykpIHtcclxuICAgICAgICByZXBsYWNlVGV4dCA9IHNvZnRMYWJlbHNbMF0uZ29hbExhYmVsO1xyXG4gICAgICAgIGxldCByZSA9IC9nb2FsL2dpO1xyXG4gICAgICAgIGlmIChyZXBsYWNlVGV4dCkge1xyXG4gICAgICAgICAgc2VhcmNoVGV4dCA9IHNlYXJjaFRleHQucmVwbGFjZShyZSwgcmVwbGFjZVRleHQpO1xyXG4gICAgICAgIH1cclxuICAgICAgfVxyXG4gICAgICBpZiAoc2VhcmNoVGV4dC50b0xvd2VyQ2FzZSgpLm1hdGNoKC8oXnxcXFcpd29yayBpdGVtKCR8XFxXKS8pKSB7XHJcbiAgICAgICAgcmVwbGFjZVRleHQgPSBzb2Z0TGFiZWxzWzBdLnVzZXJTdG9yeUxhYmVsO1xyXG4gICAgICAgIGxldCByZSA9IC93b3JrIGl0ZW0vZ2k7XHJcbiAgICAgICAgaWYgKHJlcGxhY2VUZXh0KSB7XHJcbiAgICAgICAgICBzZWFyY2hUZXh0ID0gc2VhcmNoVGV4dC5yZXBsYWNlKHJlLCByZXBsYWNlVGV4dCk7XHJcbiAgICAgICAgfVxyXG4gICAgICB9XHJcbiAgICAgIGlmIChzZWFyY2hUZXh0LnRvTG93ZXJDYXNlKCkubWF0Y2goLyhefFxcVyllbXBsb3llZSgkfFxcVykvKSkge1xyXG4gICAgICAgIHJlcGxhY2VUZXh0ID0gc29mdExhYmVsc1swXS5lbXBsb3llZUxhYmVsO1xyXG4gICAgICAgIGxldCByZSA9IC9lbXBsb3llZS9naTtcclxuICAgICAgICBpZiAocmVwbGFjZVRleHQpIHtcclxuICAgICAgICAgIHNlYXJjaFRleHQgPSBzZWFyY2hUZXh0LnJlcGxhY2UocmUsIHJlcGxhY2VUZXh0KTtcclxuICAgICAgICB9XHJcbiAgICAgIH1cclxuICAgICAgaWYgKHNlYXJjaFRleHQudG9Mb3dlckNhc2UoKS5tYXRjaCgvKF58XFxXKXByb2plY3RzKCR8XFxXKS8pKSB7XHJcbiAgICAgICAgcmVwbGFjZVRleHQgPSBzb2Z0TGFiZWxzWzBdLnByb2plY3RzTGFiZWw7XHJcbiAgICAgICAgbGV0IHJlID0gL3Byb2plY3RzL2dpO1xyXG4gICAgICAgIGlmIChyZXBsYWNlVGV4dCkge1xyXG4gICAgICAgICAgc2VhcmNoVGV4dCA9IHNlYXJjaFRleHQucmVwbGFjZShyZSwgcmVwbGFjZVRleHQpO1xyXG4gICAgICAgIH1cclxuICAgICAgfVxyXG4gICAgICBpZiAoc2VhcmNoVGV4dC50b0xvd2VyQ2FzZSgpLm1hdGNoKC8oXnxcXFcpZGVhZGxpbmVzKCR8XFxXKS8pKSB7XHJcbiAgICAgICAgcmVwbGFjZVRleHQgPSBzb2Z0TGFiZWxzWzBdLmRlYWRsaW5lc0xhYmVsO1xyXG4gICAgICAgIGxldCByZSA9IC9kZWFkbGluZXMvZ2k7XHJcbiAgICAgICAgaWYgKHJlcGxhY2VUZXh0KSB7XHJcbiAgICAgICAgICBzZWFyY2hUZXh0ID0gc2VhcmNoVGV4dC5yZXBsYWNlKHJlLCByZXBsYWNlVGV4dCk7XHJcbiAgICAgICAgfVxyXG4gICAgICB9XHJcbiAgICAgIGlmIChzZWFyY2hUZXh0LnRvTG93ZXJDYXNlKCkubWF0Y2goLyhefFxcVylnb2FscygkfFxcVykvKSkge1xyXG4gICAgICAgIHJlcGxhY2VUZXh0ID0gc29mdExhYmVsc1swXS5nb2Fsc0xhYmVsO1xyXG4gICAgICAgIGxldCByZSA9IC9nb2Fscy9naTtcclxuICAgICAgICBpZiAocmVwbGFjZVRleHQpIHtcclxuICAgICAgICAgIHNlYXJjaFRleHQgPSBzZWFyY2hUZXh0LnJlcGxhY2UocmUsIHJlcGxhY2VUZXh0KTtcclxuICAgICAgICB9XHJcbiAgICAgIH1cclxuICAgICAgaWYgKHNlYXJjaFRleHQudG9Mb3dlckNhc2UoKS5tYXRjaCgvKF58XFxXKXdvcmsgaXRlbXMoJHxcXFcpLykpIHtcclxuICAgICAgICByZXBsYWNlVGV4dCA9IHNvZnRMYWJlbHNbMF0udXNlclN0b3JpZXNMYWJlbDtcclxuICAgICAgICBsZXQgcmUgPSAvd29yayBpdGVtcy9naTtcclxuICAgICAgICBpZiAocmVwbGFjZVRleHQpIHtcclxuICAgICAgICAgIHNlYXJjaFRleHQgPSBzZWFyY2hUZXh0LnJlcGxhY2UocmUsIHJlcGxhY2VUZXh0KTtcclxuICAgICAgICB9XHJcbiAgICAgIH1cclxuICAgICAgaWYgKHNlYXJjaFRleHQudG9Mb3dlckNhc2UoKS5tYXRjaCgvKF58XFxXKWVtcGxveWVlcygkfFxcVykvKSkge1xyXG4gICAgICAgIHJlcGxhY2VUZXh0ID0gc29mdExhYmVsc1swXS5lbXBsb3llZXNMYWJlbDtcclxuICAgICAgICBsZXQgcmUgPSAvZW1wbG95ZWVzL2dpO1xyXG4gICAgICAgIGlmIChyZXBsYWNlVGV4dCkge1xyXG4gICAgICAgICAgc2VhcmNoVGV4dCA9IHNlYXJjaFRleHQucmVwbGFjZShyZSwgcmVwbGFjZVRleHQpO1xyXG4gICAgICAgIH1cclxuICAgICAgfVxyXG4gICAgICBpZiAoc2VhcmNoVGV4dC50b0xvd2VyQ2FzZSgpLm1hdGNoKC8oXnxcXFcpc2NlbmFyaW8oJHxcXFcpLykpIHtcclxuICAgICAgICByZXBsYWNlVGV4dCA9IHNvZnRMYWJlbHNbMF0uc2NlbmFyaW9MYWJlbDtcclxuICAgICAgICBsZXQgcmUgPSAvc2NlbmFyaW8vZ2k7XHJcbiAgICAgICAgaWYgKHJlcGxhY2VUZXh0KSB7XHJcbiAgICAgICAgICBzZWFyY2hUZXh0ID0gc2VhcmNoVGV4dC5yZXBsYWNlKHJlLCByZXBsYWNlVGV4dCk7XHJcbiAgICAgICAgfVxyXG4gICAgICB9XHJcbiAgICAgIGlmIChzZWFyY2hUZXh0LnRvTG93ZXJDYXNlKCkubWF0Y2goLyhefFxcVyl0ZXN0IHN1aXRlKCR8XFxXKS8pKSB7XHJcbiAgICAgICAgcmVwbGFjZVRleHQgPSBzb2Z0TGFiZWxzWzBdLnNjZW5hcmlvc0xhYmVsO1xyXG4gICAgICAgIGxldCByZSA9IC90ZXN0IHN1aXRlL2dpO1xyXG4gICAgICAgIGlmIChyZXBsYWNlVGV4dCkge1xyXG4gICAgICAgICAgc2VhcmNoVGV4dCA9IHNlYXJjaFRleHQucmVwbGFjZShyZSwgcmVwbGFjZVRleHQpO1xyXG4gICAgICAgIH1cclxuICAgICAgfVxyXG4gICAgICBpZiAoc2VhcmNoVGV4dC50b0xvd2VyQ2FzZSgpLm1hdGNoKC8oXnxcXFcpdGVzdCBzdWl0ZXMoJHxcXFcpLykpIHtcclxuICAgICAgICByZXBsYWNlVGV4dCA9IHNvZnRMYWJlbHNbMF0uc2NlbmFyaW9MYWJlbDtcclxuICAgICAgICBsZXQgcmUgPSAvdGVzdCBzdWl0ZXMvZ2k7XHJcbiAgICAgICAgaWYgKHJlcGxhY2VUZXh0KSB7XHJcbiAgICAgICAgICBzZWFyY2hUZXh0ID0gc2VhcmNoVGV4dC5yZXBsYWNlKHJlLCByZXBsYWNlVGV4dCk7XHJcbiAgICAgICAgfVxyXG4gICAgICB9XHJcbiAgICAgIGlmIChzZWFyY2hUZXh0LnRvTG93ZXJDYXNlKCkubWF0Y2goLyhefFxcVylzY2VuYXJpb3MoJHxcXFcpLykpIHtcclxuICAgICAgICByZXBsYWNlVGV4dCA9IHNvZnRMYWJlbHNbMF0uc2NlbmFyaW9zTGFiZWw7XHJcbiAgICAgICAgbGV0IHJlID0gL3NjZW5hcmlvcy9naTtcclxuICAgICAgICBpZiAocmVwbGFjZVRleHQpIHtcclxuICAgICAgICAgIHNlYXJjaFRleHQgPSBzZWFyY2hUZXh0LnJlcGxhY2UocmUsIHJlcGxhY2VUZXh0KTtcclxuICAgICAgICB9XHJcbiAgICAgIH1cclxuICAgICAgaWYgKHNlYXJjaFRleHQudG9Mb3dlckNhc2UoKS5tYXRjaCgvKF58XFxXKXJ1bigkfFxcVykvKSkge1xyXG4gICAgICAgIHJlcGxhY2VUZXh0ID0gc29mdExhYmVsc1swXS5ydW5MYWJlbDtcclxuICAgICAgICBsZXQgcmUgPSAvcnVuL2dpO1xyXG4gICAgICAgIGlmIChyZXBsYWNlVGV4dCkge1xyXG4gICAgICAgICAgc2VhcmNoVGV4dCA9IHNlYXJjaFRleHQucmVwbGFjZShyZSwgcmVwbGFjZVRleHQpO1xyXG4gICAgICAgIH1cclxuICAgICAgfVxyXG4gICAgICBpZiAoc2VhcmNoVGV4dC50b0xvd2VyQ2FzZSgpLm1hdGNoKC8oXnxcXFcpcnVucygkfFxcVykvKSkge1xyXG4gICAgICAgIHJlcGxhY2VUZXh0ID0gc29mdExhYmVsc1swXS5ydW5zTGFiZWw7XHJcbiAgICAgICAgbGV0IHJlID0gL3J1bnMvZ2k7XHJcbiAgICAgICAgaWYgKHJlcGxhY2VUZXh0KSB7XHJcbiAgICAgICAgICBzZWFyY2hUZXh0ID0gc2VhcmNoVGV4dC5yZXBsYWNlKHJlLCByZXBsYWNlVGV4dCk7XHJcbiAgICAgICAgfVxyXG4gICAgICB9XHJcbiAgICAgIGlmIChzZWFyY2hUZXh0LnRvTG93ZXJDYXNlKCkubWF0Y2goLyhefFxcVyl0ZXN0IHN1aXRlKCR8XFxXKS8pKSB7XHJcbiAgICAgICAgcmVwbGFjZVRleHQgPSBzb2Z0TGFiZWxzWzBdLnJ1bkxhYmVsO1xyXG4gICAgICAgIGxldCByZSA9IC9ydW4vZ2k7XHJcbiAgICAgICAgaWYgKHJlcGxhY2VUZXh0KSB7XHJcbiAgICAgICAgICBzZWFyY2hUZXh0ID0gc2VhcmNoVGV4dC5yZXBsYWNlKHJlLCByZXBsYWNlVGV4dCk7XHJcbiAgICAgICAgfVxyXG4gICAgICB9XHJcbiAgICAgIGlmIChzZWFyY2hUZXh0LnRvTG93ZXJDYXNlKCkubWF0Y2goLyhefFxcVyl0ZXN0IHN1aXRlcygkfFxcVykvKSkge1xyXG4gICAgICAgIHJlcGxhY2VUZXh0ID0gc29mdExhYmVsc1swXS5ydW5zTGFiZWw7XHJcbiAgICAgICAgbGV0IHJlID0gL3J1bnMvZ2k7XHJcbiAgICAgICAgaWYgKHJlcGxhY2VUZXh0KSB7XHJcbiAgICAgICAgICBzZWFyY2hUZXh0ID0gc2VhcmNoVGV4dC5yZXBsYWNlKHJlLCByZXBsYWNlVGV4dCk7XHJcbiAgICAgICAgfVxyXG4gICAgICB9XHJcbiAgICAgIGlmIChzZWFyY2hUZXh0LnRvTG93ZXJDYXNlKCkubWF0Y2goLyhefFxcVyl2ZXJzaW9uKCR8XFxXKS8pKSB7XHJcbiAgICAgICAgcmVwbGFjZVRleHQgPSBzb2Z0TGFiZWxzWzBdLnZlcnNpb25MYWJlbDtcclxuICAgICAgICBsZXQgcmUgPSAvdmVyc2lvbi9naTtcclxuICAgICAgICBpZiAocmVwbGFjZVRleHQpIHtcclxuICAgICAgICAgIHNlYXJjaFRleHQgPSBzZWFyY2hUZXh0LnJlcGxhY2UocmUsIHJlcGxhY2VUZXh0KTtcclxuICAgICAgICB9XHJcbiAgICAgIH1cclxuICAgICAgaWYgKHNlYXJjaFRleHQudG9Mb3dlckNhc2UoKS5tYXRjaCgvKF58XFxXKXZlcnNpb25zKCR8XFxXKS8pKSB7XHJcbiAgICAgICAgcmVwbGFjZVRleHQgPSBzb2Z0TGFiZWxzWzBdLnZlcnNpb25zTGFiZWw7XHJcbiAgICAgICAgbGV0IHJlID0gL3ZlcnNpb25zL2dpO1xyXG4gICAgICAgIGlmIChyZXBsYWNlVGV4dCkge1xyXG4gICAgICAgICAgc2VhcmNoVGV4dCA9IHNlYXJjaFRleHQucmVwbGFjZShyZSwgcmVwbGFjZVRleHQpO1xyXG4gICAgICAgIH1cclxuICAgICAgfVxyXG4gICAgICBpZiAoc2VhcmNoVGV4dC50b0xvd2VyQ2FzZSgpLm1hdGNoKC8oXnxcXFcpdGVzdCByZXBvcnQoJHxcXFcpLykpIHtcclxuICAgICAgICByZXBsYWNlVGV4dCA9IHNvZnRMYWJlbHNbMF0udGVzdFJlcG9ydExhYmVsO1xyXG4gICAgICAgIGxldCByZSA9IC90ZXN0IHJlcG9ydC9naTtcclxuICAgICAgICBpZiAocmVwbGFjZVRleHQpIHtcclxuICAgICAgICAgIHNlYXJjaFRleHQgPSBzZWFyY2hUZXh0LnJlcGxhY2UocmUsIHJlcGxhY2VUZXh0KTtcclxuICAgICAgICB9XHJcbiAgICAgIH1cclxuICAgICAgaWYgKHNlYXJjaFRleHQudG9Mb3dlckNhc2UoKS5tYXRjaCgvKF58XFxXKXRlc3QgcmVwb3J0cygkfFxcVykvKSkge1xyXG4gICAgICAgIHJlcGxhY2VUZXh0ID0gc29mdExhYmVsc1swXS50ZXN0UmVwb3J0c0xhYmVsO1xyXG4gICAgICAgIGxldCByZSA9IC90ZXN0IHJlcG9ydHMvZ2k7XHJcbiAgICAgICAgaWYgKHJlcGxhY2VUZXh0KSB7XHJcbiAgICAgICAgICBzZWFyY2hUZXh0ID0gc2VhcmNoVGV4dC5yZXBsYWNlKHJlLCByZXBsYWNlVGV4dCk7XHJcbiAgICAgICAgfVxyXG4gICAgICB9XHJcbiAgICAgIGlmIChzZWFyY2hUZXh0LnRvTG93ZXJDYXNlKCkubWF0Y2goLyhefFxcVyllc3RpbWF0ZWQgdGltZSgkfFxcVykvKSkge1xyXG4gICAgICAgIHJlcGxhY2VUZXh0ID0gc29mdExhYmVsc1swXS5lc3RpbWF0ZWRUaW1lTGFiZWw7XHJcbiAgICAgICAgbGV0IHJlID0gL2VzdGltYXRlZCB0aW1lL2dpO1xyXG4gICAgICAgIGlmIChyZXBsYWNlVGV4dCkge1xyXG4gICAgICAgICAgc2VhcmNoVGV4dCA9IHNlYXJjaFRleHQucmVwbGFjZShyZSwgcmVwbGFjZVRleHQpO1xyXG4gICAgICAgIH1cclxuICAgICAgfVxyXG4gICAgICBpZiAoc2VhcmNoVGV4dC50b0xvd2VyQ2FzZSgpLm1hdGNoKC8oXnxcXFcpZXN0aW1hdGlvbigkfFxcVykvKSkge1xyXG4gICAgICAgIHJlcGxhY2VUZXh0ID0gc29mdExhYmVsc1swXS5lc3RpbWF0aW9uTGFiZWw7XHJcbiAgICAgICAgbGV0IHJlID0gL2VzdGltYXRpb24vZ2k7XHJcbiAgICAgICAgaWYgKHJlcGxhY2VUZXh0KSB7XHJcbiAgICAgICAgICBzZWFyY2hUZXh0ID0gc2VhcmNoVGV4dC5yZXBsYWNlKHJlLCByZXBsYWNlVGV4dCk7XHJcbiAgICAgICAgfVxyXG4gICAgICB9XHJcbiAgICAgIGlmIChzZWFyY2hUZXh0LnRvTG93ZXJDYXNlKCkubWF0Y2goLyhefFxcVyllc3RpbWF0aW9ucygkfFxcVykvKSkge1xyXG4gICAgICAgIHJlcGxhY2VUZXh0ID0gc29mdExhYmVsc1swXS5lc3RpbWF0aW9uc0xhYmVsO1xyXG4gICAgICAgIGxldCByZSA9IC9lc3RpbWF0aW9ucy9naTtcclxuICAgICAgICBpZiAocmVwbGFjZVRleHQpIHtcclxuICAgICAgICAgIHNlYXJjaFRleHQgPSBzZWFyY2hUZXh0LnJlcGxhY2UocmUsIHJlcGxhY2VUZXh0KTtcclxuICAgICAgICB9XHJcbiAgICAgIH1cclxuICAgICAgaWYgKHNlYXJjaFRleHQudG9Mb3dlckNhc2UoKS5tYXRjaCgvKF58XFxXKWVzdGltYXRlKCR8XFxXKS8pKSB7XHJcbiAgICAgICAgcmVwbGFjZVRleHQgPSBzb2Z0TGFiZWxzWzBdLmVzdGltYXRlTGFiZWw7XHJcbiAgICAgICAgbGV0IHJlID0gL2VzdGltYXRlL2dpO1xyXG4gICAgICAgIGlmIChyZXBsYWNlVGV4dCkge1xyXG4gICAgICAgICAgc2VhcmNoVGV4dCA9IHNlYXJjaFRleHQucmVwbGFjZShyZSwgcmVwbGFjZVRleHQpO1xyXG4gICAgICAgIH1cclxuICAgICAgfVxyXG4gICAgICBpZiAoc2VhcmNoVGV4dC50b0xvd2VyQ2FzZSgpLm1hdGNoKC8oXnxcXFcpZXN0aW1hdGVzKCR8XFxXKS8pKSB7XHJcbiAgICAgICAgcmVwbGFjZVRleHQgPSBzb2Z0TGFiZWxzWzBdLmVzdGltYXRlc0xhYmVsO1xyXG4gICAgICAgIGxldCByZSA9IC9lc3RpbWF0ZXMvZ2k7XHJcbiAgICAgICAgaWYgKHJlcGxhY2VUZXh0KSB7XHJcbiAgICAgICAgICBzZWFyY2hUZXh0ID0gc2VhcmNoVGV4dC5yZXBsYWNlKHJlLCByZXBsYWNlVGV4dCk7XHJcbiAgICAgICAgfVxyXG4gICAgICB9XHJcbiAgICAgIGlmIChzZWFyY2hUZXh0LnRvTG93ZXJDYXNlKCkubWF0Y2goLyhefFxcVylhdWRpdHMoJHxcXFcpLykpIHtcclxuICAgICAgICByZXBsYWNlVGV4dCA9IHNvZnRMYWJlbHNbMF0uYXVkaXRzTGFiZWw7XHJcbiAgICAgICAgbGV0IHJlID0gL2F1ZGl0cy9naTtcclxuICAgICAgICBpZiAocmVwbGFjZVRleHQpIHtcclxuICAgICAgICAgIHNlYXJjaFRleHQgPSBzZWFyY2hUZXh0LnJlcGxhY2UocmUsIHJlcGxhY2VUZXh0KTtcclxuICAgICAgICB9XHJcbiAgICAgIH1cclxuICAgICAgaWYgKHNlYXJjaFRleHQudG9Mb3dlckNhc2UoKS5tYXRjaCgvKF58XFxXKWNvbmR1Y3QoJHxcXFcpLykpIHtcclxuICAgICAgICByZXBsYWNlVGV4dCA9IHNvZnRMYWJlbHNbMF0uY29uZHVjdExhYmVsO1xyXG4gICAgICAgIGxldCByZSA9IC9jb25kdWN0L2dpO1xyXG4gICAgICAgIGlmIChyZXBsYWNlVGV4dCkge1xyXG4gICAgICAgICAgc2VhcmNoVGV4dCA9IHNlYXJjaFRleHQucmVwbGFjZShyZSwgcmVwbGFjZVRleHQpO1xyXG4gICAgICAgIH1cclxuICAgICAgfVxyXG4gICAgICBpZiAoc2VhcmNoVGV4dC50b0xvd2VyQ2FzZSgpLm1hdGNoKC8oXnxcXFcpY29uZHVjdHMoJHxcXFcpLykpIHtcclxuICAgICAgICByZXBsYWNlVGV4dCA9IHNvZnRMYWJlbHNbMF0uY29uZHVjdHNMYWJlbDtcclxuICAgICAgICBsZXQgcmUgPSAvY29uZHVjdHMvZ2k7XHJcbiAgICAgICAgaWYgKHJlcGxhY2VUZXh0KSB7XHJcbiAgICAgICAgICBzZWFyY2hUZXh0ID0gc2VhcmNoVGV4dC5yZXBsYWNlKHJlLCByZXBsYWNlVGV4dCk7XHJcbiAgICAgICAgfVxyXG4gICAgICB9XHJcbiAgICAgIGlmIChzZWFyY2hUZXh0LnRvTG93ZXJDYXNlKCkubWF0Y2goLyhefFxcVylhY3Rpb24oJHxcXFcpLykpIHtcclxuICAgICAgICByZXBsYWNlVGV4dCA9IHNvZnRMYWJlbHNbMF0uYWN0aW9uTGFiZWw7XHJcbiAgICAgICAgbGV0IHJlID0gL2FjdGlvbi9naTtcclxuICAgICAgICBpZiAocmVwbGFjZVRleHQpIHtcclxuICAgICAgICAgIHNlYXJjaFRleHQgPSBzZWFyY2hUZXh0LnJlcGxhY2UocmUsIHJlcGxhY2VUZXh0KTtcclxuICAgICAgICB9XHJcbiAgICAgIH1cclxuICAgICAgaWYgKHNlYXJjaFRleHQudG9Mb3dlckNhc2UoKS5tYXRjaCgvKF58XFxXKWFjdGlvbnMoJHxcXFcpLykpIHtcclxuICAgICAgICByZXBsYWNlVGV4dCA9IHNvZnRMYWJlbHNbMF0uYWN0aW9uc0xhYmVsO1xyXG4gICAgICAgIGxldCByZSA9IC9hY3Rpb25zL2dpO1xyXG4gICAgICAgIGlmIChyZXBsYWNlVGV4dCkge1xyXG4gICAgICAgICAgc2VhcmNoVGV4dCA9IHNlYXJjaFRleHQucmVwbGFjZShyZSwgcmVwbGFjZVRleHQpO1xyXG4gICAgICAgIH1cclxuICAgICAgfVxyXG4gICAgICBpZiAoc2VhcmNoVGV4dC50b0xvd2VyQ2FzZSgpLm1hdGNoKC8oXnxcXFcpdGltZWxpbmUoJHxcXFcpLykpIHtcclxuICAgICAgICByZXBsYWNlVGV4dCA9IHNvZnRMYWJlbHNbMF0udGltZWxpbmVMYWJlbDtcclxuICAgICAgICBsZXQgcmUgPSAvdGltZWxpbmUvZ2k7XHJcbiAgICAgICAgaWYgKHJlcGxhY2VUZXh0KSB7XHJcbiAgICAgICAgICBzZWFyY2hUZXh0ID0gc2VhcmNoVGV4dC5yZXBsYWNlKHJlLCByZXBsYWNlVGV4dCk7XHJcbiAgICAgICAgfVxyXG4gICAgICB9XHJcbiAgICAgIGlmIChzZWFyY2hUZXh0LnRvTG93ZXJDYXNlKCkgPT0gXCJhdWRpdCByZXBvcnRcIikge1xyXG4gICAgICAgIHJlcGxhY2VUZXh0ID0gc29mdExhYmVsc1swXS5hdWRpdFJlcG9ydExhYmVsO1xyXG4gICAgICAgIGxldCByZSA9IC9hdWRpdCByZXBvcnQvZ2k7XHJcbiAgICAgICAgaWYgKHJlcGxhY2VUZXh0KSB7XHJcbiAgICAgICAgICBzZWFyY2hUZXh0ID0gc2VhcmNoVGV4dC5yZXBsYWNlKHJlLCByZXBsYWNlVGV4dCk7XHJcbiAgICAgICAgfVxyXG4gICAgICB9XHJcbiAgICAgIGlmIChzZWFyY2hUZXh0LnRvTG93ZXJDYXNlKCkgPT0gXCJhdWRpdCByZXBvcnRzXCIpIHtcclxuICAgICAgICByZXBsYWNlVGV4dCA9IHNvZnRMYWJlbHNbMF0uYXVkaXRSZXBvcnRzTGFiZWw7XHJcbiAgICAgICAgbGV0IHJlID0gL2F1ZGl0IHJlcG9ydHMvZ2k7XHJcbiAgICAgICAgaWYgKHJlcGxhY2VUZXh0KSB7XHJcbiAgICAgICAgICBzZWFyY2hUZXh0ID0gc2VhcmNoVGV4dC5yZXBsYWNlKHJlLCByZXBsYWNlVGV4dCk7XHJcbiAgICAgICAgfVxyXG4gICAgICB9XHJcbiAgICAgIGlmIChzZWFyY2hUZXh0LnRvTG93ZXJDYXNlKCkubWF0Y2goLyhefFxcVylhdWRpdCBhY3Rpdml0eSgkfFxcVykvKSkge1xyXG4gICAgICAgIHJlcGxhY2VUZXh0ID0gc29mdExhYmVsc1swXS5hdWRpdEFjdGl2aXR5TGFiZWw7XHJcbiAgICAgICAgbGV0IHJlID0gL2F1ZGl0IGFjdGl2aXR5L2dpO1xyXG4gICAgICAgIGlmIChyZXBsYWNlVGV4dCkge1xyXG4gICAgICAgICAgc2VhcmNoVGV4dCA9IHNlYXJjaFRleHQucmVwbGFjZShyZSwgcmVwbGFjZVRleHQpO1xyXG4gICAgICAgIH1cclxuICAgICAgfVxyXG4gICAgICBpZiAoc2VhcmNoVGV4dC50b0xvd2VyQ2FzZSgpLm1hdGNoKC8oXnxcXFcpYXVkaXQgYW5hbHl0aWNzKCR8XFxXKS8pKSB7XHJcbiAgICAgICAgcmVwbGFjZVRleHQgPSBzb2Z0TGFiZWxzWzBdLmF1ZGl0QW5hbHl0aWNzTGFiZWw7XHJcbiAgICAgICAgbGV0IHJlID0gL2F1ZGl0IGFuYWx5dGljcy9naTtcclxuICAgICAgICBpZiAocmVwbGFjZVRleHQpIHtcclxuICAgICAgICAgIHNlYXJjaFRleHQgPSBzZWFyY2hUZXh0LnJlcGxhY2UocmUsIHJlcGxhY2VUZXh0KTtcclxuICAgICAgICB9XHJcbiAgICAgIH1cclxuICAgICAgaWYgKHNlYXJjaFRleHQudG9Mb3dlckNhc2UoKS5tYXRjaCgvKF58XFxXKWNsaWVudCgkfFxcVykvKSkge1xyXG4gICAgICAgIHJlcGxhY2VUZXh0ID0gc29mdExhYmVsc1swXS5jbGllbnRMYWJlbDtcclxuICAgICAgICBsZXQgcmUgPSAvY2xpZW50L2dpO1xyXG4gICAgICAgIGlmIChyZXBsYWNlVGV4dCkge1xyXG4gICAgICAgICAgc2VhcmNoVGV4dCA9IHNlYXJjaFRleHQucmVwbGFjZShyZSwgcmVwbGFjZVRleHQpO1xyXG4gICAgICAgIH1cclxuICAgICAgfVxyXG4gICAgICBpZiAoc2VhcmNoVGV4dC50b0xvd2VyQ2FzZSgpLm1hdGNoKC8oXnxcXFcpY2xpZW50cygkfFxcVykvKSkge1xyXG4gICAgICAgIHJlcGxhY2VUZXh0ID0gc29mdExhYmVsc1swXS5jbGllbnRzTGFiZWw7XHJcbiAgICAgICAgbGV0IHJlID0gL2NsaWVudHMvZ2k7XHJcbiAgICAgICAgaWYgKHJlcGxhY2VUZXh0KSB7XHJcbiAgICAgICAgICBzZWFyY2hUZXh0ID0gc2VhcmNoVGV4dC5yZXBsYWNlKHJlLCByZXBsYWNlVGV4dCk7XHJcbiAgICAgICAgfVxyXG4gICAgICB9XHJcbiAgICAgIGlmIChzZWFyY2hUZXh0LnRvTG93ZXJDYXNlKCkubWF0Y2goLyhefFxcVylxdWVzdGlvbigkfFxcVykvKSkge1xyXG4gICAgICAgIHJlcGxhY2VUZXh0ID0gc29mdExhYmVsc1swXS5hdWRpdFF1ZXN0aW9uTGFiZWw7XHJcbiAgICAgICAgbGV0IHJlID0gL3F1ZXN0aW9uL2dpO1xyXG4gICAgICAgIGlmIChyZXBsYWNlVGV4dCkge1xyXG4gICAgICAgICAgc2VhcmNoVGV4dCA9IHNlYXJjaFRleHQucmVwbGFjZShyZSwgcmVwbGFjZVRleHQpO1xyXG4gICAgICAgIH1cclxuICAgICAgfVxyXG4gICAgICBpZiAoc2VhcmNoVGV4dC50b0xvd2VyQ2FzZSgpLm1hdGNoKC8oXnxcXFcpcXVlc3Rpb25zKCR8XFxXKS8pKSB7XHJcbiAgICAgICAgcmVwbGFjZVRleHQgPSBzb2Z0TGFiZWxzWzBdLmF1ZGl0UXVlc3Rpb25zTGFiZWw7XHJcbiAgICAgICAgbGV0IHJlID0gL3F1ZXN0aW9ucy9naTtcclxuICAgICAgICBpZiAocmVwbGFjZVRleHQpIHtcclxuICAgICAgICAgIHNlYXJjaFRleHQgPSBzZWFyY2hUZXh0LnJlcGxhY2UocmUsIHJlcGxhY2VUZXh0KTtcclxuICAgICAgICB9XHJcbiAgICAgIH1cclxuICAgICAgaWYgKHNlYXJjaFRleHQudG9Mb3dlckNhc2UoKS5tYXRjaCgvKF58XFxXKXJlcG9ydCgkfFxcVykvKSAmJiBzZWFyY2hUZXh0LnRvTG93ZXJDYXNlKCkgIT0gXCJhdWRpdCByZXBvcnRcIiAmJiBzZWFyY2hUZXh0LnRvTG93ZXJDYXNlKCkgIT0gXCJhdWRpdCByZXBvcnRzXCIpIHtcclxuICAgICAgICByZXBsYWNlVGV4dCA9IHNvZnRMYWJlbHNbMF0ucmVwb3J0TGFiZWw7XHJcbiAgICAgICAgbGV0IHJlID0gL3JlcG9ydC9naTtcclxuICAgICAgICBpZiAocmVwbGFjZVRleHQpIHtcclxuICAgICAgICAgIHNlYXJjaFRleHQgPSBzZWFyY2hUZXh0LnJlcGxhY2UocmUsIHJlcGxhY2VUZXh0KTtcclxuICAgICAgICB9XHJcbiAgICAgIH1cclxuICAgICAgaWYgKHNlYXJjaFRleHQudG9Mb3dlckNhc2UoKS5tYXRjaCgvKF58XFxXKXJlcG9ydHMoJHxcXFcpLykgJiYgc2VhcmNoVGV4dC50b0xvd2VyQ2FzZSgpICE9IFwiYXVkaXQgcmVwb3J0XCIgJiYgc2VhcmNoVGV4dC50b0xvd2VyQ2FzZSgpICE9IFwiYXVkaXQgcmVwb3J0c1wiKSB7XHJcbiAgICAgICAgcmVwbGFjZVRleHQgPSBzb2Z0TGFiZWxzWzBdLnJlcG9ydHNMYWJlbDtcclxuICAgICAgICBsZXQgcmUgPSAvcmVwb3J0cy9naTtcclxuICAgICAgICBpZiAocmVwbGFjZVRleHQpIHtcclxuICAgICAgICAgIHNlYXJjaFRleHQgPSBzZWFyY2hUZXh0LnJlcGxhY2UocmUsIHJlcGxhY2VUZXh0KTtcclxuICAgICAgICB9XHJcbiAgICAgIH1cclxuICAgICAgaWYgKHNlYXJjaFRleHQudG9Mb3dlckNhc2UoKS5tYXRjaCgvKF58XFxXKWF1ZGl0KCR8XFxXKS8pICYmIHNlYXJjaFRleHQudG9Mb3dlckNhc2UoKSAhPSBcImF1ZGl0IHJlcG9ydFwiICYmIHNlYXJjaFRleHQudG9Mb3dlckNhc2UoKSAhPSBcImF1ZGl0IHJlcG9ydHNcIikge1xyXG4gICAgICAgIHJlcGxhY2VUZXh0ID0gc29mdExhYmVsc1swXS5hdWRpdExhYmVsO1xyXG4gICAgICAgIGxldCByZSA9IC9hdWRpdC9naTtcclxuICAgICAgICBpZiAocmVwbGFjZVRleHQpIHtcclxuICAgICAgICAgIHNlYXJjaFRleHQgPSBzZWFyY2hUZXh0LnJlcGxhY2UocmUsIHJlcGxhY2VUZXh0KTtcclxuICAgICAgICB9XHJcbiAgICAgIH1cclxuICAgICAgaWYgKCFzZWFyY2hUZXh0LmluY2x1ZGVzKCdlc3RpbWF0ZWQgdGltZScpKSB7XHJcbiAgICAgICAgbGV0IHNlYXJjaFN0cmluZyA9IHNlYXJjaFRleHQuc3BsaXQoJy4nKTtcclxuICAgICAgICBsZXQgc3RyID0gXCJcIjtcclxuXHJcbiAgICAgICAgc2VhcmNoU3RyaW5nLmZvckVhY2goZnVuY3Rpb24gKGl0ZW0pIHtcclxuXHJcbiAgICAgICAgICBpZiAoaXRlbS50cmltKCkgIT0gXCJcIikge1xyXG4gICAgICAgICAgICBpZiAoaXRlbSAhPSBcIkhSXCIgJiYgIWl0ZW0uaW5jbHVkZXMoJ2gnKSlcclxuICAgICAgICAgICAgICBpdGVtID0gaXRlbS50cmltKCkuY2hhckF0KDApLnRvVXBwZXJDYXNlKCkgKyBpdGVtLnRyaW0oKS5zdWJzdHIoMSkudG9Mb3dlckNhc2UoKTtcclxuICAgICAgICAgICAgc3RyID0gc3RyICE9IFwiXCIgPyAoc3RyICsgXCIuIFwiICsgaXRlbSArIFwiLlwiKSA6IGl0ZW07XHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgfSk7XHJcblxyXG4gICAgICAgIHNlYXJjaFRleHQgPSBzdHI7XHJcbiAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICByZXR1cm4gc2VhcmNoVGV4dDtcclxuICB9XHJcbn1cclxuIl19
1
+ import { Injectable, Pipe } from "@angular/core";
2
+ import * as i0 from "@angular/core";
3
+ export class SoftLabelPipe {
4
+ transform(searchText, softLabels) {
5
+ let replaceText;
6
+ if (!softLabels || softLabels.length === 0) {
7
+ return searchText;
8
+ }
9
+ if (searchText && searchText.trim()) {
10
+ if (searchText.toLowerCase().match(/(^|\W)project($|\W)/)) {
11
+ replaceText = softLabels[0].projectLabel;
12
+ let re = /project/gi;
13
+ if (replaceText) {
14
+ searchText = searchText.replace(re, replaceText);
15
+ }
16
+ }
17
+ if (searchText.toLowerCase().match(/(^|\W)deadline($|\W)/)) {
18
+ replaceText = softLabels[0].deadlineLabel;
19
+ let re = /deadline/gi;
20
+ if (replaceText) {
21
+ searchText = searchText.replace(re, replaceText);
22
+ }
23
+ }
24
+ if (searchText.toLowerCase().match(/(^|\W)goal($|\W)/)) {
25
+ replaceText = softLabels[0].goalLabel;
26
+ let re = /goal/gi;
27
+ if (replaceText) {
28
+ searchText = searchText.replace(re, replaceText);
29
+ }
30
+ }
31
+ if (searchText.toLowerCase().match(/(^|\W)work item($|\W)/)) {
32
+ replaceText = softLabels[0].userStoryLabel;
33
+ let re = /work item/gi;
34
+ if (replaceText) {
35
+ searchText = searchText.replace(re, replaceText);
36
+ }
37
+ }
38
+ if (searchText.toLowerCase().match(/(^|\W)employee($|\W)/)) {
39
+ replaceText = softLabels[0].employeeLabel;
40
+ let re = /employee/gi;
41
+ if (replaceText) {
42
+ searchText = searchText.replace(re, replaceText);
43
+ }
44
+ }
45
+ if (searchText.toLowerCase().match(/(^|\W)projects($|\W)/)) {
46
+ replaceText = softLabels[0].projectsLabel;
47
+ let re = /projects/gi;
48
+ if (replaceText) {
49
+ searchText = searchText.replace(re, replaceText);
50
+ }
51
+ }
52
+ if (searchText.toLowerCase().match(/(^|\W)deadlines($|\W)/)) {
53
+ replaceText = softLabels[0].deadlinesLabel;
54
+ let re = /deadlines/gi;
55
+ if (replaceText) {
56
+ searchText = searchText.replace(re, replaceText);
57
+ }
58
+ }
59
+ if (searchText.toLowerCase().match(/(^|\W)goals($|\W)/)) {
60
+ replaceText = softLabels[0].goalsLabel;
61
+ let re = /goals/gi;
62
+ if (replaceText) {
63
+ searchText = searchText.replace(re, replaceText);
64
+ }
65
+ }
66
+ if (searchText.toLowerCase().match(/(^|\W)work items($|\W)/)) {
67
+ replaceText = softLabels[0].userStoriesLabel;
68
+ let re = /work items/gi;
69
+ if (replaceText) {
70
+ searchText = searchText.replace(re, replaceText);
71
+ }
72
+ }
73
+ if (searchText.toLowerCase().match(/(^|\W)employees($|\W)/)) {
74
+ replaceText = softLabels[0].employeesLabel;
75
+ let re = /employees/gi;
76
+ if (replaceText) {
77
+ searchText = searchText.replace(re, replaceText);
78
+ }
79
+ }
80
+ if (searchText.toLowerCase().match(/(^|\W)scenario($|\W)/)) {
81
+ replaceText = softLabels[0].scenarioLabel;
82
+ let re = /scenario/gi;
83
+ if (replaceText) {
84
+ searchText = searchText.replace(re, replaceText);
85
+ }
86
+ }
87
+ if (searchText.toLowerCase().match(/(^|\W)test suite($|\W)/)) {
88
+ replaceText = softLabels[0].scenariosLabel;
89
+ let re = /test suite/gi;
90
+ if (replaceText) {
91
+ searchText = searchText.replace(re, replaceText);
92
+ }
93
+ }
94
+ if (searchText.toLowerCase().match(/(^|\W)test suites($|\W)/)) {
95
+ replaceText = softLabels[0].scenarioLabel;
96
+ let re = /test suites/gi;
97
+ if (replaceText) {
98
+ searchText = searchText.replace(re, replaceText);
99
+ }
100
+ }
101
+ if (searchText.toLowerCase().match(/(^|\W)scenarios($|\W)/)) {
102
+ replaceText = softLabels[0].scenariosLabel;
103
+ let re = /scenarios/gi;
104
+ if (replaceText) {
105
+ searchText = searchText.replace(re, replaceText);
106
+ }
107
+ }
108
+ if (searchText.toLowerCase().match(/(^|\W)run($|\W)/)) {
109
+ replaceText = softLabels[0].runLabel;
110
+ let re = /run/gi;
111
+ if (replaceText) {
112
+ searchText = searchText.replace(re, replaceText);
113
+ }
114
+ }
115
+ if (searchText.toLowerCase().match(/(^|\W)runs($|\W)/)) {
116
+ replaceText = softLabels[0].runsLabel;
117
+ let re = /runs/gi;
118
+ if (replaceText) {
119
+ searchText = searchText.replace(re, replaceText);
120
+ }
121
+ }
122
+ if (searchText.toLowerCase().match(/(^|\W)test suite($|\W)/)) {
123
+ replaceText = softLabels[0].runLabel;
124
+ let re = /run/gi;
125
+ if (replaceText) {
126
+ searchText = searchText.replace(re, replaceText);
127
+ }
128
+ }
129
+ if (searchText.toLowerCase().match(/(^|\W)test suites($|\W)/)) {
130
+ replaceText = softLabels[0].runsLabel;
131
+ let re = /runs/gi;
132
+ if (replaceText) {
133
+ searchText = searchText.replace(re, replaceText);
134
+ }
135
+ }
136
+ if (searchText.toLowerCase().match(/(^|\W)version($|\W)/)) {
137
+ replaceText = softLabels[0].versionLabel;
138
+ let re = /version/gi;
139
+ if (replaceText) {
140
+ searchText = searchText.replace(re, replaceText);
141
+ }
142
+ }
143
+ if (searchText.toLowerCase().match(/(^|\W)versions($|\W)/)) {
144
+ replaceText = softLabels[0].versionsLabel;
145
+ let re = /versions/gi;
146
+ if (replaceText) {
147
+ searchText = searchText.replace(re, replaceText);
148
+ }
149
+ }
150
+ if (searchText.toLowerCase().match(/(^|\W)test report($|\W)/)) {
151
+ replaceText = softLabels[0].testReportLabel;
152
+ let re = /test report/gi;
153
+ if (replaceText) {
154
+ searchText = searchText.replace(re, replaceText);
155
+ }
156
+ }
157
+ if (searchText.toLowerCase().match(/(^|\W)test reports($|\W)/)) {
158
+ replaceText = softLabels[0].testReportsLabel;
159
+ let re = /test reports/gi;
160
+ if (replaceText) {
161
+ searchText = searchText.replace(re, replaceText);
162
+ }
163
+ }
164
+ if (searchText.toLowerCase().match(/(^|\W)estimated time($|\W)/)) {
165
+ replaceText = softLabels[0].estimatedTimeLabel;
166
+ let re = /estimated time/gi;
167
+ if (replaceText) {
168
+ searchText = searchText.replace(re, replaceText);
169
+ }
170
+ }
171
+ if (searchText.toLowerCase().match(/(^|\W)estimation($|\W)/)) {
172
+ replaceText = softLabels[0].estimationLabel;
173
+ let re = /estimation/gi;
174
+ if (replaceText) {
175
+ searchText = searchText.replace(re, replaceText);
176
+ }
177
+ }
178
+ if (searchText.toLowerCase().match(/(^|\W)estimations($|\W)/)) {
179
+ replaceText = softLabels[0].estimationsLabel;
180
+ let re = /estimations/gi;
181
+ if (replaceText) {
182
+ searchText = searchText.replace(re, replaceText);
183
+ }
184
+ }
185
+ if (searchText.toLowerCase().match(/(^|\W)estimate($|\W)/)) {
186
+ replaceText = softLabels[0].estimateLabel;
187
+ let re = /estimate/gi;
188
+ if (replaceText) {
189
+ searchText = searchText.replace(re, replaceText);
190
+ }
191
+ }
192
+ if (searchText.toLowerCase().match(/(^|\W)estimates($|\W)/)) {
193
+ replaceText = softLabels[0].estimatesLabel;
194
+ let re = /estimates/gi;
195
+ if (replaceText) {
196
+ searchText = searchText.replace(re, replaceText);
197
+ }
198
+ }
199
+ if (searchText.toLowerCase().match(/(^|\W)audits($|\W)/)) {
200
+ replaceText = softLabels[0].auditsLabel;
201
+ let re = /audits/gi;
202
+ if (replaceText) {
203
+ searchText = searchText.replace(re, replaceText);
204
+ }
205
+ }
206
+ if (searchText.toLowerCase().match(/(^|\W)conduct($|\W)/)) {
207
+ replaceText = softLabels[0].conductLabel;
208
+ let re = /conduct/gi;
209
+ if (replaceText) {
210
+ searchText = searchText.replace(re, replaceText);
211
+ }
212
+ }
213
+ if (searchText.toLowerCase().match(/(^|\W)conducts($|\W)/)) {
214
+ replaceText = softLabels[0].conductsLabel;
215
+ let re = /conducts/gi;
216
+ if (replaceText) {
217
+ searchText = searchText.replace(re, replaceText);
218
+ }
219
+ }
220
+ if (searchText.toLowerCase().match(/(^|\W)action($|\W)/)) {
221
+ replaceText = softLabels[0].actionLabel;
222
+ let re = /action/gi;
223
+ if (replaceText) {
224
+ searchText = searchText.replace(re, replaceText);
225
+ }
226
+ }
227
+ if (searchText.toLowerCase().match(/(^|\W)actions($|\W)/)) {
228
+ replaceText = softLabels[0].actionsLabel;
229
+ let re = /actions/gi;
230
+ if (replaceText) {
231
+ searchText = searchText.replace(re, replaceText);
232
+ }
233
+ }
234
+ if (searchText.toLowerCase().match(/(^|\W)timeline($|\W)/)) {
235
+ replaceText = softLabels[0].timelineLabel;
236
+ let re = /timeline/gi;
237
+ if (replaceText) {
238
+ searchText = searchText.replace(re, replaceText);
239
+ }
240
+ }
241
+ if (searchText.toLowerCase() == "audit report") {
242
+ replaceText = softLabels[0].auditReportLabel;
243
+ let re = /audit report/gi;
244
+ if (replaceText) {
245
+ searchText = searchText.replace(re, replaceText);
246
+ }
247
+ }
248
+ if (searchText.toLowerCase() == "audit reports") {
249
+ replaceText = softLabels[0].auditReportsLabel;
250
+ let re = /audit reports/gi;
251
+ if (replaceText) {
252
+ searchText = searchText.replace(re, replaceText);
253
+ }
254
+ }
255
+ if (searchText.toLowerCase().match(/(^|\W)audit activity($|\W)/)) {
256
+ replaceText = softLabels[0].auditActivityLabel;
257
+ let re = /audit activity/gi;
258
+ if (replaceText) {
259
+ searchText = searchText.replace(re, replaceText);
260
+ }
261
+ }
262
+ if (searchText.toLowerCase().match(/(^|\W)audit analytics($|\W)/)) {
263
+ replaceText = softLabels[0].auditAnalyticsLabel;
264
+ let re = /audit analytics/gi;
265
+ if (replaceText) {
266
+ searchText = searchText.replace(re, replaceText);
267
+ }
268
+ }
269
+ if (searchText.toLowerCase().match(/(^|\W)client($|\W)/)) {
270
+ replaceText = softLabels[0].clientLabel;
271
+ let re = /client/gi;
272
+ if (replaceText) {
273
+ searchText = searchText.replace(re, replaceText);
274
+ }
275
+ }
276
+ if (searchText.toLowerCase().match(/(^|\W)clients($|\W)/)) {
277
+ replaceText = softLabels[0].clientsLabel;
278
+ let re = /clients/gi;
279
+ if (replaceText) {
280
+ searchText = searchText.replace(re, replaceText);
281
+ }
282
+ }
283
+ if (searchText.toLowerCase().match(/(^|\W)question($|\W)/)) {
284
+ replaceText = softLabels[0].auditQuestionLabel;
285
+ let re = /question/gi;
286
+ if (replaceText) {
287
+ searchText = searchText.replace(re, replaceText);
288
+ }
289
+ }
290
+ if (searchText.toLowerCase().match(/(^|\W)questions($|\W)/)) {
291
+ replaceText = softLabels[0].auditQuestionsLabel;
292
+ let re = /questions/gi;
293
+ if (replaceText) {
294
+ searchText = searchText.replace(re, replaceText);
295
+ }
296
+ }
297
+ if (searchText.toLowerCase().match(/(^|\W)report($|\W)/) && searchText.toLowerCase() != "audit report" && searchText.toLowerCase() != "audit reports") {
298
+ replaceText = softLabels[0].reportLabel;
299
+ let re = /report/gi;
300
+ if (replaceText) {
301
+ searchText = searchText.replace(re, replaceText);
302
+ }
303
+ }
304
+ if (searchText.toLowerCase().match(/(^|\W)reports($|\W)/) && searchText.toLowerCase() != "audit report" && searchText.toLowerCase() != "audit reports") {
305
+ replaceText = softLabels[0].reportsLabel;
306
+ let re = /reports/gi;
307
+ if (replaceText) {
308
+ searchText = searchText.replace(re, replaceText);
309
+ }
310
+ }
311
+ if (searchText.toLowerCase().match(/(^|\W)audit($|\W)/) && searchText.toLowerCase() != "audit report" && searchText.toLowerCase() != "audit reports") {
312
+ replaceText = softLabels[0].auditLabel;
313
+ let re = /audit/gi;
314
+ if (replaceText) {
315
+ searchText = searchText.replace(re, replaceText);
316
+ }
317
+ }
318
+ if (!searchText.includes('estimated time')) {
319
+ let searchString = searchText.split('.');
320
+ let str = "";
321
+ searchString.forEach(function (item) {
322
+ if (item.trim() != "") {
323
+ if (item != "HR" && !item.includes('h'))
324
+ item = item.trim().charAt(0).toUpperCase() + item.trim().substr(1).toLowerCase();
325
+ str = str != "" ? (str + ". " + item + ".") : item;
326
+ }
327
+ });
328
+ searchText = str;
329
+ }
330
+ }
331
+ return searchText;
332
+ }
333
+ }
334
+ SoftLabelPipe.ɵfac = function SoftLabelPipe_Factory(t) { return new (t || SoftLabelPipe)(); };
335
+ SoftLabelPipe.ɵpipe = /*@__PURE__*/ i0.ɵɵdefinePipe({ name: "softLabelsPipe", type: SoftLabelPipe, pure: true });
336
+ SoftLabelPipe.ɵprov = /*@__PURE__*/ i0.ɵɵdefineInjectable({ token: SoftLabelPipe, factory: SoftLabelPipe.ɵfac, providedIn: 'root' });
337
+ (function () { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(SoftLabelPipe, [{
338
+ type: Pipe,
339
+ args: [{
340
+ name: "softLabelsPipe"
341
+ }]
342
+ }, {
343
+ type: Injectable,
344
+ args: [{ providedIn: 'root' }]
345
+ }], null, null); })();
346
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic29mdGxhYmVscy5waXBlcy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3NoZWxsLW1vZHVsZS1jb21wb25lbnRzL3NoZWxsLWNvbXBvbmVudHMvc3JjL2xpYi9nbG9iYWxkZXBlbmRlbmNpZXMvcGlwZXMvc29mdGxhYmVscy5waXBlcy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFFLElBQUksRUFBaUIsTUFBTSxlQUFlLENBQUM7O0FBTWhFLE1BQU0sT0FBTyxhQUFhO0lBQ3hCLFNBQVMsQ0FBQyxVQUFrQixFQUFFLFVBQWlCO1FBQzdDLElBQUksV0FBVyxDQUFDO1FBQ2hCLElBQUksQ0FBQyxVQUFVLElBQUksVUFBVSxDQUFDLE1BQU0sS0FBSyxDQUFDLEVBQUU7WUFDMUMsT0FBTyxVQUFVLENBQUM7U0FDbkI7UUFDRCxJQUFJLFVBQVUsSUFBSSxVQUFVLENBQUMsSUFBSSxFQUFFLEVBQUU7WUFDbkMsSUFBSSxVQUFVLENBQUMsV0FBVyxFQUFFLENBQUMsS0FBSyxDQUFDLHFCQUFxQixDQUFDLEVBQUU7Z0JBQ3pELFdBQVcsR0FBRyxVQUFVLENBQUMsQ0FBQyxDQUFDLENBQUMsWUFBWSxDQUFDO2dCQUN6QyxJQUFJLEVBQUUsR0FBRyxXQUFXLENBQUM7Z0JBQ3JCLElBQUksV0FBVyxFQUFFO29CQUNmLFVBQVUsR0FBRyxVQUFVLENBQUMsT0FBTyxDQUFDLEVBQUUsRUFBRSxXQUFXLENBQUMsQ0FBQztpQkFDbEQ7YUFDRjtZQUNELElBQUksVUFBVSxDQUFDLFdBQVcsRUFBRSxDQUFDLEtBQUssQ0FBQyxzQkFBc0IsQ0FBQyxFQUFFO2dCQUMxRCxXQUFXLEdBQUcsVUFBVSxDQUFDLENBQUMsQ0FBQyxDQUFDLGFBQWEsQ0FBQztnQkFDMUMsSUFBSSxFQUFFLEdBQUcsWUFBWSxDQUFDO2dCQUN0QixJQUFJLFdBQVcsRUFBRTtvQkFDZixVQUFVLEdBQUcsVUFBVSxDQUFDLE9B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QVcsRUFBRSxDQUFDO3dCQUNuRixHQUFHLEdBQUcsR0FBRyxJQUFJLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLEdBQUcsSUFBSSxHQUFHLElBQUksR0FBRyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDO3FCQUNwRDtnQkFDSCxDQUFDLENBQUMsQ0FBQztnQkFFSCxVQUFVLEdBQUcsR0FBRyxDQUFDO2FBQ2xCO1NBQ0Y7UUFFRCxPQUFPLFVBQVUsQ0FBQztJQUNwQixDQUFDOzswRUE3VVUsYUFBYTtvRkFBYixhQUFhO21FQUFiLGFBQWEsV0FBYixhQUFhLG1CQURBLE1BQU07dUZBQ25CLGFBQWE7Y0FKekIsSUFBSTtlQUFDO2dCQUNKLElBQUksRUFBRSxnQkFBZ0I7YUFDdkI7O2NBQ0EsVUFBVTtlQUFDLEVBQUUsVUFBVSxFQUFFLE1BQU0sRUFBRSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdGFibGUsIFBpcGUsIFBpcGVUcmFuc2Zvcm0gfSBmcm9tIFwiQGFuZ3VsYXIvY29yZVwiO1xuaW1wb3J0ICogYXMgXyBmcm9tIFwidW5kZXJzY29yZVwiO1xuQFBpcGUoe1xuICBuYW1lOiBcInNvZnRMYWJlbHNQaXBlXCJcbn0pXG5ASW5qZWN0YWJsZSh7IHByb3ZpZGVkSW46ICdyb290JyB9KVxuZXhwb3J0IGNsYXNzIFNvZnRMYWJlbFBpcGUgaW1wbGVtZW50cyBQaXBlVHJhbnNmb3JtIHtcbiAgdHJhbnNmb3JtKHNlYXJjaFRleHQ6IHN0cmluZywgc29mdExhYmVsczogYW55W10pOiBzdHJpbmcge1xuICAgIGxldCByZXBsYWNlVGV4dDtcbiAgICBpZiAoIXNvZnRMYWJlbHMgfHwgc29mdExhYmVscy5sZW5ndGggPT09IDApIHtcbiAgICAgIHJldHVybiBzZWFyY2hUZXh0O1xuICAgIH1cbiAgICBpZiAoc2VhcmNoVGV4dCAmJiBzZWFyY2hUZXh0LnRyaW0oKSkge1xuICAgICAgaWYgKHNlYXJjaFRleHQudG9Mb3dlckNhc2UoKS5tYXRjaCgvKF58XFxXKXByb2plY3QoJHxcXFcpLykpIHtcbiAgICAgICAgcmVwbGFjZVRleHQgPSBzb2Z0TGFiZWxzWzBdLnByb2plY3RMYWJlbDtcbiAgICAgICAgbGV0IHJlID0gL3Byb2plY3QvZ2k7XG4gICAgICAgIGlmIChyZXBsYWNlVGV4dCkge1xuICAgICAgICAgIHNlYXJjaFRleHQgPSBzZWFyY2hUZXh0LnJlcGxhY2UocmUsIHJlcGxhY2VUZXh0KTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgICAgaWYgKHNlYXJjaFRleHQudG9Mb3dlckNhc2UoKS5tYXRjaCgvKF58XFxXKWRlYWRsaW5lKCR8XFxXKS8pKSB7XG4gICAgICAgIHJlcGxhY2VUZXh0ID0gc29mdExhYmVsc1swXS5kZWFkbGluZUxhYmVsO1xuICAgICAgICBsZXQgcmUgPSAvZGVhZGxpbmUvZ2k7XG4gICAgICAgIGlmIChyZXBsYWNlVGV4dCkge1xuICAgICAgICAgIHNlYXJjaFRleHQgPSBzZWFyY2hUZXh0LnJlcGxhY2UocmUsIHJlcGxhY2VUZXh0KTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgICAgaWYgKHNlYXJjaFRleHQudG9Mb3dlckNhc2UoKS5tYXRjaCgvKF58XFxXKWdvYWwoJHxcXFcpLykpIHtcbiAgICAgICAgcmVwbGFjZVRleHQgPSBzb2Z0TGFiZWxzWzBdLmdvYWxMYWJlbDtcbiAgICAgICAgbGV0IHJlID0gL2dvYWwvZ2k7XG4gICAgICAgIGlmIChyZXBsYWNlVGV4dCkge1xuICAgICAgICAgIHNlYXJjaFRleHQgPSBzZWFyY2hUZXh0LnJlcGxhY2UocmUsIHJlcGxhY2VUZXh0KTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgICAgaWYgKHNlYXJjaFRleHQudG9Mb3dlckNhc2UoKS5tYXRjaCgvKF58XFxXKXdvcmsgaXRlbSgkfFxcVykvKSkge1xuICAgICAgICByZXBsYWNlVGV4dCA9IHNvZnRMYWJlbHNbMF0udXNlclN0b3J5TGFiZWw7XG4gICAgICAgIGxldCByZSA9IC93b3JrIGl0ZW0vZ2k7XG4gICAgICAgIGlmIChyZXBsYWNlVGV4dCkge1xuICAgICAgICAgIHNlYXJjaFRleHQgPSBzZWFyY2hUZXh0LnJlcGxhY2UocmUsIHJlcGxhY2VUZXh0KTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgICAgaWYgKHNlYXJjaFRleHQudG9Mb3dlckNhc2UoKS5tYXRjaCgvKF58XFxXKWVtcGxveWVlKCR8XFxXKS8pKSB7XG4gICAgICAgIHJlcGxhY2VUZXh0ID0gc29mdExhYmVsc1swXS5lbXBsb3llZUxhYmVsO1xuICAgICAgICBsZXQgcmUgPSAvZW1wbG95ZWUvZ2k7XG4gICAgICAgIGlmIChyZXBsYWNlVGV4dCkge1xuICAgICAgICAgIHNlYXJjaFRleHQgPSBzZWFyY2hUZXh0LnJlcGxhY2UocmUsIHJlcGxhY2VUZXh0KTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgICAgaWYgKHNlYXJjaFRleHQudG9Mb3dlckNhc2UoKS5tYXRjaCgvKF58XFxXKXByb2plY3RzKCR8XFxXKS8pKSB7XG4gICAgICAgIHJlcGxhY2VUZXh0ID0gc29mdExhYmVsc1swXS5wcm9qZWN0c0xhYmVsO1xuICAgICAgICBsZXQgcmUgPSAvcHJvamVjdHMvZ2k7XG4gICAgICAgIGlmIChyZXBsYWNlVGV4dCkge1xuICAgICAgICAgIHNlYXJjaFRleHQgPSBzZWFyY2hUZXh0LnJlcGxhY2UocmUsIHJlcGxhY2VUZXh0KTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgICAgaWYgKHNlYXJjaFRleHQudG9Mb3dlckNhc2UoKS5tYXRjaCgvKF58XFxXKWRlYWRsaW5lcygkfFxcVykvKSkge1xuICAgICAgICByZXBsYWNlVGV4dCA9IHNvZnRMYWJlbHNbMF0uZGVhZGxpbmVzTGFiZWw7XG4gICAgICAgIGxldCByZSA9IC9kZWFkbGluZXMvZ2k7XG4gICAgICAgIGlmIChyZXBsYWNlVGV4dCkge1xuICAgICAgICAgIHNlYXJjaFRleHQgPSBzZWFyY2hUZXh0LnJlcGxhY2UocmUsIHJlcGxhY2VUZXh0KTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgICAgaWYgKHNlYXJjaFRleHQudG9Mb3dlckNhc2UoKS5tYXRjaCgvKF58XFxXKWdvYWxzKCR8XFxXKS8pKSB7XG4gICAgICAgIHJlcGxhY2VUZXh0ID0gc29mdExhYmVsc1swXS5nb2Fsc0xhYmVsO1xuICAgICAgICBsZXQgcmUgPSAvZ29hbHMvZ2k7XG4gICAgICAgIGlmIChyZXBsYWNlVGV4dCkge1xuICAgICAgICAgIHNlYXJjaFRleHQgPSBzZWFyY2hUZXh0LnJlcGxhY2UocmUsIHJlcGxhY2VUZXh0KTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgICAgaWYgKHNlYXJjaFRleHQudG9Mb3dlckNhc2UoKS5tYXRjaCgvKF58XFxXKXdvcmsgaXRlbXMoJHxcXFcpLykpIHtcbiAgICAgICAgcmVwbGFjZVRleHQgPSBzb2Z0TGFiZWxzWzBdLnVzZXJTdG9yaWVzTGFiZWw7XG4gICAgICAgIGxldCByZSA9IC93b3JrIGl0ZW1zL2dpO1xuICAgICAgICBpZiAocmVwbGFjZVRleHQpIHtcbiAgICAgICAgICBzZWFyY2hUZXh0ID0gc2VhcmNoVGV4dC5yZXBsYWNlKHJlLCByZXBsYWNlVGV4dCk7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICAgIGlmIChzZWFyY2hUZXh0LnRvTG93ZXJDYXNlKCkubWF0Y2goLyhefFxcVyllbXBsb3llZXMoJHxcXFcpLykpIHtcbiAgICAgICAgcmVwbGFjZVRleHQgPSBzb2Z0TGFiZWxzWzBdLmVtcGxveWVlc0xhYmVsO1xuICAgICAgICBsZXQgcmUgPSAvZW1wbG95ZWVzL2dpO1xuICAgICAgICBpZiAocmVwbGFjZVRleHQpIHtcbiAgICAgICAgICBzZWFyY2hUZXh0ID0gc2VhcmNoVGV4dC5yZXBsYWNlKHJlLCByZXBsYWNlVGV4dCk7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICAgIGlmIChzZWFyY2hUZXh0LnRvTG93ZXJDYXNlKCkubWF0Y2goLyhefFxcVylzY2VuYXJpbygkfFxcVykvKSkge1xuICAgICAgICByZXBsYWNlVGV4dCA9IHNvZnRMYWJlbHNbMF0uc2NlbmFyaW9MYWJlbDtcbiAgICAgICAgbGV0IHJlID0gL3NjZW5hcmlvL2dpO1xuICAgICAgICBpZiAocmVwbGFjZVRleHQpIHtcbiAgICAgICAgICBzZWFyY2hUZXh0ID0gc2VhcmNoVGV4dC5yZXBsYWNlKHJlLCByZXBsYWNlVGV4dCk7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICAgIGlmIChzZWFyY2hUZXh0LnRvTG93ZXJDYXNlKCkubWF0Y2goLyhefFxcVyl0ZXN0IHN1aXRlKCR8XFxXKS8pKSB7XG4gICAgICAgIHJlcGxhY2VUZXh0ID0gc29mdExhYmVsc1swXS5zY2VuYXJpb3NMYWJlbDtcbiAgICAgICAgbGV0IHJlID0gL3Rlc3Qgc3VpdGUvZ2k7XG4gICAgICAgIGlmIChyZXBsYWNlVGV4dCkge1xuICAgICAgICAgIHNlYXJjaFRleHQgPSBzZWFyY2hUZXh0LnJlcGxhY2UocmUsIHJlcGxhY2VUZXh0KTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgICAgaWYgKHNlYXJjaFRleHQudG9Mb3dlckNhc2UoKS5tYXRjaCgvKF58XFxXKXRlc3Qgc3VpdGVzKCR8XFxXKS8pKSB7XG4gICAgICAgIHJlcGxhY2VUZXh0ID0gc29mdExhYmVsc1swXS5zY2VuYXJpb0xhYmVsO1xuICAgICAgICBsZXQgcmUgPSAvdGVzdCBzdWl0ZXMvZ2k7XG4gICAgICAgIGlmIChyZXBsYWNlVGV4dCkge1xuICAgICAgICAgIHNlYXJjaFRleHQgPSBzZWFyY2hUZXh0LnJlcGxhY2UocmUsIHJlcGxhY2VUZXh0KTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgICAgaWYgKHNlYXJjaFRleHQudG9Mb3dlckNhc2UoKS5tYXRjaCgvKF58XFxXKXNjZW5hcmlvcygkfFxcVykvKSkge1xuICAgICAgICByZXBsYWNlVGV4dCA9IHNvZnRMYWJlbHNbMF0uc2NlbmFyaW9zTGFiZWw7XG4gICAgICAgIGxldCByZSA9IC9zY2VuYXJpb3MvZ2k7XG4gICAgICAgIGlmIChyZXBsYWNlVGV4dCkge1xuICAgICAgICAgIHNlYXJjaFRleHQgPSBzZWFyY2hUZXh0LnJlcGxhY2UocmUsIHJlcGxhY2VUZXh0KTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgICAgaWYgKHNlYXJjaFRleHQudG9Mb3dlckNhc2UoKS5tYXRjaCgvKF58XFxXKXJ1bigkfFxcVykvKSkge1xuICAgICAgICByZXBsYWNlVGV4dCA9IHNvZnRMYWJlbHNbMF0ucnVuTGFiZWw7XG4gICAgICAgIGxldCByZSA9IC9ydW4vZ2k7XG4gICAgICAgIGlmIChyZXBsYWNlVGV4dCkge1xuICAgICAgICAgIHNlYXJjaFRleHQgPSBzZWFyY2hUZXh0LnJlcGxhY2UocmUsIHJlcGxhY2VUZXh0KTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgICAgaWYgKHNlYXJjaFRleHQudG9Mb3dlckNhc2UoKS5tYXRjaCgvKF58XFxXKXJ1bnMoJHxcXFcpLykpIHtcbiAgICAgICAgcmVwbGFjZVRleHQgPSBzb2Z0TGFiZWxzWzBdLnJ1bnNMYWJlbDtcbiAgICAgICAgbGV0IHJlID0gL3J1bnMvZ2k7XG4gICAgICAgIGlmIChyZXBsYWNlVGV4dCkge1xuICAgICAgICAgIHNlYXJjaFRleHQgPSBzZWFyY2hUZXh0LnJlcGxhY2UocmUsIHJlcGxhY2VUZXh0KTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgICAgaWYgKHNlYXJjaFRleHQudG9Mb3dlckNhc2UoKS5tYXRjaCgvKF58XFxXKXRlc3Qgc3VpdGUoJHxcXFcpLykpIHtcbiAgICAgICAgcmVwbGFjZVRleHQgPSBzb2Z0TGFiZWxzWzBdLnJ1bkxhYmVsO1xuICAgICAgICBsZXQgcmUgPSAvcnVuL2dpO1xuICAgICAgICBpZiAocmVwbGFjZVRleHQpIHtcbiAgICAgICAgICBzZWFyY2hUZXh0ID0gc2VhcmNoVGV4dC5yZXBsYWNlKHJlLCByZXBsYWNlVGV4dCk7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICAgIGlmIChzZWFyY2hUZXh0LnRvTG93ZXJDYXNlKCkubWF0Y2goLyhefFxcVyl0ZXN0IHN1aXRlcygkfFxcVykvKSkge1xuICAgICAgICByZXBsYWNlVGV4dCA9IHNvZnRMYWJlbHNbMF0ucnVuc0xhYmVsO1xuICAgICAgICBsZXQgcmUgPSAvcnVucy9naTtcbiAgICAgICAgaWYgKHJlcGxhY2VUZXh0KSB7XG4gICAgICAgICAgc2VhcmNoVGV4dCA9IHNlYXJjaFRleHQucmVwbGFjZShyZSwgcmVwbGFjZVRleHQpO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgICBpZiAoc2VhcmNoVGV4dC50b0xvd2VyQ2FzZSgpLm1hdGNoKC8oXnxcXFcpdmVyc2lvbigkfFxcVykvKSkge1xuICAgICAgICByZXBsYWNlVGV4dCA9IHNvZnRMYWJlbHNbMF0udmVyc2lvbkxhYmVsO1xuICAgICAgICBsZXQgcmUgPSAvdmVyc2lvbi9naTtcbiAgICAgICAgaWYgKHJlcGxhY2VUZXh0KSB7XG4gICAgICAgICAgc2VhcmNoVGV4dCA9IHNlYXJjaFRleHQucmVwbGFjZShyZSwgcmVwbGFjZVRleHQpO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgICBpZiAoc2VhcmNoVGV4dC50b0xvd2VyQ2FzZSgpLm1hdGNoKC8oXnxcXFcpdmVyc2lvbnMoJHxcXFcpLykpIHtcbiAgICAgICAgcmVwbGFjZVRleHQgPSBzb2Z0TGFiZWxzWzBdLnZlcnNpb25zTGFiZWw7XG4gICAgICAgIGxldCByZSA9IC92ZXJzaW9ucy9naTtcbiAgICAgICAgaWYgKHJlcGxhY2VUZXh0KSB7XG4gICAgICAgICAgc2VhcmNoVGV4dCA9IHNlYXJjaFRleHQucmVwbGFjZShyZSwgcmVwbGFjZVRleHQpO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgICBpZiAoc2VhcmNoVGV4dC50b0xvd2VyQ2FzZSgpLm1hdGNoKC8oXnxcXFcpdGVzdCByZXBvcnQoJHxcXFcpLykpIHtcbiAgICAgICAgcmVwbGFjZVRleHQgPSBzb2Z0TGFiZWxzWzBdLnRlc3RSZXBvcnRMYWJlbDtcbiAgICAgICAgbGV0IHJlID0gL3Rlc3QgcmVwb3J0L2dpO1xuICAgICAgICBpZiAocmVwbGFjZVRleHQpIHtcbiAgICAgICAgICBzZWFyY2hUZXh0ID0gc2VhcmNoVGV4dC5yZXBsYWNlKHJlLCByZXBsYWNlVGV4dCk7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICAgIGlmIChzZWFyY2hUZXh0LnRvTG93ZXJDYXNlKCkubWF0Y2goLyhefFxcVyl0ZXN0IHJlcG9ydHMoJHxcXFcpLykpIHtcbiAgICAgICAgcmVwbGFjZVRleHQgPSBzb2Z0TGFiZWxzWzBdLnRlc3RSZXBvcnRzTGFiZWw7XG4gICAgICAgIGxldCByZSA9IC90ZXN0IHJlcG9ydHMvZ2k7XG4gICAgICAgIGlmIChyZXBsYWNlVGV4dCkge1xuICAgICAgICAgIHNlYXJjaFRleHQgPSBzZWFyY2hUZXh0LnJlcGxhY2UocmUsIHJlcGxhY2VUZXh0KTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgICAgaWYgKHNlYXJjaFRleHQudG9Mb3dlckNhc2UoKS5tYXRjaCgvKF58XFxXKWVzdGltYXRlZCB0aW1lKCR8XFxXKS8pKSB7XG4gICAgICAgIHJlcGxhY2VUZXh0ID0gc29mdExhYmVsc1swXS5lc3RpbWF0ZWRUaW1lTGFiZWw7XG4gICAgICAgIGxldCByZSA9IC9lc3RpbWF0ZWQgdGltZS9naTtcbiAgICAgICAgaWYgKHJlcGxhY2VUZXh0KSB7XG4gICAgICAgICAgc2VhcmNoVGV4dCA9IHNlYXJjaFRleHQucmVwbGFjZShyZSwgcmVwbGFjZVRleHQpO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgICBpZiAoc2VhcmNoVGV4dC50b0xvd2VyQ2FzZSgpLm1hdGNoKC8oXnxcXFcpZXN0aW1hdGlvbigkfFxcVykvKSkge1xuICAgICAgICByZXBsYWNlVGV4dCA9IHNvZnRMYWJlbHNbMF0uZXN0aW1hdGlvbkxhYmVsO1xuICAgICAgICBsZXQgcmUgPSAvZXN0aW1hdGlvbi9naTtcbiAgICAgICAgaWYgKHJlcGxhY2VUZXh0KSB7XG4gICAgICAgICAgc2VhcmNoVGV4dCA9IHNlYXJjaFRleHQucmVwbGFjZShyZSwgcmVwbGFjZVRleHQpO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgICBpZiAoc2VhcmNoVGV4dC50b0xvd2VyQ2FzZSgpLm1hdGNoKC8oXnxcXFcpZXN0aW1hdGlvbnMoJHxcXFcpLykpIHtcbiAgICAgICAgcmVwbGFjZVRleHQgPSBzb2Z0TGFiZWxzWzBdLmVzdGltYXRpb25zTGFiZWw7XG4gICAgICAgIGxldCByZSA9IC9lc3RpbWF0aW9ucy9naTtcbiAgICAgICAgaWYgKHJlcGxhY2VUZXh0KSB7XG4gICAgICAgICAgc2VhcmNoVGV4dCA9IHNlYXJjaFRleHQucmVwbGFjZShyZSwgcmVwbGFjZVRleHQpO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgICBpZiAoc2VhcmNoVGV4dC50b0xvd2VyQ2FzZSgpLm1hdGNoKC8oXnxcXFcpZXN0aW1hdGUoJHxcXFcpLykpIHtcbiAgICAgICAgcmVwbGFjZVRleHQgPSBzb2Z0TGFiZWxzWzBdLmVzdGltYXRlTGFiZWw7XG4gICAgICAgIGxldCByZSA9IC9lc3RpbWF0ZS9naTtcbiAgICAgICAgaWYgKHJlcGxhY2VUZXh0KSB7XG4gICAgICAgICAgc2VhcmNoVGV4dCA9IHNlYXJjaFRleHQucmVwbGFjZShyZSwgcmVwbGFjZVRleHQpO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgICBpZiAoc2VhcmNoVGV4dC50b0xvd2VyQ2FzZSgpLm1hdGNoKC8oXnxcXFcpZXN0aW1hdGVzKCR8XFxXKS8pKSB7XG4gICAgICAgIHJlcGxhY2VUZXh0ID0gc29mdExhYmVsc1swXS5lc3RpbWF0ZXNMYWJlbDtcbiAgICAgICAgbGV0IHJlID0gL2VzdGltYXRlcy9naTtcbiAgICAgICAgaWYgKHJlcGxhY2VUZXh0KSB7XG4gICAgICAgICAgc2VhcmNoVGV4dCA9IHNlYXJjaFRleHQucmVwbGFjZShyZSwgcmVwbGFjZVRleHQpO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgICBpZiAoc2VhcmNoVGV4dC50b0xvd2VyQ2FzZSgpLm1hdGNoKC8oXnxcXFcpYXVkaXRzKCR8XFxXKS8pKSB7XG4gICAgICAgIHJlcGxhY2VUZXh0ID0gc29mdExhYmVsc1swXS5hdWRpdHNMYWJlbDtcbiAgICAgICAgbGV0IHJlID0gL2F1ZGl0cy9naTtcbiAgICAgICAgaWYgKHJlcGxhY2VUZXh0KSB7XG4gICAgICAgICAgc2VhcmNoVGV4dCA9IHNlYXJjaFRleHQucmVwbGFjZShyZSwgcmVwbGFjZVRleHQpO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgICBpZiAoc2VhcmNoVGV4dC50b0xvd2VyQ2FzZSgpLm1hdGNoKC8oXnxcXFcpY29uZHVjdCgkfFxcVykvKSkge1xuICAgICAgICByZXBsYWNlVGV4dCA9IHNvZnRMYWJlbHNbMF0uY29uZHVjdExhYmVsO1xuICAgICAgICBsZXQgcmUgPSAvY29uZHVjdC9naTtcbiAgICAgICAgaWYgKHJlcGxhY2VUZXh0KSB7XG4gICAgICAgICAgc2VhcmNoVGV4dCA9IHNlYXJjaFRleHQucmVwbGFjZShyZSwgcmVwbGFjZVRleHQpO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgICBpZiAoc2VhcmNoVGV4dC50b0xvd2VyQ2FzZSgpLm1hdGNoKC8oXnxcXFcpY29uZHVjdHMoJHxcXFcpLykpIHtcbiAgICAgICAgcmVwbGFjZVRleHQgPSBzb2Z0TGFiZWxzWzBdLmNvbmR1Y3RzTGFiZWw7XG4gICAgICAgIGxldCByZSA9IC9jb25kdWN0cy9naTtcbiAgICAgICAgaWYgKHJlcGxhY2VUZXh0KSB7XG4gICAgICAgICAgc2VhcmNoVGV4dCA9IHNlYXJjaFRleHQucmVwbGFjZShyZSwgcmVwbGFjZVRleHQpO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgICBpZiAoc2VhcmNoVGV4dC50b0xvd2VyQ2FzZSgpLm1hdGNoKC8oXnxcXFcpYWN0aW9uKCR8XFxXKS8pKSB7XG4gICAgICAgIHJlcGxhY2VUZXh0ID0gc29mdExhYmVsc1swXS5hY3Rpb25MYWJlbDtcbiAgICAgICAgbGV0IHJlID0gL2FjdGlvbi9naTtcbiAgICAgICAgaWYgKHJlcGxhY2VUZXh0KSB7XG4gICAgICAgICAgc2VhcmNoVGV4dCA9IHNlYXJjaFRleHQucmVwbGFjZShyZSwgcmVwbGFjZVRleHQpO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgICBpZiAoc2VhcmNoVGV4dC50b0xvd2VyQ2FzZSgpLm1hdGNoKC8oXnxcXFcpYWN0aW9ucygkfFxcVykvKSkge1xuICAgICAgICByZXBsYWNlVGV4dCA9IHNvZnRMYWJlbHNbMF0uYWN0aW9uc0xhYmVsO1xuICAgICAgICBsZXQgcmUgPSAvYWN0aW9ucy9naTtcbiAgICAgICAgaWYgKHJlcGxhY2VUZXh0KSB7XG4gICAgICAgICAgc2VhcmNoVGV4dCA9IHNlYXJjaFRleHQucmVwbGFjZShyZSwgcmVwbGFjZVRleHQpO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgICBpZiAoc2VhcmNoVGV4dC50b0xvd2VyQ2FzZSgpLm1hdGNoKC8oXnxcXFcpdGltZWxpbmUoJHxcXFcpLykpIHtcbiAgICAgICAgcmVwbGFjZVRleHQgPSBzb2Z0TGFiZWxzWzBdLnRpbWVsaW5lTGFiZWw7XG4gICAgICAgIGxldCByZSA9IC90aW1lbGluZS9naTtcbiAgICAgICAgaWYgKHJlcGxhY2VUZXh0KSB7XG4gICAgICAgICAgc2VhcmNoVGV4dCA9IHNlYXJjaFRleHQucmVwbGFjZShyZSwgcmVwbGFjZVRleHQpO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgICBpZiAoc2VhcmNoVGV4dC50b0xvd2VyQ2FzZSgpID09IFwiYXVkaXQgcmVwb3J0XCIpIHtcbiAgICAgICAgcmVwbGFjZVRleHQgPSBzb2Z0TGFiZWxzWzBdLmF1ZGl0UmVwb3J0TGFiZWw7XG4gICAgICAgIGxldCByZSA9IC9hdWRpdCByZXBvcnQvZ2k7XG4gICAgICAgIGlmIChyZXBsYWNlVGV4dCkge1xuICAgICAgICAgIHNlYXJjaFRleHQgPSBzZWFyY2hUZXh0LnJlcGxhY2UocmUsIHJlcGxhY2VUZXh0KTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgICAgaWYgKHNlYXJjaFRleHQudG9Mb3dlckNhc2UoKSA9PSBcImF1ZGl0IHJlcG9ydHNcIikge1xuICAgICAgICByZXBsYWNlVGV4dCA9IHNvZnRMYWJlbHNbMF0uYXVkaXRSZXBvcnRzTGFiZWw7XG4gICAgICAgIGxldCByZSA9IC9hdWRpdCByZXBvcnRzL2dpO1xuICAgICAgICBpZiAocmVwbGFjZVRleHQpIHtcbiAgICAgICAgICBzZWFyY2hUZXh0ID0gc2VhcmNoVGV4dC5yZXBsYWNlKHJlLCByZXBsYWNlVGV4dCk7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICAgIGlmIChzZWFyY2hUZXh0LnRvTG93ZXJDYXNlKCkubWF0Y2goLyhefFxcVylhdWRpdCBhY3Rpdml0eSgkfFxcVykvKSkge1xuICAgICAgICByZXBsYWNlVGV4dCA9IHNvZnRMYWJlbHNbMF0uYXVkaXRBY3Rpdml0eUxhYmVsO1xuICAgICAgICBsZXQgcmUgPSAvYXVkaXQgYWN0aXZpdHkvZ2k7XG4gICAgICAgIGlmIChyZXBsYWNlVGV4dCkge1xuICAgICAgICAgIHNlYXJjaFRleHQgPSBzZWFyY2hUZXh0LnJlcGxhY2UocmUsIHJlcGxhY2VUZXh0KTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgICAgaWYgKHNlYXJjaFRleHQudG9Mb3dlckNhc2UoKS5tYXRjaCgvKF58XFxXKWF1ZGl0IGFuYWx5dGljcygkfFxcVykvKSkge1xuICAgICAgICByZXBsYWNlVGV4dCA9IHNvZnRMYWJlbHNbMF0uYXVkaXRBbmFseXRpY3NMYWJlbDtcbiAgICAgICAgbGV0IHJlID0gL2F1ZGl0IGFuYWx5dGljcy9naTtcbiAgICAgICAgaWYgKHJlcGxhY2VUZXh0KSB7XG4gICAgICAgICAgc2VhcmNoVGV4dCA9IHNlYXJjaFRleHQucmVwbGFjZShyZSwgcmVwbGFjZVRleHQpO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgICBpZiAoc2VhcmNoVGV4dC50b0xvd2VyQ2FzZSgpLm1hdGNoKC8oXnxcXFcpY2xpZW50KCR8XFxXKS8pKSB7XG4gICAgICAgIHJlcGxhY2VUZXh0ID0gc29mdExhYmVsc1swXS5jbGllbnRMYWJlbDtcbiAgICAgICAgbGV0IHJlID0gL2NsaWVudC9naTtcbiAgICAgICAgaWYgKHJlcGxhY2VUZXh0KSB7XG4gICAgICAgICAgc2VhcmNoVGV4dCA9IHNlYXJjaFRleHQucmVwbGFjZShyZSwgcmVwbGFjZVRleHQpO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgICBpZiAoc2VhcmNoVGV4dC50b0xvd2VyQ2FzZSgpLm1hdGNoKC8oXnxcXFcpY2xpZW50cygkfFxcVykvKSkge1xuICAgICAgICByZXBsYWNlVGV4dCA9IHNvZnRMYWJlbHNbMF0uY2xpZW50c0xhYmVsO1xuICAgICAgICBsZXQgcmUgPSAvY2xpZW50cy9naTtcbiAgICAgICAgaWYgKHJlcGxhY2VUZXh0KSB7XG4gICAgICAgICAgc2VhcmNoVGV4dCA9IHNlYXJjaFRleHQucmVwbGFjZShyZSwgcmVwbGFjZVRleHQpO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgICBpZiAoc2VhcmNoVGV4dC50b0xvd2VyQ2FzZSgpLm1hdGNoKC8oXnxcXFcpcXVlc3Rpb24oJHxcXFcpLykpIHtcbiAgICAgICAgcmVwbGFjZVRleHQgPSBzb2Z0TGFiZWxzWzBdLmF1ZGl0UXVlc3Rpb25MYWJlbDtcbiAgICAgICAgbGV0IHJlID0gL3F1ZXN0aW9uL2dpO1xuICAgICAgICBpZiAocmVwbGFjZVRleHQpIHtcbiAgICAgICAgICBzZWFyY2hUZXh0ID0gc2VhcmNoVGV4dC5yZXBsYWNlKHJlLCByZXBsYWNlVGV4dCk7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICAgIGlmIChzZWFyY2hUZXh0LnRvTG93ZXJDYXNlKCkubWF0Y2goLyhefFxcVylxdWVzdGlvbnMoJHxcXFcpLykpIHtcbiAgICAgICAgcmVwbGFjZVRleHQgPSBzb2Z0TGFiZWxzWzBdLmF1ZGl0UXVlc3Rpb25zTGFiZWw7XG4gICAgICAgIGxldCByZSA9IC9xdWVzdGlvbnMvZ2k7XG4gICAgICAgIGlmIChyZXBsYWNlVGV4dCkge1xuICAgICAgICAgIHNlYXJjaFRleHQgPSBzZWFyY2hUZXh0LnJlcGxhY2UocmUsIHJlcGxhY2VUZXh0KTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgICAgaWYgKHNlYXJjaFRleHQudG9Mb3dlckNhc2UoKS5tYXRjaCgvKF58XFxXKXJlcG9ydCgkfFxcVykvKSAmJiBzZWFyY2hUZXh0LnRvTG93ZXJDYXNlKCkgIT0gXCJhdWRpdCByZXBvcnRcIiAmJiBzZWFyY2hUZXh0LnRvTG93ZXJDYXNlKCkgIT0gXCJhdWRpdCByZXBvcnRzXCIpIHtcbiAgICAgICAgcmVwbGFjZVRleHQgPSBzb2Z0TGFiZWxzWzBdLnJlcG9ydExhYmVsO1xuICAgICAgICBsZXQgcmUgPSAvcmVwb3J0L2dpO1xuICAgICAgICBpZiAocmVwbGFjZVRleHQpIHtcbiAgICAgICAgICBzZWFyY2hUZXh0ID0gc2VhcmNoVGV4dC5yZXBsYWNlKHJlLCByZXBsYWNlVGV4dCk7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICAgIGlmIChzZWFyY2hUZXh0LnRvTG93ZXJDYXNlKCkubWF0Y2goLyhefFxcVylyZXBvcnRzKCR8XFxXKS8pICYmIHNlYXJjaFRleHQudG9Mb3dlckNhc2UoKSAhPSBcImF1ZGl0IHJlcG9ydFwiICYmIHNlYXJjaFRleHQudG9Mb3dlckNhc2UoKSAhPSBcImF1ZGl0IHJlcG9ydHNcIikge1xuICAgICAgICByZXBsYWNlVGV4dCA9IHNvZnRMYWJlbHNbMF0ucmVwb3J0c0xhYmVsO1xuICAgICAgICBsZXQgcmUgPSAvcmVwb3J0cy9naTtcbiAgICAgICAgaWYgKHJlcGxhY2VUZXh0KSB7XG4gICAgICAgICAgc2VhcmNoVGV4dCA9IHNlYXJjaFRleHQucmVwbGFjZShyZSwgcmVwbGFjZVRleHQpO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgICBpZiAoc2VhcmNoVGV4dC50b0xvd2VyQ2FzZSgpLm1hdGNoKC8oXnxcXFcpYXVkaXQoJHxcXFcpLykgJiYgc2VhcmNoVGV4dC50b0xvd2VyQ2FzZSgpICE9IFwiYXVkaXQgcmVwb3J0XCIgJiYgc2VhcmNoVGV4dC50b0xvd2VyQ2FzZSgpICE9IFwiYXVkaXQgcmVwb3J0c1wiKSB7XG4gICAgICAgIHJlcGxhY2VUZXh0ID0gc29mdExhYmVsc1swXS5hdWRpdExhYmVsO1xuICAgICAgICBsZXQgcmUgPSAvYXVkaXQvZ2k7XG4gICAgICAgIGlmIChyZXBsYWNlVGV4dCkge1xuICAgICAgICAgIHNlYXJjaFRleHQgPSBzZWFyY2hUZXh0LnJlcGxhY2UocmUsIHJlcGxhY2VUZXh0KTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgICAgaWYgKCFzZWFyY2hUZXh0LmluY2x1ZGVzKCdlc3RpbWF0ZWQgdGltZScpKSB7XG4gICAgICAgIGxldCBzZWFyY2hTdHJpbmcgPSBzZWFyY2hUZXh0LnNwbGl0KCcuJyk7XG4gICAgICAgIGxldCBzdHIgPSBcIlwiO1xuXG4gICAgICAgIHNlYXJjaFN0cmluZy5mb3JFYWNoKGZ1bmN0aW9uIChpdGVtKSB7XG5cbiAgICAgICAgICBpZiAoaXRlbS50cmltKCkgIT0gXCJcIikge1xuICAgICAgICAgICAgaWYgKGl0ZW0gIT0gXCJIUlwiICYmICFpdGVtLmluY2x1ZGVzKCdoJykpXG4gICAgICAgICAgICAgIGl0ZW0gPSBpdGVtLnRyaW0oKS5jaGFyQXQoMCkudG9VcHBlckNhc2UoKSArIGl0ZW0udHJpbSgpLnN1YnN0cigxKS50b0xvd2VyQ2FzZSgpO1xuICAgICAgICAgICAgc3RyID0gc3RyICE9IFwiXCIgPyAoc3RyICsgXCIuIFwiICsgaXRlbSArIFwiLlwiKSA6IGl0ZW07XG4gICAgICAgICAgfVxuICAgICAgICB9KTtcblxuICAgICAgICBzZWFyY2hUZXh0ID0gc3RyO1xuICAgICAgfVxuICAgIH1cblxuICAgIHJldHVybiBzZWFyY2hUZXh0O1xuICB9XG59XG4iXX0=