@sumaris-net/ngx-components 2.7.2-rc9 → 2.7.3-rc2

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 (378) hide show
  1. package/doc/changelog.md +36 -0
  2. package/esm2022/public_api.mjs +11 -9
  3. package/esm2022/src/app/admin/admin-routing.module.mjs +10 -17
  4. package/esm2022/src/app/admin/admin.module.mjs +7 -9
  5. package/esm2022/src/app/admin/services/filter/person.filter.mjs +3 -3
  6. package/esm2022/src/app/admin/services/person.service.mjs +31 -31
  7. package/esm2022/src/app/admin/services/validator/person.validator.mjs +10 -10
  8. package/esm2022/src/app/admin/users/users.mjs +14 -7
  9. package/esm2022/src/app/admin/users/users.module.mjs +8 -10
  10. package/esm2022/src/app/core/about/about.modal.mjs +7 -7
  11. package/esm2022/src/app/core/about/about.module.mjs +8 -21
  12. package/esm2022/src/app/core/account/account.module.mjs +9 -15
  13. package/esm2022/src/app/core/account/account.page.mjs +5 -5
  14. package/esm2022/src/app/core/account/new-token.modal.mjs +9 -8
  15. package/esm2022/src/app/core/account/token.table.mjs +5 -5
  16. package/esm2022/src/app/core/auth/auth.form.mjs +9 -9
  17. package/esm2022/src/app/core/auth/auth.modal.mjs +6 -6
  18. package/esm2022/src/app/core/auth/auth.module.mjs +9 -9
  19. package/esm2022/src/app/core/core.module.mjs +17 -46
  20. package/esm2022/src/app/core/core.testing.module.mjs +15 -15
  21. package/esm2022/src/app/core/form/buttons/form-buttons-bar.component.mjs +16 -15
  22. package/esm2022/src/app/core/form/buttons/form-buttons-bar.module.mjs +9 -13
  23. package/esm2022/src/app/core/form/entity/editor.class.mjs +87 -89
  24. package/esm2022/src/app/core/form/entity/entity-editor-modal.class.mjs +12 -17
  25. package/esm2022/src/app/core/form/entity/entity-editor.class.mjs +31 -32
  26. package/esm2022/src/app/core/form/entity/entity-metadata.component.mjs +5 -5
  27. package/esm2022/src/app/core/form/entity/entity.module.mjs +8 -14
  28. package/esm2022/src/app/core/form/form.class.mjs +12 -12
  29. package/esm2022/src/app/core/form/form.module.mjs +8 -8
  30. package/esm2022/src/app/core/form/form.utils.mjs +25 -23
  31. package/esm2022/src/app/core/form/list/list.form.mjs +13 -12
  32. package/esm2022/src/app/core/form/list/list.module.mjs +8 -12
  33. package/esm2022/src/app/core/form/properties/properties.form.mjs +12 -15
  34. package/esm2022/src/app/core/form/properties/properties.module.mjs +9 -15
  35. package/esm2022/src/app/core/form/properties/properties.table.mjs +24 -26
  36. package/esm2022/src/app/core/form/properties/property.validator.mjs +6 -6
  37. package/esm2022/src/app/core/form/properties/testing/properties-form.test.mjs +18 -18
  38. package/esm2022/src/app/core/form/properties/testing/properties-form.testing.module.mjs +8 -24
  39. package/esm2022/src/app/core/form/text-popover/testing/text-popover.testing.mjs +9 -8
  40. package/esm2022/src/app/core/form/text-popover/testing/text-popover.testing.module.mjs +10 -25
  41. package/esm2022/src/app/core/form/text-popover/text-popover.component.mjs +6 -6
  42. package/esm2022/src/app/core/form/text-popover/text-popover.module.mjs +9 -13
  43. package/esm2022/src/app/core/graphql/graphql.module.mjs +8 -13
  44. package/esm2022/src/app/core/graphql/graphql.service.mjs +71 -95
  45. package/esm2022/src/app/core/graphql/graphql.utils.mjs +12 -11
  46. package/esm2022/src/app/core/home/home.mjs +26 -27
  47. package/esm2022/src/app/core/home/home.module.mjs +10 -19
  48. package/esm2022/src/app/core/icon/icon.component.mjs +5 -5
  49. package/esm2022/src/app/core/icon/icon.module.mjs +8 -17
  50. package/esm2022/src/app/core/install/install-upgrade-card.component.mjs +33 -37
  51. package/esm2022/src/app/core/install/install-upgrade-card.module.mjs +9 -13
  52. package/esm2022/src/app/core/menu/menu.component.mjs +5 -6
  53. package/esm2022/src/app/core/menu/menu.model.mjs +21 -18
  54. package/esm2022/src/app/core/menu/menu.module.mjs +7 -12
  55. package/esm2022/src/app/core/menu/menu.service.mjs +44 -60
  56. package/esm2022/src/app/core/menu/sub-menu-tab.directive.mjs +4 -4
  57. package/esm2022/src/app/core/menu/testing/menu-other.testing.mjs +5 -5
  58. package/esm2022/src/app/core/menu/testing/menu.testing.mjs +5 -5
  59. package/esm2022/src/app/core/menu/testing/menu.testing.module.mjs +8 -27
  60. package/esm2022/src/app/core/offline/update-offline-mode-card.component.mjs +6 -7
  61. package/esm2022/src/app/core/offline/update-offline-mode-card.module.mjs +9 -13
  62. package/esm2022/src/app/core/peer/select-peer.modal.mjs +8 -9
  63. package/esm2022/src/app/core/peer/select-peer.module.mjs +10 -19
  64. package/esm2022/src/app/core/register/register-confirm.page.mjs +12 -12
  65. package/esm2022/src/app/core/register/register.form.mjs +5 -5
  66. package/esm2022/src/app/core/register/register.modal.mjs +6 -6
  67. package/esm2022/src/app/core/register/register.module.mjs +8 -29
  68. package/esm2022/src/app/core/services/account.service.mjs +172 -160
  69. package/esm2022/src/app/core/services/auth-guard.service.mjs +13 -15
  70. package/esm2022/src/app/core/services/base-entity-service.class.mjs +51 -60
  71. package/esm2022/src/app/core/services/base-graphql-service.class.mjs +39 -33
  72. package/esm2022/src/app/core/services/base58.mjs +8 -4
  73. package/esm2022/src/app/core/services/config/core.config.mjs +37 -37
  74. package/esm2022/src/app/core/services/config.service.mjs +51 -49
  75. package/esm2022/src/app/core/services/crypto.service.mjs +11 -11
  76. package/esm2022/src/app/core/services/errors.mjs +3 -3
  77. package/esm2022/src/app/core/services/local-settings.service.mjs +36 -37
  78. package/esm2022/src/app/core/services/model/account.model.mjs +12 -17
  79. package/esm2022/src/app/core/services/model/config.model.mjs +5 -5
  80. package/esm2022/src/app/core/services/model/department.model.mjs +3 -2
  81. package/esm2022/src/app/core/services/model/entity.decorators.mjs +6 -6
  82. package/esm2022/src/app/core/services/model/entity.model.mjs +25 -25
  83. package/esm2022/src/app/core/services/model/filter.model.mjs +12 -15
  84. package/esm2022/src/app/core/services/model/history.model.mjs +1 -1
  85. package/esm2022/src/app/core/services/model/model.enum.mjs +2 -2
  86. package/esm2022/src/app/core/services/model/peer.model.mjs +9 -8
  87. package/esm2022/src/app/core/services/model/person.model.mjs +18 -17
  88. package/esm2022/src/app/core/services/model/referential.model.mjs +13 -13
  89. package/esm2022/src/app/core/services/model/settings.model.mjs +1 -1
  90. package/esm2022/src/app/core/services/model/token.model.mjs +2 -3
  91. package/esm2022/src/app/core/services/model/tree-item-entity.model.mjs +2 -6
  92. package/esm2022/src/app/core/services/network.service.mjs +42 -43
  93. package/esm2022/src/app/core/services/network.types.mjs +1 -1
  94. package/esm2022/src/app/core/services/network.utils.mjs +3 -3
  95. package/esm2022/src/app/core/services/pipes/account.pipes.mjs +11 -11
  96. package/esm2022/src/app/core/services/pipes/department-to-string.pipe.mjs +6 -6
  97. package/esm2022/src/app/core/services/pipes/person-to-string.pipe.mjs +6 -6
  98. package/esm2022/src/app/core/services/pipes/pipes.module.mjs +54 -0
  99. package/esm2022/src/app/core/services/pipes/referential-to-string.pipe.mjs +21 -0
  100. package/esm2022/src/app/core/services/pipes/usage-mode.pipes.mjs +11 -11
  101. package/esm2022/src/app/core/services/platform.service.mjs +45 -49
  102. package/esm2022/src/app/core/services/storage/entities-storage.service.mjs +32 -39
  103. package/esm2022/src/app/core/services/storage/entity-store.class.mjs +36 -45
  104. package/esm2022/src/app/core/services/testing/referential-filter.model.mjs +1 -1
  105. package/esm2022/src/app/core/services/testing/referential.validator.mjs +14 -14
  106. package/esm2022/src/app/core/services/validator/account.validator.mjs +5 -5
  107. package/esm2022/src/app/core/services/validator/base.validator.class.mjs +4 -4
  108. package/esm2022/src/app/core/services/validator/local-settings.validator.mjs +13 -13
  109. package/esm2022/src/app/core/services/validator/user-settings.validator.mjs +5 -5
  110. package/esm2022/src/app/core/services/validator/user-token.validator.mjs +12 -9
  111. package/esm2022/src/app/core/settings/settings.module.mjs +8 -21
  112. package/esm2022/src/app/core/settings/settings.page.mjs +12 -17
  113. package/esm2022/src/app/core/table/actions-column.component.mjs +13 -5
  114. package/esm2022/src/app/core/table/async-table.class.mjs +106 -112
  115. package/esm2022/src/app/core/table/entities-async-table-datasource.class.mjs +21 -26
  116. package/esm2022/src/app/core/table/entities-table-datasource.class.mjs +26 -29
  117. package/esm2022/src/app/core/table/memory-table.class.mjs +4 -4
  118. package/esm2022/src/app/core/table/table-select-columns.component.mjs +8 -8
  119. package/esm2022/src/app/core/table/table.class.mjs +107 -110
  120. package/esm2022/src/app/core/table/table.model.mjs +1 -1
  121. package/esm2022/src/app/core/table/table.module.mjs +8 -12
  122. package/esm2022/src/app/core/table/table.utils.mjs +2 -4
  123. package/esm2022/src/app/core/table/testing/table-validator.service.mjs +3 -3
  124. package/esm2022/src/app/core/table/testing/table.testing.mjs +9 -9
  125. package/esm2022/src/app/core/table/testing/table.testing.module.mjs +8 -33
  126. package/esm2022/src/app/core/table/testing/table2-validator.service.mjs +4 -4
  127. package/esm2022/src/app/core/table/testing/table2.testing.mjs +28 -26
  128. package/esm2022/src/app/shared/alerts.mjs +37 -35
  129. package/esm2022/src/app/shared/audio/audio.mjs +25 -27
  130. package/esm2022/src/app/shared/audio/audio.testing.mjs +5 -5
  131. package/esm2022/src/app/shared/audio/audio.testing.module.mjs +10 -25
  132. package/esm2022/src/app/shared/capacitor/keyboard.mjs +5 -5
  133. package/esm2022/src/app/shared/capacitor/plugins.mjs +1 -1
  134. package/esm2022/src/app/shared/constants.mjs +2 -3
  135. package/esm2022/src/app/shared/dates.mjs +5 -8
  136. package/esm2022/src/app/shared/debug/debug-service.class.mjs +1 -1
  137. package/esm2022/src/app/shared/debug/debug.component.mjs +5 -5
  138. package/esm2022/src/app/shared/debug/debug.module.mjs +8 -29
  139. package/esm2022/src/app/shared/directives/autofocus.directive.mjs +8 -12
  140. package/esm2022/src/app/shared/directives/autotitle.directive.mjs +3 -3
  141. package/esm2022/src/app/shared/directives/directives.module.mjs +8 -29
  142. package/esm2022/src/app/shared/directives/drag-and-drop.directive.mjs +4 -4
  143. package/esm2022/src/app/shared/directives/ng-var.directive.mjs +4 -4
  144. package/esm2022/src/app/shared/directives/resizable/resizable.component.mjs +3 -3
  145. package/esm2022/src/app/shared/directives/resizable/resizable.directive.mjs +4 -4
  146. package/esm2022/src/app/shared/directives/resizable/resizable.module.mjs +4 -4
  147. package/esm2022/src/app/shared/events.mjs +6 -8
  148. package/esm2022/src/app/shared/file/csv.utils.mjs +22 -18
  149. package/esm2022/src/app/shared/file/file.service.mjs +11 -15
  150. package/esm2022/src/app/shared/file/file.utils.mjs +13 -11
  151. package/esm2022/src/app/shared/file/images.utils.mjs +4 -4
  152. package/esm2022/src/app/shared/file/json.utils.mjs +3 -4
  153. package/esm2022/src/app/shared/file/uri.utils.mjs +1 -1
  154. package/esm2022/src/app/shared/focusable.mjs +1 -1
  155. package/esm2022/src/app/shared/form/field.component.mjs +33 -30
  156. package/esm2022/src/app/shared/form/field.model.mjs +4 -4
  157. package/esm2022/src/app/shared/form/loading-spinner.mjs +5 -5
  158. package/esm2022/src/app/shared/forms.mjs +30 -33
  159. package/esm2022/src/app/shared/functions.mjs +70 -65
  160. package/esm2022/src/app/shared/geolocation/geolocation.utils.mjs +14 -14
  161. package/esm2022/src/app/shared/gesture/gesture-config.mjs +9 -9
  162. package/esm2022/src/app/shared/gesture/hammer.utils.mjs +1 -1
  163. package/esm2022/src/app/shared/graph/colors.utils.mjs +14 -18
  164. package/esm2022/src/app/shared/graph/graph-colors.mjs +16 -22
  165. package/esm2022/src/app/shared/guard/component-dirty.guard.mjs +4 -4
  166. package/esm2022/src/app/shared/help/help.modal.mjs +6 -6
  167. package/esm2022/src/app/shared/hotkeys/dialog/hotkeys-dialog.component.mjs +5 -5
  168. package/esm2022/src/app/shared/hotkeys/hotkeys.service.mjs +10 -11
  169. package/esm2022/src/app/shared/hotkeys/shared-hotkeys.module.mjs +9 -27
  170. package/esm2022/src/app/shared/http/http.utils.mjs +1 -1
  171. package/esm2022/src/app/shared/image/gallery/image-gallery.component.mjs +28 -27
  172. package/esm2022/src/app/shared/image/gallery/image-gallery.module.mjs +13 -10
  173. package/esm2022/src/app/shared/image/gallery/testing/gallegry.model.testing.mjs +1 -1
  174. package/esm2022/src/app/shared/image/gallery/testing/gallery.service.testing.mjs +14 -17
  175. package/esm2022/src/app/shared/image/gallery/testing/gallery.testing.mjs +9 -13
  176. package/esm2022/src/app/shared/image/gallery/testing/gallery.testing.module.mjs +14 -11
  177. package/esm2022/src/app/shared/image/image.model.mjs +1 -1
  178. package/esm2022/src/app/shared/image/image.module.mjs +8 -13
  179. package/esm2022/src/app/shared/image/image.service.mjs +14 -12
  180. package/esm2022/src/app/shared/inputs.mjs +19 -20
  181. package/esm2022/src/app/shared/interceptors/progess.interceptor.mjs +2 -3
  182. package/esm2022/src/app/shared/logging/log-level.model.mjs +1 -1
  183. package/esm2022/src/app/shared/logging/logger.model.mjs +2 -2
  184. package/esm2022/src/app/shared/logging/logging-service.class.mjs +17 -20
  185. package/esm2022/src/app/shared/logging/logging-service.module.mjs +6 -6
  186. package/esm2022/src/app/shared/material/autocomplete/material.autocomplete.config.mjs +7 -10
  187. package/esm2022/src/app/shared/material/autocomplete/material.autocomplete.mjs +87 -96
  188. package/esm2022/src/app/shared/material/autocomplete/material.autocomplete.module.mjs +9 -15
  189. package/esm2022/src/app/shared/material/autocomplete/material.autocomplete.utils.mjs +2 -2
  190. package/esm2022/src/app/shared/material/autocomplete/testing/autocomplete.test.mjs +27 -26
  191. package/esm2022/src/app/shared/material/badge/badge.directive.mjs +45 -19
  192. package/esm2022/src/app/shared/material/badge/badge.module.mjs +8 -20
  193. package/esm2022/src/app/shared/material/badge/badge.test.mjs +5 -5
  194. package/esm2022/src/app/shared/material/boolean/boolean.module.mjs +9 -13
  195. package/esm2022/src/app/shared/material/boolean/material.boolean.mjs +262 -0
  196. package/esm2022/src/app/shared/material/boolean/testing/boolean.test.page.mjs +6 -6
  197. package/esm2022/src/app/shared/material/chips/chips.module.mjs +7 -11
  198. package/esm2022/src/app/shared/material/chips/material.chips.mjs +69 -70
  199. package/esm2022/src/app/shared/material/chips/testing/chips.test.mjs +17 -17
  200. package/esm2022/src/app/shared/material/datetime/datetime.module.mjs +5 -5
  201. package/esm2022/src/app/shared/material/datetime/material.date.mjs +37 -36
  202. package/esm2022/src/app/shared/material/datetime/material.dateshort.mjs +26 -33
  203. package/esm2022/src/app/shared/material/datetime/material.datetime.mjs +42 -38
  204. package/esm2022/src/app/shared/material/datetime/testing/mat-date-time.test.mjs +20 -17
  205. package/esm2022/src/app/shared/material/datetime/testing/mat-date.test.mjs +22 -20
  206. package/esm2022/src/app/shared/material/datetime/testing/mat-dateshort.test.mjs +18 -17
  207. package/esm2022/src/app/shared/material/duration/duration.module.mjs +5 -5
  208. package/esm2022/src/app/shared/material/duration/duration.utils.mjs +3 -6
  209. package/esm2022/src/app/shared/material/duration/material.duration.mjs +23 -24
  210. package/esm2022/src/app/shared/material/duration/testing/mat-duration.test.mjs +17 -15
  211. package/esm2022/src/app/shared/material/latlong/latlong.utils.mjs +22 -24
  212. package/esm2022/src/app/shared/material/latlong/material.latlong.mjs +46 -41
  213. package/esm2022/src/app/shared/material/latlong/material.latlong.module.mjs +5 -5
  214. package/esm2022/src/app/shared/material/latlong/testing/latlong.test.mjs +5 -5
  215. package/esm2022/src/app/shared/material/material.animations.mjs +22 -22
  216. package/esm2022/src/app/shared/material/material.module.mjs +11 -11
  217. package/esm2022/src/app/shared/material/material.testing.module.mjs +26 -27
  218. package/esm2022/src/app/shared/material/paginator/material.paginator-i18n.mjs +8 -14
  219. package/esm2022/src/app/shared/material/stepper/material.stepper-i18n.mjs +4 -4
  220. package/esm2022/src/app/shared/material/swipe/material.swipe.mjs +15 -11
  221. package/esm2022/src/app/shared/material/swipe/swipe.module.mjs +7 -11
  222. package/esm2022/src/app/shared/material/swipe/testing/swipe.test.mjs +8 -8
  223. package/esm2022/src/app/shared/material/testing/common.test.mjs +17 -15
  224. package/esm2022/src/app/shared/material/text/testing/text-form.testing.mjs +6 -6
  225. package/esm2022/src/app/shared/material/text/text-form.component.mjs +17 -16
  226. package/esm2022/src/app/shared/material/text/text-form.module.mjs +8 -8
  227. package/esm2022/src/app/shared/modules.mjs +1 -1
  228. package/esm2022/src/app/shared/named-filter/named-filter-selector.component.mjs +6 -7
  229. package/esm2022/src/app/shared/named-filter/named-filter.model.mjs +1 -1
  230. package/esm2022/src/app/shared/named-filter/named-filter.module.mjs +5 -5
  231. package/esm2022/src/app/shared/named-filter/named-filter.service.mjs +6 -6
  232. package/esm2022/src/app/shared/observables.mjs +14 -18
  233. package/esm2022/src/app/shared/pipes/arrays.pipe.mjs +38 -38
  234. package/esm2022/src/app/shared/pipes/colors.pipe.mjs +5 -5
  235. package/esm2022/src/app/shared/pipes/date-diff-duration.pipe.mjs +8 -10
  236. package/esm2022/src/app/shared/pipes/date-format.pipe.mjs +14 -14
  237. package/esm2022/src/app/shared/pipes/date-from-now.pipe.mjs +6 -6
  238. package/esm2022/src/app/shared/pipes/duration.pipe.mjs +6 -6
  239. package/esm2022/src/app/shared/pipes/file-size.pipe.mjs +6 -13
  240. package/esm2022/src/app/shared/pipes/form.pipes.mjs +25 -25
  241. package/esm2022/src/app/shared/pipes/highlight.pipe.mjs +14 -14
  242. package/esm2022/src/app/shared/pipes/latlong-format.pipe.mjs +14 -14
  243. package/esm2022/src/app/shared/pipes/maps.pipe.mjs +17 -17
  244. package/esm2022/src/app/shared/pipes/maskito.pipe.mjs +11 -14
  245. package/esm2022/src/app/shared/pipes/math.pipes.mjs +16 -16
  246. package/esm2022/src/app/shared/pipes/ng-init.pipe.mjs +5 -5
  247. package/esm2022/src/app/shared/pipes/number-format.pipe.mjs +6 -6
  248. package/esm2022/src/app/shared/pipes/pipes.module.mjs +14 -22
  249. package/esm2022/src/app/shared/pipes/property.pipes.mjs +23 -25
  250. package/esm2022/src/app/shared/pipes/string.pipes.mjs +47 -48
  251. package/esm2022/src/app/shared/pipes/translate-context.pipe.mjs +11 -11
  252. package/esm2022/src/app/shared/pipes/types.pipes.mjs +17 -17
  253. package/esm2022/src/app/shared/platforms.mjs +7 -5
  254. package/esm2022/src/app/shared/rx-state.module.mjs +7 -11
  255. package/esm2022/src/app/shared/services/entity-service.class.mjs +2 -2
  256. package/esm2022/src/app/shared/services/job.utils.mjs +7 -7
  257. package/esm2022/src/app/shared/services/memory-entity-service.class.mjs +37 -35
  258. package/esm2022/src/app/shared/services/progress-bar.service.mjs +4 -4
  259. package/esm2022/src/app/shared/services/startable-observable-service.class.mjs +11 -14
  260. package/esm2022/src/app/shared/services/startable-service.class.mjs +11 -17
  261. package/esm2022/src/app/shared/services/translate-context.service.mjs +17 -14
  262. package/esm2022/src/app/shared/services/validator-service.class.mjs +1 -1
  263. package/esm2022/src/app/shared/services.mjs +10 -10
  264. package/esm2022/src/app/shared/shared-routing.module.mjs +19 -18
  265. package/esm2022/src/app/shared/shared.module.mjs +30 -27
  266. package/esm2022/src/app/shared/shared.testing.module.mjs +6 -6
  267. package/esm2022/src/app/shared/storage/storage-explorer.component.mjs +26 -28
  268. package/esm2022/src/app/shared/storage/storage-explorer.module.mjs +8 -12
  269. package/esm2022/src/app/shared/storage/storage-explorer.testing-routing.module.mjs +9 -17
  270. package/esm2022/src/app/shared/storage/storage-explorer.testing.module.mjs +10 -18
  271. package/esm2022/src/app/shared/storage/storage.service.mjs +4 -4
  272. package/esm2022/src/app/shared/storage/storage.utils.mjs +2 -2
  273. package/esm2022/src/app/shared/testing/observable.test.mjs +11 -13
  274. package/esm2022/src/app/shared/testing/tests.page.mjs +6 -6
  275. package/esm2022/src/app/shared/toast/toast.testing.mjs +10 -10
  276. package/esm2022/src/app/shared/toast/toast.testing.module.mjs +10 -25
  277. package/esm2022/src/app/shared/toast/toasts.mjs +9 -9
  278. package/esm2022/src/app/shared/toolbar/modal-toolbar.mjs +9 -7
  279. package/esm2022/src/app/shared/toolbar/toolbar.mjs +10 -15
  280. package/esm2022/src/app/shared/toolbar/toolbar.module.mjs +8 -39
  281. package/esm2022/src/app/shared/types.mjs +1 -1
  282. package/esm2022/src/app/shared/upload-file/testing/upload-file.testing.mjs +8 -9
  283. package/esm2022/src/app/shared/upload-file/testing/upload-file.testing.module.mjs +10 -25
  284. package/esm2022/src/app/shared/upload-file/upload-file-popover.component.mjs +7 -8
  285. package/esm2022/src/app/shared/upload-file/upload-file.component.mjs +17 -18
  286. package/esm2022/src/app/shared/upload-file/upload-file.model.mjs +2 -3
  287. package/esm2022/src/app/shared/validator/form-error-adapter.class.mjs +52 -50
  288. package/esm2022/src/app/shared/validator/validators.mjs +30 -30
  289. package/esm2022/src/app/shared/version/versions.mjs +2 -2
  290. package/esm2022/src/app/social/job/job.module.mjs +8 -27
  291. package/esm2022/src/app/social/job/progression/job-progression.component.mjs +9 -9
  292. package/esm2022/src/app/social/job/progression/job-progression.icon.mjs +27 -24
  293. package/esm2022/src/app/social/job/progression/job-progression.list.mjs +5 -7
  294. package/esm2022/src/app/social/job/progression/job-progression.model.mjs +1 -1
  295. package/esm2022/src/app/social/job/progression/job-progression.service.mjs +21 -17
  296. package/esm2022/src/app/social/job/testing/job-progression.testing.mjs +5 -5
  297. package/esm2022/src/app/social/job/testing/job-progression.testing.service.mjs +7 -7
  298. package/esm2022/src/app/social/job/testing/job.testing.module.mjs +8 -21
  299. package/esm2022/src/app/social/message/message.form.mjs +5 -5
  300. package/esm2022/src/app/social/message/message.modal.mjs +8 -8
  301. package/esm2022/src/app/social/message/message.model.mjs +8 -8
  302. package/esm2022/src/app/social/message/message.module.mjs +4 -4
  303. package/esm2022/src/app/social/message/message.service.mjs +7 -7
  304. package/esm2022/src/app/social/social.errors.mjs +2 -2
  305. package/esm2022/src/app/social/social.module.mjs +7 -32
  306. package/esm2022/src/app/social/social.testing.module.mjs +9 -20
  307. package/esm2022/src/app/social/user-event/notification/user-event-notification.icon.mjs +17 -14
  308. package/esm2022/src/app/social/user-event/notification/user-event-notification.list.mjs +19 -22
  309. package/esm2022/src/app/social/user-event/testing/user-event.testing.mjs +47 -23
  310. package/esm2022/src/app/social/user-event/testing/user-event.testing.model.mjs +8 -8
  311. package/esm2022/src/app/social/user-event/testing/user-event.testing.module.mjs +8 -21
  312. package/esm2022/src/app/social/user-event/testing/user-event.testing.service.mjs +27 -15
  313. package/esm2022/src/app/social/user-event/user-event.model.mjs +1 -1
  314. package/esm2022/src/app/social/user-event/user-event.module.mjs +8 -28
  315. package/esm2022/src/app/social/user-event/user-event.service.mjs +56 -61
  316. package/esm2022/src/environments/environment.class.mjs +2 -1
  317. package/esm2022/src/environments/environment.loader.mjs +4 -4
  318. package/esm2022/src/environments/environment.mjs +2 -2
  319. package/fesm2022/sumaris-net.ngx-components.mjs +6263 -7492
  320. package/fesm2022/sumaris-net.ngx-components.mjs.map +1 -1
  321. package/package.json +12 -7
  322. package/public_api.d.ts +3 -8
  323. package/src/app/admin/users/users.d.ts +3 -2
  324. package/src/app/core/core.module.d.ts +21 -24
  325. package/src/app/core/form/form.utils.d.ts +1 -1
  326. package/src/app/core/services/config/core.config.d.ts +1 -1
  327. package/src/app/core/services/config.service.d.ts +3 -3
  328. package/src/app/core/services/local-settings.service.d.ts +2 -3
  329. package/src/app/core/services/model/entity.model.d.ts +3 -2
  330. package/src/app/core/services/model/settings.model.d.ts +2 -2
  331. package/src/app/core/services/pipes/department-to-string.pipe.d.ts +1 -1
  332. package/src/app/core/services/pipes/pipes.module.d.ts +11 -0
  333. package/src/app/core/services/pipes/referential-to-string.pipe.d.ts +12 -0
  334. package/src/app/core/table/actions-column.component.d.ts +3 -1
  335. package/src/app/shared/events.d.ts +1 -1
  336. package/src/app/shared/functions.d.ts +6 -5
  337. package/src/app/shared/graph/graph-colors.d.ts +1 -1
  338. package/src/app/shared/image/gallery/image-gallery.component.d.ts +10 -10
  339. package/src/app/shared/image/gallery/image-gallery.module.d.ts +2 -1
  340. package/src/app/shared/image/gallery/testing/gallery.service.testing.d.ts +2 -2
  341. package/src/app/shared/image/gallery/testing/gallery.testing.module.d.ts +2 -1
  342. package/src/app/shared/material/autocomplete/material.autocomplete.d.ts +1 -1
  343. package/src/app/shared/material/boolean/boolean.module.d.ts +1 -1
  344. package/src/app/shared/material/boolean/{material-boolean.d.ts → material.boolean.d.ts} +2 -2
  345. package/src/app/shared/material/material.module.d.ts +5 -6
  346. package/src/app/shared/material/material.testing.module.d.ts +14 -15
  347. package/src/app/shared/material/swipe/material.swipe.d.ts +1 -1
  348. package/src/app/shared/pipes/pipes.module.d.ts +1 -1
  349. package/src/app/shared/pipes/string.pipes.d.ts +4 -5
  350. package/src/app/shared/validator/validators.d.ts +13 -4
  351. package/src/app/social/job/progression/job-progression.list.d.ts +1 -3
  352. package/src/app/social/message/message.modal.d.ts +2 -2
  353. package/src/app/social/user-event/testing/user-event.testing.d.ts +1 -0
  354. package/src/app/social/user-event/testing/user-event.testing.service.d.ts +1 -0
  355. package/src/assets/manifest.json +1 -1
  356. package/src/environments/environment.class.d.ts +1 -0
  357. package/src/theme/_ngx-components.scss +1 -25
  358. package/src/theme/_ngx-components.tabs.scss +361 -0
  359. package/src/theme/_theme.scss +1 -0
  360. package/esm2022/src/app/shared/material/boolean/material-boolean.mjs +0 -262
  361. package/esm2022/src/app/shared/material/numpad/numpad.append-to-input.directive.mjs +0 -104
  362. package/esm2022/src/app/shared/material/numpad/numpad.component.mjs +0 -83
  363. package/esm2022/src/app/shared/material/numpad/numpad.container.mjs +0 -203
  364. package/esm2022/src/app/shared/material/numpad/numpad.content.mjs +0 -19
  365. package/esm2022/src/app/shared/material/numpad/numpad.directive.mjs +0 -168
  366. package/esm2022/src/app/shared/material/numpad/numpad.dom-service.mjs +0 -36
  367. package/esm2022/src/app/shared/material/numpad/numpad.model.mjs +0 -16
  368. package/esm2022/src/app/shared/material/numpad/numpad.module.mjs +0 -60
  369. package/esm2022/src/app/shared/material/numpad/testing/numpad.test.mjs +0 -48
  370. package/src/app/shared/material/numpad/numpad.append-to-input.directive.d.ts +0 -22
  371. package/src/app/shared/material/numpad/numpad.component.d.ts +0 -26
  372. package/src/app/shared/material/numpad/numpad.container.d.ts +0 -40
  373. package/src/app/shared/material/numpad/numpad.content.d.ts +0 -7
  374. package/src/app/shared/material/numpad/numpad.directive.d.ts +0 -35
  375. package/src/app/shared/material/numpad/numpad.dom-service.d.ts +0 -16
  376. package/src/app/shared/material/numpad/numpad.model.d.ts +0 -30
  377. package/src/app/shared/material/numpad/numpad.module.d.ts +0 -16
  378. package/src/app/shared/material/numpad/testing/numpad.test.d.ts +0 -13
@@ -1,4 +1,4 @@
1
- import { ANIMATION_MODULE_TYPE, Directive, HostBinding, Inject, Input, Optional } from '@angular/core';
1
+ import { ANIMATION_MODULE_TYPE, Directive, HostBinding, Inject, Input, Optional, } from '@angular/core';
2
2
  import { MatBadge } from '@angular/material/badge';
3
3
  import { isNotNilOrBlank } from '../../functions';
4
4
  import * as i0 from "@angular/core";
@@ -6,16 +6,36 @@ import * as i1 from "@angular/cdk/a11y";
6
6
  export class BadgeDirective extends MatBadge {
7
7
  el;
8
8
  true;
9
- get isOverlapHost() { return this.overlap; }
10
- get isAboveHost() { return this.isAbove(); }
11
- get isBelowHost() { return !this.isAbove(); }
12
- get isBeforeHost() { return !this.isAfter(); }
13
- get isAfterHost() { return this.isAfter(); }
14
- get isSmallHost() { return this.size === 'small'; }
15
- get isMediumHost() { return this.size === 'medium'; }
16
- get isLargeHost() { return this.size === 'large'; }
17
- get isHiddenHost() { return this.hidden || !this.content; }
18
- get isDisabledHost() { return this.disabled; }
9
+ get isOverlapHost() {
10
+ return this.overlap;
11
+ }
12
+ get isAboveHost() {
13
+ return this.isAbove();
14
+ }
15
+ get isBelowHost() {
16
+ return !this.isAbove();
17
+ }
18
+ get isBeforeHost() {
19
+ return !this.isAfter();
20
+ }
21
+ get isAfterHost() {
22
+ return this.isAfter();
23
+ }
24
+ get isSmallHost() {
25
+ return this.size === 'small';
26
+ }
27
+ get isMediumHost() {
28
+ return this.size === 'medium';
29
+ }
30
+ get isLargeHost() {
31
+ return this.size === 'large';
32
+ }
33
+ get isHiddenHost() {
34
+ return this.hidden || !this.content;
35
+ }
36
+ get isDisabledHost() {
37
+ return this.disabled;
38
+ }
19
39
  appBadgeColor;
20
40
  appBadgeFill;
21
41
  appBadgeMatIcon;
@@ -27,7 +47,7 @@ export class BadgeDirective extends MatBadge {
27
47
  constructor(_ngZone, el, _ariaDescriber, _renderer, _animationMode) {
28
48
  super(_ngZone, el, _ariaDescriber, _renderer, _animationMode);
29
49
  this.el = el;
30
- this.content = 0x00A0; // Will be invisible
50
+ this.content = 0x00a0; // Will be invisible
31
51
  }
32
52
  ngOnInit() {
33
53
  super.ngOnInit();
@@ -36,7 +56,13 @@ export class BadgeDirective extends MatBadge {
36
56
  this.updateView();
37
57
  }
38
58
  ngOnChanges(changes) {
39
- if (changes.appBadgeColor || changes.appBadgeFill || changes.appBadgeMatIcon || changes.appBadgeIcon || changes.appBadgeHidden || changes.appBadgeOverlap || changes.appBadgePosition) {
59
+ if (changes.appBadgeColor ||
60
+ changes.appBadgeFill ||
61
+ changes.appBadgeMatIcon ||
62
+ changes.appBadgeIcon ||
63
+ changes.appBadgeHidden ||
64
+ changes.appBadgeOverlap ||
65
+ changes.appBadgePosition) {
40
66
  this.updateView();
41
67
  }
42
68
  }
@@ -135,10 +161,10 @@ export class BadgeDirective extends MatBadge {
135
161
  }*/
136
162
  }
137
163
  }
138
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.1.1", ngImport: i0, type: BadgeDirective, deps: [{ token: i0.NgZone }, { token: i0.ElementRef }, { token: i1.AriaDescriber }, { token: i0.Renderer2 }, { token: ANIMATION_MODULE_TYPE, optional: true }], target: i0.ɵɵFactoryTarget.Directive });
139
- static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "17.1.1", type: BadgeDirective, selector: "[appBadge], [appBadgeIcon], [appBadgeMatIcon]", inputs: { content: ["appBadge", "content"], disabled: ["appBadgeDisabled", "disabled"], color: ["appBadgeColor", "color"], size: ["appBadgeSize", "size"], fill: ["appBadgeFill", "fill"], hidden: ["appBadgeHidden", "hidden"], overlap: ["appBadgeOverlap", "overlap"], position: ["appBadgePosition", "position"], appBadgeColor: "appBadgeColor", appBadgeFill: "appBadgeFill", appBadgeMatIcon: "appBadgeMatIcon", appBadgeIcon: "appBadgeIcon", appBadgeHidden: "appBadgeHidden", appBadgeOverlap: "appBadgeOverlap", appBadgePosition: "appBadgePosition" }, host: { properties: { "class.mat-badge": "this.true", "class.mat-badge-overlap": "this.isOverlapHost", "class.mat-badge-above": "this.isAboveHost", "class.mat-badge-below": "this.isBelowHost", "class.mat-badge-before": "this.isBeforeHost", "class.mat-badge-after": "this.isAfterHost", "class.mat-badge-small": "this.isSmallHost", "class.mat-badge-medium": "this.isMediumHost", "class.mat-badge-large": "this.isLargeHost", "class.mat-badge-hidden": "this.isHiddenHost", "class.mat-badge-disabled": "this.isDisabledHost" } }, usesInheritance: true, usesOnChanges: true, ngImport: i0 });
164
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.1.3", ngImport: i0, type: BadgeDirective, deps: [{ token: i0.NgZone }, { token: i0.ElementRef }, { token: i1.AriaDescriber }, { token: i0.Renderer2 }, { token: ANIMATION_MODULE_TYPE, optional: true }], target: i0.ɵɵFactoryTarget.Directive });
165
+ static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "17.1.3", type: BadgeDirective, selector: "[appBadge], [appBadgeIcon], [appBadgeMatIcon]", inputs: { content: ["appBadge", "content"], disabled: ["appBadgeDisabled", "disabled"], color: ["appBadgeColor", "color"], size: ["appBadgeSize", "size"], fill: ["appBadgeFill", "fill"], hidden: ["appBadgeHidden", "hidden"], overlap: ["appBadgeOverlap", "overlap"], position: ["appBadgePosition", "position"], appBadgeColor: "appBadgeColor", appBadgeFill: "appBadgeFill", appBadgeMatIcon: "appBadgeMatIcon", appBadgeIcon: "appBadgeIcon", appBadgeHidden: "appBadgeHidden", appBadgeOverlap: "appBadgeOverlap", appBadgePosition: "appBadgePosition" }, host: { properties: { "class.mat-badge": "this.true", "class.mat-badge-overlap": "this.isOverlapHost", "class.mat-badge-above": "this.isAboveHost", "class.mat-badge-below": "this.isBelowHost", "class.mat-badge-before": "this.isBeforeHost", "class.mat-badge-after": "this.isAfterHost", "class.mat-badge-small": "this.isSmallHost", "class.mat-badge-medium": "this.isMediumHost", "class.mat-badge-large": "this.isLargeHost", "class.mat-badge-hidden": "this.isHiddenHost", "class.mat-badge-disabled": "this.isDisabledHost" } }, usesInheritance: true, usesOnChanges: true, ngImport: i0 });
140
166
  }
141
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.1.1", ngImport: i0, type: BadgeDirective, decorators: [{
167
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.1.3", ngImport: i0, type: BadgeDirective, decorators: [{
142
168
  type: Directive,
143
169
  args: [{
144
170
  selector: '[appBadge], [appBadgeIcon], [appBadgeMatIcon]',
@@ -150,8 +176,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.1.1", ngImpor
150
176
  'fill: appBadgeFill',
151
177
  'hidden: appBadgeHidden',
152
178
  'overlap: appBadgeOverlap',
153
- 'position: appBadgePosition'
154
- ]
179
+ 'position: appBadgePosition',
180
+ ],
155
181
  }]
156
182
  }], ctorParameters: () => [{ type: i0.NgZone }, { type: i0.ElementRef }, { type: i1.AriaDescriber }, { type: i0.Renderer2 }, { type: undefined, decorators: [{
157
183
  type: Optional
@@ -206,4 +232,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.1.1", ngImpor
206
232
  }], appBadgePosition: [{
207
233
  type: Input
208
234
  }] } });
209
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYmFkZ2UuZGlyZWN0aXZlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vc3JjL2FwcC9zaGFyZWQvbWF0ZXJpYWwvYmFkZ2UvYmFkZ2UuZGlyZWN0aXZlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBZ0IscUJBQXFCLEVBQUUsU0FBUyxFQUFjLFdBQVcsRUFBRSxNQUFNLEVBQUUsS0FBSyxFQUFnQyxRQUFRLEVBQTJCLE1BQU0sZUFBZSxDQUFDO0FBQ3hMLE9BQU8sRUFBQyxRQUFRLEVBQW1CLE1BQU0seUJBQXlCLENBQUM7QUFJbkUsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLGlCQUFpQixDQUFDOzs7QUFpQmxELE1BQU0sT0FBTyxjQUFlLFNBQVEsUUFBUTtJQXlCcEI7SUF2QlUsSUFBSSxDQUFDO0lBQ3JDLElBQTRDLGFBQWEsS0FBSyxPQUFPLElBQUksQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDO0lBQ3BGLElBQTBDLFdBQVcsS0FBSyxPQUFPLElBQUksQ0FBQyxPQUFPLEVBQUUsQ0FBQyxDQUFDLENBQUM7SUFDbEYsSUFBMEMsV0FBVyxLQUFLLE9BQU8sQ0FBQyxJQUFJLENBQUMsT0FBTyxFQUFFLENBQUMsQ0FBQyxDQUFDO0lBQ25GLElBQTJDLFlBQVksS0FBSyxPQUFPLENBQUMsSUFBSSxDQUFDLE9BQU8sRUFBRSxDQUFDLENBQUMsQ0FBQztJQUNyRixJQUEwQyxXQUFXLEtBQUssT0FBTyxJQUFJLENBQUMsT0FBTyxFQUFFLENBQUMsQ0FBQyxDQUFDO0lBQ2xGLElBQTBDLFdBQVcsS0FBSyxPQUFPLElBQUksQ0FBQyxJQUFJLEtBQUssT0FBTyxDQUFDLENBQUMsQ0FBQztJQUN6RixJQUEyQyxZQUFZLEtBQUssT0FBTyxJQUFJLENBQUMsSUFBSSxLQUFLLFFBQVEsQ0FBQyxDQUFDLENBQUM7SUFDNUYsSUFBMEMsV0FBVyxLQUFLLE9BQU8sSUFBSSxDQUFDLElBQUksS0FBSyxP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QkFDekQsTUFBTSxFQUFFO3dCQUNOLG1CQUFtQjt3QkFDbkIsNEJBQTRCO3dCQUM1QixzQkFBc0I7d0JBQ3RCLG9CQUFvQjt3QkFDcEIsb0JBQW9CO3dCQUNwQix3QkFBd0I7d0JBQ3hCLDBCQUEwQjt3QkFDMUIsNEJBQTRCO3FCQUM3QjtpQkFDRjs7MEJBNkJjLFFBQVE7OzBCQUFJLE1BQU07MkJBQUMscUJBQXFCO3lDQTFCckIsSUFBSTtzQkFBbkMsV0FBVzt1QkFBQyxpQkFBaUI7Z0JBQ2MsYUFBYTtzQkFBeEQsV0FBVzt1QkFBQyx5QkFBeUI7Z0JBQ0ksV0FBVztzQkFBcEQsV0FBVzt1QkFBQyx1QkFBdUI7Z0JBQ00sV0FBVztzQkFBcEQsV0FBVzt1QkFBQyx1QkFBdUI7Z0JBQ08sWUFBWTtzQkFBdEQsV0FBVzt1QkFBQyx3QkFBd0I7Z0JBQ0ssV0FBVztzQkFBcEQsV0FBVzt1QkFBQyx1QkFBdUI7Z0JBQ00sV0FBVztzQkFBcEQsV0FBVzt1QkFBQyx1QkFBdUI7Z0JBQ08sWUFBWTtzQkFBdEQsV0FBVzt1QkFBQyx3QkFBd0I7Z0JBQ0ssV0FBVztzQkFBcEQsV0FBVzt1QkFBQyx1QkFBdUI7Z0JBQ08sWUFBWTtzQkFBdEQsV0FBVzt1QkFBQyx3QkFBd0I7Z0JBQ1EsY0FBYztzQkFBMUQsV0FBVzt1QkFBQywwQkFBMEI7Z0JBRTlCLGFBQWE7c0JBQXJCLEtBQUs7Z0JBQ0csWUFBWTtzQkFBcEIsS0FBSztnQkFDRyxlQUFlO3NCQUF2QixLQUFLO2dCQUNHLFlBQVk7c0JBQXBCLEtBQUs7Z0JBQ0csY0FBYztzQkFBdEIsS0FBSztnQkFDRyxlQUFlO3NCQUF2QixLQUFLO2dCQUNHLGdCQUFnQjtzQkFBeEIsS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7QWZ0ZXJWaWV3SW5pdCwgQU5JTUFUSU9OX01PRFVMRV9UWVBFLCBEaXJlY3RpdmUsIEVsZW1lbnRSZWYsIEhvc3RCaW5kaW5nLCBJbmplY3QsIElucHV0LCBOZ1pvbmUsIE9uQ2hhbmdlcywgT25EZXN0cm95LCBPcHRpb25hbCwgUmVuZGVyZXIyLCBTaW1wbGVDaGFuZ2VzfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7TWF0QmFkZ2UsIE1hdEJhZGdlUG9zaXRpb259IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2JhZGdlJztcbmltcG9ydCB7QXBwQ29sb3JzfSBmcm9tICcuLi8uLi90eXBlcyc7XG5pbXBvcnQge0FyaWFEZXNjcmliZXJ9IGZyb20gJ0Bhbmd1bGFyL2Nkay9hMTF5JztcbmltcG9ydCB7Qm9vbGVhbklucHV0fSBmcm9tICdAYW5ndWxhci9jZGsvY29lcmNpb24nO1xuaW1wb3J0IHsgaXNOb3ROaWxPckJsYW5rIH0gZnJvbSAnLi4vLi4vZnVuY3Rpb25zJztcblxuZXhwb3J0IGRlY2xhcmUgdHlwZSBNYXRCYWRnZUZpbGwgPSAnY2xlYXInIHwgJ3NvbGlkJztcblxuQERpcmVjdGl2ZSh7XG4gIHNlbGVjdG9yOiAnW2FwcEJhZGdlXSwgW2FwcEJhZGdlSWNvbl0sIFthcHBCYWRnZU1hdEljb25dJyxcbiAgaW5wdXRzOiBbXG4gICAgJ2NvbnRlbnQ6IGFwcEJhZGdlJyxcbiAgICAnZGlzYWJsZWQ6IGFwcEJhZGdlRGlzYWJsZWQnLFxuICAgICdjb2xvcjogYXBwQmFkZ2VDb2xvcicsXG4gICAgJ3NpemU6IGFwcEJhZGdlU2l6ZScsXG4gICAgJ2ZpbGw6IGFwcEJhZGdlRmlsbCcsXG4gICAgJ2hpZGRlbjogYXBwQmFkZ2VIaWRkZW4nLFxuICAgICdvdmVybGFwOiBhcHBCYWRnZU92ZXJsYXAnLFxuICAgICdwb3NpdGlvbjogYXBwQmFkZ2VQb3NpdGlvbidcbiAgXVxufSlcbmV4cG9ydCBjbGFzcyBCYWRnZURpcmVjdGl2ZSBleHRlbmRzIE1hdEJhZGdlIGltcGxlbWVudHMgQWZ0ZXJWaWV3SW5pdCwgT25DaGFuZ2VzLCBPbkRlc3Ryb3kge1xuXG4gIEBIb3N0QmluZGluZygnY2xhc3MubWF0LWJhZGdlJykgdHJ1ZTtcbiAgQEhvc3RCaW5kaW5nKCdjbGFzcy5tYXQtYmFkZ2Utb3ZlcmxhcCcpIGdldCBpc092ZXJsYXBIb3N0KCkgeyByZXR1cm4gdGhpcy5vdmVybGFwOyB9XG4gIEBIb3N0QmluZGluZygnY2xhc3MubWF0LWJhZGdlLWFib3ZlJykgZ2V0IGlzQWJvdmVIb3N0KCkgeyByZXR1cm4gdGhpcy5pc0Fib3ZlKCk7IH1cbiAgQEhvc3RCaW5kaW5nKCdjbGFzcy5tYXQtYmFkZ2UtYmVsb3cnKSBnZXQgaXNCZWxvd0hvc3QoKSB7IHJldHVybiAhdGhpcy5pc0Fib3ZlKCk7IH1cbiAgQEhvc3RCaW5kaW5nKCdjbGFzcy5tYXQtYmFkZ2UtYmVmb3JlJykgZ2V0IGlzQmVmb3JlSG9zdCgpIHsgcmV0dXJuICF0aGlzLmlzQWZ0ZXIoKTsgfVxuICBASG9zdEJpbmRpbmcoJ2NsYXNzLm1hdC1iYWRnZS1hZnRlcicpIGdldCBpc0FmdGVySG9zdCgpIHsgcmV0dXJuIHRoaXMuaXNBZnRlcigpOyB9XG4gIEBIb3N0QmluZGluZygnY2xhc3MubWF0LWJhZGdlLXNtYWxsJykgZ2V0IGlzU21hbGxIb3N0KCkgeyByZXR1cm4gdGhpcy5zaXplID09PSAnc21hbGwnOyB9XG4gIEBIb3N0QmluZGluZygnY2xhc3MubWF0LWJhZGdlLW1lZGl1bScpIGdldCBpc01lZGl1bUhvc3QoKSB7IHJldHVybiB0aGlzLnNpemUgPT09ICdtZWRpdW0nOyB9XG4gIEBIb3N0QmluZGluZygnY2xhc3MubWF0LWJhZGdlLWxhcmdlJykgZ2V0IGlzTGFyZ2VIb3N0KCkgeyByZXR1cm4gdGhpcy5zaXplID09PSAnbGFyZ2UnOyB9XG4gIEBIb3N0QmluZGluZygnY2xhc3MubWF0LWJhZGdlLWhpZGRlbicpIGdldCBpc0hpZGRlbkhvc3QoKSB7IHJldHVybiB0aGlzLmhpZGRlbiB8fCAhdGhpcy5jb250ZW50OyB9XG4gIEBIb3N0QmluZGluZygnY2xhc3MubWF0LWJhZGdlLWRpc2FibGVkJykgZ2V0IGlzRGlzYWJsZWRIb3N0KCkgeyByZXR1cm4gdGhpcy5kaXNhYmxlZDsgfVxuXG4gIEBJbnB1dCgpIGFwcEJhZGdlQ29sb3I6IEFwcENvbG9ycztcbiAgQElucHV0KCkgYXBwQmFkZ2VGaWxsOiBNYXRCYWRnZUZpbGw7XG4gIEBJbnB1dCgpIGFwcEJhZGdlTWF0SWNvbjogc3RyaW5nO1xuICBASW5wdXQoKSBhcHBCYWRnZUljb246IHN0cmluZztcbiAgQElucHV0KCkgYXBwQmFkZ2VIaWRkZW46IEJvb2xlYW5JbnB1dDtcbiAgQElucHV0KCkgYXBwQmFkZ2VPdmVybGFwOiBCb29sZWFuSW5wdXQ7XG4gIEBJbnB1dCgpIGFwcEJhZGdlUG9zaXRpb246IE1hdEJhZGdlUG9zaXRpb247XG5cbiAgcHJpdmF0ZSBfaHRtbDogc3RyaW5nO1xuXG4gIGNvbnN0cnVjdG9yKF9uZ1pvbmU6IE5nWm9uZSxcbiAgICAgICAgICAgICAgcHJvdGVjdGVkIGVsOiBFbGVtZW50UmVmPEhUTUxFbGVtZW50PixcbiAgICAgICAgICAgICAgX2FyaWFEZXNjcmliZXI6IEFyaWFEZXNjcmliZXIsXG4gICAgICAgICAgICAgIF9yZW5kZXJlcjogUmVuZGVyZXIyLFxuICAgICAgICAgICAgICBAT3B0aW9uYWwoKSBASW5qZWN0KEFOSU1BVElPTl9NT0RVTEVfVFlQRSkgX2FuaW1hdGlvbk1vZGU/OiBzdHJpbmcgfCB1bmRlZmluZWRcbiAgKSB7XG4gICAgc3VwZXIoX25nWm9uZSwgZWwsIF9hcmlhRGVzY3JpYmVyLCBfcmVuZGVyZXIsIF9hbmltYXRpb25Nb2RlKTtcbiAgICB0aGlzLmNvbnRlbnQgPSAweDAwQTA7IC8vIFdpbGwgYmUgaW52aXNpYmxlXG4gIH1cblxuICBuZ09uSW5pdCgpIHtcbiAgICBzdXBlci5uZ09uSW5pdCgpO1xuICB9XG5cbiAgbmdBZnRlclZpZXdJbml0KCkge1xuICAgIHRoaXMudXBkYXRlVmlldygpO1xuICB9XG5cbiAgbmdPbkNoYW5nZXMoY2hhbmdlczogU2ltcGxlQ2hhbmdlcykge1xuICAgIGlmIChjaGFuZ2VzLmFwcEJhZGdlQ29sb3IgfHwgY2hhbmdlcy5hcHBCYWRnZUZpbGwgfHwgY2hhbmdlcy5hcHBCYWRnZU1hdEljb24gfHwgY2hhbmdlcy5hcHBCYWRnZUljb24gfHwgY2hhbmdlcy5hcHBCYWRnZUhpZGRlbiB8fCBjaGFuZ2VzLmFwcEJhZGdlT3ZlcmxhcCB8fCBjaGFuZ2VzLmFwcEJhZGdlUG9zaXRpb24pIHtcbiAgICAgIHRoaXMudXBkYXRlVmlldygpO1xuICAgIH1cbiAgfVxuXG4gIG5nT25EZXN0cm95KCkge1xuICAgIHN1cGVyLm5nT25EZXN0cm95KCk7XG4gIH1cblxuICBwcml2YXRlIHVwZGF0ZVZpZXcoKSB7XG4gICAgY29uc3QgYmFkZ2UgPSB0aGlzLmdldEJhZGdlRWxlbWVudCgpO1xuICAgIGlmICghYmFkZ2UpIHJldHVybjtcblxuICAgIC8vIEZpeCBjb2xvclxuICAgIGlmICghdGhpcy5hcHBCYWRnZUNvbG9yKSB0aGlzLmFwcEJhZGdlQ29sb3IgPSAncHJpbWFyeSc7XG4gICAgaWYgKHRoaXMuYXBwQmFkZ2VDb2xvciA9PT0gJ3dhcm4nKSB0aGlzLmFwcEJhZGdlQ29sb3IgPSAnd2FybmluZyc7XG5cbiAgICBsZXQgc2l6ZTogbnVtYmVyO1xuICAgIHN3aXRjaCAodGhpcy5zaXplKSB7XG4gICAgICBjYXNlICdsYXJnZSc6XG4gICAgICAgIHNpemUgPSAyNDtcbiAgICAgICAgYnJlYWs7XG4gICAgICBjYXNlICdtZWRpdW0nOlxuICAgICAgICBzaXplID0gMjI7XG4gICAgICAgIGJyZWFrO1xuICAgICAgY2FzZSAnc21hbGwnOlxuICAgICAgICBzaXplID0gMTY7XG4gICAgICAgIGJyZWFrO1xuICAgIH1cbiAgICBsZXQgaGlkZGVuID0gdGhpcy5hcHBCYWRnZUhpZGRlbjtcbiAgICBsZXQgaHRtbCA9ICcnO1xuICAgIGlmICh0aGlzLmFwcEJhZGdlTWF0SWNvbikge1xuICAgICAgaHRtbCA9IGA8aSBjbGFzcz1cIm1hdGVyaWFsLWljb25zXCIgc3R5bGU9XCJmb250LXNpemU6ICR7c2l6ZX1weDtcIj4ke3RoaXMuYXBwQmFkZ2VNYXRJY29ufTwvaT5gO1xuICAgIH1cbiAgICBlbHNlIGlmICh0aGlzLmFwcEJhZGdlSWNvbikge1xuICAgICAgaHRtbCA9IGA8aW9uLWljb24gc3R5bGU9XCJmb250LXNpemU6ICR7c2l6ZX1weDsgcG9pbnRlci1ldmVudHM6IG5vbmU7XCIgbmFtZT1cIiR7dGhpcy5hcHBCYWRnZUljb259XCI+PC9pb24taWNvbj5gO1xuICAgIH1cbiAgICBlbHNlIGlmIChpc05vdE5pbE9yQmxhbmsodGhpcy5jb250ZW50KSkge1xuICAgICAgaHRtbCA9ICcnICsgdGhpcy5jb250ZW50O1xuICAgIH1cbiAgICBlbHNlIHtcbiAgICAgIGhpZGRlbiA9IHRydWU7XG4gICAgfVxuICAgIGlmICghaGlkZGVuICYmIHRoaXMuX2h0bWwgIT09IGh0bWwpIHtcbiAgICAgIHRoaXMuX2h0bWwgPSBodG1sO1xuICAgICAgYmFkZ2UuaW5uZXJIVE1MID0gaHRtbDtcbiAgICB9XG5cbiAgICAvLyBVcGRhdGUgc3R5bGVcbiAgICAvLyBmaWxsOiAnY2xlYXInXG4gICAgaWYgKHRoaXMuYXBwQmFkZ2VGaWxsID09PSAnY2xlYXInKSB7XG4gICAgICBiYWRnZS5zdHlsZS5jb2xvciA9IGB2YXIoLS1pb24tY29sb3ItJHt0aGlzLmFwcEJhZGdlQ29sb3J9KWA7XG4gICAgICBiYWRnZS5zdHlsZS5iYWNrZ3JvdW5kID0gJ3RyYW5zcGFyZW50JztcbiAgICB9XG4gICAgLy8gZmlsbDogJ3NvbGlkJyAoZGVmYXVsdCB2YWx1ZSlcbiAgICBlbHNlIHtcbiAgICAgIGJhZGdlLnN0eWxlLmJhY2tncm91bmQgPSBgdmFyKC0taW9uLWNvbG9yLSR7dGhpcy5hcHBCYWRnZUNvbG9yfSlgO1xuICAgICAgYmFkZ2Uuc3R5bGUuY29sb3IgPSBgdmFyKC0taW9uLWNvbG9yLSR7dGhpcy5hcHBCYWRnZUNvbG9yfS1jb250cmFzdClgO1xuICAgIH1cblxuICAgIGlmIChoaWRkZW4pIGJhZGdlLnN0eWxlLmRpc3BsYXkgPSAnbm9uZSc7XG4gICAgZWxzZSB7XG4gICAgICBpZiAoYmFkZ2Uuc3R5bGUuZGlzcGxheSAhPT0gJ2lubGluZS1ibG9jaycpIGJhZGdlLnN0eWxlLmRpc3BsYXkgPSAnaW5saW5lLWJsb2NrJztcbiAgICAgIGlmIChiYWRnZS5zdHlsZS5wb3NpdGlvbiAhPT0gJ2Fic29sdXRlJykgYmFkZ2Uuc3R5bGUucG9zaXRpb24gPSAnYWJzb2x1dGUnO1xuXG5cblxuXG4gICAgICAvKlxuICAgICAgLy8gV09BUktST1VORCB0byBmb3JjZSBwb3NpdGlvbiBvZiB0aGUgYmFkZ2UsIHdoZW4gaW5zaWRlIGEgPG1hdC1idXR0b24+IChlLmcuIG9uIGEgPG1hdC1sYWJlbD4pXG4gICAgICBjb25zdCBvdmVybGFwID0gdGhpcy5vdmVybGFwO1xuXG4gICAgICAvLyBSaWdodC9sZWZ0IHBvc2l0aW9uXG4gICAgICBpZiAodGhpcy5pc0FmdGVyKCkgKSB7XG4gICAgICAgIGNvbnN0IHBhcmVudFdpZHRoID0gYmFkZ2UucGFyZW50RWxlbWVudC5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKS53aWR0aDtcbiAgICAgICAgaWYgKHBhcmVudFdpZHRoID4gMCkge1xuICAgICAgICAgIGNvbnN0IGxlZnQgPSBgJHtwYXJlbnRXaWR0aCAtIChvdmVybGFwID8gc2l6ZSAvIDIgOiAwKX1weGA7XG4gICAgICAgICAgaWYgKGJhZGdlLnN0eWxlLmxlZnQgIT09IGxlZnQpIGJhZGdlLnN0eWxlLmxlZnQgPSBsZWZ0O1xuICAgICAgICAgIGlmIChiYWRnZS5zdHlsZS5yaWdodCAhPT0gJycpIGJhZGdlLnN0eWxlLnJpZ2h0ID0gJyc7XG4gICAgICAgIH1cbiAgICAgICAgZWxzZSB7XG4gICAgICAgICAgY29uc3QgcmlnaHQgPSBgJHstMSAqIChvdmVybGFwID8gc2l6ZSAvIDIgOiBzaXplKX1weGA7XG4gICAgICAgICAgaWYgKGJhZGdlLnN0eWxlLnJpZ2h0ICE9PSByaWdodCkgYmFkZ2Uuc3R5bGUucmlnaHQgPSByaWdodDtcbiAgICAgICAgICBpZiAoYmFkZ2Uuc3R5bGUubGVmdCAhPT0gJycpIGJhZGdlLnN0eWxlLmxlZnQgPSAnJztcbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICAvLyBUb3AvYm90dG9tIHBvc2l0aW9uXG4gICAgICBpZiAodGhpcy5pc0Fib3ZlKCkpIHtcbiAgICAgICAgY29uc3QgcGFyZW50SGVpZ2h0ID0gYmFkZ2UucGFyZW50RWxlbWVudC5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKS5oZWlnaHQ7XG4gICAgICAgIGlmIChwYXJlbnRIZWlnaHQgPiAwKSB7XG4gICAgICAgICAgY29uc3QgYm90dG9tID0gYCR7cGFyZW50SGVpZ2h0IC0gKG92ZXJsYXAgPyAoc2l6ZSAvIDIpIDogc2l6ZSl9cHhgO1xuICAgICAgICAgIGlmIChiYWRnZS5zdHlsZS5ib3R0b20gIT09IGJvdHRvbSkgYmFkZ2Uuc3R5bGUuYm90dG9tID0gYm90dG9tO1xuICAgICAgICAgIGlmIChiYWRnZS5zdHlsZS50b3AgIT09ICcnKSBiYWRnZS5zdHlsZS50b3AgPSAnJztcbiAgICAgICAgfVxuICAgICAgICBlbHNlIHtcbiAgICAgICAgICBjb25zdCB0b3AgPSBgJHstMSAqIChvdmVybGFwID8gKHNpemUgLyAyKSA6IHNpemUpfXB4YDtcbiAgICAgICAgICBpZiAoYmFkZ2Uuc3R5bGUudG9wICE9PSB0b3ApIGJhZGdlLnN0eWxlLnRvcCA9IHRvcDtcbiAgICAgICAgICBpZiAoYmFkZ2Uuc3R5bGUuYm90dG9tICE9PSAnJykgYmFkZ2Uuc3R5bGUuYm90dG9tID0gJyc7XG4gICAgICAgIH1cbiAgICAgIH0qL1xuICAgIH1cbiAgfVxufVxuIl19
235
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYmFkZ2UuZGlyZWN0aXZlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vc3JjL2FwcC9zaGFyZWQvbWF0ZXJpYWwvYmFkZ2UvYmFkZ2UuZGlyZWN0aXZlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFFTCxxQkFBcUIsRUFDckIsU0FBUyxFQUVULFdBQVcsRUFDWCxNQUFNLEVBQ04sS0FBSyxFQUlMLFFBQVEsR0FHVCxNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQUUsUUFBUSxFQUFvQixNQUFNLHlCQUF5QixDQUFDO0FBSXJFLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQzs7O0FBaUJsRCxNQUFNLE9BQU8sY0FBZSxTQUFRLFFBQVE7SUE2QzlCO0lBNUNvQixJQUFJLENBQUM7SUFDckMsSUFBNEMsYUFBYTtRQUN2RCxPQUFPLElBQUksQ0FBQyxPQUFPLENBQUM7SUFDdEIsQ0FBQztJQUNELElBQTBDLFdBQVc7UUFDbkQsT0FBTyxJQUFJLENBQUMsT0FBTyxFQUFFLENBQUM7SUFDeEIsQ0FBQztJQUNELElBQTBDLFdBQVc7UUFDbkQsT0FBTyxDQUFDLElBQUksQ0FBQyxPQUFPLEVBQUUsQ0FBQztJQUN6QixDQUFDO0lBQ0QsSUFBMkMsWUFBWTtRQUNyRCxPQUFPLENBQUMsSUFBSSxDQUFDLE9BQU8sRUFBRSxDQUFDO0lBQ3pCLENBQUM7SUFDRCxJQUEwQyxXQUFXO1FBQ25ELE9BQU8sSUFBSSxDQUFDLE9BQU8sRUFBRSxDQUFDO0lBQ3hCLENBQUM7SUFDRCxJQUEwQyxXQUFXO1FBQ25ELE9BQU8sSUFBSSxDQUFDLElBQUksS0FBSyxPQUFPLENBQUM7SUFDL0IsQ0FBQztJQUNELElBQTJDLFlBQVk7UUFDckQsT0FBTyxJQUFJLENBQUMsSUFBSSxLQUFLLFFBQVEsQ0FBQztJQUNoQyxDQUFDO0lBQ0QsSUFBMEMsV0FBVztRQUNuRCxPQUFPLElBQUksQ0FBQyxJQUFJ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USxFQUFFLCtDQUErQztvQkFDekQsTUFBTSxFQUFFO3dCQUNOLG1CQUFtQjt3QkFDbkIsNEJBQTRCO3dCQUM1QixzQkFBc0I7d0JBQ3RCLG9CQUFvQjt3QkFDcEIsb0JBQW9CO3dCQUNwQix3QkFBd0I7d0JBQ3hCLDBCQUEwQjt3QkFDMUIsNEJBQTRCO3FCQUM3QjtpQkFDRjs7MEJBaURJLFFBQVE7OzBCQUFJLE1BQU07MkJBQUMscUJBQXFCO3lDQS9DWCxJQUFJO3NCQUFuQyxXQUFXO3VCQUFDLGlCQUFpQjtnQkFDYyxhQUFhO3NCQUF4RCxXQUFXO3VCQUFDLHlCQUF5QjtnQkFHSSxXQUFXO3NCQUFwRCxXQUFXO3VCQUFDLHVCQUF1QjtnQkFHTSxXQUFXO3NCQUFwRCxXQUFXO3VCQUFDLHVCQUF1QjtnQkFHTyxZQUFZO3NCQUF0RCxXQUFXO3VCQUFDLHdCQUF3QjtnQkFHSyxXQUFXO3NCQUFwRCxXQUFXO3VCQUFDLHVCQUF1QjtnQkFHTSxXQUFXO3NCQUFwRCxXQUFXO3VCQUFDLHVCQUF1QjtnQkFHTyxZQUFZO3NCQUF0RCxXQUFXO3VCQUFDLHdCQUF3QjtnQkFHSyxXQUFXO3NCQUFwRCxXQUFXO3VCQUFDLHVCQUF1QjtnQkFHTyxZQUFZO3NCQUF0RCxXQUFXO3VCQUFDLHdCQUF3QjtnQkFHUSxjQUFjO3NCQUExRCxXQUFXO3VCQUFDLDBCQUEwQjtnQkFJOUIsYUFBYTtzQkFBckIsS0FBSztnQkFDRyxZQUFZO3NCQUFwQixLQUFLO2dCQUNHLGVBQWU7c0JBQXZCLEtBQUs7Z0JBQ0csWUFBWTtzQkFBcEIsS0FBSztnQkFDRyxjQUFjO3NCQUF0QixLQUFLO2dCQUNHLGVBQWU7c0JBQXZCLEtBQUs7Z0JBQ0csZ0JBQWdCO3NCQUF4QixLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgQWZ0ZXJWaWV3SW5pdCxcbiAgQU5JTUFUSU9OX01PRFVMRV9UWVBFLFxuICBEaXJlY3RpdmUsXG4gIEVsZW1lbnRSZWYsXG4gIEhvc3RCaW5kaW5nLFxuICBJbmplY3QsXG4gIElucHV0LFxuICBOZ1pvbmUsXG4gIE9uQ2hhbmdlcyxcbiAgT25EZXN0cm95LFxuICBPcHRpb25hbCxcbiAgUmVuZGVyZXIyLFxuICBTaW1wbGVDaGFuZ2VzLFxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IE1hdEJhZGdlLCBNYXRCYWRnZVBvc2l0aW9uIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvYmFkZ2UnO1xuaW1wb3J0IHsgQXBwQ29sb3JzIH0gZnJvbSAnLi4vLi4vdHlwZXMnO1xuaW1wb3J0IHsgQXJpYURlc2NyaWJlciB9IGZyb20gJ0Bhbmd1bGFyL2Nkay9hMTF5JztcbmltcG9ydCB7IEJvb2xlYW5JbnB1dCB9IGZyb20gJ0Bhbmd1bGFyL2Nkay9jb2VyY2lvbic7XG5pbXBvcnQgeyBpc05vdE5pbE9yQmxhbmsgfSBmcm9tICcuLi8uLi9mdW5jdGlvbnMnO1xuXG5leHBvcnQgZGVjbGFyZSB0eXBlIE1hdEJhZGdlRmlsbCA9ICdjbGVhcicgfCAnc29saWQnO1xuXG5ARGlyZWN0aXZlKHtcbiAgc2VsZWN0b3I6ICdbYXBwQmFkZ2VdLCBbYXBwQmFkZ2VJY29uXSwgW2FwcEJhZGdlTWF0SWNvbl0nLFxuICBpbnB1dHM6IFtcbiAgICAnY29udGVudDogYXBwQmFkZ2UnLFxuICAgICdkaXNhYmxlZDogYXBwQmFkZ2VEaXNhYmxlZCcsXG4gICAgJ2NvbG9yOiBhcHBCYWRnZUNvbG9yJyxcbiAgICAnc2l6ZTogYXBwQmFkZ2VTaXplJyxcbiAgICAnZmlsbDogYXBwQmFkZ2VGaWxsJyxcbiAgICAnaGlkZGVuOiBhcHBCYWRnZUhpZGRlbicsXG4gICAgJ292ZXJsYXA6IGFwcEJhZGdlT3ZlcmxhcCcsXG4gICAgJ3Bvc2l0aW9uOiBhcHBCYWRnZVBvc2l0aW9uJyxcbiAgXSxcbn0pXG5leHBvcnQgY2xhc3MgQmFkZ2VEaXJlY3RpdmUgZXh0ZW5kcyBNYXRCYWRnZSBpbXBsZW1lbnRzIEFmdGVyVmlld0luaXQsIE9uQ2hhbmdlcywgT25EZXN0cm95IHtcbiAgQEhvc3RCaW5kaW5nKCdjbGFzcy5tYXQtYmFkZ2UnKSB0cnVlO1xuICBASG9zdEJpbmRpbmcoJ2NsYXNzLm1hdC1iYWRnZS1vdmVybGFwJykgZ2V0IGlzT3ZlcmxhcEhvc3QoKSB7XG4gICAgcmV0dXJuIHRoaXMub3ZlcmxhcDtcbiAgfVxuICBASG9zdEJpbmRpbmcoJ2NsYXNzLm1hdC1iYWRnZS1hYm92ZScpIGdldCBpc0Fib3ZlSG9zdCgpIHtcbiAgICByZXR1cm4gdGhpcy5pc0Fib3ZlKCk7XG4gIH1cbiAgQEhvc3RCaW5kaW5nKCdjbGFzcy5tYXQtYmFkZ2UtYmVsb3cnKSBnZXQgaXNCZWxvd0hvc3QoKSB7XG4gICAgcmV0dXJuICF0aGlzLmlzQWJvdmUoKTtcbiAgfVxuICBASG9zdEJpbmRpbmcoJ2NsYXNzLm1hdC1iYWRnZS1iZWZvcmUnKSBnZXQgaXNCZWZvcmVIb3N0KCkge1xuICAgIHJldHVybiAhdGhpcy5pc0FmdGVyKCk7XG4gIH1cbiAgQEhvc3RCaW5kaW5nKCdjbGFzcy5tYXQtYmFkZ2UtYWZ0ZXInKSBnZXQgaXNBZnRlckhvc3QoKSB7XG4gICAgcmV0dXJuIHRoaXMuaXNBZnRlcigpO1xuICB9XG4gIEBIb3N0QmluZGluZygnY2xhc3MubWF0LWJhZGdlLXNtYWxsJykgZ2V0IGlzU21hbGxIb3N0KCkge1xuICAgIHJldHVybiB0aGlzLnNpemUgPT09ICdzbWFsbCc7XG4gIH1cbiAgQEhvc3RCaW5kaW5nKCdjbGFzcy5tYXQtYmFkZ2UtbWVkaXVtJykgZ2V0IGlzTWVkaXVtSG9zdCgpIHtcbiAgICByZXR1cm4gdGhpcy5zaXplID09PSAnbWVkaXVtJztcbiAgfVxuICBASG9zdEJpbmRpbmcoJ2NsYXNzLm1hdC1iYWRnZS1sYXJnZScpIGdldCBpc0xhcmdlSG9zdCgpIHtcbiAgICByZXR1cm4gdGhpcy5zaXplID09PSAnbGFyZ2UnO1xuICB9XG4gIEBIb3N0QmluZGluZygnY2xhc3MubWF0LWJhZGdlLWhpZGRlbicpIGdldCBpc0hpZGRlbkhvc3QoKSB7XG4gICAgcmV0dXJuIHRoaXMuaGlkZGVuIHx8ICF0aGlzLmNvbnRlbnQ7XG4gIH1cbiAgQEhvc3RCaW5kaW5nKCdjbGFzcy5tYXQtYmFkZ2UtZGlzYWJsZWQnKSBnZXQgaXNEaXNhYmxlZEhvc3QoKSB7XG4gICAgcmV0dXJuIHRoaXMuZGlzYWJsZWQ7XG4gIH1cblxuICBASW5wdXQoKSBhcHBCYWRnZUNvbG9yOiBBcHBDb2xvcnM7XG4gIEBJbnB1dCgpIGFwcEJhZGdlRmlsbDogTWF0QmFkZ2VGaWxsO1xuICBASW5wdXQoKSBhcHBCYWRnZU1hdEljb246IHN0cmluZztcbiAgQElucHV0KCkgYXBwQmFkZ2VJY29uOiBzdHJpbmc7XG4gIEBJbnB1dCgpIGFwcEJhZGdlSGlkZGVuOiBCb29sZWFuSW5wdXQ7XG4gIEBJbnB1dCgpIGFwcEJhZGdlT3ZlcmxhcDogQm9vbGVhbklucHV0O1xuICBASW5wdXQoKSBhcHBCYWRnZVBvc2l0aW9uOiBNYXRCYWRnZVBvc2l0aW9uO1xuXG4gIHByaXZhdGUgX2h0bWw6IHN0cmluZztcblxuICBjb25zdHJ1Y3RvcihcbiAgICBfbmdab25lOiBOZ1pvbmUsXG4gICAgcHJvdGVjdGVkIGVsOiBFbGVtZW50UmVmPEhUTUxFbGVtZW50PixcbiAgICBfYXJpYURlc2NyaWJlcjogQXJpYURlc2NyaWJlcixcbiAgICBfcmVuZGVyZXI6IFJlbmRlcmVyMixcbiAgICBAT3B0aW9uYWwoKSBASW5qZWN0KEFOSU1BVElPTl9NT0RVTEVfVFlQRSkgX2FuaW1hdGlvbk1vZGU/OiBzdHJpbmcgfCB1bmRlZmluZWRcbiAgKSB7XG4gICAgc3VwZXIoX25nWm9uZSwgZWwsIF9hcmlhRGVzY3JpYmVyLCBfcmVuZGVyZXIsIF9hbmltYXRpb25Nb2RlKTtcbiAgICB0aGlzLmNvbnRlbnQgPSAweDAwYTA7IC8vIFdpbGwgYmUgaW52aXNpYmxlXG4gIH1cblxuICBuZ09uSW5pdCgpIHtcbiAgICBzdXBlci5uZ09uSW5pdCgpO1xuICB9XG5cbiAgbmdBZnRlclZpZXdJbml0KCkge1xuICAgIHRoaXMudXBkYXRlVmlldygpO1xuICB9XG5cbiAgbmdPbkNoYW5nZXMoY2hhbmdlczogU2ltcGxlQ2hhbmdlcykge1xuICAgIGlmIChcbiAgICAgIGNoYW5nZXMuYXBwQmFkZ2VDb2xvciB8fFxuICAgICAgY2hhbmdlcy5hcHBCYWRnZUZpbGwgfHxcbiAgICAgIGNoYW5nZXMuYXBwQmFkZ2VNYXRJY29uIHx8XG4gICAgICBjaGFuZ2VzLmFwcEJhZGdlSWNvbiB8fFxuICAgICAgY2hhbmdlcy5hcHBCYWRnZUhpZGRlbiB8fFxuICAgICAgY2hhbmdlcy5hcHBCYWRnZU92ZXJsYXAgfHxcbiAgICAgIGNoYW5nZXMuYXBwQmFkZ2VQb3NpdGlvblxuICAgICkge1xuICAgICAgdGhpcy51cGRhdGVWaWV3KCk7XG4gICAgfVxuICB9XG5cbiAgbmdPbkRlc3Ryb3koKSB7XG4gICAgc3VwZXIubmdPbkRlc3Ryb3koKTtcbiAgfVxuXG4gIHByaXZhdGUgdXBkYXRlVmlldygpIHtcbiAgICBjb25zdCBiYWRnZSA9IHRoaXMuZ2V0QmFkZ2VFbGVtZW50KCk7XG4gICAgaWYgKCFiYWRnZSkgcmV0dXJuO1xuXG4gICAgLy8gRml4IGNvbG9yXG4gICAgaWYgKCF0aGlzLmFwcEJhZGdlQ29sb3IpIHRoaXMuYXBwQmFkZ2VDb2xvciA9ICdwcmltYXJ5JztcbiAgICBpZiAodGhpcy5hcHBCYWRnZUNvbG9yID09PSAnd2FybicpIHRoaXMuYXBwQmFkZ2VDb2xvciA9ICd3YXJuaW5nJztcblxuICAgIGxldCBzaXplOiBudW1iZXI7XG4gICAgc3dpdGNoICh0aGlzLnNpemUpIHtcbiAgICAgIGNhc2UgJ2xhcmdlJzpcbiAgICAgICAgc2l6ZSA9IDI0O1xuICAgICAgICBicmVhaztcbiAgICAgIGNhc2UgJ21lZGl1bSc6XG4gICAgICAgIHNpemUgPSAyMjtcbiAgICAgICAgYnJlYWs7XG4gICAgICBjYXNlICdzbWFsbCc6XG4gICAgICAgIHNpemUgPSAxNjtcbiAgICAgICAgYnJlYWs7XG4gICAgfVxuICAgIGxldCBoaWRkZW4gPSB0aGlzLmFwcEJhZGdlSGlkZGVuO1xuICAgIGxldCBodG1sID0gJyc7XG4gICAgaWYgKHRoaXMuYXBwQmFkZ2VNYXRJY29uKSB7XG4gICAgICBodG1sID0gYDxpIGNsYXNzPVwibWF0ZXJpYWwtaWNvbnNcIiBzdHlsZT1cImZvbnQtc2l6ZTogJHtzaXplfXB4O1wiPiR7dGhpcy5hcHBCYWRnZU1hdEljb259PC9pPmA7XG4gICAgfSBlbHNlIGlmICh0aGlzLmFwcEJhZGdlSWNvbikge1xuICAgICAgaHRtbCA9IGA8aW9uLWljb24gc3R5bGU9XCJmb250LXNpemU6ICR7c2l6ZX1weDsgcG9pbnRlci1ldmVudHM6IG5vbmU7XCIgbmFtZT1cIiR7dGhpcy5hcHBCYWRnZUljb259XCI+PC9pb24taWNvbj5gO1xuICAgIH0gZWxzZSBpZiAoaXNOb3ROaWxPckJsYW5rKHRoaXMuY29udGVudCkpIHtcbiAgICAgIGh0bWwgPSAnJyArIHRoaXMuY29udGVudDtcbiAgICB9IGVsc2Uge1xuICAgICAgaGlkZGVuID0gdHJ1ZTtcbiAgICB9XG4gICAgaWYgKCFoaWRkZW4gJiYgdGhpcy5faHRtbCAhPT0gaHRtbCkge1xuICAgICAgdGhpcy5faHRtbCA9IGh0bWw7XG4gICAgICBiYWRnZS5pbm5lckhUTUwgPSBodG1sO1xuICAgIH1cblxuICAgIC8vIFVwZGF0ZSBzdHlsZVxuICAgIC8vIGZpbGw6ICdjbGVhcidcbiAgICBpZiAodGhpcy5hcHBCYWRnZUZpbGwgPT09ICdjbGVhcicpIHtcbiAgICAgIGJhZGdlLnN0eWxlLmNvbG9yID0gYHZhcigtLWlvbi1jb2xvci0ke3RoaXMuYXBwQmFkZ2VDb2xvcn0pYDtcbiAgICAgIGJhZGdlLnN0eWxlLmJhY2tncm91bmQgPSAndHJhbnNwYXJlbnQnO1xuICAgIH1cbiAgICAvLyBmaWxsOiAnc29saWQnIChkZWZhdWx0IHZhbHVlKVxuICAgIGVsc2Uge1xuICAgICAgYmFkZ2Uuc3R5bGUuYmFja2dyb3VuZCA9IGB2YXIoLS1pb24tY29sb3ItJHt0aGlzLmFwcEJhZGdlQ29sb3J9KWA7XG4gICAgICBiYWRnZS5zdHlsZS5jb2xvciA9IGB2YXIoLS1pb24tY29sb3ItJHt0aGlzLmFwcEJhZGdlQ29sb3J9LWNvbnRyYXN0KWA7XG4gICAgfVxuXG4gICAgaWYgKGhpZGRlbikgYmFkZ2Uuc3R5bGUuZGlzcGxheSA9ICdub25lJztcbiAgICBlbHNlIHtcbiAgICAgIGlmIChiYWRnZS5zdHlsZS5kaXNwbGF5ICE9PSAnaW5saW5lLWJsb2NrJykgYmFkZ2Uuc3R5bGUuZGlzcGxheSA9ICdpbmxpbmUtYmxvY2snO1xuICAgICAgaWYgKGJhZGdlLnN0eWxlLnBvc2l0aW9uICE9PSAnYWJzb2x1dGUnKSBiYWRnZS5zdHlsZS5wb3NpdGlvbiA9ICdhYnNvbHV0ZSc7XG5cbiAgICAgIC8qXG4gICAgICAvLyBXT0FSS1JPVU5EIHRvIGZvcmNlIHBvc2l0aW9uIG9mIHRoZSBiYWRnZSwgd2hlbiBpbnNpZGUgYSA8bWF0LWJ1dHRvbj4gKGUuZy4gb24gYSA8bWF0LWxhYmVsPilcbiAgICAgIGNvbnN0IG92ZXJsYXAgPSB0aGlzLm92ZXJsYXA7XG5cbiAgICAgIC8vIFJpZ2h0L2xlZnQgcG9zaXRpb25cbiAgICAgIGlmICh0aGlzLmlzQWZ0ZXIoKSApIHtcbiAgICAgICAgY29uc3QgcGFyZW50V2lkdGggPSBiYWRnZS5wYXJlbnRFbGVtZW50LmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpLndpZHRoO1xuICAgICAgICBpZiAocGFyZW50V2lkdGggPiAwKSB7XG4gICAgICAgICAgY29uc3QgbGVmdCA9IGAke3BhcmVudFdpZHRoIC0gKG92ZXJsYXAgPyBzaXplIC8gMiA6IDApfXB4YDtcbiAgICAgICAgICBpZiAoYmFkZ2Uuc3R5bGUubGVmdCAhPT0gbGVmdCkgYmFkZ2Uuc3R5bGUubGVmdCA9IGxlZnQ7XG4gICAgICAgICAgaWYgKGJhZGdlLnN0eWxlLnJpZ2h0ICE9PSAnJykgYmFkZ2Uuc3R5bGUucmlnaHQgPSAnJztcbiAgICAgICAgfVxuICAgICAgICBlbHNlIHtcbiAgICAgICAgICBjb25zdCByaWdodCA9IGAkey0xICogKG92ZXJsYXAgPyBzaXplIC8gMiA6IHNpemUpfXB4YDtcbiAgICAgICAgICBpZiAoYmFkZ2Uuc3R5bGUucmlnaHQgIT09IHJpZ2h0KSBiYWRnZS5zdHlsZS5yaWdodCA9IHJpZ2h0O1xuICAgICAgICAgIGlmIChiYWRnZS5zdHlsZS5sZWZ0ICE9PSAnJykgYmFkZ2Uuc3R5bGUubGVmdCA9ICcnO1xuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgIC8vIFRvcC9ib3R0b20gcG9zaXRpb25cbiAgICAgIGlmICh0aGlzLmlzQWJvdmUoKSkge1xuICAgICAgICBjb25zdCBwYXJlbnRIZWlnaHQgPSBiYWRnZS5wYXJlbnRFbGVtZW50LmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpLmhlaWdodDtcbiAgICAgICAgaWYgKHBhcmVudEhlaWdodCA+IDApIHtcbiAgICAgICAgICBjb25zdCBib3R0b20gPSBgJHtwYXJlbnRIZWlnaHQgLSAob3ZlcmxhcCA/IChzaXplIC8gMikgOiBzaXplKX1weGA7XG4gICAgICAgICAgaWYgKGJhZGdlLnN0eWxlLmJvdHRvbSAhPT0gYm90dG9tKSBiYWRnZS5zdHlsZS5ib3R0b20gPSBib3R0b207XG4gICAgICAgICAgaWYgKGJhZGdlLnN0eWxlLnRvcCAhPT0gJycpIGJhZGdlLnN0eWxlLnRvcCA9ICcnO1xuICAgICAgICB9XG4gICAgICAgIGVsc2Uge1xuICAgICAgICAgIGNvbnN0IHRvcCA9IGAkey0xICogKG92ZXJsYXAgPyAoc2l6ZSAvIDIpIDogc2l6ZSl9cHhgO1xuICAgICAgICAgIGlmIChiYWRnZS5zdHlsZS50b3AgIT09IHRvcCkgYmFkZ2Uuc3R5bGUudG9wID0gdG9wO1xuICAgICAgICAgIGlmIChiYWRnZS5zdHlsZS5ib3R0b20gIT09ICcnKSBiYWRnZS5zdHlsZS5ib3R0b20gPSAnJztcbiAgICAgICAgfVxuICAgICAgfSovXG4gICAgfVxuICB9XG59XG4iXX0=
@@ -5,28 +5,16 @@ import { BadgeDirective } from './badge.directive';
5
5
  import { MatBadgeModule } from '@angular/material/badge';
6
6
  import * as i0 from "@angular/core";
7
7
  export class SharedBadgeModule {
8
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.1.1", ngImport: i0, type: SharedBadgeModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
9
- static ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "17.1.1", ngImport: i0, type: SharedBadgeModule, declarations: [BadgeDirective], imports: [CommonModule,
10
- IonicModule,
11
- MatBadgeModule], exports: [BadgeDirective] });
12
- static ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "17.1.1", ngImport: i0, type: SharedBadgeModule, imports: [CommonModule,
13
- IonicModule,
14
- MatBadgeModule] });
8
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.1.3", ngImport: i0, type: SharedBadgeModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
9
+ static ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "17.1.3", ngImport: i0, type: SharedBadgeModule, declarations: [BadgeDirective], imports: [CommonModule, IonicModule, MatBadgeModule], exports: [BadgeDirective] });
10
+ static ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "17.1.3", ngImport: i0, type: SharedBadgeModule, imports: [CommonModule, IonicModule, MatBadgeModule] });
15
11
  }
16
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.1.1", ngImport: i0, type: SharedBadgeModule, decorators: [{
12
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.1.3", ngImport: i0, type: SharedBadgeModule, decorators: [{
17
13
  type: NgModule,
18
14
  args: [{
19
- imports: [
20
- CommonModule,
21
- IonicModule,
22
- MatBadgeModule,
23
- ],
24
- exports: [
25
- BadgeDirective
26
- ],
27
- declarations: [
28
- BadgeDirective
29
- ]
15
+ imports: [CommonModule, IonicModule, MatBadgeModule],
16
+ exports: [BadgeDirective],
17
+ declarations: [BadgeDirective],
30
18
  }]
31
19
  }] });
32
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYmFkZ2UubW9kdWxlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vc3JjL2FwcC9zaGFyZWQvbWF0ZXJpYWwvYmFkZ2UvYmFkZ2UubW9kdWxlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBQyxRQUFRLEVBQUMsTUFBTSxlQUFlLENBQUM7QUFDdkMsT0FBTyxFQUFDLFlBQVksRUFBQyxNQUFNLGlCQUFpQixDQUFDO0FBQzdDLE9BQU8sRUFBQyxXQUFXLEVBQUMsTUFBTSxnQkFBZ0IsQ0FBQztBQUMzQyxPQUFPLEVBQUMsY0FBYyxFQUFDLE1BQU0sbUJBQW1CLENBQUM7QUFDakQsT0FBTyxFQUFDLGNBQWMsRUFBQyxNQUFNLHlCQUF5QixDQUFDOztBQWV2RCxNQUFNLE9BQU8saUJBQWlCO3VHQUFqQixpQkFBaUI7d0dBQWpCLGlCQUFpQixpQkFIMUIsY0FBYyxhQVJkLFlBQVk7WUFDWixXQUFXO1lBQ1gsY0FBYyxhQUdkLGNBQWM7d0dBTUwsaUJBQWlCLFlBWDFCLFlBQVk7WUFDWixXQUFXO1lBQ1gsY0FBYzs7MkZBU0wsaUJBQWlCO2tCQWI3QixRQUFRO21CQUFDO29CQUNSLE9BQU8sRUFBRTt3QkFDUCxZQUFZO3dCQUNaLFdBQVc7d0JBQ1gsY0FBYztxQkFDZjtvQkFDRCxPQUFPLEVBQUU7d0JBQ1AsY0FBYztxQkFDZjtvQkFDRCxZQUFZLEVBQUU7d0JBQ1osY0FBYztxQkFDZjtpQkFDRiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7TmdNb2R1bGV9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHtDb21tb25Nb2R1bGV9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQge0lvbmljTW9kdWxlfSBmcm9tICdAaW9uaWMvYW5ndWxhcic7XG5pbXBvcnQge0JhZGdlRGlyZWN0aXZlfSBmcm9tICcuL2JhZGdlLmRpcmVjdGl2ZSc7XG5pbXBvcnQge01hdEJhZGdlTW9kdWxlfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9iYWRnZSc7XG5cbkBOZ01vZHVsZSh7XG4gIGltcG9ydHM6IFtcbiAgICBDb21tb25Nb2R1bGUsXG4gICAgSW9uaWNNb2R1bGUsXG4gICAgTWF0QmFkZ2VNb2R1bGUsXG4gIF0sXG4gIGV4cG9ydHM6IFtcbiAgICBCYWRnZURpcmVjdGl2ZVxuICBdLFxuICBkZWNsYXJhdGlvbnM6IFtcbiAgICBCYWRnZURpcmVjdGl2ZVxuICBdXG59KVxuZXhwb3J0IGNsYXNzIFNoYXJlZEJhZGdlTW9kdWxlIHtcbn1cblxuIl19
20
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYmFkZ2UubW9kdWxlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vc3JjL2FwcC9zaGFyZWQvbWF0ZXJpYWwvYmFkZ2UvYmFkZ2UubW9kdWxlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDekMsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQy9DLE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUM3QyxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sbUJBQW1CLENBQUM7QUFDbkQsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLHlCQUF5QixDQUFDOztBQU96RCxNQUFNLE9BQU8saUJBQWlCO3VHQUFqQixpQkFBaUI7d0dBQWpCLGlCQUFpQixpQkFGYixjQUFjLGFBRm5CLFlBQVksRUFBRSxXQUFXLEVBQUUsY0FBYyxhQUN6QyxjQUFjO3dHQUdiLGlCQUFpQixZQUpsQixZQUFZLEVBQUUsV0FBVyxFQUFFLGNBQWM7OzJGQUl4QyxpQkFBaUI7a0JBTDdCLFFBQVE7bUJBQUM7b0JBQ1IsT0FBTyxFQUFFLENBQUMsWUFBWSxFQUFFLFdBQVcsRUFBRSxjQUFjLENBQUM7b0JBQ3BELE9BQU8sRUFBRSxDQUFDLGNBQWMsQ0FBQztvQkFDekIsWUFBWSxFQUFFLENBQUMsY0FBYyxDQUFDO2lCQUMvQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IE5nTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBDb21tb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHsgSW9uaWNNb2R1bGUgfSBmcm9tICdAaW9uaWMvYW5ndWxhcic7XG5pbXBvcnQgeyBCYWRnZURpcmVjdGl2ZSB9IGZyb20gJy4vYmFkZ2UuZGlyZWN0aXZlJztcbmltcG9ydCB7IE1hdEJhZGdlTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvYmFkZ2UnO1xuXG5ATmdNb2R1bGUoe1xuICBpbXBvcnRzOiBbQ29tbW9uTW9kdWxlLCBJb25pY01vZHVsZSwgTWF0QmFkZ2VNb2R1bGVdLFxuICBleHBvcnRzOiBbQmFkZ2VEaXJlY3RpdmVdLFxuICBkZWNsYXJhdGlvbnM6IFtCYWRnZURpcmVjdGl2ZV0sXG59KVxuZXhwb3J0IGNsYXNzIFNoYXJlZEJhZGdlTW9kdWxlIHt9XG4iXX0=
@@ -32,11 +32,11 @@ export class MatBadgeTestPage {
32
32
  this.matBadgeContent = event.target.value;
33
33
  this.cd.markForCheck();
34
34
  }
35
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.1.1", ngImport: i0, type: MatBadgeTestPage, deps: [{ token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component });
36
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.1.1", type: MatBadgeTestPage, selector: "mat-badge-test", ngImport: i0, template: "\n<ion-header>\n <ion-toolbar color=\"primary\">\n\n <ion-buttons slot=\"start\">\n <ion-back-button></ion-back-button>\n </ion-buttons>\n\n <ion-title>matBadgeIcon directive</ion-title>\n </ion-toolbar>\n</ion-header>\n\n<ion-content class=\"ion-padding\">\n\n <!-- small badge -->\n <p>\n <ion-text color=\"tertiary\">\n <span appBadge\n appBadgeMatIcon=\"check\"\n appBadgeSize=\"small\"\n appBadgeColor=\"accent\"\n appBadgeOverlap=\"false\">Small badge\n <span class=\"mat-badge-content\"></span>\n </span>\n </ion-text>\n </p>\n\n <!-- medium badge -->\n <p>\n <ion-text appBadge appBadgeMatIcon=\"check\"\n appBadgeSize=\"medium\"\n [appBadgeColor]=\"'tertiary'|matColor\"\n appBadgeOverlap=\"false\"\n >Medium badge</ion-text>\n </p>\n\n <!-- small badge -->\n <p>\n <ion-label appBadge appBadgeMatIcon=\"close\" appBadgeSize=\"large\"\n appBadgeOverlap=\"false\">Large badge</ion-label>\n </p>\n\n <!-- default size badge -->\n <p>\n <ion-label appBadge appBadgeMatIcon=\"check\" [appBadgeColor]=\"'success'|matColor\"\n appBadgeOverlap=\"false\">Badge (no size, no color)\n </ion-label>\n </p>\n\n <!-- ion icon -->\n <p>\n <ion-label appBadge\n appBadgeIcon=\"checkmark\"\n [appBadgeColor]=\"'success'|matColor\"\n appBadgeOverlap=\"false\">Badge with ion-icon\n </ion-label>\n </p>\n\n <!-- ion icon clear -->\n <p>\n <ion-label appBadge\n appBadgeIcon=\"checkmark-circle\"\n [appBadgeColor]=\"'tertiary'|matColor\"\n appBadgeFill=\"clear\"\n appBadgeOverlap=\"false\">Badge with clear icon\n </ion-label>\n </p>\n\n <!-- changing text-->\n <ion-row>\n <ion-col>\n <ion-label appBadge\n appBadgeIcon=\"checkmark-circle\"\n [appBadgeColor]=\"'tertiary'|matColor\"\n appBadgeFill=\"clear\"\n appBadgeOverlap=\"false\">{{userText}}\n </ion-label>\n </ion-col>\n <ion-col>\n <input type=\"text\" [value]=\"userText\" (input)=\"onInputChanged($event)\">\n </ion-col>\n </ion-row>\n\n <ion-row>\n <ion-col>Configurable example :</ion-col>\n </ion-row>\n <ion-row class=\"ion-no-padding\">\n <ion-col size=\"auto\">\n <mat-icon [style.color]=\"'var(--ion-color-secondary)'\"\n appBadge\n [appBadgeIcon]=\"$icon|async\"\n [appBadgeColor]=\"$color|async|matColor\"\n [appBadgeHidden]=\"$hidden|async\"\n [appBadgeFill]=\"$fill|async\"\n [appBadgeSize]=\"$size|async\"\n appBadgeOverlap=\"true\"\n appBadgePosition=\"above before\">\n <ion-icon slot=\"icon-only\"\n [color]=\"'secondary'\"\n name=\"navigate\"\n ></ion-icon>\n </mat-icon>\n </ion-col>\n\n <ion-col>\n <mat-form-field>\n <mat-label>appBadgeColor</mat-label>\n <mat-select [value]=\"$color.value\"\n (selectionChange)=\"this.$color.next($event.value)\">\n <mat-option [value]=\"'primary'\">primary</mat-option>\n <mat-option [value]=\"'secondary'\">secondary</mat-option>\n <mat-option [value]=\"'tertiary'\">tertiary</mat-option>\n <mat-option [value]=\"'danger'\">danger</mat-option>\n </mat-select>\n </mat-form-field>\n </ion-col>\n\n <ion-col>\n <mat-form-field>\n <mat-label>appBadgeIcon</mat-label>\n <mat-select [value]=\"$icon.value\"\n (selectionChange)=\"this.$icon.next($event.value)\">\n <mat-option [value]=\"'checkmark-circle'\">checkmark-circle</mat-option>\n <mat-option [value]=\"'alert-circle'\">alert-circle</mat-option>\n <mat-option [value]=\"'alert'\">alert</mat-option>\n <mat-option [value]=\"'flag'\">flag</mat-option>\n </mat-select>\n </mat-form-field>\n </ion-col>\n\n <ion-col>\n <mat-form-field>\n <mat-label>appBadgeSize</mat-label>\n <mat-select [value]=\"$size.value\"\n (selectionChange)=\"this.$size.next($event.value)\">\n <mat-option [value]=\"'large'\">large</mat-option>\n <mat-option [value]=\"'medium'\">medium</mat-option>\n <mat-option [value]=\"'small'\">small</mat-option>\n </mat-select>\n </mat-form-field>\n </ion-col>\n\n <ion-col>\n <mat-form-field>\n <mat-label>appBadgeFill</mat-label>\n <mat-select [value]=\"$fill.value\"\n (selectionChange)=\"this.$fill.next($event.value)\">\n <mat-option [value]=\"'clear'\">clear</mat-option>\n <mat-option [value]=\"'solid'\">solid</mat-option>\n </mat-select>\n </mat-form-field>\n </ion-col>\n\n <ion-col>\n <mat-form-field>\n <mat-label>appBadgeHidden</mat-label>\n <mat-select [value]=\"$hidden.value\"\n (selectionChange)=\"this.$hidden.next($event.value)\">\n <mat-option [value]=\"true\">true</mat-option>\n <mat-option [value]=\"false\">false</mat-option>\n </mat-select>\n </mat-form-field>\n </ion-col>\n\n </ion-row>\n\n <ion-row>\n <ion-col size=\"auto\">\n <p>mat-raised-button:</p>\n </ion-col>\n <ion-col>\n <button mat-raised-button color=\"primary\"\n [appBadgeIcon]=\"$icon|async\"\n [appBadgeColor]=\"$color|async|matColor\"\n [appBadgeHidden]=\"$hidden|async\"\n [appBadgeFill]=\"$fill|async\"\n [appBadgeSize]=\"$size|async\"\n appBadgeOverlap=\"true\"\n appBadgePosition=\"below after\">\n {{userText}}\n </button>\n </ion-col>\n </ion-row>\n\n <ion-row>\n <ion-col size=\"auto\">\n <p>mat-button with mat-label:</p>\n </ion-col>\n <ion-col>\n <button mat-button color=\"primary\"\n class=\"ion-no-padding\"\n [appBadgeIcon]=\"$icon|async\"\n [appBadgeColor]=\"$color|async|matColor\"\n [appBadgeHidden]=\"$hidden|async\"\n [appBadgeFill]=\"$fill|async\"\n [appBadgeSize]=\"$size|async\"\n matBadgeOverlap=\"true\"\n matBadgePosition=\"above after\">\n {{userText}}\n </button>\n </ion-col>\n </ion-row>\n\n <h4>Angular Material Badge (standard way)</h4>\n\n <ion-row>\n <ion-col size=\"auto\">\n <p>mat-icon:</p>\n </ion-col>\n <ion-col>\n <mat-icon [style.color]=\"'var(--ion-color-secondary)'\"\n [matBadge]=\"'!'\"\n [matBadgeColor]=\"$color|async|matColor\"\n [matBadgeHidden]=\"$hidden|async\"\n [matBadgeSize]=\"$size|async\"\n matBadgeOverlap=\"true\">\n <ion-icon slot=\"icon-only\"\n [color]=\"'secondary'\"\n name=\"navigate\"\n ></ion-icon>\n </mat-icon>\n </ion-col>\n </ion-row>\n\n <ion-row>\n <ion-col size=\"auto\">\n <p>mat-button:</p>\n </ion-col>\n <ion-col>\n <button mat-raised-button color=\"primary\" [matBadge]=\"matBadgeContent\"\n [matBadgeColor]=\"$color|async|matColor\"\n [matBadgeHidden]=\"$hidden|async\"\n [matBadgeSize]=\"$size|async\"\n matBadgeOverlap=\"true\"\n matBadgePosition=\"above after\">\n {{userText}}\n </button>\n </ion-col>\n\n <ion-col>\n <input type=\"text\" [value]=\"matBadgeContent\" (input)=\"onMatBadgeContentChanged($event)\">\n </ion-col>\n </ion-row>\n\n <ion-row>\n <ion-col size=\"auto\">\n <p>mat-button</p>\n </ion-col>\n <ion-col>\n <button mat-button color=\"primary\"\n [matBadge]=\"matBadgeContent\"\n [matBadgeColor]=\"$color|async|matColor\"\n [matBadgeHidden]=\"$hidden|async\"\n [matBadgeSize]=\"$size|async\"\n matBadgeOverlap=\"true\"\n matBadgePosition=\"after\">\n {{userText}}\n </button>\n </ion-col>\n </ion-row>\n</ion-content>\n", dependencies: [{ kind: "component", type: i1.IonButtons, selector: "ion-buttons", inputs: ["collapse"] }, { kind: "component", type: i1.IonCol, selector: "ion-col", inputs: ["offset", "offsetLg", "offsetMd", "offsetSm", "offsetXl", "offsetXs", "pull", "pullLg", "pullMd", "pullSm", "pullXl", "pullXs", "push", "pushLg", "pushMd", "pushSm", "pushXl", "pushXs", "size", "sizeLg", "sizeMd", "sizeSm", "sizeXl", "sizeXs"] }, { kind: "component", type: i1.IonContent, selector: "ion-content", inputs: ["color", "forceOverscroll", "fullscreen", "scrollEvents", "scrollX", "scrollY"] }, { kind: "component", type: i1.IonHeader, selector: "ion-header", inputs: ["collapse", "mode", "translucent"] }, { kind: "component", type: i1.IonIcon, selector: "ion-icon", inputs: ["color", "flipRtl", "icon", "ios", "lazy", "md", "mode", "name", "sanitize", "size", "src"] }, { kind: "component", type: i1.IonLabel, selector: "ion-label", inputs: ["color", "mode", "position"] }, { kind: "component", type: i1.IonRow, selector: "ion-row" }, { kind: "component", type: i1.IonText, selector: "ion-text", inputs: ["color", "mode"] }, { kind: "component", type: i1.IonTitle, selector: "ion-title", inputs: ["color", "size"] }, { kind: "component", type: i1.IonToolbar, selector: "ion-toolbar", inputs: ["color", "mode"] }, { kind: "component", type: i1.IonBackButton, selector: "ion-back-button" }, { kind: "component", type: i2.MatFormField, selector: "mat-form-field", inputs: ["hideRequiredMarker", "color", "floatLabel", "appearance", "subscriptSizing", "hintLabel"], exportAs: ["matFormField"] }, { kind: "directive", type: i2.MatLabel, selector: "mat-label" }, { kind: "component", type: i3.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "component", type: i4.MatButton, selector: " button[mat-button], button[mat-raised-button], button[mat-flat-button], button[mat-stroked-button] ", exportAs: ["matButton"] }, { kind: "component", type: i5.MatSelect, selector: "mat-select", inputs: ["disabled", "disableRipple", "tabIndex", "aria-describedby", "panelClass", "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: "component", type: i6.MatOption, selector: "mat-option", inputs: ["value", "id", "disabled"], outputs: ["onSelectionChange"], exportAs: ["matOption"] }, { kind: "directive", type: i7.MatBadge, selector: "[matBadge]", inputs: ["matBadgeColor", "matBadgeOverlap", "matBadgeDisabled", "matBadgePosition", "matBadge", "matBadgeDescription", "matBadgeSize", "matBadgeHidden"] }, { kind: "directive", type: i8.BadgeDirective, selector: "[appBadge], [appBadgeIcon], [appBadgeMatIcon]", inputs: ["appBadge", "appBadgeDisabled", "appBadgeColor", "appBadgeSize", "appBadgeFill", "appBadgeHidden", "appBadgeOverlap", "appBadgePosition", "appBadgeMatIcon", "appBadgeIcon"] }, { kind: "pipe", type: i9.AsyncPipe, name: "async" }, { kind: "pipe", type: i10.MatColorPipe, name: "matColor" }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
35
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.1.3", ngImport: i0, type: MatBadgeTestPage, deps: [{ token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component });
36
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.1.3", type: MatBadgeTestPage, selector: "mat-badge-test", ngImport: i0, template: "<ion-header>\n <ion-toolbar color=\"primary\">\n <ion-buttons slot=\"start\">\n <ion-back-button></ion-back-button>\n </ion-buttons>\n\n <ion-title>matBadgeIcon directive</ion-title>\n </ion-toolbar>\n</ion-header>\n\n<ion-content class=\"ion-padding\">\n <!-- small badge -->\n <p>\n <ion-text color=\"tertiary\">\n <span appBadge appBadgeMatIcon=\"check\" appBadgeSize=\"small\" appBadgeColor=\"accent\" appBadgeOverlap=\"false\">\n Small badge\n <span class=\"mat-badge-content\"></span>\n </span>\n </ion-text>\n </p>\n\n <!-- medium badge -->\n <p>\n <ion-text\n appBadge\n appBadgeMatIcon=\"check\"\n appBadgeSize=\"medium\"\n [appBadgeColor]=\"'tertiary' | matColor\"\n appBadgeOverlap=\"false\"\n >\n Medium badge\n </ion-text>\n </p>\n\n <!-- small badge -->\n <p>\n <ion-label appBadge appBadgeMatIcon=\"close\" appBadgeSize=\"large\" appBadgeOverlap=\"false\">Large badge</ion-label>\n </p>\n\n <!-- default size badge -->\n <p>\n <ion-label appBadge appBadgeMatIcon=\"check\" [appBadgeColor]=\"'success' | matColor\" appBadgeOverlap=\"false\">\n Badge (no size, no color)\n </ion-label>\n </p>\n\n <!-- ion icon -->\n <p>\n <ion-label appBadge appBadgeIcon=\"checkmark\" [appBadgeColor]=\"'success' | matColor\" appBadgeOverlap=\"false\">\n Badge with ion-icon\n </ion-label>\n </p>\n\n <!-- ion icon clear -->\n <p>\n <ion-label\n appBadge\n appBadgeIcon=\"checkmark-circle\"\n [appBadgeColor]=\"'tertiary' | matColor\"\n appBadgeFill=\"clear\"\n appBadgeOverlap=\"false\"\n >\n Badge with clear icon\n </ion-label>\n </p>\n\n <!-- changing text-->\n <ion-row>\n <ion-col>\n <ion-label\n appBadge\n appBadgeIcon=\"checkmark-circle\"\n [appBadgeColor]=\"'tertiary' | matColor\"\n appBadgeFill=\"clear\"\n appBadgeOverlap=\"false\"\n >\n {{ userText }}\n </ion-label>\n </ion-col>\n <ion-col>\n <input type=\"text\" [value]=\"userText\" (input)=\"onInputChanged($event)\" />\n </ion-col>\n </ion-row>\n\n <ion-row>\n <ion-col>Configurable example :</ion-col>\n </ion-row>\n <ion-row class=\"ion-no-padding\">\n <ion-col size=\"auto\">\n <mat-icon\n [style.color]=\"'var(--ion-color-secondary)'\"\n appBadge\n [appBadgeIcon]=\"$icon | async\"\n [appBadgeColor]=\"$color | async | matColor\"\n [appBadgeHidden]=\"$hidden | async\"\n [appBadgeFill]=\"$fill | async\"\n [appBadgeSize]=\"$size | async\"\n appBadgeOverlap=\"true\"\n appBadgePosition=\"above before\"\n >\n <ion-icon slot=\"icon-only\" [color]=\"'secondary'\" name=\"navigate\"></ion-icon>\n </mat-icon>\n </ion-col>\n\n <ion-col>\n <mat-form-field>\n <mat-label>appBadgeColor</mat-label>\n <mat-select [value]=\"$color.value\" (selectionChange)=\"this.$color.next($event.value)\">\n <mat-option [value]=\"'primary'\">primary</mat-option>\n <mat-option [value]=\"'secondary'\">secondary</mat-option>\n <mat-option [value]=\"'tertiary'\">tertiary</mat-option>\n <mat-option [value]=\"'danger'\">danger</mat-option>\n </mat-select>\n </mat-form-field>\n </ion-col>\n\n <ion-col>\n <mat-form-field>\n <mat-label>appBadgeIcon</mat-label>\n <mat-select [value]=\"$icon.value\" (selectionChange)=\"this.$icon.next($event.value)\">\n <mat-option [value]=\"'checkmark-circle'\">checkmark-circle</mat-option>\n <mat-option [value]=\"'alert-circle'\">alert-circle</mat-option>\n <mat-option [value]=\"'alert'\">alert</mat-option>\n <mat-option [value]=\"'flag'\">flag</mat-option>\n </mat-select>\n </mat-form-field>\n </ion-col>\n\n <ion-col>\n <mat-form-field>\n <mat-label>appBadgeSize</mat-label>\n <mat-select [value]=\"$size.value\" (selectionChange)=\"this.$size.next($event.value)\">\n <mat-option [value]=\"'large'\">large</mat-option>\n <mat-option [value]=\"'medium'\">medium</mat-option>\n <mat-option [value]=\"'small'\">small</mat-option>\n </mat-select>\n </mat-form-field>\n </ion-col>\n\n <ion-col>\n <mat-form-field>\n <mat-label>appBadgeFill</mat-label>\n <mat-select [value]=\"$fill.value\" (selectionChange)=\"this.$fill.next($event.value)\">\n <mat-option [value]=\"'clear'\">clear</mat-option>\n <mat-option [value]=\"'solid'\">solid</mat-option>\n </mat-select>\n </mat-form-field>\n </ion-col>\n\n <ion-col>\n <mat-form-field>\n <mat-label>appBadgeHidden</mat-label>\n <mat-select [value]=\"$hidden.value\" (selectionChange)=\"this.$hidden.next($event.value)\">\n <mat-option [value]=\"true\">true</mat-option>\n <mat-option [value]=\"false\">false</mat-option>\n </mat-select>\n </mat-form-field>\n </ion-col>\n </ion-row>\n\n <ion-row>\n <ion-col size=\"auto\">\n <p>mat-raised-button:</p>\n </ion-col>\n <ion-col>\n <button\n mat-raised-button\n color=\"primary\"\n [appBadgeIcon]=\"$icon | async\"\n [appBadgeColor]=\"$color | async | matColor\"\n [appBadgeHidden]=\"$hidden | async\"\n [appBadgeFill]=\"$fill | async\"\n [appBadgeSize]=\"$size | async\"\n appBadgeOverlap=\"true\"\n appBadgePosition=\"below after\"\n >\n {{ userText }}\n </button>\n </ion-col>\n </ion-row>\n\n <ion-row>\n <ion-col size=\"auto\">\n <p>mat-button with mat-label:</p>\n </ion-col>\n <ion-col>\n <button\n mat-button\n color=\"primary\"\n class=\"ion-no-padding\"\n [appBadgeIcon]=\"$icon | async\"\n [appBadgeColor]=\"$color | async | matColor\"\n [appBadgeHidden]=\"$hidden | async\"\n [appBadgeFill]=\"$fill | async\"\n [appBadgeSize]=\"$size | async\"\n matBadgeOverlap=\"true\"\n matBadgePosition=\"above after\"\n >\n {{ userText }}\n </button>\n </ion-col>\n </ion-row>\n\n <h4>Angular Material Badge (standard way)</h4>\n\n <ion-row>\n <ion-col size=\"auto\">\n <p>mat-icon:</p>\n </ion-col>\n <ion-col>\n <mat-icon\n [style.color]=\"'var(--ion-color-secondary)'\"\n [matBadge]=\"'!'\"\n [matBadgeColor]=\"$color | async | matColor\"\n [matBadgeHidden]=\"$hidden | async\"\n [matBadgeSize]=\"$size | async\"\n matBadgeOverlap=\"true\"\n >\n <ion-icon slot=\"icon-only\" [color]=\"'secondary'\" name=\"navigate\"></ion-icon>\n </mat-icon>\n </ion-col>\n </ion-row>\n\n <ion-row>\n <ion-col size=\"auto\">\n <p>mat-button:</p>\n </ion-col>\n <ion-col>\n <button\n mat-raised-button\n color=\"primary\"\n [matBadge]=\"matBadgeContent\"\n [matBadgeColor]=\"$color | async | matColor\"\n [matBadgeHidden]=\"$hidden | async\"\n [matBadgeSize]=\"$size | async\"\n matBadgeOverlap=\"true\"\n matBadgePosition=\"above after\"\n >\n {{ userText }}\n </button>\n </ion-col>\n\n <ion-col>\n <input type=\"text\" [value]=\"matBadgeContent\" (input)=\"onMatBadgeContentChanged($event)\" />\n </ion-col>\n </ion-row>\n\n <ion-row>\n <ion-col size=\"auto\">\n <p>mat-button</p>\n </ion-col>\n <ion-col>\n <button\n mat-button\n color=\"primary\"\n [matBadge]=\"matBadgeContent\"\n [matBadgeColor]=\"$color | async | matColor\"\n [matBadgeHidden]=\"$hidden | async\"\n [matBadgeSize]=\"$size | async\"\n matBadgeOverlap=\"true\"\n matBadgePosition=\"after\"\n >\n {{ userText }}\n </button>\n </ion-col>\n </ion-row>\n</ion-content>\n", dependencies: [{ kind: "component", type: i1.IonButtons, selector: "ion-buttons", inputs: ["collapse"] }, { kind: "component", type: i1.IonCol, selector: "ion-col", inputs: ["offset", "offsetLg", "offsetMd", "offsetSm", "offsetXl", "offsetXs", "pull", "pullLg", "pullMd", "pullSm", "pullXl", "pullXs", "push", "pushLg", "pushMd", "pushSm", "pushXl", "pushXs", "size", "sizeLg", "sizeMd", "sizeSm", "sizeXl", "sizeXs"] }, { kind: "component", type: i1.IonContent, selector: "ion-content", inputs: ["color", "forceOverscroll", "fullscreen", "scrollEvents", "scrollX", "scrollY"] }, { kind: "component", type: i1.IonHeader, selector: "ion-header", inputs: ["collapse", "mode", "translucent"] }, { kind: "component", type: i1.IonIcon, selector: "ion-icon", inputs: ["color", "flipRtl", "icon", "ios", "lazy", "md", "mode", "name", "sanitize", "size", "src"] }, { kind: "component", type: i1.IonLabel, selector: "ion-label", inputs: ["color", "mode", "position"] }, { kind: "component", type: i1.IonRow, selector: "ion-row" }, { kind: "component", type: i1.IonText, selector: "ion-text", inputs: ["color", "mode"] }, { kind: "component", type: i1.IonTitle, selector: "ion-title", inputs: ["color", "size"] }, { kind: "component", type: i1.IonToolbar, selector: "ion-toolbar", inputs: ["color", "mode"] }, { kind: "component", type: i1.IonBackButton, selector: "ion-back-button" }, { kind: "component", type: i2.MatFormField, selector: "mat-form-field", inputs: ["hideRequiredMarker", "color", "floatLabel", "appearance", "subscriptSizing", "hintLabel"], exportAs: ["matFormField"] }, { kind: "directive", type: i2.MatLabel, selector: "mat-label" }, { kind: "component", type: i3.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "component", type: i4.MatButton, selector: " button[mat-button], button[mat-raised-button], button[mat-flat-button], button[mat-stroked-button] ", exportAs: ["matButton"] }, { kind: "component", type: i5.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: "component", type: i6.MatOption, selector: "mat-option", inputs: ["value", "id", "disabled"], outputs: ["onSelectionChange"], exportAs: ["matOption"] }, { kind: "directive", type: i7.MatBadge, selector: "[matBadge]", inputs: ["matBadgeColor", "matBadgeOverlap", "matBadgeDisabled", "matBadgePosition", "matBadge", "matBadgeDescription", "matBadgeSize", "matBadgeHidden"] }, { kind: "directive", type: i8.BadgeDirective, selector: "[appBadge], [appBadgeIcon], [appBadgeMatIcon]", inputs: ["appBadge", "appBadgeDisabled", "appBadgeColor", "appBadgeSize", "appBadgeFill", "appBadgeHidden", "appBadgeOverlap", "appBadgePosition", "appBadgeMatIcon", "appBadgeIcon"] }, { kind: "pipe", type: i9.AsyncPipe, name: "async" }, { kind: "pipe", type: i10.MatColorPipe, name: "matColor" }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
37
37
  }
38
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.1.1", ngImport: i0, type: MatBadgeTestPage, decorators: [{
38
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.1.3", ngImport: i0, type: MatBadgeTestPage, decorators: [{
39
39
  type: Component,
40
- args: [{ selector: 'mat-badge-test', changeDetection: ChangeDetectionStrategy.OnPush, template: "\n<ion-header>\n <ion-toolbar color=\"primary\">\n\n <ion-buttons slot=\"start\">\n <ion-back-button></ion-back-button>\n </ion-buttons>\n\n <ion-title>matBadgeIcon directive</ion-title>\n </ion-toolbar>\n</ion-header>\n\n<ion-content class=\"ion-padding\">\n\n <!-- small badge -->\n <p>\n <ion-text color=\"tertiary\">\n <span appBadge\n appBadgeMatIcon=\"check\"\n appBadgeSize=\"small\"\n appBadgeColor=\"accent\"\n appBadgeOverlap=\"false\">Small badge\n <span class=\"mat-badge-content\"></span>\n </span>\n </ion-text>\n </p>\n\n <!-- medium badge -->\n <p>\n <ion-text appBadge appBadgeMatIcon=\"check\"\n appBadgeSize=\"medium\"\n [appBadgeColor]=\"'tertiary'|matColor\"\n appBadgeOverlap=\"false\"\n >Medium badge</ion-text>\n </p>\n\n <!-- small badge -->\n <p>\n <ion-label appBadge appBadgeMatIcon=\"close\" appBadgeSize=\"large\"\n appBadgeOverlap=\"false\">Large badge</ion-label>\n </p>\n\n <!-- default size badge -->\n <p>\n <ion-label appBadge appBadgeMatIcon=\"check\" [appBadgeColor]=\"'success'|matColor\"\n appBadgeOverlap=\"false\">Badge (no size, no color)\n </ion-label>\n </p>\n\n <!-- ion icon -->\n <p>\n <ion-label appBadge\n appBadgeIcon=\"checkmark\"\n [appBadgeColor]=\"'success'|matColor\"\n appBadgeOverlap=\"false\">Badge with ion-icon\n </ion-label>\n </p>\n\n <!-- ion icon clear -->\n <p>\n <ion-label appBadge\n appBadgeIcon=\"checkmark-circle\"\n [appBadgeColor]=\"'tertiary'|matColor\"\n appBadgeFill=\"clear\"\n appBadgeOverlap=\"false\">Badge with clear icon\n </ion-label>\n </p>\n\n <!-- changing text-->\n <ion-row>\n <ion-col>\n <ion-label appBadge\n appBadgeIcon=\"checkmark-circle\"\n [appBadgeColor]=\"'tertiary'|matColor\"\n appBadgeFill=\"clear\"\n appBadgeOverlap=\"false\">{{userText}}\n </ion-label>\n </ion-col>\n <ion-col>\n <input type=\"text\" [value]=\"userText\" (input)=\"onInputChanged($event)\">\n </ion-col>\n </ion-row>\n\n <ion-row>\n <ion-col>Configurable example :</ion-col>\n </ion-row>\n <ion-row class=\"ion-no-padding\">\n <ion-col size=\"auto\">\n <mat-icon [style.color]=\"'var(--ion-color-secondary)'\"\n appBadge\n [appBadgeIcon]=\"$icon|async\"\n [appBadgeColor]=\"$color|async|matColor\"\n [appBadgeHidden]=\"$hidden|async\"\n [appBadgeFill]=\"$fill|async\"\n [appBadgeSize]=\"$size|async\"\n appBadgeOverlap=\"true\"\n appBadgePosition=\"above before\">\n <ion-icon slot=\"icon-only\"\n [color]=\"'secondary'\"\n name=\"navigate\"\n ></ion-icon>\n </mat-icon>\n </ion-col>\n\n <ion-col>\n <mat-form-field>\n <mat-label>appBadgeColor</mat-label>\n <mat-select [value]=\"$color.value\"\n (selectionChange)=\"this.$color.next($event.value)\">\n <mat-option [value]=\"'primary'\">primary</mat-option>\n <mat-option [value]=\"'secondary'\">secondary</mat-option>\n <mat-option [value]=\"'tertiary'\">tertiary</mat-option>\n <mat-option [value]=\"'danger'\">danger</mat-option>\n </mat-select>\n </mat-form-field>\n </ion-col>\n\n <ion-col>\n <mat-form-field>\n <mat-label>appBadgeIcon</mat-label>\n <mat-select [value]=\"$icon.value\"\n (selectionChange)=\"this.$icon.next($event.value)\">\n <mat-option [value]=\"'checkmark-circle'\">checkmark-circle</mat-option>\n <mat-option [value]=\"'alert-circle'\">alert-circle</mat-option>\n <mat-option [value]=\"'alert'\">alert</mat-option>\n <mat-option [value]=\"'flag'\">flag</mat-option>\n </mat-select>\n </mat-form-field>\n </ion-col>\n\n <ion-col>\n <mat-form-field>\n <mat-label>appBadgeSize</mat-label>\n <mat-select [value]=\"$size.value\"\n (selectionChange)=\"this.$size.next($event.value)\">\n <mat-option [value]=\"'large'\">large</mat-option>\n <mat-option [value]=\"'medium'\">medium</mat-option>\n <mat-option [value]=\"'small'\">small</mat-option>\n </mat-select>\n </mat-form-field>\n </ion-col>\n\n <ion-col>\n <mat-form-field>\n <mat-label>appBadgeFill</mat-label>\n <mat-select [value]=\"$fill.value\"\n (selectionChange)=\"this.$fill.next($event.value)\">\n <mat-option [value]=\"'clear'\">clear</mat-option>\n <mat-option [value]=\"'solid'\">solid</mat-option>\n </mat-select>\n </mat-form-field>\n </ion-col>\n\n <ion-col>\n <mat-form-field>\n <mat-label>appBadgeHidden</mat-label>\n <mat-select [value]=\"$hidden.value\"\n (selectionChange)=\"this.$hidden.next($event.value)\">\n <mat-option [value]=\"true\">true</mat-option>\n <mat-option [value]=\"false\">false</mat-option>\n </mat-select>\n </mat-form-field>\n </ion-col>\n\n </ion-row>\n\n <ion-row>\n <ion-col size=\"auto\">\n <p>mat-raised-button:</p>\n </ion-col>\n <ion-col>\n <button mat-raised-button color=\"primary\"\n [appBadgeIcon]=\"$icon|async\"\n [appBadgeColor]=\"$color|async|matColor\"\n [appBadgeHidden]=\"$hidden|async\"\n [appBadgeFill]=\"$fill|async\"\n [appBadgeSize]=\"$size|async\"\n appBadgeOverlap=\"true\"\n appBadgePosition=\"below after\">\n {{userText}}\n </button>\n </ion-col>\n </ion-row>\n\n <ion-row>\n <ion-col size=\"auto\">\n <p>mat-button with mat-label:</p>\n </ion-col>\n <ion-col>\n <button mat-button color=\"primary\"\n class=\"ion-no-padding\"\n [appBadgeIcon]=\"$icon|async\"\n [appBadgeColor]=\"$color|async|matColor\"\n [appBadgeHidden]=\"$hidden|async\"\n [appBadgeFill]=\"$fill|async\"\n [appBadgeSize]=\"$size|async\"\n matBadgeOverlap=\"true\"\n matBadgePosition=\"above after\">\n {{userText}}\n </button>\n </ion-col>\n </ion-row>\n\n <h4>Angular Material Badge (standard way)</h4>\n\n <ion-row>\n <ion-col size=\"auto\">\n <p>mat-icon:</p>\n </ion-col>\n <ion-col>\n <mat-icon [style.color]=\"'var(--ion-color-secondary)'\"\n [matBadge]=\"'!'\"\n [matBadgeColor]=\"$color|async|matColor\"\n [matBadgeHidden]=\"$hidden|async\"\n [matBadgeSize]=\"$size|async\"\n matBadgeOverlap=\"true\">\n <ion-icon slot=\"icon-only\"\n [color]=\"'secondary'\"\n name=\"navigate\"\n ></ion-icon>\n </mat-icon>\n </ion-col>\n </ion-row>\n\n <ion-row>\n <ion-col size=\"auto\">\n <p>mat-button:</p>\n </ion-col>\n <ion-col>\n <button mat-raised-button color=\"primary\" [matBadge]=\"matBadgeContent\"\n [matBadgeColor]=\"$color|async|matColor\"\n [matBadgeHidden]=\"$hidden|async\"\n [matBadgeSize]=\"$size|async\"\n matBadgeOverlap=\"true\"\n matBadgePosition=\"above after\">\n {{userText}}\n </button>\n </ion-col>\n\n <ion-col>\n <input type=\"text\" [value]=\"matBadgeContent\" (input)=\"onMatBadgeContentChanged($event)\">\n </ion-col>\n </ion-row>\n\n <ion-row>\n <ion-col size=\"auto\">\n <p>mat-button</p>\n </ion-col>\n <ion-col>\n <button mat-button color=\"primary\"\n [matBadge]=\"matBadgeContent\"\n [matBadgeColor]=\"$color|async|matColor\"\n [matBadgeHidden]=\"$hidden|async\"\n [matBadgeSize]=\"$size|async\"\n matBadgeOverlap=\"true\"\n matBadgePosition=\"after\">\n {{userText}}\n </button>\n </ion-col>\n </ion-row>\n</ion-content>\n" }]
40
+ args: [{ selector: 'mat-badge-test', changeDetection: ChangeDetectionStrategy.OnPush, template: "<ion-header>\n <ion-toolbar color=\"primary\">\n <ion-buttons slot=\"start\">\n <ion-back-button></ion-back-button>\n </ion-buttons>\n\n <ion-title>matBadgeIcon directive</ion-title>\n </ion-toolbar>\n</ion-header>\n\n<ion-content class=\"ion-padding\">\n <!-- small badge -->\n <p>\n <ion-text color=\"tertiary\">\n <span appBadge appBadgeMatIcon=\"check\" appBadgeSize=\"small\" appBadgeColor=\"accent\" appBadgeOverlap=\"false\">\n Small badge\n <span class=\"mat-badge-content\"></span>\n </span>\n </ion-text>\n </p>\n\n <!-- medium badge -->\n <p>\n <ion-text\n appBadge\n appBadgeMatIcon=\"check\"\n appBadgeSize=\"medium\"\n [appBadgeColor]=\"'tertiary' | matColor\"\n appBadgeOverlap=\"false\"\n >\n Medium badge\n </ion-text>\n </p>\n\n <!-- small badge -->\n <p>\n <ion-label appBadge appBadgeMatIcon=\"close\" appBadgeSize=\"large\" appBadgeOverlap=\"false\">Large badge</ion-label>\n </p>\n\n <!-- default size badge -->\n <p>\n <ion-label appBadge appBadgeMatIcon=\"check\" [appBadgeColor]=\"'success' | matColor\" appBadgeOverlap=\"false\">\n Badge (no size, no color)\n </ion-label>\n </p>\n\n <!-- ion icon -->\n <p>\n <ion-label appBadge appBadgeIcon=\"checkmark\" [appBadgeColor]=\"'success' | matColor\" appBadgeOverlap=\"false\">\n Badge with ion-icon\n </ion-label>\n </p>\n\n <!-- ion icon clear -->\n <p>\n <ion-label\n appBadge\n appBadgeIcon=\"checkmark-circle\"\n [appBadgeColor]=\"'tertiary' | matColor\"\n appBadgeFill=\"clear\"\n appBadgeOverlap=\"false\"\n >\n Badge with clear icon\n </ion-label>\n </p>\n\n <!-- changing text-->\n <ion-row>\n <ion-col>\n <ion-label\n appBadge\n appBadgeIcon=\"checkmark-circle\"\n [appBadgeColor]=\"'tertiary' | matColor\"\n appBadgeFill=\"clear\"\n appBadgeOverlap=\"false\"\n >\n {{ userText }}\n </ion-label>\n </ion-col>\n <ion-col>\n <input type=\"text\" [value]=\"userText\" (input)=\"onInputChanged($event)\" />\n </ion-col>\n </ion-row>\n\n <ion-row>\n <ion-col>Configurable example :</ion-col>\n </ion-row>\n <ion-row class=\"ion-no-padding\">\n <ion-col size=\"auto\">\n <mat-icon\n [style.color]=\"'var(--ion-color-secondary)'\"\n appBadge\n [appBadgeIcon]=\"$icon | async\"\n [appBadgeColor]=\"$color | async | matColor\"\n [appBadgeHidden]=\"$hidden | async\"\n [appBadgeFill]=\"$fill | async\"\n [appBadgeSize]=\"$size | async\"\n appBadgeOverlap=\"true\"\n appBadgePosition=\"above before\"\n >\n <ion-icon slot=\"icon-only\" [color]=\"'secondary'\" name=\"navigate\"></ion-icon>\n </mat-icon>\n </ion-col>\n\n <ion-col>\n <mat-form-field>\n <mat-label>appBadgeColor</mat-label>\n <mat-select [value]=\"$color.value\" (selectionChange)=\"this.$color.next($event.value)\">\n <mat-option [value]=\"'primary'\">primary</mat-option>\n <mat-option [value]=\"'secondary'\">secondary</mat-option>\n <mat-option [value]=\"'tertiary'\">tertiary</mat-option>\n <mat-option [value]=\"'danger'\">danger</mat-option>\n </mat-select>\n </mat-form-field>\n </ion-col>\n\n <ion-col>\n <mat-form-field>\n <mat-label>appBadgeIcon</mat-label>\n <mat-select [value]=\"$icon.value\" (selectionChange)=\"this.$icon.next($event.value)\">\n <mat-option [value]=\"'checkmark-circle'\">checkmark-circle</mat-option>\n <mat-option [value]=\"'alert-circle'\">alert-circle</mat-option>\n <mat-option [value]=\"'alert'\">alert</mat-option>\n <mat-option [value]=\"'flag'\">flag</mat-option>\n </mat-select>\n </mat-form-field>\n </ion-col>\n\n <ion-col>\n <mat-form-field>\n <mat-label>appBadgeSize</mat-label>\n <mat-select [value]=\"$size.value\" (selectionChange)=\"this.$size.next($event.value)\">\n <mat-option [value]=\"'large'\">large</mat-option>\n <mat-option [value]=\"'medium'\">medium</mat-option>\n <mat-option [value]=\"'small'\">small</mat-option>\n </mat-select>\n </mat-form-field>\n </ion-col>\n\n <ion-col>\n <mat-form-field>\n <mat-label>appBadgeFill</mat-label>\n <mat-select [value]=\"$fill.value\" (selectionChange)=\"this.$fill.next($event.value)\">\n <mat-option [value]=\"'clear'\">clear</mat-option>\n <mat-option [value]=\"'solid'\">solid</mat-option>\n </mat-select>\n </mat-form-field>\n </ion-col>\n\n <ion-col>\n <mat-form-field>\n <mat-label>appBadgeHidden</mat-label>\n <mat-select [value]=\"$hidden.value\" (selectionChange)=\"this.$hidden.next($event.value)\">\n <mat-option [value]=\"true\">true</mat-option>\n <mat-option [value]=\"false\">false</mat-option>\n </mat-select>\n </mat-form-field>\n </ion-col>\n </ion-row>\n\n <ion-row>\n <ion-col size=\"auto\">\n <p>mat-raised-button:</p>\n </ion-col>\n <ion-col>\n <button\n mat-raised-button\n color=\"primary\"\n [appBadgeIcon]=\"$icon | async\"\n [appBadgeColor]=\"$color | async | matColor\"\n [appBadgeHidden]=\"$hidden | async\"\n [appBadgeFill]=\"$fill | async\"\n [appBadgeSize]=\"$size | async\"\n appBadgeOverlap=\"true\"\n appBadgePosition=\"below after\"\n >\n {{ userText }}\n </button>\n </ion-col>\n </ion-row>\n\n <ion-row>\n <ion-col size=\"auto\">\n <p>mat-button with mat-label:</p>\n </ion-col>\n <ion-col>\n <button\n mat-button\n color=\"primary\"\n class=\"ion-no-padding\"\n [appBadgeIcon]=\"$icon | async\"\n [appBadgeColor]=\"$color | async | matColor\"\n [appBadgeHidden]=\"$hidden | async\"\n [appBadgeFill]=\"$fill | async\"\n [appBadgeSize]=\"$size | async\"\n matBadgeOverlap=\"true\"\n matBadgePosition=\"above after\"\n >\n {{ userText }}\n </button>\n </ion-col>\n </ion-row>\n\n <h4>Angular Material Badge (standard way)</h4>\n\n <ion-row>\n <ion-col size=\"auto\">\n <p>mat-icon:</p>\n </ion-col>\n <ion-col>\n <mat-icon\n [style.color]=\"'var(--ion-color-secondary)'\"\n [matBadge]=\"'!'\"\n [matBadgeColor]=\"$color | async | matColor\"\n [matBadgeHidden]=\"$hidden | async\"\n [matBadgeSize]=\"$size | async\"\n matBadgeOverlap=\"true\"\n >\n <ion-icon slot=\"icon-only\" [color]=\"'secondary'\" name=\"navigate\"></ion-icon>\n </mat-icon>\n </ion-col>\n </ion-row>\n\n <ion-row>\n <ion-col size=\"auto\">\n <p>mat-button:</p>\n </ion-col>\n <ion-col>\n <button\n mat-raised-button\n color=\"primary\"\n [matBadge]=\"matBadgeContent\"\n [matBadgeColor]=\"$color | async | matColor\"\n [matBadgeHidden]=\"$hidden | async\"\n [matBadgeSize]=\"$size | async\"\n matBadgeOverlap=\"true\"\n matBadgePosition=\"above after\"\n >\n {{ userText }}\n </button>\n </ion-col>\n\n <ion-col>\n <input type=\"text\" [value]=\"matBadgeContent\" (input)=\"onMatBadgeContentChanged($event)\" />\n </ion-col>\n </ion-row>\n\n <ion-row>\n <ion-col size=\"auto\">\n <p>mat-button</p>\n </ion-col>\n <ion-col>\n <button\n mat-button\n color=\"primary\"\n [matBadge]=\"matBadgeContent\"\n [matBadgeColor]=\"$color | async | matColor\"\n [matBadgeHidden]=\"$hidden | async\"\n [matBadgeSize]=\"$size | async\"\n matBadgeOverlap=\"true\"\n matBadgePosition=\"after\"\n >\n {{ userText }}\n </button>\n </ion-col>\n </ion-row>\n</ion-content>\n" }]
41
41
  }], ctorParameters: () => [{ type: i0.ChangeDetectorRef }] });
42
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYmFkZ2UudGVzdC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3NyYy9hcHAvc2hhcmVkL21hdGVyaWFsL2JhZGdlL2JhZGdlLnRlc3QudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi9zcmMvYXBwL3NoYXJlZC9tYXRlcmlhbC9iYWRnZS9iYWRnZS50ZXN0Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFDLHVCQUF1QixFQUFxQixTQUFTLEVBQUMsTUFBTSxlQUFlLENBQUM7QUFDcEYsT0FBTyxFQUFDLGVBQWUsRUFBQyxNQUFNLE1BQU0sQ0FBQzs7Ozs7Ozs7Ozs7O0FBVXJDLE1BQU0sT0FBTyxnQkFBZ0I7SUFZUDtJQVZwQixRQUFRLEdBQUcsaUJBQWlCLENBQUM7SUFDN0IsZUFBZSxHQUFHLEdBQUcsQ0FBQztJQUV0QixLQUFLLEdBQUcsSUFBSSxlQUFlLENBQVMsT0FBTyxDQUFDLENBQUM7SUFDN0MsS0FBSyxHQUFHLElBQUksZUFBZSxDQUFlLE9BQU8sQ0FBQyxDQUFDO0lBQ25ELEtBQUssR0FBRyxJQUFJLGVBQWUsQ0FBZSxPQUFPLENBQUMsQ0FBQztJQUNuRCxNQUFNLEdBQUcsSUFBSSxlQUFlLENBQVksUUFBUSxDQUFDLENBQUM7SUFDbEQsT0FBTyxHQUFHLElBQUksZUFBZSxDQUFVLEtBQUssQ0FBQyxDQUFDO0lBQzlDLFFBQVEsR0FBRyxJQUFJLGVBQWUsQ0FBVSxLQUFLLENBQUMsQ0FBQztJQUUvQyxZQUFvQixFQUFxQjtRQUFyQixPQUFFLEdBQUYsRUFBRSxDQUFtQjtJQUN6QyxDQUFDO0lBRUQsY0FBYyxDQUFDLEtBQVU7UUFDdkIsSUFBSSxDQUFDLFFBQVEsR0FBRyxLQUFLLENBQUMsTUFBTSxDQUFDLEtBQUssQ0FBQztRQUNuQyxJQUFJLENBQUMsRUFBRSxDQUFDLFlBQVksRUFBRSxDQUFDO0lBQ3pCLENBQUM7SUFFRCx3QkFBd0IsQ0FBQyxLQUFVO1FBQ2pDLElBQUksQ0FBQyxlQUFlLEdBQUcsS0FBSyxDQUFDLE1BQU0sQ0FBQyxLQUFLLENBQUM7UUFDMUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxZQUFZLEVBQUUsQ0FBQztJQUN6QixDQUFDO3VHQXZCVSxnQkFBZ0I7MkZBQWhCLGdCQUFnQixzRENYN0IsbXFRQXFRQTs7MkZEMVBhLGdCQUFnQjtrQkFMNUIsU0FBUzsrQkFDRSxnQkFBZ0IsbUJBRVQsdUJBQXVCLENBQUMsTUFBTSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7Q2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksIENoYW5nZURldGVjdG9yUmVmLCBDb21wb25lbnR9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHtCZWhhdmlvclN1YmplY3R9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHtNYXRCYWRnZUZpbGx9IGZyb20gJy4vYmFkZ2UuZGlyZWN0aXZlJztcbmltcG9ydCB7TWF0QmFkZ2VTaXplfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9iYWRnZSc7XG5pbXBvcnQge0FwcENvbG9yc30gZnJvbSAnLi4vLi4vdHlwZXMnO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdtYXQtYmFkZ2UtdGVzdCcsXG4gIHRlbXBsYXRlVXJsOiAnLi9iYWRnZS50ZXN0Lmh0bWwnLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaFxufSlcbmV4cG9ydCBjbGFzcyBNYXRCYWRnZVRlc3RQYWdlIHtcblxuICB1c2VyVGV4dCA9ICdBIGN1c3RvbSBzdHJpbmcnO1xuICBtYXRCYWRnZUNvbnRlbnQgPSAnISc7XG5cbiAgJGljb24gPSBuZXcgQmVoYXZpb3JTdWJqZWN0PHN0cmluZz4oJ2FsZXJ0Jyk7XG4gICRzaXplID0gbmV3IEJlaGF2aW9yU3ViamVjdDxNYXRCYWRnZVNpemU+KCdzbWFsbCcpO1xuICAkZmlsbCA9IG5ldyBCZWhhdmlvclN1YmplY3Q8TWF0QmFkZ2VGaWxsPignc29saWQnKTtcbiAgJGNvbG9yID0gbmV3IEJlaGF2aW9yU3ViamVjdDxBcHBDb2xvcnM+KCdkYW5nZXInKTtcbiAgJGhpZGRlbiA9IG5ldyBCZWhhdmlvclN1YmplY3Q8Ym9vbGVhbj4oZmFsc2UpO1xuICAkb3ZlcmxhcCA9IG5ldyBCZWhhdmlvclN1YmplY3Q8Ym9vbGVhbj4oZmFsc2UpO1xuXG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgY2Q6IENoYW5nZURldGVjdG9yUmVmKSB7XG4gIH1cblxuICBvbklucHV0Q2hhbmdlZChldmVudDogYW55KSB7XG4gICAgdGhpcy51c2VyVGV4dCA9IGV2ZW50LnRhcmdldC52YWx1ZTtcbiAgICB0aGlzLmNkLm1hcmtGb3JDaGVjaygpO1xuICB9XG5cbiAgb25NYXRCYWRnZUNvbnRlbnRDaGFuZ2VkKGV2ZW50OiBhbnkpIHtcbiAgICB0aGlzLm1hdEJhZGdlQ29udGVudCA9IGV2ZW50LnRhcmdldC52YWx1ZTtcbiAgICB0aGlzLmNkLm1hcmtGb3JDaGVjaygpO1xuICB9XG59XG4iLCJcbjxpb24taGVhZGVyPlxuICA8aW9uLXRvb2xiYXIgY29sb3I9XCJwcmltYXJ5XCI+XG5cbiAgICA8aW9uLWJ1dHRvbnMgc2xvdD1cInN0YXJ0XCI+XG4gICAgICA8aW9uLWJhY2stYnV0dG9uPjwvaW9uLWJhY2stYnV0dG9uPlxuICAgIDwvaW9uLWJ1dHRvbnM+XG5cbiAgICA8aW9uLXRpdGxlPm1hdEJhZGdlSWNvbiBkaXJlY3RpdmU8L2lvbi10aXRsZT5cbiAgPC9pb24tdG9vbGJhcj5cbjwvaW9uLWhlYWRlcj5cblxuPGlvbi1jb250ZW50IGNsYXNzPVwiaW9uLXBhZGRpbmdcIj5cblxuICA8IS0tIHNtYWxsIGJhZGdlIC0tPlxuICA8cD5cbiAgICA8aW9uLXRleHQgY29sb3I9XCJ0ZXJ0aWFyeVwiPlxuICAgICAgPHNwYW4gYXBwQmFkZ2VcbiAgICAgICAgICAgIGFwcEJhZGdlTWF0SWNvbj1cImNoZWNrXCJcbiAgICAgICAgICAgIGFwcEJhZGdlU2l6ZT1cInNtYWxsXCJcbiAgICAgICAgICAgIGFwcEJhZGdlQ29sb3I9XCJhY2NlbnRcIlxuICAgICAgICAgICAgYXBwQmFkZ2VPdmVybGFwPVwiZmFsc2VcIj5TbWFsbCBiYWRnZVxuICAgICAgICA8c3BhbiBjbGFzcz1cIm1hdC1iYWRnZS1jb250ZW50XCI+PC9zcGFuPlxuICAgICAgPC9zcGFuPlxuICAgIDwvaW9uLXRleHQ+XG4gIDwvcD5cblxuICA8IS0tIG1lZGl1bSBiYWRnZSAtLT5cbiAgPHA+XG4gICAgPGlvbi10ZXh0IGFwcEJhZGdlIGFwcEJhZGdlTWF0SWNvbj1cImNoZWNrXCJcbiAgICAgICAgICAgICAgYXBwQmFkZ2VTaXplPVwibWVkaXVtXCJcbiAgICAgICAgICAgICAgW2FwcEJhZGdlQ29sb3JdPVwiJ3RlcnRpYXJ5J3xtYXRDb2xvclwiXG4gICAgICAgICAgICAgIGFwcEJhZGdlT3ZlcmxhcD1cImZhbHNlXCJcbiAgICA+TWVkaXVtIGJhZGdlPC9pb24tdGV4dD5cbiAgPC9wPlxuXG4gIDwhLS0gc21hbGwgYmFkZ2UgLS0+XG4gIDxwPlxuICAgIDxpb24tbGFiZWwgYXBwQmFkZ2UgYXBwQmFkZ2VNYXRJY29uPVwiY2xvc2VcIiBhcHBCYWRnZVNpemU9XCJsYXJnZVwiXG4gICAgICAgICAgYXBwQmFkZ2VPdmVybGFwPVwiZmFsc2VcIj5MYXJnZSBiYWRnZTwvaW9uLWxhYmVsPlxuICA8L3A+XG5cbiAgPCEtLSBkZWZhdWx0IHNpemUgYmFkZ2UgLS0+XG4gIDxwPlxuICAgIDxpb24tbGFiZWwgYXBwQmFkZ2UgYXBwQmFkZ2VNYXRJY29uPVwiY2hlY2tcIiBbYXBwQmFkZ2VDb2xvcl09XCInc3VjY2Vzcyd8bWF0Q29sb3JcIlxuICAgICAgICAgICAgYXBwQmFkZ2VPdmVybGFwPVwiZmFsc2VcIj5CYWRnZSAobm8gc2l6ZSwgbm8gY29sb3IpXG4gICAgPC9pb24tbGFiZWw+XG4gIDwvcD5cblxuICA8IS0tIGlvbiBpY29uIC0tPlxuICA8cD5cbiAgICA8aW9uLWxhYmVsIGFwcEJhZGdlXG4gICAgICAgICAgICAgICBhcHBCYWRnZUljb249XCJjaGVja21hcmtcIlxuICAgICAgICAgICAgICAgW2FwcEJhZGdlQ29sb3JdPVwiJ3N1Y2Nlc3MnfG1hdENvbG9yXCJcbiAgICAgICAgICAgICAgIGFwcEJhZGdlT3ZlcmxhcD1cImZhbHNlXCI+QmFkZ2Ugd2l0aCBpb24taWNvblxuICAgIDwvaW9uLWxhYmVsPlxuICA8L3A+XG5cbiAgPCEtLSBpb24gaWNvbiBjbGVhciAtLT5cbiAgPHA+XG4gICAgPGlvbi1sYWJlbCBhcHBCYWRnZVxuICAgICAgICAgICAgICAgYXBwQmFkZ2VJY29uPVwiY2hlY2ttYXJrLWNpcmNsZVwiXG4gICAgICAgICAgICAgICBbYXBwQmFkZ2VDb2xvcl09XCIndGVydGlhcnknfG1hdENvbG9yXCJcbiAgICAgICAgICAgICAgIGFwcEJhZGdlRmlsbD1cImNsZWFyXCJcbiAgICAgICAgICAgICAgIGFwcEJhZGdlT3ZlcmxhcD1cImZhbHNlXCI+QmFkZ2Ugd2l0aCBjbGVhciBpY29uXG4gICAgPC9pb24tbGFiZWw+XG4gIDwvcD5cblxuICA8IS0tIGNoYW5naW5nIHRleHQtLT5cbiAgPGlvbi1yb3c+XG4gICAgPGlvbi1jb2w+XG4gICAgICA8aW9uLWxhYmVsIGFwcEJhZGdlXG4gICAgICAgICAgICAgICAgICAgICAgICBhcHBCYWRnZUljb249XCJjaGVja21hcmstY2lyY2xlXCJcbiAgICAgICAgICAgICAgICAgICAgICAgIFthcHBCYWRnZUNvbG9yXT1cIid0ZXJ0aWFyeSd8bWF0Q29sb3JcIlxuICAgICAgICAgICAgICAgICAgICAgICAgYXBwQmFkZ2VGaWxsPVwiY2xlYXJcIlxuICAgICAgICAgICAgICAgICAgICAgICAgYXBwQmFkZ2VPdmVybGFwPVwiZmFsc2VcIj57e3VzZXJUZXh0fX1cbiAgICAgIDwvaW9uLWxhYmVsPlxuICAgIDwvaW9uLWNvbD5cbiAgICA8aW9uLWNvbD5cbiAgICAgIDxpbnB1dCB0eXBlPVwidGV4dFwiIFt2YWx1ZV09XCJ1c2VyVGV4dFwiIChpbnB1dCk9XCJvbklucHV0Q2hhbmdlZCgkZXZlbnQpXCI+XG4gICAgPC9pb24tY29sPlxuICA8L2lvbi1yb3c+XG5cbiAgPGlvbi1yb3c+XG4gICAgPGlvbi1jb2w+Q29uZmlndXJhYmxlIGV4YW1wbGUgOjwvaW9uLWNvbD5cbiAgPC9pb24tcm93PlxuICA8aW9uLXJvdyBjbGFzcz1cImlvbi1uby1wYWRkaW5nXCI+XG4gICAgPGlvbi1jb2wgc2l6ZT1cImF1dG9cIj5cbiAgICAgIDxtYXQtaWNvbiBbc3R5bGUuY29sb3JdPVwiJ3ZhcigtLWlvbi1jb2xvci1zZWNvbmRhcnkpJ1wiXG4gICAgICAgICAgICAgICAgYXBwQmFkZ2VcbiAgICAgICAgICAgICAgICBbYXBwQmFkZ2VJY29uXT1cIiRpY29ufGFzeW5jXCJcbiAgICAgICAgICAgICAgICBbYXBwQmFkZ2VDb2xvcl09XCIkY29sb3J8YXN5bmN8bWF0Q29sb3JcIlxuICAgICAgICAgICAgICAgIFthcHBCYWRnZUhpZGRlbl09XCIkaGlkZGVufGFzeW5jXCJcbiAgICAgICAgICAgICAgICBbYXBwQmFkZ2VGaWxsXT1cIiRmaWxsfGFzeW5jXCJcbiAgICAgICAgICAgICAgICBbYXBwQmFkZ2VTaXplXT1cIiRzaXplfGFzeW5jXCJcbiAgICAgICAgICAgICAgICBhcHBCYWRnZU92ZXJsYXA9XCJ0cnVlXCJcbiAgICAgICAgICAgICAgICBhcHBCYWRnZVBvc2l0aW9uPVwiYWJvdmUgYmVmb3JlXCI+XG4gICAgICAgIDxpb24taWNvbiBzbG90PVwiaWNvbi1vbmx5XCJcbiAgICAgICAgICAgICAgICAgIFtjb2xvcl09XCInc2Vjb25kYXJ5J1wiXG4gICAgICAgICAgICAgICAgICBuYW1lPVwibmF2aWdhdGVcIlxuICAgICAgICA+PC9pb24taWNvbj5cbiAgICAgIDwvbWF0LWljb24+XG4gICAgPC9pb24tY29sPlxuXG4gICAgPGlvbi1jb2w+XG4gICAgICA8bWF0LWZvcm0tZmllbGQ+XG4gICAgICAgIDxtYXQtbGFiZWw+YXBwQmFkZ2VDb2xvcjwvbWF0LWxhYmVsPlxuICAgICAgICA8bWF0LXNlbGVjdCBbdmFsdWVdPVwiJGNvbG9yLnZhbHVlXCJcbiAgICAgICAgICAgICAgICAgICAgKHNlbGVjdGlvbkNoYW5nZSk9XCJ0aGlzLiRjb2xvci5uZXh0KCRldmVudC52YWx1ZSlcIj5cbiAgICAgICAgICA8bWF0LW9wdGlvbiBbdmFsdWVdPVwiJ3ByaW1hcnknXCI+cHJpbWFyeTwvbWF0LW9wdGlvbj5cbiAgICAgICAgICA8bWF0LW9wdGlvbiBbdmFsdWVdPVwiJ3NlY29uZGFyeSdcIj5zZWNvbmRhcnk8L21hdC1vcHRpb24+XG4gICAgICAgICAgPG1hdC1vcHRpb24gW3ZhbHVlXT1cIid0ZXJ0aWFyeSdcIj50ZXJ0aWFyeTwvbWF0LW9wdGlvbj5cbiAgICAgICAgICA8bWF0LW9wdGlvbiBbdmFsdWVdPVwiJ2RhbmdlcidcIj5kYW5nZXI8L21hdC1vcHRpb24+XG4gICAgICAgIDwvbWF0LXNlbGVjdD5cbiAgICAgIDwvbWF0LWZvcm0tZmllbGQ+XG4gICAgPC9pb24tY29sPlxuXG4gICAgPGlvbi1jb2w+XG4gICAgICA8bWF0LWZvcm0tZmllbGQ+XG4gICAgICAgIDxtYXQtbGFiZWw+YXBwQmFkZ2VJY29uPC9tYXQtbGFiZWw+XG4gICAgICAgIDxtYXQtc2VsZWN0IFt2YWx1ZV09XCIkaWNvbi52YWx1ZVwiXG4gICAgICAgICAgICAgICAgICAgIChzZWxlY3Rpb25DaGFuZ2UpPVwidGhpcy4kaWNvbi5uZXh0KCRldmVudC52YWx1ZSlcIj5cbiAgICAgICAgICA8bWF0LW9wdGlvbiBbdmFsdWVdPVwiJ2NoZWNrbWFyay1jaXJjbGUnXCI+Y2hlY2ttYXJrLWNpcmNsZTwvbWF0LW9wdGlvbj5cbiAgICAgICAgICA8bWF0LW9wdGlvbiBbdmFsdWVdPVwiJ2FsZXJ0LWNpcmNsZSdcIj5hbGVydC1jaXJjbGU8L21hdC1vcHRpb24+XG4gICAgICAgICAgPG1hdC1vcHRpb24gW3ZhbHVlXT1cIidhbGVydCdcIj5hbGVydDwvbWF0LW9wdGlvbj5cbiAgICAgICAgICA8bWF0LW9wdGlvbiBbdmFsdWVdPVwiJ2ZsYWcnXCI+ZmxhZzwvbWF0LW9wdGlvbj5cbiAgICAgICAgPC9tYXQtc2VsZWN0PlxuICAgICAgPC9tYXQtZm9ybS1maWVsZD5cbiAgICA8L2lvbi1jb2w+XG5cbiAgICA8aW9uLWNvbD5cbiAgICAgIDxtYXQtZm9ybS1maWVsZD5cbiAgICAgICAgPG1hdC1sYWJlbD5hcHBCYWRnZVNpemU8L21hdC1sYWJlbD5cbiAgICAgICAgPG1hdC1zZWxlY3QgW3ZhbHVlXT1cIiRzaXplLnZhbHVlXCJcbiAgICAgICAgICAgICAgICAgICAgKHNlbGVjdGlvbkNoYW5nZSk9XCJ0aGlzLiRzaXplLm5leHQoJGV2ZW50LnZhbHVlKVwiPlxuICAgICAgICAgIDxtYXQtb3B0aW9uIFt2YWx1ZV09XCInbGFyZ2UnXCI+bGFyZ2U8L21hdC1vcHRpb24+XG4gICAgICAgICAgPG1hdC1vcHRpb24gW3ZhbHVlXT1cIidtZWRpdW0nXCI+bWVkaXVtPC9tYXQtb3B0aW9uPlxuICAgICAgICAgIDxtYXQtb3B0aW9uIFt2YWx1ZV09XCInc21hbGwnXCI+c21hbGw8L21hdC1vcHRpb24+XG4gICAgICAgIDwvbWF0LXNlbGVjdD5cbiAgICAgIDwvbWF0LWZvcm0tZmllbGQ+XG4gICAgPC9pb24tY29sPlxuXG4gICAgPGlvbi1jb2w+XG4gICAgICA8bWF0LWZvcm0tZmllbGQ+XG4gICAgICAgIDxtYXQtbGFiZWw+YXBwQmFkZ2VGaWxsPC9tYXQtbGFiZWw+XG4gICAgICAgIDxtYXQtc2VsZWN0IFt2YWx1ZV09XCIkZmlsbC52YWx1ZVwiXG4gICAgICAgICAgICAgICAgICAgIChzZWxlY3Rpb25DaGFuZ2UpPVwidGhpcy4kZmlsbC5uZXh0KCRldmVudC52YWx1ZSlcIj5cbiAgICAgICAgICA8bWF0LW9wdGlvbiBbdmFsdWVdPVwiJ2NsZWFyJ1wiPmNsZWFyPC9tYXQtb3B0aW9uPlxuICAgICAgICAgIDxtYXQtb3B0aW9uIFt2YWx1ZV09XCInc29saWQnXCI+c29saWQ8L21hdC1vcHRpb24+XG4gICAgICAgIDwvbWF0LXNlbGVjdD5cbiAgICAgIDwvbWF0LWZvcm0tZmllbGQ+XG4gICAgPC9pb24tY29sPlxuXG4gICAgPGlvbi1jb2w+XG4gICAgICA8bWF0LWZvcm0tZmllbGQ+XG4gICAgICAgIDxtYXQtbGFiZWw+YXBwQmFkZ2VIaWRkZW48L21hdC1sYWJlbD5cbiAgICAgICAgPG1hdC1zZWxlY3QgW3ZhbHVlXT1cIiRoaWRkZW4udmFsdWVcIlxuICAgICAgICAgICAgICAgICAgICAoc2VsZWN0aW9uQ2hhbmdlKT1cInRoaXMuJGhpZGRlbi5uZXh0KCRldmVudC52YWx1ZSlcIj5cbiAgICAgICAgICA8bWF0LW9wdGlvbiBbdmFsdWVdPVwidHJ1ZVwiPnRydWU8L21hdC1vcHRpb24+XG4gICAgICAgICAgPG1hdC1vcHRpb24gW3ZhbHVlXT1cImZhbHNlXCI+ZmFsc2U8L21hdC1vcHRpb24+XG4gICAgICAgIDwvbWF0LXNlbGVjdD5cbiAgICAgIDwvbWF0LWZvcm0tZmllbGQ+XG4gICAgPC9pb24tY29sPlxuXG4gIDwvaW9uLXJvdz5cblxuICA8aW9uLXJvdz5cbiAgICA8aW9uLWNvbCBzaXplPVwiYXV0b1wiPlxuICAgICAgPHA+bWF0LXJhaXNlZC1idXR0b246PC9wPlxuICAgIDwvaW9uLWNvbD5cbiAgICA8aW9uLWNvbD5cbiAgICAgIDxidXR0b24gbWF0LXJhaXNlZC1idXR0b24gY29sb3I9XCJwcmltYXJ5XCJcbiAgICAgICAgICAgICAgW2FwcEJhZGdlSWNvbl09XCIkaWNvbnxhc3luY1wiXG4gICAgICAgICAgICAgIFthcHBCYWRnZUNvbG9yXT1cIiRjb2xvcnxhc3luY3xtYXRDb2xvclwiXG4gICAgICAgICAgICAgIFthcHBCYWRnZUhpZGRlbl09XCIkaGlkZGVufGFzeW5jXCJcbiAgICAgICAgICAgICAgW2FwcEJhZGdlRmlsbF09XCIkZmlsbHxhc3luY1wiXG4gICAgICAgICAgICAgIFthcHBCYWRnZVNpemVdPVwiJHNpemV8YXN5bmNcIlxuICAgICAgICAgICAgICBhcHBCYWRnZU92ZXJsYXA9XCJ0cnVlXCJcbiAgICAgICAgICAgICAgYXBwQmFkZ2VQb3NpdGlvbj1cImJlbG93IGFmdGVyXCI+XG4gICAgICAgIHt7dXNlclRleHR9fVxuICAgICAgPC9idXR0b24+XG4gICAgPC9pb24tY29sPlxuICA8L2lvbi1yb3c+XG5cbiAgPGlvbi1yb3c+XG4gICAgPGlvbi1jb2wgc2l6ZT1cImF1dG9cIj5cbiAgICAgIDxwPm1hdC1idXR0b24gd2l0aCBtYXQtbGFiZWw6PC9wPlxuICAgIDwvaW9uLWNvbD5cbiAgICA8aW9uLWNvbD5cbiAgICAgIDxidXR0b24gbWF0LWJ1dHRvbiBjb2xvcj1cInByaW1hcnlcIlxuICAgICAgICAgICAgICBjbGFzcz1cImlvbi1uby1wYWRkaW5nXCJcbiAgICAgICAgICAgICAgW2FwcEJhZGdlSWNvbl09XCIkaWNvbnxhc3luY1wiXG4gICAgICAgICAgICAgIFthcHBCYWRnZUNvbG9yXT1cIiRjb2xvcnxhc3luY3xtYXRDb2xvclwiXG4gICAgICAgICAgICAgIFthcHBCYWRnZUhpZGRlbl09XCIkaGlkZGVufGFzeW5jXCJcbiAgICAgICAgICAgICAgW2FwcEJhZGdlRmlsbF09XCIkZmlsbHxhc3luY1wiXG4gICAgICAgICAgICAgIFthcHBCYWRnZVNpemVdPVwiJHNpemV8YXN5bmNcIlxuICAgICAgICAgICAgICBtYXRCYWRnZU92ZXJsYXA9XCJ0cnVlXCJcbiAgICAgICAgICAgICAgbWF0QmFkZ2VQb3NpdGlvbj1cImFib3ZlIGFmdGVyXCI+XG4gICAgICAgIHt7dXNlclRleHR9fVxuICAgICAgPC9idXR0b24+XG4gICAgPC9pb24tY29sPlxuICA8L2lvbi1yb3c+XG5cbiAgPGg0PkFuZ3VsYXIgTWF0ZXJpYWwgQmFkZ2UgKHN0YW5kYXJkIHdheSk8L2g0PlxuXG4gIDxpb24tcm93PlxuICAgIDxpb24tY29sIHNpemU9XCJhdXRvXCI+XG4gICAgICA8cD5tYXQtaWNvbjo8L3A+XG4gICAgPC9pb24tY29sPlxuICAgIDxpb24tY29sPlxuICAgICAgPG1hdC1pY29uIFtzdHlsZS5jb2xvcl09XCIndmFyKC0taW9uLWNvbG9yLXNlY29uZGFyeSknXCJcbiAgICAgICAgICAgICAgICBbbWF0QmFkZ2VdPVwiJyEnXCJcbiAgICAgICAgICAgICAgICBbbWF0QmFkZ2VDb2xvcl09XCIkY29sb3J8YXN5bmN8bWF0Q29sb3JcIlxuICAgICAgICAgICAgICAgIFttYXRCYWRnZUhpZGRlbl09XCIkaGlkZGVufGFzeW5jXCJcbiAgICAgICAgICAgICAgICBbbWF0QmFkZ2VTaXplXT1cIiRzaXplfGFzeW5jXCJcbiAgICAgICAgICAgICAgICBtYXRCYWRnZU92ZXJsYXA9XCJ0cnVlXCI+XG4gICAgICAgIDxpb24taWNvbiBzbG90PVwiaWNvbi1vbmx5XCJcbiAgICAgICAgICAgICAgICAgIFtjb2xvcl09XCInc2Vjb25kYXJ5J1wiXG4gICAgICAgICAgICAgICAgICBuYW1lPVwibmF2aWdhdGVcIlxuICAgICAgICA+PC9pb24taWNvbj5cbiAgICAgIDwvbWF0LWljb24+XG4gICAgPC9pb24tY29sPlxuICA8L2lvbi1yb3c+XG5cbiAgPGlvbi1yb3c+XG4gICAgPGlvbi1jb2wgc2l6ZT1cImF1dG9cIj5cbiAgICAgIDxwPm1hdC1idXR0b246PC9wPlxuICAgIDwvaW9uLWNvbD5cbiAgICA8aW9uLWNvbD5cbiAgICAgIDxidXR0b24gbWF0LXJhaXNlZC1idXR0b24gY29sb3I9XCJwcmltYXJ5XCIgW21hdEJhZGdlXT1cIm1hdEJhZGdlQ29udGVudFwiXG4gICAgICAgICAgICAgIFttYXRCYWRnZUNvbG9yXT1cIiRjb2xvcnxhc3luY3xtYXRDb2xvclwiXG4gICAgICAgICAgICAgIFttYXRCYWRnZUhpZGRlbl09XCIkaGlkZGVufGFzeW5jXCJcbiAgICAgICAgICAgICAgW21hdEJhZGdlU2l6ZV09XCIkc2l6ZXxhc3luY1wiXG4gICAgICAgICAgICAgIG1hdEJhZGdlT3ZlcmxhcD1cInRydWVcIlxuICAgICAgICAgICAgICBtYXRCYWRnZVBvc2l0aW9uPVwiYWJvdmUgYWZ0ZXJcIj5cbiAgICAgICAge3t1c2VyVGV4dH19XG4gICAgICA8L2J1dHRvbj5cbiAgICA8L2lvbi1jb2w+XG5cbiAgICA8aW9uLWNvbD5cbiAgICAgIDxpbnB1dCB0eXBlPVwidGV4dFwiIFt2YWx1ZV09XCJtYXRCYWRnZUNvbnRlbnRcIiAoaW5wdXQpPVwib25NYXRCYWRnZUNvbnRlbnRDaGFuZ2VkKCRldmVudClcIj5cbiAgICA8L2lvbi1jb2w+XG4gIDwvaW9uLXJvdz5cblxuICA8aW9uLXJvdz5cbiAgICA8aW9uLWNvbCBzaXplPVwiYXV0b1wiPlxuICAgICAgPHA+bWF0LWJ1dHRvbjwvcD5cbiAgICA8L2lvbi1jb2w+XG4gICAgPGlvbi1jb2w+XG4gICAgICA8YnV0dG9uIG1hdC1idXR0b24gY29sb3I9XCJwcmltYXJ5XCJcbiAgICAgICAgICAgICAgW21hdEJhZGdlXT1cIm1hdEJhZGdlQ29udGVudFwiXG4gICAgICAgICAgICAgIFttYXRCYWRnZUNvbG9yXT1cIiRjb2xvcnxhc3luY3xtYXRDb2xvclwiXG4gICAgICAgICAgICAgIFttYXRCYWRnZUhpZGRlbl09XCIkaGlkZGVufGFzeW5jXCJcbiAgICAgICAgICAgICAgW21hdEJhZGdlU2l6ZV09XCIkc2l6ZXxhc3luY1wiXG4gICAgICAgICAgICAgIG1hdEJhZGdlT3ZlcmxhcD1cInRydWVcIlxuICAgICAgICAgICAgICBtYXRCYWRnZVBvc2l0aW9uPVwiYWZ0ZXJcIj5cbiAgICAgICAgICAgIHt7dXNlclRleHR9fVxuICAgICAgPC9idXR0b24+XG4gICAgPC9pb24tY29sPlxuICA8L2lvbi1yb3c+XG48L2lvbi1jb250ZW50PlxuIl19
42
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYmFkZ2UudGVzdC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3NyYy9hcHAvc2hhcmVkL21hdGVyaWFsL2JhZGdlL2JhZGdlLnRlc3QudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi9zcmMvYXBwL3NoYXJlZC9tYXRlcmlhbC9iYWRnZS9iYWRnZS50ZXN0Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLHVCQUF1QixFQUFxQixTQUFTLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDdEYsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLE1BQU0sQ0FBQzs7Ozs7Ozs7Ozs7O0FBVXZDLE1BQU0sT0FBTyxnQkFBZ0I7SUFXUDtJQVZwQixRQUFRLEdBQUcsaUJBQWlCLENBQUM7SUFDN0IsZUFBZSxHQUFHLEdBQUcsQ0FBQztJQUV0QixLQUFLLEdBQUcsSUFBSSxlQUFlLENBQVMsT0FBTyxDQUFDLENBQUM7SUFDN0MsS0FBSyxHQUFHLElBQUksZUFBZSxDQUFlLE9BQU8sQ0FBQyxDQUFDO0lBQ25ELEtBQUssR0FBRyxJQUFJLGVBQWUsQ0FBZSxPQUFPLENBQUMsQ0FBQztJQUNuRCxNQUFNLEdBQUcsSUFBSSxlQUFlLENBQVksUUFBUSxDQUFDLENBQUM7SUFDbEQsT0FBTyxHQUFHLElBQUksZUFBZSxDQUFVLEtBQUssQ0FBQyxDQUFDO0lBQzlDLFFBQVEsR0FBRyxJQUFJLGVBQWUsQ0FBVSxLQUFLLENBQUMsQ0FBQztJQUUvQyxZQUFvQixFQUFxQjtRQUFyQixPQUFFLEdBQUYsRUFBRSxDQUFtQjtJQUFHLENBQUM7SUFFN0MsY0FBYyxDQUFDLEtBQVU7UUFDdkIsSUFBSSxDQUFDLFFBQVEsR0FBRyxLQUFLLENBQUMsTUFBTSxDQUFDLEtBQUssQ0FBQztRQUNuQyxJQUFJLENBQUMsRUFBRSxDQUFDLFlBQVksRUFBRSxDQUFDO0lBQ3pCLENBQUM7SUFFRCx3QkFBd0IsQ0FBQyxLQUFVO1FBQ2pDLElBQUksQ0FBQyxlQUFlLEdBQUcsS0FBSyxDQUFDLE1BQU0sQ0FBQyxLQUFLLENBQUM7UUFDMUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxZQUFZLEVBQUUsQ0FBQztJQUN6QixDQUFDO3VHQXJCVSxnQkFBZ0I7MkZBQWhCLGdCQUFnQixzRENYN0IsK3hQQTJRQTs7MkZEaFFhLGdCQUFnQjtrQkFMNUIsU0FBUzsrQkFDRSxnQkFBZ0IsbUJBRVQsdUJBQXVCLENBQUMsTUFBTSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENoYW5nZURldGVjdGlvblN0cmF0ZWd5LCBDaGFuZ2VEZXRlY3RvclJlZiwgQ29tcG9uZW50IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBCZWhhdmlvclN1YmplY3QgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IE1hdEJhZGdlRmlsbCB9IGZyb20gJy4vYmFkZ2UuZGlyZWN0aXZlJztcbmltcG9ydCB7IE1hdEJhZGdlU2l6ZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2JhZGdlJztcbmltcG9ydCB7IEFwcENvbG9ycyB9IGZyb20gJy4uLy4uL3R5cGVzJztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnbWF0LWJhZGdlLXRlc3QnLFxuICB0ZW1wbGF0ZVVybDogJy4vYmFkZ2UudGVzdC5odG1sJyxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG59KVxuZXhwb3J0IGNsYXNzIE1hdEJhZGdlVGVzdFBhZ2Uge1xuICB1c2VyVGV4dCA9ICdBIGN1c3RvbSBzdHJpbmcnO1xuICBtYXRCYWRnZUNvbnRlbnQgPSAnISc7XG5cbiAgJGljb24gPSBuZXcgQmVoYXZpb3JTdWJqZWN0PHN0cmluZz4oJ2FsZXJ0Jyk7XG4gICRzaXplID0gbmV3IEJlaGF2aW9yU3ViamVjdDxNYXRCYWRnZVNpemU+KCdzbWFsbCcpO1xuICAkZmlsbCA9IG5ldyBCZWhhdmlvclN1YmplY3Q8TWF0QmFkZ2VGaWxsPignc29saWQnKTtcbiAgJGNvbG9yID0gbmV3IEJlaGF2aW9yU3ViamVjdDxBcHBDb2xvcnM+KCdkYW5nZXInKTtcbiAgJGhpZGRlbiA9IG5ldyBCZWhhdmlvclN1YmplY3Q8Ym9vbGVhbj4oZmFsc2UpO1xuICAkb3ZlcmxhcCA9IG5ldyBCZWhhdmlvclN1YmplY3Q8Ym9vbGVhbj4oZmFsc2UpO1xuXG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgY2Q6IENoYW5nZURldGVjdG9yUmVmKSB7fVxuXG4gIG9uSW5wdXRDaGFuZ2VkKGV2ZW50OiBhbnkpIHtcbiAgICB0aGlzLnVzZXJUZXh0ID0gZXZlbnQudGFyZ2V0LnZhbHVlO1xuICAgIHRoaXMuY2QubWFya0ZvckNoZWNrKCk7XG4gIH1cblxuICBvbk1hdEJhZGdlQ29udGVudENoYW5nZWQoZXZlbnQ6IGFueSkge1xuICAgIHRoaXMubWF0QmFkZ2VDb250ZW50ID0gZXZlbnQudGFyZ2V0LnZhbHVlO1xuICAgIHRoaXMuY2QubWFya0ZvckNoZWNrKCk7XG4gIH1cbn1cbiIsIjxpb24taGVhZGVyPlxuICA8aW9uLXRvb2xiYXIgY29sb3I9XCJwcmltYXJ5XCI+XG4gICAgPGlvbi1idXR0b25zIHNsb3Q9XCJzdGFydFwiPlxuICAgICAgPGlvbi1iYWNrLWJ1dHRvbj48L2lvbi1iYWNrLWJ1dHRvbj5cbiAgICA8L2lvbi1idXR0b25zPlxuXG4gICAgPGlvbi10aXRsZT5tYXRCYWRnZUljb24gZGlyZWN0aXZlPC9pb24tdGl0bGU+XG4gIDwvaW9uLXRvb2xiYXI+XG48L2lvbi1oZWFkZXI+XG5cbjxpb24tY29udGVudCBjbGFzcz1cImlvbi1wYWRkaW5nXCI+XG4gIDwhLS0gc21hbGwgYmFkZ2UgLS0+XG4gIDxwPlxuICAgIDxpb24tdGV4dCBjb2xvcj1cInRlcnRpYXJ5XCI+XG4gICAgICA8c3BhbiBhcHBCYWRnZSBhcHBCYWRnZU1hdEljb249XCJjaGVja1wiIGFwcEJhZGdlU2l6ZT1cInNtYWxsXCIgYXBwQmFkZ2VDb2xvcj1cImFjY2VudFwiIGFwcEJhZGdlT3ZlcmxhcD1cImZhbHNlXCI+XG4gICAgICAgIFNtYWxsIGJhZGdlXG4gICAgICAgIDxzcGFuIGNsYXNzPVwibWF0LWJhZGdlLWNvbnRlbnRcIj48L3NwYW4+XG4gICAgICA8L3NwYW4+XG4gICAgPC9pb24tdGV4dD5cbiAgPC9wPlxuXG4gIDwhLS0gbWVkaXVtIGJhZGdlIC0tPlxuICA8cD5cbiAgICA8aW9uLXRleHRcbiAgICAgIGFwcEJhZGdlXG4gICAgICBhcHBCYWRnZU1hdEljb249XCJjaGVja1wiXG4gICAgICBhcHBCYWRnZVNpemU9XCJtZWRpdW1cIlxuICAgICAgW2FwcEJhZGdlQ29sb3JdPVwiJ3RlcnRpYXJ5JyB8IG1hdENvbG9yXCJcbiAgICAgIGFwcEJhZGdlT3ZlcmxhcD1cImZhbHNlXCJcbiAgICA+XG4gICAgICBNZWRpdW0gYmFkZ2VcbiAgICA8L2lvbi10ZXh0PlxuICA8L3A+XG5cbiAgPCEtLSBzbWFsbCBiYWRnZSAtLT5cbiAgPHA+XG4gICAgPGlvbi1sYWJlbCBhcHBCYWRnZSBhcHBCYWRnZU1hdEljb249XCJjbG9zZVwiIGFwcEJhZGdlU2l6ZT1cImxhcmdlXCIgYXBwQmFkZ2VPdmVybGFwPVwiZmFsc2VcIj5MYXJnZSBiYWRnZTwvaW9uLWxhYmVsPlxuICA8L3A+XG5cbiAgPCEtLSBkZWZhdWx0IHNpemUgYmFkZ2UgLS0+XG4gIDxwPlxuICAgIDxpb24tbGFiZWwgYXBwQmFkZ2UgYXBwQmFkZ2VNYXRJY29uPVwiY2hlY2tcIiBbYXBwQmFkZ2VDb2xvcl09XCInc3VjY2VzcycgfCBtYXRDb2xvclwiIGFwcEJhZGdlT3ZlcmxhcD1cImZhbHNlXCI+XG4gICAgICBCYWRnZSAobm8gc2l6ZSwgbm8gY29sb3IpXG4gICAgPC9pb24tbGFiZWw+XG4gIDwvcD5cblxuICA8IS0tIGlvbiBpY29uIC0tPlxuICA8cD5cbiAgICA8aW9uLWxhYmVsIGFwcEJhZGdlIGFwcEJhZGdlSWNvbj1cImNoZWNrbWFya1wiIFthcHBCYWRnZUNvbG9yXT1cIidzdWNjZXNzJyB8IG1hdENvbG9yXCIgYXBwQmFkZ2VPdmVybGFwPVwiZmFsc2VcIj5cbiAgICAgIEJhZGdlIHdpdGggaW9uLWljb25cbiAgICA8L2lvbi1sYWJlbD5cbiAgPC9wPlxuXG4gIDwhLS0gaW9uIGljb24gY2xlYXIgLS0+XG4gIDxwPlxuICAgIDxpb24tbGFiZWxcbiAgICAgIGFwcEJhZGdlXG4gICAgICBhcHBCYWRnZUljb249XCJjaGVja21hcmstY2lyY2xlXCJcbiAgICAgIFthcHBCYWRnZUNvbG9yXT1cIid0ZXJ0aWFyeScgfCBtYXRDb2xvclwiXG4gICAgICBhcHBCYWRnZUZpbGw9XCJjbGVhclwiXG4gICAgICBhcHBCYWRnZU92ZXJsYXA9XCJmYWxzZVwiXG4gICAgPlxuICAgICAgQmFkZ2Ugd2l0aCBjbGVhciBpY29uXG4gICAgPC9pb24tbGFiZWw+XG4gIDwvcD5cblxuICA8IS0tIGNoYW5naW5nIHRleHQtLT5cbiAgPGlvbi1yb3c+XG4gICAgPGlvbi1jb2w+XG4gICAgICA8aW9uLWxhYmVsXG4gICAgICAgIGFwcEJhZGdlXG4gICAgICAgIGFwcEJhZGdlSWNvbj1cImNoZWNrbWFyay1jaXJjbGVcIlxuICAgICAgICBbYXBwQmFkZ2VDb2xvcl09XCIndGVydGlhcnknIHwgbWF0Q29sb3JcIlxuICAgICAgICBhcHBCYWRnZUZpbGw9XCJjbGVhclwiXG4gICAgICAgIGFwcEJhZGdlT3ZlcmxhcD1cImZhbHNlXCJcbiAgICAgID5cbiAgICAgICAge3sgdXNlclRleHQgfX1cbiAgICAgIDwvaW9uLWxhYmVsPlxuICAgIDwvaW9uLWNvbD5cbiAgICA8aW9uLWNvbD5cbiAgICAgIDxpbnB1dCB0eXBlPVwidGV4dFwiIFt2YWx1ZV09XCJ1c2VyVGV4dFwiIChpbnB1dCk9XCJvbklucHV0Q2hhbmdlZCgkZXZlbnQpXCIgLz5cbiAgICA8L2lvbi1jb2w+XG4gIDwvaW9uLXJvdz5cblxuICA8aW9uLXJvdz5cbiAgICA8aW9uLWNvbD5Db25maWd1cmFibGUgZXhhbXBsZSA6PC9pb24tY29sPlxuICA8L2lvbi1yb3c+XG4gIDxpb24tcm93IGNsYXNzPVwiaW9uLW5vLXBhZGRpbmdcIj5cbiAgICA8aW9uLWNvbCBzaXplPVwiYXV0b1wiPlxuICAgICAgPG1hdC1pY29uXG4gICAgICAgIFtzdHlsZS5jb2xvcl09XCIndmFyKC0taW9uLWNvbG9yLXNlY29uZGFyeSknXCJcbiAgICAgICAgYXBwQmFkZ2VcbiAgICAgICAgW2FwcEJhZGdlSWNvbl09XCIkaWNvbiB8IGFzeW5jXCJcbiAgICAgICAgW2FwcEJhZGdlQ29sb3JdPVwiJGNvbG9yIHwgYXN5bmMgfCBtYXRDb2xvclwiXG4gICAgICAgIFthcHBCYWRnZUhpZGRlbl09XCIkaGlkZGVuIHwgYXN5bmNcIlxuICAgICAgICBbYXBwQmFkZ2VGaWxsXT1cIiRmaWxsIHwgYXN5bmNcIlxuICAgICAgICBbYXBwQmFkZ2VTaXplXT1cIiRzaXplIHwgYXN5bmNcIlxuICAgICAgICBhcHBCYWRnZU92ZXJsYXA9XCJ0cnVlXCJcbiAgICAgICAgYXBwQmFkZ2VQb3NpdGlvbj1cImFib3ZlIGJlZm9yZVwiXG4gICAgICA+XG4gICAgICAgIDxpb24taWNvbiBzbG90PVwiaWNvbi1vbmx5XCIgW2NvbG9yXT1cIidzZWNvbmRhcnknXCIgbmFtZT1cIm5hdmlnYXRlXCI+PC9pb24taWNvbj5cbiAgICAgIDwvbWF0LWljb24+XG4gICAgPC9pb24tY29sPlxuXG4gICAgPGlvbi1jb2w+XG4gICAgICA8bWF0LWZvcm0tZmllbGQ+XG4gICAgICAgIDxtYXQtbGFiZWw+YXBwQmFkZ2VDb2xvcjwvbWF0LWxhYmVsPlxuICAgICAgICA8bWF0LXNlbGVjdCBbdmFsdWVdPVwiJGNvbG9yLnZhbHVlXCIgKHNlbGVjdGlvbkNoYW5nZSk9XCJ0aGlzLiRjb2xvci5uZXh0KCRldmVudC52YWx1ZSlcIj5cbiAgICAgICAgICA8bWF0LW9wdGlvbiBbdmFsdWVdPVwiJ3ByaW1hcnknXCI+cHJpbWFyeTwvbWF0LW9wdGlvbj5cbiAgICAgICAgICA8bWF0LW9wdGlvbiBbdmFsdWVdPVwiJ3NlY29uZGFyeSdcIj5zZWNvbmRhcnk8L21hdC1vcHRpb24+XG4gICAgICAgICAgPG1hdC1vcHRpb24gW3ZhbHVlXT1cIid0ZXJ0aWFyeSdcIj50ZXJ0aWFyeTwvbWF0LW9wdGlvbj5cbiAgICAgICAgICA8bWF0LW9wdGlvbiBbdmFsdWVdPVwiJ2RhbmdlcidcIj5kYW5nZXI8L21hdC1vcHRpb24+XG4gICAgICAgIDwvbWF0LXNlbGVjdD5cbiAgICAgIDwvbWF0LWZvcm0tZmllbGQ+XG4gICAgPC9pb24tY29sPlxuXG4gICAgPGlvbi1jb2w+XG4gICAgICA8bWF0LWZvcm0tZmllbGQ+XG4gICAgICAgIDxtYXQtbGFiZWw+YXBwQmFkZ2VJY29uPC9tYXQtbGFiZWw+XG4gICAgICAgIDxtYXQtc2VsZWN0IFt2YWx1ZV09XCIkaWNvbi52YWx1ZVwiIChzZWxlY3Rpb25DaGFuZ2UpPVwidGhpcy4kaWNvbi5uZXh0KCRldmVudC52YWx1ZSlcIj5cbiAgICAgICAgICA8bWF0LW9wdGlvbiBbdmFsdWVdPVwiJ2NoZWNrbWFyay1jaXJjbGUnXCI+Y2hlY2ttYXJrLWNpcmNsZTwvbWF0LW9wdGlvbj5cbiAgICAgICAgICA8bWF0LW9wdGlvbiBbdmFsdWVdPVwiJ2FsZXJ0LWNpcmNsZSdcIj5hbGVydC1jaXJjbGU8L21hdC1vcHRpb24+XG4gICAgICAgICAgPG1hdC1vcHRpb24gW3ZhbHVlXT1cIidhbGVydCdcIj5hbGVydDwvbWF0LW9wdGlvbj5cbiAgICAgICAgICA8bWF0LW9wdGlvbiBbdmFsdWVdPVwiJ2ZsYWcnXCI+ZmxhZzwvbWF0LW9wdGlvbj5cbiAgICAgICAgPC9tYXQtc2VsZWN0PlxuICAgICAgPC9tYXQtZm9ybS1maWVsZD5cbiAgICA8L2lvbi1jb2w+XG5cbiAgICA8aW9uLWNvbD5cbiAgICAgIDxtYXQtZm9ybS1maWVsZD5cbiAgICAgICAgPG1hdC1sYWJlbD5hcHBCYWRnZVNpemU8L21hdC1sYWJlbD5cbiAgICAgICAgPG1hdC1zZWxlY3QgW3ZhbHVlXT1cIiRzaXplLnZhbHVlXCIgKHNlbGVjdGlvbkNoYW5nZSk9XCJ0aGlzLiRzaXplLm5leHQoJGV2ZW50LnZhbHVlKVwiPlxuICAgICAgICAgIDxtYXQtb3B0aW9uIFt2YWx1ZV09XCInbGFyZ2UnXCI+bGFyZ2U8L21hdC1vcHRpb24+XG4gICAgICAgICAgPG1hdC1vcHRpb24gW3ZhbHVlXT1cIidtZWRpdW0nXCI+bWVkaXVtPC9tYXQtb3B0aW9uPlxuICAgICAgICAgIDxtYXQtb3B0aW9uIFt2YWx1ZV09XCInc21hbGwnXCI+c21hbGw8L21hdC1vcHRpb24+XG4gICAgICAgIDwvbWF0LXNlbGVjdD5cbiAgICAgIDwvbWF0LWZvcm0tZmllbGQ+XG4gICAgPC9pb24tY29sPlxuXG4gICAgPGlvbi1jb2w+XG4gICAgICA8bWF0LWZvcm0tZmllbGQ+XG4gICAgICAgIDxtYXQtbGFiZWw+YXBwQmFkZ2VGaWxsPC9tYXQtbGFiZWw+XG4gICAgICAgIDxtYXQtc2VsZWN0IFt2YWx1ZV09XCIkZmlsbC52YWx1ZVwiIChzZWxlY3Rpb25DaGFuZ2UpPVwidGhpcy4kZmlsbC5uZXh0KCRldmVudC52YWx1ZSlcIj5cbiAgICAgICAgICA8bWF0LW9wdGlvbiBbdmFsdWVdPVwiJ2NsZWFyJ1wiPmNsZWFyPC9tYXQtb3B0aW9uPlxuICAgICAgICAgIDxtYXQtb3B0aW9uIFt2YWx1ZV09XCInc29saWQnXCI+c29saWQ8L21hdC1vcHRpb24+XG4gICAgICAgIDwvbWF0LXNlbGVjdD5cbiAgICAgIDwvbWF0LWZvcm0tZmllbGQ+XG4gICAgPC9pb24tY29sPlxuXG4gICAgPGlvbi1jb2w+XG4gICAgICA8bWF0LWZvcm0tZmllbGQ+XG4gICAgICAgIDxtYXQtbGFiZWw+YXBwQmFkZ2VIaWRkZW48L21hdC1sYWJlbD5cbiAgICAgICAgPG1hdC1zZWxlY3QgW3ZhbHVlXT1cIiRoaWRkZW4udmFsdWVcIiAoc2VsZWN0aW9uQ2hhbmdlKT1cInRoaXMuJGhpZGRlbi5uZXh0KCRldmVudC52YWx1ZSlcIj5cbiAgICAgICAgICA8bWF0LW9wdGlvbiBbdmFsdWVdPVwidHJ1ZVwiPnRydWU8L21hdC1vcHRpb24+XG4gICAgICAgICAgPG1hdC1vcHRpb24gW3ZhbHVlXT1cImZhbHNlXCI+ZmFsc2U8L21hdC1vcHRpb24+XG4gICAgICAgIDwvbWF0LXNlbGVjdD5cbiAgICAgIDwvbWF0LWZvcm0tZmllbGQ+XG4gICAgPC9pb24tY29sPlxuICA8L2lvbi1yb3c+XG5cbiAgPGlvbi1yb3c+XG4gICAgPGlvbi1jb2wgc2l6ZT1cImF1dG9cIj5cbiAgICAgIDxwPm1hdC1yYWlzZWQtYnV0dG9uOjwvcD5cbiAgICA8L2lvbi1jb2w+XG4gICAgPGlvbi1jb2w+XG4gICAgICA8YnV0dG9uXG4gICAgICAgIG1hdC1yYWlzZWQtYnV0dG9uXG4gICAgICAgIGNvbG9yPVwicHJpbWFyeVwiXG4gICAgICAgIFthcHBCYWRnZUljb25dPVwiJGljb24gfCBhc3luY1wiXG4gICAgICAgIFthcHBCYWRnZUNvbG9yXT1cIiRjb2xvciB8IGFzeW5jIHwgbWF0Q29sb3JcIlxuICAgICAgICBbYXBwQmFkZ2VIaWRkZW5dPVwiJGhpZGRlbiB8IGFzeW5jXCJcbiAgICAgICAgW2FwcEJhZGdlRmlsbF09XCIkZmlsbCB8IGFzeW5jXCJcbiAgICAgICAgW2FwcEJhZGdlU2l6ZV09XCIkc2l6ZSB8IGFzeW5jXCJcbiAgICAgICAgYXBwQmFkZ2VPdmVybGFwPVwidHJ1ZVwiXG4gICAgICAgIGFwcEJhZGdlUG9zaXRpb249XCJiZWxvdyBhZnRlclwiXG4gICAgICA+XG4gICAgICAgIHt7IHVzZXJUZXh0IH19XG4gICAgICA8L2J1dHRvbj5cbiAgICA8L2lvbi1jb2w+XG4gIDwvaW9uLXJvdz5cblxuICA8aW9uLXJvdz5cbiAgICA8aW9uLWNvbCBzaXplPVwiYXV0b1wiPlxuICAgICAgPHA+bWF0LWJ1dHRvbiB3aXRoIG1hdC1sYWJlbDo8L3A+XG4gICAgPC9pb24tY29sPlxuICAgIDxpb24tY29sPlxuICAgICAgPGJ1dHRvblxuICAgICAgICBtYXQtYnV0dG9uXG4gICAgICAgIGNvbG9yPVwicHJpbWFyeVwiXG4gICAgICAgIGNsYXNzPVwiaW9uLW5vLXBhZGRpbmdcIlxuICAgICAgICBbYXBwQmFkZ2VJY29uXT1cIiRpY29uIHwgYXN5bmNcIlxuICAgICAgICBbYXBwQmFkZ2VDb2xvcl09XCIkY29sb3IgfCBhc3luYyB8IG1hdENvbG9yXCJcbiAgICAgICAgW2FwcEJhZGdlSGlkZGVuXT1cIiRoaWRkZW4gfCBhc3luY1wiXG4gICAgICAgIFthcHBCYWRnZUZpbGxdPVwiJGZpbGwgfCBhc3luY1wiXG4gICAgICAgIFthcHBCYWRnZVNpemVdPVwiJHNpemUgfCBhc3luY1wiXG4gICAgICAgIG1hdEJhZGdlT3ZlcmxhcD1cInRydWVcIlxuICAgICAgICBtYXRCYWRnZVBvc2l0aW9uPVwiYWJvdmUgYWZ0ZXJcIlxuICAgICAgPlxuICAgICAgICB7eyB1c2VyVGV4dCB9fVxuICAgICAgPC9idXR0b24+XG4gICAgPC9pb24tY29sPlxuICA8L2lvbi1yb3c+XG5cbiAgPGg0PkFuZ3VsYXIgTWF0ZXJpYWwgQmFkZ2UgKHN0YW5kYXJkIHdheSk8L2g0PlxuXG4gIDxpb24tcm93PlxuICAgIDxpb24tY29sIHNpemU9XCJhdXRvXCI+XG4gICAgICA8cD5tYXQtaWNvbjo8L3A+XG4gICAgPC9pb24tY29sPlxuICAgIDxpb24tY29sPlxuICAgICAgPG1hdC1pY29uXG4gICAgICAgIFtzdHlsZS5jb2xvcl09XCIndmFyKC0taW9uLWNvbG9yLXNlY29uZGFyeSknXCJcbiAgICAgICAgW21hdEJhZGdlXT1cIichJ1wiXG4gICAgICAgIFttYXRCYWRnZUNvbG9yXT1cIiRjb2xvciB8IGFzeW5jIHwgbWF0Q29sb3JcIlxuICAgICAgICBbbWF0QmFkZ2VIaWRkZW5dPVwiJGhpZGRlbiB8IGFzeW5jXCJcbiAgICAgICAgW21hdEJhZGdlU2l6ZV09XCIkc2l6ZSB8IGFzeW5jXCJcbiAgICAgICAgbWF0QmFkZ2VPdmVybGFwPVwidHJ1ZVwiXG4gICAgICA+XG4gICAgICAgIDxpb24taWNvbiBzbG90PVwiaWNvbi1vbmx5XCIgW2NvbG9yXT1cIidzZWNvbmRhcnknXCIgbmFtZT1cIm5hdmlnYXRlXCI+PC9pb24taWNvbj5cbiAgICAgIDwvbWF0LWljb24+XG4gICAgPC9pb24tY29sPlxuICA8L2lvbi1yb3c+XG5cbiAgPGlvbi1yb3c+XG4gICAgPGlvbi1jb2wgc2l6ZT1cImF1dG9cIj5cbiAgICAgIDxwPm1hdC1idXR0b246PC9wPlxuICAgIDwvaW9uLWNvbD5cbiAgICA8aW9uLWNvbD5cbiAgICAgIDxidXR0b25cbiAgICAgICAgbWF0LXJhaXNlZC1idXR0b25cbiAgICAgICAgY29sb3I9XCJwcmltYXJ5XCJcbiAgICAgICAgW21hdEJhZGdlXT1cIm1hdEJhZGdlQ29udGVudFwiXG4gICAgICAgIFttYXRCYWRnZUNvbG9yXT1cIiRjb2xvciB8IGFzeW5jIHwgbWF0Q29sb3JcIlxuICAgICAgICBbbWF0QmFkZ2VIaWRkZW5dPVwiJGhpZGRlbiB8IGFzeW5jXCJcbiAgICAgICAgW21hdEJhZGdlU2l6ZV09XCIkc2l6ZSB8IGFzeW5jXCJcbiAgICAgICAgbWF0QmFkZ2VPdmVybGFwPVwidHJ1ZVwiXG4gICAgICAgIG1hdEJhZGdlUG9zaXRpb249XCJhYm92ZSBhZnRlclwiXG4gICAgICA+XG4gICAgICAgIHt7IHVzZXJUZXh0IH19XG4gICAgICA8L2J1dHRvbj5cbiAgICA8L2lvbi1jb2w+XG5cbiAgICA8aW9uLWNvbD5cbiAgICAgIDxpbnB1dCB0eXBlPVwidGV4dFwiIFt2YWx1ZV09XCJtYXRCYWRnZUNvbnRlbnRcIiAoaW5wdXQpPVwib25NYXRCYWRnZUNvbnRlbnRDaGFuZ2VkKCRldmVudClcIiAvPlxuICAgIDwvaW9uLWNvbD5cbiAgPC9pb24tcm93PlxuXG4gIDxpb24tcm93PlxuICAgIDxpb24tY29sIHNpemU9XCJhdXRvXCI+XG4gICAgICA8cD5tYXQtYnV0dG9uPC9wPlxuICAgIDwvaW9uLWNvbD5cbiAgICA8aW9uLWNvbD5cbiAgICAgIDxidXR0b25cbiAgICAgICAgbWF0LWJ1dHRvblxuICAgICAgICBjb2xvcj1cInByaW1hcnlcIlxuICAgICAgICBbbWF0QmFkZ2VdPVwibWF0QmFkZ2VDb250ZW50XCJcbiAgICAgICAgW21hdEJhZGdlQ29sb3JdPVwiJGNvbG9yIHwgYXN5bmMgfCBtYXRDb2xvclwiXG4gICAgICAgIFttYXRCYWRnZUhpZGRlbl09XCIkaGlkZGVuIHwgYXN5bmNcIlxuICAgICAgICBbbWF0QmFkZ2VTaXplXT1cIiRzaXplIHwgYXN5bmNcIlxuICAgICAgICBtYXRCYWRnZU92ZXJsYXA9XCJ0cnVlXCJcbiAgICAgICAgbWF0QmFkZ2VQb3NpdGlvbj1cImFmdGVyXCJcbiAgICAgID5cbiAgICAgICAge3sgdXNlclRleHQgfX1cbiAgICAgIDwvYnV0dG9uPlxuICAgIDwvaW9uLWNvbD5cbiAgPC9pb24tcm93PlxuPC9pb24tY29udGVudD5cbiJdfQ==
@@ -11,12 +11,12 @@ import { MatInputModule } from '@angular/material/input';
11
11
  import { MatRadioModule } from '@angular/material/radio';
12
12
  import { MatCheckboxModule } from '@angular/material/checkbox';
13
13
  import { SharedDirectivesModule } from '../../directives/directives.module';
14
- import { MatBooleanField } from './material-boolean';
14
+ import { MatBooleanField } from './material.boolean';
15
15
  import * as i0 from "@angular/core";
16
16
  import * as i1 from "@ngx-translate/core";
17
17
  export class SharedMatBooleanModule {
18
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.1.1", ngImport: i0, type: SharedMatBooleanModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
19
- static ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "17.1.1", ngImport: i0, type: SharedMatBooleanModule, declarations: [MatBooleanField], imports: [CommonModule,
18
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.1.3", ngImport: i0, type: SharedMatBooleanModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
19
+ static ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "17.1.3", ngImport: i0, type: SharedMatBooleanModule, declarations: [MatBooleanField], imports: [CommonModule,
20
20
  IonicModule,
21
21
  ReactiveFormsModule,
22
22
  SharedPipesModule,
@@ -26,7 +26,7 @@ export class SharedMatBooleanModule {
26
26
  MatRadioModule,
27
27
  MatCheckboxModule,
28
28
  NgxMaterialTimepickerModule, i1.TranslateModule, SharedDirectivesModule], exports: [MatBooleanField] });
29
- static ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "17.1.1", ngImport: i0, type: SharedMatBooleanModule, imports: [CommonModule,
29
+ static ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "17.1.3", ngImport: i0, type: SharedMatBooleanModule, imports: [CommonModule,
30
30
  IonicModule,
31
31
  ReactiveFormsModule,
32
32
  SharedPipesModule,
@@ -39,7 +39,7 @@ export class SharedMatBooleanModule {
39
39
  TranslateModule.forChild(),
40
40
  SharedDirectivesModule] });
41
41
  }
42
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.1.1", ngImport: i0, type: SharedMatBooleanModule, decorators: [{
42
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.1.3", ngImport: i0, type: SharedMatBooleanModule, decorators: [{
43
43
  type: NgModule,
44
44
  args: [{
45
45
  imports: [
@@ -54,14 +54,10 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.1.1", ngImpor
54
54
  MatCheckboxModule,
55
55
  NgxMaterialTimepickerModule,
56
56
  TranslateModule.forChild(),
57
- SharedDirectivesModule
57
+ SharedDirectivesModule,
58
58
  ],
59
- exports: [
60
- MatBooleanField
61
- ],
62
- declarations: [
63
- MatBooleanField
64
- ]
59
+ exports: [MatBooleanField],
60
+ declarations: [MatBooleanField],
65
61
  }]
66
62
  }] });
67
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYm9vbGVhbi5tb2R1bGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9zcmMvYXBwL3NoYXJlZC9tYXRlcmlhbC9ib29sZWFuL2Jvb2xlYW4ubW9kdWxlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBQyxRQUFRLEVBQUMsTUFBTSxlQUFlLENBQUM7QUFDdkMsT0FBTyxFQUFDLGVBQWUsRUFBQyxNQUFNLHdCQUF3QixDQUFDO0FBQ3ZELE9BQU8sRUFBQyxlQUFlLEVBQUMsTUFBTSxxQkFBcUIsQ0FBQztBQUNwRCxPQUFPLEVBQUMsWUFBWSxFQUFDLE1BQU0saUJBQWlCLENBQUM7QUFDN0MsT0FBTyxFQUFDLFdBQVcsRUFBQyxNQUFNLGdCQUFnQixDQUFDO0FBQzNDLE9BQU8sRUFBQyxpQkFBaUIsRUFBQyxNQUFNLDBCQUEwQixDQUFDO0FBQzNELE9BQU8sRUFBQyxtQkFBbUIsRUFBQyxNQUFNLGdCQUFnQixDQUFDO0FBQ25ELE9BQU8sRUFBQywyQkFBMkIsRUFBQyxNQUFNLHlCQUF5QixDQUFDO0FBQ3BFLE9BQU8sRUFBQyxrQkFBa0IsRUFBQyxNQUFNLDhCQUE4QixDQUFDO0FBQ2hFLE9BQU8sRUFBQyxjQUFjLEVBQUMsTUFBTSx5QkFBeUIsQ0FBQztBQUN2RCxPQUFPLEVBQUMsY0FBYyxFQUFDLE1BQU0seUJBQXlCLENBQUM7QUFDdkQsT0FBTyxFQUFDLGlCQUFpQixFQUFDLE1BQU0sNEJBQTRCLENBQUM7QUFDN0QsT0FBTyxFQUFDLHNCQUFzQixFQUFDLE1BQU0sb0NBQW9DLENBQUM7QUFDMUUsT0FBTyxFQUFDLGVBQWUsRUFBQyxNQUFNLG9CQUFvQixDQUFDOzs7QUF3Qm5ELE1BQU0sT0FBTyxzQkFBc0I7dUdBQXRCLHNCQUFzQjt3R0FBdEIsc0JBQXNCLGlCQUgvQixlQUFlLGFBakJYLFlBQVk7WUFDWixXQUFXO1lBQ1gsbUJBQW1CO1lBQ25CLGlCQUFpQjtZQUNqQixlQUFlO1lBQ2Ysa0JBQWtCO1lBQ2xCLGNBQWM7WUFDZCxjQUFjO1lBQ2QsaUJBQWlCO1lBQ2pCLDJCQUEyQixzQkFFM0Isc0JBQXNCLGFBRzFCLGVBQWU7d0dBTU4sc0JBQXNCLFlBcEIzQixZQUFZO1lBQ1osV0FBVztZQUNYLG1CQUFtQjtZQUNuQixpQkFBaUI7WUFDakIsZUFBZTtZQUNmLGtCQUFrQjtZQUNsQixjQUFjO1lBQ2QsY0FBYztZQUNkLGlCQUFpQjtZQUNqQiwyQkFBMkI7WUFDM0IsZUFBZSxDQUFDLFFBQVEsRUFBRTtZQUMxQixzQkFBc0I7OzJGQVNqQixzQkFBc0I7a0JBdEJsQyxRQUFRO21CQUFDO29CQUNOLE9BQU8sRUFBRTt3QkFDTCxZQUFZO3dCQUNaLFdBQVc7d0JBQ1gsbUJBQW1CO3dCQUNuQixpQkFBaUI7d0JBQ2pCLGVBQWU7d0JBQ2Ysa0JBQWtCO3dCQUNsQixjQUFjO3dCQUNkLGNBQWM7d0JBQ2QsaUJBQWlCO3dCQUNqQiwyQkFBMkI7d0JBQzNCLGVBQWUsQ0FBQyxRQUFRLEVBQUU7d0JBQzFCLHNCQUFzQjtxQkFDekI7b0JBQ0gsT0FBTyxFQUFFO3dCQUNQLGVBQWU7cUJBQ2hCO29CQUNELFlBQVksRUFBRTt3QkFDWixlQUFlO3FCQUNoQjtpQkFDRiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7TmdNb2R1bGV9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHtNYXRDb21tb25Nb2R1bGV9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2NvcmUnO1xuaW1wb3J0IHtUcmFuc2xhdGVNb2R1bGV9IGZyb20gJ0BuZ3gtdHJhbnNsYXRlL2NvcmUnO1xuaW1wb3J0IHtDb21tb25Nb2R1bGV9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQge0lvbmljTW9kdWxlfSBmcm9tICdAaW9uaWMvYW5ndWxhcic7XG5pbXBvcnQge1NoYXJlZFBpcGVzTW9kdWxlfSBmcm9tICcuLi8uLi9waXBlcy9waXBlcy5tb2R1bGUnO1xuaW1wb3J0IHtSZWFjdGl2ZUZvcm1zTW9kdWxlfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5pbXBvcnQge05neE1hdGVyaWFsVGltZXBpY2tlck1vZHVsZX0gZnJvbSAnbmd4LW1hdGVyaWFsLXRpbWVwaWNrZXInO1xuaW1wb3J0IHtNYXRGb3JtRmllbGRNb2R1bGV9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2Zvcm0tZmllbGQnO1xuaW1wb3J0IHtNYXRJbnB1dE1vZHVsZX0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvaW5wdXQnO1xuaW1wb3J0IHtNYXRSYWRpb01vZHVsZX0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvcmFkaW8nO1xuaW1wb3J0IHtNYXRDaGVja2JveE1vZHVsZX0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvY2hlY2tib3gnO1xuaW1wb3J0IHtTaGFyZWREaXJlY3RpdmVzTW9kdWxlfSBmcm9tICcuLi8uLi9kaXJlY3RpdmVzL2RpcmVjdGl2ZXMubW9kdWxlJztcbmltcG9ydCB7TWF0Qm9vbGVhbkZpZWxkfSBmcm9tICcuL21hdGVyaWFsLWJvb2xlYW4nO1xuXG5ATmdNb2R1bGUoe1xuICAgIGltcG9ydHM6IFtcbiAgICAgICAgQ29tbW9uTW9kdWxlLFxuICAgICAgICBJb25pY01vZHVsZSxcbiAgICAgICAgUmVhY3RpdmVGb3Jtc01vZHVsZSxcbiAgICAgICAgU2hhcmVkUGlwZXNNb2R1bGUsXG4gICAgICAgIE1hdENvbW1vbk1vZHVsZSxcbiAgICAgICAgTWF0Rm9ybUZpZWxkTW9kdWxlLFxuICAgICAgICBNYXRJbnB1dE1vZHVsZSxcbiAgICAgICAgTWF0UmFkaW9Nb2R1bGUsXG4gICAgICAgIE1hdENoZWNrYm94TW9kdWxlLFxuICAgICAgICBOZ3hNYXRlcmlhbFRpbWVwaWNrZXJNb2R1bGUsXG4gICAgICAgIFRyYW5zbGF0ZU1vZHVsZS5mb3JDaGlsZCgpLFxuICAgICAgICBTaGFyZWREaXJlY3RpdmVzTW9kdWxlXG4gICAgXSxcbiAgZXhwb3J0czogW1xuICAgIE1hdEJvb2xlYW5GaWVsZFxuICBdLFxuICBkZWNsYXJhdGlvbnM6IFtcbiAgICBNYXRCb29sZWFuRmllbGRcbiAgXVxufSlcbmV4cG9ydCBjbGFzcyBTaGFyZWRNYXRCb29sZWFuTW9kdWxlIHtcbn1cblxuIl19
63
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYm9vbGVhbi5tb2R1bGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9zcmMvYXBwL3NoYXJlZC9tYXRlcmlhbC9ib29sZWFuL2Jvb2xlYW4ubW9kdWxlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDekMsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLHdCQUF3QixDQUFDO0FBQ3pELE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQUN0RCxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDL0MsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQzdDLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLDBCQUEwQixDQUFDO0FBQzdELE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQ3JELE9BQU8sRUFBRSwyQkFBMkIsRUFBRSxNQUFNLHlCQUF5QixDQUFDO0FBQ3RFLE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLDhCQUE4QixDQUFDO0FBQ2xFLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQztBQUN6RCxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0seUJBQXlCLENBQUM7QUFDekQsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sNEJBQTRCLENBQUM7QUFDL0QsT0FBTyxFQUFFLHNCQUFzQixFQUFFLE1BQU0sb0NBQW9DLENBQUM7QUFDNUUsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLG9CQUFvQixDQUFDOzs7QUFvQnJELE1BQU0sT0FBTyxzQkFBc0I7dUdBQXRCLHNCQUFzQjt3R0FBdEIsc0JBQXNCLGlCQUZsQixlQUFlLGFBZDVCLFlBQVk7WUFDWixXQUFXO1lBQ1gsbUJBQW1CO1lBQ25CLGlCQUFpQjtZQUNqQixlQUFlO1lBQ2Ysa0JBQWtCO1lBQ2xCLGNBQWM7WUFDZCxjQUFjO1lBQ2QsaUJBQWlCO1lBQ2pCLDJCQUEyQixzQkFFM0Isc0JBQXNCLGFBRWQsZUFBZTt3R0FHZCxzQkFBc0IsWUFoQi9CLFlBQVk7WUFDWixXQUFXO1lBQ1gsbUJBQW1CO1lBQ25CLGlCQUFpQjtZQUNqQixlQUFlO1lBQ2Ysa0JBQWtCO1lBQ2xCLGNBQWM7WUFDZCxjQUFjO1lBQ2QsaUJBQWlCO1lBQ2pCLDJCQUEyQjtZQUMzQixlQUFlLENBQUMsUUFBUSxFQUFFO1lBQzFCLHNCQUFzQjs7MkZBS2Isc0JBQXNCO2tCQWxCbEMsUUFBUTttQkFBQztvQkFDUixPQUFPLEVBQUU7d0JBQ1AsWUFBWTt3QkFDWixXQUFXO3dCQUNYLG1CQUFtQjt3QkFDbkIsaUJBQWlCO3dCQUNqQixlQUFlO3dCQUNmLGtCQUFrQjt3QkFDbEIsY0FBYzt3QkFDZCxjQUFjO3dCQUNkLGlCQUFpQjt3QkFDakIsMkJBQTJCO3dCQUMzQixlQUFlLENBQUMsUUFBUSxFQUFFO3dCQUMxQixzQkFBc0I7cUJBQ3ZCO29CQUNELE9BQU8sRUFBRSxDQUFDLGVBQWUsQ0FBQztvQkFDMUIsWUFBWSxFQUFFLENBQUMsZUFBZSxDQUFDO2lCQUNoQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IE5nTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBNYXRDb21tb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9jb3JlJztcbmltcG9ydCB7IFRyYW5zbGF0ZU1vZHVsZSB9IGZyb20gJ0BuZ3gtdHJhbnNsYXRlL2NvcmUnO1xuaW1wb3J0IHsgQ29tbW9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7IElvbmljTW9kdWxlIH0gZnJvbSAnQGlvbmljL2FuZ3VsYXInO1xuaW1wb3J0IHsgU2hhcmVkUGlwZXNNb2R1bGUgfSBmcm9tICcuLi8uLi9waXBlcy9waXBlcy5tb2R1bGUnO1xuaW1wb3J0IHsgUmVhY3RpdmVGb3Jtc01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcbmltcG9ydCB7IE5neE1hdGVyaWFsVGltZXBpY2tlck1vZHVsZSB9IGZyb20gJ25neC1tYXRlcmlhbC10aW1lcGlja2VyJztcbmltcG9ydCB7IE1hdEZvcm1GaWVsZE1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2Zvcm0tZmllbGQnO1xuaW1wb3J0IHsgTWF0SW5wdXRNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9pbnB1dCc7XG5pbXBvcnQgeyBNYXRSYWRpb01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL3JhZGlvJztcbmltcG9ydCB7IE1hdENoZWNrYm94TW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvY2hlY2tib3gnO1xuaW1wb3J0IHsgU2hhcmVkRGlyZWN0aXZlc01vZHVsZSB9IGZyb20gJy4uLy4uL2RpcmVjdGl2ZXMvZGlyZWN0aXZlcy5tb2R1bGUnO1xuaW1wb3J0IHsgTWF0Qm9vbGVhbkZpZWxkIH0gZnJvbSAnLi9tYXRlcmlhbC5ib29sZWFuJztcblxuQE5nTW9kdWxlKHtcbiAgaW1wb3J0czogW1xuICAgIENvbW1vbk1vZHVsZSxcbiAgICBJb25pY01vZHVsZSxcbiAgICBSZWFjdGl2ZUZvcm1zTW9kdWxlLFxuICAgIFNoYXJlZFBpcGVzTW9kdWxlLFxuICAgIE1hdENvbW1vbk1vZHVsZSxcbiAgICBNYXRGb3JtRmllbGRNb2R1bGUsXG4gICAgTWF0SW5wdXRNb2R1bGUsXG4gICAgTWF0UmFkaW9Nb2R1bGUsXG4gICAgTWF0Q2hlY2tib3hNb2R1bGUsXG4gICAgTmd4TWF0ZXJpYWxUaW1lcGlja2VyTW9kdWxlLFxuICAgIFRyYW5zbGF0ZU1vZHVsZS5mb3JDaGlsZCgpLFxuICAgIFNoYXJlZERpcmVjdGl2ZXNNb2R1bGUsXG4gIF0sXG4gIGV4cG9ydHM6IFtNYXRCb29sZWFuRmllbGRdLFxuICBkZWNsYXJhdGlvbnM6IFtNYXRCb29sZWFuRmllbGRdLFxufSlcbmV4cG9ydCBjbGFzcyBTaGFyZWRNYXRCb29sZWFuTW9kdWxlIHt9XG4iXX0=