@elderbyte/ngx-starter 18.14.2 → 18.15.1

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 (323) hide show
  1. package/esm2022/lib/common/enums/elder-enum-translation.service.mjs +4 -4
  2. package/esm2022/lib/common/exceptions/unreachable-case-error.mjs +4 -2
  3. package/esm2022/lib/common/forms/elder-form-field-control-base.directive.mjs +45 -48
  4. package/esm2022/lib/common/forms/elder-from-field-base.mjs +4 -4
  5. package/esm2022/lib/common/forms/elder-from-field-customizable-base.mjs +4 -4
  6. package/esm2022/lib/common/forms/elder-from-field-entity-base.mjs +4 -4
  7. package/esm2022/lib/common/forms/elder-from-field-multi-entity-base.mjs +4 -4
  8. package/esm2022/lib/common/forms/form-field-base.component.mjs +4 -4
  9. package/esm2022/lib/common/forms/multi-model-base.component.mjs +4 -4
  10. package/esm2022/lib/common/forms/template-composite-control.mjs +4 -4
  11. package/esm2022/lib/common/forms/value-accessor-base.mjs +4 -4
  12. package/esm2022/lib/common/http/http-client-builder.service.mjs +4 -4
  13. package/esm2022/lib/common/http/http-client-pristine.mjs +4 -4
  14. package/esm2022/lib/common/http/transfer/data-transfer-factory.mjs +4 -4
  15. package/esm2022/lib/common/url/elder-router.service.mjs +4 -4
  16. package/esm2022/lib/common/url/elder-url-fragment-params.service.mjs +4 -4
  17. package/esm2022/lib/components/access-denied/elder-access-denied.component.mjs +4 -4
  18. package/esm2022/lib/components/access-denied/elder-access-denied.module.mjs +5 -5
  19. package/esm2022/lib/components/auditing/audited-entity/elder-audited-entity.component.mjs +4 -4
  20. package/esm2022/lib/components/auditing/elder-audit.module.mjs +5 -5
  21. package/esm2022/lib/components/badge/elder-badge/elder-badge.component.mjs +10 -10
  22. package/esm2022/lib/components/badge/elder-badge.directive.mjs +4 -4
  23. package/esm2022/lib/components/badge/elder-badge.module.mjs +5 -5
  24. package/esm2022/lib/components/button-group/elder-button-group/elder-button-group.component.mjs +4 -4
  25. package/esm2022/lib/components/button-group/elder-button-group.module.mjs +5 -5
  26. package/esm2022/lib/components/card-organizer/card-organizer/elder-card-organizer.component.mjs +4 -4
  27. package/esm2022/lib/components/card-organizer/card-organizer/elder-stack-card.directive.mjs +4 -4
  28. package/esm2022/lib/components/card-organizer/card-stack/elder-card-stack.component.mjs +4 -4
  29. package/esm2022/lib/components/card-organizer/elder-card-organizer.module.mjs +5 -5
  30. package/esm2022/lib/components/cards/elder-card/elder-card-header/elder-card-header.component.mjs +4 -4
  31. package/esm2022/lib/components/cards/elder-card/elder-card.component.mjs +19 -19
  32. package/esm2022/lib/components/cards/elder-card/elder-card.module.mjs +5 -5
  33. package/esm2022/lib/components/chips/elder-chip-label.directive.mjs +4 -4
  34. package/esm2022/lib/components/chips/elder-chips.module.mjs +5 -5
  35. package/esm2022/lib/components/connectivity/elder-connectivity.module.mjs +5 -5
  36. package/esm2022/lib/components/connectivity/elder-connectivity.service.mjs +4 -4
  37. package/esm2022/lib/components/connectivity/offline-indicator/elder-offline-indicator.component.mjs +4 -4
  38. package/esm2022/lib/components/containers/elder-containers.module.mjs +5 -5
  39. package/esm2022/lib/components/containers/elder-scroll-container/elder-scroll-container.component.mjs +4 -4
  40. package/esm2022/lib/components/csv/elder-csv-export-btn/elder-csv-export-btn.component.mjs +4 -4
  41. package/esm2022/lib/components/csv/elder-csv-stream-exporter-builder.service.mjs +4 -4
  42. package/esm2022/lib/components/csv/elder-csv.module.mjs +5 -5
  43. package/esm2022/lib/components/currency/elder-currency.module.mjs +5 -5
  44. package/esm2022/lib/components/currency/elder-currency.pipe.mjs +4 -4
  45. package/esm2022/lib/components/data-transfer/elder-data-transfer.module.mjs +5 -5
  46. package/esm2022/lib/components/data-transfer/elder-data-transfer.service.mjs +4 -4
  47. package/esm2022/lib/components/data-transfer/http-data-transfer/http-data-transfer.component.mjs +4 -4
  48. package/esm2022/lib/components/data-transfer/http-data-transfer-aggregate/http-data-transfer-aggregate.component.mjs +4 -4
  49. package/esm2022/lib/components/data-transfer/http-data-transfer-indicator/http-data-transfer-indicator.component.mjs +4 -4
  50. package/esm2022/lib/components/data-transfer/http-data-transfer-overview/http-data-transfer-overview.component.mjs +4 -4
  51. package/esm2022/lib/components/data-view/base/elder-data-view-base.mjs +4 -4
  52. package/esm2022/lib/components/data-view/common/composite-sort/composite-sort-dc.directive.mjs +4 -4
  53. package/esm2022/lib/components/data-view/common/composite-sort/elder-composite-sort/elder-composite-sort.component.mjs +4 -4
  54. package/esm2022/lib/components/data-view/common/data-context-state-indicator/data-context-state-indicator.component.mjs +4 -4
  55. package/esm2022/lib/components/data-view/common/elder-data-common.module.mjs +5 -5
  56. package/esm2022/lib/components/data-view/common/elder-data-toolbar/elder-data-toolbar.component.mjs +7 -7
  57. package/esm2022/lib/components/data-view/common/elder-single-sort/elder-single-sort.component.mjs +4 -4
  58. package/esm2022/lib/components/data-view/common/selection/data-context-selection.directive.mjs +4 -4
  59. package/esm2022/lib/components/data-view/common/selection/elder-selection-master-checkbox/elder-selection-master-checkbox.component.mjs +4 -4
  60. package/esm2022/lib/components/data-view/grid/elder-grid/elder-grid.component.mjs +10 -10
  61. package/esm2022/lib/components/data-view/grid/elder-grid.module.mjs +5 -5
  62. package/esm2022/lib/components/data-view/master-detail/elder-detail-dialog/elder-detail-dialog.component.mjs +4 -4
  63. package/esm2022/lib/components/data-view/master-detail/elder-detail.directive.mjs +4 -4
  64. package/esm2022/lib/components/data-view/master-detail/elder-master-activation.directive.mjs +4 -4
  65. package/esm2022/lib/components/data-view/master-detail/elder-master-detail.component.mjs +4 -4
  66. package/esm2022/lib/components/data-view/master-detail/elder-master-detail.module.mjs +5 -5
  67. package/esm2022/lib/components/data-view/master-detail/elder-master-detail.service.mjs +4 -4
  68. package/esm2022/lib/components/data-view/master-detail/elder-master.directive.mjs +4 -4
  69. package/esm2022/lib/components/data-view/simple/elder-simple-selection-view/elder-simple-selection-view.component.mjs +4 -4
  70. package/esm2022/lib/components/data-view/simple/elder-simple-selection-view/elder-simple-selection-view.module.mjs +5 -5
  71. package/esm2022/lib/components/data-view/table/activation/elder-delete-active.directive.mjs +4 -4
  72. package/esm2022/lib/components/data-view/table/activation/elder-table-activation.directive.mjs +4 -4
  73. package/esm2022/lib/components/data-view/table/elder-center-cell.directive.mjs +4 -4
  74. package/esm2022/lib/components/data-view/table/elder-number-cell.directive.mjs +4 -4
  75. package/esm2022/lib/components/data-view/table/elder-paginator-intl.mjs +4 -4
  76. package/esm2022/lib/components/data-view/table/elder-table/elder-table-toolbar.directive.mjs +4 -4
  77. package/esm2022/lib/components/data-view/table/elder-table/elder-table.component.mjs +4 -4
  78. package/esm2022/lib/components/data-view/table/elder-table-column.directive.mjs +4 -4
  79. package/esm2022/lib/components/data-view/table/elder-table-extension.directive.mjs +4 -4
  80. package/esm2022/lib/components/data-view/table/elder-table-root.directive.mjs +4 -4
  81. package/esm2022/lib/components/data-view/table/elder-table-row.directive.mjs +4 -4
  82. package/esm2022/lib/components/data-view/table/elder-table-sort.directive.mjs +4 -4
  83. package/esm2022/lib/components/data-view/table/elder-table.module.mjs +5 -5
  84. package/esm2022/lib/components/data-view/table/model/elder-table-model.mjs +4 -4
  85. package/esm2022/lib/components/dialogs/confirm-dialog/elder-confirm-dialog.component.mjs +4 -4
  86. package/esm2022/lib/components/dialogs/elder-dialog.module.mjs +5 -5
  87. package/esm2022/lib/components/dialogs/elder-dialog.service.mjs +4 -4
  88. package/esm2022/lib/components/dialogs/question-dialog/elder-question-dialog.component.mjs +4 -4
  89. package/esm2022/lib/components/dialogs/selection-dialog/elder-selection-dialog/elder-selection-dialog.component.mjs +4 -4
  90. package/esm2022/lib/components/dialogs/selection-dialog/elder-selection-dialog.directive.mjs +4 -4
  91. package/esm2022/lib/components/errors/elder-error.module.mjs +5 -5
  92. package/esm2022/lib/components/errors/exception-detail/elder-exception-detail.component.mjs +4 -4
  93. package/esm2022/lib/components/expand-toggle-button/elder-expand-toggle-button.component.mjs +4 -4
  94. package/esm2022/lib/components/expand-toggle-button/elder-expand-toggle-button.module.mjs +5 -5
  95. package/esm2022/lib/components/files/blob-viewer/elder-blob-viewer.component.mjs +4 -4
  96. package/esm2022/lib/components/files/drag-n-drop/elder-drop-zone/elder-drop-zone.component.mjs +4 -4
  97. package/esm2022/lib/components/files/drag-n-drop/global-drag-drop.service.mjs +4 -4
  98. package/esm2022/lib/components/files/elder-file-drop-zone.directive.mjs +4 -4
  99. package/esm2022/lib/components/files/elder-file-select.directive.mjs +4 -4
  100. package/esm2022/lib/components/files/elder-file.module.mjs +5 -5
  101. package/esm2022/lib/components/files/file-select/file-select.component.mjs +4 -4
  102. package/esm2022/lib/components/files/file-upload/file-upload.component.mjs +4 -4
  103. package/esm2022/lib/components/forms/clipboard/elder-clipboard.service.mjs +4 -4
  104. package/esm2022/lib/components/forms/directives/base/elder-class-hostbinding-base.mjs +4 -4
  105. package/esm2022/lib/components/forms/directives/checkbox/elder-single-state-checkbox.directive.mjs +4 -4
  106. package/esm2022/lib/components/forms/directives/checkbox/elder-triple-state-checkbox.directive.mjs +4 -4
  107. package/esm2022/lib/components/forms/directives/elder-clipboard-put.directive.mjs +4 -4
  108. package/esm2022/lib/components/forms/directives/elder-delayed-focus.directive.mjs +4 -4
  109. package/esm2022/lib/components/forms/directives/elder-form-field-dense.directive.mjs +4 -4
  110. package/esm2022/lib/components/forms/directives/elder-form-field-label.directive.mjs +4 -4
  111. package/esm2022/lib/components/forms/directives/elder-form-field-no-hint.directive.mjs +4 -4
  112. package/esm2022/lib/components/forms/directives/elder-form-field-no-spinner.directive.mjs +4 -4
  113. package/esm2022/lib/components/forms/directives/elder-forms-directives.module.mjs +5 -5
  114. package/esm2022/lib/components/forms/directives/elder-initial-value.directive.mjs +4 -4
  115. package/esm2022/lib/components/forms/directives/elder-input-pattern.directive.mjs +4 -4
  116. package/esm2022/lib/components/forms/directives/elder-key-event.directive.mjs +4 -4
  117. package/esm2022/lib/components/forms/directives/elder-next-focusable.directive.mjs +4 -4
  118. package/esm2022/lib/components/forms/directives/elder-plug-parent-form.directive.mjs +4 -4
  119. package/esm2022/lib/components/forms/directives/elder-stop-event-propagation.directive.mjs +4 -4
  120. package/esm2022/lib/components/forms/directives/elder-tab-focus-trap.directive.mjs +4 -4
  121. package/esm2022/lib/components/forms/directives/elder-touched.directive.mjs +4 -4
  122. package/esm2022/lib/components/forms/directives/validation/elder-validation-error.directive.mjs +4 -4
  123. package/esm2022/lib/components/forms/directives/validation/strategies/common-validation-message-strategy.mjs +4 -4
  124. package/esm2022/lib/components/forms/directives/validation/strategies/dynamic-validation-message-strategy.mjs +4 -4
  125. package/esm2022/lib/components/forms/directives/validation/validation-message-renderer.service.mjs +4 -4
  126. package/esm2022/lib/components/forms/directives/validation/validators/elder-max.validator.mjs +4 -4
  127. package/esm2022/lib/components/forms/directives/validation/validators/elder-min.validator.mjs +4 -4
  128. package/esm2022/lib/components/forms/directives/validation/validators/elder-multiple-of.validator.mjs +4 -4
  129. package/esm2022/lib/components/forms/directives/validation/validators/elder-required-ignore-zero.validator.mjs +4 -4
  130. package/esm2022/lib/components/forms/elder-forms.module.mjs +5 -5
  131. package/esm2022/lib/components/forms/search/domain/context/search-context.service.mjs +4 -4
  132. package/esm2022/lib/components/forms/search/domain/url/elder-search-url.directive.mjs +4 -4
  133. package/esm2022/lib/components/forms/search/domain/url/elder-search-url.service.mjs +4 -4
  134. package/esm2022/lib/components/forms/search/elder-search-context.directive.mjs +4 -4
  135. package/esm2022/lib/components/forms/search/elder-search-input.directive.mjs +4 -4
  136. package/esm2022/lib/components/forms/search/elder-search.module.mjs +5 -5
  137. package/esm2022/lib/components/forms/search/search-box/elder-search-box.component.mjs +4 -4
  138. package/esm2022/lib/components/forms/search/search-box/elder-search-panel.component.mjs +4 -4
  139. package/esm2022/lib/components/global-search/elder-global-search.component.mjs +4 -4
  140. package/esm2022/lib/components/global-search/elder-global-search.module.mjs +5 -5
  141. package/esm2022/lib/components/global-search/elder-global-search.service.mjs +4 -4
  142. package/esm2022/lib/components/graph/elder-progress-bar/elder-progress-bar.component.mjs +4 -4
  143. package/esm2022/lib/components/graph/elder-progress-bar/elder-progress-bar.module.mjs +5 -5
  144. package/esm2022/lib/components/headers/elder-header/elder-header.component.mjs +4 -4
  145. package/esm2022/lib/components/headers/elder-header.module.mjs +5 -5
  146. package/esm2022/lib/components/http-support/elder-http-client.service.mjs +4 -4
  147. package/esm2022/lib/components/i18n/entities/elder-i18n-entities.module.mjs +5 -5
  148. package/esm2022/lib/components/i18n/entities/elder-localized-input/elder-localized-input.component.mjs +4 -4
  149. package/esm2022/lib/components/i18n/entities/elder-localized-input-dialog/elder-localized-input-dialog.component.mjs +4 -4
  150. package/esm2022/lib/components/i18n/entities/elder-localized-input-dialog.service.mjs +4 -4
  151. package/esm2022/lib/components/i18n/entities/elder-localized-input-table/elder-localized-input-table.component.mjs +4 -4
  152. package/esm2022/lib/components/i18n/entities/elder-localized-text-column.directive.mjs +4 -4
  153. package/esm2022/lib/components/i18n/entities/elder-localized-texts.directive.mjs +4 -4
  154. package/esm2022/lib/components/i18n/entities/picker/i18n-pick-async.pipe.mjs +4 -4
  155. package/esm2022/lib/components/i18n/entities/picker/i18n-pick.pipe.mjs +4 -4
  156. package/esm2022/lib/components/i18n/entities/picker/localisation-picker.service.mjs +4 -4
  157. package/esm2022/lib/components/i18n/language/elder-language-interceptor.mjs +4 -4
  158. package/esm2022/lib/components/i18n/language/elder-language.module.mjs +5 -5
  159. package/esm2022/lib/components/i18n/language/elder-language.service.mjs +4 -4
  160. package/esm2022/lib/components/i18n/language/language-switcher/elder-language-switcher.component.mjs +4 -4
  161. package/esm2022/lib/components/i18n/locales/elder-locales-de-ch.module.mjs +5 -5
  162. package/esm2022/lib/components/iframes/data-view/data-view-iframe/data-view-iframe.component.mjs +4 -4
  163. package/esm2022/lib/components/iframes/data-view/data-view-iframe-adapter.directive.mjs +4 -4
  164. package/esm2022/lib/components/iframes/elder-iframe.module.mjs +5 -5
  165. package/esm2022/lib/components/iframes/iframe-close.directive.mjs +4 -4
  166. package/esm2022/lib/components/iframes/iframe-dialog/iframe-dialog.component.mjs +4 -4
  167. package/esm2022/lib/components/iframes/iframe-host/iframe-host.component.mjs +4 -4
  168. package/esm2022/lib/components/iframes/iframe-side-content/iframe-side-content.component.mjs +4 -4
  169. package/esm2022/lib/components/iframes/iframe.service.mjs +4 -4
  170. package/esm2022/lib/components/infinitescroll/elder-infinite-autocomplete.directive.mjs +4 -4
  171. package/esm2022/lib/components/infinitescroll/elder-infinite-scroll.directive.mjs +4 -4
  172. package/esm2022/lib/components/infinitescroll/elder-infinite-scroll.module.mjs +5 -5
  173. package/esm2022/lib/components/input/autocomplete/elder-autocomplete/elder-suggestion-panel.component.mjs +5 -5
  174. package/esm2022/lib/components/input/autocomplete/elder-autocomplete-many.directive.mjs +4 -4
  175. package/esm2022/lib/components/input/autocomplete/elder-autocomplete.directive.mjs +4 -4
  176. package/esm2022/lib/components/input/autocomplete/elder-autocomplete.module.mjs +5 -5
  177. package/esm2022/lib/components/labels/elder-labels.module.mjs +5 -5
  178. package/esm2022/lib/components/labels/labels-input/labels-input.component.mjs +4 -4
  179. package/esm2022/lib/components/measures/dimensions/dimensions-input/elder-dimensions-input.component.mjs +9 -16
  180. package/esm2022/lib/components/measures/dimensions/validation/elder-required-dimensions.validator.mjs +4 -4
  181. package/esm2022/lib/components/measures/directives/elder-unit-select.directive.mjs +4 -4
  182. package/esm2022/lib/components/measures/elder-measures.module.mjs +9 -9
  183. package/esm2022/lib/components/measures/elder-quantity-transform.pipe.mjs +4 -4
  184. package/esm2022/lib/components/measures/elder-quantity.pipe.mjs +4 -4
  185. package/esm2022/lib/components/measures/elder-unit.service.mjs +4 -4
  186. package/esm2022/lib/components/measures/quantity-input/quantity-form-field/elder-quantity-form-field.component.mjs +4 -4
  187. package/esm2022/lib/components/measures/quantity-input/quantity-input-control/elder-quantity-input-control.component.mjs +12 -18
  188. package/esm2022/lib/components/measures/quantity-input/validation/elder-quantity-range.validator.mjs +4 -4
  189. package/esm2022/lib/components/measures/quantity-input/validation/elder-required-quantity.validator.mjs +4 -4
  190. package/esm2022/lib/components/measures/util/elder-quantity.service.mjs +4 -4
  191. package/esm2022/lib/components/navigation/bread-crumbs/bread-crumbs/elder-bread-crumbs.component.mjs +4 -4
  192. package/esm2022/lib/components/navigation/bread-crumbs/elder-bread-crumbs.module.mjs +5 -5
  193. package/esm2022/lib/components/navigation/nav/elder-nav.module.mjs +5 -5
  194. package/esm2022/lib/components/navigation/nav/nav-group/elder-nav-group.component.mjs +4 -4
  195. package/esm2022/lib/components/navigation/nav/nav-link/elder-nav-link.component.mjs +4 -4
  196. package/esm2022/lib/components/navigation/nav/nav-list/elder-nav-list.component.mjs +4 -4
  197. package/esm2022/lib/components/navigation/toolbar/elder-toolbar-column.directive.mjs +4 -4
  198. package/esm2022/lib/components/navigation/toolbar/elder-toolbar.module.mjs +5 -5
  199. package/esm2022/lib/components/navigation/toolbar/elder-toolbar.service.mjs +4 -4
  200. package/esm2022/lib/components/navigation/toolbar/toolbar/elder-toolbar.component.mjs +4 -4
  201. package/esm2022/lib/components/navigation/toolbar/toolbar-title/elder-toolbar-title.component.mjs +4 -4
  202. package/esm2022/lib/components/navigation/toolbar/toolbar-title/elder-toolbar-title.service.mjs +4 -4
  203. package/esm2022/lib/components/overlays/elder-overlay-origin.directive.mjs +4 -4
  204. package/esm2022/lib/components/overlays/elder-overlay-ref.mjs +4 -4
  205. package/esm2022/lib/components/overlays/elder-overlay-trigger.directive.mjs +4 -4
  206. package/esm2022/lib/components/overlays/elder-overlay.component.mjs +4 -4
  207. package/esm2022/lib/components/overlays/elder-overlay.module.mjs +5 -5
  208. package/esm2022/lib/components/page/exit-guard/page-exit-guard.module.mjs +5 -5
  209. package/esm2022/lib/components/page/exit-guard/page-exit-guard.service.mjs +4 -4
  210. package/esm2022/lib/components/page/exit-guard/page-exit-lock/page-exit-lock.component.mjs +4 -4
  211. package/esm2022/lib/components/page/exit-guard/page-exit-lock-indicator/page-exit-lock-indicator.component.mjs +4 -4
  212. package/esm2022/lib/components/page/exit-guard/page-exit-lock-overview/page-exit-lock-overview.component.mjs +4 -4
  213. package/esm2022/lib/components/panels/card-panel/elder-card-panel.component.mjs +4 -4
  214. package/esm2022/lib/components/panels/elder-dialog-panel/elder-dialog-panel.component.mjs +4 -4
  215. package/esm2022/lib/components/panels/elder-panel.module.mjs +5 -5
  216. package/esm2022/lib/components/panels/flat/elder-panel.component.mjs +4 -4
  217. package/esm2022/lib/components/panels/toggle-panel/elder-toggle-panel-trigger.directive.mjs +4 -4
  218. package/esm2022/lib/components/panels/toggle-panel/elder-toggle-panel.component.mjs +10 -10
  219. package/esm2022/lib/components/scrollbar/elder-scrollbar.directive.mjs +4 -4
  220. package/esm2022/lib/components/scrollbar/elder-scrollbar.module.mjs +5 -5
  221. package/esm2022/lib/components/select/auto/elder-auto-select-first.directive.mjs +4 -4
  222. package/esm2022/lib/components/select/auto/elder-auto-select-first.service.mjs +4 -4
  223. package/esm2022/lib/components/select/auto/elder-auto-select-suggest-first.directive.mjs +4 -4
  224. package/esm2022/lib/components/select/elder-select-base.mjs +40 -24
  225. package/esm2022/lib/components/select/elder-select-chip.directive.mjs +10 -10
  226. package/esm2022/lib/components/select/elder-select-on-tab.directive.mjs +4 -4
  227. package/esm2022/lib/components/select/elder-select-value.directive.mjs +4 -4
  228. package/esm2022/lib/components/select/elder-select.module.mjs +5 -5
  229. package/esm2022/lib/components/select/filter/elder-chips-include-exclude.directive.mjs +4 -4
  230. package/esm2022/lib/components/select/filter/elder-filter-chip-template/elder-filter-chip-template.component.mjs +4 -4
  231. package/esm2022/lib/components/select/multi/elder-chip-select-option/elder-select-option.component.mjs +4 -4
  232. package/esm2022/lib/components/select/multi/elder-multi-select-base.mjs +10 -13
  233. package/esm2022/lib/components/select/multi/elder-multi-select-chip-options/chip-options-provider.mjs +4 -3
  234. package/esm2022/lib/components/select/multi/elder-multi-select-chip-options/elder-multi-select-chip-options.component.mjs +22 -31
  235. package/esm2022/lib/components/select/multi/elder-multi-select-chips/elder-multi-select-chips.component.mjs +24 -37
  236. package/esm2022/lib/components/select/multi/elder-multi-select-form-field.mjs +4 -4
  237. package/esm2022/lib/components/select/multi/elder-mutli-select-all-directive.mjs +4 -4
  238. package/esm2022/lib/components/select/multi/elder-search-include-exclude.directive.mjs +4 -4
  239. package/esm2022/lib/components/select/popup/selection-model-popup-trigger-adapter.directive.mjs +4 -4
  240. package/esm2022/lib/components/select/popup/selection-model-popup.directive.mjs +4 -4
  241. package/esm2022/lib/components/select/popup/templated-selection-dialog/templated-selection-dialog.component.mjs +4 -4
  242. package/esm2022/lib/components/select/single/elder-clear-select.directive.mjs +4 -4
  243. package/esm2022/lib/components/select/single/elder-select/elder-select.component.mjs +30 -49
  244. package/esm2022/lib/components/select/single/elder-select-form-field.mjs +4 -4
  245. package/esm2022/lib/components/select-chip-list/chip-list-select/elder-chip-list-select.component.mjs +4 -4
  246. package/esm2022/lib/components/select-chip-list/elder-chip-list-select.module.mjs +5 -5
  247. package/esm2022/lib/components/shell/drawers/elder-route-outlet-drawer.service.mjs +4 -4
  248. package/esm2022/lib/components/shell/drawers/elder-router-outlet.service.mjs +4 -4
  249. package/esm2022/lib/components/shell/elder-shell-slot.directive.mjs +4 -4
  250. package/esm2022/lib/components/shell/elder-shell.module.mjs +5 -5
  251. package/esm2022/lib/components/shell/elder-shell.service.mjs +4 -4
  252. package/esm2022/lib/components/shell/header/elder-app-header/elder-app-header.component.mjs +4 -4
  253. package/esm2022/lib/components/shell/shell/elder-shell.component.mjs +13 -13
  254. package/esm2022/lib/components/shell/shell-navigation-toggle/elder-shell-navigation-toggle.component.mjs +4 -4
  255. package/esm2022/lib/components/tabs/elder-tab/elder-tab.directive.mjs +4 -4
  256. package/esm2022/lib/components/tabs/elder-tab-group-routing/elder-tab-group-routing.directive.mjs +4 -4
  257. package/esm2022/lib/components/tabs/elder-tab.module.mjs +5 -5
  258. package/esm2022/lib/components/theme/elder-theme-applier.directive.mjs +4 -4
  259. package/esm2022/lib/components/theme/elder-theme-preference.service.mjs +4 -4
  260. package/esm2022/lib/components/theme/elder-theme-toggle/elder-theme-toggle.component.mjs +4 -4
  261. package/esm2022/lib/components/theme/elder-theme.directive.mjs +4 -4
  262. package/esm2022/lib/components/theme/elder-theme.module.mjs +5 -5
  263. package/esm2022/lib/components/theme/elder-theme.service.mjs +4 -4
  264. package/esm2022/lib/components/time/date-adapters/custom-date-adapter.mjs +4 -4
  265. package/esm2022/lib/components/time/duration/elder-duration-input/elder-duration-input.component.mjs +9 -16
  266. package/esm2022/lib/components/time/elder-date-switcher/elder-date-switcher.component.mjs +4 -4
  267. package/esm2022/lib/components/time/elder-date-time-input/elder-date-time-input.component.mjs +10 -16
  268. package/esm2022/lib/components/time/elder-interval-input/elder-interval-input.component.mjs +12 -17
  269. package/esm2022/lib/components/time/elder-interval-picker/elder-interval-picker.component.mjs +4 -4
  270. package/esm2022/lib/components/time/elder-interval-picker/interval-picker-binding/elder-interval-picker-binding.directive.mjs +4 -4
  271. package/esm2022/lib/components/time/elder-interval-picker/interval-picker-toggle/elder-interval-picker-toggle.component.mjs +4 -4
  272. package/esm2022/lib/components/time/elder-local-date-input/elder-local-date-input.component.mjs +10 -16
  273. package/esm2022/lib/components/time/elder-local-time-input/elder-local-time-input.component.mjs +10 -16
  274. package/esm2022/lib/components/time/elder-time.module.mjs +5 -5
  275. package/esm2022/lib/components/time/period/elder-period-input/elder-period-input.component.mjs +9 -16
  276. package/esm2022/lib/components/time/pipes/to-iso-date-string.pipe.mjs +4 -4
  277. package/esm2022/lib/components/toasts/elder-toast.module.mjs +5 -5
  278. package/esm2022/lib/components/toasts/elder-toast.service.mjs +4 -4
  279. package/esm2022/lib/components/toasts/standard-toast/standard-toast.component.mjs +4 -4
  280. package/esm2022/lib/components/url-fragment/elder-url-fragment.module.mjs +5 -5
  281. package/esm2022/lib/components/url-fragment/url-fragment-switcher/elder-url-fragment-switcher.component.mjs +4 -4
  282. package/esm2022/lib/components/viewers/elder-svg-viewer/elder-svg-viewer.component.mjs +4 -4
  283. package/esm2022/lib/components/viewers/elder-viewers.module.mjs +5 -5
  284. package/esm2022/lib/features/event-source/fetch/reactive-fetch-event-source.service.mjs +4 -4
  285. package/esm2022/lib/features/event-source/standard/elder-event-source.service.mjs +4 -4
  286. package/esm2022/lib/features/kafent/access-token-provider.mjs +4 -4
  287. package/esm2022/lib/features/kafent/kafent-config.mjs +4 -4
  288. package/esm2022/lib/features/kafent/kafent-event-stream.mjs +4 -4
  289. package/esm2022/lib/features/kafent/kafent-event.service.mjs +4 -4
  290. package/esm2022/lib/features/kafent/kafent.module.mjs +5 -5
  291. package/esm2022/lib/features/kafent/sse/kafent-event-stream-sse.service.mjs +4 -4
  292. package/esm2022/lib/pipes/bytes.pipe.mjs +4 -4
  293. package/esm2022/lib/pipes/elder-pipes.module.mjs +11 -11
  294. package/esm2022/lib/pipes/elder-repeat.pipe.mjs +4 -4
  295. package/esm2022/lib/pipes/elder-round.pipe.mjs +4 -4
  296. package/esm2022/lib/pipes/elder-safe-url.pipe.mjs +4 -4
  297. package/esm2022/lib/pipes/elder-truncate.pipe.mjs +4 -4
  298. package/esm2022/lib/pipes/iso-duration.pipe.mjs +4 -4
  299. package/esm2022/lib/pipes/iso-interval-parse.pipe.mjs +4 -4
  300. package/esm2022/lib/pipes/iso-interval.pipe.mjs +4 -4
  301. package/esm2022/lib/pipes/time-ago.pipe.mjs +4 -4
  302. package/esm2022/lib/pipes/time-duration.pipe.mjs +4 -4
  303. package/esm2022/lib/pipes/weight.pipe.mjs +4 -4
  304. package/fesm2022/elderbyte-ngx-starter.mjs +1259 -1314
  305. package/fesm2022/elderbyte-ngx-starter.mjs.map +1 -1
  306. package/lib/common/exceptions/unreachable-case-error.d.ts +1 -1
  307. package/lib/common/forms/elder-form-field-control-base.directive.d.ts +14 -18
  308. package/lib/components/measures/dimensions/dimensions-input/elder-dimensions-input.component.d.ts +3 -7
  309. package/lib/components/measures/quantity-input/quantity-input-control/elder-quantity-input-control.component.d.ts +3 -7
  310. package/lib/components/select/elder-select-base.d.ts +13 -12
  311. package/lib/components/select/multi/elder-multi-select-base.d.ts +2 -7
  312. package/lib/components/select/multi/elder-multi-select-chip-options/chip-options-provider.d.ts +2 -1
  313. package/lib/components/select/multi/elder-multi-select-chip-options/elder-multi-select-chip-options.component.d.ts +5 -9
  314. package/lib/components/select/multi/elder-multi-select-chips/elder-multi-select-chips.component.d.ts +7 -11
  315. package/lib/components/select/single/elder-select/elder-select.component.d.ts +8 -15
  316. package/lib/components/time/duration/elder-duration-input/elder-duration-input.component.d.ts +2 -7
  317. package/lib/components/time/elder-date-time-input/elder-date-time-input.component.d.ts +3 -7
  318. package/lib/components/time/elder-interval-input/elder-interval-input.component.d.ts +3 -7
  319. package/lib/components/time/elder-local-date-input/elder-local-date-input.component.d.ts +3 -7
  320. package/lib/components/time/elder-local-time-input/elder-local-time-input.component.d.ts +3 -7
  321. package/lib/components/time/period/elder-period-input/elder-period-input.component.d.ts +2 -7
  322. package/package.json +1 -1
  323. package/src/lib/components/select/multi/elder-select-include-exclude-chip/elder-select-include-exclude-chip.component.scss +0 -0
@@ -1,4 +1,4 @@
1
- import { Component, ChangeDetectionStrategy, Output, Input, ViewChild, Optional, Self, } from '@angular/core';
1
+ import { Component, ChangeDetectionStrategy, Output, Input, ViewChild, } from '@angular/core';
2
2
  import { LocalDate, ZoneId } from '@js-joda/core';
3
3
  import { LoggerFactory } from '@elderbyte/ts-logger';
4
4
  import { combineLatest, of, Subject } from 'rxjs';
@@ -17,18 +17,16 @@ import { MatIcon } from '@angular/material/icon';
17
17
  import { MatIconButton } from '@angular/material/button';
18
18
  import { NgIf, AsyncPipe, DatePipe } from '@angular/common';
19
19
  import * as i0 from "@angular/core";
20
- import * as i1 from "@angular/cdk/a11y";
20
+ import * as i1 from "@angular/forms";
21
21
  import * as i2 from "@ngx-translate/core";
22
- import * as i3 from "@angular/forms";
23
22
  export class ElderLocalDateInputComponent extends ElderFormFieldControlBase {
24
23
  /***************************************************************************
25
24
  * *
26
25
  * Constructor *
27
26
  * *
28
27
  **************************************************************************/
29
- constructor(hostRef, zone, focusMonitor, translateService, ngControl) {
30
- super(hostRef, 'local-date-input', focusMonitor, translateService, ngControl);
31
- this.ngControl = ngControl;
28
+ constructor() {
29
+ super('local-date-input');
32
30
  /***************************************************************************
33
31
  * *
34
32
  * Fields *
@@ -207,10 +205,10 @@ export class ElderLocalDateInputComponent extends ElderFormFieldControlBase {
207
205
  valuesEquals(a, b) {
208
206
  return a && b ? a.equals(b) : a === b;
209
207
  }
210
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.5", ngImport: i0, type: ElderLocalDateInputComponent, deps: [{ token: i0.ElementRef }, { token: i0.NgZone }, { token: i1.FocusMonitor }, { token: i2.TranslateService }, { token: i3.NgControl, optional: true, self: true }], target: i0.ɵɵFactoryTarget.Component }); }
211
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.5", type: ElderLocalDateInputComponent, isStandalone: true, selector: "elder-local-date-input", inputs: { zone: "zone", autoDatePicker: "autoDatePicker", arrows: "arrows", today: "today", center: "center", datePickerTouchUi: "datePickerTouchUi", allowNull: "allowNull", datePickerEnabled: "datePickerEnabled", isoValue: "isoValue", dateValue: "dateValue", isoDateValue: "isoDateValue" }, outputs: { blurred: "blurred", valueUpdatedBlur: "valueUpdatedBlur", isoValueChange: "isoValueChange", dateValueChange: "dateValueChange", isoDateValueChange: "isoDateValueChange" }, providers: [{ provide: MatFormFieldControl, useExisting: ElderLocalDateInputComponent }], viewQueries: [{ propertyName: "picker", first: true, predicate: MatDatepicker, descendants: true, static: true }, { propertyName: "inputRef", first: true, predicate: ["input"], descendants: true }], usesInheritance: true, ngImport: i0, template: "<div class=\"layout-row place-start-center elder-flex-control\">\n <button\n mat-icon-button\n type=\"button\"\n *ngIf=\"arrows\"\n class=\"elder-control-icon-button\"\n [disabled]=\"isLocked || !value\"\n (click)=\"previousDay()\"\n >\n <mat-icon>keyboard_arrow_left</mat-icon>\n </button>\n\n <input\n matInput\n elderNoSpinner\n class=\"flex elder-mdc-input-fix elder-local-date-input\"\n #input\n type=\"date\"\n [name]=\"ngControl?.name + '-inner-input'\"\n [required]=\"!!required\"\n [readonly]=\"readonly || autoDatePicker\"\n [disabled]=\"!!disabled\"\n [placeholder]=\"placeholder | translate\"\n [ngModel]=\"date$ | async | date: 'yyyy-MM-dd'\"\n (ngModelChange)=\"onDateInputChanged($event)\"\n (blur)=\"blurred.next($event)\"\n [class.elder-auto-date-picker]=\"autoDatePicker\"\n [class.noselect]=\"autoDatePicker\"\n [class.center]=\"center || arrows\"\n (click)=\"onDateInputClicked($event)\"\n />\n <input\n style=\"display: none\"\n [matDatepicker]=\"picker\"\n (dateChange)=\"onDatepickerInputChange($event)\"\n />\n\n <button\n mat-icon-button\n type=\"button\"\n *ngIf=\"arrows\"\n class=\"elder-control-icon-button\"\n [disabled]=\"isLocked || !value\"\n (click)=\"nextDay()\"\n >\n <mat-icon>keyboard_arrow_right</mat-icon>\n </button>\n\n <button\n mat-icon-button\n type=\"button\"\n *ngIf=\"today\"\n class=\"elder-control-icon-button\"\n style=\"margin-left: 4px\"\n [disabled]=\"isLocked\"\n (click)=\"currentDay()\"\n >\n <mat-icon>today</mat-icon>\n </button>\n\n <mat-datepicker-toggle\n class=\"elder-control-icon-button\"\n *ngIf=\"datePickerEnabled && (!allowNull || (value$ | async) === null)\"\n [disabled]=\"isLocked\"\n [for]=\"picker\"\n >\n <mat-icon matDatepickerToggleIcon>calendar_month</mat-icon>\n </mat-datepicker-toggle>\n\n <button\n mat-icon-button\n type=\"button\"\n class=\"elder-control-icon-button\"\n *ngIf=\"allowNull && (value$ | async)\"\n [disabled]=\"isLocked\"\n (click)=\"clear($event)\"\n aria-label=\"Clear\"\n elderStopEventPropagation\n >\n <mat-icon>close</mat-icon>\n </button>\n\n <mat-datepicker [touchUi]=\"datePickerTouchUi\" #picker></mat-datepicker>\n</div>\n", styles: ["input::-webkit-calendar-picker-indicator{display:none}.elder-auto-date-picker{cursor:pointer}.elder-local-date-input.center{text-align:center}\n"], dependencies: [{ kind: "directive", type: NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: MatIconButton, selector: "button[mat-icon-button]", exportAs: ["matButton"] }, { kind: "component", type: MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "directive", type: MatInput, selector: "input[matInput], textarea[matInput], select[matNativeControl], input[matNativeControl], textarea[matNativeControl]", inputs: ["disabled", "id", "placeholder", "name", "required", "type", "errorStateMatcher", "aria-describedby", "value", "readonly"], exportAs: ["matInput"] }, { kind: "directive", type: ElderFormFieldNoSpinnerDirective, selector: "input[elderNoSpinner]", inputs: ["elderNoSpinner"] }, { kind: "ngmodule", type: FormsModule }, { kind: "directive", type: i3.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i3.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i3.RequiredValidator, selector: ":not([type=checkbox])[required][formControlName],:not([type=checkbox])[required][formControl],:not([type=checkbox])[required][ngModel]", inputs: ["required"] }, { kind: "directive", type: i3.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "directive", type: MatDatepickerInput, selector: "input[matDatepicker]", inputs: ["matDatepicker", "min", "max", "matDatepickerFilter"], exportAs: ["matDatepickerInput"] }, { kind: "component", type: MatDatepickerToggle, selector: "mat-datepicker-toggle", inputs: ["for", "tabIndex", "aria-label", "disabled", "disableRipple"], exportAs: ["matDatepickerToggle"] }, { kind: "directive", type: MatDatepickerToggleIcon, selector: "[matDatepickerToggleIcon]" }, { kind: "directive", type: ElderStopEventPropagationDirective, selector: "[elderStopEventPropagation]" }, { kind: "component", type: MatDatepicker, selector: "mat-datepicker", exportAs: ["matDatepicker"] }, { kind: "pipe", type: AsyncPipe, name: "async" }, { kind: "pipe", type: DatePipe, name: "date" }, { kind: "ngmodule", type: TranslateModule }, { kind: "pipe", type: i2.TranslatePipe, name: "translate" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
208
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: ElderLocalDateInputComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
209
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.13", type: ElderLocalDateInputComponent, isStandalone: true, selector: "elder-local-date-input", inputs: { zone: "zone", autoDatePicker: "autoDatePicker", arrows: "arrows", today: "today", center: "center", datePickerTouchUi: "datePickerTouchUi", allowNull: "allowNull", datePickerEnabled: "datePickerEnabled", isoValue: "isoValue", dateValue: "dateValue", isoDateValue: "isoDateValue" }, outputs: { blurred: "blurred", valueUpdatedBlur: "valueUpdatedBlur", isoValueChange: "isoValueChange", dateValueChange: "dateValueChange", isoDateValueChange: "isoDateValueChange" }, providers: [{ provide: MatFormFieldControl, useExisting: ElderLocalDateInputComponent }], viewQueries: [{ propertyName: "picker", first: true, predicate: MatDatepicker, descendants: true, static: true }, { propertyName: "inputRef", first: true, predicate: ["input"], descendants: true }], usesInheritance: true, ngImport: i0, template: "<div class=\"layout-row place-start-center elder-flex-control\">\n <button\n mat-icon-button\n type=\"button\"\n *ngIf=\"arrows\"\n class=\"elder-control-icon-button\"\n [disabled]=\"isLocked || !value\"\n (click)=\"previousDay()\"\n >\n <mat-icon>keyboard_arrow_left</mat-icon>\n </button>\n\n <input\n matInput\n elderNoSpinner\n class=\"flex elder-mdc-input-fix elder-local-date-input\"\n #input\n type=\"date\"\n [name]=\"ngControl?.name + '-inner-input'\"\n [required]=\"!!required\"\n [readonly]=\"readonly || autoDatePicker\"\n [disabled]=\"!!disabled\"\n [placeholder]=\"placeholderS() | translate\"\n [ngModel]=\"date$ | async | date: 'yyyy-MM-dd'\"\n (ngModelChange)=\"onDateInputChanged($event)\"\n (blur)=\"blurred.next($event)\"\n [class.elder-auto-date-picker]=\"autoDatePicker\"\n [class.noselect]=\"autoDatePicker\"\n [class.center]=\"center || arrows\"\n (click)=\"onDateInputClicked($event)\"\n />\n <input\n style=\"display: none\"\n [matDatepicker]=\"picker\"\n (dateChange)=\"onDatepickerInputChange($event)\"\n />\n\n <button\n mat-icon-button\n type=\"button\"\n *ngIf=\"arrows\"\n class=\"elder-control-icon-button\"\n [disabled]=\"isLocked || !value\"\n (click)=\"nextDay()\"\n >\n <mat-icon>keyboard_arrow_right</mat-icon>\n </button>\n\n <button\n mat-icon-button\n type=\"button\"\n *ngIf=\"today\"\n class=\"elder-control-icon-button\"\n style=\"margin-left: 4px\"\n [disabled]=\"isLocked\"\n (click)=\"currentDay()\"\n >\n <mat-icon>today</mat-icon>\n </button>\n\n <mat-datepicker-toggle\n class=\"elder-control-icon-button\"\n *ngIf=\"datePickerEnabled && (!allowNull || (value$ | async) === null)\"\n [disabled]=\"isLocked\"\n [for]=\"picker\"\n >\n <mat-icon matDatepickerToggleIcon>calendar_month</mat-icon>\n </mat-datepicker-toggle>\n\n <button\n mat-icon-button\n type=\"button\"\n class=\"elder-control-icon-button\"\n *ngIf=\"allowNull && (value$ | async)\"\n [disabled]=\"isLocked\"\n (click)=\"clear($event)\"\n aria-label=\"Clear\"\n elderStopEventPropagation\n >\n <mat-icon>close</mat-icon>\n </button>\n\n <mat-datepicker [touchUi]=\"datePickerTouchUi\" #picker></mat-datepicker>\n</div>\n", styles: ["input::-webkit-calendar-picker-indicator{display:none}.elder-auto-date-picker{cursor:pointer}.elder-local-date-input.center{text-align:center}\n"], dependencies: [{ kind: "directive", type: NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: MatIconButton, selector: "button[mat-icon-button]", exportAs: ["matButton"] }, { kind: "component", type: MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "directive", type: MatInput, selector: "input[matInput], textarea[matInput], select[matNativeControl], input[matNativeControl], textarea[matNativeControl]", inputs: ["disabled", "id", "placeholder", "name", "required", "type", "errorStateMatcher", "aria-describedby", "value", "readonly"], exportAs: ["matInput"] }, { kind: "directive", type: ElderFormFieldNoSpinnerDirective, selector: "input[elderNoSpinner]", inputs: ["elderNoSpinner"] }, { kind: "ngmodule", type: FormsModule }, { kind: "directive", type: i1.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1.RequiredValidator, selector: ":not([type=checkbox])[required][formControlName],:not([type=checkbox])[required][formControl],:not([type=checkbox])[required][ngModel]", inputs: ["required"] }, { kind: "directive", type: i1.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "directive", type: MatDatepickerInput, selector: "input[matDatepicker]", inputs: ["matDatepicker", "min", "max", "matDatepickerFilter"], exportAs: ["matDatepickerInput"] }, { kind: "component", type: MatDatepickerToggle, selector: "mat-datepicker-toggle", inputs: ["for", "tabIndex", "aria-label", "disabled", "disableRipple"], exportAs: ["matDatepickerToggle"] }, { kind: "directive", type: MatDatepickerToggleIcon, selector: "[matDatepickerToggleIcon]" }, { kind: "directive", type: ElderStopEventPropagationDirective, selector: "[elderStopEventPropagation]" }, { kind: "component", type: MatDatepicker, selector: "mat-datepicker", exportAs: ["matDatepicker"] }, { kind: "pipe", type: AsyncPipe, name: "async" }, { kind: "pipe", type: DatePipe, name: "date" }, { kind: "ngmodule", type: TranslateModule }, { kind: "pipe", type: i2.TranslatePipe, name: "translate" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
212
210
  }
213
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.5", ngImport: i0, type: ElderLocalDateInputComponent, decorators: [{
211
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: ElderLocalDateInputComponent, decorators: [{
214
212
  type: Component,
215
213
  args: [{ selector: 'elder-local-date-input', changeDetection: ChangeDetectionStrategy.OnPush, providers: [{ provide: MatFormFieldControl, useExisting: ElderLocalDateInputComponent }], standalone: true, imports: [
216
214
  NgIf,
@@ -227,12 +225,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.5", ngImpor
227
225
  AsyncPipe,
228
226
  DatePipe,
229
227
  TranslateModule,
230
- ], template: "<div class=\"layout-row place-start-center elder-flex-control\">\n <button\n mat-icon-button\n type=\"button\"\n *ngIf=\"arrows\"\n class=\"elder-control-icon-button\"\n [disabled]=\"isLocked || !value\"\n (click)=\"previousDay()\"\n >\n <mat-icon>keyboard_arrow_left</mat-icon>\n </button>\n\n <input\n matInput\n elderNoSpinner\n class=\"flex elder-mdc-input-fix elder-local-date-input\"\n #input\n type=\"date\"\n [name]=\"ngControl?.name + '-inner-input'\"\n [required]=\"!!required\"\n [readonly]=\"readonly || autoDatePicker\"\n [disabled]=\"!!disabled\"\n [placeholder]=\"placeholder | translate\"\n [ngModel]=\"date$ | async | date: 'yyyy-MM-dd'\"\n (ngModelChange)=\"onDateInputChanged($event)\"\n (blur)=\"blurred.next($event)\"\n [class.elder-auto-date-picker]=\"autoDatePicker\"\n [class.noselect]=\"autoDatePicker\"\n [class.center]=\"center || arrows\"\n (click)=\"onDateInputClicked($event)\"\n />\n <input\n style=\"display: none\"\n [matDatepicker]=\"picker\"\n (dateChange)=\"onDatepickerInputChange($event)\"\n />\n\n <button\n mat-icon-button\n type=\"button\"\n *ngIf=\"arrows\"\n class=\"elder-control-icon-button\"\n [disabled]=\"isLocked || !value\"\n (click)=\"nextDay()\"\n >\n <mat-icon>keyboard_arrow_right</mat-icon>\n </button>\n\n <button\n mat-icon-button\n type=\"button\"\n *ngIf=\"today\"\n class=\"elder-control-icon-button\"\n style=\"margin-left: 4px\"\n [disabled]=\"isLocked\"\n (click)=\"currentDay()\"\n >\n <mat-icon>today</mat-icon>\n </button>\n\n <mat-datepicker-toggle\n class=\"elder-control-icon-button\"\n *ngIf=\"datePickerEnabled && (!allowNull || (value$ | async) === null)\"\n [disabled]=\"isLocked\"\n [for]=\"picker\"\n >\n <mat-icon matDatepickerToggleIcon>calendar_month</mat-icon>\n </mat-datepicker-toggle>\n\n <button\n mat-icon-button\n type=\"button\"\n class=\"elder-control-icon-button\"\n *ngIf=\"allowNull && (value$ | async)\"\n [disabled]=\"isLocked\"\n (click)=\"clear($event)\"\n aria-label=\"Clear\"\n elderStopEventPropagation\n >\n <mat-icon>close</mat-icon>\n </button>\n\n <mat-datepicker [touchUi]=\"datePickerTouchUi\" #picker></mat-datepicker>\n</div>\n", styles: ["input::-webkit-calendar-picker-indicator{display:none}.elder-auto-date-picker{cursor:pointer}.elder-local-date-input.center{text-align:center}\n"] }]
231
- }], ctorParameters: () => [{ type: i0.ElementRef }, { type: i0.NgZone }, { type: i1.FocusMonitor }, { type: i2.TranslateService }, { type: i3.NgControl, decorators: [{
232
- type: Optional
233
- }, {
234
- type: Self
235
- }] }], propDecorators: { zone: [{
228
+ ], template: "<div class=\"layout-row place-start-center elder-flex-control\">\n <button\n mat-icon-button\n type=\"button\"\n *ngIf=\"arrows\"\n class=\"elder-control-icon-button\"\n [disabled]=\"isLocked || !value\"\n (click)=\"previousDay()\"\n >\n <mat-icon>keyboard_arrow_left</mat-icon>\n </button>\n\n <input\n matInput\n elderNoSpinner\n class=\"flex elder-mdc-input-fix elder-local-date-input\"\n #input\n type=\"date\"\n [name]=\"ngControl?.name + '-inner-input'\"\n [required]=\"!!required\"\n [readonly]=\"readonly || autoDatePicker\"\n [disabled]=\"!!disabled\"\n [placeholder]=\"placeholderS() | translate\"\n [ngModel]=\"date$ | async | date: 'yyyy-MM-dd'\"\n (ngModelChange)=\"onDateInputChanged($event)\"\n (blur)=\"blurred.next($event)\"\n [class.elder-auto-date-picker]=\"autoDatePicker\"\n [class.noselect]=\"autoDatePicker\"\n [class.center]=\"center || arrows\"\n (click)=\"onDateInputClicked($event)\"\n />\n <input\n style=\"display: none\"\n [matDatepicker]=\"picker\"\n (dateChange)=\"onDatepickerInputChange($event)\"\n />\n\n <button\n mat-icon-button\n type=\"button\"\n *ngIf=\"arrows\"\n class=\"elder-control-icon-button\"\n [disabled]=\"isLocked || !value\"\n (click)=\"nextDay()\"\n >\n <mat-icon>keyboard_arrow_right</mat-icon>\n </button>\n\n <button\n mat-icon-button\n type=\"button\"\n *ngIf=\"today\"\n class=\"elder-control-icon-button\"\n style=\"margin-left: 4px\"\n [disabled]=\"isLocked\"\n (click)=\"currentDay()\"\n >\n <mat-icon>today</mat-icon>\n </button>\n\n <mat-datepicker-toggle\n class=\"elder-control-icon-button\"\n *ngIf=\"datePickerEnabled && (!allowNull || (value$ | async) === null)\"\n [disabled]=\"isLocked\"\n [for]=\"picker\"\n >\n <mat-icon matDatepickerToggleIcon>calendar_month</mat-icon>\n </mat-datepicker-toggle>\n\n <button\n mat-icon-button\n type=\"button\"\n class=\"elder-control-icon-button\"\n *ngIf=\"allowNull && (value$ | async)\"\n [disabled]=\"isLocked\"\n (click)=\"clear($event)\"\n aria-label=\"Clear\"\n elderStopEventPropagation\n >\n <mat-icon>close</mat-icon>\n </button>\n\n <mat-datepicker [touchUi]=\"datePickerTouchUi\" #picker></mat-datepicker>\n</div>\n", styles: ["input::-webkit-calendar-picker-indicator{display:none}.elder-auto-date-picker{cursor:pointer}.elder-local-date-input.center{text-align:center}\n"] }]
229
+ }], ctorParameters: () => [], propDecorators: { zone: [{
236
230
  type: Input
237
231
  }], picker: [{
238
232
  type: ViewChild,
@@ -271,4 +265,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.5", ngImpor
271
265
  }], isoDateValue: [{
272
266
  type: Input
273
267
  }] } });
274
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZWxkZXItbG9jYWwtZGF0ZS1pbnB1dC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9lbGRlcmJ5dGUvbmd4LXN0YXJ0ZXIvc3JjL2xpYi9jb21wb25lbnRzL3RpbWUvZWxkZXItbG9jYWwtZGF0ZS1pbnB1dC9lbGRlci1sb2NhbC1kYXRlLWlucHV0LmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2VsZGVyYnl0ZS9uZ3gtc3RhcnRlci9zcmMvbGliL2NvbXBvbmVudHMvdGltZS9lbGRlci1sb2NhbC1kYXRlLWlucHV0L2VsZGVyLWxvY2FsLWRhdGUtaW5wdXQuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUNMLFNBQVMsRUFDVCx1QkFBdUIsRUFDdkIsTUFBTSxFQUNOLEtBQUssRUFDTCxTQUFTLEVBR1QsUUFBUSxFQUNSLElBQUksR0FDTCxNQUFNLGVBQWUsQ0FBQTtBQUN0QixPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sRUFBRSxNQUFNLGVBQWUsQ0FBQTtBQUNqRCxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sc0JBQXNCLENBQUE7QUFDcEQsT0FBTyxFQUFFLGFBQWEsRUFBYyxFQUFFLEVBQUUsT0FBTyxFQUFFLE1BQU0sTUFBTSxDQUFBO0FBQzdELE9BQU8sRUFBRSxVQUFVLEVBQUUsR0FBRyxFQUFFLE1BQU0sZ0JBQWdCLENBQUE7QUFDaEQsT0FBTyxFQUNMLGFBQWEsRUFFYixrQkFBa0IsRUFDbEIsbUJBQW1CLEVBQ25CLHVCQUF1QixHQUN4QixNQUFNLDhCQUE4QixDQUFBO0FBQ3JDLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxnQ0FBZ0MsQ0FBQTtBQUV6RCxPQUFPLEVBQWdCLHFCQUFxQixFQUFFLE1BQU0sdUJBQXVCLENBQUE7QUFDM0UsT0FBTyxFQUFFLHlCQUF5QixFQUFF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QUFtQixFQUFFLFdBQVcsOEJBQThCLEVBQUUsQ0FBQyxjQUM1RSxJQUFJLFdBQ1A7d0JBQ1AsSUFBSTt3QkFDSixhQUFhO3dCQUNiLE9BQU87d0JBQ1AsUUFBUTt3QkFDUixnQ0FBZ0M7d0JBQ2hDLFdBQVc7d0JBQ1gsa0JBQWtCO3dCQUNsQixtQkFBbUI7d0JBQ25CLHVCQUF1Qjt3QkFDdkIsa0NBQWtDO3dCQUNsQyxhQUFhO3dCQUNiLFNBQVM7d0JBQ1QsUUFBUTt3QkFDUixlQUFlO3FCQUNoQjs7MEJBcURFLFFBQVE7OzBCQUFJLElBQUk7eUNBdkNaLElBQUk7c0JBRFYsS0FBSztnQkFZQyxNQUFNO3NCQURaLFNBQVM7dUJBQUMsYUFBYSxFQUFFLEVBQUUsTUFBTSxFQUFFLElBQUksRUFBRTtnQkFJbkMsUUFBUTtzQkFEZCxTQUFTO3VCQUFDLE9BQU87Z0JBTUYsT0FBTztzQkFEdEIsTUFBTTtnQkFRUyxnQkFBZ0I7c0JBRC9CLE1BQU07Z0JBZ0NJLGNBQWM7c0JBRHhCLEtBQUs7Z0JBVUssTUFBTTtzQkFEaEIsS0FBSztnQkFVSyxLQUFLO3NCQURmLEtBQUs7Z0JBVUssTUFBTTtzQkFEaEIsS0FBSztnQkFXSyxpQkFBaUI7c0JBRDNCLEtBQUs7Z0JBYUssU0FBUztzQkFEbkIsS0FBSztnQkFVSyxpQkFBaUI7c0JBRDNCLEtBQUs7Z0JBVUssY0FBYztzQkFEeEIsTUFBTTtnQkFNSSxRQUFRO3NCQURsQixLQUFLO2dCQU1LLGVBQWU7c0JBRHpCLE1BQU07Z0JBUUksU0FBUztzQkFEbkIsS0FBSztnQkFNSyxrQkFBa0I7c0JBRDVCLE1BQU07Z0JBUUksWUFBWTtzQkFEdEIsS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gIENvbXBvbmVudCxcbiAgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksXG4gIE91dHB1dCxcbiAgSW5wdXQsXG4gIFZpZXdDaGlsZCxcbiAgRWxlbWVudFJlZixcbiAgTmdab25lLFxuICBPcHRpb25hbCxcbiAgU2VsZixcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSdcbmltcG9ydCB7IExvY2FsRGF0ZSwgWm9uZUlkIH0gZnJvbSAnQGpzLWpvZGEvY29yZSdcbmltcG9ydCB7IExvZ2dlckZhY3RvcnkgfSBmcm9tICdAZWxkZXJieXRlL3RzLWxvZ2dlcidcbmltcG9ydCB7IGNvbWJpbmVMYXRlc3QsIE9ic2VydmFibGUsIG9mLCBTdWJqZWN0IH0gZnJvbSAncnhqcydcbmltcG9ydCB7IGNhdGNoRXJyb3IsIG1hcCB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJ1xuaW1wb3J0IHtcbiAgTWF0RGF0ZXBpY2tlcixcbiAgTWF0RGF0ZXBpY2tlcklucHV0RXZlbnQsXG4gIE1hdERhdGVwaWNrZXJJbnB1dCxcbiAgTWF0RGF0ZXBpY2tlclRvZ2dsZSxcbiAgTWF0RGF0ZXBpY2tlclRvZ2dsZUljb24sXG59IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2RhdGVwaWNrZXInXG5pbXBvcnQgeyBUaW1lVXRpbCB9IGZyb20gJy4uLy4uLy4uL2NvbW1vbi90aW1lL3RpbWUtdXRpbCdcbmltcG9ydCB7IElzb0RhdGVTdHIgfSBmcm9tICcuLi8uLi8uLi9jb21tb24vdGltZS9kYXRlLXV0aWwnXG5pbXBvcnQgeyBCb29sZWFuSW5wdXQsIGNvZXJjZUJvb2xlYW5Qcm9wZXJ0eSB9IGZyb20gJ0Bhbmd1bGFyL2Nkay9jb2VyY2lvbidcbmltcG9ydCB7IEVsZGVyRm9ybUZpZWxkQ29udHJvbEJhc2UgfSBmcm9tICcuLi8uLi8uLi9jb21tb24vZm9ybXMvZWxkZXItZm9ybS1maWVsZC1jb250cm9sLWJhc2UuZGlyZWN0aXZlJ1xuaW1wb3J0IHsgTWF0Rm9ybUZpZWxkQ29udHJvbCB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2Zvcm0tZmllbGQnXG5pbXBvcnQgeyBGb2N1c01vbml0b3IgfSBmcm9tICdAYW5ndWxhci9jZGsvYTExeSdcbmltcG9ydCB7IFRyYW5zbGF0ZVNlcnZpY2UsIFRyYW5zbGF0ZU1vZHVsZSB9IGZyb20gJ0BuZ3gtdHJhbnNsYXRlL2NvcmUnXG5pbXBvcnQgeyBOZ0NvbnRyb2wsIEZvcm1zTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnXG5pbXBvcnQgeyBFbGRlclN0b3BFdmVudFByb3BhZ2F0aW9uRGlyZWN0aXZlIH0gZnJvbSAnLi4vLi4vZm9ybXMvZGlyZWN0aXZlcy9lbGRlci1zdG9wLWV2ZW50LXByb3BhZ2F0aW9uLmRpcmVjdGl2ZSdcbmltcG9ydCB7IEVsZGVyRm9ybUZpZWxkTm9TcGlubmVyRGlyZWN0aXZlIH0gZnJvbSAnLi4vLi4vZm9ybXMvZGlyZWN0aXZlcy9lbGRlci1mb3JtLWZpZWxkLW5vLXNwaW5uZXIuZGlyZWN0aXZlJ1xuaW1wb3J0IHsgTWF0SW5wdXQgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9pbnB1dCdcbmltcG9ydCB7IE1hdEljb24gfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9pY29uJ1xuaW1wb3J0IHsgTWF0SWNvbkJ1dHRvbiB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2J1dHRvbidcbmltcG9ydCB7IE5nSWYsIEFzeW5jUGlwZSwgRGF0ZVBpcGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24nXG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2VsZGVyLWxvY2FsLWRhdGUtaW5wdXQnLFxuICB0ZW1wbGF0ZVVybDogJy4vZWxkZXItbG9jYWwtZGF0ZS1pbnB1dC5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsczogWycuL2VsZGVyLWxvY2FsLWRhdGUtaW5wdXQuY29tcG9uZW50LnNjc3MnXSxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gIHByb3ZpZGVyczogW3sgcHJvdmlkZTogTWF0Rm9ybUZpZWxkQ29udHJvbCwgdXNlRXhpc3Rpbmc6IEVsZGVyTG9jYWxEYXRlSW5wdXRDb21wb25lbnQgfV0sXG4gIHN0YW5kYWxvbmU6IHRydWUsXG4gIGltcG9ydHM6IFtcbiAgICBOZ0lmLFxuICAgIE1hdEljb25CdXR0b24sXG4gICAgTWF0SWNvbixcbiAgICBNYXRJbnB1dCxcbiAgICBFbGRlckZvcm1GaWVsZE5vU3Bpbm5lckRpcmVjdGl2ZSxcbiAgICBGb3Jtc01vZHVsZSxcbiAgICBNYXREYXRlcGlja2VySW5wdXQsXG4gICAgTWF0RGF0ZXBpY2tlclRvZ2dsZSxcbiAgICBNYXREYXRlcGlja2VyVG9nZ2xlSWNvbixcbiAgICBFbGRlclN0b3BFdmVudFByb3BhZ2F0aW9uRGlyZWN0aXZlLFxuICAgIE1hdERhdGVwaWNrZXIsXG4gICAgQXN5bmNQaXBlLFxuICAgIERhdGVQaXBlLFxuICAgIFRyYW5zbGF0ZU1vZHVsZSxcbiAgXSxcbn0pXG5leHBvcnQgY2xhc3MgRWxkZXJMb2NhbERhdGVJbnB1dENvbXBvbmVudCBleHRlbmRzIEVsZGVyRm9ybUZpZWxkQ29udHJvbEJhc2U8TG9jYWxEYXRlPiB7XG4gIC8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKlxuICAgKiBGaWVsZHMgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqXG4gICAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpcbiAgICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuXG4gIHByaXZhdGUgcmVhZG9ubHkgbG9nZ2VyID0gTG9nZ2VyRmFjdG9yeS5nZXRMb2dnZXIodGhpcy5jb25zdHJ1Y3Rvci5uYW1lKVxuXG4gIHByaXZhdGUgX2FsbG93TnVsbCA9IGZhbHNlXG5cbiAgQElucHV0KClcbiAgcHVibGljIHpvbmUgPSBab25lSWQuc3lzdGVtRGVmYXVsdCgpXG5cbiAgLyoqIElmIHRydWUsIGRhdGUgcGlja2VyIGZ1bmN0aW9uYWxpdHkgaXMgZW5hYmxlZC4gKi9cbiAgcHJpdmF0ZSBfZGF0ZVBpY2tlckVuYWJsZWQgPSB0cnVlXG4gIHByaXZhdGUgX2Fycm93cyA9IGZhbHNlXG4gIHByaXZhdGUgX3RvZGF5ID0gZmFsc2VcbiAgcHJpdmF0ZSBfYXV0b0RhdGVQaWNrZXIgPSBmYWxzZVxuICBwcml2YXRlIF9kYXRlUGlja2VyVG91Y2hVaSA9IGZhbHNlXG4gIHByaXZhdGUgX2NlbnRlciA9IGZhbHNlXG5cbiAgQFZpZXdDaGlsZChNYXREYXRlcGlja2VyLCB7IHN0YXRpYzogdHJ1ZSB9KVxuICBwdWJsaWMgcGlja2VyOiBNYXREYXRlcGlja2VyPERhdGU+XG5cbiAgQFZpZXdDaGlsZCgnaW5wdXQnKVxuICBwdWJsaWMgaW5wdXRSZWY6IEVsZW1lbnRSZWY8SFRNTElucHV0RWxlbWVudD5cblxuICBwdWJsaWMgcmVhZG9ubHkgZGF0ZSQ6IE9ic2VydmFibGU8RGF0ZT5cblxuICBAT3V0cHV0KClcbiAgcHVibGljIHJlYWRvbmx5IGJsdXJyZWQgPSBuZXcgU3ViamVjdDxGb2N1c0V2ZW50PigpXG5cbiAgLyoqXG4gICAqIEVtaXRzIHRoZSB1cGRhdGVkIHZhbHVlIGFmdGVyIHRoZSBjb250cm9sIGJsdXJyZWQuXG4gICAqICh1cGRhdGUgJiBibHVyKSBldmVudHMgbXVzdCBoYXZlIGhhcHBlbmVkLlxuICAgKi9cbiAgQE91dHB1dCgpXG4gIHB1YmxpYyByZWFkb25seSB2YWx1ZVVwZGF0ZWRCbHVyOiBPYnNlcnZhYmxlPExvY2FsRGF0ZT5cblxuICAvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpcbiAgICogQ29uc3RydWN0b3IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKlxuICAgKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqXG4gICAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cblxuICBjb25zdHJ1Y3RvcihcbiAgICBob3N0UmVmOiBFbGVtZW50UmVmLFxuICAgIHpvbmU6IE5nWm9uZSxcbiAgICBmb2N1c01vbml0b3I6IEZvY3VzTW9uaXRvcixcbiAgICB0cmFuc2xhdGVTZXJ2aWNlOiBUcmFuc2xhdGVTZXJ2aWNlLFxuICAgIEBPcHRpb25hbCgpIEBTZWxmKCkgcHVibGljIG5nQ29udHJvbDogTmdDb250cm9sXG4gICkge1xuICAgIHN1cGVyKGhvc3RSZWYsICdsb2NhbC1kYXRlLWlucHV0JywgZm9jdXNNb25pdG9yLCB0cmFuc2xhdGVTZXJ2aWNlLCBuZ0NvbnRyb2wpXG4gICAgdGhpcy5kYXRlJCA9IHRoaXMubWFwSWdub3JlRXJyb3JPYnNlcnZhYmxlKHRoaXMudmFsdWUkLCAodjogTG9jYWxEYXRlKSA9PlxuICAgICAgVGltZVV0aWwubG9jYWxEYXRlVG9EYXRlKHYsIHRoaXMuem9uZSlcbiAgICApXG4gICAgdGhpcy52YWx1ZVVwZGF0ZWRCbHVyID0gY29tYmluZUxhdGVzdChbdGhpcy52YWx1ZVVwZGF0ZWQsIHRoaXMuYmx1cnJlZF0pLnBpcGUoXG4gICAgICBtYXAoKFt2YWx1ZSwgZm9jdXNFdmVudF0pID0+IHZhbHVlKVxuICAgIClcbiAgfVxuXG4gIC8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKlxuICAgKiBQcm9wZXJ0aWVzICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqXG4gICAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpcbiAgICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuXG4gIEBJbnB1dCgpXG4gIHB1YmxpYyBzZXQgYXV0b0RhdGVQaWNrZXIodmFsOiBCb29sZWFuSW5wdXQpIHtcbiAgICB0aGlzLl9hdXRvRGF0ZVBpY2tlciA9IGNvZXJjZUJvb2xlYW5Qcm9wZXJ0eSh2YWwpXG4gIH1cblxuICBwdWJsaWMgZ2V0IGF1dG9EYXRlUGlja2VyKCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiB0aGlzLl9hdXRvRGF0ZVBpY2tlclxuICB9XG5cbiAgQElucHV0KClcbiAgcHVibGljIHNldCBhcnJvd3ModmFsOiBCb29sZWFuSW5wdXQpIHtcbiAgICB0aGlzLl9hcnJvd3MgPSBjb2VyY2VCb29sZWFuUHJvcGVydHkodmFsKVxuICB9XG5cbiAgcHVibGljIGdldCBhcnJvd3MoKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIHRoaXMuX2Fycm93c1xuICB9XG5cbiAgQElucHV0KClcbiAgcHVibGljIHNldCB0b2RheSh2YWw6IEJvb2xlYW5JbnB1dCkge1xuICAgIHRoaXMuX3RvZGF5ID0gY29lcmNlQm9vbGVhblByb3BlcnR5KHZhbClcbiAgfVxuXG4gIHB1YmxpYyBnZXQgdG9kYXkoKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIHRoaXMuX3RvZGF5XG4gIH1cblxuICBASW5wdXQoKVxuICBwdWJsaWMgc2V0IGNlbnRlcihjZW50ZXI6IEJvb2xlYW5JbnB1dCkge1xuICAgIHRoaXMuX2NlbnRlciA9IGNvZXJjZUJvb2xlYW5Qcm9wZXJ0eShjZW50ZXIpXG4gIH1cblxuICBwdWJsaWMgZ2V0IGNlbnRlcigpOiBib29sZWFuIHtcbiAgICByZXR1cm4gdGhpcy5fY2VudGVyXG4gIH1cblxuICAvKiogSWYgdHJ1ZSwgdG91Y2ggb3B0aW1pemVkIG1vZGUgb2YgZGF0ZSBwaWNrZXIgaXMgZW5hYmxlZC4gKi9cbiAgQElucHV0KClcbiAgcHVibGljIHNldCBkYXRlUGlja2VyVG91Y2hVaShlbmFibGVkOiBCb29sZWFuSW5wdXQpIHtcbiAgICB0aGlzLl9kYXRlUGlja2VyVG91Y2hVaSA9IGNvZXJjZUJvb2xlYW5Qcm9wZXJ0eShlbmFibGVkKVxuICB9XG5cbiAgcHVibGljIGdldCBkYXRlUGlja2VyVG91Y2hVaSgpOiBib29sZWFuIHtcbiAgICByZXR1cm4gdGhpcy5fZGF0ZVBpY2tlclRvdWNoVWlcbiAgfVxuXG4gIC8qKlxuICAgKiBBbGxvd3MgdGhlIHVzZXIgdG8gc2VsZWN0ICdub3RoaW5nJyAvIG51bGwuXG4gICAqL1xuICBASW5wdXQoKVxuICBwdWJsaWMgc2V0IGFsbG93TnVsbCh2YWw6IEJvb2xlYW5JbnB1dCkge1xuICAgIHRoaXMuX2FsbG93TnVsbCA9IGNvZXJjZUJvb2xlYW5Qcm9wZXJ0eSh2YWwpXG4gIH1cblxuICBwdWJsaWMgZ2V0IGFsbG93TnVsbCgpOiBib29sZWFuIHtcbiAgICByZXR1cm4gdGhpcy5fYWxsb3dOdWxsXG4gIH1cblxuICBASW5wdXQoKVxuICBwdWJsaWMgc2V0IGRhdGVQaWNrZXJFbmFibGVkKGVuYWJsZWQ6IEJvb2xlYW5JbnB1dCkge1xuICAgIHRoaXMuX2RhdGVQaWNrZXJFbmFibGVkID0gY29lcmNlQm9vbGVhblByb3BlcnR5KGVuYWJsZWQpXG4gIH1cblxuICBwdWJsaWMgZ2V0IGRhdGVQaWNrZXJFbmFibGVkKCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiB0aGlzLl9kYXRlUGlja2VyRW5hYmxlZFxuICB9XG5cbiAgQE91dHB1dCgpXG4gIHB1YmxpYyBnZXQgaXNvVmFsdWVDaGFuZ2UoKTogT2JzZXJ2YWJsZTxzdHJpbmcgfCBudWxsPiB7XG4gICAgcmV0dXJuIHRoaXMubWFwSWdub3JlRXJyb3JPYnNlcnZhYmxlKHRoaXMudmFsdWVDaGFuZ2UsIChkOiBMb2NhbERhdGUpID0+IGQudG9KU09OKCkpXG4gIH1cblxuICBASW5wdXQoKVxuICBwdWJsaWMgc2V0IGlzb1ZhbHVlKHZhbHVlOiBzdHJpbmcgfCBudWxsKSB7XG4gICAgdGhpcy52YWx1ZSA9IHRoaXMubWFwSWdub3JlRXJyb3IodmFsdWUsIChkOiBzdHJpbmcpID0+IExvY2FsRGF0ZS5wYXJzZShkKSlcbiAgfVxuXG4gIEBPdXRwdXQoKVxuICBwdWJsaWMgZ2V0IGRhdGVWYWx1ZUNoYW5nZSgpOiBPYnNlcnZhYmxlPERhdGUgfCBudWxsPiB7XG4gICAgcmV0dXJuIHRoaXMubWFwSWdub3JlRXJyb3JPYnNlcnZhYmxlKHRoaXMudmFsdWVDaGFuZ2UsIChkOiBMb2NhbERhdGUpID0+XG4gICAgICBUaW1lVXRpbC5sb2NhbERhdGVUb0RhdGUoZClcbiAgICApXG4gIH1cblxuICBASW5wdXQoKVxuICBwdWJsaWMgc2V0IGRhdGVWYWx1ZSh2YWx1ZTogRGF0ZSB8IG51bGwpIHtcbiAgICB0aGlzLnZhbHVlID0gdGhpcy5tYXBJZ25vcmVFcnJvcih2YWx1ZSwgKGQ6IERhdGUpID0+IFRpbWVVdGlsLmRhdGVUb0xvY2FsRGF0ZShkKSlcbiAgfVxuXG4gIEBPdXRwdXQoKVxuICBwdWJsaWMgZ2V0IGlzb0RhdGVWYWx1ZUNoYW5nZSgpOiBPYnNlcnZhYmxlPElzb0RhdGVTdHIgfCBudWxsPiB7XG4gICAgcmV0dXJuIHRoaXMubWFwSWdub3JlRXJyb3JPYnNlcnZhYmxlKHRoaXMudmFsdWVDaGFuZ2UsIChkOiBMb2NhbERhdGUpID0+XG4gICAgICBUaW1lVXRpbC5sb2NhbERhdGVUb0RhdGUoZCkudG9JU09TdHJpbmcoKVxuICAgIClcbiAgfVxuXG4gIEBJbnB1dCgpXG4gIHB1YmxpYyBzZXQgaXNvRGF0ZVZhbHVlKHZhbHVlOiBJc29EYXRlU3RyIHwgbnVsbCkge1xuICAgIHRoaXMudmFsdWUgPSB0aGlzLm1hcElnbm9yZUVycm9yKHZhbHVlLCAoZDogSXNvRGF0ZVN0cikgPT5cbiAgICAgIFRpbWVVdGlsLmRhdGVUb0xvY2FsRGF0ZShuZXcgRGF0ZShkKSlcbiAgICApXG4gIH1cblxuICBwdWJsaWMgZ2V0IHNob3VsZExhYmVsRmxvYXQoKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIHRydWVcbiAgfVxuXG4gIC8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKlxuICAgKiBQdWJsaWMgQVBJICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqXG4gICAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpcbiAgICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuXG4gIHB1YmxpYyBwcmV2aW91c0RheSgpOiB2b2lkIHtcbiAgICB0aGlzLnVwZGF0ZVZhbHVlKHRoaXMudmFsdWUubWludXNEYXlzKDEpKVxuICB9XG5cbiAgcHVibGljIG5leHREYXkoKTogdm9pZCB7XG4gICAgdGhpcy51cGRhdGVWYWx1ZSh0aGlzLnZhbHVlLnBsdXNEYXlzKDEpKVxuICB9XG5cbiAgcHVibGljIGN1cnJlbnREYXkoKTogdm9pZCB7XG4gICAgdGhpcy51cGRhdGVWYWx1ZShMb2NhbERhdGUubm93KCkpXG4gIH1cblxuICBwdWJsaWMgZm9jdXMob3B0aW9ucz86IEZvY3VzT3B0aW9ucyk6IHZvaWQge1xuICAgIHRoaXMuaW5wdXRSZWY/Lm5hdGl2ZUVsZW1lbnQ/LmZvY3VzKG9wdGlvbnMpXG4gIH1cblxuICBwdWJsaWMgYmx1cigpOiB2b2lkIHtcbiAgICB0aGlzLmlucHV0UmVmPy5uYXRpdmVFbGVtZW50Py5ibHVyKClcbiAgfVxuXG4gIHB1YmxpYyBjbGVhcihldmVudDogRXZlbnQpOiB2b2lkIHtcbiAgICB0aGlzLnVwZGF0ZVZhbHVlKG51bGwpXG4gIH1cblxuICBwdWJsaWMgb3BlbkRhdGVQaWNrZXIoKTogdm9pZCB7XG4gICAgdGhpcy5waWNrZXIub3BlbigpXG4gIH1cblxuICBwdWJsaWMgb25EYXRlSW5wdXRDaGFuZ2VkKG5ld0RhdGU6IHN0cmluZyk6IHZvaWQge1xuICAgIHRyeSB7XG4gICAgICB0aGlzLmxvZ2dlci5kZWJ1Zygnb25EYXRlSW5wdXRDaGFuZ2VkOiBcIicgKyBuZXdEYXRlICsgJ1wiJylcblxuICAgICAgaWYgKG5ld0RhdGUgPT09ICcnIHx8IG5ld0RhdGUuc3RhcnRzV2l0aCgnMCcpKSB7XG4gICAgICAgIHJldHVyblxuICAgICAgfSAvLyBJZ25vcmUgd2hpbGUgdXBkYXRpbmcgdGhlIHllYXJcbiAgICAgIHRoaXMuc2V0RGF0ZVN0ckludGVybmFsbHkobmV3RGF0ZSlcbiAgICB9IGNhdGNoIChlcnIpIHtcbiAgICAgIHRoaXMubG9nZ2VyLmVycm9yKCdGYWlsZWQgdG8gcGFyc2UgZnJvbSBkYXRlLWlucHV0LWNoYW5nZWQgZXZlbnQ6ICcgKyBuZXdEYXRlLCBlcnIpXG4gICAgfVxuICB9XG5cbiAgcHVibGljIG9uRGF0ZXBpY2tlcklucHV0Q2hhbmdlKGV2ZW50OiBNYXREYXRlcGlja2VySW5wdXRFdmVudDxEYXRlPik6IHZvaWQge1xuICAgIHRoaXMubG9nZ2VyLmRlYnVnKCdEYXRlcGlja2VyIElucHV0IGhhcyBjaGFuZ2VkOiAnICsgZXZlbnQudmFsdWUpXG4gICAgdGhpcy5zZXREYXRlSW50ZXJuYWxseShldmVudC52YWx1ZSlcbiAgfVxuXG4gIHB1YmxpYyBvbkRhdGVJbnB1dENsaWNrZWQoZXZlbnQ6IE1vdXNlRXZlbnQpOiB2b2lkIHtcbiAgICBpZiAodGhpcy5hdXRvRGF0ZVBpY2tlcikge1xuICAgICAgdGhpcy5vcGVuRGF0ZVBpY2tlcigpXG4gICAgfVxuICB9XG5cbiAgLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqXG4gICAqIFByaXZhdGUgbWV0aG9kcyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpcbiAgICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKlxuICAgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG5cbiAgcHJpdmF0ZSBtYXBJZ25vcmVFcnJvcjxUPih2YWx1ZTogVCB8IG51bGwsIGNvbnZlcnNpb25GbjogKGQ6IFQgfCBudWxsKSA9PiBMb2NhbERhdGUpOiBMb2NhbERhdGUge1xuICAgIHRyeSB7XG4gICAgICBjb25zdCBsZCA9IHZhbHVlID8gY29udmVyc2lvbkZuKHZhbHVlKSA6IG51bGxcbiAgICAgIHRoaXMubG9nZ2VyLmluZm8oJ1NldHRpbmcgbG9jYWwgZGF0ZTogJyArIGxkKVxuICAgICAgcmV0dXJuIGxkXG4gICAgfSBjYXRjaCAoZXJyKSB7XG4gICAgICB0aGlzLmxvZ2dlci53YXJuKCdGYWlsZWQgdG8gYXBwbHkgdmFsdWUgdG8gZGF0ZVZhbHVlOiAnICsgdmFsdWUsIGVycilcbiAgICB9XG4gIH1cblxuICBwcml2YXRlIG1hcElnbm9yZUVycm9yT2JzZXJ2YWJsZTxUPihcbiAgICBkYXRlOiBPYnNlcnZhYmxlPExvY2FsRGF0ZT4sXG4gICAgY29udmVyc2lvbkZuOiAoZDogTG9jYWxEYXRlKSA9PiBUXG4gICk6IE9ic2VydmFibGU8VCB8IG51bGw+IHtcbiAgICByZXR1cm4gZGF0ZS5waXBlKFxuICAgICAgbWFwKChsb2NhbERhdGUpID0+IChsb2NhbERhdGUgPyBjb252ZXJzaW9uRm4obG9jYWxEYXRlKSA6IG51bGwpKSxcbiAgICAgIGNhdGNoRXJyb3IoKGVycikgPT4ge1xuICAgICAgICB0aGlzLmxvZ2dlci5lcnJvcignRmFpbGVkIHRvIGNvbnZlcnQgbG9jYWwgZGF0ZSEnLCBlcnIpXG4gICAgICAgIHJldHVybiBvZihudWxsKVxuICAgICAgfSlcbiAgICApXG4gIH1cblxuICBwcml2YXRlIHNldERhdGVTdHJJbnRlcm5hbGx5KGRhdGU6IHN0cmluZyk6IHZvaWQge1xuICAgIGlmIChkYXRlKSB7XG4gICAgICB0aGlzLnVwZGF0ZVZhbHVlKExvY2FsRGF0ZS5wYXJzZShkYXRlKSlcbiAgICB9IGVsc2Uge1xuICAgICAgdGhpcy51cGRhdGVWYWx1ZShudWxsKVxuICAgIH1cbiAgfVxuXG4gIHByaXZhdGUgc2V0RGF0ZUludGVybmFsbHkoZGF0ZTogRGF0ZSk6IHZvaWQge1xuICAgIGlmIChkYXRlKSB7XG4gICAgICB0aGlzLnVwZGF0ZVZhbHVlKFRpbWVVdGlsLmRhdGVUb0xvY2FsRGF0ZShkYXRlKSlcbiAgICB9IGVsc2Uge1xuICAgICAgdGhpcy51cGRhdGVWYWx1ZShudWxsKVxuICAgIH1cbiAgfVxuXG4gIHByb3RlY3RlZCB2YWx1ZXNFcXVhbHMoYTogTG9jYWxEYXRlLCBiOiBMb2NhbERhdGUpOiBib29sZWFuIHtcbiAgICByZXR1cm4gYSAmJiBiID8gYS5lcXVhbHMoYikgOiBhID09PSBiXG4gIH1cbn1cbiIsIjxkaXYgY2xhc3M9XCJsYXlvdXQtcm93IHBsYWNlLXN0YXJ0LWNlbnRlciBlbGRlci1mbGV4LWNvbnRyb2xcIj5cbiAgPGJ1dHRvblxuICAgIG1hdC1pY29uLWJ1dHRvblxuICAgIHR5cGU9XCJidXR0b25cIlxuICAgICpuZ0lmPVwiYXJyb3dzXCJcbiAgICBjbGFzcz1cImVsZGVyLWNvbnRyb2wtaWNvbi1idXR0b25cIlxuICAgIFtkaXNhYmxlZF09XCJpc0xvY2tlZCB8fCAhdmFsdWVcIlxuICAgIChjbGljayk9XCJwcmV2aW91c0RheSgpXCJcbiAgPlxuICAgIDxtYXQtaWNvbj5rZXlib2FyZF9hcnJvd19sZWZ0PC9tYXQtaWNvbj5cbiAgPC9idXR0b24+XG5cbiAgPGlucHV0XG4gICAgbWF0SW5wdXRcbiAgICBlbGRlck5vU3Bpbm5lclxuICAgIGNsYXNzPVwiZmxleCBlbGRlci1tZGMtaW5wdXQtZml4IGVsZGVyLWxvY2FsLWRhdGUtaW5wdXRcIlxuICAgICNpbnB1dFxuICAgIHR5cGU9XCJkYXRlXCJcbiAgICBbbmFtZV09XCJuZ0NvbnRyb2w/Lm5hbWUgKyAnLWlubmVyLWlucHV0J1wiXG4gICAgW3JlcXVpcmVkXT1cIiEhcmVxdWlyZWRcIlxuICAgIFtyZWFkb25seV09XCJyZWFkb25seSB8fCBhdXRvRGF0ZVBpY2tlclwiXG4gICAgW2Rpc2FibGVkXT1cIiEhZGlzYWJsZWRcIlxuICAgIFtwbGFjZWhvbGRlcl09XCJwbGFjZWhvbGRlciB8IHRyYW5zbGF0ZVwiXG4gICAgW25nTW9kZWxdPVwiZGF0ZSQgfCBhc3luYyB8IGRhdGU6ICd5eXl5LU1NLWRkJ1wiXG4gICAgKG5nTW9kZWxDaGFuZ2UpPVwib25EYXRlSW5wdXRDaGFuZ2VkKCRldmVudClcIlxuICAgIChibHVyKT1cImJsdXJyZWQubmV4dCgkZXZlbnQpXCJcbiAgICBbY2xhc3MuZWxkZXItYXV0by1kYXRlLXBpY2tlcl09XCJhdXRvRGF0ZVBpY2tlclwiXG4gICAgW2NsYXNzLm5vc2VsZWN0XT1cImF1dG9EYXRlUGlja2VyXCJcbiAgICBbY2xhc3MuY2VudGVyXT1cImNlbnRlciB8fCBhcnJvd3NcIlxuICAgIChjbGljayk9XCJvbkRhdGVJbnB1dENsaWNrZWQoJGV2ZW50KVwiXG4gIC8+XG4gIDxpbnB1dFxuICAgIHN0eWxlPVwiZGlzcGxheTogbm9uZVwiXG4gICAgW21hdERhdGVwaWNrZXJdPVwicGlja2VyXCJcbiAgICAoZGF0ZUNoYW5nZSk9XCJvbkRhdGVwaWNrZXJJbnB1dENoYW5nZSgkZXZlbnQpXCJcbiAgLz5cblxuICA8YnV0dG9uXG4gICAgbWF0LWljb24tYnV0dG9uXG4gICAgdHlwZT1cImJ1dHRvblwiXG4gICAgKm5nSWY9XCJhcnJvd3NcIlxuICAgIGNsYXNzPVwiZWxkZXItY29udHJvbC1pY29uLWJ1dHRvblwiXG4gICAgW2Rpc2FibGVkXT1cImlzTG9ja2VkIHx8ICF2YWx1ZVwiXG4gICAgKGNsaWNrKT1cIm5leHREYXkoKVwiXG4gID5cbiAgICA8bWF0LWljb24+a2V5Ym9hcmRfYXJyb3dfcmlnaHQ8L21hdC1pY29uPlxuICA8L2J1dHRvbj5cblxuICA8YnV0dG9uXG4gICAgbWF0LWljb24tYnV0dG9uXG4gICAgdHlwZT1cImJ1dHRvblwiXG4gICAgKm5nSWY9XCJ0b2RheVwiXG4gICAgY2xhc3M9XCJlbGRlci1jb250cm9sLWljb24tYnV0dG9uXCJcbiAgICBzdHlsZT1cIm1hcmdpbi1sZWZ0OiA0cHhcIlxuICAgIFtkaXNhYmxlZF09XCJpc0xvY2tlZFwiXG4gICAgKGNsaWNrKT1cImN1cnJlbnREYXkoKVwiXG4gID5cbiAgICA8bWF0LWljb24+dG9kYXk8L21hdC1pY29uPlxuICA8L2J1dHRvbj5cblxuICA8bWF0LWRhdGVwaWNrZXItdG9nZ2xlXG4gICAgY2xhc3M9XCJlbGRlci1jb250cm9sLWljb24tYnV0dG9uXCJcbiAgICAqbmdJZj1cImRhdGVQaWNrZXJFbmFibGVkICYmICghYWxsb3dOdWxsIHx8ICh2YWx1ZSQgfCBhc3luYykgPT09IG51bGwpXCJcbiAgICBbZGlzYWJsZWRdPVwiaXNMb2NrZWRcIlxuICAgIFtmb3JdPVwicGlja2VyXCJcbiAgPlxuICAgIDxtYXQtaWNvbiBtYXREYXRlcGlja2VyVG9nZ2xlSWNvbj5jYWxlbmRhcl9tb250aDwvbWF0LWljb24+XG4gIDwvbWF0LWRhdGVwaWNrZXItdG9nZ2xlPlxuXG4gIDxidXR0b25cbiAgICBtYXQtaWNvbi1idXR0b25cbiAgICB0eXBlPVwiYnV0dG9uXCJcbiAgICBjbGFzcz1cImVsZGVyLWNvbnRyb2wtaWNvbi1idXR0b25cIlxuICAgICpuZ0lmPVwiYWxsb3dOdWxsICYmICh2YWx1ZSQgfCBhc3luYylcIlxuICAgIFtkaXNhYmxlZF09XCJpc0xvY2tlZFwiXG4gICAgKGNsaWNrKT1cImNsZWFyKCRldmVudClcIlxuICAgIGFyaWEtbGFiZWw9XCJDbGVhclwiXG4gICAgZWxkZXJTdG9wRXZlbnRQcm9wYWdhdGlvblxuICA+XG4gICAgPG1hdC1pY29uPmNsb3NlPC9tYXQtaWNvbj5cbiAgPC9idXR0b24+XG5cbiAgPG1hdC1kYXRlcGlja2VyIFt0b3VjaFVpXT1cImRhdGVQaWNrZXJUb3VjaFVpXCIgI3BpY2tlcj48L21hdC1kYXRlcGlja2VyPlxuPC9kaXY+XG4iXX0=
268
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZWxkZXItbG9jYWwtZGF0ZS1pbnB1dC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9lbGRlcmJ5dGUvbmd4LXN0YXJ0ZXIvc3JjL2xpYi9jb21wb25lbnRzL3RpbWUvZWxkZXItbG9jYWwtZGF0ZS1pbnB1dC9lbGRlci1sb2NhbC1kYXRlLWlucHV0LmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2VsZGVyYnl0ZS9uZ3gtc3RhcnRlci9zcmMvbGliL2NvbXBvbmVudHMvdGltZS9lbGRlci1sb2NhbC1kYXRlLWlucHV0L2VsZGVyLWxvY2FsLWRhdGUtaW5wdXQuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUNMLFNBQVMsRUFDVCx1QkFBdUIsRUFDdkIsTUFBTSxFQUNOLEtBQUssRUFDTCxTQUFTLEdBS1YsTUFBTSxlQUFlLENBQUE7QUFDdEIsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLEVBQUUsTUFBTSxlQUFlLENBQUE7QUFDakQsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLHNCQUFzQixDQUFBO0FBQ3BELE9BQU8sRUFBRSxhQUFhLEVBQWMsRUFBRSxFQUFFLE9BQU8sRUFBRSxNQUFNLE1BQU0sQ0FBQTtBQUM3RCxPQUFPLEVBQUUsVUFBVSxFQUFFLEdBQUcsRUFBRSxNQUFNLGdCQUFnQixDQUFBO0FBQ2hELE9BQU8sRUFDTCxhQUFhLEVBRWIsa0JBQWtCLEVBQ2xCLG1CQUFtQixFQUNuQix1QkFBdUIsR0FDeEIsTUFBTSw4QkFBOEIsQ0FBQTtBQUNyQyxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sZ0NBQWdDLENBQUE7QUFFekQsT0FBTyxFQUFnQixxQkFBcUIsRUFBRSxNQUFNLHVCQUF1QixDQUFBO0FBQzNFLE9BQU8sRUFBRSx5QkFBeUIsRUFBRSxNQUFNLCtEQUErRCxDQUFBO0FBQ3pHLE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLDhCQUE4QixDQUFBO0FBRWxFLE9BQU8sRUFBb0IsZUFBZSxFQUFFLE1BQU0scUJBQXFCLENBQUE7QUFDdkUsT0FBTyxFQUFhLFdBQVcsRUFBRSxNQUFNLGdCQUFnQixDQUFBO0FBQ3ZELE9BQU8sRUFBRSxrQ0FBa0MsRUFBRSxNQUFNLCtEQUErRCxDQUFBO0FBQ2xILE9BQU8sRUFBRSxnQ0FBZ0MsRUFBRSxNQUFNLDhEQUE4RCxDQUFBO0FBQy9HLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQTtBQUNsRCxPQUFPLEVBQUUsT0FBTyxFQUFFLE1BQU0sd0JBQXdCLENBQUE7QUFDaEQsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLDBCQUEwQixDQUFBO0FBQ3hELE9BQU8sRUFBRSxJQUFJLEVBQUUsU0FBUyxFQUFFLFFBQVEsRUFBRSxNQUFNLGlCQUFpQixDQUFBOzs7O0FBMEIzRCxNQUFNLE9BQU8sNEJBQTZCLFNBQVEseUJBQW9DO0lBd0NwRjs7OztnRkFJNEU7SUFFNUU7UUFDRSxLQUFLLENBQUMsa0JBQWtCLENBQUMsQ0FBQTtRQTlDM0I7Ozs7b0ZBSTRFO1FBRTNELFdBQU0sR0FBRyxhQUFhLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxXQUFXLENBQUMsSUFBSSxDQUFDLENBQUE7UUFFaEUsZUFBVSxHQUFHLEtBQUssQ0FBQTtRQUduQixTQUFJLEdBQUcsTUFBTSxDQUFDLGFBQWEsRUFBRSxDQUFBO1FBRXBDLHFEQUFxRDtRQUM3Qyx1QkFBa0IsR0FBRyxJQUFJLENBQUE7UUFDekIsWUFBTyxHQUFHLEtBQUssQ0FBQTtRQUNmLFdBQU0sR0FBRyxLQUFLLENBQUE7UUFDZCxvQkFBZSxHQUFHLEtBQUssQ0FBQTtRQUN2Qix1QkFBa0IsR0FBRyxLQUFLLENBQUE7UUFDMUIsWUFBTyxHQUFHLEtBQUssQ0FBQTtRQVdQLFlBQU8sR0FBRyxJQUFJLE9BQU8sRUFBYyxDQUFBO1FBaUJqRCxJQUFJLENBQUMsS0FBSyxHQUFHLElBQUksQ0FBQyx3QkFBd0IsQ0FBQyxJQUFJLENBQUMsTUFBTSxFQUFFLENBQUMsQ0FBWSxFQUFFLEVBQUUsQ0FDdkUsUUFBUSxDQUFDLGVBQWUsQ0FBQyxDQUFDLEVBQUUsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUN2QyxDQUFBO1FBQ0QsSUFBSSxDQUFDLGdCQUFnQixHQUFHLGFBQWEsQ0FBQyxDQUFDLElBQUksQ0FBQyxZQUFZLEVBQUUsSUFBSSxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUMzRSxHQUFHLENBQUMsQ0FBQyxDQUFDLEtBQUssRUFBRSxVQUFVLENBQUMsRUFBRSxFQUFFLENBQUMsS0FBSyxDQUFDLENBQ3BDLENBQUE7SUFDSCxDQUFDO0lBRUQ7Ozs7Z0ZBSTRFO0lBRTVFLElBQ1csY0FBYyxDQUFDLEdBQWlCO1FBQ3pDLElBQUksQ0FBQyxlQUFlLEdBQUcscUJBQXFCLENBQUMsR0FBRyxDQUFDLENBQUE7SUFDbkQsQ0FBQztJQUVELElBQVcsY0FBYztRQUN2QixPQUFPLElBQUksQ0FBQyxlQUFlLENBQUE7SUFDN0IsQ0FBQztJQUVELElBQ1csTUFBTSxDQUFDLEdBQWlCO1FBQ2pDLElBQUksQ0FBQyxPQUFPLEdBQUcscUJBQXFCLENBQUMsR0FBRyxDQUFDLENBQUE7SUFDM0MsQ0FBQztJQUVELElBQVcsTUFBTTtRQUNmLE9BQU8sSUFBSSxDQUFDLE9BQU8sQ0FBQTtJQUNyQixDQUFDO0lBRUQsSUFDVyxLQUFLLENBQUMsR0FBaUI7UUFDaEMsSUFBSSxDQUFDLE1BQU0sR0FBRyxxQkFBcUIsQ0FBQyxHQUFHLENBQUMsQ0FBQTtJQUMxQyxDQUFDO0lBRUQsSUFBVyxLQUFLO1FBQ2QsT0FBTyxJQUFJLENBQUMsTUFBTSxDQUFBO0lBQ3BCLENBQUM7SUFFRCxJQUNXLE1BQU0sQ0FBQyxNQUFvQjtRQUNwQyxJQUFJLENBQUMsT0FBTyxHQUFHLHFCQUFxQixDQUFDLE1BQU0sQ0FBQyxDQUFBO0lBQzlDLENBQUM7SUFFRCxJQUFXLE1BQU07UUFDZixPQUFPLElBQUksQ0FBQyxPQUFPLENBQUE7SUFDckIsQ0FBQztJQUVELCtEQUErRDtJQUMvRCxJQUNXLGlCQUFpQixDQUFDLE9BQXFCO1FBQ2hELElBQUksQ0FBQyxrQkFBa0IsR0FBRyxxQkFBcUIsQ0FBQyxPQUFPLENBQUMsQ0FBQTtJQUMxRCxDQUFDO0lBRUQsSUFBVyxpQkFBaUI7UUFDMUIsT0FBTyxJQUFJLENBQUMsa0JBQWtCLENBQUE7SUFDaEMsQ0FBQztJQUVEOztPQUVHO0lBQ0gsSUFDVyxTQUFTLENBQUMsR0FBaUI7UUFDcEMsSUFBSSxDQUFDLFVBQVUsR0FBRyxxQkFBcUIsQ0FBQyxHQUFHLENBQUMsQ0FBQTtJQUM5QyxDQUFDO0lBRUQsSUFBVyxTQUFTO1FBQ2xCLE9BQU8sSUFBSSxDQUFDLFVBQVUsQ0FBQTtJQUN4QixDQUFDO0lBRUQsSUFDVyxpQkFBaUIsQ0FBQyxPQUFxQjtRQUNoRCxJQUFJLENBQUMsa0JBQWtCLEdBQUcscUJBQXFCLENBQUMsT0FBTyxDQUFDLENBQUE7SUFDMUQsQ0FBQztJQUVELElBQVcsaUJBQWlCO1FBQzFCLE9BQU8sSUFBSSxDQUFDLGtCQUFrQixDQUFBO0lBQ2hDLENBQUM7SUFFRCxJQUNXLGNBQWM7UUFDdkIsT0FBTyxJQUFJLENBQUMsd0JBQXdCLENBQUMsSUFBSSxDQUFDLFdBQVcsRUFBRSxDQUFDLENBQVksRUFBRSxFQUFFLENBQUMsQ0FBQyxDQUFDLE1BQU0sRUFBRSxDQUFDLENBQUE7SUFDdEYsQ0FBQztJQUVELElBQ1csUUFBUSxDQUFDLEtBQW9CO1FBQ3RDLElBQUksQ0FBQyxLQUFLLEdBQUcsSUFBSSxDQUFDLGNBQWMsQ0FBQyxLQUFLLEVBQUUsQ0FBQyxDQUFTLEVBQUUsRUFBRSxDQUFDLFNBQVMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQTtJQUM1RSxDQUFDO0lBRUQsSUFDVyxlQUFlO1FBQ3hCLE9BQU8sSUFBSSxDQUFDLHdCQUF3QixDQUFDLElBQUksQ0FBQyxXQUFXLEVBQUUsQ0FBQyxDQUFZLEVBQUUsRUFBRSxDQUN0RSxRQUFRLENBQUMsZUFBZSxDQUFDLENBQUMsQ0FBQyxDQUM1QixDQUFBO0lBQ0gsQ0FBQztJQUVELElBQ1csU0FBUyxDQUFDLEtBQWtCO1FBQ3JDLElBQUksQ0FBQyxLQUFLLEdBQUcsSUFBSSxDQUFDLGNBQWMsQ0FBQyxLQUFLLEVBQUUsQ0FBQyxDQUFPLEVBQUUsRUFBRSxDQUFDLFFBQVEsQ0FBQyxlQUFlLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQTtJQUNuRixDQUFDO0lBRUQsSUFDVyxrQkFBa0I7UUFDM0IsT0FBTyxJQUFJLENBQUMsd0JBQXdCLENBQUMsSUFBSSxDQUFDLFdBQVcsRUFBRSxDQUFDLENBQVksRUFBRSxFQUFFLENBQ3RFLFFBQVEsQ0FBQyxlQUFlLENBQUMsQ0FBQyxDQUFDLENBQUMsV0FBVyxFQUFFLENBQzFDLENBQUE7SUFDSCxDQUFDO0lBRUQsSUFDVyxZQUFZLENBQUMsS0FBd0I7UUFDOUMsSUFBSSxDQUFDLEtBQUssR0FBRyxJQUFJLENBQUMsY0FBYyxDQUFDLEtBQUssRUFBRSxDQUFDLENBQWEsRUFBRSxFQUFFLENBQ3hELFFBQVEsQ0FBQyxlQUFlLENBQUMsSUFBSSxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FDdEMsQ0FBQTtJQUNILENBQUM7SUFFRCxJQUFXLGdCQUFnQjtRQUN6QixPQUFPLElBQUksQ0FBQTtJQUNiLENBQUM7SUFFRDs7OztnRkFJNEU7SUFFckUsV0FBVztRQUNoQixJQUFJLENBQUMsV0FBVyxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUE7SUFDM0MsQ0FBQztJQUVNLE9BQU87UUFDWixJQUFJLENBQUMsV0FBVyxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUE7SUFDMUMsQ0FBQztJQUVNLFVBQVU7UUFDZixJQUFJLENBQUMsV0FBVyxDQUFDLFNBQVMsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxDQUFBO0lBQ25DLENBQUM7SUFFTSxLQUFLLENBQUMsT0FBc0I7UUFDakMsSUFBSSxDQUFDLFFBQVEsRUFBRSxhQUFhLEVBQUUsS0FBSyxDQUFDLE9BQU8sQ0FBQyxDQUFBO0lBQzlDLENBQUM7SUFFTSxJQUFJO1FBQ1QsSUFBSSxDQUFDLFFBQVEsRUFBRSxhQUFhLEVBQUUsSUFBSSxFQUFFLENBQUE7SUFDdEMsQ0FBQztJQUVNLEtBQUssQ0FBQyxLQUFZO1FBQ3ZCLElBQUksQ0FBQyxXQUFXLENBQUMsSUFBSSxDQUFDLENBQUE7SUFDeEIsQ0FBQztJQUVNLGNBQWM7UUFDbkIsSUFBSSxDQUFDLE1BQU0sQ0FBQyxJQUFJLEVBQUUsQ0FBQTtJQUNwQixDQUFDO0lBRU0sa0JBQWtCLENBQUMsT0FBZTtRQUN2QyxJQUFJLENBQUM7WUFDSCxJQUFJLENBQUMsTUFBTSxDQUFDLEtBQUssQ0FBQyx1QkFBdUIsR0FBRyxPQUFPLEdBQUcsR0FBRyxDQUFDLENBQUE7WUFFMUQsSUFBSSxPQUFPLEtBQUssRUFBRSxJQUFJLE9BQU8sQ0FBQyxVQUFVLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQztnQkFDOUMsT0FBTTtZQUNSLENBQUMsQ0FBQyxpQ0FBaUM7WUFDbkMsSUFBSSxDQUFDLG9CQUFvQixDQUFDLE9BQU8sQ0FBQyxDQUFBO1FBQ3BDLENBQUM7UUFBQyxPQUFPLEdBQUcsRUFBRSxDQUFDO1lBQ2IsSUFBSSxDQUFDLE1BQU0sQ0FBQyxLQUFLLENBQUMsaURBQWlELEdBQUcsT0FBTyxFQUFFLEdBQUcsQ0FBQyxDQUFBO1FBQ3JGLENBQUM7SUFDSCxDQUFDO0lBRU0sdUJBQXVCLENBQUMsS0FBb0M7UUFDakUsSUFBSSxDQUFDLE1BQU0sQ0FBQyxLQUFLLENBQUMsZ0NBQWdDLEdBQUcsS0FBSyxDQUFDLEtBQUssQ0FBQyxDQUFBO1FBQ2pFLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxLQUFLLENBQUMsS0FBSyxDQUFDLENBQUE7SUFDckMsQ0FBQztJQUVNLGtCQUFrQixDQUFDLEtBQWlCO1FBQ3pDLElBQUksSUFBSSxDQUFDLGNBQWMsRUFBRSxDQUFDO1lBQ3hCLElBQUksQ0FBQyxjQUFjLEVBQUUsQ0FBQTtRQUN2QixDQUFDO0lBQ0gsQ0FBQztJQUVEOzs7O2dGQUk0RTtJQUVwRSxjQUFjLENBQUksS0FBZSxFQUFFLFlBQXdDO1FBQ2pGLElBQUksQ0FBQztZQUNILE1BQU0sRUFBRSxHQUFHLEtBQUssQ0FBQyxDQUFDLENBQUMsWUFBWSxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUE7WUFDN0MsSUFBSSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsc0JBQXNCLEdBQUcsRUFBRSxDQUFDLENBQUE7WUFDN0MsT0FBTyxFQUFFLENBQUE7UUFDWCxDQUFDO1FBQUMsT0FBTyxHQUFHLEVBQUUsQ0FBQztZQUNiLElBQUksQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLHNDQUFzQyxHQUFHLEtBQUssRUFBRSxHQUFHLENBQUMsQ0FBQTtRQUN2RSxDQUFDO0lBQ0gsQ0FBQztJQUVPLHdCQUF3QixDQUM5QixJQUEyQixFQUMzQixZQUFpQztRQUVqQyxPQUFPLElBQUksQ0FBQyxJQUFJLENBQ2QsR0FBRyxDQUFDLENBQUMsU0FBUyxFQUFFLEVBQUUsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsWUFBWSxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxFQUNoRSxVQUFVLENBQUMsQ0FBQyxHQUFHLEVBQUUsRUFBRTtZQUNqQixJQUFJLENBQUMsTUFBTSxDQUFDLEtBQUssQ0FBQywrQkFBK0IsRUFBRSxHQUFHLENBQUMsQ0FBQTtZQUN2RCxPQUFPLEVBQUUsQ0FBQyxJQUFJLENBQUMsQ0FBQTtRQUNqQixDQUFDLENBQUMsQ0FDSCxDQUFBO0lBQ0gsQ0FBQztJQUVPLG9CQUFvQixDQUFDLElBQVk7UUFDdkMsSUFBSSxJQUFJLEVBQUUsQ0FBQztZQUNULElBQUksQ0FBQyxXQUFXLENBQUMsU0FBUyxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFBO1FBQ3pDLENBQUM7YUFBTSxDQUFDO1lBQ04sSUFBSSxDQUFDLFdBQVcsQ0FBQyxJQUFJLENBQUMsQ0FBQTtRQUN4QixDQUFDO0lBQ0gsQ0FBQztJQUVPLGlCQUFpQixDQUFDLElBQVU7UUFDbEMsSUFBSSxJQUFJLEVBQUUsQ0FBQztZQUNULElBQUksQ0FBQyxXQUFXLENBQUMsUUFBUSxDQUFDLGVBQWUsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFBO1FBQ2xELENBQUM7YUFBTSxDQUFDO1lBQ04sSUFBSSxDQUFDLFdBQVcsQ0FBQyxJQUFJLENBQUMsQ0FBQTtRQUN4QixDQUFDO0lBQ0gsQ0FBQztJQUVTLFlBQVksQ0FBQyxDQUFZLEVBQUUsQ0FBWTtRQUMvQyxPQUFPLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUE7SUFDdkMsQ0FBQzsrR0FsUlUsNEJBQTRCO21HQUE1Qiw0QkFBNEIsZ2lCQW5CNUIsQ0FBQyxFQUFFLE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxXQUFXLEVBQUUsNEJBQTRCLEVBQUUsQ0FBQyxrRUF5QzdFLGFBQWEseUtDbkYxQixxeEVBb0ZBLDBNRHZDSSxJQUFJLDZGQUNKLGFBQWEsNkZBQ2IsT0FBTywySUFDUCxRQUFRLGlVQUNSLGdDQUFnQyw2RkFDaEMsV0FBVyw0MEJBQ1gsa0JBQWtCLG1LQUNsQixtQkFBbUIsNktBQ25CLHVCQUF1QixzRUFDdkIsa0NBQWtDLHdFQUNsQyxhQUFhLG1GQUNiLFNBQVMseUNBQ1QsUUFBUSw0Q0FDUixlQUFlOzs0RkFHTiw0QkFBNEI7a0JBeEJ4QyxTQUFTOytCQUNFLHdCQUF3QixtQkFHakIsdUJBQXVCLENBQUMsTUFBTSxhQUNwQyxDQUFDLEVBQUUsT0FBTyxFQUFFLG1CQUFtQixFQUFFLFdBQVcsOEJBQThCLEVBQUUsQ0FBQyxjQUM1RSxJQUFJLFdBQ1A7d0JBQ1AsSUFBSTt3QkFDSixhQUFhO3dCQUNiLE9BQU87d0JBQ1AsUUFBUTt3QkFDUixnQ0FBZ0M7d0JBQ2hDLFdBQVc7d0JBQ1gsa0JBQWtCO3dCQUNsQixtQkFBbUI7d0JBQ25CLHVCQUF1Qjt3QkFDdkIsa0NBQWtDO3dCQUNsQyxhQUFhO3dCQUNiLFNBQVM7d0JBQ1QsUUFBUTt3QkFDUixlQUFlO3FCQUNoQjt3REFjTSxJQUFJO3NCQURWLEtBQUs7Z0JBWUMsTUFBTTtzQkFEWixTQUFTO3VCQUFDLGFBQWEsRUFBRSxFQUFFLE1BQU0sRUFBRSxJQUFJLEVBQUU7Z0JBSW5DLFFBQVE7c0JBRGQsU0FBUzt1QkFBQyxPQUFPO2dCQU1GLE9BQU87c0JBRHRCLE1BQU07Z0JBUVMsZ0JBQWdCO3NCQUQvQixNQUFNO2dCQTBCSSxjQUFjO3NCQUR4QixLQUFLO2dCQVVLLE1BQU07c0JBRGhCLEtBQUs7Z0JBVUssS0FBSztzQkFEZixLQUFLO2dCQVVLLE1BQU07c0JBRGhCLEtBQUs7Z0JBV0ssaUJBQWlCO3NCQUQzQixLQUFLO2dCQWFLLFNBQVM7c0JBRG5CLEtBQUs7Z0JBVUssaUJBQWlCO3NCQUQzQixLQUFLO2dCQVVLLGNBQWM7c0JBRHhCLE1BQU07Z0JBTUksUUFBUTtzQkFEbEIsS0FBSztnQkFNSyxlQUFlO3NCQUR6QixNQUFNO2dCQVFJLFNBQVM7c0JBRG5CLEtBQUs7Z0JBTUssa0JBQWtCO3NCQUQ1QixNQUFNO2dCQVFJLFlBQVk7c0JBRHRCLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICBDb21wb25lbnQsXG4gIENoYW5nZURldGVjdGlvblN0cmF0ZWd5LFxuICBPdXRwdXQsXG4gIElucHV0LFxuICBWaWV3Q2hpbGQsXG4gIEVsZW1lbnRSZWYsXG4gIE5nWm9uZSxcbiAgT3B0aW9uYWwsXG4gIFNlbGYsXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnXG5pbXBvcnQgeyBMb2NhbERhdGUsIFpvbmVJZCB9IGZyb20gJ0Bqcy1qb2RhL2NvcmUnXG5pbXBvcnQgeyBMb2dnZXJGYWN0b3J5IH0gZnJvbSAnQGVsZGVyYnl0ZS90cy1sb2dnZXInXG5pbXBvcnQgeyBjb21iaW5lTGF0ZXN0LCBPYnNlcnZhYmxlLCBvZiwgU3ViamVjdCB9IGZyb20gJ3J4anMnXG5pbXBvcnQgeyBjYXRjaEVycm9yLCBtYXAgfSBmcm9tICdyeGpzL29wZXJhdG9ycydcbmltcG9ydCB7XG4gIE1hdERhdGVwaWNrZXIsXG4gIE1hdERhdGVwaWNrZXJJbnB1dEV2ZW50LFxuICBNYXREYXRlcGlja2VySW5wdXQsXG4gIE1hdERhdGVwaWNrZXJUb2dnbGUsXG4gIE1hdERhdGVwaWNrZXJUb2dnbGVJY29uLFxufSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9kYXRlcGlja2VyJ1xuaW1wb3J0IHsgVGltZVV0aWwgfSBmcm9tICcuLi8uLi8uLi9jb21tb24vdGltZS90aW1lLXV0aWwnXG5pbXBvcnQgeyBJc29EYXRlU3RyIH0gZnJvbSAnLi4vLi4vLi4vY29tbW9uL3RpbWUvZGF0ZS11dGlsJ1xuaW1wb3J0IHsgQm9vbGVhbklucHV0LCBjb2VyY2VCb29sZWFuUHJvcGVydHkgfSBmcm9tICdAYW5ndWxhci9jZGsvY29lcmNpb24nXG5pbXBvcnQgeyBFbGRlckZvcm1GaWVsZENvbnRyb2xCYXNlIH0gZnJvbSAnLi4vLi4vLi4vY29tbW9uL2Zvcm1zL2VsZGVyLWZvcm0tZmllbGQtY29udHJvbC1iYXNlLmRpcmVjdGl2ZSdcbmltcG9ydCB7IE1hdEZvcm1GaWVsZENvbnRyb2wgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9mb3JtLWZpZWxkJ1xuaW1wb3J0IHsgRm9jdXNNb25pdG9yIH0gZnJvbSAnQGFuZ3VsYXIvY2RrL2ExMXknXG5pbXBvcnQgeyBUcmFuc2xhdGVTZXJ2aWNlLCBUcmFuc2xhdGVNb2R1bGUgfSBmcm9tICdAbmd4LXRyYW5zbGF0ZS9jb3JlJ1xuaW1wb3J0IHsgTmdDb250cm9sLCBGb3Jtc01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJ1xuaW1wb3J0IHsgRWxkZXJTdG9wRXZlbnRQcm9wYWdhdGlvbkRpcmVjdGl2ZSB9IGZyb20gJy4uLy4uL2Zvcm1zL2RpcmVjdGl2ZXMvZWxkZXItc3RvcC1ldmVudC1wcm9wYWdhdGlvbi5kaXJlY3RpdmUnXG5pbXBvcnQgeyBFbGRlckZvcm1GaWVsZE5vU3Bpbm5lckRpcmVjdGl2ZSB9IGZyb20gJy4uLy4uL2Zvcm1zL2RpcmVjdGl2ZXMvZWxkZXItZm9ybS1maWVsZC1uby1zcGlubmVyLmRpcmVjdGl2ZSdcbmltcG9ydCB7IE1hdElucHV0IH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvaW5wdXQnXG5pbXBvcnQgeyBNYXRJY29uIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvaWNvbidcbmltcG9ydCB7IE1hdEljb25CdXR0b24gfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9idXR0b24nXG5pbXBvcnQgeyBOZ0lmLCBBc3luY1BpcGUsIERhdGVQaXBlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJ1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdlbGRlci1sb2NhbC1kYXRlLWlucHV0JyxcbiAgdGVtcGxhdGVVcmw6ICcuL2VsZGVyLWxvY2FsLWRhdGUtaW5wdXQuY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi9lbGRlci1sb2NhbC1kYXRlLWlucHV0LmNvbXBvbmVudC5zY3NzJ10sXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICBwcm92aWRlcnM6IFt7IHByb3ZpZGU6IE1hdEZvcm1GaWVsZENvbnRyb2wsIHVzZUV4aXN0aW5nOiBFbGRlckxvY2FsRGF0ZUlucHV0Q29tcG9uZW50IH1dLFxuICBzdGFuZGFsb25lOiB0cnVlLFxuICBpbXBvcnRzOiBbXG4gICAgTmdJZixcbiAgICBNYXRJY29uQnV0dG9uLFxuICAgIE1hdEljb24sXG4gICAgTWF0SW5wdXQsXG4gICAgRWxkZXJGb3JtRmllbGROb1NwaW5uZXJEaXJlY3RpdmUsXG4gICAgRm9ybXNNb2R1bGUsXG4gICAgTWF0RGF0ZXBpY2tlcklucHV0LFxuICAgIE1hdERhdGVwaWNrZXJUb2dnbGUsXG4gICAgTWF0RGF0ZXBpY2tlclRvZ2dsZUljb24sXG4gICAgRWxkZXJTdG9wRXZlbnRQcm9wYWdhdGlvbkRpcmVjdGl2ZSxcbiAgICBNYXREYXRlcGlja2VyLFxuICAgIEFzeW5jUGlwZSxcbiAgICBEYXRlUGlwZSxcbiAgICBUcmFuc2xhdGVNb2R1bGUsXG4gIF0sXG59KVxuZXhwb3J0IGNsYXNzIEVsZGVyTG9jYWxEYXRlSW5wdXRDb21wb25lbnQgZXh0ZW5kcyBFbGRlckZvcm1GaWVsZENvbnRyb2xCYXNlPExvY2FsRGF0ZT4ge1xuICAvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpcbiAgICogRmllbGRzICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKlxuICAgKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqXG4gICAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cblxuICBwcml2YXRlIHJlYWRvbmx5IGxvZ2dlciA9IExvZ2dlckZhY3RvcnkuZ2V0TG9nZ2VyKHRoaXMuY29uc3RydWN0b3IubmFtZSlcblxuICBwcml2YXRlIF9hbGxvd051bGwgPSBmYWxzZVxuXG4gIEBJbnB1dCgpXG4gIHB1YmxpYyB6b25lID0gWm9uZUlkLnN5c3RlbURlZmF1bHQoKVxuXG4gIC8qKiBJZiB0cnVlLCBkYXRlIHBpY2tlciBmdW5jdGlvbmFsaXR5IGlzIGVuYWJsZWQuICovXG4gIHByaXZhdGUgX2RhdGVQaWNrZXJFbmFibGVkID0gdHJ1ZVxuICBwcml2YXRlIF9hcnJvd3MgPSBmYWxzZVxuICBwcml2YXRlIF90b2RheSA9IGZhbHNlXG4gIHByaXZhdGUgX2F1dG9EYXRlUGlja2VyID0gZmFsc2VcbiAgcHJpdmF0ZSBfZGF0ZVBpY2tlclRvdWNoVWkgPSBmYWxzZVxuICBwcml2YXRlIF9jZW50ZXIgPSBmYWxzZVxuXG4gIEBWaWV3Q2hpbGQoTWF0RGF0ZXBpY2tlciwgeyBzdGF0aWM6IHRydWUgfSlcbiAgcHVibGljIHBpY2tlcjogTWF0RGF0ZXBpY2tlcjxEYXRlPlxuXG4gIEBWaWV3Q2hpbGQoJ2lucHV0JylcbiAgcHVibGljIGlucHV0UmVmOiBFbGVtZW50UmVmPEhUTUxJbnB1dEVsZW1lbnQ+XG5cbiAgcHVibGljIHJlYWRvbmx5IGRhdGUkOiBPYnNlcnZhYmxlPERhdGU+XG5cbiAgQE91dHB1dCgpXG4gIHB1YmxpYyByZWFkb25seSBibHVycmVkID0gbmV3IFN1YmplY3Q8Rm9jdXNFdmVudD4oKVxuXG4gIC8qKlxuICAgKiBFbWl0cyB0aGUgdXBkYXRlZCB2YWx1ZSBhZnRlciB0aGUgY29udHJvbCBibHVycmVkLlxuICAgKiAodXBkYXRlICYgYmx1cikgZXZlbnRzIG11c3QgaGF2ZSBoYXBwZW5lZC5cbiAgICovXG4gIEBPdXRwdXQoKVxuICBwdWJsaWMgcmVhZG9ubHkgdmFsdWVVcGRhdGVkQmx1cjogT2JzZXJ2YWJsZTxMb2NhbERhdGU+XG5cbiAgLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqXG4gICAqIENvbnN0cnVjdG9yICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpcbiAgICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKlxuICAgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG5cbiAgY29uc3RydWN0b3IoKSB7XG4gICAgc3VwZXIoJ2xvY2FsLWRhdGUtaW5wdXQnKVxuICAgIHRoaXMuZGF0ZSQgPSB0aGlzLm1hcElnbm9yZUVycm9yT2JzZXJ2YWJsZSh0aGlzLnZhbHVlJCwgKHY6IExvY2FsRGF0ZSkgPT5cbiAgICAgIFRpbWVVdGlsLmxvY2FsRGF0ZVRvRGF0ZSh2LCB0aGlzLnpvbmUpXG4gICAgKVxuICAgIHRoaXMudmFsdWVVcGRhdGVkQmx1ciA9IGNvbWJpbmVMYXRlc3QoW3RoaXMudmFsdWVVcGRhdGVkLCB0aGlzLmJsdXJyZWRdKS5waXBlKFxuICAgICAgbWFwKChbdmFsdWUsIGZvY3VzRXZlbnRdKSA9PiB2YWx1ZSlcbiAgICApXG4gIH1cblxuICAvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpcbiAgICogUHJvcGVydGllcyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKlxuICAgKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqXG4gICAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cblxuICBASW5wdXQoKVxuICBwdWJsaWMgc2V0IGF1dG9EYXRlUGlja2VyKHZhbDogQm9vbGVhbklucHV0KSB7XG4gICAgdGhpcy5fYXV0b0RhdGVQaWNrZXIgPSBjb2VyY2VCb29sZWFuUHJvcGVydHkodmFsKVxuICB9XG5cbiAgcHVibGljIGdldCBhdXRvRGF0ZVBpY2tlcigpOiBib29sZWFuIHtcbiAgICByZXR1cm4gdGhpcy5fYXV0b0RhdGVQaWNrZXJcbiAgfVxuXG4gIEBJbnB1dCgpXG4gIHB1YmxpYyBzZXQgYXJyb3dzKHZhbDogQm9vbGVhbklucHV0KSB7XG4gICAgdGhpcy5fYXJyb3dzID0gY29lcmNlQm9vbGVhblByb3BlcnR5KHZhbClcbiAgfVxuXG4gIHB1YmxpYyBnZXQgYXJyb3dzKCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiB0aGlzLl9hcnJvd3NcbiAgfVxuXG4gIEBJbnB1dCgpXG4gIHB1YmxpYyBzZXQgdG9kYXkodmFsOiBCb29sZWFuSW5wdXQpIHtcbiAgICB0aGlzLl90b2RheSA9IGNvZXJjZUJvb2xlYW5Qcm9wZXJ0eSh2YWwpXG4gIH1cblxuICBwdWJsaWMgZ2V0IHRvZGF5KCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiB0aGlzLl90b2RheVxuICB9XG5cbiAgQElucHV0KClcbiAgcHVibGljIHNldCBjZW50ZXIoY2VudGVyOiBCb29sZWFuSW5wdXQpIHtcbiAgICB0aGlzLl9jZW50ZXIgPSBjb2VyY2VCb29sZWFuUHJvcGVydHkoY2VudGVyKVxuICB9XG5cbiAgcHVibGljIGdldCBjZW50ZXIoKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIHRoaXMuX2NlbnRlclxuICB9XG5cbiAgLyoqIElmIHRydWUsIHRvdWNoIG9wdGltaXplZCBtb2RlIG9mIGRhdGUgcGlja2VyIGlzIGVuYWJsZWQuICovXG4gIEBJbnB1dCgpXG4gIHB1YmxpYyBzZXQgZGF0ZVBpY2tlclRvdWNoVWkoZW5hYmxlZDogQm9vbGVhbklucHV0KSB7XG4gICAgdGhpcy5fZGF0ZVBpY2tlclRvdWNoVWkgPSBjb2VyY2VCb29sZWFuUHJvcGVydHkoZW5hYmxlZClcbiAgfVxuXG4gIHB1YmxpYyBnZXQgZGF0ZVBpY2tlclRvdWNoVWkoKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIHRoaXMuX2RhdGVQaWNrZXJUb3VjaFVpXG4gIH1cblxuICAvKipcbiAgICogQWxsb3dzIHRoZSB1c2VyIHRvIHNlbGVjdCAnbm90aGluZycgLyBudWxsLlxuICAgKi9cbiAgQElucHV0KClcbiAgcHVibGljIHNldCBhbGxvd051bGwodmFsOiBCb29sZWFuSW5wdXQpIHtcbiAgICB0aGlzLl9hbGxvd051bGwgPSBjb2VyY2VCb29sZWFuUHJvcGVydHkodmFsKVxuICB9XG5cbiAgcHVibGljIGdldCBhbGxvd051bGwoKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIHRoaXMuX2FsbG93TnVsbFxuICB9XG5cbiAgQElucHV0KClcbiAgcHVibGljIHNldCBkYXRlUGlja2VyRW5hYmxlZChlbmFibGVkOiBCb29sZWFuSW5wdXQpIHtcbiAgICB0aGlzLl9kYXRlUGlja2VyRW5hYmxlZCA9IGNvZXJjZUJvb2xlYW5Qcm9wZXJ0eShlbmFibGVkKVxuICB9XG5cbiAgcHVibGljIGdldCBkYXRlUGlja2VyRW5hYmxlZCgpOiBib29sZWFuIHtcbiAgICByZXR1cm4gdGhpcy5fZGF0ZVBpY2tlckVuYWJsZWRcbiAgfVxuXG4gIEBPdXRwdXQoKVxuICBwdWJsaWMgZ2V0IGlzb1ZhbHVlQ2hhbmdlKCk6IE9ic2VydmFibGU8c3RyaW5nIHwgbnVsbD4ge1xuICAgIHJldHVybiB0aGlzLm1hcElnbm9yZUVycm9yT2JzZXJ2YWJsZSh0aGlzLnZhbHVlQ2hhbmdlLCAoZDogTG9jYWxEYXRlKSA9PiBkLnRvSlNPTigpKVxuICB9XG5cbiAgQElucHV0KClcbiAgcHVibGljIHNldCBpc29WYWx1ZSh2YWx1ZTogc3RyaW5nIHwgbnVsbCkge1xuICAgIHRoaXMudmFsdWUgPSB0aGlzLm1hcElnbm9yZUVycm9yKHZhbHVlLCAoZDogc3RyaW5nKSA9PiBMb2NhbERhdGUucGFyc2UoZCkpXG4gIH1cblxuICBAT3V0cHV0KClcbiAgcHVibGljIGdldCBkYXRlVmFsdWVDaGFuZ2UoKTogT2JzZXJ2YWJsZTxEYXRlIHwgbnVsbD4ge1xuICAgIHJldHVybiB0aGlzLm1hcElnbm9yZUVycm9yT2JzZXJ2YWJsZSh0aGlzLnZhbHVlQ2hhbmdlLCAoZDogTG9jYWxEYXRlKSA9PlxuICAgICAgVGltZVV0aWwubG9jYWxEYXRlVG9EYXRlKGQpXG4gICAgKVxuICB9XG5cbiAgQElucHV0KClcbiAgcHVibGljIHNldCBkYXRlVmFsdWUodmFsdWU6IERhdGUgfCBudWxsKSB7XG4gICAgdGhpcy52YWx1ZSA9IHRoaXMubWFwSWdub3JlRXJyb3IodmFsdWUsIChkOiBEYXRlKSA9PiBUaW1lVXRpbC5kYXRlVG9Mb2NhbERhdGUoZCkpXG4gIH1cblxuICBAT3V0cHV0KClcbiAgcHVibGljIGdldCBpc29EYXRlVmFsdWVDaGFuZ2UoKTogT2JzZXJ2YWJsZTxJc29EYXRlU3RyIHwgbnVsbD4ge1xuICAgIHJldHVybiB0aGlzLm1hcElnbm9yZUVycm9yT2JzZXJ2YWJsZSh0aGlzLnZhbHVlQ2hhbmdlLCAoZDogTG9jYWxEYXRlKSA9PlxuICAgICAgVGltZVV0aWwubG9jYWxEYXRlVG9EYXRlKGQpLnRvSVNPU3RyaW5nKClcbiAgICApXG4gIH1cblxuICBASW5wdXQoKVxuICBwdWJsaWMgc2V0IGlzb0RhdGVWYWx1ZSh2YWx1ZTogSXNvRGF0ZVN0ciB8IG51bGwpIHtcbiAgICB0aGlzLnZhbHVlID0gdGhpcy5tYXBJZ25vcmVFcnJvcih2YWx1ZSwgKGQ6IElzb0RhdGVTdHIpID0+XG4gICAgICBUaW1lVXRpbC5kYXRlVG9Mb2NhbERhdGUobmV3IERhdGUoZCkpXG4gICAgKVxuICB9XG5cbiAgcHVibGljIGdldCBzaG91bGRMYWJlbEZsb2F0KCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiB0cnVlXG4gIH1cblxuICAvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpcbiAgICogUHVibGljIEFQSSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKlxuICAgKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqXG4gICAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cblxuICBwdWJsaWMgcHJldmlvdXNEYXkoKTogdm9pZCB7XG4gICAgdGhpcy51cGRhdGVWYWx1ZSh0aGlzLnZhbHVlLm1pbnVzRGF5cygxKSlcbiAgfVxuXG4gIHB1YmxpYyBuZXh0RGF5KCk6IHZvaWQge1xuICAgIHRoaXMudXBkYXRlVmFsdWUodGhpcy52YWx1ZS5wbHVzRGF5cygxKSlcbiAgfVxuXG4gIHB1YmxpYyBjdXJyZW50RGF5KCk6IHZvaWQge1xuICAgIHRoaXMudXBkYXRlVmFsdWUoTG9jYWxEYXRlLm5vdygpKVxuICB9XG5cbiAgcHVibGljIGZvY3VzKG9wdGlvbnM/OiBGb2N1c09wdGlvbnMpOiB2b2lkIHtcbiAgICB0aGlzLmlucHV0UmVmPy5uYXRpdmVFbGVtZW50Py5mb2N1cyhvcHRpb25zKVxuICB9XG5cbiAgcHVibGljIGJsdXIoKTogdm9pZCB7XG4gICAgdGhpcy5pbnB1dFJlZj8ubmF0aXZlRWxlbWVudD8uYmx1cigpXG4gIH1cblxuICBwdWJsaWMgY2xlYXIoZXZlbnQ6IEV2ZW50KTogdm9pZCB7XG4gICAgdGhpcy51cGRhdGVWYWx1ZShudWxsKVxuICB9XG5cbiAgcHVibGljIG9wZW5EYXRlUGlja2VyKCk6IHZvaWQge1xuICAgIHRoaXMucGlja2VyLm9wZW4oKVxuICB9XG5cbiAgcHVibGljIG9uRGF0ZUlucHV0Q2hhbmdlZChuZXdEYXRlOiBzdHJpbmcpOiB2b2lkIHtcbiAgICB0cnkge1xuICAgICAgdGhpcy5sb2dnZXIuZGVidWcoJ29uRGF0ZUlucHV0Q2hhbmdlZDogXCInICsgbmV3RGF0ZSArICdcIicpXG5cbiAgICAgIGlmIChuZXdEYXRlID09PSAnJyB8fCBuZXdEYXRlLnN0YXJ0c1dpdGgoJzAnKSkge1xuICAgICAgICByZXR1cm5cbiAgICAgIH0gLy8gSWdub3JlIHdoaWxlIHVwZGF0aW5nIHRoZSB5ZWFyXG4gICAgICB0aGlzLnNldERhdGVTdHJJbnRlcm5hbGx5KG5ld0RhdGUpXG4gICAgfSBjYXRjaCAoZXJyKSB7XG4gICAgICB0aGlzLmxvZ2dlci5lcnJvcignRmFpbGVkIHRvIHBhcnNlIGZyb20gZGF0ZS1pbnB1dC1jaGFuZ2VkIGV2ZW50OiAnICsgbmV3RGF0ZSwgZXJyKVxuICAgIH1cbiAgfVxuXG4gIHB1YmxpYyBvbkRhdGVwaWNrZXJJbnB1dENoYW5nZShldmVudDogTWF0RGF0ZXBpY2tlcklucHV0RXZlbnQ8RGF0ZT4pOiB2b2lkIHtcbiAgICB0aGlzLmxvZ2dlci5kZWJ1ZygnRGF0ZXBpY2tlciBJbnB1dCBoYXMgY2hhbmdlZDogJyArIGV2ZW50LnZhbHVlKVxuICAgIHRoaXMuc2V0RGF0ZUludGVybmFsbHkoZXZlbnQudmFsdWUpXG4gIH1cblxuICBwdWJsaWMgb25EYXRlSW5wdXRDbGlja2VkKGV2ZW50OiBNb3VzZUV2ZW50KTogdm9pZCB7XG4gICAgaWYgKHRoaXMuYXV0b0RhdGVQaWNrZXIpIHtcbiAgICAgIHRoaXMub3BlbkRhdGVQaWNrZXIoKVxuICAgIH1cbiAgfVxuXG4gIC8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKlxuICAgKiBQcml2YXRlIG1ldGhvZHMgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqXG4gICAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpcbiAgICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuXG4gIHByaXZhdGUgbWFwSWdub3JlRXJyb3I8VD4odmFsdWU6IFQgfCBudWxsLCBjb252ZXJzaW9uRm46IChkOiBUIHwgbnVsbCkgPT4gTG9jYWxEYXRlKTogTG9jYWxEYXRlIHtcbiAgICB0cnkge1xuICAgICAgY29uc3QgbGQgPSB2YWx1ZSA/IGNvbnZlcnNpb25Gbih2YWx1ZSkgOiBudWxsXG4gICAgICB0aGlzLmxvZ2dlci5pbmZvKCdTZXR0aW5nIGxvY2FsIGRhdGU6ICcgKyBsZClcbiAgICAgIHJldHVybiBsZFxuICAgIH0gY2F0Y2ggKGVycikge1xuICAgICAgdGhpcy5sb2dnZXIud2FybignRmFpbGVkIHRvIGFwcGx5IHZhbHVlIHRvIGRhdGVWYWx1ZTogJyArIHZhbHVlLCBlcnIpXG4gICAgfVxuICB9XG5cbiAgcHJpdmF0ZSBtYXBJZ25vcmVFcnJvck9ic2VydmFibGU8VD4oXG4gICAgZGF0ZTogT2JzZXJ2YWJsZTxMb2NhbERhdGU+LFxuICAgIGNvbnZlcnNpb25GbjogKGQ6IExvY2FsRGF0ZSkgPT4gVFxuICApOiBPYnNlcnZhYmxlPFQgfCBudWxsPiB7XG4gICAgcmV0dXJuIGRhdGUucGlwZShcbiAgICAgIG1hcCgobG9jYWxEYXRlKSA9PiAobG9jYWxEYXRlID8gY29udmVyc2lvbkZuKGxvY2FsRGF0ZSkgOiBudWxsKSksXG4gICAgICBjYXRjaEVycm9yKChlcnIpID0+IHtcbiAgICAgICAgdGhpcy5sb2dnZXIuZXJyb3IoJ0ZhaWxlZCB0byBjb252ZXJ0IGxvY2FsIGRhdGUhJywgZXJyKVxuICAgICAgICByZXR1cm4gb2YobnVsbClcbiAgICAgIH0pXG4gICAgKVxuICB9XG5cbiAgcHJpdmF0ZSBzZXREYXRlU3RySW50ZXJuYWxseShkYXRlOiBzdHJpbmcpOiB2b2lkIHtcbiAgICBpZiAoZGF0ZSkge1xuICAgICAgdGhpcy51cGRhdGVWYWx1ZShMb2NhbERhdGUucGFyc2UoZGF0ZSkpXG4gICAgfSBlbHNlIHtcbiAgICAgIHRoaXMudXBkYXRlVmFsdWUobnVsbClcbiAgICB9XG4gIH1cblxuICBwcml2YXRlIHNldERhdGVJbnRlcm5hbGx5KGRhdGU6IERhdGUpOiB2b2lkIHtcbiAgICBpZiAoZGF0ZSkge1xuICAgICAgdGhpcy51cGRhdGVWYWx1ZShUaW1lVXRpbC5kYXRlVG9Mb2NhbERhdGUoZGF0ZSkpXG4gICAgfSBlbHNlIHtcbiAgICAgIHRoaXMudXBkYXRlVmFsdWUobnVsbClcbiAgICB9XG4gIH1cblxuICBwcm90ZWN0ZWQgdmFsdWVzRXF1YWxzKGE6IExvY2FsRGF0ZSwgYjogTG9jYWxEYXRlKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIGEgJiYgYiA/IGEuZXF1YWxzKGIpIDogYSA9PT0gYlxuICB9XG59XG4iLCI8ZGl2IGNsYXNzPVwibGF5b3V0LXJvdyBwbGFjZS1zdGFydC1jZW50ZXIgZWxkZXItZmxleC1jb250cm9sXCI+XG4gIDxidXR0b25cbiAgICBtYXQtaWNvbi1idXR0b25cbiAgICB0eXBlPVwiYnV0dG9uXCJcbiAgICAqbmdJZj1cImFycm93c1wiXG4gICAgY2xhc3M9XCJlbGRlci1jb250cm9sLWljb24tYnV0dG9uXCJcbiAgICBbZGlzYWJsZWRdPVwiaXNMb2NrZWQgfHwgIXZhbHVlXCJcbiAgICAoY2xpY2spPVwicHJldmlvdXNEYXkoKVwiXG4gID5cbiAgICA8bWF0LWljb24+a2V5Ym9hcmRfYXJyb3dfbGVmdDwvbWF0LWljb24+XG4gIDwvYnV0dG9uPlxuXG4gIDxpbnB1dFxuICAgIG1hdElucHV0XG4gICAgZWxkZXJOb1NwaW5uZXJcbiAgICBjbGFzcz1cImZsZXggZWxkZXItbWRjLWlucHV0LWZpeCBlbGRlci1sb2NhbC1kYXRlLWlucHV0XCJcbiAgICAjaW5wdXRcbiAgICB0eXBlPVwiZGF0ZVwiXG4gICAgW25hbWVdPVwibmdDb250cm9sPy5uYW1lICsgJy1pbm5lci1pbnB1dCdcIlxuICAgIFtyZXF1aXJlZF09XCIhIXJlcXVpcmVkXCJcbiAgICBbcmVhZG9ubHldPVwicmVhZG9ubHkgfHwgYXV0b0RhdGVQaWNrZXJcIlxuICAgIFtkaXNhYmxlZF09XCIhIWRpc2FibGVkXCJcbiAgICBbcGxhY2Vob2xkZXJdPVwicGxhY2Vob2xkZXJTKCkgfCB0cmFuc2xhdGVcIlxuICAgIFtuZ01vZGVsXT1cImRhdGUkIHwgYXN5bmMgfCBkYXRlOiAneXl5eS1NTS1kZCdcIlxuICAgIChuZ01vZGVsQ2hhbmdlKT1cIm9uRGF0ZUlucHV0Q2hhbmdlZCgkZXZlbnQpXCJcbiAgICAoYmx1cik9XCJibHVycmVkLm5leHQoJGV2ZW50KVwiXG4gICAgW2NsYXNzLmVsZGVyLWF1dG8tZGF0ZS1waWNrZXJdPVwiYXV0b0RhdGVQaWNrZXJcIlxuICAgIFtjbGFzcy5ub3NlbGVjdF09XCJhdXRvRGF0ZVBpY2tlclwiXG4gICAgW2NsYXNzLmNlbnRlcl09XCJjZW50ZXIgfHwgYXJyb3dzXCJcbiAgICAoY2xpY2spPVwib25EYXRlSW5wdXRDbGlja2VkKCRldmVudClcIlxuICAvPlxuICA8aW5wdXRcbiAgICBzdHlsZT1cImRpc3BsYXk6IG5vbmVcIlxuICAgIFttYXREYXRlcGlja2VyXT1cInBpY2tlclwiXG4gICAgKGRhdGVDaGFuZ2UpPVwib25EYXRlcGlja2VySW5wdXRDaGFuZ2UoJGV2ZW50KVwiXG4gIC8+XG5cbiAgPGJ1dHRvblxuICAgIG1hdC1pY29uLWJ1dHRvblxuICAgIHR5cGU9XCJidXR0b25cIlxuICAgICpuZ0lmPVwiYXJyb3dzXCJcbiAgICBjbGFzcz1cImVsZGVyLWNvbnRyb2wtaWNvbi1idXR0b25cIlxuICAgIFtkaXNhYmxlZF09XCJpc0xvY2tlZCB8fCAhdmFsdWVcIlxuICAgIChjbGljayk9XCJuZXh0RGF5KClcIlxuICA+XG4gICAgPG1hdC1pY29uPmtleWJvYXJkX2Fycm93X3JpZ2h0PC9tYXQtaWNvbj5cbiAgPC9idXR0b24+XG5cbiAgPGJ1dHRvblxuICAgIG1hdC1pY29uLWJ1dHRvblxuICAgIHR5cGU9XCJidXR0b25cIlxuICAgICpuZ0lmPVwidG9kYXlcIlxuICAgIGNsYXNzPVwiZWxkZXItY29udHJvbC1pY29uLWJ1dHRvblwiXG4gICAgc3R5bGU9XCJtYXJnaW4tbGVmdDogNHB4XCJcbiAgICBbZGlzYWJsZWRdPVwiaXNMb2NrZWRcIlxuICAgIChjbGljayk9XCJjdXJyZW50RGF5KClcIlxuICA+XG4gICAgPG1hdC1pY29uPnRvZGF5PC9tYXQtaWNvbj5cbiAgPC9idXR0b24+XG5cbiAgPG1hdC1kYXRlcGlja2VyLXRvZ2dsZVxuICAgIGNsYXNzPVwiZWxkZXItY29udHJvbC1pY29uLWJ1dHRvblwiXG4gICAgKm5nSWY9XCJkYXRlUGlja2VyRW5hYmxlZCAmJiAoIWFsbG93TnVsbCB8fCAodmFsdWUkIHwgYXN5bmMpID09PSBudWxsKVwiXG4gICAgW2Rpc2FibGVkXT1cImlzTG9ja2VkXCJcbiAgICBbZm9yXT1cInBpY2tlclwiXG4gID5cbiAgICA8bWF0LWljb24gbWF0RGF0ZXBpY2tlclRvZ2dsZUljb24+Y2FsZW5kYXJfbW9udGg8L21hdC1pY29uPlxuICA8L21hdC1kYXRlcGlja2VyLXRvZ2dsZT5cblxuICA8YnV0dG9uXG4gICAgbWF0LWljb24tYnV0dG9uXG4gICAgdHlwZT1cImJ1dHRvblwiXG4gICAgY2xhc3M9XCJlbGRlci1jb250cm9sLWljb24tYnV0dG9uXCJcbiAgICAqbmdJZj1cImFsbG93TnVsbCAmJiAodmFsdWUkIHwgYXN5bmMpXCJcbiAgICBbZGlzYWJsZWRdPVwiaXNMb2NrZWRcIlxuICAgIChjbGljayk9XCJjbGVhcigkZXZlbnQpXCJcbiAgICBhcmlhLWxhYmVsPVwiQ2xlYXJcIlxuICAgIGVsZGVyU3RvcEV2ZW50UHJvcGFnYXRpb25cbiAgPlxuICAgIDxtYXQtaWNvbj5jbG9zZTwvbWF0LWljb24+XG4gIDwvYnV0dG9uPlxuXG4gIDxtYXQtZGF0ZXBpY2tlciBbdG91Y2hVaV09XCJkYXRlUGlja2VyVG91Y2hVaVwiICNwaWNrZXI+PC9tYXQtZGF0ZXBpY2tlcj5cbjwvZGl2PlxuIl19
@@ -1,4 +1,4 @@
1
- import { Component, ChangeDetectionStrategy, Output, Input, Optional, Self, ViewChild, } from '@angular/core';
1
+ import { Component, ChangeDetectionStrategy, Output, Input, ViewChild, } from '@angular/core';
2
2
  import { LoggerFactory } from '@elderbyte/ts-logger';
3
3
  import { LocalTime } from '@js-joda/core';
4
4
  import { map } from 'rxjs/operators';
@@ -9,18 +9,16 @@ import { MatFormFieldControl } from '@angular/material/form-field';
9
9
  import { AsyncPipe } from '@angular/common';
10
10
  import { MatInput } from '@angular/material/input';
11
11
  import * as i0 from "@angular/core";
12
- import * as i1 from "@angular/cdk/a11y";
12
+ import * as i1 from "@angular/forms";
13
13
  import * as i2 from "@ngx-translate/core";
14
- import * as i3 from "@angular/forms";
15
14
  export class ElderLocalTimeInputComponent extends ElderFormFieldControlBase {
16
15
  /***************************************************************************
17
16
  * *
18
17
  * Constructor *
19
18
  * *
20
19
  **************************************************************************/
21
- constructor(hostRef, zone, focusMonitor, translateService, ngControl) {
22
- super(hostRef, 'local-time-input', focusMonitor, translateService, ngControl);
23
- this.ngControl = ngControl;
20
+ constructor() {
21
+ super('local-time-input');
24
22
  /***************************************************************************
25
23
  * *
26
24
  * Fields *
@@ -70,17 +68,13 @@ export class ElderLocalTimeInputComponent extends ElderFormFieldControlBase {
70
68
  valuesEquals(a, b) {
71
69
  return a && b ? a.equals(b) : a === b;
72
70
  }
73
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.5", ngImport: i0, type: ElderLocalTimeInputComponent, deps: [{ token: i0.ElementRef }, { token: i0.NgZone }, { token: i1.FocusMonitor }, { token: i2.TranslateService }, { token: i3.NgControl, optional: true, self: true }], target: i0.ɵɵFactoryTarget.Component }); }
74
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.5", type: ElderLocalTimeInputComponent, isStandalone: true, selector: "elder-local-time-input", inputs: { isoValue: "isoValue" }, outputs: { isoValueChange: "isoValueChange" }, providers: [{ provide: MatFormFieldControl, useExisting: ElderLocalTimeInputComponent }], viewQueries: [{ propertyName: "inputRef", first: true, predicate: ["input"], descendants: true }], usesInheritance: true, ngImport: i0, template: "<div class=\"layout-row place-start-baseline elder-flex-control\">\n <input\n matInput\n class=\"flex-grow elder-mdc-input-fix\"\n #input\n [name]=\"ngControl?.name + '-inner-input'\"\n [placeholder]=\"placeholder | translate\"\n type=\"time\"\n [required]=\"!!required\"\n [readonly]=\"readonly\"\n [disabled]=\"!!disabled\"\n [ngModel]=\"hourMinuteStr$ | async\"\n (ngModelChange)=\"onHourMinuteChanged($event)\"\n />\n</div>\n", styles: [""], dependencies: [{ kind: "directive", type: MatInput, selector: "input[matInput], textarea[matInput], select[matNativeControl], input[matNativeControl], textarea[matNativeControl]", inputs: ["disabled", "id", "placeholder", "name", "required", "type", "errorStateMatcher", "aria-describedby", "value", "readonly"], exportAs: ["matInput"] }, { kind: "ngmodule", type: FormsModule }, { kind: "directive", type: i3.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i3.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i3.RequiredValidator, selector: ":not([type=checkbox])[required][formControlName],:not([type=checkbox])[required][formControl],:not([type=checkbox])[required][ngModel]", inputs: ["required"] }, { kind: "directive", type: i3.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "pipe", type: AsyncPipe, name: "async" }, { kind: "ngmodule", type: TranslateModule }, { kind: "pipe", type: i2.TranslatePipe, name: "translate" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
71
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: ElderLocalTimeInputComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
72
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.13", type: ElderLocalTimeInputComponent, isStandalone: true, selector: "elder-local-time-input", inputs: { isoValue: "isoValue" }, outputs: { isoValueChange: "isoValueChange" }, providers: [{ provide: MatFormFieldControl, useExisting: ElderLocalTimeInputComponent }], viewQueries: [{ propertyName: "inputRef", first: true, predicate: ["input"], descendants: true }], usesInheritance: true, ngImport: i0, template: "<div class=\"layout-row place-start-baseline elder-flex-control\">\n <input\n matInput\n class=\"flex-grow elder-mdc-input-fix\"\n #input\n [name]=\"ngControl?.name + '-inner-input'\"\n [placeholder]=\"placeholderS() | translate\"\n type=\"time\"\n [required]=\"!!required\"\n [readonly]=\"readonly\"\n [disabled]=\"!!disabled\"\n [ngModel]=\"hourMinuteStr$ | async\"\n (ngModelChange)=\"onHourMinuteChanged($event)\"\n />\n</div>\n", styles: [""], dependencies: [{ kind: "directive", type: MatInput, selector: "input[matInput], textarea[matInput], select[matNativeControl], input[matNativeControl], textarea[matNativeControl]", inputs: ["disabled", "id", "placeholder", "name", "required", "type", "errorStateMatcher", "aria-describedby", "value", "readonly"], exportAs: ["matInput"] }, { kind: "ngmodule", type: FormsModule }, { kind: "directive", type: i1.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1.RequiredValidator, selector: ":not([type=checkbox])[required][formControlName],:not([type=checkbox])[required][formControl],:not([type=checkbox])[required][ngModel]", inputs: ["required"] }, { kind: "directive", type: i1.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "pipe", type: AsyncPipe, name: "async" }, { kind: "ngmodule", type: TranslateModule }, { kind: "pipe", type: i2.TranslatePipe, name: "translate" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
75
73
  }
76
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.5", ngImport: i0, type: ElderLocalTimeInputComponent, decorators: [{
74
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: ElderLocalTimeInputComponent, decorators: [{
77
75
  type: Component,
78
- args: [{ selector: 'elder-local-time-input', changeDetection: ChangeDetectionStrategy.OnPush, providers: [{ provide: MatFormFieldControl, useExisting: ElderLocalTimeInputComponent }], standalone: true, imports: [MatInput, FormsModule, AsyncPipe, TranslateModule], template: "<div class=\"layout-row place-start-baseline elder-flex-control\">\n <input\n matInput\n class=\"flex-grow elder-mdc-input-fix\"\n #input\n [name]=\"ngControl?.name + '-inner-input'\"\n [placeholder]=\"placeholder | translate\"\n type=\"time\"\n [required]=\"!!required\"\n [readonly]=\"readonly\"\n [disabled]=\"!!disabled\"\n [ngModel]=\"hourMinuteStr$ | async\"\n (ngModelChange)=\"onHourMinuteChanged($event)\"\n />\n</div>\n" }]
79
- }], ctorParameters: () => [{ type: i0.ElementRef }, { type: i0.NgZone }, { type: i1.FocusMonitor }, { type: i2.TranslateService }, { type: i3.NgControl, decorators: [{
80
- type: Optional
81
- }, {
82
- type: Self
83
- }] }], propDecorators: { inputRef: [{
76
+ args: [{ selector: 'elder-local-time-input', changeDetection: ChangeDetectionStrategy.OnPush, providers: [{ provide: MatFormFieldControl, useExisting: ElderLocalTimeInputComponent }], standalone: true, imports: [MatInput, FormsModule, AsyncPipe, TranslateModule], template: "<div class=\"layout-row place-start-baseline elder-flex-control\">\n <input\n matInput\n class=\"flex-grow elder-mdc-input-fix\"\n #input\n [name]=\"ngControl?.name + '-inner-input'\"\n [placeholder]=\"placeholderS() | translate\"\n type=\"time\"\n [required]=\"!!required\"\n [readonly]=\"readonly\"\n [disabled]=\"!!disabled\"\n [ngModel]=\"hourMinuteStr$ | async\"\n (ngModelChange)=\"onHourMinuteChanged($event)\"\n />\n</div>\n" }]
77
+ }], ctorParameters: () => [], propDecorators: { inputRef: [{
84
78
  type: ViewChild,
85
79
  args: ['input']
86
80
  }], isoValueChange: [{
@@ -88,4 +82,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.5", ngImpor
88
82
  }], isoValue: [{
89
83
  type: Input
90
84
  }] } });
91
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZWxkZXItbG9jYWwtdGltZS1pbnB1dC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9lbGRlcmJ5dGUvbmd4LXN0YXJ0ZXIvc3JjL2xpYi9jb21wb25lbnRzL3RpbWUvZWxkZXItbG9jYWwtdGltZS1pbnB1dC9lbGRlci1sb2NhbC10aW1lLWlucHV0LmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2VsZGVyYnl0ZS9uZ3gtc3RhcnRlci9zcmMvbGliL2NvbXBvbmVudHMvdGltZS9lbGRlci1sb2NhbC10aW1lLWlucHV0L2VsZGVyLWxvY2FsLXRpbWUtaW5wdXQuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUNMLFNBQVMsRUFDVCx1QkFBdUIsRUFDdkIsTUFBTSxFQUNOLEtBQUssRUFHTCxRQUFRLEVBQ1IsSUFBSSxFQUNKLFNBQVMsR0FDVixNQUFNLGVBQWUsQ0FBQTtBQUN0QixPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sc0JBQXNCLENBQUE7QUFDcEQsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLGVBQWUsQ0FBQTtBQUV6QyxPQUFPLEVBQUUsR0FBRyxFQUFFLE1BQU0sZ0JBQWdCLENBQUE7QUFDcEMsT0FBTyxFQUFFLHlCQUF5QixFQUFFLE1BQU0sK0RBQStELENBQUE7QUFFekcsT0FBTyxFQUFvQixlQUFlLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQTtBQUN2RSxPQUFPLEVBQWEsV0FBVyxFQUFFLE1BQU0sZ0JBQWdCLENBQUE7QUFDdkQsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sOEJBQThCLENBQUE7QUFDbEUsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLGlCQUFpQixDQUFBO0FBQzNDLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQTs7Ozs7QUFXbEQsTUFBTSxP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QUFPO2dCQThCUCxjQUFjO3NCQUR4QixNQUFNO2dCQU1JLFFBQVE7c0JBRGxCLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICBDb21wb25lbnQsXG4gIENoYW5nZURldGVjdGlvblN0cmF0ZWd5LFxuICBPdXRwdXQsXG4gIElucHV0LFxuICBFbGVtZW50UmVmLFxuICBOZ1pvbmUsXG4gIE9wdGlvbmFsLFxuICBTZWxmLFxuICBWaWV3Q2hpbGQsXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnXG5pbXBvcnQgeyBMb2dnZXJGYWN0b3J5IH0gZnJvbSAnQGVsZGVyYnl0ZS90cy1sb2dnZXInXG5pbXBvcnQgeyBMb2NhbFRpbWUgfSBmcm9tICdAanMtam9kYS9jb3JlJ1xuaW1wb3J0IHsgT2JzZXJ2YWJsZSB9IGZyb20gJ3J4anMnXG5pbXBvcnQgeyBtYXAgfSBmcm9tICdyeGpzL29wZXJhdG9ycydcbmltcG9ydCB7IEVsZGVyRm9ybUZpZWxkQ29udHJvbEJhc2UgfSBmcm9tICcuLi8uLi8uLi9jb21tb24vZm9ybXMvZWxkZXItZm9ybS1maWVsZC1jb250cm9sLWJhc2UuZGlyZWN0aXZlJ1xuaW1wb3J0IHsgRm9jdXNNb25pdG9yIH0gZnJvbSAnQGFuZ3VsYXIvY2RrL2ExMXknXG5pbXBvcnQgeyBUcmFuc2xhdGVTZXJ2aWNlLCBUcmFuc2xhdGVNb2R1bGUgfSBmcm9tICdAbmd4LXRyYW5zbGF0ZS9jb3JlJ1xuaW1wb3J0IHsgTmdDb250cm9sLCBGb3Jtc01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJ1xuaW1wb3J0IHsgTWF0Rm9ybUZpZWxkQ29udHJvbCB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2Zvcm0tZmllbGQnXG5pbXBvcnQgeyBBc3luY1BpcGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24nXG5pbXBvcnQgeyBNYXRJbnB1dCB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2lucHV0J1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdlbGRlci1sb2NhbC10aW1lLWlucHV0JyxcbiAgdGVtcGxhdGVVcmw6ICcuL2VsZGVyLWxvY2FsLXRpbWUtaW5wdXQuY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi9lbGRlci1sb2NhbC10aW1lLWlucHV0LmNvbXBvbmVudC5zY3NzJ10sXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICBwcm92aWRlcnM6IFt7IHByb3ZpZGU6IE1hdEZvcm1GaWVsZENvbnRyb2wsIHVzZUV4aXN0aW5nOiBFbGRlckxvY2FsVGltZUlucHV0Q29tcG9uZW50IH1dLFxuICBzdGFuZGFsb25lOiB0cnVlLFxuICBpbXBvcnRzOiBbTWF0SW5wdXQsIEZvcm1zTW9kdWxlLCBBc3luY1BpcGUsIFRyYW5zbGF0ZU1vZHVsZV0sXG59KVxuZXhwb3J0IGNsYXNzIEVsZGVyTG9jYWxUaW1lSW5wdXRDb21wb25lbnQgZXh0ZW5kcyBFbGRlckZvcm1GaWVsZENvbnRyb2xCYXNlPExvY2FsVGltZT4ge1xuICAvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpcbiAgICogRmllbGRzICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKlxuICAgKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqXG4gICAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cblxuICBwcml2YXRlIHJlYWRvbmx5IGxvZ2dlciA9IExvZ2dlckZhY3RvcnkuZ2V0TG9nZ2VyKHRoaXMuY29uc3RydWN0b3IubmFtZSlcblxuICBwdWJsaWMgcmVhZG9ubHkgaG91ck1pbnV0ZVN0ciQ6IE9ic2VydmFibGU8c3RyaW5nPlxuXG4gIEBWaWV3Q2hpbGQoJ2lucHV0JylcbiAgcHVibGljIGlucHV0UmVmOiBFbGVtZW50UmVmPEhUTUxJbnB1dEVsZW1lbnQ+XG5cbiAgLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqXG4gICAqIENvbnN0cnVjdG9yICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpcbiAgICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKlxuICAgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG5cbiAgY29uc3RydWN0b3IoXG4gICAgaG9zdFJlZjogRWxlbWVudFJlZixcbiAgICB6b25lOiBOZ1pvbmUsXG4gICAgZm9jdXNNb25pdG9yOiBGb2N1c01vbml0b3IsXG4gICAgdHJhbnNsYXRlU2VydmljZTogVHJhbnNsYXRlU2VydmljZSxcbiAgICBAT3B0aW9uYWwoKSBAU2VsZigpIHB1YmxpYyBuZ0NvbnRyb2w6IE5nQ29udHJvbFxuICApIHtcbiAgICBzdXBlcihob3N0UmVmLCAnbG9jYWwtdGltZS1pbnB1dCcsIGZvY3VzTW9uaXRvciwgdHJhbnNsYXRlU2VydmljZSwgbmdDb250cm9sKVxuXG4gICAgdGhpcy5ob3VyTWludXRlU3RyJCA9IHRoaXMudmFsdWUkLnBpcGUoXG4gICAgICBtYXAoKGxvY2FsVGltZSkgPT4gKGxvY2FsVGltZSA/IGxvY2FsVGltZS50b0pTT04oKSA6IG51bGwpKVxuICAgIClcbiAgfVxuXG4gIC8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKlxuICAgKiBQcm9wZXJ0aWVzICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqXG4gICAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpcbiAgICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuXG4gIEBPdXRwdXQoKVxuICBwdWJsaWMgZ2V0IGlzb1ZhbHVlQ2hhbmdlKCk6IE9ic2VydmFibGU8c3RyaW5nIHwgbnVsbD4ge1xuICAgIHJldHVybiB0aGlzLnZhbHVlQ2hhbmdlLnBpcGUobWFwKCh0aW1lKSA9PiAodGltZSA/IHRpbWUudG9KU09OKCkgOiBudWxsKSkpXG4gIH1cblxuICBASW5wdXQoKVxuICBwdWJsaWMgc2V0IGlzb1ZhbHVlKHZhbHVlOiBzdHJpbmcgfCBudWxsKSB7XG4gICAgdGhpcy52YWx1ZSA9IHZhbHVlID8gTG9jYWxUaW1lLnBhcnNlKHZhbHVlKSA6IG51bGxcbiAgfVxuXG4gIHB1YmxpYyBnZXQgc2hvdWxkTGFiZWxGbG9hdCgpOiBib29sZWFuIHtcbiAgICByZXR1cm4gdHJ1ZVxuICB9XG5cbiAgLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqXG4gICAqIFB1YmxpYyBtZXRob2RzICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpcbiAgICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKlxuICAgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG5cbiAgcHVibGljIGZvY3VzKG9wdGlvbnM/OiBGb2N1c09wdGlvbnMpOiB2b2lkIHtcbiAgICB0aGlzLmlucHV0UmVmPy5uYXRpdmVFbGVtZW50Py5mb2N1cyhvcHRpb25zKVxuICB9XG5cbiAgcHVibGljIGJsdXIoKTogdm9pZCB7XG4gICAgdGhpcy5pbnB1dFJlZj8ubmF0aXZlRWxlbWVudD8uYmx1cigpXG4gIH1cblxuICBwdWJsaWMgb25Ib3VyTWludXRlQ2hhbmdlZChldmVudDogc3RyaW5nKTogdm9pZCB7XG4gICAgaWYgKGV2ZW50KSB7XG4gICAgICB0aGlzLnVwZGF0ZVZhbHVlKExvY2FsVGltZS5wYXJzZShldmVudCkpXG4gICAgfSBlbHNlIHtcbiAgICAgIHRoaXMudXBkYXRlVmFsdWUobnVsbClcbiAgICB9XG4gIH1cblxuICAvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpcbiAgICogUHJpdmF0ZSBtZXRob2RzICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKlxuICAgKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqXG4gICAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cblxuICBwcm90ZWN0ZWQgdmFsdWVzRXF1YWxzKGE6IExvY2FsVGltZSwgYjogTG9jYWxUaW1lKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIGEgJiYgYiA/IGEuZXF1YWxzKGIpIDogYSA9PT0gYlxuICB9XG59XG4iLCI8ZGl2IGNsYXNzPVwibGF5b3V0LXJvdyBwbGFjZS1zdGFydC1iYXNlbGluZSBlbGRlci1mbGV4LWNvbnRyb2xcIj5cbiAgPGlucHV0XG4gICAgbWF0SW5wdXRcbiAgICBjbGFzcz1cImZsZXgtZ3JvdyBlbGRlci1tZGMtaW5wdXQtZml4XCJcbiAgICAjaW5wdXRcbiAgICBbbmFtZV09XCJuZ0NvbnRyb2w/Lm5hbWUgKyAnLWlubmVyLWlucHV0J1wiXG4gICAgW3BsYWNlaG9sZGVyXT1cInBsYWNlaG9sZGVyIHwgdHJhbnNsYXRlXCJcbiAgICB0eXBlPVwidGltZVwiXG4gICAgW3JlcXVpcmVkXT1cIiEhcmVxdWlyZWRcIlxuICAgIFtyZWFkb25seV09XCJyZWFkb25seVwiXG4gICAgW2Rpc2FibGVkXT1cIiEhZGlzYWJsZWRcIlxuICAgIFtuZ01vZGVsXT1cImhvdXJNaW51dGVTdHIkIHwgYXN5bmNcIlxuICAgIChuZ01vZGVsQ2hhbmdlKT1cIm9uSG91ck1pbnV0ZUNoYW5nZWQoJGV2ZW50KVwiXG4gIC8+XG48L2Rpdj5cbiJdfQ==
85
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZWxkZXItbG9jYWwtdGltZS1pbnB1dC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9lbGRlcmJ5dGUvbmd4LXN0YXJ0ZXIvc3JjL2xpYi9jb21wb25lbnRzL3RpbWUvZWxkZXItbG9jYWwtdGltZS1pbnB1dC9lbGRlci1sb2NhbC10aW1lLWlucHV0LmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2VsZGVyYnl0ZS9uZ3gtc3RhcnRlci9zcmMvbGliL2NvbXBvbmVudHMvdGltZS9lbGRlci1sb2NhbC10aW1lLWlucHV0L2VsZGVyLWxvY2FsLXRpbWUtaW5wdXQuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUNMLFNBQVMsRUFDVCx1QkFBdUIsRUFDdkIsTUFBTSxFQUNOLEtBQUssRUFLTCxTQUFTLEdBQ1YsTUFBTSxlQUFlLENBQUE7QUFDdEIsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLHNCQUFzQixDQUFBO0FBQ3BELE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxlQUFlLENBQUE7QUFFekMsT0FBTyxFQUFFLEdBQUcsRUFBRSxNQUFNLGdCQUFnQixDQUFBO0FBQ3BDLE9BQU8sRUFBRSx5QkFBeUIsRUFBRSxNQUFNLCtEQUErRCxDQUFBO0FBRXpHLE9BQU8sRUFBb0IsZUFBZSxFQUFFLE1BQU0scUJBQXFCLENBQUE7QUFDdkUsT0FBTyxFQUFhLFdBQVcsRUFBRSxNQUFNLGdCQUFnQixDQUFBO0FBQ3ZELE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLDhCQUE4QixDQUFBO0FBQ2xFLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQTtBQUMzQyxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0seUJBQXlCLENBQUE7Ozs7QUFXbEQsTUFBTSxPQUFPLDRCQUE2QixTQUFRLHlCQUFvQztJQWNwRjs7OztnRkFJNEU7SUFFNUU7UUFDRSxLQUFLLENBQUMsa0JBQWtCLENBQUMsQ0FBQTtRQXBCM0I7Ozs7b0ZBSTRFO1FBRTNELFdBQU0sR0FBRyxhQUFhLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxXQUFXLENBQUMsSUFBSSxDQUFDLENBQUE7UUFnQnRFLElBQUksQ0FBQyxjQUFjLEdBQUcsSUFBSSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQ3BDLEdBQUcsQ0FBQyxDQUFDLFNBQVMsRUFBRSxFQUFFLENBQUMsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxNQUFNLEVBQUUsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FDNUQsQ0FBQTtJQUNILENBQUM7SUFFRDs7OztnRkFJNEU7SUFFNUUsSUFDVyxjQUFjO1FBQ3ZCLE9BQU8sSUFBSSxDQUFDLFdBQVcsQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUMsSUFBSSxFQUFFLEVBQUUsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLE1BQU0sRUFBRSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUE7SUFDNUUsQ0FBQztJQUVELElBQ1csUUFBUSxDQUFDLEtBQW9CO1FBQ3RDLElBQUksQ0FBQyxLQUFLLEdBQUcsS0FBSyxDQUFDLENBQUMsQ0FBQyxTQUFTLENBQUMsS0FBSyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUE7SUFDcEQsQ0FBQztJQUVELElBQVcsZ0JBQWdCO1FBQ3pCLE9BQU8sSUFBSSxDQUFBO0lBQ2IsQ0FBQztJQUVEOzs7O2dGQUk0RTtJQUVyRSxLQUFLLENBQUMsT0FBc0I7UUFDakMsSUFBSSxDQUFDLFFBQVEsRUFBRSxhQUFhLEVBQUUsS0FBSyxDQUFDLE9BQU8sQ0FBQyxDQUFBO0lBQzlDLENBQUM7SUFFTSxJQUFJO1FBQ1QsSUFBSSxDQUFDLFFBQVEsRUFBRSxhQUFhLEVBQUUsSUFBSSxFQUFFLENBQUE7SUFDdEMsQ0FBQztJQUVNLG1CQUFtQixDQUFDLEtBQWE7UUFDdEMsSUFBSSxLQUFLLEVBQUUsQ0FBQztZQUNWLElBQUksQ0FBQyxXQUFXLENBQUMsU0FBUyxDQUFDLEtBQUssQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFBO1FBQzFDLENBQUM7YUFBTSxDQUFDO1lBQ04sSUFBSSxDQUFDLFdBQVcsQ0FBQyxJQUFJLENBQUMsQ0FBQTtRQUN4QixDQUFDO0lBQ0gsQ0FBQztJQUVEOzs7O2dGQUk0RTtJQUVsRSxZQUFZLENBQUMsQ0FBWSxFQUFFLENBQVk7UUFDL0MsT0FBTyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFBO0lBQ3ZDLENBQUM7K0dBOUVVLDRCQUE0QjttR0FBNUIsNEJBQTRCLHNKQUo1QixDQUFDLEVBQUUsT0FBTyxFQUFFLG1CQUFtQixFQUFFLFdBQVcsRUFBRSw0QkFBNEIsRUFBRSxDQUFDLG9KQzVCMUYscWRBZUEsMEREZVksUUFBUSxnVUFBRSxXQUFXLHUwQkFBRSxTQUFTLDZDQUFFLGVBQWU7OzRGQUVoRCw0QkFBNEI7a0JBVHhDLFNBQVM7K0JBQ0Usd0JBQXdCLG1CQUdqQix1QkFBdUIsQ0FBQyxNQUFNLGFBQ3BDLENBQUMsRUFBRSxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsV0FBVyw4QkFBOEIsRUFBRSxDQUFDLGNBQzVFLElBQUksV0FDUCxDQUFDLFFBQVEsRUFBRSxXQUFXLEVBQUUsU0FBUyxFQUFFLGVBQWUsQ0FBQzt3REFjckQsUUFBUTtzQkFEZCxTQUFTO3VCQUFDLE9BQU87Z0JBd0JQLGNBQWM7c0JBRHhCLE1BQU07Z0JBTUksUUFBUTtzQkFEbEIsS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gIENvbXBvbmVudCxcbiAgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksXG4gIE91dHB1dCxcbiAgSW5wdXQsXG4gIEVsZW1lbnRSZWYsXG4gIE5nWm9uZSxcbiAgT3B0aW9uYWwsXG4gIFNlbGYsXG4gIFZpZXdDaGlsZCxcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSdcbmltcG9ydCB7IExvZ2dlckZhY3RvcnkgfSBmcm9tICdAZWxkZXJieXRlL3RzLWxvZ2dlcidcbmltcG9ydCB7IExvY2FsVGltZSB9IGZyb20gJ0Bqcy1qb2RhL2NvcmUnXG5pbXBvcnQgeyBPYnNlcnZhYmxlIH0gZnJvbSAncnhqcydcbmltcG9ydCB7IG1hcCB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJ1xuaW1wb3J0IHsgRWxkZXJGb3JtRmllbGRDb250cm9sQmFzZSB9IGZyb20gJy4uLy4uLy4uL2NvbW1vbi9mb3Jtcy9lbGRlci1mb3JtLWZpZWxkLWNvbnRyb2wtYmFzZS5kaXJlY3RpdmUnXG5pbXBvcnQgeyBGb2N1c01vbml0b3IgfSBmcm9tICdAYW5ndWxhci9jZGsvYTExeSdcbmltcG9ydCB7IFRyYW5zbGF0ZVNlcnZpY2UsIFRyYW5zbGF0ZU1vZHVsZSB9IGZyb20gJ0BuZ3gtdHJhbnNsYXRlL2NvcmUnXG5pbXBvcnQgeyBOZ0NvbnRyb2wsIEZvcm1zTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnXG5pbXBvcnQgeyBNYXRGb3JtRmllbGRDb250cm9sIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvZm9ybS1maWVsZCdcbmltcG9ydCB7IEFzeW5jUGlwZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbidcbmltcG9ydCB7IE1hdElucHV0IH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvaW5wdXQnXG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2VsZGVyLWxvY2FsLXRpbWUtaW5wdXQnLFxuICB0ZW1wbGF0ZVVybDogJy4vZWxkZXItbG9jYWwtdGltZS1pbnB1dC5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsczogWycuL2VsZGVyLWxvY2FsLXRpbWUtaW5wdXQuY29tcG9uZW50LnNjc3MnXSxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gIHByb3ZpZGVyczogW3sgcHJvdmlkZTogTWF0Rm9ybUZpZWxkQ29udHJvbCwgdXNlRXhpc3Rpbmc6IEVsZGVyTG9jYWxUaW1lSW5wdXRDb21wb25lbnQgfV0sXG4gIHN0YW5kYWxvbmU6IHRydWUsXG4gIGltcG9ydHM6IFtNYXRJbnB1dCwgRm9ybXNNb2R1bGUsIEFzeW5jUGlwZSwgVHJhbnNsYXRlTW9kdWxlXSxcbn0pXG5leHBvcnQgY2xhc3MgRWxkZXJMb2NhbFRpbWVJbnB1dENvbXBvbmVudCBleHRlbmRzIEVsZGVyRm9ybUZpZWxkQ29udHJvbEJhc2U8TG9jYWxUaW1lPiB7XG4gIC8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKlxuICAgKiBGaWVsZHMgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqXG4gICAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpcbiAgICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuXG4gIHByaXZhdGUgcmVhZG9ubHkgbG9nZ2VyID0gTG9nZ2VyRmFjdG9yeS5nZXRMb2dnZXIodGhpcy5jb25zdHJ1Y3Rvci5uYW1lKVxuXG4gIHB1YmxpYyByZWFkb25seSBob3VyTWludXRlU3RyJDogT2JzZXJ2YWJsZTxzdHJpbmc+XG5cbiAgQFZpZXdDaGlsZCgnaW5wdXQnKVxuICBwdWJsaWMgaW5wdXRSZWY6IEVsZW1lbnRSZWY8SFRNTElucHV0RWxlbWVudD5cblxuICAvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpcbiAgICogQ29uc3RydWN0b3IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKlxuICAgKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqXG4gICAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cblxuICBjb25zdHJ1Y3RvcigpIHtcbiAgICBzdXBlcignbG9jYWwtdGltZS1pbnB1dCcpXG5cbiAgICB0aGlzLmhvdXJNaW51dGVTdHIkID0gdGhpcy52YWx1ZSQucGlwZShcbiAgICAgIG1hcCgobG9jYWxUaW1lKSA9PiAobG9jYWxUaW1lID8gbG9jYWxUaW1lLnRvSlNPTigpIDogbnVsbCkpXG4gICAgKVxuICB9XG5cbiAgLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqXG4gICAqIFByb3BlcnRpZXMgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpcbiAgICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKlxuICAgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG5cbiAgQE91dHB1dCgpXG4gIHB1YmxpYyBnZXQgaXNvVmFsdWVDaGFuZ2UoKTogT2JzZXJ2YWJsZTxzdHJpbmcgfCBudWxsPiB7XG4gICAgcmV0dXJuIHRoaXMudmFsdWVDaGFuZ2UucGlwZShtYXAoKHRpbWUpID0+ICh0aW1lID8gdGltZS50b0pTT04oKSA6IG51bGwpKSlcbiAgfVxuXG4gIEBJbnB1dCgpXG4gIHB1YmxpYyBzZXQgaXNvVmFsdWUodmFsdWU6IHN0cmluZyB8IG51bGwpIHtcbiAgICB0aGlzLnZhbHVlID0gdmFsdWUgPyBMb2NhbFRpbWUucGFyc2UodmFsdWUpIDogbnVsbFxuICB9XG5cbiAgcHVibGljIGdldCBzaG91bGRMYWJlbEZsb2F0KCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiB0cnVlXG4gIH1cblxuICAvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpcbiAgICogUHVibGljIG1ldGhvZHMgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKlxuICAgKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqXG4gICAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cblxuICBwdWJsaWMgZm9jdXMob3B0aW9ucz86IEZvY3VzT3B0aW9ucyk6IHZvaWQge1xuICAgIHRoaXMuaW5wdXRSZWY/Lm5hdGl2ZUVsZW1lbnQ/LmZvY3VzKG9wdGlvbnMpXG4gIH1cblxuICBwdWJsaWMgYmx1cigpOiB2b2lkIHtcbiAgICB0aGlzLmlucHV0UmVmPy5uYXRpdmVFbGVtZW50Py5ibHVyKClcbiAgfVxuXG4gIHB1YmxpYyBvbkhvdXJNaW51dGVDaGFuZ2VkKGV2ZW50OiBzdHJpbmcpOiB2b2lkIHtcbiAgICBpZiAoZXZlbnQpIHtcbiAgICAgIHRoaXMudXBkYXRlVmFsdWUoTG9jYWxUaW1lLnBhcnNlKGV2ZW50KSlcbiAgICB9IGVsc2Uge1xuICAgICAgdGhpcy51cGRhdGVWYWx1ZShudWxsKVxuICAgIH1cbiAgfVxuXG4gIC8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKlxuICAgKiBQcml2YXRlIG1ldGhvZHMgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqXG4gICAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpcbiAgICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuXG4gIHByb3RlY3RlZCB2YWx1ZXNFcXVhbHMoYTogTG9jYWxUaW1lLCBiOiBMb2NhbFRpbWUpOiBib29sZWFuIHtcbiAgICByZXR1cm4gYSAmJiBiID8gYS5lcXVhbHMoYikgOiBhID09PSBiXG4gIH1cbn1cbiIsIjxkaXYgY2xhc3M9XCJsYXlvdXQtcm93IHBsYWNlLXN0YXJ0LWJhc2VsaW5lIGVsZGVyLWZsZXgtY29udHJvbFwiPlxuICA8aW5wdXRcbiAgICBtYXRJbnB1dFxuICAgIGNsYXNzPVwiZmxleC1ncm93IGVsZGVyLW1kYy1pbnB1dC1maXhcIlxuICAgICNpbnB1dFxuICAgIFtuYW1lXT1cIm5nQ29udHJvbD8ubmFtZSArICctaW5uZXItaW5wdXQnXCJcbiAgICBbcGxhY2Vob2xkZXJdPVwicGxhY2Vob2xkZXJTKCkgfCB0cmFuc2xhdGVcIlxuICAgIHR5cGU9XCJ0aW1lXCJcbiAgICBbcmVxdWlyZWRdPVwiISFyZXF1aXJlZFwiXG4gICAgW3JlYWRvbmx5XT1cInJlYWRvbmx5XCJcbiAgICBbZGlzYWJsZWRdPVwiISFkaXNhYmxlZFwiXG4gICAgW25nTW9kZWxdPVwiaG91ck1pbnV0ZVN0ciQgfCBhc3luY1wiXG4gICAgKG5nTW9kZWxDaGFuZ2UpPVwib25Ib3VyTWludXRlQ2hhbmdlZCgkZXZlbnQpXCJcbiAgLz5cbjwvZGl2PlxuIl19
@@ -34,8 +34,8 @@ export { ElderIntervalPickerToggleComponent } from './elder-interval-picker/inte
34
34
  export { ElderIntervalPickerBindingDirective } from './elder-interval-picker/interval-picker-binding/elder-interval-picker-binding.directive';
35
35
  export { ToIsoDateStringPipe } from './pipes/to-iso-date-string.pipe';
36
36
  export class ElderTimeModule {
37
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.5", ngImport: i0, type: ElderTimeModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
38
- static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "18.2.5", ngImport: i0, type: ElderTimeModule, imports: [
37
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: ElderTimeModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
38
+ static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "18.2.13", ngImport: i0, type: ElderTimeModule, imports: [
39
39
  // common
40
40
  CommonModule,
41
41
  MatNativeDateModule,
@@ -74,7 +74,7 @@ export class ElderTimeModule {
74
74
  ElderIntervalPickerToggleComponent,
75
75
  ElderIntervalPickerBindingDirective,
76
76
  ToIsoDateStringPipe] }); }
77
- static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "18.2.5", ngImport: i0, type: ElderTimeModule, providers: [{ provide: DateAdapter, useClass: CustomDateAdapter }], imports: [
77
+ static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: ElderTimeModule, providers: [{ provide: DateAdapter, useClass: CustomDateAdapter }], imports: [
78
78
  // common
79
79
  CommonModule,
80
80
  MatNativeDateModule,
@@ -102,7 +102,7 @@ export class ElderTimeModule {
102
102
  ElderIntervalPickerComponent,
103
103
  ElderIntervalPickerToggleComponent] }); }
104
104
  }
105
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.5", ngImport: i0, type: ElderTimeModule, decorators: [{
105
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: ElderTimeModule, decorators: [{
106
106
  type: NgModule,
107
107
  args: [{
108
108
  imports: [
@@ -151,4 +151,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.5", ngImpor
151
151
  providers: [{ provide: DateAdapter, useClass: CustomDateAdapter }],
152
152
  }]
153
153
  }] });
154
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZWxkZXItdGltZS5tb2R1bGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9lbGRlcmJ5dGUvbmd4LXN0YXJ0ZXIvc3JjL2xpYi9jb21wb25lbnRzL3RpbWUvZWxkZXItdGltZS5tb2R1bGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLGVBQWUsQ0FBQTtBQUN4QyxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUE7QUFDOUMsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLDBCQUEwQixDQUFBO0FBQzFELE9BQU8sRUFBRSxXQUFXLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQTtBQUN6RSxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSw4QkFBOEIsQ0FBQTtBQUNsRSxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sd0JBQXdCLENBQUE7QUFDdEQsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLHlCQUF5QixDQUFBO0FBQ3hELE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLDJCQUEyQixDQUFBO0FBQzVELE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQTtBQUM1QyxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0scUJBQXFCLENBQUE7QUFDckQsT0FBTyxFQUFFLDBCQUEwQixFQUFFLE1BQU0scURBQXFELENBQUE7QUFDaEcsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0scUNBQXFDLENBQUE7QUFDdkUsT0FBTyxFQUFFLDJCQUEyQixFQUFFLE1BQU0sdURBQXVELENBQUE7QUFDbkcsT0FBTyxFQUFFLDJCQUEyQixFQUFFLE1BQU0seURBQXlELENBQUE7QUFDckcsT0FBTyxFQUFFLDRCQUE0QixFQUFFLE1BQU0sMkRBQTJELENBQUE7QUFDeEcsT0FBTyxFQUFFLDRCQUE0QixFQUFFLE1BQU0sMkRBQTJE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QUNaLG1CQUFtQjt3QkFDbkIsUUFBUTt3QkFDUixXQUFXO3dCQUNYLGdCQUFnQjt3QkFDaEIsY0FBYzt3QkFDZCxtQkFBbUI7d0JBQ25CLHVCQUF1Qjt3QkFDdkIsZUFBZTt3QkFDZixhQUFhO3dCQUNiLGtCQUFrQjt3QkFDbEIsZ0JBQWdCO3dCQUNoQixnQkFBZ0I7d0JBQ2hCLGVBQWU7d0JBQ2YsZUFBZTt3QkFDZiwwQkFBMEI7d0JBQzFCLDBCQUEwQjt3QkFDMUIsMkJBQTJCO3dCQUMzQiwyQkFBMkI7d0JBQzNCLDRCQUE0Qjt3QkFDNUIsNEJBQTRCO3dCQUM1QiwyQkFBMkI7d0JBQzNCLHlCQUF5Qjt3QkFDekIsNEJBQTRCO3dCQUM1QixrQ0FBa0M7d0JBQ2xDLG1DQUFtQzt3QkFDbkMsbUJBQW1CO3FCQUNwQjtvQkFDRCxPQUFPLEVBQUU7d0JBQ1AsMEJBQTBCO3dCQUMxQiwyQkFBMkI7d0JBQzNCLDJCQUEyQjt3QkFDM0IsNEJBQTRCO3dCQUM1Qiw0QkFBNEI7d0JBQzVCLDJCQUEyQjt3QkFDM0IseUJBQXlCO3dCQUN6Qiw0QkFBNEI7d0JBQzVCLGtDQUFrQzt3QkFDbEMsbUNBQW1DO3dCQUNuQyxtQkFBbUI7cUJBQ3BCO29CQUNELFNBQVMsRUFBRSxDQUFDLEVBQUUsT0FBTyxFQUFFLFdBQVcsRUFBRSxRQUFRLEVBQUUsaUJBQWlCLEVBQUUsQ0FBQztpQkFDbkUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBOZ01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnXG5pbXBvcnQgeyBDb21tb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24nXG5pbXBvcnQgeyBNYXRCdXR0b25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9idXR0b24nXG5pbXBvcnQgeyBEYXRlQWRhcHRlciwgTWF0TmF0aXZlRGF0ZU1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2NvcmUnXG5pbXBvcnQgeyBNYXREYXRlcGlja2VyTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvZGF0ZXBpY2tlcidcbmltcG9ydCB7IE1hdEljb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9pY29uJ1xuaW1wb3J0IHsgTWF0SW5wdXRNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9pbnB1dCdcbmltcG9ydCB7IE1hdFRvb2x0aXBNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC90b29sdGlwJ1xuaW1wb3J0IHsgRm9ybXNNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9mb3JtcydcbmltcG9ydCB7IFRyYW5zbGF0ZU1vZHVsZSB9IGZyb20gJ0BuZ3gtdHJhbnNsYXRlL2NvcmUnXG5pbXBvcnQgeyBFbGRlckRhdGVTd2l0Y2hlckNvbXBvbmVudCB9IGZyb20gJy4vZWxkZXItZGF0ZS1zd2l0Y2hlci9lbGRlci1kYXRlLXN3aXRjaGVyLmNvbXBvbmVudCdcbmltcG9ydCB7IEN1c3RvbURhdGVBZGFwdGVyIH0gZnJvbSAnLi9kYXRlLWFkYXB0ZXJzL2N1c3RvbS1kYXRlLWFkYXB0ZXInXG5pbXBvcnQgeyBFbGRlckludGVydmFsSW5wdXRDb21wb25lbnQgfSBmcm9tICcuL2VsZGVyLWludGVydmFsLWlucHV0L2VsZGVyLWludGVydmFsLWlucHV0LmNvbXBvbmVudCdcbmltcG9ydCB7IEVsZGVyRGF0ZVRpbWVJbnB1dENvbXBvbmVudCB9IGZyb20gJy4vZWxkZXItZGF0ZS10aW1lLWlucHV0L2VsZGVyLWRhdGUtdGltZS1pbnB1dC5jb21wb25lbnQnXG5pbXBvcnQgeyBFbGRlckxvY2FsVGltZUlucHV0Q29tcG9uZW50IH0gZnJvbSAnLi9lbGRlci1sb2NhbC10aW1lLWlucHV0L2VsZGVyLWxvY2FsLXRpbWUtaW5wdXQuY29tcG9uZW50J1xuaW1wb3J0IHsgRWxkZXJMb2NhbERhdGVJbnB1dENvbXBvbmVudCB9IGZyb20gJy4vZWxkZXItbG9jYWwtZGF0ZS1pbnB1dC9lbGRlci1sb2NhbC1kYXRlLWlucHV0LmNvbXBvbmVudCdcbmltcG9ydCB7IEVsZGVyRHVyYXRpb25JbnB1dENvbXBvbmVudCB9IGZyb20gJy4vZHVyYXRpb24vZWxkZXItZHVyYXRpb24taW5wdXQvZWxkZXItZHVyYXRpb24taW5wdXQuY29tcG9uZW50J1xuaW1wb3J0IHsgRWxkZXJGb3Jtc0RpcmVjdGl2ZXNNb2R1bGUgfSBmcm9tICcuLi9mb3Jtcy9kaXJlY3RpdmVzL2VsZGVyLWZvcm1zLWRpcmVjdGl2ZXMubW9kdWxlJ1xuaW1wb3J0IHsgRWxkZXJQZXJpb2RJbnB1dENvbXBvbmVudCB9IGZyb20gJy4vcGVyaW9kL2VsZGVyLXBlcmlvZC1pbnB1dC9lbGRlci1wZXJpb2QtaW5wdXQuY29tcG9uZW50J1xuaW1wb3J0IHsgVG9Jc29EYXRlU3RyaW5nUGlwZSB9IGZyb20gJy4vcGlwZXMvdG8taXNvLWRhdGUtc3RyaW5nLnBpcGUnXG5pbXBvcnQgeyBFbGRlckludGVydmFsUGlja2VyQ29tcG9uZW50IH0gZnJvbSAnLi9lbGRlci1pbnRlcnZhbC1waWNrZXIvZWxkZXItaW50ZXJ2YWwtcGlja2VyLmNvbXBvbmVudCdcbmltcG9ydCB7IEVsZGVySW50ZXJ2YWxQaWNrZXJUb2dnbGVDb21wb25lbnQgfSBmcm9tICcuL2VsZGVyLWludGVydmFsLXBpY2tlci9pbnRlcnZhbC1waWNrZXItdG9nZ2xlL2VsZGVyLWludGVydmFsLXBpY2tlci10b2dnbGUuY29tcG9uZW50J1xuaW1wb3J0IHsgRWxkZXJJbnRlcnZhbFBpY2tlckJpbmRpbmdEaXJlY3RpdmUgfSBmcm9tICcuL2VsZGVyLWludGVydmFsLXBpY2tlci9pbnRlcnZhbC1waWNrZXItYmluZGluZy9lbGRlci1pbnRlcnZhbC1waWNrZXItYmluZGluZy5kaXJlY3RpdmUnXG5cbmV4cG9ydCB7IEVsZGVyRGF0ZVN3aXRjaGVyQ29tcG9uZW50IH0gZnJvbSAnLi9lbGRlci1kYXRlLXN3aXRjaGVyL2VsZGVyLWRhdGUtc3dpdGNoZXIuY29tcG9uZW50J1xuZXhwb3J0IHsgRWxkZXJJbnRlcnZhbElucHV0Q29tcG9uZW50IH0gZnJvbSAnLi9lbGRlci1pbnRlcnZhbC1pbnB1dC9lbGRlci1pbnRlcnZhbC1pbnB1dC5jb21wb25lbnQnXG5leHBvcnQgeyBFbGRlckRhdGVUaW1lSW5wdXRDb21wb25lbnQgfSBmcm9tICcuL2VsZGVyLWRhdGUtdGltZS1pbnB1dC9lbGRlci1kYXRlLXRpbWUtaW5wdXQuY29tcG9uZW50J1xuZXhwb3J0IHsgRWxkZXJMb2NhbFRpbWVJbnB1dENvbXBvbmVudCB9IGZyb20gJy4vZWxkZXItbG9jYWwtdGltZS1pbnB1dC9lbGRlci1sb2NhbC10aW1lLWlucHV0LmNvbXBvbmVudCdcbmV4cG9ydCB7IEVsZGVyTG9jYWxEYXRlSW5wdXRDb21wb25lbnQgfSBmcm9tICcuL2VsZGVyLWxvY2FsLWRhdGUtaW5wdXQvZWxkZXItbG9jYWwtZGF0ZS1pbnB1dC5jb21wb25lbnQnXG5leHBvcnQgeyBFbGRlckR1cmF0aW9uSW5wdXRDb21wb25lbnQgfSBmcm9tICcuL2R1cmF0aW9uL2VsZGVyLWR1cmF0aW9uLWlucHV0L2VsZGVyLWR1cmF0aW9uLWlucHV0LmNvbXBvbmVudCdcbmV4cG9ydCB7IEVsZGVyUGVyaW9kSW5wdXRDb21wb25lbnQgfSBmcm9tICcuL3BlcmlvZC9lbGRlci1wZXJpb2QtaW5wdXQvZWxkZXItcGVyaW9kLWlucHV0LmNvbXBvbmVudCdcbmV4cG9ydCB7IEVsZGVySW50ZXJ2YWxQaWNrZXJDb21wb25lbnQgfSBmcm9tICcuL2VsZGVyLWludGVydmFsLXBpY2tlci9lbGRlci1pbnRlcnZhbC1waWNrZXIuY29tcG9uZW50J1xuZXhwb3J0IHsgRWxkZXJJbnRlcnZhbFBpY2tlclRvZ2dsZUNvbXBvbmVudCB9IGZyb20gJy4vZWxkZXItaW50ZXJ2YWwtcGlja2VyL2ludGVydmFsLXBpY2tlci10b2dnbGUvZWxkZXItaW50ZXJ2YWwtcGlja2VyLXRvZ2dsZS5jb21wb25lbnQnXG5leHBvcnQgeyBFbGRlckludGVydmFsUGlja2VyQmluZGluZ0RpcmVjdGl2ZSB9IGZyb20gJy4vZWxkZXItaW50ZXJ2YWwtcGlja2VyL2ludGVydmFsLXBpY2tlci1iaW5kaW5nL2VsZGVyLWludGVydmFsLXBpY2tlci1iaW5kaW5nLmRpcmVjdGl2ZSdcbmV4cG9ydCB7IFRvSXNvRGF0ZVN0cmluZ1BpcGUgfSBmcm9tICcuL3BpcGVzL3RvLWlzby1kYXRlLXN0cmluZy5waXBlJ1xuXG5ATmdNb2R1bGUoe1xuICBpbXBvcnRzOiBbXG4gICAgLy8gY29tbW9uXG4gICAgQ29tbW9uTW9kdWxlLFxuICAgIE1hdE5hdGl2ZURhdGVNb2R1bGUsXG4gICAgLy8gZm9ybXNcbiAgICBGb3Jtc01vZHVsZSxcbiAgICAvLyBmb3JtIGNvbnRyb2xzXG4gICAgTWF0SW5wdXRNb2R1bGUsXG4gICAgTWF0RGF0ZXBpY2tlck1vZHVsZSxcbiAgICAvLyBidXR0b25zICYgaW5kaWNhdG9yc1xuICAgIE1hdEJ1dHRvbk1vZHVsZSxcbiAgICBNYXRJY29uTW9kdWxlLFxuICAgIC8vIHBvcHVwcyAmIG1vZGFsc1xuICAgIE1hdFRvb2x0aXBNb2R1bGUsXG4gICAgLy8gZGF0YSBtYXRUYWJsZVxuICAgIC8vIHRyYW5zbGF0aW9uc1xuICAgIFRyYW5zbGF0ZU1vZHVsZSxcbiAgICBFbGRlckZvcm1zRGlyZWN0aXZlc01vZHVsZSxcbiAgICBFbGRlckRhdGVTd2l0Y2hlckNvbXBvbmVudCxcbiAgICBFbGRlckludGVydmFsSW5wdXRDb21wb25lbnQsXG4gICAgRWxkZXJEYXRlVGltZUlucHV0Q29tcG9uZW50LFxuICAgIEVsZGVyTG9jYWxUaW1lSW5wdXRDb21wb25lbnQsXG4gICAgRWxkZXJMb2NhbERhdGVJbnB1dENvbXBvbmVudCxcbiAgICBFbGRlckR1cmF0aW9uSW5wdXRDb21wb25lbnQsXG4gICAgRWxkZXJQZXJpb2RJbnB1dENvbXBvbmVudCxcbiAgICBFbGRlckludGVydmFsUGlja2VyQ29tcG9uZW50LFxuICAgIEVsZGVySW50ZXJ2YWxQaWNrZXJUb2dnbGVDb21wb25lbnQsXG4gICAgRWxkZXJJbnRlcnZhbFBpY2tlckJpbmRpbmdEaXJlY3RpdmUsXG4gICAgVG9Jc29EYXRlU3RyaW5nUGlwZSxcbiAgXSxcbiAgZXhwb3J0czogW1xuICAgIEVsZGVyRGF0ZVN3aXRjaGVyQ29tcG9uZW50LFxuICAgIEVsZGVyRGF0ZVRpbWVJbnB1dENvbXBvbmVudCxcbiAgICBFbGRlckludGVydmFsSW5wdXRDb21wb25lbnQsXG4gICAgRWxkZXJMb2NhbFRpbWVJbnB1dENvbXBvbmVudCxcbiAgICBFbGRlckxvY2FsRGF0ZUlucHV0Q29tcG9uZW50LFxuICAgIEVsZGVyRHVyYXRpb25JbnB1dENvbXBvbmVudCxcbiAgICBFbGRlclBlcmlvZElucHV0Q29tcG9uZW50LFxuICAgIEVsZGVySW50ZXJ2YWxQaWNrZXJDb21wb25lbnQsXG4gICAgRWxkZXJJbnRlcnZhbFBpY2tlclRvZ2dsZUNvbXBvbmVudCxcbiAgICBFbGRlckludGVydmFsUGlja2VyQmluZGluZ0RpcmVjdGl2ZSxcbiAgICBUb0lzb0RhdGVTdHJpbmdQaXBlLFxuICBdLFxuICBwcm92aWRlcnM6IFt7IHByb3ZpZGU6IERhdGVBZGFwdGVyLCB1c2VDbGFzczogQ3VzdG9tRGF0ZUFkYXB0ZXIgfV0sXG59KVxuZXhwb3J0IGNsYXNzIEVsZGVyVGltZU1vZHVsZSB7fVxuIl19
154
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZWxkZXItdGltZS5tb2R1bGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9lbGRlcmJ5dGUvbmd4LXN0YXJ0ZXIvc3JjL2xpYi9jb21wb25lbnRzL3RpbWUvZWxkZXItdGltZS5tb2R1bGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLGVBQWUsQ0FBQTtBQUN4QyxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUE7QUFDOUMsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLDBCQUEwQixDQUFBO0FBQzFELE9BQU8sRUFBRSxXQUFXLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQTtBQUN6RSxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSw4QkFBOEIsQ0FBQTtBQUNsRSxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sd0JBQXdCLENBQUE7QUFDdEQsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLHlCQUF5QixDQUFBO0FBQ3hELE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLDJCQUEyQixDQUFBO0FBQzVELE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQTtBQUM1QyxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0scUJBQXFCLENBQUE7QUFDckQsT0FBTyxFQUFFLDBCQUEwQixFQUFFLE1BQU0scURBQXFELENBQUE7QUFDaEcsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0scUNBQXFDLENBQUE7QUFDdkUsT0FBTyxFQUFFLDJCQUEyQixFQUFFLE1BQU0sdURBQXVELENBQUE7QUFDbkcsT0FBTyxFQUFFLDJCQUEyQixFQUFFLE1BQU0seURBQXlELENBQUE7QUFDckcsT0FBTyxFQUFFLDRCQUE0QixFQUFFLE1BQU0sMkRBQTJELENBQUE7QUFDeEcsT0FBTyxFQUFFLDRCQUE0QixFQUFFLE1BQU0sMkRBQTJE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QUNaLG1CQUFtQjt3QkFDbkIsUUFBUTt3QkFDUixXQUFXO3dCQUNYLGdCQUFnQjt3QkFDaEIsY0FBYzt3QkFDZCxtQkFBbUI7d0JBQ25CLHVCQUF1Qjt3QkFDdkIsZUFBZTt3QkFDZixhQUFhO3dCQUNiLGtCQUFrQjt3QkFDbEIsZ0JBQWdCO3dCQUNoQixnQkFBZ0I7d0JBQ2hCLGVBQWU7d0JBQ2YsZUFBZTt3QkFDZiwwQkFBMEI7d0JBQzFCLDBCQUEwQjt3QkFDMUIsMkJBQTJCO3dCQUMzQiwyQkFBMkI7d0JBQzNCLDRCQUE0Qjt3QkFDNUIsNEJBQTRCO3dCQUM1QiwyQkFBMkI7d0JBQzNCLHlCQUF5Qjt3QkFDekIsNEJBQTRCO3dCQUM1QixrQ0FBa0M7d0JBQ2xDLG1DQUFtQzt3QkFDbkMsbUJBQW1CO3FCQUNwQjtvQkFDRCxPQUFPLEVBQUU7d0JBQ1AsMEJBQTBCO3dCQUMxQiwyQkFBMkI7d0JBQzNCLDJCQUEyQjt3QkFDM0IsNEJBQTRCO3dCQUM1Qiw0QkFBNEI7d0JBQzVCLDJCQUEyQjt3QkFDM0IseUJBQXlCO3dCQUN6Qiw0QkFBNEI7d0JBQzVCLGtDQUFrQzt3QkFDbEMsbUNBQW1DO3dCQUNuQyxtQkFBbUI7cUJBQ3BCO29CQUNELFNBQVMsRUFBRSxDQUFDLEVBQUUsT0FBTyxFQUFFLFdBQVcsRUFBRSxRQUFRLEVBQUUsaUJBQWlCLEVBQUUsQ0FBQztpQkFDbkUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBOZ01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnXG5pbXBvcnQgeyBDb21tb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24nXG5pbXBvcnQgeyBNYXRCdXR0b25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9idXR0b24nXG5pbXBvcnQgeyBEYXRlQWRhcHRlciwgTWF0TmF0aXZlRGF0ZU1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2NvcmUnXG5pbXBvcnQgeyBNYXREYXRlcGlja2VyTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvZGF0ZXBpY2tlcidcbmltcG9ydCB7IE1hdEljb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9pY29uJ1xuaW1wb3J0IHsgTWF0SW5wdXRNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9pbnB1dCdcbmltcG9ydCB7IE1hdFRvb2x0aXBNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC90b29sdGlwJ1xuaW1wb3J0IHsgRm9ybXNNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9mb3JtcydcbmltcG9ydCB7IFRyYW5zbGF0ZU1vZHVsZSB9IGZyb20gJ0BuZ3gtdHJhbnNsYXRlL2NvcmUnXG5pbXBvcnQgeyBFbGRlckRhdGVTd2l0Y2hlckNvbXBvbmVudCB9IGZyb20gJy4vZWxkZXItZGF0ZS1zd2l0Y2hlci9lbGRlci1kYXRlLXN3aXRjaGVyLmNvbXBvbmVudCdcbmltcG9ydCB7IEN1c3RvbURhdGVBZGFwdGVyIH0gZnJvbSAnLi9kYXRlLWFkYXB0ZXJzL2N1c3RvbS1kYXRlLWFkYXB0ZXInXG5pbXBvcnQgeyBFbGRlckludGVydmFsSW5wdXRDb21wb25lbnQgfSBmcm9tICcuL2VsZGVyLWludGVydmFsLWlucHV0L2VsZGVyLWludGVydmFsLWlucHV0LmNvbXBvbmVudCdcbmltcG9ydCB7IEVsZGVyRGF0ZVRpbWVJbnB1dENvbXBvbmVudCB9IGZyb20gJy4vZWxkZXItZGF0ZS10aW1lLWlucHV0L2VsZGVyLWRhdGUtdGltZS1pbnB1dC5jb21wb25lbnQnXG5pbXBvcnQgeyBFbGRlckxvY2FsVGltZUlucHV0Q29tcG9uZW50IH0gZnJvbSAnLi9lbGRlci1sb2NhbC10aW1lLWlucHV0L2VsZGVyLWxvY2FsLXRpbWUtaW5wdXQuY29tcG9uZW50J1xuaW1wb3J0IHsgRWxkZXJMb2NhbERhdGVJbnB1dENvbXBvbmVudCB9IGZyb20gJy4vZWxkZXItbG9jYWwtZGF0ZS1pbnB1dC9lbGRlci1sb2NhbC1kYXRlLWlucHV0LmNvbXBvbmVudCdcbmltcG9ydCB7IEVsZGVyRHVyYXRpb25JbnB1dENvbXBvbmVudCB9IGZyb20gJy4vZHVyYXRpb24vZWxkZXItZHVyYXRpb24taW5wdXQvZWxkZXItZHVyYXRpb24taW5wdXQuY29tcG9uZW50J1xuaW1wb3J0IHsgRWxkZXJGb3Jtc0RpcmVjdGl2ZXNNb2R1bGUgfSBmcm9tICcuLi9mb3Jtcy9kaXJlY3RpdmVzL2VsZGVyLWZvcm1zLWRpcmVjdGl2ZXMubW9kdWxlJ1xuaW1wb3J0IHsgRWxkZXJQZXJpb2RJbnB1dENvbXBvbmVudCB9IGZyb20gJy4vcGVyaW9kL2VsZGVyLXBlcmlvZC1pbnB1dC9lbGRlci1wZXJpb2QtaW5wdXQuY29tcG9uZW50J1xuaW1wb3J0IHsgVG9Jc29EYXRlU3RyaW5nUGlwZSB9IGZyb20gJy4vcGlwZXMvdG8taXNvLWRhdGUtc3RyaW5nLnBpcGUnXG5pbXBvcnQgeyBFbGRlckludGVydmFsUGlja2VyQ29tcG9uZW50IH0gZnJvbSAnLi9lbGRlci1pbnRlcnZhbC1waWNrZXIvZWxkZXItaW50ZXJ2YWwtcGlja2VyLmNvbXBvbmVudCdcbmltcG9ydCB7IEVsZGVySW50ZXJ2YWxQaWNrZXJUb2dnbGVDb21wb25lbnQgfSBmcm9tICcuL2VsZGVyLWludGVydmFsLXBpY2tlci9pbnRlcnZhbC1waWNrZXItdG9nZ2xlL2VsZGVyLWludGVydmFsLXBpY2tlci10b2dnbGUuY29tcG9uZW50J1xuaW1wb3J0IHsgRWxkZXJJbnRlcnZhbFBpY2tlckJpbmRpbmdEaXJlY3RpdmUgfSBmcm9tICcuL2VsZGVyLWludGVydmFsLXBpY2tlci9pbnRlcnZhbC1waWNrZXItYmluZGluZy9lbGRlci1pbnRlcnZhbC1waWNrZXItYmluZGluZy5kaXJlY3RpdmUnXG5cbmV4cG9ydCB7IEVsZGVyRGF0ZVN3aXRjaGVyQ29tcG9uZW50IH0gZnJvbSAnLi9lbGRlci1kYXRlLXN3aXRjaGVyL2VsZGVyLWRhdGUtc3dpdGNoZXIuY29tcG9uZW50J1xuZXhwb3J0IHsgRWxkZXJJbnRlcnZhbElucHV0Q29tcG9uZW50IH0gZnJvbSAnLi9lbGRlci1pbnRlcnZhbC1pbnB1dC9lbGRlci1pbnRlcnZhbC1pbnB1dC5jb21wb25lbnQnXG5leHBvcnQgeyBFbGRlckRhdGVUaW1lSW5wdXRDb21wb25lbnQgfSBmcm9tICcuL2VsZGVyLWRhdGUtdGltZS1pbnB1dC9lbGRlci1kYXRlLXRpbWUtaW5wdXQuY29tcG9uZW50J1xuZXhwb3J0IHsgRWxkZXJMb2NhbFRpbWVJbnB1dENvbXBvbmVudCB9IGZyb20gJy4vZWxkZXItbG9jYWwtdGltZS1pbnB1dC9lbGRlci1sb2NhbC10aW1lLWlucHV0LmNvbXBvbmVudCdcbmV4cG9ydCB7IEVsZGVyTG9jYWxEYXRlSW5wdXRDb21wb25lbnQgfSBmcm9tICcuL2VsZGVyLWxvY2FsLWRhdGUtaW5wdXQvZWxkZXItbG9jYWwtZGF0ZS1pbnB1dC5jb21wb25lbnQnXG5leHBvcnQgeyBFbGRlckR1cmF0aW9uSW5wdXRDb21wb25lbnQgfSBmcm9tICcuL2R1cmF0aW9uL2VsZGVyLWR1cmF0aW9uLWlucHV0L2VsZGVyLWR1cmF0aW9uLWlucHV0LmNvbXBvbmVudCdcbmV4cG9ydCB7IEVsZGVyUGVyaW9kSW5wdXRDb21wb25lbnQgfSBmcm9tICcuL3BlcmlvZC9lbGRlci1wZXJpb2QtaW5wdXQvZWxkZXItcGVyaW9kLWlucHV0LmNvbXBvbmVudCdcbmV4cG9ydCB7IEVsZGVySW50ZXJ2YWxQaWNrZXJDb21wb25lbnQgfSBmcm9tICcuL2VsZGVyLWludGVydmFsLXBpY2tlci9lbGRlci1pbnRlcnZhbC1waWNrZXIuY29tcG9uZW50J1xuZXhwb3J0IHsgRWxkZXJJbnRlcnZhbFBpY2tlclRvZ2dsZUNvbXBvbmVudCB9IGZyb20gJy4vZWxkZXItaW50ZXJ2YWwtcGlja2VyL2ludGVydmFsLXBpY2tlci10b2dnbGUvZWxkZXItaW50ZXJ2YWwtcGlja2VyLXRvZ2dsZS5jb21wb25lbnQnXG5leHBvcnQgeyBFbGRlckludGVydmFsUGlja2VyQmluZGluZ0RpcmVjdGl2ZSB9IGZyb20gJy4vZWxkZXItaW50ZXJ2YWwtcGlja2VyL2ludGVydmFsLXBpY2tlci1iaW5kaW5nL2VsZGVyLWludGVydmFsLXBpY2tlci1iaW5kaW5nLmRpcmVjdGl2ZSdcbmV4cG9ydCB7IFRvSXNvRGF0ZVN0cmluZ1BpcGUgfSBmcm9tICcuL3BpcGVzL3RvLWlzby1kYXRlLXN0cmluZy5waXBlJ1xuXG5ATmdNb2R1bGUoe1xuICBpbXBvcnRzOiBbXG4gICAgLy8gY29tbW9uXG4gICAgQ29tbW9uTW9kdWxlLFxuICAgIE1hdE5hdGl2ZURhdGVNb2R1bGUsXG4gICAgLy8gZm9ybXNcbiAgICBGb3Jtc01vZHVsZSxcbiAgICAvLyBmb3JtIGNvbnRyb2xzXG4gICAgTWF0SW5wdXRNb2R1bGUsXG4gICAgTWF0RGF0ZXBpY2tlck1vZHVsZSxcbiAgICAvLyBidXR0b25zICYgaW5kaWNhdG9yc1xuICAgIE1hdEJ1dHRvbk1vZHVsZSxcbiAgICBNYXRJY29uTW9kdWxlLFxuICAgIC8vIHBvcHVwcyAmIG1vZGFsc1xuICAgIE1hdFRvb2x0aXBNb2R1bGUsXG4gICAgLy8gZGF0YSBtYXRUYWJsZVxuICAgIC8vIHRyYW5zbGF0aW9uc1xuICAgIFRyYW5zbGF0ZU1vZHVsZSxcbiAgICBFbGRlckZvcm1zRGlyZWN0aXZlc01vZHVsZSxcbiAgICBFbGRlckRhdGVTd2l0Y2hlckNvbXBvbmVudCxcbiAgICBFbGRlckludGVydmFsSW5wdXRDb21wb25lbnQsXG4gICAgRWxkZXJEYXRlVGltZUlucHV0Q29tcG9uZW50LFxuICAgIEVsZGVyTG9jYWxUaW1lSW5wdXRDb21wb25lbnQsXG4gICAgRWxkZXJMb2NhbERhdGVJbnB1dENvbXBvbmVudCxcbiAgICBFbGRlckR1cmF0aW9uSW5wdXRDb21wb25lbnQsXG4gICAgRWxkZXJQZXJpb2RJbnB1dENvbXBvbmVudCxcbiAgICBFbGRlckludGVydmFsUGlja2VyQ29tcG9uZW50LFxuICAgIEVsZGVySW50ZXJ2YWxQaWNrZXJUb2dnbGVDb21wb25lbnQsXG4gICAgRWxkZXJJbnRlcnZhbFBpY2tlckJpbmRpbmdEaXJlY3RpdmUsXG4gICAgVG9Jc29EYXRlU3RyaW5nUGlwZSxcbiAgXSxcbiAgZXhwb3J0czogW1xuICAgIEVsZGVyRGF0ZVN3aXRjaGVyQ29tcG9uZW50LFxuICAgIEVsZGVyRGF0ZVRpbWVJbnB1dENvbXBvbmVudCxcbiAgICBFbGRlckludGVydmFsSW5wdXRDb21wb25lbnQsXG4gICAgRWxkZXJMb2NhbFRpbWVJbnB1dENvbXBvbmVudCxcbiAgICBFbGRlckxvY2FsRGF0ZUlucHV0Q29tcG9uZW50LFxuICAgIEVsZGVyRHVyYXRpb25JbnB1dENvbXBvbmVudCxcbiAgICBFbGRlclBlcmlvZElucHV0Q29tcG9uZW50LFxuICAgIEVsZGVySW50ZXJ2YWxQaWNrZXJDb21wb25lbnQsXG4gICAgRWxkZXJJbnRlcnZhbFBpY2tlclRvZ2dsZUNvbXBvbmVudCxcbiAgICBFbGRlckludGVydmFsUGlja2VyQmluZGluZ0RpcmVjdGl2ZSxcbiAgICBUb0lzb0RhdGVTdHJpbmdQaXBlLFxuICBdLFxuICBwcm92aWRlcnM6IFt7IHByb3ZpZGU6IERhdGVBZGFwdGVyLCB1c2VDbGFzczogQ3VzdG9tRGF0ZUFkYXB0ZXIgfV0sXG59KVxuZXhwb3J0IGNsYXNzIEVsZGVyVGltZU1vZHVsZSB7fVxuIl19
@@ -1,4 +1,4 @@
1
- import { Component, ChangeDetectionStrategy, Output, Input, Optional, Self, } from '@angular/core';
1
+ import { Component, ChangeDetectionStrategy, Output, Input, } from '@angular/core';
2
2
  import { Period } from '@js-joda/core';
3
3
  import { LoggerFactory } from '@elderbyte/ts-logger';
4
4
  import { BehaviorSubject, combineLatest } from 'rxjs';
@@ -11,9 +11,7 @@ import { ElderFormFieldNoSpinnerDirective } from '../../../forms/directives/elde
11
11
  import { MatInput } from '@angular/material/input';
12
12
  import { NgIf, AsyncPipe } from '@angular/common';
13
13
  import * as i0 from "@angular/core";
14
- import * as i1 from "@angular/cdk/a11y";
15
- import * as i2 from "@ngx-translate/core";
16
- import * as i3 from "@angular/forms";
14
+ import * as i1 from "@angular/forms";
17
15
  class PeriodInputContext {
18
16
  constructor(bucket, format) {
19
17
  this.bucket = bucket;
@@ -34,9 +32,8 @@ export class ElderPeriodInputComponent extends ElderFormFieldControlBase {
34
32
  * Constructor *
35
33
  * *
36
34
  **************************************************************************/
37
- constructor(hostRef, zone, focusMonitor, translateService, ngControl) {
38
- super(hostRef, 'period-input', focusMonitor, translateService, ngControl);
39
- this.ngControl = ngControl;
35
+ constructor() {
36
+ super('period-input');
40
37
  /***************************************************************************
41
38
  * *
42
39
  * Fields *
@@ -103,17 +100,13 @@ export class ElderPeriodInputComponent extends ElderFormFieldControlBase {
103
100
  valuesEquals(a, b) {
104
101
  return a && b ? a.equals(b) : a === b;
105
102
  }
106
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.5", ngImport: i0, type: ElderPeriodInputComponent, deps: [{ token: i0.ElementRef }, { token: i0.NgZone }, { token: i1.FocusMonitor }, { token: i2.TranslateService }, { token: i3.NgControl, optional: true, self: true }], target: i0.ɵɵFactoryTarget.Component }); }
107
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.5", type: ElderPeriodInputComponent, isStandalone: true, selector: "elder-period-input", inputs: { isoValue: "isoValue", format: "format", periodFormat: "periodFormat" }, outputs: { isoValueChange: "isoValueChange" }, providers: [{ provide: MatFormFieldControl, useExisting: ElderPeriodInputComponent }], usesInheritance: true, ngImport: i0, template: "<div class=\"layout-row place-start-center flex-none\" *ngIf=\"periodContext$ | async as periodCtx\">\n <div class=\"layout-row place-start-baseline flex period-field\" *ngIf=\"periodCtx.format.days\">\n <input\n matInput\n elderNoSpinner\n [name]=\"ngControl?.name + '-inner-days'\"\n type=\"number\"\n class=\"period-input\"\n [required]=\"!!required\"\n [readonly]=\"readonly\"\n [disabled]=\"!!disabled\"\n [ngModel]=\"round(periodCtx?.bucket?.days)\"\n (ngModelChange)=\"onBucketChanged(periodCtx.bucket.withDays($event))\"\n />\n <span matSuffix class=\"mat-caption suffix flex-none noselect\">d</span>\n </div>\n\n <div class=\"layout-row place-start-baseline flex period-field\" *ngIf=\"periodCtx.format.months\">\n <input\n matInput\n elderNoSpinner\n [name]=\"ngControl?.name + '-inner-months'\"\n type=\"number\"\n class=\"period-input\"\n [required]=\"!!required\"\n [readonly]=\"readonly\"\n [disabled]=\"!!disabled\"\n [ngModel]=\"round(periodCtx?.bucket?.months)\"\n (ngModelChange)=\"onBucketChanged(periodCtx.bucket.withMonths($event))\"\n />\n <span matSuffix class=\"mat-caption suffix flex-none noselect\">mnt</span>\n </div>\n\n <div class=\"layout-row place-start-baseline flex period-field\" *ngIf=\"periodCtx.format.years\">\n <input\n matInput\n elderNoSpinner\n [name]=\"ngControl?.name + '-inner-years'\"\n type=\"number\"\n class=\"period-input\"\n [required]=\"!!required\"\n [readonly]=\"readonly\"\n [disabled]=\"!!disabled\"\n [ngModel]=\"round(periodCtx?.bucket?.years)\"\n (ngModelChange)=\"onBucketChanged(periodCtx.bucket.withYears($event))\"\n />\n <span matSuffix class=\"mat-caption suffix flex-none noselect\">yrs</span>\n </div>\n</div>\n", styles: [".suffix{opacity:.7}.period-input{text-align:right}input.period-input::-webkit-outer-spin-button,input.period-input::-webkit-inner-spin-button{display:none}input.period-input{-moz-appearance:textfield}\n"], dependencies: [{ kind: "directive", type: NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: MatInput, selector: "input[matInput], textarea[matInput], select[matNativeControl], input[matNativeControl], textarea[matNativeControl]", inputs: ["disabled", "id", "placeholder", "name", "required", "type", "errorStateMatcher", "aria-describedby", "value", "readonly"], exportAs: ["matInput"] }, { kind: "directive", type: ElderFormFieldNoSpinnerDirective, selector: "input[elderNoSpinner]", inputs: ["elderNoSpinner"] }, { kind: "ngmodule", type: FormsModule }, { kind: "directive", type: i3.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i3.NumberValueAccessor, selector: "input[type=number][formControlName],input[type=number][formControl],input[type=number][ngModel]" }, { kind: "directive", type: i3.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i3.RequiredValidator, selector: ":not([type=checkbox])[required][formControlName],:not([type=checkbox])[required][formControl],:not([type=checkbox])[required][ngModel]", inputs: ["required"] }, { kind: "directive", type: i3.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "directive", type: MatSuffix, selector: "[matSuffix], [matIconSuffix], [matTextSuffix]", inputs: ["matTextSuffix"] }, { kind: "pipe", type: AsyncPipe, name: "async" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
103
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: ElderPeriodInputComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
104
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.13", type: ElderPeriodInputComponent, isStandalone: true, selector: "elder-period-input", inputs: { isoValue: "isoValue", format: "format", periodFormat: "periodFormat" }, outputs: { isoValueChange: "isoValueChange" }, providers: [{ provide: MatFormFieldControl, useExisting: ElderPeriodInputComponent }], usesInheritance: true, ngImport: i0, template: "<div class=\"layout-row place-start-center flex-none\" *ngIf=\"periodContext$ | async as periodCtx\">\n <div class=\"layout-row place-start-baseline flex period-field\" *ngIf=\"periodCtx.format.days\">\n <input\n matInput\n elderNoSpinner\n [name]=\"ngControl?.name + '-inner-days'\"\n type=\"number\"\n class=\"period-input\"\n [required]=\"!!required\"\n [readonly]=\"readonly\"\n [disabled]=\"!!disabled\"\n [ngModel]=\"round(periodCtx?.bucket?.days)\"\n (ngModelChange)=\"onBucketChanged(periodCtx.bucket.withDays($event))\"\n />\n <span matSuffix class=\"mat-caption suffix flex-none noselect\">d</span>\n </div>\n\n <div class=\"layout-row place-start-baseline flex period-field\" *ngIf=\"periodCtx.format.months\">\n <input\n matInput\n elderNoSpinner\n [name]=\"ngControl?.name + '-inner-months'\"\n type=\"number\"\n class=\"period-input\"\n [required]=\"!!required\"\n [readonly]=\"readonly\"\n [disabled]=\"!!disabled\"\n [ngModel]=\"round(periodCtx?.bucket?.months)\"\n (ngModelChange)=\"onBucketChanged(periodCtx.bucket.withMonths($event))\"\n />\n <span matSuffix class=\"mat-caption suffix flex-none noselect\">mnt</span>\n </div>\n\n <div class=\"layout-row place-start-baseline flex period-field\" *ngIf=\"periodCtx.format.years\">\n <input\n matInput\n elderNoSpinner\n [name]=\"ngControl?.name + '-inner-years'\"\n type=\"number\"\n class=\"period-input\"\n [required]=\"!!required\"\n [readonly]=\"readonly\"\n [disabled]=\"!!disabled\"\n [ngModel]=\"round(periodCtx?.bucket?.years)\"\n (ngModelChange)=\"onBucketChanged(periodCtx.bucket.withYears($event))\"\n />\n <span matSuffix class=\"mat-caption suffix flex-none noselect\">yrs</span>\n </div>\n</div>\n", styles: [".suffix{opacity:.7}.period-input{text-align:right}input.period-input::-webkit-outer-spin-button,input.period-input::-webkit-inner-spin-button{display:none}input.period-input{-moz-appearance:textfield}\n"], dependencies: [{ kind: "directive", type: NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: MatInput, selector: "input[matInput], textarea[matInput], select[matNativeControl], input[matNativeControl], textarea[matNativeControl]", inputs: ["disabled", "id", "placeholder", "name", "required", "type", "errorStateMatcher", "aria-describedby", "value", "readonly"], exportAs: ["matInput"] }, { kind: "directive", type: ElderFormFieldNoSpinnerDirective, selector: "input[elderNoSpinner]", inputs: ["elderNoSpinner"] }, { kind: "ngmodule", type: FormsModule }, { kind: "directive", type: i1.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i1.NumberValueAccessor, selector: "input[type=number][formControlName],input[type=number][formControl],input[type=number][ngModel]" }, { kind: "directive", type: i1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1.RequiredValidator, selector: ":not([type=checkbox])[required][formControlName],:not([type=checkbox])[required][formControl],:not([type=checkbox])[required][ngModel]", inputs: ["required"] }, { kind: "directive", type: i1.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "directive", type: MatSuffix, selector: "[matSuffix], [matIconSuffix], [matTextSuffix]", inputs: ["matTextSuffix"] }, { kind: "pipe", type: AsyncPipe, name: "async" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
108
105
  }
109
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.5", ngImport: i0, type: ElderPeriodInputComponent, decorators: [{
106
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: ElderPeriodInputComponent, decorators: [{
110
107
  type: Component,
111
108
  args: [{ selector: 'elder-period-input', changeDetection: ChangeDetectionStrategy.OnPush, providers: [{ provide: MatFormFieldControl, useExisting: ElderPeriodInputComponent }], standalone: true, imports: [NgIf, MatInput, ElderFormFieldNoSpinnerDirective, FormsModule, MatSuffix, AsyncPipe], template: "<div class=\"layout-row place-start-center flex-none\" *ngIf=\"periodContext$ | async as periodCtx\">\n <div class=\"layout-row place-start-baseline flex period-field\" *ngIf=\"periodCtx.format.days\">\n <input\n matInput\n elderNoSpinner\n [name]=\"ngControl?.name + '-inner-days'\"\n type=\"number\"\n class=\"period-input\"\n [required]=\"!!required\"\n [readonly]=\"readonly\"\n [disabled]=\"!!disabled\"\n [ngModel]=\"round(periodCtx?.bucket?.days)\"\n (ngModelChange)=\"onBucketChanged(periodCtx.bucket.withDays($event))\"\n />\n <span matSuffix class=\"mat-caption suffix flex-none noselect\">d</span>\n </div>\n\n <div class=\"layout-row place-start-baseline flex period-field\" *ngIf=\"periodCtx.format.months\">\n <input\n matInput\n elderNoSpinner\n [name]=\"ngControl?.name + '-inner-months'\"\n type=\"number\"\n class=\"period-input\"\n [required]=\"!!required\"\n [readonly]=\"readonly\"\n [disabled]=\"!!disabled\"\n [ngModel]=\"round(periodCtx?.bucket?.months)\"\n (ngModelChange)=\"onBucketChanged(periodCtx.bucket.withMonths($event))\"\n />\n <span matSuffix class=\"mat-caption suffix flex-none noselect\">mnt</span>\n </div>\n\n <div class=\"layout-row place-start-baseline flex period-field\" *ngIf=\"periodCtx.format.years\">\n <input\n matInput\n elderNoSpinner\n [name]=\"ngControl?.name + '-inner-years'\"\n type=\"number\"\n class=\"period-input\"\n [required]=\"!!required\"\n [readonly]=\"readonly\"\n [disabled]=\"!!disabled\"\n [ngModel]=\"round(periodCtx?.bucket?.years)\"\n (ngModelChange)=\"onBucketChanged(periodCtx.bucket.withYears($event))\"\n />\n <span matSuffix class=\"mat-caption suffix flex-none noselect\">yrs</span>\n </div>\n</div>\n", styles: [".suffix{opacity:.7}.period-input{text-align:right}input.period-input::-webkit-outer-spin-button,input.period-input::-webkit-inner-spin-button{display:none}input.period-input{-moz-appearance:textfield}\n"] }]
112
- }], ctorParameters: () => [{ type: i0.ElementRef }, { type: i0.NgZone }, { type: i1.FocusMonitor }, { type: i2.TranslateService }, { type: i3.NgControl, decorators: [{
113
- type: Optional
114
- }, {
115
- type: Self
116
- }] }], propDecorators: { isoValueChange: [{
109
+ }], ctorParameters: () => [], propDecorators: { isoValueChange: [{
117
110
  type: Output
118
111
  }], isoValue: [{
119
112
  type: Input
@@ -122,4 +115,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.5", ngImpor
122
115
  }], periodFormat: [{
123
116
  type: Input
124
117
  }] } });
125
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZWxkZXItcGVyaW9kLWlucHV0LmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2VsZGVyYnl0ZS9uZ3gtc3RhcnRlci9zcmMvbGliL2NvbXBvbmVudHMvdGltZS9wZXJpb2QvZWxkZXItcGVyaW9kLWlucHV0L2VsZGVyLXBlcmlvZC1pbnB1dC5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9lbGRlcmJ5dGUvbmd4LXN0YXJ0ZXIvc3JjL2xpYi9jb21wb25lbnRzL3RpbWUvcGVyaW9kL2VsZGVyLXBlcmlvZC1pbnB1dC9lbGRlci1wZXJpb2QtaW5wdXQuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUNMLFNBQVMsRUFDVCx1QkFBdUIsRUFDdkIsTUFBTSxFQUNOLEtBQUssRUFHTCxRQUFRLEVBQ1IsSUFBSSxHQUNMLE1BQU0sZUFBZSxDQUFBO0FBQ3RCLE9BQU8sRUFBRSxNQUFNLEVBQUUsTUFBTSxlQUFlLENBQUE7QUFDdEMsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLHNCQUFzQixDQUFBO0FBQ3BELE9BQU8sRUFBRSxlQUFlLEVBQUUsYUFBYSxFQUFjLE1BQU0sTUFBTSxDQUFBO0FBQ2pFLE9BQU8sRUFBRSxHQUFHLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQTtBQUNwQyxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sa0JBQWtCLENBQUE7QUFFL0MsT0FBTyxFQUFFLHlCQUF5QixFQUFFLE1BQU0sa0VBQWtFLENBQUE7QUFDNUcsT0FBTyxFQUFFLG1CQUFtQixFQUFFLFNBQVMsRUFBRSxNQUFNLDhCQUE4QixDQUFBO0FBRzdFLE9BQU8sRUFBYSxXQUFXLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQTtBQUN2RCxPQUFPLEVBQUUsZ0NBQWdDLEVBQUUsTUFBTSxpRUFBaUUsQ0FBQTtBQUNsSCxP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QztJQUVEOzs7O2dGQUk0RTtJQUVsRSxZQUFZLENBQUMsQ0FBUyxFQUFFLENBQVM7UUFDekMsT0FBTyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFBO0lBQ3ZDLENBQUM7OEdBeEdVLHlCQUF5QjtrR0FBekIseUJBQXlCLGtNQUp6QixDQUFDLEVBQUUsT0FBTyxFQUFFLG1CQUFtQixFQUFFLFdBQVcsRUFBRSx5QkFBeUIsRUFBRSxDQUFDLGlEQzdDdkYsdzBEQWlEQSxvUURGWSxJQUFJLDZGQUFFLFFBQVEsaVVBQUUsZ0NBQWdDLDZGQUFFLFdBQVcsOCtCQUFFLFNBQVMsZ0hBQUUsU0FBUzs7MkZBRWxGLHlCQUF5QjtrQkFUckMsU0FBUzsrQkFDRSxvQkFBb0IsbUJBR2IsdUJBQXVCLENBQUMsTUFBTSxhQUNwQyxDQUFDLEVBQUUsT0FBTyxFQUFFLG1CQUFtQixFQUFFLFdBQVcsMkJBQTJCLEVBQUUsQ0FBQyxjQUN6RSxJQUFJLFdBQ1AsQ0FBQyxJQUFJLEVBQUUsUUFBUSxFQUFFLGdDQUFnQyxFQUFFLFdBQVcsRUFBRSxTQUFTLEVBQUUsU0FBUyxDQUFDOzswQkF5QjNGLFFBQVE7OzBCQUFJLElBQUk7eUNBb0JSLGNBQWM7c0JBRHhCLE1BQU07Z0JBTUksUUFBUTtzQkFEbEIsS0FBSztnQkFjSyxNQUFNO3NCQURoQixLQUFLO2dCQU1LLFlBQVk7c0JBRHRCLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICBDb21wb25lbnQsXG4gIENoYW5nZURldGVjdGlvblN0cmF0ZWd5LFxuICBPdXRwdXQsXG4gIElucHV0LFxuICBFbGVtZW50UmVmLFxuICBOZ1pvbmUsXG4gIE9wdGlvbmFsLFxuICBTZWxmLFxufSBmcm9tICdAYW5ndWxhci9jb3JlJ1xuaW1wb3J0IHsgUGVyaW9kIH0gZnJvbSAnQGpzLWpvZGEvY29yZSdcbmltcG9ydCB7IExvZ2dlckZhY3RvcnkgfSBmcm9tICdAZWxkZXJieXRlL3RzLWxvZ2dlcidcbmltcG9ydCB7IEJlaGF2aW9yU3ViamVjdCwgY29tYmluZUxhdGVzdCwgT2JzZXJ2YWJsZSB9IGZyb20gJ3J4anMnXG5pbXBvcnQgeyBtYXAgfSBmcm9tICdyeGpzL29wZXJhdG9ycydcbmltcG9ydCB7IFBlcmlvZEZvcm1hdCB9IGZyb20gJy4uL3BlcmlvZC1mb3JtYXQnXG5pbXBvcnQgeyBQZXJpb2RCdWNrZXQgfSBmcm9tICcuLi9wZXJpb2QtYnVja2V0J1xuaW1wb3J0IHsgRWxkZXJGb3JtRmllbGRDb250cm9sQmFzZSB9IGZyb20gJy4uLy4uLy4uLy4uL2NvbW1vbi9mb3Jtcy9lbGRlci1mb3JtLWZpZWxkLWNvbnRyb2wtYmFzZS5kaXJlY3RpdmUnXG5pbXBvcnQgeyBNYXRGb3JtRmllbGRDb250cm9sLCBNYXRTdWZmaXggfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9mb3JtLWZpZWxkJ1xuaW1wb3J0IHsgRm9jdXNNb25pdG9yIH0gZnJvbSAnQGFuZ3VsYXIvY2RrL2ExMXknXG5pbXBvcnQgeyBUcmFuc2xhdGVTZXJ2aWNlIH0gZnJvbSAnQG5neC10cmFuc2xhdGUvY29yZSdcbmltcG9ydCB7IE5nQ29udHJvbCwgRm9ybXNNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9mb3JtcydcbmltcG9ydCB7IEVsZGVyRm9ybUZpZWxkTm9TcGlubmVyRGlyZWN0aXZlIH0gZnJvbSAnLi4vLi4vLi4vZm9ybXMvZGlyZWN0aXZlcy9lbGRlci1mb3JtLWZpZWxkLW5vLXNwaW5uZXIuZGlyZWN0aXZlJ1xuaW1wb3J0IHsgTWF0SW5wdXQgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9pbnB1dCdcbmltcG9ydCB7IE5nSWYsIEFzeW5jUGlwZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbidcblxuY2xhc3MgUGVyaW9kSW5wdXRDb250ZXh0IHtcbiAgY29uc3RydWN0b3IoXG4gICAgcHVibGljIHJlYWRvbmx5IGJ1Y2tldDogUGVyaW9kQnVja2V0LFxuICAgIHB1YmxpYyByZWFkb25seSBmb3JtYXQ6IFBlcmlvZEZvcm1hdFxuICApIHt9XG59XG5cbi8qKlxuICpcbiAqIERheXNcbiAqIFdlZWtzXG4gKiBNb250aHNcbiAqIFllYXJzXG4gKlxuICovXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdlbGRlci1wZXJpb2QtaW5wdXQnLFxuICB0ZW1wbGF0ZVVybDogJy4vZWxkZXItcGVyaW9kLWlucHV0LmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJy4vZWxkZXItcGVyaW9kLWlucHV0LmNvbXBvbmVudC5zY3NzJ10sXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICBwcm92aWRlcnM6IFt7IHByb3ZpZGU6IE1hdEZvcm1GaWVsZENvbnRyb2wsIHVzZUV4aXN0aW5nOiBFbGRlclBlcmlvZElucHV0Q29tcG9uZW50IH1dLFxuICBzdGFuZGFsb25lOiB0cnVlLFxuICBpbXBvcnRzOiBbTmdJZiwgTWF0SW5wdXQsIEVsZGVyRm9ybUZpZWxkTm9TcGlubmVyRGlyZWN0aXZlLCBGb3Jtc01vZHVsZSwgTWF0U3VmZml4LCBBc3luY1BpcGVdLFxufSlcbmV4cG9ydCBjbGFzcyBFbGRlclBlcmlvZElucHV0Q29tcG9uZW50IGV4dGVuZHMgRWxkZXJGb3JtRmllbGRDb250cm9sQmFzZTxQZXJpb2Q+IHtcbiAgLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqXG4gICAqIEZpZWxkcyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpcbiAgICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKlxuICAgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG5cbiAgcHJpdmF0ZSByZWFkb25seSBsb2cgPSBMb2dnZXJGYWN0b3J5LmdldExvZ2dlcih0aGlzLmNvbnN0cnVjdG9yLm5hbWUpXG5cbiAgcHVibGljIHJlYWRvbmx5IHBlcmlvZEZvcm1hdCQgPSBuZXcgQmVoYXZpb3JTdWJqZWN0PFBlcmlvZEZvcm1hdD4oUGVyaW9kRm9ybWF0LkRFRkFVTFQpXG4gIHB1YmxpYyByZWFkb25seSBwZXJpb2RDb250ZXh0JDogT2JzZXJ2YWJsZTxQZXJpb2RJbnB1dENvbnRleHQ+XG5cbiAgLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqXG4gICAqIENvbnN0cnVjdG9yICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpcbiAgICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKlxuICAgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG5cbiAgY29uc3RydWN0b3IoXG4gICAgaG9zdFJlZjogRWxlbWVudFJlZixcbiAgICB6b25lOiBOZ1pvbmUsXG4gICAgZm9jdXNNb25pdG9yOiBGb2N1c01vbml0b3IsXG4gICAgdHJhbnNsYXRlU2VydmljZTogVHJhbnNsYXRlU2VydmljZSxcbiAgICBAT3B0aW9uYWwoKSBAU2VsZigpIHB1YmxpYyBuZ0NvbnRyb2w6IE5nQ29udHJvbFxuICApIHtcbiAgICBzdXBlcihob3N0UmVmLCAncGVyaW9kLWlucHV0JywgZm9jdXNNb25pdG9yLCB0cmFuc2xhdGVTZXJ2aWNlLCBuZ0NvbnRyb2wpXG5cbiAgICB0aGlzLnBlcmlvZENvbnRleHQkID0gY29tYmluZUxhdGVzdChbdGhpcy52YWx1ZSQsIHRoaXMucGVyaW9kRm9ybWF0JF0pLnBpcGUoXG4gICAgICBtYXAoKFtwZXJpb2QsIGZvcm1hdF0pID0+IHtcbiAgICAgICAgdGhpcy5sb2cuZGVidWcoJ0dvdCBwZXJpb2QnLCBwZXJpb2QpXG5cbiAgICAgICAgcmV0dXJuIG5ldyBQZXJpb2RJbnB1dENvbnRleHQoZm9ybWF0LmJ1Y2tldChwZXJpb2QpLCBmb3JtYXQpXG4gICAgICB9KVxuICAgIClcbiAgfVxuXG4gIC8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKlxuICAgKiBQcm9wZXJ0aWVzICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqXG4gICAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpcbiAgICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuXG4gIEBPdXRwdXQoKVxuICBwdWJsaWMgZ2V0IGlzb1ZhbHVlQ2hhbmdlKCk6IE9ic2VydmFibGU8c3RyaW5nIHwgbnVsbD4ge1xuICAgIHJldHVybiB0aGlzLnZhbHVlQ2hhbmdlLnBpcGUobWFwKChwZXJpb2QpID0+IChwZXJpb2QgPyBwZXJpb2QudG9KU09OKCkgOiBudWxsKSkpXG4gIH1cblxuICBASW5wdXQoKVxuICBwdWJsaWMgc2V0IGlzb1ZhbHVlKHZhbHVlOiBzdHJpbmcgfCBudWxsKSB7XG4gICAgaWYgKHZhbHVlKSB7XG4gICAgICB0aGlzLnZhbHVlID0gUGVyaW9kLnBhcnNlKHZhbHVlKVxuICAgIH0gZWxzZSB7XG4gICAgICB0aGlzLnZhbHVlID0gbnVsbFxuICAgIH1cbiAgfVxuXG4gIC8qKlxuICAgKiB5eXl5Ok1NOnd3OmRkXG4gICAqIEBwYXJhbSBwZXJpb2RGb3JtYXRcbiAgICovXG4gIEBJbnB1dCgpXG4gIHB1YmxpYyBzZXQgZm9ybWF0KHBlcmlvZEZvcm1hdDogc3RyaW5nKSB7XG4gICAgdGhpcy5wZXJpb2RGb3JtYXQgPSBQZXJpb2RGb3JtYXQucGFyc2UocGVyaW9kRm9ybWF0KVxuICB9XG5cbiAgQElucHV0KClcbiAgcHVibGljIHNldCBwZXJpb2RGb3JtYXQoZm9ybWF0OiBQZXJpb2RGb3JtYXQpIHtcbiAgICB0aGlzLnBlcmlvZEZvcm1hdCQubmV4dChmb3JtYXQpXG4gIH1cblxuICBwdWJsaWMgZ2V0IHNob3VsZExhYmVsRmxvYXQoKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIHRydWVcbiAgfVxuXG4gIC8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKlxuICAgKiBQdWJsaWMgQVBJICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqXG4gICAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpcbiAgICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuXG4gIHB1YmxpYyBmb2N1cyhvcHRpb25zPzogRm9jdXNPcHRpb25zKTogdm9pZCB7XG4gICAgLy8gVE9ETyB0aGlzLmlucHV0UmVmPy5uYXRpdmVFbGVtZW50Py5mb2N1cyhvcHRpb25zKTtcbiAgfVxuXG4gIHB1YmxpYyBibHVyKCk6IHZvaWQge1xuICAgIC8vIFRPRE8gdGhpcy5pbnB1dFJlZj8ubmF0aXZlRWxlbWVudD8uYmx1cigpO1xuICB9XG5cbiAgcHVibGljIHJvdW5kKHZhbHVlOiBudW1iZXIpOiBudW1iZXIge1xuICAgIHJldHVybiBNYXRoLnJvdW5kKHZhbHVlKVxuICB9XG5cbiAgcHVibGljIG9uQnVja2V0Q2hhbmdlZChidWNrZXQ6IFBlcmlvZEJ1Y2tldCk6IHZvaWQge1xuICAgIHRoaXMudmFsdWUgPSBidWNrZXQudG9QZXJpb2QoKVxuICB9XG5cbiAgLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqXG4gICAqIFByaXZhdGUgbWV0aG9kcyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpcbiAgICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKlxuICAgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG5cbiAgcHJvdGVjdGVkIHZhbHVlc0VxdWFscyhhOiBQZXJpb2QsIGI6IFBlcmlvZCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiBhICYmIGIgPyBhLmVxdWFscyhiKSA6IGEgPT09IGJcbiAgfVxufVxuIiwiPGRpdiBjbGFzcz1cImxheW91dC1yb3cgcGxhY2Utc3RhcnQtY2VudGVyIGZsZXgtbm9uZVwiICpuZ0lmPVwicGVyaW9kQ29udGV4dCQgfCBhc3luYyBhcyBwZXJpb2RDdHhcIj5cbiAgPGRpdiBjbGFzcz1cImxheW91dC1yb3cgcGxhY2Utc3RhcnQtYmFzZWxpbmUgZmxleCBwZXJpb2QtZmllbGRcIiAqbmdJZj1cInBlcmlvZEN0eC5mb3JtYXQuZGF5c1wiPlxuICAgIDxpbnB1dFxuICAgICAgbWF0SW5wdXRcbiAgICAgIGVsZGVyTm9TcGlubmVyXG4gICAgICBbbmFtZV09XCJuZ0NvbnRyb2w/Lm5hbWUgKyAnLWlubmVyLWRheXMnXCJcbiAgICAgIHR5cGU9XCJudW1iZXJcIlxuICAgICAgY2xhc3M9XCJwZXJpb2QtaW5wdXRcIlxuICAgICAgW3JlcXVpcmVkXT1cIiEhcmVxdWlyZWRcIlxuICAgICAgW3JlYWRvbmx5XT1cInJlYWRvbmx5XCJcbiAgICAgIFtkaXNhYmxlZF09XCIhIWRpc2FibGVkXCJcbiAgICAgIFtuZ01vZGVsXT1cInJvdW5kKHBlcmlvZEN0eD8uYnVja2V0Py5kYXlzKVwiXG4gICAgICAobmdNb2RlbENoYW5nZSk9XCJvbkJ1Y2tldENoYW5nZWQocGVyaW9kQ3R4LmJ1Y2tldC53aXRoRGF5cygkZXZlbnQpKVwiXG4gICAgLz5cbiAgICA8c3BhbiBtYXRTdWZmaXggY2xhc3M9XCJtYXQtY2FwdGlvbiBzdWZmaXggZmxleC1ub25lIG5vc2VsZWN0XCI+ZDwvc3Bhbj5cbiAgPC9kaXY+XG5cbiAgPGRpdiBjbGFzcz1cImxheW91dC1yb3cgcGxhY2Utc3RhcnQtYmFzZWxpbmUgZmxleCBwZXJpb2QtZmllbGRcIiAqbmdJZj1cInBlcmlvZEN0eC5mb3JtYXQubW9udGhzXCI+XG4gICAgPGlucHV0XG4gICAgICBtYXRJbnB1dFxuICAgICAgZWxkZXJOb1NwaW5uZXJcbiAgICAgIFtuYW1lXT1cIm5nQ29udHJvbD8ubmFtZSArICctaW5uZXItbW9udGhzJ1wiXG4gICAgICB0eXBlPVwibnVtYmVyXCJcbiAgICAgIGNsYXNzPVwicGVyaW9kLWlucHV0XCJcbiAgICAgIFtyZXF1aXJlZF09XCIhIXJlcXVpcmVkXCJcbiAgICAgIFtyZWFkb25seV09XCJyZWFkb25seVwiXG4gICAgICBbZGlzYWJsZWRdPVwiISFkaXNhYmxlZFwiXG4gICAgICBbbmdNb2RlbF09XCJyb3VuZChwZXJpb2RDdHg/LmJ1Y2tldD8ubW9udGhzKVwiXG4gICAgICAobmdNb2RlbENoYW5nZSk9XCJvbkJ1Y2tldENoYW5nZWQocGVyaW9kQ3R4LmJ1Y2tldC53aXRoTW9udGhzKCRldmVudCkpXCJcbiAgICAvPlxuICAgIDxzcGFuIG1hdFN1ZmZpeCBjbGFzcz1cIm1hdC1jYXB0aW9uIHN1ZmZpeCBmbGV4LW5vbmUgbm9zZWxlY3RcIj5tbnQ8L3NwYW4+XG4gIDwvZGl2PlxuXG4gIDxkaXYgY2xhc3M9XCJsYXlvdXQtcm93IHBsYWNlLXN0YXJ0LWJhc2VsaW5lIGZsZXggcGVyaW9kLWZpZWxkXCIgKm5nSWY9XCJwZXJpb2RDdHguZm9ybWF0LnllYXJzXCI+XG4gICAgPGlucHV0XG4gICAgICBtYXRJbnB1dFxuICAgICAgZWxkZXJOb1NwaW5uZXJcbiAgICAgIFtuYW1lXT1cIm5nQ29udHJvbD8ubmFtZSArICctaW5uZXIteWVhcnMnXCJcbiAgICAgIHR5cGU9XCJudW1iZXJcIlxuICAgICAgY2xhc3M9XCJwZXJpb2QtaW5wdXRcIlxuICAgICAgW3JlcXVpcmVkXT1cIiEhcmVxdWlyZWRcIlxuICAgICAgW3JlYWRvbmx5XT1cInJlYWRvbmx5XCJcbiAgICAgIFtkaXNhYmxlZF09XCIhIWRpc2FibGVkXCJcbiAgICAgIFtuZ01vZGVsXT1cInJvdW5kKHBlcmlvZEN0eD8uYnVja2V0Py55ZWFycylcIlxuICAgICAgKG5nTW9kZWxDaGFuZ2UpPVwib25CdWNrZXRDaGFuZ2VkKHBlcmlvZEN0eC5idWNrZXQud2l0aFllYXJzKCRldmVudCkpXCJcbiAgICAvPlxuICAgIDxzcGFuIG1hdFN1ZmZpeCBjbGFzcz1cIm1hdC1jYXB0aW9uIHN1ZmZpeCBmbGV4LW5vbmUgbm9zZWxlY3RcIj55cnM8L3NwYW4+XG4gIDwvZGl2PlxuPC9kaXY+XG4iXX0=
118
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZWxkZXItcGVyaW9kLWlucHV0LmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2VsZGVyYnl0ZS9uZ3gtc3RhcnRlci9zcmMvbGliL2NvbXBvbmVudHMvdGltZS9wZXJpb2QvZWxkZXItcGVyaW9kLWlucHV0L2VsZGVyLXBlcmlvZC1pbnB1dC5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9lbGRlcmJ5dGUvbmd4LXN0YXJ0ZXIvc3JjL2xpYi9jb21wb25lbnRzL3RpbWUvcGVyaW9kL2VsZGVyLXBlcmlvZC1pbnB1dC9lbGRlci1wZXJpb2QtaW5wdXQuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUNMLFNBQVMsRUFDVCx1QkFBdUIsRUFDdkIsTUFBTSxFQUNOLEtBQUssR0FLTixNQUFNLGVBQWUsQ0FBQTtBQUN0QixPQUFPLEVBQUUsTUFBTSxFQUFFLE1BQU0sZUFBZSxDQUFBO0FBQ3RDLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQTtBQUNwRCxPQUFPLEVBQUUsZUFBZSxFQUFFLGFBQWEsRUFBYyxNQUFNLE1BQU0sQ0FBQTtBQUNqRSxPQUFPLEVBQUUsR0FBRyxFQUFFLE1BQU0sZ0JBQWdCLENBQUE7QUFDcEMsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGtCQUFrQixDQUFBO0FBRS9DLE9BQU8sRUFBRSx5QkFBeUIsRUFBRSxNQUFNLGtFQUFrRSxDQUFBO0FBQzVHLE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxTQUFTLEVBQUUsTUFBTSw4QkFBOEIsQ0FBQTtBQUc3RSxPQUFPLEVBQWEsV0FBVyxFQUFFLE1BQU0sZ0JBQWdCLENBQUE7QUFDdkQsT0FBTyxFQUFFLGdDQUFnQyxFQUFFLE1BQU0saUVBQWlFLENBQUE7QUFDbEgsT0FBTyxFQUFFLFFBQVEsRUFBRSxN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Q0FBQTtJQUN2QyxDQUFDOytHQWpHVSx5QkFBeUI7bUdBQXpCLHlCQUF5QixrTUFKekIsQ0FBQyxFQUFFLE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxXQUFXLEVBQUUseUJBQXlCLEVBQUUsQ0FBQyxpREM3Q3ZGLHcwREFpREEsb1FERlksSUFBSSw2RkFBRSxRQUFRLGlVQUFFLGdDQUFnQyw2RkFBRSxXQUFXLDgrQkFBRSxTQUFTLGdIQUFFLFNBQVM7OzRGQUVsRix5QkFBeUI7a0JBVHJDLFNBQVM7K0JBQ0Usb0JBQW9CLG1CQUdiLHVCQUF1QixDQUFDLE1BQU0sYUFDcEMsQ0FBQyxFQUFFLE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxXQUFXLDJCQUEyQixFQUFFLENBQUMsY0FDekUsSUFBSSxXQUNQLENBQUMsSUFBSSxFQUFFLFFBQVEsRUFBRSxnQ0FBZ0MsRUFBRSxXQUFXLEVBQUUsU0FBUyxFQUFFLFNBQVMsQ0FBQzt3REFzQ25GLGNBQWM7c0JBRHhCLE1BQU07Z0JBTUksUUFBUTtzQkFEbEIsS0FBSztnQkFjSyxNQUFNO3NCQURoQixLQUFLO2dCQU1LLFlBQVk7c0JBRHRCLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICBDb21wb25lbnQsXG4gIENoYW5nZURldGVjdGlvblN0cmF0ZWd5LFxuICBPdXRwdXQsXG4gIElucHV0LFxuICBFbGVtZW50UmVmLFxuICBOZ1pvbmUsXG4gIE9wdGlvbmFsLFxuICBTZWxmLFxufSBmcm9tICdAYW5ndWxhci9jb3JlJ1xuaW1wb3J0IHsgUGVyaW9kIH0gZnJvbSAnQGpzLWpvZGEvY29yZSdcbmltcG9ydCB7IExvZ2dlckZhY3RvcnkgfSBmcm9tICdAZWxkZXJieXRlL3RzLWxvZ2dlcidcbmltcG9ydCB7IEJlaGF2aW9yU3ViamVjdCwgY29tYmluZUxhdGVzdCwgT2JzZXJ2YWJsZSB9IGZyb20gJ3J4anMnXG5pbXBvcnQgeyBtYXAgfSBmcm9tICdyeGpzL29wZXJhdG9ycydcbmltcG9ydCB7IFBlcmlvZEZvcm1hdCB9IGZyb20gJy4uL3BlcmlvZC1mb3JtYXQnXG5pbXBvcnQgeyBQZXJpb2RCdWNrZXQgfSBmcm9tICcuLi9wZXJpb2QtYnVja2V0J1xuaW1wb3J0IHsgRWxkZXJGb3JtRmllbGRDb250cm9sQmFzZSB9IGZyb20gJy4uLy4uLy4uLy4uL2NvbW1vbi9mb3Jtcy9lbGRlci1mb3JtLWZpZWxkLWNvbnRyb2wtYmFzZS5kaXJlY3RpdmUnXG5pbXBvcnQgeyBNYXRGb3JtRmllbGRDb250cm9sLCBNYXRTdWZmaXggfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9mb3JtLWZpZWxkJ1xuaW1wb3J0IHsgRm9jdXNNb25pdG9yIH0gZnJvbSAnQGFuZ3VsYXIvY2RrL2ExMXknXG5pbXBvcnQgeyBUcmFuc2xhdGVTZXJ2aWNlIH0gZnJvbSAnQG5neC10cmFuc2xhdGUvY29yZSdcbmltcG9ydCB7IE5nQ29udHJvbCwgRm9ybXNNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9mb3JtcydcbmltcG9ydCB7IEVsZGVyRm9ybUZpZWxkTm9TcGlubmVyRGlyZWN0aXZlIH0gZnJvbSAnLi4vLi4vLi4vZm9ybXMvZGlyZWN0aXZlcy9lbGRlci1mb3JtLWZpZWxkLW5vLXNwaW5uZXIuZGlyZWN0aXZlJ1xuaW1wb3J0IHsgTWF0SW5wdXQgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9pbnB1dCdcbmltcG9ydCB7IE5nSWYsIEFzeW5jUGlwZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbidcblxuY2xhc3MgUGVyaW9kSW5wdXRDb250ZXh0IHtcbiAgY29uc3RydWN0b3IoXG4gICAgcHVibGljIHJlYWRvbmx5IGJ1Y2tldDogUGVyaW9kQnVja2V0LFxuICAgIHB1YmxpYyByZWFkb25seSBmb3JtYXQ6IFBlcmlvZEZvcm1hdFxuICApIHt9XG59XG5cbi8qKlxuICpcbiAqIERheXNcbiAqIFdlZWtzXG4gKiBNb250aHNcbiAqIFllYXJzXG4gKlxuICovXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdlbGRlci1wZXJpb2QtaW5wdXQnLFxuICB0ZW1wbGF0ZVVybDogJy4vZWxkZXItcGVyaW9kLWlucHV0LmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJy4vZWxkZXItcGVyaW9kLWlucHV0LmNvbXBvbmVudC5zY3NzJ10sXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICBwcm92aWRlcnM6IFt7IHByb3ZpZGU6IE1hdEZvcm1GaWVsZENvbnRyb2wsIHVzZUV4aXN0aW5nOiBFbGRlclBlcmlvZElucHV0Q29tcG9uZW50IH1dLFxuICBzdGFuZGFsb25lOiB0cnVlLFxuICBpbXBvcnRzOiBbTmdJZiwgTWF0SW5wdXQsIEVsZGVyRm9ybUZpZWxkTm9TcGlubmVyRGlyZWN0aXZlLCBGb3Jtc01vZHVsZSwgTWF0U3VmZml4LCBBc3luY1BpcGVdLFxufSlcbmV4cG9ydCBjbGFzcyBFbGRlclBlcmlvZElucHV0Q29tcG9uZW50IGV4dGVuZHMgRWxkZXJGb3JtRmllbGRDb250cm9sQmFzZTxQZXJpb2Q+IHtcbiAgLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqXG4gICAqIEZpZWxkcyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpcbiAgICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKlxuICAgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG5cbiAgcHJpdmF0ZSByZWFkb25seSBsb2cgPSBMb2dnZXJGYWN0b3J5LmdldExvZ2dlcih0aGlzLmNvbnN0cnVjdG9yLm5hbWUpXG5cbiAgcHVibGljIHJlYWRvbmx5IHBlcmlvZEZvcm1hdCQgPSBuZXcgQmVoYXZpb3JTdWJqZWN0PFBlcmlvZEZvcm1hdD4oUGVyaW9kRm9ybWF0LkRFRkFVTFQpXG4gIHB1YmxpYyByZWFkb25seSBwZXJpb2RDb250ZXh0JDogT2JzZXJ2YWJsZTxQZXJpb2RJbnB1dENvbnRleHQ+XG5cbiAgLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqXG4gICAqIENvbnN0cnVjdG9yICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpcbiAgICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKlxuICAgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG5cbiAgY29uc3RydWN0b3IoKSB7XG4gICAgc3VwZXIoJ3BlcmlvZC1pbnB1dCcpXG4gICAgdGhpcy5wZXJpb2RDb250ZXh0JCA9IGNvbWJpbmVMYXRlc3QoW3RoaXMudmFsdWUkLCB0aGlzLnBlcmlvZEZvcm1hdCRdKS5waXBlKFxuICAgICAgbWFwKChbcGVyaW9kLCBmb3JtYXRdKSA9PiB7XG4gICAgICAgIHRoaXMubG9nLmRlYnVnKCdHb3QgcGVyaW9kJywgcGVyaW9kKVxuXG4gICAgICAgIHJldHVybiBuZXcgUGVyaW9kSW5wdXRDb250ZXh0KGZvcm1hdC5idWNrZXQocGVyaW9kKSwgZm9ybWF0KVxuICAgICAgfSlcbiAgICApXG4gIH1cblxuICAvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpcbiAgICogUHJvcGVydGllcyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKlxuICAgKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqXG4gICAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cblxuICBAT3V0cHV0KClcbiAgcHVibGljIGdldCBpc29WYWx1ZUNoYW5nZSgpOiBPYnNlcnZhYmxlPHN0cmluZyB8IG51bGw+IHtcbiAgICByZXR1cm4gdGhpcy52YWx1ZUNoYW5nZS5waXBlKG1hcCgocGVyaW9kKSA9PiAocGVyaW9kID8gcGVyaW9kLnRvSlNPTigpIDogbnVsbCkpKVxuICB9XG5cbiAgQElucHV0KClcbiAgcHVibGljIHNldCBpc29WYWx1ZSh2YWx1ZTogc3RyaW5nIHwgbnVsbCkge1xuICAgIGlmICh2YWx1ZSkge1xuICAgICAgdGhpcy52YWx1ZSA9IFBlcmlvZC5wYXJzZSh2YWx1ZSlcbiAgICB9IGVsc2Uge1xuICAgICAgdGhpcy52YWx1ZSA9IG51bGxcbiAgICB9XG4gIH1cblxuICAvKipcbiAgICogeXl5eTpNTTp3dzpkZFxuICAgKiBAcGFyYW0gcGVyaW9kRm9ybWF0XG4gICAqL1xuICBASW5wdXQoKVxuICBwdWJsaWMgc2V0IGZvcm1hdChwZXJpb2RGb3JtYXQ6IHN0cmluZykge1xuICAgIHRoaXMucGVyaW9kRm9ybWF0ID0gUGVyaW9kRm9ybWF0LnBhcnNlKHBlcmlvZEZvcm1hdClcbiAgfVxuXG4gIEBJbnB1dCgpXG4gIHB1YmxpYyBzZXQgcGVyaW9kRm9ybWF0KGZvcm1hdDogUGVyaW9kRm9ybWF0KSB7XG4gICAgdGhpcy5wZXJpb2RGb3JtYXQkLm5leHQoZm9ybWF0KVxuICB9XG5cbiAgcHVibGljIGdldCBzaG91bGRMYWJlbEZsb2F0KCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiB0cnVlXG4gIH1cblxuICAvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpcbiAgICogUHVibGljIEFQSSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKlxuICAgKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqXG4gICAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cblxuICBwdWJsaWMgZm9jdXMob3B0aW9ucz86IEZvY3VzT3B0aW9ucyk6IHZvaWQge1xuICAgIC8vIFRPRE8gdGhpcy5pbnB1dFJlZj8ubmF0aXZlRWxlbWVudD8uZm9jdXMob3B0aW9ucyk7XG4gIH1cblxuICBwdWJsaWMgYmx1cigpOiB2b2lkIHtcbiAgICAvLyBUT0RPIHRoaXMuaW5wdXRSZWY/Lm5hdGl2ZUVsZW1lbnQ/LmJsdXIoKTtcbiAgfVxuXG4gIHB1YmxpYyByb3VuZCh2YWx1ZTogbnVtYmVyKTogbnVtYmVyIHtcbiAgICByZXR1cm4gTWF0aC5yb3VuZCh2YWx1ZSlcbiAgfVxuXG4gIHB1YmxpYyBvbkJ1Y2tldENoYW5nZWQoYnVja2V0OiBQZXJpb2RCdWNrZXQpOiB2b2lkIHtcbiAgICB0aGlzLnZhbHVlID0gYnVja2V0LnRvUGVyaW9kKClcbiAgfVxuXG4gIC8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKlxuICAgKiBQcml2YXRlIG1ldGhvZHMgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqXG4gICAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpcbiAgICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuXG4gIHByb3RlY3RlZCB2YWx1ZXNFcXVhbHMoYTogUGVyaW9kLCBiOiBQZXJpb2QpOiBib29sZWFuIHtcbiAgICByZXR1cm4gYSAmJiBiID8gYS5lcXVhbHMoYikgOiBhID09PSBiXG4gIH1cbn1cbiIsIjxkaXYgY2xhc3M9XCJsYXlvdXQtcm93IHBsYWNlLXN0YXJ0LWNlbnRlciBmbGV4LW5vbmVcIiAqbmdJZj1cInBlcmlvZENvbnRleHQkIHwgYXN5bmMgYXMgcGVyaW9kQ3R4XCI+XG4gIDxkaXYgY2xhc3M9XCJsYXlvdXQtcm93IHBsYWNlLXN0YXJ0LWJhc2VsaW5lIGZsZXggcGVyaW9kLWZpZWxkXCIgKm5nSWY9XCJwZXJpb2RDdHguZm9ybWF0LmRheXNcIj5cbiAgICA8aW5wdXRcbiAgICAgIG1hdElucHV0XG4gICAgICBlbGRlck5vU3Bpbm5lclxuICAgICAgW25hbWVdPVwibmdDb250cm9sPy5uYW1lICsgJy1pbm5lci1kYXlzJ1wiXG4gICAgICB0eXBlPVwibnVtYmVyXCJcbiAgICAgIGNsYXNzPVwicGVyaW9kLWlucHV0XCJcbiAgICAgIFtyZXF1aXJlZF09XCIhIXJlcXVpcmVkXCJcbiAgICAgIFtyZWFkb25seV09XCJyZWFkb25seVwiXG4gICAgICBbZGlzYWJsZWRdPVwiISFkaXNhYmxlZFwiXG4gICAgICBbbmdNb2RlbF09XCJyb3VuZChwZXJpb2RDdHg/LmJ1Y2tldD8uZGF5cylcIlxuICAgICAgKG5nTW9kZWxDaGFuZ2UpPVwib25CdWNrZXRDaGFuZ2VkKHBlcmlvZEN0eC5idWNrZXQud2l0aERheXMoJGV2ZW50KSlcIlxuICAgIC8+XG4gICAgPHNwYW4gbWF0U3VmZml4IGNsYXNzPVwibWF0LWNhcHRpb24gc3VmZml4IGZsZXgtbm9uZSBub3NlbGVjdFwiPmQ8L3NwYW4+XG4gIDwvZGl2PlxuXG4gIDxkaXYgY2xhc3M9XCJsYXlvdXQtcm93IHBsYWNlLXN0YXJ0LWJhc2VsaW5lIGZsZXggcGVyaW9kLWZpZWxkXCIgKm5nSWY9XCJwZXJpb2RDdHguZm9ybWF0Lm1vbnRoc1wiPlxuICAgIDxpbnB1dFxuICAgICAgbWF0SW5wdXRcbiAgICAgIGVsZGVyTm9TcGlubmVyXG4gICAgICBbbmFtZV09XCJuZ0NvbnRyb2w/Lm5hbWUgKyAnLWlubmVyLW1vbnRocydcIlxuICAgICAgdHlwZT1cIm51bWJlclwiXG4gICAgICBjbGFzcz1cInBlcmlvZC1pbnB1dFwiXG4gICAgICBbcmVxdWlyZWRdPVwiISFyZXF1aXJlZFwiXG4gICAgICBbcmVhZG9ubHldPVwicmVhZG9ubHlcIlxuICAgICAgW2Rpc2FibGVkXT1cIiEhZGlzYWJsZWRcIlxuICAgICAgW25nTW9kZWxdPVwicm91bmQocGVyaW9kQ3R4Py5idWNrZXQ/Lm1vbnRocylcIlxuICAgICAgKG5nTW9kZWxDaGFuZ2UpPVwib25CdWNrZXRDaGFuZ2VkKHBlcmlvZEN0eC5idWNrZXQud2l0aE1vbnRocygkZXZlbnQpKVwiXG4gICAgLz5cbiAgICA8c3BhbiBtYXRTdWZmaXggY2xhc3M9XCJtYXQtY2FwdGlvbiBzdWZmaXggZmxleC1ub25lIG5vc2VsZWN0XCI+bW50PC9zcGFuPlxuICA8L2Rpdj5cblxuICA8ZGl2IGNsYXNzPVwibGF5b3V0LXJvdyBwbGFjZS1zdGFydC1iYXNlbGluZSBmbGV4IHBlcmlvZC1maWVsZFwiICpuZ0lmPVwicGVyaW9kQ3R4LmZvcm1hdC55ZWFyc1wiPlxuICAgIDxpbnB1dFxuICAgICAgbWF0SW5wdXRcbiAgICAgIGVsZGVyTm9TcGlubmVyXG4gICAgICBbbmFtZV09XCJuZ0NvbnRyb2w/Lm5hbWUgKyAnLWlubmVyLXllYXJzJ1wiXG4gICAgICB0eXBlPVwibnVtYmVyXCJcbiAgICAgIGNsYXNzPVwicGVyaW9kLWlucHV0XCJcbiAgICAgIFtyZXF1aXJlZF09XCIhIXJlcXVpcmVkXCJcbiAgICAgIFtyZWFkb25seV09XCJyZWFkb25seVwiXG4gICAgICBbZGlzYWJsZWRdPVwiISFkaXNhYmxlZFwiXG4gICAgICBbbmdNb2RlbF09XCJyb3VuZChwZXJpb2RDdHg/LmJ1Y2tldD8ueWVhcnMpXCJcbiAgICAgIChuZ01vZGVsQ2hhbmdlKT1cIm9uQnVja2V0Q2hhbmdlZChwZXJpb2RDdHguYnVja2V0LndpdGhZZWFycygkZXZlbnQpKVwiXG4gICAgLz5cbiAgICA8c3BhbiBtYXRTdWZmaXggY2xhc3M9XCJtYXQtY2FwdGlvbiBzdWZmaXggZmxleC1ub25lIG5vc2VsZWN0XCI+eXJzPC9zcGFuPlxuICA8L2Rpdj5cbjwvZGl2PlxuIl19