@thetradeengineorg1/snova-shell-module 0.0.259 → 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 (291) hide show
  1. package/README.md +24 -24
  2. package/bundles/thetradeengineorg1-snova-shell-module.umd.js +18874 -18887
  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 -139
  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 -2344
  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 +16984 -16997
  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-side/header-side.component.d.ts.map +1 -1
  182. package/lib/shell-components/components/header-top/header-top.component.d.ts +40 -40
  183. package/lib/shell-components/components/lives/lives-welcome-page.d.ts +14 -14
  184. package/lib/shell-components/components/menu/menu.component.d.ts +220 -220
  185. package/lib/shell-components/components/menu/searchTask.enum.d.ts +8 -8
  186. package/lib/shell-components/components/notifications/announcement-dialog.component.d.ts +27 -27
  187. package/lib/shell-components/components/notifications/notifications.component.d.ts +53 -53
  188. package/lib/shell-components/components/sidebar-top/sidebar-top.component.d.ts +10 -10
  189. package/lib/shell-components/components/sidenav/side-bar.component.d.ts +23 -23
  190. package/lib/shell-components/components/sidenav/sidenav.component.d.ts +17 -17
  191. package/lib/shell-components/components/submit-feedback/submit-feedback.component.d.ts +25 -25
  192. package/lib/shell-components/constants/api-urls.d.ts +1051 -1051
  193. package/lib/shell-components/constants/available-languages.d.ts +7 -7
  194. package/lib/shell-components/constants/channel-names.d.ts +37 -37
  195. package/lib/shell-components/constants/menu-categories.d.ts +5 -5
  196. package/lib/shell-components/constants/notification-routes.d.ts +5 -5
  197. package/lib/shell-components/constants/notification-type-ids.d.ts +41 -41
  198. package/lib/shell-components/enum/recentSearchType.enum.d.ts +11 -11
  199. package/lib/shell-components/models/AppMenuItemModel.d.ts +12 -12
  200. package/lib/shell-components/models/AppNotification.d.ts +12 -12
  201. package/lib/shell-components/models/AssetAssignedNotificationModel.d.ts +10 -10
  202. package/lib/shell-components/models/ChannelUpdateModel.d.ts +47 -47
  203. package/lib/shell-components/models/EmployeeStatusModel.d.ts +11 -11
  204. package/lib/shell-components/models/IAdjust-screen-options.d.ts +4 -4
  205. package/lib/shell-components/models/IBadge.d.ts +4 -4
  206. package/lib/shell-components/models/IChildItem.d.ts +7 -7
  207. package/lib/shell-components/models/ILayout-change-options.d.ts +4 -4
  208. package/lib/shell-components/models/IMenuItem.d.ts +14 -14
  209. package/lib/shell-components/models/IlayoutConf.d.ts +10 -10
  210. package/lib/shell-components/models/IntroModel.d.ts +3 -3
  211. package/lib/shell-components/models/MessageDetails.d.ts +55 -55
  212. package/lib/shell-components/models/MessageTypingDetails.d.ts +9 -9
  213. package/lib/shell-components/models/NewProjectCreatedNotificationModel.d.ts +8 -8
  214. package/lib/shell-components/models/NewProjectFeatureNotificationModel.d.ts +8 -8
  215. package/lib/shell-components/models/NotificationsOutPutModel.d.ts +41 -41
  216. package/lib/shell-components/models/ProjectSearchCriteriaInputModel.d.ts +10 -10
  217. package/lib/shell-components/models/RecentSearchModel.d.ts +14 -14
  218. package/lib/shell-components/models/ReportConfigAssignedNotification.d.ts +9 -9
  219. package/lib/shell-components/models/ReportSubmittedNotification.d.ts +10 -10
  220. package/lib/shell-components/models/RoleUpdatedNotification.d.ts +7 -7
  221. package/lib/shell-components/models/UserStoryAssignedNotification.d.ts +8 -8
  222. package/lib/shell-components/models/archiveUserStoryModel.d.ts +7 -7
  223. package/lib/shell-components/models/companieslist.model.d.ts +8 -8
  224. package/lib/shell-components/models/company-model.d.ts +31 -31
  225. package/lib/shell-components/models/company-payment-model.d.ts +18 -18
  226. package/lib/shell-components/models/dragedWidget.d.ts +16 -16
  227. package/lib/shell-components/models/employee-List.d.ts +8 -8
  228. package/lib/shell-components/models/employee.d.ts +60 -60
  229. package/lib/shell-components/models/entityRoleFeature.d.ts +9 -9
  230. package/lib/shell-components/models/export-configuration-model.d.ts +8 -8
  231. package/lib/shell-components/models/export-data.module.d.ts +6 -6
  232. package/lib/shell-components/models/goalApprovedNotificationModel.d.ts +8 -8
  233. package/lib/shell-components/models/import-configuration-model.d.ts +3 -3
  234. package/lib/shell-components/models/initialStatusofUsers.d.ts +5 -5
  235. package/lib/shell-components/models/invoiceOutput-model.d.ts +9 -9
  236. package/lib/shell-components/models/leaveApplicationNotifiction.d.ts +7 -7
  237. package/lib/shell-components/models/multiChartsScheduling.d.ts +9 -9
  238. package/lib/shell-components/models/parkUserStoryInputModel.d.ts +7 -7
  239. package/lib/shell-components/models/project.d.ts +28 -28
  240. package/lib/shell-components/models/recentSearchApiModel.d.ts +6 -6
  241. package/lib/shell-components/models/searchCriteriaInputModelBase.d.ts +10 -10
  242. package/lib/shell-components/models/shellModulesInfo.d.ts +16 -16
  243. package/lib/shell-components/models/softlabels-model.d.ts +66 -66
  244. package/lib/shell-components/models/sprintReplanRequestedModel.d.ts +7 -7
  245. package/lib/shell-components/models/sprintStartedNotificationModel.d.ts +7 -7
  246. package/lib/shell-components/models/store-model.d.ts +13 -13
  247. package/lib/shell-components/models/store-search-model.d.ts +7 -7
  248. package/lib/shell-components/models/themes.model.d.ts +9 -9
  249. package/lib/shell-components/models/timesheetenabledisable.d.ts +16 -16
  250. package/lib/shell-components/models/user.d.ts +40 -40
  251. package/lib/shell-components/models/userStory.d.ts +188 -188
  252. package/lib/shell-components/models/userStoryCommentNotificationModel.d.ts +6 -6
  253. package/lib/shell-components/models/userStoryUpdateNotificationModel.d.ts +6 -6
  254. package/lib/shell-components/models/userstory-custom-fields.model.d.ts +6 -6
  255. package/lib/shell-components/models/validation.model.d.ts +5 -5
  256. package/lib/shell-components/models/widgetlist.d.ts +28 -28
  257. package/lib/shell-components/models/workspaceList.d.ts +19 -19
  258. package/lib/shell-components/services/authentication.service.d.ts +18 -18
  259. package/lib/shell-components/services/chat.service.d.ts +16 -16
  260. package/lib/shell-components/services/common-used.service.d.ts +45 -45
  261. package/lib/shell-components/services/feature.service.d.ts +19 -19
  262. package/lib/shell-components/services/google-analytics.service.d.ts +9 -9
  263. package/lib/shell-components/services/layout.service.d.ts +23 -23
  264. package/lib/shell-components/services/payment.service.d.ts +19 -19
  265. package/lib/shell-components/services/recentSearch.service.d.ts +16 -16
  266. package/lib/shell-components/services/shell.modules.service.d.ts +9 -9
  267. package/lib/shell-components/services/signalr.service.d.ts +25 -25
  268. package/lib/shell-components/services/theme.service.d.ts +14 -14
  269. package/lib/shell-components/shell.module.d.ts +119 -119
  270. package/lib/shell-components/shell.routing.d.ts +2 -2
  271. package/lib/shell-components/store/actions/authentication.actions.d.ts +327 -327
  272. package/lib/shell-components/store/actions/chat.actions.d.ts +399 -399
  273. package/lib/shell-components/store/actions/menuitems.actions.d.ts +51 -51
  274. package/lib/shell-components/store/actions/notification-validator.action.d.ts +25 -25
  275. package/lib/shell-components/store/actions/notifications.actions.d.ts +116 -116
  276. package/lib/shell-components/store/effects/authentication.effects.d.ts +54 -54
  277. package/lib/shell-components/store/effects/chat.effects.d.ts +30 -30
  278. package/lib/shell-components/store/effects/index.d.ts +1 -1
  279. package/lib/shell-components/store/effects/menuitems.effects.d.ts +17 -17
  280. package/lib/shell-components/store/effects/notification-validator.effects.d.ts +21 -21
  281. package/lib/shell-components/store/effects/notifications.effects.d.ts +23 -23
  282. package/lib/shell-components/store/reducers/authentication.reducers.d.ts +30 -30
  283. package/lib/shell-components/store/reducers/chat.reducers.d.ts +17 -17
  284. package/lib/shell-components/store/reducers/index.d.ts +59 -59
  285. package/lib/shell-components/store/reducers/menuitems.reducers.d.ts +11 -11
  286. package/lib/shell-components/store/reducers/notification-validator.reducers.d.ts +5 -5
  287. package/lib/shell-components/store/reducers/notifications.reducers.d.ts +10 -10
  288. package/package.json +1 -1
  289. package/public-api.d.ts +82 -82
  290. package/store/reducers/index.d.ts +24 -24
  291. package/thetradeengineorg1-snova-shell-module.d.ts +5 -5
@@ -1,438 +1,438 @@
1
- import { Component, Inject, ViewChildren } from "@angular/core";
2
- import { MAT_DIALOG_DATA } from "@angular/material/dialog";
3
- import { LocalStorageProperties } from '../../../globaldependencies/constants/localstorage-properties';
4
- import '../../../globaldependencies/helpers/fontawesome-icons';
5
- import { PurchaseMoreLicensesComponent } from './purchase-more-licenses';
6
- import * as i0 from "@angular/core";
7
- import * as i1 from "ngx-toastr";
8
- import * as i2 from "../../services/payment.service";
9
- import * as i3 from "@angular/router";
10
- import * as i4 from "ngx-cookie-service";
11
- import * as i5 from "@angular/material/dialog";
12
- import * as i6 from "@angular/flex-layout/flex";
13
- import * as i7 from "@angular/material/card";
14
- import * as i8 from "@angular/material/button";
15
- import * as i9 from "@ncstate/sat-popover";
16
- import * as i10 from "@angular/common";
17
- import * as i11 from "@fortawesome/angular-fontawesome";
18
- const _c0 = ["closeBookingPopup"];
19
- function ProductAndServicesComponent_mat_card_13_div_1_Template(rf, ctx) { if (rf & 1) {
20
- const _r8 = i0.ɵɵgetCurrentView();
21
- i0.ɵɵelementStart(0, "div", 23);
22
- i0.ɵɵelementStart(1, "div", 3);
23
- i0.ɵɵelementStart(2, "span");
24
- i0.ɵɵtext(3, " We are sorry to see you go. Thank you for letting us to be a part of your growth so far. We'll miss you around here! If you decide you'd like to continue using this product, you can renew at any time by clicking on the subscribe button. We hope to see you around! Thank you. ");
25
- i0.ɵɵelementEnd();
26
- i0.ɵɵelementEnd();
27
- i0.ɵɵelementStart(4, "div", 4);
28
- i0.ɵɵelementStart(5, "button", 24);
29
- i0.ɵɵlistener("click", function ProductAndServicesComponent_mat_card_13_div_1_Template_button_click_5_listener() { i0.ɵɵrestoreView(_r8); const ctx_r7 = i0.ɵɵnextContext(2); return ctx_r7.navigateToSubscription(); });
30
- i0.ɵɵtext(6, " Subscribe ");
31
- i0.ɵɵelementEnd();
32
- i0.ɵɵelementEnd();
33
- i0.ɵɵelementEnd();
34
- } }
35
- function ProductAndServicesComponent_mat_card_13_div_2_Template(rf, ctx) { if (rf & 1) {
36
- const _r10 = i0.ɵɵgetCurrentView();
37
- i0.ɵɵelementStart(0, "div", 23);
38
- i0.ɵɵelementStart(1, "div", 3);
39
- i0.ɵɵelementStart(2, "span");
40
- i0.ɵɵtext(3);
41
- i0.ɵɵelementEnd();
42
- i0.ɵɵelementEnd();
43
- i0.ɵɵelementStart(4, "div", 4);
44
- i0.ɵɵelementStart(5, "button", 24);
45
- i0.ɵɵlistener("click", function ProductAndServicesComponent_mat_card_13_div_2_Template_button_click_5_listener() { i0.ɵɵrestoreView(_r10); const ctx_r9 = i0.ɵɵnextContext(2); return ctx_r9.navigateToSubscription(); });
46
- i0.ɵɵtext(6, " Subscribe ");
47
- i0.ɵɵelementEnd();
48
- i0.ɵɵelementEnd();
49
- i0.ɵɵelementEnd();
50
- } if (rf & 2) {
51
- const ctx_r4 = i0.ɵɵnextContext(2);
52
- i0.ɵɵadvance(3);
53
- i0.ɵɵtextInterpolate1(" It looks like you\u2019ve already seen some great results with our Product. This is a great time to consider taking a look at our different plans, so that you can take full advantage of our Product. As your trail is going to expire in ", ctx_r4.noOfDays, " days, please have a look at our different plans and subscribe to them. ");
54
- } }
55
- function ProductAndServicesComponent_mat_card_13_div_3_button_15_Template(rf, ctx) { if (rf & 1) {
56
- const _r14 = i0.ɵɵgetCurrentView();
57
- i0.ɵɵelementStart(0, "button", 24);
58
- i0.ɵɵlistener("click", function ProductAndServicesComponent_mat_card_13_div_3_button_15_Template_button_click_0_listener() { i0.ɵɵrestoreView(_r14); const ctx_r13 = i0.ɵɵnextContext(3); return ctx_r13.purchaseMoreLicenses(); });
59
- i0.ɵɵtext(1, " Purchase more licenses ");
60
- i0.ɵɵelementEnd();
61
- } }
62
- function ProductAndServicesComponent_mat_card_13_div_3_button_16_Template(rf, ctx) { if (rf & 1) {
63
- const _r16 = i0.ɵɵgetCurrentView();
64
- i0.ɵɵelementStart(0, "button", 24);
65
- i0.ɵɵlistener("click", function ProductAndServicesComponent_mat_card_13_div_3_button_16_Template_button_click_0_listener() { i0.ɵɵrestoreView(_r16); const ctx_r15 = i0.ɵɵnextContext(3); return ctx_r15.navigateToPlans(); });
66
- i0.ɵɵtext(1, " Change Plan ");
67
- i0.ɵɵelementEnd();
68
- } }
69
- function ProductAndServicesComponent_mat_card_13_div_3_Template(rf, ctx) { if (rf & 1) {
70
- const _r18 = i0.ɵɵgetCurrentView();
71
- i0.ɵɵelementStart(0, "div", 25);
72
- i0.ɵɵelementStart(1, "div", 26);
73
- i0.ɵɵelementStart(2, "label");
74
- i0.ɵɵelementStart(3, "b");
75
- i0.ɵɵtext(4);
76
- i0.ɵɵelementEnd();
77
- i0.ɵɵelementEnd();
78
- i0.ɵɵelement(5, "br");
79
- i0.ɵɵelementStart(6, "span");
80
- i0.ɵɵtext(7);
81
- i0.ɵɵelementEnd();
82
- i0.ɵɵelement(8, "br");
83
- i0.ɵɵelementStart(9, "span");
84
- i0.ɵɵtext(10);
85
- i0.ɵɵpipe(11, "date");
86
- i0.ɵɵelementStart(12, "a", 27);
87
- i0.ɵɵlistener("click", function ProductAndServicesComponent_mat_card_13_div_3_Template_a_click_12_listener() { i0.ɵɵrestoreView(_r18); const ctx_r17 = i0.ɵɵnextContext(2); return ctx_r17.cancelSubscription(); });
88
- i0.ɵɵtext(13, "Cancel subscription");
89
- i0.ɵɵelementEnd();
90
- i0.ɵɵelementEnd();
91
- i0.ɵɵelementEnd();
92
- i0.ɵɵelementStart(14, "div", 28);
93
- i0.ɵɵtemplate(15, ProductAndServicesComponent_mat_card_13_div_3_button_15_Template, 2, 0, "button", 29);
94
- i0.ɵɵtemplate(16, ProductAndServicesComponent_mat_card_13_div_3_button_16_Template, 2, 0, "button", 29);
95
- i0.ɵɵelementEnd();
96
- i0.ɵɵelementEnd();
97
- } if (rf & 2) {
98
- const ctx_r5 = i0.ɵɵnextContext(2);
99
- i0.ɵɵadvance(4);
100
- i0.ɵɵtextInterpolate(ctx_r5.productName);
101
- i0.ɵɵadvance(3);
102
- i0.ɵɵtextInterpolate2("", ctx_r5.totalNoOfActiveUsers, " of ", ctx_r5.totalNoOfPurchases, " Users assigned");
103
- i0.ɵɵadvance(3);
104
- i0.ɵɵtextInterpolate1("Automatically renews on ", i0.ɵɵpipeBind1(11, 6, ctx_r5.renewalDate), ". ");
105
- i0.ɵɵadvance(5);
106
- i0.ɵɵproperty("ngIf", !ctx_r5.isCancelled);
107
- i0.ɵɵadvance(1);
108
- i0.ɵɵproperty("ngIf", !ctx_r5.isCancelled);
109
- } }
110
- function ProductAndServicesComponent_mat_card_13_div_4_tr_8_Template(rf, ctx) { if (rf & 1) {
111
- i0.ɵɵelementStart(0, "tr", 32);
112
- i0.ɵɵelementStart(1, "td", 35);
113
- i0.ɵɵelementStart(2, "span");
114
- i0.ɵɵtext(3);
115
- i0.ɵɵelement(4, "br");
116
- i0.ɵɵtext(5);
117
- i0.ɵɵelementEnd();
118
- i0.ɵɵelementEnd();
119
- i0.ɵɵelementStart(6, "td", 36);
120
- i0.ɵɵtext(7);
121
- i0.ɵɵelementEnd();
122
- i0.ɵɵelementEnd();
123
- } if (rf & 2) {
124
- const history_r19 = i0.ɵɵnextContext().$implicit;
125
- i0.ɵɵadvance(3);
126
- i0.ɵɵtextInterpolate2("", history_r19.purchaseType, " (", history_r19.noofpurchasedlicences, " Users Included)");
127
- i0.ɵɵadvance(2);
128
- i0.ɵɵtextInterpolate1(" Billed every ", history_r19.subscriptionType, " ");
129
- i0.ɵɵadvance(2);
130
- i0.ɵɵtextInterpolate1(" \u00A3", history_r19.totalAmountPaid, "");
131
- } }
132
- function ProductAndServicesComponent_mat_card_13_div_4_tr_9_Template(rf, ctx) { if (rf & 1) {
133
- i0.ɵɵelementStart(0, "tr", 32);
134
- i0.ɵɵelementStart(1, "td", 35);
135
- i0.ɵɵelementStart(2, "span");
136
- i0.ɵɵtext(3);
137
- i0.ɵɵelementEnd();
138
- i0.ɵɵelementEnd();
139
- i0.ɵɵelementStart(4, "td", 36);
140
- i0.ɵɵtext(5);
141
- i0.ɵɵelementEnd();
142
- i0.ɵɵelementEnd();
143
- } if (rf & 2) {
144
- const history_r19 = i0.ɵɵnextContext().$implicit;
145
- i0.ɵɵadvance(3);
146
- i0.ɵɵtextInterpolate2("", history_r19.purchaseType, " (", history_r19.originalPurchases, " Users Included) ");
147
- i0.ɵɵadvance(2);
148
- i0.ɵɵtextInterpolate1(" \u00A3", history_r19.totalAmountPaid / history_r19.noofpurchasedlicences * history_r19.originalPurchases, "");
149
- } }
150
- function ProductAndServicesComponent_mat_card_13_div_4_tr_10_Template(rf, ctx) { if (rf & 1) {
151
- i0.ɵɵelementStart(0, "tr", 32);
152
- i0.ɵɵelementStart(1, "td", 35);
153
- i0.ɵɵelementStart(2, "span");
154
- i0.ɵɵtext(3);
155
- i0.ɵɵelementEnd();
156
- i0.ɵɵelementEnd();
157
- i0.ɵɵelementStart(4, "td", 36);
158
- i0.ɵɵtext(5);
159
- i0.ɵɵelementEnd();
160
- i0.ɵɵelementEnd();
161
- } if (rf & 2) {
162
- const history_r19 = i0.ɵɵnextContext().$implicit;
163
- i0.ɵɵadvance(3);
164
- i0.ɵɵtextInterpolate2("", history_r19.purchaseType, " Additional Users (", history_r19.noofpurchasedlicences - history_r19.originalPurchases, " Users)");
165
- i0.ɵɵadvance(2);
166
- i0.ɵɵtextInterpolate1(" \u00A3", history_r19.totalAmountPaid / history_r19.noofpurchasedlicences * (history_r19.noofpurchasedlicences - history_r19.originalPurchases), " ");
167
- } }
168
- function ProductAndServicesComponent_mat_card_13_div_4_tr_11_Template(rf, ctx) { if (rf & 1) {
169
- i0.ɵɵelementStart(0, "tr", 32);
170
- i0.ɵɵelementStart(1, "td", 35);
171
- i0.ɵɵtext(2);
172
- i0.ɵɵelement(3, "br");
173
- i0.ɵɵelementStart(4, "span", 37);
174
- i0.ɵɵtext(5);
175
- i0.ɵɵelementEnd();
176
- i0.ɵɵelementEnd();
177
- i0.ɵɵelementStart(6, "td", 36);
178
- i0.ɵɵtext(7);
179
- i0.ɵɵelementEnd();
180
- i0.ɵɵelementEnd();
181
- } if (rf & 2) {
182
- const history_r19 = i0.ɵɵnextContext().$implicit;
183
- i0.ɵɵadvance(2);
184
- i0.ɵɵtextInterpolate2("", history_r19.purchaseType, " Total (", history_r19.noofpurchasedlicences, " Users)");
185
- i0.ɵɵadvance(3);
186
- i0.ɵɵtextInterpolate1(" Billed every ", history_r19.subscriptionType, "");
187
- i0.ɵɵadvance(2);
188
- i0.ɵɵtextInterpolate1(" \u00A3", history_r19.totalAmountPaid, "");
189
- } }
190
- function ProductAndServicesComponent_mat_card_13_div_4_tr_12_Template(rf, ctx) { if (rf & 1) {
191
- i0.ɵɵelementStart(0, "tr");
192
- i0.ɵɵelementStart(1, "span");
193
- i0.ɵɵtext(2);
194
- i0.ɵɵpipe(3, "date");
195
- i0.ɵɵelementEnd();
196
- i0.ɵɵelementEnd();
197
- } if (rf & 2) {
198
- const history_r19 = i0.ɵɵnextContext().$implicit;
199
- i0.ɵɵadvance(2);
200
- i0.ɵɵtextInterpolate1("Subscription was cancelled at ", i0.ɵɵpipeBind1(3, 1, history_r19.cancelledDate), "");
201
- } }
202
- function ProductAndServicesComponent_mat_card_13_div_4_Template(rf, ctx) { if (rf & 1) {
203
- i0.ɵɵelementStart(0, "div", 23);
204
- i0.ɵɵelementStart(1, "div", 30);
205
- i0.ɵɵelementStart(2, "table", 31);
206
- i0.ɵɵelementStart(3, "tr", 32);
207
- i0.ɵɵelementStart(4, "span", 33);
208
- i0.ɵɵtext(5);
209
- i0.ɵɵpipe(6, "date");
210
- i0.ɵɵpipe(7, "date");
211
- i0.ɵɵelementEnd();
212
- i0.ɵɵelementEnd();
213
- i0.ɵɵtemplate(8, ProductAndServicesComponent_mat_card_13_div_4_tr_8_Template, 8, 4, "tr", 34);
214
- i0.ɵɵtemplate(9, ProductAndServicesComponent_mat_card_13_div_4_tr_9_Template, 6, 3, "tr", 34);
215
- i0.ɵɵtemplate(10, ProductAndServicesComponent_mat_card_13_div_4_tr_10_Template, 6, 3, "tr", 34);
216
- i0.ɵɵtemplate(11, ProductAndServicesComponent_mat_card_13_div_4_tr_11_Template, 8, 4, "tr", 34);
217
- i0.ɵɵtemplate(12, ProductAndServicesComponent_mat_card_13_div_4_tr_12_Template, 4, 3, "tr", 7);
218
- i0.ɵɵelementEnd();
219
- i0.ɵɵelementEnd();
220
- i0.ɵɵelementEnd();
221
- } if (rf & 2) {
222
- const history_r19 = ctx.$implicit;
223
- i0.ɵɵadvance(5);
224
- i0.ɵɵtextInterpolate2("Subscription term : ", i0.ɵɵpipeBind1(6, 7, history_r19.startTime), " to ", i0.ɵɵpipeBind1(7, 9, history_r19.endTime), "");
225
- i0.ɵɵadvance(3);
226
- i0.ɵɵproperty("ngIf", !history_r19.isUpdate);
227
- i0.ɵɵadvance(1);
228
- i0.ɵɵproperty("ngIf", history_r19.isUpdate);
229
- i0.ɵɵadvance(1);
230
- i0.ɵɵproperty("ngIf", history_r19.isUpdate);
231
- i0.ɵɵadvance(1);
232
- i0.ɵɵproperty("ngIf", history_r19.isUpdate);
233
- i0.ɵɵadvance(1);
234
- i0.ɵɵproperty("ngIf", history_r19.isCancelled);
235
- } }
236
- function ProductAndServicesComponent_mat_card_13_Template(rf, ctx) { if (rf & 1) {
237
- i0.ɵɵelementStart(0, "mat-card");
238
- i0.ɵɵtemplate(1, ProductAndServicesComponent_mat_card_13_div_1_Template, 7, 0, "div", 19);
239
- i0.ɵɵtemplate(2, ProductAndServicesComponent_mat_card_13_div_2_Template, 7, 1, "div", 20);
240
- i0.ɵɵtemplate(3, ProductAndServicesComponent_mat_card_13_div_3_Template, 17, 8, "div", 21);
241
- i0.ɵɵtemplate(4, ProductAndServicesComponent_mat_card_13_div_4_Template, 13, 11, "div", 22);
242
- i0.ɵɵelementEnd();
243
- } if (rf & 2) {
244
- const ctx_r1 = i0.ɵɵnextContext();
245
- i0.ɵɵadvance(1);
246
- i0.ɵɵproperty("ngIf", ctx_r1.isCancelled);
247
- i0.ɵɵadvance(1);
248
- i0.ɵɵproperty("ngIf", ctx_r1.isTrailValid);
249
- i0.ɵɵadvance(1);
250
- i0.ɵɵproperty("ngIf", ctx_r1.isTrailValid == false && !ctx_r1.isCancelled);
251
- i0.ɵɵadvance(1);
252
- i0.ɵɵproperty("ngForOf", ctx_r1.paymentHistory);
253
- } }
254
- export class ProductAndServicesComponent {
255
- constructor(data, toastr, paymentService, router, cookieService, dialog) {
256
- this.data = data;
257
- this.toastr = toastr;
258
- this.paymentService = paymentService;
259
- this.router = router;
260
- this.cookieService = cookieService;
261
- this.dialog = dialog;
262
- this.isSubscriptionCancel = false;
263
- this.isAnyOperationIsInprogress = false;
264
- this.isFromRoute = false;
265
- this.totalNoOfActiveUsers = 0;
266
- this.totalNoOfPurchases = 0;
267
- this.isShowRenewal = false;
268
- this.productName = "Snovasys";
269
- this.isTrailValid = true;
270
- this.noOfDays = 0;
271
- this.isLoading = true;
272
- }
273
- ngOnInit() {
274
- if (this.cookieService.check(LocalStorageProperties.CompanyDetails) && this.cookieService.check(LocalStorageProperties.CompanyId)) {
275
- this.company = JSON.parse(this.cookieService.get(LocalStorageProperties.CompanyDetails));
276
- this.noOfDays = this.company != null && this.company != undefined ? this.company.trailDays : 0;
277
- }
278
- this.getActiveUsersCount();
279
- this.getPurchasedLicensesCount();
280
- this.getPaymentHistory();
281
- }
282
- cancelSubscription() {
283
- this.paymentService.cancelSubscription().subscribe((responseData) => {
284
- if (responseData.success == true) {
285
- this.toastr.success("Your subscription has been cancelled successfully");
286
- this.isSubscriptionCancel = true;
287
- setTimeout(() => {
288
- this.getPurchasedLicensesCount();
289
- this.getPaymentHistory();
290
- }, 2000);
291
- }
292
- else {
293
- this.toastr.error(responseData.apiResponseMessages[0].message);
294
- this.isSubscriptionCancel = false;
295
- }
296
- });
297
- }
298
- getActiveUsersCount() {
299
- this.paymentService.getActiveUsersCount().subscribe((responseData) => {
300
- if (responseData.success == true) {
301
- this.totalNoOfActiveUsers = responseData.data;
302
- }
303
- });
304
- }
305
- getPurchasedLicensesCount() {
306
- this.isLoading = true;
307
- this.paymentService.getPurchasedLicensesCount().subscribe((responseData) => {
308
- if (responseData.success == true) {
309
- if (responseData.data) {
310
- this.totalNoOfPurchases = responseData.data.purchasedLicensesCount;
311
- this.isShowRenewal = responseData.data.isShowRenewal;
312
- this.productName = responseData.data.purchaseType;
313
- this.isTrailValid = false;
314
- this.renewalDate = responseData.data.renewalDate;
315
- this.isCancelled = responseData.data.isCancelled;
316
- this.subscriptionType = responseData.data.subscriptionType;
317
- }
318
- else {
319
- this.isTrailValid = true;
320
- }
321
- }
322
- this.isLoading = false;
323
- });
324
- }
325
- navigateToSubscription() {
326
- this.router.navigate(["/shell/payments-plans"]);
327
- }
328
- purchaseMoreLicenses() {
329
- const dialogRef = this.dialog.open(PurchaseMoreLicensesComponent, {
330
- height: "45%",
331
- width: "28%",
332
- hasBackdrop: true,
333
- direction: "ltr",
334
- data: { noOfPurchases: this.totalNoOfPurchases, productName: this.productName, subscriptionType: this.subscriptionType },
335
- disableClose: true
336
- });
337
- dialogRef.afterClosed().subscribe((result) => {
338
- if (result != undefined && result.isReload == true) {
339
- this.getPaymentHistory();
340
- this.getPurchasedLicensesCount();
341
- }
342
- });
343
- }
344
- navigateToPlans() {
345
- this.router.navigate(["/shell/payments-plans"]);
346
- }
347
- getPaymentHistory() {
348
- this.paymentService.getPaymentHistory().subscribe((responseData) => {
349
- if (responseData.success == true) {
350
- this.paymentHistory = responseData.data;
351
- }
352
- else {
353
- this.toastr.error(responseData.apiResponseMessages[0].message);
354
- }
355
- });
356
- }
357
- openpop(closeBookingPopup) {
358
- closeBookingPopup.openPopover();
359
- }
360
- close() {
361
- this.closeBookingPopup.forEach((p) => p.closePopover());
362
- }
363
- }
364
- ProductAndServicesComponent.ɵfac = function ProductAndServicesComponent_Factory(t) { return new (t || ProductAndServicesComponent)(i0.ɵɵdirectiveInject(MAT_DIALOG_DATA), i0.ɵɵdirectiveInject(i1.ToastrService), i0.ɵɵdirectiveInject(i2.PaymentService), i0.ɵɵdirectiveInject(i3.Router), i0.ɵɵdirectiveInject(i4.CookieService), i0.ɵɵdirectiveInject(i5.MatDialog)); };
365
- ProductAndServicesComponent.ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: ProductAndServicesComponent, selectors: [["app-product-services-component"]], viewQuery: function ProductAndServicesComponent_Query(rf, ctx) { if (rf & 1) {
366
- i0.ɵɵviewQuery(_c0, 5);
367
- } if (rf & 2) {
368
- let _t;
369
- i0.ɵɵqueryRefresh(_t = i0.ɵɵloadQuery()) && (ctx.closeBookingPopup = _t);
370
- } }, decls: 27, vars: 5, consts: [["fxFlex", "", "fxFlex", "100"], [1, "ml-1", "mt-05"], ["fxLayout", "row", 2, "height", "fit-content", "border", "1px solid #eceaea", "margin", "0", "padding", "0px 10px 0px 10px", "background", "aliceblue"], ["fxFlex", "80", 2, "padding-top", "15px !important"], ["fxFlex", "20", 2, "text-align", "right"], ["mat-raised-button", "", "color", "primary", "type", "submit", 1, "ml-05", "mt-05", "mb-05", 3, "satPopoverAnchorFor", "click"], ["closeBookingPopup", "satPopoverAnchor"], [4, "ngIf"], ["hasBackdrop", "", "backdropClass", "backdrop-color", "scrollStrategy", "reposition", "verticalAlign", "below", "horizontalAlign", "before", 3, "autoFocus", "restoreFocus", "interactiveClose"], ["feedTimeSheet", ""], [1, "filter-data", "p-0", 2, "min-height", "150px"], [1, "custom-dialog"], ["mat-dialog-close", "", 1, "custom-close", "ml-lg-n4", "mt-0", "mt-lg-n4", "ml-n3", 3, "click"], ["icon", "times", 1, "project-dialog"], [1, "text-center"], [1, "card-title-text", "mat-bg-primary", "p-05", "mb-1"], [1, "mt-05"], [1, "card-content"], ["fxFlex", "100", 1, "mt-2", 2, "text-align", "center"], ["style", "height: fit-content;border: 1px solid #eceaea;margin: 0;padding: 0px 10px 0px 10px;", "fxLayout", "row", 4, "ngIf"], ["style", "height: fit-content;border: 1px solid #eceaea;margin: 0;padding: 0px 10px 0px 10px; ", "fxLayout", "row", 4, "ngIf"], ["style", "height: fit-content;border: 1px solid #eceaea;margin: 0;padding: 15px;", "fxLayout", "row", 4, "ngIf"], ["style", "height: fit-content;border: 1px solid #eceaea;margin: 0;padding: 0px 10px 0px 10px;", "fxLayout", "row", 4, "ngFor", "ngForOf"], ["fxLayout", "row", 2, "height", "fit-content", "border", "1px solid #eceaea", "margin", "0", "padding", "0px 10px 0px 10px"], ["mat-raised-button", "", "color", "primary", "type", "submit", 1, "ml-05", "mt-05", 3, "click"], ["fxLayout", "row", 2, "height", "fit-content", "border", "1px solid #eceaea", "margin", "0", "padding", "15px"], ["fxFlex", "70"], [2, "cursor", "pointer", "color", "#337ab7 !important", "text-decoration", "none !important", 3, "click"], ["fxFlex", "30", 2, "text-align", "right"], ["mat-raised-button", "", "color", "primary", "type", "submit", "class", "ml-05 mt-05", 3, "click", 4, "ngIf"], ["fxFlex", "70", 2, "padding-top", "15px !important"], [2, "width", "100%"], ["fxLayout", "row"], [2, "font-weight", "bold"], ["fxLayout", "row", 4, "ngIf"], ["fxFlex", "80"], ["fxFlex", "20"], [2, "font-size", "14px"]], template: function ProductAndServicesComponent_Template(rf, ctx) { if (rf & 1) {
371
- const _r30 = i0.ɵɵgetCurrentView();
372
- i0.ɵɵelementStart(0, "div", 0);
373
- i0.ɵɵelementStart(1, "h4", 1);
374
- i0.ɵɵtext(2, "Products & Services");
375
- i0.ɵɵelementEnd();
376
- i0.ɵɵelement(3, "hr");
377
- i0.ɵɵelementEnd();
378
- i0.ɵɵelementStart(4, "mat-card");
379
- i0.ɵɵelementStart(5, "div", 2);
380
- i0.ɵɵelementStart(6, "div", 3);
381
- i0.ɵɵelementStart(7, "span");
382
- i0.ɵɵtext(8, " Customize and enhance your plan with additional features. ");
383
- i0.ɵɵelementEnd();
384
- i0.ɵɵelementEnd();
385
- i0.ɵɵelementStart(9, "div", 4);
386
- i0.ɵɵelementStart(10, "button", 5, 6);
387
- i0.ɵɵlistener("click", function ProductAndServicesComponent_Template_button_click_10_listener() { i0.ɵɵrestoreView(_r30); const _r0 = i0.ɵɵreference(11); return ctx.openpop(_r0); });
388
- i0.ɵɵtext(12, " Customize ");
389
- i0.ɵɵelementEnd();
390
- i0.ɵɵelementEnd();
391
- i0.ɵɵelementEnd();
392
- i0.ɵɵelementEnd();
393
- i0.ɵɵtemplate(13, ProductAndServicesComponent_mat_card_13_Template, 5, 4, "mat-card", 7);
394
- i0.ɵɵelementStart(14, "sat-popover", 8, 9);
395
- i0.ɵɵelementStart(16, "mat-card", 10);
396
- i0.ɵɵelementStart(17, "div", 11);
397
- i0.ɵɵelementStart(18, "div", 12);
398
- i0.ɵɵlistener("click", function ProductAndServicesComponent_Template_div_click_18_listener() { return ctx.close(); });
399
- i0.ɵɵelement(19, "fa-icon", 13);
400
- i0.ɵɵelementEnd();
401
- i0.ɵɵelementEnd();
402
- i0.ɵɵelementStart(20, "mat-card-title", 14);
403
- i0.ɵɵelementStart(21, "div", 15);
404
- i0.ɵɵelementStart(22, "h4", 16);
405
- i0.ɵɵtext(23, " Customize site");
406
- i0.ɵɵelementEnd();
407
- i0.ɵɵelementEnd();
408
- i0.ɵɵelementEnd();
409
- i0.ɵɵelementStart(24, "mat-card-content", 17);
410
- i0.ɵɵelementStart(25, "div", 18);
411
- i0.ɵɵtext(26, " If there is need to customize the site, then please call 0044-7944144944. ");
412
- i0.ɵɵelementEnd();
413
- i0.ɵɵelementEnd();
414
- i0.ɵɵelementEnd();
415
- i0.ɵɵelementEnd();
416
- } if (rf & 2) {
417
- const _r2 = i0.ɵɵreference(15);
418
- i0.ɵɵadvance(10);
419
- i0.ɵɵproperty("satPopoverAnchorFor", _r2);
420
- i0.ɵɵadvance(3);
421
- i0.ɵɵproperty("ngIf", !ctx.isLoading);
422
- i0.ɵɵadvance(1);
423
- i0.ɵɵproperty("autoFocus", false)("restoreFocus", false)("interactiveClose", false);
424
- } }, directives: [i6.DefaultFlexDirective, i7.MatCard, i6.DefaultLayoutDirective, i8.MatButton, i9.SatPopoverAnchor, i10.NgIf, i9.SatPopover, i5.MatDialogClose, i11.FaIconComponent, i7.MatCardTitle, i7.MatCardContent, i10.NgForOf], pipes: [i10.DatePipe], encapsulation: 2 });
425
- (function () { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(ProductAndServicesComponent, [{
426
- type: Component,
427
- args: [{
428
- selector: "app-product-services-component",
429
- templateUrl: "./product-service.component.html"
430
- }]
431
- }], function () { return [{ type: undefined, decorators: [{
432
- type: Inject,
433
- args: [MAT_DIALOG_DATA]
434
- }] }, { type: i1.ToastrService }, { type: i2.PaymentService }, { type: i3.Router }, { type: i4.CookieService }, { type: i5.MatDialog }]; }, { closeBookingPopup: [{
435
- type: ViewChildren,
436
- args: ["closeBookingPopup"]
437
- }] }); })();
438
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHJvZHVjdC1zZXJ2aWNlLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3NoZWxsLW1vZHVsZS1jb21wb25lbnRzL3NoZWxsLWNvbXBvbmVudHMvc3JjL2xpYi9zaGVsbC1jb21wb25lbnRzL2NvbXBvbmVudHMvUGF5bWVudHMvcHJvZHVjdC1zZXJ2aWNlLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3NoZWxsLW1vZHVsZS1jb21wb25lbnRzL3NoZWxsLWNvbXBvbmVudHMvc3JjL2xpYi9zaGVsbC1jb21wb25lbnRzL2NvbXBvbmVudHMvUGF5bWVudHMvcHJvZHVjdC1zZXJ2aWNlLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQVUsTUFBTSxFQUFhLFlBQVksRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUNuRixPQUFPLEVBQTJCLGVBQWUsRUFBRSxNQUFNLDBCQUEwQixDQUFDO0FBTXBGLE9BQU8sRUFBRSxzQkFBc0IsRUFBRSxNQUFNLCtEQUErRCxDQUFDO0FBQ3ZHLE9BQU8sdURBQXVELENBQUM7QUFFL0QsT0FBTyxFQUFFLDZCQUE2QixFQUFFLE1BQU0sMEJBQTBCLENBQUM7Ozs7Ozs7Ozs7Ozs7Ozs7SUNZckUsK0JBQ3dCO0lBQ3BCLDhCQUF1RDtJQUNuRCw0QkFBTTtJQUFDLG9TQUdQO0lBQUEsaUJBQU87SUFDWCxpQkFBTTtJQUNOLDhCQUE0QztJQUN4QyxrQ0FDdUM7SUFBbkMsd05BQWtDO0lBQ2xDLDJCQUNKO0lBQUEsaUJBQVM7SUFDYixpQkFBTTtJQUNWLGlCQUFNOzs7O0lBQ04sK0JBQ3lCO0lBQ3JCLDhCQUF1RDtJQUNuRCw0QkFBTTtJQUFDLFlBSVA7SUFBQSxpQkFBTztJQUNYLGlCQUFNO0lBQ04sOEJBQTRDO0lBQ3hDLGtDQUN1QztJQUFuQyx5TkFBa0M7SUFDbEMsMkJBQ0o7SUFBQSxpQkFBUztJ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LDJCQUFBOzt1RkRyR2xDLDJCQUEyQjtjQUx2QyxTQUFTO2VBQUM7Z0JBQ1QsUUFBUSxFQUFFLGdDQUFnQztnQkFDMUMsV0FBVyxFQUFFLGtDQUFrQzthQUNoRDs7c0JBd0JjLE1BQU07dUJBQUMsZUFBZTswSkFEQSxpQkFBaUI7a0JBQW5ELFlBQVk7bUJBQUMsbUJBQW1CIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBPbkluaXQsIEluamVjdCwgVmlld0NoaWxkLCBWaWV3Q2hpbGRyZW4gfSBmcm9tIFwiQGFuZ3VsYXIvY29yZVwiO1xyXG5pbXBvcnQgeyBNYXREaWFsb2csIE1hdERpYWxvZ1JlZiwgTUFUX0RJQUxPR19EQVRBIH0gZnJvbSBcIkBhbmd1bGFyL21hdGVyaWFsL2RpYWxvZ1wiO1xyXG5pbXBvcnQgeyBNYXRPcHRpb24gfSBmcm9tIFwiQGFuZ3VsYXIvbWF0ZXJpYWwvY29yZVwiO1xyXG5pbXBvcnQgeyBNYXRUYWJDaGFuZ2VFdmVudCB9IGZyb20gXCJAYW5ndWxhci9tYXRlcmlhbC90YWJzXCI7XHJcbmltcG9ydCB7IFJvdXRlciB9IGZyb20gJ0Bhbmd1bGFyL3JvdXRlcic7XHJcbmltcG9ydCB7IENvb2tpZVNlcnZpY2UgfSBmcm9tICduZ3gtY29va2llLXNlcnZpY2UnO1xyXG5pbXBvcnQgeyBUb2FzdHJTZXJ2aWNlIH0gZnJvbSAnbmd4LXRvYXN0cic7XHJcbmltcG9ydCB7IExvY2FsU3RvcmFnZVByb3BlcnRpZXMgfSBmcm9tICcuLi8uLi8uLi9nbG9iYWxkZXBlbmRlbmNpZXMvY29uc3RhbnRzL2xvY2Fsc3RvcmFnZS1wcm9wZXJ0aWVzJztcclxuaW1wb3J0ICcuLi8uLi8uLi9nbG9iYWxkZXBlbmRlbmNpZXMvaGVscGVycy9mb250YXdlc29tZS1pY29ucyc7XHJcbmltcG9ydCB7IFBheW1lbnRTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vc2VydmljZXMvcGF5bWVudC5zZXJ2aWNlJztcclxuaW1wb3J0IHsgUHVyY2hhc2VNb3JlTGljZW5zZXNDb21wb25lbnQgfSBmcm9tICcuL3B1cmNoYXNlLW1vcmUtbGljZW5zZXMnO1xyXG5cclxuQENvbXBvbmVudCh7XHJcbiAgc2VsZWN0b3I6IFwiYXBwLXByb2R1Y3Qtc2VydmljZXMtY29tcG9uZW50XCIsXHJcbiAgdGVtcGxhdGVVcmw6IFwiLi9wcm9kdWN0LXNlcnZpY2UuY29tcG9uZW50Lmh0bWxcIlxyXG59KVxyXG5cclxuZXhwb3J0IGNsYXNzIFByb2R1Y3RBbmRTZXJ2aWNlc0NvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCB7XHJcblxyXG5cclxuICBzZWxlY3RlZFRhYjogc3RyaW5nO1xyXG4gIHNlbGVjdGVkVGFiSW5kZXg6IG51bWJlcjtcclxuICBwYXltZW50RGV0YWlsczogYW55O1xyXG4gIGlzU3Vic2NyaXB0aW9uQ2FuY2VsOiBib29sZWFuID0gZmFsc2U7XHJcbiAgaXNBbnlPcGVyYXRpb25Jc0lucHJvZ3Jlc3M6IGJvb2xlYW4gPSBmYWxzZTtcclxuICBpc0Zyb21Sb3V0ZTogYm9vbGVhbiA9IGZhbHNlO1xyXG4gIHRvdGFsTm9PZkFjdGl2ZVVzZXJzOiBhbnkgPSAwO1xyXG4gIHRvdGFsTm9PZlB1cmNoYXNlczogYW55ID0gMDtcclxuICBpc1Nob3dSZW5ld2FsOiBib29sZWFuID0gZmFsc2U7XHJcbiAgcHJvZHVjdE5hbWU6IHN0cmluZyA9IFwiU25vdmFzeXNcIjtcclxuICBpc1RyYWlsVmFsaWQ6IGJvb2xlYW4gPSB0cnVlO1xyXG4gIG5vT2ZEYXlzOiBhbnkgPSAwO1xyXG4gIGNvbXBhbnk6IGFueTtcclxuICByZW5ld2FsRGF0ZTogYW55O1xyXG4gIGlzQ2FuY2VsbGVkOiBib29sZWFuO1xyXG4gIHN1YnNjcmlwdGlvblR5cGU6IGFueTtcclxuICBpc0xvYWRpbmc6IGJvb2xlYW4gPSB0cnVlO1xyXG4gIHBheW1lbnRIaXN0b3J5IDogYW55O1xyXG4gIEBWaWV3Q2hpbGRyZW4oXCJjbG9zZUJvb2tpbmdQb3B1cFwiKSBjbG9zZUJvb2tpbmdQb3B1cDtcclxuICBjb25zdHJ1Y3RvcihASW5qZWN0KE1BVF9ESUFMT0dfREFUQSkgcHVibGljIGRhdGE6IGFueSxcclxuICAgIHByaXZhdGUgdG9hc3RyOiBUb2FzdHJTZXJ2aWNlXHJcbiAgICAsIHByaXZhdGUgcGF5bWVudFNlcnZpY2U6IFBheW1lbnRTZXJ2aWNlXHJcbiAgICAsIHB1YmxpYyByb3V0ZXI6IFJvdXRlclxyXG4gICAgLCBwcml2YXRlIGNvb2tpZVNlcnZpY2U6IENvb2tpZVNlcnZpY2UsXHJcbiAgICBwdWJsaWMgZGlhbG9nOiBNYXREaWFsb2csKSB7XHJcblxyXG4gIH1cclxuXHJcbiAgbmdPbkluaXQoKSB7XHJcbiAgICBpZiAodGhpcy5jb29raWVTZXJ2aWNlLmNoZWNrKExvY2FsU3RvcmFnZVByb3BlcnRpZXMuQ29tcGFueURldGFpbHMpICYmIHRoaXMuY29va2llU2VydmljZS5jaGVjayhMb2NhbFN0b3JhZ2VQcm9wZXJ0aWVzLkNvbXBhbnlJZCkpIHtcclxuICAgICAgdGhpcy5jb21wYW55ID0gSlNPTi5wYXJzZSh0aGlzLmNvb2tpZVNlcnZpY2UuZ2V0KExvY2FsU3RvcmFnZVByb3BlcnRpZXMuQ29tcGFueURldGFpbHMpKTtcclxuICAgICAgdGhpcy5ub09mRGF5cyA9IHRoaXMuY29tcGFueSAhPSBudWxsICYmIHRoaXMuY29tcGFueSAhPSB1bmRlZmluZWQgPyB0aGlzLmNvbXBhbnkudHJhaWxEYXlzIDogMDtcclxuICAgIH1cclxuICAgIHRoaXMuZ2V0QWN0aXZlVXNlcnNDb3VudCgpO1xyXG4gICAgdGhpcy5nZXRQdXJjaGFzZWRMaWNlbnNlc0NvdW50KCk7XHJcbiAgICB0aGlzLmdldFBheW1lbnRIaXN0b3J5KCk7XHJcbiAgfVxyXG5cclxuICBjYW5jZWxTdWJzY3JpcHRpb24oKSB7XHJcbiAgICB0aGlzLnBheW1lbnRTZXJ2aWNlLmNhbmNlbFN1YnNjcmlwdGlvbigpLnN1YnNjcmliZSgocmVzcG9uc2VEYXRhOiBhbnkpID0+IHtcclxuICAgICAgaWYgKHJlc3BvbnNlRGF0YS5zdWNjZXNzID09IHRydWUpIHtcclxuICAgICAgICB0aGlzLnRvYXN0ci5zdWNjZXNzKFwiWW91ciBzdWJzY3JpcHRpb24gaGFzIGJlZW4gY2FuY2VsbGVkIHN1Y2Nlc3NmdWxseVwiKTtcclxuICAgICAgICB0aGlzLmlzU3Vic2NyaXB0aW9uQ2FuY2VsID0gdHJ1ZTtcclxuICAgICAgICBzZXRUaW1lb3V0KCgpPT57XHJcbiAgICAgICAgICB0aGlzLmdldFB1cmNoYXNlZExpY2Vuc2VzQ291bnQoKTtcclxuICAgICAgICAgIHRoaXMuZ2V0UGF5bWVudEhpc3RvcnkoKTtcclxuICAgICB9LCAyMDAwKTtcclxuICAgICAgIFxyXG4gICAgICB9XHJcbiAgICAgIGVsc2Uge1xyXG4gICAgICAgIHRoaXMudG9hc3RyLmVycm9yKHJlc3BvbnNlRGF0YS5hcGlSZXNwb25zZU1lc3NhZ2VzWzBdLm1lc3NhZ2UpO1xyXG4gICAgICAgIHRoaXMuaXNTdWJzY3JpcHRpb25DYW5jZWwgPSBmYWxzZTtcclxuICAgICAgfVxyXG4gICAgfSk7XHJcbiAgfVxyXG4gIGdldEFjdGl2ZVVzZXJzQ291bnQoKSB7XHJcbiAgICB0aGlzLnBheW1lbnRTZXJ2aWNlLmdldEFjdGl2ZVVzZXJzQ291bnQoKS5zdWJzY3JpYmUoKHJlc3BvbnNlRGF0YTogYW55KSA9PiB7XHJcbiAgICAgIGlmIChyZXNwb25zZURhdGEuc3VjY2VzcyA9PSB0cnVlKSB7XHJcbiAgICAgICAgdGhpcy50b3RhbE5vT2ZBY3RpdmVVc2VycyA9IHJlc3BvbnNlRGF0YS5kYXRhO1xyXG4gICAgICB9XHJcbiAgICB9KTtcclxuICB9XHJcblxyXG4gIGdldFB1cmNoYXNlZExpY2Vuc2VzQ291bnQoKSB7XHJcbiAgICB0aGlzLmlzTG9hZGluZyA9IHRydWU7XHJcbiAgICB0aGlzLnBheW1lbnRTZXJ2aWNlLmdldFB1cmNoYXNlZExpY2Vuc2VzQ291bnQoKS5zdWJzY3JpYmUoKHJlc3BvbnNlRGF0YTogYW55KSA9PiB7XHJcbiAgICAgIGlmIChyZXNwb25zZURhdGEuc3VjY2VzcyA9PSB0cnVlKSB7XHJcbiAgICAgICAgaWYgKHJlc3BvbnNlRGF0YS5kYXRhKSB7XHJcbiAgICAgICAgICB0aGlzLnRvdGFsTm9PZlB1cmNoYXNlcyA9IHJlc3BvbnNlRGF0YS5kYXRhLnB1cmNoYXNlZExpY2Vuc2VzQ291bnQ7XHJcbiAgICAgICAgICB0aGlzLmlzU2hvd1JlbmV3YWwgPSByZXNwb25zZURhdGEuZGF0YS5pc1Nob3dSZW5ld2FsO1xyXG4gICAgICAgICAgdGhpcy5wcm9kdWN0TmFtZSA9IHJlc3BvbnNlRGF0YS5kYXRhLnB1cmNoYXNlVHlwZTtcclxuICAgICAgICAgIHRoaXMuaXNUcmFpbFZhbGlkID0gZmFsc2U7XHJcbiAgICAgICAgICB0aGlzLnJlbmV3YWxEYXRlID0gcmVzcG9uc2VEYXRhLmRhdGEucmVuZXdhbERhdGU7XHJcbiAgICAgICAgICB0aGlzLmlzQ2FuY2VsbGVkID0gcmVzcG9uc2VEYXRhLmRhdGEuaXNDYW5jZWxsZWQ7XHJcbiAgICAgICAgICB0aGlzLnN1YnNjcmlwdGlvblR5cGUgPSByZXNwb25zZURhdGEuZGF0YS5zdWJzY3JpcHRpb25UeXBlO1xyXG4gICAgICAgIH1cclxuICAgICAgICBlbHNlIHtcclxuICAgICAgICAgIHRoaXMuaXNUcmFpbFZhbGlkID0gdHJ1ZTtcclxuICAgICAgICB9XHJcbiAgICAgIH1cclxuICAgICAgdGhpcy5pc0xvYWRpbmcgPSBmYWxzZTtcclxuICAgIH0pO1xyXG4gIH1cclxuXHJcbiAgbmF2aWdhdGVUb1N1YnNjcmlwdGlvbigpIHtcclxuICAgIHRoaXMucm91dGVyLm5hdmlnYXRlKFtcIi9zaGVsbC9wYXltZW50cy1wbGFuc1wiXSk7XHJcbiAgfVxyXG5cclxuICBwdXJjaGFzZU1vcmVMaWNlbnNlcygpIHtcclxuICAgIGNvbnN0IGRpYWxvZ1JlZiA9IHRoaXMuZGlhbG9nLm9wZW4oUHVyY2hhc2VNb3JlTGljZW5zZXNDb21wb25lbnQsIHtcclxuICAgICAgaGVpZ2h0OiBcIjQ1JVwiLFxyXG4gICAgICB3aWR0aDogXCIyOCVcIixcclxuICAgICAgaGFzQmFja2Ryb3A6IHRydWUsXHJcbiAgICAgIGRpcmVjdGlvbjogXCJsdHJcIixcclxuICAgICAgZGF0YTogeyBub09mUHVyY2hhc2VzOiB0aGlzLnRvdGFsTm9PZlB1cmNoYXNlcywgcHJvZHVjdE5hbWU6IHRoaXMucHJvZHVjdE5hbWUsIHN1YnNjcmlwdGlvblR5cGU6IHRoaXMuc3Vic2NyaXB0aW9uVHlwZSB9LFxyXG4gICAgICBkaXNhYmxlQ2xvc2U6IHRydWVcclxuICAgIH0pO1xyXG4gICAgZGlhbG9nUmVmLmFmdGVyQ2xvc2VkKCkuc3Vic2NyaWJlKChyZXN1bHQpID0+IHtcclxuICAgICAgaWYocmVzdWx0ICE9dW5kZWZpbmVkICYmIHJlc3VsdC5pc1JlbG9hZCA9PSB0cnVlKXtcclxuICAgICAgICB0aGlzLmdldFBheW1lbnRIaXN0b3J5KCk7XHJcbiAgICAgICAgdGhpcy5nZXRQdXJjaGFzZWRMaWNlbnNlc0NvdW50KCk7XHJcbiAgICAgIH1cclxuICAgIH0pO1xyXG4gIH1cclxuICBuYXZpZ2F0ZVRvUGxhbnMoKSB7XHJcbiAgICB0aGlzLnJvdXRlci5uYXZpZ2F0ZShbXCIvc2hlbGwvcGF5bWVudHMtcGxhbnNcIl0pO1xyXG4gIH1cclxuICBnZXRQYXltZW50SGlzdG9yeSgpe1xyXG4gICAgdGhpcy5wYXltZW50U2VydmljZS5nZXRQYXltZW50SGlzdG9yeSgpLnN1YnNjcmliZSgocmVzcG9uc2VEYXRhOiBhbnkpID0+IHtcclxuICAgICAgaWYgKHJlc3BvbnNlRGF0YS5zdWNjZXNzID09IHRydWUpIHtcclxuICAgICAgICB0aGlzLnBheW1lbnRIaXN0b3J5ID0gcmVzcG9uc2VEYXRhLmRhdGFcclxuICAgICAgfVxyXG4gICAgICBlbHNlIHtcclxuICAgICAgICB0aGlzLnRvYXN0ci5lcnJvcihyZXNwb25zZURhdGEuYXBpUmVzcG9uc2VNZXNzYWdlc1swXS5tZXNzYWdlKTtcclxuICAgICAgfVxyXG4gICAgfSk7XHJcbiAgfVxyXG4gIG9wZW5wb3AoY2xvc2VCb29raW5nUG9wdXApIHtcclxuICAgIGNsb3NlQm9va2luZ1BvcHVwLm9wZW5Qb3BvdmVyKCk7XHJcbiAgfVxyXG4gIGNsb3NlKCkge1xyXG4gICAgdGhpcy5jbG9zZUJvb2tpbmdQb3B1cC5mb3JFYWNoKChwKSA9PiBwLmNsb3NlUG9wb3ZlcigpKTtcclxufVxyXG5cclxufVxyXG4iLCI8ZGl2IGZ4RmxleCBmeEZsZXg9XCIxMDBcIj5cclxuICAgIDxoNCBjbGFzcz1cIm1sLTEgbXQtMDVcIj5Qcm9kdWN0cyAmIFNlcnZpY2VzPC9oND5cclxuICAgIDxocj5cclxuPC9kaXY+XHJcbjxtYXQtY2FyZD5cclxuICAgIDxkaXYgc3R5bGU9XCJoZWlnaHQ6Zml0LWNvbnRlbnQ7Ym9yZGVyOiAxcHggc29saWQgI2VjZWFlYTttYXJnaW46IDA7cGFkZGluZzogMHB4IDEwcHggMHB4IDEwcHg7IGJhY2tncm91bmQ6IGFsaWNlYmx1ZTtcIlxyXG4gICAgICAgIGZ4TGF5b3V0PVwicm93XCI+XHJcbiAgICAgICAgPGRpdiBmeEZsZXg9XCI4MFwiIHN0eWxlPVwicGFkZGluZy10b3A6IDE1cHggIWltcG9ydGFudDtcIj5cclxuICAgICAgICAgICAgPHNwYW4+IEN1c3RvbWl6ZSBhbmQgZW5oYW5jZSB5b3VyIHBsYW4gd2l0aCBhZGRpdGlvbmFsIGZlYXR1cmVzLlxyXG4gICAgICAgICAgICA8L3NwYW4+XHJcbiAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgPGRpdiBmeEZsZXg9XCIyMFwiIHN0eWxlPVwidGV4dC1hbGlnbjogcmlnaHQ7XCI+XHJcbiAgICAgICAgICAgIDxidXR0b24gbWF0LXJhaXNlZC1idXR0b24gY29sb3I9XCJwcmltYXJ5XCIgdHlwZT1cInN1Ym1pdFwiIGNsYXNzPVwibWwtMDUgbXQtMDUgbWItMDVcIlxyXG4gICAgICAgICAgICAgICAgKGNsaWNrKT1cIm9wZW5wb3AoY2xvc2VCb29raW5nUG9wdXApXCIgW3NhdFBvcG92ZXJBbmNob3JGb3JdPVwiZmVlZFRpbWVTaGVldFwiXHJcbiAgICAgICAgICAgICAgICAjY2xvc2VCb29raW5nUG9wdXA9XCJzYXRQb3BvdmVyQW5jaG9yXCI+XHJcbiAgICAgICAgICAgICAgICBDdXN0b21pemVcclxuICAgICAgICAgICAgPC9idXR0b24+XHJcbiAgICAgICAgPC9kaXY+XHJcbiAgICA8L2Rpdj5cclxuXHJcbjwvbWF0LWNhcmQ+XHJcbjxtYXQtY2FyZCAqbmdJZj1cIiFpc0xvYWRpbmdcIj5cclxuICAgIDxkaXYgc3R5bGU9XCJoZWlnaHQ6IGZpdC1jb250ZW50O2JvcmRlcjogMXB4IHNvbGlkICNlY2VhZWE7bWFyZ2luOiAwO3BhZGRpbmc6IDBweCAxMHB4IDBweCAxMHB4O1wiIGZ4TGF5b3V0PVwicm93XCJcclxuICAgICAgICAqbmdJZj1cImlzQ2FuY2VsbGVkXCI+XHJcbiAgICAgICAgPGRpdiBmeEZsZXg9XCI4MFwiIHN0eWxlPVwicGFkZGluZy10b3A6IDE1cHggIWltcG9ydGFudDtcIj5cclxuICAgICAgICAgICAgPHNwYW4+IFdlIGFyZSBzb3JyeSB0byBzZWUgeW91IGdvLiBUaGFuayB5b3UgZm9yIGxldHRpbmcgdXMgdG8gYmUgYSBwYXJ0IG9mIHlvdXIgZ3Jvd3RoIHNvIGZhci4gV2UnbGwgbWlzc1xyXG4gICAgICAgICAgICAgICAgeW91IGFyb3VuZCBoZXJlISBJZiB5b3UgZGVjaWRlIHlvdSdkIGxpa2UgdG8gY29udGludWUgdXNpbmcgdGhpcyBwcm9kdWN0LCB5b3UgY2FuIHJlbmV3IGF0IGFueSB0aW1lIGJ5XHJcbiAgICAgICAgICAgICAgICBjbGlja2luZyBvbiB0aGUgc3Vic2NyaWJlIGJ1dHRvbi4gV2UgaG9wZSB0byBzZWUgeW91IGFyb3VuZCEgVGhhbmsgeW91LlxyXG4gICAgICAgICAgICA8L3NwYW4+XHJcbiAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgPGRpdiBmeEZsZXg9XCIyMFwiIHN0eWxlPVwidGV4dC1hbGlnbjogcmlnaHQ7XCI+XHJcbiAgICAgICAgICAgIDxidXR0b24gbWF0LXJhaXNlZC1idXR0b24gY29sb3I9XCJwcmltYXJ5XCIgdHlwZT1cInN1Ym1pdFwiIGNsYXNzPVwibWwtMDUgbXQtMDVcIlxyXG4gICAgICAgICAgICAgICAgKGNsaWNrKT1cIm5hdmlnYXRlVG9TdWJzY3JpcHRpb24oKVwiPlxyXG4gICAgICAgICAgICAgICAgU3Vic2NyaWJlXHJcbiAgICAgICAgICAgIDwvYnV0dG9uPlxyXG4gICAgICAgIDwvZGl2PlxyXG4gICAgPC9kaXY+XHJcbiAgICA8ZGl2IHN0eWxlPVwiaGVpZ2h0OiBmaXQtY29udGVudDtib3JkZXI6IDFweCBzb2xpZCAjZWNlYWVhO21hcmdpbjogMDtwYWRkaW5nOiAwcHggMTBweCAwcHggMTBweDsgXCIgZnhMYXlvdXQ9XCJyb3dcIlxyXG4gICAgICAgICpuZ0lmPVwiaXNUcmFpbFZhbGlkXCI+XHJcbiAgICAgICAgPGRpdiBmeEZsZXg9XCI4MFwiIHN0eWxlPVwicGFkZGluZy10b3A6IDE1cHggIWltcG9ydGFudDtcIj5cclxuICAgICAgICAgICAgPHNwYW4+IEl0IGxvb2tzIGxpa2UgeW914oCZdmUgYWxyZWFkeSBzZWVuIHNvbWUgZ3JlYXQgcmVzdWx0cyB3aXRoIG91ciBQcm9kdWN0LiBUaGlzIGlzIGEgZ3JlYXQgdGltZSB0b1xyXG4gICAgICAgICAgICAgICAgY29uc2lkZXIgdGFraW5nIGEgbG9vayBhdCBvdXIgZGlmZmVyZW50IHBsYW5zLCBzbyB0aGF0IHlvdSBjYW4gdGFrZSBmdWxsIGFkdmFudGFnZSBvZiBvdXIgUHJvZHVjdC4gQXNcclxuICAgICAgICAgICAgICAgIHlvdXIgdHJhaWwgaXMgZ29pbmcgdG8gZXhwaXJlIGluIHt7bm9PZkRheXN9fSBkYXlzLCBwbGVhc2UgaGF2ZSBhIGxvb2sgYXQgb3VyIGRpZmZlcmVudCBwbGFucyBhbmRcclxuICAgICAgICAgICAgICAgIHN1YnNjcmliZSB0byB0aGVtLlxyXG4gICAgICAgICAgICA8L3NwYW4+XHJcbiAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgPGRpdiBmeEZsZXg9XCIyMFwiIHN0eWxlPVwidGV4dC1hbGlnbjogcmlnaHQ7XCI+XHJcbiAgICAgICAgICAgIDxidXR0b24gbWF0LXJhaXNlZC1idXR0b24gY29sb3I9XCJwcmltYXJ5XCIgdHlwZT1cInN1Ym1pdFwiIGNsYXNzPVwibWwtMDUgbXQtMDVcIlxyXG4gICAgICAgICAgICAgICAgKGNsaWNrKT1cIm5hdmlnYXRlVG9TdWJzY3JpcHRpb24oKVwiPlxyXG4gICAgICAgICAgICAgICAgU3Vic2NyaWJlXHJcbiAgICAgICAgICAgIDwvYnV0dG9uPlxyXG4gICAgICAgIDwvZGl2PlxyXG4gICAgPC9kaXY+XHJcbiAgICA8ZGl2IHN0eWxlPVwiaGVpZ2h0OiBmaXQtY29udGVudDtib3JkZXI6IDFweCBzb2xpZCAjZWNlYWVhO21hcmdpbjogMDtwYWRkaW5nOiAxNXB4O1wiIGZ4TGF5b3V0PVwicm93XCJcclxuICAgICAgICAqbmdJZj1cImlzVHJhaWxWYWxpZCA9PSBmYWxzZSAmJiAhaXNDYW5jZWxsZWRcIj5cclxuXHJcbiAgICAgICAgPGRpdiBmeEZsZXg9XCI3MFwiPlxyXG4gICAgICAgICAgICA8bGFiZWw+PGI+e3twcm9kdWN0TmFtZX19PC9iPjwvbGFiZWw+PGJyPlxyXG4gICAgICAgICAgICA8c3Bhbj57e3RvdGFsTm9PZkFjdGl2ZVVzZXJzfX0gb2Yge3t0b3RhbE5vT2ZQdXJjaGFzZXN9fSBVc2VycyBhc3NpZ25lZDwvc3Bhbj48YnI+XHJcbiAgICAgICAgICAgIDxzcGFuPkF1dG9tYXRpY2FsbHkgcmVuZXdzIG9uIHt7cmVuZXdhbERhdGUgfCBkYXRlfX0uIDxhIChjbGljayk9XCJjYW5jZWxTdWJzY3JpcHRpb24oKVwiXHJcbiAgICAgICAgICAgICAgICAgICAgc3R5bGU9XCJjdXJzb3I6IHBvaW50ZXI7IGNvbG9yOiAjMzM3YWI3ICFpbXBvcnRhbnQ7IHRleHQtZGVjb3JhdGlvbjogbm9uZSAhaW1wb3J0YW50OyBcIj5DYW5jZWxcclxuICAgICAgICAgICAgICAgICAgICBzdWJzY3JpcHRpb248L2E+PC9zcGFuPlxyXG4gICAgICAgIDwvZGl2PlxyXG4gICAgICAgIDxkaXYgZnhGbGV4PVwiMzBcIiBzdHlsZT1cInRleHQtYWxpZ246IHJpZ2h0O1wiPlxyXG4gICAgICAgICAgICA8YnV0dG9uIG1hdC1yYWlzZWQtYnV0dG9uIGNvbG9yPVwicHJpbWFyeVwiIHR5cGU9XCJzdWJtaXRcIiBjbGFzcz1cIm1sLTA1IG10LTA1XCIgKm5nSWY9XCIhaXNDYW5jZWxsZWRcIlxyXG4gICAgICAgICAgICAgICAgKGNsaWNrKT1cInB1cmNoYXNlTW9yZUxpY2Vuc2VzKClcIj5cclxuICAgICAgICAgICAgICAgIFB1cmNoYXNlIG1vcmUgbGljZW5zZXNcclxuICAgICAgICAgICAgPC9idXR0b24+XHJcbiAgICAgICAgICAgIDxidXR0b24gbWF0LXJhaXNlZC1idXR0b24gY29sb3I9XCJwcmltYXJ5XCIgdHlwZT1cInN1Ym1pdFwiIGNsYXNzPVwibWwtMDUgbXQtMDVcIiAqbmdJZj1cIiFpc0NhbmNlbGxlZFwiXHJcbiAgICAgICAgICAgICAgICAoY2xpY2spPVwibmF2aWdhdGVUb1BsYW5zKClcIj5cclxuICAgICAgICAgICAgICAgIENoYW5nZSBQbGFuXHJcbiAgICAgICAgICAgIDwvYnV0dG9uPlxyXG4gICAgICAgIDwvZGl2PlxyXG4gICAgPC9kaXY+XHJcblxyXG4gICAgPGRpdiBzdHlsZT1cImhlaWdodDogZml0LWNvbnRlbnQ7Ym9yZGVyOiAxcHggc29saWQgI2VjZWFlYTttYXJnaW46IDA7cGFkZGluZzogMHB4IDEwcHggMHB4IDEwcHg7XCIgZnhMYXlvdXQ9XCJyb3dcIlxyXG4gICAgICAgICpuZ0Zvcj1cImxldCBoaXN0b3J5IG9mIHBheW1lbnRIaXN0b3J5XCI+XHJcbiAgICAgICAgPGRpdiBmeEZsZXg9XCI3MFwiIHN0eWxlPVwicGFkZGluZy10b3A6IDE1cHggIWltcG9ydGFudDtcIj5cclxuICAgICAgICAgICAgPHRhYmxlIHN0eWxlPVwid2lkdGg6IDEwMCU7XCI+XHJcbiAgICAgICAgICAgICAgICA8dHIgZnhMYXlvdXQ9XCJyb3dcIj5cclxuICAgICAgICAgICAgICAgICAgICA8c3BhbiBzdHlsZT1cImZvbnQtd2VpZ2h0OiBib2xkO1wiPlN1YnNjcmlwdGlvbiB0ZXJtIDoge3toaXN0b3J5LnN0YXJ0VGltZSB8IGRhdGV9fSB0b1xyXG4gICAgICAgICAgICAgICAgICAgICAgICB7e2hpc3RvcnkuZW5kVGltZSB8IGRhdGV9fTwvc3Bhbj5cclxuICAgICAgICAgICAgICAgIDwvdHI+XHJcbiAgICAgICAgICAgICAgICA8dHIgZnhMYXlvdXQ9XCJyb3dcIiAqbmdJZj1cIiFoaXN0b3J5LmlzVXBkYXRlXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgPHRkIGZ4RmxleD1cIjgwXCI+PHNwYW4+e3toaXN0b3J5LnB1cmNoYXNlVHlwZX19ICh7e2hpc3Rvcnkubm9vZnB1cmNoYXNlZGxpY2VuY2VzfX0gVXNlcnMgSW5jbHVkZWQpPGJyPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgQmlsbGVkIGV2ZXJ5IHt7aGlzdG9yeS5zdWJzY3JpcHRpb25UeXBlfX0gPC9zcGFuPlxyXG4gICAgICAgICAgICAgICAgICAgIDwvdGQ+XHJcbiAgICAgICAgICAgICAgICAgICAgPHRkIGZ4RmxleD1cIjIwXCI+IMKje3toaXN0b3J5LnRvdGFsQW1vdW50UGFpZH19PC90ZD5cclxuICAgICAgICAgICAgICAgIDwvdHI+XHJcbiAgICAgICAgICAgICAgICA8dHIgZnhMYXlvdXQ9XCJyb3dcIiAqbmdJZj1cImhpc3RvcnkuaXNVcGRhdGVcIj5cclxuICAgICAgICAgICAgICAgICAgICA8dGQgZnhGbGV4PVwiODBcIj48c3Bhbj57e2hpc3RvcnkucHVyY2hhc2VUeXBlfX0gKHt7aGlzdG9yeS5vcmlnaW5hbFB1cmNoYXNlc319IFVzZXJzIEluY2x1ZGVkKVxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8L3NwYW4+XHJcbiAgICAgICAgICAgICAgICAgICAgPC90ZD5cclxuICAgICAgICAgICAgICAgICAgICA8dGQgZnhGbGV4PVwiMjBcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgwqN7e2hpc3RvcnkudG90YWxBbW91bnRQYWlkIC8gaGlzdG9yeS5ub29mcHVyY2hhc2VkbGljZW5jZXMgKiBoaXN0b3J5Lm9yaWdpbmFsUHVyY2hhc2VzIH19PC90ZD5cclxuICAgICAgICAgICAgICAgIDwvdHI+XHJcbiAgICAgICAgICAgICAgICA8dHIgZnhMYXlvdXQ9XCJyb3dcIiAqbmdJZj1cImhpc3RvcnkuaXNVcGRhdGVcIj5cclxuICAgICAgICAgICAgICAgICAgICA8dGQgZnhGbGV4PVwiODBcIj48c3Bhbj57e2hpc3RvcnkucHVyY2hhc2VUeXBlfX0gQWRkaXRpb25hbCBVc2Vyc1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgKHt7aGlzdG9yeS5ub29mcHVyY2hhc2VkbGljZW5jZXMgLSBoaXN0b3J5Lm9yaWdpbmFsUHVyY2hhc2VzfX0gVXNlcnMpPC9zcGFuPlxyXG4gICAgICAgICAgICAgICAgICAgIDwvdGQ+XHJcbiAgICAgICAgICAgICAgICAgICAgPHRkIGZ4RmxleD1cIjIwXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIMKje3toaXN0b3J5LnRvdGFsQW1vdW50UGFpZCAvIGhpc3Rvcnkubm9vZnB1cmNoYXNlZGxpY2VuY2VzICogKCBoaXN0b3J5Lm5vb2ZwdXJjaGFzZWRsaWNlbmNlcyAtIGhpc3Rvcnkub3JpZ2luYWxQdXJjaGFzZXMpfX1cclxuICAgICAgICAgICAgICAgICAgICA8L3RkPlxyXG4gICAgICAgICAgICAgICAgPC90cj5cclxuICAgICAgICAgICAgICAgIDx0ciBmeExheW91dD1cInJvd1wiICpuZ0lmPVwiaGlzdG9yeS5pc1VwZGF0ZVwiPlxyXG4gICAgICAgICAgICAgICAgICAgIDx0ZCBmeEZsZXg9XCI4MFwiPnt7aGlzdG9yeS5wdXJjaGFzZVR5cGV9fSBUb3RhbCAoe3toaXN0b3J5Lm5vb2ZwdXJjaGFzZWRsaWNlbmNlc319IFVzZXJzKTxicj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gc3R5bGU9XCJmb250LXNpemU6IDE0cHg7XCI+IEJpbGxlZCBldmVyeSB7e2hpc3Rvcnkuc3Vic2NyaXB0aW9uVHlwZX19PC9zcGFuPlxyXG4gICAgICAgICAgICAgICAgICAgIDwvdGQ+XHJcbiAgICAgICAgICAgICAgICAgICAgPHRkIGZ4RmxleD1cIjIwXCI+IMKje3toaXN0b3J5LnRvdGFsQW1vdW50UGFpZH19PC90ZD5cclxuICAgICAgICAgICAgICAgIDwvdHI+XHJcbiAgICAgICAgICAgICAgICA8dHIgKm5nSWY9XCJoaXN0b3J5LmlzQ2FuY2VsbGVkXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgPHNwYW4+U3Vic2NyaXB0aW9uIHdhcyBjYW5jZWxsZWQgYXQge3toaXN0b3J5LmNhbmNlbGxlZERhdGUgfCBkYXRlfX08L3NwYW4+XHJcbiAgICAgICAgICAgICAgICA8L3RyPlxyXG4gICAgICAgICAgICA8L3RhYmxlPlxyXG4gICAgICAgIDwvZGl2PlxyXG4gICAgPC9kaXY+XHJcblxyXG48L21hdC1jYXJkPlxyXG48c2F0LXBvcG92ZXIgI2ZlZWRUaW1lU2hlZXQgW2F1dG9Gb2N1c109XCJmYWxzZVwiIGhhc0JhY2tkcm9wIGJhY2tkcm9wQ2xhc3M9XCJiYWNrZHJvcC1jb2xvclwiIFtyZXN0b3JlRm9jdXNdPVwiZmFsc2VcIlxyXG4gICAgW2ludGVyYWN0aXZlQ2xvc2VdPVwiZmFsc2VcIiBzY3JvbGxTdHJhdGVneT1cInJlcG9zaXRpb25cIiB2ZXJ0aWNhbEFsaWduPVwiYmVsb3dcIiBob3Jpem9udGFsQWxpZ249XCJiZWZvcmVcIj5cclxuICAgIDxtYXQtY2FyZCBjbGFzcz1cImZpbHRlci1kYXRhIHAtMFwiIHN0eWxlPVwibWluLWhlaWdodDogMTUwcHg7XCI+XHJcblxyXG4gICAgICAgIDxkaXYgY2xhc3M9XCJjdXN0b20tZGlhbG9nXCI+XHJcbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJjdXN0b20tY2xvc2UgbWwtbGctbjQgbXQtMCBtdC1sZy1uNCBtbC1uMyBcIiBtYXQtZGlhbG9nLWNsb3NlIChjbGljayk9XCJjbG9zZSgpXCI+XHJcbiAgICAgICAgICAgICAgICA8ZmEtaWNvbiBpY29uPVwidGltZXNcIiBjbGFzcz1cInByb2plY3QtZGlhbG9nXCI+PC9mYS1pY29uPlxyXG4gICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICA8L2Rpdj5cclxuICAgICAgICA8bWF0LWNhcmQtdGl0bGUgY2xhc3M9XCJ0ZXh0LWNlbnRlclwiPlxyXG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwiY2FyZC10aXRsZS10ZXh0IG1hdC1iZy1wcmltYXJ5IHAtMDUgbWItMVwiPlxyXG4gICAgICAgICAgICAgICAgPGg0IGNsYXNzPVwibXQtMDVcIj4gQ3VzdG9taXplIHNpdGU8L2g0PlxyXG4gICAgICAgICAgICA8L2Rpdj5cclxuXHJcbiAgICAgICAgPC9tYXQtY2FyZC10aXRsZT5cclxuICAgICAgICA8bWF0LWNhcmQtY29udGVudCBjbGFzcz1cImNhcmQtY29udGVudFwiPlxyXG4gICAgICAgICAgICA8ZGl2IGZ4RmxleD1cIjEwMFwiIGNsYXNzPVwibXQtMlwiIHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPlxyXG4gICAgICAgICAgICAgICAgSWYgdGhlcmUgaXMgbmVlZCB0byBjdXN0b21pemUgdGhlIHNpdGUsIHRoZW4gcGxlYXNlIGNhbGwgMDA0NC03OTQ0MTQ0OTQ0LlxyXG4gICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgPCEtLSA8ZGl2IGZ4RmxleD1cIjEwMFwiIGNsYXNzPVwibXQtMlwiIHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPlxyXG4gICAgICAgICAgICAgICAgPGJ1dHRvbiBtYXQtcmFpc2VkLWJ1dHRvbiBjbGFzcz1cIm1yLTFcIiBjb2xvcj1cInByaW1hcnlcIiAoY2xpY2spPVwiY2xvc2UoKVwiIHR5cGU9XCJzdWJtaXRcIj5cclxuICAgICAgICAgICAgICAgICAgICBOb1xyXG4gICAgICAgICAgICAgICAgPC9idXR0b24+XHJcbiAgICAgICAgICAgIDwvZGl2PiAtLT5cclxuICAgICAgICA8L21hdC1jYXJkLWNvbnRlbnQ+XHJcbiAgICA8L21hdC1jYXJkPlxyXG48L3NhdC1wb3BvdmVyPiJdfQ==
1
+ import { Component, Inject, ViewChildren } from "@angular/core";
2
+ import { MAT_DIALOG_DATA } from "@angular/material/dialog";
3
+ import { LocalStorageProperties } from '../../../globaldependencies/constants/localstorage-properties';
4
+ import '../../../globaldependencies/helpers/fontawesome-icons';
5
+ import { PurchaseMoreLicensesComponent } from './purchase-more-licenses';
6
+ import * as i0 from "@angular/core";
7
+ import * as i1 from "ngx-toastr";
8
+ import * as i2 from "../../services/payment.service";
9
+ import * as i3 from "@angular/router";
10
+ import * as i4 from "ngx-cookie-service";
11
+ import * as i5 from "@angular/material/dialog";
12
+ import * as i6 from "@angular/flex-layout/flex";
13
+ import * as i7 from "@angular/material/card";
14
+ import * as i8 from "@angular/material/button";
15
+ import * as i9 from "@ncstate/sat-popover";
16
+ import * as i10 from "@angular/common";
17
+ import * as i11 from "@fortawesome/angular-fontawesome";
18
+ const _c0 = ["closeBookingPopup"];
19
+ function ProductAndServicesComponent_mat_card_13_div_1_Template(rf, ctx) { if (rf & 1) {
20
+ const _r8 = i0.ɵɵgetCurrentView();
21
+ i0.ɵɵelementStart(0, "div", 23);
22
+ i0.ɵɵelementStart(1, "div", 3);
23
+ i0.ɵɵelementStart(2, "span");
24
+ i0.ɵɵtext(3, " We are sorry to see you go. Thank you for letting us to be a part of your growth so far. We'll miss you around here! If you decide you'd like to continue using this product, you can renew at any time by clicking on the subscribe button. We hope to see you around! Thank you. ");
25
+ i0.ɵɵelementEnd();
26
+ i0.ɵɵelementEnd();
27
+ i0.ɵɵelementStart(4, "div", 4);
28
+ i0.ɵɵelementStart(5, "button", 24);
29
+ i0.ɵɵlistener("click", function ProductAndServicesComponent_mat_card_13_div_1_Template_button_click_5_listener() { i0.ɵɵrestoreView(_r8); const ctx_r7 = i0.ɵɵnextContext(2); return ctx_r7.navigateToSubscription(); });
30
+ i0.ɵɵtext(6, " Subscribe ");
31
+ i0.ɵɵelementEnd();
32
+ i0.ɵɵelementEnd();
33
+ i0.ɵɵelementEnd();
34
+ } }
35
+ function ProductAndServicesComponent_mat_card_13_div_2_Template(rf, ctx) { if (rf & 1) {
36
+ const _r10 = i0.ɵɵgetCurrentView();
37
+ i0.ɵɵelementStart(0, "div", 23);
38
+ i0.ɵɵelementStart(1, "div", 3);
39
+ i0.ɵɵelementStart(2, "span");
40
+ i0.ɵɵtext(3);
41
+ i0.ɵɵelementEnd();
42
+ i0.ɵɵelementEnd();
43
+ i0.ɵɵelementStart(4, "div", 4);
44
+ i0.ɵɵelementStart(5, "button", 24);
45
+ i0.ɵɵlistener("click", function ProductAndServicesComponent_mat_card_13_div_2_Template_button_click_5_listener() { i0.ɵɵrestoreView(_r10); const ctx_r9 = i0.ɵɵnextContext(2); return ctx_r9.navigateToSubscription(); });
46
+ i0.ɵɵtext(6, " Subscribe ");
47
+ i0.ɵɵelementEnd();
48
+ i0.ɵɵelementEnd();
49
+ i0.ɵɵelementEnd();
50
+ } if (rf & 2) {
51
+ const ctx_r4 = i0.ɵɵnextContext(2);
52
+ i0.ɵɵadvance(3);
53
+ i0.ɵɵtextInterpolate1(" It looks like you\u2019ve already seen some great results with our Product. This is a great time to consider taking a look at our different plans, so that you can take full advantage of our Product. As your trail is going to expire in ", ctx_r4.noOfDays, " days, please have a look at our different plans and subscribe to them. ");
54
+ } }
55
+ function ProductAndServicesComponent_mat_card_13_div_3_button_15_Template(rf, ctx) { if (rf & 1) {
56
+ const _r14 = i0.ɵɵgetCurrentView();
57
+ i0.ɵɵelementStart(0, "button", 24);
58
+ i0.ɵɵlistener("click", function ProductAndServicesComponent_mat_card_13_div_3_button_15_Template_button_click_0_listener() { i0.ɵɵrestoreView(_r14); const ctx_r13 = i0.ɵɵnextContext(3); return ctx_r13.purchaseMoreLicenses(); });
59
+ i0.ɵɵtext(1, " Purchase more licenses ");
60
+ i0.ɵɵelementEnd();
61
+ } }
62
+ function ProductAndServicesComponent_mat_card_13_div_3_button_16_Template(rf, ctx) { if (rf & 1) {
63
+ const _r16 = i0.ɵɵgetCurrentView();
64
+ i0.ɵɵelementStart(0, "button", 24);
65
+ i0.ɵɵlistener("click", function ProductAndServicesComponent_mat_card_13_div_3_button_16_Template_button_click_0_listener() { i0.ɵɵrestoreView(_r16); const ctx_r15 = i0.ɵɵnextContext(3); return ctx_r15.navigateToPlans(); });
66
+ i0.ɵɵtext(1, " Change Plan ");
67
+ i0.ɵɵelementEnd();
68
+ } }
69
+ function ProductAndServicesComponent_mat_card_13_div_3_Template(rf, ctx) { if (rf & 1) {
70
+ const _r18 = i0.ɵɵgetCurrentView();
71
+ i0.ɵɵelementStart(0, "div", 25);
72
+ i0.ɵɵelementStart(1, "div", 26);
73
+ i0.ɵɵelementStart(2, "label");
74
+ i0.ɵɵelementStart(3, "b");
75
+ i0.ɵɵtext(4);
76
+ i0.ɵɵelementEnd();
77
+ i0.ɵɵelementEnd();
78
+ i0.ɵɵelement(5, "br");
79
+ i0.ɵɵelementStart(6, "span");
80
+ i0.ɵɵtext(7);
81
+ i0.ɵɵelementEnd();
82
+ i0.ɵɵelement(8, "br");
83
+ i0.ɵɵelementStart(9, "span");
84
+ i0.ɵɵtext(10);
85
+ i0.ɵɵpipe(11, "date");
86
+ i0.ɵɵelementStart(12, "a", 27);
87
+ i0.ɵɵlistener("click", function ProductAndServicesComponent_mat_card_13_div_3_Template_a_click_12_listener() { i0.ɵɵrestoreView(_r18); const ctx_r17 = i0.ɵɵnextContext(2); return ctx_r17.cancelSubscription(); });
88
+ i0.ɵɵtext(13, "Cancel subscription");
89
+ i0.ɵɵelementEnd();
90
+ i0.ɵɵelementEnd();
91
+ i0.ɵɵelementEnd();
92
+ i0.ɵɵelementStart(14, "div", 28);
93
+ i0.ɵɵtemplate(15, ProductAndServicesComponent_mat_card_13_div_3_button_15_Template, 2, 0, "button", 29);
94
+ i0.ɵɵtemplate(16, ProductAndServicesComponent_mat_card_13_div_3_button_16_Template, 2, 0, "button", 29);
95
+ i0.ɵɵelementEnd();
96
+ i0.ɵɵelementEnd();
97
+ } if (rf & 2) {
98
+ const ctx_r5 = i0.ɵɵnextContext(2);
99
+ i0.ɵɵadvance(4);
100
+ i0.ɵɵtextInterpolate(ctx_r5.productName);
101
+ i0.ɵɵadvance(3);
102
+ i0.ɵɵtextInterpolate2("", ctx_r5.totalNoOfActiveUsers, " of ", ctx_r5.totalNoOfPurchases, " Users assigned");
103
+ i0.ɵɵadvance(3);
104
+ i0.ɵɵtextInterpolate1("Automatically renews on ", i0.ɵɵpipeBind1(11, 6, ctx_r5.renewalDate), ". ");
105
+ i0.ɵɵadvance(5);
106
+ i0.ɵɵproperty("ngIf", !ctx_r5.isCancelled);
107
+ i0.ɵɵadvance(1);
108
+ i0.ɵɵproperty("ngIf", !ctx_r5.isCancelled);
109
+ } }
110
+ function ProductAndServicesComponent_mat_card_13_div_4_tr_8_Template(rf, ctx) { if (rf & 1) {
111
+ i0.ɵɵelementStart(0, "tr", 32);
112
+ i0.ɵɵelementStart(1, "td", 35);
113
+ i0.ɵɵelementStart(2, "span");
114
+ i0.ɵɵtext(3);
115
+ i0.ɵɵelement(4, "br");
116
+ i0.ɵɵtext(5);
117
+ i0.ɵɵelementEnd();
118
+ i0.ɵɵelementEnd();
119
+ i0.ɵɵelementStart(6, "td", 36);
120
+ i0.ɵɵtext(7);
121
+ i0.ɵɵelementEnd();
122
+ i0.ɵɵelementEnd();
123
+ } if (rf & 2) {
124
+ const history_r19 = i0.ɵɵnextContext().$implicit;
125
+ i0.ɵɵadvance(3);
126
+ i0.ɵɵtextInterpolate2("", history_r19.purchaseType, " (", history_r19.noofpurchasedlicences, " Users Included)");
127
+ i0.ɵɵadvance(2);
128
+ i0.ɵɵtextInterpolate1(" Billed every ", history_r19.subscriptionType, " ");
129
+ i0.ɵɵadvance(2);
130
+ i0.ɵɵtextInterpolate1(" \u00A3", history_r19.totalAmountPaid, "");
131
+ } }
132
+ function ProductAndServicesComponent_mat_card_13_div_4_tr_9_Template(rf, ctx) { if (rf & 1) {
133
+ i0.ɵɵelementStart(0, "tr", 32);
134
+ i0.ɵɵelementStart(1, "td", 35);
135
+ i0.ɵɵelementStart(2, "span");
136
+ i0.ɵɵtext(3);
137
+ i0.ɵɵelementEnd();
138
+ i0.ɵɵelementEnd();
139
+ i0.ɵɵelementStart(4, "td", 36);
140
+ i0.ɵɵtext(5);
141
+ i0.ɵɵelementEnd();
142
+ i0.ɵɵelementEnd();
143
+ } if (rf & 2) {
144
+ const history_r19 = i0.ɵɵnextContext().$implicit;
145
+ i0.ɵɵadvance(3);
146
+ i0.ɵɵtextInterpolate2("", history_r19.purchaseType, " (", history_r19.originalPurchases, " Users Included) ");
147
+ i0.ɵɵadvance(2);
148
+ i0.ɵɵtextInterpolate1(" \u00A3", history_r19.totalAmountPaid / history_r19.noofpurchasedlicences * history_r19.originalPurchases, "");
149
+ } }
150
+ function ProductAndServicesComponent_mat_card_13_div_4_tr_10_Template(rf, ctx) { if (rf & 1) {
151
+ i0.ɵɵelementStart(0, "tr", 32);
152
+ i0.ɵɵelementStart(1, "td", 35);
153
+ i0.ɵɵelementStart(2, "span");
154
+ i0.ɵɵtext(3);
155
+ i0.ɵɵelementEnd();
156
+ i0.ɵɵelementEnd();
157
+ i0.ɵɵelementStart(4, "td", 36);
158
+ i0.ɵɵtext(5);
159
+ i0.ɵɵelementEnd();
160
+ i0.ɵɵelementEnd();
161
+ } if (rf & 2) {
162
+ const history_r19 = i0.ɵɵnextContext().$implicit;
163
+ i0.ɵɵadvance(3);
164
+ i0.ɵɵtextInterpolate2("", history_r19.purchaseType, " Additional Users (", history_r19.noofpurchasedlicences - history_r19.originalPurchases, " Users)");
165
+ i0.ɵɵadvance(2);
166
+ i0.ɵɵtextInterpolate1(" \u00A3", history_r19.totalAmountPaid / history_r19.noofpurchasedlicences * (history_r19.noofpurchasedlicences - history_r19.originalPurchases), " ");
167
+ } }
168
+ function ProductAndServicesComponent_mat_card_13_div_4_tr_11_Template(rf, ctx) { if (rf & 1) {
169
+ i0.ɵɵelementStart(0, "tr", 32);
170
+ i0.ɵɵelementStart(1, "td", 35);
171
+ i0.ɵɵtext(2);
172
+ i0.ɵɵelement(3, "br");
173
+ i0.ɵɵelementStart(4, "span", 37);
174
+ i0.ɵɵtext(5);
175
+ i0.ɵɵelementEnd();
176
+ i0.ɵɵelementEnd();
177
+ i0.ɵɵelementStart(6, "td", 36);
178
+ i0.ɵɵtext(7);
179
+ i0.ɵɵelementEnd();
180
+ i0.ɵɵelementEnd();
181
+ } if (rf & 2) {
182
+ const history_r19 = i0.ɵɵnextContext().$implicit;
183
+ i0.ɵɵadvance(2);
184
+ i0.ɵɵtextInterpolate2("", history_r19.purchaseType, " Total (", history_r19.noofpurchasedlicences, " Users)");
185
+ i0.ɵɵadvance(3);
186
+ i0.ɵɵtextInterpolate1(" Billed every ", history_r19.subscriptionType, "");
187
+ i0.ɵɵadvance(2);
188
+ i0.ɵɵtextInterpolate1(" \u00A3", history_r19.totalAmountPaid, "");
189
+ } }
190
+ function ProductAndServicesComponent_mat_card_13_div_4_tr_12_Template(rf, ctx) { if (rf & 1) {
191
+ i0.ɵɵelementStart(0, "tr");
192
+ i0.ɵɵelementStart(1, "span");
193
+ i0.ɵɵtext(2);
194
+ i0.ɵɵpipe(3, "date");
195
+ i0.ɵɵelementEnd();
196
+ i0.ɵɵelementEnd();
197
+ } if (rf & 2) {
198
+ const history_r19 = i0.ɵɵnextContext().$implicit;
199
+ i0.ɵɵadvance(2);
200
+ i0.ɵɵtextInterpolate1("Subscription was cancelled at ", i0.ɵɵpipeBind1(3, 1, history_r19.cancelledDate), "");
201
+ } }
202
+ function ProductAndServicesComponent_mat_card_13_div_4_Template(rf, ctx) { if (rf & 1) {
203
+ i0.ɵɵelementStart(0, "div", 23);
204
+ i0.ɵɵelementStart(1, "div", 30);
205
+ i0.ɵɵelementStart(2, "table", 31);
206
+ i0.ɵɵelementStart(3, "tr", 32);
207
+ i0.ɵɵelementStart(4, "span", 33);
208
+ i0.ɵɵtext(5);
209
+ i0.ɵɵpipe(6, "date");
210
+ i0.ɵɵpipe(7, "date");
211
+ i0.ɵɵelementEnd();
212
+ i0.ɵɵelementEnd();
213
+ i0.ɵɵtemplate(8, ProductAndServicesComponent_mat_card_13_div_4_tr_8_Template, 8, 4, "tr", 34);
214
+ i0.ɵɵtemplate(9, ProductAndServicesComponent_mat_card_13_div_4_tr_9_Template, 6, 3, "tr", 34);
215
+ i0.ɵɵtemplate(10, ProductAndServicesComponent_mat_card_13_div_4_tr_10_Template, 6, 3, "tr", 34);
216
+ i0.ɵɵtemplate(11, ProductAndServicesComponent_mat_card_13_div_4_tr_11_Template, 8, 4, "tr", 34);
217
+ i0.ɵɵtemplate(12, ProductAndServicesComponent_mat_card_13_div_4_tr_12_Template, 4, 3, "tr", 7);
218
+ i0.ɵɵelementEnd();
219
+ i0.ɵɵelementEnd();
220
+ i0.ɵɵelementEnd();
221
+ } if (rf & 2) {
222
+ const history_r19 = ctx.$implicit;
223
+ i0.ɵɵadvance(5);
224
+ i0.ɵɵtextInterpolate2("Subscription term : ", i0.ɵɵpipeBind1(6, 7, history_r19.startTime), " to ", i0.ɵɵpipeBind1(7, 9, history_r19.endTime), "");
225
+ i0.ɵɵadvance(3);
226
+ i0.ɵɵproperty("ngIf", !history_r19.isUpdate);
227
+ i0.ɵɵadvance(1);
228
+ i0.ɵɵproperty("ngIf", history_r19.isUpdate);
229
+ i0.ɵɵadvance(1);
230
+ i0.ɵɵproperty("ngIf", history_r19.isUpdate);
231
+ i0.ɵɵadvance(1);
232
+ i0.ɵɵproperty("ngIf", history_r19.isUpdate);
233
+ i0.ɵɵadvance(1);
234
+ i0.ɵɵproperty("ngIf", history_r19.isCancelled);
235
+ } }
236
+ function ProductAndServicesComponent_mat_card_13_Template(rf, ctx) { if (rf & 1) {
237
+ i0.ɵɵelementStart(0, "mat-card");
238
+ i0.ɵɵtemplate(1, ProductAndServicesComponent_mat_card_13_div_1_Template, 7, 0, "div", 19);
239
+ i0.ɵɵtemplate(2, ProductAndServicesComponent_mat_card_13_div_2_Template, 7, 1, "div", 20);
240
+ i0.ɵɵtemplate(3, ProductAndServicesComponent_mat_card_13_div_3_Template, 17, 8, "div", 21);
241
+ i0.ɵɵtemplate(4, ProductAndServicesComponent_mat_card_13_div_4_Template, 13, 11, "div", 22);
242
+ i0.ɵɵelementEnd();
243
+ } if (rf & 2) {
244
+ const ctx_r1 = i0.ɵɵnextContext();
245
+ i0.ɵɵadvance(1);
246
+ i0.ɵɵproperty("ngIf", ctx_r1.isCancelled);
247
+ i0.ɵɵadvance(1);
248
+ i0.ɵɵproperty("ngIf", ctx_r1.isTrailValid);
249
+ i0.ɵɵadvance(1);
250
+ i0.ɵɵproperty("ngIf", ctx_r1.isTrailValid == false && !ctx_r1.isCancelled);
251
+ i0.ɵɵadvance(1);
252
+ i0.ɵɵproperty("ngForOf", ctx_r1.paymentHistory);
253
+ } }
254
+ export class ProductAndServicesComponent {
255
+ constructor(data, toastr, paymentService, router, cookieService, dialog) {
256
+ this.data = data;
257
+ this.toastr = toastr;
258
+ this.paymentService = paymentService;
259
+ this.router = router;
260
+ this.cookieService = cookieService;
261
+ this.dialog = dialog;
262
+ this.isSubscriptionCancel = false;
263
+ this.isAnyOperationIsInprogress = false;
264
+ this.isFromRoute = false;
265
+ this.totalNoOfActiveUsers = 0;
266
+ this.totalNoOfPurchases = 0;
267
+ this.isShowRenewal = false;
268
+ this.productName = "Snovasys";
269
+ this.isTrailValid = true;
270
+ this.noOfDays = 0;
271
+ this.isLoading = true;
272
+ }
273
+ ngOnInit() {
274
+ if (this.cookieService.check(LocalStorageProperties.CompanyDetails) && this.cookieService.check(LocalStorageProperties.CompanyId)) {
275
+ this.company = JSON.parse(this.cookieService.get(LocalStorageProperties.CompanyDetails));
276
+ this.noOfDays = this.company != null && this.company != undefined ? this.company.trailDays : 0;
277
+ }
278
+ this.getActiveUsersCount();
279
+ this.getPurchasedLicensesCount();
280
+ this.getPaymentHistory();
281
+ }
282
+ cancelSubscription() {
283
+ this.paymentService.cancelSubscription().subscribe((responseData) => {
284
+ if (responseData.success == true) {
285
+ this.toastr.success("Your subscription has been cancelled successfully");
286
+ this.isSubscriptionCancel = true;
287
+ setTimeout(() => {
288
+ this.getPurchasedLicensesCount();
289
+ this.getPaymentHistory();
290
+ }, 2000);
291
+ }
292
+ else {
293
+ this.toastr.error(responseData.apiResponseMessages[0].message);
294
+ this.isSubscriptionCancel = false;
295
+ }
296
+ });
297
+ }
298
+ getActiveUsersCount() {
299
+ this.paymentService.getActiveUsersCount().subscribe((responseData) => {
300
+ if (responseData.success == true) {
301
+ this.totalNoOfActiveUsers = responseData.data;
302
+ }
303
+ });
304
+ }
305
+ getPurchasedLicensesCount() {
306
+ this.isLoading = true;
307
+ this.paymentService.getPurchasedLicensesCount().subscribe((responseData) => {
308
+ if (responseData.success == true) {
309
+ if (responseData.data) {
310
+ this.totalNoOfPurchases = responseData.data.purchasedLicensesCount;
311
+ this.isShowRenewal = responseData.data.isShowRenewal;
312
+ this.productName = responseData.data.purchaseType;
313
+ this.isTrailValid = false;
314
+ this.renewalDate = responseData.data.renewalDate;
315
+ this.isCancelled = responseData.data.isCancelled;
316
+ this.subscriptionType = responseData.data.subscriptionType;
317
+ }
318
+ else {
319
+ this.isTrailValid = true;
320
+ }
321
+ }
322
+ this.isLoading = false;
323
+ });
324
+ }
325
+ navigateToSubscription() {
326
+ this.router.navigate(["/shell/payments-plans"]);
327
+ }
328
+ purchaseMoreLicenses() {
329
+ const dialogRef = this.dialog.open(PurchaseMoreLicensesComponent, {
330
+ height: "45%",
331
+ width: "28%",
332
+ hasBackdrop: true,
333
+ direction: "ltr",
334
+ data: { noOfPurchases: this.totalNoOfPurchases, productName: this.productName, subscriptionType: this.subscriptionType },
335
+ disableClose: true
336
+ });
337
+ dialogRef.afterClosed().subscribe((result) => {
338
+ if (result != undefined && result.isReload == true) {
339
+ this.getPaymentHistory();
340
+ this.getPurchasedLicensesCount();
341
+ }
342
+ });
343
+ }
344
+ navigateToPlans() {
345
+ this.router.navigate(["/shell/payments-plans"]);
346
+ }
347
+ getPaymentHistory() {
348
+ this.paymentService.getPaymentHistory().subscribe((responseData) => {
349
+ if (responseData.success == true) {
350
+ this.paymentHistory = responseData.data;
351
+ }
352
+ else {
353
+ this.toastr.error(responseData.apiResponseMessages[0].message);
354
+ }
355
+ });
356
+ }
357
+ openpop(closeBookingPopup) {
358
+ closeBookingPopup.openPopover();
359
+ }
360
+ close() {
361
+ this.closeBookingPopup.forEach((p) => p.closePopover());
362
+ }
363
+ }
364
+ ProductAndServicesComponent.ɵfac = function ProductAndServicesComponent_Factory(t) { return new (t || ProductAndServicesComponent)(i0.ɵɵdirectiveInject(MAT_DIALOG_DATA), i0.ɵɵdirectiveInject(i1.ToastrService), i0.ɵɵdirectiveInject(i2.PaymentService), i0.ɵɵdirectiveInject(i3.Router), i0.ɵɵdirectiveInject(i4.CookieService), i0.ɵɵdirectiveInject(i5.MatDialog)); };
365
+ ProductAndServicesComponent.ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: ProductAndServicesComponent, selectors: [["app-product-services-component"]], viewQuery: function ProductAndServicesComponent_Query(rf, ctx) { if (rf & 1) {
366
+ i0.ɵɵviewQuery(_c0, 5);
367
+ } if (rf & 2) {
368
+ let _t;
369
+ i0.ɵɵqueryRefresh(_t = i0.ɵɵloadQuery()) && (ctx.closeBookingPopup = _t);
370
+ } }, decls: 27, vars: 5, consts: [["fxFlex", "", "fxFlex", "100"], [1, "ml-1", "mt-05"], ["fxLayout", "row", 2, "height", "fit-content", "border", "1px solid #eceaea", "margin", "0", "padding", "0px 10px 0px 10px", "background", "aliceblue"], ["fxFlex", "80", 2, "padding-top", "15px !important"], ["fxFlex", "20", 2, "text-align", "right"], ["mat-raised-button", "", "color", "primary", "type", "submit", 1, "ml-05", "mt-05", "mb-05", 3, "satPopoverAnchorFor", "click"], ["closeBookingPopup", "satPopoverAnchor"], [4, "ngIf"], ["hasBackdrop", "", "backdropClass", "backdrop-color", "scrollStrategy", "reposition", "verticalAlign", "below", "horizontalAlign", "before", 3, "autoFocus", "restoreFocus", "interactiveClose"], ["feedTimeSheet", ""], [1, "filter-data", "p-0", 2, "min-height", "150px"], [1, "custom-dialog"], ["mat-dialog-close", "", 1, "custom-close", "ml-lg-n4", "mt-0", "mt-lg-n4", "ml-n3", 3, "click"], ["icon", "times", 1, "project-dialog"], [1, "text-center"], [1, "card-title-text", "mat-bg-primary", "p-05", "mb-1"], [1, "mt-05"], [1, "card-content"], ["fxFlex", "100", 1, "mt-2", 2, "text-align", "center"], ["style", "height: fit-content;border: 1px solid #eceaea;margin: 0;padding: 0px 10px 0px 10px;", "fxLayout", "row", 4, "ngIf"], ["style", "height: fit-content;border: 1px solid #eceaea;margin: 0;padding: 0px 10px 0px 10px; ", "fxLayout", "row", 4, "ngIf"], ["style", "height: fit-content;border: 1px solid #eceaea;margin: 0;padding: 15px;", "fxLayout", "row", 4, "ngIf"], ["style", "height: fit-content;border: 1px solid #eceaea;margin: 0;padding: 0px 10px 0px 10px;", "fxLayout", "row", 4, "ngFor", "ngForOf"], ["fxLayout", "row", 2, "height", "fit-content", "border", "1px solid #eceaea", "margin", "0", "padding", "0px 10px 0px 10px"], ["mat-raised-button", "", "color", "primary", "type", "submit", 1, "ml-05", "mt-05", 3, "click"], ["fxLayout", "row", 2, "height", "fit-content", "border", "1px solid #eceaea", "margin", "0", "padding", "15px"], ["fxFlex", "70"], [2, "cursor", "pointer", "color", "#337ab7 !important", "text-decoration", "none !important", 3, "click"], ["fxFlex", "30", 2, "text-align", "right"], ["mat-raised-button", "", "color", "primary", "type", "submit", "class", "ml-05 mt-05", 3, "click", 4, "ngIf"], ["fxFlex", "70", 2, "padding-top", "15px !important"], [2, "width", "100%"], ["fxLayout", "row"], [2, "font-weight", "bold"], ["fxLayout", "row", 4, "ngIf"], ["fxFlex", "80"], ["fxFlex", "20"], [2, "font-size", "14px"]], template: function ProductAndServicesComponent_Template(rf, ctx) { if (rf & 1) {
371
+ const _r30 = i0.ɵɵgetCurrentView();
372
+ i0.ɵɵelementStart(0, "div", 0);
373
+ i0.ɵɵelementStart(1, "h4", 1);
374
+ i0.ɵɵtext(2, "Products & Services");
375
+ i0.ɵɵelementEnd();
376
+ i0.ɵɵelement(3, "hr");
377
+ i0.ɵɵelementEnd();
378
+ i0.ɵɵelementStart(4, "mat-card");
379
+ i0.ɵɵelementStart(5, "div", 2);
380
+ i0.ɵɵelementStart(6, "div", 3);
381
+ i0.ɵɵelementStart(7, "span");
382
+ i0.ɵɵtext(8, " Customize and enhance your plan with additional features. ");
383
+ i0.ɵɵelementEnd();
384
+ i0.ɵɵelementEnd();
385
+ i0.ɵɵelementStart(9, "div", 4);
386
+ i0.ɵɵelementStart(10, "button", 5, 6);
387
+ i0.ɵɵlistener("click", function ProductAndServicesComponent_Template_button_click_10_listener() { i0.ɵɵrestoreView(_r30); const _r0 = i0.ɵɵreference(11); return ctx.openpop(_r0); });
388
+ i0.ɵɵtext(12, " Customize ");
389
+ i0.ɵɵelementEnd();
390
+ i0.ɵɵelementEnd();
391
+ i0.ɵɵelementEnd();
392
+ i0.ɵɵelementEnd();
393
+ i0.ɵɵtemplate(13, ProductAndServicesComponent_mat_card_13_Template, 5, 4, "mat-card", 7);
394
+ i0.ɵɵelementStart(14, "sat-popover", 8, 9);
395
+ i0.ɵɵelementStart(16, "mat-card", 10);
396
+ i0.ɵɵelementStart(17, "div", 11);
397
+ i0.ɵɵelementStart(18, "div", 12);
398
+ i0.ɵɵlistener("click", function ProductAndServicesComponent_Template_div_click_18_listener() { return ctx.close(); });
399
+ i0.ɵɵelement(19, "fa-icon", 13);
400
+ i0.ɵɵelementEnd();
401
+ i0.ɵɵelementEnd();
402
+ i0.ɵɵelementStart(20, "mat-card-title", 14);
403
+ i0.ɵɵelementStart(21, "div", 15);
404
+ i0.ɵɵelementStart(22, "h4", 16);
405
+ i0.ɵɵtext(23, " Customize site");
406
+ i0.ɵɵelementEnd();
407
+ i0.ɵɵelementEnd();
408
+ i0.ɵɵelementEnd();
409
+ i0.ɵɵelementStart(24, "mat-card-content", 17);
410
+ i0.ɵɵelementStart(25, "div", 18);
411
+ i0.ɵɵtext(26, " If there is need to customize the site, then please call 0044-7944144944. ");
412
+ i0.ɵɵelementEnd();
413
+ i0.ɵɵelementEnd();
414
+ i0.ɵɵelementEnd();
415
+ i0.ɵɵelementEnd();
416
+ } if (rf & 2) {
417
+ const _r2 = i0.ɵɵreference(15);
418
+ i0.ɵɵadvance(10);
419
+ i0.ɵɵproperty("satPopoverAnchorFor", _r2);
420
+ i0.ɵɵadvance(3);
421
+ i0.ɵɵproperty("ngIf", !ctx.isLoading);
422
+ i0.ɵɵadvance(1);
423
+ i0.ɵɵproperty("autoFocus", false)("restoreFocus", false)("interactiveClose", false);
424
+ } }, directives: [i6.DefaultFlexDirective, i7.MatCard, i6.DefaultLayoutDirective, i8.MatButton, i9.SatPopoverAnchor, i10.NgIf, i9.SatPopover, i5.MatDialogClose, i11.FaIconComponent, i7.MatCardTitle, i7.MatCardContent, i10.NgForOf], pipes: [i10.DatePipe], encapsulation: 2 });
425
+ (function () { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(ProductAndServicesComponent, [{
426
+ type: Component,
427
+ args: [{
428
+ selector: "app-product-services-component",
429
+ templateUrl: "./product-service.component.html"
430
+ }]
431
+ }], function () { return [{ type: undefined, decorators: [{
432
+ type: Inject,
433
+ args: [MAT_DIALOG_DATA]
434
+ }] }, { type: i1.ToastrService }, { type: i2.PaymentService }, { type: i3.Router }, { type: i4.CookieService }, { type: i5.MatDialog }]; }, { closeBookingPopup: [{
435
+ type: ViewChildren,
436
+ args: ["closeBookingPopup"]
437
+ }] }); })();
438
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHJvZHVjdC1zZXJ2aWNlLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3NoZWxsLW1vZHVsZS1jb21wb25lbnRzL3NoZWxsLWNvbXBvbmVudHMvc3JjL2xpYi9zaGVsbC1jb21wb25lbnRzL2NvbXBvbmVudHMvUGF5bWVudHMvcHJvZHVjdC1zZXJ2aWNlLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3NoZWxsLW1vZHVsZS1jb21wb25lbnRzL3NoZWxsLWNvbXBvbmVudHMvc3JjL2xpYi9zaGVsbC1jb21wb25lbnRzL2NvbXBvbmVudHMvUGF5bWVudHMvcHJvZHVjdC1zZXJ2aWNlLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQVUsTUFBTSxFQUFhLFlBQVksRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUNuRixPQUFPLEVBQTJCLGVBQWUsRUFBRSxNQUFNLDBCQUEwQixDQUFDO0FBTXBGLE9BQU8sRUFBRSxzQkFBc0IsRUFBRSxNQUFNLCtEQUErRCxDQUFDO0FBQ3ZHLE9BQU8sdURBQXVELENBQUM7QUFFL0QsT0FBTyxFQUFFLDZCQUE2QixFQUFFLE1BQU0sMEJBQTBCLENBQUM7Ozs7Ozs7Ozs7Ozs7Ozs7SUNZckUsK0JBQ3dCO0lBQ3BCLDhCQUF1RDtJQUNuRCw0QkFBTTtJQUFDLG9TQUdQO0lBQUEsaUJBQU87SUFDWCxpQkFBTTtJQUNOLDhCQUE0QztJQUN4QyxrQ0FDdUM7SUFBbkMsd05BQWtDO0lBQ2xDLDJCQUNKO0lBQUEsaUJBQVM7SUFDYixpQkFBTTtJQUNWLGlCQUFNOzs7O0lBQ04sK0JBQ3lCO0lBQ3JCLDhCQUF1RDtJQUNuRCw0QkFBTTtJQUFDLFlBSVA7SUFBQSxpQkFBTztJQUNYLGlCQUFNO0lBQ04sOEJBQTRDO0lBQ3hDLGtDQUN1QztJQUFuQyx5TkFBa0M7SUFDbEMsMkJBQ0o7SUFBQSxpQkFBUztJ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LDJCQUFBOzt1RkRyR2xDLDJCQUEyQjtjQUx2QyxTQUFTO2VBQUM7Z0JBQ1QsUUFBUSxFQUFFLGdDQUFnQztnQkFDMUMsV0FBVyxFQUFFLGtDQUFrQzthQUNoRDs7c0JBd0JjLE1BQU07dUJBQUMsZUFBZTswSkFEQSxpQkFBaUI7a0JBQW5ELFlBQVk7bUJBQUMsbUJBQW1CIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBPbkluaXQsIEluamVjdCwgVmlld0NoaWxkLCBWaWV3Q2hpbGRyZW4gfSBmcm9tIFwiQGFuZ3VsYXIvY29yZVwiO1xuaW1wb3J0IHsgTWF0RGlhbG9nLCBNYXREaWFsb2dSZWYsIE1BVF9ESUFMT0dfREFUQSB9IGZyb20gXCJAYW5ndWxhci9tYXRlcmlhbC9kaWFsb2dcIjtcbmltcG9ydCB7IE1hdE9wdGlvbiB9IGZyb20gXCJAYW5ndWxhci9tYXRlcmlhbC9jb3JlXCI7XG5pbXBvcnQgeyBNYXRUYWJDaGFuZ2VFdmVudCB9IGZyb20gXCJAYW5ndWxhci9tYXRlcmlhbC90YWJzXCI7XG5pbXBvcnQgeyBSb3V0ZXIgfSBmcm9tICdAYW5ndWxhci9yb3V0ZXInO1xuaW1wb3J0IHsgQ29va2llU2VydmljZSB9IGZyb20gJ25neC1jb29raWUtc2VydmljZSc7XG5pbXBvcnQgeyBUb2FzdHJTZXJ2aWNlIH0gZnJvbSAnbmd4LXRvYXN0cic7XG5pbXBvcnQgeyBMb2NhbFN0b3JhZ2VQcm9wZXJ0aWVzIH0gZnJvbSAnLi4vLi4vLi4vZ2xvYmFsZGVwZW5kZW5jaWVzL2NvbnN0YW50cy9sb2NhbHN0b3JhZ2UtcHJvcGVydGllcyc7XG5pbXBvcnQgJy4uLy4uLy4uL2dsb2JhbGRlcGVuZGVuY2llcy9oZWxwZXJzL2ZvbnRhd2Vzb21lLWljb25zJztcbmltcG9ydCB7IFBheW1lbnRTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vc2VydmljZXMvcGF5bWVudC5zZXJ2aWNlJztcbmltcG9ydCB7IFB1cmNoYXNlTW9yZUxpY2Vuc2VzQ29tcG9uZW50IH0gZnJvbSAnLi9wdXJjaGFzZS1tb3JlLWxpY2Vuc2VzJztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiBcImFwcC1wcm9kdWN0LXNlcnZpY2VzLWNvbXBvbmVudFwiLFxuICB0ZW1wbGF0ZVVybDogXCIuL3Byb2R1Y3Qtc2VydmljZS5jb21wb25lbnQuaHRtbFwiXG59KVxuXG5leHBvcnQgY2xhc3MgUHJvZHVjdEFuZFNlcnZpY2VzQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0IHtcblxuXG4gIHNlbGVjdGVkVGFiOiBzdHJpbmc7XG4gIHNlbGVjdGVkVGFiSW5kZXg6IG51bWJlcjtcbiAgcGF5bWVudERldGFpbHM6IGFueTtcbiAgaXNTdWJzY3JpcHRpb25DYW5jZWw6IGJvb2xlYW4gPSBmYWxzZTtcbiAgaXNBbnlPcGVyYXRpb25Jc0lucHJvZ3Jlc3M6IGJvb2xlYW4gPSBmYWxzZTtcbiAgaXNGcm9tUm91dGU6IGJvb2xlYW4gPSBmYWxzZTtcbiAgdG90YWxOb09mQWN0aXZlVXNlcnM6IGFueSA9IDA7XG4gIHRvdGFsTm9PZlB1cmNoYXNlczogYW55ID0gMDtcbiAgaXNTaG93UmVuZXdhbDogYm9vbGVhbiA9IGZhbHNlO1xuICBwcm9kdWN0TmFtZTogc3RyaW5nID0gXCJTbm92YXN5c1wiO1xuICBpc1RyYWlsVmFsaWQ6IGJvb2xlYW4gPSB0cnVlO1xuICBub09mRGF5czogYW55ID0gMDtcbiAgY29tcGFueTogYW55O1xuICByZW5ld2FsRGF0ZTogYW55O1xuICBpc0NhbmNlbGxlZDogYm9vbGVhbjtcbiAgc3Vic2NyaXB0aW9uVHlwZTogYW55O1xuICBpc0xvYWRpbmc6IGJvb2xlYW4gPSB0cnVlO1xuICBwYXltZW50SGlzdG9yeSA6IGFueTtcbiAgQFZpZXdDaGlsZHJlbihcImNsb3NlQm9va2luZ1BvcHVwXCIpIGNsb3NlQm9va2luZ1BvcHVwO1xuICBjb25zdHJ1Y3RvcihASW5qZWN0KE1BVF9ESUFMT0dfREFUQSkgcHVibGljIGRhdGE6IGFueSxcbiAgICBwcml2YXRlIHRvYXN0cjogVG9hc3RyU2VydmljZVxuICAgICwgcHJpdmF0ZSBwYXltZW50U2VydmljZTogUGF5bWVudFNlcnZpY2VcbiAgICAsIHB1YmxpYyByb3V0ZXI6IFJvdXRlclxuICAgICwgcHJpdmF0ZSBjb29raWVTZXJ2aWNlOiBDb29raWVTZXJ2aWNlLFxuICAgIHB1YmxpYyBkaWFsb2c6IE1hdERpYWxvZywpIHtcblxuICB9XG5cbiAgbmdPbkluaXQoKSB7XG4gICAgaWYgKHRoaXMuY29va2llU2VydmljZS5jaGVjayhMb2NhbFN0b3JhZ2VQcm9wZXJ0aWVzLkNvbXBhbnlEZXRhaWxzKSAmJiB0aGlzLmNvb2tpZVNlcnZpY2UuY2hlY2soTG9jYWxTdG9yYWdlUHJvcGVydGllcy5Db21wYW55SWQpKSB7XG4gICAgICB0aGlzLmNvbXBhbnkgPSBKU09OLnBhcnNlKHRoaXMuY29va2llU2VydmljZS5nZXQoTG9jYWxTdG9yYWdlUHJvcGVydGllcy5Db21wYW55RGV0YWlscykpO1xuICAgICAgdGhpcy5ub09mRGF5cyA9IHRoaXMuY29tcGFueSAhPSBudWxsICYmIHRoaXMuY29tcGFueSAhPSB1bmRlZmluZWQgPyB0aGlzLmNvbXBhbnkudHJhaWxEYXlzIDogMDtcbiAgICB9XG4gICAgdGhpcy5nZXRBY3RpdmVVc2Vyc0NvdW50KCk7XG4gICAgdGhpcy5nZXRQdXJjaGFzZWRMaWNlbnNlc0NvdW50KCk7XG4gICAgdGhpcy5nZXRQYXltZW50SGlzdG9yeSgpO1xuICB9XG5cbiAgY2FuY2VsU3Vic2NyaXB0aW9uKCkge1xuICAgIHRoaXMucGF5bWVudFNlcnZpY2UuY2FuY2VsU3Vic2NyaXB0aW9uKCkuc3Vic2NyaWJlKChyZXNwb25zZURhdGE6IGFueSkgPT4ge1xuICAgICAgaWYgKHJlc3BvbnNlRGF0YS5zdWNjZXNzID09IHRydWUpIHtcbiAgICAgICAgdGhpcy50b2FzdHIuc3VjY2VzcyhcIllvdXIgc3Vic2NyaXB0aW9uIGhhcyBiZWVuIGNhbmNlbGxlZCBzdWNjZXNzZnVsbHlcIik7XG4gICAgICAgIHRoaXMuaXNTdWJzY3JpcHRpb25DYW5jZWwgPSB0cnVlO1xuICAgICAgICBzZXRUaW1lb3V0KCgpPT57XG4gICAgICAgICAgdGhpcy5nZXRQdXJjaGFzZWRMaWNlbnNlc0NvdW50KCk7XG4gICAgICAgICAgdGhpcy5nZXRQYXltZW50SGlzdG9yeSgpO1xuICAgICB9LCAyMDAwKTtcbiAgICAgICBcbiAgICAgIH1cbiAgICAgIGVsc2Uge1xuICAgICAgICB0aGlzLnRvYXN0ci5lcnJvcihyZXNwb25zZURhdGEuYXBpUmVzcG9uc2VNZXNzYWdlc1swXS5tZXNzYWdlKTtcbiAgICAgICAgdGhpcy5pc1N1YnNjcmlwdGlvbkNhbmNlbCA9IGZhbHNlO1xuICAgICAgfVxuICAgIH0pO1xuICB9XG4gIGdldEFjdGl2ZVVzZXJzQ291bnQoKSB7XG4gICAgdGhpcy5wYXltZW50U2VydmljZS5nZXRBY3RpdmVVc2Vyc0NvdW50KCkuc3Vic2NyaWJlKChyZXNwb25zZURhdGE6IGFueSkgPT4ge1xuICAgICAgaWYgKHJlc3BvbnNlRGF0YS5zdWNjZXNzID09IHRydWUpIHtcbiAgICAgICAgdGhpcy50b3RhbE5vT2ZBY3RpdmVVc2VycyA9IHJlc3BvbnNlRGF0YS5kYXRhO1xuICAgICAgfVxuICAgIH0pO1xuICB9XG5cbiAgZ2V0UHVyY2hhc2VkTGljZW5zZXNDb3VudCgpIHtcbiAgICB0aGlzLmlzTG9hZGluZyA9IHRydWU7XG4gICAgdGhpcy5wYXltZW50U2VydmljZS5nZXRQdXJjaGFzZWRMaWNlbnNlc0NvdW50KCkuc3Vic2NyaWJlKChyZXNwb25zZURhdGE6IGFueSkgPT4ge1xuICAgICAgaWYgKHJlc3BvbnNlRGF0YS5zdWNjZXNzID09IHRydWUpIHtcbiAgICAgICAgaWYgKHJlc3BvbnNlRGF0YS5kYXRhKSB7XG4gICAgICAgICAgdGhpcy50b3RhbE5vT2ZQdXJjaGFzZXMgPSByZXNwb25zZURhdGEuZGF0YS5wdXJjaGFzZWRMaWNlbnNlc0NvdW50O1xuICAgICAgICAgIHRoaXMuaXNTaG93UmVuZXdhbCA9IHJlc3BvbnNlRGF0YS5kYXRhLmlzU2hvd1JlbmV3YWw7XG4gICAgICAgICAgdGhpcy5wcm9kdWN0TmFtZSA9IHJlc3BvbnNlRGF0YS5kYXRhLnB1cmNoYXNlVHlwZTtcbiAgICAgICAgICB0aGlzLmlzVHJhaWxWYWxpZCA9IGZhbHNlO1xuICAgICAgICAgIHRoaXMucmVuZXdhbERhdGUgPSByZXNwb25zZURhdGEuZGF0YS5yZW5ld2FsRGF0ZTtcbiAgICAgICAgICB0aGlzLmlzQ2FuY2VsbGVkID0gcmVzcG9uc2VEYXRhLmRhdGEuaXNDYW5jZWxsZWQ7XG4gICAgICAgICAgdGhpcy5zdWJzY3JpcHRpb25UeXBlID0gcmVzcG9uc2VEYXRhLmRhdGEuc3Vic2NyaXB0aW9uVHlwZTtcbiAgICAgICAgfVxuICAgICAgICBlbHNlIHtcbiAgICAgICAgICB0aGlzLmlzVHJhaWxWYWxpZCA9IHRydWU7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICAgIHRoaXMuaXNMb2FkaW5nID0gZmFsc2U7XG4gICAgfSk7XG4gIH1cblxuICBuYXZpZ2F0ZVRvU3Vic2NyaXB0aW9uKCkge1xuICAgIHRoaXMucm91dGVyLm5hdmlnYXRlKFtcIi9zaGVsbC9wYXltZW50cy1wbGFuc1wiXSk7XG4gIH1cblxuICBwdXJjaGFzZU1vcmVMaWNlbnNlcygpIHtcbiAgICBjb25zdCBkaWFsb2dSZWYgPSB0aGlzLmRpYWxvZy5vcGVuKFB1cmNoYXNlTW9yZUxpY2Vuc2VzQ29tcG9uZW50LCB7XG4gICAgICBoZWlnaHQ6IFwiNDUlXCIsXG4gICAgICB3aWR0aDogXCIyOCVcIixcbiAgICAgIGhhc0JhY2tkcm9wOiB0cnVlLFxuICAgICAgZGlyZWN0aW9uOiBcImx0clwiLFxuICAgICAgZGF0YTogeyBub09mUHVyY2hhc2VzOiB0aGlzLnRvdGFsTm9PZlB1cmNoYXNlcywgcHJvZHVjdE5hbWU6IHRoaXMucHJvZHVjdE5hbWUsIHN1YnNjcmlwdGlvblR5cGU6IHRoaXMuc3Vic2NyaXB0aW9uVHlwZSB9LFxuICAgICAgZGlzYWJsZUNsb3NlOiB0cnVlXG4gICAgfSk7XG4gICAgZGlhbG9nUmVmLmFmdGVyQ2xvc2VkKCkuc3Vic2NyaWJlKChyZXN1bHQpID0+IHtcbiAgICAgIGlmKHJlc3VsdCAhPXVuZGVmaW5lZCAmJiByZXN1bHQuaXNSZWxvYWQgPT0gdHJ1ZSl7XG4gICAgICAgIHRoaXMuZ2V0UGF5bWVudEhpc3RvcnkoKTtcbiAgICAgICAgdGhpcy5nZXRQdXJjaGFzZWRMaWNlbnNlc0NvdW50KCk7XG4gICAgICB9XG4gICAgfSk7XG4gIH1cbiAgbmF2aWdhdGVUb1BsYW5zKCkge1xuICAgIHRoaXMucm91dGVyLm5hdmlnYXRlKFtcIi9zaGVsbC9wYXltZW50cy1wbGFuc1wiXSk7XG4gIH1cbiAgZ2V0UGF5bWVudEhpc3RvcnkoKXtcbiAgICB0aGlzLnBheW1lbnRTZXJ2aWNlLmdldFBheW1lbnRIaXN0b3J5KCkuc3Vic2NyaWJlKChyZXNwb25zZURhdGE6IGFueSkgPT4ge1xuICAgICAgaWYgKHJlc3BvbnNlRGF0YS5zdWNjZXNzID09IHRydWUpIHtcbiAgICAgICAgdGhpcy5wYXltZW50SGlzdG9yeSA9IHJlc3BvbnNlRGF0YS5kYXRhXG4gICAgICB9XG4gICAgICBlbHNlIHtcbiAgICAgICAgdGhpcy50b2FzdHIuZXJyb3IocmVzcG9uc2VEYXRhLmFwaVJlc3BvbnNlTWVzc2FnZXNbMF0ubWVzc2FnZSk7XG4gICAgICB9XG4gICAgfSk7XG4gIH1cbiAgb3BlbnBvcChjbG9zZUJvb2tpbmdQb3B1cCkge1xuICAgIGNsb3NlQm9va2luZ1BvcHVwLm9wZW5Qb3BvdmVyKCk7XG4gIH1cbiAgY2xvc2UoKSB7XG4gICAgdGhpcy5jbG9zZUJvb2tpbmdQb3B1cC5mb3JFYWNoKChwKSA9PiBwLmNsb3NlUG9wb3ZlcigpKTtcbn1cblxufVxuIiwiPGRpdiBmeEZsZXggZnhGbGV4PVwiMTAwXCI+XG4gICAgPGg0IGNsYXNzPVwibWwtMSBtdC0wNVwiPlByb2R1Y3RzICYgU2VydmljZXM8L2g0PlxuICAgIDxocj5cbjwvZGl2PlxuPG1hdC1jYXJkPlxuICAgIDxkaXYgc3R5bGU9XCJoZWlnaHQ6Zml0LWNvbnRlbnQ7Ym9yZGVyOiAxcHggc29saWQgI2VjZWFlYTttYXJnaW46IDA7cGFkZGluZzogMHB4IDEwcHggMHB4IDEwcHg7IGJhY2tncm91bmQ6IGFsaWNlYmx1ZTtcIlxuICAgICAgICBmeExheW91dD1cInJvd1wiPlxuICAgICAgICA8ZGl2IGZ4RmxleD1cIjgwXCIgc3R5bGU9XCJwYWRkaW5nLXRvcDogMTVweCAhaW1wb3J0YW50O1wiPlxuICAgICAgICAgICAgPHNwYW4+IEN1c3RvbWl6ZSBhbmQgZW5oYW5jZSB5b3VyIHBsYW4gd2l0aCBhZGRpdGlvbmFsIGZlYXR1cmVzLlxuICAgICAgICAgICAgPC9zcGFuPlxuICAgICAgICA8L2Rpdj5cbiAgICAgICAgPGRpdiBmeEZsZXg9XCIyMFwiIHN0eWxlPVwidGV4dC1hbGlnbjogcmlnaHQ7XCI+XG4gICAgICAgICAgICA8YnV0dG9uIG1hdC1yYWlzZWQtYnV0dG9uIGNvbG9yPVwicHJpbWFyeVwiIHR5cGU9XCJzdWJtaXRcIiBjbGFzcz1cIm1sLTA1IG10LTA1IG1iLTA1XCJcbiAgICAgICAgICAgICAgICAoY2xpY2spPVwib3BlbnBvcChjbG9zZUJvb2tpbmdQb3B1cClcIiBbc2F0UG9wb3ZlckFuY2hvckZvcl09XCJmZWVkVGltZVNoZWV0XCJcbiAgICAgICAgICAgICAgICAjY2xvc2VCb29raW5nUG9wdXA9XCJzYXRQb3BvdmVyQW5jaG9yXCI+XG4gICAgICAgICAgICAgICAgQ3VzdG9taXplXG4gICAgICAgICAgICA8L2J1dHRvbj5cbiAgICAgICAgPC9kaXY+XG4gICAgPC9kaXY+XG5cbjwvbWF0LWNhcmQ+XG48bWF0LWNhcmQgKm5nSWY9XCIhaXNMb2FkaW5nXCI+XG4gICAgPGRpdiBzdHlsZT1cImhlaWdodDogZml0LWNvbnRlbnQ7Ym9yZGVyOiAxcHggc29saWQgI2VjZWFlYTttYXJnaW46IDA7cGFkZGluZzogMHB4IDEwcHggMHB4IDEwcHg7XCIgZnhMYXlvdXQ9XCJyb3dcIlxuICAgICAgICAqbmdJZj1cImlzQ2FuY2VsbGVkXCI+XG4gICAgICAgIDxkaXYgZnhGbGV4PVwiODBcIiBzdHlsZT1cInBhZGRpbmctdG9wOiAxNXB4ICFpbXBvcnRhbnQ7XCI+XG4gICAgICAgICAgICA8c3Bhbj4gV2UgYXJlIHNvcnJ5IHRvIHNlZSB5b3UgZ28uIFRoYW5rIHlvdSBmb3IgbGV0dGluZyB1cyB0byBiZSBhIHBhcnQgb2YgeW91ciBncm93dGggc28gZmFyLiBXZSdsbCBtaXNzXG4gICAgICAgICAgICAgICAgeW91IGFyb3VuZCBoZXJlISBJZiB5b3UgZGVjaWRlIHlvdSdkIGxpa2UgdG8gY29udGludWUgdXNpbmcgdGhpcyBwcm9kdWN0LCB5b3UgY2FuIHJlbmV3IGF0IGFueSB0aW1lIGJ5XG4gICAgICAgICAgICAgICAgY2xpY2tpbmcgb24gdGhlIHN1YnNjcmliZSBidXR0b24uIFdlIGhvcGUgdG8gc2VlIHlvdSBhcm91bmQhIFRoYW5rIHlvdS5cbiAgICAgICAgICAgIDwvc3Bhbj5cbiAgICAgICAgPC9kaXY+XG4gICAgICAgIDxkaXYgZnhGbGV4PVwiMjBcIiBzdHlsZT1cInRleHQtYWxpZ246IHJpZ2h0O1wiPlxuICAgICAgICAgICAgPGJ1dHRvbiBtYXQtcmFpc2VkLWJ1dHRvbiBjb2xvcj1cInByaW1hcnlcIiB0eXBlPVwic3VibWl0XCIgY2xhc3M9XCJtbC0wNSBtdC0wNVwiXG4gICAgICAgICAgICAgICAgKGNsaWNrKT1cIm5hdmlnYXRlVG9TdWJzY3JpcHRpb24oKVwiPlxuICAgICAgICAgICAgICAgIFN1YnNjcmliZVxuICAgICAgICAgICAgPC9idXR0b24+XG4gICAgICAgIDwvZGl2PlxuICAgIDwvZGl2PlxuICAgIDxkaXYgc3R5bGU9XCJoZWlnaHQ6IGZpdC1jb250ZW50O2JvcmRlcjogMXB4IHNvbGlkICNlY2VhZWE7bWFyZ2luOiAwO3BhZGRpbmc6IDBweCAxMHB4IDBweCAxMHB4OyBcIiBmeExheW91dD1cInJvd1wiXG4gICAgICAgICpuZ0lmPVwiaXNUcmFpbFZhbGlkXCI+XG4gICAgICAgIDxkaXYgZnhGbGV4PVwiODBcIiBzdHlsZT1cInBhZGRpbmctdG9wOiAxNXB4ICFpbXBvcnRhbnQ7XCI+XG4gICAgICAgICAgICA8c3Bhbj4gSXQgbG9va3MgbGlrZSB5b3XigJl2ZSBhbHJlYWR5IHNlZW4gc29tZSBncmVhdCByZXN1bHRzIHdpdGggb3VyIFByb2R1Y3QuIFRoaXMgaXMgYSBncmVhdCB0aW1lIHRvXG4gICAgICAgICAgICAgICAgY29uc2lkZXIgdGFraW5nIGEgbG9vayBhdCBvdXIgZGlmZmVyZW50IHBsYW5zLCBzbyB0aGF0IHlvdSBjYW4gdGFrZSBmdWxsIGFkdmFudGFnZSBvZiBvdXIgUHJvZHVjdC4gQXNcbiAgICAgICAgICAgICAgICB5b3VyIHRyYWlsIGlzIGdvaW5nIHRvIGV4cGlyZSBpbiB7e25vT2ZEYXlzfX0gZGF5cywgcGxlYXNlIGhhdmUgYSBsb29rIGF0IG91ciBkaWZmZXJlbnQgcGxhbnMgYW5kXG4gICAgICAgICAgICAgICAgc3Vic2NyaWJlIHRvIHRoZW0uXG4gICAgICAgICAgICA8L3NwYW4+XG4gICAgICAgIDwvZGl2PlxuICAgICAgICA8ZGl2IGZ4RmxleD1cIjIwXCIgc3R5bGU9XCJ0ZXh0LWFsaWduOiByaWdodDtcIj5cbiAgICAgICAgICAgIDxidXR0b24gbWF0LXJhaXNlZC1idXR0b24gY29sb3I9XCJwcmltYXJ5XCIgdHlwZT1cInN1Ym1pdFwiIGNsYXNzPVwibWwtMDUgbXQtMDVcIlxuICAgICAgICAgICAgICAgIChjbGljayk9XCJuYXZpZ2F0ZVRvU3Vic2NyaXB0aW9uKClcIj5cbiAgICAgICAgICAgICAgICBTdWJzY3JpYmVcbiAgICAgICAgICAgIDwvYnV0dG9uPlxuICAgICAgICA8L2Rpdj5cbiAgICA8L2Rpdj5cbiAgICA8ZGl2IHN0eWxlPVwiaGVpZ2h0OiBmaXQtY29udGVudDtib3JkZXI6IDFweCBzb2xpZCAjZWNlYWVhO21hcmdpbjogMDtwYWRkaW5nOiAxNXB4O1wiIGZ4TGF5b3V0PVwicm93XCJcbiAgICAgICAgKm5nSWY9XCJpc1RyYWlsVmFsaWQgPT0gZmFsc2UgJiYgIWlzQ2FuY2VsbGVkXCI+XG5cbiAgICAgICAgPGRpdiBmeEZsZXg9XCI3MFwiPlxuICAgICAgICAgICAgPGxhYmVsPjxiPnt7cHJvZHVjdE5hbWV9fTwvYj48L2xhYmVsPjxicj5cbiAgICAgICAgICAgIDxzcGFuPnt7dG90YWxOb09mQWN0aXZlVXNlcnN9fSBvZiB7e3RvdGFsTm9PZlB1cmNoYXNlc319IFVzZXJzIGFzc2lnbmVkPC9zcGFuPjxicj5cbiAgICAgICAgICAgIDxzcGFuPkF1dG9tYXRpY2FsbHkgcmVuZXdzIG9uIHt7cmVuZXdhbERhdGUgfCBkYXRlfX0uIDxhIChjbGljayk9XCJjYW5jZWxTdWJzY3JpcHRpb24oKVwiXG4gICAgICAgICAgICAgICAgICAgIHN0eWxlPVwiY3Vyc29yOiBwb2ludGVyOyBjb2xvcjogIzMzN2FiNyAhaW1wb3J0YW50OyB0ZXh0LWRlY29yYXRpb246IG5vbmUgIWltcG9ydGFudDsgXCI+Q2FuY2VsXG4gICAgICAgICAgICAgICAgICAgIHN1YnNjcmlwdGlvbjwvYT48L3NwYW4+XG4gICAgICAgIDwvZGl2PlxuICAgICAgICA8ZGl2IGZ4RmxleD1cIjMwXCIgc3R5bGU9XCJ0ZXh0LWFsaWduOiByaWdodDtcIj5cbiAgICAgICAgICAgIDxidXR0b24gbWF0LXJhaXNlZC1idXR0b24gY29sb3I9XCJwcmltYXJ5XCIgdHlwZT1cInN1Ym1pdFwiIGNsYXNzPVwibWwtMDUgbXQtMDVcIiAqbmdJZj1cIiFpc0NhbmNlbGxlZFwiXG4gICAgICAgICAgICAgICAgKGNsaWNrKT1cInB1cmNoYXNlTW9yZUxpY2Vuc2VzKClcIj5cbiAgICAgICAgICAgICAgICBQdXJjaGFzZSBtb3JlIGxpY2Vuc2VzXG4gICAgICAgICAgICA8L2J1dHRvbj5cbiAgICAgICAgICAgIDxidXR0b24gbWF0LXJhaXNlZC1idXR0b24gY29sb3I9XCJwcmltYXJ5XCIgdHlwZT1cInN1Ym1pdFwiIGNsYXNzPVwibWwtMDUgbXQtMDVcIiAqbmdJZj1cIiFpc0NhbmNlbGxlZFwiXG4gICAgICAgICAgICAgICAgKGNsaWNrKT1cIm5hdmlnYXRlVG9QbGFucygpXCI+XG4gICAgICAgICAgICAgICAgQ2hhbmdlIFBsYW5cbiAgICAgICAgICAgIDwvYnV0dG9uPlxuICAgICAgICA8L2Rpdj5cbiAgICA8L2Rpdj5cblxuICAgIDxkaXYgc3R5bGU9XCJoZWlnaHQ6IGZpdC1jb250ZW50O2JvcmRlcjogMXB4IHNvbGlkICNlY2VhZWE7bWFyZ2luOiAwO3BhZGRpbmc6IDBweCAxMHB4IDBweCAxMHB4O1wiIGZ4TGF5b3V0PVwicm93XCJcbiAgICAgICAgKm5nRm9yPVwibGV0IGhpc3Rvcnkgb2YgcGF5bWVudEhpc3RvcnlcIj5cbiAgICAgICAgPGRpdiBmeEZsZXg9XCI3MFwiIHN0eWxlPVwicGFkZGluZy10b3A6IDE1cHggIWltcG9ydGFudDtcIj5cbiAgICAgICAgICAgIDx0YWJsZSBzdHlsZT1cIndpZHRoOiAxMDAlO1wiPlxuICAgICAgICAgICAgICAgIDx0ciBmeExheW91dD1cInJvd1wiPlxuICAgICAgICAgICAgICAgICAgICA8c3BhbiBzdHlsZT1cImZvbnQtd2VpZ2h0OiBib2xkO1wiPlN1YnNjcmlwdGlvbiB0ZXJtIDoge3toaXN0b3J5LnN0YXJ0VGltZSB8IGRhdGV9fSB0b1xuICAgICAgICAgICAgICAgICAgICAgICAge3toaXN0b3J5LmVuZFRpbWUgfCBkYXRlfX08L3NwYW4+XG4gICAgICAgICAgICAgICAgPC90cj5cbiAgICAgICAgICAgICAgICA8dHIgZnhMYXlvdXQ9XCJyb3dcIiAqbmdJZj1cIiFoaXN0b3J5LmlzVXBkYXRlXCI+XG4gICAgICAgICAgICAgICAgICAgIDx0ZCBmeEZsZXg9XCI4MFwiPjxzcGFuPnt7aGlzdG9yeS5wdXJjaGFzZVR5cGV9fSAoe3toaXN0b3J5Lm5vb2ZwdXJjaGFzZWRsaWNlbmNlc319IFVzZXJzIEluY2x1ZGVkKTxicj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBCaWxsZWQgZXZlcnkge3toaXN0b3J5LnN1YnNjcmlwdGlvblR5cGV9fSA8L3NwYW4+XG4gICAgICAgICAgICAgICAgICAgIDwvdGQ+XG4gICAgICAgICAgICAgICAgICAgIDx0ZCBmeEZsZXg9XCIyMFwiPiDCo3t7aGlzdG9yeS50b3RhbEFtb3VudFBhaWR9fTwvdGQ+XG4gICAgICAgICAgICAgICAgPC90cj5cbiAgICAgICAgICAgICAgICA8dHIgZnhMYXlvdXQ9XCJyb3dcIiAqbmdJZj1cImhpc3RvcnkuaXNVcGRhdGVcIj5cbiAgICAgICAgICAgICAgICAgICAgPHRkIGZ4RmxleD1cIjgwXCI+PHNwYW4+e3toaXN0b3J5LnB1cmNoYXNlVHlwZX19ICh7e2hpc3Rvcnkub3JpZ2luYWxQdXJjaGFzZXN9fSBVc2VycyBJbmNsdWRlZClcbiAgICAgICAgICAgICAgICAgICAgICAgIDwvc3Bhbj5cbiAgICAgICAgICAgICAgICAgICAgPC90ZD5cbiAgICAgICAgICAgICAgICAgICAgPHRkIGZ4RmxleD1cIjIwXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICDCo3t7aGlzdG9yeS50b3RhbEFtb3VudFBhaWQgLyBoaXN0b3J5Lm5vb2ZwdXJjaGFzZWRsaWNlbmNlcyAqIGhpc3Rvcnkub3JpZ2luYWxQdXJjaGFzZXMgfX08L3RkPlxuICAgICAgICAgICAgICAgIDwvdHI+XG4gICAgICAgICAgICAgICAgPHRyIGZ4TGF5b3V0PVwicm93XCIgKm5nSWY9XCJoaXN0b3J5LmlzVXBkYXRlXCI+XG4gICAgICAgICAgICAgICAgICAgIDx0ZCBmeEZsZXg9XCI4MFwiPjxzcGFuPnt7aGlzdG9yeS5wdXJjaGFzZVR5cGV9fSBBZGRpdGlvbmFsIFVzZXJzXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgKHt7aGlzdG9yeS5ub29mcHVyY2hhc2VkbGljZW5jZXMgLSBoaXN0b3J5Lm9yaWdpbmFsUHVyY2hhc2VzfX0gVXNlcnMpPC9zcGFuPlxuICAgICAgICAgICAgICAgICAgICA8L3RkPlxuICAgICAgICAgICAgICAgICAgICA8dGQgZnhGbGV4PVwiMjBcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgIMKje3toaXN0b3J5LnRvdGFsQW1vdW50UGFpZCAvIGhpc3Rvcnkubm9vZnB1cmNoYXNlZGxpY2VuY2VzICogKCBoaXN0b3J5Lm5vb2ZwdXJjaGFzZWRsaWNlbmNlcyAtIGhpc3Rvcnkub3JpZ2luYWxQdXJjaGFzZXMpfX1cbiAgICAgICAgICAgICAgICAgICAgPC90ZD5cbiAgICAgICAgICAgICAgICA8L3RyPlxuICAgICAgICAgICAgICAgIDx0ciBmeExheW91dD1cInJvd1wiICpuZ0lmPVwiaGlzdG9yeS5pc1VwZGF0ZVwiPlxuICAgICAgICAgICAgICAgICAgICA8dGQgZnhGbGV4PVwiODBcIj57e2hpc3RvcnkucHVyY2hhc2VUeXBlfX0gVG90YWwgKHt7aGlzdG9yeS5ub29mcHVyY2hhc2VkbGljZW5jZXN9fSBVc2Vycyk8YnI+XG4gICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiBzdHlsZT1cImZvbnQtc2l6ZTogMTRweDtcIj4gQmlsbGVkIGV2ZXJ5IHt7aGlzdG9yeS5zdWJzY3JpcHRpb25UeXBlfX08L3NwYW4+XG4gICAgICAgICAgICAgICAgICAgIDwvdGQ+XG4gICAgICAgICAgICAgICAgICAgIDx0ZCBmeEZsZXg9XCIyMFwiPiDCo3t7aGlzdG9yeS50b3RhbEFtb3VudFBhaWR9fTwvdGQ+XG4gICAgICAgICAgICAgICAgPC90cj5cbiAgICAgICAgICAgICAgICA8dHIgKm5nSWY9XCJoaXN0b3J5LmlzQ2FuY2VsbGVkXCI+XG4gICAgICAgICAgICAgICAgICAgIDxzcGFuPlN1YnNjcmlwdGlvbiB3YXMgY2FuY2VsbGVkIGF0IHt7aGlzdG9yeS5jYW5jZWxsZWREYXRlIHwgZGF0ZX19PC9zcGFuPlxuICAgICAgICAgICAgICAgIDwvdHI+XG4gICAgICAgICAgICA8L3RhYmxlPlxuICAgICAgICA8L2Rpdj5cbiAgICA8L2Rpdj5cblxuPC9tYXQtY2FyZD5cbjxzYXQtcG9wb3ZlciAjZmVlZFRpbWVTaGVldCBbYXV0b0ZvY3VzXT1cImZhbHNlXCIgaGFzQmFja2Ryb3AgYmFja2Ryb3BDbGFzcz1cImJhY2tkcm9wLWNvbG9yXCIgW3Jlc3RvcmVGb2N1c109XCJmYWxzZVwiXG4gICAgW2ludGVyYWN0aXZlQ2xvc2VdPVwiZmFsc2VcIiBzY3JvbGxTdHJhdGVneT1cInJlcG9zaXRpb25cIiB2ZXJ0aWNhbEFsaWduPVwiYmVsb3dcIiBob3Jpem9udGFsQWxpZ249XCJiZWZvcmVcIj5cbiAgICA8bWF0LWNhcmQgY2xhc3M9XCJmaWx0ZXItZGF0YSBwLTBcIiBzdHlsZT1cIm1pbi1oZWlnaHQ6IDE1MHB4O1wiPlxuXG4gICAgICAgIDxkaXYgY2xhc3M9XCJjdXN0b20tZGlhbG9nXCI+XG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwiY3VzdG9tLWNsb3NlIG1sLWxnLW40IG10LTAgbXQtbGctbjQgbWwtbjMgXCIgbWF0LWRpYWxvZy1jbG9zZSAoY2xpY2spPVwiY2xvc2UoKVwiPlxuICAgICAgICAgICAgICAgIDxmYS1pY29uIGljb249XCJ0aW1lc1wiIGNsYXNzPVwicHJvamVjdC1kaWFsb2dcIj48L2ZhLWljb24+XG4gICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgPC9kaXY+XG4gICAgICAgIDxtYXQtY2FyZC10aXRsZSBjbGFzcz1cInRleHQtY2VudGVyXCI+XG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwiY2FyZC10aXRsZS10ZXh0IG1hdC1iZy1wcmltYXJ5IHAtMDUgbWItMVwiPlxuICAgICAgICAgICAgICAgIDxoNCBjbGFzcz1cIm10LTA1XCI+IEN1c3RvbWl6ZSBzaXRlPC9oND5cbiAgICAgICAgICAgIDwvZGl2PlxuXG4gICAgICAgIDwvbWF0LWNhcmQtdGl0bGU+XG4gICAgICAgIDxtYXQtY2FyZC1jb250ZW50IGNsYXNzPVwiY2FyZC1jb250ZW50XCI+XG4gICAgICAgICAgICA8ZGl2IGZ4RmxleD1cIjEwMFwiIGNsYXNzPVwibXQtMlwiIHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPlxuICAgICAgICAgICAgICAgIElmIHRoZXJlIGlzIG5lZWQgdG8gY3VzdG9taXplIHRoZSBzaXRlLCB0aGVuIHBsZWFzZSBjYWxsIDAwNDQtNzk0NDE0NDk0NC5cbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgPCEtLSA8ZGl2IGZ4RmxleD1cIjEwMFwiIGNsYXNzPVwibXQtMlwiIHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPlxuICAgICAgICAgICAgICAgIDxidXR0b24gbWF0LXJhaXNlZC1idXR0b24gY2xhc3M9XCJtci0xXCIgY29sb3I9XCJwcmltYXJ5XCIgKGNsaWNrKT1cImNsb3NlKClcIiB0eXBlPVwic3VibWl0XCI+XG4gICAgICAgICAgICAgICAgICAgIE5vXG4gICAgICAgICAgICAgICAgPC9idXR0b24+XG4gICAgICAgICAgICA8L2Rpdj4gLS0+XG4gICAgICAgIDwvbWF0LWNhcmQtY29udGVudD5cbiAgICA8L21hdC1jYXJkPlxuPC9zYXQtcG9wb3Zlcj4iXX0=