ngx-techlify-core 16.3.1 → 18.0.0-alpha.2

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 (268) hide show
  1. package/esm2022/lib/access-control-config/access-control-config-form/access-control-config-form.component.mjs +5 -13
  2. package/esm2022/lib/access-control-config/access-control-config-routing.module.mjs +5 -5
  3. package/esm2022/lib/access-control-config/access-control-config.component.mjs +20 -26
  4. package/esm2022/lib/access-control-config/access-control-config.model.mjs +1 -14
  5. package/esm2022/lib/access-control-config/access-control-config.module.mjs +7 -7
  6. package/esm2022/lib/access-control-config/access-control-config.service.mjs +5 -6
  7. package/esm2022/lib/action-popup/action-popup.component.mjs +6 -8
  8. package/esm2022/lib/action-popup/action-popup.model.mjs +1 -4
  9. package/esm2022/lib/action-popup/action-popup.module.mjs +7 -7
  10. package/esm2022/lib/audit-log/audit-log-for-model/audit-log-for-model-routing.module.mjs +5 -5
  11. package/esm2022/lib/audit-log/audit-log-for-model/audit-log-for-model.component.mjs +6 -9
  12. package/esm2022/lib/audit-log/audit-log-for-model/audit-log-for-model.module.mjs +7 -7
  13. package/esm2022/lib/audit-log/audit-log-list/audit-log-list-routing.module.mjs +5 -5
  14. package/esm2022/lib/audit-log/audit-log-list/audit-log-list.component.mjs +20 -30
  15. package/esm2022/lib/audit-log/audit-log-list/audit-log-list.module.mjs +7 -7
  16. package/esm2022/lib/audit-log/audit-log-list-filter/audit-log-list-filter-routing.module.mjs +5 -5
  17. package/esm2022/lib/audit-log/audit-log-list-filter/audit-log-list-filter.component.mjs +6 -10
  18. package/esm2022/lib/audit-log/audit-log-list-filter/audit-log-list-filter.module.mjs +7 -7
  19. package/esm2022/lib/audit-log/audit-log-routing.module.mjs +5 -5
  20. package/esm2022/lib/audit-log/audit-log-view/audit-log-view-routing.module.mjs +5 -5
  21. package/esm2022/lib/audit-log/audit-log-view/audit-log-view.component.mjs +7 -11
  22. package/esm2022/lib/audit-log/audit-log-view/audit-log-view.module.mjs +7 -7
  23. package/esm2022/lib/audit-log/audit-log-view-model/audit-log-view-model-routing.module.mjs +5 -5
  24. package/esm2022/lib/audit-log/audit-log-view-model/audit-log-view-model.component.mjs +8 -12
  25. package/esm2022/lib/audit-log/audit-log-view-model/audit-log-view-model.module.mjs +7 -7
  26. package/esm2022/lib/audit-log/audit-log.module.mjs +7 -7
  27. package/esm2022/lib/audit-log/audit-log.service.mjs +5 -5
  28. package/esm2022/lib/audit-log/audit-logs-view-model/audit-logs-view-model-routing.module.mjs +5 -5
  29. package/esm2022/lib/audit-log/audit-logs-view-model/audit-logs-view-model.component.mjs +6 -9
  30. package/esm2022/lib/audit-log/audit-logs-view-model/audit-logs-view-model.module.mjs +7 -7
  31. package/esm2022/lib/base-model/techlify-form-component.class.mjs +1 -4
  32. package/esm2022/lib/base-model/techlify-listing-component.class.mjs +10 -9
  33. package/esm2022/lib/base-model/techlify-service.class.mjs +2 -3
  34. package/esm2022/lib/change-password/change-password-routing.module.mjs +5 -5
  35. package/esm2022/lib/change-password/change-password.component.mjs +8 -17
  36. package/esm2022/lib/change-password/change-password.module.mjs +7 -7
  37. package/esm2022/lib/column-selector/column-selector/column-selector.component.mjs +16 -15
  38. package/esm2022/lib/column-selector/column-selector.module.mjs +7 -7
  39. package/esm2022/lib/core/alert.service.mjs +5 -6
  40. package/esm2022/lib/core/api-prefix.interceptor.mjs +5 -6
  41. package/esm2022/lib/core/authentication.guard.mjs +5 -7
  42. package/esm2022/lib/core/authentication.service.mjs +5 -8
  43. package/esm2022/lib/core/cache.interceptor.mjs +6 -7
  44. package/esm2022/lib/core/config.service.mjs +6 -7
  45. package/esm2022/lib/core/core.module.mjs +19 -26
  46. package/esm2022/lib/core/credentials.service.mjs +6 -7
  47. package/esm2022/lib/core/dataManager.service.mjs +5 -6
  48. package/esm2022/lib/core/error-handler.interceptor.mjs +5 -8
  49. package/esm2022/lib/core/error-handler.service.mjs +5 -7
  50. package/esm2022/lib/core/filter.service.mjs +5 -7
  51. package/esm2022/lib/core/form-validator.service.mjs +5 -5
  52. package/esm2022/lib/core/header.interceptor.mjs +4 -4
  53. package/esm2022/lib/core/http-cache.service.mjs +6 -9
  54. package/esm2022/lib/core/http.service.mjs +6 -11
  55. package/esm2022/lib/core/logger.service.mjs +3 -4
  56. package/esm2022/lib/core/route-reusable-strategy.mjs +4 -4
  57. package/esm2022/lib/core/snack/snack.component.mjs +11 -13
  58. package/esm2022/lib/core/snack/snack.module.mjs +7 -7
  59. package/esm2022/lib/core/storage.service.mjs +6 -6
  60. package/esm2022/lib/core/techlify-config.model.mjs +7 -9
  61. package/esm2022/lib/core/token.interceptor.mjs +5 -6
  62. package/esm2022/lib/data-table/data-table.component.mjs +16 -22
  63. package/esm2022/lib/data-table/data-table.model.mjs +1 -36
  64. package/esm2022/lib/data-table/data-table.module.mjs +7 -7
  65. package/esm2022/lib/date-validator.mjs +1 -1
  66. package/esm2022/lib/document-viewer/document-viewer.component.mjs +8 -12
  67. package/esm2022/lib/document-viewer/document-viewer.module.mjs +7 -7
  68. package/esm2022/lib/document-viewer/viewer-config.model.mjs +1 -4
  69. package/esm2022/lib/email-subscription/email-subscription-for-user/email-subscription-for-user-routing.module.mjs +5 -5
  70. package/esm2022/lib/email-subscription/email-subscription-for-user/email-subscription-for-user.component.mjs +12 -13
  71. package/esm2022/lib/email-subscription/email-subscription-for-user/email-subscription-for-user.module.mjs +7 -7
  72. package/esm2022/lib/email-subscription/email-subscription-routing.module.mjs +5 -5
  73. package/esm2022/lib/email-subscription/email-subscription-type/email-subscription-type-form/email-subscription-type-form-routing.module.mjs +5 -5
  74. package/esm2022/lib/email-subscription/email-subscription-type/email-subscription-type-form/email-subscription-type-form.component.mjs +6 -19
  75. package/esm2022/lib/email-subscription/email-subscription-type/email-subscription-type-form/email-subscription-type-form.module.mjs +7 -7
  76. package/esm2022/lib/email-subscription/email-subscription-type/email-subscription-type-list/email-subscription-type-list-routing.module.mjs +5 -5
  77. package/esm2022/lib/email-subscription/email-subscription-type/email-subscription-type-list/email-subscription-type-list.component.mjs +23 -26
  78. package/esm2022/lib/email-subscription/email-subscription-type/email-subscription-type-list/email-subscription-type-list.module.mjs +7 -7
  79. package/esm2022/lib/email-subscription/email-subscription-type/email-subscription-type-routing.module.mjs +5 -5
  80. package/esm2022/lib/email-subscription/email-subscription-type/email-subscription-type.module.mjs +7 -7
  81. package/esm2022/lib/email-subscription/email-subscription-user/email-subscription-user-form/email-subscription-user-form-routing.module.mjs +5 -5
  82. package/esm2022/lib/email-subscription/email-subscription-user/email-subscription-user-form/email-subscription-user-form.component.mjs +6 -19
  83. package/esm2022/lib/email-subscription/email-subscription-user/email-subscription-user-form/email-subscription-user-form.module.mjs +7 -7
  84. package/esm2022/lib/email-subscription/email-subscription-user/email-subscription-user-list/email-subscription-user-list-routing.module.mjs +5 -5
  85. package/esm2022/lib/email-subscription/email-subscription-user/email-subscription-user-list/email-subscription-user-list.component.mjs +19 -23
  86. package/esm2022/lib/email-subscription/email-subscription-user/email-subscription-user-list/email-subscription-user-list.module.mjs +7 -7
  87. package/esm2022/lib/email-subscription/email-subscription-user/email-subscription-user-list-filter/email-subscription-user-list-filter-routing.module.mjs +5 -5
  88. package/esm2022/lib/email-subscription/email-subscription-user/email-subscription-user-list-filter/email-subscription-user-list-filter.component.mjs +6 -8
  89. package/esm2022/lib/email-subscription/email-subscription-user/email-subscription-user-list-filter/email-subscription-user-list-filter.module.mjs +7 -7
  90. package/esm2022/lib/email-subscription/email-subscription-user/email-subscription-user-routing.module.mjs +5 -5
  91. package/esm2022/lib/email-subscription/email-subscription-user/email-subscription-user.module.mjs +7 -7
  92. package/esm2022/lib/email-subscription/email-subscription.module.mjs +7 -7
  93. package/esm2022/lib/entity-files/entity-file-form/entity-file-form.component.mjs +13 -26
  94. package/esm2022/lib/entity-files/entity-file.service.mjs +5 -6
  95. package/esm2022/lib/entity-files/entity-files-view-all.component.mjs +36 -54
  96. package/esm2022/lib/entity-files/entity-files-view-all.module.mjs +7 -7
  97. package/esm2022/lib/export-excel/export-excel-button/export-excel-button.component.mjs +9 -8
  98. package/esm2022/lib/export-excel/export-excel.module.mjs +7 -7
  99. package/esm2022/lib/file-dragdrop-uploader/file-dragdrop-uploader/file-dragdrop-uploader.component.mjs +14 -16
  100. package/esm2022/lib/file-dragdrop-uploader/file-dragdrop-uploader.module.mjs +7 -7
  101. package/esm2022/lib/file-dropper/file-dropper.component.mjs +8 -12
  102. package/esm2022/lib/file-dropper/file-dropper.model.mjs +1 -9
  103. package/esm2022/lib/file-dropper/file-dropper.module.mjs +7 -7
  104. package/esm2022/lib/forgot-password/forgot-password-routing.module.mjs +5 -5
  105. package/esm2022/lib/forgot-password/forgot-password.component.mjs +6 -18
  106. package/esm2022/lib/forgot-password/forgot-password.module.mjs +7 -7
  107. package/esm2022/lib/import-csv/data-import/data-import.component.mjs +5 -6
  108. package/esm2022/lib/import-csv/failed-items-list/failed-items-list.component.mjs +6 -9
  109. package/esm2022/lib/import-csv/field-mapping/field-mapping.component.mjs +9 -16
  110. package/esm2022/lib/import-csv/import-csv.component.mjs +57 -65
  111. package/esm2022/lib/import-csv/import-csv.module.mjs +7 -7
  112. package/esm2022/lib/import-csv/import-history-list/import-history-list.component.mjs +14 -18
  113. package/esm2022/lib/import-csv/import-success/import-success.component.mjs +5 -7
  114. package/esm2022/lib/ip-address-selector/ip-address-selector.module.mjs +7 -7
  115. package/esm2022/lib/ip-address-selector/ip-range-selector/ip-range-selector.component.mjs +48 -47
  116. package/esm2022/lib/loader/loader.component.mjs +9 -9
  117. package/esm2022/lib/loader/loader.module.mjs +7 -7
  118. package/esm2022/lib/login/login-routing.module.mjs +5 -5
  119. package/esm2022/lib/login/login.component.mjs +6 -24
  120. package/esm2022/lib/login/login.module.mjs +7 -7
  121. package/esm2022/lib/login-history-for-user/login-history-for-user-routing.module.mjs +5 -5
  122. package/esm2022/lib/login-history-for-user/login-history-for-user.component.mjs +11 -15
  123. package/esm2022/lib/login-history-for-user/login-history-for-user.module.mjs +7 -7
  124. package/esm2022/lib/material.module.mjs +7 -7
  125. package/esm2022/lib/ngx-techlify-users/ngx-techlify-users-routing.module.mjs +5 -5
  126. package/esm2022/lib/ngx-techlify-users/ngx-techlify-users.module.mjs +7 -7
  127. package/esm2022/lib/note/comment-form/comment-form.component.mjs +6 -11
  128. package/esm2022/lib/note/note-form/note-form.component.mjs +6 -15
  129. package/esm2022/lib/note/note-list/note-list.component.mjs +13 -18
  130. package/esm2022/lib/note/note.module.mjs +7 -7
  131. package/esm2022/lib/note/note.service.mjs +5 -6
  132. package/esm2022/lib/number-input-button/number-input-button/number-input-button.component.mjs +24 -24
  133. package/esm2022/lib/number-input-button/number-input-button.module.mjs +7 -7
  134. package/esm2022/lib/password-requirement-check/password-check.service.mjs +5 -5
  135. package/esm2022/lib/password-requirement-check/password-requirement-check/password-requirement-check.component.mjs +7 -10
  136. package/esm2022/lib/password-requirement-check/password-requirement-check.module.mjs +5 -5
  137. package/esm2022/lib/profile/profile-edit.component.mjs +6 -15
  138. package/esm2022/lib/profile/profile-routing.module.mjs +5 -5
  139. package/esm2022/lib/profile/profile.module.mjs +7 -7
  140. package/esm2022/lib/read-more/read-more.component.mjs +10 -11
  141. package/esm2022/lib/read-more/read-more.module.mjs +7 -7
  142. package/esm2022/lib/request-helper/request-helper.service.mjs +5 -7
  143. package/esm2022/lib/restrictors/restrictor-level-selector/restrictor-level-selector/restrictor-level-selector.component.mjs +15 -17
  144. package/esm2022/lib/restrictors/restrictor-level-selector/restrictor-level-selector.module.mjs +7 -7
  145. package/esm2022/lib/restrictors/restrictor-level-selector/restrictor-level.service.mjs +5 -6
  146. package/esm2022/lib/restrictors/restrictor-status-selector/restrictor-status-selector/restrictor-status-selector.component.mjs +15 -17
  147. package/esm2022/lib/restrictors/restrictor-status-selector/restrictor-status-selector.module.mjs +7 -7
  148. package/esm2022/lib/restrictors/restrictor-status-selector/restrictor-status.service.mjs +5 -6
  149. package/esm2022/lib/restrictors/restrictor-type-selector/restrictor-type-selector/restrictor-type-selector.component.mjs +15 -17
  150. package/esm2022/lib/restrictors/restrictor-type-selector/restrictor-type-selector.module.mjs +7 -7
  151. package/esm2022/lib/restrictors/restrictor-type-selector/restrictor-type.service.mjs +5 -6
  152. package/esm2022/lib/restrictors/restrictor.service.mjs +5 -6
  153. package/esm2022/lib/restrictors/restrictors-form/restrictors-form.component.mjs +5 -14
  154. package/esm2022/lib/restrictors/restrictors-form-page/restrictors-form-page.component.mjs +5 -10
  155. package/esm2022/lib/restrictors/restrictors-list-page/restrictors-list-page.component.mjs +17 -26
  156. package/esm2022/lib/restrictors/restrictors-routing.module.mjs +5 -5
  157. package/esm2022/lib/restrictors/restrictors.module.mjs +7 -7
  158. package/esm2022/lib/role/permission/permission.model.mjs +1 -4
  159. package/esm2022/lib/role/permission/permission.module.mjs +7 -7
  160. package/esm2022/lib/role/permission/permission.routes.mjs +5 -5
  161. package/esm2022/lib/role/permission/permissions-management.component.mjs +5 -18
  162. package/esm2022/lib/role/role-form.component.mjs +10 -20
  163. package/esm2022/lib/role/role-view/role-view.component.mjs +5 -10
  164. package/esm2022/lib/role/role.model.mjs +2 -12
  165. package/esm2022/lib/role/role.module.mjs +7 -7
  166. package/esm2022/lib/role/role.routes.mjs +5 -5
  167. package/esm2022/lib/role/role.service.mjs +5 -6
  168. package/esm2022/lib/role/roles-view-all.component.mjs +18 -27
  169. package/esm2022/lib/searchable-selector/searchable-selector.component.mjs +40 -55
  170. package/esm2022/lib/searchable-selector/searchable-selector.module.mjs +7 -7
  171. package/esm2022/lib/signup/signup-routing.module.mjs +5 -5
  172. package/esm2022/lib/signup/signup.component.mjs +6 -15
  173. package/esm2022/lib/signup/signup.module.mjs +7 -7
  174. package/esm2022/lib/techlify-company-switcher/techlify-company-switcher/techlify-company-switcher.component.mjs +6 -11
  175. package/esm2022/lib/techlify-company-switcher/techlify-company-switcher.module.mjs +7 -7
  176. package/esm2022/lib/techlify-feature/on-off-switch/on-off-switch.component.mjs +5 -8
  177. package/esm2022/lib/techlify-feature/techlify-feature-enabled.directive.mjs +6 -12
  178. package/esm2022/lib/techlify-feature/techlify-feature-listing.component.mjs +15 -25
  179. package/esm2022/lib/techlify-feature/techlify-feature.module.mjs +7 -7
  180. package/esm2022/lib/techlify-feature/techlify-feature.service.mjs +5 -6
  181. package/esm2022/lib/techlify-notifications/ngx-techlify-notifier/ngx-techlify-notifier-routing.module.mjs +5 -5
  182. package/esm2022/lib/techlify-notifications/ngx-techlify-notifier/ngx-techlify-notifier.component.mjs +13 -19
  183. package/esm2022/lib/techlify-notifications/ngx-techlify-notifier/ngx-techlify-notifier.module.mjs +7 -7
  184. package/esm2022/lib/techlify-notifications/techlify-notification-for-user/techlify-notification-for-user-routing.module.mjs +5 -5
  185. package/esm2022/lib/techlify-notifications/techlify-notification-for-user/techlify-notification-for-user.component.mjs +13 -17
  186. package/esm2022/lib/techlify-notifications/techlify-notification-for-user/techlify-notification-for-user.module.mjs +7 -7
  187. package/esm2022/lib/techlify-notifications/techlify-notification-routing.module.mjs +5 -5
  188. package/esm2022/lib/techlify-notifications/techlify-notification-subscriber/techlify-notfication-subscriber-dashboard/techlify-notfication-subscriber-dashboard-routing.module.mjs +5 -5
  189. package/esm2022/lib/techlify-notifications/techlify-notification-subscriber/techlify-notfication-subscriber-dashboard/techlify-notfication-subscriber-dashboard.component.mjs +20 -27
  190. package/esm2022/lib/techlify-notifications/techlify-notification-subscriber/techlify-notfication-subscriber-dashboard/techlify-notfication-subscriber-dashboard.module.mjs +7 -7
  191. package/esm2022/lib/techlify-notifications/techlify-notification-subscriber/techlify-notification-subscriber-form/techlify-notification-subscriber-form-routing.module.mjs +5 -5
  192. package/esm2022/lib/techlify-notifications/techlify-notification-subscriber/techlify-notification-subscriber-form/techlify-notification-subscriber-form.component.mjs +8 -22
  193. package/esm2022/lib/techlify-notifications/techlify-notification-subscriber/techlify-notification-subscriber-form/techlify-notification-subscriber-form.module.mjs +7 -7
  194. package/esm2022/lib/techlify-notifications/techlify-notification-subscriber/techlify-notification-subscriber-list/techlify-notification-subscriber-list-routing.module.mjs +5 -5
  195. package/esm2022/lib/techlify-notifications/techlify-notification-subscriber/techlify-notification-subscriber-list/techlify-notification-subscriber-list.component.mjs +22 -28
  196. package/esm2022/lib/techlify-notifications/techlify-notification-subscriber/techlify-notification-subscriber-list/techlify-notification-subscriber-list.module.mjs +7 -7
  197. package/esm2022/lib/techlify-notifications/techlify-notification-subscriber/techlify-notification-subscriber-list-filter/techlify-notification-subscriber-list-filter-routing.module.mjs +5 -5
  198. package/esm2022/lib/techlify-notifications/techlify-notification-subscriber/techlify-notification-subscriber-list-filter/techlify-notification-subscriber-list-filter.component.mjs +10 -13
  199. package/esm2022/lib/techlify-notifications/techlify-notification-subscriber/techlify-notification-subscriber-list-filter/techlify-notification-subscriber-list-filter.module.mjs +7 -7
  200. package/esm2022/lib/techlify-notifications/techlify-notification-subscriber/techlify-notification-subscriber-routing.module.mjs +5 -5
  201. package/esm2022/lib/techlify-notifications/techlify-notification-subscriber/techlify-notification-subscriber.module.mjs +7 -7
  202. package/esm2022/lib/techlify-notifications/techlify-notification-subscriber/techlify-notification-subscription-entity.model.mjs +4 -4
  203. package/esm2022/lib/techlify-notifications/techlify-notification-type/techlify-notification-type-form/techlify-notification-type-form-routing.module.mjs +5 -5
  204. package/esm2022/lib/techlify-notifications/techlify-notification-type/techlify-notification-type-form/techlify-notification-type-form.component.mjs +6 -18
  205. package/esm2022/lib/techlify-notifications/techlify-notification-type/techlify-notification-type-form/techlify-notification-type-form.module.mjs +7 -7
  206. package/esm2022/lib/techlify-notifications/techlify-notification-type/techlify-notification-type-list/techlify-notification-type-list-routing.module.mjs +5 -5
  207. package/esm2022/lib/techlify-notifications/techlify-notification-type/techlify-notification-type-list/techlify-notification-type-list.component.mjs +24 -29
  208. package/esm2022/lib/techlify-notifications/techlify-notification-type/techlify-notification-type-list/techlify-notification-type-list.module.mjs +7 -7
  209. package/esm2022/lib/techlify-notifications/techlify-notification-type/techlify-notification-type-routing.module.mjs +5 -5
  210. package/esm2022/lib/techlify-notifications/techlify-notification-type/techlify-notification-type.module.mjs +7 -7
  211. package/esm2022/lib/techlify-notifications/techlify-notification-user-status.model.mjs +3 -3
  212. package/esm2022/lib/techlify-notifications/techlify-notification.module.mjs +7 -7
  213. package/esm2022/lib/techlify-tagger-tag-form-field/techlify-tagger-tag-form-config.model.mjs +1 -10
  214. package/esm2022/lib/techlify-tagger-tag-form-field/techlify-tagger-tag-form-field.component.mjs +21 -34
  215. package/esm2022/lib/techlify-tagger-tag-form-field/techlify-tagger-tag-form-field.module.mjs +7 -7
  216. package/esm2022/lib/techlify-tagger-tag-selector/techlify-tagger-tag-selector.component.mjs +25 -33
  217. package/esm2022/lib/techlify-tagger-tag-selector/techlify-tagger-tag-selector.module.mjs +7 -7
  218. package/esm2022/lib/techlify-update/techlify-update-form/techlify-update-form.component.mjs +12 -20
  219. package/esm2022/lib/techlify-update/techlify-update-form/techlify-update-form.module.mjs +7 -7
  220. package/esm2022/lib/techlify-update/techlify-update-history/techlify-update-history-routing.module.mjs +5 -5
  221. package/esm2022/lib/techlify-update/techlify-update-history/techlify-update-history.component.mjs +20 -26
  222. package/esm2022/lib/techlify-update/techlify-update-history/techlify-update-history.module.mjs +7 -7
  223. package/esm2022/lib/techlify-update/techlify-update-routing.module.mjs +5 -5
  224. package/esm2022/lib/techlify-update/techlify-update.module.mjs +7 -7
  225. package/esm2022/lib/techlify-update/techlify-update.service.mjs +5 -6
  226. package/esm2022/lib/techlify-update/techlify-updates-list/techlify-updates-list.component.mjs +20 -26
  227. package/esm2022/lib/techlify-update/techlify-updates-teaser/techlify-updates-teaser.component.mjs +8 -11
  228. package/esm2022/lib/techlify-update/techlify-updates-teaser/techlify-updates-teaser.module.mjs +7 -7
  229. package/esm2022/lib/techlify-update/update-notifier/update-notifier-snack/update-notifier-snack.component.mjs +8 -16
  230. package/esm2022/lib/techlify-update/update-notifier/update-notifier.component.mjs +6 -10
  231. package/esm2022/lib/techlify-update/update-notifier/update-notifier.module.mjs +7 -7
  232. package/esm2022/lib/techlify-update/update-view/update-view.component.mjs +6 -11
  233. package/esm2022/lib/techlify-update/update-view/update-view.module.mjs +7 -7
  234. package/esm2022/lib/timeline-filter/calculate-timeline.mjs +1 -1
  235. package/esm2022/lib/timeline-filter/timeline-filter-routing.module.mjs +5 -5
  236. package/esm2022/lib/timeline-filter/timeline-filter.component.mjs +46 -55
  237. package/esm2022/lib/timeline-filter/timeline-filter.module.mjs +7 -7
  238. package/esm2022/lib/timeline-filter/timeline.model.mjs +16 -16
  239. package/esm2022/lib/user/current-user.service.mjs +9 -13
  240. package/esm2022/lib/user/user-enable-button-component/user-enable-button.component.mjs +6 -12
  241. package/esm2022/lib/user/user-explore.component.mjs +8 -13
  242. package/esm2022/lib/user/user-form.component.mjs +17 -32
  243. package/esm2022/lib/user/user-sessions/user-session.service.mjs +5 -5
  244. package/esm2022/lib/user/user-sessions/user-sessions/user-sessions.component.mjs +10 -12
  245. package/esm2022/lib/user/user-view.component.mjs +6 -14
  246. package/esm2022/lib/user/user.model.mjs +1 -21
  247. package/esm2022/lib/user/user.module.mjs +7 -7
  248. package/esm2022/lib/user/user.routes.mjs +5 -5
  249. package/esm2022/lib/user/user.service.mjs +5 -6
  250. package/esm2022/lib/user/users-view-all.component.mjs +21 -35
  251. package/esm2022/lib/user-client-enable-disable-button/user-client-enable-disable-button.component.mjs +7 -13
  252. package/esm2022/lib/user-clients-list/user-client.service.mjs +5 -5
  253. package/esm2022/lib/user-clients-list/user-clients-list.component.mjs +12 -14
  254. package/esm2022/lib/user-config/user-config.model.mjs +1 -32
  255. package/esm2022/lib/user-config/user-config.service.mjs +27 -30
  256. package/esm2022/lib/user-selector/user-data.service.mjs +5 -7
  257. package/esm2022/lib/user-selector/user-selector.component.mjs +8 -17
  258. package/esm2022/lib/user-selector/user-selector.module.mjs +7 -7
  259. package/esm2022/lib/utility/date-utils.service.mjs +4 -4
  260. package/esm2022/lib/utility/num-items-selector.component.mjs +5 -7
  261. package/esm2022/lib/utility/number-selector.component.mjs +6 -10
  262. package/esm2022/lib/utility/utility.module.mjs +7 -7
  263. package/fesm2022/ngx-techlify-core.mjs +1879 -2616
  264. package/fesm2022/ngx-techlify-core.mjs.map +1 -1
  265. package/lib/core/authentication.guard.d.ts +2 -2
  266. package/lib/core/core.module.d.ts +3 -4
  267. package/lib/searchable-selector/searchable-selector.component.d.ts +2 -1
  268. package/package.json +17 -17
@@ -29,22 +29,6 @@ const errorMessages = {
29
29
  },
30
30
  };
31
31
  let TechlifyNotificationSubscriberFormComponent = class TechlifyNotificationSubscriberFormComponent {
32
- fb;
33
- formValidatorService;
34
- alertService;
35
- dialogRef;
36
- data;
37
- http;
38
- environment;
39
- updateMode;
40
- subscriberFormGroup;
41
- subscriberFormFirstAttempt;
42
- subscriber;
43
- isSubmitLoading;
44
- selectedSubscriber;
45
- selectedType;
46
- subscriptionEntity = TechlifyNotificationSubscriptionEntity;
47
- userTypes = [];
48
32
  constructor(fb, formValidatorService, alertService, dialogRef, data, http, environment) {
49
33
  this.fb = fb;
50
34
  this.formValidatorService = formValidatorService;
@@ -53,6 +37,8 @@ let TechlifyNotificationSubscriberFormComponent = class TechlifyNotificationSubs
53
37
  this.data = data;
54
38
  this.http = http;
55
39
  this.environment = environment;
40
+ this.subscriptionEntity = TechlifyNotificationSubscriptionEntity;
41
+ this.userTypes = [];
56
42
  this.createForm();
57
43
  }
58
44
  /** Method to create a form **/
@@ -111,21 +97,21 @@ let TechlifyNotificationSubscriberFormComponent = class TechlifyNotificationSubs
111
97
  ngOnDestroy() {
112
98
  // Needed for automatic unsubscribe with untilDestroyed
113
99
  }
114
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: TechlifyNotificationSubscriberFormComponent, deps: [{ token: i1.UntypedFormBuilder }, { token: i2.FormValidatorService }, { token: i2.AlertService }, { token: i3.MatDialogRef }, { token: MAT_DIALOG_DATA }, { token: i2.HttpService }, { token: 'environment' }], target: i0.ɵɵFactoryTarget.Component });
115
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: TechlifyNotificationSubscriberFormComponent, selector: "app-techlify-notification-subscriber-form", ngImport: i0, template: "<form [formGroup]=\"subscriberFormGroup\" (ngSubmit)=\"submit()\" class=\"mat-typography\">\n <div fxLayout=\"column\">\n <div mat-dialog-title class=\"text-center\">\n <div>Notification Subscriber</div>\n </div>\n\n <div mat-dialog-content fxLayout=\"column\">\n <div fxLayout=\"row wrap\" fxLayoutAlign=\"space-between center\">\n\n <mat-form-field fxFlex=\"100%\" class=\"mt-1\" *ngIf=\"!this.data?.entity_id\">\n <mat-label>Entity</mat-label>\n <app-searchable-selector formControlName=\"entity_id\" apiUrl=\"api/notification-subscription-entities\"\n [enableSearch]=\"false\" required>\n </app-searchable-selector>\n <mat-error *ngIf=\"isFieldValid('entity_id')\">{{getErrorMessage('entity_id')}}</mat-error>\n </mat-form-field>\n\n <ng-container *ngIf=\"!this.data?.subscriber_id\">\n <mat-form-field *ngIf=\"getFieldValue('entity_id') == subscriptionEntity.INDIVIDUAL\" fxFlex=\"100%\"\n class=\"mt-1\">\n <mat-label>Subscriber</mat-label>\n <app-searchable-selector formControlName=\"subscriber_id\" apiUrl=\"api/users\" titleField=\"name\"\n [selectedValue]=\"selectedSubscriber\">\n </app-searchable-selector>\n <mat-error *ngIf=\"isFieldValid('subscriber_id')\">{{getErrorMessage('subscriber_id')}}\n </mat-error>\n </mat-form-field>\n\n <mat-form-field *ngIf=\"getFieldValue('entity_id') == subscriptionEntity.ROLE\" fxFlex=\"100%\"\n class=\"mt-1\">\n <mat-label>Subscriber</mat-label>\n <app-searchable-selector formControlName=\"subscriber_id\" apiUrl=\"api/roles\" titleField=\"label\"\n [selectedValue]=\"selectedSubscriber\">\n </app-searchable-selector>\n <mat-error *ngIf=\"isFieldValid('subscriber_id')\">{{getErrorMessage('subscriber_id')}}\n </mat-error>\n </mat-form-field>\n\n <mat-form-field *ngIf=\"getFieldValue('entity_id') == subscriptionEntity.USER_TYPE\" fxFlex=\"100%\"\n class=\"mt-1\">\n <mat-label>Subscriber</mat-label>\n <app-searchable-selector formControlName=\"subscriber_id\" [items]=\"userTypes\"\n [enableSearch]=\"false\" valueField=\"value\">\n </app-searchable-selector>\n <mat-error *ngIf=\"isFieldValid('subscriber_id')\">{{getErrorMessage('subscriber_id')}}\n </mat-error>\n </mat-form-field>\n </ng-container>\n\n <mat-form-field fxFlex=\"100%\" class=\"mt-1\">\n <mat-label>Type</mat-label>\n <app-searchable-selector formControlName=\"type_id\" apiUrl=\"api/notification-types\" required\n [selectedValue]=\"selectedType\">\n </app-searchable-selector>\n <mat-error *ngIf=\"isFieldValid('type_id')\">{{getErrorMessage('type_id')}}</mat-error>\n </mat-form-field>\n\n <div class=\"my-2\" fxLayout=\"row\" fxLayoutGap=\"30px\" fxLayoutAlign=\"end\" fxFlex=\"100%\">\n <button mat-raised-button type=\"button\" (click)=\"cancel()\">Cancel</button>\n <button mat-raised-button type=\"submit\" color=\"primary\" [disabled]=\"isSubmitLoading\">\n <app-loader class=\"inline-loader\" [isLoading]=\"isSubmitLoading\"></app-loader>\n Save\n </button>\n </div>\n </div>\n </div>\n\n\n </div>\n</form>", styles: [""], dependencies: [{ kind: "directive", type: i4.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i5.MatButton, selector: " button[mat-button], button[mat-raised-button], button[mat-flat-button], button[mat-stroked-button] ", inputs: ["disabled", "disableRipple", "color"], exportAs: ["matButton"] }, { kind: "directive", type: i3.MatDialogTitle, selector: "[mat-dialog-title], [matDialogTitle]", inputs: ["id"], exportAs: ["matDialogTitle"] }, { kind: "directive", type: i3.MatDialogContent, selector: "[mat-dialog-content], mat-dialog-content, [matDialogContent]" }, { kind: "component", type: i6.MatFormField, selector: "mat-form-field", inputs: ["hideRequiredMarker", "color", "floatLabel", "appearance", "subscriptSizing", "hintLabel"], exportAs: ["matFormField"] }, { kind: "directive", type: i6.MatLabel, selector: "mat-label" }, { kind: "directive", type: i6.MatError, selector: "mat-error, [matError]", inputs: ["id"] }, { kind: "directive", type: i7.DefaultLayoutDirective, selector: " [fxLayout], [fxLayout.xs], [fxLayout.sm], [fxLayout.md], [fxLayout.lg], [fxLayout.xl], [fxLayout.lt-sm], [fxLayout.lt-md], [fxLayout.lt-lg], [fxLayout.lt-xl], [fxLayout.gt-xs], [fxLayout.gt-sm], [fxLayout.gt-md], [fxLayout.gt-lg]", inputs: ["fxLayout", "fxLayout.xs", "fxLayout.sm", "fxLayout.md", "fxLayout.lg", "fxLayout.xl", "fxLayout.lt-sm", "fxLayout.lt-md", "fxLayout.lt-lg", "fxLayout.lt-xl", "fxLayout.gt-xs", "fxLayout.gt-sm", "fxLayout.gt-md", "fxLayout.gt-lg"] }, { kind: "directive", type: i7.DefaultLayoutGapDirective, selector: " [fxLayoutGap], [fxLayoutGap.xs], [fxLayoutGap.sm], [fxLayoutGap.md], [fxLayoutGap.lg], [fxLayoutGap.xl], [fxLayoutGap.lt-sm], [fxLayoutGap.lt-md], [fxLayoutGap.lt-lg], [fxLayoutGap.lt-xl], [fxLayoutGap.gt-xs], [fxLayoutGap.gt-sm], [fxLayoutGap.gt-md], [fxLayoutGap.gt-lg]", inputs: ["fxLayoutGap", "fxLayoutGap.xs", "fxLayoutGap.sm", "fxLayoutGap.md", "fxLayoutGap.lg", "fxLayoutGap.xl", "fxLayoutGap.lt-sm", "fxLayoutGap.lt-md", "fxLayoutGap.lt-lg", "fxLayoutGap.lt-xl", "fxLayoutGap.gt-xs", "fxLayoutGap.gt-sm", "fxLayoutGap.gt-md", "fxLayoutGap.gt-lg"] }, { kind: "directive", type: i7.DefaultLayoutAlignDirective, selector: " [fxLayoutAlign], [fxLayoutAlign.xs], [fxLayoutAlign.sm], [fxLayoutAlign.md], [fxLayoutAlign.lg], [fxLayoutAlign.xl], [fxLayoutAlign.lt-sm], [fxLayoutAlign.lt-md], [fxLayoutAlign.lt-lg], [fxLayoutAlign.lt-xl], [fxLayoutAlign.gt-xs], [fxLayoutAlign.gt-sm], [fxLayoutAlign.gt-md], [fxLayoutAlign.gt-lg]", inputs: ["fxLayoutAlign", "fxLayoutAlign.xs", "fxLayoutAlign.sm", "fxLayoutAlign.md", "fxLayoutAlign.lg", "fxLayoutAlign.xl", "fxLayoutAlign.lt-sm", "fxLayoutAlign.lt-md", "fxLayoutAlign.lt-lg", "fxLayoutAlign.lt-xl", "fxLayoutAlign.gt-xs", "fxLayoutAlign.gt-sm", "fxLayoutAlign.gt-md", "fxLayoutAlign.gt-lg"] }, { kind: "directive", type: i7.DefaultFlexDirective, selector: " [fxFlex], [fxFlex.xs], [fxFlex.sm], [fxFlex.md], [fxFlex.lg], [fxFlex.xl], [fxFlex.lt-sm], [fxFlex.lt-md], [fxFlex.lt-lg], [fxFlex.lt-xl], [fxFlex.gt-xs], [fxFlex.gt-sm], [fxFlex.gt-md], [fxFlex.gt-lg]", inputs: ["fxFlex", "fxFlex.xs", "fxFlex.sm", "fxFlex.md", "fxFlex.lg", "fxFlex.xl", "fxFlex.lt-sm", "fxFlex.lt-md", "fxFlex.lt-lg", "fxFlex.lt-xl", "fxFlex.gt-xs", "fxFlex.gt-sm", "fxFlex.gt-md", "fxFlex.gt-lg"] }, { kind: "directive", type: i1.ɵNgNoValidate, selector: "form:not([ngNoForm]):not([ngNativeValidate])" }, { kind: "directive", type: i1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i1.RequiredValidator, selector: ":not([type=checkbox])[required][formControlName],:not([type=checkbox])[required][formControl],:not([type=checkbox])[required][ngModel]", inputs: ["required"] }, { kind: "directive", type: i1.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "directive", type: i1.FormControlName, selector: "[formControlName]", inputs: ["formControlName", "disabled", "ngModel"], outputs: ["ngModelChange"] }, { kind: "component", type: i8.SearchableSelectorComponent, selector: "app-searchable-selector", inputs: ["valueField", "titleField", "subtitleField", "apiUrl", "multiple", "selectedValue", "enableSearch", "add", "addConfig", "edit", "editConfig", "sort", "sortBy", "searchField", "itemComponent", "items", "apiDataProperty", "cache", "perPage", "inDataSearch", "focusSearchOnOpen", "required", "disabled", "value"], outputs: ["selectedValueChange", "selectionChange", "itemsChange"] }, { kind: "component", type: i9.LoaderComponent, selector: "app-loader", inputs: ["isLoading", "size", "message"] }] });
100
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: TechlifyNotificationSubscriberFormComponent, deps: [{ token: i1.UntypedFormBuilder }, { token: i2.FormValidatorService }, { token: i2.AlertService }, { token: i3.MatDialogRef }, { token: MAT_DIALOG_DATA }, { token: i2.HttpService }, { token: 'environment' }], target: i0.ɵɵFactoryTarget.Component }); }
101
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.13", type: TechlifyNotificationSubscriberFormComponent, selector: "app-techlify-notification-subscriber-form", ngImport: i0, template: "<form [formGroup]=\"subscriberFormGroup\" (ngSubmit)=\"submit()\" class=\"mat-typography\">\n <div fxLayout=\"column\">\n <div mat-dialog-title class=\"text-center\">\n <div>Notification Subscriber</div>\n </div>\n\n <div mat-dialog-content fxLayout=\"column\">\n <div fxLayout=\"row wrap\" fxLayoutAlign=\"space-between center\">\n\n <mat-form-field fxFlex=\"100%\" class=\"mt-1\" *ngIf=\"!this.data?.entity_id\">\n <mat-label>Entity</mat-label>\n <app-searchable-selector formControlName=\"entity_id\" apiUrl=\"api/notification-subscription-entities\"\n [enableSearch]=\"false\" required>\n </app-searchable-selector>\n <mat-error *ngIf=\"isFieldValid('entity_id')\">{{getErrorMessage('entity_id')}}</mat-error>\n </mat-form-field>\n\n <ng-container *ngIf=\"!this.data?.subscriber_id\">\n <mat-form-field *ngIf=\"getFieldValue('entity_id') == subscriptionEntity.INDIVIDUAL\" fxFlex=\"100%\"\n class=\"mt-1\">\n <mat-label>Subscriber</mat-label>\n <app-searchable-selector formControlName=\"subscriber_id\" apiUrl=\"api/users\" titleField=\"name\"\n [selectedValue]=\"selectedSubscriber\">\n </app-searchable-selector>\n <mat-error *ngIf=\"isFieldValid('subscriber_id')\">{{getErrorMessage('subscriber_id')}}\n </mat-error>\n </mat-form-field>\n\n <mat-form-field *ngIf=\"getFieldValue('entity_id') == subscriptionEntity.ROLE\" fxFlex=\"100%\"\n class=\"mt-1\">\n <mat-label>Subscriber</mat-label>\n <app-searchable-selector formControlName=\"subscriber_id\" apiUrl=\"api/roles\" titleField=\"label\"\n [selectedValue]=\"selectedSubscriber\">\n </app-searchable-selector>\n <mat-error *ngIf=\"isFieldValid('subscriber_id')\">{{getErrorMessage('subscriber_id')}}\n </mat-error>\n </mat-form-field>\n\n <mat-form-field *ngIf=\"getFieldValue('entity_id') == subscriptionEntity.USER_TYPE\" fxFlex=\"100%\"\n class=\"mt-1\">\n <mat-label>Subscriber</mat-label>\n <app-searchable-selector formControlName=\"subscriber_id\" [items]=\"userTypes\"\n [enableSearch]=\"false\" valueField=\"value\">\n </app-searchable-selector>\n <mat-error *ngIf=\"isFieldValid('subscriber_id')\">{{getErrorMessage('subscriber_id')}}\n </mat-error>\n </mat-form-field>\n </ng-container>\n\n <mat-form-field fxFlex=\"100%\" class=\"mt-1\">\n <mat-label>Type</mat-label>\n <app-searchable-selector formControlName=\"type_id\" apiUrl=\"api/notification-types\" required\n [selectedValue]=\"selectedType\">\n </app-searchable-selector>\n <mat-error *ngIf=\"isFieldValid('type_id')\">{{getErrorMessage('type_id')}}</mat-error>\n </mat-form-field>\n\n <div class=\"my-2\" fxLayout=\"row\" fxLayoutGap=\"30px\" fxLayoutAlign=\"end\" fxFlex=\"100%\">\n <button mat-raised-button type=\"button\" (click)=\"cancel()\">Cancel</button>\n <button mat-raised-button type=\"submit\" color=\"primary\" [disabled]=\"isSubmitLoading\">\n <app-loader class=\"inline-loader\" [isLoading]=\"isSubmitLoading\"></app-loader>\n Save\n </button>\n </div>\n </div>\n </div>\n\n\n </div>\n</form>", styles: [""], dependencies: [{ kind: "directive", type: i4.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i5.MatButton, selector: " button[mat-button], button[mat-raised-button], button[mat-flat-button], button[mat-stroked-button] ", exportAs: ["matButton"] }, { kind: "directive", type: i3.MatDialogTitle, selector: "[mat-dialog-title], [matDialogTitle]", inputs: ["id"], exportAs: ["matDialogTitle"] }, { kind: "directive", type: i3.MatDialogContent, selector: "[mat-dialog-content], mat-dialog-content, [matDialogContent]" }, { kind: "component", type: i6.MatFormField, selector: "mat-form-field", inputs: ["hideRequiredMarker", "color", "floatLabel", "appearance", "subscriptSizing", "hintLabel"], exportAs: ["matFormField"] }, { kind: "directive", type: i6.MatLabel, selector: "mat-label" }, { kind: "directive", type: i6.MatError, selector: "mat-error, [matError]", inputs: ["id"] }, { kind: "directive", type: i7.DefaultLayoutDirective, selector: " [fxLayout], [fxLayout.xs], [fxLayout.sm], [fxLayout.md], [fxLayout.lg], [fxLayout.xl], [fxLayout.lt-sm], [fxLayout.lt-md], [fxLayout.lt-lg], [fxLayout.lt-xl], [fxLayout.gt-xs], [fxLayout.gt-sm], [fxLayout.gt-md], [fxLayout.gt-lg]", inputs: ["fxLayout", "fxLayout.xs", "fxLayout.sm", "fxLayout.md", "fxLayout.lg", "fxLayout.xl", "fxLayout.lt-sm", "fxLayout.lt-md", "fxLayout.lt-lg", "fxLayout.lt-xl", "fxLayout.gt-xs", "fxLayout.gt-sm", "fxLayout.gt-md", "fxLayout.gt-lg"] }, { kind: "directive", type: i7.DefaultLayoutGapDirective, selector: " [fxLayoutGap], [fxLayoutGap.xs], [fxLayoutGap.sm], [fxLayoutGap.md], [fxLayoutGap.lg], [fxLayoutGap.xl], [fxLayoutGap.lt-sm], [fxLayoutGap.lt-md], [fxLayoutGap.lt-lg], [fxLayoutGap.lt-xl], [fxLayoutGap.gt-xs], [fxLayoutGap.gt-sm], [fxLayoutGap.gt-md], [fxLayoutGap.gt-lg]", inputs: ["fxLayoutGap", "fxLayoutGap.xs", "fxLayoutGap.sm", "fxLayoutGap.md", "fxLayoutGap.lg", "fxLayoutGap.xl", "fxLayoutGap.lt-sm", "fxLayoutGap.lt-md", "fxLayoutGap.lt-lg", "fxLayoutGap.lt-xl", "fxLayoutGap.gt-xs", "fxLayoutGap.gt-sm", "fxLayoutGap.gt-md", "fxLayoutGap.gt-lg"] }, { kind: "directive", type: i7.DefaultLayoutAlignDirective, selector: " [fxLayoutAlign], [fxLayoutAlign.xs], [fxLayoutAlign.sm], [fxLayoutAlign.md], [fxLayoutAlign.lg], [fxLayoutAlign.xl], [fxLayoutAlign.lt-sm], [fxLayoutAlign.lt-md], [fxLayoutAlign.lt-lg], [fxLayoutAlign.lt-xl], [fxLayoutAlign.gt-xs], [fxLayoutAlign.gt-sm], [fxLayoutAlign.gt-md], [fxLayoutAlign.gt-lg]", inputs: ["fxLayoutAlign", "fxLayoutAlign.xs", "fxLayoutAlign.sm", "fxLayoutAlign.md", "fxLayoutAlign.lg", "fxLayoutAlign.xl", "fxLayoutAlign.lt-sm", "fxLayoutAlign.lt-md", "fxLayoutAlign.lt-lg", "fxLayoutAlign.lt-xl", "fxLayoutAlign.gt-xs", "fxLayoutAlign.gt-sm", "fxLayoutAlign.gt-md", "fxLayoutAlign.gt-lg"] }, { kind: "directive", type: i7.DefaultFlexDirective, selector: " [fxFlex], [fxFlex.xs], [fxFlex.sm], [fxFlex.md], [fxFlex.lg], [fxFlex.xl], [fxFlex.lt-sm], [fxFlex.lt-md], [fxFlex.lt-lg], [fxFlex.lt-xl], [fxFlex.gt-xs], [fxFlex.gt-sm], [fxFlex.gt-md], [fxFlex.gt-lg]", inputs: ["fxFlex", "fxFlex.xs", "fxFlex.sm", "fxFlex.md", "fxFlex.lg", "fxFlex.xl", "fxFlex.lt-sm", "fxFlex.lt-md", "fxFlex.lt-lg", "fxFlex.lt-xl", "fxFlex.gt-xs", "fxFlex.gt-sm", "fxFlex.gt-md", "fxFlex.gt-lg"] }, { kind: "directive", type: i1.ɵNgNoValidate, selector: "form:not([ngNoForm]):not([ngNativeValidate])" }, { kind: "directive", type: i1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i1.RequiredValidator, selector: ":not([type=checkbox])[required][formControlName],:not([type=checkbox])[required][formControl],:not([type=checkbox])[required][ngModel]", inputs: ["required"] }, { kind: "directive", type: i1.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "directive", type: i1.FormControlName, selector: "[formControlName]", inputs: ["formControlName", "disabled", "ngModel"], outputs: ["ngModelChange"] }, { kind: "component", type: i8.SearchableSelectorComponent, selector: "app-searchable-selector", inputs: ["valueField", "titleField", "subtitleField", "apiUrl", "multiple", "selectedValue", "enableSearch", "add", "addConfig", "edit", "editConfig", "sort", "sortBy", "searchField", "itemComponent", "items", "apiDataProperty", "cache", "perPage", "inDataSearch", "panelWidth", "focusSearchOnOpen", "required", "disabled", "value"], outputs: ["selectedValueChange", "selectionChange", "itemsChange"] }, { kind: "component", type: i9.LoaderComponent, selector: "app-loader", inputs: ["isLoading", "size", "message"] }] }); }
116
102
  };
117
103
  TechlifyNotificationSubscriberFormComponent = __decorate([
118
104
  UntilDestroy()
119
105
  ], TechlifyNotificationSubscriberFormComponent);
120
106
  export { TechlifyNotificationSubscriberFormComponent };
121
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: TechlifyNotificationSubscriberFormComponent, decorators: [{
107
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: TechlifyNotificationSubscriberFormComponent, decorators: [{
122
108
  type: Component,
123
109
  args: [{ selector: 'app-techlify-notification-subscriber-form', template: "<form [formGroup]=\"subscriberFormGroup\" (ngSubmit)=\"submit()\" class=\"mat-typography\">\n <div fxLayout=\"column\">\n <div mat-dialog-title class=\"text-center\">\n <div>Notification Subscriber</div>\n </div>\n\n <div mat-dialog-content fxLayout=\"column\">\n <div fxLayout=\"row wrap\" fxLayoutAlign=\"space-between center\">\n\n <mat-form-field fxFlex=\"100%\" class=\"mt-1\" *ngIf=\"!this.data?.entity_id\">\n <mat-label>Entity</mat-label>\n <app-searchable-selector formControlName=\"entity_id\" apiUrl=\"api/notification-subscription-entities\"\n [enableSearch]=\"false\" required>\n </app-searchable-selector>\n <mat-error *ngIf=\"isFieldValid('entity_id')\">{{getErrorMessage('entity_id')}}</mat-error>\n </mat-form-field>\n\n <ng-container *ngIf=\"!this.data?.subscriber_id\">\n <mat-form-field *ngIf=\"getFieldValue('entity_id') == subscriptionEntity.INDIVIDUAL\" fxFlex=\"100%\"\n class=\"mt-1\">\n <mat-label>Subscriber</mat-label>\n <app-searchable-selector formControlName=\"subscriber_id\" apiUrl=\"api/users\" titleField=\"name\"\n [selectedValue]=\"selectedSubscriber\">\n </app-searchable-selector>\n <mat-error *ngIf=\"isFieldValid('subscriber_id')\">{{getErrorMessage('subscriber_id')}}\n </mat-error>\n </mat-form-field>\n\n <mat-form-field *ngIf=\"getFieldValue('entity_id') == subscriptionEntity.ROLE\" fxFlex=\"100%\"\n class=\"mt-1\">\n <mat-label>Subscriber</mat-label>\n <app-searchable-selector formControlName=\"subscriber_id\" apiUrl=\"api/roles\" titleField=\"label\"\n [selectedValue]=\"selectedSubscriber\">\n </app-searchable-selector>\n <mat-error *ngIf=\"isFieldValid('subscriber_id')\">{{getErrorMessage('subscriber_id')}}\n </mat-error>\n </mat-form-field>\n\n <mat-form-field *ngIf=\"getFieldValue('entity_id') == subscriptionEntity.USER_TYPE\" fxFlex=\"100%\"\n class=\"mt-1\">\n <mat-label>Subscriber</mat-label>\n <app-searchable-selector formControlName=\"subscriber_id\" [items]=\"userTypes\"\n [enableSearch]=\"false\" valueField=\"value\">\n </app-searchable-selector>\n <mat-error *ngIf=\"isFieldValid('subscriber_id')\">{{getErrorMessage('subscriber_id')}}\n </mat-error>\n </mat-form-field>\n </ng-container>\n\n <mat-form-field fxFlex=\"100%\" class=\"mt-1\">\n <mat-label>Type</mat-label>\n <app-searchable-selector formControlName=\"type_id\" apiUrl=\"api/notification-types\" required\n [selectedValue]=\"selectedType\">\n </app-searchable-selector>\n <mat-error *ngIf=\"isFieldValid('type_id')\">{{getErrorMessage('type_id')}}</mat-error>\n </mat-form-field>\n\n <div class=\"my-2\" fxLayout=\"row\" fxLayoutGap=\"30px\" fxLayoutAlign=\"end\" fxFlex=\"100%\">\n <button mat-raised-button type=\"button\" (click)=\"cancel()\">Cancel</button>\n <button mat-raised-button type=\"submit\" color=\"primary\" [disabled]=\"isSubmitLoading\">\n <app-loader class=\"inline-loader\" [isLoading]=\"isSubmitLoading\"></app-loader>\n Save\n </button>\n </div>\n </div>\n </div>\n\n\n </div>\n</form>" }]
124
- }], ctorParameters: function () { return [{ type: i1.UntypedFormBuilder }, { type: i2.FormValidatorService }, { type: i2.AlertService }, { type: i3.MatDialogRef }, { type: undefined, decorators: [{
110
+ }], ctorParameters: () => [{ type: i1.UntypedFormBuilder }, { type: i2.FormValidatorService }, { type: i2.AlertService }, { type: i3.MatDialogRef }, { type: undefined, decorators: [{
125
111
  type: Inject,
126
112
  args: [MAT_DIALOG_DATA]
127
113
  }] }, { type: i2.HttpService }, { type: undefined, decorators: [{
128
114
  type: Inject,
129
115
  args: ['environment']
130
- }] }]; } });
131
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGVjaGxpZnktbm90aWZpY2F0aW9uLXN1YnNjcmliZXItZm9ybS5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uZ3gtdGVjaGxpZnktY29yZS9zcmMvbGliL3RlY2hsaWZ5LW5vdGlmaWNhdGlvbnMvdGVjaGxpZnktbm90aWZpY2F0aW9uLXN1YnNjcmliZXIvdGVjaGxpZnktbm90aWZpY2F0aW9uLXN1YnNjcmliZXItZm9ybS90ZWNobGlmeS1ub3RpZmljYXRpb24tc3Vic2NyaWJlci1mb3JtLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25neC10ZWNobGlmeS1jb3JlL3NyYy9saWIvdGVjaGxpZnktbm90aWZpY2F0aW9ucy90ZWNobGlmeS1ub3RpZmljYXRpb24tc3Vic2NyaWJlci90ZWNobGlmeS1ub3RpZmljYXRpb24tc3Vic2NyaWJlci1mb3JtL3RlY2hsaWZ5LW5vdGlmaWNhdGlvbi1zdWJzY3JpYmVyLWZvcm0uY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUNBLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxFQUF1QixNQUFNLGVBQWUsQ0FBQztBQUN2RSxPQUFPLEVBQXdDLFVBQVUsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQ2xGLE9BQU8sRUFBZ0IsZUFBZSxFQUFFLE1BQU0sMEJBQTBCLENBQUM7QUFDekUsT0FBTyxFQUFFLFlBQVksRUFBRSxjQUFjLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQztBQUNyRSxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDMUMsT0FBTyxFQUFrRCxNQUFNLEVBQUMsTUFBTSxlQUFlLENBQUM7QUFDdEYsT0FBTyxFQUFFLHNDQUFzQyxFQUFFLE1BQU0sb0RBQW9ELENBQUM7Ozs7Ozs7Ozs7O0FBRTVHLE1BQU0sR0FBRyxHQUFHLElBQUksTUFBTSxDQUFD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bkcsQ0FBQztJQUVELGFBQWEsQ0FBQyxLQUFhO1FBQ3pCLE9BQU8sSUFBSSxDQUFDLG1CQUFtQixDQUFDLEdBQUcsQ0FBQyxLQUFLLENBQUMsQ0FBQyxLQUFLLENBQUM7SUFDbkQsQ0FBQztJQUVELFdBQVc7UUFDVCx1REFBdUQ7SUFDekQsQ0FBQzt3R0E5RlUsMkNBQTJDLGdKQWdCbEMsZUFBZSx3Q0FFZixhQUFhOzRGQWxCdEIsMkNBQTJDLGlGQzdCeEQsMDhIQXFFTzs7QUR4Q00sMkNBQTJDO0lBTnZELFlBQVksRUFBRTtHQU1GLDJDQUEyQyxDQWdHdkQ7U0FoR1ksMkNBQTJDOzRGQUEzQywyQ0FBMkM7a0JBTHZELFNBQVM7K0JBQ0UsMkNBQTJDOzswQkFvQnhDLE1BQU07MkJBQUMsZUFBZTs7MEJBRXRCLE1BQU07MkJBQUMsYUFBYSIsInNvdXJjZXNDb250ZW50IjpbIlxuaW1wb3J0IHsgQ29tcG9uZW50LCBJbmplY3QsIE9uSW5pdCwgVGVtcGxhdGVSZWYgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IFVudHlwZWRGb3JtR3JvdXAsIFVudHlwZWRGb3JtQnVpbGRlciwgVmFsaWRhdG9ycyB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcbmltcG9ydCB7IE1hdERpYWxvZ1JlZiwgTUFUX0RJQUxPR19EQVRBIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvZGlhbG9nJztcbmltcG9ydCB7IFVudGlsRGVzdHJveSwgdW50aWxEZXN0cm95ZWQgfSBmcm9tICdAbmduZWF0L3VudGlsLWRlc3Ryb3knO1xuaW1wb3J0IHsgZmluYWxpemUgfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XG5pbXBvcnQge0FsZXJ0U2VydmljZSwgRm9ybVZhbGlkYXRvclNlcnZpY2UsIEh0dHBTZXJ2aWNlLCBMb2dnZXJ9IGZyb20gJy4uLy4uLy4uL2NvcmUnO1xuaW1wb3J0IHsgVGVjaGxpZnlOb3RpZmljYXRpb25TdWJzY3JpcHRpb25FbnRpdHkgfSBmcm9tICcuLi90ZWNobGlmeS1ub3RpZmljYXRpb24tc3Vic2NyaXB0aW9uLWVudGl0eS5tb2RlbCc7XG5cbmNvbnN0IGxvZyA9IG5ldyBMb2dnZXIoJ1RlY2hsaWZ5Tm90aWZpY2F0aW9uU3Vic2NyaWJlciBGb3JtJyk7XG5cbmNvbnN0IGVycm9yTWVzc2FnZXM6IGFueSA9IHtcbiAgZW50aXR5X2lkOiB7XG4gICAgcmVxdWlyZWQ6ICdFbnRpdHkgaXMgcmVxdWlyZWQnXG4gIH0sXG4gIHN1YnNjcmliZXJfaWQ6IHtcbiAgICByZXF1aXJlZDogJ1N1YnNjcmliZXIgaXMgcmVxdWlyZWQnXG4gIH0sXG4gIHR5cGVfaWQ6IHtcbiAgICByZXF1aXJlZDogJ1R5cGUgaXMgcmVxdWlyZWQnXG4gIH0sXG59O1xuXG5AVW50aWxEZXN0cm95KClcbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2FwcC10ZWNobGlmeS1ub3RpZmljYXRpb24tc3Vic2NyaWJlci1mb3JtJyxcbiAgdGVtcGxhdGVVcmw6ICcuL3RlY2hsaWZ5LW5vdGlmaWNhdGlvbi1zdWJzY3JpYmVyLWZvcm0uY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi90ZWNobGlmeS1ub3RpZmljYXRpb24tc3Vic2NyaWJlci1mb3JtLmNvbXBvbmVudC5zY3NzJ11cbn0pXG5leHBvcnQgY2xhc3MgVGVjaGxpZnlOb3RpZmljYXRpb25TdWJzY3JpYmVyRm9ybUNvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCB7XG5cbiAgdXBkYXRlTW9kZTogYm9vbGVhbjtcbiAgc3Vic2NyaWJlckZvcm1Hcm91cDogVW50eXBlZEZvcm1Hcm91cDtcbiAgc3Vic2NyaWJlckZvcm1GaXJzdEF0dGVtcHQ6IGJvb2xlYW47XG4gIHN1YnNjcmliZXI6IGFueTtcbiAgaXNTdWJtaXRMb2FkaW5nOiBib29sZWFuO1xuICBzZWxlY3RlZFN1YnNjcmliZXI6IGFueTtcbiAgc2VsZWN0ZWRUeXBlOiBhbnk7XG4gIHN1YnNjcmlwdGlvbkVudGl0eTogYW55ID0gVGVjaGxpZnlOb3RpZmljYXRpb25TdWJzY3JpcHRpb25FbnRpdHk7XG4gIHVzZXJUeXBlczogYW55W10gPSBbXTtcblxuICBjb25zdHJ1Y3Rvcihwcml2YXRlIGZiOiBVbnR5cGVkRm9ybUJ1aWxkZXIsXG4gICAgICAgICAgICAgIHByaXZhdGUgZm9ybVZhbGlkYXRvclNlcnZpY2U6IEZvcm1WYWxpZGF0b3JTZXJ2aWNlLFxuICAgICAgICAgICAgICBwcml2YXRlIGFsZXJ0U2VydmljZTogQWxlcnRTZXJ2aWNlLFxuICAgICAgICAgICAgICBwdWJsaWMgZGlhbG9nUmVmOiBNYXREaWFsb2dSZWY8VGVjaGxpZnlOb3RpZmljYXRpb25TdWJzY3JpYmVyRm9ybUNvbXBvbmVudD4sXG4gICAgICAgICAgICAgIEBJbmplY3QoTUFUX0RJQUxPR19EQVRBKSBwdWJsaWMgZGF0YTogYW55LFxuICAgICAgICAgICAgICBwcml2YXRlIGh0dHA6IEh0dHBTZXJ2aWNlLFxuICAgICAgICAgICAgICBASW5qZWN0KCdlbnZpcm9ubWVudCcpIHByaXZhdGUgZW52aXJvbm1lbnQ6IGFueSxcbiAgKSB7XG4gICAgdGhpcy5jcmVhdGVGb3JtKCk7XG4gIH1cblxuICAvKiogTWV0aG9kIHRvIGNyZWF0ZSBhIGZvcm0gKiovXG4gIHByaXZhdGUgY3JlYXRlRm9ybSgpIHtcblxuICAgIC8vIFRPRE86IEZpbmlhbGl6ZSBhbmQgYWRkIG1vcmUgdmFsaWRhdGlvbnMuXG4gICAgdGhpcy5zdWJzY3JpYmVyRm9ybUdyb3VwID0gdGhpcy5mYi5ncm91cCh7XG4gICAgICBpZDogWycnXSxcbiAgICAgIGVudGl0eV9pZDogWycnLCBWYWxpZGF0b3JzLnJlcXVpcmVkXSxcbiAgICAgIHN1YnNjcmliZXJfaWQ6IFsnJywgVmFsaWRhdG9ycy5yZXF1aXJlZF0sXG4gICAgICB0eXBlX2lkOiBbJycsIFZhbGlkYXRvcnMucmVxdWlyZWRdLFxuICAgIH0pO1xuICB9XG5cblxuICBuZ09uSW5pdCgpIHtcbiAgICB0aGlzLnVzZXJUeXBlcyA9IHRoaXMuZW52aXJvbm1lbnQ/Lm5vdGlmaWNhdGlvblVzZXJUeXBlcyB8fCB0aGlzLmVudmlyb25tZW50Py51c2VyPy51c2VyQ29uZmlnPy51c2VyVHlwZXMgfHwgW107XG4gICAgaWYgKHRoaXMuZGF0YT8uc3Vic2NyaWJlcj8uaWQpIHtcbiAgICAgIHRoaXMuc3Vic2NyaWJlciA9IHRoaXMuZGF0YS5zdWJzY3JpYmVyO1xuICAgICAgdGhpcy51cGRhdGVNb2RlID0gdHJ1ZTtcbiAgICAgIHRoaXMuc2VsZWN0ZWRUeXBlID0gdGhpcy5zdWJzY3JpYmVyPy50eXBlO1xuICAgICAgdGhpcy5zZWxlY3RlZFN1YnNjcmliZXIgPSB0aGlzLnN1YnNjcmliZXI/LnN1YnNjcmliZXI7XG4gICAgICB0aGlzLnN1YnNjcmliZXJGb3JtR3JvdXAucGF0Y2hWYWx1ZSh0aGlzLnN1YnNjcmliZXIpO1xuICAgIH1cblxuICAgIGlmICh0aGlzLmRhdGE/LmVudGl0eV9pZCAmJiB0aGlzLmRhdGE/LnN1YnNjcmliZXJfaWQpIHtcbiAgICAgIHRoaXMuc3Vic2NyaWJlckZvcm1Hcm91cC5wYXRjaFZhbHVlKHRoaXMuZGF0YSk7XG4gICAgfVxuICB9XG5cbiAgLy8gTWV0aG9kIHRvIHRyaWdnZXIgbG9naW5cbiAgc3VibWl0KCkge1xuICAgIHRoaXMuc3Vic2NyaWJlckZvcm1Hcm91cC5tYXJrQWxsQXNUb3VjaGVkKCk7XG4gICAgdGhpcy5zdWJzY3JpYmVyRm9ybUZpcnN0QXR0ZW1wdCA9IHRydWU7XG4gICAgaWYgKHRoaXMuc3Vic2NyaWJlckZvcm1Hcm91cC52YWxpZCkge1xuICAgICAgdGhpcy5pc1N1Ym1pdExvYWRpbmcgPSB0cnVlO1xuICAgICAgY29uc3QgbW9kZWwgPSB0aGlzLnN1YnNjcmliZXJGb3JtR3JvdXAudmFsdWU7XG4gICAgICAoXG4gICAgICAgIHRoaXMudXBkYXRlTW9kZSA/XG4gICAgICAgICAgdGhpcy5odHRwLnB1dChgYXBpL25vdGlmaWNhdGlvbi1zdWJzY3JpcHRpb25zLyR7bW9kZWw/LmlkfWAsIG1vZGVsKSA6XG4gICAgICAgICAgdGhpcy5odHRwLnBvc3QoYGFwaS9ub3RpZmljYXRpb24tc3Vic2NyaXB0aW9uc2AsIG1vZGVsKVxuICAgICAgKVxuICAgICAgICAucGlwZShcbiAgICAgICAgICBmaW5hbGl6ZSgoKSA9PiB0aGlzLmlzU3VibWl0TG9hZGluZyA9IGZhbHNlKSxcbiAgICAgICAgICB1bnRpbERlc3Ryb3llZCh0aGlzKVxuICAgICAgICApLnN1YnNjcmliZShyZXN1bHQgPT4ge1xuICAgICAgICAgIHRoaXMuYWxlcnRTZXJ2aWNlLmFkZEFsZXJ0KCdTdWJzY3JpcHRpb24gc2F2ZWQgc3VjY2Vzc2Z1bGx5JywgJ3N1Y2Nlc3MnKTtcbiAgICAgICAgICB0aGlzLmRpYWxvZ1JlZi5jbG9zZShyZXN1bHQpO1xuICAgICAgICB9KTtcbiAgICB9XG4gIH1cblxuXG4gIGNhbmNlbCgpIHtcbiAgICB0aGlzLmRpYWxvZ1JlZi5jbG9zZSgpO1xuICB9XG5cbiAgLyoqTWV0aG9kIHRvIGV2YWx1YXRlIGZvcm0gZmllbGRzKi9cbiAgaXNGaWVsZFZhbGlkKGZpZWxkOiBzdHJpbmcpIHtcbiAgICByZXR1cm4gdGhpcy5mb3JtVmFsaWRhdG9yU2VydmljZS5pc0ZpZWxkVmFsaWQoZmllbGQsIHRoaXMuc3Vic2NyaWJlckZvcm1Hcm91cCwgdGhpcy5zdWJzY3JpYmVyRm9ybUZpcnN0QXR0ZW1wdCk7XG4gIH1cblxuICAvKipNZXRob2QgdG8gZmluZCBlcnJvciBpbiBmb3JtIGZpZWxkcyovXG4gIGdldEVycm9yTWVzc2FnZShmaWVsZDogc3RyaW5nKSB7XG4gICAgcmV0dXJuIHRoaXMuZm9ybVZhbGlkYXRvclNlcnZpY2UuZ2V0RXJyb3JNZXNzYWdlKGZpZWxkLCB0aGlzLnN1YnNjcmliZXJGb3JtR3JvdXAsIGVycm9yTWVzc2FnZXMpO1xuICB9XG5cbiAgZ2V0RmllbGRWYWx1ZShmaWVsZDogc3RyaW5nKSB7XG4gICAgcmV0dXJuIHRoaXMuc3Vic2NyaWJlckZvcm1Hcm91cC5nZXQoZmllbGQpLnZhbHVlO1xuICB9XG5cbiAgbmdPbkRlc3Ryb3koKSB7XG4gICAgLy8gTmVlZGVkIGZvciBhdXRvbWF0aWMgdW5zdWJzY3JpYmUgd2l0aCB1bnRpbERlc3Ryb3llZFxuICB9XG5cbn1cbiIsIjxmb3JtIFtmb3JtR3JvdXBdPVwic3Vic2NyaWJlckZvcm1Hcm91cFwiIChuZ1N1Ym1pdCk9XCJzdWJtaXQoKVwiIGNsYXNzPVwibWF0LXR5cG9ncmFwaHlcIj5cbiAgICA8ZGl2IGZ4TGF5b3V0PVwiY29sdW1uXCI+XG4gICAgICAgIDxkaXYgbWF0LWRpYWxvZy10aXRsZSBjbGFzcz1cInRleHQtY2VudGVyXCI+XG4gICAgICAgICAgICA8ZGl2Pk5vdGlmaWNhdGlvbiBTdWJzY3JpYmVyPC9kaXY+XG4gICAgICAgIDwvZGl2PlxuXG4gICAgICAgIDxkaXYgbWF0LWRpYWxvZy1jb250ZW50IGZ4TGF5b3V0PVwiY29sdW1uXCI+XG4gICAgICAgICAgICA8ZGl2IGZ4TGF5b3V0PVwicm93IHdyYXBcIiBmeExheW91dEFsaWduPVwic3BhY2UtYmV0d2VlbiBjZW50ZXJcIj5cblxuICAgICAgICAgICAgICAgIDxtYXQtZm9ybS1maWVsZCBmeEZsZXg9XCIxMDAlXCIgY2xhc3M9XCJtdC0xXCIgKm5nSWY9XCIhdGhpcy5kYXRhPy5lbnRpdHlfaWRcIj5cbiAgICAgICAgICAgICAgICAgICAgPG1hdC1sYWJlbD5FbnRpdHk8L21hdC1sYWJlbD5cbiAgICAgICAgICAgICAgICAgICAgPGFwcC1zZWFyY2hhYmxlLXNlbGVjdG9yIGZvcm1Db250cm9sTmFtZT1cImVudGl0eV9pZFwiIGFwaVVybD1cImFwaS9ub3RpZmljYXRpb24tc3Vic2NyaXB0aW9uLWVudGl0aWVzXCJcbiAgICAgICAgICAgICAgICAgICAgICAgIFtlbmFibGVTZWFyY2hdPVwiZmFsc2VcIiByZXF1aXJlZD5cbiAgICAgICAgICAgICAgICAgICAgPC9hcHAtc2VhcmNoYWJsZS1zZWxlY3Rvcj5cbiAgICAgICAgICAgICAgICAgICAgPG1hdC1lcnJvciAqbmdJZj1cImlzRmllbGRWYWxpZCgnZW50aXR5X2lkJylcIj57e2dldEVycm9yTWVzc2FnZSgnZW50aXR5X2lkJyl9fTwvbWF0LWVycm9yPlxuICAgICAgICAgICAgICAgIDwvbWF0LWZvcm0tZmllbGQ+XG5cbiAgICAgICAgICAgICAgICA8bmctY29udGFpbmVyICpuZ0lmPVwiIXRoaXMuZGF0YT8uc3Vic2NyaWJlcl9pZFwiPlxuICAgICAgICAgICAgICAgICAgICA8bWF0LWZvcm0tZmllbGQgKm5nSWY9XCJnZXRGaWVsZFZhbHVlKCdlbnRpdHlfaWQnKSA9PSBzdWJzY3JpcHRpb25FbnRpdHkuSU5ESVZJRFVBTFwiIGZ4RmxleD1cIjEwMCVcIlxuICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9XCJtdC0xXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICA8bWF0LWxhYmVsPlN1YnNjcmliZXI8L21hdC1sYWJlbD5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxhcHAtc2VhcmNoYWJsZS1zZWxlY3RvciBmb3JtQ29udHJvbE5hbWU9XCJzdWJzY3JpYmVyX2lkXCIgYXBpVXJsPVwiYXBpL3VzZXJzXCIgdGl0bGVGaWVsZD1cIm5hbWVcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtzZWxlY3RlZFZhbHVlXT1cInNlbGVjdGVkU3Vic2NyaWJlclwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgPC9hcHAtc2VhcmNoYWJsZS1zZWxlY3Rvcj5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxtYXQtZXJyb3IgKm5nSWY9XCJpc0ZpZWxkVmFsaWQoJ3N1YnNjcmliZXJfaWQnKVwiPnt7Z2V0RXJyb3JNZXNzYWdlKCdzdWJzY3JpYmVyX2lkJyl9fVxuICAgICAgICAgICAgICAgICAgICAgICAgPC9tYXQtZXJyb3I+XG4gICAgICAgICAgICAgICAgICAgIDwvbWF0LWZvcm0tZmllbGQ+XG5cbiAgICAgICAgICAgICAgICAgICAgPG1hdC1mb3JtLWZpZWxkICpuZ0lmPVwiZ2V0RmllbGRWYWx1ZSgnZW50aXR5X2lkJykgPT0gc3Vic2NyaXB0aW9uRW50aXR5LlJPTEVcIiBmeEZsZXg9XCIxMDAlXCJcbiAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPVwibXQtMVwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgPG1hdC1sYWJlbD5TdWJzY3JpYmVyPC9tYXQtbGFiZWw+XG4gICAgICAgICAgICAgICAgICAgICAgICA8YXBwLXNlYXJjaGFibGUtc2VsZWN0b3IgZm9ybUNvbnRyb2xOYW1lPVwic3Vic2NyaWJlcl9pZFwiIGFwaVVybD1cImFwaS9yb2xlc1wiIHRpdGxlRmllbGQ9XCJsYWJlbFwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgW3NlbGVjdGVkVmFsdWVdPVwic2VsZWN0ZWRTdWJzY3JpYmVyXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICA8L2FwcC1zZWFyY2hhYmxlLXNlbGVjdG9yPlxuICAgICAgICAgICAgICAgICAgICAgICAgPG1hdC1lcnJvciAqbmdJZj1cImlzRmllbGRWYWxpZCgnc3Vic2NyaWJlcl9pZCcpXCI+e3tnZXRFcnJvck1lc3NhZ2UoJ3N1YnNjcmliZXJfaWQnKX19XG4gICAgICAgICAgICAgICAgICAgICAgICA8L21hdC1lcnJvcj5cbiAgICAgICAgICAgICAgICAgICAgPC9tYXQtZm9ybS1maWVsZD5cblxuICAgICAgICAgICAgICAgICAgICA8bWF0LWZvcm0tZmllbGQgKm5nSWY9XCJnZXRGaWVsZFZhbHVlKCdlbnRpdHlfaWQnKSA9PSBzdWJzY3JpcHRpb25FbnRpdHkuVVNFUl9UWVBFXCIgZnhGbGV4PVwiMTAwJVwiXG4gICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz1cIm10LTFcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxtYXQtbGFiZWw+U3Vic2NyaWJlcjwvbWF0LWxhYmVsPlxuICAgICAgICAgICAgICAgICAgICAgICAgPGFwcC1zZWFyY2hhYmxlLXNlbGVjdG9yIGZvcm1Db250cm9sTmFtZT1cInN1YnNjcmliZXJfaWRcIiBbaXRlbXNdPVwidXNlclR5cGVzXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBbZW5hYmxlU2VhcmNoXT1cImZhbHNlXCIgdmFsdWVGaWVsZD1cInZhbHVlXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICA8L2FwcC1zZWFyY2hhYmxlLXNlbGVjdG9yPlxuICAgICAgICAgICAgICAgICAgICAgICAgPG1hdC1lcnJvciAqbmdJZj1cImlzRmllbGRWYWxpZCgnc3Vic2NyaWJlcl9pZCcpXCI+e3tnZXRFcnJvck1lc3NhZ2UoJ3N1YnNjcmliZXJfaWQnKX19XG4gICAgICAgICAgICAgICAgICAgICAgICA8L21hdC1lcnJvcj5cbiAgICAgICAgICAgICAgICAgICAgPC9tYXQtZm9ybS1maWVsZD5cbiAgICAgICAgICAgICAgICA8L25nLWNvbnRhaW5lcj5cblxuICAgICAgICAgICAgICAgIDxtYXQtZm9ybS1maWVsZCBmeEZsZXg9XCIxMDAlXCIgY2xhc3M9XCJtdC0xXCI+XG4gICAgICAgICAgICAgICAgICAgIDxtYXQtbGFiZWw+VHlwZTwvbWF0LWxhYmVsPlxuICAgICAgICAgICAgICAgICAgICA8YXBwLXNlYXJjaGFibGUtc2VsZWN0b3IgZm9ybUNvbnRyb2xOYW1lPVwidHlwZV9pZFwiIGFwaVVybD1cImFwaS9ub3RpZmljYXRpb24tdHlwZXNcIiByZXF1aXJlZFxuICAgICAgICAgICAgICAgICAgICAgICAgW3NlbGVjdGVkVmFsdWVdPVwic2VsZWN0ZWRUeXBlXCI+XG4gICAgICAgICAgICAgICAgICAgIDwvYXBwLXNlYXJjaGFibGUtc2VsZWN0b3I+XG4gICAgICAgICAgICAgICAgICAgIDxtYXQtZXJyb3IgKm5nSWY9XCJpc0ZpZWxkVmFsaWQoJ3R5cGVfaWQnKVwiPnt7Z2V0RXJyb3JNZXNzYWdlKCd0eXBlX2lkJyl9fTwvbWF0LWVycm9yPlxuICAgICAgICAgICAgICAgIDwvbWF0LWZvcm0tZmllbGQ+XG5cbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwibXktMlwiIGZ4TGF5b3V0PVwicm93XCIgZnhMYXlvdXRHYXA9XCIzMHB4XCIgZnhMYXlvdXRBbGlnbj1cImVuZFwiIGZ4RmxleD1cIjEwMCVcIj5cbiAgICAgICAgICAgICAgICAgICAgPGJ1dHRvbiBtYXQtcmFpc2VkLWJ1dHRvbiB0eXBlPVwiYnV0dG9uXCIgKGNsaWNrKT1cImNhbmNlbCgpXCI+Q2FuY2VsPC9idXR0b24+XG4gICAgICAgICAgICAgICAgICAgIDxidXR0b24gbWF0LXJhaXNlZC1idXR0b24gdHlwZT1cInN1Ym1pdFwiIGNvbG9yPVwicHJpbWFyeVwiIFtkaXNhYmxlZF09XCJpc1N1Ym1pdExvYWRpbmdcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxhcHAtbG9hZGVyIGNsYXNzPVwiaW5saW5lLWxvYWRlclwiIFtpc0xvYWRpbmddPVwiaXNTdWJtaXRMb2FkaW5nXCI+PC9hcHAtbG9hZGVyPlxuICAgICAgICAgICAgICAgICAgICAgICAgU2F2ZVxuICAgICAgICAgICAgICAgICAgICA8L2J1dHRvbj5cbiAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICA8L2Rpdj5cblxuXG4gICAgPC9kaXY+XG48L2Zvcm0+Il19
116
+ }] }] });
117
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGVjaGxpZnktbm90aWZpY2F0aW9uLXN1YnNjcmliZXItZm9ybS5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uZ3gtdGVjaGxpZnktY29yZS9zcmMvbGliL3RlY2hsaWZ5LW5vdGlmaWNhdGlvbnMvdGVjaGxpZnktbm90aWZpY2F0aW9uLXN1YnNjcmliZXIvdGVjaGxpZnktbm90aWZpY2F0aW9uLXN1YnNjcmliZXItZm9ybS90ZWNobGlmeS1ub3RpZmljYXRpb24tc3Vic2NyaWJlci1mb3JtLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25neC10ZWNobGlmeS1jb3JlL3NyYy9saWIvdGVjaGxpZnktbm90aWZpY2F0aW9ucy90ZWNobGlmeS1ub3RpZmljYXRpb24tc3Vic2NyaWJlci90ZWNobGlmeS1ub3RpZmljYXRpb24tc3Vic2NyaWJlci1mb3JtL3RlY2hsaWZ5LW5vdGlmaWNhdGlvbi1zdWJzY3JpYmVyLWZvcm0uY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUNBLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxFQUF1QixNQUFNLGVBQWUsQ0FBQztBQUN2RSxPQUFPLEVBQXdDLFVBQVUsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQ2xGLE9BQU8sRUFBZ0IsZUFBZSxFQUFFLE1BQU0sMEJBQTBCLENBQUM7QUFDekUsT0FBTyxFQUFFLFlBQVksRUFBRSxjQUFjLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQztBQUNyRSxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDMUMsT0FBTyxFQUFrRCxNQUFNLEVBQUMsTUFBTSxlQUFlLENBQUM7QUFDdEYsT0FBTyxFQUFFLHNDQUFzQyxFQUFFLE1BQU0sb0RBQW9ELENBQUM7Ozs7Ozs7Ozs7O0FBRTVHLE1BQU0sR0FBRyxHQUFHLElBQUksTUFBTSxDQUFD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SUFDekQsQ0FBQzsrR0E5RlUsMkNBQTJDLGdKQWdCbEMsZUFBZSx3Q0FFZixhQUFhO21HQWxCdEIsMkNBQTJDLGlGQzdCeEQsMDhIQXFFTzs7QUR4Q00sMkNBQTJDO0lBTnZELFlBQVksRUFBRTtHQU1GLDJDQUEyQyxDQWdHdkQ7OzRGQWhHWSwyQ0FBMkM7a0JBTHZELFNBQVM7K0JBQ0UsMkNBQTJDOzswQkFvQnhDLE1BQU07MkJBQUMsZUFBZTs7MEJBRXRCLE1BQU07MkJBQUMsYUFBYSIsInNvdXJjZXNDb250ZW50IjpbIlxuaW1wb3J0IHsgQ29tcG9uZW50LCBJbmplY3QsIE9uSW5pdCwgVGVtcGxhdGVSZWYgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IFVudHlwZWRGb3JtR3JvdXAsIFVudHlwZWRGb3JtQnVpbGRlciwgVmFsaWRhdG9ycyB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcbmltcG9ydCB7IE1hdERpYWxvZ1JlZiwgTUFUX0RJQUxPR19EQVRBIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvZGlhbG9nJztcbmltcG9ydCB7IFVudGlsRGVzdHJveSwgdW50aWxEZXN0cm95ZWQgfSBmcm9tICdAbmduZWF0L3VudGlsLWRlc3Ryb3knO1xuaW1wb3J0IHsgZmluYWxpemUgfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XG5pbXBvcnQge0FsZXJ0U2VydmljZSwgRm9ybVZhbGlkYXRvclNlcnZpY2UsIEh0dHBTZXJ2aWNlLCBMb2dnZXJ9IGZyb20gJy4uLy4uLy4uL2NvcmUnO1xuaW1wb3J0IHsgVGVjaGxpZnlOb3RpZmljYXRpb25TdWJzY3JpcHRpb25FbnRpdHkgfSBmcm9tICcuLi90ZWNobGlmeS1ub3RpZmljYXRpb24tc3Vic2NyaXB0aW9uLWVudGl0eS5tb2RlbCc7XG5cbmNvbnN0IGxvZyA9IG5ldyBMb2dnZXIoJ1RlY2hsaWZ5Tm90aWZpY2F0aW9uU3Vic2NyaWJlciBGb3JtJyk7XG5cbmNvbnN0IGVycm9yTWVzc2FnZXM6IGFueSA9IHtcbiAgZW50aXR5X2lkOiB7XG4gICAgcmVxdWlyZWQ6ICdFbnRpdHkgaXMgcmVxdWlyZWQnXG4gIH0sXG4gIHN1YnNjcmliZXJfaWQ6IHtcbiAgICByZXF1aXJlZDogJ1N1YnNjcmliZXIgaXMgcmVxdWlyZWQnXG4gIH0sXG4gIHR5cGVfaWQ6IHtcbiAgICByZXF1aXJlZDogJ1R5cGUgaXMgcmVxdWlyZWQnXG4gIH0sXG59O1xuXG5AVW50aWxEZXN0cm95KClcbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2FwcC10ZWNobGlmeS1ub3RpZmljYXRpb24tc3Vic2NyaWJlci1mb3JtJyxcbiAgdGVtcGxhdGVVcmw6ICcuL3RlY2hsaWZ5LW5vdGlmaWNhdGlvbi1zdWJzY3JpYmVyLWZvcm0uY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi90ZWNobGlmeS1ub3RpZmljYXRpb24tc3Vic2NyaWJlci1mb3JtLmNvbXBvbmVudC5zY3NzJ11cbn0pXG5leHBvcnQgY2xhc3MgVGVjaGxpZnlOb3RpZmljYXRpb25TdWJzY3JpYmVyRm9ybUNvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCB7XG5cbiAgdXBkYXRlTW9kZTogYm9vbGVhbjtcbiAgc3Vic2NyaWJlckZvcm1Hcm91cDogVW50eXBlZEZvcm1Hcm91cDtcbiAgc3Vic2NyaWJlckZvcm1GaXJzdEF0dGVtcHQ6IGJvb2xlYW47XG4gIHN1YnNjcmliZXI6IGFueTtcbiAgaXNTdWJtaXRMb2FkaW5nOiBib29sZWFuO1xuICBzZWxlY3RlZFN1YnNjcmliZXI6IGFueTtcbiAgc2VsZWN0ZWRUeXBlOiBhbnk7XG4gIHN1YnNjcmlwdGlvbkVudGl0eTogYW55ID0gVGVjaGxpZnlOb3RpZmljYXRpb25TdWJzY3JpcHRpb25FbnRpdHk7XG4gIHVzZXJUeXBlczogYW55W10gPSBbXTtcblxuICBjb25zdHJ1Y3Rvcihwcml2YXRlIGZiOiBVbnR5cGVkRm9ybUJ1aWxkZXIsXG4gICAgICAgICAgICAgIHByaXZhdGUgZm9ybVZhbGlkYXRvclNlcnZpY2U6IEZvcm1WYWxpZGF0b3JTZXJ2aWNlLFxuICAgICAgICAgICAgICBwcml2YXRlIGFsZXJ0U2VydmljZTogQWxlcnRTZXJ2aWNlLFxuICAgICAgICAgICAgICBwdWJsaWMgZGlhbG9nUmVmOiBNYXREaWFsb2dSZWY8VGVjaGxpZnlOb3RpZmljYXRpb25TdWJzY3JpYmVyRm9ybUNvbXBvbmVudD4sXG4gICAgICAgICAgICAgIEBJbmplY3QoTUFUX0RJQUxPR19EQVRBKSBwdWJsaWMgZGF0YTogYW55LFxuICAgICAgICAgICAgICBwcml2YXRlIGh0dHA6IEh0dHBTZXJ2aWNlLFxuICAgICAgICAgICAgICBASW5qZWN0KCdlbnZpcm9ubWVudCcpIHByaXZhdGUgZW52aXJvbm1lbnQ6IGFueSxcbiAgKSB7XG4gICAgdGhpcy5jcmVhdGVGb3JtKCk7XG4gIH1cblxuICAvKiogTWV0aG9kIHRvIGNyZWF0ZSBhIGZvcm0gKiovXG4gIHByaXZhdGUgY3JlYXRlRm9ybSgpIHtcblxuICAgIC8vIFRPRE86IEZpbmlhbGl6ZSBhbmQgYWRkIG1vcmUgdmFsaWRhdGlvbnMuXG4gICAgdGhpcy5zdWJzY3JpYmVyRm9ybUdyb3VwID0gdGhpcy5mYi5ncm91cCh7XG4gICAgICBpZDogWycnXSxcbiAgICAgIGVudGl0eV9pZDogWycnLCBWYWxpZGF0b3JzLnJlcXVpcmVkXSxcbiAgICAgIHN1YnNjcmliZXJfaWQ6IFsnJywgVmFsaWRhdG9ycy5yZXF1aXJlZF0sXG4gICAgICB0eXBlX2lkOiBbJycsIFZhbGlkYXRvcnMucmVxdWlyZWRdLFxuICAgIH0pO1xuICB9XG5cblxuICBuZ09uSW5pdCgpIHtcbiAgICB0aGlzLnVzZXJUeXBlcyA9IHRoaXMuZW52aXJvbm1lbnQ/Lm5vdGlmaWNhdGlvblVzZXJUeXBlcyB8fCB0aGlzLmVudmlyb25tZW50Py51c2VyPy51c2VyQ29uZmlnPy51c2VyVHlwZXMgfHwgW107XG4gICAgaWYgKHRoaXMuZGF0YT8uc3Vic2NyaWJlcj8uaWQpIHtcbiAgICAgIHRoaXMuc3Vic2NyaWJlciA9IHRoaXMuZGF0YS5zdWJzY3JpYmVyO1xuICAgICAgdGhpcy51cGRhdGVNb2RlID0gdHJ1ZTtcbiAgICAgIHRoaXMuc2VsZWN0ZWRUeXBlID0gdGhpcy5zdWJzY3JpYmVyPy50eXBlO1xuICAgICAgdGhpcy5zZWxlY3RlZFN1YnNjcmliZXIgPSB0aGlzLnN1YnNjcmliZXI/LnN1YnNjcmliZXI7XG4gICAgICB0aGlzLnN1YnNjcmliZXJGb3JtR3JvdXAucGF0Y2hWYWx1ZSh0aGlzLnN1YnNjcmliZXIpO1xuICAgIH1cblxuICAgIGlmICh0aGlzLmRhdGE/LmVudGl0eV9pZCAmJiB0aGlzLmRhdGE/LnN1YnNjcmliZXJfaWQpIHtcbiAgICAgIHRoaXMuc3Vic2NyaWJlckZvcm1Hcm91cC5wYXRjaFZhbHVlKHRoaXMuZGF0YSk7XG4gICAgfVxuICB9XG5cbiAgLy8gTWV0aG9kIHRvIHRyaWdnZXIgbG9naW5cbiAgc3VibWl0KCkge1xuICAgIHRoaXMuc3Vic2NyaWJlckZvcm1Hcm91cC5tYXJrQWxsQXNUb3VjaGVkKCk7XG4gICAgdGhpcy5zdWJzY3JpYmVyRm9ybUZpcnN0QXR0ZW1wdCA9IHRydWU7XG4gICAgaWYgKHRoaXMuc3Vic2NyaWJlckZvcm1Hcm91cC52YWxpZCkge1xuICAgICAgdGhpcy5pc1N1Ym1pdExvYWRpbmcgPSB0cnVlO1xuICAgICAgY29uc3QgbW9kZWwgPSB0aGlzLnN1YnNjcmliZXJGb3JtR3JvdXAudmFsdWU7XG4gICAgICAoXG4gICAgICAgIHRoaXMudXBkYXRlTW9kZSA/XG4gICAgICAgICAgdGhpcy5odHRwLnB1dChgYXBpL25vdGlmaWNhdGlvbi1zdWJzY3JpcHRpb25zLyR7bW9kZWw/LmlkfWAsIG1vZGVsKSA6XG4gICAgICAgICAgdGhpcy5odHRwLnBvc3QoYGFwaS9ub3RpZmljYXRpb24tc3Vic2NyaXB0aW9uc2AsIG1vZGVsKVxuICAgICAgKVxuICAgICAgICAucGlwZShcbiAgICAgICAgICBmaW5hbGl6ZSgoKSA9PiB0aGlzLmlzU3VibWl0TG9hZGluZyA9IGZhbHNlKSxcbiAgICAgICAgICB1bnRpbERlc3Ryb3llZCh0aGlzKVxuICAgICAgICApLnN1YnNjcmliZShyZXN1bHQgPT4ge1xuICAgICAgICAgIHRoaXMuYWxlcnRTZXJ2aWNlLmFkZEFsZXJ0KCdTdWJzY3JpcHRpb24gc2F2ZWQgc3VjY2Vzc2Z1bGx5JywgJ3N1Y2Nlc3MnKTtcbiAgICAgICAgICB0aGlzLmRpYWxvZ1JlZi5jbG9zZShyZXN1bHQpO1xuICAgICAgICB9KTtcbiAgICB9XG4gIH1cblxuXG4gIGNhbmNlbCgpIHtcbiAgICB0aGlzLmRpYWxvZ1JlZi5jbG9zZSgpO1xuICB9XG5cbiAgLyoqTWV0aG9kIHRvIGV2YWx1YXRlIGZvcm0gZmllbGRzKi9cbiAgaXNGaWVsZFZhbGlkKGZpZWxkOiBzdHJpbmcpIHtcbiAgICByZXR1cm4gdGhpcy5mb3JtVmFsaWRhdG9yU2VydmljZS5pc0ZpZWxkVmFsaWQoZmllbGQsIHRoaXMuc3Vic2NyaWJlckZvcm1Hcm91cCwgdGhpcy5zdWJzY3JpYmVyRm9ybUZpcnN0QXR0ZW1wdCk7XG4gIH1cblxuICAvKipNZXRob2QgdG8gZmluZCBlcnJvciBpbiBmb3JtIGZpZWxkcyovXG4gIGdldEVycm9yTWVzc2FnZShmaWVsZDogc3RyaW5nKSB7XG4gICAgcmV0dXJuIHRoaXMuZm9ybVZhbGlkYXRvclNlcnZpY2UuZ2V0RXJyb3JNZXNzYWdlKGZpZWxkLCB0aGlzLnN1YnNjcmliZXJGb3JtR3JvdXAsIGVycm9yTWVzc2FnZXMpO1xuICB9XG5cbiAgZ2V0RmllbGRWYWx1ZShmaWVsZDogc3RyaW5nKSB7XG4gICAgcmV0dXJuIHRoaXMuc3Vic2NyaWJlckZvcm1Hcm91cC5nZXQoZmllbGQpLnZhbHVlO1xuICB9XG5cbiAgbmdPbkRlc3Ryb3koKSB7XG4gICAgLy8gTmVlZGVkIGZvciBhdXRvbWF0aWMgdW5zdWJzY3JpYmUgd2l0aCB1bnRpbERlc3Ryb3llZFxuICB9XG5cbn1cbiIsIjxmb3JtIFtmb3JtR3JvdXBdPVwic3Vic2NyaWJlckZvcm1Hcm91cFwiIChuZ1N1Ym1pdCk9XCJzdWJtaXQoKVwiIGNsYXNzPVwibWF0LXR5cG9ncmFwaHlcIj5cbiAgICA8ZGl2IGZ4TGF5b3V0PVwiY29sdW1uXCI+XG4gICAgICAgIDxkaXYgbWF0LWRpYWxvZy10aXRsZSBjbGFzcz1cInRleHQtY2VudGVyXCI+XG4gICAgICAgICAgICA8ZGl2Pk5vdGlmaWNhdGlvbiBTdWJzY3JpYmVyPC9kaXY+XG4gICAgICAgIDwvZGl2PlxuXG4gICAgICAgIDxkaXYgbWF0LWRpYWxvZy1jb250ZW50IGZ4TGF5b3V0PVwiY29sdW1uXCI+XG4gICAgICAgICAgICA8ZGl2IGZ4TGF5b3V0PVwicm93IHdyYXBcIiBmeExheW91dEFsaWduPVwic3BhY2UtYmV0d2VlbiBjZW50ZXJcIj5cblxuICAgICAgICAgICAgICAgIDxtYXQtZm9ybS1maWVsZCBmeEZsZXg9XCIxMDAlXCIgY2xhc3M9XCJtdC0xXCIgKm5nSWY9XCIhdGhpcy5kYXRhPy5lbnRpdHlfaWRcIj5cbiAgICAgICAgICAgICAgICAgICAgPG1hdC1sYWJlbD5FbnRpdHk8L21hdC1sYWJlbD5cbiAgICAgICAgICAgICAgICAgICAgPGFwcC1zZWFyY2hhYmxlLXNlbGVjdG9yIGZvcm1Db250cm9sTmFtZT1cImVudGl0eV9pZFwiIGFwaVVybD1cImFwaS9ub3RpZmljYXRpb24tc3Vic2NyaXB0aW9uLWVudGl0aWVzXCJcbiAgICAgICAgICAgICAgICAgICAgICAgIFtlbmFibGVTZWFyY2hdPVwiZmFsc2VcIiByZXF1aXJlZD5cbiAgICAgICAgICAgICAgICAgICAgPC9hcHAtc2VhcmNoYWJsZS1zZWxlY3Rvcj5cbiAgICAgICAgICAgICAgICAgICAgPG1hdC1lcnJvciAqbmdJZj1cImlzRmllbGRWYWxpZCgnZW50aXR5X2lkJylcIj57e2dldEVycm9yTWVzc2FnZSgnZW50aXR5X2lkJyl9fTwvbWF0LWVycm9yPlxuICAgICAgICAgICAgICAgIDwvbWF0LWZvcm0tZmllbGQ+XG5cbiAgICAgICAgICAgICAgICA8bmctY29udGFpbmVyICpuZ0lmPVwiIXRoaXMuZGF0YT8uc3Vic2NyaWJlcl9pZFwiPlxuICAgICAgICAgICAgICAgICAgICA8bWF0LWZvcm0tZmllbGQgKm5nSWY9XCJnZXRGaWVsZFZhbHVlKCdlbnRpdHlfaWQnKSA9PSBzdWJzY3JpcHRpb25FbnRpdHkuSU5ESVZJRFVBTFwiIGZ4RmxleD1cIjEwMCVcIlxuICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9XCJtdC0xXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICA8bWF0LWxhYmVsPlN1YnNjcmliZXI8L21hdC1sYWJlbD5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxhcHAtc2VhcmNoYWJsZS1zZWxlY3RvciBmb3JtQ29udHJvbE5hbWU9XCJzdWJzY3JpYmVyX2lkXCIgYXBpVXJsPVwiYXBpL3VzZXJzXCIgdGl0bGVGaWVsZD1cIm5hbWVcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtzZWxlY3RlZFZhbHVlXT1cInNlbGVjdGVkU3Vic2NyaWJlclwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgPC9hcHAtc2VhcmNoYWJsZS1zZWxlY3Rvcj5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxtYXQtZXJyb3IgKm5nSWY9XCJpc0ZpZWxkVmFsaWQoJ3N1YnNjcmliZXJfaWQnKVwiPnt7Z2V0RXJyb3JNZXNzYWdlKCdzdWJzY3JpYmVyX2lkJyl9fVxuICAgICAgICAgICAgICAgICAgICAgICAgPC9tYXQtZXJyb3I+XG4gICAgICAgICAgICAgICAgICAgIDwvbWF0LWZvcm0tZmllbGQ+XG5cbiAgICAgICAgICAgICAgICAgICAgPG1hdC1mb3JtLWZpZWxkICpuZ0lmPVwiZ2V0RmllbGRWYWx1ZSgnZW50aXR5X2lkJykgPT0gc3Vic2NyaXB0aW9uRW50aXR5LlJPTEVcIiBmeEZsZXg9XCIxMDAlXCJcbiAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPVwibXQtMVwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgPG1hdC1sYWJlbD5TdWJzY3JpYmVyPC9tYXQtbGFiZWw+XG4gICAgICAgICAgICAgICAgICAgICAgICA8YXBwLXNlYXJjaGFibGUtc2VsZWN0b3IgZm9ybUNvbnRyb2xOYW1lPVwic3Vic2NyaWJlcl9pZFwiIGFwaVVybD1cImFwaS9yb2xlc1wiIHRpdGxlRmllbGQ9XCJsYWJlbFwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgW3NlbGVjdGVkVmFsdWVdPVwic2VsZWN0ZWRTdWJzY3JpYmVyXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICA8L2FwcC1zZWFyY2hhYmxlLXNlbGVjdG9yPlxuICAgICAgICAgICAgICAgICAgICAgICAgPG1hdC1lcnJvciAqbmdJZj1cImlzRmllbGRWYWxpZCgnc3Vic2NyaWJlcl9pZCcpXCI+e3tnZXRFcnJvck1lc3NhZ2UoJ3N1YnNjcmliZXJfaWQnKX19XG4gICAgICAgICAgICAgICAgICAgICAgICA8L21hdC1lcnJvcj5cbiAgICAgICAgICAgICAgICAgICAgPC9tYXQtZm9ybS1maWVsZD5cblxuICAgICAgICAgICAgICAgICAgICA8bWF0LWZvcm0tZmllbGQgKm5nSWY9XCJnZXRGaWVsZFZhbHVlKCdlbnRpdHlfaWQnKSA9PSBzdWJzY3JpcHRpb25FbnRpdHkuVVNFUl9UWVBFXCIgZnhGbGV4PVwiMTAwJVwiXG4gICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz1cIm10LTFcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxtYXQtbGFiZWw+U3Vic2NyaWJlcjwvbWF0LWxhYmVsPlxuICAgICAgICAgICAgICAgICAgICAgICAgPGFwcC1zZWFyY2hhYmxlLXNlbGVjdG9yIGZvcm1Db250cm9sTmFtZT1cInN1YnNjcmliZXJfaWRcIiBbaXRlbXNdPVwidXNlclR5cGVzXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBbZW5hYmxlU2VhcmNoXT1cImZhbHNlXCIgdmFsdWVGaWVsZD1cInZhbHVlXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICA8L2FwcC1zZWFyY2hhYmxlLXNlbGVjdG9yPlxuICAgICAgICAgICAgICAgICAgICAgICAgPG1hdC1lcnJvciAqbmdJZj1cImlzRmllbGRWYWxpZCgnc3Vic2NyaWJlcl9pZCcpXCI+e3tnZXRFcnJvck1lc3NhZ2UoJ3N1YnNjcmliZXJfaWQnKX19XG4gICAgICAgICAgICAgICAgICAgICAgICA8L21hdC1lcnJvcj5cbiAgICAgICAgICAgICAgICAgICAgPC9tYXQtZm9ybS1maWVsZD5cbiAgICAgICAgICAgICAgICA8L25nLWNvbnRhaW5lcj5cblxuICAgICAgICAgICAgICAgIDxtYXQtZm9ybS1maWVsZCBmeEZsZXg9XCIxMDAlXCIgY2xhc3M9XCJtdC0xXCI+XG4gICAgICAgICAgICAgICAgICAgIDxtYXQtbGFiZWw+VHlwZTwvbWF0LWxhYmVsPlxuICAgICAgICAgICAgICAgICAgICA8YXBwLXNlYXJjaGFibGUtc2VsZWN0b3IgZm9ybUNvbnRyb2xOYW1lPVwidHlwZV9pZFwiIGFwaVVybD1cImFwaS9ub3RpZmljYXRpb24tdHlwZXNcIiByZXF1aXJlZFxuICAgICAgICAgICAgICAgICAgICAgICAgW3NlbGVjdGVkVmFsdWVdPVwic2VsZWN0ZWRUeXBlXCI+XG4gICAgICAgICAgICAgICAgICAgIDwvYXBwLXNlYXJjaGFibGUtc2VsZWN0b3I+XG4gICAgICAgICAgICAgICAgICAgIDxtYXQtZXJyb3IgKm5nSWY9XCJpc0ZpZWxkVmFsaWQoJ3R5cGVfaWQnKVwiPnt7Z2V0RXJyb3JNZXNzYWdlKCd0eXBlX2lkJyl9fTwvbWF0LWVycm9yPlxuICAgICAgICAgICAgICAgIDwvbWF0LWZvcm0tZmllbGQ+XG5cbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwibXktMlwiIGZ4TGF5b3V0PVwicm93XCIgZnhMYXlvdXRHYXA9XCIzMHB4XCIgZnhMYXlvdXRBbGlnbj1cImVuZFwiIGZ4RmxleD1cIjEwMCVcIj5cbiAgICAgICAgICAgICAgICAgICAgPGJ1dHRvbiBtYXQtcmFpc2VkLWJ1dHRvbiB0eXBlPVwiYnV0dG9uXCIgKGNsaWNrKT1cImNhbmNlbCgpXCI+Q2FuY2VsPC9idXR0b24+XG4gICAgICAgICAgICAgICAgICAgIDxidXR0b24gbWF0LXJhaXNlZC1idXR0b24gdHlwZT1cInN1Ym1pdFwiIGNvbG9yPVwicHJpbWFyeVwiIFtkaXNhYmxlZF09XCJpc1N1Ym1pdExvYWRpbmdcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxhcHAtbG9hZGVyIGNsYXNzPVwiaW5saW5lLWxvYWRlclwiIFtpc0xvYWRpbmddPVwiaXNTdWJtaXRMb2FkaW5nXCI+PC9hcHAtbG9hZGVyPlxuICAgICAgICAgICAgICAgICAgICAgICAgU2F2ZVxuICAgICAgICAgICAgICAgICAgICA8L2J1dHRvbj5cbiAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICA8L2Rpdj5cblxuXG4gICAgPC9kaXY+XG48L2Zvcm0+Il19
@@ -9,23 +9,23 @@ import { SearchableSelectorModule } from '../../../searchable-selector/searchabl
9
9
  import { LoaderModule } from '../../../loader/loader.module';
10
10
  import * as i0 from "@angular/core";
11
11
  export class TechlifyNotificationSubscriberFormModule {
12
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: TechlifyNotificationSubscriberFormModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
13
- static ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "16.2.12", ngImport: i0, type: TechlifyNotificationSubscriberFormModule, declarations: [TechlifyNotificationSubscriberFormComponent], imports: [CommonModule,
12
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: TechlifyNotificationSubscriberFormModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
13
+ static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "18.2.13", ngImport: i0, type: TechlifyNotificationSubscriberFormModule, declarations: [TechlifyNotificationSubscriberFormComponent], imports: [CommonModule,
14
14
  MaterialModule,
15
15
  FlexLayoutModule,
16
16
  ReactiveFormsModule,
17
17
  SearchableSelectorModule,
18
18
  TechlifyNotificationSubscriberFormRoutingModule,
19
- LoaderModule] });
20
- static ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: TechlifyNotificationSubscriberFormModule, imports: [CommonModule,
19
+ LoaderModule] }); }
20
+ static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: TechlifyNotificationSubscriberFormModule, imports: [CommonModule,
21
21
  MaterialModule,
22
22
  FlexLayoutModule,
23
23
  ReactiveFormsModule,
24
24
  SearchableSelectorModule,
25
25
  TechlifyNotificationSubscriberFormRoutingModule,
26
- LoaderModule] });
26
+ LoaderModule] }); }
27
27
  }
28
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: TechlifyNotificationSubscriberFormModule, decorators: [{
28
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: TechlifyNotificationSubscriberFormModule, decorators: [{
29
29
  type: NgModule,
30
30
  args: [{
31
31
  declarations: [TechlifyNotificationSubscriberFormComponent],
@@ -40,4 +40,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImpo
40
40
  ]
41
41
  }]
42
42
  }] });
43
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGVjaGxpZnktbm90aWZpY2F0aW9uLXN1YnNjcmliZXItZm9ybS5tb2R1bGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uZ3gtdGVjaGxpZnktY29yZS9zcmMvbGliL3RlY2hsaWZ5LW5vdGlmaWNhdGlvbnMvdGVjaGxpZnktbm90aWZpY2F0aW9uLXN1YnNjcmliZXIvdGVjaGxpZnktbm90aWZpY2F0aW9uLXN1YnNjcmliZXItZm9ybS90ZWNobGlmeS1ub3RpZmljYXRpb24tc3Vic2NyaWJlci1mb3JtLm1vZHVsZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ3pDLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUUvQyxPQUFPLEVBQUUsK0NBQStDLEVBQUUsTUFBTSx3REFBd0QsQ0FBQztBQUN6SCxPQUFPLEVBQUUsMkNBQTJDLEVBQUUsTUFBTSxtREFBbUQsQ0FBQztBQUNoSCxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUNyRCxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQztBQUN4RCxPQUFPLEVBQUMsY0FBYyxFQUFDLE1BQU0sMEJBQTBCLENBQUM7QUFDeEQsT0FBTyxFQUFDLHdCQUF3QixFQUFDLE1BQU0seURBQXlELENBQUM7QUFDakcsT0FBTyxFQUFDLFlBQVksRUFBQyxNQUFNLCtCQUErQixDQUFDOztBQWUzRCxNQUFNLE9BQU8sd0NBQXdDO3dHQUF4Qyx3Q0FBd0M7eUdBQXhDLHdDQUF3QyxpQkFYbEMsMkNBQTJDLGFBRXRELFlBQVk7WUFDWixjQUFjO1lBQ2QsZ0JBQWdCO1lBQ2hCLG1CQUFtQjtZQUNuQix3QkFBd0I7WUFDeEIsK0NBQStDO1lBQy9DLFlBQVk7eUdBR1Asd0NBQXdDLFlBVDdDLFlBQVk7WUFDWixjQUFjO1lBQ2QsZ0JBQWdCO1lBQ2hCLG1CQUFtQjtZQUNuQix3QkFBd0I7WUFDeEIsK0NBQStDO1lBQy9DLFlBQVk7OzRGQUdQLHdDQUF3QztrQkFacEQsUUFBUTttQkFBQztvQkFDTixZQUFZLEVBQUUsQ0FBQywyQ0FBMkMsQ0FBQztvQkFDM0QsT0FBTyxFQUFFO3dCQUNMLFlBQVk7d0JBQ1osY0FBYzt3QkFDZCxnQkFBZ0I7d0JBQ2hCLG1CQUFtQjt3QkFDbkIsd0JBQXdCO3dCQUN4QiwrQ0FBK0M7d0JBQy9DLFlBQVk7cUJBQ2Y7aUJBQ0oiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBOZ01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQ29tbW9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcblxuaW1wb3J0IHsgVGVjaGxpZnlOb3RpZmljYXRpb25TdWJzY3JpYmVyRm9ybVJvdXRpbmdNb2R1bGUgfSBmcm9tICcuL3RlY2hsaWZ5LW5vdGlmaWNhdGlvbi1zdWJzY3JpYmVyLWZvcm0tcm91dGluZy5tb2R1bGUnO1xuaW1wb3J0IHsgVGVjaGxpZnlOb3RpZmljYXRpb25TdWJzY3JpYmVyRm9ybUNvbXBvbmVudCB9IGZyb20gJy4vdGVjaGxpZnktbm90aWZpY2F0aW9uLXN1YnNjcmliZXItZm9ybS5jb21wb25lbnQnO1xuaW1wb3J0IHsgUmVhY3RpdmVGb3Jtc01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcbmltcG9ydCB7IEZsZXhMYXlvdXRNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9mbGV4LWxheW91dCc7XG5pbXBvcnQge01hdGVyaWFsTW9kdWxlfSBmcm9tICcuLi8uLi8uLi9tYXRlcmlhbC5tb2R1bGUnO1xuaW1wb3J0IHtTZWFyY2hhYmxlU2VsZWN0b3JNb2R1bGV9IGZyb20gJy4uLy4uLy4uL3NlYXJjaGFibGUtc2VsZWN0b3Ivc2VhcmNoYWJsZS1zZWxlY3Rvci5tb2R1bGUnO1xuaW1wb3J0IHtMb2FkZXJNb2R1bGV9IGZyb20gJy4uLy4uLy4uL2xvYWRlci9sb2FkZXIubW9kdWxlJztcblxuXG5ATmdNb2R1bGUoe1xuICAgIGRlY2xhcmF0aW9uczogW1RlY2hsaWZ5Tm90aWZpY2F0aW9uU3Vic2NyaWJlckZvcm1Db21wb25lbnRdLFxuICAgIGltcG9ydHM6IFtcbiAgICAgICAgQ29tbW9uTW9kdWxlLFxuICAgICAgICBNYXRlcmlhbE1vZHVsZSxcbiAgICAgICAgRmxleExheW91dE1vZHVsZSxcbiAgICAgICAgUmVhY3RpdmVGb3Jtc01vZHVsZSxcbiAgICAgICAgU2VhcmNoYWJsZVNlbGVjdG9yTW9kdWxlLFxuICAgICAgICBUZWNobGlmeU5vdGlmaWNhdGlvblN1YnNjcmliZXJGb3JtUm91dGluZ01vZHVsZSxcbiAgICAgICAgTG9hZGVyTW9kdWxlXG4gICAgXVxufSlcbmV4cG9ydCBjbGFzcyBUZWNobGlmeU5vdGlmaWNhdGlvblN1YnNjcmliZXJGb3JtTW9kdWxlIHsgfVxuIl19
43
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGVjaGxpZnktbm90aWZpY2F0aW9uLXN1YnNjcmliZXItZm9ybS5tb2R1bGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uZ3gtdGVjaGxpZnktY29yZS9zcmMvbGliL3RlY2hsaWZ5LW5vdGlmaWNhdGlvbnMvdGVjaGxpZnktbm90aWZpY2F0aW9uLXN1YnNjcmliZXIvdGVjaGxpZnktbm90aWZpY2F0aW9uLXN1YnNjcmliZXItZm9ybS90ZWNobGlmeS1ub3RpZmljYXRpb24tc3Vic2NyaWJlci1mb3JtLm1vZHVsZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ3pDLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUUvQyxPQUFPLEVBQUUsK0NBQStDLEVBQUUsTUFBTSx3REFBd0QsQ0FBQztBQUN6SCxPQUFPLEVBQUUsMkNBQTJDLEVBQUUsTUFBTSxtREFBbUQsQ0FBQztBQUNoSCxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUNyRCxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQztBQUN4RCxPQUFPLEVBQUMsY0FBYyxFQUFDLE1BQU0sMEJBQTBCLENBQUM7QUFDeEQsT0FBTyxFQUFDLHdCQUF3QixFQUFDLE1BQU0seURBQXlELENBQUM7QUFDakcsT0FBTyxFQUFDLFlBQVksRUFBQyxNQUFNLCtCQUErQixDQUFDOztBQWUzRCxNQUFNLE9BQU8sd0NBQXdDOytHQUF4Qyx3Q0FBd0M7Z0hBQXhDLHdDQUF3QyxpQkFYbEMsMkNBQTJDLGFBRXRELFlBQVk7WUFDWixjQUFjO1lBQ2QsZ0JBQWdCO1lBQ2hCLG1CQUFtQjtZQUNuQix3QkFBd0I7WUFDeEIsK0NBQStDO1lBQy9DLFlBQVk7Z0hBR1Asd0NBQXdDLFlBVDdDLFlBQVk7WUFDWixjQUFjO1lBQ2QsZ0JBQWdCO1lBQ2hCLG1CQUFtQjtZQUNuQix3QkFBd0I7WUFDeEIsK0NBQStDO1lBQy9DLFlBQVk7OzRGQUdQLHdDQUF3QztrQkFacEQsUUFBUTttQkFBQztvQkFDTixZQUFZLEVBQUUsQ0FBQywyQ0FBMkMsQ0FBQztvQkFDM0QsT0FBTyxFQUFFO3dCQUNMLFlBQVk7d0JBQ1osY0FBYzt3QkFDZCxnQkFBZ0I7d0JBQ2hCLG1CQUFtQjt3QkFDbkIsd0JBQXdCO3dCQUN4QiwrQ0FBK0M7d0JBQy9DLFlBQVk7cUJBQ2Y7aUJBQ0oiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBOZ01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQ29tbW9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcblxuaW1wb3J0IHsgVGVjaGxpZnlOb3RpZmljYXRpb25TdWJzY3JpYmVyRm9ybVJvdXRpbmdNb2R1bGUgfSBmcm9tICcuL3RlY2hsaWZ5LW5vdGlmaWNhdGlvbi1zdWJzY3JpYmVyLWZvcm0tcm91dGluZy5tb2R1bGUnO1xuaW1wb3J0IHsgVGVjaGxpZnlOb3RpZmljYXRpb25TdWJzY3JpYmVyRm9ybUNvbXBvbmVudCB9IGZyb20gJy4vdGVjaGxpZnktbm90aWZpY2F0aW9uLXN1YnNjcmliZXItZm9ybS5jb21wb25lbnQnO1xuaW1wb3J0IHsgUmVhY3RpdmVGb3Jtc01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcbmltcG9ydCB7IEZsZXhMYXlvdXRNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9mbGV4LWxheW91dCc7XG5pbXBvcnQge01hdGVyaWFsTW9kdWxlfSBmcm9tICcuLi8uLi8uLi9tYXRlcmlhbC5tb2R1bGUnO1xuaW1wb3J0IHtTZWFyY2hhYmxlU2VsZWN0b3JNb2R1bGV9IGZyb20gJy4uLy4uLy4uL3NlYXJjaGFibGUtc2VsZWN0b3Ivc2VhcmNoYWJsZS1zZWxlY3Rvci5tb2R1bGUnO1xuaW1wb3J0IHtMb2FkZXJNb2R1bGV9IGZyb20gJy4uLy4uLy4uL2xvYWRlci9sb2FkZXIubW9kdWxlJztcblxuXG5ATmdNb2R1bGUoe1xuICAgIGRlY2xhcmF0aW9uczogW1RlY2hsaWZ5Tm90aWZpY2F0aW9uU3Vic2NyaWJlckZvcm1Db21wb25lbnRdLFxuICAgIGltcG9ydHM6IFtcbiAgICAgICAgQ29tbW9uTW9kdWxlLFxuICAgICAgICBNYXRlcmlhbE1vZHVsZSxcbiAgICAgICAgRmxleExheW91dE1vZHVsZSxcbiAgICAgICAgUmVhY3RpdmVGb3Jtc01vZHVsZSxcbiAgICAgICAgU2VhcmNoYWJsZVNlbGVjdG9yTW9kdWxlLFxuICAgICAgICBUZWNobGlmeU5vdGlmaWNhdGlvblN1YnNjcmliZXJGb3JtUm91dGluZ01vZHVsZSxcbiAgICAgICAgTG9hZGVyTW9kdWxlXG4gICAgXVxufSlcbmV4cG9ydCBjbGFzcyBUZWNobGlmeU5vdGlmaWNhdGlvblN1YnNjcmliZXJGb3JtTW9kdWxlIHsgfVxuIl19
@@ -4,15 +4,15 @@ import * as i0 from "@angular/core";
4
4
  import * as i1 from "@angular/router";
5
5
  const routes = [];
6
6
  export class TechlifyNotificationSubscriberListRoutingModule {
7
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: TechlifyNotificationSubscriberListRoutingModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
8
- static ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "16.2.12", ngImport: i0, type: TechlifyNotificationSubscriberListRoutingModule, imports: [i1.RouterModule], exports: [RouterModule] });
9
- static ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: TechlifyNotificationSubscriberListRoutingModule, imports: [RouterModule.forChild(routes), RouterModule] });
7
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: TechlifyNotificationSubscriberListRoutingModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
8
+ static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "18.2.13", ngImport: i0, type: TechlifyNotificationSubscriberListRoutingModule, imports: [i1.RouterModule], exports: [RouterModule] }); }
9
+ static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: TechlifyNotificationSubscriberListRoutingModule, imports: [RouterModule.forChild(routes), RouterModule] }); }
10
10
  }
11
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: TechlifyNotificationSubscriberListRoutingModule, decorators: [{
11
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: TechlifyNotificationSubscriberListRoutingModule, decorators: [{
12
12
  type: NgModule,
13
13
  args: [{
14
14
  imports: [RouterModule.forChild(routes)],
15
15
  exports: [RouterModule]
16
16
  }]
17
17
  }] });
18
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGVjaGxpZnktbm90aWZpY2F0aW9uLXN1YnNjcmliZXItbGlzdC1yb3V0aW5nLm1vZHVsZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25neC10ZWNobGlmeS1jb3JlL3NyYy9saWIvdGVjaGxpZnktbm90aWZpY2F0aW9ucy90ZWNobGlmeS1ub3RpZmljYXRpb24tc3Vic2NyaWJlci90ZWNobGlmeS1ub3RpZmljYXRpb24tc3Vic2NyaWJlci1saXN0L3RlY2hsaWZ5LW5vdGlmaWNhdGlvbi1zdWJzY3JpYmVyLWxpc3Qtcm91dGluZy5tb2R1bGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUN6QyxPQUFPLEVBQVUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUM7OztBQUd2RCxNQUFNLE1BQU0sR0FBVyxFQUFFLENBQUM7QUFNMUIsTUFBTSxPQUFPLCtDQUErQzt3R0FBL0MsK0NBQStDO3lHQUEvQywrQ0FBK0Msd0NBRmhELFlBQVk7eUdBRVgsK0NBQStDLFlBSGhELFlBQVksQ0FBQyxRQUFRLENBQUMsTUFBTSxDQUFDLEVBQzdCLFlBQVk7OzRGQUVYLCtDQUErQztrQkFKM0QsUUFBUTttQkFBQztvQkFDUixPQUFPLEVBQUUsQ0FBQyxZQUFZLENBQUMsUUFBUSxDQUFDLE1BQU0sQ0FBQyxDQUFDO29CQUN4QyxPQUFPLEVBQUUsQ0FBQyxZQUFZLENBQUM7aUJBQ3hCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgTmdNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IFJvdXRlcywgUm91dGVyTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvcm91dGVyJztcblxuXG5jb25zdCByb3V0ZXM6IFJvdXRlcyA9IFtdO1xuXG5ATmdNb2R1bGUoe1xuICBpbXBvcnRzOiBbUm91dGVyTW9kdWxlLmZvckNoaWxkKHJvdXRlcyldLFxuICBleHBvcnRzOiBbUm91dGVyTW9kdWxlXVxufSlcbmV4cG9ydCBjbGFzcyBUZWNobGlmeU5vdGlmaWNhdGlvblN1YnNjcmliZXJMaXN0Um91dGluZ01vZHVsZSB7IH1cbiJdfQ==
18
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGVjaGxpZnktbm90aWZpY2F0aW9uLXN1YnNjcmliZXItbGlzdC1yb3V0aW5nLm1vZHVsZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25neC10ZWNobGlmeS1jb3JlL3NyYy9saWIvdGVjaGxpZnktbm90aWZpY2F0aW9ucy90ZWNobGlmeS1ub3RpZmljYXRpb24tc3Vic2NyaWJlci90ZWNobGlmeS1ub3RpZmljYXRpb24tc3Vic2NyaWJlci1saXN0L3RlY2hsaWZ5LW5vdGlmaWNhdGlvbi1zdWJzY3JpYmVyLWxpc3Qtcm91dGluZy5tb2R1bGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUN6QyxPQUFPLEVBQVUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUM7OztBQUd2RCxNQUFNLE1BQU0sR0FBVyxFQUFFLENBQUM7QUFNMUIsTUFBTSxPQUFPLCtDQUErQzsrR0FBL0MsK0NBQStDO2dIQUEvQywrQ0FBK0Msd0NBRmhELFlBQVk7Z0hBRVgsK0NBQStDLFlBSGhELFlBQVksQ0FBQyxRQUFRLENBQUMsTUFBTSxDQUFDLEVBQzdCLFlBQVk7OzRGQUVYLCtDQUErQztrQkFKM0QsUUFBUTttQkFBQztvQkFDUixPQUFPLEVBQUUsQ0FBQyxZQUFZLENBQUMsUUFBUSxDQUFDLE1BQU0sQ0FBQyxDQUFDO29CQUN4QyxPQUFPLEVBQUUsQ0FBQyxZQUFZLENBQUM7aUJBQ3hCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgTmdNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IFJvdXRlcywgUm91dGVyTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvcm91dGVyJztcblxuXG5jb25zdCByb3V0ZXM6IFJvdXRlcyA9IFtdO1xuXG5ATmdNb2R1bGUoe1xuICBpbXBvcnRzOiBbUm91dGVyTW9kdWxlLmZvckNoaWxkKHJvdXRlcyldLFxuICBleHBvcnRzOiBbUm91dGVyTW9kdWxlXVxufSlcbmV4cG9ydCBjbGFzcyBUZWNobGlmeU5vdGlmaWNhdGlvblN1YnNjcmliZXJMaXN0Um91dGluZ01vZHVsZSB7IH1cbiJdfQ==
@@ -23,33 +23,27 @@ import * as i13 from "@angular/forms";
23
23
  import * as i14 from "../techlify-notification-subscriber-list-filter/techlify-notification-subscriber-list-filter.component";
24
24
  const log = new Logger('TechlifyNotificationSubscriber list');
25
25
  let TechlifyNotificationSubscriberListComponent = class TechlifyNotificationSubscriberListComponent {
26
- dialog;
27
- http;
28
- location;
29
- environment;
30
- subscriberList = [];
31
- pageEvent = { page: 1, perPage: 25, lastPage: 1 };
32
- filters = {
33
- sort_by: 'created_at|desc',
34
- relations: 'type,entity'
35
- };
36
- rootScrollContainer;
37
- sort;
38
- displayColumns = new UntypedFormControl(['index', 'subscriber', 'entity.title', 'type.title', 'creator.name', 'created_at', 'actions']);
39
- displayedColumns = [];
40
- availableDisplayColumns = [
41
- { order: 1, value: 'index', name: 'Index' },
42
- { order: 2, value: 'subscriber', name: 'Subscriber' },
43
- { order: 3, value: 'entity.title', name: 'Entity' },
44
- { order: 4, value: 'type.title', name: 'Type' },
45
- { order: 5, value: 'creator.name', name: 'Creator' },
46
- { order: 6, value: 'actions', name: 'Actions' }
47
- ];
48
26
  constructor(dialog, http, location, environment) {
49
27
  this.dialog = dialog;
50
28
  this.http = http;
51
29
  this.location = location;
52
30
  this.environment = environment;
31
+ this.subscriberList = [];
32
+ this.pageEvent = { page: 1, perPage: 25, lastPage: 1 };
33
+ this.filters = {
34
+ sort_by: 'created_at|desc',
35
+ relations: 'type,entity'
36
+ };
37
+ this.displayColumns = new UntypedFormControl(['index', 'subscriber', 'entity.title', 'type.title', 'creator.name', 'created_at', 'actions']);
38
+ this.displayedColumns = [];
39
+ this.availableDisplayColumns = [
40
+ { order: 1, value: 'index', name: 'Index' },
41
+ { order: 2, value: 'subscriber', name: 'Subscriber' },
42
+ { order: 3, value: 'entity.title', name: 'Entity' },
43
+ { order: 4, value: 'type.title', name: 'Type' },
44
+ { order: 5, value: 'creator.name', name: 'Creator' },
45
+ { order: 6, value: 'actions', name: 'Actions' }
46
+ ];
53
47
  const routeState = history.state;
54
48
  if (!(routeState?.entity_id && routeState?.subscriber_id)) {
55
49
  this.location.back();
@@ -166,21 +160,21 @@ let TechlifyNotificationSubscriberListComponent = class TechlifyNotificationSubs
166
160
  ngOnDestroy() {
167
161
  // Until destroyed uses it
168
162
  }
169
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: TechlifyNotificationSubscriberListComponent, deps: [{ token: i1.MatDialog }, { token: i2.HttpService }, { token: i3.Location }, { token: 'environment' }], target: i0.ɵɵFactoryTarget.Component });
170
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: TechlifyNotificationSubscriberListComponent, selector: "app-techlify-notification-subscriber-list", viewQueries: [{ propertyName: "sort", first: true, predicate: MatSort, descendants: true, static: true }], ngImport: i0, template: "<div class=\"mat-typography m-4\">\n <div fxLayout=\"row\" fxLayoutAlign=\"start center\">\n <app-techlify-notification-subscriber-list-filter (valueChange)=\"filterChange($event)\" [showOnlyType]=\"true\">\n </app-techlify-notification-subscriber-list-filter>\n <div class=\"ml-2\">\n <button mat-raised-button color=\"primary\" type=\"button\" (click)=\"addTechlifyNotificationSubscriber()\">+\n Subscription</button>\n </div>\n <span fxFlex></span>\n <mat-form-field appearance=\"outline\" class=\"no-padding\">\n <mat-label>Columns</mat-label>\n <mat-select [formControl]=\"displayColumns\" multiple (selectionChange)=\"columnsChange()\">\n <mat-option *ngFor=\"let column of availableDisplayColumns\" [value]=\"column.value\">{{column.name}}\n </mat-option>\n </mat-select>\n </mat-form-field>\n </div>\n\n\n\n <section>\n <div infiniteScroll [infiniteScrollDistance]=\"2\" [infiniteScrollThrottle]=\"50\" (scrolled)=\"onScroll()\"\n [fromRoot]=\"true\" [infiniteScrollContainer]=\"rootScrollContainer\">\n <table mat-table [dataSource]=\"subscriberList\" matSort class=\"w-100 mt-1\" multiTemplateDataRows\n id=\"techlify-notification-subscriber-table\" aria-describedby=\"Notification Subscriber List\">\n\n <!-- Index Column -->\n <ng-container matColumnDef=\"index\">\n <th mat-header-cell *matHeaderCellDef> # </th>\n <td mat-cell *matCellDef=\"let subscriber; let i = dataIndex\"> {{ i+1 }} </td>\n </ng-container>\n <ng-container matColumnDef=\"subscriber\">\n <th mat-header-cell *matHeaderCellDef mat-sort-header> Subscriber </th>\n <td mat-cell *matCellDef=\"let subscriber;\"> {{ subscriber?.subscriber_display_name }} </td>\n </ng-container>\n <ng-container matColumnDef=\"entity.title\">\n <th mat-header-cell *matHeaderCellDef mat-sort-header> Entity </th>\n <td mat-cell *matCellDef=\"let subscriber;\"> {{ subscriber?.entity?.title }} </td>\n </ng-container>\n\n <ng-container matColumnDef=\"type.title\">\n <th mat-header-cell *matHeaderCellDef> Notification </th>\n <td mat-cell *matCellDef=\"let subscriber;\"> {{ subscriber?.type?.title }} </td>\n </ng-container>\n\n <ng-container matColumnDef=\"creator.name\">\n <th mat-header-cell *matHeaderCellDef mat-sort-header> Creator</th>\n <td mat-cell *matCellDef=\"let subscriber;\">\n {{subscriber?.creator?.name }}\n </td>\n </ng-container>\n\n <ng-container matColumnDef=\"created_at\">\n <th mat-header-cell *matHeaderCellDef mat-sort-header> Created On</th>\n <td mat-cell *matCellDef=\"let subscriber;\">\n {{subscriber?.created_at | date:'medium' }}\n </td>\n </ng-container>\n\n <!-- Actions Column -->\n <ng-container matColumnDef=\"actions\">\n <th mat-header-cell *matHeaderCellDef> Actions </th>\n <td mat-cell *matCellDef=\"let subscriber\">\n <button type=\"button\" mat-icon-button\n (click)=\"deleteTechlifyNotificationSubscriber($event,subscriber)\">\n <mat-icon>delete</mat-icon>\n </button>\n <button type=\"button\" mat-icon-button\n (click)=\"editTechlifyNotificationSubscriber($event,subscriber)\">\n <mat-icon>edit</mat-icon>\n </button>\n </td>\n </ng-container>\n <tr mat-header-row *matHeaderRowDef=\"displayedColumns;\"></tr>\n <tr mat-row *matRowDef=\"let row; columns: displayedColumns;\"></tr>\n </table>\n </div>\n\n </section>\n</div>\n", styles: [""], dependencies: [{ kind: "directive", type: i3.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i4.InfiniteScrollDirective, selector: "[infiniteScroll], [infinite-scroll], [data-infinite-scroll]", inputs: ["infiniteScrollDistance", "infiniteScrollUpDistance", "infiniteScrollThrottle", "infiniteScrollDisabled", "infiniteScrollContainer", "scrollWindow", "immediateCheck", "horizontal", "alwaysCallback", "fromRoot"], outputs: ["scrolled", "scrolledUp"] }, { kind: "component", type: i5.MatButton, selector: " button[mat-button], button[mat-raised-button], button[mat-flat-button], button[mat-stroked-button] ", inputs: ["disabled", "disableRipple", "color"], exportAs: ["matButton"] }, { kind: "component", type: i5.MatIconButton, selector: "button[mat-icon-button]", inputs: ["disabled", "disableRipple", "color"], exportAs: ["matButton"] }, { kind: "component", type: i6.MatFormField, selector: "mat-form-field", inputs: ["hideRequiredMarker", "color", "floatLabel", "appearance", "subscriptSizing", "hintLabel"], exportAs: ["matFormField"] }, { kind: "directive", type: i6.MatLabel, selector: "mat-label" }, { kind: "component", type: i7.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "component", type: i8.MatOption, selector: "mat-option", exportAs: ["matOption"] }, { kind: "component", type: i9.MatSelect, selector: "mat-select", inputs: ["disabled", "disableRipple", "tabIndex", "hideSingleSelectionIndicator"], exportAs: ["matSelect"] }, { kind: "directive", type: i10.MatSort, selector: "[matSort]", inputs: ["matSortDisabled", "matSortActive", "matSortStart", "matSortDirection", "matSortDisableClear"], outputs: ["matSortChange"], exportAs: ["matSort"] }, { kind: "component", type: i10.MatSortHeader, selector: "[mat-sort-header]", inputs: ["disabled", "mat-sort-header", "arrowPosition", "start", "sortActionDescription", "disableClear"], exportAs: ["matSortHeader"] }, { kind: "component", type: i11.MatTable, selector: "mat-table, table[mat-table]", exportAs: ["matTable"] }, { kind: "directive", type: i11.MatHeaderCellDef, selector: "[matHeaderCellDef]" }, { kind: "directive", type: i11.MatHeaderRowDef, selector: "[matHeaderRowDef]", inputs: ["matHeaderRowDef", "matHeaderRowDefSticky"] }, { kind: "directive", type: i11.MatColumnDef, selector: "[matColumnDef]", inputs: ["sticky", "matColumnDef"] }, { kind: "directive", type: i11.MatCellDef, selector: "[matCellDef]" }, { kind: "directive", type: i11.MatRowDef, selector: "[matRowDef]", inputs: ["matRowDefColumns", "matRowDefWhen"] }, { kind: "directive", type: i11.MatHeaderCell, selector: "mat-header-cell, th[mat-header-cell]" }, { kind: "directive", type: i11.MatCell, selector: "mat-cell, td[mat-cell]" }, { kind: "component", type: i11.MatHeaderRow, selector: "mat-header-row, tr[mat-header-row]", exportAs: ["matHeaderRow"] }, { kind: "component", type: i11.MatRow, selector: "mat-row, tr[mat-row]", exportAs: ["matRow"] }, { kind: "directive", type: i12.DefaultLayoutDirective, selector: " [fxLayout], [fxLayout.xs], [fxLayout.sm], [fxLayout.md], [fxLayout.lg], [fxLayout.xl], [fxLayout.lt-sm], [fxLayout.lt-md], [fxLayout.lt-lg], [fxLayout.lt-xl], [fxLayout.gt-xs], [fxLayout.gt-sm], [fxLayout.gt-md], [fxLayout.gt-lg]", inputs: ["fxLayout", "fxLayout.xs", "fxLayout.sm", "fxLayout.md", "fxLayout.lg", "fxLayout.xl", "fxLayout.lt-sm", "fxLayout.lt-md", "fxLayout.lt-lg", "fxLayout.lt-xl", "fxLayout.gt-xs", "fxLayout.gt-sm", "fxLayout.gt-md", "fxLayout.gt-lg"] }, { kind: "directive", type: i12.DefaultLayoutAlignDirective, selector: " [fxLayoutAlign], [fxLayoutAlign.xs], [fxLayoutAlign.sm], [fxLayoutAlign.md], [fxLayoutAlign.lg], [fxLayoutAlign.xl], [fxLayoutAlign.lt-sm], [fxLayoutAlign.lt-md], [fxLayoutAlign.lt-lg], [fxLayoutAlign.lt-xl], [fxLayoutAlign.gt-xs], [fxLayoutAlign.gt-sm], [fxLayoutAlign.gt-md], [fxLayoutAlign.gt-lg]", inputs: ["fxLayoutAlign", "fxLayoutAlign.xs", "fxLayoutAlign.sm", "fxLayoutAlign.md", "fxLayoutAlign.lg", "fxLayoutAlign.xl", "fxLayoutAlign.lt-sm", "fxLayoutAlign.lt-md", "fxLayoutAlign.lt-lg", "fxLayoutAlign.lt-xl", "fxLayoutAlign.gt-xs", "fxLayoutAlign.gt-sm", "fxLayoutAlign.gt-md", "fxLayoutAlign.gt-lg"] }, { kind: "directive", type: i12.DefaultFlexDirective, selector: " [fxFlex], [fxFlex.xs], [fxFlex.sm], [fxFlex.md], [fxFlex.lg], [fxFlex.xl], [fxFlex.lt-sm], [fxFlex.lt-md], [fxFlex.lt-lg], [fxFlex.lt-xl], [fxFlex.gt-xs], [fxFlex.gt-sm], [fxFlex.gt-md], [fxFlex.gt-lg]", inputs: ["fxFlex", "fxFlex.xs", "fxFlex.sm", "fxFlex.md", "fxFlex.lg", "fxFlex.xl", "fxFlex.lt-sm", "fxFlex.lt-md", "fxFlex.lt-lg", "fxFlex.lt-xl", "fxFlex.gt-xs", "fxFlex.gt-sm", "fxFlex.gt-md", "fxFlex.gt-lg"] }, { kind: "directive", type: i13.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i13.FormControlDirective, selector: "[formControl]", inputs: ["formControl", "disabled", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }, { kind: "component", type: i14.TechlifyNotificationSubscriberListFilterComponent, selector: "app-techlify-notification-subscriber-list-filter", inputs: ["showOnlyType"], outputs: ["valueChange"] }, { kind: "pipe", type: i3.DatePipe, name: "date" }] });
163
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: TechlifyNotificationSubscriberListComponent, deps: [{ token: i1.MatDialog }, { token: i2.HttpService }, { token: i3.Location }, { token: 'environment' }], target: i0.ɵɵFactoryTarget.Component }); }
164
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.13", type: TechlifyNotificationSubscriberListComponent, selector: "app-techlify-notification-subscriber-list", viewQueries: [{ propertyName: "sort", first: true, predicate: MatSort, descendants: true, static: true }], ngImport: i0, template: "<div class=\"mat-typography m-4\">\n <div fxLayout=\"row\" fxLayoutAlign=\"start center\">\n <app-techlify-notification-subscriber-list-filter (valueChange)=\"filterChange($event)\" [showOnlyType]=\"true\">\n </app-techlify-notification-subscriber-list-filter>\n <div class=\"ml-2\">\n <button mat-raised-button color=\"primary\" type=\"button\" (click)=\"addTechlifyNotificationSubscriber()\">+\n Subscription</button>\n </div>\n <span fxFlex></span>\n <mat-form-field appearance=\"outline\" class=\"no-padding\">\n <mat-label>Columns</mat-label>\n <mat-select [formControl]=\"displayColumns\" multiple (selectionChange)=\"columnsChange()\">\n <mat-option *ngFor=\"let column of availableDisplayColumns\" [value]=\"column.value\">{{column.name}}\n </mat-option>\n </mat-select>\n </mat-form-field>\n </div>\n\n\n\n <section>\n <div infiniteScroll [infiniteScrollDistance]=\"2\" [infiniteScrollThrottle]=\"50\" (scrolled)=\"onScroll()\"\n [fromRoot]=\"true\" [infiniteScrollContainer]=\"rootScrollContainer\">\n <table mat-table [dataSource]=\"subscriberList\" matSort class=\"w-100 mt-1\" multiTemplateDataRows\n id=\"techlify-notification-subscriber-table\" aria-describedby=\"Notification Subscriber List\">\n\n <!-- Index Column -->\n <ng-container matColumnDef=\"index\">\n <th mat-header-cell *matHeaderCellDef> # </th>\n <td mat-cell *matCellDef=\"let subscriber; let i = dataIndex\"> {{ i+1 }} </td>\n </ng-container>\n <ng-container matColumnDef=\"subscriber\">\n <th mat-header-cell *matHeaderCellDef mat-sort-header> Subscriber </th>\n <td mat-cell *matCellDef=\"let subscriber;\"> {{ subscriber?.subscriber_display_name }} </td>\n </ng-container>\n <ng-container matColumnDef=\"entity.title\">\n <th mat-header-cell *matHeaderCellDef mat-sort-header> Entity </th>\n <td mat-cell *matCellDef=\"let subscriber;\"> {{ subscriber?.entity?.title }} </td>\n </ng-container>\n\n <ng-container matColumnDef=\"type.title\">\n <th mat-header-cell *matHeaderCellDef> Notification </th>\n <td mat-cell *matCellDef=\"let subscriber;\"> {{ subscriber?.type?.title }} </td>\n </ng-container>\n\n <ng-container matColumnDef=\"creator.name\">\n <th mat-header-cell *matHeaderCellDef mat-sort-header> Creator</th>\n <td mat-cell *matCellDef=\"let subscriber;\">\n {{subscriber?.creator?.name }}\n </td>\n </ng-container>\n\n <ng-container matColumnDef=\"created_at\">\n <th mat-header-cell *matHeaderCellDef mat-sort-header> Created On</th>\n <td mat-cell *matCellDef=\"let subscriber;\">\n {{subscriber?.created_at | date:'medium' }}\n </td>\n </ng-container>\n\n <!-- Actions Column -->\n <ng-container matColumnDef=\"actions\">\n <th mat-header-cell *matHeaderCellDef> Actions </th>\n <td mat-cell *matCellDef=\"let subscriber\">\n <button type=\"button\" mat-icon-button\n (click)=\"deleteTechlifyNotificationSubscriber($event,subscriber)\">\n <mat-icon>delete</mat-icon>\n </button>\n <button type=\"button\" mat-icon-button\n (click)=\"editTechlifyNotificationSubscriber($event,subscriber)\">\n <mat-icon>edit</mat-icon>\n </button>\n </td>\n </ng-container>\n <tr mat-header-row *matHeaderRowDef=\"displayedColumns;\"></tr>\n <tr mat-row *matRowDef=\"let row; columns: displayedColumns;\"></tr>\n </table>\n </div>\n\n </section>\n</div>\n", styles: [""], dependencies: [{ kind: "directive", type: i3.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i4.InfiniteScrollDirective, selector: "[infiniteScroll], [infinite-scroll], [data-infinite-scroll]", inputs: ["infiniteScrollDistance", "infiniteScrollUpDistance", "infiniteScrollThrottle", "infiniteScrollDisabled", "infiniteScrollContainer", "scrollWindow", "immediateCheck", "horizontal", "alwaysCallback", "fromRoot"], outputs: ["scrolled", "scrolledUp"] }, { kind: "component", type: i5.MatButton, selector: " button[mat-button], button[mat-raised-button], button[mat-flat-button], button[mat-stroked-button] ", exportAs: ["matButton"] }, { kind: "component", type: i5.MatIconButton, selector: "button[mat-icon-button]", exportAs: ["matButton"] }, { kind: "component", type: i6.MatFormField, selector: "mat-form-field", inputs: ["hideRequiredMarker", "color", "floatLabel", "appearance", "subscriptSizing", "hintLabel"], exportAs: ["matFormField"] }, { kind: "directive", type: i6.MatLabel, selector: "mat-label" }, { kind: "component", type: i7.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "component", type: i8.MatOption, selector: "mat-option", inputs: ["value", "id", "disabled"], outputs: ["onSelectionChange"], exportAs: ["matOption"] }, { kind: "component", type: i9.MatSelect, selector: "mat-select", inputs: ["aria-describedby", "panelClass", "disabled", "disableRipple", "tabIndex", "hideSingleSelectionIndicator", "placeholder", "required", "multiple", "disableOptionCentering", "compareWith", "value", "aria-label", "aria-labelledby", "errorStateMatcher", "typeaheadDebounceInterval", "sortComparator", "id", "panelWidth"], outputs: ["openedChange", "opened", "closed", "selectionChange", "valueChange"], exportAs: ["matSelect"] }, { kind: "directive", type: i10.MatSort, selector: "[matSort]", inputs: ["matSortActive", "matSortStart", "matSortDirection", "matSortDisableClear", "matSortDisabled"], outputs: ["matSortChange"], exportAs: ["matSort"] }, { kind: "component", type: i10.MatSortHeader, selector: "[mat-sort-header]", inputs: ["mat-sort-header", "arrowPosition", "start", "disabled", "sortActionDescription", "disableClear"], exportAs: ["matSortHeader"] }, { kind: "component", type: i11.MatTable, selector: "mat-table, table[mat-table]", exportAs: ["matTable"] }, { kind: "directive", type: i11.MatHeaderCellDef, selector: "[matHeaderCellDef]" }, { kind: "directive", type: i11.MatHeaderRowDef, selector: "[matHeaderRowDef]", inputs: ["matHeaderRowDef", "matHeaderRowDefSticky"] }, { kind: "directive", type: i11.MatColumnDef, selector: "[matColumnDef]", inputs: ["matColumnDef"] }, { kind: "directive", type: i11.MatCellDef, selector: "[matCellDef]" }, { kind: "directive", type: i11.MatRowDef, selector: "[matRowDef]", inputs: ["matRowDefColumns", "matRowDefWhen"] }, { kind: "directive", type: i11.MatHeaderCell, selector: "mat-header-cell, th[mat-header-cell]" }, { kind: "directive", type: i11.MatCell, selector: "mat-cell, td[mat-cell]" }, { kind: "component", type: i11.MatHeaderRow, selector: "mat-header-row, tr[mat-header-row]", exportAs: ["matHeaderRow"] }, { kind: "component", type: i11.MatRow, selector: "mat-row, tr[mat-row]", exportAs: ["matRow"] }, { kind: "directive", type: i12.DefaultLayoutDirective, selector: " [fxLayout], [fxLayout.xs], [fxLayout.sm], [fxLayout.md], [fxLayout.lg], [fxLayout.xl], [fxLayout.lt-sm], [fxLayout.lt-md], [fxLayout.lt-lg], [fxLayout.lt-xl], [fxLayout.gt-xs], [fxLayout.gt-sm], [fxLayout.gt-md], [fxLayout.gt-lg]", inputs: ["fxLayout", "fxLayout.xs", "fxLayout.sm", "fxLayout.md", "fxLayout.lg", "fxLayout.xl", "fxLayout.lt-sm", "fxLayout.lt-md", "fxLayout.lt-lg", "fxLayout.lt-xl", "fxLayout.gt-xs", "fxLayout.gt-sm", "fxLayout.gt-md", "fxLayout.gt-lg"] }, { kind: "directive", type: i12.DefaultLayoutAlignDirective, selector: " [fxLayoutAlign], [fxLayoutAlign.xs], [fxLayoutAlign.sm], [fxLayoutAlign.md], [fxLayoutAlign.lg], [fxLayoutAlign.xl], [fxLayoutAlign.lt-sm], [fxLayoutAlign.lt-md], [fxLayoutAlign.lt-lg], [fxLayoutAlign.lt-xl], [fxLayoutAlign.gt-xs], [fxLayoutAlign.gt-sm], [fxLayoutAlign.gt-md], [fxLayoutAlign.gt-lg]", inputs: ["fxLayoutAlign", "fxLayoutAlign.xs", "fxLayoutAlign.sm", "fxLayoutAlign.md", "fxLayoutAlign.lg", "fxLayoutAlign.xl", "fxLayoutAlign.lt-sm", "fxLayoutAlign.lt-md", "fxLayoutAlign.lt-lg", "fxLayoutAlign.lt-xl", "fxLayoutAlign.gt-xs", "fxLayoutAlign.gt-sm", "fxLayoutAlign.gt-md", "fxLayoutAlign.gt-lg"] }, { kind: "directive", type: i12.DefaultFlexDirective, selector: " [fxFlex], [fxFlex.xs], [fxFlex.sm], [fxFlex.md], [fxFlex.lg], [fxFlex.xl], [fxFlex.lt-sm], [fxFlex.lt-md], [fxFlex.lt-lg], [fxFlex.lt-xl], [fxFlex.gt-xs], [fxFlex.gt-sm], [fxFlex.gt-md], [fxFlex.gt-lg]", inputs: ["fxFlex", "fxFlex.xs", "fxFlex.sm", "fxFlex.md", "fxFlex.lg", "fxFlex.xl", "fxFlex.lt-sm", "fxFlex.lt-md", "fxFlex.lt-lg", "fxFlex.lt-xl", "fxFlex.gt-xs", "fxFlex.gt-sm", "fxFlex.gt-md", "fxFlex.gt-lg"] }, { kind: "directive", type: i13.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i13.FormControlDirective, selector: "[formControl]", inputs: ["formControl", "disabled", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }, { kind: "component", type: i14.TechlifyNotificationSubscriberListFilterComponent, selector: "app-techlify-notification-subscriber-list-filter", inputs: ["showOnlyType"], outputs: ["valueChange"] }, { kind: "pipe", type: i3.DatePipe, name: "date" }] }); }
171
165
  };
172
166
  TechlifyNotificationSubscriberListComponent = __decorate([
173
167
  UntilDestroy()
174
168
  ], TechlifyNotificationSubscriberListComponent);
175
169
  export { TechlifyNotificationSubscriberListComponent };
176
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: TechlifyNotificationSubscriberListComponent, decorators: [{
170
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: TechlifyNotificationSubscriberListComponent, decorators: [{
177
171
  type: Component,
178
172
  args: [{ selector: 'app-techlify-notification-subscriber-list', template: "<div class=\"mat-typography m-4\">\n <div fxLayout=\"row\" fxLayoutAlign=\"start center\">\n <app-techlify-notification-subscriber-list-filter (valueChange)=\"filterChange($event)\" [showOnlyType]=\"true\">\n </app-techlify-notification-subscriber-list-filter>\n <div class=\"ml-2\">\n <button mat-raised-button color=\"primary\" type=\"button\" (click)=\"addTechlifyNotificationSubscriber()\">+\n Subscription</button>\n </div>\n <span fxFlex></span>\n <mat-form-field appearance=\"outline\" class=\"no-padding\">\n <mat-label>Columns</mat-label>\n <mat-select [formControl]=\"displayColumns\" multiple (selectionChange)=\"columnsChange()\">\n <mat-option *ngFor=\"let column of availableDisplayColumns\" [value]=\"column.value\">{{column.name}}\n </mat-option>\n </mat-select>\n </mat-form-field>\n </div>\n\n\n\n <section>\n <div infiniteScroll [infiniteScrollDistance]=\"2\" [infiniteScrollThrottle]=\"50\" (scrolled)=\"onScroll()\"\n [fromRoot]=\"true\" [infiniteScrollContainer]=\"rootScrollContainer\">\n <table mat-table [dataSource]=\"subscriberList\" matSort class=\"w-100 mt-1\" multiTemplateDataRows\n id=\"techlify-notification-subscriber-table\" aria-describedby=\"Notification Subscriber List\">\n\n <!-- Index Column -->\n <ng-container matColumnDef=\"index\">\n <th mat-header-cell *matHeaderCellDef> # </th>\n <td mat-cell *matCellDef=\"let subscriber; let i = dataIndex\"> {{ i+1 }} </td>\n </ng-container>\n <ng-container matColumnDef=\"subscriber\">\n <th mat-header-cell *matHeaderCellDef mat-sort-header> Subscriber </th>\n <td mat-cell *matCellDef=\"let subscriber;\"> {{ subscriber?.subscriber_display_name }} </td>\n </ng-container>\n <ng-container matColumnDef=\"entity.title\">\n <th mat-header-cell *matHeaderCellDef mat-sort-header> Entity </th>\n <td mat-cell *matCellDef=\"let subscriber;\"> {{ subscriber?.entity?.title }} </td>\n </ng-container>\n\n <ng-container matColumnDef=\"type.title\">\n <th mat-header-cell *matHeaderCellDef> Notification </th>\n <td mat-cell *matCellDef=\"let subscriber;\"> {{ subscriber?.type?.title }} </td>\n </ng-container>\n\n <ng-container matColumnDef=\"creator.name\">\n <th mat-header-cell *matHeaderCellDef mat-sort-header> Creator</th>\n <td mat-cell *matCellDef=\"let subscriber;\">\n {{subscriber?.creator?.name }}\n </td>\n </ng-container>\n\n <ng-container matColumnDef=\"created_at\">\n <th mat-header-cell *matHeaderCellDef mat-sort-header> Created On</th>\n <td mat-cell *matCellDef=\"let subscriber;\">\n {{subscriber?.created_at | date:'medium' }}\n </td>\n </ng-container>\n\n <!-- Actions Column -->\n <ng-container matColumnDef=\"actions\">\n <th mat-header-cell *matHeaderCellDef> Actions </th>\n <td mat-cell *matCellDef=\"let subscriber\">\n <button type=\"button\" mat-icon-button\n (click)=\"deleteTechlifyNotificationSubscriber($event,subscriber)\">\n <mat-icon>delete</mat-icon>\n </button>\n <button type=\"button\" mat-icon-button\n (click)=\"editTechlifyNotificationSubscriber($event,subscriber)\">\n <mat-icon>edit</mat-icon>\n </button>\n </td>\n </ng-container>\n <tr mat-header-row *matHeaderRowDef=\"displayedColumns;\"></tr>\n <tr mat-row *matRowDef=\"let row; columns: displayedColumns;\"></tr>\n </table>\n </div>\n\n </section>\n</div>\n" }]
179
- }], ctorParameters: function () { return [{ type: i1.MatDialog }, { type: i2.HttpService }, { type: i3.Location }, { type: undefined, decorators: [{
173
+ }], ctorParameters: () => [{ type: i1.MatDialog }, { type: i2.HttpService }, { type: i3.Location }, { type: undefined, decorators: [{
180
174
  type: Inject,
181
175
  args: ['environment']
182
- }] }]; }, propDecorators: { sort: [{
176
+ }] }], propDecorators: { sort: [{
183
177
  type: ViewChild,
184
178
  args: [MatSort, { static: true }]
185
179
  }] } });
186
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGVjaGxpZnktbm90aWZpY2F0aW9uLXN1YnNjcmliZXItbGlzdC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uZ3gtdGVjaGxpZnktY29yZS9zcmMvbGliL3RlY2hsaWZ5LW5vdGlmaWNhdGlvbnMvdGVjaGxpZnktbm90aWZpY2F0aW9uLXN1YnNjcmliZXIvdGVjaGxpZnktbm90aWZpY2F0aW9uLXN1YnNjcmliZXItbGlzdC90ZWNobGlmeS1ub3RpZmljYXRpb24tc3Vic2NyaWJlci1saXN0LmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25neC10ZWNobGlmeS1jb3JlL3NyYy9saWIvdGVjaGxpZnktbm90aWZpY2F0aW9ucy90ZWNobGlmeS1ub3RpZmljYXRpb24tc3Vic2NyaWJlci90ZWNobGlmeS1ub3RpZmljYXRpb24tc3Vic2NyaWJlci1saXN0L3RlY2hsaWZ5LW5vdGlmaWNhdGlvbi1zdWJzY3JpYmVyLWxpc3QuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxFQUFVLFNBQVMsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUdyRSxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUNwRCxPQUFPLEVBQUUsT0FBTyxFQUFFLE1BQU0sd0JBQXdCLENBQUM7QUFDakQsT0FBTyxFQUFFLFlBQVksRUFBRSxjQUFjLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQztBQUNyRSxPQUFPLEVBQUUsMkNBQTJDLEVBQUUsTUFBTSwwRkFBMEYsQ0FBQztBQUV2SixPQUFPLEVBQWMsTUFBTSxFQUFDLE1BQU0sZUFBZSxDQUFDO0FBRWxELE9BQU8sRUFBYyxvQkFBb0IsRUFBQyxNQUFNLHVCQUF1QixDQUFDOzs7Ozs7Ozs7Ozs7Ozs7O0FBRXhFLE1BQU0sR0FBRyxHQUFH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LFNBQVMsQ0FBQyxJQUFJLElBQUksQ0FBQyxDQUFDO1lBQ3pCLElBQUksQ0FBQyxjQUFjLEVBQUUsQ0FBQztTQUN2QjtJQUNILENBQUM7SUFFRCxVQUFVLENBQUMsS0FBVTtRQUNuQixJQUFJLEtBQUssQ0FBQyxTQUFTLEVBQUU7WUFDbkIsSUFBSSxDQUFDLE9BQU8sQ0FBQyxPQUFPLEdBQUcsR0FBRyxLQUFLLENBQUMsTUFBTSxJQUFJLEtBQUssQ0FBQyxTQUFTLEVBQUUsQ0FBQztZQUM1RCxJQUFJLENBQUMsTUFBTSxFQUFFLENBQUM7U0FDZjtJQUNILENBQUM7SUFFRCxNQUFNO1FBQ0osSUFBSSxDQUFDLGNBQWMsR0FBRyxFQUFFLENBQUM7UUFDekIsSUFBSSxDQUFDLFNBQVMsR0FBRyxFQUFFLElBQUksRUFBRSxDQUFDLEVBQUUsT0FBTyxFQUFFLEVBQUUsRUFBRSxRQUFRLEVBQUUsQ0FBQyxFQUFFLENBQUM7UUFDdkQsSUFBSSxDQUFDLGNBQWMsRUFBRSxDQUFDO0lBQ3hCLENBQUM7SUFHRCxXQUFXO1FBQ1QsMEJBQTBCO0lBQzVCLENBQUM7d0dBcEtVLDJDQUEyQyw4RkEyQjVDLGFBQWE7NEZBM0JaLDJDQUEyQyx1SEFVM0MsT0FBTyw4REM5QnBCLHFzSUFnRkE7O0FENURhLDJDQUEyQztJQU52RCxZQUFZLEVBQUU7R0FNRiwyQ0FBMkMsQ0FzS3ZEO1NBdEtZLDJDQUEyQzs0RkFBM0MsMkNBQTJDO2tCQUx2RCxTQUFTOytCQUNFLDJDQUEyQzs7MEJBK0JsRCxNQUFNOzJCQUFDLGFBQWE7NENBakJlLElBQUk7c0JBQXpDLFNBQVM7dUJBQUMsT0FBTyxFQUFFLEVBQUUsTUFBTSxFQUFFLElBQUksRUFBRSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgSW5qZWN0LCBPbkluaXQsIFZpZXdDaGlsZCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuXG5pbXBvcnQgeyBNYXREaWFsb2cgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9kaWFsb2cnO1xuaW1wb3J0IHsgVW50eXBlZEZvcm1Db250cm9sIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuaW1wb3J0IHsgTWF0U29ydCB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL3NvcnQnO1xuaW1wb3J0IHsgVW50aWxEZXN0cm95LCB1bnRpbERlc3Ryb3llZCB9IGZyb20gJ0BuZ25lYXQvdW50aWwtZGVzdHJveSc7XG5pbXBvcnQgeyBUZWNobGlmeU5vdGlmaWNhdGlvblN1YnNjcmliZXJGb3JtQ29tcG9uZW50IH0gZnJvbSAnLi4vdGVjaGxpZnktbm90aWZpY2F0aW9uLXN1YnNjcmliZXItZm9ybS90ZWNobGlmeS1ub3RpZmljYXRpb24tc3Vic2NyaWJlci1mb3JtLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBMb2NhdGlvbiB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQge0h0dHBTZXJ2aWNlLCBMb2dnZXJ9IGZyb20gJy4uLy4uLy4uL2NvcmUnO1xuaW1wb3J0IHsgUGFnZUV2ZW50IH0gZnJvbSAnLi4vLi4vLi4vZGF0YS10YWJsZSc7XG5pbXBvcnQge0FjdGlvblBvcHVwLCBBY3Rpb25Qb3B1cENvbXBvbmVudH0gZnJvbSAnLi4vLi4vLi4vYWN0aW9uLXBvcHVwJztcblxuY29uc3QgbG9nID0gbmV3IExvZ2dlcignVGVjaGxpZnlOb3RpZmljYXRpb25TdWJzY3JpYmVyIGxpc3QnKTtcblxuQFVudGlsRGVzdHJveSgpXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdhcHAtdGVjaGxpZnktbm90aWZpY2F0aW9uLXN1YnNjcmliZXItbGlzdCcsXG4gIHRlbXBsYXRlVXJsOiAnLi90ZWNobGlmeS1ub3RpZmljYXRpb24tc3Vic2NyaWJlci1saXN0LmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJy4vdGVjaGxpZnktbm90aWZpY2F0aW9uLXN1YnNjcmliZXItbGlzdC5jb21wb25lbnQuc2NzcyddXG59KVxuZXhwb3J0IGNsYXNzIFRlY2hsaWZ5Tm90aWZpY2F0aW9uU3Vic2NyaWJlckxpc3RDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQge1xuXG4gIHN1YnNjcmliZXJMaXN0OiBhbnlbXSA9IFtdO1xuICBwYWdlRXZlbnQ6IFBhZ2VFdmVudCA9IHsgcGFnZTogMSwgcGVyUGFnZTogMjUsIGxhc3RQYWdlOiAxIH07XG4gIGZpbHRlcnM6IGFueSA9IHtcbiAgICBzb3J0X2J5OiAnY3JlYXRlZF9hdHxkZXNjJyxcbiAgICByZWxhdGlvbnM6ICd0eXBlLGVudGl0eSdcbiAgfTtcbiAgcm9vdFNjcm9sbENvbnRhaW5lcjogc3RyaW5nO1xuXG4gIEBWaWV3Q2hpbGQoTWF0U29ydCwgeyBzdGF0aWM6IHRydWUgfSkgc29ydDogTWF0U29ydDtcblxuICBkaXNwbGF5Q29sdW1uczogVW50eXBlZEZvcm1Db250cm9sID0gbmV3IFVudHlwZWRGb3JtQ29udHJvbChbJ2luZGV4JywgJ3N1YnNjcmliZXInLCAnZW50aXR5LnRpdGxlJywgJ3R5cGUudGl0bGUnLCAnY3JlYXRvci5uYW1lJywgJ2NyZWF0ZWRfYXQnLCAnYWN0aW9ucyddKTtcbiAgZGlzcGxheWVkQ29sdW1uczogYW55W10gPSBbXTtcbiAgYXZhaWxhYmxlRGlzcGxheUNvbHVtbnM6IGFueVtdID0gW1xuICAgIHsgb3JkZXI6IDEsIHZhbHVlOiAnaW5kZXgnLCBuYW1lOiAnSW5kZXgnIH0sXG4gICAgeyBvcmRlcjogMiwgdmFsdWU6ICdzdWJzY3JpYmVyJywgbmFtZTogJ1N1YnNjcmliZXInIH0sXG4gICAgeyBvcmRlcjogMywgdmFsdWU6ICdlbnRpdHkudGl0bGUnLCBuYW1lOiAnRW50aXR5JyB9LFxuICAgIHsgb3JkZXI6IDQsIHZhbHVlOiAndHlwZS50aXRsZScsIG5hbWU6ICdUeXBlJyB9LFxuICAgIHsgb3JkZXI6IDUsIHZhbHVlOiAnY3JlYXRvci5uYW1lJywgbmFtZTogJ0NyZWF0b3InIH0sXG4gICAgeyBvcmRlcjogNiwgdmFsdWU6ICdhY3Rpb25zJywgbmFtZTogJ0FjdGlvbnMnIH1cbiAgXTtcblxuICBjb25zdHJ1Y3RvcihcbiAgICBwcml2YXRlIGRpYWxvZzogTWF0RGlhbG9nLFxuICAgIHByaXZhdGUgaHR0cDogSHR0cFNlcnZpY2UsXG4gICAgcHJpdmF0ZSBsb2NhdGlvbjogTG9jYXRpb24sXG4gICAgQEluamVjdCgnZW52aXJvbm1lbnQnKSBwcml2YXRlIGVudmlyb25tZW50OiBhbnksXG4gICkge1xuICAgIGNvbnN0IHJvdXRlU3RhdGUgPSBoaXN0b3J5LnN0YXRlO1xuICAgIGlmICghKHJvdXRlU3RhdGU/LmVudGl0eV9pZCAmJiByb3V0ZVN0YXRlPy5zdWJzY3JpYmVyX2lkKSkge1xuICAgICAgdGhpcy5sb2NhdGlvbi5iYWNrKCk7XG4gICAgfVxuICAgIHRoaXMuZmlsdGVycy5lbnRpdHlfaWQgPSByb3V0ZVN0YXRlLmVudGl0eV9pZDtcbiAgICB0aGlzLmZpbHRlcnMuc3Vic2NyaWJlcl9pZCA9IHJvdXRlU3RhdGUuc3Vic2NyaWJlcl9pZDtcblxuICB9XG5cbiAgbmdPbkluaXQoKSB7XG4gICAgdGhpcy5yb290U2Nyb2xsQ29udGFpbmVyID0gdGhpcy5lbnZpcm9ubWVudD8ucm9vdFNjcm9sbENvbnRhaW5lciB8fCAnYm9keSc7XG4gICAgdGhpcy5kaXNwbGF5ZWRDb2x1bW5zID0gdGhpcy5kaXNwbGF5Q29sdW1ucy52YWx1ZTtcbiAgICB0aGlzLmluaXRpYWxpemVEYXRhKCk7XG5cbiAgICBpZiAodGhpcy5zb3J0KSB7XG4gICAgICB0aGlzLnNvcnQuc29ydENoYW5nZS5waXBlKHVudGlsRGVzdHJveWVkKHRoaXMpKVxuICAgICAgICAuc3Vic2NyaWJlKCh2YWx1ZTogYW55KSA9PiB7XG4gICAgICAgICAgdGhpcy5jaGFuZ2VTb3J0KHZhbHVlKTtcbiAgICAgICAgfSk7XG4gICAgfVxuICB9XG5cbiAgZ2V0IHNlbGVjdGVkQ29sdW1ucygpOiBzdHJpbmdbXSB7XG4gICAgcmV0dXJuIHRoaXMuYXZhaWxhYmxlRGlzcGxheUNvbHVtbnNcbiAgICAgIC5maWx0ZXIoY29sID0+ICh0aGlzLmRpc3BsYXlDb2x1bW5zLnZhbHVlIGFzIGFueSkuc29tZSgoeDogYW55KSA9PiB4ID09PSBjb2wudmFsdWUpKVxuICAgICAgLnNvcnQoKGEsIGIpID0+IChhLm9yZGVyID4gYi5vcmRlcikgPyAxIDogKChiLm9yZGVyID4gYS5vcmRlcikgPyAtMSA6IDApKVxuICAgICAgLm1hcChjb2wgPT4gY29sLnZhbHVlKTtcbiAgfVxuXG4gIGNvbHVtbnNDaGFuZ2UoKSB7XG4gICAgdGhpcy5kaXNwbGF5ZWRDb2x1bW5zID0gdGhpcy5zZWxlY3RlZENvbHVtbnM7XG4gIH1cblxuXG4gIGluaXRpYWxpemVEYXRhKCkge1xuICAgIHRoaXMuaHR0cC5nZXQoYGFwaS9ub3RpZmljYXRpb24tc3Vic2NyaXB0aW9uc2AsIHsgcGFyYW1zOiB7IC4uLnRoaXMuZmlsdGVycywgLi4udGhpcy5wYWdlRXZlbnQgfSB9KVxuICAgICAgLnBpcGUodW50aWxEZXN0cm95ZWQodGhpcykpXG4gICAgICAuc3Vic2NyaWJlKChyZXN1bHQ6IGFueSkgPT4ge1xuICAgICAgICB0aGlzLnN1YnNjcmliZXJMaXN0ID0gdGhpcy5zdWJzY3JpYmVyTGlzdC5jb25jYXQocmVzdWx0LmRhdGEpO1xuICAgICAgICB0aGlzLnBhZ2VFdmVudC5wYWdlID0gcmVzdWx0LmN1cnJlbnRfcGFnZTtcbiAgICAgICAgdGhpcy5wYWdlRXZlbnQubGFzdFBhZ2UgPSByZXN1bHQubGFzdF9wYWdlO1xuICAgICAgfSk7XG4gIH1cblxuICBmaWx0ZXJDaGFuZ2UoZXZlbnQ6IGFueSkge1xuICAgIHRoaXMuZmlsdGVycyA9IHtcbiAgICAgIC4uLnRoaXMuZmlsdGVycyxcbiAgICAgIC4uLmV2ZW50XG4gICAgfTtcbiAgICB0aGlzLnJlbG9hZCgpO1xuICB9XG5cbiAgYWRkVGVjaGxpZnlOb3RpZmljYXRpb25TdWJzY3JpYmVyKCkge1xuICAgIGNvbnN0IGRpYWxvZ1JlZiA9IHRoaXMuZGlhbG9nLm9wZW4oVGVjaGxpZnlOb3RpZmljYXRpb25TdWJzY3JpYmVyRm9ybUNvbXBvbmVudCwge1xuICAgICAgd2lkdGg6ICc0MDBweCcsXG4gICAgICBhdXRvRm9jdXM6IGZhbHNlLFxuICAgICAgZGF0YToge1xuICAgICAgICBlbnRpdHlfaWQ6IHRoaXMuZmlsdGVycy5lbnRpdHlfaWQgPz8gJycsXG4gICAgICAgIHN1YnNjcmliZXJfaWQ6IHRoaXMuZmlsdGVycy5zdWJzY3JpYmVyX2lkID8/ICcnLFxuICAgICAgfSAvLyBBbnkgZGF0YSBwYXNzZWQgaGVyZSB3aWxsIGJlIGluamVjdGVkIGludG8gdGhlIG1vZGVsXG4gICAgfSk7XG5cbiAgICBkaWFsb2dSZWYuYWZ0ZXJDbG9zZWQoKS5zdWJzY3JpYmUoKHJlc3VsdDogYW55KSA9PiB7XG4gICAgICBpZiAocmVzdWx0KSB7XG4gICAgICAgIGxvZy5kZWJ1ZyhyZXN1bHQpO1xuICAgICAgICB0aGlzLnJlbG9hZCgpO1xuICAgICAgfVxuICAgIH0pO1xuICB9XG5cblxuICBlZGl0VGVjaGxpZnlOb3RpZmljYXRpb25TdWJzY3JpYmVyKGV2ZW50OiBhbnksIHN1YnNjcmliZXI6IGFueSkge1xuICAgIGV2ZW50LnN0b3BQcm9wYWdhdGlvbigpO1xuICAgIGNvbnN0IGRpYWxvZ1JlZiA9IHRoaXMuZGlhbG9nLm9wZW4oVGVjaGxpZnlOb3RpZmljYXRpb25TdWJzY3JpYmVyRm9ybUNvbXBvbmVudCwge1xuICAgICAgd2lkdGg6ICc0MDBweCcsXG4gICAgICBhdXRvRm9jdXM6IGZhbHNlLFxuICAgICAgZGF0YToge1xuICAgICAgICBzdWJzY3JpYmVyXG4gICAgICB9IC8vIEFueSBkYXRhIHBhc3NlZCBoZXJlIHdpbGwgYmUgaW5qZWN0ZWQgaW50byB0aGUgbW9kZWxcbiAgICB9KTtcblxuICAgIGRpYWxvZ1JlZi5hZnRlckNsb3NlZCgpLnN1YnNjcmliZSgocmVzdWx0OiBhbnkpID0+IHtcbiAgICAgIGlmIChyZXN1bHQpIHtcbiAgICAgICAgbG9nLmRlYnVnKHJlc3VsdCk7XG4gICAgICAgIHRoaXMucmVsb2FkKCk7XG4gICAgICB9XG4gICAgfSk7XG4gIH1cblxuICBkZWxldGVUZWNobGlmeU5vdGlmaWNhdGlvblN1YnNjcmliZXIoZXZlbnQ6IGFueSwgc3Vic2NyaWJlcjogYW55KSB7XG4gICAgZXZlbnQuc3RvcFByb3BhZ2F0aW9uKCk7XG4gICAgY29uc3QgZGlhbG9nUmVmID0gdGhpcy5kaWFsb2cub3BlbihBY3Rpb25Qb3B1cENvbXBvbmVudCwge1xuICAgICAgd2lkdGg6ICc0MDBweCcsXG4gICAgICBkYXRhOiB7XG4gICAgICAgIHRpdGxlOiAnRGVsZXRlIFN1YnNjcmlwdGlvbicsXG4gICAgICAgIG1lc3NhZ2U6IGBBcmUgeW91IHN1cmUgdG8gcHJvY2VlZCBkZWxldGUgdGhlIHN1YnNjcmliZXIgJHtzdWJzY3JpYmVyLm5hbWV9P2BcbiAgICAgIH0gYXMgQWN0aW9uUG9wdXAsXG4gICAgICBhdXRvRm9jdXM6IGZhbHNlXG4gICAgfSk7XG5cbiAgICBkaWFsb2dSZWYuYWZ0ZXJDbG9zZWQoKS5zdWJzY3JpYmUocmVzdWx0ID0+IHtcbiAgICAgIGlmIChyZXN1bHQpIHtcbiAgICAgICAgLy8gQWN0aW9uIGNvbmZpcm1lZFxuICAgICAgICB0aGlzLmh0dHAuZGVsZXRlKGBhcGkvbm90aWZpY2F0aW9uLXN1YnNjcmlwdGlvbnMvJHtzdWJzY3JpYmVyPy5pZH1gKVxuICAgICAgICAgIC5waXBlKHVudGlsRGVzdHJveWVkKHRoaXMpKVxuICAgICAgICAgIC5zdWJzY3JpYmUoKCkgPT4ge1xuICAgICAgICAgICAgdGhpcy5zdWJzY3JpYmVyTGlzdCA9IHRoaXMuc3Vic2NyaWJlckxpc3QuZmlsdGVyKHggPT4geC5pZCAhPT0gc3Vic2NyaWJlci5pZCk7XG4gICAgICAgICAgfSk7XG4gICAgICB9XG4gICAgfSk7XG4gIH1cblxuICBvblNjcm9sbCgpIHtcbiAgICBpZiAodGhpcy5wYWdlRXZlbnQubGFzdFBhZ2UgPiB0aGlzLnBhZ2VFdmVudC5wYWdlKSB7XG4gICAgICB0aGlzLnBhZ2VFdmVudC5wYWdlICs9IDE7XG4gICAgICB0aGlzLmluaXRpYWxpemVEYXRhKCk7XG4gICAgfVxuICB9XG5cbiAgY2hhbmdlU29ydChldmVudDogYW55KSB7XG4gICAgaWYgKGV2ZW50LmRpcmVjdGlvbikge1xuICAgICAgdGhpcy5maWx0ZXJzLnNvcnRfYnkgPSBgJHtldmVudC5hY3RpdmV9fCR7ZXZlbnQuZGlyZWN0aW9ufWA7XG4gICAgICB0aGlzLnJlbG9hZCgpO1xuICAgIH1cbiAgfVxuXG4gIHJlbG9hZCgpIHtcbiAgICB0aGlzLnN1YnNjcmliZXJMaXN0ID0gW107XG4gICAgdGhpcy5wYWdlRXZlbnQgPSB7IHBhZ2U6IDEsIHBlclBhZ2U6IDI1LCBsYXN0UGFnZTogMSB9O1xuICAgIHRoaXMuaW5pdGlhbGl6ZURhdGEoKTtcbiAgfVxuXG5cbiAgbmdPbkRlc3Ryb3koKSB7XG4gICAgLy8gVW50aWwgZGVzdHJveWVkIHVzZXMgaXRcbiAgfVxuXG59XG4iLCI8ZGl2IGNsYXNzPVwibWF0LXR5cG9ncmFwaHkgbS00XCI+XG4gICAgPGRpdiBmeExheW91dD1cInJvd1wiIGZ4TGF5b3V0QWxpZ249XCJzdGFydCBjZW50ZXJcIj5cbiAgICAgICAgPGFwcC10ZWNobGlmeS1ub3RpZmljYXRpb24tc3Vic2NyaWJlci1saXN0LWZpbHRlciAodmFsdWVDaGFuZ2UpPVwiZmlsdGVyQ2hhbmdlKCRldmVudClcIiBbc2hvd09ubHlUeXBlXT1cInRydWVcIj5cbiAgICAgICAgPC9hcHAtdGVjaGxpZnktbm90aWZpY2F0aW9uLXN1YnNjcmliZXItbGlzdC1maWx0ZXI+XG4gICAgICAgIDxkaXYgY2xhc3M9XCJtbC0yXCI+XG4gICAgICAgICAgICA8YnV0dG9uIG1hdC1yYWlzZWQtYnV0dG9uIGNvbG9yPVwicHJpbWFyeVwiIHR5cGU9XCJidXR0b25cIiAoY2xpY2spPVwiYWRkVGVjaGxpZnlOb3RpZmljYXRpb25TdWJzY3JpYmVyKClcIj4rXG4gICAgICAgICAgICAgICAgU3Vic2NyaXB0aW9uPC9idXR0b24+XG4gICAgICAgIDwvZGl2PlxuICAgICAgICA8c3BhbiBmeEZsZXg+PC9zcGFuPlxuICAgICAgICA8bWF0LWZvcm0tZmllbGQgYXBwZWFyYW5jZT1cIm91dGxpbmVcIiBjbGFzcz1cIm5vLXBhZGRpbmdcIj5cbiAgICAgICAgICAgIDxtYXQtbGFiZWw+Q29sdW1uczwvbWF0LWxhYmVsPlxuICAgICAgICAgICAgPG1hdC1zZWxlY3QgW2Zvcm1Db250cm9sXT1cImRpc3BsYXlDb2x1bW5zXCIgbXVsdGlwbGUgKHNlbGVjdGlvbkNoYW5nZSk9XCJjb2x1bW5zQ2hhbmdlKClcIj5cbiAgICAgICAgICAgICAgICA8bWF0LW9wdGlvbiAqbmdGb3I9XCJsZXQgY29sdW1uIG9mIGF2YWlsYWJsZURpc3BsYXlDb2x1bW5zXCIgW3ZhbHVlXT1cImNvbHVtbi52YWx1ZVwiPnt7Y29sdW1uLm5hbWV9fVxuICAgICAgICAgICAgICAgIDwvbWF0LW9wdGlvbj5cbiAgICAgICAgICAgIDwvbWF0LXNlbGVjdD5cbiAgICAgICAgPC9tYXQtZm9ybS1maWVsZD5cbiAgICA8L2Rpdj5cblxuXG5cbiAgICA8c2VjdGlvbj5cbiAgICAgICAgPGRpdiBpbmZpbml0ZVNjcm9sbCBbaW5maW5pdGVTY3JvbGxEaXN0YW5jZV09XCIyXCIgW2luZmluaXRlU2Nyb2xsVGhyb3R0bGVdPVwiNTBcIiAoc2Nyb2xsZWQpPVwib25TY3JvbGwoKVwiXG4gICAgICAgICAgICBbZnJvbVJvb3RdPVwidHJ1ZVwiIFtpbmZpbml0ZVNjcm9sbENvbnRhaW5lcl09XCJyb290U2Nyb2xsQ29udGFpbmVyXCI+XG4gICAgICAgICAgICA8dGFibGUgbWF0LXRhYmxlIFtkYXRhU291cmNlXT1cInN1YnNjcmliZXJMaXN0XCIgbWF0U29ydCBjbGFzcz1cInctMTAwIG10LTFcIiBtdWx0aVRlbXBsYXRlRGF0YVJvd3NcbiAgICAgICAgICAgICAgICBpZD1cInRlY2hsaWZ5LW5vdGlmaWNhdGlvbi1zdWJzY3JpYmVyLXRhYmxlXCIgYXJpYS1kZXNjcmliZWRieT1cIk5vdGlmaWNhdGlvbiBTdWJzY3JpYmVyIExpc3RcIj5cblxuICAgICAgICAgICAgICAgIDwhLS0gSW5kZXggQ29sdW1uIC0tPlxuICAgICAgICAgICAgICAgIDxuZy1jb250YWluZXIgbWF0Q29sdW1uRGVmPVwiaW5kZXhcIj5cbiAgICAgICAgICAgICAgICAgICAgPHRoIG1hdC1oZWFkZXItY2VsbCAqbWF0SGVhZGVyQ2VsbERlZj4gIyA8L3RoPlxuICAgICAgICAgICAgICAgICAgICA8dGQgbWF0LWNlbGwgKm1hdENlbGxEZWY9XCJsZXQgc3Vic2NyaWJlcjsgbGV0IGkgPSBkYXRhSW5kZXhcIj4ge3sgaSsxIH19IDwvdGQ+XG4gICAgICAgICAgICAgICAgPC9uZy1jb250YWluZXI+XG4gICAgICAgICAgICAgICAgPG5nLWNvbnRhaW5lciBtYXRDb2x1bW5EZWY9XCJzdWJzY3JpYmVyXCI+XG4gICAgICAgICAgICAgICAgICAgIDx0aCBtYXQtaGVhZGVyLWNlbGwgKm1hdEhlYWRlckNlbGxEZWYgbWF0LXNvcnQtaGVhZGVyPiBTdWJzY3JpYmVyIDwvdGg+XG4gICAgICAgICAgICAgICAgICAgIDx0ZCBtYXQtY2VsbCAqbWF0Q2VsbERlZj1cImxldCBzdWJzY3JpYmVyO1wiPiB7eyBzdWJzY3JpYmVyPy5zdWJzY3JpYmVyX2Rpc3BsYXlfbmFtZSB9fSA8L3RkPlxuICAgICAgICAgICAgICAgIDwvbmctY29udGFpbmVyPlxuICAgICAgICAgICAgICAgIDxuZy1jb250YWluZXIgbWF0Q29sdW1uRGVmPVwiZW50aXR5LnRpdGxlXCI+XG4gICAgICAgICAgICAgICAgICAgIDx0aCBtYXQtaGVhZGVyLWNlbGwgKm1hdEhlYWRlckNlbGxEZWYgbWF0LXNvcnQtaGVhZGVyPiBFbnRpdHkgPC90aD5cbiAgICAgICAgICAgICAgICAgICAgPHRkIG1hdC1jZWxsICptYXRDZWxsRGVmPVwibGV0IHN1YnNjcmliZXI7XCI+IHt7IHN1YnNjcmliZXI/LmVudGl0eT8udGl0bGUgfX0gPC90ZD5cbiAgICAgICAgICAgICAgICA8L25nLWNvbnRhaW5lcj5cblxuICAgICAgICAgICAgICAgIDxuZy1jb250YWluZXIgbWF0Q29sdW1uRGVmPVwidHlwZS50aXRsZVwiPlxuICAgICAgICAgICAgICAgICAgICA8dGggbWF0LWhlYWRlci1jZWxsICptYXRIZWFkZXJDZWxsRGVmPiBOb3RpZmljYXRpb24gPC90aD5cbiAgICAgICAgICAgICAgICAgICAgPHRkIG1hdC1jZWxsICptYXRDZWxsRGVmPVwibGV0IHN1YnNjcmliZXI7XCI+IHt7IHN1YnNjcmliZXI/LnR5cGU/LnRpdGxlIH19IDwvdGQ+XG4gICAgICAgICAgICAgICAgPC9uZy1jb250YWluZXI+XG5cbiAgICAgICAgICAgICAgICA8bmctY29udGFpbmVyIG1hdENvbHVtbkRlZj1cImNyZWF0b3IubmFtZVwiPlxuICAgICAgICAgICAgICAgICAgICA8dGggbWF0LWhlYWRlci1jZWxsICptYXRIZWFkZXJDZWxsRGVmIG1hdC1zb3J0LWhlYWRlcj4gQ3JlYXRvcjwvdGg+XG4gICAgICAgICAgICAgICAgICAgIDx0ZCBtYXQtY2VsbCAqbWF0Q2VsbERlZj1cImxldCBzdWJzY3JpYmVyO1wiPlxuICAgICAgICAgICAgICAgICAgICAgICAge3tzdWJzY3JpYmVyPy5jcmVhdG9yPy5uYW1lIH19XG4gICAgICAgICAgICAgICAgICAgIDwvdGQ+XG4gICAgICAgICAgICAgICAgPC9uZy1jb250YWluZXI+XG5cbiAgICAgICAgICAgICAgICA8bmctY29udGFpbmVyIG1hdENvbHVtbkRlZj1cImNyZWF0ZWRfYXRcIj5cbiAgICAgICAgICAgICAgICAgICAgPHRoIG1hdC1oZWFkZXItY2VsbCAqbWF0SGVhZGVyQ2VsbERlZiBtYXQtc29ydC1oZWFkZXI+IENyZWF0ZWQgT248L3RoPlxuICAgICAgICAgICAgICAgICAgICA8dGQgbWF0LWNlbGwgKm1hdENlbGxEZWY9XCJsZXQgc3Vic2NyaWJlcjtcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgIHt7c3Vic2NyaWJlcj8uY3JlYXRlZF9hdCB8IGRhdGU6J21lZGl1bScgfX1cbiAgICAgICAgICAgICAgICAgICAgPC90ZD5cbiAgICAgICAgICAgICAgICA8L25nLWNvbnRhaW5lcj5cblxuICAgICAgICAgICAgICAgIDwhLS0gQWN0aW9ucyBDb2x1bW4gLS0+XG4gICAgICAgICAgICAgICAgPG5nLWNvbnRhaW5lciBtYXRDb2x1bW5EZWY9XCJhY3Rpb25zXCI+XG4gICAgICAgICAgICAgICAgICAgIDx0aCBtYXQtaGVhZGVyLWNlbGwgKm1hdEhlYWRlckNlbGxEZWY+IEFjdGlvbnMgPC90aD5cbiAgICAgICAgICAgICAgICAgICAgPHRkIG1hdC1jZWxsICptYXRDZWxsRGVmPVwibGV0IHN1YnNjcmliZXJcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxidXR0b24gdHlwZT1cImJ1dHRvblwiIG1hdC1pY29uLWJ1dHRvblxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIChjbGljayk9XCJkZWxldGVUZWNobGlmeU5vdGlmaWNhdGlvblN1YnNjcmliZXIoJGV2ZW50LHN1YnNjcmliZXIpXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPG1hdC1pY29uPmRlbGV0ZTwvbWF0LWljb24+XG4gICAgICAgICAgICAgICAgICAgICAgICA8L2J1dHRvbj5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxidXR0b24gdHlwZT1cImJ1dHRvblwiIG1hdC1pY29uLWJ1dHRvblxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIChjbGljayk9XCJlZGl0VGVjaGxpZnlOb3RpZmljYXRpb25TdWJzY3JpYmVyKCRldmVudCxzdWJzY3JpYmVyKVwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxtYXQtaWNvbj5lZGl0PC9tYXQtaWNvbj5cbiAgICAgICAgICAgICAgICAgICAgICAgIDwvYnV0dG9uPlxuICAgICAgICAgICAgICAgICAgICA8L3RkPlxuICAgICAgICAgICAgICAgIDwvbmctY29udGFpbmVyPlxuICAgICAgICAgICAgICAgIDx0ciBtYXQtaGVhZGVyLXJvdyAqbWF0SGVhZGVyUm93RGVmPVwiZGlzcGxheWVkQ29sdW1ucztcIj48L3RyPlxuICAgICAgICAgICAgICAgIDx0ciBtYXQtcm93ICptYXRSb3dEZWY9XCJsZXQgcm93OyBjb2x1bW5zOiBkaXNwbGF5ZWRDb2x1bW5zO1wiPjwvdHI+XG4gICAgICAgICAgICA8L3RhYmxlPlxuICAgICAgICA8L2Rpdj5cblxuICAgIDwvc2VjdGlvbj5cbjwvZGl2PlxuIl19
180
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGVjaGxpZnktbm90aWZpY2F0aW9uLXN1YnNjcmliZXItbGlzdC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uZ3gtdGVjaGxpZnktY29yZS9zcmMvbGliL3RlY2hsaWZ5LW5vdGlmaWNhdGlvbnMvdGVjaGxpZnktbm90aWZpY2F0aW9uLXN1YnNjcmliZXIvdGVjaGxpZnktbm90aWZpY2F0aW9uLXN1YnNjcmliZXItbGlzdC90ZWNobGlmeS1ub3RpZmljYXRpb24tc3Vic2NyaWJlci1saXN0LmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25neC10ZWNobGlmeS1jb3JlL3NyYy9saWIvdGVjaGxpZnktbm90aWZpY2F0aW9ucy90ZWNobGlmeS1ub3RpZmljYXRpb24tc3Vic2NyaWJlci90ZWNobGlmeS1ub3RpZmljYXRpb24tc3Vic2NyaWJlci1saXN0L3RlY2hsaWZ5LW5vdGlmaWNhdGlvbi1zdWJzY3JpYmVyLWxpc3QuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxFQUFVLFNBQVMsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUdyRSxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUNwRCxPQUFPLEVBQUUsT0FBTyxFQUFFLE1BQU0sd0JBQXdCLENBQUM7QUFDakQsT0FBTyxFQUFFLFlBQVksRUFBRSxjQUFjLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQztBQUNyRSxPQUFPLEVBQUUsMkNBQTJDLEVBQUUsTUFBTSwwRkFBMEYsQ0FBQztBQUV2SixPQUFPLEVBQWMsTUFBTSxFQUFDLE1BQU0sZUFBZSxDQUFDO0FBRWxELE9BQU8sRUFBYyxvQkFBb0IsRUFBQyxNQUFNLHVCQUF1QixDQUFDOzs7Ozs7Ozs7Ozs7Ozs7O0FBRXhFLE1BQU0sR0FBRyxHQUFH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Q0FBQyxTQUFTLENBQUMsSUFBSSxJQUFJLENBQUMsQ0FBQztZQUN6QixJQUFJLENBQUMsY0FBYyxFQUFFLENBQUM7UUFDeEIsQ0FBQztJQUNILENBQUM7SUFFRCxVQUFVLENBQUMsS0FBVTtRQUNuQixJQUFJLEtBQUssQ0FBQyxTQUFTLEVBQUUsQ0FBQztZQUNwQixJQUFJLENBQUMsT0FBTyxDQUFDLE9BQU8sR0FBRyxHQUFHLEtBQUssQ0FBQyxNQUFNLElBQUksS0FBSyxDQUFDLFNBQVMsRUFBRSxDQUFDO1lBQzVELElBQUksQ0FBQyxNQUFNLEVBQUUsQ0FBQztRQUNoQixDQUFDO0lBQ0gsQ0FBQztJQUVELE1BQU07UUFDSixJQUFJLENBQUMsY0FBYyxHQUFHLEVBQUUsQ0FBQztRQUN6QixJQUFJLENBQUMsU0FBUyxHQUFHLEVBQUUsSUFBSSxFQUFFLENBQUMsRUFBRSxPQUFPLEVBQUUsRUFBRSxFQUFFLFFBQVEsRUFBRSxDQUFDLEVBQUUsQ0FBQztRQUN2RCxJQUFJLENBQUMsY0FBYyxFQUFFLENBQUM7SUFDeEIsQ0FBQztJQUdELFdBQVc7UUFDVCwwQkFBMEI7SUFDNUIsQ0FBQzsrR0FwS1UsMkNBQTJDLDhGQTJCNUMsYUFBYTttR0EzQlosMkNBQTJDLHVIQVUzQyxPQUFPLDhEQzlCcEIscXNJQWdGQTs7QUQ1RGEsMkNBQTJDO0lBTnZELFlBQVksRUFBRTtHQU1GLDJDQUEyQyxDQXNLdkQ7OzRGQXRLWSwyQ0FBMkM7a0JBTHZELFNBQVM7K0JBQ0UsMkNBQTJDOzswQkErQmxELE1BQU07MkJBQUMsYUFBYTt5Q0FqQmUsSUFBSTtzQkFBekMsU0FBUzt1QkFBQyxPQUFPLEVBQUUsRUFBRSxNQUFNLEVBQUUsSUFBSSxFQUFFIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBJbmplY3QsIE9uSW5pdCwgVmlld0NoaWxkIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5cbmltcG9ydCB7IE1hdERpYWxvZyB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2RpYWxvZyc7XG5pbXBvcnQgeyBVbnR5cGVkRm9ybUNvbnRyb2wgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5pbXBvcnQgeyBNYXRTb3J0IH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvc29ydCc7XG5pbXBvcnQgeyBVbnRpbERlc3Ryb3ksIHVudGlsRGVzdHJveWVkIH0gZnJvbSAnQG5nbmVhdC91bnRpbC1kZXN0cm95JztcbmltcG9ydCB7IFRlY2hsaWZ5Tm90aWZpY2F0aW9uU3Vic2NyaWJlckZvcm1Db21wb25lbnQgfSBmcm9tICcuLi90ZWNobGlmeS1ub3RpZmljYXRpb24tc3Vic2NyaWJlci1mb3JtL3RlY2hsaWZ5LW5vdGlmaWNhdGlvbi1zdWJzY3JpYmVyLWZvcm0uY29tcG9uZW50JztcbmltcG9ydCB7IExvY2F0aW9uIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7SHR0cFNlcnZpY2UsIExvZ2dlcn0gZnJvbSAnLi4vLi4vLi4vY29yZSc7XG5pbXBvcnQgeyBQYWdlRXZlbnQgfSBmcm9tICcuLi8uLi8uLi9kYXRhLXRhYmxlJztcbmltcG9ydCB7QWN0aW9uUG9wdXAsIEFjdGlvblBvcHVwQ29tcG9uZW50fSBmcm9tICcuLi8uLi8uLi9hY3Rpb24tcG9wdXAnO1xuXG5jb25zdCBsb2cgPSBuZXcgTG9nZ2VyKCdUZWNobGlmeU5vdGlmaWNhdGlvblN1YnNjcmliZXIgbGlzdCcpO1xuXG5AVW50aWxEZXN0cm95KClcbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2FwcC10ZWNobGlmeS1ub3RpZmljYXRpb24tc3Vic2NyaWJlci1saXN0JyxcbiAgdGVtcGxhdGVVcmw6ICcuL3RlY2hsaWZ5LW5vdGlmaWNhdGlvbi1zdWJzY3JpYmVyLWxpc3QuY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi90ZWNobGlmeS1ub3RpZmljYXRpb24tc3Vic2NyaWJlci1saXN0LmNvbXBvbmVudC5zY3NzJ11cbn0pXG5leHBvcnQgY2xhc3MgVGVjaGxpZnlOb3RpZmljYXRpb25TdWJzY3JpYmVyTGlzdENvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCB7XG5cbiAgc3Vic2NyaWJlckxpc3Q6IGFueVtdID0gW107XG4gIHBhZ2VFdmVudDogUGFnZUV2ZW50ID0geyBwYWdlOiAxLCBwZXJQYWdlOiAyNSwgbGFzdFBhZ2U6IDEgfTtcbiAgZmlsdGVyczogYW55ID0ge1xuICAgIHNvcnRfYnk6ICdjcmVhdGVkX2F0fGRlc2MnLFxuICAgIHJlbGF0aW9uczogJ3R5cGUsZW50aXR5J1xuICB9O1xuICByb290U2Nyb2xsQ29udGFpbmVyOiBzdHJpbmc7XG5cbiAgQFZpZXdDaGlsZChNYXRTb3J0LCB7IHN0YXRpYzogdHJ1ZSB9KSBzb3J0OiBNYXRTb3J0O1xuXG4gIGRpc3BsYXlDb2x1bW5zOiBVbnR5cGVkRm9ybUNvbnRyb2wgPSBuZXcgVW50eXBlZEZvcm1Db250cm9sKFsnaW5kZXgnLCAnc3Vic2NyaWJlcicsICdlbnRpdHkudGl0bGUnLCAndHlwZS50aXRsZScsICdjcmVhdG9yLm5hbWUnLCAnY3JlYXRlZF9hdCcsICdhY3Rpb25zJ10pO1xuICBkaXNwbGF5ZWRDb2x1bW5zOiBhbnlbXSA9IFtdO1xuICBhdmFpbGFibGVEaXNwbGF5Q29sdW1uczogYW55W10gPSBbXG4gICAgeyBvcmRlcjogMSwgdmFsdWU6ICdpbmRleCcsIG5hbWU6ICdJbmRleCcgfSxcbiAgICB7IG9yZGVyOiAyLCB2YWx1ZTogJ3N1YnNjcmliZXInLCBuYW1lOiAnU3Vic2NyaWJlcicgfSxcbiAgICB7IG9yZGVyOiAzLCB2YWx1ZTogJ2VudGl0eS50aXRsZScsIG5hbWU6ICdFbnRpdHknIH0sXG4gICAgeyBvcmRlcjogNCwgdmFsdWU6ICd0eXBlLnRpdGxlJywgbmFtZTogJ1R5cGUnIH0sXG4gICAgeyBvcmRlcjogNSwgdmFsdWU6ICdjcmVhdG9yLm5hbWUnLCBuYW1lOiAnQ3JlYXRvcicgfSxcbiAgICB7IG9yZGVyOiA2LCB2YWx1ZTogJ2FjdGlvbnMnLCBuYW1lOiAnQWN0aW9ucycgfVxuICBdO1xuXG4gIGNvbnN0cnVjdG9yKFxuICAgIHByaXZhdGUgZGlhbG9nOiBNYXREaWFsb2csXG4gICAgcHJpdmF0ZSBodHRwOiBIdHRwU2VydmljZSxcbiAgICBwcml2YXRlIGxvY2F0aW9uOiBMb2NhdGlvbixcbiAgICBASW5qZWN0KCdlbnZpcm9ubWVudCcpIHByaXZhdGUgZW52aXJvbm1lbnQ6IGFueSxcbiAgKSB7XG4gICAgY29uc3Qgcm91dGVTdGF0ZSA9IGhpc3Rvcnkuc3RhdGU7XG4gICAgaWYgKCEocm91dGVTdGF0ZT8uZW50aXR5X2lkICYmIHJvdXRlU3RhdGU/LnN1YnNjcmliZXJfaWQpKSB7XG4gICAgICB0aGlzLmxvY2F0aW9uLmJhY2soKTtcbiAgICB9XG4gICAgdGhpcy5maWx0ZXJzLmVudGl0eV9pZCA9IHJvdXRlU3RhdGUuZW50aXR5X2lkO1xuICAgIHRoaXMuZmlsdGVycy5zdWJzY3JpYmVyX2lkID0gcm91dGVTdGF0ZS5zdWJzY3JpYmVyX2lkO1xuXG4gIH1cblxuICBuZ09uSW5pdCgpIHtcbiAgICB0aGlzLnJvb3RTY3JvbGxDb250YWluZXIgPSB0aGlzLmVudmlyb25tZW50Py5yb290U2Nyb2xsQ29udGFpbmVyIHx8ICdib2R5JztcbiAgICB0aGlzLmRpc3BsYXllZENvbHVtbnMgPSB0aGlzLmRpc3BsYXlDb2x1bW5zLnZhbHVlO1xuICAgIHRoaXMuaW5pdGlhbGl6ZURhdGEoKTtcblxuICAgIGlmICh0aGlzLnNvcnQpIHtcbiAgICAgIHRoaXMuc29ydC5zb3J0Q2hhbmdlLnBpcGUodW50aWxEZXN0cm95ZWQodGhpcykpXG4gICAgICAgIC5zdWJzY3JpYmUoKHZhbHVlOiBhbnkpID0+IHtcbiAgICAgICAgICB0aGlzLmNoYW5nZVNvcnQodmFsdWUpO1xuICAgICAgICB9KTtcbiAgICB9XG4gIH1cblxuICBnZXQgc2VsZWN0ZWRDb2x1bW5zKCk6IHN0cmluZ1tdIHtcbiAgICByZXR1cm4gdGhpcy5hdmFpbGFibGVEaXNwbGF5Q29sdW1uc1xuICAgICAgLmZpbHRlcihjb2wgPT4gKHRoaXMuZGlzcGxheUNvbHVtbnMudmFsdWUgYXMgYW55KS5zb21lKCh4OiBhbnkpID0+IHggPT09IGNvbC52YWx1ZSkpXG4gICAgICAuc29ydCgoYSwgYikgPT4gKGEub3JkZXIgPiBiLm9yZGVyKSA/IDEgOiAoKGIub3JkZXIgPiBhLm9yZGVyKSA/IC0xIDogMCkpXG4gICAgICAubWFwKGNvbCA9PiBjb2wudmFsdWUpO1xuICB9XG5cbiAgY29sdW1uc0NoYW5nZSgpIHtcbiAgICB0aGlzLmRpc3BsYXllZENvbHVtbnMgPSB0aGlzLnNlbGVjdGVkQ29sdW1ucztcbiAgfVxuXG5cbiAgaW5pdGlhbGl6ZURhdGEoKSB7XG4gICAgdGhpcy5odHRwLmdldChgYXBpL25vdGlmaWNhdGlvbi1zdWJzY3JpcHRpb25zYCwgeyBwYXJhbXM6IHsgLi4udGhpcy5maWx0ZXJzLCAuLi50aGlzLnBhZ2VFdmVudCB9IH0pXG4gICAgICAucGlwZSh1bnRpbERlc3Ryb3llZCh0aGlzKSlcbiAgICAgIC5zdWJzY3JpYmUoKHJlc3VsdDogYW55KSA9PiB7XG4gICAgICAgIHRoaXMuc3Vic2NyaWJlckxpc3QgPSB0aGlzLnN1YnNjcmliZXJMaXN0LmNvbmNhdChyZXN1bHQuZGF0YSk7XG4gICAgICAgIHRoaXMucGFnZUV2ZW50LnBhZ2UgPSByZXN1bHQuY3VycmVudF9wYWdlO1xuICAgICAgICB0aGlzLnBhZ2VFdmVudC5sYXN0UGFnZSA9IHJlc3VsdC5sYXN0X3BhZ2U7XG4gICAgICB9KTtcbiAgfVxuXG4gIGZpbHRlckNoYW5nZShldmVudDogYW55KSB7XG4gICAgdGhpcy5maWx0ZXJzID0ge1xuICAgICAgLi4udGhpcy5maWx0ZXJzLFxuICAgICAgLi4uZXZlbnRcbiAgICB9O1xuICAgIHRoaXMucmVsb2FkKCk7XG4gIH1cblxuICBhZGRUZWNobGlmeU5vdGlmaWNhdGlvblN1YnNjcmliZXIoKSB7XG4gICAgY29uc3QgZGlhbG9nUmVmID0gdGhpcy5kaWFsb2cub3BlbihUZWNobGlmeU5vdGlmaWNhdGlvblN1YnNjcmliZXJGb3JtQ29tcG9uZW50LCB7XG4gICAgICB3aWR0aDogJzQwMHB4JyxcbiAgICAgIGF1dG9Gb2N1czogZmFsc2UsXG4gICAgICBkYXRhOiB7XG4gICAgICAgIGVudGl0eV9pZDogdGhpcy5maWx0ZXJzLmVudGl0eV9pZCA/PyAnJyxcbiAgICAgICAgc3Vic2NyaWJlcl9pZDogdGhpcy5maWx0ZXJzLnN1YnNjcmliZXJfaWQgPz8gJycsXG4gICAgICB9IC8vIEFueSBkYXRhIHBhc3NlZCBoZXJlIHdpbGwgYmUgaW5qZWN0ZWQgaW50byB0aGUgbW9kZWxcbiAgICB9KTtcblxuICAgIGRpYWxvZ1JlZi5hZnRlckNsb3NlZCgpLnN1YnNjcmliZSgocmVzdWx0OiBhbnkpID0+IHtcbiAgICAgIGlmIChyZXN1bHQpIHtcbiAgICAgICAgbG9nLmRlYnVnKHJlc3VsdCk7XG4gICAgICAgIHRoaXMucmVsb2FkKCk7XG4gICAgICB9XG4gICAgfSk7XG4gIH1cblxuXG4gIGVkaXRUZWNobGlmeU5vdGlmaWNhdGlvblN1YnNjcmliZXIoZXZlbnQ6IGFueSwgc3Vic2NyaWJlcjogYW55KSB7XG4gICAgZXZlbnQuc3RvcFByb3BhZ2F0aW9uKCk7XG4gICAgY29uc3QgZGlhbG9nUmVmID0gdGhpcy5kaWFsb2cub3BlbihUZWNobGlmeU5vdGlmaWNhdGlvblN1YnNjcmliZXJGb3JtQ29tcG9uZW50LCB7XG4gICAgICB3aWR0aDogJzQwMHB4JyxcbiAgICAgIGF1dG9Gb2N1czogZmFsc2UsXG4gICAgICBkYXRhOiB7XG4gICAgICAgIHN1YnNjcmliZXJcbiAgICAgIH0gLy8gQW55IGRhdGEgcGFzc2VkIGhlcmUgd2lsbCBiZSBpbmplY3RlZCBpbnRvIHRoZSBtb2RlbFxuICAgIH0pO1xuXG4gICAgZGlhbG9nUmVmLmFmdGVyQ2xvc2VkKCkuc3Vic2NyaWJlKChyZXN1bHQ6IGFueSkgPT4ge1xuICAgICAgaWYgKHJlc3VsdCkge1xuICAgICAgICBsb2cuZGVidWcocmVzdWx0KTtcbiAgICAgICAgdGhpcy5yZWxvYWQoKTtcbiAgICAgIH1cbiAgICB9KTtcbiAgfVxuXG4gIGRlbGV0ZVRlY2hsaWZ5Tm90aWZpY2F0aW9uU3Vic2NyaWJlcihldmVudDogYW55LCBzdWJzY3JpYmVyOiBhbnkpIHtcbiAgICBldmVudC5zdG9wUHJvcGFnYXRpb24oKTtcbiAgICBjb25zdCBkaWFsb2dSZWYgPSB0aGlzLmRpYWxvZy5vcGVuKEFjdGlvblBvcHVwQ29tcG9uZW50LCB7XG4gICAgICB3aWR0aDogJzQwMHB4JyxcbiAgICAgIGRhdGE6IHtcbiAgICAgICAgdGl0bGU6ICdEZWxldGUgU3Vic2NyaXB0aW9uJyxcbiAgICAgICAgbWVzc2FnZTogYEFyZSB5b3Ugc3VyZSB0byBwcm9jZWVkIGRlbGV0ZSB0aGUgc3Vic2NyaWJlciAke3N1YnNjcmliZXIubmFtZX0/YFxuICAgICAgfSBhcyBBY3Rpb25Qb3B1cCxcbiAgICAgIGF1dG9Gb2N1czogZmFsc2VcbiAgICB9KTtcblxuICAgIGRpYWxvZ1JlZi5hZnRlckNsb3NlZCgpLnN1YnNjcmliZShyZXN1bHQgPT4ge1xuICAgICAgaWYgKHJlc3VsdCkge1xuICAgICAgICAvLyBBY3Rpb24gY29uZmlybWVkXG4gICAgICAgIHRoaXMuaHR0cC5kZWxldGUoYGFwaS9ub3RpZmljYXRpb24tc3Vic2NyaXB0aW9ucy8ke3N1YnNjcmliZXI/LmlkfWApXG4gICAgICAgICAgLnBpcGUodW50aWxEZXN0cm95ZWQodGhpcykpXG4gICAgICAgICAgLnN1YnNjcmliZSgoKSA9PiB7XG4gICAgICAgICAgICB0aGlzLnN1YnNjcmliZXJMaXN0ID0gdGhpcy5zdWJzY3JpYmVyTGlzdC5maWx0ZXIoeCA9PiB4LmlkICE9PSBzdWJzY3JpYmVyLmlkKTtcbiAgICAgICAgICB9KTtcbiAgICAgIH1cbiAgICB9KTtcbiAgfVxuXG4gIG9uU2Nyb2xsKCkge1xuICAgIGlmICh0aGlzLnBhZ2VFdmVudC5sYXN0UGFnZSA+IHRoaXMucGFnZUV2ZW50LnBhZ2UpIHtcbiAgICAgIHRoaXMucGFnZUV2ZW50LnBhZ2UgKz0gMTtcbiAgICAgIHRoaXMuaW5pdGlhbGl6ZURhdGEoKTtcbiAgICB9XG4gIH1cblxuICBjaGFuZ2VTb3J0KGV2ZW50OiBhbnkpIHtcbiAgICBpZiAoZXZlbnQuZGlyZWN0aW9uKSB7XG4gICAgICB0aGlzLmZpbHRlcnMuc29ydF9ieSA9IGAke2V2ZW50LmFjdGl2ZX18JHtldmVudC5kaXJlY3Rpb259YDtcbiAgICAgIHRoaXMucmVsb2FkKCk7XG4gICAgfVxuICB9XG5cbiAgcmVsb2FkKCkge1xuICAgIHRoaXMuc3Vic2NyaWJlckxpc3QgPSBbXTtcbiAgICB0aGlzLnBhZ2VFdmVudCA9IHsgcGFnZTogMSwgcGVyUGFnZTogMjUsIGxhc3RQYWdlOiAxIH07XG4gICAgdGhpcy5pbml0aWFsaXplRGF0YSgpO1xuICB9XG5cblxuICBuZ09uRGVzdHJveSgpIHtcbiAgICAvLyBVbnRpbCBkZXN0cm95ZWQgdXNlcyBpdFxuICB9XG5cbn1cbiIsIjxkaXYgY2xhc3M9XCJtYXQtdHlwb2dyYXBoeSBtLTRcIj5cbiAgICA8ZGl2IGZ4TGF5b3V0PVwicm93XCIgZnhMYXlvdXRBbGlnbj1cInN0YXJ0IGNlbnRlclwiPlxuICAgICAgICA8YXBwLXRlY2hsaWZ5LW5vdGlmaWNhdGlvbi1zdWJzY3JpYmVyLWxpc3QtZmlsdGVyICh2YWx1ZUNoYW5nZSk9XCJmaWx0ZXJDaGFuZ2UoJGV2ZW50KVwiIFtzaG93T25seVR5cGVdPVwidHJ1ZVwiPlxuICAgICAgICA8L2FwcC10ZWNobGlmeS1ub3RpZmljYXRpb24tc3Vic2NyaWJlci1saXN0LWZpbHRlcj5cbiAgICAgICAgPGRpdiBjbGFzcz1cIm1sLTJcIj5cbiAgICAgICAgICAgIDxidXR0b24gbWF0LXJhaXNlZC1idXR0b24gY29sb3I9XCJwcmltYXJ5XCIgdHlwZT1cImJ1dHRvblwiIChjbGljayk9XCJhZGRUZWNobGlmeU5vdGlmaWNhdGlvblN1YnNjcmliZXIoKVwiPitcbiAgICAgICAgICAgICAgICBTdWJzY3JpcHRpb248L2J1dHRvbj5cbiAgICAgICAgPC9kaXY+XG4gICAgICAgIDxzcGFuIGZ4RmxleD48L3NwYW4+XG4gICAgICAgIDxtYXQtZm9ybS1maWVsZCBhcHBlYXJhbmNlPVwib3V0bGluZVwiIGNsYXNzPVwibm8tcGFkZGluZ1wiPlxuICAgICAgICAgICAgPG1hdC1sYWJlbD5Db2x1bW5zPC9tYXQtbGFiZWw+XG4gICAgICAgICAgICA8bWF0LXNlbGVjdCBbZm9ybUNvbnRyb2xdPVwiZGlzcGxheUNvbHVtbnNcIiBtdWx0aXBsZSAoc2VsZWN0aW9uQ2hhbmdlKT1cImNvbHVtbnNDaGFuZ2UoKVwiPlxuICAgICAgICAgICAgICAgIDxtYXQtb3B0aW9uICpuZ0Zvcj1cImxldCBjb2x1bW4gb2YgYXZhaWxhYmxlRGlzcGxheUNvbHVtbnNcIiBbdmFsdWVdPVwiY29sdW1uLnZhbHVlXCI+e3tjb2x1bW4ubmFtZX19XG4gICAgICAgICAgICAgICAgPC9tYXQtb3B0aW9uPlxuICAgICAgICAgICAgPC9tYXQtc2VsZWN0PlxuICAgICAgICA8L21hdC1mb3JtLWZpZWxkPlxuICAgIDwvZGl2PlxuXG5cblxuICAgIDxzZWN0aW9uPlxuICAgICAgICA8ZGl2IGluZmluaXRlU2Nyb2xsIFtpbmZpbml0ZVNjcm9sbERpc3RhbmNlXT1cIjJcIiBbaW5maW5pdGVTY3JvbGxUaHJvdHRsZV09XCI1MFwiIChzY3JvbGxlZCk9XCJvblNjcm9sbCgpXCJcbiAgICAgICAgICAgIFtmcm9tUm9vdF09XCJ0cnVlXCIgW2luZmluaXRlU2Nyb2xsQ29udGFpbmVyXT1cInJvb3RTY3JvbGxDb250YWluZXJcIj5cbiAgICAgICAgICAgIDx0YWJsZSBtYXQtdGFibGUgW2RhdGFTb3VyY2VdPVwic3Vic2NyaWJlckxpc3RcIiBtYXRTb3J0IGNsYXNzPVwidy0xMDAgbXQtMVwiIG11bHRpVGVtcGxhdGVEYXRhUm93c1xuICAgICAgICAgICAgICAgIGlkPVwidGVjaGxpZnktbm90aWZpY2F0aW9uLXN1YnNjcmliZXItdGFibGVcIiBhcmlhLWRlc2NyaWJlZGJ5PVwiTm90aWZpY2F0aW9uIFN1YnNjcmliZXIgTGlzdFwiPlxuXG4gICAgICAgICAgICAgICAgPCEtLSBJbmRleCBDb2x1bW4gLS0+XG4gICAgICAgICAgICAgICAgPG5nLWNvbnRhaW5lciBtYXRDb2x1bW5EZWY9XCJpbmRleFwiPlxuICAgICAgICAgICAgICAgICAgICA8dGggbWF0LWhlYWRlci1jZWxsICptYXRIZWFkZXJDZWxsRGVmPiAjIDwvdGg+XG4gICAgICAgICAgICAgICAgICAgIDx0ZCBtYXQtY2VsbCAqbWF0Q2VsbERlZj1cImxldCBzdWJzY3JpYmVyOyBsZXQgaSA9IGRhdGFJbmRleFwiPiB7eyBpKzEgfX0gPC90ZD5cbiAgICAgICAgICAgICAgICA8L25nLWNvbnRhaW5lcj5cbiAgICAgICAgICAgICAgICA8bmctY29udGFpbmVyIG1hdENvbHVtbkRlZj1cInN1YnNjcmliZXJcIj5cbiAgICAgICAgICAgICAgICAgICAgPHRoIG1hdC1oZWFkZXItY2VsbCAqbWF0SGVhZGVyQ2VsbERlZiBtYXQtc29ydC1oZWFkZXI+IFN1YnNjcmliZXIgPC90aD5cbiAgICAgICAgICAgICAgICAgICAgPHRkIG1hdC1jZWxsICptYXRDZWxsRGVmPVwibGV0IHN1YnNjcmliZXI7XCI+IHt7IHN1YnNjcmliZXI/LnN1YnNjcmliZXJfZGlzcGxheV9uYW1lIH19IDwvdGQ+XG4gICAgICAgICAgICAgICAgPC9uZy1jb250YWluZXI+XG4gICAgICAgICAgICAgICAgPG5nLWNvbnRhaW5lciBtYXRDb2x1bW5EZWY9XCJlbnRpdHkudGl0bGVcIj5cbiAgICAgICAgICAgICAgICAgICAgPHRoIG1hdC1oZWFkZXItY2VsbCAqbWF0SGVhZGVyQ2VsbERlZiBtYXQtc29ydC1oZWFkZXI+IEVudGl0eSA8L3RoPlxuICAgICAgICAgICAgICAgICAgICA8dGQgbWF0LWNlbGwgKm1hdENlbGxEZWY9XCJsZXQgc3Vic2NyaWJlcjtcIj4ge3sgc3Vic2NyaWJlcj8uZW50aXR5Py50aXRsZSB9fSA8L3RkPlxuICAgICAgICAgICAgICAgIDwvbmctY29udGFpbmVyPlxuXG4gICAgICAgICAgICAgICAgPG5nLWNvbnRhaW5lciBtYXRDb2x1bW5EZWY9XCJ0eXBlLnRpdGxlXCI+XG4gICAgICAgICAgICAgICAgICAgIDx0aCBtYXQtaGVhZGVyLWNlbGwgKm1hdEhlYWRlckNlbGxEZWY+IE5vdGlmaWNhdGlvbiA8L3RoPlxuICAgICAgICAgICAgICAgICAgICA8dGQgbWF0LWNlbGwgKm1hdENlbGxEZWY9XCJsZXQgc3Vic2NyaWJlcjtcIj4ge3sgc3Vic2NyaWJlcj8udHlwZT8udGl0bGUgfX0gPC90ZD5cbiAgICAgICAgICAgICAgICA8L25nLWNvbnRhaW5lcj5cblxuICAgICAgICAgICAgICAgIDxuZy1jb250YWluZXIgbWF0Q29sdW1uRGVmPVwiY3JlYXRvci5uYW1lXCI+XG4gICAgICAgICAgICAgICAgICAgIDx0aCBtYXQtaGVhZGVyLWNlbGwgKm1hdEhlYWRlckNlbGxEZWYgbWF0LXNvcnQtaGVhZGVyPiBDcmVhdG9yPC90aD5cbiAgICAgICAgICAgICAgICAgICAgPHRkIG1hdC1jZWxsICptYXRDZWxsRGVmPVwibGV0IHN1YnNjcmliZXI7XCI+XG4gICAgICAgICAgICAgICAgICAgICAgICB7e3N1YnNjcmliZXI/LmNyZWF0b3I/Lm5hbWUgfX1cbiAgICAgICAgICAgICAgICAgICAgPC90ZD5cbiAgICAgICAgICAgICAgICA8L25nLWNvbnRhaW5lcj5cblxuICAgICAgICAgICAgICAgIDxuZy1jb250YWluZXIgbWF0Q29sdW1uRGVmPVwiY3JlYXRlZF9hdFwiPlxuICAgICAgICAgICAgICAgICAgICA8dGggbWF0LWhlYWRlci1jZWxsICptYXRIZWFkZXJDZWxsRGVmIG1hdC1zb3J0LWhlYWRlcj4gQ3JlYXRlZCBPbjwvdGg+XG4gICAgICAgICAgICAgICAgICAgIDx0ZCBtYXQtY2VsbCAqbWF0Q2VsbERlZj1cImxldCBzdWJzY3JpYmVyO1wiPlxuICAgICAgICAgICAgICAgICAgICAgICAge3tzdWJzY3JpYmVyPy5jcmVhdGVkX2F0IHwgZGF0ZTonbWVkaXVtJyB9fVxuICAgICAgICAgICAgICAgICAgICA8L3RkPlxuICAgICAgICAgICAgICAgIDwvbmctY29udGFpbmVyPlxuXG4gICAgICAgICAgICAgICAgPCEtLSBBY3Rpb25zIENvbHVtbiAtLT5cbiAgICAgICAgICAgICAgICA8bmctY29udGFpbmVyIG1hdENvbHVtbkRlZj1cImFjdGlvbnNcIj5cbiAgICAgICAgICAgICAgICAgICAgPHRoIG1hdC1oZWFkZXItY2VsbCAqbWF0SGVhZGVyQ2VsbERlZj4gQWN0aW9ucyA8L3RoPlxuICAgICAgICAgICAgICAgICAgICA8dGQgbWF0LWNlbGwgKm1hdENlbGxEZWY9XCJsZXQgc3Vic2NyaWJlclwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgPGJ1dHRvbiB0eXBlPVwiYnV0dG9uXCIgbWF0LWljb24tYnV0dG9uXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgKGNsaWNrKT1cImRlbGV0ZVRlY2hsaWZ5Tm90aWZpY2F0aW9uU3Vic2NyaWJlcigkZXZlbnQsc3Vic2NyaWJlcilcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bWF0LWljb24+ZGVsZXRlPC9tYXQtaWNvbj5cbiAgICAgICAgICAgICAgICAgICAgICAgIDwvYnV0dG9uPlxuICAgICAgICAgICAgICAgICAgICAgICAgPGJ1dHRvbiB0eXBlPVwiYnV0dG9uXCIgbWF0LWljb24tYnV0dG9uXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgKGNsaWNrKT1cImVkaXRUZWNobGlmeU5vdGlmaWNhdGlvblN1YnNjcmliZXIoJGV2ZW50LHN1YnNjcmliZXIpXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPG1hdC1pY29uPmVkaXQ8L21hdC1pY29uPlxuICAgICAgICAgICAgICAgICAgICAgICAgPC9idXR0b24+XG4gICAgICAgICAgICAgICAgICAgIDwvdGQ+XG4gICAgICAgICAgICAgICAgPC9uZy1jb250YWluZXI+XG4gICAgICAgICAgICAgICAgPHRyIG1hdC1oZWFkZXItcm93ICptYXRIZWFkZXJSb3dEZWY9XCJkaXNwbGF5ZWRDb2x1bW5zO1wiPjwvdHI+XG4gICAgICAgICAgICAgICAgPHRyIG1hdC1yb3cgKm1hdFJvd0RlZj1cImxldCByb3c7IGNvbHVtbnM6IGRpc3BsYXllZENvbHVtbnM7XCI+PC90cj5cbiAgICAgICAgICAgIDwvdGFibGU+XG4gICAgICAgIDwvZGl2PlxuXG4gICAgPC9zZWN0aW9uPlxuPC9kaXY+XG4iXX0=
@@ -10,25 +10,25 @@ import { ReactiveFormsModule } from '@angular/forms';
10
10
  import { MaterialModule } from '../../../material.module';
11
11
  import * as i0 from "@angular/core";
12
12
  export class TechlifyNotificationSubscriberListModule {
13
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: TechlifyNotificationSubscriberListModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
14
- static ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "16.2.12", ngImport: i0, type: TechlifyNotificationSubscriberListModule, declarations: [TechlifyNotificationSubscriberListComponent], imports: [CommonModule,
13
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: TechlifyNotificationSubscriberListModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
14
+ static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "18.2.13", ngImport: i0, type: TechlifyNotificationSubscriberListModule, declarations: [TechlifyNotificationSubscriberListComponent], imports: [CommonModule,
15
15
  InfiniteScrollModule,
16
16
  MaterialModule,
17
17
  FlexLayoutModule,
18
18
  ReactiveFormsModule,
19
19
  TechlifyNotificationSubscriberListRoutingModule,
20
20
  TechlifyNotificationSubscriberFormModule,
21
- TechlifyNotificationSubscriberListFilterModule], exports: [TechlifyNotificationSubscriberListComponent] });
22
- static ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: TechlifyNotificationSubscriberListModule, imports: [CommonModule,
21
+ TechlifyNotificationSubscriberListFilterModule], exports: [TechlifyNotificationSubscriberListComponent] }); }
22
+ static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: TechlifyNotificationSubscriberListModule, imports: [CommonModule,
23
23
  InfiniteScrollModule,
24
24
  MaterialModule,
25
25
  FlexLayoutModule,
26
26
  ReactiveFormsModule,
27
27
  TechlifyNotificationSubscriberListRoutingModule,
28
28
  TechlifyNotificationSubscriberFormModule,
29
- TechlifyNotificationSubscriberListFilterModule] });
29
+ TechlifyNotificationSubscriberListFilterModule] }); }
30
30
  }
31
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: TechlifyNotificationSubscriberListModule, decorators: [{
31
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: TechlifyNotificationSubscriberListModule, decorators: [{
32
32
  type: NgModule,
33
33
  args: [{
34
34
  declarations: [TechlifyNotificationSubscriberListComponent],
@@ -45,4 +45,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImpo
45
45
  exports: [TechlifyNotificationSubscriberListComponent]
46
46
  }]
47
47
  }] });
48
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGVjaGxpZnktbm90aWZpY2F0aW9uLXN1YnNjcmliZXItbGlzdC5tb2R1bGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uZ3gtdGVjaGxpZnktY29yZS9zcmMvbGliL3RlY2hsaWZ5LW5vdGlmaWNhdGlvbnMvdGVjaGxpZnktbm90aWZpY2F0aW9uLXN1YnNjcmliZXIvdGVjaGxpZnktbm90aWZpY2F0aW9uLXN1YnNjcmliZXItbGlzdC90ZWNobGlmeS1ub3RpZmljYXRpb24tc3Vic2NyaWJlci1saXN0Lm1vZHVsZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ3pDLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUUvQyxPQUFPLEVBQUUsK0NBQStDLEVBQUUsTUFBTSx3REFBd0QsQ0FBQztBQUN6SCxPQUFPLEVBQUUsMkNBQTJDLEVBQUUsTUFBTSxtREFBbUQsQ0FBQztBQUNoSCxPQUFPLEVBQUUsOENBQThDLEVBQUUsTUFBTSxxR0FBcUcsQ0FBQztBQUNySyxPQUFPLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQUMzRCxPQUFPLEVBQUUsd0NBQXdDLEVBQUUsTUFBTSx1RkFBdUYsQ0FBQztBQUNqSixPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQztBQUN4RCxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUNyRCxPQUFPLEVBQUMsY0FBYyxFQUFDLE1BQU0sMEJBQTBCLENBQUM7O0FBaUJ4RCxNQUFNLE9BQU8sd0NBQXdDO3dHQUF4Qyx3Q0FBd0M7eUdBQXhDLHdDQUF3QyxpQkFicEMsMkNBQTJDLGFBRXhELFlBQVk7WUFDWixvQkFBb0I7WUFDcEIsY0FBYztZQUNkLGdCQUFnQjtZQUNoQixtQkFBbUI7WUFDbkIsK0NBQStDO1lBQy9DLHdDQUF3QztZQUN4Qyw4Q0FBOEMsYUFFdEMsMkNBQTJDO3lHQUUxQyx3Q0FBd0MsWUFYakQsWUFBWTtZQUNaLG9CQUFvQjtZQUNwQixjQUFjO1lBQ2QsZ0JBQWdCO1lBQ2hCLG1CQUFtQjtZQUNuQiwrQ0FBK0M7WUFDL0Msd0NBQXdDO1lBQ3hDLDhDQUE4Qzs7NEZBSXJDLHdDQUF3QztrQkFkcEQsUUFBUTttQkFBQztvQkFDUixZQUFZLEVBQUUsQ0FBQywyQ0FBMkMsQ0FBQztvQkFDM0QsT0FBTyxFQUFFO3dCQUNQLFlBQVk7d0JBQ1osb0JBQW9CO3dCQUNwQixjQUFjO3dCQUNkLGdCQUFnQjt3QkFDaEIsbUJBQW1CO3dCQUNuQiwrQ0FBK0M7d0JBQy9DLHdDQUF3Qzt3QkFDeEMsOENBQThDO3FCQUMvQztvQkFDRCxPQUFPLEVBQUUsQ0FBQywyQ0FBMkMsQ0FBQztpQkFDdkQiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBOZ01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQ29tbW9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcblxuaW1wb3J0IHsgVGVjaGxpZnlOb3RpZmljYXRpb25TdWJzY3JpYmVyTGlzdFJvdXRpbmdNb2R1bGUgfSBmcm9tICcuL3RlY2hsaWZ5LW5vdGlmaWNhdGlvbi1zdWJzY3JpYmVyLWxpc3Qtcm91dGluZy5tb2R1bGUnO1xuaW1wb3J0IHsgVGVjaGxpZnlOb3RpZmljYXRpb25TdWJzY3JpYmVyTGlzdENvbXBvbmVudCB9IGZyb20gJy4vdGVjaGxpZnktbm90aWZpY2F0aW9uLXN1YnNjcmliZXItbGlzdC5jb21wb25lbnQnO1xuaW1wb3J0IHsgVGVjaGxpZnlOb3RpZmljYXRpb25TdWJzY3JpYmVyTGlzdEZpbHRlck1vZHVsZSB9IGZyb20gJy4uL3RlY2hsaWZ5LW5vdGlmaWNhdGlvbi1zdWJzY3JpYmVyLWxpc3QtZmlsdGVyL3RlY2hsaWZ5LW5vdGlmaWNhdGlvbi1zdWJzY3JpYmVyLWxpc3QtZmlsdGVyLm1vZHVsZSc7XG5pbXBvcnQgeyBJbmZpbml0ZVNjcm9sbE1vZHVsZSB9IGZyb20gJ25neC1pbmZpbml0ZS1zY3JvbGwnO1xuaW1wb3J0IHsgVGVjaGxpZnlOb3RpZmljYXRpb25TdWJzY3JpYmVyRm9ybU1vZHVsZSB9IGZyb20gJy4uL3RlY2hsaWZ5LW5vdGlmaWNhdGlvbi1zdWJzY3JpYmVyLWZvcm0vdGVjaGxpZnktbm90aWZpY2F0aW9uLXN1YnNjcmliZXItZm9ybS5tb2R1bGUnO1xuaW1wb3J0IHsgRmxleExheW91dE1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2ZsZXgtbGF5b3V0JztcbmltcG9ydCB7IFJlYWN0aXZlRm9ybXNNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5pbXBvcnQge01hdGVyaWFsTW9kdWxlfSBmcm9tICcuLi8uLi8uLi9tYXRlcmlhbC5tb2R1bGUnO1xuXG5cbkBOZ01vZHVsZSh7XG4gIGRlY2xhcmF0aW9uczogW1RlY2hsaWZ5Tm90aWZpY2F0aW9uU3Vic2NyaWJlckxpc3RDb21wb25lbnRdLFxuICBpbXBvcnRzOiBbXG4gICAgQ29tbW9uTW9kdWxlLFxuICAgIEluZmluaXRlU2Nyb2xsTW9kdWxlLFxuICAgIE1hdGVyaWFsTW9kdWxlLFxuICAgIEZsZXhMYXlvdXRNb2R1bGUsXG4gICAgUmVhY3RpdmVGb3Jtc01vZHVsZSxcbiAgICBUZWNobGlmeU5vdGlmaWNhdGlvblN1YnNjcmliZXJMaXN0Um91dGluZ01vZHVsZSxcbiAgICBUZWNobGlmeU5vdGlmaWNhdGlvblN1YnNjcmliZXJGb3JtTW9kdWxlLFxuICAgIFRlY2hsaWZ5Tm90aWZpY2F0aW9uU3Vic2NyaWJlckxpc3RGaWx0ZXJNb2R1bGVcbiAgXSxcbiAgZXhwb3J0czogW1RlY2hsaWZ5Tm90aWZpY2F0aW9uU3Vic2NyaWJlckxpc3RDb21wb25lbnRdXG59KVxuZXhwb3J0IGNsYXNzIFRlY2hsaWZ5Tm90aWZpY2F0aW9uU3Vic2NyaWJlckxpc3RNb2R1bGUgeyB9XG4iXX0=
48
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGVjaGxpZnktbm90aWZpY2F0aW9uLXN1YnNjcmliZXItbGlzdC5tb2R1bGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uZ3gtdGVjaGxpZnktY29yZS9zcmMvbGliL3RlY2hsaWZ5LW5vdGlmaWNhdGlvbnMvdGVjaGxpZnktbm90aWZpY2F0aW9uLXN1YnNjcmliZXIvdGVjaGxpZnktbm90aWZpY2F0aW9uLXN1YnNjcmliZXItbGlzdC90ZWNobGlmeS1ub3RpZmljYXRpb24tc3Vic2NyaWJlci1saXN0Lm1vZHVsZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ3pDLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUUvQyxPQUFPLEVBQUUsK0NBQStDLEVBQUUsTUFBTSx3REFBd0QsQ0FBQztBQUN6SCxPQUFPLEVBQUUsMkNBQTJDLEVBQUUsTUFBTSxtREFBbUQsQ0FBQztBQUNoSCxPQUFPLEVBQUUsOENBQThDLEVBQUUsTUFBTSxxR0FBcUcsQ0FBQztBQUNySyxPQUFPLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQUMzRCxPQUFPLEVBQUUsd0NBQXdDLEVBQUUsTUFBTSx1RkFBdUYsQ0FBQztBQUNqSixPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQztBQUN4RCxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUNyRCxPQUFPLEVBQUMsY0FBYyxFQUFDLE1BQU0sMEJBQTBCLENBQUM7O0FBaUJ4RCxNQUFNLE9BQU8sd0NBQXdDOytHQUF4Qyx3Q0FBd0M7Z0hBQXhDLHdDQUF3QyxpQkFicEMsMkNBQTJDLGFBRXhELFlBQVk7WUFDWixvQkFBb0I7WUFDcEIsY0FBYztZQUNkLGdCQUFnQjtZQUNoQixtQkFBbUI7WUFDbkIsK0NBQStDO1lBQy9DLHdDQUF3QztZQUN4Qyw4Q0FBOEMsYUFFdEMsMkNBQTJDO2dIQUUxQyx3Q0FBd0MsWUFYakQsWUFBWTtZQUNaLG9CQUFvQjtZQUNwQixjQUFjO1lBQ2QsZ0JBQWdCO1lBQ2hCLG1CQUFtQjtZQUNuQiwrQ0FBK0M7WUFDL0Msd0NBQXdDO1lBQ3hDLDhDQUE4Qzs7NEZBSXJDLHdDQUF3QztrQkFkcEQsUUFBUTttQkFBQztvQkFDUixZQUFZLEVBQUUsQ0FBQywyQ0FBMkMsQ0FBQztvQkFDM0QsT0FBTyxFQUFFO3dCQUNQLFlBQVk7d0JBQ1osb0JBQW9CO3dCQUNwQixjQUFjO3dCQUNkLGdCQUFnQjt3QkFDaEIsbUJBQW1CO3dCQUNuQiwrQ0FBK0M7d0JBQy9DLHdDQUF3Qzt3QkFDeEMsOENBQThDO3FCQUMvQztvQkFDRCxPQUFPLEVBQUUsQ0FBQywyQ0FBMkMsQ0FBQztpQkFDdkQiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBOZ01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQ29tbW9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcblxuaW1wb3J0IHsgVGVjaGxpZnlOb3RpZmljYXRpb25TdWJzY3JpYmVyTGlzdFJvdXRpbmdNb2R1bGUgfSBmcm9tICcuL3RlY2hsaWZ5LW5vdGlmaWNhdGlvbi1zdWJzY3JpYmVyLWxpc3Qtcm91dGluZy5tb2R1bGUnO1xuaW1wb3J0IHsgVGVjaGxpZnlOb3RpZmljYXRpb25TdWJzY3JpYmVyTGlzdENvbXBvbmVudCB9IGZyb20gJy4vdGVjaGxpZnktbm90aWZpY2F0aW9uLXN1YnNjcmliZXItbGlzdC5jb21wb25lbnQnO1xuaW1wb3J0IHsgVGVjaGxpZnlOb3RpZmljYXRpb25TdWJzY3JpYmVyTGlzdEZpbHRlck1vZHVsZSB9IGZyb20gJy4uL3RlY2hsaWZ5LW5vdGlmaWNhdGlvbi1zdWJzY3JpYmVyLWxpc3QtZmlsdGVyL3RlY2hsaWZ5LW5vdGlmaWNhdGlvbi1zdWJzY3JpYmVyLWxpc3QtZmlsdGVyLm1vZHVsZSc7XG5pbXBvcnQgeyBJbmZpbml0ZVNjcm9sbE1vZHVsZSB9IGZyb20gJ25neC1pbmZpbml0ZS1zY3JvbGwnO1xuaW1wb3J0IHsgVGVjaGxpZnlOb3RpZmljYXRpb25TdWJzY3JpYmVyRm9ybU1vZHVsZSB9IGZyb20gJy4uL3RlY2hsaWZ5LW5vdGlmaWNhdGlvbi1zdWJzY3JpYmVyLWZvcm0vdGVjaGxpZnktbm90aWZpY2F0aW9uLXN1YnNjcmliZXItZm9ybS5tb2R1bGUnO1xuaW1wb3J0IHsgRmxleExheW91dE1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2ZsZXgtbGF5b3V0JztcbmltcG9ydCB7IFJlYWN0aXZlRm9ybXNNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5pbXBvcnQge01hdGVyaWFsTW9kdWxlfSBmcm9tICcuLi8uLi8uLi9tYXRlcmlhbC5tb2R1bGUnO1xuXG5cbkBOZ01vZHVsZSh7XG4gIGRlY2xhcmF0aW9uczogW1RlY2hsaWZ5Tm90aWZpY2F0aW9uU3Vic2NyaWJlckxpc3RDb21wb25lbnRdLFxuICBpbXBvcnRzOiBbXG4gICAgQ29tbW9uTW9kdWxlLFxuICAgIEluZmluaXRlU2Nyb2xsTW9kdWxlLFxuICAgIE1hdGVyaWFsTW9kdWxlLFxuICAgIEZsZXhMYXlvdXRNb2R1bGUsXG4gICAgUmVhY3RpdmVGb3Jtc01vZHVsZSxcbiAgICBUZWNobGlmeU5vdGlmaWNhdGlvblN1YnNjcmliZXJMaXN0Um91dGluZ01vZHVsZSxcbiAgICBUZWNobGlmeU5vdGlmaWNhdGlvblN1YnNjcmliZXJGb3JtTW9kdWxlLFxuICAgIFRlY2hsaWZ5Tm90aWZpY2F0aW9uU3Vic2NyaWJlckxpc3RGaWx0ZXJNb2R1bGVcbiAgXSxcbiAgZXhwb3J0czogW1RlY2hsaWZ5Tm90aWZpY2F0aW9uU3Vic2NyaWJlckxpc3RDb21wb25lbnRdXG59KVxuZXhwb3J0IGNsYXNzIFRlY2hsaWZ5Tm90aWZpY2F0aW9uU3Vic2NyaWJlckxpc3RNb2R1bGUgeyB9XG4iXX0=